diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 0058ea1032..0000000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,121 +0,0 @@ -# This workflow will install Python dependencies, run tests and lint with a single version of Python -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions - -name: ci - -on: - push: - branches: - - main - pull_request: - branches: - - main - workflow_dispatch: - -jobs: - test: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - mpi: - - mpich - - openmpi - os: - # - ubuntu-22.04 - - ubuntu-20.04 - # macOS is not ready yet - needs other setup of prerequisites - # - macos-12 - # - macos-11 - python: - - 3.7 - - steps: - - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup MPI - id: setup-mpi - uses: mpi4py/setup-mpi@v1 - with: - mpi: ${{ matrix.mpi }} - - - name: Show MPI name - run: echo "${{ steps.setup-mpi.outputs.mpi }}" - - - name: Show MPI info - run: mpichversion - if: ${{ matrix.mpi == 'mpich' }} - - - name: Show MPI info - run: ompi_info - if: ${{ matrix.mpi == 'openmpi' }} - - - name: Set up JDK 1.8 - uses: actions/setup-java@v4 - with: - distribution: 'zulu' # See 'Supported distributions' for available options - java-version: '17' - - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python }} - cache: 'pip' - - - name: Install dependencies - run: | - python -m pip install --upgrade pip - sudo apt-get install gfortran libopenblas-dev libhdf5-openmpi-dev libgsl0-dev cmake libfftw3-3 libfftw3-dev libmpfr6 libmpfr-dev - pip install numpy scipy matplotlib docutils mpi4py pytest pytest-timeout - if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - - - name: Install amuse - run: | - pip install -e . - ./configure - - - name: build AMUSE framework - run: | - make framework - - - name: build SSE and BHTree - run: | - make sse.code bhtree.code - - - name: check installation - run: | - amusifier --get-amuse-configmk - pip list - - - name: move build log - run: | - mv build.log build-${{ matrix.mpi }}-${{ matrix.python }}.log - - name: archive build log - uses: actions/upload-artifact@v4 - with: - name: buildlog-${{ matrix.mpi }}-${{ matrix.python }} - path: build-${{ matrix.mpi }}-${{ matrix.python }}.log - - - name: test core_tests - run: | - pytest --pyargs amuse.test.suite.core_tests -s - - - name: test compile_tests - run: | - ip link show - echo $OMPI_MCA_btl_tcp_if_include - pytest -k "not test29" --pyargs amuse.test.suite.compile_tests.test_c_implementation -sv - env: - OMPI_MCA_rmaps_base_oversubscribe: 1 - OMPI_MCA_btl_tcp_if_include: lo - - - name: test code_tests - run: | - mpiexec -n 1 pytest --pyargs amuse.test.suite.codes_tests.test_bhtree -sv - mpiexec -n 1 pytest --pyargs amuse.test.suite.codes_tests.test_sse -sv - env: - OMPI_MCA_rmaps_base_oversubscribe: 1 - OMPI_MCA_btl_tcp_if_include: lo - OMPI_MCA_pmix_server_max_wait: 10 diff --git a/.github/workflows/community-seba.yml b/.github/workflows/community-seba.yml deleted file mode 100644 index eba55621d7..0000000000 --- a/.github/workflows/community-seba.yml +++ /dev/null @@ -1,70 +0,0 @@ -# This workflow will install AMUSE and SeBa and run SeBa tests with a single version of Python - -name: Build and test SeBa - -on: - push: - paths: - - src/amuse/community/seba - pull_request: - paths: - - src/amuse/community/seba - -jobs: - build: - - runs-on: ubuntu-latest - strategy: - matrix: - mpi: [ 'mpich', 'openmpi'] - python: [ 3.8 ] - java-version: [ '17' ] - name: Test AMUSE with ${{ matrix.mpi }} - steps: - - uses: actions/checkout@v4 - - name: Setup MPI - uses: mpi4py/setup-mpi@v1 - with: - mpi: ${{ matrix.mpi }} - - name: Set up JDK ${{ matrix.java-version }} - uses: actions/setup-java@v4 - with: - distribution: 'zulu' # See 'Supported distributions' for available options - java-version: ${{ matrix.java-version }} - - name: Set up Python ${{ matrix.python }} - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python }} - - name: Install dependencies - run: | - python -m pip install --upgrade pip - sudo apt-get install gfortran libopenblas-dev libhdf5-openmpi-dev libgsl0-dev cmake libfftw3-3 libfftw3-dev libmpfr6 libmpfr-dev - pip install numpy scipy matplotlib docutils mpi4py pytest pytest-timeout - if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - - name: Install amuse - run: | - pip install -e . - - name: build AMUSE framework - run: | - make framework - - name: build SeBa - run: | - make seba.code - - name: check installation - run: | - amusifier --get-amuse-configmk - pip list - - name: move build log - run: | - mv build.log build-${{ matrix.mpi }}-${{ matrix.python }}.log - - name: archive build log - uses: actions/upload-artifact@v4 - with: - name: buildlog-${{ matrix.python }}-${{ matrix.mpi }} - path: build-${{ matrix.mpi }}-${{ matrix.python }}.log - - name: test seba - run: | - pytest --pyargs amuse.test.suite.codes_tests.test_seba -sv - env: - OMPI_MCA_rmaps_base_oversubscribe: 1 - OMPI_MCA_btl_tcp_if_include: lo diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml deleted file mode 100644 index e66def665c..0000000000 --- a/.github/workflows/python-package.yml +++ /dev/null @@ -1,45 +0,0 @@ -# This workflow will install Python dependencies, run tests and lint with a variety of Python versions -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions - -name: Python package - -on: - push: - branches: [ "main" ] - pull_request: - branches: [ "main" ] -jobs: - build: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - python-version: ["3.7"] - steps: - - uses: actions/checkout@v3 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Install dependencies - run: | - python -m pip install --upgrade pip - python -m pip install flake8 pytest - # don't install requirements.txt as mpi4py will fail... - # if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - python -m pip install --upgrade setuptools setuptools_scm wheel docutils numpy h5py - - name: Lint with flake8 - run: | - # stop the build if there are Python syntax errors or undefined names - flake8 src/amuse/. --count --select=E9,F63,F7,F82 --show-source --statistics - # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide - flake8 src/amuse/. --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - - name: Install framework - run: | - python -m pip install -e . - - name: Test with pytest (only core tests) - run: | - pytest src/amuse/test/suite/core_tests -# - name: Create packages -# run: | -# cd packages && sh generate_packages.sh diff --git a/.github/workflows/test-framework.yml b/.github/workflows/test-framework.yml new file mode 100644 index 0000000000..acb03c2217 --- /dev/null +++ b/.github/workflows/test-framework.yml @@ -0,0 +1,85 @@ +name: Test AMUSE framework + +on: + push: + branches: + - main + pull_request: + branches: + - main + workflow_dispatch: + +jobs: + test: + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: false + matrix: + os: + - ubuntu-latest + - macos-latest + + defaults: + run: + shell: bash -el {0} + + steps: + - name: Set up conda + uses: conda-incubator/setup-miniconda@v3 + with: + auto-update-conda: true + channels: conda-forge + channel-priority: strict + + - name: Show conda info + run: | + conda info + conda list + + - name: Install dependencies + run: | + conda install c-compiler cxx-compiler fortran-compiler 'gfortran<14' python pkgconfig coreutils patch curl tar unzip gzip bzip2 xz perl bison make cmake openmpi gsl fftw gmp mpfr hdf5 netcdf4 libopenblas liblapack zlib pip wheel 'docutils>=0.6' 'mpi4py>=1.1.0' 'numpy>=1.2.2' 'h5py>=1.1.0' pytest + + # - name: Configure OpenMPI + # run: | + # mkdir -p "$HOME/.openmpi" + # echo "rmaps_base_oversubscribe = true" >>"$HOME/.openmpi/mca-params.conf" + # echo "mpi_yield_when_idle = true" >>"$HOME/.openmpi/mca-params.conf" + # echo "btl_tcp_if_include = lo,eth0" >>"$HOME/.openmpi/mca-params.conf" + # mkdir -p "$HOME/.prte" + # echo "rmaps_default_mapping_policy = :oversubscribe" >>"$HOME/.prte/mca-params.conf" + # echo "prte_if_include = lo,eth0" >>"$HOME/.prte/mca-params.conf" + + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 100 + fetch-tags: true + + - name: Build framework + run: | + ./setup install amuse-framework + + - name: Test framework + # env: + # OMPI_MCA_rmaps_base_oversubscribe: 1 + # PRTE_MCA_rmaps_base_oversubscribe: 1 + # PRTE_MCA_rmaps_default_mapping_policy: ":oversubscribe" + # OMPI_MCA_mpi_yield_when_idle: 1 + # OMPI_MCA_btl_tcp_if_include: lo,eth0 + # PRTE_MCA_btl_tcp_if_include: lo,eth0 + # PRTE_MCA_if_include: lo,eth0 + # OMPI_MCA_pmix_server_max_wait: 10 + run: | + ./setup test amuse-framework + + - name: Save build logs + run: | + tar czf logs-${{ matrix.os }}.tar.gz support/logs + + - name: Archive build logs + uses: actions/upload-artifact@v4 + with: + name: logs-${{ matrix.os }}.tar.gz + path: logs-${{ matrix.os }}.tar.gz diff --git a/.github/workflows/test-seba.yml b/.github/workflows/test-seba.yml new file mode 100644 index 0000000000..b99dee76bb --- /dev/null +++ b/.github/workflows/test-seba.yml @@ -0,0 +1,84 @@ +# This workflow will install AMUSE and SeBa and run SeBa tests with a single version of Python + +name: Build and test SeBa + +on: + push: + paths: + - src/amuse_seba + pull_request: + paths: + - src/amuse_seba + +jobs: + test: + name: Test SeBa on ${{ matrix.os }} + + runs-on: ${{ matrix.os }} + + strategy: + matrix: + os: + - ubuntu-latest + - macos-latest + + defaults: + run: + shell: bash -el {0} + + steps: + - name: Set up conda + uses: conda-incubator/setup-miniconda@v3 + with: + auto-update-conda: true + channels: conda-forge + channel-priority: strict + + - name: Show conda info + run: | + conda info + conda list + + - name: Install dependencies + run: | + conda install c-compiler cxx-compiler fortran-compiler 'gfortran<14' python pkgconfig coreutils patch curl tar unzip gzip bzip2 xz perl bison make cmake openmpi gsl fftw gmp mpfr hdf5 netcdf4 libopenblas liblapack zlib pip wheel 'docutils>=0.6' 'mpi4py>=1.1.0' 'numpy>=1.2.2' 'h5py>=1.1.0' pytest + + # - name: Configure OpenMPI + # run: | + # mkdir -p "$HOME/.openmpi" + # echo "rmaps_base_oversubscribe = true" >>"$HOME/.openmpi/mca-params.conf" + # echo "mpi_yield_when_idle = true" >>"$HOME/.openmpi/mca-params.conf" + # mkdir -p "$HOME/.prte" + # echo "rmaps_default_mapping_policy = :oversubscribe" >>"$HOME/.prte/mca-params.conf" + # echo "prte_if_include = lo" >>"$HOME/.prte/mca-params.conf" + + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 100 + fetch-tags: true + + - name: Build SeBa + run: | + ./setup install amuse-seba + + - name: Test SeBa + # env: + # OMPI_MCA_rmaps_base_oversubscribe: 1 + # PRTE_MCA_rmaps_base_oversubscribe: 1 + # PRTE_MCA_rmaps_default_mapping_policy: ":oversubscribe" + # OMPI_MCA_btl_tcp_if_include: lo + # OMPI_MCA_mpi_yield_when_idle: 1 + # OMPI_MCA_pmix_server_max_wait: 10 + run: | + ./setup test amuse-seba + + - name: Save build logs + run: | + tar czf logs-${{ matrix.os }}.tar.gz support/logs + + - name: Archive build logs + uses: actions/upload-artifact@v4 + with: + name: logs-${{ matrix.os }}.tar.gz + path: logs-${{ matrix.os }}.tar.gz diff --git a/.gitignore b/.gitignore index d9b5dcd68b..ab9fc0910f 100644 --- a/.gitignore +++ b/.gitignore @@ -7,10 +7,13 @@ config.status *.a *.so *.o +*.pc *.pyc *.egg *.mod *.mo +*.class +*.jar *.ptx *.dSYM build/ @@ -28,321 +31,328 @@ setuptools-*.zip src/amuse.egg-info bin/amusifier +# files generated running tests +__amuse_code_output + # directories and files generated in make -# some of these should be patterns (the worker_code.cc / f90 stuff) *_worker +*_worker.h +*_worker.c +*_worker.cc +*_worker.pyx +*_worker.f90 +# to be removed once all workers conform to the new standard worker_code.c worker_code.h worker_code.cc worker_code.pyx worker_code.f90 -src/amuse/community/aarsethzare/aarsethzare_worker -src/amuse/community/aarsethzare/aarsethzare_c.f90 -src/amuse/community/aarsethzare/worker_code.f90 -src/amuse/community/adaptb/adaptb_worker -src/amuse/community/adaptb/src/integrator_MS.exe -src/amuse/community/adaptb/worker_code.cc -src/amuse/community/adaptb/worker_code.h -src/amuse/community/asterisk/CodeInterface.java -src/amuse/community/asterisk/Worker.java -src/amuse/community/asterisk/asterisk_worker_java -src/amuse/community/asterisk/src/dist/ -src/amuse/community/asterisk/worker.jar -src/amuse/community/athena/athena_worker -src/amuse/community/athena/athena_worker_mhd -src/amuse/community/athena/athena_worker_scalar -src/amuse/community/athena/athena_worker_selfgrav -src/amuse/community/athena/build/ -src/amuse/community/athena/build_mhd/ -src/amuse/community/athena/build_scalar/ -src/amuse/community/athena/build_selfgrav/ -src/amuse/community/athena/worker_code.cc -src/amuse/community/athena/worker_code.h -src/amuse/community/bhtree/bhtree_worker -src/amuse/community/bhtree/build/ -src/amuse/community/bhtree/worker_code.cc -src/amuse/community/bhtree/worker_code.h -src/amuse/community/bonsai2/src -src/amuse/community/bse/bse_worker -src/amuse/community/bse/src/bse -src/amuse/community/bse/worker_code.f90 -src/amuse/community/capreole/build/ -src/amuse/community/capreole/build_mpi/ -src/amuse/community/capreole/capreole_worker -src/amuse/community/capreole/capreole_worker_mpi -src/amuse/community/capreole/worker_code-mpi.f90 -src/amuse/community/capreole/worker_code.f90 -src/amuse/community/distributed/CodeInterface.java -src/amuse/community/distributed/Worker.java -src/amuse/community/distributed/distributed_worker_java -src/amuse/community/distributed/src/dist/ -src/amuse/community/distributed/worker.jar -src/amuse/community/etics/worker_code.cc -src/amuse/community/etics/worker_code.h -src/amuse/community/evtwin/build/ -src/amuse/community/evtwin/src/trunk/code/installation_path.f90 -src/amuse/community/evtwin/worker_code.f90src/amuse/community/evtwin/evtwin_worker -src/amuse/community/evtwin/src/trunk/code/ev -src/amuse/community/evtwin/src/trunk/code/svn_version.f90 -src/amuse/community/evtwin/src/trunk/code/twin -src/amuse/community/evtwin/src/trunk/lib/ -src/amuse/community/fastkick/fastkick_worker -src/amuse/community/fastkick/interface.gpuo -src/amuse/community/fastkick/worker_code.cc -src/amuse/community/fastkick/worker_code.h -src/amuse/community/fi/build/ -src/amuse/community/fi/build_mp/ -src/amuse/community/fi/fi_worker -src/amuse/community/fi/fi_worker_gl -src/amuse/community/fi/fi_worker_periodic_gl -src/amuse/community/fi/src/globals.h.bck -src/amuse/community/fi/worker_code-gl.f90 -src/amuse/community/fi/worker_code.f90 -src/amuse/community/evtwin/evtwin_worker -src/amuse/community/evtwin/src/trunk/code/ev -src/amuse/community/evtwin/src/trunk/code/svn_version.f90 -src/amuse/community/evtwin/src/trunk/code/twin -src/amuse/community/fastkick/fastkick_worker -src/amuse/community/fastkick/fastkick_worker_gpu -src/amuse/community/fastkick/interface.gpuo -src/amuse/community/fastkick/worker_code.cc -src/amuse/community/fastkick/worker_code.h -src/amuse/community/fi/build/ -src/amuse/community/fi/build_mp/ -src/amuse/community/fi/fi_worker -src/amuse/community/fi/src/globals.h.bck -src/amuse/community/fi/worker_code-gl.f90 -src/amuse/community/fi/worker_code.f90 -src/amuse/community/evtwin/evtwin_worker -src/amuse/community/evtwin/src/trunk/code/ev -src/amuse/community/evtwin/src/trunk/code/svn_version.f90 -src/amuse/community/evtwin/src/trunk/code/twin -src/amuse/community/fastkick/fastkick_worker -src/amuse/community/fastkick/interface.gpuo -src/amuse/community/fastkick/worker_code.cc -src/amuse/community/fastkick/worker_code.h -src/amuse/community/fi/build/ -src/amuse/community/fi/build_mp/ -src/amuse/community/fi/fi_worker -src/amuse/community/fi/src/globals.h.bck -src/amuse/community/fi/worker_code-gl.f90 -src/amuse/community/fi/worker_code.f90 -src/amuse/community/evtwin/worker_code.f90 -src/amuse/community/fi/build_map/ -src/amuse/community/fi/build_map_mp/ -src/amuse/community/fi/build_periodic/ -src/amuse/community/fi/fi_worker_map -src/amuse/community/fi/fi_worker_map_mp -src/amuse/community/fi/fi_worker_mp -src/amuse/community/fi/fi_worker_periodic -src/amuse/community/fi/interface.po -src/amuse/community/fi/map_worker_code.f90 -src/amuse/community/flash/worker_code.f90 -src/amuse/community/fractalcluster/fractal_worker -src/amuse/community/fractalcluster/fractal_worker.f90 -src/amuse/community/gadget2/build/ -src/amuse/community/gadget2/build_nogravity/ -src/amuse/community/gadget2/build_periodic/ -src/amuse/community/gadget2/build_periodic_nogravity/ -src/amuse/community/gadget2/build_normal/Gadget2 -src/amuse/community/gadget2/build_normal/Makefile -src/amuse/community/gadget2/build_normal/makefile_options -src/amuse/community/gadget2/gadget2_worker -src/amuse/community/gadget2/gadget2_worker_nogravity -src/amuse/community/gadget2/gadget2_worker_periodic -src/amuse/community/gadget2/gadget2_worker_periodic_nogravity -src/amuse/community/gadget2/gadget2_worker_normal -src/amuse/community/gadget2/interface.ngo -src/amuse/community/gadget2/interface.pngo -src/amuse/community/gadget2/interface.po -src/amuse/community/gadget2/worker_code.cc -src/amuse/community/gadget2/worker_code.h -src/amuse/community/galactics/gas_src/bin/ -src/amuse/community/galactics/gas_src/src/dbh -src/amuse/community/galactics/gas_src/src/diskdf -src/amuse/community/galactics/gas_src/src/genbulge -src/amuse/community/galactics/gas_src/src/gendisk -src/amuse/community/galactics/gas_src/src/gengas -src/amuse/community/galactics/gas_src/src/genhalo -src/amuse/community/galactics/gas_src/src/getfreqs -src/amuse/community/galactics/gas_src/src/plotforce -src/amuse/community/galactics/gas_src/src/plothalo -src/amuse/community/galactics/gas_src/src/toascii -src/amuse/community/galactics/gas_src/src/vcirc -src/amuse/community/galactics/src/bin/ -src/amuse/community/galactics/src/potsrc/checkvirial -src/amuse/community/galactics/src/potsrc/energysort -src/amuse/community/galactics/src/potsrc/testforce -src/amuse/community/galactics/src/potsrc/testp -src/amuse/community/galactics/src/potsrc/vcirc -src/amuse/community/galactics/src/src/dbh -src/amuse/community/galactics/src/src/diskdf -src/amuse/community/galactics/src/src/genbulge -src/amuse/community/galactics/src/src/gendisk -src/amuse/community/galactics/src/src/genhalo -src/amuse/community/galactics/src/src/getfreqs -src/amuse/community/galactics/src/src/pgenbulge -src/amuse/community/galactics/src/src/pgendisk -src/amuse/community/galactics/src/src/pgenhalo -src/amuse/community/galactics/src/src/toascii -src/amuse/community/galaxia/GalaxyModel_worker -src/amuse/community/galaxia/worker_code.f90 -src/amuse/community/hacs64/build_cpu/ -src/amuse/community/hacs64/hacs64_worker -src/amuse/community/hacs64/interface.h -src/amuse/community/hacs64/worker_code.cc -src/amuse/community/halogen/halogen_worker -src/amuse/community/halogen/src/halogen4muse -src/amuse/community/halogen/worker_code.cc -src/amuse/community/halogen/worker_code.h -src/amuse/community/hermite/hermite_worker -src/amuse/community/hermite/worker_code.cc -src/amuse/community/hermite/worker_code.h -src/amuse/community/hermite_grx/src -src/amuse/community/higpus/worker_code.cc -src/amuse/community/higpus/worker_code.h -src/amuse/community/hop/hop_worker -src/amuse/community/hop/worker_code.cc -src/amuse/community/hop/worker_code.h -src/amuse/community/huayno/build/ -src/amuse/community/huayno/build_cl/ -src/amuse/community/huayno/build_mp/ -src/amuse/community/huayno/huayno_worker -src/amuse/community/huayno/huayno_worker_cl -src/amuse/community/huayno/huayno_worker_mp -src/amuse/community/huayno/worker_code.cc -src/amuse/community/huayno/worker_code.h -src/amuse/community/kepler/interface.h -src/amuse/community/kepler/kepler_worker -src/amuse/community/kepler/worker_code.cc -src/amuse/community/kepler_orbiters/interface.h -src/amuse/community/kepler_orbiters/kepler_worker -src/amuse/community/kepler_orbiters/worker_code.cc -src/amuse/community/kepler_orbiters/keplerorbiters_worker -src/amuse/community/mameclot/mameclot_worker -src/amuse/community/mameclot/src/mameclot -src/amuse/community/mercury/mercury_worker -src/amuse/community/mercury/worker.f90 -src/amuse/community/mesa/worker_code.f90 -src/amuse/community/mi6/mi6_worker -src/amuse/community/mi6/src/Nbody_emu.out -src/amuse/community/mi6/worker_code.cc -src/amuse/community/mi6/worker_code.h -src/amuse/community/mikkola/mikkola_worker -src/amuse/community/mikkola/worker_code.f90 -src/amuse/community/mmams/build/ -src/amuse/community/mmams/mmams_worker -src/amuse/community/mmams/worker_code.cc -src/amuse/community/mmams/worker_code.h -src/amuse/community/mmc/amuselib/support_worker -src/amuse/community/mmc/amuselib/worker_code.cc -src/amuse/community/mmc/amuselib/worker_code.h -src/amuse/community/mmc/interface.f90 -src/amuse/community/mmc/interface_specs.tmp -src/amuse/community/mmc/mmc_worker -src/amuse/community/mmc/src/amuse_interface2.f -src/amuse/community/mmc/worker_code.f90 -src/amuse/community/mobse/src/mobse -src/amuse/community/mosse/mosse_c.f90 -src/amuse/community/mosse/src/mosse -src/amuse/community/mocassin/worker_code.f90 -src/amuse/community/mpiamrvac/worker_code.f90 -src/amuse/community/nbody6xx/worker_code.f90 -src/amuse/community/nbody6xx/nbody6xx_worker -src/amuse/community/petar/src -src/amuse/community/pikachu/worker_code.cc -src/amuse/community/pikachu/worker_code.h -src/amuse/community/ph4/interface.h -src/amuse/community/ph4/ph4_worker -src/amuse/community/ph4/ph4_worker_gpu -src/amuse/community/ph4/src/close_encounter.gpuo -src/amuse/community/ph4/src/debug.gpuo -src/amuse/community/ph4/src/diag.gpuo -src/amuse/community/ph4/src/f2c.co -src/amuse/community/ph4/src/gpu.gpuo -src/amuse/community/ph4/src/grape.gpuo -src/amuse/community/ph4/src/idata.gpuo -src/amuse/community/ph4/src/jdata.gpuo -src/amuse/community/ph4/src/nstab.co -src/amuse/community/ph4/src/scheduler.gpuo -src/amuse/community/ph4/src/two_body.gpuo -src/amuse/community/ph4/src/util.gpuo -src/amuse/community/ph4/worker_code.cc -src/amuse/community/phantom/src -src/amuse/community/phigrape/build/ -src/amuse/community/phigrape/build_mpi/ -src/amuse/community/phigrape/glworker_code.f90 -src/amuse/community/phigrape/interface.mpio -src/amuse/community/phigrape/phigrape_worker -src/amuse/community/phigrape/phigrape_worker_mpi -src/amuse/community/phigrape/worker_code.f90 -src/amuse/community/rebound/worker_code.cc -src/amuse/community/rebound/worker_code.h -src/amuse/community/sakura/sakura_worker -src/amuse/community/sakura/src/main.exe -src/amuse/community/sakura/worker_code.cc -src/amuse/community/sakura/worker_code.h -src/amuse/community/seba/src/Makefile.inc -src/amuse/community/seba/worker_code.cc -src/amuse/community/seba/worker_code.h -src/amuse/community/seba/seba_worker -src/amuse/community/seba/src -src/amuse/community/secularmultiple/worker_code -src/amuse/community/secularmultiple/worker_code.cc -src/amuse/community/sei/sei_worker -src/amuse/community/sei/worker_code.cc -src/amuse/community/sei/worker_code.h -src/amuse/community/simplex/src/plugins/qhull-2012.1/bin/ -src/amuse/community/simplex/src/plugins/qhull-2012.1/lib/ -src/amuse/community/simplex/simplex_worker -src/amuse/community/simplex/src/bin/SimpleX -src/amuse/community/simplex/worker_code.cc -src/amuse/community/simplex/worker_code.h -src/amuse/community/smalln/interface.h -src/amuse/community/smalln/smallN_worker -src/amuse/community/smalln/src/f2c.co -src/amuse/community/smalln/src/nstab.co -src/amuse/community/smalln/worker_code.cc -src/amuse/community/sphray/sphray_worker -src/amuse/community/sphray/sphray_worker.f90 -src/amuse/community/sse/src/sse -src/amuse/community/sse/sse_c.f90 -src/amuse/community/sse/sse_worker -src/amuse/community/sse/worker_code.f90 -src/amuse/community/twobody/twobody_worker -src/amuse/community/tupan/tupan_worker -src/amuse/community/krome/latest_tested.tar.gz -src/amuse/community/krome/src/krome/ -src/amuse/community/krome/krome_worker -src/amuse/community/krome/worker_code.f90 -src/amuse/community/mesa/src/ -src/amuse/community/mesa/.pc/ -src/amuse/community/mesa/mesa_reqs/star -src/amuse/community/mesa/mesa_worker -src/amuse/community/mocassin/.pc/ -src/amuse/community/mocassin/mocassin_worker -src/amuse/community/mocassin/src/ -src/amuse/community/mpiamrvac/.pc/ -src/amuse/community/mpiamrvac/amrvac -src/amuse/community/mpiamrvac/build/ -src/amuse/community/mpiamrvac/build_1d/ -src/amuse/community/mpiamrvac/build_1d_acc/ -src/amuse/community/mpiamrvac/build_2d/ -src/amuse/community/mpiamrvac/build_2d_acc/ -src/amuse/community/mpiamrvac/build_acc/ -src/amuse/community/mpiamrvac/mpiamrvac_worker -src/amuse/community/mpiamrvac/mpiamrvac_worker_1d -src/amuse/community/mpiamrvac/mpiamrvac_worker_1dacc -src/amuse/community/mpiamrvac/mpiamrvac_worker_2d -src/amuse/community/mpiamrvac/mpiamrvac_worker_2dacc -src/amuse/community/mpiamrvac/mpiamrvac_worker_acc -src/amuse/community/mpiamrvac/src/ -src/amuse/community/rebound/.pc/ -src/amuse/community/rebound/src/ -src/amuse/community/tupan/install/ -src/amuse/community/tupan/tupan/ -src/amuse/community/rebound/rebound_worker -src/amuse/community/octgrav/worker_code.h +src/amuse_aarsethzare/aarsethzare_worker +src/amuse_aarsethzare/worker_code.f90 +src/amuse_adaptb/adaptb_worker +src/amuse_adaptb/src/integrator_MS.exe +src/amuse_adaptb/worker_code.cc +src/amuse_adaptb/worker_code.h +src/amuse_asterisk/CodeInterface.java +src/amuse_asterisk/Worker.java +src/amuse_asterisk/asterisk_worker_java +src/amuse_asterisk/src/dist/ +src/amuse_athena/athena_worker +src/amuse_athena/athena_worker_mhd +src/amuse_athena/athena_worker_scalar +src/amuse_athena/athena_worker_selfgrav +src/amuse_athena/build_normal/ +src/amuse_athena/build_mhd/ +src/amuse_athena/build_scalar/ +src/amuse_athena/build_selfgrav/ +src/amuse_athena/worker_code.cc +src/amuse_athena/worker_code.h +src/amuse_bhtree/bhtree_worker +src/amuse_bhtree/build/ +src/amuse_bhtree/worker_code.cc +src/amuse_bhtree/worker_code.h +src/amuse_bonsai2/src +src/amuse_bse/bse_worker +src/amuse_bse/src/bse +src/amuse_bse/worker_code.f90 +src/amuse_capreole/build/ +src/amuse_capreole/build_mpi/ +src/amuse_capreole/capreole_worker +src/amuse_capreole/capreole_worker_mpi +src/amuse_capreole/worker_code-mpi.f90 +src/amuse_capreole/worker_code.f90 +src/amuse_distributed/CodeInterface.java +src/amuse_distributed/Worker.java +src/amuse_distributed/distributed_worker_java +src/amuse_distributed/src/dist/ +src/amuse_etics/worker_code.cc +src/amuse_etics/worker_code.h +src/amuse_evtwin/build/ +src/amuse_evtwin/src/trunk/code/installation_path.f90 +src/amuse_evtwin/worker_code.f90 +src/amuse_evtwin/evtwin_worker +src/amuse_evtwin/src/trunk/code/ev +src/amuse_evtwin/src/trunk/code/svn_version.f90 +src/amuse_evtwin/src/trunk/code/twin +src/amuse_evtwin/src/trunk/lib/ +# there are data files here with a .mod extension, in a Fortran code... +!src/amuse_evtwin/data/**/*.mod +!src/amuse_evtwin/src/trunk/input/**/*.mod +!src/amuse_evtwin/src/trunk/run/**/*.mod +src/amuse_fastkick/fastkick_worker +src/amuse_fastkick/interface.gpuo +src/amuse_fastkick/worker_code.cc +src/amuse_fastkick/worker_code.h +src/amuse_fi/build/ +src/amuse_fi/build_mp/ +src/amuse_fi/fi_worker +src/amuse_fi/fi_worker_gl +src/amuse_fi/fi_worker_periodic_gl +src/amuse_fi/src/globals.h.bck +src/amuse_fi/worker_code-gl.f90 +src/amuse_fi/worker_code.f90 +src/amuse_evtwin/evtwin_worker +src/amuse_evtwin/src/trunk/code/ev +src/amuse_evtwin/src/trunk/code/svn_version.f90 +src/amuse_evtwin/src/trunk/code/twin +src/amuse_fastkick/fastkick_worker +src/amuse_fastkick/fastkick_worker_gpu +src/amuse_fastkick/interface.gpuo +src/amuse_fastkick/worker_code.cc +src/amuse_fastkick/worker_code.h +src/amuse_fi/build/ +src/amuse_fi/build_mp/ +src/amuse_fi/fi_worker +src/amuse_fi/src/globals.h.bck +src/amuse_fi/worker_code-gl.f90 +src/amuse_fi/worker_code.f90 +src/amuse_evtwin/evtwin_worker +src/amuse_evtwin/src/trunk/code/ev +src/amuse_evtwin/src/trunk/code/svn_version.f90 +src/amuse_evtwin/src/trunk/code/twin +src/amuse_fastkick/fastkick_worker +src/amuse_fastkick/interface.gpuo +src/amuse_fastkick/worker_code.cc +src/amuse_fastkick/worker_code.h +src/amuse_fi/build/ +src/amuse_fi/build_mp/ +src/amuse_fi/fi_worker +src/amuse_fi/src/globals.h.bck +src/amuse_fi/worker_code-gl.f90 +src/amuse_fi/worker_code.f90 +src/amuse_evtwin/worker_code.f90 +src/amuse_fi/build_map/ +src/amuse_fi/build_map_mp/ +src/amuse_fi/build_periodic/ +src/amuse_fi/fi_worker_map +src/amuse_fi/fi_worker_map_mp +src/amuse_fi/fi_worker_mp +src/amuse_fi/fi_worker_periodic +src/amuse_fi/interface.po +src/amuse_fi/map_worker_code.f90 +src/amuse_flash/worker_code.f90 +src/amuse_fractalcluster/fractal_worker +src/amuse_fractalcluster/fractal_worker.f90 +src/amuse_gadget2/build/ +src/amuse_gadget2/build_nogravity/ +src/amuse_gadget2/build_periodic/ +src/amuse_gadget2/build_periodic_nogravity/ +src/amuse_gadget2/build_normal/Gadget2 +src/amuse_gadget2/build_normal/Makefile +src/amuse_gadget2/build_normal/makefile_options +src/amuse_gadget2/gadget2_worker +src/amuse_gadget2/gadget2_worker_nogravity +src/amuse_gadget2/gadget2_worker_periodic +src/amuse_gadget2/gadget2_worker_periodic_nogravity +src/amuse_gadget2/gadget2_worker_normal +src/amuse_gadget2/interface.ngo +src/amuse_gadget2/interface.pngo +src/amuse_gadget2/interface.po +src/amuse_gadget2/worker_code.cc +src/amuse_gadget2/worker_code.h +src/amuse_galactics/gas_src/src/dbh +src/amuse_galactics/gas_src/src/diskdf +src/amuse_galactics/gas_src/src/genbulge +src/amuse_galactics/gas_src/src/gendisk +src/amuse_galactics/gas_src/src/gengas +src/amuse_galactics/gas_src/src/genhalo +src/amuse_galactics/gas_src/src/getfreqs +src/amuse_galactics/gas_src/src/plotforce +src/amuse_galactics/gas_src/src/plothalo +src/amuse_galactics/gas_src/src/toascii +src/amuse_galactics/gas_src/src/vcirc +src/amuse_galactics/src/potsrc/checkvirial +src/amuse_galactics/src/potsrc/energysort +src/amuse_galactics/src/potsrc/testforce +src/amuse_galactics/src/potsrc/testp +src/amuse_galactics/src/potsrc/vcirc +src/amuse_galactics/src/src/dbh +src/amuse_galactics/src/src/diskdf +src/amuse_galactics/src/src/genbulge +src/amuse_galactics/src/src/gendisk +src/amuse_galactics/src/src/genhalo +src/amuse_galactics/src/src/getfreqs +src/amuse_galactics/src/src/pgenbulge +src/amuse_galactics/src/src/pgendisk +src/amuse_galactics/src/src/pgenhalo +src/amuse_galactics/src/src/toascii +src/amuse_galaxia/GalaxyModel_worker +src/amuse_galaxia/worker_code.f90 +src/amuse_hacs64/build_cpu/ +src/amuse_hacs64/hacs64_worker +src/amuse_hacs64/interface.h +src/amuse_hacs64/worker_code.cc +src/amuse_halogen/halogen_worker +src/amuse_halogen/src/halogen4muse +src/amuse_halogen/worker_code.cc +src/amuse_halogen/worker_code.h +src/amuse_hermite/hermite_worker +src/amuse_hermite/worker_code.cc +src/amuse_hermite/worker_code.h +src/amuse_hermite_grx/src +src/amuse_higpus/worker_code.cc +src/amuse_higpus/worker_code.h +src/amuse_hop/hop_worker +src/amuse_hop/worker_code.cc +src/amuse_hop/worker_code.h +src/amuse_huayno/build/ +src/amuse_huayno/build_cl/ +src/amuse_huayno/build_mp/ +src/amuse_huayno/huayno_worker +src/amuse_huayno/huayno_worker_cl +src/amuse_huayno/huayno_worker_mp +src/amuse_huayno/worker_code.cc +src/amuse_huayno/worker_code.h +src/amuse_kepler/interface.h +src/amuse_kepler/kepler_worker +src/amuse_kepler/worker_code.cc +src/amuse_kepler_orbiters/interface.h +src/amuse_kepler_orbiters/kepler_worker +src/amuse_kepler_orbiters/worker_code.cc +src/amuse_kepler_orbiters/keplerorbiters_worker +src/amuse_mameclot/mameclot_worker +src/amuse_mameclot/src/mameclot +src/amuse_mercury/mercury_worker +src/amuse_mercury/worker.f90 +src/amuse_mesa/worker_code.f90 +src/amuse_mi6/mi6_worker +src/amuse_mi6/src/Nbody_emu.out +src/amuse_mi6/worker_code.cc +src/amuse_mi6/worker_code.h +src/amuse_mikkola/mikkola_worker +src/amuse_mikkola/worker_code.f90 +src/amuse_mmams/build/ +src/amuse_mmams/mmams_worker +src/amuse_mmams/worker_code.cc +src/amuse_mmams/worker_code.h +src/amuse_mmc/amuselib/support_worker +src/amuse_mmc/amuselib/worker_code.cc +src/amuse_mmc/amuselib/worker_code.h +src/amuse_mmc/interface.f90 +src/amuse_mmc/interface_specs.tmp +src/amuse_mmc/mmc_worker +src/amuse_mmc/src/amuse_interface2.f +src/amuse_mmc/worker_code.f90 +src/amuse_mobse/src/mobse +src/amuse_mosse/mosse_c.f90 +src/amuse_mosse/src/mosse +src/amuse_mocassin/worker_code.f90 +src/amuse_mpiamrvac/worker_code.f90 +src/amuse_nbody6xx/worker_code.f90 +src/amuse_nbody6xx/nbody6xx_worker +src/amuse_petar/src +src/amuse_pikachu/worker_code.cc +src/amuse_pikachu/worker_code.h +src/amuse_ph4/interface.h +src/amuse_ph4/ph4_worker +src/amuse_ph4/ph4_worker_gpu +src/amuse_ph4/src/close_encounter.gpuo +src/amuse_ph4/src/debug.gpuo +src/amuse_ph4/src/diag.gpuo +src/amuse_ph4/src/f2c.co +src/amuse_ph4/src/gpu.gpuo +src/amuse_ph4/src/grape.gpuo +src/amuse_ph4/src/idata.gpuo +src/amuse_ph4/src/jdata.gpuo +src/amuse_ph4/src/nstab.co +src/amuse_ph4/src/scheduler.gpuo +src/amuse_ph4/src/two_body.gpuo +src/amuse_ph4/src/util.gpuo +src/amuse_ph4/worker_code.cc +src/amuse_phantom/src +src/amuse_phigrape/build/ +src/amuse_phigrape/build_mpi/ +src/amuse_phigrape/glworker_code.f90 +src/amuse_phigrape/interface.mpio +src/amuse_phigrape/phigrape_worker +src/amuse_phigrape/phigrape_worker_mpi +src/amuse_phigrape/worker_code.f90 +src/amuse_rebound/worker_code.cc +src/amuse_rebound/worker_code.h +src/amuse_sakura/sakura_worker +src/amuse_sakura/src/main.exe +src/amuse_sakura/worker_code.cc +src/amuse_sakura/worker_code.h +src/amuse_seba/worker_code.cc +src/amuse_seba/worker_code.h +src/amuse_seba/seba_worker +src/amuse_seba/src +src/amuse_secularmultiple/worker_code +src/amuse_secularmultiple/worker_code.cc +src/amuse_sei/sei_worker +src/amuse_sei/worker_code.cc +src/amuse_sei/worker_code.h +src/amuse_simplex/src/plugins/qhull-2012.1/bin/ +src/amuse_simplex/src/plugins/qhull-2012.1/lib/ +src/amuse_simplex/simplex_worker +src/amuse_simplex/src/bin/SimpleX +src/amuse_simplex/worker_code.cc +src/amuse_simplex/worker_code.h +src/amuse_smalln/interface.h +src/amuse_smalln/smallN_worker +src/amuse_smalln/src/f2c.co +src/amuse_smalln/src/nstab.co +src/amuse_smalln/worker_code.cc +src/amuse_sphray/sphray_worker +src/amuse_sphray/sphray_worker.f90 +src/amuse_sse/src/sse +src/amuse_sse/sse_c.f90 +src/amuse_sse/sse_worker +src/amuse_sse/worker_code.f90 +src/amuse_twobody/twobody_worker +src/amuse_tupan/tupan_worker +src/amuse_krome/latest_tested.tar.gz +src/amuse_krome/src/krome/ +src/amuse_krome/krome_worker +src/amuse_krome/worker_code.f90 +src/amuse_mesa/src/ +src/amuse_mesa/.pc/ +src/amuse_mesa/mesa_reqs/star +src/amuse_mesa/mesa_worker +src/amuse_mocassin/.pc/ +src/amuse_mocassin/mocassin_worker +src/amuse_mocassin/src/ +src/amuse_mpiamrvac/.pc/ +src/amuse_mpiamrvac/amrvac +src/amuse_mpiamrvac/build/ +src/amuse_mpiamrvac/build_1d/ +src/amuse_mpiamrvac/build_1d_acc/ +src/amuse_mpiamrvac/build_2d/ +src/amuse_mpiamrvac/build_2d_acc/ +src/amuse_mpiamrvac/build_acc/ +src/amuse_mpiamrvac/mpiamrvac_worker +src/amuse_mpiamrvac/mpiamrvac_worker_1d +src/amuse_mpiamrvac/mpiamrvac_worker_1dacc +src/amuse_mpiamrvac/mpiamrvac_worker_2d +src/amuse_mpiamrvac/mpiamrvac_worker_2dacc +src/amuse_mpiamrvac/mpiamrvac_worker_acc +src/amuse_mpiamrvac/src/ +src/amuse_rebound/.pc/ +src/amuse_rebound/src/ +src/amuse_tupan/install/ +src/amuse_tupan/tupan/ +src/amuse_rebound/rebound_worker +src/amuse_octgrav/worker_code.h data/mesa/output/star_data/starting_models/*.data doc/examples/ doc/build/ @@ -398,6 +408,8 @@ data/halogen/output/test*.ascii data/gadget2/output/ewald_spc_table_64_dbl.dat core core.* +!core.py +!core.f *test*.hdf5 cluster.1 cluster.2 @@ -412,6 +424,7 @@ test_results/interface.f90 job_server plummer_back_100.ini pythonexe +src/tmp* test/core_tests/test.txt test_concurrent test_python_sockets_implementation @@ -434,7 +447,7 @@ test_python_sockets_implementation doc/interactive_tutorial/_version.py src/amuse/test/suite/_version.py -src/amuse/community/*/_version.py +src/amuse_*/_version.py src/amuse/_version.py packages/amuse*/dist packages/dist diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100644 index fd5611b514..0000000000 --- a/MANIFEST.in +++ /dev/null @@ -1,57 +0,0 @@ -include Makefile.in -include configure -include README.txt -include config.mk.in -include bin/amusifier.in -include amuserc.example -include install-sh -include config.sub -include config.guess - -recursive-include src * -recursive-include lib * -recursive-include data * -recursive-include support *.py -recursive-include support *.java -recursive-include support *.class -recursive-include examples *.py -recursive-include examples *.py -recursive-include examples *.txt - - -recursive-include doc/install *.* -recursive-include doc/tutorial *.* -recursive-include doc/html *.* -recursive-include doc/pdf *.pdf -recursive-include doc/plot_directive *.* - -recursive-exclude doc/build *.* - -recursive-exclude src *.pyc *.o *~ .pc ccache *.a -recursive-exclude lib *.pyc *.o *~ ccache *.a - -prune src/amuse/community/mesa/src -prune src/amuse/community/mpiamrvac/src -prune src/amuse/community/mpiamrvac/.pc -prune src/amuse/community/mocassin/src -prune src/amuse/community/mocassin/.pc -prune src/amuse/community/athena/.pc -prune src/amuse/community/pynbody/PyNbody - -recursive-exclude data/gadget2/output *.* * -recursive-exclude data/simplex/output *.* * -recursive-exclude data/mpiamrvac/output *.* * -recursive-exclude data/mmams/output *.* * -recursive-exclude data/fi/output *.* * -recursive-exclude data/evtwin/output *.* * -recursive-exclude data/mesa/output *.* * - -recursive-include data/gadget2/output empty_dir.txt -recursive-include data/simplex/output empty_dir.txt -recursive-include data/mpiamrvac/output empty_dir.txt -recursive-include data/mmams/output empty_dir.txt -recursive-include data/fi/output empty_dir.txt -recursive-include data/evtwin/output empty_dir.txt -recursive-include data/mesa/output *.gz empty_dir.txt - -prune data/mesa/input/star_data diff --git a/Makefile.in b/Makefile.in deleted file mode 100644 index 7f18080df2..0000000000 --- a/Makefile.in +++ /dev/null @@ -1,96 +0,0 @@ --include config.mk - -PYTHON ?= python -CLEAN ?= yes - -export PATH := ${PATH}:$(PWD)/bin -export PYTHONPATH := $(PYTHONPATH):$(PWD)/src:$(PWD)/test - -python_version_full := $(wordlist 2,4,$(subst ., ,$(shell $(PYTHON) --version 2>&1))) -python_version_major := $(word 1,${python_version_full}) -python_version_minor := $(word 2,${python_version_full}) -python_version_patch := $(word 3,${python_version_full}) - -all: config.mk - @-mkdir -p test_results - $(PYTHON) setup.py generate_main - $(PYTHON) setup.py build_codes --inplace - -framework: config.mk - @-mkdir -p test_results - $(PYTHON) setup.py generate_main - $(PYTHON) setup.py build_libraries --inplace - -allinbuild: - $(PYTHON) setup.py build - -build: - $(PYTHON) setup.py build - -# should pick up prefix from configure? -install: - $(PYTHON) setup.py install - -docclean: - make -C doc clean - -clean: - $(PYTHON) setup.py clean - $(PYTHON) setup.py clean_codes --inplace - -oclean: - $(PYTHON) setup.py clean - -distclean: - -rm -f src/amuse/config.mk - -rm -f amuse.sh - -rm -f iamuse.sh - -rm -f ibis-deploy.sh - -rm -f bin/amusifier - -rm -rf test_results src/amuse.egg-info - - -rm -f test/*.000 test/fort.* test/perr test/pout test/test.h5 test/*.log - -rm -f test/codes_tests/perr test/codes_tests/pout - -rm -f test/core_tests/plummer_back_100.ini - -rm -f test/test_python_implementation test/twobody - - $(PYTHON) setup.py clean - $(PYTHON) setup.py dist_clean - $(PYTHON) setup.py clean_codes --inplace - $(PYTHON) setup.py dist_clean --inplace - - make -C doc clean - -find ./ -name "*.pyc" -exec rm \{} \; - -find ./ -type d -name "__pycache__" -exec rm -Rf \{} \; - -find ./ -type d -name "ccache" -exec rm -Rf \{} \; - -rm -Rf build - -rm -f config.mk - -rm -f config.log build.log config.status - -rm -f amuse.cfg - -rm -f test*.pickle test.csv - -tests: - $(PYTHON) setup.py tests - -doc: - $(PYTHON) setup.py -q build_latex - -html: - make -C doc html - -latexpdf: - make -C doc latexpdf - -%.code: -ifneq (,$(findstring s,$(MAKEFLAGS))) - $(PYTHON) setup.py build_code --inplace --clean=$(CLEAN) --code-name=$* -else - $(PYTHON) setup.py -v build_code --inplace --clean=$(CLEAN) --code-name=$* -endif - -help: - @echo "brief overview of most important make options:" - @echo "make - build all AMUSE libraries and community codes " - @echo "make .code - clean & build the community code (or matching name*)" - @echo "make clean - clean codes and libraries" - @echo "make distclean - clean codes and libraries and all configuration files" diff --git a/NOTICE b/NOTICE index 7c1c9ec444..b90160320c 100644 --- a/NOTICE +++ b/NOTICE @@ -1,7 +1,7 @@ AMUSE, a python framework for astrophysical simulations -AMUSE consists of a framework ("the framework") and contributed codes -("the codes"). The codes are found under src/amuse/community and may +AMUSE consists of a framework ("the framework") and contributed codes +("the codes"). The codes are found under src/amuse_ and may have their own license. The framework consists of everything else. For the framework: @@ -23,4 +23,4 @@ limitations under the License. For the codes: The licenses for the codes can be found under their respective directories -in /src/amuse/community. +in /src/amuse_. diff --git a/README.md b/README.md index 7aeb548247..42a16a03ef 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # AMUSE: The Astrophysical Multipurpose Software Environment [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.1435860.svg)](https://doi.org/10.5281/zenodo.1435860) -[![PyPI version](https://badge.fury.io/py/amuse.svg)](https://badge.fury.io/py/amuse) +[![Docs](https://readthedocs.org/projects/amuse/badge)](https://amuse.readthedocs.io) This repository contains the AMUSE software. With AMUSE you can write scripts to simulate astrophysical problems in different domains. @@ -16,133 +16,17 @@ and the documentation can be found at: Getting Started =============== -In short, most probably +AMUSE runs on Linux and macOS, and on Windows using Windows Subsystem for Linux (WSL). -```bash -pip install amuse -``` -should get you going if you have a linux or Mac were you compile -codes on (HDF5 and an MPI libraries must be installed). +We're working on getting AMUSE into conda-forge, but in the mean time it needs to be +installed from source. See +[the AMUSE installation +instructions](https://amuse.readthedocs.io/en/latest/install/installing.html) for how to +do that, or if you're reading this locally see the `doc/install/` directory. -Below are some hints for a quick install, if these fail please -look for options at the detailed descriptions of the installation -procedure in the documents in the 'doc/install' directory. +After that, have a look at the [AMUSE +tutorial](https://amuse.readthedocs.io/en/latest/tutorial/index.html) to get started, or +if you prefer notebooks, give the [interactive +tutorial](https://amuse.readthedocs.io/en/latest/interactive_tutorial/index.html) a +try. Those too can be found locally in `doc/`. -Compilers -========= - -To build AMUSE from source you need to have a working build -environment. The AMUSE build system needs C/C++ and fortan 90 -compilers, we recommend a recent version of GCC. - -In Ubuntu you can setup the environment with (as root): - -```bash -apt-get install build-essential curl g++ gfortran gettext zlib1g-dev -``` - -Other distributions have similar package or package groups available. - -In macOS you can use the homebrew or macports package manager (both -require the Apple Developer Tools and Xcode to be installed). - -For a Windows 10 machine, AMUSE can be installed in the Windows Subsystem -for linux (WSL), and installing e.g. Ubuntu from the Microsoft store. -Its recommended to use WSL 2. For further installation instructions, see the -Linux install instructions. - -Python -====== - -AMUSE needs Python 3 version >=3.7 installed preferably with pip and -virtualenv. It may be necessary to update pip to a recent version. -If you cannot use Python 3, legacy support for Python 2 is available in the -AMUSE 12 release and the python2 branch. - -Installing Prerequisites -======================== - -The following libraries need to be installed: - -* HDF (version 1.6.5 - 1.12.x) -* MPI (OpenMPI or MPICH) - -The following are needed for some codes: -* FFTW (version >= 3.0) -* GSL -* CMake (version >= 2.4) -* GMP (version >= 4.2.1) -* MPFR (version >= 2.3.1) - -Installing+building AMUSE -========================= - -AMUSE can be installed through pip: - -```bash -pip install [--user] amuse -``` - -This will build and install AMUSE with an extensive set of codes. -If necessary this will also install some required Python packages: - -* Numpy (version >= 1.3.0) -* h5py (version >= 1.2.2) -* mpi4py (version >= 1.1.0) -* pytest (version >= 5.0) -* docutils (version >= 0.6) - -If you are not using pip these must be installed by hand. - -It is possible to install the minimal framework by: - -```bash -pip install [--user] amuse-framework -``` - -This does not include any codes. These can be added -```bash -pip install [--user] amuse- -``` - -AMUSE Development -================= - -An AMUSE development install can also be handled through pip by executing (in the root of a clone of the -repository) - -```bash -pip install -e . -``` - -after this the codes need to be build: - -```bash -python setup.py develop_build -``` - -Running the tests -================= -AMUSE comes with a large set of tests, most can be run automatically. -To run these tests start the py.test command from the main -amuse directory (directory this README file lives in). - -To run these tests do: - -1. install the tests - -```bash -pip install [--user] amuse-tests -``` -(this will install all tests whether or not you have installed the full amuse package) - -2. Run the automatic tests - -```bash -pytest --pyargs -v amuse.test.suite -``` -you can also just run the tests for the specific packages you have installed e.g. -```bash -pytest --pyargs amuse.test.suite.codes_tests.test_huayno -``` -you may have to prefix ```mpiexec -n 1 --oversubscribe``` to the pytest command. diff --git a/aclocal.m4 b/aclocal.m4 deleted file mode 100644 index e096f30afa..0000000000 --- a/aclocal.m4 +++ /dev/null @@ -1,394 +0,0 @@ -# generated automatically by aclocal 1.16.5 -*- Autoconf -*- - -# Copyright (C) 1996-2021 Free Software Foundation, Inc. - -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) -# Copyright (C) 1999-2021 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - - -# AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# --------------------------------------------------------------------------- -# Adds support for distributing Python modules and packages. To -# install modules, copy them to $(pythondir), using the python_PYTHON -# automake variable. To install a package with the same name as the -# automake package, install to $(pkgpythondir), or use the -# pkgpython_PYTHON automake variable. -# -# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as -# locations to install python extension modules (shared libraries). -# Another macro is required to find the appropriate flags to compile -# extension modules. -# -# If your package is configured with a different prefix to python, -# users will have to add the install directory to the PYTHONPATH -# environment variable, or create a .pth file (see the python -# documentation for details). -# -# If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will -# cause an error if the version of python installed on the system -# doesn't meet the requirement. MINIMUM-VERSION should consist of -# numbers and dots only. -AC_DEFUN([AM_PATH_PYTHON], - [ - dnl Find a Python interpreter. Python versions prior to 2.0 are not - dnl supported. (2.0 was released on October 16, 2000). - m4_define_default([_AM_PYTHON_INTERPRETER_LIST], -[python python2 python3 dnl - python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 dnl - python3.2 python3.1 python3.0 dnl - python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 dnl - python2.0]) - - AC_ARG_VAR([PYTHON], [the Python interpreter]) - - m4_if([$1],[],[ - dnl No version check is needed. - # Find any Python interpreter. - if test -z "$PYTHON"; then - AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :) - fi - am_display_PYTHON=python - ], [ - dnl A version check is needed. - if test -n "$PYTHON"; then - # If the user set $PYTHON, use it and don't search something else. - AC_MSG_CHECKING([whether $PYTHON version is >= $1]) - AM_PYTHON_CHECK_VERSION([$PYTHON], [$1], - [AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no]) - AC_MSG_ERROR([Python interpreter is too old])]) - am_display_PYTHON=$PYTHON - else - # Otherwise, try each interpreter until we find one that satisfies - # VERSION. - AC_CACHE_CHECK([for a Python interpreter with version >= $1], - [am_cv_pathless_PYTHON],[ - for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do - test "$am_cv_pathless_PYTHON" = none && break - AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break]) - done]) - # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. - if test "$am_cv_pathless_PYTHON" = none; then - PYTHON=: - else - AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON]) - fi - am_display_PYTHON=$am_cv_pathless_PYTHON - fi - ]) - - if test "$PYTHON" = :; then - dnl Run any user-specified action, or abort. - m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])]) - else - - dnl Query Python for its version number. Although site.py simply uses - dnl sys.version[:3], printing that failed with Python 3.10, since the - dnl trailing zero was eliminated. So now we output just the major - dnl and minor version numbers, as numbers. Apparently the tertiary - dnl version is not of interest. - dnl - AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version], - [am_cv_python_version=`$PYTHON -c "import sys; print ('%u.%u' % sys.version_info[[:2]])"`]) - AC_SUBST([PYTHON_VERSION], [$am_cv_python_version]) - - dnl At times, e.g., when building shared libraries, you may want - dnl to know which OS platform Python thinks this is. - dnl - AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform], - [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`]) - AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform]) - - dnl emacs-page - dnl If --with-python-sys-prefix is given, use the values of sys.prefix - dnl and sys.exec_prefix for the corresponding values of PYTHON_PREFIX - dnl and PYTHON_EXEC_PREFIX. Otherwise, use the GNU ${prefix} and - dnl ${exec_prefix} variables. - dnl - dnl The two are made distinct variables so they can be overridden if - dnl need be, although general consensus is that you shouldn't need - dnl this separation. - dnl - dnl Also allow directly setting the prefixes via configure options, - dnl overriding any default. - dnl - if test "x$prefix" = xNONE; then - am__usable_prefix=$ac_default_prefix - else - am__usable_prefix=$prefix - fi - - # Allow user to request using sys.* values from Python, - # instead of the GNU $prefix values. - AC_ARG_WITH([python-sys-prefix], - [AS_HELP_STRING([--with-python-sys-prefix], - [use Python's sys.prefix and sys.exec_prefix values])], - [am_use_python_sys=:], - [am_use_python_sys=false]) - - # Allow user to override whatever the default Python prefix is. - AC_ARG_WITH([python_prefix], - [AS_HELP_STRING([--with-python_prefix], - [override the default PYTHON_PREFIX])], - [am_python_prefix_subst=$withval - am_cv_python_prefix=$withval - AC_MSG_CHECKING([for explicit $am_display_PYTHON prefix]) - AC_MSG_RESULT([$am_cv_python_prefix])], - [ - if $am_use_python_sys; then - # using python sys.prefix value, not GNU - AC_CACHE_CHECK([for python default $am_display_PYTHON prefix], - [am_cv_python_prefix], - [am_cv_python_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"`]) - - dnl If sys.prefix is a subdir of $prefix, replace the literal value of - dnl $prefix with a variable reference so it can be overridden. - case $am_cv_python_prefix in - $am__usable_prefix*) - am__strip_prefix=`echo "$am__usable_prefix" | sed 's|.|.|g'` - am_python_prefix_subst=`echo "$am_cv_python_prefix" | sed "s,^$am__strip_prefix,\\${prefix},"` - ;; - *) - am_python_prefix_subst=$am_cv_python_prefix - ;; - esac - else # using GNU prefix value, not python sys.prefix - am_python_prefix_subst='${prefix}' - am_python_prefix=$am_python_prefix_subst - AC_MSG_CHECKING([for GNU default $am_display_PYTHON prefix]) - AC_MSG_RESULT([$am_python_prefix]) - fi]) - # Substituting python_prefix_subst value. - AC_SUBST([PYTHON_PREFIX], [$am_python_prefix_subst]) - - # emacs-page Now do it all over again for Python exec_prefix, but with yet - # another conditional: fall back to regular prefix if that was specified. - AC_ARG_WITH([python_exec_prefix], - [AS_HELP_STRING([--with-python_exec_prefix], - [override the default PYTHON_EXEC_PREFIX])], - [am_python_exec_prefix_subst=$withval - am_cv_python_exec_prefix=$withval - AC_MSG_CHECKING([for explicit $am_display_PYTHON exec_prefix]) - AC_MSG_RESULT([$am_cv_python_exec_prefix])], - [ - # no explicit --with-python_exec_prefix, but if - # --with-python_prefix was given, use its value for python_exec_prefix too. - AS_IF([test -n "$with_python_prefix"], - [am_python_exec_prefix_subst=$with_python_prefix - am_cv_python_exec_prefix=$with_python_prefix - AC_MSG_CHECKING([for python_prefix-given $am_display_PYTHON exec_prefix]) - AC_MSG_RESULT([$am_cv_python_exec_prefix])], - [ - # Set am__usable_exec_prefix whether using GNU or Python values, - # since we use that variable for pyexecdir. - if test "x$exec_prefix" = xNONE; then - am__usable_exec_prefix=$am__usable_prefix - else - am__usable_exec_prefix=$exec_prefix - fi - # - if $am_use_python_sys; then # using python sys.exec_prefix, not GNU - AC_CACHE_CHECK([for python default $am_display_PYTHON exec_prefix], - [am_cv_python_exec_prefix], - [am_cv_python_exec_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.exec_prefix)"`]) - dnl If sys.exec_prefix is a subdir of $exec_prefix, replace the - dnl literal value of $exec_prefix with a variable reference so it can - dnl be overridden. - case $am_cv_python_exec_prefix in - $am__usable_exec_prefix*) - am__strip_prefix=`echo "$am__usable_exec_prefix" | sed 's|.|.|g'` - am_python_exec_prefix_subst=`echo "$am_cv_python_exec_prefix" | sed "s,^$am__strip_prefix,\\${exec_prefix},"` - ;; - *) - am_python_exec_prefix_subst=$am_cv_python_exec_prefix - ;; - esac - else # using GNU $exec_prefix, not python sys.exec_prefix - am_python_exec_prefix_subst='${exec_prefix}' - am_python_exec_prefix=$am_python_exec_prefix_subst - AC_MSG_CHECKING([for GNU default $am_display_PYTHON exec_prefix]) - AC_MSG_RESULT([$am_python_exec_prefix]) - fi])]) - # Substituting python_exec_prefix_subst. - AC_SUBST([PYTHON_EXEC_PREFIX], [$am_python_exec_prefix_subst]) - - # Factor out some code duplication into this shell variable. - am_python_setup_sysconfig="\ -import sys -# Prefer sysconfig over distutils.sysconfig, for better compatibility -# with python 3.x. See automake bug#10227. -try: - import sysconfig -except ImportError: - can_use_sysconfig = 0 -else: - can_use_sysconfig = 1 -# Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs: -# -try: - from platform import python_implementation - if python_implementation() == 'CPython' and sys.version[[:3]] == '2.7': - can_use_sysconfig = 0 -except ImportError: - pass" - - dnl emacs-page Set up 4 directories: - - dnl 1. pythondir: where to install python scripts. This is the - dnl site-packages directory, not the python standard library - dnl directory like in previous automake betas. This behavior - dnl is more consistent with lispdir.m4 for example. - dnl Query distutils for this directory. - dnl - AC_CACHE_CHECK([for $am_display_PYTHON script directory (pythondir)], - [am_cv_python_pythondir], - [if test "x$am_cv_python_prefix" = x; then - am_py_prefix=$am__usable_prefix - else - am_py_prefix=$am_cv_python_prefix - fi - am_cv_python_pythondir=`$PYTHON -c " -$am_python_setup_sysconfig -if can_use_sysconfig: - sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) -else: - from distutils import sysconfig - sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') -sys.stdout.write(sitedir)"` - # - case $am_cv_python_pythondir in - $am_py_prefix*) - am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` - am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,\\${PYTHON_PREFIX},"` - ;; - *) - case $am_py_prefix in - /usr|/System*) ;; - *) am_cv_python_pythondir="\${PYTHON_PREFIX}/lib/python$PYTHON_VERSION/site-packages" - ;; - esac - ;; - esac - ]) - AC_SUBST([pythondir], [$am_cv_python_pythondir]) - - dnl 2. pkgpythondir: $PACKAGE directory under pythondir. Was - dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is - dnl more consistent with the rest of automake. - dnl - AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE]) - - dnl 3. pyexecdir: directory for installing python extension modules - dnl (shared libraries). - dnl Query distutils for this directory. - dnl - AC_CACHE_CHECK([for $am_display_PYTHON extension module directory (pyexecdir)], - [am_cv_python_pyexecdir], - [if test "x$am_cv_python_exec_prefix" = x; then - am_py_exec_prefix=$am__usable_exec_prefix - else - am_py_exec_prefix=$am_cv_python_exec_prefix - fi - am_cv_python_pyexecdir=`$PYTHON -c " -$am_python_setup_sysconfig -if can_use_sysconfig: - sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_exec_prefix'}) -else: - from distutils import sysconfig - sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_exec_prefix') -sys.stdout.write(sitedir)"` - # - case $am_cv_python_pyexecdir in - $am_py_exec_prefix*) - am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` - am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,\\${PYTHON_EXEC_PREFIX},"` - ;; - *) - case $am_py_exec_prefix in - /usr|/System*) ;; - *) am_cv_python_pyexecdir="\${PYTHON_EXEC_PREFIX}/lib/python$PYTHON_VERSION/site-packages" - ;; - esac - ;; - esac - ]) - AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir]) - - dnl 4. pkgpyexecdir: $(pyexecdir)/$(PACKAGE) - dnl - AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE]) - - dnl Run any user-specified action. - $2 - fi -]) - - -# AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) -# --------------------------------------------------------------------------- -# Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION. -# Run ACTION-IF-FALSE otherwise. -# This test uses sys.hexversion instead of the string equivalent (first -# word of sys.version), in order to cope with versions such as 2.2c1. -# This supports Python 2.0 or higher. (2.0 was released on October 16, 2000). -AC_DEFUN([AM_PYTHON_CHECK_VERSION], - [prog="import sys -# split strings by '.' and convert to numeric. Append some zeros -# because we need at least 4 digits for the hex conversion. -# map returns an iterator in Python 3.0 and a list in 2.x -minver = list(map(int, '$2'.split('.'))) + [[0, 0, 0]] -minverhex = 0 -# xrange is not present in Python 3.0 and range returns an iterator -for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]] -sys.exit(sys.hexversion < minverhex)" - AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])]) - -# Copyright (C) 2001-2021 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_RUN_LOG(COMMAND) -# ------------------- -# Run COMMAND, save the exit status in ac_status, and log it. -# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) -AC_DEFUN([AM_RUN_LOG], -[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD - ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - (exit $ac_status); }]) - -m4_include([m4/ax_mpi.m4]) -m4_include([m4/ax_openmp.m4]) -m4_include([m4/cuda.m4]) -m4_include([m4/fftw.m4]) -m4_include([m4/fortran.m4]) -m4_include([m4/gmp.m4]) -m4_include([m4/gsl.m4]) -m4_include([m4/java.m4]) -m4_include([m4/m4_ax_blas.m4]) -m4_include([m4/m4_ax_lapack.m4]) -m4_include([m4/m4_ax_lib_hdf5.m4]) -m4_include([m4/m4_ax_lib_netcdf4.m4]) -m4_include([m4/mpfr.m4]) -m4_include([m4/opencl.m4]) -m4_include([m4/pic_flags.m4]) -m4_include([m4/pkg.m4]) -m4_include([m4/python_dev.m4]) -m4_include([m4/python_module.m4]) -m4_include([m4/utils.m4]) diff --git a/bin/amusifier.in b/bin/amusifier.in deleted file mode 100644 index 7afdf17f48..0000000000 --- a/bin/amusifier.in +++ /dev/null @@ -1,31 +0,0 @@ -#!@PYTHON@ - -import sys -import subprocess -import inspect -import os.path -from amuse.rfi import gencode - -# I am not sure this is necessary anymore? -def run_through_subprocess(): - try: - from amuse import config - pythonexe = config.interpreters.python - except ImportError as ex: - pythonexe = sys.executable - except AttributeError as ex: - pythonexe = sys.executable - - gencodepy = inspect.getsourcefile(gencode) - - arguments = [pythonexe, gencodepy] - arguments.extend(sys.argv[1:]) - - returncode = subprocess.call(arguments, executable = pythonexe) - sys.exit(returncode) - - #os.execv(pythonexe, arguments) - -if __name__ == "__main__": - gencode.amusifier() - diff --git a/config.guess b/config.guess deleted file mode 100644 index 1972fda8eb..0000000000 --- a/config.guess +++ /dev/null @@ -1,1700 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright 1992-2021 Free Software Foundation, Inc. - -timestamp='2021-01-25' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). -# -# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. -# -# You can get the latest version of this script from: -# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess -# -# Please send patches to . - - -me=$(echo "$0" | sed -e 's,.*/,,') - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Options: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright 1992-2021 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -tmp= -# shellcheck disable=SC2172 -trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 - -set_cc_for_build() { - # prevent multiple calls if $tmp is already set - test "$tmp" && return 0 - : "${TMPDIR=/tmp}" - # shellcheck disable=SC2039 - { tmp=$( (umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null) && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } - dummy=$tmp/dummy - case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in - ,,) echo "int x;" > "$dummy.c" - for driver in cc gcc c89 c99 ; do - if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then - CC_FOR_BUILD="$driver" - break - fi - done - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; - esac -} - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if test -f /.attbin/uname ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=$( (uname -m) 2>/dev/null) || UNAME_MACHINE=unknown -UNAME_RELEASE=$( (uname -r) 2>/dev/null) || UNAME_RELEASE=unknown -UNAME_SYSTEM=$( (uname -s) 2>/dev/null) || UNAME_SYSTEM=unknown -UNAME_VERSION=$( (uname -v) 2>/dev/null) || UNAME_VERSION=unknown - -case "$UNAME_SYSTEM" in -Linux|GNU|GNU/*) - LIBC=unknown - - set_cc_for_build - cat <<-EOF > "$dummy.c" - #include - #if defined(__UCLIBC__) - LIBC=uclibc - #elif defined(__dietlibc__) - LIBC=dietlibc - #elif defined(__GLIBC__) - LIBC=gnu - #else - #include - /* First heuristic to detect musl libc. */ - #ifdef __DEFINED_va_list - LIBC=musl - #endif - #endif - EOF - eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g')" - - # Second heuristic to detect musl libc. - if [ "$LIBC" = unknown ] && - command -v ldd >/dev/null && - ldd --version 2>&1 | grep -q ^musl; then - LIBC=musl - fi - - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - if [ "$LIBC" = unknown ]; then - LIBC=gnu - fi - ;; -esac - -# Note: order is significant - the case branches are not exclusive. - -case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - UNAME_MACHINE_ARCH=$( (uname -p 2>/dev/null || \ - /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ - /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ - echo unknown)) - case "$UNAME_MACHINE_ARCH" in - aarch64eb) machine=aarch64_be-unknown ;; - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - earmv*) - arch=$(echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,') - endian=$(echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p') - machine="${arch}${endian}"-unknown - ;; - *) machine="$UNAME_MACHINE_ARCH"-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently (or will in the future) and ABI. - case "$UNAME_MACHINE_ARCH" in - earm*) - os=netbsdelf - ;; - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # Determine ABI tags. - case "$UNAME_MACHINE_ARCH" in - earm*) - expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=$(echo "$UNAME_MACHINE_ARCH" | sed -e "$expr") - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "$UNAME_VERSION" in - Debian*) - release='-gnu' - ;; - *) - release=$(echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2) - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "$machine-${os}${release}${abi-}" - exit ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=$(arch | sed 's/Bitrig.//') - echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=$(arch | sed 's/OpenBSD.//') - echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" - exit ;; - *:LibertyBSD:*:*) - UNAME_MACHINE_ARCH=$(arch | sed 's/^.*BSD\.//') - echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" - exit ;; - *:MidnightBSD:*:*) - echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" - exit ;; - *:ekkoBSD:*:*) - echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" - exit ;; - *:SolidBSD:*:*) - echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" - exit ;; - *:OS108:*:*) - echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE" - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd"$UNAME_RELEASE" - exit ;; - *:MirBSD:*:*) - echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" - exit ;; - *:Sortix:*:*) - echo "$UNAME_MACHINE"-unknown-sortix - exit ;; - *:Twizzler:*:*) - echo "$UNAME_MACHINE"-unknown-twizzler - exit ;; - *:Redox:*:*) - echo "$UNAME_MACHINE"-unknown-redox - exit ;; - mips:OSF1:*.*) - echo mips-dec-osf1 - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $3}') - ;; - *5.*) - UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $4}') - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=$(/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1) - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE=alpha ;; - "EV4.5 (21064)") - UNAME_MACHINE=alpha ;; - "LCA4 (21066/21068)") - UNAME_MACHINE=alpha ;; - "EV5 (21164)") - UNAME_MACHINE=alphaev5 ;; - "EV5.6 (21164A)") - UNAME_MACHINE=alphaev56 ;; - "EV5.6 (21164PC)") - UNAME_MACHINE=alphapca56 ;; - "EV5.7 (21164PC)") - UNAME_MACHINE=alphapca57 ;; - "EV6 (21264)") - UNAME_MACHINE=alphaev6 ;; - "EV6.7 (21264A)") - UNAME_MACHINE=alphaev67 ;; - "EV6.8CB (21264C)") - UNAME_MACHINE=alphaev68 ;; - "EV6.8AL (21264B)") - UNAME_MACHINE=alphaev68 ;; - "EV6.8CX (21264D)") - UNAME_MACHINE=alphaev68 ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE=alphaev69 ;; - "EV7 (21364)") - UNAME_MACHINE=alphaev7 ;; - "EV7.9 (21364A)") - UNAME_MACHINE=alphaev79 ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo "$UNAME_MACHINE"-dec-osf"$(echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz)" - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo "$UNAME_MACHINE"-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo "$UNAME_MACHINE"-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix"$UNAME_RELEASE" - exit ;; - arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "$( (/bin/universe) 2>/dev/null)" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case $(/usr/bin/uname -p) in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - s390x:SunOS:*:*) - echo "$UNAME_MACHINE"-ibm-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')" - exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')" - exit ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux"$UNAME_RELEASE" - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - set_cc_for_build - SUN_ARCH=i386 - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if test "$CC_FOR_BUILD" != no_compiler_found; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH=x86_64 - fi - fi - echo "$SUN_ARCH"-pc-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" - exit ;; - sun4*:SunOS:*:*) - case "$(/usr/bin/arch -k)" in - Series*|S4*) - UNAME_RELEASE=$(uname -v) - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/')" - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos"$UNAME_RELEASE" - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=$( (sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null) - test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 - case "$(/bin/arch)" in - sun3) - echo m68k-sun-sunos"$UNAME_RELEASE" - ;; - sun4) - echo sparc-sun-sunos"$UNAME_RELEASE" - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos"$UNAME_RELEASE" - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint"$UNAME_RELEASE" - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint"$UNAME_RELEASE" - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint"$UNAME_RELEASE" - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten"$UNAME_RELEASE" - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten"$UNAME_RELEASE" - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix"$UNAME_RELEASE" - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix"$UNAME_RELEASE" - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix"$UNAME_RELEASE" - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o "$dummy" "$dummy.c" && - dummyarg=$(echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p') && - SYSTEM_NAME=$("$dummy" "$dummyarg") && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos"$UNAME_RELEASE" - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=$(/usr/bin/uname -p) - if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 - then - if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ - test "$TARGET_BINARY_INTERFACE"x = x - then - echo m88k-dg-dgux"$UNAME_RELEASE" - else - echo m88k-dg-dguxbcs"$UNAME_RELEASE" - fi - else - echo i586-dg-dgux"$UNAME_RELEASE" - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/g')" - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'$(uname -s)'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if test -x /usr/bin/oslevel ; then - IBM_REV=$(/usr/bin/oslevel) - else - IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" - fi - echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[4567]) - IBM_CPU_ID=$(/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }') - if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if test -x /usr/bin/lslpp ; then - IBM_REV=$(/usr/bin/lslpp -Lqc bos.rte.libc | - awk -F: '{ print $3 }' | sed s/[0-9]*$/0/) - else - IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" - fi - echo "$IBM_ARCH"-ibm-aix"$IBM_REV" - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') - case "$UNAME_MACHINE" in - 9000/31?) HP_ARCH=m68000 ;; - 9000/[34]??) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if test -x /usr/bin/getconf; then - sc_cpu_version=$(/usr/bin/getconf SC_CPU_VERSION 2>/dev/null) - sc_kernel_bits=$(/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null) - case "$sc_cpu_version" in - 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 - 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "$sc_kernel_bits" in - 32) HP_ARCH=hppa2.0n ;; - 64) HP_ARCH=hppa2.0w ;; - '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 - esac ;; - esac - fi - if test "$HP_ARCH" = ""; then - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=$("$dummy") - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if test "$HP_ARCH" = hppa2.0w - then - set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ - then - HP_ARCH=hppa2.0w - else - HP_ARCH=hppa64 - fi - fi - echo "$HP_ARCH"-hp-hpux"$HPUX_REV" - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') - echo ia64-hp-hpux"$HPUX_REV" - exit ;; - 3050*:HI-UX:*:*) - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if test -x /usr/sbin/sysversion ; then - echo "$UNAME_MACHINE"-unknown-osf1mk - else - echo "$UNAME_MACHINE"-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=$(uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz) - FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///') - FUJITSU_REL=$(echo "$UNAME_RELEASE" | sed -e 's/ /_/') - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///') - FUJITSU_REL=$(echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/') - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi"$UNAME_RELEASE" - exit ;; - *:BSD/OS:*:*) - echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" - exit ;; - arm:FreeBSD:*:*) - UNAME_PROCESSOR=$(uname -p) - set_cc_for_build - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabi - else - echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabihf - fi - exit ;; - *:FreeBSD:*:*) - UNAME_PROCESSOR=$(/usr/bin/uname -p) - case "$UNAME_PROCESSOR" in - amd64) - UNAME_PROCESSOR=x86_64 ;; - i386) - UNAME_PROCESSOR=i586 ;; - esac - echo "$UNAME_PROCESSOR"-unknown-freebsd"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')" - exit ;; - i*:CYGWIN*:*) - echo "$UNAME_MACHINE"-pc-cygwin - exit ;; - *:MINGW64*:*) - echo "$UNAME_MACHINE"-pc-mingw64 - exit ;; - *:MINGW*:*) - echo "$UNAME_MACHINE"-pc-mingw32 - exit ;; - *:MSYS*:*) - echo "$UNAME_MACHINE"-pc-msys - exit ;; - i*:PW*:*) - echo "$UNAME_MACHINE"-pc-pw32 - exit ;; - *:Interix*:*) - case "$UNAME_MACHINE" in - x86) - echo i586-pc-interix"$UNAME_RELEASE" - exit ;; - authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix"$UNAME_RELEASE" - exit ;; - IA64) - echo ia64-unknown-interix"$UNAME_RELEASE" - exit ;; - esac ;; - i*:UWIN*:*) - echo "$UNAME_MACHINE"-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-pc-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" - exit ;; - *:GNU:*:*) - # the GNU system - echo "$(echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,')-unknown-$LIBC$(echo "$UNAME_RELEASE"|sed -e 's,/.*$,,')" - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo "$UNAME_MACHINE-unknown-$(echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]")$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')-$LIBC" - exit ;; - *:Minix:*:*) - echo "$UNAME_MACHINE"-unknown-minix - exit ;; - aarch64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - aarch64_be:Linux:*:*) - UNAME_MACHINE=aarch64_be - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - alpha:Linux:*:*) - case $(sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null) in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - arm*:Linux:*:*) - set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi - else - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf - fi - fi - exit ;; - avr32*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - cris:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; - crisv32:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; - e2k:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - frv:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - hexagon:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - i*86:Linux:*:*) - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" - exit ;; - ia64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - k1om:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - m32r*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - m68*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - mips:Linux:*:* | mips64:Linux:*:*) - set_cc_for_build - IS_GLIBC=0 - test x"${LIBC}" = xgnu && IS_GLIBC=1 - sed 's/^ //' << EOF > "$dummy.c" - #undef CPU - #undef mips - #undef mipsel - #undef mips64 - #undef mips64el - #if ${IS_GLIBC} && defined(_ABI64) - LIBCABI=gnuabi64 - #else - #if ${IS_GLIBC} && defined(_ABIN32) - LIBCABI=gnuabin32 - #else - LIBCABI=${LIBC} - #endif - #endif - - #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 - CPU=mipsisa64r6 - #else - #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 - CPU=mipsisa32r6 - #else - #if defined(__mips64) - CPU=mips64 - #else - CPU=mips - #endif - #endif - #endif - - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - MIPS_ENDIAN=el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - MIPS_ENDIAN= - #else - MIPS_ENDIAN= - #endif - #endif -EOF - eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI')" - test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } - ;; - mips64el:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - openrisc*:Linux:*:*) - echo or1k-unknown-linux-"$LIBC" - exit ;; - or32:Linux:*:* | or1k*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-"$LIBC" - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-"$LIBC" - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case $(grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2) in - PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; - PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; - *) echo hppa-unknown-linux-"$LIBC" ;; - esac - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-"$LIBC" - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-"$LIBC" - exit ;; - ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-"$LIBC" - exit ;; - ppcle:Linux:*:*) - echo powerpcle-unknown-linux-"$LIBC" - exit ;; - riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" - exit ;; - sh64*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - sh*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - tile*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - vax:Linux:*:*) - echo "$UNAME_MACHINE"-dec-linux-"$LIBC" - exit ;; - x86_64:Linux:*:*) - set_cc_for_build - LIBCABI=$LIBC - if test "$CC_FOR_BUILD" != no_compiler_found; then - if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_X32 >/dev/null - then - LIBCABI="$LIBC"x32 - fi - fi - echo "$UNAME_MACHINE"-pc-linux-"$LIBCABI" - exit ;; - xtensa*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo "$UNAME_MACHINE"-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo "$UNAME_MACHINE"-unknown-stop - exit ;; - i*86:atheos:*:*) - echo "$UNAME_MACHINE"-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo "$UNAME_MACHINE"-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos"$UNAME_RELEASE" - exit ;; - i*86:*DOS:*:*) - echo "$UNAME_MACHINE"-pc-msdosdjgpp - exit ;; - i*86:*:4.*:*) - UNAME_REL=$(echo "$UNAME_RELEASE" | sed 's/\/MP$//') - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" - else - echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case $(/bin/uname -X | grep "^Machine") in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}" - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=$(sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=$( (/bin/uname -X|grep Release|sed -e 's/.*= //')) - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" - else - echo "$UNAME_MACHINE"-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configure will decide that - # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - test -r /etc/.relid \ - && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos"$UNAME_RELEASE" - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos"$UNAME_RELEASE" - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos"$UNAME_RELEASE" - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos"$UNAME_RELEASE" - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv"$UNAME_RELEASE" - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=$( (uname -p) 2>/dev/null) - echo "$UNAME_MACHINE"-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo "$UNAME_MACHINE"-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux"$UNAME_RELEASE" - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if test -d /usr/nec; then - echo mips-nec-sysv"$UNAME_RELEASE" - else - echo mips-unknown-sysv"$UNAME_RELEASE" - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - x86_64:Haiku:*:*) - echo x86_64-unknown-haiku - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux"$UNAME_RELEASE" - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux"$UNAME_RELEASE" - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux"$UNAME_RELEASE" - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux"$UNAME_RELEASE" - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux"$UNAME_RELEASE" - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux"$UNAME_RELEASE" - exit ;; - SX-ACE:SUPER-UX:*:*) - echo sxace-nec-superux"$UNAME_RELEASE" - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody"$UNAME_RELEASE" - exit ;; - *:Rhapsody:*:*) - echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" - exit ;; - arm64:Darwin:*:*) - echo aarch64-apple-darwin"$UNAME_RELEASE" - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=$(uname -p) - case $UNAME_PROCESSOR in - unknown) UNAME_PROCESSOR=powerpc ;; - esac - if command -v xcode-select > /dev/null 2> /dev/null && \ - ! xcode-select --print-path > /dev/null 2> /dev/null ; then - # Avoid executing cc if there is no toolchain installed as - # cc will be a stub that puts up a graphical alert - # prompting the user to install developer tools. - CC_FOR_BUILD=no_compiler_found - else - set_cc_for_build - fi - if test "$CC_FOR_BUILD" != no_compiler_found; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc - if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_PPC >/dev/null - then - UNAME_PROCESSOR=powerpc - fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # uname -m returns i386 or x86_64 - UNAME_PROCESSOR=$UNAME_MACHINE - fi - echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=$(uname -p) - if test "$UNAME_PROCESSOR" = x86; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NEO-*:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSR-*:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSV-*:NONSTOP_KERNEL:*:*) - echo nsv-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSX-*:NONSTOP_KERNEL:*:*) - echo nsx-tandem-nsk"$UNAME_RELEASE" - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - # shellcheck disable=SC2154 - if test "$cputype" = 386; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo "$UNAME_MACHINE"-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux"$UNAME_RELEASE" - exit ;; - *:DragonFly:*:*) - echo "$UNAME_MACHINE"-unknown-dragonfly"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')" - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=$( (uname -p) 2>/dev/null) - case "$UNAME_MACHINE" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo "$UNAME_MACHINE"-pc-skyos"$(echo "$UNAME_RELEASE" | sed -e 's/ .*$//')" - exit ;; - i*86:rdos:*:*) - echo "$UNAME_MACHINE"-pc-rdos - exit ;; - *:AROS:*:*) - echo "$UNAME_MACHINE"-unknown-aros - exit ;; - x86_64:VMkernel:*:*) - echo "$UNAME_MACHINE"-unknown-esx - exit ;; - amd64:Isilon\ OneFS:*:*) - echo x86_64-unknown-onefs - exit ;; - *:Unleashed:*:*) - echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" - exit ;; -esac - -# No uname command or uname output not recognized. -set_cc_for_build -cat > "$dummy.c" < -#include -#endif -#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) -#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) -#include -#if defined(_SIZE_T_) || defined(SIGLOST) -#include -#endif -#endif -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=$( (hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null); - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); -#endif - -#if defined (vax) -#if !defined (ultrix) -#include -#if defined (BSD) -#if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -#else -#if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -#else - printf ("vax-dec-bsd\n"); exit (0); -#endif -#endif -#else - printf ("vax-dec-bsd\n"); exit (0); -#endif -#else -#if defined(_SIZE_T_) || defined(SIGLOST) - struct utsname un; - uname (&un); - printf ("vax-dec-ultrix%s\n", un.release); exit (0); -#else - printf ("vax-dec-ultrix\n"); exit (0); -#endif -#endif -#endif -#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) -#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) -#if defined(_SIZE_T_) || defined(SIGLOST) - struct utsname *un; - uname (&un); - printf ("mips-dec-ultrix%s\n", un.release); exit (0); -#else - printf ("mips-dec-ultrix\n"); exit (0); -#endif -#endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=$($dummy) && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. -test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } - -echo "$0: unable to guess system type" >&2 - -case "$UNAME_MACHINE:$UNAME_SYSTEM" in - mips:Linux | mips64:Linux) - # If we got here on MIPS GNU/Linux, output extra information. - cat >&2 <&2 <&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) -/bin/uname -X = $( (/bin/uname -X) 2>/dev/null) - -hostinfo = $( (hostinfo) 2>/dev/null) -/bin/universe = $( (/bin/universe) 2>/dev/null) -/usr/bin/arch -k = $( (/usr/bin/arch -k) 2>/dev/null) -/bin/arch = $( (/bin/arch) 2>/dev/null) -/usr/bin/oslevel = $( (/usr/bin/oslevel) 2>/dev/null) -/usr/convex/getsysinfo = $( (/usr/convex/getsysinfo) 2>/dev/null) - -UNAME_MACHINE = "$UNAME_MACHINE" -UNAME_RELEASE = "$UNAME_RELEASE" -UNAME_SYSTEM = "$UNAME_SYSTEM" -UNAME_VERSION = "$UNAME_VERSION" -EOF -fi - -exit 1 - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/config.mk.in b/config.mk.in deleted file mode 100644 index 908ac1195e..0000000000 --- a/config.mk.in +++ /dev/null @@ -1,146 +0,0 @@ -# amuse configuration generated by ./configure from config.mk.in - -PYTHON=@PYTHON@ -CODE_GENERATOR=@CODE_GENERATOR@ - -# -# PYTHON embedding -# -PYTHON_DEV=@PYTHON_DEV@ -CYTHON=@CYTHON@ -PYTHONCONFIG=@PYTHONCONFIG@ -PYTHONDEV_CFLAGS=@PYTHONDEV_CFLAGS@ -PYTHONDEV_LDFLAGS=@PYTHONDEV_LDFLAGS@ - - -# -# Compilers, for compiling without MPI -# these compilers must be the same or compatible with -# the mpi compilers -# -CXX=@CXX@ -CC=@CC@ -FC=@FC@ -GFORTRAN_VERSION=@GFORTRAN_VERSION@ -IFORT_VERSION=@IFORT_VERSION@ -FC_ISO_C_AVAILABLE=@FC_ISO_C_BINDINGS@ - -# -# Default flags, append to these in the makefiles -# -CXXFLAGS=@CXXFLAGS@ -CFLAGS=@CFLAGS@ -FCFLAGS=@FCFLAGS@ -LDFLAGS=@LDFLAGS@ - -# -# MPI Compilers -# -MPI_ENABLED=@WITH_MPI@ -MPICXX=@MPICXX@ -MPICC=@MPICC@ -MPIFC=@MPIFC@ -MPIEXEC=@MPIEXEC@ - -MPI_CFLAGS=@MPI_CFLAGS@ -MPI_CXXFLAGS=@MPI_CXXFLAGS@ -MPI_FCFLAGS=@MPI_FCFLAGS@ -MPI_CLIBS=@MPI_CLIBS@ -MPI_CXXLIBS=@MPI_CXXLIBS@ -MPI_FCLIBS=@MPI_FCLIBS@ - -# -# Java -# -JAVA_ENABLED=@have_java@ -JAVA=@JAVA@ -JAVAC=@JAVAC@ -JAR=@JAR@ -JAVA_VERSION=@JAVA_VERSION@ - -# -# OpenMP -# - -OPENMP_ENABLED=@HAVE_OPENMP@ -OPENMP_FCFLAGS=@OPENMP_FCFLAGS@ -OPENMP_CFLAGS=@OPENMP_CFLAGS@ - -# -# Libraries: FFTW, GSL, HDF5, CUDA, SAPPORO -# - -FOUND_FFTW=@FOUND_FFTW@ -FFTW_FLAGS=@FFTW_FLAGS@ -FFTW_LIBS=@FFTW_LIBS@ - -FOUND_GSL=@FOUND_GSL@ -GSL_FLAGS=@GSL_FLAGS@ -GSL_LIBS=@GSL_LIBS@ - -FOUND_GMP=@FOUND_GMP@ -GMP_FLAGS=@GMP_FLAGS@ -GMP_LIBS=@GMP_LIBS@ - -FOUND_MPFR=@FOUND_MPFR@ -MPFR_FLAGS=@MPFR_FLAGS@ -MPFR_LIBS=@MPFR_LIBS@ - -HDF5_FLAGS=@HDF5_CPPFLAGS@ -HDF5_LIBS=@HDF5_LDFLAGS@ @HDF5_LIBS@ -HDF5_FFLAGS=@HDF5_FFLAGS@ -HDF5_FLIBS=@HDF5_LDFLAGS@ @HDF5_FLIBS@ - -NETCDF_PREFIX=@NETCDF4_PREFIX@ -NETCDF_FLAGS=@NETCDF4_CFLAGS@ -NETCDF_LIBS=@NETCDF4_LIBS@ -NETCDFF_PREFIX=@NETCDF4_PREFIX@ -NETCDFF_FLAGS=@NETCDF4_FFLAGS@ -NETCDFF_LIBS=@NETCDF4_FLIBS@ - -CUDA_ENABLED=@WITH_CUDA@ -NVCC=@NVCC@ -NVCC_FLAGS=@NVCC_FLAGS@ -CUDA_TK=@CUDA_TK@ -CUDA_LIBS=@CUDA_LIBS@ - -FOUND_CL=@FOUND_CL@ -CL_LIBS=@CL_LIBS@ -CL_FLAGS=@CL_CFLAGS@ - -SAPPORO_VERSION=@SAPPORO_VERSION@ -SAPPORO_LIBS=@SAPPORO_LIBS@ - -FS_FLAGS=@FS_FLAGS@ -FS_LIBS=@FS_LIBS@ - -SC_FLAGS=@SC_FLAGS@ -SC_CLIBS=@SC_CLIBS@ -SC_FCLIBS=@SC_FCLIBS@ -SC_MPI_CLIBS=@SC_MPI_CLIBS@ -SC_MPI_FCLIBS=@SC_MPI_FCLIBS@ - -LAPACK_LIBS=@LAPACK_LIBS@ -BLAS_LIBS=@BLAS_LIBS@ - -export PYTHON CXX CC FC CXXFLAGS CFLAGS FCFLAGS MPICXX MPICC MPIFC LDFLAGS -export JAVA JAVAC JAVAH JAR JAVA_FLAGS -export FS_FLAGS FS_LIBS SC_FLAGS SC_CLIBS SC_FCLIBS SC_MPI_CLIBS SC_MPI_FCLIBS -export FFTW_FLAGS FFTW_LIBS -export GSL_FLAGS GSL_LIBS -export HDF5_FLAGS HDF5_LIBS -export OPENMP_FCFLAGS OPENMP_CFLAGS -export NVCC CUDA_TK CUDA_LIBS CUDA_ENABLED -export SAPPORO_VERSION SAPPORO_LIBS -export MPICFLAGS MPICCFLAGS MPIFCFLAGS -export IFORT_VERSION -export NVCC_FLAGS -export PYTHONDEV_LIBS PYTHONDEV_CFLAGS PYTHONDEV_LIBS -export FC_ISO_C_ENABLED -export LAPACK_LIBS BLAS_LIBS - - -ifdef AMUSE_DIR -export AMUSE_DIR -endif - diff --git a/config.sub b/config.sub deleted file mode 100644 index 7f7d0b055a..0000000000 --- a/config.sub +++ /dev/null @@ -1,1860 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright 1992-2021 Free Software Foundation, Inc. - -timestamp='2021-03-10' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). - - -# Please send patches to . -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# You can get the latest version of this script from: -# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=$(echo "$0" | sed -e 's,.*/,,') - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS - -Canonicalize a configuration name. - -Options: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright 1992-2021 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo "$1" - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Split fields of configuration type -# shellcheck disable=SC2162 -IFS="-" read field1 field2 field3 field4 <&2 - exit 1 - ;; - *-*-*-*) - basic_machine=$field1-$field2 - basic_os=$field3-$field4 - ;; - *-*-*) - # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two - # parts - maybe_os=$field2-$field3 - case $maybe_os 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*) - basic_machine=$field1 - basic_os=$maybe_os - ;; - android-linux) - basic_machine=$field1-unknown - basic_os=linux-android - ;; - *) - basic_machine=$field1-$field2 - basic_os=$field3 - ;; - esac - ;; - *-*) - # A lone config we happen to match not fitting any pattern - case $field1-$field2 in - decstation-3100) - basic_machine=mips-dec - basic_os= - ;; - *-*) - # Second component is usually, but not always the OS - case $field2 in - # Prevent following clause from handling this valid os - sun*os*) - basic_machine=$field1 - basic_os=$field2 - ;; - # Manufacturers - dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ - | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ - | unicom* | ibm* | next | hp | isi* | apollo | altos* \ - | convergent* | ncr* | news | 32* | 3600* | 3100* \ - | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ - | ultra | tti* | harris | dolphin | highlevel | gould \ - | cbm | ns | masscomp | apple | axis | knuth | cray \ - | microblaze* | sim | cisco \ - | oki | wec | wrs | winbond) - basic_machine=$field1-$field2 - basic_os= - ;; - *) - basic_machine=$field1 - basic_os=$field2 - ;; - esac - ;; - esac - ;; - *) - # Convert single-component short-hands not valid as part of - # multi-component configurations. - case $field1 in - 386bsd) - basic_machine=i386-pc - basic_os=bsd - ;; - a29khif) - basic_machine=a29k-amd - basic_os=udi - ;; - adobe68k) - basic_machine=m68010-adobe - basic_os=scout - ;; - alliant) - basic_machine=fx80-alliant - basic_os= - ;; - altos | altos3068) - basic_machine=m68k-altos - basic_os= - ;; - am29k) - basic_machine=a29k-none - basic_os=bsd - ;; - amdahl) - basic_machine=580-amdahl - basic_os=sysv - ;; - amiga) - basic_machine=m68k-unknown - basic_os= - ;; - amigaos | amigados) - basic_machine=m68k-unknown - basic_os=amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - basic_os=sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - basic_os=sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - basic_os=bsd - ;; - aros) - basic_machine=i386-pc - basic_os=aros - ;; - aux) - basic_machine=m68k-apple - basic_os=aux - ;; - balance) - basic_machine=ns32k-sequent - basic_os=dynix - ;; - blackfin) - basic_machine=bfin-unknown - basic_os=linux - ;; - cegcc) - basic_machine=arm-unknown - basic_os=cegcc - ;; - convex-c1) - basic_machine=c1-convex - basic_os=bsd - ;; - convex-c2) - basic_machine=c2-convex - basic_os=bsd - ;; - convex-c32) - basic_machine=c32-convex - basic_os=bsd - ;; - convex-c34) - basic_machine=c34-convex - basic_os=bsd - ;; - convex-c38) - basic_machine=c38-convex - basic_os=bsd - ;; - cray) - basic_machine=j90-cray - basic_os=unicos - ;; - crds | unos) - basic_machine=m68k-crds - basic_os= - ;; - da30) - basic_machine=m68k-da30 - basic_os= - ;; - decstation | pmax | pmin | dec3100 | decstatn) - basic_machine=mips-dec - basic_os= - ;; - delta88) - basic_machine=m88k-motorola - basic_os=sysv3 - ;; - dicos) - basic_machine=i686-pc - basic_os=dicos - ;; - djgpp) - basic_machine=i586-pc - basic_os=msdosdjgpp - ;; - ebmon29k) - basic_machine=a29k-amd - basic_os=ebmon - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - basic_os=ose - ;; - gmicro) - basic_machine=tron-gmicro - basic_os=sysv - ;; - go32) - basic_machine=i386-pc - basic_os=go32 - ;; - h8300hms) - basic_machine=h8300-hitachi - basic_os=hms - ;; - h8300xray) - basic_machine=h8300-hitachi - basic_os=xray - ;; - h8500hms) - basic_machine=h8500-hitachi - basic_os=hms - ;; - harris) - basic_machine=m88k-harris - basic_os=sysv3 - ;; - hp300 | hp300hpux) - basic_machine=m68k-hp - basic_os=hpux - ;; - hp300bsd) - basic_machine=m68k-hp - basic_os=bsd - ;; - hppaosf) - basic_machine=hppa1.1-hp - basic_os=osf - ;; - hppro) - basic_machine=hppa1.1-hp - basic_os=proelf - ;; - i386mach) - basic_machine=i386-mach - basic_os=mach - ;; - isi68 | isi) - basic_machine=m68k-isi - basic_os=sysv - ;; - m68knommu) - basic_machine=m68k-unknown - basic_os=linux - ;; - magnum | m3230) - basic_machine=mips-mips - basic_os=sysv - ;; - merlin) - basic_machine=ns32k-utek - basic_os=sysv - ;; - mingw64) - basic_machine=x86_64-pc - basic_os=mingw64 - ;; - mingw32) - basic_machine=i686-pc - basic_os=mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - basic_os=mingw32ce - ;; - monitor) - basic_machine=m68k-rom68k - basic_os=coff - ;; - morphos) - basic_machine=powerpc-unknown - basic_os=morphos - ;; - moxiebox) - basic_machine=moxie-unknown - basic_os=moxiebox - ;; - msdos) - basic_machine=i386-pc - basic_os=msdos - ;; - msys) - basic_machine=i686-pc - basic_os=msys - ;; - mvs) - basic_machine=i370-ibm - basic_os=mvs - ;; - nacl) - basic_machine=le32-unknown - basic_os=nacl - ;; - ncr3000) - basic_machine=i486-ncr - basic_os=sysv4 - ;; - netbsd386) - basic_machine=i386-pc - basic_os=netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - basic_os=linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - basic_os=newsos - ;; - news1000) - basic_machine=m68030-sony - basic_os=newsos - ;; - necv70) - basic_machine=v70-nec - basic_os=sysv - ;; - nh3000) - basic_machine=m68k-harris - basic_os=cxux - ;; - nh[45]000) - basic_machine=m88k-harris - basic_os=cxux - ;; - nindy960) - basic_machine=i960-intel - basic_os=nindy - ;; - mon960) - basic_machine=i960-intel - basic_os=mon960 - ;; - nonstopux) - basic_machine=mips-compaq - basic_os=nonstopux - ;; - os400) - basic_machine=powerpc-ibm - basic_os=os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - basic_os=ose - ;; - os68k) - basic_machine=m68k-none - basic_os=os68k - ;; - paragon) - basic_machine=i860-intel - basic_os=osf - ;; - parisc) - basic_machine=hppa-unknown - basic_os=linux - ;; - psp) - basic_machine=mipsallegrexel-sony - basic_os=psp - ;; - pw32) - basic_machine=i586-unknown - basic_os=pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc - basic_os=rdos - ;; - rdos32) - basic_machine=i386-pc - basic_os=rdos - ;; - rom68k) - basic_machine=m68k-rom68k - basic_os=coff - ;; - sa29200) - basic_machine=a29k-amd - basic_os=udi - ;; - sei) - basic_machine=mips-sei - basic_os=seiux - ;; - sequent) - basic_machine=i386-sequent - basic_os= - ;; - sps7) - basic_machine=m68k-bull - basic_os=sysv2 - ;; - st2000) - basic_machine=m68k-tandem - basic_os= - ;; - stratus) - basic_machine=i860-stratus - basic_os=sysv4 - ;; - sun2) - basic_machine=m68000-sun - basic_os= - ;; - sun2os3) - basic_machine=m68000-sun - basic_os=sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - basic_os=sunos4 - ;; - sun3) - basic_machine=m68k-sun - basic_os= - ;; - sun3os3) - basic_machine=m68k-sun - basic_os=sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - basic_os=sunos4 - ;; - sun4) - basic_machine=sparc-sun - basic_os= - ;; - sun4os3) - basic_machine=sparc-sun - basic_os=sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - basic_os=sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - basic_os=solaris2 - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - basic_os= - ;; - sv1) - basic_machine=sv1-cray - basic_os=unicos - ;; - symmetry) - basic_machine=i386-sequent - basic_os=dynix - ;; - t3e) - basic_machine=alphaev5-cray - basic_os=unicos - ;; - t90) - basic_machine=t90-cray - basic_os=unicos - ;; - toad1) - basic_machine=pdp10-xkl - basic_os=tops20 - ;; - tpf) - basic_machine=s390x-ibm - basic_os=tpf - ;; - udi29k) - basic_machine=a29k-amd - basic_os=udi - ;; - ultra3) - basic_machine=a29k-nyu - basic_os=sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - basic_os=none - ;; - vaxv) - basic_machine=vax-dec - basic_os=sysv - ;; - vms) - basic_machine=vax-dec - basic_os=vms - ;; - vsta) - basic_machine=i386-pc - basic_os=vsta - ;; - vxworks960) - basic_machine=i960-wrs - basic_os=vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - basic_os=vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - basic_os=vxworks - ;; - xbox) - basic_machine=i686-pc - basic_os=mingw32 - ;; - ymp) - basic_machine=ymp-cray - basic_os=unicos - ;; - *) - basic_machine=$1 - basic_os= - ;; - esac - ;; -esac - -# Decode 1-component or ad-hoc basic machines -case $basic_machine in - # Here we handle the default manufacturer of certain CPU types. It is in - # some cases the only manufacturer, in others, it is the most popular. - w89k) - cpu=hppa1.1 - vendor=winbond - ;; - op50n) - cpu=hppa1.1 - vendor=oki - ;; - op60c) - cpu=hppa1.1 - vendor=oki - ;; - ibm*) - cpu=i370 - vendor=ibm - ;; - orion105) - cpu=clipper - vendor=highlevel - ;; - mac | mpw | mac-mpw) - cpu=m68k - vendor=apple - ;; - pmac | pmac-mpw) - cpu=powerpc - vendor=apple - ;; - - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - cpu=m68000 - vendor=att - ;; - 3b*) - cpu=we32k - vendor=att - ;; - bluegene*) - cpu=powerpc - vendor=ibm - basic_os=cnk - ;; - decsystem10* | dec10*) - cpu=pdp10 - vendor=dec - basic_os=tops10 - ;; - decsystem20* | dec20*) - cpu=pdp10 - vendor=dec - basic_os=tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - cpu=m68k - vendor=motorola - ;; - dpx2*) - cpu=m68k - vendor=bull - basic_os=sysv3 - ;; - encore | umax | mmax) - cpu=ns32k - vendor=encore - ;; - elxsi) - cpu=elxsi - vendor=elxsi - basic_os=${basic_os:-bsd} - ;; - fx2800) - cpu=i860 - vendor=alliant - ;; - genix) - cpu=ns32k - vendor=ns - ;; - h3050r* | hiux*) - cpu=hppa1.1 - vendor=hitachi - basic_os=hiuxwe2 - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - cpu=hppa1.0 - vendor=hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - cpu=m68000 - vendor=hp - ;; - hp9k3[2-9][0-9]) - cpu=m68k - vendor=hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - cpu=hppa1.0 - vendor=hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - cpu=hppa1.1 - vendor=hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - cpu=hppa1.1 - vendor=hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - cpu=hppa1.1 - vendor=hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - cpu=hppa1.1 - vendor=hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - cpu=hppa1.0 - vendor=hp - ;; - i*86v32) - cpu=$(echo "$1" | sed -e 's/86.*/86/') - vendor=pc - basic_os=sysv32 - ;; - i*86v4*) - cpu=$(echo "$1" | sed -e 's/86.*/86/') - vendor=pc - basic_os=sysv4 - ;; - i*86v) - cpu=$(echo "$1" | sed -e 's/86.*/86/') - vendor=pc - basic_os=sysv - ;; - i*86sol2) - cpu=$(echo "$1" | sed -e 's/86.*/86/') - vendor=pc - basic_os=solaris2 - ;; - j90 | j90-cray) - cpu=j90 - vendor=cray - basic_os=${basic_os:-unicos} - ;; - iris | iris4d) - cpu=mips - vendor=sgi - case $basic_os in - irix*) - ;; - *) - basic_os=irix4 - ;; - esac - ;; - miniframe) - cpu=m68000 - vendor=convergent - ;; - *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) - cpu=m68k - vendor=atari - basic_os=mint - ;; - news-3600 | risc-news) - cpu=mips - vendor=sony - basic_os=newsos - ;; - next | m*-next) - cpu=m68k - vendor=next - case $basic_os in - openstep*) - ;; - nextstep*) - ;; - ns2*) - basic_os=nextstep2 - ;; - *) - basic_os=nextstep3 - ;; - esac - ;; - np1) - cpu=np1 - vendor=gould - ;; - op50n-* | op60c-*) - cpu=hppa1.1 - vendor=oki - basic_os=proelf - ;; - pa-hitachi) - cpu=hppa1.1 - vendor=hitachi - basic_os=hiuxwe2 - ;; - pbd) - cpu=sparc - vendor=tti - ;; - pbb) - cpu=m68k - vendor=tti - ;; - pc532) - cpu=ns32k - vendor=pc532 - ;; - pn) - cpu=pn - vendor=gould - ;; - power) - cpu=power - vendor=ibm - ;; - ps2) - cpu=i386 - vendor=ibm - ;; - rm[46]00) - cpu=mips - vendor=siemens - ;; - rtpc | rtpc-*) - cpu=romp - vendor=ibm - ;; - sde) - cpu=mipsisa32 - vendor=sde - basic_os=${basic_os:-elf} - ;; - simso-wrs) - cpu=sparclite - vendor=wrs - basic_os=vxworks - ;; - tower | tower-32) - cpu=m68k - vendor=ncr - ;; - vpp*|vx|vx-*) - cpu=f301 - vendor=fujitsu - ;; - w65) - cpu=w65 - vendor=wdc - ;; - w89k-*) - cpu=hppa1.1 - vendor=winbond - basic_os=proelf - ;; - none) - cpu=none - vendor=none - ;; - leon|leon[3-9]) - cpu=sparc - vendor=$basic_machine - ;; - leon-*|leon[3-9]-*) - cpu=sparc - vendor=$(echo "$basic_machine" | sed 's/-.*//') - ;; - - *-*) - # shellcheck disable=SC2162 - IFS="-" read cpu vendor <&2 - exit 1 - ;; - esac - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $vendor in - digital*) - vendor=dec - ;; - commodore*) - vendor=cbm - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if test x$basic_os != x -then - -# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just -# set os. -case $basic_os in - gnu/linux*) - kernel=linux - os=$(echo $basic_os | sed -e 's|gnu/linux|gnu|') - ;; - os2-emx) - kernel=os2 - os=$(echo $basic_os | sed -e 's|os2-emx|emx|') - ;; - nto-qnx*) - kernel=nto - os=$(echo $basic_os | sed -e 's|nto-qnx|qnx|') - ;; - *-*) - # shellcheck disable=SC2162 - IFS="-" read kernel os <&2 - exit 1 - ;; -esac - -# As a final step for OS-related things, validate the OS-kernel combination -# (given a valid OS), if there is a kernel. -case $kernel-$os in - linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* | linux-musl* | linux-uclibc* ) - ;; - uclinux-uclibc* ) - ;; - -dietlibc* | -newlib* | -musl* | -uclibc* ) - # These are just libc implementations, not actual OSes, and thus - # require a kernel. - echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 - exit 1 - ;; - kfreebsd*-gnu* | kopensolaris*-gnu*) - ;; - vxworks-simlinux | vxworks-simwindows | vxworks-spe) - ;; - nto-qnx*) - ;; - os2-emx) - ;; - *-eabi* | *-gnueabi*) - ;; - -*) - # Blank kernel with real OS is always fine. - ;; - *-*) - echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 - exit 1 - ;; -esac - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -case $vendor in - unknown) - case $cpu-$os in - *-riscix*) - vendor=acorn - ;; - *-sunos*) - vendor=sun - ;; - *-cnk* | *-aix*) - vendor=ibm - ;; - *-beos*) - vendor=be - ;; - *-hpux*) - vendor=hp - ;; - *-mpeix*) - vendor=hp - ;; - *-hiux*) - vendor=hitachi - ;; - *-unos*) - vendor=crds - ;; - *-dgux*) - vendor=dg - ;; - *-luna*) - vendor=omron - ;; - *-genix*) - vendor=ns - ;; - *-clix*) - vendor=intergraph - ;; - *-mvs* | *-opened*) - vendor=ibm - ;; - *-os400*) - vendor=ibm - ;; - s390-* | s390x-*) - vendor=ibm - ;; - *-ptx*) - vendor=sequent - ;; - *-tpf*) - vendor=ibm - ;; - *-vxsim* | *-vxworks* | *-windiss*) - vendor=wrs - ;; - *-aux*) - vendor=apple - ;; - *-hms*) - vendor=hitachi - ;; - *-mpw* | *-macos*) - vendor=apple - ;; - *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) - vendor=atari - ;; - *-vos*) - vendor=stratus - ;; - esac - ;; -esac - -echo "$cpu-$vendor-${kernel:+$kernel-}$os" -exit - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/configure b/configure deleted file mode 100755 index 3bb872ac57..0000000000 --- a/configure +++ /dev/null @@ -1,14963 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for amuse 2023.7.0. -# -# -# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 -as_nop=: -if test ${ZSH_VERSION+y} && (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 $as_nop - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - - -# Reset variables that may have inherited troublesome values from -# the environment. - -# IFS needs to be set, to space, tab, and newline, in precisely that order. -# (If _AS_PATH_WALK were called with IFS unset, it would have the -# side effect of setting IFS to empty, thus disabling word splitting.) -# Quoting is to prevent editors from complaining about space-tab. -as_nl=' -' -export as_nl -IFS=" "" $as_nl" - -PS1='$ ' -PS2='> ' -PS4='+ ' - -# Ensure predictable behavior from utilities with locale-dependent output. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# We cannot yet rely on "unset" to work, but we need these variables -# to be unset--not just set to an empty or harmless value--now, to -# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct -# also avoids known problems related to "unset" and subshell syntax -# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). -for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH -do eval test \${$as_var+y} \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done - -# Ensure that fds 0, 1, and 2 are open. -if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi -if (exec 3>&2) ; then :; else exec 2>/dev/null; fi - -# The user is always right. -if ${PATH_SEPARATOR+false} :; 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 - - -# 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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 - printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - - -# 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'. -printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 -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="as_nop=: -if test \${ZSH_VERSION+y} && (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 \$as_nop - 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 \$as_nop - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -blah=\$(echo \$(echo blah)) -test x\"\$blah\" = xblah || 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_nop - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null -then : - -else $as_nop - 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null -then : - CONFIG_SHELL=$as_shell as_have_required=yes - if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null -then : - break 2 -fi -fi - done;; - esac - as_found=false -done -IFS=$as_save_IFS -if $as_found -then : - -else $as_nop - if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null -then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi -fi - - - 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'. -printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno -then : - printf "%s\n" "$0: This script requires a shell more modern than all" - printf "%s\n" "$0: the shells that I found on your system." - if test ${ZSH_VERSION+y} ; then - printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" - printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." - else - printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, -$0: including any error possibly output before this -$0: message. Then install a modern shell, or manually run -$0: the script under such a shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit -# as_fn_nop -# --------- -# Do nothing but, unlike ":", preserve the value of $?. -as_fn_nop () -{ - return $? -} -as_nop=as_fn_nop - -# 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=`printf "%s\n" "$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 || -printf "%s\n" 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_nop - 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_nop - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - -# as_fn_nop -# --------- -# Do nothing but, unlike ":", preserve the value of $?. -as_fn_nop () -{ - return $? -} -as_nop=as_fn_nop - -# 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 - printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - printf "%s\n" "$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 || -printf "%s\n" 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" || - { printf "%s\n" "$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 -} - - -# Determine whether it's possible to make 'echo' print without a newline. -# These variables are no longer used directly by Autoconf, but are AC_SUBSTed -# for compatibility with existing Makefiles. -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 - -# For backward compatibility with old third-party macros, we provide -# the shell variables $as_echo and $as_echo_n. New code should use -# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. -as_echo='printf %s\n' -as_echo_n='printf %s' - - -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'" - -as_awk_strverscmp=' - # Use only awk features that work with 7th edition Unix awk (1978). - # My, what an old awk you have, Mr. Solaris! - END { - while (length(v1) && length(v2)) { - # Set d1 to be the next thing to compare from v1, and likewise for d2. - # Normally this is a single character, but if v1 and v2 contain digits, - # compare them as integers and fractions as strverscmp does. - if (v1 ~ /^[0-9]/ && v2 ~ /^[0-9]/) { - # Split v1 and v2 into their leading digit string components d1 and d2, - # and advance v1 and v2 past the leading digit strings. - for (len1 = 1; substr(v1, len1 + 1) ~ /^[0-9]/; len1++) continue - for (len2 = 1; substr(v2, len2 + 1) ~ /^[0-9]/; len2++) continue - d1 = substr(v1, 1, len1); v1 = substr(v1, len1 + 1) - d2 = substr(v2, 1, len2); v2 = substr(v2, len2 + 1) - if (d1 ~ /^0/) { - if (d2 ~ /^0/) { - # Compare two fractions. - while (d1 ~ /^0/ && d2 ~ /^0/) { - d1 = substr(d1, 2); len1-- - d2 = substr(d2, 2); len2-- - } - if (len1 != len2 && ! (len1 && len2 && substr(d1, 1, 1) == substr(d2, 1, 1))) { - # The two components differ in length, and the common prefix - # contains only leading zeros. Consider the longer to be less. - d1 = -len1 - d2 = -len2 - } else { - # Otherwise, compare as strings. - d1 = "x" d1 - d2 = "x" d2 - } - } else { - # A fraction is less than an integer. - exit 1 - } - } else { - if (d2 ~ /^0/) { - # An integer is greater than a fraction. - exit 2 - } else { - # Compare two integers. - d1 += 0 - d2 += 0 - } - } - } else { - # The normal case, without worrying about digits. - d1 = substr(v1, 1, 1); v1 = substr(v1, 2) - d2 = substr(v2, 1, 1); v2 = substr(v2, 2) - } - if (d1 < d2) exit 1 - if (d1 > d2) exit 2 - } - # Beware Solaris /usr/xgp4/bin/awk (at least through Solaris 10), - # which mishandles some comparisons of empty strings to integers. - if (length(v2)) exit 1 - if (length(v1)) exit 2 - } -' - -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='amuse' -PACKAGE_TARNAME='amuse' -PACKAGE_VERSION='2023.7.0' -PACKAGE_STRING='amuse 2023.7.0' -PACKAGE_BUGREPORT='' -PACKAGE_URL='' - -ac_unique_file="src/amuse/__init__.py" -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_STDIO_H -# include -#endif -#ifdef HAVE_STDLIB_H -# include -#endif -#ifdef HAVE_STRING_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_header_c_list= -ac_subst_vars='LTLIBOBJS -LIBOBJS -PYTHON_matplotlib_VERSION -PYTHON_matplotlib -PYTHON_zlib_VERSION -PYTHON_zlib -PYTHON_docutils_VERSION -PYTHON_docutils -PYTHON_pytest_VERSION -PYTHON_pytest -PYTHON_h5py_VERSION -PYTHON_h5py -PYTHON_mpi4py_VERSION -PYTHON_mpi4py -PYTHON_numpy_VERSION -PYTHON_numpy -FOUND_GSL -GSL_CONFIG -GSL_LIBS -GSL_CFLAGS -GSL_FLAGS -PIC_FLAGS -NETCDF4_FLIBS -NETCDF4_FFLAGS -NETCDF4_FC -NETCDF4_LIBS -NETCDF4_LDFLAGS -NETCDF4_CFLAGS -NETCDF4_PREFIX -NETCDF4_CC -NETCDF4_VERSION -NC_CONFIG -HDF5_TYPE -HDF5_FLIBS -HDF5_FFLAGS -HDF5_FC -HDF5_LIBS -HDF5_LDFLAGS -HDF5_CPPFLAGS -HDF5_CFLAGS -HDF5_CC -HDF5_VERSION -H5FC -H5CC -GREP -AWK -MPFR_FLAGS -FOUND_MPFR -MPFR_LIBS -MPFR_CFLAGS -GMP_FLAGS -FOUND_GMP -GMP_LIBS -GMP_CFLAGS -FFTW_FLAGS -FOUND_FFTW -FFTW_LIBS -FFTW_CFLAGS -PKG_CONFIG_LIBDIR -PKG_CONFIG_PATH -PKG_CONFIG -LAPACK_LIBS -BLAS_LIBS -FLIBS -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -ac_ct_F77 -FFLAGS -F77 -SC_MPI_FCLIBS -SC_MPI_CLIBS -SC_FCLIBS -SC_CLIBS -SC_FLAGS -FS_LIBS -FS_FLAGS -SAPPORO_LIBS -SAPPORO_VERSION -WITH_SAPPORO -CL_LIBS -CL_CFLAGS -FOUND_CL -SED -CUDA_LIBS -WITH_CUDA -CUDA_TK -OPENMP_FCFLAGS -OPENMP_CFLAGS -HAVE_OPENMP -IFORT_VERSION -GFORTRAN_VERSION -MPI_FCLIBS -MPI_FCFLAGS -MPIFC -MPI_CXXLIBS -MPI_CXXFLAGS -MPICXX -WITH_MPI -MPILIBS -MPI_CLIBS -MPI_CFLAGS -MPICC -MPIEXEC -JAVA_LIBS -JAVA_VERSION -have_java -JAR -JAVAC -JAVA -JAVA_HOME -PYTHON_DEV -PYTHONDEV_LDFLAGS -PYTHONDEV_CFLAGS -CYTHON -PYTHONCONFIG -NVCC_FLAGS -NVCC -pkgpyexecdir -pyexecdir -pkgpythondir -pythondir -PYTHON_EXEC_PREFIX -PYTHON_PREFIX -PYTHON_PLATFORM -PYTHON_VERSION -FC_ISO_C_BINDINGS -PYTHON -ac_ct_FC -FCFLAGS -FC -ac_ct_CXX -CXXFLAGS -CXX -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -CODE_GENERATOR -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 -with_python_sys_prefix -with_python_prefix -with_python_exec_prefix -enable_mpi -enable_openmp -enable_cuda -with_cuda_libdir -with_opencl -with_sapporo -enable_sapporo2 -with_blas -with_lapack -with_fftw -with_gmp -with_mpfr -with_hdf5 -with_netcdf4 -enable_pic -with_gsl_prefix -with_gsl_exec_prefix -enable_gsltest -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CXX -CXXFLAGS -CCC -FC -FCFLAGS -PYTHON -NVCC -NVCC_FLAGS -PYTHONCONFIG -CYTHON -PYTHONDEV_CFLAGS -PYTHONDEV_LDFLAGS -JAVA_HOME -MPIEXEC -MPICC -MPICXX -MPIFC -CUDA_TK -F77 -FFLAGS -PKG_CONFIG -PKG_CONFIG_PATH -PKG_CONFIG_LIBDIR -FFTW_CFLAGS -FFTW_LIBS -GMP_CFLAGS -GMP_LIBS -MPFR_CFLAGS -MPFR_LIBS -PIC_FLAGS -GSL_CFLAGS -GSL_LIBS' - - -# 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 - - 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. - printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - printf "%s\n" "$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" ;; - *) printf "%s\n" "$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 || -printf "%s\n" 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 amuse 2023.7.0 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/amuse] - --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 amuse 2023.7.0:";; - 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-mpi Enable MPI support for communicating with codes, by - default enabled - --enable-openmp Turn off OpenMP support, even if it is available in - the compilers - --enable-cuda Enable CUDA for codes - --enable-sapporo2 Use the provided sapporo library version 2, instead - of sapporo_light - --disable-pic compile PIC objects [default=enabled for shared - builds on supported platforms] - --disable-gsltest Do not try to compile and run a test GSL program - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-python-sys-prefix - use Python's sys.prefix and sys.exec_prefix values - --with-python_prefix override the default PYTHON_PREFIX - --with-python_exec_prefix - override the default PYTHON_EXEC_PREFIX - --with-cuda-libdir=PFX Directory where libcuda.so is installed (optional) - --with-opencl=PFX Prefix where OpenCl has been installed - --with-sapporo Use sapporo library in given directory - --with-blas= use BLAS library - --with-lapack= use LAPACK library - --with-fftw=PFX Prefix where FFTW has been installed - --with-gmp=PFX Prefix where GMP has been installed - --with-mpfr=PFX Prefix where MPFR has been installed - --with-hdf5=yes/no/PATH location of h5cc or h5pcc for HDF5 configuration - --with-netcdf4=yes/no/PATH - base directory of NetCDF4 installation - --with-gsl-prefix=PFX Prefix where GSL is installed (optional) - --with-gsl-exec-prefix=PFX Exec prefix where GSL is installed (optional) - -Some influential environment variables: - 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 - CXX C++ compiler command - CXXFLAGS C++ compiler flags - FC Fortran compiler command - FCFLAGS Fortran compiler flags - PYTHON Python interpreter - NVCC CUDA compiler command - NVCC_FLAGS Extra flags for the CUDA nvcc compiler - PYTHONCONFIG - Python config script to determine python module compile flags - (python-config) - CYTHON cython script to compile code in the Cython language - PYTHONDEV_CFLAGS - CFLAGS for python compilation - PYTHONDEV_LDFLAGS - LDFLAGS for python language - JAVA_HOME Java sdk directory - MPIEXEC mpiexec or mpirun location - MPICC MPI C compiler command - MPICXX MPI C++ compiler command - MPIFC MPI Fortran compiler command - CUDA_TK CUDA toolkit directory - F77 Fortran 77 compiler command - FFLAGS Fortran 77 compiler flags - 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 - FFTW_CFLAGS C compiler flags for FFTW, overriding pkg-config - FFTW_LIBS linker flags for FFTW, overriding pkg-config - GMP_CFLAGS C compiler flags for GMP, overriding pkg-config - GMP_LIBS linker flags for GMP, overriding pkg-config - MPFR_CFLAGS C compiler flags for MPFR, overriding pkg-config - MPFR_LIBS linker flags for MPFR, overriding pkg-config - PIC_FLAGS compiler flags for PIC code - GSL_CFLAGS C compiler flags for GSL, overriding pkg-config - GSL_LIBS linker flags for GSL, overriding pkg-config - -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 the package provider. -_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for - # Metaconfig's "Configure" on case-insensitive file systems. - 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 - printf "%s\n" "$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 -amuse configure 2023.7.0 -generated by GNU Autoconf 2.71 - -Copyright (C) 2021 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 conftest.beam - 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\"" -printf "%s\n" "$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 - printf "%s\n" "$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_nop - printf "%s\n" "$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_cxx_try_compile LINENO -# ---------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest.beam - 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\"" -printf "%s\n" "$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 - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext -then : - ac_retval=0 -else $as_nop - printf "%s\n" "$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_cxx_try_compile - -# ac_fn_fc_try_compile LINENO -# --------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_fc_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest.beam - 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\"" -printf "%s\n" "$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 - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_fc_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext -then : - ac_retval=0 -else $as_nop - printf "%s\n" "$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_fc_try_compile - -# ac_fn_fc_try_link LINENO -# ------------------------ -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_fc_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest.beam 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\"" -printf "%s\n" "$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 - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_fc_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_nop - printf "%s\n" "$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_fc_try_link - -# 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 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -printf %s "checking for $2... " >&6; } -if eval test \${$3+y} -then : - printf %s "(cached) " >&6 -else $as_nop - 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 $as_nop - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -eval ac_res=\$$3 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_compile - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to run 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\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - printf "%s\n" "$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\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } -then : - ac_retval=0 -else $as_nop - printf "%s\n" "$as_me: program exited with status $ac_status" >&5 - printf "%s\n" "$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_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.beam 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\"" -printf "%s\n" "$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 - printf "%s\n" "$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_nop - printf "%s\n" "$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_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -printf %s "checking for $2... " >&6; } -if eval test \${$3+y} -then : - printf %s "(cached) " >&6 -else $as_nop - 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. */ - -#include -#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 (void) -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - eval "$3=yes" -else $as_nop - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_func - -# ac_fn_cxx_try_link LINENO -# ------------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest.beam 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\"" -printf "%s\n" "$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 - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_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_nop - printf "%s\n" "$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_cxx_try_link - -# ac_fn_cxx_check_func LINENO FUNC VAR -# ------------------------------------ -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_cxx_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -printf %s "checking for $2... " >&6; } -if eval test \${$3+y} -then : - printf %s "(cached) " >&6 -else $as_nop - 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. */ - -#include -#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 (void) -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO" -then : - eval "$3=yes" -else $as_nop - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_cxx_check_func - -# ac_fn_f77_try_compile LINENO -# ---------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_f77_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest.beam - 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\"" -printf "%s\n" "$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 - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext -then : - ac_retval=0 -else $as_nop - printf "%s\n" "$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_f77_try_compile -ac_configure_args_raw= -for ac_arg -do - case $ac_arg in - *\'*) - ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append ac_configure_args_raw " '$ac_arg'" -done - -case $ac_configure_args_raw in - *$as_nl*) - ac_safe_unquote= ;; - *) - ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. - ac_unsafe_a="$ac_unsafe_z#~" - ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" - ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; -esac - -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 amuse $as_me 2023.7.0, which was -generated by GNU Autoconf 2.71. Invocation command line was - - $ $0$ac_configure_args_raw - -_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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - printf "%s\n" "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=`printf "%s\n" "$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=$? - # Sanitize IFS. - IFS=" "" $as_nl" - # Save into config.log some information that might help in debugging. - { - echo - - printf "%s\n" "## ---------------- ## -## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -printf "%s\n" "$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 - - printf "%s\n" "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - printf "%s\n" "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - printf "%s\n" "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - printf "%s\n" "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - printf "%s\n" "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - printf "%s\n" "$as_me: caught signal $ac_signal" - printf "%s\n" "$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 - -printf "%s\n" "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h - -printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h - -printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h - -printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h - -printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h - -printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -if test -n "$CONFIG_SITE"; then - ac_site_files="$CONFIG_SITE" -elif test "x$prefix" != xNONE; then - ac_site_files="$prefix/share/config.site $prefix/etc/config.site" -else - ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" -fi - -for ac_site_file in $ac_site_files -do - case $ac_site_file in #( - */*) : - ;; #( - *) : - ac_site_file=./$ac_site_file ;; -esac - if test -f "$ac_site_file" && test -r "$ac_site_file"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$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 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -printf "%s\n" "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -printf "%s\n" "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Test code for whether the C compiler supports C89 (global declarations) -ac_c_conftest_c89_globals=' -/* Does the compiler advertise C89 conformance? - Do not test the value of __STDC__, because some compilers set it to 0 - while being otherwise adequately conformant. */ -#if !defined __STDC__ -# error "Compiler does not advertise C89 conformance" -#endif - -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ -struct buf { int x; }; -struct buf * (*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 do not provoke an error unfortunately, instead are silently treated - as an "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 is necessary to write \x00 == 0 to get something - that is 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 **, int *(*)(struct buf *, struct stat *, int), - int, int);' - -# Test code for whether the C compiler supports C89 (body of main). -ac_c_conftest_c89_main=' -ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); -' - -# Test code for whether the C compiler supports C99 (global declarations) -ac_c_conftest_c99_globals=' -// Does the compiler advertise C99 conformance? -#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L -# error "Compiler does not advertise C99 conformance" -#endif - -#include -extern int puts (const char *); -extern int printf (const char *, ...); -extern int dprintf (int, const char *, ...); -extern void *malloc (size_t); - -// Check varargs macros. These examples are taken from C99 6.10.3.5. -// dprintf is used instead of fprintf to avoid needing to declare -// FILE and stderr. -#define debug(...) dprintf (2, __VA_ARGS__) -#define showlist(...) puts (#__VA_ARGS__) -#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) -static void -test_varargs_macros (void) -{ - int x = 1234; - int y = 5678; - debug ("Flag"); - debug ("X = %d\n", x); - showlist (The first, second, and third items.); - report (x>y, "x is %d but y is %d", x, y); -} - -// Check long long types. -#define BIG64 18446744073709551615ull -#define BIG32 4294967295ul -#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) -#if !BIG_OK - #error "your preprocessor is broken" -#endif -#if BIG_OK -#else - #error "your preprocessor is broken" -#endif -static long long int bignum = -9223372036854775807LL; -static unsigned long long int ubignum = BIG64; - -struct incomplete_array -{ - int datasize; - double data[]; -}; - -struct named_init { - int number; - const wchar_t *name; - double average; -}; - -typedef const char *ccp; - -static inline int -test_restrict (ccp restrict text) -{ - // See if C++-style comments work. - // Iterate through items via the restricted pointer. - // Also check for declarations in for loops. - for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) - continue; - return 0; -} - -// Check varargs and va_copy. -static bool -test_varargs (const char *format, ...) -{ - va_list args; - va_start (args, format); - va_list args_copy; - va_copy (args_copy, args); - - const char *str = ""; - int number = 0; - float fnumber = 0; - - while (*format) - { - switch (*format++) - { - case '\''s'\'': // string - str = va_arg (args_copy, const char *); - break; - case '\''d'\'': // int - number = va_arg (args_copy, int); - break; - case '\''f'\'': // float - fnumber = va_arg (args_copy, double); - break; - default: - break; - } - } - va_end (args_copy); - va_end (args); - - return *str && number && fnumber; -} -' - -# Test code for whether the C compiler supports C99 (body of main). -ac_c_conftest_c99_main=' - // Check bool. - _Bool success = false; - success |= (argc != 0); - - // Check restrict. - if (test_restrict ("String literal") == 0) - success = true; - char *restrict newvar = "Another string"; - - // Check varargs. - success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); - test_varargs_macros (); - - // Check flexible array members. - struct incomplete_array *ia = - malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); - ia->datasize = 10; - for (int i = 0; i < ia->datasize; ++i) - ia->data[i] = i * 1.234; - - // Check named initializers. - struct named_init ni = { - .number = 34, - .name = L"Test wide string", - .average = 543.34343, - }; - - ni.number = 58; - - int dynamic_array[ni.number]; - dynamic_array[0] = argv[0][0]; - dynamic_array[ni.number - 1] = 543; - - // work around unused variable warnings - ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' - || dynamic_array[ni.number - 1] != 543); -' - -# Test code for whether the C compiler supports C11 (global declarations) -ac_c_conftest_c11_globals=' -// Does the compiler advertise C11 conformance? -#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L -# error "Compiler does not advertise C11 conformance" -#endif - -// Check _Alignas. -char _Alignas (double) aligned_as_double; -char _Alignas (0) no_special_alignment; -extern char aligned_as_int; -char _Alignas (0) _Alignas (int) aligned_as_int; - -// Check _Alignof. -enum -{ - int_alignment = _Alignof (int), - int_array_alignment = _Alignof (int[100]), - char_alignment = _Alignof (char) -}; -_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); - -// Check _Noreturn. -int _Noreturn does_not_return (void) { for (;;) continue; } - -// Check _Static_assert. -struct test_static_assert -{ - int x; - _Static_assert (sizeof (int) <= sizeof (long int), - "_Static_assert does not work in struct"); - long int y; -}; - -// Check UTF-8 literals. -#define u8 syntax error! -char const utf8_literal[] = u8"happens to be ASCII" "another string"; - -// Check duplicate typedefs. -typedef long *long_ptr; -typedef long int *long_ptr; -typedef long_ptr long_ptr; - -// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. -struct anonymous -{ - union { - struct { int i; int j; }; - struct { int k; long int l; } w; - }; - int m; -} v1; -' - -# Test code for whether the C compiler supports C11 (body of main). -ac_c_conftest_c11_main=' - _Static_assert ((offsetof (struct anonymous, i) - == offsetof (struct anonymous, w.k)), - "Anonymous union alignment botch"); - v1.i = 2; - v1.w.k = 5; - ok |= v1.i != 5; -' - -# Test code for whether the C compiler supports C11 (complete). -ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} -${ac_c_conftest_c99_globals} -${ac_c_conftest_c11_globals} - -int -main (int argc, char **argv) -{ - int ok = 0; - ${ac_c_conftest_c89_main} - ${ac_c_conftest_c99_main} - ${ac_c_conftest_c11_main} - return ok; -} -" - -# Test code for whether the C compiler supports C99 (complete). -ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} -${ac_c_conftest_c99_globals} - -int -main (int argc, char **argv) -{ - int ok = 0; - ${ac_c_conftest_c89_main} - ${ac_c_conftest_c99_main} - return ok; -} -" - -# Test code for whether the C compiler supports C89 (complete). -ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} - -int -main (int argc, char **argv) -{ - int ok = 0; - ${ac_c_conftest_c89_main} - return ok; -} -" - -# Test code for whether the C++ compiler supports C++98 (global declarations) -ac_cxx_conftest_cxx98_globals=' -// Does the compiler advertise C++98 conformance? -#if !defined __cplusplus || __cplusplus < 199711L -# error "Compiler does not advertise C++98 conformance" -#endif - -// These inclusions are to reject old compilers that -// lack the unsuffixed header files. -#include -#include - -// and are *not* freestanding headers in C++98. -extern void assert (int); -namespace std { - extern int strcmp (const char *, const char *); -} - -// Namespaces, exceptions, and templates were all added after "C++ 2.0". -using std::exception; -using std::strcmp; - -namespace { - -void test_exception_syntax() -{ - try { - throw "test"; - } catch (const char *s) { - // Extra parentheses suppress a warning when building autoconf itself, - // due to lint rules shared with more typical C programs. - assert (!(strcmp) (s, "test")); - } -} - -template struct test_template -{ - T const val; - explicit test_template(T t) : val(t) {} - template T add(U u) { return static_cast(u) + val; } -}; - -} // anonymous namespace -' - -# Test code for whether the C++ compiler supports C++98 (body of main) -ac_cxx_conftest_cxx98_main=' - assert (argc); - assert (! argv[0]); -{ - test_exception_syntax (); - test_template tt (2.0); - assert (tt.add (4) == 6.0); - assert (true && !false); -} -' - -# Test code for whether the C++ compiler supports C++11 (global declarations) -ac_cxx_conftest_cxx11_globals=' -// Does the compiler advertise C++ 2011 conformance? -#if !defined __cplusplus || __cplusplus < 201103L -# error "Compiler does not advertise C++11 conformance" -#endif - -namespace cxx11test -{ - constexpr int get_val() { return 20; } - - struct testinit - { - int i; - double d; - }; - - class delegate - { - public: - delegate(int n) : n(n) {} - delegate(): delegate(2354) {} - - virtual int getval() { return this->n; }; - protected: - int n; - }; - - class overridden : public delegate - { - public: - overridden(int n): delegate(n) {} - virtual int getval() override final { return this->n * 2; } - }; - - class nocopy - { - public: - nocopy(int i): i(i) {} - nocopy() = default; - nocopy(const nocopy&) = delete; - nocopy & operator=(const nocopy&) = delete; - private: - int i; - }; - - // for testing lambda expressions - template Ret eval(Fn f, Ret v) - { - return f(v); - } - - // for testing variadic templates and trailing return types - template auto sum(V first) -> V - { - return first; - } - template auto sum(V first, Args... rest) -> V - { - return first + sum(rest...); - } -} -' - -# Test code for whether the C++ compiler supports C++11 (body of main) -ac_cxx_conftest_cxx11_main=' -{ - // Test auto and decltype - auto a1 = 6538; - auto a2 = 48573953.4; - auto a3 = "String literal"; - - int total = 0; - for (auto i = a3; *i; ++i) { total += *i; } - - decltype(a2) a4 = 34895.034; -} -{ - // Test constexpr - short sa[cxx11test::get_val()] = { 0 }; -} -{ - // Test initializer lists - cxx11test::testinit il = { 4323, 435234.23544 }; -} -{ - // Test range-based for - int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, - 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; - for (auto &x : array) { x += 23; } -} -{ - // Test lambda expressions - using cxx11test::eval; - assert (eval ([](int x) { return x*2; }, 21) == 42); - double d = 2.0; - assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); - assert (d == 5.0); - assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); - assert (d == 5.0); -} -{ - // Test use of variadic templates - using cxx11test::sum; - auto a = sum(1); - auto b = sum(1, 2); - auto c = sum(1.0, 2.0, 3.0); -} -{ - // Test constructor delegation - cxx11test::delegate d1; - cxx11test::delegate d2(); - cxx11test::delegate d3(45); -} -{ - // Test override and final - cxx11test::overridden o1(55464); -} -{ - // Test nullptr - char *c = nullptr; -} -{ - // Test template brackets - test_template<::test_template> v(test_template(12)); -} -{ - // Unicode literals - char const *utf8 = u8"UTF-8 string \u2500"; - char16_t const *utf16 = u"UTF-8 string \u2500"; - char32_t const *utf32 = U"UTF-32 string \u2500"; -} -' - -# Test code for whether the C compiler supports C++11 (complete). -ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} -${ac_cxx_conftest_cxx11_globals} - -int -main (int argc, char **argv) -{ - int ok = 0; - ${ac_cxx_conftest_cxx98_main} - ${ac_cxx_conftest_cxx11_main} - return ok; -} -" - -# Test code for whether the C compiler supports C++98 (complete). -ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} -int -main (int argc, char **argv) -{ - int ok = 0; - ${ac_cxx_conftest_cxx98_main} - return ok; -} -" - -as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" -as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" -as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" -as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" -as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" -as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" -as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" -as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" -as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" - -# Auxiliary files required by this configure script. -ac_aux_files="config.guess config.sub" - -# Locations in which to look for auxiliary files. -ac_aux_dir_candidates="${srcdir}${PATH_SEPARATOR}${srcdir}/..${PATH_SEPARATOR}${srcdir}/../.." - -# Search for a directory containing all of the required auxiliary files, -# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. -# If we don't find one directory that contains all the files we need, -# we report the set of missing files from the *first* directory in -# $ac_aux_dir_candidates and give up. -ac_missing_aux_files="" -ac_first_candidate=: -printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in $ac_aux_dir_candidates -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - as_found=: - - printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 - ac_aux_dir_found=yes - ac_install_sh= - for ac_aux in $ac_aux_files - do - # As a special case, if "install-sh" is required, that requirement - # can be satisfied by any of "install-sh", "install.sh", or "shtool", - # and $ac_install_sh is set appropriately for whichever one is found. - if test x"$ac_aux" = x"install-sh" - then - if test -f "${as_dir}install-sh"; then - printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 - ac_install_sh="${as_dir}install-sh -c" - elif test -f "${as_dir}install.sh"; then - printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 - ac_install_sh="${as_dir}install.sh -c" - elif test -f "${as_dir}shtool"; then - printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 - ac_install_sh="${as_dir}shtool install -c" - else - ac_aux_dir_found=no - if $ac_first_candidate; then - ac_missing_aux_files="${ac_missing_aux_files} install-sh" - else - break - fi - fi - else - if test -f "${as_dir}${ac_aux}"; then - printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 - else - ac_aux_dir_found=no - if $ac_first_candidate; then - ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" - else - break - fi - fi - fi - done - if test "$ac_aux_dir_found" = yes; then - ac_aux_dir="$as_dir" - break - fi - ac_first_candidate=false - - as_found=false -done -IFS=$as_save_IFS -if $as_found -then : - -else $as_nop - as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. -if test -f "${ac_aux_dir}config.guess"; then - ac_config_guess="$SHELL ${ac_aux_dir}config.guess" -fi -if test -f "${ac_aux_dir}config.sub"; then - ac_config_sub="$SHELL ${ac_aux_dir}config.sub" -fi -if test -f "$ac_aux_dir/configure"; then - ac_configure="$SHELL ${ac_aux_dir}configure" -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,) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -printf "%s\n" "$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 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -printf "%s\n" "$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=`printf "%s\n" "$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 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`${MAKE-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 - - - - -ac_config_files="$ac_config_files config.mk" - -ac_config_files="$ac_config_files bin/amusifier:bin/amusifier.in" - -ac_config_files="$ac_config_files Makefile" - - -CODE_GENERATOR=amusifier - - - - - - - - - - - - -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 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_CC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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" - printf "%s\n" "$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 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -printf "%s\n" "$CC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "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 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_ac_ct_CC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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" - printf "%s\n" "$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 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -printf "%s\n" "$ac_ct_CC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -printf "%s\n" "$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 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_CC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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" - printf "%s\n" "$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 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -printf "%s\n" "$CC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "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 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_CC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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" - printf "%s\n" "$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 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -printf "%s\n" "$CC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "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 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_CC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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" - printf "%s\n" "$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 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -printf "%s\n" "$CC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "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 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_ac_ct_CC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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" - printf "%s\n" "$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 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -printf "%s\n" "$ac_ct_CC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "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:) -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi -if test -z "$CC"; then - 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 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_CC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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}clang" - printf "%s\n" "$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 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -printf "%s\n" "$CC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "clang", so it can be a program name with args. -set dummy clang; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_ac_ct_CC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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="clang" - printf "%s\n" "$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 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -printf "%s\n" "$ac_ct_CC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -printf "%s\n" "$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 - -fi - - -test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$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. -printf "%s\n" "$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 -version; 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\"" -printf "%s\n" "$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 - printf "%s\n" "$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 (void) -{ - - ; - 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. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -printf %s "checking whether the C compiler works... " >&6; } -ac_link_default=`printf "%s\n" "$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\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - printf "%s\n" "$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+y} && 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 $as_nop - ac_file='' -fi -if test -z "$ac_file" -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -printf "%s\n" "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$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_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -printf %s "checking for C compiler default output file name... " >&6; } -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -printf "%s\n" "$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 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -printf %s "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\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - printf "%s\n" "$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_nop - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$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 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -printf "%s\n" "$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 (void) -{ -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. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -printf %s "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\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - printf "%s\n" "$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\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - printf "%s\n" "$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 - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -printf "%s\n" "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -printf %s "checking for suffix of object files... " >&6; } -if test ${ac_cv_objext+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - 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\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - printf "%s\n" "$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_nop - printf "%s\n" "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$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 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -printf "%s\n" "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 -printf %s "checking whether the compiler supports GNU C... " >&6; } -if test ${ac_cv_c_compiler_gnu+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_compiler_gnu=yes -else $as_nop - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+y} -ac_save_CFLAGS=$CFLAGS -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -printf %s "checking whether $CC accepts -g... " >&6; } -if test ${ac_cv_prog_cc_g+y} -then : - printf %s "(cached) " >&6 -else $as_nop - 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 (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_prog_cc_g=yes -else $as_nop - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - -else $as_nop - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - 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.beam conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -printf "%s\n" "$ac_cv_prog_cc_g" >&6; } -if test $ac_test_CFLAGS; 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 -ac_prog_cc_stdc=no -if test x$ac_prog_cc_stdc = xno -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 -printf %s "checking for $CC option to enable C11 features... " >&6; } -if test ${ac_cv_prog_cc_c11+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_cv_prog_cc_c11=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_c_conftest_c11_program -_ACEOF -for ac_arg in '' -std=gnu11 -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_prog_cc_c11=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam - test "x$ac_cv_prog_cc_c11" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC -fi - -if test "x$ac_cv_prog_cc_c11" = xno -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } -else $as_nop - if test "x$ac_cv_prog_cc_c11" = x -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 -printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } - CC="$CC $ac_cv_prog_cc_c11" -fi - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 - ac_prog_cc_stdc=c11 -fi -fi -if test x$ac_prog_cc_stdc = xno -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 -printf %s "checking for $CC option to enable C99 features... " >&6; } -if test ${ac_cv_prog_cc_c99+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_cv_prog_cc_c99=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_c_conftest_c99_program -_ACEOF -for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_prog_cc_c99=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam - test "x$ac_cv_prog_cc_c99" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC -fi - -if test "x$ac_cv_prog_cc_c99" = xno -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } -else $as_nop - if test "x$ac_cv_prog_cc_c99" = x -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 -printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } - CC="$CC $ac_cv_prog_cc_c99" -fi - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 - ac_prog_cc_stdc=c99 -fi -fi -if test x$ac_prog_cc_stdc = xno -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 -printf %s "checking for $CC option to enable C89 features... " >&6; } -if test ${ac_cv_prog_cc_c89+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_c_conftest_c89_program -_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 conftest.beam - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC -fi - -if test "x$ac_cv_prog_cc_c89" = xno -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } -else $as_nop - if test "x$ac_cv_prog_cc_c89" = x -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } - CC="$CC $ac_cv_prog_cc_c89" -fi - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 - ac_prog_cc_stdc=c89 -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 - - - - - - - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ - 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 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_CXX+y} -then : - printf %s "(cached) " >&6 -else $as_nop - 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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" - printf "%s\n" "$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 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -printf "%s\n" "$CXX" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_ac_ct_CXX+y} -then : - printf %s "(cached) " >&6 -else $as_nop - 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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" - printf "%s\n" "$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 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -printf "%s\n" "$ac_ct_CXX" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$ac_ct_CXX" && break -done - - if test "x$ac_ct_CXX" = x; then - CXX="g++" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CXX=$ac_ct_CXX - fi -fi - - fi -fi -# Provide some information about the compiler. -printf "%s\n" "$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\"" -printf "%s\n" "$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 - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 -printf %s "checking whether the compiler supports GNU C++... " >&6; } -if test ${ac_cv_cxx_compiler_gnu+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO" -then : - ac_compiler_gnu=yes -else $as_nop - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -if test $ac_compiler_gnu = yes; then - GXX=yes -else - GXX= -fi -ac_test_CXXFLAGS=${CXXFLAGS+y} -ac_save_CXXFLAGS=$CXXFLAGS -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -printf %s "checking whether $CXX accepts -g... " >&6; } -if test ${ac_cv_prog_cxx_g+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO" -then : - ac_cv_prog_cxx_g=yes -else $as_nop - CXXFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO" -then : - -else $as_nop - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO" -then : - ac_cv_prog_cxx_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - ac_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } -if test $ac_test_CXXFLAGS; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -ac_prog_cxx_stdcxx=no -if test x$ac_prog_cxx_stdcxx = xno -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 -printf %s "checking for $CXX option to enable C++11 features... " >&6; } -if test ${ac_cv_prog_cxx_11+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_cv_prog_cxx_11=no -ac_save_CXX=$CXX -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_cxx_conftest_cxx11_program -_ACEOF -for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA -do - CXX="$ac_save_CXX $ac_arg" - if ac_fn_cxx_try_compile "$LINENO" -then : - ac_cv_prog_cxx_cxx11=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam - test "x$ac_cv_prog_cxx_cxx11" != "xno" && break -done -rm -f conftest.$ac_ext -CXX=$ac_save_CXX -fi - -if test "x$ac_cv_prog_cxx_cxx11" = xno -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } -else $as_nop - if test "x$ac_cv_prog_cxx_cxx11" = x -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 -printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } - CXX="$CXX $ac_cv_prog_cxx_cxx11" -fi - ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 - ac_prog_cxx_stdcxx=cxx11 -fi -fi -if test x$ac_prog_cxx_stdcxx = xno -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 -printf %s "checking for $CXX option to enable C++98 features... " >&6; } -if test ${ac_cv_prog_cxx_98+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_cv_prog_cxx_98=no -ac_save_CXX=$CXX -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_cxx_conftest_cxx98_program -_ACEOF -for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA -do - CXX="$ac_save_CXX $ac_arg" - if ac_fn_cxx_try_compile "$LINENO" -then : - ac_cv_prog_cxx_cxx98=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam - test "x$ac_cv_prog_cxx_cxx98" != "xno" && break -done -rm -f conftest.$ac_ext -CXX=$ac_save_CXX -fi - -if test "x$ac_cv_prog_cxx_cxx98" = xno -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } -else $as_nop - if test "x$ac_cv_prog_cxx_cxx98" = x -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 -printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } - CXX="$CXX $ac_cv_prog_cxx_cxx98" -fi - ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 - ac_prog_cxx_stdcxx=cxx98 -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 - -ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor - 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 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_FC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$FC"; then - ac_cv_prog_FC="$FC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_FC="$ac_tool_prefix$ac_prog" - printf "%s\n" "$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 -FC=$ac_cv_prog_FC -if test -n "$FC"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 -printf "%s\n" "$FC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$FC" && break - done -fi -if test -z "$FC"; then - ac_ct_FC=$FC - for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_ac_ct_FC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_FC"; then - ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_FC="$ac_prog" - printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC -if test -n "$ac_ct_FC"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 -printf "%s\n" "$ac_ct_FC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$ac_ct_FC" && break -done - - if test "x$ac_ct_FC" = x; then - FC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - FC=$ac_ct_FC - fi -fi - - -# Provide some information about the compiler. -printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" -printf "%s\n" "$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 - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done -rm -f a.out - -# If we don't use `.F' as extension, the preprocessor is not run on the -# input file. (Note that this only needs to work for GNU compilers.) -ac_save_ext=$ac_ext -ac_ext=F -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 -printf %s "checking whether the compiler supports GNU Fortran... " >&6; } -if test ${ac_cv_fc_compiler_gnu+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat > conftest.$ac_ext <<_ACEOF - program main -#ifndef __GNUC__ - choke me -#endif - - end -_ACEOF -if ac_fn_fc_try_compile "$LINENO" -then : - ac_compiler_gnu=yes -else $as_nop - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -ac_cv_fc_compiler_gnu=$ac_compiler_gnu - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 -printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } -ac_compiler_gnu=$ac_cv_fc_compiler_gnu - -ac_ext=$ac_save_ext -ac_test_FCFLAGS=${FCFLAGS+y} -ac_save_FCFLAGS=$FCFLAGS -FCFLAGS= -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 -printf %s "checking whether $FC accepts -g... " >&6; } -if test ${ac_cv_prog_fc_g+y} -then : - printf %s "(cached) " >&6 -else $as_nop - FCFLAGS=-g -cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_fc_try_compile "$LINENO" -then : - ac_cv_prog_fc_g=yes -else $as_nop - ac_cv_prog_fc_g=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 -printf "%s\n" "$ac_cv_prog_fc_g" >&6; } -if test $ac_test_FCFLAGS; then - FCFLAGS=$ac_save_FCFLAGS -elif test $ac_cv_prog_fc_g = yes; then - if test "x$ac_cv_fc_compiler_gnu" = xyes; then - FCFLAGS="-g -O2" - else - FCFLAGS="-g" - fi -else - if test "x$ac_cv_fc_compiler_gnu" = xyes; then - FCFLAGS="-O2" - else - FCFLAGS= - fi -fi - -if test $ac_compiler_gnu = yes; then - GFC=yes -else - GFC= -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 "x$FC" = "x" -then : - as_fn_error $? "No fortran compiler found, please set the FC flag" "$LINENO" 5 -fi - - -ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the Fortran 90 compiler ($FC $FCFLAGS $LDFLAGS) works" >&5 -printf %s "checking whether the Fortran 90 compiler ($FC $FCFLAGS $LDFLAGS) works... " >&6; } -cat > conftest.$ac_ext <<_ACEOF - - - program conftest - integer, dimension(10) :: n - end - - -_ACEOF -if ac_fn_fc_try_link "$LINENO" -then : - - ax_cv_prog_fc_works="yes" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_prog_fc_works" >&5 -printf "%s\n" "$ax_cv_prog_fc_works" >&6; } - -else $as_nop - - ax_cv_prog_fc_works="no" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: installation or configuration problem: Fortran 90 compiler cannot create executables." >&5 -printf "%s\n" "$as_me: WARNING: installation or configuration problem: Fortran 90 compiler cannot create executables." >&2;} - -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -# The intel compiler sometimes generates these work.pc and .pcl files -rm -f work.pc work.pcl -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=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 -printf %s "checking if the fortran compiler supports iso c binding... " >&6; } -cat > conftest.$ac_ext <<_ACEOF - - - program conftest - use ISO_C_BINDING - integer, dimension(10) :: n - end - - -_ACEOF -if ac_fn_fc_try_link "$LINENO" -then : - - FC_ISO_C_BINDINGS="yes" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 -printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } - -else $as_nop - - FC_ISO_C_BINDINGS="no" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 -printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } - -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -# The intel compiler sometimes generates these work.pc and .pcl files -rm -f work.pc work.pcl -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 "$PYTHON"; then - # If the user set $PYTHON, use it and don't search something else. - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version is >= 3.7" >&5 -printf %s "checking whether $PYTHON version is >= 3.7... " >&6; } - prog="import sys -# split strings by '.' and convert to numeric. Append some zeros -# because we need at least 4 digits for the hex conversion. -# map returns an iterator in Python 3.0 and a list in 2.x -minver = list(map(int, '3.7'.split('.'))) + [0, 0, 0] -minverhex = 0 -# xrange is not present in Python 3.0 and range returns an iterator -for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] -sys.exit(sys.hexversion < minverhex)" - if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5 - ($PYTHON -c "$prog") >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - as_fn_error $? "Python interpreter is too old" "$LINENO" 5 -fi - am_display_PYTHON=$PYTHON - else - # Otherwise, try each interpreter until we find one that satisfies - # VERSION. - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 3.7" >&5 -printf %s "checking for a Python interpreter with version >= 3.7... " >&6; } -if test ${am_cv_pathless_PYTHON+y} -then : - printf %s "(cached) " >&6 -else $as_nop - - for am_cv_pathless_PYTHON in python python2 python3 python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do - test "$am_cv_pathless_PYTHON" = none && break - prog="import sys -# split strings by '.' and convert to numeric. Append some zeros -# because we need at least 4 digits for the hex conversion. -# map returns an iterator in Python 3.0 and a list in 2.x -minver = list(map(int, '3.7'.split('.'))) + [0, 0, 0] -minverhex = 0 -# xrange is not present in Python 3.0 and range returns an iterator -for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] -sys.exit(sys.hexversion < minverhex)" - if { echo "$as_me:$LINENO: $am_cv_pathless_PYTHON -c "$prog"" >&5 - ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -then : - break -fi - done -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5 -printf "%s\n" "$am_cv_pathless_PYTHON" >&6; } - # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. - if test "$am_cv_pathless_PYTHON" = none; then - PYTHON=: - else - # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args. -set dummy $am_cv_pathless_PYTHON; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_PYTHON+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $PYTHON in - [\\/]* | ?:[\\/]*) - ac_cv_path_PYTHON="$PYTHON" # 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_PYTHON="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$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 -PYTHON=$ac_cv_path_PYTHON -if test -n "$PYTHON"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 -printf "%s\n" "$PYTHON" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - fi - am_display_PYTHON=$am_cv_pathless_PYTHON - fi - - - if test "$PYTHON" = :; then - as_fn_error $? "no suitable Python interpreter found" "$LINENO" 5 - else - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5 -printf %s "checking for $am_display_PYTHON version... " >&6; } -if test ${am_cv_python_version+y} -then : - printf %s "(cached) " >&6 -else $as_nop - am_cv_python_version=`$PYTHON -c "import sys; print ('%u.%u' % sys.version_info[:2])"` -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 -printf "%s\n" "$am_cv_python_version" >&6; } - PYTHON_VERSION=$am_cv_python_version - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5 -printf %s "checking for $am_display_PYTHON platform... " >&6; } -if test ${am_cv_python_platform+y} -then : - printf %s "(cached) " >&6 -else $as_nop - am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"` -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5 -printf "%s\n" "$am_cv_python_platform" >&6; } - PYTHON_PLATFORM=$am_cv_python_platform - - - if test "x$prefix" = xNONE; then - am__usable_prefix=$ac_default_prefix - else - am__usable_prefix=$prefix - fi - - # Allow user to request using sys.* values from Python, - # instead of the GNU $prefix values. - -# Check whether --with-python-sys-prefix was given. -if test ${with_python_sys_prefix+y} -then : - withval=$with_python_sys_prefix; am_use_python_sys=: -else $as_nop - am_use_python_sys=false -fi - - - # Allow user to override whatever the default Python prefix is. - -# Check whether --with-python_prefix was given. -if test ${with_python_prefix+y} -then : - withval=$with_python_prefix; am_python_prefix_subst=$withval - am_cv_python_prefix=$withval - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for explicit $am_display_PYTHON prefix" >&5 -printf %s "checking for explicit $am_display_PYTHON prefix... " >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_prefix" >&5 -printf "%s\n" "$am_cv_python_prefix" >&6; } -else $as_nop - - if $am_use_python_sys; then - # using python sys.prefix value, not GNU - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python default $am_display_PYTHON prefix" >&5 -printf %s "checking for python default $am_display_PYTHON prefix... " >&6; } -if test ${am_cv_python_prefix+y} -then : - printf %s "(cached) " >&6 -else $as_nop - am_cv_python_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"` -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_prefix" >&5 -printf "%s\n" "$am_cv_python_prefix" >&6; } - - case $am_cv_python_prefix in - $am__usable_prefix*) - am__strip_prefix=`echo "$am__usable_prefix" | sed 's|.|.|g'` - am_python_prefix_subst=`echo "$am_cv_python_prefix" | sed "s,^$am__strip_prefix,\\${prefix},"` - ;; - *) - am_python_prefix_subst=$am_cv_python_prefix - ;; - esac - else # using GNU prefix value, not python sys.prefix - am_python_prefix_subst='${prefix}' - am_python_prefix=$am_python_prefix_subst - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU default $am_display_PYTHON prefix" >&5 -printf %s "checking for GNU default $am_display_PYTHON prefix... " >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_python_prefix" >&5 -printf "%s\n" "$am_python_prefix" >&6; } - fi -fi - - # Substituting python_prefix_subst value. - PYTHON_PREFIX=$am_python_prefix_subst - - - # emacs-page Now do it all over again for Python exec_prefix, but with yet - # another conditional: fall back to regular prefix if that was specified. - -# Check whether --with-python_exec_prefix was given. -if test ${with_python_exec_prefix+y} -then : - withval=$with_python_exec_prefix; am_python_exec_prefix_subst=$withval - am_cv_python_exec_prefix=$withval - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for explicit $am_display_PYTHON exec_prefix" >&5 -printf %s "checking for explicit $am_display_PYTHON exec_prefix... " >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_exec_prefix" >&5 -printf "%s\n" "$am_cv_python_exec_prefix" >&6; } -else $as_nop - - # no explicit --with-python_exec_prefix, but if - # --with-python_prefix was given, use its value for python_exec_prefix too. - if test -n "$with_python_prefix" -then : - am_python_exec_prefix_subst=$with_python_prefix - am_cv_python_exec_prefix=$with_python_prefix - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python_prefix-given $am_display_PYTHON exec_prefix" >&5 -printf %s "checking for python_prefix-given $am_display_PYTHON exec_prefix... " >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_exec_prefix" >&5 -printf "%s\n" "$am_cv_python_exec_prefix" >&6; } -else $as_nop - - # Set am__usable_exec_prefix whether using GNU or Python values, - # since we use that variable for pyexecdir. - if test "x$exec_prefix" = xNONE; then - am__usable_exec_prefix=$am__usable_prefix - else - am__usable_exec_prefix=$exec_prefix - fi - # - if $am_use_python_sys; then # using python sys.exec_prefix, not GNU - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python default $am_display_PYTHON exec_prefix" >&5 -printf %s "checking for python default $am_display_PYTHON exec_prefix... " >&6; } -if test ${am_cv_python_exec_prefix+y} -then : - printf %s "(cached) " >&6 -else $as_nop - am_cv_python_exec_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.exec_prefix)"` -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_exec_prefix" >&5 -printf "%s\n" "$am_cv_python_exec_prefix" >&6; } - case $am_cv_python_exec_prefix in - $am__usable_exec_prefix*) - am__strip_prefix=`echo "$am__usable_exec_prefix" | sed 's|.|.|g'` - am_python_exec_prefix_subst=`echo "$am_cv_python_exec_prefix" | sed "s,^$am__strip_prefix,\\${exec_prefix},"` - ;; - *) - am_python_exec_prefix_subst=$am_cv_python_exec_prefix - ;; - esac - else # using GNU $exec_prefix, not python sys.exec_prefix - am_python_exec_prefix_subst='${exec_prefix}' - am_python_exec_prefix=$am_python_exec_prefix_subst - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU default $am_display_PYTHON exec_prefix" >&5 -printf %s "checking for GNU default $am_display_PYTHON exec_prefix... " >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_python_exec_prefix" >&5 -printf "%s\n" "$am_python_exec_prefix" >&6; } - fi -fi -fi - - # Substituting python_exec_prefix_subst. - PYTHON_EXEC_PREFIX=$am_python_exec_prefix_subst - - - # Factor out some code duplication into this shell variable. - am_python_setup_sysconfig="\ -import sys -# Prefer sysconfig over distutils.sysconfig, for better compatibility -# with python 3.x. See automake bug#10227. -try: - import sysconfig -except ImportError: - can_use_sysconfig = 0 -else: - can_use_sysconfig = 1 -# Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs: -# -try: - from platform import python_implementation - if python_implementation() == 'CPython' and sys.version[:3] == '2.7': - can_use_sysconfig = 0 -except ImportError: - pass" - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory (pythondir)" >&5 -printf %s "checking for $am_display_PYTHON script directory (pythondir)... " >&6; } -if test ${am_cv_python_pythondir+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test "x$am_cv_python_prefix" = x; then - am_py_prefix=$am__usable_prefix - else - am_py_prefix=$am_cv_python_prefix - fi - am_cv_python_pythondir=`$PYTHON -c " -$am_python_setup_sysconfig -if can_use_sysconfig: - sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) -else: - from distutils import sysconfig - sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') -sys.stdout.write(sitedir)"` - # - case $am_cv_python_pythondir in - $am_py_prefix*) - am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` - am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,\\${PYTHON_PREFIX},"` - ;; - *) - case $am_py_prefix in - /usr|/System*) ;; - *) am_cv_python_pythondir="\${PYTHON_PREFIX}/lib/python$PYTHON_VERSION/site-packages" - ;; - esac - ;; - esac - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5 -printf "%s\n" "$am_cv_python_pythondir" >&6; } - pythondir=$am_cv_python_pythondir - - - pkgpythondir=\${pythondir}/$PACKAGE - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory (pyexecdir)" >&5 -printf %s "checking for $am_display_PYTHON extension module directory (pyexecdir)... " >&6; } -if test ${am_cv_python_pyexecdir+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test "x$am_cv_python_exec_prefix" = x; then - am_py_exec_prefix=$am__usable_exec_prefix - else - am_py_exec_prefix=$am_cv_python_exec_prefix - fi - am_cv_python_pyexecdir=`$PYTHON -c " -$am_python_setup_sysconfig -if can_use_sysconfig: - sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_exec_prefix'}) -else: - from distutils import sysconfig - sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_exec_prefix') -sys.stdout.write(sitedir)"` - # - case $am_cv_python_pyexecdir in - $am_py_exec_prefix*) - am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` - am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,\\${PYTHON_EXEC_PREFIX},"` - ;; - *) - case $am_py_exec_prefix in - /usr|/System*) ;; - *) am_cv_python_pyexecdir="\${PYTHON_EXEC_PREFIX}/lib/python$PYTHON_VERSION/site-packages" - ;; - esac - ;; - esac - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5 -printf "%s\n" "$am_cv_python_pyexecdir" >&6; } - pyexecdir=$am_cv_python_pyexecdir - - - pkgpyexecdir=\${pyexecdir}/$PACKAGE - - - - fi - - -# Extract the first word of "$PYTHON", so it can be a program name with args. -set dummy $PYTHON; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_PYTHON+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $PYTHON in - [\\/]* | ?:[\\/]*) - ac_cv_path_PYTHON="$PYTHON" # 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_PYTHON="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$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 -PYTHON=$ac_cv_path_PYTHON -if test -n "$PYTHON"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 -printf "%s\n" "$PYTHON" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - - - - -ac_header= ac_cache= -for ac_item in $ac_header_c_list -do - if test $ac_cache; then - ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" - if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then - printf "%s\n" "#define $ac_item 1" >> confdefs.h - fi - ac_header= ac_cache= - elif test $ac_header; then - ac_cache=$ac_item - else - ac_header=$ac_item - fi -done - - - - - - - - -if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes -then : - -printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h - -fi - - PYTHON_DEV='yes' - - - if test "x$PYTHONCONFIG" = "x" -then : - - PYTHONCONFIG=python-config - for ac_prog in $PYTHONCONFIG -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_PYTHONCONFIG+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $PYTHONCONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_PYTHONCONFIG="$PYTHONCONFIG" # 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_PYTHONCONFIG="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$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 -PYTHONCONFIG=$ac_cv_path_PYTHONCONFIG -if test -n "$PYTHONCONFIG"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHONCONFIG" >&5 -printf "%s\n" "$PYTHONCONFIG" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$PYTHONCONFIG" && break -done -test -n "$PYTHONCONFIG" || PYTHONCONFIG="'no'" - -fi - if test "x$PYTHONCONFIG" = "xno" -then : - PYTHON_DEV='no' -fi - - - - if test "x$CYTHON" = "x" -then : - - CYTHON=cython - for ac_prog in $CYTHON -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_CYTHON+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $CYTHON in - [\\/]* | ?:[\\/]*) - ac_cv_path_CYTHON="$CYTHON" # 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_CYTHON="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$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 -CYTHON=$ac_cv_path_CYTHON -if test -n "$CYTHON"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CYTHON" >&5 -printf "%s\n" "$CYTHON" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$CYTHON" && break -done - -fi - if test "x$PYTHON_DEV" = "xyes" -then : - - if test "x$PYTHONDEV_CFLAGS" = "x" -then : - - PYTHONDEV_CFLAGS=`$PYTHONCONFIG --cflags` - PYTHONDEV_LDFLAGS=`$PYTHONCONFIG --ldflags` - save_CFLAGS="$CFLAGS" - save_CPPFLAGS="$CPPFLAGS" - CFLAGS="$PYTHONDEV_CFLAGS $save_CFLAGS" - CPPFLAGS="$PYTHONDEV_CFLAGS $save_CPPFLAGS" - ac_fn_c_check_header_compile "$LINENO" "Python.h" "ac_cv_header_Python_h" "$ac_includes_default" -if test "x$ac_cv_header_Python_h" = xyes -then : - -else $as_nop - - PYTHON_DEV="no" - PYTHONDEV_CFLAGS='' - PYTHONDEV_LDFLAGS='' - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (Python.h)" >&5 -printf "%s\n" "$as_me: WARNING: Cannot find headers (Python.h)" >&2;} - -fi - - if test "x$PYTHON_DEV" = "xyes" -then : - - - save_LDFLAGS="$LDFLAGS" - save_LIBS="$LIBS" - LIBS=`$PYTHONCONFIG --libs` - LDFLAGS="$PYTHONDEV_LDFLAGS $save_LDFLAGS" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if possible to embed python" >&5 -printf %s "checking if possible to embed python... " >&6; } - if test "$cross_compiling" = yes -then : - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include "Python.h" -int -main (void) -{ - - Py_Initialize(); - PyRun_SimpleString("print 'embedded python',"); - Py_Finalize(); - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } -else $as_nop - PYTHON_DEV="no" - PYTHONDEV_CFLAGS='' - PYTHONDEV_LDFLAGS='' - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - -fi - CFLAGS="$save_CFLAGS" - CPPFLAGS="$save_CPPFLAGS" - -fi - -fi - - - - - - - - - - -have_java=no - -## find java compiler binaries -if test -z "${JAVA_HOME}" ; then - JAVA_PATH=${PATH} -else - ## try jre/bin first just in case we don't have full JDK - JAVA_PATH=${JAVA_HOME}:${JAVA_HOME}/jre/bin:${JAVA_HOME}/bin:${JAVA_HOME}/../bin:${PATH} -fi -## if 'java' is not on the PATH or JAVA_HOME, add some guesses as of -## where java could live -JAVA_PATH=${JAVA_PATH}:/usr/java/bin:/usr/jdk/bin:/usr/lib/java/bin:/usr/lib/jdk/bin:/usr/local/java/bin:/usr/local/jdk/bin:/usr/local/lib/java/bin:/usr/local/lib/jdk/bin -for ac_prog in java -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_JAVA+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $JAVA in - [\\/]* | ?:[\\/]*) - ac_cv_path_JAVA="$JAVA" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in ${JAVA_PATH} -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_JAVA="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$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 -JAVA=$ac_cv_path_JAVA -if test -n "$JAVA"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAVA" >&5 -printf "%s\n" "$JAVA" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$JAVA" && break -done - -## FIXME: we may want to check for jikes, kaffe and others... -## (however, most of them have compatibility wrappers by now) -for ac_prog in javac -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_JAVAC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $JAVAC in - [\\/]* | ?:[\\/]*) - ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in ${JAVA_PATH} -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_JAVAC="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$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 -JAVAC=$ac_cv_path_JAVAC -if test -n "$JAVAC"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5 -printf "%s\n" "$JAVAC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$JAVAC" && break -done - -for ac_prog in jar -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_JAR+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $JAR in - [\\/]* | ?:[\\/]*) - ac_cv_path_JAR="$JAR" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in ${JAVA_PATH} -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_JAR="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$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 -JAR=$ac_cv_path_JAR -if test -n "$JAR"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAR" >&5 -printf "%s\n" "$JAR" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$JAR" && break -done - - -## we don't require a compiler, but it would be useful -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether Java compiler works" >&5 -printf %s "checking whether Java compiler works... " >&6; } -if test ${r_cv_javac_works+y} -then : - printf %s "(cached) " >&6 -else $as_nop - r_cv_javac_works=no -if test -n "${JAVAC}"; then - rm -f A.java A.class - echo "public class A { }" > A.java - if "${JAVAC}" A.java 2>&5; then - if test -f A.class; then - r_cv_javac_works=yes - fi - fi - rm -rf A.java A.class -fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $r_cv_javac_works" >&5 -printf "%s\n" "$r_cv_javac_works" >&6; } - -## this is where our test-class lives (in the AMUSE support dir) -getsp_cp=support - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether Java interpreter works" >&5 -printf %s "checking whether Java interpreter works... " >&6; } -if test ${r_cv_java_works+y} -then : - printf %s "(cached) " >&6 -else $as_nop - r_cv_java_works=no -if test -n "${JAVA}" ; then - - acx_java_result= - if test -z "${JAVA}"; then - echo "$as_me:$LINENO: JAVA is not set, cannot run java -classpath ${getsp_cp} getsp -test" >&5 - else - echo "$as_me:$LINENO: running ${JAVA} -classpath ${getsp_cp} getsp -test" >&5 - acx_java_result=`${JAVA} -classpath ${getsp_cp} getsp -test 2>&5` - echo "$as_me:$LINENO: output: '$acx_java_result'" >&5 - fi - acx_jc_result=$acx_java_result - - if test "${acx_jc_result}" = "Test1234OK"; then - r_cv_java_works=yes - fi - acx_jc_result= -fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $r_cv_java_works" >&5 -printf "%s\n" "$r_cv_java_works" >&6; } - - -if test ${r_cv_java_works} = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Java environment" >&5 -printf %s "checking Java environment... " >&6; } -if test ${r_cv_java_home+y} -then : - printf %s "(cached) " >&6 -else $as_nop - - ## find JAVA_HOME from Java itself unless specified - if test -z "${JAVA_HOME}" ; then - - acx_java_result= - if test -z "${JAVA}"; then - echo "$as_me:$LINENO: JAVA is not set, cannot run java -classpath ${getsp_cp} getsp java.home" >&5 - else - echo "$as_me:$LINENO: running ${JAVA} -classpath ${getsp_cp} getsp java.home" >&5 - acx_java_result=`${JAVA} -classpath ${getsp_cp} getsp java.home 2>&5` - echo "$as_me:$LINENO: output: '$acx_java_result'" >&5 - fi - JAVA_HOME=$acx_java_result - - fi - r_cv_java_home="${JAVA_HOME}" - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $r_cv_java_home" >&5 -printf "%s\n" "$r_cv_java_home" >&6; } - JAVA_HOME="${r_cv_java_home}" - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Java version" >&5 -printf %s "checking Java version... " >&6; } -if test ${r_cv_java_version+y} -then : - printf %s "(cached) " >&6 -else $as_nop - - ## Detect the java version - - acx_java_result= - if test -z "${JAVA}"; then - echo "$as_me:$LINENO: JAVA is not set, cannot run java -classpath ${getsp_cp} getsp java.specification.version" >&5 - else - echo "$as_me:$LINENO: running ${JAVA} -classpath ${getsp_cp} getsp java.specification.version" >&5 - acx_java_result=`${JAVA} -classpath ${getsp_cp} getsp java.specification.version 2>&5` - echo "$as_me:$LINENO: output: '$acx_java_result'" >&5 - fi - r_cv_java_version=$acx_java_result - - - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $r_cv_java_version" >&5 -printf "%s\n" "$r_cv_java_version" >&6; } - JAVA_VERSION="${r_cv_java_version}" - - have_java="yes" -else ## not r_cv_java_works - have_java="no" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Java not found, Java codes disabled" >&5 -printf "%s\n" "$as_me: WARNING: Java not found, Java codes disabled" >&2;} -fi - -## AC_SUBST(JAVA_HOME) # not needed? is precious now - - - - - - - - - - - -for ac_prog in $MPIEXEC mpiexec mpirun -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_MPIEXEC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $MPIEXEC in - [\\/]* | ?:[\\/]*) - ac_cv_path_MPIEXEC="$MPIEXEC" # 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_MPIEXEC="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$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 -MPIEXEC=$ac_cv_path_MPIEXEC -if test -n "$MPIEXEC"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIEXEC" >&5 -printf "%s\n" "$MPIEXEC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$MPIEXEC" && break -done - - - -# Check whether --enable-mpi was given. -if test ${enable_mpi+y} -then : - enableval=$enable_mpi; WITH_MPI=no - if test "x$enable_mpi" != "xno" -then : - - - - - - - for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_MPICC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$MPICC"; then - ac_cv_prog_MPICC="$MPICC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_MPICC="$ac_prog" - printf "%s\n" "$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 -MPICC=$ac_cv_prog_MPICC -if test -n "$MPICC"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 -printf "%s\n" "$MPICC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$MPICC" && break -done -test -n "$MPICC" || MPICC="$CC" - - ax_mpi_save_CC="$CC" - CC="$MPICC" - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 -printf %s "checking checking MPI C flags... " >&6; } - ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" - ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" - if test "x$ax_mpi_c_flags" = "x" -then : - - ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" - ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" - if test "x$ax_mpi_c_flags" = "x" -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 -printf "%s\n" "could not determine c flags from show functions" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 -printf "%s\n" "flags found" >&6; } -fi - - -else $as_nop - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 -printf "%s\n" "flags found" >&6; } -fi - MPI_CFLAGS="$ax_mpi_c_flags" - MPI_CLIBS="$ax_mpi_c_libs" - - - - - -if test x = x"$MPILIBS"; then - ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" -if test "x$ac_cv_func_MPI_Init" = xyes -then : - MPILIBS=" " -fi - -fi - -if test x = x"$MPILIBS"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 -printf %s "checking for MPI_Init in -lmpi... " >&6; } -if test ${ac_cv_lib_mpi_MPI_Init+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpi $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. */ -char MPI_Init (); -int -main (void) -{ -return MPI_Init (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_mpi_MPI_Init=yes -else $as_nop - ac_cv_lib_mpi_MPI_Init=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 -printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpi_MPI_Init" = xyes -then : - MPILIBS="-lmpi" -fi - -fi -if test x = x"$MPILIBS"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 -printf %s "checking for MPI_Init in -lmpich... " >&6; } -if test ${ac_cv_lib_mpich_MPI_Init+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpich $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. */ -char MPI_Init (); -int -main (void) -{ -return MPI_Init (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_mpich_MPI_Init=yes -else $as_nop - ac_cv_lib_mpich_MPI_Init=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 -printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpich_MPI_Init" = xyes -then : - MPILIBS="-lmpich" -fi - -fi - -if test x != x"$MPILIBS"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 -printf %s "checking for mpi.h... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } -else $as_nop - MPILIBS="" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -CC="$ax_mpi_save_CC" - - - -# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x = x"$MPILIBS"; then - as_fn_error $? "MPI enabled, but no MPI found" "$LINENO" 5 - : -else - WITH_MPI=yes - : -fi - - -fi - -else $as_nop - - - - - - for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_MPICC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$MPICC"; then - ac_cv_prog_MPICC="$MPICC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_MPICC="$ac_prog" - printf "%s\n" "$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 -MPICC=$ac_cv_prog_MPICC -if test -n "$MPICC"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 -printf "%s\n" "$MPICC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$MPICC" && break -done -test -n "$MPICC" || MPICC="$CC" - - ax_mpi_save_CC="$CC" - CC="$MPICC" - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 -printf %s "checking checking MPI C flags... " >&6; } - ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" - ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" - if test "x$ax_mpi_c_flags" = "x" -then : - - ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" - ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" - if test "x$ax_mpi_c_flags" = "x" -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 -printf "%s\n" "could not determine c flags from show functions" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 -printf "%s\n" "flags found" >&6; } -fi - - -else $as_nop - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 -printf "%s\n" "flags found" >&6; } -fi - MPI_CFLAGS="$ax_mpi_c_flags" - MPI_CLIBS="$ax_mpi_c_libs" - - - - - -if test x = x"$MPILIBS"; then - ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" -if test "x$ac_cv_func_MPI_Init" = xyes -then : - MPILIBS=" " -fi - -fi - -if test x = x"$MPILIBS"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 -printf %s "checking for MPI_Init in -lmpi... " >&6; } -if test ${ac_cv_lib_mpi_MPI_Init+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpi $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. */ -char MPI_Init (); -int -main (void) -{ -return MPI_Init (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_mpi_MPI_Init=yes -else $as_nop - ac_cv_lib_mpi_MPI_Init=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 -printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpi_MPI_Init" = xyes -then : - MPILIBS="-lmpi" -fi - -fi -if test x = x"$MPILIBS"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 -printf %s "checking for MPI_Init in -lmpich... " >&6; } -if test ${ac_cv_lib_mpich_MPI_Init+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpich $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. */ -char MPI_Init (); -int -main (void) -{ -return MPI_Init (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_mpich_MPI_Init=yes -else $as_nop - ac_cv_lib_mpich_MPI_Init=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 -printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpich_MPI_Init" = xyes -then : - MPILIBS="-lmpich" -fi - -fi - -if test x != x"$MPILIBS"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 -printf %s "checking for mpi.h... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } -else $as_nop - MPILIBS="" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -CC="$ax_mpi_save_CC" - - - -# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x = x"$MPILIBS"; then - WITH_MPI=no - : -else - WITH_MPI=yes - : -fi - - -fi - - - - - -if test x"$WITH_MPI" != xno -then : - - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - - - - - - for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_MPICXX+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$MPICXX"; then - ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_MPICXX="$ac_prog" - printf "%s\n" "$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 -MPICXX=$ac_cv_prog_MPICXX -if test -n "$MPICXX"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 -printf "%s\n" "$MPICXX" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$MPICXX" && break -done -test -n "$MPICXX" || MPICXX="$CXX" - - ax_mpi_save_CXX="$CXX" - CXX="$MPICXX" - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 -printf %s "checking checking MPI C++ flags... " >&6; } - ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" - ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" - if test "x$ax_mpi_cc_flags" = "x" -then : - - ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" - ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" - if test "x$ax_mpi_cc_flags" = "x" -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 -printf "%s\n" "could not determine C++ flags from show functions" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 -printf "%s\n" "flags found" >&6; } -fi - - -else $as_nop - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 -printf "%s\n" "flags found" >&6; } -fi - MPI_CXXFLAGS="$ax_mpi_cc_flags" - MPI_CXXLIBS="$ax_mpi_cc_libs" - - - - - -if test x = x"$MPILIBS"; then - ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" -if test "x$ac_cv_func_MPI_Init" = xyes -then : - MPILIBS=" " -fi - -fi - -if test x = x"$MPILIBS"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 -printf %s "checking for MPI_Init in -lmpi... " >&6; } -if test ${ac_cv_lib_mpi_MPI_Init+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpi $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -namespace conftest { - extern "C" int MPI_Init (); -} -int -main (void) -{ -return conftest::MPI_Init (); - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO" -then : - ac_cv_lib_mpi_MPI_Init=yes -else $as_nop - ac_cv_lib_mpi_MPI_Init=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 -printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpi_MPI_Init" = xyes -then : - MPILIBS="-lmpi" -fi - -fi -if test x = x"$MPILIBS"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 -printf %s "checking for MPI_Init in -lmpich... " >&6; } -if test ${ac_cv_lib_mpich_MPI_Init+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpich $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -namespace conftest { - extern "C" int MPI_Init (); -} -int -main (void) -{ -return conftest::MPI_Init (); - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO" -then : - ac_cv_lib_mpich_MPI_Init=yes -else $as_nop - ac_cv_lib_mpich_MPI_Init=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 -printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpich_MPI_Init" = xyes -then : - MPILIBS="-lmpich" -fi - -fi - -if test x != x"$MPILIBS"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 -printf %s "checking for mpi.h... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO" -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } -else $as_nop - MPILIBS="" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -CXX="$ax_mpi_save_CXX" - - - -# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x = x"$MPILIBS"; then - - : -else - -printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h - - : -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 - - - - - - - for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_MPICC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$MPICC"; then - ac_cv_prog_MPICC="$MPICC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_MPICC="$ac_prog" - printf "%s\n" "$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 -MPICC=$ac_cv_prog_MPICC -if test -n "$MPICC"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 -printf "%s\n" "$MPICC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$MPICC" && break -done -test -n "$MPICC" || MPICC="$CC" - - ax_mpi_save_CC="$CC" - CC="$MPICC" - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 -printf %s "checking checking MPI C flags... " >&6; } - ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" - ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" - if test "x$ax_mpi_c_flags" = "x" -then : - - ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" - ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" - if test "x$ax_mpi_c_flags" = "x" -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 -printf "%s\n" "could not determine c flags from show functions" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 -printf "%s\n" "flags found" >&6; } -fi - - -else $as_nop - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 -printf "%s\n" "flags found" >&6; } -fi - MPI_CFLAGS="$ax_mpi_c_flags" - MPI_CLIBS="$ax_mpi_c_libs" - - - - - -if test x = x"$MPILIBS"; then - ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" -if test "x$ac_cv_func_MPI_Init" = xyes -then : - MPILIBS=" " -fi - -fi - -if test x = x"$MPILIBS"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 -printf %s "checking for MPI_Init in -lmpi... " >&6; } -if test ${ac_cv_lib_mpi_MPI_Init+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpi $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. */ -char MPI_Init (); -int -main (void) -{ -return MPI_Init (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_mpi_MPI_Init=yes -else $as_nop - ac_cv_lib_mpi_MPI_Init=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 -printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpi_MPI_Init" = xyes -then : - MPILIBS="-lmpi" -fi - -fi -if test x = x"$MPILIBS"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 -printf %s "checking for MPI_Init in -lmpich... " >&6; } -if test ${ac_cv_lib_mpich_MPI_Init+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpich $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. */ -char MPI_Init (); -int -main (void) -{ -return MPI_Init (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_mpich_MPI_Init=yes -else $as_nop - ac_cv_lib_mpich_MPI_Init=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 -printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpich_MPI_Init" = xyes -then : - MPILIBS="-lmpich" -fi - -fi - -if test x != x"$MPILIBS"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 -printf %s "checking for mpi.h... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } -else $as_nop - MPILIBS="" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -CC="$ax_mpi_save_CC" - - - -# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x = x"$MPILIBS"; then - - : -else - -printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h - - : -fi - - ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu - - - - - - - for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_MPIFC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$MPIFC"; then - ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_MPIFC="$ac_prog" - printf "%s\n" "$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 -MPIFC=$ac_cv_prog_MPIFC -if test -n "$MPIFC"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 -printf "%s\n" "$MPIFC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$MPIFC" && break -done -test -n "$MPIFC" || MPIFC="$FC" - - ax_mpi_save_FC="$FC" - FC="$MPIFC" - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 -printf %s "checking checking MPI Fortran flags... " >&6; } - ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" - ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" - if test "x$ax_mpi_fc_flags" = "x" -then : - - ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" - ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" - if test "x$ax_mpi_fc_flags" = "x" -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 -printf "%s\n" "could not determine c flags from show functions" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 -printf "%s\n" "flags found" >&6; } -fi - - -else $as_nop - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 -printf "%s\n" "flags found" >&6; } -fi - MPI_FCFLAGS="$ax_mpi_fc_flags" - MPI_FCLIBS="$ax_mpi_fc_libs" - - - - -if test x = x"$MPILIBS"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 -printf %s "checking for MPI_Init... " >&6; } - cat > conftest.$ac_ext <<_ACEOF - program main - call MPI_Init - end -_ACEOF -if ac_fn_fc_try_link "$LINENO" -then : - MPILIBS=" " - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -fi - - if test x = x"$MPILIBS"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 -printf %s "checking for MPI_Init in -lfmpi... " >&6; } -if test ${ac_cv_lib_fmpi_MPI_Init+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lfmpi $LIBS" -cat > conftest.$ac_ext <<_ACEOF - program main - call MPI_Init - end -_ACEOF -if ac_fn_fc_try_link "$LINENO" -then : - ac_cv_lib_fmpi_MPI_Init=yes -else $as_nop - ac_cv_lib_fmpi_MPI_Init=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 -printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } -if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes -then : - MPILIBS="-lfmpi" -fi - - fi - if test x = x"$MPILIBS"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 -printf %s "checking for MPI_Init in -lmpichf90... " >&6; } -if test ${ac_cv_lib_mpichf90_MPI_Init+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpichf90 $LIBS" -cat > conftest.$ac_ext <<_ACEOF - program main - call MPI_Init - end -_ACEOF -if ac_fn_fc_try_link "$LINENO" -then : - ac_cv_lib_mpichf90_MPI_Init=yes -else $as_nop - ac_cv_lib_mpichf90_MPI_Init=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 -printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes -then : - MPILIBS="-lmpichf90" -fi - - fi - - -if test x = x"$MPILIBS"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 -printf %s "checking for MPI_Init in -lmpi... " >&6; } -if test ${ac_cv_lib_mpi_MPI_Init+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpi $LIBS" -cat > conftest.$ac_ext <<_ACEOF - program main - call MPI_Init - end -_ACEOF -if ac_fn_fc_try_link "$LINENO" -then : - ac_cv_lib_mpi_MPI_Init=yes -else $as_nop - ac_cv_lib_mpi_MPI_Init=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 -printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpi_MPI_Init" = xyes -then : - MPILIBS="-lmpi" -fi - -fi -if test x = x"$MPILIBS"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 -printf %s "checking for MPI_Init in -lmpich... " >&6; } -if test ${ac_cv_lib_mpich_MPI_Init+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpich $LIBS" -cat > conftest.$ac_ext <<_ACEOF - program main - call MPI_Init - end -_ACEOF -if ac_fn_fc_try_link "$LINENO" -then : - ac_cv_lib_mpich_MPI_Init=yes -else $as_nop - ac_cv_lib_mpich_MPI_Init=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 -printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpich_MPI_Init" = xyes -then : - MPILIBS="-lmpich" -fi - -fi - -if test x != x"$MPILIBS"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 -printf %s "checking for mpif.h... " >&6; } - cat > conftest.$ac_ext <<_ACEOF - program main - include 'mpif.h' - end -_ACEOF -if ac_fn_fc_try_compile "$LINENO" -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } -else $as_nop - MPILIBS="" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -FC="$ax_mpi_save_FC" - - - -# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x = x"$MPILIBS"; then - - : -else - -printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h - - : -fi - - -else $as_nop - - MPICC="$CC" - MPICXX="$CXX" - MPIFC="$FC" - - CFLAGS="$CFLAGS -DNOMPI" - CXXFLAGS="$CXXFLAGS -DNOMPI" - FCFLAGS="$FCFLAGS -DNOMPI" - - - - - - -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 - - -# Check whether --enable-openmp was given. -if test ${enable_openmp+y} -then : - enableval=$enable_openmp; - HAVE_OPENMP="no" - OPENMP_CFLAGS="" - OPENMP_FCFLAGS="" - if test "x$enable_openmp" != "xno" -then : - - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OpenMP flag of C compiler" >&5 -printf %s "checking for OpenMP flag of C compiler... " >&6; } -if test ${ax_cv_c_openmp+y} -then : - printf %s "(cached) " >&6 -else $as_nop - saveCFLAGS=$CFLAGS -ax_cv_c_openmp=unknown -# Flags to try: -fopenmp (gcc), -openmp (icc), -mp (SGI & PGI), -# -xopenmp (Sun), -omp (Tru64), -qsmp=omp (AIX), none -ax_openmp_flags="-fopenmp -openmp -mp -xopenmp -omp -qsmp=omp none" -if test "x$OPENMP_CFLAGS" != x; then - ax_openmp_flags="$OPENMP_CFLAGS $ax_openmp_flags" -fi -for ax_openmp_flag in $ax_openmp_flags; do - case $ax_openmp_flag in - none) CFLAGS=$saveC ;; - *) CFLAGS="$saveCFLAGS $ax_openmp_flag" ;; - esac - 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. */ -char omp_set_num_threads (); -int -main (void) -{ -return omp_set_num_threads (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ax_cv_c_openmp=$ax_openmp_flag; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -done -CFLAGS=$saveCFLAGS - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_openmp" >&5 -printf "%s\n" "$ax_cv_c_openmp" >&6; } -if test "x$ax_cv_c_openmp" = "xunknown"; then - HAVE_OPENMP="no" - -else - if test "x$ax_cv_c_openmp" != "xnone"; then - OPENMP_CFLAGS=$ax_cv_c_openmp - fi - HAVE_OPENMP="yes" - -fi - - ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu - - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OpenMP flag of Fortran compiler" >&5 -printf %s "checking for OpenMP flag of Fortran compiler... " >&6; } -if test ${ax_cv_fc_openmp+y} -then : - printf %s "(cached) " >&6 -else $as_nop - saveFCFLAGS=$FCFLAGS -ax_cv_fc_openmp=unknown -# Flags to try: -fopenmp (gcc), -openmp (icc), -mp (SGI & PGI), -# -xopenmp (Sun), -omp (Tru64), -qsmp=omp (AIX), none -ax_openmp_flags="-fopenmp -openmp -mp -xopenmp -omp -qsmp=omp none" -if test "x$OPENMP_FCFLAGS" != x; then - ax_openmp_flags="$OPENMP_FCFLAGS $ax_openmp_flags" -fi -for ax_openmp_flag in $ax_openmp_flags; do - case $ax_openmp_flag in - none) FCFLAGS=$saveFC ;; - *) FCFLAGS="$saveFCFLAGS $ax_openmp_flag" ;; - esac - cat > conftest.$ac_ext <<_ACEOF - program main - call omp_set_num_threads - end -_ACEOF -if ac_fn_fc_try_link "$LINENO" -then : - ax_cv_fc_openmp=$ax_openmp_flag; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -done -FCFLAGS=$saveFCFLAGS - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_openmp" >&5 -printf "%s\n" "$ax_cv_fc_openmp" >&6; } -if test "x$ax_cv_fc_openmp" = "xunknown"; then - : -else - if test "x$ax_cv_fc_openmp" != "xnone"; then - OPENMP_FCFLAGS=$ax_cv_fc_openmp - fi - -printf "%s\n" "#define HAVE_OPENMP 1" >>confdefs.h - -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 - - -fi - -else $as_nop - - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OpenMP flag of C compiler" >&5 -printf %s "checking for OpenMP flag of C compiler... " >&6; } -if test ${ax_cv_c_openmp+y} -then : - printf %s "(cached) " >&6 -else $as_nop - saveCFLAGS=$CFLAGS -ax_cv_c_openmp=unknown -# Flags to try: -fopenmp (gcc), -openmp (icc), -mp (SGI & PGI), -# -xopenmp (Sun), -omp (Tru64), -qsmp=omp (AIX), none -ax_openmp_flags="-fopenmp -openmp -mp -xopenmp -omp -qsmp=omp none" -if test "x$OPENMP_CFLAGS" != x; then - ax_openmp_flags="$OPENMP_CFLAGS $ax_openmp_flags" -fi -for ax_openmp_flag in $ax_openmp_flags; do - case $ax_openmp_flag in - none) CFLAGS=$saveC ;; - *) CFLAGS="$saveCFLAGS $ax_openmp_flag" ;; - esac - 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. */ -char omp_set_num_threads (); -int -main (void) -{ -return omp_set_num_threads (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ax_cv_c_openmp=$ax_openmp_flag; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -done -CFLAGS=$saveCFLAGS - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_openmp" >&5 -printf "%s\n" "$ax_cv_c_openmp" >&6; } -if test "x$ax_cv_c_openmp" = "xunknown"; then - HAVE_OPENMP="no" - -else - if test "x$ax_cv_c_openmp" != "xnone"; then - OPENMP_CFLAGS=$ax_cv_c_openmp - fi - HAVE_OPENMP="yes" - -fi - - ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu - - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OpenMP flag of Fortran compiler" >&5 -printf %s "checking for OpenMP flag of Fortran compiler... " >&6; } -if test ${ax_cv_fc_openmp+y} -then : - printf %s "(cached) " >&6 -else $as_nop - saveFCFLAGS=$FCFLAGS -ax_cv_fc_openmp=unknown -# Flags to try: -fopenmp (gcc), -openmp (icc), -mp (SGI & PGI), -# -xopenmp (Sun), -omp (Tru64), -qsmp=omp (AIX), none -ax_openmp_flags="-fopenmp -openmp -mp -xopenmp -omp -qsmp=omp none" -if test "x$OPENMP_FCFLAGS" != x; then - ax_openmp_flags="$OPENMP_FCFLAGS $ax_openmp_flags" -fi -for ax_openmp_flag in $ax_openmp_flags; do - case $ax_openmp_flag in - none) FCFLAGS=$saveFC ;; - *) FCFLAGS="$saveFCFLAGS $ax_openmp_flag" ;; - esac - cat > conftest.$ac_ext <<_ACEOF - program main - call omp_set_num_threads - end -_ACEOF -if ac_fn_fc_try_link "$LINENO" -then : - ax_cv_fc_openmp=$ax_openmp_flag; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -done -FCFLAGS=$saveFCFLAGS - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_openmp" >&5 -printf "%s\n" "$ax_cv_fc_openmp" >&6; } -if test "x$ax_cv_fc_openmp" = "xunknown"; then - : -else - if test "x$ax_cv_fc_openmp" != "xnone"; then - OPENMP_FCFLAGS=$ax_cv_fc_openmp - fi - -printf "%s\n" "#define HAVE_OPENMP 1" >>confdefs.h - -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 - - - -fi - - -ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu - - - GFORTRAN_VERSION="" - -if test "x$GCC" = "xyes"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gfortran accepts -dumpversion option" >&5 -printf %s "checking if gfortran accepts -dumpversion option... " >&6; } - if { ac_try='$FC -dumpversion' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } >/dev/null 2>&1; then - ax_gcc_version_option=yes - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } - else - ax_gcc_version_option=no - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - fi -else - unset ax_gcc_version_option - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: sorry, no gcc available" >&5 -printf "%s\n" "sorry, no gcc available" >&6; } -fi - - if test "x$GCC" = "xyes" -then : - - - if test "x$ax_gcc_version_option" != "xno" -then : - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking gfortran version" >&5 -printf %s "checking gfortran version... " >&6; } - ax_cv_gcc_version="`$FC -v 2>&1 | grep gcc\ version | cut -d\ -f3`" - if test "x$ax_cv_gcc_version" = "x" -then : - - ax_cv_gcc_version="" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine version" >&5 -printf "%s\n" "could not determine version" >&6; } - -else $as_nop - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_version" >&5 -printf "%s\n" "$ax_cv_gcc_version" >&6; } -fi - - GFORTRAN_VERSION=$ax_cv_gcc_version - -fi - -fi - - - - IFORT_VERSION="" - - if test "x$FC" = "xifort" -then : - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking ifort version" >&5 -printf %s "checking ifort version... " >&6; } - ax_cv_ifort_version="`$FC -v 2>&1 | grep Version | cut -d\ -f2`" - if test "x$ax_cv_ifort_version" = "x" -then : - - ax_cv_ifort_version="" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine version" >&5 -printf "%s\n" "could not determine version" >&6; } - -else $as_nop - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_ifort_version" >&5 -printf "%s\n" "$ax_cv_ifort_version" >&6; } -fi - - IFORT_VERSION=$ax_cv_ifort_version - -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 - - - - # Check whether --enable-cuda was given. -if test ${enable_cuda+y} -then : - enableval=$enable_cuda; WITH_CUDA=no - if test "x$enable_cuda" != "xno" -then : - - WITH_CUDA=yes - -fi - -else $as_nop - WITH_CUDA=no - CUDA_TK=/NOCUDACONFIGURED - CUDA_LIBS="-L$CUDA_TK cuda cudart" - - -fi - - -# Check whether --with-cuda-libdir was given. -if test ${with_cuda_libdir+y} -then : - withval=$with_cuda_libdir; cuda_libdir="$withval" -else $as_nop - cuda_libdir="no" -fi - - - - - if test x"$WITH_CUDA" != xno -then : - - WITH_CUDA=yes - # Extract the first word of "nvcc", so it can be a program name with args. -set dummy nvcc; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_NVCC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $NVCC in - [\\/]* | ?:[\\/]*) - ac_cv_path_NVCC="$NVCC" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_dummy="$CUDA_TK/bin:$PATH:/usr/local/cuda/cuda/bin:/usr/local/cuda/bin:/opt/cuda/cuda/bin:/opt/cuda/bin - " -for as_dir in $as_dummy -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_NVCC="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$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_NVCC" && ac_cv_path_NVCC="no" - ;; -esac -fi -NVCC=$ac_cv_path_NVCC -if test -n "$NVCC"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NVCC" >&5 -printf "%s\n" "$NVCC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - - - if test x"$CUDA_TK" = x -then : - - - if test x"$NVCC" = xno -then : - as_fn_error $? "CUDA_TK path is not set, and could not find nvcc in path, please set CUDA_TK variable" "$LINENO" 5 - -fi - - CUDA_TK_BIN=`$as_dirname -- "$NVCC" || -$as_expr X"$NVCC" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$NVCC" : 'X\(//\)[^/]' \| \ - X"$NVCC" : 'X\(//\)$' \| \ - X"$NVCC" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X"$NVCC" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - CUDA_TK=`$as_dirname -- "$CUDA_TK_BIN" || -$as_expr X"$CUDA_TK_BIN" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$CUDA_TK_BIN" : 'X\(//\)[^/]' \| \ - X"$CUDA_TK_BIN" : 'X\(//\)$' \| \ - X"$CUDA_TK_BIN" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X"$CUDA_TK_BIN" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - - -fi - - - as_ac_File=`printf "%s\n" "ac_cv_file_$CUDA_TK/lib" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CUDA_TK/lib" >&5 -printf %s "checking for $CUDA_TK/lib... " >&6; } -if eval test \${$as_ac_File+y} -then : - printf %s "(cached) " >&6 -else $as_nop - test "$cross_compiling" = yes && - as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 -if test -r "$CUDA_TK/lib"; then - eval "$as_ac_File=yes" -else - eval "$as_ac_File=no" -fi -fi -eval ac_res=\$$as_ac_File - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_File"\" = x"yes" -then : - -else $as_nop - as_ac_File=`printf "%s\n" "ac_cv_file_$CUDA_TK/lib64" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CUDA_TK/lib64" >&5 -printf %s "checking for $CUDA_TK/lib64... " >&6; } -if eval test \${$as_ac_File+y} -then : - printf %s "(cached) " >&6 -else $as_nop - test "$cross_compiling" = yes && - as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 -if test -r "$CUDA_TK/lib64"; then - eval "$as_ac_File=yes" -else - eval "$as_ac_File=no" -fi -fi -eval ac_res=\$$as_ac_File - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_File"\" = x"yes" -then : - -else $as_nop - as_fn_error $? "cuda toolkit path is incorrect, must have $CUDA_TK/lib or $CUDA_TK/lib64 directory" "$LINENO" 5 -fi - -fi - - - - - - save_LIBS="$LIBS" - CUDART_LIBS='' - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking directories for -lcudart" >&5 -printf %s "checking directories for -lcudart... " >&6; } - # - # A lot of this is taken from AC_CHECK_LIB. Note that we always check - # the "no directory" case first. - # - ac_lib_var=`echo cudart'_'main | tr './+\055' '__p_'` - ac_save_LIBS="$LIBS" - if eval test \${ac_cv_lib_$ac_lib_var+y} -then : - printf %s "(cached) " >&6 -else $as_nop - for dir in "" $CUDA_TK/lib64 $CUDA_TK/lib - do - ac_cache_save_LIBS="$LIBS" - if test "X$dir" = "X"; then - LIBS="$LIBS -lcudart " - else - LIBS="$LIBS -L$dir -lcudart " - fi - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -ifelse(main, main, , # Avoid conflicting decl of main. - /* Override any gcc2 internal prototype to avoid an error. */ - - /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ - char main(); - ) -int -main (void) -{ -main() - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - if test "X$dir" = "X"; then - eval "ac_cv_lib_$ac_lib_var=yes" - else - eval "ac_cv_lib_$ac_lib_var=$dir" - fi - break -else $as_nop - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$ac_cache_save_LIBS" - done - -fi -# - LIBS="$ac_save_LIBS" - if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" != no"; then - eval "dir=\"`echo '$ac_cv_lib_'$ac_lib_var`\"" - if test "$dir" = "yes"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 -printf "%s\n" "found" >&6; } - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found in $dir" >&5 -printf "%s\n" "found in $dir" >&6; } - fi - if test "$dir" = "yes"; then - LIBS="$LIBS -lcudart" - else - LIBS="$LIBS -L$dir -lcudart" - fi - CUDART_LIBS=$LIBS - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -printf "%s\n" "not found" >&6; } - as_fn_error $? "cannot find cuda runtime libraries in $CUDA_TK/lib $CUDA_TK/lib64" "$LINENO" 5 - - fi - - LIBS="$save_LIBS" - - save_LIBS="$LIBS" - CUDA_PATH= - CUDA_LIBS='' - if test x"$cuda_libdir" != xno -then : - - CUDA_LIBS="-L$cuda_libdir -lcuda $CUDART_LIBS" - -else $as_nop - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking directories for -lcuda" >&5 -printf %s "checking directories for -lcuda... " >&6; } - # - # A lot of this is taken from AC_CHECK_LIB. Note that we always check - # the "no directory" case first. - # - ac_lib_var=`echo cuda'_'main | tr './+\055' '__p_'` - ac_save_LIBS="$LIBS" - if eval test \${ac_cv_lib_$ac_lib_var+y} -then : - printf %s "(cached) " >&6 -else $as_nop - for dir in "" $CUDA_TK/lib64 $CUDA_TK/lib /usr/lib64 /usr/lib /usr/lib64/nvidia /usr/lib/nvidia /usr/lib/nvidia-current /usr/lib64/nvidia-current - do - ac_cache_save_LIBS="$LIBS" - if test "X$dir" = "X"; then - LIBS="$LIBS -lcuda " - else - LIBS="$LIBS -L$dir -lcuda " - fi - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -ifelse(main, main, , # Avoid conflicting decl of main. - /* Override any gcc2 internal prototype to avoid an error. */ - - /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ - char main(); - ) -int -main (void) -{ -main() - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - if test "X$dir" = "X"; then - eval "ac_cv_lib_$ac_lib_var=yes" - else - eval "ac_cv_lib_$ac_lib_var=$dir" - fi - break -else $as_nop - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$ac_cache_save_LIBS" - done - -fi -# - LIBS="$ac_save_LIBS" - if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" != no"; then - eval "dir=\"`echo '$ac_cv_lib_'$ac_lib_var`\"" - if test "$dir" = "yes"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 -printf "%s\n" "found" >&6; } - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found in $dir" >&5 -printf "%s\n" "found in $dir" >&6; } - fi - if test "$dir" = "yes"; then - LIBS="$LIBS -lcuda" - else - LIBS="$LIBS -L$dir -lcuda" - fi - CUDA_LIBS="$LIBS $CUDART_LIBS" - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -printf "%s\n" "not found" >&6; } - as_fn_error $? "cannot find cuda library" "$LINENO" 5 - - fi - - LIBS="$save_LIBS" - -fi - -fi - - - - - - - - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -printf %s "checking for a sed that does not truncate output... " >&6; } -if test ${ac_cv_path_SED+y} -then : - printf %s "(cached) " >&6 -else $as_nop - 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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 - printf %s 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - printf "%s\n" '' >> "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 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -printf "%s\n" "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - - - - -# Check whether --with-opencl was given. -if test ${with_opencl+y} -then : - withval=$with_opencl; - test "$withval" = no && { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: opencl is an optional package for sapporo2 " >&5 -printf "%s\n" "$as_me: WARNING: opencl is an optional package for sapporo2 " >&2;} - - if test "x$withval" != xyes; then - opencl_prefix="$withval" - with_opencl=yes - fi - if test "x$withval" == xno; then - with_opencl=no - fi - -else $as_nop - with_opencl=yes - -fi - - - if test "x$with_opencl" != xno -then : - - -if test x$opencl_prefix == x; then - if test x$PREFIX != x; then - opencl_prefix=$PREFIX - fi -fi - -if test x$opencl_prefix != x; then - CL_CFLAGS="-I$opencl_prefix/include" - CL_LIBS_TRY="-L$opencl_prefix/lib -L$opencl_prefix/lib64 -L$opencl_prefix/lib/x86_64 -L$opencl_prefix/lib/x86" -else - CL_LIBS_TRY="" -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 - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are using the Microsoft C compiler" >&5 -printf %s "checking whether we are using the Microsoft C compiler... " >&6; } -if test ${ax_cv_c_compiler_ms+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ -#ifndef _MSC_VER - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ax_compiler_ms=yes -else $as_nop - ax_compiler_ms=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -ax_cv_c_compiler_ms=$ax_compiler_ms - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_compiler_ms" >&5 -printf "%s\n" "$ax_cv_c_compiler_ms" >&6; } - -ax_save_CPPFLAGS=$CPPFLAGS -CPPFLAGS="$CL_CFLAGS $CPPFLAGS" -ac_fn_c_check_header_compile "$LINENO" "CL/cl.h" "ac_cv_header_CL_cl_h" "$ac_includes_default" -if test "x$ac_cv_header_CL_cl_h" = xyes -then : - printf "%s\n" "#define HAVE_CL_CL_H 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "OpenCL/cl.h" "ac_cv_header_OpenCL_cl_h" "$ac_includes_default" -if test "x$ac_cv_header_OpenCL_cl_h" = xyes -then : - printf "%s\n" "#define HAVE_OPENCL_CL_H 1" >>confdefs.h - -fi - -CPPFLAGS=$ax_save_CPPFLAGS - -ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default" -if test "x$ac_cv_header_windows_h" = xyes -then : - printf "%s\n" "#define HAVE_WINDOWS_H 1" >>confdefs.h - -fi - - - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OpenCL library" >&5 -printf %s "checking for OpenCL library... " >&6; } -if test ${ax_cv_check_cl_libcl+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ax_cv_check_cl_libcl=no -case $host_cpu in - x86_64) ax_check_cl_libdir=lib64 ;; - *) ax_check_cl_libdir=lib ;; -esac -ax_save_CPPFLAGS=$CPPFLAGS -CPPFLAGS="$CPPFLAGS $CL_CFLAGS" -ax_save_LIBS=$LIBS -LIBS="" -ax_check_libs="-lOpenCL -lCL" - -for cl_libflags in $CL_LIBS_TRY; do - for ax_lib in $ax_check_libs; do - if test X$ax_compiler_ms = Xyes -then : - ax_try_lib=`echo $ax_lib | $SED -e 's/^-l//' -e 's/$/.lib/'` -else $as_nop - ax_try_lib=$ax_lib -fi - LIBS="$ax_try_lib $cl_libflags $ax_save_LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -# if defined(HAVE_WINDOWS_H) && defined(_WIN32) -# include -# endif -# ifdef HAVE_CL_CL_H -# include -# elif defined(HAVE_OPENCL_CL_H) -# include -# else -# error no cl.h -# endif -int -main (void) -{ -clFinish(0) - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ax_cv_check_cl_libcl=$ax_try_lib; break -else $as_nop - ax_check_cl_nvidia_flags="-L/usr/$ax_check_cl_libdir/nvidia" LIBS="$ax_try_lib $ax_check_cl_nvidia_flags $cl_libflags $ax_save_LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -# if defined(HAVE_WINDOWS_H) && defined(_WIN32) -# include -# endif -# ifdef HAVE_CL_CL_H -# include -# elif defined(HAVE_OPENCL_CL_H) -# include -# else -# error no cl.h -# endif -int -main (void) -{ -clFinish(0) - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ax_cv_check_cl_libcl="$ax_try_lib $ax_check_cl_nvidia_flags"; break -else $as_nop - ax_check_cl_dylib_flag='-dylib_file /System/Library/Frameworks/OpenCL.framework/Versions/A/Libraries/libCL.dylib:/System/Library/Frameworks/OpenCL.framework/Versions/A/Libraries/libCL.dylib' LIBS="$ax_try_lib $ax_check_cl_dylib_flag $cl_libflags $ax_save_LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -# if defined(HAVE_WINDOWS_H) && defined(_WIN32) -# include -# endif -# ifdef HAVE_CL_CL_H -# include -# elif defined(HAVE_OPENCL_CL_H) -# include -# else -# error no cl.h -# endif -int -main (void) -{ -clFinish(0) - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ax_cv_check_cl_libcl="$ax_try_lib $ax_check_cl_dylib_flag"; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext - done - if test "X$ax_cv_check_cl_libcl" = Xno -then : - -else $as_nop - break -fi -done - -if test "X$ax_cv_check_cl_libcl" = Xno -a X$no_x = Xyes -then : - LIBS='-framework OpenCL' - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -# if defined(HAVE_WINDOWS_H) && defined(_WIN32) -# include -# endif -# ifdef HAVE_CL_CL_H -# include -# elif defined(HAVE_OPENCL_CL_H) -# include -# else -# error no cl.h -# endif -int -main (void) -{ -clFinish(0) - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ax_cv_check_cl_libcl=$LIBS -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -fi - -LIBS=$ax_save_LIBS -CPPFLAGS=$ax_save_CPPFLAGS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cl_libcl" >&5 -printf "%s\n" "$ax_cv_check_cl_libcl" >&6; } - - -if test "X$ax_cv_check_cl_libcl" = Xno -then : - have_cl=no; CL_CFLAGS=""; CL_LIBS="" -else $as_nop - have_cl=yes; CL_LIBS="$cl_libflags $ax_cv_check_cl_libcl" -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 - - -else $as_nop - have_cl=no -CL_CFLAGS="" -CL_LIBS="" - -fi - -FOUND_CL=$have_cl - - - - - - - -# -# Sapporo -# - - -# Check whether --with-sapporo was given. -if test ${with_sapporo+y} -then : - withval=$with_sapporo; WITH_SAPPORO=yes -else $as_nop - WITH_SAPPORO=no - -fi - - -# Check whether --enable-sapporo2 was given. -if test ${enable_sapporo2+y} -then : - enableval=$enable_sapporo2; SAPPORO_VERSION="light" - SAPPORO_LIBS="-L\${AMUSE_DIR}/lib/sapporo_$SAPPORO_VERSION -lsapporo" - if test "x$enable_sapporo2" != "xno" -then : - - SAPPORO_VERSION="2" - if test x$WITH_CUDA =="xno" -then : - - SAPPORO_LIBS="${CL_LIBS} ${OPENMP_CFLAGS} -L\${AMUSE_DIR}/lib/sapporo_$SAPPORO_VERSION -lsapporo" - -else $as_nop - - SAPPORO_LIBS="${OPENMP_CFLAGS} -L\${AMUSE_DIR}/lib/sapporo_$SAPPORO_VERSION -lsapporo" - -fi - - -fi - -else $as_nop - SAPPORO_VERSION="light" - SAPPORO_LIBS="-L\${AMUSE_DIR}/lib/sapporo_$SAPPORO_VERSION -lsapporo" - -fi - - - - - - -#Fortran-Sockets (FS) Libs - -if test x"$FC_ISO_C_BINDINGS" != xno -then : - - FS_FLAGS="-I\$(AMUSE_DIR)/lib/forsockets" - FS_LIBS="-L\$(AMUSE_DIR)/lib/forsockets -lforsockets" - -else $as_nop - - FS_FLAGS="" - FS_LIBS="" - - -fi - - - - -#Stopcond - -SC_FLAGS="-I\$(AMUSE_DIR)/lib/stopcond" - -SC_CLIBS="-L\$(AMUSE_DIR)/lib/stopcond -lstopcond" -SC_FCLIBS="-L\$(AMUSE_DIR)/lib/stopcond -lstopcond" -SC_MPI_CLIBS="-L\$(AMUSE_DIR)/lib/stopcond -lstopcondmpi" -SC_MPI_FCLIBS="-L\$(AMUSE_DIR)/lib/stopcond -lstopcondmpi" - - - - - - - - -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor - 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 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_F77+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$F77"; then - ac_cv_prog_F77="$F77" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_F77="$ac_tool_prefix$ac_prog" - printf "%s\n" "$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 -F77=$ac_cv_prog_F77 -if test -n "$F77"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $F77" >&5 -printf "%s\n" "$F77" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$F77" && break - done -fi -if test -z "$F77"; then - ac_ct_F77=$F77 - for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_ac_ct_F77+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_F77"; then - ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_F77="$ac_prog" - printf "%s\n" "$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_F77=$ac_cv_prog_ac_ct_F77 -if test -n "$ac_ct_F77"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_F77" >&5 -printf "%s\n" "$ac_ct_F77" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$ac_ct_F77" && break -done - - if test "x$ac_ct_F77" = x; then - F77="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - F77=$ac_ct_F77 - fi -fi - - -# Provide some information about the compiler. -printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 77 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\"" -printf "%s\n" "$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 - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done -rm -f a.out - -# If we don't use `.F' as extension, the preprocessor is not run on the -# input file. (Note that this only needs to work for GNU compilers.) -ac_save_ext=$ac_ext -ac_ext=F -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran 77" >&5 -printf %s "checking whether the compiler supports GNU Fortran 77... " >&6; } -if test ${ac_cv_f77_compiler_gnu+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat > conftest.$ac_ext <<_ACEOF - program main -#ifndef __GNUC__ - choke me -#endif - - end -_ACEOF -if ac_fn_f77_try_compile "$LINENO" -then : - ac_compiler_gnu=yes -else $as_nop - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -ac_cv_f77_compiler_gnu=$ac_compiler_gnu - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_compiler_gnu" >&5 -printf "%s\n" "$ac_cv_f77_compiler_gnu" >&6; } -ac_compiler_gnu=$ac_cv_f77_compiler_gnu - -ac_ext=$ac_save_ext -ac_test_FFLAGS=${FFLAGS+y} -ac_save_FFLAGS=$FFLAGS -FFLAGS= -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $F77 accepts -g" >&5 -printf %s "checking whether $F77 accepts -g... " >&6; } -if test ${ac_cv_prog_f77_g+y} -then : - printf %s "(cached) " >&6 -else $as_nop - FFLAGS=-g -cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_f77_try_compile "$LINENO" -then : - ac_cv_prog_f77_g=yes -else $as_nop - ac_cv_prog_f77_g=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_f77_g" >&5 -printf "%s\n" "$ac_cv_prog_f77_g" >&6; } -if test $ac_test_FFLAGS; then - FFLAGS=$ac_save_FFLAGS -elif test $ac_cv_prog_f77_g = yes; then - if test "x$ac_cv_f77_compiler_gnu" = xyes; then - FFLAGS="-g -O2" - else - FFLAGS="-g" - fi -else - if test "x$ac_cv_f77_compiler_gnu" = xyes; then - FFLAGS="-O2" - else - FFLAGS= - fi -fi - -if test $ac_compiler_gnu = yes; then - G77=yes -else - G77= -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 - - - - - # 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 - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -printf %s "checking build system type... " >&6; } -if test ${ac_cv_build+y} -then : - printf %s "(cached) " >&6 -else $as_nop - 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 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -printf "%s\n" "$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 - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -printf %s "checking host system type... " >&6; } -if test ${ac_cv_host+y} -then : - printf %s "(cached) " >&6 -else $as_nop - 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 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -printf "%s\n" "$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 - - - -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to get verbose linking output from $F77" >&5 -printf %s "checking how to get verbose linking output from $F77... " >&6; } -if test ${ac_cv_prog_f77_v+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_f77_try_compile "$LINENO" -then : - ac_cv_prog_f77_v= -# Try some options frequently used verbose output -for ac_verb in -v -verbose --verbose -V -\#\#\#; do - cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF - -# Compile and link our simple test program by passing a flag (argument -# 1 to this macro) to the Fortran compiler in order to get -# "verbose" output that we can then parse for the Fortran linker -# flags. -ac_save_FFLAGS=$FFLAGS -FFLAGS="$FFLAGS $ac_verb" -eval "set x $ac_link" -shift -printf "%s\n" "$as_me:${as_lineno-$LINENO}: $*" >&5 -# gfortran 4.3 outputs lines setting COLLECT_GCC_OPTIONS, COMPILER_PATH, -# LIBRARY_PATH; skip all such settings. -ac_f77_v_output=`eval $ac_link 5>&1 2>&1 | - sed '/^Driving:/d; /^Configured with:/d; - '"/^[_$as_cr_Letters][_$as_cr_alnum]*=/d"` -printf "%s\n" "$ac_f77_v_output" >&5 -FFLAGS=$ac_save_FFLAGS - -rm -rf conftest* - -# On HP/UX there is a line like: "LPATH is: /foo:/bar:/baz" where -# /foo, /bar, and /baz are search directories for the Fortran linker. -# Here, we change these into -L/foo -L/bar -L/baz (and put it first): -ac_f77_v_output="`echo $ac_f77_v_output | - grep 'LPATH is:' | - sed 's|.*LPATH is\(: *[^ ]*\).*|\1|;s|: */| -L/|g'` $ac_f77_v_output" - -# FIXME: we keep getting bitten by quoted arguments; a more general fix -# that detects unbalanced quotes in FLIBS should be implemented -# and (ugh) tested at some point. -case $ac_f77_v_output in - # With xlf replace commas with spaces, - # and remove "-link" and closing parenthesis. - *xlfentry*) - ac_f77_v_output=`echo $ac_f77_v_output | - sed ' - s/,/ /g - s/ -link / /g - s/) *$// - ' - ` ;; - - # With Intel ifc, ignore the quoted -mGLOB_options_string stuff (quoted - # $LIBS confuse us, and the libraries appear later in the output anyway). - *mGLOB_options_string*) - ac_f77_v_output=`echo $ac_f77_v_output | sed 's/"-mGLOB[^"]*"/ /g'` ;; - - # Portland Group compiler has singly- or doubly-quoted -cmdline argument - # Singly-quoted arguments were reported for versions 5.2-4 and 6.0-4. - # Doubly-quoted arguments were reported for "PGF90/x86 Linux/x86 5.0-2". - *-cmdline\ * | *-ignore\ * | *-def\ *) - ac_f77_v_output=`echo $ac_f77_v_output | sed "\ - s/-cmdline *'[^']*'/ /g; s/-cmdline *\"[^\"]*\"/ /g - s/-ignore *'[^']*'/ /g; s/-ignore *\"[^\"]*\"/ /g - s/-def *'[^']*'/ /g; s/-def *\"[^\"]*\"/ /g"` ;; - - # If we are using fort77 (the f2c wrapper) then filter output and delete quotes. - *fort77*f2c*gcc*) - ac_f77_v_output=`echo "$ac_f77_v_output" | sed -n ' - /:[ ]\+Running[ ]\{1,\}"gcc"/{ - /"-c"/d - /[.]c"*/d - s/^.*"gcc"/"gcc"/ - s/"//gp - }'` ;; - - # If we are using Cray Fortran then delete quotes. - *cft90*) - ac_f77_v_output=`echo $ac_f77_v_output | sed 's/"//g'` ;; -esac - - - # look for -l* and *.a constructs in the output - for ac_arg in $ac_f77_v_output; do - case $ac_arg in - [\\/]*.a | ?:[\\/]*.a | -[lLRu]*) - ac_cv_prog_f77_v=$ac_verb - break 2 ;; - esac - done -done -if test -z "$ac_cv_prog_f77_v"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot determine how to obtain linking information from $F77" >&5 -printf "%s\n" "$as_me: WARNING: cannot determine how to obtain linking information from $F77" >&2;} -fi -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: compilation failed" >&5 -printf "%s\n" "$as_me: WARNING: compilation failed" >&2;} -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_f77_v" >&5 -printf "%s\n" "$ac_cv_prog_f77_v" >&6; } -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 77 libraries of $F77" >&5 -printf %s "checking for Fortran 77 libraries of $F77... " >&6; } -if test ${ac_cv_f77_libs+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test "x$FLIBS" != "x"; then - ac_cv_f77_libs="$FLIBS" # Let the user override the test. -else - -cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF - -# Compile and link our simple test program by passing a flag (argument -# 1 to this macro) to the Fortran compiler in order to get -# "verbose" output that we can then parse for the Fortran linker -# flags. -ac_save_FFLAGS=$FFLAGS -FFLAGS="$FFLAGS $ac_cv_prog_f77_v" -eval "set x $ac_link" -shift -printf "%s\n" "$as_me:${as_lineno-$LINENO}: $*" >&5 -# gfortran 4.3 outputs lines setting COLLECT_GCC_OPTIONS, COMPILER_PATH, -# LIBRARY_PATH; skip all such settings. -ac_f77_v_output=`eval $ac_link 5>&1 2>&1 | - sed '/^Driving:/d; /^Configured with:/d; - '"/^[_$as_cr_Letters][_$as_cr_alnum]*=/d"` -printf "%s\n" "$ac_f77_v_output" >&5 -FFLAGS=$ac_save_FFLAGS - -rm -rf conftest* - -# On HP/UX there is a line like: "LPATH is: /foo:/bar:/baz" where -# /foo, /bar, and /baz are search directories for the Fortran linker. -# Here, we change these into -L/foo -L/bar -L/baz (and put it first): -ac_f77_v_output="`echo $ac_f77_v_output | - grep 'LPATH is:' | - sed 's|.*LPATH is\(: *[^ ]*\).*|\1|;s|: */| -L/|g'` $ac_f77_v_output" - -# FIXME: we keep getting bitten by quoted arguments; a more general fix -# that detects unbalanced quotes in FLIBS should be implemented -# and (ugh) tested at some point. -case $ac_f77_v_output in - # With xlf replace commas with spaces, - # and remove "-link" and closing parenthesis. - *xlfentry*) - ac_f77_v_output=`echo $ac_f77_v_output | - sed ' - s/,/ /g - s/ -link / /g - s/) *$// - ' - ` ;; - - # With Intel ifc, ignore the quoted -mGLOB_options_string stuff (quoted - # $LIBS confuse us, and the libraries appear later in the output anyway). - *mGLOB_options_string*) - ac_f77_v_output=`echo $ac_f77_v_output | sed 's/"-mGLOB[^"]*"/ /g'` ;; - - # Portland Group compiler has singly- or doubly-quoted -cmdline argument - # Singly-quoted arguments were reported for versions 5.2-4 and 6.0-4. - # Doubly-quoted arguments were reported for "PGF90/x86 Linux/x86 5.0-2". - *-cmdline\ * | *-ignore\ * | *-def\ *) - ac_f77_v_output=`echo $ac_f77_v_output | sed "\ - s/-cmdline *'[^']*'/ /g; s/-cmdline *\"[^\"]*\"/ /g - s/-ignore *'[^']*'/ /g; s/-ignore *\"[^\"]*\"/ /g - s/-def *'[^']*'/ /g; s/-def *\"[^\"]*\"/ /g"` ;; - - # If we are using fort77 (the f2c wrapper) then filter output and delete quotes. - *fort77*f2c*gcc*) - ac_f77_v_output=`echo "$ac_f77_v_output" | sed -n ' - /:[ ]\+Running[ ]\{1,\}"gcc"/{ - /"-c"/d - /[.]c"*/d - s/^.*"gcc"/"gcc"/ - s/"//gp - }'` ;; - - # If we are using Cray Fortran then delete quotes. - *cft90*) - ac_f77_v_output=`echo $ac_f77_v_output | sed 's/"//g'` ;; -esac - - - -ac_cv_f77_libs= - -# Save positional arguments (if any) -ac_save_positional="$@" - -set X $ac_f77_v_output -while test $# != 1; do - shift - ac_arg=$1 - case $ac_arg in - [\\/]*.a | ?:[\\/]*.a) - ac_exists=false - for ac_i in $ac_cv_f77_libs; do - if test x"$ac_arg" = x"$ac_i"; then - ac_exists=true - break - fi - done - - if test x"$ac_exists" = xtrue -then : - -else $as_nop - ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" -fi - ;; - -bI:*) - ac_exists=false - for ac_i in $ac_cv_f77_libs; do - if test x"$ac_arg" = x"$ac_i"; then - ac_exists=true - break - fi - done - - if test x"$ac_exists" = xtrue -then : - -else $as_nop - if test "$ac_compiler_gnu" = yes; then - for ac_link_opt in $ac_arg; do - ac_cv_f77_libs="$ac_cv_f77_libs -Xlinker $ac_link_opt" - done -else - ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" -fi -fi - ;; - # Ignore these flags. - -lang* | -lcrt*.o | -lc | -lgcc* | -lSystem | -libmil | -little \ - |-LANG:=* | -LIST:* | -LNO:* | -link) - ;; - -lkernel32) - # Ignore this library only on Windows-like systems. - case $host_os in - cygwin* | msys* ) ;; - *) - ac_exists=false - for ac_i in $ac_cv_f77_libs; do - if test x"$ac_arg" = x"$ac_i"; then - ac_exists=true - break - fi - done - - if test x"$ac_exists" = xtrue -then : - -else $as_nop - ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" -fi - ;; - esac - ;; - -[LRuYz]) - # These flags, when seen by themselves, take an argument. - # We remove the space between option and argument and re-iterate - # unless we find an empty arg or a new option (starting with -) - case $2 in - "" | -*);; - *) - ac_arg="$ac_arg$2" - shift; shift - set X $ac_arg "$@" - ;; - esac - ;; - -YP,*) - for ac_j in `printf "%s\n" "$ac_arg" | sed -e 's/-YP,/-L/;s/:/ -L/g'`; do - ac_exists=false - for ac_i in $ac_cv_f77_libs; do - if test x"$ac_j" = x"$ac_i"; then - ac_exists=true - break - fi - done - - if test x"$ac_exists" = xtrue -then : - -else $as_nop - ac_arg="$ac_arg $ac_j" - ac_cv_f77_libs="$ac_cv_f77_libs $ac_j" -fi - done - ;; - -[lLR]*) - ac_exists=false - for ac_i in $ac_cv_f77_libs; do - if test x"$ac_arg" = x"$ac_i"; then - ac_exists=true - break - fi - done - - if test x"$ac_exists" = xtrue -then : - -else $as_nop - ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" -fi - ;; - -zallextract*| -zdefaultextract) - ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" - ;; - -mllvm) ${2+shift};; # Defend against 'clang -mllvm -loopopt=0'. - # Ignore everything else. - esac -done -# restore positional arguments -set X $ac_save_positional; shift - -# We only consider "LD_RUN_PATH" on Solaris systems. If this is seen, -# then we insist that the "run path" must be an absolute path (i.e. it -# must begin with a "/"). -case `(uname -sr) 2>/dev/null` in - "SunOS 5"*) - ac_ld_run_path=`printf "%s\n" "$ac_f77_v_output" | - sed -n 's,^.*LD_RUN_PATH *= *\(/[^ ]*\).*$,-R\1,p'` - test "x$ac_ld_run_path" != x && - if test "$ac_compiler_gnu" = yes; then - for ac_link_opt in $ac_ld_run_path; do - ac_cv_f77_libs="$ac_cv_f77_libs -Xlinker $ac_link_opt" - done -else - ac_cv_f77_libs="$ac_cv_f77_libs $ac_ld_run_path" -fi - ;; -esac -fi # test "x$[]_AC_LANG_PREFIX[]LIBS" = "x" - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_libs" >&5 -printf "%s\n" "$ac_cv_f77_libs" >&6; } -FLIBS="$ac_cv_f77_libs" - - -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=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dummy main to link with Fortran 77 libraries" >&5 -printf %s "checking for dummy main to link with Fortran 77 libraries... " >&6; } -if test ${ac_cv_f77_dummy_main+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_f77_dm_save_LIBS=$LIBS - LIBS="$LIBS $FLIBS" - ac_fortran_dm_var=F77_DUMMY_MAIN - 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 - - # First, try linking without a dummy main: - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_fortran_dummy_main=none -else $as_nop - ac_cv_fortran_dummy_main=unknown -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext - - if test $ac_cv_fortran_dummy_main = unknown; then - for ac_func in MAIN__ MAIN_ __main MAIN _MAIN __MAIN main_ main__ _main; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define $ac_fortran_dm_var $ac_func -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_fortran_dummy_main=$ac_func; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext - done - fi - ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu - ac_cv_f77_dummy_main=$ac_cv_fortran_dummy_main - rm -rf conftest* - LIBS=$ac_f77_dm_save_LIBS - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_dummy_main" >&5 -printf "%s\n" "$ac_cv_f77_dummy_main" >&6; } -F77_DUMMY_MAIN=$ac_cv_f77_dummy_main -if test "$F77_DUMMY_MAIN" != unknown -then : - if test $F77_DUMMY_MAIN != none; then - -printf "%s\n" "#define F77_DUMMY_MAIN $F77_DUMMY_MAIN" >>confdefs.h - - if test "x$ac_cv_fc_dummy_main" = "x$ac_cv_f77_dummy_main"; then - -printf "%s\n" "#define FC_DUMMY_MAIN_EQ_F77 1" >>confdefs.h - - fi -fi -else $as_nop - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "linking to Fortran libraries from C fails -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 - -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 77 name-mangling scheme" >&5 -printf %s "checking for Fortran 77 name-mangling scheme... " >&6; } -if test ${ac_cv_f77_mangling+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat > conftest.$ac_ext <<_ACEOF - subroutine foobar() - return - end - subroutine foo_bar() - return - end -_ACEOF -if ac_fn_f77_try_compile "$LINENO" -then : - mv conftest.$ac_objext cfortran_test.$ac_objext - - ac_save_LIBS=$LIBS - LIBS="cfortran_test.$ac_objext $LIBS $FLIBS" - - 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_success=no - for ac_foobar in foobar FOOBAR; do - for ac_underscore in "" "_"; do - ac_func="$ac_foobar$ac_underscore" - 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. */ -char $ac_func (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_success=yes; break 2 -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext - done - done - ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu - - if test "$ac_success" = "yes"; then - case $ac_foobar in - foobar) - ac_case=lower - ac_foo_bar=foo_bar - ;; - FOOBAR) - ac_case=upper - ac_foo_bar=FOO_BAR - ;; - esac - - 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_success_extra=no - for ac_extra in "" "_"; do - ac_func="$ac_foo_bar$ac_underscore$ac_extra" - 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. */ -char $ac_func (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_success_extra=yes; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext - done - ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu - - if test "$ac_success_extra" = "yes"; then - ac_cv_f77_mangling="$ac_case case" - if test -z "$ac_underscore"; then - ac_cv_f77_mangling="$ac_cv_f77_mangling, no underscore" - else - ac_cv_f77_mangling="$ac_cv_f77_mangling, underscore" - fi - if test -z "$ac_extra"; then - ac_cv_f77_mangling="$ac_cv_f77_mangling, no extra underscore" - else - ac_cv_f77_mangling="$ac_cv_f77_mangling, extra underscore" - fi - else - ac_cv_f77_mangling="unknown" - fi - else - ac_cv_f77_mangling="unknown" - fi - - LIBS=$ac_save_LIBS - rm -rf conftest* - rm -f cfortran_test* -else $as_nop - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compile a simple Fortran program -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_mangling" >&5 -printf "%s\n" "$ac_cv_f77_mangling" >&6; } - -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 - - - - - -ax_blas_ok=no - - -# Check whether --with-blas was given. -if test ${with_blas+y} -then : - withval=$with_blas; -fi - -case $with_blas in - yes | "") ;; - no) ax_blas_ok=disable ;; - -* | */* | *.a | *.so | *.so.* | *.dylib | *.dylib.* | *.o) - BLAS_LIBS="$with_blas" - ;; - *) BLAS_LIBS="-l$with_blas" ;; -esac - -# Get fortran linker names of BLAS functions to check for. -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu -case $ac_cv_f77_mangling in - upper*) ac_val="SGEMM" ;; - lower*) ac_val="sgemm" ;; - *) ac_val="unknown" ;; -esac -case $ac_cv_f77_mangling in *," underscore"*) ac_val="$ac_val"_ ;; esac - -sgemm="$ac_val" - -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=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu -case $ac_cv_f77_mangling in - upper*) ac_val="DGEMM" ;; - lower*) ac_val="dgemm" ;; - *) ac_val="unknown" ;; -esac -case $ac_cv_f77_mangling in *," underscore"*) ac_val="$ac_val"_ ;; esac - -dgemm="$ac_val" - -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 - - -ax_blas_save_LIBS="$LIBS" -LIBS="$LIBS $FLIBS" - -# First, check BLAS_LIBS environment variable -if test $ax_blas_ok = no; then -if test "x$BLAS_LIBS" != x; then - save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in $BLAS_LIBS" >&5 -printf %s "checking for $sgemm in $BLAS_LIBS... " >&6; } - 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. */ -char $sgemm (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $sgemm (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ax_blas_ok=yes -else $as_nop - BLAS_LIBS="" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_blas_ok" >&5 -printf "%s\n" "$ax_blas_ok" >&6; } - LIBS="$save_LIBS" -fi -fi - -# BLAS linked to by default? (happens on some supercomputers) -if test $ax_blas_ok = no; then - save_LIBS="$LIBS"; LIBS="$LIBS" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $sgemm is being linked in already" >&5 -printf %s "checking if $sgemm is being linked in already... " >&6; } - 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. */ -char $sgemm (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $sgemm (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ax_blas_ok=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_blas_ok" >&5 -printf "%s\n" "$ax_blas_ok" >&6; } - LIBS="$save_LIBS" -fi - -# BLAS in OpenBLAS library? (http://xianyi.github.com/OpenBLAS/) -if test $ax_blas_ok = no; then - as_ac_Lib=`printf "%s\n" "ac_cv_lib_openblas_$sgemm" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lopenblas" >&5 -printf %s "checking for $sgemm in -lopenblas... " >&6; } -if eval test \${$as_ac_Lib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lopenblas $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. */ -char $sgemm (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $sgemm (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - eval "$as_ac_Lib=yes" -else $as_nop - eval "$as_ac_Lib=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -eval ac_res=\$$as_ac_Lib - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes" -then : - ax_blas_ok=yes - BLAS_LIBS="-lopenblas" -fi - -fi - -# BLAS in ATLAS library? (http://math-atlas.sourceforge.net/) -if test $ax_blas_ok = no; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ATL_xerbla in -latlas" >&5 -printf %s "checking for ATL_xerbla in -latlas... " >&6; } -if test ${ac_cv_lib_atlas_ATL_xerbla+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-latlas $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. */ -char ATL_xerbla (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return ATL_xerbla (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_atlas_ATL_xerbla=yes -else $as_nop - ac_cv_lib_atlas_ATL_xerbla=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_atlas_ATL_xerbla" >&5 -printf "%s\n" "$ac_cv_lib_atlas_ATL_xerbla" >&6; } -if test "x$ac_cv_lib_atlas_ATL_xerbla" = xyes -then : - as_ac_Lib=`printf "%s\n" "ac_cv_lib_f77blas_$sgemm" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lf77blas" >&5 -printf %s "checking for $sgemm in -lf77blas... " >&6; } -if eval test \${$as_ac_Lib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lf77blas -latlas $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. */ -char $sgemm (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $sgemm (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - eval "$as_ac_Lib=yes" -else $as_nop - eval "$as_ac_Lib=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -eval ac_res=\$$as_ac_Lib - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes" -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cblas_dgemm in -lcblas" >&5 -printf %s "checking for cblas_dgemm in -lcblas... " >&6; } -if test ${ac_cv_lib_cblas_cblas_dgemm+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcblas -lf77blas -latlas $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. */ -char cblas_dgemm (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return cblas_dgemm (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_cblas_cblas_dgemm=yes -else $as_nop - ac_cv_lib_cblas_cblas_dgemm=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cblas_cblas_dgemm" >&5 -printf "%s\n" "$ac_cv_lib_cblas_cblas_dgemm" >&6; } -if test "x$ac_cv_lib_cblas_cblas_dgemm" = xyes -then : - ax_blas_ok=yes - BLAS_LIBS="-lcblas -lf77blas -latlas" -fi - -fi - -fi - -fi - -# BLAS in PhiPACK libraries? (requires generic BLAS lib, too) -if test $ax_blas_ok = no; then - as_ac_Lib=`printf "%s\n" "ac_cv_lib_blas_$sgemm" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lblas" >&5 -printf %s "checking for $sgemm in -lblas... " >&6; } -if eval test \${$as_ac_Lib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lblas $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. */ -char $sgemm (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $sgemm (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - eval "$as_ac_Lib=yes" -else $as_nop - eval "$as_ac_Lib=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -eval ac_res=\$$as_ac_Lib - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes" -then : - as_ac_Lib=`printf "%s\n" "ac_cv_lib_dgemm_$dgemm" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $dgemm in -ldgemm" >&5 -printf %s "checking for $dgemm in -ldgemm... " >&6; } -if eval test \${$as_ac_Lib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldgemm -lblas $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. */ -char $dgemm (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $dgemm (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - eval "$as_ac_Lib=yes" -else $as_nop - eval "$as_ac_Lib=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -eval ac_res=\$$as_ac_Lib - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes" -then : - as_ac_Lib=`printf "%s\n" "ac_cv_lib_sgemm_$sgemm" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lsgemm" >&5 -printf %s "checking for $sgemm in -lsgemm... " >&6; } -if eval test \${$as_ac_Lib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsgemm -lblas $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. */ -char $sgemm (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $sgemm (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - eval "$as_ac_Lib=yes" -else $as_nop - eval "$as_ac_Lib=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -eval ac_res=\$$as_ac_Lib - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes" -then : - ax_blas_ok=yes; BLAS_LIBS="-lsgemm -ldgemm -lblas" -fi - -fi - -fi - -fi - -# BLAS in Intel MKL library? -if test $ax_blas_ok = no; then - # MKL for gfortran - if test x"$ac_cv_fc_compiler_gnu" = xyes; then - # 64 bit - if test $host_cpu = x86_64; then - as_ac_Lib=`printf "%s\n" "ac_cv_lib_mkl_gf_lp64_$sgemm" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lmkl_gf_lp64" >&5 -printf %s "checking for $sgemm in -lmkl_gf_lp64... " >&6; } -if eval test \${$as_ac_Lib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmkl_gf_lp64 -lmkl_gf_lp64 -lmkl_sequential -lmkl_core -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. */ -char $sgemm (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $sgemm (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - eval "$as_ac_Lib=yes" -else $as_nop - eval "$as_ac_Lib=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -eval ac_res=\$$as_ac_Lib - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes" -then : - ax_blas_ok=yes;BLAS_LIBS="-lmkl_gf_lp64 -lmkl_sequential -lmkl_core -lpthread" -fi - - # 32 bit - elif test $host_cpu = i686; then - as_ac_Lib=`printf "%s\n" "ac_cv_lib_mkl_gf_$sgemm" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lmkl_gf" >&5 -printf %s "checking for $sgemm in -lmkl_gf... " >&6; } -if eval test \${$as_ac_Lib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmkl_gf -lmkl_gf -lmkl_sequential -lmkl_core -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. */ -char $sgemm (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $sgemm (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - eval "$as_ac_Lib=yes" -else $as_nop - eval "$as_ac_Lib=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -eval ac_res=\$$as_ac_Lib - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes" -then : - ax_blas_ok=yes;BLAS_LIBS="-lmkl_gf -lmkl_sequential -lmkl_core -lpthread" -fi - - fi - # MKL for other compilers (Intel, PGI, ...?) - else - # 64-bit - if test $host_cpu = x86_64; then - as_ac_Lib=`printf "%s\n" "ac_cv_lib_mkl_intel_lp64_$sgemm" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lmkl_intel_lp64" >&5 -printf %s "checking for $sgemm in -lmkl_intel_lp64... " >&6; } -if eval test \${$as_ac_Lib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmkl_intel_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -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. */ -char $sgemm (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $sgemm (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - eval "$as_ac_Lib=yes" -else $as_nop - eval "$as_ac_Lib=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -eval ac_res=\$$as_ac_Lib - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes" -then : - ax_blas_ok=yes;BLAS_LIBS="-lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread" -fi - - # 32-bit - elif test $host_cpu = i686; then - as_ac_Lib=`printf "%s\n" "ac_cv_lib_mkl_intel_$sgemm" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lmkl_intel" >&5 -printf %s "checking for $sgemm in -lmkl_intel... " >&6; } -if eval test \${$as_ac_Lib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmkl_intel -lmkl_intel -lmkl_sequential -lmkl_core -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. */ -char $sgemm (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $sgemm (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - eval "$as_ac_Lib=yes" -else $as_nop - eval "$as_ac_Lib=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -eval ac_res=\$$as_ac_Lib - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes" -then : - ax_blas_ok=yes;BLAS_LIBS="-lmkl_intel -lmkl_sequential -lmkl_core -lpthread" -fi - - fi - fi -fi -# Old versions of MKL -if test $ax_blas_ok = no; then - as_ac_Lib=`printf "%s\n" "ac_cv_lib_mkl_$sgemm" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lmkl" >&5 -printf %s "checking for $sgemm in -lmkl... " >&6; } -if eval test \${$as_ac_Lib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmkl -lguide -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. */ -char $sgemm (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $sgemm (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - eval "$as_ac_Lib=yes" -else $as_nop - eval "$as_ac_Lib=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -eval ac_res=\$$as_ac_Lib - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes" -then : - ax_blas_ok=yes;BLAS_LIBS="-lmkl -lguide -lpthread" -fi - -fi - -# BLAS in Apple vecLib library? -if test $ax_blas_ok = no; then - save_LIBS="$LIBS"; LIBS="-framework vecLib $LIBS" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -framework vecLib" >&5 -printf %s "checking for $sgemm in -framework vecLib... " >&6; } - 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. */ -char $sgemm (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $sgemm (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ax_blas_ok=yes;BLAS_LIBS="-framework vecLib" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_blas_ok" >&5 -printf "%s\n" "$ax_blas_ok" >&6; } - LIBS="$save_LIBS" -fi - -# BLAS in Alpha CXML library? -if test $ax_blas_ok = no; then - as_ac_Lib=`printf "%s\n" "ac_cv_lib_cxml_$sgemm" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lcxml" >&5 -printf %s "checking for $sgemm in -lcxml... " >&6; } -if eval test \${$as_ac_Lib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcxml $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. */ -char $sgemm (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $sgemm (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - eval "$as_ac_Lib=yes" -else $as_nop - eval "$as_ac_Lib=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -eval ac_res=\$$as_ac_Lib - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes" -then : - ax_blas_ok=yes;BLAS_LIBS="-lcxml" -fi - -fi - -# BLAS in Alpha DXML library? (now called CXML, see above) -if test $ax_blas_ok = no; then - as_ac_Lib=`printf "%s\n" "ac_cv_lib_dxml_$sgemm" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -ldxml" >&5 -printf %s "checking for $sgemm in -ldxml... " >&6; } -if eval test \${$as_ac_Lib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldxml $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. */ -char $sgemm (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $sgemm (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - eval "$as_ac_Lib=yes" -else $as_nop - eval "$as_ac_Lib=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -eval ac_res=\$$as_ac_Lib - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes" -then : - ax_blas_ok=yes;BLAS_LIBS="-ldxml" -fi - -fi - -# BLAS in Sun Performance library? -if test $ax_blas_ok = no; then - if test "x$GCC" != xyes; then # only works with Sun CC - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for acosp in -lsunmath" >&5 -printf %s "checking for acosp in -lsunmath... " >&6; } -if test ${ac_cv_lib_sunmath_acosp+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsunmath $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. */ -char acosp (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return acosp (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_sunmath_acosp=yes -else $as_nop - ac_cv_lib_sunmath_acosp=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sunmath_acosp" >&5 -printf "%s\n" "$ac_cv_lib_sunmath_acosp" >&6; } -if test "x$ac_cv_lib_sunmath_acosp" = xyes -then : - as_ac_Lib=`printf "%s\n" "ac_cv_lib_sunperf_$sgemm" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lsunperf" >&5 -printf %s "checking for $sgemm in -lsunperf... " >&6; } -if eval test \${$as_ac_Lib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsunperf -lsunmath $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. */ -char $sgemm (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $sgemm (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - eval "$as_ac_Lib=yes" -else $as_nop - eval "$as_ac_Lib=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -eval ac_res=\$$as_ac_Lib - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes" -then : - BLAS_LIBS="-xlic_lib=sunperf -lsunmath" - ax_blas_ok=yes -fi - -fi - - fi -fi - -# BLAS in SCSL library? (SGI/Cray Scientific Library) -if test $ax_blas_ok = no; then - as_ac_Lib=`printf "%s\n" "ac_cv_lib_scs_$sgemm" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lscs" >&5 -printf %s "checking for $sgemm in -lscs... " >&6; } -if eval test \${$as_ac_Lib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lscs $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. */ -char $sgemm (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $sgemm (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - eval "$as_ac_Lib=yes" -else $as_nop - eval "$as_ac_Lib=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -eval ac_res=\$$as_ac_Lib - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes" -then : - ax_blas_ok=yes; BLAS_LIBS="-lscs" -fi - -fi - -# BLAS in SGIMATH library? -if test $ax_blas_ok = no; then - as_ac_Lib=`printf "%s\n" "ac_cv_lib_complib.sgimath_$sgemm" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lcomplib.sgimath" >&5 -printf %s "checking for $sgemm in -lcomplib.sgimath... " >&6; } -if eval test \${$as_ac_Lib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcomplib.sgimath $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. */ -char $sgemm (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $sgemm (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - eval "$as_ac_Lib=yes" -else $as_nop - eval "$as_ac_Lib=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -eval ac_res=\$$as_ac_Lib - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes" -then : - ax_blas_ok=yes; BLAS_LIBS="-lcomplib.sgimath" -fi - -fi - -# BLAS in IBM ESSL library? (requires generic BLAS lib, too) -if test $ax_blas_ok = no; then - as_ac_Lib=`printf "%s\n" "ac_cv_lib_blas_$sgemm" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lblas" >&5 -printf %s "checking for $sgemm in -lblas... " >&6; } -if eval test \${$as_ac_Lib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lblas $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. */ -char $sgemm (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $sgemm (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - eval "$as_ac_Lib=yes" -else $as_nop - eval "$as_ac_Lib=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -eval ac_res=\$$as_ac_Lib - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes" -then : - as_ac_Lib=`printf "%s\n" "ac_cv_lib_essl_$sgemm" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lessl" >&5 -printf %s "checking for $sgemm in -lessl... " >&6; } -if eval test \${$as_ac_Lib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lessl -lblas $FLIBS $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. */ -char $sgemm (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $sgemm (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - eval "$as_ac_Lib=yes" -else $as_nop - eval "$as_ac_Lib=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -eval ac_res=\$$as_ac_Lib - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes" -then : - ax_blas_ok=yes; BLAS_LIBS="-lessl -lblas" -fi - -fi - -fi - -# Generic BLAS library? -if test $ax_blas_ok = no; then - as_ac_Lib=`printf "%s\n" "ac_cv_lib_blas_$sgemm" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lblas" >&5 -printf %s "checking for $sgemm in -lblas... " >&6; } -if eval test \${$as_ac_Lib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lblas $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. */ -char $sgemm (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $sgemm (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - eval "$as_ac_Lib=yes" -else $as_nop - eval "$as_ac_Lib=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -eval ac_res=\$$as_ac_Lib - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes" -then : - ax_blas_ok=yes; BLAS_LIBS="-lblas" -fi - -fi - - - -LIBS="$ax_blas_save_LIBS" - -# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x"$ax_blas_ok" = xyes; then - -printf "%s\n" "#define HAVE_BLAS 1" >>confdefs.h - - : -else - ax_blas_ok=no - -fi - - - -ax_lapack_ok=no - - -# Check whether --with-lapack was given. -if test ${with_lapack+y} -then : - withval=$with_lapack; -fi - -case $with_lapack in - yes | "") ;; - no) ax_lapack_ok=disable ;; - -* | */* | *.a | *.so | *.so.* | *.dylib | *.dylib.* | *.o) - LAPACK_LIBS="$with_lapack" - ;; - *) LAPACK_LIBS="-l$with_lapack" ;; -esac - -# Get fortran linker name of LAPACK function to check for. -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu -case $ac_cv_f77_mangling in - upper*) ac_val="CHEEV" ;; - lower*) ac_val="cheev" ;; - *) ac_val="unknown" ;; -esac -case $ac_cv_f77_mangling in *," underscore"*) ac_val="$ac_val"_ ;; esac - -cheev="$ac_val" - -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 - - -# We cannot use LAPACK if BLAS is not found -if test "x$ax_blas_ok" != xyes; then - ax_lapack_ok=noblas - LAPACK_LIBS="" -fi - -# First, check LAPACK_LIBS environment variable -if test "x$LAPACK_LIBS" != x; then - save_LIBS="$LIBS"; LIBS="$LAPACK_LIBS $BLAS_LIBS $LIBS $FLIBS" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $cheev in $LAPACK_LIBS" >&5 -printf %s "checking for $cheev in $LAPACK_LIBS... " >&6; } - 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. */ -char $cheev (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $cheev (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ax_lapack_ok=yes -else $as_nop - LAPACK_LIBS="" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_lapack_ok" >&5 -printf "%s\n" "$ax_lapack_ok" >&6; } - LIBS="$save_LIBS" - if test $ax_lapack_ok = no; then - LAPACK_LIBS="" - fi -fi - -# LAPACK linked to by default? (is sometimes included in BLAS lib) -if test $ax_lapack_ok = no; then - save_LIBS="$LIBS"; LIBS="$LIBS $BLAS_LIBS $FLIBS" - as_ac_var=`printf "%s\n" "ac_cv_func_$cheev" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$cheev" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes" -then : - ax_lapack_ok=yes -fi - - LIBS="$save_LIBS" -fi - -# Generic LAPACK library? -for lapack in lapack lapack_rs6k; do - if test $ax_lapack_ok = no; then - save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS" - as_ac_Lib=`printf "%s\n" "ac_cv_lib_$lapack""_$cheev" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $cheev in -l$lapack" >&5 -printf %s "checking for $cheev in -l$lapack... " >&6; } -if eval test \${$as_ac_Lib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-l$lapack $FLIBS $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. */ -char $cheev (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return $cheev (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - eval "$as_ac_Lib=yes" -else $as_nop - eval "$as_ac_Lib=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -eval ac_res=\$$as_ac_Lib - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes" -then : - ax_lapack_ok=yes; LAPACK_LIBS="-l$lapack" -fi - - LIBS="$save_LIBS" - fi -done - - - -# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x"$ax_lapack_ok" = xyes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: LAPACK and BLAS found " >&5 -printf "%s\n" "$as_me: LAPACK and BLAS found " >&6;} - : -else - ax_lapack_ok=no - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: LAPACK and/or BLAS not found" >&5 -printf "%s\n" "$as_me: LAPACK and/or BLAS not found" >&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 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_PKG_CONFIG+y} -then : - printf %s "(cached) " >&6 -else $as_nop - 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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" - printf "%s\n" "$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 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 -printf "%s\n" "$PKG_CONFIG" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "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 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} -then : - printf %s "(cached) " >&6 -else $as_nop - 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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" - printf "%s\n" "$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 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 -printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - if test "x$ac_pt_PKG_CONFIG" = x; then - PKG_CONFIG="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -printf "%s\n" "$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 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 -printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - PKG_CONFIG="" - fi -fi - - -# Check whether --with-fftw was given. -if test ${with_fftw+y} -then : - withval=$with_fftw; - test "$withval" = no && { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: fftw is a required package for some modules" >&5 -printf "%s\n" "$as_me: WARNING: fftw is a required package for some modules" >&2;} - test "$withval" = yes || fftw_prefix="$withval" - with_fftw=yes -else $as_nop - with_fftw=yes - -fi - - - if test "x$with_fftw" != xno -then : - - #user override - if test "x$FFTW_LIBS" != x && test "x$FFTW_FLAGS" != x -then : - - have_fftw=yes - FOUND_FFTW="yes" - -else $as_nop - - saved_LIBS="$LIBS" - saved_CXXFLAGS="$CXXFLAGS" - FFTW_LIBS="" - FFTW_FLAGS="" - FOUND_FFTW="no" - if test x$fftw_prefix == x; then - if test x$PREFIX != x; then - fftw_prefix=$PREFIX - fi - fi - if test x$fftw_prefix != x; then - ac_FFTW_CFLAGS="-I$fftw_prefix/include" - ac_FFTW_LDOPTS="-L$fftw_prefix/lib" - - - save_CFLAGS="$CFLAGS" - save_CPPFLAGS="$CPPFLAGS" - CFLAGS="$ac_FFTW_CFLAGS $save_CFLAGS" - CPPFLAGS="$ac_FFTW_CFLAGS $save_CPPFLAGS" - ac_fn_c_check_header_compile "$LINENO" "fftw3.h" "ac_cv_header_fftw3_h" "$ac_includes_default" -if test "x$ac_cv_header_fftw3_h" = xyes -then : - FFTW_FLAGS="$ac_FFTW_CFLAGS" - FOUND_FFTW="yes" -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (fftw3.h) of the library FFTW in $fftw_prefix/include." >&5 -printf "%s\n" "$as_me: WARNING: Cannot find headers (fftw3.h) of the library FFTW in $fftw_prefix/include." >&2;} - -fi - - CFLAGS="$save_CFLAGS" - CPPFLAGS="$save_CPPFLAGS" - - save_LIBS="$LIBS" - LIBS="$ac_FFTW_LDOPTS -lfftw3 -lfftw3_threads $save_LIBS" - - cache_var=ac_cv_lib_fftw3_fftw_plan_dft_r2c - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fftw_plan_dft_r2c in -lfftw3" >&5 -printf %s "checking for fftw_plan_dft_r2c in -lfftw3... " >&6; } -if test ${ac_cv_lib_fftw3_fftw_plan_dft_r2c+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lfftw3 $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. */ -char fftw_plan_dft_r2c (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return fftw_plan_dft_r2c (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_fftw3_fftw_plan_dft_r2c=yes -else $as_nop - ac_cv_lib_fftw3_fftw_plan_dft_r2c=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&5 -printf "%s\n" "$ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&6; } -if test "x$ac_cv_lib_fftw3_fftw_plan_dft_r2c" = xyes -then : - FFTW_LIBS="$ac_FFTW_LDOPTS -lfftw3 -lfftw3_threads" -else $as_nop - FOUND_FFTW="no" - -fi - - $as_unset $cache_var - if test x$FOUND_FFTW != xyes; then - LIBS="$ac_FFTW_LDOPTS -lfftw3 -lfftw3_threads -lm $save_LIBS" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fftw_plan_dft_r2c in -lfftw3" >&5 -printf %s "checking for fftw_plan_dft_r2c in -lfftw3... " >&6; } -if test ${ac_cv_lib_fftw3_fftw_plan_dft_r2c+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lfftw3 $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. */ -char fftw_plan_dft_r2c (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return fftw_plan_dft_r2c (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_fftw3_fftw_plan_dft_r2c=yes -else $as_nop - ac_cv_lib_fftw3_fftw_plan_dft_r2c=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&5 -printf "%s\n" "$ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&6; } -if test "x$ac_cv_lib_fftw3_fftw_plan_dft_r2c" = xyes -then : - FOUND_FFTW="yes" - FFTW_LIBS="$ac_FFTW_LDOPTS -lfftw3 -lfftw3_threads -lm" -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libfftw3 : library missing. (Cannot find symbol fftw_plan_dft_r2c) in $fftw_prefix. Check if libfftw3 is installed and if the version is correct" >&5 -printf "%s\n" "$as_me: WARNING: libfftw3 : library missing. (Cannot find symbol fftw_plan_dft_r2c) in $fftw_prefix. Check if libfftw3 is installed and if the version is correct" >&2;} - -fi - - $as_unset $cache_var - fi - LIBS="$save_LIBS" - fi - - if test x$FOUND_FFTW != xyes; then - -pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FFTW" >&5 -printf %s "checking for FFTW... " >&6; } - -if test -n "$FFTW_CFLAGS"; then - pkg_cv_FFTW_CFLAGS="$FFTW_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fftw3 >= 3.2\""; } >&5 - ($PKG_CONFIG --exists --print-errors "fftw3 >= 3.2") 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_FFTW_CFLAGS=`$PKG_CONFIG --cflags "fftw3 >= 3.2" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$FFTW_LIBS"; then - pkg_cv_FFTW_LIBS="$FFTW_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fftw3 >= 3.2\""; } >&5 - ($PKG_CONFIG --exists --print-errors "fftw3 >= 3.2") 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_FFTW_LIBS=`$PKG_CONFIG --libs "fftw3 >= 3.2" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - FFTW_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "fftw3 >= 3.2" 2>&1` - else - FFTW_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "fftw3 >= 3.2" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$FFTW_PKG_ERRORS" >&5 - - - -elif test $pkg_failed = untried; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - - -else - FFTW_CFLAGS=$pkg_cv_FFTW_CFLAGS - FFTW_LIBS=$pkg_cv_FFTW_LIBS - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } - - FFTW_FLAGS="$FFTW_CFLAGS" - FFTW_LIBS="$FFTW_LIBS -lfftw3_threads" - FOUND_FFTW=yes - -fi - fi - - if test x$FOUND_FFTW != xyes; then - ac_fn_c_check_header_compile "$LINENO" "fftw3.h" "ac_cv_header_fftw3_h" "$ac_includes_default" -if test "x$ac_cv_header_fftw3_h" = xyes -then : - FFTW_FLAGS="" - FOUND_FFTW="yes" -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (fftw3.h) of the library FFTW in $fftw_prefix/include." >&5 -printf "%s\n" "$as_me: WARNING: Cannot find headers (fftw3.h) of the library FFTW in $fftw_prefix/include." >&2;} - -fi - - cache_var=ac_cv_lib_fftw3_fftw_plan_dft_r2c - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fftw_plan_dft_r2c in -lfftw3" >&5 -printf %s "checking for fftw_plan_dft_r2c in -lfftw3... " >&6; } -if test ${ac_cv_lib_fftw3_fftw_plan_dft_r2c+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lfftw3 $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. */ -char fftw_plan_dft_r2c (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return fftw_plan_dft_r2c (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_fftw3_fftw_plan_dft_r2c=yes -else $as_nop - ac_cv_lib_fftw3_fftw_plan_dft_r2c=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&5 -printf "%s\n" "$ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&6; } -if test "x$ac_cv_lib_fftw3_fftw_plan_dft_r2c" = xyes -then : - FFTW_LIBS="-lfftw3 -lfftw3_threads" -else $as_nop - FOUND_FFTW="no" - -fi - - $as_unset $cache_var - - if test x$FOUND_FFTW != xyes; then - - save_LIBS="$LIBS" - LIBS="-lfftw3_threads -lm $save_LIBS" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fftw_plan_dft_r2c in -lfftw3" >&5 -printf %s "checking for fftw_plan_dft_r2c in -lfftw3... " >&6; } -if test ${ac_cv_lib_fftw3_fftw_plan_dft_r2c+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lfftw3 $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. */ -char fftw_plan_dft_r2c (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return fftw_plan_dft_r2c (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_fftw3_fftw_plan_dft_r2c=yes -else $as_nop - ac_cv_lib_fftw3_fftw_plan_dft_r2c=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&5 -printf "%s\n" "$ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&6; } -if test "x$ac_cv_lib_fftw3_fftw_plan_dft_r2c" = xyes -then : - FOUND_FFTW="yes" - FFTW_LIBS="$ac_FFTW_LDOPTS -lfftw3 -lfftw3_threads -lm" -else $as_nop - FOUND_FFTW="no" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libfftw3 : library missing. (Cannot find symbol fftw_plan_dft_r2c) in $fftw_prefix. Check if libfftw3 is installed and if the version is correct" >&5 -printf "%s\n" "$as_me: WARNING: libfftw3 : library missing. (Cannot find symbol fftw_plan_dft_r2c) in $fftw_prefix. Check if libfftw3 is installed and if the version is correct" >&2;} - -fi - - LIBS="$save_LIBS" - fi - fi - - - -fi - -fi - - - - - - - - -# Check whether --with-gmp was given. -if test ${with_gmp+y} -then : - withval=$with_gmp; - test "$withval" = no && { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: gmp is a required package for some modules" >&5 -printf "%s\n" "$as_me: WARNING: gmp is a required package for some modules" >&2;} - test "$withval" = yes || gmp_prefix="$withval" - with_gmp=yes -else $as_nop - with_gmp=yes - -fi - - - if test "x$with_gmp" != xno -then : - - #user override - if test "x$GMP_LIBS" != x -then : - - have_gmp=yes - FOUND_GMP="yes" - -else $as_nop - - - - - saved_LIBS="$LIBS" - saved_CXXFLAGS="$CXXFLAGS" - GMP_LIBS="" - GMP_FLAGS="" - FOUND_GMP="no" - if test x$gmp_prefix == x; then - if test x$PREFIX != x; then - gmp_prefix=$PREFIX - fi - fi - if test x$gmp_prefix != x; then - ac_gmp_CFLAGS="-I$gmp_prefix/include" - ac_gmp_LDOPTS="-L$gmp_prefix/lib" - - - save_CFLAGS="$CFLAGS" - save_CPPFLAGS="$CPPFLAGS" - CFLAGS="$ac_gmp_CFLAGS $save_CFLAGS" - CPPFLAGS="$ac_gmp_CFLAGS $save_CPPFLAGS" - ac_fn_c_check_header_compile "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" -if test "x$ac_cv_header_gmp_h" = xyes -then : - GMP_FLAGS="$ac_gmp_CFLAGS" - FOUND_GMP="yes" -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (gmp.h) of the library GMP in $gmp_prefix/include." >&5 -printf "%s\n" "$as_me: WARNING: Cannot find headers (gmp.h) of the library GMP in $gmp_prefix/include." >&2;} - -fi - - CFLAGS="$save_CFLAGS" - CPPFLAGS="$save_CPPFLAGS" - - if test x$FOUND_GMP == xyes; then - save_LIBS="$LIBS" - LIBS="$ac_gmp_LDOPTS -lgmp $save_LIBS" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __gmpz_init in -lgmp" >&5 -printf %s "checking for __gmpz_init in -lgmp... " >&6; } -if test ${ac_cv_lib_gmp___gmpz_init+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lgmp $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. */ -char __gmpz_init (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return __gmpz_init (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_gmp___gmpz_init=yes -else $as_nop - ac_cv_lib_gmp___gmpz_init=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp___gmpz_init" >&5 -printf "%s\n" "$ac_cv_lib_gmp___gmpz_init" >&6; } -if test "x$ac_cv_lib_gmp___gmpz_init" = xyes -then : - GMP_LIBS="$ac_gmp_LDOPTS -lgmp" -else $as_nop - FOUND_GMP="no" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libgmp : library missing. (Cannot find symbol gmpz_init) in $gmp_prefix. Check if libgmp is installed and if the version is correct" >&5 -printf "%s\n" "$as_me: WARNING: libgmp : library missing. (Cannot find symbol gmpz_init) in $gmp_prefix. Check if libgmp is installed and if the version is correct" >&2;} - -fi - - LIBS="$save_LIBS" - fi - fi - if test x$FOUND_GMP != xyes; then - -pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GMP" >&5 -printf %s "checking for GMP... " >&6; } - -if test -n "$GMP_CFLAGS"; then - pkg_cv_GMP_CFLAGS="$GMP_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmp >= 3\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gmp >= 3") 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_GMP_CFLAGS=`$PKG_CONFIG --cflags "gmp >= 3" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$GMP_LIBS"; then - pkg_cv_GMP_LIBS="$GMP_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmp >= 3\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gmp >= 3") 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_GMP_LIBS=`$PKG_CONFIG --libs "gmp >= 3" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - GMP_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gmp >= 3" 2>&1` - else - GMP_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gmp >= 3" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$GMP_PKG_ERRORS" >&5 - - - -elif test $pkg_failed = untried; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - - -else - GMP_CFLAGS=$pkg_cv_GMP_CFLAGS - GMP_LIBS=$pkg_cv_GMP_LIBS - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } - - GMP_FLAGS="$GMP_FLAGS" - GMP_LIBS="$GMP_LIBS" - FOUND_GMP=yes - -fi - - fi - - if test x$FOUND_GMP != xyes; then - ac_fn_c_check_header_compile "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" -if test "x$ac_cv_header_gmp_h" = xyes -then : - GMP_FLAGS="" - FOUND_GMP="yes" -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (gmp.h) of the library GMP." >&5 -printf "%s\n" "$as_me: WARNING: Cannot find headers (gmp.h) of the library GMP." >&2;} - -fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __gmpz_init in -lgmp" >&5 -printf %s "checking for __gmpz_init in -lgmp... " >&6; } -if test ${ac_cv_lib_gmp___gmpz_init+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lgmp $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. */ -char __gmpz_init (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return __gmpz_init (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_gmp___gmpz_init=yes -else $as_nop - ac_cv_lib_gmp___gmpz_init=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp___gmpz_init" >&5 -printf "%s\n" "$ac_cv_lib_gmp___gmpz_init" >&6; } -if test "x$ac_cv_lib_gmp___gmpz_init" = xyes -then : - GMP_LIBS="-lgmp" -else $as_nop - - FOUND_GMP="no" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libgmp : library missing. (Cannot find symbol gmpz_init). Check if libgmp is installed and if the version is correct" >&5 -printf "%s\n" "$as_me: WARNING: libgmp : library missing. (Cannot find symbol gmpz_init). Check if libgmp is installed and if the version is correct" >&2;} - -fi - - fi - - - -fi - -fi - - - - - - - - -# Check whether --with-mpfr was given. -if test ${with_mpfr+y} -then : - withval=$with_mpfr; - test "$withval" = no && { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: mpfr is a required package for some modules" >&5 -printf "%s\n" "$as_me: WARNING: mpfr is a required package for some modules" >&2;} - test "$withval" = yes || mpfr_prefix="$withval" - with_mpfr=yes -else $as_nop - with_mpfr=yes - -fi - - - if test "x$with_mpfr" != xno -then : - - #user override - if test "x$MPFR_LIBS" != x -then : - - have_mpfr=yes - FOUND_MPFR="yes" - -else $as_nop - - - - - saved_LIBS="$LIBS" - saved_CXXFLAGS="$CXXFLAGS" - MPFR_LIBS="" - MPFR_FLAGS="" - FOUND_MPFR="no" - if test x$mpfr_prefix == x; then - if test x$PREFIX != x; then - mpfr_prefix=$PREFIX - fi - fi - if test x$mpfr_prefix != x; then - ac_mpfr_CFLAGS="-I$mpfr_prefix/include" - ac_mpfr_LDOPTS="-L$mpfr_prefix/lib" - - - save_CFLAGS="$CFLAGS" - save_CPPFLAGS="$CPPFLAGS" - CFLAGS="$ac_mpfr_CFLAGS $save_CFLAGS" - CPPFLAGS="$ac_mpfr_CFLAGS $save_CPPFLAGS" - - cache_var=ac_cv_header_mpfr_h - ac_fn_c_check_header_compile "$LINENO" "mpfr.h" "ac_cv_header_mpfr_h" "$ac_includes_default" -if test "x$ac_cv_header_mpfr_h" = xyes -then : - MPFR_FLAGS="$ac_mpfr_CFLAGS" - FOUND_MPFR="yes" -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (mpfr.h) of the library MPFR in $mpfr_prefix/include." >&5 -printf "%s\n" "$as_me: WARNING: Cannot find headers (mpfr.h) of the library MPFR in $mpfr_prefix/include." >&2;} - -fi - - $as_unset $cache_var - CFLAGS="$save_CFLAGS" - CPPFLAGS="$save_CPPFLAGS" - - if test x$FOUND_MPFR == xyes; then - save_LIBS="$LIBS" - LIBS="$ac_mpfr_LDOPTS -lmpfr $save_LIBS" - - cache_var=ac_cv_lib_mpfr_mpfr_init - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpfr_init in -lmpfr" >&5 -printf %s "checking for mpfr_init in -lmpfr... " >&6; } -if test ${ac_cv_lib_mpfr_mpfr_init+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpfr $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. */ -char mpfr_init (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return mpfr_init (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_mpfr_mpfr_init=yes -else $as_nop - ac_cv_lib_mpfr_mpfr_init=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_mpfr_init" >&5 -printf "%s\n" "$ac_cv_lib_mpfr_mpfr_init" >&6; } -if test "x$ac_cv_lib_mpfr_mpfr_init" = xyes -then : - MPFR_LIBS="$ac_mpfr_LDOPTS -lmpfr" -else $as_nop - FOUND_MPFR="no" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libmpfr : library missing. (Cannot find symbol mpfr_init) in $mpfr_prefix. Check if libmpfr is installed and if the version is correct" >&5 -printf "%s\n" "$as_me: WARNING: libmpfr : library missing. (Cannot find symbol mpfr_init) in $mpfr_prefix. Check if libmpfr is installed and if the version is correct" >&2;} - -fi - - LIBS="$save_LIBS" - $as_unset $cache_var - fi - fi - if test x$FOUND_MPFR != xyes; then - -pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPFR" >&5 -printf %s "checking for MPFR... " >&6; } - -if test -n "$MPFR_CFLAGS"; then - pkg_cv_MPFR_CFLAGS="$MPFR_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mpfr >= 3\""; } >&5 - ($PKG_CONFIG --exists --print-errors "mpfr >= 3") 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_MPFR_CFLAGS=`$PKG_CONFIG --cflags "mpfr >= 3" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$MPFR_LIBS"; then - pkg_cv_MPFR_LIBS="$MPFR_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mpfr >= 3\""; } >&5 - ($PKG_CONFIG --exists --print-errors "mpfr >= 3") 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_MPFR_LIBS=`$PKG_CONFIG --libs "mpfr >= 3" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - MPFR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "mpfr >= 3" 2>&1` - else - MPFR_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "mpfr >= 3" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$MPFR_PKG_ERRORS" >&5 - - - -elif test $pkg_failed = untried; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - - -else - MPFR_CFLAGS=$pkg_cv_MPFR_CFLAGS - MPFR_LIBS=$pkg_cv_MPFR_LIBS - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } - - MPFR_FLAGS="$MPFR_FLAGS" - MPFR_LIBS="$MPFR_LIBS" - FOUND_MPFR=yes - -fi - - fi - - if test x$FOUND_MPFR != xyes; then - ac_fn_c_check_header_compile "$LINENO" "mpfr.h" "ac_cv_header_mpfr_h" "$ac_includes_default" -if test "x$ac_cv_header_mpfr_h" = xyes -then : - MPFR_FLAGS="" - FOUND_MPFR="yes" -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (mpfr.h) of the library MPFR." >&5 -printf "%s\n" "$as_me: WARNING: Cannot find headers (mpfr.h) of the library MPFR." >&2;} - -fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpfr_init in -lmpfr" >&5 -printf %s "checking for mpfr_init in -lmpfr... " >&6; } -if test ${ac_cv_lib_mpfr_mpfr_init+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpfr $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. */ -char mpfr_init (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return mpfr_init (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_mpfr_mpfr_init=yes -else $as_nop - ac_cv_lib_mpfr_mpfr_init=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_mpfr_init" >&5 -printf "%s\n" "$ac_cv_lib_mpfr_mpfr_init" >&6; } -if test "x$ac_cv_lib_mpfr_mpfr_init" = xyes -then : - MPFR_LIBS="-lmpfr" -else $as_nop - - FOUND_MPFR="no" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libmpfr : library missing. (Cannot find symbol mpfr_init). Check if libmpfr is installed and if the version is correct" >&5 -printf "%s\n" "$as_me: WARNING: libmpfr : library missing. (Cannot find symbol mpfr_init). Check if libmpfr is installed and if the version is correct" >&2;} - -fi - - fi - - - -fi - -fi - - - - - - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -save_CFLAGS="$CFLAGS" -save_CPPFLAGS="$CPPFLAGS" -CFLAGS="$MPFR_FLAGS $save_CFLAGS" -CPPFLAGS="$MPFR_FLAGS $save_CPPFLAGS" -cache_var=ac_cv_header_mpfr_h -#AC_CHECK_HEADER( -# [mpreal.h], -# [], -# [AC_MSG_WARN([Cannot find header (mpreal.h) of the library MPFR with MPFR_FLAGS $MPFR_FLAGS.])] -#) -$as_unset $cache_var -CFLAGS="$save_CFLAGS" -CPPFLAGS="$save_CPPFLAGS" -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 - - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_AWK+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_AWK="$ac_prog" - printf "%s\n" "$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 -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -printf "%s\n" "$AWK" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -printf %s "checking for grep that handles long lines and -e... " >&6; } -if test ${ac_cv_path_GREP+y} -then : - printf %s "(cached) " >&6 -else $as_nop - 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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 - printf %s 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - printf "%s\n" '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 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -printf "%s\n" "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - - - - - - - -if test "" = "" ; then - : # Recognized value -elif test "" = "serial" ; then - : # Recognized value -elif test "" = "parallel"; then - : # Recognized value -else - as_fn_error $? " -Unrecognized value for AX_LIB_HDF5 within configure.ac. -If supplied, argument 1 must be either 'serial' or 'parallel'. -" "$LINENO" 5 -fi - - -# Check whether --with-hdf5 was given. -if test ${with_hdf5+y} -then : - withval=$with_hdf5; if test "$withval" = "no"; then - with_hdf5="no" - elif test "$withval" = "yes"; then - with_hdf5="yes" - else - with_hdf5="yes" - H5CC="$withval" - fi -else $as_nop - with_hdf5="yes" - -fi - - -HDF5_CC="" -HDF5_VERSION="" -HDF5_CFLAGS="" -HDF5_CPPFLAGS="" -HDF5_LDFLAGS="" -HDF5_LIBS="" -HDF5_FC="" -HDF5_FFLAGS="" -HDF5_FLIBS="" -HDF5_TYPE="" - -if test "$with_hdf5" = "yes"; then - if test -z "$H5CC"; then - for ac_prog in h5pcc h5cc -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_H5CC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $H5CC in - [\\/]* | ?:[\\/]*) - ac_cv_path_H5CC="$H5CC" # 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_H5CC="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$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 -H5CC=$ac_cv_path_H5CC -if test -n "$H5CC"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $H5CC" >&5 -printf "%s\n" "$H5CC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$H5CC" && break -done - - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Using provided HDF5 C wrapper" >&5 -printf %s "checking Using provided HDF5 C wrapper... " >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $H5CC" >&5 -printf "%s\n" "$H5CC" >&6; } - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for HDF5 type" >&5 -printf %s "checking for HDF5 type... " >&6; } - case $H5CC in #( - *h5pcc) : - HDF5_TYPE=parallel ;; #( - *h5cc) : - HDF5_TYPE=serial ;; #( - *) : - HDF5_TYPE=neither ;; -esac - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $HDF5_TYPE" >&5 -printf "%s\n" "$HDF5_TYPE" >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for HDF5 libraries" >&5 -printf %s "checking for HDF5 libraries... " >&6; } - if test ! -f "$H5CC" || test ! -x "$H5CC"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: -Unable to locate HDF5 compilation helper scripts 'h5cc' or 'h5pcc'. -Please specify --with-hdf5= as the full path to h5cc or h5pcc. -HDF5 support is being disabled (equivalent to --with-hdf5=no). -" >&5 -printf "%s\n" "$as_me: WARNING: -Unable to locate HDF5 compilation helper scripts 'h5cc' or 'h5pcc'. -Please specify --with-hdf5= as the full path to h5cc or h5pcc. -HDF5 support is being disabled (equivalent to --with-hdf5=no). -" >&2;} - with_hdf5="no" - with_hdf5_fortran="no" - else - HDF5_SHOW=$(eval $H5CC -show) - - HDF5_CC=$(eval $H5CC -show | $AWK '{print $1}') - if test "$HDF5_CC" = "ccache"; then - HDF5_CC=$(eval $H5CC -show | $AWK '{print $2}') - fi - - - HDF5_VERSION=$(eval $H5CC -showconfig | $GREP 'HDF5 Version:' \ - | $AWK '{print $3}') - - HDF5_tmp_flags=$(eval $H5CC -showconfig \ - | $GREP 'FLAGS\|Extra libraries:' \ - | $AWK -F: '{printf("%s "), $2}' ) - - HDF5_tmp_inst=$(eval $H5CC -showconfig \ - | $GREP 'Installation point:' \ - | $AWK '{print $NF}' ) - - HDF5_CPPFLAGS="-I${HDF5_tmp_inst}/include" - - for arg in $HDF5_SHOW $HDF5_tmp_flags ; do - case "$arg" in - -I*) echo $HDF5_CPPFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ - || HDF5_CPPFLAGS="$HDF5_CPPFLAGS $arg" - ;; - -L*) echo $HDF5_LDFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ - || HDF5_LDFLAGS="$HDF5_LDFLAGS $arg" - ;; - -l*) echo $HDF5_LIBS | $GREP -e "$arg" 2>&1 >/dev/null \ - || HDF5_LIBS="$HDF5_LIBS $arg" - ;; - esac - done - - HDF5_LIBS="-lhdf5 $HDF5_LIBS" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (version $HDF5_VERSION)" >&5 -printf "%s\n" "yes (version $HDF5_VERSION)" >&6; } - - 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 - - ax_lib_hdf5_save_CC=$CC - ax_lib_hdf5_save_CPPFLAGS=$CPPFLAGS - ax_lib_hdf5_save_LIBS=$LIBS - ax_lib_hdf5_save_LDFLAGS=$LDFLAGS - CC=$HDF5_CC - CPPFLAGS=$HDF5_CPPFLAGS - LIBS=$HDF5_LIBS - LDFLAGS=$HDF5_LDFLAGS - ac_fn_c_check_header_compile "$LINENO" "hdf5.h" "ac_cv_header_hdf5_h" "$ac_includes_default" -if test "x$ac_cv_header_hdf5_h" = xyes -then : - ac_cv_hadf5_h=yes -else $as_nop - ac_cv_hadf5_h=no -fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for H5Fcreate in -lhdf5" >&5 -printf %s "checking for H5Fcreate in -lhdf5... " >&6; } -if test ${ac_cv_lib_hdf5_H5Fcreate+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lhdf5 $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. */ -char H5Fcreate (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return H5Fcreate (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_hdf5_H5Fcreate=yes -else $as_nop - ac_cv_lib_hdf5_H5Fcreate=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hdf5_H5Fcreate" >&5 -printf "%s\n" "$ac_cv_lib_hdf5_H5Fcreate" >&6; } -if test "x$ac_cv_lib_hdf5_H5Fcreate" = xyes -then : - ac_cv_libhdf5=yes -else $as_nop - ac_cv_libhdf5=no -fi - - if test "$ac_cv_hadf5_h" = "no" && test "$ac_cv_libhdf5" = "no" ; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unable to compile HDF5 test program" >&5 -printf "%s\n" "$as_me: WARNING: Unable to compile HDF5 test program" >&2;} - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lhdf5_hl" >&5 -printf %s "checking for main in -lhdf5_hl... " >&6; } -if test ${ac_cv_lib_hdf5_hl_main+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lhdf5_hl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return main (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_hdf5_hl_main=yes -else $as_nop - ac_cv_lib_hdf5_hl_main=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hdf5_hl_main" >&5 -printf "%s\n" "$ac_cv_lib_hdf5_hl_main" >&6; } -if test "x$ac_cv_lib_hdf5_hl_main" = xyes -then : - HDF5_LIBS="-lhdf5_hl $HDF5_LIBS" -fi -ac_cv_lib_hdf5_hl=ac_cv_lib_hdf5_hl_main - - - CC=$ax_lib_hdf5_save_CC - CPPFLAGS=$ax_lib_hdf5_save_CPPFLAGS - LIBS=$ax_lib_hdf5_save_LIBS - LDFLAGS=$ax_lib_hdf5_save_LDFLAGS - 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 - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for matching HDF5 Fortran wrapper" >&5 -printf %s "checking for matching HDF5 Fortran wrapper... " >&6; } - H5FC=$(eval echo -n $H5CC | $SED -n 's/cc$/fc/p') - if test -x "$H5FC"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $H5FC" >&5 -printf "%s\n" "$H5FC" >&6; } - with_hdf5_fortran="yes" - - - for arg in `$H5FC -show` - do - case "$arg" in #( - -I*) echo $HDF5_FFLAGS | $GREP -e "$arg" >/dev/null \ - || HDF5_FFLAGS="$HDF5_FFLAGS $arg" - ;;#( - -L*) echo $HDF5_FFLAGS | $GREP -e "$arg" >/dev/null \ - || HDF5_FFLAGS="$HDF5_FFLAGS $arg" - echo $HDF5_FFLAGS | $GREP -e "-I${arg#-L}" >/dev/null \ - || HDF5_FFLAGS="$HDF5_FFLAGS -I${arg#-L}" - ;; - esac - done - - for arg in `$H5FC -showconfig | grep 'Fortran Flags'` - do - case "$arg" in #( - -I*) echo $HDF5_FFLAGS | $GREP -e "$arg" >/dev/null \ - || HDF5_FFLAGS="$HDF5_FFLAGS $arg" - ;;#( - -L*) echo $HDF5_FFLAGS | $GREP -e "$arg" >/dev/null \ - || HDF5_FFLAGS="$HDF5_FFLAGS $arg" - echo $HDF5_FFLAGS | $GREP -e "-I${arg#-L}" >/dev/null \ - || HDF5_FFLAGS="$HDF5_FFLAGS -I${arg#-L}" - ;; - esac - done - - for arg in $HDF5_LIBS - do - case "$arg" in #( - -lhdf5_hl) HDF5_FLIBS="$HDF5_FLIBS -lhdf5hl_fortran $arg" - ;; #( - -lhdf5) HDF5_FLIBS="$HDF5_FLIBS -lhdf5_fortran $arg" - ;; #( - *) HDF5_FLIBS="$HDF5_FLIBS $arg" - ;; - esac - done - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - with_hdf5_fortran="no" - fi - - - - - - - - - - - - -printf "%s\n" "#define HAVE_HDF5 1" >>confdefs.h - - fi -fi - - - - - - - - -if test "" = "" ; then - netcdf4_requested_mode="serial" -elif test "" = "serial" ; then - netcdf4_requested_mode="serial" -elif test "" = "parallel"; then - netcdf4_requested_mode="parallel" -else - as_fn_error $? " -Unrecognized value for AX_LIB_NETCDF4 within configure.ac. -If supplied, argument 1 must be either 'serial' or 'parallel'. -" "$LINENO" 5 -fi - - -# Check whether --with-netcdf4 was given. -if test ${with_netcdf4+y} -then : - withval=$with_netcdf4; if test "$withval" = "no"; then - with_netcdf4="no" - elif test "$withval" = "yes"; then - with_netcdf4="yes" - else - with_netcdf4="yes" - NETCDF4_PREFIX="${withval}" - NC_CONFIG="${withval}/bin/nc-config" - fi -else $as_nop - with_netcdf4="yes" - -fi - - -NETCDF4_CC="" -NETCDF4_VERSION="" -NETCDF4_CFLAGS="" -NETCDF4_CPPFLAGS="" -NETCDF4_LDFLAGS="" -NETCDF4_LIBS="" -NETCDF4_FC="" -NETCDF4_FFLAGS="" -NETCDF4_FLIBS="" - -if test "$with_netcdf4" = "yes"; then - if test -z "$NC_CONFIG"; then - for ac_prog in nc-config -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_NC_CONFIG+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $NC_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_NC_CONFIG="$NC_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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_NC_CONFIG="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$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 -NC_CONFIG=$ac_cv_path_NC_CONFIG -if test -n "$NC_CONFIG"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NC_CONFIG" >&5 -printf "%s\n" "$NC_CONFIG" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$NC_CONFIG" && break -done - - NETCDF4_PREFIX=$($as_dirname -- $($as_dirname -- "$NC_CONFIG" || -$as_expr X"$NC_CONFIG" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$NC_CONFIG" : 'X\(//\)[^/]' \| \ - X"$NC_CONFIG" : 'X\(//\)$' \| \ - X"$NC_CONFIG" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X"$NC_CONFIG" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q') || -$as_expr X$($as_dirname -- "$NC_CONFIG" || -$as_expr X"$NC_CONFIG" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$NC_CONFIG" : 'X\(//\)[^/]' \| \ - X"$NC_CONFIG" : 'X\(//\)$' \| \ - X"$NC_CONFIG" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X"$NC_CONFIG" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q') : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X$($as_dirname -- "$NC_CONFIG" || -$as_expr X"$NC_CONFIG" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$NC_CONFIG" : 'X\(//\)[^/]' \| \ - X"$NC_CONFIG" : 'X\(//\)$' \| \ - X"$NC_CONFIG" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X"$NC_CONFIG" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q') : 'X\(//\)[^/]' \| \ - X$($as_dirname -- "$NC_CONFIG" || -$as_expr X"$NC_CONFIG" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$NC_CONFIG" : 'X\(//\)[^/]' \| \ - X"$NC_CONFIG" : 'X\(//\)$' \| \ - X"$NC_CONFIG" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X"$NC_CONFIG" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q') : 'X\(//\)$' \| \ - X$($as_dirname -- "$NC_CONFIG" || -$as_expr X"$NC_CONFIG" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$NC_CONFIG" : 'X\(//\)[^/]' \| \ - X"$NC_CONFIG" : 'X\(//\)$' \| \ - X"$NC_CONFIG" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X"$NC_CONFIG" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q') : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X$($as_dirname -- "$NC_CONFIG" || -$as_expr X"$NC_CONFIG" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$NC_CONFIG" : 'X\(//\)[^/]' \| \ - X"$NC_CONFIG" : 'X\(//\)$' \| \ - X"$NC_CONFIG" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X"$NC_CONFIG" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q') | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q') - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Using provided NetCDF4 prefix" >&5 -printf %s "checking Using provided NetCDF4 prefix... " >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NC_CONFIG" >&5 -printf "%s\n" "$NC_CONFIG" >&6; } - fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for NetCDF4 libraries" >&5 -printf %s "checking for NetCDF4 libraries... " >&6; } - - if test ! -f "$NC_CONFIG" || test ! -x "$NC_CONFIG"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: - -Unable to locate NetCDF4 compilation helper script 'nc-config'. -Please specify --with-netcdf4= as the full path prefix -where NetCDF4 has been installed. -NetCDF4 support is being disabled (equivalent to --with-netcdf4=no). -" >&5 -printf "%s\n" "$as_me: WARNING: - -Unable to locate NetCDF4 compilation helper script 'nc-config'. -Please specify --with-netcdf4= as the full path prefix -where NetCDF4 has been installed. -NetCDF4 support is being disabled (equivalent to --with-netcdf4=no). -" >&2;} - with_netcdf4="no" - with_netcdf4_fortran="no" - else - NETCDF4_CC=$(eval $NC_CONFIG --cc | $AWK '{print $1}') - if test "$NETCDF4_CC" = "ccache"; then - NETCDF4_CC=$(eval $NC_CONFIG --cc | $AWK '{print $2}') - fi - - NETCDF4_VERSION=$(eval $NC_CONFIG --version | $AWK '{print $2}') - - NETCDF4_CFLAGS=$(eval $NC_CONFIG --cflags) - - NETCDF4_tmp_clibs=$(eval $NC_CONFIG --libs) - - for arg in $NETCDF4_tmp_clibs ; do - case "$arg" in - -L*) echo $NETCDF4_LDFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ - || NETCDF4_LDFLAGS="$arg $NETCDF4_LDFLAGS" - ;; - -l*) echo $NETCDF4_LIBS | $GREP -e "$arg" 2>&1 >/dev/null \ - || NETCDF4_LIBS="$arg $NETCDF4_LIBS" - ;; - esac - done - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (version $NETCDF4_VERSION)" >&5 -printf "%s\n" "yes (version $NETCDF4_VERSION)" >&6; } - - if test "$netcdf4_requested_mode" = "parallel" ; then - with_netcdf4_parallel=$(eval $NC_CONFIG --has-pnetcdf) - if test "$with_netcdf4_parallel" = "no" ; then - as_fn_error $? " -parallel NetCDF4 is not supported (while it was requested) -" "$LINENO" 5 - fi - fi - - ax_lib_netcdf4_save_CC=$CC - ax_lib_netcdf4_save_CFLAGS=$CFLAGS - ax_lib_netcdf4_save_CPPFLAGS=$CPPFLAGS - ax_lib_netcdf4_save_LIBS=$LIBS - ax_lib_netcdf4_save_LDFLAGS=$LDFLAGS - CC=$NETCDF4_CC - CFLAGS=$NETCDF4_CFLAGS - LIBS=$NETCDF4_LIBS - LDFLAGS=$NETCDF4_LDFLAGS - ac_fn_c_check_header_compile "$LINENO" "netcdf.h" "ac_cv_header_netcdf_h" "$ac_includes_default" -if test "x$ac_cv_header_netcdf_h" = xyes -then : - ac_cv_netcdf4_h=yes -else $as_nop - ac_cv_netcdf4_h=no -fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for nc_create in -lnetcdf" >&5 -printf %s "checking for nc_create in -lnetcdf... " >&6; } -if test ${ac_cv_lib_netcdf_nc_create+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lnetcdf $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. */ -char nc_create (); -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ -return nc_create (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_netcdf_nc_create=yes -else $as_nop - ac_cv_lib_netcdf_nc_create=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_netcdf_nc_create" >&5 -printf "%s\n" "$ac_cv_lib_netcdf_nc_create" >&6; } -if test "x$ac_cv_lib_netcdf_nc_create" = xyes -then : - ac_cv_libnetcdf4=yes -else $as_nop - ac_cv_libnetcdf4=no -fi - - if test "$ac_cv_netcdf4_h" = "no" && \ - test "$ac_cv_libnetcdf4" = "no" ; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unable to compile NetCDF4 test program" >&5 -printf "%s\n" "$as_me: WARNING: Unable to compile NetCDF4 test program" >&2;} - fi - - CC=$ax_lib_netcdf4_save_CC - CFLAGS=$ax_lib_netcdf4_save_CFLAGS - LIBS=$ax_lib_netcdf4_save_LIBS - LDFLAGS=$ax_lib_netcdf4_save_LDFLAGS - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for matching NetCDF4 Fortran libraries" >&5 -printf %s "checking for matching NetCDF4 Fortran libraries... " >&6; } - NF_CONFIG="${NETCDF4_PREFIX}/bin/nf-config" - if test ! -f "$NF_CONFIG" || test ! -x "$NF_CONFIG"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - with_netcdf4_fortran="no" - else - NETCDF_FVERSION=$(eval $NF_CONFIG --version | $AWK '{print $2}') - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (version $NETCDF_FVERSION)" >&5 -printf "%s\n" "yes (version $NETCDF_FVERSION)" >&6; } - NETCDF4_FC=$(eval $NF_CONFIG --fc | $AWK '{print $1}') - if test "$NETCDF4_FC" = "ccache"; then - NETCDF4_FC=$(eval $NF_CONFIG --fc | $AWK '{print $2}') - fi - NETCDF4_FFLAGS=$(eval $NC_CONFIG --fflags) - - NETCDF4_tmp_flibs=$(eval $NC_CONFIG --flibs) - - for arg in $NETCDF4_tmp_flibs ; do - case "$arg" in - -L*) echo $NETCDF4_LDFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ - || NETCDF4_LDFLAGS="$arg $NETCDF4_LDFLAGS" - ;; - -l*) echo $NETCDF4_FLIBS | $GREP -e "$arg" 2>&1 >/dev/null \ - || NETCDF4_FLIBS="$arg $NETCDF4_FLIBS" - ;; - esac - done - with_netcdf4_fortran="yes" - fi - - - - - - - - - - - -printf "%s\n" "#define HAVE_NETCDF4 1" >>confdefs.h - - fi -fi - - - -# Check whether --enable-pic was given. -if test ${enable_pic+y} -then : - enableval=$enable_pic; enable_pic="$enableval" - test "x$enable_pic" = x && enable_pic=auto -else $as_nop - enable_pic=auto -fi - -# disable PIC by default for static builds -if test "$enable_pic" = auto && test "$enable_static" = yes; then - enable_pic=no -fi -# if PIC hasn't been explicitly disabled, try to figure out the flags -if test "$enable_pic" != no; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to produce PIC" >&5 -printf %s "checking for $CC option to produce PIC... " >&6; } - # allow the user's flags to override - if test "x$PIC_FLAGS" = x; then - # see if we're using GCC - if test "x$GCC" = xyes; then - case "$host_os" in - aix*|beos*|cygwin*|irix5*|irix6*|osf3*|osf4*|osf5*) - # PIC is the default for these OSes. - ;; - mingw*|os2*|pw32*) - # This hack is so that the source file can tell whether - # it is being built for inclusion in a dll (and should - # export symbols for example). - PIC_FLAGS="-DDLL_EXPORT" - ;; - darwin*|rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - PIC_FLAGS="-fno-common" - ;; - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, - # but not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - PIC_FLAGS="-fPIC" - ;; - esac - ;; - *) - # Everyone else on GCC uses -fPIC - PIC_FLAGS="-fPIC" - ;; - esac - else # !GCC - case "$host_os" in - hpux9*|hpux10*|hpux11*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, - # but not for PA HP-UX. - case "$host_cpu" in - hppa*64*|ia64*) - # +Z the default - ;; - *) - PIC_FLAGS="+Z" - ;; - esac - ;; - linux*|k*bsd*-gnu) - case `basename "$CC"` in - icc*|ecc*|ifort*) - PIC_FLAGS="-KPIC" - ;; - pgcc*|pgf77*|pgf90*|pgf95*) - # Portland Group compilers (*not* the Pentium gcc - # compiler, which looks to be a dead project) - PIC_FLAGS="-fpic" - ;; - ccc*) - # All Alpha code is PIC. - ;; - xl*) - # IBM XL C 8.0/Fortran 10.1 on PPC - PIC_FLAGS="-qpic" - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*|*Sun\ F*) - # Sun C 5.9 or Sun Fortran - PIC_FLAGS="-KPIC" - ;; - esac - esac - ;; - solaris*) - PIC_FLAGS="-KPIC" - ;; - sunos4*) - PIC_FLAGS="-PIC" - ;; - esac - fi # GCC - fi # PIC_FLAGS - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PIC_FLAGS" >&5 -printf "%s\n" "$PIC_FLAGS" >&6; } -fi - - -CFLAGS="$CFLAGS $PIC_FLAGS" -CXXFLAGS="$CXXFLAGS $PIC_FLAGS" -FCFLAGS="$FCFLAGS $PIC_FLAGS" - - - -# Check whether --with-gsl-prefix was given. -if test ${with_gsl_prefix+y} -then : - withval=$with_gsl_prefix; gsl_prefix="$withval" -else $as_nop - gsl_prefix="" -fi - - -# Check whether --with-gsl-exec-prefix was given. -if test ${with_gsl_exec_prefix+y} -then : - withval=$with_gsl_exec_prefix; gsl_exec_prefix="$withval" -else $as_nop - gsl_exec_prefix="" -fi - -# Check whether --enable-gsltest was given. -if test ${enable_gsltest+y} -then : - enableval=$enable_gsltest; -else $as_nop - enable_gsltest=yes -fi - - - if test "x${GSL_CONFIG+set}" != xset ; then - if test "x$gsl_prefix" != x ; then - GSL_CONFIG="$gsl_prefix/bin/gsl-config" - fi - if test "x$gsl_exec_prefix" != x ; then - GSL_CONFIG="$gsl_exec_prefix/bin/gsl-config" - fi - fi - - - if test "x${GSL_CONFIG+set}" == xset ; then - if test -x "${GSL_CONFIG}" ; then - gsl_config_exists=yes - else - gsl_config_exists=no - fi - fi - FOUND_GSL=no - if test "x$GSL_CFLAGS" != x ; then - if test "x$GSL_LIBS" != x ; then - GSL_FLAGS="$GSL_CFLAGS" - GSL_LIBS="$GSL_LIBS" - FOUND_GSL=yes - - fi - fi - if test "$FOUND_GSL" = "no"; then - if test "x$gsl_config_exists" != xyes ; then - -pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GSL" >&5 -printf %s "checking for GSL... " >&6; } - -if test -n "$GSL_CFLAGS"; then - pkg_cv_GSL_CFLAGS="$GSL_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gsl >= 1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gsl >= 1.0") 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_GSL_CFLAGS=`$PKG_CONFIG --cflags "gsl >= 1.0" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$GSL_LIBS"; then - pkg_cv_GSL_LIBS="$GSL_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gsl >= 1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gsl >= 1.0") 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_GSL_LIBS=`$PKG_CONFIG --libs "gsl >= 1.0" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - GSL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gsl >= 1.0" 2>&1` - else - GSL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gsl >= 1.0" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$GSL_PKG_ERRORS" >&5 - - - - -elif test $pkg_failed = untried; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - - - -else - GSL_CFLAGS=$pkg_cv_GSL_CFLAGS - GSL_LIBS=$pkg_cv_GSL_LIBS - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } - - GSL_FLAGS="$GSL_CFLAGS" - GSL_LIBS="$GSL_LIBS" - FOUND_GSL=yes - - - FOUND_GSL=yes - -fi - fi - fi - if test "$FOUND_GSL" = "no"; then - # Extract the first word of "gsl-config", so it can be a program name with args. -set dummy gsl-config; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_GSL_CONFIG+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $GSL_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_GSL_CONFIG="$GSL_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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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_GSL_CONFIG="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$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_GSL_CONFIG" && ac_cv_path_GSL_CONFIG="no" - ;; -esac -fi -GSL_CONFIG=$ac_cv_path_GSL_CONFIG -if test -n "$GSL_CONFIG"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GSL_CONFIG" >&5 -printf "%s\n" "$GSL_CONFIG" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - min_gsl_version=1.0 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GSL - version >= $min_gsl_version" >&5 -printf %s "checking for GSL - version >= $min_gsl_version... " >&6; } - no_gsl="" - if test "$GSL_CONFIG" = "no" ; then - no_gsl=yes - else - GSL_FLAGS=`$GSL_CONFIG --cflags` - GSL_LIBS=`$GSL_CONFIG --libs` - - gsl_version=`$GSL_CONFIG --version` - as_arg_v1=$gsl_version -as_arg_v2=$min_gsl_version -awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null -case $? in #( - 1) : - no_gsl=yes ;; #( - 0) : - ;; #( - 2) : - ;; #( - *) : - ;; -esac - fi - if test "x$no_gsl" = x ; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } - FOUND_GSL=yes - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - if test "$GSL_CONFIG" = "no" ; then - echo "*** The gsl-config script installed by GSL could not be found" - echo "*** If GSL was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the GSL_CONFIG environment variable to the" - echo "*** full path to gsl-config." - else - if test -f conf.gsltest ; then - : - else - echo "*** Could not run GSL test program, checking why..." - CFLAGS="$CFLAGS $GSL_FLAGS" - LIBS="$LIBS $GSL_LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include - -#ifdef F77_DUMMY_MAIN - -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } - -#endif -int -main (void) -{ - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding GSL or finding the wrong" - echo "*** version of GSL. If it is not finding GSL, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" -else $as_nop - echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means GSL was incorrectly installed" - echo "*** or that you have moved GSL since it was installed. In the latter case, you" - echo "*** may want to edit the gsl-config script: $GSL_CONFIG" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - # GSL_FLAGS="" - # GSL_LIBS="" - - FOUND_GSL=no - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: gsl not found, please specify --with-gsl" >&5 -printf "%s\n" "$as_me: WARNING: gsl not found, please specify --with-gsl" >&2;} - - fi - - fi - - - rm -f conf.gsltest - - - - - - - # AC_CHECK_PYTHON_MODULE(MODULE_NAME [,VERSION_VARIABLE]) - - # the python module name - MODULE_NAME=numpy - # the python variable that contains the module's version - # If this is not set the version will not be retrieved from the module. - # Example: __version__. - VERSION_VARIABLE=numpy.__version__ - - # check for the python binary defined in $PYTHON - # fall back to "python" - if test -z $PYTHON; - then - PYTHON="python" - fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python module $MODULE_NAME" >&5 -printf %s "checking for python module $MODULE_NAME... " >&6; } - - if test -z "__version__" - then - $PYTHON -c "import $MODULE_NAME" 2>/dev/null - if test $? -eq 0 - then - eval PYTHON_${MODULE_NAME}=1 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 -printf "%s\n" "found" >&6; } - else - eval PYTHON_${MODULE_NAME}=0 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -printf "%s\n" "not found" >&6; } - fi - - else - VERSION=`$PYTHON -c "import $MODULE_NAME; print ($VERSION_VARIABLE)" 2>/dev/null` - if test $? -eq 0 - then - eval PYTHON_${MODULE_NAME}_VERSION=$VERSION - eval PYTHON_${MODULE_NAME}=1 - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found ($VERSION)" >&5 -printf "%s\n" "found ($VERSION)" >&6; } - else - eval PYTHON_${MODULE_NAME}=0 - eval PYTHON_${MODULE_NAME}_VERSION=0 - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -printf "%s\n" "not found" >&6; } - fi - - - fi - -if test x"$PYTHON_numpy" != x1 -then : - as_fn_error $? "numpy not found, please install numpy first" "$LINENO" 5 - -fi -as_arg_v1=$PYTHON_numpy_VERSION -as_arg_v2=1.2.1 -awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null -case $? in #( - 1) : - as_fn_error $? "numpy version $PYTHON_numpy_VERSION found, but at least 1.3.0 needed" "$LINENO" 5 - ;; #( - 0) : - ;; #( - 2) : - ;; #( - *) : - ;; -esac - - -if test x"$WITH_MPI" != xno -then : - - - # AC_CHECK_PYTHON_MODULE(MODULE_NAME [,VERSION_VARIABLE]) - - # the python module name - MODULE_NAME=mpi4py - # the python variable that contains the module's version - # If this is not set the version will not be retrieved from the module. - # Example: __version__. - VERSION_VARIABLE=mpi4py.__version__ - - # check for the python binary defined in $PYTHON - # fall back to "python" - if test -z $PYTHON; - then - PYTHON="python" - fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python module $MODULE_NAME" >&5 -printf %s "checking for python module $MODULE_NAME... " >&6; } - - if test -z "__version__" - then - $PYTHON -c "import $MODULE_NAME" 2>/dev/null - if test $? -eq 0 - then - eval PYTHON_${MODULE_NAME}=1 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 -printf "%s\n" "found" >&6; } - else - eval PYTHON_${MODULE_NAME}=0 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -printf "%s\n" "not found" >&6; } - fi - - else - VERSION=`$PYTHON -c "import $MODULE_NAME; print ($VERSION_VARIABLE)" 2>/dev/null` - if test $? -eq 0 - then - eval PYTHON_${MODULE_NAME}_VERSION=$VERSION - eval PYTHON_${MODULE_NAME}=1 - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found ($VERSION)" >&5 -printf "%s\n" "found ($VERSION)" >&6; } - else - eval PYTHON_${MODULE_NAME}=0 - eval PYTHON_${MODULE_NAME}_VERSION=0 - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -printf "%s\n" "not found" >&6; } - fi - - - fi - - if test x"$PYTHON_mpi4py" != x1 -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: mpi4py not found, please install mpi4py first" >&5 -printf "%s\n" "$as_me: WARNING: mpi4py not found, please install mpi4py first" >&2;} - -fi - if test x"$PYTHON_mpi4py" == x1 -then : - as_arg_v1=$PYTHON_mpi4py_VERSION -as_arg_v2=1.1 -awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null -case $? in #( - 1) : - as_fn_error $? "mpi4py version $PYTHON_mpi4py_VERSION found, but at least 1.1.0 needed" "$LINENO" 5 - ;; #( - 0) : - ;; #( - 2) : - ;; #( - *) : - ;; -esac - -fi - -fi - - - - # AC_CHECK_PYTHON_MODULE(MODULE_NAME [,VERSION_VARIABLE]) - - # the python module name - MODULE_NAME=h5py - # the python variable that contains the module's version - # If this is not set the version will not be retrieved from the module. - # Example: __version__. - VERSION_VARIABLE=h5py.version.version - - # check for the python binary defined in $PYTHON - # fall back to "python" - if test -z $PYTHON; - then - PYTHON="python" - fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python module $MODULE_NAME" >&5 -printf %s "checking for python module $MODULE_NAME... " >&6; } - - if test -z "version.version" - then - $PYTHON -c "import $MODULE_NAME" 2>/dev/null - if test $? -eq 0 - then - eval PYTHON_${MODULE_NAME}=1 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 -printf "%s\n" "found" >&6; } - else - eval PYTHON_${MODULE_NAME}=0 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -printf "%s\n" "not found" >&6; } - fi - - else - VERSION=`$PYTHON -c "import $MODULE_NAME; print ($VERSION_VARIABLE)" 2>/dev/null` - if test $? -eq 0 - then - eval PYTHON_${MODULE_NAME}_VERSION=$VERSION - eval PYTHON_${MODULE_NAME}=1 - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found ($VERSION)" >&5 -printf "%s\n" "found ($VERSION)" >&6; } - else - eval PYTHON_${MODULE_NAME}=0 - eval PYTHON_${MODULE_NAME}_VERSION=0 - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -printf "%s\n" "not found" >&6; } - fi - - - fi - -as_arg_v1=$PYTHON_h5py_VERSION -as_arg_v2=1.1.0 -awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null -case $? in #( - 1) : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: h5py version $PYTHON_h5py_VERSION found, but at least 1.1.0 needed" >&5 -printf "%s\n" "$as_me: WARNING: h5py version $PYTHON_h5py_VERSION found, but at least 1.1.0 needed" >&2;} - ;; #( - 0) : - ;; #( - 2) : - ;; #( - *) : - ;; -esac - - # AC_CHECK_PYTHON_MODULE(MODULE_NAME [,VERSION_VARIABLE]) - - # the python module name - MODULE_NAME=pytest - # the python variable that contains the module's version - # If this is not set the version will not be retrieved from the module. - # Example: __version__. - VERSION_VARIABLE=pytest.__version__ - - # check for the python binary defined in $PYTHON - # fall back to "python" - if test -z $PYTHON; - then - PYTHON="python" - fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python module $MODULE_NAME" >&5 -printf %s "checking for python module $MODULE_NAME... " >&6; } - - if test -z "__version__" - then - $PYTHON -c "import $MODULE_NAME" 2>/dev/null - if test $? -eq 0 - then - eval PYTHON_${MODULE_NAME}=1 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 -printf "%s\n" "found" >&6; } - else - eval PYTHON_${MODULE_NAME}=0 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -printf "%s\n" "not found" >&6; } - fi - - else - VERSION=`$PYTHON -c "import $MODULE_NAME; print ($VERSION_VARIABLE)" 2>/dev/null` - if test $? -eq 0 - then - eval PYTHON_${MODULE_NAME}_VERSION=$VERSION - eval PYTHON_${MODULE_NAME}=1 - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found ($VERSION)" >&5 -printf "%s\n" "found ($VERSION)" >&6; } - else - eval PYTHON_${MODULE_NAME}=0 - eval PYTHON_${MODULE_NAME}_VERSION=0 - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -printf "%s\n" "not found" >&6; } - fi - - - fi - -as_arg_v1=$PYTHON_pytest_VERSION -as_arg_v2=2.999 -awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null -case $? in #( - 1) : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: pytest version $PYTHON_pytest_VERSION found, but at least 3.0 needed" >&5 -printf "%s\n" "$as_me: WARNING: pytest version $PYTHON_pytest_VERSION found, but at least 3.0 needed" >&2;} - ;; #( - 0) : - ;; #( - 2) : - ;; #( - *) : - ;; -esac - - # AC_CHECK_PYTHON_MODULE(MODULE_NAME [,VERSION_VARIABLE]) - - # the python module name - MODULE_NAME=docutils - # the python variable that contains the module's version - # If this is not set the version will not be retrieved from the module. - # Example: __version__. - VERSION_VARIABLE=docutils.__version__ - - # check for the python binary defined in $PYTHON - # fall back to "python" - if test -z $PYTHON; - then - PYTHON="python" - fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python module $MODULE_NAME" >&5 -printf %s "checking for python module $MODULE_NAME... " >&6; } - - if test -z "__version__" - then - $PYTHON -c "import $MODULE_NAME" 2>/dev/null - if test $? -eq 0 - then - eval PYTHON_${MODULE_NAME}=1 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 -printf "%s\n" "found" >&6; } - else - eval PYTHON_${MODULE_NAME}=0 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -printf "%s\n" "not found" >&6; } - fi - - else - VERSION=`$PYTHON -c "import $MODULE_NAME; print ($VERSION_VARIABLE)" 2>/dev/null` - if test $? -eq 0 - then - eval PYTHON_${MODULE_NAME}_VERSION=$VERSION - eval PYTHON_${MODULE_NAME}=1 - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found ($VERSION)" >&5 -printf "%s\n" "found ($VERSION)" >&6; } - else - eval PYTHON_${MODULE_NAME}=0 - eval PYTHON_${MODULE_NAME}_VERSION=0 - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -printf "%s\n" "not found" >&6; } - fi - - - fi - -as_arg_v1=$PYTHON_docutils_VERSION -as_arg_v2=0.5 -awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null -case $? in #( - 1) : - as_fn_error $? "docutils version $PYTHON_docutils_VERSION found, but at least 0.6 needed" "$LINENO" 5 - ;; #( - 0) : - ;; #( - 2) : - ;; #( - *) : - ;; -esac - - # AC_CHECK_PYTHON_MODULE(MODULE_NAME [,VERSION_VARIABLE]) - - # the python module name - MODULE_NAME=zlib - # the python variable that contains the module's version - # If this is not set the version will not be retrieved from the module. - # Example: __version__. - VERSION_VARIABLE=zlib.__version__ - - # check for the python binary defined in $PYTHON - # fall back to "python" - if test -z $PYTHON; - then - PYTHON="python" - fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python module $MODULE_NAME" >&5 -printf %s "checking for python module $MODULE_NAME... " >&6; } - - if test -z "__version__" - then - $PYTHON -c "import $MODULE_NAME" 2>/dev/null - if test $? -eq 0 - then - eval PYTHON_${MODULE_NAME}=1 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 -printf "%s\n" "found" >&6; } - else - eval PYTHON_${MODULE_NAME}=0 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -printf "%s\n" "not found" >&6; } - fi - - else - VERSION=`$PYTHON -c "import $MODULE_NAME; print ($VERSION_VARIABLE)" 2>/dev/null` - if test $? -eq 0 - then - eval PYTHON_${MODULE_NAME}_VERSION=$VERSION - eval PYTHON_${MODULE_NAME}=1 - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found ($VERSION)" >&5 -printf "%s\n" "found ($VERSION)" >&6; } - else - eval PYTHON_${MODULE_NAME}=0 - eval PYTHON_${MODULE_NAME}_VERSION=0 - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -printf "%s\n" "not found" >&6; } - fi - - - fi - -if test x"$PYTHON_zlib" != x1 -then : - as_fn_error $? "zlib not found, please recompile python check that development libraries for zlib ar installed first" "$LINENO" 5 - -fi -$PYTHON -c "import zlib; exit(zlib.crc32('amuse')&0xffffffff == 0xc0cc9367)" 2>/dev/null -if test x"$?" != x1 -then : - as_fn_error $? "crc32 function of zlib not found, please recompile python" "$LINENO" 5 - -fi -as_arg_v1=$PYTHON_zlib_VERSION -as_arg_v2=1.0 -awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null -case $? in #( - 1) : - as_fn_error $? "numpy version $PYTHON_zlib_VERSION found, but at least 1.0 needed" "$LINENO" 5 - ;; #( - 0) : - ;; #( - 2) : - ;; #( - *) : - ;; -esac - - # AC_CHECK_PYTHON_MODULE(MODULE_NAME [,VERSION_VARIABLE]) - - # the python module name - MODULE_NAME=matplotlib - # the python variable that contains the module's version - # If this is not set the version will not be retrieved from the module. - # Example: __version__. - VERSION_VARIABLE=matplotlib. - - # check for the python binary defined in $PYTHON - # fall back to "python" - if test -z $PYTHON; - then - PYTHON="python" - fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python module $MODULE_NAME" >&5 -printf %s "checking for python module $MODULE_NAME... " >&6; } - - if test -z "" - then - $PYTHON -c "import $MODULE_NAME" 2>/dev/null - if test $? -eq 0 - then - eval PYTHON_${MODULE_NAME}=1 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 -printf "%s\n" "found" >&6; } - else - eval PYTHON_${MODULE_NAME}=0 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -printf "%s\n" "not found" >&6; } - fi - - else - VERSION=`$PYTHON -c "import $MODULE_NAME; print ($VERSION_VARIABLE)" 2>/dev/null` - if test $? -eq 0 - then - eval PYTHON_${MODULE_NAME}_VERSION=$VERSION - eval PYTHON_${MODULE_NAME}=1 - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found ($VERSION)" >&5 -printf "%s\n" "found ($VERSION)" >&6; } - else - eval PYTHON_${MODULE_NAME}=0 - eval PYTHON_${MODULE_NAME}_VERSION=0 - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -printf "%s\n" "not found" >&6; } - fi - - - fi - - -#AC_CHECK_PYTHON_MODULE(Cython, __version__) -#AS_VERSION_COMPARE([$PYTHON_Cython_VERSION], [0.13], -# [AC_MSG_WARN([Cython version $PYTHON_Cython_VERSION found, but at least 0.13 needed])] -#) -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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -printf "%s\n" "$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+y} || &/ - 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 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -printf "%s\n" "$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 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -printf "%s\n" "$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}' - -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -# -# If the first sed substitution is executed (which looks for macros that -# take arguments), then branch to the quote section. Otherwise, -# look for a macro that doesn't take arguments. -ac_script=' -:mline -/\\$/{ - N - s,\\\n,, - b mline -} -t clear -:clear -s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g -t quote -s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g -t quote -b any -:quote -s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g -s/\[/\\&/g -s/\]/\\&/g -s/\$/$$/g -H -:any -${ - g - s/^\n// - s/\n/ /g - p -} -' -DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -printf "%s\n" "$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 -as_nop=: -if test ${ZSH_VERSION+y} && (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 $as_nop - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - - -# Reset variables that may have inherited troublesome values from -# the environment. - -# IFS needs to be set, to space, tab, and newline, in precisely that order. -# (If _AS_PATH_WALK were called with IFS unset, it would have the -# side effect of setting IFS to empty, thus disabling word splitting.) -# Quoting is to prevent editors from complaining about space-tab. -as_nl=' -' -export as_nl -IFS=" "" $as_nl" - -PS1='$ ' -PS2='> ' -PS4='+ ' - -# Ensure predictable behavior from utilities with locale-dependent output. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# We cannot yet rely on "unset" to work, but we need these variables -# to be unset--not just set to an empty or harmless value--now, to -# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct -# also avoids known problems related to "unset" and subshell syntax -# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). -for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH -do eval test \${$as_var+y} \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done - -# Ensure that fds 0, 1, and 2 are open. -if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi -if (exec 3>&2) ; then :; else exec 2>/dev/null; fi - -# The user is always right. -if ${PATH_SEPARATOR+false} :; 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 - - -# 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 - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - 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 - printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - - - -# 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 - printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - printf "%s\n" "$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_nop - 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_nop - 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 || -printf "%s\n" 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 - - -# Determine whether it's possible to make 'echo' print without a newline. -# These variables are no longer used directly by Autoconf, but are AC_SUBSTed -# for compatibility with existing Makefiles. -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 - -# For backward compatibility with old third-party macros, we provide -# the shell variables $as_echo and $as_echo_n. New code should use -# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. -as_echo='printf %s\n' -as_echo_n='printf %s' - -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=`printf "%s\n" "$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 || -printf "%s\n" 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 amuse $as_me 2023.7.0, which was -generated by GNU Autoconf 2.71. 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 - - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" - -_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 - -Configuration files: -$config_files - -Report bugs to the package provider." - -_ACEOF -ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` -ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config='$ac_cs_config_escaped' -ac_cs_version="\\ -amuse config.status 2023.7.0 -configured by $0, generated by GNU Autoconf 2.71, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2021 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' -AWK='$AWK' -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 ) - printf "%s\n" "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - printf "%s\n" "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h | --help | --hel | -h ) - printf "%s\n" "$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 - \printf "%s\n" "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 - printf "%s\n" "$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 - "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; - "bin/amusifier") CONFIG_FILES="$CONFIG_FILES bin/amusifier:bin/amusifier.in" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - - *) 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+y} || CONFIG_FILES=$config_files -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" - - -eval set X " :F $CONFIG_FILES " -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=`printf "%s\n" "$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 '` - printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -printf "%s\n" "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`printf "%s\n" "$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 || -printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`printf "%s\n" "$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 - # - -_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@*) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -printf "%s\n" "$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 -$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"; } && - { printf "%s\n" "$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 -printf "%s\n" "$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 - ;; - - - - esac - - - case $ac_file$ac_mode in - "bin/amusifier":F) chmod +x bin/amusifier ;; - - 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 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Configuration done. Configuration written to config.mk " >&5 -printf "%s\n" "$as_me: Configuration done. Configuration written to config.mk " >&6;} - diff --git a/configure.ac b/configure.ac deleted file mode 100644 index efb8516058..0000000000 --- a/configure.ac +++ /dev/null @@ -1,277 +0,0 @@ -AC_CONFIG_MACRO_DIRS([m4]) - -AC_INIT([amuse],[m4_esyscmd_s(python support/version.py)]) -AC_CONFIG_SRCDIR([src/amuse/__init__.py]) - -AC_CONFIG_FILES([config.mk]) -AC_CONFIG_FILES([bin/amusifier:bin/amusifier.in],[chmod +x bin/amusifier]) -AC_CONFIG_FILES([Makefile]) - -CODE_GENERATOR=amusifier - -AC_SUBST(CODE_GENERATOR) - -AC_PROG_CC() -AC_PROG_CXX() -AC_PROG_FC([],95) -AS_IF([test "x$FC" = "x"], [AC_MSG_ERROR([No fortran compiler found, please set the FC flag])]) -AX_FC_WORKS() -AX_FC_ISO_C_BINDING() -AC_ARG_VAR([PYTHON], [Python interpreter]) - -AC_SUBST(FC_ISO_C_BINDINGS) - -AM_PATH_PYTHON([3.7]) - -AC_PATH_PROG([PYTHON], [$PYTHON], []) -AC_ARG_VAR([NVCC], [CUDA compiler command]) -AC_ARG_VAR([NVCC_FLAGS], [Extra flags for the CUDA nvcc compiler]) - -AC_CHECK_PYTHON_DEV() - -AC_ARG_VAR([JAVA_HOME], [Java sdk directory]) - -R_JAVA() - -AC_SUBST(JAVA) -AC_SUBST(JAVA_LIBS) - -AC_ARG_VAR([MPIEXEC], [mpiexec or mpirun location]) -AC_PATH_PROGS(MPIEXEC, $MPIEXEC mpiexec mpirun) -AC_SUBST(MPIEXEC) - -AC_ARG_ENABLE(mpi, - [AS_HELP_STRING([--enable-mpi],[Enable MPI support for communicating with codes, by default enabled])], - [WITH_MPI=no - AS_IF([test "x$enable_mpi" != "xno"], [ - AX_MPI([WITH_MPI=yes], [AC_MSG_ERROR([MPI enabled, but no MPI found])] ) - ]) - ], - [AX_MPI([WITH_MPI=yes],[WITH_MPI=no])] -) - -AC_SUBST(WITH_MPI) - -AS_IF([test x"$WITH_MPI" != xno],[ - AC_LANG(C++) - AX_MPI() - AC_LANG(C) - AX_MPI() - AC_LANG(Fortran) - AX_MPI() -], [ - MPICC="$CC" - MPICXX="$CXX" - MPIFC="$FC" - - CFLAGS="$CFLAGS -DNOMPI" - CXXFLAGS="$CXXFLAGS -DNOMPI" - FCFLAGS="$FCFLAGS -DNOMPI" - - AC_SUBST(MPICC) - AC_SUBST(MPICXX) - AC_SUBST(MPIFC) -] -) - -AC_LANG(C) - -AC_ARG_ENABLE(openmp, - [AS_HELP_STRING([--enable-openmp], [Turn off OpenMP support, even if it is available in the compilers])], - [ - HAVE_OPENMP="no" - OPENMP_CFLAGS="" - OPENMP_FCFLAGS="" - AS_IF([test "x$enable_openmp" != "xno"], [ - AX_OPENMP( - [HAVE_OPENMP="yes"] - ,[HAVE_OPENMP="no"] - ) - AC_LANG(Fortran) - AX_OPENMP() - AC_LANG(C) - ]) - ], - [ - AX_OPENMP( - [HAVE_OPENMP="yes"] - ,[HAVE_OPENMP="no"] - ) - AC_LANG(Fortran) - AX_OPENMP() - AC_LANG(C) - ] -) - -AC_LANG(Fortran) -AX_GFORTRAN_VERSION() -AX_IFORT_VERSION() - -AC_SUBST(GFORTRAN_VERSION) -AC_SUBST(IFORT_VERSION) -AC_SUBST(HAVE_OPENMP) -AC_SUBST(OPENMP_CFLAGS) -AC_SUBST(OPENMP_FCFLAGS) - -AC_LANG(C) - -AX_CUDA() - -AC_PROG_SED() - -AX_CHECK_CL() - -# -# Sapporo -# - -AC_ARG_WITH([sapporo], - [AS_HELP_STRING([--with-sapporo],[Use sapporo library in given directory])], - [WITH_SAPPORO=yes], - [WITH_SAPPORO=no] -) - -AC_ARG_ENABLE(sapporo2, - [AS_HELP_STRING([--enable-sapporo2],[Use the provided sapporo library version 2, instead of sapporo_light])], - [SAPPORO_VERSION="light" - SAPPORO_LIBS="-L\${AMUSE_DIR}/lib/sapporo_$SAPPORO_VERSION -lsapporo" - AS_IF([test "x$enable_sapporo2" != "xno"], [ - SAPPORO_VERSION="2" - AS_IF([test x$WITH_CUDA =="xno"], [ - SAPPORO_LIBS="${CL_LIBS} ${OPENMP_CFLAGS} -L\${AMUSE_DIR}/lib/sapporo_$SAPPORO_VERSION -lsapporo" - ], [ - SAPPORO_LIBS="${OPENMP_CFLAGS} -L\${AMUSE_DIR}/lib/sapporo_$SAPPORO_VERSION -lsapporo" - ]) - - ]) - ], - [SAPPORO_VERSION="light" - SAPPORO_LIBS="-L\${AMUSE_DIR}/lib/sapporo_$SAPPORO_VERSION -lsapporo]" -) - -AC_SUBST(WITH_SAPPORO) -AC_SUBST(SAPPORO_VERSION) -AC_SUBST(SAPPORO_LIBS) - -#Fortran-Sockets (FS) Libs - -AS_IF([test x"$FC_ISO_C_BINDINGS" != xno],[ - FS_FLAGS="-I\$(AMUSE_DIR)/lib/forsockets" - FS_LIBS="-L\$(AMUSE_DIR)/lib/forsockets -lforsockets" -], [ - FS_FLAGS="" - FS_LIBS="" -] -) - -AC_SUBST(FS_FLAGS) -AC_SUBST(FS_LIBS) - -#Stopcond - -SC_FLAGS="-I\$(AMUSE_DIR)/lib/stopcond" - -SC_CLIBS="-L\$(AMUSE_DIR)/lib/stopcond -lstopcond" -SC_FCLIBS="-L\$(AMUSE_DIR)/lib/stopcond -lstopcond" -SC_MPI_CLIBS="-L\$(AMUSE_DIR)/lib/stopcond -lstopcondmpi" -SC_MPI_FCLIBS="-L\$(AMUSE_DIR)/lib/stopcond -lstopcondmpi" - -AC_SUBST(SC_FLAGS) - -AC_SUBST(SC_CLIBS) -AC_SUBST(SC_FCLIBS) -AC_SUBST(SC_MPI_CLIBS) -AC_SUBST(SC_MPI_FCLIBS) - -AX_LAPACK([AC_MSG_NOTICE([LAPACK and BLAS found ])], - [AC_MSG_NOTICE([LAPACK and/or BLAS not found])] ) - -AX_FFTW() -AX_GMP() -AX_MPFR() -AC_LANG(C++) -save_CFLAGS="$CFLAGS" -save_CPPFLAGS="$CPPFLAGS" -CFLAGS="$MPFR_FLAGS $save_CFLAGS" -CPPFLAGS="$MPFR_FLAGS $save_CPPFLAGS" -cache_var=AS_TR_SH([ac_cv_header_mpfr.h]) -#AC_CHECK_HEADER( -# [mpreal.h], -# [], -# [AC_MSG_WARN([Cannot find header (mpreal.h) of the library MPFR with MPFR_FLAGS $MPFR_FLAGS.])] -#) -$as_unset $cache_var -CFLAGS="$save_CFLAGS" -CPPFLAGS="$save_CPPFLAGS" -AC_LANG(C) - -AX_LIB_HDF5() - -AX_LIB_NETCDF4() - -DETECT_PIC_FLAGS() -CFLAGS="$CFLAGS $PIC_FLAGS" -CXXFLAGS="$CXXFLAGS $PIC_FLAGS" -FCFLAGS="$FCFLAGS $PIC_FLAGS" - -AX_PATH_GSL(1.0, [FOUND_GSL=yes], [ - FOUND_GSL=no - AC_MSG_WARN([gsl not found, please specify --with-gsl]) -]) - -AC_SUBST(FOUND_GSL) - -AC_CHECK_PYTHON_MODULE(numpy, __version__) -AS_IF([test x"$PYTHON_numpy" != x1], - [AC_MSG_ERROR([numpy not found, please install numpy first])] -) -AS_VERSION_COMPARE([$PYTHON_numpy_VERSION], [1.2.1], - [AC_MSG_ERROR([numpy version $PYTHON_numpy_VERSION found, but at least 1.3.0 needed])] -) - - -AS_IF([test x"$WITH_MPI" != xno],[ - AC_CHECK_PYTHON_MODULE(mpi4py, __version__) - AS_IF([test x"$PYTHON_mpi4py" != x1], - [AC_MSG_WARN([mpi4py not found, please install mpi4py first])] - ) - AS_IF([test x"$PYTHON_mpi4py" == x1], - [AS_VERSION_COMPARE([$PYTHON_mpi4py_VERSION], [1.1], - [AC_MSG_ERROR([mpi4py version $PYTHON_mpi4py_VERSION found, but at least 1.1.0 needed])] - )] - ) -]) - - -AC_CHECK_PYTHON_MODULE(h5py, version.version) -AS_VERSION_COMPARE([$PYTHON_h5py_VERSION], [1.1.0], - [AC_MSG_WARN([h5py version $PYTHON_h5py_VERSION found, but at least 1.1.0 needed])] -) -AC_CHECK_PYTHON_MODULE(pytest, __version__) -AS_VERSION_COMPARE([$PYTHON_pytest_VERSION], [2.999], - [AC_MSG_WARN([pytest version $PYTHON_pytest_VERSION found, but at least 3.0 needed])] -) -AC_CHECK_PYTHON_MODULE(docutils, __version__) -AS_VERSION_COMPARE([$PYTHON_docutils_VERSION], [0.5], - [AC_MSG_ERROR([docutils version $PYTHON_docutils_VERSION found, but at least 0.6 needed])] -) -AC_CHECK_PYTHON_MODULE(zlib, __version__) -AS_IF([test x"$PYTHON_zlib" != x1], - [AC_MSG_ERROR([zlib not found, please recompile python check that development libraries for zlib ar installed first])] -) -$PYTHON -c "import zlib; exit(zlib.crc32('amuse')&0xffffffff == 0xc0cc9367)" 2>/dev/null -AS_IF([test x"$?" != x1], - [AC_MSG_ERROR([crc32 function of zlib not found, please recompile python])] -) -AS_VERSION_COMPARE([$PYTHON_zlib_VERSION], [1.0], - [AC_MSG_ERROR([numpy version $PYTHON_zlib_VERSION found, but at least 1.0 needed])] -) -AC_CHECK_PYTHON_MODULE(matplotlib) - -#AC_CHECK_PYTHON_MODULE(Cython, __version__) -#AS_VERSION_COMPARE([$PYTHON_Cython_VERSION], [0.13], -# [AC_MSG_WARN([Cython version $PYTHON_Cython_VERSION found, but at least 0.13 needed])] -#) -AC_OUTPUT - - AC_MSG_NOTICE( Configuration done. Configuration written to config.mk ) diff --git a/cuda_self_help b/cuda_self_help deleted file mode 100755 index f6e4498647..0000000000 --- a/cuda_self_help +++ /dev/null @@ -1,143 +0,0 @@ -#! /bin/bash -# Detects available hardware and various settings to provide help for -# setting up GPGPU with CUDA, required for executing code on a GPU. - -# Note that nvidia-settings may not exist in all implementations -# (e.g. with the standard install on MacOS). - -echo -echo "Welcome to the AMUSE self-help for setting up GPGPU with CUDA." -echo -echo -n "Checking whether you have the NVIDIA graphics driver... " -which nvidia-settings >& /dev/null -if [ $? -eq 0 ]; then - echo "ok" - echo -n "Checking the NVIDIA graphics driver version... " - echo `nvidia-settings -q NvidiaDriverVersion | gawk '{ORS = " " ; print $4}'` -else - echo "no" - echo " Couldn't find the nvidia-settings utility (used to configure " - echo " the NVIDIA graphics driver). Do you have an NVIDIA GPU card?" - echo " " - echo " " -fi -echo -n "Checking 32/64 bit... " -uname -i | grep '64' >& /dev/null -if [ $? -eq 0 ]; then - echo "64 bit hardware platform." - X_BITS_LIB="lib64" -else - echo "32 bit hardware platform." - X_BITS_LIB="lib" -fi -echo - -echo "Checking relevant environment variables... " -echo -n "Searching LD_LIBRARY_PATH... " -found=0 -IFS=$':' -for one_path in $LD_LIBRARY_PATH -do - if [ -e $one_path/libcudart.so ]; then - echo "found libcudart.so in directory " $one_path - found=1 - fi -done -if [ $found == 0 ]; then - echo "libcudart.so not found in LD_LIBRARY_PATH. Do either of:" - echo " bash> export LD_LIBRARY_PATH=/path/to/cudalib:\$LD_LIBRARY_PATH" - echo " csh> setenv LD_LIBRARY_PATH /path/to/cudalib:\$LD_LIBRARY_PATH" - exit 1 -fi - -echo -n "Checking CUDA_SDK... " -if [ -n "$CUDA_SDK" ]; then - if [ -d $CUDA_SDK/common/inc ]; then - echo "ok" - else - echo "set, but unable to find CUDA SDK path. please set the CUDA_SDK " - echo " variable to the directory that holds the common/inc subdirectory, " - echo " typically: /path/to/cudasdk/C" - exit 1 - fi -else - if [ -d /disks/koppoel1/CUDA23/cudasdk/C/common/inc ]; then - echo "not set, but default CUDA SDK path exists: ok" - else - echo "unable to find CUDA SDK path. Please set the CUDA_SDK variable " - echo " to the directory where you installed the CUDA SDK. Do either of:" - echo " bash> export CUDA_SDK=/path/to/cudasdk" - echo " csh> setenv CUDA_SDK /path/to/cudasdk" - exit 1 - fi -fi - -echo -n "Checking CUDA_TK... " -if [ -n "$CUDA_TK" ]; then - if [ -d $CUDA_TK/include ]; then - echo "ok" - else - echo "set, but unable to find CUDA TK path. please set the CUDA_TK " - echo " variable to the directory that holds the include subdirectory, " - echo " typically: /path/to/cuda" - exit 1 - fi -else - if [ -d /disks/koppoel1/CUDA23/cuda/include ]; then - echo "not set, but default CUDA TK path exists: ok" - CUDA_TK=/disks/koppoel1/CUDA23/cuda - else - echo "unable to find CUDA TK path. Please set the CUDA_TK variable " - echo " to the directory where you installed the CUDA TK. Do either of:" - echo " bash> export CUDA_TK=/path/to/cuda" - echo " csh> setenv CUDA_TK /path/to/cuda" - exit 1 - fi -fi - -echo -n "Checking CUDA_LIBDIRS... " -if [ -n "$CUDA_LIBDIRS" ]; then - if [ -e $CUDA_LIBDIRS/libcudart.so ]; then - echo "ok" - else - echo "set, but unable to find the libraries. please set the CUDA_LIBDIRS " - echo " variable to the directory that holds the libcudart.so library, " - echo " typically: /path/to/cuda/$X_BITS_LIB" - exit 1 - fi -else - if [ -e $CUDA_TK/$X_BITS_LIB/libcudart.so ]; then - echo "not set, but found libraries in default path: ok" - else - echo "unable to find the CUDA libraries. Please set the CUDA_LIBDIRS variable " - echo " to the directory where the CUDA libraries reside. Do either of:" - echo " bash> export CUDA_LIBDIRS=/path/to/cuda/$X_BITS_LIB" - echo " csh> setenv CUDA_LIBDIRS /path/to/cuda/$X_BITS_LIB" - exit 1 - fi -fi - -echo -n "Checking CUDA_LIBS... " -if [ -n "$CUDA_LIBS" ]; then - echo $CUDA_LIBS | grep 'lcudart' >& /dev/null - if [ $? -eq 0 ]; then - echo "ok" - else - echo "set, but cudart library not included. Add -lcudart to CUDA_LIBS" - exit 1 - fi -else - echo "not set, using default: ok" -fi -echo -echo "Everything seems ok!" -echo "Now try building for example Octgrav and run the nosetests (from AMUSE root directory)," -echo "but first re-initialize mpd (or it will remember its original environment):" -echo "> mpdallexit" -echo "> mpd &" -echo "> make octgrav.code" -echo "> nosetests test/codes_tests/test_octgrav.py" -echo -echo "If this fails, please contact us at: vriesn (at) strw.leidenuniv.nl or" -echo "join us on the #amuse channel on irc.freenode.net." -echo diff --git a/doc/.gitignore b/doc/.gitignore new file mode 100644 index 0000000000..b38dae85e8 --- /dev/null +++ b/doc/.gitignore @@ -0,0 +1,2 @@ +interactive_tutorial/0*.rst + diff --git a/doc/conf.py b/doc/conf.py index 7fcc20489f..3b60c2c267 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -31,6 +31,7 @@ extensions = [ 'sphinx.ext.autodoc', 'sphinx.ext.autosummary', + 'sphinx.ext.autosectionlabel', 'sphinx.ext.doctest', 'sphinx.ext.todo', #'sphinx.ext.imgmath', diff --git a/doc/design/amuse-mindmap.mm b/doc/developing/design/amuse-mindmap.mm similarity index 100% rename from doc/design/amuse-mindmap.mm rename to doc/developing/design/amuse-mindmap.mm diff --git a/doc/design/amuse-overview.dia b/doc/developing/design/amuse-overview.dia similarity index 100% rename from doc/design/amuse-overview.dia rename to doc/developing/design/amuse-overview.dia diff --git a/doc/design/amuse-overview.svg b/doc/developing/design/amuse-overview.svg similarity index 100% rename from doc/design/amuse-overview.svg rename to doc/developing/design/amuse-overview.svg diff --git a/doc/design/amuse-workshop-2009.odp b/doc/developing/design/amuse-workshop-2009.odp similarity index 100% rename from doc/design/amuse-workshop-2009.odp rename to doc/developing/design/amuse-workshop-2009.odp diff --git a/doc/design/architecture.rst b/doc/developing/design/architecture.rst similarity index 100% rename from doc/design/architecture.rst rename to doc/developing/design/architecture.rst diff --git a/doc/design/coupling.rst b/doc/developing/design/coupling.rst similarity index 100% rename from doc/design/coupling.rst rename to doc/developing/design/coupling.rst diff --git a/doc/design/index.rst b/doc/developing/design/index.rst similarity index 100% rename from doc/design/index.rst rename to doc/developing/design/index.rst diff --git a/doc/design/introduction.rst b/doc/developing/design/introduction.rst similarity index 91% rename from doc/design/introduction.rst rename to doc/developing/design/introduction.rst index 624b655396..2481249115 100644 --- a/doc/design/introduction.rst +++ b/doc/developing/design/introduction.rst @@ -38,12 +38,12 @@ AMUSE is originally developed at the Leiden Observatory. The Leiden Observatory a faculty of the Leiden University in the Netherlands. Funding is provided by a NOVA grant. -.. image:: ../logos/universiteit_leiden_logo.png +.. image:: ../../logos/universiteit_leiden_logo.png -.. image:: ../logos/strw_logo.png +.. image:: ../../logos/strw_logo.png :width: 2.5cm -.. image:: ../logos/nova_logo.jpg +.. image:: ../../logos/nova_logo.jpg :width: 2.5cm diff --git a/doc/design/map_of_amuse_jan2010.dia b/doc/developing/design/map_of_amuse_jan2010.dia similarity index 100% rename from doc/design/map_of_amuse_jan2010.dia rename to doc/developing/design/map_of_amuse_jan2010.dia diff --git a/doc/design/message_passing.png b/doc/developing/design/message_passing.png similarity index 100% rename from doc/design/message_passing.png rename to doc/developing/design/message_passing.png diff --git a/doc/design/message_passing.sdx b/doc/developing/design/message_passing.sdx similarity index 100% rename from doc/design/message_passing.sdx rename to doc/developing/design/message_passing.sdx diff --git a/doc/design/mpi.rst b/doc/developing/design/mpi.rst similarity index 100% rename from doc/design/mpi.rst rename to doc/developing/design/mpi.rst diff --git a/doc/design/objects_in_set.png b/doc/developing/design/objects_in_set.png similarity index 100% rename from doc/design/objects_in_set.png rename to doc/developing/design/objects_in_set.png diff --git a/doc/design/objects_in_set.sdx b/doc/developing/design/objects_in_set.sdx similarity index 100% rename from doc/design/objects_in_set.sdx rename to doc/developing/design/objects_in_set.sdx diff --git a/doc/design/overview.svg b/doc/developing/design/overview.svg similarity index 100% rename from doc/design/overview.svg rename to doc/developing/design/overview.svg diff --git a/doc/design/packages.png b/doc/developing/design/packages.png similarity index 100% rename from doc/design/packages.png rename to doc/developing/design/packages.png diff --git a/doc/design/packages.rst b/doc/developing/design/packages.rst similarity index 100% rename from doc/design/packages.rst rename to doc/developing/design/packages.rst diff --git a/doc/design/packages.svg b/doc/developing/design/packages.svg similarity index 100% rename from doc/design/packages.svg rename to doc/developing/design/packages.svg diff --git a/doc/design/sets.rst b/doc/developing/design/sets.rst similarity index 100% rename from doc/design/sets.rst rename to doc/developing/design/sets.rst diff --git a/doc/design/user_script_sequence.png b/doc/developing/design/user_script_sequence.png similarity index 100% rename from doc/design/user_script_sequence.png rename to doc/developing/design/user_script_sequence.png diff --git a/doc/design/user_script_sequence.sdx b/doc/developing/design/user_script_sequence.sdx similarity index 100% rename from doc/design/user_script_sequence.sdx rename to doc/developing/design/user_script_sequence.sdx diff --git a/doc/developing/documenting.rst b/doc/developing/documenting.rst new file mode 100644 index 0000000000..aadfd3e69d --- /dev/null +++ b/doc/developing/documenting.rst @@ -0,0 +1,44 @@ +.. _documenting: + +====================== +Writing documentation +====================== + +Getting started +=============== + +The documentation for AMUSE is generated from ReStructured Text using the Sphinx_ +documentation generation tool. + +It's easiest to install the required packages using Conda: + +.. code-block:: bash + + conda install jupyter sphinx make numpy sphinx_rtd_theme matplotlib rst2pdf + +.. _Sphinx: http://www.sphinx-doc.org/en/master/ + +The documentation sources are found in the :file:`doc/` directory in the trunk. +To build the AMUSE documentation in html format, cd into :file:`doc/` and +do:: + + make html + +You can also pass a ``pdflatex`` flag to ``make`` to build a pdf, or pass no +arguments to show help information. + +The output produced by Sphinx can be configured by editing the :file:`conf.py` +file located in the :file:`doc/`. + + +Organization of the AMUSE documentation +========================================== + +The actual ReStructured Text files are kept in :file:`doc/install`, +:file:`doc/developing`, :file:`doc/tutorial` and :file:`doc/interactive_tutorial`. The +main entry point is :file:`doc/index.rst`. The documentation suite is built as a single +document in order to make the most effective use of cross referencing, we want to make +navigating the AMUSE documentation as easy as possible. + +Additional files can be added to the various sections by including their base +file name (the .rst extension is not necessary) in the table of contents. diff --git a/doc/developing/index.rst b/doc/developing/index.rst new file mode 100644 index 0000000000..816ecfe803 --- /dev/null +++ b/doc/developing/index.rst @@ -0,0 +1,10 @@ +Developing (with) AMUSE +======================= + +Contents: + +.. toctree:: + :maxdepth: 2 + + documenting + design/index diff --git a/doc/index.rst b/doc/index.rst index 08ec97ede5..f53f003247 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -15,7 +15,7 @@ Contents: tutorial/index interactive_tutorial/index reference/index - design/index + developing/index .. htmlonly:: - `Examples `_ diff --git a/doc/install/configuration.rst b/doc/install/configuration.rst deleted file mode 100644 index 9afe033b30..0000000000 --- a/doc/install/configuration.rst +++ /dev/null @@ -1,111 +0,0 @@ -.. _configuration-label: - -================= -Configuring AMUSE -================= - -Introduction -~~~~~~~~~~~~ -In AMUSE a configuration script is used to for two purposes; to run -on different operating systems and to set compile time options. The -AMUSE framework has been built on Linux, AIX and OS X systems, it -also runs on Windows. AMUSE can be configured to run with or without -MPI, GPU (CUDA) and openmp. In this document we will provide a short -overview of the configuration options and their effects. - - -Basic -~~~~~ -The basic configuration of AMUSE uses MPI as the communication -channel, does not build any GPU enabled codes (or GPU enabled -versions) and uses openmp if available. The configuration script -can be run as:: - - > ./configure - -To get a list of options and important environment variables run -```configure``` with the help flag:: - - > ./configure --help - -A very important variable for the configuration script is the -location of the python executable. The python executable is searched -for in the PATH and you can override it by setting the ```PYTHON``` -environment variable:: - - > ./configure PYTHON=/path/to/libraries/python - -The configuration script will look for dependent libraries in -default locations of the system and, if defined, also in directories -under the ```PREFIX``` environment variable. If you installed the -prerequisites with the AMUSE installation scripts (see -:doc:`howto-install-prerequisites`), the configuration script should -find all the packages installed. For most libraries the -```PREFIX/lib``` or ```PREFIX/lib64``` is searched before the system -path. You can override the ```PREFIX``` environment variable:: - - > ./configure PREFIX=/path/to/libraries/root - -.. _configuration-gpu-label: - -GPU -~~~ - -Currently all codes in AMUSE capable of using the GPU are based -on CUDA. To run these codes you will need CUDA libraries and drivers. -Once these have been installed you can run configure like so:: - - > ./configure --enable-cuda - -The configuration script will look for the ```nvcc``` compiler and the -cuda libraries, in well known paths. Unfortunately it often will not find -the cuda tools and you have to specify the some environment variables or -configuration options. - -If the configuration script cannot find the nvcc compiler (or if it -finds the wrong one) you can specify the nvcc compiler with the -```NVCC``` environment variable:: - - > ./configure --enable-cuda NVCC=/path/to/nvcc - -The configure script also searches for the nvcc compiler in the -```$CUDA_TK/bin``` directory:: - - > ./configure --enable-cuda CUDA_TK=/opt/nvidia - -The configure script looks for cuda and cudart libraries in -```$NVCC/../lib``` or ```$NVCC/../lib64```, if your libraries cannot -be found there you can override the library path with:: - - > ./configure --enable-cuda --with-cuda-libdir=/path/to/cuda/lib - -Using ```--with-cuda-libdir``` will always override the local -search paths and should also work if you have an old version of cuda -in ```/usr/lib```. - -Finally, if all else fails, you can edit the ```config.mk``` file -after configure has finished. The important variables in the file are: - - * CUDA_ENABLED, valid values are "yes" or "no". - * NVCC, absolute path to the nvcc executable. - * CUDA_TK, directory of the cuda toolkit installation - * CUDA_LIBS, library flags the add in the linking stage (-L/path -lcuda -lcudart) - -Please remember that the ```config.mk``` file is overwritten -every time configure is run. - -Sapporo library version ------------------------ - -The Sapporo library will be build when CUDA is enabled. The Sapporo -library implements the GRAPE6 API on GPU hardware. AMUSE is shipped -with two versions of the Sapporo library: - - * An older version ```sapporo_light``` that runs on most CUDA devices but is not maintained any longer - * The latests version ```sapporo``` that runs on modern GPU hardware. This version should also run on - OpenCL devices but this is still a work in progress. - -By default AMUSE will use the older ```sapporo_light``` version, to enable -the latests version do: - - > ./configure --enable-cuda --enable-sapporo2 diff --git a/doc/install/cuda.rst b/doc/install/cuda.rst new file mode 100644 index 0000000000..e9a8acca4b --- /dev/null +++ b/doc/install/cuda.rst @@ -0,0 +1,86 @@ +Installing CUDA +=============== + +If you have an nVidia GPU and are using a code with CUDA support, then compiling and +running with CUDA can give a nice performance increase. (Unfortunately, using GPUs for +computing rather than graphics is still poorly supported on other GPU brands, and the +codes in AMUSE can only use CUDA.) + +Depending on your platform, installing CUDA can be a bit more complicated than the other +dependencies however. CUDA consists of two parts, the driver and the toolkit. The driver +must be installed on the system, as part of the nVidia GPU drivers. The toolkit can be +installed separately via an installer, the system package manager, or conda. + +Ubuntu +------ + +Of the various Linux distributions, Ubuntu probably makes `installing CUDA the easiest +`_. +To see if any drivers are available for your computer, use: + +.. code-block:: bash + + sudo ubuntu-drivers list --gpgpu + +(The ``--gpgpu`` option tells the tool that we want to do calculations on the GPU rather +than just doing graphics, so it's important to add!) + +If you have an nVidia GPU then this should list a number of driver versions. The tool +can automatically select the best one and install it using: + +.. code-block:: bash + + sudo ubuntu-drivers install --gpgpu + +After this, you'll need to install the CUDA toolkit, which has everything needed to +compile the codes to work with CUDA: + +.. code-block:: bash + + sudo apt install nvidia-cuda-toolkit + +After this, you'll need to restart the computer, and then CUDA should be available and +the installer should let you install CUDA packages.. + +Other Linux distributions +------------------------- + +On other Linux distributions you may have to do a bit more work. The easiest way is +probably to first install the driver using either the instructions from your +distribution (if there are any) or the `ones from +nVidia `_. + +After that you can then install the toolkit using Conda: + +.. code-block:: bash + + conda install -c conda-forge cuda-toolkit + +nVidia also has a `comprehensive guide on installing CUDA on +Linux `_, which +makes it quite complicated but may work if you're willing to give it a go, aren't using +Ubuntu, and don't want to use Conda to install it. + +Otherwise, try searching the web for some instructions, but make sure they're recent +because the best way to do it tends to change over time. + + +Windows +------- + +There appears to be `support for using CUDA on Windows Subsystem for Linux +(WSL) `_, +so if you're using WSL on a Windows computer with an nVidia GPU then you can give this a +try. + +Like on Linux, you'll need both the nVidia driver and the CUDA toolkit. In this case, +you probably already have the Windows nVidia drivers installed, so there's no need to +install a driver. (Please don't try, the Linux drivers won't work on Windows!). Probably +the easiest way to get the toolkit is again via Conda: + +.. code-block:: bash + + conda install -c conda-forge cuda-toolkit + +or you can try the instructions in the link above. + diff --git a/doc/install/development.rst b/doc/install/development.rst new file mode 100644 index 0000000000..ee530cae61 --- /dev/null +++ b/doc/install/development.rst @@ -0,0 +1,66 @@ +Installing for development +========================== + +AMUSE provides a rich toolbox of astrophysical methodology, but it's in the nature of +science to try to do new things, and sometimes that requires modifying the methods too. +For computational science, that means changing the software. In case of AMUSE, if this +is what you want to do then you'll probably want to modify one of the codes included +with it, changing its C++ or Fortran code and recompiling it to try your modifications. + +To do that, it's best to get a development copy of the AMUSE code using git. That will +give you a local git repository so that you can easily track your changes, and +contribute them back to AMUSE (pretty please?) if they're potentially useful to others. + +To get a development copy of the AMUSE source code, you'll need ``git``, which is +available from every popular package manager. In your Conda environment, + +.. code-block:: bash + + conda install git + +will get you sorted. Next, you can get a local git repository with AMUSE in it using + +.. code-block:: bash + + git clone https://github.com/amusecode/amuse.git + + +This will create a directory called ``amuse`` with the latest development version of +AMUSE in it. You can ``cd`` into that and access the installer using ``./setup`` as +before. + +If you have an existing installation that's not too old, then you can probably just +switch the code you're interested in to development mode using the installer in the new +source directory: + +.. code-block:: bash + + ./setup develop amuse-bhtree + + +This will uninstall the existing package (we'll use bhtree in this example, but you can +use any of them), and replace it with a development install. Development installs are +special because rather than copying the code into the environment, they link it. As a +result, you can try your changes right away, without having to reinstall every time. +That's really convenient. + +Once you have a development installation, you can go to the code's source: + +.. code-block:: bash + + cd src/amuse_bhtree + +and have a look around. You'll find an ``interface.py`` that defines the code's +interface with AMUSE, the ``tests/`` directory with tests, and a directory ``src/`` with +the source code. There's also a ``bhtree_worker``, or perhaps even multiple. This file +is created from the ``bhtree`` source code together with its AMUSE wrapper using + +.. code-block:: bash + + make bhtree_worker + +To modify the code, open a file in ``src/`` and change it to your liking, then run the +``make`` command above in the ``src/amuse_bhtree`` directory to recompile the worker. +Then you can run your Python script (in the same environment of course!) to try it out +and see if it works. + diff --git a/doc/install/documenting.rst b/doc/install/documenting.rst deleted file mode 100644 index 53ea90a30e..0000000000 --- a/doc/install/documenting.rst +++ /dev/null @@ -1,48 +0,0 @@ -.. _documenting: - -====================== -Writing documentation -====================== - -Getting started -=============== - -The documentation for AMUSE is generated from ReStructured Text -using the Sphinx_ documentation generation tool. Sphinx version 1.0 -or later is required. You might still run into problems, so most -developers work from the sphinx source repository (Mercurial based) -because it is a rapidly evolving project: - -.. code-block:: bash - - > hg clone http://bitbucket.org/birkenfeld/sphinx/ - > cd sphinx - > python setup.py install - -.. _Sphinx: http://www.sphinx-doc.org/en/master/ - -The documentation sources are found in the :file:`doc/` directory in the trunk. -To build the AMUSE documentation in html format, cd into :file:`doc/` and -do:: - - make html - -You can also pass a ``pdflatex`` flag to make to build a pdf, or pass no -arguments to show help information. - -The output produced by Sphinx can be configured by editing the :file:`conf.py` -file located in the :file:`doc/`. - - -Organization of the AMUSE documentation -========================================== - -The actual ReStructured Text files are kept in :file:`doc/install`, -:file:`doc/design`, :file:`doc/tutorial`. The main entry point is -:file:`doc/index.rst`. The documentation suite is -built as a single document in order to make the most effective use of cross -referencing, we want to make navigating the AMUSE documentation as easy as -possible. - -Additional files can be added to the various sections by including their base -file name (the .rst extension is not necessary) in the table of contents. diff --git a/doc/install/h5py_imports_python33.patch b/doc/install/h5py_imports_python33.patch deleted file mode 100644 index 9235a6010d..0000000000 --- a/doc/install/h5py_imports_python33.patch +++ /dev/null @@ -1,62120 +0,0 @@ -diff -rupN h5py-2.1.0.orig/h5py/h5a.c h5py-2.1.0/h5py/h5a.c ---- h5py-2.1.0.orig/h5py/h5a.c 2012-10-02 16:17:45.000000000 +0200 -+++ h5py-2.1.0/h5py/h5a.c 2012-11-23 14:17:42.000000000 +0100 -@@ -1,16 +1,16 @@ --/* Generated by Cython 0.14.1 on Tue Oct 2 08:17:45 2012 */ -+/* Generated by Cython 0.17.2 on Fri Nov 23 14:07:41 2012 */ - - #define PY_SSIZE_T_CLEAN - #include "Python.h" - #ifndef Py_PYTHON_H - #error Python headers needed to compile C extensions, please install development version of Python. -+#elif PY_VERSION_HEX < 0x02040000 -+ #error Cython requires Python 2.4+. - #else -- - #include /* For offsetof */ - #ifndef offsetof - #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) - #endif -- - #if !defined(WIN32) && !defined(MS_WINDOWS) - #ifndef __stdcall - #define __stdcall -@@ -22,36 +22,47 @@ - #define __fastcall - #endif - #endif -- - #ifndef DL_IMPORT - #define DL_IMPORT(t) t - #endif - #ifndef DL_EXPORT - #define DL_EXPORT(t) t - #endif -- - #ifndef PY_LONG_LONG - #define PY_LONG_LONG LONG_LONG - #endif -- --#if PY_VERSION_HEX < 0x02040000 -- #define METH_COEXIST 0 -- #define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type) -- #define PyDict_Contains(d,o) PySequence_Contains(d,o) -+#ifndef Py_HUGE_VAL -+ #define Py_HUGE_VAL HUGE_VAL -+#endif -+#ifdef PYPY_VERSION -+#define CYTHON_COMPILING_IN_PYPY 1 -+#define CYTHON_COMPILING_IN_CPYTHON 0 -+#else -+#define CYTHON_COMPILING_IN_PYPY 0 -+#define CYTHON_COMPILING_IN_CPYTHON 1 - #endif -- - #if PY_VERSION_HEX < 0x02050000 - typedef int Py_ssize_t; - #define PY_SSIZE_T_MAX INT_MAX - #define PY_SSIZE_T_MIN INT_MIN - #define PY_FORMAT_SIZE_T "" -+ #define CYTHON_FORMAT_SSIZE_T "" - #define PyInt_FromSsize_t(z) PyInt_FromLong(z) -- #define PyInt_AsSsize_t(o) PyInt_AsLong(o) -- #define PyNumber_Index(o) PyNumber_Int(o) -- #define PyIndex_Check(o) PyNumber_Check(o) -+ #define PyInt_AsSsize_t(o) __Pyx_PyInt_AsInt(o) -+ #define PyNumber_Index(o) ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \ -+ (PyErr_Format(PyExc_TypeError, \ -+ "expected index value, got %.200s", Py_TYPE(o)->tp_name), \ -+ (PyObject*)0)) -+ #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \ -+ !PyComplex_Check(o)) -+ #define PyIndex_Check __Pyx_PyIndex_Check - #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message) -+ #define __PYX_BUILD_PY_SSIZE_T "i" -+#else -+ #define __PYX_BUILD_PY_SSIZE_T "n" -+ #define CYTHON_FORMAT_SSIZE_T "z" -+ #define __Pyx_PyIndex_Check PyIndex_Check - #endif -- - #if PY_VERSION_HEX < 0x02060000 - #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt) - #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type) -@@ -59,7 +70,6 @@ - #define PyVarObject_HEAD_INIT(type, size) \ - PyObject_HEAD_INIT(type) size, - #define PyType_Modified(t) -- - typedef struct { - void *buf; - PyObject *obj; -@@ -73,7 +83,6 @@ - Py_ssize_t *suboffsets; - void *internal; - } Py_buffer; -- - #define PyBUF_SIMPLE 0 - #define PyBUF_WRITABLE 0x0001 - #define PyBUF_FORMAT 0x0004 -@@ -83,24 +92,44 @@ - #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES) - #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES) - #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES) -- -+ #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE) -+ #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE) -+ typedef int (*getbufferproc)(PyObject *, Py_buffer *, int); -+ typedef void (*releasebufferproc)(PyObject *, Py_buffer *); - #endif -- - #if PY_MAJOR_VERSION < 3 - #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" -+ #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \ -+ PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) - #else - #define __Pyx_BUILTIN_MODULE_NAME "builtins" -+ #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \ -+ PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -+#endif -+#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6 -+ #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict") - #endif -- - #if PY_MAJOR_VERSION >= 3 - #define Py_TPFLAGS_CHECKTYPES 0 - #define Py_TPFLAGS_HAVE_INDEX 0 - #endif -- - #if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3) - #define Py_TPFLAGS_HAVE_NEWBUFFER 0 - #endif -- -+#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) -+ #define CYTHON_PEP393_ENABLED 1 -+ #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ? \ -+ 0 : _PyUnicode_Ready((PyObject *)(op))) -+ #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) -+ #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) -+ #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) -+#else -+ #define CYTHON_PEP393_ENABLED 0 -+ #define __Pyx_PyUnicode_READY(op) (0) -+ #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) -+ #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) -+ #define __Pyx_PyUnicode_READ(k, d, i) ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i])) -+#endif - #if PY_MAJOR_VERSION >= 3 - #define PyBaseString_Type PyUnicode_Type - #define PyStringObject PyUnicodeObject -@@ -108,7 +137,6 @@ - #define PyString_Check PyUnicode_Check - #define PyString_CheckExact PyUnicode_CheckExact - #endif -- - #if PY_VERSION_HEX < 0x02060000 - #define PyBytesObject PyStringObject - #define PyBytes_Type PyString_Type -@@ -127,7 +155,6 @@ - #define PyBytes_Concat PyString_Concat - #define PyBytes_ConcatAndDel PyString_ConcatAndDel - #endif -- - #if PY_VERSION_HEX < 0x02060000 - #define PySet_Check(obj) PyObject_TypeCheck(obj, &PySet_Type) - #define PyFrozenSet_Check(obj) PyObject_TypeCheck(obj, &PyFrozenSet_Type) -@@ -135,9 +162,7 @@ - #ifndef PySet_CheckExact - #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) - #endif -- - #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) -- - #if PY_MAJOR_VERSION >= 3 - #define PyIntObject PyLongObject - #define PyInt_Type PyLong_Type -@@ -154,20 +179,17 @@ - #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask - #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask - #endif -- - #if PY_MAJOR_VERSION >= 3 - #define PyBoolObject PyLongObject - #endif -- -- --#if PY_MAJOR_VERSION >= 3 -- #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) -- #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) -+#if PY_VERSION_HEX < 0x03020000 -+ typedef long Py_hash_t; -+ #define __Pyx_PyInt_FromHash_t PyInt_FromLong -+ #define __Pyx_PyInt_AsHash_t PyInt_AsLong - #else -- #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) -- #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -+ #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t -+ #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t - #endif -- - #if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300) - #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b) - #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value) -@@ -186,11 +208,9 @@ - (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \ - (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1))) - #endif -- - #if PY_MAJOR_VERSION >= 3 - #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func)) - #endif -- - #if PY_VERSION_HEX < 0x02050000 - #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),((char *)(n))) - #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a)) -@@ -200,7 +220,6 @@ - #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a)) - #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),(n)) - #endif -- - #if PY_VERSION_HEX < 0x02050000 - #define __Pyx_NAMESTR(n) ((char *)(n)) - #define __Pyx_DOCSTR(n) ((char *)(n)) -@@ -209,16 +228,28 @@ - #define __Pyx_DOCSTR(n) (n) - #endif - --#ifdef __cplusplus --#define __PYX_EXTERN_C extern "C" -+ -+#if PY_MAJOR_VERSION >= 3 -+ #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) -+ #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) - #else --#define __PYX_EXTERN_C extern -+ #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) -+ #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -+#endif -+ -+#ifndef __PYX_EXTERN_C -+ #ifdef __cplusplus -+ #define __PYX_EXTERN_C extern "C" -+ #else -+ #define __PYX_EXTERN_C extern -+ #endif - #endif - - #if defined(WIN32) || defined(MS_WINDOWS) - #define _USE_MATH_DEFINES - #endif - #include -+#define __PYX_HAVE__h5py__h5a - #define __PYX_HAVE_API__h5py__h5a - #include "stdlib.h" - #include "string.h" -@@ -230,6 +261,9 @@ - #include "hdf5.h" - #include "hdf5_hl.h" - #include "numpy/arrayobject.h" -+#ifdef _OPENMP -+#include -+#endif /* _OPENMP */ - - #ifdef PYREX_WITHOUT_ASSERTIONS - #define CYTHON_WITHOUT_ASSERTIONS -@@ -257,7 +291,7 @@ - # else - # define CYTHON_UNUSED - # endif --# elif defined(__ICC) || defined(__INTEL_COMPILER) -+# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) - # define CYTHON_UNUSED __attribute__ ((__unused__)) - # else - # define CYTHON_UNUSED -@@ -272,6 +306,7 @@ typedef struct {PyObject **p; char *s; c - #define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s) - #define __Pyx_PyBytes_AsUString(s) ((unsigned char*) PyBytes_AsString(s)) - -+#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None) - #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False)) - static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); - static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); -@@ -280,21 +315,25 @@ static CYTHON_INLINE Py_ssize_t __Pyx_Py - static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); - static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*); - -+#if CYTHON_COMPILING_IN_CPYTHON - #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) -- -+#else -+#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) -+#endif -+#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) - - #ifdef __GNUC__ --/* Test for GCC > 2.95 */ --#if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) --#define likely(x) __builtin_expect(!!(x), 1) --#define unlikely(x) __builtin_expect(!!(x), 0) --#else /* __GNUC__ > 2 ... */ --#define likely(x) (x) --#define unlikely(x) (x) --#endif /* __GNUC__ > 2 ... */ -+ /* Test for GCC > 2.95 */ -+ #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) -+ #define likely(x) __builtin_expect(!!(x), 1) -+ #define unlikely(x) __builtin_expect(!!(x), 0) -+ #else /* __GNUC__ > 2 ... */ -+ #define likely(x) (x) -+ #define unlikely(x) (x) -+ #endif /* __GNUC__ > 2 ... */ - #else /* __GNUC__ */ --#define likely(x) (x) --#define unlikely(x) (x) -+ #define likely(x) (x) -+ #define unlikely(x) (x) - #endif /* __GNUC__ */ - - static PyObject *__pyx_m; -@@ -315,7 +354,39 @@ static const char *__pyx_f[] = { - "numpy.pxd", - }; - --/* Type declarations */ -+/*--- Type declarations ---*/ -+struct __pyx_obj_4h5py_8_objects_ObjectID; -+struct __pyx_obj_4h5py_3h5p_PropID; -+struct __pyx_obj_4h5py_3h5p_PropInstanceID; -+struct __pyx_obj_4h5py_3h5p_PropCopyID; -+struct __pyx_obj_4h5py_3h5p_PropDXID; -+struct __pyx_obj_4h5py_3h5t_TypeID; -+struct __pyx_obj_4h5py_3h5t_TypeArrayID; -+struct __pyx_obj_4h5py_3h5t_TypeVlenID; -+struct __pyx_obj_4h5py_3h5a_AttrInfo; -+struct __pyx_obj_4h5py_3h5s_SpaceID; -+struct __pyx_obj_4h5py_3h5t_TypeReferenceID; -+struct __pyx_obj_4h5py_3h5t_TypeCompositeID; -+struct __pyx_obj_4h5py_3h5t_TypeCompoundID; -+struct __pyx_obj_4h5py_3h5p_PropCreateID; -+struct __pyx_obj_4h5py_3h5t_TypeTimeID; -+struct __pyx_obj_4h5py_3h5a_AttrID; -+struct __pyx_obj_4h5py_3h5p_PropClassID; -+struct __pyx_obj_4h5py_3h5p_PropDCID; -+struct __pyx_obj_4h5py_3h5p_PropLAID; -+struct __pyx_obj_4h5py_3h5p_PropGCID; -+struct __pyx_obj_4h5py_3h5p_PropLCID; -+struct __pyx_obj_4h5py_3h5t_TypeOpaqueID; -+struct __pyx_obj_4h5py_3h5p_PropFCID; -+struct __pyx_obj_4h5py_3h5t_TypeBitfieldID; -+struct __pyx_obj_4h5py_3h5t_TypeAtomicID; -+struct __pyx_obj_4h5py_3h5p_PropFAID; -+struct __pyx_obj_4h5py_3h5a__AttrVisitor; -+struct __pyx_obj_4h5py_3h5t_TypeIntegerID; -+struct __pyx_obj_4h5py_3h5t_TypeEnumID; -+struct __pyx_obj_4h5py_3h5t_TypeStringID; -+struct __pyx_obj_4h5py_3h5t_TypeFloatID; -+struct __pyx_opt_args_4h5py_3h5t_py_create; - - /* "h5t.pxd":72 - * -@@ -324,11 +395,12 @@ static const char *__pyx_f[] = { - * - * - */ -- - struct __pyx_opt_args_4h5py_3h5t_py_create { - int __pyx_n; - int logical; - }; -+struct __pyx_opt_args_4h5py_5utils_check_numpy_read; -+struct __pyx_opt_args_4h5py_5utils_check_numpy_write; - - /* "utils.pxd":20 - * cdef void efree(void* ptr) -@@ -337,7 +409,6 @@ struct __pyx_opt_args_4h5py_3h5t_py_crea - * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1 - * - */ -- - struct __pyx_opt_args_4h5py_5utils_check_numpy_read { - int __pyx_n; - hid_t space_id; -@@ -350,26 +421,11 @@ struct __pyx_opt_args_4h5py_5utils_check - * - * cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1 - */ -- - struct __pyx_opt_args_4h5py_5utils_check_numpy_write { - int __pyx_n; - hid_t space_id; - }; - --/* "h5py/h5a.pyx":217 -- * # === Iteration routines ====================================================== -- * -- * cdef class _AttrVisitor: # <<<<<<<<<<<<<< -- * cdef object func -- * cdef object retval -- */ -- --struct __pyx_obj_4h5py_3h5a__AttrVisitor { -- PyObject_HEAD -- PyObject *func; -- PyObject *retval; --}; -- - /* "_objects.pxd":3 - * from defs cimport * - * -@@ -377,7 +433,6 @@ struct __pyx_obj_4h5py_3h5a__AttrVisitor - * - * cdef object __weakref__ - */ -- - struct __pyx_obj_4h5py_8_objects_ObjectID { - PyObject_HEAD - PyObject *__weakref__; -@@ -386,6 +441,7 @@ struct __pyx_obj_4h5py_8_objects_ObjectI - PyObject *_hash; - }; - -+ - /* "h5p.pxd":23 - * # --- Base classes --- - * -@@ -393,11 +449,11 @@ struct __pyx_obj_4h5py_8_objects_ObjectI - * """ Base class for all property lists """ - * pass - */ -- - struct __pyx_obj_4h5py_3h5p_PropID { - struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base; - }; - -+ - /* "h5p.pxd":33 - * pass - * -@@ -405,23 +461,35 @@ struct __pyx_obj_4h5py_3h5p_PropID { - * """ Represents an instance of a property list class (i.e. an actual list - * which can be passed on to other API functions). - */ -- - struct __pyx_obj_4h5py_3h5p_PropInstanceID { - struct __pyx_obj_4h5py_3h5p_PropID __pyx_base; - }; - --/* "h5p.pxd":62 -- * # --- Object access --- -- * -- * cdef class PropFAID(PropInstanceID): # <<<<<<<<<<<<<< -- * """ File access property list """ -+ -+/* "h5p.pxd":46 - * pass -+ * -+ * cdef class PropCopyID(PropInstanceID): # <<<<<<<<<<<<<< -+ * """ Property list for copying objects (as in h5o.copy) """ -+ * - */ -+struct __pyx_obj_4h5py_3h5p_PropCopyID { -+ struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; -+}; - --struct __pyx_obj_4h5py_3h5p_PropFAID { -+ -+/* "h5p.pxd":66 -+ * pass -+ * -+ * cdef class PropDXID(PropInstanceID): # <<<<<<<<<<<<<< -+ * """ Dataset transfer property list """ -+ * pass -+ */ -+struct __pyx_obj_4h5py_3h5p_PropDXID { - struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; - }; - -+ - /* "h5t.pxd":17 - * from _objects cimport class ObjectID - * -@@ -429,60 +497,73 @@ struct __pyx_obj_4h5py_3h5p_PropFAID { - * - * cdef object py_dtype(self) - */ -- - struct __pyx_obj_4h5py_3h5t_TypeID { - struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base; - struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtab; - }; - --/* "h5t.pxd":40 -- * pass -+ -+/* "h5t.pxd":23 -+ * # --- Top-level classes --- - * -- * cdef class TypeBitfieldID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeArrayID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeBitfieldID { -+struct __pyx_obj_4h5py_3h5t_TypeArrayID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - --/* "h5p.pxd":39 -+ -+/* "h5t.pxd":33 - * pass - * -- * cdef class PropCreateID(PropInstanceID): # <<<<<<<<<<<<<< -- * """ Base class for all object creation lists. -- * -+ * cdef class TypeVlenID(TypeID): # <<<<<<<<<<<<<< -+ * # Non-string vlens -+ * pass - */ -+struct __pyx_obj_4h5py_3h5t_TypeVlenID { -+ struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; -+}; - --struct __pyx_obj_4h5py_3h5p_PropCreateID { -- struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; -+ -+/* "h5py/h5a.pyx":153 -+ * -+ * -+ * cdef class AttrInfo: # <<<<<<<<<<<<<< -+ * -+ * cdef H5A_info_t info -+ */ -+struct __pyx_obj_4h5py_3h5a_AttrInfo { -+ PyObject_HEAD -+ H5A_info_t info; - }; - --/* "h5p.pxd":55 -- * pass -+ -+/* "h5s.pxd":17 -+ * from _objects cimport class ObjectID - * -- * cdef class PropFCID(PropCreateID): # <<<<<<<<<<<<<< -- * """ File creation property list """ -+ * cdef class SpaceID(ObjectID): # <<<<<<<<<<<<<< - * pass -+ * - */ -- --struct __pyx_obj_4h5py_3h5p_PropFCID { -- struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; -+struct __pyx_obj_4h5py_3h5s_SpaceID { -+ struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base; - }; - --/* "h5p.pxd":27 -+ -+/* "h5t.pxd":43 -+ * pass -+ * -+ * cdef class TypeReferenceID(TypeID): # <<<<<<<<<<<<<< - * pass - * -- * cdef class PropClassID(PropID): # <<<<<<<<<<<<<< -- * """ Represents an HDF5 property list class. These can be either (locked) -- * library-defined classes or user-created classes. - */ -- --struct __pyx_obj_4h5py_3h5p_PropClassID { -- struct __pyx_obj_4h5py_3h5p_PropID __pyx_base; -+struct __pyx_obj_4h5py_3h5t_TypeReferenceID { -+ struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - -+ - /* "h5t.pxd":59 - * # --- Enums & compound types --- - * -@@ -490,11 +571,11 @@ struct __pyx_obj_4h5py_3h5p_PropClassID - * pass - * - */ -- - struct __pyx_obj_4h5py_3h5t_TypeCompositeID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - -+ - /* "h5t.pxd":66 - * cdef int enum_convert(self, long long *buf, int reverse) except -1 - * -@@ -502,47 +583,59 @@ struct __pyx_obj_4h5py_3h5t_TypeComposit - * pass - * - */ -- - struct __pyx_obj_4h5py_3h5t_TypeCompoundID { - struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base; - }; - --/* "h5t.pxd":33 -+ -+/* "h5p.pxd":39 - * pass - * -- * cdef class TypeVlenID(TypeID): # <<<<<<<<<<<<<< -- * # Non-string vlens -- * pass -+ * cdef class PropCreateID(PropInstanceID): # <<<<<<<<<<<<<< -+ * """ Base class for all object creation lists. -+ * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeVlenID { -- struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; -+struct __pyx_obj_4h5py_3h5p_PropCreateID { -+ struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; - }; - --/* "h5p.pxd":73 -- * # --- New in 1.8 --- -+ -+/* "h5t.pxd":37 -+ * pass - * -- * cdef class PropLCID(PropCreateID): # <<<<<<<<<<<<<< -- * """ Link creation property list """ -+ * cdef class TypeTimeID(TypeID): # <<<<<<<<<<<<<< - * pass -+ * - */ -- --struct __pyx_obj_4h5py_3h5p_PropLCID { -- struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; -+struct __pyx_obj_4h5py_3h5t_TypeTimeID { -+ struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - --/* "h5p.pxd":81 -- * cdef char* _buf -+ -+/* "h5py/h5a.pxd":17 -+ * from _objects cimport ObjectID - * -- * cdef class PropGCID(PropCreateID): # <<<<<<<<<<<<<< -- * """ Group creation property list """ -+ * cdef class AttrID(ObjectID): # <<<<<<<<<<<<<< - * pass -+ * - */ -+struct __pyx_obj_4h5py_3h5a_AttrID { -+ struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base; -+}; - --struct __pyx_obj_4h5py_3h5p_PropGCID { -- struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; -+ -+/* "h5p.pxd":27 -+ * pass -+ * -+ * cdef class PropClassID(PropID): # <<<<<<<<<<<<<< -+ * """ Represents an HDF5 property list class. These can be either (locked) -+ * library-defined classes or user-created classes. -+ */ -+struct __pyx_obj_4h5py_3h5p_PropClassID { -+ struct __pyx_obj_4h5py_3h5p_PropID __pyx_base; - }; - -+ - /* "h5p.pxd":51 - * # --- Object creation --- - * -@@ -550,107 +643,122 @@ struct __pyx_obj_4h5py_3h5p_PropGCID { - * """ Dataset creation property list """ - * pass - */ -- - struct __pyx_obj_4h5py_3h5p_PropDCID { - struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; - }; - --/* "h5t.pxd":37 -- * pass -- * -- * cdef class TypeTimeID(TypeID): # <<<<<<<<<<<<<< -+ -+/* "h5p.pxd":77 - * pass - * -+ * cdef class PropLAID(PropInstanceID): # <<<<<<<<<<<<<< -+ * """ Link access property list """ -+ * cdef char* _buf - */ -- --struct __pyx_obj_4h5py_3h5t_TypeTimeID { -- struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; -+struct __pyx_obj_4h5py_3h5p_PropLAID { -+ struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; -+ char *_buf; - }; - --/* "h5t.pxd":23 -- * # --- Top-level classes --- -+ -+/* "h5p.pxd":81 -+ * cdef char* _buf - * -- * cdef class TypeArrayID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class PropGCID(PropCreateID): # <<<<<<<<<<<<<< -+ * """ Group creation property list """ - * pass -- * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeArrayID { -- struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; -+struct __pyx_obj_4h5py_3h5p_PropGCID { -+ struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; - }; - --/* "h5t.pxd":48 -- * # --- Numeric atomic types --- -+ -+/* "h5p.pxd":73 -+ * # --- New in 1.8 --- - * -- * cdef class TypeAtomicID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class PropLCID(PropCreateID): # <<<<<<<<<<<<<< -+ * """ Link creation property list """ - * pass -- * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeAtomicID { -- struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; -+struct __pyx_obj_4h5py_3h5p_PropLCID { -+ struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; - }; - --/* "h5t.pxd":54 -+ -+/* "h5t.pxd":26 - * pass - * -- * cdef class TypeFloatID(TypeAtomicID): # <<<<<<<<<<<<<< -+ * cdef class TypeOpaqueID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeFloatID { -- struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base; -+struct __pyx_obj_4h5py_3h5t_TypeOpaqueID { -+ struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - --/* "h5t.pxd":29 -+ -+/* "h5p.pxd":55 - * pass - * -- * cdef class TypeStringID(TypeID): # <<<<<<<<<<<<<< -- * # Both vlen and fixed-len strings -+ * cdef class PropFCID(PropCreateID): # <<<<<<<<<<<<<< -+ * """ File creation property list """ - * pass - */ -- --struct __pyx_obj_4h5py_3h5t_TypeStringID { -- struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; -+struct __pyx_obj_4h5py_3h5p_PropFCID { -+ struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; - }; - --/* "h5t.pxd":26 -+ -+/* "h5t.pxd":40 - * pass - * -- * cdef class TypeOpaqueID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeBitfieldID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeOpaqueID { -+struct __pyx_obj_4h5py_3h5t_TypeBitfieldID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - --/* "h5t.pxd":62 -- * pass -+ -+/* "h5t.pxd":48 -+ * # --- Numeric atomic types --- - * -- * cdef class TypeEnumID(TypeCompositeID): # <<<<<<<<<<<<<< -+ * cdef class TypeAtomicID(TypeID): # <<<<<<<<<<<<<< -+ * pass - * -- * cdef int enum_convert(self, long long *buf, int reverse) except -1 - */ -- --struct __pyx_obj_4h5py_3h5t_TypeEnumID { -- struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base; -+struct __pyx_obj_4h5py_3h5t_TypeAtomicID { -+ struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - --/* "h5p.pxd":46 -- * pass -- * -- * cdef class PropCopyID(PropInstanceID): # <<<<<<<<<<<<<< -- * """ Property list for copying objects (as in h5o.copy) """ -+ -+/* "h5p.pxd":62 -+ * # --- Object access --- - * -+ * cdef class PropFAID(PropInstanceID): # <<<<<<<<<<<<<< -+ * """ File access property list """ -+ * pass - */ -- --struct __pyx_obj_4h5py_3h5p_PropCopyID { -+struct __pyx_obj_4h5py_3h5p_PropFAID { - struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; - }; - -+ -+/* "h5py/h5a.pyx":217 -+ * # === Iteration routines ====================================================== -+ * -+ * cdef class _AttrVisitor: # <<<<<<<<<<<<<< -+ * cdef object func -+ * cdef object retval -+ */ -+struct __pyx_obj_4h5py_3h5a__AttrVisitor { -+ PyObject_HEAD -+ PyObject *func; -+ PyObject *retval; -+}; -+ -+ - /* "h5t.pxd":51 - * pass - * -@@ -658,146 +766,102 @@ struct __pyx_obj_4h5py_3h5p_PropCopyID { - * pass - * - */ -- - struct __pyx_obj_4h5py_3h5t_TypeIntegerID { - struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base; - }; - --/* "h5t.pxd":43 -+ -+/* "h5t.pxd":62 - * pass - * -- * cdef class TypeReferenceID(TypeID): # <<<<<<<<<<<<<< -- * pass -+ * cdef class TypeEnumID(TypeCompositeID): # <<<<<<<<<<<<<< - * -+ * cdef int enum_convert(self, long long *buf, int reverse) except -1 - */ -- --struct __pyx_obj_4h5py_3h5t_TypeReferenceID { -- struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; -+struct __pyx_obj_4h5py_3h5t_TypeEnumID { -+ struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base; - }; - --/* "h5p.pxd":66 -+ -+/* "h5t.pxd":29 - * pass - * -- * cdef class PropDXID(PropInstanceID): # <<<<<<<<<<<<<< -- * """ Dataset transfer property list """ -+ * cdef class TypeStringID(TypeID): # <<<<<<<<<<<<<< -+ * # Both vlen and fixed-len strings - * pass - */ -- --struct __pyx_obj_4h5py_3h5p_PropDXID { -- struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; -+struct __pyx_obj_4h5py_3h5t_TypeStringID { -+ struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - --/* "h5s.pxd":17 -- * from _objects cimport class ObjectID -- * -- * cdef class SpaceID(ObjectID): # <<<<<<<<<<<<<< -- * pass -- * -- */ -- --struct __pyx_obj_4h5py_3h5s_SpaceID { -- struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base; --}; - --/* "h5py/h5a.pyx":153 -- * -+/* "h5t.pxd":54 -+ * pass - * -- * cdef class AttrInfo: # <<<<<<<<<<<<<< -+ * cdef class TypeFloatID(TypeAtomicID): # <<<<<<<<<<<<<< -+ * pass - * -- * cdef H5A_info_t info - */ -- --struct __pyx_obj_4h5py_3h5a_AttrInfo { -- PyObject_HEAD -- H5A_info_t info; -+struct __pyx_obj_4h5py_3h5t_TypeFloatID { -+ struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base; - }; - --/* "h5p.pxd":77 -- * pass -- * -- * cdef class PropLAID(PropInstanceID): # <<<<<<<<<<<<<< -- * """ Link access property list """ -- * cdef char* _buf -- */ - --struct __pyx_obj_4h5py_3h5p_PropLAID { -- struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; -- char *_buf; --}; - --/* "h5py/h5a.pxd":17 -- * from _objects cimport ObjectID -+/* "h5t.pxd":17 -+ * from _objects cimport class ObjectID - * -- * cdef class AttrID(ObjectID): # <<<<<<<<<<<<<< -- * pass -+ * cdef class TypeID(ObjectID): # <<<<<<<<<<<<<< - * -+ * cdef object py_dtype(self) - */ - --struct __pyx_obj_4h5py_3h5a_AttrID { -- struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base; --}; -- -- - struct __pyx_vtabstruct_4h5py_3h5t_TypeID { - PyObject *(*py_dtype)(struct __pyx_obj_4h5py_3h5t_TypeID *); - }; - static struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtabptr_4h5py_3h5t_TypeID; - - --/* "h5t.pxd":59 -- * # --- Enums & compound types --- -- * -- * cdef class TypeCompositeID(TypeID): # <<<<<<<<<<<<<< -- * pass -- * -- */ -- --struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID { -- struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; --}; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID *__pyx_vtabptr_4h5py_3h5t_TypeCompositeID; -- -- --/* "h5t.pxd":66 -- * cdef int enum_convert(self, long long *buf, int reverse) except -1 -+/* "h5t.pxd":26 -+ * pass - * -- * cdef class TypeCompoundID(TypeCompositeID): # <<<<<<<<<<<<<< -+ * cdef class TypeOpaqueID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID { -- struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base; -+struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID { -+ struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID *__pyx_vtabptr_4h5py_3h5t_TypeCompoundID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID *__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID; - - --/* "h5t.pxd":26 -+/* "h5t.pxd":40 - * pass - * -- * cdef class TypeOpaqueID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeBitfieldID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID *__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID *__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID; - - --/* "h5t.pxd":23 -- * # --- Top-level classes --- -+/* "h5t.pxd":37 -+ * pass - * -- * cdef class TypeArrayID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeTimeID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID *__pyx_vtabptr_4h5py_3h5t_TypeArrayID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID *__pyx_vtabptr_4h5py_3h5t_TypeTimeID; - - - /* "h5t.pxd":48 -@@ -828,32 +892,32 @@ struct __pyx_vtabstruct_4h5py_3h5t_TypeI - static struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID *__pyx_vtabptr_4h5py_3h5t_TypeIntegerID; - - --/* "h5t.pxd":43 -+/* "h5t.pxd":29 - * pass - * -- * cdef class TypeReferenceID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeStringID(TypeID): # <<<<<<<<<<<<<< -+ * # Both vlen and fixed-len strings - * pass -- * - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID *__pyx_vtabptr_4h5py_3h5t_TypeReferenceID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID *__pyx_vtabptr_4h5py_3h5t_TypeStringID; - - --/* "h5t.pxd":29 -+/* "h5t.pxd":33 - * pass - * -- * cdef class TypeStringID(TypeID): # <<<<<<<<<<<<<< -- * # Both vlen and fixed-len strings -+ * cdef class TypeVlenID(TypeID): # <<<<<<<<<<<<<< -+ * # Non-string vlens - * pass - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID *__pyx_vtabptr_4h5py_3h5t_TypeStringID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID *__pyx_vtabptr_4h5py_3h5t_TypeVlenID; - - - /* "h5t.pxd":54 -@@ -870,66 +934,78 @@ struct __pyx_vtabstruct_4h5py_3h5t_TypeF - static struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID *__pyx_vtabptr_4h5py_3h5t_TypeFloatID; - - --/* "h5t.pxd":37 -- * pass -+/* "h5t.pxd":59 -+ * # --- Enums & compound types --- - * -- * cdef class TypeTimeID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeCompositeID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID *__pyx_vtabptr_4h5py_3h5t_TypeTimeID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID *__pyx_vtabptr_4h5py_3h5t_TypeCompositeID; - - --/* "h5t.pxd":40 -+/* "h5t.pxd":43 - * pass - * -- * cdef class TypeBitfieldID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeReferenceID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID *__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID *__pyx_vtabptr_4h5py_3h5t_TypeReferenceID; - - --/* "h5t.pxd":33 -+/* "h5t.pxd":62 - * pass - * -- * cdef class TypeVlenID(TypeID): # <<<<<<<<<<<<<< -- * # Non-string vlens -+ * cdef class TypeEnumID(TypeCompositeID): # <<<<<<<<<<<<<< -+ * -+ * cdef int enum_convert(self, long long *buf, int reverse) except -1 -+ */ -+ -+struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID { -+ struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base; -+ int (*enum_convert)(struct __pyx_obj_4h5py_3h5t_TypeEnumID *, PY_LONG_LONG *, int); -+}; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *__pyx_vtabptr_4h5py_3h5t_TypeEnumID; -+ -+ -+/* "h5t.pxd":23 -+ * # --- Top-level classes --- -+ * -+ * cdef class TypeArrayID(TypeID): # <<<<<<<<<<<<<< - * pass -+ * - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID *__pyx_vtabptr_4h5py_3h5t_TypeVlenID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID *__pyx_vtabptr_4h5py_3h5t_TypeArrayID; - - --/* "h5t.pxd":62 -- * pass -+/* "h5t.pxd":66 -+ * cdef int enum_convert(self, long long *buf, int reverse) except -1 - * -- * cdef class TypeEnumID(TypeCompositeID): # <<<<<<<<<<<<<< -+ * cdef class TypeCompoundID(TypeCompositeID): # <<<<<<<<<<<<<< -+ * pass - * -- * cdef int enum_convert(self, long long *buf, int reverse) except -1 - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base; -- int (*enum_convert)(struct __pyx_obj_4h5py_3h5t_TypeEnumID *, PY_LONG_LONG *, int); - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *__pyx_vtabptr_4h5py_3h5t_TypeEnumID; -- -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID *__pyx_vtabptr_4h5py_3h5t_TypeCompoundID; - #ifndef CYTHON_REFNANNY - #define CYTHON_REFNANNY 0 - #endif -- - #if CYTHON_REFNANNY - typedef struct { - void (*INCREF)(void*, PyObject*, int); -@@ -940,47 +1016,57 @@ static struct __pyx_vtabstruct_4h5py_3h5 - void (*FinishContext)(void**); - } __Pyx_RefNannyAPIStruct; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; -- static __Pyx_RefNannyAPIStruct * __Pyx_RefNannyImportAPI(const char *modname) { -- PyObject *m = NULL, *p = NULL; -- void *r = NULL; -- m = PyImport_ImportModule((char *)modname); -- if (!m) goto end; -- p = PyObject_GetAttrString(m, (char *)"RefNannyAPI"); -- if (!p) goto end; -- r = PyLong_AsVoidPtr(p); -- end: -- Py_XDECREF(p); -- Py_XDECREF(m); -- return (__Pyx_RefNannyAPIStruct *)r; -- } -- #define __Pyx_RefNannySetupContext(name) void *__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) -- #define __Pyx_RefNannyFinishContext() __Pyx_RefNanny->FinishContext(&__pyx_refnanny) -- #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -- #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -- #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -+ static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/ -+ #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; -+#ifdef WITH_THREAD -+ #define __Pyx_RefNannySetupContext(name, acquire_gil) \ -+ if (acquire_gil) { \ -+ PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \ -+ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \ -+ PyGILState_Release(__pyx_gilstate_save); \ -+ } else { \ -+ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \ -+ } -+#else -+ #define __Pyx_RefNannySetupContext(name, acquire_gil) \ -+ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) -+#endif -+ #define __Pyx_RefNannyFinishContext() \ -+ __Pyx_RefNanny->FinishContext(&__pyx_refnanny) -+ #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -+ #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -+ #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -- #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r);} } while(0) -+ #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) -+ #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) -+ #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) -+ #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) - #else -- #define __Pyx_RefNannySetupContext(name) -+ #define __Pyx_RefNannyDeclarations -+ #define __Pyx_RefNannySetupContext(name, acquire_gil) - #define __Pyx_RefNannyFinishContext() - #define __Pyx_INCREF(r) Py_INCREF(r) - #define __Pyx_DECREF(r) Py_DECREF(r) - #define __Pyx_GOTREF(r) - #define __Pyx_GIVEREF(r) -+ #define __Pyx_XINCREF(r) Py_XINCREF(r) - #define __Pyx_XDECREF(r) Py_XDECREF(r) -+ #define __Pyx_XGOTREF(r) -+ #define __Pyx_XGIVEREF(r) - #endif /* CYTHON_REFNANNY */ --#define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);} } while(0) --#define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r);} } while(0) -+#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) -+#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) - - static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/ - - static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, - Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/ - --static void __Pyx_RaiseDoubleKeywordsError( -- const char* func_name, PyObject* kw_name); /*proto*/ -+static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/ - --static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, const char* function_name); /*proto*/ -+static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \ -+ PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \ -+ const char* function_name); /*proto*/ - - static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, - const char *name, int exact); /*proto*/ -@@ -988,14 +1074,13 @@ static int __Pyx_ArgTypeTest(PyObject *o - static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ - static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ - --static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ -+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/ - - static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/ - - #define __Pyx_DelItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \ - __Pyx_DelItemInt_Fast(o, i) : \ - __Pyx_DelItem_Generic(o, to_py_func(i))) -- - static CYTHON_INLINE int __Pyx_DelItem_Generic(PyObject *o, PyObject *j) { - int r; - if (!j) return -1; -@@ -1003,22 +1088,39 @@ static CYTHON_INLINE int __Pyx_DelItem_G - Py_DECREF(j); - return r; - } -- - static CYTHON_INLINE int __Pyx_DelItemInt_Fast(PyObject *o, Py_ssize_t i) { -- if (Py_TYPE(o)->tp_as_sequence && Py_TYPE(o)->tp_as_sequence->sq_ass_item && likely(i >= 0)) -+#if CYTHON_COMPILING_IN_PYPY -+ if (PySequence_Check(o)) { - return PySequence_DelItem(o, i); -- else { -- PyObject *j = PyInt_FromSsize_t(i); -- return __Pyx_DelItem_Generic(o, j); - } -+#else -+ PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; -+ if (likely(m && m->sq_ass_item)) { -+ if (unlikely(i < 0) && likely(m->sq_length)) { -+ Py_ssize_t l = m->sq_length(o); -+ if (unlikely(l < 0)) return -1; -+ i += l; -+ } -+ return m->sq_ass_item(o, i, (PyObject *)NULL); -+ } -+#endif -+ return __Pyx_DelItem_Generic(o, PyInt_FromSsize_t(i)); - } - - static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ - -+static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc); -+ -+static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse); -+ -+static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_dealloc); -+ - static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ - static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ - --static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/ -+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level); /*proto*/ -+ -+static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name); - - static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t); - -@@ -1058,339 +1160,73 @@ static CYTHON_INLINE signed long __Pyx_P - - static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *); - --static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, long size, int strict); /*proto*/ -+static int __Pyx_check_binary_version(void); -+ -+#if !defined(__Pyx_PyIdentifier_FromString) -+#if PY_MAJOR_VERSION < 3 -+ #define __Pyx_PyIdentifier_FromString(s) PyString_FromString(s) -+#else -+ #define __Pyx_PyIdentifier_FromString(s) PyUnicode_FromString(s) -+#endif -+#endif - - static PyObject *__Pyx_ImportModule(const char *name); /*proto*/ - -+static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict); /*proto*/ -+ - static void* __Pyx_GetVtable(PyObject *dict); /*proto*/ - - static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/ - --static void __Pyx_AddTraceback(const char *funcname); /*proto*/ -+typedef struct { -+ int code_line; -+ PyCodeObject* code_object; -+} __Pyx_CodeObjectCacheEntry; -+struct __Pyx_CodeObjectCache { -+ int count; -+ int max_count; -+ __Pyx_CodeObjectCacheEntry* entries; -+}; -+static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; -+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); -+static PyCodeObject *__pyx_find_code_object(int code_line); -+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); -+ -+static void __Pyx_AddTraceback(const char *funcname, int c_line, -+ int py_line, const char *filename); /*proto*/ - - static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ --/* Module declarations from h5py.api_types_ext */ - --/* Module declarations from h5py.api_types_hdf5 */ - --/* Module declarations from h5py.defs */ -+/* Module declarations from 'h5py.api_types_ext' */ - --static herr_t (*__pyx_f_4h5py_4defs_H5open)(void); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5close)(void); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5get_libversion)(unsigned int *, unsigned int *, unsigned int *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dcreate2)(hid_t, char *, hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dcreate_anon)(hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dopen)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dget_space)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dget_space_status)(hid_t, H5D_space_status_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dget_type)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dget_create_plist)(hid_t); /*proto*/ --static haddr_t (*__pyx_f_4h5py_4defs_H5Dget_offset)(hid_t); /*proto*/ --static hsize_t (*__pyx_f_4h5py_4defs_H5Dget_storage_size)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dread)(hid_t, hid_t, hid_t, hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dwrite)(hid_t, hid_t, hid_t, hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dextend)(hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dfill)(void *, hid_t, void *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dvlen_get_buf_size)(hid_t, hid_t, hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dvlen_reclaim)(hid_t, hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Diterate)(void *, hid_t, hid_t, H5D_operator_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dset_extent)(hid_t, hsize_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fcreate)(char *, unsigned int, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fopen)(char *, unsigned int, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fclose)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Fis_hdf5)(char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fflush)(hid_t, enum H5F_scope_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Freopen)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fmount)(hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Funmount)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fget_filesize)(hid_t, hsize_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fget_create_plist)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fget_access_plist)(hid_t); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Fget_freespace)(hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Fget_name)(hid_t, char *, size_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Fget_obj_count)(hid_t, unsigned int); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Fget_obj_ids)(hid_t, unsigned int, int, hid_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fget_intent)(hid_t, unsigned int *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate)(hid_t, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gopen)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gclose)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Glink2)(hid_t, char *, H5G_link_t, hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gunlink)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gmove2)(hid_t, char *, hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_num_objs)(hid_t, hsize_t *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Gget_objname_by_idx)(hid_t, hsize_t, char *, size_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Gget_objtype_by_idx)(hid_t, hsize_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Giterate)(hid_t, char *, int *, H5G_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_objinfo)(hid_t, char *, int, H5G_stat_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_linkval)(hid_t, char *, size_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gset_comment)(hid_t, char *, char *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Gget_comment)(hid_t, char *, size_t, char *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate_anon)(hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate2)(hid_t, char *, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gopen2)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_info)(hid_t, H5G_info_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_info_by_name)(hid_t, char *, H5G_info_t *, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gget_create_plist)(hid_t); /*proto*/ --static H5I_type_t (*__pyx_f_4h5py_4defs_H5Iget_type)(hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Iget_name)(hid_t, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Iget_file_id)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Idec_ref)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Iget_ref)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Iinc_ref)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lmove)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcopy)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_hard)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_soft)(char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ldelete)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ldelete_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_val)(hid_t, char *, void *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_val_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, void *, size_t, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Lexists)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_info)(hid_t, char *, H5L_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5L_info_t *, hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Lget_name_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, char *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Literate)(hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Literate_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lvisit)(hid_t, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lvisit_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lunpack_elink_val)(void *, size_t, unsigned int *, char **, char **); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_external)(char *, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Oopen)(hid_t, char *, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Oopen_by_addr)(hid_t, haddr_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Oopen_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info)(hid_t, H5O_info_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info_by_name)(hid_t, char *, H5O_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5O_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Olink)(hid_t, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ocopy)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oincr_refcount)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Odecr_refcount)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oset_comment)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oset_comment_by_name)(hid_t, char *, char *, hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Oget_comment)(hid_t, char *, size_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Oget_comment_by_name)(hid_t, char *, char *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ovisit)(hid_t, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ovisit_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pcreate)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pcopy)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Pget_class)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pclose)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Pequal)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pclose_class)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_version)(hid_t, unsigned int *, unsigned int *, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_userblock)(hid_t, hsize_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_userblock)(hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sizes)(hid_t, size_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sizes)(hid_t, size_t *, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sym_k)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sym_k)(hid_t, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_istore_k)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_istore_k)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fclose_degree)(hid_t, enum H5F_close_degree_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fclose_degree)(hid_t, enum H5F_close_degree_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_core)(hid_t, size_t, hbool_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fapl_core)(hid_t, size_t *, hbool_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_family)(hid_t, hsize_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fapl_family)(hid_t, hsize_t *, hid_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_family_offset)(hid_t, hsize_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_family_offset)(hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_log)(hid_t, char *, unsigned int, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_multi)(hid_t, H5FD_mem_t *, hid_t *, char **, haddr_t *, hbool_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_cache)(hid_t, int, int, size_t, double); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_cache)(hid_t, int *, int *, size_t *, double *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_sec2)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_stdio)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pget_driver)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_layout)(hid_t, int); /*proto*/ --static H5D_layout_t (*__pyx_f_4h5py_4defs_H5Pget_layout)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_chunk)(hid_t, int, hsize_t *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Pget_chunk)(hid_t, int, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_deflate)(hid_t, int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fill_value)(hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fill_value)(hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pfill_value_defined)(hid_t, H5D_fill_value_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fill_time)(hid_t, H5D_fill_time_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fill_time)(hid_t, H5D_fill_time_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_alloc_time)(hid_t, H5D_alloc_time_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_alloc_time)(hid_t, H5D_alloc_time_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_filter)(hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Pall_filters_avail)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Pget_nfilters)(hid_t); /*proto*/ --static H5Z_filter_t (*__pyx_f_4h5py_4defs_H5Pget_filter)(hid_t, unsigned int, unsigned int *, size_t *, unsigned int *, size_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_filter_by_id)(hid_t, H5Z_filter_t, unsigned int *, size_t *, unsigned int *, size_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pmodify_filter)(hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Premove_filter)(hid_t, H5Z_filter_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fletcher32)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_shuffle)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_szip)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_edc_check)(hid_t, enum H5Z_EDC_t); /*proto*/ --static enum H5Z_EDC_t (*__pyx_f_4h5py_4defs_H5Pget_edc_check)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sieve_buf_size)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sieve_buf_size)(hid_t, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_nlinks)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_nlinks)(hid_t, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_elink_prefix)(hid_t, char *); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Pget_elink_prefix)(hid_t, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pget_elink_fapl)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_elink_fapl)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_create_intermediate_group)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_create_intermediate_group)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_copy_object)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_copy_object)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_char_encoding)(hid_t, H5T_cset_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_char_encoding)(hid_t, H5T_cset_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_local_heap_size_hint)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_local_heap_size_hint)(hid_t, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_link_phase_change)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_link_phase_change)(hid_t, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_est_link_info)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_est_link_info)(hid_t, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_link_creation_order)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_link_creation_order)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_libver_bounds)(hid_t, H5F_libver_t, H5F_libver_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_libver_bounds)(hid_t, H5F_libver_t *, H5F_libver_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Rcreate)(void *, hid_t, char *, H5R_type_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Rdereference)(hid_t, H5R_type_t, void *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Rget_region)(hid_t, H5R_type_t, void *); /*proto*/ --static enum H5G_obj_t (*__pyx_f_4h5py_4defs_H5Rget_obj_type)(hid_t, H5R_type_t, void *); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Rget_name)(hid_t, H5R_type_t, void *, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Screate)(H5S_class_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Scopy)(hid_t); /*proto*/ -+/* Module declarations from 'h5py.api_types_hdf5' */ -+ -+/* Module declarations from 'h5py.defs' */ - static herr_t (*__pyx_f_4h5py_4defs_H5Sclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Screate_simple)(int, hsize_t *, hsize_t *); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Sis_simple)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Soffset_simple)(hid_t, hssize_t *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_dims)(hid_t, hsize_t *, hsize_t *); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_npoints)(hid_t); /*proto*/ --static H5S_class_t (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_type)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sextent_copy)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sset_extent_simple)(hid_t, int, hsize_t *, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sset_extent_none)(hid_t); /*proto*/ --static H5S_sel_type (*__pyx_f_4h5py_4defs_H5Sget_select_type)(hid_t); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_select_npoints)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sget_select_bounds)(hid_t, hsize_t *, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_all)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_none)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Sselect_valid)(hid_t); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_select_elem_npoints)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sget_select_elem_pointlist)(hid_t, hsize_t, hsize_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_elements)(hid_t, H5S_seloper_t, size_t, hsize_t **); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_select_hyper_nblocks)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sget_select_hyper_blocklist)(hid_t, hsize_t, hsize_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_hyperslab)(hid_t, H5S_seloper_t, hsize_t *, hsize_t *, hsize_t *, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sencode)(hid_t, void *, size_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Sdecode)(void *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tcreate)(enum H5T_class_t, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Topen)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tcommit)(hid_t, char *, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tcommitted)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tcopy)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tequal)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tlock)(hid_t); /*proto*/ --static enum H5T_class_t (*__pyx_f_4h5py_4defs_H5Tget_class)(hid_t); /*proto*/ --static size_t (*__pyx_f_4h5py_4defs_H5Tget_size)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tget_super)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tdetect_class)(hid_t, enum H5T_class_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tget_native_type)(hid_t, enum H5T_direction_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tconvert)(hid_t, hid_t, size_t, void *, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_size)(hid_t, size_t); /*proto*/ --static H5T_order_t (*__pyx_f_4h5py_4defs_H5Tget_order)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_order)(hid_t, H5T_order_t); /*proto*/ --static hsize_t (*__pyx_f_4h5py_4defs_H5Tget_precision)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_precision)(hid_t, size_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_offset)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_offset)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tget_pad)(hid_t, H5T_pad_t *, H5T_pad_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_pad)(hid_t, H5T_pad_t, H5T_pad_t); /*proto*/ --static H5T_sign_t (*__pyx_f_4h5py_4defs_H5Tget_sign)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_sign)(hid_t, H5T_sign_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tget_fields)(hid_t, size_t *, size_t *, size_t *, size_t *, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_fields)(hid_t, size_t, size_t, size_t, size_t, size_t); /*proto*/ --static size_t (*__pyx_f_4h5py_4defs_H5Tget_ebias)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_ebias)(hid_t, size_t); /*proto*/ --static H5T_norm_t (*__pyx_f_4h5py_4defs_H5Tget_norm)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_norm)(hid_t, H5T_norm_t); /*proto*/ --static H5T_pad_t (*__pyx_f_4h5py_4defs_H5Tget_inpad)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_inpad)(hid_t, H5T_pad_t); /*proto*/ --static H5T_cset_t (*__pyx_f_4h5py_4defs_H5Tget_cset)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_cset)(hid_t, H5T_cset_t); /*proto*/ --static H5T_str_t (*__pyx_f_4h5py_4defs_H5Tget_strpad)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_strpad)(hid_t, H5T_str_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tvlen_create)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tis_variable_str)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_nmembers)(hid_t); /*proto*/ --static enum H5T_class_t (*__pyx_f_4h5py_4defs_H5Tget_member_class)(hid_t, int); /*proto*/ --static char *(*__pyx_f_4h5py_4defs_H5Tget_member_name)(hid_t, unsigned int); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tget_member_type)(hid_t, unsigned int); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_member_offset)(hid_t, int); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_member_index)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tinsert)(hid_t, char *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tpack)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tenum_create)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_insert)(hid_t, char *, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_nameof)(hid_t, void *, char *, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_valueof)(hid_t, char *, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tget_member_value)(hid_t, unsigned int, void *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tarray_create)(hid_t, int, hsize_t *, int *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_array_ndims)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_array_dims)(hid_t, hsize_t *, int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_tag)(hid_t, char *); /*proto*/ --static char *(*__pyx_f_4h5py_4defs_H5Tget_tag)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tdecode)(unsigned char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tencode)(hid_t, unsigned char *, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tcommit2)(hid_t, char *, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static H5T_conv_t (*__pyx_f_4h5py_4defs_H5Tfind)(hid_t, hid_t, H5T_cdata_t **); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tregister)(H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tunregister)(H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Zfilter_avail)(H5Z_filter_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Zget_filter_info)(H5Z_filter_t, unsigned int *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Acreate)(hid_t, char *, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aopen_idx)(hid_t, unsigned int); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aopen_name)(hid_t, char *); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Aclose)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Adelete)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aread)(hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Awrite)(hid_t, hid_t, void *); /*proto*/ - static int (*__pyx_f_4h5py_4defs_H5Aget_num_attrs)(hid_t); /*proto*/ - static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Aget_name)(hid_t, size_t, char *); /*proto*/ - static hid_t (*__pyx_f_4h5py_4defs_H5Aget_space)(hid_t); /*proto*/ - static hid_t (*__pyx_f_4h5py_4defs_H5Aget_type)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aiterate)(hid_t, unsigned int *, H5A_operator_t, void *); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Adelete_by_name)(hid_t, char *, char *, hid_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Adelete_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t); /*proto*/ - static hid_t (*__pyx_f_4h5py_4defs_H5Acreate_by_name)(hid_t, char *, char *, hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aopen)(hid_t, char *, hid_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Aopen_by_name)(hid_t, char *, char *, hid_t, hid_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Aopen_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t, hid_t); /*proto*/ - static htri_t (*__pyx_f_4h5py_4defs_H5Aexists_by_name)(hid_t, char *, char *, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Aexists)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Arename)(hid_t, char *, char *); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Arename_by_name)(hid_t, char *, char *, char *, hid_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info)(hid_t, H5A_info_t *); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info_by_name)(hid_t, char *, char *, H5A_info_t *, hid_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5A_info_t *, hid_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Aiterate2)(hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5A_operator2_t, void *); /*proto*/ - static hsize_t (*__pyx_f_4h5py_4defs_H5Aget_storage_size)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSattach_scale)(hid_t, hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSdetach_scale)(hid_t, hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSset_scale)(hid_t, char *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5DSget_num_scales)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSset_label)(hid_t, unsigned int, char *); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5DSget_label)(hid_t, unsigned int, char *, size_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5DSget_scale_name)(hid_t, char *, size_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5DSis_scale)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSiterate_scales)(hid_t, unsigned int, int *, H5DS_iterate_t, void *); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5DSis_attached)(hid_t, hid_t, unsigned int); /*proto*/ --/* Module declarations from h5py._objects */ - -+/* Module declarations from 'h5py._objects' */ - static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0; - static hid_t (*__pyx_f_4h5py_8_objects_pdefault)(struct __pyx_obj_4h5py_8_objects_ObjectID *); /*proto*/ --/* Module declarations from h5py.h5t */ - -+/* Module declarations from 'h5py.h5t' */ - static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeArrayID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeOpaqueID = 0; -@@ -1407,11 +1243,11 @@ static PyTypeObject *__pyx_ptype_4h5py_3 - static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompoundID = 0; - static struct __pyx_obj_4h5py_3h5t_TypeID *(*__pyx_f_4h5py_3h5t_typewrap)(hid_t, int __pyx_skip_dispatch); /*proto*/ - static struct __pyx_obj_4h5py_3h5t_TypeID *(*__pyx_f_4h5py_3h5t_py_create)(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args); /*proto*/ --/* Module declarations from h5py.h5s */ - -+/* Module declarations from 'h5py.h5s' */ - static PyTypeObject *__pyx_ptype_4h5py_3h5s_SpaceID = 0; --/* Module declarations from h5py.h5p */ - -+/* Module declarations from 'h5py.h5p' */ - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropClassID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropInstanceID = 0; -@@ -1424,42 +1260,58 @@ static PyTypeObject *__pyx_ptype_4h5py_3 - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLCID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLAID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropGCID = 0; --static hid_t (*__pyx_f_4h5py_3h5p_pdefault)(struct __pyx_obj_4h5py_3h5p_PropID *); /*proto*/ --static PyObject *(*__pyx_f_4h5py_3h5p_propwrap)(hid_t); /*proto*/ --/* Module declarations from numpy */ - --/* Module declarations from h5py.numpy */ -+/* Module declarations from 'numpy' */ - -+/* Module declarations from 'h5py.numpy' */ - static PyTypeObject *__pyx_ptype_4h5py_5numpy_dtype = 0; - static PyTypeObject *__pyx_ptype_4h5py_5numpy_ndarray = 0; --/* Module declarations from h5py.utils */ - -+/* Module declarations from 'h5py.utils' */ - static void *(*__pyx_f_4h5py_5utils_emalloc)(size_t); /*proto*/ - static void (*__pyx_f_4h5py_5utils_efree)(void *); /*proto*/ - static int (*__pyx_f_4h5py_5utils_check_numpy_read)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args); /*proto*/ - static int (*__pyx_f_4h5py_5utils_check_numpy_write)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args); /*proto*/ --static int (*__pyx_f_4h5py_5utils_convert_tuple)(PyObject *, hsize_t *, hsize_t); /*proto*/ --static PyObject *(*__pyx_f_4h5py_5utils_convert_dims)(hsize_t *, hsize_t); /*proto*/ --static int (*__pyx_f_4h5py_5utils_require_tuple)(PyObject *, int, int, char *); /*proto*/ --static PyObject *(*__pyx_f_4h5py_5utils_create_numpy_hsize)(int, hsize_t *); /*proto*/ --static PyObject *(*__pyx_f_4h5py_5utils_create_hsize_array)(PyObject *); /*proto*/ --/* Module declarations from h5py._proxy */ - -+/* Module declarations from 'h5py._proxy' */ - static herr_t (*__pyx_f_4h5py_6_proxy_attr_rw)(hid_t, hid_t, void *, int); /*proto*/ --static herr_t (*__pyx_f_4h5py_6_proxy_dset_rw)(hid_t, hid_t, hid_t, hid_t, hid_t, void *, int); /*proto*/ --/* Module declarations from h5py.h5a */ - -+/* Module declarations from 'h5py.h5a' */ - static PyTypeObject *__pyx_ptype_4h5py_3h5a_AttrID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5a_AttrInfo = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5a__AttrVisitor = 0; - static herr_t __pyx_f_4h5py_3h5a_cb_attr_iter(hid_t, char *, H5A_info_t *, void *); /*proto*/ - static herr_t __pyx_f_4h5py_3h5a_cb_attr_simple(hid_t, char *, H5A_info_t *, void *); /*proto*/ - #define __Pyx_MODULE_NAME "h5py.h5a" --static int __pyx_module_is_main_h5py__h5a = 0; -+int __pyx_module_is_main_h5py__h5a = 0; - --/* Implementation of h5py.h5a */ -+/* Implementation of 'h5py.h5a' */ - static PyObject *__pyx_builtin_TypeError; - static PyObject *__pyx_builtin_ValueError; -+static PyObject *__pyx_pf_4h5py_3h5a_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_space, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5a_2open(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, int __pyx_v_index, char *__pyx_v_obj_name, int __pyx_v_index_type, int __pyx_v_order, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5a_4exists(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5a_6rename(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, char *__pyx_v_new_name, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5a_8delete(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, int __pyx_v_index, char *__pyx_v_obj_name, int __pyx_v_index_type, int __pyx_v_order, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5a_10get_num_attrs(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_12corder_valid___get__(struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_6corder___get__(struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_4cset___get__(struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_9data_size___get__(struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo__hash(struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5a_12get_info(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, int __pyx_v_index, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl, int __pyx_v_index_type, int __pyx_v_order); /* proto */ -+static int __pyx_pf_4h5py_3h5a_12_AttrVisitor___init__(struct __pyx_obj_4h5py_3h5a__AttrVisitor *__pyx_v_self, PyObject *__pyx_v_func); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5a_14iterate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, PyObject *__pyx_v_func, int __pyx_v_index, int __pyx_v_index_type, int __pyx_v_order, int __pyx_v_info); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_4name___get__(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_5shape___get__(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_5dtype___get__(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5a_6AttrID__close(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_2read(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self, PyArrayObject *__pyx_v_arr); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_4write(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self, PyArrayObject *__pyx_v_arr); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_6get_name(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_8get_space(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_10get_type(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_12get_storage_size(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self); /* proto */ - static char __pyx_k_1[] = "."; - static char __pyx_k_4[] = "Exactly one of name or idx must be specified"; - static char __pyx_k_8[] = "Exactly one of index or name must be specified."; -@@ -1474,17 +1326,21 @@ static char __pyx_k_24[] = "Creation ord - static char __pyx_k_25[] = "Character set of attribute name (integer typecode from h5t)"; - static char __pyx_k_26[] = "Size of raw data"; - static char __pyx_k_27[] = "\n Provides access to the low-level HDF5 \"H5A\" attribute interface.\n"; --static char __pyx_k_28[] = "h5py.h5a"; --static char __pyx_k__id[] = "id"; -+static char __pyx_k_30[] = "/disks/strw4/vanelteren/env/python3/install/_temp/h5py-2.1.0/h5py/h5a.pyx"; -+static char __pyx_k_31[] = "h5py.h5a"; -+static char __pyx_k__i[] = "i"; - static char __pyx_k__loc[] = "loc"; - static char __pyx_k__tid[] = "tid"; -+static char __pyx_k__vis[] = "vis"; - static char __pyx_k__cset[] = "cset"; - static char __pyx_k__func[] = "func"; -+static char __pyx_k__h5py[] = "h5py"; - static char __pyx_k__info[] = "info"; - static char __pyx_k__lapl[] = "lapl"; - static char __pyx_k__lock[] = "lock"; - static char __pyx_k__name[] = "name"; - static char __pyx_k__open[] = "open"; -+static char __pyx_k__cfunc[] = "cfunc"; - static char __pyx_k__dtype[] = "dtype"; - static char __pyx_k__index[] = "index"; - static char __pyx_k__order[] = "order"; -@@ -1495,7 +1351,6 @@ static char __pyx_k__create[] = "create" - static char __pyx_k__delete[] = "delete"; - static char __pyx_k__exists[] = "exists"; - static char __pyx_k__rename[] = "rename"; --static char __pyx_k__retval[] = "retval"; - static char __pyx_k__iterate[] = "iterate"; - static char __pyx_k____exit__[] = "__exit__"; - static char __pyx_k____main__[] = "__main__"; -@@ -1506,7 +1361,6 @@ static char __pyx_k__get_name[] = "get_n - static char __pyx_k__get_type[] = "get_type"; - static char __pyx_k__new_name[] = "new_name"; - static char __pyx_k__obj_name[] = "obj_name"; --static char __pyx_k__py_dtype[] = "py_dtype"; - static char __pyx_k__registry[] = "registry"; - static char __pyx_k__TypeError[] = "TypeError"; - static char __pyx_k____enter__[] = "__enter__"; -@@ -1519,7 +1373,8 @@ static char __pyx_k__get_num_attrs[] = " - static PyObject *__pyx_kp_s_12; - static PyObject *__pyx_kp_s_16; - static PyObject *__pyx_n_s_18; --static PyObject *__pyx_n_s_28; -+static PyObject *__pyx_kp_s_30; -+static PyObject *__pyx_n_s_31; - static PyObject *__pyx_kp_s_4; - static PyObject *__pyx_kp_s_8; - static PyObject *__pyx_n_s__TypeError; -@@ -1529,6 +1384,7 @@ static PyObject *__pyx_n_s____exit__; - static PyObject *__pyx_n_s____main__; - static PyObject *__pyx_n_s____test__; - static PyObject *__pyx_n_s___objects; -+static PyObject *__pyx_n_s__cfunc; - static PyObject *__pyx_n_s__corder; - static PyObject *__pyx_n_s__corder_valid; - static PyObject *__pyx_n_s__create; -@@ -1543,7 +1399,8 @@ static PyObject *__pyx_n_s__get_name; - static PyObject *__pyx_n_s__get_num_attrs; - static PyObject *__pyx_n_s__get_space; - static PyObject *__pyx_n_s__get_type; --static PyObject *__pyx_n_s__id; -+static PyObject *__pyx_n_s__h5py; -+static PyObject *__pyx_n_s__i; - static PyObject *__pyx_n_s__index; - static PyObject *__pyx_n_s__index_type; - static PyObject *__pyx_n_s__info; -@@ -1556,13 +1413,12 @@ static PyObject *__pyx_n_s__new_name; - static PyObject *__pyx_n_s__obj_name; - static PyObject *__pyx_n_s__open; - static PyObject *__pyx_n_s__order; --static PyObject *__pyx_n_s__py_dtype; - static PyObject *__pyx_n_s__registry; - static PyObject *__pyx_n_s__rename; --static PyObject *__pyx_n_s__retval; - static PyObject *__pyx_n_s__space; - static PyObject *__pyx_n_s__tid; - static PyObject *__pyx_n_s__valid; -+static PyObject *__pyx_n_s__vis; - static int __pyx_k_2; - static int __pyx_k_3; - static int __pyx_k_6; -@@ -1576,35 +1432,39 @@ static PyObject *__pyx_k_tuple_9; - static PyObject *__pyx_k_tuple_13; - static PyObject *__pyx_k_tuple_17; - static PyObject *__pyx_k_tuple_19; -+static PyObject *__pyx_k_tuple_28; -+static PyObject *__pyx_k_tuple_32; -+static PyObject *__pyx_k_tuple_34; -+static PyObject *__pyx_k_tuple_36; -+static PyObject *__pyx_k_tuple_38; -+static PyObject *__pyx_k_tuple_40; -+static PyObject *__pyx_k_tuple_42; -+static PyObject *__pyx_k_tuple_44; -+static PyObject *__pyx_k_codeobj_29; -+static PyObject *__pyx_k_codeobj_33; -+static PyObject *__pyx_k_codeobj_35; -+static PyObject *__pyx_k_codeobj_37; -+static PyObject *__pyx_k_codeobj_39; -+static PyObject *__pyx_k_codeobj_41; -+static PyObject *__pyx_k_codeobj_43; -+static PyObject *__pyx_k_codeobj_45; - --/* "h5py/h5a.pyx":35 -- * # --- create, create_by_name --- -- * -- * def create(ObjectID loc not None, char* name, TypeID tid not None, # <<<<<<<<<<<<<< -- * SpaceID space not None, *, char* obj_name='.', PropID lapl=None): -- * """(ObjectID loc, STRING name, TypeID tid, SpaceID space, **kwds) => AttrID -- */ -- --static PyObject *__pyx_pf_4h5py_3h5a_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_1create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ - static char __pyx_doc_4h5py_3h5a_create[] = "(ObjectID loc, STRING name, TypeID tid, SpaceID space, **kwds) => AttrID\n\n Create a new attribute, attached to an existing object.\n\n STRING obj_name (\".\")\n Attach attribute to this group member instead\n\n PropID lapl\n Link access property list for obj_name\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5a_create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pf_4h5py_3h5a_create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_create)}; --static PyObject *__pyx_pf_4h5py_3h5a_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+static PyMethodDef __pyx_mdef_4h5py_3h5a_1create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pw_4h5py_3h5a_1create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_create)}; -+static PyObject *__pyx_pw_4h5py_3h5a_1create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0; - char *__pyx_v_name; - struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid = 0; - struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_space = 0; - char *__pyx_v_obj_name; - struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0; -- PyObject *__pyx_r = NULL; -- PyObject *__pyx_t_1 = NULL; -- hid_t __pyx_t_2; -- PyObject *__pyx_t_3 = NULL; -- PyObject *__pyx_t_4 = NULL; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__tid,&__pyx_n_s__space,&__pyx_n_s__obj_name,&__pyx_n_s__lapl,0}; -- __Pyx_RefNannySetupContext("create"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("create (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__tid,&__pyx_n_s__space,&__pyx_n_s__obj_name,&__pyx_n_s__lapl,0}; - PyObject* values[6] = {0,0,0,0,0,0}; - - /* "h5py/h5a.pyx":36 -@@ -1615,48 +1475,55 @@ static PyObject *__pyx_pf_4h5py_3h5a_cre - * - */ - values[5] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("create", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- case 2: -- values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__tid); -- if (likely(values[2])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("create", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("create", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 2: -+ if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__tid)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("create", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 3: -+ if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__space)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("create", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } -+ if (kw_args > 0 && likely(kw_args <= 2)) { -+ Py_ssize_t index; -+ for (index = 4; index < 6 && kw_args > 0; index++) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]); -+ if (value) { values[index] = value; kw_args--; } -+ } - } -- case 3: -- values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__space); -- if (likely(values[3])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("create", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } -- } -- while (kw_args > 0) { -- PyObject* value; -- value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__obj_name); -- if (value) { values[4] = value; if (!(--kw_args)) break; } -- value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lapl); -- if (value) { values[5] = value; if (!(--kw_args)) break; } -- break; -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - } - __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]); - __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -@@ -1668,21 +1535,12 @@ static PyObject *__pyx_pf_4h5py_3h5a_cre - __pyx_v_obj_name = ((char *)__pyx_k_1); - } - __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[5]); -- } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- __pyx_v_name = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)PyTuple_GET_ITEM(__pyx_args, 2)); -- __pyx_v_space = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)PyTuple_GET_ITEM(__pyx_args, 3)); -- __pyx_v_obj_name = ((char *)__pyx_k_1); -- __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("create", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5a.create"); -+ __Pyx_AddTraceback("h5py.h5a.create", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -@@ -1690,6 +1548,34 @@ static PyObject *__pyx_pf_4h5py_3h5a_cre - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_tid), __pyx_ptype_4h5py_3h5t_TypeID, 0, "tid", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_space), __pyx_ptype_4h5py_3h5s_SpaceID, 0, "space", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5a_create(__pyx_self, __pyx_v_loc, __pyx_v_name, __pyx_v_tid, __pyx_v_space, __pyx_v_obj_name, __pyx_v_lapl); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5a.pyx":35 -+ * # --- create, create_by_name --- -+ * -+ * def create(ObjectID loc not None, char* name, TypeID tid not None, # <<<<<<<<<<<<<< -+ * SpaceID space not None, *, char* obj_name='.', PropID lapl=None): -+ * """(ObjectID loc, STRING name, TypeID tid, SpaceID space, **kwds) => AttrID -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5a_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_space, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ PyObject *__pyx_t_1 = NULL; -+ hid_t __pyx_t_2; -+ PyObject *__pyx_t_3 = NULL; -+ PyObject *__pyx_t_4 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("create", 0); - - /* "h5py/h5a.pyx":48 - * """ -@@ -1713,7 +1599,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_cre - __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; -@@ -1731,7 +1617,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_cre - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5a.create"); -+ __Pyx_AddTraceback("h5py.h5a.create", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -1739,18 +1625,11 @@ static PyObject *__pyx_pf_4h5py_3h5a_cre - return __pyx_r; - } - --/* "h5py/h5a.pyx":54 -- * # --- open, open_by_name, open_by_idx --- -- * -- * def open(ObjectID loc not None, char* name=NULL, int index=-1, *, # <<<<<<<<<<<<<< -- * char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE, -- * PropID lapl=None): -- */ -- --static PyObject *__pyx_pf_4h5py_3h5a_1open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5a_1open[] = "(ObjectID loc, STRING name=, INT index=, **kwds) => AttrID\n\n Open an attribute attached to an existing object. You must specify\n exactly one of either name or idx. Keywords are:\n\n STRING obj_name (\".\")\n Attribute is attached to this group member\n\n PropID lapl (None)\n Link access property list for obj_name\n\n INT index_type (h5.INDEX_NAME)\n\n INT order (h5.ITER_NATIVE)\n\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5a_1open = {__Pyx_NAMESTR("open"), (PyCFunction)__pyx_pf_4h5py_3h5a_1open, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_1open)}; --static PyObject *__pyx_pf_4h5py_3h5a_1open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_3open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5a_2open[] = "(ObjectID loc, STRING name=, INT index=, **kwds) => AttrID\n\n Open an attribute attached to an existing object. You must specify\n exactly one of either name or idx. Keywords are:\n\n STRING obj_name (\".\")\n Attribute is attached to this group member\n\n PropID lapl (None)\n Link access property list for obj_name\n\n INT index_type (h5.INDEX_NAME)\n\n INT order (h5.ITER_NATIVE)\n\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5a_3open = {__Pyx_NAMESTR("open"), (PyCFunction)__pyx_pw_4h5py_3h5a_3open, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_2open)}; -+static PyObject *__pyx_pw_4h5py_3h5a_3open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0; - char *__pyx_v_name; - int __pyx_v_index; -@@ -1758,20 +1637,11 @@ static PyObject *__pyx_pf_4h5py_3h5a_1op - int __pyx_v_index_type; - int __pyx_v_order; - struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0; -- PyObject *__pyx_r = NULL; -- int __pyx_t_1; -- int __pyx_t_2; -- int __pyx_t_3; -- int __pyx_t_4; -- PyObject *__pyx_t_5 = NULL; -- herr_t __pyx_t_6; -- PyObject *__pyx_t_7 = NULL; -- PyObject *__pyx_t_8 = NULL; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__index,&__pyx_n_s__obj_name,&__pyx_n_s__index_type,&__pyx_n_s__order,&__pyx_n_s__lapl,0}; -- __Pyx_RefNannySetupContext("open"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("open (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__index,&__pyx_n_s__obj_name,&__pyx_n_s__index_type,&__pyx_n_s__order,&__pyx_n_s__lapl,0}; - PyObject* values[7] = {0,0,0,0,0,0,0}; - - /* "h5py/h5a.pyx":56 -@@ -1782,43 +1652,50 @@ static PyObject *__pyx_pf_4h5py_3h5a_1op - * - */ - values[6] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -- if (value) { values[1] = value; kw_args--; } -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -+ if (value) { values[1] = value; kw_args--; } -+ } -+ case 2: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index); -+ if (value) { values[2] = value; kw_args--; } -+ } - } -- case 2: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index); -- if (value) { values[2] = value; kw_args--; } -+ if (kw_args > 0 && likely(kw_args <= 4)) { -+ Py_ssize_t index; -+ for (index = 3; index < 7 && kw_args > 0; index++) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]); -+ if (value) { values[index] = value; kw_args--; } -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- while (kw_args > 0) { -- PyObject* value; -- value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__obj_name); -- if (value) { values[3] = value; if (!(--kw_args)) break; } -- value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index_type); -- if (value) { values[4] = value; if (!(--kw_args)) break; } -- value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__order); -- if (value) { values[5] = value; if (!(--kw_args)) break; } -- value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lapl); -- if (value) { values[6] = value; if (!(--kw_args)) break; } -- break; -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]); - if (values[1]) { -@@ -1855,39 +1732,41 @@ static PyObject *__pyx_pf_4h5py_3h5a_1op - __pyx_v_order = __pyx_k_3; - } - __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[6]); -- } else { -- __pyx_v_name = ((char *)NULL); -- __pyx_v_index = ((int)-1); -- __pyx_v_obj_name = ((char *)__pyx_k_1); -- __pyx_v_index_type = __pyx_k_2; -- __pyx_v_order = __pyx_k_3; -- -- /* "h5py/h5a.pyx":56 -- * def open(ObjectID loc not None, char* name=NULL, int index=-1, *, -- * char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE, -- * PropID lapl=None): # <<<<<<<<<<<<<< -- * """(ObjectID loc, STRING name=, INT index=, **kwds) => AttrID -- * -- */ -- __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: __pyx_v_index = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_index == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 2: __pyx_v_name = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 1: __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5a.open"); -+ __Pyx_AddTraceback("h5py.h5a.open", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5a_2open(__pyx_self, __pyx_v_loc, __pyx_v_name, __pyx_v_index, __pyx_v_obj_name, __pyx_v_index_type, __pyx_v_order, __pyx_v_lapl); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+static PyObject *__pyx_pf_4h5py_3h5a_2open(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, int __pyx_v_index, char *__pyx_v_obj_name, int __pyx_v_index_type, int __pyx_v_order, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ int __pyx_t_1; -+ int __pyx_t_2; -+ int __pyx_t_3; -+ int __pyx_t_4; -+ PyObject *__pyx_t_5 = NULL; -+ herr_t __pyx_t_6; -+ PyObject *__pyx_t_7 = NULL; -+ PyObject *__pyx_t_8 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("open", 0); - - /* "h5py/h5a.pyx":73 - * -@@ -1926,12 +1805,12 @@ static PyObject *__pyx_pf_4h5py_3h5a_1op - */ - __pyx_t_5 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_5), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); -- __Pyx_Raise(__pyx_t_5, 0, 0); -+ __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L6; -+ goto __pyx_L3; - } -- __pyx_L6:; -+ __pyx_L3:; - - /* "h5py/h5a.pyx":76 - * raise TypeError("Exactly one of name or idx must be specified") -@@ -1965,7 +1844,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_1op - __pyx_t_7 = __Pyx_PyInt_to_py_herr_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_8)); -+ __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; -@@ -1976,7 +1855,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_1op - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; - goto __pyx_L0; -- goto __pyx_L7; -+ goto __pyx_L4; - } - /*else*/ { - -@@ -2002,7 +1881,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_1op - __pyx_t_8 = __Pyx_PyInt_to_py_herr_t(__pyx_t_6); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -+ __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; -@@ -2014,7 +1893,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_1op - __pyx_t_8 = 0; - goto __pyx_L0; - } -- __pyx_L7:; -+ __pyx_L4:; - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; -@@ -2022,7 +1901,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_1op - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); -- __Pyx_AddTraceback("h5py.h5a.open"); -+ __Pyx_AddTraceback("h5py.h5a.open", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2030,30 +1909,20 @@ static PyObject *__pyx_pf_4h5py_3h5a_1op - return __pyx_r; - } - --/* "h5py/h5a.pyx":87 -- * # --- exists, exists_by_name --- -- * -- * def exists(ObjectID loc not None, char* name, *, # <<<<<<<<<<<<<< -- * char* obj_name=".", PropID lapl=None): -- * """(ObjectID loc, STRING name, **kwds) => BOOL -- */ -- --static PyObject *__pyx_pf_4h5py_3h5a_2exists(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5a_2exists[] = "(ObjectID loc, STRING name, **kwds) => BOOL\n\n Determine if an attribute is attached to this object. Keywords:\n\n STRING obj_name (\".\")\n Look for attributes attached to this group member\n\n PropID lapl (None):\n Link access property list for obj_name\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5a_2exists = {__Pyx_NAMESTR("exists"), (PyCFunction)__pyx_pf_4h5py_3h5a_2exists, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_2exists)}; --static PyObject *__pyx_pf_4h5py_3h5a_2exists(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_5exists(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5a_4exists[] = "(ObjectID loc, STRING name, **kwds) => BOOL\n\n Determine if an attribute is attached to this object. Keywords:\n\n STRING obj_name (\".\")\n Look for attributes attached to this group member\n\n PropID lapl (None):\n Link access property list for obj_name\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5a_5exists = {__Pyx_NAMESTR("exists"), (PyCFunction)__pyx_pw_4h5py_3h5a_5exists, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_4exists)}; -+static PyObject *__pyx_pw_4h5py_3h5a_5exists(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0; - char *__pyx_v_name; - char *__pyx_v_obj_name; - struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0; -- PyObject *__pyx_r = NULL; -- htri_t __pyx_t_1; -- PyObject *__pyx_t_2 = NULL; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__obj_name,&__pyx_n_s__lapl,0}; -- __Pyx_RefNannySetupContext("exists"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("exists (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__obj_name,&__pyx_n_s__lapl,0}; - PyObject* values[4] = {0,0,0,0}; - - /* "h5py/h5a.pyx":88 -@@ -2064,34 +1933,41 @@ static PyObject *__pyx_pf_4h5py_3h5a_2ex - * - */ - values[3] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("exists", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- while (kw_args > 0) { -- PyObject* value; -- value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__obj_name); -- if (value) { values[2] = value; if (!(--kw_args)) break; } -- value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lapl); -- if (value) { values[3] = value; if (!(--kw_args)) break; } -- break; -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "exists") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("exists", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } -+ if (kw_args > 0 && likely(kw_args <= 2)) { -+ Py_ssize_t index; -+ for (index = 2; index < 4 && kw_args > 0; index++) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]); -+ if (value) { values[index] = value; kw_args--; } -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "exists") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]); - __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -@@ -2101,24 +1977,43 @@ static PyObject *__pyx_pf_4h5py_3h5a_2ex - __pyx_v_obj_name = ((char *)__pyx_k_1); - } - __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[3]); -- } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- __pyx_v_name = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_obj_name = ((char *)__pyx_k_1); -- __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("exists", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5a.exists"); -+ __Pyx_AddTraceback("h5py.h5a.exists", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5a_4exists(__pyx_self, __pyx_v_loc, __pyx_v_name, __pyx_v_obj_name, __pyx_v_lapl); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5a.pyx":87 -+ * # --- exists, exists_by_name --- -+ * -+ * def exists(ObjectID loc not None, char* name, *, # <<<<<<<<<<<<<< -+ * char* obj_name=".", PropID lapl=None): -+ * """(ObjectID loc, STRING name, **kwds) => BOOL -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5a_4exists(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ htri_t __pyx_t_1; -+ PyObject *__pyx_t_2 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("exists", 0); - - /* "h5py/h5a.pyx":99 - * Link access property list for obj_name -@@ -2139,7 +2034,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_2ex - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5a.exists"); -+ __Pyx_AddTraceback("h5py.h5a.exists", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2147,30 +2042,21 @@ static PyObject *__pyx_pf_4h5py_3h5a_2ex - return __pyx_r; - } - --/* "h5py/h5a.pyx":104 -- * # --- rename, rename_by_name --- -- * -- * def rename(ObjectID loc not None, char* name, char* new_name, *, # <<<<<<<<<<<<<< -- * char* obj_name='.', PropID lapl=None): -- * """(ObjectID loc, STRING name, STRING new_name, **kwds) -- */ -- --static PyObject *__pyx_pf_4h5py_3h5a_3rename(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5a_3rename[] = "(ObjectID loc, STRING name, STRING new_name, **kwds)\n\n Rename an attribute. Keywords:\n\n STRING obj_name (\".\")\n Attribute is attached to this group member\n\n PropID lapl (None)\n Link access property list for obj_name\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5a_3rename = {__Pyx_NAMESTR("rename"), (PyCFunction)__pyx_pf_4h5py_3h5a_3rename, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_3rename)}; --static PyObject *__pyx_pf_4h5py_3h5a_3rename(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_7rename(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5a_6rename[] = "(ObjectID loc, STRING name, STRING new_name, **kwds)\n\n Rename an attribute. Keywords:\n\n STRING obj_name (\".\")\n Attribute is attached to this group member\n\n PropID lapl (None)\n Link access property list for obj_name\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5a_7rename = {__Pyx_NAMESTR("rename"), (PyCFunction)__pyx_pw_4h5py_3h5a_7rename, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6rename)}; -+static PyObject *__pyx_pw_4h5py_3h5a_7rename(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0; - char *__pyx_v_name; - char *__pyx_v_new_name; - char *__pyx_v_obj_name; - struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__new_name,&__pyx_n_s__obj_name,&__pyx_n_s__lapl,0}; -- __Pyx_RefNannySetupContext("rename"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("rename (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__new_name,&__pyx_n_s__obj_name,&__pyx_n_s__lapl,0}; - PyObject* values[5] = {0,0,0,0,0}; - - /* "h5py/h5a.pyx":105 -@@ -2181,41 +2067,48 @@ static PyObject *__pyx_pf_4h5py_3h5a_3re - * - */ - values[4] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("rename", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- case 2: -- values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__new_name); -- if (likely(values[2])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("rename", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("rename", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 2: -+ if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__new_name)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("rename", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } - } -- } -- while (kw_args > 0) { -- PyObject* value; -- value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__obj_name); -- if (value) { values[3] = value; if (!(--kw_args)) break; } -- value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lapl); -- if (value) { values[4] = value; if (!(--kw_args)) break; } -- break; -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "rename") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (kw_args > 0 && likely(kw_args <= 2)) { -+ Py_ssize_t index; -+ for (index = 3; index < 5 && kw_args > 0; index++) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]); -+ if (value) { values[index] = value; kw_args--; } -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "rename") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - } - __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]); - __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -@@ -2226,25 +2119,42 @@ static PyObject *__pyx_pf_4h5py_3h5a_3re - __pyx_v_obj_name = ((char *)__pyx_k_1); - } - __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[4]); -- } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- __pyx_v_name = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_new_name = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((!__pyx_v_new_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_obj_name = ((char *)__pyx_k_1); -- __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("rename", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5a.rename"); -+ __Pyx_AddTraceback("h5py.h5a.rename", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5a_6rename(__pyx_self, __pyx_v_loc, __pyx_v_name, __pyx_v_new_name, __pyx_v_obj_name, __pyx_v_lapl); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5a.pyx":104 -+ * # --- rename, rename_by_name --- -+ * -+ * def rename(ObjectID loc not None, char* name, char* new_name, *, # <<<<<<<<<<<<<< -+ * char* obj_name='.', PropID lapl=None): -+ * """(ObjectID loc, STRING name, STRING new_name, **kwds) -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5a_6rename(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, char *__pyx_v_new_name, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("rename", 0); - - /* "h5py/h5a.pyx":116 - * Link access property list for obj_name -@@ -2258,7 +2168,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_3re - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5a.rename"); -+ __Pyx_AddTraceback("h5py.h5a.rename", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2266,18 +2176,11 @@ static PyObject *__pyx_pf_4h5py_3h5a_3re - return __pyx_r; - } - --/* "h5py/h5a.pyx":119 -- * -- * -- * def delete(ObjectID loc not None, char* name=NULL, int index=-1, *, # <<<<<<<<<<<<<< -- * char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE, -- * PropID lapl=None): -- */ -- --static PyObject *__pyx_pf_4h5py_3h5a_4delete(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5a_4delete[] = "(ObjectID loc, STRING name=, INT index=, **kwds)\n\n Remove an attribute from an object. Specify exactly one of \"name\"\n or \"index\". Keyword-only arguments:\n\n STRING obj_name (\".\")\n Attribute is attached to this group member\n\n PropID lapl (None)\n Link access property list for obj_name\n\n INT index_type (h5.INDEX_NAME)\n\n INT order (h5.ITER_NATIVE)\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5a_4delete = {__Pyx_NAMESTR("delete"), (PyCFunction)__pyx_pf_4h5py_3h5a_4delete, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_4delete)}; --static PyObject *__pyx_pf_4h5py_3h5a_4delete(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_9delete(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5a_8delete[] = "(ObjectID loc, STRING name=, INT index=, **kwds)\n\n Remove an attribute from an object. Specify exactly one of \"name\"\n or \"index\". Keyword-only arguments:\n\n STRING obj_name (\".\")\n Attribute is attached to this group member\n\n PropID lapl (None)\n Link access property list for obj_name\n\n INT index_type (h5.INDEX_NAME)\n\n INT order (h5.ITER_NATIVE)\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5a_9delete = {__Pyx_NAMESTR("delete"), (PyCFunction)__pyx_pw_4h5py_3h5a_9delete, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_8delete)}; -+static PyObject *__pyx_pw_4h5py_3h5a_9delete(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0; - char *__pyx_v_name; - int __pyx_v_index; -@@ -2285,17 +2188,11 @@ static PyObject *__pyx_pf_4h5py_3h5a_4de - int __pyx_v_index_type; - int __pyx_v_order; - struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0; -- PyObject *__pyx_r = NULL; -- int __pyx_t_1; -- int __pyx_t_2; -- int __pyx_t_3; -- herr_t __pyx_t_4; -- PyObject *__pyx_t_5 = NULL; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__index,&__pyx_n_s__obj_name,&__pyx_n_s__index_type,&__pyx_n_s__order,&__pyx_n_s__lapl,0}; -- __Pyx_RefNannySetupContext("delete"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("delete (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__index,&__pyx_n_s__obj_name,&__pyx_n_s__index_type,&__pyx_n_s__order,&__pyx_n_s__lapl,0}; - PyObject* values[7] = {0,0,0,0,0,0,0}; - - /* "h5py/h5a.pyx":121 -@@ -2306,43 +2203,50 @@ static PyObject *__pyx_pf_4h5py_3h5a_4de - * - */ - values[6] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -- if (value) { values[1] = value; kw_args--; } -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- case 2: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index); -- if (value) { values[2] = value; kw_args--; } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -+ if (value) { values[1] = value; kw_args--; } -+ } -+ case 2: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index); -+ if (value) { values[2] = value; kw_args--; } -+ } -+ } -+ if (kw_args > 0 && likely(kw_args <= 4)) { -+ Py_ssize_t index; -+ for (index = 3; index < 7 && kw_args > 0; index++) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]); -+ if (value) { values[index] = value; kw_args--; } -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "delete") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- while (kw_args > 0) { -- PyObject* value; -- value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__obj_name); -- if (value) { values[3] = value; if (!(--kw_args)) break; } -- value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index_type); -- if (value) { values[4] = value; if (!(--kw_args)) break; } -- value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__order); -- if (value) { values[5] = value; if (!(--kw_args)) break; } -- value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lapl); -- if (value) { values[6] = value; if (!(--kw_args)) break; } -- break; -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "delete") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]); - if (values[1]) { -@@ -2379,39 +2283,38 @@ static PyObject *__pyx_pf_4h5py_3h5a_4de - __pyx_v_order = __pyx_k_7; - } - __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[6]); -- } else { -- __pyx_v_name = ((char *)NULL); -- __pyx_v_index = ((int)-1); -- __pyx_v_obj_name = ((char *)__pyx_k_1); -- __pyx_v_index_type = __pyx_k_6; -- __pyx_v_order = __pyx_k_7; -- -- /* "h5py/h5a.pyx":121 -- * def delete(ObjectID loc not None, char* name=NULL, int index=-1, *, -- * char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE, -- * PropID lapl=None): # <<<<<<<<<<<<<< -- * """(ObjectID loc, STRING name=, INT index=, **kwds) -- * -- */ -- __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: __pyx_v_index = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_index == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 2: __pyx_v_name = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 1: __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("delete", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5a.delete"); -+ __Pyx_AddTraceback("h5py.h5a.delete", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5a_8delete(__pyx_self, __pyx_v_loc, __pyx_v_name, __pyx_v_index, __pyx_v_obj_name, __pyx_v_index_type, __pyx_v_order, __pyx_v_lapl); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+static PyObject *__pyx_pf_4h5py_3h5a_8delete(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, int __pyx_v_index, char *__pyx_v_obj_name, int __pyx_v_index_type, int __pyx_v_order, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ int __pyx_t_1; -+ int __pyx_t_2; -+ int __pyx_t_3; -+ herr_t __pyx_t_4; -+ PyObject *__pyx_t_5 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("delete", 0); - - /* "h5py/h5a.pyx":137 - * INT order (h5.ITER_NATIVE) -@@ -2437,7 +2340,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_4de - * H5Adelete_by_idx(loc.id, obj_name, index_type, - */ - __pyx_t_4 = __pyx_f_4h5py_4defs_H5Adelete_by_name(__pyx_v_loc->id, __pyx_v_obj_name, __pyx_v_name, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L6; -+ goto __pyx_L3; - } - - /* "h5py/h5a.pyx":139 -@@ -2464,7 +2367,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_4de - * raise TypeError("Exactly one of index or name must be specified.") - */ - __pyx_t_4 = __pyx_f_4h5py_4defs_H5Adelete_by_idx(__pyx_v_loc->id, __pyx_v_obj_name, ((H5_index_t)__pyx_v_index_type), ((H5_iter_order_t)__pyx_v_order), __pyx_v_index, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L6; -+ goto __pyx_L3; - } - /*else*/ { - -@@ -2477,17 +2380,17 @@ static PyObject *__pyx_pf_4h5py_3h5a_4de - */ - __pyx_t_5 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_9), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); -- __Pyx_Raise(__pyx_t_5, 0, 0); -+ __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } -- __pyx_L6:; -+ __pyx_L3:; - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); -- __Pyx_AddTraceback("h5py.h5a.delete"); -+ __Pyx_AddTraceback("h5py.h5a.delete", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2495,6 +2398,24 @@ static PyObject *__pyx_pf_4h5py_3h5a_4de - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_11get_num_attrs(PyObject *__pyx_self, PyObject *__pyx_v_loc); /*proto*/ -+static char __pyx_doc_4h5py_3h5a_10get_num_attrs[] = "(ObjectID loc) => INT\n\n Determine the number of attributes attached to an HDF5 object.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5a_11get_num_attrs = {__Pyx_NAMESTR("get_num_attrs"), (PyCFunction)__pyx_pw_4h5py_3h5a_11get_num_attrs, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_10get_num_attrs)}; -+static PyObject *__pyx_pw_4h5py_3h5a_11get_num_attrs(PyObject *__pyx_self, PyObject *__pyx_v_loc) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_num_attrs (wrapper)", 0); -+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5a_10get_num_attrs(__pyx_self, ((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_loc)); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5a.pyx":145 - * raise TypeError("Exactly one of index or name must be specified.") - * -@@ -2503,16 +2424,15 @@ static PyObject *__pyx_pf_4h5py_3h5a_4de - * - */ - --static PyObject *__pyx_pf_4h5py_3h5a_5get_num_attrs(PyObject *__pyx_self, PyObject *__pyx_v_loc); /*proto*/ --static char __pyx_doc_4h5py_3h5a_5get_num_attrs[] = "(ObjectID loc) => INT\n\n Determine the number of attributes attached to an HDF5 object.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5a_5get_num_attrs = {__Pyx_NAMESTR("get_num_attrs"), (PyCFunction)__pyx_pf_4h5py_3h5a_5get_num_attrs, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_5get_num_attrs)}; --static PyObject *__pyx_pf_4h5py_3h5a_5get_num_attrs(PyObject *__pyx_self, PyObject *__pyx_v_loc) { -+static PyObject *__pyx_pf_4h5py_3h5a_10get_num_attrs(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_num_attrs"); -- __pyx_self = __pyx_self; -- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_num_attrs", 0); - - /* "h5py/h5a.pyx":150 - * Determine the number of attributes attached to an HDF5 object. -@@ -2522,7 +2442,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_5ge - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_num_attrs(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_loc)->id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_num_attrs(__pyx_v_loc->id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -2533,7 +2453,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_5ge - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5a.get_num_attrs"); -+ __Pyx_AddTraceback("h5py.h5a.get_num_attrs", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2541,6 +2461,17 @@ static PyObject *__pyx_pf_4h5py_3h5a_5ge - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_8AttrInfo_12corder_valid_1__get__(PyObject *__pyx_v_self); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5a_8AttrInfo_12corder_valid_1__get__(PyObject *__pyx_v_self) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5a_8AttrInfo_12corder_valid___get__(((struct __pyx_obj_4h5py_3h5a_AttrInfo *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5a.pyx":159 - * property corder_valid: - * """Indicates if the creation order is valid""" -@@ -2549,11 +2480,14 @@ static PyObject *__pyx_pf_4h5py_3h5a_5ge - * property corder: - */ - --static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_12corder_valid___get__(PyObject *__pyx_v_self); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_12corder_valid___get__(PyObject *__pyx_v_self) { -+static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_12corder_valid___get__(struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; -- __Pyx_RefNannySetupContext("__get__"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__get__", 0); - - /* "h5py/h5a.pyx":160 - * """Indicates if the creation order is valid""" -@@ -2563,7 +2497,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_8At - * """Creation order""" - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __Pyx_PyBool_FromLong(((int)((struct __pyx_obj_4h5py_3h5a_AttrInfo *)__pyx_v_self)->info.corder_valid)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __Pyx_PyBool_FromLong(((int)__pyx_v_self->info.corder_valid)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; -@@ -2573,7 +2507,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_8At - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -- __Pyx_AddTraceback("h5py.h5a.AttrInfo.corder_valid.__get__"); -+ __Pyx_AddTraceback("h5py.h5a.AttrInfo.corder_valid.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2581,6 +2515,17 @@ static PyObject *__pyx_pf_4h5py_3h5a_8At - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_8AttrInfo_6corder_1__get__(PyObject *__pyx_v_self); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5a_8AttrInfo_6corder_1__get__(PyObject *__pyx_v_self) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5a_8AttrInfo_6corder___get__(((struct __pyx_obj_4h5py_3h5a_AttrInfo *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5a.pyx":163 - * property corder: - * """Creation order""" -@@ -2589,11 +2534,14 @@ static PyObject *__pyx_pf_4h5py_3h5a_8At - * property cset: - */ - --static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_6corder___get__(PyObject *__pyx_v_self); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_6corder___get__(PyObject *__pyx_v_self) { -+static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_6corder___get__(struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; -- __Pyx_RefNannySetupContext("__get__"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__get__", 0); - - /* "h5py/h5a.pyx":164 - * """Creation order""" -@@ -2603,7 +2551,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_8At - * """Character set of attribute name (integer typecode from h5t)""" - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = PyInt_FromLong(((int)((struct __pyx_obj_4h5py_3h5a_AttrInfo *)__pyx_v_self)->info.corder)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = PyInt_FromLong(((int)__pyx_v_self->info.corder)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; -@@ -2613,7 +2561,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_8At - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -- __Pyx_AddTraceback("h5py.h5a.AttrInfo.corder.__get__"); -+ __Pyx_AddTraceback("h5py.h5a.AttrInfo.corder.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2621,6 +2569,17 @@ static PyObject *__pyx_pf_4h5py_3h5a_8At - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_8AttrInfo_4cset_1__get__(PyObject *__pyx_v_self); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5a_8AttrInfo_4cset_1__get__(PyObject *__pyx_v_self) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5a_8AttrInfo_4cset___get__(((struct __pyx_obj_4h5py_3h5a_AttrInfo *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5a.pyx":167 - * property cset: - * """Character set of attribute name (integer typecode from h5t)""" -@@ -2629,11 +2588,14 @@ static PyObject *__pyx_pf_4h5py_3h5a_8At - * property data_size: - */ - --static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_4cset___get__(PyObject *__pyx_v_self); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_4cset___get__(PyObject *__pyx_v_self) { -+static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_4cset___get__(struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; -- __Pyx_RefNannySetupContext("__get__"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__get__", 0); - - /* "h5py/h5a.pyx":168 - * """Character set of attribute name (integer typecode from h5t)""" -@@ -2643,7 +2605,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_8At - * """Size of raw data""" - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = PyInt_FromLong(((int)((struct __pyx_obj_4h5py_3h5a_AttrInfo *)__pyx_v_self)->info.cset)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = PyInt_FromLong(((int)__pyx_v_self->info.cset)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; -@@ -2653,7 +2615,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_8At - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -- __Pyx_AddTraceback("h5py.h5a.AttrInfo.cset.__get__"); -+ __Pyx_AddTraceback("h5py.h5a.AttrInfo.cset.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2661,6 +2623,17 @@ static PyObject *__pyx_pf_4h5py_3h5a_8At - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_8AttrInfo_9data_size_1__get__(PyObject *__pyx_v_self); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5a_8AttrInfo_9data_size_1__get__(PyObject *__pyx_v_self) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5a_8AttrInfo_9data_size___get__(((struct __pyx_obj_4h5py_3h5a_AttrInfo *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5a.pyx":171 - * property data_size: - * """Size of raw data""" -@@ -2669,11 +2642,14 @@ static PyObject *__pyx_pf_4h5py_3h5a_8At - * - */ - --static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_9data_size___get__(PyObject *__pyx_v_self); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_9data_size___get__(PyObject *__pyx_v_self) { -+static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_9data_size___get__(struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; -- __Pyx_RefNannySetupContext("__get__"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__get__", 0); - - /* "h5py/h5a.pyx":172 - * """Size of raw data""" -@@ -2683,7 +2659,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_8At - * def _hash(self): - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __Pyx_PyInt_to_py_hsize_t(((struct __pyx_obj_4h5py_3h5a_AttrInfo *)__pyx_v_self)->info.data_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __Pyx_PyInt_to_py_hsize_t(__pyx_v_self->info.data_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; -@@ -2693,7 +2669,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_8At - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -- __Pyx_AddTraceback("h5py.h5a.AttrInfo.data_size.__get__"); -+ __Pyx_AddTraceback("h5py.h5a.AttrInfo.data_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2701,6 +2677,17 @@ static PyObject *__pyx_pf_4h5py_3h5a_8At - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_8AttrInfo_1_hash(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5a_8AttrInfo_1_hash(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("_hash (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5a_8AttrInfo__hash(((struct __pyx_obj_4h5py_3h5a_AttrInfo *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5a.pyx":174 - * return self.info.data_size - * -@@ -2709,16 +2696,19 @@ static PyObject *__pyx_pf_4h5py_3h5a_8At - * - */ - --static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo__hash(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo__hash(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo__hash(struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; -- long __pyx_t_6; -- __Pyx_RefNannySetupContext("_hash"); -+ Py_hash_t __pyx_t_6; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("_hash", 0); - - /* "h5py/h5a.pyx":175 - * -@@ -2728,16 +2718,16 @@ static PyObject *__pyx_pf_4h5py_3h5a_8At - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__corder_valid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__corder_valid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__corder); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__corder); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__cset); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__cset); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); -- __pyx_t_4 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__data_size); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__data_size); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -+ __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2); -@@ -2752,7 +2742,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_8At - __pyx_t_4 = 0; - __pyx_t_6 = PyObject_Hash(((PyObject *)__pyx_t_5)); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; -- __pyx_t_5 = PyInt_FromLong(__pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = __Pyx_PyInt_FromHash_t(__pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; -@@ -2766,7 +2756,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_8At - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); -- __Pyx_AddTraceback("h5py.h5a.AttrInfo._hash"); -+ __Pyx_AddTraceback("h5py.h5a.AttrInfo._hash", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2774,18 +2764,11 @@ static PyObject *__pyx_pf_4h5py_3h5a_8At - return __pyx_r; - } - --/* "h5py/h5a.pyx":178 -- * -- * -- * def get_info(ObjectID loc not None, char* name=NULL, int index=-1, *, # <<<<<<<<<<<<<< -- * char* obj_name='.', PropID lapl=None, -- * int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE): -- */ -- --static PyObject *__pyx_pf_4h5py_3h5a_6get_info(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5a_6get_info[] = "(ObjectID loc, STRING name=, INT index=, **kwds) => AttrInfo\n\n Get information about an attribute, in one of two ways:\n\n 1. If you have the attribute identifier, just pass it in\n 2. If you have the parent object, supply it and exactly one of\n either name or index.\n\n STRING obj_name (\".\")\n Use this group member instead\n\n PropID lapl (None)\n Link access property list for obj_name\n\n INT index_type (h5.INDEX_NAME)\n Which index to use\n\n INT order (h5.ITER_NATIVE)\n What order the index is in\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5a_6get_info = {__Pyx_NAMESTR("get_info"), (PyCFunction)__pyx_pf_4h5py_3h5a_6get_info, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6get_info)}; --static PyObject *__pyx_pf_4h5py_3h5a_6get_info(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_13get_info(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5a_12get_info[] = "(ObjectID loc, STRING name=, INT index=, **kwds) => AttrInfo\n\n Get information about an attribute, in one of two ways:\n\n 1. If you have the attribute identifier, just pass it in\n 2. If you have the parent object, supply it and exactly one of\n either name or index.\n\n STRING obj_name (\".\")\n Use this group member instead\n\n PropID lapl (None)\n Link access property list for obj_name\n\n INT index_type (h5.INDEX_NAME)\n Which index to use\n\n INT order (h5.ITER_NATIVE)\n What order the index is in\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5a_13get_info = {__Pyx_NAMESTR("get_info"), (PyCFunction)__pyx_pw_4h5py_3h5a_13get_info, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_12get_info)}; -+static PyObject *__pyx_pw_4h5py_3h5a_13get_info(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0; - char *__pyx_v_name; - int __pyx_v_index; -@@ -2793,18 +2776,11 @@ static PyObject *__pyx_pf_4h5py_3h5a_6ge - struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0; - int __pyx_v_index_type; - int __pyx_v_order; -- struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_info = 0; -- PyObject *__pyx_r = NULL; -- PyObject *__pyx_t_1 = NULL; -- int __pyx_t_2; -- int __pyx_t_3; -- int __pyx_t_4; -- herr_t __pyx_t_5; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__index,&__pyx_n_s__obj_name,&__pyx_n_s__lapl,&__pyx_n_s__index_type,&__pyx_n_s__order,0}; -- __Pyx_RefNannySetupContext("get_info"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_info (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__index,&__pyx_n_s__obj_name,&__pyx_n_s__lapl,&__pyx_n_s__index_type,&__pyx_n_s__order,0}; - PyObject* values[7] = {0,0,0,0,0,0,0}; - - /* "h5py/h5a.pyx":179 -@@ -2815,43 +2791,50 @@ static PyObject *__pyx_pf_4h5py_3h5a_6ge - * """(ObjectID loc, STRING name=, INT index=, **kwds) => AttrInfo - */ - values[4] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -- if (value) { values[1] = value; kw_args--; } -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- case 2: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index); -- if (value) { values[2] = value; kw_args--; } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -+ if (value) { values[1] = value; kw_args--; } -+ } -+ case 2: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index); -+ if (value) { values[2] = value; kw_args--; } -+ } -+ } -+ if (kw_args > 0 && likely(kw_args <= 4)) { -+ Py_ssize_t index; -+ for (index = 3; index < 7 && kw_args > 0; index++) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]); -+ if (value) { values[index] = value; kw_args--; } -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_info") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- while (kw_args > 0) { -- PyObject* value; -- value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__obj_name); -- if (value) { values[3] = value; if (!(--kw_args)) break; } -- value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lapl); -- if (value) { values[4] = value; if (!(--kw_args)) break; } -- value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index_type); -- if (value) { values[5] = value; if (!(--kw_args)) break; } -- value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__order); -- if (value) { values[6] = value; if (!(--kw_args)) break; } -- break; -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "get_info") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]); - if (values[1]) { -@@ -2888,39 +2871,39 @@ static PyObject *__pyx_pf_4h5py_3h5a_6ge - } else { - __pyx_v_order = __pyx_k_11; - } -- } else { -- __pyx_v_name = ((char *)NULL); -- __pyx_v_index = ((int)-1); -- __pyx_v_obj_name = ((char *)__pyx_k_1); -- -- /* "h5py/h5a.pyx":179 -- * -- * def get_info(ObjectID loc not None, char* name=NULL, int index=-1, *, -- * char* obj_name='.', PropID lapl=None, # <<<<<<<<<<<<<< -- * int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE): -- * """(ObjectID loc, STRING name=, INT index=, **kwds) => AttrInfo -- */ -- __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -- __pyx_v_index_type = __pyx_k_10; -- __pyx_v_order = __pyx_k_11; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: __pyx_v_index = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_index == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 2: __pyx_v_name = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 1: __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_info", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5a.get_info"); -+ __Pyx_AddTraceback("h5py.h5a.get_info", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5a_12get_info(__pyx_self, __pyx_v_loc, __pyx_v_name, __pyx_v_index, __pyx_v_obj_name, __pyx_v_lapl, __pyx_v_index_type, __pyx_v_order); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+static PyObject *__pyx_pf_4h5py_3h5a_12get_info(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, int __pyx_v_index, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl, int __pyx_v_index_type, int __pyx_v_order) { -+ struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_info = 0; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ PyObject *__pyx_t_1 = NULL; -+ int __pyx_t_2; -+ int __pyx_t_3; -+ int __pyx_t_4; -+ herr_t __pyx_t_5; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_info", 0); - - /* "h5py/h5a.pyx":201 - * What order the index is in -@@ -2958,7 +2941,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_6ge - * raise TypeError("At most one of name and index may be specified") - */ - __pyx_t_5 = __pyx_f_4h5py_4defs_H5Aget_info(__pyx_v_loc->id, (&__pyx_v_info->info)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L6; -+ goto __pyx_L3; - } - - /* "h5py/h5a.pyx":205 -@@ -2986,10 +2969,10 @@ static PyObject *__pyx_pf_4h5py_3h5a_6ge - */ - __pyx_t_1 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_13), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __Pyx_Raise(__pyx_t_1, 0, 0); -+ __Pyx_Raise(__pyx_t_1, 0, 0, 0); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L6; -+ goto __pyx_L3; - } - - /* "h5py/h5a.pyx":207 -@@ -3010,7 +2993,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_6ge - * H5Aget_info_by_idx(loc.id, obj_name, index_type, - */ - __pyx_t_5 = __pyx_f_4h5py_4defs_H5Aget_info_by_name(__pyx_v_loc->id, __pyx_v_obj_name, __pyx_v_name, (&__pyx_v_info->info), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L6; -+ goto __pyx_L3; - } - - /* "h5py/h5a.pyx":209 -@@ -3031,9 +3014,9 @@ static PyObject *__pyx_pf_4h5py_3h5a_6ge - * return info - */ - __pyx_t_5 = __pyx_f_4h5py_4defs_H5Aget_info_by_idx(__pyx_v_loc->id, __pyx_v_obj_name, ((H5_index_t)__pyx_v_index_type), ((H5_iter_order_t)__pyx_v_order), __pyx_v_index, (&__pyx_v_info->info), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L6; -+ goto __pyx_L3; - } -- __pyx_L6:; -+ __pyx_L3:; - - /* "h5py/h5a.pyx":213 - * order, index, &info.info, pdefault(lapl)) -@@ -3051,7 +3034,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_6ge - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -- __Pyx_AddTraceback("h5py.h5a.get_info"); -+ __Pyx_AddTraceback("h5py.h5a.get_info", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_info); -@@ -3060,51 +3043,65 @@ static PyObject *__pyx_pf_4h5py_3h5a_6ge - return __pyx_r; - } - --/* "h5py/h5a.pyx":220 -- * cdef object func -- * cdef object retval -- * def __init__(self, func): # <<<<<<<<<<<<<< -- * self.func = func -- * self.retval = None -- */ -- --static int __pyx_pf_4h5py_3h5a_12_AttrVisitor___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static int __pyx_pf_4h5py_3h5a_12_AttrVisitor___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static int __pyx_pw_4h5py_3h5a_12_AttrVisitor_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static int __pyx_pw_4h5py_3h5a_12_AttrVisitor_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_func = 0; - int __pyx_r; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__func,0}; -- __Pyx_RefNannySetupContext("__init__"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__func,0}; - PyObject* values[1] = {0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - } - __pyx_v_func = values[0]; -- } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_func = PyTuple_GET_ITEM(__pyx_args, 0); - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5a._AttrVisitor.__init__"); -+ __Pyx_AddTraceback("h5py.h5a._AttrVisitor.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5a_12_AttrVisitor___init__(((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)__pyx_v_self), __pyx_v_func); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5a.pyx":220 -+ * cdef object func -+ * cdef object retval -+ * def __init__(self, func): # <<<<<<<<<<<<<< -+ * self.func = func -+ * self.retval = None -+ */ -+ -+static int __pyx_pf_4h5py_3h5a_12_AttrVisitor___init__(struct __pyx_obj_4h5py_3h5a__AttrVisitor *__pyx_v_self, PyObject *__pyx_v_func) { -+ int __pyx_r; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__init__", 0); - - /* "h5py/h5a.pyx":221 - * cdef object retval -@@ -3115,9 +3112,9 @@ static int __pyx_pf_4h5py_3h5a_12_AttrVi - */ - __Pyx_INCREF(__pyx_v_func); - __Pyx_GIVEREF(__pyx_v_func); -- __Pyx_GOTREF(((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)__pyx_v_self)->func); -- __Pyx_DECREF(((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)__pyx_v_self)->func); -- ((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)__pyx_v_self)->func = __pyx_v_func; -+ __Pyx_GOTREF(__pyx_v_self->func); -+ __Pyx_DECREF(__pyx_v_self->func); -+ __pyx_v_self->func = __pyx_v_func; - - /* "h5py/h5a.pyx":222 - * def __init__(self, func): -@@ -3128,9 +3125,9 @@ static int __pyx_pf_4h5py_3h5a_12_AttrVi - */ - __Pyx_INCREF(Py_None); - __Pyx_GIVEREF(Py_None); -- __Pyx_GOTREF(((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)__pyx_v_self)->retval); -- __Pyx_DECREF(((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)__pyx_v_self)->retval); -- ((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)__pyx_v_self)->retval = Py_None; -+ __Pyx_GOTREF(__pyx_v_self->retval); -+ __Pyx_DECREF(__pyx_v_self->retval); -+ __pyx_v_self->retval = Py_None; - - __pyx_r = 0; - __Pyx_RefNannyFinishContext(); -@@ -3145,14 +3142,18 @@ static int __pyx_pf_4h5py_3h5a_12_AttrVi - * cdef AttrInfo info = AttrInfo() - */ - --static herr_t __pyx_f_4h5py_3h5a_cb_attr_iter(hid_t __pyx_v_loc_id, char *__pyx_v_attr_name, H5A_info_t *__pyx_v_ainfo, void *__pyx_v_vis_in) { -+static herr_t __pyx_f_4h5py_3h5a_cb_attr_iter(CYTHON_UNUSED hid_t __pyx_v_loc_id, char *__pyx_v_attr_name, H5A_info_t *__pyx_v_ainfo, void *__pyx_v_vis_in) { - struct __pyx_obj_4h5py_3h5a__AttrVisitor *__pyx_v_vis = 0; - struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_info = 0; - herr_t __pyx_r; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - int __pyx_t_3; -- __Pyx_RefNannySetupContext("cb_attr_iter"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("cb_attr_iter", 0); - - /* "h5py/h5a.pyx":225 - * -@@ -3195,7 +3196,7 @@ static herr_t __pyx_f_4h5py_3h5a_cb_att - __pyx_t_1 = PyBytes_FromString(__pyx_v_attr_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -+ __Pyx_GOTREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_1)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_1)); - __Pyx_INCREF(((PyObject *)__pyx_v_info)); -@@ -3249,7 +3250,7 @@ static herr_t __pyx_f_4h5py_3h5a_cb_att - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5a.cb_attr_iter"); -+ __Pyx_AddTraceback("h5py.h5a.cb_attr_iter", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 2; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_vis); -@@ -3266,13 +3267,17 @@ static herr_t __pyx_f_4h5py_3h5a_cb_att - * vis.retval = vis.func(attr_name) - */ - --static herr_t __pyx_f_4h5py_3h5a_cb_attr_simple(hid_t __pyx_v_loc_id, char *__pyx_v_attr_name, H5A_info_t *__pyx_v_ainfo, void *__pyx_v_vis_in) { -+static herr_t __pyx_f_4h5py_3h5a_cb_attr_simple(CYTHON_UNUSED hid_t __pyx_v_loc_id, char *__pyx_v_attr_name, CYTHON_UNUSED H5A_info_t *__pyx_v_ainfo, void *__pyx_v_vis_in) { - struct __pyx_obj_4h5py_3h5a__AttrVisitor *__pyx_v_vis = 0; - herr_t __pyx_r; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - int __pyx_t_3; -- __Pyx_RefNannySetupContext("cb_attr_simple"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("cb_attr_simple", 0); - - /* "h5py/h5a.pyx":234 - * -@@ -3294,7 +3299,7 @@ static herr_t __pyx_f_4h5py_3h5a_cb_att - __pyx_t_1 = PyBytes_FromString(__pyx_v_attr_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -+ __Pyx_GOTREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_1)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_1)); - __pyx_t_1 = 0; -@@ -3345,7 +3350,7 @@ static herr_t __pyx_f_4h5py_3h5a_cb_att - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5a.cb_attr_simple"); -+ __Pyx_AddTraceback("h5py.h5a.cb_attr_simple", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 2; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_vis); -@@ -3353,74 +3358,67 @@ static herr_t __pyx_f_4h5py_3h5a_cb_att - return __pyx_r; - } - --/* "h5py/h5a.pyx":241 -- * -- * -- * def iterate(ObjectID loc not None, object func, int index=0, *, # <<<<<<<<<<<<<< -- * int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE, bint info=0): -- * """(ObjectID loc, CALLABLE func, INT index=0, **kwds) => -- */ -- --static PyObject *__pyx_pf_4h5py_3h5a_7iterate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5a_7iterate[] = "(ObjectID loc, CALLABLE func, INT index=0, **kwds) => \n\n Iterate a callable (function, method or callable object) over the\n attributes attached to this object. You callable should have the\n signature::\n\n func(STRING name) => Result\n\n or if the keyword argument \"info\" is True::\n\n func(STRING name, AttrInfo info) => Result\n\n Returning None continues iteration; returning anything else aborts\n iteration and returns that value. Keywords:\n\n BOOL info (False)\n Callback is func(STRING name, AttrInfo info), not func(STRING name)\n\n INT index_type (h5.INDEX_NAME)\n Which index to use\n\n INT order (h5.ITER_NATIVE)\n Index order to use\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5a_7iterate = {__Pyx_NAMESTR("iterate"), (PyCFunction)__pyx_pf_4h5py_3h5a_7iterate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_7iterate)}; --static PyObject *__pyx_pf_4h5py_3h5a_7iterate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_15iterate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5a_14iterate[] = "(ObjectID loc, CALLABLE func, INT index=0, **kwds) => \n\n Iterate a callable (function, method or callable object) over the\n attributes attached to this object. You callable should have the\n signature::\n\n func(STRING name) => Result\n\n or if the keyword argument \"info\" is True::\n\n func(STRING name, AttrInfo info) => Result\n\n Returning None continues iteration; returning anything else aborts\n iteration and returns that value. Keywords:\n\n BOOL info (False)\n Callback is func(STRING name, AttrInfo info), not func(STRING name)\n\n INT index_type (h5.INDEX_NAME)\n Which index to use\n\n INT order (h5.ITER_NATIVE)\n Index order to use\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5a_15iterate = {__Pyx_NAMESTR("iterate"), (PyCFunction)__pyx_pw_4h5py_3h5a_15iterate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_14iterate)}; -+static PyObject *__pyx_pw_4h5py_3h5a_15iterate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0; - PyObject *__pyx_v_func = 0; - int __pyx_v_index; - int __pyx_v_index_type; - int __pyx_v_order; - int __pyx_v_info; -- hsize_t __pyx_v_i; -- struct __pyx_obj_4h5py_3h5a__AttrVisitor *__pyx_v_vis = 0; -- H5A_operator2_t __pyx_v_cfunc; -- PyObject *__pyx_r = NULL; -- int __pyx_t_1; -- PyObject *__pyx_t_2 = NULL; -- PyObject *__pyx_t_3 = NULL; -- herr_t __pyx_t_4; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__func,&__pyx_n_s__index,&__pyx_n_s__index_type,&__pyx_n_s__order,&__pyx_n_s__info,0}; -- __Pyx_RefNannySetupContext("iterate"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("iterate (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__func,&__pyx_n_s__index,&__pyx_n_s__index_type,&__pyx_n_s__order,&__pyx_n_s__info,0}; - PyObject* values[6] = {0,0,0,0,0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("iterate", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- case 2: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index); -- if (value) { values[2] = value; kw_args--; } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("iterate", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 2: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index); -+ if (value) { values[2] = value; kw_args--; } -+ } -+ } -+ if (kw_args > 0 && likely(kw_args <= 3)) { -+ Py_ssize_t index; -+ for (index = 3; index < 6 && kw_args > 0; index++) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]); -+ if (value) { values[index] = value; kw_args--; } -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "iterate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- while (kw_args > 0) { -- PyObject* value; -- value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index_type); -- if (value) { values[3] = value; if (!(--kw_args)) break; } -- value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__order); -- if (value) { values[4] = value; if (!(--kw_args)) break; } -- value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__info); -- if (value) { values[5] = value; if (!(--kw_args)) break; } -- break; -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "iterate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]); - __pyx_v_func = values[1]; -@@ -3444,30 +3442,47 @@ static PyObject *__pyx_pf_4h5py_3h5a_7it - } else { - __pyx_v_info = ((int)0); - } -- } else { -- __pyx_v_index = ((int)0); -- __pyx_v_index_type = __pyx_k_14; -- __pyx_v_order = __pyx_k_15; -- __pyx_v_info = ((int)0); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: -- __pyx_v_index = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_index == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 2: -- __pyx_v_func = PyTuple_GET_ITEM(__pyx_args, 1); -- __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("iterate", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5a.iterate"); -+ __Pyx_AddTraceback("h5py.h5a.iterate", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5a_14iterate(__pyx_self, __pyx_v_loc, __pyx_v_func, __pyx_v_index, __pyx_v_index_type, __pyx_v_order, __pyx_v_info); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5a.pyx":241 -+ * -+ * -+ * def iterate(ObjectID loc not None, object func, int index=0, *, # <<<<<<<<<<<<<< -+ * int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE, bint info=0): -+ * """(ObjectID loc, CALLABLE func, INT index=0, **kwds) => -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5a_14iterate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, PyObject *__pyx_v_func, int __pyx_v_index, int __pyx_v_index_type, int __pyx_v_order, int __pyx_v_info) { -+ hsize_t __pyx_v_i; -+ struct __pyx_obj_4h5py_3h5a__AttrVisitor *__pyx_v_vis = 0; -+ H5A_operator2_t __pyx_v_cfunc; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ int __pyx_t_1; -+ PyObject *__pyx_t_2 = NULL; -+ PyObject *__pyx_t_3 = NULL; -+ herr_t __pyx_t_4; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("iterate", 0); - - /* "h5py/h5a.pyx":267 - * Index order to use -@@ -3488,12 +3503,12 @@ static PyObject *__pyx_pf_4h5py_3h5a_7it - */ - __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_17), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __Pyx_Raise(__pyx_t_2, 0, 0); -+ __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L6; -+ goto __pyx_L3; - } -- __pyx_L6:; -+ __pyx_L3:; - - /* "h5py/h5a.pyx":270 - * raise ValueError("Starting index must be a non-negative integer.") -@@ -3512,7 +3527,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_7it - * - */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -+ __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_func); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_func); - __Pyx_GIVEREF(__pyx_v_func); -@@ -3539,7 +3554,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_7it - * cfunc = cb_attr_simple - */ - __pyx_v_cfunc = __pyx_f_4h5py_3h5a_cb_attr_iter; -- goto __pyx_L7; -+ goto __pyx_L4; - } - /*else*/ { - -@@ -3552,7 +3567,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_7it - */ - __pyx_v_cfunc = __pyx_f_4h5py_3h5a_cb_attr_simple; - } -- __pyx_L7:; -+ __pyx_L4:; - - /* "h5py/h5a.pyx":280 - * -@@ -3580,7 +3595,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_7it - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5a.iterate"); -+ __Pyx_AddTraceback("h5py.h5a.iterate", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_vis); -@@ -3589,6 +3604,17 @@ static PyObject *__pyx_pf_4h5py_3h5a_7it - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_4name_1__get__(PyObject *__pyx_v_self); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_4name_1__get__(PyObject *__pyx_v_self) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5a_6AttrID_4name___get__(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5a.pyx":304 - * property name: - * """The attribute's name""" -@@ -3597,12 +3623,15 @@ static PyObject *__pyx_pf_4h5py_3h5a_7it - * - */ - --static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_4name___get__(PyObject *__pyx_v_self); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_4name___get__(PyObject *__pyx_v_self) { -+static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_4name___get__(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("__get__"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__get__", 0); - - /* "h5py/h5a.pyx":305 - * """The attribute's name""" -@@ -3612,7 +3641,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * property shape: - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__get_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -@@ -3626,7 +3655,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5a.AttrID.name.__get__"); -+ __Pyx_AddTraceback("h5py.h5a.AttrID.name.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3634,6 +3663,17 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_5shape_1__get__(PyObject *__pyx_v_self); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_5shape_1__get__(PyObject *__pyx_v_self) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5a_6AttrID_5shape___get__(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5a.pyx":309 - * property shape: - * """A Numpy-style shape tuple representing the attribute's dataspace""" -@@ -3642,14 +3682,16 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * cdef SpaceID space - */ - --static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_5shape___get__(PyObject *__pyx_v_self); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_5shape___get__(PyObject *__pyx_v_self) { -- struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_space; -+static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_5shape___get__(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self) { -+ struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_space = 0; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("__get__"); -- __pyx_v_space = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)Py_None); __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__get__", 0); - - /* "h5py/h5a.pyx":312 - * -@@ -3658,13 +3700,12 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * return space.get_simple_extent_dims() - * - */ -- __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__get_space); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_space); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5s_SpaceID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(((PyObject *)__pyx_v_space)); - __pyx_v_space = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_t_2); - __pyx_t_2 = 0; - -@@ -3690,15 +3731,26 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5a.AttrID.shape.__get__"); -+ __Pyx_AddTraceback("h5py.h5a.AttrID.shape.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_space); -+ __Pyx_XDECREF((PyObject *)__pyx_v_space); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_5dtype_1__get__(PyObject *__pyx_v_self); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_5dtype_1__get__(PyObject *__pyx_v_self) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5a_6AttrID_5dtype___get__(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5a.pyx":317 - * property dtype: - * """A Numpy-stype dtype object representing the attribute's datatype""" -@@ -3707,14 +3759,16 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * cdef TypeID tid - */ - --static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_5dtype___get__(PyObject *__pyx_v_self); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_5dtype___get__(PyObject *__pyx_v_self) { -- struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid; -+static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_5dtype___get__(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self) { -+ struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid = 0; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("__get__"); -- __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None); __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__get__", 0); - - /* "h5py/h5a.pyx":320 - * -@@ -3723,13 +3777,12 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * return tid.py_dtype() - * - */ -- __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__get_type); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_type); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(((PyObject *)__pyx_v_tid)); - __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_2); - __pyx_t_2 = 0; - -@@ -3752,15 +3805,27 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5a.AttrID.dtype.__get__"); -+ __Pyx_AddTraceback("h5py.h5a.AttrID.dtype.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_tid); -+ __Pyx_XDECREF((PyObject *)__pyx_v_tid); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_1_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5a_6AttrID__close[] = "()\n\n Close this attribute and release resources. You don't need to\n call this manually; attributes are automatically destroyed when\n their Python wrappers are freed.\n "; -+static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_1_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("_close (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5a_6AttrID__close(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5a.pyx":324 - * - * -@@ -3769,26 +3834,25 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * - */ - --static PyObject *__pyx_pf_4h5py_3h5a_6AttrID__close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5a_6AttrID__close[] = "()\n\n Close this attribute and release resources. You don't need to\n call this manually; attributes are automatically destroyed when\n their Python wrappers are freed.\n "; --static PyObject *__pyx_pf_4h5py_3h5a_6AttrID__close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -- PyObject *__pyx_v___tmpvar_26; -- PyObject *__pyx_v___tmpvar_28; -- int __pyx_v___tmpvar_27; -- PyObject *__pyx_v___tmpvar_25; -+static PyObject *__pyx_pf_4h5py_3h5a_6AttrID__close(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; -- herr_t __pyx_t_3; -- int __pyx_t_4; -- int __pyx_t_5; -+ PyObject *__pyx_t_3 = NULL; -+ PyObject *__pyx_t_4 = NULL; -+ PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; -- PyObject *__pyx_t_8 = NULL; -- __Pyx_RefNannySetupContext("_close"); -- __pyx_v___tmpvar_26 = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v___tmpvar_28 = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v___tmpvar_25 = Py_None; __Pyx_INCREF(Py_None); -+ herr_t __pyx_t_8; -+ int __pyx_t_9; -+ int __pyx_t_10; -+ PyObject *__pyx_t_11 = NULL; -+ PyObject *__pyx_t_12 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("_close", 0); - - /* "h5py/h5a.pyx":331 - * their Python wrappers are freed. -@@ -3797,221 +3861,160 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * H5Aclose(self.id) - * if not self.valid: - */ -- __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__lock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(__pyx_v___tmpvar_26); -- __pyx_v___tmpvar_26 = __pyx_t_1; -- __pyx_t_1 = 0; -+ /*with:*/ { -+ __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_2); -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__lock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -+ __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_3); -+ __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_2); -+ __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ /*try:*/ { -+ { -+ __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); -+ __Pyx_XGOTREF(__pyx_t_5); -+ __Pyx_XGOTREF(__pyx_t_6); -+ __Pyx_XGOTREF(__pyx_t_7); -+ /*try:*/ { - -- /* "(tree fragment)":2 -- * MGR = EXPR -- * EXIT = MGR.__exit__ # <<<<<<<<<<<<<< -- * MGR.__enter__() -- * EXC = True -+ /* "h5py/h5a.pyx":332 -+ * """ -+ * with _objects.registry.lock: -+ * H5Aclose(self.id) # <<<<<<<<<<<<<< -+ * if not self.valid: -+ * del _objects.registry[self.id] - */ -- __pyx_t_1 = PyObject_GetAttr(__pyx_v___tmpvar_26, __pyx_n_s____exit__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(__pyx_v___tmpvar_28); -- __pyx_v___tmpvar_28 = __pyx_t_1; -- __pyx_t_1 = 0; -+ __pyx_t_8 = __pyx_f_4h5py_4defs_H5Aclose(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L7_error;} - -- /* "(tree fragment)":3 -- * MGR = EXPR -- * EXIT = MGR.__exit__ -- * MGR.__enter__() # <<<<<<<<<<<<<< -- * EXC = True -- * try: -+ /* "h5py/h5a.pyx":333 -+ * with _objects.registry.lock: -+ * H5Aclose(self.id) -+ * if not self.valid: # <<<<<<<<<<<<<< -+ * del _objects.registry[self.id] -+ * - */ -- __pyx_t_1 = PyObject_GetAttr(__pyx_v___tmpvar_26, __pyx_n_s____enter__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__valid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __pyx_t_10 = (!__pyx_t_9); -+ if (__pyx_t_10) { - -- /* "h5py/h5a.pyx":331 -- * their Python wrappers are freed. -- * """ -- * with _objects.registry.lock: # <<<<<<<<<<<<<< -+ /* "h5py/h5a.pyx":334 - * H5Aclose(self.id) - * if not self.valid: -+ * del _objects.registry[self.id] # <<<<<<<<<<<<<< -+ * -+ * - */ -- __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __pyx_v___tmpvar_27 = 1; -- /*try:*/ { -- { -- PyObject *__pyx_save_exc_type, *__pyx_save_exc_value, *__pyx_save_exc_tb; -- __Pyx_ExceptionSave(&__pyx_save_exc_type, &__pyx_save_exc_value, &__pyx_save_exc_tb); -- __Pyx_XGOTREF(__pyx_save_exc_type); -- __Pyx_XGOTREF(__pyx_save_exc_value); -- __Pyx_XGOTREF(__pyx_save_exc_tb); -- /*try:*/ { -- __Pyx_INCREF(Py_None); -- __Pyx_DECREF(__pyx_v___tmpvar_25); -- __pyx_v___tmpvar_25 = Py_None; -- __pyx_t_3 = __pyx_f_4h5py_4defs_H5Aclose(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__valid); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __pyx_t_5 = (!__pyx_t_4); -- if (__pyx_t_5) { -- __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__registry); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- if (__Pyx_DelItemInt(__pyx_t_1, ((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)->__pyx_base.id, sizeof(hid_t), __Pyx_PyInt_to_py_hid_t) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- goto __pyx_L16; -+ __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_4 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ if (__Pyx_DelItemInt(__pyx_t_4, __pyx_v_self->__pyx_base.id, sizeof(hid_t), __Pyx_PyInt_to_py_hid_t) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ goto __pyx_L15; -+ } -+ __pyx_L15:; - } -- __pyx_L16:; -- } -- __Pyx_XDECREF(__pyx_save_exc_type); __pyx_save_exc_type = 0; -- __Pyx_XDECREF(__pyx_save_exc_value); __pyx_save_exc_value = 0; -- __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0; -- goto __pyx_L15_try_end; -- __pyx_L8_error:; -- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -- /*except:*/ { -- __Pyx_AddTraceback("h5py.h5a.AttrID._close"); -- if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_GOTREF(__pyx_t_2); -- __Pyx_GOTREF(__pyx_t_6); -- __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_7)); -- __Pyx_INCREF(__pyx_t_1); -- PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1); -- __Pyx_GIVEREF(__pyx_t_1); -- __Pyx_INCREF(__pyx_t_2); -- PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2); -- __Pyx_GIVEREF(__pyx_t_2); -- __Pyx_INCREF(__pyx_t_6); -- PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_6); -- __Pyx_GIVEREF(__pyx_t_6); -- __Pyx_DECREF(__pyx_v___tmpvar_25); -- __pyx_v___tmpvar_25 = ((PyObject *)__pyx_t_7); -- __pyx_t_7 = 0; -- __pyx_v___tmpvar_27 = 0; -- -- /* "(tree fragment)":11 -- * except: -- * EXC = False -- * if not EXIT(*EXCINFO): # <<<<<<<<<<<<<< -- * raise -- * finally: -- */ -- __pyx_t_7 = PySequence_Tuple(__pyx_v___tmpvar_25); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_7)); -- __pyx_t_8 = PyObject_Call(__pyx_v___tmpvar_28, ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(__pyx_t_8); -- __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; -- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; -- __pyx_t_4 = (!__pyx_t_5); -- if (__pyx_t_4) { -+ __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; -+ __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; -+ goto __pyx_L14_try_end; -+ __pyx_L7_error:; -+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; -+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - -- /* "h5py/h5a.pyx":331 -+ /* "h5py/h5a.pyx":331 - * their Python wrappers are freed. - * """ - * with _objects.registry.lock: # <<<<<<<<<<<<<< - * H5Aclose(self.id) - * if not self.valid: - */ -+ /*except:*/ { -+ __Pyx_AddTraceback("h5py.h5a.AttrID._close", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_GOTREF(__pyx_t_1); -+ __Pyx_GOTREF(__pyx_t_2); -+ __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __Pyx_GOTREF(__pyx_t_11); -+ __Pyx_INCREF(__pyx_t_4); -+ PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_4); -+ __Pyx_GIVEREF(__pyx_t_4); -+ __Pyx_INCREF(__pyx_t_1); -+ PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); -+ __Pyx_INCREF(__pyx_t_2); -+ PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); -- __Pyx_GIVEREF(__pyx_t_6); -- __Pyx_ErrRestore(__pyx_t_1, __pyx_t_2, __pyx_t_6); -- __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_6 = 0; -- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- goto __pyx_L19; -- } -- __pyx_L19:; -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -- goto __pyx_L9_exception_handled; -+ __pyx_t_12 = PyObject_Call(__pyx_t_3, __pyx_t_11, NULL); -+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -+ if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __Pyx_GOTREF(__pyx_t_12); -+ __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_12); -+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; -+ if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __pyx_t_9 = (!__pyx_t_10); -+ if (__pyx_t_9) { -+ __Pyx_GIVEREF(__pyx_t_4); -+ __Pyx_GIVEREF(__pyx_t_1); -+ __Pyx_GIVEREF(__pyx_t_2); -+ __Pyx_ErrRestore(__pyx_t_4, __pyx_t_1, __pyx_t_2); -+ __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ goto __pyx_L18; -+ } -+ __pyx_L18:; -+ __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0; -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -+ goto __pyx_L8_exception_handled; -+ } -+ __pyx_L9_except_error:; -+ __Pyx_XGIVEREF(__pyx_t_5); -+ __Pyx_XGIVEREF(__pyx_t_6); -+ __Pyx_XGIVEREF(__pyx_t_7); -+ __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); -+ goto __pyx_L1_error; -+ __pyx_L8_exception_handled:; -+ __Pyx_XGIVEREF(__pyx_t_5); -+ __Pyx_XGIVEREF(__pyx_t_6); -+ __Pyx_XGIVEREF(__pyx_t_7); -+ __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); -+ __pyx_L14_try_end:; - } -- __pyx_L10_except_error:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -- goto __pyx_L6; -- __pyx_L9_exception_handled:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -- __pyx_L15_try_end:; -- } -- } -- /*finally:*/ { -- int __pyx_why; -- PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; -- int __pyx_exc_lineno; -- __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L7; -- __pyx_L6: { -- __pyx_why = 4; -- __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; -- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; -- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; -- __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); -- __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L7; -- } -- __pyx_L7:; -- -- /* "(tree fragment)":14 -- * raise -- * finally: -- * if EXC: # <<<<<<<<<<<<<< -- * EXIT(None, None, None) -- */ -- if (__pyx_v___tmpvar_27) { -- -- /* "h5py/h5a.pyx":331 -- * their Python wrappers are freed. -- * """ -- * with _objects.registry.lock: # <<<<<<<<<<<<<< -- * H5Aclose(self.id) -- * if not self.valid: -- */ -- __pyx_t_6 = PyObject_Call(__pyx_v___tmpvar_28, ((PyObject *)__pyx_k_tuple_19), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L20_error;} -- __Pyx_GOTREF(__pyx_t_6); -- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -- goto __pyx_L21; -- } -- __pyx_L21:; -- goto __pyx_L22; -- __pyx_L20_error:; -- if (__pyx_why == 4) { -- Py_XDECREF(__pyx_exc_type); -- Py_XDECREF(__pyx_exc_value); -- Py_XDECREF(__pyx_exc_tb); - } -- goto __pyx_L1_error; -- __pyx_L22:; -- switch (__pyx_why) { -- case 4: { -- __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb); -- __pyx_lineno = __pyx_exc_lineno; -- __pyx_exc_type = 0; -- __pyx_exc_value = 0; -- __pyx_exc_tb = 0; -- goto __pyx_L1_error; -+ /*finally:*/ { -+ if (__pyx_t_3) { -+ __pyx_t_7 = PyObject_Call(__pyx_t_3, __pyx_k_tuple_19, NULL); -+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -+ if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_7); -+ __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); -+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - } -+ goto __pyx_L19; -+ __pyx_L3_error:; -+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -+ goto __pyx_L1_error; -+ __pyx_L19:; - } - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); -@@ -4019,20 +4022,33 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_XDECREF(__pyx_t_6); -- __Pyx_XDECREF(__pyx_t_7); -- __Pyx_XDECREF(__pyx_t_8); -- __Pyx_AddTraceback("h5py.h5a.AttrID._close"); -+ __Pyx_XDECREF(__pyx_t_4); -+ __Pyx_XDECREF(__pyx_t_11); -+ __Pyx_AddTraceback("h5py.h5a.AttrID._close", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF(__pyx_v___tmpvar_26); -- __Pyx_DECREF(__pyx_v___tmpvar_28); -- __Pyx_DECREF(__pyx_v___tmpvar_25); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_3read(PyObject *__pyx_v_self, PyObject *__pyx_v_arr); /*proto*/ -+static char __pyx_doc_4h5py_3h5a_6AttrID_2read[] = "(NDARRAY arr)\n\n Read the attribute data into the given Numpy array. Note that the\n Numpy array must have the same shape as the HDF5 attribute, and a\n conversion-compatible datatype.\n\n The Numpy array must be writable and C-contiguous. If this is not\n the case, the read will fail with an exception.\n "; -+static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_3read(PyObject *__pyx_v_self, PyObject *__pyx_v_arr) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("read (wrapper)", 0); -+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_arr), __pyx_ptype_4h5py_5numpy_ndarray, 0, "arr", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5a_6AttrID_2read(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self), ((PyArrayObject *)__pyx_v_arr)); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5a.pyx":337 - * - * -@@ -4041,21 +4057,21 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * - */ - --static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_1read(PyObject *__pyx_v_self, PyObject *__pyx_v_arr); /*proto*/ --static char __pyx_doc_4h5py_3h5a_6AttrID_1read[] = "(NDARRAY arr)\n\n Read the attribute data into the given Numpy array. Note that the\n Numpy array must have the same shape as the HDF5 attribute, and a\n conversion-compatible datatype.\n\n The Numpy array must be writable and C-contiguous. If this is not\n the case, the read will fail with an exception.\n "; --static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_1read(PyObject *__pyx_v_self, PyObject *__pyx_v_arr) { -- struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_mtype; -+static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_2read(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self, PyArrayObject *__pyx_v_arr) { -+ struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_mtype = 0; - hid_t __pyx_v_space_id; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; - int __pyx_t_2; - struct __pyx_opt_args_4h5py_5utils_check_numpy_write __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - herr_t __pyx_t_6; -- __Pyx_RefNannySetupContext("read"); -- __pyx_v_mtype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None); __Pyx_INCREF(Py_None); -- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_arr), __pyx_ptype_4h5py_5numpy_ndarray, 0, "arr", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("read", 0); - - /* "h5py/h5a.pyx":349 - * cdef TypeID mtype -@@ -4082,7 +4098,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * check_numpy_write(arr, space_id) - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_space(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_space(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_space_id = __pyx_t_1; - - /* "h5py/h5a.pyx":353 -@@ -4094,7 +4110,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - */ - __pyx_t_3.__pyx_n = 1; - __pyx_t_3.space_id = __pyx_v_space_id; -- __pyx_t_2 = __pyx_f_4h5py_5utils_check_numpy_write(((PyArrayObject *)__pyx_v_arr), 0, &__pyx_t_3); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_2 = __pyx_f_4h5py_5utils_check_numpy_write(__pyx_v_arr, 0, &__pyx_t_3); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L4;} - - /* "h5py/h5a.pyx":355 - * check_numpy_write(arr, space_id) -@@ -4103,12 +4119,11 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * - * attr_rw(self.id, mtype.id, PyArray_DATA(arr), 1) - */ -- __pyx_t_4 = PyObject_GetAttr(__pyx_v_arr, __pyx_n_s__dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_arr), __pyx_n_s__dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_4); -- __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t_py_create(__pyx_t_4, 0, NULL)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t_py_create(__pyx_t_4, 0, NULL)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_DECREF(((PyObject *)__pyx_v_mtype)); - __pyx_v_mtype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5); - __pyx_t_5 = 0; - -@@ -4119,7 +4134,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * - * finally: - */ -- __pyx_t_6 = __pyx_f_4h5py_6_proxy_attr_rw(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)->__pyx_base.id, __pyx_v_mtype->__pyx_base.id, PyArray_DATA(((PyArrayObject *)__pyx_v_arr)), 1); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_6 = __pyx_f_4h5py_6_proxy_attr_rw(__pyx_v_self->__pyx_base.id, __pyx_v_mtype->__pyx_base.id, PyArray_DATA(__pyx_v_arr), 1); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L4;} - } - - /* "h5py/h5a.pyx":360 -@@ -4134,16 +4149,16 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L7; -- __pyx_L6: { -+ __pyx_why = 0; goto __pyx_L5; -+ __pyx_L4: { - __pyx_why = 4; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L7; -+ goto __pyx_L5; - } -- __pyx_L7:; -+ __pyx_L5:; - if (__pyx_v_space_id) { - - /* "h5py/h5a.pyx":361 -@@ -4153,19 +4168,19 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * - * - */ -- __pyx_t_6 = __pyx_f_4h5py_4defs_H5Sclose(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- goto __pyx_L9; -+ __pyx_t_6 = __pyx_f_4h5py_4defs_H5Sclose(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L6_error;} -+ goto __pyx_L7; - } -- __pyx_L9:; -- goto __pyx_L10; -- __pyx_L8_error:; -+ __pyx_L7:; -+ goto __pyx_L8; -+ __pyx_L6_error:; - if (__pyx_why == 4) { - Py_XDECREF(__pyx_exc_type); - Py_XDECREF(__pyx_exc_value); - Py_XDECREF(__pyx_exc_tb); - } - goto __pyx_L1_error; -- __pyx_L10:; -+ __pyx_L8:; - switch (__pyx_why) { - case 4: { - __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb); -@@ -4183,15 +4198,32 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); -- __Pyx_AddTraceback("h5py.h5a.AttrID.read"); -+ __Pyx_AddTraceback("h5py.h5a.AttrID.read", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_mtype); -+ __Pyx_XDECREF((PyObject *)__pyx_v_mtype); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_5write(PyObject *__pyx_v_self, PyObject *__pyx_v_arr); /*proto*/ -+static char __pyx_doc_4h5py_3h5a_6AttrID_4write[] = "(NDARRAY arr)\n\n Write the contents of a Numpy array too the attribute. Note that\n the Numpy array must have the same shape as the HDF5 attribute, and\n a conversion-compatible datatype.\n\n The Numpy array must be C-contiguous. If this is not the case,\n the write will fail with an exception.\n "; -+static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_5write(PyObject *__pyx_v_self, PyObject *__pyx_v_arr) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("write (wrapper)", 0); -+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_arr), __pyx_ptype_4h5py_5numpy_ndarray, 0, "arr", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5a_6AttrID_4write(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self), ((PyArrayObject *)__pyx_v_arr)); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5a.pyx":364 - * - * -@@ -4200,21 +4232,21 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * - */ - --static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_2write(PyObject *__pyx_v_self, PyObject *__pyx_v_arr); /*proto*/ --static char __pyx_doc_4h5py_3h5a_6AttrID_2write[] = "(NDARRAY arr)\n\n Write the contents of a Numpy array too the attribute. Note that\n the Numpy array must have the same shape as the HDF5 attribute, and\n a conversion-compatible datatype.\n\n The Numpy array must be C-contiguous. If this is not the case,\n the write will fail with an exception.\n "; --static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_2write(PyObject *__pyx_v_self, PyObject *__pyx_v_arr) { -- struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_mtype; -+static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_4write(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self, PyArrayObject *__pyx_v_arr) { -+ struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_mtype = 0; - hid_t __pyx_v_space_id; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; - int __pyx_t_2; - struct __pyx_opt_args_4h5py_5utils_check_numpy_read __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - herr_t __pyx_t_6; -- __Pyx_RefNannySetupContext("write"); -- __pyx_v_mtype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None); __Pyx_INCREF(Py_None); -- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_arr), __pyx_ptype_4h5py_5numpy_ndarray, 0, "arr", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("write", 0); - - /* "h5py/h5a.pyx":376 - * cdef TypeID mtype -@@ -4241,7 +4273,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * check_numpy_read(arr, space_id) - * mtype = py_create(arr.dtype) - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_space(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_space(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_space_id = __pyx_t_1; - - /* "h5py/h5a.pyx":380 -@@ -4253,7 +4285,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - */ - __pyx_t_3.__pyx_n = 1; - __pyx_t_3.space_id = __pyx_v_space_id; -- __pyx_t_2 = __pyx_f_4h5py_5utils_check_numpy_read(((PyArrayObject *)__pyx_v_arr), 0, &__pyx_t_3); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_2 = __pyx_f_4h5py_5utils_check_numpy_read(__pyx_v_arr, 0, &__pyx_t_3); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L4;} - - /* "h5py/h5a.pyx":381 - * space_id = H5Aget_space(self.id) -@@ -4262,12 +4294,11 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * - * attr_rw(self.id, mtype.id, PyArray_DATA(arr), 0) - */ -- __pyx_t_4 = PyObject_GetAttr(__pyx_v_arr, __pyx_n_s__dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_arr), __pyx_n_s__dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_4); -- __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t_py_create(__pyx_t_4, 0, NULL)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t_py_create(__pyx_t_4, 0, NULL)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_DECREF(((PyObject *)__pyx_v_mtype)); - __pyx_v_mtype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5); - __pyx_t_5 = 0; - -@@ -4278,7 +4309,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * - * finally: - */ -- __pyx_t_6 = __pyx_f_4h5py_6_proxy_attr_rw(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)->__pyx_base.id, __pyx_v_mtype->__pyx_base.id, PyArray_DATA(((PyArrayObject *)__pyx_v_arr)), 0); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_6 = __pyx_f_4h5py_6_proxy_attr_rw(__pyx_v_self->__pyx_base.id, __pyx_v_mtype->__pyx_base.id, PyArray_DATA(__pyx_v_arr), 0); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L4;} - } - - /* "h5py/h5a.pyx":386 -@@ -4293,16 +4324,16 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L7; -- __pyx_L6: { -+ __pyx_why = 0; goto __pyx_L5; -+ __pyx_L4: { - __pyx_why = 4; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L7; -+ goto __pyx_L5; - } -- __pyx_L7:; -+ __pyx_L5:; - if (__pyx_v_space_id) { - - /* "h5py/h5a.pyx":387 -@@ -4312,19 +4343,19 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * - * - */ -- __pyx_t_6 = __pyx_f_4h5py_4defs_H5Sclose(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- goto __pyx_L9; -+ __pyx_t_6 = __pyx_f_4h5py_4defs_H5Sclose(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L6_error;} -+ goto __pyx_L7; - } -- __pyx_L9:; -- goto __pyx_L10; -- __pyx_L8_error:; -+ __pyx_L7:; -+ goto __pyx_L8; -+ __pyx_L6_error:; - if (__pyx_why == 4) { - Py_XDECREF(__pyx_exc_type); - Py_XDECREF(__pyx_exc_value); - Py_XDECREF(__pyx_exc_tb); - } - goto __pyx_L1_error; -- __pyx_L10:; -+ __pyx_L8:; - switch (__pyx_why) { - case 4: { - __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb); -@@ -4342,15 +4373,27 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); -- __Pyx_AddTraceback("h5py.h5a.AttrID.write"); -+ __Pyx_AddTraceback("h5py.h5a.AttrID.write", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_mtype); -+ __Pyx_XDECREF((PyObject *)__pyx_v_mtype); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_7get_name(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5a_6AttrID_6get_name[] = "() => STRING name\n\n Determine the name of this attribute.\n "; -+static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_7get_name(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_name (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5a_6AttrID_6get_name(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5a.pyx":390 - * - * -@@ -4359,18 +4402,19 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * - */ - --static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_3get_name(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5a_6AttrID_3get_name[] = "() => STRING name\n\n Determine the name of this attribute.\n "; --static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_3get_name(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_6get_name(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self) { - int __pyx_v_blen; - char *__pyx_v_buf; -- PyObject *__pyx_v_strout; -+ PyObject *__pyx_v_strout = NULL; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - void *__pyx_t_2; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("get_name"); -- __pyx_v_strout = ((PyObject*)Py_None); __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_name", 0); - - /* "h5py/h5a.pyx":397 - * cdef int blen -@@ -4397,7 +4441,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * assert blen >= 0 - * buf = emalloc(sizeof(char)*blen+1) - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_name(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)->__pyx_base.id, 0, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_name(__pyx_v_self->__pyx_base.id, 0, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_blen = __pyx_t_1; - - /* "h5py/h5a.pyx":401 -@@ -4410,7 +4454,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!(__pyx_v_blen >= 0))) { - PyErr_SetNone(PyExc_AssertionError); -- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L4;} - } - #endif - -@@ -4421,7 +4465,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * blen = H5Aget_name(self.id, blen+1, buf) - * strout = buf - */ -- __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc((((sizeof(char)) * __pyx_v_blen) + 1)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc((((sizeof(char)) * __pyx_v_blen) + 1)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_buf = ((char *)__pyx_t_2); - - /* "h5py/h5a.pyx":403 -@@ -4431,7 +4475,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * strout = buf - * finally: - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_name(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)->__pyx_base.id, (__pyx_v_blen + 1), __pyx_v_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_name(__pyx_v_self->__pyx_base.id, (__pyx_v_blen + 1), __pyx_v_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_blen = __pyx_t_1; - - /* "h5py/h5a.pyx":404 -@@ -4441,11 +4485,11 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * finally: - * efree(buf) - */ -- __pyx_t_3 = PyBytes_FromString(__pyx_v_buf); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_3 = PyBytes_FromString(__pyx_v_buf); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -- __Pyx_DECREF(((PyObject *)__pyx_v_strout)); -+ __Pyx_INCREF(((PyObject*)__pyx_t_3)); - __pyx_v_strout = __pyx_t_3; -- __pyx_t_3 = 0; -+ __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - } - - /* "h5py/h5a.pyx":406 -@@ -4460,15 +4504,15 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L7; -- __pyx_L6: { -+ __pyx_why = 0; goto __pyx_L5; -+ __pyx_L4: { - __pyx_why = 4; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L7; -+ goto __pyx_L5; - } -- __pyx_L7:; -+ __pyx_L5:; - __pyx_f_4h5py_5utils_efree(__pyx_v_buf); - switch (__pyx_why) { - case 4: { -@@ -4498,15 +4542,27 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5a.AttrID.get_name"); -+ __Pyx_AddTraceback("h5py.h5a.AttrID.get_name", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF(__pyx_v_strout); -+ __Pyx_XDECREF(__pyx_v_strout); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_9get_space(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5a_6AttrID_8get_space[] = "() => SpaceID\n\n Create and return a copy of the attribute's dataspace.\n "; -+static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_9get_space(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_space (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5a_6AttrID_8get_space(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5a.pyx":411 - * - * -@@ -4515,15 +4571,17 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * - */ - --static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_4get_space(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5a_6AttrID_4get_space[] = "() => SpaceID\n\n Create and return a copy of the attribute's dataspace.\n "; --static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_4get_space(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_8get_space(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - hid_t __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; -- __Pyx_RefNannySetupContext("get_space"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_space", 0); - - /* "h5py/h5a.pyx":416 - * Create and return a copy of the attribute's dataspace. -@@ -4535,11 +4593,11 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5s_SpaceID)), __pyx_n_s__open); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_2 = __pyx_f_4h5py_4defs_H5Aget_space(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = __pyx_f_4h5py_4defs_H5Aget_space(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; -@@ -4557,7 +4615,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5a.AttrID.get_space"); -+ __Pyx_AddTraceback("h5py.h5a.AttrID.get_space", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4565,6 +4623,18 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_11get_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5a_6AttrID_10get_type[] = "() => TypeID\n\n Create and return a copy of the attribute's datatype.\n "; -+static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_11get_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_type (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5a_6AttrID_10get_type(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5a.pyx":419 - * - * -@@ -4573,13 +4643,15 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * - */ - --static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_5get_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5a_6AttrID_5get_type[] = "() => TypeID\n\n Create and return a copy of the attribute's datatype.\n "; --static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_5get_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_10get_type(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_type"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_type", 0); - - /* "h5py/h5a.pyx":424 - * Create and return a copy of the attribute's datatype. -@@ -4589,7 +4661,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_type(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_type(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_1, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -4600,7 +4672,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5a.AttrID.get_type"); -+ __Pyx_AddTraceback("h5py.h5a.AttrID.get_type", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4608,6 +4680,18 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_13get_storage_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5a_6AttrID_12get_storage_size[] = "() => INT\n\n Get the amount of storage required for this attribute.\n "; -+static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_13get_storage_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_storage_size (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5a_6AttrID_12get_storage_size(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5a.pyx":427 - * - * -@@ -4616,13 +4700,15 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * - */ - --static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_6get_storage_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5a_6AttrID_6get_storage_size[] = "() => INT\n\n Get the amount of storage required for this attribute.\n "; --static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_6get_storage_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_12get_storage_size(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hsize_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_storage_size"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_storage_size", 0); - - /* "h5py/h5a.pyx":432 - * Get the amount of storage required for this attribute. -@@ -4632,7 +4718,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_storage_size(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_storage_size(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyInt_to_py_hsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -4643,7 +4729,7 @@ static PyObject *__pyx_pf_4h5py_3h5a_6At - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5a.AttrID.get_storage_size"); -+ __Pyx_AddTraceback("h5py.h5a.AttrID.get_storage_size", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4658,44 +4744,40 @@ static PyObject *__pyx_tp_new_4h5py_3h5a - } - - static void __pyx_tp_dealloc_4h5py_3h5a_AttrID(PyObject *o) { -- __pyx_ptype_4h5py_8_objects_ObjectID->tp_dealloc(o); -+ if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) __pyx_ptype_4h5py_8_objects_ObjectID->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4h5py_3h5a_AttrID); - } - - static int __pyx_tp_traverse_4h5py_3h5a_AttrID(PyObject *o, visitproc v, void *a) { - int e; -- if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse) { -- e = __pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse(o, v, a); if (e) return e; -- } -+ e = ((likely(__pyx_ptype_4h5py_8_objects_ObjectID)) ? ((__pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse) ? __pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_4h5py_3h5a_AttrID)); if (e) return e; - return 0; - } - - static int __pyx_tp_clear_4h5py_3h5a_AttrID(PyObject *o) { -- if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_clear) { -- __pyx_ptype_4h5py_8_objects_ObjectID->tp_clear(o); -- } -+ if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) { if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_clear) __pyx_ptype_4h5py_8_objects_ObjectID->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_4h5py_3h5a_AttrID); - return 0; - } - --static PyObject *__pyx_getprop_4h5py_3h5a_6AttrID_name(PyObject *o, void *x) { -- return __pyx_pf_4h5py_3h5a_6AttrID_4name___get__(o); -+static PyObject *__pyx_getprop_4h5py_3h5a_6AttrID_name(PyObject *o, CYTHON_UNUSED void *x) { -+ return __pyx_pw_4h5py_3h5a_6AttrID_4name_1__get__(o); - } - --static PyObject *__pyx_getprop_4h5py_3h5a_6AttrID_shape(PyObject *o, void *x) { -- return __pyx_pf_4h5py_3h5a_6AttrID_5shape___get__(o); -+static PyObject *__pyx_getprop_4h5py_3h5a_6AttrID_shape(PyObject *o, CYTHON_UNUSED void *x) { -+ return __pyx_pw_4h5py_3h5a_6AttrID_5shape_1__get__(o); - } - --static PyObject *__pyx_getprop_4h5py_3h5a_6AttrID_dtype(PyObject *o, void *x) { -- return __pyx_pf_4h5py_3h5a_6AttrID_5dtype___get__(o); -+static PyObject *__pyx_getprop_4h5py_3h5a_6AttrID_dtype(PyObject *o, CYTHON_UNUSED void *x) { -+ return __pyx_pw_4h5py_3h5a_6AttrID_5dtype_1__get__(o); - } - - static PyMethodDef __pyx_methods_4h5py_3h5a_AttrID[] = { -- {__Pyx_NAMESTR("_close"), (PyCFunction)__pyx_pf_4h5py_3h5a_6AttrID__close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID__close)}, -- {__Pyx_NAMESTR("read"), (PyCFunction)__pyx_pf_4h5py_3h5a_6AttrID_1read, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_1read)}, -- {__Pyx_NAMESTR("write"), (PyCFunction)__pyx_pf_4h5py_3h5a_6AttrID_2write, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_2write)}, -- {__Pyx_NAMESTR("get_name"), (PyCFunction)__pyx_pf_4h5py_3h5a_6AttrID_3get_name, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_3get_name)}, -- {__Pyx_NAMESTR("get_space"), (PyCFunction)__pyx_pf_4h5py_3h5a_6AttrID_4get_space, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_4get_space)}, -- {__Pyx_NAMESTR("get_type"), (PyCFunction)__pyx_pf_4h5py_3h5a_6AttrID_5get_type, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_5get_type)}, -- {__Pyx_NAMESTR("get_storage_size"), (PyCFunction)__pyx_pf_4h5py_3h5a_6AttrID_6get_storage_size, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_6get_storage_size)}, -+ {__Pyx_NAMESTR("_close"), (PyCFunction)__pyx_pw_4h5py_3h5a_6AttrID_1_close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID__close)}, -+ {__Pyx_NAMESTR("read"), (PyCFunction)__pyx_pw_4h5py_3h5a_6AttrID_3read, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_2read)}, -+ {__Pyx_NAMESTR("write"), (PyCFunction)__pyx_pw_4h5py_3h5a_6AttrID_5write, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_4write)}, -+ {__Pyx_NAMESTR("get_name"), (PyCFunction)__pyx_pw_4h5py_3h5a_6AttrID_7get_name, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_6get_name)}, -+ {__Pyx_NAMESTR("get_space"), (PyCFunction)__pyx_pw_4h5py_3h5a_6AttrID_9get_space, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_8get_space)}, -+ {__Pyx_NAMESTR("get_type"), (PyCFunction)__pyx_pw_4h5py_3h5a_6AttrID_11get_type, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_10get_type)}, -+ {__Pyx_NAMESTR("get_storage_size"), (PyCFunction)__pyx_pw_4h5py_3h5a_6AttrID_13get_storage_size, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_12get_storage_size)}, - {0, 0, 0, 0} - }; - -@@ -4860,7 +4942,7 @@ static PyTypeObject __pyx_type_4h5py_3h5 - #endif - }; - --static PyObject *__pyx_tp_new_4h5py_3h5a_AttrInfo(PyTypeObject *t, PyObject *a, PyObject *k) { -+static PyObject *__pyx_tp_new_4h5py_3h5a_AttrInfo(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o = (*t->tp_alloc)(t, 0); - if (!o) return 0; - return o; -@@ -4870,24 +4952,24 @@ static void __pyx_tp_dealloc_4h5py_3h5a_ - (*Py_TYPE(o)->tp_free)(o); - } - --static PyObject *__pyx_getprop_4h5py_3h5a_8AttrInfo_corder_valid(PyObject *o, void *x) { -- return __pyx_pf_4h5py_3h5a_8AttrInfo_12corder_valid___get__(o); -+static PyObject *__pyx_getprop_4h5py_3h5a_8AttrInfo_corder_valid(PyObject *o, CYTHON_UNUSED void *x) { -+ return __pyx_pw_4h5py_3h5a_8AttrInfo_12corder_valid_1__get__(o); - } - --static PyObject *__pyx_getprop_4h5py_3h5a_8AttrInfo_corder(PyObject *o, void *x) { -- return __pyx_pf_4h5py_3h5a_8AttrInfo_6corder___get__(o); -+static PyObject *__pyx_getprop_4h5py_3h5a_8AttrInfo_corder(PyObject *o, CYTHON_UNUSED void *x) { -+ return __pyx_pw_4h5py_3h5a_8AttrInfo_6corder_1__get__(o); - } - --static PyObject *__pyx_getprop_4h5py_3h5a_8AttrInfo_cset(PyObject *o, void *x) { -- return __pyx_pf_4h5py_3h5a_8AttrInfo_4cset___get__(o); -+static PyObject *__pyx_getprop_4h5py_3h5a_8AttrInfo_cset(PyObject *o, CYTHON_UNUSED void *x) { -+ return __pyx_pw_4h5py_3h5a_8AttrInfo_4cset_1__get__(o); - } - --static PyObject *__pyx_getprop_4h5py_3h5a_8AttrInfo_data_size(PyObject *o, void *x) { -- return __pyx_pf_4h5py_3h5a_8AttrInfo_9data_size___get__(o); -+static PyObject *__pyx_getprop_4h5py_3h5a_8AttrInfo_data_size(PyObject *o, CYTHON_UNUSED void *x) { -+ return __pyx_pw_4h5py_3h5a_8AttrInfo_9data_size_1__get__(o); - } - - static PyMethodDef __pyx_methods_4h5py_3h5a_AttrInfo[] = { -- {__Pyx_NAMESTR("_hash"), (PyCFunction)__pyx_pf_4h5py_3h5a_8AttrInfo__hash, METH_NOARGS, __Pyx_DOCSTR(0)}, -+ {__Pyx_NAMESTR("_hash"), (PyCFunction)__pyx_pw_4h5py_3h5a_8AttrInfo_1_hash, METH_NOARGS, __Pyx_DOCSTR(0)}, - {0, 0, 0, 0} - }; - -@@ -5053,7 +5135,7 @@ static PyTypeObject __pyx_type_4h5py_3h5 - #endif - }; - --static PyObject *__pyx_tp_new_4h5py_3h5a__AttrVisitor(PyTypeObject *t, PyObject *a, PyObject *k) { -+static PyObject *__pyx_tp_new_4h5py_3h5a__AttrVisitor(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - struct __pyx_obj_4h5py_3h5a__AttrVisitor *p; - PyObject *o = (*t->tp_alloc)(t, 0); - if (!o) return 0; -@@ -5065,8 +5147,8 @@ static PyObject *__pyx_tp_new_4h5py_3h5a - - static void __pyx_tp_dealloc_4h5py_3h5a__AttrVisitor(PyObject *o) { - struct __pyx_obj_4h5py_3h5a__AttrVisitor *p = (struct __pyx_obj_4h5py_3h5a__AttrVisitor *)o; -- Py_XDECREF(p->func); -- Py_XDECREF(p->retval); -+ Py_CLEAR(p->func); -+ Py_CLEAR(p->retval); - (*Py_TYPE(o)->tp_free)(o); - } - -@@ -5236,7 +5318,7 @@ static PyTypeObject __pyx_type_4h5py_3h5 - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - 0, /*tp_dictoffset*/ -- __pyx_pf_4h5py_3h5a_12_AttrVisitor___init__, /*tp_init*/ -+ __pyx_pw_4h5py_3h5a_12_AttrVisitor_1__init__, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_4h5py_3h5a__AttrVisitor, /*tp_new*/ - 0, /*tp_free*/ -@@ -5274,7 +5356,8 @@ static __Pyx_StringTabEntry __pyx_string - {&__pyx_kp_s_12, __pyx_k_12, sizeof(__pyx_k_12), 0, 0, 1, 0}, - {&__pyx_kp_s_16, __pyx_k_16, sizeof(__pyx_k_16), 0, 0, 1, 0}, - {&__pyx_n_s_18, __pyx_k_18, sizeof(__pyx_k_18), 0, 0, 1, 1}, -- {&__pyx_n_s_28, __pyx_k_28, sizeof(__pyx_k_28), 0, 0, 1, 1}, -+ {&__pyx_kp_s_30, __pyx_k_30, sizeof(__pyx_k_30), 0, 0, 1, 0}, -+ {&__pyx_n_s_31, __pyx_k_31, sizeof(__pyx_k_31), 0, 0, 1, 1}, - {&__pyx_kp_s_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 1, 0}, - {&__pyx_kp_s_8, __pyx_k_8, sizeof(__pyx_k_8), 0, 0, 1, 0}, - {&__pyx_n_s__TypeError, __pyx_k__TypeError, sizeof(__pyx_k__TypeError), 0, 0, 1, 1}, -@@ -5284,6 +5367,7 @@ static __Pyx_StringTabEntry __pyx_string - {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1}, - {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1}, - {&__pyx_n_s___objects, __pyx_k___objects, sizeof(__pyx_k___objects), 0, 0, 1, 1}, -+ {&__pyx_n_s__cfunc, __pyx_k__cfunc, sizeof(__pyx_k__cfunc), 0, 0, 1, 1}, - {&__pyx_n_s__corder, __pyx_k__corder, sizeof(__pyx_k__corder), 0, 0, 1, 1}, - {&__pyx_n_s__corder_valid, __pyx_k__corder_valid, sizeof(__pyx_k__corder_valid), 0, 0, 1, 1}, - {&__pyx_n_s__create, __pyx_k__create, sizeof(__pyx_k__create), 0, 0, 1, 1}, -@@ -5298,7 +5382,8 @@ static __Pyx_StringTabEntry __pyx_string - {&__pyx_n_s__get_num_attrs, __pyx_k__get_num_attrs, sizeof(__pyx_k__get_num_attrs), 0, 0, 1, 1}, - {&__pyx_n_s__get_space, __pyx_k__get_space, sizeof(__pyx_k__get_space), 0, 0, 1, 1}, - {&__pyx_n_s__get_type, __pyx_k__get_type, sizeof(__pyx_k__get_type), 0, 0, 1, 1}, -- {&__pyx_n_s__id, __pyx_k__id, sizeof(__pyx_k__id), 0, 0, 1, 1}, -+ {&__pyx_n_s__h5py, __pyx_k__h5py, sizeof(__pyx_k__h5py), 0, 0, 1, 1}, -+ {&__pyx_n_s__i, __pyx_k__i, sizeof(__pyx_k__i), 0, 0, 1, 1}, - {&__pyx_n_s__index, __pyx_k__index, sizeof(__pyx_k__index), 0, 0, 1, 1}, - {&__pyx_n_s__index_type, __pyx_k__index_type, sizeof(__pyx_k__index_type), 0, 0, 1, 1}, - {&__pyx_n_s__info, __pyx_k__info, sizeof(__pyx_k__info), 0, 0, 1, 1}, -@@ -5311,13 +5396,12 @@ static __Pyx_StringTabEntry __pyx_string - {&__pyx_n_s__obj_name, __pyx_k__obj_name, sizeof(__pyx_k__obj_name), 0, 0, 1, 1}, - {&__pyx_n_s__open, __pyx_k__open, sizeof(__pyx_k__open), 0, 0, 1, 1}, - {&__pyx_n_s__order, __pyx_k__order, sizeof(__pyx_k__order), 0, 0, 1, 1}, -- {&__pyx_n_s__py_dtype, __pyx_k__py_dtype, sizeof(__pyx_k__py_dtype), 0, 0, 1, 1}, - {&__pyx_n_s__registry, __pyx_k__registry, sizeof(__pyx_k__registry), 0, 0, 1, 1}, - {&__pyx_n_s__rename, __pyx_k__rename, sizeof(__pyx_k__rename), 0, 0, 1, 1}, -- {&__pyx_n_s__retval, __pyx_k__retval, sizeof(__pyx_k__retval), 0, 0, 1, 1}, - {&__pyx_n_s__space, __pyx_k__space, sizeof(__pyx_k__space), 0, 0, 1, 1}, - {&__pyx_n_s__tid, __pyx_k__tid, sizeof(__pyx_k__tid), 0, 0, 1, 1}, - {&__pyx_n_s__valid, __pyx_k__valid, sizeof(__pyx_k__valid), 0, 0, 1, 1}, -+ {&__pyx_n_s__vis, __pyx_k__vis, sizeof(__pyx_k__vis), 0, 0, 1, 1}, - {0, 0, 0, 0, 0, 0, 0} - }; - static int __Pyx_InitCachedBuiltins(void) { -@@ -5329,7 +5413,8 @@ static int __Pyx_InitCachedBuiltins(void - } - - static int __Pyx_InitCachedConstants(void) { -- __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants"); -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - - /* "h5py/h5a.pyx":74 - * """ -@@ -5339,7 +5424,7 @@ static int __Pyx_InitCachedConstants(voi - * if name != NULL: - */ - __pyx_k_tuple_5 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_5)); -+ __Pyx_GOTREF(__pyx_k_tuple_5); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_4)); - PyTuple_SET_ITEM(__pyx_k_tuple_5, 0, ((PyObject *)__pyx_kp_s_4)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_4)); -@@ -5353,7 +5438,7 @@ static int __Pyx_InitCachedConstants(voi - * def get_num_attrs(ObjectID loc not None): - */ - __pyx_k_tuple_9 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_9)); -+ __Pyx_GOTREF(__pyx_k_tuple_9); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_8)); - PyTuple_SET_ITEM(__pyx_k_tuple_9, 0, ((PyObject *)__pyx_kp_s_8)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_8)); -@@ -5367,7 +5452,7 @@ static int __Pyx_InitCachedConstants(voi - * H5Aget_info_by_name(loc.id, obj_name, name, &info.info, pdefault(lapl)) - */ - __pyx_k_tuple_13 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_13)); -+ __Pyx_GOTREF(__pyx_k_tuple_13); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_12)); - PyTuple_SET_ITEM(__pyx_k_tuple_13, 0, ((PyObject *)__pyx_kp_s_12)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_12)); -@@ -5378,34 +5463,271 @@ static int __Pyx_InitCachedConstants(voi - * if index < 0: - * raise ValueError("Starting index must be a non-negative integer.") # <<<<<<<<<<<<<< - * -- * cdef hsize_t i = index -+ * cdef hsize_t i = index -+ */ -+ __pyx_k_tuple_17 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_17); -+ __Pyx_INCREF(((PyObject *)__pyx_kp_s_16)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_17, 0, ((PyObject *)__pyx_kp_s_16)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_16)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_17)); -+ -+ /* "h5py/h5a.pyx":331 -+ * their Python wrappers are freed. -+ * """ -+ * with _objects.registry.lock: # <<<<<<<<<<<<<< -+ * H5Aclose(self.id) -+ * if not self.valid: -+ */ -+ __pyx_k_tuple_19 = PyTuple_New(3); if (unlikely(!__pyx_k_tuple_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_19); -+ __Pyx_INCREF(Py_None); -+ PyTuple_SET_ITEM(__pyx_k_tuple_19, 0, Py_None); -+ __Pyx_GIVEREF(Py_None); -+ __Pyx_INCREF(Py_None); -+ PyTuple_SET_ITEM(__pyx_k_tuple_19, 1, Py_None); -+ __Pyx_GIVEREF(Py_None); -+ __Pyx_INCREF(Py_None); -+ PyTuple_SET_ITEM(__pyx_k_tuple_19, 2, Py_None); -+ __Pyx_GIVEREF(Py_None); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_19)); -+ -+ /* "h5py/h5a.pyx":35 -+ * # --- create, create_by_name --- -+ * -+ * def create(ObjectID loc not None, char* name, TypeID tid not None, # <<<<<<<<<<<<<< -+ * SpaceID space not None, *, char* obj_name='.', PropID lapl=None): -+ * """(ObjectID loc, STRING name, TypeID tid, SpaceID space, **kwds) => AttrID -+ */ -+ __pyx_k_tuple_28 = PyTuple_New(6); if (unlikely(!__pyx_k_tuple_28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_28); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__loc)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_28, 0, ((PyObject *)__pyx_n_s__loc)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__loc)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_28, 1, ((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__tid)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_28, 2, ((PyObject *)__pyx_n_s__tid)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__tid)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__space)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_28, 3, ((PyObject *)__pyx_n_s__space)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__space)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__obj_name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_28, 4, ((PyObject *)__pyx_n_s__obj_name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__obj_name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__lapl)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_28, 5, ((PyObject *)__pyx_n_s__lapl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__lapl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_28)); -+ __pyx_k_codeobj_29 = (PyObject*)__Pyx_PyCode_New(6, 2, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_30, __pyx_n_s__create, 35, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5a.pyx":54 -+ * # --- open, open_by_name, open_by_idx --- -+ * -+ * def open(ObjectID loc not None, char* name=NULL, int index=-1, *, # <<<<<<<<<<<<<< -+ * char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE, -+ * PropID lapl=None): -+ */ -+ __pyx_k_tuple_32 = PyTuple_New(7); if (unlikely(!__pyx_k_tuple_32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_32); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__loc)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_32, 0, ((PyObject *)__pyx_n_s__loc)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__loc)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_32, 1, ((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__index)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_32, 2, ((PyObject *)__pyx_n_s__index)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__index)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__obj_name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_32, 3, ((PyObject *)__pyx_n_s__obj_name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__obj_name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__index_type)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_32, 4, ((PyObject *)__pyx_n_s__index_type)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__index_type)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__order)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_32, 5, ((PyObject *)__pyx_n_s__order)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__order)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__lapl)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_32, 6, ((PyObject *)__pyx_n_s__lapl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__lapl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_32)); -+ __pyx_k_codeobj_33 = (PyObject*)__Pyx_PyCode_New(7, 4, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_30, __pyx_n_s__open, 54, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5a.pyx":87 -+ * # --- exists, exists_by_name --- -+ * -+ * def exists(ObjectID loc not None, char* name, *, # <<<<<<<<<<<<<< -+ * char* obj_name=".", PropID lapl=None): -+ * """(ObjectID loc, STRING name, **kwds) => BOOL -+ */ -+ __pyx_k_tuple_34 = PyTuple_New(4); if (unlikely(!__pyx_k_tuple_34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_34); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__loc)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_34, 0, ((PyObject *)__pyx_n_s__loc)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__loc)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_34, 1, ((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__obj_name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_34, 2, ((PyObject *)__pyx_n_s__obj_name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__obj_name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__lapl)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_34, 3, ((PyObject *)__pyx_n_s__lapl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__lapl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_34)); -+ __pyx_k_codeobj_35 = (PyObject*)__Pyx_PyCode_New(4, 2, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_30, __pyx_n_s__exists, 87, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5a.pyx":104 -+ * # --- rename, rename_by_name --- -+ * -+ * def rename(ObjectID loc not None, char* name, char* new_name, *, # <<<<<<<<<<<<<< -+ * char* obj_name='.', PropID lapl=None): -+ * """(ObjectID loc, STRING name, STRING new_name, **kwds) -+ */ -+ __pyx_k_tuple_36 = PyTuple_New(5); if (unlikely(!__pyx_k_tuple_36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_36); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__loc)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_36, 0, ((PyObject *)__pyx_n_s__loc)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__loc)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_36, 1, ((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__new_name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_36, 2, ((PyObject *)__pyx_n_s__new_name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__new_name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__obj_name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_36, 3, ((PyObject *)__pyx_n_s__obj_name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__obj_name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__lapl)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_36, 4, ((PyObject *)__pyx_n_s__lapl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__lapl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_36)); -+ __pyx_k_codeobj_37 = (PyObject*)__Pyx_PyCode_New(5, 2, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_30, __pyx_n_s__rename, 104, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5a.pyx":119 -+ * -+ * -+ * def delete(ObjectID loc not None, char* name=NULL, int index=-1, *, # <<<<<<<<<<<<<< -+ * char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE, -+ * PropID lapl=None): -+ */ -+ __pyx_k_tuple_38 = PyTuple_New(7); if (unlikely(!__pyx_k_tuple_38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_38); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__loc)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_38, 0, ((PyObject *)__pyx_n_s__loc)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__loc)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_38, 1, ((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__index)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_38, 2, ((PyObject *)__pyx_n_s__index)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__index)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__obj_name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_38, 3, ((PyObject *)__pyx_n_s__obj_name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__obj_name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__index_type)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_38, 4, ((PyObject *)__pyx_n_s__index_type)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__index_type)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__order)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_38, 5, ((PyObject *)__pyx_n_s__order)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__order)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__lapl)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_38, 6, ((PyObject *)__pyx_n_s__lapl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__lapl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_38)); -+ __pyx_k_codeobj_39 = (PyObject*)__Pyx_PyCode_New(7, 4, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_30, __pyx_n_s__delete, 119, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5a.pyx":145 -+ * raise TypeError("Exactly one of index or name must be specified.") -+ * -+ * def get_num_attrs(ObjectID loc not None): # <<<<<<<<<<<<<< -+ * """(ObjectID loc) => INT -+ * -+ */ -+ __pyx_k_tuple_40 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_40); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__loc)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_40, 0, ((PyObject *)__pyx_n_s__loc)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__loc)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_40)); -+ __pyx_k_codeobj_41 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_30, __pyx_n_s__get_num_attrs, 145, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5a.pyx":178 -+ * -+ * -+ * def get_info(ObjectID loc not None, char* name=NULL, int index=-1, *, # <<<<<<<<<<<<<< -+ * char* obj_name='.', PropID lapl=None, -+ * int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE): - */ -- __pyx_k_tuple_17 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_17)); -- __Pyx_INCREF(((PyObject *)__pyx_kp_s_16)); -- PyTuple_SET_ITEM(__pyx_k_tuple_17, 0, ((PyObject *)__pyx_kp_s_16)); -- __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_16)); -- __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_17)); -+ __pyx_k_tuple_42 = PyTuple_New(8); if (unlikely(!__pyx_k_tuple_42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_42); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__loc)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_42, 0, ((PyObject *)__pyx_n_s__loc)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__loc)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_42, 1, ((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__index)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_42, 2, ((PyObject *)__pyx_n_s__index)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__index)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__obj_name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_42, 3, ((PyObject *)__pyx_n_s__obj_name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__obj_name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__lapl)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_42, 4, ((PyObject *)__pyx_n_s__lapl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__lapl)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__index_type)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_42, 5, ((PyObject *)__pyx_n_s__index_type)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__index_type)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__order)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_42, 6, ((PyObject *)__pyx_n_s__order)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__order)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__info)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_42, 7, ((PyObject *)__pyx_n_s__info)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__info)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_42)); -+ __pyx_k_codeobj_43 = (PyObject*)__Pyx_PyCode_New(7, 4, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_30, __pyx_n_s__get_info, 178, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - -- /* "h5py/h5a.pyx":331 -- * their Python wrappers are freed. -- * """ -- * with _objects.registry.lock: # <<<<<<<<<<<<<< -- * H5Aclose(self.id) -- * if not self.valid: -+ /* "h5py/h5a.pyx":241 -+ * -+ * -+ * def iterate(ObjectID loc not None, object func, int index=0, *, # <<<<<<<<<<<<<< -+ * int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE, bint info=0): -+ * """(ObjectID loc, CALLABLE func, INT index=0, **kwds) => - */ -- __pyx_k_tuple_19 = PyTuple_New(3); if (unlikely(!__pyx_k_tuple_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_19)); -- __Pyx_INCREF(Py_None); -- PyTuple_SET_ITEM(__pyx_k_tuple_19, 0, Py_None); -- __Pyx_GIVEREF(Py_None); -- __Pyx_INCREF(Py_None); -- PyTuple_SET_ITEM(__pyx_k_tuple_19, 1, Py_None); -- __Pyx_GIVEREF(Py_None); -- __Pyx_INCREF(Py_None); -- PyTuple_SET_ITEM(__pyx_k_tuple_19, 2, Py_None); -- __Pyx_GIVEREF(Py_None); -- __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_19)); -+ __pyx_k_tuple_44 = PyTuple_New(9); if (unlikely(!__pyx_k_tuple_44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_44); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__loc)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_44, 0, ((PyObject *)__pyx_n_s__loc)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__loc)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__func)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_44, 1, ((PyObject *)__pyx_n_s__func)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__func)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__index)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_44, 2, ((PyObject *)__pyx_n_s__index)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__index)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__index_type)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_44, 3, ((PyObject *)__pyx_n_s__index_type)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__index_type)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__order)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_44, 4, ((PyObject *)__pyx_n_s__order)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__order)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__info)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_44, 5, ((PyObject *)__pyx_n_s__info)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__info)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__i)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_44, 6, ((PyObject *)__pyx_n_s__i)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__i)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__vis)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_44, 7, ((PyObject *)__pyx_n_s__vis)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__vis)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__cfunc)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_44, 8, ((PyObject *)__pyx_n_s__cfunc)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__cfunc)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_44)); -+ __pyx_k_codeobj_45 = (PyObject*)__Pyx_PyCode_New(6, 3, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_30, __pyx_n_s__iterate, 241, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; -@@ -5435,8 +5757,8 @@ PyMODINIT_FUNC PyInit_h5a(void) - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; -+ __Pyx_RefNannyDeclarations - #if CYTHON_REFNANNY -- void* __pyx_refnanny = NULL; - __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); - if (!__Pyx_RefNanny) { - PyErr_Clear(); -@@ -5444,12 +5766,19 @@ PyMODINIT_FUNC PyInit_h5a(void) - if (!__Pyx_RefNanny) - Py_FatalError("failed to import 'refnanny' module"); - } -- __pyx_refnanny = __Pyx_RefNanny->SetupContext("PyMODINIT_FUNC PyInit_h5a(void)", __LINE__, __FILE__); - #endif -+ __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5a(void)", 0); -+ if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- #ifdef __pyx_binding_PyCFunctionType_USED -- if (__pyx_binding_PyCFunctionType_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #ifdef __Pyx_CyFunction_USED -+ if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif -+ #ifdef __Pyx_FusedFunction_USED -+ if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif -+ #ifdef __Pyx_Generator_USED -+ if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - #endif - /*--- Library function declarations ---*/ - /*--- Threads initialization code ---*/ -@@ -5460,16 +5789,23 @@ PyMODINIT_FUNC PyInit_h5a(void) - #endif - /*--- Module creation code ---*/ - #if PY_MAJOR_VERSION < 3 -- __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5a"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_27), 0, PYTHON_API_VERSION); -+ __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5a"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_27), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); - #else - __pyx_m = PyModule_Create(&__pyx_moduledef); - #endif -- if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -- #if PY_MAJOR_VERSION < 3 -- Py_INCREF(__pyx_m); -+ if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #if PY_MAJOR_VERSION >= 3 -+ { -+ PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (!PyDict_GetItemString(modules, "h5py.h5a")) { -+ if (unlikely(PyDict_SetItemString(modules, "h5py.h5a", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } -+ } -+ #endif -+ __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #if CYTHON_COMPILING_IN_PYPY -+ Py_INCREF(__pyx_b); - #endif -- __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); -- if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - /*--- Initialize various global constants etc. ---*/ - if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -5481,6 +5817,7 @@ PyMODINIT_FUNC PyInit_h5a(void) - /*--- Constants init code ---*/ - if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /*--- Global init code ---*/ -+ /*--- Variable export code ---*/ - /*--- Function export code ---*/ - /*--- Type init code ---*/ - __pyx_ptype_4h5py_8_objects_ObjectID = __Pyx_ImportType("h5py._objects", "ObjectID", sizeof(struct __pyx_obj_4h5py_8_objects_ObjectID), 1); if (unlikely(!__pyx_ptype_4h5py_8_objects_ObjectID)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -5539,318 +5876,27 @@ PyMODINIT_FUNC PyInit_h5a(void) - __pyx_ptype_4h5py_3h5p_PropGCID = __Pyx_ImportType("h5py.h5p", "PropGCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropGCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropGCID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_ptype_4h5py_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_dtype)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_ptype_4h5py_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_ndarray)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ /*--- Variable import code ---*/ - /*--- Function import code ---*/ - __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5open", (void (**)(void))&__pyx_f_4h5py_4defs_H5open, "herr_t (void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5close", (void (**)(void))&__pyx_f_4h5py_4defs_H5close, "herr_t (void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5get_libversion", (void (**)(void))&__pyx_f_4h5py_4defs_H5get_libversion, "herr_t (unsigned int *, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dcreate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dcreate2, "hid_t (hid_t, char *, hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dcreate_anon", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dcreate_anon, "hid_t (hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dopen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_space", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_space, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_space_status", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_space_status, "herr_t (hid_t, H5D_space_status_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_type, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_create_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_offset, "haddr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_storage_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_storage_size, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dread", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dread, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dwrite", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dwrite, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dextend", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dextend, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dfill", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dfill, "herr_t (void *, hid_t, void *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dvlen_get_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dvlen_get_buf_size, "herr_t (hid_t, hid_t, hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dvlen_reclaim", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dvlen_reclaim, "herr_t (hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Diterate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Diterate, "herr_t (void *, hid_t, hid_t, H5D_operator_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dset_extent", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dset_extent, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fcreate, "hid_t (char *, unsigned int, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fopen, "hid_t (char *, unsigned int, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fis_hdf5", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fis_hdf5, "htri_t (char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fflush", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fflush, "herr_t (hid_t, enum H5F_scope_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Freopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Freopen, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fmount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fmount, "herr_t (hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Funmount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Funmount, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_filesize", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_filesize, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_create_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_access_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_access_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_freespace", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_freespace, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_obj_count", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_obj_count, "int (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_obj_ids", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_obj_ids, "int (hid_t, unsigned int, int, hid_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_intent", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_intent, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate, "hid_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gopen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Glink2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Glink2, "herr_t (hid_t, char *, H5G_link_t, hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gunlink", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gunlink, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gmove2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gmove2, "herr_t (hid_t, char *, hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_num_objs", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_num_objs, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_objname_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_objname_by_idx, "int (hid_t, hsize_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_objtype_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_objtype_by_idx, "int (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Giterate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Giterate, "herr_t (hid_t, char *, int *, H5G_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_objinfo", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_objinfo, "herr_t (hid_t, char *, int, H5G_stat_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_linkval", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_linkval, "herr_t (hid_t, char *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gset_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gset_comment, "herr_t (hid_t, char *, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_comment, "int (hid_t, char *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate_anon", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate_anon, "hid_t (hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate2, "hid_t (hid_t, char *, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gopen2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gopen2, "hid_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_info, "herr_t (hid_t, H5G_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_info_by_name, "herr_t (hid_t, char *, H5G_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_create_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_type, "H5I_type_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_file_id", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_file_id, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Idec_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Idec_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iinc_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iinc_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lmove", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lmove, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcopy, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_hard", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_hard, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_soft", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_soft, "herr_t (char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ldelete", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ldelete, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ldelete_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ldelete_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_val", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_val, "herr_t (hid_t, char *, void *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_val_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_val_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, void *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lexists", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lexists, "htri_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_info, "herr_t (hid_t, char *, H5L_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5L_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_name_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_name_by_idx, "Py_ssize_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Literate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Literate, "herr_t (hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Literate_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Literate_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lvisit", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lvisit, "herr_t (hid_t, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lvisit_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lvisit_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lunpack_elink_val", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lunpack_elink_val, "herr_t (void *, size_t, unsigned int *, char **, char **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_external", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_external, "herr_t (char *, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oopen, "hid_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oopen_by_addr", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oopen_by_addr, "hid_t (hid_t, haddr_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oopen_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oopen_by_idx, "hid_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info, "herr_t (hid_t, H5O_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info_by_name, "herr_t (hid_t, char *, H5O_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5O_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Olink", (void (**)(void))&__pyx_f_4h5py_4defs_H5Olink, "herr_t (hid_t, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ocopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ocopy, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oincr_refcount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oincr_refcount, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Odecr_refcount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Odecr_refcount, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oset_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oset_comment, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oset_comment_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oset_comment_by_name, "herr_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_comment, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_comment_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_comment_by_name, "Py_ssize_t (hid_t, char *, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ovisit", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ovisit, "herr_t (hid_t, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ovisit_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ovisit_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pcreate, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pcopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_class, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pequal", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pequal, "htri_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pclose_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pclose_class, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_version", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_version, "herr_t (hid_t, unsigned int *, unsigned int *, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_userblock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_userblock, "herr_t (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_userblock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_userblock, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sizes", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sizes, "herr_t (hid_t, size_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sizes", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sizes, "herr_t (hid_t, size_t *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sym_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sym_k, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sym_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sym_k, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_istore_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_istore_k, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_istore_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_istore_k, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fclose_degree", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fclose_degree, "herr_t (hid_t, enum H5F_close_degree_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fclose_degree", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fclose_degree, "herr_t (hid_t, enum H5F_close_degree_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_core", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_core, "herr_t (hid_t, size_t, hbool_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fapl_core", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fapl_core, "herr_t (hid_t, size_t *, hbool_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_family", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_family, "herr_t (hid_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fapl_family", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fapl_family, "herr_t (hid_t, hsize_t *, hid_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_family_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_family_offset, "herr_t (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_family_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_family_offset, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_log", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_log, "herr_t (hid_t, char *, unsigned int, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_multi", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_multi, "herr_t (hid_t, H5FD_mem_t *, hid_t *, char **, haddr_t *, hbool_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_cache", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_cache, "herr_t (hid_t, int, int, size_t, double)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_cache", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_cache, "herr_t (hid_t, int *, int *, size_t *, double *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_sec2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_sec2, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_stdio", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_stdio, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_driver", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_driver, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_layout", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_layout, "herr_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_layout", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_layout, "H5D_layout_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_chunk", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_chunk, "herr_t (hid_t, int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_chunk", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_chunk, "int (hid_t, int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_deflate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_deflate, "herr_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fill_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fill_value, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fill_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fill_value, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pfill_value_defined", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pfill_value_defined, "herr_t (hid_t, H5D_fill_value_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fill_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fill_time, "herr_t (hid_t, H5D_fill_time_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fill_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fill_time, "herr_t (hid_t, H5D_fill_time_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_alloc_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_alloc_time, "herr_t (hid_t, H5D_alloc_time_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_alloc_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_alloc_time, "herr_t (hid_t, H5D_alloc_time_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_filter, "herr_t (hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pall_filters_avail", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pall_filters_avail, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_nfilters", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_nfilters, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_filter, "H5Z_filter_t (hid_t, unsigned int, unsigned int *, size_t *, unsigned int *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_filter_by_id", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_filter_by_id, "herr_t (hid_t, H5Z_filter_t, unsigned int *, size_t *, unsigned int *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pmodify_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pmodify_filter, "herr_t (hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Premove_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Premove_filter, "herr_t (hid_t, H5Z_filter_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fletcher32", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fletcher32, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_shuffle", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_shuffle, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_szip", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_szip, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_edc_check", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_edc_check, "herr_t (hid_t, enum H5Z_EDC_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_edc_check", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_edc_check, "enum H5Z_EDC_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sieve_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sieve_buf_size, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sieve_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sieve_buf_size, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_nlinks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_nlinks, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_nlinks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_nlinks, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_elink_prefix", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_elink_prefix, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_elink_prefix", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_elink_prefix, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_elink_fapl", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_elink_fapl, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_elink_fapl", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_elink_fapl, "herr_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_create_intermediate_group", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_create_intermediate_group, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_create_intermediate_group", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_create_intermediate_group, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_copy_object", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_copy_object, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_copy_object", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_copy_object, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_char_encoding", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_char_encoding, "herr_t (hid_t, H5T_cset_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_char_encoding", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_char_encoding, "herr_t (hid_t, H5T_cset_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_local_heap_size_hint", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_local_heap_size_hint, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_local_heap_size_hint", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_local_heap_size_hint, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_link_phase_change", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_link_phase_change, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_link_phase_change", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_link_phase_change, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_est_link_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_est_link_info, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_est_link_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_est_link_info, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_link_creation_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_link_creation_order, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_link_creation_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_link_creation_order, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_libver_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_libver_bounds, "herr_t (hid_t, H5F_libver_t, H5F_libver_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_libver_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_libver_bounds, "herr_t (hid_t, H5F_libver_t *, H5F_libver_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rcreate, "herr_t (void *, hid_t, char *, H5R_type_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rdereference", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rdereference, "hid_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_region", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_region, "hid_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_obj_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_obj_type, "enum H5G_obj_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_name, "Py_ssize_t (hid_t, H5R_type_t, void *, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Screate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Screate, "hid_t (H5S_class_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Scopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Scopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Sclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Screate_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Screate_simple, "hid_t (int, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sis_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sis_simple, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Soffset_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Soffset_simple, "herr_t (hid_t, hssize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_ndims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_dims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_dims, "int (hid_t, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_npoints", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_type, "H5S_class_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sextent_copy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sextent_copy, "herr_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sset_extent_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sset_extent_simple, "herr_t (hid_t, int, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sset_extent_none", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sset_extent_none, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_type, "H5S_sel_type (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_npoints", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_bounds, "herr_t (hid_t, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_all", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_all, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_none", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_none, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_valid", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_valid, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_elem_npoints", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_elem_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_elem_pointlist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_elem_pointlist, "herr_t (hid_t, hsize_t, hsize_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_elements", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_elements, "herr_t (hid_t, H5S_seloper_t, size_t, hsize_t **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_hyper_nblocks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_hyper_nblocks, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_hyper_blocklist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_hyper_blocklist, "herr_t (hid_t, hsize_t, hsize_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_hyperslab", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_hyperslab, "herr_t (hid_t, H5S_seloper_t, hsize_t *, hsize_t *, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sencode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sencode, "herr_t (hid_t, void *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sdecode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sdecode, "hid_t (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcreate, "hid_t (enum H5T_class_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Topen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Topen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommit", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommit, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommitted", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommitted, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tequal", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tequal, "htri_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tlock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tlock, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_class, "enum H5T_class_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_size, "size_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_super", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_super, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tdetect_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tdetect_class, "htri_t (hid_t, enum H5T_class_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_native_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_native_type, "hid_t (hid_t, enum H5T_direction_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tconvert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tconvert, "herr_t (hid_t, hid_t, size_t, void *, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_size, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_order, "H5T_order_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_order, "herr_t (hid_t, H5T_order_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_precision", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_precision, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_precision", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_precision, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_offset, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_offset, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_pad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_pad, "herr_t (hid_t, H5T_pad_t *, H5T_pad_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_pad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_pad, "herr_t (hid_t, H5T_pad_t, H5T_pad_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_sign", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_sign, "H5T_sign_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_sign", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_sign, "herr_t (hid_t, H5T_sign_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_fields", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_fields, "herr_t (hid_t, size_t *, size_t *, size_t *, size_t *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_fields", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_fields, "herr_t (hid_t, size_t, size_t, size_t, size_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_ebias", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_ebias, "size_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_ebias", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_ebias, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_norm", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_norm, "H5T_norm_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_norm", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_norm, "herr_t (hid_t, H5T_norm_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_inpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_inpad, "H5T_pad_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_inpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_inpad, "herr_t (hid_t, H5T_pad_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_cset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_cset, "H5T_cset_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_cset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_cset, "herr_t (hid_t, H5T_cset_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_strpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_strpad, "H5T_str_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_strpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_strpad, "herr_t (hid_t, H5T_str_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tvlen_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tvlen_create, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tis_variable_str", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tis_variable_str, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_nmembers", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_nmembers, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_class, "enum H5T_class_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_name, "char *(hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_type, "hid_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_offset, "int (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_index", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_index, "int (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tinsert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tinsert, "herr_t (hid_t, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tpack", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tpack, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_create, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_insert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_insert, "herr_t (hid_t, char *, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_nameof", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_nameof, "herr_t (hid_t, void *, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_valueof", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_valueof, "herr_t (hid_t, char *, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_value, "herr_t (hid_t, unsigned int, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tarray_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tarray_create, "hid_t (hid_t, int, hsize_t *, int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_array_ndims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_array_ndims, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_array_dims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_array_dims, "int (hid_t, hsize_t *, int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_tag", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_tag, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_tag", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_tag, "char *(hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tdecode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tdecode, "hid_t (unsigned char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tencode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tencode, "herr_t (hid_t, unsigned char *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommit2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommit2, "herr_t (hid_t, char *, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tfind", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tfind, "H5T_conv_t (hid_t, hid_t, H5T_cdata_t **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tregister", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tregister, "herr_t (H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tunregister", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tunregister, "herr_t (H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Zfilter_avail", (void (**)(void))&__pyx_f_4h5py_4defs_H5Zfilter_avail, "htri_t (H5Z_filter_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Zget_filter_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Zget_filter_info, "herr_t (H5Z_filter_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Acreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Acreate, "hid_t (hid_t, char *, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_idx, "hid_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_name, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Aclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aread", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aread, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Awrite", (void (**)(void))&__pyx_f_4h5py_4defs_H5Awrite, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_num_attrs", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_num_attrs, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_name, "Py_ssize_t (hid_t, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_space", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_space, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_type, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aiterate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aiterate, "herr_t (hid_t, unsigned int *, H5A_operator_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete_by_name, "herr_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Acreate_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Acreate_by_name, "hid_t (hid_t, char *, char *, hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_by_name, "herr_t (hid_t, char *, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Aexists_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aexists_by_name, "htri_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aexists", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aexists, "htri_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Arename", (void (**)(void))&__pyx_f_4h5py_4defs_H5Arename, "herr_t (hid_t, char *, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Arename_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Arename_by_name, "herr_t (hid_t, char *, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info, "herr_t (hid_t, H5A_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info_by_name, "herr_t (hid_t, char *, char *, H5A_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5A_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Aiterate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aiterate2, "herr_t (hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5A_operator2_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_storage_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_storage_size, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSattach_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSattach_scale, "herr_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSdetach_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSdetach_scale, "herr_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSset_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSset_scale, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_num_scales", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_num_scales, "int (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSset_label", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSset_label, "herr_t (hid_t, unsigned int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_label", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_label, "Py_ssize_t (hid_t, unsigned int, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_scale_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_scale_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSis_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSis_scale, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSiterate_scales", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSiterate_scales, "herr_t (hid_t, unsigned int, int *, H5DS_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSis_attached", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSis_attached, "htri_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_2 = __Pyx_ImportModule("h5py._objects"); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_2, "pdefault", (void (**)(void))&__pyx_f_4h5py_8_objects_pdefault, "hid_t (struct __pyx_obj_4h5py_8_objects_ObjectID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -5859,37 +5905,40 @@ PyMODINIT_FUNC PyInit_h5a(void) - if (__Pyx_ImportFunction(__pyx_t_3, "typewrap", (void (**)(void))&__pyx_f_4h5py_3h5t_typewrap, "struct __pyx_obj_4h5py_3h5t_TypeID *(hid_t, int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_3, "py_create", (void (**)(void))&__pyx_f_4h5py_3h5t_py_create, "struct __pyx_obj_4h5py_3h5t_TypeID *(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_3); __pyx_t_3 = 0; -- __pyx_t_4 = __Pyx_ImportModule("h5py.h5p"); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_4, "pdefault", (void (**)(void))&__pyx_f_4h5py_3h5p_pdefault, "hid_t (struct __pyx_obj_4h5py_3h5p_PropID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_4, "propwrap", (void (**)(void))&__pyx_f_4h5py_3h5p_propwrap, "PyObject *(hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_ImportFunction(__pyx_t_4, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_ImportFunction(__pyx_t_4, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_ImportFunction(__pyx_t_4, "check_numpy_read", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_read, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_ImportFunction(__pyx_t_4, "check_numpy_write", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_write, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_5 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_5, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_5, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_5, "check_numpy_read", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_read, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_5, "check_numpy_write", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_write, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_5, "convert_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_convert_tuple, "int (PyObject *, hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_5, "convert_dims", (void (**)(void))&__pyx_f_4h5py_5utils_convert_dims, "PyObject *(hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_5, "require_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_require_tuple, "int (PyObject *, int, int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_5, "create_numpy_hsize", (void (**)(void))&__pyx_f_4h5py_5utils_create_numpy_hsize, "PyObject *(int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_5, "create_hsize_array", (void (**)(void))&__pyx_f_4h5py_5utils_create_hsize_array, "PyObject *(PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = __Pyx_ImportModule("h5py._proxy"); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_ImportFunction(__pyx_t_5, "attr_rw", (void (**)(void))&__pyx_f_4h5py_6_proxy_attr_rw, "herr_t (hid_t, hid_t, void *, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_5); __pyx_t_5 = 0; -- __pyx_t_6 = __Pyx_ImportModule("h5py._proxy"); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_6, "attr_rw", (void (**)(void))&__pyx_f_4h5py_6_proxy_attr_rw, "herr_t (hid_t, hid_t, void *, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_6, "dset_rw", (void (**)(void))&__pyx_f_4h5py_6_proxy_dset_rw, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- Py_DECREF(__pyx_t_6); __pyx_t_6 = 0; - /*--- Execution code ---*/ - - /* "h5py/h5a.pyx":26 - * from _proxy cimport attr_rw - * -- * import _objects # <<<<<<<<<<<<<< -+ * from h5py import _objects # <<<<<<<<<<<<<< - * - * # Initialization - */ -- __pyx_t_7 = __Pyx_Import(((PyObject *)__pyx_n_s___objects), 0); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_6); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s___objects)); -+ PyList_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_n_s___objects)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s___objects)); -+ __pyx_t_7 = __Pyx_Import(((PyObject *)__pyx_n_s__h5py), ((PyObject *)__pyx_t_6), -1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s___objects, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; -+ __pyx_t_6 = PyObject_GetAttr(__pyx_t_7, __pyx_n_s___objects); -+ if (__pyx_t_6 == NULL) { -+ if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s___objects); -+ if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } -+ __Pyx_GOTREF(__pyx_t_6); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s___objects, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "h5py/h5a.pyx":29 -@@ -5908,7 +5957,7 @@ PyMODINIT_FUNC PyInit_h5a(void) - * SpaceID space not None, *, char* obj_name='.', PropID lapl=None): - * """(ObjectID loc, STRING name, TypeID tid, SpaceID space, **kwds) => AttrID - */ -- __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_create, NULL, __pyx_n_s_28); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_1create, NULL, __pyx_n_s_31); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - if (PyObject_SetAttr(__pyx_m, __pyx_n_s__create, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -@@ -5930,7 +5979,7 @@ PyMODINIT_FUNC PyInit_h5a(void) - * char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE, - * PropID lapl=None): - */ -- __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_1open, NULL, __pyx_n_s_28); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_3open, NULL, __pyx_n_s_31); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - if (PyObject_SetAttr(__pyx_m, __pyx_n_s__open, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -@@ -5942,7 +5991,7 @@ PyMODINIT_FUNC PyInit_h5a(void) - * char* obj_name=".", PropID lapl=None): - * """(ObjectID loc, STRING name, **kwds) => BOOL - */ -- __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_2exists, NULL, __pyx_n_s_28); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_5exists, NULL, __pyx_n_s_31); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - if (PyObject_SetAttr(__pyx_m, __pyx_n_s__exists, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -@@ -5954,7 +6003,7 @@ PyMODINIT_FUNC PyInit_h5a(void) - * char* obj_name='.', PropID lapl=None): - * """(ObjectID loc, STRING name, STRING new_name, **kwds) - */ -- __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_3rename, NULL, __pyx_n_s_28); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_7rename, NULL, __pyx_n_s_31); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - if (PyObject_SetAttr(__pyx_m, __pyx_n_s__rename, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -@@ -5976,7 +6025,7 @@ PyMODINIT_FUNC PyInit_h5a(void) - * char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE, - * PropID lapl=None): - */ -- __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_4delete, NULL, __pyx_n_s_28); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_9delete, NULL, __pyx_n_s_31); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - if (PyObject_SetAttr(__pyx_m, __pyx_n_s__delete, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -@@ -5988,7 +6037,7 @@ PyMODINIT_FUNC PyInit_h5a(void) - * """(ObjectID loc) => INT - * - */ -- __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_5get_num_attrs, NULL, __pyx_n_s_28); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_11get_num_attrs, NULL, __pyx_n_s_31); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_num_attrs, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -@@ -6010,7 +6059,7 @@ PyMODINIT_FUNC PyInit_h5a(void) - * char* obj_name='.', PropID lapl=None, - * int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE): - */ -- __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_6get_info, NULL, __pyx_n_s_28); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_13get_info, NULL, __pyx_n_s_31); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_info, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -@@ -6032,7 +6081,7 @@ PyMODINIT_FUNC PyInit_h5a(void) - * int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE, bint info=0): - * """(ObjectID loc, CALLABLE func, INT index=0, **kwds) => - */ -- __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_7iterate, NULL, __pyx_n_s_28); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_15iterate, NULL, __pyx_n_s_31); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - if (PyObject_SetAttr(__pyx_m, __pyx_n_s__iterate, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -@@ -6056,7 +6105,7 @@ PyMODINIT_FUNC PyInit_h5a(void) - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - if (__pyx_m) { -- __Pyx_AddTraceback("init h5py.h5a"); -+ __Pyx_AddTraceback("init h5py.h5a", __pyx_clineno, __pyx_lineno, __pyx_filename); - Py_DECREF(__pyx_m); __pyx_m = 0; - } else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_ImportError, "init h5py.h5a"); -@@ -6071,12 +6120,34 @@ PyMODINIT_FUNC PyInit_h5a(void) - } - - /* Runtime support code */ -+#if CYTHON_REFNANNY -+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { -+ PyObject *m = NULL, *p = NULL; -+ void *r = NULL; -+ m = PyImport_ImportModule((char *)modname); -+ if (!m) goto end; -+ p = PyObject_GetAttrString(m, (char *)"RefNannyAPI"); -+ if (!p) goto end; -+ r = PyLong_AsVoidPtr(p); -+end: -+ Py_XDECREF(p); -+ Py_XDECREF(m); -+ return (__Pyx_RefNannyAPIStruct *)r; -+} -+#endif /* CYTHON_REFNANNY */ - - static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) { - PyObject *result; - result = PyObject_GetAttr(dict, name); -- if (!result) -- PyErr_SetObject(PyExc_NameError, name); -+ if (!result) { -+ if (dict != __pyx_b) { -+ PyErr_Clear(); -+ result = PyObject_GetAttr(__pyx_b, name); -+ } -+ if (!result) { -+ PyErr_SetObject(PyExc_NameError, name); -+ } -+ } - return result; - } - -@@ -6088,8 +6159,7 @@ static void __Pyx_RaiseArgtupleInvalid( - Py_ssize_t num_found) - { - Py_ssize_t num_expected; -- const char *number, *more_or_less; -- -+ const char *more_or_less; - if (num_found < num_min) { - num_expected = num_min; - more_or_less = "at least"; -@@ -6100,14 +6170,10 @@ static void __Pyx_RaiseArgtupleInvalid( - if (exact) { - more_or_less = "exactly"; - } -- number = (num_expected == 1) ? "" : "s"; - PyErr_Format(PyExc_TypeError, -- #if PY_VERSION_HEX < 0x02050000 -- "%s() takes %s %d positional argument%s (%d given)", -- #else -- "%s() takes %s %zd positional argument%s (%zd given)", -- #endif -- func_name, more_or_less, num_expected, number, num_found); -+ "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)", -+ func_name, more_or_less, num_expected, -+ (num_expected == 1) ? "" : "s", num_found); - } - - static void __Pyx_RaiseDoubleKeywordsError( -@@ -6119,7 +6185,7 @@ static void __Pyx_RaiseDoubleKeywordsErr - "%s() got multiple values for keyword argument '%U'", func_name, kw_name); - #else - "%s() got multiple values for keyword argument '%s'", func_name, -- PyString_AS_STRING(kw_name)); -+ PyString_AsString(kw_name)); - #endif - } - -@@ -6135,55 +6201,77 @@ static int __Pyx_ParseOptionalKeywords( - Py_ssize_t pos = 0; - PyObject*** name; - PyObject*** first_kw_arg = argnames + num_pos_args; -- - while (PyDict_Next(kwds, &pos, &key, &value)) { - name = first_kw_arg; - while (*name && (**name != key)) name++; - if (*name) { - values[name-argnames] = value; -- } else { -- #if PY_MAJOR_VERSION < 3 -- if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key))) { -- #else -- if (unlikely(!PyUnicode_CheckExact(key)) && unlikely(!PyUnicode_Check(key))) { -- #endif -- goto invalid_keyword_type; -- } else { -- for (name = first_kw_arg; *name; name++) { -- #if PY_MAJOR_VERSION >= 3 -- if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) && -- PyUnicode_Compare(**name, key) == 0) break; -- #else -- if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) && -- _PyString_Eq(**name, key)) break; -- #endif -- } -- if (*name) { -+ continue; -+ } -+ name = first_kw_arg; -+ #if PY_MAJOR_VERSION < 3 -+ if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) { -+ while (*name) { -+ if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) -+ && _PyString_Eq(**name, key)) { - values[name-argnames] = value; -- } else { -- /* unexpected keyword found */ -- for (name=argnames; name != first_kw_arg; name++) { -- if (**name == key) goto arg_passed_twice; -- #if PY_MAJOR_VERSION >= 3 -- if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) && -- PyUnicode_Compare(**name, key) == 0) goto arg_passed_twice; -- #else -- if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) && -- _PyString_Eq(**name, key)) goto arg_passed_twice; -- #endif -- } -- if (kwds2) { -- if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; -- } else { -- goto invalid_keyword; -+ break; -+ } -+ name++; -+ } -+ if (*name) continue; -+ else { -+ PyObject*** argname = argnames; -+ while (argname != first_kw_arg) { -+ if ((**argname == key) || ( -+ (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) -+ && _PyString_Eq(**argname, key))) { -+ goto arg_passed_twice; - } -+ argname++; -+ } -+ } -+ } else -+ #endif -+ if (likely(PyUnicode_Check(key))) { -+ while (*name) { -+ int cmp = (**name == key) ? 0 : -+ #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 -+ (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : -+ #endif -+ PyUnicode_Compare(**name, key); -+ if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; -+ if (cmp == 0) { -+ values[name-argnames] = value; -+ break; -+ } -+ name++; -+ } -+ if (*name) continue; -+ else { -+ PyObject*** argname = argnames; -+ while (argname != first_kw_arg) { -+ int cmp = (**argname == key) ? 0 : -+ #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 -+ (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : -+ #endif -+ PyUnicode_Compare(**argname, key); -+ if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; -+ if (cmp == 0) goto arg_passed_twice; -+ argname++; - } - } -+ } else -+ goto invalid_keyword_type; -+ if (kwds2) { -+ if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; -+ } else { -+ goto invalid_keyword; - } - } - return 0; - arg_passed_twice: -- __Pyx_RaiseDoubleKeywordsError(function_name, **name); -+ __Pyx_RaiseDoubleKeywordsError(function_name, key); - goto bad; - invalid_keyword_type: - PyErr_Format(PyExc_TypeError, -@@ -6223,9 +6311,9 @@ static int __Pyx_ArgTypeTest(PyObject *o - } - - static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); -- - tmp_type = tstate->curexc_type; - tmp_value = tstate->curexc_value; - tmp_tb = tstate->curexc_traceback; -@@ -6235,54 +6323,60 @@ static CYTHON_INLINE void __Pyx_ErrResto - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -+#else -+ PyErr_Restore(type, value, tb); -+#endif - } -- - static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyThreadState *tstate = PyThreadState_GET(); - *type = tstate->curexc_type; - *value = tstate->curexc_value; - *tb = tstate->curexc_traceback; -- - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -+#else -+ PyErr_Fetch(type, value, tb); -+#endif - } - -- - #if PY_MAJOR_VERSION < 3 --static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { -+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, -+ CYTHON_UNUSED PyObject *cause) { - Py_XINCREF(type); -- Py_XINCREF(value); -- Py_XINCREF(tb); -- /* First, check the traceback argument, replacing None with NULL. */ -- if (tb == Py_None) { -- Py_DECREF(tb); -- tb = 0; -- } -- else if (tb != NULL && !PyTraceBack_Check(tb)) { -- PyErr_SetString(PyExc_TypeError, -- "raise: arg 3 must be a traceback or None"); -- goto raise_error; -- } -- /* Next, replace a missing value with None */ -- if (value == NULL) { -- value = Py_None; -+ if (!value || value == Py_None) -+ value = NULL; -+ else - Py_INCREF(value); -+ if (!tb || tb == Py_None) -+ tb = NULL; -+ else { -+ Py_INCREF(tb); -+ if (!PyTraceBack_Check(tb)) { -+ PyErr_SetString(PyExc_TypeError, -+ "raise: arg 3 must be a traceback or None"); -+ goto raise_error; -+ } - } - #if PY_VERSION_HEX < 0x02050000 -- if (!PyClass_Check(type)) -+ if (PyClass_Check(type)) { - #else -- if (!PyType_Check(type)) -+ if (PyType_Check(type)) { - #endif -- { -- /* Raising an instance. The value should be a dummy. */ -- if (value != Py_None) { -+#if CYTHON_COMPILING_IN_PYPY -+ if (!value) { -+ Py_INCREF(Py_None); -+ value = Py_None; -+ } -+#endif -+ PyErr_NormalizeException(&type, &value, &tb); -+ } else { -+ if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto raise_error; - } -- /* Normalize to raise , */ -- Py_DECREF(value); - value = type; - #if PY_VERSION_HEX < 0x02050000 - if (PyInstance_Check(type)) { -@@ -6305,7 +6399,6 @@ static void __Pyx_Raise(PyObject *type, - } - #endif - } -- - __Pyx_ErrRestore(type, value, tb); - return; - raise_error: -@@ -6314,10 +6407,9 @@ raise_error: - Py_XDECREF(tb); - return; - } -- - #else /* Python 3+ */ -- --static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { -+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { -+ PyObject* owned_instance = NULL; - if (tb == Py_None) { - tb = 0; - } else if (tb && !PyTraceBack_Check(tb)) { -@@ -6327,7 +6419,6 @@ static void __Pyx_Raise(PyObject *type, - } - if (value == Py_None) - value = 0; -- - if (PyExceptionInstance_Check(type)) { - if (value) { - PyErr_SetString(PyExc_TypeError, -@@ -6336,14 +6427,55 @@ static void __Pyx_Raise(PyObject *type, - } - value = type; - type = (PyObject*) Py_TYPE(value); -- } else if (!PyExceptionClass_Check(type)) { -+ } else if (PyExceptionClass_Check(type)) { -+ PyObject *args; -+ if (!value) -+ args = PyTuple_New(0); -+ else if (PyTuple_Check(value)) { -+ Py_INCREF(value); -+ args = value; -+ } -+ else -+ args = PyTuple_Pack(1, value); -+ if (!args) -+ goto bad; -+ owned_instance = PyEval_CallObject(type, args); -+ Py_DECREF(args); -+ if (!owned_instance) -+ goto bad; -+ value = owned_instance; -+ if (!PyExceptionInstance_Check(value)) { -+ PyErr_Format(PyExc_TypeError, -+ "calling %R should have returned an instance of " -+ "BaseException, not %R", -+ type, Py_TYPE(value)); -+ goto bad; -+ } -+ } else { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto bad; - } -- -+ if (cause && cause != Py_None) { -+ PyObject *fixed_cause; -+ if (PyExceptionClass_Check(cause)) { -+ fixed_cause = PyObject_CallObject(cause, NULL); -+ if (fixed_cause == NULL) -+ goto bad; -+ } -+ else if (PyExceptionInstance_Check(cause)) { -+ fixed_cause = cause; -+ Py_INCREF(fixed_cause); -+ } -+ else { -+ PyErr_SetString(PyExc_TypeError, -+ "exception causes must derive from " -+ "BaseException"); -+ goto bad; -+ } -+ PyException_SetCause(value, fixed_cause); -+ } - PyErr_SetObject(type, value); -- - if (tb) { - PyThreadState *tstate = PyThreadState_GET(); - PyObject* tmp_tb = tstate->curexc_traceback; -@@ -6353,8 +6485,8 @@ static void __Pyx_Raise(PyObject *type, - Py_XDECREF(tmp_tb); - } - } -- - bad: -+ Py_XDECREF(owned_instance); - return; - } - #endif -@@ -6371,9 +6503,9 @@ static CYTHON_INLINE int __Pyx_TypeTest( - return 0; - } - -- - static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) { - PyObject *local_type, *local_value, *local_tb; -+#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); - local_type = tstate->curexc_type; -@@ -6382,19 +6514,27 @@ static int __Pyx_GetException(PyObject * - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -+#else -+ PyErr_Fetch(&local_type, &local_value, &local_tb); -+#endif - PyErr_NormalizeException(&local_type, &local_value, &local_tb); -+#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(tstate->curexc_type)) -+#else -+ if (unlikely(PyErr_Occurred())) -+#endif - goto bad; - #if PY_MAJOR_VERSION >= 3 - if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) - goto bad; - #endif -- *type = local_type; -- *value = local_value; -- *tb = local_tb; - Py_INCREF(local_type); - Py_INCREF(local_value); - Py_INCREF(local_tb); -+ *type = local_type; -+ *value = local_value; -+ *tb = local_tb; -+#if CYTHON_COMPILING_IN_CPYTHON - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; -@@ -6402,10 +6542,13 @@ static int __Pyx_GetException(PyObject * - tstate->exc_value = local_value; - tstate->exc_traceback = local_tb; - /* Make sure tstate is in a consistent state when we XDECREF -- these objects (XDECREF may run arbitrary code). */ -+ these objects (DECREF may run arbitrary code). */ - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -+#else -+ PyErr_SetExcInfo(local_type, local_value, local_tb); -+#endif - return 0; - bad: - *type = 0; -@@ -6417,8 +6560,33 @@ bad: - return -1; - } - -+static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc) { -+ PyTypeObject* type = Py_TYPE(obj); -+ while (type && type->tp_dealloc != current_tp_dealloc) -+ type = type->tp_base; -+ if (type && type->tp_base) -+ type->tp_base->tp_dealloc(obj); -+} -+ -+static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse) { -+ PyTypeObject* type = Py_TYPE(obj); -+ while (type && type->tp_traverse != current_tp_traverse) -+ type = type->tp_base; -+ if (type && type->tp_base && type->tp_base->tp_traverse) -+ return type->tp_base->tp_traverse(obj, v, a); -+ return 0; -+} -+ -+static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) { -+ PyTypeObject* type = Py_TYPE(obj); -+ while (type && type->tp_clear != current_tp_clear) -+ type = type->tp_base; -+ if (type && type->tp_base && type->tp_base->tp_clear) -+ type->tp_base->tp_clear(obj); -+} - - static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyThreadState *tstate = PyThreadState_GET(); - *type = tstate->exc_type; - *value = tstate->exc_value; -@@ -6426,9 +6594,12 @@ static CYTHON_INLINE void __Pyx_Exceptio - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); -+#else -+ PyErr_GetExcInfo(type, value, tb); -+#endif - } -- - static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); - tmp_type = tstate->exc_type; -@@ -6440,9 +6611,12 @@ static void __Pyx_ExceptionReset(PyObjec - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -+#else -+ PyErr_SetExcInfo(type, value, tb); -+#endif - } - --static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) { -+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level) { - PyObject *py_import = 0; - PyObject *empty_list = 0; - PyObject *module = 0; -@@ -6466,8 +6640,44 @@ static PyObject *__Pyx_Import(PyObject * - empty_dict = PyDict_New(); - if (!empty_dict) - goto bad; -+ #if PY_VERSION_HEX >= 0x02050000 -+ { -+ #if PY_MAJOR_VERSION >= 3 -+ if (level == -1) { -+ if (strchr(__Pyx_MODULE_NAME, '.')) { -+ /* try package relative import first */ -+ PyObject *py_level = PyInt_FromLong(1); -+ if (!py_level) -+ goto bad; -+ module = PyObject_CallFunctionObjArgs(py_import, -+ name, global_dict, empty_dict, list, py_level, NULL); -+ Py_DECREF(py_level); -+ if (!module) { -+ if (!PyErr_ExceptionMatches(PyExc_ImportError)) -+ goto bad; -+ PyErr_Clear(); -+ } -+ } -+ level = 0; /* try absolute import on failure */ -+ } -+ #endif -+ if (!module) { -+ PyObject *py_level = PyInt_FromLong(level); -+ if (!py_level) -+ goto bad; -+ module = PyObject_CallFunctionObjArgs(py_import, -+ name, global_dict, empty_dict, list, py_level, NULL); -+ Py_DECREF(py_level); -+ } -+ } -+ #else -+ if (level>0) { -+ PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4."); -+ goto bad; -+ } - module = PyObject_CallFunctionObjArgs(py_import, - name, global_dict, empty_dict, list, NULL); -+ #endif - bad: - Py_XDECREF(empty_list); - Py_XDECREF(py_import); -@@ -6475,6 +6685,15 @@ bad: - return module; - } - -+static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name) { -+#if PY_MAJOR_VERSION < 3 -+ PyErr_Format(PyExc_ImportError, "cannot import name %.230s", -+ PyString_AsString(name)); -+#else -+ PyErr_Format(PyExc_ImportError, "cannot import name %S", name); -+#endif -+} -+ - static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) { - const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0; - const int is_unsigned = const_zero < neg_one; -@@ -6495,7 +6714,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyI - } else { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; -- return _PyLong_FromByteArray(bytes, sizeof(hid_t), -+ return _PyLong_FromByteArray(bytes, sizeof(hid_t), - little, !is_unsigned); - } - } -@@ -6520,7 +6739,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyI - } else { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; -- return _PyLong_FromByteArray(bytes, sizeof(herr_t), -+ return _PyLong_FromByteArray(bytes, sizeof(herr_t), - little, !is_unsigned); - } - } -@@ -6545,7 +6764,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyI - } else { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; -- return _PyLong_FromByteArray(bytes, sizeof(hsize_t), -+ return _PyLong_FromByteArray(bytes, sizeof(hsize_t), - little, !is_unsigned); - } - } -@@ -6761,9 +6980,9 @@ static CYTHON_INLINE unsigned long __Pyx - "can't convert negative value to unsigned long"); - return (unsigned long)-1; - } -- return PyLong_AsUnsignedLong(x); -+ return (unsigned long)PyLong_AsUnsignedLong(x); - } else { -- return PyLong_AsLong(x); -+ return (unsigned long)PyLong_AsLong(x); - } - } else { - unsigned long val; -@@ -6796,9 +7015,9 @@ static CYTHON_INLINE unsigned PY_LONG_LO - "can't convert negative value to unsigned PY_LONG_LONG"); - return (unsigned PY_LONG_LONG)-1; - } -- return PyLong_AsUnsignedLongLong(x); -+ return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); - } else { -- return PyLong_AsLongLong(x); -+ return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x); - } - } else { - unsigned PY_LONG_LONG val; -@@ -6831,9 +7050,9 @@ static CYTHON_INLINE long __Pyx_PyInt_As - "can't convert negative value to long"); - return (long)-1; - } -- return PyLong_AsUnsignedLong(x); -+ return (long)PyLong_AsUnsignedLong(x); - } else { -- return PyLong_AsLong(x); -+ return (long)PyLong_AsLong(x); - } - } else { - long val; -@@ -6866,9 +7085,9 @@ static CYTHON_INLINE PY_LONG_LONG __Pyx_ - "can't convert negative value to PY_LONG_LONG"); - return (PY_LONG_LONG)-1; - } -- return PyLong_AsUnsignedLongLong(x); -+ return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); - } else { -- return PyLong_AsLongLong(x); -+ return (PY_LONG_LONG)PyLong_AsLongLong(x); - } - } else { - PY_LONG_LONG val; -@@ -6901,9 +7120,9 @@ static CYTHON_INLINE signed long __Pyx_P - "can't convert negative value to signed long"); - return (signed long)-1; - } -- return PyLong_AsUnsignedLong(x); -+ return (signed long)PyLong_AsUnsignedLong(x); - } else { -- return PyLong_AsLong(x); -+ return (signed long)PyLong_AsLong(x); - } - } else { - signed long val; -@@ -6936,9 +7155,9 @@ static CYTHON_INLINE signed PY_LONG_LONG - "can't convert negative value to signed PY_LONG_LONG"); - return (signed PY_LONG_LONG)-1; - } -- return PyLong_AsUnsignedLongLong(x); -+ return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); - } else { -- return PyLong_AsLongLong(x); -+ return (signed PY_LONG_LONG)PyLong_AsLongLong(x); - } - } else { - signed PY_LONG_LONG val; -@@ -6950,24 +7169,55 @@ static CYTHON_INLINE signed PY_LONG_LONG - } - } - -+static int __Pyx_check_binary_version(void) { -+ char ctversion[4], rtversion[4]; -+ PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION); -+ PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion()); -+ if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) { -+ char message[200]; -+ PyOS_snprintf(message, sizeof(message), -+ "compiletime version %s of module '%.100s' " -+ "does not match runtime version %s", -+ ctversion, __Pyx_MODULE_NAME, rtversion); -+ #if PY_VERSION_HEX < 0x02050000 -+ return PyErr_Warn(NULL, message); -+ #else -+ return PyErr_WarnEx(NULL, message, 1); -+ #endif -+ } -+ return 0; -+} -+ -+#ifndef __PYX_HAVE_RT_ImportModule -+#define __PYX_HAVE_RT_ImportModule -+static PyObject *__Pyx_ImportModule(const char *name) { -+ PyObject *py_name = 0; -+ PyObject *py_module = 0; -+ py_name = __Pyx_PyIdentifier_FromString(name); -+ if (!py_name) -+ goto bad; -+ py_module = PyImport_Import(py_name); -+ Py_DECREF(py_name); -+ return py_module; -+bad: -+ Py_XDECREF(py_name); -+ return 0; -+} -+#endif -+ - #ifndef __PYX_HAVE_RT_ImportType - #define __PYX_HAVE_RT_ImportType - static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, -- long size, int strict) -+ size_t size, int strict) - { - PyObject *py_module = 0; - PyObject *result = 0; - PyObject *py_name = 0; - char warning[200]; -- - py_module = __Pyx_ImportModule(module_name); - if (!py_module) - goto bad; -- #if PY_MAJOR_VERSION < 3 -- py_name = PyString_FromString(class_name); -- #else -- py_name = PyUnicode_FromString(class_name); -- #endif -+ py_name = __Pyx_PyIdentifier_FromString(class_name); - if (!py_name) - goto bad; - result = PyObject_GetAttr(py_module, py_name); -@@ -6983,17 +7233,17 @@ static PyTypeObject *__Pyx_ImportType(co - module_name, class_name); - goto bad; - } -- if (!strict && ((PyTypeObject *)result)->tp_basicsize > size) { -+ if (!strict && (size_t)((PyTypeObject *)result)->tp_basicsize > size) { - PyOS_snprintf(warning, sizeof(warning), - "%s.%s size changed, may indicate binary incompatibility", - module_name, class_name); - #if PY_VERSION_HEX < 0x02050000 -- PyErr_Warn(NULL, warning); -+ if (PyErr_Warn(NULL, warning) < 0) goto bad; - #else -- PyErr_WarnEx(NULL, warning, 0); -+ if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; - #endif - } -- else if (((PyTypeObject *)result)->tp_basicsize != size) { -+ else if ((size_t)((PyTypeObject *)result)->tp_basicsize != size) { - PyErr_Format(PyExc_ValueError, - "%s.%s has the wrong size, try recompiling", - module_name, class_name); -@@ -7003,29 +7253,7 @@ static PyTypeObject *__Pyx_ImportType(co - bad: - Py_XDECREF(py_module); - Py_XDECREF(result); -- return 0; --} --#endif -- --#ifndef __PYX_HAVE_RT_ImportModule --#define __PYX_HAVE_RT_ImportModule --static PyObject *__Pyx_ImportModule(const char *name) { -- PyObject *py_name = 0; -- PyObject *py_module = 0; -- -- #if PY_MAJOR_VERSION < 3 -- py_name = PyString_FromString(name); -- #else -- py_name = PyUnicode_FromString(name); -- #endif -- if (!py_name) -- goto bad; -- py_module = PyImport_Import(py_name); -- Py_DECREF(py_name); -- return py_module; --bad: -- Py_XDECREF(py_name); -- return 0; -+ return NULL; - } - #endif - -@@ -7057,7 +7285,6 @@ static int __Pyx_ImportFunction(PyObject - void (*fp)(void); - void *p; - } tmp; -- - d = PyObject_GetAttrString(module, (char *)"__pyx_capi__"); - if (!d) - goto bad; -@@ -7068,7 +7295,7 @@ static int __Pyx_ImportFunction(PyObject - PyModule_GetName(module), funcname); - goto bad; - } --#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0) -+#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0) - if (!PyCapsule_IsValid(cobj, sig)) { - PyErr_Format(PyExc_TypeError, - "C function %s.%s has wrong signature (expected %s, got %s)", -@@ -7102,28 +7329,105 @@ bad: - } - #endif - -+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { -+ int start = 0, mid = 0, end = count - 1; -+ if (end >= 0 && code_line > entries[end].code_line) { -+ return count; -+ } -+ while (start < end) { -+ mid = (start + end) / 2; -+ if (code_line < entries[mid].code_line) { -+ end = mid; -+ } else if (code_line > entries[mid].code_line) { -+ start = mid + 1; -+ } else { -+ return mid; -+ } -+ } -+ if (code_line <= entries[mid].code_line) { -+ return mid; -+ } else { -+ return mid + 1; -+ } -+} -+static PyCodeObject *__pyx_find_code_object(int code_line) { -+ PyCodeObject* code_object; -+ int pos; -+ if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { -+ return NULL; -+ } -+ pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); -+ if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { -+ return NULL; -+ } -+ code_object = __pyx_code_cache.entries[pos].code_object; -+ Py_INCREF(code_object); -+ return code_object; -+} -+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { -+ int pos, i; -+ __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; -+ if (unlikely(!code_line)) { -+ return; -+ } -+ if (unlikely(!entries)) { -+ entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); -+ if (likely(entries)) { -+ __pyx_code_cache.entries = entries; -+ __pyx_code_cache.max_count = 64; -+ __pyx_code_cache.count = 1; -+ entries[0].code_line = code_line; -+ entries[0].code_object = code_object; -+ Py_INCREF(code_object); -+ } -+ return; -+ } -+ pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); -+ if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { -+ PyCodeObject* tmp = entries[pos].code_object; -+ entries[pos].code_object = code_object; -+ Py_DECREF(tmp); -+ return; -+ } -+ if (__pyx_code_cache.count == __pyx_code_cache.max_count) { -+ int new_max = __pyx_code_cache.max_count + 64; -+ entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( -+ __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry)); -+ if (unlikely(!entries)) { -+ return; -+ } -+ __pyx_code_cache.entries = entries; -+ __pyx_code_cache.max_count = new_max; -+ } -+ for (i=__pyx_code_cache.count; i>pos; i--) { -+ entries[i] = entries[i-1]; -+ } -+ entries[pos].code_line = code_line; -+ entries[pos].code_object = code_object; -+ __pyx_code_cache.count++; -+ Py_INCREF(code_object); -+} -+ - #include "compile.h" - #include "frameobject.h" - #include "traceback.h" -- --static void __Pyx_AddTraceback(const char *funcname) { -+static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( -+ const char *funcname, int c_line, -+ int py_line, const char *filename) { -+ PyCodeObject *py_code = 0; - PyObject *py_srcfile = 0; - PyObject *py_funcname = 0; -- PyObject *py_globals = 0; -- PyCodeObject *py_code = 0; -- PyFrameObject *py_frame = 0; -- - #if PY_MAJOR_VERSION < 3 -- py_srcfile = PyString_FromString(__pyx_filename); -+ py_srcfile = PyString_FromString(filename); - #else -- py_srcfile = PyUnicode_FromString(__pyx_filename); -+ py_srcfile = PyUnicode_FromString(filename); - #endif - if (!py_srcfile) goto bad; -- if (__pyx_clineno) { -+ if (c_line) { - #if PY_MAJOR_VERSION < 3 -- py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno); -+ py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - #else -- py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno); -+ py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - #endif - } - else { -@@ -7134,28 +7438,45 @@ static void __Pyx_AddTraceback(const cha - #endif - } - if (!py_funcname) goto bad; -- py_globals = PyModule_GetDict(__pyx_m); -- if (!py_globals) goto bad; -- py_code = PyCode_New( -+ py_code = __Pyx_PyCode_New( - 0, /*int argcount,*/ -- #if PY_MAJOR_VERSION >= 3 - 0, /*int kwonlyargcount,*/ -- #endif - 0, /*int nlocals,*/ - 0, /*int stacksize,*/ - 0, /*int flags,*/ - __pyx_empty_bytes, /*PyObject *code,*/ -- __pyx_empty_tuple, /*PyObject *consts,*/ -- __pyx_empty_tuple, /*PyObject *names,*/ -- __pyx_empty_tuple, /*PyObject *varnames,*/ -- __pyx_empty_tuple, /*PyObject *freevars,*/ -- __pyx_empty_tuple, /*PyObject *cellvars,*/ -+ __pyx_empty_tuple, /*PyObject *consts,*/ -+ __pyx_empty_tuple, /*PyObject *names,*/ -+ __pyx_empty_tuple, /*PyObject *varnames,*/ -+ __pyx_empty_tuple, /*PyObject *freevars,*/ -+ __pyx_empty_tuple, /*PyObject *cellvars,*/ - py_srcfile, /*PyObject *filename,*/ - py_funcname, /*PyObject *name,*/ -- __pyx_lineno, /*int firstlineno,*/ -+ py_line, /*int firstlineno,*/ - __pyx_empty_bytes /*PyObject *lnotab*/ - ); -- if (!py_code) goto bad; -+ Py_DECREF(py_srcfile); -+ Py_DECREF(py_funcname); -+ return py_code; -+bad: -+ Py_XDECREF(py_srcfile); -+ Py_XDECREF(py_funcname); -+ return NULL; -+} -+static void __Pyx_AddTraceback(const char *funcname, int c_line, -+ int py_line, const char *filename) { -+ PyCodeObject *py_code = 0; -+ PyObject *py_globals = 0; -+ PyFrameObject *py_frame = 0; -+ py_code = __pyx_find_code_object(c_line ? c_line : py_line); -+ if (!py_code) { -+ py_code = __Pyx_CreateCodeObjectForTraceback( -+ funcname, c_line, py_line, filename); -+ if (!py_code) goto bad; -+ __pyx_insert_code_object(c_line ? c_line : py_line, py_code); -+ } -+ py_globals = PyModule_GetDict(__pyx_m); -+ if (!py_globals) goto bad; - py_frame = PyFrame_New( - PyThreadState_GET(), /*PyThreadState *tstate,*/ - py_code, /*PyCodeObject *code,*/ -@@ -7163,11 +7484,9 @@ static void __Pyx_AddTraceback(const cha - 0 /*PyObject *locals*/ - ); - if (!py_frame) goto bad; -- py_frame->f_lineno = __pyx_lineno; -+ py_frame->f_lineno = py_line; - PyTraceBack_Here(py_frame); - bad: -- Py_XDECREF(py_srcfile); -- Py_XDECREF(py_funcname); - Py_XDECREF(py_code); - Py_XDECREF(py_frame); - } -@@ -7202,6 +7521,7 @@ static int __Pyx_InitStrings(__Pyx_Strin - return 0; - } - -+ - /* Type Conversion Functions */ - - static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { -diff -rupN h5py-2.1.0.orig/h5py/h5a.pyx h5py-2.1.0/h5py/h5a.pyx ---- h5py-2.1.0.orig/h5py/h5a.pyx 2012-09-20 03:04:52.000000000 +0200 -+++ h5py-2.1.0/h5py/h5a.pyx 2012-11-23 14:17:42.000000000 +0100 -@@ -23,7 +23,7 @@ from numpy cimport import_array, ndarray - from utils cimport check_numpy_read, check_numpy_write, emalloc, efree - from _proxy cimport attr_rw - --import _objects -+from h5py import _objects - - # Initialization - import_array() -diff -rupN h5py-2.1.0.orig/h5py/h5d.c h5py-2.1.0/h5py/h5d.c ---- h5py-2.1.0.orig/h5py/h5d.c 2012-10-02 16:17:42.000000000 +0200 -+++ h5py-2.1.0/h5py/h5d.c 2012-11-23 14:17:43.000000000 +0100 -@@ -1,16 +1,16 @@ --/* Generated by Cython 0.14.1 on Tue Oct 2 08:17:42 2012 */ -+/* Generated by Cython 0.17.1 on Fri Nov 23 14:08:48 2012 */ - - #define PY_SSIZE_T_CLEAN - #include "Python.h" - #ifndef Py_PYTHON_H - #error Python headers needed to compile C extensions, please install development version of Python. -+#elif PY_VERSION_HEX < 0x02040000 -+ #error Cython requires Python 2.4+. - #else -- - #include /* For offsetof */ - #ifndef offsetof - #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) - #endif -- - #if !defined(WIN32) && !defined(MS_WINDOWS) - #ifndef __stdcall - #define __stdcall -@@ -22,36 +22,44 @@ - #define __fastcall - #endif - #endif -- - #ifndef DL_IMPORT - #define DL_IMPORT(t) t - #endif - #ifndef DL_EXPORT - #define DL_EXPORT(t) t - #endif -- - #ifndef PY_LONG_LONG - #define PY_LONG_LONG LONG_LONG - #endif -- --#if PY_VERSION_HEX < 0x02040000 -- #define METH_COEXIST 0 -- #define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type) -- #define PyDict_Contains(d,o) PySequence_Contains(d,o) -+#ifndef Py_HUGE_VAL -+ #define Py_HUGE_VAL HUGE_VAL -+#endif -+#ifdef PYPY_VERSION -+#define CYTHON_COMPILING_IN_PYPY 1 -+#define CYTHON_COMPILING_IN_CPYTHON 0 -+#else -+#define CYTHON_COMPILING_IN_PYPY 0 -+#define CYTHON_COMPILING_IN_CPYTHON 1 - #endif -- - #if PY_VERSION_HEX < 0x02050000 - typedef int Py_ssize_t; - #define PY_SSIZE_T_MAX INT_MAX - #define PY_SSIZE_T_MIN INT_MIN - #define PY_FORMAT_SIZE_T "" -+ #define CYTHON_FORMAT_SSIZE_T "" - #define PyInt_FromSsize_t(z) PyInt_FromLong(z) -- #define PyInt_AsSsize_t(o) PyInt_AsLong(o) -- #define PyNumber_Index(o) PyNumber_Int(o) -- #define PyIndex_Check(o) PyNumber_Check(o) -+ #define PyInt_AsSsize_t(o) __Pyx_PyInt_AsInt(o) -+ #define PyNumber_Index(o) ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \ -+ (PyErr_Format(PyExc_TypeError, \ -+ "expected index value, got %.200s", Py_TYPE(o)->tp_name), \ -+ (PyObject*)0)) -+ #define PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && !PyComplex_Check(o)) - #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message) -+ #define __PYX_BUILD_PY_SSIZE_T "i" -+#else -+ #define __PYX_BUILD_PY_SSIZE_T "n" -+ #define CYTHON_FORMAT_SSIZE_T "z" - #endif -- - #if PY_VERSION_HEX < 0x02060000 - #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt) - #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type) -@@ -59,7 +67,6 @@ - #define PyVarObject_HEAD_INIT(type, size) \ - PyObject_HEAD_INIT(type) size, - #define PyType_Modified(t) -- - typedef struct { - void *buf; - PyObject *obj; -@@ -73,7 +80,6 @@ - Py_ssize_t *suboffsets; - void *internal; - } Py_buffer; -- - #define PyBUF_SIMPLE 0 - #define PyBUF_WRITABLE 0x0001 - #define PyBUF_FORMAT 0x0004 -@@ -83,24 +89,44 @@ - #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES) - #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES) - #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES) -- -+ #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE) -+ #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE) -+ typedef int (*getbufferproc)(PyObject *, Py_buffer *, int); -+ typedef void (*releasebufferproc)(PyObject *, Py_buffer *); - #endif -- - #if PY_MAJOR_VERSION < 3 - #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" -+ #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \ -+ PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) - #else - #define __Pyx_BUILTIN_MODULE_NAME "builtins" -+ #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \ -+ PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -+#endif -+#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6 -+ #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict") - #endif -- - #if PY_MAJOR_VERSION >= 3 - #define Py_TPFLAGS_CHECKTYPES 0 - #define Py_TPFLAGS_HAVE_INDEX 0 - #endif -- - #if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3) - #define Py_TPFLAGS_HAVE_NEWBUFFER 0 - #endif -- -+#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) -+ #define CYTHON_PEP393_ENABLED 1 -+ #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ? \ -+ 0 : _PyUnicode_Ready((PyObject *)(op))) -+ #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) -+ #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) -+ #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) -+#else -+ #define CYTHON_PEP393_ENABLED 0 -+ #define __Pyx_PyUnicode_READY(op) (0) -+ #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) -+ #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) -+ #define __Pyx_PyUnicode_READ(k, d, i) ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i])) -+#endif - #if PY_MAJOR_VERSION >= 3 - #define PyBaseString_Type PyUnicode_Type - #define PyStringObject PyUnicodeObject -@@ -108,7 +134,6 @@ - #define PyString_Check PyUnicode_Check - #define PyString_CheckExact PyUnicode_CheckExact - #endif -- - #if PY_VERSION_HEX < 0x02060000 - #define PyBytesObject PyStringObject - #define PyBytes_Type PyString_Type -@@ -127,7 +152,6 @@ - #define PyBytes_Concat PyString_Concat - #define PyBytes_ConcatAndDel PyString_ConcatAndDel - #endif -- - #if PY_VERSION_HEX < 0x02060000 - #define PySet_Check(obj) PyObject_TypeCheck(obj, &PySet_Type) - #define PyFrozenSet_Check(obj) PyObject_TypeCheck(obj, &PyFrozenSet_Type) -@@ -135,9 +159,7 @@ - #ifndef PySet_CheckExact - #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) - #endif -- - #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) -- - #if PY_MAJOR_VERSION >= 3 - #define PyIntObject PyLongObject - #define PyInt_Type PyLong_Type -@@ -154,20 +176,17 @@ - #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask - #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask - #endif -- - #if PY_MAJOR_VERSION >= 3 - #define PyBoolObject PyLongObject - #endif -- -- --#if PY_MAJOR_VERSION >= 3 -- #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) -- #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) -+#if PY_VERSION_HEX < 0x03020000 -+ typedef long Py_hash_t; -+ #define __Pyx_PyInt_FromHash_t PyInt_FromLong -+ #define __Pyx_PyInt_AsHash_t PyInt_AsLong - #else -- #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) -- #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -+ #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t -+ #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t - #endif -- - #if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300) - #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b) - #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value) -@@ -186,11 +205,9 @@ - (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \ - (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1))) - #endif -- - #if PY_MAJOR_VERSION >= 3 - #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func)) - #endif -- - #if PY_VERSION_HEX < 0x02050000 - #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),((char *)(n))) - #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a)) -@@ -200,7 +217,6 @@ - #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a)) - #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),(n)) - #endif -- - #if PY_VERSION_HEX < 0x02050000 - #define __Pyx_NAMESTR(n) ((char *)(n)) - #define __Pyx_DOCSTR(n) ((char *)(n)) -@@ -209,16 +225,28 @@ - #define __Pyx_DOCSTR(n) (n) - #endif - --#ifdef __cplusplus --#define __PYX_EXTERN_C extern "C" -+ -+#if PY_MAJOR_VERSION >= 3 -+ #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) -+ #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) - #else --#define __PYX_EXTERN_C extern -+ #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) -+ #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -+#endif -+ -+#ifndef __PYX_EXTERN_C -+ #ifdef __cplusplus -+ #define __PYX_EXTERN_C extern "C" -+ #else -+ #define __PYX_EXTERN_C extern -+ #endif - #endif - - #if defined(WIN32) || defined(MS_WINDOWS) - #define _USE_MATH_DEFINES - #endif - #include -+#define __PYX_HAVE__h5py__h5d - #define __PYX_HAVE_API__h5py__h5d - #include "stdlib.h" - #include "string.h" -@@ -230,6 +258,9 @@ - #include "hdf5.h" - #include "hdf5_hl.h" - #include "numpy/arrayobject.h" -+#ifdef _OPENMP -+#include -+#endif /* _OPENMP */ - - #ifdef PYREX_WITHOUT_ASSERTIONS - #define CYTHON_WITHOUT_ASSERTIONS -@@ -257,7 +288,7 @@ - # else - # define CYTHON_UNUSED - # endif --# elif defined(__ICC) || defined(__INTEL_COMPILER) -+# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) - # define CYTHON_UNUSED __attribute__ ((__unused__)) - # else - # define CYTHON_UNUSED -@@ -272,6 +303,7 @@ typedef struct {PyObject **p; char *s; c - #define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s) - #define __Pyx_PyBytes_AsUString(s) ((unsigned char*) PyBytes_AsString(s)) - -+#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None) - #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False)) - static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); - static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); -@@ -280,21 +312,25 @@ static CYTHON_INLINE Py_ssize_t __Pyx_Py - static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); - static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*); - -+#if CYTHON_COMPILING_IN_CPYTHON - #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) -- -+#else -+#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) -+#endif -+#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) - - #ifdef __GNUC__ --/* Test for GCC > 2.95 */ --#if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) --#define likely(x) __builtin_expect(!!(x), 1) --#define unlikely(x) __builtin_expect(!!(x), 0) --#else /* __GNUC__ > 2 ... */ --#define likely(x) (x) --#define unlikely(x) (x) --#endif /* __GNUC__ > 2 ... */ -+ /* Test for GCC > 2.95 */ -+ #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) -+ #define likely(x) __builtin_expect(!!(x), 1) -+ #define unlikely(x) __builtin_expect(!!(x), 0) -+ #else /* __GNUC__ > 2 ... */ -+ #define likely(x) (x) -+ #define unlikely(x) (x) -+ #endif /* __GNUC__ > 2 ... */ - #else /* __GNUC__ */ --#define likely(x) (x) --#define unlikely(x) (x) -+ #define likely(x) (x) -+ #define unlikely(x) (x) - #endif /* __GNUC__ */ - - static PyObject *__pyx_m; -@@ -315,7 +351,38 @@ static const char *__pyx_f[] = { - "h5p.pxd", - }; - --/* Type declarations */ -+/*--- Type declarations ---*/ -+struct __pyx_obj_4h5py_8_objects_ObjectID; -+struct __pyx_obj_4h5py_3h5p_PropID; -+struct __pyx_obj_4h5py_3h5p_PropInstanceID; -+struct __pyx_obj_4h5py_3h5p_PropFAID; -+struct __pyx_obj_4h5py_3h5t_TypeID; -+struct __pyx_obj_4h5py_3h5t_TypeBitfieldID; -+struct __pyx_obj_4h5py_3h5p_PropCreateID; -+struct __pyx_obj_4h5py_3h5p_PropFCID; -+struct __pyx_obj_4h5py_3h5p_PropClassID; -+struct __pyx_obj_4h5py_3h5t_TypeCompositeID; -+struct __pyx_obj_4h5py_3h5t_TypeCompoundID; -+struct __pyx_obj_4h5py_3h5t_TypeVlenID; -+struct __pyx_obj_4h5py_3h5p_PropLCID; -+struct __pyx_obj_4h5py_3h5p_PropGCID; -+struct __pyx_obj_4h5py_3h5p_PropDCID; -+struct __pyx_obj_4h5py_3h5t_TypeTimeID; -+struct __pyx_obj_4h5py_3h5t_TypeArrayID; -+struct __pyx_obj_4h5py_3h5t_TypeAtomicID; -+struct __pyx_obj_4h5py_3h5t_TypeFloatID; -+struct __pyx_obj_4h5py_3h5t_TypeStringID; -+struct __pyx_obj_4h5py_3h5t_TypeOpaqueID; -+struct __pyx_obj_4h5py_3h5t_TypeEnumID; -+struct __pyx_obj_4h5py_3h5p_PropCopyID; -+struct __pyx_obj_4h5py_3h5t_TypeIntegerID; -+struct __pyx_obj_4h5py_3h5t_TypeReferenceID; -+struct __pyx_obj_4h5py_3h5p_PropDXID; -+struct __pyx_obj_4h5py_3h5d_DatasetID; -+struct __pyx_obj_4h5py_3h5s_SpaceID; -+struct __pyx_obj_4h5py_3h5p_PropLAID; -+struct __pyx_opt_args_4h5py_5utils_check_numpy_read; -+struct __pyx_opt_args_4h5py_5utils_check_numpy_write; - - /* "utils.pxd":20 - * cdef void efree(void* ptr) -@@ -324,7 +391,6 @@ static const char *__pyx_f[] = { - * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1 - * - */ -- - struct __pyx_opt_args_4h5py_5utils_check_numpy_read { - int __pyx_n; - hid_t space_id; -@@ -337,11 +403,11 @@ struct __pyx_opt_args_4h5py_5utils_check - * - * cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1 - */ -- - struct __pyx_opt_args_4h5py_5utils_check_numpy_write { - int __pyx_n; - hid_t space_id; - }; -+struct __pyx_opt_args_4h5py_3h5t_py_create; - - /* "h5t.pxd":72 - * -@@ -350,7 +416,6 @@ struct __pyx_opt_args_4h5py_5utils_check - * - * - */ -- - struct __pyx_opt_args_4h5py_3h5t_py_create { - int __pyx_n; - int logical; -@@ -363,7 +428,6 @@ struct __pyx_opt_args_4h5py_3h5t_py_crea - * - * cdef object __weakref__ - */ -- - struct __pyx_obj_4h5py_8_objects_ObjectID { - PyObject_HEAD - PyObject *__weakref__; -@@ -372,6 +436,7 @@ struct __pyx_obj_4h5py_8_objects_ObjectI - PyObject *_hash; - }; - -+ - /* "h5p.pxd":23 - * # --- Base classes --- - * -@@ -379,11 +444,11 @@ struct __pyx_obj_4h5py_8_objects_ObjectI - * """ Base class for all property lists """ - * pass - */ -- - struct __pyx_obj_4h5py_3h5p_PropID { - struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base; - }; - -+ - /* "h5p.pxd":33 - * pass - * -@@ -391,11 +456,11 @@ struct __pyx_obj_4h5py_3h5p_PropID { - * """ Represents an instance of a property list class (i.e. an actual list - * which can be passed on to other API functions). - */ -- - struct __pyx_obj_4h5py_3h5p_PropInstanceID { - struct __pyx_obj_4h5py_3h5p_PropID __pyx_base; - }; - -+ - /* "h5p.pxd":62 - * # --- Object access --- - * -@@ -403,11 +468,11 @@ struct __pyx_obj_4h5py_3h5p_PropInstance - * """ File access property list """ - * pass - */ -- - struct __pyx_obj_4h5py_3h5p_PropFAID { - struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; - }; - -+ - /* "h5t.pxd":17 - * from _objects cimport class ObjectID - * -@@ -415,12 +480,12 @@ struct __pyx_obj_4h5py_3h5p_PropFAID { - * - * cdef object py_dtype(self) - */ -- - struct __pyx_obj_4h5py_3h5t_TypeID { - struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base; - struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtab; - }; - -+ - /* "h5t.pxd":40 - * pass - * -@@ -428,11 +493,11 @@ struct __pyx_obj_4h5py_3h5t_TypeID { - * pass - * - */ -- - struct __pyx_obj_4h5py_3h5t_TypeBitfieldID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - -+ - /* "h5p.pxd":39 - * pass - * -@@ -440,11 +505,11 @@ struct __pyx_obj_4h5py_3h5t_TypeBitfield - * """ Base class for all object creation lists. - * - */ -- - struct __pyx_obj_4h5py_3h5p_PropCreateID { - struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; - }; - -+ - /* "h5p.pxd":55 - * pass - * -@@ -452,11 +517,11 @@ struct __pyx_obj_4h5py_3h5p_PropCreateID - * """ File creation property list """ - * pass - */ -- - struct __pyx_obj_4h5py_3h5p_PropFCID { - struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; - }; - -+ - /* "h5p.pxd":27 - * pass - * -@@ -464,11 +529,11 @@ struct __pyx_obj_4h5py_3h5p_PropFCID { - * """ Represents an HDF5 property list class. These can be either (locked) - * library-defined classes or user-created classes. - */ -- - struct __pyx_obj_4h5py_3h5p_PropClassID { - struct __pyx_obj_4h5py_3h5p_PropID __pyx_base; - }; - -+ - /* "h5t.pxd":59 - * # --- Enums & compound types --- - * -@@ -476,11 +541,11 @@ struct __pyx_obj_4h5py_3h5p_PropClassID - * pass - * - */ -- - struct __pyx_obj_4h5py_3h5t_TypeCompositeID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - -+ - /* "h5t.pxd":66 - * cdef int enum_convert(self, long long *buf, int reverse) except -1 - * -@@ -488,11 +553,11 @@ struct __pyx_obj_4h5py_3h5t_TypeComposit - * pass - * - */ -- - struct __pyx_obj_4h5py_3h5t_TypeCompoundID { - struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base; - }; - -+ - /* "h5t.pxd":33 - * pass - * -@@ -500,11 +565,11 @@ struct __pyx_obj_4h5py_3h5t_TypeCompound - * # Non-string vlens - * pass - */ -- - struct __pyx_obj_4h5py_3h5t_TypeVlenID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - -+ - /* "h5p.pxd":73 - * # --- New in 1.8 --- - * -@@ -512,11 +577,11 @@ struct __pyx_obj_4h5py_3h5t_TypeVlenID { - * """ Link creation property list """ - * pass - */ -- - struct __pyx_obj_4h5py_3h5p_PropLCID { - struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; - }; - -+ - /* "h5p.pxd":81 - * cdef char* _buf - * -@@ -524,11 +589,11 @@ struct __pyx_obj_4h5py_3h5p_PropLCID { - * """ Group creation property list """ - * pass - */ -- - struct __pyx_obj_4h5py_3h5p_PropGCID { - struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; - }; - -+ - /* "h5p.pxd":51 - * # --- Object creation --- - * -@@ -536,11 +601,11 @@ struct __pyx_obj_4h5py_3h5p_PropGCID { - * """ Dataset creation property list """ - * pass - */ -- - struct __pyx_obj_4h5py_3h5p_PropDCID { - struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; - }; - -+ - /* "h5t.pxd":37 - * pass - * -@@ -548,11 +613,11 @@ struct __pyx_obj_4h5py_3h5p_PropDCID { - * pass - * - */ -- - struct __pyx_obj_4h5py_3h5t_TypeTimeID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - -+ - /* "h5t.pxd":23 - * # --- Top-level classes --- - * -@@ -560,11 +625,11 @@ struct __pyx_obj_4h5py_3h5t_TypeTimeID { - * pass - * - */ -- - struct __pyx_obj_4h5py_3h5t_TypeArrayID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - -+ - /* "h5t.pxd":48 - * # --- Numeric atomic types --- - * -@@ -572,11 +637,11 @@ struct __pyx_obj_4h5py_3h5t_TypeArrayID - * pass - * - */ -- - struct __pyx_obj_4h5py_3h5t_TypeAtomicID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - -+ - /* "h5t.pxd":54 - * pass - * -@@ -584,11 +649,11 @@ struct __pyx_obj_4h5py_3h5t_TypeAtomicID - * pass - * - */ -- - struct __pyx_obj_4h5py_3h5t_TypeFloatID { - struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base; - }; - -+ - /* "h5t.pxd":29 - * pass - * -@@ -596,11 +661,11 @@ struct __pyx_obj_4h5py_3h5t_TypeFloatID - * # Both vlen and fixed-len strings - * pass - */ -- - struct __pyx_obj_4h5py_3h5t_TypeStringID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - -+ - /* "h5t.pxd":26 - * pass - * -@@ -608,11 +673,11 @@ struct __pyx_obj_4h5py_3h5t_TypeStringID - * pass - * - */ -- - struct __pyx_obj_4h5py_3h5t_TypeOpaqueID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - -+ - /* "h5t.pxd":62 - * pass - * -@@ -620,11 +685,11 @@ struct __pyx_obj_4h5py_3h5t_TypeOpaqueID - * - * cdef int enum_convert(self, long long *buf, int reverse) except -1 - */ -- - struct __pyx_obj_4h5py_3h5t_TypeEnumID { - struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base; - }; - -+ - /* "h5p.pxd":46 - * pass - * -@@ -632,11 +697,11 @@ struct __pyx_obj_4h5py_3h5t_TypeEnumID { - * """ Property list for copying objects (as in h5o.copy) """ - * - */ -- - struct __pyx_obj_4h5py_3h5p_PropCopyID { - struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; - }; - -+ - /* "h5t.pxd":51 - * pass - * -@@ -644,11 +709,11 @@ struct __pyx_obj_4h5py_3h5p_PropCopyID { - * pass - * - */ -- - struct __pyx_obj_4h5py_3h5t_TypeIntegerID { - struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base; - }; - -+ - /* "h5t.pxd":43 - * pass - * -@@ -656,11 +721,11 @@ struct __pyx_obj_4h5py_3h5t_TypeIntegerI - * pass - * - */ -- - struct __pyx_obj_4h5py_3h5t_TypeReferenceID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - -+ - /* "h5p.pxd":66 - * pass - * -@@ -668,11 +733,11 @@ struct __pyx_obj_4h5py_3h5t_TypeReferenc - * """ Dataset transfer property list """ - * pass - */ -- - struct __pyx_obj_4h5py_3h5p_PropDXID { - struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; - }; - -+ - /* "h5py/h5d.pxd":17 - * from _objects cimport ObjectID - * -@@ -680,7 +745,6 @@ struct __pyx_obj_4h5py_3h5p_PropDXID { - * cdef object _dtype - * - */ -- - struct __pyx_obj_4h5py_3h5d_DatasetID { - struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base; - PyObject *_dtype; -@@ -690,6 +754,7 @@ struct __pyx_obj_4h5py_3h5s_SpaceID { - struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base; - }; - -+ - /* "h5p.pxd":77 - * pass - * -@@ -697,13 +762,13 @@ struct __pyx_obj_4h5py_3h5s_SpaceID { - * """ Link access property list """ - * cdef char* _buf - */ -- - struct __pyx_obj_4h5py_3h5p_PropLAID { - struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; - char *_buf; - }; - - -+ - /* "h5t.pxd":17 - * from _objects cimport class ObjectID - * -@@ -899,11 +964,9 @@ struct __pyx_vtabstruct_4h5py_3h5t_TypeE - int (*enum_convert)(struct __pyx_obj_4h5py_3h5t_TypeEnumID *, PY_LONG_LONG *, int); - }; - static struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *__pyx_vtabptr_4h5py_3h5t_TypeEnumID; -- - #ifndef CYTHON_REFNANNY - #define CYTHON_REFNANNY 0 - #endif -- - #if CYTHON_REFNANNY - typedef struct { - void (*INCREF)(void*, PyObject*, int); -@@ -914,47 +977,57 @@ static struct __pyx_vtabstruct_4h5py_3h5 - void (*FinishContext)(void**); - } __Pyx_RefNannyAPIStruct; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; -- static __Pyx_RefNannyAPIStruct * __Pyx_RefNannyImportAPI(const char *modname) { -- PyObject *m = NULL, *p = NULL; -- void *r = NULL; -- m = PyImport_ImportModule((char *)modname); -- if (!m) goto end; -- p = PyObject_GetAttrString(m, (char *)"RefNannyAPI"); -- if (!p) goto end; -- r = PyLong_AsVoidPtr(p); -- end: -- Py_XDECREF(p); -- Py_XDECREF(m); -- return (__Pyx_RefNannyAPIStruct *)r; -- } -- #define __Pyx_RefNannySetupContext(name) void *__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) -- #define __Pyx_RefNannyFinishContext() __Pyx_RefNanny->FinishContext(&__pyx_refnanny) -- #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -- #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -- #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -+ static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/ -+ #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; -+#ifdef WITH_THREAD -+ #define __Pyx_RefNannySetupContext(name, acquire_gil) \ -+ if (acquire_gil) { \ -+ PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \ -+ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \ -+ PyGILState_Release(__pyx_gilstate_save); \ -+ } else { \ -+ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \ -+ } -+#else -+ #define __Pyx_RefNannySetupContext(name, acquire_gil) \ -+ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) -+#endif -+ #define __Pyx_RefNannyFinishContext() \ -+ __Pyx_RefNanny->FinishContext(&__pyx_refnanny) -+ #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -+ #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -+ #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -- #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r);} } while(0) -+ #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) -+ #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) -+ #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) -+ #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) - #else -- #define __Pyx_RefNannySetupContext(name) -+ #define __Pyx_RefNannyDeclarations -+ #define __Pyx_RefNannySetupContext(name, acquire_gil) - #define __Pyx_RefNannyFinishContext() - #define __Pyx_INCREF(r) Py_INCREF(r) - #define __Pyx_DECREF(r) Py_DECREF(r) - #define __Pyx_GOTREF(r) - #define __Pyx_GIVEREF(r) -+ #define __Pyx_XINCREF(r) Py_XINCREF(r) - #define __Pyx_XDECREF(r) Py_XDECREF(r) -+ #define __Pyx_XGOTREF(r) -+ #define __Pyx_XGIVEREF(r) - #endif /* CYTHON_REFNANNY */ --#define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);} } while(0) --#define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r);} } while(0) -+#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) -+#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) - - static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/ - - static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, - Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/ - --static void __Pyx_RaiseDoubleKeywordsError( -- const char* func_name, PyObject* kw_name); /*proto*/ -+static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/ - --static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, const char* function_name); /*proto*/ -+static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \ -+ PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \ -+ const char* function_name); /*proto*/ - - static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, - const char *name, int exact); /*proto*/ -@@ -964,7 +1037,6 @@ static CYTHON_INLINE int __Pyx_TypeTest( - #define __Pyx_DelItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \ - __Pyx_DelItemInt_Fast(o, i) : \ - __Pyx_DelItem_Generic(o, to_py_func(i))) -- - static CYTHON_INLINE int __Pyx_DelItem_Generic(PyObject *o, PyObject *j) { - int r; - if (!j) return -1; -@@ -972,14 +1044,23 @@ static CYTHON_INLINE int __Pyx_DelItem_G - Py_DECREF(j); - return r; - } -- - static CYTHON_INLINE int __Pyx_DelItemInt_Fast(PyObject *o, Py_ssize_t i) { -- if (Py_TYPE(o)->tp_as_sequence && Py_TYPE(o)->tp_as_sequence->sq_ass_item && likely(i >= 0)) -+#if CYTHON_COMPILING_IN_PYPY -+ if (PySequence_Check(o)) { - return PySequence_DelItem(o, i); -- else { -- PyObject *j = PyInt_FromSsize_t(i); -- return __Pyx_DelItem_Generic(o, j); - } -+#else -+ PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; -+ if (likely(m && m->sq_ass_item)) { -+ if (unlikely(i < 0) && likely(m->sq_length)) { -+ Py_ssize_t l = m->sq_length(o); -+ if (unlikely(l < 0)) return -1; -+ i += l; -+ } -+ return m->sq_ass_item(o, i, (PyObject *)NULL); -+ } -+#endif -+ return __Pyx_DelItem_Generic(o, PyInt_FromSsize_t(i)); - } - - static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ -@@ -987,12 +1068,20 @@ static int __Pyx_GetException(PyObject * - static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ - static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ - --static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ -+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/ -+ -+static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc); -+ -+static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse); -+ -+static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_dealloc); - - static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ - static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ - --static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/ -+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level); /*proto*/ -+ -+static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name); - - static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t); - -@@ -1032,26 +1121,49 @@ static CYTHON_INLINE signed long __Pyx_P - - static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *); - --static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, long size, int strict); /*proto*/ -+static int __Pyx_check_binary_version(void); -+ -+#if !defined(__Pyx_PyIdentifier_FromString) -+#if PY_MAJOR_VERSION < 3 -+ #define __Pyx_PyIdentifier_FromString(s) PyString_FromString(s) -+#else -+ #define __Pyx_PyIdentifier_FromString(s) PyUnicode_FromString(s) -+#endif -+#endif - - static PyObject *__Pyx_ImportModule(const char *name); /*proto*/ - -+static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict); /*proto*/ -+ - static void* __Pyx_GetVtable(PyObject *dict); /*proto*/ - - static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/ - --static void __Pyx_AddTraceback(const char *funcname); /*proto*/ -+typedef struct { -+ int code_line; -+ PyCodeObject* code_object; -+} __Pyx_CodeObjectCacheEntry; -+struct __Pyx_CodeObjectCache { -+ int count; -+ int max_count; -+ __Pyx_CodeObjectCacheEntry* entries; -+}; -+static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; -+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); -+static PyCodeObject *__pyx_find_code_object(int code_line); -+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); -+ -+static void __Pyx_AddTraceback(const char *funcname, int c_line, -+ int py_line, const char *filename); /*proto*/ - - static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ --/* Module declarations from h5py.api_types_ext */ - --/* Module declarations from h5py.api_types_hdf5 */ - --/* Module declarations from h5py.defs */ -+/* Module declarations from 'h5py.api_types_ext' */ - --static herr_t (*__pyx_f_4h5py_4defs_H5open)(void); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5close)(void); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5get_libversion)(unsigned int *, unsigned int *, unsigned int *); /*proto*/ -+/* Module declarations from 'h5py.api_types_hdf5' */ -+ -+/* Module declarations from 'h5py.defs' */ - static hid_t (*__pyx_f_4h5py_4defs_H5Dcreate2)(hid_t, char *, hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/ - static hid_t (*__pyx_f_4h5py_4defs_H5Dcreate_anon)(hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/ - static hid_t (*__pyx_f_4h5py_4defs_H5Dopen)(hid_t, char *); /*proto*/ -@@ -1062,326 +1174,29 @@ static hid_t (*__pyx_f_4h5py_4defs_H5Dge - static hid_t (*__pyx_f_4h5py_4defs_H5Dget_create_plist)(hid_t); /*proto*/ - static haddr_t (*__pyx_f_4h5py_4defs_H5Dget_offset)(hid_t); /*proto*/ - static hsize_t (*__pyx_f_4h5py_4defs_H5Dget_storage_size)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dread)(hid_t, hid_t, hid_t, hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dwrite)(hid_t, hid_t, hid_t, hid_t, hid_t, void *); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Dextend)(hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dfill)(void *, hid_t, void *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dvlen_get_buf_size)(hid_t, hid_t, hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dvlen_reclaim)(hid_t, hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Diterate)(void *, hid_t, hid_t, H5D_operator_t, void *); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Dset_extent)(hid_t, hsize_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fcreate)(char *, unsigned int, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fopen)(char *, unsigned int, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fclose)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Fis_hdf5)(char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fflush)(hid_t, enum H5F_scope_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Freopen)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fmount)(hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Funmount)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fget_filesize)(hid_t, hsize_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fget_create_plist)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fget_access_plist)(hid_t); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Fget_freespace)(hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Fget_name)(hid_t, char *, size_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Fget_obj_count)(hid_t, unsigned int); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Fget_obj_ids)(hid_t, unsigned int, int, hid_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fget_intent)(hid_t, unsigned int *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate)(hid_t, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gopen)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gclose)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Glink2)(hid_t, char *, H5G_link_t, hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gunlink)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gmove2)(hid_t, char *, hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_num_objs)(hid_t, hsize_t *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Gget_objname_by_idx)(hid_t, hsize_t, char *, size_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Gget_objtype_by_idx)(hid_t, hsize_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Giterate)(hid_t, char *, int *, H5G_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_objinfo)(hid_t, char *, int, H5G_stat_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_linkval)(hid_t, char *, size_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gset_comment)(hid_t, char *, char *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Gget_comment)(hid_t, char *, size_t, char *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate_anon)(hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate2)(hid_t, char *, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gopen2)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_info)(hid_t, H5G_info_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_info_by_name)(hid_t, char *, H5G_info_t *, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gget_create_plist)(hid_t); /*proto*/ --static H5I_type_t (*__pyx_f_4h5py_4defs_H5Iget_type)(hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Iget_name)(hid_t, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Iget_file_id)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Idec_ref)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Iget_ref)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Iinc_ref)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lmove)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcopy)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_hard)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_soft)(char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ldelete)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ldelete_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_val)(hid_t, char *, void *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_val_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, void *, size_t, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Lexists)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_info)(hid_t, char *, H5L_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5L_info_t *, hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Lget_name_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, char *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Literate)(hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Literate_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lvisit)(hid_t, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lvisit_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lunpack_elink_val)(void *, size_t, unsigned int *, char **, char **); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_external)(char *, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Oopen)(hid_t, char *, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Oopen_by_addr)(hid_t, haddr_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Oopen_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info)(hid_t, H5O_info_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info_by_name)(hid_t, char *, H5O_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5O_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Olink)(hid_t, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ocopy)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oincr_refcount)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Odecr_refcount)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oset_comment)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oset_comment_by_name)(hid_t, char *, char *, hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Oget_comment)(hid_t, char *, size_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Oget_comment_by_name)(hid_t, char *, char *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ovisit)(hid_t, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ovisit_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pcreate)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pcopy)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Pget_class)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pclose)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Pequal)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pclose_class)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_version)(hid_t, unsigned int *, unsigned int *, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_userblock)(hid_t, hsize_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_userblock)(hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sizes)(hid_t, size_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sizes)(hid_t, size_t *, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sym_k)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sym_k)(hid_t, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_istore_k)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_istore_k)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fclose_degree)(hid_t, enum H5F_close_degree_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fclose_degree)(hid_t, enum H5F_close_degree_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_core)(hid_t, size_t, hbool_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fapl_core)(hid_t, size_t *, hbool_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_family)(hid_t, hsize_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fapl_family)(hid_t, hsize_t *, hid_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_family_offset)(hid_t, hsize_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_family_offset)(hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_log)(hid_t, char *, unsigned int, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_multi)(hid_t, H5FD_mem_t *, hid_t *, char **, haddr_t *, hbool_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_cache)(hid_t, int, int, size_t, double); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_cache)(hid_t, int *, int *, size_t *, double *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_sec2)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_stdio)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pget_driver)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_layout)(hid_t, int); /*proto*/ --static H5D_layout_t (*__pyx_f_4h5py_4defs_H5Pget_layout)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_chunk)(hid_t, int, hsize_t *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Pget_chunk)(hid_t, int, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_deflate)(hid_t, int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fill_value)(hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fill_value)(hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pfill_value_defined)(hid_t, H5D_fill_value_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fill_time)(hid_t, H5D_fill_time_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fill_time)(hid_t, H5D_fill_time_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_alloc_time)(hid_t, H5D_alloc_time_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_alloc_time)(hid_t, H5D_alloc_time_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_filter)(hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Pall_filters_avail)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Pget_nfilters)(hid_t); /*proto*/ --static H5Z_filter_t (*__pyx_f_4h5py_4defs_H5Pget_filter)(hid_t, unsigned int, unsigned int *, size_t *, unsigned int *, size_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_filter_by_id)(hid_t, H5Z_filter_t, unsigned int *, size_t *, unsigned int *, size_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pmodify_filter)(hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Premove_filter)(hid_t, H5Z_filter_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fletcher32)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_shuffle)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_szip)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_edc_check)(hid_t, enum H5Z_EDC_t); /*proto*/ --static enum H5Z_EDC_t (*__pyx_f_4h5py_4defs_H5Pget_edc_check)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sieve_buf_size)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sieve_buf_size)(hid_t, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_nlinks)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_nlinks)(hid_t, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_elink_prefix)(hid_t, char *); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Pget_elink_prefix)(hid_t, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pget_elink_fapl)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_elink_fapl)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_create_intermediate_group)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_create_intermediate_group)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_copy_object)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_copy_object)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_char_encoding)(hid_t, H5T_cset_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_char_encoding)(hid_t, H5T_cset_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_local_heap_size_hint)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_local_heap_size_hint)(hid_t, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_link_phase_change)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_link_phase_change)(hid_t, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_est_link_info)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_est_link_info)(hid_t, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_link_creation_order)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_link_creation_order)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_libver_bounds)(hid_t, H5F_libver_t, H5F_libver_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_libver_bounds)(hid_t, H5F_libver_t *, H5F_libver_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Rcreate)(void *, hid_t, char *, H5R_type_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Rdereference)(hid_t, H5R_type_t, void *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Rget_region)(hid_t, H5R_type_t, void *); /*proto*/ --static enum H5G_obj_t (*__pyx_f_4h5py_4defs_H5Rget_obj_type)(hid_t, H5R_type_t, void *); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Rget_name)(hid_t, H5R_type_t, void *, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Screate)(H5S_class_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Scopy)(hid_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Sclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Screate_simple)(int, hsize_t *, hsize_t *); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Sis_simple)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Soffset_simple)(hid_t, hssize_t *); /*proto*/ - static int (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_dims)(hid_t, hsize_t *, hsize_t *); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_npoints)(hid_t); /*proto*/ --static H5S_class_t (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_type)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sextent_copy)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sset_extent_simple)(hid_t, int, hsize_t *, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sset_extent_none)(hid_t); /*proto*/ --static H5S_sel_type (*__pyx_f_4h5py_4defs_H5Sget_select_type)(hid_t); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_select_npoints)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sget_select_bounds)(hid_t, hsize_t *, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_all)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_none)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Sselect_valid)(hid_t); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_select_elem_npoints)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sget_select_elem_pointlist)(hid_t, hsize_t, hsize_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_elements)(hid_t, H5S_seloper_t, size_t, hsize_t **); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_select_hyper_nblocks)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sget_select_hyper_blocklist)(hid_t, hsize_t, hsize_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_hyperslab)(hid_t, H5S_seloper_t, hsize_t *, hsize_t *, hsize_t *, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sencode)(hid_t, void *, size_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Sdecode)(void *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tcreate)(enum H5T_class_t, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Topen)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tcommit)(hid_t, char *, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tcommitted)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tcopy)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tequal)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tlock)(hid_t); /*proto*/ --static enum H5T_class_t (*__pyx_f_4h5py_4defs_H5Tget_class)(hid_t); /*proto*/ --static size_t (*__pyx_f_4h5py_4defs_H5Tget_size)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tget_super)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tdetect_class)(hid_t, enum H5T_class_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tget_native_type)(hid_t, enum H5T_direction_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tconvert)(hid_t, hid_t, size_t, void *, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_size)(hid_t, size_t); /*proto*/ --static H5T_order_t (*__pyx_f_4h5py_4defs_H5Tget_order)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_order)(hid_t, H5T_order_t); /*proto*/ --static hsize_t (*__pyx_f_4h5py_4defs_H5Tget_precision)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_precision)(hid_t, size_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_offset)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_offset)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tget_pad)(hid_t, H5T_pad_t *, H5T_pad_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_pad)(hid_t, H5T_pad_t, H5T_pad_t); /*proto*/ --static H5T_sign_t (*__pyx_f_4h5py_4defs_H5Tget_sign)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_sign)(hid_t, H5T_sign_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tget_fields)(hid_t, size_t *, size_t *, size_t *, size_t *, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_fields)(hid_t, size_t, size_t, size_t, size_t, size_t); /*proto*/ --static size_t (*__pyx_f_4h5py_4defs_H5Tget_ebias)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_ebias)(hid_t, size_t); /*proto*/ --static H5T_norm_t (*__pyx_f_4h5py_4defs_H5Tget_norm)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_norm)(hid_t, H5T_norm_t); /*proto*/ --static H5T_pad_t (*__pyx_f_4h5py_4defs_H5Tget_inpad)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_inpad)(hid_t, H5T_pad_t); /*proto*/ --static H5T_cset_t (*__pyx_f_4h5py_4defs_H5Tget_cset)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_cset)(hid_t, H5T_cset_t); /*proto*/ --static H5T_str_t (*__pyx_f_4h5py_4defs_H5Tget_strpad)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_strpad)(hid_t, H5T_str_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tvlen_create)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tis_variable_str)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_nmembers)(hid_t); /*proto*/ --static enum H5T_class_t (*__pyx_f_4h5py_4defs_H5Tget_member_class)(hid_t, int); /*proto*/ --static char *(*__pyx_f_4h5py_4defs_H5Tget_member_name)(hid_t, unsigned int); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tget_member_type)(hid_t, unsigned int); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_member_offset)(hid_t, int); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_member_index)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tinsert)(hid_t, char *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tpack)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tenum_create)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_insert)(hid_t, char *, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_nameof)(hid_t, void *, char *, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_valueof)(hid_t, char *, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tget_member_value)(hid_t, unsigned int, void *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tarray_create)(hid_t, int, hsize_t *, int *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_array_ndims)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_array_dims)(hid_t, hsize_t *, int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_tag)(hid_t, char *); /*proto*/ --static char *(*__pyx_f_4h5py_4defs_H5Tget_tag)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tdecode)(unsigned char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tencode)(hid_t, unsigned char *, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tcommit2)(hid_t, char *, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static H5T_conv_t (*__pyx_f_4h5py_4defs_H5Tfind)(hid_t, hid_t, H5T_cdata_t **); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tregister)(H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tunregister)(H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Zfilter_avail)(H5Z_filter_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Zget_filter_info)(H5Z_filter_t, unsigned int *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Acreate)(hid_t, char *, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aopen_idx)(hid_t, unsigned int); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aopen_name)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aclose)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Adelete)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aread)(hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Awrite)(hid_t, hid_t, void *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Aget_num_attrs)(hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Aget_name)(hid_t, size_t, char *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aget_space)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aget_type)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aiterate)(hid_t, unsigned int *, H5A_operator_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Adelete_by_name)(hid_t, char *, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Adelete_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Acreate_by_name)(hid_t, char *, char *, hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aopen)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aopen_by_name)(hid_t, char *, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aopen_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Aexists_by_name)(hid_t, char *, char *, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Aexists)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Arename)(hid_t, char *, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Arename_by_name)(hid_t, char *, char *, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info)(hid_t, H5A_info_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info_by_name)(hid_t, char *, char *, H5A_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5A_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aiterate2)(hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5A_operator2_t, void *); /*proto*/ --static hsize_t (*__pyx_f_4h5py_4defs_H5Aget_storage_size)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSattach_scale)(hid_t, hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSdetach_scale)(hid_t, hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSset_scale)(hid_t, char *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5DSget_num_scales)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSset_label)(hid_t, unsigned int, char *); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5DSget_label)(hid_t, unsigned int, char *, size_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5DSget_scale_name)(hid_t, char *, size_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5DSis_scale)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSiterate_scales)(hid_t, unsigned int, int *, H5DS_iterate_t, void *); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5DSis_attached)(hid_t, hid_t, unsigned int); /*proto*/ --/* Module declarations from h5py._objects */ - -+/* Module declarations from 'h5py._objects' */ - static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0; - static hid_t (*__pyx_f_4h5py_8_objects_pdefault)(struct __pyx_obj_4h5py_8_objects_ObjectID *); /*proto*/ --/* Module declarations from numpy */ - --/* Module declarations from h5py.numpy */ -+/* Module declarations from 'numpy' */ - -+/* Module declarations from 'h5py.numpy' */ - static PyTypeObject *__pyx_ptype_4h5py_5numpy_dtype = 0; - static PyTypeObject *__pyx_ptype_4h5py_5numpy_ndarray = 0; --/* Module declarations from h5py.utils */ - -+/* Module declarations from 'h5py.utils' */ - static void *(*__pyx_f_4h5py_5utils_emalloc)(size_t); /*proto*/ - static void (*__pyx_f_4h5py_5utils_efree)(void *); /*proto*/ - static int (*__pyx_f_4h5py_5utils_check_numpy_read)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args); /*proto*/ - static int (*__pyx_f_4h5py_5utils_check_numpy_write)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args); /*proto*/ - static int (*__pyx_f_4h5py_5utils_convert_tuple)(PyObject *, hsize_t *, hsize_t); /*proto*/ --static PyObject *(*__pyx_f_4h5py_5utils_convert_dims)(hsize_t *, hsize_t); /*proto*/ --static int (*__pyx_f_4h5py_5utils_require_tuple)(PyObject *, int, int, char *); /*proto*/ --static PyObject *(*__pyx_f_4h5py_5utils_create_numpy_hsize)(int, hsize_t *); /*proto*/ --static PyObject *(*__pyx_f_4h5py_5utils_create_hsize_array)(PyObject *); /*proto*/ --/* Module declarations from h5py.h5t */ - -+/* Module declarations from 'h5py.h5t' */ - static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeArrayID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeOpaqueID = 0; -@@ -1398,11 +1213,11 @@ static PyTypeObject *__pyx_ptype_4h5py_3 - static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompoundID = 0; - static struct __pyx_obj_4h5py_3h5t_TypeID *(*__pyx_f_4h5py_3h5t_typewrap)(hid_t, int __pyx_skip_dispatch); /*proto*/ - static struct __pyx_obj_4h5py_3h5t_TypeID *(*__pyx_f_4h5py_3h5t_py_create)(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args); /*proto*/ --/* Module declarations from h5py.h5s */ - -+/* Module declarations from 'h5py.h5s' */ - static PyTypeObject *__pyx_ptype_4h5py_3h5s_SpaceID = 0; --/* Module declarations from h5py.h5p */ - -+/* Module declarations from 'h5py.h5p' */ - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropClassID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropInstanceID = 0; -@@ -1415,20 +1230,34 @@ static PyTypeObject *__pyx_ptype_4h5py_3 - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLCID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLAID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropGCID = 0; --static hid_t (*__pyx_f_4h5py_3h5p_pdefault)(struct __pyx_obj_4h5py_3h5p_PropID *); /*proto*/ - static PyObject *(*__pyx_f_4h5py_3h5p_propwrap)(hid_t); /*proto*/ --/* Module declarations from h5py._proxy */ - --static herr_t (*__pyx_f_4h5py_6_proxy_attr_rw)(hid_t, hid_t, void *, int); /*proto*/ -+/* Module declarations from 'h5py._proxy' */ - static herr_t (*__pyx_f_4h5py_6_proxy_dset_rw)(hid_t, hid_t, hid_t, hid_t, hid_t, void *, int); /*proto*/ --/* Module declarations from h5py.h5d */ - -+/* Module declarations from 'h5py.h5d' */ - static PyTypeObject *__pyx_ptype_4h5py_3h5d_DatasetID = 0; - #define __Pyx_MODULE_NAME "h5py.h5d" --static int __pyx_module_is_main_h5py__h5d = 0; -+int __pyx_module_is_main_h5py__h5d = 0; - --/* Implementation of h5py.h5d */ -+/* Implementation of 'h5py.h5d' */ - static PyObject *__pyx_builtin_TypeError; -+static PyObject *__pyx_pf_4h5py_3h5d_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, PyObject *__pyx_v_name, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_space, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_dcpl, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5d_2open(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_5dtype___get__(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_5shape___get__(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_4rank___get__(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID__close(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_2read(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_mspace, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_fspace, PyArrayObject *__pyx_v_arr_obj, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_mtype, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_dxpl); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_4write(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_mspace, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_fspace, PyArrayObject *__pyx_v_arr_obj, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_mtype, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_dxpl); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_6extend(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self, PyObject *__pyx_v_shape); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_8set_extent(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self, PyObject *__pyx_v_shape); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_10get_space(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_12get_space_status(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_14get_type(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_16get_create_plist(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_18get_offset(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_20get_storage_size(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self); /* proto */ - static char __pyx_k_1[] = "get_simple_extent_dims"; - static char __pyx_k_2[] = "get_simple_extent_ndims"; - static char __pyx_k_4[] = "New shape length (%d) must match dataset rank (%d)"; -@@ -1441,21 +1270,23 @@ static char __pyx_k_10[] = "SPACE_STATUS - static char __pyx_k_11[] = "SPACE_STATUS_ALLOCATED"; - static char __pyx_k_12[] = "FILL_VALUE_UNDEFINED"; - static char __pyx_k_13[] = "FILL_VALUE_USER_DEFINED"; --static char __pyx_k_14[] = "h5py.h5d"; --static char __pyx_k__id[] = "id"; -+static char __pyx_k_16[] = "/disks/strw4/vanelteren/env/python3/install/_temp/h5py-2.1.0/h5py/h5d.pyx"; -+static char __pyx_k_17[] = "h5py.h5d"; - static char __pyx_k__loc[] = "loc"; - static char __pyx_k__tid[] = "tid"; - static char __pyx_k__dcpl[] = "dcpl"; -+static char __pyx_k__dsid[] = "dsid"; - static char __pyx_k__dxpl[] = "dxpl"; -+static char __pyx_k__h5py[] = "h5py"; - static char __pyx_k__lcpl[] = "lcpl"; - static char __pyx_k__lock[] = "lock"; - static char __pyx_k__name[] = "name"; - static char __pyx_k__open[] = "open"; -+static char __pyx_k__cname[] = "cname"; - static char __pyx_k__dtype[] = "dtype"; - static char __pyx_k__mtype[] = "mtype"; - static char __pyx_k__space[] = "space"; - static char __pyx_k__valid[] = "valid"; --static char __pyx_k___dtype[] = "_dtype"; - static char __pyx_k__create[] = "create"; - static char __pyx_k__fspace[] = "fspace"; - static char __pyx_k__mspace[] = "mspace"; -@@ -1485,7 +1316,8 @@ static PyObject *__pyx_n_s_10; - static PyObject *__pyx_n_s_11; - static PyObject *__pyx_n_s_12; - static PyObject *__pyx_n_s_13; --static PyObject *__pyx_n_s_14; -+static PyObject *__pyx_kp_s_16; -+static PyObject *__pyx_n_s_17; - static PyObject *__pyx_n_s_2; - static PyObject *__pyx_kp_s_4; - static PyObject *__pyx_n_s_9; -@@ -1505,17 +1337,18 @@ static PyObject *__pyx_n_s____enter__; - static PyObject *__pyx_n_s____exit__; - static PyObject *__pyx_n_s____main__; - static PyObject *__pyx_n_s____test__; --static PyObject *__pyx_n_s___dtype; - static PyObject *__pyx_n_s___objects; - static PyObject *__pyx_n_s__arr_obj; -+static PyObject *__pyx_n_s__cname; - static PyObject *__pyx_n_s__create; - static PyObject *__pyx_n_s__dcpl; -+static PyObject *__pyx_n_s__dsid; - static PyObject *__pyx_n_s__dtype; - static PyObject *__pyx_n_s__dxpl; - static PyObject *__pyx_n_s__fspace; - static PyObject *__pyx_n_s__get_space; - static PyObject *__pyx_n_s__get_type; --static PyObject *__pyx_n_s__id; -+static PyObject *__pyx_n_s__h5py; - static PyObject *__pyx_n_s__lcpl; - static PyObject *__pyx_n_s__loc; - static PyObject *__pyx_n_s__lock; -@@ -1528,39 +1361,27 @@ static PyObject *__pyx_n_s__space; - static PyObject *__pyx_n_s__tid; - static PyObject *__pyx_n_s__valid; - static PyObject *__pyx_k_tuple_3; -+static PyObject *__pyx_k_tuple_14; -+static PyObject *__pyx_k_tuple_18; -+static PyObject *__pyx_k_codeobj_15; -+static PyObject *__pyx_k_codeobj_19; - --/* "h5py/h5d.pyx":58 -- * # === Dataset operations ====================================================== -- * -- * def create(ObjectID loc not None, object name, TypeID tid not None, # <<<<<<<<<<<<<< -- * SpaceID space not None, PropID dcpl=None, PropID lcpl=None): -- * """ (objectID loc, STRING name or None, TypeID tid, SpaceID space, -- */ -- --static PyObject *__pyx_pf_4h5py_3h5d_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5d_1create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ - static char __pyx_doc_4h5py_3h5d_create[] = " (objectID loc, STRING name or None, TypeID tid, SpaceID space,\n PropDCID dcpl=None, PropID lcpl=None) => DatasetID\n\n Create a new dataset. If \"name\" is None, the dataset will be\n anonymous.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5d_create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pf_4h5py_3h5d_create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_create)}; --static PyObject *__pyx_pf_4h5py_3h5d_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+static PyMethodDef __pyx_mdef_4h5py_3h5d_1create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pw_4h5py_3h5d_1create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_create)}; -+static PyObject *__pyx_pw_4h5py_3h5d_1create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0; - PyObject *__pyx_v_name = 0; - struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid = 0; - struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_space = 0; - struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_dcpl = 0; - struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl = 0; -- hid_t __pyx_v_dsid; -- char *__pyx_v_cname; -- PyObject *__pyx_r = NULL; -- int __pyx_t_1; -- char *__pyx_t_2; -- hid_t __pyx_t_3; -- PyObject *__pyx_t_4 = NULL; -- PyObject *__pyx_t_5 = NULL; -- PyObject *__pyx_t_6 = NULL; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__tid,&__pyx_n_s__space,&__pyx_n_s__dcpl,&__pyx_n_s__lcpl,0}; -- __Pyx_RefNannySetupContext("create"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("create (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__tid,&__pyx_n_s__space,&__pyx_n_s__dcpl,&__pyx_n_s__lcpl,0}; - PyObject* values[6] = {0,0,0,0,0,0}; - - /* "h5py/h5d.pyx":59 -@@ -1572,81 +1393,77 @@ static PyObject *__pyx_pf_4h5py_3h5d_cre - */ - values[4] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); - values[5] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); -- case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); -- case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("create", 0, 4, 6, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); -+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); -+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- case 2: -- values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__tid); -- if (likely(values[2])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("create", 0, 4, 6, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- case 3: -- values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__space); -- if (likely(values[3])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("create", 0, 4, 6, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("create", 0, 4, 6, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 2: -+ if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__tid)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("create", 0, 4, 6, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 3: -+ if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__space)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("create", 0, 4, 6, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 4: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dcpl); -+ if (value) { values[4] = value; kw_args--; } -+ } -+ case 5: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lcpl); -+ if (value) { values[5] = value; kw_args--; } -+ } - } -- case 4: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dcpl); -- if (value) { values[4] = value; kw_args--; } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } -- case 5: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lcpl); -- if (value) { values[5] = value; kw_args--; } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); -+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); -+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -+ values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; - } - } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } - __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]); - __pyx_v_name = values[1]; - __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[2]); - __pyx_v_space = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)values[3]); - __pyx_v_dcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[4]); - __pyx_v_lcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[5]); -- } else { -- __pyx_v_dcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -- __pyx_v_lcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 6: -- __pyx_v_lcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)PyTuple_GET_ITEM(__pyx_args, 5)); -- case 5: -- __pyx_v_dcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)PyTuple_GET_ITEM(__pyx_args, 4)); -- case 4: -- __pyx_v_space = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)PyTuple_GET_ITEM(__pyx_args, 3)); -- __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)PyTuple_GET_ITEM(__pyx_args, 2)); -- __pyx_v_name = PyTuple_GET_ITEM(__pyx_args, 1); -- __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("create", 0, 4, 6, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5d.create"); -+ __Pyx_AddTraceback("h5py.h5d.create", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -@@ -1655,6 +1472,38 @@ static PyObject *__pyx_pf_4h5py_3h5d_cre - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_space), __pyx_ptype_4h5py_3h5s_SpaceID, 0, "space", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dcpl), __pyx_ptype_4h5py_3h5p_PropID, 1, "dcpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lcpl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lcpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5d_create(__pyx_self, __pyx_v_loc, __pyx_v_name, __pyx_v_tid, __pyx_v_space, __pyx_v_dcpl, __pyx_v_lcpl); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5d.pyx":58 -+ * # === Dataset operations ====================================================== -+ * -+ * def create(ObjectID loc not None, object name, TypeID tid not None, # <<<<<<<<<<<<<< -+ * SpaceID space not None, PropID dcpl=None, PropID lcpl=None): -+ * """ (objectID loc, STRING name or None, TypeID tid, SpaceID space, -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5d_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, PyObject *__pyx_v_name, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_space, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_dcpl, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl) { -+ hid_t __pyx_v_dsid; -+ char *__pyx_v_cname; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ int __pyx_t_1; -+ char *__pyx_t_2; -+ hid_t __pyx_t_3; -+ PyObject *__pyx_t_4 = NULL; -+ PyObject *__pyx_t_5 = NULL; -+ PyObject *__pyx_t_6 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("create", 0); - - /* "h5py/h5d.pyx":67 - * """ -@@ -1684,9 +1533,9 @@ static PyObject *__pyx_pf_4h5py_3h5d_cre - */ - __pyx_t_2 = PyBytes_AsString(__pyx_v_name); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_cname = __pyx_t_2; -- goto __pyx_L6; -+ goto __pyx_L3; - } -- __pyx_L6:; -+ __pyx_L3:; - - /* "h5py/h5d.pyx":71 - * cname = name -@@ -1707,7 +1556,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_cre - */ - __pyx_t_3 = __pyx_f_4h5py_4defs_H5Dcreate2(__pyx_v_loc->id, __pyx_v_cname, __pyx_v_tid->__pyx_base.id, __pyx_v_space->__pyx_base.id, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lcpl)), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_dcpl)), H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_dsid = __pyx_t_3; -- goto __pyx_L7; -+ goto __pyx_L4; - } - /*else*/ { - -@@ -1721,7 +1570,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_cre - __pyx_t_3 = __pyx_f_4h5py_4defs_H5Dcreate_anon(__pyx_v_loc->id, __pyx_v_tid->__pyx_base.id, __pyx_v_space->__pyx_base.id, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_dcpl)), H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_dsid = __pyx_t_3; - } -- __pyx_L7:; -+ __pyx_L4:; - - /* "h5py/h5d.pyx":77 - * dsid = H5Dcreate_anon(loc.id, tid.id, space.id, -@@ -1736,7 +1585,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_cre - __pyx_t_5 = __Pyx_PyInt_to_py_hid_t(__pyx_v_dsid); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_6)); -+ __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; -@@ -1754,7 +1603,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_cre - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); -- __Pyx_AddTraceback("h5py.h5d.create"); -+ __Pyx_AddTraceback("h5py.h5d.create", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -1762,69 +1611,88 @@ static PyObject *__pyx_pf_4h5py_3h5d_cre - return __pyx_r; - } - --/* "h5py/h5d.pyx":79 -- * return DatasetID.open(dsid) -- * -- * def open(ObjectID loc not None, char* name): # <<<<<<<<<<<<<< -- * """ (ObjectID loc, STRING name) => DatasetID -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5d_1open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5d_1open[] = " (ObjectID loc, STRING name) => DatasetID\n\n Open an existing dataset attached to a group or file object, by name.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5d_1open = {__Pyx_NAMESTR("open"), (PyCFunction)__pyx_pf_4h5py_3h5d_1open, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_1open)}; --static PyObject *__pyx_pf_4h5py_3h5d_1open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5d_3open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5d_2open[] = " (ObjectID loc, STRING name) => DatasetID\n\n Open an existing dataset attached to a group or file object, by name.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5d_3open = {__Pyx_NAMESTR("open"), (PyCFunction)__pyx_pw_4h5py_3h5d_3open, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_2open)}; -+static PyObject *__pyx_pw_4h5py_3h5d_3open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0; - char *__pyx_v_name; -- PyObject *__pyx_r = NULL; -- PyObject *__pyx_t_1 = NULL; -- hid_t __pyx_t_2; -- PyObject *__pyx_t_3 = NULL; -- PyObject *__pyx_t_4 = NULL; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,0}; -- __Pyx_RefNannySetupContext("open"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("open (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,0}; - PyObject* values[2] = {0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("open", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("open", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]); - __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- __pyx_v_name = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5d.open"); -+ __Pyx_AddTraceback("h5py.h5d.open", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5d_2open(__pyx_self, __pyx_v_loc, __pyx_v_name); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5d.pyx":79 -+ * return DatasetID.open(dsid) -+ * -+ * def open(ObjectID loc not None, char* name): # <<<<<<<<<<<<<< -+ * """ (ObjectID loc, STRING name) => DatasetID -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5d_2open(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ PyObject *__pyx_t_1 = NULL; -+ hid_t __pyx_t_2; -+ PyObject *__pyx_t_3 = NULL; -+ PyObject *__pyx_t_4 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("open", 0); - - /* "h5py/h5d.pyx":84 - * Open an existing dataset attached to a group or file object, by name. -@@ -1840,7 +1708,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_1op - __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; -@@ -1858,7 +1726,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_1op - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5d.open"); -+ __Pyx_AddTraceback("h5py.h5d.open", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -1866,6 +1734,17 @@ static PyObject *__pyx_pf_4h5py_3h5d_1op - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_5dtype_1__get__(PyObject *__pyx_v_self); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_5dtype_1__get__(PyObject *__pyx_v_self) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_5dtype___get__(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5d.pyx":110 - * property dtype: - * """ Numpy dtype object representing the dataset type """ -@@ -1874,15 +1753,17 @@ static PyObject *__pyx_pf_4h5py_3h5d_1op - * cdef TypeID tid - */ - --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_5dtype___get__(PyObject *__pyx_v_self); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_5dtype___get__(PyObject *__pyx_v_self) { -- struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid; -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_5dtype___get__(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self) { -+ struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid = 0; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("__get__"); -- __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None); __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__get__", 0); - - /* "h5py/h5d.pyx":113 - * # Dataset type can't change -@@ -1891,7 +1772,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * tid = self.get_type() - * self._dtype = tid.dtype - */ -- __pyx_t_1 = (((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)->_dtype == Py_None); -+ __pyx_t_1 = (__pyx_v_self->_dtype == Py_None); - if (__pyx_t_1) { - - /* "h5py/h5d.pyx":114 -@@ -1901,13 +1782,12 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * self._dtype = tid.dtype - * return self._dtype - */ -- __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__get_type); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_type); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(((PyObject *)__pyx_v_tid)); - __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_3); - __pyx_t_3 = 0; - -@@ -1921,13 +1801,13 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_tid), __pyx_n_s__dtype); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); -- __Pyx_GOTREF(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)->_dtype); -- __Pyx_DECREF(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)->_dtype); -- ((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)->_dtype = __pyx_t_3; -+ __Pyx_GOTREF(__pyx_v_self->_dtype); -+ __Pyx_DECREF(__pyx_v_self->_dtype); -+ __pyx_v_self->_dtype = __pyx_t_3; - __pyx_t_3 = 0; -- goto __pyx_L5; -+ goto __pyx_L3; - } -- __pyx_L5:; -+ __pyx_L3:; - - /* "h5py/h5d.pyx":116 - * tid = self.get_type() -@@ -1937,8 +1817,8 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * property shape: - */ - __Pyx_XDECREF(__pyx_r); -- __Pyx_INCREF(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)->_dtype); -- __pyx_r = ((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)->_dtype; -+ __Pyx_INCREF(__pyx_v_self->_dtype); -+ __pyx_r = __pyx_v_self->_dtype; - goto __pyx_L0; - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); -@@ -1946,15 +1826,26 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5d.DatasetID.dtype.__get__"); -+ __Pyx_AddTraceback("h5py.h5d.DatasetID.dtype.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_tid); -+ __Pyx_XDECREF((PyObject *)__pyx_v_tid); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_5shape_1__get__(PyObject *__pyx_v_self); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_5shape_1__get__(PyObject *__pyx_v_self) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_5shape___get__(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5d.pyx":120 - * property shape: - * """ Numpy-style shape tuple representing the dataspace """ -@@ -1963,14 +1854,16 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * cdef SpaceID sid - */ - --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_5shape___get__(PyObject *__pyx_v_self); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_5shape___get__(PyObject *__pyx_v_self) { -- struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_sid; -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_5shape___get__(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self) { -+ struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_sid = 0; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("__get__"); -- __pyx_v_sid = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)Py_None); __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__get__", 0); - - /* "h5py/h5d.pyx":123 - * # Shape can change (DatasetID.extend), so don't cache it -@@ -1979,13 +1872,12 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * return sid.get_simple_extent_dims() - * - */ -- __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__get_space); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_space); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5s_SpaceID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(((PyObject *)__pyx_v_sid)); - __pyx_v_sid = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_t_2); - __pyx_t_2 = 0; - -@@ -2011,15 +1903,26 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5d.DatasetID.shape.__get__"); -+ __Pyx_AddTraceback("h5py.h5d.DatasetID.shape.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_sid); -+ __Pyx_XDECREF((PyObject *)__pyx_v_sid); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_4rank_1__get__(PyObject *__pyx_v_self); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_4rank_1__get__(PyObject *__pyx_v_self) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_4rank___get__(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5d.pyx":128 - * property rank: - * """ Integer giving the dataset rank (0 = scalar) """ -@@ -2028,14 +1931,16 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * sid = self.get_space() - */ - --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_4rank___get__(PyObject *__pyx_v_self); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_4rank___get__(PyObject *__pyx_v_self) { -- struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_sid; -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_4rank___get__(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self) { -+ struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_sid = 0; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("__get__"); -- __pyx_v_sid = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)Py_None); __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__get__", 0); - - /* "h5py/h5d.pyx":130 - * def __get__(self): -@@ -2044,13 +1949,12 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * return sid.get_simple_extent_ndims() - * - */ -- __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__get_space); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_space); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5s_SpaceID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(((PyObject *)__pyx_v_sid)); - __pyx_v_sid = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_t_2); - __pyx_t_2 = 0; - -@@ -2076,15 +1980,27 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5d.DatasetID.rank.__get__"); -+ __Pyx_AddTraceback("h5py.h5d.DatasetID.rank.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_sid); -+ __Pyx_XDECREF((PyObject *)__pyx_v_sid); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_1_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5d_9DatasetID__close[] = " ()\n\n Terminate access through this identifier. You shouldn't have to\n call this manually; Dataset objects are automatically destroyed\n when their Python wrappers are freed.\n "; -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_1_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("_close (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID__close(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5d.pyx":134 - * - * -@@ -2093,26 +2009,25 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * - */ - --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID__close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5d_9DatasetID__close[] = " ()\n\n Terminate access through this identifier. You shouldn't have to\n call this manually; Dataset objects are automatically destroyed\n when their Python wrappers are freed.\n "; --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID__close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -- PyObject *__pyx_v___tmpvar_22; -- PyObject *__pyx_v___tmpvar_24; -- int __pyx_v___tmpvar_23; -- PyObject *__pyx_v___tmpvar_21; -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID__close(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; -- herr_t __pyx_t_3; -- int __pyx_t_4; -- int __pyx_t_5; -- PyObject *__pyx_t_6 = NULL; -- PyObject *__pyx_t_7 = NULL; -- PyObject *__pyx_t_8 = NULL; -- __Pyx_RefNannySetupContext("_close"); -- __pyx_v___tmpvar_22 = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v___tmpvar_24 = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v___tmpvar_21 = Py_None; __Pyx_INCREF(Py_None); -+ PyObject *__pyx_t_3 = NULL; -+ PyObject *__pyx_t_4 = NULL; -+ PyObject *__pyx_t_5 = NULL; -+ PyObject *__pyx_t_6 = NULL; -+ PyObject *__pyx_t_7 = NULL; -+ herr_t __pyx_t_8; -+ int __pyx_t_9; -+ int __pyx_t_10; -+ PyObject *__pyx_t_11 = NULL; -+ PyObject *__pyx_t_12 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("_close", 0); - - /* "h5py/h5d.pyx":141 - * when their Python wrappers are freed. -@@ -2121,221 +2036,160 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * H5Dclose(self.id) - * if not self.valid: - */ -- __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__lock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(__pyx_v___tmpvar_22); -- __pyx_v___tmpvar_22 = __pyx_t_1; -- __pyx_t_1 = 0; -+ /*with:*/ { -+ __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_2); -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__lock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -+ __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_3); -+ __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_2); -+ __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ /*try:*/ { -+ { -+ __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); -+ __Pyx_XGOTREF(__pyx_t_5); -+ __Pyx_XGOTREF(__pyx_t_6); -+ __Pyx_XGOTREF(__pyx_t_7); -+ /*try:*/ { - -- /* "(tree fragment)":2 -- * MGR = EXPR -- * EXIT = MGR.__exit__ # <<<<<<<<<<<<<< -- * MGR.__enter__() -- * EXC = True -+ /* "h5py/h5d.pyx":142 -+ * """ -+ * with _objects.registry.lock: -+ * H5Dclose(self.id) # <<<<<<<<<<<<<< -+ * if not self.valid: -+ * del _objects.registry[self.id] - */ -- __pyx_t_1 = PyObject_GetAttr(__pyx_v___tmpvar_22, __pyx_n_s____exit__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(__pyx_v___tmpvar_24); -- __pyx_v___tmpvar_24 = __pyx_t_1; -- __pyx_t_1 = 0; -+ __pyx_t_8 = __pyx_f_4h5py_4defs_H5Dclose(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L7_error;} - -- /* "(tree fragment)":3 -- * MGR = EXPR -- * EXIT = MGR.__exit__ -- * MGR.__enter__() # <<<<<<<<<<<<<< -- * EXC = True -- * try: -+ /* "h5py/h5d.pyx":143 -+ * with _objects.registry.lock: -+ * H5Dclose(self.id) -+ * if not self.valid: # <<<<<<<<<<<<<< -+ * del _objects.registry[self.id] -+ * - */ -- __pyx_t_1 = PyObject_GetAttr(__pyx_v___tmpvar_22, __pyx_n_s____enter__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__valid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __pyx_t_10 = (!__pyx_t_9); -+ if (__pyx_t_10) { - -- /* "h5py/h5d.pyx":141 -- * when their Python wrappers are freed. -- * """ -- * with _objects.registry.lock: # <<<<<<<<<<<<<< -+ /* "h5py/h5d.pyx":144 - * H5Dclose(self.id) - * if not self.valid: -+ * del _objects.registry[self.id] # <<<<<<<<<<<<<< -+ * -+ * - */ -- __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __pyx_v___tmpvar_23 = 1; -- /*try:*/ { -- { -- PyObject *__pyx_save_exc_type, *__pyx_save_exc_value, *__pyx_save_exc_tb; -- __Pyx_ExceptionSave(&__pyx_save_exc_type, &__pyx_save_exc_value, &__pyx_save_exc_tb); -- __Pyx_XGOTREF(__pyx_save_exc_type); -- __Pyx_XGOTREF(__pyx_save_exc_value); -- __Pyx_XGOTREF(__pyx_save_exc_tb); -- /*try:*/ { -- __Pyx_INCREF(Py_None); -- __Pyx_DECREF(__pyx_v___tmpvar_21); -- __pyx_v___tmpvar_21 = Py_None; -- __pyx_t_3 = __pyx_f_4h5py_4defs_H5Dclose(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__valid); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __pyx_t_5 = (!__pyx_t_4); -- if (__pyx_t_5) { -- __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__registry); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- if (__Pyx_DelItemInt(__pyx_t_1, ((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)->__pyx_base.id, sizeof(hid_t), __Pyx_PyInt_to_py_hid_t) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- goto __pyx_L16; -+ __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_4 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ if (__Pyx_DelItemInt(__pyx_t_4, __pyx_v_self->__pyx_base.id, sizeof(hid_t), __Pyx_PyInt_to_py_hid_t) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ goto __pyx_L15; -+ } -+ __pyx_L15:; - } -- __pyx_L16:; -- } -- __Pyx_XDECREF(__pyx_save_exc_type); __pyx_save_exc_type = 0; -- __Pyx_XDECREF(__pyx_save_exc_value); __pyx_save_exc_value = 0; -- __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0; -- goto __pyx_L15_try_end; -- __pyx_L8_error:; -- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -- /*except:*/ { -- __Pyx_AddTraceback("h5py.h5d.DatasetID._close"); -- if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_GOTREF(__pyx_t_2); -- __Pyx_GOTREF(__pyx_t_6); -- __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_7)); -- __Pyx_INCREF(__pyx_t_1); -- PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1); -- __Pyx_GIVEREF(__pyx_t_1); -- __Pyx_INCREF(__pyx_t_2); -- PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2); -- __Pyx_GIVEREF(__pyx_t_2); -- __Pyx_INCREF(__pyx_t_6); -- PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_6); -- __Pyx_GIVEREF(__pyx_t_6); -- __Pyx_DECREF(__pyx_v___tmpvar_21); -- __pyx_v___tmpvar_21 = ((PyObject *)__pyx_t_7); -- __pyx_t_7 = 0; -- __pyx_v___tmpvar_23 = 0; -- -- /* "(tree fragment)":11 -- * except: -- * EXC = False -- * if not EXIT(*EXCINFO): # <<<<<<<<<<<<<< -- * raise -- * finally: -- */ -- __pyx_t_7 = PySequence_Tuple(__pyx_v___tmpvar_21); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_7)); -- __pyx_t_8 = PyObject_Call(__pyx_v___tmpvar_24, ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(__pyx_t_8); -- __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; -- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; -- __pyx_t_4 = (!__pyx_t_5); -- if (__pyx_t_4) { -+ __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; -+ __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; -+ goto __pyx_L14_try_end; -+ __pyx_L7_error:; -+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; -+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - -- /* "h5py/h5d.pyx":141 -+ /* "h5py/h5d.pyx":141 - * when their Python wrappers are freed. - * """ - * with _objects.registry.lock: # <<<<<<<<<<<<<< - * H5Dclose(self.id) - * if not self.valid: - */ -+ /*except:*/ { -+ __Pyx_AddTraceback("h5py.h5d.DatasetID._close", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_GOTREF(__pyx_t_1); -+ __Pyx_GOTREF(__pyx_t_2); -+ __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __Pyx_GOTREF(__pyx_t_11); -+ __Pyx_INCREF(__pyx_t_4); -+ PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_4); -+ __Pyx_GIVEREF(__pyx_t_4); -+ __Pyx_INCREF(__pyx_t_1); -+ PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); -+ __Pyx_INCREF(__pyx_t_2); -+ PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); -- __Pyx_GIVEREF(__pyx_t_6); -- __Pyx_ErrRestore(__pyx_t_1, __pyx_t_2, __pyx_t_6); -- __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_6 = 0; -- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- goto __pyx_L19; -- } -- __pyx_L19:; -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -- goto __pyx_L9_exception_handled; -+ __pyx_t_12 = PyObject_Call(__pyx_t_3, __pyx_t_11, NULL); -+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -+ if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __Pyx_GOTREF(__pyx_t_12); -+ __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_12); -+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; -+ if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __pyx_t_9 = (!__pyx_t_10); -+ if (__pyx_t_9) { -+ __Pyx_GIVEREF(__pyx_t_4); -+ __Pyx_GIVEREF(__pyx_t_1); -+ __Pyx_GIVEREF(__pyx_t_2); -+ __Pyx_ErrRestore(__pyx_t_4, __pyx_t_1, __pyx_t_2); -+ __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ goto __pyx_L18; -+ } -+ __pyx_L18:; -+ __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0; -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -+ goto __pyx_L8_exception_handled; -+ } -+ __pyx_L9_except_error:; -+ __Pyx_XGIVEREF(__pyx_t_5); -+ __Pyx_XGIVEREF(__pyx_t_6); -+ __Pyx_XGIVEREF(__pyx_t_7); -+ __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); -+ goto __pyx_L1_error; -+ __pyx_L8_exception_handled:; -+ __Pyx_XGIVEREF(__pyx_t_5); -+ __Pyx_XGIVEREF(__pyx_t_6); -+ __Pyx_XGIVEREF(__pyx_t_7); -+ __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); -+ __pyx_L14_try_end:; - } -- __pyx_L10_except_error:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -- goto __pyx_L6; -- __pyx_L9_exception_handled:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -- __pyx_L15_try_end:; -- } -- } -- /*finally:*/ { -- int __pyx_why; -- PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; -- int __pyx_exc_lineno; -- __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L7; -- __pyx_L6: { -- __pyx_why = 4; -- __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; -- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; -- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; -- __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); -- __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L7; - } -- __pyx_L7:; -- -- /* "(tree fragment)":14 -- * raise -- * finally: -- * if EXC: # <<<<<<<<<<<<<< -- * EXIT(None, None, None) -- */ -- if (__pyx_v___tmpvar_23) { -- -- /* "h5py/h5d.pyx":141 -- * when their Python wrappers are freed. -- * """ -- * with _objects.registry.lock: # <<<<<<<<<<<<<< -- * H5Dclose(self.id) -- * if not self.valid: -- */ -- __pyx_t_6 = PyObject_Call(__pyx_v___tmpvar_24, ((PyObject *)__pyx_k_tuple_3), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L20_error;} -- __Pyx_GOTREF(__pyx_t_6); -- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -- goto __pyx_L21; -- } -- __pyx_L21:; -- goto __pyx_L22; -- __pyx_L20_error:; -- if (__pyx_why == 4) { -- Py_XDECREF(__pyx_exc_type); -- Py_XDECREF(__pyx_exc_value); -- Py_XDECREF(__pyx_exc_tb); -- } -- goto __pyx_L1_error; -- __pyx_L22:; -- switch (__pyx_why) { -- case 4: { -- __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb); -- __pyx_lineno = __pyx_exc_lineno; -- __pyx_exc_type = 0; -- __pyx_exc_value = 0; -- __pyx_exc_tb = 0; -- goto __pyx_L1_error; -+ /*finally:*/ { -+ if (__pyx_t_3) { -+ __pyx_t_7 = PyObject_Call(__pyx_t_3, __pyx_k_tuple_3, NULL); -+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -+ if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_7); -+ __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); -+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - } -+ goto __pyx_L19; -+ __pyx_L3_error:; -+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -+ goto __pyx_L1_error; -+ __pyx_L19:; - } - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); -@@ -2343,53 +2197,30 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_XDECREF(__pyx_t_6); -- __Pyx_XDECREF(__pyx_t_7); -- __Pyx_XDECREF(__pyx_t_8); -- __Pyx_AddTraceback("h5py.h5d.DatasetID._close"); -+ __Pyx_XDECREF(__pyx_t_4); -+ __Pyx_XDECREF(__pyx_t_11); -+ __Pyx_AddTraceback("h5py.h5d.DatasetID._close", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF(__pyx_v___tmpvar_22); -- __Pyx_DECREF(__pyx_v___tmpvar_24); -- __Pyx_DECREF(__pyx_v___tmpvar_21); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - --/* "h5py/h5d.pyx":147 -- * -- * -- * def read(self, SpaceID mspace not None, SpaceID fspace not None, # <<<<<<<<<<<<<< -- * ndarray arr_obj not None, TypeID mtype=None, -- * PropID dxpl=None): -- */ -- --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_1read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5d_9DatasetID_1read[] = " (SpaceID mspace, SpaceID fspace, NDARRAY arr_obj,\n TypeID mtype=None, PropDXID dxpl=None)\n\n Read data from an HDF5 dataset into a Numpy array.\n\n It is your responsibility to ensure that the memory dataspace\n provided is compatible with the shape of the Numpy array. Since a\n wide variety of dataspace configurations are possible, this is not\n checked. You can easily crash Python by reading in data from too\n large a dataspace.\n\n If a memory datatype is not specified, one will be auto-created\n based on the array's dtype.\n\n The provided Numpy array must be writable and C-contiguous. If\n this is not the case, ValueError will be raised and the read will\n fail. Keyword dxpl may be a dataset transfer property list.\n "; --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_1read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_3read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5d_9DatasetID_2read[] = " (SpaceID mspace, SpaceID fspace, NDARRAY arr_obj,\n TypeID mtype=None, PropDXID dxpl=None)\n\n Read data from an HDF5 dataset into a Numpy array.\n\n It is your responsibility to ensure that the memory dataspace\n provided is compatible with the shape of the Numpy array. Since a\n wide variety of dataspace configurations are possible, this is not\n checked. You can easily crash Python by reading in data from too\n large a dataspace.\n\n If a memory datatype is not specified, one will be auto-created\n based on the array's dtype.\n\n The provided Numpy array must be writable and C-contiguous. If\n this is not the case, ValueError will be raised and the read will\n fail. Keyword dxpl may be a dataset transfer property list.\n "; -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_3read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_mspace = 0; - struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_fspace = 0; - PyArrayObject *__pyx_v_arr_obj = 0; - struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_mtype = 0; - struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_dxpl = 0; -- hid_t __pyx_v_self_id; -- hid_t __pyx_v_mtype_id; -- hid_t __pyx_v_mspace_id; -- hid_t __pyx_v_fspace_id; -- hid_t __pyx_v_plist_id; -- void *__pyx_v_data; -- PyObject *__pyx_r = NULL; -- int __pyx_t_1; -- PyObject *__pyx_t_2 = NULL; -- PyObject *__pyx_t_3 = NULL; -- int __pyx_t_4; -- struct __pyx_opt_args_4h5py_5utils_check_numpy_write __pyx_t_5; -- herr_t __pyx_t_6; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__mspace,&__pyx_n_s__fspace,&__pyx_n_s__arr_obj,&__pyx_n_s__mtype,&__pyx_n_s__dxpl,0}; -- __Pyx_RefNannySetupContext("read"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("read (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__mspace,&__pyx_n_s__fspace,&__pyx_n_s__arr_obj,&__pyx_n_s__mtype,&__pyx_n_s__dxpl,0}; - PyObject* values[5] = {0,0,0,0,0}; - - /* "h5py/h5d.pyx":148 -@@ -2409,97 +2240,114 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * TypeID mtype=None, PropDXID dxpl=None) - */ - values[4] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); -- case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mspace); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__fspace); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("read", 0, 3, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); -+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- case 2: -- values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__arr_obj); -- if (likely(values[2])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("read", 0, 3, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mspace)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__fspace)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("read", 0, 3, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 2: -+ if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__arr_obj)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("read", 0, 3, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 3: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mtype); -+ if (value) { values[3] = value; kw_args--; } -+ } -+ case 4: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dxpl); -+ if (value) { values[4] = value; kw_args--; } -+ } - } -- case 3: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mtype); -- if (value) { values[3] = value; kw_args--; } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } -- case 4: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dxpl); -- if (value) { values[4] = value; kw_args--; } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); -+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; - } - } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "read") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } - __pyx_v_mspace = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)values[0]); - __pyx_v_fspace = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)values[1]); - __pyx_v_arr_obj = ((PyArrayObject *)values[2]); - __pyx_v_mtype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[3]); - __pyx_v_dxpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[4]); -- } else { -- -- /* "h5py/h5d.pyx":148 -- * -- * def read(self, SpaceID mspace not None, SpaceID fspace not None, -- * ndarray arr_obj not None, TypeID mtype=None, # <<<<<<<<<<<<<< -- * PropID dxpl=None): -- * """ (SpaceID mspace, SpaceID fspace, NDARRAY arr_obj, -- */ -- __pyx_v_mtype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None); -- -- /* "h5py/h5d.pyx":149 -- * def read(self, SpaceID mspace not None, SpaceID fspace not None, -- * ndarray arr_obj not None, TypeID mtype=None, -- * PropID dxpl=None): # <<<<<<<<<<<<<< -- * """ (SpaceID mspace, SpaceID fspace, NDARRAY arr_obj, -- * TypeID mtype=None, PropDXID dxpl=None) -- */ -- __pyx_v_dxpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 5: -- __pyx_v_dxpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)PyTuple_GET_ITEM(__pyx_args, 4)); -- case 4: -- __pyx_v_mtype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)PyTuple_GET_ITEM(__pyx_args, 3)); -- case 3: -- __pyx_v_arr_obj = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 2)); -- __pyx_v_fspace = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)PyTuple_GET_ITEM(__pyx_args, 1)); -- __pyx_v_mspace = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("read", 0, 3, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5d.DatasetID.read"); -+ __Pyx_AddTraceback("h5py.h5d.DatasetID.read", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -- __Pyx_INCREF((PyObject *)__pyx_v_mtype); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mspace), __pyx_ptype_4h5py_3h5s_SpaceID, 0, "mspace", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fspace), __pyx_ptype_4h5py_3h5s_SpaceID, 0, "fspace", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_arr_obj), __pyx_ptype_4h5py_5numpy_ndarray, 0, "arr_obj", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mtype), __pyx_ptype_4h5py_3h5t_TypeID, 1, "mtype", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dxpl), __pyx_ptype_4h5py_3h5p_PropID, 1, "dxpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_2read(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self), __pyx_v_mspace, __pyx_v_fspace, __pyx_v_arr_obj, __pyx_v_mtype, __pyx_v_dxpl); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5d.pyx":147 -+ * -+ * -+ * def read(self, SpaceID mspace not None, SpaceID fspace not None, # <<<<<<<<<<<<<< -+ * ndarray arr_obj not None, TypeID mtype=None, -+ * PropID dxpl=None): -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_2read(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_mspace, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_fspace, PyArrayObject *__pyx_v_arr_obj, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_mtype, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_dxpl) { -+ hid_t __pyx_v_self_id; -+ hid_t __pyx_v_mtype_id; -+ hid_t __pyx_v_mspace_id; -+ hid_t __pyx_v_fspace_id; -+ hid_t __pyx_v_plist_id; -+ void *__pyx_v_data; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ int __pyx_t_1; -+ PyObject *__pyx_t_2 = NULL; -+ PyObject *__pyx_t_3 = NULL; -+ int __pyx_t_4; -+ struct __pyx_opt_args_4h5py_5utils_check_numpy_write __pyx_t_5; -+ herr_t __pyx_t_6; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("read", 0); -+ __Pyx_INCREF((PyObject *)__pyx_v_mtype); - - /* "h5py/h5d.pyx":172 - * cdef int oldflags -@@ -2526,9 +2374,9 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - __Pyx_DECREF(((PyObject *)__pyx_v_mtype)); - __pyx_v_mtype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_3); - __pyx_t_3 = 0; -- goto __pyx_L6; -+ goto __pyx_L3; - } -- __pyx_L6:; -+ __pyx_L3:; - - /* "h5py/h5d.pyx":174 - * if mtype is None: -@@ -2548,7 +2396,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * mtype_id = mtype.id - * mspace_id = mspace.id - */ -- __pyx_v_self_id = ((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)->__pyx_base.id; -+ __pyx_v_self_id = __pyx_v_self->__pyx_base.id; - - /* "h5py/h5d.pyx":177 - * -@@ -2609,48 +2457,29 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5d.DatasetID.read"); -+ __Pyx_AddTraceback("h5py.h5d.DatasetID.read", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_mtype); -+ __Pyx_XDECREF((PyObject *)__pyx_v_mtype); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - --/* "h5py/h5d.pyx":185 -- * dset_rw(self_id, mtype_id, mspace_id, fspace_id, plist_id, data, 1) -- * -- * def write(self, SpaceID mspace not None, SpaceID fspace not None, # <<<<<<<<<<<<<< -- * ndarray arr_obj not None, TypeID mtype=None, -- * PropID dxpl=None): -- */ -- --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_2write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5d_9DatasetID_2write[] = " (SpaceID mspace, SpaceID fspace, NDARRAY arr_obj,\n TypeID mtype=None, PropDXID dxpl=None)\n\n Write data from a Numpy array to an HDF5 dataset. Keyword dxpl may\n be a dataset transfer property list.\n\n It is your responsibility to ensure that the memory dataspace\n provided is compatible with the shape of the Numpy array. Since a\n wide variety of dataspace configurations are possible, this is not\n checked. You can easily crash Python by writing data from too\n large a dataspace.\n\n If a memory datatype is not specified, one will be auto-created\n based on the array's dtype.\n\n The provided Numpy array must be C-contiguous. If this is not the\n case, ValueError will be raised and the read will fail.\n "; --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_2write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_5write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5d_9DatasetID_4write[] = " (SpaceID mspace, SpaceID fspace, NDARRAY arr_obj,\n TypeID mtype=None, PropDXID dxpl=None)\n\n Write data from a Numpy array to an HDF5 dataset. Keyword dxpl may\n be a dataset transfer property list.\n\n It is your responsibility to ensure that the memory dataspace\n provided is compatible with the shape of the Numpy array. Since a\n wide variety of dataspace configurations are possible, this is not\n checked. You can easily crash Python by writing data from too\n large a dataspace.\n\n If a memory datatype is not specified, one will be auto-created\n based on the array's dtype.\n\n The provided Numpy array must be C-contiguous. If this is not the\n case, ValueError will be raised and the read will fail.\n "; -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_5write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_mspace = 0; - struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_fspace = 0; - PyArrayObject *__pyx_v_arr_obj = 0; - struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_mtype = 0; - struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_dxpl = 0; -- hid_t __pyx_v_self_id; -- hid_t __pyx_v_mtype_id; -- hid_t __pyx_v_mspace_id; -- hid_t __pyx_v_fspace_id; -- hid_t __pyx_v_plist_id; -- void *__pyx_v_data; -- PyObject *__pyx_r = NULL; -- int __pyx_t_1; -- PyObject *__pyx_t_2 = NULL; -- PyObject *__pyx_t_3 = NULL; -- int __pyx_t_4; -- struct __pyx_opt_args_4h5py_5utils_check_numpy_read __pyx_t_5; -- herr_t __pyx_t_6; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__mspace,&__pyx_n_s__fspace,&__pyx_n_s__arr_obj,&__pyx_n_s__mtype,&__pyx_n_s__dxpl,0}; -- __Pyx_RefNannySetupContext("write"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("write (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__mspace,&__pyx_n_s__fspace,&__pyx_n_s__arr_obj,&__pyx_n_s__mtype,&__pyx_n_s__dxpl,0}; - PyObject* values[5] = {0,0,0,0,0}; - - /* "h5py/h5d.pyx":186 -@@ -2670,97 +2499,114 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * TypeID mtype=None, PropDXID dxpl=None) - */ - values[4] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); -- case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mspace); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__fspace); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("write", 0, 3, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); -+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- case 2: -- values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__arr_obj); -- if (likely(values[2])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("write", 0, 3, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mspace)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__fspace)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("write", 0, 3, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 2: -+ if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__arr_obj)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("write", 0, 3, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 3: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mtype); -+ if (value) { values[3] = value; kw_args--; } -+ } -+ case 4: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dxpl); -+ if (value) { values[4] = value; kw_args--; } -+ } - } -- case 3: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mtype); -- if (value) { values[3] = value; kw_args--; } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } -- case 4: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dxpl); -- if (value) { values[4] = value; kw_args--; } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); -+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; - } - } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "write") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } - __pyx_v_mspace = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)values[0]); - __pyx_v_fspace = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)values[1]); - __pyx_v_arr_obj = ((PyArrayObject *)values[2]); - __pyx_v_mtype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[3]); - __pyx_v_dxpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[4]); -- } else { -- -- /* "h5py/h5d.pyx":186 -- * -- * def write(self, SpaceID mspace not None, SpaceID fspace not None, -- * ndarray arr_obj not None, TypeID mtype=None, # <<<<<<<<<<<<<< -- * PropID dxpl=None): -- * """ (SpaceID mspace, SpaceID fspace, NDARRAY arr_obj, -- */ -- __pyx_v_mtype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None); -- -- /* "h5py/h5d.pyx":187 -- * def write(self, SpaceID mspace not None, SpaceID fspace not None, -- * ndarray arr_obj not None, TypeID mtype=None, -- * PropID dxpl=None): # <<<<<<<<<<<<<< -- * """ (SpaceID mspace, SpaceID fspace, NDARRAY arr_obj, -- * TypeID mtype=None, PropDXID dxpl=None) -- */ -- __pyx_v_dxpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 5: -- __pyx_v_dxpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)PyTuple_GET_ITEM(__pyx_args, 4)); -- case 4: -- __pyx_v_mtype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)PyTuple_GET_ITEM(__pyx_args, 3)); -- case 3: -- __pyx_v_arr_obj = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 2)); -- __pyx_v_fspace = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)PyTuple_GET_ITEM(__pyx_args, 1)); -- __pyx_v_mspace = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("write", 0, 3, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5d.DatasetID.write"); -+ __Pyx_AddTraceback("h5py.h5d.DatasetID.write", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -- __Pyx_INCREF((PyObject *)__pyx_v_mtype); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mspace), __pyx_ptype_4h5py_3h5s_SpaceID, 0, "mspace", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fspace), __pyx_ptype_4h5py_3h5s_SpaceID, 0, "fspace", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_arr_obj), __pyx_ptype_4h5py_5numpy_ndarray, 0, "arr_obj", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mtype), __pyx_ptype_4h5py_3h5t_TypeID, 1, "mtype", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dxpl), __pyx_ptype_4h5py_3h5p_PropID, 1, "dxpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_4write(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self), __pyx_v_mspace, __pyx_v_fspace, __pyx_v_arr_obj, __pyx_v_mtype, __pyx_v_dxpl); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5d.pyx":185 -+ * dset_rw(self_id, mtype_id, mspace_id, fspace_id, plist_id, data, 1) -+ * -+ * def write(self, SpaceID mspace not None, SpaceID fspace not None, # <<<<<<<<<<<<<< -+ * ndarray arr_obj not None, TypeID mtype=None, -+ * PropID dxpl=None): -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_4write(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_mspace, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_fspace, PyArrayObject *__pyx_v_arr_obj, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_mtype, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_dxpl) { -+ hid_t __pyx_v_self_id; -+ hid_t __pyx_v_mtype_id; -+ hid_t __pyx_v_mspace_id; -+ hid_t __pyx_v_fspace_id; -+ hid_t __pyx_v_plist_id; -+ void *__pyx_v_data; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ int __pyx_t_1; -+ PyObject *__pyx_t_2 = NULL; -+ PyObject *__pyx_t_3 = NULL; -+ int __pyx_t_4; -+ struct __pyx_opt_args_4h5py_5utils_check_numpy_read __pyx_t_5; -+ herr_t __pyx_t_6; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("write", 0); -+ __Pyx_INCREF((PyObject *)__pyx_v_mtype); - - /* "h5py/h5d.pyx":210 - * cdef int oldflags -@@ -2787,9 +2633,9 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - __Pyx_DECREF(((PyObject *)__pyx_v_mtype)); - __pyx_v_mtype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_3); - __pyx_t_3 = 0; -- goto __pyx_L6; -+ goto __pyx_L3; - } -- __pyx_L6:; -+ __pyx_L3:; - - /* "h5py/h5d.pyx":212 - * if mtype is None: -@@ -2809,7 +2655,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * mtype_id = mtype.id - * mspace_id = mspace.id - */ -- __pyx_v_self_id = ((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)->__pyx_base.id; -+ __pyx_v_self_id = __pyx_v_self->__pyx_base.id; - - /* "h5py/h5d.pyx":215 - * -@@ -2870,15 +2716,32 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5d.DatasetID.write"); -+ __Pyx_AddTraceback("h5py.h5d.DatasetID.write", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_mtype); -+ __Pyx_XDECREF((PyObject *)__pyx_v_mtype); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_7extend(PyObject *__pyx_v_self, PyObject *__pyx_v_shape); /*proto*/ -+static char __pyx_doc_4h5py_3h5d_9DatasetID_6extend[] = " (TUPLE shape)\n\n Extend the given dataset so it's at least as big as \"shape\". Note\n that a dataset may only be extended up to the maximum dimensions of\n its dataspace, which are fixed when the dataset is created.\n "; -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_7extend(PyObject *__pyx_v_self, PyObject *__pyx_v_shape) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("extend (wrapper)", 0); -+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_shape), (&PyTuple_Type), 1, "shape", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_6extend(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self), ((PyObject*)__pyx_v_shape)); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5d.pyx":223 - * dset_rw(self_id, mtype_id, mspace_id, fspace_id, plist_id, data, 0) - * -@@ -2887,13 +2750,12 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * - */ - --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_3extend(PyObject *__pyx_v_self, PyObject *__pyx_v_shape); /*proto*/ --static char __pyx_doc_4h5py_3h5d_9DatasetID_3extend[] = " (TUPLE shape)\n\n Extend the given dataset so it's at least as big as \"shape\". Note\n that a dataset may only be extended up to the maximum dimensions of\n its dataspace, which are fixed when the dataset is created.\n "; --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_3extend(PyObject *__pyx_v_self, PyObject *__pyx_v_shape) { -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_6extend(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self, PyObject *__pyx_v_shape) { - int __pyx_v_rank; - hid_t __pyx_v_space_id; - hsize_t *__pyx_v_dims; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; - int __pyx_t_2; - Py_ssize_t __pyx_t_3; -@@ -2903,8 +2765,10 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - PyObject *__pyx_t_7 = NULL; - void *__pyx_t_8; - herr_t __pyx_t_9; -- __Pyx_RefNannySetupContext("extend"); -- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_shape), (&PyTuple_Type), 1, "shape", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("extend", 0); - - /* "h5py/h5d.pyx":231 - * """ -@@ -2940,7 +2804,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * rank = H5Sget_simple_extent_ndims(space_id) - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dget_space(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dget_space(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_space_id = __pyx_t_1; - - /* "h5py/h5d.pyx":236 -@@ -2950,7 +2814,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * - * if len(shape) != rank: - */ -- __pyx_t_2 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_2 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_rank = __pyx_t_2; - - /* "h5py/h5d.pyx":238 -@@ -2960,10 +2824,11 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * raise TypeError("New shape length (%d) must match dataset rank (%d)" % (len(shape), rank)) - * - */ -- if (unlikely(__pyx_v_shape == Py_None)) { -- PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ if (unlikely(((PyObject *)__pyx_v_shape) == Py_None)) { -+ PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L4;} - } -- __pyx_t_3 = PyTuple_GET_SIZE(((PyObject *)__pyx_v_shape)); -+ __pyx_t_3 = PyTuple_GET_SIZE(((PyObject *)__pyx_v_shape)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_t_4 = (__pyx_t_3 != __pyx_v_rank); - if (__pyx_t_4) { - -@@ -2974,39 +2839,40 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * - * dims = emalloc(sizeof(hsize_t)*rank) - */ -- if (unlikely(__pyx_v_shape == Py_None)) { -- PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ if (unlikely(((PyObject *)__pyx_v_shape) == Py_None)) { -+ PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L4;} - } -- __pyx_t_3 = PyTuple_GET_SIZE(((PyObject *)__pyx_v_shape)); -- __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_3 = PyTuple_GET_SIZE(((PyObject *)__pyx_v_shape)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L4;} -+ __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_5); -- __pyx_t_6 = PyInt_FromLong(__pyx_v_rank); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_6 = PyInt_FromLong(__pyx_v_rank); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_6); -- __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L6;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_7)); -+ __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L4;} -+ __Pyx_GOTREF(__pyx_t_7); - PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_5 = 0; - __pyx_t_6 = 0; -- __pyx_t_6 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_4), ((PyObject *)__pyx_t_7)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_6 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_4), ((PyObject *)__pyx_t_7)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(((PyObject *)__pyx_t_6)); - __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; -- __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L6;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_7)); -+ __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L4;} -+ __Pyx_GOTREF(__pyx_t_7); - PyTuple_SET_ITEM(__pyx_t_7, 0, ((PyObject *)__pyx_t_6)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_6)); - __pyx_t_6 = 0; -- __pyx_t_6 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_6 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; -- __Pyx_Raise(__pyx_t_6, 0, 0); -+ __Pyx_Raise(__pyx_t_6, 0, 0, 0); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L6;} -- goto __pyx_L8; -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L4;} -+ goto __pyx_L6; - } -- __pyx_L8:; -+ __pyx_L6:; - - /* "h5py/h5d.pyx":241 - * raise TypeError("New shape length (%d) must match dataset rank (%d)" % (len(shape), rank)) -@@ -3015,7 +2881,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * convert_tuple(shape, dims, rank) - * H5Dextend(self.id, dims) - */ -- __pyx_t_8 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_8 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_8 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_8 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_dims = ((hsize_t *)__pyx_t_8); - - /* "h5py/h5d.pyx":242 -@@ -3025,7 +2891,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * H5Dextend(self.id, dims) - * - */ -- __pyx_t_2 = __pyx_f_4h5py_5utils_convert_tuple(((PyObject *)__pyx_v_shape), __pyx_v_dims, __pyx_v_rank); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_2 = __pyx_f_4h5py_5utils_convert_tuple(((PyObject *)__pyx_v_shape), __pyx_v_dims, __pyx_v_rank); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L4;} - - /* "h5py/h5d.pyx":243 - * dims = emalloc(sizeof(hsize_t)*rank) -@@ -3034,7 +2900,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * - * finally: - */ -- __pyx_t_9 = __pyx_f_4h5py_4defs_H5Dextend(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)->__pyx_base.id, __pyx_v_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_9 = __pyx_f_4h5py_4defs_H5Dextend(__pyx_v_self->__pyx_base.id, __pyx_v_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L4;} - } - - /* "h5py/h5d.pyx":246 -@@ -3049,17 +2915,17 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L7; -- __pyx_L6: { -+ __pyx_why = 0; goto __pyx_L5; -+ __pyx_L4: { - __pyx_why = 4; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L7; -+ goto __pyx_L5; - } -- __pyx_L7:; -+ __pyx_L5:; - __pyx_f_4h5py_5utils_efree(__pyx_v_dims); - - /* "h5py/h5d.pyx":247 -@@ -3078,19 +2944,19 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * - * - */ -- __pyx_t_9 = __pyx_f_4h5py_4defs_H5Sclose(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L9_error;} -- goto __pyx_L10; -+ __pyx_t_9 = __pyx_f_4h5py_4defs_H5Sclose(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ goto __pyx_L8; - } -- __pyx_L10:; -- goto __pyx_L11; -- __pyx_L9_error:; -+ __pyx_L8:; -+ goto __pyx_L9; -+ __pyx_L7_error:; - if (__pyx_why == 4) { - Py_XDECREF(__pyx_exc_type); - Py_XDECREF(__pyx_exc_value); - Py_XDECREF(__pyx_exc_tb); - } - goto __pyx_L1_error; -- __pyx_L11:; -+ __pyx_L9:; - switch (__pyx_why) { - case 4: { - __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb); -@@ -3109,7 +2975,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); -- __Pyx_AddTraceback("h5py.h5d.DatasetID.extend"); -+ __Pyx_AddTraceback("h5py.h5d.DatasetID.extend", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3117,6 +2983,23 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_9set_extent(PyObject *__pyx_v_self, PyObject *__pyx_v_shape); /*proto*/ -+static char __pyx_doc_4h5py_3h5d_9DatasetID_8set_extent[] = " (TUPLE shape)\n\n Set the size of the dataspace to match the given shape. If the new\n size is larger in any dimension, it must be compatible with the\n maximum dataspace size.\n "; -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_9set_extent(PyObject *__pyx_v_self, PyObject *__pyx_v_shape) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_extent (wrapper)", 0); -+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_shape), (&PyTuple_Type), 1, "shape", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_8set_extent(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self), ((PyObject*)__pyx_v_shape)); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5d.pyx":251 - * - * -@@ -3125,13 +3008,12 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * - */ - --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_4set_extent(PyObject *__pyx_v_self, PyObject *__pyx_v_shape); /*proto*/ --static char __pyx_doc_4h5py_3h5d_9DatasetID_4set_extent[] = " (TUPLE shape)\n\n Set the size of the dataspace to match the given shape. If the new\n size is larger in any dimension, it must be compatible with the\n maximum dataspace size.\n "; --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_4set_extent(PyObject *__pyx_v_self, PyObject *__pyx_v_shape) { -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_8set_extent(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self, PyObject *__pyx_v_shape) { - int __pyx_v_rank; - hid_t __pyx_v_space_id; - hsize_t *__pyx_v_dims; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; - int __pyx_t_2; - Py_ssize_t __pyx_t_3; -@@ -3141,8 +3023,10 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - PyObject *__pyx_t_7 = NULL; - void *__pyx_t_8; - herr_t __pyx_t_9; -- __Pyx_RefNannySetupContext("set_extent"); -- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_shape), (&PyTuple_Type), 1, "shape", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_extent", 0); - - /* "h5py/h5d.pyx":259 - * """ -@@ -3178,7 +3062,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * rank = H5Sget_simple_extent_ndims(space_id) - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dget_space(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dget_space(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_space_id = __pyx_t_1; - - /* "h5py/h5d.pyx":264 -@@ -3188,7 +3072,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * - * if len(shape) != rank: - */ -- __pyx_t_2 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_2 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_rank = __pyx_t_2; - - /* "h5py/h5d.pyx":266 -@@ -3198,10 +3082,11 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * raise TypeError("New shape length (%d) must match dataset rank (%d)" % (len(shape), rank)) - * - */ -- if (unlikely(__pyx_v_shape == Py_None)) { -- PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ if (unlikely(((PyObject *)__pyx_v_shape) == Py_None)) { -+ PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L4;} - } -- __pyx_t_3 = PyTuple_GET_SIZE(((PyObject *)__pyx_v_shape)); -+ __pyx_t_3 = PyTuple_GET_SIZE(((PyObject *)__pyx_v_shape)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_t_4 = (__pyx_t_3 != __pyx_v_rank); - if (__pyx_t_4) { - -@@ -3212,39 +3097,40 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * - * dims = emalloc(sizeof(hsize_t)*rank) - */ -- if (unlikely(__pyx_v_shape == Py_None)) { -- PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ if (unlikely(((PyObject *)__pyx_v_shape) == Py_None)) { -+ PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L4;} - } -- __pyx_t_3 = PyTuple_GET_SIZE(((PyObject *)__pyx_v_shape)); -- __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_3 = PyTuple_GET_SIZE(((PyObject *)__pyx_v_shape)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L4;} -+ __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_5); -- __pyx_t_6 = PyInt_FromLong(__pyx_v_rank); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_6 = PyInt_FromLong(__pyx_v_rank); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_6); -- __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L6;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_7)); -+ __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L4;} -+ __Pyx_GOTREF(__pyx_t_7); - PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_5 = 0; - __pyx_t_6 = 0; -- __pyx_t_6 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_4), ((PyObject *)__pyx_t_7)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_6 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_4), ((PyObject *)__pyx_t_7)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(((PyObject *)__pyx_t_6)); - __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; -- __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L6;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_7)); -+ __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L4;} -+ __Pyx_GOTREF(__pyx_t_7); - PyTuple_SET_ITEM(__pyx_t_7, 0, ((PyObject *)__pyx_t_6)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_6)); - __pyx_t_6 = 0; -- __pyx_t_6 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_6 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; -- __Pyx_Raise(__pyx_t_6, 0, 0); -+ __Pyx_Raise(__pyx_t_6, 0, 0, 0); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L6;} -- goto __pyx_L8; -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L4;} -+ goto __pyx_L6; - } -- __pyx_L8:; -+ __pyx_L6:; - - /* "h5py/h5d.pyx":269 - * raise TypeError("New shape length (%d) must match dataset rank (%d)" % (len(shape), rank)) -@@ -3253,7 +3139,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * convert_tuple(shape, dims, rank) - * H5Dset_extent(self.id, dims) - */ -- __pyx_t_8 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_8 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_8 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_8 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_dims = ((hsize_t *)__pyx_t_8); - - /* "h5py/h5d.pyx":270 -@@ -3263,7 +3149,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * H5Dset_extent(self.id, dims) - * - */ -- __pyx_t_2 = __pyx_f_4h5py_5utils_convert_tuple(((PyObject *)__pyx_v_shape), __pyx_v_dims, __pyx_v_rank); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_2 = __pyx_f_4h5py_5utils_convert_tuple(((PyObject *)__pyx_v_shape), __pyx_v_dims, __pyx_v_rank); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L4;} - - /* "h5py/h5d.pyx":271 - * dims = emalloc(sizeof(hsize_t)*rank) -@@ -3272,7 +3158,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * - * finally: - */ -- __pyx_t_9 = __pyx_f_4h5py_4defs_H5Dset_extent(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)->__pyx_base.id, __pyx_v_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_9 = __pyx_f_4h5py_4defs_H5Dset_extent(__pyx_v_self->__pyx_base.id, __pyx_v_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L4;} - } - - /* "h5py/h5d.pyx":274 -@@ -3287,17 +3173,17 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L7; -- __pyx_L6: { -+ __pyx_why = 0; goto __pyx_L5; -+ __pyx_L4: { - __pyx_why = 4; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L7; -+ goto __pyx_L5; - } -- __pyx_L7:; -+ __pyx_L5:; - __pyx_f_4h5py_5utils_efree(__pyx_v_dims); - - /* "h5py/h5d.pyx":275 -@@ -3316,19 +3202,19 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * - * - */ -- __pyx_t_9 = __pyx_f_4h5py_4defs_H5Sclose(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L9_error;} -- goto __pyx_L10; -+ __pyx_t_9 = __pyx_f_4h5py_4defs_H5Sclose(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ goto __pyx_L8; - } -- __pyx_L10:; -- goto __pyx_L11; -- __pyx_L9_error:; -+ __pyx_L8:; -+ goto __pyx_L9; -+ __pyx_L7_error:; - if (__pyx_why == 4) { - Py_XDECREF(__pyx_exc_type); - Py_XDECREF(__pyx_exc_value); - Py_XDECREF(__pyx_exc_tb); - } - goto __pyx_L1_error; -- __pyx_L11:; -+ __pyx_L9:; - switch (__pyx_why) { - case 4: { - __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb); -@@ -3347,7 +3233,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); -- __Pyx_AddTraceback("h5py.h5d.DatasetID.set_extent"); -+ __Pyx_AddTraceback("h5py.h5d.DatasetID.set_extent", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3355,6 +3241,18 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_11get_space(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5d_9DatasetID_10get_space[] = " () => SpaceID\n\n Create and return a new copy of the dataspace for this dataset.\n "; -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_11get_space(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_space (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_10get_space(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5d.pyx":280 - * - * -@@ -3363,15 +3261,17 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * - */ - --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_5get_space(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5d_9DatasetID_5get_space[] = " () => SpaceID\n\n Create and return a new copy of the dataspace for this dataset.\n "; --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_5get_space(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_10get_space(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - hid_t __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; -- __Pyx_RefNannySetupContext("get_space"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_space", 0); - - /* "h5py/h5d.pyx":285 - * Create and return a new copy of the dataspace for this dataset. -@@ -3383,11 +3283,11 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5s_SpaceID)), __pyx_n_s__open); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_2 = __pyx_f_4h5py_4defs_H5Dget_space(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = __pyx_f_4h5py_4defs_H5Dget_space(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; -@@ -3405,7 +3305,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5d.DatasetID.get_space"); -+ __Pyx_AddTraceback("h5py.h5d.DatasetID.get_space", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3413,6 +3313,18 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_13get_space_status(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5d_9DatasetID_12get_space_status[] = " () => INT space_status_code\n\n Determine if space has been allocated for a dataset.\n Return value is one of:\n\n * SPACE_STATUS_NOT_ALLOCATED\n * SPACE_STATUS_PART_ALLOCATED\n * SPACE_STATUS_ALLOCATED\n "; -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_13get_space_status(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_space_status (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_12get_space_status(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5d.pyx":288 - * - * -@@ -3421,14 +3333,16 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * - */ - --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_6get_space_status(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5d_9DatasetID_6get_space_status[] = " () => INT space_status_code\n\n Determine if space has been allocated for a dataset.\n Return value is one of:\n\n * SPACE_STATUS_NOT_ALLOCATED\n * SPACE_STATUS_PART_ALLOCATED\n * SPACE_STATUS_ALLOCATED\n "; --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_6get_space_status(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_12get_space_status(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self) { - H5D_space_status_t __pyx_v_status; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_space_status"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_space_status", 0); - - /* "h5py/h5d.pyx":299 - * """ -@@ -3437,7 +3351,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * return status - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dget_space_status(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)->__pyx_base.id, (&__pyx_v_status)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dget_space_status(__pyx_v_self->__pyx_base.id, (&__pyx_v_status)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5d.pyx":300 - * cdef H5D_space_status_t status -@@ -3457,7 +3371,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5d.DatasetID.get_space_status"); -+ __Pyx_AddTraceback("h5py.h5d.DatasetID.get_space_status", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3465,6 +3379,18 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_15get_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5d_9DatasetID_14get_type[] = " () => TypeID\n\n Create and return a new copy of the datatype for this dataset.\n "; -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_15get_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_type (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_14get_type(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5d.pyx":303 - * - * -@@ -3473,13 +3399,15 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * - */ - --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_7get_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5d_9DatasetID_7get_type[] = " () => TypeID\n\n Create and return a new copy of the datatype for this dataset.\n "; --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_7get_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_14get_type(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_type"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_type", 0); - - /* "h5py/h5d.pyx":308 - * Create and return a new copy of the datatype for this dataset. -@@ -3489,7 +3417,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dget_type(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dget_type(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_1, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -3500,7 +3428,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5d.DatasetID.get_type"); -+ __Pyx_AddTraceback("h5py.h5d.DatasetID.get_type", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3508,6 +3436,18 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_17get_create_plist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5d_9DatasetID_16get_create_plist[] = " () => PropDCID\n\n Create an return a new copy of the dataset creation property list\n used when this dataset was created.\n "; -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_17get_create_plist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_create_plist (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_16get_create_plist(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5d.pyx":311 - * - * -@@ -3516,13 +3456,15 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * - */ - --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_8get_create_plist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5d_9DatasetID_8get_create_plist[] = " () => PropDCID\n\n Create an return a new copy of the dataset creation property list\n used when this dataset was created.\n "; --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_8get_create_plist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_16get_create_plist(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_create_plist"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_create_plist", 0); - - /* "h5py/h5d.pyx":317 - * used when this dataset was created. -@@ -3532,7 +3474,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dget_create_plist(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dget_create_plist(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __pyx_f_4h5py_3h5p_propwrap(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -3543,7 +3485,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5d.DatasetID.get_create_plist"); -+ __Pyx_AddTraceback("h5py.h5d.DatasetID.get_create_plist", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3551,6 +3493,18 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_19get_offset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5d_9DatasetID_18get_offset[] = " () => LONG offset or None\n\n Get the offset of this dataset in the file, in bytes, or None if\n it doesn't have one. This is always the case for datasets which\n use chunked storage, compact datasets, and datasets for which space\n has not yet been allocated in the file.\n "; -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_19get_offset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_offset (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_18get_offset(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5d.pyx":320 - * - * -@@ -3559,15 +3513,17 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * - */ - --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_9get_offset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5d_9DatasetID_9get_offset[] = " () => LONG offset or None\n\n Get the offset of this dataset in the file, in bytes, or None if\n it doesn't have one. This is always the case for datasets which\n use chunked storage, compact datasets, and datasets for which space\n has not yet been allocated in the file.\n "; --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_9get_offset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_18get_offset(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self) { - haddr_t __pyx_v_offset; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - haddr_t __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("get_offset"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_offset", 0); - - /* "h5py/h5d.pyx":329 - * """ -@@ -3576,7 +3532,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * if offset == HADDR_UNDEF: - * return None - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dget_offset(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dget_offset(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_offset = __pyx_t_1; - - /* "h5py/h5d.pyx":330 -@@ -3600,9 +3556,9 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - __Pyx_INCREF(Py_None); - __pyx_r = Py_None; - goto __pyx_L0; -- goto __pyx_L5; -+ goto __pyx_L3; - } -- __pyx_L5:; -+ __pyx_L3:; - - /* "h5py/h5d.pyx":332 - * if offset == HADDR_UNDEF: -@@ -3622,7 +3578,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5d.DatasetID.get_offset"); -+ __Pyx_AddTraceback("h5py.h5d.DatasetID.get_offset", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3630,6 +3586,18 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_21get_storage_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5d_9DatasetID_20get_storage_size[] = " () => LONG storage_size\n\n Determine the amount of file space required for a dataset. Note\n this only counts the space which has actually been allocated; it\n may even be zero.\n "; -+static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_21get_storage_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_storage_size (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_20get_storage_size(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5d.pyx":335 - * - * -@@ -3638,13 +3606,15 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * - */ - --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_10get_storage_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5d_9DatasetID_10get_storage_size[] = " () => LONG storage_size\n\n Determine the amount of file space required for a dataset. Note\n this only counts the space which has actually been allocated; it\n may even be zero.\n "; --static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_10get_storage_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_20get_storage_size(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hsize_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_storage_size"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_storage_size", 0); - - /* "h5py/h5d.pyx":342 - * may even be zero. -@@ -3654,7 +3624,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dget_storage_size(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dget_storage_size(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyInt_to_py_hsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -3665,7 +3635,7 @@ static PyObject *__pyx_pf_4h5py_3h5d_9Da - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5d.DatasetID.get_storage_size"); -+ __Pyx_AddTraceback("h5py.h5d.DatasetID.get_storage_size", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3684,16 +3654,14 @@ static PyObject *__pyx_tp_new_4h5py_3h5d - - static void __pyx_tp_dealloc_4h5py_3h5d_DatasetID(PyObject *o) { - struct __pyx_obj_4h5py_3h5d_DatasetID *p = (struct __pyx_obj_4h5py_3h5d_DatasetID *)o; -- Py_XDECREF(p->_dtype); -- __pyx_ptype_4h5py_8_objects_ObjectID->tp_dealloc(o); -+ Py_CLEAR(p->_dtype); -+ if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) __pyx_ptype_4h5py_8_objects_ObjectID->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4h5py_3h5d_DatasetID); - } - - static int __pyx_tp_traverse_4h5py_3h5d_DatasetID(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_4h5py_3h5d_DatasetID *p = (struct __pyx_obj_4h5py_3h5d_DatasetID *)o; -- if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse) { -- e = __pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse(o, v, a); if (e) return e; -- } -+ e = ((likely(__pyx_ptype_4h5py_8_objects_ObjectID)) ? ((__pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse) ? __pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_4h5py_3h5d_DatasetID)); if (e) return e; - if (p->_dtype) { - e = (*v)(p->_dtype, a); if (e) return e; - } -@@ -3703,39 +3671,37 @@ static int __pyx_tp_traverse_4h5py_3h5d_ - static int __pyx_tp_clear_4h5py_3h5d_DatasetID(PyObject *o) { - struct __pyx_obj_4h5py_3h5d_DatasetID *p = (struct __pyx_obj_4h5py_3h5d_DatasetID *)o; - PyObject* tmp; -- if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_clear) { -- __pyx_ptype_4h5py_8_objects_ObjectID->tp_clear(o); -- } -+ if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) { if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_clear) __pyx_ptype_4h5py_8_objects_ObjectID->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_4h5py_3h5d_DatasetID); - tmp = ((PyObject*)p->_dtype); - p->_dtype = Py_None; Py_INCREF(Py_None); - Py_XDECREF(tmp); - return 0; - } - --static PyObject *__pyx_getprop_4h5py_3h5d_9DatasetID_dtype(PyObject *o, void *x) { -- return __pyx_pf_4h5py_3h5d_9DatasetID_5dtype___get__(o); -+static PyObject *__pyx_getprop_4h5py_3h5d_9DatasetID_dtype(PyObject *o, CYTHON_UNUSED void *x) { -+ return __pyx_pw_4h5py_3h5d_9DatasetID_5dtype_1__get__(o); - } - --static PyObject *__pyx_getprop_4h5py_3h5d_9DatasetID_shape(PyObject *o, void *x) { -- return __pyx_pf_4h5py_3h5d_9DatasetID_5shape___get__(o); -+static PyObject *__pyx_getprop_4h5py_3h5d_9DatasetID_shape(PyObject *o, CYTHON_UNUSED void *x) { -+ return __pyx_pw_4h5py_3h5d_9DatasetID_5shape_1__get__(o); - } - --static PyObject *__pyx_getprop_4h5py_3h5d_9DatasetID_rank(PyObject *o, void *x) { -- return __pyx_pf_4h5py_3h5d_9DatasetID_4rank___get__(o); -+static PyObject *__pyx_getprop_4h5py_3h5d_9DatasetID_rank(PyObject *o, CYTHON_UNUSED void *x) { -+ return __pyx_pw_4h5py_3h5d_9DatasetID_4rank_1__get__(o); - } - - static PyMethodDef __pyx_methods_4h5py_3h5d_DatasetID[] = { -- {__Pyx_NAMESTR("_close"), (PyCFunction)__pyx_pf_4h5py_3h5d_9DatasetID__close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID__close)}, -- {__Pyx_NAMESTR("read"), (PyCFunction)__pyx_pf_4h5py_3h5d_9DatasetID_1read, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_1read)}, -- {__Pyx_NAMESTR("write"), (PyCFunction)__pyx_pf_4h5py_3h5d_9DatasetID_2write, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_2write)}, -- {__Pyx_NAMESTR("extend"), (PyCFunction)__pyx_pf_4h5py_3h5d_9DatasetID_3extend, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_3extend)}, -- {__Pyx_NAMESTR("set_extent"), (PyCFunction)__pyx_pf_4h5py_3h5d_9DatasetID_4set_extent, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_4set_extent)}, -- {__Pyx_NAMESTR("get_space"), (PyCFunction)__pyx_pf_4h5py_3h5d_9DatasetID_5get_space, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_5get_space)}, -- {__Pyx_NAMESTR("get_space_status"), (PyCFunction)__pyx_pf_4h5py_3h5d_9DatasetID_6get_space_status, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_6get_space_status)}, -- {__Pyx_NAMESTR("get_type"), (PyCFunction)__pyx_pf_4h5py_3h5d_9DatasetID_7get_type, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_7get_type)}, -- {__Pyx_NAMESTR("get_create_plist"), (PyCFunction)__pyx_pf_4h5py_3h5d_9DatasetID_8get_create_plist, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_8get_create_plist)}, -- {__Pyx_NAMESTR("get_offset"), (PyCFunction)__pyx_pf_4h5py_3h5d_9DatasetID_9get_offset, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_9get_offset)}, -- {__Pyx_NAMESTR("get_storage_size"), (PyCFunction)__pyx_pf_4h5py_3h5d_9DatasetID_10get_storage_size, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_10get_storage_size)}, -+ {__Pyx_NAMESTR("_close"), (PyCFunction)__pyx_pw_4h5py_3h5d_9DatasetID_1_close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID__close)}, -+ {__Pyx_NAMESTR("read"), (PyCFunction)__pyx_pw_4h5py_3h5d_9DatasetID_3read, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_2read)}, -+ {__Pyx_NAMESTR("write"), (PyCFunction)__pyx_pw_4h5py_3h5d_9DatasetID_5write, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_4write)}, -+ {__Pyx_NAMESTR("extend"), (PyCFunction)__pyx_pw_4h5py_3h5d_9DatasetID_7extend, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_6extend)}, -+ {__Pyx_NAMESTR("set_extent"), (PyCFunction)__pyx_pw_4h5py_3h5d_9DatasetID_9set_extent, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_8set_extent)}, -+ {__Pyx_NAMESTR("get_space"), (PyCFunction)__pyx_pw_4h5py_3h5d_9DatasetID_11get_space, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_10get_space)}, -+ {__Pyx_NAMESTR("get_space_status"), (PyCFunction)__pyx_pw_4h5py_3h5d_9DatasetID_13get_space_status, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_12get_space_status)}, -+ {__Pyx_NAMESTR("get_type"), (PyCFunction)__pyx_pw_4h5py_3h5d_9DatasetID_15get_type, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_14get_type)}, -+ {__Pyx_NAMESTR("get_create_plist"), (PyCFunction)__pyx_pw_4h5py_3h5d_9DatasetID_17get_create_plist, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_16get_create_plist)}, -+ {__Pyx_NAMESTR("get_offset"), (PyCFunction)__pyx_pw_4h5py_3h5d_9DatasetID_19get_offset, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_18get_offset)}, -+ {__Pyx_NAMESTR("get_storage_size"), (PyCFunction)__pyx_pw_4h5py_3h5d_9DatasetID_21get_storage_size, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_20get_storage_size)}, - {0, 0, 0, 0} - }; - -@@ -3924,7 +3890,8 @@ static __Pyx_StringTabEntry __pyx_string - {&__pyx_n_s_11, __pyx_k_11, sizeof(__pyx_k_11), 0, 0, 1, 1}, - {&__pyx_n_s_12, __pyx_k_12, sizeof(__pyx_k_12), 0, 0, 1, 1}, - {&__pyx_n_s_13, __pyx_k_13, sizeof(__pyx_k_13), 0, 0, 1, 1}, -- {&__pyx_n_s_14, __pyx_k_14, sizeof(__pyx_k_14), 0, 0, 1, 1}, -+ {&__pyx_kp_s_16, __pyx_k_16, sizeof(__pyx_k_16), 0, 0, 1, 0}, -+ {&__pyx_n_s_17, __pyx_k_17, sizeof(__pyx_k_17), 0, 0, 1, 1}, - {&__pyx_n_s_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 1, 1}, - {&__pyx_kp_s_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 1, 0}, - {&__pyx_n_s_9, __pyx_k_9, sizeof(__pyx_k_9), 0, 0, 1, 1}, -@@ -3944,17 +3911,18 @@ static __Pyx_StringTabEntry __pyx_string - {&__pyx_n_s____exit__, __pyx_k____exit__, sizeof(__pyx_k____exit__), 0, 0, 1, 1}, - {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1}, - {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1}, -- {&__pyx_n_s___dtype, __pyx_k___dtype, sizeof(__pyx_k___dtype), 0, 0, 1, 1}, - {&__pyx_n_s___objects, __pyx_k___objects, sizeof(__pyx_k___objects), 0, 0, 1, 1}, - {&__pyx_n_s__arr_obj, __pyx_k__arr_obj, sizeof(__pyx_k__arr_obj), 0, 0, 1, 1}, -+ {&__pyx_n_s__cname, __pyx_k__cname, sizeof(__pyx_k__cname), 0, 0, 1, 1}, - {&__pyx_n_s__create, __pyx_k__create, sizeof(__pyx_k__create), 0, 0, 1, 1}, - {&__pyx_n_s__dcpl, __pyx_k__dcpl, sizeof(__pyx_k__dcpl), 0, 0, 1, 1}, -+ {&__pyx_n_s__dsid, __pyx_k__dsid, sizeof(__pyx_k__dsid), 0, 0, 1, 1}, - {&__pyx_n_s__dtype, __pyx_k__dtype, sizeof(__pyx_k__dtype), 0, 0, 1, 1}, - {&__pyx_n_s__dxpl, __pyx_k__dxpl, sizeof(__pyx_k__dxpl), 0, 0, 1, 1}, - {&__pyx_n_s__fspace, __pyx_k__fspace, sizeof(__pyx_k__fspace), 0, 0, 1, 1}, - {&__pyx_n_s__get_space, __pyx_k__get_space, sizeof(__pyx_k__get_space), 0, 0, 1, 1}, - {&__pyx_n_s__get_type, __pyx_k__get_type, sizeof(__pyx_k__get_type), 0, 0, 1, 1}, -- {&__pyx_n_s__id, __pyx_k__id, sizeof(__pyx_k__id), 0, 0, 1, 1}, -+ {&__pyx_n_s__h5py, __pyx_k__h5py, sizeof(__pyx_k__h5py), 0, 0, 1, 1}, - {&__pyx_n_s__lcpl, __pyx_k__lcpl, sizeof(__pyx_k__lcpl), 0, 0, 1, 1}, - {&__pyx_n_s__loc, __pyx_k__loc, sizeof(__pyx_k__loc), 0, 0, 1, 1}, - {&__pyx_n_s__lock, __pyx_k__lock, sizeof(__pyx_k__lock), 0, 0, 1, 1}, -@@ -3976,7 +3944,8 @@ static int __Pyx_InitCachedBuiltins(void - } - - static int __Pyx_InitCachedConstants(void) { -- __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants"); -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - - /* "h5py/h5d.pyx":141 - * when their Python wrappers are freed. -@@ -3986,7 +3955,7 @@ static int __Pyx_InitCachedConstants(voi - * if not self.valid: - */ - __pyx_k_tuple_3 = PyTuple_New(3); if (unlikely(!__pyx_k_tuple_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_3)); -+ __Pyx_GOTREF(__pyx_k_tuple_3); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_k_tuple_3, 0, Py_None); - __Pyx_GIVEREF(Py_None); -@@ -3997,6 +3966,60 @@ static int __Pyx_InitCachedConstants(voi - PyTuple_SET_ITEM(__pyx_k_tuple_3, 2, Py_None); - __Pyx_GIVEREF(Py_None); - __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_3)); -+ -+ /* "h5py/h5d.pyx":58 -+ * # === Dataset operations ====================================================== -+ * -+ * def create(ObjectID loc not None, object name, TypeID tid not None, # <<<<<<<<<<<<<< -+ * SpaceID space not None, PropID dcpl=None, PropID lcpl=None): -+ * """ (objectID loc, STRING name or None, TypeID tid, SpaceID space, -+ */ -+ __pyx_k_tuple_14 = PyTuple_New(8); if (unlikely(!__pyx_k_tuple_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_14); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__loc)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_14, 0, ((PyObject *)__pyx_n_s__loc)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__loc)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_14, 1, ((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__tid)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_14, 2, ((PyObject *)__pyx_n_s__tid)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__tid)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__space)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_14, 3, ((PyObject *)__pyx_n_s__space)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__space)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__dcpl)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_14, 4, ((PyObject *)__pyx_n_s__dcpl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__dcpl)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__lcpl)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_14, 5, ((PyObject *)__pyx_n_s__lcpl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__lcpl)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__dsid)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_14, 6, ((PyObject *)__pyx_n_s__dsid)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__dsid)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__cname)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_14, 7, ((PyObject *)__pyx_n_s__cname)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__cname)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_14)); -+ __pyx_k_codeobj_15 = (PyObject*)__Pyx_PyCode_New(6, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_14, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_16, __pyx_n_s__create, 58, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5d.pyx":79 -+ * return DatasetID.open(dsid) -+ * -+ * def open(ObjectID loc not None, char* name): # <<<<<<<<<<<<<< -+ * """ (ObjectID loc, STRING name) => DatasetID -+ * -+ */ -+ __pyx_k_tuple_18 = PyTuple_New(2); if (unlikely(!__pyx_k_tuple_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_18); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__loc)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_18, 0, ((PyObject *)__pyx_n_s__loc)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__loc)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_18, 1, ((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_18)); -+ __pyx_k_codeobj_19 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_16, __pyx_n_s__open, 79, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; -@@ -4026,8 +4049,9 @@ PyMODINIT_FUNC PyInit_h5d(void) - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; -+ PyObject *__pyx_t_8 = NULL; -+ __Pyx_RefNannyDeclarations - #if CYTHON_REFNANNY -- void* __pyx_refnanny = NULL; - __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); - if (!__Pyx_RefNanny) { - PyErr_Clear(); -@@ -4035,12 +4059,19 @@ PyMODINIT_FUNC PyInit_h5d(void) - if (!__Pyx_RefNanny) - Py_FatalError("failed to import 'refnanny' module"); - } -- __pyx_refnanny = __Pyx_RefNanny->SetupContext("PyMODINIT_FUNC PyInit_h5d(void)", __LINE__, __FILE__); - #endif -+ __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5d(void)", 0); -+ if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- #ifdef __pyx_binding_PyCFunctionType_USED -- if (__pyx_binding_PyCFunctionType_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #ifdef __Pyx_CyFunction_USED -+ if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif -+ #ifdef __Pyx_FusedFunction_USED -+ if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif -+ #ifdef __Pyx_Generator_USED -+ if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - #endif - /*--- Library function declarations ---*/ - /*--- Threads initialization code ---*/ -@@ -4051,16 +4082,15 @@ PyMODINIT_FUNC PyInit_h5d(void) - #endif - /*--- Module creation code ---*/ - #if PY_MAJOR_VERSION < 3 -- __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5d"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_8), 0, PYTHON_API_VERSION); -+ __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5d"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_8), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); - #else - __pyx_m = PyModule_Create(&__pyx_moduledef); - #endif -- if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -- #if PY_MAJOR_VERSION < 3 -- Py_INCREF(__pyx_m); -+ if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #if CYTHON_COMPILING_IN_PYPY -+ Py_INCREF(__pyx_b); - #endif -- __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); -- if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - /*--- Initialize various global constants etc. ---*/ - if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -4072,6 +4102,7 @@ PyMODINIT_FUNC PyInit_h5d(void) - /*--- Constants init code ---*/ - if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /*--- Global init code ---*/ -+ /*--- Variable export code ---*/ - /*--- Function export code ---*/ - /*--- Type init code ---*/ - __pyx_ptype_4h5py_8_objects_ObjectID = __Pyx_ImportType("h5py._objects", "ObjectID", sizeof(struct __pyx_obj_4h5py_8_objects_ObjectID), 1); if (unlikely(!__pyx_ptype_4h5py_8_objects_ObjectID)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -4124,11 +4155,9 @@ PyMODINIT_FUNC PyInit_h5d(void) - __pyx_ptype_4h5py_3h5p_PropLCID = __Pyx_ImportType("h5py.h5p", "PropLCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropLCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropLCID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_ptype_4h5py_3h5p_PropLAID = __Pyx_ImportType("h5py.h5p", "PropLAID", sizeof(struct __pyx_obj_4h5py_3h5p_PropLAID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropLAID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_ptype_4h5py_3h5p_PropGCID = __Pyx_ImportType("h5py.h5p", "PropGCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropGCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropGCID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ /*--- Variable import code ---*/ - /*--- Function import code ---*/ - __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5open", (void (**)(void))&__pyx_f_4h5py_4defs_H5open, "herr_t (void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5close", (void (**)(void))&__pyx_f_4h5py_4defs_H5close, "herr_t (void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5get_libversion", (void (**)(void))&__pyx_f_4h5py_4defs_H5get_libversion, "herr_t (unsigned int *, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Dcreate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dcreate2, "hid_t (hid_t, char *, hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Dcreate_anon", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dcreate_anon, "hid_t (hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Dopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dopen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -4139,303 +4168,10 @@ PyMODINIT_FUNC PyInit_h5d(void) - if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_create_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_offset, "haddr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_storage_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_storage_size, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dread", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dread, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dwrite", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dwrite, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Dextend", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dextend, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dfill", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dfill, "herr_t (void *, hid_t, void *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dvlen_get_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dvlen_get_buf_size, "herr_t (hid_t, hid_t, hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dvlen_reclaim", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dvlen_reclaim, "herr_t (hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Diterate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Diterate, "herr_t (void *, hid_t, hid_t, H5D_operator_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Dset_extent", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dset_extent, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fcreate, "hid_t (char *, unsigned int, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fopen, "hid_t (char *, unsigned int, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fis_hdf5", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fis_hdf5, "htri_t (char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fflush", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fflush, "herr_t (hid_t, enum H5F_scope_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Freopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Freopen, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fmount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fmount, "herr_t (hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Funmount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Funmount, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_filesize", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_filesize, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_create_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_access_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_access_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_freespace", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_freespace, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_obj_count", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_obj_count, "int (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_obj_ids", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_obj_ids, "int (hid_t, unsigned int, int, hid_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_intent", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_intent, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate, "hid_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gopen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Glink2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Glink2, "herr_t (hid_t, char *, H5G_link_t, hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gunlink", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gunlink, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gmove2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gmove2, "herr_t (hid_t, char *, hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_num_objs", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_num_objs, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_objname_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_objname_by_idx, "int (hid_t, hsize_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_objtype_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_objtype_by_idx, "int (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Giterate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Giterate, "herr_t (hid_t, char *, int *, H5G_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_objinfo", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_objinfo, "herr_t (hid_t, char *, int, H5G_stat_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_linkval", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_linkval, "herr_t (hid_t, char *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gset_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gset_comment, "herr_t (hid_t, char *, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_comment, "int (hid_t, char *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate_anon", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate_anon, "hid_t (hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate2, "hid_t (hid_t, char *, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gopen2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gopen2, "hid_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_info, "herr_t (hid_t, H5G_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_info_by_name, "herr_t (hid_t, char *, H5G_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_create_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_type, "H5I_type_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_file_id", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_file_id, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Idec_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Idec_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iinc_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iinc_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lmove", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lmove, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcopy, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_hard", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_hard, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_soft", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_soft, "herr_t (char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ldelete", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ldelete, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ldelete_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ldelete_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_val", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_val, "herr_t (hid_t, char *, void *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_val_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_val_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, void *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lexists", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lexists, "htri_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_info, "herr_t (hid_t, char *, H5L_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5L_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_name_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_name_by_idx, "Py_ssize_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Literate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Literate, "herr_t (hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Literate_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Literate_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lvisit", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lvisit, "herr_t (hid_t, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lvisit_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lvisit_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lunpack_elink_val", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lunpack_elink_val, "herr_t (void *, size_t, unsigned int *, char **, char **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_external", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_external, "herr_t (char *, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oopen, "hid_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oopen_by_addr", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oopen_by_addr, "hid_t (hid_t, haddr_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oopen_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oopen_by_idx, "hid_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info, "herr_t (hid_t, H5O_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info_by_name, "herr_t (hid_t, char *, H5O_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5O_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Olink", (void (**)(void))&__pyx_f_4h5py_4defs_H5Olink, "herr_t (hid_t, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ocopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ocopy, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oincr_refcount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oincr_refcount, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Odecr_refcount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Odecr_refcount, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oset_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oset_comment, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oset_comment_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oset_comment_by_name, "herr_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_comment, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_comment_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_comment_by_name, "Py_ssize_t (hid_t, char *, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ovisit", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ovisit, "herr_t (hid_t, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ovisit_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ovisit_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pcreate, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pcopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_class, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pequal", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pequal, "htri_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pclose_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pclose_class, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_version", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_version, "herr_t (hid_t, unsigned int *, unsigned int *, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_userblock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_userblock, "herr_t (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_userblock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_userblock, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sizes", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sizes, "herr_t (hid_t, size_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sizes", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sizes, "herr_t (hid_t, size_t *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sym_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sym_k, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sym_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sym_k, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_istore_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_istore_k, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_istore_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_istore_k, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fclose_degree", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fclose_degree, "herr_t (hid_t, enum H5F_close_degree_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fclose_degree", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fclose_degree, "herr_t (hid_t, enum H5F_close_degree_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_core", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_core, "herr_t (hid_t, size_t, hbool_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fapl_core", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fapl_core, "herr_t (hid_t, size_t *, hbool_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_family", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_family, "herr_t (hid_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fapl_family", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fapl_family, "herr_t (hid_t, hsize_t *, hid_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_family_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_family_offset, "herr_t (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_family_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_family_offset, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_log", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_log, "herr_t (hid_t, char *, unsigned int, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_multi", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_multi, "herr_t (hid_t, H5FD_mem_t *, hid_t *, char **, haddr_t *, hbool_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_cache", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_cache, "herr_t (hid_t, int, int, size_t, double)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_cache", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_cache, "herr_t (hid_t, int *, int *, size_t *, double *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_sec2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_sec2, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_stdio", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_stdio, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_driver", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_driver, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_layout", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_layout, "herr_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_layout", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_layout, "H5D_layout_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_chunk", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_chunk, "herr_t (hid_t, int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_chunk", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_chunk, "int (hid_t, int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_deflate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_deflate, "herr_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fill_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fill_value, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fill_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fill_value, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pfill_value_defined", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pfill_value_defined, "herr_t (hid_t, H5D_fill_value_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fill_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fill_time, "herr_t (hid_t, H5D_fill_time_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fill_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fill_time, "herr_t (hid_t, H5D_fill_time_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_alloc_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_alloc_time, "herr_t (hid_t, H5D_alloc_time_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_alloc_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_alloc_time, "herr_t (hid_t, H5D_alloc_time_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_filter, "herr_t (hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pall_filters_avail", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pall_filters_avail, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_nfilters", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_nfilters, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_filter, "H5Z_filter_t (hid_t, unsigned int, unsigned int *, size_t *, unsigned int *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_filter_by_id", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_filter_by_id, "herr_t (hid_t, H5Z_filter_t, unsigned int *, size_t *, unsigned int *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pmodify_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pmodify_filter, "herr_t (hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Premove_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Premove_filter, "herr_t (hid_t, H5Z_filter_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fletcher32", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fletcher32, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_shuffle", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_shuffle, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_szip", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_szip, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_edc_check", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_edc_check, "herr_t (hid_t, enum H5Z_EDC_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_edc_check", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_edc_check, "enum H5Z_EDC_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sieve_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sieve_buf_size, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sieve_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sieve_buf_size, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_nlinks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_nlinks, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_nlinks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_nlinks, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_elink_prefix", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_elink_prefix, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_elink_prefix", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_elink_prefix, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_elink_fapl", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_elink_fapl, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_elink_fapl", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_elink_fapl, "herr_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_create_intermediate_group", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_create_intermediate_group, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_create_intermediate_group", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_create_intermediate_group, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_copy_object", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_copy_object, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_copy_object", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_copy_object, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_char_encoding", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_char_encoding, "herr_t (hid_t, H5T_cset_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_char_encoding", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_char_encoding, "herr_t (hid_t, H5T_cset_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_local_heap_size_hint", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_local_heap_size_hint, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_local_heap_size_hint", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_local_heap_size_hint, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_link_phase_change", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_link_phase_change, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_link_phase_change", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_link_phase_change, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_est_link_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_est_link_info, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_est_link_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_est_link_info, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_link_creation_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_link_creation_order, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_link_creation_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_link_creation_order, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_libver_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_libver_bounds, "herr_t (hid_t, H5F_libver_t, H5F_libver_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_libver_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_libver_bounds, "herr_t (hid_t, H5F_libver_t *, H5F_libver_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rcreate, "herr_t (void *, hid_t, char *, H5R_type_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rdereference", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rdereference, "hid_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_region", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_region, "hid_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_obj_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_obj_type, "enum H5G_obj_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_name, "Py_ssize_t (hid_t, H5R_type_t, void *, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Screate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Screate, "hid_t (H5S_class_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Scopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Scopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Sclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Screate_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Screate_simple, "hid_t (int, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sis_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sis_simple, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Soffset_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Soffset_simple, "herr_t (hid_t, hssize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_ndims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_dims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_dims, "int (hid_t, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_npoints", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_type, "H5S_class_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sextent_copy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sextent_copy, "herr_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sset_extent_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sset_extent_simple, "herr_t (hid_t, int, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sset_extent_none", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sset_extent_none, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_type, "H5S_sel_type (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_npoints", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_bounds, "herr_t (hid_t, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_all", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_all, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_none", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_none, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_valid", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_valid, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_elem_npoints", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_elem_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_elem_pointlist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_elem_pointlist, "herr_t (hid_t, hsize_t, hsize_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_elements", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_elements, "herr_t (hid_t, H5S_seloper_t, size_t, hsize_t **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_hyper_nblocks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_hyper_nblocks, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_hyper_blocklist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_hyper_blocklist, "herr_t (hid_t, hsize_t, hsize_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_hyperslab", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_hyperslab, "herr_t (hid_t, H5S_seloper_t, hsize_t *, hsize_t *, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sencode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sencode, "herr_t (hid_t, void *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sdecode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sdecode, "hid_t (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcreate, "hid_t (enum H5T_class_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Topen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Topen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommit", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommit, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommitted", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommitted, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tequal", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tequal, "htri_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tlock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tlock, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_class, "enum H5T_class_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_size, "size_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_super", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_super, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tdetect_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tdetect_class, "htri_t (hid_t, enum H5T_class_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_native_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_native_type, "hid_t (hid_t, enum H5T_direction_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tconvert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tconvert, "herr_t (hid_t, hid_t, size_t, void *, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_size, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_order, "H5T_order_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_order, "herr_t (hid_t, H5T_order_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_precision", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_precision, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_precision", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_precision, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_offset, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_offset, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_pad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_pad, "herr_t (hid_t, H5T_pad_t *, H5T_pad_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_pad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_pad, "herr_t (hid_t, H5T_pad_t, H5T_pad_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_sign", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_sign, "H5T_sign_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_sign", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_sign, "herr_t (hid_t, H5T_sign_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_fields", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_fields, "herr_t (hid_t, size_t *, size_t *, size_t *, size_t *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_fields", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_fields, "herr_t (hid_t, size_t, size_t, size_t, size_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_ebias", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_ebias, "size_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_ebias", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_ebias, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_norm", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_norm, "H5T_norm_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_norm", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_norm, "herr_t (hid_t, H5T_norm_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_inpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_inpad, "H5T_pad_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_inpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_inpad, "herr_t (hid_t, H5T_pad_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_cset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_cset, "H5T_cset_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_cset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_cset, "herr_t (hid_t, H5T_cset_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_strpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_strpad, "H5T_str_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_strpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_strpad, "herr_t (hid_t, H5T_str_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tvlen_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tvlen_create, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tis_variable_str", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tis_variable_str, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_nmembers", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_nmembers, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_class, "enum H5T_class_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_name, "char *(hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_type, "hid_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_offset, "int (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_index", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_index, "int (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tinsert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tinsert, "herr_t (hid_t, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tpack", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tpack, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_create, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_insert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_insert, "herr_t (hid_t, char *, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_nameof", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_nameof, "herr_t (hid_t, void *, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_valueof", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_valueof, "herr_t (hid_t, char *, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_value, "herr_t (hid_t, unsigned int, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tarray_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tarray_create, "hid_t (hid_t, int, hsize_t *, int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_array_ndims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_array_ndims, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_array_dims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_array_dims, "int (hid_t, hsize_t *, int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_tag", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_tag, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_tag", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_tag, "char *(hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tdecode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tdecode, "hid_t (unsigned char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tencode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tencode, "herr_t (hid_t, unsigned char *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommit2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommit2, "herr_t (hid_t, char *, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tfind", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tfind, "H5T_conv_t (hid_t, hid_t, H5T_cdata_t **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tregister", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tregister, "herr_t (H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tunregister", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tunregister, "herr_t (H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Zfilter_avail", (void (**)(void))&__pyx_f_4h5py_4defs_H5Zfilter_avail, "htri_t (H5Z_filter_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Zget_filter_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Zget_filter_info, "herr_t (H5Z_filter_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Acreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Acreate, "hid_t (hid_t, char *, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_idx, "hid_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_name, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aread", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aread, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Awrite", (void (**)(void))&__pyx_f_4h5py_4defs_H5Awrite, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_num_attrs", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_num_attrs, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_name, "Py_ssize_t (hid_t, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_space", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_space, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_type, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aiterate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aiterate, "herr_t (hid_t, unsigned int *, H5A_operator_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete_by_name, "herr_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Acreate_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Acreate_by_name, "hid_t (hid_t, char *, char *, hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_by_name, "herr_t (hid_t, char *, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aexists_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aexists_by_name, "htri_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aexists", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aexists, "htri_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Arename", (void (**)(void))&__pyx_f_4h5py_4defs_H5Arename, "herr_t (hid_t, char *, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Arename_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Arename_by_name, "herr_t (hid_t, char *, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info, "herr_t (hid_t, H5A_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info_by_name, "herr_t (hid_t, char *, char *, H5A_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5A_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aiterate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aiterate2, "herr_t (hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5A_operator2_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_storage_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_storage_size, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSattach_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSattach_scale, "herr_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSdetach_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSdetach_scale, "herr_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSset_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSset_scale, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_num_scales", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_num_scales, "int (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSset_label", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSset_label, "herr_t (hid_t, unsigned int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_label", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_label, "Py_ssize_t (hid_t, unsigned int, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_scale_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_scale_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSis_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSis_scale, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSiterate_scales", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSiterate_scales, "herr_t (hid_t, unsigned int, int *, H5DS_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSis_attached", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSis_attached, "htri_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_2 = __Pyx_ImportModule("h5py._objects"); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_2, "pdefault", (void (**)(void))&__pyx_f_4h5py_8_objects_pdefault, "hid_t (struct __pyx_obj_4h5py_8_objects_ObjectID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -4446,21 +4182,15 @@ PyMODINIT_FUNC PyInit_h5d(void) - if (__Pyx_ImportFunction(__pyx_t_3, "check_numpy_read", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_read, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_3, "check_numpy_write", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_write, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_3, "convert_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_convert_tuple, "int (PyObject *, hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "convert_dims", (void (**)(void))&__pyx_f_4h5py_5utils_convert_dims, "PyObject *(hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "require_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_require_tuple, "int (PyObject *, int, int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "create_numpy_hsize", (void (**)(void))&__pyx_f_4h5py_5utils_create_numpy_hsize, "PyObject *(int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "create_hsize_array", (void (**)(void))&__pyx_f_4h5py_5utils_create_hsize_array, "PyObject *(PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_4 = __Pyx_ImportModule("h5py.h5t"); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_4, "typewrap", (void (**)(void))&__pyx_f_4h5py_3h5t_typewrap, "struct __pyx_obj_4h5py_3h5t_TypeID *(hid_t, int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_4, "py_create", (void (**)(void))&__pyx_f_4h5py_3h5t_py_create, "struct __pyx_obj_4h5py_3h5t_TypeID *(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_5 = __Pyx_ImportModule("h5py.h5p"); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_5, "pdefault", (void (**)(void))&__pyx_f_4h5py_3h5p_pdefault, "hid_t (struct __pyx_obj_4h5py_3h5p_PropID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_5, "propwrap", (void (**)(void))&__pyx_f_4h5py_3h5p_propwrap, "PyObject *(hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_6 = __Pyx_ImportModule("h5py._proxy"); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_6, "attr_rw", (void (**)(void))&__pyx_f_4h5py_6_proxy_attr_rw, "herr_t (hid_t, hid_t, void *, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_6, "dset_rw", (void (**)(void))&__pyx_f_4h5py_6_proxy_dset_rw, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_6); __pyx_t_6 = 0; - /*--- Execution code ---*/ -@@ -4468,14 +4198,27 @@ PyMODINIT_FUNC PyInit_h5d(void) - /* "h5py/h5d.pyx":27 - * from _proxy cimport dset_rw - * -- * import _objects # <<<<<<<<<<<<<< -+ * from h5py import _objects # <<<<<<<<<<<<<< - * - * # Initialization - */ -- __pyx_t_7 = __Pyx_Import(((PyObject *)__pyx_n_s___objects), 0); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_7); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s___objects)); -+ PyList_SET_ITEM(__pyx_t_7, 0, ((PyObject *)__pyx_n_s___objects)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s___objects)); -+ __pyx_t_8 = __Pyx_Import(((PyObject *)__pyx_n_s__h5py), ((PyObject *)__pyx_t_7), -1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; -+ __pyx_t_7 = PyObject_GetAttr(__pyx_t_8, __pyx_n_s___objects); -+ if (__pyx_t_7 == NULL) { -+ if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s___objects); -+ if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } - __Pyx_GOTREF(__pyx_t_7); - if (PyObject_SetAttr(__pyx_m, __pyx_n_s___objects, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5d.pyx":30 - * -@@ -4493,10 +4236,10 @@ PyMODINIT_FUNC PyInit_h5d(void) - * CONTIGUOUS = H5D_CONTIGUOUS - * CHUNKED = H5D_CHUNKED - */ -- __pyx_t_7 = PyInt_FromLong(H5D_COMPACT); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__COMPACT, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5D_COMPACT); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__COMPACT, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5d.pyx":35 - * -@@ -4505,10 +4248,10 @@ PyMODINIT_FUNC PyInit_h5d(void) - * CHUNKED = H5D_CHUNKED - * - */ -- __pyx_t_7 = PyInt_FromLong(H5D_CONTIGUOUS); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CONTIGUOUS, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5D_CONTIGUOUS); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CONTIGUOUS, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5d.pyx":36 - * COMPACT = H5D_COMPACT -@@ -4517,10 +4260,10 @@ PyMODINIT_FUNC PyInit_h5d(void) - * - * ALLOC_TIME_DEFAULT = H5D_ALLOC_TIME_DEFAULT - */ -- __pyx_t_7 = PyInt_FromLong(H5D_CHUNKED); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CHUNKED, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5D_CHUNKED); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CHUNKED, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5d.pyx":38 - * CHUNKED = H5D_CHUNKED -@@ -4529,10 +4272,10 @@ PyMODINIT_FUNC PyInit_h5d(void) - * ALLOC_TIME_LATE = H5D_ALLOC_TIME_LATE - * ALLOC_TIME_EARLY = H5D_ALLOC_TIME_EARLY - */ -- __pyx_t_7 = PyInt_FromLong(H5D_ALLOC_TIME_DEFAULT); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ALLOC_TIME_DEFAULT, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5D_ALLOC_TIME_DEFAULT); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ALLOC_TIME_DEFAULT, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5d.pyx":39 - * -@@ -4541,10 +4284,10 @@ PyMODINIT_FUNC PyInit_h5d(void) - * ALLOC_TIME_EARLY = H5D_ALLOC_TIME_EARLY - * ALLOC_TIME_INCR = H5D_ALLOC_TIME_INCR - */ -- __pyx_t_7 = PyInt_FromLong(H5D_ALLOC_TIME_LATE); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ALLOC_TIME_LATE, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5D_ALLOC_TIME_LATE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ALLOC_TIME_LATE, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5d.pyx":40 - * ALLOC_TIME_DEFAULT = H5D_ALLOC_TIME_DEFAULT -@@ -4553,10 +4296,10 @@ PyMODINIT_FUNC PyInit_h5d(void) - * ALLOC_TIME_INCR = H5D_ALLOC_TIME_INCR - * - */ -- __pyx_t_7 = PyInt_FromLong(H5D_ALLOC_TIME_EARLY); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ALLOC_TIME_EARLY, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5D_ALLOC_TIME_EARLY); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ALLOC_TIME_EARLY, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5d.pyx":41 - * ALLOC_TIME_LATE = H5D_ALLOC_TIME_LATE -@@ -4565,10 +4308,10 @@ PyMODINIT_FUNC PyInit_h5d(void) - * - * SPACE_STATUS_NOT_ALLOCATED = H5D_SPACE_STATUS_NOT_ALLOCATED - */ -- __pyx_t_7 = PyInt_FromLong(H5D_ALLOC_TIME_INCR); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ALLOC_TIME_INCR, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5D_ALLOC_TIME_INCR); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ALLOC_TIME_INCR, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5d.pyx":43 - * ALLOC_TIME_INCR = H5D_ALLOC_TIME_INCR -@@ -4577,10 +4320,10 @@ PyMODINIT_FUNC PyInit_h5d(void) - * SPACE_STATUS_PART_ALLOCATED = H5D_SPACE_STATUS_PART_ALLOCATED - * SPACE_STATUS_ALLOCATED = H5D_SPACE_STATUS_ALLOCATED - */ -- __pyx_t_7 = PyInt_FromLong(H5D_SPACE_STATUS_NOT_ALLOCATED); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_9, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5D_SPACE_STATUS_NOT_ALLOCATED); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_9, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5d.pyx":44 - * -@@ -4589,10 +4332,10 @@ PyMODINIT_FUNC PyInit_h5d(void) - * SPACE_STATUS_ALLOCATED = H5D_SPACE_STATUS_ALLOCATED - * - */ -- __pyx_t_7 = PyInt_FromLong(H5D_SPACE_STATUS_PART_ALLOCATED); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_10, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5D_SPACE_STATUS_PART_ALLOCATED); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_10, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5d.pyx":45 - * SPACE_STATUS_NOT_ALLOCATED = H5D_SPACE_STATUS_NOT_ALLOCATED -@@ -4601,10 +4344,10 @@ PyMODINIT_FUNC PyInit_h5d(void) - * - * FILL_TIME_ALLOC = H5D_FILL_TIME_ALLOC - */ -- __pyx_t_7 = PyInt_FromLong(H5D_SPACE_STATUS_ALLOCATED); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_11, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5D_SPACE_STATUS_ALLOCATED); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_11, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5d.pyx":47 - * SPACE_STATUS_ALLOCATED = H5D_SPACE_STATUS_ALLOCATED -@@ -4613,10 +4356,10 @@ PyMODINIT_FUNC PyInit_h5d(void) - * FILL_TIME_NEVER = H5D_FILL_TIME_NEVER - * FILL_TIME_IFSET = H5D_FILL_TIME_IFSET - */ -- __pyx_t_7 = PyInt_FromLong(H5D_FILL_TIME_ALLOC); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILL_TIME_ALLOC, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5D_FILL_TIME_ALLOC); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILL_TIME_ALLOC, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5d.pyx":48 - * -@@ -4625,10 +4368,10 @@ PyMODINIT_FUNC PyInit_h5d(void) - * FILL_TIME_IFSET = H5D_FILL_TIME_IFSET - * - */ -- __pyx_t_7 = PyInt_FromLong(H5D_FILL_TIME_NEVER); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILL_TIME_NEVER, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5D_FILL_TIME_NEVER); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILL_TIME_NEVER, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5d.pyx":49 - * FILL_TIME_ALLOC = H5D_FILL_TIME_ALLOC -@@ -4637,10 +4380,10 @@ PyMODINIT_FUNC PyInit_h5d(void) - * - * FILL_VALUE_UNDEFINED = H5D_FILL_VALUE_UNDEFINED - */ -- __pyx_t_7 = PyInt_FromLong(H5D_FILL_TIME_IFSET); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILL_TIME_IFSET, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5D_FILL_TIME_IFSET); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILL_TIME_IFSET, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5d.pyx":51 - * FILL_TIME_IFSET = H5D_FILL_TIME_IFSET -@@ -4649,10 +4392,10 @@ PyMODINIT_FUNC PyInit_h5d(void) - * FILL_VALUE_DEFAULT = H5D_FILL_VALUE_DEFAULT - * FILL_VALUE_USER_DEFINED = H5D_FILL_VALUE_USER_DEFINED - */ -- __pyx_t_7 = PyInt_FromLong(H5D_FILL_VALUE_UNDEFINED); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_12, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5D_FILL_VALUE_UNDEFINED); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_12, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5d.pyx":52 - * -@@ -4661,10 +4404,10 @@ PyMODINIT_FUNC PyInit_h5d(void) - * FILL_VALUE_USER_DEFINED = H5D_FILL_VALUE_USER_DEFINED - * - */ -- __pyx_t_7 = PyInt_FromLong(H5D_FILL_VALUE_DEFAULT); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILL_VALUE_DEFAULT, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5D_FILL_VALUE_DEFAULT); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILL_VALUE_DEFAULT, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5d.pyx":53 - * FILL_VALUE_UNDEFINED = H5D_FILL_VALUE_UNDEFINED -@@ -4673,10 +4416,10 @@ PyMODINIT_FUNC PyInit_h5d(void) - * - * - */ -- __pyx_t_7 = PyInt_FromLong(H5D_FILL_VALUE_USER_DEFINED); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_13, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5D_FILL_VALUE_USER_DEFINED); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_13, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5d.pyx":58 - * # === Dataset operations ====================================================== -@@ -4685,10 +4428,10 @@ PyMODINIT_FUNC PyInit_h5d(void) - * SpaceID space not None, PropID dcpl=None, PropID lcpl=None): - * """ (objectID loc, STRING name or None, TypeID tid, SpaceID space, - */ -- __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5d_create, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__create, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5d_1create, NULL, __pyx_n_s_17); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__create, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5d.pyx":79 - * return DatasetID.open(dsid) -@@ -4697,20 +4440,20 @@ PyMODINIT_FUNC PyInit_h5d(void) - * """ (ObjectID loc, STRING name) => DatasetID - * - */ -- __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5d_1open, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__open, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5d_3open, NULL, __pyx_n_s_17); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__open, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5d.pyx":1 - * #+ # <<<<<<<<<<<<<< - * # - * # This file is part of h5py, a low-level Python interface to the HDF5 library. - */ -- __pyx_t_7 = PyDict_New(); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_7)); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_7)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; -+ __pyx_t_8 = PyDict_New(); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_8)); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_8)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -@@ -4720,8 +4463,9 @@ PyMODINIT_FUNC PyInit_h5d(void) - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); -+ __Pyx_XDECREF(__pyx_t_8); - if (__pyx_m) { -- __Pyx_AddTraceback("init h5py.h5d"); -+ __Pyx_AddTraceback("init h5py.h5d", __pyx_clineno, __pyx_lineno, __pyx_filename); - Py_DECREF(__pyx_m); __pyx_m = 0; - } else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_ImportError, "init h5py.h5d"); -@@ -4736,12 +4480,34 @@ PyMODINIT_FUNC PyInit_h5d(void) - } - - /* Runtime support code */ -+#if CYTHON_REFNANNY -+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { -+ PyObject *m = NULL, *p = NULL; -+ void *r = NULL; -+ m = PyImport_ImportModule((char *)modname); -+ if (!m) goto end; -+ p = PyObject_GetAttrString(m, (char *)"RefNannyAPI"); -+ if (!p) goto end; -+ r = PyLong_AsVoidPtr(p); -+end: -+ Py_XDECREF(p); -+ Py_XDECREF(m); -+ return (__Pyx_RefNannyAPIStruct *)r; -+} -+#endif /* CYTHON_REFNANNY */ - - static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) { - PyObject *result; - result = PyObject_GetAttr(dict, name); -- if (!result) -- PyErr_SetObject(PyExc_NameError, name); -+ if (!result) { -+ if (dict != __pyx_b) { -+ PyErr_Clear(); -+ result = PyObject_GetAttr(__pyx_b, name); -+ } -+ if (!result) { -+ PyErr_SetObject(PyExc_NameError, name); -+ } -+ } - return result; - } - -@@ -4753,8 +4519,7 @@ static void __Pyx_RaiseArgtupleInvalid( - Py_ssize_t num_found) - { - Py_ssize_t num_expected; -- const char *number, *more_or_less; -- -+ const char *more_or_less; - if (num_found < num_min) { - num_expected = num_min; - more_or_less = "at least"; -@@ -4765,14 +4530,10 @@ static void __Pyx_RaiseArgtupleInvalid( - if (exact) { - more_or_less = "exactly"; - } -- number = (num_expected == 1) ? "" : "s"; - PyErr_Format(PyExc_TypeError, -- #if PY_VERSION_HEX < 0x02050000 -- "%s() takes %s %d positional argument%s (%d given)", -- #else -- "%s() takes %s %zd positional argument%s (%zd given)", -- #endif -- func_name, more_or_less, num_expected, number, num_found); -+ "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)", -+ func_name, more_or_less, num_expected, -+ (num_expected == 1) ? "" : "s", num_found); - } - - static void __Pyx_RaiseDoubleKeywordsError( -@@ -4784,7 +4545,7 @@ static void __Pyx_RaiseDoubleKeywordsErr - "%s() got multiple values for keyword argument '%U'", func_name, kw_name); - #else - "%s() got multiple values for keyword argument '%s'", func_name, -- PyString_AS_STRING(kw_name)); -+ PyString_AsString(kw_name)); - #endif - } - -@@ -4800,55 +4561,77 @@ static int __Pyx_ParseOptionalKeywords( - Py_ssize_t pos = 0; - PyObject*** name; - PyObject*** first_kw_arg = argnames + num_pos_args; -- - while (PyDict_Next(kwds, &pos, &key, &value)) { - name = first_kw_arg; - while (*name && (**name != key)) name++; - if (*name) { - values[name-argnames] = value; -- } else { -- #if PY_MAJOR_VERSION < 3 -- if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key))) { -- #else -- if (unlikely(!PyUnicode_CheckExact(key)) && unlikely(!PyUnicode_Check(key))) { -- #endif -- goto invalid_keyword_type; -- } else { -- for (name = first_kw_arg; *name; name++) { -- #if PY_MAJOR_VERSION >= 3 -- if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) && -- PyUnicode_Compare(**name, key) == 0) break; -- #else -- if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) && -- _PyString_Eq(**name, key)) break; -- #endif -- } -- if (*name) { -+ continue; -+ } -+ name = first_kw_arg; -+ #if PY_MAJOR_VERSION < 3 -+ if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) { -+ while (*name) { -+ if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) -+ && _PyString_Eq(**name, key)) { - values[name-argnames] = value; -- } else { -- /* unexpected keyword found */ -- for (name=argnames; name != first_kw_arg; name++) { -- if (**name == key) goto arg_passed_twice; -- #if PY_MAJOR_VERSION >= 3 -- if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) && -- PyUnicode_Compare(**name, key) == 0) goto arg_passed_twice; -- #else -- if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) && -- _PyString_Eq(**name, key)) goto arg_passed_twice; -- #endif -- } -- if (kwds2) { -- if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; -- } else { -- goto invalid_keyword; -+ break; -+ } -+ name++; -+ } -+ if (*name) continue; -+ else { -+ PyObject*** argname = argnames; -+ while (argname != first_kw_arg) { -+ if ((**argname == key) || ( -+ (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) -+ && _PyString_Eq(**argname, key))) { -+ goto arg_passed_twice; - } -+ argname++; -+ } -+ } -+ } else -+ #endif -+ if (likely(PyUnicode_Check(key))) { -+ while (*name) { -+ int cmp = (**name == key) ? 0 : -+ #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 -+ (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : -+ #endif -+ PyUnicode_Compare(**name, key); -+ if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; -+ if (cmp == 0) { -+ values[name-argnames] = value; -+ break; -+ } -+ name++; -+ } -+ if (*name) continue; -+ else { -+ PyObject*** argname = argnames; -+ while (argname != first_kw_arg) { -+ int cmp = (**argname == key) ? 0 : -+ #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 -+ (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : -+ #endif -+ PyUnicode_Compare(**argname, key); -+ if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; -+ if (cmp == 0) goto arg_passed_twice; -+ argname++; - } - } -+ } else -+ goto invalid_keyword_type; -+ if (kwds2) { -+ if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; -+ } else { -+ goto invalid_keyword; - } - } - return 0; - arg_passed_twice: -- __Pyx_RaiseDoubleKeywordsError(function_name, **name); -+ __Pyx_RaiseDoubleKeywordsError(function_name, key); - goto bad; - invalid_keyword_type: - PyErr_Format(PyExc_TypeError, -@@ -4899,9 +4682,9 @@ static CYTHON_INLINE int __Pyx_TypeTest( - return 0; - } - -- - static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) { - PyObject *local_type, *local_value, *local_tb; -+#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); - local_type = tstate->curexc_type; -@@ -4910,19 +4693,27 @@ static int __Pyx_GetException(PyObject * - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -+#else -+ PyErr_Fetch(&local_type, &local_value, &local_tb); -+#endif - PyErr_NormalizeException(&local_type, &local_value, &local_tb); -+#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(tstate->curexc_type)) -+#else -+ if (unlikely(PyErr_Occurred())) -+#endif - goto bad; - #if PY_MAJOR_VERSION >= 3 - if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) - goto bad; - #endif -- *type = local_type; -- *value = local_value; -- *tb = local_tb; - Py_INCREF(local_type); - Py_INCREF(local_value); - Py_INCREF(local_tb); -+ *type = local_type; -+ *value = local_value; -+ *tb = local_tb; -+#if CYTHON_COMPILING_IN_CPYTHON - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; -@@ -4930,10 +4721,13 @@ static int __Pyx_GetException(PyObject * - tstate->exc_value = local_value; - tstate->exc_traceback = local_tb; - /* Make sure tstate is in a consistent state when we XDECREF -- these objects (XDECREF may run arbitrary code). */ -+ these objects (DECREF may run arbitrary code). */ - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -+#else -+ PyErr_SetExcInfo(local_type, local_value, local_tb); -+#endif - return 0; - bad: - *type = 0; -@@ -4945,11 +4739,10 @@ bad: - return -1; - } - -- - static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); -- - tmp_type = tstate->curexc_type; - tmp_value = tstate->curexc_value; - tmp_tb = tstate->curexc_traceback; -@@ -4959,54 +4752,60 @@ static CYTHON_INLINE void __Pyx_ErrResto - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -+#else -+ PyErr_Restore(type, value, tb); -+#endif - } -- - static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyThreadState *tstate = PyThreadState_GET(); - *type = tstate->curexc_type; - *value = tstate->curexc_value; - *tb = tstate->curexc_traceback; -- - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -+#else -+ PyErr_Fetch(type, value, tb); -+#endif - } - -- - #if PY_MAJOR_VERSION < 3 --static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { -+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, -+ CYTHON_UNUSED PyObject *cause) { - Py_XINCREF(type); -- Py_XINCREF(value); -- Py_XINCREF(tb); -- /* First, check the traceback argument, replacing None with NULL. */ -- if (tb == Py_None) { -- Py_DECREF(tb); -- tb = 0; -- } -- else if (tb != NULL && !PyTraceBack_Check(tb)) { -- PyErr_SetString(PyExc_TypeError, -- "raise: arg 3 must be a traceback or None"); -- goto raise_error; -- } -- /* Next, replace a missing value with None */ -- if (value == NULL) { -- value = Py_None; -+ if (!value || value == Py_None) -+ value = NULL; -+ else - Py_INCREF(value); -+ if (!tb || tb == Py_None) -+ tb = NULL; -+ else { -+ Py_INCREF(tb); -+ if (!PyTraceBack_Check(tb)) { -+ PyErr_SetString(PyExc_TypeError, -+ "raise: arg 3 must be a traceback or None"); -+ goto raise_error; -+ } - } - #if PY_VERSION_HEX < 0x02050000 -- if (!PyClass_Check(type)) -+ if (PyClass_Check(type)) { - #else -- if (!PyType_Check(type)) -+ if (PyType_Check(type)) { - #endif -- { -- /* Raising an instance. The value should be a dummy. */ -- if (value != Py_None) { -+#if CYTHON_COMPILING_IN_PYPY -+ if (!value) { -+ Py_INCREF(Py_None); -+ value = Py_None; -+ } -+#endif -+ PyErr_NormalizeException(&type, &value, &tb); -+ } else { -+ if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto raise_error; - } -- /* Normalize to raise , */ -- Py_DECREF(value); - value = type; - #if PY_VERSION_HEX < 0x02050000 - if (PyInstance_Check(type)) { -@@ -5029,7 +4828,6 @@ static void __Pyx_Raise(PyObject *type, - } - #endif - } -- - __Pyx_ErrRestore(type, value, tb); - return; - raise_error: -@@ -5038,10 +4836,9 @@ raise_error: - Py_XDECREF(tb); - return; - } -- - #else /* Python 3+ */ -- --static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { -+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { -+ PyObject* owned_instance = NULL; - if (tb == Py_None) { - tb = 0; - } else if (tb && !PyTraceBack_Check(tb)) { -@@ -5051,7 +4848,6 @@ static void __Pyx_Raise(PyObject *type, - } - if (value == Py_None) - value = 0; -- - if (PyExceptionInstance_Check(type)) { - if (value) { - PyErr_SetString(PyExc_TypeError, -@@ -5060,14 +4856,55 @@ static void __Pyx_Raise(PyObject *type, - } - value = type; - type = (PyObject*) Py_TYPE(value); -- } else if (!PyExceptionClass_Check(type)) { -+ } else if (PyExceptionClass_Check(type)) { -+ PyObject *args; -+ if (!value) -+ args = PyTuple_New(0); -+ else if (PyTuple_Check(value)) { -+ Py_INCREF(value); -+ args = value; -+ } -+ else -+ args = PyTuple_Pack(1, value); -+ if (!args) -+ goto bad; -+ owned_instance = PyEval_CallObject(type, args); -+ Py_DECREF(args); -+ if (!owned_instance) -+ goto bad; -+ value = owned_instance; -+ if (!PyExceptionInstance_Check(value)) { -+ PyErr_Format(PyExc_TypeError, -+ "calling %R should have returned an instance of " -+ "BaseException, not %R", -+ type, Py_TYPE(value)); -+ goto bad; -+ } -+ } else { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto bad; - } -- -+ if (cause && cause != Py_None) { -+ PyObject *fixed_cause; -+ if (PyExceptionClass_Check(cause)) { -+ fixed_cause = PyObject_CallObject(cause, NULL); -+ if (fixed_cause == NULL) -+ goto bad; -+ } -+ else if (PyExceptionInstance_Check(cause)) { -+ fixed_cause = cause; -+ Py_INCREF(fixed_cause); -+ } -+ else { -+ PyErr_SetString(PyExc_TypeError, -+ "exception causes must derive from " -+ "BaseException"); -+ goto bad; -+ } -+ PyException_SetCause(value, fixed_cause); -+ } - PyErr_SetObject(type, value); -- - if (tb) { - PyThreadState *tstate = PyThreadState_GET(); - PyObject* tmp_tb = tstate->curexc_traceback; -@@ -5077,13 +4914,39 @@ static void __Pyx_Raise(PyObject *type, - Py_XDECREF(tmp_tb); - } - } -- - bad: -+ Py_XDECREF(owned_instance); - return; - } - #endif - -+static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc) { -+ PyTypeObject* type = Py_TYPE(obj); -+ while (type && type->tp_dealloc != current_tp_dealloc) -+ type = type->tp_base; -+ if (type && type->tp_base) -+ type->tp_base->tp_dealloc(obj); -+} -+ -+static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse) { -+ PyTypeObject* type = Py_TYPE(obj); -+ while (type && type->tp_traverse != current_tp_traverse) -+ type = type->tp_base; -+ if (type && type->tp_base && type->tp_base->tp_traverse) -+ return type->tp_base->tp_traverse(obj, v, a); -+ return 0; -+} -+ -+static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) { -+ PyTypeObject* type = Py_TYPE(obj); -+ while (type && type->tp_clear != current_tp_clear) -+ type = type->tp_base; -+ if (type && type->tp_base && type->tp_base->tp_clear) -+ type->tp_base->tp_clear(obj); -+} -+ - static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyThreadState *tstate = PyThreadState_GET(); - *type = tstate->exc_type; - *value = tstate->exc_value; -@@ -5091,9 +4954,12 @@ static CYTHON_INLINE void __Pyx_Exceptio - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); -+#else -+ PyErr_GetExcInfo(type, value, tb); -+#endif - } -- - static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); - tmp_type = tstate->exc_type; -@@ -5105,9 +4971,12 @@ static void __Pyx_ExceptionReset(PyObjec - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -+#else -+ PyErr_SetExcInfo(type, value, tb); -+#endif - } - --static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) { -+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level) { - PyObject *py_import = 0; - PyObject *empty_list = 0; - PyObject *module = 0; -@@ -5131,8 +5000,44 @@ static PyObject *__Pyx_Import(PyObject * - empty_dict = PyDict_New(); - if (!empty_dict) - goto bad; -+ #if PY_VERSION_HEX >= 0x02050000 -+ { -+ #if PY_MAJOR_VERSION >= 3 -+ if (level == -1) { -+ if (strchr(__Pyx_MODULE_NAME, '.')) { -+ /* try package relative import first */ -+ PyObject *py_level = PyInt_FromLong(1); -+ if (!py_level) -+ goto bad; -+ module = PyObject_CallFunctionObjArgs(py_import, -+ name, global_dict, empty_dict, list, py_level, NULL); -+ Py_DECREF(py_level); -+ if (!module) { -+ if (!PyErr_ExceptionMatches(PyExc_ImportError)) -+ goto bad; -+ PyErr_Clear(); -+ } -+ } -+ level = 0; /* try absolute import on failure */ -+ } -+ #endif -+ if (!module) { -+ PyObject *py_level = PyInt_FromLong(level); -+ if (!py_level) -+ goto bad; -+ module = PyObject_CallFunctionObjArgs(py_import, -+ name, global_dict, empty_dict, list, py_level, NULL); -+ Py_DECREF(py_level); -+ } -+ } -+ #else -+ if (level>0) { -+ PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4."); -+ goto bad; -+ } - module = PyObject_CallFunctionObjArgs(py_import, - name, global_dict, empty_dict, list, NULL); -+ #endif - bad: - Py_XDECREF(empty_list); - Py_XDECREF(py_import); -@@ -5140,6 +5045,15 @@ bad: - return module; - } - -+static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name) { -+#if PY_MAJOR_VERSION < 3 -+ PyErr_Format(PyExc_ImportError, "cannot import name %.230s", -+ PyString_AsString(name)); -+#else -+ PyErr_Format(PyExc_ImportError, "cannot import name %S", name); -+#endif -+} -+ - static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) { - const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0; - const int is_unsigned = const_zero < neg_one; -@@ -5160,7 +5074,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyI - } else { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; -- return _PyLong_FromByteArray(bytes, sizeof(hid_t), -+ return _PyLong_FromByteArray(bytes, sizeof(hid_t), - little, !is_unsigned); - } - } -@@ -5185,7 +5099,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyI - } else { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; -- return _PyLong_FromByteArray(bytes, sizeof(haddr_t), -+ return _PyLong_FromByteArray(bytes, sizeof(haddr_t), - little, !is_unsigned); - } - } -@@ -5210,7 +5124,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyI - } else { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; -- return _PyLong_FromByteArray(bytes, sizeof(hsize_t), -+ return _PyLong_FromByteArray(bytes, sizeof(hsize_t), - little, !is_unsigned); - } - } -@@ -5426,9 +5340,9 @@ static CYTHON_INLINE unsigned long __Pyx - "can't convert negative value to unsigned long"); - return (unsigned long)-1; - } -- return PyLong_AsUnsignedLong(x); -+ return (unsigned long)PyLong_AsUnsignedLong(x); - } else { -- return PyLong_AsLong(x); -+ return (unsigned long)PyLong_AsLong(x); - } - } else { - unsigned long val; -@@ -5461,9 +5375,9 @@ static CYTHON_INLINE unsigned PY_LONG_LO - "can't convert negative value to unsigned PY_LONG_LONG"); - return (unsigned PY_LONG_LONG)-1; - } -- return PyLong_AsUnsignedLongLong(x); -+ return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); - } else { -- return PyLong_AsLongLong(x); -+ return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x); - } - } else { - unsigned PY_LONG_LONG val; -@@ -5496,9 +5410,9 @@ static CYTHON_INLINE long __Pyx_PyInt_As - "can't convert negative value to long"); - return (long)-1; - } -- return PyLong_AsUnsignedLong(x); -+ return (long)PyLong_AsUnsignedLong(x); - } else { -- return PyLong_AsLong(x); -+ return (long)PyLong_AsLong(x); - } - } else { - long val; -@@ -5531,9 +5445,9 @@ static CYTHON_INLINE PY_LONG_LONG __Pyx_ - "can't convert negative value to PY_LONG_LONG"); - return (PY_LONG_LONG)-1; - } -- return PyLong_AsUnsignedLongLong(x); -+ return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); - } else { -- return PyLong_AsLongLong(x); -+ return (PY_LONG_LONG)PyLong_AsLongLong(x); - } - } else { - PY_LONG_LONG val; -@@ -5566,9 +5480,9 @@ static CYTHON_INLINE signed long __Pyx_P - "can't convert negative value to signed long"); - return (signed long)-1; - } -- return PyLong_AsUnsignedLong(x); -+ return (signed long)PyLong_AsUnsignedLong(x); - } else { -- return PyLong_AsLong(x); -+ return (signed long)PyLong_AsLong(x); - } - } else { - signed long val; -@@ -5601,9 +5515,9 @@ static CYTHON_INLINE signed PY_LONG_LONG - "can't convert negative value to signed PY_LONG_LONG"); - return (signed PY_LONG_LONG)-1; - } -- return PyLong_AsUnsignedLongLong(x); -+ return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); - } else { -- return PyLong_AsLongLong(x); -+ return (signed PY_LONG_LONG)PyLong_AsLongLong(x); - } - } else { - signed PY_LONG_LONG val; -@@ -5615,24 +5529,55 @@ static CYTHON_INLINE signed PY_LONG_LONG - } - } - -+static int __Pyx_check_binary_version(void) { -+ char ctversion[4], rtversion[4]; -+ PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION); -+ PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion()); -+ if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) { -+ char message[200]; -+ PyOS_snprintf(message, sizeof(message), -+ "compiletime version %s of module '%.100s' " -+ "does not match runtime version %s", -+ ctversion, __Pyx_MODULE_NAME, rtversion); -+ #if PY_VERSION_HEX < 0x02050000 -+ return PyErr_Warn(NULL, message); -+ #else -+ return PyErr_WarnEx(NULL, message, 1); -+ #endif -+ } -+ return 0; -+} -+ -+#ifndef __PYX_HAVE_RT_ImportModule -+#define __PYX_HAVE_RT_ImportModule -+static PyObject *__Pyx_ImportModule(const char *name) { -+ PyObject *py_name = 0; -+ PyObject *py_module = 0; -+ py_name = __Pyx_PyIdentifier_FromString(name); -+ if (!py_name) -+ goto bad; -+ py_module = PyImport_Import(py_name); -+ Py_DECREF(py_name); -+ return py_module; -+bad: -+ Py_XDECREF(py_name); -+ return 0; -+} -+#endif -+ - #ifndef __PYX_HAVE_RT_ImportType - #define __PYX_HAVE_RT_ImportType - static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, -- long size, int strict) -+ size_t size, int strict) - { - PyObject *py_module = 0; - PyObject *result = 0; - PyObject *py_name = 0; - char warning[200]; -- - py_module = __Pyx_ImportModule(module_name); - if (!py_module) - goto bad; -- #if PY_MAJOR_VERSION < 3 -- py_name = PyString_FromString(class_name); -- #else -- py_name = PyUnicode_FromString(class_name); -- #endif -+ py_name = __Pyx_PyIdentifier_FromString(class_name); - if (!py_name) - goto bad; - result = PyObject_GetAttr(py_module, py_name); -@@ -5648,17 +5593,17 @@ static PyTypeObject *__Pyx_ImportType(co - module_name, class_name); - goto bad; - } -- if (!strict && ((PyTypeObject *)result)->tp_basicsize > size) { -+ if (!strict && (size_t)((PyTypeObject *)result)->tp_basicsize > size) { - PyOS_snprintf(warning, sizeof(warning), - "%s.%s size changed, may indicate binary incompatibility", - module_name, class_name); - #if PY_VERSION_HEX < 0x02050000 -- PyErr_Warn(NULL, warning); -+ if (PyErr_Warn(NULL, warning) < 0) goto bad; - #else -- PyErr_WarnEx(NULL, warning, 0); -+ if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; - #endif - } -- else if (((PyTypeObject *)result)->tp_basicsize != size) { -+ else if ((size_t)((PyTypeObject *)result)->tp_basicsize != size) { - PyErr_Format(PyExc_ValueError, - "%s.%s has the wrong size, try recompiling", - module_name, class_name); -@@ -5668,29 +5613,7 @@ static PyTypeObject *__Pyx_ImportType(co - bad: - Py_XDECREF(py_module); - Py_XDECREF(result); -- return 0; --} --#endif -- --#ifndef __PYX_HAVE_RT_ImportModule --#define __PYX_HAVE_RT_ImportModule --static PyObject *__Pyx_ImportModule(const char *name) { -- PyObject *py_name = 0; -- PyObject *py_module = 0; -- -- #if PY_MAJOR_VERSION < 3 -- py_name = PyString_FromString(name); -- #else -- py_name = PyUnicode_FromString(name); -- #endif -- if (!py_name) -- goto bad; -- py_module = PyImport_Import(py_name); -- Py_DECREF(py_name); -- return py_module; --bad: -- Py_XDECREF(py_name); -- return 0; -+ return NULL; - } - #endif - -@@ -5722,7 +5645,6 @@ static int __Pyx_ImportFunction(PyObject - void (*fp)(void); - void *p; - } tmp; -- - d = PyObject_GetAttrString(module, (char *)"__pyx_capi__"); - if (!d) - goto bad; -@@ -5733,7 +5655,7 @@ static int __Pyx_ImportFunction(PyObject - PyModule_GetName(module), funcname); - goto bad; - } --#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0) -+#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0) - if (!PyCapsule_IsValid(cobj, sig)) { - PyErr_Format(PyExc_TypeError, - "C function %s.%s has wrong signature (expected %s, got %s)", -@@ -5767,28 +5689,105 @@ bad: - } - #endif - -+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { -+ int start = 0, mid = 0, end = count - 1; -+ if (end >= 0 && code_line > entries[end].code_line) { -+ return count; -+ } -+ while (start < end) { -+ mid = (start + end) / 2; -+ if (code_line < entries[mid].code_line) { -+ end = mid; -+ } else if (code_line > entries[mid].code_line) { -+ start = mid + 1; -+ } else { -+ return mid; -+ } -+ } -+ if (code_line <= entries[mid].code_line) { -+ return mid; -+ } else { -+ return mid + 1; -+ } -+} -+static PyCodeObject *__pyx_find_code_object(int code_line) { -+ PyCodeObject* code_object; -+ int pos; -+ if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { -+ return NULL; -+ } -+ pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); -+ if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { -+ return NULL; -+ } -+ code_object = __pyx_code_cache.entries[pos].code_object; -+ Py_INCREF(code_object); -+ return code_object; -+} -+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { -+ int pos, i; -+ __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; -+ if (unlikely(!code_line)) { -+ return; -+ } -+ if (unlikely(!entries)) { -+ entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); -+ if (likely(entries)) { -+ __pyx_code_cache.entries = entries; -+ __pyx_code_cache.max_count = 64; -+ __pyx_code_cache.count = 1; -+ entries[0].code_line = code_line; -+ entries[0].code_object = code_object; -+ Py_INCREF(code_object); -+ } -+ return; -+ } -+ pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); -+ if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { -+ PyCodeObject* tmp = entries[pos].code_object; -+ entries[pos].code_object = code_object; -+ Py_DECREF(tmp); -+ return; -+ } -+ if (__pyx_code_cache.count == __pyx_code_cache.max_count) { -+ int new_max = __pyx_code_cache.max_count + 64; -+ entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( -+ __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry)); -+ if (unlikely(!entries)) { -+ return; -+ } -+ __pyx_code_cache.entries = entries; -+ __pyx_code_cache.max_count = new_max; -+ } -+ for (i=__pyx_code_cache.count; i>pos; i--) { -+ entries[i] = entries[i-1]; -+ } -+ entries[pos].code_line = code_line; -+ entries[pos].code_object = code_object; -+ __pyx_code_cache.count++; -+ Py_INCREF(code_object); -+} -+ - #include "compile.h" - #include "frameobject.h" - #include "traceback.h" -- --static void __Pyx_AddTraceback(const char *funcname) { -+static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( -+ const char *funcname, int c_line, -+ int py_line, const char *filename) { -+ PyCodeObject *py_code = 0; - PyObject *py_srcfile = 0; - PyObject *py_funcname = 0; -- PyObject *py_globals = 0; -- PyCodeObject *py_code = 0; -- PyFrameObject *py_frame = 0; -- - #if PY_MAJOR_VERSION < 3 -- py_srcfile = PyString_FromString(__pyx_filename); -+ py_srcfile = PyString_FromString(filename); - #else -- py_srcfile = PyUnicode_FromString(__pyx_filename); -+ py_srcfile = PyUnicode_FromString(filename); - #endif - if (!py_srcfile) goto bad; -- if (__pyx_clineno) { -+ if (c_line) { - #if PY_MAJOR_VERSION < 3 -- py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno); -+ py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - #else -- py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno); -+ py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - #endif - } - else { -@@ -5799,28 +5798,45 @@ static void __Pyx_AddTraceback(const cha - #endif - } - if (!py_funcname) goto bad; -- py_globals = PyModule_GetDict(__pyx_m); -- if (!py_globals) goto bad; -- py_code = PyCode_New( -+ py_code = __Pyx_PyCode_New( - 0, /*int argcount,*/ -- #if PY_MAJOR_VERSION >= 3 - 0, /*int kwonlyargcount,*/ -- #endif - 0, /*int nlocals,*/ - 0, /*int stacksize,*/ - 0, /*int flags,*/ - __pyx_empty_bytes, /*PyObject *code,*/ -- __pyx_empty_tuple, /*PyObject *consts,*/ -- __pyx_empty_tuple, /*PyObject *names,*/ -- __pyx_empty_tuple, /*PyObject *varnames,*/ -- __pyx_empty_tuple, /*PyObject *freevars,*/ -- __pyx_empty_tuple, /*PyObject *cellvars,*/ -+ __pyx_empty_tuple, /*PyObject *consts,*/ -+ __pyx_empty_tuple, /*PyObject *names,*/ -+ __pyx_empty_tuple, /*PyObject *varnames,*/ -+ __pyx_empty_tuple, /*PyObject *freevars,*/ -+ __pyx_empty_tuple, /*PyObject *cellvars,*/ - py_srcfile, /*PyObject *filename,*/ - py_funcname, /*PyObject *name,*/ -- __pyx_lineno, /*int firstlineno,*/ -+ py_line, /*int firstlineno,*/ - __pyx_empty_bytes /*PyObject *lnotab*/ - ); -- if (!py_code) goto bad; -+ Py_DECREF(py_srcfile); -+ Py_DECREF(py_funcname); -+ return py_code; -+bad: -+ Py_XDECREF(py_srcfile); -+ Py_XDECREF(py_funcname); -+ return NULL; -+} -+static void __Pyx_AddTraceback(const char *funcname, int c_line, -+ int py_line, const char *filename) { -+ PyCodeObject *py_code = 0; -+ PyObject *py_globals = 0; -+ PyFrameObject *py_frame = 0; -+ py_code = __pyx_find_code_object(c_line ? c_line : py_line); -+ if (!py_code) { -+ py_code = __Pyx_CreateCodeObjectForTraceback( -+ funcname, c_line, py_line, filename); -+ if (!py_code) goto bad; -+ __pyx_insert_code_object(c_line ? c_line : py_line, py_code); -+ } -+ py_globals = PyModule_GetDict(__pyx_m); -+ if (!py_globals) goto bad; - py_frame = PyFrame_New( - PyThreadState_GET(), /*PyThreadState *tstate,*/ - py_code, /*PyCodeObject *code,*/ -@@ -5828,11 +5844,9 @@ static void __Pyx_AddTraceback(const cha - 0 /*PyObject *locals*/ - ); - if (!py_frame) goto bad; -- py_frame->f_lineno = __pyx_lineno; -+ py_frame->f_lineno = py_line; - PyTraceBack_Here(py_frame); - bad: -- Py_XDECREF(py_srcfile); -- Py_XDECREF(py_funcname); - Py_XDECREF(py_code); - Py_XDECREF(py_frame); - } -@@ -5867,6 +5881,7 @@ static int __Pyx_InitStrings(__Pyx_Strin - return 0; - } - -+ - /* Type Conversion Functions */ - - static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { -diff -rupN h5py-2.1.0.orig/h5py/h5d.pyx h5py-2.1.0/h5py/h5d.pyx ---- h5py-2.1.0.orig/h5py/h5d.pyx 2012-09-20 03:04:52.000000000 +0200 -+++ h5py-2.1.0/h5py/h5d.pyx 2012-11-23 14:17:43.000000000 +0100 -@@ -24,7 +24,7 @@ from h5s cimport SpaceID - from h5p cimport PropID, propwrap - from _proxy cimport dset_rw - --import _objects -+from h5py import _objects - - # Initialization - import_array() -diff -rupN h5py-2.1.0.orig/h5py/h5f.c h5py-2.1.0/h5py/h5f.c ---- h5py-2.1.0.orig/h5py/h5f.c 2012-10-02 16:17:48.000000000 +0200 -+++ h5py-2.1.0/h5py/h5f.c 2012-11-23 14:17:43.000000000 +0100 -@@ -1,16 +1,16 @@ --/* Generated by Cython 0.14.1 on Tue Oct 2 08:17:48 2012 */ -+/* Generated by Cython 0.17.2 on Fri Nov 23 14:12:13 2012 */ - - #define PY_SSIZE_T_CLEAN - #include "Python.h" - #ifndef Py_PYTHON_H - #error Python headers needed to compile C extensions, please install development version of Python. -+#elif PY_VERSION_HEX < 0x02040000 -+ #error Cython requires Python 2.4+. - #else -- - #include /* For offsetof */ - #ifndef offsetof - #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) - #endif -- - #if !defined(WIN32) && !defined(MS_WINDOWS) - #ifndef __stdcall - #define __stdcall -@@ -22,36 +22,47 @@ - #define __fastcall - #endif - #endif -- - #ifndef DL_IMPORT - #define DL_IMPORT(t) t - #endif - #ifndef DL_EXPORT - #define DL_EXPORT(t) t - #endif -- - #ifndef PY_LONG_LONG - #define PY_LONG_LONG LONG_LONG - #endif -- --#if PY_VERSION_HEX < 0x02040000 -- #define METH_COEXIST 0 -- #define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type) -- #define PyDict_Contains(d,o) PySequence_Contains(d,o) -+#ifndef Py_HUGE_VAL -+ #define Py_HUGE_VAL HUGE_VAL -+#endif -+#ifdef PYPY_VERSION -+#define CYTHON_COMPILING_IN_PYPY 1 -+#define CYTHON_COMPILING_IN_CPYTHON 0 -+#else -+#define CYTHON_COMPILING_IN_PYPY 0 -+#define CYTHON_COMPILING_IN_CPYTHON 1 - #endif -- - #if PY_VERSION_HEX < 0x02050000 - typedef int Py_ssize_t; - #define PY_SSIZE_T_MAX INT_MAX - #define PY_SSIZE_T_MIN INT_MIN - #define PY_FORMAT_SIZE_T "" -+ #define CYTHON_FORMAT_SSIZE_T "" - #define PyInt_FromSsize_t(z) PyInt_FromLong(z) -- #define PyInt_AsSsize_t(o) PyInt_AsLong(o) -- #define PyNumber_Index(o) PyNumber_Int(o) -- #define PyIndex_Check(o) PyNumber_Check(o) -+ #define PyInt_AsSsize_t(o) __Pyx_PyInt_AsInt(o) -+ #define PyNumber_Index(o) ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \ -+ (PyErr_Format(PyExc_TypeError, \ -+ "expected index value, got %.200s", Py_TYPE(o)->tp_name), \ -+ (PyObject*)0)) -+ #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \ -+ !PyComplex_Check(o)) -+ #define PyIndex_Check __Pyx_PyIndex_Check - #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message) -+ #define __PYX_BUILD_PY_SSIZE_T "i" -+#else -+ #define __PYX_BUILD_PY_SSIZE_T "n" -+ #define CYTHON_FORMAT_SSIZE_T "z" -+ #define __Pyx_PyIndex_Check PyIndex_Check - #endif -- - #if PY_VERSION_HEX < 0x02060000 - #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt) - #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type) -@@ -59,7 +70,6 @@ - #define PyVarObject_HEAD_INIT(type, size) \ - PyObject_HEAD_INIT(type) size, - #define PyType_Modified(t) -- - typedef struct { - void *buf; - PyObject *obj; -@@ -73,7 +83,6 @@ - Py_ssize_t *suboffsets; - void *internal; - } Py_buffer; -- - #define PyBUF_SIMPLE 0 - #define PyBUF_WRITABLE 0x0001 - #define PyBUF_FORMAT 0x0004 -@@ -83,24 +92,44 @@ - #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES) - #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES) - #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES) -- -+ #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE) -+ #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE) -+ typedef int (*getbufferproc)(PyObject *, Py_buffer *, int); -+ typedef void (*releasebufferproc)(PyObject *, Py_buffer *); - #endif -- - #if PY_MAJOR_VERSION < 3 - #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" -+ #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \ -+ PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) - #else - #define __Pyx_BUILTIN_MODULE_NAME "builtins" -+ #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \ -+ PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -+#endif -+#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6 -+ #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict") - #endif -- - #if PY_MAJOR_VERSION >= 3 - #define Py_TPFLAGS_CHECKTYPES 0 - #define Py_TPFLAGS_HAVE_INDEX 0 - #endif -- - #if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3) - #define Py_TPFLAGS_HAVE_NEWBUFFER 0 - #endif -- -+#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) -+ #define CYTHON_PEP393_ENABLED 1 -+ #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ? \ -+ 0 : _PyUnicode_Ready((PyObject *)(op))) -+ #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) -+ #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) -+ #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) -+#else -+ #define CYTHON_PEP393_ENABLED 0 -+ #define __Pyx_PyUnicode_READY(op) (0) -+ #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) -+ #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) -+ #define __Pyx_PyUnicode_READ(k, d, i) ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i])) -+#endif - #if PY_MAJOR_VERSION >= 3 - #define PyBaseString_Type PyUnicode_Type - #define PyStringObject PyUnicodeObject -@@ -108,7 +137,6 @@ - #define PyString_Check PyUnicode_Check - #define PyString_CheckExact PyUnicode_CheckExact - #endif -- - #if PY_VERSION_HEX < 0x02060000 - #define PyBytesObject PyStringObject - #define PyBytes_Type PyString_Type -@@ -127,7 +155,6 @@ - #define PyBytes_Concat PyString_Concat - #define PyBytes_ConcatAndDel PyString_ConcatAndDel - #endif -- - #if PY_VERSION_HEX < 0x02060000 - #define PySet_Check(obj) PyObject_TypeCheck(obj, &PySet_Type) - #define PyFrozenSet_Check(obj) PyObject_TypeCheck(obj, &PyFrozenSet_Type) -@@ -135,9 +162,7 @@ - #ifndef PySet_CheckExact - #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) - #endif -- - #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) -- - #if PY_MAJOR_VERSION >= 3 - #define PyIntObject PyLongObject - #define PyInt_Type PyLong_Type -@@ -154,20 +179,17 @@ - #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask - #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask - #endif -- - #if PY_MAJOR_VERSION >= 3 - #define PyBoolObject PyLongObject - #endif -- -- --#if PY_MAJOR_VERSION >= 3 -- #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) -- #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) -+#if PY_VERSION_HEX < 0x03020000 -+ typedef long Py_hash_t; -+ #define __Pyx_PyInt_FromHash_t PyInt_FromLong -+ #define __Pyx_PyInt_AsHash_t PyInt_AsLong - #else -- #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) -- #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -+ #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t -+ #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t - #endif -- - #if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300) - #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b) - #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value) -@@ -186,11 +208,9 @@ - (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \ - (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1))) - #endif -- - #if PY_MAJOR_VERSION >= 3 - #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func)) - #endif -- - #if PY_VERSION_HEX < 0x02050000 - #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),((char *)(n))) - #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a)) -@@ -200,7 +220,6 @@ - #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a)) - #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),(n)) - #endif -- - #if PY_VERSION_HEX < 0x02050000 - #define __Pyx_NAMESTR(n) ((char *)(n)) - #define __Pyx_DOCSTR(n) ((char *)(n)) -@@ -209,16 +228,28 @@ - #define __Pyx_DOCSTR(n) (n) - #endif - --#ifdef __cplusplus --#define __PYX_EXTERN_C extern "C" -+ -+#if PY_MAJOR_VERSION >= 3 -+ #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) -+ #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) - #else --#define __PYX_EXTERN_C extern -+ #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) -+ #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -+#endif -+ -+#ifndef __PYX_EXTERN_C -+ #ifdef __cplusplus -+ #define __PYX_EXTERN_C extern "C" -+ #else -+ #define __PYX_EXTERN_C extern -+ #endif - #endif - - #if defined(WIN32) || defined(MS_WINDOWS) - #define _USE_MATH_DEFINES - #endif - #include -+#define __PYX_HAVE__h5py__h5f - #define __PYX_HAVE_API__h5py__h5f - #include "stdlib.h" - #include "string.h" -@@ -230,6 +261,9 @@ - #include "hdf5.h" - #include "hdf5_hl.h" - #include "numpy/arrayobject.h" -+#ifdef _OPENMP -+#include -+#endif /* _OPENMP */ - - #ifdef PYREX_WITHOUT_ASSERTIONS - #define CYTHON_WITHOUT_ASSERTIONS -@@ -257,7 +291,7 @@ - # else - # define CYTHON_UNUSED - # endif --# elif defined(__ICC) || defined(__INTEL_COMPILER) -+# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) - # define CYTHON_UNUSED __attribute__ ((__unused__)) - # else - # define CYTHON_UNUSED -@@ -272,6 +306,7 @@ typedef struct {PyObject **p; char *s; c - #define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s) - #define __Pyx_PyBytes_AsUString(s) ((unsigned char*) PyBytes_AsString(s)) - -+#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None) - #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False)) - static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); - static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); -@@ -280,21 +315,25 @@ static CYTHON_INLINE Py_ssize_t __Pyx_Py - static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); - static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*); - -+#if CYTHON_COMPILING_IN_CPYTHON - #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) -- -+#else -+#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) -+#endif -+#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) - - #ifdef __GNUC__ --/* Test for GCC > 2.95 */ --#if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) --#define likely(x) __builtin_expect(!!(x), 1) --#define unlikely(x) __builtin_expect(!!(x), 0) --#else /* __GNUC__ > 2 ... */ --#define likely(x) (x) --#define unlikely(x) (x) --#endif /* __GNUC__ > 2 ... */ -+ /* Test for GCC > 2.95 */ -+ #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) -+ #define likely(x) __builtin_expect(!!(x), 1) -+ #define unlikely(x) __builtin_expect(!!(x), 0) -+ #else /* __GNUC__ > 2 ... */ -+ #define likely(x) (x) -+ #define unlikely(x) (x) -+ #endif /* __GNUC__ > 2 ... */ - #else /* __GNUC__ */ --#define likely(x) (x) --#define unlikely(x) (x) -+ #define likely(x) (x) -+ #define unlikely(x) (x) - #endif /* __GNUC__ */ - - static PyObject *__pyx_m; -@@ -315,7 +354,37 @@ static const char *__pyx_f[] = { - "numpy.pxd", - }; - --/* Type declarations */ -+/*--- Type declarations ---*/ -+struct __pyx_obj_4h5py_8_objects_ObjectID; -+struct __pyx_obj_4h5py_3h5p_PropID; -+struct __pyx_obj_4h5py_3h5p_PropInstanceID; -+struct __pyx_obj_4h5py_3h5p_PropCreateID; -+struct __pyx_obj_4h5py_3h5p_PropGCID; -+struct __pyx_obj_4h5py_3h5t_TypeID; -+struct __pyx_obj_4h5py_3h5t_TypeVlenID; -+struct __pyx_obj_4h5py_3h5t_TypeReferenceID; -+struct __pyx_obj_4h5py_3h5t_TypeArrayID; -+struct __pyx_obj_4h5py_3h5p_PropLAID; -+struct __pyx_obj_4h5py_3h5t_TypeBitfieldID; -+struct __pyx_obj_4h5py_3h5p_PropDCID; -+struct __pyx_obj_4h5py_3h5p_PropCopyID; -+struct __pyx_obj_4h5py_3h5p_PropClassID; -+struct __pyx_obj_4h5py_3h5t_TypeAtomicID; -+struct __pyx_obj_4h5py_3h5t_TypeTimeID; -+struct __pyx_obj_4h5py_3h5p_PropLCID; -+struct __pyx_obj_4h5py_3h5p_PropFCID; -+struct __pyx_obj_4h5py_3h5p_PropDXID; -+struct __pyx_obj_4h5py_3h5t_TypeCompositeID; -+struct __pyx_obj_4h5py_3h5t_TypeCompoundID; -+struct __pyx_obj_4h5py_3h5t_TypeOpaqueID; -+struct __pyx_obj_4h5py_3h5p_PropFAID; -+struct __pyx_obj_4h5py_3h5t_TypeIntegerID; -+struct __pyx_obj_4h5py_3h5t_TypeEnumID; -+struct __pyx_obj_4h5py_3h5g_GroupID; -+struct __pyx_obj_4h5py_3h5t_TypeFloatID; -+struct __pyx_obj_4h5py_3h5f_FileID; -+struct __pyx_obj_4h5py_3h5t_TypeStringID; -+struct __pyx_opt_args_4h5py_3h5t_py_create; - - /* "h5t.pxd":72 - * -@@ -324,11 +393,12 @@ static const char *__pyx_f[] = { - * - * - */ -- - struct __pyx_opt_args_4h5py_3h5t_py_create { - int __pyx_n; - int logical; - }; -+struct __pyx_opt_args_4h5py_5utils_check_numpy_read; -+struct __pyx_opt_args_4h5py_5utils_check_numpy_write; - - /* "utils.pxd":20 - * cdef void efree(void* ptr) -@@ -337,7 +407,6 @@ struct __pyx_opt_args_4h5py_3h5t_py_crea - * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1 - * - */ -- - struct __pyx_opt_args_4h5py_5utils_check_numpy_read { - int __pyx_n; - hid_t space_id; -@@ -350,7 +419,6 @@ struct __pyx_opt_args_4h5py_5utils_check - * - * cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1 - */ -- - struct __pyx_opt_args_4h5py_5utils_check_numpy_write { - int __pyx_n; - hid_t space_id; -@@ -363,7 +431,6 @@ struct __pyx_opt_args_4h5py_5utils_check - * - * cdef object __weakref__ - */ -- - struct __pyx_obj_4h5py_8_objects_ObjectID { - PyObject_HEAD - PyObject *__weakref__; -@@ -372,6 +439,7 @@ struct __pyx_obj_4h5py_8_objects_ObjectI - PyObject *_hash; - }; - -+ - /* "h5p.pxd":23 - * # --- Base classes --- - * -@@ -379,11 +447,11 @@ struct __pyx_obj_4h5py_8_objects_ObjectI - * """ Base class for all property lists """ - * pass - */ -- - struct __pyx_obj_4h5py_3h5p_PropID { - struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base; - }; - -+ - /* "h5p.pxd":33 - * pass - * -@@ -391,23 +459,35 @@ struct __pyx_obj_4h5py_3h5p_PropID { - * """ Represents an instance of a property list class (i.e. an actual list - * which can be passed on to other API functions). - */ -- - struct __pyx_obj_4h5py_3h5p_PropInstanceID { - struct __pyx_obj_4h5py_3h5p_PropID __pyx_base; - }; - --/* "h5p.pxd":62 -- * # --- Object access --- -- * -- * cdef class PropFAID(PropInstanceID): # <<<<<<<<<<<<<< -- * """ File access property list """ -+ -+/* "h5p.pxd":39 - * pass -+ * -+ * cdef class PropCreateID(PropInstanceID): # <<<<<<<<<<<<<< -+ * """ Base class for all object creation lists. -+ * - */ -- --struct __pyx_obj_4h5py_3h5p_PropFAID { -+struct __pyx_obj_4h5py_3h5p_PropCreateID { - struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; - }; - -+ -+/* "h5p.pxd":81 -+ * cdef char* _buf -+ * -+ * cdef class PropGCID(PropCreateID): # <<<<<<<<<<<<<< -+ * """ Group creation property list """ -+ * pass -+ */ -+struct __pyx_obj_4h5py_3h5p_PropGCID { -+ struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; -+}; -+ -+ - /* "h5t.pxd":17 - * from _objects cimport class ObjectID - * -@@ -415,48 +495,97 @@ struct __pyx_obj_4h5py_3h5p_PropFAID { - * - * cdef object py_dtype(self) - */ -- - struct __pyx_obj_4h5py_3h5t_TypeID { - struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base; - struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtab; - }; - --/* "h5t.pxd":40 -+ -+/* "h5t.pxd":33 - * pass - * -- * cdef class TypeBitfieldID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeVlenID(TypeID): # <<<<<<<<<<<<<< -+ * # Non-string vlens - * pass -- * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeBitfieldID { -+struct __pyx_obj_4h5py_3h5t_TypeVlenID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - --/* "h5p.pxd":39 -+ -+/* "h5t.pxd":43 - * pass - * -- * cdef class PropCreateID(PropInstanceID): # <<<<<<<<<<<<<< -- * """ Base class for all object creation lists. -+ * cdef class TypeReferenceID(TypeID): # <<<<<<<<<<<<<< -+ * pass - * - */ -+struct __pyx_obj_4h5py_3h5t_TypeReferenceID { -+ struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; -+}; - --struct __pyx_obj_4h5py_3h5p_PropCreateID { -+ -+/* "h5t.pxd":23 -+ * # --- Top-level classes --- -+ * -+ * cdef class TypeArrayID(TypeID): # <<<<<<<<<<<<<< -+ * pass -+ * -+ */ -+struct __pyx_obj_4h5py_3h5t_TypeArrayID { -+ struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; -+}; -+ -+ -+/* "h5p.pxd":77 -+ * pass -+ * -+ * cdef class PropLAID(PropInstanceID): # <<<<<<<<<<<<<< -+ * """ Link access property list """ -+ * cdef char* _buf -+ */ -+struct __pyx_obj_4h5py_3h5p_PropLAID { - struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; -+ char *_buf; - }; - --/* "h5p.pxd":55 -+ -+/* "h5t.pxd":40 - * pass - * -- * cdef class PropFCID(PropCreateID): # <<<<<<<<<<<<<< -- * """ File creation property list """ -+ * cdef class TypeBitfieldID(TypeID): # <<<<<<<<<<<<<< - * pass -+ * - */ -+struct __pyx_obj_4h5py_3h5t_TypeBitfieldID { -+ struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; -+}; - --struct __pyx_obj_4h5py_3h5p_PropFCID { -+ -+/* "h5p.pxd":51 -+ * # --- Object creation --- -+ * -+ * cdef class PropDCID(PropCreateID): # <<<<<<<<<<<<<< -+ * """ Dataset creation property list """ -+ * pass -+ */ -+struct __pyx_obj_4h5py_3h5p_PropDCID { - struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; - }; - -+ -+/* "h5p.pxd":46 -+ * pass -+ * -+ * cdef class PropCopyID(PropInstanceID): # <<<<<<<<<<<<<< -+ * """ Property list for copying objects (as in h5o.copy) """ -+ * -+ */ -+struct __pyx_obj_4h5py_3h5p_PropCopyID { -+ struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; -+}; -+ -+ - /* "h5p.pxd":27 - * pass - * -@@ -464,47 +593,35 @@ struct __pyx_obj_4h5py_3h5p_PropFCID { - * """ Represents an HDF5 property list class. These can be either (locked) - * library-defined classes or user-created classes. - */ -- - struct __pyx_obj_4h5py_3h5p_PropClassID { - struct __pyx_obj_4h5py_3h5p_PropID __pyx_base; - }; - --/* "h5t.pxd":59 -- * # --- Enums & compound types --- -+ -+/* "h5t.pxd":48 -+ * # --- Numeric atomic types --- - * -- * cdef class TypeCompositeID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeAtomicID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeCompositeID { -+struct __pyx_obj_4h5py_3h5t_TypeAtomicID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - --/* "h5t.pxd":66 -- * cdef int enum_convert(self, long long *buf, int reverse) except -1 -- * -- * cdef class TypeCompoundID(TypeCompositeID): # <<<<<<<<<<<<<< -- * pass -- * -- */ -- --struct __pyx_obj_4h5py_3h5t_TypeCompoundID { -- struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base; --}; - --/* "h5t.pxd":33 -+/* "h5t.pxd":37 - * pass - * -- * cdef class TypeVlenID(TypeID): # <<<<<<<<<<<<<< -- * # Non-string vlens -+ * cdef class TypeTimeID(TypeID): # <<<<<<<<<<<<<< - * pass -+ * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeVlenID { -+struct __pyx_obj_4h5py_3h5t_TypeTimeID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - -+ - /* "h5p.pxd":73 - * # --- New in 1.8 --- - * -@@ -512,132 +629,95 @@ struct __pyx_obj_4h5py_3h5t_TypeVlenID { - * """ Link creation property list """ - * pass - */ -- - struct __pyx_obj_4h5py_3h5p_PropLCID { - struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; - }; - --/* "h5g.pxd":17 -- * from _objects cimport ObjectID -- * -- * cdef class GroupID(ObjectID): # <<<<<<<<<<<<<< -- * -- * cdef readonly object links -- */ -- --struct __pyx_obj_4h5py_3h5g_GroupID { -- struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base; -- PyObject *links; --}; - --/* "h5p.pxd":81 -- * cdef char* _buf -- * -- * cdef class PropGCID(PropCreateID): # <<<<<<<<<<<<<< -- * """ Group creation property list """ -+/* "h5p.pxd":55 - * pass -- */ -- --struct __pyx_obj_4h5py_3h5p_PropGCID { -- struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; --}; -- --/* "h5p.pxd":51 -- * # --- Object creation --- - * -- * cdef class PropDCID(PropCreateID): # <<<<<<<<<<<<<< -- * """ Dataset creation property list """ -+ * cdef class PropFCID(PropCreateID): # <<<<<<<<<<<<<< -+ * """ File creation property list """ - * pass - */ -- --struct __pyx_obj_4h5py_3h5p_PropDCID { -+struct __pyx_obj_4h5py_3h5p_PropFCID { - struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; - }; - --/* "h5t.pxd":37 -+ -+/* "h5p.pxd":66 - * pass - * -- * cdef class TypeTimeID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class PropDXID(PropInstanceID): # <<<<<<<<<<<<<< -+ * """ Dataset transfer property list """ - * pass -- * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeTimeID { -- struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; -+struct __pyx_obj_4h5py_3h5p_PropDXID { -+ struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; - }; - --/* "h5t.pxd":23 -- * # --- Top-level classes --- -- * -- * cdef class TypeArrayID(TypeID): # <<<<<<<<<<<<<< -- * pass -- * -- */ - --struct __pyx_obj_4h5py_3h5t_TypeArrayID { -- struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; --}; -- --/* "h5t.pxd":48 -- * # --- Numeric atomic types --- -+/* "h5t.pxd":59 -+ * # --- Enums & compound types --- - * -- * cdef class TypeAtomicID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeCompositeID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeAtomicID { -+struct __pyx_obj_4h5py_3h5t_TypeCompositeID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - --/* "h5py/h5f.pxd":18 -- * from h5g cimport GroupID -+ -+/* "h5t.pxd":66 -+ * cdef int enum_convert(self, long long *buf, int reverse) except -1 - * -- * cdef class FileID(GroupID): # <<<<<<<<<<<<<< -+ * cdef class TypeCompoundID(TypeCompositeID): # <<<<<<<<<<<<<< - * pass - * - */ -- --struct __pyx_obj_4h5py_3h5f_FileID { -- struct __pyx_obj_4h5py_3h5g_GroupID __pyx_base; -+struct __pyx_obj_4h5py_3h5t_TypeCompoundID { -+ struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base; - }; - --/* "h5t.pxd":54 -+ -+/* "h5t.pxd":26 - * pass - * -- * cdef class TypeFloatID(TypeAtomicID): # <<<<<<<<<<<<<< -+ * cdef class TypeOpaqueID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeFloatID { -- struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base; -+struct __pyx_obj_4h5py_3h5t_TypeOpaqueID { -+ struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - --/* "h5t.pxd":29 -- * pass -+ -+/* "h5p.pxd":62 -+ * # --- Object access --- - * -- * cdef class TypeStringID(TypeID): # <<<<<<<<<<<<<< -- * # Both vlen and fixed-len strings -+ * cdef class PropFAID(PropInstanceID): # <<<<<<<<<<<<<< -+ * """ File access property list """ - * pass - */ -- --struct __pyx_obj_4h5py_3h5t_TypeStringID { -- struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; -+struct __pyx_obj_4h5py_3h5p_PropFAID { -+ struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; - }; - --/* "h5t.pxd":26 -+ -+/* "h5t.pxd":51 - * pass - * -- * cdef class TypeOpaqueID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeIntegerID(TypeAtomicID): # <<<<<<<<<<<<<< - * pass - * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeOpaqueID { -- struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; -+struct __pyx_obj_4h5py_3h5t_TypeIntegerID { -+ struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base; - }; - -+ - /* "h5t.pxd":62 - * pass - * -@@ -645,71 +725,59 @@ struct __pyx_obj_4h5py_3h5t_TypeOpaqueID - * - * cdef int enum_convert(self, long long *buf, int reverse) except -1 - */ -- - struct __pyx_obj_4h5py_3h5t_TypeEnumID { - struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base; - }; - --/* "h5p.pxd":46 -- * pass -+ -+/* "h5g.pxd":17 -+ * from _objects cimport ObjectID - * -- * cdef class PropCopyID(PropInstanceID): # <<<<<<<<<<<<<< -- * """ Property list for copying objects (as in h5o.copy) """ -+ * cdef class GroupID(ObjectID): # <<<<<<<<<<<<<< - * -+ * cdef readonly object links - */ -- --struct __pyx_obj_4h5py_3h5p_PropCopyID { -- struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; -+struct __pyx_obj_4h5py_3h5g_GroupID { -+ struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base; -+ PyObject *links; - }; - --/* "h5t.pxd":51 -+ -+/* "h5t.pxd":54 - * pass - * -- * cdef class TypeIntegerID(TypeAtomicID): # <<<<<<<<<<<<<< -+ * cdef class TypeFloatID(TypeAtomicID): # <<<<<<<<<<<<<< - * pass - * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeIntegerID { -+struct __pyx_obj_4h5py_3h5t_TypeFloatID { - struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base; - }; - --/* "h5t.pxd":43 -- * pass -+ -+/* "h5py/h5f.pxd":18 -+ * from h5g cimport GroupID - * -- * cdef class TypeReferenceID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class FileID(GroupID): # <<<<<<<<<<<<<< - * pass - * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeReferenceID { -- struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; -+struct __pyx_obj_4h5py_3h5f_FileID { -+ struct __pyx_obj_4h5py_3h5g_GroupID __pyx_base; - }; - --/* "h5p.pxd":66 -+ -+/* "h5t.pxd":29 - * pass - * -- * cdef class PropDXID(PropInstanceID): # <<<<<<<<<<<<<< -- * """ Dataset transfer property list """ -+ * cdef class TypeStringID(TypeID): # <<<<<<<<<<<<<< -+ * # Both vlen and fixed-len strings - * pass - */ -- --struct __pyx_obj_4h5py_3h5p_PropDXID { -- struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; -+struct __pyx_obj_4h5py_3h5t_TypeStringID { -+ struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - --/* "h5p.pxd":77 -- * pass -- * -- * cdef class PropLAID(PropInstanceID): # <<<<<<<<<<<<<< -- * """ Link access property list """ -- * cdef char* _buf -- */ -- --struct __pyx_obj_4h5py_3h5p_PropLAID { -- struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; -- char *_buf; --}; - - - /* "h5t.pxd":17 -@@ -725,75 +793,47 @@ struct __pyx_vtabstruct_4h5py_3h5t_TypeI - }; - static struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtabptr_4h5py_3h5t_TypeID; - -- --/* "h5t.pxd":59 -- * # --- Enums & compound types --- -- * -- * cdef class TypeCompositeID(TypeID): # <<<<<<<<<<<<<< -- * pass -- * -- */ -- --struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID { -- struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; --}; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID *__pyx_vtabptr_4h5py_3h5t_TypeCompositeID; -- -- --/* "h5t.pxd":66 -- * cdef int enum_convert(self, long long *buf, int reverse) except -1 -- * -- * cdef class TypeCompoundID(TypeCompositeID): # <<<<<<<<<<<<<< -- * pass -- * -- */ -- --struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID { -- struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base; --}; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID *__pyx_vtabptr_4h5py_3h5t_TypeCompoundID; -- -- --/* "h5t.pxd":26 -- * pass -+ -+/* "h5t.pxd":48 -+ * # --- Numeric atomic types --- - * -- * cdef class TypeOpaqueID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeAtomicID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID *__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID *__pyx_vtabptr_4h5py_3h5t_TypeAtomicID; - - --/* "h5t.pxd":23 -- * # --- Top-level classes --- -+/* "h5t.pxd":54 -+ * pass - * -- * cdef class TypeArrayID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeFloatID(TypeAtomicID): # <<<<<<<<<<<<<< - * pass - * - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID { -- struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; -+struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID { -+ struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID *__pyx_vtabptr_4h5py_3h5t_TypeArrayID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID *__pyx_vtabptr_4h5py_3h5t_TypeFloatID; - - --/* "h5t.pxd":48 -- * # --- Numeric atomic types --- -+/* "h5t.pxd":37 -+ * pass - * -- * cdef class TypeAtomicID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeTimeID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID *__pyx_vtabptr_4h5py_3h5t_TypeAtomicID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID *__pyx_vtabptr_4h5py_3h5t_TypeTimeID; - - - /* "h5t.pxd":51 -@@ -810,18 +850,33 @@ struct __pyx_vtabstruct_4h5py_3h5t_TypeI - static struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID *__pyx_vtabptr_4h5py_3h5t_TypeIntegerID; - - --/* "h5t.pxd":43 -- * pass -+/* "h5t.pxd":59 -+ * # --- Enums & compound types --- - * -- * cdef class TypeReferenceID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeCompositeID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID *__pyx_vtabptr_4h5py_3h5t_TypeReferenceID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID *__pyx_vtabptr_4h5py_3h5t_TypeCompositeID; -+ -+ -+/* "h5t.pxd":62 -+ * pass -+ * -+ * cdef class TypeEnumID(TypeCompositeID): # <<<<<<<<<<<<<< -+ * -+ * cdef int enum_convert(self, long long *buf, int reverse) except -1 -+ */ -+ -+struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID { -+ struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base; -+ int (*enum_convert)(struct __pyx_obj_4h5py_3h5t_TypeEnumID *, PY_LONG_LONG *, int); -+}; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *__pyx_vtabptr_4h5py_3h5t_TypeEnumID; - - - /* "h5t.pxd":29 -@@ -838,32 +893,32 @@ struct __pyx_vtabstruct_4h5py_3h5t_TypeS - static struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID *__pyx_vtabptr_4h5py_3h5t_TypeStringID; - - --/* "h5t.pxd":54 -- * pass -+/* "h5t.pxd":66 -+ * cdef int enum_convert(self, long long *buf, int reverse) except -1 - * -- * cdef class TypeFloatID(TypeAtomicID): # <<<<<<<<<<<<<< -+ * cdef class TypeCompoundID(TypeCompositeID): # <<<<<<<<<<<<<< - * pass - * - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID { -- struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base; -+struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID { -+ struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID *__pyx_vtabptr_4h5py_3h5t_TypeFloatID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID *__pyx_vtabptr_4h5py_3h5t_TypeCompoundID; - - --/* "h5t.pxd":37 -+/* "h5t.pxd":33 - * pass - * -- * cdef class TypeTimeID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeVlenID(TypeID): # <<<<<<<<<<<<<< -+ * # Non-string vlens - * pass -- * - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID *__pyx_vtabptr_4h5py_3h5t_TypeTimeID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID *__pyx_vtabptr_4h5py_3h5t_TypeVlenID; - - - /* "h5t.pxd":40 -@@ -880,38 +935,49 @@ struct __pyx_vtabstruct_4h5py_3h5t_TypeB - static struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID *__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID; - - --/* "h5t.pxd":33 -- * pass -+/* "h5t.pxd":23 -+ * # --- Top-level classes --- - * -- * cdef class TypeVlenID(TypeID): # <<<<<<<<<<<<<< -- * # Non-string vlens -+ * cdef class TypeArrayID(TypeID): # <<<<<<<<<<<<<< - * pass -+ * - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID *__pyx_vtabptr_4h5py_3h5t_TypeVlenID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID *__pyx_vtabptr_4h5py_3h5t_TypeArrayID; - - --/* "h5t.pxd":62 -+/* "h5t.pxd":43 - * pass - * -- * cdef class TypeEnumID(TypeCompositeID): # <<<<<<<<<<<<<< -+ * cdef class TypeReferenceID(TypeID): # <<<<<<<<<<<<<< -+ * pass - * -- * cdef int enum_convert(self, long long *buf, int reverse) except -1 - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID { -- struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base; -- int (*enum_convert)(struct __pyx_obj_4h5py_3h5t_TypeEnumID *, PY_LONG_LONG *, int); -+struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID { -+ struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *__pyx_vtabptr_4h5py_3h5t_TypeEnumID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID *__pyx_vtabptr_4h5py_3h5t_TypeReferenceID; -+ -+ -+/* "h5t.pxd":26 -+ * pass -+ * -+ * cdef class TypeOpaqueID(TypeID): # <<<<<<<<<<<<<< -+ * pass -+ * -+ */ - -+struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID { -+ struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; -+}; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID *__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID; - #ifndef CYTHON_REFNANNY - #define CYTHON_REFNANNY 0 - #endif -- - #if CYTHON_REFNANNY - typedef struct { - void (*INCREF)(void*, PyObject*, int); -@@ -922,44 +988,54 @@ static struct __pyx_vtabstruct_4h5py_3h5 - void (*FinishContext)(void**); - } __Pyx_RefNannyAPIStruct; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; -- static __Pyx_RefNannyAPIStruct * __Pyx_RefNannyImportAPI(const char *modname) { -- PyObject *m = NULL, *p = NULL; -- void *r = NULL; -- m = PyImport_ImportModule((char *)modname); -- if (!m) goto end; -- p = PyObject_GetAttrString(m, (char *)"RefNannyAPI"); -- if (!p) goto end; -- r = PyLong_AsVoidPtr(p); -- end: -- Py_XDECREF(p); -- Py_XDECREF(m); -- return (__Pyx_RefNannyAPIStruct *)r; -- } -- #define __Pyx_RefNannySetupContext(name) void *__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) -- #define __Pyx_RefNannyFinishContext() __Pyx_RefNanny->FinishContext(&__pyx_refnanny) -- #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -- #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -- #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -+ static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/ -+ #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; -+#ifdef WITH_THREAD -+ #define __Pyx_RefNannySetupContext(name, acquire_gil) \ -+ if (acquire_gil) { \ -+ PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \ -+ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \ -+ PyGILState_Release(__pyx_gilstate_save); \ -+ } else { \ -+ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \ -+ } -+#else -+ #define __Pyx_RefNannySetupContext(name, acquire_gil) \ -+ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) -+#endif -+ #define __Pyx_RefNannyFinishContext() \ -+ __Pyx_RefNanny->FinishContext(&__pyx_refnanny) -+ #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -+ #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -+ #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -- #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r);} } while(0) -+ #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) -+ #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) -+ #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) -+ #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) - #else -- #define __Pyx_RefNannySetupContext(name) -+ #define __Pyx_RefNannyDeclarations -+ #define __Pyx_RefNannySetupContext(name, acquire_gil) - #define __Pyx_RefNannyFinishContext() - #define __Pyx_INCREF(r) Py_INCREF(r) - #define __Pyx_DECREF(r) Py_DECREF(r) - #define __Pyx_GOTREF(r) - #define __Pyx_GIVEREF(r) -+ #define __Pyx_XINCREF(r) Py_XINCREF(r) - #define __Pyx_XDECREF(r) Py_XDECREF(r) -+ #define __Pyx_XGOTREF(r) -+ #define __Pyx_XGIVEREF(r) - #endif /* CYTHON_REFNANNY */ --#define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);} } while(0) --#define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r);} } while(0) -+#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) -+#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) - - static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/ - --static void __Pyx_RaiseDoubleKeywordsError( -- const char* func_name, PyObject* kw_name); /*proto*/ -+static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/ - --static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, const char* function_name); /*proto*/ -+static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \ -+ PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \ -+ const char* function_name); /*proto*/ - - static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, - Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/ -@@ -970,14 +1046,22 @@ static int __Pyx_ArgTypeTest(PyObject *o - static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ - static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ - --static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ -+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/ - - static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ - -+static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc); -+ -+static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse); -+ -+static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_dealloc); -+ - static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ - static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ - --static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/ -+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level); /*proto*/ -+ -+static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name); - - static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t); - -@@ -1019,44 +1103,49 @@ static CYTHON_INLINE signed long __Pyx_P - - static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *); - --static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, long size, int strict); /*proto*/ -+static int __Pyx_check_binary_version(void); -+ -+#if !defined(__Pyx_PyIdentifier_FromString) -+#if PY_MAJOR_VERSION < 3 -+ #define __Pyx_PyIdentifier_FromString(s) PyString_FromString(s) -+#else -+ #define __Pyx_PyIdentifier_FromString(s) PyUnicode_FromString(s) -+#endif -+#endif - - static PyObject *__Pyx_ImportModule(const char *name); /*proto*/ - -+static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict); /*proto*/ -+ - static void* __Pyx_GetVtable(PyObject *dict); /*proto*/ - - static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/ - --static void __Pyx_AddTraceback(const char *funcname); /*proto*/ -+typedef struct { -+ int code_line; -+ PyCodeObject* code_object; -+} __Pyx_CodeObjectCacheEntry; -+struct __Pyx_CodeObjectCache { -+ int count; -+ int max_count; -+ __Pyx_CodeObjectCacheEntry* entries; -+}; -+static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; -+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); -+static PyCodeObject *__pyx_find_code_object(int code_line); -+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); -+ -+static void __Pyx_AddTraceback(const char *funcname, int c_line, -+ int py_line, const char *filename); /*proto*/ - - static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ --/* Module declarations from h5py.api_types_ext */ - --/* Module declarations from h5py.api_types_hdf5 */ - --/* Module declarations from h5py.defs */ -+/* Module declarations from 'h5py.api_types_ext' */ - --static herr_t (*__pyx_f_4h5py_4defs_H5open)(void); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5close)(void); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5get_libversion)(unsigned int *, unsigned int *, unsigned int *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dcreate2)(hid_t, char *, hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dcreate_anon)(hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dopen)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dget_space)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dget_space_status)(hid_t, H5D_space_status_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dget_type)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dget_create_plist)(hid_t); /*proto*/ --static haddr_t (*__pyx_f_4h5py_4defs_H5Dget_offset)(hid_t); /*proto*/ --static hsize_t (*__pyx_f_4h5py_4defs_H5Dget_storage_size)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dread)(hid_t, hid_t, hid_t, hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dwrite)(hid_t, hid_t, hid_t, hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dextend)(hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dfill)(void *, hid_t, void *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dvlen_get_buf_size)(hid_t, hid_t, hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dvlen_reclaim)(hid_t, hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Diterate)(void *, hid_t, hid_t, H5D_operator_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dset_extent)(hid_t, hsize_t *); /*proto*/ -+/* Module declarations from 'h5py.api_types_hdf5' */ -+ -+/* Module declarations from 'h5py.defs' */ - static hid_t (*__pyx_f_4h5py_4defs_H5Fcreate)(char *, unsigned int, hid_t, hid_t); /*proto*/ - static hid_t (*__pyx_f_4h5py_4defs_H5Fopen)(char *, unsigned int, hid_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Fclose)(hid_t); /*proto*/ -@@ -1073,288 +1162,15 @@ static Py_ssize_t (*__pyx_f_4h5py_4defs_ - static int (*__pyx_f_4h5py_4defs_H5Fget_obj_count)(hid_t, unsigned int); /*proto*/ - static int (*__pyx_f_4h5py_4defs_H5Fget_obj_ids)(hid_t, unsigned int, int, hid_t *); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Fget_intent)(hid_t, unsigned int *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate)(hid_t, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gopen)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gclose)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Glink2)(hid_t, char *, H5G_link_t, hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gunlink)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gmove2)(hid_t, char *, hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_num_objs)(hid_t, hsize_t *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Gget_objname_by_idx)(hid_t, hsize_t, char *, size_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Gget_objtype_by_idx)(hid_t, hsize_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Giterate)(hid_t, char *, int *, H5G_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_objinfo)(hid_t, char *, int, H5G_stat_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_linkval)(hid_t, char *, size_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gset_comment)(hid_t, char *, char *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Gget_comment)(hid_t, char *, size_t, char *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate_anon)(hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate2)(hid_t, char *, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gopen2)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_info)(hid_t, H5G_info_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_info_by_name)(hid_t, char *, H5G_info_t *, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gget_create_plist)(hid_t); /*proto*/ --static H5I_type_t (*__pyx_f_4h5py_4defs_H5Iget_type)(hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Iget_name)(hid_t, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Iget_file_id)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Idec_ref)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Iget_ref)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Iinc_ref)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lmove)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcopy)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_hard)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_soft)(char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ldelete)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ldelete_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_val)(hid_t, char *, void *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_val_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, void *, size_t, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Lexists)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_info)(hid_t, char *, H5L_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5L_info_t *, hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Lget_name_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, char *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Literate)(hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Literate_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lvisit)(hid_t, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lvisit_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lunpack_elink_val)(void *, size_t, unsigned int *, char **, char **); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_external)(char *, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Oopen)(hid_t, char *, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Oopen_by_addr)(hid_t, haddr_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Oopen_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info)(hid_t, H5O_info_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info_by_name)(hid_t, char *, H5O_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5O_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Olink)(hid_t, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ocopy)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oincr_refcount)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Odecr_refcount)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oset_comment)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oset_comment_by_name)(hid_t, char *, char *, hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Oget_comment)(hid_t, char *, size_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Oget_comment_by_name)(hid_t, char *, char *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ovisit)(hid_t, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ovisit_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pcreate)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pcopy)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Pget_class)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pclose)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Pequal)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pclose_class)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_version)(hid_t, unsigned int *, unsigned int *, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_userblock)(hid_t, hsize_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_userblock)(hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sizes)(hid_t, size_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sizes)(hid_t, size_t *, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sym_k)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sym_k)(hid_t, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_istore_k)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_istore_k)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fclose_degree)(hid_t, enum H5F_close_degree_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fclose_degree)(hid_t, enum H5F_close_degree_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_core)(hid_t, size_t, hbool_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fapl_core)(hid_t, size_t *, hbool_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_family)(hid_t, hsize_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fapl_family)(hid_t, hsize_t *, hid_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_family_offset)(hid_t, hsize_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_family_offset)(hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_log)(hid_t, char *, unsigned int, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_multi)(hid_t, H5FD_mem_t *, hid_t *, char **, haddr_t *, hbool_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_cache)(hid_t, int, int, size_t, double); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_cache)(hid_t, int *, int *, size_t *, double *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_sec2)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_stdio)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pget_driver)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_layout)(hid_t, int); /*proto*/ --static H5D_layout_t (*__pyx_f_4h5py_4defs_H5Pget_layout)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_chunk)(hid_t, int, hsize_t *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Pget_chunk)(hid_t, int, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_deflate)(hid_t, int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fill_value)(hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fill_value)(hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pfill_value_defined)(hid_t, H5D_fill_value_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fill_time)(hid_t, H5D_fill_time_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fill_time)(hid_t, H5D_fill_time_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_alloc_time)(hid_t, H5D_alloc_time_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_alloc_time)(hid_t, H5D_alloc_time_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_filter)(hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Pall_filters_avail)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Pget_nfilters)(hid_t); /*proto*/ --static H5Z_filter_t (*__pyx_f_4h5py_4defs_H5Pget_filter)(hid_t, unsigned int, unsigned int *, size_t *, unsigned int *, size_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_filter_by_id)(hid_t, H5Z_filter_t, unsigned int *, size_t *, unsigned int *, size_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pmodify_filter)(hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Premove_filter)(hid_t, H5Z_filter_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fletcher32)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_shuffle)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_szip)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_edc_check)(hid_t, enum H5Z_EDC_t); /*proto*/ --static enum H5Z_EDC_t (*__pyx_f_4h5py_4defs_H5Pget_edc_check)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sieve_buf_size)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sieve_buf_size)(hid_t, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_nlinks)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_nlinks)(hid_t, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_elink_prefix)(hid_t, char *); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Pget_elink_prefix)(hid_t, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pget_elink_fapl)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_elink_fapl)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_create_intermediate_group)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_create_intermediate_group)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_copy_object)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_copy_object)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_char_encoding)(hid_t, H5T_cset_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_char_encoding)(hid_t, H5T_cset_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_local_heap_size_hint)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_local_heap_size_hint)(hid_t, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_link_phase_change)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_link_phase_change)(hid_t, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_est_link_info)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_est_link_info)(hid_t, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_link_creation_order)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_link_creation_order)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_libver_bounds)(hid_t, H5F_libver_t, H5F_libver_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_libver_bounds)(hid_t, H5F_libver_t *, H5F_libver_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Rcreate)(void *, hid_t, char *, H5R_type_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Rdereference)(hid_t, H5R_type_t, void *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Rget_region)(hid_t, H5R_type_t, void *); /*proto*/ --static enum H5G_obj_t (*__pyx_f_4h5py_4defs_H5Rget_obj_type)(hid_t, H5R_type_t, void *); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Rget_name)(hid_t, H5R_type_t, void *, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Screate)(H5S_class_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Scopy)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Screate_simple)(int, hsize_t *, hsize_t *); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Sis_simple)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Soffset_simple)(hid_t, hssize_t *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_dims)(hid_t, hsize_t *, hsize_t *); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_npoints)(hid_t); /*proto*/ --static H5S_class_t (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_type)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sextent_copy)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sset_extent_simple)(hid_t, int, hsize_t *, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sset_extent_none)(hid_t); /*proto*/ --static H5S_sel_type (*__pyx_f_4h5py_4defs_H5Sget_select_type)(hid_t); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_select_npoints)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sget_select_bounds)(hid_t, hsize_t *, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_all)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_none)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Sselect_valid)(hid_t); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_select_elem_npoints)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sget_select_elem_pointlist)(hid_t, hsize_t, hsize_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_elements)(hid_t, H5S_seloper_t, size_t, hsize_t **); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_select_hyper_nblocks)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sget_select_hyper_blocklist)(hid_t, hsize_t, hsize_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_hyperslab)(hid_t, H5S_seloper_t, hsize_t *, hsize_t *, hsize_t *, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sencode)(hid_t, void *, size_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Sdecode)(void *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tcreate)(enum H5T_class_t, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Topen)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tcommit)(hid_t, char *, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tcommitted)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tcopy)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tequal)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tlock)(hid_t); /*proto*/ --static enum H5T_class_t (*__pyx_f_4h5py_4defs_H5Tget_class)(hid_t); /*proto*/ --static size_t (*__pyx_f_4h5py_4defs_H5Tget_size)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tget_super)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tdetect_class)(hid_t, enum H5T_class_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tget_native_type)(hid_t, enum H5T_direction_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tconvert)(hid_t, hid_t, size_t, void *, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_size)(hid_t, size_t); /*proto*/ --static H5T_order_t (*__pyx_f_4h5py_4defs_H5Tget_order)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_order)(hid_t, H5T_order_t); /*proto*/ --static hsize_t (*__pyx_f_4h5py_4defs_H5Tget_precision)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_precision)(hid_t, size_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_offset)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_offset)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tget_pad)(hid_t, H5T_pad_t *, H5T_pad_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_pad)(hid_t, H5T_pad_t, H5T_pad_t); /*proto*/ --static H5T_sign_t (*__pyx_f_4h5py_4defs_H5Tget_sign)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_sign)(hid_t, H5T_sign_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tget_fields)(hid_t, size_t *, size_t *, size_t *, size_t *, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_fields)(hid_t, size_t, size_t, size_t, size_t, size_t); /*proto*/ --static size_t (*__pyx_f_4h5py_4defs_H5Tget_ebias)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_ebias)(hid_t, size_t); /*proto*/ --static H5T_norm_t (*__pyx_f_4h5py_4defs_H5Tget_norm)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_norm)(hid_t, H5T_norm_t); /*proto*/ --static H5T_pad_t (*__pyx_f_4h5py_4defs_H5Tget_inpad)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_inpad)(hid_t, H5T_pad_t); /*proto*/ --static H5T_cset_t (*__pyx_f_4h5py_4defs_H5Tget_cset)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_cset)(hid_t, H5T_cset_t); /*proto*/ --static H5T_str_t (*__pyx_f_4h5py_4defs_H5Tget_strpad)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_strpad)(hid_t, H5T_str_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tvlen_create)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tis_variable_str)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_nmembers)(hid_t); /*proto*/ --static enum H5T_class_t (*__pyx_f_4h5py_4defs_H5Tget_member_class)(hid_t, int); /*proto*/ --static char *(*__pyx_f_4h5py_4defs_H5Tget_member_name)(hid_t, unsigned int); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tget_member_type)(hid_t, unsigned int); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_member_offset)(hid_t, int); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_member_index)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tinsert)(hid_t, char *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tpack)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tenum_create)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_insert)(hid_t, char *, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_nameof)(hid_t, void *, char *, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_valueof)(hid_t, char *, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tget_member_value)(hid_t, unsigned int, void *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tarray_create)(hid_t, int, hsize_t *, int *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_array_ndims)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_array_dims)(hid_t, hsize_t *, int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_tag)(hid_t, char *); /*proto*/ --static char *(*__pyx_f_4h5py_4defs_H5Tget_tag)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tdecode)(unsigned char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tencode)(hid_t, unsigned char *, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tcommit2)(hid_t, char *, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static H5T_conv_t (*__pyx_f_4h5py_4defs_H5Tfind)(hid_t, hid_t, H5T_cdata_t **); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tregister)(H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tunregister)(H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Zfilter_avail)(H5Z_filter_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Zget_filter_info)(H5Z_filter_t, unsigned int *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Acreate)(hid_t, char *, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aopen_idx)(hid_t, unsigned int); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aopen_name)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aclose)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Adelete)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aread)(hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Awrite)(hid_t, hid_t, void *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Aget_num_attrs)(hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Aget_name)(hid_t, size_t, char *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aget_space)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aget_type)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aiterate)(hid_t, unsigned int *, H5A_operator_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Adelete_by_name)(hid_t, char *, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Adelete_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Acreate_by_name)(hid_t, char *, char *, hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aopen)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aopen_by_name)(hid_t, char *, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aopen_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Aexists_by_name)(hid_t, char *, char *, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Aexists)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Arename)(hid_t, char *, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Arename_by_name)(hid_t, char *, char *, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info)(hid_t, H5A_info_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info_by_name)(hid_t, char *, char *, H5A_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5A_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aiterate2)(hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5A_operator2_t, void *); /*proto*/ --static hsize_t (*__pyx_f_4h5py_4defs_H5Aget_storage_size)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSattach_scale)(hid_t, hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSdetach_scale)(hid_t, hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSset_scale)(hid_t, char *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5DSget_num_scales)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSset_label)(hid_t, unsigned int, char *); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5DSget_label)(hid_t, unsigned int, char *, size_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5DSget_scale_name)(hid_t, char *, size_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5DSis_scale)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSiterate_scales)(hid_t, unsigned int, int *, H5DS_iterate_t, void *); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5DSis_attached)(hid_t, hid_t, unsigned int); /*proto*/ --/* Module declarations from h5py._objects */ - -+/* Module declarations from 'h5py._objects' */ - static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0; - static hid_t (*__pyx_f_4h5py_8_objects_pdefault)(struct __pyx_obj_4h5py_8_objects_ObjectID *); /*proto*/ --/* Module declarations from h5py.h5g */ - -+/* Module declarations from 'h5py.h5g' */ - static PyTypeObject *__pyx_ptype_4h5py_3h5g_GroupID = 0; --/* Module declarations from h5py.h5p */ - -+/* Module declarations from 'h5py.h5p' */ - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropClassID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropInstanceID = 0; -@@ -1367,10 +1183,9 @@ static PyTypeObject *__pyx_ptype_4h5py_3 - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLCID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLAID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropGCID = 0; --static hid_t (*__pyx_f_4h5py_3h5p_pdefault)(struct __pyx_obj_4h5py_3h5p_PropID *); /*proto*/ - static PyObject *(*__pyx_f_4h5py_3h5p_propwrap)(hid_t); /*proto*/ --/* Module declarations from h5py.h5t */ - -+/* Module declarations from 'h5py.h5t' */ - static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeArrayID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeOpaqueID = 0; -@@ -1386,57 +1201,71 @@ static PyTypeObject *__pyx_ptype_4h5py_3 - static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeEnumID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompoundID = 0; - static struct __pyx_obj_4h5py_3h5t_TypeID *(*__pyx_f_4h5py_3h5t_typewrap)(hid_t, int __pyx_skip_dispatch); /*proto*/ --static struct __pyx_obj_4h5py_3h5t_TypeID *(*__pyx_f_4h5py_3h5t_py_create)(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args); /*proto*/ --/* Module declarations from h5py.h5i */ - -+/* Module declarations from 'h5py.h5i' */ - static struct __pyx_obj_4h5py_8_objects_ObjectID *(*__pyx_f_4h5py_3h5i_wrap_identifier)(hid_t, int __pyx_skip_dispatch); /*proto*/ --/* Module declarations from numpy */ - --/* Module declarations from h5py.numpy */ -+/* Module declarations from 'numpy' */ - -+/* Module declarations from 'h5py.numpy' */ - static PyTypeObject *__pyx_ptype_4h5py_5numpy_dtype = 0; - static PyTypeObject *__pyx_ptype_4h5py_5numpy_ndarray = 0; --/* Module declarations from h5py.utils */ - -+/* Module declarations from 'h5py.utils' */ - static void *(*__pyx_f_4h5py_5utils_emalloc)(size_t); /*proto*/ - static void (*__pyx_f_4h5py_5utils_efree)(void *); /*proto*/ --static int (*__pyx_f_4h5py_5utils_check_numpy_read)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args); /*proto*/ --static int (*__pyx_f_4h5py_5utils_check_numpy_write)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args); /*proto*/ --static int (*__pyx_f_4h5py_5utils_convert_tuple)(PyObject *, hsize_t *, hsize_t); /*proto*/ --static PyObject *(*__pyx_f_4h5py_5utils_convert_dims)(hsize_t *, hsize_t); /*proto*/ --static int (*__pyx_f_4h5py_5utils_require_tuple)(PyObject *, int, int, char *); /*proto*/ --static PyObject *(*__pyx_f_4h5py_5utils_create_numpy_hsize)(int, hsize_t *); /*proto*/ --static PyObject *(*__pyx_f_4h5py_5utils_create_hsize_array)(PyObject *); /*proto*/ --/* Module declarations from h5py.h5f */ - -+/* Module declarations from 'h5py.h5f' */ - static PyTypeObject *__pyx_ptype_4h5py_3h5f_FileID = 0; - #define __Pyx_MODULE_NAME "h5py.h5f" --static int __pyx_module_is_main_h5py__h5f = 0; -+int __pyx_module_is_main_h5py__h5f = 0; - --/* Implementation of h5py.h5f */ -+/* Implementation of 'h5py.h5f' */ - static PyObject *__pyx_builtin_TypeError; -+static PyObject *__pyx_pf_4h5py_3h5f_open(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_name, unsigned int __pyx_v_flags, struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_fapl); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5f_2create(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_name, int __pyx_v_flags, struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_fcpl, struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_fapl); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5f_4flush(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj, int __pyx_v_scope); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5f_6is_hdf5(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_name); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5f_8mount(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_fid); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5f_10unmount(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5f_12get_name(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5f_14get_obj_count(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_where, int __pyx_v_types); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5f_16get_obj_ids(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_where, int __pyx_v_types); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5f_6FileID_4name___get__(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self); /* proto */ -+static int __pyx_pf_4h5py_3h5f_6FileID___cinit__(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_id); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5f_6FileID_2close(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5f_6FileID_4reopen(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5f_6FileID_6get_filesize(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5f_6FileID_8get_create_plist(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5f_6FileID_10get_access_plist(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5f_6FileID_12get_freespace(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5f_6FileID_14get_intent(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self); /* proto */ - static char __pyx_k_6[] = "Location must be a FileID or OBJ_ALL."; - static char __pyx_k_12[] = " File name on disk (according to h5f.get_name()) "; - static char __pyx_k_13[] = "\n Low-level operations on HDF5 file objects.\n"; --static char __pyx_k_14[] = "h5py.h5f"; -+static char __pyx_k_16[] = "/disks/strw4/vanelteren/env/python3/install/_temp/h5py-2.1.0/h5py/h5f.pyx"; -+static char __pyx_k_17[] = "h5py.h5f"; -+static char __pyx_k__i[] = "i"; - static char __pyx_k__id[] = "id"; - static char __pyx_k__fid[] = "fid"; - static char __pyx_k__loc[] = "loc"; - static char __pyx_k__obj[] = "obj"; - static char __pyx_k__fapl[] = "fapl"; - static char __pyx_k__fcpl[] = "fcpl"; -+static char __pyx_k__h5py[] = "h5py"; - static char __pyx_k__lock[] = "lock"; - static char __pyx_k__name[] = "name"; - static char __pyx_k__open[] = "open"; -+static char __pyx_k__size[] = "size"; -+static char __pyx_k__count[] = "count"; - static char __pyx_k__flags[] = "flags"; - static char __pyx_k__flush[] = "flush"; - static char __pyx_k__mount[] = "mount"; -+static char __pyx_k__pname[] = "pname"; - static char __pyx_k__scope[] = "scope"; - static char __pyx_k__types[] = "types"; - static char __pyx_k__where[] = "where"; --static char __pyx_k__append[] = "append"; - static char __pyx_k__create[] = "create"; --static char __pyx_k__locked[] = "locked"; - static char __pyx_k__OBJ_ALL[] = "OBJ_ALL"; - static char __pyx_k__cleanup[] = "cleanup"; - static char __pyx_k__is_hdf5[] = "is_hdf5"; -@@ -1450,7 +1279,9 @@ static char __pyx_k____main__[] = "__mai - static char __pyx_k____test__[] = "__test__"; - static char __pyx_k___objects[] = "_objects"; - static char __pyx_k__get_name[] = "get_name"; -+static char __pyx_k__obj_list[] = "obj_list"; - static char __pyx_k__registry[] = "registry"; -+static char __pyx_k__where_id[] = "where_id"; - static char __pyx_k__ACC_TRUNC[] = "ACC_TRUNC"; - static char __pyx_k__OBJ_GROUP[] = "OBJ_GROUP"; - static char __pyx_k__OBJ_LOCAL[] = "OBJ_LOCAL"; -@@ -1462,6 +1293,7 @@ static char __pyx_k__CLOSE_WEAK[] = "CLO - static char __pyx_k__OBJ_DATASET[] = "OBJ_DATASET"; - static char __pyx_k__SCOPE_LOCAL[] = "SCOPE_LOCAL"; - static char __pyx_k__get_obj_ids[] = "get_obj_ids"; -+static char __pyx_k__py_obj_list[] = "py_obj_list"; - static char __pyx_k__CLOSE_STRONG[] = "CLOSE_STRONG"; - static char __pyx_k__OBJ_DATATYPE[] = "OBJ_DATATYPE"; - static char __pyx_k__SCOPE_GLOBAL[] = "SCOPE_GLOBAL"; -@@ -1469,7 +1301,8 @@ static char __pyx_k__CLOSE_DEFAULT[] = " - static char __pyx_k__LIBVER_LATEST[] = "LIBVER_LATEST"; - static char __pyx_k__get_obj_count[] = "get_obj_count"; - static char __pyx_k__LIBVER_EARLIEST[] = "LIBVER_EARLIEST"; --static PyObject *__pyx_n_s_14; -+static PyObject *__pyx_kp_s_16; -+static PyObject *__pyx_n_s_17; - static PyObject *__pyx_kp_s_6; - static PyObject *__pyx_n_s__ACC_EXCL; - static PyObject *__pyx_n_s__ACC_RDONLY; -@@ -1496,8 +1329,8 @@ static PyObject *__pyx_n_s____exit__; - static PyObject *__pyx_n_s____main__; - static PyObject *__pyx_n_s____test__; - static PyObject *__pyx_n_s___objects; --static PyObject *__pyx_n_s__append; - static PyObject *__pyx_n_s__cleanup; -+static PyObject *__pyx_n_s__count; - static PyObject *__pyx_n_s__create; - static PyObject *__pyx_n_s__fapl; - static PyObject *__pyx_n_s__fcpl; -@@ -1507,20 +1340,26 @@ static PyObject *__pyx_n_s__flush; - static PyObject *__pyx_n_s__get_name; - static PyObject *__pyx_n_s__get_obj_count; - static PyObject *__pyx_n_s__get_obj_ids; -+static PyObject *__pyx_n_s__h5py; -+static PyObject *__pyx_n_s__i; - static PyObject *__pyx_n_s__id; - static PyObject *__pyx_n_s__is_hdf5; - static PyObject *__pyx_n_s__loc; - static PyObject *__pyx_n_s__lock; --static PyObject *__pyx_n_s__locked; - static PyObject *__pyx_n_s__mount; - static PyObject *__pyx_n_s__name; - static PyObject *__pyx_n_s__obj; -+static PyObject *__pyx_n_s__obj_list; - static PyObject *__pyx_n_s__open; -+static PyObject *__pyx_n_s__pname; -+static PyObject *__pyx_n_s__py_obj_list; - static PyObject *__pyx_n_s__registry; - static PyObject *__pyx_n_s__scope; -+static PyObject *__pyx_n_s__size; - static PyObject *__pyx_n_s__types; - static PyObject *__pyx_n_s__unmount; - static PyObject *__pyx_n_s__where; -+static PyObject *__pyx_n_s__where_id; - static unsigned int __pyx_k_1; - static int __pyx_k_2; - static int __pyx_k_3; -@@ -1531,59 +1370,85 @@ static int __pyx_k_9; - static PyObject *__pyx_k_tuple_7; - static PyObject *__pyx_k_tuple_10; - static PyObject *__pyx_k_tuple_11; -+static PyObject *__pyx_k_tuple_14; -+static PyObject *__pyx_k_tuple_18; -+static PyObject *__pyx_k_tuple_20; -+static PyObject *__pyx_k_tuple_22; -+static PyObject *__pyx_k_tuple_24; -+static PyObject *__pyx_k_tuple_26; -+static PyObject *__pyx_k_tuple_28; -+static PyObject *__pyx_k_tuple_30; -+static PyObject *__pyx_k_tuple_32; -+static PyObject *__pyx_k_codeobj_15; -+static PyObject *__pyx_k_codeobj_19; -+static PyObject *__pyx_k_codeobj_21; -+static PyObject *__pyx_k_codeobj_23; -+static PyObject *__pyx_k_codeobj_25; -+static PyObject *__pyx_k_codeobj_27; -+static PyObject *__pyx_k_codeobj_29; -+static PyObject *__pyx_k_codeobj_31; -+static PyObject *__pyx_k_codeobj_33; -+ -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5f_1open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5f_open[] = "(STRING name, UINT flags=ACC_RDWR, PropFAID fapl=None) => FileID\n\n Open an existing HDF5 file. Keyword \"flags\" may be:\n\n ACC_RDWR\n Open in read-write mode\n\n ACC_RDONLY\n Open in readonly mode\n\n Keyword fapl may be a file access property list.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5f_1open = {__Pyx_NAMESTR("open"), (PyCFunction)__pyx_pw_4h5py_3h5f_1open, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_open)}; -+static PyObject *__pyx_pw_4h5py_3h5f_1open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+ char *__pyx_v_name; -+ unsigned int __pyx_v_flags; -+ struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_fapl = 0; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("open (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__name,&__pyx_n_s__flags,&__pyx_n_s__fapl,0}; -+ PyObject* values[3] = {0,0,0}; - --/* "h5py/h5f.pyx":57 -+ /* "h5py/h5f.pyx":57 - * - * - * def open(char* name, unsigned int flags=H5F_ACC_RDWR, PropFAID fapl=None): # <<<<<<<<<<<<<< - * """(STRING name, UINT flags=ACC_RDWR, PropFAID fapl=None) => FileID - * - */ -- --static PyObject *__pyx_pf_4h5py_3h5f_open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5f_open[] = "(STRING name, UINT flags=ACC_RDWR, PropFAID fapl=None) => FileID\n\n Open an existing HDF5 file. Keyword \"flags\" may be:\n\n ACC_RDWR\n Open in read-write mode\n\n ACC_RDONLY\n Open in readonly mode\n\n Keyword fapl may be a file access property list.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5f_open = {__Pyx_NAMESTR("open"), (PyCFunction)__pyx_pf_4h5py_3h5f_open, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_open)}; --static PyObject *__pyx_pf_4h5py_3h5f_open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -- char *__pyx_v_name; -- unsigned int __pyx_v_flags; -- struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_fapl = 0; -- PyObject *__pyx_r = NULL; -- PyObject *__pyx_t_1 = NULL; -- hid_t __pyx_t_2; -- PyObject *__pyx_t_3 = NULL; -- PyObject *__pyx_t_4 = NULL; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__name,&__pyx_n_s__flags,&__pyx_n_s__fapl,0}; -- __Pyx_RefNannySetupContext("open"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -- PyObject* values[3] = {0,0,0}; - values[2] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropFAID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__flags); -- if (value) { values[1] = value; kw_args--; } -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- case 2: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__fapl); -- if (value) { values[2] = value; kw_args--; } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__flags); -+ if (value) { values[1] = value; kw_args--; } -+ } -+ case 2: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__fapl); -+ if (value) { values[2] = value; kw_args--; } -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - __pyx_v_name = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - if (values[1]) { -@@ -1592,26 +1457,36 @@ static PyObject *__pyx_pf_4h5py_3h5f_ope - __pyx_v_flags = __pyx_k_1; - } - __pyx_v_fapl = ((struct __pyx_obj_4h5py_3h5p_PropFAID *)values[2]); -- } else { -- __pyx_v_flags = __pyx_k_1; -- __pyx_v_fapl = ((struct __pyx_obj_4h5py_3h5p_PropFAID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: __pyx_v_fapl = ((struct __pyx_obj_4h5py_3h5p_PropFAID *)PyTuple_GET_ITEM(__pyx_args, 2)); -- case 2: __pyx_v_flags = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 1: __pyx_v_name = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5f.open"); -+ __Pyx_AddTraceback("h5py.h5f.open", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fapl), __pyx_ptype_4h5py_3h5p_PropFAID, 1, "fapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5f_open(__pyx_self, __pyx_v_name, __pyx_v_flags, __pyx_v_fapl); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+static PyObject *__pyx_pf_4h5py_3h5f_open(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_name, unsigned int __pyx_v_flags, struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_fapl) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ PyObject *__pyx_t_1 = NULL; -+ hid_t __pyx_t_2; -+ PyObject *__pyx_t_3 = NULL; -+ PyObject *__pyx_t_4 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("open", 0); - - /* "h5py/h5f.pyx":70 - * Keyword fapl may be a file access property list. -@@ -1627,7 +1502,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_ope - __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; -@@ -1645,7 +1520,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_ope - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5f.open"); -+ __Pyx_AddTraceback("h5py.h5f.open", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -1653,33 +1528,29 @@ static PyObject *__pyx_pf_4h5py_3h5f_ope - return __pyx_r; - } - --/* "h5py/h5f.pyx":73 -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5f_3create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5f_2create[] = "(STRING name, INT flags=ACC_TRUNC, PropFCID fcpl=None,\n PropFAID fapl=None) => FileID\n\n Create a new HDF5 file. Keyword \"flags\" may be:\n\n ACC_TRUNC\n Truncate an existing file, discarding its data\n\n ACC_EXCL\n Fail if a conflicting file exists\n\n To keep the behavior in line with that of Python's built-in functions,\n the default is ACC_TRUNC. Be careful!\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5f_3create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pw_4h5py_3h5f_3create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_2create)}; -+static PyObject *__pyx_pw_4h5py_3h5f_3create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+ char *__pyx_v_name; -+ int __pyx_v_flags; -+ struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_fcpl = 0; -+ struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_fapl = 0; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("create (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__name,&__pyx_n_s__flags,&__pyx_n_s__fcpl,&__pyx_n_s__fapl,0}; -+ PyObject* values[4] = {0,0,0,0}; -+ -+ /* "h5py/h5f.pyx":73 - * - * - * def create(char* name, int flags=H5F_ACC_TRUNC, PropFCID fcpl=None, # <<<<<<<<<<<<<< - * PropFAID fapl=None): - * """(STRING name, INT flags=ACC_TRUNC, PropFCID fcpl=None, - */ -- --static PyObject *__pyx_pf_4h5py_3h5f_1create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5f_1create[] = "(STRING name, INT flags=ACC_TRUNC, PropFCID fcpl=None,\n PropFAID fapl=None) => FileID\n\n Create a new HDF5 file. Keyword \"flags\" may be:\n\n ACC_TRUNC\n Truncate an existing file, discarding its data\n\n ACC_EXCL\n Fail if a conflicting file exists\n\n To keep the behavior in line with that of Python's built-in functions,\n the default is ACC_TRUNC. Be careful!\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5f_1create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pf_4h5py_3h5f_1create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_1create)}; --static PyObject *__pyx_pf_4h5py_3h5f_1create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -- char *__pyx_v_name; -- int __pyx_v_flags; -- struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_fcpl = 0; -- struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_fapl = 0; -- PyObject *__pyx_r = NULL; -- PyObject *__pyx_t_1 = NULL; -- hid_t __pyx_t_2; -- PyObject *__pyx_t_3 = NULL; -- PyObject *__pyx_t_4 = NULL; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__name,&__pyx_n_s__flags,&__pyx_n_s__fcpl,&__pyx_n_s__fapl,0}; -- __Pyx_RefNannySetupContext("create"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -- PyObject* values[4] = {0,0,0,0}; - values[2] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropFCID *)Py_None); - - /* "h5py/h5f.pyx":74 -@@ -1690,37 +1561,50 @@ static PyObject *__pyx_pf_4h5py_3h5f_1cr - * PropFAID fapl=None) => FileID - */ - values[3] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropFAID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__flags); -- if (value) { values[1] = value; kw_args--; } -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- case 2: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__fcpl); -- if (value) { values[2] = value; kw_args--; } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__flags); -+ if (value) { values[1] = value; kw_args--; } -+ } -+ case 2: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__fcpl); -+ if (value) { values[2] = value; kw_args--; } -+ } -+ case 3: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__fapl); -+ if (value) { values[3] = value; kw_args--; } -+ } - } -- case 3: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__fapl); -- if (value) { values[3] = value; kw_args--; } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - __pyx_v_name = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - if (values[1]) { -@@ -1730,45 +1614,45 @@ static PyObject *__pyx_pf_4h5py_3h5f_1cr - } - __pyx_v_fcpl = ((struct __pyx_obj_4h5py_3h5p_PropFCID *)values[2]); - __pyx_v_fapl = ((struct __pyx_obj_4h5py_3h5p_PropFAID *)values[3]); -- } else { -- __pyx_v_flags = __pyx_k_2; -- -- /* "h5py/h5f.pyx":73 -- * -- * -- * def create(char* name, int flags=H5F_ACC_TRUNC, PropFCID fcpl=None, # <<<<<<<<<<<<<< -- * PropFAID fapl=None): -- * """(STRING name, INT flags=ACC_TRUNC, PropFCID fcpl=None, -- */ -- __pyx_v_fcpl = ((struct __pyx_obj_4h5py_3h5p_PropFCID *)Py_None); -- -- /* "h5py/h5f.pyx":74 -- * -- * def create(char* name, int flags=H5F_ACC_TRUNC, PropFCID fcpl=None, -- * PropFAID fapl=None): # <<<<<<<<<<<<<< -- * """(STRING name, INT flags=ACC_TRUNC, PropFCID fcpl=None, -- * PropFAID fapl=None) => FileID -- */ -- __pyx_v_fapl = ((struct __pyx_obj_4h5py_3h5p_PropFAID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 4: __pyx_v_fapl = ((struct __pyx_obj_4h5py_3h5p_PropFAID *)PyTuple_GET_ITEM(__pyx_args, 3)); -- case 3: __pyx_v_fcpl = ((struct __pyx_obj_4h5py_3h5p_PropFCID *)PyTuple_GET_ITEM(__pyx_args, 2)); -- case 2: __pyx_v_flags = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_flags == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 1: __pyx_v_name = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("create", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5f.create"); -+ __Pyx_AddTraceback("h5py.h5f.create", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fcpl), __pyx_ptype_4h5py_3h5p_PropFCID, 1, "fcpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fapl), __pyx_ptype_4h5py_3h5p_PropFAID, 1, "fapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5f_2create(__pyx_self, __pyx_v_name, __pyx_v_flags, __pyx_v_fcpl, __pyx_v_fapl); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5f.pyx":73 -+ * -+ * -+ * def create(char* name, int flags=H5F_ACC_TRUNC, PropFCID fcpl=None, # <<<<<<<<<<<<<< -+ * PropFAID fapl=None): -+ * """(STRING name, INT flags=ACC_TRUNC, PropFCID fcpl=None, -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5f_2create(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_name, int __pyx_v_flags, struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_fcpl, struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_fapl) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ PyObject *__pyx_t_1 = NULL; -+ hid_t __pyx_t_2; -+ PyObject *__pyx_t_3 = NULL; -+ PyObject *__pyx_t_4 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("create", 0); - - /* "h5py/h5f.pyx":89 - * the default is ACC_TRUNC. Be careful! -@@ -1784,7 +1668,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_1cr - __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; -@@ -1802,55 +1686,57 @@ static PyObject *__pyx_pf_4h5py_3h5f_1cr - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5f.create"); -+ __Pyx_AddTraceback("h5py.h5f.create", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -- __Pyx_RefNannyFinishContext(); -- return __pyx_r; --} -- --/* "h5py/h5f.pyx":92 -- * -- * -- * def flush(ObjectID obj not None, int scope=H5F_SCOPE_LOCAL): # <<<<<<<<<<<<<< -- * """(ObjectID obj, INT scope=SCOPE_LOCAL) -- * -- */ -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} - --static PyObject *__pyx_pf_4h5py_3h5f_2flush(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5f_2flush[] = "(ObjectID obj, INT scope=SCOPE_LOCAL)\n\n Tell the HDF5 library to flush file buffers to disk. \"obj\" may\n be the file identifier, or the identifier of any object residing in\n the file. Keyword \"scope\" may be:\n\n SCOPE_LOCAL\n Flush only the given file\n\n SCOPE_GLOBAL\n Flush the entire virtual file\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5f_2flush = {__Pyx_NAMESTR("flush"), (PyCFunction)__pyx_pf_4h5py_3h5f_2flush, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_2flush)}; --static PyObject *__pyx_pf_4h5py_3h5f_2flush(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5f_5flush(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5f_4flush[] = "(ObjectID obj, INT scope=SCOPE_LOCAL)\n\n Tell the HDF5 library to flush file buffers to disk. \"obj\" may\n be the file identifier, or the identifier of any object residing in\n the file. Keyword \"scope\" may be:\n\n SCOPE_LOCAL\n Flush only the given file\n\n SCOPE_GLOBAL\n Flush the entire virtual file\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5f_5flush = {__Pyx_NAMESTR("flush"), (PyCFunction)__pyx_pw_4h5py_3h5f_5flush, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_4flush)}; -+static PyObject *__pyx_pw_4h5py_3h5f_5flush(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj = 0; - int __pyx_v_scope; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__obj,&__pyx_n_s__scope,0}; -- __Pyx_RefNannySetupContext("flush"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("flush (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__obj,&__pyx_n_s__scope,0}; - PyObject* values[2] = {0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__obj); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__scope); -- if (value) { values[1] = value; kw_args--; } -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__obj)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__scope); -+ if (value) { values[1] = value; kw_args--; } -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "flush") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "flush") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - __pyx_v_obj = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]); - if (values[1]) { -@@ -1858,24 +1744,41 @@ static PyObject *__pyx_pf_4h5py_3h5f_2fl - } else { - __pyx_v_scope = __pyx_k_3; - } -- } else { -- __pyx_v_scope = __pyx_k_3; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: __pyx_v_scope = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_scope == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 1: __pyx_v_obj = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("flush", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5f.flush"); -+ __Pyx_AddTraceback("h5py.h5f.flush", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_obj), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "obj", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5f_4flush(__pyx_self, __pyx_v_obj, __pyx_v_scope); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5f.pyx":92 -+ * -+ * -+ * def flush(ObjectID obj not None, int scope=H5F_SCOPE_LOCAL): # <<<<<<<<<<<<<< -+ * """(ObjectID obj, INT scope=SCOPE_LOCAL) -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5f_4flush(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj, int __pyx_v_scope) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("flush", 0); - - /* "h5py/h5f.pyx":105 - * Flush the entire virtual file -@@ -1889,7 +1792,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_2fl - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5f.flush"); -+ __Pyx_AddTraceback("h5py.h5f.flush", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -1897,6 +1800,29 @@ static PyObject *__pyx_pf_4h5py_3h5f_2fl - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5f_7is_hdf5(PyObject *__pyx_self, PyObject *__pyx_arg_name); /*proto*/ -+static char __pyx_doc_4h5py_3h5f_6is_hdf5[] = "(STRING name) => BOOL\n\n Determine if a given file is an HDF5 file. Note this raises an\n exception if the file doesn't exist.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5f_7is_hdf5 = {__Pyx_NAMESTR("is_hdf5"), (PyCFunction)__pyx_pw_4h5py_3h5f_7is_hdf5, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6is_hdf5)}; -+static PyObject *__pyx_pw_4h5py_3h5f_7is_hdf5(PyObject *__pyx_self, PyObject *__pyx_arg_name) { -+ char *__pyx_v_name; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("is_hdf5 (wrapper)", 0); -+ assert(__pyx_arg_name); { -+ __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5f.is_hdf5", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5f_6is_hdf5(__pyx_self, ((char *)__pyx_v_name)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5f.pyx":108 - * - * -@@ -1905,25 +1831,15 @@ static PyObject *__pyx_pf_4h5py_3h5f_2fl - * - */ - --static PyObject *__pyx_pf_4h5py_3h5f_3is_hdf5(PyObject *__pyx_self, PyObject *__pyx_arg_name); /*proto*/ --static char __pyx_doc_4h5py_3h5f_3is_hdf5[] = "(STRING name) => BOOL\n\n Determine if a given file is an HDF5 file. Note this raises an\n exception if the file doesn't exist.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5f_3is_hdf5 = {__Pyx_NAMESTR("is_hdf5"), (PyCFunction)__pyx_pf_4h5py_3h5f_3is_hdf5, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_3is_hdf5)}; --static PyObject *__pyx_pf_4h5py_3h5f_3is_hdf5(PyObject *__pyx_self, PyObject *__pyx_arg_name) { -- char *__pyx_v_name; -+static PyObject *__pyx_pf_4h5py_3h5f_6is_hdf5(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_name) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - htri_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("is_hdf5"); -- __pyx_self = __pyx_self; -- assert(__pyx_arg_name); { -- __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5f.is_hdf5"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("is_hdf5", 0); - - /* "h5py/h5f.pyx":114 - * exception if the file doesn't exist. -@@ -1944,7 +1860,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_3is - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5f.is_hdf5"); -+ __Pyx_AddTraceback("h5py.h5f.is_hdf5", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -1952,77 +1868,95 @@ static PyObject *__pyx_pf_4h5py_3h5f_3is - return __pyx_r; - } - --/* "h5py/h5f.pyx":117 -- * -- * -- * def mount(ObjectID loc not None, char* name, FileID fid not None): # <<<<<<<<<<<<<< -- * """(ObjectID loc, STRING name, FileID fid) -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5f_4mount(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5f_4mount[] = "(ObjectID loc, STRING name, FileID fid)\n\n Mount an open file on the group \"name\" under group loc_id. Note that\n \"name\" must already exist.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5f_4mount = {__Pyx_NAMESTR("mount"), (PyCFunction)__pyx_pf_4h5py_3h5f_4mount, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_4mount)}; --static PyObject *__pyx_pf_4h5py_3h5f_4mount(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5f_9mount(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5f_8mount[] = "(ObjectID loc, STRING name, FileID fid)\n\n Mount an open file on the group \"name\" under group loc_id. Note that\n \"name\" must already exist.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5f_9mount = {__Pyx_NAMESTR("mount"), (PyCFunction)__pyx_pw_4h5py_3h5f_9mount, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_8mount)}; -+static PyObject *__pyx_pw_4h5py_3h5f_9mount(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0; - char *__pyx_v_name; - struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_fid = 0; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__fid,0}; -- __Pyx_RefNannySetupContext("mount"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("mount (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__fid,0}; - PyObject* values[3] = {0,0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("mount", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("mount", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 2: -+ if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__fid)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("mount", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } - } -- case 2: -- values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__fid); -- if (likely(values[2])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("mount", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "mount") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "mount") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - } - __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]); - __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_fid = ((struct __pyx_obj_4h5py_3h5f_FileID *)values[2]); -- } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- __pyx_v_name = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_fid = ((struct __pyx_obj_4h5py_3h5f_FileID *)PyTuple_GET_ITEM(__pyx_args, 2)); - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("mount", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5f.mount"); -+ __Pyx_AddTraceback("h5py.h5f.mount", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fid), __pyx_ptype_4h5py_3h5f_FileID, 0, "fid", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5f_8mount(__pyx_self, __pyx_v_loc, __pyx_v_name, __pyx_v_fid); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5f.pyx":117 -+ * -+ * -+ * def mount(ObjectID loc not None, char* name, FileID fid not None): # <<<<<<<<<<<<<< -+ * """(ObjectID loc, STRING name, FileID fid) -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5f_8mount(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_fid) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("mount", 0); - - /* "h5py/h5f.pyx":123 - * "name" must already exist. -@@ -2036,7 +1970,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_4mo - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5f.mount"); -+ __Pyx_AddTraceback("h5py.h5f.mount", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2044,66 +1978,85 @@ static PyObject *__pyx_pf_4h5py_3h5f_4mo - return __pyx_r; - } - --/* "h5py/h5f.pyx":126 -- * -- * -- * def unmount(ObjectID loc not None, char* name): # <<<<<<<<<<<<<< -- * """(ObjectID loc, STRING name) -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5f_5unmount(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5f_5unmount[] = "(ObjectID loc, STRING name)\n\n Unmount a file, mounted at \"name\" under group loc_id.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5f_5unmount = {__Pyx_NAMESTR("unmount"), (PyCFunction)__pyx_pf_4h5py_3h5f_5unmount, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_5unmount)}; --static PyObject *__pyx_pf_4h5py_3h5f_5unmount(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5f_11unmount(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5f_10unmount[] = "(ObjectID loc, STRING name)\n\n Unmount a file, mounted at \"name\" under group loc_id.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5f_11unmount = {__Pyx_NAMESTR("unmount"), (PyCFunction)__pyx_pw_4h5py_3h5f_11unmount, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_10unmount)}; -+static PyObject *__pyx_pw_4h5py_3h5f_11unmount(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0; - char *__pyx_v_name; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,0}; -- __Pyx_RefNannySetupContext("unmount"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("unmount (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,0}; - PyObject* values[2] = {0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("unmount", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "unmount") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("unmount", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "unmount") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]); - __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- __pyx_v_name = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("unmount", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5f.unmount"); -+ __Pyx_AddTraceback("h5py.h5f.unmount", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5f_10unmount(__pyx_self, __pyx_v_loc, __pyx_v_name); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5f.pyx":126 -+ * -+ * -+ * def unmount(ObjectID loc not None, char* name): # <<<<<<<<<<<<<< -+ * """(ObjectID loc, STRING name) -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5f_10unmount(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("unmount", 0); - - /* "h5py/h5f.pyx":131 - * Unmount a file, mounted at "name" under group loc_id. -@@ -2117,7 +2070,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_5un - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5f.unmount"); -+ __Pyx_AddTraceback("h5py.h5f.unmount", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2125,6 +2078,24 @@ static PyObject *__pyx_pf_4h5py_3h5f_5un - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5f_13get_name(PyObject *__pyx_self, PyObject *__pyx_v_obj); /*proto*/ -+static char __pyx_doc_4h5py_3h5f_12get_name[] = "(ObjectID obj) => STRING\n\n Determine the name of the file in which the specified object resides.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5f_13get_name = {__Pyx_NAMESTR("get_name"), (PyCFunction)__pyx_pw_4h5py_3h5f_13get_name, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_12get_name)}; -+static PyObject *__pyx_pw_4h5py_3h5f_13get_name(PyObject *__pyx_self, PyObject *__pyx_v_obj) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_name (wrapper)", 0); -+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_obj), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "obj", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5f_12get_name(__pyx_self, ((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_obj)); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5f.pyx":134 - * - * -@@ -2133,20 +2104,19 @@ static PyObject *__pyx_pf_4h5py_3h5f_5un - * - */ - --static PyObject *__pyx_pf_4h5py_3h5f_6get_name(PyObject *__pyx_self, PyObject *__pyx_v_obj); /*proto*/ --static char __pyx_doc_4h5py_3h5f_6get_name[] = "(ObjectID obj) => STRING\n\n Determine the name of the file in which the specified object resides.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5f_6get_name = {__Pyx_NAMESTR("get_name"), (PyCFunction)__pyx_pf_4h5py_3h5f_6get_name, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6get_name)}; --static PyObject *__pyx_pf_4h5py_3h5f_6get_name(PyObject *__pyx_self, PyObject *__pyx_v_obj) { -+static PyObject *__pyx_pf_4h5py_3h5f_12get_name(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj) { - Py_ssize_t __pyx_v_size; - char *__pyx_v_name; - char *__pyx_v_pname; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - void *__pyx_t_2; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("get_name"); -- __pyx_self = __pyx_self; -- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_obj), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "obj", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_name", 0); - - /* "h5py/h5f.pyx":141 - * cdef ssize_t size -@@ -2164,7 +2134,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_6ge - * assert size >= 0 - * name = emalloc(sizeof(char)*(size+1)) - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_name(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_obj)->id, NULL, 0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_name(__pyx_v_obj->id, NULL, 0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_size = __pyx_t_1; - - /* "h5py/h5f.pyx":144 -@@ -2207,7 +2177,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_6ge - * pname = name - * return pname - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_name(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_obj)->id, __pyx_v_name, (__pyx_v_size + 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_name(__pyx_v_obj->id, __pyx_v_name, (__pyx_v_size + 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L4;} - - /* "h5py/h5f.pyx":148 - * try: -@@ -2226,11 +2196,11 @@ static PyObject *__pyx_pf_4h5py_3h5f_6ge - * efree(name) - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_3 = PyBytes_FromString(__pyx_v_pname); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_3 = PyBytes_FromString(__pyx_v_pname); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - __pyx_r = ((PyObject *)__pyx_t_3); - __pyx_t_3 = 0; -- goto __pyx_L5; -+ goto __pyx_L3; - } - - /* "h5py/h5f.pyx":151 -@@ -2245,17 +2215,17 @@ static PyObject *__pyx_pf_4h5py_3h5f_6ge - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L7; -- __pyx_L5: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 3; goto __pyx_L7; -- __pyx_L6: { -+ __pyx_why = 0; goto __pyx_L5; -+ __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -+ __pyx_why = 3; goto __pyx_L5; -+ __pyx_L4: { - __pyx_why = 4; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L7; -+ goto __pyx_L5; - } -- __pyx_L7:; -+ __pyx_L5:; - __pyx_f_4h5py_5utils_efree(__pyx_v_name); - switch (__pyx_why) { - case 3: goto __pyx_L0; -@@ -2274,7 +2244,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_6ge - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5f.get_name"); -+ __Pyx_AddTraceback("h5py.h5f.get_name", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2282,55 +2252,52 @@ static PyObject *__pyx_pf_4h5py_3h5f_6ge - return __pyx_r; - } - --/* "h5py/h5f.pyx":154 -- * -- * -- * def get_obj_count(object where=OBJ_ALL, int types=H5F_OBJ_ALL): # <<<<<<<<<<<<<< -- * """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => INT -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5f_7get_obj_count(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5f_7get_obj_count[] = "(OBJECT where=OBJ_ALL, types=OBJ_ALL) => INT\n\n Get the number of open objects.\n\n where\n Either a FileID instance representing an HDF5 file, or the\n special constant OBJ_ALL, to count objects in all files.\n\n type\n Specify what kinds of object to include. May be one of OBJ*,\n or any bitwise combination (e.g. OBJ_FILE | OBJ_ATTR).\n\n The special value OBJ_ALL matches all object types, and\n OBJ_LOCAL will only match objects opened through a specific\n identifier.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5f_7get_obj_count = {__Pyx_NAMESTR("get_obj_count"), (PyCFunction)__pyx_pf_4h5py_3h5f_7get_obj_count, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_7get_obj_count)}; --static PyObject *__pyx_pf_4h5py_3h5f_7get_obj_count(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5f_15get_obj_count(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5f_14get_obj_count[] = "(OBJECT where=OBJ_ALL, types=OBJ_ALL) => INT\n\n Get the number of open objects.\n\n where\n Either a FileID instance representing an HDF5 file, or the\n special constant OBJ_ALL, to count objects in all files.\n\n type\n Specify what kinds of object to include. May be one of OBJ*,\n or any bitwise combination (e.g. OBJ_FILE | OBJ_ATTR).\n\n The special value OBJ_ALL matches all object types, and\n OBJ_LOCAL will only match objects opened through a specific\n identifier.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5f_15get_obj_count = {__Pyx_NAMESTR("get_obj_count"), (PyCFunction)__pyx_pw_4h5py_3h5f_15get_obj_count, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_14get_obj_count)}; -+static PyObject *__pyx_pw_4h5py_3h5f_15get_obj_count(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_where = 0; - int __pyx_v_types; -- hid_t __pyx_v_where_id; -- PyObject *__pyx_r = NULL; -- int __pyx_t_1; -- PyObject *__pyx_t_2 = NULL; -- hid_t __pyx_t_3; -- int __pyx_t_4; -- int __pyx_t_5; -- int __pyx_t_6; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__where,&__pyx_n_s__types,0}; -- __Pyx_RefNannySetupContext("get_obj_count"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_obj_count (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__where,&__pyx_n_s__types,0}; - PyObject* values[2] = {0,0}; - values[0] = __pyx_k_4; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__where); -- if (value) { values[0] = value; kw_args--; } -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__where); -+ if (value) { values[0] = value; kw_args--; } -+ } -+ case 1: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__types); -+ if (value) { values[1] = value; kw_args--; } -+ } - } -- case 1: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__types); -- if (value) { values[1] = value; kw_args--; } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_obj_count") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "get_obj_count") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - __pyx_v_where = values[0]; - if (values[1]) { -@@ -2338,24 +2305,42 @@ static PyObject *__pyx_pf_4h5py_3h5f_7ge - } else { - __pyx_v_types = __pyx_k_5; - } -- } else { -- __pyx_v_where = __pyx_k_4; -- __pyx_v_types = __pyx_k_5; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: __pyx_v_types = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_types == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 1: __pyx_v_where = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_obj_count", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5f.get_obj_count"); -+ __Pyx_AddTraceback("h5py.h5f.get_obj_count", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5f_14get_obj_count(__pyx_self, __pyx_v_where, __pyx_v_types); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5f.pyx":154 -+ * -+ * -+ * def get_obj_count(object where=OBJ_ALL, int types=H5F_OBJ_ALL): # <<<<<<<<<<<<<< -+ * """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => INT -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5f_14get_obj_count(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_where, int __pyx_v_types) { -+ hid_t __pyx_v_where_id; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ PyObject *__pyx_t_1 = NULL; -+ int __pyx_t_2; -+ hid_t __pyx_t_3; -+ int __pyx_t_4; -+ int __pyx_t_5; -+ int __pyx_t_6; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_obj_count", 0); - - /* "h5py/h5f.pyx":172 - * """ -@@ -2364,8 +2349,11 @@ static PyObject *__pyx_pf_4h5py_3h5f_7ge - * where_id = where.id - * elif isinstance(where, int) or isinstance(where, long): - */ -- __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_where, ((PyObject*)__pyx_ptype_4h5py_3h5f_FileID)); -- if (__pyx_t_1) { -+ __pyx_t_1 = ((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5f_FileID)); -+ __Pyx_INCREF(__pyx_t_1); -+ __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_where, __pyx_t_1); -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ if (__pyx_t_2) { - - /* "h5py/h5f.pyx":173 - * cdef hid_t where_id -@@ -2374,12 +2362,12 @@ static PyObject *__pyx_pf_4h5py_3h5f_7ge - * elif isinstance(where, int) or isinstance(where, long): - * where_id = where - */ -- __pyx_t_2 = PyObject_GetAttr(__pyx_v_where, __pyx_n_s__id); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -+ __pyx_t_1 = PyObject_GetAttr(__pyx_v_where, __pyx_n_s__id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_where_id = __pyx_t_3; -- goto __pyx_L6; -+ goto __pyx_L3; - } - - /* "h5py/h5f.pyx":174 -@@ -2389,12 +2377,18 @@ static PyObject *__pyx_pf_4h5py_3h5f_7ge - * where_id = where - * else: - */ -- __pyx_t_1 = PyInt_Check(__pyx_v_where); -- if (!__pyx_t_1) { -- __pyx_t_4 = PyLong_Check(__pyx_v_where); -+ __pyx_t_1 = ((PyObject *)((PyObject*)(&PyInt_Type))); -+ __Pyx_INCREF(__pyx_t_1); -+ __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_where, __pyx_t_1); -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ if (!__pyx_t_2) { -+ __pyx_t_1 = ((PyObject *)((PyObject*)(&PyLong_Type))); -+ __Pyx_INCREF(__pyx_t_1); -+ __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_where, __pyx_t_1); -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_5 = __pyx_t_4; - } else { -- __pyx_t_5 = __pyx_t_1; -+ __pyx_t_5 = __pyx_t_2; - } - if (__pyx_t_5) { - -@@ -2407,7 +2401,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_7ge - */ - __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_v_where); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_where_id = __pyx_t_3; -- goto __pyx_L6; -+ goto __pyx_L3; - } - /*else*/ { - -@@ -2418,13 +2412,13 @@ static PyObject *__pyx_pf_4h5py_3h5f_7ge - * - * return H5Fget_obj_count(where_id, types) - */ -- __pyx_t_2 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_7), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __Pyx_Raise(__pyx_t_2, 0, 0); -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -+ __pyx_t_1 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_7), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __Pyx_Raise(__pyx_t_1, 0, 0, 0); -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } -- __pyx_L6:; -+ __pyx_L3:; - - /* "h5py/h5f.pyx":179 - * raise TypeError("Location must be a FileID or OBJ_ALL.") -@@ -2435,17 +2429,17 @@ static PyObject *__pyx_pf_4h5py_3h5f_7ge - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __pyx_f_4h5py_4defs_H5Fget_obj_count(__pyx_v_where_id, __pyx_v_types); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __pyx_t_2 = PyInt_FromLong(__pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __pyx_r = __pyx_t_2; -- __pyx_t_2 = 0; -+ __pyx_t_1 = PyInt_FromLong(__pyx_t_6); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_r = __pyx_t_1; -+ __pyx_t_1 = 0; - goto __pyx_L0; - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5f.get_obj_count"); -+ __Pyx_XDECREF(__pyx_t_1); -+ __Pyx_AddTraceback("h5py.h5f.get_obj_count", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2453,62 +2447,52 @@ static PyObject *__pyx_pf_4h5py_3h5f_7ge - return __pyx_r; - } - --/* "h5py/h5f.pyx":182 -- * -- * -- * def get_obj_ids(object where=OBJ_ALL, int types=H5F_OBJ_ALL): # <<<<<<<<<<<<<< -- * """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => LIST -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5f_8get_obj_ids(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5f_8get_obj_ids[] = "(OBJECT where=OBJ_ALL, types=OBJ_ALL) => LIST\n\n Get a list of identifier instances for open objects.\n\n where\n Either a FileID instance representing an HDF5 file, or the\n special constant OBJ_ALL, to list objects in all files.\n\n type\n Specify what kinds of object to include. May be one of OBJ*,\n or any bitwise combination (e.g. OBJ_FILE | OBJ_ATTR).\n\n The special value OBJ_ALL matches all object types, and\n OBJ_LOCAL will only match objects opened through a specific\n identifier.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5f_8get_obj_ids = {__Pyx_NAMESTR("get_obj_ids"), (PyCFunction)__pyx_pf_4h5py_3h5f_8get_obj_ids, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_8get_obj_ids)}; --static PyObject *__pyx_pf_4h5py_3h5f_8get_obj_ids(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5f_17get_obj_ids(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5f_16get_obj_ids[] = "(OBJECT where=OBJ_ALL, types=OBJ_ALL) => LIST\n\n Get a list of identifier instances for open objects.\n\n where\n Either a FileID instance representing an HDF5 file, or the\n special constant OBJ_ALL, to list objects in all files.\n\n type\n Specify what kinds of object to include. May be one of OBJ*,\n or any bitwise combination (e.g. OBJ_FILE | OBJ_ATTR).\n\n The special value OBJ_ALL matches all object types, and\n OBJ_LOCAL will only match objects opened through a specific\n identifier.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5f_17get_obj_ids = {__Pyx_NAMESTR("get_obj_ids"), (PyCFunction)__pyx_pw_4h5py_3h5f_17get_obj_ids, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_16get_obj_ids)}; -+static PyObject *__pyx_pw_4h5py_3h5f_17get_obj_ids(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_where = 0; - int __pyx_v_types; -- int __pyx_v_count; -- int __pyx_v_i; -- hid_t __pyx_v_where_id; -- hid_t *__pyx_v_obj_list; -- PyObject *__pyx_v_py_obj_list = 0; -- PyObject *__pyx_r = NULL; -- PyObject *__pyx_t_1 = NULL; -- int __pyx_t_2; -- hid_t __pyx_t_3; -- PyObject *__pyx_t_4 = NULL; -- int __pyx_t_5; -- PyObject *__pyx_t_6 = NULL; -- PyObject *__pyx_t_7 = NULL; -- void *__pyx_t_8; -- int __pyx_t_9; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__where,&__pyx_n_s__types,0}; -- __Pyx_RefNannySetupContext("get_obj_ids"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_obj_ids (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__where,&__pyx_n_s__types,0}; - PyObject* values[2] = {0,0}; - values[0] = __pyx_k_8; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__where); -- if (value) { values[0] = value; kw_args--; } -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__where); -+ if (value) { values[0] = value; kw_args--; } -+ } -+ case 1: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__types); -+ if (value) { values[1] = value; kw_args--; } -+ } - } -- case 1: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__types); -- if (value) { values[1] = value; kw_args--; } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_obj_ids") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "get_obj_ids") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - __pyx_v_where = values[0]; - if (values[1]) { -@@ -2516,24 +2500,52 @@ static PyObject *__pyx_pf_4h5py_3h5f_8ge - } else { - __pyx_v_types = __pyx_k_9; - } -- } else { -- __pyx_v_where = __pyx_k_8; -- __pyx_v_types = __pyx_k_9; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: __pyx_v_types = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_types == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 1: __pyx_v_where = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_obj_ids", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5f.get_obj_ids"); -+ __Pyx_AddTraceback("h5py.h5f.get_obj_ids", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5f_16get_obj_ids(__pyx_self, __pyx_v_where, __pyx_v_types); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5f.pyx":182 -+ * -+ * -+ * def get_obj_ids(object where=OBJ_ALL, int types=H5F_OBJ_ALL): # <<<<<<<<<<<<<< -+ * """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => LIST -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5f_16get_obj_ids(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_where, int __pyx_v_types) { -+ int __pyx_v_count; -+ int __pyx_v_i; -+ hid_t __pyx_v_where_id; -+ hid_t *__pyx_v_obj_list; -+ PyObject *__pyx_v_py_obj_list = 0; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ PyObject *__pyx_t_1 = NULL; -+ int __pyx_t_2; -+ hid_t __pyx_t_3; -+ PyObject *__pyx_t_4 = NULL; -+ PyObject *__pyx_t_5 = NULL; -+ PyObject *__pyx_t_6 = NULL; -+ PyObject *__pyx_t_7 = NULL; -+ int __pyx_t_8; -+ PyObject *__pyx_t_9 = NULL; -+ PyObject *__pyx_t_10 = NULL; -+ void *__pyx_t_11; -+ int __pyx_t_12; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_obj_ids", 0); - - /* "h5py/h5f.pyx":202 - * cdef int i -@@ -2552,7 +2564,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_8ge - * if isinstance(where, FileID): - */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -+ __Pyx_GOTREF(__pyx_t_1); - __pyx_v_py_obj_list = __pyx_t_1; - __pyx_t_1 = 0; - -@@ -2563,7 +2575,10 @@ static PyObject *__pyx_pf_4h5py_3h5f_8ge - * where_id = where.id - * else: - */ -- __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_where, ((PyObject*)__pyx_ptype_4h5py_3h5f_FileID)); -+ __pyx_t_1 = ((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5f_FileID)); -+ __Pyx_INCREF(__pyx_t_1); -+ __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_where, __pyx_t_1); -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_2) { - - /* "h5py/h5f.pyx":206 -@@ -2578,7 +2593,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_8ge - __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_where_id = __pyx_t_3; -- goto __pyx_L6; -+ goto __pyx_L3; - } - /*else*/ { - -@@ -2590,11 +2605,10 @@ static PyObject *__pyx_pf_4h5py_3h5f_8ge - * except TypeError: - */ - { -- PyObject *__pyx_save_exc_type, *__pyx_save_exc_value, *__pyx_save_exc_tb; -- __Pyx_ExceptionSave(&__pyx_save_exc_type, &__pyx_save_exc_value, &__pyx_save_exc_tb); -- __Pyx_XGOTREF(__pyx_save_exc_type); -- __Pyx_XGOTREF(__pyx_save_exc_value); -- __Pyx_XGOTREF(__pyx_save_exc_tb); -+ __Pyx_ExceptionSave(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6); -+ __Pyx_XGOTREF(__pyx_t_4); -+ __Pyx_XGOTREF(__pyx_t_5); -+ __Pyx_XGOTREF(__pyx_t_6); - /*try:*/ { - - /* "h5py/h5f.pyx":209 -@@ -2604,25 +2618,25 @@ static PyObject *__pyx_pf_4h5py_3h5f_8ge - * except TypeError: - * raise TypeError("Location must be a FileID or OBJ_ALL.") - */ -- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L4_error;} -+ __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_where); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_where); - __Pyx_GIVEREF(__pyx_v_where); -- __pyx_t_4 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -- __Pyx_GOTREF(__pyx_t_4); -+ __pyx_t_7 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L4_error;} -+ __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; -- __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_t_4); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_t_7); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L4_error;} -+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_v_where_id = __pyx_t_3; - } -- __Pyx_XDECREF(__pyx_save_exc_type); __pyx_save_exc_type = 0; -- __Pyx_XDECREF(__pyx_save_exc_value); __pyx_save_exc_value = 0; -- __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0; -- goto __pyx_L14_try_end; -- __pyx_L7_error:; -+ __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; -+ goto __pyx_L11_try_end; -+ __pyx_L4_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -- __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "h5py/h5f.pyx":210 - * try: -@@ -2631,13 +2645,13 @@ static PyObject *__pyx_pf_4h5py_3h5f_8ge - * raise TypeError("Location must be a FileID or OBJ_ALL.") - * - */ -- __pyx_t_5 = PyErr_ExceptionMatches(__pyx_builtin_TypeError); -- if (__pyx_t_5) { -- __Pyx_AddTraceback("h5py.h5f.get_obj_ids"); -- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -- __Pyx_GOTREF(__pyx_t_4); -+ __pyx_t_8 = PyErr_ExceptionMatches(__pyx_builtin_TypeError); -+ if (__pyx_t_8) { -+ __Pyx_AddTraceback("h5py.h5f.get_obj_ids", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_1, &__pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;} -+ __Pyx_GOTREF(__pyx_t_7); - __Pyx_GOTREF(__pyx_t_1); -- __Pyx_GOTREF(__pyx_t_6); -+ __Pyx_GOTREF(__pyx_t_9); - - /* "h5py/h5f.pyx":211 - * where_id = int(where) -@@ -2646,31 +2660,31 @@ static PyObject *__pyx_pf_4h5py_3h5f_8ge - * - * try: - */ -- __pyx_t_7 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_10), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -- __Pyx_GOTREF(__pyx_t_7); -- __Pyx_Raise(__pyx_t_7, 0, 0); -+ __pyx_t_10 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_10), NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;} -+ __Pyx_GOTREF(__pyx_t_10); -+ __Pyx_Raise(__pyx_t_10, 0, 0, 0); -+ __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -- goto __pyx_L8_exception_handled; -+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; -+ goto __pyx_L5_exception_handled; - } -- __pyx_L9_except_error:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -+ __pyx_L6_except_error:; -+ __Pyx_XGIVEREF(__pyx_t_4); -+ __Pyx_XGIVEREF(__pyx_t_5); -+ __Pyx_XGIVEREF(__pyx_t_6); -+ __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6); - goto __pyx_L1_error; -- __pyx_L8_exception_handled:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -- __pyx_L14_try_end:; -+ __pyx_L5_exception_handled:; -+ __Pyx_XGIVEREF(__pyx_t_4); -+ __Pyx_XGIVEREF(__pyx_t_5); -+ __Pyx_XGIVEREF(__pyx_t_6); -+ __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6); -+ __pyx_L11_try_end:; - } - } -- __pyx_L6:; -+ __pyx_L3:; - - /* "h5py/h5f.pyx":213 - * raise TypeError("Location must be a FileID or OBJ_ALL.") -@@ -2688,8 +2702,8 @@ static PyObject *__pyx_pf_4h5py_3h5f_8ge - * obj_list = emalloc(sizeof(hid_t)*count) - * - */ -- __pyx_t_5 = __pyx_f_4h5py_4defs_H5Fget_obj_count(__pyx_v_where_id, __pyx_v_types); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L18;} -- __pyx_v_count = __pyx_t_5; -+ __pyx_t_8 = __pyx_f_4h5py_4defs_H5Fget_obj_count(__pyx_v_where_id, __pyx_v_types); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L15;} -+ __pyx_v_count = __pyx_t_8; - - /* "h5py/h5f.pyx":215 - * try: -@@ -2698,8 +2712,8 @@ static PyObject *__pyx_pf_4h5py_3h5f_8ge - * - * H5Fget_obj_ids(where_id, types, count, obj_list) - */ -- __pyx_t_8 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hid_t)) * __pyx_v_count)); if (unlikely(__pyx_t_8 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L18;} -- __pyx_v_obj_list = ((hid_t *)__pyx_t_8); -+ __pyx_t_11 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hid_t)) * __pyx_v_count)); if (unlikely(__pyx_t_11 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L15;} -+ __pyx_v_obj_list = ((hid_t *)__pyx_t_11); - - /* "h5py/h5f.pyx":217 - * obj_list = emalloc(sizeof(hid_t)*count) -@@ -2708,7 +2722,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_8ge - * for i from 0<=i 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "__cinit__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__id)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - } - __pyx_v_id = values[0]; -- } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_id = PyTuple_GET_ITEM(__pyx_args, 0); - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5f.FileID.__cinit__"); -+ __Pyx_AddTraceback("h5py.h5f.FileID.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5f_6FileID___cinit__(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self), __pyx_v_id); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5f.pyx":255 -+ * -+ * -+ * def __cinit__(self, id): # <<<<<<<<<<<<<< -+ * # lock the id proxy for as long as the the identifier is open -+ * self.locked = True -+ */ -+ -+static int __pyx_pf_4h5py_3h5f_6FileID___cinit__(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_id) { -+ int __pyx_r; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__cinit__", 0); - - /* "h5py/h5f.pyx":257 - * def __cinit__(self, id): -@@ -2911,13 +2950,25 @@ static int __pyx_pf_4h5py_3h5f_6FileID__ - * - * - */ -- ((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self)->__pyx_base.__pyx_base.locked = 1; -+ __pyx_v_self->__pyx_base.__pyx_base.locked = 1; - - __pyx_r = 0; - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5f_6FileID_3close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5f_6FileID_2close[] = "()\n\n Terminate access through this identifier. Note that depending on\n what property list settings were used to open the file, the\n physical file might not be closed until all remaining open\n identifiers are freed.\n "; -+static PyObject *__pyx_pw_4h5py_3h5f_6FileID_3close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("close (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5f_6FileID_2close(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5f.pyx":260 - * - * -@@ -2926,26 +2977,25 @@ static int __pyx_pf_4h5py_3h5f_6FileID__ - * - */ - --static PyObject *__pyx_pf_4h5py_3h5f_6FileID_1close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5f_6FileID_1close[] = "()\n\n Terminate access through this identifier. Note that depending on\n what property list settings were used to open the file, the\n physical file might not be closed until all remaining open\n identifiers are freed.\n "; --static PyObject *__pyx_pf_4h5py_3h5f_6FileID_1close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -- PyObject *__pyx_v___tmpvar_30; -- PyObject *__pyx_v___tmpvar_32; -- int __pyx_v___tmpvar_31; -- PyObject *__pyx_v___tmpvar_29; -+static PyObject *__pyx_pf_4h5py_3h5f_6FileID_2close(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; -- herr_t __pyx_t_3; -+ PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; -- int __pyx_t_7; -- int __pyx_t_8; -- __Pyx_RefNannySetupContext("close"); -- __pyx_v___tmpvar_30 = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v___tmpvar_32 = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v___tmpvar_29 = Py_None; __Pyx_INCREF(Py_None); -+ PyObject *__pyx_t_7 = NULL; -+ herr_t __pyx_t_8; -+ PyObject *__pyx_t_9 = NULL; -+ int __pyx_t_10; -+ PyObject *__pyx_t_11 = NULL; -+ int __pyx_t_12; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("close", 0); - - /* "h5py/h5f.pyx":268 - * identifiers are freed. -@@ -2954,218 +3004,157 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - * self.locked = False - * H5Fclose(self.id) - */ -- __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__lock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(__pyx_v___tmpvar_30); -- __pyx_v___tmpvar_30 = __pyx_t_1; -- __pyx_t_1 = 0; -+ /*with:*/ { -+ __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_2); -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__lock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -+ __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_3); -+ __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_2); -+ __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ /*try:*/ { -+ { -+ __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); -+ __Pyx_XGOTREF(__pyx_t_5); -+ __Pyx_XGOTREF(__pyx_t_6); -+ __Pyx_XGOTREF(__pyx_t_7); -+ /*try:*/ { - -- /* "(tree fragment)":2 -- * MGR = EXPR -- * EXIT = MGR.__exit__ # <<<<<<<<<<<<<< -- * MGR.__enter__() -- * EXC = True -+ /* "h5py/h5f.pyx":269 -+ * """ -+ * with _objects.registry.lock: -+ * self.locked = False # <<<<<<<<<<<<<< -+ * H5Fclose(self.id) -+ * _objects.registry.cleanup() - */ -- __pyx_t_1 = PyObject_GetAttr(__pyx_v___tmpvar_30, __pyx_n_s____exit__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(__pyx_v___tmpvar_32); -- __pyx_v___tmpvar_32 = __pyx_t_1; -- __pyx_t_1 = 0; -+ __pyx_v_self->__pyx_base.__pyx_base.locked = 0; - -- /* "(tree fragment)":3 -- * MGR = EXPR -- * EXIT = MGR.__exit__ -- * MGR.__enter__() # <<<<<<<<<<<<<< -- * EXC = True -- * try: -+ /* "h5py/h5f.pyx":270 -+ * with _objects.registry.lock: -+ * self.locked = False -+ * H5Fclose(self.id) # <<<<<<<<<<<<<< -+ * _objects.registry.cleanup() -+ * - */ -- __pyx_t_1 = PyObject_GetAttr(__pyx_v___tmpvar_30, __pyx_n_s____enter__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_8 = __pyx_f_4h5py_4defs_H5Fclose(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L7_error;} - -- /* "h5py/h5f.pyx":268 -- * identifiers are freed. -- * """ -- * with _objects.registry.lock: # <<<<<<<<<<<<<< -+ /* "h5py/h5f.pyx":271 - * self.locked = False - * H5Fclose(self.id) -+ * _objects.registry.cleanup() # <<<<<<<<<<<<<< -+ * -+ * - */ -- __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __pyx_v___tmpvar_31 = 1; -- /*try:*/ { -- { -- PyObject *__pyx_save_exc_type, *__pyx_save_exc_value, *__pyx_save_exc_tb; -- __Pyx_ExceptionSave(&__pyx_save_exc_type, &__pyx_save_exc_value, &__pyx_save_exc_tb); -- __Pyx_XGOTREF(__pyx_save_exc_type); -- __Pyx_XGOTREF(__pyx_save_exc_value); -- __Pyx_XGOTREF(__pyx_save_exc_tb); -- /*try:*/ { -- __Pyx_INCREF(Py_None); -- __Pyx_DECREF(__pyx_v___tmpvar_29); -- __pyx_v___tmpvar_29 = Py_None; -- ((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self)->__pyx_base.__pyx_base.locked = 0; -- __pyx_t_3 = __pyx_f_4h5py_4defs_H5Fclose(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self)->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__registry); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__cleanup); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- } -- __Pyx_XDECREF(__pyx_save_exc_type); __pyx_save_exc_type = 0; -- __Pyx_XDECREF(__pyx_save_exc_value); __pyx_save_exc_value = 0; -- __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0; -- goto __pyx_L15_try_end; -- __pyx_L8_error:; -- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -- /*except:*/ { -- __Pyx_AddTraceback("h5py.h5f.FileID.close"); -- if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_GOTREF(__pyx_t_2); -- __Pyx_GOTREF(__pyx_t_4); -- __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -- __Pyx_INCREF(__pyx_t_1); -- PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); -- __Pyx_GIVEREF(__pyx_t_1); -- __Pyx_INCREF(__pyx_t_2); -- PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2); -- __Pyx_GIVEREF(__pyx_t_2); -- __Pyx_INCREF(__pyx_t_4); -- PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4); -- __Pyx_GIVEREF(__pyx_t_4); -- __Pyx_DECREF(__pyx_v___tmpvar_29); -- __pyx_v___tmpvar_29 = ((PyObject *)__pyx_t_5); -- __pyx_t_5 = 0; -- __pyx_v___tmpvar_31 = 0; -- -- /* "(tree fragment)":11 -- * except: -- * EXC = False -- * if not EXIT(*EXCINFO): # <<<<<<<<<<<<<< -- * raise -- * finally: -- */ -- __pyx_t_5 = PySequence_Tuple(__pyx_v___tmpvar_29); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -- __pyx_t_6 = PyObject_Call(__pyx_v___tmpvar_32, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(__pyx_t_6); -- __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; -- __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -- __pyx_t_8 = (!__pyx_t_7); -- if (__pyx_t_8) { -+ __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_4 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __pyx_t_1 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__cleanup); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __pyx_t_4 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ } -+ __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; -+ __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; -+ goto __pyx_L14_try_end; -+ __pyx_L7_error:; -+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; -+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - -- /* "h5py/h5f.pyx":268 -+ /* "h5py/h5f.pyx":268 - * identifiers are freed. - * """ - * with _objects.registry.lock: # <<<<<<<<<<<<<< - * self.locked = False - * H5Fclose(self.id) - */ -+ /*except:*/ { -+ __Pyx_AddTraceback("h5py.h5f.FileID.close", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_GOTREF(__pyx_t_1); -+ __Pyx_GOTREF(__pyx_t_2); -+ __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __Pyx_GOTREF(__pyx_t_9); -+ __Pyx_INCREF(__pyx_t_4); -+ PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_4); -+ __Pyx_GIVEREF(__pyx_t_4); -+ __Pyx_INCREF(__pyx_t_1); -+ PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); -+ __Pyx_INCREF(__pyx_t_2); -+ PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); -- __Pyx_GIVEREF(__pyx_t_4); -- __Pyx_ErrRestore(__pyx_t_1, __pyx_t_2, __pyx_t_4); -- __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_4 = 0; -- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- goto __pyx_L18; -+ __pyx_t_11 = PyObject_Call(__pyx_t_3, __pyx_t_9, NULL); -+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -+ if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __Pyx_GOTREF(__pyx_t_11); -+ __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_11); -+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; -+ if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __pyx_t_12 = (!__pyx_t_10); -+ if (__pyx_t_12) { -+ __Pyx_GIVEREF(__pyx_t_4); -+ __Pyx_GIVEREF(__pyx_t_1); -+ __Pyx_GIVEREF(__pyx_t_2); -+ __Pyx_ErrRestore(__pyx_t_4, __pyx_t_1, __pyx_t_2); -+ __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ goto __pyx_L17; -+ } -+ __pyx_L17:; -+ __Pyx_DECREF(((PyObject *)__pyx_t_9)); __pyx_t_9 = 0; -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -+ goto __pyx_L8_exception_handled; - } -- __pyx_L18:; -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- goto __pyx_L9_exception_handled; -+ __pyx_L9_except_error:; -+ __Pyx_XGIVEREF(__pyx_t_5); -+ __Pyx_XGIVEREF(__pyx_t_6); -+ __Pyx_XGIVEREF(__pyx_t_7); -+ __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); -+ goto __pyx_L1_error; -+ __pyx_L8_exception_handled:; -+ __Pyx_XGIVEREF(__pyx_t_5); -+ __Pyx_XGIVEREF(__pyx_t_6); -+ __Pyx_XGIVEREF(__pyx_t_7); -+ __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); -+ __pyx_L14_try_end:; - } -- __pyx_L10_except_error:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -- goto __pyx_L6; -- __pyx_L9_exception_handled:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -- __pyx_L15_try_end:; -- } -- } -- /*finally:*/ { -- int __pyx_why; -- PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; -- int __pyx_exc_lineno; -- __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L7; -- __pyx_L6: { -- __pyx_why = 4; -- __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; -- __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; -- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); -- __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L7; -- } -- __pyx_L7:; -- -- /* "(tree fragment)":14 -- * raise -- * finally: -- * if EXC: # <<<<<<<<<<<<<< -- * EXIT(None, None, None) -- */ -- if (__pyx_v___tmpvar_31) { -- -- /* "h5py/h5f.pyx":268 -- * identifiers are freed. -- * """ -- * with _objects.registry.lock: # <<<<<<<<<<<<<< -- * self.locked = False -- * H5Fclose(self.id) -- */ -- __pyx_t_4 = PyObject_Call(__pyx_v___tmpvar_32, ((PyObject *)__pyx_k_tuple_11), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L19_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- goto __pyx_L20; -- } -- __pyx_L20:; -- goto __pyx_L21; -- __pyx_L19_error:; -- if (__pyx_why == 4) { -- Py_XDECREF(__pyx_exc_type); -- Py_XDECREF(__pyx_exc_value); -- Py_XDECREF(__pyx_exc_tb); - } -- goto __pyx_L1_error; -- __pyx_L21:; -- switch (__pyx_why) { -- case 4: { -- __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb); -- __pyx_lineno = __pyx_exc_lineno; -- __pyx_exc_type = 0; -- __pyx_exc_value = 0; -- __pyx_exc_tb = 0; -- goto __pyx_L1_error; -+ /*finally:*/ { -+ if (__pyx_t_3) { -+ __pyx_t_7 = PyObject_Call(__pyx_t_3, __pyx_k_tuple_11, NULL); -+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -+ if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_7); -+ __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7); -+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - } -+ goto __pyx_L18; -+ __pyx_L3_error:; -+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -+ goto __pyx_L1_error; -+ __pyx_L18:; - } - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); -@@ -3174,19 +3163,27 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_XDECREF(__pyx_t_5); -- __Pyx_XDECREF(__pyx_t_6); -- __Pyx_AddTraceback("h5py.h5f.FileID.close"); -+ __Pyx_XDECREF(__pyx_t_9); -+ __Pyx_AddTraceback("h5py.h5f.FileID.close", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF(__pyx_v___tmpvar_30); -- __Pyx_DECREF(__pyx_v___tmpvar_32); -- __Pyx_DECREF(__pyx_v___tmpvar_29); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5f_6FileID_5reopen(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5f_6FileID_4reopen[] = "() => FileID\n\n Retrieve another identifier for a file (which must still be open).\n The new identifier is guaranteed to neither be mounted nor contain\n a mounted file.\n "; -+static PyObject *__pyx_pw_4h5py_3h5f_6FileID_5reopen(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("reopen (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5f_6FileID_4reopen(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5f.pyx":274 - * - * -@@ -3195,15 +3192,17 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - * - */ - --static PyObject *__pyx_pf_4h5py_3h5f_6FileID_2reopen(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5f_6FileID_2reopen[] = "() => FileID\n\n Retrieve another identifier for a file (which must still be open).\n The new identifier is guaranteed to neither be mounted nor contain\n a mounted file.\n "; --static PyObject *__pyx_pf_4h5py_3h5f_6FileID_2reopen(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5f_6FileID_4reopen(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - hid_t __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; -- __Pyx_RefNannySetupContext("reopen"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("reopen", 0); - - /* "h5py/h5f.pyx":281 - * a mounted file. -@@ -3215,11 +3214,11 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5f_FileID)), __pyx_n_s__open); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_2 = __pyx_f_4h5py_4defs_H5Freopen(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self)->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = __pyx_f_4h5py_4defs_H5Freopen(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; -@@ -3237,7 +3236,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5f.FileID.reopen"); -+ __Pyx_AddTraceback("h5py.h5f.FileID.reopen", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3245,6 +3244,18 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5f_6FileID_7get_filesize(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5f_6FileID_6get_filesize[] = "() => LONG size\n\n Determine the total size (in bytes) of the HDF5 file,\n including any user block.\n "; -+static PyObject *__pyx_pw_4h5py_3h5f_6FileID_7get_filesize(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_filesize (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5f_6FileID_6get_filesize(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5f.pyx":284 - * - * -@@ -3253,14 +3264,16 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - * - */ - --static PyObject *__pyx_pf_4h5py_3h5f_6FileID_3get_filesize(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5f_6FileID_3get_filesize[] = "() => LONG size\n\n Determine the total size (in bytes) of the HDF5 file,\n including any user block.\n "; --static PyObject *__pyx_pf_4h5py_3h5f_6FileID_3get_filesize(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5f_6FileID_6get_filesize(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self) { - hsize_t __pyx_v_size; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_filesize"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_filesize", 0); - - /* "h5py/h5f.pyx":291 - * """ -@@ -3269,7 +3282,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - * return size - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_filesize(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self)->__pyx_base.__pyx_base.id, (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_filesize(__pyx_v_self->__pyx_base.__pyx_base.id, (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5f.pyx":292 - * cdef hsize_t size -@@ -3289,7 +3302,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5f.FileID.get_filesize"); -+ __Pyx_AddTraceback("h5py.h5f.FileID.get_filesize", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3297,6 +3310,18 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5f_6FileID_9get_create_plist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5f_6FileID_8get_create_plist[] = "() => PropFCID\n\n Retrieve a copy of the file creation property list used to\n create this file.\n "; -+static PyObject *__pyx_pw_4h5py_3h5f_6FileID_9get_create_plist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_create_plist (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5f_6FileID_8get_create_plist(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5f.pyx":295 - * - * -@@ -3305,13 +3330,15 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - * - */ - --static PyObject *__pyx_pf_4h5py_3h5f_6FileID_4get_create_plist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5f_6FileID_4get_create_plist[] = "() => PropFCID\n\n Retrieve a copy of the file creation property list used to\n create this file.\n "; --static PyObject *__pyx_pf_4h5py_3h5f_6FileID_4get_create_plist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5f_6FileID_8get_create_plist(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_create_plist"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_create_plist", 0); - - /* "h5py/h5f.pyx":301 - * create this file. -@@ -3321,7 +3348,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_create_plist(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self)->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_create_plist(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __pyx_f_4h5py_3h5p_propwrap(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -3332,7 +3359,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5f.FileID.get_create_plist"); -+ __Pyx_AddTraceback("h5py.h5f.FileID.get_create_plist", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3340,6 +3367,18 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5f_6FileID_11get_access_plist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5f_6FileID_10get_access_plist[] = "() => PropFAID\n\n Retrieve a copy of the file access property list which manages access\n to this file.\n "; -+static PyObject *__pyx_pw_4h5py_3h5f_6FileID_11get_access_plist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_access_plist (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5f_6FileID_10get_access_plist(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5f.pyx":304 - * - * -@@ -3348,13 +3387,15 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - * - */ - --static PyObject *__pyx_pf_4h5py_3h5f_6FileID_5get_access_plist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5f_6FileID_5get_access_plist[] = "() => PropFAID\n\n Retrieve a copy of the file access property list which manages access\n to this file.\n "; --static PyObject *__pyx_pf_4h5py_3h5f_6FileID_5get_access_plist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5f_6FileID_10get_access_plist(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_access_plist"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_access_plist", 0); - - /* "h5py/h5f.pyx":310 - * to this file. -@@ -3364,7 +3405,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_access_plist(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self)->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_access_plist(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __pyx_f_4h5py_3h5p_propwrap(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -3375,7 +3416,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5f.FileID.get_access_plist"); -+ __Pyx_AddTraceback("h5py.h5f.FileID.get_access_plist", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3383,6 +3424,18 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5f_6FileID_13get_freespace(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5f_6FileID_12get_freespace[] = "() => LONG freespace\n\n Determine the amount of free space in this file. Note that this\n only tracks free space until the file is closed.\n "; -+static PyObject *__pyx_pw_4h5py_3h5f_6FileID_13get_freespace(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_freespace (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5f_6FileID_12get_freespace(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5f.pyx":313 - * - * -@@ -3391,13 +3444,15 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - * - */ - --static PyObject *__pyx_pf_4h5py_3h5f_6FileID_6get_freespace(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5f_6FileID_6get_freespace[] = "() => LONG freespace\n\n Determine the amount of free space in this file. Note that this\n only tracks free space until the file is closed.\n "; --static PyObject *__pyx_pf_4h5py_3h5f_6FileID_6get_freespace(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5f_6FileID_12get_freespace(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hssize_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_freespace"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_freespace", 0); - - /* "h5py/h5f.pyx":319 - * only tracks free space until the file is closed. -@@ -3407,7 +3462,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_freespace(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self)->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_freespace(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyInt_to_py_hssize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -3418,7 +3473,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5f.FileID.get_freespace"); -+ __Pyx_AddTraceback("h5py.h5f.FileID.get_freespace", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3426,6 +3481,18 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5f_6FileID_15get_intent(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5f_6FileID_14get_intent[] = " () => INT\n\n Determine the file's write intent, either of:\n - H5F_ACC_RDONLY\n - H5F_ACC_RDWR\n "; -+static PyObject *__pyx_pw_4h5py_3h5f_6FileID_15get_intent(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_intent (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5f_6FileID_14get_intent(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5f.pyx":322 - * - * -@@ -3434,14 +3501,16 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - * - */ - --static PyObject *__pyx_pf_4h5py_3h5f_6FileID_7get_intent(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5f_6FileID_7get_intent[] = " () => INT\n\n Determine the file's write intent, either of:\n - H5F_ACC_RDONLY\n - H5F_ACC_RDWR\n "; --static PyObject *__pyx_pf_4h5py_3h5f_6FileID_7get_intent(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5f_6FileID_14get_intent(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self) { - unsigned int __pyx_v_mode; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_intent"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_intent", 0); - - /* "h5py/h5f.pyx":330 - * """ -@@ -3449,7 +3518,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - * H5Fget_intent(self.id, &mode) # <<<<<<<<<<<<<< - * return mode - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_intent(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self)->__pyx_base.__pyx_base.id, (&__pyx_v_mode)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_intent(__pyx_v_self->__pyx_base.__pyx_base.id, (&__pyx_v_mode)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5f.pyx":331 - * cdef unsigned int mode -@@ -3467,7 +3536,7 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5f.FileID.get_intent"); -+ __Pyx_AddTraceback("h5py.h5f.FileID.get_intent", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3478,43 +3547,39 @@ static PyObject *__pyx_pf_4h5py_3h5f_6Fi - static PyObject *__pyx_tp_new_4h5py_3h5f_FileID(PyTypeObject *t, PyObject *a, PyObject *k) { - PyObject *o = __pyx_ptype_4h5py_3h5g_GroupID->tp_new(t, a, k); - if (!o) return 0; -- if (__pyx_pf_4h5py_3h5f_6FileID___cinit__(o, a, k) < 0) { -+ if (__pyx_pw_4h5py_3h5f_6FileID_1__cinit__(o, a, k) < 0) { - Py_DECREF(o); o = 0; - } - return o; - } - - static void __pyx_tp_dealloc_4h5py_3h5f_FileID(PyObject *o) { -- __pyx_ptype_4h5py_3h5g_GroupID->tp_dealloc(o); -+ if (likely(__pyx_ptype_4h5py_3h5g_GroupID)) __pyx_ptype_4h5py_3h5g_GroupID->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4h5py_3h5f_FileID); - } - - static int __pyx_tp_traverse_4h5py_3h5f_FileID(PyObject *o, visitproc v, void *a) { - int e; -- if (__pyx_ptype_4h5py_3h5g_GroupID->tp_traverse) { -- e = __pyx_ptype_4h5py_3h5g_GroupID->tp_traverse(o, v, a); if (e) return e; -- } -+ e = ((likely(__pyx_ptype_4h5py_3h5g_GroupID)) ? ((__pyx_ptype_4h5py_3h5g_GroupID->tp_traverse) ? __pyx_ptype_4h5py_3h5g_GroupID->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_4h5py_3h5f_FileID)); if (e) return e; - return 0; - } - - static int __pyx_tp_clear_4h5py_3h5f_FileID(PyObject *o) { -- if (__pyx_ptype_4h5py_3h5g_GroupID->tp_clear) { -- __pyx_ptype_4h5py_3h5g_GroupID->tp_clear(o); -- } -+ if (likely(__pyx_ptype_4h5py_3h5g_GroupID)) { if (__pyx_ptype_4h5py_3h5g_GroupID->tp_clear) __pyx_ptype_4h5py_3h5g_GroupID->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_4h5py_3h5f_FileID); - return 0; - } - --static PyObject *__pyx_getprop_4h5py_3h5f_6FileID_name(PyObject *o, void *x) { -- return __pyx_pf_4h5py_3h5f_6FileID_4name___get__(o); -+static PyObject *__pyx_getprop_4h5py_3h5f_6FileID_name(PyObject *o, CYTHON_UNUSED void *x) { -+ return __pyx_pw_4h5py_3h5f_6FileID_4name_1__get__(o); - } - - static PyMethodDef __pyx_methods_4h5py_3h5f_FileID[] = { -- {__Pyx_NAMESTR("close"), (PyCFunction)__pyx_pf_4h5py_3h5f_6FileID_1close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_1close)}, -- {__Pyx_NAMESTR("reopen"), (PyCFunction)__pyx_pf_4h5py_3h5f_6FileID_2reopen, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_2reopen)}, -- {__Pyx_NAMESTR("get_filesize"), (PyCFunction)__pyx_pf_4h5py_3h5f_6FileID_3get_filesize, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_3get_filesize)}, -- {__Pyx_NAMESTR("get_create_plist"), (PyCFunction)__pyx_pf_4h5py_3h5f_6FileID_4get_create_plist, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_4get_create_plist)}, -- {__Pyx_NAMESTR("get_access_plist"), (PyCFunction)__pyx_pf_4h5py_3h5f_6FileID_5get_access_plist, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_5get_access_plist)}, -- {__Pyx_NAMESTR("get_freespace"), (PyCFunction)__pyx_pf_4h5py_3h5f_6FileID_6get_freespace, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_6get_freespace)}, -- {__Pyx_NAMESTR("get_intent"), (PyCFunction)__pyx_pf_4h5py_3h5f_6FileID_7get_intent, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_7get_intent)}, -+ {__Pyx_NAMESTR("close"), (PyCFunction)__pyx_pw_4h5py_3h5f_6FileID_3close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_2close)}, -+ {__Pyx_NAMESTR("reopen"), (PyCFunction)__pyx_pw_4h5py_3h5f_6FileID_5reopen, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_4reopen)}, -+ {__Pyx_NAMESTR("get_filesize"), (PyCFunction)__pyx_pw_4h5py_3h5f_6FileID_7get_filesize, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_6get_filesize)}, -+ {__Pyx_NAMESTR("get_create_plist"), (PyCFunction)__pyx_pw_4h5py_3h5f_6FileID_9get_create_plist, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_8get_create_plist)}, -+ {__Pyx_NAMESTR("get_access_plist"), (PyCFunction)__pyx_pw_4h5py_3h5f_6FileID_11get_access_plist, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_10get_access_plist)}, -+ {__Pyx_NAMESTR("get_freespace"), (PyCFunction)__pyx_pw_4h5py_3h5f_6FileID_13get_freespace, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_12get_freespace)}, -+ {__Pyx_NAMESTR("get_intent"), (PyCFunction)__pyx_pw_4h5py_3h5f_6FileID_15get_intent, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_14get_intent)}, - {0, 0, 0, 0} - }; - -@@ -3696,7 +3761,8 @@ static struct PyModuleDef __pyx_modulede - #endif - - static __Pyx_StringTabEntry __pyx_string_tab[] = { -- {&__pyx_n_s_14, __pyx_k_14, sizeof(__pyx_k_14), 0, 0, 1, 1}, -+ {&__pyx_kp_s_16, __pyx_k_16, sizeof(__pyx_k_16), 0, 0, 1, 0}, -+ {&__pyx_n_s_17, __pyx_k_17, sizeof(__pyx_k_17), 0, 0, 1, 1}, - {&__pyx_kp_s_6, __pyx_k_6, sizeof(__pyx_k_6), 0, 0, 1, 0}, - {&__pyx_n_s__ACC_EXCL, __pyx_k__ACC_EXCL, sizeof(__pyx_k__ACC_EXCL), 0, 0, 1, 1}, - {&__pyx_n_s__ACC_RDONLY, __pyx_k__ACC_RDONLY, sizeof(__pyx_k__ACC_RDONLY), 0, 0, 1, 1}, -@@ -3723,8 +3789,8 @@ static __Pyx_StringTabEntry __pyx_string - {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1}, - {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1}, - {&__pyx_n_s___objects, __pyx_k___objects, sizeof(__pyx_k___objects), 0, 0, 1, 1}, -- {&__pyx_n_s__append, __pyx_k__append, sizeof(__pyx_k__append), 0, 0, 1, 1}, - {&__pyx_n_s__cleanup, __pyx_k__cleanup, sizeof(__pyx_k__cleanup), 0, 0, 1, 1}, -+ {&__pyx_n_s__count, __pyx_k__count, sizeof(__pyx_k__count), 0, 0, 1, 1}, - {&__pyx_n_s__create, __pyx_k__create, sizeof(__pyx_k__create), 0, 0, 1, 1}, - {&__pyx_n_s__fapl, __pyx_k__fapl, sizeof(__pyx_k__fapl), 0, 0, 1, 1}, - {&__pyx_n_s__fcpl, __pyx_k__fcpl, sizeof(__pyx_k__fcpl), 0, 0, 1, 1}, -@@ -3734,20 +3800,26 @@ static __Pyx_StringTabEntry __pyx_string - {&__pyx_n_s__get_name, __pyx_k__get_name, sizeof(__pyx_k__get_name), 0, 0, 1, 1}, - {&__pyx_n_s__get_obj_count, __pyx_k__get_obj_count, sizeof(__pyx_k__get_obj_count), 0, 0, 1, 1}, - {&__pyx_n_s__get_obj_ids, __pyx_k__get_obj_ids, sizeof(__pyx_k__get_obj_ids), 0, 0, 1, 1}, -+ {&__pyx_n_s__h5py, __pyx_k__h5py, sizeof(__pyx_k__h5py), 0, 0, 1, 1}, -+ {&__pyx_n_s__i, __pyx_k__i, sizeof(__pyx_k__i), 0, 0, 1, 1}, - {&__pyx_n_s__id, __pyx_k__id, sizeof(__pyx_k__id), 0, 0, 1, 1}, - {&__pyx_n_s__is_hdf5, __pyx_k__is_hdf5, sizeof(__pyx_k__is_hdf5), 0, 0, 1, 1}, - {&__pyx_n_s__loc, __pyx_k__loc, sizeof(__pyx_k__loc), 0, 0, 1, 1}, - {&__pyx_n_s__lock, __pyx_k__lock, sizeof(__pyx_k__lock), 0, 0, 1, 1}, -- {&__pyx_n_s__locked, __pyx_k__locked, sizeof(__pyx_k__locked), 0, 0, 1, 1}, - {&__pyx_n_s__mount, __pyx_k__mount, sizeof(__pyx_k__mount), 0, 0, 1, 1}, - {&__pyx_n_s__name, __pyx_k__name, sizeof(__pyx_k__name), 0, 0, 1, 1}, - {&__pyx_n_s__obj, __pyx_k__obj, sizeof(__pyx_k__obj), 0, 0, 1, 1}, -+ {&__pyx_n_s__obj_list, __pyx_k__obj_list, sizeof(__pyx_k__obj_list), 0, 0, 1, 1}, - {&__pyx_n_s__open, __pyx_k__open, sizeof(__pyx_k__open), 0, 0, 1, 1}, -+ {&__pyx_n_s__pname, __pyx_k__pname, sizeof(__pyx_k__pname), 0, 0, 1, 1}, -+ {&__pyx_n_s__py_obj_list, __pyx_k__py_obj_list, sizeof(__pyx_k__py_obj_list), 0, 0, 1, 1}, - {&__pyx_n_s__registry, __pyx_k__registry, sizeof(__pyx_k__registry), 0, 0, 1, 1}, - {&__pyx_n_s__scope, __pyx_k__scope, sizeof(__pyx_k__scope), 0, 0, 1, 1}, -+ {&__pyx_n_s__size, __pyx_k__size, sizeof(__pyx_k__size), 0, 0, 1, 1}, - {&__pyx_n_s__types, __pyx_k__types, sizeof(__pyx_k__types), 0, 0, 1, 1}, - {&__pyx_n_s__unmount, __pyx_k__unmount, sizeof(__pyx_k__unmount), 0, 0, 1, 1}, - {&__pyx_n_s__where, __pyx_k__where, sizeof(__pyx_k__where), 0, 0, 1, 1}, -+ {&__pyx_n_s__where_id, __pyx_k__where_id, sizeof(__pyx_k__where_id), 0, 0, 1, 1}, - {0, 0, 0, 0, 0, 0, 0} - }; - static int __Pyx_InitCachedBuiltins(void) { -@@ -3758,7 +3830,8 @@ static int __Pyx_InitCachedBuiltins(void - } - - static int __Pyx_InitCachedConstants(void) { -- __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants"); -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - - /* "h5py/h5f.pyx":177 - * where_id = where -@@ -3768,7 +3841,7 @@ static int __Pyx_InitCachedConstants(voi - * return H5Fget_obj_count(where_id, types) - */ - __pyx_k_tuple_7 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_7)); -+ __Pyx_GOTREF(__pyx_k_tuple_7); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_6)); - PyTuple_SET_ITEM(__pyx_k_tuple_7, 0, ((PyObject *)__pyx_kp_s_6)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_6)); -@@ -3782,7 +3855,7 @@ static int __Pyx_InitCachedConstants(voi - * try: - */ - __pyx_k_tuple_10 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_10)); -+ __Pyx_GOTREF(__pyx_k_tuple_10); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_6)); - PyTuple_SET_ITEM(__pyx_k_tuple_10, 0, ((PyObject *)__pyx_kp_s_6)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_6)); -@@ -3796,7 +3869,7 @@ static int __Pyx_InitCachedConstants(voi - * H5Fclose(self.id) - */ - __pyx_k_tuple_11 = PyTuple_New(3); if (unlikely(!__pyx_k_tuple_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_11)); -+ __Pyx_GOTREF(__pyx_k_tuple_11); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_k_tuple_11, 0, Py_None); - __Pyx_GIVEREF(Py_None); -@@ -3807,6 +3880,204 @@ static int __Pyx_InitCachedConstants(voi - PyTuple_SET_ITEM(__pyx_k_tuple_11, 2, Py_None); - __Pyx_GIVEREF(Py_None); - __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_11)); -+ -+ /* "h5py/h5f.pyx":57 -+ * -+ * -+ * def open(char* name, unsigned int flags=H5F_ACC_RDWR, PropFAID fapl=None): # <<<<<<<<<<<<<< -+ * """(STRING name, UINT flags=ACC_RDWR, PropFAID fapl=None) => FileID -+ * -+ */ -+ __pyx_k_tuple_14 = PyTuple_New(3); if (unlikely(!__pyx_k_tuple_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_14); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_14, 0, ((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__flags)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_14, 1, ((PyObject *)__pyx_n_s__flags)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__flags)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__fapl)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_14, 2, ((PyObject *)__pyx_n_s__fapl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__fapl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_14)); -+ __pyx_k_codeobj_15 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_14, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_16, __pyx_n_s__open, 57, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5f.pyx":73 -+ * -+ * -+ * def create(char* name, int flags=H5F_ACC_TRUNC, PropFCID fcpl=None, # <<<<<<<<<<<<<< -+ * PropFAID fapl=None): -+ * """(STRING name, INT flags=ACC_TRUNC, PropFCID fcpl=None, -+ */ -+ __pyx_k_tuple_18 = PyTuple_New(4); if (unlikely(!__pyx_k_tuple_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_18); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_18, 0, ((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__flags)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_18, 1, ((PyObject *)__pyx_n_s__flags)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__flags)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__fcpl)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_18, 2, ((PyObject *)__pyx_n_s__fcpl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__fcpl)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__fapl)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_18, 3, ((PyObject *)__pyx_n_s__fapl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__fapl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_18)); -+ __pyx_k_codeobj_19 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_16, __pyx_n_s__create, 73, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5f.pyx":92 -+ * -+ * -+ * def flush(ObjectID obj not None, int scope=H5F_SCOPE_LOCAL): # <<<<<<<<<<<<<< -+ * """(ObjectID obj, INT scope=SCOPE_LOCAL) -+ * -+ */ -+ __pyx_k_tuple_20 = PyTuple_New(2); if (unlikely(!__pyx_k_tuple_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_20); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__obj)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_20, 0, ((PyObject *)__pyx_n_s__obj)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__obj)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__scope)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_20, 1, ((PyObject *)__pyx_n_s__scope)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__scope)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_20)); -+ __pyx_k_codeobj_21 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_16, __pyx_n_s__flush, 92, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5f.pyx":108 -+ * -+ * -+ * def is_hdf5(char* name): # <<<<<<<<<<<<<< -+ * """(STRING name) => BOOL -+ * -+ */ -+ __pyx_k_tuple_22 = PyTuple_New(2); if (unlikely(!__pyx_k_tuple_22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_22); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_22, 0, ((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_22, 1, ((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_22)); -+ __pyx_k_codeobj_23 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_16, __pyx_n_s__is_hdf5, 108, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5f.pyx":117 -+ * -+ * -+ * def mount(ObjectID loc not None, char* name, FileID fid not None): # <<<<<<<<<<<<<< -+ * """(ObjectID loc, STRING name, FileID fid) -+ * -+ */ -+ __pyx_k_tuple_24 = PyTuple_New(3); if (unlikely(!__pyx_k_tuple_24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_24); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__loc)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_24, 0, ((PyObject *)__pyx_n_s__loc)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__loc)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_24, 1, ((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__fid)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_24, 2, ((PyObject *)__pyx_n_s__fid)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__fid)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_24)); -+ __pyx_k_codeobj_25 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_16, __pyx_n_s__mount, 117, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5f.pyx":126 -+ * -+ * -+ * def unmount(ObjectID loc not None, char* name): # <<<<<<<<<<<<<< -+ * """(ObjectID loc, STRING name) -+ * -+ */ -+ __pyx_k_tuple_26 = PyTuple_New(2); if (unlikely(!__pyx_k_tuple_26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_26); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__loc)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_26, 0, ((PyObject *)__pyx_n_s__loc)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__loc)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_26, 1, ((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_26)); -+ __pyx_k_codeobj_27 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_16, __pyx_n_s__unmount, 126, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5f.pyx":134 -+ * -+ * -+ * def get_name(ObjectID obj not None): # <<<<<<<<<<<<<< -+ * """(ObjectID obj) => STRING -+ * -+ */ -+ __pyx_k_tuple_28 = PyTuple_New(4); if (unlikely(!__pyx_k_tuple_28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_28); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__obj)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_28, 0, ((PyObject *)__pyx_n_s__obj)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__obj)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__size)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_28, 1, ((PyObject *)__pyx_n_s__size)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__size)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_28, 2, ((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__pname)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_28, 3, ((PyObject *)__pyx_n_s__pname)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__pname)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_28)); -+ __pyx_k_codeobj_29 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_16, __pyx_n_s__get_name, 134, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5f.pyx":154 -+ * -+ * -+ * def get_obj_count(object where=OBJ_ALL, int types=H5F_OBJ_ALL): # <<<<<<<<<<<<<< -+ * """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => INT -+ * -+ */ -+ __pyx_k_tuple_30 = PyTuple_New(3); if (unlikely(!__pyx_k_tuple_30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_30); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__where)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_30, 0, ((PyObject *)__pyx_n_s__where)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__where)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__types)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_30, 1, ((PyObject *)__pyx_n_s__types)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__types)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__where_id)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_30, 2, ((PyObject *)__pyx_n_s__where_id)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__where_id)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_30)); -+ __pyx_k_codeobj_31 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_16, __pyx_n_s__get_obj_count, 154, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5f.pyx":182 -+ * -+ * -+ * def get_obj_ids(object where=OBJ_ALL, int types=H5F_OBJ_ALL): # <<<<<<<<<<<<<< -+ * """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => LIST -+ * -+ */ -+ __pyx_k_tuple_32 = PyTuple_New(7); if (unlikely(!__pyx_k_tuple_32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_32); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__where)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_32, 0, ((PyObject *)__pyx_n_s__where)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__where)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__types)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_32, 1, ((PyObject *)__pyx_n_s__types)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__types)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__count)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_32, 2, ((PyObject *)__pyx_n_s__count)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__count)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__i)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_32, 3, ((PyObject *)__pyx_n_s__i)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__i)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__where_id)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_32, 4, ((PyObject *)__pyx_n_s__where_id)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__where_id)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__obj_list)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_32, 5, ((PyObject *)__pyx_n_s__obj_list)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__obj_list)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__py_obj_list)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_32, 6, ((PyObject *)__pyx_n_s__py_obj_list)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__py_obj_list)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_32)); -+ __pyx_k_codeobj_33 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_16, __pyx_n_s__get_obj_ids, 182, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; -@@ -3836,8 +4107,9 @@ PyMODINIT_FUNC PyInit_h5f(void) - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; -+ PyObject *__pyx_t_8 = NULL; -+ __Pyx_RefNannyDeclarations - #if CYTHON_REFNANNY -- void* __pyx_refnanny = NULL; - __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); - if (!__Pyx_RefNanny) { - PyErr_Clear(); -@@ -3845,12 +4117,19 @@ PyMODINIT_FUNC PyInit_h5f(void) - if (!__Pyx_RefNanny) - Py_FatalError("failed to import 'refnanny' module"); - } -- __pyx_refnanny = __Pyx_RefNanny->SetupContext("PyMODINIT_FUNC PyInit_h5f(void)", __LINE__, __FILE__); - #endif -+ __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5f(void)", 0); -+ if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- #ifdef __pyx_binding_PyCFunctionType_USED -- if (__pyx_binding_PyCFunctionType_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #ifdef __Pyx_CyFunction_USED -+ if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif -+ #ifdef __Pyx_FusedFunction_USED -+ if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif -+ #ifdef __Pyx_Generator_USED -+ if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - #endif - /*--- Library function declarations ---*/ - /*--- Threads initialization code ---*/ -@@ -3861,16 +4140,23 @@ PyMODINIT_FUNC PyInit_h5f(void) - #endif - /*--- Module creation code ---*/ - #if PY_MAJOR_VERSION < 3 -- __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5f"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_13), 0, PYTHON_API_VERSION); -+ __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5f"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_13), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); - #else - __pyx_m = PyModule_Create(&__pyx_moduledef); - #endif -- if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -- #if PY_MAJOR_VERSION < 3 -- Py_INCREF(__pyx_m); -+ if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #if PY_MAJOR_VERSION >= 3 -+ { -+ PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (!PyDict_GetItemString(modules, "h5py.h5f")) { -+ if (unlikely(PyDict_SetItemString(modules, "h5py.h5f", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } -+ } -+ #endif -+ __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #if CYTHON_COMPILING_IN_PYPY -+ Py_INCREF(__pyx_b); - #endif -- __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); -- if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - /*--- Initialize various global constants etc. ---*/ - if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -3882,6 +4168,7 @@ PyMODINIT_FUNC PyInit_h5f(void) - /*--- Constants init code ---*/ - if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /*--- Global init code ---*/ -+ /*--- Variable export code ---*/ - /*--- Function export code ---*/ - /*--- Type init code ---*/ - __pyx_ptype_4h5py_3h5g_GroupID = __Pyx_ImportType("h5py.h5g", "GroupID", sizeof(struct __pyx_obj_4h5py_3h5g_GroupID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5g_GroupID)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -3934,29 +4221,9 @@ PyMODINIT_FUNC PyInit_h5f(void) - __pyx_vtabptr_4h5py_3h5t_TypeCompoundID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeCompoundID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeCompoundID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_ptype_4h5py_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_dtype)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_ptype_4h5py_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_ndarray)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ /*--- Variable import code ---*/ - /*--- Function import code ---*/ - __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5open", (void (**)(void))&__pyx_f_4h5py_4defs_H5open, "herr_t (void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5close", (void (**)(void))&__pyx_f_4h5py_4defs_H5close, "herr_t (void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5get_libversion", (void (**)(void))&__pyx_f_4h5py_4defs_H5get_libversion, "herr_t (unsigned int *, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dcreate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dcreate2, "hid_t (hid_t, char *, hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dcreate_anon", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dcreate_anon, "hid_t (hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dopen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_space", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_space, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_space_status", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_space_status, "herr_t (hid_t, H5D_space_status_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_type, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_create_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_offset, "haddr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_storage_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_storage_size, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dread", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dread, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dwrite", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dwrite, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dextend", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dextend, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dfill", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dfill, "herr_t (void *, hid_t, void *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dvlen_get_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dvlen_get_buf_size, "herr_t (hid_t, hid_t, hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dvlen_reclaim", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dvlen_reclaim, "herr_t (hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Diterate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Diterate, "herr_t (void *, hid_t, hid_t, H5D_operator_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dset_extent", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dset_extent, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Fcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fcreate, "hid_t (char *, unsigned int, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Fopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fopen, "hid_t (char *, unsigned int, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Fclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -3973,290 +4240,15 @@ PyMODINIT_FUNC PyInit_h5f(void) - if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_obj_count", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_obj_count, "int (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_obj_ids", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_obj_ids, "int (hid_t, unsigned int, int, hid_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_intent", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_intent, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate, "hid_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gopen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Glink2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Glink2, "herr_t (hid_t, char *, H5G_link_t, hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gunlink", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gunlink, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gmove2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gmove2, "herr_t (hid_t, char *, hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_num_objs", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_num_objs, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_objname_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_objname_by_idx, "int (hid_t, hsize_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_objtype_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_objtype_by_idx, "int (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Giterate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Giterate, "herr_t (hid_t, char *, int *, H5G_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_objinfo", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_objinfo, "herr_t (hid_t, char *, int, H5G_stat_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_linkval", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_linkval, "herr_t (hid_t, char *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gset_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gset_comment, "herr_t (hid_t, char *, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_comment, "int (hid_t, char *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate_anon", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate_anon, "hid_t (hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate2, "hid_t (hid_t, char *, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gopen2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gopen2, "hid_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_info, "herr_t (hid_t, H5G_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_info_by_name, "herr_t (hid_t, char *, H5G_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_create_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_type, "H5I_type_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_file_id", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_file_id, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Idec_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Idec_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iinc_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iinc_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lmove", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lmove, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcopy, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_hard", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_hard, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_soft", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_soft, "herr_t (char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ldelete", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ldelete, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ldelete_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ldelete_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_val", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_val, "herr_t (hid_t, char *, void *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_val_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_val_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, void *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lexists", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lexists, "htri_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_info, "herr_t (hid_t, char *, H5L_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5L_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_name_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_name_by_idx, "Py_ssize_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Literate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Literate, "herr_t (hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Literate_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Literate_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lvisit", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lvisit, "herr_t (hid_t, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lvisit_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lvisit_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lunpack_elink_val", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lunpack_elink_val, "herr_t (void *, size_t, unsigned int *, char **, char **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_external", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_external, "herr_t (char *, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oopen, "hid_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oopen_by_addr", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oopen_by_addr, "hid_t (hid_t, haddr_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oopen_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oopen_by_idx, "hid_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info, "herr_t (hid_t, H5O_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info_by_name, "herr_t (hid_t, char *, H5O_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5O_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Olink", (void (**)(void))&__pyx_f_4h5py_4defs_H5Olink, "herr_t (hid_t, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ocopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ocopy, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oincr_refcount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oincr_refcount, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Odecr_refcount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Odecr_refcount, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oset_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oset_comment, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oset_comment_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oset_comment_by_name, "herr_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_comment, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_comment_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_comment_by_name, "Py_ssize_t (hid_t, char *, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ovisit", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ovisit, "herr_t (hid_t, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ovisit_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ovisit_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pcreate, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pcopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_class, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pequal", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pequal, "htri_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pclose_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pclose_class, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_version", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_version, "herr_t (hid_t, unsigned int *, unsigned int *, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_userblock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_userblock, "herr_t (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_userblock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_userblock, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sizes", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sizes, "herr_t (hid_t, size_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sizes", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sizes, "herr_t (hid_t, size_t *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sym_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sym_k, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sym_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sym_k, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_istore_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_istore_k, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_istore_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_istore_k, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fclose_degree", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fclose_degree, "herr_t (hid_t, enum H5F_close_degree_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fclose_degree", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fclose_degree, "herr_t (hid_t, enum H5F_close_degree_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_core", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_core, "herr_t (hid_t, size_t, hbool_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fapl_core", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fapl_core, "herr_t (hid_t, size_t *, hbool_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_family", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_family, "herr_t (hid_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fapl_family", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fapl_family, "herr_t (hid_t, hsize_t *, hid_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_family_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_family_offset, "herr_t (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_family_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_family_offset, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_log", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_log, "herr_t (hid_t, char *, unsigned int, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_multi", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_multi, "herr_t (hid_t, H5FD_mem_t *, hid_t *, char **, haddr_t *, hbool_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_cache", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_cache, "herr_t (hid_t, int, int, size_t, double)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_cache", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_cache, "herr_t (hid_t, int *, int *, size_t *, double *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_sec2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_sec2, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_stdio", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_stdio, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_driver", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_driver, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_layout", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_layout, "herr_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_layout", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_layout, "H5D_layout_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_chunk", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_chunk, "herr_t (hid_t, int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_chunk", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_chunk, "int (hid_t, int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_deflate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_deflate, "herr_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fill_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fill_value, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fill_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fill_value, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pfill_value_defined", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pfill_value_defined, "herr_t (hid_t, H5D_fill_value_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fill_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fill_time, "herr_t (hid_t, H5D_fill_time_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fill_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fill_time, "herr_t (hid_t, H5D_fill_time_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_alloc_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_alloc_time, "herr_t (hid_t, H5D_alloc_time_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_alloc_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_alloc_time, "herr_t (hid_t, H5D_alloc_time_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_filter, "herr_t (hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pall_filters_avail", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pall_filters_avail, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_nfilters", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_nfilters, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_filter, "H5Z_filter_t (hid_t, unsigned int, unsigned int *, size_t *, unsigned int *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_filter_by_id", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_filter_by_id, "herr_t (hid_t, H5Z_filter_t, unsigned int *, size_t *, unsigned int *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pmodify_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pmodify_filter, "herr_t (hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Premove_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Premove_filter, "herr_t (hid_t, H5Z_filter_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fletcher32", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fletcher32, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_shuffle", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_shuffle, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_szip", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_szip, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_edc_check", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_edc_check, "herr_t (hid_t, enum H5Z_EDC_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_edc_check", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_edc_check, "enum H5Z_EDC_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sieve_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sieve_buf_size, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sieve_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sieve_buf_size, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_nlinks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_nlinks, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_nlinks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_nlinks, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_elink_prefix", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_elink_prefix, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_elink_prefix", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_elink_prefix, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_elink_fapl", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_elink_fapl, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_elink_fapl", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_elink_fapl, "herr_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_create_intermediate_group", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_create_intermediate_group, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_create_intermediate_group", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_create_intermediate_group, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_copy_object", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_copy_object, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_copy_object", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_copy_object, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_char_encoding", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_char_encoding, "herr_t (hid_t, H5T_cset_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_char_encoding", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_char_encoding, "herr_t (hid_t, H5T_cset_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_local_heap_size_hint", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_local_heap_size_hint, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_local_heap_size_hint", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_local_heap_size_hint, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_link_phase_change", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_link_phase_change, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_link_phase_change", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_link_phase_change, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_est_link_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_est_link_info, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_est_link_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_est_link_info, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_link_creation_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_link_creation_order, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_link_creation_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_link_creation_order, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_libver_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_libver_bounds, "herr_t (hid_t, H5F_libver_t, H5F_libver_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_libver_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_libver_bounds, "herr_t (hid_t, H5F_libver_t *, H5F_libver_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rcreate, "herr_t (void *, hid_t, char *, H5R_type_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rdereference", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rdereference, "hid_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_region", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_region, "hid_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_obj_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_obj_type, "enum H5G_obj_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_name, "Py_ssize_t (hid_t, H5R_type_t, void *, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Screate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Screate, "hid_t (H5S_class_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Scopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Scopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Screate_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Screate_simple, "hid_t (int, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sis_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sis_simple, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Soffset_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Soffset_simple, "herr_t (hid_t, hssize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_ndims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_dims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_dims, "int (hid_t, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_npoints", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_type, "H5S_class_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sextent_copy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sextent_copy, "herr_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sset_extent_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sset_extent_simple, "herr_t (hid_t, int, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sset_extent_none", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sset_extent_none, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_type, "H5S_sel_type (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_npoints", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_bounds, "herr_t (hid_t, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_all", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_all, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_none", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_none, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_valid", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_valid, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_elem_npoints", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_elem_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_elem_pointlist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_elem_pointlist, "herr_t (hid_t, hsize_t, hsize_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_elements", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_elements, "herr_t (hid_t, H5S_seloper_t, size_t, hsize_t **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_hyper_nblocks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_hyper_nblocks, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_hyper_blocklist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_hyper_blocklist, "herr_t (hid_t, hsize_t, hsize_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_hyperslab", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_hyperslab, "herr_t (hid_t, H5S_seloper_t, hsize_t *, hsize_t *, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sencode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sencode, "herr_t (hid_t, void *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sdecode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sdecode, "hid_t (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcreate, "hid_t (enum H5T_class_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Topen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Topen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommit", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommit, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommitted", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommitted, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tequal", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tequal, "htri_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tlock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tlock, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_class, "enum H5T_class_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_size, "size_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_super", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_super, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tdetect_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tdetect_class, "htri_t (hid_t, enum H5T_class_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_native_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_native_type, "hid_t (hid_t, enum H5T_direction_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tconvert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tconvert, "herr_t (hid_t, hid_t, size_t, void *, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_size, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_order, "H5T_order_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_order, "herr_t (hid_t, H5T_order_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_precision", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_precision, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_precision", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_precision, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_offset, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_offset, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_pad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_pad, "herr_t (hid_t, H5T_pad_t *, H5T_pad_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_pad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_pad, "herr_t (hid_t, H5T_pad_t, H5T_pad_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_sign", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_sign, "H5T_sign_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_sign", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_sign, "herr_t (hid_t, H5T_sign_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_fields", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_fields, "herr_t (hid_t, size_t *, size_t *, size_t *, size_t *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_fields", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_fields, "herr_t (hid_t, size_t, size_t, size_t, size_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_ebias", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_ebias, "size_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_ebias", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_ebias, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_norm", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_norm, "H5T_norm_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_norm", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_norm, "herr_t (hid_t, H5T_norm_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_inpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_inpad, "H5T_pad_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_inpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_inpad, "herr_t (hid_t, H5T_pad_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_cset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_cset, "H5T_cset_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_cset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_cset, "herr_t (hid_t, H5T_cset_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_strpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_strpad, "H5T_str_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_strpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_strpad, "herr_t (hid_t, H5T_str_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tvlen_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tvlen_create, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tis_variable_str", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tis_variable_str, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_nmembers", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_nmembers, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_class, "enum H5T_class_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_name, "char *(hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_type, "hid_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_offset, "int (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_index", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_index, "int (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tinsert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tinsert, "herr_t (hid_t, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tpack", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tpack, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_create, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_insert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_insert, "herr_t (hid_t, char *, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_nameof", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_nameof, "herr_t (hid_t, void *, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_valueof", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_valueof, "herr_t (hid_t, char *, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_value, "herr_t (hid_t, unsigned int, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tarray_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tarray_create, "hid_t (hid_t, int, hsize_t *, int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_array_ndims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_array_ndims, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_array_dims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_array_dims, "int (hid_t, hsize_t *, int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_tag", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_tag, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_tag", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_tag, "char *(hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tdecode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tdecode, "hid_t (unsigned char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tencode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tencode, "herr_t (hid_t, unsigned char *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommit2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommit2, "herr_t (hid_t, char *, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tfind", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tfind, "H5T_conv_t (hid_t, hid_t, H5T_cdata_t **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tregister", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tregister, "herr_t (H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tunregister", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tunregister, "herr_t (H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Zfilter_avail", (void (**)(void))&__pyx_f_4h5py_4defs_H5Zfilter_avail, "htri_t (H5Z_filter_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Zget_filter_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Zget_filter_info, "herr_t (H5Z_filter_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Acreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Acreate, "hid_t (hid_t, char *, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_idx, "hid_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_name, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aread", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aread, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Awrite", (void (**)(void))&__pyx_f_4h5py_4defs_H5Awrite, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_num_attrs", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_num_attrs, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_name, "Py_ssize_t (hid_t, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_space", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_space, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_type, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aiterate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aiterate, "herr_t (hid_t, unsigned int *, H5A_operator_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete_by_name, "herr_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Acreate_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Acreate_by_name, "hid_t (hid_t, char *, char *, hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_by_name, "herr_t (hid_t, char *, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aexists_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aexists_by_name, "htri_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aexists", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aexists, "htri_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Arename", (void (**)(void))&__pyx_f_4h5py_4defs_H5Arename, "herr_t (hid_t, char *, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Arename_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Arename_by_name, "herr_t (hid_t, char *, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info, "herr_t (hid_t, H5A_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info_by_name, "herr_t (hid_t, char *, char *, H5A_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5A_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aiterate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aiterate2, "herr_t (hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5A_operator2_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_storage_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_storage_size, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSattach_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSattach_scale, "herr_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSdetach_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSdetach_scale, "herr_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSset_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSset_scale, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_num_scales", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_num_scales, "int (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSset_label", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSset_label, "herr_t (hid_t, unsigned int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_label", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_label, "Py_ssize_t (hid_t, unsigned int, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_scale_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_scale_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSis_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSis_scale, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSiterate_scales", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSiterate_scales, "herr_t (hid_t, unsigned int, int *, H5DS_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSis_attached", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSis_attached, "htri_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_2 = __Pyx_ImportModule("h5py._objects"); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_2, "pdefault", (void (**)(void))&__pyx_f_4h5py_8_objects_pdefault, "hid_t (struct __pyx_obj_4h5py_8_objects_ObjectID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_ImportModule("h5py.h5p"); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "pdefault", (void (**)(void))&__pyx_f_4h5py_3h5p_pdefault, "hid_t (struct __pyx_obj_4h5py_3h5p_PropID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_3, "propwrap", (void (**)(void))&__pyx_f_4h5py_3h5p_propwrap, "PyObject *(hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_4 = __Pyx_ImportModule("h5py.h5t"); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_4, "typewrap", (void (**)(void))&__pyx_f_4h5py_3h5t_typewrap, "struct __pyx_obj_4h5py_3h5t_TypeID *(hid_t, int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_4, "py_create", (void (**)(void))&__pyx_f_4h5py_3h5t_py_create, "struct __pyx_obj_4h5py_3h5t_TypeID *(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_5 = __Pyx_ImportModule("h5py.h5i"); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_5, "wrap_identifier", (void (**)(void))&__pyx_f_4h5py_3h5i_wrap_identifier, "struct __pyx_obj_4h5py_8_objects_ObjectID *(hid_t, int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -4264,27 +4256,33 @@ PyMODINIT_FUNC PyInit_h5f(void) - __pyx_t_6 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_6, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_6, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_6, "check_numpy_read", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_read, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_6, "check_numpy_write", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_write, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_6, "convert_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_convert_tuple, "int (PyObject *, hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_6, "convert_dims", (void (**)(void))&__pyx_f_4h5py_5utils_convert_dims, "PyObject *(hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_6, "require_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_require_tuple, "int (PyObject *, int, int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_6, "create_numpy_hsize", (void (**)(void))&__pyx_f_4h5py_5utils_create_numpy_hsize, "PyObject *(int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_6, "create_hsize_array", (void (**)(void))&__pyx_f_4h5py_5utils_create_hsize_array, "PyObject *(PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_6); __pyx_t_6 = 0; - /*--- Execution code ---*/ - - /* "h5py/h5f.pyx":24 - * from utils cimport emalloc, efree - * -- * import _objects # <<<<<<<<<<<<<< -+ * from h5py import _objects # <<<<<<<<<<<<<< - * - * # Initialization - */ -- __pyx_t_7 = __Pyx_Import(((PyObject *)__pyx_n_s___objects), 0); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_7); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s___objects)); -+ PyList_SET_ITEM(__pyx_t_7, 0, ((PyObject *)__pyx_n_s___objects)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s___objects)); -+ __pyx_t_8 = __Pyx_Import(((PyObject *)__pyx_n_s__h5py), ((PyObject *)__pyx_t_7), -1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; -+ __pyx_t_7 = PyObject_GetAttr(__pyx_t_8, __pyx_n_s___objects); -+ if (__pyx_t_7 == NULL) { -+ if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s___objects); -+ if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } - __Pyx_GOTREF(__pyx_t_7); - if (PyObject_SetAttr(__pyx_m, __pyx_n_s___objects, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":30 - * # === Public constants and data structures ==================================== -@@ -4293,10 +4291,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * ACC_EXCL = H5F_ACC_EXCL - * ACC_RDWR = H5F_ACC_RDWR - */ -- __pyx_t_7 = PyInt_FromLong(H5F_ACC_TRUNC); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ACC_TRUNC, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5F_ACC_TRUNC); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ACC_TRUNC, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":31 - * -@@ -4305,10 +4303,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * ACC_RDWR = H5F_ACC_RDWR - * ACC_RDONLY = H5F_ACC_RDONLY - */ -- __pyx_t_7 = PyInt_FromLong(H5F_ACC_EXCL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ACC_EXCL, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5F_ACC_EXCL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ACC_EXCL, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":32 - * ACC_TRUNC = H5F_ACC_TRUNC -@@ -4317,10 +4315,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * ACC_RDONLY = H5F_ACC_RDONLY - * - */ -- __pyx_t_7 = PyInt_FromLong(H5F_ACC_RDWR); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ACC_RDWR, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5F_ACC_RDWR); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ACC_RDWR, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":33 - * ACC_EXCL = H5F_ACC_EXCL -@@ -4329,10 +4327,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * - * SCOPE_LOCAL = H5F_SCOPE_LOCAL - */ -- __pyx_t_7 = PyInt_FromLong(H5F_ACC_RDONLY); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ACC_RDONLY, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5F_ACC_RDONLY); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ACC_RDONLY, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":35 - * ACC_RDONLY = H5F_ACC_RDONLY -@@ -4341,10 +4339,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * SCOPE_GLOBAL = H5F_SCOPE_GLOBAL - * - */ -- __pyx_t_7 = PyInt_FromLong(H5F_SCOPE_LOCAL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SCOPE_LOCAL, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5F_SCOPE_LOCAL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SCOPE_LOCAL, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":36 - * -@@ -4353,10 +4351,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * - * CLOSE_WEAK = H5F_CLOSE_WEAK - */ -- __pyx_t_7 = PyInt_FromLong(H5F_SCOPE_GLOBAL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SCOPE_GLOBAL, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5F_SCOPE_GLOBAL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SCOPE_GLOBAL, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":38 - * SCOPE_GLOBAL = H5F_SCOPE_GLOBAL -@@ -4365,10 +4363,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * CLOSE_SEMI = H5F_CLOSE_SEMI - * CLOSE_STRONG = H5F_CLOSE_STRONG - */ -- __pyx_t_7 = PyInt_FromLong(H5F_CLOSE_WEAK); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CLOSE_WEAK, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5F_CLOSE_WEAK); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CLOSE_WEAK, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":39 - * -@@ -4377,10 +4375,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * CLOSE_STRONG = H5F_CLOSE_STRONG - * CLOSE_DEFAULT = H5F_CLOSE_DEFAULT - */ -- __pyx_t_7 = PyInt_FromLong(H5F_CLOSE_SEMI); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CLOSE_SEMI, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5F_CLOSE_SEMI); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CLOSE_SEMI, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":40 - * CLOSE_WEAK = H5F_CLOSE_WEAK -@@ -4389,10 +4387,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * CLOSE_DEFAULT = H5F_CLOSE_DEFAULT - * - */ -- __pyx_t_7 = PyInt_FromLong(H5F_CLOSE_STRONG); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CLOSE_STRONG, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5F_CLOSE_STRONG); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CLOSE_STRONG, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":41 - * CLOSE_SEMI = H5F_CLOSE_SEMI -@@ -4401,10 +4399,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * - * OBJ_FILE = H5F_OBJ_FILE - */ -- __pyx_t_7 = PyInt_FromLong(H5F_CLOSE_DEFAULT); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CLOSE_DEFAULT, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5F_CLOSE_DEFAULT); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CLOSE_DEFAULT, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":43 - * CLOSE_DEFAULT = H5F_CLOSE_DEFAULT -@@ -4413,10 +4411,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * OBJ_DATASET = H5F_OBJ_DATASET - * OBJ_GROUP = H5F_OBJ_GROUP - */ -- __pyx_t_7 = PyInt_FromLong(H5F_OBJ_FILE); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJ_FILE, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5F_OBJ_FILE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJ_FILE, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":44 - * -@@ -4425,10 +4423,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * OBJ_GROUP = H5F_OBJ_GROUP - * OBJ_DATATYPE = H5F_OBJ_DATATYPE - */ -- __pyx_t_7 = PyInt_FromLong(H5F_OBJ_DATASET); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJ_DATASET, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5F_OBJ_DATASET); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJ_DATASET, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":45 - * OBJ_FILE = H5F_OBJ_FILE -@@ -4437,10 +4435,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * OBJ_DATATYPE = H5F_OBJ_DATATYPE - * OBJ_ATTR = H5F_OBJ_ATTR - */ -- __pyx_t_7 = PyInt_FromLong(H5F_OBJ_GROUP); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJ_GROUP, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5F_OBJ_GROUP); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJ_GROUP, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":46 - * OBJ_DATASET = H5F_OBJ_DATASET -@@ -4449,10 +4447,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * OBJ_ATTR = H5F_OBJ_ATTR - * OBJ_ALL = H5F_OBJ_ALL - */ -- __pyx_t_7 = PyInt_FromLong(H5F_OBJ_DATATYPE); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJ_DATATYPE, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5F_OBJ_DATATYPE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJ_DATATYPE, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":47 - * OBJ_GROUP = H5F_OBJ_GROUP -@@ -4461,10 +4459,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * OBJ_ALL = H5F_OBJ_ALL - * OBJ_LOCAL = H5F_OBJ_LOCAL - */ -- __pyx_t_7 = PyInt_FromLong(H5F_OBJ_ATTR); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJ_ATTR, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5F_OBJ_ATTR); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJ_ATTR, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":48 - * OBJ_DATATYPE = H5F_OBJ_DATATYPE -@@ -4473,10 +4471,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * OBJ_LOCAL = H5F_OBJ_LOCAL - * - */ -- __pyx_t_7 = PyInt_FromLong(H5F_OBJ_ALL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJ_ALL, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5F_OBJ_ALL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJ_ALL, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":49 - * OBJ_ATTR = H5F_OBJ_ATTR -@@ -4485,10 +4483,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * - * LIBVER_EARLIEST = H5F_LIBVER_EARLIEST - */ -- __pyx_t_7 = PyInt_FromLong(H5F_OBJ_LOCAL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJ_LOCAL, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5F_OBJ_LOCAL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJ_LOCAL, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":51 - * OBJ_LOCAL = H5F_OBJ_LOCAL -@@ -4497,10 +4495,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * LIBVER_LATEST = H5F_LIBVER_LATEST - * - */ -- __pyx_t_7 = PyInt_FromLong(H5F_LIBVER_EARLIEST); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LIBVER_EARLIEST, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5F_LIBVER_EARLIEST); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LIBVER_EARLIEST, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":52 - * -@@ -4509,10 +4507,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * - * # === File operations ========================================================= - */ -- __pyx_t_7 = PyInt_FromLong(H5F_LIBVER_LATEST); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LIBVER_LATEST, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyInt_FromLong(H5F_LIBVER_LATEST); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LIBVER_LATEST, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":57 - * -@@ -4522,10 +4520,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * - */ - __pyx_k_1 = H5F_ACC_RDWR; -- __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_open, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__open, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_1open, NULL, __pyx_n_s_17); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__open, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":73 - * -@@ -4535,10 +4533,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * """(STRING name, INT flags=ACC_TRUNC, PropFCID fcpl=None, - */ - __pyx_k_2 = H5F_ACC_TRUNC; -- __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_1create, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__create, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_3create, NULL, __pyx_n_s_17); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__create, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":92 - * -@@ -4548,10 +4546,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * - */ - __pyx_k_3 = H5F_SCOPE_LOCAL; -- __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_2flush, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__flush, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_5flush, NULL, __pyx_n_s_17); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__flush, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":108 - * -@@ -4560,10 +4558,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * """(STRING name) => BOOL - * - */ -- __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_3is_hdf5, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__is_hdf5, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_7is_hdf5, NULL, __pyx_n_s_17); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__is_hdf5, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":117 - * -@@ -4572,10 +4570,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * """(ObjectID loc, STRING name, FileID fid) - * - */ -- __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_4mount, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__mount, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_9mount, NULL, __pyx_n_s_17); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__mount, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":126 - * -@@ -4584,10 +4582,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * """(ObjectID loc, STRING name) - * - */ -- __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_5unmount, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__unmount, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_11unmount, NULL, __pyx_n_s_17); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__unmount, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":134 - * -@@ -4596,10 +4594,10 @@ PyMODINIT_FUNC PyInit_h5f(void) - * """(ObjectID obj) => STRING - * - */ -- __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_6get_name, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_name, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_13get_name, NULL, __pyx_n_s_17); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_name, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":154 - * -@@ -4608,16 +4606,16 @@ PyMODINIT_FUNC PyInit_h5f(void) - * """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => INT - * - */ -- __pyx_t_7 = __Pyx_GetName(__pyx_m, __pyx_n_s__OBJ_ALL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- __pyx_k_4 = __pyx_t_7; -- __Pyx_GIVEREF(__pyx_t_7); -- __pyx_t_7 = 0; -+ __pyx_t_8 = __Pyx_GetName(__pyx_m, __pyx_n_s__OBJ_ALL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ __pyx_k_4 = __pyx_t_8; -+ __Pyx_GIVEREF(__pyx_t_8); -+ __pyx_t_8 = 0; - __pyx_k_5 = H5F_OBJ_ALL; -- __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_7get_obj_count, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_obj_count, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_15get_obj_count, NULL, __pyx_n_s_17); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_obj_count, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":182 - * -@@ -4626,26 +4624,26 @@ PyMODINIT_FUNC PyInit_h5f(void) - * """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => LIST - * - */ -- __pyx_t_7 = __Pyx_GetName(__pyx_m, __pyx_n_s__OBJ_ALL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- __pyx_k_8 = __pyx_t_7; -- __Pyx_GIVEREF(__pyx_t_7); -- __pyx_t_7 = 0; -+ __pyx_t_8 = __Pyx_GetName(__pyx_m, __pyx_n_s__OBJ_ALL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ __pyx_k_8 = __pyx_t_8; -+ __Pyx_GIVEREF(__pyx_t_8); -+ __pyx_t_8 = 0; - __pyx_k_9 = H5F_OBJ_ALL; -- __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_8get_obj_ids, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_obj_ids, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_17get_obj_ids, NULL, __pyx_n_s_17); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_obj_ids, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "h5py/h5f.pyx":1 - * #+ # <<<<<<<<<<<<<< - * # - * # This file is part of h5py, a low-level Python interface to the HDF5 library. - */ -- __pyx_t_7 = PyDict_New(); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_7)); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_7)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; -+ __pyx_t_8 = PyDict_New(); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_8)); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_8)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -@@ -4655,8 +4653,9 @@ PyMODINIT_FUNC PyInit_h5f(void) - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); -+ __Pyx_XDECREF(__pyx_t_8); - if (__pyx_m) { -- __Pyx_AddTraceback("init h5py.h5f"); -+ __Pyx_AddTraceback("init h5py.h5f", __pyx_clineno, __pyx_lineno, __pyx_filename); - Py_DECREF(__pyx_m); __pyx_m = 0; - } else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_ImportError, "init h5py.h5f"); -@@ -4671,12 +4670,34 @@ PyMODINIT_FUNC PyInit_h5f(void) - } - - /* Runtime support code */ -+#if CYTHON_REFNANNY -+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { -+ PyObject *m = NULL, *p = NULL; -+ void *r = NULL; -+ m = PyImport_ImportModule((char *)modname); -+ if (!m) goto end; -+ p = PyObject_GetAttrString(m, (char *)"RefNannyAPI"); -+ if (!p) goto end; -+ r = PyLong_AsVoidPtr(p); -+end: -+ Py_XDECREF(p); -+ Py_XDECREF(m); -+ return (__Pyx_RefNannyAPIStruct *)r; -+} -+#endif /* CYTHON_REFNANNY */ - - static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) { - PyObject *result; - result = PyObject_GetAttr(dict, name); -- if (!result) -- PyErr_SetObject(PyExc_NameError, name); -+ if (!result) { -+ if (dict != __pyx_b) { -+ PyErr_Clear(); -+ result = PyObject_GetAttr(__pyx_b, name); -+ } -+ if (!result) { -+ PyErr_SetObject(PyExc_NameError, name); -+ } -+ } - return result; - } - -@@ -4689,7 +4710,7 @@ static void __Pyx_RaiseDoubleKeywordsErr - "%s() got multiple values for keyword argument '%U'", func_name, kw_name); - #else - "%s() got multiple values for keyword argument '%s'", func_name, -- PyString_AS_STRING(kw_name)); -+ PyString_AsString(kw_name)); - #endif - } - -@@ -4705,55 +4726,77 @@ static int __Pyx_ParseOptionalKeywords( - Py_ssize_t pos = 0; - PyObject*** name; - PyObject*** first_kw_arg = argnames + num_pos_args; -- - while (PyDict_Next(kwds, &pos, &key, &value)) { - name = first_kw_arg; - while (*name && (**name != key)) name++; - if (*name) { - values[name-argnames] = value; -- } else { -- #if PY_MAJOR_VERSION < 3 -- if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key))) { -- #else -- if (unlikely(!PyUnicode_CheckExact(key)) && unlikely(!PyUnicode_Check(key))) { -- #endif -- goto invalid_keyword_type; -- } else { -- for (name = first_kw_arg; *name; name++) { -- #if PY_MAJOR_VERSION >= 3 -- if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) && -- PyUnicode_Compare(**name, key) == 0) break; -- #else -- if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) && -- _PyString_Eq(**name, key)) break; -- #endif -- } -- if (*name) { -+ continue; -+ } -+ name = first_kw_arg; -+ #if PY_MAJOR_VERSION < 3 -+ if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) { -+ while (*name) { -+ if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) -+ && _PyString_Eq(**name, key)) { - values[name-argnames] = value; -- } else { -- /* unexpected keyword found */ -- for (name=argnames; name != first_kw_arg; name++) { -- if (**name == key) goto arg_passed_twice; -- #if PY_MAJOR_VERSION >= 3 -- if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) && -- PyUnicode_Compare(**name, key) == 0) goto arg_passed_twice; -- #else -- if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) && -- _PyString_Eq(**name, key)) goto arg_passed_twice; -- #endif -- } -- if (kwds2) { -- if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; -- } else { -- goto invalid_keyword; -+ break; -+ } -+ name++; -+ } -+ if (*name) continue; -+ else { -+ PyObject*** argname = argnames; -+ while (argname != first_kw_arg) { -+ if ((**argname == key) || ( -+ (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) -+ && _PyString_Eq(**argname, key))) { -+ goto arg_passed_twice; - } -+ argname++; -+ } -+ } -+ } else -+ #endif -+ if (likely(PyUnicode_Check(key))) { -+ while (*name) { -+ int cmp = (**name == key) ? 0 : -+ #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 -+ (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : -+ #endif -+ PyUnicode_Compare(**name, key); -+ if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; -+ if (cmp == 0) { -+ values[name-argnames] = value; -+ break; - } -+ name++; - } -+ if (*name) continue; -+ else { -+ PyObject*** argname = argnames; -+ while (argname != first_kw_arg) { -+ int cmp = (**argname == key) ? 0 : -+ #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 -+ (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : -+ #endif -+ PyUnicode_Compare(**argname, key); -+ if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; -+ if (cmp == 0) goto arg_passed_twice; -+ argname++; -+ } -+ } -+ } else -+ goto invalid_keyword_type; -+ if (kwds2) { -+ if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; -+ } else { -+ goto invalid_keyword; - } - } - return 0; - arg_passed_twice: -- __Pyx_RaiseDoubleKeywordsError(function_name, **name); -+ __Pyx_RaiseDoubleKeywordsError(function_name, key); - goto bad; - invalid_keyword_type: - PyErr_Format(PyExc_TypeError, -@@ -4780,8 +4823,7 @@ static void __Pyx_RaiseArgtupleInvalid( - Py_ssize_t num_found) - { - Py_ssize_t num_expected; -- const char *number, *more_or_less; -- -+ const char *more_or_less; - if (num_found < num_min) { - num_expected = num_min; - more_or_less = "at least"; -@@ -4792,14 +4834,10 @@ static void __Pyx_RaiseArgtupleInvalid( - if (exact) { - more_or_less = "exactly"; - } -- number = (num_expected == 1) ? "" : "s"; - PyErr_Format(PyExc_TypeError, -- #if PY_VERSION_HEX < 0x02050000 -- "%s() takes %s %d positional argument%s (%d given)", -- #else -- "%s() takes %s %zd positional argument%s (%zd given)", -- #endif -- func_name, more_or_less, num_expected, number, num_found); -+ "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)", -+ func_name, more_or_less, num_expected, -+ (num_expected == 1) ? "" : "s", num_found); - } - - static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, -@@ -4823,9 +4861,9 @@ static int __Pyx_ArgTypeTest(PyObject *o - } - - static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); -- - tmp_type = tstate->curexc_type; - tmp_value = tstate->curexc_value; - tmp_tb = tstate->curexc_traceback; -@@ -4835,54 +4873,60 @@ static CYTHON_INLINE void __Pyx_ErrResto - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -+#else -+ PyErr_Restore(type, value, tb); -+#endif - } -- - static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyThreadState *tstate = PyThreadState_GET(); - *type = tstate->curexc_type; - *value = tstate->curexc_value; - *tb = tstate->curexc_traceback; -- - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -+#else -+ PyErr_Fetch(type, value, tb); -+#endif - } - -- - #if PY_MAJOR_VERSION < 3 --static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { -+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, -+ CYTHON_UNUSED PyObject *cause) { - Py_XINCREF(type); -- Py_XINCREF(value); -- Py_XINCREF(tb); -- /* First, check the traceback argument, replacing None with NULL. */ -- if (tb == Py_None) { -- Py_DECREF(tb); -- tb = 0; -- } -- else if (tb != NULL && !PyTraceBack_Check(tb)) { -- PyErr_SetString(PyExc_TypeError, -- "raise: arg 3 must be a traceback or None"); -- goto raise_error; -- } -- /* Next, replace a missing value with None */ -- if (value == NULL) { -- value = Py_None; -+ if (!value || value == Py_None) -+ value = NULL; -+ else - Py_INCREF(value); -+ if (!tb || tb == Py_None) -+ tb = NULL; -+ else { -+ Py_INCREF(tb); -+ if (!PyTraceBack_Check(tb)) { -+ PyErr_SetString(PyExc_TypeError, -+ "raise: arg 3 must be a traceback or None"); -+ goto raise_error; -+ } - } - #if PY_VERSION_HEX < 0x02050000 -- if (!PyClass_Check(type)) -+ if (PyClass_Check(type)) { - #else -- if (!PyType_Check(type)) -+ if (PyType_Check(type)) { - #endif -- { -- /* Raising an instance. The value should be a dummy. */ -- if (value != Py_None) { -+#if CYTHON_COMPILING_IN_PYPY -+ if (!value) { -+ Py_INCREF(Py_None); -+ value = Py_None; -+ } -+#endif -+ PyErr_NormalizeException(&type, &value, &tb); -+ } else { -+ if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto raise_error; - } -- /* Normalize to raise , */ -- Py_DECREF(value); - value = type; - #if PY_VERSION_HEX < 0x02050000 - if (PyInstance_Check(type)) { -@@ -4905,7 +4949,6 @@ static void __Pyx_Raise(PyObject *type, - } - #endif - } -- - __Pyx_ErrRestore(type, value, tb); - return; - raise_error: -@@ -4914,10 +4957,9 @@ raise_error: - Py_XDECREF(tb); - return; - } -- - #else /* Python 3+ */ -- --static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { -+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { -+ PyObject* owned_instance = NULL; - if (tb == Py_None) { - tb = 0; - } else if (tb && !PyTraceBack_Check(tb)) { -@@ -4927,7 +4969,6 @@ static void __Pyx_Raise(PyObject *type, - } - if (value == Py_None) - value = 0; -- - if (PyExceptionInstance_Check(type)) { - if (value) { - PyErr_SetString(PyExc_TypeError, -@@ -4936,14 +4977,55 @@ static void __Pyx_Raise(PyObject *type, - } - value = type; - type = (PyObject*) Py_TYPE(value); -- } else if (!PyExceptionClass_Check(type)) { -+ } else if (PyExceptionClass_Check(type)) { -+ PyObject *args; -+ if (!value) -+ args = PyTuple_New(0); -+ else if (PyTuple_Check(value)) { -+ Py_INCREF(value); -+ args = value; -+ } -+ else -+ args = PyTuple_Pack(1, value); -+ if (!args) -+ goto bad; -+ owned_instance = PyEval_CallObject(type, args); -+ Py_DECREF(args); -+ if (!owned_instance) -+ goto bad; -+ value = owned_instance; -+ if (!PyExceptionInstance_Check(value)) { -+ PyErr_Format(PyExc_TypeError, -+ "calling %R should have returned an instance of " -+ "BaseException, not %R", -+ type, Py_TYPE(value)); -+ goto bad; -+ } -+ } else { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto bad; - } -- -+ if (cause && cause != Py_None) { -+ PyObject *fixed_cause; -+ if (PyExceptionClass_Check(cause)) { -+ fixed_cause = PyObject_CallObject(cause, NULL); -+ if (fixed_cause == NULL) -+ goto bad; -+ } -+ else if (PyExceptionInstance_Check(cause)) { -+ fixed_cause = cause; -+ Py_INCREF(fixed_cause); -+ } -+ else { -+ PyErr_SetString(PyExc_TypeError, -+ "exception causes must derive from " -+ "BaseException"); -+ goto bad; -+ } -+ PyException_SetCause(value, fixed_cause); -+ } - PyErr_SetObject(type, value); -- - if (tb) { - PyThreadState *tstate = PyThreadState_GET(); - PyObject* tmp_tb = tstate->curexc_traceback; -@@ -4953,14 +5035,15 @@ static void __Pyx_Raise(PyObject *type, - Py_XDECREF(tmp_tb); - } - } -- - bad: -+ Py_XDECREF(owned_instance); - return; - } - #endif - - static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) { - PyObject *local_type, *local_value, *local_tb; -+#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); - local_type = tstate->curexc_type; -@@ -4969,19 +5052,27 @@ static int __Pyx_GetException(PyObject * - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -+#else -+ PyErr_Fetch(&local_type, &local_value, &local_tb); -+#endif - PyErr_NormalizeException(&local_type, &local_value, &local_tb); -+#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(tstate->curexc_type)) -+#else -+ if (unlikely(PyErr_Occurred())) -+#endif - goto bad; - #if PY_MAJOR_VERSION >= 3 - if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) - goto bad; - #endif -- *type = local_type; -- *value = local_value; -- *tb = local_tb; - Py_INCREF(local_type); - Py_INCREF(local_value); - Py_INCREF(local_tb); -+ *type = local_type; -+ *value = local_value; -+ *tb = local_tb; -+#if CYTHON_COMPILING_IN_CPYTHON - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; -@@ -4989,10 +5080,13 @@ static int __Pyx_GetException(PyObject * - tstate->exc_value = local_value; - tstate->exc_traceback = local_tb; - /* Make sure tstate is in a consistent state when we XDECREF -- these objects (XDECREF may run arbitrary code). */ -+ these objects (DECREF may run arbitrary code). */ - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -+#else -+ PyErr_SetExcInfo(local_type, local_value, local_tb); -+#endif - return 0; - bad: - *type = 0; -@@ -5004,8 +5098,33 @@ bad: - return -1; - } - -+static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc) { -+ PyTypeObject* type = Py_TYPE(obj); -+ while (type && type->tp_dealloc != current_tp_dealloc) -+ type = type->tp_base; -+ if (type && type->tp_base) -+ type->tp_base->tp_dealloc(obj); -+} -+ -+static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse) { -+ PyTypeObject* type = Py_TYPE(obj); -+ while (type && type->tp_traverse != current_tp_traverse) -+ type = type->tp_base; -+ if (type && type->tp_base && type->tp_base->tp_traverse) -+ return type->tp_base->tp_traverse(obj, v, a); -+ return 0; -+} -+ -+static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) { -+ PyTypeObject* type = Py_TYPE(obj); -+ while (type && type->tp_clear != current_tp_clear) -+ type = type->tp_base; -+ if (type && type->tp_base && type->tp_base->tp_clear) -+ type->tp_base->tp_clear(obj); -+} - - static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyThreadState *tstate = PyThreadState_GET(); - *type = tstate->exc_type; - *value = tstate->exc_value; -@@ -5013,9 +5132,12 @@ static CYTHON_INLINE void __Pyx_Exceptio - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); -+#else -+ PyErr_GetExcInfo(type, value, tb); -+#endif - } -- - static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); - tmp_type = tstate->exc_type; -@@ -5027,9 +5149,12 @@ static void __Pyx_ExceptionReset(PyObjec - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -+#else -+ PyErr_SetExcInfo(type, value, tb); -+#endif - } - --static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) { -+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level) { - PyObject *py_import = 0; - PyObject *empty_list = 0; - PyObject *module = 0; -@@ -5053,8 +5178,44 @@ static PyObject *__Pyx_Import(PyObject * - empty_dict = PyDict_New(); - if (!empty_dict) - goto bad; -+ #if PY_VERSION_HEX >= 0x02050000 -+ { -+ #if PY_MAJOR_VERSION >= 3 -+ if (level == -1) { -+ if (strchr(__Pyx_MODULE_NAME, '.')) { -+ /* try package relative import first */ -+ PyObject *py_level = PyInt_FromLong(1); -+ if (!py_level) -+ goto bad; -+ module = PyObject_CallFunctionObjArgs(py_import, -+ name, global_dict, empty_dict, list, py_level, NULL); -+ Py_DECREF(py_level); -+ if (!module) { -+ if (!PyErr_ExceptionMatches(PyExc_ImportError)) -+ goto bad; -+ PyErr_Clear(); -+ } -+ } -+ level = 0; /* try absolute import on failure */ -+ } -+ #endif -+ if (!module) { -+ PyObject *py_level = PyInt_FromLong(level); -+ if (!py_level) -+ goto bad; -+ module = PyObject_CallFunctionObjArgs(py_import, -+ name, global_dict, empty_dict, list, py_level, NULL); -+ Py_DECREF(py_level); -+ } -+ } -+ #else -+ if (level>0) { -+ PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4."); -+ goto bad; -+ } - module = PyObject_CallFunctionObjArgs(py_import, - name, global_dict, empty_dict, list, NULL); -+ #endif - bad: - Py_XDECREF(empty_list); - Py_XDECREF(py_import); -@@ -5062,6 +5223,15 @@ bad: - return module; - } - -+static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name) { -+#if PY_MAJOR_VERSION < 3 -+ PyErr_Format(PyExc_ImportError, "cannot import name %.230s", -+ PyString_AsString(name)); -+#else -+ PyErr_Format(PyExc_ImportError, "cannot import name %S", name); -+#endif -+} -+ - static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) { - const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0; - const int is_unsigned = const_zero < neg_one; -@@ -5082,7 +5252,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyI - } else { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; -- return _PyLong_FromByteArray(bytes, sizeof(hid_t), -+ return _PyLong_FromByteArray(bytes, sizeof(hid_t), - little, !is_unsigned); - } - } -@@ -5116,6 +5286,10 @@ static CYTHON_INLINE hid_t __Pyx_PyInt_f - else - return (hid_t)__Pyx_PyInt_AsSignedLongLong(x); - } else { -+ #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) -+ PyErr_SetString(PyExc_RuntimeError, -+ "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -+ #else - hid_t val; - PyObject *v = __Pyx_PyNumber_Int(x); - #if PY_VERSION_HEX < 0x03000000 -@@ -5135,6 +5309,7 @@ static CYTHON_INLINE hid_t __Pyx_PyInt_f - if (likely(!ret)) - return val; - } -+ #endif - return (hid_t)-1; - } - } -@@ -5159,7 +5334,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyI - } else { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; -- return _PyLong_FromByteArray(bytes, sizeof(hsize_t), -+ return _PyLong_FromByteArray(bytes, sizeof(hsize_t), - little, !is_unsigned); - } - } -@@ -5184,7 +5359,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyI - } else { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; -- return _PyLong_FromByteArray(bytes, sizeof(hssize_t), -+ return _PyLong_FromByteArray(bytes, sizeof(hssize_t), - little, !is_unsigned); - } - } -@@ -5400,9 +5575,9 @@ static CYTHON_INLINE unsigned long __Pyx - "can't convert negative value to unsigned long"); - return (unsigned long)-1; - } -- return PyLong_AsUnsignedLong(x); -+ return (unsigned long)PyLong_AsUnsignedLong(x); - } else { -- return PyLong_AsLong(x); -+ return (unsigned long)PyLong_AsLong(x); - } - } else { - unsigned long val; -@@ -5435,9 +5610,9 @@ static CYTHON_INLINE unsigned PY_LONG_LO - "can't convert negative value to unsigned PY_LONG_LONG"); - return (unsigned PY_LONG_LONG)-1; - } -- return PyLong_AsUnsignedLongLong(x); -+ return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); - } else { -- return PyLong_AsLongLong(x); -+ return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x); - } - } else { - unsigned PY_LONG_LONG val; -@@ -5470,9 +5645,9 @@ static CYTHON_INLINE long __Pyx_PyInt_As - "can't convert negative value to long"); - return (long)-1; - } -- return PyLong_AsUnsignedLong(x); -+ return (long)PyLong_AsUnsignedLong(x); - } else { -- return PyLong_AsLong(x); -+ return (long)PyLong_AsLong(x); - } - } else { - long val; -@@ -5505,9 +5680,9 @@ static CYTHON_INLINE PY_LONG_LONG __Pyx_ - "can't convert negative value to PY_LONG_LONG"); - return (PY_LONG_LONG)-1; - } -- return PyLong_AsUnsignedLongLong(x); -+ return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); - } else { -- return PyLong_AsLongLong(x); -+ return (PY_LONG_LONG)PyLong_AsLongLong(x); - } - } else { - PY_LONG_LONG val; -@@ -5540,9 +5715,9 @@ static CYTHON_INLINE signed long __Pyx_P - "can't convert negative value to signed long"); - return (signed long)-1; - } -- return PyLong_AsUnsignedLong(x); -+ return (signed long)PyLong_AsUnsignedLong(x); - } else { -- return PyLong_AsLong(x); -+ return (signed long)PyLong_AsLong(x); - } - } else { - signed long val; -@@ -5575,9 +5750,9 @@ static CYTHON_INLINE signed PY_LONG_LONG - "can't convert negative value to signed PY_LONG_LONG"); - return (signed PY_LONG_LONG)-1; - } -- return PyLong_AsUnsignedLongLong(x); -+ return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); - } else { -- return PyLong_AsLongLong(x); -+ return (signed PY_LONG_LONG)PyLong_AsLongLong(x); - } - } else { - signed PY_LONG_LONG val; -@@ -5589,24 +5764,55 @@ static CYTHON_INLINE signed PY_LONG_LONG - } - } - -+static int __Pyx_check_binary_version(void) { -+ char ctversion[4], rtversion[4]; -+ PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION); -+ PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion()); -+ if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) { -+ char message[200]; -+ PyOS_snprintf(message, sizeof(message), -+ "compiletime version %s of module '%.100s' " -+ "does not match runtime version %s", -+ ctversion, __Pyx_MODULE_NAME, rtversion); -+ #if PY_VERSION_HEX < 0x02050000 -+ return PyErr_Warn(NULL, message); -+ #else -+ return PyErr_WarnEx(NULL, message, 1); -+ #endif -+ } -+ return 0; -+} -+ -+#ifndef __PYX_HAVE_RT_ImportModule -+#define __PYX_HAVE_RT_ImportModule -+static PyObject *__Pyx_ImportModule(const char *name) { -+ PyObject *py_name = 0; -+ PyObject *py_module = 0; -+ py_name = __Pyx_PyIdentifier_FromString(name); -+ if (!py_name) -+ goto bad; -+ py_module = PyImport_Import(py_name); -+ Py_DECREF(py_name); -+ return py_module; -+bad: -+ Py_XDECREF(py_name); -+ return 0; -+} -+#endif -+ - #ifndef __PYX_HAVE_RT_ImportType - #define __PYX_HAVE_RT_ImportType - static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, -- long size, int strict) -+ size_t size, int strict) - { - PyObject *py_module = 0; - PyObject *result = 0; - PyObject *py_name = 0; - char warning[200]; -- - py_module = __Pyx_ImportModule(module_name); - if (!py_module) - goto bad; -- #if PY_MAJOR_VERSION < 3 -- py_name = PyString_FromString(class_name); -- #else -- py_name = PyUnicode_FromString(class_name); -- #endif -+ py_name = __Pyx_PyIdentifier_FromString(class_name); - if (!py_name) - goto bad; - result = PyObject_GetAttr(py_module, py_name); -@@ -5622,17 +5828,17 @@ static PyTypeObject *__Pyx_ImportType(co - module_name, class_name); - goto bad; - } -- if (!strict && ((PyTypeObject *)result)->tp_basicsize > size) { -+ if (!strict && (size_t)((PyTypeObject *)result)->tp_basicsize > size) { - PyOS_snprintf(warning, sizeof(warning), - "%s.%s size changed, may indicate binary incompatibility", - module_name, class_name); - #if PY_VERSION_HEX < 0x02050000 -- PyErr_Warn(NULL, warning); -+ if (PyErr_Warn(NULL, warning) < 0) goto bad; - #else -- PyErr_WarnEx(NULL, warning, 0); -+ if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; - #endif - } -- else if (((PyTypeObject *)result)->tp_basicsize != size) { -+ else if ((size_t)((PyTypeObject *)result)->tp_basicsize != size) { - PyErr_Format(PyExc_ValueError, - "%s.%s has the wrong size, try recompiling", - module_name, class_name); -@@ -5642,29 +5848,7 @@ static PyTypeObject *__Pyx_ImportType(co - bad: - Py_XDECREF(py_module); - Py_XDECREF(result); -- return 0; --} --#endif -- --#ifndef __PYX_HAVE_RT_ImportModule --#define __PYX_HAVE_RT_ImportModule --static PyObject *__Pyx_ImportModule(const char *name) { -- PyObject *py_name = 0; -- PyObject *py_module = 0; -- -- #if PY_MAJOR_VERSION < 3 -- py_name = PyString_FromString(name); -- #else -- py_name = PyUnicode_FromString(name); -- #endif -- if (!py_name) -- goto bad; -- py_module = PyImport_Import(py_name); -- Py_DECREF(py_name); -- return py_module; --bad: -- Py_XDECREF(py_name); -- return 0; -+ return NULL; - } - #endif - -@@ -5696,7 +5880,6 @@ static int __Pyx_ImportFunction(PyObject - void (*fp)(void); - void *p; - } tmp; -- - d = PyObject_GetAttrString(module, (char *)"__pyx_capi__"); - if (!d) - goto bad; -@@ -5707,7 +5890,7 @@ static int __Pyx_ImportFunction(PyObject - PyModule_GetName(module), funcname); - goto bad; - } --#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0) -+#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0) - if (!PyCapsule_IsValid(cobj, sig)) { - PyErr_Format(PyExc_TypeError, - "C function %s.%s has wrong signature (expected %s, got %s)", -@@ -5741,28 +5924,105 @@ bad: - } - #endif - -+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { -+ int start = 0, mid = 0, end = count - 1; -+ if (end >= 0 && code_line > entries[end].code_line) { -+ return count; -+ } -+ while (start < end) { -+ mid = (start + end) / 2; -+ if (code_line < entries[mid].code_line) { -+ end = mid; -+ } else if (code_line > entries[mid].code_line) { -+ start = mid + 1; -+ } else { -+ return mid; -+ } -+ } -+ if (code_line <= entries[mid].code_line) { -+ return mid; -+ } else { -+ return mid + 1; -+ } -+} -+static PyCodeObject *__pyx_find_code_object(int code_line) { -+ PyCodeObject* code_object; -+ int pos; -+ if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { -+ return NULL; -+ } -+ pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); -+ if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { -+ return NULL; -+ } -+ code_object = __pyx_code_cache.entries[pos].code_object; -+ Py_INCREF(code_object); -+ return code_object; -+} -+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { -+ int pos, i; -+ __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; -+ if (unlikely(!code_line)) { -+ return; -+ } -+ if (unlikely(!entries)) { -+ entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); -+ if (likely(entries)) { -+ __pyx_code_cache.entries = entries; -+ __pyx_code_cache.max_count = 64; -+ __pyx_code_cache.count = 1; -+ entries[0].code_line = code_line; -+ entries[0].code_object = code_object; -+ Py_INCREF(code_object); -+ } -+ return; -+ } -+ pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); -+ if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { -+ PyCodeObject* tmp = entries[pos].code_object; -+ entries[pos].code_object = code_object; -+ Py_DECREF(tmp); -+ return; -+ } -+ if (__pyx_code_cache.count == __pyx_code_cache.max_count) { -+ int new_max = __pyx_code_cache.max_count + 64; -+ entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( -+ __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry)); -+ if (unlikely(!entries)) { -+ return; -+ } -+ __pyx_code_cache.entries = entries; -+ __pyx_code_cache.max_count = new_max; -+ } -+ for (i=__pyx_code_cache.count; i>pos; i--) { -+ entries[i] = entries[i-1]; -+ } -+ entries[pos].code_line = code_line; -+ entries[pos].code_object = code_object; -+ __pyx_code_cache.count++; -+ Py_INCREF(code_object); -+} -+ - #include "compile.h" - #include "frameobject.h" - #include "traceback.h" -- --static void __Pyx_AddTraceback(const char *funcname) { -+static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( -+ const char *funcname, int c_line, -+ int py_line, const char *filename) { -+ PyCodeObject *py_code = 0; - PyObject *py_srcfile = 0; - PyObject *py_funcname = 0; -- PyObject *py_globals = 0; -- PyCodeObject *py_code = 0; -- PyFrameObject *py_frame = 0; -- - #if PY_MAJOR_VERSION < 3 -- py_srcfile = PyString_FromString(__pyx_filename); -+ py_srcfile = PyString_FromString(filename); - #else -- py_srcfile = PyUnicode_FromString(__pyx_filename); -+ py_srcfile = PyUnicode_FromString(filename); - #endif - if (!py_srcfile) goto bad; -- if (__pyx_clineno) { -+ if (c_line) { - #if PY_MAJOR_VERSION < 3 -- py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno); -+ py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - #else -- py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno); -+ py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - #endif - } - else { -@@ -5773,28 +6033,45 @@ static void __Pyx_AddTraceback(const cha - #endif - } - if (!py_funcname) goto bad; -- py_globals = PyModule_GetDict(__pyx_m); -- if (!py_globals) goto bad; -- py_code = PyCode_New( -+ py_code = __Pyx_PyCode_New( - 0, /*int argcount,*/ -- #if PY_MAJOR_VERSION >= 3 - 0, /*int kwonlyargcount,*/ -- #endif - 0, /*int nlocals,*/ - 0, /*int stacksize,*/ - 0, /*int flags,*/ - __pyx_empty_bytes, /*PyObject *code,*/ -- __pyx_empty_tuple, /*PyObject *consts,*/ -- __pyx_empty_tuple, /*PyObject *names,*/ -- __pyx_empty_tuple, /*PyObject *varnames,*/ -- __pyx_empty_tuple, /*PyObject *freevars,*/ -- __pyx_empty_tuple, /*PyObject *cellvars,*/ -+ __pyx_empty_tuple, /*PyObject *consts,*/ -+ __pyx_empty_tuple, /*PyObject *names,*/ -+ __pyx_empty_tuple, /*PyObject *varnames,*/ -+ __pyx_empty_tuple, /*PyObject *freevars,*/ -+ __pyx_empty_tuple, /*PyObject *cellvars,*/ - py_srcfile, /*PyObject *filename,*/ - py_funcname, /*PyObject *name,*/ -- __pyx_lineno, /*int firstlineno,*/ -+ py_line, /*int firstlineno,*/ - __pyx_empty_bytes /*PyObject *lnotab*/ - ); -- if (!py_code) goto bad; -+ Py_DECREF(py_srcfile); -+ Py_DECREF(py_funcname); -+ return py_code; -+bad: -+ Py_XDECREF(py_srcfile); -+ Py_XDECREF(py_funcname); -+ return NULL; -+} -+static void __Pyx_AddTraceback(const char *funcname, int c_line, -+ int py_line, const char *filename) { -+ PyCodeObject *py_code = 0; -+ PyObject *py_globals = 0; -+ PyFrameObject *py_frame = 0; -+ py_code = __pyx_find_code_object(c_line ? c_line : py_line); -+ if (!py_code) { -+ py_code = __Pyx_CreateCodeObjectForTraceback( -+ funcname, c_line, py_line, filename); -+ if (!py_code) goto bad; -+ __pyx_insert_code_object(c_line ? c_line : py_line, py_code); -+ } -+ py_globals = PyModule_GetDict(__pyx_m); -+ if (!py_globals) goto bad; - py_frame = PyFrame_New( - PyThreadState_GET(), /*PyThreadState *tstate,*/ - py_code, /*PyCodeObject *code,*/ -@@ -5802,11 +6079,9 @@ static void __Pyx_AddTraceback(const cha - 0 /*PyObject *locals*/ - ); - if (!py_frame) goto bad; -- py_frame->f_lineno = __pyx_lineno; -+ py_frame->f_lineno = py_line; - PyTraceBack_Here(py_frame); - bad: -- Py_XDECREF(py_srcfile); -- Py_XDECREF(py_funcname); - Py_XDECREF(py_code); - Py_XDECREF(py_frame); - } -@@ -5841,6 +6116,7 @@ static int __Pyx_InitStrings(__Pyx_Strin - return 0; - } - -+ - /* Type Conversion Functions */ - - static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { -diff -rupN h5py-2.1.0.orig/h5py/h5f.pyx h5py-2.1.0/h5py/h5f.pyx ---- h5py-2.1.0.orig/h5py/h5f.pyx 2012-09-20 03:04:52.000000000 +0200 -+++ h5py-2.1.0/h5py/h5f.pyx 2012-11-23 14:17:43.000000000 +0100 -@@ -21,7 +21,7 @@ from h5t cimport typewrap - from h5i cimport wrap_identifier - from utils cimport emalloc, efree - --import _objects -+from h5py import _objects - - # Initialization - -diff -rupN h5py-2.1.0.orig/h5py/h5g.c h5py-2.1.0/h5py/h5g.c ---- h5py-2.1.0.orig/h5py/h5g.c 2012-10-02 16:17:51.000000000 +0200 -+++ h5py-2.1.0/h5py/h5g.c 2012-11-23 14:17:42.000000000 +0100 -@@ -1,16 +1,16 @@ --/* Generated by Cython 0.14.1 on Tue Oct 2 08:17:51 2012 */ -+/* Generated by Cython 0.17.2 on Fri Nov 23 14:12:57 2012 */ - - #define PY_SSIZE_T_CLEAN - #include "Python.h" - #ifndef Py_PYTHON_H - #error Python headers needed to compile C extensions, please install development version of Python. -+#elif PY_VERSION_HEX < 0x02040000 -+ #error Cython requires Python 2.4+. - #else -- - #include /* For offsetof */ - #ifndef offsetof - #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) - #endif -- - #if !defined(WIN32) && !defined(MS_WINDOWS) - #ifndef __stdcall - #define __stdcall -@@ -22,36 +22,47 @@ - #define __fastcall - #endif - #endif -- - #ifndef DL_IMPORT - #define DL_IMPORT(t) t - #endif - #ifndef DL_EXPORT - #define DL_EXPORT(t) t - #endif -- - #ifndef PY_LONG_LONG - #define PY_LONG_LONG LONG_LONG - #endif -- --#if PY_VERSION_HEX < 0x02040000 -- #define METH_COEXIST 0 -- #define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type) -- #define PyDict_Contains(d,o) PySequence_Contains(d,o) -+#ifndef Py_HUGE_VAL -+ #define Py_HUGE_VAL HUGE_VAL -+#endif -+#ifdef PYPY_VERSION -+#define CYTHON_COMPILING_IN_PYPY 1 -+#define CYTHON_COMPILING_IN_CPYTHON 0 -+#else -+#define CYTHON_COMPILING_IN_PYPY 0 -+#define CYTHON_COMPILING_IN_CPYTHON 1 - #endif -- - #if PY_VERSION_HEX < 0x02050000 - typedef int Py_ssize_t; - #define PY_SSIZE_T_MAX INT_MAX - #define PY_SSIZE_T_MIN INT_MIN - #define PY_FORMAT_SIZE_T "" -+ #define CYTHON_FORMAT_SSIZE_T "" - #define PyInt_FromSsize_t(z) PyInt_FromLong(z) -- #define PyInt_AsSsize_t(o) PyInt_AsLong(o) -- #define PyNumber_Index(o) PyNumber_Int(o) -- #define PyIndex_Check(o) PyNumber_Check(o) -+ #define PyInt_AsSsize_t(o) __Pyx_PyInt_AsInt(o) -+ #define PyNumber_Index(o) ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \ -+ (PyErr_Format(PyExc_TypeError, \ -+ "expected index value, got %.200s", Py_TYPE(o)->tp_name), \ -+ (PyObject*)0)) -+ #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \ -+ !PyComplex_Check(o)) -+ #define PyIndex_Check __Pyx_PyIndex_Check - #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message) -+ #define __PYX_BUILD_PY_SSIZE_T "i" -+#else -+ #define __PYX_BUILD_PY_SSIZE_T "n" -+ #define CYTHON_FORMAT_SSIZE_T "z" -+ #define __Pyx_PyIndex_Check PyIndex_Check - #endif -- - #if PY_VERSION_HEX < 0x02060000 - #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt) - #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type) -@@ -59,7 +70,6 @@ - #define PyVarObject_HEAD_INIT(type, size) \ - PyObject_HEAD_INIT(type) size, - #define PyType_Modified(t) -- - typedef struct { - void *buf; - PyObject *obj; -@@ -73,7 +83,6 @@ - Py_ssize_t *suboffsets; - void *internal; - } Py_buffer; -- - #define PyBUF_SIMPLE 0 - #define PyBUF_WRITABLE 0x0001 - #define PyBUF_FORMAT 0x0004 -@@ -83,24 +92,44 @@ - #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES) - #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES) - #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES) -- -+ #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE) -+ #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE) -+ typedef int (*getbufferproc)(PyObject *, Py_buffer *, int); -+ typedef void (*releasebufferproc)(PyObject *, Py_buffer *); - #endif -- - #if PY_MAJOR_VERSION < 3 - #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" -+ #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \ -+ PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) - #else - #define __Pyx_BUILTIN_MODULE_NAME "builtins" -+ #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \ -+ PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -+#endif -+#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6 -+ #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict") - #endif -- - #if PY_MAJOR_VERSION >= 3 - #define Py_TPFLAGS_CHECKTYPES 0 - #define Py_TPFLAGS_HAVE_INDEX 0 - #endif -- - #if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3) - #define Py_TPFLAGS_HAVE_NEWBUFFER 0 - #endif -- -+#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) -+ #define CYTHON_PEP393_ENABLED 1 -+ #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ? \ -+ 0 : _PyUnicode_Ready((PyObject *)(op))) -+ #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) -+ #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) -+ #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) -+#else -+ #define CYTHON_PEP393_ENABLED 0 -+ #define __Pyx_PyUnicode_READY(op) (0) -+ #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) -+ #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) -+ #define __Pyx_PyUnicode_READ(k, d, i) ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i])) -+#endif - #if PY_MAJOR_VERSION >= 3 - #define PyBaseString_Type PyUnicode_Type - #define PyStringObject PyUnicodeObject -@@ -108,7 +137,6 @@ - #define PyString_Check PyUnicode_Check - #define PyString_CheckExact PyUnicode_CheckExact - #endif -- - #if PY_VERSION_HEX < 0x02060000 - #define PyBytesObject PyStringObject - #define PyBytes_Type PyString_Type -@@ -127,7 +155,6 @@ - #define PyBytes_Concat PyString_Concat - #define PyBytes_ConcatAndDel PyString_ConcatAndDel - #endif -- - #if PY_VERSION_HEX < 0x02060000 - #define PySet_Check(obj) PyObject_TypeCheck(obj, &PySet_Type) - #define PyFrozenSet_Check(obj) PyObject_TypeCheck(obj, &PyFrozenSet_Type) -@@ -135,9 +162,7 @@ - #ifndef PySet_CheckExact - #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) - #endif -- - #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) -- - #if PY_MAJOR_VERSION >= 3 - #define PyIntObject PyLongObject - #define PyInt_Type PyLong_Type -@@ -154,20 +179,17 @@ - #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask - #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask - #endif -- - #if PY_MAJOR_VERSION >= 3 - #define PyBoolObject PyLongObject - #endif -- -- --#if PY_MAJOR_VERSION >= 3 -- #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) -- #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) -+#if PY_VERSION_HEX < 0x03020000 -+ typedef long Py_hash_t; -+ #define __Pyx_PyInt_FromHash_t PyInt_FromLong -+ #define __Pyx_PyInt_AsHash_t PyInt_AsLong - #else -- #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) -- #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -+ #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t -+ #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t - #endif -- - #if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300) - #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b) - #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value) -@@ -186,11 +208,9 @@ - (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \ - (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1))) - #endif -- - #if PY_MAJOR_VERSION >= 3 - #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func)) - #endif -- - #if PY_VERSION_HEX < 0x02050000 - #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),((char *)(n))) - #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a)) -@@ -200,7 +220,6 @@ - #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a)) - #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),(n)) - #endif -- - #if PY_VERSION_HEX < 0x02050000 - #define __Pyx_NAMESTR(n) ((char *)(n)) - #define __Pyx_DOCSTR(n) ((char *)(n)) -@@ -209,16 +228,28 @@ - #define __Pyx_DOCSTR(n) (n) - #endif - --#ifdef __cplusplus --#define __PYX_EXTERN_C extern "C" -+ -+#if PY_MAJOR_VERSION >= 3 -+ #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) -+ #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) - #else --#define __PYX_EXTERN_C extern -+ #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) -+ #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -+#endif -+ -+#ifndef __PYX_EXTERN_C -+ #ifdef __cplusplus -+ #define __PYX_EXTERN_C extern "C" -+ #else -+ #define __PYX_EXTERN_C extern -+ #endif - #endif - - #if defined(WIN32) || defined(MS_WINDOWS) - #define _USE_MATH_DEFINES - #endif - #include -+#define __PYX_HAVE__h5py__h5g - #define __PYX_HAVE_API__h5py__h5g - #include "stdlib.h" - #include "string.h" -@@ -230,6 +261,9 @@ - #include "hdf5.h" - #include "hdf5_hl.h" - #include "numpy/arrayobject.h" -+#ifdef _OPENMP -+#include -+#endif /* _OPENMP */ - - #ifdef PYREX_WITHOUT_ASSERTIONS - #define CYTHON_WITHOUT_ASSERTIONS -@@ -257,7 +291,7 @@ - # else - # define CYTHON_UNUSED - # endif --# elif defined(__ICC) || defined(__INTEL_COMPILER) -+# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) - # define CYTHON_UNUSED __attribute__ ((__unused__)) - # else - # define CYTHON_UNUSED -@@ -272,6 +306,7 @@ typedef struct {PyObject **p; char *s; c - #define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s) - #define __Pyx_PyBytes_AsUString(s) ((unsigned char*) PyBytes_AsString(s)) - -+#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None) - #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False)) - static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); - static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); -@@ -280,21 +315,25 @@ static CYTHON_INLINE Py_ssize_t __Pyx_Py - static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); - static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*); - -+#if CYTHON_COMPILING_IN_CPYTHON - #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) -- -+#else -+#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) -+#endif -+#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) - - #ifdef __GNUC__ --/* Test for GCC > 2.95 */ --#if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) --#define likely(x) __builtin_expect(!!(x), 1) --#define unlikely(x) __builtin_expect(!!(x), 0) --#else /* __GNUC__ > 2 ... */ --#define likely(x) (x) --#define unlikely(x) (x) --#endif /* __GNUC__ > 2 ... */ -+ /* Test for GCC > 2.95 */ -+ #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) -+ #define likely(x) __builtin_expect(!!(x), 1) -+ #define unlikely(x) __builtin_expect(!!(x), 0) -+ #else /* __GNUC__ > 2 ... */ -+ #define likely(x) (x) -+ #define unlikely(x) (x) -+ #endif /* __GNUC__ > 2 ... */ - #else /* __GNUC__ */ --#define likely(x) (x) --#define unlikely(x) (x) -+ #define likely(x) (x) -+ #define unlikely(x) (x) - #endif /* __GNUC__ */ - - static PyObject *__pyx_m; -@@ -313,7 +352,26 @@ static const char *__pyx_f[] = { - "h5p.pxd", - }; - --/* Type declarations */ -+/*--- Type declarations ---*/ -+struct __pyx_obj_4h5py_8_objects_ObjectID; -+struct __pyx_obj_4h5py_3h5p_PropID; -+struct __pyx_obj_4h5py_3h5g_GroupStat; -+struct __pyx_obj_4h5py_3h5p_PropClassID; -+struct __pyx_obj_4h5py_3h5g_GroupIter; -+struct __pyx_obj_4h5py_3h5p_PropInstanceID; -+struct __pyx_obj_4h5py_3h5p_PropCreateID; -+struct __pyx_obj_4h5py_3h5p_PropLCID; -+struct __pyx_obj_4h5py_3h5p_PropGCID; -+struct __pyx_obj_4h5py_3h5p_PropDXID; -+struct __pyx_obj_4h5py_3h5p_PropFAID; -+struct __pyx_obj_4h5py_3h5g_GroupID; -+struct __pyx_obj_4h5py_3h5p_PropLAID; -+struct __pyx_obj_4h5py_3h5p_PropDCID; -+struct __pyx_obj_4h5py_3h5g__GroupVisitor; -+struct __pyx_obj_4h5py_3h5p_PropFCID; -+struct __pyx_obj_4h5py_3h5p_PropCopyID; -+struct __pyx_opt_args_4h5py_5utils_check_numpy_read; -+struct __pyx_opt_args_4h5py_5utils_check_numpy_write; - - /* "utils.pxd":20 - * cdef void efree(void* ptr) -@@ -322,7 +380,6 @@ static const char *__pyx_f[] = { - * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1 - * - */ -- - struct __pyx_opt_args_4h5py_5utils_check_numpy_read { - int __pyx_n; - hid_t space_id; -@@ -335,27 +392,11 @@ struct __pyx_opt_args_4h5py_5utils_check - * - * cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1 - */ -- - struct __pyx_opt_args_4h5py_5utils_check_numpy_write { - int __pyx_n; - hid_t space_id; - }; - --/* "h5py/h5g.pyx":81 -- * -- * -- * cdef class GroupIter: # <<<<<<<<<<<<<< -- * -- * """ -- */ -- --struct __pyx_obj_4h5py_3h5g_GroupIter { -- PyObject_HEAD -- unsigned long idx; -- unsigned long nobjs; -- struct __pyx_obj_4h5py_3h5g_GroupID *grp; --}; -- - /* "_objects.pxd":3 - * from defs cimport * - * -@@ -363,7 +404,6 @@ struct __pyx_obj_4h5py_3h5g_GroupIter { - * - * cdef object __weakref__ - */ -- - struct __pyx_obj_4h5py_8_objects_ObjectID { - PyObject_HEAD - PyObject *__weakref__; -@@ -372,18 +412,6 @@ struct __pyx_obj_4h5py_8_objects_ObjectI - PyObject *_hash; - }; - --/* "h5py/h5g.pxd":17 -- * from _objects cimport ObjectID -- * -- * cdef class GroupID(ObjectID): # <<<<<<<<<<<<<< -- * -- * cdef readonly object links -- */ -- --struct __pyx_obj_4h5py_3h5g_GroupID { -- struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base; -- PyObject *links; --}; - - /* "h5p.pxd":23 - * # --- Base classes --- -@@ -392,11 +420,51 @@ struct __pyx_obj_4h5py_3h5g_GroupID { - * """ Base class for all property lists """ - * pass - */ -- - struct __pyx_obj_4h5py_3h5p_PropID { - struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base; - }; - -+ -+/* "h5py/h5g.pyx":39 -+ * LINK_SOFT = H5G_LINK_SOFT -+ * -+ * cdef class GroupStat: # <<<<<<<<<<<<<< -+ * """Represents the H5G_stat_t structure containing group member info. -+ * -+ */ -+struct __pyx_obj_4h5py_3h5g_GroupStat { -+ PyObject_HEAD -+ H5G_stat_t infostruct; -+}; -+ -+ -+/* "h5p.pxd":27 -+ * pass -+ * -+ * cdef class PropClassID(PropID): # <<<<<<<<<<<<<< -+ * """ Represents an HDF5 property list class. These can be either (locked) -+ * library-defined classes or user-created classes. -+ */ -+struct __pyx_obj_4h5py_3h5p_PropClassID { -+ struct __pyx_obj_4h5py_3h5p_PropID __pyx_base; -+}; -+ -+ -+/* "h5py/h5g.pyx":81 -+ * -+ * -+ * cdef class GroupIter: # <<<<<<<<<<<<<< -+ * -+ * """ -+ */ -+struct __pyx_obj_4h5py_3h5g_GroupIter { -+ PyObject_HEAD -+ unsigned long idx; -+ unsigned long nobjs; -+ struct __pyx_obj_4h5py_3h5g_GroupID *grp; -+}; -+ -+ - /* "h5p.pxd":33 - * pass - * -@@ -404,22 +472,10 @@ struct __pyx_obj_4h5py_3h5p_PropID { - * """ Represents an instance of a property list class (i.e. an actual list - * which can be passed on to other API functions). - */ -- - struct __pyx_obj_4h5py_3h5p_PropInstanceID { - struct __pyx_obj_4h5py_3h5p_PropID __pyx_base; - }; - --/* "h5p.pxd":62 -- * # --- Object access --- -- * -- * cdef class PropFAID(PropInstanceID): # <<<<<<<<<<<<<< -- * """ File access property list """ -- * pass -- */ -- --struct __pyx_obj_4h5py_3h5p_PropFAID { -- struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; --}; - - /* "h5p.pxd":39 - * pass -@@ -428,11 +484,23 @@ struct __pyx_obj_4h5py_3h5p_PropFAID { - * """ Base class for all object creation lists. - * - */ -- - struct __pyx_obj_4h5py_3h5p_PropCreateID { - struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; - }; - -+ -+/* "h5p.pxd":73 -+ * # --- New in 1.8 --- -+ * -+ * cdef class PropLCID(PropCreateID): # <<<<<<<<<<<<<< -+ * """ Link creation property list """ -+ * pass -+ */ -+struct __pyx_obj_4h5py_3h5p_PropLCID { -+ struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; -+}; -+ -+ - /* "h5p.pxd":81 - * cdef char* _buf - * -@@ -440,11 +508,11 @@ struct __pyx_obj_4h5py_3h5p_PropCreateID - * """ Group creation property list """ - * pass - */ -- - struct __pyx_obj_4h5py_3h5p_PropGCID { - struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; - }; - -+ - /* "h5p.pxd":66 - * pass - * -@@ -452,23 +520,36 @@ struct __pyx_obj_4h5py_3h5p_PropGCID { - * """ Dataset transfer property list """ - * pass - */ -- - struct __pyx_obj_4h5py_3h5p_PropDXID { - struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; - }; - --/* "h5p.pxd":51 -- * # --- Object creation --- -+ -+/* "h5p.pxd":62 -+ * # --- Object access --- - * -- * cdef class PropDCID(PropCreateID): # <<<<<<<<<<<<<< -- * """ Dataset creation property list """ -+ * cdef class PropFAID(PropInstanceID): # <<<<<<<<<<<<<< -+ * """ File access property list """ - * pass - */ -+struct __pyx_obj_4h5py_3h5p_PropFAID { -+ struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; -+}; - --struct __pyx_obj_4h5py_3h5p_PropDCID { -- struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; -+ -+/* "h5py/h5g.pxd":17 -+ * from _objects cimport ObjectID -+ * -+ * cdef class GroupID(ObjectID): # <<<<<<<<<<<<<< -+ * -+ * cdef readonly object links -+ */ -+struct __pyx_obj_4h5py_3h5g_GroupID { -+ struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base; -+ PyObject *links; - }; - -+ - /* "h5p.pxd":77 - * pass - * -@@ -476,12 +557,24 @@ struct __pyx_obj_4h5py_3h5p_PropDCID { - * """ Link access property list """ - * cdef char* _buf - */ -- - struct __pyx_obj_4h5py_3h5p_PropLAID { - struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; - char *_buf; - }; - -+ -+/* "h5p.pxd":51 -+ * # --- Object creation --- -+ * -+ * cdef class PropDCID(PropCreateID): # <<<<<<<<<<<<<< -+ * """ Dataset creation property list """ -+ * pass -+ */ -+struct __pyx_obj_4h5py_3h5p_PropDCID { -+ struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; -+}; -+ -+ - /* "h5py/h5g.pyx":141 - * - * -@@ -489,13 +582,13 @@ struct __pyx_obj_4h5py_3h5p_PropLAID { - * - * cdef object func - */ -- - struct __pyx_obj_4h5py_3h5g__GroupVisitor { - PyObject_HEAD - PyObject *func; - PyObject *retval; - }; - -+ - /* "h5p.pxd":55 - * pass - * -@@ -503,22 +596,10 @@ struct __pyx_obj_4h5py_3h5g__GroupVisito - * """ File creation property list """ - * pass - */ -- - struct __pyx_obj_4h5py_3h5p_PropFCID { - struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; - }; - --/* "h5p.pxd":27 -- * pass -- * -- * cdef class PropClassID(PropID): # <<<<<<<<<<<<<< -- * """ Represents an HDF5 property list class. These can be either (locked) -- * library-defined classes or user-created classes. -- */ -- --struct __pyx_obj_4h5py_3h5p_PropClassID { -- struct __pyx_obj_4h5py_3h5p_PropID __pyx_base; --}; - - /* "h5p.pxd":46 - * pass -@@ -527,40 +608,13 @@ struct __pyx_obj_4h5py_3h5p_PropClassID - * """ Property list for copying objects (as in h5o.copy) """ - * - */ -- - struct __pyx_obj_4h5py_3h5p_PropCopyID { - struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; - }; - --/* "h5p.pxd":73 -- * # --- New in 1.8 --- -- * -- * cdef class PropLCID(PropCreateID): # <<<<<<<<<<<<<< -- * """ Link creation property list """ -- * pass -- */ -- --struct __pyx_obj_4h5py_3h5p_PropLCID { -- struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; --}; -- --/* "h5py/h5g.pyx":39 -- * LINK_SOFT = H5G_LINK_SOFT -- * -- * cdef class GroupStat: # <<<<<<<<<<<<<< -- * """Represents the H5G_stat_t structure containing group member info. -- * -- */ -- --struct __pyx_obj_4h5py_3h5g_GroupStat { -- PyObject_HEAD -- H5G_stat_t infostruct; --}; -- - #ifndef CYTHON_REFNANNY - #define CYTHON_REFNANNY 0 - #endif -- - #if CYTHON_REFNANNY - typedef struct { - void (*INCREF)(void*, PyObject*, int); -@@ -571,44 +625,54 @@ struct __pyx_obj_4h5py_3h5g_GroupStat { - void (*FinishContext)(void**); - } __Pyx_RefNannyAPIStruct; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; -- static __Pyx_RefNannyAPIStruct * __Pyx_RefNannyImportAPI(const char *modname) { -- PyObject *m = NULL, *p = NULL; -- void *r = NULL; -- m = PyImport_ImportModule((char *)modname); -- if (!m) goto end; -- p = PyObject_GetAttrString(m, (char *)"RefNannyAPI"); -- if (!p) goto end; -- r = PyLong_AsVoidPtr(p); -- end: -- Py_XDECREF(p); -- Py_XDECREF(m); -- return (__Pyx_RefNannyAPIStruct *)r; -- } -- #define __Pyx_RefNannySetupContext(name) void *__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) -- #define __Pyx_RefNannyFinishContext() __Pyx_RefNanny->FinishContext(&__pyx_refnanny) -- #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -- #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -- #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -+ static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/ -+ #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; -+#ifdef WITH_THREAD -+ #define __Pyx_RefNannySetupContext(name, acquire_gil) \ -+ if (acquire_gil) { \ -+ PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \ -+ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \ -+ PyGILState_Release(__pyx_gilstate_save); \ -+ } else { \ -+ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \ -+ } -+#else -+ #define __Pyx_RefNannySetupContext(name, acquire_gil) \ -+ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) -+#endif -+ #define __Pyx_RefNannyFinishContext() \ -+ __Pyx_RefNanny->FinishContext(&__pyx_refnanny) -+ #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -+ #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -+ #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -- #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r);} } while(0) -+ #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) -+ #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) -+ #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) -+ #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) - #else -- #define __Pyx_RefNannySetupContext(name) -+ #define __Pyx_RefNannyDeclarations -+ #define __Pyx_RefNannySetupContext(name, acquire_gil) - #define __Pyx_RefNannyFinishContext() - #define __Pyx_INCREF(r) Py_INCREF(r) - #define __Pyx_DECREF(r) Py_DECREF(r) - #define __Pyx_GOTREF(r) - #define __Pyx_GIVEREF(r) -+ #define __Pyx_XINCREF(r) Py_XINCREF(r) - #define __Pyx_XDECREF(r) Py_XDECREF(r) -+ #define __Pyx_XGOTREF(r) -+ #define __Pyx_XGIVEREF(r) - #endif /* CYTHON_REFNANNY */ --#define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);} } while(0) --#define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r);} } while(0) -+#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) -+#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) - - static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/ - --static void __Pyx_RaiseDoubleKeywordsError( -- const char* func_name, PyObject* kw_name); /*proto*/ -+static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/ - --static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, const char* function_name); /*proto*/ -+static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \ -+ PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \ -+ const char* function_name); /*proto*/ - - static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, - Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/ -@@ -619,12 +683,11 @@ static int __Pyx_ArgTypeTest(PyObject *o - static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ - static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ - --static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ -+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/ - - #define __Pyx_DelItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \ - __Pyx_DelItemInt_Fast(o, i) : \ - __Pyx_DelItem_Generic(o, to_py_func(i))) -- - static CYTHON_INLINE int __Pyx_DelItem_Generic(PyObject *o, PyObject *j) { - int r; - if (!j) return -1; -@@ -632,22 +695,43 @@ static CYTHON_INLINE int __Pyx_DelItem_G - Py_DECREF(j); - return r; - } -- - static CYTHON_INLINE int __Pyx_DelItemInt_Fast(PyObject *o, Py_ssize_t i) { -- if (Py_TYPE(o)->tp_as_sequence && Py_TYPE(o)->tp_as_sequence->sq_ass_item && likely(i >= 0)) -+#if CYTHON_COMPILING_IN_PYPY -+ if (PySequence_Check(o)) { - return PySequence_DelItem(o, i); -- else { -- PyObject *j = PyInt_FromSsize_t(i); -- return __Pyx_DelItem_Generic(o, j); - } -+#else -+ PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; -+ if (likely(m && m->sq_ass_item)) { -+ if (unlikely(i < 0) && likely(m->sq_length)) { -+ Py_ssize_t l = m->sq_length(o); -+ if (unlikely(l < 0)) return -1; -+ i += l; -+ } -+ return m->sq_ass_item(o, i, (PyObject *)NULL); -+ } -+#endif -+ return __Pyx_DelItem_Generic(o, PyInt_FromSsize_t(i)); - } - - static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ - -+static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc); -+ -+static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse); -+ -+static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_dealloc); -+ - static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ - static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ - --static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/ -+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level); /*proto*/ -+ -+static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name); -+ -+static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject *); -+ -+static CYTHON_INLINE hsize_t __Pyx_PyInt_from_py_hsize_t(PyObject *); - - static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_time_t(time_t); - -@@ -687,63 +771,47 @@ static CYTHON_INLINE signed long __Pyx_P - - static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *); - --static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject *); -- --static CYTHON_INLINE hsize_t __Pyx_PyInt_from_py_hsize_t(PyObject *); -+static int __Pyx_check_binary_version(void); - --static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, long size, int strict); /*proto*/ -+#if !defined(__Pyx_PyIdentifier_FromString) -+#if PY_MAJOR_VERSION < 3 -+ #define __Pyx_PyIdentifier_FromString(s) PyString_FromString(s) -+#else -+ #define __Pyx_PyIdentifier_FromString(s) PyUnicode_FromString(s) -+#endif -+#endif - - static PyObject *__Pyx_ImportModule(const char *name); /*proto*/ - -+static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict); /*proto*/ -+ - static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/ - --static void __Pyx_AddTraceback(const char *funcname); /*proto*/ -+typedef struct { -+ int code_line; -+ PyCodeObject* code_object; -+} __Pyx_CodeObjectCacheEntry; -+struct __Pyx_CodeObjectCache { -+ int count; -+ int max_count; -+ __Pyx_CodeObjectCacheEntry* entries; -+}; -+static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; -+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); -+static PyCodeObject *__pyx_find_code_object(int code_line); -+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); -+ -+static void __Pyx_AddTraceback(const char *funcname, int c_line, -+ int py_line, const char *filename); /*proto*/ - - static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ --/* Module declarations from h5py.api_types_ext */ - --/* Module declarations from h5py.api_types_hdf5 */ - --/* Module declarations from h5py.defs */ -+/* Module declarations from 'h5py.api_types_ext' */ -+ -+/* Module declarations from 'h5py.api_types_hdf5' */ - --static herr_t (*__pyx_f_4h5py_4defs_H5open)(void); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5close)(void); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5get_libversion)(unsigned int *, unsigned int *, unsigned int *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dcreate2)(hid_t, char *, hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dcreate_anon)(hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dopen)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dget_space)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dget_space_status)(hid_t, H5D_space_status_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dget_type)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dget_create_plist)(hid_t); /*proto*/ --static haddr_t (*__pyx_f_4h5py_4defs_H5Dget_offset)(hid_t); /*proto*/ --static hsize_t (*__pyx_f_4h5py_4defs_H5Dget_storage_size)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dread)(hid_t, hid_t, hid_t, hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dwrite)(hid_t, hid_t, hid_t, hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dextend)(hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dfill)(void *, hid_t, void *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dvlen_get_buf_size)(hid_t, hid_t, hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dvlen_reclaim)(hid_t, hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Diterate)(void *, hid_t, hid_t, H5D_operator_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dset_extent)(hid_t, hsize_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fcreate)(char *, unsigned int, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fopen)(char *, unsigned int, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fclose)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Fis_hdf5)(char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fflush)(hid_t, enum H5F_scope_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Freopen)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fmount)(hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Funmount)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fget_filesize)(hid_t, hsize_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fget_create_plist)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fget_access_plist)(hid_t); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Fget_freespace)(hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Fget_name)(hid_t, char *, size_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Fget_obj_count)(hid_t, unsigned int); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Fget_obj_ids)(hid_t, unsigned int, int, hid_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fget_intent)(hid_t, unsigned int *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate)(hid_t, char *, size_t); /*proto*/ -+/* Module declarations from 'h5py.defs' */ - static hid_t (*__pyx_f_4h5py_4defs_H5Gopen)(hid_t, char *); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Gclose)(hid_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Glink2)(hid_t, char *, H5G_link_t, hid_t, char *); /*proto*/ -@@ -759,286 +827,22 @@ static herr_t (*__pyx_f_4h5py_4defs_H5Gs - static int (*__pyx_f_4h5py_4defs_H5Gget_comment)(hid_t, char *, size_t, char *); /*proto*/ - static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate_anon)(hid_t, hid_t, hid_t); /*proto*/ - static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate2)(hid_t, char *, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gopen2)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_info)(hid_t, H5G_info_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_info_by_name)(hid_t, char *, H5G_info_t *, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gget_create_plist)(hid_t); /*proto*/ --static H5I_type_t (*__pyx_f_4h5py_4defs_H5Iget_type)(hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Iget_name)(hid_t, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Iget_file_id)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Idec_ref)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Iget_ref)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Iinc_ref)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lmove)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcopy)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_hard)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_soft)(char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ldelete)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ldelete_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_val)(hid_t, char *, void *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_val_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, void *, size_t, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Lexists)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_info)(hid_t, char *, H5L_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5L_info_t *, hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Lget_name_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, char *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Literate)(hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Literate_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lvisit)(hid_t, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lvisit_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lunpack_elink_val)(void *, size_t, unsigned int *, char **, char **); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_external)(char *, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Oopen)(hid_t, char *, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Oopen_by_addr)(hid_t, haddr_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Oopen_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info)(hid_t, H5O_info_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info_by_name)(hid_t, char *, H5O_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5O_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Olink)(hid_t, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ocopy)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oincr_refcount)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Odecr_refcount)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oset_comment)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oset_comment_by_name)(hid_t, char *, char *, hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Oget_comment)(hid_t, char *, size_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Oget_comment_by_name)(hid_t, char *, char *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ovisit)(hid_t, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ovisit_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pcreate)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pcopy)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Pget_class)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pclose)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Pequal)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pclose_class)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_version)(hid_t, unsigned int *, unsigned int *, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_userblock)(hid_t, hsize_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_userblock)(hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sizes)(hid_t, size_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sizes)(hid_t, size_t *, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sym_k)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sym_k)(hid_t, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_istore_k)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_istore_k)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fclose_degree)(hid_t, enum H5F_close_degree_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fclose_degree)(hid_t, enum H5F_close_degree_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_core)(hid_t, size_t, hbool_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fapl_core)(hid_t, size_t *, hbool_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_family)(hid_t, hsize_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fapl_family)(hid_t, hsize_t *, hid_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_family_offset)(hid_t, hsize_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_family_offset)(hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_log)(hid_t, char *, unsigned int, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_multi)(hid_t, H5FD_mem_t *, hid_t *, char **, haddr_t *, hbool_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_cache)(hid_t, int, int, size_t, double); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_cache)(hid_t, int *, int *, size_t *, double *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_sec2)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_stdio)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pget_driver)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_layout)(hid_t, int); /*proto*/ --static H5D_layout_t (*__pyx_f_4h5py_4defs_H5Pget_layout)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_chunk)(hid_t, int, hsize_t *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Pget_chunk)(hid_t, int, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_deflate)(hid_t, int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fill_value)(hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fill_value)(hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pfill_value_defined)(hid_t, H5D_fill_value_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fill_time)(hid_t, H5D_fill_time_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fill_time)(hid_t, H5D_fill_time_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_alloc_time)(hid_t, H5D_alloc_time_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_alloc_time)(hid_t, H5D_alloc_time_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_filter)(hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Pall_filters_avail)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Pget_nfilters)(hid_t); /*proto*/ --static H5Z_filter_t (*__pyx_f_4h5py_4defs_H5Pget_filter)(hid_t, unsigned int, unsigned int *, size_t *, unsigned int *, size_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_filter_by_id)(hid_t, H5Z_filter_t, unsigned int *, size_t *, unsigned int *, size_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pmodify_filter)(hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Premove_filter)(hid_t, H5Z_filter_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fletcher32)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_shuffle)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_szip)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_edc_check)(hid_t, enum H5Z_EDC_t); /*proto*/ --static enum H5Z_EDC_t (*__pyx_f_4h5py_4defs_H5Pget_edc_check)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sieve_buf_size)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sieve_buf_size)(hid_t, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_nlinks)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_nlinks)(hid_t, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_elink_prefix)(hid_t, char *); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Pget_elink_prefix)(hid_t, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pget_elink_fapl)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_elink_fapl)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_create_intermediate_group)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_create_intermediate_group)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_copy_object)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_copy_object)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_char_encoding)(hid_t, H5T_cset_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_char_encoding)(hid_t, H5T_cset_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_local_heap_size_hint)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_local_heap_size_hint)(hid_t, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_link_phase_change)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_link_phase_change)(hid_t, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_est_link_info)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_est_link_info)(hid_t, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_link_creation_order)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_link_creation_order)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_libver_bounds)(hid_t, H5F_libver_t, H5F_libver_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_libver_bounds)(hid_t, H5F_libver_t *, H5F_libver_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Rcreate)(void *, hid_t, char *, H5R_type_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Rdereference)(hid_t, H5R_type_t, void *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Rget_region)(hid_t, H5R_type_t, void *); /*proto*/ --static enum H5G_obj_t (*__pyx_f_4h5py_4defs_H5Rget_obj_type)(hid_t, H5R_type_t, void *); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Rget_name)(hid_t, H5R_type_t, void *, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Screate)(H5S_class_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Scopy)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Screate_simple)(int, hsize_t *, hsize_t *); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Sis_simple)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Soffset_simple)(hid_t, hssize_t *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_dims)(hid_t, hsize_t *, hsize_t *); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_npoints)(hid_t); /*proto*/ --static H5S_class_t (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_type)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sextent_copy)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sset_extent_simple)(hid_t, int, hsize_t *, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sset_extent_none)(hid_t); /*proto*/ --static H5S_sel_type (*__pyx_f_4h5py_4defs_H5Sget_select_type)(hid_t); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_select_npoints)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sget_select_bounds)(hid_t, hsize_t *, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_all)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_none)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Sselect_valid)(hid_t); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_select_elem_npoints)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sget_select_elem_pointlist)(hid_t, hsize_t, hsize_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_elements)(hid_t, H5S_seloper_t, size_t, hsize_t **); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_select_hyper_nblocks)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sget_select_hyper_blocklist)(hid_t, hsize_t, hsize_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_hyperslab)(hid_t, H5S_seloper_t, hsize_t *, hsize_t *, hsize_t *, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sencode)(hid_t, void *, size_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Sdecode)(void *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tcreate)(enum H5T_class_t, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Topen)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tcommit)(hid_t, char *, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tcommitted)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tcopy)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tequal)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tlock)(hid_t); /*proto*/ --static enum H5T_class_t (*__pyx_f_4h5py_4defs_H5Tget_class)(hid_t); /*proto*/ --static size_t (*__pyx_f_4h5py_4defs_H5Tget_size)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tget_super)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tdetect_class)(hid_t, enum H5T_class_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tget_native_type)(hid_t, enum H5T_direction_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tconvert)(hid_t, hid_t, size_t, void *, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_size)(hid_t, size_t); /*proto*/ --static H5T_order_t (*__pyx_f_4h5py_4defs_H5Tget_order)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_order)(hid_t, H5T_order_t); /*proto*/ --static hsize_t (*__pyx_f_4h5py_4defs_H5Tget_precision)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_precision)(hid_t, size_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_offset)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_offset)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tget_pad)(hid_t, H5T_pad_t *, H5T_pad_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_pad)(hid_t, H5T_pad_t, H5T_pad_t); /*proto*/ --static H5T_sign_t (*__pyx_f_4h5py_4defs_H5Tget_sign)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_sign)(hid_t, H5T_sign_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tget_fields)(hid_t, size_t *, size_t *, size_t *, size_t *, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_fields)(hid_t, size_t, size_t, size_t, size_t, size_t); /*proto*/ --static size_t (*__pyx_f_4h5py_4defs_H5Tget_ebias)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_ebias)(hid_t, size_t); /*proto*/ --static H5T_norm_t (*__pyx_f_4h5py_4defs_H5Tget_norm)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_norm)(hid_t, H5T_norm_t); /*proto*/ --static H5T_pad_t (*__pyx_f_4h5py_4defs_H5Tget_inpad)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_inpad)(hid_t, H5T_pad_t); /*proto*/ --static H5T_cset_t (*__pyx_f_4h5py_4defs_H5Tget_cset)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_cset)(hid_t, H5T_cset_t); /*proto*/ --static H5T_str_t (*__pyx_f_4h5py_4defs_H5Tget_strpad)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_strpad)(hid_t, H5T_str_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tvlen_create)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tis_variable_str)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_nmembers)(hid_t); /*proto*/ --static enum H5T_class_t (*__pyx_f_4h5py_4defs_H5Tget_member_class)(hid_t, int); /*proto*/ --static char *(*__pyx_f_4h5py_4defs_H5Tget_member_name)(hid_t, unsigned int); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tget_member_type)(hid_t, unsigned int); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_member_offset)(hid_t, int); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_member_index)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tinsert)(hid_t, char *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tpack)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tenum_create)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_insert)(hid_t, char *, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_nameof)(hid_t, void *, char *, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_valueof)(hid_t, char *, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tget_member_value)(hid_t, unsigned int, void *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tarray_create)(hid_t, int, hsize_t *, int *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_array_ndims)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_array_dims)(hid_t, hsize_t *, int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_tag)(hid_t, char *); /*proto*/ --static char *(*__pyx_f_4h5py_4defs_H5Tget_tag)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tdecode)(unsigned char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tencode)(hid_t, unsigned char *, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tcommit2)(hid_t, char *, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static H5T_conv_t (*__pyx_f_4h5py_4defs_H5Tfind)(hid_t, hid_t, H5T_cdata_t **); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tregister)(H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tunregister)(H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Zfilter_avail)(H5Z_filter_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Zget_filter_info)(H5Z_filter_t, unsigned int *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Acreate)(hid_t, char *, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aopen_idx)(hid_t, unsigned int); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aopen_name)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aclose)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Adelete)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aread)(hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Awrite)(hid_t, hid_t, void *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Aget_num_attrs)(hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Aget_name)(hid_t, size_t, char *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aget_space)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aget_type)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aiterate)(hid_t, unsigned int *, H5A_operator_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Adelete_by_name)(hid_t, char *, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Adelete_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Acreate_by_name)(hid_t, char *, char *, hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aopen)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aopen_by_name)(hid_t, char *, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aopen_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Aexists_by_name)(hid_t, char *, char *, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Aexists)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Arename)(hid_t, char *, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Arename_by_name)(hid_t, char *, char *, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info)(hid_t, H5A_info_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info_by_name)(hid_t, char *, char *, H5A_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5A_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aiterate2)(hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5A_operator2_t, void *); /*proto*/ --static hsize_t (*__pyx_f_4h5py_4defs_H5Aget_storage_size)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSattach_scale)(hid_t, hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSdetach_scale)(hid_t, hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSset_scale)(hid_t, char *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5DSget_num_scales)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSset_label)(hid_t, unsigned int, char *); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5DSget_label)(hid_t, unsigned int, char *, size_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5DSget_scale_name)(hid_t, char *, size_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5DSis_scale)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSiterate_scales)(hid_t, unsigned int, int *, H5DS_iterate_t, void *); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5DSis_attached)(hid_t, hid_t, unsigned int); /*proto*/ --/* Module declarations from h5py._objects */ - -+/* Module declarations from 'h5py._objects' */ - static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0; - static hid_t (*__pyx_f_4h5py_8_objects_pdefault)(struct __pyx_obj_4h5py_8_objects_ObjectID *); /*proto*/ --/* Module declarations from numpy */ - --/* Module declarations from h5py.numpy */ -+/* Module declarations from 'numpy' */ - -+/* Module declarations from 'h5py.numpy' */ - static PyTypeObject *__pyx_ptype_4h5py_5numpy_dtype = 0; - static PyTypeObject *__pyx_ptype_4h5py_5numpy_ndarray = 0; --/* Module declarations from h5py.utils */ - -+/* Module declarations from 'h5py.utils' */ - static void *(*__pyx_f_4h5py_5utils_emalloc)(size_t); /*proto*/ - static void (*__pyx_f_4h5py_5utils_efree)(void *); /*proto*/ --static int (*__pyx_f_4h5py_5utils_check_numpy_read)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args); /*proto*/ --static int (*__pyx_f_4h5py_5utils_check_numpy_write)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args); /*proto*/ --static int (*__pyx_f_4h5py_5utils_convert_tuple)(PyObject *, hsize_t *, hsize_t); /*proto*/ --static PyObject *(*__pyx_f_4h5py_5utils_convert_dims)(hsize_t *, hsize_t); /*proto*/ --static int (*__pyx_f_4h5py_5utils_require_tuple)(PyObject *, int, int, char *); /*proto*/ --static PyObject *(*__pyx_f_4h5py_5utils_create_numpy_hsize)(int, hsize_t *); /*proto*/ --static PyObject *(*__pyx_f_4h5py_5utils_create_hsize_array)(PyObject *); /*proto*/ --/* Module declarations from h5py.h5p */ - -+/* Module declarations from 'h5py.h5p' */ - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropClassID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropInstanceID = 0; -@@ -1051,60 +855,91 @@ static PyTypeObject *__pyx_ptype_4h5py_3 - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLCID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLAID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropGCID = 0; --static hid_t (*__pyx_f_4h5py_3h5p_pdefault)(struct __pyx_obj_4h5py_3h5p_PropID *); /*proto*/ --static PyObject *(*__pyx_f_4h5py_3h5p_propwrap)(hid_t); /*proto*/ --/* Module declarations from h5py._hdf5 */ - --/* Module declarations from h5py.h5g */ -+/* Module declarations from 'h5py._hdf5' */ - -+/* Module declarations from 'h5py.h5g' */ - static PyTypeObject *__pyx_ptype_4h5py_3h5g_GroupID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5g_GroupStat = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5g_GroupIter = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5g__GroupVisitor = 0; - static herr_t __pyx_f_4h5py_3h5g_cb_group_iter(hid_t, char *, void *); /*proto*/ - #define __Pyx_MODULE_NAME "h5py.h5g" --static int __pyx_module_is_main_h5py__h5g = 0; -+int __pyx_module_is_main_h5py__h5g = 0; - --/* Implementation of h5py.h5g */ -+/* Implementation of 'h5py.h5g' */ - static PyObject *__pyx_builtin_StopIteration; - static PyObject *__pyx_builtin_ValueError; -+static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_6fileno___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5objno___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5nlink___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_4type___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5mtime___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_7linklen___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat__hash(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self); /* proto */ -+static int __pyx_pf_4h5py_3h5g_9GroupIter___init__(struct __pyx_obj_4h5py_3h5g_GroupIter *__pyx_v_self, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_grp); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_9GroupIter_2__iter__(struct __pyx_obj_4h5py_3h5g_GroupIter *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_9GroupIter_4__next__(struct __pyx_obj_4h5py_3h5g_GroupIter *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_open(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_2create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, PyObject *__pyx_v_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_gcpl); /* proto */ -+static int __pyx_pf_4h5py_3h5g_13_GroupVisitor___init__(struct __pyx_obj_4h5py_3h5g__GroupVisitor *__pyx_v_self, PyObject *__pyx_v_func); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_4iterate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_loc, PyObject *__pyx_v_func, int __pyx_v_startidx, char *__pyx_v_obj_name); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_6get_objinfo(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj, PyObject *__pyx_v_name, int __pyx_v_follow_link); /* proto */ -+static int __pyx_pf_4h5py_3h5g_7GroupID___init__(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, hid_t __pyx_v_id_); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_2_close(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_4link(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_current_name, char *__pyx_v_new_name, int __pyx_v_link_type, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_remote); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_6unlink(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_name); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_8move(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_current_name, char *__pyx_v_new_name, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_remote); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_10get_num_objs(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_12get_objname_by_idx(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, hsize_t __pyx_v_idx); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_14get_objtype_by_idx(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, hsize_t __pyx_v_idx); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_16get_linkval(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_name); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_18set_comment(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_name, char *__pyx_v_comment); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_20get_comment(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_name); /* proto */ -+static int __pyx_pf_4h5py_3h5g_7GroupID_22__contains__(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_name); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_24__iter__(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self); /* proto */ -+static Py_ssize_t __pyx_pf_4h5py_3h5g_7GroupID_26__len__(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_5links___get__(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self); /* proto */ - static char __pyx_k_1[] = "."; - static char __pyx_k_2[] = "Starting index must be non-negative"; - static char __pyx_k_6[] = "\"%s\" is not a symbolic link."; - static char __pyx_k_7[] = "\n Low-level HDF5 \"H5G\" group interface.\n"; --static char __pyx_k_8[] = "h5py.h5g"; --static char __pyx_k__id[] = "id"; -+static char __pyx_k_10[] = "/disks/strw4/vanelteren/env/python3/install/_temp/h5py-2.1.0/h5py/h5g.pyx"; -+static char __pyx_k_11[] = "h5py.h5g"; -+static char __pyx_k__i[] = "i"; -+static char __pyx_k__gid[] = "gid"; - static char __pyx_k__grp[] = "grp"; - static char __pyx_k__h5l[] = "h5l"; - static char __pyx_k__id_[] = "id_"; --static char __pyx_k__idx[] = "idx"; - static char __pyx_k__loc[] = "loc"; - static char __pyx_k__obj[] = "obj"; -+static char __pyx_k__vis[] = "vis"; - static char __pyx_k__LINK[] = "LINK"; - static char __pyx_k__TYPE[] = "TYPE"; - static char __pyx_k__func[] = "func"; - static char __pyx_k__gcpl[] = "gcpl"; -+static char __pyx_k__h5py[] = "h5py"; - static char __pyx_k__lcpl[] = "lcpl"; - static char __pyx_k__lock[] = "lock"; - static char __pyx_k__name[] = "name"; - static char __pyx_k__open[] = "open"; - static char __pyx_k__type[] = "type"; - static char __pyx_k__GROUP[] = "GROUP"; --static char __pyx_k__links[] = "links"; -+static char __pyx_k___name[] = "_name"; -+static char __pyx_k__cname[] = "cname"; - static char __pyx_k__mtime[] = "mtime"; - static char __pyx_k__nlink[] = "nlink"; --static char __pyx_k__nobjs[] = "nobjs"; - static char __pyx_k__objno[] = "objno"; - static char __pyx_k__valid[] = "valid"; - static char __pyx_k__create[] = "create"; - static char __pyx_k__fileno[] = "fileno"; - static char __pyx_k__remote[] = "remote"; --static char __pyx_k__retval[] = "retval"; - static char __pyx_k__DATASET[] = "DATASET"; - static char __pyx_k__UNKNOWN[] = "UNKNOWN"; - static char __pyx_k__comment[] = "comment"; - static char __pyx_k__iterate[] = "iterate"; - static char __pyx_k__linklen[] = "linklen"; -+static char __pyx_k__statobj[] = "statobj"; - static char __pyx_k____exit__[] = "__exit__"; - static char __pyx_k____main__[] = "__main__"; - static char __pyx_k____test__[] = "__test__"; -@@ -1120,7 +955,6 @@ static char __pyx_k____enter__[] = "__en - static char __pyx_k__link_type[] = "link_type"; - static char __pyx_k__LINK_ERROR[] = "LINK_ERROR"; - static char __pyx_k__ValueError[] = "ValueError"; --static char __pyx_k__infostruct[] = "infostruct"; - static char __pyx_k__follow_link[] = "follow_link"; - static char __pyx_k__get_objinfo[] = "get_objinfo"; - static char __pyx_k__current_name[] = "current_name"; -@@ -1128,9 +962,10 @@ static char __pyx_k__get_num_objs[] = "g - static char __pyx_k__StopIteration[] = "StopIteration"; - static char __pyx_k__get_objname_by_idx[] = "get_objname_by_idx"; - static PyObject *__pyx_kp_s_1; -+static PyObject *__pyx_kp_s_10; -+static PyObject *__pyx_n_s_11; - static PyObject *__pyx_kp_s_2; - static PyObject *__pyx_kp_s_6; --static PyObject *__pyx_n_s_8; - static PyObject *__pyx_n_s__DATASET; - static PyObject *__pyx_n_s__GROUP; - static PyObject *__pyx_n_s__LINK; -@@ -1146,7 +981,9 @@ static PyObject *__pyx_n_s____enter__; - static PyObject *__pyx_n_s____exit__; - static PyObject *__pyx_n_s____main__; - static PyObject *__pyx_n_s____test__; -+static PyObject *__pyx_n_s___name; - static PyObject *__pyx_n_s___objects; -+static PyObject *__pyx_n_s__cname; - static PyObject *__pyx_n_s__comment; - static PyObject *__pyx_n_s__create; - static PyObject *__pyx_n_s__current_name; -@@ -1157,38 +994,56 @@ static PyObject *__pyx_n_s__gcpl; - static PyObject *__pyx_n_s__get_num_objs; - static PyObject *__pyx_n_s__get_objinfo; - static PyObject *__pyx_n_s__get_objname_by_idx; -+static PyObject *__pyx_n_s__gid; - static PyObject *__pyx_n_s__grp; - static PyObject *__pyx_n_s__h5l; --static PyObject *__pyx_n_s__id; -+static PyObject *__pyx_n_s__h5py; -+static PyObject *__pyx_n_s__i; - static PyObject *__pyx_n_s__id_; --static PyObject *__pyx_n_s__idx; --static PyObject *__pyx_n_s__infostruct; - static PyObject *__pyx_n_s__iterate; - static PyObject *__pyx_n_s__lcpl; - static PyObject *__pyx_n_s__link_type; - static PyObject *__pyx_n_s__linklen; --static PyObject *__pyx_n_s__links; - static PyObject *__pyx_n_s__loc; - static PyObject *__pyx_n_s__lock; - static PyObject *__pyx_n_s__mtime; - static PyObject *__pyx_n_s__name; - static PyObject *__pyx_n_s__new_name; - static PyObject *__pyx_n_s__nlink; --static PyObject *__pyx_n_s__nobjs; - static PyObject *__pyx_n_s__obj; - static PyObject *__pyx_n_s__obj_name; - static PyObject *__pyx_n_s__objno; - static PyObject *__pyx_n_s__open; - static PyObject *__pyx_n_s__registry; - static PyObject *__pyx_n_s__remote; --static PyObject *__pyx_n_s__retval; - static PyObject *__pyx_n_s__startidx; -+static PyObject *__pyx_n_s__statobj; - static PyObject *__pyx_n_s__type; - static PyObject *__pyx_n_s__valid; -+static PyObject *__pyx_n_s__vis; - static PyObject *__pyx_int_1; - static int __pyx_k_5; - static PyObject *__pyx_k_tuple_3; - static PyObject *__pyx_k_tuple_4; -+static PyObject *__pyx_k_tuple_8; -+static PyObject *__pyx_k_tuple_12; -+static PyObject *__pyx_k_tuple_14; -+static PyObject *__pyx_k_tuple_16; -+static PyObject *__pyx_k_codeobj_9; -+static PyObject *__pyx_k_codeobj_13; -+static PyObject *__pyx_k_codeobj_15; -+static PyObject *__pyx_k_codeobj_17; -+ -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_6fileno_1__get__(PyObject *__pyx_v_self); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_6fileno_1__get__(PyObject *__pyx_v_self) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5g_9GroupStat_6fileno___get__(((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} - - /* "h5py/h5g.pyx":59 - * -@@ -1198,13 +1053,16 @@ static PyObject *__pyx_k_tuple_4; - * property objno: - */ - --static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_6fileno___get__(PyObject *__pyx_v_self); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_6fileno___get__(PyObject *__pyx_v_self) { -+static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_6fileno___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("__get__"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__get__", 0); - - /* "h5py/h5g.pyx":60 - * property fileno: -@@ -1214,12 +1072,12 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - * def __get__(self): - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = PyLong_FromUnsignedLong((((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)->infostruct.fileno[0])); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = PyLong_FromUnsignedLong((__pyx_v_self->infostruct.fileno[0])); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_2 = PyLong_FromUnsignedLong((((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)->infostruct.fileno[1])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = PyLong_FromUnsignedLong((__pyx_v_self->infostruct.fileno[1])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); -@@ -1236,7 +1094,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5g.GroupStat.fileno.__get__"); -+ __Pyx_AddTraceback("h5py.h5g.GroupStat.fileno.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -1244,6 +1102,17 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_5objno_1__get__(PyObject *__pyx_v_self); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_5objno_1__get__(PyObject *__pyx_v_self) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5g_9GroupStat_5objno___get__(((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5g.pyx":62 - * return (self.infostruct.fileno[0], self.infostruct.fileno[1]) - * property objno: -@@ -1252,13 +1121,16 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - * property nlink: - */ - --static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5objno___get__(PyObject *__pyx_v_self); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5objno___get__(PyObject *__pyx_v_self) { -+static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5objno___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("__get__"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__get__", 0); - - /* "h5py/h5g.pyx":63 - * property objno: -@@ -1268,12 +1140,12 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - * def __get__(self): - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = PyLong_FromUnsignedLong((((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)->infostruct.objno[0])); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = PyLong_FromUnsignedLong((__pyx_v_self->infostruct.objno[0])); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_2 = PyLong_FromUnsignedLong((((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)->infostruct.objno[1])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = PyLong_FromUnsignedLong((__pyx_v_self->infostruct.objno[1])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); -@@ -1290,7 +1162,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5g.GroupStat.objno.__get__"); -+ __Pyx_AddTraceback("h5py.h5g.GroupStat.objno.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -1298,6 +1170,17 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_5nlink_1__get__(PyObject *__pyx_v_self); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_5nlink_1__get__(PyObject *__pyx_v_self) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5g_9GroupStat_5nlink___get__(((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5g.pyx":65 - * return (self.infostruct.objno[0], self.infostruct.objno[1]) - * property nlink: -@@ -1306,11 +1189,14 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - * property type: - */ - --static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5nlink___get__(PyObject *__pyx_v_self); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5nlink___get__(PyObject *__pyx_v_self) { -+static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5nlink___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; -- __Pyx_RefNannySetupContext("__get__"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__get__", 0); - - /* "h5py/h5g.pyx":66 - * property nlink: -@@ -1320,7 +1206,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - * def __get__(self): - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = PyLong_FromUnsignedLong(((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)->infostruct.nlink); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = PyLong_FromUnsignedLong(__pyx_v_self->infostruct.nlink); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; -@@ -1330,7 +1216,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -- __Pyx_AddTraceback("h5py.h5g.GroupStat.nlink.__get__"); -+ __Pyx_AddTraceback("h5py.h5g.GroupStat.nlink.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -1338,6 +1224,17 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_4type_1__get__(PyObject *__pyx_v_self); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_4type_1__get__(PyObject *__pyx_v_self) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5g_9GroupStat_4type___get__(((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5g.pyx":68 - * return self.infostruct.nlink - * property type: -@@ -1346,11 +1243,14 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - * property mtime: - */ - --static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_4type___get__(PyObject *__pyx_v_self); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_4type___get__(PyObject *__pyx_v_self) { -+static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_4type___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; -- __Pyx_RefNannySetupContext("__get__"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__get__", 0); - - /* "h5py/h5g.pyx":69 - * property type: -@@ -1360,7 +1260,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - * def __get__(self): - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = PyInt_FromLong(((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)->infostruct.type); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = PyInt_FromLong(__pyx_v_self->infostruct.type); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; -@@ -1370,7 +1270,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -- __Pyx_AddTraceback("h5py.h5g.GroupStat.type.__get__"); -+ __Pyx_AddTraceback("h5py.h5g.GroupStat.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -1378,6 +1278,17 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_5mtime_1__get__(PyObject *__pyx_v_self); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_5mtime_1__get__(PyObject *__pyx_v_self) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5g_9GroupStat_5mtime___get__(((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5g.pyx":71 - * return self.infostruct.type - * property mtime: -@@ -1386,11 +1297,14 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - * property linklen: - */ - --static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5mtime___get__(PyObject *__pyx_v_self); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5mtime___get__(PyObject *__pyx_v_self) { -+static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5mtime___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; -- __Pyx_RefNannySetupContext("__get__"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__get__", 0); - - /* "h5py/h5g.pyx":72 - * property mtime: -@@ -1400,7 +1314,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - * def __get__(self): - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __Pyx_PyInt_to_py_time_t(((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)->infostruct.mtime); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __Pyx_PyInt_to_py_time_t(__pyx_v_self->infostruct.mtime); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; -@@ -1410,7 +1324,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -- __Pyx_AddTraceback("h5py.h5g.GroupStat.mtime.__get__"); -+ __Pyx_AddTraceback("h5py.h5g.GroupStat.mtime.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -1418,6 +1332,17 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_7linklen_1__get__(PyObject *__pyx_v_self); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_7linklen_1__get__(PyObject *__pyx_v_self) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5g_9GroupStat_7linklen___get__(((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5g.pyx":74 - * return self.infostruct.mtime - * property linklen: -@@ -1426,11 +1351,14 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_7linklen___get__(PyObject *__pyx_v_self); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_7linklen___get__(PyObject *__pyx_v_self) { -+static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_7linklen___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; -- __Pyx_RefNannySetupContext("__get__"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__get__", 0); - - /* "h5py/h5g.pyx":75 - * property linklen: -@@ -1440,7 +1368,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - * def _hash(self): - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __Pyx_PyInt_FromSize_t(((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)->infostruct.linklen); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->infostruct.linklen); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; -@@ -1450,7 +1378,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -- __Pyx_AddTraceback("h5py.h5g.GroupStat.linklen.__get__"); -+ __Pyx_AddTraceback("h5py.h5g.GroupStat.linklen.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -1458,6 +1386,17 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_1_hash(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_1_hash(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("_hash (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5g_9GroupStat__hash(((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5g.pyx":77 - * return self.infostruct.linklen - * -@@ -1466,9 +1405,9 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat__hash(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat__hash(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat__hash(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; -@@ -1476,8 +1415,11 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; -- long __pyx_t_8; -- __Pyx_RefNannySetupContext("_hash"); -+ Py_hash_t __pyx_t_8; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("_hash", 0); - - /* "h5py/h5g.pyx":78 - * -@@ -1487,20 +1429,20 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__fileno); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__fileno); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__objno); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__objno); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__nlink); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__nlink); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); -- __pyx_t_4 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__type); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__type); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); -- __pyx_t_5 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__mtime); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__mtime); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); -- __pyx_t_6 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__linklen); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_6 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__linklen); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_7)); -+ __Pyx_GOTREF(__pyx_t_7); - PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2); -@@ -1521,7 +1463,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - __pyx_t_6 = 0; - __pyx_t_8 = PyObject_Hash(((PyObject *)__pyx_t_7)); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; -- __pyx_t_7 = PyInt_FromLong(__pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_7 = __Pyx_PyInt_FromHash_t(__pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; -@@ -1537,7 +1479,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); -- __Pyx_AddTraceback("h5py.h5g.GroupStat._hash"); -+ __Pyx_AddTraceback("h5py.h5g.GroupStat._hash", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -1545,55 +1487,76 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - return __pyx_r; - } - --/* "h5py/h5g.pyx":92 -- * cdef GroupID grp -- * -- * def __init__(self, GroupID grp not None): # <<<<<<<<<<<<<< -- * self.idx = 0 -- * self.grp = grp -- */ -- --static int __pyx_pf_4h5py_3h5g_9GroupIter___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static int __pyx_pf_4h5py_3h5g_9GroupIter___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static int __pyx_pw_4h5py_3h5g_9GroupIter_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static int __pyx_pw_4h5py_3h5g_9GroupIter_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_grp = 0; - int __pyx_r; -- PyObject *__pyx_t_1 = NULL; -- PyObject *__pyx_t_2 = NULL; -- unsigned long __pyx_t_3; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__grp,0}; -- __Pyx_RefNannySetupContext("__init__"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__grp,0}; - PyObject* values[1] = {0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__grp); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__grp)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - } - __pyx_v_grp = ((struct __pyx_obj_4h5py_3h5g_GroupID *)values[0]); -- } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_grp = ((struct __pyx_obj_4h5py_3h5g_GroupID *)PyTuple_GET_ITEM(__pyx_args, 0)); - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5g.GroupIter.__init__"); -+ __Pyx_AddTraceback("h5py.h5g.GroupIter.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_grp), __pyx_ptype_4h5py_3h5g_GroupID, 0, "grp", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5g_9GroupIter___init__(((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self), __pyx_v_grp); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = -1; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5g.pyx":92 -+ * cdef GroupID grp -+ * -+ * def __init__(self, GroupID grp not None): # <<<<<<<<<<<<<< -+ * self.idx = 0 -+ * self.grp = grp -+ */ -+ -+static int __pyx_pf_4h5py_3h5g_9GroupIter___init__(struct __pyx_obj_4h5py_3h5g_GroupIter *__pyx_v_self, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_grp) { -+ int __pyx_r; -+ __Pyx_RefNannyDeclarations -+ PyObject *__pyx_t_1 = NULL; -+ PyObject *__pyx_t_2 = NULL; -+ unsigned long __pyx_t_3; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__init__", 0); - - /* "h5py/h5g.pyx":93 - * -@@ -1602,7 +1565,7 @@ static int __pyx_pf_4h5py_3h5g_9GroupIte - * self.grp = grp - * self.nobjs = grp.get_num_objs() - */ -- ((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->idx = 0; -+ __pyx_v_self->idx = 0; - - /* "h5py/h5g.pyx":94 - * def __init__(self, GroupID grp not None): -@@ -1613,9 +1576,9 @@ static int __pyx_pf_4h5py_3h5g_9GroupIte - */ - __Pyx_INCREF(((PyObject *)__pyx_v_grp)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_grp)); -- __Pyx_GOTREF(((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->grp); -- __Pyx_DECREF(((PyObject *)((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->grp)); -- ((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->grp = __pyx_v_grp; -+ __Pyx_GOTREF(__pyx_v_self->grp); -+ __Pyx_DECREF(((PyObject *)__pyx_v_self->grp)); -+ __pyx_v_self->grp = __pyx_v_grp; - - /* "h5py/h5g.pyx":95 - * self.idx = 0 -@@ -1631,20 +1594,31 @@ static int __pyx_pf_4h5py_3h5g_9GroupIte - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyInt_AsUnsignedLong(__pyx_t_2); if (unlikely((__pyx_t_3 == (unsigned long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- ((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->nobjs = __pyx_t_3; -+ __pyx_v_self->nobjs = __pyx_t_3; - - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5g.GroupIter.__init__"); -+ __Pyx_AddTraceback("h5py.h5g.GroupIter.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_9GroupIter_3__iter__(PyObject *__pyx_v_self); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5g_9GroupIter_3__iter__(PyObject *__pyx_v_self) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__iter__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5g_9GroupIter_2__iter__(((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5g.pyx":97 - * self.nobjs = grp.get_num_objs() - * -@@ -1653,10 +1627,10 @@ static int __pyx_pf_4h5py_3h5g_9GroupIte - * - */ - --static PyObject *__pyx_pf_4h5py_3h5g_9GroupIter_1__iter__(PyObject *__pyx_v_self); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5g_9GroupIter_1__iter__(PyObject *__pyx_v_self) { -+static PyObject *__pyx_pf_4h5py_3h5g_9GroupIter_2__iter__(struct __pyx_obj_4h5py_3h5g_GroupIter *__pyx_v_self) { - PyObject *__pyx_r = NULL; -- __Pyx_RefNannySetupContext("__iter__"); -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__iter__", 0); - - /* "h5py/h5g.pyx":98 - * -@@ -1666,8 +1640,8 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - * def __next__(self): - */ - __Pyx_XDECREF(__pyx_r); -- __Pyx_INCREF(__pyx_v_self); -- __pyx_r = __pyx_v_self; -+ __Pyx_INCREF(((PyObject *)__pyx_v_self)); -+ __pyx_r = ((PyObject *)__pyx_v_self); - goto __pyx_L0; - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); -@@ -1677,6 +1651,17 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_9GroupIter_5__next__(PyObject *__pyx_v_self); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5g_9GroupIter_5__next__(PyObject *__pyx_v_self) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__next__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5g_9GroupIter_4__next__(((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5g.pyx":100 - * return self - * -@@ -1685,16 +1670,18 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - * self.grp = None - */ - --static PyObject *__pyx_pf_4h5py_3h5g_9GroupIter_2__next__(PyObject *__pyx_v_self); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5g_9GroupIter_2__next__(PyObject *__pyx_v_self) { -- PyObject *__pyx_v_retval; -+static PyObject *__pyx_pf_4h5py_3h5g_9GroupIter_4__next__(struct __pyx_obj_4h5py_3h5g_GroupIter *__pyx_v_self) { -+ PyObject *__pyx_v_retval = NULL; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; -- __Pyx_RefNannySetupContext("__next__"); -- __pyx_v_retval = Py_None; __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__next__", 0); - - /* "h5py/h5g.pyx":101 - * -@@ -1703,7 +1690,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - * self.grp = None - * raise StopIteration - */ -- __pyx_t_1 = (((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->idx == ((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->nobjs); -+ __pyx_t_1 = (__pyx_v_self->idx == __pyx_v_self->nobjs); - if (__pyx_t_1) { - - /* "h5py/h5g.pyx":102 -@@ -1715,9 +1702,9 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - */ - __Pyx_INCREF(Py_None); - __Pyx_GIVEREF(Py_None); -- __Pyx_GOTREF(((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->grp); -- __Pyx_DECREF(((PyObject *)((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->grp)); -- ((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->grp = ((struct __pyx_obj_4h5py_3h5g_GroupID *)Py_None); -+ __Pyx_GOTREF(__pyx_v_self->grp); -+ __Pyx_DECREF(((PyObject *)__pyx_v_self->grp)); -+ __pyx_v_self->grp = ((struct __pyx_obj_4h5py_3h5g_GroupID *)Py_None); - - /* "h5py/h5g.pyx":103 - * if self.idx == self.nobjs: -@@ -1726,11 +1713,11 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - * - * retval = self.grp.get_objname_by_idx(self.idx) - */ -- __Pyx_Raise(__pyx_builtin_StopIteration, 0, 0); -+ __Pyx_Raise(__pyx_builtin_StopIteration, 0, 0, 0); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L5; -+ goto __pyx_L3; - } -- __pyx_L5:; -+ __pyx_L3:; - - /* "h5py/h5g.pyx":105 - * raise StopIteration -@@ -1739,12 +1726,12 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - * self.idx = self.idx + 1 - * return retval - */ -- __pyx_t_2 = PyObject_GetAttr(((PyObject *)((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->grp), __pyx_n_s__get_objname_by_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self->grp), __pyx_n_s__get_objname_by_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_3 = PyLong_FromUnsignedLong(((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->idx); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = PyLong_FromUnsignedLong(__pyx_v_self->idx); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; -@@ -1752,7 +1739,6 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; -- __Pyx_DECREF(__pyx_v_retval); - __pyx_v_retval = __pyx_t_3; - __pyx_t_3 = 0; - -@@ -1763,7 +1749,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - * return retval - * - */ -- ((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->idx = (((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->idx + 1); -+ __pyx_v_self->idx = (__pyx_v_self->idx + 1); - - /* "h5py/h5g.pyx":107 - * retval = self.grp.get_objname_by_idx(self.idx) -@@ -1783,78 +1769,97 @@ static PyObject *__pyx_pf_4h5py_3h5g_9Gr - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5g.GroupIter.__next__"); -+ __Pyx_AddTraceback("h5py.h5g.GroupIter.__next__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF(__pyx_v_retval); -+ __Pyx_XDECREF(__pyx_v_retval); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - --/* "h5py/h5g.pyx":112 -- * -- * -- * def open(ObjectID loc not None, char* name): # <<<<<<<<<<<<<< -- * """(ObjectID loc, STRING name) => GroupID -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5g_open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_1open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ - static char __pyx_doc_4h5py_3h5g_open[] = "(ObjectID loc, STRING name) => GroupID\n\n Open an existing HDF5 group, attached to some other group.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5g_open = {__Pyx_NAMESTR("open"), (PyCFunction)__pyx_pf_4h5py_3h5g_open, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_open)}; --static PyObject *__pyx_pf_4h5py_3h5g_open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+static PyMethodDef __pyx_mdef_4h5py_3h5g_1open = {__Pyx_NAMESTR("open"), (PyCFunction)__pyx_pw_4h5py_3h5g_1open, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_open)}; -+static PyObject *__pyx_pw_4h5py_3h5g_1open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0; - char *__pyx_v_name; -- PyObject *__pyx_r = NULL; -- PyObject *__pyx_t_1 = NULL; -- hid_t __pyx_t_2; -- PyObject *__pyx_t_3 = NULL; -- PyObject *__pyx_t_4 = NULL; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,0}; -- __Pyx_RefNannySetupContext("open"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("open (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,0}; - PyObject* values[2] = {0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("open", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("open", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]); - __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- __pyx_v_name = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5g.open"); -+ __Pyx_AddTraceback("h5py.h5g.open", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5g_open(__pyx_self, __pyx_v_loc, __pyx_v_name); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5g.pyx":112 -+ * -+ * -+ * def open(ObjectID loc not None, char* name): # <<<<<<<<<<<<<< -+ * """(ObjectID loc, STRING name) => GroupID -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5g_open(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ PyObject *__pyx_t_1 = NULL; -+ hid_t __pyx_t_2; -+ PyObject *__pyx_t_3 = NULL; -+ PyObject *__pyx_t_4 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("open", 0); - - /* "h5py/h5g.pyx":117 - * Open an existing HDF5 group, attached to some other group. -@@ -1870,7 +1875,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_ope - __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; -@@ -1888,7 +1893,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_ope - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5g.open"); -+ __Pyx_AddTraceback("h5py.h5g.open", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -1896,85 +1901,21 @@ static PyObject *__pyx_pf_4h5py_3h5g_ope - return __pyx_r; - } - --/* "h5py/h5g.pyx":119 -- * return GroupID.open(H5Gopen(loc.id, name)) -- * -- * def create(ObjectID loc not None, object name, PropID lcpl=None, # <<<<<<<<<<<<<< -- * PropID gcpl=None): -- * """(ObjectID loc, STRING name or None, PropLCID lcpl=None, -- */ -- --static PyObject *__pyx_pf_4h5py_3h5g_1create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5g_1create[] = "(ObjectID loc, STRING name or None, PropLCID lcpl=None,\n PropGCID gcpl=None)\n => GroupID\n\n Create a new group, under a given parent group. If name is None,\n an anonymous group will be created in the file.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5g_1create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pf_4h5py_3h5g_1create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_1create)}; --static PyObject *__pyx_pf_4h5py_3h5g_1create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_3create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5g_2create[] = "(ObjectID loc, STRING name or None, PropLCID lcpl=None,\n PropGCID gcpl=None)\n => GroupID\n\n Create a new group, under a given parent group. If name is None,\n an anonymous group will be created in the file.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5g_3create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pw_4h5py_3h5g_3create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_2create)}; -+static PyObject *__pyx_pw_4h5py_3h5g_3create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0; - PyObject *__pyx_v_name = 0; - struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl = 0; - struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_gcpl = 0; -- hid_t __pyx_v_gid; -- char *__pyx_v_cname; -- PyObject *__pyx_r = NULL; -- int __pyx_t_1; -- char *__pyx_t_2; -- hid_t __pyx_t_3; -- PyObject *__pyx_t_4 = NULL; -- PyObject *__pyx_t_5 = NULL; -- PyObject *__pyx_t_6 = NULL; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__lcpl,&__pyx_n_s__gcpl,0}; -- __Pyx_RefNannySetupContext("create"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("create (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__lcpl,&__pyx_n_s__gcpl,0}; - PyObject* values[4] = {0,0,0,0}; -- values[2] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -- -- /* "h5py/h5g.pyx":120 -- * -- * def create(ObjectID loc not None, object name, PropID lcpl=None, -- * PropID gcpl=None): # <<<<<<<<<<<<<< -- * """(ObjectID loc, STRING name or None, PropLCID lcpl=None, -- * PropGCID gcpl=None) -- */ -- values[3] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("create", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- case 2: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lcpl); -- if (value) { values[2] = value; kw_args--; } -- } -- case 3: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__gcpl); -- if (value) { values[3] = value; kw_args--; } -- } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]); -- __pyx_v_name = values[1]; -- __pyx_v_lcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[2]); -- __pyx_v_gcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[3]); -- } else { - - /* "h5py/h5g.pyx":119 - * return GroupID.open(H5Gopen(loc.id, name)) -@@ -1983,7 +1924,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_1cr - * PropID gcpl=None): - * """(ObjectID loc, STRING name or None, PropLCID lcpl=None, - */ -- __pyx_v_lcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -+ values[2] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); - - /* "h5py/h5g.pyx":120 - * -@@ -1992,30 +1933,100 @@ static PyObject *__pyx_pf_4h5py_3h5g_1cr - * """(ObjectID loc, STRING name or None, PropLCID lcpl=None, - * PropGCID gcpl=None) - */ -- __pyx_v_gcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 4: -- __pyx_v_gcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)PyTuple_GET_ITEM(__pyx_args, 3)); -- case 3: -- __pyx_v_lcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)PyTuple_GET_ITEM(__pyx_args, 2)); -- case 2: -- __pyx_v_name = PyTuple_GET_ITEM(__pyx_args, 1); -- __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- break; -- default: goto __pyx_L5_argtuple_error; -+ values[3] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("create", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 2: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lcpl); -+ if (value) { values[2] = value; kw_args--; } -+ } -+ case 3: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__gcpl); -+ if (value) { values[3] = value; kw_args--; } -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; -+ } - } -+ __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]); -+ __pyx_v_name = values[1]; -+ __pyx_v_lcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[2]); -+ __pyx_v_gcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[3]); - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("create", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5g.create"); -+ __Pyx_AddTraceback("h5py.h5g.create", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lcpl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lcpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gcpl), __pyx_ptype_4h5py_3h5p_PropID, 1, "gcpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5g_2create(__pyx_self, __pyx_v_loc, __pyx_v_name, __pyx_v_lcpl, __pyx_v_gcpl); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5g.pyx":119 -+ * return GroupID.open(H5Gopen(loc.id, name)) -+ * -+ * def create(ObjectID loc not None, object name, PropID lcpl=None, # <<<<<<<<<<<<<< -+ * PropID gcpl=None): -+ * """(ObjectID loc, STRING name or None, PropLCID lcpl=None, -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5g_2create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, PyObject *__pyx_v_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_gcpl) { -+ hid_t __pyx_v_gid; -+ char *__pyx_v_cname; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ int __pyx_t_1; -+ char *__pyx_t_2; -+ hid_t __pyx_t_3; -+ PyObject *__pyx_t_4 = NULL; -+ PyObject *__pyx_t_5 = NULL; -+ PyObject *__pyx_t_6 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("create", 0); - - /* "h5py/h5g.pyx":129 - * """ -@@ -2045,9 +2056,9 @@ static PyObject *__pyx_pf_4h5py_3h5g_1cr - */ - __pyx_t_2 = PyBytes_AsString(__pyx_v_name); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_cname = __pyx_t_2; -- goto __pyx_L6; -+ goto __pyx_L3; - } -- __pyx_L6:; -+ __pyx_L3:; - - /* "h5py/h5g.pyx":133 - * cname = name -@@ -2068,7 +2079,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_1cr - */ - __pyx_t_3 = __pyx_f_4h5py_4defs_H5Gcreate2(__pyx_v_loc->id, __pyx_v_cname, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lcpl)), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_gcpl)), H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_gid = __pyx_t_3; -- goto __pyx_L7; -+ goto __pyx_L4; - } - /*else*/ { - -@@ -2082,7 +2093,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_1cr - __pyx_t_3 = __pyx_f_4h5py_4defs_H5Gcreate_anon(__pyx_v_loc->id, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_gcpl)), H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_gid = __pyx_t_3; - } -- __pyx_L7:; -+ __pyx_L4:; - - /* "h5py/h5g.pyx":138 - * gid = H5Gcreate_anon(loc.id, pdefault(gcpl), H5P_DEFAULT) -@@ -2097,7 +2108,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_1cr - __pyx_t_5 = __Pyx_PyInt_to_py_hid_t(__pyx_v_gid); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_6)); -+ __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; -@@ -2115,7 +2126,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_1cr - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); -- __Pyx_AddTraceback("h5py.h5g.create"); -+ __Pyx_AddTraceback("h5py.h5g.create", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2123,51 +2134,65 @@ static PyObject *__pyx_pf_4h5py_3h5g_1cr - return __pyx_r; - } - --/* "h5py/h5g.pyx":146 -- * cdef object retval -- * -- * def __init__(self, func): # <<<<<<<<<<<<<< -- * self.func = func -- * self.retval = None -- */ -- --static int __pyx_pf_4h5py_3h5g_13_GroupVisitor___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static int __pyx_pf_4h5py_3h5g_13_GroupVisitor___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static int __pyx_pw_4h5py_3h5g_13_GroupVisitor_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static int __pyx_pw_4h5py_3h5g_13_GroupVisitor_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_func = 0; - int __pyx_r; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__func,0}; -- __Pyx_RefNannySetupContext("__init__"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__func,0}; - PyObject* values[1] = {0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - } - __pyx_v_func = values[0]; -- } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_func = PyTuple_GET_ITEM(__pyx_args, 0); - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5g._GroupVisitor.__init__"); -+ __Pyx_AddTraceback("h5py.h5g._GroupVisitor.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5g_13_GroupVisitor___init__(((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_v_self), __pyx_v_func); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5g.pyx":146 -+ * cdef object retval -+ * -+ * def __init__(self, func): # <<<<<<<<<<<<<< -+ * self.func = func -+ * self.retval = None -+ */ -+ -+static int __pyx_pf_4h5py_3h5g_13_GroupVisitor___init__(struct __pyx_obj_4h5py_3h5g__GroupVisitor *__pyx_v_self, PyObject *__pyx_v_func) { -+ int __pyx_r; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__init__", 0); - - /* "h5py/h5g.pyx":147 - * -@@ -2178,9 +2203,9 @@ static int __pyx_pf_4h5py_3h5g_13_GroupV - */ - __Pyx_INCREF(__pyx_v_func); - __Pyx_GIVEREF(__pyx_v_func); -- __Pyx_GOTREF(((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_v_self)->func); -- __Pyx_DECREF(((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_v_self)->func); -- ((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_v_self)->func = __pyx_v_func; -+ __Pyx_GOTREF(__pyx_v_self->func); -+ __Pyx_DECREF(__pyx_v_self->func); -+ __pyx_v_self->func = __pyx_v_func; - - /* "h5py/h5g.pyx":148 - * def __init__(self, func): -@@ -2191,9 +2216,9 @@ static int __pyx_pf_4h5py_3h5g_13_GroupV - */ - __Pyx_INCREF(Py_None); - __Pyx_GIVEREF(Py_None); -- __Pyx_GOTREF(((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_v_self)->retval); -- __Pyx_DECREF(((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_v_self)->retval); -- ((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_v_self)->retval = Py_None; -+ __Pyx_GOTREF(__pyx_v_self->retval); -+ __Pyx_DECREF(__pyx_v_self->retval); -+ __pyx_v_self->retval = Py_None; - - __pyx_r = 0; - __Pyx_RefNannyFinishContext(); -@@ -2208,13 +2233,17 @@ static int __pyx_pf_4h5py_3h5g_13_GroupV - * cdef _GroupVisitor vis = <_GroupVisitor>vis_in - */ - --static herr_t __pyx_f_4h5py_3h5g_cb_group_iter(hid_t __pyx_v_gid, char *__pyx_v_name, void *__pyx_v_vis_in) { -+static herr_t __pyx_f_4h5py_3h5g_cb_group_iter(CYTHON_UNUSED hid_t __pyx_v_gid, char *__pyx_v_name, void *__pyx_v_vis_in) { - struct __pyx_obj_4h5py_3h5g__GroupVisitor *__pyx_v_vis = 0; - herr_t __pyx_r; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - int __pyx_t_3; -- __Pyx_RefNannySetupContext("cb_group_iter"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("cb_group_iter", 0); - - /* "h5py/h5g.pyx":152 - * cdef herr_t cb_group_iter(hid_t gid, char *name, void* vis_in) except 2: -@@ -2236,7 +2265,7 @@ static herr_t __pyx_f_4h5py_3h5g_cb_gro - __pyx_t_1 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -+ __Pyx_GOTREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_1)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_1)); - __pyx_t_1 = 0; -@@ -2287,7 +2316,7 @@ static herr_t __pyx_f_4h5py_3h5g_cb_gro - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5g.cb_group_iter"); -+ __Pyx_AddTraceback("h5py.h5g.cb_group_iter", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 2; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_vis); -@@ -2295,67 +2324,63 @@ static herr_t __pyx_f_4h5py_3h5g_cb_gro - return __pyx_r; - } - --/* "h5py/h5g.pyx":161 -- * -- * -- * def iterate(GroupID loc not None, object func, int startidx=0, *, # <<<<<<<<<<<<<< -- * char* obj_name='.'): -- * """ (GroupID loc, CALLABLE func, UINT startidx=0, **kwds) -- */ -- --static PyObject *__pyx_pf_4h5py_3h5g_2iterate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5g_2iterate[] = " (GroupID loc, CALLABLE func, UINT startidx=0, **kwds)\n => Return value from func\n\n Iterate a callable (function, method or callable object) over the\n members of a group. Your callable should have the signature::\n\n func(STRING name) => Result\n\n Returning None continues iteration; returning anything else aborts\n iteration and returns that value. Keywords:\n\n STRING obj_name (\".\")\n Iterate over this subgroup instead\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5g_2iterate = {__Pyx_NAMESTR("iterate"), (PyCFunction)__pyx_pf_4h5py_3h5g_2iterate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_2iterate)}; --static PyObject *__pyx_pf_4h5py_3h5g_2iterate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_5iterate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5g_4iterate[] = " (GroupID loc, CALLABLE func, UINT startidx=0, **kwds)\n => Return value from func\n\n Iterate a callable (function, method or callable object) over the\n members of a group. Your callable should have the signature::\n\n func(STRING name) => Result\n\n Returning None continues iteration; returning anything else aborts\n iteration and returns that value. Keywords:\n\n STRING obj_name (\".\")\n Iterate over this subgroup instead\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5g_5iterate = {__Pyx_NAMESTR("iterate"), (PyCFunction)__pyx_pw_4h5py_3h5g_5iterate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_4iterate)}; -+static PyObject *__pyx_pw_4h5py_3h5g_5iterate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_loc = 0; - PyObject *__pyx_v_func = 0; - int __pyx_v_startidx; - char *__pyx_v_obj_name; -- int __pyx_v_i; -- struct __pyx_obj_4h5py_3h5g__GroupVisitor *__pyx_v_vis = 0; -- PyObject *__pyx_r = NULL; -- int __pyx_t_1; -- PyObject *__pyx_t_2 = NULL; -- PyObject *__pyx_t_3 = NULL; -- herr_t __pyx_t_4; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__func,&__pyx_n_s__startidx,&__pyx_n_s__obj_name,0}; -- __Pyx_RefNannySetupContext("iterate"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("iterate (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__func,&__pyx_n_s__startidx,&__pyx_n_s__obj_name,0}; - PyObject* values[4] = {0,0,0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("iterate", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- case 2: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__startidx); -- if (value) { values[2] = value; kw_args--; } -- } -- } -- while (kw_args > 0) { -- PyObject* value; -- value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__obj_name); -- if (value) { values[3] = value; if (!(--kw_args)) break; } -- break; -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "iterate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("iterate", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 2: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__startidx); -+ if (value) { values[2] = value; kw_args--; } -+ } -+ } -+ if (kw_args == 1) { -+ const Py_ssize_t index = 3; -+ PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]); -+ if (value) { values[index] = value; kw_args--; } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "iterate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; -+ } - } - __pyx_v_loc = ((struct __pyx_obj_4h5py_3h5g_GroupID *)values[0]); - __pyx_v_func = values[1]; -@@ -2369,28 +2394,46 @@ static PyObject *__pyx_pf_4h5py_3h5g_2it - } else { - __pyx_v_obj_name = ((char *)__pyx_k_1); - } -- } else { -- __pyx_v_startidx = ((int)0); -- __pyx_v_obj_name = ((char *)__pyx_k_1); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: -- __pyx_v_startidx = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_startidx == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 2: -- __pyx_v_func = PyTuple_GET_ITEM(__pyx_args, 1); -- __pyx_v_loc = ((struct __pyx_obj_4h5py_3h5g_GroupID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("iterate", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5g.iterate"); -+ __Pyx_AddTraceback("h5py.h5g.iterate", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_3h5g_GroupID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5g_4iterate(__pyx_self, __pyx_v_loc, __pyx_v_func, __pyx_v_startidx, __pyx_v_obj_name); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5g.pyx":161 -+ * -+ * -+ * def iterate(GroupID loc not None, object func, int startidx=0, *, # <<<<<<<<<<<<<< -+ * char* obj_name='.'): -+ * """ (GroupID loc, CALLABLE func, UINT startidx=0, **kwds) -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5g_4iterate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_loc, PyObject *__pyx_v_func, int __pyx_v_startidx, char *__pyx_v_obj_name) { -+ int __pyx_v_i; -+ struct __pyx_obj_4h5py_3h5g__GroupVisitor *__pyx_v_vis = 0; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ int __pyx_t_1; -+ PyObject *__pyx_t_2 = NULL; -+ PyObject *__pyx_t_3 = NULL; -+ herr_t __pyx_t_4; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("iterate", 0); - - /* "h5py/h5g.pyx":177 - * Iterate over this subgroup instead -@@ -2411,12 +2454,12 @@ static PyObject *__pyx_pf_4h5py_3h5g_2it - */ - __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __Pyx_Raise(__pyx_t_2, 0, 0); -+ __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L6; -+ goto __pyx_L3; - } -- __pyx_L6:; -+ __pyx_L3:; - - /* "h5py/h5g.pyx":180 - * raise ValueError("Starting index must be non-negative") -@@ -2435,7 +2478,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_2it - * H5Giterate(loc.id, obj_name, &i, cb_group_iter, vis) - */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -+ __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_func); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_func); - __Pyx_GIVEREF(__pyx_v_func); -@@ -2471,7 +2514,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_2it - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5g.iterate"); -+ __Pyx_AddTraceback("h5py.h5g.iterate", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_vis); -@@ -2480,59 +2523,58 @@ static PyObject *__pyx_pf_4h5py_3h5g_2it - return __pyx_r; - } - --/* "h5py/h5g.pyx":188 -- * -- * -- * def get_objinfo(ObjectID obj not None, object name='.', int follow_link=1): # <<<<<<<<<<<<<< -- * """(ObjectID obj, STRING name='.', BOOL follow_link=True) => GroupStat object -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5g_3get_objinfo(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5g_3get_objinfo[] = "(ObjectID obj, STRING name='.', BOOL follow_link=True) => GroupStat object\n\n Obtain information about a named object. If \"name\" is provided,\n \"obj\" is taken to be a GroupID object containing the target.\n The return value is a GroupStat object; see that class's docstring\n for a description of its attributes.\n\n If follow_link is True (default) and the object is a symbolic link,\n the information returned describes its target. Otherwise the\n information describes the link itself.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5g_3get_objinfo = {__Pyx_NAMESTR("get_objinfo"), (PyCFunction)__pyx_pf_4h5py_3h5g_3get_objinfo, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_3get_objinfo)}; --static PyObject *__pyx_pf_4h5py_3h5g_3get_objinfo(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_7get_objinfo(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5g_6get_objinfo[] = "(ObjectID obj, STRING name='.', BOOL follow_link=True) => GroupStat object\n\n Obtain information about a named object. If \"name\" is provided,\n \"obj\" is taken to be a GroupID object containing the target.\n The return value is a GroupStat object; see that class's docstring\n for a description of its attributes.\n\n If follow_link is True (default) and the object is a symbolic link,\n the information returned describes its target. Otherwise the\n information describes the link itself.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5g_7get_objinfo = {__Pyx_NAMESTR("get_objinfo"), (PyCFunction)__pyx_pw_4h5py_3h5g_7get_objinfo, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_6get_objinfo)}; -+static PyObject *__pyx_pw_4h5py_3h5g_7get_objinfo(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj = 0; - PyObject *__pyx_v_name = 0; - int __pyx_v_follow_link; -- struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_statobj; -- char *__pyx_v__name; -- PyObject *__pyx_r = NULL; -- PyObject *__pyx_t_1 = NULL; -- char *__pyx_t_2; -- herr_t __pyx_t_3; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__obj,&__pyx_n_s__name,&__pyx_n_s__follow_link,0}; -- __Pyx_RefNannySetupContext("get_objinfo"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_objinfo (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__obj,&__pyx_n_s__name,&__pyx_n_s__follow_link,0}; - PyObject* values[3] = {0,0,0}; - values[1] = ((PyObject *)__pyx_kp_s_1); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__obj); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -- if (value) { values[1] = value; kw_args--; } -- } -- case 2: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__follow_link); -- if (value) { values[2] = value; kw_args--; } -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__obj)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -+ if (value) { values[1] = value; kw_args--; } -+ } -+ case 2: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__follow_link); -+ if (value) { values[2] = value; kw_args--; } -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_objinfo") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "get_objinfo") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - __pyx_v_obj = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]); - __pyx_v_name = values[1]; -@@ -2541,27 +2583,45 @@ static PyObject *__pyx_pf_4h5py_3h5g_3ge - } else { - __pyx_v_follow_link = ((int)1); - } -- } else { -- __pyx_v_name = ((PyObject *)__pyx_kp_s_1); -- __pyx_v_follow_link = ((int)1); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: __pyx_v_follow_link = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_follow_link == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 2: __pyx_v_name = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: __pyx_v_obj = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_objinfo", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5g.get_objinfo"); -+ __Pyx_AddTraceback("h5py.h5g.get_objinfo", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -- __pyx_v_statobj = ((struct __pyx_obj_4h5py_3h5g_GroupStat *)Py_None); __Pyx_INCREF(Py_None); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_obj), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "obj", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5g_6get_objinfo(__pyx_self, __pyx_v_obj, __pyx_v_name, __pyx_v_follow_link); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5g.pyx":188 -+ * -+ * -+ * def get_objinfo(ObjectID obj not None, object name='.', int follow_link=1): # <<<<<<<<<<<<<< -+ * """(ObjectID obj, STRING name='.', BOOL follow_link=True) => GroupStat object -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5g_6get_objinfo(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj, PyObject *__pyx_v_name, int __pyx_v_follow_link) { -+ struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_statobj = 0; -+ char *__pyx_v__name; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ PyObject *__pyx_t_1 = NULL; -+ char *__pyx_t_2; -+ herr_t __pyx_t_3; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_objinfo", 0); - - /* "h5py/h5g.pyx":201 - * """ -@@ -2572,7 +2632,6 @@ static PyObject *__pyx_pf_4h5py_3h5g_3ge - */ - __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5g_GroupStat)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(((PyObject *)__pyx_v_statobj)); - __pyx_v_statobj = ((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_t_1); - __pyx_t_1 = 0; - -@@ -2611,65 +2670,81 @@ static PyObject *__pyx_pf_4h5py_3h5g_3ge - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -- __Pyx_AddTraceback("h5py.h5g.get_objinfo"); -+ __Pyx_AddTraceback("h5py.h5g.get_objinfo", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_statobj); -+ __Pyx_XDECREF((PyObject *)__pyx_v_statobj); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - --/* "h5py/h5g.pyx":235 -- * """ -- * -- * def __init__(self, hid_t id_): # <<<<<<<<<<<<<< -- * import h5l -- * self.links = h5l.LinkProxy(id_) -- */ -- --static int __pyx_pf_4h5py_3h5g_7GroupID___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static int __pyx_pf_4h5py_3h5g_7GroupID___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static int __pyx_pw_4h5py_3h5g_7GroupID_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static int __pyx_pw_4h5py_3h5g_7GroupID_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - hid_t __pyx_v_id_; -- PyObject *__pyx_v_h5l; - int __pyx_r; -- PyObject *__pyx_t_1 = NULL; -- PyObject *__pyx_t_2 = NULL; -- PyObject *__pyx_t_3 = NULL; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__id_,0}; -- __Pyx_RefNannySetupContext("__init__"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__id_,0}; - PyObject* values[1] = {0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__id_); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__id_)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - } - __pyx_v_id_ = __Pyx_PyInt_from_py_hid_t(values[0]); if (unlikely((__pyx_v_id_ == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_id_ = __Pyx_PyInt_from_py_hid_t(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_id_ == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5g.GroupID.__init__"); -+ __Pyx_AddTraceback("h5py.h5g.GroupID.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; -- __pyx_v_h5l = Py_None; __Pyx_INCREF(Py_None); -+ __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID___init__(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self), __pyx_v_id_); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5g.pyx":235 -+ * """ -+ * -+ * def __init__(self, hid_t id_): # <<<<<<<<<<<<<< -+ * import h5l -+ * self.links = h5l.LinkProxy(id_) -+ */ -+ -+static int __pyx_pf_4h5py_3h5g_7GroupID___init__(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, hid_t __pyx_v_id_) { -+ PyObject *__pyx_v_h5l = NULL; -+ int __pyx_r; -+ __Pyx_RefNannyDeclarations -+ PyObject *__pyx_t_1 = NULL; -+ PyObject *__pyx_t_2 = NULL; -+ PyObject *__pyx_t_3 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__init__", 0); - - /* "h5py/h5g.pyx":236 - * -@@ -2678,9 +2753,8 @@ static int __pyx_pf_4h5py_3h5g_7GroupID_ - * self.links = h5l.LinkProxy(id_) - * - */ -- __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__h5l), 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__h5l), 0, -1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(__pyx_v_h5l); - __pyx_v_h5l = __pyx_t_1; - __pyx_t_1 = 0; - -@@ -2696,7 +2770,7 @@ static int __pyx_pf_4h5py_3h5g_7GroupID_ - __pyx_t_2 = __Pyx_PyInt_to_py_hid_t(__pyx_v_id_); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; -@@ -2705,9 +2779,9 @@ static int __pyx_pf_4h5py_3h5g_7GroupID_ - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __Pyx_GIVEREF(__pyx_t_2); -- __Pyx_GOTREF(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->links); -- __Pyx_DECREF(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->links); -- ((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->links = __pyx_t_2; -+ __Pyx_GOTREF(__pyx_v_self->links); -+ __Pyx_DECREF(__pyx_v_self->links); -+ __pyx_v_self->links = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_r = 0; -@@ -2716,10 +2790,22 @@ static int __pyx_pf_4h5py_3h5g_7GroupID_ - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5g.GroupID.__init__"); -+ __Pyx_AddTraceback("h5py.h5g.GroupID.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; -- __Pyx_DECREF(__pyx_v_h5l); -+ __Pyx_XDECREF(__pyx_v_h5l); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_3_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5g_7GroupID_2_close[] = "()\n\n Terminate access through this identifier. You shouldn't have to\n call this manually; group identifiers are automatically released\n when their Python wrappers are freed.\n "; -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_3_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("_close (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_2_close(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } -@@ -2732,26 +2818,25 @@ static int __pyx_pf_4h5py_3h5g_7GroupID_ - * - */ - --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_1_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5g_7GroupID_1_close[] = "()\n\n Terminate access through this identifier. You shouldn't have to\n call this manually; group identifiers are automatically released\n when their Python wrappers are freed.\n "; --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_1_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -- PyObject *__pyx_v___tmpvar_34; -- PyObject *__pyx_v___tmpvar_36; -- int __pyx_v___tmpvar_35; -- PyObject *__pyx_v___tmpvar_33; -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_2_close(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; -- herr_t __pyx_t_3; -- int __pyx_t_4; -- int __pyx_t_5; -+ PyObject *__pyx_t_3 = NULL; -+ PyObject *__pyx_t_4 = NULL; -+ PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; -- PyObject *__pyx_t_8 = NULL; -- __Pyx_RefNannySetupContext("_close"); -- __pyx_v___tmpvar_34 = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v___tmpvar_36 = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v___tmpvar_33 = Py_None; __Pyx_INCREF(Py_None); -+ herr_t __pyx_t_8; -+ int __pyx_t_9; -+ int __pyx_t_10; -+ PyObject *__pyx_t_11 = NULL; -+ PyObject *__pyx_t_12 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("_close", 0); - - /* "h5py/h5g.pyx":247 - * when their Python wrappers are freed. -@@ -2760,221 +2845,160 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * H5Gclose(self.id) - * if not self.valid: - */ -- __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__lock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(__pyx_v___tmpvar_34); -- __pyx_v___tmpvar_34 = __pyx_t_1; -- __pyx_t_1 = 0; -- -- /* "(tree fragment)":2 -- * MGR = EXPR -- * EXIT = MGR.__exit__ # <<<<<<<<<<<<<< -- * MGR.__enter__() -- * EXC = True -- */ -- __pyx_t_1 = PyObject_GetAttr(__pyx_v___tmpvar_34, __pyx_n_s____exit__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(__pyx_v___tmpvar_36); -- __pyx_v___tmpvar_36 = __pyx_t_1; -- __pyx_t_1 = 0; -+ /*with:*/ { -+ __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_2); -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__lock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -+ __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_3); -+ __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_2); -+ __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ /*try:*/ { -+ { -+ __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); -+ __Pyx_XGOTREF(__pyx_t_5); -+ __Pyx_XGOTREF(__pyx_t_6); -+ __Pyx_XGOTREF(__pyx_t_7); -+ /*try:*/ { - -- /* "(tree fragment)":3 -- * MGR = EXPR -- * EXIT = MGR.__exit__ -- * MGR.__enter__() # <<<<<<<<<<<<<< -- * EXC = True -- * try: -+ /* "h5py/h5g.pyx":248 -+ * """ -+ * with _objects.registry.lock: -+ * H5Gclose(self.id) # <<<<<<<<<<<<<< -+ * if not self.valid: -+ * del _objects.registry[self.id] - */ -- __pyx_t_1 = PyObject_GetAttr(__pyx_v___tmpvar_34, __pyx_n_s____enter__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_8 = __pyx_f_4h5py_4defs_H5Gclose(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L7_error;} - -- /* "h5py/h5g.pyx":247 -- * when their Python wrappers are freed. -- * """ -- * with _objects.registry.lock: # <<<<<<<<<<<<<< -+ /* "h5py/h5g.pyx":249 -+ * with _objects.registry.lock: - * H5Gclose(self.id) -- * if not self.valid: -+ * if not self.valid: # <<<<<<<<<<<<<< -+ * del _objects.registry[self.id] -+ * - */ -- __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __pyx_v___tmpvar_35 = 1; -- /*try:*/ { -- { -- PyObject *__pyx_save_exc_type, *__pyx_save_exc_value, *__pyx_save_exc_tb; -- __Pyx_ExceptionSave(&__pyx_save_exc_type, &__pyx_save_exc_value, &__pyx_save_exc_tb); -- __Pyx_XGOTREF(__pyx_save_exc_type); -- __Pyx_XGOTREF(__pyx_save_exc_value); -- __Pyx_XGOTREF(__pyx_save_exc_tb); -- /*try:*/ { -- __Pyx_INCREF(Py_None); -- __Pyx_DECREF(__pyx_v___tmpvar_33); -- __pyx_v___tmpvar_33 = Py_None; -- __pyx_t_3 = __pyx_f_4h5py_4defs_H5Gclose(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__valid); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __pyx_t_5 = (!__pyx_t_4); -- if (__pyx_t_5) { -- __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__registry); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -+ __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__valid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L7_error;} - __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- if (__Pyx_DelItemInt(__pyx_t_1, ((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, sizeof(hid_t), __Pyx_PyInt_to_py_hid_t) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -+ __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L7_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- goto __pyx_L16; -- } -- __pyx_L16:; -- } -- __Pyx_XDECREF(__pyx_save_exc_type); __pyx_save_exc_type = 0; -- __Pyx_XDECREF(__pyx_save_exc_value); __pyx_save_exc_value = 0; -- __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0; -- goto __pyx_L15_try_end; -- __pyx_L8_error:; -- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -- /*except:*/ { -- __Pyx_AddTraceback("h5py.h5g.GroupID._close"); -- if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_GOTREF(__pyx_t_2); -- __Pyx_GOTREF(__pyx_t_6); -- __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_7)); -- __Pyx_INCREF(__pyx_t_1); -- PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1); -- __Pyx_GIVEREF(__pyx_t_1); -- __Pyx_INCREF(__pyx_t_2); -- PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2); -- __Pyx_GIVEREF(__pyx_t_2); -- __Pyx_INCREF(__pyx_t_6); -- PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_6); -- __Pyx_GIVEREF(__pyx_t_6); -- __Pyx_DECREF(__pyx_v___tmpvar_33); -- __pyx_v___tmpvar_33 = ((PyObject *)__pyx_t_7); -- __pyx_t_7 = 0; -- __pyx_v___tmpvar_35 = 0; -- -- /* "(tree fragment)":11 -- * except: -- * EXC = False -- * if not EXIT(*EXCINFO): # <<<<<<<<<<<<<< -- * raise -- * finally: -- */ -- __pyx_t_7 = PySequence_Tuple(__pyx_v___tmpvar_33); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_7)); -- __pyx_t_8 = PyObject_Call(__pyx_v___tmpvar_36, ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(__pyx_t_8); -- __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; -- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; -- __pyx_t_4 = (!__pyx_t_5); -- if (__pyx_t_4) { -+ __pyx_t_10 = (!__pyx_t_9); -+ if (__pyx_t_10) { - -- /* "h5py/h5g.pyx":247 -- * when their Python wrappers are freed. -- * """ -- * with _objects.registry.lock: # <<<<<<<<<<<<<< -+ /* "h5py/h5g.pyx":250 - * H5Gclose(self.id) - * if not self.valid: -+ * del _objects.registry[self.id] # <<<<<<<<<<<<<< -+ * -+ * - */ -- __Pyx_GIVEREF(__pyx_t_1); -- __Pyx_GIVEREF(__pyx_t_2); -- __Pyx_GIVEREF(__pyx_t_6); -- __Pyx_ErrRestore(__pyx_t_1, __pyx_t_2, __pyx_t_6); -- __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_6 = 0; -- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- goto __pyx_L19; -- } -- __pyx_L19:; -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -- goto __pyx_L9_exception_handled; -- } -- __pyx_L10_except_error:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -- goto __pyx_L6; -- __pyx_L9_exception_handled:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -- __pyx_L15_try_end:; -- } -- } -- /*finally:*/ { -- int __pyx_why; -- PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; -- int __pyx_exc_lineno; -- __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L7; -- __pyx_L6: { -- __pyx_why = 4; -- __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; -- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; -- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; -- __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); -- __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L7; -- } -- __pyx_L7:; -- -- /* "(tree fragment)":14 -- * raise -- * finally: -- * if EXC: # <<<<<<<<<<<<<< -- * EXIT(None, None, None) -- */ -- if (__pyx_v___tmpvar_35) { -+ __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_4 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ if (__Pyx_DelItemInt(__pyx_t_4, __pyx_v_self->__pyx_base.id, sizeof(hid_t), __Pyx_PyInt_to_py_hid_t) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ goto __pyx_L15; -+ } -+ __pyx_L15:; -+ } -+ __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; -+ __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; -+ goto __pyx_L14_try_end; -+ __pyx_L7_error:; -+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; -+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - -- /* "h5py/h5g.pyx":247 -+ /* "h5py/h5g.pyx":247 - * when their Python wrappers are freed. - * """ - * with _objects.registry.lock: # <<<<<<<<<<<<<< - * H5Gclose(self.id) - * if not self.valid: - */ -- __pyx_t_6 = PyObject_Call(__pyx_v___tmpvar_36, ((PyObject *)__pyx_k_tuple_4), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L20_error;} -- __Pyx_GOTREF(__pyx_t_6); -- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -- goto __pyx_L21; -- } -- __pyx_L21:; -- goto __pyx_L22; -- __pyx_L20_error:; -- if (__pyx_why == 4) { -- Py_XDECREF(__pyx_exc_type); -- Py_XDECREF(__pyx_exc_value); -- Py_XDECREF(__pyx_exc_tb); -- } -- goto __pyx_L1_error; -- __pyx_L22:; -- switch (__pyx_why) { -- case 4: { -- __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb); -- __pyx_lineno = __pyx_exc_lineno; -- __pyx_exc_type = 0; -- __pyx_exc_value = 0; -- __pyx_exc_tb = 0; -+ /*except:*/ { -+ __Pyx_AddTraceback("h5py.h5g.GroupID._close", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_GOTREF(__pyx_t_1); -+ __Pyx_GOTREF(__pyx_t_2); -+ __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __Pyx_GOTREF(__pyx_t_11); -+ __Pyx_INCREF(__pyx_t_4); -+ PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_4); -+ __Pyx_GIVEREF(__pyx_t_4); -+ __Pyx_INCREF(__pyx_t_1); -+ PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_1); -+ __Pyx_GIVEREF(__pyx_t_1); -+ __Pyx_INCREF(__pyx_t_2); -+ PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_2); -+ __Pyx_GIVEREF(__pyx_t_2); -+ __pyx_t_12 = PyObject_Call(__pyx_t_3, __pyx_t_11, NULL); -+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -+ if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __Pyx_GOTREF(__pyx_t_12); -+ __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_12); -+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; -+ if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __pyx_t_9 = (!__pyx_t_10); -+ if (__pyx_t_9) { -+ __Pyx_GIVEREF(__pyx_t_4); -+ __Pyx_GIVEREF(__pyx_t_1); -+ __Pyx_GIVEREF(__pyx_t_2); -+ __Pyx_ErrRestore(__pyx_t_4, __pyx_t_1, __pyx_t_2); -+ __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ goto __pyx_L18; -+ } -+ __pyx_L18:; -+ __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0; -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -+ goto __pyx_L8_exception_handled; -+ } -+ __pyx_L9_except_error:; -+ __Pyx_XGIVEREF(__pyx_t_5); -+ __Pyx_XGIVEREF(__pyx_t_6); -+ __Pyx_XGIVEREF(__pyx_t_7); -+ __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); - goto __pyx_L1_error; -+ __pyx_L8_exception_handled:; -+ __Pyx_XGIVEREF(__pyx_t_5); -+ __Pyx_XGIVEREF(__pyx_t_6); -+ __Pyx_XGIVEREF(__pyx_t_7); -+ __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); -+ __pyx_L14_try_end:; -+ } -+ } -+ /*finally:*/ { -+ if (__pyx_t_3) { -+ __pyx_t_7 = PyObject_Call(__pyx_t_3, __pyx_k_tuple_4, NULL); -+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -+ if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_7); -+ __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); -+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - } -+ goto __pyx_L19; -+ __pyx_L3_error:; -+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -+ goto __pyx_L1_error; -+ __pyx_L19:; - } - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); -@@ -2982,43 +3006,29 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_XDECREF(__pyx_t_6); -- __Pyx_XDECREF(__pyx_t_7); -- __Pyx_XDECREF(__pyx_t_8); -- __Pyx_AddTraceback("h5py.h5g.GroupID._close"); -+ __Pyx_XDECREF(__pyx_t_4); -+ __Pyx_XDECREF(__pyx_t_11); -+ __Pyx_AddTraceback("h5py.h5g.GroupID._close", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF(__pyx_v___tmpvar_34); -- __Pyx_DECREF(__pyx_v___tmpvar_36); -- __Pyx_DECREF(__pyx_v___tmpvar_33); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - --/* "h5py/h5g.pyx":253 -- * -- * -- * def link(self, char* current_name, char* new_name, # <<<<<<<<<<<<<< -- * int link_type=H5G_LINK_HARD, GroupID remote=None): -- * """(STRING current_name, STRING new_name, INT link_type=LINK_HARD, -- */ -- --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_2link(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5g_7GroupID_2link[] = "(STRING current_name, STRING new_name, INT link_type=LINK_HARD,\n GroupID remote=None)\n\n Create a new hard or soft link. current_name identifies\n the link target (object the link will point to). The new link is\n identified by new_name and (optionally) another group \"remote\".\n\n Link types are:\n\n LINK_HARD\n Hard link to existing object (default)\n\n LINK_SOFT\n Symbolic link; link target need not exist.\n "; --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_2link(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_5link(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5g_7GroupID_4link[] = "(STRING current_name, STRING new_name, INT link_type=LINK_HARD,\n GroupID remote=None)\n\n Create a new hard or soft link. current_name identifies\n the link target (object the link will point to). The new link is\n identified by new_name and (optionally) another group \"remote\".\n\n Link types are:\n\n LINK_HARD\n Hard link to existing object (default)\n\n LINK_SOFT\n Symbolic link; link target need not exist.\n "; -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_5link(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - char *__pyx_v_current_name; - char *__pyx_v_new_name; - int __pyx_v_link_type; - struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_remote = 0; -- hid_t __pyx_v_remote_id; -- PyObject *__pyx_r = NULL; -- int __pyx_t_1; -- herr_t __pyx_t_2; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__current_name,&__pyx_n_s__new_name,&__pyx_n_s__link_type,&__pyx_n_s__remote,0}; -- __Pyx_RefNannySetupContext("link"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("link (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__current_name,&__pyx_n_s__new_name,&__pyx_n_s__link_type,&__pyx_n_s__remote,0}; - PyObject* values[4] = {0,0,0,0}; - - /* "h5py/h5g.pyx":254 -@@ -3029,38 +3039,50 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * GroupID remote=None) - */ - values[3] = (PyObject *)((struct __pyx_obj_4h5py_3h5g_GroupID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__current_name); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__new_name); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("link", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- case 2: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__link_type); -- if (value) { values[2] = value; kw_args--; } -- } -- case 3: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__remote); -- if (value) { values[3] = value; kw_args--; } -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__current_name)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__new_name)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("link", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 2: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__link_type); -+ if (value) { values[2] = value; kw_args--; } -+ } -+ case 3: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__remote); -+ if (value) { values[3] = value; kw_args--; } -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "link") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "link") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - __pyx_v_current_name = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_current_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_new_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_new_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -@@ -3070,30 +3092,44 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - __pyx_v_link_type = __pyx_k_5; - } - __pyx_v_remote = ((struct __pyx_obj_4h5py_3h5g_GroupID *)values[3]); -- } else { -- __pyx_v_link_type = __pyx_k_5; -- __pyx_v_remote = ((struct __pyx_obj_4h5py_3h5g_GroupID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 4: -- __pyx_v_remote = ((struct __pyx_obj_4h5py_3h5g_GroupID *)PyTuple_GET_ITEM(__pyx_args, 3)); -- case 3: -- __pyx_v_link_type = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_link_type == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 2: -- __pyx_v_new_name = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_new_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_current_name = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((!__pyx_v_current_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("link", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5g.GroupID.link"); -+ __Pyx_AddTraceback("h5py.h5g.GroupID.link", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_remote), __pyx_ptype_4h5py_3h5g_GroupID, 1, "remote", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_4link(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self), __pyx_v_current_name, __pyx_v_new_name, __pyx_v_link_type, __pyx_v_remote); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5g.pyx":253 -+ * -+ * -+ * def link(self, char* current_name, char* new_name, # <<<<<<<<<<<<<< -+ * int link_type=H5G_LINK_HARD, GroupID remote=None): -+ * """(STRING current_name, STRING new_name, INT link_type=LINK_HARD, -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_4link(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_current_name, char *__pyx_v_new_name, int __pyx_v_link_type, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_remote) { -+ hid_t __pyx_v_remote_id; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ int __pyx_t_1; -+ hid_t __pyx_t_2; -+ herr_t __pyx_t_3; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("link", 0); - - /* "h5py/h5g.pyx":271 - * """ -@@ -3112,8 +3148,9 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * else: - * remote_id = remote.id - */ -- __pyx_v_remote_id = ((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id; -- goto __pyx_L6; -+ __pyx_t_2 = __pyx_v_self->__pyx_base.id; -+ __pyx_v_remote_id = __pyx_t_2; -+ goto __pyx_L3; - } - /*else*/ { - -@@ -3124,9 +3161,10 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * - * H5Glink2(self.id, current_name, link_type, remote_id, new_name) - */ -- __pyx_v_remote_id = __pyx_v_remote->__pyx_base.id; -+ __pyx_t_2 = __pyx_v_remote->__pyx_base.id; -+ __pyx_v_remote_id = __pyx_t_2; - } -- __pyx_L6:; -+ __pyx_L3:; - - /* "h5py/h5g.pyx":276 - * remote_id = remote.id -@@ -3135,12 +3173,12 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * - * - */ -- __pyx_t_2 = __pyx_f_4h5py_4defs_H5Glink2(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_current_name, ((H5G_link_t)__pyx_v_link_type), __pyx_v_remote_id, __pyx_v_new_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = __pyx_f_4h5py_4defs_H5Glink2(__pyx_v_self->__pyx_base.id, __pyx_v_current_name, ((H5G_link_t)__pyx_v_link_type), __pyx_v_remote_id, __pyx_v_new_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5g.GroupID.link"); -+ __Pyx_AddTraceback("h5py.h5g.GroupID.link", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3148,6 +3186,28 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_7unlink(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/ -+static char __pyx_doc_4h5py_3h5g_7GroupID_6unlink[] = "(STRING name)\n\n Remove a link to an object from this group.\n "; -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_7unlink(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) { -+ char *__pyx_v_name; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("unlink (wrapper)", 0); -+ assert(__pyx_arg_name); { -+ __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5g.GroupID.unlink", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_6unlink(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self), ((char *)__pyx_v_name)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5g.pyx":279 - * - * -@@ -3156,22 +3216,14 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_3unlink(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/ --static char __pyx_doc_4h5py_3h5g_7GroupID_3unlink[] = "(STRING name)\n\n Remove a link to an object from this group.\n "; --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_3unlink(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) { -- char *__pyx_v_name; -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_6unlink(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_name) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("unlink"); -- assert(__pyx_arg_name); { -- __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5g.GroupID.unlink"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("unlink", 0); - - /* "h5py/h5g.pyx":284 - * Remove a link to an object from this group. -@@ -3180,12 +3232,12 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gunlink(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gunlink(__pyx_v_self->__pyx_base.id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5g.GroupID.unlink"); -+ __Pyx_AddTraceback("h5py.h5g.GroupID.unlink", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3193,81 +3245,99 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - return __pyx_r; - } - --/* "h5py/h5g.pyx":287 -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_9move(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5g_7GroupID_8move[] = "(STRING current_name, STRING new_name, GroupID remote=None)\n\n Relink an object. current_name identifies the object.\n new_name and (optionally) another group \"remote\" determine\n where it should be moved.\n "; -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_9move(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+ char *__pyx_v_current_name; -+ char *__pyx_v_new_name; -+ struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_remote = 0; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("move (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__current_name,&__pyx_n_s__new_name,&__pyx_n_s__remote,0}; -+ PyObject* values[3] = {0,0,0}; -+ -+ /* "h5py/h5g.pyx":287 - * - * - * def move(self, char* current_name, char* new_name, GroupID remote=None): # <<<<<<<<<<<<<< - * """(STRING current_name, STRING new_name, GroupID remote=None) - * - */ -- --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_4move(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5g_7GroupID_4move[] = "(STRING current_name, STRING new_name, GroupID remote=None)\n\n Relink an object. current_name identifies the object.\n new_name and (optionally) another group \"remote\" determine\n where it should be moved.\n "; --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_4move(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -- char *__pyx_v_current_name; -- char *__pyx_v_new_name; -- struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_remote = 0; -- hid_t __pyx_v_remote_id; -- PyObject *__pyx_r = NULL; -- int __pyx_t_1; -- herr_t __pyx_t_2; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__current_name,&__pyx_n_s__new_name,&__pyx_n_s__remote,0}; -- __Pyx_RefNannySetupContext("move"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -- PyObject* values[3] = {0,0,0}; - values[2] = (PyObject *)((struct __pyx_obj_4h5py_3h5g_GroupID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__current_name); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__new_name); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("move", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- case 2: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__remote); -- if (value) { values[2] = value; kw_args--; } -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__current_name)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__new_name)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("move", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 2: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__remote); -+ if (value) { values[2] = value; kw_args--; } -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "move") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "move") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - __pyx_v_current_name = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_current_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_new_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_new_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_remote = ((struct __pyx_obj_4h5py_3h5g_GroupID *)values[2]); -- } else { -- __pyx_v_remote = ((struct __pyx_obj_4h5py_3h5g_GroupID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: -- __pyx_v_remote = ((struct __pyx_obj_4h5py_3h5g_GroupID *)PyTuple_GET_ITEM(__pyx_args, 2)); -- case 2: -- __pyx_v_new_name = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_new_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_current_name = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((!__pyx_v_current_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("move", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5g.GroupID.move"); -+ __Pyx_AddTraceback("h5py.h5g.GroupID.move", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_remote), __pyx_ptype_4h5py_3h5g_GroupID, 1, "remote", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_8move(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self), __pyx_v_current_name, __pyx_v_new_name, __pyx_v_remote); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_8move(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_current_name, char *__pyx_v_new_name, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_remote) { -+ hid_t __pyx_v_remote_id; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ int __pyx_t_1; -+ hid_t __pyx_t_2; -+ herr_t __pyx_t_3; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("move", 0); - - /* "h5py/h5g.pyx":295 - * """ -@@ -3286,8 +3356,9 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * else: - * remote_id = remote.id - */ -- __pyx_v_remote_id = ((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id; -- goto __pyx_L6; -+ __pyx_t_2 = __pyx_v_self->__pyx_base.id; -+ __pyx_v_remote_id = __pyx_t_2; -+ goto __pyx_L3; - } - /*else*/ { - -@@ -3298,9 +3369,10 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * - * H5Gmove2(self.id, current_name, remote_id, new_name) - */ -- __pyx_v_remote_id = __pyx_v_remote->__pyx_base.id; -+ __pyx_t_2 = __pyx_v_remote->__pyx_base.id; -+ __pyx_v_remote_id = __pyx_t_2; - } -- __pyx_L6:; -+ __pyx_L3:; - - /* "h5py/h5g.pyx":300 - * remote_id = remote.id -@@ -3309,12 +3381,12 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * - * - */ -- __pyx_t_2 = __pyx_f_4h5py_4defs_H5Gmove2(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_current_name, __pyx_v_remote_id, __pyx_v_new_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = __pyx_f_4h5py_4defs_H5Gmove2(__pyx_v_self->__pyx_base.id, __pyx_v_current_name, __pyx_v_remote_id, __pyx_v_new_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5g.GroupID.move"); -+ __Pyx_AddTraceback("h5py.h5g.GroupID.move", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3322,6 +3394,18 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_11get_num_objs(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5g_7GroupID_10get_num_objs[] = "() => INT number_of_objects\n\n Get the number of objects directly attached to a given group.\n "; -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_11get_num_objs(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_num_objs (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_10get_num_objs(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5g.pyx":303 - * - * -@@ -3330,14 +3414,16 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_5get_num_objs(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5g_7GroupID_5get_num_objs[] = "() => INT number_of_objects\n\n Get the number of objects directly attached to a given group.\n "; --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_5get_num_objs(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_10get_num_objs(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self) { - hsize_t __pyx_v_size; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_num_objs"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_num_objs", 0); - - /* "h5py/h5g.pyx":309 - * """ -@@ -3346,7 +3432,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * return size - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_num_objs(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_num_objs(__pyx_v_self->__pyx_base.id, (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5g.pyx":310 - * cdef hsize_t size -@@ -3366,7 +3452,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5g.GroupID.get_num_objs"); -+ __Pyx_AddTraceback("h5py.h5g.GroupID.get_num_objs", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3374,6 +3460,28 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_13get_objname_by_idx(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx); /*proto*/ -+static char __pyx_doc_4h5py_3h5g_7GroupID_12get_objname_by_idx[] = "(INT idx) => STRING\n\n Get the name of a group member given its zero-based index.\n "; -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_13get_objname_by_idx(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx) { -+ hsize_t __pyx_v_idx; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_objname_by_idx (wrapper)", 0); -+ assert(__pyx_arg_idx); { -+ __pyx_v_idx = __Pyx_PyInt_from_py_hsize_t(__pyx_arg_idx); if (unlikely((__pyx_v_idx == (hsize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5g.GroupID.get_objname_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_12get_objname_by_idx(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self), ((hsize_t)__pyx_v_idx)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5g.pyx":313 - * - * -@@ -3382,27 +3490,19 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_6get_objname_by_idx(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx); /*proto*/ --static char __pyx_doc_4h5py_3h5g_7GroupID_6get_objname_by_idx[] = "(INT idx) => STRING\n\n Get the name of a group member given its zero-based index.\n "; --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_6get_objname_by_idx(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx) { -- hsize_t __pyx_v_idx; -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_12get_objname_by_idx(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, hsize_t __pyx_v_idx) { - int __pyx_v_size; - char *__pyx_v_buf; - char *__pyx_v_pystring; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - void *__pyx_t_2; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("get_objname_by_idx"); -- assert(__pyx_arg_idx); { -- __pyx_v_idx = __Pyx_PyInt_from_py_hsize_t(__pyx_arg_idx); if (unlikely((__pyx_v_idx == (hsize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5g.GroupID.get_objname_by_idx"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_objname_by_idx", 0); - - /* "h5py/h5g.pyx":320 - * cdef int size -@@ -3420,7 +3520,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * - * buf = emalloc(sizeof(char)*(size+1)) - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_objname_by_idx(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_idx, NULL, 0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_objname_by_idx(__pyx_v_self->__pyx_base.id, __pyx_v_idx, NULL, 0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_size = __pyx_t_1; - - /* "h5py/h5g.pyx":324 -@@ -3449,7 +3549,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * pystring = buf - * return pystring - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_objname_by_idx(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_idx, __pyx_v_buf, (__pyx_v_size + 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_objname_by_idx(__pyx_v_self->__pyx_base.id, __pyx_v_idx, __pyx_v_buf, (__pyx_v_size + 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L4;} - - /* "h5py/h5g.pyx":327 - * try: -@@ -3468,11 +3568,11 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * efree(buf) - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_3 = PyBytes_FromString(__pyx_v_pystring); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_3 = PyBytes_FromString(__pyx_v_pystring); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - __pyx_r = ((PyObject *)__pyx_t_3); - __pyx_t_3 = 0; -- goto __pyx_L5; -+ goto __pyx_L3; - } - - /* "h5py/h5g.pyx":330 -@@ -3487,17 +3587,17 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L7; -- __pyx_L5: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 3; goto __pyx_L7; -- __pyx_L6: { -+ __pyx_why = 0; goto __pyx_L5; -+ __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -+ __pyx_why = 3; goto __pyx_L5; -+ __pyx_L4: { - __pyx_why = 4; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L7; -+ goto __pyx_L5; - } -- __pyx_L7:; -+ __pyx_L5:; - __pyx_f_4h5py_5utils_efree(__pyx_v_buf); - switch (__pyx_why) { - case 3: goto __pyx_L0; -@@ -3516,7 +3616,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5g.GroupID.get_objname_by_idx"); -+ __Pyx_AddTraceback("h5py.h5g.GroupID.get_objname_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3524,6 +3624,28 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_15get_objtype_by_idx(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx); /*proto*/ -+static char __pyx_doc_4h5py_3h5g_7GroupID_14get_objtype_by_idx[] = "(INT idx) => INT object_type_code\n\n Get the type of an object attached to a group, given its zero-based\n index. Possible return values are:\n\n - LINK\n - GROUP\n - DATASET\n - TYPE\n "; -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_15get_objtype_by_idx(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx) { -+ hsize_t __pyx_v_idx; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_objtype_by_idx (wrapper)", 0); -+ assert(__pyx_arg_idx); { -+ __pyx_v_idx = __Pyx_PyInt_from_py_hsize_t(__pyx_arg_idx); if (unlikely((__pyx_v_idx == (hsize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5g.GroupID.get_objtype_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_14get_objtype_by_idx(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self), ((hsize_t)__pyx_v_idx)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5g.pyx":333 - * - * -@@ -3532,23 +3654,15 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_7get_objtype_by_idx(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx); /*proto*/ --static char __pyx_doc_4h5py_3h5g_7GroupID_7get_objtype_by_idx[] = "(INT idx) => INT object_type_code\n\n Get the type of an object attached to a group, given its zero-based\n index. Possible return values are:\n\n - LINK\n - GROUP\n - DATASET\n - TYPE\n "; --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_7get_objtype_by_idx(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx) { -- hsize_t __pyx_v_idx; -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_14get_objtype_by_idx(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, hsize_t __pyx_v_idx) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_objtype_by_idx"); -- assert(__pyx_arg_idx); { -- __pyx_v_idx = __Pyx_PyInt_from_py_hsize_t(__pyx_arg_idx); if (unlikely((__pyx_v_idx == (hsize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5g.GroupID.get_objtype_by_idx"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_objtype_by_idx", 0); - - /* "h5py/h5g.pyx":344 - * - TYPE -@@ -3558,8 +3672,8 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_objtype_by_idx(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_idx); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_objtype_by_idx(__pyx_v_self->__pyx_base.id, __pyx_v_idx); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; -@@ -3569,7 +3683,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5g.GroupID.get_objtype_by_idx"); -+ __Pyx_AddTraceback("h5py.h5g.GroupID.get_objtype_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3577,6 +3691,28 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_17get_linkval(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/ -+static char __pyx_doc_4h5py_3h5g_7GroupID_16get_linkval[] = "(STRING name) => STRING link_value\n\n Retrieve the value (target name) of a symbolic link.\n Limited to 2048 characters on Windows.\n "; -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_17get_linkval(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) { -+ char *__pyx_v_name; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_linkval (wrapper)", 0); -+ assert(__pyx_arg_name); { -+ __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5g.GroupID.get_linkval", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_16get_linkval(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self), ((char *)__pyx_v_name)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5g.pyx":347 - * - * -@@ -3585,15 +3721,13 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_8get_linkval(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/ --static char __pyx_doc_4h5py_3h5g_7GroupID_8get_linkval[] = "(STRING name) => STRING link_value\n\n Retrieve the value (target name) of a symbolic link.\n Limited to 2048 characters on Windows.\n "; --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_8get_linkval(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) { -- char *__pyx_v_name; -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_16get_linkval(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_name) { - char *__pyx_v_value; - H5G_stat_t __pyx_v_statbuf; -- PyObject *__pyx_v_linklen; -+ PyObject *__pyx_v_linklen = NULL; - char *__pyx_v_pyvalue; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; -@@ -3601,17 +3735,10 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - size_t __pyx_t_5; - void *__pyx_t_6; - Py_ssize_t __pyx_t_7; -- __Pyx_RefNannySetupContext("get_linkval"); -- assert(__pyx_arg_name); { -- __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5g.GroupID.get_linkval"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -- __pyx_v_linklen = Py_None; __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_linkval", 0); - - /* "h5py/h5g.pyx":355 - * cdef char* value -@@ -3629,7 +3756,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * - * if statbuf.type != H5G_LINK: - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_objinfo(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_name, 0, (&__pyx_v_statbuf)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_objinfo(__pyx_v_self->__pyx_base.id, __pyx_v_name, 0, (&__pyx_v_statbuf)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5g.pyx":359 - * H5Gget_objinfo(self.id, name, 0, &statbuf) -@@ -3654,19 +3781,19 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); - __pyx_t_4 = 0; - __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; -- __Pyx_Raise(__pyx_t_4, 0, 0); -+ __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L5; -+ goto __pyx_L3; - } -- __pyx_L5:; -+ __pyx_L3:; - - /* "h5py/h5g.pyx":365 - * linklen = 2049 # Windows statbuf.linklen seems broken -@@ -3677,7 +3804,6 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - */ - __pyx_t_4 = __Pyx_PyInt_FromSize_t((__pyx_v_statbuf.linklen + 1)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); -- __Pyx_DECREF(__pyx_v_linklen); - __pyx_v_linklen = __pyx_t_4; - __pyx_t_4 = 0; - -@@ -3714,8 +3840,8 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * value[linklen-1] = c'\0' # in case HDF5 doesn't null terminate on Windows - * pyvalue = value - */ -- __pyx_t_5 = __Pyx_PyInt_AsSize_t(__pyx_v_linklen); if (unlikely((__pyx_t_5 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L7;} -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_linkval(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_name, __pyx_t_5, __pyx_v_value); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_5 = __Pyx_PyInt_AsSize_t(__pyx_v_linklen); if (unlikely((__pyx_t_5 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L5;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_linkval(__pyx_v_self->__pyx_base.id, __pyx_v_name, __pyx_t_5, __pyx_v_value); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L5;} - - /* "h5py/h5g.pyx":369 - * try: -@@ -3724,9 +3850,9 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * pyvalue = value - * return pyvalue - */ -- __pyx_t_3 = PyNumber_Subtract(__pyx_v_linklen, __pyx_int_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_3 = PyNumber_Subtract(__pyx_v_linklen, __pyx_int_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L5;} - __Pyx_GOTREF(__pyx_t_3); -- __pyx_t_7 = __Pyx_PyIndex_AsSsize_t(__pyx_t_3); if (unlikely((__pyx_t_7 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_7 = __Pyx_PyIndex_AsSsize_t(__pyx_t_3); if (unlikely((__pyx_t_7 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L5;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - (__pyx_v_value[__pyx_t_7]) = '\x00'; - -@@ -3747,11 +3873,11 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * efree(value) - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_3 = PyBytes_FromString(__pyx_v_pyvalue); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_3 = PyBytes_FromString(__pyx_v_pyvalue); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L5;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - __pyx_r = ((PyObject *)__pyx_t_3); - __pyx_t_3 = 0; -- goto __pyx_L6; -+ goto __pyx_L4; - } - - /* "h5py/h5g.pyx":373 -@@ -3766,18 +3892,18 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L8; -- __pyx_L6: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 3; goto __pyx_L8; -- __pyx_L7: { -+ __pyx_why = 0; goto __pyx_L6; -+ __pyx_L4: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -+ __pyx_why = 3; goto __pyx_L6; -+ __pyx_L5: { - __pyx_why = 4; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L8; -+ goto __pyx_L6; - } -- __pyx_L8:; -+ __pyx_L6:; - __pyx_f_4h5py_5utils_efree(__pyx_v_value); - switch (__pyx_why) { - case 3: goto __pyx_L0; -@@ -3797,72 +3923,88 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5g.GroupID.get_linkval"); -+ __Pyx_AddTraceback("h5py.h5g.GroupID.get_linkval", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF(__pyx_v_linklen); -+ __Pyx_XDECREF(__pyx_v_linklen); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - --/* "h5py/h5g.pyx":376 -- * -- * -- * def set_comment(self, char* name, char* comment): # <<<<<<<<<<<<<< -- * """(STRING name, STRING comment) -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_9set_comment(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5g_7GroupID_9set_comment[] = "(STRING name, STRING comment)\n\n Set the comment on a group member.\n "; --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_9set_comment(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_19set_comment(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5g_7GroupID_18set_comment[] = "(STRING name, STRING comment)\n\n Set the comment on a group member.\n "; -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_19set_comment(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - char *__pyx_v_name; - char *__pyx_v_comment; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__name,&__pyx_n_s__comment,0}; -- __Pyx_RefNannySetupContext("set_comment"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_comment (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__name,&__pyx_n_s__comment,0}; - PyObject* values[2] = {0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__comment); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("set_comment", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "set_comment") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__comment)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("set_comment", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_comment") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_name = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_comment = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_comment) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_name = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_comment = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_comment) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("set_comment", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5g.GroupID.set_comment"); -+ __Pyx_AddTraceback("h5py.h5g.GroupID.set_comment", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_18set_comment(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self), __pyx_v_name, __pyx_v_comment); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5g.pyx":376 -+ * -+ * -+ * def set_comment(self, char* name, char* comment): # <<<<<<<<<<<<<< -+ * """(STRING name, STRING comment) -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_18set_comment(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_name, char *__pyx_v_comment) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_comment", 0); - - /* "h5py/h5g.pyx":381 - * Set the comment on a group member. -@@ -3871,12 +4013,12 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gset_comment(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_name, __pyx_v_comment); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gset_comment(__pyx_v_self->__pyx_base.id, __pyx_v_name, __pyx_v_comment); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5g.GroupID.set_comment"); -+ __Pyx_AddTraceback("h5py.h5g.GroupID.set_comment", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3884,6 +4026,28 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_21get_comment(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/ -+static char __pyx_doc_4h5py_3h5g_7GroupID_20get_comment[] = "(STRING name) => STRING comment\n\n Retrieve the comment for a group member.\n "; -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_21get_comment(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) { -+ char *__pyx_v_name; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_comment (wrapper)", 0); -+ assert(__pyx_arg_name); { -+ __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5g.GroupID.get_comment", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_20get_comment(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self), ((char *)__pyx_v_name)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5g.pyx":384 - * - * -@@ -3892,27 +4056,19 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_10get_comment(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/ --static char __pyx_doc_4h5py_3h5g_7GroupID_10get_comment[] = "(STRING name) => STRING comment\n\n Retrieve the comment for a group member.\n "; --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_10get_comment(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) { -- char *__pyx_v_name; -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_20get_comment(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_name) { - int __pyx_v_cmnt_len; - char *__pyx_v_cmnt; - char *__pyx_v_py_cmnt; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - void *__pyx_t_2; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("get_comment"); -- assert(__pyx_arg_name); { -- __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5g.GroupID.get_comment"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_comment", 0); - - /* "h5py/h5g.pyx":391 - * cdef int cmnt_len -@@ -3930,7 +4086,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * assert cmnt_len >= 0 - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_comment(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_name, 0, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_comment(__pyx_v_self->__pyx_base.id, __pyx_v_name, 0, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_cmnt_len = __pyx_t_1; - - /* "h5py/h5g.pyx":394 -@@ -3973,7 +4129,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * py_cmnt = cmnt - * return py_cmnt - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_comment(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_name, (__pyx_v_cmnt_len + 1), __pyx_v_cmnt); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_comment(__pyx_v_self->__pyx_base.id, __pyx_v_name, (__pyx_v_cmnt_len + 1), __pyx_v_cmnt); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L4;} - - /* "h5py/h5g.pyx":399 - * try: -@@ -3992,11 +4148,11 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * efree(cmnt) - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_3 = PyBytes_FromString(__pyx_v_py_cmnt); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_3 = PyBytes_FromString(__pyx_v_py_cmnt); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - __pyx_r = ((PyObject *)__pyx_t_3); - __pyx_t_3 = 0; -- goto __pyx_L5; -+ goto __pyx_L3; - } - - /* "h5py/h5g.pyx":402 -@@ -4011,17 +4167,17 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L7; -- __pyx_L5: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 3; goto __pyx_L7; -- __pyx_L6: { -+ __pyx_why = 0; goto __pyx_L5; -+ __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -+ __pyx_why = 3; goto __pyx_L5; -+ __pyx_L4: { - __pyx_why = 4; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L7; -+ goto __pyx_L5; - } -- __pyx_L7:; -+ __pyx_L5:; - __pyx_f_4h5py_5utils_efree(__pyx_v_cmnt); - switch (__pyx_why) { - case 3: goto __pyx_L0; -@@ -4040,7 +4196,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5g.GroupID.get_comment"); -+ __Pyx_AddTraceback("h5py.h5g.GroupID.get_comment", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4048,6 +4204,31 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - return __pyx_r; - } - -+/* Python wrapper */ -+static int __pyx_pw_4h5py_3h5g_7GroupID_23__contains__(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/ -+static char __pyx_doc_4h5py_3h5g_7GroupID_22__contains__[] = "(STRING name)\n\n Determine if a group member of the given name is present\n "; -+#if CYTHON_COMPILING_IN_CPYTHON -+struct wrapperbase __pyx_wrapperbase_4h5py_3h5g_7GroupID_22__contains__; -+#endif -+static int __pyx_pw_4h5py_3h5g_7GroupID_23__contains__(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) { -+ char *__pyx_v_name; -+ int __pyx_r; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__contains__ (wrapper)", 0); -+ assert(__pyx_arg_name); { -+ __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5g.GroupID.__contains__", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return -1; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_22__contains__(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self), ((char *)__pyx_v_name)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5g.pyx":407 - * - * -@@ -4056,24 +4237,12 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * - */ - --static int __pyx_pf_4h5py_3h5g_7GroupID_11__contains__(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/ --static char __pyx_doc_4h5py_3h5g_7GroupID_11__contains__[] = "(STRING name)\n\n Determine if a group member of the given name is present\n "; --struct wrapperbase __pyx_wrapperbase_4h5py_3h5g_7GroupID_11__contains__; --static int __pyx_pf_4h5py_3h5g_7GroupID_11__contains__(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) { -- char *__pyx_v_name; -+static int __pyx_pf_4h5py_3h5g_7GroupID_22__contains__(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_name) { - herr_t __pyx_v_retval; - int __pyx_r; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; -- __Pyx_RefNannySetupContext("__contains__"); -- assert(__pyx_arg_name); { -- __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5g.GroupID.__contains__"); -- __Pyx_RefNannyFinishContext(); -- return -1; -- __pyx_L4_argument_unpacking_done:; -+ __Pyx_RefNannySetupContext("__contains__", 0); - - /* "h5py/h5g.pyx":413 - * """ -@@ -4082,7 +4251,7 @@ static int __pyx_pf_4h5py_3h5g_7GroupID_ - * - * return bool(retval >= 0) - */ -- __pyx_v_retval = H5Gget_objinfo(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_name, 0, NULL); -+ __pyx_v_retval = H5Gget_objinfo(__pyx_v_self->__pyx_base.id, __pyx_v_name, 0, NULL); - - /* "h5py/h5g.pyx":415 - * retval = _hdf5.H5Gget_objinfo(self.id, name, 0, NULL) -@@ -4101,6 +4270,21 @@ static int __pyx_pf_4h5py_3h5g_7GroupID_ - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_25__iter__(PyObject *__pyx_v_self); /*proto*/ -+static char __pyx_doc_4h5py_3h5g_7GroupID_24__iter__[] = " Return an iterator over the names of group members. "; -+#if CYTHON_COMPILING_IN_CPYTHON -+struct wrapperbase __pyx_wrapperbase_4h5py_3h5g_7GroupID_24__iter__; -+#endif -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_25__iter__(PyObject *__pyx_v_self) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__iter__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_24__iter__(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5g.pyx":418 - * - * -@@ -4109,14 +4293,15 @@ static int __pyx_pf_4h5py_3h5g_7GroupID_ - * return GroupIter(self) - */ - --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_12__iter__(PyObject *__pyx_v_self); /*proto*/ --static char __pyx_doc_4h5py_3h5g_7GroupID_12__iter__[] = " Return an iterator over the names of group members. "; --struct wrapperbase __pyx_wrapperbase_4h5py_3h5g_7GroupID_12__iter__; --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_12__iter__(PyObject *__pyx_v_self) { -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_24__iter__(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("__iter__"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__iter__", 0); - - /* "h5py/h5g.pyx":420 - * def __iter__(self): -@@ -4127,10 +4312,10 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -- __Pyx_INCREF(__pyx_v_self); -- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); -- __Pyx_GIVEREF(__pyx_v_self); -+ __Pyx_GOTREF(__pyx_t_1); -+ __Pyx_INCREF(((PyObject *)__pyx_v_self)); -+ PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); - __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5g_GroupIter)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; -@@ -4143,7 +4328,7 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5g.GroupID.__iter__"); -+ __Pyx_AddTraceback("h5py.h5g.GroupID.__iter__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4151,6 +4336,21 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - return __pyx_r; - } - -+/* Python wrapper */ -+static Py_ssize_t __pyx_pw_4h5py_3h5g_7GroupID_27__len__(PyObject *__pyx_v_self); /*proto*/ -+static char __pyx_doc_4h5py_3h5g_7GroupID_26__len__[] = " Number of group members "; -+#if CYTHON_COMPILING_IN_CPYTHON -+struct wrapperbase __pyx_wrapperbase_4h5py_3h5g_7GroupID_26__len__; -+#endif -+static Py_ssize_t __pyx_pw_4h5py_3h5g_7GroupID_27__len__(PyObject *__pyx_v_self) { -+ Py_ssize_t __pyx_r; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__len__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_26__len__(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5g.pyx":423 - * - * -@@ -4159,14 +4359,15 @@ static PyObject *__pyx_pf_4h5py_3h5g_7Gr - * cdef hsize_t size - */ - --static Py_ssize_t __pyx_pf_4h5py_3h5g_7GroupID_13__len__(PyObject *__pyx_v_self); /*proto*/ --static char __pyx_doc_4h5py_3h5g_7GroupID_13__len__[] = " Number of group members "; --struct wrapperbase __pyx_wrapperbase_4h5py_3h5g_7GroupID_13__len__; --static Py_ssize_t __pyx_pf_4h5py_3h5g_7GroupID_13__len__(PyObject *__pyx_v_self) { -+static Py_ssize_t __pyx_pf_4h5py_3h5g_7GroupID_26__len__(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self) { - hsize_t __pyx_v_size; - Py_ssize_t __pyx_r; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("__len__"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__len__", 0); - - /* "h5py/h5g.pyx":426 - * """ Number of group members """ -@@ -4174,7 +4375,7 @@ static Py_ssize_t __pyx_pf_4h5py_3h5g_7G - * H5Gget_num_objs(self.id, &size) # <<<<<<<<<<<<<< - * return size - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_num_objs(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_num_objs(__pyx_v_self->__pyx_base.id, (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5g.pyx":427 - * cdef hsize_t size -@@ -4187,13 +4388,24 @@ static Py_ssize_t __pyx_pf_4h5py_3h5g_7G - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5g.GroupID.__len__"); -+ __Pyx_AddTraceback("h5py.h5g.GroupID.__len__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_5links_1__get__(PyObject *__pyx_v_self); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_5links_1__get__(PyObject *__pyx_v_self) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_5links___get__(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5g.pxd":19 - * cdef class GroupID(ObjectID): - * -@@ -4202,13 +4414,13 @@ static Py_ssize_t __pyx_pf_4h5py_3h5g_7G - * - */ - --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_5links___get__(PyObject *__pyx_v_self); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_5links___get__(PyObject *__pyx_v_self) { -+static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_5links___get__(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -- __Pyx_RefNannySetupContext("__get__"); -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__get__", 0); - __Pyx_XDECREF(__pyx_r); -- __Pyx_INCREF(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->links); -- __pyx_r = ((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->links; -+ __Pyx_INCREF(__pyx_v_self->links); -+ __pyx_r = __pyx_v_self->links; - goto __pyx_L0; - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); -@@ -4229,16 +4441,14 @@ static PyObject *__pyx_tp_new_4h5py_3h5g - - static void __pyx_tp_dealloc_4h5py_3h5g_GroupID(PyObject *o) { - struct __pyx_obj_4h5py_3h5g_GroupID *p = (struct __pyx_obj_4h5py_3h5g_GroupID *)o; -- Py_XDECREF(p->links); -- __pyx_ptype_4h5py_8_objects_ObjectID->tp_dealloc(o); -+ Py_CLEAR(p->links); -+ if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) __pyx_ptype_4h5py_8_objects_ObjectID->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4h5py_3h5g_GroupID); - } - - static int __pyx_tp_traverse_4h5py_3h5g_GroupID(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_4h5py_3h5g_GroupID *p = (struct __pyx_obj_4h5py_3h5g_GroupID *)o; -- if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse) { -- e = __pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse(o, v, a); if (e) return e; -- } -+ e = ((likely(__pyx_ptype_4h5py_8_objects_ObjectID)) ? ((__pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse) ? __pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_4h5py_3h5g_GroupID)); if (e) return e; - if (p->links) { - e = (*v)(p->links, a); if (e) return e; - } -@@ -4248,30 +4458,28 @@ static int __pyx_tp_traverse_4h5py_3h5g_ - static int __pyx_tp_clear_4h5py_3h5g_GroupID(PyObject *o) { - struct __pyx_obj_4h5py_3h5g_GroupID *p = (struct __pyx_obj_4h5py_3h5g_GroupID *)o; - PyObject* tmp; -- if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_clear) { -- __pyx_ptype_4h5py_8_objects_ObjectID->tp_clear(o); -- } -+ if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) { if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_clear) __pyx_ptype_4h5py_8_objects_ObjectID->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_4h5py_3h5g_GroupID); - tmp = ((PyObject*)p->links); - p->links = Py_None; Py_INCREF(Py_None); - Py_XDECREF(tmp); - return 0; - } - --static PyObject *__pyx_getprop_4h5py_3h5g_7GroupID_links(PyObject *o, void *x) { -- return __pyx_pf_4h5py_3h5g_7GroupID_5links___get__(o); -+static PyObject *__pyx_getprop_4h5py_3h5g_7GroupID_links(PyObject *o, CYTHON_UNUSED void *x) { -+ return __pyx_pw_4h5py_3h5g_7GroupID_5links_1__get__(o); - } - - static PyMethodDef __pyx_methods_4h5py_3h5g_GroupID[] = { -- {__Pyx_NAMESTR("_close"), (PyCFunction)__pyx_pf_4h5py_3h5g_7GroupID_1_close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_1_close)}, -- {__Pyx_NAMESTR("link"), (PyCFunction)__pyx_pf_4h5py_3h5g_7GroupID_2link, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_2link)}, -- {__Pyx_NAMESTR("unlink"), (PyCFunction)__pyx_pf_4h5py_3h5g_7GroupID_3unlink, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_3unlink)}, -- {__Pyx_NAMESTR("move"), (PyCFunction)__pyx_pf_4h5py_3h5g_7GroupID_4move, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_4move)}, -- {__Pyx_NAMESTR("get_num_objs"), (PyCFunction)__pyx_pf_4h5py_3h5g_7GroupID_5get_num_objs, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_5get_num_objs)}, -- {__Pyx_NAMESTR("get_objname_by_idx"), (PyCFunction)__pyx_pf_4h5py_3h5g_7GroupID_6get_objname_by_idx, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_6get_objname_by_idx)}, -- {__Pyx_NAMESTR("get_objtype_by_idx"), (PyCFunction)__pyx_pf_4h5py_3h5g_7GroupID_7get_objtype_by_idx, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_7get_objtype_by_idx)}, -- {__Pyx_NAMESTR("get_linkval"), (PyCFunction)__pyx_pf_4h5py_3h5g_7GroupID_8get_linkval, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_8get_linkval)}, -- {__Pyx_NAMESTR("set_comment"), (PyCFunction)__pyx_pf_4h5py_3h5g_7GroupID_9set_comment, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_9set_comment)}, -- {__Pyx_NAMESTR("get_comment"), (PyCFunction)__pyx_pf_4h5py_3h5g_7GroupID_10get_comment, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_10get_comment)}, -+ {__Pyx_NAMESTR("_close"), (PyCFunction)__pyx_pw_4h5py_3h5g_7GroupID_3_close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_2_close)}, -+ {__Pyx_NAMESTR("link"), (PyCFunction)__pyx_pw_4h5py_3h5g_7GroupID_5link, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_4link)}, -+ {__Pyx_NAMESTR("unlink"), (PyCFunction)__pyx_pw_4h5py_3h5g_7GroupID_7unlink, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_6unlink)}, -+ {__Pyx_NAMESTR("move"), (PyCFunction)__pyx_pw_4h5py_3h5g_7GroupID_9move, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_8move)}, -+ {__Pyx_NAMESTR("get_num_objs"), (PyCFunction)__pyx_pw_4h5py_3h5g_7GroupID_11get_num_objs, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_10get_num_objs)}, -+ {__Pyx_NAMESTR("get_objname_by_idx"), (PyCFunction)__pyx_pw_4h5py_3h5g_7GroupID_13get_objname_by_idx, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_12get_objname_by_idx)}, -+ {__Pyx_NAMESTR("get_objtype_by_idx"), (PyCFunction)__pyx_pw_4h5py_3h5g_7GroupID_15get_objtype_by_idx, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_14get_objtype_by_idx)}, -+ {__Pyx_NAMESTR("get_linkval"), (PyCFunction)__pyx_pw_4h5py_3h5g_7GroupID_17get_linkval, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_16get_linkval)}, -+ {__Pyx_NAMESTR("set_comment"), (PyCFunction)__pyx_pw_4h5py_3h5g_7GroupID_19set_comment, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_18set_comment)}, -+ {__Pyx_NAMESTR("get_comment"), (PyCFunction)__pyx_pw_4h5py_3h5g_7GroupID_21get_comment, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_20get_comment)}, - {0, 0, 0, 0} - }; - -@@ -4339,20 +4547,20 @@ static PyNumberMethods __pyx_tp_as_numbe - }; - - static PySequenceMethods __pyx_tp_as_sequence_GroupID = { -- __pyx_pf_4h5py_3h5g_7GroupID_13__len__, /*sq_length*/ -+ __pyx_pw_4h5py_3h5g_7GroupID_27__len__, /*sq_length*/ - 0, /*sq_concat*/ - 0, /*sq_repeat*/ - 0, /*sq_item*/ - 0, /*sq_slice*/ - 0, /*sq_ass_item*/ - 0, /*sq_ass_slice*/ -- __pyx_pf_4h5py_3h5g_7GroupID_11__contains__, /*sq_contains*/ -+ __pyx_pw_4h5py_3h5g_7GroupID_23__contains__, /*sq_contains*/ - 0, /*sq_inplace_concat*/ - 0, /*sq_inplace_repeat*/ - }; - - static PyMappingMethods __pyx_tp_as_mapping_GroupID = { -- __pyx_pf_4h5py_3h5g_7GroupID_13__len__, /*mp_length*/ -+ __pyx_pw_4h5py_3h5g_7GroupID_27__len__, /*mp_length*/ - 0, /*mp_subscript*/ - 0, /*mp_ass_subscript*/ - }; -@@ -4408,7 +4616,7 @@ static PyTypeObject __pyx_type_4h5py_3h5 - __pyx_tp_clear_4h5py_3h5g_GroupID, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ -- __pyx_pf_4h5py_3h5g_7GroupID_12__iter__, /*tp_iter*/ -+ __pyx_pw_4h5py_3h5g_7GroupID_25__iter__, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_4h5py_3h5g_GroupID, /*tp_methods*/ - 0, /*tp_members*/ -@@ -4418,7 +4626,7 @@ static PyTypeObject __pyx_type_4h5py_3h5 - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - 0, /*tp_dictoffset*/ -- __pyx_pf_4h5py_3h5g_7GroupID___init__, /*tp_init*/ -+ __pyx_pw_4h5py_3h5g_7GroupID_1__init__, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_4h5py_3h5g_GroupID, /*tp_new*/ - 0, /*tp_free*/ -@@ -4434,7 +4642,7 @@ static PyTypeObject __pyx_type_4h5py_3h5 - #endif - }; - --static PyObject *__pyx_tp_new_4h5py_3h5g_GroupStat(PyTypeObject *t, PyObject *a, PyObject *k) { -+static PyObject *__pyx_tp_new_4h5py_3h5g_GroupStat(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o = (*t->tp_alloc)(t, 0); - if (!o) return 0; - return o; -@@ -4444,32 +4652,32 @@ static void __pyx_tp_dealloc_4h5py_3h5g_ - (*Py_TYPE(o)->tp_free)(o); - } - --static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_fileno(PyObject *o, void *x) { -- return __pyx_pf_4h5py_3h5g_9GroupStat_6fileno___get__(o); -+static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_fileno(PyObject *o, CYTHON_UNUSED void *x) { -+ return __pyx_pw_4h5py_3h5g_9GroupStat_6fileno_1__get__(o); - } - --static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_objno(PyObject *o, void *x) { -- return __pyx_pf_4h5py_3h5g_9GroupStat_5objno___get__(o); -+static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_objno(PyObject *o, CYTHON_UNUSED void *x) { -+ return __pyx_pw_4h5py_3h5g_9GroupStat_5objno_1__get__(o); - } - --static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_nlink(PyObject *o, void *x) { -- return __pyx_pf_4h5py_3h5g_9GroupStat_5nlink___get__(o); -+static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_nlink(PyObject *o, CYTHON_UNUSED void *x) { -+ return __pyx_pw_4h5py_3h5g_9GroupStat_5nlink_1__get__(o); - } - --static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_type(PyObject *o, void *x) { -- return __pyx_pf_4h5py_3h5g_9GroupStat_4type___get__(o); -+static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_type(PyObject *o, CYTHON_UNUSED void *x) { -+ return __pyx_pw_4h5py_3h5g_9GroupStat_4type_1__get__(o); - } - --static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_mtime(PyObject *o, void *x) { -- return __pyx_pf_4h5py_3h5g_9GroupStat_5mtime___get__(o); -+static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_mtime(PyObject *o, CYTHON_UNUSED void *x) { -+ return __pyx_pw_4h5py_3h5g_9GroupStat_5mtime_1__get__(o); - } - --static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_linklen(PyObject *o, void *x) { -- return __pyx_pf_4h5py_3h5g_9GroupStat_7linklen___get__(o); -+static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_linklen(PyObject *o, CYTHON_UNUSED void *x) { -+ return __pyx_pw_4h5py_3h5g_9GroupStat_7linklen_1__get__(o); - } - - static PyMethodDef __pyx_methods_4h5py_3h5g_GroupStat[] = { -- {__Pyx_NAMESTR("_hash"), (PyCFunction)__pyx_pf_4h5py_3h5g_9GroupStat__hash, METH_NOARGS, __Pyx_DOCSTR(0)}, -+ {__Pyx_NAMESTR("_hash"), (PyCFunction)__pyx_pw_4h5py_3h5g_9GroupStat_1_hash, METH_NOARGS, __Pyx_DOCSTR(0)}, - {0, 0, 0, 0} - }; - -@@ -4637,7 +4845,7 @@ static PyTypeObject __pyx_type_4h5py_3h5 - #endif - }; - --static PyObject *__pyx_tp_new_4h5py_3h5g_GroupIter(PyTypeObject *t, PyObject *a, PyObject *k) { -+static PyObject *__pyx_tp_new_4h5py_3h5g_GroupIter(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - struct __pyx_obj_4h5py_3h5g_GroupIter *p; - PyObject *o = (*t->tp_alloc)(t, 0); - if (!o) return 0; -@@ -4648,7 +4856,7 @@ static PyObject *__pyx_tp_new_4h5py_3h5g - - static void __pyx_tp_dealloc_4h5py_3h5g_GroupIter(PyObject *o) { - struct __pyx_obj_4h5py_3h5g_GroupIter *p = (struct __pyx_obj_4h5py_3h5g_GroupIter *)o; -- Py_XDECREF(((PyObject *)p->grp)); -+ Py_CLEAR(p->grp); - (*Py_TYPE(o)->tp_free)(o); - } - -@@ -4671,7 +4879,7 @@ static int __pyx_tp_clear_4h5py_3h5g_Gro - } - - static PyMethodDef __pyx_methods_4h5py_3h5g_GroupIter[] = { -- {__Pyx_NAMESTR("__next__"), (PyCFunction)__pyx_pf_4h5py_3h5g_9GroupIter_2__next__, METH_NOARGS|METH_COEXIST, __Pyx_DOCSTR(0)}, -+ {__Pyx_NAMESTR("__next__"), (PyCFunction)__pyx_pw_4h5py_3h5g_9GroupIter_5__next__, METH_NOARGS|METH_COEXIST, __Pyx_DOCSTR(0)}, - {0, 0, 0, 0} - }; - -@@ -4803,8 +5011,8 @@ static PyTypeObject __pyx_type_4h5py_3h5 - __pyx_tp_clear_4h5py_3h5g_GroupIter, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ -- __pyx_pf_4h5py_3h5g_9GroupIter_1__iter__, /*tp_iter*/ -- __pyx_pf_4h5py_3h5g_9GroupIter_2__next__, /*tp_iternext*/ -+ __pyx_pw_4h5py_3h5g_9GroupIter_3__iter__, /*tp_iter*/ -+ __pyx_pw_4h5py_3h5g_9GroupIter_5__next__, /*tp_iternext*/ - __pyx_methods_4h5py_3h5g_GroupIter, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ -@@ -4813,7 +5021,7 @@ static PyTypeObject __pyx_type_4h5py_3h5 - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - 0, /*tp_dictoffset*/ -- __pyx_pf_4h5py_3h5g_9GroupIter___init__, /*tp_init*/ -+ __pyx_pw_4h5py_3h5g_9GroupIter_1__init__, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_4h5py_3h5g_GroupIter, /*tp_new*/ - 0, /*tp_free*/ -@@ -4829,7 +5037,7 @@ static PyTypeObject __pyx_type_4h5py_3h5 - #endif - }; - --static PyObject *__pyx_tp_new_4h5py_3h5g__GroupVisitor(PyTypeObject *t, PyObject *a, PyObject *k) { -+static PyObject *__pyx_tp_new_4h5py_3h5g__GroupVisitor(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - struct __pyx_obj_4h5py_3h5g__GroupVisitor *p; - PyObject *o = (*t->tp_alloc)(t, 0); - if (!o) return 0; -@@ -4841,8 +5049,8 @@ static PyObject *__pyx_tp_new_4h5py_3h5g - - static void __pyx_tp_dealloc_4h5py_3h5g__GroupVisitor(PyObject *o) { - struct __pyx_obj_4h5py_3h5g__GroupVisitor *p = (struct __pyx_obj_4h5py_3h5g__GroupVisitor *)o; -- Py_XDECREF(p->func); -- Py_XDECREF(p->retval); -+ Py_CLEAR(p->func); -+ Py_CLEAR(p->retval); - (*Py_TYPE(o)->tp_free)(o); - } - -@@ -5012,7 +5220,7 @@ static PyTypeObject __pyx_type_4h5py_3h5 - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - 0, /*tp_dictoffset*/ -- __pyx_pf_4h5py_3h5g_13_GroupVisitor___init__, /*tp_init*/ -+ __pyx_pw_4h5py_3h5g_13_GroupVisitor_1__init__, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_4h5py_3h5g__GroupVisitor, /*tp_new*/ - 0, /*tp_free*/ -@@ -5048,9 +5256,10 @@ static struct PyModuleDef __pyx_modulede - - static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0}, -+ {&__pyx_kp_s_10, __pyx_k_10, sizeof(__pyx_k_10), 0, 0, 1, 0}, -+ {&__pyx_n_s_11, __pyx_k_11, sizeof(__pyx_k_11), 0, 0, 1, 1}, - {&__pyx_kp_s_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 1, 0}, - {&__pyx_kp_s_6, __pyx_k_6, sizeof(__pyx_k_6), 0, 0, 1, 0}, -- {&__pyx_n_s_8, __pyx_k_8, sizeof(__pyx_k_8), 0, 0, 1, 1}, - {&__pyx_n_s__DATASET, __pyx_k__DATASET, sizeof(__pyx_k__DATASET), 0, 0, 1, 1}, - {&__pyx_n_s__GROUP, __pyx_k__GROUP, sizeof(__pyx_k__GROUP), 0, 0, 1, 1}, - {&__pyx_n_s__LINK, __pyx_k__LINK, sizeof(__pyx_k__LINK), 0, 0, 1, 1}, -@@ -5066,7 +5275,9 @@ static __Pyx_StringTabEntry __pyx_string - {&__pyx_n_s____exit__, __pyx_k____exit__, sizeof(__pyx_k____exit__), 0, 0, 1, 1}, - {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1}, - {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1}, -+ {&__pyx_n_s___name, __pyx_k___name, sizeof(__pyx_k___name), 0, 0, 1, 1}, - {&__pyx_n_s___objects, __pyx_k___objects, sizeof(__pyx_k___objects), 0, 0, 1, 1}, -+ {&__pyx_n_s__cname, __pyx_k__cname, sizeof(__pyx_k__cname), 0, 0, 1, 1}, - {&__pyx_n_s__comment, __pyx_k__comment, sizeof(__pyx_k__comment), 0, 0, 1, 1}, - {&__pyx_n_s__create, __pyx_k__create, sizeof(__pyx_k__create), 0, 0, 1, 1}, - {&__pyx_n_s__current_name, __pyx_k__current_name, sizeof(__pyx_k__current_name), 0, 0, 1, 1}, -@@ -5077,34 +5288,33 @@ static __Pyx_StringTabEntry __pyx_string - {&__pyx_n_s__get_num_objs, __pyx_k__get_num_objs, sizeof(__pyx_k__get_num_objs), 0, 0, 1, 1}, - {&__pyx_n_s__get_objinfo, __pyx_k__get_objinfo, sizeof(__pyx_k__get_objinfo), 0, 0, 1, 1}, - {&__pyx_n_s__get_objname_by_idx, __pyx_k__get_objname_by_idx, sizeof(__pyx_k__get_objname_by_idx), 0, 0, 1, 1}, -+ {&__pyx_n_s__gid, __pyx_k__gid, sizeof(__pyx_k__gid), 0, 0, 1, 1}, - {&__pyx_n_s__grp, __pyx_k__grp, sizeof(__pyx_k__grp), 0, 0, 1, 1}, - {&__pyx_n_s__h5l, __pyx_k__h5l, sizeof(__pyx_k__h5l), 0, 0, 1, 1}, -- {&__pyx_n_s__id, __pyx_k__id, sizeof(__pyx_k__id), 0, 0, 1, 1}, -+ {&__pyx_n_s__h5py, __pyx_k__h5py, sizeof(__pyx_k__h5py), 0, 0, 1, 1}, -+ {&__pyx_n_s__i, __pyx_k__i, sizeof(__pyx_k__i), 0, 0, 1, 1}, - {&__pyx_n_s__id_, __pyx_k__id_, sizeof(__pyx_k__id_), 0, 0, 1, 1}, -- {&__pyx_n_s__idx, __pyx_k__idx, sizeof(__pyx_k__idx), 0, 0, 1, 1}, -- {&__pyx_n_s__infostruct, __pyx_k__infostruct, sizeof(__pyx_k__infostruct), 0, 0, 1, 1}, - {&__pyx_n_s__iterate, __pyx_k__iterate, sizeof(__pyx_k__iterate), 0, 0, 1, 1}, - {&__pyx_n_s__lcpl, __pyx_k__lcpl, sizeof(__pyx_k__lcpl), 0, 0, 1, 1}, - {&__pyx_n_s__link_type, __pyx_k__link_type, sizeof(__pyx_k__link_type), 0, 0, 1, 1}, - {&__pyx_n_s__linklen, __pyx_k__linklen, sizeof(__pyx_k__linklen), 0, 0, 1, 1}, -- {&__pyx_n_s__links, __pyx_k__links, sizeof(__pyx_k__links), 0, 0, 1, 1}, - {&__pyx_n_s__loc, __pyx_k__loc, sizeof(__pyx_k__loc), 0, 0, 1, 1}, - {&__pyx_n_s__lock, __pyx_k__lock, sizeof(__pyx_k__lock), 0, 0, 1, 1}, - {&__pyx_n_s__mtime, __pyx_k__mtime, sizeof(__pyx_k__mtime), 0, 0, 1, 1}, - {&__pyx_n_s__name, __pyx_k__name, sizeof(__pyx_k__name), 0, 0, 1, 1}, - {&__pyx_n_s__new_name, __pyx_k__new_name, sizeof(__pyx_k__new_name), 0, 0, 1, 1}, - {&__pyx_n_s__nlink, __pyx_k__nlink, sizeof(__pyx_k__nlink), 0, 0, 1, 1}, -- {&__pyx_n_s__nobjs, __pyx_k__nobjs, sizeof(__pyx_k__nobjs), 0, 0, 1, 1}, - {&__pyx_n_s__obj, __pyx_k__obj, sizeof(__pyx_k__obj), 0, 0, 1, 1}, - {&__pyx_n_s__obj_name, __pyx_k__obj_name, sizeof(__pyx_k__obj_name), 0, 0, 1, 1}, - {&__pyx_n_s__objno, __pyx_k__objno, sizeof(__pyx_k__objno), 0, 0, 1, 1}, - {&__pyx_n_s__open, __pyx_k__open, sizeof(__pyx_k__open), 0, 0, 1, 1}, - {&__pyx_n_s__registry, __pyx_k__registry, sizeof(__pyx_k__registry), 0, 0, 1, 1}, - {&__pyx_n_s__remote, __pyx_k__remote, sizeof(__pyx_k__remote), 0, 0, 1, 1}, -- {&__pyx_n_s__retval, __pyx_k__retval, sizeof(__pyx_k__retval), 0, 0, 1, 1}, - {&__pyx_n_s__startidx, __pyx_k__startidx, sizeof(__pyx_k__startidx), 0, 0, 1, 1}, -+ {&__pyx_n_s__statobj, __pyx_k__statobj, sizeof(__pyx_k__statobj), 0, 0, 1, 1}, - {&__pyx_n_s__type, __pyx_k__type, sizeof(__pyx_k__type), 0, 0, 1, 1}, - {&__pyx_n_s__valid, __pyx_k__valid, sizeof(__pyx_k__valid), 0, 0, 1, 1}, -+ {&__pyx_n_s__vis, __pyx_k__vis, sizeof(__pyx_k__vis), 0, 0, 1, 1}, - {0, 0, 0, 0, 0, 0, 0} - }; - static int __Pyx_InitCachedBuiltins(void) { -@@ -5116,7 +5326,8 @@ static int __Pyx_InitCachedBuiltins(void - } - - static int __Pyx_InitCachedConstants(void) { -- __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants"); -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - - /* "h5py/h5g.pyx":178 - * """ -@@ -5126,7 +5337,7 @@ static int __Pyx_InitCachedConstants(voi - * cdef int i = startidx - */ - __pyx_k_tuple_3 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_3)); -+ __Pyx_GOTREF(__pyx_k_tuple_3); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_2)); - PyTuple_SET_ITEM(__pyx_k_tuple_3, 0, ((PyObject *)__pyx_kp_s_2)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_2)); -@@ -5140,7 +5351,7 @@ static int __Pyx_InitCachedConstants(voi - * if not self.valid: - */ - __pyx_k_tuple_4 = PyTuple_New(3); if (unlikely(!__pyx_k_tuple_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_4)); -+ __Pyx_GOTREF(__pyx_k_tuple_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_k_tuple_4, 0, Py_None); - __Pyx_GIVEREF(Py_None); -@@ -5151,6 +5362,111 @@ static int __Pyx_InitCachedConstants(voi - PyTuple_SET_ITEM(__pyx_k_tuple_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); - __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_4)); -+ -+ /* "h5py/h5g.pyx":112 -+ * -+ * -+ * def open(ObjectID loc not None, char* name): # <<<<<<<<<<<<<< -+ * """(ObjectID loc, STRING name) => GroupID -+ * -+ */ -+ __pyx_k_tuple_8 = PyTuple_New(2); if (unlikely(!__pyx_k_tuple_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_8); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__loc)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_8, 0, ((PyObject *)__pyx_n_s__loc)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__loc)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_8, 1, ((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_8)); -+ __pyx_k_codeobj_9 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_8, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_10, __pyx_n_s__open, 112, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5g.pyx":119 -+ * return GroupID.open(H5Gopen(loc.id, name)) -+ * -+ * def create(ObjectID loc not None, object name, PropID lcpl=None, # <<<<<<<<<<<<<< -+ * PropID gcpl=None): -+ * """(ObjectID loc, STRING name or None, PropLCID lcpl=None, -+ */ -+ __pyx_k_tuple_12 = PyTuple_New(6); if (unlikely(!__pyx_k_tuple_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_12); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__loc)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_12, 0, ((PyObject *)__pyx_n_s__loc)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__loc)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_12, 1, ((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__lcpl)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_12, 2, ((PyObject *)__pyx_n_s__lcpl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__lcpl)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__gcpl)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_12, 3, ((PyObject *)__pyx_n_s__gcpl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__gcpl)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__gid)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_12, 4, ((PyObject *)__pyx_n_s__gid)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__gid)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__cname)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_12, 5, ((PyObject *)__pyx_n_s__cname)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__cname)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_12)); -+ __pyx_k_codeobj_13 = (PyObject*)__Pyx_PyCode_New(4, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_12, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_10, __pyx_n_s__create, 119, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5g.pyx":161 -+ * -+ * -+ * def iterate(GroupID loc not None, object func, int startidx=0, *, # <<<<<<<<<<<<<< -+ * char* obj_name='.'): -+ * """ (GroupID loc, CALLABLE func, UINT startidx=0, **kwds) -+ */ -+ __pyx_k_tuple_14 = PyTuple_New(6); if (unlikely(!__pyx_k_tuple_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_14); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__loc)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_14, 0, ((PyObject *)__pyx_n_s__loc)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__loc)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__func)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_14, 1, ((PyObject *)__pyx_n_s__func)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__func)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__startidx)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_14, 2, ((PyObject *)__pyx_n_s__startidx)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__startidx)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__obj_name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_14, 3, ((PyObject *)__pyx_n_s__obj_name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__obj_name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__i)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_14, 4, ((PyObject *)__pyx_n_s__i)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__i)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__vis)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_14, 5, ((PyObject *)__pyx_n_s__vis)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__vis)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_14)); -+ __pyx_k_codeobj_15 = (PyObject*)__Pyx_PyCode_New(4, 1, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_14, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_10, __pyx_n_s__iterate, 161, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5g.pyx":188 -+ * -+ * -+ * def get_objinfo(ObjectID obj not None, object name='.', int follow_link=1): # <<<<<<<<<<<<<< -+ * """(ObjectID obj, STRING name='.', BOOL follow_link=True) => GroupStat object -+ * -+ */ -+ __pyx_k_tuple_16 = PyTuple_New(5); if (unlikely(!__pyx_k_tuple_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_16); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__obj)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_16, 0, ((PyObject *)__pyx_n_s__obj)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__obj)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_16, 1, ((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__follow_link)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_16, 2, ((PyObject *)__pyx_n_s__follow_link)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__follow_link)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__statobj)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_16, 3, ((PyObject *)__pyx_n_s__statobj)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__statobj)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s___name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_16, 4, ((PyObject *)__pyx_n_s___name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s___name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_16)); -+ __pyx_k_codeobj_17 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_16, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_10, __pyx_n_s__get_objinfo, 188, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; -@@ -5179,8 +5495,8 @@ PyMODINIT_FUNC PyInit_h5g(void) - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; -+ __Pyx_RefNannyDeclarations - #if CYTHON_REFNANNY -- void* __pyx_refnanny = NULL; - __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); - if (!__Pyx_RefNanny) { - PyErr_Clear(); -@@ -5188,12 +5504,19 @@ PyMODINIT_FUNC PyInit_h5g(void) - if (!__Pyx_RefNanny) - Py_FatalError("failed to import 'refnanny' module"); - } -- __pyx_refnanny = __Pyx_RefNanny->SetupContext("PyMODINIT_FUNC PyInit_h5g(void)", __LINE__, __FILE__); - #endif -+ __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5g(void)", 0); -+ if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- #ifdef __pyx_binding_PyCFunctionType_USED -- if (__pyx_binding_PyCFunctionType_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #ifdef __Pyx_CyFunction_USED -+ if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif -+ #ifdef __Pyx_FusedFunction_USED -+ if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif -+ #ifdef __Pyx_Generator_USED -+ if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - #endif - /*--- Library function declarations ---*/ - /*--- Threads initialization code ---*/ -@@ -5204,16 +5527,23 @@ PyMODINIT_FUNC PyInit_h5g(void) - #endif - /*--- Module creation code ---*/ - #if PY_MAJOR_VERSION < 3 -- __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5g"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_7), 0, PYTHON_API_VERSION); -+ __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5g"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_7), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); - #else - __pyx_m = PyModule_Create(&__pyx_moduledef); - #endif -- if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -- #if PY_MAJOR_VERSION < 3 -- Py_INCREF(__pyx_m); -+ if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #if PY_MAJOR_VERSION >= 3 -+ { -+ PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (!PyDict_GetItemString(modules, "h5py.h5g")) { -+ if (unlikely(PyDict_SetItemString(modules, "h5py.h5g", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } -+ } -+ #endif -+ __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #if CYTHON_COMPILING_IN_PYPY -+ Py_INCREF(__pyx_b); - #endif -- __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); -- if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - /*--- Initialize various global constants etc. ---*/ - if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -5225,35 +5555,42 @@ PyMODINIT_FUNC PyInit_h5g(void) - /*--- Constants init code ---*/ - if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /*--- Global init code ---*/ -+ /*--- Variable export code ---*/ - /*--- Function export code ---*/ - /*--- Type init code ---*/ - __pyx_ptype_4h5py_8_objects_ObjectID = __Pyx_ImportType("h5py._objects", "ObjectID", sizeof(struct __pyx_obj_4h5py_8_objects_ObjectID), 1); if (unlikely(!__pyx_ptype_4h5py_8_objects_ObjectID)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_type_4h5py_3h5g_GroupID.tp_base = __pyx_ptype_4h5py_8_objects_ObjectID; - if (PyType_Ready(&__pyx_type_4h5py_3h5g_GroupID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #if CYTHON_COMPILING_IN_CPYTHON - { - PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_4h5py_3h5g_GroupID, "__contains__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) { -- __pyx_wrapperbase_4h5py_3h5g_7GroupID_11__contains__ = *((PyWrapperDescrObject *)wrapper)->d_base; -- __pyx_wrapperbase_4h5py_3h5g_7GroupID_11__contains__.doc = __pyx_doc_4h5py_3h5g_7GroupID_11__contains__; -- ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_4h5py_3h5g_7GroupID_11__contains__; -+ __pyx_wrapperbase_4h5py_3h5g_7GroupID_22__contains__ = *((PyWrapperDescrObject *)wrapper)->d_base; -+ __pyx_wrapperbase_4h5py_3h5g_7GroupID_22__contains__.doc = __pyx_doc_4h5py_3h5g_7GroupID_22__contains__; -+ ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_4h5py_3h5g_7GroupID_22__contains__; - } - } -+ #endif -+ #if CYTHON_COMPILING_IN_CPYTHON - { - PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_4h5py_3h5g_GroupID, "__iter__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) { -- __pyx_wrapperbase_4h5py_3h5g_7GroupID_12__iter__ = *((PyWrapperDescrObject *)wrapper)->d_base; -- __pyx_wrapperbase_4h5py_3h5g_7GroupID_12__iter__.doc = __pyx_doc_4h5py_3h5g_7GroupID_12__iter__; -- ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_4h5py_3h5g_7GroupID_12__iter__; -+ __pyx_wrapperbase_4h5py_3h5g_7GroupID_24__iter__ = *((PyWrapperDescrObject *)wrapper)->d_base; -+ __pyx_wrapperbase_4h5py_3h5g_7GroupID_24__iter__.doc = __pyx_doc_4h5py_3h5g_7GroupID_24__iter__; -+ ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_4h5py_3h5g_7GroupID_24__iter__; - } - } -+ #endif -+ #if CYTHON_COMPILING_IN_CPYTHON - { - PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_4h5py_3h5g_GroupID, "__len__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) { -- __pyx_wrapperbase_4h5py_3h5g_7GroupID_13__len__ = *((PyWrapperDescrObject *)wrapper)->d_base; -- __pyx_wrapperbase_4h5py_3h5g_7GroupID_13__len__.doc = __pyx_doc_4h5py_3h5g_7GroupID_13__len__; -- ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_4h5py_3h5g_7GroupID_13__len__; -+ __pyx_wrapperbase_4h5py_3h5g_7GroupID_26__len__ = *((PyWrapperDescrObject *)wrapper)->d_base; -+ __pyx_wrapperbase_4h5py_3h5g_7GroupID_26__len__.doc = __pyx_doc_4h5py_3h5g_7GroupID_26__len__; -+ ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_4h5py_3h5g_7GroupID_26__len__; - } - } -+ #endif - if (__Pyx_SetAttrString(__pyx_m, "GroupID", (PyObject *)&__pyx_type_4h5py_3h5g_GroupID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__pyx_type_4h5py_3h5g_GroupID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5g_GroupID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5g_GroupID, __pyx_base.__weakref__); - __pyx_ptype_4h5py_3h5g_GroupID = &__pyx_type_4h5py_3h5g_GroupID; -@@ -5281,46 +5618,9 @@ PyMODINIT_FUNC PyInit_h5g(void) - __pyx_ptype_4h5py_3h5p_PropLCID = __Pyx_ImportType("h5py.h5p", "PropLCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropLCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropLCID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_ptype_4h5py_3h5p_PropLAID = __Pyx_ImportType("h5py.h5p", "PropLAID", sizeof(struct __pyx_obj_4h5py_3h5p_PropLAID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropLAID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_ptype_4h5py_3h5p_PropGCID = __Pyx_ImportType("h5py.h5p", "PropGCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropGCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropGCID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ /*--- Variable import code ---*/ - /*--- Function import code ---*/ - __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5open", (void (**)(void))&__pyx_f_4h5py_4defs_H5open, "herr_t (void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5close", (void (**)(void))&__pyx_f_4h5py_4defs_H5close, "herr_t (void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5get_libversion", (void (**)(void))&__pyx_f_4h5py_4defs_H5get_libversion, "herr_t (unsigned int *, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dcreate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dcreate2, "hid_t (hid_t, char *, hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dcreate_anon", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dcreate_anon, "hid_t (hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dopen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_space", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_space, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_space_status", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_space_status, "herr_t (hid_t, H5D_space_status_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_type, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_create_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_offset, "haddr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_storage_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_storage_size, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dread", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dread, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dwrite", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dwrite, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dextend", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dextend, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dfill", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dfill, "herr_t (void *, hid_t, void *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dvlen_get_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dvlen_get_buf_size, "herr_t (hid_t, hid_t, hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dvlen_reclaim", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dvlen_reclaim, "herr_t (hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Diterate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Diterate, "herr_t (void *, hid_t, hid_t, H5D_operator_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dset_extent", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dset_extent, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fcreate, "hid_t (char *, unsigned int, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fopen, "hid_t (char *, unsigned int, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fis_hdf5", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fis_hdf5, "htri_t (char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fflush", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fflush, "herr_t (hid_t, enum H5F_scope_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Freopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Freopen, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fmount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fmount, "herr_t (hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Funmount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Funmount, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_filesize", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_filesize, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_create_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_access_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_access_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_freespace", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_freespace, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_obj_count", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_obj_count, "int (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_obj_ids", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_obj_ids, "int (hid_t, unsigned int, int, hid_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_intent", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_intent, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate, "hid_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Gopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gopen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Gclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Glink2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Glink2, "herr_t (hid_t, char *, H5G_link_t, hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -5336,263 +5636,6 @@ PyMODINIT_FUNC PyInit_h5g(void) - if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_comment, "int (hid_t, char *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate_anon", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate_anon, "hid_t (hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate2, "hid_t (hid_t, char *, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gopen2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gopen2, "hid_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_info, "herr_t (hid_t, H5G_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_info_by_name, "herr_t (hid_t, char *, H5G_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_create_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_type, "H5I_type_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_file_id", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_file_id, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Idec_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Idec_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iinc_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iinc_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lmove", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lmove, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcopy, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_hard", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_hard, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_soft", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_soft, "herr_t (char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ldelete", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ldelete, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ldelete_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ldelete_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_val", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_val, "herr_t (hid_t, char *, void *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_val_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_val_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, void *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lexists", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lexists, "htri_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_info, "herr_t (hid_t, char *, H5L_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5L_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_name_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_name_by_idx, "Py_ssize_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Literate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Literate, "herr_t (hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Literate_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Literate_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lvisit", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lvisit, "herr_t (hid_t, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lvisit_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lvisit_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lunpack_elink_val", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lunpack_elink_val, "herr_t (void *, size_t, unsigned int *, char **, char **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_external", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_external, "herr_t (char *, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oopen, "hid_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oopen_by_addr", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oopen_by_addr, "hid_t (hid_t, haddr_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oopen_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oopen_by_idx, "hid_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info, "herr_t (hid_t, H5O_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info_by_name, "herr_t (hid_t, char *, H5O_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5O_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Olink", (void (**)(void))&__pyx_f_4h5py_4defs_H5Olink, "herr_t (hid_t, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ocopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ocopy, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oincr_refcount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oincr_refcount, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Odecr_refcount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Odecr_refcount, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oset_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oset_comment, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oset_comment_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oset_comment_by_name, "herr_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_comment, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_comment_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_comment_by_name, "Py_ssize_t (hid_t, char *, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ovisit", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ovisit, "herr_t (hid_t, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ovisit_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ovisit_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pcreate, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pcopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_class, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pequal", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pequal, "htri_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pclose_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pclose_class, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_version", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_version, "herr_t (hid_t, unsigned int *, unsigned int *, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_userblock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_userblock, "herr_t (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_userblock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_userblock, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sizes", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sizes, "herr_t (hid_t, size_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sizes", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sizes, "herr_t (hid_t, size_t *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sym_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sym_k, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sym_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sym_k, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_istore_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_istore_k, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_istore_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_istore_k, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fclose_degree", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fclose_degree, "herr_t (hid_t, enum H5F_close_degree_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fclose_degree", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fclose_degree, "herr_t (hid_t, enum H5F_close_degree_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_core", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_core, "herr_t (hid_t, size_t, hbool_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fapl_core", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fapl_core, "herr_t (hid_t, size_t *, hbool_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_family", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_family, "herr_t (hid_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fapl_family", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fapl_family, "herr_t (hid_t, hsize_t *, hid_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_family_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_family_offset, "herr_t (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_family_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_family_offset, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_log", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_log, "herr_t (hid_t, char *, unsigned int, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_multi", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_multi, "herr_t (hid_t, H5FD_mem_t *, hid_t *, char **, haddr_t *, hbool_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_cache", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_cache, "herr_t (hid_t, int, int, size_t, double)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_cache", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_cache, "herr_t (hid_t, int *, int *, size_t *, double *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_sec2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_sec2, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_stdio", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_stdio, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_driver", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_driver, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_layout", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_layout, "herr_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_layout", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_layout, "H5D_layout_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_chunk", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_chunk, "herr_t (hid_t, int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_chunk", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_chunk, "int (hid_t, int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_deflate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_deflate, "herr_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fill_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fill_value, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fill_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fill_value, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pfill_value_defined", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pfill_value_defined, "herr_t (hid_t, H5D_fill_value_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fill_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fill_time, "herr_t (hid_t, H5D_fill_time_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fill_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fill_time, "herr_t (hid_t, H5D_fill_time_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_alloc_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_alloc_time, "herr_t (hid_t, H5D_alloc_time_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_alloc_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_alloc_time, "herr_t (hid_t, H5D_alloc_time_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_filter, "herr_t (hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pall_filters_avail", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pall_filters_avail, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_nfilters", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_nfilters, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_filter, "H5Z_filter_t (hid_t, unsigned int, unsigned int *, size_t *, unsigned int *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_filter_by_id", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_filter_by_id, "herr_t (hid_t, H5Z_filter_t, unsigned int *, size_t *, unsigned int *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pmodify_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pmodify_filter, "herr_t (hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Premove_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Premove_filter, "herr_t (hid_t, H5Z_filter_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fletcher32", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fletcher32, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_shuffle", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_shuffle, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_szip", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_szip, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_edc_check", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_edc_check, "herr_t (hid_t, enum H5Z_EDC_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_edc_check", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_edc_check, "enum H5Z_EDC_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sieve_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sieve_buf_size, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sieve_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sieve_buf_size, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_nlinks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_nlinks, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_nlinks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_nlinks, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_elink_prefix", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_elink_prefix, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_elink_prefix", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_elink_prefix, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_elink_fapl", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_elink_fapl, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_elink_fapl", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_elink_fapl, "herr_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_create_intermediate_group", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_create_intermediate_group, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_create_intermediate_group", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_create_intermediate_group, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_copy_object", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_copy_object, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_copy_object", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_copy_object, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_char_encoding", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_char_encoding, "herr_t (hid_t, H5T_cset_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_char_encoding", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_char_encoding, "herr_t (hid_t, H5T_cset_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_local_heap_size_hint", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_local_heap_size_hint, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_local_heap_size_hint", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_local_heap_size_hint, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_link_phase_change", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_link_phase_change, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_link_phase_change", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_link_phase_change, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_est_link_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_est_link_info, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_est_link_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_est_link_info, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_link_creation_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_link_creation_order, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_link_creation_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_link_creation_order, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_libver_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_libver_bounds, "herr_t (hid_t, H5F_libver_t, H5F_libver_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_libver_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_libver_bounds, "herr_t (hid_t, H5F_libver_t *, H5F_libver_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rcreate, "herr_t (void *, hid_t, char *, H5R_type_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rdereference", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rdereference, "hid_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_region", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_region, "hid_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_obj_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_obj_type, "enum H5G_obj_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_name, "Py_ssize_t (hid_t, H5R_type_t, void *, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Screate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Screate, "hid_t (H5S_class_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Scopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Scopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Screate_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Screate_simple, "hid_t (int, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sis_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sis_simple, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Soffset_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Soffset_simple, "herr_t (hid_t, hssize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_ndims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_dims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_dims, "int (hid_t, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_npoints", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_type, "H5S_class_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sextent_copy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sextent_copy, "herr_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sset_extent_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sset_extent_simple, "herr_t (hid_t, int, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sset_extent_none", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sset_extent_none, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_type, "H5S_sel_type (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_npoints", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_bounds, "herr_t (hid_t, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_all", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_all, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_none", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_none, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_valid", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_valid, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_elem_npoints", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_elem_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_elem_pointlist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_elem_pointlist, "herr_t (hid_t, hsize_t, hsize_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_elements", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_elements, "herr_t (hid_t, H5S_seloper_t, size_t, hsize_t **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_hyper_nblocks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_hyper_nblocks, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_hyper_blocklist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_hyper_blocklist, "herr_t (hid_t, hsize_t, hsize_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_hyperslab", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_hyperslab, "herr_t (hid_t, H5S_seloper_t, hsize_t *, hsize_t *, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sencode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sencode, "herr_t (hid_t, void *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sdecode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sdecode, "hid_t (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcreate, "hid_t (enum H5T_class_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Topen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Topen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommit", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommit, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommitted", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommitted, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tequal", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tequal, "htri_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tlock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tlock, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_class, "enum H5T_class_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_size, "size_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_super", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_super, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tdetect_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tdetect_class, "htri_t (hid_t, enum H5T_class_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_native_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_native_type, "hid_t (hid_t, enum H5T_direction_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tconvert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tconvert, "herr_t (hid_t, hid_t, size_t, void *, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_size, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_order, "H5T_order_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_order, "herr_t (hid_t, H5T_order_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_precision", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_precision, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_precision", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_precision, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_offset, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_offset, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_pad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_pad, "herr_t (hid_t, H5T_pad_t *, H5T_pad_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_pad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_pad, "herr_t (hid_t, H5T_pad_t, H5T_pad_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_sign", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_sign, "H5T_sign_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_sign", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_sign, "herr_t (hid_t, H5T_sign_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_fields", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_fields, "herr_t (hid_t, size_t *, size_t *, size_t *, size_t *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_fields", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_fields, "herr_t (hid_t, size_t, size_t, size_t, size_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_ebias", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_ebias, "size_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_ebias", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_ebias, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_norm", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_norm, "H5T_norm_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_norm", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_norm, "herr_t (hid_t, H5T_norm_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_inpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_inpad, "H5T_pad_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_inpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_inpad, "herr_t (hid_t, H5T_pad_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_cset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_cset, "H5T_cset_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_cset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_cset, "herr_t (hid_t, H5T_cset_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_strpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_strpad, "H5T_str_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_strpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_strpad, "herr_t (hid_t, H5T_str_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tvlen_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tvlen_create, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tis_variable_str", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tis_variable_str, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_nmembers", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_nmembers, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_class, "enum H5T_class_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_name, "char *(hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_type, "hid_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_offset, "int (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_index", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_index, "int (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tinsert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tinsert, "herr_t (hid_t, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tpack", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tpack, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_create, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_insert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_insert, "herr_t (hid_t, char *, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_nameof", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_nameof, "herr_t (hid_t, void *, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_valueof", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_valueof, "herr_t (hid_t, char *, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_value, "herr_t (hid_t, unsigned int, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tarray_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tarray_create, "hid_t (hid_t, int, hsize_t *, int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_array_ndims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_array_ndims, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_array_dims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_array_dims, "int (hid_t, hsize_t *, int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_tag", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_tag, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_tag", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_tag, "char *(hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tdecode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tdecode, "hid_t (unsigned char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tencode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tencode, "herr_t (hid_t, unsigned char *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommit2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommit2, "herr_t (hid_t, char *, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tfind", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tfind, "H5T_conv_t (hid_t, hid_t, H5T_cdata_t **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tregister", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tregister, "herr_t (H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tunregister", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tunregister, "herr_t (H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Zfilter_avail", (void (**)(void))&__pyx_f_4h5py_4defs_H5Zfilter_avail, "htri_t (H5Z_filter_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Zget_filter_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Zget_filter_info, "herr_t (H5Z_filter_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Acreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Acreate, "hid_t (hid_t, char *, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_idx, "hid_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_name, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aread", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aread, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Awrite", (void (**)(void))&__pyx_f_4h5py_4defs_H5Awrite, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_num_attrs", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_num_attrs, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_name, "Py_ssize_t (hid_t, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_space", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_space, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_type, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aiterate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aiterate, "herr_t (hid_t, unsigned int *, H5A_operator_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete_by_name, "herr_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Acreate_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Acreate_by_name, "hid_t (hid_t, char *, char *, hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_by_name, "herr_t (hid_t, char *, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aexists_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aexists_by_name, "htri_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aexists", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aexists, "htri_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Arename", (void (**)(void))&__pyx_f_4h5py_4defs_H5Arename, "herr_t (hid_t, char *, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Arename_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Arename_by_name, "herr_t (hid_t, char *, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info, "herr_t (hid_t, H5A_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info_by_name, "herr_t (hid_t, char *, char *, H5A_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5A_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aiterate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aiterate2, "herr_t (hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5A_operator2_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_storage_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_storage_size, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSattach_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSattach_scale, "herr_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSdetach_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSdetach_scale, "herr_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSset_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSset_scale, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_num_scales", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_num_scales, "int (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSset_label", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSset_label, "herr_t (hid_t, unsigned int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_label", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_label, "Py_ssize_t (hid_t, unsigned int, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_scale_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_scale_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSis_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSis_scale, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSiterate_scales", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSiterate_scales, "herr_t (hid_t, unsigned int, int *, H5DS_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSis_attached", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSis_attached, "htri_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_2 = __Pyx_ImportModule("h5py._objects"); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_2, "pdefault", (void (**)(void))&__pyx_f_4h5py_8_objects_pdefault, "hid_t (struct __pyx_obj_4h5py_8_objects_ObjectID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -5600,30 +5643,32 @@ PyMODINIT_FUNC PyInit_h5g(void) - __pyx_t_3 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_3, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_3, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "check_numpy_read", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_read, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "check_numpy_write", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_write, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "convert_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_convert_tuple, "int (PyObject *, hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "convert_dims", (void (**)(void))&__pyx_f_4h5py_5utils_convert_dims, "PyObject *(hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "require_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_require_tuple, "int (PyObject *, int, int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "create_numpy_hsize", (void (**)(void))&__pyx_f_4h5py_5utils_create_numpy_hsize, "PyObject *(int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "create_hsize_array", (void (**)(void))&__pyx_f_4h5py_5utils_create_hsize_array, "PyObject *(PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_3); __pyx_t_3 = 0; -- __pyx_t_4 = __Pyx_ImportModule("h5py.h5p"); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_4, "pdefault", (void (**)(void))&__pyx_f_4h5py_3h5p_pdefault, "hid_t (struct __pyx_obj_4h5py_3h5p_PropID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_4, "propwrap", (void (**)(void))&__pyx_f_4h5py_3h5p_propwrap, "PyObject *(hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- Py_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /*--- Execution code ---*/ - - /* "h5py/h5g.pyx":23 - * cimport _hdf5 # to implement container testing for 1.6 - * -- * import _objects # <<<<<<<<<<<<<< -+ * from h5py import _objects # <<<<<<<<<<<<<< - * - * # === Public constants and data structures ==================================== - */ -- __pyx_t_5 = __Pyx_Import(((PyObject *)__pyx_n_s___objects), 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s___objects)); -+ PyList_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_n_s___objects)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s___objects)); -+ __pyx_t_5 = __Pyx_Import(((PyObject *)__pyx_n_s__h5py), ((PyObject *)__pyx_t_4), -1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s___objects, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; -+ __pyx_t_4 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s___objects); -+ if (__pyx_t_4 == NULL) { -+ if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s___objects); -+ if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s___objects, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "h5py/h5g.pyx":28 -@@ -5729,7 +5774,7 @@ PyMODINIT_FUNC PyInit_h5g(void) - * """(ObjectID loc, STRING name) => GroupID - * - */ -- __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5g_open, NULL, __pyx_n_s_8); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5g_1open, NULL, __pyx_n_s_11); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - if (PyObject_SetAttr(__pyx_m, __pyx_n_s__open, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -@@ -5741,7 +5786,7 @@ PyMODINIT_FUNC PyInit_h5g(void) - * PropID gcpl=None): - * """(ObjectID loc, STRING name or None, PropLCID lcpl=None, - */ -- __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5g_1create, NULL, __pyx_n_s_8); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5g_3create, NULL, __pyx_n_s_11); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - if (PyObject_SetAttr(__pyx_m, __pyx_n_s__create, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -@@ -5753,7 +5798,7 @@ PyMODINIT_FUNC PyInit_h5g(void) - * char* obj_name='.'): - * """ (GroupID loc, CALLABLE func, UINT startidx=0, **kwds) - */ -- __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5g_2iterate, NULL, __pyx_n_s_8); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5g_5iterate, NULL, __pyx_n_s_11); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - if (PyObject_SetAttr(__pyx_m, __pyx_n_s__iterate, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -@@ -5765,7 +5810,7 @@ PyMODINIT_FUNC PyInit_h5g(void) - * """(ObjectID obj, STRING name='.', BOOL follow_link=True) => GroupStat object - * - */ -- __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5g_3get_objinfo, NULL, __pyx_n_s_8); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5g_7get_objinfo, NULL, __pyx_n_s_11); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_objinfo, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -@@ -5796,7 +5841,7 @@ PyMODINIT_FUNC PyInit_h5g(void) - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - if (__pyx_m) { -- __Pyx_AddTraceback("init h5py.h5g"); -+ __Pyx_AddTraceback("init h5py.h5g", __pyx_clineno, __pyx_lineno, __pyx_filename); - Py_DECREF(__pyx_m); __pyx_m = 0; - } else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_ImportError, "init h5py.h5g"); -@@ -5811,12 +5856,34 @@ PyMODINIT_FUNC PyInit_h5g(void) - } - - /* Runtime support code */ -+#if CYTHON_REFNANNY -+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { -+ PyObject *m = NULL, *p = NULL; -+ void *r = NULL; -+ m = PyImport_ImportModule((char *)modname); -+ if (!m) goto end; -+ p = PyObject_GetAttrString(m, (char *)"RefNannyAPI"); -+ if (!p) goto end; -+ r = PyLong_AsVoidPtr(p); -+end: -+ Py_XDECREF(p); -+ Py_XDECREF(m); -+ return (__Pyx_RefNannyAPIStruct *)r; -+} -+#endif /* CYTHON_REFNANNY */ - - static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) { - PyObject *result; - result = PyObject_GetAttr(dict, name); -- if (!result) -- PyErr_SetObject(PyExc_NameError, name); -+ if (!result) { -+ if (dict != __pyx_b) { -+ PyErr_Clear(); -+ result = PyObject_GetAttr(__pyx_b, name); -+ } -+ if (!result) { -+ PyErr_SetObject(PyExc_NameError, name); -+ } -+ } - return result; - } - -@@ -5829,7 +5896,7 @@ static void __Pyx_RaiseDoubleKeywordsErr - "%s() got multiple values for keyword argument '%U'", func_name, kw_name); - #else - "%s() got multiple values for keyword argument '%s'", func_name, -- PyString_AS_STRING(kw_name)); -+ PyString_AsString(kw_name)); - #endif - } - -@@ -5845,55 +5912,77 @@ static int __Pyx_ParseOptionalKeywords( - Py_ssize_t pos = 0; - PyObject*** name; - PyObject*** first_kw_arg = argnames + num_pos_args; -- - while (PyDict_Next(kwds, &pos, &key, &value)) { - name = first_kw_arg; - while (*name && (**name != key)) name++; - if (*name) { - values[name-argnames] = value; -- } else { -- #if PY_MAJOR_VERSION < 3 -- if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key))) { -- #else -- if (unlikely(!PyUnicode_CheckExact(key)) && unlikely(!PyUnicode_Check(key))) { -- #endif -- goto invalid_keyword_type; -- } else { -- for (name = first_kw_arg; *name; name++) { -- #if PY_MAJOR_VERSION >= 3 -- if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) && -- PyUnicode_Compare(**name, key) == 0) break; -- #else -- if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) && -- _PyString_Eq(**name, key)) break; -- #endif -- } -- if (*name) { -+ continue; -+ } -+ name = first_kw_arg; -+ #if PY_MAJOR_VERSION < 3 -+ if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) { -+ while (*name) { -+ if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) -+ && _PyString_Eq(**name, key)) { - values[name-argnames] = value; -- } else { -- /* unexpected keyword found */ -- for (name=argnames; name != first_kw_arg; name++) { -- if (**name == key) goto arg_passed_twice; -- #if PY_MAJOR_VERSION >= 3 -- if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) && -- PyUnicode_Compare(**name, key) == 0) goto arg_passed_twice; -- #else -- if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) && -- _PyString_Eq(**name, key)) goto arg_passed_twice; -- #endif -- } -- if (kwds2) { -- if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; -- } else { -- goto invalid_keyword; -+ break; -+ } -+ name++; -+ } -+ if (*name) continue; -+ else { -+ PyObject*** argname = argnames; -+ while (argname != first_kw_arg) { -+ if ((**argname == key) || ( -+ (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) -+ && _PyString_Eq(**argname, key))) { -+ goto arg_passed_twice; - } -+ argname++; -+ } -+ } -+ } else -+ #endif -+ if (likely(PyUnicode_Check(key))) { -+ while (*name) { -+ int cmp = (**name == key) ? 0 : -+ #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 -+ (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : -+ #endif -+ PyUnicode_Compare(**name, key); -+ if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; -+ if (cmp == 0) { -+ values[name-argnames] = value; -+ break; -+ } -+ name++; -+ } -+ if (*name) continue; -+ else { -+ PyObject*** argname = argnames; -+ while (argname != first_kw_arg) { -+ int cmp = (**argname == key) ? 0 : -+ #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 -+ (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : -+ #endif -+ PyUnicode_Compare(**argname, key); -+ if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; -+ if (cmp == 0) goto arg_passed_twice; -+ argname++; - } - } -+ } else -+ goto invalid_keyword_type; -+ if (kwds2) { -+ if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; -+ } else { -+ goto invalid_keyword; - } - } - return 0; - arg_passed_twice: -- __Pyx_RaiseDoubleKeywordsError(function_name, **name); -+ __Pyx_RaiseDoubleKeywordsError(function_name, key); - goto bad; - invalid_keyword_type: - PyErr_Format(PyExc_TypeError, -@@ -5920,8 +6009,7 @@ static void __Pyx_RaiseArgtupleInvalid( - Py_ssize_t num_found) - { - Py_ssize_t num_expected; -- const char *number, *more_or_less; -- -+ const char *more_or_less; - if (num_found < num_min) { - num_expected = num_min; - more_or_less = "at least"; -@@ -5932,14 +6020,10 @@ static void __Pyx_RaiseArgtupleInvalid( - if (exact) { - more_or_less = "exactly"; - } -- number = (num_expected == 1) ? "" : "s"; - PyErr_Format(PyExc_TypeError, -- #if PY_VERSION_HEX < 0x02050000 -- "%s() takes %s %d positional argument%s (%d given)", -- #else -- "%s() takes %s %zd positional argument%s (%zd given)", -- #endif -- func_name, more_or_less, num_expected, number, num_found); -+ "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)", -+ func_name, more_or_less, num_expected, -+ (num_expected == 1) ? "" : "s", num_found); - } - - static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, -@@ -5963,9 +6047,9 @@ static int __Pyx_ArgTypeTest(PyObject *o - } - - static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); -- - tmp_type = tstate->curexc_type; - tmp_value = tstate->curexc_value; - tmp_tb = tstate->curexc_traceback; -@@ -5975,54 +6059,60 @@ static CYTHON_INLINE void __Pyx_ErrResto - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -+#else -+ PyErr_Restore(type, value, tb); -+#endif - } -- - static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyThreadState *tstate = PyThreadState_GET(); - *type = tstate->curexc_type; - *value = tstate->curexc_value; - *tb = tstate->curexc_traceback; -- - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -+#else -+ PyErr_Fetch(type, value, tb); -+#endif - } - -- - #if PY_MAJOR_VERSION < 3 --static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { -+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, -+ CYTHON_UNUSED PyObject *cause) { - Py_XINCREF(type); -- Py_XINCREF(value); -- Py_XINCREF(tb); -- /* First, check the traceback argument, replacing None with NULL. */ -- if (tb == Py_None) { -- Py_DECREF(tb); -- tb = 0; -- } -- else if (tb != NULL && !PyTraceBack_Check(tb)) { -- PyErr_SetString(PyExc_TypeError, -- "raise: arg 3 must be a traceback or None"); -- goto raise_error; -- } -- /* Next, replace a missing value with None */ -- if (value == NULL) { -- value = Py_None; -+ if (!value || value == Py_None) -+ value = NULL; -+ else - Py_INCREF(value); -+ if (!tb || tb == Py_None) -+ tb = NULL; -+ else { -+ Py_INCREF(tb); -+ if (!PyTraceBack_Check(tb)) { -+ PyErr_SetString(PyExc_TypeError, -+ "raise: arg 3 must be a traceback or None"); -+ goto raise_error; -+ } - } - #if PY_VERSION_HEX < 0x02050000 -- if (!PyClass_Check(type)) -+ if (PyClass_Check(type)) { - #else -- if (!PyType_Check(type)) -+ if (PyType_Check(type)) { - #endif -- { -- /* Raising an instance. The value should be a dummy. */ -- if (value != Py_None) { -+#if CYTHON_COMPILING_IN_PYPY -+ if (!value) { -+ Py_INCREF(Py_None); -+ value = Py_None; -+ } -+#endif -+ PyErr_NormalizeException(&type, &value, &tb); -+ } else { -+ if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto raise_error; - } -- /* Normalize to raise , */ -- Py_DECREF(value); - value = type; - #if PY_VERSION_HEX < 0x02050000 - if (PyInstance_Check(type)) { -@@ -6045,7 +6135,6 @@ static void __Pyx_Raise(PyObject *type, - } - #endif - } -- - __Pyx_ErrRestore(type, value, tb); - return; - raise_error: -@@ -6054,10 +6143,9 @@ raise_error: - Py_XDECREF(tb); - return; - } -- - #else /* Python 3+ */ -- --static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { -+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { -+ PyObject* owned_instance = NULL; - if (tb == Py_None) { - tb = 0; - } else if (tb && !PyTraceBack_Check(tb)) { -@@ -6067,7 +6155,6 @@ static void __Pyx_Raise(PyObject *type, - } - if (value == Py_None) - value = 0; -- - if (PyExceptionInstance_Check(type)) { - if (value) { - PyErr_SetString(PyExc_TypeError, -@@ -6076,14 +6163,55 @@ static void __Pyx_Raise(PyObject *type, - } - value = type; - type = (PyObject*) Py_TYPE(value); -- } else if (!PyExceptionClass_Check(type)) { -+ } else if (PyExceptionClass_Check(type)) { -+ PyObject *args; -+ if (!value) -+ args = PyTuple_New(0); -+ else if (PyTuple_Check(value)) { -+ Py_INCREF(value); -+ args = value; -+ } -+ else -+ args = PyTuple_Pack(1, value); -+ if (!args) -+ goto bad; -+ owned_instance = PyEval_CallObject(type, args); -+ Py_DECREF(args); -+ if (!owned_instance) -+ goto bad; -+ value = owned_instance; -+ if (!PyExceptionInstance_Check(value)) { -+ PyErr_Format(PyExc_TypeError, -+ "calling %R should have returned an instance of " -+ "BaseException, not %R", -+ type, Py_TYPE(value)); -+ goto bad; -+ } -+ } else { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto bad; - } -- -+ if (cause && cause != Py_None) { -+ PyObject *fixed_cause; -+ if (PyExceptionClass_Check(cause)) { -+ fixed_cause = PyObject_CallObject(cause, NULL); -+ if (fixed_cause == NULL) -+ goto bad; -+ } -+ else if (PyExceptionInstance_Check(cause)) { -+ fixed_cause = cause; -+ Py_INCREF(fixed_cause); -+ } -+ else { -+ PyErr_SetString(PyExc_TypeError, -+ "exception causes must derive from " -+ "BaseException"); -+ goto bad; -+ } -+ PyException_SetCause(value, fixed_cause); -+ } - PyErr_SetObject(type, value); -- - if (tb) { - PyThreadState *tstate = PyThreadState_GET(); - PyObject* tmp_tb = tstate->curexc_traceback; -@@ -6093,15 +6221,15 @@ static void __Pyx_Raise(PyObject *type, - Py_XDECREF(tmp_tb); - } - } -- - bad: -+ Py_XDECREF(owned_instance); - return; - } - #endif - -- - static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) { - PyObject *local_type, *local_value, *local_tb; -+#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); - local_type = tstate->curexc_type; -@@ -6110,19 +6238,27 @@ static int __Pyx_GetException(PyObject * - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -+#else -+ PyErr_Fetch(&local_type, &local_value, &local_tb); -+#endif - PyErr_NormalizeException(&local_type, &local_value, &local_tb); -+#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(tstate->curexc_type)) -+#else -+ if (unlikely(PyErr_Occurred())) -+#endif - goto bad; - #if PY_MAJOR_VERSION >= 3 - if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) - goto bad; - #endif -- *type = local_type; -- *value = local_value; -- *tb = local_tb; - Py_INCREF(local_type); - Py_INCREF(local_value); - Py_INCREF(local_tb); -+ *type = local_type; -+ *value = local_value; -+ *tb = local_tb; -+#if CYTHON_COMPILING_IN_CPYTHON - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; -@@ -6130,10 +6266,13 @@ static int __Pyx_GetException(PyObject * - tstate->exc_value = local_value; - tstate->exc_traceback = local_tb; - /* Make sure tstate is in a consistent state when we XDECREF -- these objects (XDECREF may run arbitrary code). */ -+ these objects (DECREF may run arbitrary code). */ - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -+#else -+ PyErr_SetExcInfo(local_type, local_value, local_tb); -+#endif - return 0; - bad: - *type = 0; -@@ -6145,8 +6284,33 @@ bad: - return -1; - } - -+static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc) { -+ PyTypeObject* type = Py_TYPE(obj); -+ while (type && type->tp_dealloc != current_tp_dealloc) -+ type = type->tp_base; -+ if (type && type->tp_base) -+ type->tp_base->tp_dealloc(obj); -+} -+ -+static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse) { -+ PyTypeObject* type = Py_TYPE(obj); -+ while (type && type->tp_traverse != current_tp_traverse) -+ type = type->tp_base; -+ if (type && type->tp_base && type->tp_base->tp_traverse) -+ return type->tp_base->tp_traverse(obj, v, a); -+ return 0; -+} -+ -+static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) { -+ PyTypeObject* type = Py_TYPE(obj); -+ while (type && type->tp_clear != current_tp_clear) -+ type = type->tp_base; -+ if (type && type->tp_base && type->tp_base->tp_clear) -+ type->tp_base->tp_clear(obj); -+} - - static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyThreadState *tstate = PyThreadState_GET(); - *type = tstate->exc_type; - *value = tstate->exc_value; -@@ -6154,9 +6318,12 @@ static CYTHON_INLINE void __Pyx_Exceptio - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); -+#else -+ PyErr_GetExcInfo(type, value, tb); -+#endif - } -- - static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); - tmp_type = tstate->exc_type; -@@ -6168,9 +6335,12 @@ static void __Pyx_ExceptionReset(PyObjec - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -+#else -+ PyErr_SetExcInfo(type, value, tb); -+#endif - } - --static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) { -+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level) { - PyObject *py_import = 0; - PyObject *empty_list = 0; - PyObject *module = 0; -@@ -6188,19 +6358,178 @@ static PyObject *__Pyx_Import(PyObject * - goto bad; - list = empty_list; - } -- global_dict = PyModule_GetDict(__pyx_m); -- if (!global_dict) -- goto bad; -- empty_dict = PyDict_New(); -- if (!empty_dict) -- goto bad; -- module = PyObject_CallFunctionObjArgs(py_import, -- name, global_dict, empty_dict, list, NULL); --bad: -- Py_XDECREF(empty_list); -- Py_XDECREF(py_import); -- Py_XDECREF(empty_dict); -- return module; -+ global_dict = PyModule_GetDict(__pyx_m); -+ if (!global_dict) -+ goto bad; -+ empty_dict = PyDict_New(); -+ if (!empty_dict) -+ goto bad; -+ #if PY_VERSION_HEX >= 0x02050000 -+ { -+ #if PY_MAJOR_VERSION >= 3 -+ if (level == -1) { -+ if (strchr(__Pyx_MODULE_NAME, '.')) { -+ /* try package relative import first */ -+ PyObject *py_level = PyInt_FromLong(1); -+ if (!py_level) -+ goto bad; -+ module = PyObject_CallFunctionObjArgs(py_import, -+ name, global_dict, empty_dict, list, py_level, NULL); -+ Py_DECREF(py_level); -+ if (!module) { -+ if (!PyErr_ExceptionMatches(PyExc_ImportError)) -+ goto bad; -+ PyErr_Clear(); -+ } -+ } -+ level = 0; /* try absolute import on failure */ -+ } -+ #endif -+ if (!module) { -+ PyObject *py_level = PyInt_FromLong(level); -+ if (!py_level) -+ goto bad; -+ module = PyObject_CallFunctionObjArgs(py_import, -+ name, global_dict, empty_dict, list, py_level, NULL); -+ Py_DECREF(py_level); -+ } -+ } -+ #else -+ if (level>0) { -+ PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4."); -+ goto bad; -+ } -+ module = PyObject_CallFunctionObjArgs(py_import, -+ name, global_dict, empty_dict, list, NULL); -+ #endif -+bad: -+ Py_XDECREF(empty_list); -+ Py_XDECREF(py_import); -+ Py_XDECREF(empty_dict); -+ return module; -+} -+ -+static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name) { -+#if PY_MAJOR_VERSION < 3 -+ PyErr_Format(PyExc_ImportError, "cannot import name %.230s", -+ PyString_AsString(name)); -+#else -+ PyErr_Format(PyExc_ImportError, "cannot import name %S", name); -+#endif -+} -+ -+static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject* x) { -+ const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0; -+ const int is_unsigned = const_zero < neg_one; -+ if (sizeof(hid_t) == sizeof(char)) { -+ if (is_unsigned) -+ return (hid_t)__Pyx_PyInt_AsUnsignedChar(x); -+ else -+ return (hid_t)__Pyx_PyInt_AsSignedChar(x); -+ } else if (sizeof(hid_t) == sizeof(short)) { -+ if (is_unsigned) -+ return (hid_t)__Pyx_PyInt_AsUnsignedShort(x); -+ else -+ return (hid_t)__Pyx_PyInt_AsSignedShort(x); -+ } else if (sizeof(hid_t) == sizeof(int)) { -+ if (is_unsigned) -+ return (hid_t)__Pyx_PyInt_AsUnsignedInt(x); -+ else -+ return (hid_t)__Pyx_PyInt_AsSignedInt(x); -+ } else if (sizeof(hid_t) == sizeof(long)) { -+ if (is_unsigned) -+ return (hid_t)__Pyx_PyInt_AsUnsignedLong(x); -+ else -+ return (hid_t)__Pyx_PyInt_AsSignedLong(x); -+ } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) { -+ if (is_unsigned) -+ return (hid_t)__Pyx_PyInt_AsUnsignedLongLong(x); -+ else -+ return (hid_t)__Pyx_PyInt_AsSignedLongLong(x); -+ } else { -+ #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) -+ PyErr_SetString(PyExc_RuntimeError, -+ "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -+ #else -+ hid_t val; -+ PyObject *v = __Pyx_PyNumber_Int(x); -+ #if PY_VERSION_HEX < 0x03000000 -+ if (likely(v) && !PyLong_Check(v)) { -+ PyObject *tmp = v; -+ v = PyNumber_Long(tmp); -+ Py_DECREF(tmp); -+ } -+ #endif -+ if (likely(v)) { -+ int one = 1; int is_little = (int)*(unsigned char *)&one; -+ unsigned char *bytes = (unsigned char *)&val; -+ int ret = _PyLong_AsByteArray((PyLongObject *)v, -+ bytes, sizeof(val), -+ is_little, !is_unsigned); -+ Py_DECREF(v); -+ if (likely(!ret)) -+ return val; -+ } -+ #endif -+ return (hid_t)-1; -+ } -+} -+ -+static CYTHON_INLINE hsize_t __Pyx_PyInt_from_py_hsize_t(PyObject* x) { -+ const hsize_t neg_one = (hsize_t)-1, const_zero = (hsize_t)0; -+ const int is_unsigned = const_zero < neg_one; -+ if (sizeof(hsize_t) == sizeof(char)) { -+ if (is_unsigned) -+ return (hsize_t)__Pyx_PyInt_AsUnsignedChar(x); -+ else -+ return (hsize_t)__Pyx_PyInt_AsSignedChar(x); -+ } else if (sizeof(hsize_t) == sizeof(short)) { -+ if (is_unsigned) -+ return (hsize_t)__Pyx_PyInt_AsUnsignedShort(x); -+ else -+ return (hsize_t)__Pyx_PyInt_AsSignedShort(x); -+ } else if (sizeof(hsize_t) == sizeof(int)) { -+ if (is_unsigned) -+ return (hsize_t)__Pyx_PyInt_AsUnsignedInt(x); -+ else -+ return (hsize_t)__Pyx_PyInt_AsSignedInt(x); -+ } else if (sizeof(hsize_t) == sizeof(long)) { -+ if (is_unsigned) -+ return (hsize_t)__Pyx_PyInt_AsUnsignedLong(x); -+ else -+ return (hsize_t)__Pyx_PyInt_AsSignedLong(x); -+ } else if (sizeof(hsize_t) == sizeof(PY_LONG_LONG)) { -+ if (is_unsigned) -+ return (hsize_t)__Pyx_PyInt_AsUnsignedLongLong(x); -+ else -+ return (hsize_t)__Pyx_PyInt_AsSignedLongLong(x); -+ } else { -+ #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) -+ PyErr_SetString(PyExc_RuntimeError, -+ "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -+ #else -+ hsize_t val; -+ PyObject *v = __Pyx_PyNumber_Int(x); -+ #if PY_VERSION_HEX < 0x03000000 -+ if (likely(v) && !PyLong_Check(v)) { -+ PyObject *tmp = v; -+ v = PyNumber_Long(tmp); -+ Py_DECREF(tmp); -+ } -+ #endif -+ if (likely(v)) { -+ int one = 1; int is_little = (int)*(unsigned char *)&one; -+ unsigned char *bytes = (unsigned char *)&val; -+ int ret = _PyLong_AsByteArray((PyLongObject *)v, -+ bytes, sizeof(val), -+ is_little, !is_unsigned); -+ Py_DECREF(v); -+ if (likely(!ret)) -+ return val; -+ } -+ #endif -+ return (hsize_t)-1; -+ } - } - - static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_time_t(time_t val) { -@@ -6223,7 +6552,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyI - } else { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; -- return _PyLong_FromByteArray(bytes, sizeof(time_t), -+ return _PyLong_FromByteArray(bytes, sizeof(time_t), - little, !is_unsigned); - } - } -@@ -6248,7 +6577,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyI - } else { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; -- return _PyLong_FromByteArray(bytes, sizeof(hid_t), -+ return _PyLong_FromByteArray(bytes, sizeof(hid_t), - little, !is_unsigned); - } - } -@@ -6273,7 +6602,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyI - } else { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; -- return _PyLong_FromByteArray(bytes, sizeof(hsize_t), -+ return _PyLong_FromByteArray(bytes, sizeof(hsize_t), - little, !is_unsigned); - } - } -@@ -6489,9 +6818,9 @@ static CYTHON_INLINE unsigned long __Pyx - "can't convert negative value to unsigned long"); - return (unsigned long)-1; - } -- return PyLong_AsUnsignedLong(x); -+ return (unsigned long)PyLong_AsUnsignedLong(x); - } else { -- return PyLong_AsLong(x); -+ return (unsigned long)PyLong_AsLong(x); - } - } else { - unsigned long val; -@@ -6524,9 +6853,9 @@ static CYTHON_INLINE unsigned PY_LONG_LO - "can't convert negative value to unsigned PY_LONG_LONG"); - return (unsigned PY_LONG_LONG)-1; - } -- return PyLong_AsUnsignedLongLong(x); -+ return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); - } else { -- return PyLong_AsLongLong(x); -+ return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x); - } - } else { - unsigned PY_LONG_LONG val; -@@ -6559,9 +6888,9 @@ static CYTHON_INLINE long __Pyx_PyInt_As - "can't convert negative value to long"); - return (long)-1; - } -- return PyLong_AsUnsignedLong(x); -+ return (long)PyLong_AsUnsignedLong(x); - } else { -- return PyLong_AsLong(x); -+ return (long)PyLong_AsLong(x); - } - } else { - long val; -@@ -6594,9 +6923,9 @@ static CYTHON_INLINE PY_LONG_LONG __Pyx_ - "can't convert negative value to PY_LONG_LONG"); - return (PY_LONG_LONG)-1; - } -- return PyLong_AsUnsignedLongLong(x); -+ return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); - } else { -- return PyLong_AsLongLong(x); -+ return (PY_LONG_LONG)PyLong_AsLongLong(x); - } - } else { - PY_LONG_LONG val; -@@ -6629,9 +6958,9 @@ static CYTHON_INLINE signed long __Pyx_P - "can't convert negative value to signed long"); - return (signed long)-1; - } -- return PyLong_AsUnsignedLong(x); -+ return (signed long)PyLong_AsUnsignedLong(x); - } else { -- return PyLong_AsLong(x); -+ return (signed long)PyLong_AsLong(x); - } - } else { - signed long val; -@@ -6664,9 +6993,9 @@ static CYTHON_INLINE signed PY_LONG_LONG - "can't convert negative value to signed PY_LONG_LONG"); - return (signed PY_LONG_LONG)-1; - } -- return PyLong_AsUnsignedLongLong(x); -+ return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); - } else { -- return PyLong_AsLongLong(x); -+ return (signed PY_LONG_LONG)PyLong_AsLongLong(x); - } - } else { - signed PY_LONG_LONG val; -@@ -6678,128 +7007,55 @@ static CYTHON_INLINE signed PY_LONG_LONG - } - } - --static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject* x) { -- const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0; -- const int is_unsigned = const_zero < neg_one; -- if (sizeof(hid_t) == sizeof(char)) { -- if (is_unsigned) -- return (hid_t)__Pyx_PyInt_AsUnsignedChar(x); -- else -- return (hid_t)__Pyx_PyInt_AsSignedChar(x); -- } else if (sizeof(hid_t) == sizeof(short)) { -- if (is_unsigned) -- return (hid_t)__Pyx_PyInt_AsUnsignedShort(x); -- else -- return (hid_t)__Pyx_PyInt_AsSignedShort(x); -- } else if (sizeof(hid_t) == sizeof(int)) { -- if (is_unsigned) -- return (hid_t)__Pyx_PyInt_AsUnsignedInt(x); -- else -- return (hid_t)__Pyx_PyInt_AsSignedInt(x); -- } else if (sizeof(hid_t) == sizeof(long)) { -- if (is_unsigned) -- return (hid_t)__Pyx_PyInt_AsUnsignedLong(x); -- else -- return (hid_t)__Pyx_PyInt_AsSignedLong(x); -- } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) { -- if (is_unsigned) -- return (hid_t)__Pyx_PyInt_AsUnsignedLongLong(x); -- else -- return (hid_t)__Pyx_PyInt_AsSignedLongLong(x); -- } else { -- hid_t val; -- PyObject *v = __Pyx_PyNumber_Int(x); -- #if PY_VERSION_HEX < 0x03000000 -- if (likely(v) && !PyLong_Check(v)) { -- PyObject *tmp = v; -- v = PyNumber_Long(tmp); -- Py_DECREF(tmp); -- } -+static int __Pyx_check_binary_version(void) { -+ char ctversion[4], rtversion[4]; -+ PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION); -+ PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion()); -+ if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) { -+ char message[200]; -+ PyOS_snprintf(message, sizeof(message), -+ "compiletime version %s of module '%.100s' " -+ "does not match runtime version %s", -+ ctversion, __Pyx_MODULE_NAME, rtversion); -+ #if PY_VERSION_HEX < 0x02050000 -+ return PyErr_Warn(NULL, message); -+ #else -+ return PyErr_WarnEx(NULL, message, 1); - #endif -- if (likely(v)) { -- int one = 1; int is_little = (int)*(unsigned char *)&one; -- unsigned char *bytes = (unsigned char *)&val; -- int ret = _PyLong_AsByteArray((PyLongObject *)v, -- bytes, sizeof(val), -- is_little, !is_unsigned); -- Py_DECREF(v); -- if (likely(!ret)) -- return val; -- } -- return (hid_t)-1; - } -+ return 0; - } - --static CYTHON_INLINE hsize_t __Pyx_PyInt_from_py_hsize_t(PyObject* x) { -- const hsize_t neg_one = (hsize_t)-1, const_zero = (hsize_t)0; -- const int is_unsigned = const_zero < neg_one; -- if (sizeof(hsize_t) == sizeof(char)) { -- if (is_unsigned) -- return (hsize_t)__Pyx_PyInt_AsUnsignedChar(x); -- else -- return (hsize_t)__Pyx_PyInt_AsSignedChar(x); -- } else if (sizeof(hsize_t) == sizeof(short)) { -- if (is_unsigned) -- return (hsize_t)__Pyx_PyInt_AsUnsignedShort(x); -- else -- return (hsize_t)__Pyx_PyInt_AsSignedShort(x); -- } else if (sizeof(hsize_t) == sizeof(int)) { -- if (is_unsigned) -- return (hsize_t)__Pyx_PyInt_AsUnsignedInt(x); -- else -- return (hsize_t)__Pyx_PyInt_AsSignedInt(x); -- } else if (sizeof(hsize_t) == sizeof(long)) { -- if (is_unsigned) -- return (hsize_t)__Pyx_PyInt_AsUnsignedLong(x); -- else -- return (hsize_t)__Pyx_PyInt_AsSignedLong(x); -- } else if (sizeof(hsize_t) == sizeof(PY_LONG_LONG)) { -- if (is_unsigned) -- return (hsize_t)__Pyx_PyInt_AsUnsignedLongLong(x); -- else -- return (hsize_t)__Pyx_PyInt_AsSignedLongLong(x); -- } else { -- hsize_t val; -- PyObject *v = __Pyx_PyNumber_Int(x); -- #if PY_VERSION_HEX < 0x03000000 -- if (likely(v) && !PyLong_Check(v)) { -- PyObject *tmp = v; -- v = PyNumber_Long(tmp); -- Py_DECREF(tmp); -- } -- #endif -- if (likely(v)) { -- int one = 1; int is_little = (int)*(unsigned char *)&one; -- unsigned char *bytes = (unsigned char *)&val; -- int ret = _PyLong_AsByteArray((PyLongObject *)v, -- bytes, sizeof(val), -- is_little, !is_unsigned); -- Py_DECREF(v); -- if (likely(!ret)) -- return val; -- } -- return (hsize_t)-1; -- } -+#ifndef __PYX_HAVE_RT_ImportModule -+#define __PYX_HAVE_RT_ImportModule -+static PyObject *__Pyx_ImportModule(const char *name) { -+ PyObject *py_name = 0; -+ PyObject *py_module = 0; -+ py_name = __Pyx_PyIdentifier_FromString(name); -+ if (!py_name) -+ goto bad; -+ py_module = PyImport_Import(py_name); -+ Py_DECREF(py_name); -+ return py_module; -+bad: -+ Py_XDECREF(py_name); -+ return 0; - } -+#endif - - #ifndef __PYX_HAVE_RT_ImportType - #define __PYX_HAVE_RT_ImportType - static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, -- long size, int strict) -+ size_t size, int strict) - { - PyObject *py_module = 0; - PyObject *result = 0; - PyObject *py_name = 0; - char warning[200]; -- - py_module = __Pyx_ImportModule(module_name); - if (!py_module) - goto bad; -- #if PY_MAJOR_VERSION < 3 -- py_name = PyString_FromString(class_name); -- #else -- py_name = PyUnicode_FromString(class_name); -- #endif -+ py_name = __Pyx_PyIdentifier_FromString(class_name); - if (!py_name) - goto bad; - result = PyObject_GetAttr(py_module, py_name); -@@ -6815,17 +7071,17 @@ static PyTypeObject *__Pyx_ImportType(co - module_name, class_name); - goto bad; - } -- if (!strict && ((PyTypeObject *)result)->tp_basicsize > size) { -+ if (!strict && (size_t)((PyTypeObject *)result)->tp_basicsize > size) { - PyOS_snprintf(warning, sizeof(warning), - "%s.%s size changed, may indicate binary incompatibility", - module_name, class_name); - #if PY_VERSION_HEX < 0x02050000 -- PyErr_Warn(NULL, warning); -+ if (PyErr_Warn(NULL, warning) < 0) goto bad; - #else -- PyErr_WarnEx(NULL, warning, 0); -+ if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; - #endif - } -- else if (((PyTypeObject *)result)->tp_basicsize != size) { -+ else if ((size_t)((PyTypeObject *)result)->tp_basicsize != size) { - PyErr_Format(PyExc_ValueError, - "%s.%s has the wrong size, try recompiling", - module_name, class_name); -@@ -6835,29 +7091,7 @@ static PyTypeObject *__Pyx_ImportType(co - bad: - Py_XDECREF(py_module); - Py_XDECREF(result); -- return 0; --} --#endif -- --#ifndef __PYX_HAVE_RT_ImportModule --#define __PYX_HAVE_RT_ImportModule --static PyObject *__Pyx_ImportModule(const char *name) { -- PyObject *py_name = 0; -- PyObject *py_module = 0; -- -- #if PY_MAJOR_VERSION < 3 -- py_name = PyString_FromString(name); -- #else -- py_name = PyUnicode_FromString(name); -- #endif -- if (!py_name) -- goto bad; -- py_module = PyImport_Import(py_name); -- Py_DECREF(py_name); -- return py_module; --bad: -- Py_XDECREF(py_name); -- return 0; -+ return NULL; - } - #endif - -@@ -6870,7 +7104,6 @@ static int __Pyx_ImportFunction(PyObject - void (*fp)(void); - void *p; - } tmp; -- - d = PyObject_GetAttrString(module, (char *)"__pyx_capi__"); - if (!d) - goto bad; -@@ -6881,7 +7114,7 @@ static int __Pyx_ImportFunction(PyObject - PyModule_GetName(module), funcname); - goto bad; - } --#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0) -+#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0) - if (!PyCapsule_IsValid(cobj, sig)) { - PyErr_Format(PyExc_TypeError, - "C function %s.%s has wrong signature (expected %s, got %s)", -@@ -6915,28 +7148,105 @@ bad: - } - #endif - -+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { -+ int start = 0, mid = 0, end = count - 1; -+ if (end >= 0 && code_line > entries[end].code_line) { -+ return count; -+ } -+ while (start < end) { -+ mid = (start + end) / 2; -+ if (code_line < entries[mid].code_line) { -+ end = mid; -+ } else if (code_line > entries[mid].code_line) { -+ start = mid + 1; -+ } else { -+ return mid; -+ } -+ } -+ if (code_line <= entries[mid].code_line) { -+ return mid; -+ } else { -+ return mid + 1; -+ } -+} -+static PyCodeObject *__pyx_find_code_object(int code_line) { -+ PyCodeObject* code_object; -+ int pos; -+ if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { -+ return NULL; -+ } -+ pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); -+ if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { -+ return NULL; -+ } -+ code_object = __pyx_code_cache.entries[pos].code_object; -+ Py_INCREF(code_object); -+ return code_object; -+} -+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { -+ int pos, i; -+ __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; -+ if (unlikely(!code_line)) { -+ return; -+ } -+ if (unlikely(!entries)) { -+ entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); -+ if (likely(entries)) { -+ __pyx_code_cache.entries = entries; -+ __pyx_code_cache.max_count = 64; -+ __pyx_code_cache.count = 1; -+ entries[0].code_line = code_line; -+ entries[0].code_object = code_object; -+ Py_INCREF(code_object); -+ } -+ return; -+ } -+ pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); -+ if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { -+ PyCodeObject* tmp = entries[pos].code_object; -+ entries[pos].code_object = code_object; -+ Py_DECREF(tmp); -+ return; -+ } -+ if (__pyx_code_cache.count == __pyx_code_cache.max_count) { -+ int new_max = __pyx_code_cache.max_count + 64; -+ entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( -+ __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry)); -+ if (unlikely(!entries)) { -+ return; -+ } -+ __pyx_code_cache.entries = entries; -+ __pyx_code_cache.max_count = new_max; -+ } -+ for (i=__pyx_code_cache.count; i>pos; i--) { -+ entries[i] = entries[i-1]; -+ } -+ entries[pos].code_line = code_line; -+ entries[pos].code_object = code_object; -+ __pyx_code_cache.count++; -+ Py_INCREF(code_object); -+} -+ - #include "compile.h" - #include "frameobject.h" - #include "traceback.h" -- --static void __Pyx_AddTraceback(const char *funcname) { -+static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( -+ const char *funcname, int c_line, -+ int py_line, const char *filename) { -+ PyCodeObject *py_code = 0; - PyObject *py_srcfile = 0; - PyObject *py_funcname = 0; -- PyObject *py_globals = 0; -- PyCodeObject *py_code = 0; -- PyFrameObject *py_frame = 0; -- - #if PY_MAJOR_VERSION < 3 -- py_srcfile = PyString_FromString(__pyx_filename); -+ py_srcfile = PyString_FromString(filename); - #else -- py_srcfile = PyUnicode_FromString(__pyx_filename); -+ py_srcfile = PyUnicode_FromString(filename); - #endif - if (!py_srcfile) goto bad; -- if (__pyx_clineno) { -+ if (c_line) { - #if PY_MAJOR_VERSION < 3 -- py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno); -+ py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - #else -- py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno); -+ py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - #endif - } - else { -@@ -6947,28 +7257,45 @@ static void __Pyx_AddTraceback(const cha - #endif - } - if (!py_funcname) goto bad; -- py_globals = PyModule_GetDict(__pyx_m); -- if (!py_globals) goto bad; -- py_code = PyCode_New( -+ py_code = __Pyx_PyCode_New( - 0, /*int argcount,*/ -- #if PY_MAJOR_VERSION >= 3 - 0, /*int kwonlyargcount,*/ -- #endif - 0, /*int nlocals,*/ - 0, /*int stacksize,*/ - 0, /*int flags,*/ - __pyx_empty_bytes, /*PyObject *code,*/ -- __pyx_empty_tuple, /*PyObject *consts,*/ -- __pyx_empty_tuple, /*PyObject *names,*/ -- __pyx_empty_tuple, /*PyObject *varnames,*/ -- __pyx_empty_tuple, /*PyObject *freevars,*/ -- __pyx_empty_tuple, /*PyObject *cellvars,*/ -+ __pyx_empty_tuple, /*PyObject *consts,*/ -+ __pyx_empty_tuple, /*PyObject *names,*/ -+ __pyx_empty_tuple, /*PyObject *varnames,*/ -+ __pyx_empty_tuple, /*PyObject *freevars,*/ -+ __pyx_empty_tuple, /*PyObject *cellvars,*/ - py_srcfile, /*PyObject *filename,*/ - py_funcname, /*PyObject *name,*/ -- __pyx_lineno, /*int firstlineno,*/ -+ py_line, /*int firstlineno,*/ - __pyx_empty_bytes /*PyObject *lnotab*/ - ); -- if (!py_code) goto bad; -+ Py_DECREF(py_srcfile); -+ Py_DECREF(py_funcname); -+ return py_code; -+bad: -+ Py_XDECREF(py_srcfile); -+ Py_XDECREF(py_funcname); -+ return NULL; -+} -+static void __Pyx_AddTraceback(const char *funcname, int c_line, -+ int py_line, const char *filename) { -+ PyCodeObject *py_code = 0; -+ PyObject *py_globals = 0; -+ PyFrameObject *py_frame = 0; -+ py_code = __pyx_find_code_object(c_line ? c_line : py_line); -+ if (!py_code) { -+ py_code = __Pyx_CreateCodeObjectForTraceback( -+ funcname, c_line, py_line, filename); -+ if (!py_code) goto bad; -+ __pyx_insert_code_object(c_line ? c_line : py_line, py_code); -+ } -+ py_globals = PyModule_GetDict(__pyx_m); -+ if (!py_globals) goto bad; - py_frame = PyFrame_New( - PyThreadState_GET(), /*PyThreadState *tstate,*/ - py_code, /*PyCodeObject *code,*/ -@@ -6976,11 +7303,9 @@ static void __Pyx_AddTraceback(const cha - 0 /*PyObject *locals*/ - ); - if (!py_frame) goto bad; -- py_frame->f_lineno = __pyx_lineno; -+ py_frame->f_lineno = py_line; - PyTraceBack_Here(py_frame); - bad: -- Py_XDECREF(py_srcfile); -- Py_XDECREF(py_funcname); - Py_XDECREF(py_code); - Py_XDECREF(py_frame); - } -@@ -7015,6 +7340,7 @@ static int __Pyx_InitStrings(__Pyx_Strin - return 0; - } - -+ - /* Type Conversion Functions */ - - static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { -diff -rupN h5py-2.1.0.orig/h5py/h5g.pyx h5py-2.1.0/h5py/h5g.pyx ---- h5py-2.1.0.orig/h5py/h5g.pyx 2012-09-20 03:04:52.000000000 +0200 -+++ h5py-2.1.0/h5py/h5g.pyx 2012-11-23 14:17:42.000000000 +0100 -@@ -20,7 +20,7 @@ from utils cimport emalloc, efree - from h5p cimport PropID - cimport _hdf5 # to implement container testing for 1.6 - --import _objects -+from h5py import _objects - - # === Public constants and data structures ==================================== - -diff -rupN h5py-2.1.0.orig/h5py/h5p.c h5py-2.1.0/h5py/h5p.c ---- h5py-2.1.0.orig/h5py/h5p.c 2012-10-02 16:17:39.000000000 +0200 -+++ h5py-2.1.0/h5py/h5p.c 2012-11-23 14:17:42.000000000 +0100 -@@ -1,16 +1,16 @@ --/* Generated by Cython 0.14.1 on Tue Oct 2 08:17:39 2012 */ -+/* Generated by Cython 0.17.2 on Fri Nov 23 14:06:26 2012 */ - - #define PY_SSIZE_T_CLEAN - #include "Python.h" - #ifndef Py_PYTHON_H - #error Python headers needed to compile C extensions, please install development version of Python. -+#elif PY_VERSION_HEX < 0x02040000 -+ #error Cython requires Python 2.4+. - #else -- - #include /* For offsetof */ - #ifndef offsetof - #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) - #endif -- - #if !defined(WIN32) && !defined(MS_WINDOWS) - #ifndef __stdcall - #define __stdcall -@@ -22,36 +22,47 @@ - #define __fastcall - #endif - #endif -- - #ifndef DL_IMPORT - #define DL_IMPORT(t) t - #endif - #ifndef DL_EXPORT - #define DL_EXPORT(t) t - #endif -- - #ifndef PY_LONG_LONG - #define PY_LONG_LONG LONG_LONG - #endif -- --#if PY_VERSION_HEX < 0x02040000 -- #define METH_COEXIST 0 -- #define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type) -- #define PyDict_Contains(d,o) PySequence_Contains(d,o) -+#ifndef Py_HUGE_VAL -+ #define Py_HUGE_VAL HUGE_VAL -+#endif -+#ifdef PYPY_VERSION -+#define CYTHON_COMPILING_IN_PYPY 1 -+#define CYTHON_COMPILING_IN_CPYTHON 0 -+#else -+#define CYTHON_COMPILING_IN_PYPY 0 -+#define CYTHON_COMPILING_IN_CPYTHON 1 - #endif -- - #if PY_VERSION_HEX < 0x02050000 - typedef int Py_ssize_t; - #define PY_SSIZE_T_MAX INT_MAX - #define PY_SSIZE_T_MIN INT_MIN - #define PY_FORMAT_SIZE_T "" -+ #define CYTHON_FORMAT_SSIZE_T "" - #define PyInt_FromSsize_t(z) PyInt_FromLong(z) -- #define PyInt_AsSsize_t(o) PyInt_AsLong(o) -- #define PyNumber_Index(o) PyNumber_Int(o) -- #define PyIndex_Check(o) PyNumber_Check(o) -+ #define PyInt_AsSsize_t(o) __Pyx_PyInt_AsInt(o) -+ #define PyNumber_Index(o) ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \ -+ (PyErr_Format(PyExc_TypeError, \ -+ "expected index value, got %.200s", Py_TYPE(o)->tp_name), \ -+ (PyObject*)0)) -+ #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \ -+ !PyComplex_Check(o)) -+ #define PyIndex_Check __Pyx_PyIndex_Check - #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message) -+ #define __PYX_BUILD_PY_SSIZE_T "i" -+#else -+ #define __PYX_BUILD_PY_SSIZE_T "n" -+ #define CYTHON_FORMAT_SSIZE_T "z" -+ #define __Pyx_PyIndex_Check PyIndex_Check - #endif -- - #if PY_VERSION_HEX < 0x02060000 - #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt) - #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type) -@@ -59,7 +70,6 @@ - #define PyVarObject_HEAD_INIT(type, size) \ - PyObject_HEAD_INIT(type) size, - #define PyType_Modified(t) -- - typedef struct { - void *buf; - PyObject *obj; -@@ -73,7 +83,6 @@ - Py_ssize_t *suboffsets; - void *internal; - } Py_buffer; -- - #define PyBUF_SIMPLE 0 - #define PyBUF_WRITABLE 0x0001 - #define PyBUF_FORMAT 0x0004 -@@ -83,24 +92,44 @@ - #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES) - #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES) - #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES) -- -+ #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE) -+ #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE) -+ typedef int (*getbufferproc)(PyObject *, Py_buffer *, int); -+ typedef void (*releasebufferproc)(PyObject *, Py_buffer *); - #endif -- - #if PY_MAJOR_VERSION < 3 - #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" -+ #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \ -+ PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) - #else - #define __Pyx_BUILTIN_MODULE_NAME "builtins" -+ #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \ -+ PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -+#endif -+#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6 -+ #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict") - #endif -- - #if PY_MAJOR_VERSION >= 3 - #define Py_TPFLAGS_CHECKTYPES 0 - #define Py_TPFLAGS_HAVE_INDEX 0 - #endif -- - #if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3) - #define Py_TPFLAGS_HAVE_NEWBUFFER 0 - #endif -- -+#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) -+ #define CYTHON_PEP393_ENABLED 1 -+ #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ? \ -+ 0 : _PyUnicode_Ready((PyObject *)(op))) -+ #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) -+ #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) -+ #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) -+#else -+ #define CYTHON_PEP393_ENABLED 0 -+ #define __Pyx_PyUnicode_READY(op) (0) -+ #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) -+ #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) -+ #define __Pyx_PyUnicode_READ(k, d, i) ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i])) -+#endif - #if PY_MAJOR_VERSION >= 3 - #define PyBaseString_Type PyUnicode_Type - #define PyStringObject PyUnicodeObject -@@ -108,7 +137,6 @@ - #define PyString_Check PyUnicode_Check - #define PyString_CheckExact PyUnicode_CheckExact - #endif -- - #if PY_VERSION_HEX < 0x02060000 - #define PyBytesObject PyStringObject - #define PyBytes_Type PyString_Type -@@ -127,7 +155,6 @@ - #define PyBytes_Concat PyString_Concat - #define PyBytes_ConcatAndDel PyString_ConcatAndDel - #endif -- - #if PY_VERSION_HEX < 0x02060000 - #define PySet_Check(obj) PyObject_TypeCheck(obj, &PySet_Type) - #define PyFrozenSet_Check(obj) PyObject_TypeCheck(obj, &PyFrozenSet_Type) -@@ -135,9 +162,7 @@ - #ifndef PySet_CheckExact - #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) - #endif -- - #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) -- - #if PY_MAJOR_VERSION >= 3 - #define PyIntObject PyLongObject - #define PyInt_Type PyLong_Type -@@ -154,20 +179,17 @@ - #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask - #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask - #endif -- - #if PY_MAJOR_VERSION >= 3 - #define PyBoolObject PyLongObject - #endif -- -- --#if PY_MAJOR_VERSION >= 3 -- #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) -- #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) -+#if PY_VERSION_HEX < 0x03020000 -+ typedef long Py_hash_t; -+ #define __Pyx_PyInt_FromHash_t PyInt_FromLong -+ #define __Pyx_PyInt_AsHash_t PyInt_AsLong - #else -- #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) -- #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -+ #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t -+ #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t - #endif -- - #if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300) - #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b) - #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value) -@@ -186,11 +208,9 @@ - (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \ - (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1))) - #endif -- - #if PY_MAJOR_VERSION >= 3 - #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func)) - #endif -- - #if PY_VERSION_HEX < 0x02050000 - #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),((char *)(n))) - #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a)) -@@ -200,7 +220,6 @@ - #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a)) - #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),(n)) - #endif -- - #if PY_VERSION_HEX < 0x02050000 - #define __Pyx_NAMESTR(n) ((char *)(n)) - #define __Pyx_DOCSTR(n) ((char *)(n)) -@@ -209,16 +228,28 @@ - #define __Pyx_DOCSTR(n) (n) - #endif - --#ifdef __cplusplus --#define __PYX_EXTERN_C extern "C" -+ -+#if PY_MAJOR_VERSION >= 3 -+ #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) -+ #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) - #else --#define __PYX_EXTERN_C extern -+ #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) -+ #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -+#endif -+ -+#ifndef __PYX_EXTERN_C -+ #ifdef __cplusplus -+ #define __PYX_EXTERN_C extern "C" -+ #else -+ #define __PYX_EXTERN_C extern -+ #endif - #endif - - #if defined(WIN32) || defined(MS_WINDOWS) - #define _USE_MATH_DEFINES - #endif - #include -+#define __PYX_HAVE__h5py__h5p - #define __PYX_HAVE_API__h5py__h5p - #include "stdlib.h" - #include "string.h" -@@ -230,6 +261,9 @@ - #include "hdf5.h" - #include "hdf5_hl.h" - #include "numpy/arrayobject.h" -+#ifdef _OPENMP -+#include -+#endif /* _OPENMP */ - - #ifdef PYREX_WITHOUT_ASSERTIONS - #define CYTHON_WITHOUT_ASSERTIONS -@@ -257,7 +291,7 @@ - # else - # define CYTHON_UNUSED - # endif --# elif defined(__ICC) || defined(__INTEL_COMPILER) -+# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) - # define CYTHON_UNUSED __attribute__ ((__unused__)) - # else - # define CYTHON_UNUSED -@@ -272,6 +306,7 @@ typedef struct {PyObject **p; char *s; c - #define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s) - #define __Pyx_PyBytes_AsUString(s) ((unsigned char*) PyBytes_AsString(s)) - -+#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None) - #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False)) - static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); - static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); -@@ -280,21 +315,25 @@ static CYTHON_INLINE Py_ssize_t __Pyx_Py - static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); - static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*); - -+#if CYTHON_COMPILING_IN_CPYTHON - #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) -- -+#else -+#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) -+#endif -+#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) - - #ifdef __GNUC__ --/* Test for GCC > 2.95 */ --#if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) --#define likely(x) __builtin_expect(!!(x), 1) --#define unlikely(x) __builtin_expect(!!(x), 0) --#else /* __GNUC__ > 2 ... */ --#define likely(x) (x) --#define unlikely(x) (x) --#endif /* __GNUC__ > 2 ... */ -+ /* Test for GCC > 2.95 */ -+ #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) -+ #define likely(x) __builtin_expect(!!(x), 1) -+ #define unlikely(x) __builtin_expect(!!(x), 0) -+ #else /* __GNUC__ > 2 ... */ -+ #define likely(x) (x) -+ #define unlikely(x) (x) -+ #endif /* __GNUC__ > 2 ... */ - #else /* __GNUC__ */ --#define likely(x) (x) --#define unlikely(x) (x) -+ #define likely(x) (x) -+ #define unlikely(x) (x) - #endif /* __GNUC__ */ - - static PyObject *__pyx_m; -@@ -314,7 +353,36 @@ static const char *__pyx_f[] = { - "h5t.pxd", - }; - --/* Type declarations */ -+/*--- Type declarations ---*/ -+struct __pyx_obj_4h5py_8_objects_ObjectID; -+struct __pyx_obj_4h5py_3h5p_PropID; -+struct __pyx_obj_4h5py_3h5p_PropInstanceID; -+struct __pyx_obj_4h5py_3h5p_PropCreateID; -+struct __pyx_obj_4h5py_3h5p_PropFCID; -+struct __pyx_obj_4h5py_3h5t_TypeID; -+struct __pyx_obj_4h5py_3h5t_TypeBitfieldID; -+struct __pyx_obj_4h5py_3h5t_TypeAtomicID; -+struct __pyx_obj_4h5py_3h5t_TypeIntegerID; -+struct __pyx_obj_4h5py_3h5p_PropClassID; -+struct __pyx_obj_4h5py_3h5t_TypeCompositeID; -+struct __pyx_obj_4h5py_3h5t_TypeCompoundID; -+struct __pyx_obj_4h5py_3h5p_PropCopyID; -+struct __pyx_obj_4h5py_3h5t_TypeEnumID; -+struct __pyx_obj_4h5py_3h5t_TypeVlenID; -+struct __pyx_obj_4h5py_3h5p_PropGCID; -+struct __pyx_obj_4h5py_3h5p_PropLCID; -+struct __pyx_obj_4h5py_3h5t_TypeTimeID; -+struct __pyx_obj_4h5py_3h5p_PropDCID; -+struct __pyx_obj_4h5py_3h5p_PropLAID; -+struct __pyx_obj_4h5py_3h5p_PropDXID; -+struct __pyx_obj_4h5py_3h5p_PropFAID; -+struct __pyx_obj_4h5py_3h5t_TypeOpaqueID; -+struct __pyx_obj_4h5py_3h5t_TypeFloatID; -+struct __pyx_obj_4h5py_3h5t_TypeStringID; -+struct __pyx_obj_4h5py_3h5t_TypeArrayID; -+struct __pyx_obj_4h5py_3h5t_TypeReferenceID; -+struct __pyx_opt_args_4h5py_5utils_check_numpy_read; -+struct __pyx_opt_args_4h5py_5utils_check_numpy_write; - - /* "utils.pxd":20 - * cdef void efree(void* ptr) -@@ -323,7 +391,6 @@ static const char *__pyx_f[] = { - * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1 - * - */ -- - struct __pyx_opt_args_4h5py_5utils_check_numpy_read { - int __pyx_n; - hid_t space_id; -@@ -336,11 +403,11 @@ struct __pyx_opt_args_4h5py_5utils_check - * - * cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1 - */ -- - struct __pyx_opt_args_4h5py_5utils_check_numpy_write { - int __pyx_n; - hid_t space_id; - }; -+struct __pyx_opt_args_4h5py_3h5t_py_create; - - /* "h5t.pxd":72 - * -@@ -349,7 +416,6 @@ struct __pyx_opt_args_4h5py_5utils_check - * - * - */ -- - struct __pyx_opt_args_4h5py_3h5t_py_create { - int __pyx_n; - int logical; -@@ -362,7 +428,6 @@ struct __pyx_opt_args_4h5py_3h5t_py_crea - * - * cdef object __weakref__ - */ -- - struct __pyx_obj_4h5py_8_objects_ObjectID { - PyObject_HEAD - PyObject *__weakref__; -@@ -371,6 +436,7 @@ struct __pyx_obj_4h5py_8_objects_ObjectI - PyObject *_hash; - }; - -+ - /* "h5py/h5p.pxd":23 - * # --- Base classes --- - * -@@ -378,11 +444,11 @@ struct __pyx_obj_4h5py_8_objects_ObjectI - * """ Base class for all property lists """ - * pass - */ -- - struct __pyx_obj_4h5py_3h5p_PropID { - struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base; - }; - -+ - /* "h5py/h5p.pxd":33 - * pass - * -@@ -390,23 +456,35 @@ struct __pyx_obj_4h5py_3h5p_PropID { - * """ Represents an instance of a property list class (i.e. an actual list - * which can be passed on to other API functions). - */ -- - struct __pyx_obj_4h5py_3h5p_PropInstanceID { - struct __pyx_obj_4h5py_3h5p_PropID __pyx_base; - }; - --/* "h5py/h5p.pxd":62 -- * # --- Object access --- -- * -- * cdef class PropFAID(PropInstanceID): # <<<<<<<<<<<<<< -- * """ File access property list """ -+ -+/* "h5py/h5p.pxd":39 - * pass -+ * -+ * cdef class PropCreateID(PropInstanceID): # <<<<<<<<<<<<<< -+ * """ Base class for all object creation lists. -+ * - */ -- --struct __pyx_obj_4h5py_3h5p_PropFAID { -+struct __pyx_obj_4h5py_3h5p_PropCreateID { - struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; - }; - -+ -+/* "h5py/h5p.pxd":55 -+ * pass -+ * -+ * cdef class PropFCID(PropCreateID): # <<<<<<<<<<<<<< -+ * """ File creation property list """ -+ * pass -+ */ -+struct __pyx_obj_4h5py_3h5p_PropFCID { -+ struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; -+}; -+ -+ - /* "h5t.pxd":17 - * from _objects cimport class ObjectID - * -@@ -414,12 +492,12 @@ struct __pyx_obj_4h5py_3h5p_PropFAID { - * - * cdef object py_dtype(self) - */ -- - struct __pyx_obj_4h5py_3h5t_TypeID { - struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base; - struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtab; - }; - -+ - /* "h5t.pxd":40 - * pass - * -@@ -427,35 +505,35 @@ struct __pyx_obj_4h5py_3h5t_TypeID { - * pass - * - */ -- - struct __pyx_obj_4h5py_3h5t_TypeBitfieldID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - --/* "h5py/h5p.pxd":39 -- * pass -+ -+/* "h5t.pxd":48 -+ * # --- Numeric atomic types --- - * -- * cdef class PropCreateID(PropInstanceID): # <<<<<<<<<<<<<< -- * """ Base class for all object creation lists. -+ * cdef class TypeAtomicID(TypeID): # <<<<<<<<<<<<<< -+ * pass - * - */ -- --struct __pyx_obj_4h5py_3h5p_PropCreateID { -- struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; -+struct __pyx_obj_4h5py_3h5t_TypeAtomicID { -+ struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - --/* "h5py/h5p.pxd":55 -+ -+/* "h5t.pxd":51 - * pass - * -- * cdef class PropFCID(PropCreateID): # <<<<<<<<<<<<<< -- * """ File creation property list """ -+ * cdef class TypeIntegerID(TypeAtomicID): # <<<<<<<<<<<<<< - * pass -+ * - */ -- --struct __pyx_obj_4h5py_3h5p_PropFCID { -- struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; -+struct __pyx_obj_4h5py_3h5t_TypeIntegerID { -+ struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base; - }; - -+ - /* "h5py/h5p.pxd":27 - * pass - * -@@ -463,11 +541,11 @@ struct __pyx_obj_4h5py_3h5p_PropFCID { - * """ Represents an HDF5 property list class. These can be either (locked) - * library-defined classes or user-created classes. - */ -- - struct __pyx_obj_4h5py_3h5p_PropClassID { - struct __pyx_obj_4h5py_3h5p_PropID __pyx_base; - }; - -+ - /* "h5t.pxd":59 - * # --- Enums & compound types --- - * -@@ -475,11 +553,11 @@ struct __pyx_obj_4h5py_3h5p_PropClassID - * pass - * - */ -- - struct __pyx_obj_4h5py_3h5t_TypeCompositeID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - -+ - /* "h5t.pxd":66 - * cdef int enum_convert(self, long long *buf, int reverse) except -1 - * -@@ -487,11 +565,35 @@ struct __pyx_obj_4h5py_3h5t_TypeComposit - * pass - * - */ -- - struct __pyx_obj_4h5py_3h5t_TypeCompoundID { - struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base; - }; - -+ -+/* "h5py/h5p.pxd":46 -+ * pass -+ * -+ * cdef class PropCopyID(PropInstanceID): # <<<<<<<<<<<<<< -+ * """ Property list for copying objects (as in h5o.copy) """ -+ * -+ */ -+struct __pyx_obj_4h5py_3h5p_PropCopyID { -+ struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; -+}; -+ -+ -+/* "h5t.pxd":62 -+ * pass -+ * -+ * cdef class TypeEnumID(TypeCompositeID): # <<<<<<<<<<<<<< -+ * -+ * cdef int enum_convert(self, long long *buf, int reverse) except -1 -+ */ -+struct __pyx_obj_4h5py_3h5t_TypeEnumID { -+ struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base; -+}; -+ -+ - /* "h5t.pxd":33 - * pass - * -@@ -499,22 +601,10 @@ struct __pyx_obj_4h5py_3h5t_TypeCompound - * # Non-string vlens - * pass - */ -- - struct __pyx_obj_4h5py_3h5t_TypeVlenID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - --/* "h5py/h5p.pxd":73 -- * # --- New in 1.8 --- -- * -- * cdef class PropLCID(PropCreateID): # <<<<<<<<<<<<<< -- * """ Link creation property list """ -- * pass -- */ -- --struct __pyx_obj_4h5py_3h5p_PropLCID { -- struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; --}; - - /* "h5py/h5p.pxd":81 - * cdef char* _buf -@@ -523,23 +613,23 @@ struct __pyx_obj_4h5py_3h5p_PropLCID { - * """ Group creation property list """ - * pass - */ -- - struct __pyx_obj_4h5py_3h5p_PropGCID { - struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; - }; - --/* "h5py/h5p.pxd":51 -- * # --- Object creation --- -+ -+/* "h5py/h5p.pxd":73 -+ * # --- New in 1.8 --- - * -- * cdef class PropDCID(PropCreateID): # <<<<<<<<<<<<<< -- * """ Dataset creation property list """ -+ * cdef class PropLCID(PropCreateID): # <<<<<<<<<<<<<< -+ * """ Link creation property list """ - * pass - */ -- --struct __pyx_obj_4h5py_3h5p_PropDCID { -+struct __pyx_obj_4h5py_3h5p_PropLCID { - struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; - }; - -+ - /* "h5t.pxd":37 - * pass - * -@@ -547,59 +637,60 @@ struct __pyx_obj_4h5py_3h5p_PropDCID { - * pass - * - */ -- - struct __pyx_obj_4h5py_3h5t_TypeTimeID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - --/* "h5t.pxd":23 -- * # --- Top-level classes --- -+ -+/* "h5py/h5p.pxd":51 -+ * # --- Object creation --- - * -- * cdef class TypeArrayID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class PropDCID(PropCreateID): # <<<<<<<<<<<<<< -+ * """ Dataset creation property list """ - * pass -- * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeArrayID { -- struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; -+struct __pyx_obj_4h5py_3h5p_PropDCID { -+ struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base; - }; - --/* "h5t.pxd":48 -- * # --- Numeric atomic types --- -- * -- * cdef class TypeAtomicID(TypeID): # <<<<<<<<<<<<<< -+ -+/* "h5py/h5p.pxd":77 - * pass - * -+ * cdef class PropLAID(PropInstanceID): # <<<<<<<<<<<<<< -+ * """ Link access property list """ -+ * cdef char* _buf - */ -- --struct __pyx_obj_4h5py_3h5t_TypeAtomicID { -- struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; -+struct __pyx_obj_4h5py_3h5p_PropLAID { -+ struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; -+ char *_buf; - }; - --/* "h5t.pxd":54 -+ -+/* "h5py/h5p.pxd":66 - * pass - * -- * cdef class TypeFloatID(TypeAtomicID): # <<<<<<<<<<<<<< -+ * cdef class PropDXID(PropInstanceID): # <<<<<<<<<<<<<< -+ * """ Dataset transfer property list """ - * pass -- * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeFloatID { -- struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base; -+struct __pyx_obj_4h5py_3h5p_PropDXID { -+ struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; - }; - --/* "h5t.pxd":29 -- * pass -+ -+/* "h5py/h5p.pxd":62 -+ * # --- Object access --- - * -- * cdef class TypeStringID(TypeID): # <<<<<<<<<<<<<< -- * # Both vlen and fixed-len strings -+ * cdef class PropFAID(PropInstanceID): # <<<<<<<<<<<<<< -+ * """ File access property list """ - * pass - */ -- --struct __pyx_obj_4h5py_3h5t_TypeStringID { -- struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; -+struct __pyx_obj_4h5py_3h5p_PropFAID { -+ struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; - }; - -+ - /* "h5t.pxd":26 - * pass - * -@@ -607,47 +698,47 @@ struct __pyx_obj_4h5py_3h5t_TypeStringID - * pass - * - */ -- - struct __pyx_obj_4h5py_3h5t_TypeOpaqueID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - --/* "h5t.pxd":62 -+ -+/* "h5t.pxd":54 - * pass - * -- * cdef class TypeEnumID(TypeCompositeID): # <<<<<<<<<<<<<< -+ * cdef class TypeFloatID(TypeAtomicID): # <<<<<<<<<<<<<< -+ * pass - * -- * cdef int enum_convert(self, long long *buf, int reverse) except -1 - */ -- --struct __pyx_obj_4h5py_3h5t_TypeEnumID { -- struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base; -+struct __pyx_obj_4h5py_3h5t_TypeFloatID { -+ struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base; - }; - --/* "h5py/h5p.pxd":46 -+ -+/* "h5t.pxd":29 - * pass - * -- * cdef class PropCopyID(PropInstanceID): # <<<<<<<<<<<<<< -- * """ Property list for copying objects (as in h5o.copy) """ -- * -+ * cdef class TypeStringID(TypeID): # <<<<<<<<<<<<<< -+ * # Both vlen and fixed-len strings -+ * pass - */ -- --struct __pyx_obj_4h5py_3h5p_PropCopyID { -- struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; -+struct __pyx_obj_4h5py_3h5t_TypeStringID { -+ struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - --/* "h5t.pxd":51 -- * pass -+ -+/* "h5t.pxd":23 -+ * # --- Top-level classes --- - * -- * cdef class TypeIntegerID(TypeAtomicID): # <<<<<<<<<<<<<< -+ * cdef class TypeArrayID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeIntegerID { -- struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base; -+struct __pyx_obj_4h5py_3h5t_TypeArrayID { -+ struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - -+ - /* "h5t.pxd":43 - * pass - * -@@ -655,35 +746,10 @@ struct __pyx_obj_4h5py_3h5t_TypeIntegerI - * pass - * - */ -- - struct __pyx_obj_4h5py_3h5t_TypeReferenceID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - --/* "h5py/h5p.pxd":66 -- * pass -- * -- * cdef class PropDXID(PropInstanceID): # <<<<<<<<<<<<<< -- * """ Dataset transfer property list """ -- * pass -- */ -- --struct __pyx_obj_4h5py_3h5p_PropDXID { -- struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; --}; -- --/* "h5py/h5p.pxd":77 -- * pass -- * -- * cdef class PropLAID(PropInstanceID): # <<<<<<<<<<<<<< -- * """ Link access property list """ -- * cdef char* _buf -- */ -- --struct __pyx_obj_4h5py_3h5p_PropLAID { -- struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base; -- char *_buf; --}; - - - /* "h5t.pxd":17 -@@ -700,144 +766,131 @@ struct __pyx_vtabstruct_4h5py_3h5t_TypeI - static struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtabptr_4h5py_3h5t_TypeID; - - --/* "h5t.pxd":59 -- * # --- Enums & compound types --- -+/* "h5t.pxd":48 -+ * # --- Numeric atomic types --- - * -- * cdef class TypeCompositeID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeAtomicID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID *__pyx_vtabptr_4h5py_3h5t_TypeCompositeID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID *__pyx_vtabptr_4h5py_3h5t_TypeAtomicID; - - --/* "h5t.pxd":66 -- * cdef int enum_convert(self, long long *buf, int reverse) except -1 -+/* "h5t.pxd":51 -+ * pass - * -- * cdef class TypeCompoundID(TypeCompositeID): # <<<<<<<<<<<<<< -+ * cdef class TypeIntegerID(TypeAtomicID): # <<<<<<<<<<<<<< - * pass - * - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID { -- struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base; -+struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID { -+ struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID *__pyx_vtabptr_4h5py_3h5t_TypeCompoundID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID *__pyx_vtabptr_4h5py_3h5t_TypeIntegerID; - - --/* "h5t.pxd":26 -+/* "h5t.pxd":37 - * pass - * -- * cdef class TypeOpaqueID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeTimeID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID *__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID *__pyx_vtabptr_4h5py_3h5t_TypeTimeID; - - --/* "h5t.pxd":23 -- * # --- Top-level classes --- -- * -- * cdef class TypeArrayID(TypeID): # <<<<<<<<<<<<<< -+/* "h5t.pxd":26 - * pass - * -- */ -- --struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID { -- struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; --}; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID *__pyx_vtabptr_4h5py_3h5t_TypeArrayID; -- -- --/* "h5t.pxd":48 -- * # --- Numeric atomic types --- -- * -- * cdef class TypeAtomicID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeOpaqueID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID *__pyx_vtabptr_4h5py_3h5t_TypeAtomicID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID *__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID; - - --/* "h5t.pxd":51 -+/* "h5t.pxd":43 - * pass - * -- * cdef class TypeIntegerID(TypeAtomicID): # <<<<<<<<<<<<<< -+ * cdef class TypeReferenceID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID { -- struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base; -+struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID { -+ struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID *__pyx_vtabptr_4h5py_3h5t_TypeIntegerID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID *__pyx_vtabptr_4h5py_3h5t_TypeReferenceID; - - --/* "h5t.pxd":43 -- * pass -+/* "h5t.pxd":59 -+ * # --- Enums & compound types --- - * -- * cdef class TypeReferenceID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeCompositeID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID *__pyx_vtabptr_4h5py_3h5t_TypeReferenceID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID *__pyx_vtabptr_4h5py_3h5t_TypeCompositeID; - - --/* "h5t.pxd":29 -- * pass -+/* "h5t.pxd":66 -+ * cdef int enum_convert(self, long long *buf, int reverse) except -1 - * -- * cdef class TypeStringID(TypeID): # <<<<<<<<<<<<<< -- * # Both vlen and fixed-len strings -+ * cdef class TypeCompoundID(TypeCompositeID): # <<<<<<<<<<<<<< - * pass -+ * - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID { -- struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; -+struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID { -+ struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID *__pyx_vtabptr_4h5py_3h5t_TypeStringID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID *__pyx_vtabptr_4h5py_3h5t_TypeCompoundID; - - --/* "h5t.pxd":54 -+/* "h5t.pxd":62 - * pass - * -- * cdef class TypeFloatID(TypeAtomicID): # <<<<<<<<<<<<<< -- * pass -+ * cdef class TypeEnumID(TypeCompositeID): # <<<<<<<<<<<<<< - * -+ * cdef int enum_convert(self, long long *buf, int reverse) except -1 - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID { -- struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base; -+struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID { -+ struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base; -+ int (*enum_convert)(struct __pyx_obj_4h5py_3h5t_TypeEnumID *, PY_LONG_LONG *, int); - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID *__pyx_vtabptr_4h5py_3h5t_TypeFloatID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *__pyx_vtabptr_4h5py_3h5t_TypeEnumID; - - --/* "h5t.pxd":37 -+/* "h5t.pxd":29 - * pass - * -- * cdef class TypeTimeID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeStringID(TypeID): # <<<<<<<<<<<<<< -+ * # Both vlen and fixed-len strings - * pass -- * - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID *__pyx_vtabptr_4h5py_3h5t_TypeTimeID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID *__pyx_vtabptr_4h5py_3h5t_TypeStringID; - - - /* "h5t.pxd":40 -@@ -868,24 +921,35 @@ struct __pyx_vtabstruct_4h5py_3h5t_TypeV - static struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID *__pyx_vtabptr_4h5py_3h5t_TypeVlenID; - - --/* "h5t.pxd":62 -- * pass -+/* "h5t.pxd":23 -+ * # --- Top-level classes --- - * -- * cdef class TypeEnumID(TypeCompositeID): # <<<<<<<<<<<<<< -+ * cdef class TypeArrayID(TypeID): # <<<<<<<<<<<<<< -+ * pass - * -- * cdef int enum_convert(self, long long *buf, int reverse) except -1 - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID { -- struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base; -- int (*enum_convert)(struct __pyx_obj_4h5py_3h5t_TypeEnumID *, PY_LONG_LONG *, int); -+struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID { -+ struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *__pyx_vtabptr_4h5py_3h5t_TypeEnumID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID *__pyx_vtabptr_4h5py_3h5t_TypeArrayID; -+ - -+/* "h5t.pxd":54 -+ * pass -+ * -+ * cdef class TypeFloatID(TypeAtomicID): # <<<<<<<<<<<<<< -+ * pass -+ * -+ */ -+ -+struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID { -+ struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base; -+}; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID *__pyx_vtabptr_4h5py_3h5t_TypeFloatID; - #ifndef CYTHON_REFNANNY - #define CYTHON_REFNANNY 0 - #endif -- - #if CYTHON_REFNANNY - typedef struct { - void (*INCREF)(void*, PyObject*, int); -@@ -896,44 +960,53 @@ static struct __pyx_vtabstruct_4h5py_3h5 - void (*FinishContext)(void**); - } __Pyx_RefNannyAPIStruct; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; -- static __Pyx_RefNannyAPIStruct * __Pyx_RefNannyImportAPI(const char *modname) { -- PyObject *m = NULL, *p = NULL; -- void *r = NULL; -- m = PyImport_ImportModule((char *)modname); -- if (!m) goto end; -- p = PyObject_GetAttrString(m, (char *)"RefNannyAPI"); -- if (!p) goto end; -- r = PyLong_AsVoidPtr(p); -- end: -- Py_XDECREF(p); -- Py_XDECREF(m); -- return (__Pyx_RefNannyAPIStruct *)r; -- } -- #define __Pyx_RefNannySetupContext(name) void *__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) -- #define __Pyx_RefNannyFinishContext() __Pyx_RefNanny->FinishContext(&__pyx_refnanny) -- #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -- #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -- #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -+ static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/ -+ #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; -+#ifdef WITH_THREAD -+ #define __Pyx_RefNannySetupContext(name, acquire_gil) \ -+ if (acquire_gil) { \ -+ PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \ -+ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \ -+ PyGILState_Release(__pyx_gilstate_save); \ -+ } else { \ -+ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \ -+ } -+#else -+ #define __Pyx_RefNannySetupContext(name, acquire_gil) \ -+ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) -+#endif -+ #define __Pyx_RefNannyFinishContext() \ -+ __Pyx_RefNanny->FinishContext(&__pyx_refnanny) -+ #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -+ #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -+ #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -- #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r);} } while(0) -+ #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) -+ #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) -+ #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) -+ #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) - #else -- #define __Pyx_RefNannySetupContext(name) -+ #define __Pyx_RefNannyDeclarations -+ #define __Pyx_RefNannySetupContext(name, acquire_gil) - #define __Pyx_RefNannyFinishContext() - #define __Pyx_INCREF(r) Py_INCREF(r) - #define __Pyx_DECREF(r) Py_DECREF(r) - #define __Pyx_GOTREF(r) - #define __Pyx_GIVEREF(r) -+ #define __Pyx_XINCREF(r) Py_XINCREF(r) - #define __Pyx_XDECREF(r) Py_XDECREF(r) -+ #define __Pyx_XGOTREF(r) -+ #define __Pyx_XGIVEREF(r) - #endif /* CYTHON_REFNANNY */ --#define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);} } while(0) --#define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r);} } while(0) -+#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) -+#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) - - static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/ - - static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ - static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ - --static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ -+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/ - - static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/ - -@@ -943,7 +1016,6 @@ static int __Pyx_ArgTypeTest(PyObject *o - #define __Pyx_DelItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \ - __Pyx_DelItemInt_Fast(o, i) : \ - __Pyx_DelItem_Generic(o, to_py_func(i))) -- - static CYTHON_INLINE int __Pyx_DelItem_Generic(PyObject *o, PyObject *j) { - int r; - if (!j) return -1; -@@ -951,14 +1023,23 @@ static CYTHON_INLINE int __Pyx_DelItem_G - Py_DECREF(j); - return r; - } -- - static CYTHON_INLINE int __Pyx_DelItemInt_Fast(PyObject *o, Py_ssize_t i) { -- if (Py_TYPE(o)->tp_as_sequence && Py_TYPE(o)->tp_as_sequence->sq_ass_item && likely(i >= 0)) -+#if CYTHON_COMPILING_IN_PYPY -+ if (PySequence_Check(o)) { - return PySequence_DelItem(o, i); -- else { -- PyObject *j = PyInt_FromSsize_t(i); -- return __Pyx_DelItem_Generic(o, j); - } -+#else -+ PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; -+ if (likely(m && m->sq_ass_item)) { -+ if (unlikely(i < 0) && likely(m->sq_length)) { -+ Py_ssize_t l = m->sq_length(o); -+ if (unlikely(l < 0)) return -1; -+ i += l; -+ } -+ return m->sq_ass_item(o, i, (PyObject *)NULL); -+ } -+#endif -+ return __Pyx_DelItem_Generic(o, PyInt_FromSsize_t(i)); - } - - static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ -@@ -966,11 +1047,11 @@ static int __Pyx_GetException(PyObject * - static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, - Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/ - --static void __Pyx_RaiseDoubleKeywordsError( -- const char* func_name, PyObject* kw_name); /*proto*/ -- --static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, const char* function_name); /*proto*/ -+static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/ - -+static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \ -+ PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \ -+ const char* function_name); /*proto*/ - - static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { - PyObject *r; -@@ -979,79 +1060,103 @@ static CYTHON_INLINE PyObject *__Pyx_Get - Py_DECREF(j); - return r; - } -- -- - #define __Pyx_GetItemInt_List(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \ - __Pyx_GetItemInt_List_Fast(o, i) : \ - __Pyx_GetItemInt_Generic(o, to_py_func(i))) -- - static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i) { -- if (likely(o != Py_None)) { -- if (likely((0 <= i) & (i < PyList_GET_SIZE(o)))) { -- PyObject *r = PyList_GET_ITEM(o, i); -- Py_INCREF(r); -- return r; -- } -- else if ((-PyList_GET_SIZE(o) <= i) & (i < 0)) { -- PyObject *r = PyList_GET_ITEM(o, PyList_GET_SIZE(o) + i); -- Py_INCREF(r); -- return r; -- } -+#if CYTHON_COMPILING_IN_CPYTHON -+ if (likely((0 <= i) & (i < PyList_GET_SIZE(o)))) { -+ PyObject *r = PyList_GET_ITEM(o, i); -+ Py_INCREF(r); -+ return r; -+ } -+ else if ((-PyList_GET_SIZE(o) <= i) & (i < 0)) { -+ PyObject *r = PyList_GET_ITEM(o, PyList_GET_SIZE(o) + i); -+ Py_INCREF(r); -+ return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -+#else -+ return PySequence_GetItem(o, i); -+#endif - } -- - #define __Pyx_GetItemInt_Tuple(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \ - __Pyx_GetItemInt_Tuple_Fast(o, i) : \ - __Pyx_GetItemInt_Generic(o, to_py_func(i))) -- - static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i) { -- if (likely(o != Py_None)) { -- if (likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { -- PyObject *r = PyTuple_GET_ITEM(o, i); -+#if CYTHON_COMPILING_IN_CPYTHON -+ if (likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { -+ PyObject *r = PyTuple_GET_ITEM(o, i); -+ Py_INCREF(r); -+ return r; -+ } -+ else if ((-PyTuple_GET_SIZE(o) <= i) & (i < 0)) { -+ PyObject *r = PyTuple_GET_ITEM(o, PyTuple_GET_SIZE(o) + i); -+ Py_INCREF(r); -+ return r; -+ } -+ return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -+#else -+ return PySequence_GetItem(o, i); -+#endif -+} -+#define __Pyx_GetItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \ -+ __Pyx_GetItemInt_Fast(o, i) : \ -+ __Pyx_GetItemInt_Generic(o, to_py_func(i))) -+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i) { -+#if CYTHON_COMPILING_IN_CPYTHON -+ if (PyList_CheckExact(o)) { -+ Py_ssize_t n = (likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); -+ if (likely((n >= 0) & (n < PyList_GET_SIZE(o)))) { -+ PyObject *r = PyList_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } -- else if ((-PyTuple_GET_SIZE(o) <= i) & (i < 0)) { -- PyObject *r = PyTuple_GET_ITEM(o, PyTuple_GET_SIZE(o) + i); -+ } -+ else if (PyTuple_CheckExact(o)) { -+ Py_ssize_t n = (likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); -+ if (likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) { -+ PyObject *r = PyTuple_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } -+ } else { /* inlined PySequence_GetItem() */ -+ PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; -+ if (likely(m && m->sq_item)) { -+ if (unlikely(i < 0) && likely(m->sq_length)) { -+ Py_ssize_t l = m->sq_length(o); -+ if (unlikely(l < 0)) return NULL; -+ i += l; -+ } -+ return m->sq_item(o, i); -+ } -+ } -+#else -+ if (PySequence_Check(o)) { -+ return PySequence_GetItem(o, i); - } -+#endif - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); - } - -+static CYTHON_INLINE int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); /*proto*/ - --#define __Pyx_GetItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \ -- __Pyx_GetItemInt_Fast(o, i) : \ -- __Pyx_GetItemInt_Generic(o, to_py_func(i))) -+static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc); - --static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i) { -- PyObject *r; -- if (PyList_CheckExact(o) && ((0 <= i) & (i < PyList_GET_SIZE(o)))) { -- r = PyList_GET_ITEM(o, i); -- Py_INCREF(r); -- } -- else if (PyTuple_CheckExact(o) && ((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { -- r = PyTuple_GET_ITEM(o, i); -- Py_INCREF(r); -- } -- else if (Py_TYPE(o)->tp_as_sequence && Py_TYPE(o)->tp_as_sequence->sq_item && (likely(i >= 0))) { -- r = PySequence_GetItem(o, i); -- } -- else { -- r = __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -- } -- return r; --} -+static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse); - --static CYTHON_INLINE int __Pyx_CheckKeywordStrings(PyObject *kwdict, -- const char* function_name, int kw_allowed); /*proto*/ -+static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_dealloc); - - static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ - static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ - --static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/ -+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level); /*proto*/ -+ -+static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name); -+ -+static CYTHON_INLINE hsize_t __Pyx_PyInt_from_py_hsize_t(PyObject *); -+ -+static CYTHON_INLINE hbool_t __Pyx_PyInt_from_py_hbool_t(PyObject *); - - static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t); - -@@ -1089,127 +1194,53 @@ static CYTHON_INLINE signed long __Pyx_P - - static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *); - --static CYTHON_INLINE hsize_t __Pyx_PyInt_from_py_hsize_t(PyObject *); -- --static CYTHON_INLINE hbool_t __Pyx_PyInt_from_py_hbool_t(PyObject *); -+static int __Pyx_check_binary_version(void); - - static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig); /*proto*/ - --static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, long size, int strict); /*proto*/ -+#if !defined(__Pyx_PyIdentifier_FromString) -+#if PY_MAJOR_VERSION < 3 -+ #define __Pyx_PyIdentifier_FromString(s) PyString_FromString(s) -+#else -+ #define __Pyx_PyIdentifier_FromString(s) PyUnicode_FromString(s) -+#endif -+#endif - - static PyObject *__Pyx_ImportModule(const char *name); /*proto*/ - -+static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict); /*proto*/ -+ - static void* __Pyx_GetVtable(PyObject *dict); /*proto*/ - - static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/ - --static void __Pyx_AddTraceback(const char *funcname); /*proto*/ -+typedef struct { -+ int code_line; -+ PyCodeObject* code_object; -+} __Pyx_CodeObjectCacheEntry; -+struct __Pyx_CodeObjectCache { -+ int count; -+ int max_count; -+ __Pyx_CodeObjectCacheEntry* entries; -+}; -+static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; -+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); -+static PyCodeObject *__pyx_find_code_object(int code_line); -+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); -+ -+static void __Pyx_AddTraceback(const char *funcname, int c_line, -+ int py_line, const char *filename); /*proto*/ - - static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ --/* Module declarations from h5py.api_types_ext */ - --/* Module declarations from h5py.api_types_hdf5 */ - --/* Module declarations from h5py.defs */ -+/* Module declarations from 'h5py.api_types_ext' */ - --static herr_t (*__pyx_f_4h5py_4defs_H5open)(void); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5close)(void); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5get_libversion)(unsigned int *, unsigned int *, unsigned int *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dcreate2)(hid_t, char *, hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dcreate_anon)(hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dopen)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dget_space)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dget_space_status)(hid_t, H5D_space_status_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dget_type)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dget_create_plist)(hid_t); /*proto*/ --static haddr_t (*__pyx_f_4h5py_4defs_H5Dget_offset)(hid_t); /*proto*/ --static hsize_t (*__pyx_f_4h5py_4defs_H5Dget_storage_size)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dread)(hid_t, hid_t, hid_t, hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dwrite)(hid_t, hid_t, hid_t, hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dextend)(hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dfill)(void *, hid_t, void *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dvlen_get_buf_size)(hid_t, hid_t, hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dvlen_reclaim)(hid_t, hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Diterate)(void *, hid_t, hid_t, H5D_operator_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dset_extent)(hid_t, hsize_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fcreate)(char *, unsigned int, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fopen)(char *, unsigned int, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fclose)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Fis_hdf5)(char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fflush)(hid_t, enum H5F_scope_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Freopen)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fmount)(hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Funmount)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fget_filesize)(hid_t, hsize_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fget_create_plist)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fget_access_plist)(hid_t); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Fget_freespace)(hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Fget_name)(hid_t, char *, size_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Fget_obj_count)(hid_t, unsigned int); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Fget_obj_ids)(hid_t, unsigned int, int, hid_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fget_intent)(hid_t, unsigned int *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate)(hid_t, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gopen)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gclose)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Glink2)(hid_t, char *, H5G_link_t, hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gunlink)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gmove2)(hid_t, char *, hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_num_objs)(hid_t, hsize_t *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Gget_objname_by_idx)(hid_t, hsize_t, char *, size_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Gget_objtype_by_idx)(hid_t, hsize_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Giterate)(hid_t, char *, int *, H5G_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_objinfo)(hid_t, char *, int, H5G_stat_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_linkval)(hid_t, char *, size_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gset_comment)(hid_t, char *, char *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Gget_comment)(hid_t, char *, size_t, char *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate_anon)(hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate2)(hid_t, char *, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gopen2)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_info)(hid_t, H5G_info_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_info_by_name)(hid_t, char *, H5G_info_t *, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gget_create_plist)(hid_t); /*proto*/ --static H5I_type_t (*__pyx_f_4h5py_4defs_H5Iget_type)(hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Iget_name)(hid_t, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Iget_file_id)(hid_t); /*proto*/ -+/* Module declarations from 'h5py.api_types_hdf5' */ -+ -+/* Module declarations from 'h5py.defs' */ - static int (*__pyx_f_4h5py_4defs_H5Idec_ref)(hid_t); /*proto*/ - static int (*__pyx_f_4h5py_4defs_H5Iget_ref)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Iinc_ref)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lmove)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcopy)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_hard)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_soft)(char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ldelete)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ldelete_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_val)(hid_t, char *, void *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_val_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, void *, size_t, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Lexists)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_info)(hid_t, char *, H5L_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5L_info_t *, hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Lget_name_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, char *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Literate)(hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Literate_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lvisit)(hid_t, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lvisit_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lunpack_elink_val)(void *, size_t, unsigned int *, char **, char **); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_external)(char *, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Oopen)(hid_t, char *, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Oopen_by_addr)(hid_t, haddr_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Oopen_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info)(hid_t, H5O_info_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info_by_name)(hid_t, char *, H5O_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5O_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Olink)(hid_t, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ocopy)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oincr_refcount)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Odecr_refcount)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oset_comment)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oset_comment_by_name)(hid_t, char *, char *, hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Oget_comment)(hid_t, char *, size_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Oget_comment_by_name)(hid_t, char *, char *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ovisit)(hid_t, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ovisit_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oclose)(hid_t); /*proto*/ - static hid_t (*__pyx_f_4h5py_4defs_H5Pcreate)(hid_t); /*proto*/ - static hid_t (*__pyx_f_4h5py_4defs_H5Pcopy)(hid_t); /*proto*/ - static int (*__pyx_f_4h5py_4defs_H5Pget_class)(hid_t); /*proto*/ -@@ -1221,20 +1252,13 @@ static herr_t (*__pyx_f_4h5py_4defs_H5Ps - static herr_t (*__pyx_f_4h5py_4defs_H5Pget_userblock)(hid_t, hsize_t *); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sizes)(hid_t, size_t, size_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sizes)(hid_t, size_t *, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sym_k)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sym_k)(hid_t, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_istore_k)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_istore_k)(hid_t, unsigned int *); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fclose_degree)(hid_t, enum H5F_close_degree_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fclose_degree)(hid_t, enum H5F_close_degree_t *); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_core)(hid_t, size_t, hbool_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fapl_core)(hid_t, size_t *, hbool_t *); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_family)(hid_t, hsize_t, hid_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fapl_family)(hid_t, hsize_t *, hid_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_family_offset)(hid_t, hsize_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_family_offset)(hid_t, hsize_t *); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_log)(hid_t, char *, unsigned int, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_multi)(hid_t, H5FD_mem_t *, hid_t *, char **, haddr_t *, hbool_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pset_cache)(hid_t, int, int, size_t, double); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pget_cache)(hid_t, int *, int *, size_t *, double *); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_sec2)(hid_t); /*proto*/ -@@ -1257,13 +1281,10 @@ static htri_t (*__pyx_f_4h5py_4defs_H5Pa - static int (*__pyx_f_4h5py_4defs_H5Pget_nfilters)(hid_t); /*proto*/ - static H5Z_filter_t (*__pyx_f_4h5py_4defs_H5Pget_filter)(hid_t, unsigned int, unsigned int *, size_t *, unsigned int *, size_t, char *); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pget_filter_by_id)(hid_t, H5Z_filter_t, unsigned int *, size_t *, unsigned int *, size_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pmodify_filter)(hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Premove_filter)(hid_t, H5Z_filter_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fletcher32)(hid_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pset_shuffle)(hid_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pset_szip)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_edc_check)(hid_t, enum H5Z_EDC_t); /*proto*/ --static enum H5Z_EDC_t (*__pyx_f_4h5py_4defs_H5Pget_edc_check)(hid_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sieve_buf_size)(hid_t, size_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sieve_buf_size)(hid_t, size_t *); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pset_nlinks)(hid_t, size_t); /*proto*/ -@@ -1278,162 +1299,19 @@ static herr_t (*__pyx_f_4h5py_4defs_H5Ps - static herr_t (*__pyx_f_4h5py_4defs_H5Pget_copy_object)(hid_t, unsigned int *); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pset_char_encoding)(hid_t, H5T_cset_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pget_char_encoding)(hid_t, H5T_cset_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_local_heap_size_hint)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_local_heap_size_hint)(hid_t, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_link_phase_change)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_link_phase_change)(hid_t, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_est_link_info)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_est_link_info)(hid_t, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_link_creation_order)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_link_creation_order)(hid_t, unsigned int *); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pset_libver_bounds)(hid_t, H5F_libver_t, H5F_libver_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Pget_libver_bounds)(hid_t, H5F_libver_t *, H5F_libver_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Rcreate)(void *, hid_t, char *, H5R_type_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Rdereference)(hid_t, H5R_type_t, void *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Rget_region)(hid_t, H5R_type_t, void *); /*proto*/ --static enum H5G_obj_t (*__pyx_f_4h5py_4defs_H5Rget_obj_type)(hid_t, H5R_type_t, void *); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Rget_name)(hid_t, H5R_type_t, void *, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Screate)(H5S_class_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Scopy)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Screate_simple)(int, hsize_t *, hsize_t *); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Sis_simple)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Soffset_simple)(hid_t, hssize_t *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_dims)(hid_t, hsize_t *, hsize_t *); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_npoints)(hid_t); /*proto*/ --static H5S_class_t (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_type)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sextent_copy)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sset_extent_simple)(hid_t, int, hsize_t *, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sset_extent_none)(hid_t); /*proto*/ --static H5S_sel_type (*__pyx_f_4h5py_4defs_H5Sget_select_type)(hid_t); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_select_npoints)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sget_select_bounds)(hid_t, hsize_t *, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_all)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_none)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Sselect_valid)(hid_t); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_select_elem_npoints)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sget_select_elem_pointlist)(hid_t, hsize_t, hsize_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_elements)(hid_t, H5S_seloper_t, size_t, hsize_t **); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_select_hyper_nblocks)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sget_select_hyper_blocklist)(hid_t, hsize_t, hsize_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_hyperslab)(hid_t, H5S_seloper_t, hsize_t *, hsize_t *, hsize_t *, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sencode)(hid_t, void *, size_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Sdecode)(void *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tcreate)(enum H5T_class_t, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Topen)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tcommit)(hid_t, char *, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tcommitted)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tcopy)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tequal)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tlock)(hid_t); /*proto*/ --static enum H5T_class_t (*__pyx_f_4h5py_4defs_H5Tget_class)(hid_t); /*proto*/ --static size_t (*__pyx_f_4h5py_4defs_H5Tget_size)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tget_super)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tdetect_class)(hid_t, enum H5T_class_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tget_native_type)(hid_t, enum H5T_direction_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tconvert)(hid_t, hid_t, size_t, void *, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_size)(hid_t, size_t); /*proto*/ --static H5T_order_t (*__pyx_f_4h5py_4defs_H5Tget_order)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_order)(hid_t, H5T_order_t); /*proto*/ --static hsize_t (*__pyx_f_4h5py_4defs_H5Tget_precision)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_precision)(hid_t, size_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_offset)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_offset)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tget_pad)(hid_t, H5T_pad_t *, H5T_pad_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_pad)(hid_t, H5T_pad_t, H5T_pad_t); /*proto*/ --static H5T_sign_t (*__pyx_f_4h5py_4defs_H5Tget_sign)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_sign)(hid_t, H5T_sign_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tget_fields)(hid_t, size_t *, size_t *, size_t *, size_t *, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_fields)(hid_t, size_t, size_t, size_t, size_t, size_t); /*proto*/ --static size_t (*__pyx_f_4h5py_4defs_H5Tget_ebias)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_ebias)(hid_t, size_t); /*proto*/ --static H5T_norm_t (*__pyx_f_4h5py_4defs_H5Tget_norm)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_norm)(hid_t, H5T_norm_t); /*proto*/ --static H5T_pad_t (*__pyx_f_4h5py_4defs_H5Tget_inpad)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_inpad)(hid_t, H5T_pad_t); /*proto*/ --static H5T_cset_t (*__pyx_f_4h5py_4defs_H5Tget_cset)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_cset)(hid_t, H5T_cset_t); /*proto*/ --static H5T_str_t (*__pyx_f_4h5py_4defs_H5Tget_strpad)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_strpad)(hid_t, H5T_str_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tvlen_create)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tis_variable_str)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_nmembers)(hid_t); /*proto*/ --static enum H5T_class_t (*__pyx_f_4h5py_4defs_H5Tget_member_class)(hid_t, int); /*proto*/ --static char *(*__pyx_f_4h5py_4defs_H5Tget_member_name)(hid_t, unsigned int); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tget_member_type)(hid_t, unsigned int); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_member_offset)(hid_t, int); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_member_index)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tinsert)(hid_t, char *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tpack)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tenum_create)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_insert)(hid_t, char *, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_nameof)(hid_t, void *, char *, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_valueof)(hid_t, char *, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tget_member_value)(hid_t, unsigned int, void *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tarray_create)(hid_t, int, hsize_t *, int *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_array_ndims)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_array_dims)(hid_t, hsize_t *, int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_tag)(hid_t, char *); /*proto*/ --static char *(*__pyx_f_4h5py_4defs_H5Tget_tag)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tdecode)(unsigned char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tencode)(hid_t, unsigned char *, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tcommit2)(hid_t, char *, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static H5T_conv_t (*__pyx_f_4h5py_4defs_H5Tfind)(hid_t, hid_t, H5T_cdata_t **); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tregister)(H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tunregister)(H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Zfilter_avail)(H5Z_filter_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Zget_filter_info)(H5Z_filter_t, unsigned int *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Acreate)(hid_t, char *, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aopen_idx)(hid_t, unsigned int); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aopen_name)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aclose)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Adelete)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aread)(hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Awrite)(hid_t, hid_t, void *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Aget_num_attrs)(hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Aget_name)(hid_t, size_t, char *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aget_space)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aget_type)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aiterate)(hid_t, unsigned int *, H5A_operator_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Adelete_by_name)(hid_t, char *, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Adelete_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Acreate_by_name)(hid_t, char *, char *, hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aopen)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aopen_by_name)(hid_t, char *, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aopen_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Aexists_by_name)(hid_t, char *, char *, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Aexists)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Arename)(hid_t, char *, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Arename_by_name)(hid_t, char *, char *, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info)(hid_t, H5A_info_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info_by_name)(hid_t, char *, char *, H5A_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5A_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aiterate2)(hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5A_operator2_t, void *); /*proto*/ --static hsize_t (*__pyx_f_4h5py_4defs_H5Aget_storage_size)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSattach_scale)(hid_t, hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSdetach_scale)(hid_t, hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSset_scale)(hid_t, char *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5DSget_num_scales)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSset_label)(hid_t, unsigned int, char *); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5DSget_label)(hid_t, unsigned int, char *, size_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5DSget_scale_name)(hid_t, char *, size_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5DSis_scale)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSiterate_scales)(hid_t, unsigned int, int *, H5DS_iterate_t, void *); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5DSis_attached)(hid_t, hid_t, unsigned int); /*proto*/ --/* Module declarations from h5py._objects */ - -+/* Module declarations from 'h5py._objects' */ - static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0; --static hid_t (*__pyx_f_4h5py_8_objects_pdefault)(struct __pyx_obj_4h5py_8_objects_ObjectID *); /*proto*/ --/* Module declarations from numpy */ - --/* Module declarations from h5py.numpy */ -+/* Module declarations from 'numpy' */ - -+/* Module declarations from 'h5py.numpy' */ - static PyTypeObject *__pyx_ptype_4h5py_5numpy_dtype = 0; - static PyTypeObject *__pyx_ptype_4h5py_5numpy_ndarray = 0; --/* Module declarations from h5py.utils */ - -+/* Module declarations from 'h5py.utils' */ - static void *(*__pyx_f_4h5py_5utils_emalloc)(size_t); /*proto*/ - static void (*__pyx_f_4h5py_5utils_efree)(void *); /*proto*/ - static int (*__pyx_f_4h5py_5utils_check_numpy_read)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args); /*proto*/ -@@ -1441,10 +1319,8 @@ static int (*__pyx_f_4h5py_5utils_check_ - static int (*__pyx_f_4h5py_5utils_convert_tuple)(PyObject *, hsize_t *, hsize_t); /*proto*/ - static PyObject *(*__pyx_f_4h5py_5utils_convert_dims)(hsize_t *, hsize_t); /*proto*/ - static int (*__pyx_f_4h5py_5utils_require_tuple)(PyObject *, int, int, char *); /*proto*/ --static PyObject *(*__pyx_f_4h5py_5utils_create_numpy_hsize)(int, hsize_t *); /*proto*/ --static PyObject *(*__pyx_f_4h5py_5utils_create_hsize_array)(PyObject *); /*proto*/ --/* Module declarations from h5py.h5t */ - -+/* Module declarations from 'h5py.h5t' */ - static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeArrayID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeOpaqueID = 0; -@@ -1459,10 +1335,9 @@ static PyTypeObject *__pyx_ptype_4h5py_3 - static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompositeID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeEnumID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompoundID = 0; --static struct __pyx_obj_4h5py_3h5t_TypeID *(*__pyx_f_4h5py_3h5t_typewrap)(hid_t, int __pyx_skip_dispatch); /*proto*/ - static struct __pyx_obj_4h5py_3h5t_TypeID *(*__pyx_f_4h5py_3h5t_py_create)(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args); /*proto*/ --/* Module declarations from h5py.h5p */ - -+/* Module declarations from 'h5py.h5p' */ - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropClassID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropInstanceID = 0; -@@ -1479,23 +1354,89 @@ static hid_t __pyx_f_4h5py_3h5p_pdefault - static PyObject *__pyx_f_4h5py_3h5p_propwrap(hid_t); /*proto*/ - static PyObject *__pyx_f_4h5py_3h5p_lockcls(hid_t); /*proto*/ - #define __Pyx_MODULE_NAME "h5py.h5p" --static int __pyx_module_is_main_h5py__h5p = 0; -+int __pyx_module_is_main_h5py__h5p = 0; - --/* Implementation of h5py.h5p */ -+/* Implementation of 'h5py.h5p' */ - static PyObject *__pyx_builtin_ValueError; - static PyObject *__pyx_builtin_NotImplemented; - static PyObject *__pyx_builtin_TypeError; -+static PyObject *__pyx_pf_4h5py_3h5p_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v_cls); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_6PropID_equal(struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_self, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_plist); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_6PropID_2__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /* proto */ -+static Py_hash_t __pyx_pf_4h5py_3h5p_6PropID_4__hash__(CYTHON_UNUSED struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_11PropClassID___richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /* proto */ -+static Py_hash_t __pyx_pf_4h5py_3h5p_11PropClassID_2__hash__(struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_copy(struct __pyx_obj_4h5py_3h5p_PropInstanceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_2_close(struct __pyx_obj_4h5py_3h5p_PropInstanceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_4get_class(struct __pyx_obj_4h5py_3h5p_PropInstanceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_10PropCopyID_set_copy_object(struct __pyx_obj_4h5py_3h5p_PropCopyID *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_10PropCopyID_2get_copy_object(struct __pyx_obj_4h5py_3h5p_PropCopyID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_get_version(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_2set_userblock(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self, hsize_t __pyx_v_size); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_4get_userblock(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_6set_sizes(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self, size_t __pyx_v_addr, size_t __pyx_v_size); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_8get_sizes(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_set_layout(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_layout_code); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_2get_layout(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_4set_chunk(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyObject *__pyx_v_chunksize); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_6get_chunk(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_8set_fill_value(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyArrayObject *__pyx_v_value); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_10get_fill_value(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyArrayObject *__pyx_v_value); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_12fill_value_defined(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_14set_fill_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_fill_time); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_16get_fill_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_18set_alloc_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_alloc_time); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_20get_alloc_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_22set_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_code, unsigned int __pyx_v_flags, PyObject *__pyx_v_values); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_24all_filters_avail(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_26get_nfilters(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_28get_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_idx); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_30_has_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_code); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_32get_filter_by_id(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_code); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_34remove_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_class); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_36set_deflate(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, unsigned int __pyx_v_level); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_38set_fletcher32(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_40set_shuffle(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_42set_szip(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, unsigned int __pyx_v_options, unsigned int __pyx_v_pixels_per_block); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_set_fclose_degree(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, int __pyx_v_close_degree); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_2get_fclose_degree(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_4set_fapl_core(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, size_t __pyx_v_block_size, hbool_t __pyx_v_backing_store); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_6get_fapl_core(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_8set_fapl_family(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, hsize_t __pyx_v_memb_size, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_memb_fapl); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_10get_fapl_family(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_12set_fapl_log(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, char *__pyx_v_logfile, unsigned int __pyx_v_flags, size_t __pyx_v_buf_size); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_14set_fapl_sec2(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_16set_fapl_stdio(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_18get_driver(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_20set_cache(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, int __pyx_v_mdc, int __pyx_v_rdcc, size_t __pyx_v_rdcc_nbytes, double __pyx_v_rdcc_w0); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_22get_cache(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_24set_sieve_buf_size(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, size_t __pyx_v_size); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_26get_sieve_buf_size(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_28set_libver_bounds(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, int __pyx_v_low, int __pyx_v_high); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_30get_libver_bounds(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_set_char_encoding(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self, int __pyx_v_encoding); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_2get_char_encoding(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_4set_create_intermediate_group(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self, int __pyx_v_create); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_6get_create_intermediate_group(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self); /* proto */ -+static int __pyx_pf_4h5py_3h5p_8PropLAID___cinit__(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args); /* proto */ -+static void __pyx_pf_4h5py_3h5p_8PropLAID_2__dealloc__(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_4set_nlinks(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, size_t __pyx_v_nlinks); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_6get_nlinks(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_8set_elink_prefix(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, char *__pyx_v_prefix); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_10get_elink_prefix(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_12set_elink_fapl(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_fapl); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_14get_elink_fapl(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self); /* proto */ - static char __pyx_k_1[] = "No class found for ID %d"; - static char __pyx_k_2[] = "Property lists are unhashable"; - static char __pyx_k_5[] = "Filter index must be a non-negative integer"; - static char __pyx_k_7[] = "\n HDF5 property list interface.\n"; --static char __pyx_k_8[] = "h5py.h5p"; --static char __pyx_k__id[] = "id"; -+static char __pyx_k_10[] = "/disks/strw4/vanelteren/env/python3/install/_temp/h5py-2.1.0/h5py/h5p.pyx"; -+static char __pyx_k_11[] = "h5py.h5p"; -+static char __pyx_k__cls[] = "cls"; - static char __pyx_k__low[] = "low"; - static char __pyx_k__mdc[] = "mdc"; --static char __pyx_k___buf[] = "_buf"; - static char __pyx_k__addr[] = "addr"; --static char __pyx_k__data[] = "data"; -+static char __pyx_k__h5py[] = "h5py"; - static char __pyx_k__high[] = "high"; - static char __pyx_k__lock[] = "lock"; - static char __pyx_k__open[] = "open"; -@@ -1505,10 +1446,9 @@ static char __pyx_k__dtype[] = "dtype"; - static char __pyx_k__equal[] = "equal"; - static char __pyx_k__flags[] = "flags"; - static char __pyx_k__level[] = "level"; -+static char __pyx_k__newid[] = "newid"; - static char __pyx_k__valid[] = "valid"; --static char __pyx_k__append[] = "append"; - static char __pyx_k__create[] = "create"; --static char __pyx_k__locked[] = "locked"; - static char __pyx_k__values[] = "values"; - static char __pyx_k__DEFAULT[] = "DEFAULT"; - static char __pyx_k__logfile[] = "logfile"; -@@ -1546,9 +1486,10 @@ static char __pyx_k__DATASET_CREATE[] = - static char __pyx_k__NotImplemented[] = "NotImplemented"; - static char __pyx_k__pixels_per_block[] = "pixels_per_block"; - static PyObject *__pyx_kp_s_1; -+static PyObject *__pyx_kp_s_10; -+static PyObject *__pyx_n_s_11; - static PyObject *__pyx_kp_s_2; - static PyObject *__pyx_kp_s_5; --static PyObject *__pyx_n_s_8; - static PyObject *__pyx_n_s__DATASET_CREATE; - static PyObject *__pyx_n_s__DATASET_XFER; - static PyObject *__pyx_n_s__DEFAULT; -@@ -1567,32 +1508,30 @@ static PyObject *__pyx_n_s____exit__; - static PyObject *__pyx_n_s____main__; - static PyObject *__pyx_n_s____richcmp__; - static PyObject *__pyx_n_s____test__; --static PyObject *__pyx_n_s___buf; - static PyObject *__pyx_n_s___has_filter; - static PyObject *__pyx_n_s___objects; - static PyObject *__pyx_n_s__addr; --static PyObject *__pyx_n_s__append; - static PyObject *__pyx_n_s__backing_store; - static PyObject *__pyx_n_s__block_size; - static PyObject *__pyx_n_s__buf_size; -+static PyObject *__pyx_n_s__cls; - static PyObject *__pyx_n_s__create; --static PyObject *__pyx_n_s__data; - static PyObject *__pyx_n_s__dtype; - static PyObject *__pyx_n_s__equal; - static PyObject *__pyx_n_s__filter_code; - static PyObject *__pyx_n_s__flags; - static PyObject *__pyx_n_s__get_filter; - static PyObject *__pyx_n_s__get_nfilters; -+static PyObject *__pyx_n_s__h5py; - static PyObject *__pyx_n_s__high; --static PyObject *__pyx_n_s__id; - static PyObject *__pyx_n_s__level; - static PyObject *__pyx_n_s__lock; --static PyObject *__pyx_n_s__locked; - static PyObject *__pyx_n_s__logfile; - static PyObject *__pyx_n_s__low; - static PyObject *__pyx_n_s__mdc; - static PyObject *__pyx_n_s__memb_fapl; - static PyObject *__pyx_n_s__memb_size; -+static PyObject *__pyx_n_s__newid; - static PyObject *__pyx_n_s__open; - static PyObject *__pyx_n_s__options; - static PyObject *__pyx_n_s__pixels_per_block; -@@ -1606,6 +1545,8 @@ static PyObject *__pyx_n_s__values; - static PyObject *__pyx_k_tuple_3; - static PyObject *__pyx_k_tuple_4; - static PyObject *__pyx_k_tuple_6; -+static PyObject *__pyx_k_tuple_8; -+static PyObject *__pyx_k_codeobj_9; - - /* "h5py/h5p.pyx":31 - * # === C API =================================================================== -@@ -1615,10 +1556,11 @@ static PyObject *__pyx_k_tuple_6; - * if pid is None: - */ - --static hid_t __pyx_f_4h5py_3h5p_pdefault(struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_pid) { -+static hid_t __pyx_f_4h5py_3h5p_pdefault(struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_pid) { - hid_t __pyx_r; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; -- __Pyx_RefNannySetupContext("pdefault"); -+ __Pyx_RefNannySetupContext("pdefault", 0); - - /* "h5py/h5p.pyx":33 - * cdef hid_t pdefault(PropID pid): -@@ -1667,18 +1609,21 @@ static hid_t __pyx_f_4h5py_3h5p_pdefaul - * clsid = H5Pget_class(id_in) - */ - --static PyObject *__pyx_f_4h5py_3h5p_propwrap(hid_t __pyx_v_id_in) { -+static PyObject *__pyx_f_4h5py_3h5p_propwrap(hid_t __pyx_v_id_in) { - int __pyx_v_clsid; -- PyObject *__pyx_v_pcls; -+ PyObject *__pyx_v_pcls = NULL; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - htri_t __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - herr_t __pyx_t_6; -- __Pyx_RefNannySetupContext("propwrap"); -- __pyx_v_pcls = ((PyObject*)Py_None); __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("propwrap", 0); - - /* "h5py/h5p.pyx":39 - * cdef object propwrap(hid_t id_in): -@@ -1717,7 +1662,6 @@ static PyObject *__pyx_f_4h5py_3h5p_pro - * pcls = PropFAID - */ - __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropFCID))); -- __Pyx_DECREF(((PyObject *)__pyx_v_pcls)); - __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5p_PropFCID); - goto __pyx_L6; - } -@@ -1740,7 +1684,6 @@ static PyObject *__pyx_f_4h5py_3h5p_pro - * pcls = PropDCID - */ - __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropFAID))); -- __Pyx_DECREF(((PyObject *)__pyx_v_pcls)); - __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5p_PropFAID); - goto __pyx_L6; - } -@@ -1763,7 +1706,6 @@ static PyObject *__pyx_f_4h5py_3h5p_pro - * pcls = PropDXID - */ - __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropDCID))); -- __Pyx_DECREF(((PyObject *)__pyx_v_pcls)); - __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5p_PropDCID); - goto __pyx_L6; - } -@@ -1786,7 +1728,6 @@ static PyObject *__pyx_f_4h5py_3h5p_pro - * pcls = PropCopyID - */ - __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropDXID))); -- __Pyx_DECREF(((PyObject *)__pyx_v_pcls)); - __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5p_PropDXID); - goto __pyx_L6; - } -@@ -1809,7 +1750,6 @@ static PyObject *__pyx_f_4h5py_3h5p_pro - * pcls = PropLCID - */ - __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropCopyID))); -- __Pyx_DECREF(((PyObject *)__pyx_v_pcls)); - __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5p_PropCopyID); - goto __pyx_L6; - } -@@ -1832,7 +1772,6 @@ static PyObject *__pyx_f_4h5py_3h5p_pro - * pcls = PropLAID - */ - __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropLCID))); -- __Pyx_DECREF(((PyObject *)__pyx_v_pcls)); - __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5p_PropLCID); - goto __pyx_L6; - } -@@ -1855,7 +1794,6 @@ static PyObject *__pyx_f_4h5py_3h5p_pro - * pcls = PropGCID - */ - __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropLAID))); -- __Pyx_DECREF(((PyObject *)__pyx_v_pcls)); - __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5p_PropLAID); - goto __pyx_L6; - } -@@ -1878,7 +1816,6 @@ static PyObject *__pyx_f_4h5py_3h5p_pro - * raise ValueError("No class found for ID %d" % id_in) - */ - __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropGCID))); -- __Pyx_DECREF(((PyObject *)__pyx_v_pcls)); - __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5p_PropGCID); - goto __pyx_L6; - } -@@ -1897,14 +1834,14 @@ static PyObject *__pyx_f_4h5py_3h5p_pro - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L4;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); - __pyx_t_4 = 0; - __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; -- __Pyx_Raise(__pyx_t_4, 0, 0); -+ __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L4;} - } -@@ -1923,7 +1860,7 @@ static PyObject *__pyx_f_4h5py_3h5p_pro - __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_v_id_in); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L4;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -+ __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; -@@ -1990,10 +1927,10 @@ static PyObject *__pyx_f_4h5py_3h5p_pro - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); -- __Pyx_AddTraceback("h5py.h5p.propwrap"); -+ __Pyx_AddTraceback("h5py.h5p.propwrap", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; -- __Pyx_DECREF(__pyx_v_pcls); -+ __Pyx_XDECREF(__pyx_v_pcls); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -@@ -2007,14 +1944,17 @@ static PyObject *__pyx_f_4h5py_3h5p_pro - * pid = PropClassID.open(id_in) - */ - --static PyObject *__pyx_f_4h5py_3h5p_lockcls(hid_t __pyx_v_id_in) { -- struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v_pid; -+static PyObject *__pyx_f_4h5py_3h5p_lockcls(hid_t __pyx_v_id_in) { -+ struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v_pid = 0; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("lockcls"); -- __pyx_v_pid = ((struct __pyx_obj_4h5py_3h5p_PropClassID *)Py_None); __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("lockcls", 0); - - /* "h5py/h5p.pyx":66 - * cdef object lockcls(hid_t id_in): -@@ -2028,7 +1968,7 @@ static PyObject *__pyx_f_4h5py_3h5p_loc - __pyx_t_2 = __Pyx_PyInt_to_py_hid_t(__pyx_v_id_in); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; -@@ -2037,7 +1977,6 @@ static PyObject *__pyx_f_4h5py_3h5p_loc - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5p_PropClassID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(((PyObject *)__pyx_v_pid)); - __pyx_v_pid = ((struct __pyx_obj_4h5py_3h5p_PropClassID *)__pyx_t_2); - __pyx_t_2 = 0; - -@@ -2068,15 +2007,33 @@ static PyObject *__pyx_f_4h5py_3h5p_loc - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5p.lockcls"); -+ __Pyx_AddTraceback("h5py.h5p.lockcls", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_pid); -+ __Pyx_XDECREF((PyObject *)__pyx_v_pid); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_1create(PyObject *__pyx_self, PyObject *__pyx_v_cls); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_create[] = "(PropClassID cls) => PropID\n\n Create a new property list as an instance of a class; classes are:\n\n - FILE_CREATE\n - FILE_ACCESS\n - DATASET_CREATE\n - DATASET_XFER\n - LINK_CREATE\n - LINK_ACCESS\n - GROUP_CREATE\n - OBJECT_COPY\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5p_1create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pw_4h5py_3h5p_1create, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_create)}; -+static PyObject *__pyx_pw_4h5py_3h5p_1create(PyObject *__pyx_self, PyObject *__pyx_v_cls) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("create (wrapper)", 0); -+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cls), __pyx_ptype_4h5py_3h5p_PropClassID, 0, "cls", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5p_create(__pyx_self, ((struct __pyx_obj_4h5py_3h5p_PropClassID *)__pyx_v_cls)); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":94 - * # === Property list functional API ============================================ - * -@@ -2085,17 +2042,16 @@ static PyObject *__pyx_f_4h5py_3h5p_loc - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_create(PyObject *__pyx_self, PyObject *__pyx_v_cls); /*proto*/ --static char __pyx_doc_4h5py_3h5p_create[] = "(PropClassID cls) => PropID\n\n Create a new property list as an instance of a class; classes are:\n\n - FILE_CREATE\n - FILE_ACCESS\n - DATASET_CREATE\n - DATASET_XFER\n - LINK_CREATE\n - LINK_ACCESS\n - GROUP_CREATE\n - OBJECT_COPY\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5p_create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pf_4h5py_3h5p_create, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_create)}; --static PyObject *__pyx_pf_4h5py_3h5p_create(PyObject *__pyx_self, PyObject *__pyx_v_cls) { -+static PyObject *__pyx_pf_4h5py_3h5p_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v_cls) { - hid_t __pyx_v_newid; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("create"); -- __pyx_self = __pyx_self; -- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cls), __pyx_ptype_4h5py_3h5p_PropClassID, 0, "cls", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("create", 0); - - /* "h5py/h5p.pyx":109 - * """ -@@ -2104,7 +2060,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_cre - * return propwrap(newid) - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pcreate(((struct __pyx_obj_4h5py_3h5p_PropClassID *)__pyx_v_cls)->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pcreate(__pyx_v_cls->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_newid = __pyx_t_1; - - /* "h5py/h5p.pyx":110 -@@ -2125,7 +2081,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_cre - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5p.create"); -+ __Pyx_AddTraceback("h5py.h5p.create", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2133,6 +2089,23 @@ static PyObject *__pyx_pf_4h5py_3h5p_cre - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_6PropID_1equal(PyObject *__pyx_v_self, PyObject *__pyx_v_plist); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_6PropID_equal[] = "(PropID plist) => BOOL\n\n Compare this property list (or class) to another for equality.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_6PropID_1equal(PyObject *__pyx_v_self, PyObject *__pyx_v_plist) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("equal (wrapper)", 0); -+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_plist), __pyx_ptype_4h5py_3h5p_PropID, 0, "plist", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5p_6PropID_equal(((struct __pyx_obj_4h5py_3h5p_PropID *)__pyx_v_self), ((struct __pyx_obj_4h5py_3h5p_PropID *)__pyx_v_plist)); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":121 - * - * -@@ -2141,14 +2114,15 @@ static PyObject *__pyx_pf_4h5py_3h5p_cre - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_6PropID_equal(PyObject *__pyx_v_self, PyObject *__pyx_v_plist); /*proto*/ --static char __pyx_doc_4h5py_3h5p_6PropID_equal[] = "(PropID plist) => BOOL\n\n Compare this property list (or class) to another for equality.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_6PropID_equal(PyObject *__pyx_v_self, PyObject *__pyx_v_plist) { -+static PyObject *__pyx_pf_4h5py_3h5p_6PropID_equal(struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_self, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_plist) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - htri_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("equal"); -- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_plist), __pyx_ptype_4h5py_3h5p_PropID, 0, "plist", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("equal", 0); - - /* "h5py/h5p.pyx":126 - * Compare this property list (or class) to another for equality. -@@ -2158,7 +2132,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_6Pr - * def __richcmp__(self, object other, int how): - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pequal(((struct __pyx_obj_4h5py_3h5p_PropID *)__pyx_v_self)->__pyx_base.id, ((struct __pyx_obj_4h5py_3h5p_PropID *)__pyx_v_plist)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_self->__pyx_base.id, __pyx_v_plist->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -2169,7 +2143,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_6Pr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5p.PropID.equal"); -+ __Pyx_AddTraceback("h5py.h5p.PropID.equal", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2177,6 +2151,17 @@ static PyObject *__pyx_pf_4h5py_3h5p_6Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_6PropID_3__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5p_6PropID_3__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_6PropID_2__richcmp__(((PyObject *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((int)__pyx_v_how)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":128 - * return (H5Pequal(self.id, plist.id)) - * -@@ -2185,15 +2170,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_6Pr - * if how != 2 and how != 3: - */ - --static PyObject *__pyx_pf_4h5py_3h5p_6PropID_1__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5p_6PropID_1__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) { -+static PyObject *__pyx_pf_4h5py_3h5p_6PropID_2__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) { - int __pyx_v_truthval; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; -- __Pyx_RefNannySetupContext("__richcmp__"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__richcmp__", 0); - - /* "h5py/h5p.pyx":129 - * -@@ -2233,9 +2221,9 @@ static PyObject *__pyx_pf_4h5py_3h5p_6Pr - __Pyx_INCREF(__pyx_builtin_NotImplemented); - __pyx_r = __pyx_builtin_NotImplemented; - goto __pyx_L0; -- goto __pyx_L5; -+ goto __pyx_L3; - } -- __pyx_L5:; -+ __pyx_L3:; - - /* "h5py/h5p.pyx":132 - * if how != 2 and how != 3: -@@ -2244,8 +2232,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_6Pr - * truthval = self.equal(other) - * - */ -- __pyx_t_2 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_self)), ((PyObject *)Py_TYPE(__pyx_v_other)), Py_EQ); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_2); -+ __pyx_t_2 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_self)), ((PyObject *)Py_TYPE(__pyx_v_other)), Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (__pyx_t_1) { -@@ -2260,7 +2247,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_6Pr - __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__equal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_other); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_other); - __Pyx_GIVEREF(__pyx_v_other); -@@ -2271,9 +2258,9 @@ static PyObject *__pyx_pf_4h5py_3h5p_6Pr - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_truthval = __pyx_t_1; -- goto __pyx_L6; -+ goto __pyx_L4; - } -- __pyx_L6:; -+ __pyx_L4:; - - /* "h5py/h5p.pyx":135 - * truthval = self.equal(other) -@@ -2298,9 +2285,9 @@ static PyObject *__pyx_pf_4h5py_3h5p_6Pr - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; - goto __pyx_L0; -- goto __pyx_L7; -+ goto __pyx_L5; - } -- __pyx_L7:; -+ __pyx_L5:; - - /* "h5py/h5p.pyx":137 - * if how == 2: -@@ -2322,7 +2309,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_6Pr - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5p.PropID.__richcmp__"); -+ __Pyx_AddTraceback("h5py.h5p.PropID.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2330,6 +2317,17 @@ static PyObject *__pyx_pf_4h5py_3h5p_6Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static Py_hash_t __pyx_pw_4h5py_3h5p_6PropID_5__hash__(PyObject *__pyx_v_self); /*proto*/ -+static Py_hash_t __pyx_pw_4h5py_3h5p_6PropID_5__hash__(PyObject *__pyx_v_self) { -+ Py_hash_t __pyx_r; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_6PropID_4__hash__(((struct __pyx_obj_4h5py_3h5p_PropID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":139 - * return not truthval - * -@@ -2338,11 +2336,14 @@ static PyObject *__pyx_pf_4h5py_3h5p_6Pr - * - */ - --static long __pyx_pf_4h5py_3h5p_6PropID_2__hash__(PyObject *__pyx_v_self); /*proto*/ --static long __pyx_pf_4h5py_3h5p_6PropID_2__hash__(PyObject *__pyx_v_self) { -- long __pyx_r; -+static Py_hash_t __pyx_pf_4h5py_3h5p_6PropID_4__hash__(CYTHON_UNUSED struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_self) { -+ Py_hash_t __pyx_r; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; -- __Pyx_RefNannySetupContext("__hash__"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__hash__", 0); - - /* "h5py/h5p.pyx":140 - * -@@ -2353,7 +2354,7 @@ static long __pyx_pf_4h5py_3h5p_6PropID_ - */ - __pyx_t_1 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_3), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __Pyx_Raise(__pyx_t_1, 0, 0); -+ __Pyx_Raise(__pyx_t_1, 0, 0, 0); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - -@@ -2361,7 +2362,7 @@ static long __pyx_pf_4h5py_3h5p_6PropID_ - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -- __Pyx_AddTraceback("h5py.h5p.PropID.__hash__"); -+ __Pyx_AddTraceback("h5py.h5p.PropID.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2; -@@ -2369,6 +2370,17 @@ static long __pyx_pf_4h5py_3h5p_6PropID_ - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_11PropClassID_1__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5p_11PropClassID_1__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_11PropClassID___richcmp__(((PyObject *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((int)__pyx_v_how)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":151 - * """ - * -@@ -2377,13 +2389,16 @@ static long __pyx_pf_4h5py_3h5p_6PropID_ - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_11PropClassID___richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /*proto*/ - static PyObject *__pyx_pf_4h5py_3h5p_11PropClassID___richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("__richcmp__"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__richcmp__", 0); - - /* "h5py/h5p.pyx":152 - * -@@ -2398,7 +2413,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_11P - __pyx_t_2 = PyInt_FromLong(__pyx_v_how); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_self); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_self); - __Pyx_GIVEREF(__pyx_v_self); -@@ -2422,7 +2437,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_11P - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5p.PropClassID.__richcmp__"); -+ __Pyx_AddTraceback("h5py.h5p.PropClassID.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2430,6 +2445,21 @@ static PyObject *__pyx_pf_4h5py_3h5p_11P - return __pyx_r; - } - -+/* Python wrapper */ -+static Py_hash_t __pyx_pw_4h5py_3h5p_11PropClassID_3__hash__(PyObject *__pyx_v_self); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_11PropClassID_2__hash__[] = " Since classes are library-created and immutable, they are uniquely\n identified by their HDF5 identifiers.\n "; -+#if CYTHON_COMPILING_IN_CPYTHON -+struct wrapperbase __pyx_wrapperbase_4h5py_3h5p_11PropClassID_2__hash__; -+#endif -+static Py_hash_t __pyx_pw_4h5py_3h5p_11PropClassID_3__hash__(PyObject *__pyx_v_self) { -+ Py_hash_t __pyx_r; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_11PropClassID_2__hash__(((struct __pyx_obj_4h5py_3h5p_PropClassID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":154 - * return PropID.__richcmp__(self, other, how) - * -@@ -2438,14 +2468,15 @@ static PyObject *__pyx_pf_4h5py_3h5p_11P - * identified by their HDF5 identifiers. - */ - --static long __pyx_pf_4h5py_3h5p_11PropClassID_1__hash__(PyObject *__pyx_v_self); /*proto*/ --static char __pyx_doc_4h5py_3h5p_11PropClassID_1__hash__[] = " Since classes are library-created and immutable, they are uniquely\n identified by their HDF5 identifiers.\n "; --struct wrapperbase __pyx_wrapperbase_4h5py_3h5p_11PropClassID_1__hash__; --static long __pyx_pf_4h5py_3h5p_11PropClassID_1__hash__(PyObject *__pyx_v_self) { -- long __pyx_r; -+static Py_hash_t __pyx_pf_4h5py_3h5p_11PropClassID_2__hash__(struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v_self) { -+ Py_hash_t __pyx_r; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; -- long __pyx_t_2; -- __Pyx_RefNannySetupContext("__hash__"); -+ Py_hash_t __pyx_t_2; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__hash__", 0); - - /* "h5py/h5p.pyx":158 - * identified by their HDF5 identifiers. -@@ -2454,7 +2485,7 @@ static long __pyx_pf_4h5py_3h5p_11PropCl - * - * cdef class PropInstanceID(PropID): - */ -- __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(((struct __pyx_obj_4h5py_3h5p_PropClassID *)__pyx_v_self)->__pyx_base.__pyx_base.id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -@@ -2465,7 +2496,7 @@ static long __pyx_pf_4h5py_3h5p_11PropCl - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -- __Pyx_AddTraceback("h5py.h5p.PropClassID.__hash__"); -+ __Pyx_AddTraceback("h5py.h5p.PropClassID.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2; -@@ -2473,6 +2504,18 @@ static long __pyx_pf_4h5py_3h5p_11PropCl - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_14PropInstanceID_1copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_14PropInstanceID_copy[] = "() => PropList newid\n\n Create a new copy of an existing property list object.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_14PropInstanceID_1copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("copy (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_14PropInstanceID_copy(((struct __pyx_obj_4h5py_3h5p_PropInstanceID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":171 - * - * -@@ -2481,14 +2524,16 @@ static long __pyx_pf_4h5py_3h5p_11PropCl - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_14PropInstanceID_copy[] = "() => PropList newid\n\n Create a new copy of an existing property list object.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_copy(struct __pyx_obj_4h5py_3h5p_PropInstanceID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("copy"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("copy", 0); - - /* "h5py/h5p.pyx":176 - * Create a new copy of an existing property list object. -@@ -2498,15 +2543,15 @@ static PyObject *__pyx_pf_4h5py_3h5p_14P - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pcopy(((struct __pyx_obj_4h5py_3h5p_PropInstanceID *)__pyx_v_self)->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pcopy(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyInt_to_py_hid_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; -- __pyx_t_2 = PyObject_Call(((PyObject *)Py_TYPE(__pyx_v_self)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = PyObject_Call(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; -@@ -2518,7 +2563,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_14P - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5p.PropInstanceID.copy"); -+ __Pyx_AddTraceback("h5py.h5p.PropInstanceID.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2526,6 +2571,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_14P - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_14PropInstanceID_3_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_14PropInstanceID_2_close[] = "()\n\n Terminate access through this identifier. You shouldn't have to\n do this manually, as propery lists are automatically deleted when\n their Python wrappers are freed.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_14PropInstanceID_3_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("_close (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_14PropInstanceID_2_close(((struct __pyx_obj_4h5py_3h5p_PropInstanceID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":179 - * - * -@@ -2534,26 +2591,25 @@ static PyObject *__pyx_pf_4h5py_3h5p_14P - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_1_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_14PropInstanceID_1_close[] = "()\n\n Terminate access through this identifier. You shouldn't have to\n do this manually, as propery lists are automatically deleted when\n their Python wrappers are freed.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_1_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -- PyObject *__pyx_v___tmpvar_18; -- PyObject *__pyx_v___tmpvar_20; -- int __pyx_v___tmpvar_19; -- PyObject *__pyx_v___tmpvar_17; -+static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_2_close(struct __pyx_obj_4h5py_3h5p_PropInstanceID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; -- herr_t __pyx_t_3; -- int __pyx_t_4; -- int __pyx_t_5; -+ PyObject *__pyx_t_3 = NULL; -+ PyObject *__pyx_t_4 = NULL; -+ PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; -- PyObject *__pyx_t_8 = NULL; -- __Pyx_RefNannySetupContext("_close"); -- __pyx_v___tmpvar_18 = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v___tmpvar_20 = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v___tmpvar_17 = Py_None; __Pyx_INCREF(Py_None); -+ herr_t __pyx_t_8; -+ int __pyx_t_9; -+ int __pyx_t_10; -+ PyObject *__pyx_t_11 = NULL; -+ PyObject *__pyx_t_12 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("_close", 0); - - /* "h5py/h5p.pyx":186 - * their Python wrappers are freed. -@@ -2562,221 +2618,160 @@ static PyObject *__pyx_pf_4h5py_3h5p_14P - * H5Pclose(self.id) - * if not self.valid: - */ -- __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__lock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(__pyx_v___tmpvar_18); -- __pyx_v___tmpvar_18 = __pyx_t_1; -- __pyx_t_1 = 0; -+ /*with:*/ { -+ __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_2); -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__lock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -+ __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_3); -+ __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_2); -+ __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ /*try:*/ { -+ { -+ __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); -+ __Pyx_XGOTREF(__pyx_t_5); -+ __Pyx_XGOTREF(__pyx_t_6); -+ __Pyx_XGOTREF(__pyx_t_7); -+ /*try:*/ { - -- /* "(tree fragment)":2 -- * MGR = EXPR -- * EXIT = MGR.__exit__ # <<<<<<<<<<<<<< -- * MGR.__enter__() -- * EXC = True -+ /* "h5py/h5p.pyx":187 -+ * """ -+ * with _objects.registry.lock: -+ * H5Pclose(self.id) # <<<<<<<<<<<<<< -+ * if not self.valid: -+ * del _objects.registry[self.id] - */ -- __pyx_t_1 = PyObject_GetAttr(__pyx_v___tmpvar_18, __pyx_n_s____exit__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(__pyx_v___tmpvar_20); -- __pyx_v___tmpvar_20 = __pyx_t_1; -- __pyx_t_1 = 0; -+ __pyx_t_8 = __pyx_f_4h5py_4defs_H5Pclose(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L7_error;} - -- /* "(tree fragment)":3 -- * MGR = EXPR -- * EXIT = MGR.__exit__ -- * MGR.__enter__() # <<<<<<<<<<<<<< -- * EXC = True -- * try: -+ /* "h5py/h5p.pyx":188 -+ * with _objects.registry.lock: -+ * H5Pclose(self.id) -+ * if not self.valid: # <<<<<<<<<<<<<< -+ * del _objects.registry[self.id] -+ * - */ -- __pyx_t_1 = PyObject_GetAttr(__pyx_v___tmpvar_18, __pyx_n_s____enter__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__valid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __pyx_t_10 = (!__pyx_t_9); -+ if (__pyx_t_10) { - -- /* "h5py/h5p.pyx":186 -- * their Python wrappers are freed. -- * """ -- * with _objects.registry.lock: # <<<<<<<<<<<<<< -+ /* "h5py/h5p.pyx":189 - * H5Pclose(self.id) - * if not self.valid: -+ * del _objects.registry[self.id] # <<<<<<<<<<<<<< -+ * -+ * - */ -- __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __pyx_v___tmpvar_19 = 1; -- /*try:*/ { -- { -- PyObject *__pyx_save_exc_type, *__pyx_save_exc_value, *__pyx_save_exc_tb; -- __Pyx_ExceptionSave(&__pyx_save_exc_type, &__pyx_save_exc_value, &__pyx_save_exc_tb); -- __Pyx_XGOTREF(__pyx_save_exc_type); -- __Pyx_XGOTREF(__pyx_save_exc_value); -- __Pyx_XGOTREF(__pyx_save_exc_tb); -- /*try:*/ { -- __Pyx_INCREF(Py_None); -- __Pyx_DECREF(__pyx_v___tmpvar_17); -- __pyx_v___tmpvar_17 = Py_None; -- __pyx_t_3 = __pyx_f_4h5py_4defs_H5Pclose(((struct __pyx_obj_4h5py_3h5p_PropInstanceID *)__pyx_v_self)->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__valid); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __pyx_t_5 = (!__pyx_t_4); -- if (__pyx_t_5) { -- __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__registry); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- if (__Pyx_DelItemInt(__pyx_t_1, ((struct __pyx_obj_4h5py_3h5p_PropInstanceID *)__pyx_v_self)->__pyx_base.__pyx_base.id, sizeof(hid_t), __Pyx_PyInt_to_py_hid_t) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- goto __pyx_L16; -+ __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_4 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ if (__Pyx_DelItemInt(__pyx_t_4, __pyx_v_self->__pyx_base.__pyx_base.id, sizeof(hid_t), __Pyx_PyInt_to_py_hid_t) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ goto __pyx_L15; -+ } -+ __pyx_L15:; - } -- __pyx_L16:; -- } -- __Pyx_XDECREF(__pyx_save_exc_type); __pyx_save_exc_type = 0; -- __Pyx_XDECREF(__pyx_save_exc_value); __pyx_save_exc_value = 0; -- __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0; -- goto __pyx_L15_try_end; -- __pyx_L8_error:; -- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -- /*except:*/ { -- __Pyx_AddTraceback("h5py.h5p.PropInstanceID._close"); -- if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_GOTREF(__pyx_t_2); -- __Pyx_GOTREF(__pyx_t_6); -- __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_7)); -- __Pyx_INCREF(__pyx_t_1); -- PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1); -- __Pyx_GIVEREF(__pyx_t_1); -- __Pyx_INCREF(__pyx_t_2); -- PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2); -- __Pyx_GIVEREF(__pyx_t_2); -- __Pyx_INCREF(__pyx_t_6); -- PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_6); -- __Pyx_GIVEREF(__pyx_t_6); -- __Pyx_DECREF(__pyx_v___tmpvar_17); -- __pyx_v___tmpvar_17 = ((PyObject *)__pyx_t_7); -- __pyx_t_7 = 0; -- __pyx_v___tmpvar_19 = 0; -- -- /* "(tree fragment)":11 -- * except: -- * EXC = False -- * if not EXIT(*EXCINFO): # <<<<<<<<<<<<<< -- * raise -- * finally: -- */ -- __pyx_t_7 = PySequence_Tuple(__pyx_v___tmpvar_17); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_7)); -- __pyx_t_8 = PyObject_Call(__pyx_v___tmpvar_20, ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(__pyx_t_8); -- __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; -- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; -- __pyx_t_4 = (!__pyx_t_5); -- if (__pyx_t_4) { -+ __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; -+ __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; -+ goto __pyx_L14_try_end; -+ __pyx_L7_error:; -+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; -+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - -- /* "h5py/h5p.pyx":186 -+ /* "h5py/h5p.pyx":186 - * their Python wrappers are freed. - * """ - * with _objects.registry.lock: # <<<<<<<<<<<<<< - * H5Pclose(self.id) - * if not self.valid: - */ -+ /*except:*/ { -+ __Pyx_AddTraceback("h5py.h5p.PropInstanceID._close", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_GOTREF(__pyx_t_1); -+ __Pyx_GOTREF(__pyx_t_2); -+ __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __Pyx_GOTREF(__pyx_t_11); -+ __Pyx_INCREF(__pyx_t_4); -+ PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_4); -+ __Pyx_GIVEREF(__pyx_t_4); -+ __Pyx_INCREF(__pyx_t_1); -+ PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); -+ __Pyx_INCREF(__pyx_t_2); -+ PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); -- __Pyx_GIVEREF(__pyx_t_6); -- __Pyx_ErrRestore(__pyx_t_1, __pyx_t_2, __pyx_t_6); -- __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_6 = 0; -- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- goto __pyx_L19; -- } -- __pyx_L19:; -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -- goto __pyx_L9_exception_handled; -+ __pyx_t_12 = PyObject_Call(__pyx_t_3, __pyx_t_11, NULL); -+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -+ if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __Pyx_GOTREF(__pyx_t_12); -+ __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_12); -+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; -+ if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __pyx_t_9 = (!__pyx_t_10); -+ if (__pyx_t_9) { -+ __Pyx_GIVEREF(__pyx_t_4); -+ __Pyx_GIVEREF(__pyx_t_1); -+ __Pyx_GIVEREF(__pyx_t_2); -+ __Pyx_ErrRestore(__pyx_t_4, __pyx_t_1, __pyx_t_2); -+ __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ goto __pyx_L18; -+ } -+ __pyx_L18:; -+ __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0; -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -+ goto __pyx_L8_exception_handled; -+ } -+ __pyx_L9_except_error:; -+ __Pyx_XGIVEREF(__pyx_t_5); -+ __Pyx_XGIVEREF(__pyx_t_6); -+ __Pyx_XGIVEREF(__pyx_t_7); -+ __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); -+ goto __pyx_L1_error; -+ __pyx_L8_exception_handled:; -+ __Pyx_XGIVEREF(__pyx_t_5); -+ __Pyx_XGIVEREF(__pyx_t_6); -+ __Pyx_XGIVEREF(__pyx_t_7); -+ __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); -+ __pyx_L14_try_end:; - } -- __pyx_L10_except_error:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -- goto __pyx_L6; -- __pyx_L9_exception_handled:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -- __pyx_L15_try_end:; -- } -- } -- /*finally:*/ { -- int __pyx_why; -- PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; -- int __pyx_exc_lineno; -- __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L7; -- __pyx_L6: { -- __pyx_why = 4; -- __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; -- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; -- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; -- __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); -- __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L7; -- } -- __pyx_L7:; -- -- /* "(tree fragment)":14 -- * raise -- * finally: -- * if EXC: # <<<<<<<<<<<<<< -- * EXIT(None, None, None) -- */ -- if (__pyx_v___tmpvar_19) { -- -- /* "h5py/h5p.pyx":186 -- * their Python wrappers are freed. -- * """ -- * with _objects.registry.lock: # <<<<<<<<<<<<<< -- * H5Pclose(self.id) -- * if not self.valid: -- */ -- __pyx_t_6 = PyObject_Call(__pyx_v___tmpvar_20, ((PyObject *)__pyx_k_tuple_4), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L20_error;} -- __Pyx_GOTREF(__pyx_t_6); -- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -- goto __pyx_L21; -- } -- __pyx_L21:; -- goto __pyx_L22; -- __pyx_L20_error:; -- if (__pyx_why == 4) { -- Py_XDECREF(__pyx_exc_type); -- Py_XDECREF(__pyx_exc_value); -- Py_XDECREF(__pyx_exc_tb); - } -- goto __pyx_L1_error; -- __pyx_L22:; -- switch (__pyx_why) { -- case 4: { -- __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb); -- __pyx_lineno = __pyx_exc_lineno; -- __pyx_exc_type = 0; -- __pyx_exc_value = 0; -- __pyx_exc_tb = 0; -- goto __pyx_L1_error; -+ /*finally:*/ { -+ if (__pyx_t_3) { -+ __pyx_t_7 = PyObject_Call(__pyx_t_3, __pyx_k_tuple_4, NULL); -+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -+ if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_7); -+ __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); -+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - } -+ goto __pyx_L19; -+ __pyx_L3_error:; -+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -+ goto __pyx_L1_error; -+ __pyx_L19:; - } - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); -@@ -2784,20 +2779,28 @@ static PyObject *__pyx_pf_4h5py_3h5p_14P - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_XDECREF(__pyx_t_6); -- __Pyx_XDECREF(__pyx_t_7); -- __Pyx_XDECREF(__pyx_t_8); -- __Pyx_AddTraceback("h5py.h5p.PropInstanceID._close"); -+ __Pyx_XDECREF(__pyx_t_4); -+ __Pyx_XDECREF(__pyx_t_11); -+ __Pyx_AddTraceback("h5py.h5p.PropInstanceID._close", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF(__pyx_v___tmpvar_18); -- __Pyx_DECREF(__pyx_v___tmpvar_20); -- __Pyx_DECREF(__pyx_v___tmpvar_17); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_14PropInstanceID_5get_class(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_14PropInstanceID_4get_class[] = "() => PropClassID\n\n Determine the class of a property list object.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_14PropInstanceID_5get_class(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_class (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_14PropInstanceID_4get_class(((struct __pyx_obj_4h5py_3h5p_PropInstanceID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":192 - * - * -@@ -2806,15 +2809,17 @@ static PyObject *__pyx_pf_4h5py_3h5p_14P - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_2get_class(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_14PropInstanceID_2get_class[] = "() => PropClassID\n\n Determine the class of a property list object.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_2get_class(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_4get_class(struct __pyx_obj_4h5py_3h5p_PropInstanceID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; -- __Pyx_RefNannySetupContext("get_class"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_class", 0); - - /* "h5py/h5p.pyx":197 - * Determine the class of a property list object. -@@ -2826,11 +2831,11 @@ static PyObject *__pyx_pf_4h5py_3h5p_14P - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropClassID)), __pyx_n_s__open); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pget_class(((struct __pyx_obj_4h5py_3h5p_PropInstanceID *)__pyx_v_self)->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pget_class(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = PyInt_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; -@@ -2848,7 +2853,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_14P - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5p.PropInstanceID.get_class"); -+ __Pyx_AddTraceback("h5py.h5p.PropInstanceID.get_class", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2856,30 +2861,44 @@ static PyObject *__pyx_pf_4h5py_3h5p_14P - return __pyx_r; - } - --/* "h5py/h5p.pyx":213 -- * -- * -- * def set_copy_object(self, unsigned int flags): # <<<<<<<<<<<<<< -- * """(UINT flags) -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5p_10PropCopyID_set_copy_object(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/ -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_10PropCopyID_1set_copy_object(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/ - static char __pyx_doc_4h5py_3h5p_10PropCopyID_set_copy_object[] = "(UINT flags)\n\n Set flags for object copying process. Legal flags are\n from the h5o.COPY* family:\n\n h5o.COPY_SHALLOW_HIERARCHY_FLAG\n Copy only immediate members of a group.\n\n h5o.COPY_EXPAND_SOFT_LINK_FLAG\n Expand soft links into new objects.\n\n h5o.COPY_EXPAND_EXT_LINK_FLAG\n Expand external link into new objects.\n\n h5o.COPY_EXPAND_REFERENCE_FLAG\n Copy objects that are pointed to by references.\n\n h5o.COPY_WITHOUT_ATTR_FLAG\n Copy object without copying attributes.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_10PropCopyID_set_copy_object(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) { -+static PyObject *__pyx_pw_4h5py_3h5p_10PropCopyID_1set_copy_object(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) { - unsigned int __pyx_v_flags; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_copy_object"); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_copy_object (wrapper)", 0); - assert(__pyx_arg_flags); { - __pyx_v_flags = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropCopyID.set_copy_object"); -+ __Pyx_AddTraceback("h5py.h5p.PropCopyID.set_copy_object", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5p_10PropCopyID_set_copy_object(((struct __pyx_obj_4h5py_3h5p_PropCopyID *)__pyx_v_self), ((unsigned int)__pyx_v_flags)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5p.pyx":213 -+ * -+ * -+ * def set_copy_object(self, unsigned int flags): # <<<<<<<<<<<<<< -+ * """(UINT flags) -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5p_10PropCopyID_set_copy_object(struct __pyx_obj_4h5py_3h5p_PropCopyID *__pyx_v_self, unsigned int __pyx_v_flags) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_copy_object", 0); - - /* "h5py/h5p.pyx":234 - * Copy object without copying attributes. -@@ -2888,12 +2907,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_10P - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_copy_object(((struct __pyx_obj_4h5py_3h5p_PropCopyID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_flags); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_copy_object(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_flags); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropCopyID.set_copy_object"); -+ __Pyx_AddTraceback("h5py.h5p.PropCopyID.set_copy_object", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2901,6 +2920,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_10P - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_10PropCopyID_3get_copy_object(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_10PropCopyID_2get_copy_object[] = "() => UINT flags\n\n Get copy process flags. Legal flags are h5o.COPY*.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_10PropCopyID_3get_copy_object(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_copy_object (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_10PropCopyID_2get_copy_object(((struct __pyx_obj_4h5py_3h5p_PropCopyID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":237 - * - * -@@ -2909,14 +2940,16 @@ static PyObject *__pyx_pf_4h5py_3h5p_10P - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_10PropCopyID_1get_copy_object(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_10PropCopyID_1get_copy_object[] = "() => UINT flags\n\n Get copy process flags. Legal flags are h5o.COPY*.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_10PropCopyID_1get_copy_object(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_10PropCopyID_2get_copy_object(struct __pyx_obj_4h5py_3h5p_PropCopyID *__pyx_v_self) { - unsigned int __pyx_v_flags; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_copy_object"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_copy_object", 0); - - /* "h5py/h5p.pyx":243 - * """ -@@ -2925,7 +2958,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_10P - * return flags - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_copy_object(((struct __pyx_obj_4h5py_3h5p_PropCopyID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_flags)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_copy_object(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_flags)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5p.pyx":244 - * cdef unsigned int flags -@@ -2945,7 +2978,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_10P - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5p.PropCopyID.get_copy_object"); -+ __Pyx_AddTraceback("h5py.h5p.PropCopyID.get_copy_object", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2953,6 +2986,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_10P - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_1get_version(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropFCID_get_version[] = "() => TUPLE version_info\n\n Determine version information of various file attributes.\n Elements are:\n\n 0. UINT Super block version number\n 1. UINT Freelist version number\n 2. UINT Symbol table version number\n 3. UINT Shared object header version number\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_1get_version(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_version (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_get_version(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":258 - * - * -@@ -2961,21 +3006,23 @@ static PyObject *__pyx_pf_4h5py_3h5p_10P - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_get_version(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropFCID_get_version[] = "() => TUPLE version_info\n\n Determine version information of various file attributes.\n Elements are:\n\n 0. UINT Super block version number\n 1. UINT Freelist version number\n 2. UINT Symbol table version number\n 3. UINT Shared object header version number\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_get_version(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_get_version(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self) { - unsigned int __pyx_v_super_; - unsigned int __pyx_v_freelist; - unsigned int __pyx_v_stab; - unsigned int __pyx_v_shhdr; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; -- __Pyx_RefNannySetupContext("get_version"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_version", 0); - - /* "h5py/h5p.pyx":275 - * cdef unsigned int shhdr -@@ -2984,7 +3031,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * return (super_, freelist, stab, shhdr) - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_version(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_super_), (&__pyx_v_freelist), (&__pyx_v_stab), (&__pyx_v_shhdr)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_version(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_super_), (&__pyx_v_freelist), (&__pyx_v_stab), (&__pyx_v_shhdr)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5p.pyx":277 - * H5Pget_version(self.id, &super_, &freelist, &stab, &shhdr) -@@ -3003,7 +3050,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __pyx_t_5 = PyLong_FromUnsignedLong(__pyx_v_shhdr); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_6)); -+ __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3); -@@ -3028,7 +3075,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); -- __Pyx_AddTraceback("h5py.h5p.PropFCID.get_version"); -+ __Pyx_AddTraceback("h5py.h5p.PropFCID.get_version", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3036,6 +3083,28 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_3set_userblock(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropFCID_2set_userblock[] = "(INT/LONG size)\n\n Set the file user block size, in bytes.\n Must be a power of 2, and at least 512.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_3set_userblock(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) { -+ hsize_t __pyx_v_size; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_userblock (wrapper)", 0); -+ assert(__pyx_arg_size); { -+ __pyx_v_size = __Pyx_PyInt_from_py_hsize_t(__pyx_arg_size); if (unlikely((__pyx_v_size == (hsize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 280; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5p.PropFCID.set_userblock", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_2set_userblock(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self), ((hsize_t)__pyx_v_size)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":280 - * - * -@@ -3044,22 +3113,14 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_1set_userblock(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropFCID_1set_userblock[] = "(INT/LONG size)\n\n Set the file user block size, in bytes.\n Must be a power of 2, and at least 512.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_1set_userblock(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) { -- hsize_t __pyx_v_size; -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_2set_userblock(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self, hsize_t __pyx_v_size) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_userblock"); -- assert(__pyx_arg_size); { -- __pyx_v_size = __Pyx_PyInt_from_py_hsize_t(__pyx_arg_size); if (unlikely((__pyx_v_size == (hsize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 280; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropFCID.set_userblock"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_userblock", 0); - - /* "h5py/h5p.pyx":286 - * Must be a power of 2, and at least 512. -@@ -3068,12 +3129,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_userblock(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_userblock(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropFCID.set_userblock"); -+ __Pyx_AddTraceback("h5py.h5p.PropFCID.set_userblock", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3081,6 +3142,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_5get_userblock(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropFCID_4get_userblock[] = "() => LONG size\n\n Determine the user block size, in bytes.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_5get_userblock(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_userblock (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_4get_userblock(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":289 - * - * -@@ -3089,14 +3162,16 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_2get_userblock(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropFCID_2get_userblock[] = "() => LONG size\n\n Determine the user block size, in bytes.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_2get_userblock(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_4get_userblock(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self) { - hsize_t __pyx_v_size; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_userblock"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_userblock", 0); - - /* "h5py/h5p.pyx":295 - * """ -@@ -3105,7 +3180,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * return size - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_userblock(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_userblock(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5p.pyx":296 - * cdef hsize_t size -@@ -3125,7 +3200,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5p.PropFCID.get_userblock"); -+ __Pyx_AddTraceback("h5py.h5p.PropFCID.get_userblock", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3133,63 +3208,79 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - --/* "h5py/h5p.pyx":299 -- * -- * -- * def set_sizes(self, size_t addr, size_t size): # <<<<<<<<<<<<<< -- * """(UINT addr, UINT size) -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_3set_sizes(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropFCID_3set_sizes[] = "(UINT addr, UINT size)\n\n Set the addressing offsets and lengths for objects\n in an HDF5 file, in bytes.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_3set_sizes(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_7set_sizes(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropFCID_6set_sizes[] = "(UINT addr, UINT size)\n\n Set the addressing offsets and lengths for objects\n in an HDF5 file, in bytes.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_7set_sizes(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - size_t __pyx_v_addr; - size_t __pyx_v_size; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__addr,&__pyx_n_s__size,0}; -- __Pyx_RefNannySetupContext("set_sizes"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_sizes (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__addr,&__pyx_n_s__size,0}; - PyObject* values[2] = {0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__addr); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__size); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("set_sizes", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "set_sizes") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__addr)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__size)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("set_sizes", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_sizes") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_addr = __Pyx_PyInt_AsSize_t(values[0]); if (unlikely((__pyx_v_addr == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_size = __Pyx_PyInt_AsSize_t(values[1]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_addr = __Pyx_PyInt_AsSize_t(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_addr == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_size = __Pyx_PyInt_AsSize_t(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("set_sizes", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropFCID.set_sizes"); -+ __Pyx_AddTraceback("h5py.h5p.PropFCID.set_sizes", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_6set_sizes(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self), __pyx_v_addr, __pyx_v_size); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5p.pyx":299 -+ * -+ * -+ * def set_sizes(self, size_t addr, size_t size): # <<<<<<<<<<<<<< -+ * """(UINT addr, UINT size) -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_6set_sizes(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self, size_t __pyx_v_addr, size_t __pyx_v_size) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_sizes", 0); - - /* "h5py/h5p.pyx":305 - * in an HDF5 file, in bytes. -@@ -3198,12 +3289,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_sizes(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_addr, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_sizes(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_addr, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropFCID.set_sizes"); -+ __Pyx_AddTraceback("h5py.h5p.PropFCID.set_sizes", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3211,6 +3302,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_9get_sizes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropFCID_8get_sizes[] = "() => TUPLE sizes\n\n Determine addressing offsets and lengths for objects in an\n HDF5 file, in bytes. Return value is a 2-tuple with values:\n\n 0. UINT Address offsets\n 1. UINT Lengths\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_9get_sizes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_sizes (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_8get_sizes(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":308 - * - * -@@ -3219,17 +3322,19 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_4get_sizes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropFCID_4get_sizes[] = "() => TUPLE sizes\n\n Determine addressing offsets and lengths for objects in an\n HDF5 file, in bytes. Return value is a 2-tuple with values:\n\n 0. UINT Address offsets\n 1. UINT Lengths\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_4get_sizes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_8get_sizes(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self) { - size_t __pyx_v_addr; - size_t __pyx_v_size; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; -- __Pyx_RefNannySetupContext("get_sizes"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_sizes", 0); - - /* "h5py/h5p.pyx":319 - * cdef size_t addr -@@ -3238,7 +3343,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * return (addr, size) - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_sizes(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_addr), (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_sizes(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_addr), (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5p.pyx":320 - * cdef size_t size -@@ -3253,7 +3358,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_size); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); -@@ -3270,7 +3375,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5p.PropFCID.get_sizes"); -+ __Pyx_AddTraceback("h5py.h5p.PropFCID.get_sizes", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3278,30 +3383,44 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - --/* "h5py/h5p.pyx":331 -- * -- * -- * def set_layout(self, int layout_code): # <<<<<<<<<<<<<< -- * """(INT layout_code) -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_set_layout(PyObject *__pyx_v_self, PyObject *__pyx_arg_layout_code); /*proto*/ -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_1set_layout(PyObject *__pyx_v_self, PyObject *__pyx_arg_layout_code); /*proto*/ - static char __pyx_doc_4h5py_3h5p_8PropDCID_set_layout[] = "(INT layout_code)\n\n Set dataset storage strategy; legal values are:\n\n - h5d.COMPACT\n - h5d.CONTIGUOUS\n - h5d.CHUNKED\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_set_layout(PyObject *__pyx_v_self, PyObject *__pyx_arg_layout_code) { -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_1set_layout(PyObject *__pyx_v_self, PyObject *__pyx_arg_layout_code) { - int __pyx_v_layout_code; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_layout"); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_layout (wrapper)", 0); - assert(__pyx_arg_layout_code); { - __pyx_v_layout_code = __Pyx_PyInt_AsInt(__pyx_arg_layout_code); if (unlikely((__pyx_v_layout_code == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropDCID.set_layout"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.set_layout", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_set_layout(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((int)__pyx_v_layout_code)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5p.pyx":331 -+ * -+ * -+ * def set_layout(self, int layout_code): # <<<<<<<<<<<<<< -+ * """(INT layout_code) -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_set_layout(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_layout_code) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_layout", 0); - - /* "h5py/h5p.pyx":340 - * - h5d.CHUNKED -@@ -3310,12 +3429,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_layout(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_layout_code); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_layout(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_layout_code); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropDCID.set_layout"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.set_layout", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3323,6 +3442,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_3get_layout(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropDCID_2get_layout[] = "() => INT layout_code\n\n Determine the storage strategy of a dataset; legal values are:\n\n - h5d.COMPACT\n - h5d.CONTIGUOUS\n - h5d.CHUNKED\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_3get_layout(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_layout (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_2get_layout(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":343 - * - * -@@ -3331,13 +3462,15 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_1get_layout(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropDCID_1get_layout[] = "() => INT layout_code\n\n Determine the storage strategy of a dataset; legal values are:\n\n - h5d.COMPACT\n - h5d.CONTIGUOUS\n - h5d.CHUNKED\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_1get_layout(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_2get_layout(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - H5D_layout_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_layout"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_layout", 0); - - /* "h5py/h5p.pyx":352 - * - h5d.CHUNKED -@@ -3347,7 +3480,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_layout(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_layout(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -3358,7 +3491,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5p.PropDCID.get_layout"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.get_layout", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3366,6 +3499,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_5set_chunk(PyObject *__pyx_v_self, PyObject *__pyx_v_chunksize); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropDCID_4set_chunk[] = "(TUPLE chunksize)\n\n Set the dataset chunk size. It's up to you to provide\n values which are compatible with your dataset.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_5set_chunk(PyObject *__pyx_v_self, PyObject *__pyx_v_chunksize) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_chunk (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_4set_chunk(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((PyObject *)__pyx_v_chunksize)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":355 - * - * -@@ -3374,17 +3519,19 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_2set_chunk(PyObject *__pyx_v_self, PyObject *__pyx_v_chunksize); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropDCID_2set_chunk[] = "(TUPLE chunksize)\n\n Set the dataset chunk size. It's up to you to provide\n values which are compatible with your dataset.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_2set_chunk(PyObject *__pyx_v_self, PyObject *__pyx_v_chunksize) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_4set_chunk(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyObject *__pyx_v_chunksize) { - int __pyx_v_rank; - hsize_t *__pyx_v_dims; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - Py_ssize_t __pyx_t_2; - void *__pyx_t_3; - herr_t __pyx_t_4; -- __Pyx_RefNannySetupContext("set_chunk"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_chunk", 0); - - /* "h5py/h5p.pyx":363 - * cdef int rank -@@ -3440,7 +3587,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * H5Pset_chunk(self.id, rank, dims) - * finally: - */ -- __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_chunksize, __pyx_v_dims, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_chunksize, __pyx_v_dims, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L4;} - - /* "h5py/h5p.pyx":371 - * try: -@@ -3449,7 +3596,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * finally: - * efree(dims) - */ -- __pyx_t_4 = __pyx_f_4h5py_4defs_H5Pset_chunk(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_rank, __pyx_v_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_4 = __pyx_f_4h5py_4defs_H5Pset_chunk(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_rank, __pyx_v_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L4;} - } - - /* "h5py/h5p.pyx":373 -@@ -3464,14 +3611,14 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L7; -- __pyx_L6: { -+ __pyx_why = 0; goto __pyx_L5; -+ __pyx_L4: { - __pyx_why = 4; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L7; -+ goto __pyx_L5; - } -- __pyx_L7:; -+ __pyx_L5:; - __pyx_f_4h5py_5utils_efree(__pyx_v_dims); - switch (__pyx_why) { - case 4: { -@@ -3488,7 +3635,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropDCID.set_chunk"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.set_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3496,6 +3643,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_7get_chunk(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropDCID_6get_chunk[] = "() => TUPLE chunk_dimensions\n\n Obtain the dataset chunk size, as a tuple.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_7get_chunk(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_chunk (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_6get_chunk(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":376 - * - * -@@ -3504,18 +3663,19 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_3get_chunk(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropDCID_3get_chunk[] = "() => TUPLE chunk_dimensions\n\n Obtain the dataset chunk size, as a tuple.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_3get_chunk(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_6get_chunk(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) { - int __pyx_v_rank; - hsize_t *__pyx_v_dims; -- PyObject *__pyx_v_tpl; -+ PyObject *__pyx_v_tpl = NULL; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - void *__pyx_t_2; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("get_chunk"); -- __pyx_v_tpl = Py_None; __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_chunk", 0); - - /* "h5py/h5p.pyx":384 - * cdef hsize_t *dims -@@ -3524,7 +3684,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * assert rank >= 0 - * dims = emalloc(sizeof(hsize_t)*rank) - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_chunk(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, 0, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_chunk(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, 0, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_rank = __pyx_t_1; - - /* "h5py/h5p.pyx":385 -@@ -3567,7 +3727,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * tpl = convert_dims(dims, rank) - * return tpl - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_chunk(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_rank, __pyx_v_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_chunk(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_rank, __pyx_v_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L4;} - - /* "h5py/h5p.pyx":390 - * try: -@@ -3576,9 +3736,8 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * return tpl - * finally: - */ -- __pyx_t_3 = __pyx_f_4h5py_5utils_convert_dims(__pyx_v_dims, __pyx_v_rank); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_3 = __pyx_f_4h5py_5utils_convert_dims(__pyx_v_dims, __pyx_v_rank); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_3); -- __Pyx_DECREF(__pyx_v_tpl); - __pyx_v_tpl = __pyx_t_3; - __pyx_t_3 = 0; - -@@ -3592,7 +3751,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_tpl); - __pyx_r = __pyx_v_tpl; -- goto __pyx_L5; -+ goto __pyx_L3; - } - - /* "h5py/h5p.pyx":393 -@@ -3607,17 +3766,17 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L7; -- __pyx_L5: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 3; goto __pyx_L7; -- __pyx_L6: { -+ __pyx_why = 0; goto __pyx_L5; -+ __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -+ __pyx_why = 3; goto __pyx_L5; -+ __pyx_L4: { - __pyx_why = 4; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L7; -+ goto __pyx_L5; - } -- __pyx_L7:; -+ __pyx_L5:; - __pyx_f_4h5py_5utils_efree(__pyx_v_dims); - switch (__pyx_why) { - case 3: goto __pyx_L0; -@@ -3636,15 +3795,32 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5p.PropDCID.get_chunk"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.get_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF(__pyx_v_tpl); -+ __Pyx_XDECREF(__pyx_v_tpl); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_9set_fill_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropDCID_8set_fill_value[] = "(NDARRAY value)\n\n Set the dataset fill value. The object provided should be an\n 0-dimensional NumPy array; otherwise, the value will be read from\n the first element.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_9set_fill_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_fill_value (wrapper)", 0); -+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_4h5py_5numpy_ndarray, 0, "value", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_8set_fill_value(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((PyArrayObject *)__pyx_v_value)); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":396 - * - * -@@ -3653,19 +3829,19 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_4set_fill_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropDCID_4set_fill_value[] = "(NDARRAY value)\n\n Set the dataset fill value. The object provided should be an\n 0-dimensional NumPy array; otherwise, the value will be read from\n the first element.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_4set_fill_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { -- struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid; -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_8set_fill_value(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyArrayObject *__pyx_v_value) { -+ struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid = 0; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - struct __pyx_opt_args_4h5py_5utils_check_numpy_read __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - herr_t __pyx_t_5; -- __Pyx_RefNannySetupContext("set_fill_value"); -- __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None); __Pyx_INCREF(Py_None); -- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_4h5py_5numpy_ndarray, 0, "value", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_fill_value", 0); - - /* "h5py/h5p.pyx":405 - * cdef TypeID tid -@@ -3676,7 +3852,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - */ - __pyx_t_2.__pyx_n = 1; - __pyx_t_2.space_id = -1; -- __pyx_t_1 = __pyx_f_4h5py_5utils_check_numpy_read(((PyArrayObject *)__pyx_v_value), 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_5utils_check_numpy_read(__pyx_v_value, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5p.pyx":406 - * -@@ -3685,12 +3861,11 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * H5Pset_fill_value(self.id, tid.id, value.data) - * - */ -- __pyx_t_3 = PyObject_GetAttr(__pyx_v_value, __pyx_n_s__dtype); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_value), __pyx_n_s__dtype); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = ((PyObject *)__pyx_f_4h5py_3h5t_py_create(__pyx_t_3, 0, NULL)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -- __Pyx_DECREF(((PyObject *)__pyx_v_tid)); - __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_4); - __pyx_t_4 = 0; - -@@ -3701,22 +3876,39 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * - */ -- __pyx_t_5 = __pyx_f_4h5py_4defs_H5Pset_fill_value(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_tid->__pyx_base.id, ((PyArrayObject *)__pyx_v_value)->data); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = __pyx_f_4h5py_4defs_H5Pset_fill_value(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_tid->__pyx_base.id, __pyx_v_value->data); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5p.PropDCID.set_fill_value"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.set_fill_value", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_tid); -+ __Pyx_XDECREF((PyObject *)__pyx_v_tid); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_11get_fill_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropDCID_10get_fill_value[] = "(NDARRAY value)\n\n Read the dataset fill value into a NumPy array. It will be\n converted to match the array dtype. If the array has nonzero\n rank, only the first element will contain the value.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_11get_fill_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_fill_value (wrapper)", 0); -+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_4h5py_5numpy_ndarray, 0, "value", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_10get_fill_value(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((PyArrayObject *)__pyx_v_value)); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":410 - * - * -@@ -3725,19 +3917,19 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_5get_fill_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropDCID_5get_fill_value[] = "(NDARRAY value)\n\n Read the dataset fill value into a NumPy array. It will be\n converted to match the array dtype. If the array has nonzero\n rank, only the first element will contain the value.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_5get_fill_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { -- struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid; -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_10get_fill_value(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyArrayObject *__pyx_v_value) { -+ struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid = 0; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - struct __pyx_opt_args_4h5py_5utils_check_numpy_write __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - herr_t __pyx_t_5; -- __Pyx_RefNannySetupContext("get_fill_value"); -- __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None); __Pyx_INCREF(Py_None); -- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_4h5py_5numpy_ndarray, 0, "value", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_fill_value", 0); - - /* "h5py/h5p.pyx":419 - * cdef TypeID tid -@@ -3748,7 +3940,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - */ - __pyx_t_2.__pyx_n = 1; - __pyx_t_2.space_id = -1; -- __pyx_t_1 = __pyx_f_4h5py_5utils_check_numpy_write(((PyArrayObject *)__pyx_v_value), 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_5utils_check_numpy_write(__pyx_v_value, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5p.pyx":420 - * -@@ -3757,12 +3949,11 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * H5Pget_fill_value(self.id, tid.id, value.data) - * - */ -- __pyx_t_3 = PyObject_GetAttr(__pyx_v_value, __pyx_n_s__dtype); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_value), __pyx_n_s__dtype); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = ((PyObject *)__pyx_f_4h5py_3h5t_py_create(__pyx_t_3, 0, NULL)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -- __Pyx_DECREF(((PyObject *)__pyx_v_tid)); - __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_4); - __pyx_t_4 = 0; - -@@ -3773,22 +3964,34 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * - */ -- __pyx_t_5 = __pyx_f_4h5py_4defs_H5Pget_fill_value(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_tid->__pyx_base.id, ((PyArrayObject *)__pyx_v_value)->data); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = __pyx_f_4h5py_4defs_H5Pget_fill_value(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_tid->__pyx_base.id, __pyx_v_value->data); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5p.PropDCID.get_fill_value"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.get_fill_value", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_tid); -+ __Pyx_XDECREF((PyObject *)__pyx_v_tid); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_13fill_value_defined(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropDCID_12fill_value_defined[] = "() => INT fill_status\n\n Determine the status of the dataset fill value. Return values are:\n\n - h5d.FILL_VALUE_UNDEFINED\n - h5d.FILL_VALUE_DEFAULT\n - h5d.FILL_VALUE_USER_DEFINED\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_13fill_value_defined(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("fill_value_defined (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_12fill_value_defined(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":424 - * - * -@@ -3797,14 +4000,16 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_6fill_value_defined(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropDCID_6fill_value_defined[] = "() => INT fill_status\n\n Determine the status of the dataset fill value. Return values are:\n\n - h5d.FILL_VALUE_UNDEFINED\n - h5d.FILL_VALUE_DEFAULT\n - h5d.FILL_VALUE_USER_DEFINED\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_6fill_value_defined(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_12fill_value_defined(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) { - H5D_fill_value_t __pyx_v_val; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("fill_value_defined"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("fill_value_defined", 0); - - /* "h5py/h5p.pyx":434 - * """ -@@ -3813,7 +4018,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * return val - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pfill_value_defined(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_val)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pfill_value_defined(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_val)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5p.pyx":435 - * cdef H5D_fill_value_t val -@@ -3833,7 +4038,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5p.PropDCID.fill_value_defined"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.fill_value_defined", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3841,6 +4046,28 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_15set_fill_time(PyObject *__pyx_v_self, PyObject *__pyx_arg_fill_time); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropDCID_14set_fill_time[] = "(INT fill_time)\n\n Define when fill values are written to the dataset. Legal\n values (defined in module h5d) are:\n\n - h5d.FILL_TIME_ALLOC\n - h5d.FILL_TIME_NEVER\n - h5d.FILL_TIME_IFSET\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_15set_fill_time(PyObject *__pyx_v_self, PyObject *__pyx_arg_fill_time) { -+ int __pyx_v_fill_time; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_fill_time (wrapper)", 0); -+ assert(__pyx_arg_fill_time); { -+ __pyx_v_fill_time = __Pyx_PyInt_AsInt(__pyx_arg_fill_time); if (unlikely((__pyx_v_fill_time == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.set_fill_time", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_14set_fill_time(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((int)__pyx_v_fill_time)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":438 - * - * -@@ -3849,22 +4076,14 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_7set_fill_time(PyObject *__pyx_v_self, PyObject *__pyx_arg_fill_time); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropDCID_7set_fill_time[] = "(INT fill_time)\n\n Define when fill values are written to the dataset. Legal\n values (defined in module h5d) are:\n\n - h5d.FILL_TIME_ALLOC\n - h5d.FILL_TIME_NEVER\n - h5d.FILL_TIME_IFSET\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_7set_fill_time(PyObject *__pyx_v_self, PyObject *__pyx_arg_fill_time) { -- int __pyx_v_fill_time; -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_14set_fill_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_fill_time) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_fill_time"); -- assert(__pyx_arg_fill_time); { -- __pyx_v_fill_time = __Pyx_PyInt_AsInt(__pyx_arg_fill_time); if (unlikely((__pyx_v_fill_time == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropDCID.set_fill_time"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_fill_time", 0); - - /* "h5py/h5p.pyx":448 - * - h5d.FILL_TIME_IFSET -@@ -3873,12 +4092,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fill_time(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5D_fill_time_t)__pyx_v_fill_time)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fill_time(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5D_fill_time_t)__pyx_v_fill_time)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropDCID.set_fill_time"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.set_fill_time", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3886,6 +4105,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_17get_fill_time(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropDCID_16get_fill_time[] = " () => INT\n\n Determine when fill values are written to the dataset. Legal\n values (defined in module h5d) are:\n\n - h5d.FILL_TIME_ALLOC\n - h5d.FILL_TIME_NEVER\n - h5d.FILL_TIME_IFSET\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_17get_fill_time(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_fill_time (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_16get_fill_time(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":451 - * - * -@@ -3894,14 +4125,16 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_8get_fill_time(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropDCID_8get_fill_time[] = " () => INT\n\n Determine when fill values are written to the dataset. Legal\n values (defined in module h5d) are:\n\n - h5d.FILL_TIME_ALLOC\n - h5d.FILL_TIME_NEVER\n - h5d.FILL_TIME_IFSET\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_8get_fill_time(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_16get_fill_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) { - H5D_fill_time_t __pyx_v_fill_time; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_fill_time"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_fill_time", 0); - - /* "h5py/h5p.pyx":462 - * """ -@@ -3910,7 +4143,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * return fill_time - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_fill_time(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_fill_time)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_fill_time(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_fill_time)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5p.pyx":463 - * cdef H5D_fill_time_t fill_time -@@ -3930,7 +4163,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5p.PropDCID.get_fill_time"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.get_fill_time", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3938,6 +4171,28 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_19set_alloc_time(PyObject *__pyx_v_self, PyObject *__pyx_arg_alloc_time); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropDCID_18set_alloc_time[] = "(INT alloc_time)\n\n Set the storage space allocation time. One of h5d.ALLOC_TIME*.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_19set_alloc_time(PyObject *__pyx_v_self, PyObject *__pyx_arg_alloc_time) { -+ int __pyx_v_alloc_time; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_alloc_time (wrapper)", 0); -+ assert(__pyx_arg_alloc_time); { -+ __pyx_v_alloc_time = __Pyx_PyInt_AsInt(__pyx_arg_alloc_time); if (unlikely((__pyx_v_alloc_time == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.set_alloc_time", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_18set_alloc_time(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((int)__pyx_v_alloc_time)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":466 - * - * -@@ -3946,22 +4201,14 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_9set_alloc_time(PyObject *__pyx_v_self, PyObject *__pyx_arg_alloc_time); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropDCID_9set_alloc_time[] = "(INT alloc_time)\n\n Set the storage space allocation time. One of h5d.ALLOC_TIME*.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_9set_alloc_time(PyObject *__pyx_v_self, PyObject *__pyx_arg_alloc_time) { -- int __pyx_v_alloc_time; -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_18set_alloc_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_alloc_time) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_alloc_time"); -- assert(__pyx_arg_alloc_time); { -- __pyx_v_alloc_time = __Pyx_PyInt_AsInt(__pyx_arg_alloc_time); if (unlikely((__pyx_v_alloc_time == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropDCID.set_alloc_time"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_alloc_time", 0); - - /* "h5py/h5p.pyx":471 - * Set the storage space allocation time. One of h5d.ALLOC_TIME*. -@@ -3970,12 +4217,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_alloc_time(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5D_alloc_time_t)__pyx_v_alloc_time)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_alloc_time(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5D_alloc_time_t)__pyx_v_alloc_time)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropDCID.set_alloc_time"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.set_alloc_time", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3983,6 +4230,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_21get_alloc_time(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropDCID_20get_alloc_time[] = "() => INT alloc_time\n\n Get the storage space allocation time. One of h5d.ALLOC_TIME*.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_21get_alloc_time(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_alloc_time (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_20get_alloc_time(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":474 - * - * -@@ -3991,14 +4250,16 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_10get_alloc_time(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropDCID_10get_alloc_time[] = "() => INT alloc_time\n\n Get the storage space allocation time. One of h5d.ALLOC_TIME*.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_10get_alloc_time(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_20get_alloc_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) { - H5D_alloc_time_t __pyx_v_alloc_time; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_alloc_time"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_alloc_time", 0); - - /* "h5py/h5p.pyx":480 - * """ -@@ -4007,7 +4268,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * return alloc_time - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_alloc_time(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_alloc_time)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_alloc_time(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_alloc_time)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5p.pyx":481 - * cdef H5D_alloc_time_t alloc_time -@@ -4027,7 +4288,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5p.PropDCID.get_alloc_time"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.get_alloc_time", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4035,66 +4296,65 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - --/* "h5py/h5p.pyx":487 -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_23set_filter(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropDCID_22set_filter[] = "(INT filter_code, UINT flags=0, TUPLE values=None)\n\n Set a filter in the pipeline. Params are:\n\n filter_code\n One of the following:\n\n - h5z.FILTER_DEFLATE\n - h5z.FILTER_SHUFFLE\n - h5z.FILTER_FLETCHER32\n - h5z.FILTER_SZIP\n\n flags\n Bit flags (h5z.FLAG*) setting filter properties\n\n values\n TUPLE of UINTs giving auxiliary data for the filter\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_23set_filter(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+ int __pyx_v_filter_code; -+ unsigned int __pyx_v_flags; -+ PyObject *__pyx_v_values = 0; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_filter (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__filter_code,&__pyx_n_s__flags,&__pyx_n_s__values,0}; -+ PyObject* values[3] = {0,0,0}; -+ -+ /* "h5py/h5p.pyx":487 - * - * - * def set_filter(self, int filter_code, unsigned int flags=0, object values=None): # <<<<<<<<<<<<<< - * """(INT filter_code, UINT flags=0, TUPLE values=None) - * - */ -- --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_11set_filter(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropDCID_11set_filter[] = "(INT filter_code, UINT flags=0, TUPLE values=None)\n\n Set a filter in the pipeline. Params are:\n\n filter_code\n One of the following:\n\n - h5z.FILTER_DEFLATE\n - h5z.FILTER_SHUFFLE\n - h5z.FILTER_FLETCHER32\n - h5z.FILTER_SZIP\n\n flags\n Bit flags (h5z.FLAG*) setting filter properties\n\n values\n TUPLE of UINTs giving auxiliary data for the filter\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_11set_filter(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -- int __pyx_v_filter_code; -- unsigned int __pyx_v_flags; -- PyObject *__pyx_v_values = 0; -- size_t __pyx_v_nelements; -- unsigned int *__pyx_v_cd_values; -- int __pyx_v_i; -- PyObject *__pyx_r = NULL; -- int __pyx_t_1; -- int __pyx_t_2; -- Py_ssize_t __pyx_t_3; -- int __pyx_t_4; -- int __pyx_t_5; -- void *__pyx_t_6; -- size_t __pyx_t_7; -- PyObject *__pyx_t_8 = NULL; -- PyObject *__pyx_t_9 = NULL; -- unsigned int __pyx_t_10; -- herr_t __pyx_t_11; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__filter_code,&__pyx_n_s__flags,&__pyx_n_s__values,0}; -- __Pyx_RefNannySetupContext("set_filter"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -- PyObject* values[3] = {0,0,0}; - values[2] = ((PyObject *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__filter_code); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__flags); -- if (value) { values[1] = value; kw_args--; } -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- case 2: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__values); -- if (value) { values[2] = value; kw_args--; } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__filter_code)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__flags); -+ if (value) { values[1] = value; kw_args--; } -+ } -+ case 2: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__values); -+ if (value) { values[2] = value; kw_args--; } -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_filter") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "set_filter") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - __pyx_v_filter_code = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_filter_code == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - if (values[1]) { -@@ -4103,25 +4363,41 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __pyx_v_flags = ((unsigned int)0); - } - __pyx_v_values = values[2]; -- } else { -- __pyx_v_flags = ((unsigned int)0); -- __pyx_v_values = ((PyObject *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: __pyx_v_values = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: __pyx_v_flags = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 1: __pyx_v_filter_code = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_filter_code == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("set_filter", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropDCID.set_filter"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.set_filter", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_22set_filter(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), __pyx_v_filter_code, __pyx_v_flags, __pyx_v_values); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_22set_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_code, unsigned int __pyx_v_flags, PyObject *__pyx_v_values) { -+ size_t __pyx_v_nelements; -+ unsigned int *__pyx_v_cd_values; -+ int __pyx_v_i; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ int __pyx_t_1; -+ int __pyx_t_2; -+ Py_ssize_t __pyx_t_3; -+ int __pyx_t_4; -+ int __pyx_t_5; -+ void *__pyx_t_6; -+ size_t __pyx_t_7; -+ PyObject *__pyx_t_8 = NULL; -+ PyObject *__pyx_t_9 = NULL; -+ unsigned int __pyx_t_10; -+ herr_t __pyx_t_11; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_filter", 0); - - /* "h5py/h5p.pyx":509 - * cdef unsigned int *cd_values -@@ -4159,7 +4435,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - */ - __pyx_t_2 = (__pyx_v_values == Py_None); - if (!__pyx_t_2) { -- __pyx_t_3 = PyObject_Length(__pyx_v_values); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_3 = PyObject_Length(__pyx_v_values); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_t_4 = (__pyx_t_3 == 0); - __pyx_t_5 = __pyx_t_4; - } else { -@@ -4184,7 +4460,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * nelements = len(values) - */ - __pyx_v_cd_values = NULL; -- goto __pyx_L9; -+ goto __pyx_L6; - } - /*else*/ { - -@@ -4195,7 +4471,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * cd_values = emalloc(sizeof(unsigned int)*nelements) - * - */ -- __pyx_t_3 = PyObject_Length(__pyx_v_values); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_3 = PyObject_Length(__pyx_v_values); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_nelements = __pyx_t_3; - - /* "h5py/h5p.pyx":519 -@@ -4205,7 +4481,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * for i from 0<=ifilter_code, flags, nelements, cd_values) - */ -- __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_values, __pyx_v_i, sizeof(int), PyInt_FromLong); if (!__pyx_t_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_values, __pyx_v_i, sizeof(int), PyInt_FromLong); if (!__pyx_t_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_8); -- __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L7;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_9)); -+ __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L4;} -+ __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; -- __pyx_t_8 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_9), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_8 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_9), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(((PyObject *)__pyx_t_9)); __pyx_t_9 = 0; -- __pyx_t_10 = __Pyx_PyInt_AsUnsignedInt(__pyx_t_8); if (unlikely((__pyx_t_10 == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_10 = __Pyx_PyInt_AsUnsignedInt(__pyx_t_8); if (unlikely((__pyx_t_10 == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - (__pyx_v_cd_values[__pyx_v_i]) = __pyx_t_10; - } - } -- __pyx_L9:; -+ __pyx_L6:; - - /* "h5py/h5p.pyx":524 - * cd_values[i] = int(values[i]) -@@ -4249,7 +4525,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * finally: - * efree(cd_values) - */ -- __pyx_t_11 = __pyx_f_4h5py_4defs_H5Pset_filter(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5Z_filter_t)__pyx_v_filter_code), __pyx_v_flags, __pyx_v_nelements, __pyx_v_cd_values); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_11 = __pyx_f_4h5py_4defs_H5Pset_filter(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5Z_filter_t)__pyx_v_filter_code), __pyx_v_flags, __pyx_v_nelements, __pyx_v_cd_values); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L4;} - } - - /* "h5py/h5p.pyx":526 -@@ -4264,16 +4540,16 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L8; -- __pyx_L7: { -+ __pyx_why = 0; goto __pyx_L5; -+ __pyx_L4: { - __pyx_why = 4; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L8; -+ goto __pyx_L5; - } -- __pyx_L8:; -+ __pyx_L5:; - __pyx_f_4h5py_5utils_efree(__pyx_v_cd_values); - switch (__pyx_why) { - case 4: { -@@ -4292,7 +4568,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); -- __Pyx_AddTraceback("h5py.h5p.PropDCID.set_filter"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.set_filter", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4300,6 +4576,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_25all_filters_avail(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropDCID_24all_filters_avail[] = "() => BOOL\n\n Determine if all the filters in the pipelist are available to\n the library.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_25all_filters_avail(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("all_filters_avail (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_24all_filters_avail(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":529 - * - * -@@ -4308,13 +4596,15 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_12all_filters_avail(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropDCID_12all_filters_avail[] = "() => BOOL\n\n Determine if all the filters in the pipelist are available to\n the library.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_12all_filters_avail(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_24all_filters_avail(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - htri_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("all_filters_avail"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("all_filters_avail", 0); - - /* "h5py/h5p.pyx":535 - * the library. -@@ -4324,7 +4614,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pall_filters_avail(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pall_filters_avail(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -4335,7 +4625,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5p.PropDCID.all_filters_avail"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.all_filters_avail", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4343,6 +4633,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_27get_nfilters(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropDCID_26get_nfilters[] = "() => INT\n\n Determine the number of filters in the pipeline.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_27get_nfilters(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_nfilters (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_26get_nfilters(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":538 - * - * -@@ -4351,13 +4653,15 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_13get_nfilters(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropDCID_13get_nfilters[] = "() => INT\n\n Determine the number of filters in the pipeline.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_13get_nfilters(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_26get_nfilters(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_nfilters"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_nfilters", 0); - - /* "h5py/h5p.pyx":543 - * Determine the number of filters in the pipeline. -@@ -4367,7 +4671,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_nfilters(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_nfilters(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -4378,7 +4682,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5p.PropDCID.get_nfilters"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.get_nfilters", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4386,6 +4690,28 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_29get_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_idx); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropDCID_28get_filter[] = "(UINT filter_idx) => TUPLE filter_info\n\n Get information about a filter, identified by its index. Tuple\n elements are:\n\n 0. INT filter code (h5z.FILTER*)\n 1. UINT flags (h5z.FLAG*)\n 2. TUPLE of UINT values; filter aux data (16 values max)\n 3. STRING name of filter (256 chars max)\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_29get_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_idx) { -+ int __pyx_v_filter_idx; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_filter (wrapper)", 0); -+ assert(__pyx_arg_filter_idx); { -+ __pyx_v_filter_idx = __Pyx_PyInt_AsInt(__pyx_arg_filter_idx); if (unlikely((__pyx_v_filter_idx == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.get_filter", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_28get_filter(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((int)__pyx_v_filter_idx)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":546 - * - * -@@ -4394,11 +4720,8 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_14get_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_idx); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropDCID_14get_filter[] = "(UINT filter_idx) => TUPLE filter_info\n\n Get information about a filter, identified by its index. Tuple\n elements are:\n\n 0. INT filter code (h5z.FILTER*)\n 1. UINT flags (h5z.FLAG*)\n 2. TUPLE of UINT values; filter aux data (16 values max)\n 3. STRING name of filter (256 chars max)\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_14get_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_idx) { -- int __pyx_v_filter_idx; -- PyObject *__pyx_v_vlist; -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_28get_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_idx) { -+ PyObject *__pyx_v_vlist = 0; - int __pyx_v_filter_code; - unsigned int __pyx_v_flags; - size_t __pyx_v_nelements; -@@ -4406,6 +4729,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - char __pyx_v_name[257]; - int __pyx_v_i; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - H5Z_filter_t __pyx_t_3; -@@ -4415,17 +4739,10 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; -- __Pyx_RefNannySetupContext("get_filter"); -- assert(__pyx_arg_filter_idx); { -- __pyx_v_filter_idx = __Pyx_PyInt_AsInt(__pyx_arg_filter_idx); if (unlikely((__pyx_v_filter_idx == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropDCID.get_filter"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -- __pyx_v_vlist = ((PyObject*)Py_None); __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_filter", 0); - - /* "h5py/h5p.pyx":564 - * cdef char name[257] -@@ -4455,12 +4772,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - */ - __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_6), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __Pyx_Raise(__pyx_t_2, 0, 0); -+ __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L5; -+ goto __pyx_L3; - } -- __pyx_L5:; -+ __pyx_L3:; - - /* "h5py/h5p.pyx":570 - * -@@ -4469,7 +4786,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * name[256] = c'\0' # in case it's > 256 chars - * - */ -- __pyx_t_3 = __pyx_f_4h5py_4defs_H5Pget_filter(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_filter_idx, (&__pyx_v_flags), (&__pyx_v_nelements), __pyx_v_cd_values, 256, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = __pyx_f_4h5py_4defs_H5Pget_filter(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_filter_idx, (&__pyx_v_flags), (&__pyx_v_nelements), __pyx_v_cd_values, 256, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_filter_code = ((int)__pyx_t_3); - - /* "h5py/h5p.pyx":571 -@@ -4489,8 +4806,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * vlist.append(cd_values[i]) - */ - __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -- __Pyx_DECREF(((PyObject *)__pyx_v_vlist)); -+ __Pyx_GOTREF(__pyx_t_2); - __pyx_v_vlist = __pyx_t_2; - __pyx_t_2 = 0; - -@@ -4511,9 +4827,6 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * return (filter_code, flags, tuple(vlist), name) - */ -- if (unlikely(__pyx_v_vlist == Py_None)) { -- PyErr_SetString(PyExc_AttributeError, "'NoneType' object has no attribute 'append'"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- } - __pyx_t_2 = PyLong_FromUnsignedLong((__pyx_v_cd_values[__pyx_v_i])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyList_Append(__pyx_v_vlist, __pyx_t_2); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -4532,15 +4845,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = PyLong_FromUnsignedLong(__pyx_v_flags); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); -- if (unlikely(__pyx_v_vlist == Py_None)) { -- PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- } - __pyx_t_7 = ((PyObject *)PyList_AsTuple(__pyx_v_vlist)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_7)); - __pyx_t_8 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_8)); - __pyx_t_9 = PyTuple_New(4); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_9)); -+ __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_6); -@@ -4565,15 +4875,37 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); -- __Pyx_AddTraceback("h5py.h5p.PropDCID.get_filter"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.get_filter", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF(__pyx_v_vlist); -+ __Pyx_XDECREF(__pyx_v_vlist); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_31_has_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_code); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropDCID_30_has_filter[] = "(INT filter_code)\n\n Slow & stupid method to determine if a filter is used in this\n property list. Used because the HDF5 function H5Pget_filter_by_id\n is broken.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_31_has_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_code) { -+ int __pyx_v_filter_code; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("_has_filter (wrapper)", 0); -+ assert(__pyx_arg_filter_code); { -+ __pyx_v_filter_code = __Pyx_PyInt_AsInt(__pyx_arg_filter_code); if (unlikely((__pyx_v_filter_code == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5p.PropDCID._has_filter", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_30_has_filter(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((int)__pyx_v_filter_code)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":580 - * - * -@@ -4582,28 +4914,20 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_15_has_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_code); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropDCID_15_has_filter[] = "(INT filter_code)\n\n Slow & stupid method to determine if a filter is used in this\n property list. Used because the HDF5 function H5Pget_filter_by_id\n is broken.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_15_has_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_code) { -- int __pyx_v_filter_code; -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_30_has_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_code) { - int __pyx_v_nfilters; - long __pyx_v_i; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - int __pyx_t_5; -- __Pyx_RefNannySetupContext("_has_filter"); -- assert(__pyx_arg_filter_code); { -- __pyx_v_filter_code = __Pyx_PyInt_AsInt(__pyx_arg_filter_code); if (unlikely((__pyx_v_filter_code == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropDCID._has_filter"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("_has_filter", 0); - - /* "h5py/h5p.pyx":588 - * """ -@@ -4612,7 +4936,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * for i from 0<=i__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5Z_filter_t)__pyx_v_filter_code), (&__pyx_v_flags), (&__pyx_v_nelements), __pyx_v_cd_values, 256, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_6 = __pyx_f_4h5py_4defs_H5Pget_filter_by_id(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5Z_filter_t)__pyx_v_filter_code), (&__pyx_v_flags), (&__pyx_v_nelements), __pyx_v_cd_values, 256, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_retval = __pyx_t_6; - - /* "h5py/h5p.pyx":621 -@@ -4841,8 +5177,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * vlist.append(cd_values[i]) - */ - __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -- __Pyx_DECREF(((PyObject *)__pyx_v_vlist)); -+ __Pyx_GOTREF(__pyx_t_2); - __pyx_v_vlist = __pyx_t_2; - __pyx_t_2 = 0; - -@@ -4863,9 +5198,6 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * return (flags, tuple(vlist), name) - */ -- if (unlikely(__pyx_v_vlist == Py_None)) { -- PyErr_SetString(PyExc_AttributeError, "'NoneType' object has no attribute 'append'"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- } - __pyx_t_2 = PyLong_FromUnsignedLong((__pyx_v_cd_values[__pyx_v_i])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = PyList_Append(__pyx_v_vlist, __pyx_t_2); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -4882,15 +5214,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = PyLong_FromUnsignedLong(__pyx_v_flags); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- if (unlikely(__pyx_v_vlist == Py_None)) { -- PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- } - __pyx_t_3 = ((PyObject *)PyList_AsTuple(__pyx_v_vlist)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - __pyx_t_1 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_9)); -+ __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_9, 1, ((PyObject *)__pyx_t_3)); -@@ -4911,15 +5240,37 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_9); -- __Pyx_AddTraceback("h5py.h5p.PropDCID.get_filter_by_id"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.get_filter_by_id", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF(__pyx_v_vlist); -+ __Pyx_XDECREF(__pyx_v_vlist); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_35remove_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_class); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropDCID_34remove_filter[] = "(INT filter_class)\n\n Remove a filter from the pipeline. The class code is one of\n h5z.FILTER*.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_35remove_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_class) { -+ int __pyx_v_filter_class; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("remove_filter (wrapper)", 0); -+ assert(__pyx_arg_filter_class); { -+ __pyx_v_filter_class = __Pyx_PyInt_AsInt(__pyx_arg_filter_class); if (unlikely((__pyx_v_filter_class == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.remove_filter", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_34remove_filter(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((int)__pyx_v_filter_class)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":632 - * - * -@@ -4928,22 +5279,14 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_17remove_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_class); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropDCID_17remove_filter[] = "(INT filter_class)\n\n Remove a filter from the pipeline. The class code is one of\n h5z.FILTER*.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_17remove_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_class) { -- int __pyx_v_filter_class; -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_34remove_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_class) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("remove_filter"); -- assert(__pyx_arg_filter_class); { -- __pyx_v_filter_class = __Pyx_PyInt_AsInt(__pyx_arg_filter_class); if (unlikely((__pyx_v_filter_class == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropDCID.remove_filter"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("remove_filter", 0); - - /* "h5py/h5p.pyx":638 - * h5z.FILTER*. -@@ -4952,12 +5295,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Premove_filter(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5Z_filter_t)__pyx_v_filter_class)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Premove_filter(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5Z_filter_t)__pyx_v_filter_class)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropDCID.remove_filter"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.remove_filter", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4965,61 +5308,78 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - --/* "h5py/h5p.pyx":641 -- * -- * -- * def set_deflate(self, unsigned int level=5): # <<<<<<<<<<<<<< -- * """(UINT level=5) -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_18set_deflate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropDCID_18set_deflate[] = "(UINT level=5)\n\n Enable deflate (gzip) compression, at the given level.\n Valid levels are 0-9, default is 5.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_18set_deflate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_37set_deflate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropDCID_36set_deflate[] = "(UINT level=5)\n\n Enable deflate (gzip) compression, at the given level.\n Valid levels are 0-9, default is 5.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_37set_deflate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - unsigned int __pyx_v_level; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__level,0}; -- __Pyx_RefNannySetupContext("set_deflate"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_deflate (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__level,0}; - PyObject* values[1] = {0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__level); -- if (value) { values[0] = value; kw_args--; } -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__level); -+ if (value) { values[0] = value; kw_args--; } -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_deflate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "set_deflate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - if (values[0]) { - __pyx_v_level = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_level == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } else { - __pyx_v_level = ((unsigned int)5); - } -- } else { -- __pyx_v_level = ((unsigned int)5); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 1: __pyx_v_level = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_level == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("set_deflate", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropDCID.set_deflate"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.set_deflate", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_36set_deflate(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), __pyx_v_level); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5p.pyx":641 -+ * -+ * -+ * def set_deflate(self, unsigned int level=5): # <<<<<<<<<<<<<< -+ * """(UINT level=5) -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_36set_deflate(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, unsigned int __pyx_v_level) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_deflate", 0); - - /* "h5py/h5p.pyx":647 - * Valid levels are 0-9, default is 5. -@@ -5028,12 +5388,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_deflate(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_level); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_deflate(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_level); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropDCID.set_deflate"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.set_deflate", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5041,6 +5401,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_39set_fletcher32(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropDCID_38set_fletcher32[] = "()\n\n Enable Fletcher32 error correction on this list.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_39set_fletcher32(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_fletcher32 (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_38set_fletcher32(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":650 - * - * -@@ -5049,12 +5421,14 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_19set_fletcher32(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropDCID_19set_fletcher32[] = "()\n\n Enable Fletcher32 error correction on this list.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_19set_fletcher32(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_38set_fletcher32(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_fletcher32"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_fletcher32", 0); - - /* "h5py/h5p.pyx":655 - * Enable Fletcher32 error correction on this list. -@@ -5063,12 +5437,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fletcher32(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fletcher32(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropDCID.set_fletcher32"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.set_fletcher32", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5076,6 +5450,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_41set_shuffle(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropDCID_40set_shuffle[] = "()\n\n Enable to use of the shuffle filter. Use this immediately before\n the deflate filter to increase the compression ratio.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_41set_shuffle(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_shuffle (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_40set_shuffle(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":658 - * - * -@@ -5084,12 +5470,14 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_20set_shuffle(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropDCID_20set_shuffle[] = "()\n\n Enable to use of the shuffle filter. Use this immediately before\n the deflate filter to increase the compression ratio.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_20set_shuffle(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_40set_shuffle(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_shuffle"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_shuffle", 0); - - /* "h5py/h5p.pyx":664 - * the deflate filter to increase the compression ratio. -@@ -5098,12 +5486,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_shuffle(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_shuffle(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropDCID.set_shuffle"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.set_shuffle", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5111,63 +5499,79 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - --/* "h5py/h5p.pyx":667 -- * -- * -- * def set_szip(self, unsigned int options, unsigned int pixels_per_block): # <<<<<<<<<<<<<< -- * """(UINT options, UINT pixels_per_block) -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_21set_szip(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropDCID_21set_szip[] = "(UINT options, UINT pixels_per_block)\n\n Enable SZIP compression. See the HDF5 docs for argument meanings,\n and general restrictions on use of the SZIP format.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_21set_szip(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_43set_szip(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropDCID_42set_szip[] = "(UINT options, UINT pixels_per_block)\n\n Enable SZIP compression. See the HDF5 docs for argument meanings,\n and general restrictions on use of the SZIP format.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_43set_szip(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - unsigned int __pyx_v_options; - unsigned int __pyx_v_pixels_per_block; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__options,&__pyx_n_s__pixels_per_block,0}; -- __Pyx_RefNannySetupContext("set_szip"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_szip (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__options,&__pyx_n_s__pixels_per_block,0}; - PyObject* values[2] = {0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__options); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pixels_per_block); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("set_szip", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "set_szip") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__options)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pixels_per_block)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("set_szip", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_szip") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_options = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_options == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_pixels_per_block = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_pixels_per_block == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_options = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_options == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_pixels_per_block = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_pixels_per_block == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("set_szip", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropDCID.set_szip"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.set_szip", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_42set_szip(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), __pyx_v_options, __pyx_v_pixels_per_block); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5p.pyx":667 -+ * -+ * -+ * def set_szip(self, unsigned int options, unsigned int pixels_per_block): # <<<<<<<<<<<<<< -+ * """(UINT options, UINT pixels_per_block) -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_42set_szip(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, unsigned int __pyx_v_options, unsigned int __pyx_v_pixels_per_block) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_szip", 0); - - /* "h5py/h5p.pyx":673 - * and general restrictions on use of the SZIP format. -@@ -5176,12 +5580,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * # File access - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_szip(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_options, __pyx_v_pixels_per_block); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_szip(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_options, __pyx_v_pixels_per_block); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropDCID.set_szip"); -+ __Pyx_AddTraceback("h5py.h5p.PropDCID.set_szip", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5189,30 +5593,44 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - --/* "h5py/h5p.pyx":683 -- * -- * -- * def set_fclose_degree(self, int close_degree): # <<<<<<<<<<<<<< -- * """(INT close_degree) -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_set_fclose_degree(PyObject *__pyx_v_self, PyObject *__pyx_arg_close_degree); /*proto*/ -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_1set_fclose_degree(PyObject *__pyx_v_self, PyObject *__pyx_arg_close_degree); /*proto*/ - static char __pyx_doc_4h5py_3h5p_8PropFAID_set_fclose_degree[] = "(INT close_degree)\n\n Set the file-close degree, which determines library behavior when\n a file is closed when objects are still open. Legal values:\n\n * h5f.CLOSE_WEAK\n * h5f.CLOSE_SEMI\n * h5f.CLOSE_STRONG\n * h5f.CLOSE_DEFAULT\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_set_fclose_degree(PyObject *__pyx_v_self, PyObject *__pyx_arg_close_degree) { -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_1set_fclose_degree(PyObject *__pyx_v_self, PyObject *__pyx_arg_close_degree) { - int __pyx_v_close_degree; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_fclose_degree"); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_fclose_degree (wrapper)", 0); - assert(__pyx_arg_close_degree); { - __pyx_v_close_degree = __Pyx_PyInt_AsInt(__pyx_arg_close_degree); if (unlikely((__pyx_v_close_degree == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fclose_degree"); -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fclose_degree", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_set_fclose_degree(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), ((int)__pyx_v_close_degree)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5p.pyx":683 -+ * -+ * -+ * def set_fclose_degree(self, int close_degree): # <<<<<<<<<<<<<< -+ * """(INT close_degree) -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_set_fclose_degree(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, int __pyx_v_close_degree) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_fclose_degree", 0); - - /* "h5py/h5p.pyx":694 - * * h5f.CLOSE_DEFAULT -@@ -5221,12 +5639,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fclose_degree(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, ((enum H5F_close_degree_t)__pyx_v_close_degree)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fclose_degree(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, ((enum H5F_close_degree_t)__pyx_v_close_degree)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fclose_degree"); -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fclose_degree", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5234,6 +5652,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_3get_fclose_degree(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropFAID_2get_fclose_degree[] = "() => INT close_degree\n - h5fd.\n Get the file-close degree, which determines library behavior when\n a file is closed when objects are still open. Legal values:\n\n * h5f.CLOSE_WEAK\n * h5f.CLOSE_SEMI\n * h5f.CLOSE_STRONG\n * h5f.CLOSE_DEFAULT\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_3get_fclose_degree(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_fclose_degree (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_2get_fclose_degree(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":697 - * - * -@@ -5242,14 +5672,16 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - h5fd. - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_1get_fclose_degree(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropFAID_1get_fclose_degree[] = "() => INT close_degree\n - h5fd.\n Get the file-close degree, which determines library behavior when\n a file is closed when objects are still open. Legal values:\n\n * h5f.CLOSE_WEAK\n * h5f.CLOSE_SEMI\n * h5f.CLOSE_STRONG\n * h5f.CLOSE_DEFAULT\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_1get_fclose_degree(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_2get_fclose_degree(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) { - enum H5F_close_degree_t __pyx_v_deg; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_fclose_degree"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_fclose_degree", 0); - - /* "h5py/h5p.pyx":709 - * """ -@@ -5258,7 +5690,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * return deg - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_fclose_degree(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_deg)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_fclose_degree(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_deg)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5p.pyx":710 - * cdef H5F_close_degree_t deg -@@ -5278,7 +5710,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5p.PropFAID.get_fclose_degree"); -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.get_fclose_degree", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5286,46 +5718,50 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - --/* "h5py/h5p.pyx":713 -- * -- * -- * def set_fapl_core(self, size_t block_size=64*1024, hbool_t backing_store=1): # <<<<<<<<<<<<<< -- * """(UINT increment=64k, BOOL backing_store=True) -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_2set_fapl_core(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropFAID_2set_fapl_core[] = "(UINT increment=64k, BOOL backing_store=True)\n\n Use the h5fd.CORE (memory-resident) file driver.\n\n increment\n Chunk size for new memory requests (default 1 meg)\n\n backing_store\n If True (default), memory contents are associated with an\n on-disk file, which is updated when the file is closed.\n Set to False for a purely in-memory file.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_2set_fapl_core(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_5set_fapl_core(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropFAID_4set_fapl_core[] = "(UINT increment=64k, BOOL backing_store=True)\n\n Use the h5fd.CORE (memory-resident) file driver.\n\n increment\n Chunk size for new memory requests (default 1 meg)\n\n backing_store\n If True (default), memory contents are associated with an\n on-disk file, which is updated when the file is closed.\n Set to False for a purely in-memory file.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_5set_fapl_core(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - size_t __pyx_v_block_size; - hbool_t __pyx_v_backing_store; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__block_size,&__pyx_n_s__backing_store,0}; -- __Pyx_RefNannySetupContext("set_fapl_core"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_fapl_core (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__block_size,&__pyx_n_s__backing_store,0}; - PyObject* values[2] = {0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__block_size); -- if (value) { values[0] = value; kw_args--; } -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__block_size); -+ if (value) { values[0] = value; kw_args--; } -+ } -+ case 1: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__backing_store); -+ if (value) { values[1] = value; kw_args--; } -+ } - } -- case 1: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__backing_store); -- if (value) { values[1] = value; kw_args--; } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_fapl_core") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "set_fapl_core") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - if (values[0]) { - __pyx_v_block_size = __Pyx_PyInt_AsSize_t(values[0]); if (unlikely((__pyx_v_block_size == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -@@ -5337,24 +5773,36 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - } else { - __pyx_v_backing_store = ((hbool_t)1); - } -- } else { -- __pyx_v_block_size = ((size_t)65536); -- __pyx_v_backing_store = ((hbool_t)1); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: __pyx_v_backing_store = __Pyx_PyInt_from_py_hbool_t(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_backing_store == (hbool_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 1: __pyx_v_block_size = __Pyx_PyInt_AsSize_t(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_block_size == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("set_fapl_core", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_core"); -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_core", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_4set_fapl_core(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), __pyx_v_block_size, __pyx_v_backing_store); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5p.pyx":713 -+ * -+ * -+ * def set_fapl_core(self, size_t block_size=64*1024, hbool_t backing_store=1): # <<<<<<<<<<<<<< -+ * """(UINT increment=64k, BOOL backing_store=True) -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_4set_fapl_core(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, size_t __pyx_v_block_size, hbool_t __pyx_v_backing_store) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_fapl_core", 0); - - /* "h5py/h5p.pyx":726 - * Set to False for a purely in-memory file. -@@ -5363,12 +5811,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fapl_core(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_block_size, __pyx_v_backing_store); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fapl_core(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_block_size, __pyx_v_backing_store); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_core"); -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_core", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5376,6 +5824,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_7get_fapl_core(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropFAID_6get_fapl_core[] = "() => TUPLE core_settings\n\n Determine settings for the h5fd.CORE (memory-resident) file driver.\n Tuple elements are:\n\n 0. UINT \"increment\": Chunk size for new memory requests\n 1. BOOL \"backing_store\": If True, write the memory contents to\n disk when the file is closed.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_7get_fapl_core(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_fapl_core (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_6get_fapl_core(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":729 - * - * -@@ -5384,17 +5844,19 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_3get_fapl_core(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropFAID_3get_fapl_core[] = "() => TUPLE core_settings\n\n Determine settings for the h5fd.CORE (memory-resident) file driver.\n Tuple elements are:\n\n 0. UINT \"increment\": Chunk size for new memory requests\n 1. BOOL \"backing_store\": If True, write the memory contents to\n disk when the file is closed.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_3get_fapl_core(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_6get_fapl_core(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) { - size_t __pyx_v_increment; - hbool_t __pyx_v_backing_store; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; -- __Pyx_RefNannySetupContext("get_fapl_core"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_fapl_core", 0); - - /* "h5py/h5p.pyx":741 - * cdef size_t increment -@@ -5403,7 +5865,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * return (increment, (backing_store)) - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_fapl_core(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_increment), (&__pyx_v_backing_store)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_fapl_core(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_increment), (&__pyx_v_backing_store)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5p.pyx":742 - * cdef hbool_t backing_store -@@ -5418,7 +5880,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __pyx_t_3 = __Pyx_PyBool_FromLong(((int)__pyx_v_backing_store)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); -@@ -5435,7 +5897,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5p.PropFAID.get_fapl_core"); -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.get_fapl_core", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5443,48 +5905,59 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - --/* "h5py/h5p.pyx":745 -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_9set_fapl_family(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropFAID_8set_fapl_family[] = "(UINT memb_size=2**31-1, PropFAID memb_fapl=None)\n\n Set up the family driver.\n\n memb_size\n Member file size\n\n memb_fapl\n File access property list for each member access\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_9set_fapl_family(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+ hsize_t __pyx_v_memb_size; -+ struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_memb_fapl = 0; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_fapl_family (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__memb_size,&__pyx_n_s__memb_fapl,0}; -+ PyObject* values[2] = {0,0}; -+ -+ /* "h5py/h5p.pyx":745 - * - * - * def set_fapl_family(self, hsize_t memb_size=2147483647, PropID memb_fapl=None): # <<<<<<<<<<<<<< - * """(UINT memb_size=2**31-1, PropFAID memb_fapl=None) - * - */ -- --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_4set_fapl_family(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropFAID_4set_fapl_family[] = "(UINT memb_size=2**31-1, PropFAID memb_fapl=None)\n\n Set up the family driver.\n\n memb_size\n Member file size\n\n memb_fapl\n File access property list for each member access\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_4set_fapl_family(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -- hsize_t __pyx_v_memb_size; -- struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_memb_fapl = 0; -- hid_t __pyx_v_plist_id; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__memb_size,&__pyx_n_s__memb_fapl,0}; -- __Pyx_RefNannySetupContext("set_fapl_family"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -- PyObject* values[2] = {0,0}; - values[1] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__memb_size); -- if (value) { values[0] = value; kw_args--; } -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- case 1: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__memb_fapl); -- if (value) { values[1] = value; kw_args--; } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__memb_size); -+ if (value) { values[0] = value; kw_args--; } -+ } -+ case 1: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__memb_fapl); -+ if (value) { values[1] = value; kw_args--; } -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_fapl_family") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "set_fapl_family") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - if (values[0]) { - __pyx_v_memb_size = __Pyx_PyInt_from_py_hsize_t(values[0]); if (unlikely((__pyx_v_memb_size == (hsize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -@@ -5492,25 +5965,34 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __pyx_v_memb_size = ((hsize_t)2147483647); - } - __pyx_v_memb_fapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[1]); -- } else { -- __pyx_v_memb_size = ((hsize_t)2147483647); -- __pyx_v_memb_fapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: __pyx_v_memb_fapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)PyTuple_GET_ITEM(__pyx_args, 1)); -- case 1: __pyx_v_memb_size = __Pyx_PyInt_from_py_hsize_t(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_memb_size == (hsize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("set_fapl_family", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_family"); -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_family", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memb_fapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "memb_fapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_8set_fapl_family(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), __pyx_v_memb_size, __pyx_v_memb_fapl); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_8set_fapl_family(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, hsize_t __pyx_v_memb_size, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_memb_fapl) { -+ hid_t __pyx_v_plist_id; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_fapl_family", 0); - - /* "h5py/h5p.pyx":757 - * """ -@@ -5528,12 +6010,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fapl_family(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_memb_size, __pyx_v_plist_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fapl_family(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_memb_size, __pyx_v_plist_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_family"); -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_family", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5541,6 +6023,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_11get_fapl_family(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropFAID_10get_fapl_family[] = "() => TUPLE info\n\n Determine family driver settings. Tuple values are:\n\n 0. UINT memb_size\n 1. PropFAID memb_fapl or None\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_11get_fapl_family(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_fapl_family (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_10get_fapl_family(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":761 - * - * -@@ -5549,20 +6043,21 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_5get_fapl_family(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropFAID_5get_fapl_family[] = "() => TUPLE info\n\n Determine family driver settings. Tuple values are:\n\n 0. UINT memb_size\n 1. PropFAID memb_fapl or None\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_5get_fapl_family(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_10get_fapl_family(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) { - hid_t __pyx_v_mfapl_id; - hsize_t __pyx_v_msize; -- struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_plist; -+ struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_plist = 0; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; -- __Pyx_RefNannySetupContext("get_fapl_family"); -- __pyx_v_plist = ((struct __pyx_obj_4h5py_3h5p_PropFAID *)Py_None); __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_fapl_family", 0); - - /* "h5py/h5p.pyx":772 - * cdef hsize_t msize -@@ -5572,7 +6067,6 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * H5Pget_fapl_family(self.id, &msize, &mfapl_id) - */ - __Pyx_INCREF(Py_None); -- __Pyx_DECREF(((PyObject *)__pyx_v_plist)); - __pyx_v_plist = ((struct __pyx_obj_4h5py_3h5p_PropFAID *)Py_None); - - /* "h5py/h5p.pyx":774 -@@ -5582,7 +6076,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * if mfapl_id > 0: - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_fapl_family(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_msize), (&__pyx_v_mfapl_id)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_fapl_family(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_msize), (&__pyx_v_mfapl_id)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5p.pyx":776 - * H5Pget_fapl_family(self.id, &msize, &mfapl_id) -@@ -5606,7 +6100,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __pyx_t_4 = __Pyx_PyInt_to_py_hid_t(__pyx_v_mfapl_id); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -+ __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; -@@ -5618,9 +6112,9 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __Pyx_DECREF(((PyObject *)__pyx_v_plist)); - __pyx_v_plist = ((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_t_4); - __pyx_t_4 = 0; -- goto __pyx_L5; -+ goto __pyx_L3; - } -- __pyx_L5:; -+ __pyx_L3:; - - /* "h5py/h5p.pyx":779 - * plist = PropFAID.open(mfapl_id) -@@ -5633,7 +6127,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __pyx_t_4 = __Pyx_PyInt_to_py_hsize_t(__pyx_v_msize); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -+ __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(((PyObject *)__pyx_v_plist)); -@@ -5650,82 +6144,97 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); -- __Pyx_AddTraceback("h5py.h5p.PropFAID.get_fapl_family"); -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.get_fapl_family", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_plist); -+ __Pyx_XDECREF((PyObject *)__pyx_v_plist); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - --/* "h5py/h5p.pyx":782 -- * -- * -- * def set_fapl_log(self, char* logfile, unsigned int flags, size_t buf_size): # <<<<<<<<<<<<<< -- * """(STRING logfile, UINT flags, UINT buf_size) -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_6set_fapl_log(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropFAID_6set_fapl_log[] = "(STRING logfile, UINT flags, UINT buf_size)\n\n Enable the use of the logging driver. See the HDF5 documentation\n for details. Flag constants are stored in module h5fd.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_6set_fapl_log(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_13set_fapl_log(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropFAID_12set_fapl_log[] = "(STRING logfile, UINT flags, UINT buf_size)\n\n Enable the use of the logging driver. See the HDF5 documentation\n for details. Flag constants are stored in module h5fd.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_13set_fapl_log(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - char *__pyx_v_logfile; - unsigned int __pyx_v_flags; - size_t __pyx_v_buf_size; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__logfile,&__pyx_n_s__flags,&__pyx_n_s__buf_size,0}; -- __Pyx_RefNannySetupContext("set_fapl_log"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_fapl_log (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__logfile,&__pyx_n_s__flags,&__pyx_n_s__buf_size,0}; - PyObject* values[3] = {0,0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__logfile); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__flags); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("set_fapl_log", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- case 2: -- values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__buf_size); -- if (likely(values[2])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("set_fapl_log", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__logfile)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__flags)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("set_fapl_log", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 2: -+ if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__buf_size)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("set_fapl_log", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "set_fapl_log") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_fapl_log") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - } - __pyx_v_logfile = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_logfile) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_flags = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_buf_size = __Pyx_PyInt_AsSize_t(values[2]); if (unlikely((__pyx_v_buf_size == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_logfile = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((!__pyx_v_logfile) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_flags = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_buf_size = __Pyx_PyInt_AsSize_t(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_buf_size == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("set_fapl_log", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_log"); -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_log", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_12set_fapl_log(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), __pyx_v_logfile, __pyx_v_flags, __pyx_v_buf_size); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5p.pyx":782 -+ * -+ * -+ * def set_fapl_log(self, char* logfile, unsigned int flags, size_t buf_size): # <<<<<<<<<<<<<< -+ * """(STRING logfile, UINT flags, UINT buf_size) -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_12set_fapl_log(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, char *__pyx_v_logfile, unsigned int __pyx_v_flags, size_t __pyx_v_buf_size) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_fapl_log", 0); - - /* "h5py/h5p.pyx":788 - * for details. Flag constants are stored in module h5fd. -@@ -5734,12 +6243,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fapl_log(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_logfile, __pyx_v_flags, __pyx_v_buf_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fapl_log(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_logfile, __pyx_v_flags, __pyx_v_buf_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_log"); -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_log", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5747,6 +6256,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_15set_fapl_sec2(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropFAID_14set_fapl_sec2[] = "()\n\n Select the \"section-2\" driver (h5fd.SEC2).\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_15set_fapl_sec2(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_fapl_sec2 (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_14set_fapl_sec2(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":791 - * - * -@@ -5755,12 +6276,14 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_7set_fapl_sec2(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropFAID_7set_fapl_sec2[] = "()\n\n Select the \"section-2\" driver (h5fd.SEC2).\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_7set_fapl_sec2(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_14set_fapl_sec2(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_fapl_sec2"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_fapl_sec2", 0); - - /* "h5py/h5p.pyx":796 - * Select the "section-2" driver (h5fd.SEC2). -@@ -5769,12 +6292,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fapl_sec2(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fapl_sec2(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_sec2"); -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_sec2", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5782,6 +6305,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_17set_fapl_stdio(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropFAID_16set_fapl_stdio[] = "()\n\n Select the \"stdio\" driver (h5fd.STDIO)\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_17set_fapl_stdio(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_fapl_stdio (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_16set_fapl_stdio(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":799 - * - * -@@ -5790,12 +6325,14 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_8set_fapl_stdio(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropFAID_8set_fapl_stdio[] = "()\n\n Select the \"stdio\" driver (h5fd.STDIO)\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_8set_fapl_stdio(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_16set_fapl_stdio(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_fapl_stdio"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_fapl_stdio", 0); - - /* "h5py/h5p.pyx":804 - * Select the "stdio" driver (h5fd.STDIO) -@@ -5804,12 +6341,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fapl_stdio(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fapl_stdio(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_stdio"); -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_stdio", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5817,6 +6354,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_19get_driver(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropFAID_18get_driver[] = "() => INT driver code\n\n Return an integer identifier for the driver used by this list.\n Although HDF5 implements these as full-fledged objects, they are\n treated as integers by Python. Built-in drivers identifiers are\n listed in module h5fd; they are:\n\n - h5fd.CORE\n - h5fd.FAMILY\n - h5fd.LOG\n - h5fd.MPIO\n - h5fd.MULTI\n - h5fd.SEC2\n - h5fd.STDIO\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_19get_driver(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_driver (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_18get_driver(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":807 - * - * -@@ -5825,13 +6374,15 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_9get_driver(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropFAID_9get_driver[] = "() => INT driver code\n\n Return an integer identifier for the driver used by this list.\n Although HDF5 implements these as full-fledged objects, they are\n treated as integers by Python. Built-in drivers identifiers are\n listed in module h5fd; they are:\n\n - h5fd.CORE\n - h5fd.FAMILY\n - h5fd.LOG\n - h5fd.MPIO\n - h5fd.MULTI\n - h5fd.SEC2\n - h5fd.STDIO\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_9get_driver(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_18get_driver(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_driver"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_driver", 0); - - /* "h5py/h5p.pyx":823 - * - h5fd.STDIO -@@ -5841,7 +6392,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_driver(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_driver(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyInt_to_py_hid_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -5852,7 +6403,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5p.PropFAID.get_driver"); -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.get_driver", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5860,83 +6411,97 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - --/* "h5py/h5p.pyx":826 -- * -- * -- * def set_cache(self, int mdc, int rdcc, size_t rdcc_nbytes, double rdcc_w0): # <<<<<<<<<<<<<< -- * """(INT mdc, INT rdcc, UINT rdcc_nbytes, DOUBLE rdcc_w0) -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_10set_cache(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropFAID_10set_cache[] = "(INT mdc, INT rdcc, UINT rdcc_nbytes, DOUBLE rdcc_w0)\n\n Set the metadata (mdc) and raw data chunk (rdcc) cache properties.\n See the HDF5 docs for a full explanation.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_10set_cache(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_21set_cache(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropFAID_20set_cache[] = "(INT mdc, INT rdcc, UINT rdcc_nbytes, DOUBLE rdcc_w0)\n\n Set the metadata (mdc) and raw data chunk (rdcc) cache properties.\n See the HDF5 docs for a full explanation.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_21set_cache(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - int __pyx_v_mdc; - int __pyx_v_rdcc; - size_t __pyx_v_rdcc_nbytes; - double __pyx_v_rdcc_w0; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__mdc,&__pyx_n_s__rdcc,&__pyx_n_s__rdcc_nbytes,&__pyx_n_s__rdcc_w0,0}; -- __Pyx_RefNannySetupContext("set_cache"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_cache (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__mdc,&__pyx_n_s__rdcc,&__pyx_n_s__rdcc_nbytes,&__pyx_n_s__rdcc_w0,0}; - PyObject* values[4] = {0,0,0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mdc); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__rdcc); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("set_cache", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- case 2: -- values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__rdcc_nbytes); -- if (likely(values[2])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("set_cache", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mdc)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__rdcc)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("set_cache", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 2: -+ if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__rdcc_nbytes)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("set_cache", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 3: -+ if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__rdcc_w0)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("set_cache", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } - } -- case 3: -- values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__rdcc_w0); -- if (likely(values[3])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("set_cache", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_cache") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "set_cache") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - } - __pyx_v_mdc = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_mdc == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_rdcc = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_rdcc == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_rdcc_nbytes = __Pyx_PyInt_AsSize_t(values[2]); if (unlikely((__pyx_v_rdcc_nbytes == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_rdcc_w0 = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_rdcc_w0 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_mdc = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_mdc == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_rdcc = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_rdcc == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_rdcc_nbytes = __Pyx_PyInt_AsSize_t(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_rdcc_nbytes == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_rdcc_w0 = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_rdcc_w0 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("set_cache", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropFAID.set_cache"); -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.set_cache", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_20set_cache(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), __pyx_v_mdc, __pyx_v_rdcc, __pyx_v_rdcc_nbytes, __pyx_v_rdcc_w0); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5p.pyx":826 -+ * -+ * -+ * def set_cache(self, int mdc, int rdcc, size_t rdcc_nbytes, double rdcc_w0): # <<<<<<<<<<<<<< -+ * """(INT mdc, INT rdcc, UINT rdcc_nbytes, DOUBLE rdcc_w0) -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_20set_cache(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, int __pyx_v_mdc, int __pyx_v_rdcc, size_t __pyx_v_rdcc_nbytes, double __pyx_v_rdcc_w0) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_cache", 0); - - /* "h5py/h5p.pyx":832 - * See the HDF5 docs for a full explanation. -@@ -5945,12 +6510,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_cache(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_mdc, __pyx_v_rdcc, __pyx_v_rdcc_nbytes, __pyx_v_rdcc_w0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_cache(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_mdc, __pyx_v_rdcc, __pyx_v_rdcc_nbytes, __pyx_v_rdcc_w0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropFAID.set_cache"); -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.set_cache", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5958,6 +6523,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_23get_cache(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropFAID_22get_cache[] = "() => TUPLE cache info\n\n Get the metadata and raw data chunk cache settings. See the HDF5\n docs for element definitions. Return is a 4-tuple with entries:\n\n 1. INT mdc: Number of metadata objects\n 2. INT rdcc: Number of raw data chunks\n 3. UINT rdcc_nbytes: Size of raw data cache\n 4. DOUBLE rdcc_w0: Preemption policy for data cache.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_23get_cache(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_cache (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_22get_cache(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":835 - * - * -@@ -5966,21 +6543,23 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_11get_cache(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropFAID_11get_cache[] = "() => TUPLE cache info\n\n Get the metadata and raw data chunk cache settings. See the HDF5\n docs for element definitions. Return is a 4-tuple with entries:\n\n 1. INT mdc: Number of metadata objects\n 2. INT rdcc: Number of raw data chunks\n 3. UINT rdcc_nbytes: Size of raw data cache\n 4. DOUBLE rdcc_w0: Preemption policy for data cache.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_11get_cache(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_22get_cache(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) { - int __pyx_v_mdc; - int __pyx_v_rdcc; - size_t __pyx_v_rdcc_nbytes; - double __pyx_v_w0; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; -- __Pyx_RefNannySetupContext("get_cache"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_cache", 0); - - /* "h5py/h5p.pyx":850 - * cdef double w0 -@@ -5989,7 +6568,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * return (mdc, rdcc, rdcc_nbytes, w0) - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_cache(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_mdc), (&__pyx_v_rdcc), (&__pyx_v_rdcc_nbytes), (&__pyx_v_w0)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_cache(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_mdc), (&__pyx_v_rdcc), (&__pyx_v_rdcc_nbytes), (&__pyx_v_w0)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5p.pyx":851 - * -@@ -6008,7 +6587,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_w0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_6)); -+ __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3); -@@ -6033,7 +6612,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); -- __Pyx_AddTraceback("h5py.h5p.PropFAID.get_cache"); -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.get_cache", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6041,6 +6620,28 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_25set_sieve_buf_size(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropFAID_24set_sieve_buf_size[] = " (UINT size)\n\n Set the maximum size of the data sieve buffer (in bytes). This\n buffer can improve I/O performance for hyperslab I/O, by combining\n reads and writes into blocks of the given size. The default is 64k.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_25set_sieve_buf_size(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) { -+ size_t __pyx_v_size; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_sieve_buf_size (wrapper)", 0); -+ assert(__pyx_arg_size); { -+ __pyx_v_size = __Pyx_PyInt_AsSize_t(__pyx_arg_size); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.set_sieve_buf_size", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_24set_sieve_buf_size(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), ((size_t)__pyx_v_size)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":854 - * - * -@@ -6049,22 +6650,14 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_12set_sieve_buf_size(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropFAID_12set_sieve_buf_size[] = " (UINT size)\n\n Set the maximum size of the data sieve buffer (in bytes). This\n buffer can improve I/O performance for hyperslab I/O, by combining\n reads and writes into blocks of the given size. The default is 64k.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_12set_sieve_buf_size(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) { -- size_t __pyx_v_size; -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_24set_sieve_buf_size(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, size_t __pyx_v_size) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_sieve_buf_size"); -- assert(__pyx_arg_size); { -- __pyx_v_size = __Pyx_PyInt_AsSize_t(__pyx_arg_size); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropFAID.set_sieve_buf_size"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_sieve_buf_size", 0); - - /* "h5py/h5p.pyx":861 - * reads and writes into blocks of the given size. The default is 64k. -@@ -6073,12 +6666,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_sieve_buf_size(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_sieve_buf_size(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropFAID.set_sieve_buf_size"); -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.set_sieve_buf_size", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6086,6 +6679,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_27get_sieve_buf_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropFAID_26get_sieve_buf_size[] = " () => UINT size\n\n Get the current maximum size of the data sieve buffer (in bytes).\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_27get_sieve_buf_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_sieve_buf_size (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_26get_sieve_buf_size(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":864 - * - * -@@ -6094,14 +6699,16 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_13get_sieve_buf_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropFAID_13get_sieve_buf_size[] = " () => UINT size\n\n Get the current maximum size of the data sieve buffer (in bytes).\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_13get_sieve_buf_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_26get_sieve_buf_size(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) { - size_t __pyx_v_size; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_sieve_buf_size"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_sieve_buf_size", 0); - - /* "h5py/h5p.pyx":870 - * """ -@@ -6110,7 +6717,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * return size - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_sieve_buf_size(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_sieve_buf_size(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5p.pyx":871 - * cdef size_t size -@@ -6130,7 +6737,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5p.PropFAID.get_sieve_buf_size"); -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.get_sieve_buf_size", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6138,63 +6745,79 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - --/* "h5py/h5p.pyx":873 -- * return size -- * -- * def set_libver_bounds(self, int low, int high): # <<<<<<<<<<<<<< -- * """ (INT low, INT high) -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_14set_libver_bounds(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropFAID_14set_libver_bounds[] = " (INT low, INT high)\n\n Set the compatibility level for file format. Legal values are:\n\n - h5f.LIBVER_EARLIEST\n - h5f.LIBVER_LATEST\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_14set_libver_bounds(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_29set_libver_bounds(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropFAID_28set_libver_bounds[] = " (INT low, INT high)\n\n Set the compatibility level for file format. Legal values are:\n\n - h5f.LIBVER_EARLIEST\n - h5f.LIBVER_LATEST\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_29set_libver_bounds(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - int __pyx_v_low; - int __pyx_v_high; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__low,&__pyx_n_s__high,0}; -- __Pyx_RefNannySetupContext("set_libver_bounds"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_libver_bounds (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__low,&__pyx_n_s__high,0}; - PyObject* values[2] = {0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__low); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__high); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("set_libver_bounds", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "set_libver_bounds") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__low)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__high)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("set_libver_bounds", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_libver_bounds") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_low = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_low == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_high = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_high == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_low = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_low == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_high = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_high == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("set_libver_bounds", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropFAID.set_libver_bounds"); -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.set_libver_bounds", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_28set_libver_bounds(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), __pyx_v_low, __pyx_v_high); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5p.pyx":873 -+ * return size -+ * -+ * def set_libver_bounds(self, int low, int high): # <<<<<<<<<<<<<< -+ * """ (INT low, INT high) -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_28set_libver_bounds(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, int __pyx_v_low, int __pyx_v_high) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_libver_bounds", 0); - - /* "h5py/h5p.pyx":881 - * - h5f.LIBVER_LATEST -@@ -6203,12 +6826,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * def get_libver_bounds(self): - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_libver_bounds(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, ((H5F_libver_t)__pyx_v_low), ((H5F_libver_t)__pyx_v_high)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_libver_bounds(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, ((H5F_libver_t)__pyx_v_low), ((H5F_libver_t)__pyx_v_high)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropFAID.set_libver_bounds"); -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.set_libver_bounds", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6216,6 +6839,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_31get_libver_bounds(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropFAID_30get_libver_bounds[] = " () => (INT low, INT high)\n\n Get the compatibility level for file format. Returned values are from:\n\n - h5f.LIBVER_EARLIEST\n - h5f.LIBVER_LATEST\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_31get_libver_bounds(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_libver_bounds (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_30get_libver_bounds(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":883 - * H5Pset_libver_bounds(self.id, low, high) - * -@@ -6224,17 +6859,19 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_15get_libver_bounds(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropFAID_15get_libver_bounds[] = " () => (INT low, INT high)\n\n Get the compatibility level for file format. Returned values are from:\n\n - h5f.LIBVER_EARLIEST\n - h5f.LIBVER_LATEST\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_15get_libver_bounds(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_30get_libver_bounds(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) { - H5F_libver_t __pyx_v_low; - H5F_libver_t __pyx_v_high; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; -- __Pyx_RefNannySetupContext("get_libver_bounds"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_libver_bounds", 0); - - /* "h5py/h5p.pyx":893 - * cdef H5F_libver_t low -@@ -6243,7 +6880,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * return (low, high) - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_libver_bounds(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_low), (&__pyx_v_high)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_libver_bounds(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_low), (&__pyx_v_high)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5p.pyx":895 - * H5Pget_libver_bounds(self.id, &low, &high) -@@ -6258,7 +6895,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __pyx_t_3 = PyInt_FromLong(((int)__pyx_v_high)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); -@@ -6275,7 +6912,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5p.PropFAID.get_libver_bounds"); -+ __Pyx_AddTraceback("h5py.h5p.PropFAID.get_libver_bounds", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6283,30 +6920,44 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - --/* "h5py/h5p.pyx":902 -- * """ Link creation property list """ -- * -- * def set_char_encoding(self, int encoding): # <<<<<<<<<<<<<< -- * """ (INT encoding) -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_set_char_encoding(PyObject *__pyx_v_self, PyObject *__pyx_arg_encoding); /*proto*/ -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_1set_char_encoding(PyObject *__pyx_v_self, PyObject *__pyx_arg_encoding); /*proto*/ - static char __pyx_doc_4h5py_3h5p_8PropLCID_set_char_encoding[] = " (INT encoding)\n\n Set the character encoding for link names. Legal values are:\n\n - h5t.CSET_ASCII\n - h5t.CSET_UTF8\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_set_char_encoding(PyObject *__pyx_v_self, PyObject *__pyx_arg_encoding) { -+static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_1set_char_encoding(PyObject *__pyx_v_self, PyObject *__pyx_arg_encoding) { - int __pyx_v_encoding; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_char_encoding"); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_char_encoding (wrapper)", 0); - assert(__pyx_arg_encoding); { - __pyx_v_encoding = __Pyx_PyInt_AsInt(__pyx_arg_encoding); if (unlikely((__pyx_v_encoding == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropLCID.set_char_encoding"); -+ __Pyx_AddTraceback("h5py.h5p.PropLCID.set_char_encoding", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropLCID_set_char_encoding(((struct __pyx_obj_4h5py_3h5p_PropLCID *)__pyx_v_self), ((int)__pyx_v_encoding)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5p.pyx":902 -+ * """ Link creation property list """ -+ * -+ * def set_char_encoding(self, int encoding): # <<<<<<<<<<<<<< -+ * """ (INT encoding) -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_set_char_encoding(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self, int __pyx_v_encoding) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_char_encoding", 0); - - /* "h5py/h5p.pyx":910 - * - h5t.CSET_UTF8 -@@ -6315,12 +6966,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * def get_char_encoding(self): - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_char_encoding(((struct __pyx_obj_4h5py_3h5p_PropLCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5T_cset_t)__pyx_v_encoding)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_char_encoding(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5T_cset_t)__pyx_v_encoding)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropLCID.set_char_encoding"); -+ __Pyx_AddTraceback("h5py.h5p.PropLCID.set_char_encoding", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6328,6 +6979,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_3get_char_encoding(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropLCID_2get_char_encoding[] = " () => INT encoding\n\n Get the character encoding for link names. Legal values are:\n\n - h5t.CSET_ASCII\n - h5t.CSET_UTF8\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_3get_char_encoding(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_char_encoding (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropLCID_2get_char_encoding(((struct __pyx_obj_4h5py_3h5p_PropLCID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":912 - * H5Pset_char_encoding(self.id, encoding) - * -@@ -6336,14 +6999,16 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_1get_char_encoding(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropLCID_1get_char_encoding[] = " () => INT encoding\n\n Get the character encoding for link names. Legal values are:\n\n - h5t.CSET_ASCII\n - h5t.CSET_UTF8\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_1get_char_encoding(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_2get_char_encoding(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self) { - H5T_cset_t __pyx_v_encoding; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_char_encoding"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_char_encoding", 0); - - /* "h5py/h5p.pyx":921 - * """ -@@ -6352,7 +7017,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * return encoding - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_char_encoding(((struct __pyx_obj_4h5py_3h5p_PropLCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_encoding)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_char_encoding(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_encoding)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5p.pyx":922 - * cdef H5T_cset_t encoding -@@ -6372,7 +7037,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5p.PropLCID.get_char_encoding"); -+ __Pyx_AddTraceback("h5py.h5p.PropLCID.get_char_encoding", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6380,6 +7045,28 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_5set_create_intermediate_group(PyObject *__pyx_v_self, PyObject *__pyx_arg_create); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropLCID_4set_create_intermediate_group[] = "(BOOL create)\n\n Set whether missing intermediate groups are automatically created.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_5set_create_intermediate_group(PyObject *__pyx_v_self, PyObject *__pyx_arg_create) { -+ int __pyx_v_create; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_create_intermediate_group (wrapper)", 0); -+ assert(__pyx_arg_create); { -+ __pyx_v_create = __Pyx_PyObject_IsTrue(__pyx_arg_create); if (unlikely((__pyx_v_create == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5p.PropLCID.set_create_intermediate_group", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropLCID_4set_create_intermediate_group(((struct __pyx_obj_4h5py_3h5p_PropLCID *)__pyx_v_self), ((int)__pyx_v_create)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":924 - * return encoding - * -@@ -6388,22 +7075,14 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_2set_create_intermediate_group(PyObject *__pyx_v_self, PyObject *__pyx_arg_create); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropLCID_2set_create_intermediate_group[] = "(BOOL create)\n\n Set whether missing intermediate groups are automatically created.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_2set_create_intermediate_group(PyObject *__pyx_v_self, PyObject *__pyx_arg_create) { -- int __pyx_v_create; -+static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_4set_create_intermediate_group(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self, int __pyx_v_create) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_create_intermediate_group"); -- assert(__pyx_arg_create); { -- __pyx_v_create = __Pyx_PyObject_IsTrue(__pyx_arg_create); if (unlikely((__pyx_v_create == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropLCID.set_create_intermediate_group"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_create_intermediate_group", 0); - - /* "h5py/h5p.pyx":929 - * Set whether missing intermediate groups are automatically created. -@@ -6412,12 +7091,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_create_intermediate_group(((struct __pyx_obj_4h5py_3h5p_PropLCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_create); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 929; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_create_intermediate_group(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_create); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 929; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropLCID.set_create_intermediate_group"); -+ __Pyx_AddTraceback("h5py.h5p.PropLCID.set_create_intermediate_group", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6425,6 +7104,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_7get_create_intermediate_group(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropLCID_6get_create_intermediate_group[] = "() => BOOL\n\n Determine if missing intermediate groups are automatically created.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_7get_create_intermediate_group(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_create_intermediate_group (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropLCID_6get_create_intermediate_group(((struct __pyx_obj_4h5py_3h5p_PropLCID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":932 - * - * -@@ -6433,14 +7124,16 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_3get_create_intermediate_group(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropLCID_3get_create_intermediate_group[] = "() => BOOL\n\n Determine if missing intermediate groups are automatically created.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_3get_create_intermediate_group(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_6get_create_intermediate_group(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self) { - unsigned int __pyx_v_create; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_create_intermediate_group"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_create_intermediate_group", 0); - - /* "h5py/h5p.pyx":938 - * """ -@@ -6449,7 +7142,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * return create - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_create_intermediate_group(((struct __pyx_obj_4h5py_3h5p_PropLCID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_create)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_create_intermediate_group(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_create)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5p.pyx":939 - * cdef unsigned int create -@@ -6469,7 +7162,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5p.PropLCID.get_create_intermediate_group"); -+ __Pyx_AddTraceback("h5py.h5p.PropLCID.get_create_intermediate_group", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6477,6 +7170,22 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static int __pyx_pw_4h5py_3h5p_8PropLAID_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static int __pyx_pw_4h5py_3h5p_8PropLAID_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+ CYTHON_UNUSED PyObject *__pyx_v_args = 0; -+ int __pyx_r; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); -+ if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1; -+ __Pyx_INCREF(__pyx_args); -+ __pyx_v_args = __pyx_args; -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID___cinit__(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self), __pyx_v_args); -+ __Pyx_XDECREF(__pyx_v_args); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":946 - * """ Link access property list """ - * -@@ -6485,14 +7194,10 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static int __pyx_pf_4h5py_3h5p_8PropLAID___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static int __pyx_pf_4h5py_3h5p_8PropLAID___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -- PyObject *__pyx_v_args = 0; -+static int __pyx_pf_4h5py_3h5p_8PropLAID___cinit__(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args) { - int __pyx_r; -- __Pyx_RefNannySetupContext("__cinit__"); -- if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1; -- __Pyx_INCREF(__pyx_args); -- __pyx_v_args = __pyx_args; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__cinit__", 0); - - /* "h5py/h5p.pyx":947 - * -@@ -6501,14 +7206,22 @@ static int __pyx_pf_4h5py_3h5p_8PropLAID - * - * def __dealloc__(self): - */ -- ((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self)->_buf = NULL; -+ __pyx_v_self->_buf = NULL; - - __pyx_r = 0; -- __Pyx_DECREF(__pyx_v_args); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static void __pyx_pw_4h5py_3h5p_8PropLAID_3__dealloc__(PyObject *__pyx_v_self); /*proto*/ -+static void __pyx_pw_4h5py_3h5p_8PropLAID_3__dealloc__(PyObject *__pyx_v_self) { -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); -+ __pyx_pf_4h5py_3h5p_8PropLAID_2__dealloc__(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+} -+ - /* "h5py/h5p.pyx":949 - * self._buf = NULL - * -@@ -6517,9 +7230,9 @@ static int __pyx_pf_4h5py_3h5p_8PropLAID - * - */ - --static void __pyx_pf_4h5py_3h5p_8PropLAID_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ --static void __pyx_pf_4h5py_3h5p_8PropLAID_1__dealloc__(PyObject *__pyx_v_self) { -- __Pyx_RefNannySetupContext("__dealloc__"); -+static void __pyx_pf_4h5py_3h5p_8PropLAID_2__dealloc__(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self) { -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__dealloc__", 0); - - /* "h5py/h5p.pyx":950 - * -@@ -6528,9 +7241,31 @@ static void __pyx_pf_4h5py_3h5p_8PropLAI - * - * - */ -- __pyx_f_4h5py_5utils_efree(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self)->_buf); -+ __pyx_f_4h5py_5utils_efree(__pyx_v_self->_buf); -+ -+ __Pyx_RefNannyFinishContext(); -+} - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_5set_nlinks(PyObject *__pyx_v_self, PyObject *__pyx_arg_nlinks); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropLAID_4set_nlinks[] = "(UINT nlinks)\n\n Set the maximum traversal depth for soft links\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_5set_nlinks(PyObject *__pyx_v_self, PyObject *__pyx_arg_nlinks) { -+ size_t __pyx_v_nlinks; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_nlinks (wrapper)", 0); -+ assert(__pyx_arg_nlinks); { -+ __pyx_v_nlinks = __Pyx_PyInt_AsSize_t(__pyx_arg_nlinks); if (unlikely((__pyx_v_nlinks == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 953; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5p.PropLAID.set_nlinks", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID_4set_nlinks(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self), ((size_t)__pyx_v_nlinks)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; - } - - /* "h5py/h5p.pyx":953 -@@ -6541,22 +7276,14 @@ static void __pyx_pf_4h5py_3h5p_8PropLAI - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_2set_nlinks(PyObject *__pyx_v_self, PyObject *__pyx_arg_nlinks); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropLAID_2set_nlinks[] = "(UINT nlinks)\n\n Set the maximum traversal depth for soft links\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_2set_nlinks(PyObject *__pyx_v_self, PyObject *__pyx_arg_nlinks) { -- size_t __pyx_v_nlinks; -+static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_4set_nlinks(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, size_t __pyx_v_nlinks) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_nlinks"); -- assert(__pyx_arg_nlinks); { -- __pyx_v_nlinks = __Pyx_PyInt_AsSize_t(__pyx_arg_nlinks); if (unlikely((__pyx_v_nlinks == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 953; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropLAID.set_nlinks"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_nlinks", 0); - - /* "h5py/h5p.pyx":958 - * Set the maximum traversal depth for soft links -@@ -6565,12 +7292,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_nlinks(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_nlinks); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_nlinks(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_nlinks); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropLAID.set_nlinks"); -+ __Pyx_AddTraceback("h5py.h5p.PropLAID.set_nlinks", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6578,6 +7305,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_7get_nlinks(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropLAID_6get_nlinks[] = "() => UINT\n\n Get the maximum traversal depth for soft links\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_7get_nlinks(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_nlinks (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID_6get_nlinks(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":961 - * - * -@@ -6586,14 +7325,16 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_3get_nlinks(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropLAID_3get_nlinks[] = "() => UINT\n\n Get the maximum traversal depth for soft links\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_3get_nlinks(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_6get_nlinks(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self) { - size_t __pyx_v_nlinks; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_nlinks"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_nlinks", 0); - - /* "h5py/h5p.pyx":967 - * """ -@@ -6602,7 +7343,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * return nlinks - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_nlinks(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_nlinks)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_nlinks(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_nlinks)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5p.pyx":968 - * cdef size_t nlinks -@@ -6622,7 +7363,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5p.PropLAID.get_nlinks"); -+ __Pyx_AddTraceback("h5py.h5p.PropLAID.get_nlinks", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6630,32 +7371,46 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - --/* "h5py/h5p.pyx":971 -- * -- * -- * def set_elink_prefix(self, char* prefix): # <<<<<<<<<<<<<< -- * """(STRING prefix) -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_4set_elink_prefix(PyObject *__pyx_v_self, PyObject *__pyx_arg_prefix); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropLAID_4set_elink_prefix[] = "(STRING prefix)\n\n Set the external link prefix.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_4set_elink_prefix(PyObject *__pyx_v_self, PyObject *__pyx_arg_prefix) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_9set_elink_prefix(PyObject *__pyx_v_self, PyObject *__pyx_arg_prefix); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropLAID_8set_elink_prefix[] = "(STRING prefix)\n\n Set the external link prefix.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_9set_elink_prefix(PyObject *__pyx_v_self, PyObject *__pyx_arg_prefix) { - char *__pyx_v_prefix; -- size_t __pyx_v_size; -- PyObject *__pyx_r = NULL; -- void *__pyx_t_1; -- herr_t __pyx_t_2; -- __Pyx_RefNannySetupContext("set_elink_prefix"); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_elink_prefix (wrapper)", 0); - assert(__pyx_arg_prefix); { - __pyx_v_prefix = PyBytes_AsString(__pyx_arg_prefix); if (unlikely((!__pyx_v_prefix) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 971; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5p.PropLAID.set_elink_prefix"); -+ __Pyx_AddTraceback("h5py.h5p.PropLAID.set_elink_prefix", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID_8set_elink_prefix(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self), ((char *)__pyx_v_prefix)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5p.pyx":971 -+ * -+ * -+ * def set_elink_prefix(self, char* prefix): # <<<<<<<<<<<<<< -+ * """(STRING prefix) -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_8set_elink_prefix(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, char *__pyx_v_prefix) { -+ size_t __pyx_v_size; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ void *__pyx_t_1; -+ herr_t __pyx_t_2; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_elink_prefix", 0); - - /* "h5py/h5p.pyx":979 - * -@@ -6664,7 +7419,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * size = strlen(prefix) - * self._buf = emalloc(size+1) - */ -- __pyx_f_4h5py_5utils_efree(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self)->_buf); -+ __pyx_f_4h5py_5utils_efree(__pyx_v_self->_buf); - - /* "h5py/h5p.pyx":980 - * # HDF5 requires that we hang on to this buffer -@@ -6683,7 +7438,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - __pyx_t_1 = __pyx_f_4h5py_5utils_emalloc((__pyx_v_size + 1)); if (unlikely(__pyx_t_1 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- ((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self)->_buf = ((char *)__pyx_t_1); -+ __pyx_v_self->_buf = ((char *)__pyx_t_1); - - /* "h5py/h5p.pyx":982 - * size = strlen(prefix) -@@ -6692,7 +7447,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * H5Pset_elink_prefix(self.id, self._buf) - */ -- strcpy(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self)->_buf, __pyx_v_prefix); -+ strcpy(__pyx_v_self->_buf, __pyx_v_prefix); - - /* "h5py/h5p.pyx":984 - * strcpy(self._buf, prefix) -@@ -6701,12 +7456,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * - */ -- __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pset_elink_prefix(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, ((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self)->_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pset_elink_prefix(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_self->_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropLAID.set_elink_prefix"); -+ __Pyx_AddTraceback("h5py.h5p.PropLAID.set_elink_prefix", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6714,6 +7469,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_11get_elink_prefix(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropLAID_10get_elink_prefix[] = "() => STRING prefix\n\n Get the external link prefix\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_11get_elink_prefix(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_elink_prefix (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID_10get_elink_prefix(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":987 - * - * -@@ -6722,17 +7489,19 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_5get_elink_prefix(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropLAID_5get_elink_prefix[] = "() => STRING prefix\n\n Get the external link prefix\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_5get_elink_prefix(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_10get_elink_prefix(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self) { - char *__pyx_v_buf; - Py_ssize_t __pyx_v_size; - char *__pyx_v_pstr; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - void *__pyx_t_2; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("get_elink_prefix"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_elink_prefix", 0); - - /* "h5py/h5p.pyx":992 - * Get the external link prefix -@@ -6750,7 +7519,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * buf = emalloc(size+1) - * try: - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_elink_prefix(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, NULL, 0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_elink_prefix(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, NULL, 0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_size = __pyx_t_1; - - /* "h5py/h5p.pyx":996 -@@ -6779,7 +7548,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * pstr = buf - * finally: - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_elink_prefix(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_buf, (__pyx_v_size + 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_elink_prefix(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_buf, (__pyx_v_size + 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L4;} - - /* "h5py/h5p.pyx":999 - * try: -@@ -6803,14 +7572,14 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L7; -- __pyx_L6: { -+ __pyx_why = 0; goto __pyx_L5; -+ __pyx_L4: { - __pyx_why = 4; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L7; -+ goto __pyx_L5; - } -- __pyx_L7:; -+ __pyx_L5:; - __pyx_f_4h5py_5utils_efree(__pyx_v_buf); - switch (__pyx_why) { - case 4: { -@@ -6842,7 +7611,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5p.PropLAID.get_elink_prefix"); -+ __Pyx_AddTraceback("h5py.h5p.PropLAID.get_elink_prefix", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6850,6 +7619,23 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_13set_elink_fapl(PyObject *__pyx_v_self, PyObject *__pyx_v_fapl); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropLAID_12set_elink_fapl[] = " (PropFAID fapl)\n\n Set the file access property list used when opening external files.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_13set_elink_fapl(PyObject *__pyx_v_self, PyObject *__pyx_v_fapl) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_elink_fapl (wrapper)", 0); -+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fapl), __pyx_ptype_4h5py_3h5p_PropID, 0, "fapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID_12set_elink_fapl(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self), ((struct __pyx_obj_4h5py_3h5p_PropID *)__pyx_v_fapl)); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":1005 - * return pstr - * -@@ -6858,13 +7644,14 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_6set_elink_fapl(PyObject *__pyx_v_self, PyObject *__pyx_v_fapl); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropLAID_6set_elink_fapl[] = " (PropFAID fapl)\n\n Set the file access property list used when opening external files.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_6set_elink_fapl(PyObject *__pyx_v_self, PyObject *__pyx_v_fapl) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_12set_elink_fapl(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_fapl) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_elink_fapl"); -- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fapl), __pyx_ptype_4h5py_3h5p_PropID, 0, "fapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_elink_fapl", 0); - - /* "h5py/h5p.pyx":1010 - * Set the file access property list used when opening external files. -@@ -6873,12 +7660,12 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - * def get_elink_fapl(self): - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_elink_fapl(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, ((struct __pyx_obj_4h5py_3h5p_PropID *)__pyx_v_fapl)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_elink_fapl(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_fapl->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5p.PropLAID.set_elink_fapl"); -+ __Pyx_AddTraceback("h5py.h5p.PropLAID.set_elink_fapl", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6886,6 +7673,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_15get_elink_fapl(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5p_8PropLAID_14get_elink_fapl[] = " () => PropFAID fapl\n\n Get the file access property list used when opening external files.\n "; -+static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_15get_elink_fapl(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_elink_fapl (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID_14get_elink_fapl(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5p.pyx":1012 - * H5Pset_elink_fapl(self.id, fapl.id) - * -@@ -6894,16 +7693,18 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_7get_elink_fapl(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5p_8PropLAID_7get_elink_fapl[] = " () => PropFAID fapl\n\n Get the file access property list used when opening external files.\n "; --static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_7get_elink_fapl(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_14get_elink_fapl(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self) { - hid_t __pyx_v_fid; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; - int __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; -- __Pyx_RefNannySetupContext("get_elink_fapl"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_elink_fapl", 0); - - /* "h5py/h5p.pyx":1018 - * """ -@@ -6912,7 +7713,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * if H5Iget_ref(fid) > 1: - * H5Idec_ref(fid) - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_elink_fapl(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_elink_fapl(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_fid = __pyx_t_1; - - /* "h5py/h5p.pyx":1019 -@@ -6934,9 +7735,9 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - * - */ - __pyx_t_2 = __pyx_f_4h5py_4defs_H5Idec_ref(__pyx_v_fid); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L5; -+ goto __pyx_L3; - } -- __pyx_L5:; -+ __pyx_L3:; - - /* "h5py/h5p.pyx":1021 - * if H5Iget_ref(fid) > 1: -@@ -6956,7 +7757,7 @@ static PyObject *__pyx_pf_4h5py_3h5p_8Pr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5p.PropLAID.get_elink_fapl"); -+ __Pyx_AddTraceback("h5py.h5p.PropLAID.get_elink_fapl", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6971,26 +7772,22 @@ static PyObject *__pyx_tp_new_4h5py_3h5p - } - - static void __pyx_tp_dealloc_4h5py_3h5p_PropID(PyObject *o) { -- __pyx_ptype_4h5py_8_objects_ObjectID->tp_dealloc(o); -+ if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) __pyx_ptype_4h5py_8_objects_ObjectID->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4h5py_3h5p_PropID); - } - - static int __pyx_tp_traverse_4h5py_3h5p_PropID(PyObject *o, visitproc v, void *a) { - int e; -- if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse) { -- e = __pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse(o, v, a); if (e) return e; -- } -+ e = ((likely(__pyx_ptype_4h5py_8_objects_ObjectID)) ? ((__pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse) ? __pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_4h5py_3h5p_PropID)); if (e) return e; - return 0; - } - - static int __pyx_tp_clear_4h5py_3h5p_PropID(PyObject *o) { -- if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_clear) { -- __pyx_ptype_4h5py_8_objects_ObjectID->tp_clear(o); -- } -+ if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) { if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_clear) __pyx_ptype_4h5py_8_objects_ObjectID->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_4h5py_3h5p_PropID); - return 0; - } - - static PyMethodDef __pyx_methods_4h5py_3h5p_PropID[] = { -- {__Pyx_NAMESTR("equal"), (PyCFunction)__pyx_pf_4h5py_3h5p_6PropID_equal, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_6PropID_equal)}, -+ {__Pyx_NAMESTR("equal"), (PyCFunction)__pyx_pw_4h5py_3h5p_6PropID_1equal, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_6PropID_equal)}, - {0, 0, 0, 0} - }; - -@@ -7110,7 +7907,7 @@ static PyTypeObject __pyx_type_4h5py_3h5 - &__pyx_tp_as_number_PropID, /*tp_as_number*/ - &__pyx_tp_as_sequence_PropID, /*tp_as_sequence*/ - &__pyx_tp_as_mapping_PropID, /*tp_as_mapping*/ -- __pyx_pf_4h5py_3h5p_6PropID_2__hash__, /*tp_hash*/ -+ __pyx_pw_4h5py_3h5p_6PropID_5__hash__, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ -@@ -7120,7 +7917,7 @@ static PyTypeObject __pyx_type_4h5py_3h5 - __Pyx_DOCSTR("\n Base class for all property lists and classes\n "), /*tp_doc*/ - __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/ - __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/ -- __pyx_pf_4h5py_3h5p_6PropID_1__richcmp__, /*tp_richcompare*/ -+ __pyx_pw_4h5py_3h5p_6PropID_3__richcmp__, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ -@@ -7274,7 +8071,7 @@ static PyTypeObject __pyx_type_4h5py_3h5 - &__pyx_tp_as_number_PropClassID, /*tp_as_number*/ - &__pyx_tp_as_sequence_PropClassID, /*tp_as_sequence*/ - &__pyx_tp_as_mapping_PropClassID, /*tp_as_mapping*/ -- __pyx_pf_4h5py_3h5p_11PropClassID_1__hash__, /*tp_hash*/ -+ __pyx_pw_4h5py_3h5p_11PropClassID_3__hash__, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ -@@ -7284,7 +8081,7 @@ static PyTypeObject __pyx_type_4h5py_3h5 - __Pyx_DOCSTR("\n An HDF5 property list class.\n\n * Hashable: Yes, by identifier\n * Equality: Logical H5P comparison\n "), /*tp_doc*/ - __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/ - __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/ -- __pyx_pf_4h5py_3h5p_11PropClassID___richcmp__, /*tp_richcompare*/ -+ __pyx_pw_4h5py_3h5p_11PropClassID_1__richcmp__, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ -@@ -7319,9 +8116,9 @@ static PyObject *__pyx_tp_new_4h5py_3h5p - } - - static PyMethodDef __pyx_methods_4h5py_3h5p_PropInstanceID[] = { -- {__Pyx_NAMESTR("copy"), (PyCFunction)__pyx_pf_4h5py_3h5p_14PropInstanceID_copy, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_14PropInstanceID_copy)}, -- {__Pyx_NAMESTR("_close"), (PyCFunction)__pyx_pf_4h5py_3h5p_14PropInstanceID_1_close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_14PropInstanceID_1_close)}, -- {__Pyx_NAMESTR("get_class"), (PyCFunction)__pyx_pf_4h5py_3h5p_14PropInstanceID_2get_class, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_14PropInstanceID_2get_class)}, -+ {__Pyx_NAMESTR("copy"), (PyCFunction)__pyx_pw_4h5py_3h5p_14PropInstanceID_1copy, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_14PropInstanceID_copy)}, -+ {__Pyx_NAMESTR("_close"), (PyCFunction)__pyx_pw_4h5py_3h5p_14PropInstanceID_3_close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_14PropInstanceID_2_close)}, -+ {__Pyx_NAMESTR("get_class"), (PyCFunction)__pyx_pw_4h5py_3h5p_14PropInstanceID_5get_class, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_14PropInstanceID_4get_class)}, - {0, 0, 0, 0} - }; - -@@ -7650,8 +8447,8 @@ static PyObject *__pyx_tp_new_4h5py_3h5p - } - - static PyMethodDef __pyx_methods_4h5py_3h5p_PropCopyID[] = { -- {__Pyx_NAMESTR("set_copy_object"), (PyCFunction)__pyx_pf_4h5py_3h5p_10PropCopyID_set_copy_object, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_10PropCopyID_set_copy_object)}, -- {__Pyx_NAMESTR("get_copy_object"), (PyCFunction)__pyx_pf_4h5py_3h5p_10PropCopyID_1get_copy_object, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_10PropCopyID_1get_copy_object)}, -+ {__Pyx_NAMESTR("set_copy_object"), (PyCFunction)__pyx_pw_4h5py_3h5p_10PropCopyID_1set_copy_object, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_10PropCopyID_set_copy_object)}, -+ {__Pyx_NAMESTR("get_copy_object"), (PyCFunction)__pyx_pw_4h5py_3h5p_10PropCopyID_3get_copy_object, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_10PropCopyID_2get_copy_object)}, - {0, 0, 0, 0} - }; - -@@ -7816,28 +8613,28 @@ static PyObject *__pyx_tp_new_4h5py_3h5p - } - - static PyMethodDef __pyx_methods_4h5py_3h5p_PropDCID[] = { -- {__Pyx_NAMESTR("set_layout"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropDCID_set_layout, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_set_layout)}, -- {__Pyx_NAMESTR("get_layout"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropDCID_1get_layout, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_1get_layout)}, -- {__Pyx_NAMESTR("set_chunk"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropDCID_2set_chunk, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_2set_chunk)}, -- {__Pyx_NAMESTR("get_chunk"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropDCID_3get_chunk, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_3get_chunk)}, -- {__Pyx_NAMESTR("set_fill_value"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropDCID_4set_fill_value, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_4set_fill_value)}, -- {__Pyx_NAMESTR("get_fill_value"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropDCID_5get_fill_value, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_5get_fill_value)}, -- {__Pyx_NAMESTR("fill_value_defined"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropDCID_6fill_value_defined, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_6fill_value_defined)}, -- {__Pyx_NAMESTR("set_fill_time"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropDCID_7set_fill_time, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_7set_fill_time)}, -- {__Pyx_NAMESTR("get_fill_time"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropDCID_8get_fill_time, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_8get_fill_time)}, -- {__Pyx_NAMESTR("set_alloc_time"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropDCID_9set_alloc_time, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_9set_alloc_time)}, -- {__Pyx_NAMESTR("get_alloc_time"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropDCID_10get_alloc_time, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_10get_alloc_time)}, -- {__Pyx_NAMESTR("set_filter"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropDCID_11set_filter, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_11set_filter)}, -- {__Pyx_NAMESTR("all_filters_avail"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropDCID_12all_filters_avail, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_12all_filters_avail)}, -- {__Pyx_NAMESTR("get_nfilters"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropDCID_13get_nfilters, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_13get_nfilters)}, -- {__Pyx_NAMESTR("get_filter"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropDCID_14get_filter, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_14get_filter)}, -- {__Pyx_NAMESTR("_has_filter"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropDCID_15_has_filter, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_15_has_filter)}, -- {__Pyx_NAMESTR("get_filter_by_id"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropDCID_16get_filter_by_id, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_16get_filter_by_id)}, -- {__Pyx_NAMESTR("remove_filter"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropDCID_17remove_filter, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_17remove_filter)}, -- {__Pyx_NAMESTR("set_deflate"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropDCID_18set_deflate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_18set_deflate)}, -- {__Pyx_NAMESTR("set_fletcher32"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropDCID_19set_fletcher32, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_19set_fletcher32)}, -- {__Pyx_NAMESTR("set_shuffle"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropDCID_20set_shuffle, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_20set_shuffle)}, -- {__Pyx_NAMESTR("set_szip"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropDCID_21set_szip, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_21set_szip)}, -+ {__Pyx_NAMESTR("set_layout"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_1set_layout, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_set_layout)}, -+ {__Pyx_NAMESTR("get_layout"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_3get_layout, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_2get_layout)}, -+ {__Pyx_NAMESTR("set_chunk"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_5set_chunk, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_4set_chunk)}, -+ {__Pyx_NAMESTR("get_chunk"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_7get_chunk, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_6get_chunk)}, -+ {__Pyx_NAMESTR("set_fill_value"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_9set_fill_value, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_8set_fill_value)}, -+ {__Pyx_NAMESTR("get_fill_value"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_11get_fill_value, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_10get_fill_value)}, -+ {__Pyx_NAMESTR("fill_value_defined"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_13fill_value_defined, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_12fill_value_defined)}, -+ {__Pyx_NAMESTR("set_fill_time"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_15set_fill_time, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_14set_fill_time)}, -+ {__Pyx_NAMESTR("get_fill_time"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_17get_fill_time, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_16get_fill_time)}, -+ {__Pyx_NAMESTR("set_alloc_time"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_19set_alloc_time, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_18set_alloc_time)}, -+ {__Pyx_NAMESTR("get_alloc_time"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_21get_alloc_time, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_20get_alloc_time)}, -+ {__Pyx_NAMESTR("set_filter"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_23set_filter, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_22set_filter)}, -+ {__Pyx_NAMESTR("all_filters_avail"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_25all_filters_avail, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_24all_filters_avail)}, -+ {__Pyx_NAMESTR("get_nfilters"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_27get_nfilters, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_26get_nfilters)}, -+ {__Pyx_NAMESTR("get_filter"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_29get_filter, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_28get_filter)}, -+ {__Pyx_NAMESTR("_has_filter"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_31_has_filter, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_30_has_filter)}, -+ {__Pyx_NAMESTR("get_filter_by_id"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_33get_filter_by_id, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_32get_filter_by_id)}, -+ {__Pyx_NAMESTR("remove_filter"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_35remove_filter, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_34remove_filter)}, -+ {__Pyx_NAMESTR("set_deflate"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_37set_deflate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_36set_deflate)}, -+ {__Pyx_NAMESTR("set_fletcher32"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_39set_fletcher32, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_38set_fletcher32)}, -+ {__Pyx_NAMESTR("set_shuffle"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_41set_shuffle, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_40set_shuffle)}, -+ {__Pyx_NAMESTR("set_szip"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_43set_szip, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_42set_szip)}, - {0, 0, 0, 0} - }; - -@@ -8002,11 +8799,11 @@ static PyObject *__pyx_tp_new_4h5py_3h5p - } - - static PyMethodDef __pyx_methods_4h5py_3h5p_PropFCID[] = { -- {__Pyx_NAMESTR("get_version"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropFCID_get_version, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFCID_get_version)}, -- {__Pyx_NAMESTR("set_userblock"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropFCID_1set_userblock, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFCID_1set_userblock)}, -- {__Pyx_NAMESTR("get_userblock"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropFCID_2get_userblock, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFCID_2get_userblock)}, -- {__Pyx_NAMESTR("set_sizes"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropFCID_3set_sizes, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFCID_3set_sizes)}, -- {__Pyx_NAMESTR("get_sizes"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropFCID_4get_sizes, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFCID_4get_sizes)}, -+ {__Pyx_NAMESTR("get_version"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_1get_version, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFCID_get_version)}, -+ {__Pyx_NAMESTR("set_userblock"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_3set_userblock, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFCID_2set_userblock)}, -+ {__Pyx_NAMESTR("get_userblock"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_5get_userblock, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFCID_4get_userblock)}, -+ {__Pyx_NAMESTR("set_sizes"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_7set_sizes, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFCID_6set_sizes)}, -+ {__Pyx_NAMESTR("get_sizes"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_9get_sizes, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFCID_8get_sizes)}, - {0, 0, 0, 0} - }; - -@@ -8171,22 +8968,22 @@ static PyObject *__pyx_tp_new_4h5py_3h5p - } - - static PyMethodDef __pyx_methods_4h5py_3h5p_PropFAID[] = { -- {__Pyx_NAMESTR("set_fclose_degree"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropFAID_set_fclose_degree, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_set_fclose_degree)}, -- {__Pyx_NAMESTR("get_fclose_degree"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropFAID_1get_fclose_degree, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_1get_fclose_degree)}, -- {__Pyx_NAMESTR("set_fapl_core"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropFAID_2set_fapl_core, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_2set_fapl_core)}, -- {__Pyx_NAMESTR("get_fapl_core"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropFAID_3get_fapl_core, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_3get_fapl_core)}, -- {__Pyx_NAMESTR("set_fapl_family"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropFAID_4set_fapl_family, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_4set_fapl_family)}, -- {__Pyx_NAMESTR("get_fapl_family"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropFAID_5get_fapl_family, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_5get_fapl_family)}, -- {__Pyx_NAMESTR("set_fapl_log"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropFAID_6set_fapl_log, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_6set_fapl_log)}, -- {__Pyx_NAMESTR("set_fapl_sec2"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropFAID_7set_fapl_sec2, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_7set_fapl_sec2)}, -- {__Pyx_NAMESTR("set_fapl_stdio"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropFAID_8set_fapl_stdio, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_8set_fapl_stdio)}, -- {__Pyx_NAMESTR("get_driver"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropFAID_9get_driver, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_9get_driver)}, -- {__Pyx_NAMESTR("set_cache"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropFAID_10set_cache, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_10set_cache)}, -- {__Pyx_NAMESTR("get_cache"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropFAID_11get_cache, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_11get_cache)}, -- {__Pyx_NAMESTR("set_sieve_buf_size"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropFAID_12set_sieve_buf_size, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_12set_sieve_buf_size)}, -- {__Pyx_NAMESTR("get_sieve_buf_size"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropFAID_13get_sieve_buf_size, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_13get_sieve_buf_size)}, -- {__Pyx_NAMESTR("set_libver_bounds"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropFAID_14set_libver_bounds, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_14set_libver_bounds)}, -- {__Pyx_NAMESTR("get_libver_bounds"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropFAID_15get_libver_bounds, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_15get_libver_bounds)}, -+ {__Pyx_NAMESTR("set_fclose_degree"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_1set_fclose_degree, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_set_fclose_degree)}, -+ {__Pyx_NAMESTR("get_fclose_degree"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_3get_fclose_degree, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_2get_fclose_degree)}, -+ {__Pyx_NAMESTR("set_fapl_core"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_5set_fapl_core, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_4set_fapl_core)}, -+ {__Pyx_NAMESTR("get_fapl_core"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_7get_fapl_core, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_6get_fapl_core)}, -+ {__Pyx_NAMESTR("set_fapl_family"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_9set_fapl_family, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_8set_fapl_family)}, -+ {__Pyx_NAMESTR("get_fapl_family"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_11get_fapl_family, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_10get_fapl_family)}, -+ {__Pyx_NAMESTR("set_fapl_log"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_13set_fapl_log, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_12set_fapl_log)}, -+ {__Pyx_NAMESTR("set_fapl_sec2"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_15set_fapl_sec2, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_14set_fapl_sec2)}, -+ {__Pyx_NAMESTR("set_fapl_stdio"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_17set_fapl_stdio, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_16set_fapl_stdio)}, -+ {__Pyx_NAMESTR("get_driver"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_19get_driver, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_18get_driver)}, -+ {__Pyx_NAMESTR("set_cache"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_21set_cache, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_20set_cache)}, -+ {__Pyx_NAMESTR("get_cache"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_23get_cache, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_22get_cache)}, -+ {__Pyx_NAMESTR("set_sieve_buf_size"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_25set_sieve_buf_size, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_24set_sieve_buf_size)}, -+ {__Pyx_NAMESTR("get_sieve_buf_size"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_27get_sieve_buf_size, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_26get_sieve_buf_size)}, -+ {__Pyx_NAMESTR("set_libver_bounds"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_29set_libver_bounds, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_28set_libver_bounds)}, -+ {__Pyx_NAMESTR("get_libver_bounds"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_31get_libver_bounds, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_30get_libver_bounds)}, - {0, 0, 0, 0} - }; - -@@ -8515,10 +9312,10 @@ static PyObject *__pyx_tp_new_4h5py_3h5p - } - - static PyMethodDef __pyx_methods_4h5py_3h5p_PropLCID[] = { -- {__Pyx_NAMESTR("set_char_encoding"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropLCID_set_char_encoding, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLCID_set_char_encoding)}, -- {__Pyx_NAMESTR("get_char_encoding"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropLCID_1get_char_encoding, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLCID_1get_char_encoding)}, -- {__Pyx_NAMESTR("set_create_intermediate_group"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropLCID_2set_create_intermediate_group, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLCID_2set_create_intermediate_group)}, -- {__Pyx_NAMESTR("get_create_intermediate_group"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropLCID_3get_create_intermediate_group, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLCID_3get_create_intermediate_group)}, -+ {__Pyx_NAMESTR("set_char_encoding"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLCID_1set_char_encoding, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLCID_set_char_encoding)}, -+ {__Pyx_NAMESTR("get_char_encoding"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLCID_3get_char_encoding, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLCID_2get_char_encoding)}, -+ {__Pyx_NAMESTR("set_create_intermediate_group"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLCID_5set_create_intermediate_group, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLCID_4set_create_intermediate_group)}, -+ {__Pyx_NAMESTR("get_create_intermediate_group"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLCID_7get_create_intermediate_group, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLCID_6get_create_intermediate_group)}, - {0, 0, 0, 0} - }; - -@@ -8679,7 +9476,7 @@ static PyTypeObject __pyx_type_4h5py_3h5 - static PyObject *__pyx_tp_new_4h5py_3h5p_PropLAID(PyTypeObject *t, PyObject *a, PyObject *k) { - PyObject *o = __pyx_tp_new_4h5py_3h5p_PropID(t, a, k); - if (!o) return 0; -- if (__pyx_pf_4h5py_3h5p_8PropLAID___cinit__(o, a, k) < 0) { -+ if (__pyx_pw_4h5py_3h5p_8PropLAID_1__cinit__(o, a, k) < 0) { - Py_DECREF(o); o = 0; - } - return o; -@@ -8690,7 +9487,7 @@ static void __pyx_tp_dealloc_4h5py_3h5p_ - PyObject *etype, *eval, *etb; - PyErr_Fetch(&etype, &eval, &etb); - ++Py_REFCNT(o); -- __pyx_pf_4h5py_3h5p_8PropLAID_1__dealloc__(o); -+ __pyx_pw_4h5py_3h5p_8PropLAID_3__dealloc__(o); - if (PyErr_Occurred()) PyErr_WriteUnraisable(o); - --Py_REFCNT(o); - PyErr_Restore(etype, eval, etb); -@@ -8699,12 +9496,12 @@ static void __pyx_tp_dealloc_4h5py_3h5p_ - } - - static PyMethodDef __pyx_methods_4h5py_3h5p_PropLAID[] = { -- {__Pyx_NAMESTR("set_nlinks"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropLAID_2set_nlinks, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLAID_2set_nlinks)}, -- {__Pyx_NAMESTR("get_nlinks"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropLAID_3get_nlinks, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLAID_3get_nlinks)}, -- {__Pyx_NAMESTR("set_elink_prefix"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropLAID_4set_elink_prefix, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLAID_4set_elink_prefix)}, -- {__Pyx_NAMESTR("get_elink_prefix"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropLAID_5get_elink_prefix, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLAID_5get_elink_prefix)}, -- {__Pyx_NAMESTR("set_elink_fapl"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropLAID_6set_elink_fapl, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLAID_6set_elink_fapl)}, -- {__Pyx_NAMESTR("get_elink_fapl"), (PyCFunction)__pyx_pf_4h5py_3h5p_8PropLAID_7get_elink_fapl, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLAID_7get_elink_fapl)}, -+ {__Pyx_NAMESTR("set_nlinks"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLAID_5set_nlinks, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLAID_4set_nlinks)}, -+ {__Pyx_NAMESTR("get_nlinks"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLAID_7get_nlinks, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLAID_6get_nlinks)}, -+ {__Pyx_NAMESTR("set_elink_prefix"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLAID_9set_elink_prefix, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLAID_8set_elink_prefix)}, -+ {__Pyx_NAMESTR("get_elink_prefix"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLAID_11get_elink_prefix, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLAID_10get_elink_prefix)}, -+ {__Pyx_NAMESTR("set_elink_fapl"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLAID_13set_elink_fapl, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLAID_12set_elink_fapl)}, -+ {__Pyx_NAMESTR("get_elink_fapl"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLAID_15get_elink_fapl, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLAID_14get_elink_fapl)}, - {0, 0, 0, 0} - }; - -@@ -9046,9 +9843,10 @@ static struct PyModuleDef __pyx_modulede - - static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0}, -+ {&__pyx_kp_s_10, __pyx_k_10, sizeof(__pyx_k_10), 0, 0, 1, 0}, -+ {&__pyx_n_s_11, __pyx_k_11, sizeof(__pyx_k_11), 0, 0, 1, 1}, - {&__pyx_kp_s_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 1, 0}, - {&__pyx_kp_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 0}, -- {&__pyx_n_s_8, __pyx_k_8, sizeof(__pyx_k_8), 0, 0, 1, 1}, - {&__pyx_n_s__DATASET_CREATE, __pyx_k__DATASET_CREATE, sizeof(__pyx_k__DATASET_CREATE), 0, 0, 1, 1}, - {&__pyx_n_s__DATASET_XFER, __pyx_k__DATASET_XFER, sizeof(__pyx_k__DATASET_XFER), 0, 0, 1, 1}, - {&__pyx_n_s__DEFAULT, __pyx_k__DEFAULT, sizeof(__pyx_k__DEFAULT), 0, 0, 1, 1}, -@@ -9067,32 +9865,30 @@ static __Pyx_StringTabEntry __pyx_string - {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1}, - {&__pyx_n_s____richcmp__, __pyx_k____richcmp__, sizeof(__pyx_k____richcmp__), 0, 0, 1, 1}, - {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1}, -- {&__pyx_n_s___buf, __pyx_k___buf, sizeof(__pyx_k___buf), 0, 0, 1, 1}, - {&__pyx_n_s___has_filter, __pyx_k___has_filter, sizeof(__pyx_k___has_filter), 0, 0, 1, 1}, - {&__pyx_n_s___objects, __pyx_k___objects, sizeof(__pyx_k___objects), 0, 0, 1, 1}, - {&__pyx_n_s__addr, __pyx_k__addr, sizeof(__pyx_k__addr), 0, 0, 1, 1}, -- {&__pyx_n_s__append, __pyx_k__append, sizeof(__pyx_k__append), 0, 0, 1, 1}, - {&__pyx_n_s__backing_store, __pyx_k__backing_store, sizeof(__pyx_k__backing_store), 0, 0, 1, 1}, - {&__pyx_n_s__block_size, __pyx_k__block_size, sizeof(__pyx_k__block_size), 0, 0, 1, 1}, - {&__pyx_n_s__buf_size, __pyx_k__buf_size, sizeof(__pyx_k__buf_size), 0, 0, 1, 1}, -+ {&__pyx_n_s__cls, __pyx_k__cls, sizeof(__pyx_k__cls), 0, 0, 1, 1}, - {&__pyx_n_s__create, __pyx_k__create, sizeof(__pyx_k__create), 0, 0, 1, 1}, -- {&__pyx_n_s__data, __pyx_k__data, sizeof(__pyx_k__data), 0, 0, 1, 1}, - {&__pyx_n_s__dtype, __pyx_k__dtype, sizeof(__pyx_k__dtype), 0, 0, 1, 1}, - {&__pyx_n_s__equal, __pyx_k__equal, sizeof(__pyx_k__equal), 0, 0, 1, 1}, - {&__pyx_n_s__filter_code, __pyx_k__filter_code, sizeof(__pyx_k__filter_code), 0, 0, 1, 1}, - {&__pyx_n_s__flags, __pyx_k__flags, sizeof(__pyx_k__flags), 0, 0, 1, 1}, - {&__pyx_n_s__get_filter, __pyx_k__get_filter, sizeof(__pyx_k__get_filter), 0, 0, 1, 1}, - {&__pyx_n_s__get_nfilters, __pyx_k__get_nfilters, sizeof(__pyx_k__get_nfilters), 0, 0, 1, 1}, -+ {&__pyx_n_s__h5py, __pyx_k__h5py, sizeof(__pyx_k__h5py), 0, 0, 1, 1}, - {&__pyx_n_s__high, __pyx_k__high, sizeof(__pyx_k__high), 0, 0, 1, 1}, -- {&__pyx_n_s__id, __pyx_k__id, sizeof(__pyx_k__id), 0, 0, 1, 1}, - {&__pyx_n_s__level, __pyx_k__level, sizeof(__pyx_k__level), 0, 0, 1, 1}, - {&__pyx_n_s__lock, __pyx_k__lock, sizeof(__pyx_k__lock), 0, 0, 1, 1}, -- {&__pyx_n_s__locked, __pyx_k__locked, sizeof(__pyx_k__locked), 0, 0, 1, 1}, - {&__pyx_n_s__logfile, __pyx_k__logfile, sizeof(__pyx_k__logfile), 0, 0, 1, 1}, - {&__pyx_n_s__low, __pyx_k__low, sizeof(__pyx_k__low), 0, 0, 1, 1}, - {&__pyx_n_s__mdc, __pyx_k__mdc, sizeof(__pyx_k__mdc), 0, 0, 1, 1}, - {&__pyx_n_s__memb_fapl, __pyx_k__memb_fapl, sizeof(__pyx_k__memb_fapl), 0, 0, 1, 1}, - {&__pyx_n_s__memb_size, __pyx_k__memb_size, sizeof(__pyx_k__memb_size), 0, 0, 1, 1}, -+ {&__pyx_n_s__newid, __pyx_k__newid, sizeof(__pyx_k__newid), 0, 0, 1, 1}, - {&__pyx_n_s__open, __pyx_k__open, sizeof(__pyx_k__open), 0, 0, 1, 1}, - {&__pyx_n_s__options, __pyx_k__options, sizeof(__pyx_k__options), 0, 0, 1, 1}, - {&__pyx_n_s__pixels_per_block, __pyx_k__pixels_per_block, sizeof(__pyx_k__pixels_per_block), 0, 0, 1, 1}, -@@ -9115,7 +9911,8 @@ static int __Pyx_InitCachedBuiltins(void - } - - static int __Pyx_InitCachedConstants(void) { -- __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants"); -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - - /* "h5py/h5p.pyx":140 - * -@@ -9125,7 +9922,7 @@ static int __Pyx_InitCachedConstants(voi - * cdef class PropClassID(PropID): - */ - __pyx_k_tuple_3 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_3)); -+ __Pyx_GOTREF(__pyx_k_tuple_3); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_2)); - PyTuple_SET_ITEM(__pyx_k_tuple_3, 0, ((PyObject *)__pyx_kp_s_2)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_2)); -@@ -9139,7 +9936,7 @@ static int __Pyx_InitCachedConstants(voi - * if not self.valid: - */ - __pyx_k_tuple_4 = PyTuple_New(3); if (unlikely(!__pyx_k_tuple_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_4)); -+ __Pyx_GOTREF(__pyx_k_tuple_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_k_tuple_4, 0, Py_None); - __Pyx_GIVEREF(Py_None); -@@ -9159,11 +9956,29 @@ static int __Pyx_InitCachedConstants(voi - * filter_code = H5Pget_filter(self.id, filter_idx, &flags, - */ - __pyx_k_tuple_6 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_6)); -+ __Pyx_GOTREF(__pyx_k_tuple_6); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_5)); - PyTuple_SET_ITEM(__pyx_k_tuple_6, 0, ((PyObject *)__pyx_kp_s_5)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_5)); - __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_6)); -+ -+ /* "h5py/h5p.pyx":94 -+ * # === Property list functional API ============================================ -+ * -+ * def create(PropClassID cls not None): # <<<<<<<<<<<<<< -+ * """(PropClassID cls) => PropID -+ * -+ */ -+ __pyx_k_tuple_8 = PyTuple_New(2); if (unlikely(!__pyx_k_tuple_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_8); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__cls)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_8, 0, ((PyObject *)__pyx_n_s__cls)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__cls)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__newid)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_8, 1, ((PyObject *)__pyx_n_s__newid)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__newid)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_8)); -+ __pyx_k_codeobj_9 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_8, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_10, __pyx_n_s__create, 94, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; -@@ -9191,8 +10006,8 @@ PyMODINIT_FUNC PyInit_h5p(void) - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; -+ __Pyx_RefNannyDeclarations - #if CYTHON_REFNANNY -- void* __pyx_refnanny = NULL; - __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); - if (!__Pyx_RefNanny) { - PyErr_Clear(); -@@ -9200,12 +10015,19 @@ PyMODINIT_FUNC PyInit_h5p(void) - if (!__Pyx_RefNanny) - Py_FatalError("failed to import 'refnanny' module"); - } -- __pyx_refnanny = __Pyx_RefNanny->SetupContext("PyMODINIT_FUNC PyInit_h5p(void)", __LINE__, __FILE__); - #endif -+ __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5p(void)", 0); -+ if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- #ifdef __pyx_binding_PyCFunctionType_USED -- if (__pyx_binding_PyCFunctionType_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #ifdef __Pyx_CyFunction_USED -+ if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif -+ #ifdef __Pyx_FusedFunction_USED -+ if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif -+ #ifdef __Pyx_Generator_USED -+ if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - #endif - /*--- Library function declarations ---*/ - /*--- Threads initialization code ---*/ -@@ -9216,16 +10038,23 @@ PyMODINIT_FUNC PyInit_h5p(void) - #endif - /*--- Module creation code ---*/ - #if PY_MAJOR_VERSION < 3 -- __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5p"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_7), 0, PYTHON_API_VERSION); -+ __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5p"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_7), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); - #else - __pyx_m = PyModule_Create(&__pyx_moduledef); - #endif -- if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -- #if PY_MAJOR_VERSION < 3 -- Py_INCREF(__pyx_m); -+ if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #if PY_MAJOR_VERSION >= 3 -+ { -+ PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (!PyDict_GetItemString(modules, "h5py.h5p")) { -+ if (unlikely(PyDict_SetItemString(modules, "h5py.h5p", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } -+ } -+ #endif -+ __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #if CYTHON_COMPILING_IN_PYPY -+ Py_INCREF(__pyx_b); - #endif -- __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); -- if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - /*--- Initialize various global constants etc. ---*/ - if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -9237,6 +10066,7 @@ PyMODINIT_FUNC PyInit_h5p(void) - /*--- Constants init code ---*/ - if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /*--- Global init code ---*/ -+ /*--- Variable export code ---*/ - /*--- Function export code ---*/ - if (__Pyx_ExportFunction("pdefault", (void (*)(void))__pyx_f_4h5py_3h5p_pdefault, "hid_t (struct __pyx_obj_4h5py_3h5p_PropID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ExportFunction("propwrap", (void (*)(void))__pyx_f_4h5py_3h5p_propwrap, "PyObject *(hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -9249,14 +10079,16 @@ PyMODINIT_FUNC PyInit_h5p(void) - __pyx_ptype_4h5py_3h5p_PropID = &__pyx_type_4h5py_3h5p_PropID; - __pyx_type_4h5py_3h5p_PropClassID.tp_base = __pyx_ptype_4h5py_3h5p_PropID; - if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropClassID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #if CYTHON_COMPILING_IN_CPYTHON - { - PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_4h5py_3h5p_PropClassID, "__hash__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) { -- __pyx_wrapperbase_4h5py_3h5p_11PropClassID_1__hash__ = *((PyWrapperDescrObject *)wrapper)->d_base; -- __pyx_wrapperbase_4h5py_3h5p_11PropClassID_1__hash__.doc = __pyx_doc_4h5py_3h5p_11PropClassID_1__hash__; -- ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_4h5py_3h5p_11PropClassID_1__hash__; -+ __pyx_wrapperbase_4h5py_3h5p_11PropClassID_2__hash__ = *((PyWrapperDescrObject *)wrapper)->d_base; -+ __pyx_wrapperbase_4h5py_3h5p_11PropClassID_2__hash__.doc = __pyx_doc_4h5py_3h5p_11PropClassID_2__hash__; -+ ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_4h5py_3h5p_11PropClassID_2__hash__; - } - } -+ #endif - if (__Pyx_SetAttrString(__pyx_m, "PropClassID", (PyObject *)&__pyx_type_4h5py_3h5p_PropClassID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__pyx_type_4h5py_3h5p_PropClassID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropClassID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropClassID, __pyx_base.__pyx_base.__weakref__); - __pyx_ptype_4h5py_3h5p_PropClassID = &__pyx_type_4h5py_3h5p_PropClassID; -@@ -9341,106 +10173,11 @@ PyMODINIT_FUNC PyInit_h5p(void) - __pyx_vtabptr_4h5py_3h5t_TypeEnumID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeEnumID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeEnumID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_ptype_4h5py_3h5t_TypeCompoundID = __Pyx_ImportType("h5py.h5t", "TypeCompoundID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeCompoundID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeCompoundID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_vtabptr_4h5py_3h5t_TypeCompoundID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeCompoundID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeCompoundID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ /*--- Variable import code ---*/ - /*--- Function import code ---*/ - __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5open", (void (**)(void))&__pyx_f_4h5py_4defs_H5open, "herr_t (void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5close", (void (**)(void))&__pyx_f_4h5py_4defs_H5close, "herr_t (void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5get_libversion", (void (**)(void))&__pyx_f_4h5py_4defs_H5get_libversion, "herr_t (unsigned int *, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dcreate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dcreate2, "hid_t (hid_t, char *, hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dcreate_anon", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dcreate_anon, "hid_t (hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dopen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_space", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_space, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_space_status", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_space_status, "herr_t (hid_t, H5D_space_status_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_type, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_create_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_offset, "haddr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_storage_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_storage_size, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dread", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dread, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dwrite", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dwrite, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dextend", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dextend, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dfill", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dfill, "herr_t (void *, hid_t, void *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dvlen_get_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dvlen_get_buf_size, "herr_t (hid_t, hid_t, hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dvlen_reclaim", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dvlen_reclaim, "herr_t (hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Diterate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Diterate, "herr_t (void *, hid_t, hid_t, H5D_operator_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dset_extent", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dset_extent, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fcreate, "hid_t (char *, unsigned int, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fopen, "hid_t (char *, unsigned int, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fis_hdf5", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fis_hdf5, "htri_t (char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fflush", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fflush, "herr_t (hid_t, enum H5F_scope_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Freopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Freopen, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fmount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fmount, "herr_t (hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Funmount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Funmount, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_filesize", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_filesize, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_create_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_access_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_access_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_freespace", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_freespace, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_obj_count", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_obj_count, "int (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_obj_ids", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_obj_ids, "int (hid_t, unsigned int, int, hid_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_intent", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_intent, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate, "hid_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gopen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Glink2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Glink2, "herr_t (hid_t, char *, H5G_link_t, hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gunlink", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gunlink, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gmove2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gmove2, "herr_t (hid_t, char *, hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_num_objs", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_num_objs, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_objname_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_objname_by_idx, "int (hid_t, hsize_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_objtype_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_objtype_by_idx, "int (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Giterate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Giterate, "herr_t (hid_t, char *, int *, H5G_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_objinfo", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_objinfo, "herr_t (hid_t, char *, int, H5G_stat_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_linkval", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_linkval, "herr_t (hid_t, char *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gset_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gset_comment, "herr_t (hid_t, char *, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_comment, "int (hid_t, char *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate_anon", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate_anon, "hid_t (hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate2, "hid_t (hid_t, char *, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gopen2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gopen2, "hid_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_info, "herr_t (hid_t, H5G_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_info_by_name, "herr_t (hid_t, char *, H5G_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_create_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_type, "H5I_type_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_file_id", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_file_id, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Idec_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Idec_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iinc_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iinc_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lmove", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lmove, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcopy, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_hard", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_hard, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_soft", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_soft, "herr_t (char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ldelete", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ldelete, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ldelete_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ldelete_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_val", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_val, "herr_t (hid_t, char *, void *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_val_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_val_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, void *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lexists", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lexists, "htri_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_info, "herr_t (hid_t, char *, H5L_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5L_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_name_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_name_by_idx, "Py_ssize_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Literate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Literate, "herr_t (hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Literate_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Literate_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lvisit", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lvisit, "herr_t (hid_t, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lvisit_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lvisit_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lunpack_elink_val", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lunpack_elink_val, "herr_t (void *, size_t, unsigned int *, char **, char **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_external", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_external, "herr_t (char *, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oopen, "hid_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oopen_by_addr", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oopen_by_addr, "hid_t (hid_t, haddr_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oopen_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oopen_by_idx, "hid_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info, "herr_t (hid_t, H5O_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info_by_name, "herr_t (hid_t, char *, H5O_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5O_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Olink", (void (**)(void))&__pyx_f_4h5py_4defs_H5Olink, "herr_t (hid_t, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ocopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ocopy, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oincr_refcount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oincr_refcount, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Odecr_refcount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Odecr_refcount, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oset_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oset_comment, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oset_comment_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oset_comment_by_name, "herr_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_comment, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_comment_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_comment_by_name, "Py_ssize_t (hid_t, char *, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ovisit", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ovisit, "herr_t (hid_t, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ovisit_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ovisit_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pcreate, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pcopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_class, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -9452,20 +10189,13 @@ PyMODINIT_FUNC PyInit_h5p(void) - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_userblock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_userblock, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sizes", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sizes, "herr_t (hid_t, size_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sizes", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sizes, "herr_t (hid_t, size_t *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sym_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sym_k, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sym_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sym_k, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_istore_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_istore_k, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_istore_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_istore_k, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fclose_degree", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fclose_degree, "herr_t (hid_t, enum H5F_close_degree_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fclose_degree", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fclose_degree, "herr_t (hid_t, enum H5F_close_degree_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_core", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_core, "herr_t (hid_t, size_t, hbool_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fapl_core", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fapl_core, "herr_t (hid_t, size_t *, hbool_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_family", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_family, "herr_t (hid_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fapl_family", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fapl_family, "herr_t (hid_t, hsize_t *, hid_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_family_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_family_offset, "herr_t (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_family_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_family_offset, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_log", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_log, "herr_t (hid_t, char *, unsigned int, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_multi", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_multi, "herr_t (hid_t, H5FD_mem_t *, hid_t *, char **, haddr_t *, hbool_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_cache", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_cache, "herr_t (hid_t, int, int, size_t, double)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_cache", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_cache, "herr_t (hid_t, int *, int *, size_t *, double *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_sec2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_sec2, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -9488,13 +10218,10 @@ PyMODINIT_FUNC PyInit_h5p(void) - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_nfilters", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_nfilters, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_filter, "H5Z_filter_t (hid_t, unsigned int, unsigned int *, size_t *, unsigned int *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_filter_by_id", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_filter_by_id, "herr_t (hid_t, H5Z_filter_t, unsigned int *, size_t *, unsigned int *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pmodify_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pmodify_filter, "herr_t (hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Premove_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Premove_filter, "herr_t (hid_t, H5Z_filter_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fletcher32", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fletcher32, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_shuffle", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_shuffle, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_szip", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_szip, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_edc_check", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_edc_check, "herr_t (hid_t, enum H5Z_EDC_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_edc_check", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_edc_check, "enum H5Z_EDC_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sieve_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sieve_buf_size, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sieve_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sieve_buf_size, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_nlinks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_nlinks, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -9509,181 +10236,46 @@ PyMODINIT_FUNC PyInit_h5p(void) - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_copy_object", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_copy_object, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_char_encoding", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_char_encoding, "herr_t (hid_t, H5T_cset_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_char_encoding", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_char_encoding, "herr_t (hid_t, H5T_cset_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_local_heap_size_hint", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_local_heap_size_hint, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_local_heap_size_hint", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_local_heap_size_hint, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_link_phase_change", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_link_phase_change, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_link_phase_change", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_link_phase_change, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_est_link_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_est_link_info, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_est_link_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_est_link_info, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_link_creation_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_link_creation_order, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_link_creation_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_link_creation_order, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_libver_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_libver_bounds, "herr_t (hid_t, H5F_libver_t, H5F_libver_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_libver_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_libver_bounds, "herr_t (hid_t, H5F_libver_t *, H5F_libver_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rcreate, "herr_t (void *, hid_t, char *, H5R_type_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rdereference", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rdereference, "hid_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_region", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_region, "hid_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_obj_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_obj_type, "enum H5G_obj_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_name, "Py_ssize_t (hid_t, H5R_type_t, void *, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Screate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Screate, "hid_t (H5S_class_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Scopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Scopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Screate_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Screate_simple, "hid_t (int, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sis_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sis_simple, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Soffset_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Soffset_simple, "herr_t (hid_t, hssize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_ndims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_dims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_dims, "int (hid_t, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_npoints", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_type, "H5S_class_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sextent_copy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sextent_copy, "herr_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sset_extent_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sset_extent_simple, "herr_t (hid_t, int, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sset_extent_none", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sset_extent_none, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_type, "H5S_sel_type (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_npoints", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_bounds, "herr_t (hid_t, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_all", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_all, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_none", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_none, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_valid", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_valid, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_elem_npoints", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_elem_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_elem_pointlist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_elem_pointlist, "herr_t (hid_t, hsize_t, hsize_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_elements", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_elements, "herr_t (hid_t, H5S_seloper_t, size_t, hsize_t **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_hyper_nblocks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_hyper_nblocks, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_hyper_blocklist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_hyper_blocklist, "herr_t (hid_t, hsize_t, hsize_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_hyperslab", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_hyperslab, "herr_t (hid_t, H5S_seloper_t, hsize_t *, hsize_t *, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sencode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sencode, "herr_t (hid_t, void *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sdecode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sdecode, "hid_t (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcreate, "hid_t (enum H5T_class_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Topen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Topen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommit", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommit, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommitted", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommitted, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tequal", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tequal, "htri_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tlock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tlock, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_class, "enum H5T_class_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_size, "size_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_super", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_super, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tdetect_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tdetect_class, "htri_t (hid_t, enum H5T_class_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_native_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_native_type, "hid_t (hid_t, enum H5T_direction_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tconvert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tconvert, "herr_t (hid_t, hid_t, size_t, void *, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_size, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_order, "H5T_order_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_order, "herr_t (hid_t, H5T_order_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_precision", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_precision, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_precision", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_precision, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_offset, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_offset, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_pad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_pad, "herr_t (hid_t, H5T_pad_t *, H5T_pad_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_pad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_pad, "herr_t (hid_t, H5T_pad_t, H5T_pad_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_sign", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_sign, "H5T_sign_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_sign", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_sign, "herr_t (hid_t, H5T_sign_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_fields", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_fields, "herr_t (hid_t, size_t *, size_t *, size_t *, size_t *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_fields", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_fields, "herr_t (hid_t, size_t, size_t, size_t, size_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_ebias", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_ebias, "size_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_ebias", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_ebias, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_norm", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_norm, "H5T_norm_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_norm", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_norm, "herr_t (hid_t, H5T_norm_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_inpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_inpad, "H5T_pad_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_inpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_inpad, "herr_t (hid_t, H5T_pad_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_cset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_cset, "H5T_cset_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_cset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_cset, "herr_t (hid_t, H5T_cset_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_strpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_strpad, "H5T_str_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_strpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_strpad, "herr_t (hid_t, H5T_str_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tvlen_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tvlen_create, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tis_variable_str", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tis_variable_str, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_nmembers", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_nmembers, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_class, "enum H5T_class_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_name, "char *(hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_type, "hid_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_offset, "int (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_index", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_index, "int (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tinsert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tinsert, "herr_t (hid_t, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tpack", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tpack, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_create, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_insert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_insert, "herr_t (hid_t, char *, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_nameof", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_nameof, "herr_t (hid_t, void *, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_valueof", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_valueof, "herr_t (hid_t, char *, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_value, "herr_t (hid_t, unsigned int, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tarray_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tarray_create, "hid_t (hid_t, int, hsize_t *, int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_array_ndims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_array_ndims, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_array_dims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_array_dims, "int (hid_t, hsize_t *, int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_tag", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_tag, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_tag", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_tag, "char *(hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tdecode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tdecode, "hid_t (unsigned char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tencode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tencode, "herr_t (hid_t, unsigned char *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommit2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommit2, "herr_t (hid_t, char *, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tfind", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tfind, "H5T_conv_t (hid_t, hid_t, H5T_cdata_t **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tregister", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tregister, "herr_t (H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tunregister", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tunregister, "herr_t (H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Zfilter_avail", (void (**)(void))&__pyx_f_4h5py_4defs_H5Zfilter_avail, "htri_t (H5Z_filter_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Zget_filter_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Zget_filter_info, "herr_t (H5Z_filter_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Acreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Acreate, "hid_t (hid_t, char *, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_idx, "hid_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_name, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aread", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aread, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Awrite", (void (**)(void))&__pyx_f_4h5py_4defs_H5Awrite, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_num_attrs", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_num_attrs, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_name, "Py_ssize_t (hid_t, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_space", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_space, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_type, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aiterate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aiterate, "herr_t (hid_t, unsigned int *, H5A_operator_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete_by_name, "herr_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Acreate_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Acreate_by_name, "hid_t (hid_t, char *, char *, hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_by_name, "herr_t (hid_t, char *, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aexists_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aexists_by_name, "htri_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aexists", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aexists, "htri_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Arename", (void (**)(void))&__pyx_f_4h5py_4defs_H5Arename, "herr_t (hid_t, char *, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Arename_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Arename_by_name, "herr_t (hid_t, char *, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info, "herr_t (hid_t, H5A_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info_by_name, "herr_t (hid_t, char *, char *, H5A_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5A_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aiterate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aiterate2, "herr_t (hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5A_operator2_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_storage_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_storage_size, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSattach_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSattach_scale, "herr_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSdetach_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSdetach_scale, "herr_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSset_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSset_scale, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_num_scales", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_num_scales, "int (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSset_label", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSset_label, "herr_t (hid_t, unsigned int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_label", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_label, "Py_ssize_t (hid_t, unsigned int, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_scale_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_scale_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSis_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSis_scale, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSiterate_scales", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSiterate_scales, "herr_t (hid_t, unsigned int, int *, H5DS_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSis_attached", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSis_attached, "htri_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __pyx_t_2 = __Pyx_ImportModule("h5py._objects"); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_2, "pdefault", (void (**)(void))&__pyx_f_4h5py_8_objects_pdefault, "hid_t (struct __pyx_obj_4h5py_8_objects_ObjectID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_ImportFunction(__pyx_t_2, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_ImportFunction(__pyx_t_2, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_ImportFunction(__pyx_t_2, "check_numpy_read", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_read, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_ImportFunction(__pyx_t_2, "check_numpy_write", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_write, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_ImportFunction(__pyx_t_2, "convert_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_convert_tuple, "int (PyObject *, hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_ImportFunction(__pyx_t_2, "convert_dims", (void (**)(void))&__pyx_f_4h5py_5utils_convert_dims, "PyObject *(hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_ImportFunction(__pyx_t_2, "require_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_require_tuple, "int (PyObject *, int, int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __pyx_t_3 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "check_numpy_read", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_read, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "check_numpy_write", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_write, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "convert_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_convert_tuple, "int (PyObject *, hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "convert_dims", (void (**)(void))&__pyx_f_4h5py_5utils_convert_dims, "PyObject *(hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "require_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_require_tuple, "int (PyObject *, int, int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "create_numpy_hsize", (void (**)(void))&__pyx_f_4h5py_5utils_create_numpy_hsize, "PyObject *(int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "create_hsize_array", (void (**)(void))&__pyx_f_4h5py_5utils_create_hsize_array, "PyObject *(PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = __Pyx_ImportModule("h5py.h5t"); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_ImportFunction(__pyx_t_3, "py_create", (void (**)(void))&__pyx_f_4h5py_3h5t_py_create, "struct __pyx_obj_4h5py_3h5t_TypeID *(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_3); __pyx_t_3 = 0; -- __pyx_t_4 = __Pyx_ImportModule("h5py.h5t"); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_4, "typewrap", (void (**)(void))&__pyx_f_4h5py_3h5t_typewrap, "struct __pyx_obj_4h5py_3h5t_TypeID *(hid_t, int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_4, "py_create", (void (**)(void))&__pyx_f_4h5py_3h5t_py_create, "struct __pyx_obj_4h5py_3h5t_TypeID *(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- Py_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /*--- Execution code ---*/ - - /* "h5py/h5p.pyx":24 - * from h5t cimport TypeID, py_create - * -- * import _objects # <<<<<<<<<<<<<< -+ * from h5py import _objects # <<<<<<<<<<<<<< - * - * # Initialization - */ -- __pyx_t_5 = __Pyx_Import(((PyObject *)__pyx_n_s___objects), 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s___objects)); -+ PyList_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_n_s___objects)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s___objects)); -+ __pyx_t_5 = __Pyx_Import(((PyObject *)__pyx_n_s__h5py), ((PyObject *)__pyx_t_4), -1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s___objects, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; -+ __pyx_t_4 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s___objects); -+ if (__pyx_t_4 == NULL) { -+ if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s___objects); -+ if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s___objects, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "h5py/h5p.pyx":27 -@@ -9819,7 +10411,7 @@ PyMODINIT_FUNC PyInit_h5p(void) - * """(PropClassID cls) => PropID - * - */ -- __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5p_create, NULL, __pyx_n_s_8); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5p_1create, NULL, __pyx_n_s_11); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - if (PyObject_SetAttr(__pyx_m, __pyx_n_s__create, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -@@ -9841,7 +10433,7 @@ PyMODINIT_FUNC PyInit_h5p(void) - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - if (__pyx_m) { -- __Pyx_AddTraceback("init h5py.h5p"); -+ __Pyx_AddTraceback("init h5py.h5p", __pyx_clineno, __pyx_lineno, __pyx_filename); - Py_DECREF(__pyx_m); __pyx_m = 0; - } else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_ImportError, "init h5py.h5p"); -@@ -9856,19 +10448,41 @@ PyMODINIT_FUNC PyInit_h5p(void) - } - - /* Runtime support code */ -+#if CYTHON_REFNANNY -+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { -+ PyObject *m = NULL, *p = NULL; -+ void *r = NULL; -+ m = PyImport_ImportModule((char *)modname); -+ if (!m) goto end; -+ p = PyObject_GetAttrString(m, (char *)"RefNannyAPI"); -+ if (!p) goto end; -+ r = PyLong_AsVoidPtr(p); -+end: -+ Py_XDECREF(p); -+ Py_XDECREF(m); -+ return (__Pyx_RefNannyAPIStruct *)r; -+} -+#endif /* CYTHON_REFNANNY */ - - static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) { - PyObject *result; - result = PyObject_GetAttr(dict, name); -- if (!result) -- PyErr_SetObject(PyExc_NameError, name); -+ if (!result) { -+ if (dict != __pyx_b) { -+ PyErr_Clear(); -+ result = PyObject_GetAttr(__pyx_b, name); -+ } -+ if (!result) { -+ PyErr_SetObject(PyExc_NameError, name); -+ } -+ } - return result; - } - - static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); -- - tmp_type = tstate->curexc_type; - tmp_value = tstate->curexc_value; - tmp_tb = tstate->curexc_traceback; -@@ -9878,54 +10492,60 @@ static CYTHON_INLINE void __Pyx_ErrResto - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -+#else -+ PyErr_Restore(type, value, tb); -+#endif - } -- - static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyThreadState *tstate = PyThreadState_GET(); - *type = tstate->curexc_type; - *value = tstate->curexc_value; - *tb = tstate->curexc_traceback; -- - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -+#else -+ PyErr_Fetch(type, value, tb); -+#endif - } - -- - #if PY_MAJOR_VERSION < 3 --static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { -+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, -+ CYTHON_UNUSED PyObject *cause) { - Py_XINCREF(type); -- Py_XINCREF(value); -- Py_XINCREF(tb); -- /* First, check the traceback argument, replacing None with NULL. */ -- if (tb == Py_None) { -- Py_DECREF(tb); -- tb = 0; -- } -- else if (tb != NULL && !PyTraceBack_Check(tb)) { -- PyErr_SetString(PyExc_TypeError, -- "raise: arg 3 must be a traceback or None"); -- goto raise_error; -- } -- /* Next, replace a missing value with None */ -- if (value == NULL) { -- value = Py_None; -+ if (!value || value == Py_None) -+ value = NULL; -+ else - Py_INCREF(value); -+ if (!tb || tb == Py_None) -+ tb = NULL; -+ else { -+ Py_INCREF(tb); -+ if (!PyTraceBack_Check(tb)) { -+ PyErr_SetString(PyExc_TypeError, -+ "raise: arg 3 must be a traceback or None"); -+ goto raise_error; -+ } - } - #if PY_VERSION_HEX < 0x02050000 -- if (!PyClass_Check(type)) -+ if (PyClass_Check(type)) { - #else -- if (!PyType_Check(type)) -+ if (PyType_Check(type)) { - #endif -- { -- /* Raising an instance. The value should be a dummy. */ -- if (value != Py_None) { -+#if CYTHON_COMPILING_IN_PYPY -+ if (!value) { -+ Py_INCREF(Py_None); -+ value = Py_None; -+ } -+#endif -+ PyErr_NormalizeException(&type, &value, &tb); -+ } else { -+ if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto raise_error; - } -- /* Normalize to raise , */ -- Py_DECREF(value); - value = type; - #if PY_VERSION_HEX < 0x02050000 - if (PyInstance_Check(type)) { -@@ -9948,7 +10568,6 @@ static void __Pyx_Raise(PyObject *type, - } - #endif - } -- - __Pyx_ErrRestore(type, value, tb); - return; - raise_error: -@@ -9957,10 +10576,9 @@ raise_error: - Py_XDECREF(tb); - return; - } -- - #else /* Python 3+ */ -- --static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { -+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { -+ PyObject* owned_instance = NULL; - if (tb == Py_None) { - tb = 0; - } else if (tb && !PyTraceBack_Check(tb)) { -@@ -9970,7 +10588,6 @@ static void __Pyx_Raise(PyObject *type, - } - if (value == Py_None) - value = 0; -- - if (PyExceptionInstance_Check(type)) { - if (value) { - PyErr_SetString(PyExc_TypeError, -@@ -9979,14 +10596,55 @@ static void __Pyx_Raise(PyObject *type, - } - value = type; - type = (PyObject*) Py_TYPE(value); -- } else if (!PyExceptionClass_Check(type)) { -+ } else if (PyExceptionClass_Check(type)) { -+ PyObject *args; -+ if (!value) -+ args = PyTuple_New(0); -+ else if (PyTuple_Check(value)) { -+ Py_INCREF(value); -+ args = value; -+ } -+ else -+ args = PyTuple_Pack(1, value); -+ if (!args) -+ goto bad; -+ owned_instance = PyEval_CallObject(type, args); -+ Py_DECREF(args); -+ if (!owned_instance) -+ goto bad; -+ value = owned_instance; -+ if (!PyExceptionInstance_Check(value)) { -+ PyErr_Format(PyExc_TypeError, -+ "calling %R should have returned an instance of " -+ "BaseException, not %R", -+ type, Py_TYPE(value)); -+ goto bad; -+ } -+ } else { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto bad; - } -- -+ if (cause && cause != Py_None) { -+ PyObject *fixed_cause; -+ if (PyExceptionClass_Check(cause)) { -+ fixed_cause = PyObject_CallObject(cause, NULL); -+ if (fixed_cause == NULL) -+ goto bad; -+ } -+ else if (PyExceptionInstance_Check(cause)) { -+ fixed_cause = cause; -+ Py_INCREF(fixed_cause); -+ } -+ else { -+ PyErr_SetString(PyExc_TypeError, -+ "exception causes must derive from " -+ "BaseException"); -+ goto bad; -+ } -+ PyException_SetCause(value, fixed_cause); -+ } - PyErr_SetObject(type, value); -- - if (tb) { - PyThreadState *tstate = PyThreadState_GET(); - PyObject* tmp_tb = tstate->curexc_traceback; -@@ -9996,8 +10654,8 @@ static void __Pyx_Raise(PyObject *type, - Py_XDECREF(tmp_tb); - } - } -- - bad: -+ Py_XDECREF(owned_instance); - return; - } - #endif -@@ -10034,9 +10692,9 @@ static int __Pyx_ArgTypeTest(PyObject *o - return 0; - } - -- - static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) { - PyObject *local_type, *local_value, *local_tb; -+#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); - local_type = tstate->curexc_type; -@@ -10045,19 +10703,27 @@ static int __Pyx_GetException(PyObject * - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -+#else -+ PyErr_Fetch(&local_type, &local_value, &local_tb); -+#endif - PyErr_NormalizeException(&local_type, &local_value, &local_tb); -+#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(tstate->curexc_type)) -+#else -+ if (unlikely(PyErr_Occurred())) -+#endif - goto bad; - #if PY_MAJOR_VERSION >= 3 - if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) - goto bad; - #endif -- *type = local_type; -- *value = local_value; -- *tb = local_tb; - Py_INCREF(local_type); - Py_INCREF(local_value); - Py_INCREF(local_tb); -+ *type = local_type; -+ *value = local_value; -+ *tb = local_tb; -+#if CYTHON_COMPILING_IN_CPYTHON - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; -@@ -10065,10 +10731,13 @@ static int __Pyx_GetException(PyObject * - tstate->exc_value = local_value; - tstate->exc_traceback = local_tb; - /* Make sure tstate is in a consistent state when we XDECREF -- these objects (XDECREF may run arbitrary code). */ -+ these objects (DECREF may run arbitrary code). */ - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -+#else -+ PyErr_SetExcInfo(local_type, local_value, local_tb); -+#endif - return 0; - bad: - *type = 0; -@@ -10080,7 +10749,6 @@ bad: - return -1; - } - -- - static void __Pyx_RaiseArgtupleInvalid( - const char* func_name, - int exact, -@@ -10089,8 +10757,7 @@ static void __Pyx_RaiseArgtupleInvalid( - Py_ssize_t num_found) - { - Py_ssize_t num_expected; -- const char *number, *more_or_less; -- -+ const char *more_or_less; - if (num_found < num_min) { - num_expected = num_min; - more_or_less = "at least"; -@@ -10101,14 +10768,10 @@ static void __Pyx_RaiseArgtupleInvalid( - if (exact) { - more_or_less = "exactly"; - } -- number = (num_expected == 1) ? "" : "s"; - PyErr_Format(PyExc_TypeError, -- #if PY_VERSION_HEX < 0x02050000 -- "%s() takes %s %d positional argument%s (%d given)", -- #else -- "%s() takes %s %zd positional argument%s (%zd given)", -- #endif -- func_name, more_or_less, num_expected, number, num_found); -+ "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)", -+ func_name, more_or_less, num_expected, -+ (num_expected == 1) ? "" : "s", num_found); - } - - static void __Pyx_RaiseDoubleKeywordsError( -@@ -10120,7 +10783,7 @@ static void __Pyx_RaiseDoubleKeywordsErr - "%s() got multiple values for keyword argument '%U'", func_name, kw_name); - #else - "%s() got multiple values for keyword argument '%s'", func_name, -- PyString_AS_STRING(kw_name)); -+ PyString_AsString(kw_name)); - #endif - } - -@@ -10136,55 +10799,77 @@ static int __Pyx_ParseOptionalKeywords( - Py_ssize_t pos = 0; - PyObject*** name; - PyObject*** first_kw_arg = argnames + num_pos_args; -- - while (PyDict_Next(kwds, &pos, &key, &value)) { - name = first_kw_arg; - while (*name && (**name != key)) name++; - if (*name) { - values[name-argnames] = value; -- } else { -- #if PY_MAJOR_VERSION < 3 -- if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key))) { -- #else -- if (unlikely(!PyUnicode_CheckExact(key)) && unlikely(!PyUnicode_Check(key))) { -- #endif -- goto invalid_keyword_type; -- } else { -- for (name = first_kw_arg; *name; name++) { -- #if PY_MAJOR_VERSION >= 3 -- if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) && -- PyUnicode_Compare(**name, key) == 0) break; -- #else -- if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) && -- _PyString_Eq(**name, key)) break; -- #endif -- } -- if (*name) { -+ continue; -+ } -+ name = first_kw_arg; -+ #if PY_MAJOR_VERSION < 3 -+ if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) { -+ while (*name) { -+ if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) -+ && _PyString_Eq(**name, key)) { - values[name-argnames] = value; -- } else { -- /* unexpected keyword found */ -- for (name=argnames; name != first_kw_arg; name++) { -- if (**name == key) goto arg_passed_twice; -- #if PY_MAJOR_VERSION >= 3 -- if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) && -- PyUnicode_Compare(**name, key) == 0) goto arg_passed_twice; -- #else -- if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) && -- _PyString_Eq(**name, key)) goto arg_passed_twice; -- #endif -- } -- if (kwds2) { -- if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; -- } else { -- goto invalid_keyword; -+ break; -+ } -+ name++; -+ } -+ if (*name) continue; -+ else { -+ PyObject*** argname = argnames; -+ while (argname != first_kw_arg) { -+ if ((**argname == key) || ( -+ (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) -+ && _PyString_Eq(**argname, key))) { -+ goto arg_passed_twice; - } -+ argname++; - } - } -+ } else -+ #endif -+ if (likely(PyUnicode_Check(key))) { -+ while (*name) { -+ int cmp = (**name == key) ? 0 : -+ #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 -+ (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : -+ #endif -+ PyUnicode_Compare(**name, key); -+ if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; -+ if (cmp == 0) { -+ values[name-argnames] = value; -+ break; -+ } -+ name++; -+ } -+ if (*name) continue; -+ else { -+ PyObject*** argname = argnames; -+ while (argname != first_kw_arg) { -+ int cmp = (**argname == key) ? 0 : -+ #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 -+ (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : -+ #endif -+ PyUnicode_Compare(**argname, key); -+ if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; -+ if (cmp == 0) goto arg_passed_twice; -+ argname++; -+ } -+ } -+ } else -+ goto invalid_keyword_type; -+ if (kwds2) { -+ if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; -+ } else { -+ goto invalid_keyword; - } - } - return 0; - arg_passed_twice: -- __Pyx_RaiseDoubleKeywordsError(function_name, **name); -+ __Pyx_RaiseDoubleKeywordsError(function_name, key); - goto bad; - invalid_keyword_type: - PyErr_Format(PyExc_TypeError, -@@ -10203,7 +10888,6 @@ bad: - return -1; - } - -- - static CYTHON_INLINE int __Pyx_CheckKeywordStrings( - PyObject *kwdict, - const char* function_name, -@@ -10211,13 +10895,17 @@ static CYTHON_INLINE int __Pyx_CheckKeyw - { - PyObject* key = 0; - Py_ssize_t pos = 0; -+#if CPYTHON_COMPILING_IN_PYPY -+ if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0)) -+ goto invalid_keyword; -+ return 1; -+#else - while (PyDict_Next(kwdict, &pos, &key, 0)) { - #if PY_MAJOR_VERSION < 3 - if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key))) -- #else -- if (unlikely(!PyUnicode_CheckExact(key)) && unlikely(!PyUnicode_Check(key))) - #endif -- goto invalid_keyword_type; -+ if (unlikely(!PyUnicode_Check(key))) -+ goto invalid_keyword_type; - } - if ((!kw_allowed) && unlikely(key)) - goto invalid_keyword; -@@ -10226,6 +10914,7 @@ invalid_keyword_type: - PyErr_Format(PyExc_TypeError, - "%s() keywords must be strings", function_name); - return 0; -+#endif - invalid_keyword: - PyErr_Format(PyExc_TypeError, - #if PY_MAJOR_VERSION < 3 -@@ -10238,7 +10927,33 @@ invalid_keyword: - return 0; - } - -+static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc) { -+ PyTypeObject* type = Py_TYPE(obj); -+ while (type && type->tp_dealloc != current_tp_dealloc) -+ type = type->tp_base; -+ if (type && type->tp_base) -+ type->tp_base->tp_dealloc(obj); -+} -+ -+static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse) { -+ PyTypeObject* type = Py_TYPE(obj); -+ while (type && type->tp_traverse != current_tp_traverse) -+ type = type->tp_base; -+ if (type && type->tp_base && type->tp_base->tp_traverse) -+ return type->tp_base->tp_traverse(obj, v, a); -+ return 0; -+} -+ -+static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) { -+ PyTypeObject* type = Py_TYPE(obj); -+ while (type && type->tp_clear != current_tp_clear) -+ type = type->tp_base; -+ if (type && type->tp_base && type->tp_base->tp_clear) -+ type->tp_base->tp_clear(obj); -+} -+ - static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyThreadState *tstate = PyThreadState_GET(); - *type = tstate->exc_type; - *value = tstate->exc_value; -@@ -10246,9 +10961,12 @@ static CYTHON_INLINE void __Pyx_Exceptio - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); -+#else -+ PyErr_GetExcInfo(type, value, tb); -+#endif - } -- - static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); - tmp_type = tstate->exc_type; -@@ -10260,9 +10978,12 @@ static void __Pyx_ExceptionReset(PyObjec - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -+#else -+ PyErr_SetExcInfo(type, value, tb); -+#endif - } - --static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) { -+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level) { - PyObject *py_import = 0; - PyObject *empty_list = 0; - PyObject *module = 0; -@@ -10280,19 +11001,178 @@ static PyObject *__Pyx_Import(PyObject * - goto bad; - list = empty_list; - } -- global_dict = PyModule_GetDict(__pyx_m); -- if (!global_dict) -- goto bad; -- empty_dict = PyDict_New(); -- if (!empty_dict) -- goto bad; -- module = PyObject_CallFunctionObjArgs(py_import, -- name, global_dict, empty_dict, list, NULL); --bad: -- Py_XDECREF(empty_list); -- Py_XDECREF(py_import); -- Py_XDECREF(empty_dict); -- return module; -+ global_dict = PyModule_GetDict(__pyx_m); -+ if (!global_dict) -+ goto bad; -+ empty_dict = PyDict_New(); -+ if (!empty_dict) -+ goto bad; -+ #if PY_VERSION_HEX >= 0x02050000 -+ { -+ #if PY_MAJOR_VERSION >= 3 -+ if (level == -1) { -+ if (strchr(__Pyx_MODULE_NAME, '.')) { -+ /* try package relative import first */ -+ PyObject *py_level = PyInt_FromLong(1); -+ if (!py_level) -+ goto bad; -+ module = PyObject_CallFunctionObjArgs(py_import, -+ name, global_dict, empty_dict, list, py_level, NULL); -+ Py_DECREF(py_level); -+ if (!module) { -+ if (!PyErr_ExceptionMatches(PyExc_ImportError)) -+ goto bad; -+ PyErr_Clear(); -+ } -+ } -+ level = 0; /* try absolute import on failure */ -+ } -+ #endif -+ if (!module) { -+ PyObject *py_level = PyInt_FromLong(level); -+ if (!py_level) -+ goto bad; -+ module = PyObject_CallFunctionObjArgs(py_import, -+ name, global_dict, empty_dict, list, py_level, NULL); -+ Py_DECREF(py_level); -+ } -+ } -+ #else -+ if (level>0) { -+ PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4."); -+ goto bad; -+ } -+ module = PyObject_CallFunctionObjArgs(py_import, -+ name, global_dict, empty_dict, list, NULL); -+ #endif -+bad: -+ Py_XDECREF(empty_list); -+ Py_XDECREF(py_import); -+ Py_XDECREF(empty_dict); -+ return module; -+} -+ -+static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name) { -+#if PY_MAJOR_VERSION < 3 -+ PyErr_Format(PyExc_ImportError, "cannot import name %.230s", -+ PyString_AsString(name)); -+#else -+ PyErr_Format(PyExc_ImportError, "cannot import name %S", name); -+#endif -+} -+ -+static CYTHON_INLINE hsize_t __Pyx_PyInt_from_py_hsize_t(PyObject* x) { -+ const hsize_t neg_one = (hsize_t)-1, const_zero = (hsize_t)0; -+ const int is_unsigned = const_zero < neg_one; -+ if (sizeof(hsize_t) == sizeof(char)) { -+ if (is_unsigned) -+ return (hsize_t)__Pyx_PyInt_AsUnsignedChar(x); -+ else -+ return (hsize_t)__Pyx_PyInt_AsSignedChar(x); -+ } else if (sizeof(hsize_t) == sizeof(short)) { -+ if (is_unsigned) -+ return (hsize_t)__Pyx_PyInt_AsUnsignedShort(x); -+ else -+ return (hsize_t)__Pyx_PyInt_AsSignedShort(x); -+ } else if (sizeof(hsize_t) == sizeof(int)) { -+ if (is_unsigned) -+ return (hsize_t)__Pyx_PyInt_AsUnsignedInt(x); -+ else -+ return (hsize_t)__Pyx_PyInt_AsSignedInt(x); -+ } else if (sizeof(hsize_t) == sizeof(long)) { -+ if (is_unsigned) -+ return (hsize_t)__Pyx_PyInt_AsUnsignedLong(x); -+ else -+ return (hsize_t)__Pyx_PyInt_AsSignedLong(x); -+ } else if (sizeof(hsize_t) == sizeof(PY_LONG_LONG)) { -+ if (is_unsigned) -+ return (hsize_t)__Pyx_PyInt_AsUnsignedLongLong(x); -+ else -+ return (hsize_t)__Pyx_PyInt_AsSignedLongLong(x); -+ } else { -+ #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) -+ PyErr_SetString(PyExc_RuntimeError, -+ "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -+ #else -+ hsize_t val; -+ PyObject *v = __Pyx_PyNumber_Int(x); -+ #if PY_VERSION_HEX < 0x03000000 -+ if (likely(v) && !PyLong_Check(v)) { -+ PyObject *tmp = v; -+ v = PyNumber_Long(tmp); -+ Py_DECREF(tmp); -+ } -+ #endif -+ if (likely(v)) { -+ int one = 1; int is_little = (int)*(unsigned char *)&one; -+ unsigned char *bytes = (unsigned char *)&val; -+ int ret = _PyLong_AsByteArray((PyLongObject *)v, -+ bytes, sizeof(val), -+ is_little, !is_unsigned); -+ Py_DECREF(v); -+ if (likely(!ret)) -+ return val; -+ } -+ #endif -+ return (hsize_t)-1; -+ } -+} -+ -+static CYTHON_INLINE hbool_t __Pyx_PyInt_from_py_hbool_t(PyObject* x) { -+ const hbool_t neg_one = (hbool_t)-1, const_zero = (hbool_t)0; -+ const int is_unsigned = const_zero < neg_one; -+ if (sizeof(hbool_t) == sizeof(char)) { -+ if (is_unsigned) -+ return (hbool_t)__Pyx_PyInt_AsUnsignedChar(x); -+ else -+ return (hbool_t)__Pyx_PyInt_AsSignedChar(x); -+ } else if (sizeof(hbool_t) == sizeof(short)) { -+ if (is_unsigned) -+ return (hbool_t)__Pyx_PyInt_AsUnsignedShort(x); -+ else -+ return (hbool_t)__Pyx_PyInt_AsSignedShort(x); -+ } else if (sizeof(hbool_t) == sizeof(int)) { -+ if (is_unsigned) -+ return (hbool_t)__Pyx_PyInt_AsUnsignedInt(x); -+ else -+ return (hbool_t)__Pyx_PyInt_AsSignedInt(x); -+ } else if (sizeof(hbool_t) == sizeof(long)) { -+ if (is_unsigned) -+ return (hbool_t)__Pyx_PyInt_AsUnsignedLong(x); -+ else -+ return (hbool_t)__Pyx_PyInt_AsSignedLong(x); -+ } else if (sizeof(hbool_t) == sizeof(PY_LONG_LONG)) { -+ if (is_unsigned) -+ return (hbool_t)__Pyx_PyInt_AsUnsignedLongLong(x); -+ else -+ return (hbool_t)__Pyx_PyInt_AsSignedLongLong(x); -+ } else { -+ #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) -+ PyErr_SetString(PyExc_RuntimeError, -+ "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -+ #else -+ hbool_t val; -+ PyObject *v = __Pyx_PyNumber_Int(x); -+ #if PY_VERSION_HEX < 0x03000000 -+ if (likely(v) && !PyLong_Check(v)) { -+ PyObject *tmp = v; -+ v = PyNumber_Long(tmp); -+ Py_DECREF(tmp); -+ } -+ #endif -+ if (likely(v)) { -+ int one = 1; int is_little = (int)*(unsigned char *)&one; -+ unsigned char *bytes = (unsigned char *)&val; -+ int ret = _PyLong_AsByteArray((PyLongObject *)v, -+ bytes, sizeof(val), -+ is_little, !is_unsigned); -+ Py_DECREF(v); -+ if (likely(!ret)) -+ return val; -+ } -+ #endif -+ return (hbool_t)-1; -+ } - } - - static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) { -@@ -10315,7 +11195,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyI - } else { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; -- return _PyLong_FromByteArray(bytes, sizeof(hid_t), -+ return _PyLong_FromByteArray(bytes, sizeof(hid_t), - little, !is_unsigned); - } - } -@@ -10340,7 +11220,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyI - } else { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; -- return _PyLong_FromByteArray(bytes, sizeof(hsize_t), -+ return _PyLong_FromByteArray(bytes, sizeof(hsize_t), - little, !is_unsigned); - } - } -@@ -10556,9 +11436,9 @@ static CYTHON_INLINE unsigned long __Pyx - "can't convert negative value to unsigned long"); - return (unsigned long)-1; - } -- return PyLong_AsUnsignedLong(x); -+ return (unsigned long)PyLong_AsUnsignedLong(x); - } else { -- return PyLong_AsLong(x); -+ return (unsigned long)PyLong_AsLong(x); - } - } else { - unsigned long val; -@@ -10591,9 +11471,9 @@ static CYTHON_INLINE unsigned PY_LONG_LO - "can't convert negative value to unsigned PY_LONG_LONG"); - return (unsigned PY_LONG_LONG)-1; - } -- return PyLong_AsUnsignedLongLong(x); -+ return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); - } else { -- return PyLong_AsLongLong(x); -+ return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x); - } - } else { - unsigned PY_LONG_LONG val; -@@ -10626,9 +11506,9 @@ static CYTHON_INLINE long __Pyx_PyInt_As - "can't convert negative value to long"); - return (long)-1; - } -- return PyLong_AsUnsignedLong(x); -+ return (long)PyLong_AsUnsignedLong(x); - } else { -- return PyLong_AsLong(x); -+ return (long)PyLong_AsLong(x); - } - } else { - long val; -@@ -10661,9 +11541,9 @@ static CYTHON_INLINE PY_LONG_LONG __Pyx_ - "can't convert negative value to PY_LONG_LONG"); - return (PY_LONG_LONG)-1; - } -- return PyLong_AsUnsignedLongLong(x); -+ return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); - } else { -- return PyLong_AsLongLong(x); -+ return (PY_LONG_LONG)PyLong_AsLongLong(x); - } - } else { - PY_LONG_LONG val; -@@ -10696,9 +11576,9 @@ static CYTHON_INLINE signed long __Pyx_P - "can't convert negative value to signed long"); - return (signed long)-1; - } -- return PyLong_AsUnsignedLong(x); -+ return (signed long)PyLong_AsUnsignedLong(x); - } else { -- return PyLong_AsLong(x); -+ return (signed long)PyLong_AsLong(x); - } - } else { - signed long val; -@@ -10731,9 +11611,9 @@ static CYTHON_INLINE signed PY_LONG_LONG - "can't convert negative value to signed PY_LONG_LONG"); - return (signed PY_LONG_LONG)-1; - } -- return PyLong_AsUnsignedLongLong(x); -+ return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); - } else { -- return PyLong_AsLongLong(x); -+ return (signed PY_LONG_LONG)PyLong_AsLongLong(x); - } - } else { - signed PY_LONG_LONG val; -@@ -10745,108 +11625,23 @@ static CYTHON_INLINE signed PY_LONG_LONG - } - } - --static CYTHON_INLINE hsize_t __Pyx_PyInt_from_py_hsize_t(PyObject* x) { -- const hsize_t neg_one = (hsize_t)-1, const_zero = (hsize_t)0; -- const int is_unsigned = const_zero < neg_one; -- if (sizeof(hsize_t) == sizeof(char)) { -- if (is_unsigned) -- return (hsize_t)__Pyx_PyInt_AsUnsignedChar(x); -- else -- return (hsize_t)__Pyx_PyInt_AsSignedChar(x); -- } else if (sizeof(hsize_t) == sizeof(short)) { -- if (is_unsigned) -- return (hsize_t)__Pyx_PyInt_AsUnsignedShort(x); -- else -- return (hsize_t)__Pyx_PyInt_AsSignedShort(x); -- } else if (sizeof(hsize_t) == sizeof(int)) { -- if (is_unsigned) -- return (hsize_t)__Pyx_PyInt_AsUnsignedInt(x); -- else -- return (hsize_t)__Pyx_PyInt_AsSignedInt(x); -- } else if (sizeof(hsize_t) == sizeof(long)) { -- if (is_unsigned) -- return (hsize_t)__Pyx_PyInt_AsUnsignedLong(x); -- else -- return (hsize_t)__Pyx_PyInt_AsSignedLong(x); -- } else if (sizeof(hsize_t) == sizeof(PY_LONG_LONG)) { -- if (is_unsigned) -- return (hsize_t)__Pyx_PyInt_AsUnsignedLongLong(x); -- else -- return (hsize_t)__Pyx_PyInt_AsSignedLongLong(x); -- } else { -- hsize_t val; -- PyObject *v = __Pyx_PyNumber_Int(x); -- #if PY_VERSION_HEX < 0x03000000 -- if (likely(v) && !PyLong_Check(v)) { -- PyObject *tmp = v; -- v = PyNumber_Long(tmp); -- Py_DECREF(tmp); -- } -- #endif -- if (likely(v)) { -- int one = 1; int is_little = (int)*(unsigned char *)&one; -- unsigned char *bytes = (unsigned char *)&val; -- int ret = _PyLong_AsByteArray((PyLongObject *)v, -- bytes, sizeof(val), -- is_little, !is_unsigned); -- Py_DECREF(v); -- if (likely(!ret)) -- return val; -- } -- return (hsize_t)-1; -- } --} -- --static CYTHON_INLINE hbool_t __Pyx_PyInt_from_py_hbool_t(PyObject* x) { -- const hbool_t neg_one = (hbool_t)-1, const_zero = (hbool_t)0; -- const int is_unsigned = const_zero < neg_one; -- if (sizeof(hbool_t) == sizeof(char)) { -- if (is_unsigned) -- return (hbool_t)__Pyx_PyInt_AsUnsignedChar(x); -- else -- return (hbool_t)__Pyx_PyInt_AsSignedChar(x); -- } else if (sizeof(hbool_t) == sizeof(short)) { -- if (is_unsigned) -- return (hbool_t)__Pyx_PyInt_AsUnsignedShort(x); -- else -- return (hbool_t)__Pyx_PyInt_AsSignedShort(x); -- } else if (sizeof(hbool_t) == sizeof(int)) { -- if (is_unsigned) -- return (hbool_t)__Pyx_PyInt_AsUnsignedInt(x); -- else -- return (hbool_t)__Pyx_PyInt_AsSignedInt(x); -- } else if (sizeof(hbool_t) == sizeof(long)) { -- if (is_unsigned) -- return (hbool_t)__Pyx_PyInt_AsUnsignedLong(x); -- else -- return (hbool_t)__Pyx_PyInt_AsSignedLong(x); -- } else if (sizeof(hbool_t) == sizeof(PY_LONG_LONG)) { -- if (is_unsigned) -- return (hbool_t)__Pyx_PyInt_AsUnsignedLongLong(x); -- else -- return (hbool_t)__Pyx_PyInt_AsSignedLongLong(x); -- } else { -- hbool_t val; -- PyObject *v = __Pyx_PyNumber_Int(x); -- #if PY_VERSION_HEX < 0x03000000 -- if (likely(v) && !PyLong_Check(v)) { -- PyObject *tmp = v; -- v = PyNumber_Long(tmp); -- Py_DECREF(tmp); -- } -+static int __Pyx_check_binary_version(void) { -+ char ctversion[4], rtversion[4]; -+ PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION); -+ PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion()); -+ if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) { -+ char message[200]; -+ PyOS_snprintf(message, sizeof(message), -+ "compiletime version %s of module '%.100s' " -+ "does not match runtime version %s", -+ ctversion, __Pyx_MODULE_NAME, rtversion); -+ #if PY_VERSION_HEX < 0x02050000 -+ return PyErr_Warn(NULL, message); -+ #else -+ return PyErr_WarnEx(NULL, message, 1); - #endif -- if (likely(v)) { -- int one = 1; int is_little = (int)*(unsigned char *)&one; -- unsigned char *bytes = (unsigned char *)&val; -- int ret = _PyLong_AsByteArray((PyLongObject *)v, -- bytes, sizeof(val), -- is_little, !is_unsigned); -- Py_DECREF(v); -- if (likely(!ret)) -- return val; -- } -- return (hbool_t)-1; - } -+ return 0; - } - - static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig) { -@@ -10856,7 +11651,6 @@ static int __Pyx_ExportFunction(const ch - void (*fp)(void); - void *p; - } tmp; -- - d = PyObject_GetAttrString(__pyx_m, (char *)"__pyx_capi__"); - if (!d) { - PyErr_Clear(); -@@ -10886,24 +11680,36 @@ bad: - return -1; - } - -+#ifndef __PYX_HAVE_RT_ImportModule -+#define __PYX_HAVE_RT_ImportModule -+static PyObject *__Pyx_ImportModule(const char *name) { -+ PyObject *py_name = 0; -+ PyObject *py_module = 0; -+ py_name = __Pyx_PyIdentifier_FromString(name); -+ if (!py_name) -+ goto bad; -+ py_module = PyImport_Import(py_name); -+ Py_DECREF(py_name); -+ return py_module; -+bad: -+ Py_XDECREF(py_name); -+ return 0; -+} -+#endif -+ - #ifndef __PYX_HAVE_RT_ImportType - #define __PYX_HAVE_RT_ImportType - static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, -- long size, int strict) -+ size_t size, int strict) - { - PyObject *py_module = 0; - PyObject *result = 0; - PyObject *py_name = 0; - char warning[200]; -- - py_module = __Pyx_ImportModule(module_name); - if (!py_module) - goto bad; -- #if PY_MAJOR_VERSION < 3 -- py_name = PyString_FromString(class_name); -- #else -- py_name = PyUnicode_FromString(class_name); -- #endif -+ py_name = __Pyx_PyIdentifier_FromString(class_name); - if (!py_name) - goto bad; - result = PyObject_GetAttr(py_module, py_name); -@@ -10919,17 +11725,17 @@ static PyTypeObject *__Pyx_ImportType(co - module_name, class_name); - goto bad; - } -- if (!strict && ((PyTypeObject *)result)->tp_basicsize > size) { -+ if (!strict && (size_t)((PyTypeObject *)result)->tp_basicsize > size) { - PyOS_snprintf(warning, sizeof(warning), - "%s.%s size changed, may indicate binary incompatibility", - module_name, class_name); - #if PY_VERSION_HEX < 0x02050000 -- PyErr_Warn(NULL, warning); -+ if (PyErr_Warn(NULL, warning) < 0) goto bad; - #else -- PyErr_WarnEx(NULL, warning, 0); -+ if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; - #endif - } -- else if (((PyTypeObject *)result)->tp_basicsize != size) { -+ else if ((size_t)((PyTypeObject *)result)->tp_basicsize != size) { - PyErr_Format(PyExc_ValueError, - "%s.%s has the wrong size, try recompiling", - module_name, class_name); -@@ -10939,29 +11745,7 @@ static PyTypeObject *__Pyx_ImportType(co - bad: - Py_XDECREF(py_module); - Py_XDECREF(result); -- return 0; --} --#endif -- --#ifndef __PYX_HAVE_RT_ImportModule --#define __PYX_HAVE_RT_ImportModule --static PyObject *__Pyx_ImportModule(const char *name) { -- PyObject *py_name = 0; -- PyObject *py_module = 0; -- -- #if PY_MAJOR_VERSION < 3 -- py_name = PyString_FromString(name); -- #else -- py_name = PyUnicode_FromString(name); -- #endif -- if (!py_name) -- goto bad; -- py_module = PyImport_Import(py_name); -- Py_DECREF(py_name); -- return py_module; --bad: -- Py_XDECREF(py_name); -- return 0; -+ return NULL; - } - #endif - -@@ -10993,7 +11777,6 @@ static int __Pyx_ImportFunction(PyObject - void (*fp)(void); - void *p; - } tmp; -- - d = PyObject_GetAttrString(module, (char *)"__pyx_capi__"); - if (!d) - goto bad; -@@ -11004,7 +11787,7 @@ static int __Pyx_ImportFunction(PyObject - PyModule_GetName(module), funcname); - goto bad; - } --#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0) -+#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0) - if (!PyCapsule_IsValid(cobj, sig)) { - PyErr_Format(PyExc_TypeError, - "C function %s.%s has wrong signature (expected %s, got %s)", -@@ -11038,28 +11821,105 @@ bad: - } - #endif - -+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { -+ int start = 0, mid = 0, end = count - 1; -+ if (end >= 0 && code_line > entries[end].code_line) { -+ return count; -+ } -+ while (start < end) { -+ mid = (start + end) / 2; -+ if (code_line < entries[mid].code_line) { -+ end = mid; -+ } else if (code_line > entries[mid].code_line) { -+ start = mid + 1; -+ } else { -+ return mid; -+ } -+ } -+ if (code_line <= entries[mid].code_line) { -+ return mid; -+ } else { -+ return mid + 1; -+ } -+} -+static PyCodeObject *__pyx_find_code_object(int code_line) { -+ PyCodeObject* code_object; -+ int pos; -+ if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { -+ return NULL; -+ } -+ pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); -+ if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { -+ return NULL; -+ } -+ code_object = __pyx_code_cache.entries[pos].code_object; -+ Py_INCREF(code_object); -+ return code_object; -+} -+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { -+ int pos, i; -+ __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; -+ if (unlikely(!code_line)) { -+ return; -+ } -+ if (unlikely(!entries)) { -+ entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); -+ if (likely(entries)) { -+ __pyx_code_cache.entries = entries; -+ __pyx_code_cache.max_count = 64; -+ __pyx_code_cache.count = 1; -+ entries[0].code_line = code_line; -+ entries[0].code_object = code_object; -+ Py_INCREF(code_object); -+ } -+ return; -+ } -+ pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); -+ if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { -+ PyCodeObject* tmp = entries[pos].code_object; -+ entries[pos].code_object = code_object; -+ Py_DECREF(tmp); -+ return; -+ } -+ if (__pyx_code_cache.count == __pyx_code_cache.max_count) { -+ int new_max = __pyx_code_cache.max_count + 64; -+ entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( -+ __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry)); -+ if (unlikely(!entries)) { -+ return; -+ } -+ __pyx_code_cache.entries = entries; -+ __pyx_code_cache.max_count = new_max; -+ } -+ for (i=__pyx_code_cache.count; i>pos; i--) { -+ entries[i] = entries[i-1]; -+ } -+ entries[pos].code_line = code_line; -+ entries[pos].code_object = code_object; -+ __pyx_code_cache.count++; -+ Py_INCREF(code_object); -+} -+ - #include "compile.h" - #include "frameobject.h" - #include "traceback.h" -- --static void __Pyx_AddTraceback(const char *funcname) { -+static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( -+ const char *funcname, int c_line, -+ int py_line, const char *filename) { -+ PyCodeObject *py_code = 0; - PyObject *py_srcfile = 0; - PyObject *py_funcname = 0; -- PyObject *py_globals = 0; -- PyCodeObject *py_code = 0; -- PyFrameObject *py_frame = 0; -- - #if PY_MAJOR_VERSION < 3 -- py_srcfile = PyString_FromString(__pyx_filename); -+ py_srcfile = PyString_FromString(filename); - #else -- py_srcfile = PyUnicode_FromString(__pyx_filename); -+ py_srcfile = PyUnicode_FromString(filename); - #endif - if (!py_srcfile) goto bad; -- if (__pyx_clineno) { -+ if (c_line) { - #if PY_MAJOR_VERSION < 3 -- py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno); -+ py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - #else -- py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno); -+ py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - #endif - } - else { -@@ -11070,28 +11930,45 @@ static void __Pyx_AddTraceback(const cha - #endif - } - if (!py_funcname) goto bad; -- py_globals = PyModule_GetDict(__pyx_m); -- if (!py_globals) goto bad; -- py_code = PyCode_New( -+ py_code = __Pyx_PyCode_New( - 0, /*int argcount,*/ -- #if PY_MAJOR_VERSION >= 3 - 0, /*int kwonlyargcount,*/ -- #endif - 0, /*int nlocals,*/ - 0, /*int stacksize,*/ - 0, /*int flags,*/ - __pyx_empty_bytes, /*PyObject *code,*/ -- __pyx_empty_tuple, /*PyObject *consts,*/ -- __pyx_empty_tuple, /*PyObject *names,*/ -- __pyx_empty_tuple, /*PyObject *varnames,*/ -- __pyx_empty_tuple, /*PyObject *freevars,*/ -- __pyx_empty_tuple, /*PyObject *cellvars,*/ -+ __pyx_empty_tuple, /*PyObject *consts,*/ -+ __pyx_empty_tuple, /*PyObject *names,*/ -+ __pyx_empty_tuple, /*PyObject *varnames,*/ -+ __pyx_empty_tuple, /*PyObject *freevars,*/ -+ __pyx_empty_tuple, /*PyObject *cellvars,*/ - py_srcfile, /*PyObject *filename,*/ - py_funcname, /*PyObject *name,*/ -- __pyx_lineno, /*int firstlineno,*/ -+ py_line, /*int firstlineno,*/ - __pyx_empty_bytes /*PyObject *lnotab*/ - ); -- if (!py_code) goto bad; -+ Py_DECREF(py_srcfile); -+ Py_DECREF(py_funcname); -+ return py_code; -+bad: -+ Py_XDECREF(py_srcfile); -+ Py_XDECREF(py_funcname); -+ return NULL; -+} -+static void __Pyx_AddTraceback(const char *funcname, int c_line, -+ int py_line, const char *filename) { -+ PyCodeObject *py_code = 0; -+ PyObject *py_globals = 0; -+ PyFrameObject *py_frame = 0; -+ py_code = __pyx_find_code_object(c_line ? c_line : py_line); -+ if (!py_code) { -+ py_code = __Pyx_CreateCodeObjectForTraceback( -+ funcname, c_line, py_line, filename); -+ if (!py_code) goto bad; -+ __pyx_insert_code_object(c_line ? c_line : py_line, py_code); -+ } -+ py_globals = PyModule_GetDict(__pyx_m); -+ if (!py_globals) goto bad; - py_frame = PyFrame_New( - PyThreadState_GET(), /*PyThreadState *tstate,*/ - py_code, /*PyCodeObject *code,*/ -@@ -11099,11 +11976,9 @@ static void __Pyx_AddTraceback(const cha - 0 /*PyObject *locals*/ - ); - if (!py_frame) goto bad; -- py_frame->f_lineno = __pyx_lineno; -+ py_frame->f_lineno = py_line; - PyTraceBack_Here(py_frame); - bad: -- Py_XDECREF(py_srcfile); -- Py_XDECREF(py_funcname); - Py_XDECREF(py_code); - Py_XDECREF(py_frame); - } -@@ -11138,6 +12013,7 @@ static int __Pyx_InitStrings(__Pyx_Strin - return 0; - } - -+ - /* Type Conversion Functions */ - - static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { -diff -rupN h5py-2.1.0.orig/h5py/h5p.pyx h5py-2.1.0/h5py/h5p.pyx ---- h5py-2.1.0.orig/h5py/h5p.pyx 2012-09-20 03:04:52.000000000 +0200 -+++ h5py-2.1.0/h5py/h5p.pyx 2012-11-23 14:17:43.000000000 +0100 -@@ -21,7 +21,7 @@ from utils cimport require_tuple, conve - from numpy cimport ndarray, import_array - from h5t cimport TypeID, py_create - --import _objects -+from h5py import _objects - - # Initialization - import_array() -diff -rupN h5py-2.1.0.orig/h5py/h5s.c h5py-2.1.0/h5py/h5s.c ---- h5py-2.1.0.orig/h5py/h5s.c 2012-10-02 16:17:36.000000000 +0200 -+++ h5py-2.1.0/h5py/h5s.c 2012-11-23 14:17:42.000000000 +0100 -@@ -1,16 +1,16 @@ --/* Generated by Cython 0.14.1 on Tue Oct 2 08:17:36 2012 */ -+/* Generated by Cython 0.17.2 on Fri Nov 23 14:05:33 2012 */ - - #define PY_SSIZE_T_CLEAN - #include "Python.h" - #ifndef Py_PYTHON_H - #error Python headers needed to compile C extensions, please install development version of Python. -+#elif PY_VERSION_HEX < 0x02040000 -+ #error Cython requires Python 2.4+. - #else -- - #include /* For offsetof */ - #ifndef offsetof - #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) - #endif -- - #if !defined(WIN32) && !defined(MS_WINDOWS) - #ifndef __stdcall - #define __stdcall -@@ -22,36 +22,47 @@ - #define __fastcall - #endif - #endif -- - #ifndef DL_IMPORT - #define DL_IMPORT(t) t - #endif - #ifndef DL_EXPORT - #define DL_EXPORT(t) t - #endif -- - #ifndef PY_LONG_LONG - #define PY_LONG_LONG LONG_LONG - #endif -- --#if PY_VERSION_HEX < 0x02040000 -- #define METH_COEXIST 0 -- #define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type) -- #define PyDict_Contains(d,o) PySequence_Contains(d,o) -+#ifndef Py_HUGE_VAL -+ #define Py_HUGE_VAL HUGE_VAL -+#endif -+#ifdef PYPY_VERSION -+#define CYTHON_COMPILING_IN_PYPY 1 -+#define CYTHON_COMPILING_IN_CPYTHON 0 -+#else -+#define CYTHON_COMPILING_IN_PYPY 0 -+#define CYTHON_COMPILING_IN_CPYTHON 1 - #endif -- - #if PY_VERSION_HEX < 0x02050000 - typedef int Py_ssize_t; - #define PY_SSIZE_T_MAX INT_MAX - #define PY_SSIZE_T_MIN INT_MIN - #define PY_FORMAT_SIZE_T "" -+ #define CYTHON_FORMAT_SSIZE_T "" - #define PyInt_FromSsize_t(z) PyInt_FromLong(z) -- #define PyInt_AsSsize_t(o) PyInt_AsLong(o) -- #define PyNumber_Index(o) PyNumber_Int(o) -- #define PyIndex_Check(o) PyNumber_Check(o) -+ #define PyInt_AsSsize_t(o) __Pyx_PyInt_AsInt(o) -+ #define PyNumber_Index(o) ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \ -+ (PyErr_Format(PyExc_TypeError, \ -+ "expected index value, got %.200s", Py_TYPE(o)->tp_name), \ -+ (PyObject*)0)) -+ #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \ -+ !PyComplex_Check(o)) -+ #define PyIndex_Check __Pyx_PyIndex_Check - #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message) -+ #define __PYX_BUILD_PY_SSIZE_T "i" -+#else -+ #define __PYX_BUILD_PY_SSIZE_T "n" -+ #define CYTHON_FORMAT_SSIZE_T "z" -+ #define __Pyx_PyIndex_Check PyIndex_Check - #endif -- - #if PY_VERSION_HEX < 0x02060000 - #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt) - #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type) -@@ -59,7 +70,6 @@ - #define PyVarObject_HEAD_INIT(type, size) \ - PyObject_HEAD_INIT(type) size, - #define PyType_Modified(t) -- - typedef struct { - void *buf; - PyObject *obj; -@@ -73,7 +83,6 @@ - Py_ssize_t *suboffsets; - void *internal; - } Py_buffer; -- - #define PyBUF_SIMPLE 0 - #define PyBUF_WRITABLE 0x0001 - #define PyBUF_FORMAT 0x0004 -@@ -83,24 +92,44 @@ - #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES) - #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES) - #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES) -- -+ #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE) -+ #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE) -+ typedef int (*getbufferproc)(PyObject *, Py_buffer *, int); -+ typedef void (*releasebufferproc)(PyObject *, Py_buffer *); - #endif -- - #if PY_MAJOR_VERSION < 3 - #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" -+ #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \ -+ PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) - #else - #define __Pyx_BUILTIN_MODULE_NAME "builtins" -+ #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \ -+ PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -+#endif -+#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6 -+ #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict") - #endif -- - #if PY_MAJOR_VERSION >= 3 - #define Py_TPFLAGS_CHECKTYPES 0 - #define Py_TPFLAGS_HAVE_INDEX 0 - #endif -- - #if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3) - #define Py_TPFLAGS_HAVE_NEWBUFFER 0 - #endif -- -+#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) -+ #define CYTHON_PEP393_ENABLED 1 -+ #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ? \ -+ 0 : _PyUnicode_Ready((PyObject *)(op))) -+ #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) -+ #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) -+ #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) -+#else -+ #define CYTHON_PEP393_ENABLED 0 -+ #define __Pyx_PyUnicode_READY(op) (0) -+ #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) -+ #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) -+ #define __Pyx_PyUnicode_READ(k, d, i) ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i])) -+#endif - #if PY_MAJOR_VERSION >= 3 - #define PyBaseString_Type PyUnicode_Type - #define PyStringObject PyUnicodeObject -@@ -108,7 +137,6 @@ - #define PyString_Check PyUnicode_Check - #define PyString_CheckExact PyUnicode_CheckExact - #endif -- - #if PY_VERSION_HEX < 0x02060000 - #define PyBytesObject PyStringObject - #define PyBytes_Type PyString_Type -@@ -127,7 +155,6 @@ - #define PyBytes_Concat PyString_Concat - #define PyBytes_ConcatAndDel PyString_ConcatAndDel - #endif -- - #if PY_VERSION_HEX < 0x02060000 - #define PySet_Check(obj) PyObject_TypeCheck(obj, &PySet_Type) - #define PyFrozenSet_Check(obj) PyObject_TypeCheck(obj, &PyFrozenSet_Type) -@@ -135,9 +162,7 @@ - #ifndef PySet_CheckExact - #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) - #endif -- - #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) -- - #if PY_MAJOR_VERSION >= 3 - #define PyIntObject PyLongObject - #define PyInt_Type PyLong_Type -@@ -154,20 +179,17 @@ - #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask - #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask - #endif -- - #if PY_MAJOR_VERSION >= 3 - #define PyBoolObject PyLongObject - #endif -- -- --#if PY_MAJOR_VERSION >= 3 -- #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) -- #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) -+#if PY_VERSION_HEX < 0x03020000 -+ typedef long Py_hash_t; -+ #define __Pyx_PyInt_FromHash_t PyInt_FromLong -+ #define __Pyx_PyInt_AsHash_t PyInt_AsLong - #else -- #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) -- #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -+ #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t -+ #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t - #endif -- - #if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300) - #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b) - #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value) -@@ -186,11 +208,9 @@ - (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \ - (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1))) - #endif -- - #if PY_MAJOR_VERSION >= 3 - #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func)) - #endif -- - #if PY_VERSION_HEX < 0x02050000 - #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),((char *)(n))) - #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a)) -@@ -200,7 +220,6 @@ - #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a)) - #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),(n)) - #endif -- - #if PY_VERSION_HEX < 0x02050000 - #define __Pyx_NAMESTR(n) ((char *)(n)) - #define __Pyx_DOCSTR(n) ((char *)(n)) -@@ -209,16 +228,28 @@ - #define __Pyx_DOCSTR(n) (n) - #endif - --#ifdef __cplusplus --#define __PYX_EXTERN_C extern "C" -+ -+#if PY_MAJOR_VERSION >= 3 -+ #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) -+ #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) - #else --#define __PYX_EXTERN_C extern -+ #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) -+ #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -+#endif -+ -+#ifndef __PYX_EXTERN_C -+ #ifdef __cplusplus -+ #define __PYX_EXTERN_C extern "C" -+ #else -+ #define __PYX_EXTERN_C extern -+ #endif - #endif - - #if defined(WIN32) || defined(MS_WINDOWS) - #define _USE_MATH_DEFINES - #endif - #include -+#define __PYX_HAVE__h5py__h5s - #define __PYX_HAVE_API__h5py__h5s - #include "stdlib.h" - #include "string.h" -@@ -230,6 +261,9 @@ - #include "hdf5.h" - #include "hdf5_hl.h" - #include "numpy/arrayobject.h" -+#ifdef _OPENMP -+#include -+#endif /* _OPENMP */ - - #ifdef PYREX_WITHOUT_ASSERTIONS - #define CYTHON_WITHOUT_ASSERTIONS -@@ -257,7 +291,7 @@ - # else - # define CYTHON_UNUSED - # endif --# elif defined(__ICC) || defined(__INTEL_COMPILER) -+# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) - # define CYTHON_UNUSED __attribute__ ((__unused__)) - # else - # define CYTHON_UNUSED -@@ -272,6 +306,7 @@ typedef struct {PyObject **p; char *s; c - #define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s) - #define __Pyx_PyBytes_AsUString(s) ((unsigned char*) PyBytes_AsString(s)) - -+#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None) - #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False)) - static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); - static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); -@@ -280,21 +315,25 @@ static CYTHON_INLINE Py_ssize_t __Pyx_Py - static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); - static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*); - -+#if CYTHON_COMPILING_IN_CPYTHON - #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) -- -+#else -+#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) -+#endif -+#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) - - #ifdef __GNUC__ --/* Test for GCC > 2.95 */ --#if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) --#define likely(x) __builtin_expect(!!(x), 1) --#define unlikely(x) __builtin_expect(!!(x), 0) --#else /* __GNUC__ > 2 ... */ --#define likely(x) (x) --#define unlikely(x) (x) --#endif /* __GNUC__ > 2 ... */ -+ /* Test for GCC > 2.95 */ -+ #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) -+ #define likely(x) __builtin_expect(!!(x), 1) -+ #define unlikely(x) __builtin_expect(!!(x), 0) -+ #else /* __GNUC__ > 2 ... */ -+ #define likely(x) (x) -+ #define unlikely(x) (x) -+ #endif /* __GNUC__ > 2 ... */ - #else /* __GNUC__ */ --#define likely(x) (x) --#define unlikely(x) (x) -+ #define likely(x) (x) -+ #define unlikely(x) (x) - #endif /* __GNUC__ */ - - static PyObject *__pyx_m; -@@ -312,7 +351,11 @@ static const char *__pyx_f[] = { - "numpy.pxd", - }; - --/* Type declarations */ -+/*--- Type declarations ---*/ -+struct __pyx_obj_4h5py_8_objects_ObjectID; -+struct __pyx_obj_4h5py_3h5s_SpaceID; -+struct __pyx_opt_args_4h5py_5utils_check_numpy_read; -+struct __pyx_opt_args_4h5py_5utils_check_numpy_write; - - /* "utils.pxd":20 - * cdef void efree(void* ptr) -@@ -321,7 +364,6 @@ static const char *__pyx_f[] = { - * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1 - * - */ -- - struct __pyx_opt_args_4h5py_5utils_check_numpy_read { - int __pyx_n; - hid_t space_id; -@@ -334,7 +376,6 @@ struct __pyx_opt_args_4h5py_5utils_check - * - * cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1 - */ -- - struct __pyx_opt_args_4h5py_5utils_check_numpy_write { - int __pyx_n; - hid_t space_id; -@@ -347,7 +388,6 @@ struct __pyx_opt_args_4h5py_5utils_check - * - * cdef object __weakref__ - */ -- - struct __pyx_obj_4h5py_8_objects_ObjectID { - PyObject_HEAD - PyObject *__weakref__; -@@ -356,6 +396,7 @@ struct __pyx_obj_4h5py_8_objects_ObjectI - PyObject *_hash; - }; - -+ - /* "h5py/h5s.pxd":17 - * from _objects cimport class ObjectID - * -@@ -363,7 +404,6 @@ struct __pyx_obj_4h5py_8_objects_ObjectI - * pass - * - */ -- - struct __pyx_obj_4h5py_3h5s_SpaceID { - struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base; - }; -@@ -371,7 +411,6 @@ struct __pyx_obj_4h5py_3h5s_SpaceID { - #ifndef CYTHON_REFNANNY - #define CYTHON_REFNANNY 0 - #endif -- - #if CYTHON_REFNANNY - typedef struct { - void (*INCREF)(void*, PyObject*, int); -@@ -382,46 +421,56 @@ struct __pyx_obj_4h5py_3h5s_SpaceID { - void (*FinishContext)(void**); - } __Pyx_RefNannyAPIStruct; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; -- static __Pyx_RefNannyAPIStruct * __Pyx_RefNannyImportAPI(const char *modname) { -- PyObject *m = NULL, *p = NULL; -- void *r = NULL; -- m = PyImport_ImportModule((char *)modname); -- if (!m) goto end; -- p = PyObject_GetAttrString(m, (char *)"RefNannyAPI"); -- if (!p) goto end; -- r = PyLong_AsVoidPtr(p); -- end: -- Py_XDECREF(p); -- Py_XDECREF(m); -- return (__Pyx_RefNannyAPIStruct *)r; -- } -- #define __Pyx_RefNannySetupContext(name) void *__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) -- #define __Pyx_RefNannyFinishContext() __Pyx_RefNanny->FinishContext(&__pyx_refnanny) -- #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -- #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -- #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -+ static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/ -+ #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; -+#ifdef WITH_THREAD -+ #define __Pyx_RefNannySetupContext(name, acquire_gil) \ -+ if (acquire_gil) { \ -+ PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \ -+ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \ -+ PyGILState_Release(__pyx_gilstate_save); \ -+ } else { \ -+ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \ -+ } -+#else -+ #define __Pyx_RefNannySetupContext(name, acquire_gil) \ -+ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) -+#endif -+ #define __Pyx_RefNannyFinishContext() \ -+ __Pyx_RefNanny->FinishContext(&__pyx_refnanny) -+ #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -+ #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -+ #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -- #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r);} } while(0) -+ #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) -+ #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) -+ #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) -+ #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) - #else -- #define __Pyx_RefNannySetupContext(name) -+ #define __Pyx_RefNannyDeclarations -+ #define __Pyx_RefNannySetupContext(name, acquire_gil) - #define __Pyx_RefNannyFinishContext() - #define __Pyx_INCREF(r) Py_INCREF(r) - #define __Pyx_DECREF(r) Py_DECREF(r) - #define __Pyx_GOTREF(r) - #define __Pyx_GIVEREF(r) -+ #define __Pyx_XINCREF(r) Py_XINCREF(r) - #define __Pyx_XDECREF(r) Py_XDECREF(r) -+ #define __Pyx_XGOTREF(r) -+ #define __Pyx_XGIVEREF(r) - #endif /* CYTHON_REFNANNY */ --#define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);} } while(0) --#define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r);} } while(0) -+#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) -+#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) - - static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/ - - static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/ - --static void __Pyx_RaiseDoubleKeywordsError( -- const char* func_name, PyObject* kw_name); /*proto*/ -+static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/ - --static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, const char* function_name); /*proto*/ -+static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \ -+ PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \ -+ const char* function_name); /*proto*/ - - static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, - Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/ -@@ -432,7 +481,6 @@ static CYTHON_INLINE void __Pyx_ErrFetch - #define __Pyx_DelItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \ - __Pyx_DelItemInt_Fast(o, i) : \ - __Pyx_DelItem_Generic(o, to_py_func(i))) -- - static CYTHON_INLINE int __Pyx_DelItem_Generic(PyObject *o, PyObject *j) { - int r; - if (!j) return -1; -@@ -440,27 +488,44 @@ static CYTHON_INLINE int __Pyx_DelItem_G - Py_DECREF(j); - return r; - } -- - static CYTHON_INLINE int __Pyx_DelItemInt_Fast(PyObject *o, Py_ssize_t i) { -- if (Py_TYPE(o)->tp_as_sequence && Py_TYPE(o)->tp_as_sequence->sq_ass_item && likely(i >= 0)) -+#if CYTHON_COMPILING_IN_PYPY -+ if (PySequence_Check(o)) { - return PySequence_DelItem(o, i); -- else { -- PyObject *j = PyInt_FromSsize_t(i); -- return __Pyx_DelItem_Generic(o, j); - } -+#else -+ PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; -+ if (likely(m && m->sq_ass_item)) { -+ if (unlikely(i < 0) && likely(m->sq_length)) { -+ Py_ssize_t l = m->sq_length(o); -+ if (unlikely(l < 0)) return -1; -+ i += l; -+ } -+ return m->sq_ass_item(o, i, (PyObject *)NULL); -+ } -+#endif -+ return __Pyx_DelItem_Generic(o, PyInt_FromSsize_t(i)); - } - - static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ - --static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ -+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/ - - static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, - const char *name, int exact); /*proto*/ - -+static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc); -+ -+static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse); -+ -+static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_dealloc); -+ - static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ - static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ - --static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/ -+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level); /*proto*/ -+ -+static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name); - - static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t); - -@@ -500,202 +565,47 @@ static CYTHON_INLINE signed long __Pyx_P - - static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *); - --static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, long size, int strict); /*proto*/ -+static int __Pyx_check_binary_version(void); -+ -+#if !defined(__Pyx_PyIdentifier_FromString) -+#if PY_MAJOR_VERSION < 3 -+ #define __Pyx_PyIdentifier_FromString(s) PyString_FromString(s) -+#else -+ #define __Pyx_PyIdentifier_FromString(s) PyUnicode_FromString(s) -+#endif -+#endif - - static PyObject *__Pyx_ImportModule(const char *name); /*proto*/ - -+static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict); /*proto*/ -+ - static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/ - --static void __Pyx_AddTraceback(const char *funcname); /*proto*/ -+typedef struct { -+ int code_line; -+ PyCodeObject* code_object; -+} __Pyx_CodeObjectCacheEntry; -+struct __Pyx_CodeObjectCache { -+ int count; -+ int max_count; -+ __Pyx_CodeObjectCacheEntry* entries; -+}; -+static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; -+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); -+static PyCodeObject *__pyx_find_code_object(int code_line); -+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); -+ -+static void __Pyx_AddTraceback(const char *funcname, int c_line, -+ int py_line, const char *filename); /*proto*/ - - static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ --/* Module declarations from h5py.api_types_ext */ - --/* Module declarations from h5py.api_types_hdf5 */ - --/* Module declarations from h5py.defs */ -+/* Module declarations from 'h5py.api_types_ext' */ -+ -+/* Module declarations from 'h5py.api_types_hdf5' */ - --static herr_t (*__pyx_f_4h5py_4defs_H5open)(void); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5close)(void); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5get_libversion)(unsigned int *, unsigned int *, unsigned int *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dcreate2)(hid_t, char *, hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dcreate_anon)(hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dopen)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dget_space)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dget_space_status)(hid_t, H5D_space_status_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dget_type)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dget_create_plist)(hid_t); /*proto*/ --static haddr_t (*__pyx_f_4h5py_4defs_H5Dget_offset)(hid_t); /*proto*/ --static hsize_t (*__pyx_f_4h5py_4defs_H5Dget_storage_size)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dread)(hid_t, hid_t, hid_t, hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dwrite)(hid_t, hid_t, hid_t, hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dextend)(hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dfill)(void *, hid_t, void *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dvlen_get_buf_size)(hid_t, hid_t, hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dvlen_reclaim)(hid_t, hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Diterate)(void *, hid_t, hid_t, H5D_operator_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dset_extent)(hid_t, hsize_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fcreate)(char *, unsigned int, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fopen)(char *, unsigned int, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fclose)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Fis_hdf5)(char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fflush)(hid_t, enum H5F_scope_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Freopen)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fmount)(hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Funmount)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fget_filesize)(hid_t, hsize_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fget_create_plist)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fget_access_plist)(hid_t); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Fget_freespace)(hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Fget_name)(hid_t, char *, size_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Fget_obj_count)(hid_t, unsigned int); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Fget_obj_ids)(hid_t, unsigned int, int, hid_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fget_intent)(hid_t, unsigned int *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate)(hid_t, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gopen)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gclose)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Glink2)(hid_t, char *, H5G_link_t, hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gunlink)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gmove2)(hid_t, char *, hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_num_objs)(hid_t, hsize_t *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Gget_objname_by_idx)(hid_t, hsize_t, char *, size_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Gget_objtype_by_idx)(hid_t, hsize_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Giterate)(hid_t, char *, int *, H5G_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_objinfo)(hid_t, char *, int, H5G_stat_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_linkval)(hid_t, char *, size_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gset_comment)(hid_t, char *, char *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Gget_comment)(hid_t, char *, size_t, char *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate_anon)(hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate2)(hid_t, char *, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gopen2)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_info)(hid_t, H5G_info_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_info_by_name)(hid_t, char *, H5G_info_t *, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gget_create_plist)(hid_t); /*proto*/ --static H5I_type_t (*__pyx_f_4h5py_4defs_H5Iget_type)(hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Iget_name)(hid_t, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Iget_file_id)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Idec_ref)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Iget_ref)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Iinc_ref)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lmove)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcopy)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_hard)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_soft)(char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ldelete)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ldelete_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_val)(hid_t, char *, void *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_val_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, void *, size_t, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Lexists)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_info)(hid_t, char *, H5L_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5L_info_t *, hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Lget_name_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, char *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Literate)(hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Literate_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lvisit)(hid_t, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lvisit_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lunpack_elink_val)(void *, size_t, unsigned int *, char **, char **); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_external)(char *, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Oopen)(hid_t, char *, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Oopen_by_addr)(hid_t, haddr_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Oopen_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info)(hid_t, H5O_info_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info_by_name)(hid_t, char *, H5O_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5O_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Olink)(hid_t, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ocopy)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oincr_refcount)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Odecr_refcount)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oset_comment)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oset_comment_by_name)(hid_t, char *, char *, hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Oget_comment)(hid_t, char *, size_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Oget_comment_by_name)(hid_t, char *, char *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ovisit)(hid_t, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ovisit_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pcreate)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pcopy)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Pget_class)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pclose)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Pequal)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pclose_class)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_version)(hid_t, unsigned int *, unsigned int *, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_userblock)(hid_t, hsize_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_userblock)(hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sizes)(hid_t, size_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sizes)(hid_t, size_t *, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sym_k)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sym_k)(hid_t, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_istore_k)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_istore_k)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fclose_degree)(hid_t, enum H5F_close_degree_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fclose_degree)(hid_t, enum H5F_close_degree_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_core)(hid_t, size_t, hbool_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fapl_core)(hid_t, size_t *, hbool_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_family)(hid_t, hsize_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fapl_family)(hid_t, hsize_t *, hid_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_family_offset)(hid_t, hsize_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_family_offset)(hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_log)(hid_t, char *, unsigned int, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_multi)(hid_t, H5FD_mem_t *, hid_t *, char **, haddr_t *, hbool_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_cache)(hid_t, int, int, size_t, double); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_cache)(hid_t, int *, int *, size_t *, double *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_sec2)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_stdio)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pget_driver)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_layout)(hid_t, int); /*proto*/ --static H5D_layout_t (*__pyx_f_4h5py_4defs_H5Pget_layout)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_chunk)(hid_t, int, hsize_t *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Pget_chunk)(hid_t, int, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_deflate)(hid_t, int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fill_value)(hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fill_value)(hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pfill_value_defined)(hid_t, H5D_fill_value_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fill_time)(hid_t, H5D_fill_time_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fill_time)(hid_t, H5D_fill_time_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_alloc_time)(hid_t, H5D_alloc_time_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_alloc_time)(hid_t, H5D_alloc_time_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_filter)(hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Pall_filters_avail)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Pget_nfilters)(hid_t); /*proto*/ --static H5Z_filter_t (*__pyx_f_4h5py_4defs_H5Pget_filter)(hid_t, unsigned int, unsigned int *, size_t *, unsigned int *, size_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_filter_by_id)(hid_t, H5Z_filter_t, unsigned int *, size_t *, unsigned int *, size_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pmodify_filter)(hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Premove_filter)(hid_t, H5Z_filter_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fletcher32)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_shuffle)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_szip)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_edc_check)(hid_t, enum H5Z_EDC_t); /*proto*/ --static enum H5Z_EDC_t (*__pyx_f_4h5py_4defs_H5Pget_edc_check)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sieve_buf_size)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sieve_buf_size)(hid_t, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_nlinks)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_nlinks)(hid_t, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_elink_prefix)(hid_t, char *); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Pget_elink_prefix)(hid_t, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pget_elink_fapl)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_elink_fapl)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_create_intermediate_group)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_create_intermediate_group)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_copy_object)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_copy_object)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_char_encoding)(hid_t, H5T_cset_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_char_encoding)(hid_t, H5T_cset_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_local_heap_size_hint)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_local_heap_size_hint)(hid_t, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_link_phase_change)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_link_phase_change)(hid_t, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_est_link_info)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_est_link_info)(hid_t, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_link_creation_order)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_link_creation_order)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_libver_bounds)(hid_t, H5F_libver_t, H5F_libver_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_libver_bounds)(hid_t, H5F_libver_t *, H5F_libver_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Rcreate)(void *, hid_t, char *, H5R_type_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Rdereference)(hid_t, H5R_type_t, void *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Rget_region)(hid_t, H5R_type_t, void *); /*proto*/ --static enum H5G_obj_t (*__pyx_f_4h5py_4defs_H5Rget_obj_type)(hid_t, H5R_type_t, void *); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Rget_name)(hid_t, H5R_type_t, void *, char *, size_t); /*proto*/ -+/* Module declarations from 'h5py.defs' */ - static hid_t (*__pyx_f_4h5py_4defs_H5Screate)(H5S_class_t); /*proto*/ - static hid_t (*__pyx_f_4h5py_4defs_H5Scopy)(hid_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Sclose)(hid_t); /*proto*/ -@@ -723,154 +633,82 @@ static herr_t (*__pyx_f_4h5py_4defs_H5Sg - static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_hyperslab)(hid_t, H5S_seloper_t, hsize_t *, hsize_t *, hsize_t *, hsize_t *); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Sencode)(hid_t, void *, size_t *); /*proto*/ - static hid_t (*__pyx_f_4h5py_4defs_H5Sdecode)(void *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tcreate)(enum H5T_class_t, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Topen)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tcommit)(hid_t, char *, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tcommitted)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tcopy)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tequal)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tlock)(hid_t); /*proto*/ --static enum H5T_class_t (*__pyx_f_4h5py_4defs_H5Tget_class)(hid_t); /*proto*/ --static size_t (*__pyx_f_4h5py_4defs_H5Tget_size)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tget_super)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tdetect_class)(hid_t, enum H5T_class_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tget_native_type)(hid_t, enum H5T_direction_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tconvert)(hid_t, hid_t, size_t, void *, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_size)(hid_t, size_t); /*proto*/ --static H5T_order_t (*__pyx_f_4h5py_4defs_H5Tget_order)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_order)(hid_t, H5T_order_t); /*proto*/ --static hsize_t (*__pyx_f_4h5py_4defs_H5Tget_precision)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_precision)(hid_t, size_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_offset)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_offset)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tget_pad)(hid_t, H5T_pad_t *, H5T_pad_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_pad)(hid_t, H5T_pad_t, H5T_pad_t); /*proto*/ --static H5T_sign_t (*__pyx_f_4h5py_4defs_H5Tget_sign)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_sign)(hid_t, H5T_sign_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tget_fields)(hid_t, size_t *, size_t *, size_t *, size_t *, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_fields)(hid_t, size_t, size_t, size_t, size_t, size_t); /*proto*/ --static size_t (*__pyx_f_4h5py_4defs_H5Tget_ebias)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_ebias)(hid_t, size_t); /*proto*/ --static H5T_norm_t (*__pyx_f_4h5py_4defs_H5Tget_norm)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_norm)(hid_t, H5T_norm_t); /*proto*/ --static H5T_pad_t (*__pyx_f_4h5py_4defs_H5Tget_inpad)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_inpad)(hid_t, H5T_pad_t); /*proto*/ --static H5T_cset_t (*__pyx_f_4h5py_4defs_H5Tget_cset)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_cset)(hid_t, H5T_cset_t); /*proto*/ --static H5T_str_t (*__pyx_f_4h5py_4defs_H5Tget_strpad)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_strpad)(hid_t, H5T_str_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tvlen_create)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Tis_variable_str)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_nmembers)(hid_t); /*proto*/ --static enum H5T_class_t (*__pyx_f_4h5py_4defs_H5Tget_member_class)(hid_t, int); /*proto*/ --static char *(*__pyx_f_4h5py_4defs_H5Tget_member_name)(hid_t, unsigned int); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tget_member_type)(hid_t, unsigned int); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_member_offset)(hid_t, int); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_member_index)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tinsert)(hid_t, char *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tpack)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tenum_create)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_insert)(hid_t, char *, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_nameof)(hid_t, void *, char *, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_valueof)(hid_t, char *, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tget_member_value)(hid_t, unsigned int, void *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tarray_create)(hid_t, int, hsize_t *, int *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_array_ndims)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Tget_array_dims)(hid_t, hsize_t *, int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tset_tag)(hid_t, char *); /*proto*/ --static char *(*__pyx_f_4h5py_4defs_H5Tget_tag)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tdecode)(unsigned char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tencode)(hid_t, unsigned char *, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tcommit2)(hid_t, char *, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static H5T_conv_t (*__pyx_f_4h5py_4defs_H5Tfind)(hid_t, hid_t, H5T_cdata_t **); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tregister)(H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tunregister)(H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Zfilter_avail)(H5Z_filter_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Zget_filter_info)(H5Z_filter_t, unsigned int *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Acreate)(hid_t, char *, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aopen_idx)(hid_t, unsigned int); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aopen_name)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aclose)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Adelete)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aread)(hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Awrite)(hid_t, hid_t, void *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Aget_num_attrs)(hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Aget_name)(hid_t, size_t, char *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aget_space)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aget_type)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aiterate)(hid_t, unsigned int *, H5A_operator_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Adelete_by_name)(hid_t, char *, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Adelete_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Acreate_by_name)(hid_t, char *, char *, hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aopen)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aopen_by_name)(hid_t, char *, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aopen_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Aexists_by_name)(hid_t, char *, char *, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Aexists)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Arename)(hid_t, char *, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Arename_by_name)(hid_t, char *, char *, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info)(hid_t, H5A_info_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info_by_name)(hid_t, char *, char *, H5A_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5A_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aiterate2)(hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5A_operator2_t, void *); /*proto*/ --static hsize_t (*__pyx_f_4h5py_4defs_H5Aget_storage_size)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSattach_scale)(hid_t, hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSdetach_scale)(hid_t, hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSset_scale)(hid_t, char *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5DSget_num_scales)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSset_label)(hid_t, unsigned int, char *); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5DSget_label)(hid_t, unsigned int, char *, size_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5DSget_scale_name)(hid_t, char *, size_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5DSis_scale)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSiterate_scales)(hid_t, unsigned int, int *, H5DS_iterate_t, void *); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5DSis_attached)(hid_t, hid_t, unsigned int); /*proto*/ --/* Module declarations from h5py._objects */ - -+/* Module declarations from 'h5py._objects' */ - static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0; --static hid_t (*__pyx_f_4h5py_8_objects_pdefault)(struct __pyx_obj_4h5py_8_objects_ObjectID *); /*proto*/ --/* Module declarations from numpy */ - --/* Module declarations from h5py.numpy */ -+/* Module declarations from 'numpy' */ - -+/* Module declarations from 'h5py.numpy' */ - static PyTypeObject *__pyx_ptype_4h5py_5numpy_dtype = 0; - static PyTypeObject *__pyx_ptype_4h5py_5numpy_ndarray = 0; --/* Module declarations from h5py.utils */ - -+/* Module declarations from 'h5py.utils' */ - static void *(*__pyx_f_4h5py_5utils_emalloc)(size_t); /*proto*/ - static void (*__pyx_f_4h5py_5utils_efree)(void *); /*proto*/ --static int (*__pyx_f_4h5py_5utils_check_numpy_read)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args); /*proto*/ --static int (*__pyx_f_4h5py_5utils_check_numpy_write)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args); /*proto*/ - static int (*__pyx_f_4h5py_5utils_convert_tuple)(PyObject *, hsize_t *, hsize_t); /*proto*/ - static PyObject *(*__pyx_f_4h5py_5utils_convert_dims)(hsize_t *, hsize_t); /*proto*/ - static int (*__pyx_f_4h5py_5utils_require_tuple)(PyObject *, int, int, char *); /*proto*/ - static PyObject *(*__pyx_f_4h5py_5utils_create_numpy_hsize)(int, hsize_t *); /*proto*/ - static PyObject *(*__pyx_f_4h5py_5utils_create_hsize_array)(PyObject *); /*proto*/ --/* Module declarations from h5py.h5s */ - -+/* Module declarations from 'h5py.h5s' */ - static PyTypeObject *__pyx_ptype_4h5py_3h5s_SpaceID = 0; - static PyObject *__pyx_f_4h5py_3h5s_lockid(hid_t); /*proto*/ - #define __Pyx_MODULE_NAME "h5py.h5s" --static int __pyx_module_is_main_h5py__h5s = 0; -+int __pyx_module_is_main_h5py__h5s = 0; - --/* Implementation of h5py.h5s */ -+/* Implementation of 'h5py.h5s' */ - static PyObject *__pyx_builtin_ValueError; -+static PyObject *__pyx_pf_4h5py_3h5s_create(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_class_code); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_2create_simple(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dims_tpl, PyObject *__pyx_v_max_dims_tpl); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_4decode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_buf); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_5shape___get__(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID__close(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_2copy(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_4encode(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_6__reduce__(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_8__setstate__(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, PyObject *__pyx_v_state); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_10is_simple(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_12offset_simple(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, PyObject *__pyx_v_offset); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_14get_simple_extent_ndims(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_16get_simple_extent_dims(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, int __pyx_v_maxdims); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_18get_simple_extent_npoints(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_20get_simple_extent_type(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_22extent_copy(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_source); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_24set_extent_simple(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, PyObject *__pyx_v_dims_tpl, PyObject *__pyx_v_max_dims_tpl); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_26set_extent_none(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_28get_select_type(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_30get_select_npoints(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_32get_select_bounds(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_34select_all(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_36select_none(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_38select_valid(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_40get_select_elem_npoints(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_42get_select_elem_pointlist(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_44select_elements(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, PyObject *__pyx_v_coords, int __pyx_v_op); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_46get_select_hyper_nblocks(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_48get_select_hyper_blocklist(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_50select_hyperslab(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, PyObject *__pyx_v_start, PyObject *__pyx_v_count, PyObject *__pyx_v_stride, PyObject *__pyx_v_block, int __pyx_v_op); /* proto */ - static char __pyx_k_1[] = "get_simple_extent_dims"; - static char __pyx_k_4[] = "%d is not a simple dataspace"; - static char __pyx_k_6[] = "Coordinate array must have shape (, %d)"; - static char __pyx_k_7[] = "get_simple_extent_ndims"; - static char __pyx_k_9[] = " Numpy-style shape tuple representing dimensions. () == scalar.\n "; - static char __pyx_k_10[] = "\n Low-level interface to the \"H5S\" family of data-space functions.\n"; --static char __pyx_k_11[] = "h5py.h5s"; --static char __pyx_k_12[] = "SpaceID.select_elements (line 442)"; --static char __pyx_k_13[] = "(SEQUENCE coords, INT op=SELECT_SET)\n\n Select elements by specifying coordinates points. The argument\n \"coords\" may be an ndarray or any nested sequence which can be\n converted to an array of uints with the shape::\n\n (, )\n\n Examples::\n\n >>> obj.shape\n (10, 10)\n >>> obj.select_elements([(1,2), (3,4), (5,9)])\n\n A zero-length selection (i.e. shape ``(0, )``) is not allowed\n by the HDF5 library.\n "; --static char __pyx_k__id[] = "id"; --static char __pyx_k__nd[] = "nd"; -+static char __pyx_k_13[] = "/disks/strw4/vanelteren/env/python3/install/_temp/h5py-2.1.0/h5py/h5s.pyx"; -+static char __pyx_k_14[] = "h5py.h5s"; -+static char __pyx_k_19[] = "SpaceID.select_elements (line 442)"; -+static char __pyx_k_20[] = "(SEQUENCE coords, INT op=SELECT_SET)\n\n Select elements by specifying coordinates points. The argument\n \"coords\" may be an ndarray or any nested sequence which can be\n converted to an array of uints with the shape::\n\n (, )\n\n Examples::\n\n >>> obj.shape\n (10, 10)\n >>> obj.select_elements([(1,2), (3,4), (5,9)])\n\n A zero-length selection (i.e. shape ``(0, )``) is not allowed\n by the HDF5 library.\n "; - static char __pyx_k__op[] = "op"; - static char __pyx_k__ALL[] = "ALL"; --static char __pyx_k__data[] = "data"; -+static char __pyx_k__buf[] = "buf"; -+static char __pyx_k__buf_[] = "buf_"; -+static char __pyx_k__dims[] = "dims"; -+static char __pyx_k__h5py[] = "h5py"; - static char __pyx_k__lock[] = "lock"; - static char __pyx_k__open[] = "open"; -+static char __pyx_k__rank[] = "rank"; - static char __pyx_k__block[] = "block"; - static char __pyx_k__count[] = "count"; - static char __pyx_k__start[] = "start"; -@@ -881,7 +719,6 @@ static char __pyx_k__coords[] = "coords" - static char __pyx_k__create[] = "create"; - static char __pyx_k__decode[] = "decode"; - static char __pyx_k__encode[] = "encode"; --static char __pyx_k__locked[] = "locked"; - static char __pyx_k__offset[] = "offset"; - static char __pyx_k__stride[] = "stride"; - static char __pyx_k__SEL_ALL[] = "SEL_ALL"; -@@ -893,6 +730,7 @@ static char __pyx_k____main__[] = "__mai - static char __pyx_k____test__[] = "__test__"; - static char __pyx_k___objects[] = "_objects"; - static char __pyx_k__dims_tpl[] = "dims_tpl"; -+static char __pyx_k__max_dims[] = "max_dims"; - static char __pyx_k__registry[] = "registry"; - static char __pyx_k__SELECT_OR[] = "SELECT_OR"; - static char __pyx_k__SEL_ERROR[] = "SEL_ERROR"; -@@ -903,7 +741,7 @@ static char __pyx_k__SELECT_SET[] = "SEL - static char __pyx_k__SELECT_XOR[] = "SELECT_XOR"; - static char __pyx_k__SEL_POINTS[] = "SEL_POINTS"; - static char __pyx_k__ValueError[] = "ValueError"; --static char __pyx_k__dimensions[] = "dimensions"; -+static char __pyx_k__class_code[] = "class_code"; - static char __pyx_k__SELECT_NOOP[] = "SELECT_NOOP"; - static char __pyx_k__SELECT_NOTA[] = "SELECT_NOTA"; - static char __pyx_k__SELECT_NOTB[] = "SELECT_NOTB"; -@@ -914,9 +752,10 @@ static char __pyx_k__SELECT_INVALID[] = - static char __pyx_k__SELECT_PREPEND[] = "SELECT_PREPEND"; - static char __pyx_k__SEL_HYPERSLABS[] = "SEL_HYPERSLABS"; - static PyObject *__pyx_n_s_1; --static PyObject *__pyx_n_s_11; --static PyObject *__pyx_kp_u_12; --static PyObject *__pyx_kp_u_13; -+static PyObject *__pyx_kp_s_13; -+static PyObject *__pyx_n_s_14; -+static PyObject *__pyx_kp_u_19; -+static PyObject *__pyx_kp_u_20; - static PyObject *__pyx_kp_s_4; - static PyObject *__pyx_kp_s_6; - static PyObject *__pyx_n_s_7; -@@ -947,24 +786,26 @@ static PyObject *__pyx_n_s____main__; - static PyObject *__pyx_n_s____test__; - static PyObject *__pyx_n_s___objects; - static PyObject *__pyx_n_s__block; -+static PyObject *__pyx_n_s__buf; -+static PyObject *__pyx_n_s__buf_; -+static PyObject *__pyx_n_s__class_code; - static PyObject *__pyx_n_s__coords; - static PyObject *__pyx_n_s__count; - static PyObject *__pyx_n_s__create; - static PyObject *__pyx_n_s__create_simple; --static PyObject *__pyx_n_s__data; - static PyObject *__pyx_n_s__decode; --static PyObject *__pyx_n_s__dimensions; -+static PyObject *__pyx_n_s__dims; - static PyObject *__pyx_n_s__dims_tpl; - static PyObject *__pyx_n_s__encode; --static PyObject *__pyx_n_s__id; -+static PyObject *__pyx_n_s__h5py; - static PyObject *__pyx_n_s__lock; --static PyObject *__pyx_n_s__locked; -+static PyObject *__pyx_n_s__max_dims; - static PyObject *__pyx_n_s__max_dims_tpl; - static PyObject *__pyx_n_s__maxdims; --static PyObject *__pyx_n_s__nd; - static PyObject *__pyx_n_s__offset; - static PyObject *__pyx_n_s__op; - static PyObject *__pyx_n_s__open; -+static PyObject *__pyx_n_s__rank; - static PyObject *__pyx_n_s__registry; - static PyObject *__pyx_n_s__start; - static PyObject *__pyx_n_s__stride; -@@ -974,6 +815,12 @@ static int __pyx_k_5; - static int __pyx_k_8; - static PyObject *__pyx_k_tuple_2; - static PyObject *__pyx_k_tuple_3; -+static PyObject *__pyx_k_tuple_11; -+static PyObject *__pyx_k_tuple_15; -+static PyObject *__pyx_k_tuple_17; -+static PyObject *__pyx_k_codeobj_12; -+static PyObject *__pyx_k_codeobj_16; -+static PyObject *__pyx_k_codeobj_18; - - /* "h5py/h5s.pyx":25 - * -@@ -983,14 +830,17 @@ static PyObject *__pyx_k_tuple_3; - * space = SpaceID.open(id_) - */ - --static PyObject *__pyx_f_4h5py_3h5s_lockid(hid_t __pyx_v_id_) { -- struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_space; -+static PyObject *__pyx_f_4h5py_3h5s_lockid(hid_t __pyx_v_id_) { -+ struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_space = 0; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("lockid"); -- __pyx_v_space = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)Py_None); __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("lockid", 0); - - /* "h5py/h5s.pyx":27 - * cdef object lockid(hid_t id_): -@@ -1004,7 +854,7 @@ static PyObject *__pyx_f_4h5py_3h5s_loc - __pyx_t_2 = __Pyx_PyInt_to_py_hid_t(__pyx_v_id_); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; -@@ -1013,7 +863,6 @@ static PyObject *__pyx_f_4h5py_3h5s_loc - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5s_SpaceID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(((PyObject *)__pyx_v_space)); - __pyx_v_space = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_t_2); - __pyx_t_2 = 0; - -@@ -1044,15 +893,38 @@ static PyObject *__pyx_f_4h5py_3h5s_loc - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5s.lockid"); -+ __Pyx_AddTraceback("h5py.h5s.lockid", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_space); -+ __Pyx_XDECREF((PyObject *)__pyx_v_space); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_1create(PyObject *__pyx_self, PyObject *__pyx_arg_class_code); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_create[] = "(INT class_code) => SpaceID\n\n Create a new HDF5 dataspace object, of the given class.\n Legal values are SCALAR and SIMPLE.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5s_1create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pw_4h5py_3h5s_1create, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_create)}; -+static PyObject *__pyx_pw_4h5py_3h5s_1create(PyObject *__pyx_self, PyObject *__pyx_arg_class_code) { -+ int __pyx_v_class_code; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("create (wrapper)", 0); -+ assert(__pyx_arg_class_code); { -+ __pyx_v_class_code = __Pyx_PyInt_AsInt(__pyx_arg_class_code); if (unlikely((__pyx_v_class_code == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5s.create", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5s_create(__pyx_self, ((int)__pyx_v_class_code)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":64 - * - * -@@ -1061,27 +933,17 @@ static PyObject *__pyx_f_4h5py_3h5s_loc - * - */ - --static PyObject *__pyx_pf_4h5py_3h5s_create(PyObject *__pyx_self, PyObject *__pyx_arg_class_code); /*proto*/ --static char __pyx_doc_4h5py_3h5s_create[] = "(INT class_code) => SpaceID\n\n Create a new HDF5 dataspace object, of the given class.\n Legal values are SCALAR and SIMPLE.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5s_create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pf_4h5py_3h5s_create, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_create)}; --static PyObject *__pyx_pf_4h5py_3h5s_create(PyObject *__pyx_self, PyObject *__pyx_arg_class_code) { -- int __pyx_v_class_code; -+static PyObject *__pyx_pf_4h5py_3h5s_create(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_class_code) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - hid_t __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; -- __Pyx_RefNannySetupContext("create"); -- __pyx_self = __pyx_self; -- assert(__pyx_arg_class_code); { -- __pyx_v_class_code = __Pyx_PyInt_AsInt(__pyx_arg_class_code); if (unlikely((__pyx_v_class_code == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5s.create"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("create", 0); - - /* "h5py/h5s.pyx":70 - * Legal values are SCALAR and SIMPLE. -@@ -1097,7 +959,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_cre - __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; -@@ -1115,7 +977,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_cre - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5s.create"); -+ __Pyx_AddTraceback("h5py.h5s.create", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -1123,78 +985,93 @@ static PyObject *__pyx_pf_4h5py_3h5s_cre - return __pyx_r; - } - --/* "h5py/h5s.pyx":73 -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_3create_simple(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_2create_simple[] = "(TUPLE dims_tpl, TUPLE max_dims_tpl) => SpaceID\n\n Create a simple (slab) dataspace from a tuple of dimensions.\n Every element of dims_tpl must be a positive integer.\n\n You can optionally specify the maximum dataspace size. The\n special value UNLIMITED, as an element of max_dims, indicates\n an unlimited dimension.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5s_3create_simple = {__Pyx_NAMESTR("create_simple"), (PyCFunction)__pyx_pw_4h5py_3h5s_3create_simple, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_2create_simple)}; -+static PyObject *__pyx_pw_4h5py_3h5s_3create_simple(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+ PyObject *__pyx_v_dims_tpl = 0; -+ PyObject *__pyx_v_max_dims_tpl = 0; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("create_simple (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__dims_tpl,&__pyx_n_s__max_dims_tpl,0}; -+ PyObject* values[2] = {0,0}; -+ -+ /* "h5py/h5s.pyx":73 - * - * - * def create_simple(object dims_tpl, object max_dims_tpl=None): # <<<<<<<<<<<<<< - * """(TUPLE dims_tpl, TUPLE max_dims_tpl) => SpaceID - * - */ -- --static PyObject *__pyx_pf_4h5py_3h5s_1create_simple(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5s_1create_simple[] = "(TUPLE dims_tpl, TUPLE max_dims_tpl) => SpaceID\n\n Create a simple (slab) dataspace from a tuple of dimensions.\n Every element of dims_tpl must be a positive integer.\n\n You can optionally specify the maximum dataspace size. The\n special value UNLIMITED, as an element of max_dims, indicates\n an unlimited dimension.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5s_1create_simple = {__Pyx_NAMESTR("create_simple"), (PyCFunction)__pyx_pf_4h5py_3h5s_1create_simple, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_1create_simple)}; --static PyObject *__pyx_pf_4h5py_3h5s_1create_simple(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -- PyObject *__pyx_v_dims_tpl = 0; -- PyObject *__pyx_v_max_dims_tpl = 0; -- int __pyx_v_rank; -- hsize_t *__pyx_v_dims; -- hsize_t *__pyx_v_max_dims; -- PyObject *__pyx_r = NULL; -- int __pyx_t_1; -- Py_ssize_t __pyx_t_2; -- void *__pyx_t_3; -- int __pyx_t_4; -- PyObject *__pyx_t_5 = NULL; -- hid_t __pyx_t_6; -- PyObject *__pyx_t_7 = NULL; -- PyObject *__pyx_t_8 = NULL; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__dims_tpl,&__pyx_n_s__max_dims_tpl,0}; -- __Pyx_RefNannySetupContext("create_simple"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -- PyObject* values[2] = {0,0}; - values[1] = ((PyObject *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dims_tpl); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__max_dims_tpl); -- if (value) { values[1] = value; kw_args--; } -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dims_tpl)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__max_dims_tpl); -+ if (value) { values[1] = value; kw_args--; } -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create_simple") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "create_simple") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - __pyx_v_dims_tpl = values[0]; - __pyx_v_max_dims_tpl = values[1]; -- } else { -- __pyx_v_max_dims_tpl = ((PyObject *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: __pyx_v_max_dims_tpl = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: __pyx_v_dims_tpl = PyTuple_GET_ITEM(__pyx_args, 0); -- break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("create_simple", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5s.create_simple"); -+ __Pyx_AddTraceback("h5py.h5s.create_simple", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5s_2create_simple(__pyx_self, __pyx_v_dims_tpl, __pyx_v_max_dims_tpl); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+static PyObject *__pyx_pf_4h5py_3h5s_2create_simple(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dims_tpl, PyObject *__pyx_v_max_dims_tpl) { -+ int __pyx_v_rank; -+ hsize_t *__pyx_v_dims; -+ hsize_t *__pyx_v_max_dims; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ int __pyx_t_1; -+ Py_ssize_t __pyx_t_2; -+ void *__pyx_t_3; -+ int __pyx_t_4; -+ PyObject *__pyx_t_5 = NULL; -+ hid_t __pyx_t_6; -+ PyObject *__pyx_t_7 = NULL; -+ PyObject *__pyx_t_8 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("create_simple", 0); - - /* "h5py/h5s.pyx":84 - * """ -@@ -1258,7 +1135,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_1cr - * convert_tuple(dims_tpl, dims, rank) - * - */ -- __pyx_t_3 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_3 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_3 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_3 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_dims = ((hsize_t *)__pyx_t_3); - - /* "h5py/h5s.pyx":93 -@@ -1268,7 +1145,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_1cr - * - * if max_dims_tpl is not None: - */ -- __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_dims_tpl, __pyx_v_dims, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_dims_tpl, __pyx_v_dims, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L4;} - - /* "h5py/h5s.pyx":95 - * convert_tuple(dims_tpl, dims, rank) -@@ -1287,7 +1164,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_1cr - * convert_tuple(max_dims_tpl, max_dims, rank) - * - */ -- __pyx_t_3 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_3 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_3 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_3 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_max_dims = ((hsize_t *)__pyx_t_3); - - /* "h5py/h5s.pyx":97 -@@ -1297,10 +1174,10 @@ static PyObject *__pyx_pf_4h5py_3h5s_1cr - * - * return SpaceID.open(H5Screate_simple(rank, dims, max_dims)) - */ -- __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_max_dims_tpl, __pyx_v_max_dims, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L7;} -- goto __pyx_L9; -+ __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_max_dims_tpl, __pyx_v_max_dims, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L4;} -+ goto __pyx_L6; - } -- __pyx_L9:; -+ __pyx_L6:; - - /* "h5py/h5s.pyx":99 - * convert_tuple(max_dims_tpl, max_dims, rank) -@@ -1310,23 +1187,23 @@ static PyObject *__pyx_pf_4h5py_3h5s_1cr - * finally: - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_5 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5s_SpaceID)), __pyx_n_s__open); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_5 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5s_SpaceID)), __pyx_n_s__open); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_5); -- __pyx_t_6 = __pyx_f_4h5py_4defs_H5Screate_simple(__pyx_v_rank, __pyx_v_dims, __pyx_v_max_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L7;} -- __pyx_t_7 = __Pyx_PyInt_to_py_hid_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_6 = __pyx_f_4h5py_4defs_H5Screate_simple(__pyx_v_rank, __pyx_v_dims, __pyx_v_max_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L4;} -+ __pyx_t_7 = __Pyx_PyInt_to_py_hid_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_7); -- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L7;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_8)); -+ __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L4;} -+ __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; -- __pyx_t_7 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_7 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; -- goto __pyx_L6; -+ goto __pyx_L3; - } - - /* "h5py/h5s.pyx":102 -@@ -1341,19 +1218,19 @@ static PyObject *__pyx_pf_4h5py_3h5s_1cr - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L8; -- __pyx_L6: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 3; goto __pyx_L8; -- __pyx_L7: { -+ __pyx_why = 0; goto __pyx_L5; -+ __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -+ __pyx_why = 3; goto __pyx_L5; -+ __pyx_L4: { - __pyx_why = 4; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L8; -+ goto __pyx_L5; - } -- __pyx_L8:; -+ __pyx_L5:; - __pyx_f_4h5py_5utils_efree(__pyx_v_dims); - - /* "h5py/h5s.pyx":103 -@@ -1383,7 +1260,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_1cr - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); -- __Pyx_AddTraceback("h5py.h5s.create_simple"); -+ __Pyx_AddTraceback("h5py.h5s.create_simple", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -1391,6 +1268,19 @@ static PyObject *__pyx_pf_4h5py_3h5s_1cr - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_5decode(PyObject *__pyx_self, PyObject *__pyx_v_buf); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_4decode[] = "(STRING buf) => SpaceID\n\n Unserialize a dataspace. Bear in mind you can also use the native\n Python pickling machinery to do this.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5s_5decode = {__Pyx_NAMESTR("decode"), (PyCFunction)__pyx_pw_4h5py_3h5s_5decode, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_4decode)}; -+static PyObject *__pyx_pw_4h5py_3h5s_5decode(PyObject *__pyx_self, PyObject *__pyx_v_buf) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("decode (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5s_4decode(__pyx_self, ((PyObject *)__pyx_v_buf)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":105 - * efree(max_dims) - * -@@ -1399,19 +1289,19 @@ static PyObject *__pyx_pf_4h5py_3h5s_1cr - * - */ - --static PyObject *__pyx_pf_4h5py_3h5s_2decode(PyObject *__pyx_self, PyObject *__pyx_v_buf); /*proto*/ --static char __pyx_doc_4h5py_3h5s_2decode[] = "(STRING buf) => SpaceID\n\n Unserialize a dataspace. Bear in mind you can also use the native\n Python pickling machinery to do this.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5s_2decode = {__Pyx_NAMESTR("decode"), (PyCFunction)__pyx_pf_4h5py_3h5s_2decode, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_2decode)}; --static PyObject *__pyx_pf_4h5py_3h5s_2decode(PyObject *__pyx_self, PyObject *__pyx_v_buf) { -+static PyObject *__pyx_pf_4h5py_3h5s_4decode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_buf) { - char *__pyx_v_buf_; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - char *__pyx_t_1; - PyObject *__pyx_t_2 = NULL; - hid_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; -- __Pyx_RefNannySetupContext("decode"); -- __pyx_self = __pyx_self; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("decode", 0); - - /* "h5py/h5s.pyx":111 - * Python pickling machinery to do this. -@@ -1437,7 +1327,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_2de - __pyx_t_4 = __Pyx_PyInt_to_py_hid_t(__pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -+ __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; -@@ -1455,7 +1345,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_2de - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); -- __Pyx_AddTraceback("h5py.h5s.decode"); -+ __Pyx_AddTraceback("h5py.h5s.decode", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -1463,6 +1353,17 @@ static PyObject *__pyx_pf_4h5py_3h5s_2de - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_5shape_1__get__(PyObject *__pyx_v_self); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_5shape_1__get__(PyObject *__pyx_v_self) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_5shape___get__(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":135 - * """ Numpy-style shape tuple representing dimensions. () == scalar. - * """ -@@ -1471,12 +1372,15 @@ static PyObject *__pyx_pf_4h5py_3h5s_2de - * - */ - --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_5shape___get__(PyObject *__pyx_v_self); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_5shape___get__(PyObject *__pyx_v_self) { -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_5shape___get__(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("__get__"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__get__", 0); - - /* "h5py/h5s.pyx":136 - * """ -@@ -1486,7 +1390,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -@@ -1500,7 +1404,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5s.SpaceID.shape.__get__"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.shape.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -1508,6 +1412,18 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_1_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID__close[] = "()\n\n Terminate access through this identifier. You shouldn't have to\n call this manually; dataspace objects are automatically destroyed\n when their Python wrappers are freed.\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_1_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("_close (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID__close(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":139 - * - * -@@ -1516,26 +1432,25 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID__close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID__close[] = "()\n\n Terminate access through this identifier. You shouldn't have to\n call this manually; dataspace objects are automatically destroyed\n when their Python wrappers are freed.\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID__close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -- PyObject *__pyx_v___tmpvar_14; -- PyObject *__pyx_v___tmpvar_16; -- int __pyx_v___tmpvar_15; -- PyObject *__pyx_v___tmpvar_13; -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID__close(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; -- herr_t __pyx_t_3; -- int __pyx_t_4; -- int __pyx_t_5; -+ PyObject *__pyx_t_3 = NULL; -+ PyObject *__pyx_t_4 = NULL; -+ PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; -- PyObject *__pyx_t_8 = NULL; -- __Pyx_RefNannySetupContext("_close"); -- __pyx_v___tmpvar_14 = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v___tmpvar_16 = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v___tmpvar_13 = Py_None; __Pyx_INCREF(Py_None); -+ herr_t __pyx_t_8; -+ int __pyx_t_9; -+ int __pyx_t_10; -+ PyObject *__pyx_t_11 = NULL; -+ PyObject *__pyx_t_12 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("_close", 0); - - /* "h5py/h5s.pyx":146 - * when their Python wrappers are freed. -@@ -1544,221 +1459,160 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * H5Sclose(self.id) - * if not self.valid: - */ -- __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__lock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(__pyx_v___tmpvar_14); -- __pyx_v___tmpvar_14 = __pyx_t_1; -- __pyx_t_1 = 0; -+ /*with:*/ { -+ __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_2); -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__lock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -+ __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_3); -+ __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_2); -+ __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ /*try:*/ { -+ { -+ __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); -+ __Pyx_XGOTREF(__pyx_t_5); -+ __Pyx_XGOTREF(__pyx_t_6); -+ __Pyx_XGOTREF(__pyx_t_7); -+ /*try:*/ { - -- /* "(tree fragment)":2 -- * MGR = EXPR -- * EXIT = MGR.__exit__ # <<<<<<<<<<<<<< -- * MGR.__enter__() -- * EXC = True -+ /* "h5py/h5s.pyx":147 -+ * """ -+ * with _objects.registry.lock: -+ * H5Sclose(self.id) # <<<<<<<<<<<<<< -+ * if not self.valid: -+ * del _objects.registry[self.id] - */ -- __pyx_t_1 = PyObject_GetAttr(__pyx_v___tmpvar_14, __pyx_n_s____exit__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(__pyx_v___tmpvar_16); -- __pyx_v___tmpvar_16 = __pyx_t_1; -- __pyx_t_1 = 0; -+ __pyx_t_8 = __pyx_f_4h5py_4defs_H5Sclose(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L7_error;} - -- /* "(tree fragment)":3 -- * MGR = EXPR -- * EXIT = MGR.__exit__ -- * MGR.__enter__() # <<<<<<<<<<<<<< -- * EXC = True -- * try: -+ /* "h5py/h5s.pyx":148 -+ * with _objects.registry.lock: -+ * H5Sclose(self.id) -+ * if not self.valid: # <<<<<<<<<<<<<< -+ * del _objects.registry[self.id] -+ * - */ -- __pyx_t_1 = PyObject_GetAttr(__pyx_v___tmpvar_14, __pyx_n_s____enter__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__valid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __pyx_t_10 = (!__pyx_t_9); -+ if (__pyx_t_10) { - -- /* "h5py/h5s.pyx":146 -- * when their Python wrappers are freed. -- * """ -- * with _objects.registry.lock: # <<<<<<<<<<<<<< -+ /* "h5py/h5s.pyx":149 - * H5Sclose(self.id) - * if not self.valid: -+ * del _objects.registry[self.id] # <<<<<<<<<<<<<< -+ * -+ * - */ -- __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __pyx_v___tmpvar_15 = 1; -- /*try:*/ { -- { -- PyObject *__pyx_save_exc_type, *__pyx_save_exc_value, *__pyx_save_exc_tb; -- __Pyx_ExceptionSave(&__pyx_save_exc_type, &__pyx_save_exc_value, &__pyx_save_exc_tb); -- __Pyx_XGOTREF(__pyx_save_exc_type); -- __Pyx_XGOTREF(__pyx_save_exc_value); -- __Pyx_XGOTREF(__pyx_save_exc_tb); -- /*try:*/ { -- __Pyx_INCREF(Py_None); -- __Pyx_DECREF(__pyx_v___tmpvar_13); -- __pyx_v___tmpvar_13 = Py_None; -- __pyx_t_3 = __pyx_f_4h5py_4defs_H5Sclose(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__valid); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __pyx_t_5 = (!__pyx_t_4); -- if (__pyx_t_5) { -- __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__registry); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- if (__Pyx_DelItemInt(__pyx_t_1, ((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id, sizeof(hid_t), __Pyx_PyInt_to_py_hid_t) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- goto __pyx_L16; -+ __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_4 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ if (__Pyx_DelItemInt(__pyx_t_4, __pyx_v_self->__pyx_base.id, sizeof(hid_t), __Pyx_PyInt_to_py_hid_t) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L7_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ goto __pyx_L15; -+ } -+ __pyx_L15:; - } -- __pyx_L16:; -- } -- __Pyx_XDECREF(__pyx_save_exc_type); __pyx_save_exc_type = 0; -- __Pyx_XDECREF(__pyx_save_exc_value); __pyx_save_exc_value = 0; -- __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0; -- goto __pyx_L15_try_end; -- __pyx_L8_error:; -- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -- /*except:*/ { -- __Pyx_AddTraceback("h5py.h5s.SpaceID._close"); -- if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __Pyx_GOTREF(__pyx_t_2); -- __Pyx_GOTREF(__pyx_t_6); -- __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_7)); -- __Pyx_INCREF(__pyx_t_1); -- PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1); -- __Pyx_GIVEREF(__pyx_t_1); -- __Pyx_INCREF(__pyx_t_2); -- PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2); -- __Pyx_GIVEREF(__pyx_t_2); -- __Pyx_INCREF(__pyx_t_6); -- PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_6); -- __Pyx_GIVEREF(__pyx_t_6); -- __Pyx_DECREF(__pyx_v___tmpvar_13); -- __pyx_v___tmpvar_13 = ((PyObject *)__pyx_t_7); -- __pyx_t_7 = 0; -- __pyx_v___tmpvar_15 = 0; -- -- /* "(tree fragment)":11 -- * except: -- * EXC = False -- * if not EXIT(*EXCINFO): # <<<<<<<<<<<<<< -- * raise -- * finally: -- */ -- __pyx_t_7 = PySequence_Tuple(__pyx_v___tmpvar_13); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_7)); -- __pyx_t_8 = PyObject_Call(__pyx_v___tmpvar_16, ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(__pyx_t_8); -- __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; -- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; -- __pyx_t_4 = (!__pyx_t_5); -- if (__pyx_t_4) { -+ __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; -+ __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; -+ goto __pyx_L14_try_end; -+ __pyx_L7_error:; -+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; -+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - -- /* "h5py/h5s.pyx":146 -+ /* "h5py/h5s.pyx":146 - * when their Python wrappers are freed. - * """ - * with _objects.registry.lock: # <<<<<<<<<<<<<< - * H5Sclose(self.id) - * if not self.valid: - */ -+ /*except:*/ { -+ __Pyx_AddTraceback("h5py.h5s.SpaceID._close", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_GOTREF(__pyx_t_1); -+ __Pyx_GOTREF(__pyx_t_2); -+ __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __Pyx_GOTREF(__pyx_t_11); -+ __Pyx_INCREF(__pyx_t_4); -+ PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_4); -+ __Pyx_GIVEREF(__pyx_t_4); -+ __Pyx_INCREF(__pyx_t_1); -+ PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); -+ __Pyx_INCREF(__pyx_t_2); -+ PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); -- __Pyx_GIVEREF(__pyx_t_6); -- __Pyx_ErrRestore(__pyx_t_1, __pyx_t_2, __pyx_t_6); -- __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_6 = 0; -- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- goto __pyx_L19; -- } -- __pyx_L19:; -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -- goto __pyx_L9_exception_handled; -+ __pyx_t_12 = PyObject_Call(__pyx_t_3, __pyx_t_11, NULL); -+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -+ if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __Pyx_GOTREF(__pyx_t_12); -+ __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_12); -+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; -+ if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ __pyx_t_9 = (!__pyx_t_10); -+ if (__pyx_t_9) { -+ __Pyx_GIVEREF(__pyx_t_4); -+ __Pyx_GIVEREF(__pyx_t_1); -+ __Pyx_GIVEREF(__pyx_t_2); -+ __Pyx_ErrRestore(__pyx_t_4, __pyx_t_1, __pyx_t_2); -+ __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;} -+ goto __pyx_L18; -+ } -+ __pyx_L18:; -+ __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0; -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -+ goto __pyx_L8_exception_handled; -+ } -+ __pyx_L9_except_error:; -+ __Pyx_XGIVEREF(__pyx_t_5); -+ __Pyx_XGIVEREF(__pyx_t_6); -+ __Pyx_XGIVEREF(__pyx_t_7); -+ __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); -+ goto __pyx_L1_error; -+ __pyx_L8_exception_handled:; -+ __Pyx_XGIVEREF(__pyx_t_5); -+ __Pyx_XGIVEREF(__pyx_t_6); -+ __Pyx_XGIVEREF(__pyx_t_7); -+ __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); -+ __pyx_L14_try_end:; - } -- __pyx_L10_except_error:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -- goto __pyx_L6; -- __pyx_L9_exception_handled:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -- __pyx_L15_try_end:; -- } -- } -- /*finally:*/ { -- int __pyx_why; -- PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; -- int __pyx_exc_lineno; -- __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L7; -- __pyx_L6: { -- __pyx_why = 4; -- __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; -- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; -- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; -- __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); -- __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L7; - } -- __pyx_L7:; -- -- /* "(tree fragment)":14 -- * raise -- * finally: -- * if EXC: # <<<<<<<<<<<<<< -- * EXIT(None, None, None) -- */ -- if (__pyx_v___tmpvar_15) { -- -- /* "h5py/h5s.pyx":146 -- * when their Python wrappers are freed. -- * """ -- * with _objects.registry.lock: # <<<<<<<<<<<<<< -- * H5Sclose(self.id) -- * if not self.valid: -- */ -- __pyx_t_6 = PyObject_Call(__pyx_v___tmpvar_16, ((PyObject *)__pyx_k_tuple_2), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L20_error;} -- __Pyx_GOTREF(__pyx_t_6); -- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -- goto __pyx_L21; -- } -- __pyx_L21:; -- goto __pyx_L22; -- __pyx_L20_error:; -- if (__pyx_why == 4) { -- Py_XDECREF(__pyx_exc_type); -- Py_XDECREF(__pyx_exc_value); -- Py_XDECREF(__pyx_exc_tb); -- } -- goto __pyx_L1_error; -- __pyx_L22:; -- switch (__pyx_why) { -- case 4: { -- __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb); -- __pyx_lineno = __pyx_exc_lineno; -- __pyx_exc_type = 0; -- __pyx_exc_value = 0; -- __pyx_exc_tb = 0; -- goto __pyx_L1_error; -+ /*finally:*/ { -+ if (__pyx_t_3) { -+ __pyx_t_7 = PyObject_Call(__pyx_t_3, __pyx_k_tuple_2, NULL); -+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -+ if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_7); -+ __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); -+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - } -+ goto __pyx_L19; -+ __pyx_L3_error:; -+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -+ goto __pyx_L1_error; -+ __pyx_L19:; - } - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); -@@ -1766,20 +1620,28 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_XDECREF(__pyx_t_6); -- __Pyx_XDECREF(__pyx_t_7); -- __Pyx_XDECREF(__pyx_t_8); -- __Pyx_AddTraceback("h5py.h5s.SpaceID._close"); -+ __Pyx_XDECREF(__pyx_t_4); -+ __Pyx_XDECREF(__pyx_t_11); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID._close", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF(__pyx_v___tmpvar_14); -- __Pyx_DECREF(__pyx_v___tmpvar_16); -- __Pyx_DECREF(__pyx_v___tmpvar_13); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_3copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_2copy[] = "() => SpaceID\n\n Create a new copy of this dataspace.\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_3copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("copy (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_2copy(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":152 - * - * -@@ -1788,15 +1650,17 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_1copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID_1copy[] = "() => SpaceID\n\n Create a new copy of this dataspace.\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_1copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_2copy(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - hid_t __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; -- __Pyx_RefNannySetupContext("copy"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("copy", 0); - - /* "h5py/h5s.pyx":157 - * Create a new copy of this dataspace. -@@ -1808,11 +1672,11 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5s_SpaceID)), __pyx_n_s__open); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_2 = __pyx_f_4h5py_4defs_H5Scopy(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = __pyx_f_4h5py_4defs_H5Scopy(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; -@@ -1830,7 +1694,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5s.SpaceID.copy"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -1838,6 +1702,18 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_5encode(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_4encode[] = "() => STRING\n\n Serialize a dataspace, including its selection. Bear in mind you\n can also use the native Python pickling machinery to do this.\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_5encode(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("encode (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_4encode(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":160 - * - * -@@ -1846,18 +1722,19 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_2encode(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID_2encode[] = "() => STRING\n\n Serialize a dataspace, including its selection. Bear in mind you\n can also use the native Python pickling machinery to do this.\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_2encode(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_4encode(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) { - void *__pyx_v_buf; - size_t __pyx_v_nalloc; -- PyObject *__pyx_v_pystr; -+ PyObject *__pyx_v_pystr = NULL; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - void *__pyx_t_2; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("encode"); -- __pyx_v_pystr = Py_None; __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("encode", 0); - - /* "h5py/h5s.pyx":166 - * can also use the native Python pickling machinery to do this. -@@ -1884,7 +1761,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * buf = emalloc(nalloc) - * try: - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sencode(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id, NULL, (&__pyx_v_nalloc)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sencode(__pyx_v_self->__pyx_base.id, NULL, (&__pyx_v_nalloc)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5s.pyx":170 - * -@@ -1912,7 +1789,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * pystr = PyBytes_FromStringAndSize(buf, nalloc) - * finally: - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sencode(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id, __pyx_v_buf, (&__pyx_v_nalloc)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sencode(__pyx_v_self->__pyx_base.id, __pyx_v_buf, (&__pyx_v_nalloc)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L4;} - - /* "h5py/h5s.pyx":173 - * try: -@@ -1921,9 +1798,8 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * finally: - * efree(buf) - */ -- __pyx_t_3 = PyBytes_FromStringAndSize(((char *)__pyx_v_buf), __pyx_v_nalloc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_3 = PyBytes_FromStringAndSize(((char *)__pyx_v_buf), __pyx_v_nalloc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_3); -- __Pyx_DECREF(__pyx_v_pystr); - __pyx_v_pystr = __pyx_t_3; - __pyx_t_3 = 0; - } -@@ -1940,15 +1816,15 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L7; -- __pyx_L6: { -+ __pyx_why = 0; goto __pyx_L5; -+ __pyx_L4: { - __pyx_why = 4; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L7; -+ goto __pyx_L5; - } -- __pyx_L7:; -+ __pyx_L5:; - __pyx_f_4h5py_5utils_efree(__pyx_v_buf); - switch (__pyx_why) { - case 4: { -@@ -1978,15 +1854,26 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5s.SpaceID.encode"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.encode", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF(__pyx_v_pystr); -+ __Pyx_XDECREF(__pyx_v_pystr); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_7__reduce__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_7__reduce__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__reduce__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_6__reduce__(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":180 - * - * -@@ -1995,12 +1882,15 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_3__reduce__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_3__reduce__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_6__reduce__(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("__reduce__"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__reduce__", 0); - - /* "h5py/h5s.pyx":181 - * -@@ -2010,16 +1900,16 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__encode); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__encode); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -- __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_v_self))); -- PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(__pyx_v_self))); -- __Pyx_GIVEREF(((PyObject *)Py_TYPE(__pyx_v_self))); -+ __Pyx_GOTREF(__pyx_t_1); -+ __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); -+ PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); -+ __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); - __Pyx_INCREF(((PyObject *)__pyx_k_tuple_3)); - PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_k_tuple_3)); - __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_3)); -@@ -2035,7 +1925,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5s.SpaceID.__reduce__"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.__reduce__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2043,6 +1933,17 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_9__setstate__(PyObject *__pyx_v_self, PyObject *__pyx_v_state); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_9__setstate__(PyObject *__pyx_v_self, PyObject *__pyx_v_state) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__setstate__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_8__setstate__(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self), ((PyObject *)__pyx_v_state)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":184 - * - * -@@ -2051,13 +1952,16 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * self.id = H5Sdecode(buf) - */ - --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_4__setstate__(PyObject *__pyx_v_self, PyObject *__pyx_v_state); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_4__setstate__(PyObject *__pyx_v_self, PyObject *__pyx_v_state) { -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_8__setstate__(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, PyObject *__pyx_v_state) { - char *__pyx_v_buf; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - char *__pyx_t_1; - hid_t __pyx_t_2; -- __Pyx_RefNannySetupContext("__setstate__"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__setstate__", 0); - - /* "h5py/h5s.pyx":185 - * -@@ -2077,12 +1981,12 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * # === Simple dataspaces =================================================== - */ - __pyx_t_2 = __pyx_f_4h5py_4defs_H5Sdecode(__pyx_v_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- ((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id = __pyx_t_2; -+ __pyx_v_self->__pyx_base.id = __pyx_t_2; - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5s.SpaceID.__setstate__"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.__setstate__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2090,6 +1994,18 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_11is_simple(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_10is_simple[] = "() => BOOL is_simple\n\n Determine if an existing dataspace is \"simple\" (including scalar\n dataspaces). Currently all HDF5 dataspaces are simple.\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_11is_simple(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("is_simple (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_10is_simple(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":191 - * - * -@@ -2098,13 +2014,15 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_5is_simple(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID_5is_simple[] = "() => BOOL is_simple\n\n Determine if an existing dataspace is \"simple\" (including scalar\n dataspaces). Currently all HDF5 dataspaces are simple.\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_5is_simple(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_10is_simple(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - htri_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("is_simple"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("is_simple", 0); - - /* "h5py/h5s.pyx":197 - * dataspaces). Currently all HDF5 dataspaces are simple. -@@ -2114,7 +2032,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sis_simple(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sis_simple(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -2125,7 +2043,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5s.SpaceID.is_simple"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.is_simple", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2133,67 +2051,84 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - return __pyx_r; - } - --/* "h5py/h5s.pyx":200 -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_13offset_simple(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_12offset_simple[] = "(TUPLE offset=None)\n\n Set the offset of a dataspace. The length of the given tuple must\n match the rank of the dataspace. If None is provided (default),\n the offsets on all axes will be set to 0.\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_13offset_simple(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+ PyObject *__pyx_v_offset = 0; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("offset_simple (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__offset,0}; -+ PyObject* values[1] = {0}; -+ -+ /* "h5py/h5s.pyx":200 - * - * - * def offset_simple(self, object offset=None): # <<<<<<<<<<<<<< - * """(TUPLE offset=None) - * - */ -- --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_6offset_simple(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID_6offset_simple[] = "(TUPLE offset=None)\n\n Set the offset of a dataspace. The length of the given tuple must\n match the rank of the dataspace. If None is provided (default),\n the offsets on all axes will be set to 0.\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_6offset_simple(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -- PyObject *__pyx_v_offset = 0; -- int __pyx_v_rank; -- int __pyx_v_i; -- hssize_t *__pyx_v_dims; -- PyObject *__pyx_r = NULL; -- htri_t __pyx_t_1; -- int __pyx_t_2; -- PyObject *__pyx_t_3 = NULL; -- PyObject *__pyx_t_4 = NULL; -- int __pyx_t_5; -- void *__pyx_t_6; -- herr_t __pyx_t_7; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__offset,0}; -- __Pyx_RefNannySetupContext("offset_simple"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -- PyObject* values[1] = {0}; - values[0] = ((PyObject *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__offset); -- if (value) { values[0] = value; kw_args--; } -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__offset); -+ if (value) { values[0] = value; kw_args--; } -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "offset_simple") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "offset_simple") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - __pyx_v_offset = values[0]; -- } else { -- __pyx_v_offset = ((PyObject *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 1: __pyx_v_offset = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("offset_simple", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5s.SpaceID.offset_simple"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.offset_simple", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_12offset_simple(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self), __pyx_v_offset); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_12offset_simple(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, PyObject *__pyx_v_offset) { -+ int __pyx_v_rank; -+ int __pyx_v_i; -+ hssize_t *__pyx_v_dims; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ htri_t __pyx_t_1; -+ int __pyx_t_2; -+ PyObject *__pyx_t_3 = NULL; -+ PyObject *__pyx_t_4 = NULL; -+ int __pyx_t_5; -+ void *__pyx_t_6; -+ herr_t __pyx_t_7; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("offset_simple", 0); - - /* "h5py/h5s.pyx":209 - * cdef int rank -@@ -2220,7 +2155,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * raise ValueError("%d is not a simple dataspace" % self.id) - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sis_simple(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sis_simple(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_t_2 = (!__pyx_t_1); - if (__pyx_t_2) { - -@@ -2231,25 +2166,25 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * rank = H5Sget_simple_extent_ndims(self.id) - */ -- __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_v_self->__pyx_base.id); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_3); -- __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_4), __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_4), __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L7;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L4;} -+ __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); - __pyx_t_4 = 0; -- __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; -- __Pyx_Raise(__pyx_t_4, 0, 0); -+ __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L7;} -- goto __pyx_L9; -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L4;} -+ goto __pyx_L6; - } -- __pyx_L9:; -+ __pyx_L6:; - - /* "h5py/h5s.pyx":215 - * raise ValueError("%d is not a simple dataspace" % self.id) -@@ -2258,7 +2193,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * require_tuple(offset, 1, rank, "offset") - */ -- __pyx_t_5 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_5 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_rank = __pyx_t_5; - - /* "h5py/h5s.pyx":217 -@@ -2268,7 +2203,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * dims = emalloc(sizeof(hssize_t)*rank) - * if(offset is not None): - */ -- __pyx_t_5 = __pyx_f_4h5py_5utils_require_tuple(__pyx_v_offset, 1, __pyx_v_rank, __pyx_k__offset); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_5 = __pyx_f_4h5py_5utils_require_tuple(__pyx_v_offset, 1, __pyx_v_rank, __pyx_k__offset); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L4;} - - /* "h5py/h5s.pyx":218 - * -@@ -2277,7 +2212,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * if(offset is not None): - * convert_tuple(offset, dims, rank) - */ -- __pyx_t_6 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hssize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_6 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_6 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hssize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_6 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_dims = ((hssize_t *)__pyx_t_6); - - /* "h5py/h5s.pyx":219 -@@ -2297,8 +2232,8 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * else: - * # The HDF5 docs say passing in NULL resets the offset to 0. - */ -- __pyx_t_5 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_offset, ((hsize_t *)__pyx_v_dims), __pyx_v_rank); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L7;} -- goto __pyx_L10; -+ __pyx_t_5 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_offset, ((hsize_t *)__pyx_v_dims), __pyx_v_rank); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L4;} -+ goto __pyx_L7; - } - /*else*/ { - -@@ -2322,7 +2257,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - (__pyx_v_dims[__pyx_v_i]) = 0; - } - } -- __pyx_L10:; -+ __pyx_L7:; - - /* "h5py/h5s.pyx":228 - * dims[i] = 0 -@@ -2331,7 +2266,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * finally: - */ -- __pyx_t_7 = __pyx_f_4h5py_4defs_H5Soffset_simple(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id, __pyx_v_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_7 = __pyx_f_4h5py_4defs_H5Soffset_simple(__pyx_v_self->__pyx_base.id, __pyx_v_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L4;} - } - - /* "h5py/h5s.pyx":231 -@@ -2346,16 +2281,16 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L8; -- __pyx_L7: { -+ __pyx_why = 0; goto __pyx_L5; -+ __pyx_L4: { - __pyx_why = 4; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L8; -+ goto __pyx_L5; - } -- __pyx_L8:; -+ __pyx_L5:; - __pyx_f_4h5py_5utils_efree(__pyx_v_dims); - switch (__pyx_why) { - case 4: { -@@ -2374,7 +2309,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5s.SpaceID.offset_simple"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.offset_simple", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2382,6 +2317,18 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_15get_simple_extent_ndims(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_14get_simple_extent_ndims[] = "() => INT rank\n\n Determine the rank of a \"simple\" (slab) dataspace.\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_15get_simple_extent_ndims(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_simple_extent_ndims (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_14get_simple_extent_ndims(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":234 - * - * -@@ -2390,13 +2337,15 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_7get_simple_extent_ndims(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID_7get_simple_extent_ndims[] = "() => INT rank\n\n Determine the rank of a \"simple\" (slab) dataspace.\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_7get_simple_extent_ndims(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_14get_simple_extent_ndims(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_simple_extent_ndims"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_simple_extent_ndims", 0); - - /* "h5py/h5s.pyx":239 - * Determine the rank of a "simple" (slab) dataspace. -@@ -2406,7 +2355,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -2417,73 +2366,90 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5s.SpaceID.get_simple_extent_ndims"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.get_simple_extent_ndims", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -- __Pyx_RefNannyFinishContext(); -- return __pyx_r; --} -- --/* "h5py/h5s.pyx":242 -- * -- * -- * def get_simple_extent_dims(self, int maxdims=0): # <<<<<<<<<<<<<< -- * """(BOOL maxdims=False) => TUPLE shape -- * -- */ -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} - --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_8get_simple_extent_dims(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID_8get_simple_extent_dims[] = "(BOOL maxdims=False) => TUPLE shape\n\n Determine the shape of a \"simple\" (slab) dataspace. If \"maxdims\"\n is True, retrieve the maximum dataspace size instead.\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_8get_simple_extent_dims(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_17get_simple_extent_dims(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_16get_simple_extent_dims[] = "(BOOL maxdims=False) => TUPLE shape\n\n Determine the shape of a \"simple\" (slab) dataspace. If \"maxdims\"\n is True, retrieve the maximum dataspace size instead.\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_17get_simple_extent_dims(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - int __pyx_v_maxdims; -- int __pyx_v_rank; -- hsize_t *__pyx_v_dims; -- PyObject *__pyx_r = NULL; -- int __pyx_t_1; -- void *__pyx_t_2; -- PyObject *__pyx_t_3 = NULL; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__maxdims,0}; -- __Pyx_RefNannySetupContext("get_simple_extent_dims"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_simple_extent_dims (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__maxdims,0}; - PyObject* values[1] = {0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__maxdims); -- if (value) { values[0] = value; kw_args--; } -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__maxdims); -+ if (value) { values[0] = value; kw_args--; } -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_simple_extent_dims") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "get_simple_extent_dims") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - if (values[0]) { - __pyx_v_maxdims = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_maxdims == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } else { - __pyx_v_maxdims = ((int)0); - } -- } else { -- __pyx_v_maxdims = ((int)0); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 1: __pyx_v_maxdims = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_maxdims == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_simple_extent_dims", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5s.SpaceID.get_simple_extent_dims"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.get_simple_extent_dims", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_16get_simple_extent_dims(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self), __pyx_v_maxdims); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5s.pyx":242 -+ * -+ * -+ * def get_simple_extent_dims(self, int maxdims=0): # <<<<<<<<<<<<<< -+ * """(BOOL maxdims=False) => TUPLE shape -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_16get_simple_extent_dims(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, int __pyx_v_maxdims) { -+ int __pyx_v_rank; -+ hsize_t *__pyx_v_dims; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ int __pyx_t_1; -+ void *__pyx_t_2; -+ PyObject *__pyx_t_3 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_simple_extent_dims", 0); - - /* "h5py/h5s.pyx":249 - * """ -@@ -2501,7 +2467,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * dims = emalloc(sizeof(hsize_t)*rank) - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_dims(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id, NULL, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_dims(__pyx_v_self->__pyx_base.id, NULL, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_rank = __pyx_t_1; - - /* "h5py/h5s.pyx":253 -@@ -2539,8 +2505,8 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * else: - * H5Sget_simple_extent_dims(self.id, dims, NULL) - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_dims(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id, NULL, __pyx_v_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L7;} -- goto __pyx_L9; -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_dims(__pyx_v_self->__pyx_base.id, NULL, __pyx_v_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L4;} -+ goto __pyx_L6; - } - /*else*/ { - -@@ -2551,9 +2517,9 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * return convert_dims(dims, rank) - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_dims(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id, __pyx_v_dims, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_dims(__pyx_v_self->__pyx_base.id, __pyx_v_dims, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L4;} - } -- __pyx_L9:; -+ __pyx_L6:; - - /* "h5py/h5s.pyx":260 - * H5Sget_simple_extent_dims(self.id, dims, NULL) -@@ -2563,11 +2529,11 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * finally: - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_3 = __pyx_f_4h5py_5utils_convert_dims(__pyx_v_dims, __pyx_v_rank); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_3 = __pyx_f_4h5py_5utils_convert_dims(__pyx_v_dims, __pyx_v_rank); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; -- goto __pyx_L6; -+ goto __pyx_L3; - } - - /* "h5py/h5s.pyx":263 -@@ -2582,17 +2548,17 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L8; -- __pyx_L6: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 3; goto __pyx_L8; -- __pyx_L7: { -+ __pyx_why = 0; goto __pyx_L5; -+ __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -+ __pyx_why = 3; goto __pyx_L5; -+ __pyx_L4: { - __pyx_why = 4; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L8; -+ goto __pyx_L5; - } -- __pyx_L8:; -+ __pyx_L5:; - __pyx_f_4h5py_5utils_efree(__pyx_v_dims); - switch (__pyx_why) { - case 3: goto __pyx_L0; -@@ -2611,7 +2577,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5s.SpaceID.get_simple_extent_dims"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.get_simple_extent_dims", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2619,6 +2585,18 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_19get_simple_extent_npoints(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_18get_simple_extent_npoints[] = "() => LONG npoints\n\n Determine the total number of elements in a dataspace.\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_19get_simple_extent_npoints(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_simple_extent_npoints (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_18get_simple_extent_npoints(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":266 - * - * -@@ -2627,13 +2605,15 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_9get_simple_extent_npoints(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID_9get_simple_extent_npoints[] = "() => LONG npoints\n\n Determine the total number of elements in a dataspace.\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_9get_simple_extent_npoints(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_18get_simple_extent_npoints(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hssize_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_simple_extent_npoints"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_simple_extent_npoints", 0); - - /* "h5py/h5s.pyx":271 - * Determine the total number of elements in a dataspace. -@@ -2643,7 +2623,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_npoints(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_npoints(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyInt_to_py_hssize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -2654,7 +2634,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5s.SpaceID.get_simple_extent_npoints"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.get_simple_extent_npoints", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2662,6 +2642,18 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_21get_simple_extent_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_20get_simple_extent_type[] = "() => INT class_code\n\n Class code is either SCALAR or SIMPLE.\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_21get_simple_extent_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_simple_extent_type (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_20get_simple_extent_type(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":274 - * - * -@@ -2670,13 +2662,15 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_10get_simple_extent_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID_10get_simple_extent_type[] = "() => INT class_code\n\n Class code is either SCALAR or SIMPLE.\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_10get_simple_extent_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_20get_simple_extent_type(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - H5S_class_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_simple_extent_type"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_simple_extent_type", 0); - - /* "h5py/h5s.pyx":279 - * Class code is either SCALAR or SIMPLE. -@@ -2686,7 +2680,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * # === Extents ============================================================= - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_type(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_type(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -2697,7 +2691,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5s.SpaceID.get_simple_extent_type"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.get_simple_extent_type", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2705,6 +2699,23 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_23extent_copy(PyObject *__pyx_v_self, PyObject *__pyx_v_source); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_22extent_copy[] = "(SpaceID source)\n\n Replace this dataspace's extent with another's, changing its\n typecode if necessary.\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_23extent_copy(PyObject *__pyx_v_self, PyObject *__pyx_v_source) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("extent_copy (wrapper)", 0); -+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_source), __pyx_ptype_4h5py_3h5s_SpaceID, 0, "source", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_22extent_copy(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self), ((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_source)); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":284 - * - * -@@ -2713,13 +2724,14 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_11extent_copy(PyObject *__pyx_v_self, PyObject *__pyx_v_source); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID_11extent_copy[] = "(SpaceID source)\n\n Replace this dataspace's extent with another's, changing its\n typecode if necessary.\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_11extent_copy(PyObject *__pyx_v_self, PyObject *__pyx_v_source) { -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_22extent_copy(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_source) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("extent_copy"); -- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_source), __pyx_ptype_4h5py_3h5s_SpaceID, 0, "source", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("extent_copy", 0); - - /* "h5py/h5s.pyx":290 - * typecode if necessary. -@@ -2728,12 +2740,12 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sextent_copy(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id, ((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_source)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sextent_copy(__pyx_v_self->__pyx_base.id, __pyx_v_source->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5s.SpaceID.extent_copy"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.extent_copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2741,73 +2753,89 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - return __pyx_r; - } - --/* "h5py/h5s.pyx":293 -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_25set_extent_simple(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_24set_extent_simple[] = "(TUPLE dims_tpl, TUPLE max_dims_tpl=None)\n\n Reset the dataspace extent via a tuple of dimensions.\n Every element of dims_tpl must be a positive integer.\n\n You can optionally specify the maximum dataspace size. The\n special value UNLIMITED, as an element of max_dims, indicates\n an unlimited dimension.\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_25set_extent_simple(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+ PyObject *__pyx_v_dims_tpl = 0; -+ PyObject *__pyx_v_max_dims_tpl = 0; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_extent_simple (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__dims_tpl,&__pyx_n_s__max_dims_tpl,0}; -+ PyObject* values[2] = {0,0}; -+ -+ /* "h5py/h5s.pyx":293 - * - * - * def set_extent_simple(self, object dims_tpl, object max_dims_tpl=None): # <<<<<<<<<<<<<< - * """(TUPLE dims_tpl, TUPLE max_dims_tpl=None) - * - */ -- --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_12set_extent_simple(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID_12set_extent_simple[] = "(TUPLE dims_tpl, TUPLE max_dims_tpl=None)\n\n Reset the dataspace extent via a tuple of dimensions.\n Every element of dims_tpl must be a positive integer.\n\n You can optionally specify the maximum dataspace size. The\n special value UNLIMITED, as an element of max_dims, indicates\n an unlimited dimension.\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_12set_extent_simple(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -- PyObject *__pyx_v_dims_tpl = 0; -- PyObject *__pyx_v_max_dims_tpl = 0; -- int __pyx_v_rank; -- hsize_t *__pyx_v_dims; -- hsize_t *__pyx_v_max_dims; -- PyObject *__pyx_r = NULL; -- int __pyx_t_1; -- Py_ssize_t __pyx_t_2; -- void *__pyx_t_3; -- int __pyx_t_4; -- herr_t __pyx_t_5; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__dims_tpl,&__pyx_n_s__max_dims_tpl,0}; -- __Pyx_RefNannySetupContext("set_extent_simple"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -- PyObject* values[2] = {0,0}; - values[1] = ((PyObject *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dims_tpl); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__max_dims_tpl); -- if (value) { values[1] = value; kw_args--; } -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dims_tpl)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__max_dims_tpl); -+ if (value) { values[1] = value; kw_args--; } -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_extent_simple") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "set_extent_simple") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - __pyx_v_dims_tpl = values[0]; - __pyx_v_max_dims_tpl = values[1]; -- } else { -- __pyx_v_max_dims_tpl = ((PyObject *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: __pyx_v_max_dims_tpl = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: __pyx_v_dims_tpl = PyTuple_GET_ITEM(__pyx_args, 0); -- break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("set_extent_simple", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5s.SpaceID.set_extent_simple"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.set_extent_simple", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_24set_extent_simple(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self), __pyx_v_dims_tpl, __pyx_v_max_dims_tpl); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_24set_extent_simple(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, PyObject *__pyx_v_dims_tpl, PyObject *__pyx_v_max_dims_tpl) { -+ int __pyx_v_rank; -+ hsize_t *__pyx_v_dims; -+ hsize_t *__pyx_v_max_dims; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ int __pyx_t_1; -+ Py_ssize_t __pyx_t_2; -+ void *__pyx_t_3; -+ int __pyx_t_4; -+ herr_t __pyx_t_5; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_extent_simple", 0); - - /* "h5py/h5s.pyx":304 - * """ -@@ -2871,7 +2899,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * convert_tuple(dims_tpl, dims, rank) - * - */ -- __pyx_t_3 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_3 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_3 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_3 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_dims = ((hsize_t *)__pyx_t_3); - - /* "h5py/h5s.pyx":313 -@@ -2881,7 +2909,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * if max_dims_tpl is not None: - */ -- __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_dims_tpl, __pyx_v_dims, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_dims_tpl, __pyx_v_dims, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L4;} - - /* "h5py/h5s.pyx":315 - * convert_tuple(dims_tpl, dims, rank) -@@ -2900,7 +2928,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * convert_tuple(max_dims_tpl, max_dims, rank) - * - */ -- __pyx_t_3 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_3 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_3 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_3 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_max_dims = ((hsize_t *)__pyx_t_3); - - /* "h5py/h5s.pyx":317 -@@ -2910,10 +2938,10 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * H5Sset_extent_simple(self.id, rank, dims, max_dims) - */ -- __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_max_dims_tpl, __pyx_v_max_dims, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L7;} -- goto __pyx_L9; -+ __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_max_dims_tpl, __pyx_v_max_dims, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L4;} -+ goto __pyx_L6; - } -- __pyx_L9:; -+ __pyx_L6:; - - /* "h5py/h5s.pyx":319 - * convert_tuple(max_dims_tpl, max_dims, rank) -@@ -2922,7 +2950,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * finally: - */ -- __pyx_t_5 = __pyx_f_4h5py_4defs_H5Sset_extent_simple(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id, __pyx_v_rank, __pyx_v_dims, __pyx_v_max_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_5 = __pyx_f_4h5py_4defs_H5Sset_extent_simple(__pyx_v_self->__pyx_base.id, __pyx_v_rank, __pyx_v_dims, __pyx_v_max_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L4;} - } - - /* "h5py/h5s.pyx":322 -@@ -2937,14 +2965,14 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L8; -- __pyx_L7: { -+ __pyx_why = 0; goto __pyx_L5; -+ __pyx_L4: { - __pyx_why = 4; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L8; -+ goto __pyx_L5; - } -- __pyx_L8:; -+ __pyx_L5:; - __pyx_f_4h5py_5utils_efree(__pyx_v_dims); - - /* "h5py/h5s.pyx":323 -@@ -2970,7 +2998,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5s.SpaceID.set_extent_simple"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.set_extent_simple", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2978,6 +3006,18 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_27set_extent_none(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_26set_extent_none[] = "()\n\n Remove the dataspace extent; typecode changes to NO_CLASS.\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_27set_extent_none(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_extent_none (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_26set_extent_none(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":326 - * - * -@@ -2986,12 +3026,14 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_13set_extent_none(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID_13set_extent_none[] = "()\n\n Remove the dataspace extent; typecode changes to NO_CLASS.\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_13set_extent_none(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_26set_extent_none(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_extent_none"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_extent_none", 0); - - /* "h5py/h5s.pyx":331 - * Remove the dataspace extent; typecode changes to NO_CLASS. -@@ -3000,12 +3042,12 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * # === General selection operations ======================================== - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sset_extent_none(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sset_extent_none(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5s.SpaceID.set_extent_none"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.set_extent_none", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3013,6 +3055,18 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_29get_select_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_28get_select_type[] = " () => INT select_code\n\n Determine selection type. Return values are:\n\n - SEL_NONE\n - SEL_ALL\n - SEL_POINTS\n - SEL_HYPERSLABS\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_29get_select_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_select_type (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_28get_select_type(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":336 - * - * -@@ -3021,13 +3075,15 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_14get_select_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID_14get_select_type[] = " () => INT select_code\n\n Determine selection type. Return values are:\n\n - SEL_NONE\n - SEL_ALL\n - SEL_POINTS\n - SEL_HYPERSLABS\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_14get_select_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_28get_select_type(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - H5S_sel_type __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_select_type"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_select_type", 0); - - /* "h5py/h5s.pyx":346 - * - SEL_HYPERSLABS -@@ -3037,7 +3093,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_select_type(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_select_type(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -3048,7 +3104,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5s.SpaceID.get_select_type"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.get_select_type", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3056,6 +3112,18 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_31get_select_npoints(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_30get_select_npoints[] = "() => LONG npoints\n\n Determine the total number of points currently selected.\n Works for all selection techniques.\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_31get_select_npoints(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_select_npoints (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_30get_select_npoints(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":349 - * - * -@@ -3064,13 +3132,15 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_15get_select_npoints(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID_15get_select_npoints[] = "() => LONG npoints\n\n Determine the total number of points currently selected.\n Works for all selection techniques.\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_15get_select_npoints(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_30get_select_npoints(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hssize_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_select_npoints"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_select_npoints", 0); - - /* "h5py/h5s.pyx":355 - * Works for all selection techniques. -@@ -3080,7 +3150,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_select_npoints(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_select_npoints(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyInt_to_py_hssize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -3091,7 +3161,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5s.SpaceID.get_select_npoints"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.get_select_npoints", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3099,6 +3169,18 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_33get_select_bounds(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_32get_select_bounds[] = "() => (TUPLE start, TUPLE end)\n\n Determine the bounding box which exactly contains\n the current selection.\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_33get_select_bounds(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_select_bounds (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_32get_select_bounds(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":358 - * - * -@@ -3107,24 +3189,24 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_16get_select_bounds(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID_16get_select_bounds[] = "() => (TUPLE start, TUPLE end)\n\n Determine the bounding box which exactly contains\n the current selection.\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_16get_select_bounds(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_32get_select_bounds(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) { - int __pyx_v_rank; - hsize_t *__pyx_v_start; - hsize_t *__pyx_v_end; -- PyObject *__pyx_v_start_tpl; -- PyObject *__pyx_v_end_tpl; -+ PyObject *__pyx_v_start_tpl = NULL; -+ PyObject *__pyx_v_end_tpl = NULL; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - hssize_t __pyx_t_2; - int __pyx_t_3; - void *__pyx_t_4; - herr_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; -- __Pyx_RefNannySetupContext("get_select_bounds"); -- __pyx_v_start_tpl = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v_end_tpl = Py_None; __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_select_bounds", 0); - - /* "h5py/h5s.pyx":365 - * """ -@@ -3151,7 +3233,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * if H5Sget_select_npoints(self.id) == 0: - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_rank = __pyx_t_1; - - /* "h5py/h5s.pyx":370 -@@ -3161,7 +3243,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * return None - * - */ -- __pyx_t_2 = __pyx_f_4h5py_4defs_H5Sget_select_npoints(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = __pyx_f_4h5py_4defs_H5Sget_select_npoints(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = (__pyx_t_2 == 0); - if (__pyx_t_3) { - -@@ -3176,9 +3258,9 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - __Pyx_INCREF(Py_None); - __pyx_r = Py_None; - goto __pyx_L0; -- goto __pyx_L5; -+ goto __pyx_L3; - } -- __pyx_L5:; -+ __pyx_L3:; - - /* "h5py/h5s.pyx":373 - * return None -@@ -3216,7 +3298,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * start_tpl = convert_dims(start, rank) - */ -- __pyx_t_5 = __pyx_f_4h5py_4defs_H5Sget_select_bounds(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id, __pyx_v_start, __pyx_v_end); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_5 = __pyx_f_4h5py_4defs_H5Sget_select_bounds(__pyx_v_self->__pyx_base.id, __pyx_v_start, __pyx_v_end); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L5;} - - /* "h5py/h5s.pyx":379 - * H5Sget_select_bounds(self.id, start, end) -@@ -3225,9 +3307,8 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * end_tpl = convert_dims(end, rank) - * return (start_tpl, end_tpl) - */ -- __pyx_t_6 = __pyx_f_4h5py_5utils_convert_dims(__pyx_v_start, __pyx_v_rank); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_6 = __pyx_f_4h5py_5utils_convert_dims(__pyx_v_start, __pyx_v_rank); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L5;} - __Pyx_GOTREF(__pyx_t_6); -- __Pyx_DECREF(__pyx_v_start_tpl); - __pyx_v_start_tpl = __pyx_t_6; - __pyx_t_6 = 0; - -@@ -3238,9 +3319,8 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * return (start_tpl, end_tpl) - * - */ -- __pyx_t_6 = __pyx_f_4h5py_5utils_convert_dims(__pyx_v_end, __pyx_v_rank); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_6 = __pyx_f_4h5py_5utils_convert_dims(__pyx_v_end, __pyx_v_rank); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L5;} - __Pyx_GOTREF(__pyx_t_6); -- __Pyx_DECREF(__pyx_v_end_tpl); - __pyx_v_end_tpl = __pyx_t_6; - __pyx_t_6 = 0; - -@@ -3252,8 +3332,8 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * finally: - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L7;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_6)); -+ __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L5;} -+ __Pyx_GOTREF(__pyx_t_6); - __Pyx_INCREF(__pyx_v_start_tpl); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_start_tpl); - __Pyx_GIVEREF(__pyx_v_start_tpl); -@@ -3262,7 +3342,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - __Pyx_GIVEREF(__pyx_v_end_tpl); - __pyx_r = ((PyObject *)__pyx_t_6); - __pyx_t_6 = 0; -- goto __pyx_L6; -+ goto __pyx_L4; - } - - /* "h5py/h5s.pyx":384 -@@ -3277,17 +3357,17 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L8; -- __pyx_L6: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 3; goto __pyx_L8; -- __pyx_L7: { -+ __pyx_why = 0; goto __pyx_L6; -+ __pyx_L4: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -+ __pyx_why = 3; goto __pyx_L6; -+ __pyx_L5: { - __pyx_why = 4; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L8; -+ goto __pyx_L6; - } -- __pyx_L8:; -+ __pyx_L6:; - __pyx_f_4h5py_5utils_efree(__pyx_v_start); - - /* "h5py/h5s.pyx":385 -@@ -3315,16 +3395,28 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_6); -- __Pyx_AddTraceback("h5py.h5s.SpaceID.get_select_bounds"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.get_select_bounds", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF(__pyx_v_start_tpl); -- __Pyx_DECREF(__pyx_v_end_tpl); -+ __Pyx_XDECREF(__pyx_v_start_tpl); -+ __Pyx_XDECREF(__pyx_v_end_tpl); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_35select_all(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_34select_all[] = "()\n\n Select all points in the dataspace.\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_35select_all(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("select_all (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_34select_all(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":388 - * - * -@@ -3333,12 +3425,14 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_17select_all(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID_17select_all[] = "()\n\n Select all points in the dataspace.\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_17select_all(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_34select_all(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("select_all"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("select_all", 0); - - /* "h5py/h5s.pyx":393 - * Select all points in the dataspace. -@@ -3347,12 +3441,12 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sselect_all(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sselect_all(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5s.SpaceID.select_all"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.select_all", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3360,6 +3454,18 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_37select_none(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_36select_none[] = "()\n\n Deselect entire dataspace.\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_37select_none(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("select_none (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_36select_none(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":396 - * - * -@@ -3368,12 +3474,14 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_18select_none(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID_18select_none[] = "()\n\n Deselect entire dataspace.\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_18select_none(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_36select_none(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("select_none"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("select_none", 0); - - /* "h5py/h5s.pyx":401 - * Deselect entire dataspace. -@@ -3382,12 +3490,12 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sselect_none(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sselect_none(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5s.SpaceID.select_none"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.select_none", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3395,6 +3503,18 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_39select_valid(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_38select_valid[] = "() => BOOL\n\n Determine if the current selection falls within\n the dataspace extent.\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_39select_valid(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("select_valid (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_38select_valid(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":404 - * - * -@@ -3403,13 +3523,15 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_19select_valid(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID_19select_valid[] = "() => BOOL\n\n Determine if the current selection falls within\n the dataspace extent.\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_19select_valid(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_38select_valid(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - htri_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("select_valid"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("select_valid", 0); - - /* "h5py/h5s.pyx":410 - * the dataspace extent. -@@ -3419,7 +3541,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * # === Point selection functions =========================================== - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sselect_valid(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sselect_valid(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -3430,7 +3552,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5s.SpaceID.select_valid"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.select_valid", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3438,6 +3560,18 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_41get_select_elem_npoints(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_40get_select_elem_npoints[] = "() => LONG npoints\n\n Determine the number of elements selected in point-selection mode.\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_41get_select_elem_npoints(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_select_elem_npoints (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_40get_select_elem_npoints(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":415 - * - * -@@ -3446,13 +3580,15 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_20get_select_elem_npoints(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID_20get_select_elem_npoints[] = "() => LONG npoints\n\n Determine the number of elements selected in point-selection mode.\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_20get_select_elem_npoints(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_40get_select_elem_npoints(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hssize_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_select_elem_npoints"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_select_elem_npoints", 0); - - /* "h5py/h5s.pyx":420 - * Determine the number of elements selected in point-selection mode. -@@ -3462,7 +3598,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_select_elem_npoints(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_select_elem_npoints(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyInt_to_py_hssize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -3473,7 +3609,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5s.SpaceID.get_select_elem_npoints"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.get_select_elem_npoints", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3481,6 +3617,18 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_43get_select_elem_pointlist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_42get_select_elem_pointlist[] = "() => NDARRAY\n\n Get a list of all selected elements. Return is a Numpy array of\n unsigned ints, with shape ``(, __pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_select_elem_npoints(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - (__pyx_v_dims[0]) = __pyx_t_1; - - /* "h5py/h5s.pyx":433 -@@ -3519,7 +3668,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * buf = create_numpy_hsize(2, dims) - */ -- __pyx_t_2 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - (__pyx_v_dims[1]) = __pyx_t_2; - - /* "h5py/h5s.pyx":435 -@@ -3532,7 +3681,6 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - __pyx_t_3 = __pyx_f_4h5py_5utils_create_numpy_hsize(2, __pyx_v_dims); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(((PyObject *)__pyx_v_buf)); - __pyx_v_buf = ((PyArrayObject *)__pyx_t_3); - __pyx_t_3 = 0; - -@@ -3543,7 +3691,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * return buf - */ -- __pyx_t_4 = __pyx_f_4h5py_4defs_H5Sget_select_elem_pointlist(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id, 0, (__pyx_v_dims[0]), ((hsize_t *)__pyx_v_buf->data)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = __pyx_f_4h5py_4defs_H5Sget_select_elem_pointlist(__pyx_v_self->__pyx_base.id, 0, (__pyx_v_dims[0]), ((hsize_t *)__pyx_v_buf->data)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5s.pyx":439 - * H5Sget_select_elem_pointlist(self.id, 0, dims[0], buf.data) -@@ -3561,62 +3709,57 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5s.SpaceID.get_select_elem_pointlist"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.get_select_elem_pointlist", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_buf); -+ __Pyx_XDECREF((PyObject *)__pyx_v_buf); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - --/* "h5py/h5s.pyx":442 -- * -- * -- * def select_elements(self, object coords, int op=H5S_SELECT_SET): # <<<<<<<<<<<<<< -- * """(SEQUENCE coords, INT op=SELECT_SET) -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_22select_elements(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID_22select_elements[] = "(SEQUENCE coords, INT op=SELECT_SET)\n\n Select elements by specifying coordinates points. The argument\n \"coords\" may be an ndarray or any nested sequence which can be\n converted to an array of uints with the shape::\n\n (, )\n\n Examples::\n\n >>> obj.shape\n (10, 10)\n >>> obj.select_elements([(1,2), (3,4), (5,9)])\n\n A zero-length selection (i.e. shape ``(0, )``) is not allowed\n by the HDF5 library.\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_22select_elements(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_45select_elements(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_44select_elements[] = "(SEQUENCE coords, INT op=SELECT_SET)\n\n Select elements by specifying coordinates points. The argument\n \"coords\" may be an ndarray or any nested sequence which can be\n converted to an array of uints with the shape::\n\n (, )\n\n Examples::\n\n >>> obj.shape\n (10, 10)\n >>> obj.select_elements([(1,2), (3,4), (5,9)])\n\n A zero-length selection (i.e. shape ``(0, )``) is not allowed\n by the HDF5 library.\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_45select_elements(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_coords = 0; - int __pyx_v_op; -- PyArrayObject *__pyx_v_hcoords; -- size_t __pyx_v_nelements; -- PyObject *__pyx_r = NULL; -- PyObject *__pyx_t_1 = NULL; -- int __pyx_t_2; -- int __pyx_t_3; -- int __pyx_t_4; -- int __pyx_t_5; -- PyObject *__pyx_t_6 = NULL; -- herr_t __pyx_t_7; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__coords,&__pyx_n_s__op,0}; -- __Pyx_RefNannySetupContext("select_elements"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("select_elements (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__coords,&__pyx_n_s__op,0}; - PyObject* values[2] = {0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__coords); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__op); -- if (value) { values[1] = value; kw_args--; } -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__coords)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__op); -+ if (value) { values[1] = value; kw_args--; } -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "select_elements") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "select_elements") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - __pyx_v_coords = values[0]; - if (values[1]) { -@@ -3624,24 +3767,44 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - } else { - __pyx_v_op = __pyx_k_5; - } -- } else { -- __pyx_v_op = __pyx_k_5; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: __pyx_v_op = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_op == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 1: __pyx_v_coords = PyTuple_GET_ITEM(__pyx_args, 0); -- break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("select_elements", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5s.SpaceID.select_elements"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.select_elements", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -- __pyx_v_hcoords = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_44select_elements(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self), __pyx_v_coords, __pyx_v_op); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5s.pyx":442 -+ * -+ * -+ * def select_elements(self, object coords, int op=H5S_SELECT_SET): # <<<<<<<<<<<<<< -+ * """(SEQUENCE coords, INT op=SELECT_SET) -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_44select_elements(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, PyObject *__pyx_v_coords, int __pyx_v_op) { -+ PyArrayObject *__pyx_v_hcoords = 0; -+ size_t __pyx_v_nelements; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ PyObject *__pyx_t_1 = NULL; -+ int __pyx_t_2; -+ int __pyx_t_3; -+ int __pyx_t_4; -+ int __pyx_t_5; -+ PyObject *__pyx_t_6 = NULL; -+ herr_t __pyx_t_7; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("select_elements", 0); - - /* "h5py/h5s.pyx":468 - * # a compatible type and initializing it to the input. -@@ -3653,7 +3816,6 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - __pyx_t_1 = __pyx_f_4h5py_5utils_create_hsize_array(__pyx_v_coords); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4h5py_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(((PyObject *)__pyx_v_hcoords)); - __pyx_v_hcoords = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - -@@ -3666,7 +3828,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - */ - __pyx_t_2 = (__pyx_v_hcoords->nd != 2); - if (!__pyx_t_2) { -- __pyx_t_3 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = ((__pyx_v_hcoords->dimensions[1]) != __pyx_t_3); - __pyx_t_5 = __pyx_t_4; - } else { -@@ -3681,7 +3843,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * nelements = hcoords.dimensions[0] - */ -- __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); -@@ -3690,19 +3852,19 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_6)); -+ __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_t_1)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_1)); - __pyx_t_1 = 0; - __pyx_t_1 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; -- __Pyx_Raise(__pyx_t_1, 0, 0); -+ __Pyx_Raise(__pyx_t_1, 0, 0, 0); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L6; -+ goto __pyx_L3; - } -- __pyx_L6:; -+ __pyx_L3:; - - /* "h5py/h5s.pyx":473 - * raise ValueError("Coordinate array must have shape (, %d)" % self.get_simple_extent_ndims()) -@@ -3720,22 +3882,34 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * # === Hyperslab selection functions ======================================= - */ -- __pyx_t_7 = __pyx_f_4h5py_4defs_H5Sselect_elements(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id, ((H5S_seloper_t)__pyx_v_op), __pyx_v_nelements, ((hsize_t **)__pyx_v_hcoords->data)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_7 = __pyx_f_4h5py_4defs_H5Sselect_elements(__pyx_v_self->__pyx_base.id, ((H5S_seloper_t)__pyx_v_op), __pyx_v_nelements, ((hsize_t **)__pyx_v_hcoords->data)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_6); -- __Pyx_AddTraceback("h5py.h5s.SpaceID.select_elements"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.select_elements", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_hcoords); -+ __Pyx_XDECREF((PyObject *)__pyx_v_hcoords); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_47get_select_hyper_nblocks(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_46get_select_hyper_nblocks[] = "() => LONG nblocks\n\n Get the number of hyperslab blocks currently selected.\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_47get_select_hyper_nblocks(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_select_hyper_nblocks (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_46get_select_hyper_nblocks(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":480 - * - * -@@ -3744,13 +3918,15 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_23get_select_hyper_nblocks(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID_23get_select_hyper_nblocks[] = "() => LONG nblocks\n\n Get the number of hyperslab blocks currently selected.\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_23get_select_hyper_nblocks(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_46get_select_hyper_nblocks(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hssize_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_select_hyper_nblocks"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_select_hyper_nblocks", 0); - - /* "h5py/h5s.pyx":485 - * Get the number of hyperslab blocks currently selected. -@@ -3760,7 +3936,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_select_hyper_nblocks(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_select_hyper_nblocks(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyInt_to_py_hssize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -3771,7 +3947,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5s.SpaceID.get_select_hyper_nblocks"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.get_select_hyper_nblocks", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3779,6 +3955,18 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_49get_select_hyper_blocklist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_48get_select_hyper_blocklist[] = "() => NDARRAY\n\n Get the current hyperslab selection. The returned array has shape::\n\n (, 2, )\n\n and can be interpreted as a nested sequence::\n\n [ (corner_coordinate_1, opposite_coordinate_1), ... ]\n\n with length equal to the total number of blocks.\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_49get_select_hyper_blocklist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_select_hyper_blocklist (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_48get_select_hyper_blocklist(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5s.pyx":488 - * - * -@@ -3787,18 +3975,19 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - */ - --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_24get_select_hyper_blocklist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID_24get_select_hyper_blocklist[] = "() => NDARRAY\n\n Get the current hyperslab selection. The returned array has shape::\n\n (, 2, )\n\n and can be interpreted as a nested sequence::\n\n [ (corner_coordinate_1, opposite_coordinate_1), ... ]\n\n with length equal to the total number of blocks.\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_24get_select_hyper_blocklist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_48get_select_hyper_blocklist(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) { - hsize_t __pyx_v_dims[3]; -- PyArrayObject *__pyx_v_buf; -+ PyArrayObject *__pyx_v_buf = 0; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hssize_t __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - herr_t __pyx_t_4; -- __Pyx_RefNannySetupContext("get_select_hyper_blocklist"); -- __pyx_v_buf = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_select_hyper_blocklist", 0); - - /* "h5py/h5s.pyx":504 - * cdef ndarray buf -@@ -3807,7 +3996,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * dims[1] = 2 - * dims[2] = H5Sget_simple_extent_ndims(self.id) - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_select_hyper_nblocks(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_select_hyper_nblocks(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - (__pyx_v_dims[0]) = __pyx_t_1; - - /* "h5py/h5s.pyx":505 -@@ -3826,7 +4015,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * buf = create_numpy_hsize(3, dims) - */ -- __pyx_t_2 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - (__pyx_v_dims[2]) = __pyx_t_2; - - /* "h5py/h5s.pyx":508 -@@ -3839,7 +4028,6 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - __pyx_t_3 = __pyx_f_4h5py_5utils_create_numpy_hsize(3, __pyx_v_dims); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(((PyObject *)__pyx_v_buf)); - __pyx_v_buf = ((PyArrayObject *)__pyx_t_3); - __pyx_t_3 = 0; - -@@ -3850,7 +4038,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * return buf - */ -- __pyx_t_4 = __pyx_f_4h5py_4defs_H5Sget_select_hyper_blocklist(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id, 0, (__pyx_v_dims[0]), ((hsize_t *)__pyx_v_buf->data)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = __pyx_f_4h5py_4defs_H5Sget_select_hyper_blocklist(__pyx_v_self->__pyx_base.id, 0, (__pyx_v_dims[0]), ((hsize_t *)__pyx_v_buf->data)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5s.pyx":512 - * H5Sget_select_hyper_blocklist(self.id, 0, dims[0], buf.data) -@@ -3868,46 +4056,38 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5s.SpaceID.get_select_hyper_blocklist"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.get_select_hyper_blocklist", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_buf); -+ __Pyx_XDECREF((PyObject *)__pyx_v_buf); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - --/* "h5py/h5s.pyx":515 -- * -- * -- * def select_hyperslab(self, object start, object count, object stride=None, # <<<<<<<<<<<<<< -- * object block=None, int op=H5S_SELECT_SET): -- * """(TUPLE start, TUPLE count, TUPLE stride=None, TUPLE block=None, -- */ -- --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_25select_hyperslab(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5s_7SpaceID_25select_hyperslab[] = "(TUPLE start, TUPLE count, TUPLE stride=None, TUPLE block=None,\n INT op=SELECT_SET)\n\n Select a block region from an existing dataspace. See the HDF5\n documentation for the meaning of the \"block\" and \"op\" keywords.\n "; --static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_25select_hyperslab(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_51select_hyperslab(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5s_7SpaceID_50select_hyperslab[] = "(TUPLE start, TUPLE count, TUPLE stride=None, TUPLE block=None,\n INT op=SELECT_SET)\n\n Select a block region from an existing dataspace. See the HDF5\n documentation for the meaning of the \"block\" and \"op\" keywords.\n "; -+static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_51select_hyperslab(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_start = 0; - PyObject *__pyx_v_count = 0; - PyObject *__pyx_v_stride = 0; - PyObject *__pyx_v_block = 0; - int __pyx_v_op; -- int __pyx_v_rank; -- hsize_t *__pyx_v_start_array; -- hsize_t *__pyx_v_count_array; -- hsize_t *__pyx_v_stride_array; -- hsize_t *__pyx_v_block_array; -- PyObject *__pyx_r = NULL; -- int __pyx_t_1; -- void *__pyx_t_2; -- int __pyx_t_3; -- herr_t __pyx_t_4; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__start,&__pyx_n_s__count,&__pyx_n_s__stride,&__pyx_n_s__block,&__pyx_n_s__op,0}; -- __Pyx_RefNannySetupContext("select_hyperslab"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("select_hyperslab (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__start,&__pyx_n_s__count,&__pyx_n_s__stride,&__pyx_n_s__block,&__pyx_n_s__op,0}; - PyObject* values[5] = {0,0,0,0,0}; -+ -+ /* "h5py/h5s.pyx":515 -+ * -+ * -+ * def select_hyperslab(self, object start, object count, object stride=None, # <<<<<<<<<<<<<< -+ * object block=None, int op=H5S_SELECT_SET): -+ * """(TUPLE start, TUPLE count, TUPLE stride=None, TUPLE block=None, -+ */ - values[2] = ((PyObject *)Py_None); - - /* "h5py/h5s.pyx":516 -@@ -3918,45 +4098,58 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * INT op=SELECT_SET) - */ - values[3] = ((PyObject *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); -- case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__start); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("select_hyperslab", 0, 2, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); -+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- case 2: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__stride); -- if (value) { values[2] = value; kw_args--; } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__start)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("select_hyperslab", 0, 2, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 2: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__stride); -+ if (value) { values[2] = value; kw_args--; } -+ } -+ case 3: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__block); -+ if (value) { values[3] = value; kw_args--; } -+ } -+ case 4: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__op); -+ if (value) { values[4] = value; kw_args--; } -+ } - } -- case 3: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__block); -- if (value) { values[3] = value; kw_args--; } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "select_hyperslab") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } -- case 4: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__op); -- if (value) { values[4] = value; kw_args--; } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); -+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; - } - } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "select_hyperslab") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } - __pyx_v_start = values[0]; - __pyx_v_count = values[1]; - __pyx_v_stride = values[2]; -@@ -3966,48 +4159,44 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - } else { - __pyx_v_op = __pyx_k_8; - } -- } else { -- -- /* "h5py/h5s.pyx":515 -- * -- * -- * def select_hyperslab(self, object start, object count, object stride=None, # <<<<<<<<<<<<<< -- * object block=None, int op=H5S_SELECT_SET): -- * """(TUPLE start, TUPLE count, TUPLE stride=None, TUPLE block=None, -- */ -- __pyx_v_stride = ((PyObject *)Py_None); -- -- /* "h5py/h5s.pyx":516 -- * -- * def select_hyperslab(self, object start, object count, object stride=None, -- * object block=None, int op=H5S_SELECT_SET): # <<<<<<<<<<<<<< -- * """(TUPLE start, TUPLE count, TUPLE stride=None, TUPLE block=None, -- * INT op=SELECT_SET) -- */ -- __pyx_v_block = ((PyObject *)Py_None); -- __pyx_v_op = __pyx_k_8; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 5: -- __pyx_v_op = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 4)); if (unlikely((__pyx_v_op == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 4: -- __pyx_v_block = PyTuple_GET_ITEM(__pyx_args, 3); -- case 3: -- __pyx_v_stride = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: -- __pyx_v_count = PyTuple_GET_ITEM(__pyx_args, 1); -- __pyx_v_start = PyTuple_GET_ITEM(__pyx_args, 0); -- break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("select_hyperslab", 0, 2, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5s.SpaceID.select_hyperslab"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.select_hyperslab", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_50select_hyperslab(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self), __pyx_v_start, __pyx_v_count, __pyx_v_stride, __pyx_v_block, __pyx_v_op); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5s.pyx":515 -+ * -+ * -+ * def select_hyperslab(self, object start, object count, object stride=None, # <<<<<<<<<<<<<< -+ * object block=None, int op=H5S_SELECT_SET): -+ * """(TUPLE start, TUPLE count, TUPLE stride=None, TUPLE block=None, -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_50select_hyperslab(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, PyObject *__pyx_v_start, PyObject *__pyx_v_count, PyObject *__pyx_v_stride, PyObject *__pyx_v_block, int __pyx_v_op) { -+ int __pyx_v_rank; -+ hsize_t *__pyx_v_start_array; -+ hsize_t *__pyx_v_count_array; -+ hsize_t *__pyx_v_stride_array; -+ hsize_t *__pyx_v_block_array; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ int __pyx_t_1; -+ void *__pyx_t_2; -+ int __pyx_t_3; -+ herr_t __pyx_t_4; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("select_hyperslab", 0); - - /* "h5py/h5s.pyx":524 - * """ -@@ -4052,7 +4241,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * require_tuple(start, 0, rank, "start") - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_rank = __pyx_t_1; - - /* "h5py/h5s.pyx":532 -@@ -4107,7 +4296,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * count_array = emalloc(sizeof(hsize_t)*rank) - * convert_tuple(start, start_array, rank) - */ -- __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_start_array = ((hsize_t *)__pyx_t_2); - - /* "h5py/h5s.pyx":539 -@@ -4117,7 +4306,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * convert_tuple(start, start_array, rank) - * convert_tuple(count, count_array, rank) - */ -- __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_count_array = ((hsize_t *)__pyx_t_2); - - /* "h5py/h5s.pyx":540 -@@ -4127,7 +4316,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * convert_tuple(count, count_array, rank) - * - */ -- __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_start, __pyx_v_start_array, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_start, __pyx_v_start_array, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L4;} - - /* "h5py/h5s.pyx":541 - * count_array = emalloc(sizeof(hsize_t)*rank) -@@ -4136,7 +4325,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * if stride is not None: - */ -- __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_count, __pyx_v_count_array, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_count, __pyx_v_count_array, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L4;} - - /* "h5py/h5s.pyx":543 - * convert_tuple(count, count_array, rank) -@@ -4155,7 +4344,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * convert_tuple(stride, stride_array, rank) - * if block is not None: - */ -- __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_stride_array = ((hsize_t *)__pyx_t_2); - - /* "h5py/h5s.pyx":545 -@@ -4165,10 +4354,10 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * if block is not None: - * block_array = emalloc(sizeof(hsize_t)*rank) - */ -- __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_stride, __pyx_v_stride_array, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L7;} -- goto __pyx_L9; -+ __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_stride, __pyx_v_stride_array, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L4;} -+ goto __pyx_L6; - } -- __pyx_L9:; -+ __pyx_L6:; - - /* "h5py/h5s.pyx":546 - * stride_array = emalloc(sizeof(hsize_t)*rank) -@@ -4187,7 +4376,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * convert_tuple(block, block_array, rank) - * - */ -- __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_block_array = ((hsize_t *)__pyx_t_2); - - /* "h5py/h5s.pyx":548 -@@ -4197,10 +4386,10 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * H5Sselect_hyperslab(self.id, op, start_array, - */ -- __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_block, __pyx_v_block_array, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L7;} -- goto __pyx_L10; -+ __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_block, __pyx_v_block_array, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L4;} -+ goto __pyx_L7; - } -- __pyx_L10:; -+ __pyx_L7:; - - /* "h5py/h5s.pyx":551 - * -@@ -4209,7 +4398,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - * - * finally: - */ -- __pyx_t_4 = __pyx_f_4h5py_4defs_H5Sselect_hyperslab(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self)->__pyx_base.id, ((H5S_seloper_t)__pyx_v_op), __pyx_v_start_array, __pyx_v_stride_array, __pyx_v_count_array, __pyx_v_block_array); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_4 = __pyx_f_4h5py_4defs_H5Sselect_hyperslab(__pyx_v_self->__pyx_base.id, ((H5S_seloper_t)__pyx_v_op), __pyx_v_start_array, __pyx_v_stride_array, __pyx_v_count_array, __pyx_v_block_array); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L4;} - } - - /* "h5py/h5s.pyx":554 -@@ -4224,14 +4413,14 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L8; -- __pyx_L7: { -+ __pyx_why = 0; goto __pyx_L5; -+ __pyx_L4: { - __pyx_why = 4; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L8; -+ goto __pyx_L5; - } -- __pyx_L8:; -+ __pyx_L5:; - __pyx_f_4h5py_5utils_efree(__pyx_v_start_array); - - /* "h5py/h5s.pyx":555 -@@ -4275,7 +4464,7 @@ static PyObject *__pyx_pf_4h5py_3h5s_7Sp - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5s.SpaceID.select_hyperslab"); -+ __Pyx_AddTraceback("h5py.h5s.SpaceID.select_hyperslab", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4290,55 +4479,51 @@ static PyObject *__pyx_tp_new_4h5py_3h5s - } - - static void __pyx_tp_dealloc_4h5py_3h5s_SpaceID(PyObject *o) { -- __pyx_ptype_4h5py_8_objects_ObjectID->tp_dealloc(o); -+ if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) __pyx_ptype_4h5py_8_objects_ObjectID->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4h5py_3h5s_SpaceID); - } - - static int __pyx_tp_traverse_4h5py_3h5s_SpaceID(PyObject *o, visitproc v, void *a) { - int e; -- if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse) { -- e = __pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse(o, v, a); if (e) return e; -- } -+ e = ((likely(__pyx_ptype_4h5py_8_objects_ObjectID)) ? ((__pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse) ? __pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_4h5py_3h5s_SpaceID)); if (e) return e; - return 0; - } - - static int __pyx_tp_clear_4h5py_3h5s_SpaceID(PyObject *o) { -- if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_clear) { -- __pyx_ptype_4h5py_8_objects_ObjectID->tp_clear(o); -- } -+ if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) { if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_clear) __pyx_ptype_4h5py_8_objects_ObjectID->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_4h5py_3h5s_SpaceID); - return 0; - } - --static PyObject *__pyx_getprop_4h5py_3h5s_7SpaceID_shape(PyObject *o, void *x) { -- return __pyx_pf_4h5py_3h5s_7SpaceID_5shape___get__(o); -+static PyObject *__pyx_getprop_4h5py_3h5s_7SpaceID_shape(PyObject *o, CYTHON_UNUSED void *x) { -+ return __pyx_pw_4h5py_3h5s_7SpaceID_5shape_1__get__(o); - } - - static PyMethodDef __pyx_methods_4h5py_3h5s_SpaceID[] = { -- {__Pyx_NAMESTR("_close"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID__close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID__close)}, -- {__Pyx_NAMESTR("copy"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_1copy, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_1copy)}, -- {__Pyx_NAMESTR("encode"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_2encode, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_2encode)}, -- {__Pyx_NAMESTR("__reduce__"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_3__reduce__, METH_NOARGS, __Pyx_DOCSTR(0)}, -- {__Pyx_NAMESTR("__setstate__"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_4__setstate__, METH_O, __Pyx_DOCSTR(0)}, -- {__Pyx_NAMESTR("is_simple"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_5is_simple, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_5is_simple)}, -- {__Pyx_NAMESTR("offset_simple"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_6offset_simple, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_6offset_simple)}, -- {__Pyx_NAMESTR("get_simple_extent_ndims"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_7get_simple_extent_ndims, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_7get_simple_extent_ndims)}, -- {__Pyx_NAMESTR("get_simple_extent_dims"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_8get_simple_extent_dims, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_8get_simple_extent_dims)}, -- {__Pyx_NAMESTR("get_simple_extent_npoints"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_9get_simple_extent_npoints, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_9get_simple_extent_npoints)}, -- {__Pyx_NAMESTR("get_simple_extent_type"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_10get_simple_extent_type, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_10get_simple_extent_type)}, -- {__Pyx_NAMESTR("extent_copy"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_11extent_copy, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_11extent_copy)}, -- {__Pyx_NAMESTR("set_extent_simple"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_12set_extent_simple, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_12set_extent_simple)}, -- {__Pyx_NAMESTR("set_extent_none"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_13set_extent_none, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_13set_extent_none)}, -- {__Pyx_NAMESTR("get_select_type"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_14get_select_type, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_14get_select_type)}, -- {__Pyx_NAMESTR("get_select_npoints"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_15get_select_npoints, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_15get_select_npoints)}, -- {__Pyx_NAMESTR("get_select_bounds"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_16get_select_bounds, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_16get_select_bounds)}, -- {__Pyx_NAMESTR("select_all"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_17select_all, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_17select_all)}, -- {__Pyx_NAMESTR("select_none"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_18select_none, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_18select_none)}, -- {__Pyx_NAMESTR("select_valid"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_19select_valid, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_19select_valid)}, -- {__Pyx_NAMESTR("get_select_elem_npoints"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_20get_select_elem_npoints, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_20get_select_elem_npoints)}, -- {__Pyx_NAMESTR("get_select_elem_pointlist"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_21get_select_elem_pointlist, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_21get_select_elem_pointlist)}, -- {__Pyx_NAMESTR("select_elements"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_22select_elements, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_22select_elements)}, -- {__Pyx_NAMESTR("get_select_hyper_nblocks"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_23get_select_hyper_nblocks, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_23get_select_hyper_nblocks)}, -- {__Pyx_NAMESTR("get_select_hyper_blocklist"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_24get_select_hyper_blocklist, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_24get_select_hyper_blocklist)}, -- {__Pyx_NAMESTR("select_hyperslab"), (PyCFunction)__pyx_pf_4h5py_3h5s_7SpaceID_25select_hyperslab, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_25select_hyperslab)}, -+ {__Pyx_NAMESTR("_close"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_1_close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID__close)}, -+ {__Pyx_NAMESTR("copy"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_3copy, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_2copy)}, -+ {__Pyx_NAMESTR("encode"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_5encode, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_4encode)}, -+ {__Pyx_NAMESTR("__reduce__"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_7__reduce__, METH_NOARGS, __Pyx_DOCSTR(0)}, -+ {__Pyx_NAMESTR("__setstate__"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_9__setstate__, METH_O, __Pyx_DOCSTR(0)}, -+ {__Pyx_NAMESTR("is_simple"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_11is_simple, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_10is_simple)}, -+ {__Pyx_NAMESTR("offset_simple"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_13offset_simple, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_12offset_simple)}, -+ {__Pyx_NAMESTR("get_simple_extent_ndims"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_15get_simple_extent_ndims, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_14get_simple_extent_ndims)}, -+ {__Pyx_NAMESTR("get_simple_extent_dims"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_17get_simple_extent_dims, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_16get_simple_extent_dims)}, -+ {__Pyx_NAMESTR("get_simple_extent_npoints"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_19get_simple_extent_npoints, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_18get_simple_extent_npoints)}, -+ {__Pyx_NAMESTR("get_simple_extent_type"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_21get_simple_extent_type, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_20get_simple_extent_type)}, -+ {__Pyx_NAMESTR("extent_copy"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_23extent_copy, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_22extent_copy)}, -+ {__Pyx_NAMESTR("set_extent_simple"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_25set_extent_simple, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_24set_extent_simple)}, -+ {__Pyx_NAMESTR("set_extent_none"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_27set_extent_none, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_26set_extent_none)}, -+ {__Pyx_NAMESTR("get_select_type"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_29get_select_type, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_28get_select_type)}, -+ {__Pyx_NAMESTR("get_select_npoints"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_31get_select_npoints, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_30get_select_npoints)}, -+ {__Pyx_NAMESTR("get_select_bounds"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_33get_select_bounds, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_32get_select_bounds)}, -+ {__Pyx_NAMESTR("select_all"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_35select_all, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_34select_all)}, -+ {__Pyx_NAMESTR("select_none"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_37select_none, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_36select_none)}, -+ {__Pyx_NAMESTR("select_valid"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_39select_valid, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_38select_valid)}, -+ {__Pyx_NAMESTR("get_select_elem_npoints"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_41get_select_elem_npoints, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_40get_select_elem_npoints)}, -+ {__Pyx_NAMESTR("get_select_elem_pointlist"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_43get_select_elem_pointlist, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_42get_select_elem_pointlist)}, -+ {__Pyx_NAMESTR("select_elements"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_45select_elements, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_44select_elements)}, -+ {__Pyx_NAMESTR("get_select_hyper_nblocks"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_47get_select_hyper_nblocks, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_46get_select_hyper_nblocks)}, -+ {__Pyx_NAMESTR("get_select_hyper_blocklist"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_49get_select_hyper_blocklist, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_48get_select_hyper_blocklist)}, -+ {__Pyx_NAMESTR("select_hyperslab"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_51select_hyperslab, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_50select_hyperslab)}, - {0, 0, 0, 0} - }; - -@@ -4521,9 +4706,10 @@ static struct PyModuleDef __pyx_modulede - - static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_n_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 1}, -- {&__pyx_n_s_11, __pyx_k_11, sizeof(__pyx_k_11), 0, 0, 1, 1}, -- {&__pyx_kp_u_12, __pyx_k_12, sizeof(__pyx_k_12), 0, 1, 0, 0}, -- {&__pyx_kp_u_13, __pyx_k_13, sizeof(__pyx_k_13), 0, 1, 0, 0}, -+ {&__pyx_kp_s_13, __pyx_k_13, sizeof(__pyx_k_13), 0, 0, 1, 0}, -+ {&__pyx_n_s_14, __pyx_k_14, sizeof(__pyx_k_14), 0, 0, 1, 1}, -+ {&__pyx_kp_u_19, __pyx_k_19, sizeof(__pyx_k_19), 0, 1, 0, 0}, -+ {&__pyx_kp_u_20, __pyx_k_20, sizeof(__pyx_k_20), 0, 1, 0, 0}, - {&__pyx_kp_s_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 1, 0}, - {&__pyx_kp_s_6, __pyx_k_6, sizeof(__pyx_k_6), 0, 0, 1, 0}, - {&__pyx_n_s_7, __pyx_k_7, sizeof(__pyx_k_7), 0, 0, 1, 1}, -@@ -4554,24 +4740,26 @@ static __Pyx_StringTabEntry __pyx_string - {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1}, - {&__pyx_n_s___objects, __pyx_k___objects, sizeof(__pyx_k___objects), 0, 0, 1, 1}, - {&__pyx_n_s__block, __pyx_k__block, sizeof(__pyx_k__block), 0, 0, 1, 1}, -+ {&__pyx_n_s__buf, __pyx_k__buf, sizeof(__pyx_k__buf), 0, 0, 1, 1}, -+ {&__pyx_n_s__buf_, __pyx_k__buf_, sizeof(__pyx_k__buf_), 0, 0, 1, 1}, -+ {&__pyx_n_s__class_code, __pyx_k__class_code, sizeof(__pyx_k__class_code), 0, 0, 1, 1}, - {&__pyx_n_s__coords, __pyx_k__coords, sizeof(__pyx_k__coords), 0, 0, 1, 1}, - {&__pyx_n_s__count, __pyx_k__count, sizeof(__pyx_k__count), 0, 0, 1, 1}, - {&__pyx_n_s__create, __pyx_k__create, sizeof(__pyx_k__create), 0, 0, 1, 1}, - {&__pyx_n_s__create_simple, __pyx_k__create_simple, sizeof(__pyx_k__create_simple), 0, 0, 1, 1}, -- {&__pyx_n_s__data, __pyx_k__data, sizeof(__pyx_k__data), 0, 0, 1, 1}, - {&__pyx_n_s__decode, __pyx_k__decode, sizeof(__pyx_k__decode), 0, 0, 1, 1}, -- {&__pyx_n_s__dimensions, __pyx_k__dimensions, sizeof(__pyx_k__dimensions), 0, 0, 1, 1}, -+ {&__pyx_n_s__dims, __pyx_k__dims, sizeof(__pyx_k__dims), 0, 0, 1, 1}, - {&__pyx_n_s__dims_tpl, __pyx_k__dims_tpl, sizeof(__pyx_k__dims_tpl), 0, 0, 1, 1}, - {&__pyx_n_s__encode, __pyx_k__encode, sizeof(__pyx_k__encode), 0, 0, 1, 1}, -- {&__pyx_n_s__id, __pyx_k__id, sizeof(__pyx_k__id), 0, 0, 1, 1}, -+ {&__pyx_n_s__h5py, __pyx_k__h5py, sizeof(__pyx_k__h5py), 0, 0, 1, 1}, - {&__pyx_n_s__lock, __pyx_k__lock, sizeof(__pyx_k__lock), 0, 0, 1, 1}, -- {&__pyx_n_s__locked, __pyx_k__locked, sizeof(__pyx_k__locked), 0, 0, 1, 1}, -+ {&__pyx_n_s__max_dims, __pyx_k__max_dims, sizeof(__pyx_k__max_dims), 0, 0, 1, 1}, - {&__pyx_n_s__max_dims_tpl, __pyx_k__max_dims_tpl, sizeof(__pyx_k__max_dims_tpl), 0, 0, 1, 1}, - {&__pyx_n_s__maxdims, __pyx_k__maxdims, sizeof(__pyx_k__maxdims), 0, 0, 1, 1}, -- {&__pyx_n_s__nd, __pyx_k__nd, sizeof(__pyx_k__nd), 0, 0, 1, 1}, - {&__pyx_n_s__offset, __pyx_k__offset, sizeof(__pyx_k__offset), 0, 0, 1, 1}, - {&__pyx_n_s__op, __pyx_k__op, sizeof(__pyx_k__op), 0, 0, 1, 1}, - {&__pyx_n_s__open, __pyx_k__open, sizeof(__pyx_k__open), 0, 0, 1, 1}, -+ {&__pyx_n_s__rank, __pyx_k__rank, sizeof(__pyx_k__rank), 0, 0, 1, 1}, - {&__pyx_n_s__registry, __pyx_k__registry, sizeof(__pyx_k__registry), 0, 0, 1, 1}, - {&__pyx_n_s__start, __pyx_k__start, sizeof(__pyx_k__start), 0, 0, 1, 1}, - {&__pyx_n_s__stride, __pyx_k__stride, sizeof(__pyx_k__stride), 0, 0, 1, 1}, -@@ -4586,7 +4774,8 @@ static int __Pyx_InitCachedBuiltins(void - } - - static int __Pyx_InitCachedConstants(void) { -- __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants"); -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - - /* "h5py/h5s.pyx":146 - * when their Python wrappers are freed. -@@ -4596,7 +4785,7 @@ static int __Pyx_InitCachedConstants(voi - * if not self.valid: - */ - __pyx_k_tuple_2 = PyTuple_New(3); if (unlikely(!__pyx_k_tuple_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_2)); -+ __Pyx_GOTREF(__pyx_k_tuple_2); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_k_tuple_2, 0, Py_None); - __Pyx_GIVEREF(Py_None); -@@ -4616,11 +4805,74 @@ static int __Pyx_InitCachedConstants(voi - * - */ - __pyx_k_tuple_3 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_3)); -+ __Pyx_GOTREF(__pyx_k_tuple_3); - __Pyx_INCREF(__pyx_int_neg_1); - PyTuple_SET_ITEM(__pyx_k_tuple_3, 0, __pyx_int_neg_1); - __Pyx_GIVEREF(__pyx_int_neg_1); - __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_3)); -+ -+ /* "h5py/h5s.pyx":64 -+ * -+ * -+ * def create(int class_code): # <<<<<<<<<<<<<< -+ * """(INT class_code) => SpaceID -+ * -+ */ -+ __pyx_k_tuple_11 = PyTuple_New(2); if (unlikely(!__pyx_k_tuple_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_11); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__class_code)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_11, 0, ((PyObject *)__pyx_n_s__class_code)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__class_code)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__class_code)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_11, 1, ((PyObject *)__pyx_n_s__class_code)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__class_code)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_11)); -+ __pyx_k_codeobj_12 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_13, __pyx_n_s__create, 64, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5s.pyx":73 -+ * -+ * -+ * def create_simple(object dims_tpl, object max_dims_tpl=None): # <<<<<<<<<<<<<< -+ * """(TUPLE dims_tpl, TUPLE max_dims_tpl) => SpaceID -+ * -+ */ -+ __pyx_k_tuple_15 = PyTuple_New(5); if (unlikely(!__pyx_k_tuple_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_15); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__dims_tpl)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_15, 0, ((PyObject *)__pyx_n_s__dims_tpl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__dims_tpl)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__max_dims_tpl)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_15, 1, ((PyObject *)__pyx_n_s__max_dims_tpl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__max_dims_tpl)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__rank)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_15, 2, ((PyObject *)__pyx_n_s__rank)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__rank)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__dims)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_15, 3, ((PyObject *)__pyx_n_s__dims)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__dims)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__max_dims)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_15, 4, ((PyObject *)__pyx_n_s__max_dims)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__max_dims)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_15)); -+ __pyx_k_codeobj_16 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_13, __pyx_n_s__create_simple, 73, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5s.pyx":105 -+ * efree(max_dims) -+ * -+ * def decode(buf): # <<<<<<<<<<<<<< -+ * """(STRING buf) => SpaceID -+ * -+ */ -+ __pyx_k_tuple_17 = PyTuple_New(2); if (unlikely(!__pyx_k_tuple_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_17); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__buf)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_17, 0, ((PyObject *)__pyx_n_s__buf)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__buf)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__buf_)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_17, 1, ((PyObject *)__pyx_n_s__buf_)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__buf_)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_17)); -+ __pyx_k_codeobj_18 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_13, __pyx_n_s__decode, 105, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; -@@ -4648,8 +4900,8 @@ PyMODINIT_FUNC PyInit_h5s(void) - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; -+ __Pyx_RefNannyDeclarations - #if CYTHON_REFNANNY -- void* __pyx_refnanny = NULL; - __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); - if (!__Pyx_RefNanny) { - PyErr_Clear(); -@@ -4657,12 +4909,19 @@ PyMODINIT_FUNC PyInit_h5s(void) - if (!__Pyx_RefNanny) - Py_FatalError("failed to import 'refnanny' module"); - } -- __pyx_refnanny = __Pyx_RefNanny->SetupContext("PyMODINIT_FUNC PyInit_h5s(void)", __LINE__, __FILE__); - #endif -+ __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5s(void)", 0); -+ if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- #ifdef __pyx_binding_PyCFunctionType_USED -- if (__pyx_binding_PyCFunctionType_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #ifdef __Pyx_CyFunction_USED -+ if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif -+ #ifdef __Pyx_FusedFunction_USED -+ if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif -+ #ifdef __Pyx_Generator_USED -+ if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - #endif - /*--- Library function declarations ---*/ - /*--- Threads initialization code ---*/ -@@ -4673,16 +4932,23 @@ PyMODINIT_FUNC PyInit_h5s(void) - #endif - /*--- Module creation code ---*/ - #if PY_MAJOR_VERSION < 3 -- __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5s"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_10), 0, PYTHON_API_VERSION); -+ __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5s"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_10), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); - #else - __pyx_m = PyModule_Create(&__pyx_moduledef); - #endif -- if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -- #if PY_MAJOR_VERSION < 3 -- Py_INCREF(__pyx_m); -+ if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #if PY_MAJOR_VERSION >= 3 -+ { -+ PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (!PyDict_GetItemString(modules, "h5py.h5s")) { -+ if (unlikely(PyDict_SetItemString(modules, "h5py.h5s", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } -+ } -+ #endif -+ __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #if CYTHON_COMPILING_IN_PYPY -+ Py_INCREF(__pyx_b); - #endif -- __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); -- if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - /*--- Initialize various global constants etc. ---*/ - if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -4694,6 +4960,7 @@ PyMODINIT_FUNC PyInit_h5s(void) - /*--- Constants init code ---*/ - if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /*--- Global init code ---*/ -+ /*--- Variable export code ---*/ - /*--- Function export code ---*/ - /*--- Type init code ---*/ - __pyx_ptype_4h5py_8_objects_ObjectID = __Pyx_ImportType("h5py._objects", "ObjectID", sizeof(struct __pyx_obj_4h5py_8_objects_ObjectID), 1); if (unlikely(!__pyx_ptype_4h5py_8_objects_ObjectID)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -4705,189 +4972,9 @@ PyMODINIT_FUNC PyInit_h5s(void) - /*--- Type import code ---*/ - __pyx_ptype_4h5py_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_dtype)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_ptype_4h5py_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ /*--- Variable import code ---*/ - /*--- Function import code ---*/ - __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5open", (void (**)(void))&__pyx_f_4h5py_4defs_H5open, "herr_t (void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5close", (void (**)(void))&__pyx_f_4h5py_4defs_H5close, "herr_t (void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5get_libversion", (void (**)(void))&__pyx_f_4h5py_4defs_H5get_libversion, "herr_t (unsigned int *, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dcreate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dcreate2, "hid_t (hid_t, char *, hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dcreate_anon", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dcreate_anon, "hid_t (hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dopen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_space", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_space, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_space_status", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_space_status, "herr_t (hid_t, H5D_space_status_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_type, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_create_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_offset, "haddr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_storage_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_storage_size, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dread", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dread, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dwrite", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dwrite, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dextend", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dextend, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dfill", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dfill, "herr_t (void *, hid_t, void *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dvlen_get_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dvlen_get_buf_size, "herr_t (hid_t, hid_t, hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dvlen_reclaim", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dvlen_reclaim, "herr_t (hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Diterate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Diterate, "herr_t (void *, hid_t, hid_t, H5D_operator_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dset_extent", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dset_extent, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fcreate, "hid_t (char *, unsigned int, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fopen, "hid_t (char *, unsigned int, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fis_hdf5", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fis_hdf5, "htri_t (char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fflush", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fflush, "herr_t (hid_t, enum H5F_scope_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Freopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Freopen, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fmount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fmount, "herr_t (hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Funmount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Funmount, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_filesize", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_filesize, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_create_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_access_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_access_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_freespace", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_freespace, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_obj_count", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_obj_count, "int (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_obj_ids", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_obj_ids, "int (hid_t, unsigned int, int, hid_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_intent", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_intent, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate, "hid_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gopen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Glink2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Glink2, "herr_t (hid_t, char *, H5G_link_t, hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gunlink", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gunlink, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gmove2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gmove2, "herr_t (hid_t, char *, hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_num_objs", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_num_objs, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_objname_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_objname_by_idx, "int (hid_t, hsize_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_objtype_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_objtype_by_idx, "int (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Giterate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Giterate, "herr_t (hid_t, char *, int *, H5G_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_objinfo", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_objinfo, "herr_t (hid_t, char *, int, H5G_stat_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_linkval", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_linkval, "herr_t (hid_t, char *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gset_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gset_comment, "herr_t (hid_t, char *, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_comment, "int (hid_t, char *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate_anon", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate_anon, "hid_t (hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate2, "hid_t (hid_t, char *, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gopen2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gopen2, "hid_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_info, "herr_t (hid_t, H5G_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_info_by_name, "herr_t (hid_t, char *, H5G_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_create_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_type, "H5I_type_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_file_id", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_file_id, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Idec_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Idec_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iinc_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iinc_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lmove", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lmove, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcopy, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_hard", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_hard, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_soft", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_soft, "herr_t (char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ldelete", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ldelete, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ldelete_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ldelete_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_val", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_val, "herr_t (hid_t, char *, void *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_val_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_val_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, void *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lexists", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lexists, "htri_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_info, "herr_t (hid_t, char *, H5L_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5L_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_name_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_name_by_idx, "Py_ssize_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Literate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Literate, "herr_t (hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Literate_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Literate_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lvisit", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lvisit, "herr_t (hid_t, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lvisit_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lvisit_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lunpack_elink_val", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lunpack_elink_val, "herr_t (void *, size_t, unsigned int *, char **, char **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_external", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_external, "herr_t (char *, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oopen, "hid_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oopen_by_addr", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oopen_by_addr, "hid_t (hid_t, haddr_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oopen_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oopen_by_idx, "hid_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info, "herr_t (hid_t, H5O_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info_by_name, "herr_t (hid_t, char *, H5O_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5O_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Olink", (void (**)(void))&__pyx_f_4h5py_4defs_H5Olink, "herr_t (hid_t, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ocopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ocopy, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oincr_refcount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oincr_refcount, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Odecr_refcount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Odecr_refcount, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oset_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oset_comment, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oset_comment_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oset_comment_by_name, "herr_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_comment, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_comment_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_comment_by_name, "Py_ssize_t (hid_t, char *, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ovisit", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ovisit, "herr_t (hid_t, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ovisit_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ovisit_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pcreate, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pcopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_class, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pequal", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pequal, "htri_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pclose_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pclose_class, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_version", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_version, "herr_t (hid_t, unsigned int *, unsigned int *, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_userblock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_userblock, "herr_t (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_userblock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_userblock, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sizes", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sizes, "herr_t (hid_t, size_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sizes", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sizes, "herr_t (hid_t, size_t *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sym_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sym_k, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sym_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sym_k, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_istore_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_istore_k, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_istore_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_istore_k, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fclose_degree", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fclose_degree, "herr_t (hid_t, enum H5F_close_degree_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fclose_degree", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fclose_degree, "herr_t (hid_t, enum H5F_close_degree_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_core", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_core, "herr_t (hid_t, size_t, hbool_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fapl_core", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fapl_core, "herr_t (hid_t, size_t *, hbool_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_family", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_family, "herr_t (hid_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fapl_family", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fapl_family, "herr_t (hid_t, hsize_t *, hid_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_family_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_family_offset, "herr_t (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_family_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_family_offset, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_log", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_log, "herr_t (hid_t, char *, unsigned int, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_multi", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_multi, "herr_t (hid_t, H5FD_mem_t *, hid_t *, char **, haddr_t *, hbool_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_cache", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_cache, "herr_t (hid_t, int, int, size_t, double)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_cache", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_cache, "herr_t (hid_t, int *, int *, size_t *, double *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_sec2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_sec2, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_stdio", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_stdio, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_driver", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_driver, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_layout", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_layout, "herr_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_layout", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_layout, "H5D_layout_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_chunk", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_chunk, "herr_t (hid_t, int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_chunk", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_chunk, "int (hid_t, int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_deflate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_deflate, "herr_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fill_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fill_value, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fill_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fill_value, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pfill_value_defined", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pfill_value_defined, "herr_t (hid_t, H5D_fill_value_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fill_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fill_time, "herr_t (hid_t, H5D_fill_time_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fill_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fill_time, "herr_t (hid_t, H5D_fill_time_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_alloc_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_alloc_time, "herr_t (hid_t, H5D_alloc_time_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_alloc_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_alloc_time, "herr_t (hid_t, H5D_alloc_time_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_filter, "herr_t (hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pall_filters_avail", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pall_filters_avail, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_nfilters", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_nfilters, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_filter, "H5Z_filter_t (hid_t, unsigned int, unsigned int *, size_t *, unsigned int *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_filter_by_id", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_filter_by_id, "herr_t (hid_t, H5Z_filter_t, unsigned int *, size_t *, unsigned int *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pmodify_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pmodify_filter, "herr_t (hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Premove_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Premove_filter, "herr_t (hid_t, H5Z_filter_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fletcher32", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fletcher32, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_shuffle", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_shuffle, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_szip", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_szip, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_edc_check", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_edc_check, "herr_t (hid_t, enum H5Z_EDC_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_edc_check", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_edc_check, "enum H5Z_EDC_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sieve_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sieve_buf_size, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sieve_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sieve_buf_size, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_nlinks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_nlinks, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_nlinks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_nlinks, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_elink_prefix", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_elink_prefix, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_elink_prefix", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_elink_prefix, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_elink_fapl", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_elink_fapl, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_elink_fapl", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_elink_fapl, "herr_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_create_intermediate_group", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_create_intermediate_group, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_create_intermediate_group", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_create_intermediate_group, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_copy_object", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_copy_object, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_copy_object", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_copy_object, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_char_encoding", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_char_encoding, "herr_t (hid_t, H5T_cset_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_char_encoding", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_char_encoding, "herr_t (hid_t, H5T_cset_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_local_heap_size_hint", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_local_heap_size_hint, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_local_heap_size_hint", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_local_heap_size_hint, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_link_phase_change", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_link_phase_change, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_link_phase_change", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_link_phase_change, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_est_link_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_est_link_info, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_est_link_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_est_link_info, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_link_creation_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_link_creation_order, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_link_creation_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_link_creation_order, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_libver_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_libver_bounds, "herr_t (hid_t, H5F_libver_t, H5F_libver_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_libver_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_libver_bounds, "herr_t (hid_t, H5F_libver_t *, H5F_libver_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rcreate, "herr_t (void *, hid_t, char *, H5R_type_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rdereference", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rdereference, "hid_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_region", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_region, "hid_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_obj_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_obj_type, "enum H5G_obj_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_name, "Py_ssize_t (hid_t, H5R_type_t, void *, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Screate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Screate, "hid_t (H5S_class_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Scopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Scopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Sclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -4915,135 +5002,41 @@ PyMODINIT_FUNC PyInit_h5s(void) - if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_hyperslab", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_hyperslab, "herr_t (hid_t, H5S_seloper_t, hsize_t *, hsize_t *, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Sencode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sencode, "herr_t (hid_t, void *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Sdecode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sdecode, "hid_t (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcreate, "hid_t (enum H5T_class_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Topen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Topen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommit", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommit, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommitted", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommitted, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tequal", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tequal, "htri_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tlock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tlock, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_class, "enum H5T_class_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_size, "size_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_super", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_super, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tdetect_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tdetect_class, "htri_t (hid_t, enum H5T_class_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_native_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_native_type, "hid_t (hid_t, enum H5T_direction_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tconvert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tconvert, "herr_t (hid_t, hid_t, size_t, void *, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_size, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_order, "H5T_order_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_order, "herr_t (hid_t, H5T_order_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_precision", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_precision, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_precision", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_precision, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_offset, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_offset, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_pad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_pad, "herr_t (hid_t, H5T_pad_t *, H5T_pad_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_pad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_pad, "herr_t (hid_t, H5T_pad_t, H5T_pad_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_sign", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_sign, "H5T_sign_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_sign", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_sign, "herr_t (hid_t, H5T_sign_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_fields", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_fields, "herr_t (hid_t, size_t *, size_t *, size_t *, size_t *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_fields", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_fields, "herr_t (hid_t, size_t, size_t, size_t, size_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_ebias", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_ebias, "size_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_ebias", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_ebias, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_norm", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_norm, "H5T_norm_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_norm", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_norm, "herr_t (hid_t, H5T_norm_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_inpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_inpad, "H5T_pad_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_inpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_inpad, "herr_t (hid_t, H5T_pad_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_cset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_cset, "H5T_cset_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_cset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_cset, "herr_t (hid_t, H5T_cset_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_strpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_strpad, "H5T_str_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_strpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_strpad, "herr_t (hid_t, H5T_str_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tvlen_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tvlen_create, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tis_variable_str", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tis_variable_str, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_nmembers", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_nmembers, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_class, "enum H5T_class_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_name, "char *(hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_type, "hid_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_offset, "int (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_index", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_index, "int (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tinsert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tinsert, "herr_t (hid_t, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tpack", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tpack, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_create, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_insert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_insert, "herr_t (hid_t, char *, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_nameof", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_nameof, "herr_t (hid_t, void *, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_valueof", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_valueof, "herr_t (hid_t, char *, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_value, "herr_t (hid_t, unsigned int, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tarray_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tarray_create, "hid_t (hid_t, int, hsize_t *, int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_array_ndims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_array_ndims, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_array_dims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_array_dims, "int (hid_t, hsize_t *, int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_tag", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_tag, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_tag", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_tag, "char *(hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tdecode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tdecode, "hid_t (unsigned char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tencode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tencode, "herr_t (hid_t, unsigned char *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommit2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommit2, "herr_t (hid_t, char *, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tfind", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tfind, "H5T_conv_t (hid_t, hid_t, H5T_cdata_t **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tregister", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tregister, "herr_t (H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tunregister", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tunregister, "herr_t (H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Zfilter_avail", (void (**)(void))&__pyx_f_4h5py_4defs_H5Zfilter_avail, "htri_t (H5Z_filter_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Zget_filter_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Zget_filter_info, "herr_t (H5Z_filter_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Acreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Acreate, "hid_t (hid_t, char *, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_idx, "hid_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_name, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aread", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aread, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Awrite", (void (**)(void))&__pyx_f_4h5py_4defs_H5Awrite, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_num_attrs", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_num_attrs, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_name, "Py_ssize_t (hid_t, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_space", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_space, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_type, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aiterate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aiterate, "herr_t (hid_t, unsigned int *, H5A_operator_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete_by_name, "herr_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Acreate_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Acreate_by_name, "hid_t (hid_t, char *, char *, hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_by_name, "herr_t (hid_t, char *, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aexists_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aexists_by_name, "htri_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aexists", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aexists, "htri_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Arename", (void (**)(void))&__pyx_f_4h5py_4defs_H5Arename, "herr_t (hid_t, char *, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Arename_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Arename_by_name, "herr_t (hid_t, char *, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info, "herr_t (hid_t, H5A_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info_by_name, "herr_t (hid_t, char *, char *, H5A_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5A_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aiterate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aiterate2, "herr_t (hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5A_operator2_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_storage_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_storage_size, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSattach_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSattach_scale, "herr_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSdetach_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSdetach_scale, "herr_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSset_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSset_scale, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_num_scales", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_num_scales, "int (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSset_label", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSset_label, "herr_t (hid_t, unsigned int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_label", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_label, "Py_ssize_t (hid_t, unsigned int, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_scale_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_scale_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSis_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSis_scale, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSiterate_scales", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSiterate_scales, "herr_t (hid_t, unsigned int, int *, H5DS_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSis_attached", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSis_attached, "htri_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __pyx_t_2 = __Pyx_ImportModule("h5py._objects"); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_2, "pdefault", (void (**)(void))&__pyx_f_4h5py_8_objects_pdefault, "hid_t (struct __pyx_obj_4h5py_8_objects_ObjectID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_ImportFunction(__pyx_t_2, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_ImportFunction(__pyx_t_2, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_ImportFunction(__pyx_t_2, "convert_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_convert_tuple, "int (PyObject *, hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_ImportFunction(__pyx_t_2, "convert_dims", (void (**)(void))&__pyx_f_4h5py_5utils_convert_dims, "PyObject *(hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_ImportFunction(__pyx_t_2, "require_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_require_tuple, "int (PyObject *, int, int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_ImportFunction(__pyx_t_2, "create_numpy_hsize", (void (**)(void))&__pyx_f_4h5py_5utils_create_numpy_hsize, "PyObject *(int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_ImportFunction(__pyx_t_2, "create_hsize_array", (void (**)(void))&__pyx_f_4h5py_5utils_create_hsize_array, "PyObject *(PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __pyx_t_3 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "check_numpy_read", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_read, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "check_numpy_write", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_write, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "convert_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_convert_tuple, "int (PyObject *, hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "convert_dims", (void (**)(void))&__pyx_f_4h5py_5utils_convert_dims, "PyObject *(hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "require_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_require_tuple, "int (PyObject *, int, int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "create_numpy_hsize", (void (**)(void))&__pyx_f_4h5py_5utils_create_numpy_hsize, "PyObject *(int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "create_hsize_array", (void (**)(void))&__pyx_f_4h5py_5utils_create_hsize_array, "PyObject *(PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- Py_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*--- Execution code ---*/ - - /* "h5py/h5s.pyx":22 - * from numpy cimport ndarray - * -- * import _objects # <<<<<<<<<<<<<< -+ * from h5py import _objects # <<<<<<<<<<<<<< - * - * - */ -- __pyx_t_4 = __Pyx_Import(((PyObject *)__pyx_n_s___objects), 0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_3); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s___objects)); -+ PyList_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_n_s___objects)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s___objects)); -+ __pyx_t_4 = __Pyx_Import(((PyObject *)__pyx_n_s__h5py), ((PyObject *)__pyx_t_3), -1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s___objects, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; -+ __pyx_t_3 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s___objects); -+ if (__pyx_t_3 == NULL) { -+ if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s___objects); -+ if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } -+ __Pyx_GOTREF(__pyx_t_3); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s___objects, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5s.pyx":34 -@@ -5293,7 +5286,7 @@ PyMODINIT_FUNC PyInit_h5s(void) - * """(INT class_code) => SpaceID - * - */ -- __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5s_create, NULL, __pyx_n_s_11); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5s_1create, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - if (PyObject_SetAttr(__pyx_m, __pyx_n_s__create, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -@@ -5305,7 +5298,7 @@ PyMODINIT_FUNC PyInit_h5s(void) - * """(TUPLE dims_tpl, TUPLE max_dims_tpl) => SpaceID - * - */ -- __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5s_1create_simple, NULL, __pyx_n_s_11); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5s_3create_simple, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - if (PyObject_SetAttr(__pyx_m, __pyx_n_s__create_simple, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -@@ -5317,7 +5310,7 @@ PyMODINIT_FUNC PyInit_h5s(void) - * """(STRING buf) => SpaceID - * - */ -- __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5s_2decode, NULL, __pyx_n_s_11); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5s_5decode, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - if (PyObject_SetAttr(__pyx_m, __pyx_n_s__decode, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -@@ -5347,7 +5340,7 @@ PyMODINIT_FUNC PyInit_h5s(void) - */ - __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -- if (PyDict_SetItem(__pyx_t_4, ((PyObject *)__pyx_kp_u_12), ((PyObject *)__pyx_kp_u_13)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (PyDict_SetItem(__pyx_t_4, ((PyObject *)__pyx_kp_u_19), ((PyObject *)__pyx_kp_u_20)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_4)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; - goto __pyx_L0; -@@ -5357,7 +5350,7 @@ PyMODINIT_FUNC PyInit_h5s(void) - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - if (__pyx_m) { -- __Pyx_AddTraceback("init h5py.h5s"); -+ __Pyx_AddTraceback("init h5py.h5s", __pyx_clineno, __pyx_lineno, __pyx_filename); - Py_DECREF(__pyx_m); __pyx_m = 0; - } else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_ImportError, "init h5py.h5s"); -@@ -5372,12 +5365,34 @@ PyMODINIT_FUNC PyInit_h5s(void) - } - - /* Runtime support code */ -+#if CYTHON_REFNANNY -+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { -+ PyObject *m = NULL, *p = NULL; -+ void *r = NULL; -+ m = PyImport_ImportModule((char *)modname); -+ if (!m) goto end; -+ p = PyObject_GetAttrString(m, (char *)"RefNannyAPI"); -+ if (!p) goto end; -+ r = PyLong_AsVoidPtr(p); -+end: -+ Py_XDECREF(p); -+ Py_XDECREF(m); -+ return (__Pyx_RefNannyAPIStruct *)r; -+} -+#endif /* CYTHON_REFNANNY */ - - static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) { - PyObject *result; - result = PyObject_GetAttr(dict, name); -- if (!result) -- PyErr_SetObject(PyExc_NameError, name); -+ if (!result) { -+ if (dict != __pyx_b) { -+ PyErr_Clear(); -+ result = PyObject_GetAttr(__pyx_b, name); -+ } -+ if (!result) { -+ PyErr_SetObject(PyExc_NameError, name); -+ } -+ } - return result; - } - -@@ -5402,7 +5417,7 @@ static void __Pyx_RaiseDoubleKeywordsErr - "%s() got multiple values for keyword argument '%U'", func_name, kw_name); - #else - "%s() got multiple values for keyword argument '%s'", func_name, -- PyString_AS_STRING(kw_name)); -+ PyString_AsString(kw_name)); - #endif - } - -@@ -5418,55 +5433,77 @@ static int __Pyx_ParseOptionalKeywords( - Py_ssize_t pos = 0; - PyObject*** name; - PyObject*** first_kw_arg = argnames + num_pos_args; -- - while (PyDict_Next(kwds, &pos, &key, &value)) { - name = first_kw_arg; - while (*name && (**name != key)) name++; - if (*name) { - values[name-argnames] = value; -- } else { -- #if PY_MAJOR_VERSION < 3 -- if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key))) { -- #else -- if (unlikely(!PyUnicode_CheckExact(key)) && unlikely(!PyUnicode_Check(key))) { -- #endif -- goto invalid_keyword_type; -- } else { -- for (name = first_kw_arg; *name; name++) { -- #if PY_MAJOR_VERSION >= 3 -- if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) && -- PyUnicode_Compare(**name, key) == 0) break; -- #else -- if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) && -- _PyString_Eq(**name, key)) break; -- #endif -- } -- if (*name) { -+ continue; -+ } -+ name = first_kw_arg; -+ #if PY_MAJOR_VERSION < 3 -+ if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) { -+ while (*name) { -+ if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) -+ && _PyString_Eq(**name, key)) { - values[name-argnames] = value; -- } else { -- /* unexpected keyword found */ -- for (name=argnames; name != first_kw_arg; name++) { -- if (**name == key) goto arg_passed_twice; -- #if PY_MAJOR_VERSION >= 3 -- if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) && -- PyUnicode_Compare(**name, key) == 0) goto arg_passed_twice; -- #else -- if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) && -- _PyString_Eq(**name, key)) goto arg_passed_twice; -- #endif -- } -- if (kwds2) { -- if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; -- } else { -- goto invalid_keyword; -+ break; -+ } -+ name++; -+ } -+ if (*name) continue; -+ else { -+ PyObject*** argname = argnames; -+ while (argname != first_kw_arg) { -+ if ((**argname == key) || ( -+ (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) -+ && _PyString_Eq(**argname, key))) { -+ goto arg_passed_twice; - } -+ argname++; -+ } -+ } -+ } else -+ #endif -+ if (likely(PyUnicode_Check(key))) { -+ while (*name) { -+ int cmp = (**name == key) ? 0 : -+ #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 -+ (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : -+ #endif -+ PyUnicode_Compare(**name, key); -+ if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; -+ if (cmp == 0) { -+ values[name-argnames] = value; -+ break; -+ } -+ name++; -+ } -+ if (*name) continue; -+ else { -+ PyObject*** argname = argnames; -+ while (argname != first_kw_arg) { -+ int cmp = (**argname == key) ? 0 : -+ #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 -+ (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : -+ #endif -+ PyUnicode_Compare(**argname, key); -+ if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; -+ if (cmp == 0) goto arg_passed_twice; -+ argname++; - } - } -+ } else -+ goto invalid_keyword_type; -+ if (kwds2) { -+ if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; -+ } else { -+ goto invalid_keyword; - } - } - return 0; - arg_passed_twice: -- __Pyx_RaiseDoubleKeywordsError(function_name, **name); -+ __Pyx_RaiseDoubleKeywordsError(function_name, key); - goto bad; - invalid_keyword_type: - PyErr_Format(PyExc_TypeError, -@@ -5493,8 +5530,7 @@ static void __Pyx_RaiseArgtupleInvalid( - Py_ssize_t num_found) - { - Py_ssize_t num_expected; -- const char *number, *more_or_less; -- -+ const char *more_or_less; - if (num_found < num_min) { - num_expected = num_min; - more_or_less = "at least"; -@@ -5505,20 +5541,16 @@ static void __Pyx_RaiseArgtupleInvalid( - if (exact) { - more_or_less = "exactly"; - } -- number = (num_expected == 1) ? "" : "s"; - PyErr_Format(PyExc_TypeError, -- #if PY_VERSION_HEX < 0x02050000 -- "%s() takes %s %d positional argument%s (%d given)", -- #else -- "%s() takes %s %zd positional argument%s (%zd given)", -- #endif -- func_name, more_or_less, num_expected, number, num_found); -+ "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)", -+ func_name, more_or_less, num_expected, -+ (num_expected == 1) ? "" : "s", num_found); - } - - static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); -- - tmp_type = tstate->curexc_type; - tmp_value = tstate->curexc_value; - tmp_tb = tstate->curexc_traceback; -@@ -5528,23 +5560,27 @@ static CYTHON_INLINE void __Pyx_ErrResto - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -+#else -+ PyErr_Restore(type, value, tb); -+#endif - } -- - static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyThreadState *tstate = PyThreadState_GET(); - *type = tstate->curexc_type; - *value = tstate->curexc_value; - *tb = tstate->curexc_traceback; -- - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -+#else -+ PyErr_Fetch(type, value, tb); -+#endif - } - -- -- - static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) { - PyObject *local_type, *local_value, *local_tb; -+#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); - local_type = tstate->curexc_type; -@@ -5553,19 +5589,27 @@ static int __Pyx_GetException(PyObject * - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -+#else -+ PyErr_Fetch(&local_type, &local_value, &local_tb); -+#endif - PyErr_NormalizeException(&local_type, &local_value, &local_tb); -+#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(tstate->curexc_type)) -+#else -+ if (unlikely(PyErr_Occurred())) -+#endif - goto bad; - #if PY_MAJOR_VERSION >= 3 - if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) - goto bad; - #endif -- *type = local_type; -- *value = local_value; -- *tb = local_tb; - Py_INCREF(local_type); - Py_INCREF(local_value); - Py_INCREF(local_tb); -+ *type = local_type; -+ *value = local_value; -+ *tb = local_tb; -+#if CYTHON_COMPILING_IN_CPYTHON - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; -@@ -5573,10 +5617,13 @@ static int __Pyx_GetException(PyObject * - tstate->exc_value = local_value; - tstate->exc_traceback = local_tb; - /* Make sure tstate is in a consistent state when we XDECREF -- these objects (XDECREF may run arbitrary code). */ -+ these objects (DECREF may run arbitrary code). */ - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -+#else -+ PyErr_SetExcInfo(local_type, local_value, local_tb); -+#endif - return 0; - bad: - *type = 0; -@@ -5588,41 +5635,42 @@ bad: - return -1; - } - -- - #if PY_MAJOR_VERSION < 3 --static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { -+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, -+ CYTHON_UNUSED PyObject *cause) { - Py_XINCREF(type); -- Py_XINCREF(value); -- Py_XINCREF(tb); -- /* First, check the traceback argument, replacing None with NULL. */ -- if (tb == Py_None) { -- Py_DECREF(tb); -- tb = 0; -- } -- else if (tb != NULL && !PyTraceBack_Check(tb)) { -- PyErr_SetString(PyExc_TypeError, -- "raise: arg 3 must be a traceback or None"); -- goto raise_error; -- } -- /* Next, replace a missing value with None */ -- if (value == NULL) { -- value = Py_None; -+ if (!value || value == Py_None) -+ value = NULL; -+ else - Py_INCREF(value); -+ if (!tb || tb == Py_None) -+ tb = NULL; -+ else { -+ Py_INCREF(tb); -+ if (!PyTraceBack_Check(tb)) { -+ PyErr_SetString(PyExc_TypeError, -+ "raise: arg 3 must be a traceback or None"); -+ goto raise_error; -+ } - } - #if PY_VERSION_HEX < 0x02050000 -- if (!PyClass_Check(type)) -+ if (PyClass_Check(type)) { - #else -- if (!PyType_Check(type)) -+ if (PyType_Check(type)) { - #endif -- { -- /* Raising an instance. The value should be a dummy. */ -- if (value != Py_None) { -+#if CYTHON_COMPILING_IN_PYPY -+ if (!value) { -+ Py_INCREF(Py_None); -+ value = Py_None; -+ } -+#endif -+ PyErr_NormalizeException(&type, &value, &tb); -+ } else { -+ if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto raise_error; - } -- /* Normalize to raise , */ -- Py_DECREF(value); - value = type; - #if PY_VERSION_HEX < 0x02050000 - if (PyInstance_Check(type)) { -@@ -5645,7 +5693,6 @@ static void __Pyx_Raise(PyObject *type, - } - #endif - } -- - __Pyx_ErrRestore(type, value, tb); - return; - raise_error: -@@ -5654,10 +5701,9 @@ raise_error: - Py_XDECREF(tb); - return; - } -- - #else /* Python 3+ */ -- --static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { -+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { -+ PyObject* owned_instance = NULL; - if (tb == Py_None) { - tb = 0; - } else if (tb && !PyTraceBack_Check(tb)) { -@@ -5667,7 +5713,6 @@ static void __Pyx_Raise(PyObject *type, - } - if (value == Py_None) - value = 0; -- - if (PyExceptionInstance_Check(type)) { - if (value) { - PyErr_SetString(PyExc_TypeError, -@@ -5676,14 +5721,55 @@ static void __Pyx_Raise(PyObject *type, - } - value = type; - type = (PyObject*) Py_TYPE(value); -- } else if (!PyExceptionClass_Check(type)) { -+ } else if (PyExceptionClass_Check(type)) { -+ PyObject *args; -+ if (!value) -+ args = PyTuple_New(0); -+ else if (PyTuple_Check(value)) { -+ Py_INCREF(value); -+ args = value; -+ } -+ else -+ args = PyTuple_Pack(1, value); -+ if (!args) -+ goto bad; -+ owned_instance = PyEval_CallObject(type, args); -+ Py_DECREF(args); -+ if (!owned_instance) -+ goto bad; -+ value = owned_instance; -+ if (!PyExceptionInstance_Check(value)) { -+ PyErr_Format(PyExc_TypeError, -+ "calling %R should have returned an instance of " -+ "BaseException, not %R", -+ type, Py_TYPE(value)); -+ goto bad; -+ } -+ } else { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto bad; - } -- -+ if (cause && cause != Py_None) { -+ PyObject *fixed_cause; -+ if (PyExceptionClass_Check(cause)) { -+ fixed_cause = PyObject_CallObject(cause, NULL); -+ if (fixed_cause == NULL) -+ goto bad; -+ } -+ else if (PyExceptionInstance_Check(cause)) { -+ fixed_cause = cause; -+ Py_INCREF(fixed_cause); -+ } -+ else { -+ PyErr_SetString(PyExc_TypeError, -+ "exception causes must derive from " -+ "BaseException"); -+ goto bad; -+ } -+ PyException_SetCause(value, fixed_cause); -+ } - PyErr_SetObject(type, value); -- - if (tb) { - PyThreadState *tstate = PyThreadState_GET(); - PyObject* tmp_tb = tstate->curexc_traceback; -@@ -5693,8 +5779,8 @@ static void __Pyx_Raise(PyObject *type, - Py_XDECREF(tmp_tb); - } - } -- - bad: -+ Py_XDECREF(owned_instance); - return; - } - #endif -@@ -5719,7 +5805,33 @@ static int __Pyx_ArgTypeTest(PyObject *o - return 0; - } - -+static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc) { -+ PyTypeObject* type = Py_TYPE(obj); -+ while (type && type->tp_dealloc != current_tp_dealloc) -+ type = type->tp_base; -+ if (type && type->tp_base) -+ type->tp_base->tp_dealloc(obj); -+} -+ -+static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse) { -+ PyTypeObject* type = Py_TYPE(obj); -+ while (type && type->tp_traverse != current_tp_traverse) -+ type = type->tp_base; -+ if (type && type->tp_base && type->tp_base->tp_traverse) -+ return type->tp_base->tp_traverse(obj, v, a); -+ return 0; -+} -+ -+static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) { -+ PyTypeObject* type = Py_TYPE(obj); -+ while (type && type->tp_clear != current_tp_clear) -+ type = type->tp_base; -+ if (type && type->tp_base && type->tp_base->tp_clear) -+ type->tp_base->tp_clear(obj); -+} -+ - static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyThreadState *tstate = PyThreadState_GET(); - *type = tstate->exc_type; - *value = tstate->exc_value; -@@ -5727,9 +5839,12 @@ static CYTHON_INLINE void __Pyx_Exceptio - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); -+#else -+ PyErr_GetExcInfo(type, value, tb); -+#endif - } -- - static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); - tmp_type = tstate->exc_type; -@@ -5741,9 +5856,12 @@ static void __Pyx_ExceptionReset(PyObjec - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -+#else -+ PyErr_SetExcInfo(type, value, tb); -+#endif - } - --static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) { -+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level) { - PyObject *py_import = 0; - PyObject *empty_list = 0; - PyObject *module = 0; -@@ -5767,8 +5885,44 @@ static PyObject *__Pyx_Import(PyObject * - empty_dict = PyDict_New(); - if (!empty_dict) - goto bad; -+ #if PY_VERSION_HEX >= 0x02050000 -+ { -+ #if PY_MAJOR_VERSION >= 3 -+ if (level == -1) { -+ if (strchr(__Pyx_MODULE_NAME, '.')) { -+ /* try package relative import first */ -+ PyObject *py_level = PyInt_FromLong(1); -+ if (!py_level) -+ goto bad; -+ module = PyObject_CallFunctionObjArgs(py_import, -+ name, global_dict, empty_dict, list, py_level, NULL); -+ Py_DECREF(py_level); -+ if (!module) { -+ if (!PyErr_ExceptionMatches(PyExc_ImportError)) -+ goto bad; -+ PyErr_Clear(); -+ } -+ } -+ level = 0; /* try absolute import on failure */ -+ } -+ #endif -+ if (!module) { -+ PyObject *py_level = PyInt_FromLong(level); -+ if (!py_level) -+ goto bad; -+ module = PyObject_CallFunctionObjArgs(py_import, -+ name, global_dict, empty_dict, list, py_level, NULL); -+ Py_DECREF(py_level); -+ } -+ } -+ #else -+ if (level>0) { -+ PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4."); -+ goto bad; -+ } - module = PyObject_CallFunctionObjArgs(py_import, - name, global_dict, empty_dict, list, NULL); -+ #endif - bad: - Py_XDECREF(empty_list); - Py_XDECREF(py_import); -@@ -5776,6 +5930,15 @@ bad: - return module; - } - -+static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name) { -+#if PY_MAJOR_VERSION < 3 -+ PyErr_Format(PyExc_ImportError, "cannot import name %.230s", -+ PyString_AsString(name)); -+#else -+ PyErr_Format(PyExc_ImportError, "cannot import name %S", name); -+#endif -+} -+ - static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t val) { - const hsize_t neg_one = (hsize_t)-1, const_zero = (hsize_t)0; - const int is_unsigned = const_zero < neg_one; -@@ -5796,7 +5959,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyI - } else { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; -- return _PyLong_FromByteArray(bytes, sizeof(hsize_t), -+ return _PyLong_FromByteArray(bytes, sizeof(hsize_t), - little, !is_unsigned); - } - } -@@ -5821,7 +5984,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyI - } else { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; -- return _PyLong_FromByteArray(bytes, sizeof(hid_t), -+ return _PyLong_FromByteArray(bytes, sizeof(hid_t), - little, !is_unsigned); - } - } -@@ -5846,7 +6009,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyI - } else { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; -- return _PyLong_FromByteArray(bytes, sizeof(hssize_t), -+ return _PyLong_FromByteArray(bytes, sizeof(hssize_t), - little, !is_unsigned); - } - } -@@ -6062,9 +6225,9 @@ static CYTHON_INLINE unsigned long __Pyx - "can't convert negative value to unsigned long"); - return (unsigned long)-1; - } -- return PyLong_AsUnsignedLong(x); -+ return (unsigned long)PyLong_AsUnsignedLong(x); - } else { -- return PyLong_AsLong(x); -+ return (unsigned long)PyLong_AsLong(x); - } - } else { - unsigned long val; -@@ -6097,9 +6260,9 @@ static CYTHON_INLINE unsigned PY_LONG_LO - "can't convert negative value to unsigned PY_LONG_LONG"); - return (unsigned PY_LONG_LONG)-1; - } -- return PyLong_AsUnsignedLongLong(x); -+ return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); - } else { -- return PyLong_AsLongLong(x); -+ return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x); - } - } else { - unsigned PY_LONG_LONG val; -@@ -6132,9 +6295,9 @@ static CYTHON_INLINE long __Pyx_PyInt_As - "can't convert negative value to long"); - return (long)-1; - } -- return PyLong_AsUnsignedLong(x); -+ return (long)PyLong_AsUnsignedLong(x); - } else { -- return PyLong_AsLong(x); -+ return (long)PyLong_AsLong(x); - } - } else { - long val; -@@ -6167,9 +6330,9 @@ static CYTHON_INLINE PY_LONG_LONG __Pyx_ - "can't convert negative value to PY_LONG_LONG"); - return (PY_LONG_LONG)-1; - } -- return PyLong_AsUnsignedLongLong(x); -+ return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); - } else { -- return PyLong_AsLongLong(x); -+ return (PY_LONG_LONG)PyLong_AsLongLong(x); - } - } else { - PY_LONG_LONG val; -@@ -6202,9 +6365,9 @@ static CYTHON_INLINE signed long __Pyx_P - "can't convert negative value to signed long"); - return (signed long)-1; - } -- return PyLong_AsUnsignedLong(x); -+ return (signed long)PyLong_AsUnsignedLong(x); - } else { -- return PyLong_AsLong(x); -+ return (signed long)PyLong_AsLong(x); - } - } else { - signed long val; -@@ -6237,9 +6400,9 @@ static CYTHON_INLINE signed PY_LONG_LONG - "can't convert negative value to signed PY_LONG_LONG"); - return (signed PY_LONG_LONG)-1; - } -- return PyLong_AsUnsignedLongLong(x); -+ return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); - } else { -- return PyLong_AsLongLong(x); -+ return (signed PY_LONG_LONG)PyLong_AsLongLong(x); - } - } else { - signed PY_LONG_LONG val; -@@ -6251,24 +6414,55 @@ static CYTHON_INLINE signed PY_LONG_LONG - } - } - -+static int __Pyx_check_binary_version(void) { -+ char ctversion[4], rtversion[4]; -+ PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION); -+ PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion()); -+ if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) { -+ char message[200]; -+ PyOS_snprintf(message, sizeof(message), -+ "compiletime version %s of module '%.100s' " -+ "does not match runtime version %s", -+ ctversion, __Pyx_MODULE_NAME, rtversion); -+ #if PY_VERSION_HEX < 0x02050000 -+ return PyErr_Warn(NULL, message); -+ #else -+ return PyErr_WarnEx(NULL, message, 1); -+ #endif -+ } -+ return 0; -+} -+ -+#ifndef __PYX_HAVE_RT_ImportModule -+#define __PYX_HAVE_RT_ImportModule -+static PyObject *__Pyx_ImportModule(const char *name) { -+ PyObject *py_name = 0; -+ PyObject *py_module = 0; -+ py_name = __Pyx_PyIdentifier_FromString(name); -+ if (!py_name) -+ goto bad; -+ py_module = PyImport_Import(py_name); -+ Py_DECREF(py_name); -+ return py_module; -+bad: -+ Py_XDECREF(py_name); -+ return 0; -+} -+#endif -+ - #ifndef __PYX_HAVE_RT_ImportType - #define __PYX_HAVE_RT_ImportType - static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, -- long size, int strict) -+ size_t size, int strict) - { - PyObject *py_module = 0; - PyObject *result = 0; - PyObject *py_name = 0; - char warning[200]; -- - py_module = __Pyx_ImportModule(module_name); - if (!py_module) - goto bad; -- #if PY_MAJOR_VERSION < 3 -- py_name = PyString_FromString(class_name); -- #else -- py_name = PyUnicode_FromString(class_name); -- #endif -+ py_name = __Pyx_PyIdentifier_FromString(class_name); - if (!py_name) - goto bad; - result = PyObject_GetAttr(py_module, py_name); -@@ -6284,17 +6478,17 @@ static PyTypeObject *__Pyx_ImportType(co - module_name, class_name); - goto bad; - } -- if (!strict && ((PyTypeObject *)result)->tp_basicsize > size) { -+ if (!strict && (size_t)((PyTypeObject *)result)->tp_basicsize > size) { - PyOS_snprintf(warning, sizeof(warning), - "%s.%s size changed, may indicate binary incompatibility", - module_name, class_name); - #if PY_VERSION_HEX < 0x02050000 -- PyErr_Warn(NULL, warning); -+ if (PyErr_Warn(NULL, warning) < 0) goto bad; - #else -- PyErr_WarnEx(NULL, warning, 0); -+ if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; - #endif - } -- else if (((PyTypeObject *)result)->tp_basicsize != size) { -+ else if ((size_t)((PyTypeObject *)result)->tp_basicsize != size) { - PyErr_Format(PyExc_ValueError, - "%s.%s has the wrong size, try recompiling", - module_name, class_name); -@@ -6304,29 +6498,7 @@ static PyTypeObject *__Pyx_ImportType(co - bad: - Py_XDECREF(py_module); - Py_XDECREF(result); -- return 0; --} --#endif -- --#ifndef __PYX_HAVE_RT_ImportModule --#define __PYX_HAVE_RT_ImportModule --static PyObject *__Pyx_ImportModule(const char *name) { -- PyObject *py_name = 0; -- PyObject *py_module = 0; -- -- #if PY_MAJOR_VERSION < 3 -- py_name = PyString_FromString(name); -- #else -- py_name = PyUnicode_FromString(name); -- #endif -- if (!py_name) -- goto bad; -- py_module = PyImport_Import(py_name); -- Py_DECREF(py_name); -- return py_module; --bad: -- Py_XDECREF(py_name); -- return 0; -+ return NULL; - } - #endif - -@@ -6339,7 +6511,6 @@ static int __Pyx_ImportFunction(PyObject - void (*fp)(void); - void *p; - } tmp; -- - d = PyObject_GetAttrString(module, (char *)"__pyx_capi__"); - if (!d) - goto bad; -@@ -6350,7 +6521,7 @@ static int __Pyx_ImportFunction(PyObject - PyModule_GetName(module), funcname); - goto bad; - } --#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0) -+#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0) - if (!PyCapsule_IsValid(cobj, sig)) { - PyErr_Format(PyExc_TypeError, - "C function %s.%s has wrong signature (expected %s, got %s)", -@@ -6384,28 +6555,105 @@ bad: - } - #endif - -+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { -+ int start = 0, mid = 0, end = count - 1; -+ if (end >= 0 && code_line > entries[end].code_line) { -+ return count; -+ } -+ while (start < end) { -+ mid = (start + end) / 2; -+ if (code_line < entries[mid].code_line) { -+ end = mid; -+ } else if (code_line > entries[mid].code_line) { -+ start = mid + 1; -+ } else { -+ return mid; -+ } -+ } -+ if (code_line <= entries[mid].code_line) { -+ return mid; -+ } else { -+ return mid + 1; -+ } -+} -+static PyCodeObject *__pyx_find_code_object(int code_line) { -+ PyCodeObject* code_object; -+ int pos; -+ if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { -+ return NULL; -+ } -+ pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); -+ if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { -+ return NULL; -+ } -+ code_object = __pyx_code_cache.entries[pos].code_object; -+ Py_INCREF(code_object); -+ return code_object; -+} -+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { -+ int pos, i; -+ __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; -+ if (unlikely(!code_line)) { -+ return; -+ } -+ if (unlikely(!entries)) { -+ entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); -+ if (likely(entries)) { -+ __pyx_code_cache.entries = entries; -+ __pyx_code_cache.max_count = 64; -+ __pyx_code_cache.count = 1; -+ entries[0].code_line = code_line; -+ entries[0].code_object = code_object; -+ Py_INCREF(code_object); -+ } -+ return; -+ } -+ pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); -+ if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { -+ PyCodeObject* tmp = entries[pos].code_object; -+ entries[pos].code_object = code_object; -+ Py_DECREF(tmp); -+ return; -+ } -+ if (__pyx_code_cache.count == __pyx_code_cache.max_count) { -+ int new_max = __pyx_code_cache.max_count + 64; -+ entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( -+ __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry)); -+ if (unlikely(!entries)) { -+ return; -+ } -+ __pyx_code_cache.entries = entries; -+ __pyx_code_cache.max_count = new_max; -+ } -+ for (i=__pyx_code_cache.count; i>pos; i--) { -+ entries[i] = entries[i-1]; -+ } -+ entries[pos].code_line = code_line; -+ entries[pos].code_object = code_object; -+ __pyx_code_cache.count++; -+ Py_INCREF(code_object); -+} -+ - #include "compile.h" - #include "frameobject.h" - #include "traceback.h" -- --static void __Pyx_AddTraceback(const char *funcname) { -+static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( -+ const char *funcname, int c_line, -+ int py_line, const char *filename) { -+ PyCodeObject *py_code = 0; - PyObject *py_srcfile = 0; - PyObject *py_funcname = 0; -- PyObject *py_globals = 0; -- PyCodeObject *py_code = 0; -- PyFrameObject *py_frame = 0; -- - #if PY_MAJOR_VERSION < 3 -- py_srcfile = PyString_FromString(__pyx_filename); -+ py_srcfile = PyString_FromString(filename); - #else -- py_srcfile = PyUnicode_FromString(__pyx_filename); -+ py_srcfile = PyUnicode_FromString(filename); - #endif - if (!py_srcfile) goto bad; -- if (__pyx_clineno) { -+ if (c_line) { - #if PY_MAJOR_VERSION < 3 -- py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno); -+ py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - #else -- py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno); -+ py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - #endif - } - else { -@@ -6416,28 +6664,45 @@ static void __Pyx_AddTraceback(const cha - #endif - } - if (!py_funcname) goto bad; -- py_globals = PyModule_GetDict(__pyx_m); -- if (!py_globals) goto bad; -- py_code = PyCode_New( -+ py_code = __Pyx_PyCode_New( - 0, /*int argcount,*/ -- #if PY_MAJOR_VERSION >= 3 - 0, /*int kwonlyargcount,*/ -- #endif - 0, /*int nlocals,*/ - 0, /*int stacksize,*/ - 0, /*int flags,*/ - __pyx_empty_bytes, /*PyObject *code,*/ -- __pyx_empty_tuple, /*PyObject *consts,*/ -- __pyx_empty_tuple, /*PyObject *names,*/ -- __pyx_empty_tuple, /*PyObject *varnames,*/ -- __pyx_empty_tuple, /*PyObject *freevars,*/ -- __pyx_empty_tuple, /*PyObject *cellvars,*/ -+ __pyx_empty_tuple, /*PyObject *consts,*/ -+ __pyx_empty_tuple, /*PyObject *names,*/ -+ __pyx_empty_tuple, /*PyObject *varnames,*/ -+ __pyx_empty_tuple, /*PyObject *freevars,*/ -+ __pyx_empty_tuple, /*PyObject *cellvars,*/ - py_srcfile, /*PyObject *filename,*/ - py_funcname, /*PyObject *name,*/ -- __pyx_lineno, /*int firstlineno,*/ -+ py_line, /*int firstlineno,*/ - __pyx_empty_bytes /*PyObject *lnotab*/ - ); -- if (!py_code) goto bad; -+ Py_DECREF(py_srcfile); -+ Py_DECREF(py_funcname); -+ return py_code; -+bad: -+ Py_XDECREF(py_srcfile); -+ Py_XDECREF(py_funcname); -+ return NULL; -+} -+static void __Pyx_AddTraceback(const char *funcname, int c_line, -+ int py_line, const char *filename) { -+ PyCodeObject *py_code = 0; -+ PyObject *py_globals = 0; -+ PyFrameObject *py_frame = 0; -+ py_code = __pyx_find_code_object(c_line ? c_line : py_line); -+ if (!py_code) { -+ py_code = __Pyx_CreateCodeObjectForTraceback( -+ funcname, c_line, py_line, filename); -+ if (!py_code) goto bad; -+ __pyx_insert_code_object(c_line ? c_line : py_line, py_code); -+ } -+ py_globals = PyModule_GetDict(__pyx_m); -+ if (!py_globals) goto bad; - py_frame = PyFrame_New( - PyThreadState_GET(), /*PyThreadState *tstate,*/ - py_code, /*PyCodeObject *code,*/ -@@ -6445,11 +6710,9 @@ static void __Pyx_AddTraceback(const cha - 0 /*PyObject *locals*/ - ); - if (!py_frame) goto bad; -- py_frame->f_lineno = __pyx_lineno; -+ py_frame->f_lineno = py_line; - PyTraceBack_Here(py_frame); - bad: -- Py_XDECREF(py_srcfile); -- Py_XDECREF(py_funcname); - Py_XDECREF(py_code); - Py_XDECREF(py_frame); - } -@@ -6484,6 +6747,7 @@ static int __Pyx_InitStrings(__Pyx_Strin - return 0; - } - -+ - /* Type Conversion Functions */ - - static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { -diff -rupN h5py-2.1.0.orig/h5py/h5s.pyx h5py-2.1.0/h5py/h5s.pyx ---- h5py-2.1.0.orig/h5py/h5s.pyx 2012-09-20 03:04:52.000000000 +0200 -+++ h5py-2.1.0/h5py/h5s.pyx 2012-11-23 14:17:43.000000000 +0100 -@@ -19,7 +19,7 @@ from utils cimport require_tuple, conve - emalloc, efree, create_numpy_hsize, create_hsize_array - from numpy cimport ndarray - --import _objects -+from h5py import _objects - - - cdef object lockid(hid_t id_): -diff -rupN h5py-2.1.0.orig/h5py/h5t.c h5py-2.1.0/h5py/h5t.c ---- h5py-2.1.0.orig/h5py/h5t.c 2012-10-02 16:17:28.000000000 +0200 -+++ h5py-2.1.0/h5py/h5t.c 2012-11-23 14:17:42.000000000 +0100 -@@ -1,16 +1,16 @@ --/* Generated by Cython 0.14.1 on Tue Oct 2 08:17:27 2012 */ -+/* Generated by Cython 0.17.2 on Fri Nov 23 14:00:09 2012 */ - - #define PY_SSIZE_T_CLEAN - #include "Python.h" - #ifndef Py_PYTHON_H - #error Python headers needed to compile C extensions, please install development version of Python. -+#elif PY_VERSION_HEX < 0x02040000 -+ #error Cython requires Python 2.4+. - #else -- - #include /* For offsetof */ - #ifndef offsetof - #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) - #endif -- - #if !defined(WIN32) && !defined(MS_WINDOWS) - #ifndef __stdcall - #define __stdcall -@@ -22,36 +22,47 @@ - #define __fastcall - #endif - #endif -- - #ifndef DL_IMPORT - #define DL_IMPORT(t) t - #endif - #ifndef DL_EXPORT - #define DL_EXPORT(t) t - #endif -- - #ifndef PY_LONG_LONG - #define PY_LONG_LONG LONG_LONG - #endif -- --#if PY_VERSION_HEX < 0x02040000 -- #define METH_COEXIST 0 -- #define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type) -- #define PyDict_Contains(d,o) PySequence_Contains(d,o) -+#ifndef Py_HUGE_VAL -+ #define Py_HUGE_VAL HUGE_VAL -+#endif -+#ifdef PYPY_VERSION -+#define CYTHON_COMPILING_IN_PYPY 1 -+#define CYTHON_COMPILING_IN_CPYTHON 0 -+#else -+#define CYTHON_COMPILING_IN_PYPY 0 -+#define CYTHON_COMPILING_IN_CPYTHON 1 - #endif -- - #if PY_VERSION_HEX < 0x02050000 - typedef int Py_ssize_t; - #define PY_SSIZE_T_MAX INT_MAX - #define PY_SSIZE_T_MIN INT_MIN - #define PY_FORMAT_SIZE_T "" -+ #define CYTHON_FORMAT_SSIZE_T "" - #define PyInt_FromSsize_t(z) PyInt_FromLong(z) -- #define PyInt_AsSsize_t(o) PyInt_AsLong(o) -- #define PyNumber_Index(o) PyNumber_Int(o) -- #define PyIndex_Check(o) PyNumber_Check(o) -+ #define PyInt_AsSsize_t(o) __Pyx_PyInt_AsInt(o) -+ #define PyNumber_Index(o) ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \ -+ (PyErr_Format(PyExc_TypeError, \ -+ "expected index value, got %.200s", Py_TYPE(o)->tp_name), \ -+ (PyObject*)0)) -+ #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \ -+ !PyComplex_Check(o)) -+ #define PyIndex_Check __Pyx_PyIndex_Check - #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message) -+ #define __PYX_BUILD_PY_SSIZE_T "i" -+#else -+ #define __PYX_BUILD_PY_SSIZE_T "n" -+ #define CYTHON_FORMAT_SSIZE_T "z" -+ #define __Pyx_PyIndex_Check PyIndex_Check - #endif -- - #if PY_VERSION_HEX < 0x02060000 - #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt) - #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type) -@@ -59,7 +70,6 @@ - #define PyVarObject_HEAD_INIT(type, size) \ - PyObject_HEAD_INIT(type) size, - #define PyType_Modified(t) -- - typedef struct { - void *buf; - PyObject *obj; -@@ -73,7 +83,6 @@ - Py_ssize_t *suboffsets; - void *internal; - } Py_buffer; -- - #define PyBUF_SIMPLE 0 - #define PyBUF_WRITABLE 0x0001 - #define PyBUF_FORMAT 0x0004 -@@ -83,24 +92,44 @@ - #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES) - #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES) - #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES) -- -+ #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE) -+ #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE) -+ typedef int (*getbufferproc)(PyObject *, Py_buffer *, int); -+ typedef void (*releasebufferproc)(PyObject *, Py_buffer *); - #endif -- - #if PY_MAJOR_VERSION < 3 - #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" -+ #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \ -+ PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) - #else - #define __Pyx_BUILTIN_MODULE_NAME "builtins" -+ #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \ -+ PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -+#endif -+#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6 -+ #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict") - #endif -- - #if PY_MAJOR_VERSION >= 3 - #define Py_TPFLAGS_CHECKTYPES 0 - #define Py_TPFLAGS_HAVE_INDEX 0 - #endif -- - #if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3) - #define Py_TPFLAGS_HAVE_NEWBUFFER 0 - #endif -- -+#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) -+ #define CYTHON_PEP393_ENABLED 1 -+ #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ? \ -+ 0 : _PyUnicode_Ready((PyObject *)(op))) -+ #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) -+ #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) -+ #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) -+#else -+ #define CYTHON_PEP393_ENABLED 0 -+ #define __Pyx_PyUnicode_READY(op) (0) -+ #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) -+ #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) -+ #define __Pyx_PyUnicode_READ(k, d, i) ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i])) -+#endif - #if PY_MAJOR_VERSION >= 3 - #define PyBaseString_Type PyUnicode_Type - #define PyStringObject PyUnicodeObject -@@ -108,7 +137,6 @@ - #define PyString_Check PyUnicode_Check - #define PyString_CheckExact PyUnicode_CheckExact - #endif -- - #if PY_VERSION_HEX < 0x02060000 - #define PyBytesObject PyStringObject - #define PyBytes_Type PyString_Type -@@ -127,7 +155,6 @@ - #define PyBytes_Concat PyString_Concat - #define PyBytes_ConcatAndDel PyString_ConcatAndDel - #endif -- - #if PY_VERSION_HEX < 0x02060000 - #define PySet_Check(obj) PyObject_TypeCheck(obj, &PySet_Type) - #define PyFrozenSet_Check(obj) PyObject_TypeCheck(obj, &PyFrozenSet_Type) -@@ -135,9 +162,7 @@ - #ifndef PySet_CheckExact - #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) - #endif -- - #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) -- - #if PY_MAJOR_VERSION >= 3 - #define PyIntObject PyLongObject - #define PyInt_Type PyLong_Type -@@ -154,20 +179,17 @@ - #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask - #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask - #endif -- - #if PY_MAJOR_VERSION >= 3 - #define PyBoolObject PyLongObject - #endif -- -- --#if PY_MAJOR_VERSION >= 3 -- #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) -- #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) -+#if PY_VERSION_HEX < 0x03020000 -+ typedef long Py_hash_t; -+ #define __Pyx_PyInt_FromHash_t PyInt_FromLong -+ #define __Pyx_PyInt_AsHash_t PyInt_AsLong - #else -- #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) -- #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -+ #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t -+ #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t - #endif -- - #if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300) - #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b) - #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value) -@@ -186,11 +208,9 @@ - (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \ - (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1))) - #endif -- - #if PY_MAJOR_VERSION >= 3 - #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func)) - #endif -- - #if PY_VERSION_HEX < 0x02050000 - #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),((char *)(n))) - #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a)) -@@ -200,7 +220,6 @@ - #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a)) - #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),(n)) - #endif -- - #if PY_VERSION_HEX < 0x02050000 - #define __Pyx_NAMESTR(n) ((char *)(n)) - #define __Pyx_DOCSTR(n) ((char *)(n)) -@@ -209,16 +228,28 @@ - #define __Pyx_DOCSTR(n) (n) - #endif - --#ifdef __cplusplus --#define __PYX_EXTERN_C extern "C" -+ -+#if PY_MAJOR_VERSION >= 3 -+ #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) -+ #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) - #else --#define __PYX_EXTERN_C extern -+ #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) -+ #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -+#endif -+ -+#ifndef __PYX_EXTERN_C -+ #ifdef __cplusplus -+ #define __PYX_EXTERN_C extern "C" -+ #else -+ #define __PYX_EXTERN_C extern -+ #endif - #endif - - #if defined(WIN32) || defined(MS_WINDOWS) - #define _USE_MATH_DEFINES - #endif - #include -+#define __PYX_HAVE__h5py__h5t - #define __PYX_HAVE_API__h5py__h5t - #include "stdlib.h" - #include "string.h" -@@ -230,6 +261,9 @@ - #include "hdf5.h" - #include "hdf5_hl.h" - #include "numpy/arrayobject.h" -+#ifdef _OPENMP -+#include -+#endif /* _OPENMP */ - - #ifdef PYREX_WITHOUT_ASSERTIONS - #define CYTHON_WITHOUT_ASSERTIONS -@@ -257,7 +291,7 @@ - # else - # define CYTHON_UNUSED - # endif --# elif defined(__ICC) || defined(__INTEL_COMPILER) -+# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) - # define CYTHON_UNUSED __attribute__ ((__unused__)) - # else - # define CYTHON_UNUSED -@@ -272,6 +306,7 @@ typedef struct {PyObject **p; char *s; c - #define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s) - #define __Pyx_PyBytes_AsUString(s) ((unsigned char*) PyBytes_AsString(s)) - -+#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None) - #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False)) - static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); - static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); -@@ -280,21 +315,25 @@ static CYTHON_INLINE Py_ssize_t __Pyx_Py - static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); - static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*); - -+#if CYTHON_COMPILING_IN_CPYTHON - #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) -- -+#else -+#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) -+#endif -+#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) - - #ifdef __GNUC__ --/* Test for GCC > 2.95 */ --#if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) --#define likely(x) __builtin_expect(!!(x), 1) --#define unlikely(x) __builtin_expect(!!(x), 0) --#else /* __GNUC__ > 2 ... */ --#define likely(x) (x) --#define unlikely(x) (x) --#endif /* __GNUC__ > 2 ... */ -+ /* Test for GCC > 2.95 */ -+ #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) -+ #define likely(x) __builtin_expect(!!(x), 1) -+ #define unlikely(x) __builtin_expect(!!(x), 0) -+ #else /* __GNUC__ > 2 ... */ -+ #define likely(x) (x) -+ #define unlikely(x) (x) -+ #endif /* __GNUC__ > 2 ... */ - #else /* __GNUC__ */ --#define likely(x) (x) --#define unlikely(x) (x) -+ #define likely(x) (x) -+ #define unlikely(x) (x) - #endif /* __GNUC__ */ - - static PyObject *__pyx_m; -@@ -313,21 +352,39 @@ static const char *__pyx_f[] = { - "h5r.pxd", - }; - --/* Type declarations */ -+/*--- Type declarations ---*/ -+struct __pyx_obj_4h5py_8_objects_ObjectID; -+struct __pyx_obj_4h5py_3h5t_TypeID; -+struct __pyx_obj_4h5py_3h5t_TypeAtomicID; -+struct __pyx_obj_4h5py_3h5t_TypeCompositeID; -+struct __pyx_obj_4h5py_3h5t_TypeFloatID; -+struct __pyx_obj_4h5py_3h5t_TypeOpaqueID; -+struct __pyx_obj_4h5py_3h5t_TypeStringID; -+struct __pyx_obj_4h5py_3h5t_TypeIntegerID; -+struct __pyx_obj_4h5py_3h5r_Reference; -+struct __pyx_obj_4h5py_3h5t_TypeEnumID; -+struct __pyx_obj_4h5py_3h5r_RegionReference; -+struct __pyx_obj_4h5py_3h5t_TypeArrayID; -+struct __pyx_obj_4h5py_3h5t_TypeCompoundID; -+struct __pyx_obj_4h5py_3h5t_TypeVlenID; -+struct __pyx_obj_4h5py_3h5t_TypeReferenceID; -+struct __pyx_obj_4h5py_3h5t_TypeTimeID; -+struct __pyx_obj_4h5py_3h5t_TypeBitfieldID; -+union __pyx_t_4h5py_3h5r_ref_u; - --/* "h5r.pxd":20 -+/* "h5py/h5r.pxd":20 - * ctypedef unsigned char hdset_reg_ref_t[12] - * - * cdef union ref_u: # <<<<<<<<<<<<<< - * hobj_ref_t obj_ref - * hdset_reg_ref_t reg_ref - */ -- - union __pyx_t_4h5py_3h5r_ref_u { - hobj_ref_t obj_ref; - hdset_reg_ref_t reg_ref; - }; -- -+struct __pyx_opt_args_4h5py_5utils_check_numpy_read; -+struct __pyx_opt_args_4h5py_5utils_check_numpy_write; - struct __pyx_opt_args_4h5py_5utils_check_numpy_read { - int __pyx_n; - hid_t space_id; -@@ -340,11 +397,11 @@ struct __pyx_opt_args_4h5py_5utils_check - * - * cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1 - */ -- - struct __pyx_opt_args_4h5py_5utils_check_numpy_write { - int __pyx_n; - hid_t space_id; - }; -+struct __pyx_opt_args_4h5py_3h5t_py_create; - - /* "h5py/h5t.pxd":72 - * -@@ -353,7 +410,6 @@ struct __pyx_opt_args_4h5py_5utils_check - * - * - */ -- - struct __pyx_opt_args_4h5py_3h5t_py_create { - int __pyx_n; - int logical; -@@ -366,7 +422,6 @@ struct __pyx_opt_args_4h5py_3h5t_py_crea - * - * cdef object __weakref__ - */ -- - struct __pyx_obj_4h5py_8_objects_ObjectID { - PyObject_HEAD - PyObject *__weakref__; -@@ -375,6 +430,7 @@ struct __pyx_obj_4h5py_8_objects_ObjectI - PyObject *_hash; - }; - -+ - /* "h5py/h5t.pxd":17 - * from _objects cimport class ObjectID - * -@@ -382,72 +438,60 @@ struct __pyx_obj_4h5py_8_objects_ObjectI - * - * cdef object py_dtype(self) - */ -- - struct __pyx_obj_4h5py_3h5t_TypeID { - struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base; - struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtab; - }; - --/* "h5py/h5t.pxd":37 -- * pass -+ -+/* "h5py/h5t.pxd":48 -+ * # --- Numeric atomic types --- - * -- * cdef class TypeTimeID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeAtomicID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeTimeID { -+struct __pyx_obj_4h5py_3h5t_TypeAtomicID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - --/* "h5py/h5t.pxd":43 -- * pass -+ -+/* "h5py/h5t.pxd":59 -+ * # --- Enums & compound types --- - * -- * cdef class TypeReferenceID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeCompositeID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeReferenceID { -+struct __pyx_obj_4h5py_3h5t_TypeCompositeID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - --/* "h5py/h5t.pxd":40 -+ -+/* "h5py/h5t.pxd":54 - * pass - * -- * cdef class TypeBitfieldID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeFloatID(TypeAtomicID): # <<<<<<<<<<<<<< - * pass - * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeBitfieldID { -- struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; -+struct __pyx_obj_4h5py_3h5t_TypeFloatID { -+ struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base; - }; - --/* "h5py/h5t.pxd":48 -- * # --- Numeric atomic types --- -- * -- * cdef class TypeAtomicID(TypeID): # <<<<<<<<<<<<<< -- * pass -- * -- */ -- --struct __pyx_obj_4h5py_3h5t_TypeAtomicID { -- struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; --}; - --/* "h5py/h5t.pxd":51 -+/* "h5py/h5t.pxd":26 - * pass - * -- * cdef class TypeIntegerID(TypeAtomicID): # <<<<<<<<<<<<<< -+ * cdef class TypeOpaqueID(TypeID): # <<<<<<<<<<<<<< - * pass - * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeIntegerID { -- struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base; -+struct __pyx_obj_4h5py_3h5t_TypeOpaqueID { -+ struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - -+ - /* "h5py/h5t.pxd":29 - * pass - * -@@ -455,31 +499,30 @@ struct __pyx_obj_4h5py_3h5t_TypeIntegerI - * # Both vlen and fixed-len strings - * pass - */ -- - struct __pyx_obj_4h5py_3h5t_TypeStringID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - --/* "h5py/h5t.pxd":26 -+ -+/* "h5py/h5t.pxd":51 - * pass - * -- * cdef class TypeOpaqueID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeIntegerID(TypeAtomicID): # <<<<<<<<<<<<<< - * pass - * - */ -- --struct __pyx_obj_4h5py_3h5t_TypeOpaqueID { -- struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; -+struct __pyx_obj_4h5py_3h5t_TypeIntegerID { -+ struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base; - }; - --/* "h5r.pxd":24 -+ -+/* "h5py/h5r.pxd":24 - * hdset_reg_ref_t reg_ref - * - * cdef class Reference: # <<<<<<<<<<<<<< - * - * cdef ref_u ref - */ -- - struct __pyx_obj_4h5py_3h5r_Reference { - PyObject_HEAD - union __pyx_t_4h5py_3h5r_ref_u ref; -@@ -487,29 +530,6 @@ struct __pyx_obj_4h5py_3h5r_Reference { - size_t typesize; - }; - --/* "h5r.pxd":30 -- * cdef readonly size_t typesize -- * -- * cdef class RegionReference(Reference): # <<<<<<<<<<<<<< -- * pass -- * -- */ -- --struct __pyx_obj_4h5py_3h5r_RegionReference { -- struct __pyx_obj_4h5py_3h5r_Reference __pyx_base; --}; -- --/* "h5py/h5t.pxd":59 -- * # --- Enums & compound types --- -- * -- * cdef class TypeCompositeID(TypeID): # <<<<<<<<<<<<<< -- * pass -- * -- */ -- --struct __pyx_obj_4h5py_3h5t_TypeCompositeID { -- struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; --}; - - /* "h5py/h5t.pxd":62 - * pass -@@ -518,11 +538,23 @@ struct __pyx_obj_4h5py_3h5t_TypeComposit - * - * cdef int enum_convert(self, long long *buf, int reverse) except -1 - */ -- - struct __pyx_obj_4h5py_3h5t_TypeEnumID { - struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base; - }; - -+ -+/* "h5py/h5r.pxd":30 -+ * cdef readonly size_t typesize -+ * -+ * cdef class RegionReference(Reference): # <<<<<<<<<<<<<< -+ * pass -+ * -+ */ -+struct __pyx_obj_4h5py_3h5r_RegionReference { -+ struct __pyx_obj_4h5py_3h5r_Reference __pyx_base; -+}; -+ -+ - /* "h5py/h5t.pxd":23 - * # --- Top-level classes --- - * -@@ -530,11 +562,11 @@ struct __pyx_obj_4h5py_3h5t_TypeEnumID { - * pass - * - */ -- - struct __pyx_obj_4h5py_3h5t_TypeArrayID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - -+ - /* "h5py/h5t.pxd":66 - * cdef int enum_convert(self, long long *buf, int reverse) except -1 - * -@@ -542,36 +574,60 @@ struct __pyx_obj_4h5py_3h5t_TypeArrayID - * pass - * - */ -- - struct __pyx_obj_4h5py_3h5t_TypeCompoundID { - struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base; - }; - --/* "h5py/h5t.pxd":54 -+ -+/* "h5py/h5t.pxd":33 - * pass - * -- * cdef class TypeFloatID(TypeAtomicID): # <<<<<<<<<<<<<< -+ * cdef class TypeVlenID(TypeID): # <<<<<<<<<<<<<< -+ * # Non-string vlens - * pass -- * - */ -+struct __pyx_obj_4h5py_3h5t_TypeVlenID { -+ struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; -+}; - --struct __pyx_obj_4h5py_3h5t_TypeFloatID { -- struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base; -+ -+/* "h5py/h5t.pxd":43 -+ * pass -+ * -+ * cdef class TypeReferenceID(TypeID): # <<<<<<<<<<<<<< -+ * pass -+ * -+ */ -+struct __pyx_obj_4h5py_3h5t_TypeReferenceID { -+ struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - --/* "h5py/h5t.pxd":33 -+ -+/* "h5py/h5t.pxd":37 - * pass - * -- * cdef class TypeVlenID(TypeID): # <<<<<<<<<<<<<< -- * # Non-string vlens -+ * cdef class TypeTimeID(TypeID): # <<<<<<<<<<<<<< - * pass -+ * - */ -+struct __pyx_obj_4h5py_3h5t_TypeTimeID { -+ struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; -+}; - --struct __pyx_obj_4h5py_3h5t_TypeVlenID { -+ -+/* "h5py/h5t.pxd":40 -+ * pass -+ * -+ * cdef class TypeBitfieldID(TypeID): # <<<<<<<<<<<<<< -+ * pass -+ * -+ */ -+struct __pyx_obj_4h5py_3h5t_TypeBitfieldID { - struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base; - }; - - -+ - /* "h5py/h5t.pyx":282 - * # === Base type class ========================================================= - * -@@ -586,32 +642,32 @@ struct __pyx_vtabstruct_4h5py_3h5t_TypeI - static struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtabptr_4h5py_3h5t_TypeID; - - --/* "h5py/h5t.pyx":884 -- * # === Composite types (enums and compound) ==================================== -+/* "h5py/h5t.pyx":537 -+ * return dtype("|V" + str(self.get_size())) - * -- * cdef class TypeCompositeID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeStringID(TypeID): # <<<<<<<<<<<<<< - * - * """ - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID *__pyx_vtabptr_4h5py_3h5t_TypeCompositeID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID *__pyx_vtabptr_4h5py_3h5t_TypeStringID; - - --/* "h5py/h5t.pyx":930 -- * -+/* "h5py/h5t.pyx":613 -+ * return dtype("|S" + str(self.get_size())) - * -- * cdef class TypeCompoundID(TypeCompositeID): # <<<<<<<<<<<<<< -+ * cdef class TypeVlenID(TypeID): # <<<<<<<<<<<<<< - * - * """ - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID { -- struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base; -+struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID { -+ struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID *__pyx_vtabptr_4h5py_3h5t_TypeCompoundID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID *__pyx_vtabptr_4h5py_3h5t_TypeVlenID; - - - /* "h5py/h5t.pyx":502 -@@ -628,20 +684,6 @@ struct __pyx_vtabstruct_4h5py_3h5t_TypeO - static struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID *__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID; - - --/* "h5py/h5t.pyx":459 -- * # === Top-level classes (inherit directly from TypeID) ======================== -- * -- * cdef class TypeArrayID(TypeID): # <<<<<<<<<<<<<< -- * -- * """ -- */ -- --struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID { -- struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; --}; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID *__pyx_vtabptr_4h5py_3h5t_TypeArrayID; -- -- - /* "h5py/h5t.pyx":651 - * # === Numeric classes (integers and floats) =================================== - * -@@ -670,32 +712,47 @@ struct __pyx_vtabstruct_4h5py_3h5t_TypeI - static struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID *__pyx_vtabptr_4h5py_3h5t_TypeIntegerID; - - --/* "h5py/h5t.pyx":634 -- * pass -+/* "h5py/h5t.pyx":884 -+ * # === Composite types (enums and compound) ==================================== - * -- * cdef class TypeReferenceID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeCompositeID(TypeID): # <<<<<<<<<<<<<< - * - * """ - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID *__pyx_vtabptr_4h5py_3h5t_TypeReferenceID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID *__pyx_vtabptr_4h5py_3h5t_TypeCompositeID; - - --/* "h5py/h5t.pyx":537 -- * return dtype("|V" + str(self.get_size())) -+/* "h5py/h5t.pyx":1030 -+ * return typeobj - * -- * cdef class TypeStringID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeEnumID(TypeCompositeID): # <<<<<<<<<<<<<< - * - * """ - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID { -- struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; --}; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID *__pyx_vtabptr_4h5py_3h5t_TypeStringID; -+struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID { -+ struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base; -+ int (*enum_convert)(struct __pyx_obj_4h5py_3h5t_TypeEnumID *, PY_LONG_LONG *, int); -+}; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *__pyx_vtabptr_4h5py_3h5t_TypeEnumID; -+ -+ -+/* "h5py/h5t.pyx":634 -+ * pass -+ * -+ * cdef class TypeReferenceID(TypeID): # <<<<<<<<<<<<<< -+ * -+ * """ -+ */ -+ -+struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID { -+ struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; -+}; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID *__pyx_vtabptr_4h5py_3h5t_TypeReferenceID; - - - /* "h5py/h5t.pyx":779 -@@ -726,52 +783,49 @@ struct __pyx_vtabstruct_4h5py_3h5t_TypeT - static struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID *__pyx_vtabptr_4h5py_3h5t_TypeTimeID; - - --/* "h5py/h5t.pyx":627 -- * pass -+/* "h5py/h5t.pyx":459 -+ * # === Top-level classes (inherit directly from TypeID) ======================== - * -- * cdef class TypeBitfieldID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeArrayID(TypeID): # <<<<<<<<<<<<<< - * - * """ - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID *__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID *__pyx_vtabptr_4h5py_3h5t_TypeArrayID; - - --/* "h5py/h5t.pyx":613 -- * return dtype("|S" + str(self.get_size())) -+/* "h5py/h5t.pyx":627 -+ * pass - * -- * cdef class TypeVlenID(TypeID): # <<<<<<<<<<<<<< -+ * cdef class TypeBitfieldID(TypeID): # <<<<<<<<<<<<<< - * - * """ - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base; - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID *__pyx_vtabptr_4h5py_3h5t_TypeVlenID; -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID *__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID; - - --/* "h5py/h5t.pyx":1030 -- * return typeobj -+/* "h5py/h5t.pyx":930 - * -- * cdef class TypeEnumID(TypeCompositeID): # <<<<<<<<<<<<<< -+ * -+ * cdef class TypeCompoundID(TypeCompositeID): # <<<<<<<<<<<<<< - * - * """ - */ - --struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID { -+struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID { - struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base; -- int (*enum_convert)(struct __pyx_obj_4h5py_3h5t_TypeEnumID *, PY_LONG_LONG *, int); - }; --static struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *__pyx_vtabptr_4h5py_3h5t_TypeEnumID; -- -+static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID *__pyx_vtabptr_4h5py_3h5t_TypeCompoundID; - #ifndef CYTHON_REFNANNY - #define CYTHON_REFNANNY 0 - #endif -- - #if CYTHON_REFNANNY - typedef struct { - void (*INCREF)(void*, PyObject*, int); -@@ -782,37 +836,46 @@ static struct __pyx_vtabstruct_4h5py_3h5 - void (*FinishContext)(void**); - } __Pyx_RefNannyAPIStruct; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; -- static __Pyx_RefNannyAPIStruct * __Pyx_RefNannyImportAPI(const char *modname) { -- PyObject *m = NULL, *p = NULL; -- void *r = NULL; -- m = PyImport_ImportModule((char *)modname); -- if (!m) goto end; -- p = PyObject_GetAttrString(m, (char *)"RefNannyAPI"); -- if (!p) goto end; -- r = PyLong_AsVoidPtr(p); -- end: -- Py_XDECREF(p); -- Py_XDECREF(m); -- return (__Pyx_RefNannyAPIStruct *)r; -- } -- #define __Pyx_RefNannySetupContext(name) void *__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) -- #define __Pyx_RefNannyFinishContext() __Pyx_RefNanny->FinishContext(&__pyx_refnanny) -- #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -- #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -- #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -+ static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/ -+ #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; -+#ifdef WITH_THREAD -+ #define __Pyx_RefNannySetupContext(name, acquire_gil) \ -+ if (acquire_gil) { \ -+ PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \ -+ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \ -+ PyGILState_Release(__pyx_gilstate_save); \ -+ } else { \ -+ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \ -+ } -+#else -+ #define __Pyx_RefNannySetupContext(name, acquire_gil) \ -+ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) -+#endif -+ #define __Pyx_RefNannyFinishContext() \ -+ __Pyx_RefNanny->FinishContext(&__pyx_refnanny) -+ #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -+ #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -+ #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) -- #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r);} } while(0) -+ #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) -+ #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) -+ #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) -+ #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) - #else -- #define __Pyx_RefNannySetupContext(name) -+ #define __Pyx_RefNannyDeclarations -+ #define __Pyx_RefNannySetupContext(name, acquire_gil) - #define __Pyx_RefNannyFinishContext() - #define __Pyx_INCREF(r) Py_INCREF(r) - #define __Pyx_DECREF(r) Py_DECREF(r) - #define __Pyx_GOTREF(r) - #define __Pyx_GIVEREF(r) -+ #define __Pyx_XINCREF(r) Py_XINCREF(r) - #define __Pyx_XDECREF(r) Py_XDECREF(r) -+ #define __Pyx_XGOTREF(r) -+ #define __Pyx_XGIVEREF(r) - #endif /* CYTHON_REFNANNY */ --#define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);} } while(0) --#define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r);} } while(0) -+#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) -+#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) - - static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/ - -@@ -821,30 +884,25 @@ static CYTHON_INLINE int __Pyx_TypeTest( - static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, - Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/ - --static void __Pyx_RaiseDoubleKeywordsError( -- const char* func_name, PyObject* kw_name); /*proto*/ -+static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/ - --static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, const char* function_name); /*proto*/ -+static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \ -+ PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \ -+ const char* function_name); /*proto*/ - - static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ - static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ - --static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ -+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/ - - static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, - const char *name, int exact); /*proto*/ - - static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ - --static CYTHON_INLINE void __Pyx_RaiseNoneIndexingError(void); -- - #if PY_MAJOR_VERSION >= 3 - static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) { - PyObject *value; -- if (unlikely(d == Py_None)) { -- __Pyx_RaiseNoneIndexingError(); -- return NULL; -- } - value = PyDict_GetItemWithError(d, key); - if (unlikely(!value)) { - if (!PyErr_Occurred()) -@@ -858,7 +916,6 @@ static PyObject *__Pyx_PyDict_GetItem(Py - #define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key) - #endif - -- - static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { - PyObject *r; - if (!j) return NULL; -@@ -866,91 +923,140 @@ static CYTHON_INLINE PyObject *__Pyx_Get - Py_DECREF(j); - return r; - } -- -- - #define __Pyx_GetItemInt_List(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \ - __Pyx_GetItemInt_List_Fast(o, i) : \ - __Pyx_GetItemInt_Generic(o, to_py_func(i))) -- - static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i) { -- if (likely(o != Py_None)) { -- if (likely((0 <= i) & (i < PyList_GET_SIZE(o)))) { -- PyObject *r = PyList_GET_ITEM(o, i); -- Py_INCREF(r); -- return r; -- } -- else if ((-PyList_GET_SIZE(o) <= i) & (i < 0)) { -- PyObject *r = PyList_GET_ITEM(o, PyList_GET_SIZE(o) + i); -- Py_INCREF(r); -- return r; -- } -+#if CYTHON_COMPILING_IN_CPYTHON -+ if (likely((0 <= i) & (i < PyList_GET_SIZE(o)))) { -+ PyObject *r = PyList_GET_ITEM(o, i); -+ Py_INCREF(r); -+ return r; -+ } -+ else if ((-PyList_GET_SIZE(o) <= i) & (i < 0)) { -+ PyObject *r = PyList_GET_ITEM(o, PyList_GET_SIZE(o) + i); -+ Py_INCREF(r); -+ return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -+#else -+ return PySequence_GetItem(o, i); -+#endif - } -- - #define __Pyx_GetItemInt_Tuple(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \ - __Pyx_GetItemInt_Tuple_Fast(o, i) : \ - __Pyx_GetItemInt_Generic(o, to_py_func(i))) -- - static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i) { -- if (likely(o != Py_None)) { -- if (likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { -- PyObject *r = PyTuple_GET_ITEM(o, i); -- Py_INCREF(r); -- return r; -- } -- else if ((-PyTuple_GET_SIZE(o) <= i) & (i < 0)) { -- PyObject *r = PyTuple_GET_ITEM(o, PyTuple_GET_SIZE(o) + i); -- Py_INCREF(r); -- return r; -- } -+#if CYTHON_COMPILING_IN_CPYTHON -+ if (likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { -+ PyObject *r = PyTuple_GET_ITEM(o, i); -+ Py_INCREF(r); -+ return r; -+ } -+ else if ((-PyTuple_GET_SIZE(o) <= i) & (i < 0)) { -+ PyObject *r = PyTuple_GET_ITEM(o, PyTuple_GET_SIZE(o) + i); -+ Py_INCREF(r); -+ return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -+#else -+ return PySequence_GetItem(o, i); -+#endif - } -- -- - #define __Pyx_GetItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \ - __Pyx_GetItemInt_Fast(o, i) : \ - __Pyx_GetItemInt_Generic(o, to_py_func(i))) -- - static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i) { -- PyObject *r; -- if (PyList_CheckExact(o) && ((0 <= i) & (i < PyList_GET_SIZE(o)))) { -- r = PyList_GET_ITEM(o, i); -- Py_INCREF(r); -+#if CYTHON_COMPILING_IN_CPYTHON -+ if (PyList_CheckExact(o)) { -+ Py_ssize_t n = (likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); -+ if (likely((n >= 0) & (n < PyList_GET_SIZE(o)))) { -+ PyObject *r = PyList_GET_ITEM(o, n); -+ Py_INCREF(r); -+ return r; -+ } - } -- else if (PyTuple_CheckExact(o) && ((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { -- r = PyTuple_GET_ITEM(o, i); -- Py_INCREF(r); -+ else if (PyTuple_CheckExact(o)) { -+ Py_ssize_t n = (likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); -+ if (likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) { -+ PyObject *r = PyTuple_GET_ITEM(o, n); -+ Py_INCREF(r); -+ return r; -+ } -+ } else { /* inlined PySequence_GetItem() */ -+ PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; -+ if (likely(m && m->sq_item)) { -+ if (unlikely(i < 0) && likely(m->sq_length)) { -+ Py_ssize_t l = m->sq_length(o); -+ if (unlikely(l < 0)) return NULL; -+ i += l; -+ } -+ return m->sq_item(o, i); -+ } - } -- else if (Py_TYPE(o)->tp_as_sequence && Py_TYPE(o)->tp_as_sequence->sq_item && (likely(i >= 0))) { -- r = PySequence_GetItem(o, i); -+#else -+ if (PySequence_Check(o)) { -+ return PySequence_GetItem(o, i); - } -- else { -- r = __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -+#endif -+ return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -+} -+ -+#if CYTHON_COMPILING_IN_CPYTHON -+static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) { -+ PyListObject* L = (PyListObject*) list; -+ Py_ssize_t len = Py_SIZE(list); -+ if (likely(L->allocated > len)) { -+ Py_INCREF(x); -+ PyList_SET_ITEM(list, len, x); -+ Py_SIZE(list) = len+1; -+ return 0; - } -- return r; -+ return PyList_Append(list, x); - } -+#else -+#define __Pyx_PyList_Append(L,x) PyList_Append(L,x) -+#endif - --static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); -+static CYTHON_INLINE int __Pyx_IterFinish(void); /*proto*/ - - static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); - --static PyObject *__Pyx_UnpackItem(PyObject *, Py_ssize_t index); /*proto*/ --static int __Pyx_EndUnpack(PyObject *, Py_ssize_t expected); /*proto*/ -+static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected); /*proto*/ -+ -+static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); -+ -+static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); -+ -+static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index); /*proto*/ - --static CYTHON_INLINE int __Pyx_CheckKeywordStrings(PyObject *kwdict, -- const char* function_name, int kw_allowed); /*proto*/ -+static CYTHON_INLINE int __Pyx_unpack_tuple2(PyObject* tuple, PyObject** value1, PyObject** value2, -+ int is_tuple, int has_known_size, int decref_tuple); - --static CYTHON_INLINE long __Pyx_NegateNonNeg(long b) { return unlikely(b < 0) ? b : !b; } --static CYTHON_INLINE PyObject* __Pyx_PyBoolOrNull_FromLong(long b) { -- return unlikely(b < 0) ? NULL : __Pyx_PyBool_FromLong(b); -+static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* dict, int is_dict, PyObject* method_name, -+ Py_ssize_t* p_orig_length, int* p_is_dict); -+static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* dict_or_iter, Py_ssize_t orig_length, Py_ssize_t* ppos, -+ PyObject** pkey, PyObject** pvalue, PyObject** pitem, int is_dict); -+ -+static CYTHON_INLINE int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); /*proto*/ -+ -+static CYTHON_INLINE int __Pyx_PySequence_Contains(PyObject* item, PyObject* seq, int eq) { -+ int result = PySequence_Contains(seq, item); -+ return unlikely(result < 0) ? result : (result == (eq == Py_EQ)); - } - -+static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc); -+ -+static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse); -+ -+static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_dealloc); -+ - static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ - static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ - --static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/ -+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level); /*proto*/ -+ -+static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name); - - static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject *); - -@@ -990,236 +1096,53 @@ static CYTHON_INLINE signed long __Pyx_P - - static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *); - -+static int __Pyx_check_binary_version(void); -+ - static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig); /*proto*/ - --static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, long size, int strict); /*proto*/ -+#if !defined(__Pyx_PyIdentifier_FromString) -+#if PY_MAJOR_VERSION < 3 -+ #define __Pyx_PyIdentifier_FromString(s) PyString_FromString(s) -+#else -+ #define __Pyx_PyIdentifier_FromString(s) PyUnicode_FromString(s) -+#endif -+#endif - - static PyObject *__Pyx_ImportModule(const char *name); /*proto*/ - -+static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict); /*proto*/ -+ - static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/ - - static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/ - --static void __Pyx_AddTraceback(const char *funcname); /*proto*/ -+typedef struct { -+ int code_line; -+ PyCodeObject* code_object; -+} __Pyx_CodeObjectCacheEntry; -+struct __Pyx_CodeObjectCache { -+ int count; -+ int max_count; -+ __Pyx_CodeObjectCacheEntry* entries; -+}; -+static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; -+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); -+static PyCodeObject *__pyx_find_code_object(int code_line); -+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); -+ -+static void __Pyx_AddTraceback(const char *funcname, int c_line, -+ int py_line, const char *filename); /*proto*/ - - static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ --/* Module declarations from h5py.api_types_ext */ - --/* Module declarations from h5py.api_types_hdf5 */ - --/* Module declarations from h5py.defs */ -+/* Module declarations from 'h5py.api_types_ext' */ -+ -+/* Module declarations from 'h5py.api_types_hdf5' */ - --static herr_t (*__pyx_f_4h5py_4defs_H5open)(void); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5close)(void); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5get_libversion)(unsigned int *, unsigned int *, unsigned int *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dcreate2)(hid_t, char *, hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dcreate_anon)(hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dopen)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dget_space)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dget_space_status)(hid_t, H5D_space_status_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dget_type)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Dget_create_plist)(hid_t); /*proto*/ --static haddr_t (*__pyx_f_4h5py_4defs_H5Dget_offset)(hid_t); /*proto*/ --static hsize_t (*__pyx_f_4h5py_4defs_H5Dget_storage_size)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dread)(hid_t, hid_t, hid_t, hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dwrite)(hid_t, hid_t, hid_t, hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dextend)(hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dfill)(void *, hid_t, void *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dvlen_get_buf_size)(hid_t, hid_t, hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dvlen_reclaim)(hid_t, hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Diterate)(void *, hid_t, hid_t, H5D_operator_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Dset_extent)(hid_t, hsize_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fcreate)(char *, unsigned int, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fopen)(char *, unsigned int, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fclose)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Fis_hdf5)(char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fflush)(hid_t, enum H5F_scope_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Freopen)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fmount)(hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Funmount)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fget_filesize)(hid_t, hsize_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fget_create_plist)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Fget_access_plist)(hid_t); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Fget_freespace)(hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Fget_name)(hid_t, char *, size_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Fget_obj_count)(hid_t, unsigned int); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Fget_obj_ids)(hid_t, unsigned int, int, hid_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Fget_intent)(hid_t, unsigned int *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate)(hid_t, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gopen)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gclose)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Glink2)(hid_t, char *, H5G_link_t, hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gunlink)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gmove2)(hid_t, char *, hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_num_objs)(hid_t, hsize_t *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Gget_objname_by_idx)(hid_t, hsize_t, char *, size_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Gget_objtype_by_idx)(hid_t, hsize_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Giterate)(hid_t, char *, int *, H5G_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_objinfo)(hid_t, char *, int, H5G_stat_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_linkval)(hid_t, char *, size_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gset_comment)(hid_t, char *, char *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Gget_comment)(hid_t, char *, size_t, char *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate_anon)(hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate2)(hid_t, char *, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gopen2)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_info)(hid_t, H5G_info_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Gget_info_by_name)(hid_t, char *, H5G_info_t *, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Gget_create_plist)(hid_t); /*proto*/ --static H5I_type_t (*__pyx_f_4h5py_4defs_H5Iget_type)(hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Iget_name)(hid_t, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Iget_file_id)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Idec_ref)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Iget_ref)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Iinc_ref)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lmove)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcopy)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_hard)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_soft)(char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ldelete)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ldelete_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_val)(hid_t, char *, void *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_val_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, void *, size_t, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Lexists)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_info)(hid_t, char *, H5L_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5L_info_t *, hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Lget_name_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, char *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Literate)(hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Literate_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lvisit)(hid_t, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lvisit_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lunpack_elink_val)(void *, size_t, unsigned int *, char **, char **); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_external)(char *, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Oopen)(hid_t, char *, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Oopen_by_addr)(hid_t, haddr_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Oopen_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info)(hid_t, H5O_info_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info_by_name)(hid_t, char *, H5O_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5O_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Olink)(hid_t, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ocopy)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oincr_refcount)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Odecr_refcount)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oset_comment)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oset_comment_by_name)(hid_t, char *, char *, hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Oget_comment)(hid_t, char *, size_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Oget_comment_by_name)(hid_t, char *, char *, size_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ovisit)(hid_t, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Ovisit_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Oclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pcreate)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pcopy)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Pget_class)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pclose)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Pequal)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pclose_class)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_version)(hid_t, unsigned int *, unsigned int *, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_userblock)(hid_t, hsize_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_userblock)(hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sizes)(hid_t, size_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sizes)(hid_t, size_t *, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sym_k)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sym_k)(hid_t, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_istore_k)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_istore_k)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fclose_degree)(hid_t, enum H5F_close_degree_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fclose_degree)(hid_t, enum H5F_close_degree_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_core)(hid_t, size_t, hbool_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fapl_core)(hid_t, size_t *, hbool_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_family)(hid_t, hsize_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fapl_family)(hid_t, hsize_t *, hid_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_family_offset)(hid_t, hsize_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_family_offset)(hid_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_log)(hid_t, char *, unsigned int, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_multi)(hid_t, H5FD_mem_t *, hid_t *, char **, haddr_t *, hbool_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_cache)(hid_t, int, int, size_t, double); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_cache)(hid_t, int *, int *, size_t *, double *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_sec2)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_stdio)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pget_driver)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_layout)(hid_t, int); /*proto*/ --static H5D_layout_t (*__pyx_f_4h5py_4defs_H5Pget_layout)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_chunk)(hid_t, int, hsize_t *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Pget_chunk)(hid_t, int, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_deflate)(hid_t, int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fill_value)(hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fill_value)(hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pfill_value_defined)(hid_t, H5D_fill_value_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fill_time)(hid_t, H5D_fill_time_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fill_time)(hid_t, H5D_fill_time_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_alloc_time)(hid_t, H5D_alloc_time_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_alloc_time)(hid_t, H5D_alloc_time_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_filter)(hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Pall_filters_avail)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Pget_nfilters)(hid_t); /*proto*/ --static H5Z_filter_t (*__pyx_f_4h5py_4defs_H5Pget_filter)(hid_t, unsigned int, unsigned int *, size_t *, unsigned int *, size_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_filter_by_id)(hid_t, H5Z_filter_t, unsigned int *, size_t *, unsigned int *, size_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pmodify_filter)(hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Premove_filter)(hid_t, H5Z_filter_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fletcher32)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_shuffle)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_szip)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_edc_check)(hid_t, enum H5Z_EDC_t); /*proto*/ --static enum H5Z_EDC_t (*__pyx_f_4h5py_4defs_H5Pget_edc_check)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sieve_buf_size)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sieve_buf_size)(hid_t, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_nlinks)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_nlinks)(hid_t, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_elink_prefix)(hid_t, char *); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Pget_elink_prefix)(hid_t, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Pget_elink_fapl)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_elink_fapl)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_create_intermediate_group)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_create_intermediate_group)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_copy_object)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_copy_object)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_char_encoding)(hid_t, H5T_cset_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_char_encoding)(hid_t, H5T_cset_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_local_heap_size_hint)(hid_t, size_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_local_heap_size_hint)(hid_t, size_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_link_phase_change)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_link_phase_change)(hid_t, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_est_link_info)(hid_t, unsigned int, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_est_link_info)(hid_t, unsigned int *, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_link_creation_order)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_link_creation_order)(hid_t, unsigned int *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pset_libver_bounds)(hid_t, H5F_libver_t, H5F_libver_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Pget_libver_bounds)(hid_t, H5F_libver_t *, H5F_libver_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Rcreate)(void *, hid_t, char *, H5R_type_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Rdereference)(hid_t, H5R_type_t, void *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Rget_region)(hid_t, H5R_type_t, void *); /*proto*/ --static enum H5G_obj_t (*__pyx_f_4h5py_4defs_H5Rget_obj_type)(hid_t, H5R_type_t, void *); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Rget_name)(hid_t, H5R_type_t, void *, char *, size_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Screate)(H5S_class_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Scopy)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Screate_simple)(int, hsize_t *, hsize_t *); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Sis_simple)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Soffset_simple)(hid_t, hssize_t *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims)(hid_t); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_dims)(hid_t, hsize_t *, hsize_t *); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_npoints)(hid_t); /*proto*/ --static H5S_class_t (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_type)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sextent_copy)(hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sset_extent_simple)(hid_t, int, hsize_t *, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sset_extent_none)(hid_t); /*proto*/ --static H5S_sel_type (*__pyx_f_4h5py_4defs_H5Sget_select_type)(hid_t); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_select_npoints)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sget_select_bounds)(hid_t, hsize_t *, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_all)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_none)(hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Sselect_valid)(hid_t); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_select_elem_npoints)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sget_select_elem_pointlist)(hid_t, hsize_t, hsize_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_elements)(hid_t, H5S_seloper_t, size_t, hsize_t **); /*proto*/ --static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_select_hyper_nblocks)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sget_select_hyper_blocklist)(hid_t, hsize_t, hsize_t, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_hyperslab)(hid_t, H5S_seloper_t, hsize_t *, hsize_t *, hsize_t *, hsize_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Sencode)(hid_t, void *, size_t *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Sdecode)(void *); /*proto*/ -+/* Module declarations from 'h5py.defs' */ - static hid_t (*__pyx_f_4h5py_4defs_H5Tcreate)(enum H5T_class_t, size_t); /*proto*/ - static hid_t (*__pyx_f_4h5py_4defs_H5Topen)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tcommit)(hid_t, char *, hid_t); /*proto*/ - static htri_t (*__pyx_f_4h5py_4defs_H5Tcommitted)(hid_t); /*proto*/ - static hid_t (*__pyx_f_4h5py_4defs_H5Tcopy)(hid_t); /*proto*/ - static htri_t (*__pyx_f_4h5py_4defs_H5Tequal)(hid_t, hid_t); /*proto*/ -@@ -1229,7 +1152,6 @@ static size_t (*__pyx_f_4h5py_4defs_H5Tg - static hid_t (*__pyx_f_4h5py_4defs_H5Tget_super)(hid_t); /*proto*/ - static htri_t (*__pyx_f_4h5py_4defs_H5Tdetect_class)(hid_t, enum H5T_class_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Tclose)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Tget_native_type)(hid_t, enum H5T_direction_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Tconvert)(hid_t, hid_t, size_t, void *, void *, hid_t); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Tset_size)(hid_t, size_t); /*proto*/ - static H5T_order_t (*__pyx_f_4h5py_4defs_H5Tget_order)(hid_t); /*proto*/ -@@ -1278,74 +1200,29 @@ static hid_t (*__pyx_f_4h5py_4defs_H5Tde - static herr_t (*__pyx_f_4h5py_4defs_H5Tencode)(hid_t, unsigned char *, size_t *); /*proto*/ - static herr_t (*__pyx_f_4h5py_4defs_H5Tcommit2)(hid_t, char *, hid_t, hid_t, hid_t, hid_t); /*proto*/ - static H5T_conv_t (*__pyx_f_4h5py_4defs_H5Tfind)(hid_t, hid_t, H5T_cdata_t **); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tregister)(H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Tunregister)(H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Zfilter_avail)(H5Z_filter_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Zget_filter_info)(H5Z_filter_t, unsigned int *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Acreate)(hid_t, char *, hid_t, hid_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aopen_idx)(hid_t, unsigned int); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aopen_name)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aclose)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Adelete)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aread)(hid_t, hid_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Awrite)(hid_t, hid_t, void *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5Aget_num_attrs)(hid_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Aget_name)(hid_t, size_t, char *); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aget_space)(hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Aget_type)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aiterate)(hid_t, unsigned int *, H5A_operator_t, void *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Adelete_by_name)(hid_t, char *, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Adelete_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t); /*proto*/ --static hid_t (*__pyx_f_4h5py_4defs_H5Acreate_by_name)(hid_t, char *, char *, hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aopen)(hid_t, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aopen_by_name)(hid_t, char *, char *, hid_t, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aopen_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Aexists_by_name)(hid_t, char *, char *, hid_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5Aexists)(hid_t, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Arename)(hid_t, char *, char *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Arename_by_name)(hid_t, char *, char *, char *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info)(hid_t, H5A_info_t *); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info_by_name)(hid_t, char *, char *, H5A_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5A_info_t *, hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5Aiterate2)(hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5A_operator2_t, void *); /*proto*/ --static hsize_t (*__pyx_f_4h5py_4defs_H5Aget_storage_size)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSattach_scale)(hid_t, hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSdetach_scale)(hid_t, hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSset_scale)(hid_t, char *); /*proto*/ --static int (*__pyx_f_4h5py_4defs_H5DSget_num_scales)(hid_t, unsigned int); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSset_label)(hid_t, unsigned int, char *); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5DSget_label)(hid_t, unsigned int, char *, size_t); /*proto*/ --static Py_ssize_t (*__pyx_f_4h5py_4defs_H5DSget_scale_name)(hid_t, char *, size_t); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5DSis_scale)(hid_t); /*proto*/ --static herr_t (*__pyx_f_4h5py_4defs_H5DSiterate_scales)(hid_t, unsigned int, int *, H5DS_iterate_t, void *); /*proto*/ --static htri_t (*__pyx_f_4h5py_4defs_H5DSis_attached)(hid_t, hid_t, unsigned int); /*proto*/ --/* Module declarations from h5py._objects */ - -+/* Module declarations from 'h5py._objects' */ - static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0; - static hid_t (*__pyx_f_4h5py_8_objects_pdefault)(struct __pyx_obj_4h5py_8_objects_ObjectID *); /*proto*/ --/* Module declarations from numpy */ - --/* Module declarations from h5py.numpy */ -+/* Module declarations from 'numpy' */ - -+/* Module declarations from 'h5py.numpy' */ - static PyTypeObject *__pyx_ptype_4h5py_5numpy_dtype = 0; - static PyTypeObject *__pyx_ptype_4h5py_5numpy_ndarray = 0; --/* Module declarations from h5py.h5r */ - -+/* Module declarations from 'h5py.h5r' */ - static PyTypeObject *__pyx_ptype_4h5py_3h5r_Reference = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5r_RegionReference = 0; --/* Module declarations from h5py.utils */ - -+/* Module declarations from 'h5py.utils' */ - static void *(*__pyx_f_4h5py_5utils_emalloc)(size_t); /*proto*/ - static void (*__pyx_f_4h5py_5utils_efree)(void *); /*proto*/ --static int (*__pyx_f_4h5py_5utils_check_numpy_read)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args); /*proto*/ --static int (*__pyx_f_4h5py_5utils_check_numpy_write)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args); /*proto*/ - static int (*__pyx_f_4h5py_5utils_convert_tuple)(PyObject *, hsize_t *, hsize_t); /*proto*/ - static PyObject *(*__pyx_f_4h5py_5utils_convert_dims)(hsize_t *, hsize_t); /*proto*/ - static int (*__pyx_f_4h5py_5utils_require_tuple)(PyObject *, int, int, char *); /*proto*/ --static PyObject *(*__pyx_f_4h5py_5utils_create_numpy_hsize)(int, hsize_t *); /*proto*/ --static PyObject *(*__pyx_f_4h5py_5utils_create_hsize_array)(PyObject *); /*proto*/ --/* Module declarations from h5py.h5t */ - -+/* Module declarations from 'h5py.h5t' */ - static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeArrayID = 0; - static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeOpaqueID = 0; -@@ -1391,9 +1268,9 @@ static PyObject *__pyx_f_4h5py_3h5t_py_g - static PyArray_Descr *__pyx_f_4h5py_3h5t_py_new_vlen(PyObject *, int __pyx_skip_dispatch); /*proto*/ - static PyObject *__pyx_f_4h5py_3h5t_py_get_vlen(PyObject *, int __pyx_skip_dispatch); /*proto*/ - #define __Pyx_MODULE_NAME "h5py.h5t" --static int __pyx_module_is_main_h5py__h5t = 0; -+int __pyx_module_is_main_h5py__h5t = 0; - --/* Implementation of h5py.h5t */ -+/* Implementation of 'h5py.h5t' */ - static PyObject *__pyx_builtin_ValueError; - static PyObject *__pyx_builtin_TypeError; - static PyObject *__pyx_builtin_NotImplemented; -@@ -1403,6 +1280,79 @@ static PyObject *__pyx_builtin_UnicodeDe - static PyObject *__pyx_builtin_KeyError; - static PyObject *__pyx_builtin_sorted; - static PyObject *__pyx_builtin_NotImplementedError; -+static PyObject *__pyx_pf_4h5py_3h5t_typewrap(CYTHON_UNUSED PyObject *__pyx_self, hid_t __pyx_v_id_); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_2create(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_classtype, size_t __pyx_v_size); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_4open(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_group, char *__pyx_v_name); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_6array_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_base, PyObject *__pyx_v_dims_tpl); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_8enum_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_base); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_10vlen_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_base); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_12decode(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_buf); /* proto */ -+static Py_hash_t __pyx_pf_4h5py_3h5t_6TypeID___hash__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_2__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_4__copy__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_5dtype___get__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_6commit(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_group, char *__pyx_v_name, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_lcpl); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_8committed(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_10copy(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_12equal(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_typeid); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_14lock(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_16get_class(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_18set_size(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, size_t __pyx_v_size); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_20get_size(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_22get_super(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_24detect_class(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, int __pyx_v_classtype); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_26_close(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_28encode(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_30__reduce__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_32__setstate__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, char *__pyx_v_state); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_11TypeArrayID_get_array_ndims(struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_11TypeArrayID_2get_array_dims(struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeOpaqueID_set_tag(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_v_self, char *__pyx_v_tag); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeOpaqueID_2get_tag(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_is_variable_str(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_2get_cset(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_4set_cset(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self, int __pyx_v_cset); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_6get_strpad(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_8set_strpad(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self, int __pyx_v_pad); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_get_order(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_2set_order(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, int __pyx_v_order); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_4get_precision(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_6set_precision(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, size_t __pyx_v_precision); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_8get_offset(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_10set_offset(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, size_t __pyx_v_offset); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_12get_pad(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_14set_pad(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, int __pyx_v_lsb, int __pyx_v_msb); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_13TypeIntegerID_get_sign(struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_13TypeIntegerID_2set_sign(struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_v_self, int __pyx_v_sign); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_get_fields(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_2set_fields(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, size_t __pyx_v_spos, size_t __pyx_v_epos, size_t __pyx_v_esize, size_t __pyx_v_mpos, size_t __pyx_v_msize); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_4get_ebias(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_6set_ebias(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, size_t __pyx_v_ebias); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_8get_norm(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_10set_norm(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, int __pyx_v_norm); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_12get_inpad(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_14set_inpad(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, int __pyx_v_pad_code); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_get_nmembers(struct __pyx_obj_4h5py_3h5t_TypeCompositeID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_2get_member_name(struct __pyx_obj_4h5py_3h5t_TypeCompositeID *__pyx_v_self, int __pyx_v_member); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_4get_member_index(struct __pyx_obj_4h5py_3h5t_TypeCompositeID *__pyx_v_self, char *__pyx_v_name); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_get_member_class(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, int __pyx_v_member); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_2get_member_offset(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, int __pyx_v_member); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_4get_member_type(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, int __pyx_v_member); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_6insert(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, char *__pyx_v_name, size_t __pyx_v_offset, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_field); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_8pack(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_enum_insert(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, char *__pyx_v_name, PY_LONG_LONG __pyx_v_value); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_2enum_nameof(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, PY_LONG_LONG __pyx_v_value); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_4enum_valueof(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, char *__pyx_v_name); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_6get_member_value(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, int __pyx_v_idx); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_14py_create(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dtype_in, int __pyx_v_logical); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_16special_dtype(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kwds); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_18check_dtype(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kwds); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_20convert(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_src, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_dst, size_t __pyx_v_n, PyArrayObject *__pyx_v_buf, PyArrayObject *__pyx_v_bkg, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_dxpl); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_22find(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_src, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_dst); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_24py_new_enum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dt_in, PyObject *__pyx_v_enum_vals); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_26py_get_enum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dt); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_28py_new_vlen(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kind); /* proto */ -+static PyObject *__pyx_pf_4h5py_3h5t_30py_get_vlen(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dt_in); /* proto */ - static char __pyx_k_1[] = "Class must be COMPOUND or OPAQUE."; - static char __pyx_k_3[] = "Only locked or committed types can be hashed"; - static char __pyx_k_5[] = "No NumPy equivalent for %s exists"; -@@ -1429,10 +1379,12 @@ static char __pyx_k_43[] = "Ref class mu - static char __pyx_k_45[] = "Unknown special type \"%s\""; - static char __pyx_k_47[] = " A Numpy-style dtype object representing this object.\n "; - static char __pyx_k_48[] = "\n HDF5 \"H5T\" data-type API\n\n This module contains the datatype identifier class TypeID, and its\n subclasses which represent things like integer/float/compound identifiers.\n The majority of the H5T API is presented as methods on these identifiers.\n"; --static char __pyx_k_49[] = "|"; --static char __pyx_k_50[] = "<"; --static char __pyx_k_51[] = ">"; --static char __pyx_k_52[] = "h5py.h5t"; -+static char __pyx_k_49[] = "h5py.h5"; -+static char __pyx_k_50[] = "|"; -+static char __pyx_k_51[] = "<"; -+static char __pyx_k_52[] = ">"; -+static char __pyx_k_55[] = "/disks/strw4/vanelteren/env/python3/install/_temp/h5py-2.1.0/h5py/h5t.pyx"; -+static char __pyx_k_56[] = "h5py.h5t"; - static char __pyx_k__3[] = "3"; - static char __pyx_k__O[] = "O"; - static char __pyx_k__c[] = "c"; -@@ -1440,8 +1392,7 @@ static char __pyx_k__f[] = "f"; - static char __pyx_k__i[] = "i"; - static char __pyx_k__n[] = "n"; - static char __pyx_k__u[] = "u"; --static char __pyx_k__h5[] = "h5"; --static char __pyx_k__id[] = "id"; -+static char __pyx_k__dt[] = "dt"; - static char __pyx_k__iu[] = "iu"; - static char __pyx_k__PY3[] = "PY3"; - static char __pyx_k__bkg[] = "bkg"; -@@ -1454,24 +1405,32 @@ static char __pyx_k__ref[] = "ref"; - static char __pyx_k__src[] = "src"; - static char __pyx_k__str[] = "str"; - static char __pyx_k__sys[] = "sys"; -+static char __pyx_k__tpl[] = "tpl"; -+static char __pyx_k__val[] = "val"; - static char __pyx_k__zip[] = "zip"; - static char __pyx_k__C_S1[] = "C_S1"; - static char __pyx_k__ENUM[] = "ENUM"; - static char __pyx_k__TIME[] = "TIME"; - static char __pyx_k__VLEN[] = "VLEN"; - static char __pyx_k__base[] = "base"; -+static char __pyx_k__bkg_[] = "bkg_"; - static char __pyx_k__bool[] = "bool"; -+static char __pyx_k__buf_[] = "buf_"; - static char __pyx_k__copy[] = "copy"; - static char __pyx_k__data[] = "data"; -+static char __pyx_k__dims[] = "dims"; - static char __pyx_k__dxpl[] = "dxpl"; - static char __pyx_k__enum[] = "enum"; - static char __pyx_k__epos[] = "epos"; - static char __pyx_k__find[] = "find"; -+static char __pyx_k__h5py[] = "h5py"; - static char __pyx_k__kind[] = "kind"; -+static char __pyx_k__kwds[] = "kwds"; - static char __pyx_k__lcpl[] = "lcpl"; - static char __pyx_k__mpos[] = "mpos"; - static char __pyx_k__name[] = "name"; - static char __pyx_k__open[] = "open"; -+static char __pyx_k__rank[] = "rank"; - static char __pyx_k__size[] = "size"; - static char __pyx_k__spos[] = "spos"; - static char __pyx_k__type[] = "type"; -@@ -1482,7 +1441,6 @@ static char __pyx_k__ARRAY[] = "ARRAY"; - static char __pyx_k__FLOAT[] = "FLOAT"; - static char __pyx_k__SGN_2[] = "SGN_2"; - static char __pyx_k___conv[] = "_conv"; --static char __pyx_k___hash[] = "_hash"; - static char __pyx_k__ascii[] = "ascii"; - static char __pyx_k__dt_in[] = "dt_in"; - static char __pyx_k__equal[] = "equal"; -@@ -1496,15 +1454,13 @@ static char __pyx_k__value[] = "value"; - static char __pyx_k__BKG_NO[] = "BKG_NO"; - static char __pyx_k__OPAQUE[] = "OPAQUE"; - static char __pyx_k__STRING[] = "STRING"; --static char __pyx_k__append[] = "append"; - static char __pyx_k__create[] = "create"; - static char __pyx_k__decode[] = "decode"; --static char __pyx_k__elsize[] = "elsize"; - static char __pyx_k__encode[] = "encode"; - static char __pyx_k__fields[] = "fields"; - static char __pyx_k__little[] = "little"; --static char __pyx_k__locked[] = "locked"; - static char __pyx_k__offset[] = "offset"; -+static char __pyx_k__result[] = "result"; - static char __pyx_k__sorted[] = "sorted"; - static char __pyx_k__xrange[] = "xrange"; - static char __pyx_k__BKG_YES[] = "BKG_YES"; -@@ -1515,6 +1471,7 @@ static char __pyx_k___i_name[] = "_i_nam - static char __pyx_k___r_name[] = "_r_name"; - static char __pyx_k___t_name[] = "_t_name"; - static char __pyx_k__convert[] = "convert"; -+static char __pyx_k__hintkey[] = "hintkey"; - static char __pyx_k__logical[] = "logical"; - static char __pyx_k__popitem[] = "popitem"; - static char __pyx_k__version[] = "version"; -@@ -1543,8 +1500,6 @@ static char __pyx_k__get_cset[] = "get_c - static char __pyx_k__get_sign[] = "get_sign"; - static char __pyx_k__get_size[] = "get_size"; - static char __pyx_k__itemsize[] = "itemsize"; --static char __pyx_k__need_bkg[] = "need_bkg"; --static char __pyx_k__py_dtype[] = "py_dtype"; - static char __pyx_k__subdtype[] = "subdtype"; - static char __pyx_k__warnings[] = "warnings"; - static char __pyx_k__CSET_UTF8[] = "CSET_UTF8"; -@@ -1570,6 +1525,8 @@ static char __pyx_k__classtype[] = "clas - static char __pyx_k__enum_vals[] = "enum_vals"; - static char __pyx_k__get_order[] = "get_order"; - static char __pyx_k__get_super[] = "get_super"; -+static char __pyx_k__hint_dict[] = "hint_dict"; -+static char __pyx_k__iteritems[] = "iteritems"; - static char __pyx_k__py_create[] = "py_create"; - static char __pyx_k__CSET_ASCII[] = "CSET_ASCII"; - static char __pyx_k__DIR_ASCEND[] = "DIR_ASCEND"; -@@ -1606,7 +1563,6 @@ static char __pyx_k__STR_NULLTERM[] = "S - static char __pyx_k__STR_SPACEPAD[] = "STR_SPACEPAD"; - static char __pyx_k__array_create[] = "array_create"; - static char __pyx_k__detect_class[] = "detect_class"; --static char __pyx_k__enum_convert[] = "enum_convert"; - static char __pyx_k__get_nmembers[] = "get_nmembers"; - static char __pyx_k__version_info[] = "version_info"; - static char __pyx_k__NATIVE_DOUBLE[] = "NATIVE_DOUBLE"; -@@ -1646,11 +1602,13 @@ static PyObject *__pyx_kp_s_39; - static PyObject *__pyx_kp_s_41; - static PyObject *__pyx_kp_s_43; - static PyObject *__pyx_kp_s_45; --static PyObject *__pyx_kp_s_49; -+static PyObject *__pyx_n_s_49; - static PyObject *__pyx_kp_s_5; - static PyObject *__pyx_kp_s_50; - static PyObject *__pyx_kp_s_51; --static PyObject *__pyx_n_s_52; -+static PyObject *__pyx_kp_s_52; -+static PyObject *__pyx_kp_s_55; -+static PyObject *__pyx_n_s_56; - static PyObject *__pyx_kp_s_7; - static PyObject *__pyx_kp_s_8; - static PyObject *__pyx_kp_s_9; -@@ -1747,17 +1705,17 @@ static PyObject *__pyx_n_s____name__; - static PyObject *__pyx_n_s____test__; - static PyObject *__pyx_n_s___conv; - static PyObject *__pyx_n_s___f_name; --static PyObject *__pyx_n_s___hash; - static PyObject *__pyx_n_s___i_name; - static PyObject *__pyx_n_s___r_name; - static PyObject *__pyx_n_s___t_name; --static PyObject *__pyx_n_s__append; - static PyObject *__pyx_n_s__array_create; - static PyObject *__pyx_n_s__ascii; - static PyObject *__pyx_n_s__base; - static PyObject *__pyx_n_s__bkg; -+static PyObject *__pyx_n_s__bkg_; - static PyObject *__pyx_n_s__bool; - static PyObject *__pyx_n_s__buf; -+static PyObject *__pyx_n_s__buf_; - static PyObject *__pyx_n_s__byteorder; - static PyObject *__pyx_n_s__c; - static PyObject *__pyx_n_s__cfg; -@@ -1769,15 +1727,15 @@ static PyObject *__pyx_n_s__create; - static PyObject *__pyx_n_s__data; - static PyObject *__pyx_n_s__decode; - static PyObject *__pyx_n_s__detect_class; -+static PyObject *__pyx_n_s__dims; - static PyObject *__pyx_n_s__dims_tpl; - static PyObject *__pyx_n_s__dst; -+static PyObject *__pyx_n_s__dt; - static PyObject *__pyx_n_s__dt_in; - static PyObject *__pyx_n_s__dtype_in; - static PyObject *__pyx_n_s__dxpl; --static PyObject *__pyx_n_s__elsize; - static PyObject *__pyx_n_s__encode; - static PyObject *__pyx_n_s__enum; --static PyObject *__pyx_n_s__enum_convert; - static PyObject *__pyx_n_s__enum_create; - static PyObject *__pyx_n_s__enum_insert; - static PyObject *__pyx_n_s__enum_vals; -@@ -1801,16 +1759,18 @@ static PyObject *__pyx_n_s__get_sign; - static PyObject *__pyx_n_s__get_size; - static PyObject *__pyx_n_s__get_super; - static PyObject *__pyx_n_s__group; --static PyObject *__pyx_n_s__h5; -+static PyObject *__pyx_n_s__h5py; -+static PyObject *__pyx_n_s__hint_dict; -+static PyObject *__pyx_n_s__hintkey; - static PyObject *__pyx_n_s__i; --static PyObject *__pyx_n_s__id; - static PyObject *__pyx_n_s__is_variable_str; - static PyObject *__pyx_n_s__itemsize; -+static PyObject *__pyx_n_s__iteritems; - static PyObject *__pyx_n_s__iu; - static PyObject *__pyx_n_s__kind; -+static PyObject *__pyx_n_s__kwds; - static PyObject *__pyx_n_s__lcpl; - static PyObject *__pyx_n_s__little; --static PyObject *__pyx_n_s__locked; - static PyObject *__pyx_n_s__logical; - static PyObject *__pyx_n_s__lsb; - static PyObject *__pyx_n_s__mpos; -@@ -1819,14 +1779,14 @@ static PyObject *__pyx_n_s__msize; - static PyObject *__pyx_n_s__n; - static PyObject *__pyx_n_s__name; - static PyObject *__pyx_n_s__names; --static PyObject *__pyx_n_s__need_bkg; - static PyObject *__pyx_n_s__offset; - static PyObject *__pyx_n_s__open; - static PyObject *__pyx_n_s__popitem; - static PyObject *__pyx_n_s__py_create; --static PyObject *__pyx_n_s__py_dtype; - static PyObject *__pyx_n_s__range; -+static PyObject *__pyx_n_s__rank; - static PyObject *__pyx_n_s__ref; -+static PyObject *__pyx_n_s__result; - static PyObject *__pyx_n_s__size; - static PyObject *__pyx_n_s__sorted; - static PyObject *__pyx_n_s__special_dtype; -@@ -1835,9 +1795,11 @@ static PyObject *__pyx_n_s__src; - static PyObject *__pyx_n_s__str; - static PyObject *__pyx_n_s__subdtype; - static PyObject *__pyx_n_s__sys; -+static PyObject *__pyx_n_s__tpl; - static PyObject *__pyx_n_s__type; - static PyObject *__pyx_n_s__u; - static PyObject *__pyx_n_s__utf8; -+static PyObject *__pyx_n_s__val; - static PyObject *__pyx_n_s__vals; - static PyObject *__pyx_n_s__value; - static PyObject *__pyx_n_s__version; -@@ -1876,6 +1838,26 @@ static PyObject *__pyx_k_tuple_40; - static PyObject *__pyx_k_tuple_42; - static PyObject *__pyx_k_tuple_44; - static PyObject *__pyx_k_tuple_46; -+static PyObject *__pyx_k_tuple_53; -+static PyObject *__pyx_k_tuple_57; -+static PyObject *__pyx_k_tuple_59; -+static PyObject *__pyx_k_tuple_61; -+static PyObject *__pyx_k_tuple_63; -+static PyObject *__pyx_k_tuple_65; -+static PyObject *__pyx_k_tuple_67; -+static PyObject *__pyx_k_tuple_69; -+static PyObject *__pyx_k_tuple_71; -+static PyObject *__pyx_k_tuple_73; -+static PyObject *__pyx_k_codeobj_54; -+static PyObject *__pyx_k_codeobj_58; -+static PyObject *__pyx_k_codeobj_60; -+static PyObject *__pyx_k_codeobj_62; -+static PyObject *__pyx_k_codeobj_64; -+static PyObject *__pyx_k_codeobj_66; -+static PyObject *__pyx_k_codeobj_68; -+static PyObject *__pyx_k_codeobj_70; -+static PyObject *__pyx_k_codeobj_72; -+static PyObject *__pyx_k_codeobj_74; - - /* "h5py/h5t.pyx":41 - * # === Custom C API ============================================================ -@@ -1885,17 +1867,20 @@ static PyObject *__pyx_k_tuple_46; - * cdef H5T_class_t cls - */ - --static PyObject *__pyx_pf_4h5py_3h5t_typewrap(PyObject *__pyx_self, PyObject *__pyx_arg_id_); /*proto*/ --static struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_f_4h5py_3h5t_typewrap(hid_t __pyx_v_id_, int __pyx_skip_dispatch) { -+static PyObject *__pyx_pw_4h5py_3h5t_1typewrap(PyObject *__pyx_self, PyObject *__pyx_arg_id_); /*proto*/ -+static struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_f_4h5py_3h5t_typewrap(hid_t __pyx_v_id_, CYTHON_UNUSED int __pyx_skip_dispatch) { - enum H5T_class_t __pyx_v_cls; -- PyObject *__pyx_v_pcls; -+ PyObject *__pyx_v_pcls = NULL; - struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - enum H5T_class_t __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; -- __Pyx_RefNannySetupContext("typewrap"); -- __pyx_v_pcls = ((PyObject*)Py_None); __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("typewrap", 0); - - /* "h5py/h5t.pyx":44 - * -@@ -1925,7 +1910,6 @@ static struct __pyx_obj_4h5py_3h5t_Type - * pcls = TypeFloatID - */ - __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeIntegerID))); -- __Pyx_DECREF(((PyObject *)__pyx_v_pcls)); - __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeIntegerID); - goto __pyx_L3; - } -@@ -1948,7 +1932,6 @@ static struct __pyx_obj_4h5py_3h5t_Type - * pcls = TypeTimeID - */ - __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeFloatID))); -- __Pyx_DECREF(((PyObject *)__pyx_v_pcls)); - __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeFloatID); - goto __pyx_L3; - } -@@ -1971,7 +1954,6 @@ static struct __pyx_obj_4h5py_3h5t_Type - * pcls = TypeStringID - */ - __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeTimeID))); -- __Pyx_DECREF(((PyObject *)__pyx_v_pcls)); - __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeTimeID); - goto __pyx_L3; - } -@@ -1994,7 +1976,6 @@ static struct __pyx_obj_4h5py_3h5t_Type - * pcls = TypeBitfieldID - */ - __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeStringID))); -- __Pyx_DECREF(((PyObject *)__pyx_v_pcls)); - __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeStringID); - goto __pyx_L3; - } -@@ -2017,7 +1998,6 @@ static struct __pyx_obj_4h5py_3h5t_Type - * pcls = TypeOpaqueID - */ - __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeBitfieldID))); -- __Pyx_DECREF(((PyObject *)__pyx_v_pcls)); - __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeBitfieldID); - goto __pyx_L3; - } -@@ -2040,7 +2020,6 @@ static struct __pyx_obj_4h5py_3h5t_Type - * pcls = TypeCompoundID - */ - __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeOpaqueID))); -- __Pyx_DECREF(((PyObject *)__pyx_v_pcls)); - __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeOpaqueID); - goto __pyx_L3; - } -@@ -2063,7 +2042,6 @@ static struct __pyx_obj_4h5py_3h5t_Type - * pcls = TypeReferenceID - */ - __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeCompoundID))); -- __Pyx_DECREF(((PyObject *)__pyx_v_pcls)); - __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeCompoundID); - goto __pyx_L3; - } -@@ -2086,7 +2064,6 @@ static struct __pyx_obj_4h5py_3h5t_Type - * pcls = TypeEnumID - */ - __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeReferenceID))); -- __Pyx_DECREF(((PyObject *)__pyx_v_pcls)); - __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeReferenceID); - goto __pyx_L3; - } -@@ -2109,7 +2086,6 @@ static struct __pyx_obj_4h5py_3h5t_Type - * pcls = TypeVlenID - */ - __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeEnumID))); -- __Pyx_DECREF(((PyObject *)__pyx_v_pcls)); - __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeEnumID); - goto __pyx_L3; - } -@@ -2132,7 +2108,6 @@ static struct __pyx_obj_4h5py_3h5t_Type - * pcls = TypeArrayID - */ - __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeVlenID))); -- __Pyx_DECREF(((PyObject *)__pyx_v_pcls)); - __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeVlenID); - goto __pyx_L3; - } -@@ -2155,7 +2130,6 @@ static struct __pyx_obj_4h5py_3h5t_Type - * pcls = TypeID - */ - __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeArrayID))); -- __Pyx_DECREF(((PyObject *)__pyx_v_pcls)); - __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeArrayID); - goto __pyx_L3; - } -@@ -2169,7 +2143,6 @@ static struct __pyx_obj_4h5py_3h5t_Type - * return pcls(id_) - */ - __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeID))); -- __Pyx_DECREF(((PyObject *)__pyx_v_pcls)); - __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeID); - } - __pyx_L3:; -@@ -2185,7 +2158,7 @@ static struct __pyx_obj_4h5py_3h5t_Type - __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_v_id_); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; -@@ -2202,15 +2175,36 @@ static struct __pyx_obj_4h5py_3h5t_Type - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5t.typewrap"); -+ __Pyx_AddTraceback("h5py.h5t.typewrap", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; -- __Pyx_DECREF(__pyx_v_pcls); -+ __Pyx_XDECREF(__pyx_v_pcls); - __Pyx_XGIVEREF((PyObject *)__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_1typewrap(PyObject *__pyx_self, PyObject *__pyx_arg_id_); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5t_1typewrap(PyObject *__pyx_self, PyObject *__pyx_arg_id_) { -+ hid_t __pyx_v_id_; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("typewrap (wrapper)", 0); -+ assert(__pyx_arg_id_); { -+ __pyx_v_id_ = __Pyx_PyInt_from_py_hid_t(__pyx_arg_id_); if (unlikely((__pyx_v_id_ == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5t.typewrap", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_typewrap(__pyx_self, ((hid_t)__pyx_v_id_)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":41 - * # === Custom C API ============================================================ - * -@@ -2219,22 +2213,14 @@ static struct __pyx_obj_4h5py_3h5t_Type - * cdef H5T_class_t cls - */ - --static PyObject *__pyx_pf_4h5py_3h5t_typewrap(PyObject *__pyx_self, PyObject *__pyx_arg_id_); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5t_typewrap(PyObject *__pyx_self, PyObject *__pyx_arg_id_) { -- hid_t __pyx_v_id_; -+static PyObject *__pyx_pf_4h5py_3h5t_typewrap(CYTHON_UNUSED PyObject *__pyx_self, hid_t __pyx_v_id_) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; -- __Pyx_RefNannySetupContext("typewrap"); -- __pyx_self = __pyx_self; -- assert(__pyx_arg_id_); { -- __pyx_v_id_ = __Pyx_PyInt_from_py_hid_t(__pyx_arg_id_); if (unlikely((__pyx_v_id_ == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.typewrap"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("typewrap", 0); - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_v_id_, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -@@ -2246,7 +2232,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_typ - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -- __Pyx_AddTraceback("h5py.h5t.typewrap"); -+ __Pyx_AddTraceback("h5py.h5t.typewrap", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2262,12 +2248,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_typ - * tid = typewrap(id_in) - */ - --static PyObject *__pyx_f_4h5py_3h5t_lockid(hid_t __pyx_v_id_in) { -- struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid; -+static PyObject *__pyx_f_4h5py_3h5t_lockid(hid_t __pyx_v_id_in) { -+ struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid = 0; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; -- __Pyx_RefNannySetupContext("lockid"); -- __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None); __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("lockid", 0); - - /* "h5py/h5t.pyx":75 - * cdef object lockid(hid_t id_in): -@@ -2278,7 +2267,6 @@ static PyObject *__pyx_f_4h5py_3h5t_loc - */ - __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_v_id_in, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(((PyObject *)__pyx_v_tid)); - __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_1); - __pyx_t_1 = 0; - -@@ -2307,78 +2295,93 @@ static PyObject *__pyx_f_4h5py_3h5t_loc - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -- __Pyx_AddTraceback("h5py.h5t.lockid"); -+ __Pyx_AddTraceback("h5py.h5t.lockid", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_tid); -+ __Pyx_XDECREF((PyObject *)__pyx_v_tid); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - --/* "h5py/h5t.pyx":210 -- * -- * -- * def create(int classtype, size_t size): # <<<<<<<<<<<<<< -- * """(INT classtype, UINT size) => TypeID -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5t_1create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5t_1create[] = "(INT classtype, UINT size) => TypeID\n \n Create a new HDF5 type object. Legal class values are \n COMPOUND and OPAQUE. Use enum_create for enums.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5t_1create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pf_4h5py_3h5t_1create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_1create)}; --static PyObject *__pyx_pf_4h5py_3h5t_1create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_3create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_2create[] = "(INT classtype, UINT size) => TypeID\n \n Create a new HDF5 type object. Legal class values are \n COMPOUND and OPAQUE. Use enum_create for enums.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5t_3create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pw_4h5py_3h5t_3create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_2create)}; -+static PyObject *__pyx_pw_4h5py_3h5t_3create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - int __pyx_v_classtype; - size_t __pyx_v_size; -- PyObject *__pyx_r = NULL; -- int __pyx_t_1; -- int __pyx_t_2; -- int __pyx_t_3; -- PyObject *__pyx_t_4 = NULL; -- hid_t __pyx_t_5; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__classtype,&__pyx_n_s__size,0}; -- __Pyx_RefNannySetupContext("create"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("create (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__classtype,&__pyx_n_s__size,0}; - PyObject* values[2] = {0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__classtype); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__size); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("create", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__classtype)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__size)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("create", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_classtype = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_classtype == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_size = __Pyx_PyInt_AsSize_t(values[1]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_classtype = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_classtype == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_size = __Pyx_PyInt_AsSize_t(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("create", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.create"); -+ __Pyx_AddTraceback("h5py.h5t.create", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_2create(__pyx_self, __pyx_v_classtype, __pyx_v_size); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5t.pyx":210 -+ * -+ * -+ * def create(int classtype, size_t size): # <<<<<<<<<<<<<< -+ * """(INT classtype, UINT size) => TypeID -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5t_2create(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_classtype, size_t __pyx_v_size) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ int __pyx_t_1; -+ int __pyx_t_2; -+ int __pyx_t_3; -+ PyObject *__pyx_t_4 = NULL; -+ hid_t __pyx_t_5; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("create", 0); - - /* "h5py/h5t.pyx":218 - * -@@ -2405,12 +2408,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_1cr - */ - __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_2), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); -- __Pyx_Raise(__pyx_t_4, 0, 0); -+ __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L6; -+ goto __pyx_L3; - } -- __pyx_L6:; -+ __pyx_L3:; - - /* "h5py/h5t.pyx":221 - * raise ValueError("Class must be COMPOUND or OPAQUE.") -@@ -2431,7 +2434,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_1cr - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5t.create"); -+ __Pyx_AddTraceback("h5py.h5t.create", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2439,67 +2442,86 @@ static PyObject *__pyx_pf_4h5py_3h5t_1cr - return __pyx_r; - } - --/* "h5py/h5t.pyx":224 -- * -- * -- * def open(ObjectID group not None, char* name): # <<<<<<<<<<<<<< -- * """(ObjectID group, STRING name) => TypeID -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5t_2open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5t_2open[] = "(ObjectID group, STRING name) => TypeID\n\n Open a named datatype from a file.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5t_2open = {__Pyx_NAMESTR("open"), (PyCFunction)__pyx_pf_4h5py_3h5t_2open, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_2open)}; --static PyObject *__pyx_pf_4h5py_3h5t_2open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_5open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_4open[] = "(ObjectID group, STRING name) => TypeID\n\n Open a named datatype from a file.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5t_5open = {__Pyx_NAMESTR("open"), (PyCFunction)__pyx_pw_4h5py_3h5t_5open, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_4open)}; -+static PyObject *__pyx_pw_4h5py_3h5t_5open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_group = 0; - char *__pyx_v_name; -- PyObject *__pyx_r = NULL; -- hid_t __pyx_t_1; -- PyObject *__pyx_t_2 = NULL; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__group,&__pyx_n_s__name,0}; -- __Pyx_RefNannySetupContext("open"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("open (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__group,&__pyx_n_s__name,0}; - PyObject* values[2] = {0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__group); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("open", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__group)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("open", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_group = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]); - __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_group = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- __pyx_v_name = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("open", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.open"); -+ __Pyx_AddTraceback("h5py.h5t.open", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "group", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5t_4open(__pyx_self, __pyx_v_group, __pyx_v_name); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5t.pyx":224 -+ * -+ * -+ * def open(ObjectID group not None, char* name): # <<<<<<<<<<<<<< -+ * """(ObjectID group, STRING name) => TypeID -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5t_4open(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_group, char *__pyx_v_name) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ hid_t __pyx_t_1; -+ PyObject *__pyx_t_2 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("open", 0); - - /* "h5py/h5t.pyx":229 - * Open a named datatype from a file. -@@ -2520,7 +2542,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_2op - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.open"); -+ __Pyx_AddTraceback("h5py.h5t.open", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2528,73 +2550,92 @@ static PyObject *__pyx_pf_4h5py_3h5t_2op - return __pyx_r; - } - --/* "h5py/h5t.pyx":232 -- * -- * -- * def array_create(TypeID base not None, object dims_tpl): # <<<<<<<<<<<<<< -- * """(TypeID base, TUPLE dimensions) => TypeArrayID -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5t_3array_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5t_3array_create[] = "(TypeID base, TUPLE dimensions) => TypeArrayID\n\n Create a new array datatype, using and HDF5 parent type and\n dimensions given via a tuple of positive integers. \"Unlimited\" \n dimensions are not allowed.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5t_3array_create = {__Pyx_NAMESTR("array_create"), (PyCFunction)__pyx_pf_4h5py_3h5t_3array_create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_3array_create)}; --static PyObject *__pyx_pf_4h5py_3h5t_3array_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_7array_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_6array_create[] = "(TypeID base, TUPLE dimensions) => TypeArrayID\n\n Create a new array datatype, using and HDF5 parent type and\n dimensions given via a tuple of positive integers. \"Unlimited\" \n dimensions are not allowed.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5t_7array_create = {__Pyx_NAMESTR("array_create"), (PyCFunction)__pyx_pw_4h5py_3h5t_7array_create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6array_create)}; -+static PyObject *__pyx_pw_4h5py_3h5t_7array_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_base = 0; - PyObject *__pyx_v_dims_tpl = 0; -- hsize_t __pyx_v_rank; -- hsize_t *__pyx_v_dims; -- PyObject *__pyx_r = NULL; -- int __pyx_t_1; -- Py_ssize_t __pyx_t_2; -- void *__pyx_t_3; -- hid_t __pyx_t_4; -- PyObject *__pyx_t_5 = NULL; -- PyObject *__pyx_t_6 = NULL; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__base,&__pyx_n_s__dims_tpl,0}; -- __Pyx_RefNannySetupContext("array_create"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("array_create (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__base,&__pyx_n_s__dims_tpl,0}; - PyObject* values[2] = {0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__base); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dims_tpl); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("array_create", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "array_create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__base)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dims_tpl)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("array_create", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "array_create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_base = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[0]); - __pyx_v_dims_tpl = values[1]; -- } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_base = ((struct __pyx_obj_4h5py_3h5t_TypeID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- __pyx_v_dims_tpl = PyTuple_GET_ITEM(__pyx_args, 1); - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("array_create", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.array_create"); -+ __Pyx_AddTraceback("h5py.h5t.array_create", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_base), __pyx_ptype_4h5py_3h5t_TypeID, 0, "base", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5t_6array_create(__pyx_self, __pyx_v_base, __pyx_v_dims_tpl); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5t.pyx":232 -+ * -+ * -+ * def array_create(TypeID base not None, object dims_tpl): # <<<<<<<<<<<<<< -+ * """(TypeID base, TUPLE dimensions) => TypeArrayID -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5t_6array_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_base, PyObject *__pyx_v_dims_tpl) { -+ hsize_t __pyx_v_rank; -+ hsize_t *__pyx_v_dims; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ int __pyx_t_1; -+ Py_ssize_t __pyx_t_2; -+ void *__pyx_t_3; -+ hid_t __pyx_t_4; -+ PyObject *__pyx_t_5 = NULL; -+ PyObject *__pyx_t_6 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("array_create", 0); - - /* "h5py/h5t.pyx":240 - * """ -@@ -2650,7 +2691,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_3ar - * return TypeArrayID(H5Tarray_create(base.id, rank, dims, NULL)) - * finally: - */ -- __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_dims_tpl, __pyx_v_dims, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_dims_tpl, __pyx_v_dims, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L4;} - - /* "h5py/h5t.pyx":248 - * try: -@@ -2660,20 +2701,20 @@ static PyObject *__pyx_pf_4h5py_3h5t_3ar - * efree(dims) - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_4 = __pyx_f_4h5py_4defs_H5Tarray_create(__pyx_v_base->__pyx_base.id, __pyx_v_rank, __pyx_v_dims, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L7;} -- __pyx_t_5 = __Pyx_PyInt_to_py_hid_t(__pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_4 = __pyx_f_4h5py_4defs_H5Tarray_create(__pyx_v_base->__pyx_base.id, __pyx_v_rank, __pyx_v_dims, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L4;} -+ __pyx_t_5 = __Pyx_PyInt_to_py_hid_t(__pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_5); -- __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L7;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_6)); -+ __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L4;} -+ __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; -- __pyx_t_5 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeArrayID)), ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_5 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeArrayID)), ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; -- goto __pyx_L6; -+ goto __pyx_L3; - } - - /* "h5py/h5t.pyx":250 -@@ -2688,18 +2729,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_3ar - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L8; -- __pyx_L6: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 3; goto __pyx_L8; -- __pyx_L7: { -+ __pyx_why = 0; goto __pyx_L5; -+ __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -+ __pyx_why = 3; goto __pyx_L5; -+ __pyx_L4: { - __pyx_why = 4; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L8; -+ goto __pyx_L5; - } -- __pyx_L8:; -+ __pyx_L5:; - __pyx_f_4h5py_5utils_efree(__pyx_v_dims); - switch (__pyx_why) { - case 3: goto __pyx_L0; -@@ -2719,7 +2760,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_3ar - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); -- __Pyx_AddTraceback("h5py.h5t.array_create"); -+ __Pyx_AddTraceback("h5py.h5t.array_create", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2727,6 +2768,24 @@ static PyObject *__pyx_pf_4h5py_3h5t_3ar - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_9enum_create(PyObject *__pyx_self, PyObject *__pyx_v_base); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_8enum_create[] = "(TypeID base) => TypeID\n\n Create a new enumerated type based on an (integer) parent type.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5t_9enum_create = {__Pyx_NAMESTR("enum_create"), (PyCFunction)__pyx_pw_4h5py_3h5t_9enum_create, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_8enum_create)}; -+static PyObject *__pyx_pw_4h5py_3h5t_9enum_create(PyObject *__pyx_self, PyObject *__pyx_v_base) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("enum_create (wrapper)", 0); -+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_base), __pyx_ptype_4h5py_3h5t_TypeID, 0, "base", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5t_8enum_create(__pyx_self, ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_base)); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":253 - * - * -@@ -2735,16 +2794,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_3ar - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_4enum_create(PyObject *__pyx_self, PyObject *__pyx_v_base); /*proto*/ --static char __pyx_doc_4h5py_3h5t_4enum_create[] = "(TypeID base) => TypeID\n\n Create a new enumerated type based on an (integer) parent type.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5t_4enum_create = {__Pyx_NAMESTR("enum_create"), (PyCFunction)__pyx_pf_4h5py_3h5t_4enum_create, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_4enum_create)}; --static PyObject *__pyx_pf_4h5py_3h5t_4enum_create(PyObject *__pyx_self, PyObject *__pyx_v_base) { -+static PyObject *__pyx_pf_4h5py_3h5t_8enum_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_base) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("enum_create"); -- __pyx_self = __pyx_self; -- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_base), __pyx_ptype_4h5py_3h5t_TypeID, 0, "base", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("enum_create", 0); - - /* "h5py/h5t.pyx":258 - * Create a new enumerated type based on an (integer) parent type. -@@ -2754,7 +2812,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_4en - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tenum_create(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_base)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tenum_create(__pyx_v_base->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_1, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -2765,7 +2823,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_4en - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.enum_create"); -+ __Pyx_AddTraceback("h5py.h5t.enum_create", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2773,6 +2831,24 @@ static PyObject *__pyx_pf_4h5py_3h5t_4en - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_11vlen_create(PyObject *__pyx_self, PyObject *__pyx_v_base); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_10vlen_create[] = "(TypeID base) => TypeID\n\n Create a new variable-length datatype, using any HDF5 type as a base.\n\n Although the Python interface can manipulate these types, there is no\n provision for reading/writing vlen data.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5t_11vlen_create = {__Pyx_NAMESTR("vlen_create"), (PyCFunction)__pyx_pw_4h5py_3h5t_11vlen_create, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_10vlen_create)}; -+static PyObject *__pyx_pw_4h5py_3h5t_11vlen_create(PyObject *__pyx_self, PyObject *__pyx_v_base) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("vlen_create (wrapper)", 0); -+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_base), __pyx_ptype_4h5py_3h5t_TypeID, 0, "base", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5t_10vlen_create(__pyx_self, ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_base)); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":261 - * - * -@@ -2781,16 +2857,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_4en - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_5vlen_create(PyObject *__pyx_self, PyObject *__pyx_v_base); /*proto*/ --static char __pyx_doc_4h5py_3h5t_5vlen_create[] = "(TypeID base) => TypeID\n\n Create a new variable-length datatype, using any HDF5 type as a base.\n\n Although the Python interface can manipulate these types, there is no\n provision for reading/writing vlen data.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5t_5vlen_create = {__Pyx_NAMESTR("vlen_create"), (PyCFunction)__pyx_pf_4h5py_3h5t_5vlen_create, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_5vlen_create)}; --static PyObject *__pyx_pf_4h5py_3h5t_5vlen_create(PyObject *__pyx_self, PyObject *__pyx_v_base) { -+static PyObject *__pyx_pf_4h5py_3h5t_10vlen_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_base) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("vlen_create"); -- __pyx_self = __pyx_self; -- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_base), __pyx_ptype_4h5py_3h5t_TypeID, 0, "base", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("vlen_create", 0); - - /* "h5py/h5t.pyx":269 - * provision for reading/writing vlen data. -@@ -2800,7 +2875,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_5vl - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tvlen_create(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_base)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tvlen_create(__pyx_v_base->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_1, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -2811,7 +2886,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_5vl - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.vlen_create"); -+ __Pyx_AddTraceback("h5py.h5t.vlen_create", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2819,6 +2894,29 @@ static PyObject *__pyx_pf_4h5py_3h5t_5vl - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_13decode(PyObject *__pyx_self, PyObject *__pyx_arg_buf); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_12decode[] = "(STRING buf) => TypeID\n\n Unserialize an HDF5 type. You can also do this with the native\n Python pickling machinery.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5t_13decode = {__Pyx_NAMESTR("decode"), (PyCFunction)__pyx_pw_4h5py_3h5t_13decode, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12decode)}; -+static PyObject *__pyx_pw_4h5py_3h5t_13decode(PyObject *__pyx_self, PyObject *__pyx_arg_buf) { -+ char *__pyx_v_buf; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("decode (wrapper)", 0); -+ assert(__pyx_arg_buf); { -+ __pyx_v_buf = PyBytes_AsString(__pyx_arg_buf); if (unlikely((!__pyx_v_buf) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5t.decode", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_12decode(__pyx_self, ((char *)__pyx_v_buf)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":272 - * - * -@@ -2827,25 +2925,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_5vl - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_6decode(PyObject *__pyx_self, PyObject *__pyx_arg_buf); /*proto*/ --static char __pyx_doc_4h5py_3h5t_6decode[] = "(STRING buf) => TypeID\n\n Unserialize an HDF5 type. You can also do this with the native\n Python pickling machinery.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5t_6decode = {__Pyx_NAMESTR("decode"), (PyCFunction)__pyx_pf_4h5py_3h5t_6decode, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6decode)}; --static PyObject *__pyx_pf_4h5py_3h5t_6decode(PyObject *__pyx_self, PyObject *__pyx_arg_buf) { -- char *__pyx_v_buf; -+static PyObject *__pyx_pf_4h5py_3h5t_12decode(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_buf) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("decode"); -- __pyx_self = __pyx_self; -- assert(__pyx_arg_buf); { -- __pyx_v_buf = PyBytes_AsString(__pyx_arg_buf); if (unlikely((!__pyx_v_buf) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.decode"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("decode", 0); - - /* "h5py/h5t.pyx":278 - * Python pickling machinery. -@@ -2866,7 +2954,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6de - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.decode"); -+ __Pyx_AddTraceback("h5py.h5t.decode", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -2874,6 +2962,17 @@ static PyObject *__pyx_pf_4h5py_3h5t_6de - return __pyx_r; - } - -+/* Python wrapper */ -+static Py_hash_t __pyx_pw_4h5py_3h5t_6TypeID_1__hash__(PyObject *__pyx_v_self); /*proto*/ -+static Py_hash_t __pyx_pw_4h5py_3h5t_6TypeID_1__hash__(PyObject *__pyx_v_self) { -+ Py_hash_t __pyx_r; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID___hash__(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":291 - * """ - * -@@ -2882,18 +2981,24 @@ static PyObject *__pyx_pf_4h5py_3h5t_6de - * try: - */ - --static long __pyx_pf_4h5py_3h5t_6TypeID___hash__(PyObject *__pyx_v_self); /*proto*/ --static long __pyx_pf_4h5py_3h5t_6TypeID___hash__(PyObject *__pyx_v_self) { -- long __pyx_r; -+static Py_hash_t __pyx_pf_4h5py_3h5t_6TypeID___hash__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) { -+ Py_hash_t __pyx_r; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; -- long __pyx_t_5; -- int __pyx_t_6; -+ PyObject *__pyx_t_5 = NULL; -+ PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; -- PyObject *__pyx_t_8 = NULL; -- __Pyx_RefNannySetupContext("__hash__"); -+ Py_hash_t __pyx_t_8; -+ int __pyx_t_9; -+ PyObject *__pyx_t_10 = NULL; -+ PyObject *__pyx_t_11 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__hash__", 0); - - /* "h5py/h5t.pyx":292 - * -@@ -2902,7 +3007,7 @@ static long __pyx_pf_4h5py_3h5t_6TypeID_ - * try: - * # Try to use object header first - */ -- __pyx_t_1 = (((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_base._hash == Py_None); -+ __pyx_t_1 = (__pyx_v_self->__pyx_base._hash == Py_None); - if (__pyx_t_1) { - - /* "h5py/h5t.pyx":293 -@@ -2913,11 +3018,10 @@ static long __pyx_pf_4h5py_3h5t_6TypeID_ - * return ObjectID.__hash__(self) - */ - { -- PyObject *__pyx_save_exc_type, *__pyx_save_exc_value, *__pyx_save_exc_tb; -- __Pyx_ExceptionSave(&__pyx_save_exc_type, &__pyx_save_exc_value, &__pyx_save_exc_tb); -- __Pyx_XGOTREF(__pyx_save_exc_type); -- __Pyx_XGOTREF(__pyx_save_exc_value); -- __Pyx_XGOTREF(__pyx_save_exc_tb); -+ __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); -+ __Pyx_XGOTREF(__pyx_t_2); -+ __Pyx_XGOTREF(__pyx_t_3); -+ __Pyx_XGOTREF(__pyx_t_4); - /*try:*/ { - - /* "h5py/h5t.pyx":295 -@@ -2927,36 +3031,36 @@ static long __pyx_pf_4h5py_3h5t_6TypeID_ - * except TypeError: - * # It's a transient type object - */ -- __pyx_t_2 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_8_objects_ObjectID)), __pyx_n_s____hash__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L6_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L6_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -- __Pyx_INCREF(__pyx_v_self); -- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_self); -- __Pyx_GIVEREF(__pyx_v_self); -- __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L6_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; -- __pyx_t_5 = __Pyx_PyInt_AsLong(__pyx_t_4); if (unlikely((__pyx_t_5 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L6_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_r = __pyx_t_5; -- goto __pyx_L10_try_return; -+ __pyx_t_5 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_8_objects_ObjectID)), __pyx_n_s____hash__); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L4_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L4_error;} -+ __Pyx_GOTREF(__pyx_t_6); -+ __Pyx_INCREF(((PyObject *)__pyx_v_self)); -+ PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_self)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); -+ __pyx_t_7 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L4_error;} -+ __Pyx_GOTREF(__pyx_t_7); -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; -+ __pyx_t_8 = __Pyx_PyInt_AsHash_t(__pyx_t_7); if (unlikely((__pyx_t_8 == (Py_hash_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L4_error;} -+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_r = __pyx_t_8; -+ goto __pyx_L8_try_return; - } -- __Pyx_XDECREF(__pyx_save_exc_type); __pyx_save_exc_type = 0; -- __Pyx_XDECREF(__pyx_save_exc_value); __pyx_save_exc_value = 0; -- __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0; -- goto __pyx_L13_try_end; -- __pyx_L10_try_return:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -- goto __pyx_L0; -- __pyx_L6_error:; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; -+ goto __pyx_L11_try_end; -+ __pyx_L8_try_return:; -+ __Pyx_XGIVEREF(__pyx_t_2); -+ __Pyx_XGIVEREF(__pyx_t_3); -+ __Pyx_XGIVEREF(__pyx_t_4); -+ __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); -+ goto __pyx_L0; -+ __pyx_L4_error:; -+ __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; -+ __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "h5py/h5t.pyx":296 - * # Try to use object header first -@@ -2965,13 +3069,13 @@ static long __pyx_pf_4h5py_3h5t_6TypeID_ - * # It's a transient type object - * if self.locked: - */ -- __pyx_t_6 = PyErr_ExceptionMatches(__pyx_builtin_TypeError); -- if (__pyx_t_6) { -- __Pyx_AddTraceback("h5py.h5t.TypeID.__hash__"); -- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_3, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L8_except_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __Pyx_GOTREF(__pyx_t_3); -- __Pyx_GOTREF(__pyx_t_2); -+ __pyx_t_9 = PyErr_ExceptionMatches(__pyx_builtin_TypeError); -+ if (__pyx_t_9) { -+ __Pyx_AddTraceback("h5py.h5t.TypeID.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;} -+ __Pyx_GOTREF(__pyx_t_7); -+ __Pyx_GOTREF(__pyx_t_6); -+ __Pyx_GOTREF(__pyx_t_5); - - /* "h5py/h5t.pyx":298 - * except TypeError: -@@ -2980,7 +3084,7 @@ static long __pyx_pf_4h5py_3h5t_6TypeID_ - * self._hash = hash(self.encode()) - * else: - */ -- if (((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_base.locked) { -+ if (__pyx_v_self->__pyx_base.locked) { - - /* "h5py/h5t.pyx":299 - * # It's a transient type object -@@ -2989,21 +3093,21 @@ static long __pyx_pf_4h5py_3h5t_6TypeID_ - * else: - * raise TypeError("Only locked or committed types can be hashed") - */ -- __pyx_t_7 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__encode); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L8_except_error;} -- __Pyx_GOTREF(__pyx_t_7); -- __pyx_t_8 = PyObject_Call(__pyx_t_7, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L8_except_error;} -- __Pyx_GOTREF(__pyx_t_8); -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -- __pyx_t_5 = PyObject_Hash(__pyx_t_8); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L8_except_error;} -- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; -- __pyx_t_8 = PyInt_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L8_except_error;} -- __Pyx_GOTREF(__pyx_t_8); -- __Pyx_GIVEREF(__pyx_t_8); -- __Pyx_GOTREF(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_base._hash); -- __Pyx_DECREF(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_base._hash); -- ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_base._hash = __pyx_t_8; -- __pyx_t_8 = 0; -- goto __pyx_L16; -+ __pyx_t_10 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__encode); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;} -+ __Pyx_GOTREF(__pyx_t_10); -+ __pyx_t_11 = PyObject_Call(__pyx_t_10, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;} -+ __Pyx_GOTREF(__pyx_t_11); -+ __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; -+ __pyx_t_8 = PyObject_Hash(__pyx_t_11); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;} -+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; -+ __pyx_t_11 = __Pyx_PyInt_FromHash_t(__pyx_t_8); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;} -+ __Pyx_GOTREF(__pyx_t_11); -+ __Pyx_GIVEREF(__pyx_t_11); -+ __Pyx_GOTREF(__pyx_v_self->__pyx_base._hash); -+ __Pyx_DECREF(__pyx_v_self->__pyx_base._hash); -+ __pyx_v_self->__pyx_base._hash = __pyx_t_11; -+ __pyx_t_11 = 0; -+ goto __pyx_L14; - } - /*else*/ { - -@@ -3014,34 +3118,34 @@ static long __pyx_pf_4h5py_3h5t_6TypeID_ - * - * return self._hash - */ -- __pyx_t_8 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_4), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L8_except_error;} -- __Pyx_GOTREF(__pyx_t_8); -- __Pyx_Raise(__pyx_t_8, 0, 0); -- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; -- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L8_except_error;} -+ __pyx_t_11 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_4), NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;} -+ __Pyx_GOTREF(__pyx_t_11); -+ __Pyx_Raise(__pyx_t_11, 0, 0, 0); -+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;} - } -- __pyx_L16:; -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- goto __pyx_L7_exception_handled; -+ __pyx_L14:; -+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ goto __pyx_L5_exception_handled; - } -- __pyx_L8_except_error:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -+ __pyx_L6_except_error:; -+ __Pyx_XGIVEREF(__pyx_t_2); -+ __Pyx_XGIVEREF(__pyx_t_3); -+ __Pyx_XGIVEREF(__pyx_t_4); -+ __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); - goto __pyx_L1_error; -- __pyx_L7_exception_handled:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -- __pyx_L13_try_end:; -+ __pyx_L5_exception_handled:; -+ __Pyx_XGIVEREF(__pyx_t_2); -+ __Pyx_XGIVEREF(__pyx_t_3); -+ __Pyx_XGIVEREF(__pyx_t_4); -+ __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); -+ __pyx_L11_try_end:; - } -- goto __pyx_L5; -+ goto __pyx_L3; - } -- __pyx_L5:; -+ __pyx_L3:; - - /* "h5py/h5t.pyx":303 - * raise TypeError("Only locked or committed types can be hashed") -@@ -3050,19 +3154,19 @@ static long __pyx_pf_4h5py_3h5t_6TypeID_ - * - * def __richcmp__(self, object other, int how): - */ -- __pyx_t_5 = __Pyx_PyInt_AsLong(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_base._hash); if (unlikely((__pyx_t_5 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __pyx_r = __pyx_t_5; -+ __pyx_t_8 = __Pyx_PyInt_AsHash_t(__pyx_v_self->__pyx_base._hash); if (unlikely((__pyx_t_8 == (Py_hash_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_t_8; - goto __pyx_L0; - - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_XDECREF(__pyx_t_2); -- __Pyx_XDECREF(__pyx_t_3); -- __Pyx_XDECREF(__pyx_t_4); -+ __Pyx_XDECREF(__pyx_t_5); -+ __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); -- __Pyx_XDECREF(__pyx_t_8); -- __Pyx_AddTraceback("h5py.h5t.TypeID.__hash__"); -+ __Pyx_XDECREF(__pyx_t_10); -+ __Pyx_XDECREF(__pyx_t_11); -+ __Pyx_AddTraceback("h5py.h5t.TypeID.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2; -@@ -3070,6 +3174,17 @@ static long __pyx_pf_4h5py_3h5t_6TypeID_ - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_3__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_3__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_2__richcmp__(((PyObject *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((int)__pyx_v_how)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":305 - * return self._hash - * -@@ -3078,15 +3193,18 @@ static long __pyx_pf_4h5py_3h5t_6TypeID_ - * if how != 2 and how != 3: - */ - --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_1__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_1__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) { -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_2__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) { - int __pyx_v_truthval; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; -- __Pyx_RefNannySetupContext("__richcmp__"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__richcmp__", 0); - - /* "h5py/h5t.pyx":306 - * -@@ -3126,9 +3244,9 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - __Pyx_INCREF(__pyx_builtin_NotImplemented); - __pyx_r = __pyx_builtin_NotImplemented; - goto __pyx_L0; -- goto __pyx_L5; -+ goto __pyx_L3; - } -- __pyx_L5:; -+ __pyx_L3:; - - /* "h5py/h5t.pyx":309 - * if how != 2 and how != 3: -@@ -3137,7 +3255,10 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * truthval = self.equal(other) - * - */ -- __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeID)); -+ __pyx_t_2 = ((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeID)); -+ __Pyx_INCREF(__pyx_t_2); -+ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_t_2); -+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (__pyx_t_1) { - - /* "h5py/h5t.pyx":310 -@@ -3150,7 +3271,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__equal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_other); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_other); - __Pyx_GIVEREF(__pyx_v_other); -@@ -3161,9 +3282,9 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_truthval = __pyx_t_1; -- goto __pyx_L6; -+ goto __pyx_L4; - } -- __pyx_L6:; -+ __pyx_L4:; - - /* "h5py/h5t.pyx":312 - * truthval = self.equal(other) -@@ -3188,9 +3309,9 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; - goto __pyx_L0; -- goto __pyx_L7; -+ goto __pyx_L5; - } -- __pyx_L7:; -+ __pyx_L5:; - - /* "h5py/h5t.pyx":314 - * if how == 2: -@@ -3212,7 +3333,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5t.TypeID.__richcmp__"); -+ __Pyx_AddTraceback("h5py.h5t.TypeID.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3220,6 +3341,17 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_5__copy__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_5__copy__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__copy__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_4__copy__(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":316 - * return not truthval - * -@@ -3228,15 +3360,17 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * cpy = ObjectID.__copy__(self) - */ - --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_2__copy__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_2__copy__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -- struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_cpy; -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_4__copy__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) { -+ struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_cpy = 0; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("__copy__"); -- __pyx_v_cpy = ((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None); __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__copy__", 0); - - /* "h5py/h5t.pyx":318 - * def __copy__(self): -@@ -3248,16 +3382,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_8_objects_ObjectID)), __pyx_n_s____copy__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -- __Pyx_INCREF(__pyx_v_self); -- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); -- __Pyx_GIVEREF(__pyx_v_self); -+ __Pyx_GOTREF(__pyx_t_2); -+ __Pyx_INCREF(((PyObject *)__pyx_v_self)); -+ PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); - __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; - if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(((PyObject *)__pyx_v_cpy)); - __pyx_v_cpy = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_3); - __pyx_t_3 = 0; - -@@ -3279,15 +3412,26 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5t.TypeID.__copy__"); -+ __Pyx_AddTraceback("h5py.h5t.TypeID.__copy__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_cpy); -+ __Pyx_XDECREF((PyObject *)__pyx_v_cpy); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_5dtype_1__get__(PyObject *__pyx_v_self); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_5dtype_1__get__(PyObject *__pyx_v_self) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_5dtype___get__(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":324 - * """ A Numpy-style dtype object representing this object. - * """ -@@ -3296,11 +3440,14 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_5dtype___get__(PyObject *__pyx_v_self); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_5dtype___get__(PyObject *__pyx_v_self) { -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_5dtype___get__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; -- __Pyx_RefNannySetupContext("__get__"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__get__", 0); - - /* "h5py/h5t.pyx":325 - * """ -@@ -3310,7 +3457,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * cdef object py_dtype(self): - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeID *)((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_vtab)->py_dtype(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeID *)__pyx_v_self->__pyx_vtab)->py_dtype(__pyx_v_self); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; -@@ -3320,7 +3467,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -- __Pyx_AddTraceback("h5py.h5t.TypeID.dtype.__get__"); -+ __Pyx_AddTraceback("h5py.h5t.TypeID.dtype.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3336,11 +3483,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - --static PyObject *__pyx_f_4h5py_3h5t_6TypeID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) { -+static PyObject *__pyx_f_4h5py_3h5t_6TypeID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("py_dtype"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("py_dtype", 0); - - /* "h5py/h5t.pyx":328 - * -@@ -3358,14 +3509,14 @@ static PyObject *__pyx_f_4h5py_3h5t_6Ty - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -+ __Pyx_GOTREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_1)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_1)); - __pyx_t_1 = 0; - __pyx_t_1 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; -- __Pyx_Raise(__pyx_t_1, 0, 0); -+ __Pyx_Raise(__pyx_t_1, 0, 0, 0); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - -@@ -3374,7 +3525,7 @@ static PyObject *__pyx_f_4h5py_3h5t_6Ty - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeID.py_dtype"); -+ __Pyx_AddTraceback("h5py.h5t.TypeID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3382,80 +3533,97 @@ static PyObject *__pyx_f_4h5py_3h5t_6Ty - return __pyx_r; - } - --/* "h5py/h5t.pyx":331 -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_7commit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_6TypeID_6commit[] = "(ObjectID group, STRING name, PropID lcpl=None)\n\n Commit this (transient) datatype to a named datatype in a file.\n If present, lcpl may be a link creation property list.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_7commit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+ struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_group = 0; -+ char *__pyx_v_name; -+ struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_lcpl = 0; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("commit (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__group,&__pyx_n_s__name,&__pyx_n_s__lcpl,0}; -+ PyObject* values[3] = {0,0,0}; -+ -+ /* "h5py/h5t.pyx":331 - * - * - * def commit(self, ObjectID group not None, char* name, ObjectID lcpl=None): # <<<<<<<<<<<<<< - * """(ObjectID group, STRING name, PropID lcpl=None) - * - */ -- --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_3commit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5t_6TypeID_3commit[] = "(ObjectID group, STRING name, PropID lcpl=None)\n\n Commit this (transient) datatype to a named datatype in a file.\n If present, lcpl may be a link creation property list.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_3commit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -- struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_group = 0; -- char *__pyx_v_name; -- struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_lcpl = 0; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__group,&__pyx_n_s__name,&__pyx_n_s__lcpl,0}; -- __Pyx_RefNannySetupContext("commit"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -- PyObject* values[3] = {0,0,0}; - values[2] = (PyObject *)((struct __pyx_obj_4h5py_8_objects_ObjectID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__group); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("commit", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__group)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("commit", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 2: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lcpl); -+ if (value) { values[2] = value; kw_args--; } -+ } - } -- case 2: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lcpl); -- if (value) { values[2] = value; kw_args--; } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "commit") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "commit") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - __pyx_v_group = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]); - __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_lcpl = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[2]); -- } else { -- __pyx_v_lcpl = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: -- __pyx_v_lcpl = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 2)); -- case 2: -- __pyx_v_name = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_group = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("commit", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeID.commit"); -+ __Pyx_AddTraceback("h5py.h5t.TypeID.commit", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "group", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lcpl), __pyx_ptype_4h5py_8_objects_ObjectID, 1, "lcpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_6commit(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self), __pyx_v_group, __pyx_v_name, __pyx_v_lcpl); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_6commit(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_group, char *__pyx_v_name, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_lcpl) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("commit", 0); - - /* "h5py/h5t.pyx":338 - * """ -@@ -3464,12 +3632,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - * def committed(self): - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tcommit2(__pyx_v_group->id, __pyx_v_name, ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_base.id, __pyx_f_4h5py_8_objects_pdefault(__pyx_v_lcpl), H5P_DEFAULT, H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tcommit2(__pyx_v_group->id, __pyx_v_name, __pyx_v_self->__pyx_base.id, __pyx_f_4h5py_8_objects_pdefault(__pyx_v_lcpl), H5P_DEFAULT, H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeID.commit"); -+ __Pyx_AddTraceback("h5py.h5t.TypeID.commit", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3477,6 +3645,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_9committed(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_6TypeID_8committed[] = "() => BOOL is_comitted\n\n Determine if a given type object is named (T) or transient (F).\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_9committed(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("committed (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_8committed(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":340 - * H5P_DEFAULT, H5P_DEFAULT) - * -@@ -3485,13 +3665,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_4committed(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_6TypeID_4committed[] = "() => BOOL is_comitted\n\n Determine if a given type object is named (T) or transient (F).\n "; --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_4committed(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_8committed(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - htri_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("committed"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("committed", 0); - - /* "h5py/h5t.pyx":345 - * Determine if a given type object is named (T) or transient (F). -@@ -3501,7 +3683,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tcommitted(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tcommitted(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -3512,7 +3694,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeID.committed"); -+ __Pyx_AddTraceback("h5py.h5t.TypeID.committed", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3520,6 +3702,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_11copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_6TypeID_10copy[] = "() => TypeID\n\n Create a copy of this type object.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_11copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("copy (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_10copy(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":348 - * - * -@@ -3528,13 +3722,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_5copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_6TypeID_5copy[] = "() => TypeID\n\n Create a copy of this type object.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_5copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_10copy(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("copy"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("copy", 0); - - /* "h5py/h5t.pyx":353 - * Create a copy of this type object. -@@ -3544,7 +3740,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tcopy(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tcopy(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_1, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -3555,7 +3751,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeID.copy"); -+ __Pyx_AddTraceback("h5py.h5t.TypeID.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3563,6 +3759,23 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_13equal(PyObject *__pyx_v_self, PyObject *__pyx_v_typeid); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_6TypeID_12equal[] = "(TypeID typeid) => BOOL\n\n Logical comparison between datatypes. Also called by\n Python's \"==\" operator.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_13equal(PyObject *__pyx_v_self, PyObject *__pyx_v_typeid) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("equal (wrapper)", 0); -+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_typeid), __pyx_ptype_4h5py_3h5t_TypeID, 1, "typeid", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_12equal(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self), ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_typeid)); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":356 - * - * -@@ -3571,14 +3784,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_6equal(PyObject *__pyx_v_self, PyObject *__pyx_v_typeid); /*proto*/ --static char __pyx_doc_4h5py_3h5t_6TypeID_6equal[] = "(TypeID typeid) => BOOL\n\n Logical comparison between datatypes. Also called by\n Python's \"==\" operator.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_6equal(PyObject *__pyx_v_self, PyObject *__pyx_v_typeid) { -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_12equal(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_typeid) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - htri_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("equal"); -- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_typeid), __pyx_ptype_4h5py_3h5t_TypeID, 1, "typeid", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("equal", 0); - - /* "h5py/h5t.pyx":362 - * Python's "==" operator. -@@ -3588,7 +3802,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tequal(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_base.id, ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_typeid)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tequal(__pyx_v_self->__pyx_base.id, __pyx_v_typeid->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -3599,7 +3813,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeID.equal"); -+ __Pyx_AddTraceback("h5py.h5t.TypeID.equal", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3607,6 +3821,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_15lock(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_6TypeID_14lock[] = "()\n\n Lock this datatype, which makes it immutable and indestructible.\n Once locked, it can't be unlocked.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_15lock(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("lock (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_14lock(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":365 - * - * -@@ -3615,12 +3841,14 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_7lock(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_6TypeID_7lock[] = "()\n\n Lock this datatype, which makes it immutable and indestructible.\n Once locked, it can't be unlocked.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_7lock(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_14lock(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("lock"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("lock", 0); - - /* "h5py/h5t.pyx":371 - * Once locked, it can't be unlocked. -@@ -3629,7 +3857,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * self.locked = 1 - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tlock(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tlock(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5t.pyx":372 - * """ -@@ -3638,12 +3866,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - * - */ -- ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_base.locked = 1; -+ __pyx_v_self->__pyx_base.locked = 1; - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeID.lock"); -+ __Pyx_AddTraceback("h5py.h5t.TypeID.lock", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3651,6 +3879,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_17get_class(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_6TypeID_16get_class[] = "() => INT classcode\n\n Determine the datatype's class code.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_17get_class(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_class (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_16get_class(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":375 - * - * -@@ -3659,13 +3899,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_8get_class(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_6TypeID_8get_class[] = "() => INT classcode\n\n Determine the datatype's class code.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_8get_class(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_16get_class(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - enum H5T_class_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_class"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_class", 0); - - /* "h5py/h5t.pyx":380 - * Determine the datatype's class code. -@@ -3675,7 +3917,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_class(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_class(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -3686,7 +3928,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeID.get_class"); -+ __Pyx_AddTraceback("h5py.h5t.TypeID.get_class", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3694,6 +3936,28 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_19set_size(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_6TypeID_18set_size[] = "(UINT size)\n\n Set the total size of the datatype, in bytes.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_19set_size(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) { -+ size_t __pyx_v_size; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_size (wrapper)", 0); -+ assert(__pyx_arg_size); { -+ __pyx_v_size = __Pyx_PyInt_AsSize_t(__pyx_arg_size); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5t.TypeID.set_size", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_18set_size(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self), ((size_t)__pyx_v_size)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":383 - * - * -@@ -3702,22 +3966,14 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_9set_size(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/ --static char __pyx_doc_4h5py_3h5t_6TypeID_9set_size[] = "(UINT size)\n\n Set the total size of the datatype, in bytes.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_9set_size(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) { -- size_t __pyx_v_size; -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_18set_size(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, size_t __pyx_v_size) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_size"); -- assert(__pyx_arg_size); { -- __pyx_v_size = __Pyx_PyInt_AsSize_t(__pyx_arg_size); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeID.set_size"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_size", 0); - - /* "h5py/h5t.pyx":388 - * Set the total size of the datatype, in bytes. -@@ -3726,12 +3982,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_size(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_base.id, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_size(__pyx_v_self->__pyx_base.id, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeID.set_size"); -+ __Pyx_AddTraceback("h5py.h5t.TypeID.set_size", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3739,6 +3995,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_21get_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_6TypeID_20get_size[] = " () => INT size\n\n Determine the total size of a datatype, in bytes.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_21get_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_size (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_20get_size(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":391 - * - * -@@ -3747,13 +4015,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_10get_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_6TypeID_10get_size[] = " () => INT size\n\n Determine the total size of a datatype, in bytes.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_10get_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_20get_size(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - size_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_size"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_size", 0); - - /* "h5py/h5t.pyx":396 - * Determine the total size of a datatype, in bytes. -@@ -3763,7 +4033,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_size(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_size(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -3774,7 +4044,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeID.get_size"); -+ __Pyx_AddTraceback("h5py.h5t.TypeID.get_size", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3782,6 +4052,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_23get_super(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_6TypeID_22get_super[] = "() => TypeID\n\n Determine the parent type of an array, enumeration or vlen datatype.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_23get_super(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_super (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_22get_super(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":399 - * - * -@@ -3790,13 +4072,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_11get_super(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_6TypeID_11get_super[] = "() => TypeID\n\n Determine the parent type of an array, enumeration or vlen datatype.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_11get_super(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_22get_super(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_super"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_super", 0); - - /* "h5py/h5t.pyx":404 - * Determine the parent type of an array, enumeration or vlen datatype. -@@ -3806,7 +4090,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_super(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_super(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_1, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -3817,7 +4101,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeID.get_super"); -+ __Pyx_AddTraceback("h5py.h5t.TypeID.get_super", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3825,31 +4109,45 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - return __pyx_r; - } - --/* "h5py/h5t.pyx":407 -- * -- * -- * def detect_class(self, int classtype): # <<<<<<<<<<<<<< -- * """(INT classtype) => BOOL class_is_present -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_12detect_class(PyObject *__pyx_v_self, PyObject *__pyx_arg_classtype); /*proto*/ --static char __pyx_doc_4h5py_3h5t_6TypeID_12detect_class[] = "(INT classtype) => BOOL class_is_present\n\n Determine if a member of the given class exists in a compound\n datatype. The search is recursive.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_12detect_class(PyObject *__pyx_v_self, PyObject *__pyx_arg_classtype) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_25detect_class(PyObject *__pyx_v_self, PyObject *__pyx_arg_classtype); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_6TypeID_24detect_class[] = "(INT classtype) => BOOL class_is_present\n\n Determine if a member of the given class exists in a compound\n datatype. The search is recursive.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_25detect_class(PyObject *__pyx_v_self, PyObject *__pyx_arg_classtype) { - int __pyx_v_classtype; -- PyObject *__pyx_r = NULL; -- htri_t __pyx_t_1; -- PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("detect_class"); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("detect_class (wrapper)", 0); - assert(__pyx_arg_classtype); { - __pyx_v_classtype = __Pyx_PyInt_AsInt(__pyx_arg_classtype); if (unlikely((__pyx_v_classtype == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeID.detect_class"); -+ __Pyx_AddTraceback("h5py.h5t.TypeID.detect_class", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_24detect_class(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self), ((int)__pyx_v_classtype)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5t.pyx":407 -+ * -+ * -+ * def detect_class(self, int classtype): # <<<<<<<<<<<<<< -+ * """(INT classtype) => BOOL class_is_present -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_24detect_class(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, int __pyx_v_classtype) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ htri_t __pyx_t_1; -+ PyObject *__pyx_t_2 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("detect_class", 0); - - /* "h5py/h5t.pyx":413 - * datatype. The search is recursive. -@@ -3859,7 +4157,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tdetect_class(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_base.id, ((enum H5T_class_t)__pyx_v_classtype)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tdetect_class(__pyx_v_self->__pyx_base.id, ((enum H5T_class_t)__pyx_v_classtype)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -3870,7 +4168,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeID.detect_class"); -+ __Pyx_AddTraceback("h5py.h5t.TypeID.detect_class", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3878,6 +4176,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_27_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_6TypeID_26_close[] = "()\n\n Close this datatype. If it's locked, nothing happens.\n\n You shouldn't ordinarily need to call this function; datatype\n objects are automatically closed when they're deallocated.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_27_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("_close (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_26_close(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":416 - * - * -@@ -3886,13 +4196,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_13_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_6TypeID_13_close[] = "()\n\n Close this datatype. If it's locked, nothing happens.\n\n You shouldn't ordinarily need to call this function; datatype\n objects are automatically closed when they're deallocated.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_13_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_26_close(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - herr_t __pyx_t_2; -- __Pyx_RefNannySetupContext("_close"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("_close", 0); - - /* "h5py/h5t.pyx":424 - * objects are automatically closed when they're deallocated. -@@ -3901,7 +4213,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * H5Tclose(self.id) - * - */ -- __pyx_t_1 = (!((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_base.locked); -+ __pyx_t_1 = (!__pyx_v_self->__pyx_base.locked); - if (__pyx_t_1) { - - /* "h5py/h5t.pyx":425 -@@ -3911,15 +4223,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - * - */ -- __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tclose(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L5; -+ __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tclose(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ goto __pyx_L3; - } -- __pyx_L5:; -+ __pyx_L3:; - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeID._close"); -+ __Pyx_AddTraceback("h5py.h5t.TypeID._close", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -3927,6 +4239,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_29encode(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_6TypeID_28encode[] = "() => STRING\n\n Serialize an HDF5 type. Bear in mind you can also use the\n native Python pickle/unpickle machinery to do this. The\n returned string may contain binary values, including NULLs.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_29encode(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("encode (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_28encode(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":428 - * - * -@@ -3935,18 +4259,19 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_14encode(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_6TypeID_14encode[] = "() => STRING\n\n Serialize an HDF5 type. Bear in mind you can also use the\n native Python pickle/unpickle machinery to do this. The\n returned string may contain binary values, including NULLs.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_14encode(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_28encode(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) { - size_t __pyx_v_nalloc; - char *__pyx_v_buf; -- PyObject *__pyx_v_pystr; -+ PyObject *__pyx_v_pystr = NULL; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - void *__pyx_t_2; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("encode"); -- __pyx_v_pystr = Py_None; __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("encode", 0); - - /* "h5py/h5t.pyx":435 - * returned string may contain binary values, including NULLs. -@@ -3973,7 +4298,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * buf = emalloc(sizeof(char)*nalloc) - * try: - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tencode(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_base.id, NULL, (&__pyx_v_nalloc)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tencode(__pyx_v_self->__pyx_base.id, NULL, (&__pyx_v_nalloc)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5t.pyx":439 - * -@@ -4001,7 +4326,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * pystr = PyBytes_FromStringAndSize(buf, nalloc) - * finally: - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tencode(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_base.id, ((unsigned char *)__pyx_v_buf), (&__pyx_v_nalloc)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tencode(__pyx_v_self->__pyx_base.id, ((unsigned char *)__pyx_v_buf), (&__pyx_v_nalloc)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L4;} - - /* "h5py/h5t.pyx":442 - * try: -@@ -4010,9 +4335,8 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * finally: - * efree(buf) - */ -- __pyx_t_3 = PyBytes_FromStringAndSize(__pyx_v_buf, __pyx_v_nalloc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_3 = PyBytes_FromStringAndSize(__pyx_v_buf, __pyx_v_nalloc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_3); -- __Pyx_DECREF(__pyx_v_pystr); - __pyx_v_pystr = __pyx_t_3; - __pyx_t_3 = 0; - } -@@ -4029,15 +4353,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L7; -- __pyx_L6: { -+ __pyx_why = 0; goto __pyx_L5; -+ __pyx_L4: { - __pyx_why = 4; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L7; -+ goto __pyx_L5; - } -- __pyx_L7:; -+ __pyx_L5:; - __pyx_f_4h5py_5utils_efree(__pyx_v_buf); - switch (__pyx_why) { - case 4: { -@@ -4067,15 +4391,26 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5t.TypeID.encode"); -+ __Pyx_AddTraceback("h5py.h5t.TypeID.encode", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF(__pyx_v_pystr); -+ __Pyx_XDECREF(__pyx_v_pystr); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_31__reduce__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_31__reduce__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__reduce__ (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_30__reduce__(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":449 - * - * -@@ -4084,12 +4419,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_15__reduce__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_15__reduce__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_30__reduce__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("__reduce__"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__reduce__", 0); - - /* "h5py/h5t.pyx":450 - * -@@ -4099,16 +4437,16 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__encode); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__encode); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -- __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_v_self))); -- PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(__pyx_v_self))); -- __Pyx_GIVEREF(((PyObject *)Py_TYPE(__pyx_v_self))); -+ __Pyx_GOTREF(__pyx_t_1); -+ __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); -+ PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); -+ __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); - __Pyx_INCREF(((PyObject *)__pyx_k_tuple_6)); - PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_k_tuple_6)); - __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_6)); -@@ -4124,7 +4462,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeID.__reduce__"); -+ __Pyx_AddTraceback("h5py.h5t.TypeID.__reduce__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4132,6 +4470,27 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_33__setstate__(PyObject *__pyx_v_self, PyObject *__pyx_arg_state); /*proto*/ -+static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_33__setstate__(PyObject *__pyx_v_self, PyObject *__pyx_arg_state) { -+ char *__pyx_v_state; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__setstate__ (wrapper)", 0); -+ assert(__pyx_arg_state); { -+ __pyx_v_state = PyBytes_AsString(__pyx_arg_state); if (unlikely((!__pyx_v_state) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5t.TypeID.__setstate__", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_32__setstate__(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self), ((char *)__pyx_v_state)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":453 - * - * -@@ -4140,21 +4499,14 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_16__setstate__(PyObject *__pyx_v_self, PyObject *__pyx_arg_state); /*proto*/ --static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_16__setstate__(PyObject *__pyx_v_self, PyObject *__pyx_arg_state) { -- char *__pyx_v_state; -+static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_32__setstate__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, char *__pyx_v_state) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; -- __Pyx_RefNannySetupContext("__setstate__"); -- assert(__pyx_arg_state); { -- __pyx_v_state = PyBytes_AsString(__pyx_arg_state); if (unlikely((!__pyx_v_state) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeID.__setstate__"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("__setstate__", 0); - - /* "h5py/h5t.pyx":454 - * -@@ -4164,12 +4516,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tdecode(((unsigned char *)__pyx_v_state)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self)->__pyx_base.id = __pyx_t_1; -+ __pyx_v_self->__pyx_base.id = __pyx_t_1; - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeID.__setstate__"); -+ __Pyx_AddTraceback("h5py.h5t.TypeID.__setstate__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4177,6 +4529,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_11TypeArrayID_1get_array_ndims(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_11TypeArrayID_get_array_ndims[] = "() => INT rank\n\n Get the rank of the given array datatype.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_11TypeArrayID_1get_array_ndims(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_array_ndims (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_11TypeArrayID_get_array_ndims(((struct __pyx_obj_4h5py_3h5t_TypeArrayID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":466 - * - * -@@ -4185,13 +4549,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_6Ty - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_11TypeArrayID_get_array_ndims(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_11TypeArrayID_get_array_ndims[] = "() => INT rank\n\n Get the rank of the given array datatype.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_11TypeArrayID_get_array_ndims(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_11TypeArrayID_get_array_ndims(struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_array_ndims"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_array_ndims", 0); - - /* "h5py/h5t.pyx":471 - * Get the rank of the given array datatype. -@@ -4201,7 +4567,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_array_ndims(((struct __pyx_obj_4h5py_3h5t_TypeArrayID *)__pyx_v_self)->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_array_ndims(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -4212,7 +4578,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeArrayID.get_array_ndims"); -+ __Pyx_AddTraceback("h5py.h5t.TypeArrayID.get_array_ndims", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4220,6 +4586,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_11TypeArrayID_3get_array_dims(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_11TypeArrayID_2get_array_dims[] = "() => TUPLE dimensions\n\n Get the dimensions of the given array datatype as\n a tuple of integers.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_11TypeArrayID_3get_array_dims(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_array_dims (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_11TypeArrayID_2get_array_dims(((struct __pyx_obj_4h5py_3h5t_TypeArrayID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":474 - * - * -@@ -4228,16 +4606,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_11TypeArrayID_1get_array_dims(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_11TypeArrayID_1get_array_dims[] = "() => TUPLE dimensions\n\n Get the dimensions of the given array datatype as\n a tuple of integers.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_11TypeArrayID_1get_array_dims(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_11TypeArrayID_2get_array_dims(struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_v_self) { - hsize_t __pyx_v_rank; - hsize_t *__pyx_v_dims; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - void *__pyx_t_2; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("get_array_dims"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_array_dims", 0); - - /* "h5py/h5t.pyx":481 - * """ -@@ -4255,7 +4635,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - * dims = emalloc(sizeof(hsize_t)*rank) - * try: - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_array_dims(((struct __pyx_obj_4h5py_3h5t_TypeArrayID *)__pyx_v_self)->__pyx_base.__pyx_base.id, NULL, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_array_dims(__pyx_v_self->__pyx_base.__pyx_base.id, NULL, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_rank = __pyx_t_1; - - /* "h5py/h5t.pyx":484 -@@ -4284,7 +4664,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - * return convert_dims(dims, rank) - * finally: - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_array_dims(((struct __pyx_obj_4h5py_3h5t_TypeArrayID *)__pyx_v_self)->__pyx_base.__pyx_base.id, __pyx_v_dims, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_array_dims(__pyx_v_self->__pyx_base.__pyx_base.id, __pyx_v_dims, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L4;} - - /* "h5py/h5t.pyx":487 - * try: -@@ -4294,11 +4674,11 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - * efree(dims) - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_3 = __pyx_f_4h5py_5utils_convert_dims(__pyx_v_dims, __pyx_v_rank); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_3 = __pyx_f_4h5py_5utils_convert_dims(__pyx_v_dims, __pyx_v_rank); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; -- goto __pyx_L5; -+ goto __pyx_L3; - } - - /* "h5py/h5t.pyx":489 -@@ -4313,17 +4693,17 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L7; -- __pyx_L5: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 3; goto __pyx_L7; -- __pyx_L6: { -+ __pyx_why = 0; goto __pyx_L5; -+ __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -+ __pyx_why = 3; goto __pyx_L5; -+ __pyx_L4: { - __pyx_why = 4; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L7; -+ goto __pyx_L5; - } -- __pyx_L7:; -+ __pyx_L5:; - __pyx_f_4h5py_5utils_efree(__pyx_v_dims); - switch (__pyx_why) { - case 3: goto __pyx_L0; -@@ -4342,7 +4722,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5t.TypeArrayID.get_array_dims"); -+ __Pyx_AddTraceback("h5py.h5t.TypeArrayID.get_array_dims", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4358,17 +4738,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - * cdef TypeID tmp_type - */ - --static PyObject *__pyx_f_4h5py_3h5t_11TypeArrayID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_v_self) { -- struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tmp_type; -- PyObject *__pyx_v_base_dtype; -- PyObject *__pyx_v_shape; -+static PyObject *__pyx_f_4h5py_3h5t_11TypeArrayID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_v_self) { -+ struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tmp_type = 0; -+ PyObject *__pyx_v_base_dtype = NULL; -+ PyObject *__pyx_v_shape = NULL; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("py_dtype"); -- __pyx_v_tmp_type = ((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None); __Pyx_INCREF(Py_None); -- __pyx_v_base_dtype = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v_shape = Py_None; __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("py_dtype", 0); - - /* "h5py/h5t.pyx":494 - * # Numpy translation function for array types -@@ -4383,7 +4764,6 @@ static PyObject *__pyx_f_4h5py_3h5t_11T - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(((PyObject *)__pyx_v_tmp_type)); - __pyx_v_tmp_type = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_2); - __pyx_t_2 = 0; - -@@ -4396,7 +4776,6 @@ static PyObject *__pyx_f_4h5py_3h5t_11T - */ - __pyx_t_2 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeID *)__pyx_v_tmp_type->__pyx_vtab)->py_dtype(__pyx_v_tmp_type); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __Pyx_DECREF(__pyx_v_base_dtype); - __pyx_v_base_dtype = __pyx_t_2; - __pyx_t_2 = 0; - -@@ -4412,7 +4791,6 @@ static PyObject *__pyx_f_4h5py_3h5t_11T - __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(__pyx_v_shape); - __pyx_v_shape = __pyx_t_1; - __pyx_t_1 = 0; - -@@ -4425,7 +4803,7 @@ static PyObject *__pyx_f_4h5py_3h5t_11T - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -+ __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_base_dtype); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_base_dtype); - __Pyx_GIVEREF(__pyx_v_base_dtype); -@@ -4433,7 +4811,7 @@ static PyObject *__pyx_f_4h5py_3h5t_11T - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_shape); - __Pyx_GIVEREF(__pyx_v_shape); - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -+ __Pyx_GOTREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_1)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_1)); - __pyx_t_1 = 0; -@@ -4449,41 +4827,55 @@ static PyObject *__pyx_f_4h5py_3h5t_11T - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeArrayID.py_dtype"); -+ __Pyx_AddTraceback("h5py.h5t.TypeArrayID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_tmp_type); -- __Pyx_DECREF(__pyx_v_base_dtype); -- __Pyx_DECREF(__pyx_v_shape); -+ __Pyx_XDECREF((PyObject *)__pyx_v_tmp_type); -+ __Pyx_XDECREF(__pyx_v_base_dtype); -+ __Pyx_XDECREF(__pyx_v_shape); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - --/* "h5py/h5t.pyx":509 -- * -- * -- * def set_tag(self, char* tag): # <<<<<<<<<<<<<< -- * """(STRING tag) -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5t_12TypeOpaqueID_set_tag(PyObject *__pyx_v_self, PyObject *__pyx_arg_tag); /*proto*/ -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeOpaqueID_1set_tag(PyObject *__pyx_v_self, PyObject *__pyx_arg_tag); /*proto*/ - static char __pyx_doc_4h5py_3h5t_12TypeOpaqueID_set_tag[] = "(STRING tag)\n\n Set a string describing the contents of an opaque datatype.\n Limited to 256 characters.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_12TypeOpaqueID_set_tag(PyObject *__pyx_v_self, PyObject *__pyx_arg_tag) { -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeOpaqueID_1set_tag(PyObject *__pyx_v_self, PyObject *__pyx_arg_tag) { - char *__pyx_v_tag; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_tag"); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_tag (wrapper)", 0); - assert(__pyx_arg_tag); { - __pyx_v_tag = PyBytes_AsString(__pyx_arg_tag); if (unlikely((!__pyx_v_tag) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeOpaqueID.set_tag"); -+ __Pyx_AddTraceback("h5py.h5t.TypeOpaqueID.set_tag", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_12TypeOpaqueID_set_tag(((struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *)__pyx_v_self), ((char *)__pyx_v_tag)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5t.pyx":509 -+ * -+ * -+ * def set_tag(self, char* tag): # <<<<<<<<<<<<<< -+ * """(STRING tag) -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeOpaqueID_set_tag(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_v_self, char *__pyx_v_tag) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_tag", 0); - - /* "h5py/h5t.pyx":515 - * Limited to 256 characters. -@@ -4492,12 +4884,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_tag(((struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *)__pyx_v_self)->__pyx_base.__pyx_base.id, __pyx_v_tag); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_tag(__pyx_v_self->__pyx_base.__pyx_base.id, __pyx_v_tag); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeOpaqueID.set_tag"); -+ __Pyx_AddTraceback("h5py.h5t.TypeOpaqueID.set_tag", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4505,6 +4897,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeOpaqueID_3get_tag(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_12TypeOpaqueID_2get_tag[] = "() => STRING tag\n\n Get the tag associated with an opaque datatype.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeOpaqueID_3get_tag(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_tag (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_12TypeOpaqueID_2get_tag(((struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":518 - * - * -@@ -4513,15 +4917,17 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_12TypeOpaqueID_1get_tag(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_12TypeOpaqueID_1get_tag[] = "() => STRING tag\n\n Get the tag associated with an opaque datatype.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_12TypeOpaqueID_1get_tag(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeOpaqueID_2get_tag(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_v_self) { - char *__pyx_v_buf; - char *__pyx_v_tag; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - char *__pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_tag"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_tag", 0); - - /* "h5py/h5t.pyx":523 - * Get the tag associated with an opaque datatype. -@@ -4548,7 +4954,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * assert buf != NULL - * tag = buf - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_tag(((struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *)__pyx_v_self)->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_tag(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L4;} - __pyx_v_buf = __pyx_t_1; - - /* "h5py/h5t.pyx":527 -@@ -4561,7 +4967,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!(__pyx_v_buf != NULL))) { - PyErr_SetNone(PyExc_AssertionError); -- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L4;} - } - #endif - -@@ -4582,11 +4988,11 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * free(buf) - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_2 = PyBytes_FromString(__pyx_v_tag); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L6;} -+ __pyx_t_2 = PyBytes_FromString(__pyx_v_tag); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L4;} - __Pyx_GOTREF(((PyObject *)__pyx_t_2)); - __pyx_r = ((PyObject *)__pyx_t_2); - __pyx_t_2 = 0; -- goto __pyx_L5; -+ goto __pyx_L3; - } - - /* "h5py/h5t.pyx":531 -@@ -4601,17 +5007,17 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L7; -- __pyx_L5: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 3; goto __pyx_L7; -- __pyx_L6: { -+ __pyx_why = 0; goto __pyx_L5; -+ __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -+ __pyx_why = 3; goto __pyx_L5; -+ __pyx_L4: { - __pyx_why = 4; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L7; -+ goto __pyx_L5; - } -- __pyx_L7:; -+ __pyx_L5:; - free(__pyx_v_buf); - switch (__pyx_why) { - case 3: goto __pyx_L0; -@@ -4630,7 +5036,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeOpaqueID.get_tag"); -+ __Pyx_AddTraceback("h5py.h5t.TypeOpaqueID.get_tag", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4646,11 +5052,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * return dtype("|V" + str(self.get_size())) - */ - --static PyObject *__pyx_f_4h5py_3h5t_12TypeOpaqueID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_v_self) { -+static PyObject *__pyx_f_4h5py_3h5t_12TypeOpaqueID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("py_dtype"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("py_dtype", 0); - - /* "h5py/h5t.pyx":535 - * cdef object py_dtype(self): -@@ -4666,7 +5076,7 @@ static PyObject *__pyx_f_4h5py_3h5t_12T - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -+ __Pyx_GOTREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; -@@ -4677,7 +5087,7 @@ static PyObject *__pyx_f_4h5py_3h5t_12T - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -+ __Pyx_GOTREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_t_1 = 0; -@@ -4693,7 +5103,7 @@ static PyObject *__pyx_f_4h5py_3h5t_12T - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeOpaqueID.py_dtype"); -+ __Pyx_AddTraceback("h5py.h5t.TypeOpaqueID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4701,6 +5111,18 @@ static PyObject *__pyx_f_4h5py_3h5t_12T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_1is_variable_str(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_12TypeStringID_is_variable_str[] = "() => BOOL is_variable\n\n Determine if the given string datatype is a variable-length string.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_1is_variable_str(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("is_variable_str (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_12TypeStringID_is_variable_str(((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":544 - * - * -@@ -4709,13 +5131,15 @@ static PyObject *__pyx_f_4h5py_3h5t_12T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_is_variable_str(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_12TypeStringID_is_variable_str[] = "() => BOOL is_variable\n\n Determine if the given string datatype is a variable-length string.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_is_variable_str(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_is_variable_str(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - htri_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("is_variable_str"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("is_variable_str", 0); - - /* "h5py/h5t.pyx":549 - * Determine if the given string datatype is a variable-length string. -@@ -4725,7 +5149,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tis_variable_str(((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_v_self)->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tis_variable_str(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -4736,7 +5160,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeStringID.is_variable_str"); -+ __Pyx_AddTraceback("h5py.h5t.TypeStringID.is_variable_str", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4744,6 +5168,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_3get_cset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_12TypeStringID_2get_cset[] = "() => INT character_set\n\n Retrieve the character set used for a string.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_3get_cset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_cset (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_12TypeStringID_2get_cset(((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":552 - * - * -@@ -4752,13 +5188,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_1get_cset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_12TypeStringID_1get_cset[] = "() => INT character_set\n\n Retrieve the character set used for a string.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_1get_cset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_2get_cset(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - H5T_cset_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_cset"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_cset", 0); - - /* "h5py/h5t.pyx":557 - * Retrieve the character set used for a string. -@@ -4768,7 +5206,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_cset(((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_v_self)->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_cset(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -4779,7 +5217,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeStringID.get_cset"); -+ __Pyx_AddTraceback("h5py.h5t.TypeStringID.get_cset", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4787,6 +5225,28 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_5set_cset(PyObject *__pyx_v_self, PyObject *__pyx_arg_cset); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_12TypeStringID_4set_cset[] = "(INT character_set)\n\n Set the character set used for a string.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_5set_cset(PyObject *__pyx_v_self, PyObject *__pyx_arg_cset) { -+ int __pyx_v_cset; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_cset (wrapper)", 0); -+ assert(__pyx_arg_cset); { -+ __pyx_v_cset = __Pyx_PyInt_AsInt(__pyx_arg_cset); if (unlikely((__pyx_v_cset == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5t.TypeStringID.set_cset", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_12TypeStringID_4set_cset(((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_v_self), ((int)__pyx_v_cset)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":560 - * - * -@@ -4795,22 +5255,14 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_2set_cset(PyObject *__pyx_v_self, PyObject *__pyx_arg_cset); /*proto*/ --static char __pyx_doc_4h5py_3h5t_12TypeStringID_2set_cset[] = "(INT character_set)\n\n Set the character set used for a string.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_2set_cset(PyObject *__pyx_v_self, PyObject *__pyx_arg_cset) { -- int __pyx_v_cset; -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_4set_cset(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self, int __pyx_v_cset) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_cset"); -- assert(__pyx_arg_cset); { -- __pyx_v_cset = __Pyx_PyInt_AsInt(__pyx_arg_cset); if (unlikely((__pyx_v_cset == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeStringID.set_cset"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_cset", 0); - - /* "h5py/h5t.pyx":565 - * Set the character set used for a string. -@@ -4819,12 +5271,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_cset(((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_v_self)->__pyx_base.__pyx_base.id, ((H5T_cset_t)__pyx_v_cset)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_cset(__pyx_v_self->__pyx_base.__pyx_base.id, ((H5T_cset_t)__pyx_v_cset)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeStringID.set_cset"); -+ __Pyx_AddTraceback("h5py.h5t.TypeStringID.set_cset", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4832,6 +5284,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_7get_strpad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_12TypeStringID_6get_strpad[] = "() => INT padding_type\n\n Get the padding type. Legal values are:\n\n STR_NULLTERM\n NULL termination only (C style)\n\n STR_NULLPAD\n Pad buffer with NULLs\n\n STR_SPACEPAD\n Pad buffer with spaces (FORTRAN style)\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_7get_strpad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_strpad (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_12TypeStringID_6get_strpad(((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":568 - * - * -@@ -4840,13 +5304,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_3get_strpad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_12TypeStringID_3get_strpad[] = "() => INT padding_type\n\n Get the padding type. Legal values are:\n\n STR_NULLTERM\n NULL termination only (C style)\n\n STR_NULLPAD\n Pad buffer with NULLs\n\n STR_SPACEPAD\n Pad buffer with spaces (FORTRAN style)\n "; --static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_3get_strpad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_6get_strpad(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - H5T_str_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_strpad"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_strpad", 0); - - /* "h5py/h5t.pyx":582 - * Pad buffer with spaces (FORTRAN style) -@@ -4856,7 +5322,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_strpad(((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_v_self)->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_strpad(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -4867,7 +5333,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeStringID.get_strpad"); -+ __Pyx_AddTraceback("h5py.h5t.TypeStringID.get_strpad", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4875,6 +5341,28 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_9set_strpad(PyObject *__pyx_v_self, PyObject *__pyx_arg_pad); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_12TypeStringID_8set_strpad[] = "(INT pad)\n\n Set the padding type. Legal values are:\n\n STR_NULLTERM\n NULL termination only (C style)\n\n STR_NULLPAD\n Pad buffer with NULLs\n\n STR_SPACEPAD\n Pad buffer with spaces (FORTRAN style)\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_9set_strpad(PyObject *__pyx_v_self, PyObject *__pyx_arg_pad) { -+ int __pyx_v_pad; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_strpad (wrapper)", 0); -+ assert(__pyx_arg_pad); { -+ __pyx_v_pad = __Pyx_PyInt_AsInt(__pyx_arg_pad); if (unlikely((__pyx_v_pad == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5t.TypeStringID.set_strpad", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_12TypeStringID_8set_strpad(((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_v_self), ((int)__pyx_v_pad)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":585 - * - * -@@ -4883,22 +5371,14 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_4set_strpad(PyObject *__pyx_v_self, PyObject *__pyx_arg_pad); /*proto*/ --static char __pyx_doc_4h5py_3h5t_12TypeStringID_4set_strpad[] = "(INT pad)\n\n Set the padding type. Legal values are:\n\n STR_NULLTERM\n NULL termination only (C style)\n\n STR_NULLPAD\n Pad buffer with NULLs\n\n STR_SPACEPAD\n Pad buffer with spaces (FORTRAN style)\n "; --static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_4set_strpad(PyObject *__pyx_v_self, PyObject *__pyx_arg_pad) { -- int __pyx_v_pad; -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_8set_strpad(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self, int __pyx_v_pad) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_strpad"); -- assert(__pyx_arg_pad); { -- __pyx_v_pad = __Pyx_PyInt_AsInt(__pyx_arg_pad); if (unlikely((__pyx_v_pad == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeStringID.set_strpad"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_strpad", 0); - - /* "h5py/h5t.pyx":599 - * Pad buffer with spaces (FORTRAN style) -@@ -4907,12 +5387,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - * cdef object py_dtype(self): - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_strpad(((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_v_self)->__pyx_base.__pyx_base.id, ((H5T_str_t)__pyx_v_pad)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_strpad(__pyx_v_self->__pyx_base.__pyx_base.id, ((H5T_str_t)__pyx_v_pad)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeStringID.set_strpad"); -+ __Pyx_AddTraceback("h5py.h5t.TypeStringID.set_strpad", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -4928,13 +5408,17 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * if self.is_variable_str(): - */ - --static PyObject *__pyx_f_4h5py_3h5t_12TypeStringID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self) { -+static PyObject *__pyx_f_4h5py_3h5t_12TypeStringID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; -- __Pyx_RefNannySetupContext("py_dtype"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("py_dtype", 0); - - /* "h5py/h5t.pyx":603 - * cdef object py_dtype(self): -@@ -4966,8 +5450,7 @@ static PyObject *__pyx_f_4h5py_3h5t_12T - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromLong(H5T_CSET_ASCII); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -+ __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -4987,7 +5470,7 @@ static PyObject *__pyx_f_4h5py_3h5t_12T - __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_2)); - if (PyDict_SetItem(__pyx_t_2, ((PyObject *)__pyx_n_s__vlen), ((PyObject *)((PyObject*)(&PyBytes_Type)))) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __pyx_t_1 = PyEval_CallObjectWithKeywords(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; -@@ -5011,8 +5494,7 @@ static PyObject *__pyx_f_4h5py_3h5t_12T - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyInt_FromLong(H5T_CSET_UTF8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_1, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -+ __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -5032,7 +5514,7 @@ static PyObject *__pyx_f_4h5py_3h5t_12T - __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__vlen), ((PyObject *)((PyObject*)(&PyUnicode_Type)))) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __pyx_t_2 = PyEval_CallObjectWithKeywords(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; -@@ -5059,14 +5541,14 @@ static PyObject *__pyx_f_4h5py_3h5t_12T - __Pyx_GOTREF(((PyObject *)__pyx_t_2)); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -+ __Pyx_GOTREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_t_2)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_2)); - __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; -- __Pyx_Raise(__pyx_t_2, 0, 0); -+ __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } -@@ -5089,7 +5571,7 @@ static PyObject *__pyx_f_4h5py_3h5t_12T - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -+ __Pyx_GOTREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_t_1 = 0; -@@ -5100,7 +5582,7 @@ static PyObject *__pyx_f_4h5py_3h5t_12T - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -+ __Pyx_GOTREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; -@@ -5117,7 +5599,7 @@ static PyObject *__pyx_f_4h5py_3h5t_12T - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5t.TypeStringID.py_dtype"); -+ __Pyx_AddTraceback("h5py.h5t.TypeStringID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5133,13 +5615,17 @@ static PyObject *__pyx_f_4h5py_3h5t_12T - * return special_dtype(ref=Reference) - */ - --static PyObject *__pyx_f_4h5py_3h5t_15TypeReferenceID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeReferenceID *__pyx_v_self) { -+static PyObject *__pyx_f_4h5py_3h5t_15TypeReferenceID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeReferenceID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - htri_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; -- __Pyx_RefNannySetupContext("py_dtype"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("py_dtype", 0); - - /* "h5py/h5t.pyx":641 - * -@@ -5164,7 +5650,7 @@ static PyObject *__pyx_f_4h5py_3h5t_15T - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - if (PyDict_SetItem(__pyx_t_3, ((PyObject *)__pyx_n_s__ref), ((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5r_Reference))) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __pyx_t_4 = PyEval_CallObjectWithKeywords(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; -@@ -5197,7 +5683,7 @@ static PyObject *__pyx_f_4h5py_3h5t_15T - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - if (PyDict_SetItem(__pyx_t_3, ((PyObject *)__pyx_n_s__ref), ((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5r_RegionReference))) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __pyx_t_2 = PyEval_CallObjectWithKeywords(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; -@@ -5217,7 +5703,7 @@ static PyObject *__pyx_f_4h5py_3h5t_15T - */ - __pyx_t_2 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_11), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __Pyx_Raise(__pyx_t_2, 0, 0); -+ __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } -@@ -5229,7 +5715,7 @@ static PyObject *__pyx_f_4h5py_3h5t_15T - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5t.TypeReferenceID.py_dtype"); -+ __Pyx_AddTraceback("h5py.h5t.TypeReferenceID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5237,6 +5723,18 @@ static PyObject *__pyx_f_4h5py_3h5t_15T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_1get_order(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_get_order[] = "() => INT order\n\n Obtain the byte order of the datatype; one of:\n\n - ORDER_LE\n - ORDER_BE\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_1get_order(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_order (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_get_order(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":658 - * - * -@@ -5245,13 +5743,15 @@ static PyObject *__pyx_f_4h5py_3h5t_15T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_get_order(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_get_order[] = "() => INT order\n\n Obtain the byte order of the datatype; one of:\n\n - ORDER_LE\n - ORDER_BE\n "; --static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_get_order(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_get_order(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - H5T_order_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_order"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_order", 0); - - /* "h5py/h5t.pyx":666 - * - ORDER_BE -@@ -5261,7 +5761,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_order(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self)->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_order(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -5272,7 +5772,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.get_order"); -+ __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.get_order", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5280,6 +5780,28 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_3set_order(PyObject *__pyx_v_self, PyObject *__pyx_arg_order); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_2set_order[] = "(INT order)\n\n Set the byte order of the datatype; one of:\n\n - ORDER_LE\n - ORDER_BE\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_3set_order(PyObject *__pyx_v_self, PyObject *__pyx_arg_order) { -+ int __pyx_v_order; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_order (wrapper)", 0); -+ assert(__pyx_arg_order); { -+ __pyx_v_order = __Pyx_PyInt_AsInt(__pyx_arg_order); if (unlikely((__pyx_v_order == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 669; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_order", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_2set_order(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self), ((int)__pyx_v_order)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":669 - * - * -@@ -5288,22 +5810,14 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_1set_order(PyObject *__pyx_v_self, PyObject *__pyx_arg_order); /*proto*/ --static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_1set_order[] = "(INT order)\n\n Set the byte order of the datatype; one of:\n\n - ORDER_LE\n - ORDER_BE\n "; --static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_1set_order(PyObject *__pyx_v_self, PyObject *__pyx_arg_order) { -- int __pyx_v_order; -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_2set_order(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, int __pyx_v_order) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_order"); -- assert(__pyx_arg_order); { -- __pyx_v_order = __Pyx_PyInt_AsInt(__pyx_arg_order); if (unlikely((__pyx_v_order == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 669; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_order"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_order", 0); - - /* "h5py/h5t.pyx":677 - * - ORDER_BE -@@ -5312,12 +5826,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_order(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self)->__pyx_base.__pyx_base.id, ((H5T_order_t)__pyx_v_order)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_order(__pyx_v_self->__pyx_base.__pyx_base.id, ((H5T_order_t)__pyx_v_order)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_order"); -+ __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_order", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5325,6 +5839,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_5get_precision(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_4get_precision[] = "() => UINT precision\n\n Get the number of significant bits (excludes padding).\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_5get_precision(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_precision (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_4get_precision(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":680 - * - * -@@ -5333,13 +5859,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_2get_precision(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_2get_precision[] = "() => UINT precision\n\n Get the number of significant bits (excludes padding).\n "; --static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_2get_precision(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_4get_precision(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hsize_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_precision"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_precision", 0); - - /* "h5py/h5t.pyx":685 - * Get the number of significant bits (excludes padding). -@@ -5349,7 +5877,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_precision(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self)->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_precision(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyInt_to_py_hsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -5360,7 +5888,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.get_precision"); -+ __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.get_precision", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5368,6 +5896,28 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_7set_precision(PyObject *__pyx_v_self, PyObject *__pyx_arg_precision); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_6set_precision[] = "(UINT precision)\n \n Set the number of significant bits (excludes padding).\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_7set_precision(PyObject *__pyx_v_self, PyObject *__pyx_arg_precision) { -+ size_t __pyx_v_precision; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_precision (wrapper)", 0); -+ assert(__pyx_arg_precision); { -+ __pyx_v_precision = __Pyx_PyInt_AsSize_t(__pyx_arg_precision); if (unlikely((__pyx_v_precision == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_precision", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_6set_precision(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self), ((size_t)__pyx_v_precision)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":688 - * - * -@@ -5376,22 +5926,14 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_3set_precision(PyObject *__pyx_v_self, PyObject *__pyx_arg_precision); /*proto*/ --static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_3set_precision[] = "(UINT precision)\n \n Set the number of significant bits (excludes padding).\n "; --static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_3set_precision(PyObject *__pyx_v_self, PyObject *__pyx_arg_precision) { -- size_t __pyx_v_precision; -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_6set_precision(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, size_t __pyx_v_precision) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_precision"); -- assert(__pyx_arg_precision); { -- __pyx_v_precision = __Pyx_PyInt_AsSize_t(__pyx_arg_precision); if (unlikely((__pyx_v_precision == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_precision"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_precision", 0); - - /* "h5py/h5t.pyx":693 - * Set the number of significant bits (excludes padding). -@@ -5400,12 +5942,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_precision(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self)->__pyx_base.__pyx_base.id, __pyx_v_precision); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_precision(__pyx_v_self->__pyx_base.__pyx_base.id, __pyx_v_precision); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_precision"); -+ __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_precision", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5413,6 +5955,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_9get_offset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_8get_offset[] = "() => INT offset\n\n Get the offset of the first significant bit.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_9get_offset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_offset (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_8get_offset(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":696 - * - * -@@ -5421,13 +5975,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_4get_offset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_4get_offset[] = "() => INT offset\n\n Get the offset of the first significant bit.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_4get_offset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_8get_offset(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_offset"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_offset", 0); - - /* "h5py/h5t.pyx":701 - * Get the offset of the first significant bit. -@@ -5437,7 +5993,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_offset(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self)->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_offset(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -5448,7 +6004,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.get_offset"); -+ __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.get_offset", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5456,30 +6012,44 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - return __pyx_r; - } - --/* "h5py/h5t.pyx":704 -- * -- * -- * def set_offset(self, size_t offset): # <<<<<<<<<<<<<< -- * """(UINT offset) -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_5set_offset(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset); /*proto*/ --static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_5set_offset[] = "(UINT offset)\n\n Set the offset of the first significant bit.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_5set_offset(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_11set_offset(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_10set_offset[] = "(UINT offset)\n\n Set the offset of the first significant bit.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_11set_offset(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset) { - size_t __pyx_v_offset; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_offset"); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_offset (wrapper)", 0); - assert(__pyx_arg_offset); { - __pyx_v_offset = __Pyx_PyInt_AsSize_t(__pyx_arg_offset); if (unlikely((__pyx_v_offset == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_offset"); -+ __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_offset", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_10set_offset(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self), ((size_t)__pyx_v_offset)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5t.pyx":704 -+ * -+ * -+ * def set_offset(self, size_t offset): # <<<<<<<<<<<<<< -+ * """(UINT offset) -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_10set_offset(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, size_t __pyx_v_offset) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_offset", 0); - - /* "h5py/h5t.pyx":709 - * Set the offset of the first significant bit. -@@ -5488,12 +6058,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_offset(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self)->__pyx_base.__pyx_base.id, __pyx_v_offset); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_offset(__pyx_v_self->__pyx_base.__pyx_base.id, __pyx_v_offset); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_offset"); -+ __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_offset", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5501,6 +6071,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_13get_pad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_12get_pad[] = "() => (INT lsb_pad_code, INT msb_pad_code)\n\n Determine the padding type. Possible values are:\n\n - PAD_ZERO\n - PAD_ONE\n - PAD_BACKGROUND\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_13get_pad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_pad (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_12get_pad(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":712 - * - * -@@ -5509,17 +6091,19 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_6get_pad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_6get_pad[] = "() => (INT lsb_pad_code, INT msb_pad_code)\n\n Determine the padding type. Possible values are:\n\n - PAD_ZERO\n - PAD_ONE\n - PAD_BACKGROUND\n "; --static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_6get_pad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_12get_pad(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self) { - H5T_pad_t __pyx_v_lsb; - H5T_pad_t __pyx_v_msb; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; -- __Pyx_RefNannySetupContext("get_pad"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_pad", 0); - - /* "h5py/h5t.pyx":723 - * cdef H5T_pad_t lsb -@@ -5528,7 +6112,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * return (lsb, msb) - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_pad(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self)->__pyx_base.__pyx_base.id, (&__pyx_v_lsb), (&__pyx_v_msb)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_pad(__pyx_v_self->__pyx_base.__pyx_base.id, (&__pyx_v_lsb), (&__pyx_v_msb)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5t.pyx":724 - * cdef H5T_pad_t msb -@@ -5543,7 +6127,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - __pyx_t_3 = PyInt_FromLong(((int)__pyx_v_msb)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); -@@ -5560,7 +6144,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.get_pad"); -+ __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.get_pad", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5568,63 +6152,79 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - return __pyx_r; - } - --/* "h5py/h5t.pyx":727 -- * -- * -- * def set_pad(self, int lsb, int msb): # <<<<<<<<<<<<<< -- * """(INT lsb_pad_code, INT msb_pad_code) -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_7set_pad(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_7set_pad[] = "(INT lsb_pad_code, INT msb_pad_code)\n\n Set the padding type. Possible values are:\n\n - PAD_ZERO\n - PAD_ONE\n - PAD_BACKGROUND\n "; --static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_7set_pad(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_15set_pad(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_14set_pad[] = "(INT lsb_pad_code, INT msb_pad_code)\n\n Set the padding type. Possible values are:\n\n - PAD_ZERO\n - PAD_ONE\n - PAD_BACKGROUND\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_15set_pad(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - int __pyx_v_lsb; - int __pyx_v_msb; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__lsb,&__pyx_n_s__msb,0}; -- __Pyx_RefNannySetupContext("set_pad"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_pad (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__lsb,&__pyx_n_s__msb,0}; - PyObject* values[2] = {0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lsb); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__msb); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("set_pad", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "set_pad") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lsb)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__msb)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("set_pad", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_pad") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_lsb = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_lsb == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_msb = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_msb == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_lsb = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_lsb == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_msb = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_msb == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("set_pad", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_pad"); -+ __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_pad", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_14set_pad(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self), __pyx_v_lsb, __pyx_v_msb); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5t.pyx":727 -+ * -+ * -+ * def set_pad(self, int lsb, int msb): # <<<<<<<<<<<<<< -+ * """(INT lsb_pad_code, INT msb_pad_code) -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_14set_pad(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, int __pyx_v_lsb, int __pyx_v_msb) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_pad", 0); - - /* "h5py/h5t.pyx":736 - * - PAD_BACKGROUND -@@ -5633,12 +6233,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_pad(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self)->__pyx_base.__pyx_base.id, ((H5T_pad_t)__pyx_v_lsb), ((H5T_pad_t)__pyx_v_msb)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_pad(__pyx_v_self->__pyx_base.__pyx_base.id, ((H5T_pad_t)__pyx_v_lsb), ((H5T_pad_t)__pyx_v_msb)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_pad"); -+ __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_pad", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5646,6 +6246,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_13TypeIntegerID_1get_sign(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_13TypeIntegerID_get_sign[] = "() => INT sign\n\n Get the \"signedness\" of the datatype; one of:\n\n SGN_NONE\n Unsigned\n\n SGN_2\n Signed 2's complement\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_13TypeIntegerID_1get_sign(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_sign (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_13TypeIntegerID_get_sign(((struct __pyx_obj_4h5py_3h5t_TypeIntegerID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":746 - * - * -@@ -5654,13 +6266,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_12T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_13TypeIntegerID_get_sign(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_13TypeIntegerID_get_sign[] = "() => INT sign\n\n Get the \"signedness\" of the datatype; one of:\n\n SGN_NONE\n Unsigned\n\n SGN_2\n Signed 2's complement\n "; --static PyObject *__pyx_pf_4h5py_3h5t_13TypeIntegerID_get_sign(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_13TypeIntegerID_get_sign(struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - H5T_sign_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_sign"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_sign", 0); - - /* "h5py/h5t.pyx":757 - * Signed 2's complement -@@ -5670,7 +6284,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_13T - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_sign(((struct __pyx_obj_4h5py_3h5t_TypeIntegerID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_sign(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -5681,7 +6295,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_13T - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeIntegerID.get_sign"); -+ __Pyx_AddTraceback("h5py.h5t.TypeIntegerID.get_sign", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5689,6 +6303,28 @@ static PyObject *__pyx_pf_4h5py_3h5t_13T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_13TypeIntegerID_3set_sign(PyObject *__pyx_v_self, PyObject *__pyx_arg_sign); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_13TypeIntegerID_2set_sign[] = "(INT sign)\n\n Set the \"signedness\" of the datatype; one of:\n\n SGN_NONE\n Unsigned\n\n SGN_2\n Signed 2's complement\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_13TypeIntegerID_3set_sign(PyObject *__pyx_v_self, PyObject *__pyx_arg_sign) { -+ int __pyx_v_sign; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_sign (wrapper)", 0); -+ assert(__pyx_arg_sign); { -+ __pyx_v_sign = __Pyx_PyInt_AsInt(__pyx_arg_sign); if (unlikely((__pyx_v_sign == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5t.TypeIntegerID.set_sign", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_13TypeIntegerID_2set_sign(((struct __pyx_obj_4h5py_3h5t_TypeIntegerID *)__pyx_v_self), ((int)__pyx_v_sign)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":760 - * - * -@@ -5697,22 +6333,14 @@ static PyObject *__pyx_pf_4h5py_3h5t_13T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_13TypeIntegerID_1set_sign(PyObject *__pyx_v_self, PyObject *__pyx_arg_sign); /*proto*/ --static char __pyx_doc_4h5py_3h5t_13TypeIntegerID_1set_sign[] = "(INT sign)\n\n Set the \"signedness\" of the datatype; one of:\n\n SGN_NONE\n Unsigned\n\n SGN_2\n Signed 2's complement\n "; --static PyObject *__pyx_pf_4h5py_3h5t_13TypeIntegerID_1set_sign(PyObject *__pyx_v_self, PyObject *__pyx_arg_sign) { -- int __pyx_v_sign; -+static PyObject *__pyx_pf_4h5py_3h5t_13TypeIntegerID_2set_sign(struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_v_self, int __pyx_v_sign) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_sign"); -- assert(__pyx_arg_sign); { -- __pyx_v_sign = __Pyx_PyInt_AsInt(__pyx_arg_sign); if (unlikely((__pyx_v_sign == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeIntegerID.set_sign"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_sign", 0); - - /* "h5py/h5t.pyx":771 - * Signed 2's complement -@@ -5721,12 +6349,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_13T - * - * cdef object py_dtype(self): - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_sign(((struct __pyx_obj_4h5py_3h5t_TypeIntegerID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, ((H5T_sign_t)__pyx_v_sign)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_sign(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, ((H5T_sign_t)__pyx_v_sign)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeIntegerID.set_sign"); -+ __Pyx_AddTraceback("h5py.h5t.TypeIntegerID.set_sign", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5742,12 +6370,16 @@ static PyObject *__pyx_pf_4h5py_3h5t_13T - * return dtype( _order_map[self.get_order()] + - */ - --static PyObject *__pyx_f_4h5py_3h5t_13TypeIntegerID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_v_self) { -+static PyObject *__pyx_f_4h5py_3h5t_13TypeIntegerID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("py_dtype"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("py_dtype", 0); - - /* "h5py/h5t.pyx":775 - * cdef object py_dtype(self): -@@ -5765,8 +6397,10 @@ static PyObject *__pyx_f_4h5py_3h5t_13T - * - * - */ -- __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_order); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -+ if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__order_map) == Py_None)) { -+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } - - /* "h5py/h5t.pyx":775 - * cdef object py_dtype(self): -@@ -5775,6 +6409,8 @@ static PyObject *__pyx_f_4h5py_3h5t_13T - * _sign_map[self.get_sign()] + str(self.get_size()) ) - * - */ -+ __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_order); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -@@ -5789,6 +6425,10 @@ static PyObject *__pyx_f_4h5py_3h5t_13T - * - * - */ -+ if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__sign_map) == Py_None)) { -+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } - __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_sign); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -5807,7 +6447,7 @@ static PyObject *__pyx_f_4h5py_3h5t_13T - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -+ __Pyx_GOTREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_t_1 = 0; -@@ -5819,7 +6459,7 @@ static PyObject *__pyx_f_4h5py_3h5t_13T - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -+ __Pyx_GOTREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; -@@ -5836,7 +6476,7 @@ static PyObject *__pyx_f_4h5py_3h5t_13T - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5t.TypeIntegerID.py_dtype"); -+ __Pyx_AddTraceback("h5py.h5t.TypeIntegerID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5844,6 +6484,18 @@ static PyObject *__pyx_f_4h5py_3h5t_13T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_1get_fields(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_11TypeFloatID_get_fields[] = "() => TUPLE field_info\n\n Get information about floating-point bit fields. See the HDF5\n docs for a full description. Tuple has the following members:\n\n 0. UINT spos\n 1. UINT epos\n 2. UINT esize\n 3. UINT mpos\n 4. UINT msize\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_1get_fields(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_fields (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_get_fields(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":786 - * - * -@@ -5852,15 +6504,14 @@ static PyObject *__pyx_f_4h5py_3h5t_13T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_get_fields(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_11TypeFloatID_get_fields[] = "() => TUPLE field_info\n\n Get information about floating-point bit fields. See the HDF5\n docs for a full description. Tuple has the following members:\n\n 0. UINT spos\n 1. UINT epos\n 2. UINT esize\n 3. UINT mpos\n 4. UINT msize\n "; --static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_get_fields(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_get_fields(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self) { - size_t __pyx_v_spos; - size_t __pyx_v_epos; - size_t __pyx_v_esize; - size_t __pyx_v_mpos; - size_t __pyx_v_msize; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; -@@ -5868,7 +6519,10 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; -- __Pyx_RefNannySetupContext("get_fields"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_fields", 0); - - /* "h5py/h5t.pyx":799 - * """ -@@ -5877,7 +6531,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - * return (spos, epos, esize, mpos, msize) - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_fields(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_spos), (&__pyx_v_epos), (&__pyx_v_esize), (&__pyx_v_mpos), (&__pyx_v_msize)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_fields(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_spos), (&__pyx_v_epos), (&__pyx_v_esize), (&__pyx_v_mpos), (&__pyx_v_msize)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5t.pyx":800 - * cdef size_t spos, epos, esize, mpos, msize -@@ -5898,7 +6552,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v_msize); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(5); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_7)); -+ __Pyx_GOTREF(__pyx_t_7); - PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_3); -@@ -5927,7 +6581,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); -- __Pyx_AddTraceback("h5py.h5t.TypeFloatID.get_fields"); -+ __Pyx_AddTraceback("h5py.h5t.TypeFloatID.get_fields", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -5935,93 +6589,106 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - return __pyx_r; - } - --/* "h5py/h5t.pyx":803 -- * -- * -- * def set_fields(self, size_t spos, size_t epos, size_t esize, # <<<<<<<<<<<<<< -- * size_t mpos, size_t msize): -- * """(UINT spos, UINT epos, UINT esize, UINT mpos, UINT msize) -- */ -- --static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_1set_fields(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5t_11TypeFloatID_1set_fields[] = "(UINT spos, UINT epos, UINT esize, UINT mpos, UINT msize)\n\n Set floating-point bit fields. Refer to the HDF5 docs for\n argument definitions.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_1set_fields(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_3set_fields(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_11TypeFloatID_2set_fields[] = "(UINT spos, UINT epos, UINT esize, UINT mpos, UINT msize)\n\n Set floating-point bit fields. Refer to the HDF5 docs for\n argument definitions.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_3set_fields(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - size_t __pyx_v_spos; - size_t __pyx_v_epos; - size_t __pyx_v_esize; - size_t __pyx_v_mpos; - size_t __pyx_v_msize; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__spos,&__pyx_n_s__epos,&__pyx_n_s__esize,&__pyx_n_s__mpos,&__pyx_n_s__msize,0}; -- __Pyx_RefNannySetupContext("set_fields"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_fields (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__spos,&__pyx_n_s__epos,&__pyx_n_s__esize,&__pyx_n_s__mpos,&__pyx_n_s__msize,0}; - PyObject* values[5] = {0,0,0,0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); -- case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__spos); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__epos); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("set_fields", 1, 5, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- case 2: -- values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__esize); -- if (likely(values[2])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("set_fields", 1, 5, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); -+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- case 3: -- values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mpos); -- if (likely(values[3])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("set_fields", 1, 5, 5, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__spos)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__epos)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("set_fields", 1, 5, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 2: -+ if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__esize)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("set_fields", 1, 5, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 3: -+ if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mpos)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("set_fields", 1, 5, 5, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 4: -+ if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__msize)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("set_fields", 1, 5, 5, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } - } -- case 4: -- values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__msize); -- if (likely(values[4])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("set_fields", 1, 5, 5, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_fields") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "set_fields") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -+ values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - } - __pyx_v_spos = __Pyx_PyInt_AsSize_t(values[0]); if (unlikely((__pyx_v_spos == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_epos = __Pyx_PyInt_AsSize_t(values[1]); if (unlikely((__pyx_v_epos == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_esize = __Pyx_PyInt_AsSize_t(values[2]); if (unlikely((__pyx_v_esize == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_mpos = __Pyx_PyInt_AsSize_t(values[3]); if (unlikely((__pyx_v_mpos == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_msize = __Pyx_PyInt_AsSize_t(values[4]); if (unlikely((__pyx_v_msize == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_spos = __Pyx_PyInt_AsSize_t(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_spos == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_epos = __Pyx_PyInt_AsSize_t(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_epos == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_esize = __Pyx_PyInt_AsSize_t(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_esize == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_mpos = __Pyx_PyInt_AsSize_t(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_mpos == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_msize = __Pyx_PyInt_AsSize_t(PyTuple_GET_ITEM(__pyx_args, 4)); if (unlikely((__pyx_v_msize == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("set_fields", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_fields"); -+ __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_fields", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_2set_fields(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self), __pyx_v_spos, __pyx_v_epos, __pyx_v_esize, __pyx_v_mpos, __pyx_v_msize); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5t.pyx":803 -+ * -+ * -+ * def set_fields(self, size_t spos, size_t epos, size_t esize, # <<<<<<<<<<<<<< -+ * size_t mpos, size_t msize): -+ * """(UINT spos, UINT epos, UINT esize, UINT mpos, UINT msize) -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_2set_fields(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, size_t __pyx_v_spos, size_t __pyx_v_epos, size_t __pyx_v_esize, size_t __pyx_v_mpos, size_t __pyx_v_msize) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_fields", 0); - - /* "h5py/h5t.pyx":810 - * argument definitions. -@@ -6030,12 +6697,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_fields(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_spos, __pyx_v_epos, __pyx_v_esize, __pyx_v_mpos, __pyx_v_msize); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_fields(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_spos, __pyx_v_epos, __pyx_v_esize, __pyx_v_mpos, __pyx_v_msize); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_fields"); -+ __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_fields", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6043,6 +6710,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_5get_ebias(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_11TypeFloatID_4get_ebias[] = "() => UINT ebias\n\n Get the exponent bias.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_5get_ebias(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_ebias (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_4get_ebias(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":813 - * - * -@@ -6051,13 +6730,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_2get_ebias(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_11TypeFloatID_2get_ebias[] = "() => UINT ebias\n\n Get the exponent bias.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_2get_ebias(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_4get_ebias(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - size_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_ebias"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_ebias", 0); - - /* "h5py/h5t.pyx":818 - * Get the exponent bias. -@@ -6067,7 +6748,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_ebias(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_ebias(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -6078,7 +6759,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeFloatID.get_ebias"); -+ __Pyx_AddTraceback("h5py.h5t.TypeFloatID.get_ebias", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6086,6 +6767,28 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_7set_ebias(PyObject *__pyx_v_self, PyObject *__pyx_arg_ebias); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_11TypeFloatID_6set_ebias[] = "(UINT ebias)\n\n Set the exponent bias.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_7set_ebias(PyObject *__pyx_v_self, PyObject *__pyx_arg_ebias) { -+ size_t __pyx_v_ebias; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_ebias (wrapper)", 0); -+ assert(__pyx_arg_ebias); { -+ __pyx_v_ebias = __Pyx_PyInt_AsSize_t(__pyx_arg_ebias); if (unlikely((__pyx_v_ebias == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_ebias", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_6set_ebias(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self), ((size_t)__pyx_v_ebias)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":821 - * - * -@@ -6094,22 +6797,14 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_3set_ebias(PyObject *__pyx_v_self, PyObject *__pyx_arg_ebias); /*proto*/ --static char __pyx_doc_4h5py_3h5t_11TypeFloatID_3set_ebias[] = "(UINT ebias)\n\n Set the exponent bias.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_3set_ebias(PyObject *__pyx_v_self, PyObject *__pyx_arg_ebias) { -- size_t __pyx_v_ebias; -+static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_6set_ebias(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, size_t __pyx_v_ebias) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_ebias"); -- assert(__pyx_arg_ebias); { -- __pyx_v_ebias = __Pyx_PyInt_AsSize_t(__pyx_arg_ebias); if (unlikely((__pyx_v_ebias == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_ebias"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_ebias", 0); - - /* "h5py/h5t.pyx":826 - * Set the exponent bias. -@@ -6118,12 +6813,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_ebias(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_ebias); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_ebias(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_ebias); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_ebias"); -+ __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_ebias", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6131,6 +6826,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_9get_norm(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_11TypeFloatID_8get_norm[] = "() => INT normalization_code\n\n Get the normalization strategy. Legal values are:\n\n - NORM_IMPLIED\n - NORM_MSBSET\n - NORM_NONE\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_9get_norm(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_norm (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_8get_norm(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":829 - * - * -@@ -6139,13 +6846,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_4get_norm(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_11TypeFloatID_4get_norm[] = "() => INT normalization_code\n\n Get the normalization strategy. Legal values are:\n\n - NORM_IMPLIED\n - NORM_MSBSET\n - NORM_NONE\n "; --static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_4get_norm(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_8get_norm(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - H5T_norm_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_norm"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_norm", 0); - - /* "h5py/h5t.pyx":838 - * - NORM_NONE -@@ -6155,7 +6864,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_norm(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_norm(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -6166,7 +6875,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeFloatID.get_norm"); -+ __Pyx_AddTraceback("h5py.h5t.TypeFloatID.get_norm", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6174,6 +6883,28 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_11set_norm(PyObject *__pyx_v_self, PyObject *__pyx_arg_norm); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_11TypeFloatID_10set_norm[] = "(INT normalization_code)\n\n Set the normalization strategy. Legal values are:\n\n - NORM_IMPLIED\n - NORM_MSBSET\n - NORM_NONE\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_11set_norm(PyObject *__pyx_v_self, PyObject *__pyx_arg_norm) { -+ int __pyx_v_norm; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_norm (wrapper)", 0); -+ assert(__pyx_arg_norm); { -+ __pyx_v_norm = __Pyx_PyInt_AsInt(__pyx_arg_norm); if (unlikely((__pyx_v_norm == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_norm", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_10set_norm(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self), ((int)__pyx_v_norm)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":841 - * - * -@@ -6182,22 +6913,14 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_5set_norm(PyObject *__pyx_v_self, PyObject *__pyx_arg_norm); /*proto*/ --static char __pyx_doc_4h5py_3h5t_11TypeFloatID_5set_norm[] = "(INT normalization_code)\n\n Set the normalization strategy. Legal values are:\n\n - NORM_IMPLIED\n - NORM_MSBSET\n - NORM_NONE\n "; --static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_5set_norm(PyObject *__pyx_v_self, PyObject *__pyx_arg_norm) { -- int __pyx_v_norm; -+static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_10set_norm(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, int __pyx_v_norm) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_norm"); -- assert(__pyx_arg_norm); { -- __pyx_v_norm = __Pyx_PyInt_AsInt(__pyx_arg_norm); if (unlikely((__pyx_v_norm == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_norm"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_norm", 0); - - /* "h5py/h5t.pyx":850 - * - NORM_NONE -@@ -6206,12 +6929,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_norm(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, ((H5T_norm_t)__pyx_v_norm)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_norm(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, ((H5T_norm_t)__pyx_v_norm)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_norm"); -+ __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_norm", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6219,6 +6942,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_13get_inpad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_11TypeFloatID_12get_inpad[] = "() => INT pad_code\n\n Determine the internal padding strategy. Legal values are:\n\n - PAD_ZERO\n - PAD_ONE\n - PAD_BACKGROUND\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_13get_inpad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_inpad (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_12get_inpad(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":853 - * - * -@@ -6227,13 +6962,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_6get_inpad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_11TypeFloatID_6get_inpad[] = "() => INT pad_code\n\n Determine the internal padding strategy. Legal values are:\n\n - PAD_ZERO\n - PAD_ONE\n - PAD_BACKGROUND\n "; --static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_6get_inpad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_12get_inpad(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - H5T_pad_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_inpad"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_inpad", 0); - - /* "h5py/h5t.pyx":862 - * - PAD_BACKGROUND -@@ -6243,7 +6980,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_inpad(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_inpad(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -6254,7 +6991,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeFloatID.get_inpad"); -+ __Pyx_AddTraceback("h5py.h5t.TypeFloatID.get_inpad", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6262,6 +6999,28 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_15set_inpad(PyObject *__pyx_v_self, PyObject *__pyx_arg_pad_code); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_11TypeFloatID_14set_inpad[] = "(INT pad_code)\n\n Set the internal padding strategy. Legal values are:\n\n - PAD_ZERO\n - PAD_ONE\n - PAD_BACKGROUND\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_15set_inpad(PyObject *__pyx_v_self, PyObject *__pyx_arg_pad_code) { -+ int __pyx_v_pad_code; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("set_inpad (wrapper)", 0); -+ assert(__pyx_arg_pad_code); { -+ __pyx_v_pad_code = __Pyx_PyInt_AsInt(__pyx_arg_pad_code); if (unlikely((__pyx_v_pad_code == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_inpad", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_14set_inpad(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self), ((int)__pyx_v_pad_code)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":865 - * - * -@@ -6270,22 +7029,14 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_7set_inpad(PyObject *__pyx_v_self, PyObject *__pyx_arg_pad_code); /*proto*/ --static char __pyx_doc_4h5py_3h5t_11TypeFloatID_7set_inpad[] = "(INT pad_code)\n\n Set the internal padding strategy. Legal values are:\n\n - PAD_ZERO\n - PAD_ONE\n - PAD_BACKGROUND\n "; --static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_7set_inpad(PyObject *__pyx_v_self, PyObject *__pyx_arg_pad_code) { -- int __pyx_v_pad_code; -+static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_14set_inpad(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, int __pyx_v_pad_code) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("set_inpad"); -- assert(__pyx_arg_pad_code); { -- __pyx_v_pad_code = __Pyx_PyInt_AsInt(__pyx_arg_pad_code); if (unlikely((__pyx_v_pad_code == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_inpad"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("set_inpad", 0); - - /* "h5py/h5t.pyx":874 - * - PAD_BACKGROUND -@@ -6294,12 +7045,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - * - * cdef object py_dtype(self): - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_inpad(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, ((H5T_pad_t)__pyx_v_pad_code)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_inpad(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, ((H5T_pad_t)__pyx_v_pad_code)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_inpad"); -+ __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_inpad", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6315,12 +7066,16 @@ static PyObject *__pyx_pf_4h5py_3h5t_11T - * return dtype( _order_map[self.get_order()] + "f" + \ - */ - --static PyObject *__pyx_f_4h5py_3h5t_11TypeFloatID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self) { -+static PyObject *__pyx_f_4h5py_3h5t_11TypeFloatID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("py_dtype"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("py_dtype", 0); - - /* "h5py/h5t.pyx":878 - * cdef object py_dtype(self): -@@ -6330,6 +7085,10 @@ static PyObject *__pyx_f_4h5py_3h5t_11T - * - */ - __Pyx_XDECREF(__pyx_r); -+ if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__order_map) == Py_None)) { -+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } - __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_order); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -6355,7 +7114,7 @@ static PyObject *__pyx_f_4h5py_3h5t_11T - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -+ __Pyx_GOTREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; -@@ -6367,7 +7126,7 @@ static PyObject *__pyx_f_4h5py_3h5t_11T - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_t_1 = 0; -@@ -6384,7 +7143,7 @@ static PyObject *__pyx_f_4h5py_3h5t_11T - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5t.TypeFloatID.py_dtype"); -+ __Pyx_AddTraceback("h5py.h5t.TypeFloatID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6392,6 +7151,18 @@ static PyObject *__pyx_f_4h5py_3h5t_11T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_15TypeCompositeID_1get_nmembers(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_15TypeCompositeID_get_nmembers[] = "() => INT number_of_members\n\n Determine the number of members in a compound or enumerated type.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_15TypeCompositeID_1get_nmembers(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_nmembers (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_15TypeCompositeID_get_nmembers(((struct __pyx_obj_4h5py_3h5t_TypeCompositeID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":891 - * - * -@@ -6400,13 +7171,15 @@ static PyObject *__pyx_f_4h5py_3h5t_11T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_get_nmembers(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_15TypeCompositeID_get_nmembers[] = "() => INT number_of_members\n\n Determine the number of members in a compound or enumerated type.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_get_nmembers(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_get_nmembers(struct __pyx_obj_4h5py_3h5t_TypeCompositeID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_nmembers"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_nmembers", 0); - - /* "h5py/h5t.pyx":896 - * Determine the number of members in a compound or enumerated type. -@@ -6416,7 +7189,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_15T - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_nmembers(((struct __pyx_obj_4h5py_3h5t_TypeCompositeID *)__pyx_v_self)->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_nmembers(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -6427,7 +7200,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_15T - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeCompositeID.get_nmembers"); -+ __Pyx_AddTraceback("h5py.h5t.TypeCompositeID.get_nmembers", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6435,6 +7208,28 @@ static PyObject *__pyx_pf_4h5py_3h5t_15T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_15TypeCompositeID_3get_member_name(PyObject *__pyx_v_self, PyObject *__pyx_arg_member); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_15TypeCompositeID_2get_member_name[] = "(INT member) => STRING name\n \n Determine the name of a member of a compound or enumerated type,\n identified by its index (0 <= member < nmembers).\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_15TypeCompositeID_3get_member_name(PyObject *__pyx_v_self, PyObject *__pyx_arg_member) { -+ int __pyx_v_member; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_member_name (wrapper)", 0); -+ assert(__pyx_arg_member); { -+ __pyx_v_member = __Pyx_PyInt_AsInt(__pyx_arg_member); if (unlikely((__pyx_v_member == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5t.TypeCompositeID.get_member_name", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_15TypeCompositeID_2get_member_name(((struct __pyx_obj_4h5py_3h5t_TypeCompositeID *)__pyx_v_self), ((int)__pyx_v_member)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":899 - * - * -@@ -6443,27 +7238,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_15T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_1get_member_name(PyObject *__pyx_v_self, PyObject *__pyx_arg_member); /*proto*/ --static char __pyx_doc_4h5py_3h5t_15TypeCompositeID_1get_member_name[] = "(INT member) => STRING name\n \n Determine the name of a member of a compound or enumerated type,\n identified by its index (0 <= member < nmembers).\n "; --static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_1get_member_name(PyObject *__pyx_v_self, PyObject *__pyx_arg_member) { -- int __pyx_v_member; -+static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_2get_member_name(struct __pyx_obj_4h5py_3h5t_TypeCompositeID *__pyx_v_self, int __pyx_v_member) { - char *__pyx_v_name; -- PyObject *__pyx_v_pyname; -+ PyObject *__pyx_v_pyname = NULL; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - char *__pyx_t_3; -- __Pyx_RefNannySetupContext("get_member_name"); -- assert(__pyx_arg_member); { -- __pyx_v_member = __Pyx_PyInt_AsInt(__pyx_arg_member); if (unlikely((__pyx_v_member == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeCompositeID.get_member_name"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -- __pyx_v_pyname = ((PyObject*)Py_None); __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_member_name", 0); - - /* "h5py/h5t.pyx":906 - * """ -@@ -6493,12 +7279,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_15T - */ - __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_13), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __Pyx_Raise(__pyx_t_2, 0, 0); -+ __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L5; -+ goto __pyx_L3; - } -- __pyx_L5:; -+ __pyx_L3:; - - /* "h5py/h5t.pyx":911 - * raise ValueError("Member index must be non-negative.") -@@ -6516,7 +7302,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_15T - * assert name != NULL - * pyname = name - */ -- __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tget_member_name(((struct __pyx_obj_4h5py_3h5t_TypeCompositeID *)__pyx_v_self)->__pyx_base.__pyx_base.id, __pyx_v_member); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tget_member_name(__pyx_v_self->__pyx_base.__pyx_base.id, __pyx_v_member); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L5;} - __pyx_v_name = __pyx_t_3; - - /* "h5py/h5t.pyx":913 -@@ -6529,7 +7315,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_15T - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!(__pyx_v_name != NULL))) { - PyErr_SetNone(PyExc_AssertionError); -- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L5;} - } - #endif - -@@ -6540,11 +7326,11 @@ static PyObject *__pyx_pf_4h5py_3h5t_15T - * finally: - * free(name) - */ -- __pyx_t_2 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L7;} -+ __pyx_t_2 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L5;} - __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -- __Pyx_DECREF(((PyObject *)__pyx_v_pyname)); -+ __Pyx_INCREF(((PyObject*)__pyx_t_2)); - __pyx_v_pyname = __pyx_t_2; -- __pyx_t_2 = 0; -+ __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; - } - - /* "h5py/h5t.pyx":916 -@@ -6559,15 +7345,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_15T - PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; - int __pyx_exc_lineno; - __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; -- __pyx_why = 0; goto __pyx_L8; -- __pyx_L7: { -+ __pyx_why = 0; goto __pyx_L6; -+ __pyx_L5: { - __pyx_why = 4; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); - __pyx_exc_lineno = __pyx_lineno; -- goto __pyx_L8; -+ goto __pyx_L6; - } -- __pyx_L8:; -+ __pyx_L6:; - free(__pyx_v_name); - switch (__pyx_why) { - case 4: { -@@ -6597,15 +7383,37 @@ static PyObject *__pyx_pf_4h5py_3h5t_15T - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeCompositeID.get_member_name"); -+ __Pyx_AddTraceback("h5py.h5t.TypeCompositeID.get_member_name", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF(__pyx_v_pyname); -+ __Pyx_XDECREF(__pyx_v_pyname); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_15TypeCompositeID_5get_member_index(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_15TypeCompositeID_4get_member_index[] = "(STRING name) => INT index\n\n Determine the index of a member of a compound or enumerated datatype\n identified by a string name.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_15TypeCompositeID_5get_member_index(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) { -+ char *__pyx_v_name; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_member_index (wrapper)", 0); -+ assert(__pyx_arg_name); { -+ __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5t.TypeCompositeID.get_member_index", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_15TypeCompositeID_4get_member_index(((struct __pyx_obj_4h5py_3h5t_TypeCompositeID *)__pyx_v_self), ((char *)__pyx_v_name)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":921 - * - * -@@ -6614,23 +7422,15 @@ static PyObject *__pyx_pf_4h5py_3h5t_15T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_2get_member_index(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/ --static char __pyx_doc_4h5py_3h5t_15TypeCompositeID_2get_member_index[] = "(STRING name) => INT index\n\n Determine the index of a member of a compound or enumerated datatype\n identified by a string name.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_2get_member_index(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) { -- char *__pyx_v_name; -+static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_4get_member_index(struct __pyx_obj_4h5py_3h5t_TypeCompositeID *__pyx_v_self, char *__pyx_v_name) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("get_member_index"); -- assert(__pyx_arg_name); { -- __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeCompositeID.get_member_index"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_member_index", 0); - - /* "h5py/h5t.pyx":927 - * identified by a string name. -@@ -6640,7 +7440,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_15T - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_member_index(((struct __pyx_obj_4h5py_3h5t_TypeCompositeID *)__pyx_v_self)->__pyx_base.__pyx_base.id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_member_index(__pyx_v_self->__pyx_base.__pyx_base.id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -6651,7 +7451,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_15T - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeCompositeID.get_member_index"); -+ __Pyx_AddTraceback("h5py.h5t.TypeCompositeID.get_member_index", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6659,6 +7459,28 @@ static PyObject *__pyx_pf_4h5py_3h5t_15T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_1get_member_class(PyObject *__pyx_v_self, PyObject *__pyx_arg_member); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_14TypeCompoundID_get_member_class[] = "(INT member) => INT class\n\n Determine the datatype class of the member of a compound type,\n identified by its index (0 <= member < nmembers).\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_1get_member_class(PyObject *__pyx_v_self, PyObject *__pyx_arg_member) { -+ int __pyx_v_member; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_member_class (wrapper)", 0); -+ assert(__pyx_arg_member); { -+ __pyx_v_member = __Pyx_PyInt_AsInt(__pyx_arg_member); if (unlikely((__pyx_v_member == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_class", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_14TypeCompoundID_get_member_class(((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_v_self), ((int)__pyx_v_member)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":938 - * - * -@@ -6667,24 +7489,16 @@ static PyObject *__pyx_pf_4h5py_3h5t_15T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_get_member_class(PyObject *__pyx_v_self, PyObject *__pyx_arg_member); /*proto*/ --static char __pyx_doc_4h5py_3h5t_14TypeCompoundID_get_member_class[] = "(INT member) => INT class\n\n Determine the datatype class of the member of a compound type,\n identified by its index (0 <= member < nmembers).\n "; --static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_get_member_class(PyObject *__pyx_v_self, PyObject *__pyx_arg_member) { -- int __pyx_v_member; -+static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_get_member_class(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, int __pyx_v_member) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - enum H5T_class_t __pyx_t_3; -- __Pyx_RefNannySetupContext("get_member_class"); -- assert(__pyx_arg_member); { -- __pyx_v_member = __Pyx_PyInt_AsInt(__pyx_arg_member); if (unlikely((__pyx_v_member == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_class"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_member_class", 0); - - /* "h5py/h5t.pyx":944 - * identified by its index (0 <= member < nmembers). -@@ -6705,12 +7519,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_14T - */ - __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_14), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __Pyx_Raise(__pyx_t_2, 0, 0); -+ __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L5; -+ goto __pyx_L3; - } -- __pyx_L5:; -+ __pyx_L3:; - - /* "h5py/h5t.pyx":946 - * if member < 0: -@@ -6720,7 +7534,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_14T - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tget_member_class(((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_member); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tget_member_class(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_member); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = PyInt_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -6731,7 +7545,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_14T - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_class"); -+ __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_class", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6739,6 +7553,28 @@ static PyObject *__pyx_pf_4h5py_3h5t_14T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_3get_member_offset(PyObject *__pyx_v_self, PyObject *__pyx_arg_member); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_14TypeCompoundID_2get_member_offset[] = "(INT member) => INT offset\n\n Determine the offset, in bytes, of the beginning of the specified\n member of a compound datatype.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_3get_member_offset(PyObject *__pyx_v_self, PyObject *__pyx_arg_member) { -+ int __pyx_v_member; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_member_offset (wrapper)", 0); -+ assert(__pyx_arg_member); { -+ __pyx_v_member = __Pyx_PyInt_AsInt(__pyx_arg_member); if (unlikely((__pyx_v_member == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_offset", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_14TypeCompoundID_2get_member_offset(((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_v_self), ((int)__pyx_v_member)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":950 - * - * -@@ -6747,24 +7583,16 @@ static PyObject *__pyx_pf_4h5py_3h5t_14T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_1get_member_offset(PyObject *__pyx_v_self, PyObject *__pyx_arg_member); /*proto*/ --static char __pyx_doc_4h5py_3h5t_14TypeCompoundID_1get_member_offset[] = "(INT member) => INT offset\n\n Determine the offset, in bytes, of the beginning of the specified\n member of a compound datatype.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_1get_member_offset(PyObject *__pyx_v_self, PyObject *__pyx_arg_member) { -- int __pyx_v_member; -+static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_2get_member_offset(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, int __pyx_v_member) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - int __pyx_t_3; -- __Pyx_RefNannySetupContext("get_member_offset"); -- assert(__pyx_arg_member); { -- __pyx_v_member = __Pyx_PyInt_AsInt(__pyx_arg_member); if (unlikely((__pyx_v_member == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_offset"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_member_offset", 0); - - /* "h5py/h5t.pyx":956 - * member of a compound datatype. -@@ -6785,12 +7613,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_14T - */ - __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_15), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __Pyx_Raise(__pyx_t_2, 0, 0); -+ __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L5; -+ goto __pyx_L3; - } -- __pyx_L5:; -+ __pyx_L3:; - - /* "h5py/h5t.pyx":958 - * if member < 0: -@@ -6800,7 +7628,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_14T - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tget_member_offset(((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_member); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tget_member_offset(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_member); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = PyInt_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -6811,7 +7639,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_14T - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_offset"); -+ __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_offset", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6819,6 +7647,28 @@ static PyObject *__pyx_pf_4h5py_3h5t_14T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_5get_member_type(PyObject *__pyx_v_self, PyObject *__pyx_arg_member); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_14TypeCompoundID_4get_member_type[] = "(INT member) => TypeID\n\n Create a copy of a member of a compound datatype, identified by its\n index.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_5get_member_type(PyObject *__pyx_v_self, PyObject *__pyx_arg_member) { -+ int __pyx_v_member; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_member_type (wrapper)", 0); -+ assert(__pyx_arg_member); { -+ __pyx_v_member = __Pyx_PyInt_AsInt(__pyx_arg_member); if (unlikely((__pyx_v_member == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_type", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_14TypeCompoundID_4get_member_type(((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_v_self), ((int)__pyx_v_member)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":961 - * - * -@@ -6827,24 +7677,16 @@ static PyObject *__pyx_pf_4h5py_3h5t_14T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_2get_member_type(PyObject *__pyx_v_self, PyObject *__pyx_arg_member); /*proto*/ --static char __pyx_doc_4h5py_3h5t_14TypeCompoundID_2get_member_type[] = "(INT member) => TypeID\n\n Create a copy of a member of a compound datatype, identified by its\n index.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_2get_member_type(PyObject *__pyx_v_self, PyObject *__pyx_arg_member) { -- int __pyx_v_member; -+static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_4get_member_type(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, int __pyx_v_member) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - hid_t __pyx_t_3; -- __Pyx_RefNannySetupContext("get_member_type"); -- assert(__pyx_arg_member); { -- __pyx_v_member = __Pyx_PyInt_AsInt(__pyx_arg_member); if (unlikely((__pyx_v_member == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_type"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_member_type", 0); - - /* "h5py/h5t.pyx":967 - * index. -@@ -6865,12 +7707,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_14T - */ - __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_16), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __Pyx_Raise(__pyx_t_2, 0, 0); -+ __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L5; -+ goto __pyx_L3; - } -- __pyx_L5:; -+ __pyx_L3:; - - /* "h5py/h5t.pyx":969 - * if member < 0: -@@ -6880,7 +7722,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_14T - * - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tget_member_type(((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_member); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tget_member_type(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_member); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_3, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; -@@ -6891,7 +7733,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_14T - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_type"); -+ __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_type", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6899,74 +7741,93 @@ static PyObject *__pyx_pf_4h5py_3h5t_14T - return __pyx_r; - } - --/* "h5py/h5t.pyx":972 -- * -- * -- * def insert(self, char* name, size_t offset, TypeID field not None): # <<<<<<<<<<<<<< -- * """(STRING name, UINT offset, TypeID field) -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_3insert(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5t_14TypeCompoundID_3insert[] = "(STRING name, UINT offset, TypeID field)\n\n Add a named member datatype to a compound datatype. The parameter\n offset indicates the offset from the start of the compound datatype,\n in bytes.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_3insert(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_7insert(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_14TypeCompoundID_6insert[] = "(STRING name, UINT offset, TypeID field)\n\n Add a named member datatype to a compound datatype. The parameter\n offset indicates the offset from the start of the compound datatype,\n in bytes.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_7insert(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - char *__pyx_v_name; - size_t __pyx_v_offset; - struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_field = 0; -- PyObject *__pyx_r = NULL; -- herr_t __pyx_t_1; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__name,&__pyx_n_s__offset,&__pyx_n_s__field,0}; -- __Pyx_RefNannySetupContext("insert"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("insert (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__name,&__pyx_n_s__offset,&__pyx_n_s__field,0}; - PyObject* values[3] = {0,0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__offset); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("insert", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- case 2: -- values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__field); -- if (likely(values[2])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("insert", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__offset)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("insert", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 2: -+ if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__field)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("insert", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "insert") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "insert") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - } - __pyx_v_name = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_offset = __Pyx_PyInt_AsSize_t(values[1]); if (unlikely((__pyx_v_offset == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_field = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[2]); -- } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_name = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_offset = __Pyx_PyInt_AsSize_t(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_offset == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_field = ((struct __pyx_obj_4h5py_3h5t_TypeID *)PyTuple_GET_ITEM(__pyx_args, 2)); - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("insert", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.insert"); -+ __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.insert", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_field), __pyx_ptype_4h5py_3h5t_TypeID, 0, "field", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5t_14TypeCompoundID_6insert(((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_v_self), __pyx_v_name, __pyx_v_offset, __pyx_v_field); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5t.pyx":972 -+ * -+ * -+ * def insert(self, char* name, size_t offset, TypeID field not None): # <<<<<<<<<<<<<< -+ * """(STRING name, UINT offset, TypeID field) -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_6insert(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, char *__pyx_v_name, size_t __pyx_v_offset, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_field) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ herr_t __pyx_t_1; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("insert", 0); - - /* "h5py/h5t.pyx":979 - * in bytes. -@@ -6975,12 +7836,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_14T - * - * - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tinsert(((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_name, __pyx_v_offset, __pyx_v_field->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 979; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tinsert(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_name, __pyx_v_offset, __pyx_v_field->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 979; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.insert"); -+ __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.insert", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -6988,6 +7849,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_14T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_9pack(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_14TypeCompoundID_8pack[] = "()\n\n Recursively removes padding (introduced on account of e.g. compiler\n alignment rules) from a compound datatype.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_9pack(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("pack (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_14TypeCompoundID_8pack(((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_v_self)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":982 - * - * -@@ -6996,12 +7869,14 @@ static PyObject *__pyx_pf_4h5py_3h5t_14T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_4pack(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ --static char __pyx_doc_4h5py_3h5t_14TypeCompoundID_4pack[] = "()\n\n Recursively removes padding (introduced on account of e.g. compiler\n alignment rules) from a compound datatype.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_4pack(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { -+static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_8pack(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; -- __Pyx_RefNannySetupContext("pack"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("pack", 0); - - /* "h5py/h5t.pyx":988 - * alignment rules) from a compound datatype. -@@ -7010,12 +7885,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_14T - * - * cdef object py_dtype(self): - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tpack(((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 988; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tpack(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 988; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.pack"); -+ __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.pack", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -7031,20 +7906,21 @@ static PyObject *__pyx_pf_4h5py_3h5t_14T - * cdef TypeID tmp_type - */ - --static PyObject *__pyx_f_4h5py_3h5t_14TypeCompoundID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self) { -- struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tmp_type; -- PyObject *__pyx_v_field_names; -- PyObject *__pyx_v_field_types; -+static PyObject *__pyx_f_4h5py_3h5t_14TypeCompoundID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self) { -+ struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tmp_type = 0; -+ PyObject *__pyx_v_field_names = 0; -+ PyObject *__pyx_v_field_types = 0; - int __pyx_v_nfields; -- PyObject *__pyx_v_sys; -+ PyObject *__pyx_v_sys = NULL; - long __pyx_v_i; -- PyObject *__pyx_v_name; -- PyObject *__pyx_v_bstring; -- PyObject *__pyx_v_blen; -- PyObject *__pyx_v_nstring; -- PyArray_Descr *__pyx_v_typeobj; -- PyObject *__pyx_v_x; -+ PyObject *__pyx_v_name = NULL; -+ PyObject *__pyx_v_bstring = NULL; -+ PyObject *__pyx_v_blen = NULL; -+ PyObject *__pyx_v_nstring = NULL; -+ PyArray_Descr *__pyx_v_typeobj = NULL; -+ PyObject *__pyx_v_x = NULL; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - int __pyx_t_3; -@@ -7057,17 +7933,10 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - int __pyx_t_10; - int __pyx_t_11; - int __pyx_t_12; -- __Pyx_RefNannySetupContext("py_dtype"); -- __pyx_v_tmp_type = ((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None); __Pyx_INCREF(Py_None); -- __pyx_v_field_names = ((PyObject*)Py_None); __Pyx_INCREF(Py_None); -- __pyx_v_field_types = ((PyObject*)Py_None); __Pyx_INCREF(Py_None); -- __pyx_v_sys = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v_name = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v_bstring = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v_blen = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v_nstring = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v_typeobj = ((PyArray_Descr *)Py_None); __Pyx_INCREF(Py_None); -- __pyx_v_x = Py_None; __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("py_dtype", 0); - - /* "h5py/h5t.pyx":996 - * cdef list field_types -@@ -7077,8 +7946,7 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - * nfields = self.get_nmembers() - */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 996; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -- __Pyx_DECREF(((PyObject *)__pyx_v_field_names)); -+ __Pyx_GOTREF(__pyx_t_1); - __pyx_v_field_names = __pyx_t_1; - __pyx_t_1 = 0; - -@@ -7090,8 +7958,7 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - * - */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -- __Pyx_DECREF(((PyObject *)__pyx_v_field_types)); -+ __Pyx_GOTREF(__pyx_t_1); - __pyx_v_field_types = __pyx_t_1; - __pyx_t_1 = 0; - -@@ -7118,9 +7985,8 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - * - * # First step: read field names and their Numpy dtypes into - */ -- __pyx_t_2 = __Pyx_Import(((PyObject *)__pyx_n_s__sys), 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1000; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = __Pyx_Import(((PyObject *)__pyx_n_s__sys), 0, -1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1000; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __Pyx_DECREF(__pyx_v_sys); - __pyx_v_sys = __pyx_t_2; - __pyx_t_2 = 0; - -@@ -7146,7 +8012,7 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - __pyx_t_1 = PyInt_FromLong(__pyx_v_i); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_t_1 = 0; -@@ -7155,7 +8021,7 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(((PyObject *)__pyx_v_tmp_type)); -+ __Pyx_XDECREF(((PyObject *)__pyx_v_tmp_type)); - __pyx_v_tmp_type = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_1); - __pyx_t_1 = 0; - -@@ -7171,7 +8037,7 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - __pyx_t_4 = PyInt_FromLong(__pyx_v_i); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1006; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1006; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -+ __Pyx_GOTREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; -@@ -7179,7 +8045,7 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; -- __Pyx_DECREF(__pyx_v_name); -+ __Pyx_XDECREF(__pyx_v_name); - __pyx_v_name = __pyx_t_4; - __pyx_t_4 = 0; - -@@ -7190,9 +8056,6 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - * field_types.append(tmp_type.py_dtype()) - * - */ -- if (unlikely(__pyx_v_field_names == Py_None)) { -- PyErr_SetString(PyExc_AttributeError, "'NoneType' object has no attribute 'append'"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1007; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- } - __pyx_t_5 = PyList_Append(__pyx_v_field_names, __pyx_v_name); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1007; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5t.pyx":1008 -@@ -7202,9 +8065,6 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - * - * - */ -- if (unlikely(__pyx_v_field_types == Py_None)) { -- PyErr_SetString(PyExc_AttributeError, "'NoneType' object has no attribute 'append'"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1008; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- } - __pyx_t_4 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeID *)__pyx_v_tmp_type->__pyx_vtab)->py_dtype(__pyx_v_tmp_type); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1008; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyList_Append(__pyx_v_field_types, __pyx_t_4); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1008; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -7218,10 +8078,7 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - * tuple(field_names) == (cfg._r_name, cfg._i_name) and \ - * field_types[0] == field_types[1] and \ - */ -- if (unlikely(__pyx_v_field_names == Py_None)) { -- PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- } -- __pyx_t_6 = PyList_GET_SIZE(((PyObject *)__pyx_v_field_names)); -+ __pyx_t_6 = PyList_GET_SIZE(((PyObject *)__pyx_v_field_names)); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_7 = (__pyx_t_6 == 2); - if (__pyx_t_7) { - -@@ -7232,9 +8089,6 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - * field_types[0] == field_types[1] and \ - * field_types[0].kind == 'f': - */ -- if (unlikely(__pyx_v_field_names == Py_None)) { -- PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- } - __pyx_t_4 = ((PyObject *)PyList_AsTuple(__pyx_v_field_names)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); - __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -7248,15 +8102,14 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -+ __Pyx_GOTREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_1 = 0; - __pyx_t_8 = 0; -- __pyx_t_8 = PyObject_RichCompare(((PyObject *)__pyx_t_4), ((PyObject *)__pyx_t_2), Py_EQ); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_8); -+ __pyx_t_8 = PyObject_RichCompare(((PyObject *)__pyx_t_4), ((PyObject *)__pyx_t_2), Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -7274,8 +8127,7 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_2 = __Pyx_GetItemInt_List(((PyObject *)__pyx_v_field_types), 1, sizeof(long), PyInt_FromLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_4 = PyObject_RichCompare(__pyx_t_8, __pyx_t_2, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -+ __pyx_t_4 = PyObject_RichCompare(__pyx_t_8, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -7294,8 +8146,7 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - __pyx_t_2 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__kind); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, ((PyObject *)__pyx_n_s__f), Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -+ __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, ((PyObject *)__pyx_n_s__f), Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -@@ -7325,7 +8176,6 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - __pyx_t_2 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__str); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_DECREF(__pyx_v_bstring); - __pyx_v_bstring = __pyx_t_2; - __pyx_t_2 = 0; - -@@ -7339,14 +8189,13 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - __pyx_t_2 = __Pyx_PySequence_GetSlice(__pyx_v_bstring, 2, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; -- __Pyx_DECREF(__pyx_v_blen); - __pyx_v_blen = __pyx_t_2; - __pyx_t_2 = 0; - -@@ -7365,7 +8214,7 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - __pyx_t_2 = PyNumber_Multiply(__pyx_int_2, __pyx_v_blen); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1019; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1019; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_8)); -+ __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; -@@ -7376,7 +8225,6 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(__pyx_v_nstring); - __pyx_v_nstring = __pyx_t_8; - __pyx_t_8 = 0; - -@@ -7388,14 +8236,13 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - * # 2. Otherwise, read all fields of the compound type, in HDF5 order. - */ - __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_8)); -+ __Pyx_GOTREF(__pyx_t_8); - __Pyx_INCREF(__pyx_v_nstring); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_nstring); - __Pyx_GIVEREF(__pyx_v_nstring); - __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; -- __Pyx_DECREF(((PyObject *)__pyx_v_typeobj)); - __pyx_v_typeobj = ((PyArray_Descr *)__pyx_t_2); - __pyx_t_2 = 0; - goto __pyx_L5; -@@ -7414,8 +8261,7 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_2, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __pyx_t_2 = PyObject_RichCompare(__pyx_t_8, ((PyObject *)__pyx_kp_s__3), Py_EQ); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_2); -+ __pyx_t_2 = PyObject_RichCompare(__pyx_t_8, ((PyObject *)__pyx_kp_s__3), Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -@@ -7429,15 +8275,16 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - * - */ - __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -- if (unlikely(__pyx_v_field_names == Py_None)) { -- PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- } -- __pyx_t_6 = 0; __pyx_t_8 = ((PyObject *)__pyx_v_field_names); __Pyx_INCREF(__pyx_t_8); -+ __Pyx_GOTREF(__pyx_t_2); -+ __pyx_t_8 = ((PyObject *)__pyx_v_field_names); __Pyx_INCREF(__pyx_t_8); __pyx_t_6 = 0; - for (;;) { - if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_8)) break; -- __pyx_t_4 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; -- __Pyx_DECREF(__pyx_v_x); -+ #if CYTHON_COMPILING_IN_CPYTHON -+ __pyx_t_4 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #else -+ __pyx_t_4 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif -+ __Pyx_XDECREF(__pyx_v_x); - __pyx_v_x = __pyx_t_4; - __pyx_t_4 = 0; - __pyx_t_4 = PyObject_GetAttr(__pyx_v_x, __pyx_n_s__decode); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -7445,14 +8292,16 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - __pyx_t_1 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_k_tuple_17), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- if (unlikely(PyList_Append(__pyx_t_2, (PyObject*)__pyx_t_1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (unlikely(__Pyx_PyList_Append(__pyx_t_2, (PyObject*)__pyx_t_1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; -- __Pyx_INCREF(((PyObject *)__pyx_t_2)); -- __Pyx_DECREF(((PyObject *)__pyx_v_field_names)); -- __pyx_v_field_names = __pyx_t_2; -+ __pyx_t_8 = ((PyObject *)__pyx_t_2); -+ __Pyx_INCREF(__pyx_t_8); - __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; -+ __Pyx_DECREF(((PyObject *)__pyx_v_field_names)); -+ __pyx_v_field_names = ((PyObject*)__pyx_t_8); -+ __pyx_t_8 = 0; - goto __pyx_L6; - } - __pyx_L6:; -@@ -7464,36 +8313,35 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - * - * return typeobj - */ -- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -+ __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); - __Pyx_INCREF(((PyObject *)__pyx_v_field_names)); -- PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_field_names)); -+ PyTuple_SET_ITEM(__pyx_t_8, 0, ((PyObject *)__pyx_v_field_names)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_field_names)); - __Pyx_INCREF(((PyObject *)__pyx_v_field_types)); -- PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_field_types)); -+ PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_field_types)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_field_types)); -- __pyx_t_8 = PyObject_Call(__pyx_builtin_zip, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_8); -- __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; -- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8); -- __Pyx_GIVEREF(__pyx_t_8); -- __pyx_t_8 = 0; -- __pyx_t_8 = PyObject_Call(((PyObject *)((PyObject*)(&PyList_Type))), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = PyObject_Call(__pyx_builtin_zip, ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_2); -+ __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; -+ __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); -- __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; -- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8); -- __Pyx_GIVEREF(__pyx_t_8); -- __pyx_t_8 = 0; -- __pyx_t_8 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); -+ __Pyx_GIVEREF(__pyx_t_2); -+ __pyx_t_2 = 0; -+ __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)(&PyList_Type))), ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_2); -+ __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; -+ __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); -- __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; -- __Pyx_DECREF(((PyObject *)__pyx_v_typeobj)); -- __pyx_v_typeobj = ((PyArray_Descr *)__pyx_t_8); -- __pyx_t_8 = 0; -+ PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); -+ __Pyx_GIVEREF(__pyx_t_2); -+ __pyx_t_2 = 0; -+ __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_2); -+ __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; -+ __pyx_v_typeobj = ((PyArray_Descr *)__pyx_t_2); -+ __pyx_t_2 = 0; - } - __pyx_L5:; - -@@ -7516,19 +8364,19 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_8); -- __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.py_dtype"); -+ __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_tmp_type); -- __Pyx_DECREF(__pyx_v_field_names); -- __Pyx_DECREF(__pyx_v_field_types); -- __Pyx_DECREF(__pyx_v_sys); -- __Pyx_DECREF(__pyx_v_name); -- __Pyx_DECREF(__pyx_v_bstring); -- __Pyx_DECREF(__pyx_v_blen); -- __Pyx_DECREF(__pyx_v_nstring); -- __Pyx_DECREF((PyObject *)__pyx_v_typeobj); -- __Pyx_DECREF(__pyx_v_x); -+ __Pyx_XDECREF((PyObject *)__pyx_v_tmp_type); -+ __Pyx_XDECREF(__pyx_v_field_names); -+ __Pyx_XDECREF(__pyx_v_field_types); -+ __Pyx_XDECREF(__pyx_v_sys); -+ __Pyx_XDECREF(__pyx_v_name); -+ __Pyx_XDECREF(__pyx_v_bstring); -+ __Pyx_XDECREF(__pyx_v_blen); -+ __Pyx_XDECREF(__pyx_v_nstring); -+ __Pyx_XDECREF((PyObject *)__pyx_v_typeobj); -+ __Pyx_XDECREF(__pyx_v_x); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -@@ -7542,17 +8390,21 @@ static PyObject *__pyx_f_4h5py_3h5t_14T - * # of this (enumerated) type. Conversion performed in-place. - */ - --static int __pyx_f_4h5py_3h5t_10TypeEnumID_enum_convert(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, PY_LONG_LONG *__pyx_v_buf, int __pyx_v_reverse) { -+static int __pyx_f_4h5py_3h5t_10TypeEnumID_enum_convert(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, PY_LONG_LONG *__pyx_v_buf, int __pyx_v_reverse) { - hid_t __pyx_v_basetype; - enum H5T_class_t __pyx_v_class_code; - int __pyx_r; -+ __Pyx_RefNannyDeclarations - enum H5T_class_t __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - hid_t __pyx_t_5; - herr_t __pyx_t_6; -- __Pyx_RefNannySetupContext("enum_convert"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("enum_convert", 0); - - /* "h5py/h5t.pyx":1044 - * cdef H5T_class_t class_code -@@ -7587,14 +8439,14 @@ static int __pyx_f_4h5py_3h5t_10TypeEnu - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1046; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); - __pyx_t_4 = 0; - __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1046; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; -- __Pyx_Raise(__pyx_t_4, 0, 0); -+ __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1046; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - goto __pyx_L3; -@@ -7717,72 +8569,88 @@ static int __pyx_f_4h5py_3h5t_10TypeEnu - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_convert"); -+ __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_convert", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - --/* "h5py/h5t.pyx":1060 -- * -- * -- * def enum_insert(self, char* name, long long value): # <<<<<<<<<<<<<< -- * """(STRING name, INT/LONG value) -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_enum_insert(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_1enum_insert(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ - static char __pyx_doc_4h5py_3h5t_10TypeEnumID_enum_insert[] = "(STRING name, INT/LONG value)\n\n Define a new member of an enumerated type. The value will be\n automatically converted to the base type defined for this enum. If\n the conversion results in overflow, the value will be silently \n clipped.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_enum_insert(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_1enum_insert(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - char *__pyx_v_name; - PY_LONG_LONG __pyx_v_value; -- PY_LONG_LONG __pyx_v_buf; -- PyObject *__pyx_r = NULL; -- int __pyx_t_1; -- herr_t __pyx_t_2; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__name,&__pyx_n_s__value,0}; -- __Pyx_RefNannySetupContext("enum_insert"); -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("enum_insert (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__name,&__pyx_n_s__value,0}; - PyObject* values[2] = {0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__value); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("enum_insert", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "enum_insert") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__value)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("enum_insert", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "enum_insert") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_name = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_value = __Pyx_PyInt_AsLongLong(values[1]); if (unlikely((__pyx_v_value == (PY_LONG_LONG)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_name = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_value = __Pyx_PyInt_AsLongLong(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_value == (PY_LONG_LONG)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("enum_insert", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_insert"); -+ __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_insert", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_10TypeEnumID_enum_insert(((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self), __pyx_v_name, __pyx_v_value); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5t.pyx":1060 -+ * -+ * -+ * def enum_insert(self, char* name, long long value): # <<<<<<<<<<<<<< -+ * """(STRING name, INT/LONG value) -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_enum_insert(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, char *__pyx_v_name, PY_LONG_LONG __pyx_v_value) { -+ PY_LONG_LONG __pyx_v_buf; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ int __pyx_t_1; -+ herr_t __pyx_t_2; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("enum_insert", 0); - - /* "h5py/h5t.pyx":1070 - * cdef long long buf -@@ -7800,7 +8668,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_10T - * H5Tenum_insert(self.id, name, &buf) - * - */ -- __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *)((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_vtab)->enum_convert(((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self), (&__pyx_v_buf), 0); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->enum_convert(__pyx_v_self, (&__pyx_v_buf), 0); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5t.pyx":1072 - * buf = value -@@ -7809,12 +8677,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_10T - * - * - */ -- __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tenum_insert(((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_name, (&__pyx_v_buf)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tenum_insert(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_name, (&__pyx_v_buf)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_insert"); -+ __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_insert", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -7822,6 +8690,28 @@ static PyObject *__pyx_pf_4h5py_3h5t_10T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_3enum_nameof(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_10TypeEnumID_2enum_nameof[] = "(LONG value) => STRING name\n\n Determine the name associated with the given value. Due to a\n limitation of the HDF5 library, this can only retrieve names up to\n 1023 characters in length.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_3enum_nameof(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) { -+ PY_LONG_LONG __pyx_v_value; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("enum_nameof (wrapper)", 0); -+ assert(__pyx_arg_value); { -+ __pyx_v_value = __Pyx_PyInt_AsLongLong(__pyx_arg_value); if (unlikely((__pyx_v_value == (PY_LONG_LONG)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_nameof", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_10TypeEnumID_2enum_nameof(((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self), ((PY_LONG_LONG)__pyx_v_value)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":1075 - * - * -@@ -7830,29 +8720,20 @@ static PyObject *__pyx_pf_4h5py_3h5t_10T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_1enum_nameof(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/ --static char __pyx_doc_4h5py_3h5t_10TypeEnumID_1enum_nameof[] = "(LONG value) => STRING name\n\n Determine the name associated with the given value. Due to a\n limitation of the HDF5 library, this can only retrieve names up to\n 1023 characters in length.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_1enum_nameof(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) { -- PY_LONG_LONG __pyx_v_value; -+static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_2enum_nameof(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, PY_LONG_LONG __pyx_v_value) { - herr_t __pyx_v_retval; - char __pyx_v_name[1024]; - PY_LONG_LONG __pyx_v_buf; -- PyObject *__pyx_v_retstring; -+ PyObject *__pyx_v_retstring = NULL; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - herr_t __pyx_t_2; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("enum_nameof"); -- assert(__pyx_arg_value); { -- __pyx_v_value = __Pyx_PyInt_AsLongLong(__pyx_arg_value); if (unlikely((__pyx_v_value == (PY_LONG_LONG)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_nameof"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -- __pyx_v_retstring = Py_None; __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("enum_nameof", 0); - - /* "h5py/h5t.pyx":1086 - * cdef long long buf -@@ -7870,7 +8751,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_10T - * retval = H5Tenum_nameof(self.id, &buf, name, 1024) - * assert retval >= 0 - */ -- __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *)((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_vtab)->enum_convert(((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self), (&__pyx_v_buf), 0); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->enum_convert(__pyx_v_self, (&__pyx_v_buf), 0); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5t.pyx":1088 - * buf = value -@@ -7879,7 +8760,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_10T - * assert retval >= 0 - * retstring = name - */ -- __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tenum_nameof(((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_buf), __pyx_v_name, 1024); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tenum_nameof(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_buf), __pyx_v_name, 1024); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_retval = __pyx_t_2; - - /* "h5py/h5t.pyx":1089 -@@ -7905,7 +8786,6 @@ static PyObject *__pyx_pf_4h5py_3h5t_10T - */ - __pyx_t_3 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -- __Pyx_DECREF(__pyx_v_retstring); - __pyx_v_retstring = ((PyObject *)__pyx_t_3); - __pyx_t_3 = 0; - -@@ -7925,15 +8805,37 @@ static PyObject *__pyx_pf_4h5py_3h5t_10T - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_nameof"); -+ __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_nameof", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF(__pyx_v_retstring); -+ __Pyx_XDECREF(__pyx_v_retstring); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_5enum_valueof(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_10TypeEnumID_4enum_valueof[] = "(STRING name) => LONG value\n\n Get the value associated with an enum name.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_5enum_valueof(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) { -+ char *__pyx_v_name; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("enum_valueof (wrapper)", 0); -+ assert(__pyx_arg_name); { -+ __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_valueof", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_10TypeEnumID_4enum_valueof(((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self), ((char *)__pyx_v_name)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":1094 - * - * -@@ -7942,25 +8844,17 @@ static PyObject *__pyx_pf_4h5py_3h5t_10T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_2enum_valueof(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/ --static char __pyx_doc_4h5py_3h5t_10TypeEnumID_2enum_valueof[] = "(STRING name) => LONG value\n\n Get the value associated with an enum name.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_2enum_valueof(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) { -- char *__pyx_v_name; -+static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_4enum_valueof(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, char *__pyx_v_name) { - PY_LONG_LONG __pyx_v_buf; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - herr_t __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("enum_valueof"); -- assert(__pyx_arg_name); { -- __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_valueof"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("enum_valueof", 0); - - /* "h5py/h5t.pyx":1101 - * cdef long long buf -@@ -7969,7 +8863,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_10T - * self.enum_convert(&buf, 1) - * return buf - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tenum_valueof(((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_name, (&__pyx_v_buf)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tenum_valueof(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_name, (&__pyx_v_buf)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5t.pyx":1102 - * -@@ -7978,7 +8872,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_10T - * return buf - * - */ -- __pyx_t_2 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *)((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_vtab)->enum_convert(((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self), (&__pyx_v_buf), 1); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->enum_convert(__pyx_v_self, (&__pyx_v_buf), 1); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5t.pyx":1103 - * H5Tenum_valueof(self.id, name, &buf) -@@ -7998,7 +8892,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_10T - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_valueof"); -+ __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_valueof", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -8006,6 +8900,28 @@ static PyObject *__pyx_pf_4h5py_3h5t_10T - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_7get_member_value(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_10TypeEnumID_6get_member_value[] = "(UINT index) => LONG value\n\n Determine the value for the member at the given zero-based index.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_7get_member_value(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx) { -+ int __pyx_v_idx; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("get_member_value (wrapper)", 0); -+ assert(__pyx_arg_idx); { -+ __pyx_v_idx = __Pyx_PyInt_AsInt(__pyx_arg_idx); if (unlikely((__pyx_v_idx == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ goto __pyx_L4_argument_unpacking_done; -+ __pyx_L3_error:; -+ __Pyx_AddTraceback("h5py.h5t.TypeEnumID.get_member_value", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __Pyx_RefNannyFinishContext(); -+ return NULL; -+ __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_10TypeEnumID_6get_member_value(((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self), ((int)__pyx_v_idx)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":1106 - * - * -@@ -8014,27 +8930,19 @@ static PyObject *__pyx_pf_4h5py_3h5t_10T - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_3get_member_value(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx); /*proto*/ --static char __pyx_doc_4h5py_3h5t_10TypeEnumID_3get_member_value[] = "(UINT index) => LONG value\n\n Determine the value for the member at the given zero-based index.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_3get_member_value(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx) { -- int __pyx_v_idx; -- hid_t __pyx_v_ptype; -+static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_6get_member_value(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, int __pyx_v_idx) { -+ CYTHON_UNUSED hid_t __pyx_v_ptype; - PY_LONG_LONG __pyx_v_val; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - herr_t __pyx_t_3; - int __pyx_t_4; -- __Pyx_RefNannySetupContext("get_member_value"); -- assert(__pyx_arg_idx); { -- __pyx_v_idx = __Pyx_PyInt_AsInt(__pyx_arg_idx); if (unlikely((__pyx_v_idx == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- goto __pyx_L4_argument_unpacking_done; -- __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.TypeEnumID.get_member_value"); -- __Pyx_RefNannyFinishContext(); -- return NULL; -- __pyx_L4_argument_unpacking_done:; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("get_member_value", 0); - - /* "h5py/h5t.pyx":1114 - * cdef hid_t ptype -@@ -8064,12 +8972,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_10T - */ - __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_20), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __Pyx_Raise(__pyx_t_2, 0, 0); -+ __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L5; -+ goto __pyx_L3; - } -- __pyx_L5:; -+ __pyx_L3:; - - /* "h5py/h5t.pyx":1119 - * raise ValueError("Index must be non-negative.") -@@ -8078,7 +8986,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_10T - * self.enum_convert(&val, 1) - * return val - */ -- __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tget_member_value(((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_idx, (&__pyx_v_val)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tget_member_value(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_idx, (&__pyx_v_val)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5t.pyx":1120 - * -@@ -8087,7 +8995,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_10T - * return val - * - */ -- __pyx_t_4 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *)((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self)->__pyx_base.__pyx_base.__pyx_vtab)->enum_convert(((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self), (&__pyx_v_val), 1); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->enum_convert(__pyx_v_self, (&__pyx_v_val), 1); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5t.pyx":1121 - * H5Tget_member_value(self.id, idx, &val) -@@ -8107,7 +9015,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_10T - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t.TypeEnumID.get_member_value"); -+ __Pyx_AddTraceback("h5py.h5t.TypeEnumID.get_member_value", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -8123,37 +9031,40 @@ static PyObject *__pyx_pf_4h5py_3h5t_10T - * - */ - --static PyObject *__pyx_f_4h5py_3h5t_10TypeEnumID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self) { -+static PyObject *__pyx_f_4h5py_3h5t_10TypeEnumID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self) { - struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_basetype = 0; -- PyObject *__pyx_v_nmembers; -- PyObject *__pyx_v_members; -- PyObject *__pyx_v_idx; -- PyObject *__pyx_v_name; -- PyObject *__pyx_v_val; -- PyObject *__pyx_v_ref; -- PyObject *__pyx_v_members_conv; -- PyObject *__pyx_v_uname; -+ PyObject *__pyx_v_nmembers = NULL; -+ PyObject *__pyx_v_members = NULL; -+ PyObject *__pyx_v_idx = NULL; -+ PyObject *__pyx_v_name = NULL; -+ PyObject *__pyx_v_val = NULL; -+ PyObject *__pyx_v_ref = NULL; -+ PyObject *__pyx_v_members_conv = NULL; -+ PyObject *__pyx_v_uname = NULL; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - Py_ssize_t __pyx_t_3; -- PyObject *__pyx_t_4 = NULL; -+ PyObject *(*__pyx_t_4)(PyObject *); - PyObject *__pyx_t_5 = NULL; -- int __pyx_t_6; -- void *__pyx_t_7; -- void *__pyx_t_8; -+ PyObject *__pyx_t_6 = NULL; -+ int __pyx_t_7; -+ Py_ssize_t __pyx_t_8; - int __pyx_t_9; -- PyObject *__pyx_t_10 = NULL; -+ int __pyx_t_10; - PyObject *__pyx_t_11 = NULL; -- __Pyx_RefNannySetupContext("py_dtype"); -- __pyx_v_nmembers = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v_members = ((PyObject*)Py_None); __Pyx_INCREF(Py_None); -- __pyx_v_idx = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v_name = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v_val = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v_ref = ((PyObject*)Py_None); __Pyx_INCREF(Py_None); -- __pyx_v_members_conv = ((PyObject*)Py_None); __Pyx_INCREF(Py_None); -- __pyx_v_uname = Py_None; __Pyx_INCREF(Py_None); -+ PyObject *__pyx_t_12 = NULL; -+ PyObject *__pyx_t_13 = NULL; -+ PyObject *__pyx_t_14 = NULL; -+ PyObject *__pyx_t_15 = NULL; -+ PyObject *__pyx_t_16 = NULL; -+ PyObject *__pyx_t_17 = NULL; -+ PyObject *__pyx_t_18 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("py_dtype", 0); - - /* "h5py/h5t.pyx":1126 - * # Translation function for enum types -@@ -8183,7 +9094,6 @@ static PyObject *__pyx_f_4h5py_3h5t_10T - __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(__pyx_v_nmembers); - __pyx_v_nmembers = __pyx_t_1; - __pyx_t_1 = 0; - -@@ -8196,7 +9106,6 @@ static PyObject *__pyx_f_4h5py_3h5t_10T - */ - __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -- __Pyx_DECREF(((PyObject *)__pyx_v_members)); - __pyx_v_members = __pyx_t_1; - __pyx_t_1 = 0; - -@@ -8208,7 +9117,7 @@ static PyObject *__pyx_f_4h5py_3h5t_10T - * val = self.get_member_value(idx) - */ - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -+ __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_nmembers); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_nmembers); - __Pyx_GIVEREF(__pyx_v_nmembers); -@@ -8216,28 +9125,41 @@ static PyObject *__pyx_f_4h5py_3h5t_10T - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; - if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) { -- __pyx_t_3 = 0; __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); -+ __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0; -+ __pyx_t_4 = NULL; - } else { - __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - for (;;) { -- if (likely(PyList_CheckExact(__pyx_t_1))) { -+ if (!__pyx_t_4 && PyList_CheckExact(__pyx_t_1)) { - if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break; -- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; -- } else if (likely(PyTuple_CheckExact(__pyx_t_1))) { -+ #if CYTHON_COMPILING_IN_CPYTHON -+ __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #else -+ __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif -+ } else if (!__pyx_t_4 && PyTuple_CheckExact(__pyx_t_1)) { - if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break; -- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; -+ #if CYTHON_COMPILING_IN_CPYTHON -+ __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #else -+ __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif - } else { -- __pyx_t_2 = PyIter_Next(__pyx_t_1); -- if (!__pyx_t_2) { -- if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = __pyx_t_4(__pyx_t_1); -+ if (unlikely(!__pyx_t_2)) { -+ if (PyErr_Occurred()) { -+ if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear(); -+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } - break; - } - __Pyx_GOTREF(__pyx_t_2); - } -- __Pyx_DECREF(__pyx_v_idx); -+ __Pyx_XDECREF(__pyx_v_idx); - __pyx_v_idx = __pyx_t_2; - __pyx_t_2 = 0; - -@@ -8250,18 +9172,18 @@ static PyObject *__pyx_f_4h5py_3h5t_10T - */ - __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_member_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(__pyx_v_idx); -- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_idx); -+ PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_idx); - __Pyx_GIVEREF(__pyx_v_idx); -- __pyx_t_5 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -+ __pyx_t_6 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; -- __Pyx_DECREF(__pyx_v_name); -- __pyx_v_name = __pyx_t_5; -- __pyx_t_5 = 0; -+ __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; -+ __Pyx_XDECREF(__pyx_v_name); -+ __pyx_v_name = __pyx_t_6; -+ __pyx_t_6 = 0; - - /* "h5py/h5t.pyx":1133 - * for idx in xrange(nmembers): -@@ -8270,18 +9192,18 @@ static PyObject *__pyx_f_4h5py_3h5t_10T - * members[name] = val - * - */ -- __pyx_t_5 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_member_value); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_6 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_member_value); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_6); -+ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); -- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); - __Pyx_INCREF(__pyx_v_idx); -- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_idx); -+ PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_idx); - __Pyx_GIVEREF(__pyx_v_idx); -- __pyx_t_2 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -- __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; -- __Pyx_DECREF(__pyx_v_val); -+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -+ __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; -+ __Pyx_XDECREF(__pyx_v_val); - __pyx_v_val = __pyx_t_2; - __pyx_t_2 = 0; - -@@ -8307,19 +9229,18 @@ static PyObject *__pyx_f_4h5py_3h5t_10T - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_4 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s___f_name); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -+ __pyx_t_5 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s___f_name); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __pyx_t_2 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s___t_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (PyDict_SetItem(__pyx_t_1, __pyx_t_5, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ __pyx_t_2 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s___t_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(((PyObject *)__pyx_v_ref)); - __pyx_v_ref = __pyx_t_1; - __pyx_t_1 = 0; - -@@ -8330,11 +9251,10 @@ static PyObject *__pyx_f_4h5py_3h5t_10T - * return dtype('bool') - * - */ -- __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_members), ((PyObject *)__pyx_v_ref), Py_EQ); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_members), ((PyObject *)__pyx_v_ref), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- if (__pyx_t_6) { -+ if (__pyx_t_7) { - - /* "h5py/h5t.pyx":1140 - * # Boolean types have priority over standard enums -@@ -8362,7 +9282,6 @@ static PyObject *__pyx_f_4h5py_3h5t_10T - */ - __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -- __Pyx_DECREF(((PyObject *)__pyx_v_members_conv)); - __pyx_v_members_conv = __pyx_t_1; - __pyx_t_1 = 0; - -@@ -8373,18 +9292,24 @@ static PyObject *__pyx_f_4h5py_3h5t_10T - * try: # ASCII; Py2 -> preserve bytes, Py3 -> make unicode - * uname = name.decode('ascii') - */ -- __Pyx_INCREF(((PyObject *)__pyx_v_members)); -- __Pyx_XDECREF(__pyx_t_1); -- __pyx_t_1 = ((PyObject *)__pyx_v_members); - __pyx_t_3 = 0; -+ __pyx_t_2 = __Pyx_dict_iterator(((PyObject *)__pyx_v_members), 1, ((PyObject *)__pyx_n_s__iteritems), (&__pyx_t_8), (&__pyx_t_9)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_2); -+ __Pyx_XDECREF(__pyx_t_1); -+ __pyx_t_1 = __pyx_t_2; -+ __pyx_t_2 = 0; - while (1) { -- if (!PyDict_Next(__pyx_t_1, (&__pyx_t_3), ((PyObject **)(&__pyx_t_7)), ((PyObject **)(&__pyx_t_8)))) break; -- __Pyx_INCREF(((PyObject *)__pyx_t_7)); -- __Pyx_DECREF(__pyx_v_name); -- __pyx_v_name = ((PyObject *)__pyx_t_7); -- __Pyx_INCREF(((PyObject *)__pyx_t_8)); -- __Pyx_DECREF(__pyx_v_val); -- __pyx_v_val = ((PyObject *)__pyx_t_8); -+ __pyx_t_10 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_8, &__pyx_t_3, &__pyx_t_2, &__pyx_t_5, NULL, __pyx_t_9); -+ if (unlikely(__pyx_t_10 == 0)) break; -+ if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_2); -+ __Pyx_GOTREF(__pyx_t_5); -+ __Pyx_XDECREF(__pyx_v_name); -+ __pyx_v_name = __pyx_t_2; -+ __pyx_t_2 = 0; -+ __Pyx_XDECREF(__pyx_v_val); -+ __pyx_v_val = __pyx_t_5; -+ __pyx_t_5 = 0; - - /* "h5py/h5t.pyx":1145 - * members_conv = {} -@@ -8394,11 +9319,10 @@ static PyObject *__pyx_f_4h5py_3h5t_10T - * if PY3: - */ - { -- PyObject *__pyx_save_exc_type, *__pyx_save_exc_value, *__pyx_save_exc_tb; -- __Pyx_ExceptionSave(&__pyx_save_exc_type, &__pyx_save_exc_value, &__pyx_save_exc_tb); -- __Pyx_XGOTREF(__pyx_save_exc_type); -- __Pyx_XGOTREF(__pyx_save_exc_value); -- __Pyx_XGOTREF(__pyx_save_exc_tb); -+ __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); -+ __Pyx_XGOTREF(__pyx_t_11); -+ __Pyx_XGOTREF(__pyx_t_12); -+ __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - - /* "h5py/h5t.pyx":1146 -@@ -8408,14 +9332,14 @@ static PyObject *__pyx_f_4h5py_3h5t_10T - * if PY3: - * name = uname - */ -- __pyx_t_2 = PyObject_GetAttr(__pyx_v_name, __pyx_n_s__decode); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -+ __pyx_t_5 = PyObject_GetAttr(__pyx_v_name, __pyx_n_s__decode); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ __pyx_t_2 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_k_tuple_22), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L8_error;} - __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_k_tuple_22), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(__pyx_v_uname); -- __pyx_v_uname = __pyx_t_4; -- __pyx_t_4 = 0; -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_XDECREF(__pyx_v_uname); -+ __pyx_v_uname = __pyx_t_2; -+ __pyx_t_2 = 0; - - /* "h5py/h5t.pyx":1147 - * try: # ASCII; Py2 -> preserve bytes, Py3 -> make unicode -@@ -8424,11 +9348,11 @@ static PyObject *__pyx_f_4h5py_3h5t_10T - * name = uname - * except UnicodeDecodeError: - */ -- __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__PY3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1147; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1147; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- if (__pyx_t_6) { -+ __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__PY3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1147; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -+ __Pyx_GOTREF(__pyx_t_2); -+ __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1147; __pyx_clineno = __LINE__; goto __pyx_L8_error;} -+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -+ if (__pyx_t_7) { - - /* "h5py/h5t.pyx":1148 - * uname = name.decode('ascii') -@@ -8444,14 +9368,14 @@ static PyObject *__pyx_f_4h5py_3h5t_10T - } - __pyx_L16:; - } -- __Pyx_XDECREF(__pyx_save_exc_type); __pyx_save_exc_type = 0; -- __Pyx_XDECREF(__pyx_save_exc_value); __pyx_save_exc_value = 0; -- __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0; -+ __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; -+ __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; -+ __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L15_try_end; - __pyx_L8_error:; -+ __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":1149 - * if PY3: -@@ -8460,13 +9384,13 @@ static PyObject *__pyx_f_4h5py_3h5t_10T - * try: # Non-ascii; all platforms try unicode - * name = name.decode('utf8') - */ -- __pyx_t_9 = PyErr_ExceptionMatches(__pyx_builtin_UnicodeDecodeError); -- if (__pyx_t_9) { -- __Pyx_AddTraceback("h5py.h5t.TypeEnumID.py_dtype"); -- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_2, &__pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} -- __Pyx_GOTREF(__pyx_t_4); -+ __pyx_t_10 = PyErr_ExceptionMatches(__pyx_builtin_UnicodeDecodeError); -+ if (__pyx_t_10) { -+ __Pyx_AddTraceback("h5py.h5t.TypeEnumID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_5); -+ __Pyx_GOTREF(__pyx_t_6); - - /* "h5py/h5t.pyx":1150 - * name = uname -@@ -8476,11 +9400,10 @@ static PyObject *__pyx_f_4h5py_3h5t_10T - * except UnicodeDecodeError: - */ - { -- PyObject *__pyx_save_exc_type, *__pyx_save_exc_value, *__pyx_save_exc_tb; -- __Pyx_ExceptionSave(&__pyx_save_exc_type, &__pyx_save_exc_value, &__pyx_save_exc_tb); -- __Pyx_XGOTREF(__pyx_save_exc_type); -- __Pyx_XGOTREF(__pyx_save_exc_value); -- __Pyx_XGOTREF(__pyx_save_exc_tb); -+ __Pyx_ExceptionSave(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); -+ __Pyx_XGOTREF(__pyx_t_14); -+ __Pyx_XGOTREF(__pyx_t_15); -+ __Pyx_XGOTREF(__pyx_t_16); - /*try:*/ { - - /* "h5py/h5t.pyx":1151 -@@ -8490,22 +9413,22 @@ static PyObject *__pyx_f_4h5py_3h5t_10T - * except UnicodeDecodeError: - * pass # Last resort: return byte string - */ -- __pyx_t_10 = PyObject_GetAttr(__pyx_v_name, __pyx_n_s__decode); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; __pyx_clineno = __LINE__; goto __pyx_L19_error;} -- __Pyx_GOTREF(__pyx_t_10); -- __pyx_t_11 = PyObject_Call(__pyx_t_10, ((PyObject *)__pyx_k_tuple_23), NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; __pyx_clineno = __LINE__; goto __pyx_L19_error;} -- __Pyx_GOTREF(__pyx_t_11); -- __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; -+ __pyx_t_17 = PyObject_GetAttr(__pyx_v_name, __pyx_n_s__decode); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; __pyx_clineno = __LINE__; goto __pyx_L19_error;} -+ __Pyx_GOTREF(__pyx_t_17); -+ __pyx_t_18 = PyObject_Call(__pyx_t_17, ((PyObject *)__pyx_k_tuple_23), NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; __pyx_clineno = __LINE__; goto __pyx_L19_error;} -+ __Pyx_GOTREF(__pyx_t_18); -+ __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_v_name); -- __pyx_v_name = __pyx_t_11; -- __pyx_t_11 = 0; -+ __pyx_v_name = __pyx_t_18; -+ __pyx_t_18 = 0; - } -- __Pyx_XDECREF(__pyx_save_exc_type); __pyx_save_exc_type = 0; -- __Pyx_XDECREF(__pyx_save_exc_value); __pyx_save_exc_value = 0; -- __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0; -+ __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; -+ __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; -+ __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - goto __pyx_L26_try_end; - __pyx_L19_error:; -- __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; -- __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; -+ __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; -+ __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - - /* "h5py/h5t.pyx":1152 - * try: # Non-ascii; all platforms try unicode -@@ -8514,39 +9437,39 @@ static PyObject *__pyx_f_4h5py_3h5t_10T - * pass # Last resort: return byte string - * members_conv[name] = val - */ -- __pyx_t_9 = PyErr_ExceptionMatches(__pyx_builtin_UnicodeDecodeError); -- if (__pyx_t_9) { -+ __pyx_t_10 = PyErr_ExceptionMatches(__pyx_builtin_UnicodeDecodeError); -+ if (__pyx_t_10) { - PyErr_Restore(0,0,0); - goto __pyx_L20_exception_handled; - } -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -+ __Pyx_XGIVEREF(__pyx_t_14); -+ __Pyx_XGIVEREF(__pyx_t_15); -+ __Pyx_XGIVEREF(__pyx_t_16); -+ __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); - goto __pyx_L10_except_error; - __pyx_L20_exception_handled:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -+ __Pyx_XGIVEREF(__pyx_t_14); -+ __Pyx_XGIVEREF(__pyx_t_15); -+ __Pyx_XGIVEREF(__pyx_t_16); -+ __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); - __pyx_L26_try_end:; - } -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L9_exception_handled; - } - __pyx_L10_except_error:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -+ __Pyx_XGIVEREF(__pyx_t_11); -+ __Pyx_XGIVEREF(__pyx_t_12); -+ __Pyx_XGIVEREF(__pyx_t_13); -+ __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L1_error; - __pyx_L9_exception_handled:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -+ __Pyx_XGIVEREF(__pyx_t_11); -+ __Pyx_XGIVEREF(__pyx_t_12); -+ __Pyx_XGIVEREF(__pyx_t_13); -+ __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __pyx_L15_try_end:; - } - -@@ -8571,26 +9494,26 @@ static PyObject *__pyx_f_4h5py_3h5t_10T - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__special_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -- __pyx_t_2 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeID *)__pyx_v_basetype->__pyx_vtab)->py_dtype(__pyx_v_basetype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_6 = PyDict_New(); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_6)); -+ __pyx_t_5 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeID *)__pyx_v_basetype->__pyx_vtab)->py_dtype(__pyx_v_basetype); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); -- __Pyx_GIVEREF(__pyx_t_2); -+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); -+ __Pyx_GIVEREF(__pyx_t_5); - __Pyx_INCREF(((PyObject *)__pyx_v_members_conv)); -- PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_members_conv)); -+ PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_members_conv)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_members_conv)); -- __pyx_t_2 = 0; -- if (PyDict_SetItem(__pyx_t_5, ((PyObject *)__pyx_n_s__enum), ((PyObject *)__pyx_t_4)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; -- __pyx_t_4 = PyEval_CallObjectWithKeywords(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_5)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -+ __pyx_t_5 = 0; -+ if (PyDict_SetItem(__pyx_t_6, ((PyObject *)__pyx_n_s__enum), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; -+ __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_6)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; -- __pyx_r = __pyx_t_4; -- __pyx_t_4 = 0; -+ __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; -+ __pyx_r = __pyx_t_2; -+ __pyx_t_2 = 0; - goto __pyx_L0; - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); -@@ -8598,22 +9521,22 @@ static PyObject *__pyx_f_4h5py_3h5t_10T - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); -- __Pyx_XDECREF(__pyx_t_10); -- __Pyx_XDECREF(__pyx_t_11); -- __Pyx_AddTraceback("h5py.h5t.TypeEnumID.py_dtype"); -+ __Pyx_XDECREF(__pyx_t_6); -+ __Pyx_XDECREF(__pyx_t_17); -+ __Pyx_XDECREF(__pyx_t_18); -+ __Pyx_AddTraceback("h5py.h5t.TypeEnumID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_basetype); -- __Pyx_DECREF(__pyx_v_nmembers); -- __Pyx_DECREF(__pyx_v_members); -- __Pyx_DECREF(__pyx_v_idx); -- __Pyx_DECREF(__pyx_v_name); -- __Pyx_DECREF(__pyx_v_val); -- __Pyx_DECREF(__pyx_v_ref); -- __Pyx_DECREF(__pyx_v_members_conv); -- __Pyx_DECREF(__pyx_v_uname); -+ __Pyx_XDECREF(__pyx_v_nmembers); -+ __Pyx_XDECREF(__pyx_v_members); -+ __Pyx_XDECREF(__pyx_v_idx); -+ __Pyx_XDECREF(__pyx_v_name); -+ __Pyx_XDECREF(__pyx_v_val); -+ __Pyx_XDECREF(__pyx_v_ref); -+ __Pyx_XDECREF(__pyx_v_members_conv); -+ __Pyx_XDECREF(__pyx_v_uname); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -@@ -8627,17 +9550,24 @@ static PyObject *__pyx_f_4h5py_3h5t_10T - * cdef hid_t tid - */ - --static struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_f_4h5py_3h5t__c_float(PyArray_Descr *__pyx_v_dt) { -+static struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_f_4h5py_3h5t__c_float(PyArray_Descr *__pyx_v_dt) { - hid_t __pyx_v_tid; - struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; -- hid_t __pyx_t_2; -- int __pyx_t_3; -+ PyObject *__pyx_t_2 = NULL; -+ PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; -- PyObject *__pyx_t_5 = NULL; -- PyObject *__pyx_t_6 = NULL; -+ hid_t __pyx_t_5; -+ int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; -- __Pyx_RefNannySetupContext("_c_float"); -+ PyObject *__pyx_t_8 = NULL; -+ PyObject *__pyx_t_9 = NULL; -+ PyObject *__pyx_t_10 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("_c_float", 0); - - /* "h5py/h5t.pyx":1180 - * cdef hid_t tid -@@ -8647,11 +9577,10 @@ static struct __pyx_obj_4h5py_3h5t_Type - * tid = _float_le[dt.elsize] - */ - { -- PyObject *__pyx_save_exc_type, *__pyx_save_exc_value, *__pyx_save_exc_tb; -- __Pyx_ExceptionSave(&__pyx_save_exc_type, &__pyx_save_exc_value, &__pyx_save_exc_tb); -- __Pyx_XGOTREF(__pyx_save_exc_type); -- __Pyx_XGOTREF(__pyx_save_exc_value); -- __Pyx_XGOTREF(__pyx_save_exc_tb); -+ __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); -+ __Pyx_XGOTREF(__pyx_t_1); -+ __Pyx_XGOTREF(__pyx_t_2); -+ __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - /* "h5py/h5t.pyx":1183 -@@ -8679,11 +9608,15 @@ static struct __pyx_obj_4h5py_3h5t_Type - * elif dt.byteorder == c'>': - * tid = _float_be[dt.elsize] - */ -- __pyx_t_1 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__float_le), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_2 = __Pyx_PyInt_from_py_hid_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __pyx_v_tid = __pyx_t_2; -+ if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__float_le) == Py_None)) { -+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ __pyx_t_4 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__float_le), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __pyx_t_5 = __Pyx_PyInt_from_py_hid_t(__pyx_t_4); if (unlikely((__pyx_t_5 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __pyx_v_tid = __pyx_t_5; - break; - - /* "h5py/h5t.pyx":1183 -@@ -8702,11 +9635,15 @@ static struct __pyx_obj_4h5py_3h5t_Type - * else: - * tid = _float_nt[dt.elsize] - */ -- __pyx_t_1 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__float_be), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_2 = __Pyx_PyInt_from_py_hid_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __pyx_v_tid = __pyx_t_2; -+ if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__float_be) == Py_None)) { -+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ __pyx_t_4 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__float_be), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __pyx_t_5 = __Pyx_PyInt_from_py_hid_t(__pyx_t_4); if (unlikely((__pyx_t_5 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __pyx_v_tid = __pyx_t_5; - break; - default: - -@@ -8717,20 +9654,24 @@ static struct __pyx_obj_4h5py_3h5t_Type - * except KeyError: - * raise TypeError("Unsupported float size (%s)" % dt.elsize) - */ -- __pyx_t_1 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__float_nt), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_2 = __Pyx_PyInt_from_py_hid_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __pyx_v_tid = __pyx_t_2; -+ if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__float_nt) == Py_None)) { -+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ __pyx_t_4 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__float_nt), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __pyx_t_5 = __Pyx_PyInt_from_py_hid_t(__pyx_t_4); if (unlikely((__pyx_t_5 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __pyx_v_tid = __pyx_t_5; - break; - } - } -- __Pyx_XDECREF(__pyx_save_exc_type); __pyx_save_exc_type = 0; -- __Pyx_XDECREF(__pyx_save_exc_value); __pyx_save_exc_value = 0; -- __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0; -+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; -+ __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L10_try_end; - __pyx_L3_error:; -- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":1187 - * else: -@@ -8739,13 +9680,13 @@ static struct __pyx_obj_4h5py_3h5t_Type - * raise TypeError("Unsupported float size (%s)" % dt.elsize) - * - */ -- __pyx_t_3 = PyErr_ExceptionMatches(__pyx_builtin_KeyError); -- if (__pyx_t_3) { -- __Pyx_AddTraceback("h5py.h5t._c_float"); -- if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1187; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -- __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_6 = PyErr_ExceptionMatches(__pyx_builtin_KeyError); -+ if (__pyx_t_6) { -+ __Pyx_AddTraceback("h5py.h5t._c_float", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_7, &__pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1187; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} - __Pyx_GOTREF(__pyx_t_4); -- __Pyx_GOTREF(__pyx_t_5); -+ __Pyx_GOTREF(__pyx_t_7); -+ __Pyx_GOTREF(__pyx_t_8); - - /* "h5py/h5t.pyx":1188 - * tid = _float_nt[dt.elsize] -@@ -8754,38 +9695,38 @@ static struct __pyx_obj_4h5py_3h5t_Type - * - * return TypeFloatID(H5Tcopy(tid)) - */ -- __pyx_t_6 = PyInt_FromLong(__pyx_v_dt->elsize); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -- __Pyx_GOTREF(__pyx_t_6); -- __pyx_t_7 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_24), __pyx_t_6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_7)); -- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -- __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_6)); -- PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_t_7)); -- __Pyx_GIVEREF(((PyObject *)__pyx_t_7)); -- __pyx_t_7 = 0; -- __pyx_t_7 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -- __Pyx_GOTREF(__pyx_t_7); -- __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; -- __Pyx_Raise(__pyx_t_7, 0, 0); -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __pyx_t_9 = PyInt_FromLong(__pyx_v_dt->elsize); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -+ __Pyx_GOTREF(__pyx_t_9); -+ __pyx_t_10 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_24), __pyx_t_9); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_10)); -+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; -+ __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -+ __Pyx_GOTREF(__pyx_t_9); -+ PyTuple_SET_ITEM(__pyx_t_9, 0, ((PyObject *)__pyx_t_10)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_t_10)); -+ __pyx_t_10 = 0; -+ __pyx_t_10 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_9), NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -+ __Pyx_GOTREF(__pyx_t_10); -+ __Pyx_DECREF(((PyObject *)__pyx_t_9)); __pyx_t_9 = 0; -+ __Pyx_Raise(__pyx_t_10, 0, 0, 0); -+ __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L4_exception_handled; - } - __pyx_L5_except_error:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -+ __Pyx_XGIVEREF(__pyx_t_1); -+ __Pyx_XGIVEREF(__pyx_t_2); -+ __Pyx_XGIVEREF(__pyx_t_3); -+ __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L4_exception_handled:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -+ __Pyx_XGIVEREF(__pyx_t_1); -+ __Pyx_XGIVEREF(__pyx_t_2); -+ __Pyx_XGIVEREF(__pyx_t_3); -+ __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - __pyx_L10_try_end:; - } - -@@ -8797,30 +9738,30 @@ static struct __pyx_obj_4h5py_3h5t_Type - * cdef TypeIntegerID _c_int(dtype dt): - */ - __Pyx_XDECREF(((PyObject *)__pyx_r)); -- __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tcopy(__pyx_v_tid); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __pyx_t_5 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); -- __Pyx_GIVEREF(__pyx_t_5); -- __pyx_t_5 = 0; -- __pyx_t_5 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeFloatID)), ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; -- __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_t_5); -- __pyx_t_5 = 0; -+ __pyx_t_5 = __pyx_f_4h5py_4defs_H5Tcopy(__pyx_v_tid); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_8 = __Pyx_PyInt_to_py_hid_t(__pyx_t_5); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_7); -+ PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_8); -+ __Pyx_GIVEREF(__pyx_t_8); -+ __pyx_t_8 = 0; -+ __pyx_t_8 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeFloatID)), ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); -+ __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; -+ __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_t_8); -+ __pyx_t_8 = 0; - goto __pyx_L0; - - __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)Py_None); __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_XDECREF(__pyx_t_5); -- __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); -- __Pyx_AddTraceback("h5py.h5t._c_float"); -+ __Pyx_XDECREF(__pyx_t_8); -+ __Pyx_XDECREF(__pyx_t_9); -+ __Pyx_XDECREF(__pyx_t_10); -+ __Pyx_AddTraceback("h5py.h5t._c_float", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF((PyObject *)__pyx_r); -@@ -8836,18 +9777,25 @@ static struct __pyx_obj_4h5py_3h5t_Type - * cdef hid_t tid - */ - --static struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_f_4h5py_3h5t__c_int(PyArray_Descr *__pyx_v_dt) { -+static struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_f_4h5py_3h5t__c_int(PyArray_Descr *__pyx_v_dt) { - hid_t __pyx_v_tid; - struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_r = NULL; -- int __pyx_t_1; -+ __Pyx_RefNannyDeclarations -+ PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; -- hid_t __pyx_t_3; -- PyObject *__pyx_t_4 = NULL; -- int __pyx_t_5; -- PyObject *__pyx_t_6 = NULL; -+ PyObject *__pyx_t_3 = NULL; -+ int __pyx_t_4; -+ PyObject *__pyx_t_5 = NULL; -+ hid_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; -- PyObject *__pyx_t_8 = NULL; -- __Pyx_RefNannySetupContext("_c_int"); -+ int __pyx_t_8; -+ PyObject *__pyx_t_9 = NULL; -+ PyObject *__pyx_t_10 = NULL; -+ PyObject *__pyx_t_11 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("_c_int", 0); - - /* "h5py/h5t.pyx":1196 - * cdef hid_t tid -@@ -8857,11 +9805,10 @@ static struct __pyx_obj_4h5py_3h5t_Type - * if dt.byteorder == c'<': - */ - { -- PyObject *__pyx_save_exc_type, *__pyx_save_exc_value, *__pyx_save_exc_tb; -- __Pyx_ExceptionSave(&__pyx_save_exc_type, &__pyx_save_exc_value, &__pyx_save_exc_tb); -- __Pyx_XGOTREF(__pyx_save_exc_type); -- __Pyx_XGOTREF(__pyx_save_exc_value); -- __Pyx_XGOTREF(__pyx_save_exc_tb); -+ __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); -+ __Pyx_XGOTREF(__pyx_t_1); -+ __Pyx_XGOTREF(__pyx_t_2); -+ __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - /* "h5py/h5t.pyx":1204 -@@ -8889,8 +9836,8 @@ static struct __pyx_obj_4h5py_3h5t_Type - * tid = _int_le[dt.elsize] - * elif dt.byteorder == c'>': - */ -- __pyx_t_1 = (__pyx_v_dt->byteorder == '<'); -- if (__pyx_t_1) { -+ __pyx_t_4 = (__pyx_v_dt->byteorder == '<'); -+ if (__pyx_t_4) { - - /* "h5py/h5t.pyx":1199 - * if dt.kind == c'i': -@@ -8899,11 +9846,15 @@ static struct __pyx_obj_4h5py_3h5t_Type - * elif dt.byteorder == c'>': - * tid = _int_be[dt.elsize] - */ -- __pyx_t_2 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__int_le), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __pyx_v_tid = __pyx_t_3; -+ if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__int_le) == Py_None)) { -+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__int_le), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ __pyx_t_6 = __Pyx_PyInt_from_py_hid_t(__pyx_t_5); if (unlikely((__pyx_t_6 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_v_tid = __pyx_t_6; - goto __pyx_L11; - } - -@@ -8914,8 +9865,8 @@ static struct __pyx_obj_4h5py_3h5t_Type - * tid = _int_be[dt.elsize] - * else: - */ -- __pyx_t_1 = (__pyx_v_dt->byteorder == '>'); -- if (__pyx_t_1) { -+ __pyx_t_4 = (__pyx_v_dt->byteorder == '>'); -+ if (__pyx_t_4) { - - /* "h5py/h5t.pyx":1201 - * tid = _int_le[dt.elsize] -@@ -8924,11 +9875,15 @@ static struct __pyx_obj_4h5py_3h5t_Type - * else: - * tid = _int_nt[dt.elsize] - */ -- __pyx_t_2 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__int_be), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1201; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1201; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __pyx_v_tid = __pyx_t_3; -+ if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__int_be) == Py_None)) { -+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1201; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__int_be), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1201; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ __pyx_t_6 = __Pyx_PyInt_from_py_hid_t(__pyx_t_5); if (unlikely((__pyx_t_6 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1201; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_v_tid = __pyx_t_6; - goto __pyx_L11; - } - /*else*/ { -@@ -8940,11 +9895,15 @@ static struct __pyx_obj_4h5py_3h5t_Type - * elif dt.kind == c'u': - * if dt.byteorder == c'<': - */ -- __pyx_t_2 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__int_nt), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __pyx_v_tid = __pyx_t_3; -+ if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__int_nt) == Py_None)) { -+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__int_nt), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ __pyx_t_6 = __Pyx_PyInt_from_py_hid_t(__pyx_t_5); if (unlikely((__pyx_t_6 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_v_tid = __pyx_t_6; - } - __pyx_L11:; - break; -@@ -8965,8 +9924,8 @@ static struct __pyx_obj_4h5py_3h5t_Type - * tid = _uint_le[dt.elsize] - * elif dt.byteorder == c'>': - */ -- __pyx_t_1 = (__pyx_v_dt->byteorder == '<'); -- if (__pyx_t_1) { -+ __pyx_t_4 = (__pyx_v_dt->byteorder == '<'); -+ if (__pyx_t_4) { - - /* "h5py/h5t.pyx":1206 - * elif dt.kind == c'u': -@@ -8975,11 +9934,15 @@ static struct __pyx_obj_4h5py_3h5t_Type - * elif dt.byteorder == c'>': - * tid = _uint_be[dt.elsize] - */ -- __pyx_t_2 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__uint_le), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __pyx_v_tid = __pyx_t_3; -+ if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__uint_le) == Py_None)) { -+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__uint_le), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ __pyx_t_6 = __Pyx_PyInt_from_py_hid_t(__pyx_t_5); if (unlikely((__pyx_t_6 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_v_tid = __pyx_t_6; - goto __pyx_L12; - } - -@@ -8990,8 +9953,8 @@ static struct __pyx_obj_4h5py_3h5t_Type - * tid = _uint_be[dt.elsize] - * else: - */ -- __pyx_t_1 = (__pyx_v_dt->byteorder == '>'); -- if (__pyx_t_1) { -+ __pyx_t_4 = (__pyx_v_dt->byteorder == '>'); -+ if (__pyx_t_4) { - - /* "h5py/h5t.pyx":1208 - * tid = _uint_le[dt.elsize] -@@ -9000,11 +9963,15 @@ static struct __pyx_obj_4h5py_3h5t_Type - * else: - * tid = _uint_nt[dt.elsize] - */ -- __pyx_t_2 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__uint_be), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __pyx_v_tid = __pyx_t_3; -+ if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__uint_be) == Py_None)) { -+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__uint_be), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ __pyx_t_6 = __Pyx_PyInt_from_py_hid_t(__pyx_t_5); if (unlikely((__pyx_t_6 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_v_tid = __pyx_t_6; - goto __pyx_L12; - } - /*else*/ { -@@ -9016,11 +9983,15 @@ static struct __pyx_obj_4h5py_3h5t_Type - * else: - * raise TypeError('Illegal int kind "%s"' % dt.kind) - */ -- __pyx_t_2 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__uint_nt), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __pyx_v_tid = __pyx_t_3; -+ if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__uint_nt) == Py_None)) { -+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__uint_nt), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ __pyx_t_6 = __Pyx_PyInt_from_py_hid_t(__pyx_t_5); if (unlikely((__pyx_t_6 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_v_tid = __pyx_t_6; - } - __pyx_L12:; - break; -@@ -9033,32 +10004,32 @@ static struct __pyx_obj_4h5py_3h5t_Type - * except KeyError: - * raise TypeError("Unsupported integer size (%s)" % dt.elsize) - */ -- __pyx_t_2 = PyInt_FromLong(__pyx_v_dt->kind); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_25), __pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -- PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_4)); -- __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); -- __pyx_t_4 = 0; -- __pyx_t_4 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; -- __Pyx_Raise(__pyx_t_4, 0, 0); -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __pyx_t_5 = PyInt_FromLong(__pyx_v_dt->kind); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ __pyx_t_7 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_25), __pyx_t_5); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_7)); -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_7)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_t_7)); -+ __pyx_t_7 = 0; -+ __pyx_t_7 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_7); -+ __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; -+ __Pyx_Raise(__pyx_t_7, 0, 0, 0); -+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - break; - } - } -- __Pyx_XDECREF(__pyx_save_exc_type); __pyx_save_exc_type = 0; -- __Pyx_XDECREF(__pyx_save_exc_value); __pyx_save_exc_value = 0; -- __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0; -+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; -+ __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L10_try_end; - __pyx_L3_error:; -- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "h5py/h5t.pyx":1213 - * else: -@@ -9067,13 +10038,13 @@ static struct __pyx_obj_4h5py_3h5t_Type - * raise TypeError("Unsupported integer size (%s)" % dt.elsize) - * - */ -- __pyx_t_5 = PyErr_ExceptionMatches(__pyx_builtin_KeyError); -- if (__pyx_t_5) { -- __Pyx_AddTraceback("h5py.h5t._c_int"); -- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_2, &__pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __Pyx_GOTREF(__pyx_t_2); -- __Pyx_GOTREF(__pyx_t_6); -+ __pyx_t_8 = PyErr_ExceptionMatches(__pyx_builtin_KeyError); -+ if (__pyx_t_8) { -+ __Pyx_AddTraceback("h5py.h5t._c_int", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_5, &__pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -+ __Pyx_GOTREF(__pyx_t_7); -+ __Pyx_GOTREF(__pyx_t_5); -+ __Pyx_GOTREF(__pyx_t_9); - - /* "h5py/h5t.pyx":1214 - * raise TypeError('Illegal int kind "%s"' % dt.kind) -@@ -9082,38 +10053,38 @@ static struct __pyx_obj_4h5py_3h5t_Type - * - * return TypeIntegerID(H5Tcopy(tid)) - */ -- __pyx_t_7 = PyInt_FromLong(__pyx_v_dt->elsize); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -- __Pyx_GOTREF(__pyx_t_7); -- __pyx_t_8 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_26), __pyx_t_7); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_8)); -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -- __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_7)); -- PyTuple_SET_ITEM(__pyx_t_7, 0, ((PyObject *)__pyx_t_8)); -- __Pyx_GIVEREF(((PyObject *)__pyx_t_8)); -- __pyx_t_8 = 0; -- __pyx_t_8 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -- __Pyx_GOTREF(__pyx_t_8); -- __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; -- __Pyx_Raise(__pyx_t_8, 0, 0); -- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; -+ __pyx_t_10 = PyInt_FromLong(__pyx_v_dt->elsize); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -+ __Pyx_GOTREF(__pyx_t_10); -+ __pyx_t_11 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_26), __pyx_t_10); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_11)); -+ __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; -+ __pyx_t_10 = PyTuple_New(1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -+ __Pyx_GOTREF(__pyx_t_10); -+ PyTuple_SET_ITEM(__pyx_t_10, 0, ((PyObject *)__pyx_t_11)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_t_11)); -+ __pyx_t_11 = 0; -+ __pyx_t_11 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_10), NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -+ __Pyx_GOTREF(__pyx_t_11); -+ __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0; -+ __Pyx_Raise(__pyx_t_11, 0, 0, 0); -+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L4_exception_handled; - } - __pyx_L5_except_error:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -+ __Pyx_XGIVEREF(__pyx_t_1); -+ __Pyx_XGIVEREF(__pyx_t_2); -+ __Pyx_XGIVEREF(__pyx_t_3); -+ __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L4_exception_handled:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -+ __Pyx_XGIVEREF(__pyx_t_1); -+ __Pyx_XGIVEREF(__pyx_t_2); -+ __Pyx_XGIVEREF(__pyx_t_3); -+ __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - __pyx_L10_try_end:; - } - -@@ -9125,31 +10096,31 @@ static struct __pyx_obj_4h5py_3h5t_Type - * cdef TypeEnumID _c_enum(dtype dt, dict vals): - */ - __Pyx_XDECREF(((PyObject *)__pyx_r)); -- __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tcopy(__pyx_v_tid); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __pyx_t_6 = __Pyx_PyInt_to_py_hid_t(__pyx_t_3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_6); -- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); -- __Pyx_GIVEREF(__pyx_t_6); -- __pyx_t_6 = 0; -- __pyx_t_6 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeIntegerID)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_6); -- __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; -- __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeIntegerID *)__pyx_t_6); -- __pyx_t_6 = 0; -+ __pyx_t_6 = __pyx_f_4h5py_4defs_H5Tcopy(__pyx_v_tid); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_9 = __Pyx_PyInt_to_py_hid_t(__pyx_t_6); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_9); -+ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_9); -+ __Pyx_GIVEREF(__pyx_t_9); -+ __pyx_t_9 = 0; -+ __pyx_t_9 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeIntegerID)), ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_9); -+ __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; -+ __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeIntegerID *)__pyx_t_9); -+ __pyx_t_9 = 0; - goto __pyx_L0; - - __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeIntegerID *)Py_None); __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_XDECREF(__pyx_t_2); -- __Pyx_XDECREF(__pyx_t_4); -- __Pyx_XDECREF(__pyx_t_6); -+ __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); -- __Pyx_XDECREF(__pyx_t_8); -- __Pyx_AddTraceback("h5py.h5t._c_int"); -- __pyx_r = 0; -+ __Pyx_XDECREF(__pyx_t_9); -+ __Pyx_XDECREF(__pyx_t_10); -+ __Pyx_XDECREF(__pyx_t_11); -+ __Pyx_AddTraceback("h5py.h5t._c_int", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF((PyObject *)__pyx_r); - __Pyx_RefNannyFinishContext(); -@@ -9164,24 +10135,25 @@ static struct __pyx_obj_4h5py_3h5t_Type - * cdef TypeIntegerID base - */ - --static struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_f_4h5py_3h5t__c_enum(PyArray_Descr *__pyx_v_dt, PyObject *__pyx_v_vals) { -- struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_v_base; -- struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_out; -- PyObject *__pyx_v_name; -- PyObject *__pyx_v_bname; -+static struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_f_4h5py_3h5t__c_enum(PyArray_Descr *__pyx_v_dt, PyObject *__pyx_v_vals) { -+ struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_v_base = 0; -+ struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_out = 0; -+ PyObject *__pyx_v_name = NULL; -+ PyObject *__pyx_v_bname = NULL; - struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - hid_t __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; -- int __pyx_t_5; -- PyObject *__pyx_t_6 = NULL; -+ PyObject *(*__pyx_t_5)(PyObject *); -+ int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; -- __Pyx_RefNannySetupContext("_c_enum"); -- __pyx_v_base = ((struct __pyx_obj_4h5py_3h5t_TypeIntegerID *)Py_None); __Pyx_INCREF(Py_None); -- __pyx_v_out = ((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)Py_None); __Pyx_INCREF(Py_None); -- __pyx_v_name = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v_bname = Py_None; __Pyx_INCREF(Py_None); -+ PyObject *__pyx_t_8 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("_c_enum", 0); - - /* "h5py/h5t.pyx":1223 - * cdef TypeEnumID out -@@ -9192,7 +10164,6 @@ static struct __pyx_obj_4h5py_3h5t_Type - */ - __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t__c_int(__pyx_v_dt)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(((PyObject *)__pyx_v_base)); - __pyx_v_base = ((struct __pyx_obj_4h5py_3h5t_TypeIntegerID *)__pyx_t_1); - __pyx_t_1 = 0; - -@@ -9207,14 +10178,13 @@ static struct __pyx_obj_4h5py_3h5t_Type - __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_t_1 = 0; - __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeEnumID)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; -- __Pyx_DECREF(((PyObject *)__pyx_v_out)); - __pyx_v_out = ((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_t_1); - __pyx_t_1 = 0; - -@@ -9226,7 +10196,7 @@ static struct __pyx_obj_4h5py_3h5t_Type - * bname = name - */ - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -+ __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(((PyObject *)__pyx_v_vals)); - PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_vals)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_vals)); -@@ -9234,28 +10204,41 @@ static struct __pyx_obj_4h5py_3h5t_Type - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; - if (PyList_CheckExact(__pyx_t_3) || PyTuple_CheckExact(__pyx_t_3)) { -- __pyx_t_4 = 0; __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); -+ __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0; -+ __pyx_t_5 = NULL; - } else { - __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_5 = Py_TYPE(__pyx_t_1)->tp_iternext; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - for (;;) { -- if (likely(PyList_CheckExact(__pyx_t_1))) { -+ if (!__pyx_t_5 && PyList_CheckExact(__pyx_t_1)) { - if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_1)) break; -- __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; -- } else if (likely(PyTuple_CheckExact(__pyx_t_1))) { -+ #if CYTHON_COMPILING_IN_CPYTHON -+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #else -+ __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif -+ } else if (!__pyx_t_5 && PyTuple_CheckExact(__pyx_t_1)) { - if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_1)) break; -- __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; -+ #if CYTHON_COMPILING_IN_CPYTHON -+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #else -+ __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif - } else { -- __pyx_t_3 = PyIter_Next(__pyx_t_1); -- if (!__pyx_t_3) { -- if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = __pyx_t_5(__pyx_t_1); -+ if (unlikely(!__pyx_t_3)) { -+ if (PyErr_Occurred()) { -+ if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear(); -+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } - break; - } - __Pyx_GOTREF(__pyx_t_3); - } -- __Pyx_DECREF(__pyx_v_name); -+ __Pyx_XDECREF(__pyx_v_name); - __pyx_v_name = __pyx_t_3; - __pyx_t_3 = 0; - -@@ -9266,8 +10249,11 @@ static struct __pyx_obj_4h5py_3h5t_Type - * bname = name - * else: - */ -- __pyx_t_5 = PyBytes_Check(__pyx_v_name); -- if (__pyx_t_5) { -+ __pyx_t_3 = ((PyObject *)((PyObject*)(&PyBytes_Type))); -+ __Pyx_INCREF(__pyx_t_3); -+ __pyx_t_6 = __Pyx_TypeCheck(__pyx_v_name, __pyx_t_3); -+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -+ if (__pyx_t_6) { - - /* "h5py/h5t.pyx":1228 - * for name in sorted(vals): -@@ -9277,7 +10263,7 @@ static struct __pyx_obj_4h5py_3h5t_Type - * bname = unicode(name).encode('utf8') - */ - __Pyx_INCREF(__pyx_v_name); -- __Pyx_DECREF(__pyx_v_bname); -+ __Pyx_XDECREF(__pyx_v_bname); - __pyx_v_bname = __pyx_v_name; - goto __pyx_L5; - } -@@ -9291,17 +10277,17 @@ static struct __pyx_obj_4h5py_3h5t_Type - * return out - */ - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_name); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_name); - __Pyx_GIVEREF(__pyx_v_name); -- __pyx_t_6 = PyObject_Call(((PyObject *)((PyObject*)(&PyUnicode_Type))), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_6); -+ __pyx_t_7 = PyObject_Call(((PyObject *)((PyObject*)(&PyUnicode_Type))), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; -- __pyx_t_3 = ((PyObject *)PyUnicode_AsUTF8String(((PyObject*)__pyx_t_6))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = ((PyObject *)PyUnicode_AsUTF8String(((PyObject*)__pyx_t_7))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -- __Pyx_DECREF(__pyx_v_bname); -+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __Pyx_XDECREF(__pyx_v_bname); - __pyx_v_bname = ((PyObject *)__pyx_t_3); - __pyx_t_3 = 0; - } -@@ -9316,21 +10302,25 @@ static struct __pyx_obj_4h5py_3h5t_Type - */ - __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_out), __pyx_n_s__enum_insert); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); -- __pyx_t_6 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_vals), __pyx_v_name); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_6); -- __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_7)); -+ if (unlikely(((PyObject *)__pyx_v_vals) == Py_None)) { -+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } -+ __pyx_t_7 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_vals), __pyx_v_name); if (!__pyx_t_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_7); -+ __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_8); - __Pyx_INCREF(__pyx_v_bname); -- PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_bname); -+ PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_bname); - __Pyx_GIVEREF(__pyx_v_bname); -- PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6); -- __Pyx_GIVEREF(__pyx_t_6); -- __pyx_t_6 = 0; -- __pyx_t_6 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_6); -+ PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7); -+ __Pyx_GIVEREF(__pyx_t_7); -+ __pyx_t_7 = 0; -+ __pyx_t_7 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -- __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; -- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -+ __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; -+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - -@@ -9351,15 +10341,15 @@ static struct __pyx_obj_4h5py_3h5t_Type - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); -- __Pyx_AddTraceback("h5py.h5t._c_enum"); -+ __Pyx_XDECREF(__pyx_t_8); -+ __Pyx_AddTraceback("h5py.h5t._c_enum", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_base); -- __Pyx_DECREF((PyObject *)__pyx_v_out); -- __Pyx_DECREF(__pyx_v_name); -- __Pyx_DECREF(__pyx_v_bname); -+ __Pyx_XDECREF((PyObject *)__pyx_v_base); -+ __Pyx_XDECREF((PyObject *)__pyx_v_out); -+ __Pyx_XDECREF(__pyx_v_name); -+ __Pyx_XDECREF(__pyx_v_bname); - __Pyx_XGIVEREF((PyObject *)__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -@@ -9373,15 +10363,18 @@ static struct __pyx_obj_4h5py_3h5t_Type - * global cfg - */ - --static struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_f_4h5py_3h5t__c_bool(PyArray_Descr *__pyx_v_dt) { -- struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_out; -+static struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_f_4h5py_3h5t__c_bool(CYTHON_UNUSED PyArray_Descr *__pyx_v_dt) { -+ struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_out = 0; - struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; -- __Pyx_RefNannySetupContext("_c_bool"); -- __pyx_v_out = ((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)Py_None); __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("_c_bool", 0); - - /* "h5py/h5t.pyx":1239 - * -@@ -9394,14 +10387,13 @@ static struct __pyx_obj_4h5py_3h5t_Type - __pyx_t_2 = __Pyx_PyInt_to_py_hid_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeEnumID)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; -- __Pyx_DECREF(((PyObject *)__pyx_v_out)); - __pyx_v_out = ((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_t_2); - __pyx_t_2 = 0; - -@@ -9420,7 +10412,7 @@ static struct __pyx_obj_4h5py_3h5t_Type - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); -@@ -9448,7 +10440,7 @@ static struct __pyx_obj_4h5py_3h5t_Type - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_INCREF(__pyx_int_1); -@@ -9479,10 +10471,10 @@ static struct __pyx_obj_4h5py_3h5t_Type - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5t._c_bool"); -+ __Pyx_AddTraceback("h5py.h5t._c_bool", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_out); -+ __Pyx_XDECREF((PyObject *)__pyx_v_out); - __Pyx_XGIVEREF((PyObject *)__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -@@ -9496,23 +10488,31 @@ static struct __pyx_obj_4h5py_3h5t_Type - * cdef dtype base - */ - --static struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_f_4h5py_3h5t__c_array(PyArray_Descr *__pyx_v_dt, int __pyx_v_logical) { -- PyArray_Descr *__pyx_v_base; -- struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_type_base; -- PyObject *__pyx_v_shape; -+static struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_f_4h5py_3h5t__c_array(PyArray_Descr *__pyx_v_dt, int __pyx_v_logical) { -+ PyArray_Descr *__pyx_v_base = 0; -+ struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_type_base = 0; -+ PyObject *__pyx_v_shape = 0; - struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; -- int __pyx_t_5; -+ PyObject *(*__pyx_t_5)(PyObject *); - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; -- __Pyx_RefNannySetupContext("_c_array"); -- __pyx_v_base = ((PyArray_Descr *)Py_None); __Pyx_INCREF(Py_None); -- __pyx_v_type_base = ((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None); __Pyx_INCREF(Py_None); -- __pyx_v_shape = Py_None; __Pyx_INCREF(Py_None); -+ int __pyx_t_9; -+ PyObject *__pyx_t_10 = NULL; -+ PyObject *__pyx_t_11 = NULL; -+ PyObject *__pyx_t_12 = NULL; -+ PyObject *__pyx_t_13 = NULL; -+ PyObject *__pyx_t_14 = NULL; -+ PyObject *__pyx_t_15 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("_c_array", 0); - - /* "h5py/h5t.pyx":1252 - * cdef object shape -@@ -9523,36 +10523,60 @@ static struct __pyx_obj_4h5py_3h5t_Type - */ - __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_dt), __pyx_n_s__subdtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- if (PyTuple_CheckExact(__pyx_t_1) && likely(PyTuple_GET_SIZE(__pyx_t_1) == 2)) { -- PyObject* tuple = __pyx_t_1; -- __pyx_t_2 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_2); -- if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_5numpy_dtype))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __pyx_t_3 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_3); -+ if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { -+ PyObject* sequence = __pyx_t_1; -+ #if CYTHON_COMPILING_IN_CPYTHON -+ Py_ssize_t size = Py_SIZE(sequence); -+ #else -+ Py_ssize_t size = PySequence_Size(sequence); -+ #endif -+ if (unlikely(size != 2)) { -+ if (size > 2) __Pyx_RaiseTooManyValuesError(2); -+ else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } -+ #if CYTHON_COMPILING_IN_CPYTHON -+ if (likely(PyTuple_CheckExact(sequence))) { -+ __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); -+ __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); -+ } else { -+ __pyx_t_2 = PyList_GET_ITEM(sequence, 0); -+ __pyx_t_3 = PyList_GET_ITEM(sequence, 1); -+ } -+ __Pyx_INCREF(__pyx_t_2); -+ __Pyx_INCREF(__pyx_t_3); -+ #else -+ __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __Pyx_DECREF(((PyObject *)__pyx_v_base)); -- __pyx_v_base = ((PyArray_Descr *)__pyx_t_2); -- __pyx_t_2 = 0; -- __Pyx_DECREF(__pyx_v_shape); -- __pyx_v_shape = __pyx_t_3; -- __pyx_t_3 = 0; -- } else { -+ } else -+ { -+ Py_ssize_t index = -1; - __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __pyx_t_2 = __Pyx_UnpackItem(__pyx_t_4, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = Py_TYPE(__pyx_t_4)->tp_iternext; -+ index = 0; __pyx_t_2 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed; - __Pyx_GOTREF(__pyx_t_2); -- if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_5numpy_dtype))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __pyx_t_3 = __Pyx_UnpackItem(__pyx_t_4, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ index = 1; __pyx_t_3 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_3)) goto __pyx_L3_unpacking_failed; - __Pyx_GOTREF(__pyx_t_3); -- if (__Pyx_EndUnpack(__pyx_t_4, 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_5(__pyx_t_4), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = NULL; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_DECREF(((PyObject *)__pyx_v_base)); -- __pyx_v_base = ((PyArray_Descr *)__pyx_t_2); -- __pyx_t_2 = 0; -- __Pyx_DECREF(__pyx_v_shape); -- __pyx_v_shape = __pyx_t_3; -- __pyx_t_3 = 0; -+ goto __pyx_L4_unpacking_done; -+ __pyx_L3_unpacking_failed:; -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __pyx_t_5 = NULL; -+ if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_L4_unpacking_done:; - } -+ if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_5numpy_dtype))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_v_base = ((PyArray_Descr *)__pyx_t_2); -+ __pyx_t_2 = 0; -+ __pyx_v_shape = __pyx_t_3; -+ __pyx_t_3 = 0; - - /* "h5py/h5t.pyx":1253 - * -@@ -9562,11 +10586,10 @@ static struct __pyx_obj_4h5py_3h5t_Type - * except TypeError: - */ - { -- PyObject *__pyx_save_exc_type, *__pyx_save_exc_value, *__pyx_save_exc_tb; -- __Pyx_ExceptionSave(&__pyx_save_exc_type, &__pyx_save_exc_value, &__pyx_save_exc_tb); -- __Pyx_XGOTREF(__pyx_save_exc_type); -- __Pyx_XGOTREF(__pyx_save_exc_value); -- __Pyx_XGOTREF(__pyx_save_exc_tb); -+ __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); -+ __Pyx_XGOTREF(__pyx_t_6); -+ __Pyx_XGOTREF(__pyx_t_7); -+ __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - - /* "h5py/h5t.pyx":1254 -@@ -9576,23 +10599,23 @@ static struct __pyx_obj_4h5py_3h5t_Type - * except TypeError: - * try: - */ -- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L5_error;} -+ __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_shape); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_shape); - __Pyx_GIVEREF(__pyx_v_shape); -- __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)(&PyTuple_Type))), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)(&PyTuple_Type))), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L5_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_v_shape); - __pyx_v_shape = __pyx_t_3; - __pyx_t_3 = 0; - } -- __Pyx_XDECREF(__pyx_save_exc_type); __pyx_save_exc_type = 0; -- __Pyx_XDECREF(__pyx_save_exc_value); __pyx_save_exc_value = 0; -- __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0; -- goto __pyx_L10_try_end; -- __pyx_L3_error:; -+ __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; -+ __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; -+ goto __pyx_L12_try_end; -+ __pyx_L5_error:; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -@@ -9605,10 +10628,10 @@ static struct __pyx_obj_4h5py_3h5t_Type - * try: - * shape = (int(shape),) - */ -- __pyx_t_5 = PyErr_ExceptionMatches(__pyx_builtin_TypeError); -- if (__pyx_t_5) { -- __Pyx_AddTraceback("h5py.h5t._c_array"); -- if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -+ __pyx_t_9 = PyErr_ExceptionMatches(__pyx_builtin_TypeError); -+ if (__pyx_t_9) { -+ __Pyx_AddTraceback("h5py.h5t._c_array", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L7_except_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); -@@ -9621,11 +10644,10 @@ static struct __pyx_obj_4h5py_3h5t_Type - * except TypeError: - */ - { -- PyObject *__pyx_save_exc_type, *__pyx_save_exc_value, *__pyx_save_exc_tb; -- __Pyx_ExceptionSave(&__pyx_save_exc_type, &__pyx_save_exc_value, &__pyx_save_exc_tb); -- __Pyx_XGOTREF(__pyx_save_exc_type); -- __Pyx_XGOTREF(__pyx_save_exc_value); -- __Pyx_XGOTREF(__pyx_save_exc_tb); -+ __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); -+ __Pyx_XGOTREF(__pyx_t_10); -+ __Pyx_XGOTREF(__pyx_t_11); -+ __Pyx_XGOTREF(__pyx_t_12); - /*try:*/ { - - /* "h5py/h5t.pyx":1257 -@@ -9635,29 +10657,29 @@ static struct __pyx_obj_4h5py_3h5t_Type - * except TypeError: - * raise TypeError("Array shape for dtype must be a sequence or integer") - */ -- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L13_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L15_error;} -+ __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_v_shape); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); - __Pyx_GIVEREF(__pyx_v_shape); -- __pyx_t_6 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L13_error;} -- __Pyx_GOTREF(__pyx_t_6); -+ __pyx_t_13 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L15_error;} -+ __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; -- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L13_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); -- __Pyx_GIVEREF(__pyx_t_6); -- __pyx_t_6 = 0; -+ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L15_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_13); -+ __Pyx_GIVEREF(__pyx_t_13); -+ __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_v_shape); - __pyx_v_shape = ((PyObject *)__pyx_t_4); - __pyx_t_4 = 0; - } -- __Pyx_XDECREF(__pyx_save_exc_type); __pyx_save_exc_type = 0; -- __Pyx_XDECREF(__pyx_save_exc_value); __pyx_save_exc_value = 0; -- __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0; -- goto __pyx_L20_try_end; -- __pyx_L13_error:; -- __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; -+ __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; -+ __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; -+ __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; -+ goto __pyx_L22_try_end; -+ __pyx_L15_error:; -+ __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":1258 -@@ -9667,13 +10689,13 @@ static struct __pyx_obj_4h5py_3h5t_Type - * raise TypeError("Array shape for dtype must be a sequence or integer") - * type_base = py_create(base, logical=logical) - */ -- __pyx_t_5 = PyErr_ExceptionMatches(__pyx_builtin_TypeError); -- if (__pyx_t_5) { -- __Pyx_AddTraceback("h5py.h5t._c_array"); -- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L15_except_error;} -+ __pyx_t_9 = PyErr_ExceptionMatches(__pyx_builtin_TypeError); -+ if (__pyx_t_9) { -+ __Pyx_AddTraceback("h5py.h5t._c_array", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_13, &__pyx_t_14) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L17_except_error;} - __Pyx_GOTREF(__pyx_t_4); -- __Pyx_GOTREF(__pyx_t_6); -- __Pyx_GOTREF(__pyx_t_7); -+ __Pyx_GOTREF(__pyx_t_13); -+ __Pyx_GOTREF(__pyx_t_14); - - /* "h5py/h5t.pyx":1259 - * shape = (int(shape),) -@@ -9682,46 +10704,46 @@ static struct __pyx_obj_4h5py_3h5t_Type - * type_base = py_create(base, logical=logical) - * return array_create(type_base, shape) - */ -- __pyx_t_8 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_28), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L15_except_error;} -- __Pyx_GOTREF(__pyx_t_8); -- __Pyx_Raise(__pyx_t_8, 0, 0); -- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; -- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L15_except_error;} -+ __pyx_t_15 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_28), NULL); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L17_except_error;} -+ __Pyx_GOTREF(__pyx_t_15); -+ __Pyx_Raise(__pyx_t_15, 0, 0, 0); -+ __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L17_except_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -- goto __pyx_L14_exception_handled; -- } -- __pyx_L15_except_error:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -- goto __pyx_L5_except_error; -- __pyx_L14_exception_handled:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -- __pyx_L20_try_end:; -+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; -+ __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; -+ goto __pyx_L16_exception_handled; -+ } -+ __pyx_L17_except_error:; -+ __Pyx_XGIVEREF(__pyx_t_10); -+ __Pyx_XGIVEREF(__pyx_t_11); -+ __Pyx_XGIVEREF(__pyx_t_12); -+ __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); -+ goto __pyx_L7_except_error; -+ __pyx_L16_exception_handled:; -+ __Pyx_XGIVEREF(__pyx_t_10); -+ __Pyx_XGIVEREF(__pyx_t_11); -+ __Pyx_XGIVEREF(__pyx_t_12); -+ __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); -+ __pyx_L22_try_end:; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- goto __pyx_L4_exception_handled; -+ goto __pyx_L6_exception_handled; - } -- __pyx_L5_except_error:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -+ __pyx_L7_except_error:; -+ __Pyx_XGIVEREF(__pyx_t_6); -+ __Pyx_XGIVEREF(__pyx_t_7); -+ __Pyx_XGIVEREF(__pyx_t_8); -+ __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; -- __pyx_L4_exception_handled:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -- __pyx_L10_try_end:; -+ __pyx_L6_exception_handled:; -+ __Pyx_XGIVEREF(__pyx_t_6); -+ __Pyx_XGIVEREF(__pyx_t_7); -+ __Pyx_XGIVEREF(__pyx_t_8); -+ __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); -+ __pyx_L12_try_end:; - } - - /* "h5py/h5t.pyx":1260 -@@ -9734,25 +10756,24 @@ static struct __pyx_obj_4h5py_3h5t_Type - __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__py_create); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -+ __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(((PyObject *)__pyx_v_base)); - PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_base)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_base)); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -- __pyx_t_7 = PyInt_FromLong(__pyx_v_logical); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -- if (PyDict_SetItem(__pyx_t_3, ((PyObject *)__pyx_n_s__logical), __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -- __pyx_t_7 = PyEval_CallObjectWithKeywords(__pyx_t_2, ((PyObject *)__pyx_t_1), ((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -+ __pyx_t_14 = PyInt_FromLong(__pyx_v_logical); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_14); -+ if (PyDict_SetItem(__pyx_t_3, ((PyObject *)__pyx_n_s__logical), __pyx_t_14) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; -+ __pyx_t_14 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_1), ((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; -- if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(((PyObject *)__pyx_v_type_base)); -- __pyx_v_type_base = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_7); -- __pyx_t_7 = 0; -+ if (!(likely(((__pyx_t_14) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_14, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_v_type_base = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_14); -+ __pyx_t_14 = 0; - - /* "h5py/h5t.pyx":1261 - * raise TypeError("Array shape for dtype must be a sequence or integer") -@@ -9762,19 +10783,19 @@ static struct __pyx_obj_4h5py_3h5t_Type - * cdef TypeOpaqueID _c_opaque(dtype dt): - */ - __Pyx_XDECREF(((PyObject *)__pyx_r)); -- __pyx_t_7 = __Pyx_GetName(__pyx_m, __pyx_n_s__array_create); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_7); -+ __pyx_t_14 = __Pyx_GetName(__pyx_m, __pyx_n_s__array_create); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_14); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(((PyObject *)__pyx_v_type_base)); - PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_type_base)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_type_base)); - __Pyx_INCREF(__pyx_v_shape); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_shape); - __Pyx_GIVEREF(__pyx_v_shape); -- __pyx_t_1 = PyObject_Call(__pyx_t_7, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = PyObject_Call(__pyx_t_14, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4h5py_3h5t_TypeArrayID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeArrayID *)__pyx_t_1); -@@ -9788,15 +10809,15 @@ static struct __pyx_obj_4h5py_3h5t_Type - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_XDECREF(__pyx_t_6); -- __Pyx_XDECREF(__pyx_t_7); -- __Pyx_XDECREF(__pyx_t_8); -- __Pyx_AddTraceback("h5py.h5t._c_array"); -+ __Pyx_XDECREF(__pyx_t_13); -+ __Pyx_XDECREF(__pyx_t_14); -+ __Pyx_XDECREF(__pyx_t_15); -+ __Pyx_AddTraceback("h5py.h5t._c_array", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_base); -- __Pyx_DECREF((PyObject *)__pyx_v_type_base); -- __Pyx_DECREF(__pyx_v_shape); -+ __Pyx_XDECREF((PyObject *)__pyx_v_base); -+ __Pyx_XDECREF((PyObject *)__pyx_v_type_base); -+ __Pyx_XDECREF(__pyx_v_shape); - __Pyx_XGIVEREF((PyObject *)__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -@@ -9810,13 +10831,17 @@ static struct __pyx_obj_4h5py_3h5t_Type - * return TypeOpaqueID(H5Tcreate(H5T_OPAQUE, dt.itemsize)) - */ - --static struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_f_4h5py_3h5t__c_opaque(PyArray_Descr *__pyx_v_dt) { -+static struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_f_4h5py_3h5t__c_opaque(PyArray_Descr *__pyx_v_dt) { - struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - size_t __pyx_t_2; - hid_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; -- __Pyx_RefNannySetupContext("_c_opaque"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("_c_opaque", 0); - - /* "h5py/h5t.pyx":1265 - * cdef TypeOpaqueID _c_opaque(dtype dt): -@@ -9834,7 +10859,7 @@ static struct __pyx_obj_4h5py_3h5t_Type - __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(__pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_t_1 = 0; -@@ -9850,7 +10875,7 @@ static struct __pyx_obj_4h5py_3h5t_Type - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5t._c_opaque"); -+ __Pyx_AddTraceback("h5py.h5t._c_opaque", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF((PyObject *)__pyx_r); -@@ -9866,15 +10891,19 @@ static struct __pyx_obj_4h5py_3h5t_Type - * cdef hid_t tid - */ - --static struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_f_4h5py_3h5t__c_string(PyArray_Descr *__pyx_v_dt) { -+static struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_f_4h5py_3h5t__c_string(PyArray_Descr *__pyx_v_dt) { - hid_t __pyx_v_tid; - struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - size_t __pyx_t_3; - herr_t __pyx_t_4; - PyObject *__pyx_t_5 = NULL; -- __Pyx_RefNannySetupContext("_c_string"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("_c_string", 0); - - /* "h5py/h5t.pyx":1271 - * cdef hid_t tid -@@ -9919,7 +10948,7 @@ static struct __pyx_obj_4h5py_3h5t_Type - __pyx_t_2 = __Pyx_PyInt_to_py_hid_t(__pyx_v_tid); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -+ __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; -@@ -9935,7 +10964,7 @@ static struct __pyx_obj_4h5py_3h5t_Type - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); -- __Pyx_AddTraceback("h5py.h5t._c_string"); -+ __Pyx_AddTraceback("h5py.h5t._c_string", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF((PyObject *)__pyx_r); -@@ -9951,7 +10980,7 @@ static struct __pyx_obj_4h5py_3h5t_Type - * global cfg - */ - --static struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_f_4h5py_3h5t__c_complex(PyArray_Descr *__pyx_v_dt) { -+static struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_f_4h5py_3h5t__c_complex(PyArray_Descr *__pyx_v_dt) { - hid_t __pyx_v_tid; - hid_t __pyx_v_tid_sub; - size_t __pyx_v_size; -@@ -9960,14 +10989,19 @@ static struct __pyx_obj_4h5py_3h5t_Type - size_t __pyx_v_length; - char __pyx_v_byteorder; - struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - size_t __pyx_t_2; -- int __pyx_t_3; -- PyObject *__pyx_t_4 = NULL; -- hid_t __pyx_t_5; -- char *__pyx_t_6; -- herr_t __pyx_t_7; -- __Pyx_RefNannySetupContext("_c_complex"); -+ char __pyx_t_3; -+ int __pyx_t_4; -+ PyObject *__pyx_t_5 = NULL; -+ hid_t __pyx_t_6; -+ char *__pyx_t_7; -+ herr_t __pyx_t_8; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("_c_complex", 0); - - /* "h5py/h5t.pyx":1283 - * cdef size_t size, off_r, off_i -@@ -9989,7 +11023,8 @@ static struct __pyx_obj_4h5py_3h5t_Type - * - * if length == 8: - */ -- __pyx_v_byteorder = __pyx_v_dt->byteorder; -+ __pyx_t_3 = __pyx_v_dt->byteorder; -+ __pyx_v_byteorder = __pyx_t_3; - - /* "h5py/h5t.pyx":1296 - * else: -@@ -10043,8 +11078,8 @@ static struct __pyx_obj_4h5py_3h5t_Type - * tid_sub = H5T_IEEE_F32LE - * elif byteorder == c'>': - */ -- __pyx_t_3 = (__pyx_v_byteorder == '<'); -- if (__pyx_t_3) { -+ __pyx_t_4 = (__pyx_v_byteorder == '<'); -+ if (__pyx_t_4) { - - /* "h5py/h5t.pyx":1291 - * off_i = h5py_offset_n64_imag -@@ -10064,8 +11099,8 @@ static struct __pyx_obj_4h5py_3h5t_Type - * tid_sub = H5T_IEEE_F32BE - * else: - */ -- __pyx_t_3 = (__pyx_v_byteorder == '>'); -- if (__pyx_t_3) { -+ __pyx_t_4 = (__pyx_v_byteorder == '>'); -+ if (__pyx_t_4) { - - /* "h5py/h5t.pyx":1293 - * tid_sub = H5T_IEEE_F32LE -@@ -10134,8 +11169,8 @@ static struct __pyx_obj_4h5py_3h5t_Type - * tid_sub = H5T_IEEE_F64LE - * elif byteorder == c'>': - */ -- __pyx_t_3 = (__pyx_v_byteorder == '<'); -- if (__pyx_t_3) { -+ __pyx_t_4 = (__pyx_v_byteorder == '<'); -+ if (__pyx_t_4) { - - /* "h5py/h5t.pyx":1301 - * off_i = h5py_offset_n128_imag -@@ -10155,8 +11190,8 @@ static struct __pyx_obj_4h5py_3h5t_Type - * tid_sub = H5T_IEEE_F64BE - * else: - */ -- __pyx_t_3 = (__pyx_v_byteorder == '>'); -- if (__pyx_t_3) { -+ __pyx_t_4 = (__pyx_v_byteorder == '>'); -+ if (__pyx_t_4) { - - /* "h5py/h5t.pyx":1303 - * tid_sub = H5T_IEEE_F64LE -@@ -10192,19 +11227,19 @@ static struct __pyx_obj_4h5py_3h5t_Type - */ - __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_length); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_29), __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __pyx_t_5 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_29), __pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_5)); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -- PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_t_4)); -- __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); -- __pyx_t_4 = 0; -- __pyx_t_4 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_GOTREF(__pyx_t_1); -+ PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_t_5)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_t_5)); -+ __pyx_t_5 = 0; -+ __pyx_t_5 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; -- __Pyx_Raise(__pyx_t_4, 0, 0); -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __Pyx_Raise(__pyx_t_5, 0, 0, 0); -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - break; - } -@@ -10216,8 +11251,8 @@ static struct __pyx_obj_4h5py_3h5t_Type - * H5Tinsert(tid, cfg._r_name, off_r, tid_sub) - * H5Tinsert(tid, cfg._i_name, off_i, tid_sub) - */ -- __pyx_t_5 = __pyx_f_4h5py_4defs_H5Tcreate(H5T_COMPOUND, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __pyx_v_tid = __pyx_t_5; -+ __pyx_t_6 = __pyx_f_4h5py_4defs_H5Tcreate(H5T_COMPOUND, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_v_tid = __pyx_t_6; - - /* "h5py/h5t.pyx":1310 - * -@@ -10226,14 +11261,14 @@ static struct __pyx_obj_4h5py_3h5t_Type - * H5Tinsert(tid, cfg._i_name, off_i, tid_sub) - * - */ -- __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __pyx_t_1 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s___r_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ __pyx_t_1 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s___r_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_6 = PyBytes_AsString(__pyx_t_1); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_7 = PyBytes_AsString(__pyx_t_1); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __pyx_t_7 = __pyx_f_4h5py_4defs_H5Tinsert(__pyx_v_tid, __pyx_t_6, __pyx_v_off_r, __pyx_v_tid_sub); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_8 = __pyx_f_4h5py_4defs_H5Tinsert(__pyx_v_tid, __pyx_t_7, __pyx_v_off_r, __pyx_v_tid_sub); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5t.pyx":1311 - * tid = H5Tcreate(H5T_COMPOUND, size) -@@ -10244,12 +11279,12 @@ static struct __pyx_obj_4h5py_3h5t_Type - */ - __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_4 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s___i_name); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -+ __pyx_t_5 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s___i_name); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __pyx_t_6 = PyBytes_AsString(__pyx_t_4); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_7 = __pyx_f_4h5py_4defs_H5Tinsert(__pyx_v_tid, __pyx_t_6, __pyx_v_off_i, __pyx_v_tid_sub); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_7 = PyBytes_AsString(__pyx_t_5); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_8 = __pyx_f_4h5py_4defs_H5Tinsert(__pyx_v_tid, __pyx_t_7, __pyx_v_off_i, __pyx_v_tid_sub); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5t.pyx":1313 - * H5Tinsert(tid, cfg._i_name, off_i, tid_sub) -@@ -10259,26 +11294,26 @@ static struct __pyx_obj_4h5py_3h5t_Type - * cdef TypeCompoundID _c_compound(dtype dt, int logical): - */ - __Pyx_XDECREF(((PyObject *)__pyx_r)); -- __pyx_t_4 = __Pyx_PyInt_to_py_hid_t(__pyx_v_tid); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -+ __pyx_t_5 = __Pyx_PyInt_to_py_hid_t(__pyx_v_tid); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); -- __Pyx_GIVEREF(__pyx_t_4); -- __pyx_t_4 = 0; -- __pyx_t_4 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeCompoundID)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_GOTREF(__pyx_t_1); -+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); -+ __Pyx_GIVEREF(__pyx_t_5); -+ __pyx_t_5 = 0; -+ __pyx_t_5 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeCompoundID)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; -- __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_t_4); -- __pyx_t_4 = 0; -+ __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_t_5); -+ __pyx_t_5 = 0; - goto __pyx_L0; - - __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)Py_None); __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -- __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5t._c_complex"); -+ __Pyx_XDECREF(__pyx_t_5); -+ __Pyx_AddTraceback("h5py.h5t._c_complex", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF((PyObject *)__pyx_r); -@@ -10294,32 +11329,32 @@ static struct __pyx_obj_4h5py_3h5t_Type - * - */ - --static struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_f_4h5py_3h5t__c_compound(PyArray_Descr *__pyx_v_dt, int __pyx_v_logical) { -+static struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_f_4h5py_3h5t__c_compound(PyArray_Descr *__pyx_v_dt, int __pyx_v_logical) { - hid_t __pyx_v_tid; -- struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_type_tmp; -- PyArray_Descr *__pyx_v_dt_tmp; -+ struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_type_tmp = 0; -+ PyArray_Descr *__pyx_v_dt_tmp = 0; - size_t __pyx_v_offset; -- PyObject *__pyx_v_fields = 0; -+ CYTHON_UNUSED PyObject *__pyx_v_fields = 0; - PyObject *__pyx_v_names = 0; -- PyObject *__pyx_v_name; -- PyObject *__pyx_v_ename; -+ PyObject *__pyx_v_name = NULL; -+ PyObject *__pyx_v_ename = NULL; - struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - hid_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; -- int __pyx_t_5; -- PyObject *__pyx_t_6 = NULL; -+ PyObject *__pyx_t_5 = NULL; -+ int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - size_t __pyx_t_9; - herr_t __pyx_t_10; - char *__pyx_t_11; -- __Pyx_RefNannySetupContext("_c_compound"); -- __pyx_v_type_tmp = ((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None); __Pyx_INCREF(Py_None); -- __pyx_v_dt_tmp = ((PyArray_Descr *)Py_None); __Pyx_INCREF(Py_None); -- __pyx_v_name = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v_ename = Py_None; __Pyx_INCREF(Py_None); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("_c_compound", 0); - - /* "h5py/h5t.pyx":1323 - * cdef size_t offset -@@ -10371,14 +11406,19 @@ static struct __pyx_obj_4h5py_3h5t_Type - * ename = name.encode('utf8') if isinstance(name, unicode) else name - * dt_tmp = dt.fields[name][0] - */ -- if (unlikely(__pyx_v_names == Py_None)) { -- PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (unlikely(((PyObject *)__pyx_v_names) == Py_None)) { -+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } -- __pyx_t_3 = 0; __pyx_t_1 = ((PyObject *)__pyx_v_names); __Pyx_INCREF(__pyx_t_1); -+ __pyx_t_1 = ((PyObject *)__pyx_v_names); __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0; - for (;;) { - if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break; -- __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_4); __pyx_t_3++; -- __Pyx_DECREF(__pyx_v_name); -+ #if CYTHON_COMPILING_IN_CPYTHON -+ __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_4); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #else -+ __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif -+ __Pyx_XDECREF(__pyx_v_name); - __pyx_v_name = __pyx_t_4; - __pyx_t_4 = 0; - -@@ -10389,20 +11429,23 @@ static struct __pyx_obj_4h5py_3h5t_Type - * dt_tmp = dt.fields[name][0] - * type_tmp = py_create(dt_tmp, logical=logical) - */ -- __pyx_t_5 = PyUnicode_Check(__pyx_v_name); -- if (__pyx_t_5) { -- __pyx_t_6 = PyObject_GetAttr(__pyx_v_name, __pyx_n_s__encode); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_6); -- __pyx_t_7 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_k_tuple_30), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = ((PyObject *)((PyObject*)(&PyUnicode_Type))); -+ __Pyx_INCREF(__pyx_t_5); -+ __pyx_t_6 = __Pyx_TypeCheck(__pyx_v_name, __pyx_t_5); -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ if (__pyx_t_6) { -+ __pyx_t_5 = PyObject_GetAttr(__pyx_v_name, __pyx_n_s__encode); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ __pyx_t_7 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_k_tuple_30), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); -- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_4 = __pyx_t_7; - __pyx_t_7 = 0; - } else { - __Pyx_INCREF(__pyx_v_name); - __pyx_t_4 = __pyx_v_name; - } -- __Pyx_DECREF(__pyx_v_ename); -+ __Pyx_XDECREF(__pyx_v_ename); - __pyx_v_ename = __pyx_t_4; - __pyx_t_4 = 0; - -@@ -10419,7 +11462,7 @@ static struct __pyx_obj_4h5py_3h5t_Type - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_4h5py_5numpy_dtype))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(((PyObject *)__pyx_v_dt_tmp)); -+ __Pyx_XDECREF(((PyObject *)__pyx_v_dt_tmp)); - __pyx_v_dt_tmp = ((PyArray_Descr *)__pyx_t_7); - __pyx_t_7 = 0; - -@@ -10433,23 +11476,23 @@ static struct __pyx_obj_4h5py_3h5t_Type - __pyx_t_7 = __Pyx_GetName(__pyx_m, __pyx_n_s__py_create); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(((PyObject *)__pyx_v_dt_tmp)); - PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_dt_tmp)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_dt_tmp)); -- __pyx_t_6 = PyDict_New(); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_6)); -+ __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_5)); - __pyx_t_8 = PyInt_FromLong(__pyx_v_logical); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); -- if (PyDict_SetItem(__pyx_t_6, ((PyObject *)__pyx_n_s__logical), __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (PyDict_SetItem(__pyx_t_5, ((PyObject *)__pyx_n_s__logical), __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; -- __pyx_t_8 = PyEval_CallObjectWithKeywords(__pyx_t_7, ((PyObject *)__pyx_t_4), ((PyObject *)__pyx_t_6)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_8 = PyObject_Call(__pyx_t_7, ((PyObject *)__pyx_t_4), ((PyObject *)__pyx_t_5)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; -- __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; -+ __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; - if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(((PyObject *)__pyx_v_type_tmp)); -+ __Pyx_XDECREF(((PyObject *)__pyx_v_type_tmp)); - __pyx_v_type_tmp = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_8); - __pyx_t_8 = 0; - -@@ -10462,17 +11505,17 @@ static struct __pyx_obj_4h5py_3h5t_Type - */ - __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_offset); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); -- __pyx_t_6 = PyObject_GetAttr(((PyObject *)__pyx_v_type_tmp), __pyx_n_s__get_size); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_6); -- __pyx_t_4 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = PyObject_GetAttr(((PyObject *)__pyx_v_type_tmp), __pyx_n_s__get_size); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); -- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -- __pyx_t_6 = PyNumber_Add(__pyx_t_8, __pyx_t_4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_6); -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyNumber_Add(__pyx_t_8, __pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_9 = __Pyx_PyInt_AsSize_t(__pyx_t_6); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -+ __pyx_t_9 = __Pyx_PyInt_AsSize_t(__pyx_t_5); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_10 = __pyx_f_4h5py_4defs_H5Tset_size(__pyx_v_tid, __pyx_t_9); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "h5py/h5t.pyx":1335 -@@ -10492,16 +11535,16 @@ static struct __pyx_obj_4h5py_3h5t_Type - * - * return TypeCompoundID(tid) - */ -- __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v_offset); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_6); -+ __pyx_t_5 = __Pyx_PyInt_FromSize_t(__pyx_v_offset); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_type_tmp), __pyx_n_s__get_size); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_8 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_t_6, __pyx_t_8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_t_5, __pyx_t_8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); -- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_9 = __Pyx_PyInt_AsSize_t(__pyx_t_4); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -@@ -10520,7 +11563,7 @@ static struct __pyx_obj_4h5py_3h5t_Type - __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(__pyx_v_tid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_t_1 = 0; -@@ -10536,18 +11579,18 @@ static struct __pyx_obj_4h5py_3h5t_Type - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_XDECREF(__pyx_t_6); -+ __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); -- __Pyx_AddTraceback("h5py.h5t._c_compound"); -+ __Pyx_AddTraceback("h5py.h5t._c_compound", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_type_tmp); -- __Pyx_DECREF((PyObject *)__pyx_v_dt_tmp); -+ __Pyx_XDECREF((PyObject *)__pyx_v_type_tmp); -+ __Pyx_XDECREF((PyObject *)__pyx_v_dt_tmp); - __Pyx_XDECREF(__pyx_v_fields); - __Pyx_XDECREF(__pyx_v_names); -- __Pyx_DECREF(__pyx_v_name); -- __Pyx_DECREF(__pyx_v_ename); -+ __Pyx_XDECREF(__pyx_v_name); -+ __Pyx_XDECREF(__pyx_v_ename); - __Pyx_XGIVEREF((PyObject *)__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -@@ -10561,14 +11604,18 @@ static struct __pyx_obj_4h5py_3h5t_Type - * cdef hid_t tid - */ - --static struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_f_4h5py_3h5t__c_vlen_str(void) { -+static struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_f_4h5py_3h5t__c_vlen_str(void) { - hid_t __pyx_v_tid; - struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; - herr_t __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; -- __Pyx_RefNannySetupContext("_c_vlen_str"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("_c_vlen_str", 0); - - /* "h5py/h5t.pyx":1343 - * # Variable-length strings -@@ -10600,7 +11647,7 @@ static struct __pyx_obj_4h5py_3h5t_Type - __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_v_tid); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; -@@ -10616,7 +11663,7 @@ static struct __pyx_obj_4h5py_3h5t_Type - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5t._c_vlen_str"); -+ __Pyx_AddTraceback("h5py.h5t._c_vlen_str", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF((PyObject *)__pyx_r); -@@ -10632,14 +11679,18 @@ static struct __pyx_obj_4h5py_3h5t_Type - * tid = H5Tcopy(H5T_C_S1) - */ - --static struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_f_4h5py_3h5t__c_vlen_unicode(void) { -+static struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_f_4h5py_3h5t__c_vlen_unicode(void) { - hid_t __pyx_v_tid; - struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - hid_t __pyx_t_1; - herr_t __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; -- __Pyx_RefNannySetupContext("_c_vlen_unicode"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("_c_vlen_unicode", 0); - - /* "h5py/h5t.pyx":1349 - * cdef TypeStringID _c_vlen_unicode(): -@@ -10680,7 +11731,7 @@ static struct __pyx_obj_4h5py_3h5t_Type - __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_v_tid); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; -@@ -10696,7 +11747,7 @@ static struct __pyx_obj_4h5py_3h5t_Type - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5t._c_vlen_unicode"); -+ __Pyx_AddTraceback("h5py.h5t._c_vlen_unicode", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF((PyObject *)__pyx_r); -@@ -10712,11 +11763,15 @@ static struct __pyx_obj_4h5py_3h5t_Type - * return STD_REF_OBJ - */ - --static struct __pyx_obj_4h5py_3h5t_TypeReferenceID *__pyx_f_4h5py_3h5t__c_ref(PyObject *__pyx_v_refclass) { -+static struct __pyx_obj_4h5py_3h5t_TypeReferenceID *__pyx_f_4h5py_3h5t__c_ref(PyObject *__pyx_v_refclass) { - struct __pyx_obj_4h5py_3h5t_TypeReferenceID *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; -- __Pyx_RefNannySetupContext("_c_ref"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("_c_ref", 0); - - /* "h5py/h5t.pyx":1355 - * -@@ -10782,7 +11837,7 @@ static struct __pyx_obj_4h5py_3h5t_Type - */ - __pyx_t_2 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_32), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __Pyx_Raise(__pyx_t_2, 0, 0); -+ __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - -@@ -10790,7 +11845,7 @@ static struct __pyx_obj_4h5py_3h5t_Type - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_AddTraceback("h5py.h5t._c_ref"); -+ __Pyx_AddTraceback("h5py.h5t._c_ref", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF((PyObject *)__pyx_r); -@@ -10806,30 +11861,32 @@ static struct __pyx_obj_4h5py_3h5t_Type - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_7py_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_f_4h5py_3h5t_py_create(PyObject *__pyx_v_dtype_in, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args) { -+static PyObject *__pyx_pw_4h5py_3h5t_15py_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_f_4h5py_3h5t_py_create(PyObject *__pyx_v_dtype_in, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args) { - int __pyx_v_logical = ((int)0); - PyArray_Descr *__pyx_v_dt = 0; - char __pyx_v_kind; -- PyObject *__pyx_v_enum_vals; -- PyObject *__pyx_v_vlen; -- PyObject *__pyx_v_refclass; -+ PyObject *__pyx_v_enum_vals = NULL; -+ PyObject *__pyx_v_vlen = NULL; -+ PyObject *__pyx_v_refclass = NULL; - struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; -- int __pyx_t_3; -- PyObject *__pyx_t_4 = NULL; -- int __pyx_t_5; -+ char __pyx_t_3; -+ int __pyx_t_4; -+ PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; -- __Pyx_RefNannySetupContext("py_create"); -+ int __pyx_t_7; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("py_create", 0); - if (__pyx_optional_args) { - if (__pyx_optional_args->__pyx_n > 0) { - __pyx_v_logical = __pyx_optional_args->logical; - } - } -- __pyx_v_enum_vals = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v_vlen = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v_refclass = Py_None; __Pyx_INCREF(Py_None); - - /* "h5py/h5t.pyx":1378 - * length string type. -@@ -10839,7 +11896,7 @@ static struct __pyx_obj_4h5py_3h5t_Type - * - */ - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -+ __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_dtype_in); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_dtype_in); - __Pyx_GIVEREF(__pyx_v_dtype_in); -@@ -10856,7 +11913,8 @@ static struct __pyx_obj_4h5py_3h5t_Type - * - * # Float - */ -- __pyx_v_kind = __pyx_v_dt->kind; -+ __pyx_t_3 = __pyx_v_dt->kind; -+ __pyx_v_kind = __pyx_t_3; - - /* "h5py/h5t.pyx":1382 - * -@@ -10865,8 +11923,8 @@ static struct __pyx_obj_4h5py_3h5t_Type - * return _c_float(dt) - * - */ -- __pyx_t_3 = (__pyx_v_kind == 'f'); -- if (__pyx_t_3) { -+ __pyx_t_4 = (__pyx_v_kind == 'f'); -+ if (__pyx_t_4) { - - /* "h5py/h5t.pyx":1383 - * # Float -@@ -10894,13 +11952,13 @@ static struct __pyx_obj_4h5py_3h5t_Type - switch (__pyx_v_kind) { - case 'u': - case 'i': -- __pyx_t_3 = 1; -+ __pyx_t_4 = 1; - break; - default: -- __pyx_t_3 = 0; -+ __pyx_t_4 = 0; - break; - } -- if (__pyx_t_3) { -+ if (__pyx_t_4) { - - /* "h5py/h5t.pyx":1388 - * elif kind == c'u' or kind == c'i': -@@ -10923,13 +11981,12 @@ static struct __pyx_obj_4h5py_3h5t_Type - __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__enum), ((PyObject *)__pyx_v_dt)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __pyx_t_4 = PyEval_CallObjectWithKeywords(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -+ __pyx_t_5 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; -- __Pyx_DECREF(__pyx_v_enum_vals); -- __pyx_v_enum_vals = __pyx_t_4; -- __pyx_t_4 = 0; -+ __pyx_v_enum_vals = __pyx_t_5; -+ __pyx_t_5 = 0; - - /* "h5py/h5t.pyx":1391 - * # Check for an enumeration hint -@@ -10938,8 +11995,8 @@ static struct __pyx_obj_4h5py_3h5t_Type - * return _c_enum(dt, enum_vals) - * - */ -- __pyx_t_3 = (__pyx_v_enum_vals != Py_None); -- if (__pyx_t_3) { -+ __pyx_t_4 = (__pyx_v_enum_vals != Py_None); -+ if (__pyx_t_4) { - - /* "h5py/h5t.pyx":1392 - * enum_vals = check_dtype(enum=dt) -@@ -10950,10 +12007,13 @@ static struct __pyx_obj_4h5py_3h5t_Type - */ - __Pyx_XDECREF(((PyObject *)__pyx_r)); - if (!(likely(PyDict_CheckExact(__pyx_v_enum_vals))||((__pyx_v_enum_vals) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected dict, got %.200s", Py_TYPE(__pyx_v_enum_vals)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __pyx_t_4 = ((PyObject *)__pyx_f_4h5py_3h5t__c_enum(__pyx_v_dt, ((PyObject*)__pyx_v_enum_vals))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_4); -- __pyx_t_4 = 0; -+ __pyx_t_5 = __pyx_v_enum_vals; -+ __Pyx_INCREF(__pyx_t_5); -+ __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t__c_enum(__pyx_v_dt, ((PyObject*)__pyx_t_5))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_1); -+ __pyx_t_1 = 0; - goto __pyx_L0; - goto __pyx_L5; - } -@@ -10970,10 +12030,10 @@ static struct __pyx_obj_4h5py_3h5t_Type - * # Complex - */ - __Pyx_XDECREF(((PyObject *)__pyx_r)); -- __pyx_t_4 = ((PyObject *)__pyx_f_4h5py_3h5t__c_int(__pyx_v_dt)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_4); -- __pyx_t_4 = 0; -+ __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t__c_int(__pyx_v_dt)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_1); -+ __pyx_t_1 = 0; - goto __pyx_L0; - goto __pyx_L3; - } -@@ -10985,8 +12045,8 @@ static struct __pyx_obj_4h5py_3h5t_Type - * return _c_complex(dt) - * - */ -- __pyx_t_3 = (__pyx_v_kind == 'c'); -- if (__pyx_t_3) { -+ __pyx_t_4 = (__pyx_v_kind == 'c'); -+ if (__pyx_t_4) { - - /* "h5py/h5t.pyx":1398 - * # Complex -@@ -10996,10 +12056,10 @@ static struct __pyx_obj_4h5py_3h5t_Type - * # Compound - */ - __Pyx_XDECREF(((PyObject *)__pyx_r)); -- __pyx_t_4 = ((PyObject *)__pyx_f_4h5py_3h5t__c_complex(__pyx_v_dt)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_4); -- __pyx_t_4 = 0; -+ __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t__c_complex(__pyx_v_dt)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_1); -+ __pyx_t_1 = 0; - goto __pyx_L0; - goto __pyx_L3; - } -@@ -11011,17 +12071,17 @@ static struct __pyx_obj_4h5py_3h5t_Type - * return _c_compound(dt, logical) - * - */ -- __pyx_t_3 = (__pyx_v_kind == 'V'); -- if (__pyx_t_3) { -- __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_dt), __pyx_n_s__names); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __pyx_t_5 = (__pyx_t_4 != Py_None); -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_6 = __pyx_t_5; -+ __pyx_t_4 = (__pyx_v_kind == 'V'); -+ if (__pyx_t_4) { -+ __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_dt), __pyx_n_s__names); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_6 = (__pyx_t_1 != Py_None); -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __pyx_t_7 = __pyx_t_6; - } else { -- __pyx_t_6 = __pyx_t_3; -+ __pyx_t_7 = __pyx_t_4; - } -- if (__pyx_t_6) { -+ if (__pyx_t_7) { - - /* "h5py/h5t.pyx":1402 - * # Compound -@@ -11031,10 +12091,10 @@ static struct __pyx_obj_4h5py_3h5t_Type - * # Array or opaque - */ - __Pyx_XDECREF(((PyObject *)__pyx_r)); -- __pyx_t_4 = ((PyObject *)__pyx_f_4h5py_3h5t__c_compound(__pyx_v_dt, __pyx_v_logical)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_4); -- __pyx_t_4 = 0; -+ __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t__c_compound(__pyx_v_dt, __pyx_v_logical)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_1); -+ __pyx_t_1 = 0; - goto __pyx_L0; - goto __pyx_L3; - } -@@ -11046,8 +12106,8 @@ static struct __pyx_obj_4h5py_3h5t_Type - * if dt.subdtype is not None: - * return _c_array(dt, logical) - */ -- __pyx_t_6 = (__pyx_v_kind == 'V'); -- if (__pyx_t_6) { -+ __pyx_t_7 = (__pyx_v_kind == 'V'); -+ if (__pyx_t_7) { - - /* "h5py/h5t.pyx":1406 - * # Array or opaque -@@ -11056,11 +12116,11 @@ static struct __pyx_obj_4h5py_3h5t_Type - * return _c_array(dt, logical) - * else: - */ -- __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_dt), __pyx_n_s__subdtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __pyx_t_6 = (__pyx_t_4 != Py_None); -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- if (__pyx_t_6) { -+ __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_dt), __pyx_n_s__subdtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_7 = (__pyx_t_1 != Py_None); -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ if (__pyx_t_7) { - - /* "h5py/h5t.pyx":1407 - * elif kind == c'V': -@@ -11070,10 +12130,10 @@ static struct __pyx_obj_4h5py_3h5t_Type - * return _c_opaque(dt) - */ - __Pyx_XDECREF(((PyObject *)__pyx_r)); -- __pyx_t_4 = ((PyObject *)__pyx_f_4h5py_3h5t__c_array(__pyx_v_dt, __pyx_v_logical)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_4); -- __pyx_t_4 = 0; -+ __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t__c_array(__pyx_v_dt, __pyx_v_logical)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_1); -+ __pyx_t_1 = 0; - goto __pyx_L0; - goto __pyx_L6; - } -@@ -11087,10 +12147,10 @@ static struct __pyx_obj_4h5py_3h5t_Type - * # String - */ - __Pyx_XDECREF(((PyObject *)__pyx_r)); -- __pyx_t_4 = ((PyObject *)__pyx_f_4h5py_3h5t__c_opaque(__pyx_v_dt)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_4); -- __pyx_t_4 = 0; -+ __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t__c_opaque(__pyx_v_dt)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_1); -+ __pyx_t_1 = 0; - goto __pyx_L0; - } - __pyx_L6:; -@@ -11104,8 +12164,8 @@ static struct __pyx_obj_4h5py_3h5t_Type - * return _c_string(dt) - * - */ -- __pyx_t_6 = (__pyx_v_kind == 'S'); -- if (__pyx_t_6) { -+ __pyx_t_7 = (__pyx_v_kind == 'S'); -+ if (__pyx_t_7) { - - /* "h5py/h5t.pyx":1413 - * # String -@@ -11115,10 +12175,10 @@ static struct __pyx_obj_4h5py_3h5t_Type - * # Boolean - */ - __Pyx_XDECREF(((PyObject *)__pyx_r)); -- __pyx_t_4 = ((PyObject *)__pyx_f_4h5py_3h5t__c_string(__pyx_v_dt)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_4); -- __pyx_t_4 = 0; -+ __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t__c_string(__pyx_v_dt)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_1); -+ __pyx_t_1 = 0; - goto __pyx_L0; - goto __pyx_L3; - } -@@ -11130,8 +12190,8 @@ static struct __pyx_obj_4h5py_3h5t_Type - * return _c_bool(dt) - * - */ -- __pyx_t_6 = (__pyx_v_kind == 'b'); -- if (__pyx_t_6) { -+ __pyx_t_7 = (__pyx_v_kind == 'b'); -+ if (__pyx_t_7) { - - /* "h5py/h5t.pyx":1417 - * # Boolean -@@ -11141,10 +12201,10 @@ static struct __pyx_obj_4h5py_3h5t_Type - * # Object types (including those with vlen hints) - */ - __Pyx_XDECREF(((PyObject *)__pyx_r)); -- __pyx_t_4 = ((PyObject *)__pyx_f_4h5py_3h5t__c_bool(__pyx_v_dt)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_4); -- __pyx_t_4 = 0; -+ __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t__c_bool(__pyx_v_dt)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_1); -+ __pyx_t_1 = 0; - goto __pyx_L0; - goto __pyx_L3; - } -@@ -11156,8 +12216,8 @@ static struct __pyx_obj_4h5py_3h5t_Type - * - * if logical: - */ -- __pyx_t_6 = (__pyx_v_kind == 'O'); -- if (__pyx_t_6) { -+ __pyx_t_7 = (__pyx_v_kind == 'O'); -+ if (__pyx_t_7) { - - /* "h5py/h5t.pyx":1422 - * elif kind == c'O': -@@ -11175,16 +12235,15 @@ static struct __pyx_obj_4h5py_3h5t_Type - * if vlen is bytes: - * return _c_vlen_str() - */ -- __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__check_dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -- if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__vlen), ((PyObject *)__pyx_v_dt)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __pyx_t_2 = PyEval_CallObjectWithKeywords(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__check_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -+ if (PyDict_SetItem(__pyx_t_5, ((PyObject *)__pyx_n_s__vlen), ((PyObject *)__pyx_v_dt)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_5)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; -- __Pyx_DECREF(__pyx_v_vlen); -+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; - __pyx_v_vlen = __pyx_t_2; - __pyx_t_2 = 0; - -@@ -11195,8 +12254,8 @@ static struct __pyx_obj_4h5py_3h5t_Type - * return _c_vlen_str() - * elif vlen is unicode: - */ -- __pyx_t_6 = (__pyx_v_vlen == ((PyObject *)((PyObject*)(&PyBytes_Type)))); -- if (__pyx_t_6) { -+ __pyx_t_7 = (__pyx_v_vlen == ((PyObject *)((PyObject*)(&PyBytes_Type)))); -+ if (__pyx_t_7) { - - /* "h5py/h5t.pyx":1425 - * vlen = check_dtype(vlen=dt) -@@ -11221,8 +12280,8 @@ static struct __pyx_obj_4h5py_3h5t_Type - * return _c_vlen_unicode() - * - */ -- __pyx_t_6 = (__pyx_v_vlen == ((PyObject *)((PyObject*)(&PyUnicode_Type)))); -- if (__pyx_t_6) { -+ __pyx_t_7 = (__pyx_v_vlen == ((PyObject *)((PyObject*)(&PyUnicode_Type)))); -+ if (__pyx_t_7) { - - /* "h5py/h5t.pyx":1427 - * return _c_vlen_str() -@@ -11250,16 +12309,15 @@ static struct __pyx_obj_4h5py_3h5t_Type - */ - __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__check_dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -- if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__ref), ((PyObject *)__pyx_v_dt)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __pyx_t_4 = PyEval_CallObjectWithKeywords(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -+ __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -+ if (PyDict_SetItem(__pyx_t_5, ((PyObject *)__pyx_n_s__ref), ((PyObject *)__pyx_v_dt)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_5)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; -- __Pyx_DECREF(__pyx_v_refclass); -- __pyx_v_refclass = __pyx_t_4; -- __pyx_t_4 = 0; -+ __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; -+ __pyx_v_refclass = __pyx_t_1; -+ __pyx_t_1 = 0; - - /* "h5py/h5t.pyx":1430 - * -@@ -11268,8 +12326,8 @@ static struct __pyx_obj_4h5py_3h5t_Type - * return _c_ref(refclass) - * - */ -- __pyx_t_6 = (__pyx_v_refclass != Py_None); -- if (__pyx_t_6) { -+ __pyx_t_7 = (__pyx_v_refclass != Py_None); -+ if (__pyx_t_7) { - - /* "h5py/h5t.pyx":1431 - * refclass = check_dtype(ref=dt) -@@ -11279,10 +12337,10 @@ static struct __pyx_obj_4h5py_3h5t_Type - * raise TypeError("Object dtype %r has no native HDF5 equivalent" % (dt,)) - */ - __Pyx_XDECREF(((PyObject *)__pyx_r)); -- __pyx_t_4 = ((PyObject *)__pyx_f_4h5py_3h5t__c_ref(__pyx_v_refclass)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_4); -- __pyx_t_4 = 0; -+ __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t__c_ref(__pyx_v_refclass)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); -+ __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_1); -+ __pyx_t_1 = 0; - goto __pyx_L0; - goto __pyx_L9; - } -@@ -11295,24 +12353,24 @@ static struct __pyx_obj_4h5py_3h5t_Type - * - * return PYTHON_OBJECT - */ -- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(((PyObject *)__pyx_v_dt)); -- PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_dt)); -+ PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_dt)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_dt)); -- __pyx_t_1 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_33), ((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -- __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; -- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -- PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_1)); -- __Pyx_GIVEREF(((PyObject *)__pyx_t_1)); -- __pyx_t_1 = 0; -- __pyx_t_1 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_33), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -+ __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; -+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; -- __Pyx_Raise(__pyx_t_1, 0, 0); -- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -+ PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_t_5)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_t_5)); -+ __pyx_t_5 = 0; -+ __pyx_t_5 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; -+ __Pyx_Raise(__pyx_t_5, 0, 0, 0); -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - goto __pyx_L7; - } -@@ -11326,11 +12384,11 @@ static struct __pyx_obj_4h5py_3h5t_Type - * # Unrecognized - */ - __Pyx_XDECREF(((PyObject *)__pyx_r)); -- __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__PYTHON_OBJECT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_1); -- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_1); -- __pyx_t_1 = 0; -+ __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__PYTHON_OBJECT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5); -+ __pyx_t_5 = 0; - goto __pyx_L0; - goto __pyx_L3; - } -@@ -11343,21 +12401,21 @@ static struct __pyx_obj_4h5py_3h5t_Type - * - * def special_dtype(**kwds): - */ -- __pyx_t_1 = PyObject_Repr(((PyObject *)__pyx_v_dt)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = PyObject_Repr(((PyObject *)__pyx_v_dt)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ __pyx_t_1 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_34), __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_1)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_t_1)); -+ __pyx_t_1 = 0; -+ __pyx_t_1 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -- __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_34), __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; -+ __Pyx_Raise(__pyx_t_1, 0, 0, 0); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; -- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_1)); -- PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_t_4)); -- __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); -- __pyx_t_4 = 0; -- __pyx_t_4 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; -- __Pyx_Raise(__pyx_t_4, 0, 0); -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L3:; -@@ -11367,60 +12425,61 @@ static struct __pyx_obj_4h5py_3h5t_Type - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); -- __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5t.py_create"); -+ __Pyx_XDECREF(__pyx_t_5); -+ __Pyx_AddTraceback("h5py.h5t.py_create", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_dt); -- __Pyx_DECREF(__pyx_v_enum_vals); -- __Pyx_DECREF(__pyx_v_vlen); -- __Pyx_DECREF(__pyx_v_refclass); -+ __Pyx_XDECREF(__pyx_v_enum_vals); -+ __Pyx_XDECREF(__pyx_v_vlen); -+ __Pyx_XDECREF(__pyx_v_refclass); - __Pyx_XGIVEREF((PyObject *)__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - --/* "h5py/h5t.pyx":1361 -- * raise TypeError("Unrecognized reference code") -- * -- * cpdef TypeID py_create(object dtype_in, bint logical=0): # <<<<<<<<<<<<<< -- * """(OBJECT dtype_in, BOOL logical=False) => TypeID -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5t_7py_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5t_7py_create[] = "(OBJECT dtype_in, BOOL logical=False) => TypeID\n\n Given a Numpy dtype object, generate a byte-for-byte memory-compatible\n HDF5 datatype object. The result is guaranteed to be transient and\n unlocked.\n\n Argument dtype_in may be a dtype object, or anything which can be\n converted to a dtype, including strings like ' 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__logical); -- if (value) { values[1] = value; kw_args--; } -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; -+ } -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dtype_in)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__logical); -+ if (value) { values[1] = value; kw_args--; } -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "py_create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "py_create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } - __pyx_v_dtype_in = values[0]; - if (values[1]) { -@@ -11428,23 +12487,37 @@ static PyObject *__pyx_pf_4h5py_3h5t_7py - } else { - __pyx_v_logical = ((int)0); - } -- } else { -- __pyx_v_logical = ((int)0); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: __pyx_v_logical = __Pyx_PyObject_IsTrue(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_logical == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- case 1: __pyx_v_dtype_in = PyTuple_GET_ITEM(__pyx_args, 0); -- break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("py_create", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.py_create"); -+ __Pyx_AddTraceback("h5py.h5t.py_create", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -+ __pyx_r = __pyx_pf_4h5py_3h5t_14py_create(__pyx_self, __pyx_v_dtype_in, __pyx_v_logical); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5t.pyx":1361 -+ * raise TypeError("Unrecognized reference code") -+ * -+ * cpdef TypeID py_create(object dtype_in, bint logical=0): # <<<<<<<<<<<<<< -+ * """(OBJECT dtype_in, BOOL logical=False) => TypeID -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5t_14py_create(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dtype_in, int __pyx_v_logical) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ PyObject *__pyx_t_1 = NULL; -+ struct __pyx_opt_args_4h5py_3h5t_py_create __pyx_t_2; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("py_create", 0); - __Pyx_XDECREF(__pyx_r); - __pyx_t_2.__pyx_n = 1; - __pyx_t_2.logical = __pyx_v_logical; -@@ -11458,7 +12531,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_7py - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -- __Pyx_AddTraceback("h5py.h5t.py_create"); -+ __Pyx_AddTraceback("h5py.h5t.py_create", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -11466,6 +12539,27 @@ static PyObject *__pyx_pf_4h5py_3h5t_7py - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_17special_dtype(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_16special_dtype[] = " Create a new h5py \"special\" type. Only one keyword may be given.\n\n Legal keywords are:\n\n vlen = basetype\n Base type for HDF5 variable-length datatype. Currently only the\n builtin string class (str) is allowed.\n Example: special_dtype( vlen=str )\n\n enum = (basetype, values_dict)\n Create a NumPy representation of an HDF5 enumerated type. Provide\n a 2-tuple containing an (integer) base dtype and a dict mapping\n string names to integer values.\n\n ref = Reference | RegionReference\n Create a NumPy representation of an HDF5 object or region reference\n type.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5t_17special_dtype = {__Pyx_NAMESTR("special_dtype"), (PyCFunction)__pyx_pw_4h5py_3h5t_17special_dtype, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_16special_dtype)}; -+static PyObject *__pyx_pw_4h5py_3h5t_17special_dtype(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+ PyObject *__pyx_v_kwds = 0; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("special_dtype (wrapper)", 0); -+ if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { -+ __Pyx_RaiseArgtupleInvalid("special_dtype", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} -+ if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "special_dtype", 1))) return NULL; -+ __pyx_v_kwds = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); -+ if (unlikely(!__pyx_v_kwds)) return NULL; -+ __Pyx_GOTREF(__pyx_v_kwds); -+ __pyx_r = __pyx_pf_4h5py_3h5t_16special_dtype(__pyx_self, __pyx_v_kwds); -+ __Pyx_XDECREF(__pyx_v_kwds); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":1441 - * raise TypeError("No conversion path for dtype: %s" % repr(dt)) - * -@@ -11474,37 +12568,30 @@ static PyObject *__pyx_pf_4h5py_3h5t_7py - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_8special_dtype(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5t_8special_dtype[] = " Create a new h5py \"special\" type. Only one keyword may be given.\n\n Legal keywords are:\n\n vlen = basetype\n Base type for HDF5 variable-length datatype. Currently only the\n builtin string class (str) is allowed.\n Example: special_dtype( vlen=str )\n\n enum = (basetype, values_dict)\n Create a NumPy representation of an HDF5 enumerated type. Provide\n a 2-tuple containing an (integer) base dtype and a dict mapping\n string names to integer values.\n\n ref = Reference | RegionReference\n Create a NumPy representation of an HDF5 object or region reference\n type.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5t_8special_dtype = {__Pyx_NAMESTR("special_dtype"), (PyCFunction)__pyx_pf_4h5py_3h5t_8special_dtype, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_8special_dtype)}; --static PyObject *__pyx_pf_4h5py_3h5t_8special_dtype(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -- PyObject *__pyx_v_kwds = 0; -- PyObject *__pyx_v_name; -- PyObject *__pyx_v_val; -- PyObject *__pyx_v_dt; -- PyObject *__pyx_v_enum_vals; -+static PyObject *__pyx_pf_4h5py_3h5t_16special_dtype(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kwds) { -+ PyObject *__pyx_v_name = NULL; -+ PyObject *__pyx_v_val = NULL; -+ PyObject *__pyx_v_dt = NULL; -+ PyObject *__pyx_v_enum_vals = NULL; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; -- int __pyx_t_7; -+ PyObject *(*__pyx_t_7)(PyObject *); - int __pyx_t_8; - int __pyx_t_9; -- __Pyx_RefNannySetupContext("special_dtype"); -- __pyx_self = __pyx_self; -- if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { -- __Pyx_RaiseArgtupleInvalid("special_dtype", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} -- if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "special_dtype", 1))) return NULL; -- __pyx_v_kwds = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); -- if (unlikely(!__pyx_v_kwds)) return NULL; -- __Pyx_GOTREF(__pyx_v_kwds); -- __pyx_v_name = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v_val = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v_dt = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v_enum_vals = Py_None; __Pyx_INCREF(Py_None); -+ PyObject *__pyx_t_10 = NULL; -+ PyObject *__pyx_t_11 = NULL; -+ PyObject *__pyx_t_12 = NULL; -+ int __pyx_t_13; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("special_dtype", 0); - - /* "h5py/h5t.pyx":1461 - * """ -@@ -11513,10 +12600,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - * raise TypeError("Exactly one keyword may be provided") - * - */ -- if (unlikely(__pyx_v_kwds == Py_None)) { -- PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- } -- __pyx_t_1 = PyDict_Size(((PyObject *)__pyx_v_kwds)); -+ __pyx_t_1 = PyDict_Size(((PyObject *)__pyx_v_kwds)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = (__pyx_t_1 != 1); - if (__pyx_t_2) { - -@@ -11529,12 +12613,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - */ - __pyx_t_3 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_36), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); -- __Pyx_Raise(__pyx_t_3, 0, 0); -+ __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L5; -+ goto __pyx_L3; - } -- __pyx_L5:; -+ __pyx_L3:; - - /* "h5py/h5t.pyx":1464 - * raise TypeError("Exactly one keyword may be provided") -@@ -11548,34 +12632,59 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -- if (PyTuple_CheckExact(__pyx_t_4) && likely(PyTuple_GET_SIZE(__pyx_t_4) == 2)) { -- PyObject* tuple = __pyx_t_4; -- __pyx_t_3 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_3); -- __pyx_t_5 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_5); -+ if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) { -+ PyObject* sequence = __pyx_t_4; -+ #if CYTHON_COMPILING_IN_CPYTHON -+ Py_ssize_t size = Py_SIZE(sequence); -+ #else -+ Py_ssize_t size = PySequence_Size(sequence); -+ #endif -+ if (unlikely(size != 2)) { -+ if (size > 2) __Pyx_RaiseTooManyValuesError(2); -+ else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } -+ #if CYTHON_COMPILING_IN_CPYTHON -+ if (likely(PyTuple_CheckExact(sequence))) { -+ __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); -+ __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); -+ } else { -+ __pyx_t_3 = PyList_GET_ITEM(sequence, 0); -+ __pyx_t_5 = PyList_GET_ITEM(sequence, 1); -+ } -+ __Pyx_INCREF(__pyx_t_3); -+ __Pyx_INCREF(__pyx_t_5); -+ #else -+ __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_DECREF(__pyx_v_name); -- __pyx_v_name = __pyx_t_3; -- __pyx_t_3 = 0; -- __Pyx_DECREF(__pyx_v_val); -- __pyx_v_val = __pyx_t_5; -- __pyx_t_5 = 0; -- } else { -+ } else -+ { -+ Py_ssize_t index = -1; - __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_3 = __Pyx_UnpackItem(__pyx_t_6, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; -+ index = 0; __pyx_t_3 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed; - __Pyx_GOTREF(__pyx_t_3); -- __pyx_t_5 = __Pyx_UnpackItem(__pyx_t_6, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L4_unpacking_failed; - __Pyx_GOTREF(__pyx_t_5); -- if (__Pyx_EndUnpack(__pyx_t_6, 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_7 = NULL; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -- __Pyx_DECREF(__pyx_v_name); -- __pyx_v_name = __pyx_t_3; -- __pyx_t_3 = 0; -- __Pyx_DECREF(__pyx_v_val); -- __pyx_v_val = __pyx_t_5; -- __pyx_t_5 = 0; -+ goto __pyx_L5_unpacking_done; -+ __pyx_L4_unpacking_failed:; -+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -+ __pyx_t_7 = NULL; -+ if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_L5_unpacking_done:; - } -+ __pyx_v_name = __pyx_t_3; -+ __pyx_t_3 = 0; -+ __pyx_v_val = __pyx_t_5; -+ __pyx_t_5 = 0; - - /* "h5py/h5t.pyx":1466 - * name, val = kwds.popitem() -@@ -11584,8 +12693,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - * if val not in (bytes, unicode): - * raise NotImplementedError("Only byte or unicode string vlens are currently supported") - */ -- __pyx_t_4 = PyObject_RichCompare(__pyx_v_name, ((PyObject *)__pyx_n_s__vlen), Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -+ __pyx_t_4 = PyObject_RichCompare(__pyx_v_name, ((PyObject *)__pyx_n_s__vlen), Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_2) { -@@ -11599,24 +12707,20 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - */ - __Pyx_INCREF(__pyx_v_val); - __pyx_t_4 = __pyx_v_val; -- __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)((PyObject*)(&PyBytes_Type))), Py_NE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -+ __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)((PyObject*)(&PyBytes_Type))), Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -- __pyx_t_7 = __pyx_t_2; -- if (__pyx_t_7) { -- __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)((PyObject*)(&PyUnicode_Type))), Py_NE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (((int)__pyx_t_2)) { -+ __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)((PyObject*)(&PyUnicode_Type))), Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -- __pyx_t_8 = __pyx_t_2; -- __pyx_t_2 = __pyx_t_8; -+ __pyx_t_9 = ((int)__pyx_t_8); - } else { -- __pyx_t_2 = __pyx_t_7; -+ __pyx_t_9 = ((int)__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_7 = __pyx_t_2; -- if (__pyx_t_7) { -+ __pyx_t_2 = __pyx_t_9; -+ if (__pyx_t_2) { - - /* "h5py/h5t.pyx":1468 - * if name == 'vlen': -@@ -11627,7 +12731,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - */ - __pyx_t_4 = PyObject_Call(__pyx_builtin_NotImplementedError, ((PyObject *)__pyx_k_tuple_38), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); -- __Pyx_Raise(__pyx_t_4, 0, 0); -+ __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - goto __pyx_L7; -@@ -11646,7 +12750,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); - if (PyDict_SetItem(__pyx_t_4, ((PyObject *)__pyx_n_s__type), __pyx_v_val) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -+ __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_4)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); - __Pyx_INCREF(((PyObject *)__pyx_n_s__vlen)); -@@ -11654,7 +12758,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - __Pyx_GIVEREF(((PyObject *)__pyx_n_s__vlen)); - __pyx_t_4 = 0; - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_5)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_5)); - __Pyx_INCREF(((PyObject *)__pyx_n_s__O)); -@@ -11662,12 +12766,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - __Pyx_GIVEREF(((PyObject *)__pyx_n_s__O)); - __pyx_t_5 = 0; - __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -+ __Pyx_GOTREF(__pyx_t_5); - PyList_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_4)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); - __pyx_t_4 = 0; - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(((PyObject *)__pyx_n_s__O)); - PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_n_s__O)); - __Pyx_GIVEREF(((PyObject *)__pyx_n_s__O)); -@@ -11675,7 +12779,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - __Pyx_GIVEREF(((PyObject *)__pyx_t_5)); - __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -+ __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_4)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); - __pyx_t_4 = 0; -@@ -11696,11 +12800,10 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - * - * try: - */ -- __pyx_t_4 = PyObject_RichCompare(__pyx_v_name, ((PyObject *)__pyx_n_s__enum), Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = PyObject_RichCompare(__pyx_v_name, ((PyObject *)__pyx_n_s__enum), Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- if (__pyx_t_7) { -+ if (__pyx_t_2) { - - /* "h5py/h5t.pyx":1474 - * if name == 'enum': -@@ -11710,11 +12813,10 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - * except TypeError: - */ - { -- PyObject *__pyx_save_exc_type, *__pyx_save_exc_value, *__pyx_save_exc_tb; -- __Pyx_ExceptionSave(&__pyx_save_exc_type, &__pyx_save_exc_value, &__pyx_save_exc_tb); -- __Pyx_XGOTREF(__pyx_save_exc_type); -- __Pyx_XGOTREF(__pyx_save_exc_value); -- __Pyx_XGOTREF(__pyx_save_exc_tb); -+ __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); -+ __Pyx_XGOTREF(__pyx_t_10); -+ __Pyx_XGOTREF(__pyx_t_11); -+ __Pyx_XGOTREF(__pyx_t_12); - /*try:*/ { - - /* "h5py/h5t.pyx":1475 -@@ -11724,36 +12826,61 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - * except TypeError: - * raise TypeError("Enums must be created from a 2-tuple (basetype, values_dict)") - */ -- if (PyTuple_CheckExact(__pyx_v_val) && likely(PyTuple_GET_SIZE(__pyx_v_val) == 2)) { -- PyObject* tuple = __pyx_v_val; -- __pyx_t_4 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_4); -- __pyx_t_5 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_5); -- __Pyx_DECREF(__pyx_v_dt); -- __pyx_v_dt = __pyx_t_4; -- __pyx_t_4 = 0; -- __Pyx_DECREF(__pyx_v_enum_vals); -- __pyx_v_enum_vals = __pyx_t_5; -- __pyx_t_5 = 0; -- } else { -+ if ((likely(PyTuple_CheckExact(__pyx_v_val))) || (PyList_CheckExact(__pyx_v_val))) { -+ PyObject* sequence = __pyx_v_val; -+ #if CYTHON_COMPILING_IN_CPYTHON -+ Py_ssize_t size = Py_SIZE(sequence); -+ #else -+ Py_ssize_t size = PySequence_Size(sequence); -+ #endif -+ if (unlikely(size != 2)) { -+ if (size > 2) __Pyx_RaiseTooManyValuesError(2); -+ else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1475; __pyx_clineno = __LINE__; goto __pyx_L9_error;} -+ } -+ #if CYTHON_COMPILING_IN_CPYTHON -+ if (likely(PyTuple_CheckExact(sequence))) { -+ __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); -+ __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); -+ } else { -+ __pyx_t_4 = PyList_GET_ITEM(sequence, 0); -+ __pyx_t_5 = PyList_GET_ITEM(sequence, 1); -+ } -+ __Pyx_INCREF(__pyx_t_4); -+ __Pyx_INCREF(__pyx_t_5); -+ #else -+ __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1475; __pyx_clineno = __LINE__; goto __pyx_L9_error;} -+ __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1475; __pyx_clineno = __LINE__; goto __pyx_L9_error;} -+ #endif -+ } else -+ { -+ Py_ssize_t index = -1; - __pyx_t_3 = PyObject_GetIter(__pyx_v_val); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1475; __pyx_clineno = __LINE__; goto __pyx_L9_error;} - __Pyx_GOTREF(__pyx_t_3); -- __pyx_t_4 = __Pyx_UnpackItem(__pyx_t_3, 0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1475; __pyx_clineno = __LINE__; goto __pyx_L9_error;} -+ __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; -+ index = 0; __pyx_t_4 = __pyx_t_7(__pyx_t_3); if (unlikely(!__pyx_t_4)) goto __pyx_L17_unpacking_failed; - __Pyx_GOTREF(__pyx_t_4); -- __pyx_t_5 = __Pyx_UnpackItem(__pyx_t_3, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1475; __pyx_clineno = __LINE__; goto __pyx_L9_error;} -+ index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_3); if (unlikely(!__pyx_t_5)) goto __pyx_L17_unpacking_failed; - __Pyx_GOTREF(__pyx_t_5); -- if (__Pyx_EndUnpack(__pyx_t_3, 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1475; __pyx_clineno = __LINE__; goto __pyx_L9_error;} -+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_3), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1475; __pyx_clineno = __LINE__; goto __pyx_L9_error;} -+ __pyx_t_7 = NULL; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -- __Pyx_DECREF(__pyx_v_dt); -- __pyx_v_dt = __pyx_t_4; -- __pyx_t_4 = 0; -- __Pyx_DECREF(__pyx_v_enum_vals); -- __pyx_v_enum_vals = __pyx_t_5; -- __pyx_t_5 = 0; -+ goto __pyx_L18_unpacking_done; -+ __pyx_L17_unpacking_failed:; -+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -+ __pyx_t_7 = NULL; -+ if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1475; __pyx_clineno = __LINE__; goto __pyx_L9_error;} -+ __pyx_L18_unpacking_done:; - } -+ __pyx_v_dt = __pyx_t_4; -+ __pyx_t_4 = 0; -+ __pyx_v_enum_vals = __pyx_t_5; -+ __pyx_t_5 = 0; - } -- __Pyx_XDECREF(__pyx_save_exc_type); __pyx_save_exc_type = 0; -- __Pyx_XDECREF(__pyx_save_exc_value); __pyx_save_exc_value = 0; -- __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0; -+ __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; -+ __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; -+ __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L16_try_end; - __pyx_L9_error:; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; -@@ -11768,9 +12895,9 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - * raise TypeError("Enums must be created from a 2-tuple (basetype, values_dict)") - * - */ -- __pyx_t_9 = PyErr_ExceptionMatches(__pyx_builtin_TypeError); -- if (__pyx_t_9) { -- __Pyx_AddTraceback("h5py.h5t.special_dtype"); -+ __pyx_t_13 = PyErr_ExceptionMatches(__pyx_builtin_TypeError); -+ if (__pyx_t_13) { -+ __Pyx_AddTraceback("h5py.h5t.special_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1476; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_4); -@@ -11785,7 +12912,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - */ - __pyx_t_6 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_40), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1477; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;} - __Pyx_GOTREF(__pyx_t_6); -- __Pyx_Raise(__pyx_t_6, 0, 0); -+ __Pyx_Raise(__pyx_t_6, 0, 0, 0); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1477; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -@@ -11794,16 +12921,16 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - goto __pyx_L10_exception_handled; - } - __pyx_L11_except_error:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -+ __Pyx_XGIVEREF(__pyx_t_10); -+ __Pyx_XGIVEREF(__pyx_t_11); -+ __Pyx_XGIVEREF(__pyx_t_12); -+ __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - goto __pyx_L1_error; - __pyx_L10_exception_handled:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -+ __Pyx_XGIVEREF(__pyx_t_10); -+ __Pyx_XGIVEREF(__pyx_t_11); -+ __Pyx_XGIVEREF(__pyx_t_12); -+ __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_L16_try_end:; - } - -@@ -11815,7 +12942,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - * raise TypeError("Only integer types can be used as enums") - */ - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1479; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_dt); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_dt); - __Pyx_GIVEREF(__pyx_v_dt); -@@ -11835,9 +12962,9 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - */ - __pyx_t_4 = PyObject_GetAttr(__pyx_v_dt, __pyx_n_s__kind); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); -- __pyx_t_7 = (__Pyx_NegateNonNeg(PySequence_Contains(((PyObject *)__pyx_n_s__iu), __pyx_t_4))); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = (__Pyx_PySequence_Contains(__pyx_t_4, ((PyObject *)__pyx_n_s__iu), Py_NE)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- if (__pyx_t_7) { -+ if (__pyx_t_2) { - - /* "h5py/h5t.pyx":1481 - * dt = dtype(dt) -@@ -11848,12 +12975,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - */ - __pyx_t_4 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_42), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); -- __Pyx_Raise(__pyx_t_4, 0, 0); -+ __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L19; -+ goto __pyx_L21; - } -- __pyx_L19:; -+ __pyx_L21:; - - /* "h5py/h5t.pyx":1483 - * raise TypeError("Only integer types can be used as enums") -@@ -11867,7 +12994,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); - if (PyDict_SetItem(__pyx_t_4, ((PyObject *)__pyx_n_s__vals), __pyx_v_enum_vals) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); - __Pyx_INCREF(((PyObject *)__pyx_n_s__enum)); -@@ -11875,7 +13002,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - __Pyx_GIVEREF(((PyObject *)__pyx_n_s__enum)); - __pyx_t_4 = 0; - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_3)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_3)); - __Pyx_INCREF(__pyx_v_dt); -@@ -11883,12 +13010,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - __Pyx_GIVEREF(__pyx_v_dt); - __pyx_t_3 = 0; - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - PyList_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); - __pyx_t_4 = 0; - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_v_dt); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_dt); - __Pyx_GIVEREF(__pyx_v_dt); -@@ -11896,7 +13023,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - __Pyx_GIVEREF(((PyObject *)__pyx_t_3)); - __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); - __pyx_t_4 = 0; -@@ -11917,11 +13044,10 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - * - * if val not in (Reference, RegionReference): - */ -- __pyx_t_4 = PyObject_RichCompare(__pyx_v_name, ((PyObject *)__pyx_n_s__ref), Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = PyObject_RichCompare(__pyx_v_name, ((PyObject *)__pyx_n_s__ref), Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- if (__pyx_t_7) { -+ if (__pyx_t_2) { - - /* "h5py/h5t.pyx":1487 - * if name == 'ref': -@@ -11932,23 +13058,19 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - */ - __Pyx_INCREF(__pyx_v_val); - __pyx_t_4 = __pyx_v_val; -- __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5r_Reference)), Py_NE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_3); -- __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5r_Reference)), Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -- __pyx_t_2 = __pyx_t_7; -- if (__pyx_t_2) { -- __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5r_RegionReference)), Py_NE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_3); -- __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (((int)__pyx_t_2)) { -+ __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5r_RegionReference)), Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -- __pyx_t_8 = __pyx_t_7; -- __pyx_t_7 = __pyx_t_8; -+ __pyx_t_8 = ((int)__pyx_t_9); - } else { -- __pyx_t_7 = __pyx_t_2; -+ __pyx_t_8 = ((int)__pyx_t_2); - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_2 = __pyx_t_7; -+ __pyx_t_2 = __pyx_t_8; - if (__pyx_t_2) { - - /* "h5py/h5t.pyx":1488 -@@ -11960,12 +13082,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - */ - __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_44), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); -- __Pyx_Raise(__pyx_t_4, 0, 0); -+ __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L21; -+ goto __pyx_L23; - } -- __pyx_L21:; -+ __pyx_L23:; - - /* "h5py/h5t.pyx":1490 - * raise ValueError("Ref class must be Reference or RegionReference") -@@ -11979,7 +13101,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); - if (PyDict_SetItem(__pyx_t_4, ((PyObject *)__pyx_n_s__type), __pyx_v_val) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); - __Pyx_INCREF(((PyObject *)__pyx_n_s__ref)); -@@ -11987,7 +13109,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - __Pyx_GIVEREF(((PyObject *)__pyx_n_s__ref)); - __pyx_t_4 = 0; - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_3)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_3)); - __Pyx_INCREF(((PyObject *)__pyx_n_s__O)); -@@ -11995,12 +13117,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - __Pyx_GIVEREF(((PyObject *)__pyx_n_s__O)); - __pyx_t_3 = 0; - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - PyList_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); - __pyx_t_4 = 0; - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(((PyObject *)__pyx_n_s__O)); - PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_n_s__O)); - __Pyx_GIVEREF(((PyObject *)__pyx_n_s__O)); -@@ -12008,7 +13130,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - __Pyx_GIVEREF(((PyObject *)__pyx_t_3)); - __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); - __pyx_t_4 = 0; -@@ -12018,9 +13140,9 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; - goto __pyx_L0; -- goto __pyx_L20; -+ goto __pyx_L22; - } -- __pyx_L20:; -+ __pyx_L22:; - - /* "h5py/h5t.pyx":1492 - * return dtype(('O', [( ({'type': val},'ref'), 'O' )] )) -@@ -12032,14 +13154,14 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_45), __pyx_v_name); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); - __pyx_t_4 = 0; - __pyx_t_4 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; -- __Pyx_Raise(__pyx_t_4, 0, 0); -+ __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - -@@ -12050,19 +13172,39 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); -- __Pyx_AddTraceback("h5py.h5t.special_dtype"); -+ __Pyx_AddTraceback("h5py.h5t.special_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF(__pyx_v_kwds); -- __Pyx_DECREF(__pyx_v_name); -- __Pyx_DECREF(__pyx_v_val); -- __Pyx_DECREF(__pyx_v_dt); -- __Pyx_DECREF(__pyx_v_enum_vals); -+ __Pyx_XDECREF(__pyx_v_name); -+ __Pyx_XDECREF(__pyx_v_val); -+ __Pyx_XDECREF(__pyx_v_dt); -+ __Pyx_XDECREF(__pyx_v_enum_vals); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_19check_dtype(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_18check_dtype[] = " Check a dtype for h5py special type \"hint\" information. Only one\n keyword may be given.\n\n vlen = dtype\n If the dtype represents an HDF5 vlen, returns the Python base class.\n Currently only builting string vlens (str) are supported. Returns\n None if the dtype does not represent an HDF5 vlen.\n\n enum = dtype\n If the dtype represents an HDF5 enumerated type, returns the dictionary\n mapping string names to integer values. Returns None if the dtype does\n not represent an HDF5 enumerated type.\n\n ref = dtype\n If the dtype represents an HDF5 reference type, returns the reference\n class (either Reference or RegionReference). Returns None if the dtype\n does not represent an HDF5 reference type.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5t_19check_dtype = {__Pyx_NAMESTR("check_dtype"), (PyCFunction)__pyx_pw_4h5py_3h5t_19check_dtype, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_18check_dtype)}; -+static PyObject *__pyx_pw_4h5py_3h5t_19check_dtype(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+ PyObject *__pyx_v_kwds = 0; -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("check_dtype (wrapper)", 0); -+ if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { -+ __Pyx_RaiseArgtupleInvalid("check_dtype", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} -+ if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "check_dtype", 1))) return NULL; -+ __pyx_v_kwds = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); -+ if (unlikely(!__pyx_v_kwds)) return NULL; -+ __Pyx_GOTREF(__pyx_v_kwds); -+ __pyx_r = __pyx_pf_4h5py_3h5t_18check_dtype(__pyx_self, __pyx_v_kwds); -+ __Pyx_XDECREF(__pyx_v_kwds); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":1494 - * raise TypeError('Unknown special type "%s"' % name) - * -@@ -12071,38 +13213,27 @@ static PyObject *__pyx_pf_4h5py_3h5t_8sp - * keyword may be given. - */ - --static PyObject *__pyx_pf_4h5py_3h5t_9check_dtype(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5t_9check_dtype[] = " Check a dtype for h5py special type \"hint\" information. Only one\n keyword may be given.\n\n vlen = dtype\n If the dtype represents an HDF5 vlen, returns the Python base class.\n Currently only builting string vlens (str) are supported. Returns\n None if the dtype does not represent an HDF5 vlen.\n\n enum = dtype\n If the dtype represents an HDF5 enumerated type, returns the dictionary\n mapping string names to integer values. Returns None if the dtype does\n not represent an HDF5 enumerated type.\n\n ref = dtype\n If the dtype represents an HDF5 reference type, returns the reference\n class (either Reference or RegionReference). Returns None if the dtype\n does not represent an HDF5 reference type.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5t_9check_dtype = {__Pyx_NAMESTR("check_dtype"), (PyCFunction)__pyx_pf_4h5py_3h5t_9check_dtype, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_9check_dtype)}; --static PyObject *__pyx_pf_4h5py_3h5t_9check_dtype(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -- PyObject *__pyx_v_kwds = 0; -- PyObject *__pyx_v_name; -- PyObject *__pyx_v_dt; -- PyObject *__pyx_v_hintkey; -- PyObject *__pyx_v_tpl; -- PyObject *__pyx_v_hint_dict; -+static PyObject *__pyx_pf_4h5py_3h5t_18check_dtype(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kwds) { -+ PyObject *__pyx_v_name = NULL; -+ PyObject *__pyx_v_dt = NULL; -+ PyObject *__pyx_v_hintkey = NULL; -+ PyObject *__pyx_v_tpl = NULL; -+ PyObject *__pyx_v_hint_dict = NULL; - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; -- int __pyx_t_7; -+ PyObject *(*__pyx_t_7)(PyObject *); - int __pyx_t_8; -- __Pyx_RefNannySetupContext("check_dtype"); -- __pyx_self = __pyx_self; -- if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { -- __Pyx_RaiseArgtupleInvalid("check_dtype", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} -- if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "check_dtype", 1))) return NULL; -- __pyx_v_kwds = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); -- if (unlikely(!__pyx_v_kwds)) return NULL; -- __Pyx_GOTREF(__pyx_v_kwds); -- __pyx_v_name = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v_dt = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v_hintkey = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v_tpl = Py_None; __Pyx_INCREF(Py_None); -- __pyx_v_hint_dict = Py_None; __Pyx_INCREF(Py_None); -+ int __pyx_t_9; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("check_dtype", 0); - - /* "h5py/h5t.pyx":1514 - * """ -@@ -12111,10 +13242,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_9ch - * raise TypeError("Exactly one keyword may be provided") - * - */ -- if (unlikely(__pyx_v_kwds == Py_None)) { -- PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- } -- __pyx_t_1 = PyDict_Size(((PyObject *)__pyx_v_kwds)); -+ __pyx_t_1 = PyDict_Size(((PyObject *)__pyx_v_kwds)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = (__pyx_t_1 != 1); - if (__pyx_t_2) { - -@@ -12127,12 +13255,12 @@ static PyObject *__pyx_pf_4h5py_3h5t_9ch - */ - __pyx_t_3 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_46), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); -- __Pyx_Raise(__pyx_t_3, 0, 0); -+ __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- goto __pyx_L5; -+ goto __pyx_L3; - } -- __pyx_L5:; -+ __pyx_L3:; - - /* "h5py/h5t.pyx":1517 - * raise TypeError("Exactly one keyword may be provided") -@@ -12146,34 +13274,59 @@ static PyObject *__pyx_pf_4h5py_3h5t_9ch - __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -- if (PyTuple_CheckExact(__pyx_t_4) && likely(PyTuple_GET_SIZE(__pyx_t_4) == 2)) { -- PyObject* tuple = __pyx_t_4; -- __pyx_t_3 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_3); -- __pyx_t_5 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_5); -+ if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) { -+ PyObject* sequence = __pyx_t_4; -+ #if CYTHON_COMPILING_IN_CPYTHON -+ Py_ssize_t size = Py_SIZE(sequence); -+ #else -+ Py_ssize_t size = PySequence_Size(sequence); -+ #endif -+ if (unlikely(size != 2)) { -+ if (size > 2) __Pyx_RaiseTooManyValuesError(2); -+ else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } -+ #if CYTHON_COMPILING_IN_CPYTHON -+ if (likely(PyTuple_CheckExact(sequence))) { -+ __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); -+ __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); -+ } else { -+ __pyx_t_3 = PyList_GET_ITEM(sequence, 0); -+ __pyx_t_5 = PyList_GET_ITEM(sequence, 1); -+ } -+ __Pyx_INCREF(__pyx_t_3); -+ __Pyx_INCREF(__pyx_t_5); -+ #else -+ __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_DECREF(__pyx_v_name); -- __pyx_v_name = __pyx_t_3; -- __pyx_t_3 = 0; -- __Pyx_DECREF(__pyx_v_dt); -- __pyx_v_dt = __pyx_t_5; -- __pyx_t_5 = 0; -- } else { -+ } else -+ { -+ Py_ssize_t index = -1; - __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_3 = __Pyx_UnpackItem(__pyx_t_6, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; -+ index = 0; __pyx_t_3 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed; - __Pyx_GOTREF(__pyx_t_3); -- __pyx_t_5 = __Pyx_UnpackItem(__pyx_t_6, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L4_unpacking_failed; - __Pyx_GOTREF(__pyx_t_5); -- if (__Pyx_EndUnpack(__pyx_t_6, 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_7 = NULL; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -- __Pyx_DECREF(__pyx_v_name); -- __pyx_v_name = __pyx_t_3; -- __pyx_t_3 = 0; -- __Pyx_DECREF(__pyx_v_dt); -- __pyx_v_dt = __pyx_t_5; -- __pyx_t_5 = 0; -+ goto __pyx_L5_unpacking_done; -+ __pyx_L4_unpacking_failed:; -+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -+ __pyx_t_7 = NULL; -+ if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); -+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_L5_unpacking_done:; - } -+ __pyx_v_name = __pyx_t_3; -+ __pyx_t_3 = 0; -+ __pyx_v_dt = __pyx_t_5; -+ __pyx_t_5 = 0; - - /* "h5py/h5t.pyx":1519 - * name, dt = kwds.popitem() -@@ -12184,34 +13337,28 @@ static PyObject *__pyx_pf_4h5py_3h5t_9ch - */ - __Pyx_INCREF(__pyx_v_name); - __pyx_t_4 = __pyx_v_name; -- __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)__pyx_n_s__vlen), Py_NE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -+ __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)__pyx_n_s__vlen), Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -- __pyx_t_7 = __pyx_t_2; -- if (__pyx_t_7) { -- __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)__pyx_n_s__enum), Py_NE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (((int)__pyx_t_2)) { -+ __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)__pyx_n_s__enum), Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -- __pyx_t_8 = __pyx_t_2; -- __pyx_t_2 = __pyx_t_8; -+ __pyx_t_9 = ((int)__pyx_t_8); - } else { -- __pyx_t_2 = __pyx_t_7; -+ __pyx_t_9 = ((int)__pyx_t_2); - } -- if (__pyx_t_2) { -- __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)__pyx_n_s__ref), Py_NE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__pyx_t_9) { -+ __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)__pyx_n_s__ref), Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -- __pyx_t_8 = __pyx_t_7; -- __pyx_t_7 = __pyx_t_8; -+ __pyx_t_8 = ((int)__pyx_t_2); - } else { -- __pyx_t_7 = __pyx_t_2; -+ __pyx_t_8 = __pyx_t_9; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_2 = __pyx_t_7; -- if (__pyx_t_2) { -+ __pyx_t_9 = __pyx_t_8; -+ if (__pyx_t_9) { - - /* "h5py/h5t.pyx":1520 - * -@@ -12223,14 +13370,14 @@ static PyObject *__pyx_pf_4h5py_3h5t_9ch - __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_45), __pyx_v_name); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1520; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1520; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -+ __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_4)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); - __pyx_t_4 = 0; - __pyx_t_4 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1520; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; -- __Pyx_Raise(__pyx_t_4, 0, 0); -+ __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1520; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - goto __pyx_L6; -@@ -12244,15 +13391,14 @@ static PyObject *__pyx_pf_4h5py_3h5t_9ch - * - * if dt.fields is not None and name in dt.fields: - */ -- __pyx_t_2 = (__pyx_v_name != ((PyObject *)__pyx_n_s__enum)); -- if (__pyx_t_2) { -+ __pyx_t_9 = (__pyx_v_name != ((PyObject *)__pyx_n_s__enum)); -+ if (__pyx_t_9) { - __Pyx_INCREF(((PyObject *)__pyx_n_s__type)); - __pyx_t_4 = __pyx_n_s__type; - } else { - __Pyx_INCREF(((PyObject *)__pyx_n_s__vals)); - __pyx_t_4 = __pyx_n_s__vals; - } -- __Pyx_DECREF(__pyx_v_hintkey); - __pyx_v_hintkey = ((PyObject *)__pyx_t_4); - __pyx_t_4 = 0; - -@@ -12265,18 +13411,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_9ch - */ - __pyx_t_4 = PyObject_GetAttr(__pyx_v_dt, __pyx_n_s__fields); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); -- __pyx_t_2 = (__pyx_t_4 != Py_None); -+ __pyx_t_9 = (__pyx_t_4 != Py_None); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- if (__pyx_t_2) { -+ if (__pyx_t_9) { - __pyx_t_4 = PyObject_GetAttr(__pyx_v_dt, __pyx_n_s__fields); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); -- __pyx_t_7 = ((PySequence_Contains(__pyx_t_4, __pyx_v_name))); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_8 = (__Pyx_PySequence_Contains(__pyx_v_name, __pyx_t_4, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_8 = __pyx_t_7; -+ __pyx_t_2 = __pyx_t_8; - } else { -- __pyx_t_8 = __pyx_t_2; -+ __pyx_t_2 = __pyx_t_9; - } -- if (__pyx_t_8) { -+ if (__pyx_t_2) { - - /* "h5py/h5t.pyx":1525 - * -@@ -12290,7 +13436,6 @@ static PyObject *__pyx_pf_4h5py_3h5t_9ch - __pyx_t_5 = PyObject_GetItem(__pyx_t_4, __pyx_v_name); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_DECREF(__pyx_v_tpl); - __pyx_v_tpl = __pyx_t_5; - __pyx_t_5 = 0; - -@@ -12302,8 +13447,8 @@ static PyObject *__pyx_pf_4h5py_3h5t_9ch - * if hintkey in hint_dict: - */ - __pyx_t_1 = PyObject_Length(__pyx_v_tpl); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __pyx_t_8 = (__pyx_t_1 == 3); -- if (__pyx_t_8) { -+ __pyx_t_2 = (__pyx_t_1 == 3); -+ if (__pyx_t_2) { - - /* "h5py/h5t.pyx":1527 - * tpl = dt.fields[name] -@@ -12314,7 +13459,6 @@ static PyObject *__pyx_pf_4h5py_3h5t_9ch - */ - __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_tpl, 2, sizeof(long), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); -- __Pyx_DECREF(__pyx_v_hint_dict); - __pyx_v_hint_dict = __pyx_t_5; - __pyx_t_5 = 0; - -@@ -12325,8 +13469,8 @@ static PyObject *__pyx_pf_4h5py_3h5t_9ch - * return hint_dict[hintkey] - * - */ -- __pyx_t_8 = ((PySequence_Contains(__pyx_v_hint_dict, __pyx_v_hintkey))); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__pyx_t_8) { -+ __pyx_t_2 = (__Pyx_PySequence_Contains(__pyx_v_hintkey, __pyx_v_hint_dict, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (__pyx_t_2) { - - /* "h5py/h5t.pyx":1529 - * hint_dict = tpl[2] -@@ -12370,54 +13514,35 @@ static PyObject *__pyx_pf_4h5py_3h5t_9ch - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); -- __Pyx_AddTraceback("h5py.h5t.check_dtype"); -+ __Pyx_AddTraceback("h5py.h5t.check_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF(__pyx_v_kwds); -- __Pyx_DECREF(__pyx_v_name); -- __Pyx_DECREF(__pyx_v_dt); -- __Pyx_DECREF(__pyx_v_hintkey); -- __Pyx_DECREF(__pyx_v_tpl); -- __Pyx_DECREF(__pyx_v_hint_dict); -+ __Pyx_XDECREF(__pyx_v_name); -+ __Pyx_XDECREF(__pyx_v_dt); -+ __Pyx_XDECREF(__pyx_v_hintkey); -+ __Pyx_XDECREF(__pyx_v_tpl); -+ __Pyx_XDECREF(__pyx_v_hint_dict); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - --/* "h5py/h5t.pyx":1533 -- * return None -- * -- * def convert(TypeID src not None, TypeID dst not None, size_t n, # <<<<<<<<<<<<<< -- * ndarray buf not None, ndarray bkg=None, ObjectID dxpl=None): -- * """ (TypeID src, TypeID dst, UINT n, NDARRAY buf, NDARRAY bkg=None, -- */ -- --static PyObject *__pyx_pf_4h5py_3h5t_10convert(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5t_10convert[] = " (TypeID src, TypeID dst, UINT n, NDARRAY buf, NDARRAY bkg=None,\n PropID dxpl=None)\n\n Convert n contiguous elements of a buffer in-place. The array dtype\n is ignored. The backing buffer is optional; for conversion of compound\n types, a temporary copy of conversion buffer will used for backing if\n one is not supplied.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5t_10convert = {__Pyx_NAMESTR("convert"), (PyCFunction)__pyx_pf_4h5py_3h5t_10convert, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_10convert)}; --static PyObject *__pyx_pf_4h5py_3h5t_10convert(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_21convert(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_20convert[] = " (TypeID src, TypeID dst, UINT n, NDARRAY buf, NDARRAY bkg=None,\n PropID dxpl=None)\n\n Convert n contiguous elements of a buffer in-place. The array dtype\n is ignored. The backing buffer is optional; for conversion of compound\n types, a temporary copy of conversion buffer will used for backing if\n one is not supplied.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5t_21convert = {__Pyx_NAMESTR("convert"), (PyCFunction)__pyx_pw_4h5py_3h5t_21convert, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_20convert)}; -+static PyObject *__pyx_pw_4h5py_3h5t_21convert(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_src = 0; - struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_dst = 0; - size_t __pyx_v_n; - PyArrayObject *__pyx_v_buf = 0; - PyArrayObject *__pyx_v_bkg = 0; - struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_dxpl = 0; -- void *__pyx_v_bkg_; -- void *__pyx_v_buf_; -- PyObject *__pyx_r = NULL; -- int __pyx_t_1; -- PyObject *__pyx_t_2 = NULL; -- PyObject *__pyx_t_3 = NULL; -- PyObject *__pyx_t_4 = NULL; -- int __pyx_t_5; -- int __pyx_t_6; -- int __pyx_t_7; -- herr_t __pyx_t_8; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__src,&__pyx_n_s__dst,&__pyx_n_s__n,&__pyx_n_s__buf,&__pyx_n_s__bkg,&__pyx_n_s__dxpl,0}; -- __Pyx_RefNannySetupContext("convert"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("convert (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__src,&__pyx_n_s__dst,&__pyx_n_s__n,&__pyx_n_s__buf,&__pyx_n_s__bkg,&__pyx_n_s__dxpl,0}; - PyObject* values[6] = {0,0,0,0,0,0}; - - /* "h5py/h5t.pyx":1534 -@@ -12429,90 +13554,121 @@ static PyObject *__pyx_pf_4h5py_3h5t_10c - */ - values[4] = (PyObject *)((PyArrayObject *)Py_None); - values[5] = (PyObject *)((struct __pyx_obj_4h5py_8_objects_ObjectID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); -- case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); -- case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__src); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dst); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("convert", 0, 4, 6, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } -- case 2: -- values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__n); -- if (likely(values[2])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("convert", 0, 4, 6, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); -+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); -+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- case 3: -- values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__buf); -- if (likely(values[3])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("convert", 0, 4, 6, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__src)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dst)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("convert", 0, 4, 6, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 2: -+ if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__n)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("convert", 0, 4, 6, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 3: -+ if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__buf)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("convert", 0, 4, 6, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ case 4: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__bkg); -+ if (value) { values[4] = value; kw_args--; } -+ } -+ case 5: -+ if (kw_args > 0) { -+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dxpl); -+ if (value) { values[5] = value; kw_args--; } -+ } - } -- case 4: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__bkg); -- if (value) { values[4] = value; kw_args--; } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "convert") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - } -- case 5: -- if (kw_args > 0) { -- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dxpl); -- if (value) { values[5] = value; kw_args--; } -+ } else { -+ switch (PyTuple_GET_SIZE(__pyx_args)) { -+ case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); -+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); -+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); -+ values[2] = PyTuple_GET_ITEM(__pyx_args, 2); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ break; -+ default: goto __pyx_L5_argtuple_error; - } - } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "convert") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- } - __pyx_v_src = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[0]); - __pyx_v_dst = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[1]); - __pyx_v_n = __Pyx_PyInt_AsSize_t(values[2]); if (unlikely((__pyx_v_n == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_buf = ((PyArrayObject *)values[3]); - __pyx_v_bkg = ((PyArrayObject *)values[4]); - __pyx_v_dxpl = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[5]); -- } else { -- __pyx_v_bkg = ((PyArrayObject *)Py_None); -- __pyx_v_dxpl = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)Py_None); -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 6: -- __pyx_v_dxpl = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 5)); -- case 5: -- __pyx_v_bkg = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 4)); -- case 4: -- __pyx_v_buf = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 3)); -- __pyx_v_n = __Pyx_PyInt_AsSize_t(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_n == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -- __pyx_v_dst = ((struct __pyx_obj_4h5py_3h5t_TypeID *)PyTuple_GET_ITEM(__pyx_args, 1)); -- __pyx_v_src = ((struct __pyx_obj_4h5py_3h5t_TypeID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- break; -- default: goto __pyx_L5_argtuple_error; -- } - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("convert", 0, 4, 6, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.convert"); -+ __Pyx_AddTraceback("h5py.h5t.convert", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; -- __Pyx_INCREF((PyObject *)__pyx_v_bkg); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src), __pyx_ptype_4h5py_3h5t_TypeID, 0, "src", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dst), __pyx_ptype_4h5py_3h5t_TypeID, 0, "dst", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_buf), __pyx_ptype_4h5py_5numpy_ndarray, 0, "buf", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_bkg), __pyx_ptype_4h5py_5numpy_ndarray, 1, "bkg", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dxpl), __pyx_ptype_4h5py_8_objects_ObjectID, 1, "dxpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5t_20convert(__pyx_self, __pyx_v_src, __pyx_v_dst, __pyx_v_n, __pyx_v_buf, __pyx_v_bkg, __pyx_v_dxpl); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5t.pyx":1533 -+ * return None -+ * -+ * def convert(TypeID src not None, TypeID dst not None, size_t n, # <<<<<<<<<<<<<< -+ * ndarray buf not None, ndarray bkg=None, ObjectID dxpl=None): -+ * """ (TypeID src, TypeID dst, UINT n, NDARRAY buf, NDARRAY bkg=None, -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5t_20convert(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_src, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_dst, size_t __pyx_v_n, PyArrayObject *__pyx_v_buf, PyArrayObject *__pyx_v_bkg, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_dxpl) { -+ void *__pyx_v_bkg_; -+ void *__pyx_v_buf_; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ char *__pyx_t_1; -+ int __pyx_t_2; -+ PyObject *__pyx_t_3 = NULL; -+ PyObject *__pyx_t_4 = NULL; -+ PyObject *__pyx_t_5 = NULL; -+ int __pyx_t_6; -+ int __pyx_t_7; -+ int __pyx_t_8; -+ herr_t __pyx_t_9; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("convert", 0); -+ __Pyx_INCREF((PyObject *)__pyx_v_bkg); - - /* "h5py/h5t.pyx":1543 - * one is not supplied. -@@ -12530,7 +13686,8 @@ static PyObject *__pyx_pf_4h5py_3h5t_10c - * - * if bkg is None and (src.detect_class(H5T_COMPOUND) or - */ -- __pyx_v_buf_ = __pyx_v_buf->data; -+ __pyx_t_1 = __pyx_v_buf->data; -+ __pyx_v_buf_ = __pyx_t_1; - - /* "h5py/h5t.pyx":1546 - * cdef void* buf_ = buf.data -@@ -12539,24 +13696,24 @@ static PyObject *__pyx_pf_4h5py_3h5t_10c - * dst.detect_class(H5T_COMPOUND)): - * bkg = buf.copy() - */ -- __pyx_t_1 = (((PyObject *)__pyx_v_bkg) == Py_None); -- if (__pyx_t_1) { -- __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_src), __pyx_n_s__detect_class); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __pyx_t_3 = PyInt_FromLong(H5T_COMPOUND); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_3); -- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); -- __Pyx_GIVEREF(__pyx_t_3); -- __pyx_t_3 = 0; -- __pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_2 = (((PyObject *)__pyx_v_bkg) == Py_None); -+ if (__pyx_t_2) { -+ __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_src), __pyx_n_s__detect_class); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); -- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; -- __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; -- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = PyInt_FromLong(H5T_COMPOUND); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); -+ __Pyx_GIVEREF(__pyx_t_4); -+ __pyx_t_4 = 0; -+ __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -- if (!__pyx_t_5) { -+ __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; -+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ if (!__pyx_t_6) { - - /* "h5py/h5t.pyx":1547 - * -@@ -12565,30 +13722,30 @@ static PyObject *__pyx_pf_4h5py_3h5t_10c - * bkg = buf.copy() - * if bkg is not None: - */ -- __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_dst), __pyx_n_s__detect_class); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_3); -- __pyx_t_4 = PyInt_FromLong(H5T_COMPOUND); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_2)); -- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); -- __Pyx_GIVEREF(__pyx_t_4); -- __pyx_t_4 = 0; -- __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_dst), __pyx_n_s__detect_class); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); -- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -- __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; -- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = PyInt_FromLong(H5T_COMPOUND); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_3); -+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); -+ __Pyx_GIVEREF(__pyx_t_5); -+ __pyx_t_5 = 0; -+ __pyx_t_5 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_7 = __pyx_t_6; -+ __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; -+ __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_8 = __pyx_t_7; - } else { -- __pyx_t_7 = __pyx_t_5; -+ __pyx_t_8 = __pyx_t_6; - } -- __pyx_t_5 = __pyx_t_7; -+ __pyx_t_6 = __pyx_t_8; - } else { -- __pyx_t_5 = __pyx_t_1; -+ __pyx_t_6 = __pyx_t_2; - } -- if (__pyx_t_5) { -+ if (__pyx_t_6) { - - /* "h5py/h5t.pyx":1548 - * if bkg is None and (src.detect_class(H5T_COMPOUND) or -@@ -12597,18 +13754,18 @@ static PyObject *__pyx_pf_4h5py_3h5t_10c - * if bkg is not None: - * bkg_ = bkg.data - */ -- __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_buf), __pyx_n_s__copy); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __pyx_t_2 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_2); -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = PyObject_GetAttr(((PyObject *)__pyx_v_buf), __pyx_n_s__copy); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ __pyx_t_3 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_3); -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(((PyObject *)__pyx_v_bkg)); -- __pyx_v_bkg = ((PyArrayObject *)__pyx_t_2); -- __pyx_t_2 = 0; -- goto __pyx_L6; -+ __pyx_v_bkg = ((PyArrayObject *)__pyx_t_3); -+ __pyx_t_3 = 0; -+ goto __pyx_L3; - } -- __pyx_L6:; -+ __pyx_L3:; - - /* "h5py/h5t.pyx":1549 - * dst.detect_class(H5T_COMPOUND)): -@@ -12617,8 +13774,8 @@ static PyObject *__pyx_pf_4h5py_3h5t_10c - * bkg_ = bkg.data - * - */ -- __pyx_t_5 = (((PyObject *)__pyx_v_bkg) != Py_None); -- if (__pyx_t_5) { -+ __pyx_t_6 = (((PyObject *)__pyx_v_bkg) != Py_None); -+ if (__pyx_t_6) { - - /* "h5py/h5t.pyx":1550 - * bkg = buf.copy() -@@ -12627,10 +13784,11 @@ static PyObject *__pyx_pf_4h5py_3h5t_10c - * - * H5Tconvert(src.id, dst.id, n, buf_, bkg_, pdefault(dxpl)) - */ -- __pyx_v_bkg_ = __pyx_v_bkg->data; -- goto __pyx_L7; -+ __pyx_t_1 = __pyx_v_bkg->data; -+ __pyx_v_bkg_ = __pyx_t_1; -+ goto __pyx_L4; - } -- __pyx_L7:; -+ __pyx_L4:; - - /* "h5py/h5t.pyx":1552 - * bkg_ = bkg.data -@@ -12639,90 +13797,112 @@ static PyObject *__pyx_pf_4h5py_3h5t_10c - * - * def find(TypeID src not None, TypeID dst not None): - */ -- __pyx_t_8 = __pyx_f_4h5py_4defs_H5Tconvert(__pyx_v_src->__pyx_base.id, __pyx_v_dst->__pyx_base.id, __pyx_v_n, __pyx_v_buf_, __pyx_v_bkg_, __pyx_f_4h5py_8_objects_pdefault(__pyx_v_dxpl)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_9 = __pyx_f_4h5py_4defs_H5Tconvert(__pyx_v_src->__pyx_base.id, __pyx_v_dst->__pyx_base.id, __pyx_v_n, __pyx_v_buf_, __pyx_v_bkg_, __pyx_f_4h5py_8_objects_pdefault(__pyx_v_dxpl)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); -- __Pyx_AddTraceback("h5py.h5t.convert"); -+ __Pyx_XDECREF(__pyx_t_5); -+ __Pyx_AddTraceback("h5py.h5t.convert", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; -- __Pyx_DECREF((PyObject *)__pyx_v_bkg); -+ __Pyx_XDECREF((PyObject *)__pyx_v_bkg); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; - } - --/* "h5py/h5t.pyx":1554 -- * H5Tconvert(src.id, dst.id, n, buf_, bkg_, pdefault(dxpl)) -- * -- * def find(TypeID src not None, TypeID dst not None): # <<<<<<<<<<<<<< -- * """ (TypeID src, TypeID dst) => TUPLE or None -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5t_11find(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5t_11find[] = " (TypeID src, TypeID dst) => TUPLE or None\n\n Determine if a conversion path exists from src to dst. Result is None\n or a tuple describing the conversion path. Currently tuple entries are:\n\n 1. INT need_bkg: Whether this routine requires a backing buffer.\n Values are BKG_NO, BKG_TEMP and BKG_YES.\n "; --static PyMethodDef __pyx_mdef_4h5py_3h5t_11find = {__Pyx_NAMESTR("find"), (PyCFunction)__pyx_pf_4h5py_3h5t_11find, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11find)}; --static PyObject *__pyx_pf_4h5py_3h5t_11find(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_23find(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_22find[] = " (TypeID src, TypeID dst) => TUPLE or None\n\n Determine if a conversion path exists from src to dst. Result is None\n or a tuple describing the conversion path. Currently tuple entries are:\n\n 1. INT need_bkg: Whether this routine requires a backing buffer.\n Values are BKG_NO, BKG_TEMP and BKG_YES.\n "; -+static PyMethodDef __pyx_mdef_4h5py_3h5t_23find = {__Pyx_NAMESTR("find"), (PyCFunction)__pyx_pw_4h5py_3h5t_23find, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_22find)}; -+static PyObject *__pyx_pw_4h5py_3h5t_23find(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_src = 0; - struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_dst = 0; -- H5T_cdata_t *__pyx_v_data; -- H5T_conv_t __pyx_v_result; -- PyObject *__pyx_r = NULL; -- H5T_conv_t __pyx_t_1; -- int __pyx_t_2; -- PyObject *__pyx_t_3 = NULL; -- PyObject *__pyx_t_4 = NULL; -- PyObject *__pyx_t_5 = NULL; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__src,&__pyx_n_s__dst,0}; -- __Pyx_RefNannySetupContext("find"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("find (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__src,&__pyx_n_s__dst,0}; - PyObject* values[2] = {0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__src); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dst); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("find", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "find") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__src)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dst)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("find", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "find") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_src = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[0]); - __pyx_v_dst = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[1]); -- } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_src = ((struct __pyx_obj_4h5py_3h5t_TypeID *)PyTuple_GET_ITEM(__pyx_args, 0)); -- __pyx_v_dst = ((struct __pyx_obj_4h5py_3h5t_TypeID *)PyTuple_GET_ITEM(__pyx_args, 1)); - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("find", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.find"); -+ __Pyx_AddTraceback("h5py.h5t.find", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src), __pyx_ptype_4h5py_3h5t_TypeID, 0, "src", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dst), __pyx_ptype_4h5py_3h5t_TypeID, 0, "dst", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5t_22find(__pyx_self, __pyx_v_src, __pyx_v_dst); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5t.pyx":1554 -+ * H5Tconvert(src.id, dst.id, n, buf_, bkg_, pdefault(dxpl)) -+ * -+ * def find(TypeID src not None, TypeID dst not None): # <<<<<<<<<<<<<< -+ * """ (TypeID src, TypeID dst) => TUPLE or None -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5t_22find(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_src, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_dst) { -+ H5T_cdata_t *__pyx_v_data; -+ H5T_conv_t __pyx_v_result; -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ PyObject *__pyx_t_1 = NULL; -+ PyObject *__pyx_t_2 = NULL; -+ PyObject *__pyx_t_3 = NULL; -+ H5T_conv_t __pyx_t_4; -+ int __pyx_t_5; -+ PyObject *__pyx_t_6 = NULL; -+ PyObject *__pyx_t_7 = NULL; -+ PyObject *__pyx_t_8 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("find", 0); - - /* "h5py/h5t.pyx":1564 - * """ -@@ -12741,11 +13921,10 @@ static PyObject *__pyx_pf_4h5py_3h5t_11f - * if result == NULL: - */ - { -- PyObject *__pyx_save_exc_type, *__pyx_save_exc_value, *__pyx_save_exc_tb; -- __Pyx_ExceptionSave(&__pyx_save_exc_type, &__pyx_save_exc_value, &__pyx_save_exc_tb); -- __Pyx_XGOTREF(__pyx_save_exc_type); -- __Pyx_XGOTREF(__pyx_save_exc_value); -- __Pyx_XGOTREF(__pyx_save_exc_tb); -+ __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); -+ __Pyx_XGOTREF(__pyx_t_1); -+ __Pyx_XGOTREF(__pyx_t_2); -+ __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - /* "h5py/h5t.pyx":1567 -@@ -12755,8 +13934,8 @@ static PyObject *__pyx_pf_4h5py_3h5t_11f - * if result == NULL: - * return None - */ -- __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tfind(__pyx_v_src->__pyx_base.id, __pyx_v_dst->__pyx_base.id, (&__pyx_v_data)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1567; __pyx_clineno = __LINE__; goto __pyx_L6_error;} -- __pyx_v_result = __pyx_t_1; -+ __pyx_t_4 = __pyx_f_4h5py_4defs_H5Tfind(__pyx_v_src->__pyx_base.id, __pyx_v_dst->__pyx_base.id, (&__pyx_v_data)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1567; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __pyx_v_result = __pyx_t_4; - - /* "h5py/h5t.pyx":1568 - * try: -@@ -12765,8 +13944,8 @@ static PyObject *__pyx_pf_4h5py_3h5t_11f - * return None - * return (data[0].need_bkg,) - */ -- __pyx_t_2 = (__pyx_v_result == NULL); -- if (__pyx_t_2) { -+ __pyx_t_5 = (__pyx_v_result == NULL); -+ if (__pyx_t_5) { - - /* "h5py/h5t.pyx":1569 - * result = H5Tfind(src.id, dst.id, &data) -@@ -12778,10 +13957,10 @@ static PyObject *__pyx_pf_4h5py_3h5t_11f - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(Py_None); - __pyx_r = Py_None; -- goto __pyx_L10_try_return; -- goto __pyx_L14; -+ goto __pyx_L7_try_return; -+ goto __pyx_L11; - } -- __pyx_L14:; -+ __pyx_L11:; - - /* "h5py/h5t.pyx":1570 - * if result == NULL: -@@ -12791,30 +13970,30 @@ static PyObject *__pyx_pf_4h5py_3h5t_11f - * return None - */ - __Pyx_XDECREF(__pyx_r); -- __pyx_t_3 = PyInt_FromLong((__pyx_v_data[0]).need_bkg); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1570; __pyx_clineno = __LINE__; goto __pyx_L6_error;} -- __Pyx_GOTREF(__pyx_t_3); -- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1570; __pyx_clineno = __LINE__; goto __pyx_L6_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); -- __Pyx_GIVEREF(__pyx_t_3); -- __pyx_t_3 = 0; -- __pyx_r = ((PyObject *)__pyx_t_4); -- __pyx_t_4 = 0; -- goto __pyx_L10_try_return; -- } -- __Pyx_XDECREF(__pyx_save_exc_type); __pyx_save_exc_type = 0; -- __Pyx_XDECREF(__pyx_save_exc_value); __pyx_save_exc_value = 0; -- __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0; -- goto __pyx_L13_try_end; -- __pyx_L10_try_return:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -- goto __pyx_L0; -- __pyx_L6_error:; -+ __pyx_t_6 = PyInt_FromLong((__pyx_v_data[0]).need_bkg); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1570; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_6); -+ __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1570; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ __Pyx_GOTREF(__pyx_t_7); -+ PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); -+ __Pyx_GIVEREF(__pyx_t_6); -+ __pyx_t_6 = 0; -+ __pyx_r = ((PyObject *)__pyx_t_7); -+ __pyx_t_7 = 0; -+ goto __pyx_L7_try_return; -+ } -+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; -+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; -- __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; -+ goto __pyx_L10_try_end; -+ __pyx_L7_try_return:; -+ __Pyx_XGIVEREF(__pyx_t_1); -+ __Pyx_XGIVEREF(__pyx_t_2); -+ __Pyx_XGIVEREF(__pyx_t_3); -+ __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); -+ goto __pyx_L0; -+ __pyx_L3_error:; -+ __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; -+ __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "h5py/h5t.pyx":1571 - * return None -@@ -12824,11 +14003,11 @@ static PyObject *__pyx_pf_4h5py_3h5t_11f - * - */ - /*except:*/ { -- __Pyx_AddTraceback("h5py.h5t.find"); -- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_3, &__pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1571; __pyx_clineno = __LINE__; goto __pyx_L8_except_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __Pyx_GOTREF(__pyx_t_3); -- __Pyx_GOTREF(__pyx_t_5); -+ __Pyx_AddTraceback("h5py.h5t.find", __pyx_clineno, __pyx_lineno, __pyx_filename); -+ if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1571; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;} -+ __Pyx_GOTREF(__pyx_t_7); -+ __Pyx_GOTREF(__pyx_t_6); -+ __Pyx_GOTREF(__pyx_t_8); - - /* "h5py/h5t.pyx":1572 - * return (data[0].need_bkg,) -@@ -12840,42 +14019,42 @@ static PyObject *__pyx_pf_4h5py_3h5t_11f - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(Py_None); - __pyx_r = Py_None; -- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -- goto __pyx_L9_except_return; -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -- goto __pyx_L7_exception_handled; -+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; -+ goto __pyx_L6_except_return; -+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; -+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; -+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; -+ goto __pyx_L4_exception_handled; - } -- __pyx_L8_except_error:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -+ __pyx_L5_except_error:; -+ __Pyx_XGIVEREF(__pyx_t_1); -+ __Pyx_XGIVEREF(__pyx_t_2); -+ __Pyx_XGIVEREF(__pyx_t_3); -+ __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; -- __pyx_L9_except_return:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -+ __pyx_L6_except_return:; -+ __Pyx_XGIVEREF(__pyx_t_1); -+ __Pyx_XGIVEREF(__pyx_t_2); -+ __Pyx_XGIVEREF(__pyx_t_3); -+ __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L0; -- __pyx_L7_exception_handled:; -- __Pyx_XGIVEREF(__pyx_save_exc_type); -- __Pyx_XGIVEREF(__pyx_save_exc_value); -- __Pyx_XGIVEREF(__pyx_save_exc_tb); -- __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb); -- __pyx_L13_try_end:; -+ __pyx_L4_exception_handled:; -+ __Pyx_XGIVEREF(__pyx_t_1); -+ __Pyx_XGIVEREF(__pyx_t_2); -+ __Pyx_XGIVEREF(__pyx_t_3); -+ __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); -+ __pyx_L10_try_end:; - } - - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; -- __Pyx_XDECREF(__pyx_t_3); -- __Pyx_XDECREF(__pyx_t_4); -- __Pyx_XDECREF(__pyx_t_5); -- __Pyx_AddTraceback("h5py.h5t.find"); -+ __Pyx_XDECREF(__pyx_t_6); -+ __Pyx_XDECREF(__pyx_t_7); -+ __Pyx_XDECREF(__pyx_t_8); -+ __Pyx_AddTraceback("h5py.h5t.find", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -12891,13 +14070,17 @@ static PyObject *__pyx_pf_4h5py_3h5t_11f - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_12py_new_enum(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static PyArray_Descr *__pyx_f_4h5py_3h5t_py_new_enum(PyObject *__pyx_v_dt_in, PyObject *__pyx_v_enum_vals, int __pyx_skip_dispatch) { -+static PyObject *__pyx_pw_4h5py_3h5t_25py_new_enum(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static PyArray_Descr *__pyx_f_4h5py_3h5t_py_new_enum(PyObject *__pyx_v_dt_in, PyObject *__pyx_v_enum_vals, CYTHON_UNUSED int __pyx_skip_dispatch) { - PyArray_Descr *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("py_new_enum"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("py_new_enum", 0); - - /* "h5py/h5t.pyx":1585 - * """ -@@ -12912,7 +14095,7 @@ static PyArray_Descr *__pyx_f_4h5py_3h5 - __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_2)); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_3)); -+ __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_dt_in); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_dt_in); - __Pyx_GIVEREF(__pyx_v_dt_in); -@@ -12921,7 +14104,7 @@ static PyArray_Descr *__pyx_f_4h5py_3h5 - __Pyx_GIVEREF(((PyObject *)__pyx_v_enum_vals)); - if (PyDict_SetItem(__pyx_t_2, ((PyObject *)__pyx_n_s__enum), ((PyObject *)__pyx_t_3)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; -- __pyx_t_3 = PyEval_CallObjectWithKeywords(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; -@@ -12936,7 +14119,7 @@ static PyArray_Descr *__pyx_f_4h5py_3h5 - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5t.py_new_enum"); -+ __Pyx_AddTraceback("h5py.h5t.py_new_enum", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF((PyObject *)__pyx_r); -@@ -12944,65 +14127,84 @@ static PyArray_Descr *__pyx_f_4h5py_3h5 - return __pyx_r; - } - --/* "h5py/h5t.pyx":1579 -- * import warnings -- * -- * cpdef dtype py_new_enum(object dt_in, dict enum_vals): # <<<<<<<<<<<<<< -- * """ (DTYPE dt_in, DICT enum_vals) => DTYPE -- * -- */ -- --static PyObject *__pyx_pf_4h5py_3h5t_12py_new_enum(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ --static char __pyx_doc_4h5py_3h5t_12py_new_enum[] = " (DTYPE dt_in, DICT enum_vals) => DTYPE\n\n Deprecated; use special_dtype() instead.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_12py_new_enum(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_25py_new_enum(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_24py_new_enum[] = " (DTYPE dt_in, DICT enum_vals) => DTYPE\n\n Deprecated; use special_dtype() instead.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_25py_new_enum(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_dt_in = 0; - PyObject *__pyx_v_enum_vals = 0; -- PyObject *__pyx_r = NULL; -- PyObject *__pyx_t_1 = NULL; -- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__dt_in,&__pyx_n_s__enum_vals,0}; -- __Pyx_RefNannySetupContext("py_new_enum"); -- __pyx_self = __pyx_self; -- if (unlikely(__pyx_kwds)) { -- Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("py_new_enum (wrapper)", 0); -+ { -+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__dt_in,&__pyx_n_s__enum_vals,0}; - PyObject* values[2] = {0,0}; -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -- case 0: break; -- default: goto __pyx_L5_argtuple_error; -- } -- switch (PyTuple_GET_SIZE(__pyx_args)) { -- case 0: -- values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dt_in); -- if (likely(values[0])) kw_args--; -- else goto __pyx_L5_argtuple_error; -- case 1: -- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__enum_vals); -- if (likely(values[1])) kw_args--; -- else { -- __Pyx_RaiseArgtupleInvalid("py_new_enum", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1579; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ if (unlikely(__pyx_kwds)) { -+ Py_ssize_t kw_args; -+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); -+ switch (pos_args) { -+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); -+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ case 0: break; -+ default: goto __pyx_L5_argtuple_error; - } -- } -- if (unlikely(kw_args > 0)) { -- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "py_new_enum") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1579; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ kw_args = PyDict_Size(__pyx_kwds); -+ switch (pos_args) { -+ case 0: -+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dt_in)) != 0)) kw_args--; -+ else goto __pyx_L5_argtuple_error; -+ case 1: -+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__enum_vals)) != 0)) kw_args--; -+ else { -+ __Pyx_RaiseArgtupleInvalid("py_new_enum", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1579; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } -+ if (unlikely(kw_args > 0)) { -+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "py_new_enum") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1579; __pyx_clineno = __LINE__; goto __pyx_L3_error;} -+ } -+ } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -+ goto __pyx_L5_argtuple_error; -+ } else { -+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0); -+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_dt_in = values[0]; - __pyx_v_enum_vals = ((PyObject*)values[1]); -- } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { -- goto __pyx_L5_argtuple_error; -- } else { -- __pyx_v_dt_in = PyTuple_GET_ITEM(__pyx_args, 0); -- __pyx_v_enum_vals = ((PyObject*)PyTuple_GET_ITEM(__pyx_args, 1)); - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("py_new_enum", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1579; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_L3_error:; -- __Pyx_AddTraceback("h5py.h5t.py_new_enum"); -+ __Pyx_AddTraceback("h5py.h5t.py_new_enum", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_enum_vals), (&PyDict_Type), 1, "enum_vals", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_r = __pyx_pf_4h5py_3h5t_24py_new_enum(__pyx_self, __pyx_v_dt_in, __pyx_v_enum_vals); -+ goto __pyx_L0; -+ __pyx_L1_error:; -+ __pyx_r = NULL; -+ __pyx_L0:; -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ -+/* "h5py/h5t.pyx":1579 -+ * import warnings -+ * -+ * cpdef dtype py_new_enum(object dt_in, dict enum_vals): # <<<<<<<<<<<<<< -+ * """ (DTYPE dt_in, DICT enum_vals) => DTYPE -+ * -+ */ -+ -+static PyObject *__pyx_pf_4h5py_3h5t_24py_new_enum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dt_in, PyObject *__pyx_v_enum_vals) { -+ PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations -+ PyObject *__pyx_t_1 = NULL; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("py_new_enum", 0); - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t_py_new_enum(__pyx_v_dt_in, __pyx_v_enum_vals, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -@@ -13014,7 +14216,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_12p - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -- __Pyx_AddTraceback("h5py.h5t.py_new_enum"); -+ __Pyx_AddTraceback("h5py.h5t.py_new_enum", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -13030,13 +14232,17 @@ static PyObject *__pyx_pf_4h5py_3h5t_12p - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_13py_get_enum(PyObject *__pyx_self, PyObject *__pyx_v_dt); /*proto*/ --static PyObject *__pyx_f_4h5py_3h5t_py_get_enum(PyObject *__pyx_v_dt, int __pyx_skip_dispatch) { -+static PyObject *__pyx_pw_4h5py_3h5t_27py_get_enum(PyObject *__pyx_self, PyObject *__pyx_v_dt); /*proto*/ -+static PyObject *__pyx_f_4h5py_3h5t_py_get_enum(PyObject *__pyx_v_dt, CYTHON_UNUSED int __pyx_skip_dispatch) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("py_get_enum"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("py_get_enum", 0); - - /* "h5py/h5t.pyx":1593 - * """ -@@ -13051,7 +14257,7 @@ static PyObject *__pyx_f_4h5py_3h5t_py_ - __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_2)); - if (PyDict_SetItem(__pyx_t_2, ((PyObject *)__pyx_n_s__enum), __pyx_v_dt) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __pyx_t_3 = PyEval_CallObjectWithKeywords(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; -@@ -13066,7 +14272,7 @@ static PyObject *__pyx_f_4h5py_3h5t_py_ - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5t.py_get_enum"); -+ __Pyx_AddTraceback("h5py.h5t.py_get_enum", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -13074,6 +14280,18 @@ static PyObject *__pyx_f_4h5py_3h5t_py_ - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_27py_get_enum(PyObject *__pyx_self, PyObject *__pyx_v_dt); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_26py_get_enum[] = " (DTYPE dt_in) => DICT\n\n Deprecated; use check_dtype() instead.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_27py_get_enum(PyObject *__pyx_self, PyObject *__pyx_v_dt) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("py_get_enum (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_26py_get_enum(__pyx_self, ((PyObject *)__pyx_v_dt)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":1587 - * return special_dtype(enum = (dt_in, enum_vals)) - * -@@ -13082,13 +14300,14 @@ static PyObject *__pyx_f_4h5py_3h5t_py_ - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_13py_get_enum(PyObject *__pyx_self, PyObject *__pyx_v_dt); /*proto*/ --static char __pyx_doc_4h5py_3h5t_13py_get_enum[] = " (DTYPE dt_in) => DICT\n\n Deprecated; use check_dtype() instead.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_13py_get_enum(PyObject *__pyx_self, PyObject *__pyx_v_dt) { -+static PyObject *__pyx_pf_4h5py_3h5t_26py_get_enum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dt) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; -- __Pyx_RefNannySetupContext("py_get_enum"); -- __pyx_self = __pyx_self; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("py_get_enum", 0); - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t_py_get_enum(__pyx_v_dt, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -@@ -13100,7 +14319,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_13p - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -- __Pyx_AddTraceback("h5py.h5t.py_get_enum"); -+ __Pyx_AddTraceback("h5py.h5t.py_get_enum", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -13116,13 +14335,17 @@ static PyObject *__pyx_pf_4h5py_3h5t_13p - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_14py_new_vlen(PyObject *__pyx_self, PyObject *__pyx_v_kind); /*proto*/ --static PyArray_Descr *__pyx_f_4h5py_3h5t_py_new_vlen(PyObject *__pyx_v_kind, int __pyx_skip_dispatch) { -+static PyObject *__pyx_pw_4h5py_3h5t_29py_new_vlen(PyObject *__pyx_self, PyObject *__pyx_v_kind); /*proto*/ -+static PyArray_Descr *__pyx_f_4h5py_3h5t_py_new_vlen(PyObject *__pyx_v_kind, CYTHON_UNUSED int __pyx_skip_dispatch) { - PyArray_Descr *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("py_new_vlen"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("py_new_vlen", 0); - - /* "h5py/h5t.pyx":1601 - * """ -@@ -13137,7 +14360,7 @@ static PyArray_Descr *__pyx_f_4h5py_3h5 - __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1601; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_2)); - if (PyDict_SetItem(__pyx_t_2, ((PyObject *)__pyx_n_s__vlen), __pyx_v_kind) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1601; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __pyx_t_3 = PyEval_CallObjectWithKeywords(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1601; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1601; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; -@@ -13152,7 +14375,7 @@ static PyArray_Descr *__pyx_f_4h5py_3h5 - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5t.py_new_vlen"); -+ __Pyx_AddTraceback("h5py.h5t.py_new_vlen", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF((PyObject *)__pyx_r); -@@ -13160,6 +14383,18 @@ static PyArray_Descr *__pyx_f_4h5py_3h5 - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_29py_new_vlen(PyObject *__pyx_self, PyObject *__pyx_v_kind); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_28py_new_vlen[] = " (OBJECT kind) => DTYPE\n\n Deprecated; use special_dtype() instead.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_29py_new_vlen(PyObject *__pyx_self, PyObject *__pyx_v_kind) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("py_new_vlen (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_28py_new_vlen(__pyx_self, ((PyObject *)__pyx_v_kind)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":1595 - * return check_dtype(enum=dt) - * -@@ -13168,13 +14403,14 @@ static PyArray_Descr *__pyx_f_4h5py_3h5 - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_14py_new_vlen(PyObject *__pyx_self, PyObject *__pyx_v_kind); /*proto*/ --static char __pyx_doc_4h5py_3h5t_14py_new_vlen[] = " (OBJECT kind) => DTYPE\n\n Deprecated; use special_dtype() instead.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_14py_new_vlen(PyObject *__pyx_self, PyObject *__pyx_v_kind) { -+static PyObject *__pyx_pf_4h5py_3h5t_28py_new_vlen(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kind) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; -- __Pyx_RefNannySetupContext("py_new_vlen"); -- __pyx_self = __pyx_self; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("py_new_vlen", 0); - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t_py_new_vlen(__pyx_v_kind, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -@@ -13186,7 +14422,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_14p - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -- __Pyx_AddTraceback("h5py.h5t.py_new_vlen"); -+ __Pyx_AddTraceback("h5py.h5t.py_new_vlen", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -13202,13 +14438,17 @@ static PyObject *__pyx_pf_4h5py_3h5t_14p - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_15py_get_vlen(PyObject *__pyx_self, PyObject *__pyx_v_dt_in); /*proto*/ --static PyObject *__pyx_f_4h5py_3h5t_py_get_vlen(PyObject *__pyx_v_dt_in, int __pyx_skip_dispatch) { -+static PyObject *__pyx_pw_4h5py_3h5t_31py_get_vlen(PyObject *__pyx_self, PyObject *__pyx_v_dt_in); /*proto*/ -+static PyObject *__pyx_f_4h5py_3h5t_py_get_vlen(PyObject *__pyx_v_dt_in, CYTHON_UNUSED int __pyx_skip_dispatch) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; -- __Pyx_RefNannySetupContext("py_get_vlen"); -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("py_get_vlen", 0); - - /* "h5py/h5t.pyx":1609 - * """ -@@ -13223,7 +14463,7 @@ static PyObject *__pyx_f_4h5py_3h5t_py_ - __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_2)); - if (PyDict_SetItem(__pyx_t_2, ((PyObject *)__pyx_n_s__vlen), __pyx_v_dt_in) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __pyx_t_3 = PyEval_CallObjectWithKeywords(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; -@@ -13237,7 +14477,7 @@ static PyObject *__pyx_f_4h5py_3h5t_py_ - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); -- __Pyx_AddTraceback("h5py.h5t.py_get_vlen"); -+ __Pyx_AddTraceback("h5py.h5t.py_get_vlen", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -13245,6 +14485,18 @@ static PyObject *__pyx_f_4h5py_3h5t_py_ - return __pyx_r; - } - -+/* Python wrapper */ -+static PyObject *__pyx_pw_4h5py_3h5t_31py_get_vlen(PyObject *__pyx_self, PyObject *__pyx_v_dt_in); /*proto*/ -+static char __pyx_doc_4h5py_3h5t_30py_get_vlen[] = " (OBJECT dt_in) => TYPE\n\n Deprecated; use check_dtype() instead.\n "; -+static PyObject *__pyx_pw_4h5py_3h5t_31py_get_vlen(PyObject *__pyx_self, PyObject *__pyx_v_dt_in) { -+ PyObject *__pyx_r = 0; -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("py_get_vlen (wrapper)", 0); -+ __pyx_r = __pyx_pf_4h5py_3h5t_30py_get_vlen(__pyx_self, ((PyObject *)__pyx_v_dt_in)); -+ __Pyx_RefNannyFinishContext(); -+ return __pyx_r; -+} -+ - /* "h5py/h5t.pyx":1603 - * return special_dtype(vlen=kind) - * -@@ -13253,13 +14505,14 @@ static PyObject *__pyx_f_4h5py_3h5t_py_ - * - */ - --static PyObject *__pyx_pf_4h5py_3h5t_15py_get_vlen(PyObject *__pyx_self, PyObject *__pyx_v_dt_in); /*proto*/ --static char __pyx_doc_4h5py_3h5t_15py_get_vlen[] = " (OBJECT dt_in) => TYPE\n\n Deprecated; use check_dtype() instead.\n "; --static PyObject *__pyx_pf_4h5py_3h5t_15py_get_vlen(PyObject *__pyx_self, PyObject *__pyx_v_dt_in) { -+static PyObject *__pyx_pf_4h5py_3h5t_30py_get_vlen(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dt_in) { - PyObject *__pyx_r = NULL; -+ __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; -- __Pyx_RefNannySetupContext("py_get_vlen"); -- __pyx_self = __pyx_self; -+ int __pyx_lineno = 0; -+ const char *__pyx_filename = NULL; -+ int __pyx_clineno = 0; -+ __Pyx_RefNannySetupContext("py_get_vlen", 0); - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __pyx_f_4h5py_3h5t_py_get_vlen(__pyx_v_dt_in, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); -@@ -13271,7 +14524,7 @@ static PyObject *__pyx_pf_4h5py_3h5t_15p - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -- __Pyx_AddTraceback("h5py.h5t.py_get_vlen"); -+ __Pyx_AddTraceback("h5py.h5t.py_get_vlen", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); -@@ -13290,44 +14543,40 @@ static PyObject *__pyx_tp_new_4h5py_3h5t - } - - static void __pyx_tp_dealloc_4h5py_3h5t_TypeID(PyObject *o) { -- __pyx_ptype_4h5py_8_objects_ObjectID->tp_dealloc(o); -+ if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) __pyx_ptype_4h5py_8_objects_ObjectID->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4h5py_3h5t_TypeID); - } - - static int __pyx_tp_traverse_4h5py_3h5t_TypeID(PyObject *o, visitproc v, void *a) { - int e; -- if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse) { -- e = __pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse(o, v, a); if (e) return e; -- } -+ e = ((likely(__pyx_ptype_4h5py_8_objects_ObjectID)) ? ((__pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse) ? __pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_4h5py_3h5t_TypeID)); if (e) return e; - return 0; - } - - static int __pyx_tp_clear_4h5py_3h5t_TypeID(PyObject *o) { -- if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_clear) { -- __pyx_ptype_4h5py_8_objects_ObjectID->tp_clear(o); -- } -+ if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) { if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_clear) __pyx_ptype_4h5py_8_objects_ObjectID->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_4h5py_3h5t_TypeID); - return 0; - } - --static PyObject *__pyx_getprop_4h5py_3h5t_6TypeID_dtype(PyObject *o, void *x) { -- return __pyx_pf_4h5py_3h5t_6TypeID_5dtype___get__(o); -+static PyObject *__pyx_getprop_4h5py_3h5t_6TypeID_dtype(PyObject *o, CYTHON_UNUSED void *x) { -+ return __pyx_pw_4h5py_3h5t_6TypeID_5dtype_1__get__(o); - } - - static PyMethodDef __pyx_methods_4h5py_3h5t_TypeID[] = { -- {__Pyx_NAMESTR("__copy__"), (PyCFunction)__pyx_pf_4h5py_3h5t_6TypeID_2__copy__, METH_NOARGS, __Pyx_DOCSTR(0)}, -- {__Pyx_NAMESTR("commit"), (PyCFunction)__pyx_pf_4h5py_3h5t_6TypeID_3commit, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_3commit)}, -- {__Pyx_NAMESTR("committed"), (PyCFunction)__pyx_pf_4h5py_3h5t_6TypeID_4committed, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_4committed)}, -- {__Pyx_NAMESTR("copy"), (PyCFunction)__pyx_pf_4h5py_3h5t_6TypeID_5copy, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_5copy)}, -- {__Pyx_NAMESTR("equal"), (PyCFunction)__pyx_pf_4h5py_3h5t_6TypeID_6equal, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_6equal)}, -- {__Pyx_NAMESTR("lock"), (PyCFunction)__pyx_pf_4h5py_3h5t_6TypeID_7lock, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_7lock)}, -- {__Pyx_NAMESTR("get_class"), (PyCFunction)__pyx_pf_4h5py_3h5t_6TypeID_8get_class, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_8get_class)}, -- {__Pyx_NAMESTR("set_size"), (PyCFunction)__pyx_pf_4h5py_3h5t_6TypeID_9set_size, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_9set_size)}, -- {__Pyx_NAMESTR("get_size"), (PyCFunction)__pyx_pf_4h5py_3h5t_6TypeID_10get_size, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_10get_size)}, -- {__Pyx_NAMESTR("get_super"), (PyCFunction)__pyx_pf_4h5py_3h5t_6TypeID_11get_super, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_11get_super)}, -- {__Pyx_NAMESTR("detect_class"), (PyCFunction)__pyx_pf_4h5py_3h5t_6TypeID_12detect_class, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_12detect_class)}, -- {__Pyx_NAMESTR("_close"), (PyCFunction)__pyx_pf_4h5py_3h5t_6TypeID_13_close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_13_close)}, -- {__Pyx_NAMESTR("encode"), (PyCFunction)__pyx_pf_4h5py_3h5t_6TypeID_14encode, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_14encode)}, -- {__Pyx_NAMESTR("__reduce__"), (PyCFunction)__pyx_pf_4h5py_3h5t_6TypeID_15__reduce__, METH_NOARGS, __Pyx_DOCSTR(0)}, -- {__Pyx_NAMESTR("__setstate__"), (PyCFunction)__pyx_pf_4h5py_3h5t_6TypeID_16__setstate__, METH_O, __Pyx_DOCSTR(0)}, -+ {__Pyx_NAMESTR("__copy__"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_5__copy__, METH_NOARGS, __Pyx_DOCSTR(0)}, -+ {__Pyx_NAMESTR("commit"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_7commit, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_6commit)}, -+ {__Pyx_NAMESTR("committed"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_9committed, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_8committed)}, -+ {__Pyx_NAMESTR("copy"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_11copy, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_10copy)}, -+ {__Pyx_NAMESTR("equal"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_13equal, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_12equal)}, -+ {__Pyx_NAMESTR("lock"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_15lock, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_14lock)}, -+ {__Pyx_NAMESTR("get_class"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_17get_class, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_16get_class)}, -+ {__Pyx_NAMESTR("set_size"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_19set_size, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_18set_size)}, -+ {__Pyx_NAMESTR("get_size"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_21get_size, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_20get_size)}, -+ {__Pyx_NAMESTR("get_super"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_23get_super, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_22get_super)}, -+ {__Pyx_NAMESTR("detect_class"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_25detect_class, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_24detect_class)}, -+ {__Pyx_NAMESTR("_close"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_27_close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_26_close)}, -+ {__Pyx_NAMESTR("encode"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_29encode, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_28encode)}, -+ {__Pyx_NAMESTR("__reduce__"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_31__reduce__, METH_NOARGS, __Pyx_DOCSTR(0)}, -+ {__Pyx_NAMESTR("__setstate__"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_33__setstate__, METH_O, __Pyx_DOCSTR(0)}, - {0, 0, 0, 0} - }; - -@@ -13452,7 +14701,7 @@ static PyTypeObject __pyx_type_4h5py_3h5 - &__pyx_tp_as_number_TypeID, /*tp_as_number*/ - &__pyx_tp_as_sequence_TypeID, /*tp_as_sequence*/ - &__pyx_tp_as_mapping_TypeID, /*tp_as_mapping*/ -- __pyx_pf_4h5py_3h5t_6TypeID___hash__, /*tp_hash*/ -+ __pyx_pw_4h5py_3h5t_6TypeID_1__hash__, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ -@@ -13462,7 +14711,7 @@ static PyTypeObject __pyx_type_4h5py_3h5 - __Pyx_DOCSTR("\n Base class for type identifiers (implements common operations)\n\n * Hashable: If committed; in HDF5 1.8.X, also if locked\n * Equality: Logical H5T comparison\n "), /*tp_doc*/ - __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/ - __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/ -- __pyx_pf_4h5py_3h5t_6TypeID_1__richcmp__, /*tp_richcompare*/ -+ __pyx_pw_4h5py_3h5t_6TypeID_3__richcmp__, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ -@@ -13501,8 +14750,8 @@ static PyObject *__pyx_tp_new_4h5py_3h5t - } - - static PyMethodDef __pyx_methods_4h5py_3h5t_TypeArrayID[] = { -- {__Pyx_NAMESTR("get_array_ndims"), (PyCFunction)__pyx_pf_4h5py_3h5t_11TypeArrayID_get_array_ndims, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeArrayID_get_array_ndims)}, -- {__Pyx_NAMESTR("get_array_dims"), (PyCFunction)__pyx_pf_4h5py_3h5t_11TypeArrayID_1get_array_dims, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeArrayID_1get_array_dims)}, -+ {__Pyx_NAMESTR("get_array_ndims"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeArrayID_1get_array_ndims, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeArrayID_get_array_ndims)}, -+ {__Pyx_NAMESTR("get_array_dims"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeArrayID_3get_array_dims, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeArrayID_2get_array_dims)}, - {0, 0, 0, 0} - }; - -@@ -13671,8 +14920,8 @@ static PyObject *__pyx_tp_new_4h5py_3h5t - } - - static PyMethodDef __pyx_methods_4h5py_3h5t_TypeOpaqueID[] = { -- {__Pyx_NAMESTR("set_tag"), (PyCFunction)__pyx_pf_4h5py_3h5t_12TypeOpaqueID_set_tag, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeOpaqueID_set_tag)}, -- {__Pyx_NAMESTR("get_tag"), (PyCFunction)__pyx_pf_4h5py_3h5t_12TypeOpaqueID_1get_tag, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeOpaqueID_1get_tag)}, -+ {__Pyx_NAMESTR("set_tag"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeOpaqueID_1set_tag, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeOpaqueID_set_tag)}, -+ {__Pyx_NAMESTR("get_tag"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeOpaqueID_3get_tag, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeOpaqueID_2get_tag)}, - {0, 0, 0, 0} - }; - -@@ -13841,11 +15090,11 @@ static PyObject *__pyx_tp_new_4h5py_3h5t - } - - static PyMethodDef __pyx_methods_4h5py_3h5t_TypeStringID[] = { -- {__Pyx_NAMESTR("is_variable_str"), (PyCFunction)__pyx_pf_4h5py_3h5t_12TypeStringID_is_variable_str, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeStringID_is_variable_str)}, -- {__Pyx_NAMESTR("get_cset"), (PyCFunction)__pyx_pf_4h5py_3h5t_12TypeStringID_1get_cset, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeStringID_1get_cset)}, -- {__Pyx_NAMESTR("set_cset"), (PyCFunction)__pyx_pf_4h5py_3h5t_12TypeStringID_2set_cset, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeStringID_2set_cset)}, -- {__Pyx_NAMESTR("get_strpad"), (PyCFunction)__pyx_pf_4h5py_3h5t_12TypeStringID_3get_strpad, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeStringID_3get_strpad)}, -- {__Pyx_NAMESTR("set_strpad"), (PyCFunction)__pyx_pf_4h5py_3h5t_12TypeStringID_4set_strpad, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeStringID_4set_strpad)}, -+ {__Pyx_NAMESTR("is_variable_str"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeStringID_1is_variable_str, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeStringID_is_variable_str)}, -+ {__Pyx_NAMESTR("get_cset"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeStringID_3get_cset, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeStringID_2get_cset)}, -+ {__Pyx_NAMESTR("set_cset"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeStringID_5set_cset, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeStringID_4set_cset)}, -+ {__Pyx_NAMESTR("get_strpad"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeStringID_7get_strpad, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeStringID_6get_strpad)}, -+ {__Pyx_NAMESTR("set_strpad"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeStringID_9set_strpad, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeStringID_8set_strpad)}, - {0, 0, 0, 0} - }; - -@@ -14686,14 +15935,14 @@ static PyObject *__pyx_tp_new_4h5py_3h5t - } - - static PyMethodDef __pyx_methods_4h5py_3h5t_TypeAtomicID[] = { -- {__Pyx_NAMESTR("get_order"), (PyCFunction)__pyx_pf_4h5py_3h5t_12TypeAtomicID_get_order, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_get_order)}, -- {__Pyx_NAMESTR("set_order"), (PyCFunction)__pyx_pf_4h5py_3h5t_12TypeAtomicID_1set_order, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_1set_order)}, -- {__Pyx_NAMESTR("get_precision"), (PyCFunction)__pyx_pf_4h5py_3h5t_12TypeAtomicID_2get_precision, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_2get_precision)}, -- {__Pyx_NAMESTR("set_precision"), (PyCFunction)__pyx_pf_4h5py_3h5t_12TypeAtomicID_3set_precision, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_3set_precision)}, -- {__Pyx_NAMESTR("get_offset"), (PyCFunction)__pyx_pf_4h5py_3h5t_12TypeAtomicID_4get_offset, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_4get_offset)}, -- {__Pyx_NAMESTR("set_offset"), (PyCFunction)__pyx_pf_4h5py_3h5t_12TypeAtomicID_5set_offset, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_5set_offset)}, -- {__Pyx_NAMESTR("get_pad"), (PyCFunction)__pyx_pf_4h5py_3h5t_12TypeAtomicID_6get_pad, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_6get_pad)}, -- {__Pyx_NAMESTR("set_pad"), (PyCFunction)__pyx_pf_4h5py_3h5t_12TypeAtomicID_7set_pad, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_7set_pad)}, -+ {__Pyx_NAMESTR("get_order"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_1get_order, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_get_order)}, -+ {__Pyx_NAMESTR("set_order"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_3set_order, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_2set_order)}, -+ {__Pyx_NAMESTR("get_precision"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_5get_precision, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_4get_precision)}, -+ {__Pyx_NAMESTR("set_precision"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_7set_precision, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_6set_precision)}, -+ {__Pyx_NAMESTR("get_offset"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_9get_offset, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_8get_offset)}, -+ {__Pyx_NAMESTR("set_offset"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_11set_offset, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_10set_offset)}, -+ {__Pyx_NAMESTR("get_pad"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_13get_pad, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_12get_pad)}, -+ {__Pyx_NAMESTR("set_pad"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_15set_pad, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_14set_pad)}, - {0, 0, 0, 0} - }; - -@@ -14862,8 +16111,8 @@ static PyObject *__pyx_tp_new_4h5py_3h5t - } - - static PyMethodDef __pyx_methods_4h5py_3h5t_TypeIntegerID[] = { -- {__Pyx_NAMESTR("get_sign"), (PyCFunction)__pyx_pf_4h5py_3h5t_13TypeIntegerID_get_sign, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_13TypeIntegerID_get_sign)}, -- {__Pyx_NAMESTR("set_sign"), (PyCFunction)__pyx_pf_4h5py_3h5t_13TypeIntegerID_1set_sign, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_13TypeIntegerID_1set_sign)}, -+ {__Pyx_NAMESTR("get_sign"), (PyCFunction)__pyx_pw_4h5py_3h5t_13TypeIntegerID_1get_sign, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_13TypeIntegerID_get_sign)}, -+ {__Pyx_NAMESTR("set_sign"), (PyCFunction)__pyx_pw_4h5py_3h5t_13TypeIntegerID_3set_sign, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_13TypeIntegerID_2set_sign)}, - {0, 0, 0, 0} - }; - -@@ -15032,14 +16281,14 @@ static PyObject *__pyx_tp_new_4h5py_3h5t - } - - static PyMethodDef __pyx_methods_4h5py_3h5t_TypeFloatID[] = { -- {__Pyx_NAMESTR("get_fields"), (PyCFunction)__pyx_pf_4h5py_3h5t_11TypeFloatID_get_fields, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_get_fields)}, -- {__Pyx_NAMESTR("set_fields"), (PyCFunction)__pyx_pf_4h5py_3h5t_11TypeFloatID_1set_fields, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_1set_fields)}, -- {__Pyx_NAMESTR("get_ebias"), (PyCFunction)__pyx_pf_4h5py_3h5t_11TypeFloatID_2get_ebias, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_2get_ebias)}, -- {__Pyx_NAMESTR("set_ebias"), (PyCFunction)__pyx_pf_4h5py_3h5t_11TypeFloatID_3set_ebias, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_3set_ebias)}, -- {__Pyx_NAMESTR("get_norm"), (PyCFunction)__pyx_pf_4h5py_3h5t_11TypeFloatID_4get_norm, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_4get_norm)}, -- {__Pyx_NAMESTR("set_norm"), (PyCFunction)__pyx_pf_4h5py_3h5t_11TypeFloatID_5set_norm, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_5set_norm)}, -- {__Pyx_NAMESTR("get_inpad"), (PyCFunction)__pyx_pf_4h5py_3h5t_11TypeFloatID_6get_inpad, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_6get_inpad)}, -- {__Pyx_NAMESTR("set_inpad"), (PyCFunction)__pyx_pf_4h5py_3h5t_11TypeFloatID_7set_inpad, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_7set_inpad)}, -+ {__Pyx_NAMESTR("get_fields"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_1get_fields, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_get_fields)}, -+ {__Pyx_NAMESTR("set_fields"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_3set_fields, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_2set_fields)}, -+ {__Pyx_NAMESTR("get_ebias"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_5get_ebias, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_4get_ebias)}, -+ {__Pyx_NAMESTR("set_ebias"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_7set_ebias, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_6set_ebias)}, -+ {__Pyx_NAMESTR("get_norm"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_9get_norm, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_8get_norm)}, -+ {__Pyx_NAMESTR("set_norm"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_11set_norm, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_10set_norm)}, -+ {__Pyx_NAMESTR("get_inpad"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_13get_inpad, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_12get_inpad)}, -+ {__Pyx_NAMESTR("set_inpad"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_15set_inpad, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_14set_inpad)}, - {0, 0, 0, 0} - }; - -@@ -15208,9 +16457,9 @@ static PyObject *__pyx_tp_new_4h5py_3h5t - } - - static PyMethodDef __pyx_methods_4h5py_3h5t_TypeCompositeID[] = { -- {__Pyx_NAMESTR("get_nmembers"), (PyCFunction)__pyx_pf_4h5py_3h5t_15TypeCompositeID_get_nmembers, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_15TypeCompositeID_get_nmembers)}, -- {__Pyx_NAMESTR("get_member_name"), (PyCFunction)__pyx_pf_4h5py_3h5t_15TypeCompositeID_1get_member_name, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_15TypeCompositeID_1get_member_name)}, -- {__Pyx_NAMESTR("get_member_index"), (PyCFunction)__pyx_pf_4h5py_3h5t_15TypeCompositeID_2get_member_index, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_15TypeCompositeID_2get_member_index)}, -+ {__Pyx_NAMESTR("get_nmembers"), (PyCFunction)__pyx_pw_4h5py_3h5t_15TypeCompositeID_1get_nmembers, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_15TypeCompositeID_get_nmembers)}, -+ {__Pyx_NAMESTR("get_member_name"), (PyCFunction)__pyx_pw_4h5py_3h5t_15TypeCompositeID_3get_member_name, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_15TypeCompositeID_2get_member_name)}, -+ {__Pyx_NAMESTR("get_member_index"), (PyCFunction)__pyx_pw_4h5py_3h5t_15TypeCompositeID_5get_member_index, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_15TypeCompositeID_4get_member_index)}, - {0, 0, 0, 0} - }; - -@@ -15379,10 +16628,10 @@ static PyObject *__pyx_tp_new_4h5py_3h5t - } - - static PyMethodDef __pyx_methods_4h5py_3h5t_TypeEnumID[] = { -- {__Pyx_NAMESTR("enum_insert"), (PyCFunction)__pyx_pf_4h5py_3h5t_10TypeEnumID_enum_insert, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_10TypeEnumID_enum_insert)}, -- {__Pyx_NAMESTR("enum_nameof"), (PyCFunction)__pyx_pf_4h5py_3h5t_10TypeEnumID_1enum_nameof, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_10TypeEnumID_1enum_nameof)}, -- {__Pyx_NAMESTR("enum_valueof"), (PyCFunction)__pyx_pf_4h5py_3h5t_10TypeEnumID_2enum_valueof, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_10TypeEnumID_2enum_valueof)}, -- {__Pyx_NAMESTR("get_member_value"), (PyCFunction)__pyx_pf_4h5py_3h5t_10TypeEnumID_3get_member_value, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_10TypeEnumID_3get_member_value)}, -+ {__Pyx_NAMESTR("enum_insert"), (PyCFunction)__pyx_pw_4h5py_3h5t_10TypeEnumID_1enum_insert, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_10TypeEnumID_enum_insert)}, -+ {__Pyx_NAMESTR("enum_nameof"), (PyCFunction)__pyx_pw_4h5py_3h5t_10TypeEnumID_3enum_nameof, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_10TypeEnumID_2enum_nameof)}, -+ {__Pyx_NAMESTR("enum_valueof"), (PyCFunction)__pyx_pw_4h5py_3h5t_10TypeEnumID_5enum_valueof, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_10TypeEnumID_4enum_valueof)}, -+ {__Pyx_NAMESTR("get_member_value"), (PyCFunction)__pyx_pw_4h5py_3h5t_10TypeEnumID_7get_member_value, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_10TypeEnumID_6get_member_value)}, - {0, 0, 0, 0} - }; - -@@ -15551,11 +16800,11 @@ static PyObject *__pyx_tp_new_4h5py_3h5t - } - - static PyMethodDef __pyx_methods_4h5py_3h5t_TypeCompoundID[] = { -- {__Pyx_NAMESTR("get_member_class"), (PyCFunction)__pyx_pf_4h5py_3h5t_14TypeCompoundID_get_member_class, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14TypeCompoundID_get_member_class)}, -- {__Pyx_NAMESTR("get_member_offset"), (PyCFunction)__pyx_pf_4h5py_3h5t_14TypeCompoundID_1get_member_offset, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14TypeCompoundID_1get_member_offset)}, -- {__Pyx_NAMESTR("get_member_type"), (PyCFunction)__pyx_pf_4h5py_3h5t_14TypeCompoundID_2get_member_type, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14TypeCompoundID_2get_member_type)}, -- {__Pyx_NAMESTR("insert"), (PyCFunction)__pyx_pf_4h5py_3h5t_14TypeCompoundID_3insert, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14TypeCompoundID_3insert)}, -- {__Pyx_NAMESTR("pack"), (PyCFunction)__pyx_pf_4h5py_3h5t_14TypeCompoundID_4pack, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14TypeCompoundID_4pack)}, -+ {__Pyx_NAMESTR("get_member_class"), (PyCFunction)__pyx_pw_4h5py_3h5t_14TypeCompoundID_1get_member_class, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14TypeCompoundID_get_member_class)}, -+ {__Pyx_NAMESTR("get_member_offset"), (PyCFunction)__pyx_pw_4h5py_3h5t_14TypeCompoundID_3get_member_offset, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14TypeCompoundID_2get_member_offset)}, -+ {__Pyx_NAMESTR("get_member_type"), (PyCFunction)__pyx_pw_4h5py_3h5t_14TypeCompoundID_5get_member_type, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14TypeCompoundID_4get_member_type)}, -+ {__Pyx_NAMESTR("insert"), (PyCFunction)__pyx_pw_4h5py_3h5t_14TypeCompoundID_7insert, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14TypeCompoundID_6insert)}, -+ {__Pyx_NAMESTR("pack"), (PyCFunction)__pyx_pw_4h5py_3h5t_14TypeCompoundID_9pack, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14TypeCompoundID_8pack)}, - {0, 0, 0, 0} - }; - -@@ -15714,12 +16963,12 @@ static PyTypeObject __pyx_type_4h5py_3h5 - }; - - static PyMethodDef __pyx_methods[] = { -- {__Pyx_NAMESTR("typewrap"), (PyCFunction)__pyx_pf_4h5py_3h5t_typewrap, METH_O, __Pyx_DOCSTR(0)}, -- {__Pyx_NAMESTR("py_create"), (PyCFunction)__pyx_pf_4h5py_3h5t_7py_create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_7py_create)}, -- {__Pyx_NAMESTR("py_new_enum"), (PyCFunction)__pyx_pf_4h5py_3h5t_12py_new_enum, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12py_new_enum)}, -- {__Pyx_NAMESTR("py_get_enum"), (PyCFunction)__pyx_pf_4h5py_3h5t_13py_get_enum, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_13py_get_enum)}, -- {__Pyx_NAMESTR("py_new_vlen"), (PyCFunction)__pyx_pf_4h5py_3h5t_14py_new_vlen, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14py_new_vlen)}, -- {__Pyx_NAMESTR("py_get_vlen"), (PyCFunction)__pyx_pf_4h5py_3h5t_15py_get_vlen, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_15py_get_vlen)}, -+ {__Pyx_NAMESTR("typewrap"), (PyCFunction)__pyx_pw_4h5py_3h5t_1typewrap, METH_O, __Pyx_DOCSTR(0)}, -+ {__Pyx_NAMESTR("py_create"), (PyCFunction)__pyx_pw_4h5py_3h5t_15py_create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14py_create)}, -+ {__Pyx_NAMESTR("py_new_enum"), (PyCFunction)__pyx_pw_4h5py_3h5t_25py_new_enum, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_24py_new_enum)}, -+ {__Pyx_NAMESTR("py_get_enum"), (PyCFunction)__pyx_pw_4h5py_3h5t_27py_get_enum, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_26py_get_enum)}, -+ {__Pyx_NAMESTR("py_new_vlen"), (PyCFunction)__pyx_pw_4h5py_3h5t_29py_new_vlen, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_28py_new_vlen)}, -+ {__Pyx_NAMESTR("py_get_vlen"), (PyCFunction)__pyx_pw_4h5py_3h5t_31py_get_vlen, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_30py_get_vlen)}, - {0, 0, 0, 0} - }; - -@@ -15758,11 +17007,13 @@ static __Pyx_StringTabEntry __pyx_string - {&__pyx_kp_s_41, __pyx_k_41, sizeof(__pyx_k_41), 0, 0, 1, 0}, - {&__pyx_kp_s_43, __pyx_k_43, sizeof(__pyx_k_43), 0, 0, 1, 0}, - {&__pyx_kp_s_45, __pyx_k_45, sizeof(__pyx_k_45), 0, 0, 1, 0}, -- {&__pyx_kp_s_49, __pyx_k_49, sizeof(__pyx_k_49), 0, 0, 1, 0}, -+ {&__pyx_n_s_49, __pyx_k_49, sizeof(__pyx_k_49), 0, 0, 1, 1}, - {&__pyx_kp_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 0}, - {&__pyx_kp_s_50, __pyx_k_50, sizeof(__pyx_k_50), 0, 0, 1, 0}, - {&__pyx_kp_s_51, __pyx_k_51, sizeof(__pyx_k_51), 0, 0, 1, 0}, -- {&__pyx_n_s_52, __pyx_k_52, sizeof(__pyx_k_52), 0, 0, 1, 1}, -+ {&__pyx_kp_s_52, __pyx_k_52, sizeof(__pyx_k_52), 0, 0, 1, 0}, -+ {&__pyx_kp_s_55, __pyx_k_55, sizeof(__pyx_k_55), 0, 0, 1, 0}, -+ {&__pyx_n_s_56, __pyx_k_56, sizeof(__pyx_k_56), 0, 0, 1, 1}, - {&__pyx_kp_s_7, __pyx_k_7, sizeof(__pyx_k_7), 0, 0, 1, 0}, - {&__pyx_kp_s_8, __pyx_k_8, sizeof(__pyx_k_8), 0, 0, 1, 0}, - {&__pyx_kp_s_9, __pyx_k_9, sizeof(__pyx_k_9), 0, 0, 1, 0}, -@@ -15859,17 +17110,17 @@ static __Pyx_StringTabEntry __pyx_string - {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1}, - {&__pyx_n_s___conv, __pyx_k___conv, sizeof(__pyx_k___conv), 0, 0, 1, 1}, - {&__pyx_n_s___f_name, __pyx_k___f_name, sizeof(__pyx_k___f_name), 0, 0, 1, 1}, -- {&__pyx_n_s___hash, __pyx_k___hash, sizeof(__pyx_k___hash), 0, 0, 1, 1}, - {&__pyx_n_s___i_name, __pyx_k___i_name, sizeof(__pyx_k___i_name), 0, 0, 1, 1}, - {&__pyx_n_s___r_name, __pyx_k___r_name, sizeof(__pyx_k___r_name), 0, 0, 1, 1}, - {&__pyx_n_s___t_name, __pyx_k___t_name, sizeof(__pyx_k___t_name), 0, 0, 1, 1}, -- {&__pyx_n_s__append, __pyx_k__append, sizeof(__pyx_k__append), 0, 0, 1, 1}, - {&__pyx_n_s__array_create, __pyx_k__array_create, sizeof(__pyx_k__array_create), 0, 0, 1, 1}, - {&__pyx_n_s__ascii, __pyx_k__ascii, sizeof(__pyx_k__ascii), 0, 0, 1, 1}, - {&__pyx_n_s__base, __pyx_k__base, sizeof(__pyx_k__base), 0, 0, 1, 1}, - {&__pyx_n_s__bkg, __pyx_k__bkg, sizeof(__pyx_k__bkg), 0, 0, 1, 1}, -+ {&__pyx_n_s__bkg_, __pyx_k__bkg_, sizeof(__pyx_k__bkg_), 0, 0, 1, 1}, - {&__pyx_n_s__bool, __pyx_k__bool, sizeof(__pyx_k__bool), 0, 0, 1, 1}, - {&__pyx_n_s__buf, __pyx_k__buf, sizeof(__pyx_k__buf), 0, 0, 1, 1}, -+ {&__pyx_n_s__buf_, __pyx_k__buf_, sizeof(__pyx_k__buf_), 0, 0, 1, 1}, - {&__pyx_n_s__byteorder, __pyx_k__byteorder, sizeof(__pyx_k__byteorder), 0, 0, 1, 1}, - {&__pyx_n_s__c, __pyx_k__c, sizeof(__pyx_k__c), 0, 0, 1, 1}, - {&__pyx_n_s__cfg, __pyx_k__cfg, sizeof(__pyx_k__cfg), 0, 0, 1, 1}, -@@ -15881,15 +17132,15 @@ static __Pyx_StringTabEntry __pyx_string - {&__pyx_n_s__data, __pyx_k__data, sizeof(__pyx_k__data), 0, 0, 1, 1}, - {&__pyx_n_s__decode, __pyx_k__decode, sizeof(__pyx_k__decode), 0, 0, 1, 1}, - {&__pyx_n_s__detect_class, __pyx_k__detect_class, sizeof(__pyx_k__detect_class), 0, 0, 1, 1}, -+ {&__pyx_n_s__dims, __pyx_k__dims, sizeof(__pyx_k__dims), 0, 0, 1, 1}, - {&__pyx_n_s__dims_tpl, __pyx_k__dims_tpl, sizeof(__pyx_k__dims_tpl), 0, 0, 1, 1}, - {&__pyx_n_s__dst, __pyx_k__dst, sizeof(__pyx_k__dst), 0, 0, 1, 1}, -+ {&__pyx_n_s__dt, __pyx_k__dt, sizeof(__pyx_k__dt), 0, 0, 1, 1}, - {&__pyx_n_s__dt_in, __pyx_k__dt_in, sizeof(__pyx_k__dt_in), 0, 0, 1, 1}, - {&__pyx_n_s__dtype_in, __pyx_k__dtype_in, sizeof(__pyx_k__dtype_in), 0, 0, 1, 1}, - {&__pyx_n_s__dxpl, __pyx_k__dxpl, sizeof(__pyx_k__dxpl), 0, 0, 1, 1}, -- {&__pyx_n_s__elsize, __pyx_k__elsize, sizeof(__pyx_k__elsize), 0, 0, 1, 1}, - {&__pyx_n_s__encode, __pyx_k__encode, sizeof(__pyx_k__encode), 0, 0, 1, 1}, - {&__pyx_n_s__enum, __pyx_k__enum, sizeof(__pyx_k__enum), 0, 0, 1, 1}, -- {&__pyx_n_s__enum_convert, __pyx_k__enum_convert, sizeof(__pyx_k__enum_convert), 0, 0, 1, 1}, - {&__pyx_n_s__enum_create, __pyx_k__enum_create, sizeof(__pyx_k__enum_create), 0, 0, 1, 1}, - {&__pyx_n_s__enum_insert, __pyx_k__enum_insert, sizeof(__pyx_k__enum_insert), 0, 0, 1, 1}, - {&__pyx_n_s__enum_vals, __pyx_k__enum_vals, sizeof(__pyx_k__enum_vals), 0, 0, 1, 1}, -@@ -15913,16 +17164,18 @@ static __Pyx_StringTabEntry __pyx_string - {&__pyx_n_s__get_size, __pyx_k__get_size, sizeof(__pyx_k__get_size), 0, 0, 1, 1}, - {&__pyx_n_s__get_super, __pyx_k__get_super, sizeof(__pyx_k__get_super), 0, 0, 1, 1}, - {&__pyx_n_s__group, __pyx_k__group, sizeof(__pyx_k__group), 0, 0, 1, 1}, -- {&__pyx_n_s__h5, __pyx_k__h5, sizeof(__pyx_k__h5), 0, 0, 1, 1}, -+ {&__pyx_n_s__h5py, __pyx_k__h5py, sizeof(__pyx_k__h5py), 0, 0, 1, 1}, -+ {&__pyx_n_s__hint_dict, __pyx_k__hint_dict, sizeof(__pyx_k__hint_dict), 0, 0, 1, 1}, -+ {&__pyx_n_s__hintkey, __pyx_k__hintkey, sizeof(__pyx_k__hintkey), 0, 0, 1, 1}, - {&__pyx_n_s__i, __pyx_k__i, sizeof(__pyx_k__i), 0, 0, 1, 1}, -- {&__pyx_n_s__id, __pyx_k__id, sizeof(__pyx_k__id), 0, 0, 1, 1}, - {&__pyx_n_s__is_variable_str, __pyx_k__is_variable_str, sizeof(__pyx_k__is_variable_str), 0, 0, 1, 1}, - {&__pyx_n_s__itemsize, __pyx_k__itemsize, sizeof(__pyx_k__itemsize), 0, 0, 1, 1}, -+ {&__pyx_n_s__iteritems, __pyx_k__iteritems, sizeof(__pyx_k__iteritems), 0, 0, 1, 1}, - {&__pyx_n_s__iu, __pyx_k__iu, sizeof(__pyx_k__iu), 0, 0, 1, 1}, - {&__pyx_n_s__kind, __pyx_k__kind, sizeof(__pyx_k__kind), 0, 0, 1, 1}, -+ {&__pyx_n_s__kwds, __pyx_k__kwds, sizeof(__pyx_k__kwds), 0, 0, 1, 1}, - {&__pyx_n_s__lcpl, __pyx_k__lcpl, sizeof(__pyx_k__lcpl), 0, 0, 1, 1}, - {&__pyx_n_s__little, __pyx_k__little, sizeof(__pyx_k__little), 0, 0, 1, 1}, -- {&__pyx_n_s__locked, __pyx_k__locked, sizeof(__pyx_k__locked), 0, 0, 1, 1}, - {&__pyx_n_s__logical, __pyx_k__logical, sizeof(__pyx_k__logical), 0, 0, 1, 1}, - {&__pyx_n_s__lsb, __pyx_k__lsb, sizeof(__pyx_k__lsb), 0, 0, 1, 1}, - {&__pyx_n_s__mpos, __pyx_k__mpos, sizeof(__pyx_k__mpos), 0, 0, 1, 1}, -@@ -15931,14 +17184,14 @@ static __Pyx_StringTabEntry __pyx_string - {&__pyx_n_s__n, __pyx_k__n, sizeof(__pyx_k__n), 0, 0, 1, 1}, - {&__pyx_n_s__name, __pyx_k__name, sizeof(__pyx_k__name), 0, 0, 1, 1}, - {&__pyx_n_s__names, __pyx_k__names, sizeof(__pyx_k__names), 0, 0, 1, 1}, -- {&__pyx_n_s__need_bkg, __pyx_k__need_bkg, sizeof(__pyx_k__need_bkg), 0, 0, 1, 1}, - {&__pyx_n_s__offset, __pyx_k__offset, sizeof(__pyx_k__offset), 0, 0, 1, 1}, - {&__pyx_n_s__open, __pyx_k__open, sizeof(__pyx_k__open), 0, 0, 1, 1}, - {&__pyx_n_s__popitem, __pyx_k__popitem, sizeof(__pyx_k__popitem), 0, 0, 1, 1}, - {&__pyx_n_s__py_create, __pyx_k__py_create, sizeof(__pyx_k__py_create), 0, 0, 1, 1}, -- {&__pyx_n_s__py_dtype, __pyx_k__py_dtype, sizeof(__pyx_k__py_dtype), 0, 0, 1, 1}, - {&__pyx_n_s__range, __pyx_k__range, sizeof(__pyx_k__range), 0, 0, 1, 1}, -+ {&__pyx_n_s__rank, __pyx_k__rank, sizeof(__pyx_k__rank), 0, 0, 1, 1}, - {&__pyx_n_s__ref, __pyx_k__ref, sizeof(__pyx_k__ref), 0, 0, 1, 1}, -+ {&__pyx_n_s__result, __pyx_k__result, sizeof(__pyx_k__result), 0, 0, 1, 1}, - {&__pyx_n_s__size, __pyx_k__size, sizeof(__pyx_k__size), 0, 0, 1, 1}, - {&__pyx_n_s__sorted, __pyx_k__sorted, sizeof(__pyx_k__sorted), 0, 0, 1, 1}, - {&__pyx_n_s__special_dtype, __pyx_k__special_dtype, sizeof(__pyx_k__special_dtype), 0, 0, 1, 1}, -@@ -15947,9 +17200,11 @@ static __Pyx_StringTabEntry __pyx_string - {&__pyx_n_s__str, __pyx_k__str, sizeof(__pyx_k__str), 0, 0, 1, 1}, - {&__pyx_n_s__subdtype, __pyx_k__subdtype, sizeof(__pyx_k__subdtype), 0, 0, 1, 1}, - {&__pyx_n_s__sys, __pyx_k__sys, sizeof(__pyx_k__sys), 0, 0, 1, 1}, -+ {&__pyx_n_s__tpl, __pyx_k__tpl, sizeof(__pyx_k__tpl), 0, 0, 1, 1}, - {&__pyx_n_s__type, __pyx_k__type, sizeof(__pyx_k__type), 0, 0, 1, 1}, - {&__pyx_n_s__u, __pyx_k__u, sizeof(__pyx_k__u), 0, 0, 1, 1}, - {&__pyx_n_s__utf8, __pyx_k__utf8, sizeof(__pyx_k__utf8), 0, 0, 1, 1}, -+ {&__pyx_n_s__val, __pyx_k__val, sizeof(__pyx_k__val), 0, 0, 1, 1}, - {&__pyx_n_s__vals, __pyx_k__vals, sizeof(__pyx_k__vals), 0, 0, 1, 1}, - {&__pyx_n_s__value, __pyx_k__value, sizeof(__pyx_k__value), 0, 0, 1, 1}, - {&__pyx_n_s__version, __pyx_k__version, sizeof(__pyx_k__version), 0, 0, 1, 1}, -@@ -15981,7 +17236,8 @@ static int __Pyx_InitCachedBuiltins(void - } - - static int __Pyx_InitCachedConstants(void) { -- __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants"); -+ __Pyx_RefNannyDeclarations -+ __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - - /* "h5py/h5t.pyx":219 - * # HDF5 versions 1.6.X segfault with anything else -@@ -15991,7 +17247,7 @@ static int __Pyx_InitCachedConstants(voi - * return typewrap(H5Tcreate(classtype, size)) - */ - __pyx_k_tuple_2 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_2)); -+ __Pyx_GOTREF(__pyx_k_tuple_2); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_1)); - PyTuple_SET_ITEM(__pyx_k_tuple_2, 0, ((PyObject *)__pyx_kp_s_1)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_1)); -@@ -16005,7 +17261,7 @@ static int __Pyx_InitCachedConstants(voi - * return self._hash - */ - __pyx_k_tuple_4 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_4)); -+ __Pyx_GOTREF(__pyx_k_tuple_4); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_3)); - PyTuple_SET_ITEM(__pyx_k_tuple_4, 0, ((PyObject *)__pyx_kp_s_3)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_3)); -@@ -16019,7 +17275,7 @@ static int __Pyx_InitCachedConstants(voi - * - */ - __pyx_k_tuple_6 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_6)); -+ __Pyx_GOTREF(__pyx_k_tuple_6); - __Pyx_INCREF(__pyx_int_neg_1); - PyTuple_SET_ITEM(__pyx_k_tuple_6, 0, __pyx_int_neg_1); - __Pyx_GIVEREF(__pyx_int_neg_1); -@@ -16033,7 +17289,7 @@ static int __Pyx_InitCachedConstants(voi - * - */ - __pyx_k_tuple_11 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_11)); -+ __Pyx_GOTREF(__pyx_k_tuple_11); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_10)); - PyTuple_SET_ITEM(__pyx_k_tuple_11, 0, ((PyObject *)__pyx_kp_s_10)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_10)); -@@ -16047,7 +17303,7 @@ static int __Pyx_InitCachedConstants(voi - * try: - */ - __pyx_k_tuple_13 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_13)); -+ __Pyx_GOTREF(__pyx_k_tuple_13); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_12)); - PyTuple_SET_ITEM(__pyx_k_tuple_13, 0, ((PyObject *)__pyx_kp_s_12)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_12)); -@@ -16061,7 +17317,7 @@ static int __Pyx_InitCachedConstants(voi - * - */ - __pyx_k_tuple_14 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_14)); -+ __Pyx_GOTREF(__pyx_k_tuple_14); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_12)); - PyTuple_SET_ITEM(__pyx_k_tuple_14, 0, ((PyObject *)__pyx_kp_s_12)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_12)); -@@ -16075,7 +17331,7 @@ static int __Pyx_InitCachedConstants(voi - * - */ - __pyx_k_tuple_15 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_15)); -+ __Pyx_GOTREF(__pyx_k_tuple_15); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_12)); - PyTuple_SET_ITEM(__pyx_k_tuple_15, 0, ((PyObject *)__pyx_kp_s_12)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_12)); -@@ -16089,7 +17345,7 @@ static int __Pyx_InitCachedConstants(voi - * - */ - __pyx_k_tuple_16 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_16)); -+ __Pyx_GOTREF(__pyx_k_tuple_16); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_12)); - PyTuple_SET_ITEM(__pyx_k_tuple_16, 0, ((PyObject *)__pyx_kp_s_12)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_12)); -@@ -16103,7 +17359,7 @@ static int __Pyx_InitCachedConstants(voi - * - */ - __pyx_k_tuple_17 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_17)); -+ __Pyx_GOTREF(__pyx_k_tuple_17); - __Pyx_INCREF(((PyObject *)__pyx_n_s__utf8)); - PyTuple_SET_ITEM(__pyx_k_tuple_17, 0, ((PyObject *)__pyx_n_s__utf8)); - __Pyx_GIVEREF(((PyObject *)__pyx_n_s__utf8)); -@@ -16117,7 +17373,7 @@ static int __Pyx_InitCachedConstants(voi - * H5Tget_member_value(self.id, idx, &val) - */ - __pyx_k_tuple_20 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_20)); -+ __Pyx_GOTREF(__pyx_k_tuple_20); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_19)); - PyTuple_SET_ITEM(__pyx_k_tuple_20, 0, ((PyObject *)__pyx_kp_s_19)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_19)); -@@ -16131,7 +17387,7 @@ static int __Pyx_InitCachedConstants(voi - * # Convert strings to appropriate representation - */ - __pyx_k_tuple_21 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_21)); -+ __Pyx_GOTREF(__pyx_k_tuple_21); - __Pyx_INCREF(((PyObject *)__pyx_n_s__bool)); - PyTuple_SET_ITEM(__pyx_k_tuple_21, 0, ((PyObject *)__pyx_n_s__bool)); - __Pyx_GIVEREF(((PyObject *)__pyx_n_s__bool)); -@@ -16145,7 +17401,7 @@ static int __Pyx_InitCachedConstants(voi - * name = uname - */ - __pyx_k_tuple_22 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_22)); -+ __Pyx_GOTREF(__pyx_k_tuple_22); - __Pyx_INCREF(((PyObject *)__pyx_n_s__ascii)); - PyTuple_SET_ITEM(__pyx_k_tuple_22, 0, ((PyObject *)__pyx_n_s__ascii)); - __Pyx_GIVEREF(((PyObject *)__pyx_n_s__ascii)); -@@ -16159,7 +17415,7 @@ static int __Pyx_InitCachedConstants(voi - * pass # Last resort: return byte string - */ - __pyx_k_tuple_23 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_23)); -+ __Pyx_GOTREF(__pyx_k_tuple_23); - __Pyx_INCREF(((PyObject *)__pyx_n_s__utf8)); - PyTuple_SET_ITEM(__pyx_k_tuple_23, 0, ((PyObject *)__pyx_n_s__utf8)); - __Pyx_GIVEREF(((PyObject *)__pyx_n_s__utf8)); -@@ -16173,7 +17429,7 @@ static int __Pyx_InitCachedConstants(voi - * return array_create(type_base, shape) - */ - __pyx_k_tuple_28 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_28)); -+ __Pyx_GOTREF(__pyx_k_tuple_28); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_27)); - PyTuple_SET_ITEM(__pyx_k_tuple_28, 0, ((PyObject *)__pyx_kp_s_27)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_27)); -@@ -16187,7 +17443,7 @@ static int __Pyx_InitCachedConstants(voi - * type_tmp = py_create(dt_tmp, logical=logical) - */ - __pyx_k_tuple_30 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_30)); -+ __Pyx_GOTREF(__pyx_k_tuple_30); - __Pyx_INCREF(((PyObject *)__pyx_n_s__utf8)); - PyTuple_SET_ITEM(__pyx_k_tuple_30, 0, ((PyObject *)__pyx_n_s__utf8)); - __Pyx_GIVEREF(((PyObject *)__pyx_n_s__utf8)); -@@ -16201,7 +17457,7 @@ static int __Pyx_InitCachedConstants(voi - * cpdef TypeID py_create(object dtype_in, bint logical=0): - */ - __pyx_k_tuple_32 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_32)); -+ __Pyx_GOTREF(__pyx_k_tuple_32); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_31)); - PyTuple_SET_ITEM(__pyx_k_tuple_32, 0, ((PyObject *)__pyx_kp_s_31)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_31)); -@@ -16215,7 +17471,7 @@ static int __Pyx_InitCachedConstants(voi - * name, val = kwds.popitem() - */ - __pyx_k_tuple_36 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_36)); -+ __Pyx_GOTREF(__pyx_k_tuple_36); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_35)); - PyTuple_SET_ITEM(__pyx_k_tuple_36, 0, ((PyObject *)__pyx_kp_s_35)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_35)); -@@ -16229,7 +17485,7 @@ static int __Pyx_InitCachedConstants(voi - * return dtype(('O', [( ({'type': val},'vlen'), 'O' )] )) - */ - __pyx_k_tuple_38 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_38)); -+ __Pyx_GOTREF(__pyx_k_tuple_38); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_37)); - PyTuple_SET_ITEM(__pyx_k_tuple_38, 0, ((PyObject *)__pyx_kp_s_37)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_37)); -@@ -16243,7 +17499,7 @@ static int __Pyx_InitCachedConstants(voi - * dt = dtype(dt) - */ - __pyx_k_tuple_40 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_40)); -+ __Pyx_GOTREF(__pyx_k_tuple_40); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_39)); - PyTuple_SET_ITEM(__pyx_k_tuple_40, 0, ((PyObject *)__pyx_kp_s_39)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_39)); -@@ -16257,7 +17513,7 @@ static int __Pyx_InitCachedConstants(voi - * return dtype((dt, [( ({'vals': enum_vals},'enum'), dt )] )) - */ - __pyx_k_tuple_42 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_42)); -+ __Pyx_GOTREF(__pyx_k_tuple_42); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_41)); - PyTuple_SET_ITEM(__pyx_k_tuple_42, 0, ((PyObject *)__pyx_kp_s_41)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_41)); -@@ -16271,7 +17527,7 @@ static int __Pyx_InitCachedConstants(voi - * return dtype(('O', [( ({'type': val},'ref'), 'O' )] )) - */ - __pyx_k_tuple_44 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_44)); -+ __Pyx_GOTREF(__pyx_k_tuple_44); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_43)); - PyTuple_SET_ITEM(__pyx_k_tuple_44, 0, ((PyObject *)__pyx_kp_s_43)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_43)); -@@ -16285,33 +17541,264 @@ static int __Pyx_InitCachedConstants(voi - * name, dt = kwds.popitem() - */ - __pyx_k_tuple_46 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_46)); -+ __Pyx_GOTREF(__pyx_k_tuple_46); - __Pyx_INCREF(((PyObject *)__pyx_kp_s_35)); - PyTuple_SET_ITEM(__pyx_k_tuple_46, 0, ((PyObject *)__pyx_kp_s_35)); - __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_35)); - __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_46)); -- __Pyx_RefNannyFinishContext(); -- return 0; -- __pyx_L1_error:; -- __Pyx_RefNannyFinishContext(); -- return -1; --} - --static int __Pyx_InitGlobals(void) { -- if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -- __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -- __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -- __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -- __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -- __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -- __pyx_int_8 = PyInt_FromLong(8); if (unlikely(!__pyx_int_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -- __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -- return 0; -- __pyx_L1_error:; -- return -1; --} -+ /* "h5py/h5t.pyx":210 -+ * -+ * -+ * def create(int classtype, size_t size): # <<<<<<<<<<<<<< -+ * """(INT classtype, UINT size) => TypeID -+ * -+ */ -+ __pyx_k_tuple_53 = PyTuple_New(2); if (unlikely(!__pyx_k_tuple_53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_53); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__classtype)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_53, 0, ((PyObject *)__pyx_n_s__classtype)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__classtype)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__size)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_53, 1, ((PyObject *)__pyx_n_s__size)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__size)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_53)); -+ __pyx_k_codeobj_54 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_55, __pyx_n_s__create, 210, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - --#if PY_MAJOR_VERSION < 3 -+ /* "h5py/h5t.pyx":224 -+ * -+ * -+ * def open(ObjectID group not None, char* name): # <<<<<<<<<<<<<< -+ * """(ObjectID group, STRING name) => TypeID -+ * -+ */ -+ __pyx_k_tuple_57 = PyTuple_New(2); if (unlikely(!__pyx_k_tuple_57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_57); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__group)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_57, 0, ((PyObject *)__pyx_n_s__group)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__group)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_57, 1, ((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_57)); -+ __pyx_k_codeobj_58 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_55, __pyx_n_s__open, 224, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5t.pyx":232 -+ * -+ * -+ * def array_create(TypeID base not None, object dims_tpl): # <<<<<<<<<<<<<< -+ * """(TypeID base, TUPLE dimensions) => TypeArrayID -+ * -+ */ -+ __pyx_k_tuple_59 = PyTuple_New(4); if (unlikely(!__pyx_k_tuple_59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_59); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__base)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_59, 0, ((PyObject *)__pyx_n_s__base)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__base)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__dims_tpl)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_59, 1, ((PyObject *)__pyx_n_s__dims_tpl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__dims_tpl)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__rank)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_59, 2, ((PyObject *)__pyx_n_s__rank)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__rank)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__dims)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_59, 3, ((PyObject *)__pyx_n_s__dims)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__dims)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_59)); -+ __pyx_k_codeobj_60 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_55, __pyx_n_s__array_create, 232, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5t.pyx":253 -+ * -+ * -+ * def enum_create(TypeID base not None): # <<<<<<<<<<<<<< -+ * """(TypeID base) => TypeID -+ * -+ */ -+ __pyx_k_tuple_61 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_61); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__base)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_61, 0, ((PyObject *)__pyx_n_s__base)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__base)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_61)); -+ __pyx_k_codeobj_62 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_55, __pyx_n_s__enum_create, 253, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5t.pyx":261 -+ * -+ * -+ * def vlen_create(TypeID base not None): # <<<<<<<<<<<<<< -+ * """(TypeID base) => TypeID -+ * -+ */ -+ __pyx_k_tuple_63 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_63); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__base)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_63, 0, ((PyObject *)__pyx_n_s__base)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__base)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_63)); -+ __pyx_k_codeobj_64 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_55, __pyx_n_s__vlen_create, 261, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5t.pyx":272 -+ * -+ * -+ * def decode(char* buf): # <<<<<<<<<<<<<< -+ * """(STRING buf) => TypeID -+ * -+ */ -+ __pyx_k_tuple_65 = PyTuple_New(2); if (unlikely(!__pyx_k_tuple_65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_65); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__buf)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_65, 0, ((PyObject *)__pyx_n_s__buf)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__buf)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__buf)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_65, 1, ((PyObject *)__pyx_n_s__buf)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__buf)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_65)); -+ __pyx_k_codeobj_66 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_55, __pyx_n_s__decode, 272, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5t.pyx":1441 -+ * raise TypeError("No conversion path for dtype: %s" % repr(dt)) -+ * -+ * def special_dtype(**kwds): # <<<<<<<<<<<<<< -+ * """ Create a new h5py "special" type. Only one keyword may be given. -+ * -+ */ -+ __pyx_k_tuple_67 = PyTuple_New(6); if (unlikely(!__pyx_k_tuple_67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_67); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__kwds)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_67, 0, ((PyObject *)__pyx_n_s__kwds)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__kwds)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__kwds)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_67, 1, ((PyObject *)__pyx_n_s__kwds)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__kwds)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_67, 2, ((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__val)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_67, 3, ((PyObject *)__pyx_n_s__val)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__val)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__dt)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_67, 4, ((PyObject *)__pyx_n_s__dt)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__dt)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__enum_vals)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_67, 5, ((PyObject *)__pyx_n_s__enum_vals)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__enum_vals)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_67)); -+ __pyx_k_codeobj_68 = (PyObject*)__Pyx_PyCode_New(0, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_55, __pyx_n_s__special_dtype, 1441, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5t.pyx":1494 -+ * raise TypeError('Unknown special type "%s"' % name) -+ * -+ * def check_dtype(**kwds): # <<<<<<<<<<<<<< -+ * """ Check a dtype for h5py special type "hint" information. Only one -+ * keyword may be given. -+ */ -+ __pyx_k_tuple_69 = PyTuple_New(7); if (unlikely(!__pyx_k_tuple_69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_69); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__kwds)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_69, 0, ((PyObject *)__pyx_n_s__kwds)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__kwds)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__kwds)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_69, 1, ((PyObject *)__pyx_n_s__kwds)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__kwds)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__name)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_69, 2, ((PyObject *)__pyx_n_s__name)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__name)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__dt)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_69, 3, ((PyObject *)__pyx_n_s__dt)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__dt)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__hintkey)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_69, 4, ((PyObject *)__pyx_n_s__hintkey)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__hintkey)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__tpl)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_69, 5, ((PyObject *)__pyx_n_s__tpl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__tpl)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__hint_dict)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_69, 6, ((PyObject *)__pyx_n_s__hint_dict)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__hint_dict)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_69)); -+ __pyx_k_codeobj_70 = (PyObject*)__Pyx_PyCode_New(0, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_55, __pyx_n_s__check_dtype, 1494, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5t.pyx":1533 -+ * return None -+ * -+ * def convert(TypeID src not None, TypeID dst not None, size_t n, # <<<<<<<<<<<<<< -+ * ndarray buf not None, ndarray bkg=None, ObjectID dxpl=None): -+ * """ (TypeID src, TypeID dst, UINT n, NDARRAY buf, NDARRAY bkg=None, -+ */ -+ __pyx_k_tuple_71 = PyTuple_New(8); if (unlikely(!__pyx_k_tuple_71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_71); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__src)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_71, 0, ((PyObject *)__pyx_n_s__src)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__src)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__dst)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_71, 1, ((PyObject *)__pyx_n_s__dst)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__dst)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__n)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_71, 2, ((PyObject *)__pyx_n_s__n)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__n)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__buf)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_71, 3, ((PyObject *)__pyx_n_s__buf)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__buf)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__bkg)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_71, 4, ((PyObject *)__pyx_n_s__bkg)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__bkg)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__dxpl)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_71, 5, ((PyObject *)__pyx_n_s__dxpl)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__dxpl)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__bkg_)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_71, 6, ((PyObject *)__pyx_n_s__bkg_)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__bkg_)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__buf_)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_71, 7, ((PyObject *)__pyx_n_s__buf_)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__buf_)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_71)); -+ __pyx_k_codeobj_72 = (PyObject*)__Pyx_PyCode_New(6, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_55, __pyx_n_s__convert, 1533, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ -+ /* "h5py/h5t.pyx":1554 -+ * H5Tconvert(src.id, dst.id, n, buf_, bkg_, pdefault(dxpl)) -+ * -+ * def find(TypeID src not None, TypeID dst not None): # <<<<<<<<<<<<<< -+ * """ (TypeID src, TypeID dst) => TUPLE or None -+ * -+ */ -+ __pyx_k_tuple_73 = PyTuple_New(4); if (unlikely(!__pyx_k_tuple_73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_k_tuple_73); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__src)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_73, 0, ((PyObject *)__pyx_n_s__src)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__src)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__dst)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_73, 1, ((PyObject *)__pyx_n_s__dst)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__dst)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__data)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_73, 2, ((PyObject *)__pyx_n_s__data)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__data)); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s__result)); -+ PyTuple_SET_ITEM(__pyx_k_tuple_73, 3, ((PyObject *)__pyx_n_s__result)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__result)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_73)); -+ __pyx_k_codeobj_74 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_55, __pyx_n_s__find, 1554, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_RefNannyFinishContext(); -+ return 0; -+ __pyx_L1_error:; -+ __Pyx_RefNannyFinishContext(); -+ return -1; -+} -+ -+static int __Pyx_InitGlobals(void) { -+ if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -+ __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -+ __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -+ __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -+ __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -+ __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -+ __pyx_int_8 = PyInt_FromLong(8); if (unlikely(!__pyx_int_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -+ __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -+ return 0; -+ __pyx_L1_error:; -+ return -1; -+} -+ -+#if PY_MAJOR_VERSION < 3 - PyMODINIT_FUNC inith5t(void); /*proto*/ - PyMODINIT_FUNC inith5t(void) - #else -@@ -16326,8 +17813,8 @@ PyMODINIT_FUNC PyInit_h5t(void) - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - hid_t __pyx_t_7; -+ __Pyx_RefNannyDeclarations - #if CYTHON_REFNANNY -- void* __pyx_refnanny = NULL; - __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); - if (!__Pyx_RefNanny) { - PyErr_Clear(); -@@ -16335,12 +17822,19 @@ PyMODINIT_FUNC PyInit_h5t(void) - if (!__Pyx_RefNanny) - Py_FatalError("failed to import 'refnanny' module"); - } -- __pyx_refnanny = __Pyx_RefNanny->SetupContext("PyMODINIT_FUNC PyInit_h5t(void)", __LINE__, __FILE__); - #endif -+ __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5t(void)", 0); -+ if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- #ifdef __pyx_binding_PyCFunctionType_USED -- if (__pyx_binding_PyCFunctionType_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #ifdef __Pyx_CyFunction_USED -+ if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif -+ #ifdef __Pyx_FusedFunction_USED -+ if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #endif -+ #ifdef __Pyx_Generator_USED -+ if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - #endif - /*--- Library function declarations ---*/ - /*--- Threads initialization code ---*/ -@@ -16351,16 +17845,23 @@ PyMODINIT_FUNC PyInit_h5t(void) - #endif - /*--- Module creation code ---*/ - #if PY_MAJOR_VERSION < 3 -- __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5t"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_48), 0, PYTHON_API_VERSION); -+ __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5t"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_48), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); - #else - __pyx_m = PyModule_Create(&__pyx_moduledef); - #endif -- if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; -- #if PY_MAJOR_VERSION < 3 -- Py_INCREF(__pyx_m); -+ if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #if PY_MAJOR_VERSION >= 3 -+ { -+ PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ if (!PyDict_GetItemString(modules, "h5py.h5t")) { -+ if (unlikely(PyDict_SetItemString(modules, "h5py.h5t", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } -+ } -+ #endif -+ __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ #if CYTHON_COMPILING_IN_PYPY -+ Py_INCREF(__pyx_b); - #endif -- __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); -- if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - /*--- Initialize various global constants etc. ---*/ - if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -16383,6 +17884,7 @@ PyMODINIT_FUNC PyInit_h5t(void) - __pyx_v_4h5py_3h5t__uint_le = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_4h5py_3h5t__uint_be = ((PyObject*)Py_None); Py_INCREF(Py_None); - __pyx_v_4h5py_3h5t__uint_nt = ((PyObject*)Py_None); Py_INCREF(Py_None); -+ /*--- Variable export code ---*/ - /*--- Function export code ---*/ - if (__Pyx_ExportFunction("typewrap", (void (*)(void))__pyx_f_4h5py_3h5t_typewrap, "struct __pyx_obj_4h5py_3h5t_TypeID *(hid_t, int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ExportFunction("py_create", (void (*)(void))__pyx_f_4h5py_3h5t_py_create, "struct __pyx_obj_4h5py_3h5t_TypeID *(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -16514,219 +18016,11 @@ PyMODINIT_FUNC PyInit_h5t(void) - __pyx_ptype_4h5py_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_ptype_4h5py_3h5r_Reference = __Pyx_ImportType("h5py.h5r", "Reference", sizeof(struct __pyx_obj_4h5py_3h5r_Reference), 1); if (unlikely(!__pyx_ptype_4h5py_3h5r_Reference)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_ptype_4h5py_3h5r_RegionReference = __Pyx_ImportType("h5py.h5r", "RegionReference", sizeof(struct __pyx_obj_4h5py_3h5r_RegionReference), 1); if (unlikely(!__pyx_ptype_4h5py_3h5r_RegionReference)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ /*--- Variable import code ---*/ - /*--- Function import code ---*/ - __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5open", (void (**)(void))&__pyx_f_4h5py_4defs_H5open, "herr_t (void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5close", (void (**)(void))&__pyx_f_4h5py_4defs_H5close, "herr_t (void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5get_libversion", (void (**)(void))&__pyx_f_4h5py_4defs_H5get_libversion, "herr_t (unsigned int *, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dcreate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dcreate2, "hid_t (hid_t, char *, hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dcreate_anon", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dcreate_anon, "hid_t (hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dopen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_space", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_space, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_space_status", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_space_status, "herr_t (hid_t, H5D_space_status_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_type, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_create_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_offset, "haddr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_storage_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_storage_size, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dread", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dread, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dwrite", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dwrite, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dextend", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dextend, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dfill", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dfill, "herr_t (void *, hid_t, void *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dvlen_get_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dvlen_get_buf_size, "herr_t (hid_t, hid_t, hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dvlen_reclaim", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dvlen_reclaim, "herr_t (hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Diterate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Diterate, "herr_t (void *, hid_t, hid_t, H5D_operator_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Dset_extent", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dset_extent, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fcreate, "hid_t (char *, unsigned int, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fopen, "hid_t (char *, unsigned int, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fis_hdf5", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fis_hdf5, "htri_t (char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fflush", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fflush, "herr_t (hid_t, enum H5F_scope_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Freopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Freopen, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fmount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fmount, "herr_t (hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Funmount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Funmount, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_filesize", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_filesize, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_create_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_access_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_access_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_freespace", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_freespace, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_obj_count", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_obj_count, "int (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_obj_ids", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_obj_ids, "int (hid_t, unsigned int, int, hid_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_intent", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_intent, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate, "hid_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gopen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Glink2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Glink2, "herr_t (hid_t, char *, H5G_link_t, hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gunlink", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gunlink, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gmove2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gmove2, "herr_t (hid_t, char *, hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_num_objs", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_num_objs, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_objname_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_objname_by_idx, "int (hid_t, hsize_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_objtype_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_objtype_by_idx, "int (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Giterate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Giterate, "herr_t (hid_t, char *, int *, H5G_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_objinfo", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_objinfo, "herr_t (hid_t, char *, int, H5G_stat_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_linkval", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_linkval, "herr_t (hid_t, char *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gset_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gset_comment, "herr_t (hid_t, char *, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_comment, "int (hid_t, char *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate_anon", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate_anon, "hid_t (hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate2, "hid_t (hid_t, char *, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gopen2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gopen2, "hid_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_info, "herr_t (hid_t, H5G_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_info_by_name, "herr_t (hid_t, char *, H5G_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_create_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_type, "H5I_type_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_file_id", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_file_id, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Idec_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Idec_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Iinc_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iinc_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lmove", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lmove, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcopy, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_hard", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_hard, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_soft", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_soft, "herr_t (char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ldelete", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ldelete, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ldelete_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ldelete_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_val", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_val, "herr_t (hid_t, char *, void *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_val_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_val_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, void *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lexists", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lexists, "htri_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_info, "herr_t (hid_t, char *, H5L_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5L_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_name_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_name_by_idx, "Py_ssize_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Literate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Literate, "herr_t (hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Literate_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Literate_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lvisit", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lvisit, "herr_t (hid_t, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lvisit_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lvisit_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lunpack_elink_val", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lunpack_elink_val, "herr_t (void *, size_t, unsigned int *, char **, char **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_external", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_external, "herr_t (char *, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oopen, "hid_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oopen_by_addr", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oopen_by_addr, "hid_t (hid_t, haddr_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oopen_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oopen_by_idx, "hid_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info, "herr_t (hid_t, H5O_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info_by_name, "herr_t (hid_t, char *, H5O_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5O_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Olink", (void (**)(void))&__pyx_f_4h5py_4defs_H5Olink, "herr_t (hid_t, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ocopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ocopy, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oincr_refcount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oincr_refcount, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Odecr_refcount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Odecr_refcount, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oset_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oset_comment, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oset_comment_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oset_comment_by_name, "herr_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_comment, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_comment_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_comment_by_name, "Py_ssize_t (hid_t, char *, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ovisit", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ovisit, "herr_t (hid_t, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Ovisit_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ovisit_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Oclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pcreate, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pcopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_class, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pequal", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pequal, "htri_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pclose_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pclose_class, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_version", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_version, "herr_t (hid_t, unsigned int *, unsigned int *, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_userblock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_userblock, "herr_t (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_userblock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_userblock, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sizes", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sizes, "herr_t (hid_t, size_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sizes", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sizes, "herr_t (hid_t, size_t *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sym_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sym_k, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sym_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sym_k, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_istore_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_istore_k, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_istore_k", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_istore_k, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fclose_degree", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fclose_degree, "herr_t (hid_t, enum H5F_close_degree_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fclose_degree", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fclose_degree, "herr_t (hid_t, enum H5F_close_degree_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_core", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_core, "herr_t (hid_t, size_t, hbool_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fapl_core", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fapl_core, "herr_t (hid_t, size_t *, hbool_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_family", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_family, "herr_t (hid_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fapl_family", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fapl_family, "herr_t (hid_t, hsize_t *, hid_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_family_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_family_offset, "herr_t (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_family_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_family_offset, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_log", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_log, "herr_t (hid_t, char *, unsigned int, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_multi", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_multi, "herr_t (hid_t, H5FD_mem_t *, hid_t *, char **, haddr_t *, hbool_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_cache", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_cache, "herr_t (hid_t, int, int, size_t, double)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_cache", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_cache, "herr_t (hid_t, int *, int *, size_t *, double *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_sec2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_sec2, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_stdio", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_stdio, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_driver", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_driver, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_layout", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_layout, "herr_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_layout", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_layout, "H5D_layout_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_chunk", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_chunk, "herr_t (hid_t, int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_chunk", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_chunk, "int (hid_t, int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_deflate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_deflate, "herr_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fill_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fill_value, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fill_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fill_value, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pfill_value_defined", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pfill_value_defined, "herr_t (hid_t, H5D_fill_value_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fill_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fill_time, "herr_t (hid_t, H5D_fill_time_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fill_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fill_time, "herr_t (hid_t, H5D_fill_time_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_alloc_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_alloc_time, "herr_t (hid_t, H5D_alloc_time_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_alloc_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_alloc_time, "herr_t (hid_t, H5D_alloc_time_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_filter, "herr_t (hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pall_filters_avail", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pall_filters_avail, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_nfilters", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_nfilters, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_filter, "H5Z_filter_t (hid_t, unsigned int, unsigned int *, size_t *, unsigned int *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_filter_by_id", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_filter_by_id, "herr_t (hid_t, H5Z_filter_t, unsigned int *, size_t *, unsigned int *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pmodify_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pmodify_filter, "herr_t (hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Premove_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Premove_filter, "herr_t (hid_t, H5Z_filter_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fletcher32", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fletcher32, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_shuffle", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_shuffle, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_szip", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_szip, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_edc_check", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_edc_check, "herr_t (hid_t, enum H5Z_EDC_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_edc_check", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_edc_check, "enum H5Z_EDC_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sieve_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sieve_buf_size, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sieve_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sieve_buf_size, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_nlinks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_nlinks, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_nlinks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_nlinks, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_elink_prefix", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_elink_prefix, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_elink_prefix", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_elink_prefix, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_elink_fapl", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_elink_fapl, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_elink_fapl", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_elink_fapl, "herr_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_create_intermediate_group", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_create_intermediate_group, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_create_intermediate_group", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_create_intermediate_group, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_copy_object", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_copy_object, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_copy_object", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_copy_object, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_char_encoding", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_char_encoding, "herr_t (hid_t, H5T_cset_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_char_encoding", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_char_encoding, "herr_t (hid_t, H5T_cset_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_local_heap_size_hint", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_local_heap_size_hint, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_local_heap_size_hint", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_local_heap_size_hint, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_link_phase_change", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_link_phase_change, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_link_phase_change", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_link_phase_change, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_est_link_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_est_link_info, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_est_link_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_est_link_info, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_link_creation_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_link_creation_order, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_link_creation_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_link_creation_order, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_libver_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_libver_bounds, "herr_t (hid_t, H5F_libver_t, H5F_libver_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_libver_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_libver_bounds, "herr_t (hid_t, H5F_libver_t *, H5F_libver_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rcreate, "herr_t (void *, hid_t, char *, H5R_type_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rdereference", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rdereference, "hid_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_region", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_region, "hid_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_obj_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_obj_type, "enum H5G_obj_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_name, "Py_ssize_t (hid_t, H5R_type_t, void *, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Screate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Screate, "hid_t (H5S_class_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Scopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Scopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Screate_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Screate_simple, "hid_t (int, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sis_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sis_simple, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Soffset_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Soffset_simple, "herr_t (hid_t, hssize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_ndims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_dims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_dims, "int (hid_t, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_npoints", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_type, "H5S_class_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sextent_copy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sextent_copy, "herr_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sset_extent_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sset_extent_simple, "herr_t (hid_t, int, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sset_extent_none", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sset_extent_none, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_type, "H5S_sel_type (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_npoints", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_bounds, "herr_t (hid_t, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_all", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_all, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_none", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_none, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_valid", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_valid, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_elem_npoints", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_elem_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_elem_pointlist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_elem_pointlist, "herr_t (hid_t, hsize_t, hsize_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_elements", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_elements, "herr_t (hid_t, H5S_seloper_t, size_t, hsize_t **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_hyper_nblocks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_hyper_nblocks, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_hyper_blocklist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_hyper_blocklist, "herr_t (hid_t, hsize_t, hsize_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_hyperslab", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_hyperslab, "herr_t (hid_t, H5S_seloper_t, hsize_t *, hsize_t *, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sencode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sencode, "herr_t (hid_t, void *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Sdecode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sdecode, "hid_t (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcreate, "hid_t (enum H5T_class_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Topen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Topen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommit", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommit, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommitted", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommitted, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Tequal", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tequal, "htri_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -16736,7 +18030,6 @@ PyMODINIT_FUNC PyInit_h5t(void) - if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_super", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_super, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Tdetect_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tdetect_class, "htri_t (hid_t, enum H5T_class_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Tclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_native_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_native_type, "hid_t (hid_t, enum H5T_direction_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Tconvert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tconvert, "herr_t (hid_t, hid_t, size_t, void *, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_size, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_order, "H5T_order_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -16785,47 +18078,6 @@ PyMODINIT_FUNC PyInit_h5t(void) - if (__Pyx_ImportFunction(__pyx_t_1, "H5Tencode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tencode, "herr_t (hid_t, unsigned char *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommit2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommit2, "herr_t (hid_t, char *, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_1, "H5Tfind", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tfind, "H5T_conv_t (hid_t, hid_t, H5T_cdata_t **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tregister", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tregister, "herr_t (H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Tunregister", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tunregister, "herr_t (H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Zfilter_avail", (void (**)(void))&__pyx_f_4h5py_4defs_H5Zfilter_avail, "htri_t (H5Z_filter_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Zget_filter_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Zget_filter_info, "herr_t (H5Z_filter_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Acreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Acreate, "hid_t (hid_t, char *, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_idx, "hid_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_name, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aread", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aread, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Awrite", (void (**)(void))&__pyx_f_4h5py_4defs_H5Awrite, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_num_attrs", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_num_attrs, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_name, "Py_ssize_t (hid_t, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_space", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_space, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_type, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aiterate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aiterate, "herr_t (hid_t, unsigned int *, H5A_operator_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete_by_name, "herr_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Acreate_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Acreate_by_name, "hid_t (hid_t, char *, char *, hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_by_name, "herr_t (hid_t, char *, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aexists_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aexists_by_name, "htri_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aexists", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aexists, "htri_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Arename", (void (**)(void))&__pyx_f_4h5py_4defs_H5Arename, "herr_t (hid_t, char *, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Arename_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Arename_by_name, "herr_t (hid_t, char *, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info, "herr_t (hid_t, H5A_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info_by_name, "herr_t (hid_t, char *, char *, H5A_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5A_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aiterate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aiterate2, "herr_t (hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5A_operator2_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_storage_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_storage_size, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSattach_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSattach_scale, "herr_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSdetach_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSdetach_scale, "herr_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSset_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSset_scale, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_num_scales", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_num_scales, "int (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSset_label", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSset_label, "herr_t (hid_t, unsigned int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_label", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_label, "Py_ssize_t (hid_t, unsigned int, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_scale_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_scale_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSis_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSis_scale, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSiterate_scales", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSiterate_scales, "herr_t (hid_t, unsigned int, int *, H5DS_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_1, "H5DSis_attached", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSis_attached, "htri_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_2 = __Pyx_ImportModule("h5py._objects"); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_2, "pdefault", (void (**)(void))&__pyx_f_4h5py_8_objects_pdefault, "hid_t (struct __pyx_obj_4h5py_8_objects_ObjectID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -@@ -16833,75 +18085,88 @@ PyMODINIT_FUNC PyInit_h5t(void) - __pyx_t_3 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_3, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_3, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "check_numpy_read", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_read, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "check_numpy_write", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_write, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_3, "convert_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_convert_tuple, "int (PyObject *, hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_3, "convert_dims", (void (**)(void))&__pyx_f_4h5py_5utils_convert_dims, "PyObject *(hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__Pyx_ImportFunction(__pyx_t_3, "require_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_require_tuple, "int (PyObject *, int, int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "create_numpy_hsize", (void (**)(void))&__pyx_f_4h5py_5utils_create_numpy_hsize, "PyObject *(int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- if (__Pyx_ImportFunction(__pyx_t_3, "create_hsize_array", (void (**)(void))&__pyx_f_4h5py_5utils_create_hsize_array, "PyObject *(PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - Py_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*--- Execution code ---*/ - - /* "h5py/h5t.pyx":29 - * from utils cimport emalloc, efree, \ - * require_tuple, convert_dims, convert_tuple -- * import _conv # <<<<<<<<<<<<<< -+ * from h5py import _conv # <<<<<<<<<<<<<< - * - * # Runtime imports - */ -- __pyx_t_4 = __Pyx_Import(((PyObject *)__pyx_n_s___conv), 0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ __Pyx_INCREF(((PyObject *)__pyx_n_s___conv)); -+ PyList_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_n_s___conv)); -+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s___conv)); -+ __pyx_t_5 = __Pyx_Import(((PyObject *)__pyx_n_s__h5py), ((PyObject *)__pyx_t_4), -1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; -+ __pyx_t_4 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s___conv); -+ if (__pyx_t_4 == NULL) { -+ if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s___conv); -+ if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } - __Pyx_GOTREF(__pyx_t_4); - if (PyObject_SetAttr(__pyx_m, __pyx_n_s___conv, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "h5py/h5t.pyx":32 - * - * # Runtime imports - * import sys # <<<<<<<<<<<<<< -- * from h5 import get_config -+ * from h5py.h5 import get_config - * - */ -- __pyx_t_4 = __Pyx_Import(((PyObject *)__pyx_n_s__sys), 0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__sys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __pyx_t_5 = __Pyx_Import(((PyObject *)__pyx_n_s__sys), 0, -1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__sys, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "h5py/h5t.pyx":33 - * # Runtime imports - * import sys -- * from h5 import get_config # <<<<<<<<<<<<<< -+ * from h5py.h5 import get_config # <<<<<<<<<<<<<< - * - * cfg = get_config() - */ -- __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(((PyObject *)__pyx_n_s__get_config)); -- PyList_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_n_s__get_config)); -+ PyList_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_n_s__get_config)); - __Pyx_GIVEREF(((PyObject *)__pyx_n_s__get_config)); -- __pyx_t_5 = __Pyx_Import(((PyObject *)__pyx_n_s__h5), ((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; -- __pyx_t_4 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__get_config); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = __Pyx_Import(((PyObject *)__pyx_n_s_49), ((PyObject *)__pyx_t_5), -1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_config, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; -+ __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__get_config); -+ if (__pyx_t_5 == NULL) { -+ if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s__get_config); -+ if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ } -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_config, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":35 -- * from h5 import get_config -+ * from h5py.h5 import get_config - * - * cfg = get_config() # <<<<<<<<<<<<<< - * - * PY3 = sys.version_info[0] == 3 - */ -- __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__get_config); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__get_config); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__cfg, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__cfg, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "h5py/h5t.pyx":37 - * cfg = get_config() -@@ -16910,19 +18175,18 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * # === Custom C API ============================================================ - */ -- __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__sys); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__version_info); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__sys); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_5, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__version_info); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -- __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, __pyx_int_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_4, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__PY3, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = PyObject_RichCompare(__pyx_t_5, __pyx_int_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__PY3, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":83 - * -@@ -16931,10 +18195,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * INTEGER = H5T_INTEGER - * FLOAT = H5T_FLOAT - */ -- __pyx_t_5 = PyInt_FromLong(H5T_NO_CLASS); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NO_CLASS, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_NO_CLASS); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NO_CLASS, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":84 - * # Enumeration H5T_class_t -@@ -16943,10 +18207,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * FLOAT = H5T_FLOAT - * TIME = H5T_TIME - */ -- __pyx_t_5 = PyInt_FromLong(H5T_INTEGER); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__INTEGER, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_INTEGER); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__INTEGER, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":85 - * NO_CLASS = H5T_NO_CLASS -@@ -16955,10 +18219,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * TIME = H5T_TIME - * STRING = H5T_STRING - */ -- __pyx_t_5 = PyInt_FromLong(H5T_FLOAT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FLOAT, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FLOAT, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":86 - * INTEGER = H5T_INTEGER -@@ -16967,10 +18231,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * STRING = H5T_STRING - * BITFIELD = H5T_BITFIELD - */ -- __pyx_t_5 = PyInt_FromLong(H5T_TIME); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__TIME, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_TIME); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__TIME, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":87 - * FLOAT = H5T_FLOAT -@@ -16979,10 +18243,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * BITFIELD = H5T_BITFIELD - * OPAQUE = H5T_OPAQUE - */ -- __pyx_t_5 = PyInt_FromLong(H5T_STRING); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STRING, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_STRING); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STRING, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":88 - * TIME = H5T_TIME -@@ -16991,10 +18255,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * OPAQUE = H5T_OPAQUE - * COMPOUND = H5T_COMPOUND - */ -- __pyx_t_5 = PyInt_FromLong(H5T_BITFIELD); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__BITFIELD, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_BITFIELD); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__BITFIELD, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":89 - * STRING = H5T_STRING -@@ -17003,10 +18267,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * COMPOUND = H5T_COMPOUND - * REFERENCE = H5T_REFERENCE - */ -- __pyx_t_5 = PyInt_FromLong(H5T_OPAQUE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OPAQUE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_OPAQUE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OPAQUE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":90 - * BITFIELD = H5T_BITFIELD -@@ -17015,10 +18279,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * REFERENCE = H5T_REFERENCE - * ENUM = H5T_ENUM - */ -- __pyx_t_5 = PyInt_FromLong(H5T_COMPOUND); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__COMPOUND, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_COMPOUND); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__COMPOUND, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":91 - * OPAQUE = H5T_OPAQUE -@@ -17027,10 +18291,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * ENUM = H5T_ENUM - * VLEN = H5T_VLEN - */ -- __pyx_t_5 = PyInt_FromLong(H5T_REFERENCE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__REFERENCE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_REFERENCE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__REFERENCE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":92 - * COMPOUND = H5T_COMPOUND -@@ -17039,10 +18303,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * VLEN = H5T_VLEN - * ARRAY = H5T_ARRAY - */ -- __pyx_t_5 = PyInt_FromLong(H5T_ENUM); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ENUM, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_ENUM); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ENUM, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":93 - * REFERENCE = H5T_REFERENCE -@@ -17051,10 +18315,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * ARRAY = H5T_ARRAY - * - */ -- __pyx_t_5 = PyInt_FromLong(H5T_VLEN); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__VLEN, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_VLEN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__VLEN, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":94 - * ENUM = H5T_ENUM -@@ -17063,10 +18327,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * # Enumeration H5T_sign_t - */ -- __pyx_t_5 = PyInt_FromLong(H5T_ARRAY); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ARRAY, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_ARRAY); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ARRAY, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":97 - * -@@ -17075,10 +18339,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * SGN_2 = H5T_SGN_2 - * - */ -- __pyx_t_5 = PyInt_FromLong(H5T_SGN_NONE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SGN_NONE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_SGN_NONE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SGN_NONE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":98 - * # Enumeration H5T_sign_t -@@ -17087,10 +18351,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * # Enumeration H5T_order_t - */ -- __pyx_t_5 = PyInt_FromLong(H5T_SGN_2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SGN_2, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_SGN_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SGN_2, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":101 - * -@@ -17099,10 +18363,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * ORDER_BE = H5T_ORDER_BE - * ORDER_VAX = H5T_ORDER_VAX - */ -- __pyx_t_5 = PyInt_FromLong(H5T_ORDER_LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_LE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_ORDER_LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":102 - * # Enumeration H5T_order_t -@@ -17111,10 +18375,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * ORDER_VAX = H5T_ORDER_VAX - * ORDER_NONE = H5T_ORDER_NONE - */ -- __pyx_t_5 = PyInt_FromLong(H5T_ORDER_BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_BE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_ORDER_BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":103 - * ORDER_LE = H5T_ORDER_LE -@@ -17123,10 +18387,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * ORDER_NONE = H5T_ORDER_NONE - * - */ -- __pyx_t_5 = PyInt_FromLong(H5T_ORDER_VAX); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_VAX, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_ORDER_VAX); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_VAX, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":104 - * ORDER_BE = H5T_ORDER_BE -@@ -17135,10 +18399,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * DIR_DEFAULT = H5T_DIR_DEFAULT - */ -- __pyx_t_5 = PyInt_FromLong(H5T_ORDER_NONE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_NONE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_ORDER_NONE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_NONE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":106 - * ORDER_NONE = H5T_ORDER_NONE -@@ -17147,10 +18411,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * DIR_ASCEND = H5T_DIR_ASCEND - * DIR_DESCEND = H5T_DIR_DESCEND - */ -- __pyx_t_5 = PyInt_FromLong(H5T_DIR_DEFAULT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DIR_DEFAULT, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_DIR_DEFAULT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DIR_DEFAULT, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":107 - * -@@ -17159,10 +18423,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * DIR_DESCEND = H5T_DIR_DESCEND - * - */ -- __pyx_t_5 = PyInt_FromLong(H5T_DIR_ASCEND); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DIR_ASCEND, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_DIR_ASCEND); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DIR_ASCEND, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":108 - * DIR_DEFAULT = H5T_DIR_DEFAULT -@@ -17171,10 +18435,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * # Enumeration H5T_str_t - */ -- __pyx_t_5 = PyInt_FromLong(H5T_DIR_DESCEND); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DIR_DESCEND, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_DIR_DESCEND); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DIR_DESCEND, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":111 - * -@@ -17183,10 +18447,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * STR_NULLPAD = H5T_STR_NULLPAD - * STR_SPACEPAD = H5T_STR_SPACEPAD - */ -- __pyx_t_5 = PyInt_FromLong(H5T_STR_NULLTERM); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STR_NULLTERM, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_STR_NULLTERM); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STR_NULLTERM, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":112 - * # Enumeration H5T_str_t -@@ -17195,10 +18459,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * STR_SPACEPAD = H5T_STR_SPACEPAD - * - */ -- __pyx_t_5 = PyInt_FromLong(H5T_STR_NULLPAD); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STR_NULLPAD, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_STR_NULLPAD); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STR_NULLPAD, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":113 - * STR_NULLTERM = H5T_STR_NULLTERM -@@ -17207,10 +18471,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * # Enumeration H5T_norm_t - */ -- __pyx_t_5 = PyInt_FromLong(H5T_STR_SPACEPAD); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STR_SPACEPAD, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_STR_SPACEPAD); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STR_SPACEPAD, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":116 - * -@@ -17219,10 +18483,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * NORM_MSBSET = H5T_NORM_MSBSET - * NORM_NONE = H5T_NORM_NONE - */ -- __pyx_t_5 = PyInt_FromLong(H5T_NORM_IMPLIED); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NORM_IMPLIED, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_NORM_IMPLIED); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NORM_IMPLIED, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":117 - * # Enumeration H5T_norm_t -@@ -17231,10 +18495,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * NORM_NONE = H5T_NORM_NONE - * - */ -- __pyx_t_5 = PyInt_FromLong(H5T_NORM_MSBSET); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NORM_MSBSET, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_NORM_MSBSET); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NORM_MSBSET, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":118 - * NORM_IMPLIED = H5T_NORM_IMPLIED -@@ -17243,10 +18507,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * # Enumeration H5T_cset_t: - */ -- __pyx_t_5 = PyInt_FromLong(H5T_NORM_NONE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NORM_NONE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_NORM_NONE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NORM_NONE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":121 - * -@@ -17255,10 +18519,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * # Enumeration H5T_pad_t: - */ -- __pyx_t_5 = PyInt_FromLong(H5T_CSET_ASCII); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CSET_ASCII, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_CSET_ASCII); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CSET_ASCII, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":124 - * -@@ -17267,10 +18531,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * PAD_ONE = H5T_PAD_ONE - * PAD_BACKGROUND = H5T_PAD_BACKGROUND - */ -- __pyx_t_5 = PyInt_FromLong(H5T_PAD_ZERO); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__PAD_ZERO, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_PAD_ZERO); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__PAD_ZERO, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":125 - * # Enumeration H5T_pad_t: -@@ -17279,10 +18543,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * PAD_BACKGROUND = H5T_PAD_BACKGROUND - * - */ -- __pyx_t_5 = PyInt_FromLong(H5T_PAD_ONE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__PAD_ONE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_PAD_ONE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__PAD_ONE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":126 - * PAD_ZERO = H5T_PAD_ZERO -@@ -17291,10 +18555,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * if sys.byteorder == "little": # Custom python addition - */ -- __pyx_t_5 = PyInt_FromLong(H5T_PAD_BACKGROUND); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__PAD_BACKGROUND, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_PAD_BACKGROUND); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__PAD_BACKGROUND, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":128 - * PAD_BACKGROUND = H5T_PAD_BACKGROUND -@@ -17303,16 +18567,15 @@ PyMODINIT_FUNC PyInit_h5t(void) - * ORDER_NATIVE = H5T_ORDER_LE - * else: - */ -- __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__sys); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- __pyx_t_4 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__byteorder); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__sys); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -- __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)__pyx_n_s__little), Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__byteorder); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = PyObject_RichCompare(__pyx_t_5, ((PyObject *)__pyx_n_s__little), Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - - /* "h5py/h5t.pyx":129 -@@ -17322,11 +18585,11 @@ PyMODINIT_FUNC PyInit_h5t(void) - * else: - * ORDER_NATIVE = H5T_ORDER_BE - */ -- __pyx_t_5 = PyInt_FromLong(H5T_ORDER_LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_NATIVE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -- goto __pyx_L2; -+ __pyx_t_4 = PyInt_FromLong(H5T_ORDER_LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_NATIVE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ goto __pyx_L2; - } - /*else*/ { - -@@ -17337,10 +18600,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * # For conversion - */ -- __pyx_t_5 = PyInt_FromLong(H5T_ORDER_BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_NATIVE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_ORDER_BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_NATIVE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __pyx_L2:; - -@@ -17351,10 +18614,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * BKG_TEMP = H5T_BKG_TEMP - * BKG_YES = H5T_BKG_YES - */ -- __pyx_t_5 = PyInt_FromLong(H5T_BKG_NO); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__BKG_NO, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_BKG_NO); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__BKG_NO, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":135 - * # For conversion -@@ -17363,10 +18626,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * BKG_YES = H5T_BKG_YES - * - */ -- __pyx_t_5 = PyInt_FromLong(H5T_BKG_TEMP); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__BKG_TEMP, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_BKG_TEMP); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__BKG_TEMP, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":136 - * BKG_NO = H5T_BKG_NO -@@ -17375,10 +18638,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * # --- Built-in HDF5 datatypes ------------------------------------------------- - */ -- __pyx_t_5 = PyInt_FromLong(H5T_BKG_YES); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__BKG_YES, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_BKG_YES); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__BKG_YES, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":141 - * -@@ -17387,10 +18650,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * IEEE_F32BE = lockid(H5T_IEEE_F32BE) - * IEEE_F64LE = lockid(H5T_IEEE_F64LE) - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_IEEE_F32LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__IEEE_F32LE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_IEEE_F32LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__IEEE_F32LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":142 - * # IEEE floating-point -@@ -17399,10 +18662,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * IEEE_F64LE = lockid(H5T_IEEE_F64LE) - * IEEE_F64BE = lockid(H5T_IEEE_F64BE) - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_IEEE_F32BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__IEEE_F32BE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_IEEE_F32BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__IEEE_F32BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":143 - * IEEE_F32LE = lockid(H5T_IEEE_F32LE) -@@ -17411,10 +18674,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * IEEE_F64BE = lockid(H5T_IEEE_F64BE) - * - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_IEEE_F64LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__IEEE_F64LE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_IEEE_F64LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__IEEE_F64LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":144 - * IEEE_F32BE = lockid(H5T_IEEE_F32BE) -@@ -17423,10 +18686,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * # Signed 2's complement integer types - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_IEEE_F64BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__IEEE_F64BE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_IEEE_F64BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__IEEE_F64BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":147 - * -@@ -17435,10 +18698,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * STD_I16LE = lockid(H5T_STD_I16LE) - * STD_I32LE = lockid(H5T_STD_I32LE) - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I8LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I8LE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I8LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I8LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":148 - * # Signed 2's complement integer types -@@ -17447,10 +18710,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * STD_I32LE = lockid(H5T_STD_I32LE) - * STD_I64LE = lockid(H5T_STD_I64LE) - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I16LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I16LE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I16LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I16LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":149 - * STD_I8LE = lockid(H5T_STD_I8LE) -@@ -17459,10 +18722,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * STD_I64LE = lockid(H5T_STD_I64LE) - * - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I32LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I32LE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I32LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I32LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":150 - * STD_I16LE = lockid(H5T_STD_I16LE) -@@ -17471,10 +18734,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * STD_I8BE = lockid(H5T_STD_I8BE) - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I64LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I64LE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I64LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I64LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":152 - * STD_I64LE = lockid(H5T_STD_I64LE) -@@ -17483,10 +18746,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * STD_I16BE = lockid(H5T_STD_I16BE) - * STD_I32BE = lockid(H5T_STD_I32BE) - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I8BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I8BE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I8BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I8BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":153 - * -@@ -17495,10 +18758,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * STD_I32BE = lockid(H5T_STD_I32BE) - * STD_I64BE = lockid(H5T_STD_I64BE) - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I16BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I16BE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I16BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I16BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":154 - * STD_I8BE = lockid(H5T_STD_I8BE) -@@ -17507,10 +18770,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * STD_I64BE = lockid(H5T_STD_I64BE) - * - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I32BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I32BE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I32BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I32BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":155 - * STD_I16BE = lockid(H5T_STD_I16BE) -@@ -17519,10 +18782,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * # Unsigned integers - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I64BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I64BE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I64BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I64BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":158 - * -@@ -17531,10 +18794,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * STD_U16LE = lockid(H5T_STD_U16LE) - * STD_U32LE = lockid(H5T_STD_U32LE) - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U8LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U8LE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U8LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U8LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":159 - * # Unsigned integers -@@ -17543,10 +18806,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * STD_U32LE = lockid(H5T_STD_U32LE) - * STD_U64LE = lockid(H5T_STD_U64LE) - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U16LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U16LE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U16LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U16LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":160 - * STD_U8LE = lockid(H5T_STD_U8LE) -@@ -17555,10 +18818,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * STD_U64LE = lockid(H5T_STD_U64LE) - * - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U32LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U32LE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U32LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U32LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":161 - * STD_U16LE = lockid(H5T_STD_U16LE) -@@ -17567,10 +18830,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * STD_U8BE = lockid(H5T_STD_U8BE) - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U64LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U64LE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U64LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U64LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":163 - * STD_U64LE = lockid(H5T_STD_U64LE) -@@ -17579,10 +18842,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * STD_U16BE = lockid(H5T_STD_U16BE) - * STD_U32BE = lockid(H5T_STD_U32BE) - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U8BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U8BE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U8BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U8BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":164 - * -@@ -17591,10 +18854,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * STD_U32BE = lockid(H5T_STD_U32BE) - * STD_U64BE = lockid(H5T_STD_U64BE) - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U16BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U16BE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U16BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U16BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":165 - * STD_U8BE = lockid(H5T_STD_U8BE) -@@ -17603,10 +18866,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * STD_U64BE = lockid(H5T_STD_U64BE) - * - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U32BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U32BE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U32BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U32BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":166 - * STD_U16BE = lockid(H5T_STD_U16BE) -@@ -17615,10 +18878,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * # Native types by bytesize - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U64BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U64BE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U64BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U64BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":169 - * -@@ -17627,10 +18890,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * NATIVE_UINT8 = lockid(H5T_NATIVE_UINT8) - * NATIVE_INT16 = lockid(H5T_NATIVE_INT16) - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_INT8); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_INT8, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_INT8, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":170 - * # Native types by bytesize -@@ -17639,10 +18902,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * NATIVE_INT16 = lockid(H5T_NATIVE_INT16) - * NATIVE_UINT16 = lockid(H5T_NATIVE_UINT16) - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_UINT8); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_UINT8, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_UINT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_UINT8, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":171 - * NATIVE_INT8 = lockid(H5T_NATIVE_INT8) -@@ -17651,10 +18914,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * NATIVE_UINT16 = lockid(H5T_NATIVE_UINT16) - * NATIVE_INT32 = lockid(H5T_NATIVE_INT32) - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_INT16); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_INT16, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_INT16); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_INT16, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":172 - * NATIVE_UINT8 = lockid(H5T_NATIVE_UINT8) -@@ -17663,10 +18926,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * NATIVE_INT32 = lockid(H5T_NATIVE_INT32) - * NATIVE_UINT32 = lockid(H5T_NATIVE_UINT32) - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_UINT16); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_UINT16, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_UINT16); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_UINT16, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":173 - * NATIVE_INT16 = lockid(H5T_NATIVE_INT16) -@@ -17675,10 +18938,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * NATIVE_UINT32 = lockid(H5T_NATIVE_UINT32) - * NATIVE_INT64 = lockid(H5T_NATIVE_INT64) - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_INT32); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_INT32, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_INT32, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":174 - * NATIVE_UINT16 = lockid(H5T_NATIVE_UINT16) -@@ -17687,10 +18950,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * NATIVE_INT64 = lockid(H5T_NATIVE_INT64) - * NATIVE_UINT64 = lockid(H5T_NATIVE_UINT64) - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_UINT32); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_UINT32, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_UINT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_UINT32, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":175 - * NATIVE_INT32 = lockid(H5T_NATIVE_INT32) -@@ -17699,10 +18962,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * NATIVE_UINT64 = lockid(H5T_NATIVE_UINT64) - * NATIVE_FLOAT = lockid(H5T_NATIVE_FLOAT) - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_INT64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_INT64, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_INT64, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":176 - * NATIVE_UINT32 = lockid(H5T_NATIVE_UINT32) -@@ -17711,10 +18974,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * NATIVE_FLOAT = lockid(H5T_NATIVE_FLOAT) - * NATIVE_DOUBLE = lockid(H5T_NATIVE_DOUBLE) - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_UINT64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_UINT64, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_UINT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_UINT64, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":177 - * NATIVE_INT64 = lockid(H5T_NATIVE_INT64) -@@ -17723,10 +18986,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * NATIVE_DOUBLE = lockid(H5T_NATIVE_DOUBLE) - * - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_FLOAT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_FLOAT, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_FLOAT, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":178 - * NATIVE_UINT64 = lockid(H5T_NATIVE_UINT64) -@@ -17735,10 +18998,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * # Unix time types - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_DOUBLE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_DOUBLE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_DOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_DOUBLE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":181 - * -@@ -17747,10 +19010,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * UNIX_D64LE = lockid(H5T_UNIX_D64LE) - * UNIX_D32BE = lockid(H5T_UNIX_D32BE) - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_UNIX_D32LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__UNIX_D32LE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_UNIX_D32LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__UNIX_D32LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":182 - * # Unix time types -@@ -17759,10 +19022,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * UNIX_D32BE = lockid(H5T_UNIX_D32BE) - * UNIX_D64BE = lockid(H5T_UNIX_D64BE) - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_UNIX_D64LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__UNIX_D64LE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_UNIX_D64LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__UNIX_D64LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":183 - * UNIX_D32LE = lockid(H5T_UNIX_D32LE) -@@ -17771,10 +19034,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * UNIX_D64BE = lockid(H5T_UNIX_D64BE) - * - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_UNIX_D32BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__UNIX_D32BE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_UNIX_D32BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__UNIX_D32BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":184 - * UNIX_D64LE = lockid(H5T_UNIX_D64LE) -@@ -17783,10 +19046,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * # Reference types - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_UNIX_D64BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__UNIX_D64BE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_UNIX_D64BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__UNIX_D64BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":187 - * -@@ -17795,10 +19058,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * STD_REF_DSETREG = lockid(H5T_STD_REF_DSETREG) - * - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_REF_OBJ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_REF_OBJ, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_REF_OBJ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_REF_OBJ, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":188 - * # Reference types -@@ -17807,10 +19070,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * # Null terminated (C) and Fortran string types - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_REF_DSETREG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_REF_DSETREG, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_REF_DSETREG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_REF_DSETREG, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":191 - * -@@ -17819,10 +19082,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * FORTRAN_S1 = lockid(H5T_FORTRAN_S1) - * VARIABLE = H5T_VARIABLE - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_C_S1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__C_S1, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_C_S1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__C_S1, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":192 - * # Null terminated (C) and Fortran string types -@@ -17831,10 +19094,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * VARIABLE = H5T_VARIABLE - * - */ -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(H5T_FORTRAN_S1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FORTRAN_S1, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_FORTRAN_S1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FORTRAN_S1, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":193 - * C_S1 = lockid(H5T_C_S1) -@@ -17843,10 +19106,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * # Character sets - */ -- __pyx_t_5 = __Pyx_PyInt_FromSize_t(H5T_VARIABLE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__VARIABLE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __Pyx_PyInt_FromSize_t(H5T_VARIABLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__VARIABLE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":196 - * -@@ -17855,10 +19118,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * CSET_UTF8 = H5T_CSET_UTF8 - * - */ -- __pyx_t_5 = PyInt_FromLong(H5T_CSET_ASCII); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CSET_ASCII, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_CSET_ASCII); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CSET_ASCII, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":197 - * # Character sets -@@ -17867,10 +19130,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * # Custom Python object pointer type - */ -- __pyx_t_5 = PyInt_FromLong(H5T_CSET_UTF8); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CSET_UTF8, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyInt_FromLong(H5T_CSET_UTF8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CSET_UTF8, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":200 - * -@@ -17879,20 +19142,20 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * # Translation tables for HDF5 -> NumPy dtype conversion - */ -- __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s___conv); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- __pyx_t_4 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__get_python_obj); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s___conv); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -- __pyx_t_5 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__get_python_obj); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_7 = __Pyx_PyInt_from_py_hid_t(__pyx_t_5); if (unlikely((__pyx_t_7 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -- __pyx_t_5 = __pyx_f_4h5py_3h5t_lockid(__pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__PYTHON_OBJECT, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_7 = __Pyx_PyInt_from_py_hid_t(__pyx_t_4); if (unlikely((__pyx_t_7 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -+ __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(__pyx_t_7); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__PYTHON_OBJECT, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":203 - * -@@ -17901,25 +19164,25 @@ PyMODINIT_FUNC PyInit_h5t(void) - * cdef dict _sign_map = { H5T_SGN_NONE: 'u', H5T_SGN_2: 'i' } - * - */ -- __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -- __pyx_t_4 = PyInt_FromLong(H5T_ORDER_NONE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_t_4, ((PyObject *)__pyx_kp_s_49)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_ORDER_LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_t_4, ((PyObject *)__pyx_kp_s_50)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_ORDER_BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_t_4, ((PyObject *)__pyx_kp_s_51)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_GOTREF(((PyObject *)__pyx_v_4h5py_3h5t__order_map)); -+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __pyx_t_5 = PyInt_FromLong(H5T_ORDER_NONE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_t_5, ((PyObject *)__pyx_kp_s_50)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_ORDER_LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_t_5, ((PyObject *)__pyx_kp_s_51)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_ORDER_BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_t_5, ((PyObject *)__pyx_kp_s_52)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__order_map)); - __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__order_map)); -- __Pyx_GIVEREF(((PyObject *)__pyx_t_5)); -- __pyx_v_4h5py_3h5t__order_map = __pyx_t_5; -- __pyx_t_5 = 0; -+ __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); -+ __pyx_v_4h5py_3h5t__order_map = __pyx_t_4; -+ __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":204 - * # Translation tables for HDF5 -> NumPy dtype conversion -@@ -17928,21 +19191,21 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * - */ -- __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -- __pyx_t_4 = PyInt_FromLong(H5T_SGN_NONE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_t_4, ((PyObject *)__pyx_n_s__u)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_SGN_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_t_4, ((PyObject *)__pyx_n_s__i)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_GOTREF(((PyObject *)__pyx_v_4h5py_3h5t__sign_map)); -+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __pyx_t_5 = PyInt_FromLong(H5T_SGN_NONE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_t_5, ((PyObject *)__pyx_n_s__u)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_SGN_2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_t_5, ((PyObject *)__pyx_n_s__i)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__sign_map)); - __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__sign_map)); -- __Pyx_GIVEREF(((PyObject *)__pyx_t_5)); -- __pyx_v_4h5py_3h5t__sign_map = __pyx_t_5; -- __pyx_t_5 = 0; -+ __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); -+ __pyx_v_4h5py_3h5t__sign_map = __pyx_t_4; -+ __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":210 - * -@@ -17951,10 +19214,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * """(INT classtype, UINT size) => TypeID - * - */ -- __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_1create, NULL, __pyx_n_s_52); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__create, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_3create, NULL, __pyx_n_s_56); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__create, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":224 - * -@@ -17963,10 +19226,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * """(ObjectID group, STRING name) => TypeID - * - */ -- __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_2open, NULL, __pyx_n_s_52); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__open, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_5open, NULL, __pyx_n_s_56); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__open, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":232 - * -@@ -17975,10 +19238,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * """(TypeID base, TUPLE dimensions) => TypeArrayID - * - */ -- __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_3array_create, NULL, __pyx_n_s_52); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__array_create, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_7array_create, NULL, __pyx_n_s_56); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__array_create, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":253 - * -@@ -17987,10 +19250,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * """(TypeID base) => TypeID - * - */ -- __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_4enum_create, NULL, __pyx_n_s_52); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__enum_create, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_9enum_create, NULL, __pyx_n_s_56); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__enum_create, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":261 - * -@@ -17999,10 +19262,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * """(TypeID base) => TypeID - * - */ -- __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_5vlen_create, NULL, __pyx_n_s_52); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__vlen_create, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_11vlen_create, NULL, __pyx_n_s_56); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__vlen_create, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":272 - * -@@ -18011,10 +19274,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * """(STRING buf) => TypeID - * - */ -- __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_6decode, NULL, __pyx_n_s_52); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__decode, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_13decode, NULL, __pyx_n_s_56); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__decode, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":1164 - * # transient and unlocked. -@@ -18023,21 +19286,21 @@ PyMODINIT_FUNC PyInit_h5t(void) - * cdef dict _float_be = {4: H5T_IEEE_F32BE, 8: H5T_IEEE_F64BE} - * cdef dict _float_nt = {4: H5T_NATIVE_FLOAT, 8: H5T_NATIVE_DOUBLE} - */ -- __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -- __pyx_t_4 = PyInt_FromLong(H5T_IEEE_F32LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_4, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_IEEE_F64LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_8, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_GOTREF(((PyObject *)__pyx_v_4h5py_3h5t__float_le)); -+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __pyx_t_5 = PyInt_FromLong(H5T_IEEE_F32LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_IEEE_F64LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__float_le)); - __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__float_le)); -- __Pyx_GIVEREF(((PyObject *)__pyx_t_5)); -- __pyx_v_4h5py_3h5t__float_le = __pyx_t_5; -- __pyx_t_5 = 0; -+ __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); -+ __pyx_v_4h5py_3h5t__float_le = __pyx_t_4; -+ __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":1165 - * -@@ -18046,21 +19309,21 @@ PyMODINIT_FUNC PyInit_h5t(void) - * cdef dict _float_nt = {4: H5T_NATIVE_FLOAT, 8: H5T_NATIVE_DOUBLE} - * - */ -- __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -- __pyx_t_4 = PyInt_FromLong(H5T_IEEE_F32BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_4, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_IEEE_F64BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_8, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_GOTREF(((PyObject *)__pyx_v_4h5py_3h5t__float_be)); -+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __pyx_t_5 = PyInt_FromLong(H5T_IEEE_F32BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_IEEE_F64BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__float_be)); - __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__float_be)); -- __Pyx_GIVEREF(((PyObject *)__pyx_t_5)); -- __pyx_v_4h5py_3h5t__float_be = __pyx_t_5; -- __pyx_t_5 = 0; -+ __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); -+ __pyx_v_4h5py_3h5t__float_be = __pyx_t_4; -+ __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":1166 - * cdef dict _float_le = {4: H5T_IEEE_F32LE, 8: H5T_IEEE_F64LE} -@@ -18069,21 +19332,21 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * cdef dict _int_le = {1: H5T_STD_I8LE, 2: H5T_STD_I16LE, 4: H5T_STD_I32LE, 8: H5T_STD_I64LE} - */ -- __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -- __pyx_t_4 = PyInt_FromLong(H5T_NATIVE_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_4, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_NATIVE_DOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_8, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_GOTREF(((PyObject *)__pyx_v_4h5py_3h5t__float_nt)); -+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __pyx_t_5 = PyInt_FromLong(H5T_NATIVE_FLOAT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_NATIVE_DOUBLE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__float_nt)); - __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__float_nt)); -- __Pyx_GIVEREF(((PyObject *)__pyx_t_5)); -- __pyx_v_4h5py_3h5t__float_nt = __pyx_t_5; -- __pyx_t_5 = 0; -+ __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); -+ __pyx_v_4h5py_3h5t__float_nt = __pyx_t_4; -+ __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":1168 - * cdef dict _float_nt = {4: H5T_NATIVE_FLOAT, 8: H5T_NATIVE_DOUBLE} -@@ -18092,29 +19355,29 @@ PyMODINIT_FUNC PyInit_h5t(void) - * cdef dict _int_be = {1: H5T_STD_I8BE, 2: H5T_STD_I16BE, 4: H5T_STD_I32BE, 8: H5T_STD_I64BE} - * cdef dict _int_nt = {1: H5T_NATIVE_INT8, 2: H5T_NATIVE_INT16, 4: H5T_NATIVE_INT32, 8: H5T_NATIVE_INT64} - */ -- __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -- __pyx_t_4 = PyInt_FromLong(H5T_STD_I8LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_1, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_STD_I16LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_2, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_STD_I32LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_4, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_STD_I64LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_8, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_GOTREF(((PyObject *)__pyx_v_4h5py_3h5t__int_le)); -+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __pyx_t_5 = PyInt_FromLong(H5T_STD_I8LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_1, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_STD_I16LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_2, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_STD_I32LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_STD_I64LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__int_le)); - __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__int_le)); -- __Pyx_GIVEREF(((PyObject *)__pyx_t_5)); -- __pyx_v_4h5py_3h5t__int_le = __pyx_t_5; -- __pyx_t_5 = 0; -+ __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); -+ __pyx_v_4h5py_3h5t__int_le = __pyx_t_4; -+ __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":1169 - * -@@ -18123,29 +19386,29 @@ PyMODINIT_FUNC PyInit_h5t(void) - * cdef dict _int_nt = {1: H5T_NATIVE_INT8, 2: H5T_NATIVE_INT16, 4: H5T_NATIVE_INT32, 8: H5T_NATIVE_INT64} - * - */ -- __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -- __pyx_t_4 = PyInt_FromLong(H5T_STD_I8BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_1, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_STD_I16BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_2, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_STD_I32BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_4, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_STD_I64BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_8, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_GOTREF(((PyObject *)__pyx_v_4h5py_3h5t__int_be)); -+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __pyx_t_5 = PyInt_FromLong(H5T_STD_I8BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_1, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_STD_I16BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_2, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_STD_I32BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_STD_I64BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__int_be)); - __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__int_be)); -- __Pyx_GIVEREF(((PyObject *)__pyx_t_5)); -- __pyx_v_4h5py_3h5t__int_be = __pyx_t_5; -- __pyx_t_5 = 0; -+ __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); -+ __pyx_v_4h5py_3h5t__int_be = __pyx_t_4; -+ __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":1170 - * cdef dict _int_le = {1: H5T_STD_I8LE, 2: H5T_STD_I16LE, 4: H5T_STD_I32LE, 8: H5T_STD_I64LE} -@@ -18154,29 +19417,29 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * cdef dict _uint_le = {1: H5T_STD_U8LE, 2: H5T_STD_U16LE, 4: H5T_STD_U32LE, 8: H5T_STD_U64LE} - */ -- __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -- __pyx_t_4 = PyInt_FromLong(H5T_NATIVE_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_1, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_NATIVE_INT16); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_2, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_NATIVE_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_4, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_NATIVE_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_8, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_GOTREF(((PyObject *)__pyx_v_4h5py_3h5t__int_nt)); -+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __pyx_t_5 = PyInt_FromLong(H5T_NATIVE_INT8); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_1, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_NATIVE_INT16); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_2, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_NATIVE_INT32); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_NATIVE_INT64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__int_nt)); - __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__int_nt)); -- __Pyx_GIVEREF(((PyObject *)__pyx_t_5)); -- __pyx_v_4h5py_3h5t__int_nt = __pyx_t_5; -- __pyx_t_5 = 0; -+ __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); -+ __pyx_v_4h5py_3h5t__int_nt = __pyx_t_4; -+ __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":1172 - * cdef dict _int_nt = {1: H5T_NATIVE_INT8, 2: H5T_NATIVE_INT16, 4: H5T_NATIVE_INT32, 8: H5T_NATIVE_INT64} -@@ -18185,29 +19448,29 @@ PyMODINIT_FUNC PyInit_h5t(void) - * cdef dict _uint_be = {1: H5T_STD_U8BE, 2: H5T_STD_U16BE, 4: H5T_STD_U32BE, 8: H5T_STD_U64BE} - * cdef dict _uint_nt = {1: H5T_NATIVE_UINT8, 2: H5T_NATIVE_UINT16, 4: H5T_NATIVE_UINT32, 8: H5T_NATIVE_UINT64} - */ -- __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -- __pyx_t_4 = PyInt_FromLong(H5T_STD_U8LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_1, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_STD_U16LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_2, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_STD_U32LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_4, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_STD_U64LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_8, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_GOTREF(((PyObject *)__pyx_v_4h5py_3h5t__uint_le)); -+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __pyx_t_5 = PyInt_FromLong(H5T_STD_U8LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_1, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_STD_U16LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_2, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_STD_U32LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_STD_U64LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__uint_le)); - __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__uint_le)); -- __Pyx_GIVEREF(((PyObject *)__pyx_t_5)); -- __pyx_v_4h5py_3h5t__uint_le = __pyx_t_5; -- __pyx_t_5 = 0; -+ __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); -+ __pyx_v_4h5py_3h5t__uint_le = __pyx_t_4; -+ __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":1173 - * -@@ -18216,29 +19479,29 @@ PyMODINIT_FUNC PyInit_h5t(void) - * cdef dict _uint_nt = {1: H5T_NATIVE_UINT8, 2: H5T_NATIVE_UINT16, 4: H5T_NATIVE_UINT32, 8: H5T_NATIVE_UINT64} - * - */ -- __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -- __pyx_t_4 = PyInt_FromLong(H5T_STD_U8BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_1, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_STD_U16BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_2, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_STD_U32BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_4, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_STD_U64BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_8, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_GOTREF(((PyObject *)__pyx_v_4h5py_3h5t__uint_be)); -+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __pyx_t_5 = PyInt_FromLong(H5T_STD_U8BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_1, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_STD_U16BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_2, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_STD_U32BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_STD_U64BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__uint_be)); - __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__uint_be)); -- __Pyx_GIVEREF(((PyObject *)__pyx_t_5)); -- __pyx_v_4h5py_3h5t__uint_be = __pyx_t_5; -- __pyx_t_5 = 0; -+ __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); -+ __pyx_v_4h5py_3h5t__uint_be = __pyx_t_4; -+ __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":1174 - * cdef dict _uint_le = {1: H5T_STD_U8LE, 2: H5T_STD_U16LE, 4: H5T_STD_U32LE, 8: H5T_STD_U64LE} -@@ -18247,29 +19510,29 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * cdef TypeFloatID _c_float(dtype dt): - */ -- __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -- __pyx_t_4 = PyInt_FromLong(H5T_NATIVE_UINT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_1, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_NATIVE_UINT16); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_2, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_NATIVE_UINT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_4, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __pyx_t_4 = PyInt_FromLong(H5T_NATIVE_UINT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_4); -- if (PyDict_SetItem(__pyx_t_5, __pyx_int_8, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; -- __Pyx_GOTREF(((PyObject *)__pyx_v_4h5py_3h5t__uint_nt)); -+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ __pyx_t_5 = PyInt_FromLong(H5T_NATIVE_UINT8); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_1, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_NATIVE_UINT16); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_2, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_NATIVE_UINT32); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_5 = PyInt_FromLong(H5T_NATIVE_UINT64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_5); -+ if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__uint_nt)); - __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__uint_nt)); -- __Pyx_GIVEREF(((PyObject *)__pyx_t_5)); -- __pyx_v_4h5py_3h5t__uint_nt = __pyx_t_5; -- __pyx_t_5 = 0; -+ __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); -+ __pyx_v_4h5py_3h5t__uint_nt = __pyx_t_4; -+ __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":1441 - * raise TypeError("No conversion path for dtype: %s" % repr(dt)) -@@ -18278,10 +19541,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * """ Create a new h5py "special" type. Only one keyword may be given. - * - */ -- __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_8special_dtype, NULL, __pyx_n_s_52); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__special_dtype, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_17special_dtype, NULL, __pyx_n_s_56); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__special_dtype, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":1494 - * raise TypeError('Unknown special type "%s"' % name) -@@ -18290,10 +19553,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * """ Check a dtype for h5py special type "hint" information. Only one - * keyword may be given. - */ -- __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_9check_dtype, NULL, __pyx_n_s_52); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__check_dtype, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_19check_dtype, NULL, __pyx_n_s_56); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__check_dtype, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":1533 - * return None -@@ -18302,10 +19565,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * ndarray buf not None, ndarray bkg=None, ObjectID dxpl=None): - * """ (TypeID src, TypeID dst, UINT n, NDARRAY buf, NDARRAY bkg=None, - */ -- __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_10convert, NULL, __pyx_n_s_52); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__convert, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_21convert, NULL, __pyx_n_s_56); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__convert, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":1554 - * H5Tconvert(src.id, dst.id, n, buf_, bkg_, pdefault(dxpl)) -@@ -18314,10 +19577,10 @@ PyMODINIT_FUNC PyInit_h5t(void) - * """ (TypeID src, TypeID dst) => TUPLE or None - * - */ -- __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_11find, NULL, __pyx_n_s_52); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__find, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_23find, NULL, __pyx_n_s_56); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__find, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":1577 - * # Deprecated functions -@@ -18326,20 +19589,20 @@ PyMODINIT_FUNC PyInit_h5t(void) - * - * cpdef dtype py_new_enum(object dt_in, dict enum_vals): - */ -- __pyx_t_5 = __Pyx_Import(((PyObject *)__pyx_n_s__warnings), 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(__pyx_t_5); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__warnings, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; -+ __pyx_t_4 = __Pyx_Import(((PyObject *)__pyx_n_s__warnings), 0, -1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(__pyx_t_4); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__warnings, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "h5py/h5t.pyx":1 - * #+ # <<<<<<<<<<<<<< - * # - * # This file is part of h5py, a low-level Python interface to the HDF5 library. - */ -- __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_GOTREF(((PyObject *)__pyx_t_5)); -- if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_5)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -- __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; -+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_GOTREF(((PyObject *)__pyx_t_4)); -+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_4)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} -+ __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); -@@ -18348,7 +19611,7 @@ PyMODINIT_FUNC PyInit_h5t(void) - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - if (__pyx_m) { -- __Pyx_AddTraceback("init h5py.h5t"); -+ __Pyx_AddTraceback("init h5py.h5t", __pyx_clineno, __pyx_lineno, __pyx_filename); - Py_DECREF(__pyx_m); __pyx_m = 0; - } else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_ImportError, "init h5py.h5t"); -@@ -18363,12 +19626,34 @@ PyMODINIT_FUNC PyInit_h5t(void) - } - - /* Runtime support code */ -+#if CYTHON_REFNANNY -+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { -+ PyObject *m = NULL, *p = NULL; -+ void *r = NULL; -+ m = PyImport_ImportModule((char *)modname); -+ if (!m) goto end; -+ p = PyObject_GetAttrString(m, (char *)"RefNannyAPI"); -+ if (!p) goto end; -+ r = PyLong_AsVoidPtr(p); -+end: -+ Py_XDECREF(p); -+ Py_XDECREF(m); -+ return (__Pyx_RefNannyAPIStruct *)r; -+} -+#endif /* CYTHON_REFNANNY */ - - static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) { - PyObject *result; - result = PyObject_GetAttr(dict, name); -- if (!result) -- PyErr_SetObject(PyExc_NameError, name); -+ if (!result) { -+ if (dict != __pyx_b) { -+ PyErr_Clear(); -+ result = PyObject_GetAttr(__pyx_b, name); -+ } -+ if (!result) { -+ PyErr_SetObject(PyExc_NameError, name); -+ } -+ } - return result; - } - -@@ -18392,8 +19677,7 @@ static void __Pyx_RaiseArgtupleInvalid( - Py_ssize_t num_found) - { - Py_ssize_t num_expected; -- const char *number, *more_or_less; -- -+ const char *more_or_less; - if (num_found < num_min) { - num_expected = num_min; - more_or_less = "at least"; -@@ -18404,14 +19688,10 @@ static void __Pyx_RaiseArgtupleInvalid( - if (exact) { - more_or_less = "exactly"; - } -- number = (num_expected == 1) ? "" : "s"; - PyErr_Format(PyExc_TypeError, -- #if PY_VERSION_HEX < 0x02050000 -- "%s() takes %s %d positional argument%s (%d given)", -- #else -- "%s() takes %s %zd positional argument%s (%zd given)", -- #endif -- func_name, more_or_less, num_expected, number, num_found); -+ "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)", -+ func_name, more_or_less, num_expected, -+ (num_expected == 1) ? "" : "s", num_found); - } - - static void __Pyx_RaiseDoubleKeywordsError( -@@ -18423,7 +19703,7 @@ static void __Pyx_RaiseDoubleKeywordsErr - "%s() got multiple values for keyword argument '%U'", func_name, kw_name); - #else - "%s() got multiple values for keyword argument '%s'", func_name, -- PyString_AS_STRING(kw_name)); -+ PyString_AsString(kw_name)); - #endif - } - -@@ -18439,55 +19719,77 @@ static int __Pyx_ParseOptionalKeywords( - Py_ssize_t pos = 0; - PyObject*** name; - PyObject*** first_kw_arg = argnames + num_pos_args; -- - while (PyDict_Next(kwds, &pos, &key, &value)) { - name = first_kw_arg; - while (*name && (**name != key)) name++; - if (*name) { - values[name-argnames] = value; -- } else { -- #if PY_MAJOR_VERSION < 3 -- if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key))) { -- #else -- if (unlikely(!PyUnicode_CheckExact(key)) && unlikely(!PyUnicode_Check(key))) { -- #endif -- goto invalid_keyword_type; -- } else { -- for (name = first_kw_arg; *name; name++) { -- #if PY_MAJOR_VERSION >= 3 -- if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) && -- PyUnicode_Compare(**name, key) == 0) break; -- #else -- if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) && -- _PyString_Eq(**name, key)) break; -- #endif -- } -- if (*name) { -+ continue; -+ } -+ name = first_kw_arg; -+ #if PY_MAJOR_VERSION < 3 -+ if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) { -+ while (*name) { -+ if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) -+ && _PyString_Eq(**name, key)) { - values[name-argnames] = value; -- } else { -- /* unexpected keyword found */ -- for (name=argnames; name != first_kw_arg; name++) { -- if (**name == key) goto arg_passed_twice; -- #if PY_MAJOR_VERSION >= 3 -- if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) && -- PyUnicode_Compare(**name, key) == 0) goto arg_passed_twice; -- #else -- if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) && -- _PyString_Eq(**name, key)) goto arg_passed_twice; -- #endif -- } -- if (kwds2) { -- if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; -- } else { -- goto invalid_keyword; -+ break; -+ } -+ name++; -+ } -+ if (*name) continue; -+ else { -+ PyObject*** argname = argnames; -+ while (argname != first_kw_arg) { -+ if ((**argname == key) || ( -+ (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) -+ && _PyString_Eq(**argname, key))) { -+ goto arg_passed_twice; - } -+ argname++; -+ } -+ } -+ } else -+ #endif -+ if (likely(PyUnicode_Check(key))) { -+ while (*name) { -+ int cmp = (**name == key) ? 0 : -+ #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 -+ (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : -+ #endif -+ PyUnicode_Compare(**name, key); -+ if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; -+ if (cmp == 0) { -+ values[name-argnames] = value; -+ break; -+ } -+ name++; -+ } -+ if (*name) continue; -+ else { -+ PyObject*** argname = argnames; -+ while (argname != first_kw_arg) { -+ int cmp = (**argname == key) ? 0 : -+ #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 -+ (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : -+ #endif -+ PyUnicode_Compare(**argname, key); -+ if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; -+ if (cmp == 0) goto arg_passed_twice; -+ argname++; - } - } -+ } else -+ goto invalid_keyword_type; -+ if (kwds2) { -+ if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; -+ } else { -+ goto invalid_keyword; - } - } - return 0; - arg_passed_twice: -- __Pyx_RaiseDoubleKeywordsError(function_name, **name); -+ __Pyx_RaiseDoubleKeywordsError(function_name, key); - goto bad; - invalid_keyword_type: - PyErr_Format(PyExc_TypeError, -@@ -18507,9 +19809,9 @@ bad: - } - - static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); -- - tmp_type = tstate->curexc_type; - tmp_value = tstate->curexc_value; - tmp_tb = tstate->curexc_traceback; -@@ -18519,54 +19821,60 @@ static CYTHON_INLINE void __Pyx_ErrResto - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -+#else -+ PyErr_Restore(type, value, tb); -+#endif - } -- - static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyThreadState *tstate = PyThreadState_GET(); - *type = tstate->curexc_type; - *value = tstate->curexc_value; - *tb = tstate->curexc_traceback; -- - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -+#else -+ PyErr_Fetch(type, value, tb); -+#endif - } - -- - #if PY_MAJOR_VERSION < 3 --static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { -+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, -+ CYTHON_UNUSED PyObject *cause) { - Py_XINCREF(type); -- Py_XINCREF(value); -- Py_XINCREF(tb); -- /* First, check the traceback argument, replacing None with NULL. */ -- if (tb == Py_None) { -- Py_DECREF(tb); -- tb = 0; -- } -- else if (tb != NULL && !PyTraceBack_Check(tb)) { -- PyErr_SetString(PyExc_TypeError, -- "raise: arg 3 must be a traceback or None"); -- goto raise_error; -- } -- /* Next, replace a missing value with None */ -- if (value == NULL) { -- value = Py_None; -+ if (!value || value == Py_None) -+ value = NULL; -+ else - Py_INCREF(value); -+ if (!tb || tb == Py_None) -+ tb = NULL; -+ else { -+ Py_INCREF(tb); -+ if (!PyTraceBack_Check(tb)) { -+ PyErr_SetString(PyExc_TypeError, -+ "raise: arg 3 must be a traceback or None"); -+ goto raise_error; -+ } - } - #if PY_VERSION_HEX < 0x02050000 -- if (!PyClass_Check(type)) -+ if (PyClass_Check(type)) { - #else -- if (!PyType_Check(type)) -+ if (PyType_Check(type)) { - #endif -- { -- /* Raising an instance. The value should be a dummy. */ -- if (value != Py_None) { -+#if CYTHON_COMPILING_IN_PYPY -+ if (!value) { -+ Py_INCREF(Py_None); -+ value = Py_None; -+ } -+#endif -+ PyErr_NormalizeException(&type, &value, &tb); -+ } else { -+ if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto raise_error; - } -- /* Normalize to raise , */ -- Py_DECREF(value); - value = type; - #if PY_VERSION_HEX < 0x02050000 - if (PyInstance_Check(type)) { -@@ -18589,7 +19897,6 @@ static void __Pyx_Raise(PyObject *type, - } - #endif - } -- - __Pyx_ErrRestore(type, value, tb); - return; - raise_error: -@@ -18598,10 +19905,9 @@ raise_error: - Py_XDECREF(tb); - return; - } -- - #else /* Python 3+ */ -- --static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { -+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { -+ PyObject* owned_instance = NULL; - if (tb == Py_None) { - tb = 0; - } else if (tb && !PyTraceBack_Check(tb)) { -@@ -18611,7 +19917,6 @@ static void __Pyx_Raise(PyObject *type, - } - if (value == Py_None) - value = 0; -- - if (PyExceptionInstance_Check(type)) { - if (value) { - PyErr_SetString(PyExc_TypeError, -@@ -18620,14 +19925,55 @@ static void __Pyx_Raise(PyObject *type, - } - value = type; - type = (PyObject*) Py_TYPE(value); -- } else if (!PyExceptionClass_Check(type)) { -+ } else if (PyExceptionClass_Check(type)) { -+ PyObject *args; -+ if (!value) -+ args = PyTuple_New(0); -+ else if (PyTuple_Check(value)) { -+ Py_INCREF(value); -+ args = value; -+ } -+ else -+ args = PyTuple_Pack(1, value); -+ if (!args) -+ goto bad; -+ owned_instance = PyEval_CallObject(type, args); -+ Py_DECREF(args); -+ if (!owned_instance) -+ goto bad; -+ value = owned_instance; -+ if (!PyExceptionInstance_Check(value)) { -+ PyErr_Format(PyExc_TypeError, -+ "calling %R should have returned an instance of " -+ "BaseException, not %R", -+ type, Py_TYPE(value)); -+ goto bad; -+ } -+ } else { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto bad; - } -- -+ if (cause && cause != Py_None) { -+ PyObject *fixed_cause; -+ if (PyExceptionClass_Check(cause)) { -+ fixed_cause = PyObject_CallObject(cause, NULL); -+ if (fixed_cause == NULL) -+ goto bad; -+ } -+ else if (PyExceptionInstance_Check(cause)) { -+ fixed_cause = cause; -+ Py_INCREF(fixed_cause); -+ } -+ else { -+ PyErr_SetString(PyExc_TypeError, -+ "exception causes must derive from " -+ "BaseException"); -+ goto bad; -+ } -+ PyException_SetCause(value, fixed_cause); -+ } - PyErr_SetObject(type, value); -- - if (tb) { - PyThreadState *tstate = PyThreadState_GET(); - PyObject* tmp_tb = tstate->curexc_traceback; -@@ -18637,8 +19983,8 @@ static void __Pyx_Raise(PyObject *type, - Py_XDECREF(tmp_tb); - } - } -- - bad: -+ Py_XDECREF(owned_instance); - return; - } - #endif -@@ -18665,6 +20011,7 @@ static int __Pyx_ArgTypeTest(PyObject *o - - static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) { - PyObject *local_type, *local_value, *local_tb; -+#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); - local_type = tstate->curexc_type; -@@ -18673,19 +20020,27 @@ static int __Pyx_GetException(PyObject * - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -+#else -+ PyErr_Fetch(&local_type, &local_value, &local_tb); -+#endif - PyErr_NormalizeException(&local_type, &local_value, &local_tb); -+#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(tstate->curexc_type)) -+#else -+ if (unlikely(PyErr_Occurred())) -+#endif - goto bad; - #if PY_MAJOR_VERSION >= 3 - if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) - goto bad; - #endif -- *type = local_type; -- *value = local_value; -- *tb = local_tb; - Py_INCREF(local_type); - Py_INCREF(local_value); - Py_INCREF(local_tb); -+ *type = local_type; -+ *value = local_value; -+ *tb = local_tb; -+#if CYTHON_COMPILING_IN_CPYTHON - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; -@@ -18693,10 +20048,13 @@ static int __Pyx_GetException(PyObject * - tstate->exc_value = local_value; - tstate->exc_traceback = local_tb; - /* Make sure tstate is in a consistent state when we XDECREF -- these objects (XDECREF may run arbitrary code). */ -+ these objects (DECREF may run arbitrary code). */ - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -+#else -+ PyErr_SetExcInfo(local_type, local_value, local_tb); -+#endif - return 0; - bad: - *type = 0; -@@ -18708,52 +20066,214 @@ bad: - return -1; - } - -+static CYTHON_INLINE int __Pyx_IterFinish(void) { -+#if CYTHON_COMPILING_IN_CPYTHON -+ PyThreadState *tstate = PyThreadState_GET(); -+ PyObject* exc_type = tstate->curexc_type; -+ if (unlikely(exc_type)) { -+ if (likely(exc_type == PyExc_StopIteration) || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)) { -+ PyObject *exc_value, *exc_tb; -+ exc_value = tstate->curexc_value; -+ exc_tb = tstate->curexc_traceback; -+ tstate->curexc_type = 0; -+ tstate->curexc_value = 0; -+ tstate->curexc_traceback = 0; -+ Py_DECREF(exc_type); -+ Py_XDECREF(exc_value); -+ Py_XDECREF(exc_tb); -+ return 0; -+ } else { -+ return -1; -+ } -+ } -+ return 0; -+#else -+ if (unlikely(PyErr_Occurred())) { -+ if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) { -+ PyErr_Clear(); -+ return 0; -+ } else { -+ return -1; -+ } -+ } -+ return 0; -+#endif -+} - --static CYTHON_INLINE void __Pyx_RaiseNoneIndexingError(void) { -- PyErr_SetString(PyExc_TypeError, "'NoneType' object is unsubscriptable"); -+static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { -+ PyErr_Format(PyExc_ValueError, -+ "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); - } - -+static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) { -+ if (unlikely(retval)) { -+ Py_DECREF(retval); -+ __Pyx_RaiseTooManyValuesError(expected); -+ return -1; -+ } else { -+ return __Pyx_IterFinish(); -+ } -+ return 0; -+} - - static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { - PyErr_Format(PyExc_ValueError, -- #if PY_VERSION_HEX < 0x02050000 -- "need more than %d value%s to unpack", (int)index, -- #else -- "need more than %zd value%s to unpack", index, -- #endif -- (index == 1) ? "" : "s"); -+ "need more than %" CYTHON_FORMAT_SSIZE_T "d value%s to unpack", -+ index, (index == 1) ? "" : "s"); - } - --static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { -- PyErr_Format(PyExc_ValueError, -- #if PY_VERSION_HEX < 0x02050000 -- "too many values to unpack (expected %d)", (int)expected); -- #else -- "too many values to unpack (expected %zd)", expected); -- #endif -+static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) { -+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); -+} -+ -+static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) { -+ if (t == Py_None) { -+ __Pyx_RaiseNoneNotIterableError(); -+ } else if (PyTuple_GET_SIZE(t) < index) { -+ __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(t)); -+ } else { -+ __Pyx_RaiseTooManyValuesError(index); -+ } - } - --static PyObject *__Pyx_UnpackItem(PyObject *iter, Py_ssize_t index) { -- PyObject *item; -- if (!(item = PyIter_Next(iter))) { -- if (!PyErr_Occurred()) { -- __Pyx_RaiseNeedMoreValuesError(index); -+static CYTHON_INLINE int __Pyx_unpack_tuple2(PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2, -+ int is_tuple, int has_known_size, int decref_tuple) { -+ Py_ssize_t index; -+ PyObject *value1 = NULL, *value2 = NULL, *iter = NULL; -+ if (!is_tuple && unlikely(!PyTuple_Check(tuple))) { -+ iternextfunc iternext; -+ iter = PyObject_GetIter(tuple); -+ if (unlikely(!iter)) goto bad; -+ if (decref_tuple) { Py_DECREF(tuple); tuple = NULL; } -+ iternext = Py_TYPE(iter)->tp_iternext; -+ value1 = iternext(iter); if (unlikely(!value1)) { index = 0; goto unpacking_failed; } -+ value2 = iternext(iter); if (unlikely(!value2)) { index = 1; goto unpacking_failed; } -+ if (!has_known_size && unlikely(__Pyx_IternextUnpackEndCheck(iternext(iter), 2))) goto bad; -+ Py_DECREF(iter); -+ } else { -+ if (!has_known_size && unlikely(PyTuple_GET_SIZE(tuple) != 2)) { -+ __Pyx_UnpackTupleError(tuple, 2); -+ goto bad; - } -+#if CYTHON_COMPILING_IN_PYPY -+ value1 = PySequence_ITEM(tuple, 0); -+ if (unlikely(!value1)) goto bad; -+ value2 = PySequence_ITEM(tuple, 1); -+ if (unlikely(!value2)) goto bad; -+#else -+ value1 = PyTuple_GET_ITEM(tuple, 0); -+ value2 = PyTuple_GET_ITEM(tuple, 1); -+ Py_INCREF(value1); -+ Py_INCREF(value2); -+#endif -+ if (decref_tuple) { Py_DECREF(tuple); } - } -- return item; -+ *pvalue1 = value1; -+ *pvalue2 = value2; -+ return 0; -+unpacking_failed: -+ if (!has_known_size && __Pyx_IterFinish() == 0) -+ __Pyx_RaiseNeedMoreValuesError(index); -+bad: -+ Py_XDECREF(iter); -+ Py_XDECREF(value1); -+ Py_XDECREF(value2); -+ if (decref_tuple) { Py_XDECREF(tuple); } -+ return -1; - } - --static int __Pyx_EndUnpack(PyObject *iter, Py_ssize_t expected) { -- PyObject *item; -- if ((item = PyIter_Next(iter))) { -- Py_DECREF(item); -- __Pyx_RaiseTooManyValuesError(expected); -- return -1; -+static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* iterable, int is_dict, PyObject* method_name, -+ Py_ssize_t* p_orig_length, int* p_source_is_dict) { -+ is_dict = is_dict || likely(PyDict_CheckExact(iterable)); -+ *p_source_is_dict = is_dict; -+#if !CYTHON_COMPILING_IN_PYPY -+ if (is_dict) { -+ *p_orig_length = PyDict_Size(iterable); -+ Py_INCREF(iterable); -+ return iterable; - } -- else if (!PyErr_Occurred()) -- return 0; -- else -- return -1; -+#endif -+ *p_orig_length = 0; -+ if (method_name) { -+ PyObject* iter; -+ iterable = PyObject_CallMethodObjArgs(iterable, method_name, NULL); -+ if (!iterable) -+ return NULL; -+#if !CYTHON_COMPILING_IN_PYPY -+ if (PyTuple_CheckExact(iterable) || PyList_CheckExact(iterable)) -+ return iterable; -+#endif -+ iter = PyObject_GetIter(iterable); -+ Py_DECREF(iterable); -+ return iter; -+ } -+ return PyObject_GetIter(iterable); -+} -+static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* iter_obj, Py_ssize_t orig_length, Py_ssize_t* ppos, -+ PyObject** pkey, PyObject** pvalue, PyObject** pitem, int source_is_dict) { -+ PyObject* next_item; -+#if !CYTHON_COMPILING_IN_PYPY -+ if (source_is_dict) { -+ PyObject *key, *value; -+ if (unlikely(orig_length != PyDict_Size(iter_obj))) { -+ PyErr_SetString(PyExc_RuntimeError, "dictionary changed size during iteration"); -+ return -1; -+ } -+ if (unlikely(!PyDict_Next(iter_obj, ppos, &key, &value))) { -+ return 0; -+ } -+ if (pitem) { -+ PyObject* tuple = PyTuple_New(2); -+ if (unlikely(!tuple)) { -+ return -1; -+ } -+ Py_INCREF(key); -+ Py_INCREF(value); -+ PyTuple_SET_ITEM(tuple, 0, key); -+ PyTuple_SET_ITEM(tuple, 1, value); -+ *pitem = tuple; -+ } else { -+ if (pkey) { -+ Py_INCREF(key); -+ *pkey = key; -+ } -+ if (pvalue) { -+ Py_INCREF(value); -+ *pvalue = value; -+ } -+ } -+ return 1; -+ } else if (PyTuple_CheckExact(iter_obj)) { -+ Py_ssize_t pos = *ppos; -+ if (unlikely(pos >= PyTuple_GET_SIZE(iter_obj))) return 0; -+ *ppos = pos + 1; -+ next_item = PyTuple_GET_ITEM(iter_obj, pos); -+ Py_INCREF(next_item); -+ } else if (PyList_CheckExact(iter_obj)) { -+ Py_ssize_t pos = *ppos; -+ if (unlikely(pos >= PyList_GET_SIZE(iter_obj))) return 0; -+ *ppos = pos + 1; -+ next_item = PyList_GET_ITEM(iter_obj, pos); -+ Py_INCREF(next_item); -+ } else -+#endif -+ { -+ next_item = PyIter_Next(iter_obj); -+ if (unlikely(!next_item)) { -+ return __Pyx_IterFinish(); -+ } -+ } -+ if (pitem) { -+ *pitem = next_item; -+ } else if (pkey && pvalue) { -+ if (__Pyx_unpack_tuple2(next_item, pkey, pvalue, source_is_dict, source_is_dict, 1)) -+ return -1; -+ } else if (pkey) { -+ *pkey = next_item; -+ } else { -+ *pvalue = next_item; -+ } -+ return 1; - } - - static CYTHON_INLINE int __Pyx_CheckKeywordStrings( -@@ -18763,13 +20283,17 @@ static CYTHON_INLINE int __Pyx_CheckKeyw - { - PyObject* key = 0; - Py_ssize_t pos = 0; -+#if CPYTHON_COMPILING_IN_PYPY -+ if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0)) -+ goto invalid_keyword; -+ return 1; -+#else - while (PyDict_Next(kwdict, &pos, &key, 0)) { - #if PY_MAJOR_VERSION < 3 - if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key))) -- #else -- if (unlikely(!PyUnicode_CheckExact(key)) && unlikely(!PyUnicode_Check(key))) - #endif -- goto invalid_keyword_type; -+ if (unlikely(!PyUnicode_Check(key))) -+ goto invalid_keyword_type; - } - if ((!kw_allowed) && unlikely(key)) - goto invalid_keyword; -@@ -18778,6 +20302,7 @@ invalid_keyword_type: - PyErr_Format(PyExc_TypeError, - "%s() keywords must be strings", function_name); - return 0; -+#endif - invalid_keyword: - PyErr_Format(PyExc_TypeError, - #if PY_MAJOR_VERSION < 3 -@@ -18790,7 +20315,33 @@ invalid_keyword: - return 0; - } - -+static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc) { -+ PyTypeObject* type = Py_TYPE(obj); -+ while (type && type->tp_dealloc != current_tp_dealloc) -+ type = type->tp_base; -+ if (type && type->tp_base) -+ type->tp_base->tp_dealloc(obj); -+} -+ -+static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse) { -+ PyTypeObject* type = Py_TYPE(obj); -+ while (type && type->tp_traverse != current_tp_traverse) -+ type = type->tp_base; -+ if (type && type->tp_base && type->tp_base->tp_traverse) -+ return type->tp_base->tp_traverse(obj, v, a); -+ return 0; -+} -+ -+static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) { -+ PyTypeObject* type = Py_TYPE(obj); -+ while (type && type->tp_clear != current_tp_clear) -+ type = type->tp_base; -+ if (type && type->tp_base && type->tp_base->tp_clear) -+ type->tp_base->tp_clear(obj); -+} -+ - static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyThreadState *tstate = PyThreadState_GET(); - *type = tstate->exc_type; - *value = tstate->exc_value; -@@ -18798,9 +20349,12 @@ static CYTHON_INLINE void __Pyx_Exceptio - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); -+#else -+ PyErr_GetExcInfo(type, value, tb); -+#endif - } -- - static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) { -+#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); - tmp_type = tstate->exc_type; -@@ -18812,9 +20366,12 @@ static void __Pyx_ExceptionReset(PyObjec - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -+#else -+ PyErr_SetExcInfo(type, value, tb); -+#endif - } - --static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) { -+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level) { - PyObject *py_import = 0; - PyObject *empty_list = 0; - PyObject *module = 0; -@@ -18838,8 +20395,44 @@ static PyObject *__Pyx_Import(PyObject * - empty_dict = PyDict_New(); - if (!empty_dict) - goto bad; -+ #if PY_VERSION_HEX >= 0x02050000 -+ { -+ #if PY_MAJOR_VERSION >= 3 -+ if (level == -1) { -+ if (strchr(__Pyx_MODULE_NAME, '.')) { -+ /* try package relative import first */ -+ PyObject *py_level = PyInt_FromLong(1); -+ if (!py_level) -+ goto bad; -+ module = PyObject_CallFunctionObjArgs(py_import, -+ name, global_dict, empty_dict, list, py_level, NULL); -+ Py_DECREF(py_level); -+ if (!module) { -+ if (!PyErr_ExceptionMatches(PyExc_ImportError)) -+ goto bad; -+ PyErr_Clear(); -+ } -+ } -+ level = 0; /* try absolute import on failure */ -+ } -+ #endif -+ if (!module) { -+ PyObject *py_level = PyInt_FromLong(level); -+ if (!py_level) -+ goto bad; -+ module = PyObject_CallFunctionObjArgs(py_import, -+ name, global_dict, empty_dict, list, py_level, NULL); -+ Py_DECREF(py_level); -+ } -+ } -+ #else -+ if (level>0) { -+ PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4."); -+ goto bad; -+ } - module = PyObject_CallFunctionObjArgs(py_import, - name, global_dict, empty_dict, list, NULL); -+ #endif - bad: - Py_XDECREF(empty_list); - Py_XDECREF(py_import); -@@ -18847,6 +20440,15 @@ bad: - return module; - } - -+static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name) { -+#if PY_MAJOR_VERSION < 3 -+ PyErr_Format(PyExc_ImportError, "cannot import name %.230s", -+ PyString_AsString(name)); -+#else -+ PyErr_Format(PyExc_ImportError, "cannot import name %S", name); -+#endif -+} -+ - static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject* x) { - const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0; - const int is_unsigned = const_zero < neg_one; -@@ -18876,6 +20478,10 @@ static CYTHON_INLINE hid_t __Pyx_PyInt_f - else - return (hid_t)__Pyx_PyInt_AsSignedLongLong(x); - } else { -+ #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) -+ PyErr_SetString(PyExc_RuntimeError, -+ "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -+ #else - hid_t val; - PyObject *v = __Pyx_PyNumber_Int(x); - #if PY_VERSION_HEX < 0x03000000 -@@ -18895,6 +20501,7 @@ static CYTHON_INLINE hid_t __Pyx_PyInt_f - if (likely(!ret)) - return val; - } -+ #endif - return (hid_t)-1; - } - } -@@ -18919,7 +20526,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyI - } else { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; -- return _PyLong_FromByteArray(bytes, sizeof(hid_t), -+ return _PyLong_FromByteArray(bytes, sizeof(hid_t), - little, !is_unsigned); - } - } -@@ -18944,7 +20551,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyI - } else { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; -- return _PyLong_FromByteArray(bytes, sizeof(hsize_t), -+ return _PyLong_FromByteArray(bytes, sizeof(hsize_t), - little, !is_unsigned); - } - } -@@ -19160,9 +20767,9 @@ static CYTHON_INLINE unsigned long __Pyx - "can't convert negative value to unsigned long"); - return (unsigned long)-1; - } -- return PyLong_AsUnsignedLong(x); -+ return (unsigned long)PyLong_AsUnsignedLong(x); - } else { -- return PyLong_AsLong(x); -+ return (unsigned long)PyLong_AsLong(x); - } - } else { - unsigned long val; -@@ -19195,9 +20802,9 @@ static CYTHON_INLINE unsigned PY_LONG_LO - "can't convert negative value to unsigned PY_LONG_LONG"); - return (unsigned PY_LONG_LONG)-1; - } -- return PyLong_AsUnsignedLongLong(x); -+ return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); - } else { -- return PyLong_AsLongLong(x); -+ return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x); - } - } else { - unsigned PY_LONG_LONG val; -@@ -19230,9 +20837,9 @@ static CYTHON_INLINE long __Pyx_PyInt_As - "can't convert negative value to long"); - return (long)-1; - } -- return PyLong_AsUnsignedLong(x); -+ return (long)PyLong_AsUnsignedLong(x); - } else { -- return PyLong_AsLong(x); -+ return (long)PyLong_AsLong(x); - } - } else { - long val; -@@ -19265,9 +20872,9 @@ static CYTHON_INLINE PY_LONG_LONG __Pyx_ - "can't convert negative value to PY_LONG_LONG"); - return (PY_LONG_LONG)-1; - } -- return PyLong_AsUnsignedLongLong(x); -+ return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); - } else { -- return PyLong_AsLongLong(x); -+ return (PY_LONG_LONG)PyLong_AsLongLong(x); - } - } else { - PY_LONG_LONG val; -@@ -19300,9 +20907,9 @@ static CYTHON_INLINE signed long __Pyx_P - "can't convert negative value to signed long"); - return (signed long)-1; - } -- return PyLong_AsUnsignedLong(x); -+ return (signed long)PyLong_AsUnsignedLong(x); - } else { -- return PyLong_AsLong(x); -+ return (signed long)PyLong_AsLong(x); - } - } else { - signed long val; -@@ -19335,9 +20942,9 @@ static CYTHON_INLINE signed PY_LONG_LONG - "can't convert negative value to signed PY_LONG_LONG"); - return (signed PY_LONG_LONG)-1; - } -- return PyLong_AsUnsignedLongLong(x); -+ return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); - } else { -- return PyLong_AsLongLong(x); -+ return (signed PY_LONG_LONG)PyLong_AsLongLong(x); - } - } else { - signed PY_LONG_LONG val; -@@ -19349,6 +20956,25 @@ static CYTHON_INLINE signed PY_LONG_LONG - } - } - -+static int __Pyx_check_binary_version(void) { -+ char ctversion[4], rtversion[4]; -+ PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION); -+ PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion()); -+ if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) { -+ char message[200]; -+ PyOS_snprintf(message, sizeof(message), -+ "compiletime version %s of module '%.100s' " -+ "does not match runtime version %s", -+ ctversion, __Pyx_MODULE_NAME, rtversion); -+ #if PY_VERSION_HEX < 0x02050000 -+ return PyErr_Warn(NULL, message); -+ #else -+ return PyErr_WarnEx(NULL, message, 1); -+ #endif -+ } -+ return 0; -+} -+ - static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig) { - PyObject *d = 0; - PyObject *cobj = 0; -@@ -19356,7 +20982,6 @@ static int __Pyx_ExportFunction(const ch - void (*fp)(void); - void *p; - } tmp; -- - d = PyObject_GetAttrString(__pyx_m, (char *)"__pyx_capi__"); - if (!d) { - PyErr_Clear(); -@@ -19386,24 +21011,36 @@ bad: - return -1; - } - -+#ifndef __PYX_HAVE_RT_ImportModule -+#define __PYX_HAVE_RT_ImportModule -+static PyObject *__Pyx_ImportModule(const char *name) { -+ PyObject *py_name = 0; -+ PyObject *py_module = 0; -+ py_name = __Pyx_PyIdentifier_FromString(name); -+ if (!py_name) -+ goto bad; -+ py_module = PyImport_Import(py_name); -+ Py_DECREF(py_name); -+ return py_module; -+bad: -+ Py_XDECREF(py_name); -+ return 0; -+} -+#endif -+ - #ifndef __PYX_HAVE_RT_ImportType - #define __PYX_HAVE_RT_ImportType - static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, -- long size, int strict) -+ size_t size, int strict) - { - PyObject *py_module = 0; - PyObject *result = 0; - PyObject *py_name = 0; - char warning[200]; -- - py_module = __Pyx_ImportModule(module_name); - if (!py_module) - goto bad; -- #if PY_MAJOR_VERSION < 3 -- py_name = PyString_FromString(class_name); -- #else -- py_name = PyUnicode_FromString(class_name); -- #endif -+ py_name = __Pyx_PyIdentifier_FromString(class_name); - if (!py_name) - goto bad; - result = PyObject_GetAttr(py_module, py_name); -@@ -19419,17 +21056,17 @@ static PyTypeObject *__Pyx_ImportType(co - module_name, class_name); - goto bad; - } -- if (!strict && ((PyTypeObject *)result)->tp_basicsize > size) { -+ if (!strict && (size_t)((PyTypeObject *)result)->tp_basicsize > size) { - PyOS_snprintf(warning, sizeof(warning), - "%s.%s size changed, may indicate binary incompatibility", - module_name, class_name); - #if PY_VERSION_HEX < 0x02050000 -- PyErr_Warn(NULL, warning); -+ if (PyErr_Warn(NULL, warning) < 0) goto bad; - #else -- PyErr_WarnEx(NULL, warning, 0); -+ if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; - #endif - } -- else if (((PyTypeObject *)result)->tp_basicsize != size) { -+ else if ((size_t)((PyTypeObject *)result)->tp_basicsize != size) { - PyErr_Format(PyExc_ValueError, - "%s.%s has the wrong size, try recompiling", - module_name, class_name); -@@ -19439,29 +21076,7 @@ static PyTypeObject *__Pyx_ImportType(co - bad: - Py_XDECREF(py_module); - Py_XDECREF(result); -- return 0; --} --#endif -- --#ifndef __PYX_HAVE_RT_ImportModule --#define __PYX_HAVE_RT_ImportModule --static PyObject *__Pyx_ImportModule(const char *name) { -- PyObject *py_name = 0; -- PyObject *py_module = 0; -- -- #if PY_MAJOR_VERSION < 3 -- py_name = PyString_FromString(name); -- #else -- py_name = PyUnicode_FromString(name); -- #endif -- if (!py_name) -- goto bad; -- py_module = PyImport_Import(py_name); -- Py_DECREF(py_name); -- return py_module; --bad: -- Py_XDECREF(py_name); -- return 0; -+ return NULL; - } - #endif - -@@ -19491,7 +21106,6 @@ static int __Pyx_ImportFunction(PyObject - void (*fp)(void); - void *p; - } tmp; -- - d = PyObject_GetAttrString(module, (char *)"__pyx_capi__"); - if (!d) - goto bad; -@@ -19502,7 +21116,7 @@ static int __Pyx_ImportFunction(PyObject - PyModule_GetName(module), funcname); - goto bad; - } --#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0) -+#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0) - if (!PyCapsule_IsValid(cobj, sig)) { - PyErr_Format(PyExc_TypeError, - "C function %s.%s has wrong signature (expected %s, got %s)", -@@ -19536,28 +21150,105 @@ bad: - } - #endif - -+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { -+ int start = 0, mid = 0, end = count - 1; -+ if (end >= 0 && code_line > entries[end].code_line) { -+ return count; -+ } -+ while (start < end) { -+ mid = (start + end) / 2; -+ if (code_line < entries[mid].code_line) { -+ end = mid; -+ } else if (code_line > entries[mid].code_line) { -+ start = mid + 1; -+ } else { -+ return mid; -+ } -+ } -+ if (code_line <= entries[mid].code_line) { -+ return mid; -+ } else { -+ return mid + 1; -+ } -+} -+static PyCodeObject *__pyx_find_code_object(int code_line) { -+ PyCodeObject* code_object; -+ int pos; -+ if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { -+ return NULL; -+ } -+ pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); -+ if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { -+ return NULL; -+ } -+ code_object = __pyx_code_cache.entries[pos].code_object; -+ Py_INCREF(code_object); -+ return code_object; -+} -+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { -+ int pos, i; -+ __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; -+ if (unlikely(!code_line)) { -+ return; -+ } -+ if (unlikely(!entries)) { -+ entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); -+ if (likely(entries)) { -+ __pyx_code_cache.entries = entries; -+ __pyx_code_cache.max_count = 64; -+ __pyx_code_cache.count = 1; -+ entries[0].code_line = code_line; -+ entries[0].code_object = code_object; -+ Py_INCREF(code_object); -+ } -+ return; -+ } -+ pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); -+ if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { -+ PyCodeObject* tmp = entries[pos].code_object; -+ entries[pos].code_object = code_object; -+ Py_DECREF(tmp); -+ return; -+ } -+ if (__pyx_code_cache.count == __pyx_code_cache.max_count) { -+ int new_max = __pyx_code_cache.max_count + 64; -+ entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( -+ __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry)); -+ if (unlikely(!entries)) { -+ return; -+ } -+ __pyx_code_cache.entries = entries; -+ __pyx_code_cache.max_count = new_max; -+ } -+ for (i=__pyx_code_cache.count; i>pos; i--) { -+ entries[i] = entries[i-1]; -+ } -+ entries[pos].code_line = code_line; -+ entries[pos].code_object = code_object; -+ __pyx_code_cache.count++; -+ Py_INCREF(code_object); -+} -+ - #include "compile.h" - #include "frameobject.h" - #include "traceback.h" -- --static void __Pyx_AddTraceback(const char *funcname) { -+static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( -+ const char *funcname, int c_line, -+ int py_line, const char *filename) { -+ PyCodeObject *py_code = 0; - PyObject *py_srcfile = 0; - PyObject *py_funcname = 0; -- PyObject *py_globals = 0; -- PyCodeObject *py_code = 0; -- PyFrameObject *py_frame = 0; -- - #if PY_MAJOR_VERSION < 3 -- py_srcfile = PyString_FromString(__pyx_filename); -+ py_srcfile = PyString_FromString(filename); - #else -- py_srcfile = PyUnicode_FromString(__pyx_filename); -+ py_srcfile = PyUnicode_FromString(filename); - #endif - if (!py_srcfile) goto bad; -- if (__pyx_clineno) { -+ if (c_line) { - #if PY_MAJOR_VERSION < 3 -- py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno); -+ py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - #else -- py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno); -+ py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - #endif - } - else { -@@ -19568,28 +21259,45 @@ static void __Pyx_AddTraceback(const cha - #endif - } - if (!py_funcname) goto bad; -- py_globals = PyModule_GetDict(__pyx_m); -- if (!py_globals) goto bad; -- py_code = PyCode_New( -+ py_code = __Pyx_PyCode_New( - 0, /*int argcount,*/ -- #if PY_MAJOR_VERSION >= 3 - 0, /*int kwonlyargcount,*/ -- #endif - 0, /*int nlocals,*/ - 0, /*int stacksize,*/ - 0, /*int flags,*/ - __pyx_empty_bytes, /*PyObject *code,*/ -- __pyx_empty_tuple, /*PyObject *consts,*/ -- __pyx_empty_tuple, /*PyObject *names,*/ -- __pyx_empty_tuple, /*PyObject *varnames,*/ -- __pyx_empty_tuple, /*PyObject *freevars,*/ -- __pyx_empty_tuple, /*PyObject *cellvars,*/ -+ __pyx_empty_tuple, /*PyObject *consts,*/ -+ __pyx_empty_tuple, /*PyObject *names,*/ -+ __pyx_empty_tuple, /*PyObject *varnames,*/ -+ __pyx_empty_tuple, /*PyObject *freevars,*/ -+ __pyx_empty_tuple, /*PyObject *cellvars,*/ - py_srcfile, /*PyObject *filename,*/ - py_funcname, /*PyObject *name,*/ -- __pyx_lineno, /*int firstlineno,*/ -+ py_line, /*int firstlineno,*/ - __pyx_empty_bytes /*PyObject *lnotab*/ - ); -- if (!py_code) goto bad; -+ Py_DECREF(py_srcfile); -+ Py_DECREF(py_funcname); -+ return py_code; -+bad: -+ Py_XDECREF(py_srcfile); -+ Py_XDECREF(py_funcname); -+ return NULL; -+} -+static void __Pyx_AddTraceback(const char *funcname, int c_line, -+ int py_line, const char *filename) { -+ PyCodeObject *py_code = 0; -+ PyObject *py_globals = 0; -+ PyFrameObject *py_frame = 0; -+ py_code = __pyx_find_code_object(c_line ? c_line : py_line); -+ if (!py_code) { -+ py_code = __Pyx_CreateCodeObjectForTraceback( -+ funcname, c_line, py_line, filename); -+ if (!py_code) goto bad; -+ __pyx_insert_code_object(c_line ? c_line : py_line, py_code); -+ } -+ py_globals = PyModule_GetDict(__pyx_m); -+ if (!py_globals) goto bad; - py_frame = PyFrame_New( - PyThreadState_GET(), /*PyThreadState *tstate,*/ - py_code, /*PyCodeObject *code,*/ -@@ -19597,11 +21305,9 @@ static void __Pyx_AddTraceback(const cha - 0 /*PyObject *locals*/ - ); - if (!py_frame) goto bad; -- py_frame->f_lineno = __pyx_lineno; -+ py_frame->f_lineno = py_line; - PyTraceBack_Here(py_frame); - bad: -- Py_XDECREF(py_srcfile); -- Py_XDECREF(py_funcname); - Py_XDECREF(py_code); - Py_XDECREF(py_frame); - } -@@ -19636,6 +21342,7 @@ static int __Pyx_InitStrings(__Pyx_Strin - return 0; - } - -+ - /* Type Conversion Functions */ - - static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { -diff -rupN h5py-2.1.0.orig/h5py/h5t.pyx h5py-2.1.0/h5py/h5t.pyx ---- h5py-2.1.0.orig/h5py/h5t.pyx 2012-09-20 03:04:52.000000000 +0200 -+++ h5py-2.1.0/h5py/h5t.pyx 2012-11-23 14:17:42.000000000 +0100 -@@ -22,15 +22,15 @@ - from _objects cimport pdefault - - from numpy cimport dtype, ndarray --from h5r cimport Reference, RegionReference -+from h5py.h5r cimport Reference, RegionReference - - from utils cimport emalloc, efree, \ - require_tuple, convert_dims, convert_tuple --import _conv -+from h5py import _conv - - # Runtime imports - import sys --from h5 import get_config -+from h5py.h5 import get_config - - cfg = get_config() - diff --git a/doc/install/howto-install-prerequisites.rst b/doc/install/howto-install-prerequisites.rst deleted file mode 100644 index 3c7689608d..0000000000 --- a/doc/install/howto-install-prerequisites.rst +++ /dev/null @@ -1,397 +0,0 @@ -.. _prerequisite-label: - - -Installation of the prerequisite software -========================================= - - -.. toctree:: - :maxdepth: 1 - - install-prerequisites-ubuntu - install-prerequisites-osx - install-prerequisites-arch - install-prerequisites-fedora - install-prerequisites-centos - install-prerequisites-suse - - - -Before installing AMUSE several software packages must be installed. These -software packages can be installed manually or with two prepared installation -scripts. The installation scripts will install python and the -other prerequisites in a user directory. No "root" access is required. - -These are the packages AMUSE needs: - -* Python (version >= 2.6) -* Numpy (version >= 1.3.0) -* HDF (version 1.6.5 - 1.8.x) -* h5py (version >= 1.2.0) -* MPI (OpenMPI or MPICH) -* mpi4py (version >= 1.0) -* nose (version >= 0.11) -* docutils (version >= 0.6) -* FFTW (version >= 3.0) -* GSL -* CMake (version >= 2.4) -* GMP (version >= 4.2.1) -* MPFR (version >= 2.3.1) - -In the first two sections (compilers_ and installation_scripts_) we explain how to use the two -installation scripts to install AMUSE. In the last section (manual_) -we have specified the required packages with the needed version for each. - -.. _compilers: - -Compilers -********* - -To build AMUSE from source you need to have a working build environment. -The AMUSE build system needs a C++ and fortan 90 compiler. Please check first if you -have a working build environment on your system. - -In Ubuntu you can setup the environment with (as root): - -.. code-block:: sh - - apt-get install build-essential curl g++ gfortran gettext zlib1g-dev - - - -In Fedora you can setup the environment with (as root): - -.. code-block:: sh - - yum groupinstall "Development Tools" "Development Libraries" - -.. _installation_scripts: - -Installation scripts -~~~~~~~~~~~~~~~~~~~~ - -We have created two installation scripts to automate the installation of -the required packages on a LINUX and OS.X system. These scripts will -install these packages in a user directory. One script downloads and -installs python while the other script downloads and installs the libraries -and python packages. As everything is installed in a user directory these -packages can be installed even if a version of the software is already -installed on your system. - -The scripts will download and install the software in a user directory. This -user directory must be specified with the ``PREFIX`` environment variable. Before -running the installation scripts you must set the ``PREFIX`` environment -variable and update the path and library path. For shell (bash) you need to do: - -.. code-block:: sh - - export PREFIX=~/amuse/prerequisites - export PATH=${PREFIX}/bin:${PATH} - export LD_LIBRARY_PATH=${PREFIX}/lib:${LD_LIBRARY_PATH} - - -One script will download, build and install python on your system. The other -script is written in Python and will download and install the other packages. -Both scripts can be found in the ``doc/install`` directory. - -To start the installation do: - -.. code-block:: sh - - # 1. Open a shell and go to the directory - > - - # 2. Set the PREFIX, PATH and LD_LIBRARY_PATH environment variables: - > export PREFIX=~/amuse/prerequisites - > export PATH=${PREFIX}/bin:${PATH} - > export LD_LIBRARY_PATH=${PREFIX}/lib:${LD_LIBRARY_PATH} - - # 3. Start the installation script for python - > ./install-python.sh - - # 4. Start the installation script for the prerequisite packages - > ./install.py download - > ./install.py install - - # 5. Update your PATH variable in your profile. - # Make sure the `${PREFIX}/bin` directory is the first entry in the PATH! - -You should now be able to install AMUSE. - -Using the installation scripts on macOS ---------------------------------------- - -For macOS you need to install XCode and a gfortran compiler first. -The XCode development package is available at https://developer.apple.com/xcode/ or in the App Store. - -The standard XCode release does not come with a gfortran compiler. -Go to the `HPC Mac OS X site `_ -for a recent gfortran compiler, compatible with the XCode tools. - -After installing XCode and gfortan, follow the steps described in the -previous paragraph. - -.. _manual: - -Manually installing the prerequisites -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Python ------- -Python is probably already installed on your system. To check the version of python do: - -.. code-block:: sh - - > python --version - Python 2.6.2 - -You can download python from https://www.python.org. - -Numpy ------ -To check if numpy is installed on your system do: - -.. code-block:: sh - - > python -c 'import numpy; print numpy.version.version' - 1.3.0 - -If this fails with an error or a version before 1.3 you need to install numpy. -You can download numpy from http://www.numpy.org. - -HDF5 library ------------- -HDF5 is a data format specification. The HDF group provides a C library -to write and access HDF files. - -To check if the HDF library is installed on your system do: - -.. code-block:: sh - - > h5ls -V - h5ls: Version 1.8.3 - -If this fails with an error or a version before 1.6.5 you -need to install the HDF library. -You can download HDF from https://www.hdfgroup.org/. - -h5py ----- -To access HDF5 files from python we use the ``h5py`` library. - -To check if the h5py library is installed on your system do: - -.. code-block:: sh - - > python -c 'import h5py; print h5py.version.version' - 1.2.0 - -If this fails with an error or a version before 1.2.0 you need to install h5py. -You can download h5py from https://www.h5py.org. - -docutils --------- -To check if the python docutils are installed on your system do: - -.. code-block:: sh - - > python -c 'import docutils; print docutils.__version__' - 0.6 - -If this fails with an error or a version before 0.6 you need to install docutils. -You can download docutils from http://docutils.sourceforge.net/ - -MPI ---- -The installed MPI framework must be MPI 2 compatible. AMUSE will work with -MPICH or OpenMPI - -MPICH -^^^^^ -MPICH is a portable implementation of the MPI 2 standard. - -To check if MPICH is installed on your system do: - -.. code-block:: sh - - > mpdhelp - - The following mpd commands are available. For usage of any specific one, - invoke it with the single argument --help . - - mpd start an mpd daemon - mpdtrace show all mpds in ring - mpdboot start a ring of daemons all at once - mpdringtest test how long it takes - ... - -If this fails with an error you need to install MPICH or check for OpenMPI -support. -You can download MPICH from http://www.mpich.org. - -OpenMPI -^^^^^^^ -OpenMPI is another portable implementation of the MPI 2 standard - -To check if OpenMPI is installed on your system do: - -.. code-block:: sh - - > mpicxx -v - - -If this fails with an error you need to install MPICH or OpenMPI -support. Most examples in the dopcumentation assume OpenMPI. -You can download OpenMPI from https://www.open-mpi.org/. - -MPI4PY ------- -To access MPI from python we use the ``mpi4py`` software. -To check if the mpi4py library is installed on your system do: - -.. code-block:: sh - - > python -c 'import mpi4py; print mpi4py.__version__' - 1.0.0 - -If this fails with an error or a version before 1.0 you need to install mpi4py. -You can find mpi4py at https://mpi4py.readthedocs.io/. - -Nose ----- -Nose is an extension of the python testing framework. It is used for all -unit testing in AMUSE. - - -To check if Nose is installed on your system do: - -.. code-block:: sh - - > nosetests --version - nosetests version 0.11.1 - ... - -If this fails with an error or a version before 0.11 you need to install nose. -You can download nose from http://somethingaboutorange.com/mrl/projects/nose/. - -FFTW ----- -FFTW is a C subroutine library for computing discrete Fourier transforms. To -check for the availability of fftw on your system, you can use ``fftw-wisdom``: - -.. code-block:: sh - - > fftw-wisdom --version - fftw-wisdom tool for FFTW version 3.2.1. - - -You can download the FFTW library from http://www.fftw.org. - -GSL -------- -The GNU Scientific Library (GSL) is a numerical library for C and C++ -programmers. It is free software under the GNU General Public License. -To check for the availability of GSL on your system, you can use ``gsl-config``: - -.. code-block:: sh - - > gsl-config --version - 1.14 - - -You can download GSL from http://www.gnu.org/software/gsl/. - -CMake -------- -CMake is a cross-platform, open-source build system. CMake is used to control -the software compilation process using simple platform and compiler independent -configuration files. CMake generates native makefiles and workspaces that can -be used in the compiler environment of your choice. -CMake is used to build EVTwin. -To check whether you have CMake installed on your system: - -.. code-block:: sh - - > cmake --version - cmake version 2.8.2 - - -You can download CMake from https://cmake.org/download/. - -GMP -------- -GNU MP is a library for arbitrary precision arithmetic (ie, a bignum package). -It can operate on signed integer, rational, and floating point numeric types. -GMP is required for Adaptb (Accurate Dynamics with Arbitrary Precision by Tjarda -Boekholt). -The best way to check whether you have the right version of GMP installed on your -system depends on the package manager you use, but this should always work (note -that the library numbers do not match the release version): - -.. code-block:: sh - - > locate libgmp - /usr/lib64/libgmp.so - /usr/lib64/libgmp.so.10 - /usr/lib64/libgmp.so.10.0.3 - - > locate gmp.h - /usr/include/gmp.h - - > grep GNU_MP_VERSION /usr/include/gmp.h - #define __GNU_MP_VERSION 5 - #define __GNU_MP_VERSION_MINOR 0 - #define __GNU_MP_VERSION_PATCHLEVEL 3 - - -You can download GMP from https://gmplib.org. - -MPFR -------- -The MPFR library is a C library for multiple-precision floating-point -computations with correct rounding. -MPFR is required for Adaptb (Accurate Dynamics with Arbitrary Precision by Tjarda -Boekholt). -The best way to check whether you have the right version of MPFR installed on your -system depends on the package manager you use, but this should always work (note -that the library numbers do not match the release version): - -.. code-block:: sh - - > locate libmpfr - /usr/lib64/libmpfr.so - /usr/lib64/libmpfr.so.4 - /usr/lib64/libmpfr.so.4.1.0 - - > locate mpfr.h - /usr/include/mpfr.h - - > grep MPFR_VERSION /usr/include/mpfr.h - #define MPFR_VERSION_MAJOR 3 - #define MPFR_VERSION_MINOR 1 - #define MPFR_VERSION_PATCHLEVEL 0 - -You can download MPFR from https://www.mpfr.org. - - - - - - - - - - - - - - - - -author: Arjen van Elteren (vanelteren@strw.leidenuniv.nl) -date: 2010/09/22 - - - - - diff --git a/doc/install/howto-obtain-AMUSE.rst b/doc/install/howto-obtain-AMUSE.rst deleted file mode 100644 index 23f27ae614..0000000000 --- a/doc/install/howto-obtain-AMUSE.rst +++ /dev/null @@ -1,49 +0,0 @@ -=============== -Obtaining AMUSE -=============== - -Download --------- - -Go to the `Amusecode github `_ page. - -Getting started ---------------- - -The first step in getting AMUSE to work is obtaining the AMUSE -source code. We advice you to do this even before installation of the -prerequisite software (:ref:`prerequisite-label`). In the following -installation instructions we assume that you will install AMUSE in a -directory ``/amuse``. - -Releases --------- - -For the official releases we provide tarballs via https://github.com/amusecode/amuse/releases. - -Tarball -~~~~~~~ - -Obtain the tarball (e.g. release-11.2.tar.gz) from the download site and unpack it -in the amuse directory using: - -.. code-block:: sh - - > tar -xf release-11.2.tar.gz - -this will make an amuse sub-directory ``amuse-release-11.2``, which we will be referring to as -the AMUSE root directory. - -From here proceed by reading the :ref:`prerequisite-label` section. - -Bleeding edge -------------- - -The current development version is available via git repository access -by issuing the following command: - -.. code-block:: sh - - > git clone https://github.com/amusecode/amuse.git - -This will make an AMUSE root directory with the name "amuse". diff --git a/doc/install/index.rst b/doc/install/index.rst index 4b392ec9bf..b563e63e47 100644 --- a/doc/install/index.rst +++ b/doc/install/index.rst @@ -3,8 +3,7 @@ Installation .. toctree:: :maxdepth: 1 - - howto-install-AMUSE - getting-started - + installing + cuda + development diff --git a/doc/install/install-macos-highsierra-virtualenv-python2.rst b/doc/install/install-macos-highsierra-virtualenv-python2.rst deleted file mode 100644 index f9f3c7396f..0000000000 --- a/doc/install/install-macos-highsierra-virtualenv-python2.rst +++ /dev/null @@ -1,81 +0,0 @@ -Installing on macOS High Sierra with Python 2.7 -=============================================== - -In this section we assume a default macOS installation with macports installed. - -Installing prerequisites ------------------------- -These prerequisites are essential for building AMUSE and the community codes. -They can be installed system-wide with the commands below. -You can choose between openmpi and mpich as desired, both work with AMUSE. -Please make sure to set the compilers installed here as default, as it will greatly simplify things later on. - -For openmpi do:: - - > sudo port install gcc7 openmpi-gcc7 hdf5 gsl cmake gmp mpfr fftw-3 +gcc7 - > sudo port install python27 py27-virtualenv - > sudo port select --set mpi openmpi-gcc7-fortran - > sudo port select --set gcc mp-gcc7 - > sudo port select --set python2 python27 - > sudo port select --set virtualenv virtualenv27 - -For mpich do:: - - > sudo port install gcc7 mpich-gcc7 hdf5 gsl cmake gmp mpfr fftw-3 +gcc7 - > sudo port install python27 py27-virtualenv - > sudo port select --set mpi mpich-gcc7 - > sudo port select --set gcc mp-gcc7 - > sudo port select --set python2 python27 - > sudo port select --set virtualenv virtualenv27 - -.. note: - Please make sure not to install mpich and openmpi together. - When both are installed strange errors will occur and AMUSE will not work. - If you have both installed please first remove both and then install one. - -Installing AMUSE ----------------- - -First, create a virtual environment to install AMUSE and other desired Python packages in. -This ensures that you don't need root privileges and that your AMUSE environment is isolated from other system-installed packages. - -To create the virtual environment, do (from a desired directory):: - - > virtualenv Amuse-env - -When the environment is created, you can activate it with:: - - > . Amuse-env/bin/activate - -You may want to make an alias for this, e.g.:: - - > alias amuse-env='. ~/virtualenvironments/Amuse-env/bin/activate' - -From this point, your prompt will have 'Amuse-env' in front of it, so you will always know when you're in this virtual environment. - -Now you can use pip to install the prerequisite python modules for AMUSE:: - - > pip install numpy nose docutils mpi4py h5py - -Probably, you'll want to install these Python modules too:: - - > pip install scipy astropy jupyter pandas seaborn - -Now we can finally install AMUSE itself. -First, download AMUSE or preferably make a git clone (in a desired directory):: - - > git clone https://github.com/amusecode/amuse.git - -Then, change to the AMUSE directory and run configure, enabling optional GPU features if present/required:: - - > cd amuse - > ./configure [--enable-cuda] [--enable-sapporo2] - -Finally, build and install AMUSE, with optionally downloaded codes if desired:: - - > [export DOWNLOAD_CODES=1] - > python setup.py install - -Optionally, to test if your setup was successful, run (this will take a long time):: - - > python setup.py test diff --git a/doc/install/install-macos-highsierra-virtualenv-python3.rst b/doc/install/install-macos-highsierra-virtualenv-python3.rst deleted file mode 100644 index b60cf28f88..0000000000 --- a/doc/install/install-macos-highsierra-virtualenv-python3.rst +++ /dev/null @@ -1,84 +0,0 @@ -Installing on macOS High Sierra with Python 3.6 -=============================================== - -In this section we assume a default macOS installation with macports installed. - -Installing prerequisites ------------------------- -These prerequisites are essential for building AMUSE and the community codes. -They can be installed system-wide with the commands below. -You can choose between openmpi and mpich as desired, both work with AMUSE. -Please make sure to set the compilers installed here as default, as it will greatly simplify things later on. - -For openmpi do:: - - > sudo port install gcc7 openmpi-gcc7 hdf5 gsl cmake gmp mpfr fftw-3 +gcc7 - > sudo port install python36 py36-virtualenv - > sudo port select --set mpi openmpi-gcc7-fortran - > sudo port select --set gcc mp-gcc7 - > sudo port select --set python3 python36 - > sudo port select --set virtualenv virtualenv36 - -For mpich do:: - - > sudo port install gcc7 mpich-gcc7 hdf5 gsl cmake gmp mpfr fftw-3 +gcc7 - > sudo port install python36 py36-virtualenv - > sudo port select --set mpi mpich-gcc7 - > sudo port select --set gcc mp-gcc7 - > sudo port select --set python2 python27 - > sudo port select --set virtualenv virtualenv36 - -.. note: - Please make sure not to install mpich and openmpi together. - When both are installed strange errors will occur and AMUSE will not work. - If you have both installed please first remove both and then install one. - -Installing AMUSE ----------------- - -First, create a virtual environment to install AMUSE and other desired Python packages in. -This ensures that you don't need root privileges and that your AMUSE environment is isolated from other system-installed packages. - -To create the virtual environment, do (from a desired directory):: - - > python3 -m venv Amuse-env - -When the environment is created, you can activate it with:: - - > . Amuse-env/bin/activate - -You may want to make an alias for this, e.g.:: - - > alias amuse-env='. ~/virtualenvironments/Amuse-env/bin/activate' - -From this point, your prompt will have 'Amuse-env' in front of it, so you will always know when you're in this virtual environment. - -Now you can use pip to install the prerequisite python modules for AMUSE:: - - > pip install numpy nose docutils mpi4py h5py - -Probably, you'll want to install these Python modules too:: - - > pip install scipy astropy jupyter pandas seaborn - -Now we can finally install AMUSE itself. -First, download AMUSE or preferably make a git clone (in a desired directory):: - - > git clone https://github.com/amusecode/amuse.git - -Then, change to the AMUSE directory and run configure, enabling optional GPU features if present/required:: - - > cd amuse - > ./configure [--enable-cuda] [--enable-sapporo2] - -Finally, build and install AMUSE, with optionally downloaded codes if desired:: - - > [export DOWNLOAD_CODES=1] - > python setup.py install - -.. note: - The part below does not currently work in a Python 3 environment. Please skip it for now. - -Optionally, to test if your setup was successful, run (this will take a long time):: - - > python setup.py test diff --git a/doc/install/install-prerequisites-arch.rst b/doc/install/install-prerequisites-arch.rst deleted file mode 100644 index 3da064f30f..0000000000 --- a/doc/install/install-prerequisites-arch.rst +++ /dev/null @@ -1,26 +0,0 @@ -Installing on Arch Linux -======================== - -In this section we assume a default Arch Linux installation. - -All ---- -The prerequisites can be installed with a couple of commands -on Arch Linux. - -To install the prerequisites do (for base-devel select *all* members):: - - > sudo pacman -Syu base-devel curl gcc-fortran gettext zlib - -Install python and dependencies:: - - > sudo pacman -Syu python2 python2-numpy \ - hdf5 docutils openmpi - python2-mpi4py python2-nose\ - fftw gsl cmake gmp mpfr - -To install h5py, first install distribute and then run easy_install:: - - > sudo pacman -Syu python2-distribute - - > sudo easy_install-2.7 h5py diff --git a/doc/install/install-prerequisites-centos.rst b/doc/install/install-prerequisites-centos.rst deleted file mode 100644 index 4fef5b4bee..0000000000 --- a/doc/install/install-prerequisites-centos.rst +++ /dev/null @@ -1,62 +0,0 @@ -Installing on RedHat (CentOS) -============================= - -Installing on CentOS 6 -~~~~~~~~~~~~~~~~~~~~~~~ - -In this section we assume a minimal CentOS 6 installation. - -All ---- -The prerequisites can be installed with a couple of commands -on CentOS 6. - -To install the prerequisites do (for base-devel select *all* members):: - - > sudo yum install make gcc gcc-c++ gcc-gfortran \ - cmake zlib-devel\ - openmpi openmpi-devel \ - fftw fftw-devel \ - gsl gsl-devel gmp - -After installing openmpi, you need to activate it using the 'module' -command:: - - > module load openmpi-$(uname -i) - -.. note:: - - We recommend to put the openmpi module activation script - in your .bashrc or .cshrc file. - -Install python and dependencies:: - - > sudo yum install python-devel \ - docutils python-nose \ - numpy numpy-f2py\ - python-docutils - -To install hdf5 and docutils first install an additional rpm forge. -For documentation see http://wiki.centos.org/AdditionalResources/Repositories/RPMForge - -After installing an rpm forge do:: - - > sudo yum install hdf5 hdf5-devel - -To install h5py do:: - - > sudo easy_install h5py - -Last, you need to install mpi4py with:: - - > su - - > module load openmpi-$(uname -i) - > easy_install mpi4py - -.. note:: - - The default CentOS sudo policy resets the environments variables and - thereby removes the openmpi settings. So for the last step - you cannot use ```sudo easy_install mpi4py``` but must install - under root directly. - diff --git a/doc/install/install-prerequisites-fedora.rst b/doc/install/install-prerequisites-fedora.rst deleted file mode 100644 index f141332786..0000000000 --- a/doc/install/install-prerequisites-fedora.rst +++ /dev/null @@ -1,180 +0,0 @@ - - -Installing on Fedora 18 -~~~~~~~~~~~~~~~~~~~~~~~ - -In this section we assume a basic install of Fedora 18 installation. - - -All in One ----------- -The prerequisites can be installed with a couple of commands -on Fedora. - -For mpich2 do:: - - > sudo yum install make gcc gcc-c++ gcc-gfortran\ - cmake zlib-devel\ - mpich2 mpich2-devel\ - hdf5 hdf5-devel\ - fftw fftw-devel\ - gsl gsl-devel\ - gmp gmp-devel\ - mpfr mpfr-devel\ - python-nose numpy numpy-f2py\ - h5py\ - python-setuptools python-setuptools-devel\ - mpi4py-mpich2\ - python-matplotlib - - - -.. note:: - This line will also install `matplotlib`, this package is - used for all plotting in AMUSE. If you do not need any plotting - you can leave it out. - -After installing mpich2, you need to activate it using the 'module' -command:: - - > module load mpi/mpich2-$(uname -i) - -.. note:: - - We recommend to put the module activation script - in your .bashrc or .cshrc file. - -For openmpi do:: - - > sudo yum install make gcc gcc-c++ gcc-gfortran\ - cmake zlib-devel\ - openmpi openmpi-devel\ - hdf5 hdf5-devel\ - fftw fftw-devel\ - gsl gsl-devel\ - gmp gmp-devel\ - mpfr mpfr-devel\ - python-nose numpy numpy-f2py\ - h5py\ - python-setuptools python-setuptools-devel\ - mpi4py-openmpi\ - python-matplotlib - -After installing openmpi, you need to activate it using the 'module' -command:: - - > module load mpi/openmpi-$(uname -i) - - -.. note:: - - On Fedora you can install both mpich2 and openmpi, the module - command will keep manage these separate installation, so - no conflict will exists. If you change between implementation, you - will need to recompile the amuse community codes with:: - - > make clean; make - - - -Installing on Fedora 11 -~~~~~~~~~~~~~~~~~~~~~~~ - -In this section we assume a live-cd install of Fedora 11 installation. - -Python ------- -Fedora comes with python2.6 pre-installed, you can check if -python is installed by doing: - -.. code-block:: sh - - > python --version - Python 2.6.2 - -If this fails with an error or a version before 2.6, please install -python first(the package is called ``python``). You also need -the ``python-devel`` development package. -To install it, do:: - - > sudo yum install python-devel - - -GCC ---- -By default, Fedora does not install a fortran 90 or a C++ compiler. We -suggest using gfortran and g++. These compilers are installed with -the ``gcc``, ``gcc-c++`` and the ``gcc-gfortran`` packages. -To install these, do:: - - > sudo yum install gcc gcc-c++ gcc-gfortran - -MPI2 ----- -Fedora comes with packages for MPICH2 and Openmpi. - -To install MPICH2, do:: - - > sudo yum install mpich2 mpich2-devel - -If you prefer OpenMpi over MPICH2, you can install openmpi -from the Fedora yum database. -To install the openmpi packages, do:: - - > sudo yum install openmpi openmpi-devel - -HDF5 ----- -Amuse can work with HDF5 versions 1.6.* and 1.8.3. Fedora 11 has a package -with HDF5 version 1.8.3. To install it, do:: - - > sudo yum install hdf5 hdf5-devel - -FFTW -------- -On Fedora, FFTW can be installed with:: - - > sudo yum install fftw fftw-devel - -GSL -------- -On Fedora, GSL can be installed with:: - - > sudo yum install gsl gsl-devel - -CMake -------- -CMake is used to build EVTwin. On Fedora, CMake can be installed with:: - - > sudo yum install cmake - -GMP -------- -GMP is required for Adaptb. On Fedora, GMP can be installed with:: - - > sudo yum install gmp - -MPFR -------- -MPFR is required for Adaptb. On Fedora, MPFR is currently included in the gmp -package. So, if you have not already done so, MPFR can be installed with:: - - > sudo yum install gmp - -Python packages in Fedora -------------------------- -Fedora comes with python packages for nose and numpy. You also need -the setuptools package to be able to install the ``mpi4py`` and ``h5py`` -software. To install these , do:: - - > sudo yum install python-nose numpy numpy-f2py \ - python-setuptools python-setuptools-devel - -Python packages with easy_install ---------------------------------- -The ``mpi4py``, ``h5py`` and ``docutils`` can be -installed with the ``easy_install`` command:: - - > sudo easy_install mpi4py - > sudo easy_install h5py - > sudo easy_install docutils diff --git a/doc/install/install-prerequisites-osx.rst b/doc/install/install-prerequisites-osx.rst deleted file mode 100644 index 96b49f510a..0000000000 --- a/doc/install/install-prerequisites-osx.rst +++ /dev/null @@ -1,212 +0,0 @@ -Installing on macOS -******************* - -Installing on macOS with MacPorts -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -In this section we assume a clean MacPorts installation. The MacPorts build -system will build most packages from source so installation may take a while. -The packages in MacPorts support different *variants*, each *variant* is built -differently. Below, with all installation commands we will specify the variant -where needed. AMUSE is tested with gcc versions 4.3 up to 8. Below, we will use -gcc 7. - -.. note:: - - If you want to use a different fortran compiler (ifort), you are better - off using the **install.py** script in the **doc/install** directory. - -.. note:: - - Make sure you have a recent MacPorts installation. Do this by running - - > sudo port selfupdate - - before installing. - -.. note:: - - If you are unsure of your installation you can uninstall and clear the - packages with:: - - port uninstall py27-docutils py27-nose py27-mpi4py py27-h5py py27-numpy hdf5 fftw-3 gsl openmpi python27 - - To make a clean install of MacPorts, please remove the MacPorts directory - and read the guide at: - https://guide.macports.org/ - -All in one ----------- - -You can install all the packages described below in one go with:: - - > sudo port install gcc7 - - > sudo port install python27 - > sudo port install openmpi-gcc7 - > sudo port install fftw-3 +gcc7 - > sudo port install hdf5 gsl cmake gmp mpfr - > sudo port install py27-numpy py27-h5py py27-nose py27-docutils - > sudo port install py27-mpi4py +openmpi - > sudo port install py27-matplotlib - -To make sure the right MacPorts compilers and python are set as default, do the -following:: - - > sudo port select --set mpi openmpi-gcc7-fortran - > sudo port select --set gcc mp-gcc7 - > sudo port select --set python python27 - > sudo port select --set nosetests nosetests27 - -After installing you will need to configure the code with the following line:: - - > ./configure --with-fftw=/opt/local - -.. note:: - - The ``--with-fftw`` option will ensure that fftw is found in - ``/opt/local`` and not in any other location on macOS. Sometimes, incompatible versions of - fftw may be installed in ``/usr/include`` or ``/usr/local/inlude``. These versions may - have the wrong processor type (32 vs 64bits) or not contain a fortran API. For both cases - compiling ``Fi`` will fail. - In case the configure script does not pick the wanted fftw directories, you - can edit the ``config.mk`` file to point to the right version. - - -.. note:: - - The ``PREFIX`` variable will make sure some support libraries for - community codes (gsl, gmp and mpfr) are found in ``/opt/local``. - -.. note:: - - Please, make sure you have no other compile variables specified - (like CC or CXX or CFLAGS), unless you have customized MacPorts in - any way. Some variable settings will likely give compile errors - for the community codes. - - For example, BHTree is compiled with openmpicxx and $CXX. - The command in the CXX variable must be compatible - with openmpicxx (you can do ``openmpicxx --show`` to get - the command openmpicxx is using) - - -GCC ---- -By default MacPorts uses the XCode compilers, these compilers have no support -for fortran, a MacPorts gcc compiler set needs to be installed. We suggest -installing gcc 7 as the most reliable option: - -.. code-block:: sh - - > sudo port install gcc7 - -.. note:: - - If you have installed a different version of gcc, you need to select - a different variant of the packages below. To select a different variant - replace **+gcc7** with **+gcc6**, **+gcc8** or any other version - matching your gcc installation. Note, apple-gcc versions will not work, - these do not support fortran. - -Python ------- -MacPorts supports several python versions in different variants, we will install -the python27 versions - -.. code-block:: sh - - > sudo port install python27 - -MPI2 ----- -MacPorts provides packages for mpich and openmpi. Although you can -probably install both, this is not recommended. We suggest you install -openmpi. - -To install openmpi, do:: - - > sudo port install openmpi +gcc7 - -HDF5 ----- -Amuse can work with HDF5 versions 1.6.*, 1.8.3 and higher. MacPorts comes -with HDF5 version 1.8.* and 1.10.* To install the most recent version, do:: - - > sudo port install hdf5 - -FFTW-3 ------- -MacPorts comes with a FFTW and FFTW-3 package, for AMUSE we need FFTW-3. -FFTW-3 can be installed with:: - - > sudo port install fftw-3 +gcc7 - -GSL ---- -GSL is used to build Gadget2, GSL can be installed with:: - - > sudo port install gsl - -CMake ------ -CMake is used to build EVTwin, CMake can be installed with:: - - > sudo port install cmake - -GMP -------- -GMP is required for Adaptb. With MacPorts, GMP can be installed with:: - - > sudo port install gmp - -MPFR -------- -MPFR is required for Adaptb. With MacPorts, MPFR can be installed with:: - - > sudo port install mpfr - - -Python packages ---------------- -By this point all libraries and frameworks are installed. We can now -install python packages (some depend on the installed libraries):: - - > sudo port install py27-numpy py27-h5py py27-nose py27-docutils - -If you installed openmpi in the MPI2 step you need to set the -"openmpi" variant for "py27-mpi4py":: - - > sudo port install py27-mpi4py +openmpi - - -Matplotlib ----------- -Matplotlib is not required but is highly recommended for creating graphics, -you can install it with:: - - > sudo port install py27-matplotlib - - -.. note:: - - Macports will install the compilers under non standard names. - To make sure the right MacPorts compilers and python are set as default, do - the following:: - - > sudo port select --set mpi openmpi-gcc7-fortran - > sudo port select --set gcc mp-gcc7 - > sudo port select --set python python27 - > sudo port select --set nosetests nosetests27 - - Alternatively, to use the right compilers you can specify these during the - configure stage of AMUSE. - - See the output for ``configure --help`` for a list of all - environment variables you can set. - - If you installed openmpi you need to specify the mpi compilers - like so (replacing OPENMPICXX OPENMPICC and OPENMPIF90 with your installed compiler):: - - ./configure MPICXX=OPENMPICXX MPICC=OPENMPICC MPIFC=OPENMPIF90 - diff --git a/doc/install/install-prerequisites-suse.rst b/doc/install/install-prerequisites-suse.rst deleted file mode 100644 index 23f2d78add..0000000000 --- a/doc/install/install-prerequisites-suse.rst +++ /dev/null @@ -1,158 +0,0 @@ -Installing on Suse Linux -======================== - -Installing on OpenSuse 11 -~~~~~~~~~~~~~~~~~~~~~~~~~ - -In this section we assume a normal desktop install of OpenSuse 11. Not -all packages are available in the default OpenSuse package repository. -We recommend to add the **Packman Repository** to the list of -configured software repositories (To do so, open Yast and go to -*Software Repositories*). - -Python ------- -OpenSuse comes with python2.6 pre-installed, you can check if -python is installed by doing: - -.. code-block:: sh - - > python --version - Python 2.6 - -If this failes with an error or a version before 2.6, please install -python first(the package is called ``python``). You also need -the ``python-devel`` development package. -To install it, do:: - - > sudo zypper install python-devel - - -GCC ---- -By default, OpenSuse does not install a fortran 90 or a C++ compiler. We -suggest using gfortran and g++. These compilers are installed with -the ``gcc``, ``gcc-c++`` and the ``gcc-fortran`` packages. -To install these, do:: - - > sudo zypper install gcc gcc-c++ gcc-fortran - -MPI2 ----- -The Packman Repository provides an OpenMPI package. -To install the openmpi packages, do:: - - > sudo zypper install openmpi openmpi-devel - -Unfortunately the openmpi installation does not work out -of the box, you need to set the **LD_LIBRARY_PATH** variable -and edit a configuration file first. - -Setting the LD_LIBRARY_PATH -**************************** - -The LD_LIBRARY_PATH must be set so that mpi4py can find the -openmpi libraries. To set the variable we must first find out -where the openmpi libs can be found, to do so execute:: - - > mpicxx -showme:link - -pthread -L/usr/lib/mpi/gcc/openmpi/lib -lmpi_cxx -lmpi - -lopen-rte -lopen-pal -ldl -Wl,--export-dynamic -lnsl -lutil -lm -ldl - - -We need to set LD_LIBRARY_PATH variable to the path after the **-L** -in the output (so in this example case '/usr/lib/mpi/gcc/openmpi/lib', -this may be a different path if you system is 64-bits or if the -opensuse version is different). - -In bash do:: - - > export LD_LIBRARY_PATH=/usr/lib/mpi/gcc/openmpi/lib - -We recommend you add this line to your '.bashrc' file so that -the variable is set correctly for all sessions. If you have a -C shell you need to do a *setenv* and edit the .cshrc file. - -Editing the configuration file -******************************* - -It seems that the default openmpi installation has some problems -with loading an LDAP library. To check if your installation has -this problem do:: - - > python -c "from mpi4py import MPI; print MPI.get_vendor()" - ... - WARNING: .... - ... - DAT: library load failure: libdaplscm.so.2: cannot open shared object file: No such file or directory - ... - -If you get a long list of warnings about DAT providers not found, you -need to edit the configuration file and turn off ldap. To do so, -open an editor (as root) on the file -**/etc/openmpi-mca-params.conf** -and add this line to the bottom of the file:: - - btl = ^udapl - -After saving the file, you can rerun the python statement:: - - > python -c "from mpi4py import MPI; print MPI.get_vendor()" - ('Open MPI', (1, 2, 8)) - - -HDF5 ----- -Amuse can work with HDF5 versions 1.6.* and 1.8.*. The Packman Repository -has a package with HDF5 version 1.8.1. To install it, do:: - - > sudo zypper install hdf5 hdf5-devel - -FFTW -------- -Some codes in AMUSE need FFTW 3, FFTW can be installed with:: - - > sudo zypper install fftw3 fftw3-devel - -GSL -------- -On OpenSuse (10.2 and newer), GSL can be installed with:: - - > sudo zypper install gsl gsl-devel - -CMake -------- -CMake is used to build EVTwin. On OpenSuse, CMake can be installed with:: - - > sudo zypper install cmake - -GMP -------- -GMP is required for Adaptb. On OpenSuse, GMP can be installed with:: - - > sudo zypper install gmp-devel - -MPFR -------- -MPFR is required for Adaptb. On OpenSuse, MPFR can be installed with:: - - > sudo zypper install libmpfr4 mpfr-devel - -Python packages in Fedora -------------------------- -Fedora comes with python packages for numpy. You also need -the setuptools package to be able to install the other python -packages. To install these, do:: - - > sudo zypper install python-numpy \ - python-setuptools python-setuptools-devel - -Python packages with easy_install ---------------------------------- -The ``nose``, ``mpi4py``, ``h5py`` and ``docutils`` can be -installed with the ``easy_install`` command:: - - > sudo easy_install nose - > sudo easy_install mpi4py - > sudo easy_install h5py - > sudo easy_install docutils diff --git a/doc/install/install-prerequisites-ubuntu.rst b/doc/install/install-prerequisites-ubuntu.rst deleted file mode 100644 index 018fb7255c..0000000000 --- a/doc/install/install-prerequisites-ubuntu.rst +++ /dev/null @@ -1,48 +0,0 @@ -Installing on Ubuntu -==================== - -Installing on Ubuntu (up to date for version 18.04) ---------------------------------------------------- - -In this section we assume a default Ubuntu desktop installation. - -All ---- -The prerequisites can be installed with a couple of commands -on Ubuntu. The only choice to make is between openmpi and mpich2. - -For openmpi do:: - - > sudo apt-get install build-essential gfortran python-dev \ - libopenmpi-dev openmpi-bin \ - libgsl-dev cmake libfftw3-3 libfftw3-dev \ - libgmp3-dev libmpfr6 libmpfr-dev \ - libhdf5-serial-dev hdf5-tools \ - python-nose python-numpy python-setuptools python-docutils \ - python-h5py python-setuptools git - - > [sudo] pip install mpi4py - or alternatively setuptools easy_install (deprecated): - > [sudo] easy_install mpi4py - - -For mpich do:: - - > sudo apt-get install build-essential gfortran python-dev \ - mpich libmpich-dev \ - libgsl-dev cmake libfftw3-3 libfftw3-dev \ - libgmp3-dev libmpfr6 libmpfr-dev \ - libhdf5-serial-dev hdf5-tools \ - python-nose python-numpy python-setuptools python-docutils \ - python-h5py python-setuptools git - - > [sudo] pip install mpi4py - or alternatively setuptools easy_install (deprecated): - > [sudo] easy_install mpi4py - -.. note:: - - Please make sure not to install mpich2 and openmpi together. - When both openmpi and mpich2 are installed strange errors - will occur and AMUSE will not work. If you see both installed - please remove both and install one. diff --git a/doc/install/install-python.sh b/doc/install/install-python.sh deleted file mode 100755 index 33da23d988..0000000000 --- a/doc/install/install-python.sh +++ /dev/null @@ -1,137 +0,0 @@ -#!/bin/sh -# -# script to install amuse build system from scratch -# -# author: Arjen van Elteren -# date : 2009 - 05 -18 -# - -# Prerequisites directory check -if [ -z ${PREFIX} ]; then - echo The PREFIX variable is not set, please set it to an user directory - exit 1 -fi -if [ ! -d ${PREFIX} ]; then - echo ${PREFIX} directory does not exists, please create it first! - exit 1 -fi - -# Python version selection (default to recent Python 3) -if [ "${1}" = "python2" ] -then - APPVER=2.7.15 -else - APPVER=3.7.3 -fi - -# Python -APPFILE=Python-${APPVER}.tgz -APP_DIR=Python-${APPVER} -URL=https://www.python.org/ftp/python/${APPVER}/${APPFILE} - -# OpenSSL -OPENSSLVERSION="1.1.1c" -OPENSSLFILE=openssl-${OPENSSLVERSION}.tar.gz -OPENSSLURL=https://www.openssl.org/source/old/1.1.1/${OPENSSLFILE} -OPENSSLDIR=openssl-${OPENSSLVERSION} - -# Setting up the directory structure -INSTALL_DIR=${PREFIX}/install -mkdir ${INSTALL_DIR} -cd ${INSTALL_DIR} -DOWNLOAD_DIR=${INSTALL_DIR}/_downloaded -mkdir ${DOWNLOAD_DIR} -BUILD_DIR=${INSTALL_DIR}/_build -mkdir ${BUILD_DIR} -SOURCE_DIR=${INSTALL_DIR}/_source -mkdir ${SOURCE_DIR} - -# Download -echo "Downloading" -cd ${DOWNLOAD_DIR} -if [ -e ${APPFILE} ] ; then - echo "Python already downloaded"; -else - echo "Downloading Python" - if which curl >/dev/null; then - curl -L -O ${URL} ; - else - wget ${URL}; - fi -fi -if [ -e ${OPENSSLFILE} ] ; then - echo "OpenSSL already downloaded"; -else - echo "Downloading OpenSSL" - if which curl >/dev/null; then - curl -L -O ${OPENSSLURL} ; - else - wget ${OPENSSLURL}; - fi -fi -cd .. -echo "Done" - -# Unpack -echo "Unpacking" -cd ${SOURCE_DIR} -rm -Rf ${APP_DIR} -echo "Unpacking Python..." -tar -xf ${DOWNLOAD_DIR}/${APPFILE} -cd ${SOURCE_DIR} -rm -Rf ${OPENSSLDIR} -echo "Unpacking OpenSSL..." -tar -xf ${DOWNLOAD_DIR}/${OPENSSLFILE} || exit $? -cd .. -echo "Done" - -# Build -echo "Building" -MACHINE=$(uname -m 2>/dev/null) -PLATFORM=$(uname) -echo "Building OpenSSL" -cd ${SOURCE_DIR}/${OPENSSLDIR} -if [ ${PLATFORM} == 'Darwin' ]; then - if [ ${MACHINE} == 'x86_64' ]; then - ./Configure darwin64-x86_64-cc \ - --prefix=${PREFIX} \ - --openssldir=${PREFIX}/openssl \ - --shared - else - ./Configure darwin64-i386-cc \ - --prefix=${PREFIX} \ - --openssldir=${PREFIX}/openssl \ - --shared - fi -else - ./config \ - --prefix=${PREFIX} \ - --openssldir=${PREFIX}/openssl \ - --shared -fi -make -make install -echo "Build Python" -cd ${BUILD_DIR} -rm -Rf ${APP_DIR} -mkdir ${APP_DIR} -cd ${APP_DIR} -if [ $PLATFORM == 'Darwin' ] ; then - ${SOURCE_DIR}/${APP_DIR}/configure \ - --with-dyld \ - --prefix=${PREFIX} \ - --enable-unicode=ucs4\ - --program-suffix=.exe ; -else - ${SOURCE_DIR}/${APP_DIR}/configure \ - --prefix=${PREFIX} \ - --libdir=${PREFIX}/lib \ - --enable-shared \ - --enable-unicode=ucs4\ - --program-suffix=.exe ; -fi -make -make install -echo "Done" - -echo "Install complete" diff --git a/doc/install/install-ubuntu-1804-virtualenv-python2.rst b/doc/install/install-ubuntu-1804-virtualenv-python2.rst deleted file mode 100644 index 6ce8057be1..0000000000 --- a/doc/install/install-ubuntu-1804-virtualenv-python2.rst +++ /dev/null @@ -1,81 +0,0 @@ -Installing on Ubuntu version 18.04 with Python 2.7 -================================================== - -In this section we assume a default Ubuntu desktop installation. - -Installing prerequisites ------------------------- -These prerequisites are essential for building AMUSE and the community codes. -They can be installed system-wide with the commands below. -You can choose between openmpi and mpich as desired, both work with AMUSE. - -For openmpi do:: - - > sudo apt-get install build-essential gfortran python-dev \ - libopenmpi-dev openmpi-bin \ - libgsl0-dev cmake libfftw3-3 libfftw3-dev \ - libgmp3-dev libmpfr4 libmpfr-dev \ - libhdf5-serial-dev hdf5-tools \ - git - -For mpich do:: - - > sudo apt-get install build-essential gfortran python-dev \ - mpich libmpich-dev \ - libgsl0-dev cmake libfftw3-3 libfftw3-dev \ - libgmp3-dev libmpfr4 libmpfr-dev \ - libhdf5-serial-dev hdf5-tools \ - git - -.. note: - Please make sure not to install mpich and openmpi together. - When both are installed strange errors will occur and AMUSE will not work. - If you have both installed please first remove both and then install one. - - -Installing AMUSE ----------------- - -First, create a virtual environment to install AMUSE and other desired Python packages in. -This ensures that you don't need root privileges and that your AMUSE environment is isolated from other system-installed packages. - -To create the virtual environment, do (from a desired directory):: - - > virtualenv Amuse-env - -When the environment is created, you can activate it with:: - - > . Amuse-env/bin/activate - -You may want to make an alias for this, e.g.:: - - > alias amuse-env='. ~/virtualenvironments/Amuse-env/bin/activate' - -From this point, your prompt will have 'Amuse-env' in front of it, so you will always know when you're in this virtual environment. - -Now you can use pip to install the prerequisite python modules for AMUSE:: - - > pip install numpy nose docutils mpi4py h5py - -Probably, you'll want to install these Python modules too:: - - > pip install scipy astropy jupyter pandas seaborn - -Now we can finally install AMUSE itself. -First, download AMUSE or preferably make a git clone (in a desired directory):: - - > git clone https://github.com/amusecode/amuse.git - -Then, change to the AMUSE directory and run configure, enabling optional GPU features if present/required:: - - > cd amuse - > ./configure [--enable-cuda] [--enable-sapporo2] - -Finally, build and install AMUSE, with optionally downloaded codes if desired:: - - > [export DOWNLOAD_CODES=1] - > python setup.py install - -Optionally, to test if your setup was successful, run (this will take a long time):: - - > python setup.py test diff --git a/doc/install/install-ubuntu-1804-virtualenv-python3.rst b/doc/install/install-ubuntu-1804-virtualenv-python3.rst deleted file mode 100644 index e1c4c4ae48..0000000000 --- a/doc/install/install-ubuntu-1804-virtualenv-python3.rst +++ /dev/null @@ -1,84 +0,0 @@ -Installing on Ubuntu version 18.04 with Python 3.6 -================================================== - -In this section we assume a default Ubuntu desktop installation. - -Installing prerequisites ------------------------- -These prerequisites are essential for building AMUSE and the community codes. -They can be installed system-wide with the commands below. -You can choose between openmpi and mpich as desired, both work with AMUSE. - -For openmpi do:: - - > sudo apt-get install build-essential gfortran python3-dev \ - libopenmpi-dev openmpi-bin \ - libgsl0-dev cmake libfftw3-3 libfftw3-dev \ - libgmp3-dev libmpfr4 libmpfr-dev \ - libhdf5-serial-dev hdf5-tools \ - git - -For mpich do:: - - > sudo apt-get install build-essential gfortran python3-dev \ - mpich libmpich-dev \ - libgsl0-dev cmake libfftw3-3 libfftw3-dev \ - libgmp3-dev libmpfr4 libmpfr-dev \ - libhdf5-serial-dev hdf5-tools \ - git - -.. note: - Please make sure not to install mpich and openmpi together. - When both are installed strange errors will occur and AMUSE will not work. - If you have both installed please first remove both and then install one. - - -Installing AMUSE ----------------- - -First, create a virtual environment to install AMUSE and other desired Python packages in. -This ensures that you don't need root privileges and that your AMUSE environment is isolated from other system-installed packages. - -To create the virtual environment, do (from a desired directory):: - - > python3 -m venv Amuse-env - -When the environment is created, you can activate it with:: - - > . Amuse-env/bin/activate - -You may want to make an alias for this, e.g.:: - - > alias amuse-env='. ~/virtualenvironments/Amuse-env/bin/activate' - -From this point, your prompt will have 'Amuse-env' in front of it, so you will always know when you're in this virtual environment. - -Now you can use pip to install the prerequisite python modules for AMUSE:: - - > pip install numpy nose docutils mpi4py h5py - -Probably, you'll want to install these Python modules too:: - - > pip install scipy astropy jupyter pandas seaborn - -Now we can finally install AMUSE itself. -First, download AMUSE or preferably make a git clone (in a desired directory):: - - > git clone https://github.com/amusecode/amuse.git - -Then, change to the AMUSE directory and run configure, enabling optional GPU features if present/required:: - - > cd amuse - > ./configure [--enable-cuda] [--enable-sapporo2] - -Finally, build and install AMUSE, with optionally downloaded codes if desired:: - - > [export DOWNLOAD_CODES=1] - > python setup.py install - -.. note: - The part below does not currently work in a Python 3 environment. Please skip it for now. - -Optionally, to test if your setup was successful, run (this will take a long time):: - - > python setup.py test diff --git a/doc/install/install.py b/doc/install/install.py deleted file mode 100755 index 58fff95cea..0000000000 --- a/doc/install/install.py +++ /dev/null @@ -1,791 +0,0 @@ -#!/usr/bin/env python3 -import sys -import os.path -import os -import urllib.request -import subprocess -import shutil - -import ssl -try: - ssl._create_default_https_context = ssl._create_unverified_context -except: - pass - - -IS_ON_OSX = sys.platform == 'darwin' -PYTHON = sys.executable - -def late(function): - class LateProperty(object): - def __init__(self, initializer): - self.initializer = initializer - def __get__(self, instance, owner): - if instance is None: - return self - value = self.initializer(instance) - setattr(instance,self.initializer.__name__,value) - return value - return LateProperty(function) - - - -class InstallPrerequisites(object): - @late - def prefix(self): - if 'VIRTUAL_ENV' in os.environ: - return os.environ['VIRTUAL_ENV'] - path = os.path.split(sys.executable)[0] - if 'Framework' in path: - return path[:path.index('Framework')] - else: - return path[:path.index('bin')-1] - @late - def applications(self): - return [ - ( - 'numpy' , #name to refer by - [], #names of prerequisites (unused) - '1.17.4' , #version string - 'numpy-', '.tar.gz', #pre- and postfix for filename - 'https://github.com/numpy/numpy/releases/download/v1.17.4/', #download url, filename is appended - self.numpy_build #method to use for building - ), - ( - 'nose', - [], - '1.3.0', - 'nose-' , '.tar.gz', - 'https://pypi.python.org/packages/source/n/nose/', - self.python_build - ), - ( - 'cython', - [], - '0.29.14', - 'Cython-' , '.tar.gz', - 'https://pypi.io/packages/source/c/cython/', - self.python_build - ) , - ( - 'hdf' , - [], - '1.10.6', - 'hdf5-' , '.tar.gz' , - 'https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.6/src/', - self.hdf5_build - ) , - ( - 'h5py', - ['hdf'], - '2.10.0', - 'h5py-' , '.tar.gz', - 'https://pypi.python.org/packages/source/h/h5py/', self.h5py_build - ) , - ( - 'netcdf-c' , - ['hdf'], - '4.7.4', - 'v' , '.tar.gz' , - 'https://github.com/Unidata/netcdf-c/archive/', - self.netcdf_build - ) , - ( - 'netcdf-fortran' , - ['netcdf-c'], - '4.5.3', - 'v' , '.tar.gz' , - 'https://github.com/Unidata/netcdf-fortran/archive/', - self.netcdf_build - ) , - ( - 'netcdf4-python' , - ['netcdf-c'], - '1.5.4rel', - 'v' , '.tar.gz' , - 'https://github.com/Unidata/netcdf4-python/archive/', - self.python_build - ) , - ( - 'f90nml', - [], - '1.1.2', - 'v' , '.tar.gz', - 'https://github.com/marshallward/f90nml/archive/', - self.python_build - ), - ( - 'docutils', - [], - '0.15.2', - 'docutils-','.tar.gz', - 'https://pypi.python.org/packages/source/d/docutils/', - self.python_build - ) , - ( - 'mpich', - [], - '3.3.2', - 'mpich-', '.tar.gz', - 'https://www.mpich.org/static/tarballs/3.3.2/', - self.mpich2_build - ) , - ( - 'mpi4py', - ['mpich2'], - '3.0.3', - 'mpi4py-', '.tar.gz', - 'https://bitbucket.org/mpi4py/mpi4py/downloads/', - self.python_build - ) , - ( - 'fftw3' , #name to refer by - [], #names of prerequisites (unused) - '3.3.3' , #version string - 'fftw-', '.tar.gz', #pre- and postfix for filename - 'http://www.fftw.org/', #download url, filename is appended - self.fftw_build #method to use for building - ) , - ( - 'gsl' , #name to refer by - [], #names of prerequisites (unused) - '1.16' , #version string - 'gsl-', '.tar.gz', #pre- and postfix for filename - 'https://ftp.gnu.org/gnu/gsl/', #download url, filename is appended - self.fftw_build #method to use for building - same as for FFTW should work - ) , - ( - 'cmake' , #name to refer by - [], #names of prerequisites (unused) - '3.19.4' , #version string - 'cmake-', '.tar.gz', #pre- and postfix for filename - 'https://www.cmake.org/files/v3.19/', #download url, filename is appended - self.cmake_build #method to use for building - ) , - ( - 'gmp', #name to refer by - [], #names of prerequisites (unused) - '6.1.2' , #version string - 'gmp-', '.tar.bz2', #pre- and postfix for filename - 'https://gmplib.org/download/gmp/', #download url, filename is appended - self.gmp_build #method to use for building - ) , - ( - 'mpfr' , #name to refer by - ['gmp'], #names of prerequisites - '4.0.2' , #version string - 'mpfr-', '.tar.gz', #pre- and postfix for filename - 'https://www.mpfr.org/mpfr-4.0.2/', #download url, filename is appended - self.mpfr_build #method to use for building - ) , - ] - - @late - def temp_dir(self): - return os.path.join(self.prefix,'install','_temp') - - - @late - def fortran90_compiler(self): - if 'FC' in os.environ: - return os.environ['FC'] - else: - return self.fortran_compiler - - @late - def fortran77_compiler(self): - if 'F77' in os.environ: - return os.environ['F77'] - else: - return None - - - @late - def fortran_compiler(self): - if 'FC' in os.environ: - return os.environ['FC'] - elif 'FORTRAN' in os.environ: - return os.environ['FORTRAN'] - elif 'F77' in os.environ: - return os.environ['F77'] - elif 'FORT' in os.environ: - return os.environ['FORT'] - else: - return None - - @late - def use_hydra_process_manager(self): - return False - - @late - def use_gforker_process_manager(self): - return False - - def setup_temp_dir(self): - if not os.path.exists(self.temp_dir): - os.makedirs(self.temp_dir) - - def run_application(self, args, cwd, env = None): - print("starting " , ' '.join(args)) - process = subprocess.Popen(args, cwd=cwd, env = env) - returncode = process.wait() - if returncode != 0: - commandline = ' '.join(args) - raise Exception("Error when running <" + commandline + ">") - print("finished " , ' '.join(args)) - - def h5py_build(self, path): - self.run_application([PYTHON,'setup.py','configure','--hdf5='+self.prefix], cwd=path) - self.run_application([PYTHON,'setup.py','build'],cwd=path) - self.run_application([PYTHON,'setup.py','install', '--prefix='+self.prefix], cwd=path) - - def setuptools_install(self, path): - self.run_application(['sh',], cwd=path) - - def hdf5_build(self, path): - commands = [] - commands.append([ - './configure', - '--prefix='+self.prefix, - '--enable-shared', - '--disable-hl', - '--enable-build-mode=production', - '--with-pthread=/usr', - '--enable-threadsafe' - ]) - commands.append(['make']) - commands.append(['make', 'install']) - for x in commands: - self.run_application(x, path) - - def python_build(self, path): - self.run_application([PYTHON,'setup.py','build'], cwd=path) - self.run_application([PYTHON,'setup.py','install', '--prefix='+self.prefix], cwd=path) - - def numpy_build(self, path): - env = os.environ.copy() - env['BLAS'] = 'None' - env['LAPACK'] = 'None' - env['ATLAS'] = 'None' - self.run_application([PYTHON,'setup.py','build'], cwd=path, env=env) - self.run_application([PYTHON,'setup.py','install', '--prefix='+self.prefix], cwd=path, env=env) - - def mercurial_build(self, path): - self.run_application(['make','install','PREFIX='+self.prefix], cwd=path) - - def openmpi_build(self, path): - commands = [] - commands.append([ - './configure', - '--prefix='+self.prefix, - #'--enable-mpi-threads', - '--enable-cxx-exceptions', - '--enable-debug', - '--enable-orterun-prefix-by-default', - ]) - commands.append(['make']) - commands.append(['make', 'install']) - for x in commands: - self.run_application(x, path) - - def mpich2_build(self, path): - commands = [] - command = [ - './configure', - '--prefix='+self.prefix, - '--enable-shared', - '--enable-sharedlibs=gcc', - '--enable-fc', - '--with-python='+sys.executable, - '--with-device=ch3:sock', - ] - if self.use_hydra_process_manager: - command.append('--with-pm=hydra:gforker') - elif self.use_gforker_process_manager: - command.append('--with-pm=gforker:hydra') - else: - command.append('--with-pm=gforker:hydra') - if not self.fortran90_compiler is None: - command.append('FC=' + self.fortran90_compiler) - - commands.append(command) - commands.append(['make']) - commands.append(['make', 'install']) - - for x in commands: - self.run_application(x, path) - - self.check_mpich2_install(commands, path) - - def fftw_build(self, path): - commands = [] - command = [ - './configure', - '--prefix='+self.prefix, - '--enable-shared', - '--enable-threads' - ] - commands.append(command) - commands.append(['make']) - commands.append(['make', 'install']) - - for x in commands: - self.run_application(x, path) - - def basic_build(self, path): - commands = [] - command = [ - './configure', - '--prefix='+self.prefix, - '--enable-shared' - ] - commands.append(command) - commands.append(['make']) - commands.append(['make', 'install']) - - for x in commands: - self.run_application(x, path) - - def netcdf_build(self, path): - env = os.environ.copy() - env['LDFLAGS'] = '-L{0}/lib64'.format(self.prefix) + env.get('LDFLAGS','') - env['CPPFLAGS'] = '-I{0}/include '.format(self.prefix) + env.get('CPPFLAGS','') - env['CFLAGS'] = '-I{0}/include '.format(self.prefix) + env.get('CFLAGS','') - commands = [] - command = [ - './configure', - '--prefix='+self.prefix, - #~ '--enable-shared' - ] - commands.append(command) - commands.append(['make']) - commands.append(['make', 'install']) - - for x in commands: - self.run_application(x, path, env=env) - - def cmake_build(self, path): - commands = [] - command = [ - './configure', - '--prefix='+self.prefix, - ] - commands.append(command) - commands.append(['make']) - commands.append(['make', 'install']) - - for x in commands: - self.run_application(x, path) - - def gmp_build(self, path): - commands = [] - command = [ - './configure', - '--prefix='+self.prefix, - '--enable-shared' - ] - commands.append(command) - commands.append(['make']) - commands.append(['make', 'check']) - commands.append(['make', 'install']) - - for x in commands: - self.run_application(x, path) - - def mpfr_build(self, path): - commands = [] - command = [ - './configure', - '--prefix='+self.prefix, - '--with-gmp='+self.prefix, - '--enable-shared', - '--enable-thread-safe' - ] - commands.append(command) - commands.append(['make']) - commands.append(['make', 'check']) - commands.append(['make', 'install']) - - for x in commands: - self.run_application(x, path) - - def check_mpich2_install(self, commands, path): - bin_directory = os.path.join(self.prefix, 'bin') - mpif90_filename = os.path.join(bin_directory, 'mpif90') - if not os.path.exists(mpif90_filename): - print("-----------------------------------------------------------------") - print("MPICH build incomplete, no fortran 90 support") - print("-----------------------------------------------------------------") - print("The 'mpif90' command was not build") - print("This is usually caused by an incompatible C and fortran compiler") - print("Please set the F90, F77 and CC environment variables") - print() - print("After changing the environment variables,") - print("you can restart the install with:") - print() - print(" ./install.py install mpich2 mpi4py") - print() - print("You can rerun the build by hand, using:") - print() - print(" cd", path) - for command in commands: - print() - if len(command) < 3: - print(' ', ' '.join(command)) - else: - print(' \\\n '.join(command)) - - sys.exit(1) - - - def openssl_build(self, path): - commands = [] - commands.append([ - './config','--prefix='+self.prefix, - ' --openssldir='+self.prefix+'/openssl', - '--shared' - ]) - commands.append(['make']) - commands.append(['make', 'install']) - for x in commands: - self.run_application(x, path) - - def download_apps(self, names, skip): - for (name, dependencies, version, prefix, suffix, url_prefix, function) in self.applications: - if names and name not in names: - continue - if skip and name in skip: - continue - app_file = prefix + version + suffix - app_dir = prefix + version - url = url_prefix + app_file - temp_app_file = os.path.join(self.temp_dir, app_file) - if not os.path.exists(temp_app_file): - print("Downloading ", app_file, url) - urllib.request.urlretrieve(url, os.path.join(self.temp_dir, app_file)) - print("...Finished") - - def list_apps(self, names, skip): - for (name, dependencies, version, prefix, suffix, url_prefix, function) in self.applications: - if skip and name in skip: - continue - print(name, " - dowloaded from", url_prefix) - - def list_download_urls(self, names, skip): - for (name, dependencies, version, prefix, suffix, url_prefix, function) in self.applications: - if skip and name in skip: - continue - app_file = prefix + version + suffix - app_dir = prefix + version - url = url_prefix + app_file - print(url) - - - def unpack_apps(self, names, skip): - for (name, dependencies, version, prefix, suffix, url_prefix, function) in self.applications: - if names and name not in names: - continue - if skip and name in skip: - continue - app_file = prefix + version + suffix - app_dir = prefix + version - url = url_prefix + app_file - temp_app_file = os.path.join(self.temp_dir, app_file) - temp_app_dir = os.path.join(self.temp_dir , app_dir) - if os.path.exists(temp_app_dir): - shutil.rmtree(temp_app_dir) - - print("Unpacking ", app_file) - try: - self.run_application(['tar','-xf',app_file], cwd=self.temp_dir) - except: - print("----------------------------------------------------------") - print("Could not unpack source file of", name) - print("----------------------------------------------------------") - print() - print("Download location may have changed") - print("Please download the source file yourself, ") - print("or contact the AMUSE development team.") - print("https://github.com/amusecode/amuse/issues") - print() - print("To download the file you can update the URL in") - print("one of the following lines and run the command.") - print() - print("curl ", url, "-o", temp_app_file) - print() - print("or") - print() - print("wget ", url, "-O", temp_app_file) - print() - print("Note: The name of the output file must not be changed (after the -o or -O parameter)") - sys.exit(1) - print("...Finished") - - def extract_path(self, app_file): - proc=subprocess.Popen(["tar","tf",app_file], stdout=subprocess.PIPE) - out,err=proc.communicate() - out=out.decode().split("\n") - return os.path.normpath(out[0]).split(os.sep)[0] - - def build_apps(self, names, skip): - for (name, dependencies, version, prefix, suffix, url_prefix, function) in self.applications: - if names and name not in names: - continue - if skip and name in skip: - continue - app_file = prefix + version + suffix - app_dir = prefix + version - temp_app_dir = self.extract_path(os.path.join(self.temp_dir , app_file) ) - temp_app_dir = os.path.join(self.temp_dir, temp_app_dir) - if not os.path.exists(temp_app_dir): - if prefix.endswith('-'): - app_dir = prefix[:-1] - else: - app_dir = prefix - temp_app_dir = os.path.join(self.temp_dir , app_dir) - if not os.path.exists(temp_app_dir): - app_file = prefix + version + suffix - if app_file.endswith('.tar.gz'): - app_dir = app_file[:-len('.tar.gz')] - elif app_file.endswith('.tar.bz2'): - app_dir = app_file[:-len('.tar.bz2')] - else: - app_dir, ignore = os.path.os.path.splitext(app_file) - - temp_app_dir = os.path.join(self.temp_dir , app_dir) - if not os.path.exists(temp_app_dir): - print("Package was not correctly unpacked: ", app_file) - return - - print("Building ", app_file) - function(temp_app_dir) - print("...Finished") - - -class InstallPrerequisitesOnOSX(InstallPrerequisites): - - def mpich2_build(self, path): - - commands = [] - command = [ - './configure', - '--prefix='+self.prefix, - '--enable-fc', - '--enable-shared', - '--with-python='+sys.executable, - '--enable-threads', - '--enable-sharedlibs=osx-gcc', - '--with-device=ch3:sock', - ] - if self.use_hydra_process_manager: - command.append('--with-pm=hydra:gforker') - elif self.use_gforker_process_manager: - command.append('--with-pm=gforker:hydra') - else: - command.append('--with-pm=hydra:gforker') - - commands.append(command) - commands.append(['make']) - commands.append(['make', 'install']) - for x in commands: - self.run_application(x, path) - - self.check_mpich2_install(commands, path) - - def mpfr_build(self, path): - commands = [] - command = [ - './configure', - '--prefix='+self.prefix, - '--with-gmp='+self.prefix, - '--enable-shared' - ] - commands.append(command) - commands.append(['make']) - commands.append(['make', 'check']) - commands.append(['make', 'install']) - - for x in commands: - self.run_application(x, path) - -class InstallMatplotlib(InstallPrerequisites): - - @late - def applications(self): - return ( - ( - 'freetype' , #name to refer by - [], #names of prerequisites (unused) - '2.4.9' , #version string - 'freetype-', '.tar.gz', #pre- and postfix for filename - 'https://download.savannah.gnu.org/releases/freetype/', #download url, filename is appended - self.basic_build #method to use for building - same as for FFTW should work - ) , - ( - 'zlib' , #name to refer by - [], #names of prerequisites (unused) - '1.2.11' , #version string - 'zlib-', '.tar.gz', #pre- and postfix for filename - 'https://downloads.sourceforge.net/project/libpng/zlib/1.2.11/', #download url, filename is appended - self.basic_build #method to use for building - same as for FFTW should work - ) , - ( - 'png' , #name to refer by - [], #names of prerequisites (unused) - '1.6.37' , #version string - 'libpng-', '.tar.gz', #pre- and postfix for filename - 'https://downloads.sourceforge.net/project/libpng/libpng16/1.6.37/', #download url, filename is appended - self.basic_build #method to use for building - same as for FFTW should work - ), - ( - 'matplotlib' , #name to refer by - [], #names of prerequisites (unused) - '2.2.2' , #version string - 'matplotlib-', '.tar.gz', #pre- and postfix for filename - 'https://pypi.python.org/packages/source/m/matplotlib/', #download url, filename is appended - self.matplotlib_build #method to use for building - same as for FFTW should work - ), - ) - - def basic_build(self, path): - commands = [] - command = [ - './configure', - '--prefix='+self.prefix, - '--enable-shared' - ] - commands.append(command) - commands.append(['make']) - commands.append(['make', 'install']) - - for x in commands: - self.run_application(x, path) - - def matplotlib_build(self, path): - env = os.environ.copy() - env['CFLAGS'] ="-I{0}/include -I{0}/include/freetype2".format(self.prefix) - env['LDFLAGS'] = "-L{0}/lib".format(self.prefix) - self.run_application([PYTHON,'setup.py','build'], cwd=path, env = env) - self.run_application([PYTHON,'setup.py','install', '--prefix='+self.prefix], cwd=path, env = env) - - -if IS_ON_OSX: - INSTALL = InstallPrerequisitesOnOSX() -else: - INSTALL = InstallPrerequisites() - -def download(names, skip): - INSTALL.download_apps(names, skip) - -def install(names, skip): - INSTALL.download_apps(names, skip) - INSTALL.unpack_apps(names, skip) - INSTALL.build_apps(names, skip) - -def listpackages(names, skip): - INSTALL.list_apps(names, skip) - -def list_download_urls(names, skip): - INSTALL.list_download_urls(names, skip) - -_commands = { - 'download' : download, - 'install' : install, - 'list' : listpackages, - 'url' : list_download_urls, -} - -if __name__ == '__main__': - print("") - - if INSTALL.fortran90_compiler is None or INSTALL.fortran77_compiler is None: - print("""No fortran 90 compiler environment variable set. -A FORTRAN 90 compiler is needed for MPI and several modules, -please set FC and F77 first by (bash, replace gfortran with your preferred -compiler): - -export FC=gfortran -export F77=gfortran - -or (csh): - -setenv FC gfortran -setenv F77 gfortran - -""") - sys.exit(1) - else: - print("Fortran 90 compiler used will be: ", INSTALL.fortran90_compiler) - print("Fortran 77 compiler used will be: ", INSTALL.fortran77_compiler) - - print("") - do = [] - names = [] - flag = False - skip = [] - - for x in sys.argv: - if x in _commands.keys(): - do.append(x) - flag = True - else: - if x == '--matplotlib': - INSTALL = InstallMatplotlib() - print("----------------------------------------------------------") - print("This feature is optional and experimental!") - print("----------------------------------------------------------") - print() - print("Will download and install matplotlib") - print("plus it most common prerequisites (zlib, png and freetype)") - elif x == '--hydra': - INSTALL.use_hydra_process_manager = True - elif x == '--gforker': - INSTALL.use_gforker_process_manager = True - elif x.startswith('--prefix='): - INSTALL.prefix = x[len('--prefix='):] - elif flag: - if x.startswith('no-'): - skip.append(x[3:]) - else: - names.append(x) - - print("Files are installed in: ", INSTALL.prefix) - print("Files are downloaded to: ", INSTALL.temp_dir) - - INSTALL.setup_temp_dir() - - for x in do: - _commands[x](names, skip) - - if len(do) == 0: - print("Usage: install.py download|install|list [package names]") - print("") - print("download download the packages to the download directory") - print("install unpack and install the packages to the prefix directory") - print("") - print("you can also install download or install individual packages") - print("please specify a list of packages to install") - print("") - print("to install all prerequisites do:") - print("") - print("./install.py install") - print("") - print("to get a list of all packages:") - print("") - print("./install.py list") - print("") - print("hydra is a modern process manager with more options and") - print("faster distributed process start-up") - print("to install mpich2 with the hydra process manager do:") - print("") - print("./install.py --hydra install") - print("") - print("the gforker process manager is easier to run (no daemon)") - print("but only works on the local machine") - print("to install mpich2 with the gforker process manager do:") - print("") - print("./install.py --gforker install") - print("") - - - sys.exit(1) diff --git a/doc/install/installing.rst b/doc/install/installing.rst new file mode 100644 index 0000000000..26ca745dde --- /dev/null +++ b/doc/install/installing.rst @@ -0,0 +1,266 @@ +Installing AMUSE +================ + +To install AMUSE, we need to + +- obtain a suitable Linux or macOS environment, +- install Conda, and +- install AMUSE. + +(AMUSE can also be installed without Conda if needed, as described below, but we +recommend using Conda.) + +If you have a Mac, then you should skip to :ref:`Setting up macOS`, and if you're +running Linux then you can go straight to :ref:`Installing Conda`. For Windows, continue +here with installing WSL. + +Installing WSL +-------------- + +AMUSE does not run on Windows natively, so if you have a Windows computer then we need +an extra step to give it a Linux environment on top of Windows to work in. This is done +by installing Windows Subsystem for Linux, or WSL, which is done as follows: + +- Open the Microsoft Store +- Install Windows Subsystem for Linux +- Restart your computer + +- Open the Microsoft Store again +- Install Ubuntu + +You can then open Ubuntu from the store or from the Windows menu. When you do that, +you'll see a terminal window in which you can type commands. + +Setting up WSL +`````````````` + +The first time you do this, Ubuntu will ask you to set a username and a password. +Remember these well (or better store them in your password manager), because you'll need +them from time to time! + +Once done, you will see a *prompt*, a bit of text ending with a dollar sign ``$``. This +is where you can type commands. It's a good idea to install the latest updates before +doing anything else. Type this after the prompt and press . + +.. code-block:: bash + + sudo apt update + + +This will ask you for your password, and then download the latest list of available +updates. We can then install them using this: + +.. code-block:: bash + + sudo apt -y upgrade + + +Now you can continue with :ref:`Installing Conda`, using the Ubuntu terminal window to +enter the instructions. + + +Setting up macOS +---------------- + +If you have an Apple computer, then you're running macOS. AMUSE works on macOS directly, +but it does require setting up a development environment first. + +Installing XCode +```````````````` + +The first step is to install the XCode Command Line Tools. To do that, open Terminal and +type this into the terminal window, then press return: + +.. code-block:: sh + + xcode-select --install + + +This should make a pop-up appear, on which you can click *Install* to start the +installation. If you don't see a pop-up, click the Apple logo at the top left of your +screen, then select System Settings..., and you'll see that there's an update available +for "Command line tools for XCode". Go ahead and install the update to make the XCode +tools available. + +Configuring the environment +``````````````````````````` + +Next, we need to make sure that AMUSE can find the files you just installed during +installation. To do that, edit the ``.zshrc`` file in your home folder and add + +.. code-block:: sh + + export SDKROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk + + +at the bottom. Then you should open a new terminal to ensure that that command has been +loaded, and then you're ready to install Conda. + +If you use Bash instead of zsh, then you'll need to edit ``.bashrc`` instead. When in +doubt, you can safely edit both files to be sure. + + +Installing Conda +---------------- + +The next step to installing AMUSE is to install Conda, if you don't already have it +available. Conda is a package manager, a program with which you can install other +programs. It's very widely used in science and beyond, so having a working Conda setup +is very useful also outside of the world of AMUSE. + +If you already have a working Conda setup, then you can continue to :ref:`Installing +AMUSE`. + +If you cannot or don't want to use Conda, see :ref:`Using a virtualenv` below. + +If you do not yet have Conda, then you can install it using the following commands in +the terminal. (Linux users can open one from the menu, Windows and macOS users will +already have one open at this point.) + +To download the miniforge Conda installer, use this command: + +.. code-block:: bash + + curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh" + + +You can then run the installer using + +.. code-block:: bash + + bash Miniforge3-$(uname)-$(uname -m).sh + + +Finally, close your terminal window and open a new one to make the ``conda`` command +properly available. + + +Installing AMUSE +---------------- + +To get a copy of the most recent release of AMUSE, go to AMUSE_Releases_ and look up the +most recent release. At the bottom of the description, you'll see a link **Source code +(tar.gz)**. Right-click that link and select "Copy link address", then use the ``curl`` +command in your terminal to download it as above, for example: + +.. code-block:: bash + + curl -L -O "https://github.com/amusecode/amuse/archive/refs/tags/v2025.5.0.tar.gz" + + +This ``.tar.gz`` file needs to be unpacked first (you may need to change the version if +you downloaded a newer one): + +.. code-block:: bash + + tar xf v2025.5.0.tar.gz + + +Then we can enter the directory with the AMUSE source code: + +.. code-block:: bash + + cd amuse-2025.5.0 + + +And then you can start the installer: + +.. code-block:: bash + + ./setup + + +From here on you can follow the instructions, using ``conda`` to create an environment +and install the dependencies. + +Installing all of the AMUSE community codes will take a while. You may want to start +with just installing the framework, and install the codes as needed. + +When the installer is done installing, you should have a working AMUSE setup. + +If you encounter any problems, then you can ask for help in the `AMUSE +Slack `_ or by `making an issue on +GitHub `_. + + +Additional packages +``````````````````` + +If you plan to follow the AMUSE tutorials then you'll need a few additional packages as +well. Fortunately, ``conda`` can help us here too: + +.. code-block:: bash + + conda install scipy astropy jupyter pandas seaborn matplotlib + + +Fixing MPI on Ubuntu +```````````````````` + +On Ubuntu and WSL, there is a final command to run that fixes an issue with OpenMPI on +that system. This is not needed on macOS or other Linux versions. + +.. code-block:: bash + + echo 'btl_tcp_if_include=lo' >>.openmpi/mca-params.conf + + +Using AMUSE in a new terminal +````````````````````````````` + +If you close the terminal and/or want to continue working with AMUSE in a newly opened +one, then you'll first need to activate the Conda environment you made again: + +.. code-block:: bash + + conda activate Amuse-env + + +Adding more codes +````````````````` + +To access the installer, you need to enter the AMUSE source directory again + +.. code-block:: bash + + cd amuse-2025.5.0 + + +and then you can run it as before using + +.. code-block:: bash + + ./setup + + +You should now have a working AMUSE setup. To start +using it, see :ref:`Getting started with AMUSE` or the :ref:`Interactive tutorial` + + +Alternative installation options +================================ + +The above instructions are the easiest way to install AMUSE, and they should work for +almost everyone wanting to use AMUSE to do astrophysics. Nevertheless, there may be +cases where you need a different setup, for example because you cannot use Conda. In +that case, you'll want one of these alternative installations. + + +Using a virtualenv +------------------ + +In some cases, you may not want to or be able to use Conda to install AMUSE. In that +case, you can use a standard Python virtual environment (or venv for short) instead. +Unlike the `conda` command, the `pip` command that comes with virtual environments can +only install Python packages, which means that we need another package manager (such as +`apt` on Ubuntu or similar, `dnf` or Fedora or similar, or Homebrew or MacPorts on +macOS) to install the dependencies. + +To install into a virtual environment, you can skip the instructions for installing +Conda (since it won't be used), and instead proceed straight away to installing AMUSE. +When the ``./setup`` command shows the instructions for making an enviroment, use the +ones for a virtual environment, and then ``./setup`` will guide you through installing +the dependencies using an appropriate external package manager and install AMUSE into +your virtual environment for you. + +.. _AMUSE_Releases: https://github.com/amusecode/amuse/releases diff --git a/doc/reference/directory-structure.rst b/doc/reference/directory-structure.rst index e3f5059c48..a9398d8b76 100644 --- a/doc/reference/directory-structure.rst +++ b/doc/reference/directory-structure.rst @@ -30,14 +30,12 @@ The ``src`` directories The directories under the ``src`` directory are further split into: +* ``amuse`` - contains the AMUSE framework, the *glue* that makes it + possible to access the community codes from a Python script and + combine them together -* ``community`` - contains the source code of existing astrophysical - applications and *glue* code to the AMUSE interface classes. In other - words this directory contains the implementation of the interfaces. -* ``support`` - contains the AMUSE generic code, defines the data - representation and input/output routines and also provides the generic - unit handling code. Code in the ``interface`` and ``community`` directories - use these functions and classes to provide their functionality. +* ``amuse_`` - contains the community codes and the AMUSE wrappers + that allow them to be used from AMUSE. The ``test`` directories diff --git a/doc/reference/stopping_conditions.rst b/doc/reference/stopping_conditions.rst index 09c50bbac5..975e89fa96 100644 --- a/doc/reference/stopping_conditions.rst +++ b/doc/reference/stopping_conditions.rst @@ -604,4 +604,4 @@ the following steps. A good example of a code implementing the stopping conditions is the "hermite" community code. The code can be found -in the 'src/amuse/community/hermite' directory. +in the 'src/amuse_hermite' directory. diff --git a/doc/install/getting-started.rst b/doc/tutorial/getting-started.rst similarity index 100% rename from doc/install/getting-started.rst rename to doc/tutorial/getting-started.rst diff --git a/doc/tutorial/index.rst b/doc/tutorial/index.rst index 96345b6e45..7be640b60a 100644 --- a/doc/tutorial/index.rst +++ b/doc/tutorial/index.rst @@ -5,7 +5,8 @@ Tutorials .. toctree:: :maxdepth: 2 - + + getting-started units most_massive_from_salpeter particle_sets @@ -15,6 +16,4 @@ Tutorials legacy_code plot grid_boundary - documenting - diff --git a/doc/tutorial/legacy_code.rst b/doc/tutorial/legacy_code.rst index d6fd6a56f1..466b4429f5 100644 --- a/doc/tutorial/legacy_code.rst +++ b/doc/tutorial/legacy_code.rst @@ -17,20 +17,20 @@ In this tutorial we will create an interface to a code. Work directory ~~~~~~~~~~~~~~ -We start by making a directory for our code. This directory should -be a subdirectory of the "src/amuse/community" directory. It also will be -a python package and we need to create the file "__init__.py" in -this directory. So, let's open a shell and go to the AMUSE -root directory. To create the code directory we then do: +we start by making a directory for our code. this directory should +be a subdirectory of the "src/" directory named "amuse_". it also +will be a python package and we need to create the file "__init__.py" in +this directory. so, let's open a shell and go to the amuse +root directory. to create the code directory we then do: .. code-block:: bash - >> cd src/amuse/community - >> mkdir mycode - >> cd mycode + >> cd src/ + >> mkdir amuse_mycode + >> cd amuse_mycode >> touch __init__.py >> pwd - ../src/amuse/community/mycode + ../src/amuse_mycode >> ls __init__.py diff --git a/examples/applications/test_jeans_instability.py b/examples/applications/test_jeans_instability.py index f3f7ddde95..2caa33e023 100644 --- a/examples/applications/test_jeans_instability.py +++ b/examples/applications/test_jeans_instability.py @@ -3,7 +3,7 @@ # from amuse.units import generic_unit_system from amuse.units import units from amuse.units import constants -from amuse.test import amusetest +from amuse.support.testing import amusetest import numpy diff --git a/lib/Makefile b/lib/Makefile new file mode 100644 index 0000000000..f4fe8acbb6 --- /dev/null +++ b/lib/Makefile @@ -0,0 +1,18 @@ +.PHONY: Makefile +LIBS = $(filter-out Makefile sapporo_light, $(wildcard *)) + + +# We build sapporo_light separately and only on demand, because it needs CUDA and we +# may not have that. +.PHONY: %-sapporo_light +%-sapporo_light: + $(MAKE) -C sapporo_light $* + + +.PHONY: install uninstall clean distclean +install uninstall clean distclean: $(LIBS) + +.PHONY: $(LIBS) +$(LIBS): + $(MAKE) -C $@ $(MAKECMDGOALS) + diff --git a/lib/amuse_mpi/Makefile b/lib/amuse_mpi/Makefile index 16c96ea9ac..13a297db1e 100644 --- a/lib/amuse_mpi/Makefile +++ b/lib/amuse_mpi/Makefile @@ -1,31 +1,29 @@ -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include $(AMUSE_DIR)/config.mk +.PHONY: Makefile support/shared/lib-configure.mk +include support/shared/lib-configure.mk -MPICC ?= mpicc -LIBNAME = libamuse_mpi.a +HEADERS_MPI = amuse_mpi.h +DYNAMIC_LIB_MPI = libamuse_mpi.so +PKG_CONFIG_FILE_MPI = amuse_mpi.pc -OBJS = amuse_mpi.o -#ifeq ($(FC_ISO_C_AVAILABLE), yes) -#OBJS += stopcondf_isoc.o -#OBJSMPI += stopcondf_isoc.o -#endif +CFLAGS += -std=c99 -all:$(LIBNAME) +OBJS_MPI = amuse_mpi.mo -CFLAGS += -fPIC +define PKG_CONFIG_CONTENTS_MPI := +prefix=$(PREFIX) +includedir=$${prefix}/include +libdir=$${prefix}/lib -$(LIBNAME): $(OBJS) - ar -r $(LIBNAME) $^ - ranlib $(LIBNAME) - -%.o: %.c - $(MPICC) $(CFLAGS) -c -o $@ $< - -%.o: %.F90 - $(MPIFC) $(FCFLAGS) -c -o $@ $< +Name: amuse_mpi +Description: The amuse_mpi library +Version: $(AMUSE_VERSION) +Cflags: -I$${includedir} +Libs: -L$${libdir} -lamuse_mpi + +endef + + +.PHONY: support/shared/lib-targets.mk +include support/shared/lib-targets.mk -clean: - rm -Rf *.o *.a *.mod diff --git a/lib/amuse_mpi/support/.gitignore b/lib/amuse_mpi/support/.gitignore new file mode 100644 index 0000000000..9e90f3be75 --- /dev/null +++ b/lib/amuse_mpi/support/.gitignore @@ -0,0 +1,6 @@ +configure~ +autom4te.cache +config.mk +config.log +config.status + diff --git a/lib/amuse_mpi/support/aclocal.m4 b/lib/amuse_mpi/support/aclocal.m4 new file mode 100644 index 0000000000..ef4a4efd6a --- /dev/null +++ b/lib/amuse_mpi/support/aclocal.m4 @@ -0,0 +1,16 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_detect_os.m4]) +m4_include([shared/m4/ax_mpi.m4]) diff --git a/lib/amuse_mpi/support/config.mk.in b/lib/amuse_mpi/support/config.mk.in new file mode 100644 index 0000000000..ba91cafc24 --- /dev/null +++ b/lib/amuse_mpi/support/config.mk.in @@ -0,0 +1,10 @@ +AMUSE_ON_MACOS = @AMUSE_ON_MACOS@ + +CC = @CC@ +AR = @AR@ +RANLIB = @RANLIB@ +INSTALL = @INSTALL@ + +MPICC = @MPICC@ +MPILIBS = @MPILIBS@ + diff --git a/lib/amuse_mpi/support/configure b/lib/amuse_mpi/support/configure new file mode 100755 index 0000000000..4da861ff46 --- /dev/null +++ b/lib/amuse_mpi/support/configure @@ -0,0 +1,5159 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-lib-amuse_mpi 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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" + if (eval "$as_required") 2>/dev/null +then : + as_have_required=yes +else $as_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-lib-amuse_mpi' +PACKAGE_TARNAME='amuse-lib-amuse_mpi' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-lib-amuse_mpi 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +RANLIB +AR +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +AMUSE_ON_MACOS +AMUSE_ON_LINUX +target_os +target_vendor +target_cpu +target +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +MPICC' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-lib-amuse_mpi 1.0 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/amuse-lib-amuse_mpi] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-lib-amuse_mpi 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + 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 + MPICC MPI C compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-lib-amuse_mpi configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-lib-amuse_mpi $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="install-sh config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- + + + if test "x$target_os" == "xlinux-gnu" + then + AMUSE_ON_LINUX=1 + fi + + if test "x$target_vendor" == "xapple" + then + AMUSE_ON_MACOS=1 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + + + # 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +printf %s "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if test ${ac_cv_path_install+y} +then : + printf %s "(cached) " >&6 +else $as_nop + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + # Account for fact that we put trailing slashes in our PATH walk. +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+y}; 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +printf "%s\n" "$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' + + +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 + + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-lib-amuse_mpi $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-lib-amuse_mpi config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/lib/amuse_mpi/support/configure.ac b/lib/amuse_mpi/support/configure.ac new file mode 100644 index 0000000000..6e24f7017f --- /dev/null +++ b/lib/amuse_mpi/support/configure.ac @@ -0,0 +1,23 @@ +AC_CONFIG_MACRO_DIRS([shared/m4]) +AC_INIT([amuse-lib-amuse_mpi], [1.0]) + +AMUSE_DETECT_OS() + +AC_PROG_CC() + +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + +AC_CONFIG_AUX_DIR([shared]) +AC_PROG_INSTALL() + +AC_LANG_PUSH(C) +AX_MPI() +AC_LANG_POP(C) + +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/lib/amuse_mpi/support/shared b/lib/amuse_mpi/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/lib/amuse_mpi/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/lib/forsockets/Makefile b/lib/forsockets/Makefile index 4b969cbcf6..cab20fae99 100644 --- a/lib/forsockets/Makefile +++ b/lib/forsockets/Makefile @@ -1,30 +1,27 @@ -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include $(AMUSE_DIR)/config.mk +.PHONY: Makefile support/shared/lib-configure.mk +include support/shared/lib-configure.mk + + +HEADERS = forsockets.h fortransocketsinterface.mod +DYNAMIC_LIB = libforsockets.so +PKG_CONFIG_FILE = forsockets.pc -LIBNAME = libforsockets.a OBJS = forsockets.o -ifeq ($(FC_ISO_C_AVAILABLE), yes) -OBJS += forsocketsf.o -endif -MPIF90 ?= mpif90 -MPICC ?= openmpicc +define PKG_CONFIG_CONTENTS := +prefix=$(PREFIX) +includedir=$${prefix}/include +libdir=$${prefix}/lib -all:$(LIBNAME) +Name: forsockets +Description: The Fortran sockets library included with AMUSE +Version: $(AMUSE_VERSION) +Cflags: -I$${includedir} +Libs: -L$${libdir} -lforsockets -CFLAGS += -O2 +endef -$(LIBNAME): $(OBJS) - ar -r $(LIBNAME) $^ - ranlib $(LIBNAME) -%.o: %.c - $(CC) $(CFLAGS) -Wall -c -o $@ $< - -%.o: %.f90 - $(FC) $(FCFLAGS) -c -o $@ $< +.PHONY: support/shared/lib-targets.mk +include support/shared/lib-targets.mk -clean: - rm -Rf *.o *.lo *.a *.mo *.mod diff --git a/lib/forsockets/forsockets.h b/lib/forsockets/forsockets.h index 77b3bb1ff8..ebf78c0762 100644 --- a/lib/forsockets/forsockets.h +++ b/lib/forsockets/forsockets.h @@ -1,3 +1,5 @@ +#pragma once + // public methods void forsockets_init(char *host, int32_t port); void forsockets_close(); @@ -15,3 +17,4 @@ void forsockets_send_floats(float *floats, int32_t length); void forsockets_send_doubles(double *doubles, int32_t length); void forsockets_send_booleans(bool *booleans, int32_t length); void forsockets_send_string(char *string, int32_t length); + diff --git a/lib/forsockets/forsocketsf.f90 b/lib/forsockets/fortransocketsinterface.f90 similarity index 100% rename from lib/forsockets/forsocketsf.f90 rename to lib/forsockets/fortransocketsinterface.f90 diff --git a/lib/forsockets/support/.gitignore b/lib/forsockets/support/.gitignore new file mode 100644 index 0000000000..9e90f3be75 --- /dev/null +++ b/lib/forsockets/support/.gitignore @@ -0,0 +1,6 @@ +configure~ +autom4te.cache +config.mk +config.log +config.status + diff --git a/lib/forsockets/support/aclocal.m4 b/lib/forsockets/support/aclocal.m4 new file mode 100644 index 0000000000..e2f6689116 --- /dev/null +++ b/lib/forsockets/support/aclocal.m4 @@ -0,0 +1,16 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_detect_os.m4]) +m4_include([shared/m4/fortran.m4]) diff --git a/lib/forsockets/support/config.mk.in b/lib/forsockets/support/config.mk.in new file mode 100644 index 0000000000..cee1b02550 --- /dev/null +++ b/lib/forsockets/support/config.mk.in @@ -0,0 +1,13 @@ +AMUSE_ON_MACOS = @AMUSE_ON_MACOS@ + +CC = @CC@ +FC = @FC@ + +CFLAGS = @CFLAGS@ +FCFLAGS = @FCFLAGS@ +LDFLAGS = @LDFLAGS@ + +AR = @AR@ +RANLIB = @RANLIB@ +INSTALL = @INSTALL@ + diff --git a/lib/forsockets/support/configure b/lib/forsockets/support/configure new file mode 100755 index 0000000000..aab0d43105 --- /dev/null +++ b/lib/forsockets/support/configure @@ -0,0 +1,5172 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-lib-forsockets 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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" + if (eval "$as_required") 2>/dev/null +then : + as_have_required=yes +else $as_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-lib-forsockets' +PACKAGE_TARNAME='amuse-lib-forsockets' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-lib-forsockets 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +RANLIB +AR +ac_ct_FC +FCFLAGS +FC +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +AMUSE_ON_MACOS +AMUSE_ON_LINUX +target_os +target_vendor +target_cpu +target +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +FC +FCFLAGS' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-lib-forsockets 1.0 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/amuse-lib-forsockets] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-lib-forsockets 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + 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 + FC Fortran compiler command + FCFLAGS Fortran compiler flags + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-lib-forsockets configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-lib-forsockets $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="install-sh config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- + + + if test "x$target_os" == "xlinux-gnu" + then + AMUSE_ON_LINUX=1 + fi + + if test "x$target_vendor" == "xapple" + then + AMUSE_ON_MACOS=1 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +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 + + + +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + + + # 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +printf %s "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if test ${ac_cv_path_install+y} +then : + printf %s "(cached) " >&6 +else $as_nop + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + # Account for fact that we put trailing slashes in our PATH walk. +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+y}; 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +printf "%s\n" "$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' + + +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-lib-forsockets $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-lib-forsockets config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/lib/forsockets/support/configure.ac b/lib/forsockets/support/configure.ac new file mode 100644 index 0000000000..e2b74a92e5 --- /dev/null +++ b/lib/forsockets/support/configure.ac @@ -0,0 +1,21 @@ +AC_CONFIG_MACRO_DIRS([shared/m4]) +AC_INIT([amuse-lib-forsockets], [1.0]) + +AMUSE_DETECT_OS() + +AC_PROG_CC() +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + +AC_CONFIG_AUX_DIR([shared]) +AC_PROG_INSTALL() + +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/lib/forsockets/support/shared b/lib/forsockets/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/lib/forsockets/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/lib/g6/Makefile b/lib/g6/Makefile deleted file mode 100644 index ebb49c6481..0000000000 --- a/lib/g6/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include $(AMUSE_DIR)/config.mk - -all:libg6.a - -CFLAGS += -O2 - -libg6.a: g6lib.o - ar -r libg6.a g6lib.o - ranlib libg6.a - - -clean: - rm -Rf *.o *.lo *.a diff --git a/lib/g6lib/Makefile b/lib/g6lib/Makefile new file mode 100644 index 0000000000..54ae88e247 --- /dev/null +++ b/lib/g6lib/Makefile @@ -0,0 +1,30 @@ +.PHONY: Makefile support/shared/lib-configure.mk +include support/shared/lib-configure.mk + + +HEADERS = g6lib.h +DYNAMIC_LIB = libg6.so +PKG_CONFIG_FILE = g6lib.pc + +CFLAGS += -std=c99 +LIBS = -lm + +OBJS = g6lib.o + +define PKG_CONFIG_CONTENTS := +prefix=$(PREFIX) +includedir=$${prefix}/include +libdir=$${prefix}/lib + +Name: g6lib +Description: GRAPE6 emulation library +Version: $(AMUSE_VERSION) +Cflags: -I$${includedir} +Libs: -L$${libdir} -lg6 + +endef + + +.PHONY: support/shared/lib-targets.mk +include support/shared/lib-targets.mk + diff --git a/lib/g6/g6lib.c b/lib/g6lib/g6lib.c similarity index 88% rename from lib/g6/g6lib.c rename to lib/g6lib/g6lib.c index e43eda31a4..146a6ca1a7 100644 --- a/lib/g6/g6lib.c +++ b/lib/g6lib/g6lib.c @@ -7,19 +7,19 @@ #define MAX_NUMBER_OF_PARTICLES 100000 typedef double vector3[3]; - + struct g6_j_particle_tag { int id; - + double tj; double dtj; double mass; - - vector3 a2by18; + + vector3 a2by18; vector3 a1by6; - vector3 aby2; - - vector3 v; + vector3 aby2; + + vector3 v; vector3 x; }; typedef struct g6_j_particle_tag g6_j_particle; @@ -29,11 +29,11 @@ struct g6_i_particle_tag{ vector3 x; vector3 v; double eps2; - double h2; - + double h2; + vector3 acc; vector3 jerk; - double pot; + double pot; double nearest_r_squared; int nearest_j; }; @@ -42,7 +42,7 @@ typedef struct g6_i_particle_tag g6_i_particle; struct g6_j_predict_tag { int id; - vector3 v; + vector3 v; vector3 x; }; typedef struct g6_j_predict_tag g6_j_predicted_particle; @@ -51,11 +51,11 @@ struct g6_unit_tag{ g6_j_particle j_particles[MAX_NUMBER_OF_PARTICLES]; g6_i_particle i_particles[MAX_NUMBER_OF_PARTICLES]; g6_j_predicted_particle jp_particles[MAX_NUMBER_OF_PARTICLES]; - + double ti; double nj; double ni; - + }; typedef struct g6_unit_tag g6_unit; @@ -66,32 +66,32 @@ void predict_positions_and_velocities_for_j_particles() { for( n = 0 ; n < unit->nj; n++) { g6_j_particle * current_j = unit->j_particles + n; g6_j_predicted_particle * current_jp = unit->jp_particles + n; - + current_jp->id = current_j->id; - + double delta_t = unit->ti - current_j->tj; double delta_t2 = delta_t * delta_t; double delta_t3 = delta_t2 * delta_t; double delta_t4 = delta_t2 * delta_t2; - + for( k = 0; k < 3; k++) { double delta_x = (current_j->v[k] * delta_t); delta_x += (current_j->aby2[k] * delta_t2); delta_x += (current_j->a1by6[k] * delta_t3); delta_x += (current_j->a2by18[k] * 3.0 / 4.0 * delta_t4); - + current_jp->x[k] = delta_x + current_j->x[k]; - + double delta_v = ((current_j->aby2[k]) * 2.0 * delta_t); delta_v += ((current_j->a1by6[k]) * 3.0 * delta_t3); delta_v += ((current_j->a2by18[k]) * 6.0 * delta_t4); - + current_jp->v[k] = delta_v + current_j->v[k]; } } } -inline double vec_squared(vector3 v){ +static inline double vec_squared(vector3 v){ int k; double result = 0.0; for(k = 0; k < 3; k++) { @@ -100,7 +100,7 @@ inline double vec_squared(vector3 v){ return result; } -inline double vec_dot(vector3 va, vector3 vb){ +static inline double vec_dot(vector3 va, vector3 vb){ int k; double result = 0.0; for(k = 0; k < 3; k++) { @@ -109,7 +109,7 @@ inline double vec_dot(vector3 va, vector3 vb){ return result; } -inline void clear_i_particle(g6_i_particle * particle) { +static inline void clear_i_particle(g6_i_particle * particle) { int k; for(k = 0; k < 3; k++) { particle->acc[k] = 0.0; @@ -117,66 +117,66 @@ inline void clear_i_particle(g6_i_particle * particle) { } particle->pot = 0.0; particle->nearest_r_squared = 0.0; - particle->nearest_j = -1; + particle->nearest_j = -1; } void calculate_acceleration_jerk_and_potential_for_i_particles() { int i,j,k; - + for(i = 0 ; i < unit->ni; i++) { g6_i_particle * current_i = unit->i_particles + i; - - clear_i_particle(current_i); - + + clear_i_particle(current_i); + for(j = 0; j < unit->nj ; j++) { g6_j_particle * current_j = unit->j_particles + j; - g6_j_predicted_particle * current_jp = unit->jp_particles + j; - + g6_j_predicted_particle * current_jp = unit->jp_particles + j; + if(current_i->id == current_j->id) { continue; } if(current_j->id == -1) { continue; } - + vector3 rij = {0.0,0.0,0.0}; vector3 vij = {0.0,0.0,0.0}; for(k = 0; k < 3; k++) { rij[k] = current_jp->x[k] - current_i->x[k]; vij[k] = current_jp->v[k] - current_i->v[k]; } - + double r_squared = vec_squared(rij); - + if( current_i->nearest_j < 0 || r_squared < current_i->nearest_r_squared) { current_i->nearest_r_squared = r_squared; current_i->nearest_j = current_j->id; } - + double r_squared_smooth = r_squared + current_i->eps2; - + /* if(r_squared_smooth == 0.0) { fprintf(stderr,"distance between two particles is 0!n"); continue; } */ - + double r_squared_smooth_raised_32 = pow(r_squared_smooth, 3.0 / 2.0); double r_squared_smooth_raised_52 = pow(r_squared_smooth, 5.0 / 2.0); double r_squared_smooth_raised_12 = pow(r_squared_smooth, 1.0 / 2.0); - + double gmj = current_j->mass; - + double r_dot_v = vec_dot(rij, vij); - + for(k = 0; k < 3; k++) { double acceleration = gmj * rij[k] / r_squared_smooth_raised_32; - + double jerk = vij[k] / r_squared_smooth_raised_32; jerk -= (3 * r_dot_v * rij[k]) / r_squared_smooth_raised_52; jerk *= gmj; - + current_i->acc[k] += acceleration; current_i->jerk[k] += jerk; } @@ -193,7 +193,7 @@ int g6_open(int id) { int g6_open_(int *id) { int i =0; - + if(unit) { free(unit); } @@ -201,7 +201,7 @@ int g6_open_(int *id) { if (!unit) { return -1; } - + g6_reset_(id); //fprintf(stderr, "open %d\n", sizeof(g6_unit)); return 0; @@ -259,19 +259,19 @@ int g6_set_ti_(int *id, double *ti){ int g6_set_j_particle(int clusterid, int address, int index, - double tj, - double dtj, + double tj, + double dtj, double mass, - double a2by18[3], + double a2by18[3], double a1by6[3], - double aby2[3], + double aby2[3], double v[3], double x[3]) { return g6_set_j_particle_(&clusterid, &address, &index, &tj, &dtj, &mass, a2by18, a1by6, aby2, v, x); } - + int g6_set_j_particle_(int *cluster_id, int *address, int *index, @@ -282,8 +282,8 @@ int g6_set_j_particle_(int *cluster_id, //fprintf(stderr, "g6_set_j_particle_ %d, %d\n", *address, *index); if(*address > MAX_NUMBER_OF_PARTICLES) { return -1; - } - + } + g6_j_particle * particle = &(unit->j_particles[*address]); particle->id = *index; particle->tj = *tj; @@ -293,37 +293,37 @@ int g6_set_j_particle_(int *cluster_id, particle->a2by18[0] = a2by18[0]; particle->a2by18[1] = a2by18[1]; particle->a2by18[2] = a2by18[2]; - + particle->a1by6[0] = a1by6[0]; particle->a1by6[1] = a1by6[1]; particle->a1by6[2] = a1by6[2]; - + particle->aby2[0] = aby2[0]; particle->aby2[1] = aby2[1]; particle->aby2[2] = aby2[2]; - + particle->v[0] = v[0]; particle->v[1] = v[1]; particle->v[2] = v[2]; - + particle->x[0] = x[0]; particle->x[1] = x[1]; particle->x[2] = x[2]; - + //fprintf(stderr,"xj[%d,%d] = %f (%d)\n", *address, 0, particle->x[0], particle ); return 0; } -void g6calc_firsthalf(int clusterid, - int nj, - int ni, - int index[], - double xi[][3], - double vi[][3], +void g6calc_firsthalf(int clusterid, + int nj, + int ni, + int index[], + double xi[][3], + double vi[][3], double fold[][3], - double jold[][3], - double phiold[], - double eps2, + double jold[][3], + double phiold[], + double eps2, double h2[]) { return g6calc_firsthalf_(&clusterid, &nj, &ni, index, xi, @@ -333,12 +333,12 @@ void g6calc_firsthalf(int clusterid, void g6calc_firsthalf_(int *cluster_id, int *nj, int *ni, - int index[], + int index[], double xi[][3], double vi[][3], double aold[][3], double j6old[][3], - double phiold[3], + double phiold[3], double *eps2, double h2[]){ - + //fprintf(stderr, "g6calc_firsthalf_ %d, %d, %d\n", *nj, *ni, index[0]); int i = 0; unit->ni = *ni; @@ -346,17 +346,17 @@ void g6calc_firsthalf_(int *cluster_id, for(i=0; i<*ni; i++) { g6_i_particle * particle = &(unit->i_particles[i]); particle->id = index[i]; - + particle->v[0] = vi[i][0]; particle->v[1] = vi[i][1]; particle->v[2] = vi[i][2]; - + particle->x[0] = xi[i][0]; particle->x[1] = xi[i][1]; particle->x[2] = xi[i][2]; - + particle->eps2 = *eps2; - + particle->h2 = h2[i]; } } @@ -364,7 +364,7 @@ void g6calc_firsthalf_(int *cluster_id, - + int g6calc_lasthalf(int clusterid, int nj, int ni, @@ -372,7 +372,7 @@ int g6calc_lasthalf(int clusterid, double xi[][3], double vi[][3], double eps2, - double h2[], + double h2[], double acc[][3], double jerk[][3], double pot[]){ @@ -381,59 +381,59 @@ int g6calc_lasthalf(int clusterid, } int g6calc_lasthalf_(int *cluster_id, int *nj, int *ni, - int index[], + int index[], double xi[][3], double vi[][3], double *eps2, double h2[], double acc[][3], double jerk[][3], double pot[]){ //fprintf(stderr, "g6calc_lasthalf_ %d, %d, %d\n", *nj, *ni, index[0]); - - + + predict_positions_and_velocities_for_j_particles(); calculate_acceleration_jerk_and_potential_for_i_particles(); - + int i = 0; for(i=0; i<*ni; i++) { g6_i_particle * particle = &(unit->i_particles[i]); index[i] = particle->id; - + acc[i][0] = particle->acc[0]; acc[i][1] = particle->acc[1]; acc[i][2] = particle->acc[2]; - + jerk[i][0] = particle->jerk[0]; jerk[i][1] = particle->jerk[1]; jerk[i][2] = particle->jerk[2]; - + pot[i] = particle->pot; } return 0; } int g6calc_lasthalf2_(int *cluster_id, int *nj, int *ni, - int index[], + int index[], double xi[][3], double vi[][3], double *eps2, double h2[], double acc[][3], double jerk[][3], double pot[], int nnbindex[]){ //fprintf(stderr, "g6calc_lasthalf2_ %d, %d, %d\n", *nj, *ni, index[0]); - + predict_positions_and_velocities_for_j_particles(); calculate_acceleration_jerk_and_potential_for_i_particles(); //fprintf(stderr, "g6calc_lasthalf2_ %d, %d, %d\n", *nj, *ni, index[0]); - + int i = 0; for(i=0; i<*ni; i++) { g6_i_particle * particle = &(unit->i_particles[i]); index[i] = particle->id; - + acc[i][0] = particle->acc[0]; acc[i][1] = particle->acc[1]; acc[i][2] = particle->acc[2]; - + jerk[i][0] = particle->jerk[0]; jerk[i][1] = particle->jerk[1]; jerk[i][2] = particle->jerk[2]; - + pot[i] = particle->pot; nnbindex[i] = particle->nearest_j; } @@ -451,14 +451,14 @@ int g6_flush_jp_buffer_(int* cluster_id){ int g6_reset_(int* cluster_id){ //fprintf(stderr, "g6_reset_\n"); int i; - + memset(unit, sizeof(g6_unit), 0); for (i = 0; i < MAX_NUMBER_OF_PARTICLES; i++) { - unit->j_particles[i].id = -1; - unit->i_particles[i].id = -1; + unit->j_particles[i].id = -1; + unit->i_particles[i].id = -1; unit->jp_particles[i].id = -1; } - + return 0; } int g6_reset_fofpga_(int* cluster_id){ @@ -479,3 +479,4 @@ int g6_get_neighbour_list_(int *cluster_id, //fprintf(stderr, "g6_get_neighbour_list_\n"); return 0; } + diff --git a/lib/g6/g6lib.h b/lib/g6lib/g6lib.h similarity index 100% rename from lib/g6/g6lib.h rename to lib/g6lib/g6lib.h diff --git a/lib/g6lib/support/.gitignore b/lib/g6lib/support/.gitignore new file mode 100644 index 0000000000..9e90f3be75 --- /dev/null +++ b/lib/g6lib/support/.gitignore @@ -0,0 +1,6 @@ +configure~ +autom4te.cache +config.mk +config.log +config.status + diff --git a/lib/g6lib/support/aclocal.m4 b/lib/g6lib/support/aclocal.m4 new file mode 100644 index 0000000000..1e0a28b702 --- /dev/null +++ b/lib/g6lib/support/aclocal.m4 @@ -0,0 +1,15 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_detect_os.m4]) diff --git a/lib/g6lib/support/config.mk.in b/lib/g6lib/support/config.mk.in new file mode 100644 index 0000000000..0b0a9229a5 --- /dev/null +++ b/lib/g6lib/support/config.mk.in @@ -0,0 +1,7 @@ +AMUSE_ON_MACOS = @AMUSE_ON_MACOS@ +CC = @CC@ +AR = @AR@ +RANLIB = @RANLIB@ +PYTHON = @PYTHON@ +INSTALL = @INSTALL@ + diff --git a/lib/g6lib/support/configure b/lib/g6lib/support/configure new file mode 100755 index 0000000000..c154909a3b --- /dev/null +++ b/lib/g6lib/support/configure @@ -0,0 +1,4916 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-lib-g6 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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" + if (eval "$as_required") 2>/dev/null +then : + as_have_required=yes +else $as_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-lib-g6' +PACKAGE_TARNAME='amuse-lib-g6' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-lib-g6 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +PYTHON +RANLIB +AR +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +AMUSE_ON_MACOS +AMUSE_ON_LINUX +target_os +target_vendor +target_cpu +target +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-lib-g6 1.0 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/amuse-lib-g6] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-lib-g6 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + 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 + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-lib-g6 configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-lib-g6 $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="install-sh config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- + + + if test "x$target_os" == "xlinux-gnu" + then + AMUSE_ON_LINUX=1 + fi + + if test "x$target_vendor" == "xapple" + then + AMUSE_ON_MACOS=1 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}python3", so it can be a program name with args. +set dummy ${ac_tool_prefix}python3; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_PYTHON+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$PYTHON"; then + ac_cv_prog_PYTHON="$PYTHON" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="${ac_tool_prefix}python3" + printf "%s\n" "$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=$ac_cv_prog_PYTHON +if test -n "$PYTHON"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 +printf "%s\n" "$PYTHON" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_PYTHON"; then + ac_ct_PYTHON=$PYTHON + # Extract the first word of "python3", so it can be a program name with args. +set dummy python3; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_PYTHON+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_PYTHON"; then + ac_cv_prog_ac_ct_PYTHON="$ac_ct_PYTHON" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_PYTHON="python3" + printf "%s\n" "$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_PYTHON=$ac_cv_prog_ac_ct_PYTHON +if test -n "$ac_ct_PYTHON"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_PYTHON" >&5 +printf "%s\n" "$ac_ct_PYTHON" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_PYTHON" = x; then + PYTHON=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PYTHON=$ac_ct_PYTHON + fi +else + PYTHON="$ac_cv_prog_PYTHON" +fi + +if test $PYTHON = ":" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Python 3 not found, cannot run tests." >&5 +printf "%s\n" "$as_me: WARNING: Python 3 not found, cannot run tests." >&2;} +fi + + + + # 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +printf %s "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if test ${ac_cv_path_install+y} +then : + printf %s "(cached) " >&6 +else $as_nop + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + # Account for fact that we put trailing slashes in our PATH walk. +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+y}; 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +printf "%s\n" "$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' + + +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-lib-g6 $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-lib-g6 config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/lib/g6lib/support/configure.ac b/lib/g6lib/support/configure.ac new file mode 100644 index 0000000000..c658685deb --- /dev/null +++ b/lib/g6lib/support/configure.ac @@ -0,0 +1,22 @@ +AC_CONFIG_MACRO_DIRS([shared/m4]) +AC_INIT([amuse-lib-g6], [1.0]) + +AMUSE_DETECT_OS() + +AC_PROG_CC() + +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + +AC_CHECK_TOOL([PYTHON], [python3], [:]) +AS_IF([test $PYTHON = ":"], [AC_MSG_WARN([Python 3 not found, cannot run tests.])]) + +AC_CONFIG_AUX_DIR([shared]) +AC_PROG_INSTALL() + +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/lib/g6lib/support/shared b/lib/g6lib/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/lib/g6lib/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/lib/sapporo_2/Makefile b/lib/sapporo_2/Makefile index c73ad711af..2ca146c98d 100644 --- a/lib/sapporo_2/Makefile +++ b/lib/sapporo_2/Makefile @@ -1,66 +1,10 @@ -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include $(AMUSE_DIR)/config.mk - - -CXX ?= g++ -CC ?= gcc -LD ?= g++ - -.SUFFIXES: .o .cpp .ptx .cu - -CUDA_TK ?= /usr/local/cuda - -OFLAGS = -g -Wall -fopenmp - -CXXFLAGS = -fPIC $(OFLAGS) -I$(CUDA_TK)/include -D__INCLUDE_KERNELS__ $(CL_CFLAGS) - -NVCC = $(CUDA_TK)/bin/nvcc -NVCCFLAGS ?= $(NVCC_FLAGS) - -export NVCCFLAGS NVCC CXXFLAGS - -# Use with Mac OS X -# NVCCFLAGS = -arch sm_12 -Xcompiler="-Duint=unsigned\ int" - -CODEDIR=src/sapporo2-master - -ifeq (yes,$(CUDA_ENABLED)) -all:$(CODEDIR)/lib/Makefile - make -C $(CODEDIR)/lib - cp $(CODEDIR)/lib/libsapporo.a . - -ifdef DOWNLOAD_CODES -$(CODEDIR)/lib/Makefile:download.py - $(PYTHON) download.py -else -$(CODEDIR)/lib/Makefile: - @echo "" - @echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - @echo "" - @echo "DOWNLOAD_CODES is not set. Sapporo 2 will not be downloaded and build." - @echo "If you do want Sapporo 2, set DOWNLOAD_CODES to 1." - @echo "bash> export DOWNLOAD_CODES=1" - @echo "csh> setenv DOWNLOAD_CODES 1" - @echo "" -endif -else -all: - @echo "" - @echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - @echo "" - @echo "CUDA support is not enabled, sapporo 2 will not be build" - @echo "" - @make -s --no-print-directory -C . raise_error -endif +.PHONY: Makefile install uninstall +install uninstall: + @echo Sapporo2 is disabled for the moment, please let us know if you need it. +.PHONY: clean: - echo $(CUDA_ENABLED) - -rm -f libsapporo.a - -make -C $(CODEDIR)/lib clean - + +.PHONY: distclean: - -rm -f libsapporo.a - rm -Rf src - rm -Rf src.* + diff --git a/lib/sapporo_light/Makefile b/lib/sapporo_light/Makefile index d90433d517..41328e5d08 100644 --- a/lib/sapporo_light/Makefile +++ b/lib/sapporo_light/Makefile @@ -1,60 +1,100 @@ -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) +.PHONY: Makefile support/shared/lib-configure.mk +include support/shared/lib-configure.mk + + +HEADERS = sapporo.h sapporo_defs.h sapporo_multi.h g6lib.h +DYNAMIC_LIB = libsapporo.so +PKG_CONFIG_FILE = sapporo_light.pc + +NVCCFLAGS += -D_CONSOLE -D_DEBUG -maxrregcount=32 +CXXFLAGS += -DNGB -Wno-narrowing +LIBS += -lcudart + +OBJS = sapporo.o send_fetch_data.o sapporoG6lib.o host_evaluate_gravity.o + +define PKG_CONFIG_CONTENTS := +prefix=$(PREFIX) +includedir=$${prefix}/include +libdir=$${prefix}/lib + +Name: sapporo_light +Description: The sapporo_light library +Version: $(VERSION) +Cflags: -I$${includedir} +Libs: -L$${libdir} -lsapporo + +endef + +# Main targets +.PHONY: all +all: $(DYNAMIC_LIB) $(DYNAMIC_LIB_MPI) + +.DEFAULT_GOAL := all + + +# Install into an active venv or Conda env if no location is specified +ifdef VIRTUAL_ENV +PREFIX ?= $(VIRTUAL_ENV) endif --include $(AMUSE_DIR)/config.mk -.SUFFIXES: .cu +ifdef CONDA_PREFIX +PREFIX ?= $(CONDA_PREFIX) +endif -CUDA_TK ?= /disks/koppoel1/CUDA23/cuda +ifndef PREFIX +ifeq ($(MAKECMDGOALS),install) +$(error PREFIX is not set and no virtualenv or Conda env is active.) +endif +endif -CUDAPATH ?= $(CUDA_TK) -CUDAINCLUDE ?= -I$(CUDAPATH)/include -CXX ?= g++ -CC ?= gcc -NVCC ?= $(CUDAPATH)/bin/nvcc +# Note that the pkg-config files get built at install time, because PREFIX +# ends up inside of them, and it may not be defined when make all is called. +.PHONY: install +install: all $(PKG_CONFIG_FILE) + mkdir -p $(PREFIX)/include $(PREFIX)/lib/pkgconfig + $(INSTALL) -m 644 $(HEADERS) $(PREFIX)/include/ + $(INSTALL) -m 644 $(DYNAMIC_LIB) $(PREFIX)/lib/$(DYNAMIC_LIB) + $(INSTALL) -m 644 $(PKG_CONFIG_FILE) $(PREFIX)/lib/pkgconfig/$(PKG_CONFIG_FILE) -NVCCFLAGS := $(NVCC_FLAGS) -D_CONSOLE -D_DEBUG -maxrregcount=32 $(CUDAINCLUDE) -CXXFLAGS := -g -DNGB $(CUDAINCLUDE) -LDFLAGS := +INSTALLED_HEADERS=$(foreach h,$(HEADERS),$(PREFIX)/include/$(h)) -OBJS = \ - sapporo.o \ - send_fetch_data.o \ - sapporoG6lib.o +.PHONY: uninstall +uninstall: + rm -f $(INSTALLED_HEADERS) + rm -f $(PREFIX)/lib/$(DYNAMIC_LIB) + rm -f $(PREFIX)/lib/pkgconfig/$(PKG_CONFIG_FILE) -CUOBJS = host_evaluate_gravity.cu_o -TARGET = libsapporo.a -all: $(CUDA_TK) $(TARGET) $(PROG) +# Build the library -$(CUDA_TK): - @echo "" - @echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - @echo "" - @echo "------------" - @echo "CUDA_TK variable is not set to a valid path," - @echo "please set the CUDA_TK variable to the directory" - @echo "where you installed CUDA" - @echo "the CUDA_TK directory must contain a bin directory with the executable" - @echo "" - @echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - @echo "" - @make -s --no-print-directory -C . raise_error +CFLAGS += -fPIC +CXXFLAGS += -fPIC +NVCCFLAGS += --compiler-options '-fPIC' +$(DYNAMIC_LIB): $(OBJS) $(CUOBJS) + $(CXX) -shared -o $@ $^ $(LIBS) -$(TARGET): $(OBJS) $(CUOBJS) - ar qv $@ $^ - ranlib $@ +%.o: %.c + $(CC) $(CFLAGS) -c -o $@ $< -.cpp.o: - $(CXX) $(CXXFLAGS) -c $< -o $@ +%.o: %.cpp + $(CXX) $(CXXFLAGS) -c -o $@ $< -%.cu_o: %.cu +%.o: %.cu $(NVCC) $(NVCCFLAGS) -c $< -o $@ +$(PKG_CONFIG_FILE): + $(file >$@,$(PKG_CONFIG_CONTENTS)) + + +.PHONY: clean clean: - /bin/rm -rf *.o *.cu_o $(TARGET) - /bin/rm -rf test_gravity_block test_gravity_N2ngb + rm -rf *.o *.a *.so *.pc + rm -f support/config.mk support/config.log support/config.status + +.PHONY: distclean +distclean: clean + rm -rf support/autom4te.cache support/configure~ diff --git a/lib/sapporo_light/README b/lib/sapporo_light/README index e50d93fd47..3d626a213a 100644 --- a/lib/sapporo_light/README +++ b/lib/sapporo_light/README @@ -1,10 +1,10 @@ Sapporo Light library v1.0 to simulate GRAPE6 hardware with G80/G92 GPUs. -Testes with CUDA version 3.0 +Tested with CUDA version 3.0 Type 'make' to compile the library (libsapporo.a). - -This "Light" version of Sapporo is without + +This "Light" version of Sapporo is without multi-threading support and does not need C++. This makes it easier to integrate into fortran codes, but beware, it can only use one @@ -15,10 +15,10 @@ If you have further questions, feel free to contact me. (c) 2010 Arjen van Elteren, vanelteren@strw.leidenuniv.nl - + (c) 2008 Evghenii Gaburov, egaburov@science.uva.nl - Sterrenkundig Instituut "Anton Pannekoek" + Sterrenkundig Instituut "Anton Pannekoek" Section Computational Science Universiteit van Amsterdam diff --git a/lib/sapporo_light/sapporo.cpp b/lib/sapporo_light/sapporo.cpp index 4b4fdb0e0c..3ad6e5ab83 100644 --- a/lib/sapporo_light/sapporo.cpp +++ b/lib/sapporo_light/sapporo.cpp @@ -10,7 +10,7 @@ sapporo_multi_struct sapporo_multi_data[MAXCUDADEVICES]; double get_time() { struct timeval Tvalue; struct timezone dummy; - + gettimeofday(&Tvalue,&dummy); return ((double) Tvalue.tv_sec + 1.e-6*((double) Tvalue.tv_usec)); @@ -26,17 +26,17 @@ int sapporo::open(int cluster_id) { fprintf(stderr, "sapporo::open - FATAL! No CUDA device found\n"); exit(-1); } - + nj_max = 131072; if(cluster_id >= nCUDAdevices) { fprintf(stderr, "sapporo::open - FATAL! Cluster id is too high, no cuda device with given id\n"); return -1; } - + device_id = cluster_id; cudaSetDevice(device_id); allocate_cuda_memory(device_id); - + return 0; } @@ -82,11 +82,11 @@ int sapporo::set_j_particle(int cluster_id, DS Dmass = (DS){mass, INT_AS_FLOAT(id)}; map::iterator iterator = mapping_from_address_j_to_index_in_update_array.find(address); map::iterator end = mapping_from_address_j_to_index_in_update_array.end(); - + if(iterator != end) { //int index = (*iterator).first; - int index = (*iterator).second; //Jeroen 1-march-2011, + int index = (*iterator).second; //Jeroen 1-march-2011, //printf("found index: %d for address: %d\n", index, address); t_j[index] = (DS2){to_DS(tj), to_DS(dtj)}; pos_j[index] = ( (DS4){to_DS(x[0]), to_DS(x[1]), to_DS(x[2]), Dmass} ); @@ -113,15 +113,15 @@ int sapporo::set_j_particle(int cluster_id, void sapporo::calc_firsthalf(int cluster_id, int nj, int ni, - int id[], + int id[], double xi[][3], double vi[][3], double aold[][3], double j6old[][3], - double phiold[3], + double phiold[3], double eps2, double h2[]) { - - - - + + + + for (int i = 0; i < ni; i++) { DS Dmass = (DS){h2[i], INT_AS_FLOAT(id[i])}; pos_i[i] = (DS4) { to_DS(xi[i][0]), @@ -153,7 +153,7 @@ void sapporo::calc_firsthalf(int cluster_id, int sapporo::calc_lasthalf(int cluster_id, int nj, int ni, - int index[], + int index[], double xi[][3], double vi[][3], double eps2, double h2[], double acc[][3], double jerk[][3], double pot[]) { @@ -164,16 +164,16 @@ int sapporo::calc_lasthalf(int cluster_id, jerk[i][0] = jerk[i][1] = jerk[i][2] = 0; } fetch_data_from_device(device_id, ni); - + for (int i = 0; i < ni; i++) { float4 acci = acc_i[i]; float4 jrki = jrk_i[i]; pot[i] += acci.w; - + acc[i][0] += acci.x; acc[i][1] += acci.y; acc[i][2] += acci.z; - + jerk[i][0] += jrki.x; jerk[i][1] += jrki.y; jerk[i][2] += jrki.z; @@ -184,12 +184,12 @@ int sapporo::calc_lasthalf(int cluster_id, int sapporo::calc_lasthalf2(int cluster_id, int nj, int ni, - int index[], + int index[], double xi[][3], double vi[][3], double eps2, double h2[], double acc[][3], double jerk[][3], double pot[], int nnbindex[]) { - + float ds_min[NTHREADS]; for (int i = 0; i < ni; i++) { @@ -224,7 +224,7 @@ int sapporo::calc_lasthalf2(int cluster_id, if (ds < ds_min[i]) { int nnb = (int)(jrki.w); - nnbindex[i] = nnb; + nnbindex[i] = nnb; ds_min[i] = ds; } } @@ -240,7 +240,7 @@ int sapporo::read_ngb_list(int cluster_id) { overflow = true; } } - + return overflow; } @@ -256,7 +256,7 @@ int sapporo::get_ngb_list(int cluster_id, ipipe, device.ni); exit(-1); } - + bool overflow = false; nblen = 0; int offset = device_id*NGB_PP*n_pipes + NGB_PP*ipipe; diff --git a/lib/sapporo_light/support/.gitignore b/lib/sapporo_light/support/.gitignore new file mode 100644 index 0000000000..9e90f3be75 --- /dev/null +++ b/lib/sapporo_light/support/.gitignore @@ -0,0 +1,6 @@ +configure~ +autom4te.cache +config.mk +config.log +config.status + diff --git a/lib/sapporo_light/support/aclocal.m4 b/lib/sapporo_light/support/aclocal.m4 new file mode 100644 index 0000000000..48a06a59cd --- /dev/null +++ b/lib/sapporo_light/support/aclocal.m4 @@ -0,0 +1,16 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_cuda.m4]) +m4_include([shared/m4/amuse_detect_os.m4]) diff --git a/lib/sapporo_light/support/config.mk.in b/lib/sapporo_light/support/config.mk.in new file mode 100644 index 0000000000..e392c6149f --- /dev/null +++ b/lib/sapporo_light/support/config.mk.in @@ -0,0 +1,17 @@ +AMUSE_ON_MACOS = @AMUSE_ON_MACOS@ + +CC = @CC@ +CXX = @CXX@ + +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +AR = @AR@ +RANLIB = @RANLIB@ +INSTALL = @INSTALL@ + +CUDA_TK = @CUDA_TK@ +NVCC = @NVCC@ +CUDA_FLAGS = @CUDA_FLAGS@ +CUDA_LDFLAGS = @CUDA_LDFLAGS@ + diff --git a/lib/sapporo_light/support/configure b/lib/sapporo_light/support/configure new file mode 100755 index 0000000000..c3a511a1fe --- /dev/null +++ b/lib/sapporo_light/support/configure @@ -0,0 +1,6744 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-lib-stopcond 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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" + if (eval "$as_required") 2>/dev/null +then : + as_have_required=yes +else $as_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-lib-stopcond' +PACKAGE_TARNAME='amuse-lib-stopcond' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-lib-stopcond 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +CUDA_LDFLAGS +CUDA_FLAGS +NVCC +amuse_cuda_verify_NVCC +CUDA_TK +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +RANLIB +AR +ac_ct_CXX +CXXFLAGS +CXX +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +AMUSE_ON_MACOS +AMUSE_ON_LINUX +target_os +target_vendor +target_cpu +target +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +CUDA_TK' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-lib-stopcond 1.0 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/amuse-lib-stopcond] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-lib-stopcond 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + 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 + CXX C++ compiler command + CXXFLAGS C++ compiler flags + CUDA_TK CUDA installation location + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-lib-stopcond configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-lib-stopcond $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="install-sh config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- + + + if test "x$target_os" == "xlinux-gnu" + then + AMUSE_ON_LINUX=1 + fi + + if test "x$target_vendor" == "xapple" + then + AMUSE_ON_MACOS=1 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + + + # 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +printf %s "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if test ${ac_cv_path_install+y} +then : + printf %s "(cached) " >&6 +else $as_nop + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + # Account for fact that we put trailing slashes in our PATH walk. +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+y}; 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +printf "%s\n" "$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' + + + + + + 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 x"$CUDA_TK" != x +then : + + # User set CUDA_TK, verify and use it if it works + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d $CUDA_TK +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $CUDA_TK/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x$CUDA_TK" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in $CUDA_TK/include" + amuse_cuda_flags="-I$CUDA_TK/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x$CUDA_TK" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in $CUDA_TK/lib" + amuse_cuda_verify_msg64="for libcudart in $CUDA_TK/lib64" + amuse_cuda_ldflags="-L$CUDA_TK/lib" + amuse_cuda_ldflags64="-L$CUDA_TK/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$CUDA_TK" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $CUDA_TK does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: $CUDA_TK does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + + if test x"$NVCC" = x +then : + + as_fn_error $? "CUDA_TK is set, but there is no nvcc in $CUDA_TK/bin. Please set CUDA_TK to the CUDA installation directory, or unset it to autodetect." "$LINENO" 5 + +fi + +else $as_nop + + # CUDA_TK not set, try to discover CUDA via PATH + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + # Got nvcc, verify that we have the rest too + amuse_cuda_verify_ctk_rel=$(dirname -- "$amuse_cuda_verify_NVCC")/.. + # Canonicalise path portably so that it looks nicer + amuse_cuda_verify_CUDA_TK=$(test -d "$amuse_cuda_verify_ctk_rel" && CDPATH= cd -P -- "$amuse_cuda_verify_ctk_rel" && pwd -P) + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in /include" + amuse_cuda_flags="-I/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in /lib" + amuse_cuda_verify_msg64="for libcudart in /lib64" + amuse_cuda_ldflags="-L/lib" + amuse_cuda_ldflags64="-L/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$amuse_cuda_verify_CUDA_TK" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Could not find CUDA via PATH" >&5 +printf "%s\n" "$as_me: Could not find CUDA via PATH" >&6;} + +fi + + + # Not in PATH, try default directory + if test x"$CUDA_TK" = x +then : + + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d /usr/local/cuda +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /usr/local/cuda/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x/usr/local/cuda" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in /usr/local/cuda/include" + amuse_cuda_flags="-I/usr/local/cuda/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x/usr/local/cuda" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in /usr/local/cuda/lib" + amuse_cuda_verify_msg64="for libcudart in /usr/local/cuda/lib64" + amuse_cuda_ldflags="-L/usr/local/cuda/lib" + amuse_cuda_ldflags64="-L/usr/local/cuda/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="/usr/local/cuda" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: /usr/local/cuda does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: /usr/local/cuda does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + +fi + + # Try /usr/local/cuda-#.#, but only if there's exactly one match + if test x"$CUDA_TK" = x +then : + + # List CUDA installations + amuse_cuda_installs=$(ls -1 -d /usr/local/cuda-*.* 2>/dev/null) + # If there's more than one, the above will have newlines, and change when we do this + amuse_cuda_installs2=$(echo "x${amuse_cuda_installs}" | tr -d ':space:') + if test "x${amuse_cuda_installs}" != x +then : + + if test "x${amuse_cuda_installs}" = "${amuse_cuda_installs2}" +then : + + # Here, there's exactly one match + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d $amuse_cuda_installs +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $amuse_cuda_installs/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x$amuse_cuda_installs" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in $amuse_cuda_installs/include" + amuse_cuda_flags="-I$amuse_cuda_installs/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x$amuse_cuda_installs" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in $amuse_cuda_installs/lib" + amuse_cuda_verify_msg64="for libcudart in $amuse_cuda_installs/lib64" + amuse_cuda_ldflags="-L$amuse_cuda_installs/lib" + amuse_cuda_ldflags64="-L$amuse_cuda_installs/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$amuse_cuda_installs" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $amuse_cuda_installs does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: $amuse_cuda_installs does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Multiple CUDA installations found in /usr/local, without a /usr/local/cuda symlink. Please set CUDA_TK to specify which one you want to use." >&5 +printf "%s\n" "$as_me: Multiple CUDA installations found in /usr/local, without a /usr/local/cuda symlink. Please set CUDA_TK to specify which one you want to use." >&6;} + +fi + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: No CUDA installations found in /usr/local" >&5 +printf "%s\n" "$as_me: No CUDA installations found in /usr/local" >&6;} + +fi + +fi + + # Try some other locations + for dir in /opt/cuda /usr/local/cuda/cuda /opt/cuda/cuda ; do + if test x"$CUDA_TK" = x +then : + + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d $dir +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $dir/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x$dir" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in $dir/include" + amuse_cuda_flags="-I$dir/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x$dir" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in $dir/lib" + amuse_cuda_verify_msg64="for libcudart in $dir/lib64" + amuse_cuda_ldflags="-L$dir/lib" + amuse_cuda_ldflags64="-L$dir/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$dir" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $dir does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: $dir does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + +fi + done + + # These directories were checked by the old macro, but they're highly obsolete + # so we're not trying them anymore: + # /usr/lib/nvidia, /usr/include/nvidia, /usr/lib/nvidia-current, /usr/include/nvidia-current + + if test x"$CUDA_TK" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: CUDA not found. Set CUDA_TK if you have it in an odd location." >&5 +printf "%s\n" "$as_me: CUDA not found. Set CUDA_TK if you have it in an odd location." >&6;} + +fi + +fi + + if test x"$CUDA_TK" != x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: CUDA found at $CUDA_TK" >&5 +printf "%s\n" "$as_me: CUDA found at $CUDA_TK" >&6;} + + + + + +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_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-lib-stopcond $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-lib-stopcond config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/lib/sapporo_light/support/configure.ac b/lib/sapporo_light/support/configure.ac new file mode 100644 index 0000000000..2ffe7f0fa4 --- /dev/null +++ b/lib/sapporo_light/support/configure.ac @@ -0,0 +1,23 @@ +AC_CONFIG_MACRO_DIRS([shared/m4]) +AC_INIT([amuse-lib-stopcond], [1.0]) + +AMUSE_DETECT_OS() + +AC_PROG_CC() +AC_PROG_CXX() + +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + +AC_CONFIG_AUX_DIR([shared]) +AC_PROG_INSTALL() + +AC_ARG_VAR([CUDA_TK], [CUDA installation location]) +AMUSE_CUDA() + +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/lib/sapporo_light/support/shared b/lib/sapporo_light/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/lib/sapporo_light/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/lib/simple_hash/Makefile b/lib/simple_hash/Makefile index b3d0cb2dc4..ad705c070d 100644 --- a/lib/simple_hash/Makefile +++ b/lib/simple_hash/Makefile @@ -1,34 +1,41 @@ -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include $(AMUSE_DIR)/config.mk +.PHONY: Makefile support/shared/lib-configure.mk +include support/shared/lib-configure.mk -MPICC ?= mpicc +HEADERS = simple_hash.h +DYNAMIC_LIB = libsimple_hash.so +PKG_CONFIG_FILE = simple_hash.pc -LIBNAME = libsimplehash.so -STATIC_LIBNAME = libsimple_hash.a +CFLAGS += -std=c99 OBJS = simple_hash.o -all: test_hash test $(LIBNAME) $(STATIC_LIBNAME) +define PKG_CONFIG_CONTENTS := +prefix=$(PREFIX) +includedir=$${prefix}/include +libdir=$${prefix}/lib -CFLAGS += -std=c99 -O2 -fPIC +Name: simple_hash +Description: The simple_hash hashmap library included with AMUSE +Version: $(AMUSE_VERSION) +Cflags: -I$${includedir} +Libs: -L$${libdir} -lsimple_hash -$(LIBNAME): $(OBJS) - $(CC) -shared -o $@ $^ - -$(STATIC_LIBNAME): $(OBJS) - ar -r $(STATIC_LIBNAME) $^ - ranlib $(STATIC_LIBNAME) +endef -test_hash: test.cpp $(OBJS) - $(CXX) -O2 -o $@ $^ + +# Build and run tests +test_hash: test_hash.o $(DYNAMIC_LIB) + $(CC) $(LDFLAGS) -L. -Wl,-rpath,$(PREFIX)/lib -o $@ $< -lsimple_hash test: test_hash $(PYTHON) test.py ./test_hash 123456 -%.o: %.c - $(CC) $(CFLAGS) -c -o $@ $< - -clean: - rm -Rf *.o *.so test_hash *.a +.PHONY: test_clean +test_clean: + rm -f test_hash + +clean: test_clean + +.PHONY: support/shared/lib-targets.mk +include support/shared/lib-targets.mk + diff --git a/lib/simple_hash/simple_hash.c b/lib/simple_hash/simple_hash.c index 791f816bb4..5583cac8b0 100644 --- a/lib/simple_hash/simple_hash.c +++ b/lib/simple_hash/simple_hash.c @@ -13,7 +13,7 @@ // The hash table automatically doubles in size when it becomes 75% full. // The hash table never shrinks in size, even after Clear(), unless you explicitly call Compact(). // -// code from +// code from // http://preshing.com/20130107/this-hash-table-is-faster-than-a-judy-array/ // adapted and translated to C // @@ -300,7 +300,7 @@ int hash_inserts(struct simple_hash *hash,size_t n, size_t *key, size_t *value) if(err!=0) break; } return err; - + } int hash_updates(struct simple_hash *hash,size_t n, size_t *key, size_t *value) { @@ -310,7 +310,7 @@ int hash_updates(struct simple_hash *hash,size_t n, size_t *key, size_t *value) if(err!=0) break; } return err; - + } int hash_deletes(struct simple_hash *hash,size_t n, size_t *key) { @@ -320,5 +320,6 @@ int hash_deletes(struct simple_hash *hash,size_t n, size_t *key) if(err @@ -35,4 +35,5 @@ int hash_inserts(struct simple_hash *hash,size_t n, size_t *key, size_t *value); int hash_updates(struct simple_hash *hash,size_t n, size_t *key, size_t *value); int hash_deletes(struct simple_hash *hash,size_t n, size_t *key); -#endif +#endif + diff --git a/lib/simple_hash/support/.gitignore b/lib/simple_hash/support/.gitignore new file mode 100644 index 0000000000..9e90f3be75 --- /dev/null +++ b/lib/simple_hash/support/.gitignore @@ -0,0 +1,6 @@ +configure~ +autom4te.cache +config.mk +config.log +config.status + diff --git a/lib/simple_hash/support/aclocal.m4 b/lib/simple_hash/support/aclocal.m4 new file mode 100644 index 0000000000..1e0a28b702 --- /dev/null +++ b/lib/simple_hash/support/aclocal.m4 @@ -0,0 +1,15 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_detect_os.m4]) diff --git a/lib/simple_hash/support/config.mk.in b/lib/simple_hash/support/config.mk.in new file mode 100644 index 0000000000..0b0a9229a5 --- /dev/null +++ b/lib/simple_hash/support/config.mk.in @@ -0,0 +1,7 @@ +AMUSE_ON_MACOS = @AMUSE_ON_MACOS@ +CC = @CC@ +AR = @AR@ +RANLIB = @RANLIB@ +PYTHON = @PYTHON@ +INSTALL = @INSTALL@ + diff --git a/lib/simple_hash/support/configure b/lib/simple_hash/support/configure new file mode 100755 index 0000000000..111ed4480c --- /dev/null +++ b/lib/simple_hash/support/configure @@ -0,0 +1,4917 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-lib-simple_hash 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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" + if (eval "$as_required") 2>/dev/null +then : + as_have_required=yes +else $as_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-lib-simple_hash' +PACKAGE_TARNAME='amuse-lib-simple_hash' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-lib-simple_hash 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +PYTHON +RANLIB +AR +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +AMUSE_ON_MACOS +AMUSE_ON_LINUX +target_os +target_vendor +target_cpu +target +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-lib-simple_hash 1.0 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/amuse-lib-simple_hash] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-lib-simple_hash 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + 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 + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-lib-simple_hash configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-lib-simple_hash $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="install-sh config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- + + + if test "x$target_os" == "xlinux-gnu" + then + AMUSE_ON_LINUX=1 + fi + + if test "x$target_vendor" == "xapple" + then + AMUSE_ON_MACOS=1 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}python3", so it can be a program name with args. +set dummy ${ac_tool_prefix}python3; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_PYTHON+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$PYTHON"; then + ac_cv_prog_PYTHON="$PYTHON" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="${ac_tool_prefix}python3" + printf "%s\n" "$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=$ac_cv_prog_PYTHON +if test -n "$PYTHON"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 +printf "%s\n" "$PYTHON" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_PYTHON"; then + ac_ct_PYTHON=$PYTHON + # Extract the first word of "python3", so it can be a program name with args. +set dummy python3; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_PYTHON+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_PYTHON"; then + ac_cv_prog_ac_ct_PYTHON="$ac_ct_PYTHON" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_PYTHON="python3" + printf "%s\n" "$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_PYTHON=$ac_cv_prog_ac_ct_PYTHON +if test -n "$ac_ct_PYTHON"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_PYTHON" >&5 +printf "%s\n" "$ac_ct_PYTHON" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_PYTHON" = x; then + PYTHON=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PYTHON=$ac_ct_PYTHON + fi +else + PYTHON="$ac_cv_prog_PYTHON" +fi + +if test $PYTHON = ":" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Python 3 not found, cannot run tests." >&5 +printf "%s\n" "$as_me: WARNING: Python 3 not found, cannot run tests." >&2;} +fi + + + + # 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +printf %s "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if test ${ac_cv_path_install+y} +then : + printf %s "(cached) " >&6 +else $as_nop + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + # Account for fact that we put trailing slashes in our PATH walk. +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+y}; 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +printf "%s\n" "$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' + + +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-lib-simple_hash $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-lib-simple_hash config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/lib/simple_hash/support/configure.ac b/lib/simple_hash/support/configure.ac new file mode 100644 index 0000000000..2ec34d7af7 --- /dev/null +++ b/lib/simple_hash/support/configure.ac @@ -0,0 +1,22 @@ +AC_CONFIG_MACRO_DIRS([shared/m4]) +AC_INIT([amuse-lib-simple_hash], [1.0]) + +AMUSE_DETECT_OS() + +AC_PROG_CC() + +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + +AC_CHECK_TOOL([PYTHON], [python3], [:]) +AS_IF([test $PYTHON = ":"], [AC_MSG_WARN([Python 3 not found, cannot run tests.])]) + +AC_CONFIG_AUX_DIR([shared]) +AC_PROG_INSTALL() + +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/lib/simple_hash/support/shared b/lib/simple_hash/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/lib/simple_hash/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/lib/simple_hash/test.cpp b/lib/simple_hash/test.cpp deleted file mode 100644 index a217976a10..0000000000 --- a/lib/simple_hash/test.cpp +++ /dev/null @@ -1,69 +0,0 @@ -#include -#include -#include - -extern "C" -{ -#include "simple_hash.h" -} - -static const char* whitespace = " \t\r\n"; - -int main(int argc, const char* argv[]) -{ - struct simple_hash ht; - init_hash(&ht,128); - for (;;) - { - char buf[256]; - if (fgets(buf, 256, stdin) == NULL) - break; - char *command = strtok(buf, whitespace); - unsigned int key; - unsigned int value; - if (strcmp(command, "insert") == 0) - { - sscanf(strtok(NULL, whitespace), "%u", &key); - sscanf(strtok(NULL, whitespace), "%u", &value); - hash_insert(&ht,key,value); - } - else if (strcmp(command, "lookup") == 0) - { - sscanf(strtok(NULL, whitespace), "%u", &key); - size_t value; - int result; - result=hash_lookup(&ht,key, &value); - if (result==0) - printf("%u\n", (unsigned int) value); - else - printf("None\n"); - } - else if (strcmp(command, "increment") == 0) - { - sscanf(strtok(NULL, whitespace), "%u", &key); - hash_cell_insert(&ht,key)->value++; - } - else if (strcmp(command, "delete") == 0) - { - sscanf(strtok(NULL, whitespace), "%u", &key); - hash_delete(&ht,key); - } - else if (strcmp(command, "clear") == 0) - { - clear_hash(&ht); - } - else if (strcmp(command, "compact") == 0) - { - compact_hash(&ht); - } - fflush(stdout); - } - - // Dump entire table - printf("{\n"); - if(ht.m_zeroUsed) printf(" %u: %u,\n", ht.m_zeroCell.key, ht.m_zeroCell.value); - for(size_t i=0;i +#include +#include + +#include "simple_hash.h" + +static const char* whitespace = " \t\r\n"; + +int main(int argc, const char* argv[]) +{ + struct simple_hash ht; + init_hash(&ht,128); + for (;;) + { + char buf[256]; + if (fgets(buf, 256, stdin) == NULL) + break; + char *command = strtok(buf, whitespace); + unsigned int key; + unsigned int value; + if (strcmp(command, "insert") == 0) + { + sscanf(strtok(NULL, whitespace), "%u", &key); + sscanf(strtok(NULL, whitespace), "%u", &value); + hash_insert(&ht,key,value); + } + else if (strcmp(command, "lookup") == 0) + { + sscanf(strtok(NULL, whitespace), "%u", &key); + size_t value; + int result; + result=hash_lookup(&ht,key, &value); + if (result==0) + printf("%zd\n", value); + else + printf("None\n"); + } + else if (strcmp(command, "increment") == 0) + { + sscanf(strtok(NULL, whitespace), "%u", &key); + hash_cell_insert(&ht,key)->value++; + } + else if (strcmp(command, "delete") == 0) + { + sscanf(strtok(NULL, whitespace), "%u", &key); + hash_delete(&ht,key); + } + else if (strcmp(command, "clear") == 0) + { + clear_hash(&ht); + } + else if (strcmp(command, "compact") == 0) + { + compact_hash(&ht); + } + fflush(stdout); + } + + // Dump entire table + printf("{\n"); + if(ht.m_zeroUsed) printf(" %zd: %zd,\n", ht.m_zeroCell.key, ht.m_zeroCell.value); + for(size_t i=0;i #ifdef __cplusplus diff --git a/lib/stopcond/stopcondf.F90 b/lib/stopcond/stopcondf.F90 deleted file mode 100644 index f973f4abd5..0000000000 --- a/lib/stopcond/stopcondf.F90 +++ /dev/null @@ -1,662 +0,0 @@ -module StoppingConditions - - - implicit none - - integer, private, save :: MAX_NUMBER_OF_SIMULTANIOUS_CONDITIONS_SET = 0 - integer, private, save :: DELTA_MAX_NUMBER_OF_SIMULTANIOUS_CONDITIONS_SET = 100 - - integer :: MAX_NUMBER_OF_PARTICLES_PER_INDEX - parameter(MAX_NUMBER_OF_PARTICLES_PER_INDEX = 256) - - double precision :: DBL_MAX - parameter(DBL_MAX = 1.d308) - - integer, private, allocatable, save :: type_of_stopping_condition_set(:) - integer, private, allocatable, save :: & -& index_of_particle_in_stopping_condition(:,:) - - integer, private, allocatable, save :: & -& local_type_of_stopping_condition_set(:) - integer, private, allocatable, save:: & -& local_index_of_particle_in_stopping_condition(:,:) - - - integer*4, private, save :: enabled_conditions = 0 - integer*4, private, save :: set_conditions = 0 - integer*4, private, save :: supported_conditions = 0 - integer*4, private, save :: number_of_stopping_conditions_set = 0 - - double precision, private, save :: timeout_parameter = 4.0 - double precision, private, save :: out_of_box_parameter = 0.0 - integer*4, private, save :: number_of_steps_parameter = 1 - double precision, private, save :: minimum_density_parameter = -1.0 - double precision, private, save :: maximum_density_parameter = DBL_MAX - double precision, private, save :: minimum_internal_energy_parameter = -1.0 - double precision, private, save :: maximum_internal_energy_parameter = DBL_MAX - double precision, private, save :: INTERACTION_OVER_parameter = 0.0 - logical, private, save :: use_center_of_mass_parameter = .FALSE. - - integer, private, save :: sc_mpi_size; - integer, private, save :: sc_mpi_rank; - - INTEGER :: COLLISION_DETECTION_BITMAP - INTEGER :: PAIR_DETECTION_BITMAP - INTEGER :: ESCAPER_DETECTION_BITMAP - INTEGER :: TIMEOUT_DETECTION_BITMAP - INTEGER :: NUMBER_OF_STEPS_DETECTION_BITMAP - INTEGER :: OUT_OF_BOX_DETECTION_BITMAP - INTEGER :: DENSITY_LIMIT_DETECTION_BITMAP - INTEGER :: INTERNAL_ENERGY_LIMIT_DETECTION_BITMAP - INTEGER :: INTERACTION_OVER_DETECTION_BITMAP - INTEGER :: SUPERNOVA_DETECTION_BITMAP - - INTEGER :: COLLISION_DETECTION - INTEGER :: PAIR_DETECTION - INTEGER :: ESCAPER_DETECTION - INTEGER :: TIMEOUT_DETECTION - INTEGER :: NUMBER_OF_STEPS_DETECTION - INTEGER :: OUT_OF_BOX_DETECTION - INTEGER :: DENSITY_LIMIT_DETECTION - INTEGER :: INTERNAL_ENERGY_LIMIT_DETECTION - INTEGER :: INTERACTION_OVER_DETECTION - INTEGER :: SUPERNOVA_DETECTION - - PARAMETER (COLLISION_DETECTION_BITMAP=1) - PARAMETER (PAIR_DETECTION_BITMAP=2) - PARAMETER (ESCAPER_DETECTION_BITMAP=4) - PARAMETER (TIMEOUT_DETECTION_BITMAP=8) - PARAMETER (NUMBER_OF_STEPS_DETECTION_BITMAP=16) - PARAMETER (OUT_OF_BOX_DETECTION_BITMAP=32) - PARAMETER (DENSITY_LIMIT_DETECTION_BITMAP=64) - PARAMETER (INTERNAL_ENERGY_LIMIT_DETECTION_BITMAP=128) - PARAMETER (INTERACTION_OVER_DETECTION_BITMAP=256) - PARAMETER (SUPERNOVA_DETECTION_BITMAP=512) - - - PARAMETER (COLLISION_DETECTION=0) - PARAMETER (PAIR_DETECTION=1) - PARAMETER (ESCAPER_DETECTION=2) - PARAMETER (TIMEOUT_DETECTION=3) - PARAMETER (NUMBER_OF_STEPS_DETECTION=4) - PARAMETER (OUT_OF_BOX_DETECTION=5) - PARAMETER (DENSITY_LIMIT_DETECTION=6) - PARAMETER (INTERNAL_ENERGY_LIMIT_DETECTION=7) - PARAMETER (INTERACTION_OVER_DETECTION=8) - PARAMETER (SUPERNOVA_DETECTION=9) - - -contains - - - -function increase_memory() - implicit none - integer :: old_max, i, j - integer :: increase_memory - integer, allocatable :: saved_type_of_stopping_condition_set(:) - integer, allocatable :: save_index_of_particle_in_stopping_condition(:,:) - old_max = MAX_NUMBER_OF_SIMULTANIOUS_CONDITIONS_SET; - MAX_NUMBER_OF_SIMULTANIOUS_CONDITIONS_SET = & -& MAX_NUMBER_OF_SIMULTANIOUS_CONDITIONS_SET + & -& DELTA_MAX_NUMBER_OF_SIMULTANIOUS_CONDITIONS_SET - if (ALLOCATED(type_of_stopping_condition_set)) THEN - ALLOCATE(saved_type_of_stopping_condition_set(0:old_max)) - saved_type_of_stopping_condition_set = type_of_stopping_condition_set - DEALLOCATE(type_of_stopping_condition_set) - ALLOCATE(type_of_stopping_condition_set(& -& 0:MAX_NUMBER_OF_SIMULTANIOUS_CONDITIONS_SET)) - type_of_stopping_condition_set(0:old_max) = saved_type_of_stopping_condition_set - DEALLOCATE(saved_type_of_stopping_condition_set) - ELSE - ALLOCATE(type_of_stopping_condition_set(& -& 0:MAX_NUMBER_OF_SIMULTANIOUS_CONDITIONS_SET)) - ENDIF - - if (ALLOCATED(index_of_particle_in_stopping_condition)) THEN - ALLOCATE(save_index_of_particle_in_stopping_condition(0:MAX_NUMBER_OF_PARTICLES_PER_INDEX,0:old_max)) - save_index_of_particle_in_stopping_condition = index_of_particle_in_stopping_condition - DEALLOCATE(index_of_particle_in_stopping_condition) - ALLOCATE(index_of_particle_in_stopping_condition(& -& 0:MAX_NUMBER_OF_PARTICLES_PER_INDEX, 0:MAX_NUMBER_OF_SIMULTANIOUS_CONDITIONS_SET)) - index_of_particle_in_stopping_condition(& -& 0:MAX_NUMBER_OF_PARTICLES_PER_INDEX, 0:old_max) = save_index_of_particle_in_stopping_condition - DEALLOCATE(save_index_of_particle_in_stopping_condition) - ELSE - ALLOCATE(index_of_particle_in_stopping_condition(& -& 0:MAX_NUMBER_OF_PARTICLES_PER_INDEX, 0:MAX_NUMBER_OF_SIMULTANIOUS_CONDITIONS_SET)) - ENDIF - increase_memory = 0 -end function - -function enable_stopping_condition(type) - implicit none - integer, intent(in) :: type - integer :: enable_stopping_condition - - if(type > 32) then - enable_stopping_condition = -1 - return - end if - enabled_conditions = IOR(enabled_conditions, ISHFT(1 , type)) - enable_stopping_condition = 0 -end function - -function set_support_for_condition(type) - implicit none - integer, intent(in) :: type - integer :: set_support_for_condition - - supported_conditions = IOR(supported_conditions, ISHFT(1 , type)) - set_support_for_condition = 0 -end function - -function get_enabled_conditions() - implicit none - integer :: get_enabled_conditions - get_enabled_conditions = enabled_conditions -end function - -function get_set_conditions() - implicit none - integer :: get_set_conditions - get_set_conditions = set_conditions -end function - -function get_number_of_stopping_conditions_set(result) - implicit none - integer, intent(out) :: result - integer :: get_number_of_stopping_conditions_set - - result = number_of_stopping_conditions_set; - get_number_of_stopping_conditions_set = 0 -end function - -function is_stopping_condition_set(type, result) - implicit none - integer, intent(in) :: type - integer, intent(out) :: result - integer :: is_stopping_condition_set - - if(IAND(ISHFT(1 , type) , set_conditions) > 0) then - result = 1 - else - result = 0 - end if - is_stopping_condition_set = 0 -end function - -function is_stopping_condition_enabled(type, result) - implicit none - integer, intent(in) :: type - integer, intent(out) :: result - integer :: is_stopping_condition_enabled - - if(IAND(ISHFT(1 , type) , enabled_conditions) > 0) then - result = 1 - else - result = 0 - end if - is_stopping_condition_enabled = 0 -end function - - -function is_any_condition_set() - implicit none - integer :: is_any_condition_set - if (IAND(set_conditions ,enabled_conditions) > 0) then - is_any_condition_set = 1 - else - is_any_condition_set = 0 - end if -end function - -function disable_stopping_condition(type) - implicit none - integer, intent(in) :: type - integer :: disable_stopping_condition - enabled_conditions = IAND(enabled_conditions, NOT(ISHFT(1 , type))); - disable_stopping_condition = 0 -end function - -function has_stopping_condition(type, result) - implicit none - integer, intent(in) :: type - integer, intent(out) :: result - integer :: has_stopping_condition - - if(IAND(ISHFT(1 , type) , supported_conditions) > 0) then - result = 1 - else - result = 0 - end if - has_stopping_condition = 0; -end function - -function get_stopping_condition_info(index, type, number_of_particles) - implicit none - integer, intent(in) :: index - integer, intent(out) :: type - integer, intent(out) :: number_of_particles - integer :: get_stopping_condition_info - integer :: i, id; - - if (index >= number_of_stopping_conditions_set) then - get_stopping_condition_info = -1 - return - end if - - number_of_particles = 0 - do i = 0, MAX_NUMBER_OF_PARTICLES_PER_INDEX - id = index_of_particle_in_stopping_condition(i, index); - if (id >= 0) then - - index_of_particle_in_stopping_condition(i, index) = -1; - index_of_particle_in_stopping_condition(number_of_particles, index) = id; - number_of_particles = number_of_particles + 1; - - end if - end do - - type = type_of_stopping_condition_set(index); - get_stopping_condition_info = 0 - return -end function - -function get_stopping_condition_particle_index(index, index_in_the_condition, index_of_particle) - implicit none - integer, intent(in) :: index - integer, intent(in) :: index_in_the_condition - integer, intent(out) :: index_of_particle - integer :: get_stopping_condition_particle_index - integer :: i, id; - - if (index >= number_of_stopping_conditions_set) then - get_stopping_condition_particle_index = -1 - return - end if - - if (index_in_the_condition >= MAX_NUMBER_OF_PARTICLES_PER_INDEX) then - get_stopping_condition_particle_index = -1 - return - end if - - - index_of_particle = index_of_particle_in_stopping_condition(index_in_the_condition, index) - get_stopping_condition_particle_index = 0 -end function - - -function reset_stopping_conditions() - implicit none - integer :: reset_stopping_conditions - number_of_stopping_conditions_set = 0 - set_conditions = 0 - reset_stopping_conditions = 0 -end function - -function next_index_for_stopping_condition() - implicit none - integer :: next_index_for_stopping_condition, i - - if (number_of_stopping_conditions_set == MAX_NUMBER_OF_SIMULTANIOUS_CONDITIONS_SET) then - if(increase_memory() .LT. 0) THEN - next_index_for_stopping_condition = -1 - return - ENDIF - end if - - do i = 0 , MAX_NUMBER_OF_PARTICLES_PER_INDEX - index_of_particle_in_stopping_condition(i, number_of_stopping_conditions_set) = -1 - end do - - next_index_for_stopping_condition = number_of_stopping_conditions_set - number_of_stopping_conditions_set = number_of_stopping_conditions_set + 1 -end function - - - -function set_stopping_condition_info(index, type) - implicit none - integer, intent(in) :: index - integer, intent(in) :: type - integer :: set_stopping_condition_info - - if (index >= number_of_stopping_conditions_set) then - set_stopping_condition_info = -1 - return - end if - - set_conditions = IOR(set_conditions, ISHFT(1 , type)) - - type_of_stopping_condition_set(index) = type; - set_stopping_condition_info = 0 -end function - - -function set_stopping_condition_particle_index(index, index_in_the_condition, id_of_the_particle) - implicit none - integer, intent(in) :: index - integer, intent(in) :: index_in_the_condition - integer, intent(in) :: id_of_the_particle - integer :: set_stopping_condition_particle_index - - if (index >= number_of_stopping_conditions_set) then - set_stopping_condition_particle_index = -1 - return - end if - - if (index_in_the_condition >= MAX_NUMBER_OF_PARTICLES_PER_INDEX) then - set_stopping_condition_particle_index = -1 - return - end if - - index_of_particle_in_stopping_condition(index_in_the_condition, index) = id_of_the_particle - set_stopping_condition_particle_index = 0 -end function - - - -function set_stopping_condition_timeout_parameter(value) - double precision, intent(in) :: value - integer :: set_stopping_condition_timeout_parameter - if(value < 0.0) then - set_stopping_condition_timeout_parameter = -1 - return - end if - timeout_parameter = value - set_stopping_condition_timeout_parameter = 0 -end function - -function get_stopping_condition_timeout_parameter(value) - integer :: get_stopping_condition_timeout_parameter - double precision, intent(out) :: value - value = timeout_parameter - get_stopping_condition_timeout_parameter = 0 -end function - -function set_stopping_condition_number_of_steps_parameter(value) - integer, intent(in) :: value - integer :: set_stopping_condition_number_of_steps_parameter - if(value < 0.0) then - set_stopping_condition_number_of_steps_parameter = -1 - return - end if - number_of_steps_parameter = value - set_stopping_condition_number_of_steps_parameter = 0 -end function - -function get_stopping_condition_number_of_steps_parameter(value) - integer :: get_stopping_condition_number_of_steps_parameter - integer, intent(out) :: value - value = number_of_steps_parameter - get_stopping_condition_number_of_steps_parameter = 0 -end function - -function set_stopping_condition_out_of_box_parameter(value) - double precision, intent(in) :: value - integer :: set_stopping_condition_out_of_box_parameter - out_of_box_parameter = value - set_stopping_condition_out_of_box_parameter = 0 -end function - -function get_stopping_condition_out_of_box_parameter(value) - integer :: get_stopping_condition_out_of_box_parameter - double precision, intent(out) :: value - value = out_of_box_parameter - get_stopping_condition_out_of_box_parameter = 0 -end function - - -function set_stopping_condition_out_of_box_use_center_of_mass_parameter(value) - logical, intent(in) :: value - integer :: set_stopping_condition_out_of_box_use_center_of_mass_parameter - use_center_of_mass_parameter = value - set_stopping_condition_out_of_box_use_center_of_mass_parameter = 0 -end function - -function get_stopping_condition_out_of_box_use_center_of_mass_parameter(value) - integer :: get_stopping_condition_out_of_box_use_center_of_mass_parameter - logical, intent(out) :: value - value = use_center_of_mass_parameter - get_stopping_condition_out_of_box_use_center_of_mass_parameter = 0 -end function - -function set_stopping_condition_minimum_density_parameter(value) - double precision, intent(in) :: value - integer :: set_stopping_condition_minimum_density_parameter - minimum_density_parameter = value - set_stopping_condition_minimum_density_parameter = 0 -end function - -function get_stopping_condition_minimum_density_parameter(value) - integer :: get_stopping_condition_minimum_density_parameter - double precision, intent(out) :: value - value = minimum_density_parameter - get_stopping_condition_minimum_density_parameter = 0 -end function - -function set_stopping_condition_maximum_density_parameter(value) - double precision, intent(in) :: value - integer :: set_stopping_condition_maximum_density_parameter - maximum_density_parameter = value - - if(value < 0.0) then - maximum_density_parameter = DBL_MAX - else - maximum_density_parameter = value - end if - set_stopping_condition_maximum_density_parameter = 0 -end function - -function get_stopping_condition_maximum_density_parameter(value) - integer :: get_stopping_condition_maximum_density_parameter - double precision, intent(out) :: value - value = maximum_density_parameter - get_stopping_condition_maximum_density_parameter = 0 -end function - - - -function set_stopping_condition_minimum_internal_energy_parameter(value) - double precision, intent(in) :: value - integer :: set_stopping_condition_minimum_internal_energy_parameter - minimum_internal_energy_parameter = value - set_stopping_condition_minimum_internal_energy_parameter = 0 -end function - -function get_stopping_condition_minimum_internal_energy_parameter(value) - integer :: get_stopping_condition_minimum_internal_energy_parameter - double precision, intent(out) :: value - value = minimum_internal_energy_parameter - get_stopping_condition_minimum_internal_energy_parameter = 0 -end function - -function set_stopping_condition_maximum_internal_energy_parameter(value) - double precision, intent(in) :: value - integer :: set_stopping_condition_maximum_internal_energy_parameter - maximum_internal_energy_parameter = value - - if(value < 0.0) then - maximum_internal_energy_parameter = DBL_MAX - else - maximum_internal_energy_parameter = value - end if - set_stopping_condition_maximum_internal_energy_parameter = 0 -end function - -function get_stopping_condition_maximum_internal_energy_parameter(value) - integer :: get_stopping_condition_maximum_internal_energy_parameter - double precision, intent(out) :: value - value = maximum_internal_energy_parameter - get_stopping_condition_maximum_internal_energy_parameter = 0 -end function - - -#if defined( MPILIB ) && !defined(NOMPI) - - -function mpi_setup_stopping_conditions() - -#if defined( MPILIB ) && !defined(NOMPI) - use mpi -#endif - implicit none - - integer :: mpi_setup_stopping_conditions - integer :: error - - call MPI_Comm_rank(MPI_COMM_WORLD, sc_mpi_rank, error) - if (error .NE. 0) then - mpi_setup_stopping_conditions = -1 - return - end if - call MPI_Comm_size(MPI_COMM_WORLD, sc_mpi_size, error) - if (error .NE. 0) then - mpi_setup_stopping_conditions = -1 - return - end if - mpi_setup_stopping_conditions = 0 -end function - -function mpi_distribute_stopping_conditions() -#if defined( MPILIB ) && !defined(NOMPI) - use mpi -#endif - implicit none - integer :: mpi_distribute_stopping_conditions - mpi_distribute_stopping_conditions = 0 -end function - -function mpi_collect_stopping_conditions() -#if defined( MPILIB ) && !defined(NOMPI) - use mpi -#endif - implicit none - integer :: mpi_collect_stopping_conditions - integer :: i, error, offset - integer :: local_number_of_stopping_conditions_set - integer :: n, tmp - integer :: counts(sc_mpi_size) - integer :: displs(sc_mpi_size) - integer*4 :: set - mpi_collect_stopping_conditions = 0 - counts = 0 - displs = 0 - set = 0 - - call MPI_Allreduce(set_conditions, set, 1, MPI_INTEGER, MPI_BOR, MPI_COMM_WORLD, error) - - set_conditions = set - - call MPI_Gather(number_of_stopping_conditions_set, 1, MPI_INTEGER, counts, 1, MPI_INTEGER, 0, MPI_COMM_WORLD, error) - - if (sc_mpi_rank .EQ. 0) then - local_number_of_stopping_conditions_set = 0 - - do i = 1, sc_mpi_size - local_number_of_stopping_conditions_set = local_number_of_stopping_conditions_set + counts(i) - end do - if(local_number_of_stopping_conditions_set & -& > MAX_NUMBER_OF_SIMULTANIOUS_CONDITIONS_SET) THEN - n = ((local_number_of_stopping_conditions_set - & -& MAX_NUMBER_OF_SIMULTANIOUS_CONDITIONS_SET) / & -& DELTA_MAX_NUMBER_OF_SIMULTANIOUS_CONDITIONS_SET) + 1; - tmp = DELTA_MAX_NUMBER_OF_SIMULTANIOUS_CONDITIONS_SET; - DELTA_MAX_NUMBER_OF_SIMULTANIOUS_CONDITIONS_SET = n * & -& DELTA_MAX_NUMBER_OF_SIMULTANIOUS_CONDITIONS_SET; - error = increase_memory() - DELTA_MAX_NUMBER_OF_SIMULTANIOUS_CONDITIONS_SET = tmp; - END IF - ALLOCATE(local_type_of_stopping_condition_set(& -& 0:MAX_NUMBER_OF_SIMULTANIOUS_CONDITIONS_SET)) - ALLOCATE(local_index_of_particle_in_stopping_condition(& -& 0:MAX_NUMBER_OF_PARTICLES_PER_INDEX, & -& 0:MAX_NUMBER_OF_SIMULTANIOUS_CONDITIONS_SET)) - end if - - if (sc_mpi_rank .EQ. 0) then - offset = 0 - do i = 1, sc_mpi_size - displs(i) = offset; - offset = offset + counts(i) - end do - end if - - call MPI_Gatherv( & - type_of_stopping_condition_set, & - number_of_stopping_conditions_set, & - MPI_INTEGER, & - local_type_of_stopping_condition_set, & - counts, & - displs, & - MPI_INTEGER, & - 0, & - MPI_COMM_WORLD, & - error& - ) - - if (sc_mpi_rank .EQ. 0) then - - offset = 0 - do i = 1, sc_mpi_size - displs(i) = offset; - counts(i) = counts(i) * (MAX_NUMBER_OF_PARTICLES_PER_INDEX+1); - offset = offset + counts(i) - end do - - end if - - - call MPI_Gatherv( & - index_of_particle_in_stopping_condition,& - number_of_stopping_conditions_set*(MAX_NUMBER_OF_PARTICLES_PER_INDEX+1),& - MPI_INTEGER,& - local_index_of_particle_in_stopping_condition,& - counts, & - displs,& - MPI_INTEGER,& - 0, & - MPI_COMM_WORLD& - ); - if (sc_mpi_rank .EQ. 0) then - - number_of_stopping_conditions_set = local_number_of_stopping_conditions_set - if (number_of_stopping_conditions_set.GT.0) then - index_of_particle_in_stopping_condition = local_index_of_particle_in_stopping_condition - type_of_stopping_condition_set = local_type_of_stopping_condition_set - end if - DEALLOCATE(local_type_of_stopping_condition_set) - DEALLOCATE(local_index_of_particle_in_stopping_condition) - end if - -end function - -#else - - -function mpi_setup_stopping_conditions() - integer :: mpi_setup_stopping_conditions - - sc_mpi_size = 1 - mpi_setup_stopping_conditions = 0 -end function - -function mpi_collect_stopping_conditions() - integer :: mpi_collect_stopping_conditions - mpi_collect_stopping_conditions = 0 -end function - -function mpi_distribute_stopping_conditions() - integer :: mpi_distribute_stopping_conditions - mpi_distribute_stopping_conditions = 0 - - if(enabled_conditions .EQ. 0) then - return - end if - -end function - -#endif - -end module diff --git a/lib/stopcond/stopcondf_isoc.F90 b/lib/stopcond/stoppingconditions.f90 similarity index 100% rename from lib/stopcond/stopcondf_isoc.F90 rename to lib/stopcond/stoppingconditions.f90 diff --git a/lib/stopcond/support/.gitignore b/lib/stopcond/support/.gitignore new file mode 100644 index 0000000000..9e90f3be75 --- /dev/null +++ b/lib/stopcond/support/.gitignore @@ -0,0 +1,6 @@ +configure~ +autom4te.cache +config.mk +config.log +config.status + diff --git a/lib/stopcond/support/aclocal.m4 b/lib/stopcond/support/aclocal.m4 new file mode 100644 index 0000000000..2e833539b9 --- /dev/null +++ b/lib/stopcond/support/aclocal.m4 @@ -0,0 +1,17 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_detect_os.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/fortran.m4]) diff --git a/lib/stopcond/support/config.mk.in b/lib/stopcond/support/config.mk.in new file mode 100644 index 0000000000..bc1267f4fd --- /dev/null +++ b/lib/stopcond/support/config.mk.in @@ -0,0 +1,18 @@ +AMUSE_ON_MACOS = @AMUSE_ON_MACOS@ + +CC = @CC@ +FC = @FC@ + +CFLAGS = @CFLAGS@ +FCFLAGS = @FCFLAGS@ +LDFLAGS = @LDFLAGS@ + +AR = @AR@ +RANLIB = @RANLIB@ +INSTALL = @INSTALL@ + +MPICC = @MPICC@ +MPIFC = @MPIFC@ +MPILIBS = @MPILIBS@ + + diff --git a/lib/stopcond/support/configure b/lib/stopcond/support/configure new file mode 100755 index 0000000000..f5e16e40d4 --- /dev/null +++ b/lib/stopcond/support/configure @@ -0,0 +1,5813 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-lib-stopcond 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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" + if (eval "$as_required") 2>/dev/null +then : + as_have_required=yes +else $as_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-lib-stopcond' +PACKAGE_TARNAME='amuse-lib-stopcond' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-lib-stopcond 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +RANLIB +AR +ac_ct_FC +FCFLAGS +FC +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +AMUSE_ON_MACOS +AMUSE_ON_LINUX +target_os +target_vendor +target_cpu +target +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +FC +FCFLAGS +MPICC +MPIFC' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-lib-stopcond 1.0 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/amuse-lib-stopcond] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-lib-stopcond 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + 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 + FC Fortran compiler command + FCFLAGS Fortran compiler flags + MPICC MPI C compiler command + MPIFC MPI Fortran compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-lib-stopcond configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-lib-stopcond $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="install-sh config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- + + + if test "x$target_os" == "xlinux-gnu" + then + AMUSE_ON_LINUX=1 + fi + + if test "x$target_vendor" == "xapple" + then + AMUSE_ON_MACOS=1 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +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 + + + +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + + + # 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +printf %s "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if test ${ac_cv_path_install+y} +then : + printf %s "(cached) " >&6 +else $as_nop + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + # Account for fact that we put trailing slashes in our PATH walk. +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+y}; 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +printf "%s\n" "$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' + + +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 + + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-lib-stopcond $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-lib-stopcond config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/lib/stopcond/support/configure.ac b/lib/stopcond/support/configure.ac new file mode 100644 index 0000000000..40989786b3 --- /dev/null +++ b/lib/stopcond/support/configure.ac @@ -0,0 +1,29 @@ +AC_CONFIG_MACRO_DIRS([shared/m4]) +AC_INIT([amuse-lib-stopcond], [1.0]) + +AMUSE_DETECT_OS() + +AC_PROG_CC() +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + +AC_CONFIG_AUX_DIR([shared]) +AC_PROG_INSTALL() + +AC_LANG_PUSH(C) +AX_MPI() +AC_LANG_POP(C) + +AC_LANG_PUSH(Fortran) +AX_MPI() +AC_LANG_POP(Fortran) + +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/lib/stopcond/support/shared b/lib/stopcond/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/lib/stopcond/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/m4/cuda.m4 b/m4/cuda.m4 deleted file mode 100644 index 8912cdeb2f..0000000000 --- a/m4/cuda.m4 +++ /dev/null @@ -1,101 +0,0 @@ -# AX_CUDA -# ---------------------------------------------------------- -# set up for CUDA -# -# will set: -# -# CUDA_SDK -# CUDA_TK -# -# CUDA_LIBS -# CUDA_FLAGS -# -# CUDART_LIBS -# CUDART_FLAGS -# -AC_DEFUN([AX_CUDA],[ - AC_ARG_ENABLE(cuda, - [AS_HELP_STRING([--enable-cuda],[Enable CUDA for codes])], - [WITH_CUDA=no - AS_IF([test "x$enable_cuda" != "xno"], [ - WITH_CUDA=yes - ]) - ], - [WITH_CUDA=no - CUDA_TK=/NOCUDACONFIGURED - CUDA_LIBS="-L$CUDA_TK cuda cudart" - ] - ) - AC_ARG_WITH( - cuda-libdir, - [ --with-cuda-libdir=PFX Directory where libcuda.so is installed (optional)], - cuda_libdir="$withval", - cuda_libdir="no") - - AC_ARG_VAR([CUDA_TK], [CUDA toolkit directory]) - - AS_IF([test x"$WITH_CUDA" != xno],[ - WITH_CUDA=yes - AC_PATH_PROG( - [NVCC], - nvcc, - [no], - $CUDA_TK/bin:$PATH:/usr/local/cuda/cuda/bin:/usr/local/cuda/bin:/opt/cuda/cuda/bin:/opt/cuda/bin - ) - - - AS_IF([test x"$CUDA_TK" = x], - [ - - AS_IF([test x"$NVCC" = xno], - [AC_MSG_ERROR([CUDA_TK path is not set, and could not find nvcc in path, please set CUDA_TK variable])] - ) - - CUDA_TK_BIN=`AS_DIRNAME("$NVCC")` - CUDA_TK=`AS_DIRNAME("$CUDA_TK_BIN")` - ] - ) - - - AC_CHECK_FILE([$CUDA_TK/lib], [], - [AC_CHECK_FILE([$CUDA_TK/lib64], [], - [AC_MSG_ERROR([cuda toolkit path is incorrect, must have $CUDA_TK/lib or $CUDA_TK/lib64 directory])])]) - - - - - save_LIBS="$LIBS" - CUDART_LIBS='' - AC_FIND_LIB( - [cudart], - [main], - [$CUDA_TK/lib64 $CUDA_TK/lib], - [CUDART_LIBS=$LIBS], - [AC_MSG_ERROR([cannot find cuda runtime libraries in $CUDA_TK/lib $CUDA_TK/lib64])] - ) - LIBS="$save_LIBS" - - save_LIBS="$LIBS" - CUDA_PATH=[] - CUDA_LIBS='' - AS_IF([test x"$cuda_libdir" != xno],[ - CUDA_LIBS="-L$cuda_libdir -lcuda $CUDART_LIBS" - ],[ - AC_FIND_LIB( - [cuda], - [main], - [$CUDA_TK/lib64 $CUDA_TK/lib /usr/lib64 /usr/lib /usr/lib64/nvidia /usr/lib/nvidia /usr/lib/nvidia-current /usr/lib64/nvidia-current ], - [CUDA_LIBS="$LIBS $CUDART_LIBS"], - [AC_MSG_ERROR([cannot find cuda library])] - ) - LIBS="$save_LIBS" - ]) - ]) - - AC_SUBST(WITH_CUDA) - - AC_SUBST(CUDA_TK) - - AC_SUBST(CUDA_LIBS) - -]) diff --git a/m4/hdf5.m4 b/m4/hdf5.m4 deleted file mode 100644 index 84b20e2beb..0000000000 --- a/m4/hdf5.m4 +++ /dev/null @@ -1,85 +0,0 @@ -# AX_HDF5 -# ---------------------------------------------------------- -# set up for HDF5 -# -AC_DEFUN([AX_HDF5],[ - AC_ARG_WITH(hdf5, - AS_HELP_STRING([--with-hdf5=PFX],[Prefix where HDF5 has been installed ]), - [ - test "$withval" = no && AC_MSG_WARN([hdf5 is a required package for some modules]) - test "$withval" = yes || hdf5_prefix="$withval" - with_hdf5=yes ], - [ with_hdf5=yes ] - ) - - AS_IF([test "x$with_hdf5" != xno ], - [ - #user override - AS_IF([test "x$HDF5_LIBS" != x && test "x$HDF5_FLAGS" != x ], - [ - have_hdf5=yes - FOUND_HDF5="yes" - ], - [ - saved_LIBS="$LIBS" - saved_CXXFLAGS="$CXXFLAGS" - HDF5_LIBS="" - HDF5_FLAGS="" - FOUND_HDF5="no" - if test x$hdf5_prefix == x; then - if test x$PREFIX != x; then - hdf5_prefix=$PREFIX - fi - fi - if test x$hdf5_prefix != x; then - ac_HDF5_CFLAGS="-I$hdf5_prefix/include" - ac_HDF5_LDOPTS="-L$hdf5_prefix/lib" - - - save_CFLAGS="$CFLAGS" - save_CPPFLAGS="$CPPFLAGS" - CFLAGS="$ac_HDF5_CFLAGS $save_CFLAGS" - CPPFLAGS="$ac_HDF5_CFLAGS $save_CPPFLAGS" - AC_CHECK_HEADER( - [hdf5.h], - [HDF5_FLAGS="$ac_HDF5_CFLAGS" - FOUND_HDF5="yes"], - [AC_MSG_WARN([Cannot find headers (hdf5.h) of the library HDF5 in $hdf5_prefix/include.])] - ) - CFLAGS="$save_CFLAGS" - CPPFLAGS="$save_CPPFLAGS" - - save_LIBS="$LIBS" - LIBS="$ac_HDF5_LDOPTS -lhdf5 $save_LIBS" - AC_CHECK_LIB([hdf5], [H5_init_library], - [HDF5_LIBS="$ac_HDF5_LDOPTS -lhdf5"], - [AC_MSG_WARN([libhdf5 : library missing. (Cannot find symbol H5_init_library) in $hdf5_prefix. Check if libhdf53 is installed and if the version is correct])] - ) - LIBS="$save_LIBS" - fi - if test x$FOUND_HDF5 != xyes; then - AC_CHECK_HEADER( - [hdf5.h], - [HDF5_FLAGS="" - FOUND_HDF5="yes"], - [AC_MSG_WARN([Cannot find headers (hdf5.h) of the library HDF5 in $hdf5_prefix/include.])] - ) - AC_CHECK_LIB( - [hdf5], - [H5_init_library], - [HDF5_LIBS="-lhdf5"], - [ - FOUND_HDF5="no" - AC_MSG_WARN([libhdf5 : library missing. (Cannot find symbol H5_init_library). Check if libhdf5 is installed and if the version is correct])] - ) - fi - - - ]) - ]) - - AC_SUBST(FOUND_HDF5) - AC_SUBST(HDF5_FLAGS) - AC_SUBST(HDF5_LIBS) - ] -) diff --git a/m4/java.m4 b/m4/java.m4 deleted file mode 100644 index 2c721e9068..0000000000 --- a/m4/java.m4 +++ /dev/null @@ -1,133 +0,0 @@ -### java.m4 -- macros for Java environment detection -*- Autoconf -*- -### -### Copyright (C) 2005-7 R Core Team -### -### This file is part of R. -### -### R is free software; you can redistribute it and/or modify it under -### the terms of the GNU General Public License as published by the Free -### Software Foundation; either version 2 of the License, or (at your -### option) any later version. -### -### R is distributed in the hope that it will be useful, but WITHOUT ANY -### WARRANTY; without even the implied warranty of MERCHANTABILITY or -### FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public -### License for more details. -### -### You should have received a copy of the GNU General Public License -### along with R; if not, a copy is available at -### http://www.r-project.org/Licenses/ - -### This java.m4 file adjusted for use in the AMUSE project by Niels Drost - -## R_RUN_JAVA(variable for the result, parameters) -## ---------- -## runs the java interpreter ${JAVA} with specified parameters and -## saves the output to the supplied variable. The exit value is ignored. -AC_DEFUN([R_RUN_JAVA], -[ - acx_java_result= - if test -z "${JAVA}"; then - echo "$as_me:$LINENO: JAVA is not set, cannot run java $2" >&AS_MESSAGE_LOG_FD - else - echo "$as_me:$LINENO: running ${JAVA} $2" >&AS_MESSAGE_LOG_FD - acx_java_result=`${JAVA} $2 2>&AS_MESSAGE_LOG_FD` - echo "$as_me:$LINENO: output: '$acx_java_result'" >&AS_MESSAGE_LOG_FD - fi - $1=$acx_java_result -]) - - -## R_JAVA -## ----------- -## Looks for Java JRE/JDK and sets: -## have_java to yes/no; if it is yes then also sets: -## JAVA to Java interpreter path -## JAVA_HOME to the home directory of the Java runtime/jdk -## JAVA_LD_LIBRARY_PATH to the path necessary for Java runtime -## JAVAC to Java compiler path (optional) -## JAR to Java archiver (optional) -## -## (*) - those variables are modified for use in make files -## to rely on $(JAVA_HOME) and substituted with 0 suffix -## -## JAVA_HOME env var is honored during the search and the search -## will fail if it is set incorrectly. -AC_DEFUN([R_JAVA], -[ -have_java=no - -## find java compiler binaries -if test -z "${JAVA_HOME}" ; then - JAVA_PATH=${PATH} -else - ## try jre/bin first just in case we don't have full JDK - JAVA_PATH=${JAVA_HOME}:${JAVA_HOME}/jre/bin:${JAVA_HOME}/bin:${JAVA_HOME}/../bin:${PATH} -fi -## if 'java' is not on the PATH or JAVA_HOME, add some guesses as of -## where java could live -JAVA_PATH=${JAVA_PATH}:/usr/java/bin:/usr/jdk/bin:/usr/lib/java/bin:/usr/lib/jdk/bin:/usr/local/java/bin:/usr/local/jdk/bin:/usr/local/lib/java/bin:/usr/local/lib/jdk/bin -AC_PATH_PROGS(JAVA,java,,${JAVA_PATH}) -## FIXME: we may want to check for jikes, kaffe and others... -## (however, most of them have compatibility wrappers by now) -AC_PATH_PROGS(JAVAC,javac,,${JAVA_PATH}) -AC_PATH_PROGS(JAR,jar,,${JAVA_PATH}) - -## we don't require a compiler, but it would be useful -AC_CACHE_CHECK([whether Java compiler works], [r_cv_javac_works], -[r_cv_javac_works=no -if test -n "${JAVAC}"; then - rm -f A.java A.class - echo "public class A { }" > A.java - if "${JAVAC}" A.java 2>&AS_MESSAGE_LOG_FD; then - if test -f A.class; then - r_cv_javac_works=yes - fi - fi - rm -rf A.java A.class -fi]) - -## this is where our test-class lives (in the AMUSE support dir) -getsp_cp=support - -AC_CACHE_CHECK([whether Java interpreter works], [r_cv_java_works], -[r_cv_java_works=no -if test -n "${JAVA}" ; then - R_RUN_JAVA(acx_jc_result,[-classpath ${getsp_cp} getsp -test]) - if test "${acx_jc_result}" = "Test1234OK"; then - r_cv_java_works=yes - fi - acx_jc_result= -fi]) - - -if test ${r_cv_java_works} = yes; then - AC_CACHE_CHECK([Java environment], [r_cv_java_home], [ - ## find JAVA_HOME from Java itself unless specified - if test -z "${JAVA_HOME}" ; then - R_RUN_JAVA(JAVA_HOME,[-classpath ${getsp_cp} getsp java.home]) - fi - r_cv_java_home="${JAVA_HOME}" - ]) - JAVA_HOME="${r_cv_java_home}" - - AC_CACHE_CHECK([Java version], [r_cv_java_version], [ - ## Detect the java version - R_RUN_JAVA(r_cv_java_version,[-classpath ${getsp_cp} getsp java.specification.version]) - - ]) - JAVA_VERSION="${r_cv_java_version}" - - have_java="yes" -else ## not r_cv_java_works - have_java="no" - AC_MSG_WARN([Java not found, Java codes disabled]) -fi - -## AC_SUBST(JAVA_HOME) # not needed? is precious now -AC_SUBST(have_java) -AC_SUBST(JAVA) -AC_SUBST(JAVAC) -AC_SUBST(JAR) -AC_SUBST(JAVA_VERSION) -]) diff --git a/m4/m4_ax_blas.m4 b/m4/m4_ax_blas.m4 deleted file mode 100644 index 7ba214e533..0000000000 --- a/m4/m4_ax_blas.m4 +++ /dev/null @@ -1,241 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_blas.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_BLAS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -# -# DESCRIPTION -# -# This macro looks for a library that implements the BLAS linear-algebra -# interface (see http://www.netlib.org/blas/). On success, it sets the -# BLAS_LIBS output variable to hold the requisite library linkages. -# -# To link with BLAS, you should link with: -# -# $BLAS_LIBS $LIBS $FLIBS -# -# in that order. FLIBS is the output variable of the -# AC_F77_LIBRARY_LDFLAGS macro (called if necessary by AX_BLAS), and is -# sometimes necessary in order to link with F77 libraries. Users will also -# need to use AC_F77_DUMMY_MAIN (see the autoconf manual), for the same -# reason. -# -# Many libraries are searched for, from ATLAS to CXML to ESSL. The user -# may also use --with-blas= in order to use some specific BLAS -# library . In order to link successfully, however, be aware that you -# will probably need to use the same Fortran compiler (which can be set -# via the F77 env. var.) as was used to compile the BLAS library. -# -# ACTION-IF-FOUND is a list of shell commands to run if a BLAS library is -# found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it is -# not found. If ACTION-IF-FOUND is not specified, the default action will -# define HAVE_BLAS. -# -# LICENSE -# -# Copyright (c) 2008 Steven G. Johnson -# Copyright (c) 2019 Geoffrey M. Oxberry -# -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation, either version 3 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. - -#serial 17 - -AU_ALIAS([ACX_BLAS], [AX_BLAS]) -AC_DEFUN([AX_BLAS], [ -AC_PREREQ([2.71]) -AC_REQUIRE([AC_F77_LIBRARY_LDFLAGS]) -AC_REQUIRE([AC_CANONICAL_HOST]) -ax_blas_ok=no - -AC_ARG_WITH(blas, - [AS_HELP_STRING([--with-blas=], [use BLAS library ])]) -case $with_blas in - yes | "") ;; - no) ax_blas_ok=disable ;; - -* | */* | *.a | *.so | *.so.* | *.dylib | *.dylib.* | *.o) - BLAS_LIBS="$with_blas" - ;; - *) BLAS_LIBS="-l$with_blas" ;; -esac - -# Get fortran linker names of BLAS functions to check for. -AC_F77_FUNC(sgemm) -AC_F77_FUNC(dgemm) - -ax_blas_save_LIBS="$LIBS" -LIBS="$LIBS $FLIBS" - -# First, check BLAS_LIBS environment variable -if test $ax_blas_ok = no; then -if test "x$BLAS_LIBS" != x; then - save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS" - AC_MSG_CHECKING([for $sgemm in $BLAS_LIBS]) - AC_LINK_IFELSE([AC_LANG_CALL([], [$sgemm])], [ax_blas_ok=yes], [BLAS_LIBS=""]) - AC_MSG_RESULT($ax_blas_ok) - LIBS="$save_LIBS" -fi -fi - -# BLAS linked to by default? (happens on some supercomputers) -if test $ax_blas_ok = no; then - save_LIBS="$LIBS"; LIBS="$LIBS" - AC_MSG_CHECKING([if $sgemm is being linked in already]) - AC_LINK_IFELSE([AC_LANG_CALL([], [$sgemm])], [ax_blas_ok=yes]) - AC_MSG_RESULT($ax_blas_ok) - LIBS="$save_LIBS" -fi - -# BLAS in OpenBLAS library? (http://xianyi.github.com/OpenBLAS/) -if test $ax_blas_ok = no; then - AC_CHECK_LIB(openblas, $sgemm, [ax_blas_ok=yes - BLAS_LIBS="-lopenblas"]) -fi - -# BLAS in ATLAS library? (http://math-atlas.sourceforge.net/) -if test $ax_blas_ok = no; then - AC_CHECK_LIB(atlas, ATL_xerbla, - [AC_CHECK_LIB(f77blas, $sgemm, - [AC_CHECK_LIB(cblas, cblas_dgemm, - [ax_blas_ok=yes - BLAS_LIBS="-lcblas -lf77blas -latlas"], - [], [-lf77blas -latlas])], - [], [-latlas])]) -fi - -# BLAS in PhiPACK libraries? (requires generic BLAS lib, too) -if test $ax_blas_ok = no; then - AC_CHECK_LIB(blas, $sgemm, - [AC_CHECK_LIB(dgemm, $dgemm, - [AC_CHECK_LIB(sgemm, $sgemm, - [ax_blas_ok=yes; BLAS_LIBS="-lsgemm -ldgemm -lblas"], - [], [-lblas])], - [], [-lblas])]) -fi - -# BLAS in Intel MKL library? -if test $ax_blas_ok = no; then - # MKL for gfortran - if test x"$ac_cv_fc_compiler_gnu" = xyes; then - # 64 bit - if test $host_cpu = x86_64; then - AC_CHECK_LIB(mkl_gf_lp64, $sgemm, - [ax_blas_ok=yes;BLAS_LIBS="-lmkl_gf_lp64 -lmkl_sequential -lmkl_core -lpthread"],, - [-lmkl_gf_lp64 -lmkl_sequential -lmkl_core -lpthread]) - # 32 bit - elif test $host_cpu = i686; then - AC_CHECK_LIB(mkl_gf, $sgemm, - [ax_blas_ok=yes;BLAS_LIBS="-lmkl_gf -lmkl_sequential -lmkl_core -lpthread"],, - [-lmkl_gf -lmkl_sequential -lmkl_core -lpthread]) - fi - # MKL for other compilers (Intel, PGI, ...?) - else - # 64-bit - if test $host_cpu = x86_64; then - AC_CHECK_LIB(mkl_intel_lp64, $sgemm, - [ax_blas_ok=yes;BLAS_LIBS="-lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread"],, - [-lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread]) - # 32-bit - elif test $host_cpu = i686; then - AC_CHECK_LIB(mkl_intel, $sgemm, - [ax_blas_ok=yes;BLAS_LIBS="-lmkl_intel -lmkl_sequential -lmkl_core -lpthread"],, - [-lmkl_intel -lmkl_sequential -lmkl_core -lpthread]) - fi - fi -fi -# Old versions of MKL -if test $ax_blas_ok = no; then - AC_CHECK_LIB(mkl, $sgemm, [ax_blas_ok=yes;BLAS_LIBS="-lmkl -lguide -lpthread"],,[-lguide -lpthread]) -fi - -# BLAS in Apple vecLib library? -if test $ax_blas_ok = no; then - save_LIBS="$LIBS"; LIBS="-framework vecLib $LIBS" - AC_MSG_CHECKING([for $sgemm in -framework vecLib]) - AC_LINK_IFELSE([AC_LANG_CALL([], [$sgemm])], [ax_blas_ok=yes;BLAS_LIBS="-framework vecLib"]) - AC_MSG_RESULT($ax_blas_ok) - LIBS="$save_LIBS" -fi - -# BLAS in Alpha CXML library? -if test $ax_blas_ok = no; then - AC_CHECK_LIB(cxml, $sgemm, [ax_blas_ok=yes;BLAS_LIBS="-lcxml"]) -fi - -# BLAS in Alpha DXML library? (now called CXML, see above) -if test $ax_blas_ok = no; then - AC_CHECK_LIB(dxml, $sgemm, [ax_blas_ok=yes;BLAS_LIBS="-ldxml"]) -fi - -# BLAS in Sun Performance library? -if test $ax_blas_ok = no; then - if test "x$GCC" != xyes; then # only works with Sun CC - AC_CHECK_LIB(sunmath, acosp, - [AC_CHECK_LIB(sunperf, $sgemm, - [BLAS_LIBS="-xlic_lib=sunperf -lsunmath" - ax_blas_ok=yes],[],[-lsunmath])]) - fi -fi - -# BLAS in SCSL library? (SGI/Cray Scientific Library) -if test $ax_blas_ok = no; then - AC_CHECK_LIB(scs, $sgemm, [ax_blas_ok=yes; BLAS_LIBS="-lscs"]) -fi - -# BLAS in SGIMATH library? -if test $ax_blas_ok = no; then - AC_CHECK_LIB(complib.sgimath, $sgemm, - [ax_blas_ok=yes; BLAS_LIBS="-lcomplib.sgimath"]) -fi - -# BLAS in IBM ESSL library? (requires generic BLAS lib, too) -if test $ax_blas_ok = no; then - AC_CHECK_LIB(blas, $sgemm, - [AC_CHECK_LIB(essl, $sgemm, - [ax_blas_ok=yes; BLAS_LIBS="-lessl -lblas"], - [], [-lblas $FLIBS])]) -fi - -# Generic BLAS library? -if test $ax_blas_ok = no; then - AC_CHECK_LIB(blas, $sgemm, [ax_blas_ok=yes; BLAS_LIBS="-lblas"]) -fi - -AC_SUBST(BLAS_LIBS) - -LIBS="$ax_blas_save_LIBS" - -# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x"$ax_blas_ok" = xyes; then - ifelse([$1],,AC_DEFINE(HAVE_BLAS,1,[Define if you have a BLAS library.]),[$1]) - : -else - ax_blas_ok=no - $2 -fi -])dnl AX_BLAS diff --git a/m4/m4_ax_blas_f77_func.m4 b/m4/m4_ax_blas_f77_func.m4 deleted file mode 100644 index 4c6a6fc686..0000000000 --- a/m4/m4_ax_blas_f77_func.m4 +++ /dev/null @@ -1,204 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_blas_f77_func.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_BLAS_F77_FUNC([ACTION-IF-PASS[, ACTION-IF-FAIL[, ACTION-IF-CROSS-COMPILING]]) -# AX_BLAS_WITH_F77_FUNC([ACTION-IF-FOUND-AND-PASS[, ACTION-IF-NOT-FOUND-OR-FAIL]]) -# -# DESCRIPTION -# -# These macros are intended as a supplement to the AX_BLAS macro, to -# verify that BLAS functions are properly callable from Fortran. This is -# necessary, for example, if you want to build the LAPACK library on top -# of the BLAS. -# -# AX_BLAS_F77_FUNC uses the defined BLAS_LIBS and Fortran environment to -# check for compatibility, and takes a specific action in case of success, -# resp. failure, resp. cross-compilation. -# -# AX_BLAS_WITH_F77_FUNC is a drop-in replacement wrapper for AX_BLAS that -# calls AX_BLAS_F77_FUNC after detecting a BLAS library and rejects it on -# failure (i.e. pretends that no library was found). -# -# LICENSE -# -# Copyright (c) 2008 Jaroslav Hajek -# -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation, either version 3 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. - -#serial 9 - -AU_ALIAS([ACX_BLAS_F77_FUNC], [AX_BLAS_F77_FUNC]) -AC_DEFUN([AX_BLAS_F77_FUNC], [ -AC_PREREQ([2.71]) -AC_REQUIRE([AX_BLAS]) - -# F77 call-compatibility checks -if test "$cross_compiling" = yes ; then - ifelse($3, ,$1,$3) -elif test x"$ax_blas_ok" = xyes; then - save_ax_blas_f77_func_LIBS="$LIBS" - LIBS="$BLAS_LIBS $LIBS" - AC_LANG_PUSH(Fortran 77) -# LSAME check (LOGICAL return values) - AC_MSG_CHECKING([whether LSAME is called correctly from Fortran]) - AC_RUN_IFELSE(AC_LANG_PROGRAM(,[[ - logical lsame,w - external lsame - character c1,c2 - c1 = 'A' - c2 = 'B' - w = lsame(c1,c2) - if (w) stop 1 - w = lsame(c1,c1) - if (.not. w) stop 1 - ]]),[ax_blas_lsame_fcall_ok=yes], - [ax_blas_lsame_fcall_ok=no]) - AC_MSG_RESULT([$ax_blas_lsame_fcall_ok]) -# ISAMAX check (INTEGER return values) - AC_MSG_CHECKING([whether ISAMAX is called correctly from Fortran]) - AC_RUN_IFELSE(AC_LANG_PROGRAM(,[[ - integer isamax,i - external isamax - real a(2) - a(1) = 1e0 - a(2) = -2e0 - i = isamax(2,a,1) - if (i.ne.2) stop 1 - ]]),[ax_blas_isamax_fcall_ok=yes], - [ax_blas_isamax_fcall_ok=no]) - AC_MSG_RESULT([$ax_blas_isamax_fcall_ok]) -# SDOT check (REAL return values) - AC_MSG_CHECKING([whether SDOT is called correctly from Fortran]) - AC_RUN_IFELSE(AC_LANG_PROGRAM(,[[ - real sdot,a(1),b(1),w - external sdot - a(1) = 1e0 - b(1) = 2e0 - w = sdot(1,a,1,b,1) - if (w .ne. a(1)*b(1)) stop 1 - ]]),[ax_blas_sdot_fcall_ok=yes], - [ax_blas_sdot_fcall_ok=no]) - AC_MSG_RESULT([$ax_blas_sdot_fcall_ok]) -# DDOT check (DOUBLE return values) - AC_MSG_CHECKING([whether DDOT is called correctly from Fortran]) - AC_RUN_IFELSE(AC_LANG_PROGRAM(,[[ - double precision ddot,a(1),b(1),w - external ddot - a(1) = 1d0 - b(1) = 2d0 - w = ddot(1,a,1,b,1) - if (w .ne. a(1)*b(1)) stop 1 - ]]),[ax_blas_ddot_fcall_ok=yes], - [ax_blas_ddot_fcall_ok=no]) - AC_MSG_RESULT([$ax_blas_ddot_fcall_ok]) -# CDOTU check (COMPLEX return values) - AC_MSG_CHECKING([whether CDOTU is called correctly from Fortran]) - AC_RUN_IFELSE(AC_LANG_PROGRAM(,[[ - complex cdotu,a(1),b(1),w - external cdotu - a(1) = cmplx(1e0,1e0) - b(1) = cmplx(1e0,2e0) - w = cdotu(1,a,1,b,1) - if (w .ne. a(1)*b(1)) stop 1 - ]]),[ax_blas_cdotu_fcall_ok=yes], - [ax_blas_cdotu_fcall_ok=no]) - AC_MSG_RESULT([$ax_blas_cdotu_fcall_ok]) -# ZDOTU check (DOUBLE COMPLEX return values) - AC_MSG_CHECKING([whether ZDOTU is called correctly from Fortran]) - AC_RUN_IFELSE(AC_LANG_PROGRAM(,[[ - double complex zdotu,a(1),b(1),w - external zdotu - a(1) = dcmplx(1d0,1d0) - b(1) = dcmplx(1d0,2d0) - w = zdotu(1,a,1,b,1) - if (w .ne. a(1)*b(1)) stop 1 - ]]),[ax_blas_zdotu_fcall_ok=yes], - [ax_blas_zdotu_fcall_ok=no]) - AC_MSG_RESULT([$ax_blas_zdotu_fcall_ok]) -# Check for correct integer size -# FIXME: this may fail with things like -ftrapping-math. - AC_MSG_CHECKING([whether the integer size is correct]) - AC_RUN_IFELSE(AC_LANG_PROGRAM(,[[ - integer n,nn(3) - real s,a(1),b(1),sdot - a(1) = 1.0 - b(1) = 1.0 -c Generate -2**33 + 1, if possible - n = 2 - n = -4 * (n ** 30) - n = n + 1 - if (n >= 0) goto 1 -c This means we're on 64-bit integers. Check whether the BLAS is, too. - s = sdot(n,a,1,b,1) - if (s .ne. 0.0) stop 1 - 1 continue -c We may be on 32-bit integers, and the BLAS on 64 bits. This is almost bound -c to have already failed, but just in case, we'll check. - nn(1) = -1 - nn(2) = 1 - nn(3) = -1 - s = sdot(nn(2),a,1,b,1) - if (s .ne. 1.0) stop 1 - ]]),[ax_blas_integer_size_ok=yes], - [ax_blas_integer_size_ok=no]) - AC_MSG_RESULT([$ax_blas_integer_size_ok]) - - AC_LANG_POP(Fortran 77) - -# if any of the tests failed, reject the BLAS library - if test $ax_blas_lsame_fcall_ok = yes \ - -a $ax_blas_sdot_fcall_ok = yes \ - -a $ax_blas_ddot_fcall_ok = yes \ - -a $ax_blas_cdotu_fcall_ok = yes \ - -a $ax_blas_zdotu_fcall_ok = yes \ - -a $ax_blas_integer_size_ok = yes; then - ax_blas_f77_func_ok=yes; - $1 - else - ax_blas_f77_func_ok=no; - $2 - fi - LIBS="$save_ax_blas_f77_func_LIBS" -fi - -])dnl AX_BLAS_F77_FUNC - -AC_DEFUN([AX_BLAS_WITH_F77_FUNC], [ -AC_PREREQ([2.71]) -AX_BLAS([# disable special action], []) -if test x$ax_blas_ok = xyes ; then - AX_BLAS_F77_FUNC( - [ifelse([$1],,AC_DEFINE(HAVE_BLAS,1,[Define if you have a BLAS library.]),[$1])], - [ax_blas_ok=no; BLAS_LIBS=]) -fi -if test x$ax_blas_ok = xno ; then - $2 -fi -])dnl AX_BLAS_WITH_F77_FUNC diff --git a/m4/m4_ax_lib_hdf5.m4 b/m4/m4_ax_lib_hdf5.m4 deleted file mode 100644 index b39b69779d..0000000000 --- a/m4/m4_ax_lib_hdf5.m4 +++ /dev/null @@ -1,340 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_lib_hdf5.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_LIB_HDF5([serial/parallel]) -# -# DESCRIPTION -# -# This macro provides tests of the availability of HDF5 library. -# -# The optional macro argument should be either 'serial' or 'parallel'. The -# former only looks for serial HDF5 installations via h5cc. The latter -# only looks for parallel HDF5 installations via h5pcc. If the optional -# argument is omitted, serial installations will be preferred over -# parallel ones. -# -# The macro adds a --with-hdf5 option accepting one of three values: -# -# no - do not check for the HDF5 library. -# yes - do check for HDF5 library in standard locations. -# path - complete path to the HDF5 helper script h5cc or h5pcc. -# -# If HDF5 is successfully found, this macro calls -# -# AC_SUBST(HDF5_VERSION) -# AC_SUBST(HDF5_CC) -# AC_SUBST(HDF5_CFLAGS) -# AC_SUBST(HDF5_CPPFLAGS) -# AC_SUBST(HDF5_LDFLAGS) -# AC_SUBST(HDF5_LIBS) -# AC_SUBST(HDF5_FC) -# AC_SUBST(HDF5_FFLAGS) -# AC_SUBST(HDF5_FLIBS) -# AC_SUBST(HDF5_TYPE) -# AC_DEFINE(HAVE_HDF5) -# -# and sets with_hdf5="yes". Additionally, the macro sets -# with_hdf5_fortran="yes" if a matching Fortran wrapper script is found. -# Note that Autoconf's Fortran support is not used to perform this check. -# H5CC and H5FC will contain the appropriate serial or parallel HDF5 -# wrapper script locations. -# -# If HDF5 is disabled or not found, this macros sets with_hdf5="no" and -# with_hdf5_fortran="no". -# -# Your configuration script can test $with_hdf to take any further -# actions. HDF5_{C,CPP,LD}FLAGS may be used when building with C or C++. -# HDF5_F{FLAGS,LIBS} should be used when building Fortran applications. -# -# To use the macro, one would code one of the following in "configure.ac" -# before AC_OUTPUT: -# -# 1) dnl Check for HDF5 support -# AX_LIB_HDF5() -# -# 2) dnl Check for serial HDF5 support -# AX_LIB_HDF5([serial]) -# -# 3) dnl Check for parallel HDF5 support -# AX_LIB_HDF5([parallel]) -# -# One could test $with_hdf5 for the outcome or display it as follows -# -# echo "HDF5 support: $with_hdf5" -# -# You could also for example, override the default CC in "configure.ac" to -# enforce compilation with the compiler that HDF5 uses: -# -# AX_LIB_HDF5([parallel]) -# if test "$with_hdf5" = "yes"; then -# CC="$HDF5_CC" -# else -# AC_MSG_ERROR([Unable to find HDF5, we need parallel HDF5.]) -# fi -# -# The HDF5_TYPE environment variable returns "parallel" or "serial", -# depending on which type of library is found. -# -# LICENSE -# -# Copyright (c) 2009 Timothy Brown -# Copyright (c) 2010 Rhys Ulerich -# -# Copying and distribution of this file, with or without modification, are -# permitted in any medium without royalty provided the copyright notice -# and this notice are preserved. This file is offered as-is, without any -# warranty. - -#serial 19 - -AC_DEFUN([AX_LIB_HDF5], [ - -AC_REQUIRE([AC_PROG_SED]) -AC_REQUIRE([AC_PROG_AWK]) -AC_REQUIRE([AC_PROG_GREP]) - -dnl Check first argument is one of the recognized values. -dnl Fail eagerly if is incorrect as this simplifies case statements below. -if test "m4_normalize(m4_default([$1],[]))" = "" ; then - : # Recognized value -elif test "m4_normalize(m4_default([$1],[]))" = "serial" ; then - : # Recognized value -elif test "m4_normalize(m4_default([$1],[]))" = "parallel"; then - : # Recognized value -else - AC_MSG_ERROR([ -Unrecognized value for AX[]_LIB_HDF5 within configure.ac. -If supplied, argument 1 must be either 'serial' or 'parallel'. -]) -fi - -dnl Add a default --with-hdf5 configuration option. -AC_ARG_WITH([hdf5], - AS_HELP_STRING( - [--with-hdf5=[yes/no/PATH]], - m4_case(m4_normalize([$1]), - [serial], [location of h5cc for serial HDF5 configuration], - [parallel], [location of h5pcc for parallel HDF5 configuration], - [location of h5cc or h5pcc for HDF5 configuration]) - ), - [if test "$withval" = "no"; then - with_hdf5="no" - elif test "$withval" = "yes"; then - with_hdf5="yes" - else - with_hdf5="yes" - H5CC="$withval" - fi], - [with_hdf5="yes"] -) - -dnl Set defaults to blank -HDF5_CC="" -HDF5_VERSION="" -HDF5_CFLAGS="" -HDF5_CPPFLAGS="" -HDF5_LDFLAGS="" -HDF5_LIBS="" -HDF5_FC="" -HDF5_FFLAGS="" -HDF5_FLIBS="" -HDF5_TYPE="" - -dnl Try and find hdf5 compiler tools and options. -if test "$with_hdf5" = "yes"; then - if test -z "$H5CC"; then - dnl Check to see if H5CC is in the path. - AC_PATH_PROGS( - [H5CC], - m4_case(m4_normalize([$1]), - [serial], [h5cc], - [parallel], [h5pcc], - [h5pcc h5cc]), - []) - else - AC_MSG_CHECKING([Using provided HDF5 C wrapper]) - AC_MSG_RESULT([$H5CC]) - fi - AC_MSG_CHECKING([for HDF5 type]) - AS_CASE([$H5CC], - [*h5pcc], [HDF5_TYPE=parallel], - [*h5cc], [HDF5_TYPE=serial], - [HDF5_TYPE=neither]) - AC_MSG_RESULT([$HDF5_TYPE]) - AC_MSG_CHECKING([for HDF5 libraries]) - if test ! -f "$H5CC" || test ! -x "$H5CC"; then - AC_MSG_RESULT([no]) - AC_MSG_WARN(m4_case(m4_normalize([$1]), - [serial], [ -Unable to locate serial HDF5 compilation helper script 'h5cc'. -Please specify --with-hdf5= as the full path to h5cc. -HDF5 support is being disabled (equivalent to --with-hdf5=no). -], [parallel],[ -Unable to locate parallel HDF5 compilation helper script 'h5pcc'. -Please specify --with-hdf5= as the full path to h5pcc. -HDF5 support is being disabled (equivalent to --with-hdf5=no). -], [ -Unable to locate HDF5 compilation helper scripts 'h5cc' or 'h5pcc'. -Please specify --with-hdf5= as the full path to h5cc or h5pcc. -HDF5 support is being disabled (equivalent to --with-hdf5=no). -])) - with_hdf5="no" - with_hdf5_fortran="no" - else - dnl Get the h5cc output - HDF5_SHOW=$(eval $H5CC -show) - - dnl Get the actual compiler used - HDF5_CC=$(eval $H5CC -show | $AWK '{print $[]1}') - if test "$HDF5_CC" = "ccache"; then - HDF5_CC=$(eval $H5CC -show | $AWK '{print $[]2}') - fi - - dnl h5cc provides both AM_ and non-AM_ options - dnl depending on how it was compiled either one of - dnl these are empty. Lets roll them both into one. - - dnl Look for "HDF5 Version: X.Y.Z" - HDF5_VERSION=$(eval $H5CC -showconfig | $GREP 'HDF5 Version:' \ - | $AWK '{print $[]3}') - - dnl A ideal situation would be where everything we needed was - dnl in the AM_* variables. However most systems are not like this - dnl and seem to have the values in the non-AM variables. - dnl - dnl We try the following to find the flags: - dnl (1) Look for "NAME:" tags - dnl (2) Look for "H5_NAME:" tags - dnl (3) Look for "AM_NAME:" tags - dnl - HDF5_tmp_flags=$(eval $H5CC -showconfig \ - | $GREP 'FLAGS\|Extra libraries:' \ - | $AWK -F: '{printf("%s "), $[]2}' ) - - dnl Find the installation directory and append include/ - HDF5_tmp_inst=$(eval $H5CC -showconfig \ - | $GREP 'Installation point:' \ - | $AWK '{print $[]NF}' ) - - dnl Add this to the CPPFLAGS - HDF5_CPPFLAGS="-I${HDF5_tmp_inst}/include" - - dnl Now sort the flags out based upon their prefixes - for arg in $HDF5_SHOW $HDF5_tmp_flags ; do - case "$arg" in - -I*) echo $HDF5_CPPFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ - || HDF5_CPPFLAGS="$HDF5_CPPFLAGS $arg" - ;; - -L*) echo $HDF5_LDFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ - || HDF5_LDFLAGS="$HDF5_LDFLAGS $arg" - ;; - -l*) echo $HDF5_LIBS | $GREP -e "$arg" 2>&1 >/dev/null \ - || HDF5_LIBS="$HDF5_LIBS $arg" - ;; - esac - done - - HDF5_LIBS="-lhdf5 $HDF5_LIBS" - AC_MSG_RESULT([yes (version $[HDF5_VERSION])]) - - dnl See if we can compile - AC_LANG_PUSH([C]) - ax_lib_hdf5_save_CC=$CC - ax_lib_hdf5_save_CPPFLAGS=$CPPFLAGS - ax_lib_hdf5_save_LIBS=$LIBS - ax_lib_hdf5_save_LDFLAGS=$LDFLAGS - CC=$HDF5_CC - CPPFLAGS=$HDF5_CPPFLAGS - LIBS=$HDF5_LIBS - LDFLAGS=$HDF5_LDFLAGS - AC_CHECK_HEADER([hdf5.h], [ac_cv_hadf5_h=yes], [ac_cv_hadf5_h=no]) - AC_CHECK_LIB([hdf5], [H5Fcreate], [ac_cv_libhdf5=yes], - [ac_cv_libhdf5=no]) - if test "$ac_cv_hadf5_h" = "no" && test "$ac_cv_libhdf5" = "no" ; then - AC_MSG_WARN([Unable to compile HDF5 test program]) - fi - dnl Look for HDF5's high level library - AC_CHECK_LIB([hdf5_hl],[main],[HDF5_LIBS="-lhdf5_hl $HDF5_LIBS"],[],[])ac_cv_lib_hdf5_hl=ac_cv_lib_hdf5_hl_main - - - CC=$ax_lib_hdf5_save_CC - CPPFLAGS=$ax_lib_hdf5_save_CPPFLAGS - LIBS=$ax_lib_hdf5_save_LIBS - LDFLAGS=$ax_lib_hdf5_save_LDFLAGS - AC_LANG_POP([C]) - - AC_MSG_CHECKING([for matching HDF5 Fortran wrapper]) - dnl Presume HDF5 Fortran wrapper is just a name variant from H5CC - H5FC=$(eval echo -n $H5CC | $SED -n 's/cc$/fc/p') - if test -x "$H5FC"; then - AC_MSG_RESULT([$H5FC]) - with_hdf5_fortran="yes" - AC_SUBST([H5FC]) - - dnl Again, pry any remaining -Idir/-Ldir from compiler wrapper - for arg in `$H5FC -show` - do - case "$arg" in #( - -I*) echo $HDF5_FFLAGS | $GREP -e "$arg" >/dev/null \ - || HDF5_FFLAGS="$HDF5_FFLAGS $arg" - ;;#( - -L*) echo $HDF5_FFLAGS | $GREP -e "$arg" >/dev/null \ - || HDF5_FFLAGS="$HDF5_FFLAGS $arg" - dnl HDF5 installs .mod files in with libraries, - dnl but some compilers need to find them with -I - echo $HDF5_FFLAGS | $GREP -e "-I${arg#-L}" >/dev/null \ - || HDF5_FFLAGS="$HDF5_FFLAGS -I${arg#-L}" - ;; - esac - done - - for arg in `$H5FC -showconfig | grep 'Fortran Flags'` - do - case "$arg" in #( - -I*) echo $HDF5_FFLAGS | $GREP -e "$arg" >/dev/null \ - || HDF5_FFLAGS="$HDF5_FFLAGS $arg" - ;;#( - -L*) echo $HDF5_FFLAGS | $GREP -e "$arg" >/dev/null \ - || HDF5_FFLAGS="$HDF5_FFLAGS $arg" - dnl HDF5 installs .mod files in with libraries, - dnl but some compilers need to find them with -I - echo $HDF5_FFLAGS | $GREP -e "-I${arg#-L}" >/dev/null \ - || HDF5_FFLAGS="$HDF5_FFLAGS -I${arg#-L}" - ;; - esac - done - - dnl Make Fortran link line by inserting Fortran libraries - for arg in $HDF5_LIBS - do - case "$arg" in #( - -lhdf5_hl) HDF5_FLIBS="$HDF5_FLIBS -lhdf5hl_fortran $arg" - ;; #( - -lhdf5) HDF5_FLIBS="$HDF5_FLIBS -lhdf5_fortran $arg" - ;; #( - *) HDF5_FLIBS="$HDF5_FLIBS $arg" - ;; - esac - done - else - AC_MSG_RESULT([no]) - with_hdf5_fortran="no" - fi - - AC_SUBST([HDF5_VERSION]) - AC_SUBST([HDF5_CC]) - AC_SUBST([HDF5_CFLAGS]) - AC_SUBST([HDF5_CPPFLAGS]) - AC_SUBST([HDF5_LDFLAGS]) - AC_SUBST([HDF5_LIBS]) - AC_SUBST([HDF5_FC]) - AC_SUBST([HDF5_FFLAGS]) - AC_SUBST([HDF5_FLIBS]) - AC_SUBST([HDF5_TYPE]) - AC_DEFINE([HAVE_HDF5], [1], [Defined if you have HDF5 support]) - fi -fi -]) diff --git a/m4/m4_ax_lib_netcdf4.m4 b/m4/m4_ax_lib_netcdf4.m4 deleted file mode 100644 index d14be03d96..0000000000 --- a/m4/m4_ax_lib_netcdf4.m4 +++ /dev/null @@ -1,279 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_lib_netcdf4.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_LIB_NETCDF4([serial/parallel]) -# -# DESCRIPTION -# -# This macro provides tests of the availability of the NetCDF v4 library. -# -# The optional macro argument should be either 'serial' or 'parallel'. The -# macro will call nc-config to check the output of the '--has-pnetcdf' -# option and error out if the requested parallel isn't supported. -# -# If the optional argument is omitted, no check is made to see if NetCDF -# has parallel support. -# -# The macro adds a --with-netcdf4 option accepting one of three values: -# -# no - do not check for the NetCDF4 library. -# yes - do check for NetCDF4 library in standard locations. -# path - installation prefix for NetCDF version 4. -# -# If NetCDF4 is successfully found, this macro calls -# -# AC_SUBST(NETCDF4_VERSION) -# AC_SUBST(NETCDF4_CC) -# AC_SUBST(NETCDF4_CFLAGS) -# AC_SUBST(NETCDF4_CPPFLAGS) -# AC_SUBST(NETCDF4_LDFLAGS) -# AC_SUBST(NETCDF4_LIBS) -# AC_SUBST(NETCDF4_FC) -# AC_SUBST(NETCDF4_FFLAGS) -# AC_SUBST(NETCDF4_FLIBS) -# AC_DEFINE(HAVE_NETCDF4) -# -# It also sets -# -# with_netcdf4="yes" -# with_netcdf4_fortran="yes" (if NetCDF has Fortran support) -# with_netcdf4_parallel="yes" (if NetCDF has MPI support) -# -# If NetCDF4 is disabled or not found, this macros sets -# -# with_netcdf4="no" -# with_netcdf4_fortran="no" -# -# Note it does not set with_netcdf4_parallel in this case. -# -# Your configuration script can test $with_netcdf4 to take any further -# actions. NETCDF4_{C,CPP,LD}FLAGS may be used when building with C or -# C++. NETCDF4_F{FLAGS,LIBS} and NETCDF4_LDFLAGS should be used when -# building Fortran applications. -# -# To use the macro, one would code one of the following in "configure.ac" -# before AC_OUTPUT: -# -# 1) dnl Check for NetCDF4 support -# AX_LIB_NETCDF4() -# -# 2) dnl Check for serial NetCDF4 support -# AX_LIB_NETCDF4([serial]) -# -# 3) dnl Check for parallel NetCDF4 support -# AX_LIB_NETCDF4([parallel]) -# -# One could test $with_netcdf4 for the outcome or display it as follows -# -# echo "NetCDF v4 support: $with_netcdf4" -# -# One could also for example, override the default CC in "configure.ac" to -# enforce compilation with the compiler that NetCDF v4 was built with: -# -# AX_LIB_NETCDF4([parallel]) -# if test "$with_netcdf4" = "yes"; then -# CC="$NETCDF4_CC" -# else -# AC_MSG_ERROR([Unable to find NetCDF4, we need parallel NetCDF4.]) -# fi -# -# LICENSE -# -# Copyright (c) 2016 Timothy Brown -# -# Copying and distribution of this file, with or without modification, are -# permitted in any medium without royalty provided the copyright notice -# and this notice are preserved. This file is offered as-is, without any -# warranty. - -#serial 2 - -AC_DEFUN([AX_LIB_NETCDF4], [ - -AC_REQUIRE([AC_PROG_SED]) -AC_REQUIRE([AC_PROG_AWK]) -AC_REQUIRE([AC_PROG_GREP]) - -dnl Check first argument is one of the recognized values. -dnl Fail eagerly if is incorrect as this simplifies case statements below. -if test "m4_normalize(m4_default([$1],[]))" = "" ; then - netcdf4_requested_mode="serial" -elif test "m4_normalize(m4_default([$1],[]))" = "serial" ; then - netcdf4_requested_mode="serial" -elif test "m4_normalize(m4_default([$1],[]))" = "parallel"; then - netcdf4_requested_mode="parallel" -else - AC_MSG_ERROR([ -Unrecognized value for AX[]_LIB_NETCDF4 within configure.ac. -If supplied, argument 1 must be either 'serial' or 'parallel'. -]) -fi - -dnl Add a default --with-netcdf4 configuration option. -AC_ARG_WITH([netcdf4], - AS_HELP_STRING( - [--with-netcdf4=[yes/no/PATH]], - m4_case(m4_normalize([$1]), - [serial], [base directory of serial NetCDF4 installation], - [parallel], [base directory of parallel NetCDF4 installation], - [base directory of NetCDF4 installation]) - ), - [if test "$withval" = "no"; then - with_netcdf4="no" - elif test "$withval" = "yes"; then - with_netcdf4="yes" - else - with_netcdf4="yes" - NETCDF4_PREFIX="${withval}" - NC_CONFIG="${withval}/bin/nc-config" - fi], - [with_netcdf4="yes"] -) - -dnl Set defaults to blank -NETCDF4_CC="" -NETCDF4_VERSION="" -NETCDF4_CFLAGS="" -NETCDF4_CPPFLAGS="" -NETCDF4_LDFLAGS="" -NETCDF4_LIBS="" -NETCDF4_FC="" -NETCDF4_FFLAGS="" -NETCDF4_FLIBS="" - -dnl Try and find NetCDF4 tools and options. -if test "$with_netcdf4" = "yes"; then - if test -z "$NC_CONFIG"; then - dnl Check to see if NC_CONFIG is in the path. - AC_PATH_PROGS([NC_CONFIG], [nc-config], []) - NETCDF4_PREFIX=$(AS_DIRNAME([$(AS_DIRNAME(["$NC_CONFIG"]))])) - else - AC_MSG_CHECKING([Using provided NetCDF4 prefix]) - AC_MSG_RESULT([$NC_CONFIG]) - fi - - AC_MSG_CHECKING([for NetCDF4 libraries]) - - if test ! -f "$NC_CONFIG" || test ! -x "$NC_CONFIG"; then - AC_MSG_RESULT([no]) - AC_MSG_WARN([ - -Unable to locate NetCDF4 compilation helper script 'nc-config'. -Please specify --with-netcdf4= as the full path prefix -where NetCDF4 has been installed. -NetCDF4 support is being disabled (equivalent to --with-netcdf4=no). -]) - with_netcdf4="no" - with_netcdf4_fortran="no" - else - dnl Get the actual compiler used - NETCDF4_CC=$(eval $NC_CONFIG --cc | $AWK '{print $[]1}') - if test "$NETCDF4_CC" = "ccache"; then - NETCDF4_CC=$(eval $NC_CONFIG --cc | $AWK '{print $[]2}') - fi - - dnl Look for version - NETCDF4_VERSION=$(eval $NC_CONFIG --version | $AWK '{print $[]2}') - - dnl Look for the CFLAGS - NETCDF4_CFLAGS=$(eval $NC_CONFIG --cflags) - - dnl Look for the LIBS and LDFLAGS - NETCDF4_tmp_clibs=$(eval $NC_CONFIG --libs) - - dnl Sort out the tmp libs based on their prefixes - for arg in $NETCDF4_tmp_clibs ; do - case "$arg" in - -L*) echo $NETCDF4_LDFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ - || NETCDF4_LDFLAGS="$arg $NETCDF4_LDFLAGS" - ;; - -l*) echo $NETCDF4_LIBS | $GREP -e "$arg" 2>&1 >/dev/null \ - || NETCDF4_LIBS="$arg $NETCDF4_LIBS" - ;; - esac - done - - AC_MSG_RESULT([yes (version $[NETCDF4_VERSION])]) - - dnl See if we need (and have) parallel support - if test "$netcdf4_requested_mode" = "parallel" ; then - with_netcdf4_parallel=$(eval $NC_CONFIG --has-pnetcdf) - if test "$with_netcdf4_parallel" = "no" ; then - AC_MSG_ERROR([ -parallel NetCDF4 is not supported (while it was requested) -]) - fi - fi - - dnl See if we can compile - ax_lib_netcdf4_save_CC=$CC - ax_lib_netcdf4_save_CFLAGS=$CFLAGS - ax_lib_netcdf4_save_CPPFLAGS=$CPPFLAGS - ax_lib_netcdf4_save_LIBS=$LIBS - ax_lib_netcdf4_save_LDFLAGS=$LDFLAGS - CC=$NETCDF4_CC - CFLAGS=$NETCDF4_CFLAGS - LIBS=$NETCDF4_LIBS - LDFLAGS=$NETCDF4_LDFLAGS - AC_CHECK_HEADER([netcdf.h], [ac_cv_netcdf4_h=yes], [ac_cv_netcdf4_h=no]) - AC_CHECK_LIB([netcdf], [nc_create], [ac_cv_libnetcdf4=yes], - [ac_cv_libnetcdf4=no]) - if test "$ac_cv_netcdf4_h" = "no" && \ - test "$ac_cv_libnetcdf4" = "no" ; then - AC_MSG_WARN([Unable to compile NetCDF4 test program]) - fi - - CC=$ax_lib_netcdf4_save_CC - CFLAGS=$ax_lib_netcdf4_save_CFLAGS - LIBS=$ax_lib_netcdf4_save_LIBS - LDFLAGS=$ax_lib_netcdf4_save_LDFLAGS - - - AC_MSG_CHECKING([for matching NetCDF4 Fortran libraries]) - NF_CONFIG="${NETCDF4_PREFIX}/bin/nf-config" - if test ! -f "$NF_CONFIG" || test ! -x "$NF_CONFIG"; then - AC_MSG_RESULT([no]) - with_netcdf4_fortran="no" - else - NETCDF_FVERSION=$(eval $NF_CONFIG --version | $AWK '{print $[]2}') - AC_MSG_RESULT([yes (version $[NETCDF_FVERSION])]) - NETCDF4_FC=$(eval $NF_CONFIG --fc | $AWK '{print $[]1}') - if test "$NETCDF4_FC" = "ccache"; then - NETCDF4_FC=$(eval $NF_CONFIG --fc | $AWK '{print $[]2}') - fi - dnl Look for the FFLAGS - NETCDF4_FFLAGS=$(eval $NC_CONFIG --fflags) - - dnl Look for the FLIBS and LDFLAGS - NETCDF4_tmp_flibs=$(eval $NC_CONFIG --flibs) - - dnl Sort out the tmp libs based on their prefixes - for arg in $NETCDF4_tmp_flibs ; do - case "$arg" in - -L*) echo $NETCDF4_LDFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ - || NETCDF4_LDFLAGS="$arg $NETCDF4_LDFLAGS" - ;; - -l*) echo $NETCDF4_FLIBS | $GREP -e "$arg" 2>&1 >/dev/null \ - || NETCDF4_FLIBS="$arg $NETCDF4_FLIBS" - ;; - esac - done - with_netcdf4_fortran="yes" - fi - - AC_SUBST([NETCDF4_VERSION]) - AC_SUBST([NETCDF4_CC]) - AC_SUBST([NETCDF4_PREFIX]) - AC_SUBST([NETCDF4_CFLAGS]) - AC_SUBST([NETCDF4_LDFLAGS]) - AC_SUBST([NETCDF4_LIBS]) - AC_SUBST([NETCDF4_FC]) - AC_SUBST([NETCDF4_FFLAGS]) - AC_SUBST([NETCDF4_FLIBS]) - AC_DEFINE([HAVE_NETCDF4], [1], [Defined if you have NETCDF4 support]) - fi -fi -]) diff --git a/m4/netcdf.m4 b/m4/netcdf.m4 deleted file mode 100644 index 2b3a9d7f97..0000000000 --- a/m4/netcdf.m4 +++ /dev/null @@ -1,157 +0,0 @@ -# AX_NETCDF -# ---------------------------------------------------------- -# set up for NETCDF -# -AC_DEFUN([AX_NETCDF],[ - AC_ARG_WITH(netcdf, - AS_HELP_STRING([--with-netcdf=PFX],[Prefix where NETCDF has been installed ]), - [ - test "$withval" = no && AC_MSG_WARN([netcdf is optional]) - test "$withval" = yes || netcdf_prefix="$withval" - with_netcdf=$withval ], - [ with_netcdf=yes ] - ) - - AS_IF([test "x$with_netcdf" != xno ], - [ - #user override - AS_IF([test "x$NETCDF_LIBS" != x && test "x$NETCDF_FLAGS" != x ], - [ - have_netcdf=yes - FOUND_NETCDF="yes" - ], - [ - saved_LIBS="$LIBS" - saved_CXXFLAGS="$CXXFLAGS" - NETCDF_PREFIX="" - NETCDF_LIBS="" - NETCDF_FLAGS="" - FOUND_NETCDF="no" - if test x$netcdf_prefix == x; then - if test x$PREFIX != x; then - netcdf_prefix=$PREFIX - fi - fi - if test x$netcdf_prefix != x; then - ac_NETCDF_CFLAGS="-I$netcdf_prefix/include" - ac_NETCDF_LDOPTS="-L$netcdf_prefix/lib" - - - save_CFLAGS="$CFLAGS" - save_CPPFLAGS="$CPPFLAGS" - CFLAGS="$ac_NETCDF_CFLAGS $save_CFLAGS" - CPPFLAGS="$ac_NETCDF_CFLAGS $save_CPPFLAGS" - AC_CHECK_HEADER( - [netcdf.h], - [NETCDF_FLAGS="$ac_NETCDF_CFLAGS" - NETCDF_PREFIX="$netcdf_prefix" - FOUND_NETCDF="yes"], - [AC_MSG_WARN([Cannot find headers (netcdf.h) of the library NETCDF in $netcdf_prefix/include.])] - ) - CFLAGS="$save_CFLAGS" - CPPFLAGS="$save_CPPFLAGS" - - - AC_LANG_PUSH(Fortran) - save_FCFLAGS="$FCFLAGS" - FCFLAGS="$ac_NETCDF_CFLAGS $save_FCFLAGS" - LIBS="$ac_NETCDF_LDOPTS -lnetcdf -lnetcdff" - AC_MSG_CHECKING([Fortran netcdf presence]) - AC_LINK_IFELSE([ - AC_LANG_SOURCE([ - program conftest - use netcdf - include "netcdf.inc" - - character, dimension(80) :: n - n=nf_inq_libvers() - end - ]) - ],[ - NETCDFF_FLAGS="$ac_NETCDF_CFLAGS" - NETCDFF_LIBS="$ac_NETCDF_LDOPTS -lnetcdf -lnetcdff" - NETCDFF_PREFIX="$netcdf_prefix" - FOUND_NETCDFF="yes" - AC_MSG_RESULT([yes]) - ],[ - AC_MSG_WARN([Cannot compile or link against library Fortran NETCDF in $netcdf_prefix]) - ]) - FCFLAGS="$save_FCFLAGS" - AC_LANG_POP(Fortran) - - save_LIBS="$LIBS" - LIBS="$ac_NETCDF_LDOPTS -lnetcdf $save_LIBS" - AC_CHECK_LIB([netcdf], [nc_inq_libvers], - [NETCDF_LIBS="$ac_NETCDF_LDOPTS -lnetcdf"], - [AC_MSG_WARN([libnetcdf : library missing. (Cannot find symbol nc_inq_libvers) in $netcdf_prefix. Check if libnetcdf3 is installed and if the version is correct])] - ) - LIBS="$save_LIBS" - fi - if test x$FOUND_NETCDF != xyes; then - if test x$PREFIX != x; then - netcdf_prefix=$PREFIX - else - AC_PATH_PROG( NF_CONFIG, nf-config, no) - if test x$NF_CONFIG != xno; then - netcdf_prefix=`nf-config --prefix` - else - netcdf_prefix="/usr" - fi - fi - AC_CHECK_HEADER( - [netcdf.h], - [NETCDF_FLAGS="" - NETCDF_PREFIX="" - FOUND_NETCDF="yes"], - [AC_MSG_WARN([Cannot find headers (netcdf.h) of the library NETCDF in $netcdf_prefix/include.])] - ) - AC_CHECK_LIB( - [netcdf], - [nc_inq_libvers], - [NETCDF_LIBS="-lnetcdf"], - [ - FOUND_NETCDF="no" - AC_MSG_WARN([libnetcdf : library missing. (Cannot find symbol nc_inq_libvers). Check if libnetcdf is installed and if the version is correct])] - ) - - AC_LANG_PUSH(Fortran) - save_FCFLAGS="$FCFLAGS" - FCFLAGS="-I$netcdf_prefix/include $save_FCFLAGS" - LIBS="-lnetcdf -lnetcdff" - AC_MSG_CHECKING([Fortran netcdf presence]) - AC_LINK_IFELSE([ - AC_LANG_SOURCE([ - program conftest - use netcdf - include "netcdf.inc" - - character, dimension(80) :: n - n=nf_inq_libvers() - end - ]) - ],[ - NETCDFF_FLAGS="-I$netcdf_prefix/include " - NETCDFF_LIBS="-lnetcdf -lnetcdff" - NETCDFF_PREFIX=$netcdf_prefix - FOUND_NETCDFF="yes" - AC_MSG_RESULT([yes]) - ],[ - AC_MSG_WARN([Cannot compile or link against library Fortran NETCDF in $netcdf_prefix/]) - ]) - FCFLAGS="$save_FCFLAGS" - AC_LANG_POP(Fortran) - fi - - - ]) - ]) - - AC_SUBST(FOUND_NETCDF) - AC_SUBST(NETCDF_FLAGS) - AC_SUBST(NETCDF_LIBS) - AC_SUBST(NETCDF_PREFIX) - AC_SUBST(NETCDFF_FLAGS) - AC_SUBST(NETCDFF_LIBS) - AC_SUBST(NETCDFF_PREFIX) - ] -) diff --git a/m4/opencl.m4 b/m4/opencl.m4 deleted file mode 100644 index 14ff0fd4ae..0000000000 --- a/m4/opencl.m4 +++ /dev/null @@ -1,163 +0,0 @@ -AC_DEFUN([AX_LANG_COMPILER_MS], -[AC_CACHE_CHECK([whether we are using the Microsoft _AC_LANG compiler], - [ax_cv_[]_AC_LANG_ABBREV[]_compiler_ms], -[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[#ifndef _MSC_VER - choke me -#endif -]])], - [ax_compiler_ms=yes], - [ax_compiler_ms=no]) -ax_cv_[]_AC_LANG_ABBREV[]_compiler_ms=$ax_compiler_ms -])]) - -# -*- mode: autoconf -*- -# -# AX_CHECK_CL -# -# Check for an OpenCL implementation. If CL is found, the required compiler -# and linker flags are included in the output variables "CL_CFLAGS" and -# "CL_LIBS", respectively. If no usable CL implementation is found, "no_cl" -# is set to "yes". -# -# If the header "CL/cl.h" is found, "HAVE_CL_CL_H" is defined. If the header -# "OpenCL/cl.h" is found, HAVE_OPENCL_CL_H is defined. These preprocessor -# definitions may not be mutually exclusive. -# -# Based on AX_CHECK_GL, version: 2.4 author: Braden McDaniel -# -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception, the you may copy, distribute and modify the -# configure scripts that are the output of Autoconf when processing -# the Macro. You need not follow the terms of the GNU General Public -# License when using or distributing such scripts. -# -AC_DEFUN([AX_CHECK_CL], -[ -AC_ARG_WITH(opencl, - AS_HELP_STRING([--with-opencl=PFX],[Prefix where OpenCl has been installed ]), - [ - test "$withval" = no && AC_MSG_WARN([opencl is an optional package for sapporo2 ]) - - if test "x$withval" != xyes; then - opencl_prefix="$withval" - with_opencl=yes - fi - if test "x$withval" == xno; then - with_opencl=no - fi - ], - [ with_opencl=yes ] - ) - - AS_IF([test "x$with_opencl" != xno ], - [ - -if test x$opencl_prefix == x; then - if test x$PREFIX != x; then - opencl_prefix=$PREFIX - fi -fi - -if test x$opencl_prefix != x; then - CL_CFLAGS="-I$opencl_prefix/include" - CL_LIBS_TRY="-L$opencl_prefix/lib -L$opencl_prefix/lib64 -L$opencl_prefix/lib/x86_64 -L$opencl_prefix/lib/x86" -else - CL_LIBS_TRY="" -fi - -AC_LANG_PUSH([C]) -AX_LANG_COMPILER_MS - -ax_save_CPPFLAGS=$CPPFLAGS -CPPFLAGS="$CL_CFLAGS $CPPFLAGS" -AC_CHECK_HEADERS([CL/cl.h OpenCL/cl.h]) -CPPFLAGS=$ax_save_CPPFLAGS - -AC_CHECK_HEADERS([windows.h]) - -m4_define([AX_CHECK_CL_PROGRAM], - [AC_LANG_PROGRAM([[ -# if defined(HAVE_WINDOWS_H) && defined(_WIN32) -# include -# endif -# ifdef HAVE_CL_CL_H -# include -# elif defined(HAVE_OPENCL_CL_H) -# include -# else -# error no cl.h -# endif]], - [[clFinish(0)]])]) - -AC_CACHE_CHECK([for OpenCL library], [ax_cv_check_cl_libcl], -[ax_cv_check_cl_libcl=no -case $host_cpu in - x86_64) ax_check_cl_libdir=lib64 ;; - *) ax_check_cl_libdir=lib ;; -esac -ax_save_CPPFLAGS=$CPPFLAGS -CPPFLAGS="$CPPFLAGS $CL_CFLAGS" -ax_save_LIBS=$LIBS -LIBS="" -ax_check_libs="-lOpenCL -lCL" - -for cl_libflags in $CL_LIBS_TRY; do - for ax_lib in $ax_check_libs; do - AS_IF([test X$ax_compiler_ms = Xyes], - [ax_try_lib=`echo $ax_lib | $SED -e 's/^-l//' -e 's/$/.lib/'`], - [ax_try_lib=$ax_lib]) - LIBS="$ax_try_lib $cl_libflags $ax_save_LIBS" - AC_LINK_IFELSE([AX_CHECK_CL_PROGRAM], - [ax_cv_check_cl_libcl=$ax_try_lib; break], - [ax_check_cl_nvidia_flags="-L/usr/$ax_check_cl_libdir/nvidia" LIBS="$ax_try_lib $ax_check_cl_nvidia_flags $cl_libflags $ax_save_LIBS" - AC_LINK_IFELSE([AX_CHECK_CL_PROGRAM], - [ax_cv_check_cl_libcl="$ax_try_lib $ax_check_cl_nvidia_flags"; break], - [ax_check_cl_dylib_flag='-dylib_file /System/Library/Frameworks/OpenCL.framework/Versions/A/Libraries/libCL.dylib:/System/Library/Frameworks/OpenCL.framework/Versions/A/Libraries/libCL.dylib' LIBS="$ax_try_lib $ax_check_cl_dylib_flag $cl_libflags $ax_save_LIBS" - AC_LINK_IFELSE([AX_CHECK_CL_PROGRAM], - [ax_cv_check_cl_libcl="$ax_try_lib $ax_check_cl_dylib_flag"; break])])]) - done - AS_IF([test "X$ax_cv_check_cl_libcl" = Xno], - [], - [break]) -done - -AS_IF([test "X$ax_cv_check_cl_libcl" = Xno -a X$no_x = Xyes], - [LIBS='-framework OpenCL' - AC_LINK_IFELSE([AX_CHECK_CL_PROGRAM], - [ax_cv_check_cl_libcl=$LIBS])]) - -LIBS=$ax_save_LIBS -CPPFLAGS=$ax_save_CPPFLAGS]) - - -AS_IF([test "X$ax_cv_check_cl_libcl" = Xno], - [have_cl=no; CL_CFLAGS=""; CL_LIBS=""], - [have_cl=yes; CL_LIBS="$cl_libflags $ax_cv_check_cl_libcl"]) -AC_LANG_POP([C]) -], [have_cl=no -CL_CFLAGS="" -CL_LIBS="" -]) - -FOUND_CL=$have_cl - -AC_SUBST([FOUND_CL]) -AC_SUBST([CL_CFLAGS]) -AC_SUBST([CL_LIBS]) - -])dnl diff --git a/m4/pic_flags.m4 b/m4/pic_flags.m4 deleted file mode 100644 index 4d3678fc37..0000000000 --- a/m4/pic_flags.m4 +++ /dev/null @@ -1,105 +0,0 @@ -AC_DEFUN([DETECT_PIC_FLAGS], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_ARG_VAR([PIC_FLAGS], [compiler flags for PIC code]) -AC_ARG_ENABLE([pic], - [AS_HELP_STRING([--disable-pic], - [compile PIC objects @<:@default=enabled for shared builds - on supported platforms@:>@])], - [enable_pic="$enableval" - test "x$enable_pic" = x && enable_pic=auto], - [enable_pic=auto]) -# disable PIC by default for static builds -if test "$enable_pic" = auto && test "$enable_static" = yes; then - enable_pic=no -fi -# if PIC hasn't been explicitly disabled, try to figure out the flags -if test "$enable_pic" != no; then - AC_MSG_CHECKING([for $CC option to produce PIC]) - # allow the user's flags to override - if test "x$PIC_FLAGS" = x; then - # see if we're using GCC - if test "x$GCC" = xyes; then - case "$host_os" in - aix*|beos*|cygwin*|irix5*|irix6*|osf3*|osf4*|osf5*) - # PIC is the default for these OSes. - ;; - mingw*|os2*|pw32*) - # This hack is so that the source file can tell whether - # it is being built for inclusion in a dll (and should - # export symbols for example). - PIC_FLAGS="-DDLL_EXPORT" - ;; - darwin*|rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - PIC_FLAGS="-fno-common" - ;; - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, - # but not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - PIC_FLAGS="-fPIC" - ;; - esac - ;; - *) - # Everyone else on GCC uses -fPIC - PIC_FLAGS="-fPIC" - ;; - esac - else # !GCC - case "$host_os" in - hpux9*|hpux10*|hpux11*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, - # but not for PA HP-UX. - case "$host_cpu" in - hppa*64*|ia64*) - # +Z the default - ;; - *) - PIC_FLAGS="+Z" - ;; - esac - ;; - linux*|k*bsd*-gnu) - case `basename "$CC"` in - icc*|ecc*|ifort*) - PIC_FLAGS="-KPIC" - ;; - pgcc*|pgf77*|pgf90*|pgf95*) - # Portland Group compilers (*not* the Pentium gcc - # compiler, which looks to be a dead project) - PIC_FLAGS="-fpic" - ;; - ccc*) - # All Alpha code is PIC. - ;; - xl*) - # IBM XL C 8.0/Fortran 10.1 on PPC - PIC_FLAGS="-qpic" - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*|*Sun\ F*) - # Sun C 5.9 or Sun Fortran - PIC_FLAGS="-KPIC" - ;; - esac - esac - ;; - solaris*) - PIC_FLAGS="-KPIC" - ;; - sunos4*) - PIC_FLAGS="-PIC" - ;; - esac - fi # GCC - fi # PIC_FLAGS - AC_MSG_RESULT([$PIC_FLAGS]) -fi -AC_SUBST([PIC_FLAGS]) -])# DETECT_PIC_FLAGS diff --git a/m4/python_dev.m4 b/m4/python_dev.m4 deleted file mode 100644 index 74be7fc191..0000000000 --- a/m4/python_dev.m4 +++ /dev/null @@ -1,67 +0,0 @@ - -AC_DEFUN([AC_CHECK_PYTHON_DEV],[ - PYTHON_DEV='yes' - - AC_ARG_VAR([PYTHONCONFIG], [Python config script to determine python module compile flags (python-config)]) - AS_IF([test "x$PYTHONCONFIG" = "x"], [ - PYTHONCONFIG=python-config - AC_PATH_PROGS([PYTHONCONFIG], [$PYTHONCONFIG], ['no'])]) - AS_IF([test "x$PYTHONCONFIG" = "xno"], [PYTHON_DEV='no']) - AC_ARG_VAR([CYTHON], [cython script to compile code in the Cython language]) - AC_ARG_VAR([PYTHONDEV_CFLAGS], [CFLAGS for python compilation]) - AC_ARG_VAR([PYTHONDEV_LDFLAGS], [LDFLAGS for python language]) - AS_IF([test "x$CYTHON" = "x"], [ - CYTHON=cython - AC_PATH_PROGS([CYTHON], [$CYTHON], [])]) - AS_IF([test "x$PYTHON_DEV" = "xyes"], [ - AS_IF([test "x$PYTHONDEV_CFLAGS" = "x"],[ - PYTHONDEV_CFLAGS=`$PYTHONCONFIG --cflags` - PYTHONDEV_LDFLAGS=`$PYTHONCONFIG --ldflags` - save_CFLAGS="$CFLAGS" - save_CPPFLAGS="$CPPFLAGS" - CFLAGS="$PYTHONDEV_CFLAGS $save_CFLAGS" - CPPFLAGS="$PYTHONDEV_CFLAGS $save_CPPFLAGS" - AC_CHECK_HEADER( - [Python.h], - [], - [ - PYTHON_DEV="no" - PYTHONDEV_CFLAGS='' - PYTHONDEV_LDFLAGS='' - - AC_MSG_WARN([Cannot find headers (Python.h)])] - ) - AS_IF([test "x$PYTHON_DEV" = "xyes"], [ - - save_LDFLAGS="$LDFLAGS" - save_LIBS="$LIBS" - LIBS=`$PYTHONCONFIG --libs` - LDFLAGS="$PYTHONDEV_LDFLAGS $save_LDFLAGS" - AC_MSG_CHECKING([if possible to embed python]) - AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[#include "Python.h"]], - [[ - Py_Initialize(); - PyRun_SimpleString("print 'embedded python',"); - Py_Finalize(); - ]])], - [AC_MSG_RESULT([yes])], - [PYTHON_DEV="no" - PYTHONDEV_CFLAGS='' - PYTHONDEV_LDFLAGS='' - - AC_MSG_RESULT([no])] - ) - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ]) - CFLAGS="$save_CFLAGS" - CPPFLAGS="$save_CPPFLAGS" - ],[]) - ], []) - - AC_SUBST(PYTHON_DEV) - AC_SUBST(CYTHON) - AC_SUBST(PYTHONDEV_CFLAGS) - AC_SUBST(PYTHONDEV_LDFLAGS) -]) diff --git a/m4/python_module.m4 b/m4/python_module.m4 deleted file mode 100644 index 99a7578f38..0000000000 --- a/m4/python_module.m4 +++ /dev/null @@ -1,61 +0,0 @@ -# AC_CHECK_PYTHON_MODULE Autoconf macro, revision 0 -# -# Copyright (C) 2008 Stephan Peijnik -# -# Copying and distribution of this file, with or without modification, -# are permitted in any medium without royalty provided the copyright notice -# and this notice are preserved. -# -# Sources: -# http://blog.sp.or.at/2008/08/31/autoconf-and-python-checking-for-modules/ -# - -AC_DEFUN([AC_CHECK_PYTHON_MODULE],[ - # AC_CHECK_PYTHON_MODULE(MODULE_NAME [,VERSION_VARIABLE]) - - # the python module name - MODULE_NAME=$1 - # the python variable that contains the module's version - # If this is not set the version will not be retrieved from the module. - # Example: __version__. - VERSION_VARIABLE=$1.$2 - - # check for the python binary defined in $PYTHON - # fall back to "python" - if test -z $PYTHON; - then - PYTHON="python" - fi - - AC_MSG_CHECKING(for python module $MODULE_NAME) - - if test -z "$2" - then - $PYTHON -c "import $MODULE_NAME" 2>/dev/null - if test $? -eq 0 - then - eval PYTHON_${MODULE_NAME}=1 - AC_MSG_RESULT(found) - else - eval PYTHON_${MODULE_NAME}=0 - AC_MSG_RESULT(not found) - fi - AC_SUBST(PYTHON_$1) - else - VERSION=`$PYTHON -c "import $MODULE_NAME; print ($VERSION_VARIABLE)" 2>/dev/null` - if test $? -eq 0 - then - eval PYTHON_${MODULE_NAME}_VERSION=$VERSION - eval PYTHON_${MODULE_NAME}=1 - - AC_MSG_RESULT([found ($VERSION)]) - else - eval PYTHON_${MODULE_NAME}=0 - eval PYTHON_${MODULE_NAME}_VERSION=0 - - AC_MSG_RESULT(not found) - fi - AC_SUBST(PYTHON_$1_VERSION) - AC_SUBST(PYTHON_$1) - fi -]) diff --git a/m4/utils.m4 b/m4/utils.m4 deleted file mode 100644 index cfd093b645..0000000000 --- a/m4/utils.m4 +++ /dev/null @@ -1,116 +0,0 @@ - -AC_DEFUN([AX_GFORTRAN_OPTION], [ -if test "x$GCC" = "xyes"; then - AC_MSG_CHECKING([if gfortran accepts $2 option]) - if AC_TRY_COMMAND($FC $2) >/dev/null 2>&1; then - $1=$3 - AC_MSG_RESULT([yes]) - else - $1=$4 - AC_MSG_RESULT([no]) - fi -else - unset $1 - AC_MSG_RESULT([sorry, no gcc available]) -fi -]) - - - -AC_DEFUN([AX_GFORTRAN_VERSION], [ - GFORTRAN_VERSION="" - AX_GFORTRAN_OPTION(ax_gcc_version_option, [-dumpversion], - [yes], - [no]) - AS_IF([test "x$GCC" = "xyes"],[ - - AS_IF([test "x$ax_gcc_version_option" != "xno"],[ - - AC_MSG_CHECKING([gfortran version]) - ax_cv_gcc_version="`$FC -v 2>&1 | grep gcc\ version | cut -d\ -f3`" - AS_IF([test "x$ax_cv_gcc_version" = "x"],[ - ax_cv_gcc_version="" - AC_MSG_RESULT([could not determine version]) - ], [ - AC_MSG_RESULT([$ax_cv_gcc_version])]) - - GFORTRAN_VERSION=$ax_cv_gcc_version - ]) - ]) - AC_SUBST([GFORTRAN_VERSION]) -]) - - -AC_DEFUN([AX_IFORT_VERSION], [ - IFORT_VERSION="" - - AS_IF([test "x$FC" = "xifort"],[ - AC_MSG_CHECKING([ifort version]) - ax_cv_ifort_version="`$FC -v 2>&1 | grep Version | cut -d\ -f2`" - AS_IF([test "x$ax_cv_ifort_version" = "x"],[ - ax_cv_ifort_version="" - AC_MSG_RESULT([could not determine version]) - ], [ - AC_MSG_RESULT([$ax_cv_ifort_version])]) - - IFORT_VERSION=$ax_cv_ifort_version - ]) - AC_SUBST([IFORT_VERSION]) -]) - - - -# -# AC_FIND_LIB(LIBRARY, FUNCTION, LIST-OF-DIRECTORIES [, ACTION-IF-FOUND -# [, ACTION-IF-NOT-FOUND [, OTHER-LIBRARIES ]]]) -AC_DEFUN([AC_FIND_LIB], - [AC_MSG_CHECKING([directories for -l$1]) - # - # A lot of this is taken from AC_CHECK_LIB. Note that we always check - # the "no directory" case first. - # - ac_lib_var=`echo $1['_']$2 | tr './+\055' '__p_'` - ac_save_LIBS="$LIBS" - AC_CACHE_VAL(ac_cv_lib_$ac_lib_var, - [for dir in "" $3 - do - ac_cache_save_LIBS="$LIBS" - if test "X$dir" = "X"; then - LIBS="$LIBS -l$1 $6" - else - LIBS="$LIBS -L$dir -l$1 $6" - fi - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ifelse($2, main, , # Avoid conflicting decl of main. - /* Override any gcc2 internal prototype to avoid an error. */ - - /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ - char $2(); - )]], [[$2()]])],[if test "X$dir" = "X"; then - eval "ac_cv_lib_$ac_lib_var=yes" - else - eval "ac_cv_lib_$ac_lib_var=$dir" - fi - break],[eval "ac_cv_lib_$ac_lib_var=no"]) - LIBS="$ac_cache_save_LIBS" - done - ])# - LIBS="$ac_save_LIBS" - if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" != no"; then - eval "dir=\"`echo '$ac_cv_lib_'$ac_lib_var`\"" - if test "$dir" = "yes"; then - AC_MSG_RESULT([found]) - else - AC_MSG_RESULT([found in $dir]) - fi - if test "$dir" = "yes"; then - LIBS="$LIBS -l$1" - else - LIBS="$LIBS -L$dir -l$1" - fi - $4 - else - AC_MSG_RESULT(not found) - $5 - fi -]) diff --git a/packages/amuse-aarsethzare/MANIFEST.in b/packages/amuse-aarsethzare/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-aarsethzare/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-aarsethzare/README.md b/packages/amuse-aarsethzare/README.md deleted file mode 100644 index ac82363360..0000000000 --- a/packages/amuse-aarsethzare/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the AarsethZare community code for AMUSE. diff --git a/packages/amuse-aarsethzare/pyproject.toml b/packages/amuse-aarsethzare/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-aarsethzare/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-aarsethzare/setup.py b/packages/amuse-aarsethzare/setup.py deleted file mode 100644 index bd8c584b16..0000000000 --- a/packages/amuse-aarsethzare/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-aarsethzare' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - AarsethZare' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.aarsethzare', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/aarsethzare/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.aarsethzare': 'src/amuse/community/aarsethzare', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-aarsethzare/src/amuse/community/aarsethzare b/packages/amuse-aarsethzare/src/amuse/community/aarsethzare deleted file mode 120000 index 6193533253..0000000000 --- a/packages/amuse-aarsethzare/src/amuse/community/aarsethzare +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/aarsethzare \ No newline at end of file diff --git a/packages/amuse-aarsethzare/support b/packages/amuse-aarsethzare/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-aarsethzare/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-athena/MANIFEST.in b/packages/amuse-athena/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-athena/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-athena/README.md b/packages/amuse-athena/README.md deleted file mode 100644 index e0a32658cb..0000000000 --- a/packages/amuse-athena/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the Athena community code for AMUSE. diff --git a/packages/amuse-athena/pyproject.toml b/packages/amuse-athena/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-athena/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-athena/setup.py b/packages/amuse-athena/setup.py deleted file mode 100644 index 04e24387aa..0000000000 --- a/packages/amuse-athena/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-athena' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - Athena' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.athena', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/athena/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.athena': 'src/amuse/community/athena', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-athena/src/amuse/community/athena b/packages/amuse-athena/src/amuse/community/athena deleted file mode 120000 index 6ca5b41b30..0000000000 --- a/packages/amuse-athena/src/amuse/community/athena +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/athena \ No newline at end of file diff --git a/packages/amuse-athena/support b/packages/amuse-athena/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-athena/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-bhtree/MANIFEST.in b/packages/amuse-bhtree/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-bhtree/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-bhtree/README.md b/packages/amuse-bhtree/README.md deleted file mode 100644 index e634bed7ae..0000000000 --- a/packages/amuse-bhtree/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the BHTree community code for AMUSE. diff --git a/packages/amuse-bhtree/pyproject.toml b/packages/amuse-bhtree/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-bhtree/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-bhtree/setup.py b/packages/amuse-bhtree/setup.py deleted file mode 100644 index 6cfa4f010d..0000000000 --- a/packages/amuse-bhtree/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-bhtree' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - BHTree' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.bhtree', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/bhtree/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.bhtree': 'src/amuse/community/bhtree', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-bhtree/src/amuse/community/bhtree b/packages/amuse-bhtree/src/amuse/community/bhtree deleted file mode 120000 index fcfa1b66d4..0000000000 --- a/packages/amuse-bhtree/src/amuse/community/bhtree +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/bhtree \ No newline at end of file diff --git a/packages/amuse-bhtree/support b/packages/amuse-bhtree/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-bhtree/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-brutus/MANIFEST.in b/packages/amuse-brutus/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-brutus/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-brutus/README.md b/packages/amuse-brutus/README.md deleted file mode 100644 index fc4349ce46..0000000000 --- a/packages/amuse-brutus/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the Brutus community code for AMUSE. diff --git a/packages/amuse-brutus/pyproject.toml b/packages/amuse-brutus/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-brutus/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-brutus/setup.py b/packages/amuse-brutus/setup.py deleted file mode 100644 index b454f2b072..0000000000 --- a/packages/amuse-brutus/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-brutus' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - Brutus' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.brutus', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/brutus/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.brutus': 'src/amuse/community/brutus', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-brutus/src/amuse/community/brutus b/packages/amuse-brutus/src/amuse/community/brutus deleted file mode 120000 index ac0767cb0a..0000000000 --- a/packages/amuse-brutus/src/amuse/community/brutus +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/brutus \ No newline at end of file diff --git a/packages/amuse-brutus/support b/packages/amuse-brutus/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-brutus/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-bse/MANIFEST.in b/packages/amuse-bse/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-bse/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-bse/README.md b/packages/amuse-bse/README.md deleted file mode 100644 index 852e57b618..0000000000 --- a/packages/amuse-bse/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the BSE community code for AMUSE. diff --git a/packages/amuse-bse/pyproject.toml b/packages/amuse-bse/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-bse/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-bse/setup.py b/packages/amuse-bse/setup.py deleted file mode 100644 index 55e97fedd8..0000000000 --- a/packages/amuse-bse/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-bse' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - BSE' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.bse', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/bse/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.bse': 'src/amuse/community/bse', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-bse/src/amuse/community/bse b/packages/amuse-bse/src/amuse/community/bse deleted file mode 120000 index b2d8170e9d..0000000000 --- a/packages/amuse-bse/src/amuse/community/bse +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/bse \ No newline at end of file diff --git a/packages/amuse-bse/support b/packages/amuse-bse/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-bse/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-capreole/MANIFEST.in b/packages/amuse-capreole/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-capreole/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-capreole/README.md b/packages/amuse-capreole/README.md deleted file mode 100644 index d043721d90..0000000000 --- a/packages/amuse-capreole/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the Capreole community code for AMUSE. diff --git a/packages/amuse-capreole/pyproject.toml b/packages/amuse-capreole/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-capreole/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-capreole/setup.py b/packages/amuse-capreole/setup.py deleted file mode 100644 index b76cc5b844..0000000000 --- a/packages/amuse-capreole/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-capreole' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - Capreole' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.capreole', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/capreole/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.capreole': 'src/amuse/community/capreole', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-capreole/src/amuse/community/capreole b/packages/amuse-capreole/src/amuse/community/capreole deleted file mode 120000 index 68895707da..0000000000 --- a/packages/amuse-capreole/src/amuse/community/capreole +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/capreole \ No newline at end of file diff --git a/packages/amuse-capreole/support b/packages/amuse-capreole/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-capreole/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-distributed/MANIFEST.in b/packages/amuse-distributed/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-distributed/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-distributed/README.md b/packages/amuse-distributed/README.md deleted file mode 100644 index ac9bf5ca8e..0000000000 --- a/packages/amuse-distributed/README.md +++ /dev/null @@ -1,2 +0,0 @@ -This package installs the distributed community code for AMUSE needed for -the distributed communication channel. diff --git a/packages/amuse-distributed/pyproject.toml b/packages/amuse-distributed/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-distributed/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-distributed/setup.py b/packages/amuse-distributed/setup.py deleted file mode 100644 index cffb28c2c9..0000000000 --- a/packages/amuse-distributed/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-distributed' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - Distributed' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.distributed', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/distributed/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.distributed': 'src/amuse/community/distributed', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-distributed/src/amuse/community/distributed b/packages/amuse-distributed/src/amuse/community/distributed deleted file mode 120000 index 952fdbff07..0000000000 --- a/packages/amuse-distributed/src/amuse/community/distributed +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/distributed \ No newline at end of file diff --git a/packages/amuse-distributed/support b/packages/amuse-distributed/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-distributed/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-evtwin/MANIFEST.in b/packages/amuse-evtwin/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-evtwin/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-evtwin/README.md b/packages/amuse-evtwin/README.md deleted file mode 100644 index b39784eac6..0000000000 --- a/packages/amuse-evtwin/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the EVTwin community code for AMUSE. diff --git a/packages/amuse-evtwin/pyproject.toml b/packages/amuse-evtwin/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-evtwin/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-evtwin/setup.py b/packages/amuse-evtwin/setup.py deleted file mode 100644 index 65b282e7f8..0000000000 --- a/packages/amuse-evtwin/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-evtwin' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - EVTwin' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.evtwin', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/evtwin/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.evtwin': 'src/amuse/community/evtwin', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-evtwin/src/amuse/community/evtwin b/packages/amuse-evtwin/src/amuse/community/evtwin deleted file mode 120000 index c60bac8c50..0000000000 --- a/packages/amuse-evtwin/src/amuse/community/evtwin +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/evtwin \ No newline at end of file diff --git a/packages/amuse-evtwin/support b/packages/amuse-evtwin/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-evtwin/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-fastkick/MANIFEST.in b/packages/amuse-fastkick/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-fastkick/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-fastkick/README.md b/packages/amuse-fastkick/README.md deleted file mode 100644 index 2825b91a5f..0000000000 --- a/packages/amuse-fastkick/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the fastkick community code for AMUSE. diff --git a/packages/amuse-fastkick/pyproject.toml b/packages/amuse-fastkick/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-fastkick/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-fastkick/setup.py b/packages/amuse-fastkick/setup.py deleted file mode 100644 index 4c5c235af2..0000000000 --- a/packages/amuse-fastkick/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-fastkick' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - fastkick' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.fastkick', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/fastkick/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.fastkick': 'src/amuse/community/fastkick', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-fastkick/src/amuse/community/fastkick b/packages/amuse-fastkick/src/amuse/community/fastkick deleted file mode 120000 index 52feb5dfda..0000000000 --- a/packages/amuse-fastkick/src/amuse/community/fastkick +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/fastkick \ No newline at end of file diff --git a/packages/amuse-fastkick/support b/packages/amuse-fastkick/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-fastkick/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-fi/MANIFEST.in b/packages/amuse-fi/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-fi/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-fi/README.md b/packages/amuse-fi/README.md deleted file mode 100644 index ed193c8000..0000000000 --- a/packages/amuse-fi/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the FI community code for AMUSE. diff --git a/packages/amuse-fi/pyproject.toml b/packages/amuse-fi/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-fi/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-fi/setup.py b/packages/amuse-fi/setup.py deleted file mode 100644 index e6a47a353c..0000000000 --- a/packages/amuse-fi/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-fi' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - FI' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.fi', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/fi/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.fi': 'src/amuse/community/fi', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-fi/src/amuse/community/fi b/packages/amuse-fi/src/amuse/community/fi deleted file mode 120000 index 88222a2a4c..0000000000 --- a/packages/amuse-fi/src/amuse/community/fi +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/fi \ No newline at end of file diff --git a/packages/amuse-fi/support b/packages/amuse-fi/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-fi/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-fractalcluster/MANIFEST.in b/packages/amuse-fractalcluster/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-fractalcluster/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-fractalcluster/README.md b/packages/amuse-fractalcluster/README.md deleted file mode 100644 index 4e0fcdfc6e..0000000000 --- a/packages/amuse-fractalcluster/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the fractalcluster community code for AMUSE. diff --git a/packages/amuse-fractalcluster/pyproject.toml b/packages/amuse-fractalcluster/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-fractalcluster/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-fractalcluster/setup.py b/packages/amuse-fractalcluster/setup.py deleted file mode 100644 index cb607de78b..0000000000 --- a/packages/amuse-fractalcluster/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-fractalcluster' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - fractalcluster' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.fractalcluster', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/fractalcluster/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.fractalcluster': 'src/amuse/community/fractalcluster', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-fractalcluster/src/amuse/community/fractalcluster b/packages/amuse-fractalcluster/src/amuse/community/fractalcluster deleted file mode 120000 index db5ae2ec3a..0000000000 --- a/packages/amuse-fractalcluster/src/amuse/community/fractalcluster +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/fractalcluster \ No newline at end of file diff --git a/packages/amuse-fractalcluster/support b/packages/amuse-fractalcluster/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-fractalcluster/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-framework/MANIFEST.in b/packages/amuse-framework/MANIFEST.in deleted file mode 100644 index 28df2a43a7..0000000000 --- a/packages/amuse-framework/MANIFEST.in +++ /dev/null @@ -1,26 +0,0 @@ -include configure -include README.md -include config.mk.in -include Makefile.in -include bin/amusifier.in -include pyproject.toml -include support/configpy.in -include install-sh -include config.sub -include config.guess - -recursive-include src/amuse * -recursive-include lib * -recursive-include support * - -recursive-exclude src/amuse/community * -recursive-exclude src/amuse/test/suite * - -include src/amuse/community/__init__.py -recursive-include src/amuse/community/interface * - -recursive-exclude src *.pyc *.o *~ .pc ccache *.a *.so *.mod -recursive-exclude lib *.pyc *.o *~ ccache *.a *.so *.mod -recursive-exclude support *.pyc *.o *~ ccache *.a - - diff --git a/packages/amuse-framework/Makefile.in b/packages/amuse-framework/Makefile.in deleted file mode 120000 index 8aeadc54e6..0000000000 --- a/packages/amuse-framework/Makefile.in +++ /dev/null @@ -1 +0,0 @@ -../../Makefile.in \ No newline at end of file diff --git a/packages/amuse-framework/README.md b/packages/amuse-framework/README.md deleted file mode 100644 index ae35d6a661..0000000000 --- a/packages/amuse-framework/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the framework for the Astrophysical Multipurpose Software Environment (AMUSE). diff --git a/packages/amuse-framework/bin b/packages/amuse-framework/bin deleted file mode 120000 index db397da27f..0000000000 --- a/packages/amuse-framework/bin +++ /dev/null @@ -1 +0,0 @@ -../../bin \ No newline at end of file diff --git a/packages/amuse-framework/config.guess b/packages/amuse-framework/config.guess deleted file mode 120000 index 2442af0f13..0000000000 --- a/packages/amuse-framework/config.guess +++ /dev/null @@ -1 +0,0 @@ -../../config.guess \ No newline at end of file diff --git a/packages/amuse-framework/config.mk.in b/packages/amuse-framework/config.mk.in deleted file mode 120000 index 37c7399534..0000000000 --- a/packages/amuse-framework/config.mk.in +++ /dev/null @@ -1 +0,0 @@ -../../config.mk.in \ No newline at end of file diff --git a/packages/amuse-framework/config.sub b/packages/amuse-framework/config.sub deleted file mode 120000 index f1d837bfb0..0000000000 --- a/packages/amuse-framework/config.sub +++ /dev/null @@ -1 +0,0 @@ -../../config.sub \ No newline at end of file diff --git a/packages/amuse-framework/configure b/packages/amuse-framework/configure deleted file mode 120000 index 996cbc9356..0000000000 --- a/packages/amuse-framework/configure +++ /dev/null @@ -1 +0,0 @@ -../../configure \ No newline at end of file diff --git a/packages/amuse-framework/install-sh b/packages/amuse-framework/install-sh deleted file mode 120000 index fa87b11d55..0000000000 --- a/packages/amuse-framework/install-sh +++ /dev/null @@ -1 +0,0 @@ -../../install-sh \ No newline at end of file diff --git a/packages/amuse-framework/lib b/packages/amuse-framework/lib deleted file mode 120000 index 58677ddb4e..0000000000 --- a/packages/amuse-framework/lib +++ /dev/null @@ -1 +0,0 @@ -../../lib \ No newline at end of file diff --git a/packages/amuse-framework/pyproject.toml b/packages/amuse-framework/pyproject.toml deleted file mode 100644 index c386f25bf6..0000000000 --- a/packages/amuse-framework/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "setuptools_scm>=6", "pip>=21.0.0", "wheel", "docutils", "numpy", "h5py>=3.0", "pytest>=3.0"] diff --git a/packages/amuse-framework/setup.py b/packages/amuse-framework/setup.py deleted file mode 100644 index aff9df54b5..0000000000 --- a/packages/amuse-framework/setup.py +++ /dev/null @@ -1,73 +0,0 @@ -from support.classifiers import classifiers - -from setuptools import setup, find_packages -from support.setup_codes import setup_commands - -name = 'amuse-framework' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'setuptools>=41.0.0', - 'setuptools_scm', - 'pip>=19.0.0', - 'wheel>=0.32', - 'docutils>=0.6', - 'numpy>=1.2.2', - 'pytest>=4.0', - 'h5py>=1.1.0', -] -description = 'The Astrophysical Multipurpose Software Environment' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] -all_data_files.append(('share/amuse', ['./config.mk'])) - -packages = find_packages('src', exclude=["amuse.community.*"]) -packages.append("amuse.community.interface") - -package_data = { - 'amuse.rfi.tools': ['*.template'], - 'amuse': [ - '*rc' - ] -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/_version.py", -} -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - extras_require={ - "MPI": ["mpi4py>=1.1.0"] - }, - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={'': 'src'}, - packages=packages, - package_data=package_data, - data_files=all_data_files, - scripts=["bin/amusifier", ], -) diff --git a/packages/amuse-framework/src/amuse b/packages/amuse-framework/src/amuse deleted file mode 120000 index beb1edfd1f..0000000000 --- a/packages/amuse-framework/src/amuse +++ /dev/null @@ -1 +0,0 @@ -../../../src/amuse \ No newline at end of file diff --git a/packages/amuse-framework/support b/packages/amuse-framework/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-framework/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-gadget2/MANIFEST.in b/packages/amuse-gadget2/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-gadget2/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-gadget2/README.md b/packages/amuse-gadget2/README.md deleted file mode 100644 index fb2699819f..0000000000 --- a/packages/amuse-gadget2/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the Gadget2 community code for AMUSE. diff --git a/packages/amuse-gadget2/pyproject.toml b/packages/amuse-gadget2/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-gadget2/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-gadget2/setup.py b/packages/amuse-gadget2/setup.py deleted file mode 100644 index 891461fa67..0000000000 --- a/packages/amuse-gadget2/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-gadget2' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - Gadget2' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.gadget2', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/gadget2/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.gadget2': 'src/amuse/community/gadget2', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-gadget2/src/amuse/community/gadget2 b/packages/amuse-gadget2/src/amuse/community/gadget2 deleted file mode 120000 index e0696bc9ee..0000000000 --- a/packages/amuse-gadget2/src/amuse/community/gadget2 +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/gadget2 \ No newline at end of file diff --git a/packages/amuse-gadget2/support b/packages/amuse-gadget2/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-gadget2/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-galactics/MANIFEST.in b/packages/amuse-galactics/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-galactics/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-galactics/README.md b/packages/amuse-galactics/README.md deleted file mode 100644 index 762f354f09..0000000000 --- a/packages/amuse-galactics/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the Galactics community code for AMUSE. diff --git a/packages/amuse-galactics/pyproject.toml b/packages/amuse-galactics/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-galactics/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-galactics/setup.py b/packages/amuse-galactics/setup.py deleted file mode 100644 index 700b8f7ccf..0000000000 --- a/packages/amuse-galactics/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-galactics' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - Galactics' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.galactics', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/galactics/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.galactics': 'src/amuse/community/galactics', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-galactics/src/amuse/community/galactics b/packages/amuse-galactics/src/amuse/community/galactics deleted file mode 120000 index c75cc0bcfc..0000000000 --- a/packages/amuse-galactics/src/amuse/community/galactics +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/galactics \ No newline at end of file diff --git a/packages/amuse-galactics/support b/packages/amuse-galactics/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-galactics/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-galaxia/MANIFEST.in b/packages/amuse-galaxia/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-galaxia/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-galaxia/README.md b/packages/amuse-galaxia/README.md deleted file mode 100644 index 759b406c4d..0000000000 --- a/packages/amuse-galaxia/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the Galaxia community code for AMUSE. diff --git a/packages/amuse-galaxia/pyproject.toml b/packages/amuse-galaxia/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-galaxia/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-galaxia/setup.py b/packages/amuse-galaxia/setup.py deleted file mode 100644 index 54b9c01bb7..0000000000 --- a/packages/amuse-galaxia/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-galaxia' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - Galaxia' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.galaxia', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/galaxia/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.galaxia': 'src/amuse/community/galaxia', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-galaxia/src/amuse/community/galaxia b/packages/amuse-galaxia/src/amuse/community/galaxia deleted file mode 120000 index 51d8247d99..0000000000 --- a/packages/amuse-galaxia/src/amuse/community/galaxia +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/galaxia \ No newline at end of file diff --git a/packages/amuse-galaxia/support b/packages/amuse-galaxia/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-galaxia/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-halogen/MANIFEST.in b/packages/amuse-halogen/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-halogen/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-halogen/README.md b/packages/amuse-halogen/README.md deleted file mode 100644 index 1be4213f67..0000000000 --- a/packages/amuse-halogen/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the Halogen community code for AMUSE. diff --git a/packages/amuse-halogen/pyproject.toml b/packages/amuse-halogen/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-halogen/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-halogen/setup.py b/packages/amuse-halogen/setup.py deleted file mode 100644 index a5756d83d0..0000000000 --- a/packages/amuse-halogen/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-halogen' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - Halogen' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.halogen', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/halogen/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.halogen': 'src/amuse/community/halogen', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-halogen/src/amuse/community/halogen b/packages/amuse-halogen/src/amuse/community/halogen deleted file mode 120000 index 8c829c3f57..0000000000 --- a/packages/amuse-halogen/src/amuse/community/halogen +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/halogen \ No newline at end of file diff --git a/packages/amuse-halogen/support b/packages/amuse-halogen/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-halogen/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-hermite-grx/MANIFEST.in b/packages/amuse-hermite-grx/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-hermite-grx/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-hermite-grx/README.md b/packages/amuse-hermite-grx/README.md deleted file mode 100644 index cf8f7fb5cf..0000000000 --- a/packages/amuse-hermite-grx/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the Hermite-GRX community code for AMUSE. diff --git a/packages/amuse-hermite-grx/pyproject.toml b/packages/amuse-hermite-grx/pyproject.toml deleted file mode 100644 index ce072292f5..0000000000 --- a/packages/amuse-hermite-grx/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2024.3.0"] diff --git a/packages/amuse-hermite-grx/setup.py b/packages/amuse-hermite-grx/setup.py deleted file mode 100644 index f3a71a7d49..0000000000 --- a/packages/amuse-hermite-grx/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-hermite-grx' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - Hermite-GRX' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.hermite_grx', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/hermite_grx/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.hermite_grx': 'src/amuse/community/hermite_grx', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-hermite-grx/src/amuse/community/hermite_grx b/packages/amuse-hermite-grx/src/amuse/community/hermite_grx deleted file mode 120000 index 92d789ba48..0000000000 --- a/packages/amuse-hermite-grx/src/amuse/community/hermite_grx +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/hermite_grx \ No newline at end of file diff --git a/packages/amuse-hermite-grx/support b/packages/amuse-hermite-grx/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-hermite-grx/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-hermite/MANIFEST.in b/packages/amuse-hermite/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-hermite/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-hermite/README.md b/packages/amuse-hermite/README.md deleted file mode 100644 index 0ba3065bd8..0000000000 --- a/packages/amuse-hermite/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the Hermite community code for AMUSE. diff --git a/packages/amuse-hermite/pyproject.toml b/packages/amuse-hermite/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-hermite/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-hermite/setup.py b/packages/amuse-hermite/setup.py deleted file mode 100644 index 7cc677c1df..0000000000 --- a/packages/amuse-hermite/setup.py +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-hermite' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - Hermite' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.hermite', - 'amuse.community.hermite0', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/hermite/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.hermite': 'src/amuse/community/hermite', - 'amuse.community.hermite0': 'src/amuse/community/hermite0', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-hermite/src/amuse/community/hermite b/packages/amuse-hermite/src/amuse/community/hermite deleted file mode 120000 index d19f16a86f..0000000000 --- a/packages/amuse-hermite/src/amuse/community/hermite +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/hermite \ No newline at end of file diff --git a/packages/amuse-hermite/src/amuse/community/hermite0 b/packages/amuse-hermite/src/amuse/community/hermite0 deleted file mode 120000 index 2ee04d84b3..0000000000 --- a/packages/amuse-hermite/src/amuse/community/hermite0 +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/hermite0 \ No newline at end of file diff --git a/packages/amuse-hermite/support b/packages/amuse-hermite/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-hermite/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-hop/MANIFEST.in b/packages/amuse-hop/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-hop/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-hop/README.md b/packages/amuse-hop/README.md deleted file mode 100644 index df673db4f2..0000000000 --- a/packages/amuse-hop/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the Hop community code for AMUSE. diff --git a/packages/amuse-hop/pyproject.toml b/packages/amuse-hop/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-hop/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-hop/setup.py b/packages/amuse-hop/setup.py deleted file mode 100644 index 63114f32ba..0000000000 --- a/packages/amuse-hop/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-hop' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - Hop' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.hop', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/hop/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.hop': 'src/amuse/community/hop', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-hop/src/amuse/community/hop b/packages/amuse-hop/src/amuse/community/hop deleted file mode 120000 index 3f376c51bf..0000000000 --- a/packages/amuse-hop/src/amuse/community/hop +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/hop \ No newline at end of file diff --git a/packages/amuse-hop/support b/packages/amuse-hop/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-hop/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-huayno/MANIFEST.in b/packages/amuse-huayno/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-huayno/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-huayno/README.md b/packages/amuse-huayno/README.md deleted file mode 100644 index 482b353ed7..0000000000 --- a/packages/amuse-huayno/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the Huyano community code for AMUSE. diff --git a/packages/amuse-huayno/pyproject.toml b/packages/amuse-huayno/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-huayno/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-huayno/setup.py b/packages/amuse-huayno/setup.py deleted file mode 100644 index 58587aad93..0000000000 --- a/packages/amuse-huayno/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-huayno' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - Huayno' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.huayno', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/huayno/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.huayno': 'src/amuse/community/huayno', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-huayno/src/amuse/community/huayno b/packages/amuse-huayno/src/amuse/community/huayno deleted file mode 120000 index ebe64ab3fd..0000000000 --- a/packages/amuse-huayno/src/amuse/community/huayno +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/huayno \ No newline at end of file diff --git a/packages/amuse-huayno/support b/packages/amuse-huayno/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-huayno/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-kepler-orbiters/MANIFEST.in b/packages/amuse-kepler-orbiters/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-kepler-orbiters/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-kepler-orbiters/README.md b/packages/amuse-kepler-orbiters/README.md deleted file mode 100644 index 3082dc93cb..0000000000 --- a/packages/amuse-kepler-orbiters/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the Kepler-orbiters community code for AMUSE. diff --git a/packages/amuse-kepler-orbiters/pyproject.toml b/packages/amuse-kepler-orbiters/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-kepler-orbiters/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-kepler-orbiters/setup.py b/packages/amuse-kepler-orbiters/setup.py deleted file mode 100644 index 4a02fa9e27..0000000000 --- a/packages/amuse-kepler-orbiters/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-kepler-orbiters' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - Kepler-orbiters' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.kepler_orbiters', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/kepler_orbiters/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.kepler_orbiters': 'src/amuse/community/kepler_orbiters', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-kepler-orbiters/src/amuse/community/kepler_orbiters b/packages/amuse-kepler-orbiters/src/amuse/community/kepler_orbiters deleted file mode 120000 index 00210948e2..0000000000 --- a/packages/amuse-kepler-orbiters/src/amuse/community/kepler_orbiters +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/kepler_orbiters \ No newline at end of file diff --git a/packages/amuse-kepler-orbiters/support b/packages/amuse-kepler-orbiters/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-kepler-orbiters/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-kepler/MANIFEST.in b/packages/amuse-kepler/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-kepler/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-kepler/README.md b/packages/amuse-kepler/README.md deleted file mode 100644 index bc102b40ce..0000000000 --- a/packages/amuse-kepler/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the Kepler community code for AMUSE. diff --git a/packages/amuse-kepler/pyproject.toml b/packages/amuse-kepler/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-kepler/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-kepler/setup.py b/packages/amuse-kepler/setup.py deleted file mode 100644 index 70aa8311ac..0000000000 --- a/packages/amuse-kepler/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-kepler' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - Kepler' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.kepler', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/kepler/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.kepler': 'src/amuse/community/kepler', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-kepler/src/amuse/community/kepler b/packages/amuse-kepler/src/amuse/community/kepler deleted file mode 120000 index 5a9965af5f..0000000000 --- a/packages/amuse-kepler/src/amuse/community/kepler +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/kepler \ No newline at end of file diff --git a/packages/amuse-kepler/support b/packages/amuse-kepler/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-kepler/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-mameclot/MANIFEST.in b/packages/amuse-mameclot/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-mameclot/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-mameclot/README.md b/packages/amuse-mameclot/README.md deleted file mode 100644 index ff7398eb11..0000000000 --- a/packages/amuse-mameclot/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the Mameclot community code for AMUSE. diff --git a/packages/amuse-mameclot/pyproject.toml b/packages/amuse-mameclot/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-mameclot/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-mameclot/setup.py b/packages/amuse-mameclot/setup.py deleted file mode 100644 index 517f82f965..0000000000 --- a/packages/amuse-mameclot/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-mameclot' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - Mameclot' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.mameclot', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/mameclot/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.mameclot': 'src/amuse/community/mameclot', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-mameclot/src/amuse/community/mameclot b/packages/amuse-mameclot/src/amuse/community/mameclot deleted file mode 120000 index 1d108e1a1c..0000000000 --- a/packages/amuse-mameclot/src/amuse/community/mameclot +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/mameclot \ No newline at end of file diff --git a/packages/amuse-mameclot/support b/packages/amuse-mameclot/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-mameclot/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-mercury/MANIFEST.in b/packages/amuse-mercury/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-mercury/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-mercury/README.md b/packages/amuse-mercury/README.md deleted file mode 100644 index b45723a2f2..0000000000 --- a/packages/amuse-mercury/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the Mercury community code for AMUSE. diff --git a/packages/amuse-mercury/pyproject.toml b/packages/amuse-mercury/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-mercury/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-mercury/setup.py b/packages/amuse-mercury/setup.py deleted file mode 100644 index ab047ee447..0000000000 --- a/packages/amuse-mercury/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-mercury' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - Mercury' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.mercury', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/mercury/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.mercury': 'src/amuse/community/mercury', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-mercury/src/amuse/community/mercury b/packages/amuse-mercury/src/amuse/community/mercury deleted file mode 120000 index 2f16f92047..0000000000 --- a/packages/amuse-mercury/src/amuse/community/mercury +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/mercury \ No newline at end of file diff --git a/packages/amuse-mercury/support b/packages/amuse-mercury/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-mercury/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-mesa-r15140/MANIFEST.in b/packages/amuse-mesa-r15140/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-mesa-r15140/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-mesa-r15140/README.md b/packages/amuse-mesa-r15140/README.md deleted file mode 100644 index c24fea3c58..0000000000 --- a/packages/amuse-mesa-r15140/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the MESA community code (r15140) for AMUSE. diff --git a/packages/amuse-mesa-r15140/pyproject.toml b/packages/amuse-mesa-r15140/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-mesa-r15140/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-mesa-r15140/setup.py b/packages/amuse-mesa-r15140/setup.py deleted file mode 100644 index 755b9082ce..0000000000 --- a/packages/amuse-mesa-r15140/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-mesa-r15140' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - MESA (r15140)' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.mesa_r15140', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/mesa_r15140/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.mesa_r15140': 'src/amuse/community/mesa_r15140', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-mesa-r15140/src/amuse/community/mesa_r15140 b/packages/amuse-mesa-r15140/src/amuse/community/mesa_r15140 deleted file mode 120000 index b009481161..0000000000 --- a/packages/amuse-mesa-r15140/src/amuse/community/mesa_r15140 +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/mesa_r15140 \ No newline at end of file diff --git a/packages/amuse-mesa-r15140/support b/packages/amuse-mesa-r15140/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-mesa-r15140/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-mesa-r2208/MANIFEST.in b/packages/amuse-mesa-r2208/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-mesa-r2208/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-mesa-r2208/README.md b/packages/amuse-mesa-r2208/README.md deleted file mode 100644 index 7f1aed0184..0000000000 --- a/packages/amuse-mesa-r2208/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the MESA community code (r2208) for AMUSE. diff --git a/packages/amuse-mesa-r2208/pyproject.toml b/packages/amuse-mesa-r2208/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-mesa-r2208/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-mesa-r2208/setup.py b/packages/amuse-mesa-r2208/setup.py deleted file mode 100644 index 463a1b2f97..0000000000 --- a/packages/amuse-mesa-r2208/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-mesa-r2208' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - MESA (r2208)' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.mesa_r2208', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/mesa_r2208/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.mesa_r2208': 'src/amuse/community/mesa_r2208', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-mesa-r2208/src/amuse/community/mesa_r2208 b/packages/amuse-mesa-r2208/src/amuse/community/mesa_r2208 deleted file mode 120000 index da23c535ea..0000000000 --- a/packages/amuse-mesa-r2208/src/amuse/community/mesa_r2208 +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/mesa_r2208 \ No newline at end of file diff --git a/packages/amuse-mesa-r2208/support b/packages/amuse-mesa-r2208/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-mesa-r2208/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-mesa/MANIFEST.in b/packages/amuse-mesa/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-mesa/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-mesa/README.md b/packages/amuse-mesa/README.md deleted file mode 100644 index 3f3e2884ff..0000000000 --- a/packages/amuse-mesa/README.md +++ /dev/null @@ -1,2 +0,0 @@ -This package installs the MESA community code for AMUSE. -It will not build MESA itself, rather it requires the amuse-mesa-r15140 package for this. diff --git a/packages/amuse-mesa/pyproject.toml b/packages/amuse-mesa/pyproject.toml deleted file mode 100644 index cc36432cd2..0000000000 --- a/packages/amuse-mesa/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0", "amuse-mesa-r15140>=2023.5.0"] diff --git a/packages/amuse-mesa/setup.py b/packages/amuse-mesa/setup.py deleted file mode 100644 index 6107d61a10..0000000000 --- a/packages/amuse-mesa/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-mesa' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - MESA' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.mesa', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/mesa/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.mesa': 'src/amuse/community/mesa', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-mesa/src/amuse/community/mesa b/packages/amuse-mesa/src/amuse/community/mesa deleted file mode 120000 index 63c9c69f46..0000000000 --- a/packages/amuse-mesa/src/amuse/community/mesa +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/mesa \ No newline at end of file diff --git a/packages/amuse-mesa/support b/packages/amuse-mesa/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-mesa/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-mikkola/MANIFEST.in b/packages/amuse-mikkola/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-mikkola/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-mikkola/README.md b/packages/amuse-mikkola/README.md deleted file mode 100644 index 1dcf46a504..0000000000 --- a/packages/amuse-mikkola/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the Mikkola community code for AMUSE. diff --git a/packages/amuse-mikkola/pyproject.toml b/packages/amuse-mikkola/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-mikkola/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-mikkola/setup.py b/packages/amuse-mikkola/setup.py deleted file mode 100644 index b551b71a70..0000000000 --- a/packages/amuse-mikkola/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-mikkola' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - Mikkola' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.mikkola', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/mikkola/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.mikkola': 'src/amuse/community/mikkola', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-mikkola/src/amuse/community/mikkola b/packages/amuse-mikkola/src/amuse/community/mikkola deleted file mode 120000 index 0007019785..0000000000 --- a/packages/amuse-mikkola/src/amuse/community/mikkola +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/mikkola \ No newline at end of file diff --git a/packages/amuse-mikkola/support b/packages/amuse-mikkola/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-mikkola/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-mmams/MANIFEST.in b/packages/amuse-mmams/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-mmams/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-mmams/README.md b/packages/amuse-mmams/README.md deleted file mode 100644 index fefe849ae8..0000000000 --- a/packages/amuse-mmams/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the MMAMS community code for AMUSE. diff --git a/packages/amuse-mmams/pyproject.toml b/packages/amuse-mmams/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-mmams/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-mmams/setup.py b/packages/amuse-mmams/setup.py deleted file mode 100644 index c18a15f1f9..0000000000 --- a/packages/amuse-mmams/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-mmams' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - MMAMS' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.mmams', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/mmams/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.mmams': 'src/amuse/community/mmams', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-mmams/src/amuse/community/mmams b/packages/amuse-mmams/src/amuse/community/mmams deleted file mode 120000 index c1a1c9c1c8..0000000000 --- a/packages/amuse-mmams/src/amuse/community/mmams +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/mmams \ No newline at end of file diff --git a/packages/amuse-mmams/support b/packages/amuse-mmams/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-mmams/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-mobse/MANIFEST.in b/packages/amuse-mobse/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-mobse/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-mobse/README.md b/packages/amuse-mobse/README.md deleted file mode 100644 index 8aab5b9ad2..0000000000 --- a/packages/amuse-mobse/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the MOBSE community code for AMUSE. diff --git a/packages/amuse-mobse/pyproject.toml b/packages/amuse-mobse/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-mobse/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-mobse/setup.py b/packages/amuse-mobse/setup.py deleted file mode 100644 index 589f1646c1..0000000000 --- a/packages/amuse-mobse/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-mobse' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - MOBSE' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.mobse', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/mobse/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.mobse': 'src/amuse/community/mobse', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-mobse/src/amuse/community/mobse b/packages/amuse-mobse/src/amuse/community/mobse deleted file mode 120000 index 183e629f42..0000000000 --- a/packages/amuse-mobse/src/amuse/community/mobse +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/mobse \ No newline at end of file diff --git a/packages/amuse-mobse/support b/packages/amuse-mobse/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-mobse/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-mosse/MANIFEST.in b/packages/amuse-mosse/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-mosse/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-mosse/README.md b/packages/amuse-mosse/README.md deleted file mode 100644 index 415c481abd..0000000000 --- a/packages/amuse-mosse/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the MOSSE community code for AMUSE. diff --git a/packages/amuse-mosse/pyproject.toml b/packages/amuse-mosse/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-mosse/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-mosse/setup.py b/packages/amuse-mosse/setup.py deleted file mode 100644 index b584a12a54..0000000000 --- a/packages/amuse-mosse/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-mosse' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - MOSSE' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.mosse', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/mosse/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.mosse': 'src/amuse/community/mosse', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-mosse/src/amuse/community/mosse b/packages/amuse-mosse/src/amuse/community/mosse deleted file mode 120000 index e818de65e7..0000000000 --- a/packages/amuse-mosse/src/amuse/community/mosse +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/mosse \ No newline at end of file diff --git a/packages/amuse-mosse/support b/packages/amuse-mosse/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-mosse/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-nbody6xx/MANIFEST.in b/packages/amuse-nbody6xx/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-nbody6xx/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-nbody6xx/README.md b/packages/amuse-nbody6xx/README.md deleted file mode 100644 index 855ee90320..0000000000 --- a/packages/amuse-nbody6xx/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the Nbody6++ community code for AMUSE. diff --git a/packages/amuse-nbody6xx/pyproject.toml b/packages/amuse-nbody6xx/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-nbody6xx/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-nbody6xx/setup.py b/packages/amuse-nbody6xx/setup.py deleted file mode 100644 index 93da24b2cf..0000000000 --- a/packages/amuse-nbody6xx/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-nbody6xx' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - Nbody6++' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.nbody6xx', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/nbody6xx/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.nbody6xx': 'src/amuse/community/nbody6xx', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-nbody6xx/src/amuse/community/nbody6xx b/packages/amuse-nbody6xx/src/amuse/community/nbody6xx deleted file mode 120000 index 4f9e00f877..0000000000 --- a/packages/amuse-nbody6xx/src/amuse/community/nbody6xx +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/nbody6xx \ No newline at end of file diff --git a/packages/amuse-nbody6xx/support b/packages/amuse-nbody6xx/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-nbody6xx/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-petar/MANIFEST.in b/packages/amuse-petar/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-petar/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-petar/README.md b/packages/amuse-petar/README.md deleted file mode 100644 index 31c3f063d0..0000000000 --- a/packages/amuse-petar/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the PeTar community code for AMUSE. diff --git a/packages/amuse-petar/pyproject.toml b/packages/amuse-petar/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-petar/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-petar/setup.py b/packages/amuse-petar/setup.py deleted file mode 100644 index d4f5f3fd5b..0000000000 --- a/packages/amuse-petar/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-petar' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - PeTar' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.petar', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/petar/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.petar': 'src/amuse/community/petar', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-petar/src/amuse/community/petar b/packages/amuse-petar/src/amuse/community/petar deleted file mode 120000 index ec3301a318..0000000000 --- a/packages/amuse-petar/src/amuse/community/petar +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/petar \ No newline at end of file diff --git a/packages/amuse-petar/support b/packages/amuse-petar/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-petar/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-ph4/MANIFEST.in b/packages/amuse-ph4/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-ph4/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-ph4/README.md b/packages/amuse-ph4/README.md deleted file mode 100644 index 9893ff6ef1..0000000000 --- a/packages/amuse-ph4/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the ph4 community code for AMUSE. diff --git a/packages/amuse-ph4/pyproject.toml b/packages/amuse-ph4/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-ph4/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-ph4/setup.py b/packages/amuse-ph4/setup.py deleted file mode 100644 index fc7e064342..0000000000 --- a/packages/amuse-ph4/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-ph4' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - ph4' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.ph4', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/ph4/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.ph4': 'src/amuse/community/ph4', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-ph4/src/amuse/community/ph4 b/packages/amuse-ph4/src/amuse/community/ph4 deleted file mode 120000 index 9b3f7d50c9..0000000000 --- a/packages/amuse-ph4/src/amuse/community/ph4 +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/ph4 \ No newline at end of file diff --git a/packages/amuse-ph4/support b/packages/amuse-ph4/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-ph4/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-phantom/MANIFEST.in b/packages/amuse-phantom/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-phantom/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-phantom/README.md b/packages/amuse-phantom/README.md deleted file mode 100644 index 656a40c6ad..0000000000 --- a/packages/amuse-phantom/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the Phantom community code for AMUSE. diff --git a/packages/amuse-phantom/pyproject.toml b/packages/amuse-phantom/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-phantom/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-phantom/setup.py b/packages/amuse-phantom/setup.py deleted file mode 100644 index 0537c9dadc..0000000000 --- a/packages/amuse-phantom/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-phantom' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - Phantom' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.phantom', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/phantom/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.phantom': 'src/amuse/community/phantom', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-phantom/src/amuse/community/phantom b/packages/amuse-phantom/src/amuse/community/phantom deleted file mode 120000 index 2f9f2f3807..0000000000 --- a/packages/amuse-phantom/src/amuse/community/phantom +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/phantom \ No newline at end of file diff --git a/packages/amuse-phantom/support b/packages/amuse-phantom/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-phantom/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-phigrape/MANIFEST.in b/packages/amuse-phigrape/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-phigrape/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-phigrape/README.md b/packages/amuse-phigrape/README.md deleted file mode 100644 index d21877f463..0000000000 --- a/packages/amuse-phigrape/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the phiGRAPE community code for AMUSE. diff --git a/packages/amuse-phigrape/pyproject.toml b/packages/amuse-phigrape/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-phigrape/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-phigrape/setup.py b/packages/amuse-phigrape/setup.py deleted file mode 100644 index ea193e6e44..0000000000 --- a/packages/amuse-phigrape/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-phigrape' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - phiGRAPE' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.phigrape', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/phigrape/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.phigrape': 'src/amuse/community/phigrape', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-phigrape/src/amuse/community/phigrape b/packages/amuse-phigrape/src/amuse/community/phigrape deleted file mode 120000 index 2bcf235c64..0000000000 --- a/packages/amuse-phigrape/src/amuse/community/phigrape +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/phigrape \ No newline at end of file diff --git a/packages/amuse-phigrape/support b/packages/amuse-phigrape/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-phigrape/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-seba/MANIFEST.in b/packages/amuse-seba/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-seba/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-seba/README.md b/packages/amuse-seba/README.md deleted file mode 100644 index 7340b5d06a..0000000000 --- a/packages/amuse-seba/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the SeBa community code for AMUSE. diff --git a/packages/amuse-seba/pyproject.toml b/packages/amuse-seba/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-seba/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-seba/setup.py b/packages/amuse-seba/setup.py deleted file mode 100644 index e8784b948b..0000000000 --- a/packages/amuse-seba/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-seba' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - SeBa' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.seba', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/seba/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.seba': 'src/amuse/community/seba', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-seba/src/amuse/community/seba b/packages/amuse-seba/src/amuse/community/seba deleted file mode 120000 index b59a27795d..0000000000 --- a/packages/amuse-seba/src/amuse/community/seba +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/seba \ No newline at end of file diff --git a/packages/amuse-seba/support b/packages/amuse-seba/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-seba/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-secularmultiple/MANIFEST.in b/packages/amuse-secularmultiple/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-secularmultiple/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-secularmultiple/README.md b/packages/amuse-secularmultiple/README.md deleted file mode 100644 index efda4aa86c..0000000000 --- a/packages/amuse-secularmultiple/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the SecularMultiple community code for AMUSE. diff --git a/packages/amuse-secularmultiple/pyproject.toml b/packages/amuse-secularmultiple/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-secularmultiple/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-secularmultiple/setup.py b/packages/amuse-secularmultiple/setup.py deleted file mode 100644 index 79ea80c9eb..0000000000 --- a/packages/amuse-secularmultiple/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-secularmultiple' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - SecularMultiple' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.secularmultiple', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/secularmultiple/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.secularmultiple': 'src/amuse/community/secularmultiple', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-secularmultiple/src/amuse/community/secularmultiple b/packages/amuse-secularmultiple/src/amuse/community/secularmultiple deleted file mode 120000 index 1090fedf7d..0000000000 --- a/packages/amuse-secularmultiple/src/amuse/community/secularmultiple +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/secularmultiple \ No newline at end of file diff --git a/packages/amuse-secularmultiple/support b/packages/amuse-secularmultiple/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-secularmultiple/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-simplex/MANIFEST.in b/packages/amuse-simplex/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-simplex/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-simplex/README.md b/packages/amuse-simplex/README.md deleted file mode 100644 index 79de723805..0000000000 --- a/packages/amuse-simplex/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the Simplex community code for AMUSE. diff --git a/packages/amuse-simplex/pyproject.toml b/packages/amuse-simplex/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-simplex/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-simplex/setup.py b/packages/amuse-simplex/setup.py deleted file mode 100644 index cb580c0a55..0000000000 --- a/packages/amuse-simplex/setup.py +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-simplex' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'mpi4py>=1.1.0', # leave it here because needs MPI - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - Simplex' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.simplex', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/simplex/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.simplex': 'src/amuse/community/simplex', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-simplex/src/amuse/community/simplex b/packages/amuse-simplex/src/amuse/community/simplex deleted file mode 120000 index 496b4bc810..0000000000 --- a/packages/amuse-simplex/src/amuse/community/simplex +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/simplex \ No newline at end of file diff --git a/packages/amuse-simplex/support b/packages/amuse-simplex/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-simplex/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-smalln/MANIFEST.in b/packages/amuse-smalln/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-smalln/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-smalln/README.md b/packages/amuse-smalln/README.md deleted file mode 100644 index 3acf974226..0000000000 --- a/packages/amuse-smalln/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the smalln community code for AMUSE. diff --git a/packages/amuse-smalln/pyproject.toml b/packages/amuse-smalln/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-smalln/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-smalln/setup.py b/packages/amuse-smalln/setup.py deleted file mode 100644 index 54560d413e..0000000000 --- a/packages/amuse-smalln/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-smalln' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - smalln' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.smalln', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/smalln/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.smalln': 'src/amuse/community/smalln', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-smalln/src/amuse/community/smalln b/packages/amuse-smalln/src/amuse/community/smalln deleted file mode 120000 index 33ec903e54..0000000000 --- a/packages/amuse-smalln/src/amuse/community/smalln +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/smalln \ No newline at end of file diff --git a/packages/amuse-smalln/support b/packages/amuse-smalln/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-smalln/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-sphray/MANIFEST.in b/packages/amuse-sphray/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-sphray/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-sphray/README.md b/packages/amuse-sphray/README.md deleted file mode 100644 index f93bff19ad..0000000000 --- a/packages/amuse-sphray/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the SPHRay community code for AMUSE. diff --git a/packages/amuse-sphray/pyproject.toml b/packages/amuse-sphray/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-sphray/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-sphray/setup.py b/packages/amuse-sphray/setup.py deleted file mode 100644 index b946444b31..0000000000 --- a/packages/amuse-sphray/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-sphray' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - SPHRay' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.sphray', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/sphray/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.sphray': 'src/amuse/community/sphray', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-sphray/src/amuse/community/sphray b/packages/amuse-sphray/src/amuse/community/sphray deleted file mode 120000 index 2d12a740d2..0000000000 --- a/packages/amuse-sphray/src/amuse/community/sphray +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/sphray \ No newline at end of file diff --git a/packages/amuse-sphray/support b/packages/amuse-sphray/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-sphray/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-sse/MANIFEST.in b/packages/amuse-sse/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-sse/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-sse/README.md b/packages/amuse-sse/README.md deleted file mode 100644 index 7709a69619..0000000000 --- a/packages/amuse-sse/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the SSE community code for AMUSE. diff --git a/packages/amuse-sse/pyproject.toml b/packages/amuse-sse/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-sse/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-sse/setup.py b/packages/amuse-sse/setup.py deleted file mode 100644 index a87b58c6c4..0000000000 --- a/packages/amuse-sse/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-sse' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - SSE' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.sse', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/sse/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.sse': 'src/amuse/community/sse', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-sse/src/amuse/community/sse b/packages/amuse-sse/src/amuse/community/sse deleted file mode 120000 index 60b9ceeaf5..0000000000 --- a/packages/amuse-sse/src/amuse/community/sse +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/sse \ No newline at end of file diff --git a/packages/amuse-sse/support b/packages/amuse-sse/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-sse/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-tests/MANIFEST.in b/packages/amuse-tests/MANIFEST.in deleted file mode 100644 index bd9d660416..0000000000 --- a/packages/amuse-tests/MANIFEST.in +++ /dev/null @@ -1,8 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a diff --git a/packages/amuse-tests/README.md b/packages/amuse-tests/README.md deleted file mode 100644 index c4b819176a..0000000000 --- a/packages/amuse-tests/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the Astrophysical Multipurpose Software Environment (AMUSE). diff --git a/packages/amuse-tests/pyproject.toml b/packages/amuse-tests/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-tests/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-tests/setup.py b/packages/amuse-tests/setup.py deleted file mode 100644 index 1768d0d9f7..0000000000 --- a/packages/amuse-tests/setup.py +++ /dev/null @@ -1,71 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-tests' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - tests' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.test.suite', - 'amuse.test.suite.ext_tests', - 'amuse.test.suite.core_tests', - 'amuse.test.suite.compile_tests', - 'amuse.test.suite.codes_tests', - 'amuse.test.suite.ticket_tests', - 'amuse.test.suite.reports', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/test/suite/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.test.suite': 'src/amuse/test/suite', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-tests/src/amuse/test/suite b/packages/amuse-tests/src/amuse/test/suite deleted file mode 120000 index b4e2c4bc5b..0000000000 --- a/packages/amuse-tests/src/amuse/test/suite +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/test/suite \ No newline at end of file diff --git a/packages/amuse-tests/support b/packages/amuse-tests/support deleted file mode 120000 index fbe8c5f69e..0000000000 --- a/packages/amuse-tests/support +++ /dev/null @@ -1 +0,0 @@ -../../support/ \ No newline at end of file diff --git a/packages/amuse-tutorial/MANIFEST.in b/packages/amuse-tutorial/MANIFEST.in deleted file mode 100644 index 0c141cf4d4..0000000000 --- a/packages/amuse-tutorial/MANIFEST.in +++ /dev/null @@ -1,11 +0,0 @@ -include README.md -include bin/amuse-tutorial -include pyproject.toml -include support/configpy.in - -recursive-include support * -recursive-include tutorial * - -recursive-exclude support *.pyc *.o *~ ccache *.a - - diff --git a/packages/amuse-tutorial/README.md b/packages/amuse-tutorial/README.md deleted file mode 100644 index f995a72ea0..0000000000 --- a/packages/amuse-tutorial/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the tutorial for the Astrophysical Multipurpose Software Environment (AMUSE). diff --git a/packages/amuse-tutorial/bin b/packages/amuse-tutorial/bin deleted file mode 120000 index db397da27f..0000000000 --- a/packages/amuse-tutorial/bin +++ /dev/null @@ -1 +0,0 @@ -../../bin \ No newline at end of file diff --git a/packages/amuse-tutorial/pyproject.toml b/packages/amuse-tutorial/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-tutorial/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-tutorial/setup.py b/packages/amuse-tutorial/setup.py deleted file mode 100644 index a8e2e9c5b6..0000000000 --- a/packages/amuse-tutorial/setup.py +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers -from support.misc import find_data_files - -from setuptools import setup - -name = 'amuse-tutorial' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'matplotlib>=2.2', - 'amuse-framework', - 'amuse-bhtree', - 'amuse-hermite', - 'amuse-seba', - 'amuse-sphray', - 'notebook', -] -description = 'The Astrophysical Multipurpose Software Environment - tutorial' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -all_data_files = find_data_files( - 'tutorial', 'share/amuse/tutorial', '*', recursive=True -) - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "tutorial/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - # cmdclass=mapping_from_command_name_to_command_class, - data_files=all_data_files, - scripts=["bin/amuse-tutorial"], - packages=[], -) diff --git a/packages/amuse-tutorial/support b/packages/amuse-tutorial/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-tutorial/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-tutorial/tutorial b/packages/amuse-tutorial/tutorial deleted file mode 120000 index 614d012c94..0000000000 --- a/packages/amuse-tutorial/tutorial +++ /dev/null @@ -1 +0,0 @@ -../../tutorial \ No newline at end of file diff --git a/packages/amuse-twobody/MANIFEST.in b/packages/amuse-twobody/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-twobody/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-twobody/README.md b/packages/amuse-twobody/README.md deleted file mode 100644 index 593381a6f9..0000000000 --- a/packages/amuse-twobody/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the twobody community code for AMUSE. diff --git a/packages/amuse-twobody/pyproject.toml b/packages/amuse-twobody/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-twobody/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-twobody/setup.py b/packages/amuse-twobody/setup.py deleted file mode 100644 index 4b7a18d52a..0000000000 --- a/packages/amuse-twobody/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-twobody' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - twobody' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.twobody', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/twobody/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.twobody': 'src/amuse/community/twobody', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-twobody/src/amuse/community/twobody b/packages/amuse-twobody/src/amuse/community/twobody deleted file mode 120000 index 49a3f0f5bb..0000000000 --- a/packages/amuse-twobody/src/amuse/community/twobody +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/twobody \ No newline at end of file diff --git a/packages/amuse-twobody/support b/packages/amuse-twobody/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-twobody/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse-vader/MANIFEST.in b/packages/amuse-vader/MANIFEST.in deleted file mode 100644 index ab64602564..0000000000 --- a/packages/amuse-vader/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml - -recursive-include src * -recursive-exclude src *.pyc *.o *~ .pc ccache *.a - diff --git a/packages/amuse-vader/README.md b/packages/amuse-vader/README.md deleted file mode 100644 index 12684624c4..0000000000 --- a/packages/amuse-vader/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the VADER community code for AMUSE. diff --git a/packages/amuse-vader/pyproject.toml b/packages/amuse-vader/pyproject.toml deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/amuse-vader/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/amuse-vader/setup.py b/packages/amuse-vader/setup.py deleted file mode 100644 index f53c32698e..0000000000 --- a/packages/amuse-vader/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-vader' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - VADER' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.vader', -] - -package_data = { -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/vader/_version.py", -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={ - 'amuse.community.vader': 'src/amuse/community/vader', - }, - packages=packages, - package_data=package_data, - data_files=all_data_files, -) diff --git a/packages/amuse-vader/src/amuse/community/vader b/packages/amuse-vader/src/amuse/community/vader deleted file mode 120000 index d2444a2434..0000000000 --- a/packages/amuse-vader/src/amuse/community/vader +++ /dev/null @@ -1 +0,0 @@ -../../../../../src/amuse/community/vader \ No newline at end of file diff --git a/packages/amuse-vader/support b/packages/amuse-vader/support deleted file mode 120000 index 321fcb594c..0000000000 --- a/packages/amuse-vader/support +++ /dev/null @@ -1 +0,0 @@ -../../support \ No newline at end of file diff --git a/packages/amuse/MANIFEST.in b/packages/amuse/MANIFEST.in deleted file mode 100644 index 939e956707..0000000000 --- a/packages/amuse/MANIFEST.in +++ /dev/null @@ -1,5 +0,0 @@ -include support/__init__.py -include support/setup_codes.py -include support/version.py -include support/classifiers.py -include pyproject.toml diff --git a/packages/amuse/README.md b/packages/amuse/README.md deleted file mode 100644 index c4b819176a..0000000000 --- a/packages/amuse/README.md +++ /dev/null @@ -1 +0,0 @@ -This package installs the Astrophysical Multipurpose Software Environment (AMUSE). diff --git a/packages/amuse/pyproject.toml b/packages/amuse/pyproject.toml deleted file mode 100644 index a30608fa0e..0000000000 --- a/packages/amuse/pyproject.toml +++ /dev/null @@ -1,33 +0,0 @@ -[build-system] -requires = [ - 'amuse-framework[MPI]>=2023.5.0', - 'amuse-athena>=2023.5.0', - 'amuse-bhtree>=2023.5.0', - # 'amuse-brutus>=2023.5.0', - 'amuse-bse>=2023.5.0', - 'amuse-capreole>=2023.5.0', - 'amuse-evtwin>=2023.5.0', - 'amuse-fastkick>=2023.5.0', - 'amuse-fi>=2023.5.0', - 'amuse-fractalcluster>=2023.5.0', - 'amuse-gadget2>=2023.5.0', - 'amuse-galactics>=2023.5.0', - 'amuse-galaxia>=2023.5.0', - 'amuse-halogen>=2023.5.0', - 'amuse-hermite>=2023.5.0', - 'amuse-hop>=2023.5.0', - 'amuse-huayno>=2023.5.0', - 'amuse-kepler>=2023.5.0', - 'amuse-kepler-orbiters>=2023.5.0', - 'amuse-mameclot>=2023.5.0', - 'amuse-mercury>=2023.5.0', - 'amuse-mmams>=2023.5.0', - 'amuse-ph4>=2023.5.0', - 'amuse-seba>=2023.5.0', - 'amuse-secularmultiple>=2023.5.0', - 'amuse-simplex>=2023.5.0', - 'amuse-smalln>=2023.5.0', - 'amuse-sphray>=2023.5.0', - 'amuse-sse>=2023.5.0', - 'amuse-twobody>=2023.5.0', -] diff --git a/packages/amuse/setup.py b/packages/amuse/setup.py deleted file mode 100644 index c4873c9053..0000000000 --- a/packages/amuse/setup.py +++ /dev/null @@ -1,78 +0,0 @@ -from setuptools import setup -from support.classifiers import classifiers -from setuptools_scm import get_version - -version = get_version( - root='../..', - relative_to=__file__, -) - -name = 'amuse' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'matplotlib>=2.2', - 'amuse-framework>=%s' % version, - 'amuse-athena>=%s' % version, - 'amuse-bhtree>=%s' % version, -# Brutus won't build on macOS as mpfr is not found - #209 -# 'amuse-brutus>=%s' % version, - 'amuse-bse>=%s' % version, - 'amuse-capreole>=%s' % version, - 'amuse-evtwin>=%s' % version, - 'amuse-fastkick>=%s' % version, - 'amuse-fi>=%s' % version, - 'amuse-fractalcluster>=%s' % version, - 'amuse-framework>=%s' % version, - 'amuse-gadget2>=%s' % version, - 'amuse-galactics>=%s' % version, - 'amuse-galaxia>=%s' % version, - 'amuse-halogen>=%s' % version, - 'amuse-hermite>=%s' % version, - 'amuse-hop>=%s' % version, - 'amuse-huayno>=%s' % version, - 'amuse-kepler>=%s' % version, - 'amuse-kepler-orbiters>=%s' % version, - 'amuse-mameclot>=%s' % version, - 'amuse-mercury>=%s' % version, - 'amuse-mmams>=%s' % version, - 'amuse-ph4>=%s' % version, - 'amuse-phigrape>=%s' % version, - 'amuse-seba>=%s' % version, - 'amuse-secularmultiple>=%s' % version, - 'amuse-simplex>=%s' % version, - 'amuse-smalln>=%s' % version, - 'amuse-sphray>=%s' % version, - 'amuse-sse>=%s' % version, - 'amuse-twobody>=%s' % version, -] -description = 'The Astrophysical Multipurpose Software Environment' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - - -setup_requires = ['setuptools_scm'] -use_scm_version = { - "root": "../..", - "relative_to": __file__, -} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - packages=[], -) diff --git a/packages/amuse/support b/packages/amuse/support deleted file mode 120000 index fbe8c5f69e..0000000000 --- a/packages/amuse/support +++ /dev/null @@ -1 +0,0 @@ -../../support/ \ No newline at end of file diff --git a/packages/community_package_names b/packages/community_package_names deleted file mode 100644 index bc58da0834..0000000000 --- a/packages/community_package_names +++ /dev/null @@ -1,44 +0,0 @@ -AarsethZare -Athena -BHTree -Brutus -BSE -Capreole -Distributed -EVTwin -fastkick -FI -fractalcluster -Gadget2 -Galactics -Galaxia -Halogen -Hermite -Hop -Huayno -Kepler -Kepler-orbiters -Mameclot -Mercury -Mikkola -MESA -MESA-r2208 -MESA-r15140 -MMAMS -MOBSE -MOSSE -Nbody6xx -PeTar -ph4 -Phantom -phiGRAPE -SeBa -SecularMultiple -Simplex -smalln -SPHRay -SSE -tests -tutorial -twobody -Vader diff --git a/packages/generate_packages.sh b/packages/generate_packages.sh deleted file mode 100755 index 8677add526..0000000000 --- a/packages/generate_packages.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -mkdir -p dist - -for p in amuse* -do - cd $p || exit $? - rm -rf dist || exit $? - python setup.py sdist || exit $? - cp dist/*.tar.gz ../dist/ || exit $? - cd .. -done diff --git a/packages/generate_pyproject_toml_files.sh b/packages/generate_pyproject_toml_files.sh deleted file mode 100644 index 9e3d9df871..0000000000 --- a/packages/generate_pyproject_toml_files.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -while read -r line; do - pkgdir=$(echo "print('amuse-${line}'.lower())" | python); - echo ${pkgdir} - cp pyproject.toml_template ${pkgdir}/pyproject.toml; -done < community_package_names diff --git a/packages/generate_setupfiles.sh b/packages/generate_setupfiles.sh deleted file mode 100644 index dd36dd42bb..0000000000 --- a/packages/generate_setupfiles.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -while read -r line; do - pkgdir=$(echo "print('amuse-${line}'.lower())" | python); - echo ${pkgdir} - python setup_template.py ${line} > ${pkgdir}/setup.py; -done < community_package_names diff --git a/packages/pyproject.toml_template b/packages/pyproject.toml_template deleted file mode 100644 index 473ccb4410..0000000000 --- a/packages/pyproject.toml_template +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2023.5.0"] diff --git a/packages/setup_template.py b/packages/setup_template.py deleted file mode 100644 index f86089a379..0000000000 --- a/packages/setup_template.py +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/env python3 -import sys - -name = sys.argv[1] -setupstring = '''#!/usr/bin/env python3 -from support.classifiers import classifiers - -from setuptools import setup - -import support -support.use("system") -from support.setup_codes import setup_commands - -name = 'amuse-{name_lowercase}' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'amuse-framework', -] -description = 'The Astrophysical Multipurpose Software Environment - {name}' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" - -extensions = [] - -all_data_files = [] - -packages = [ - 'amuse.community.{name_lowercase}', -] - -package_data = {{ -}} - -mapping_from_command_name_to_command_class = setup_commands() - -setup_requires = ['setuptools_scm'] -use_scm_version = {{ - "root": "../..", - "relative_to": __file__, - "version_file": "src/amuse/community/{name_lowercase}/_version.py", -}} - -setup( - name=name, - use_scm_version=use_scm_version, - setup_requires=setup_requires, - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={{ - 'amuse.community.{name_lowercase}': 'src/amuse/community/{name_lowercase}', - }}, - packages=packages, - package_data=package_data, - data_files=all_data_files, -)''' -print(setupstring.format(name=name, name_lowercase=name.lower())) diff --git a/pyproject.toml b/pyproject.toml deleted file mode 100644 index 97c40ec3cd..0000000000 --- a/pyproject.toml +++ /dev/null @@ -1,12 +0,0 @@ -[build-system] -requires = [ "setuptools>=45.0.0", "setuptools_scm", "pip>=19.0.0", "wheel", "docutils>=0.6", "numpy>=1.2.2", "pytest>=5", "h5py>=1.1.0" ] - -[tool.setuptools_scm] -write_to = "src/amuse/version.py" - -[flake8] -max-line-length = 88 - -[tool.black] -line-length = 88 -target-version = ["py37"] diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index e0b677368e..0000000000 --- a/requirements.txt +++ /dev/null @@ -1,9 +0,0 @@ -# These are requirements for the AMUSE framework. Other versions *might* be ok. -setuptools >= 65, < 70 -setuptools_scm >= 6 -wheel >= 0.30 -docutils >= 0.18 -numpy >= 1.18 -pytest >= 3.0 -mpi4py >= 3.0 -h5py >= 3.0 diff --git a/setup b/setup new file mode 100755 index 0000000000..47c76fb22a --- /dev/null +++ b/setup @@ -0,0 +1,328 @@ +#!/bin/sh + +# This script is written in POSIX-compliant shell, and should run with any shell +# supporting this, including dash (/bin/sh on Ubuntu), bash (/bin/sh on many other +# systems) and bash 3.2 (/bin/sh on macOS). Zsh should also work in POSIX mode, so if +# macOS ever changes its /bin/sh then we should still be good. + +# This is written in an old-fashioned style with procedures and global variables, +# because that's all we can do in a shell. Please don't write shell scripts this long if +# you can avoid it, and please don't use global variables like this in any other +# language. + + +# When installing the framework into a conda environment, we install these conda +# versions of its dependencies to minimise the number of pip-installed packages. +# These must be single-quoted as shown, or the code below will get confused. +# +FRAMEWORK_CONDA_DEPS="'docutils>=0.6' 'mpi4py>=1.1.0' 'numpy>=1.2.2' 'h5py>=1.1.0'" + + +# Disabled tests +# +# Some of the tests are currently broken, and we need to figure out what to do with them +# and/or who needs to fix them how. Meanwhile, we want to have a set of passing tests +# for our new CI, because we don't want to normalise failure. So we disable the broken +# tests for now, but print a note whenever the tests are run. See issue #1103. +# +BAD_EXT_TESTS="test_jobserver TestLimepy TestRotatingBridge::test1" +BAD_EXT_TESTS="${BAD_EXT_TESTS} TestHeatingWind::test_supernova" +BAD_EXT_TESTS="${BAD_EXT_TESTS} TestHeatingWind::test_supernova_manual" +BAD_EXT_TESTS="${BAD_EXT_TESTS} TestsForIssue123" + + +# Extra pytest options for debugging +PYTEST_OPTS='' +# PYTEST_OPTS='-s -vvv --log-cli-level=debug' + + +. support/setup/util.sh +. support/setup/log.sh +. support/setup/format.sh +. support/setup/help.sh +. support/setup/environment.sh +. support/setup/installing.sh +. support/setup/testing.sh + + +# Show the current configuration +# +# This uses the following variables: +# +# FEATURES - from support/configuration.sh +# +configure() { + en_pack_text="$(printf '%b' "${ENABLED_PACKAGES_TEXT}" | pr -3 -t -w 90)" + + printf '\n' + printf '%b\n' "${COLOR_CYAN}*** Configuration complete ***${COLOR_END}" + printf 'Detected features:%s\n' "${FEATURES}" + printf '\n' + printf '%b\n' "${COLOR_GREEN}** Enabled packages **${COLOR_END}" + printf '\n%b\n' "Packages marked i) are currently installed." + printf '\n%b' "${en_pack_text}" + printf '\n\n' + printf '%b\n' "${COLOR_RED}** Disabled packages **${COLOR_END}" + printf '\n%b' "${DISABLED_PACKAGES_TEXT}" + printf '%b' "${BROKEN_PACKAGES_TEXT}" + printf '\n' + printf '%s\n' "For broken packages, you can find the listed issue at https://github.com/amusecode/amuse/issues" + printf '\n' + + printf '%b\n\n' "${COLOR_CYAN}*** Next steps ***${COLOR_END}" + + check_shell_environment + + can_install="yes" + if [ "a${ENV_TYPE}" = "a" ] ; then + print_environment_step + can_install="no" + elif [ "a${HAVE_PIP}" = "a" ] || [ "a${HAVE_WHEEL}" = "a" ] ; then + print_pip_wheel_step + can_install="no" + elif [ "a${DISABLED_PACKAGES}" != "a" ] ; then + print_enable_packages_step + fi + + if [ "a${ENABLED_PACKAGES}" = "a" ] ; then + can_install="no" + fi + + if [ "${can_install}" = "yes" ] ; then + print_install_amuse_step + fi +} + + +# Install command +# +# This checks what we're supposed to install and dispatches accordingly. +# +install() { + targets="$*" + + for target in ${targets} ; do + check_install "${target}" + + case ${target} in + all ) + install_all + ;; + amuse-framework | framework ) + target="$(normalise_package_name ${target})" + install_framework + ;; + sapporo_light ) + install_sapporo_light + ;; + * ) + target="$(normalise_package_name ${target})" + install_package install "${target}" + ;; + esac + done +} + + +# Develop command +# +# Does a develop install of something. +# +# This checks what we're supposed to develop-install and dispatches accordingly. +# +develop() { + targets="$*" + + for target in ${targets} ; do + check_install "${target}" + + case ${target} in + amuse-framework | framework ) + develop_framework + ;; + * ) + target="$(normalise_package_name ${target})" + install_package develop "${target}" + ;; + esac + done +} + + +# Package command +# +# Does a package building install of something. +# +# This checks what we're supposed to package-install and dispatches accordingly. +# +package() { + target="$1" + + case ${target} in + amuse-framework | framework ) + package_framework + ;; + * ) + forward_to_package package "${target}" + ;; + esac +} + + +# Test command +# +# Runs tests for a package or for the framework. The tests are run against the installed +# package, so that they also test the installation procedure. +# +run_test() { + targets="$*" + + ensure_pytest + + for target in ${targets} ; do + case ${target} in + all ) + test_all + ;; + amuse-framework | framework ) + check_package_installed_for_test amuse-framework + test_framework + ;; + amuse-ext | ext ) + check_package_installed_for_test amuse-framework + test_amuse_ext + ;; + * ) + target="$(normalise_package_name ${target})" + check_package_installed_for_test "${target}" + forward_to_package "test" "${target}" + ;; + esac + done +} + + +# Uninstall command +# +# This checks what we're supposed to uninstall and dispatches accordingly. +# +uninstall() { + for target in $* ; do + check_uninstall "${target}" + + case ${target} in + amuse-framework | framework ) + uninstall_framework + ;; + sapporo_light ) + uninstall_sapporo_light + ;; + all ) + uninstall_framework + uninstall_sapporo_light + ;; + * ) + target="$(normalise_package_name ${target})" + uninstall_package "${target}" + ;; + esac + done +} + + +# Clean command +# +# Calls make clean on the entire codebase. +# +clean() { + ${GMAKE} -C support clean + ${GMAKE} -C lib clean + ${GMAKE} -C lib clean-sapporo_light + for code in src/amuse_* ; do ${GMAKE} -C "${code}" clean ; done + ${GMAKE} -C src/tests clean +} + + +# Distclean command +# +# Calls make distclean on the entire codebase. +# +distclean() { + ${GMAKE} -C support distclean + ${GMAKE} -C lib distclean + ${GMAKE} -C lib distclean-sapporo_light + for code in src/amuse_* ; do ${GMAKE} -C "${code}" distclean ; done + ${GMAKE} -C src/tests distclean +} + + +### Main script ### + +CMD="$1" + +if [ "a$#" != "a0" ] ; then + shift + TARGETS="$*" +else + TARGETS='' +fi + +case ${CMD} in + help ) + print_help + exit 0 + ;; + "" ) + CMD="configure" + ;; +esac + +printf '%s\n' 'Checking for dependencies, one moment please...' + +if ! (cd support && ./configure >config.out 2>&1) ; then + printf '%s\n\n' 'An error occurred running configure. This should not happen.' + printf '%s\n' 'Please create an issue at http://github.com/amusecode/amuse/issues' + printf '%s\n' 'and attach the support/config.log file to it, or ask for help on' + printf '%s\n' 'the AMUSE Slack.' + exit 1 +fi + +. support/configuration.sh + +analyse_environment + +case ${CMD} in + configure | "" ) + configure + ;; + install ) + # Building MESA tends to crash with "Too many open files" without this + ulimit -n 10240 + install ${TARGETS} + ;; + test ) + run_test ${TARGETS} + ;; + develop ) + develop ${TARGETS} + ;; + package ) + package ${TARGETS} + ;; + uninstall ) + uninstall ${TARGETS} + ;; + clean ) + clean + exit 0 + ;; + distclean ) + distclean + exit 0 + ;; + * ) + print_invalid_command "${CMD}" + exit 1 + ;; +esac + diff --git a/setup.py b/setup.py deleted file mode 100644 index c7ad8e180e..0000000000 --- a/setup.py +++ /dev/null @@ -1,101 +0,0 @@ -from setuptools import setup, find_packages -from support.setup_codes import setup_commands -from support.misc import find_data_files - -name = 'amuse-devel' -author = 'The AMUSE team' -author_email = 'info@amusecode.org' -license_ = "Apache License 2.0" -url = 'http://www.amusecode.org/' -install_requires = [ - 'setuptools>=41.0.0', - 'setuptools_scm', - 'pip>=19.0.0', - 'wheel>=0.32', - 'docutils>=0.6', - 'numpy>=1.2.2', - 'pytest>=4.0', - # 'mpi4py>=1.1.0', - 'h5py>=1.1.0', -] -description = 'The Astrophysical Multipurpose Software Environment' -with open("README.md", "r") as fh: - long_description = fh.read() -long_description_content_type = "text/markdown" -classifiers = [ - 'Development Status :: 4 - Beta', - 'Environment :: Console', - 'Intended Audience :: End Users/Desktop', - 'Intended Audience :: Developers', - 'Intended Audience :: Science/Research', - 'License :: OSI Approved :: Apache Software License', - 'Operating System :: MacOS :: MacOS X', - 'Operating System :: POSIX', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.7', - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', - 'Programming Language :: C', - 'Programming Language :: C++', - 'Programming Language :: Fortran', - 'Topic :: Scientific/Engineering :: Astronomy', -] - -extensions = [] - -all_data_files = [] -all_data_files.append(('share/amuse', ['./config.mk'])) - -packages = find_packages('src') -packages.extend( - ['amuse.examples.' + x for x in find_packages('examples')] -) - -package_data = { - 'amuse.rfi.tools': ['*.template'], - 'amuse.test.suite.core_tests': [ - '*.txt', '*.dyn', '*.ini', - '*.nemo', - '*.dat', 'gadget_snapshot' - ], - 'amuse.test.suite.codes_tests': [ - '*.txt', 'test_sphray_data*' - ], - 'amuse.test.suite.ticket_tests': [ - '*.out' - ], - 'amuse': [ - '*rc' - ] -} - -mapping_from_command_name_to_command_class = setup_commands() - -setup( - name=name, - use_scm_version={ - "write_to": "src/amuse/version.py", - }, - setup_requires=['setuptools_scm'], - classifiers=classifiers, - url=url, - author_email=author_email, - author=author, - license=license_, - description=description, - long_description=long_description, - long_description_content_type=long_description_content_type, - install_requires=install_requires, - python_requires=">=3.7", - extras_require = { - "MPI" : ["mpi4py>=1.1.0"] - }, - cmdclass=mapping_from_command_name_to_command_class, - ext_modules=extensions, - package_dir={'': 'src', 'amuse.examples': 'examples'}, - packages=packages, - package_data=package_data, - data_files=all_data_files, - scripts=["bin/amusifier", "bin/amuse-tutorial", ], -) diff --git a/src/amuse/__init__.py b/src/amuse/__init__.py index ffb7a81e82..4f56025ec9 100644 --- a/src/amuse/__init__.py +++ b/src/amuse/__init__.py @@ -1,18 +1,18 @@ """ The Astrophysical Multipurpose Software Environment -The aim of AMUSE is to provide a software framework, in which existing codes for -dynamics, stellar evolution, hydrodynamics and radiative transfer can easily be -coupled, in order to perform state-of-the-art simulations of a wide range of +The aim of AMUSE is to provide a software framework, in which existing codes for +dynamics, stellar evolution, hydrodynamics and radiative transfer can easily be +coupled, in order to perform state-of-the-art simulations of a wide range of different astrophysical phenomena. It contains several packages, most notably: -units - AMUSE uses quantities, i.e. a number (or array) with a unit attached, +units - AMUSE uses quantities, i.e. a number (or array) with a unit attached, instead of just numbers (vital when coupling different codes!) datamodel - defines particles and grids, on which data (quantities) can be stored ic - a collection of routines to generate initial conditions io - how to read and write data in several file formats -community - a variety of existing codes of different physical domains, each with +community - a variety of existing codes of different physical domains, each with a uniform interface to enable coupling Help is available for each of these packages, e.g.: @@ -43,23 +43,6 @@ def numpy_fix(): numpy_fix() -class NoConfig: - def __init__(self, message): - self._message = message - - def __getattr__(self, attr): - raise AttributeError(self._message) - - -try: - from . import config -except FileNotFoundError as ex: - message = ( - "Configuration not read in - or configuration invalid, exception:\n" + str(ex) - ) - config = NoConfig(message) - - # always report AMUSE reference information try: from amuse.support.literature import TrackLiteratureReferences @@ -71,3 +54,9 @@ def __getattr__(self, attr): def get_data(path): return os.path.join(_AMUSE_ROOT, "data", path) + + +try: + from amuse._version import __version__ +except ImportError: + __version__ = "unknown version" diff --git a/src/amuse/community/Makefile b/src/amuse/community/Makefile new file mode 100644 index 0000000000..f89e995d76 --- /dev/null +++ b/src/amuse/community/Makefile @@ -0,0 +1,12 @@ +CODES = $(filter-out Makefile interface __init__.py __pycache__, $(wildcard *)) + + +.PHONY: clean distclean +clean distclean: $(CODES) + +.PHONY: $(CODES) +$(CODES): + @# make clean fails for codes that haven't been updated yet, so ignore any errors + @# for now and don't print them either, there are many. + @$(MAKE) -C $@ $(MAKECMDGOALS) >/dev/null 2>&1 || true + diff --git a/src/amuse/community/aarsethzare/Makefile b/src/amuse/community/aarsethzare/Makefile deleted file mode 100644 index df5d0db49e..0000000000 --- a/src/amuse/community/aarsethzare/Makefile +++ /dev/null @@ -1,46 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPIFC ?= mpif90 -FORTRAN ?= gfortran -FC ?= $(FORTRAN) - -FFLAGS += -g -LDFLAGS += -lm $(MUSE_LD_FLAGS) - -OBJS = interface.o - -CODELIB = src/libaarsethzare.a - - -AM_LIBS = -L$(AMUSE_DIR)/lib/amuse_mpi -lamuse_mpi -AM_CFLAGS = -I$(AMUSE_DIR)/lib/amuse_mpi - - -all: aarsethzare_worker - -clean: - $(RM) -f *.so *.o *.pyc worker_code.cc worker_code.h - $(RM) *~ aarsethzare_worker worker_code.f90 aarsethzare_worker_sockets worker_code-sockets.f90 - $(RM) -f *.mod - make -C src clean - -$(CODELIB): src/*.f - make -C src all - -worker_code.f90: interface.py - $(CODE_GENERATOR) --type=f90 interface.py AarsethZareInterface -o $@ - -aarsethzare_worker: worker_code.f90 $(CODELIB) $(OBJS) - $(MPIFC) $(FCFLAGS) $(FS_FLAGS) $(LDFLAGS) -cpp worker_code.f90 $(OBJS) $(CODELIB) $(FS_LIBS) -o $@ $(LIBS) - -worker_code.h: interface.py - $(CODE_GENERATOR) --type=h -i amuse.community.interface.stopping_conditions.StoppingConditionInterface interface.py AarsethZareInterface -o $@ - - -%.o: %.f90 - $(FORTRAN) $(FFLAGS) $(FCFLAGS) -c -o $@ $< diff --git a/src/amuse/community/aarsethzare/interface.py b/src/amuse/community/aarsethzare/interface.py index 6563b664be..d40c29642e 100644 --- a/src/amuse/community/aarsethzare/interface.py +++ b/src/amuse/community/aarsethzare/interface.py @@ -1,158 +1,7 @@ -from amuse.community import * -from amuse.units import units +from amuse.support.import_helper import load_code -class AarsethZareInterface(CodeInterface, LiteratureReferencesMixIn): - """ - Interface to the regularized Burlish-Stoer integrator of - Aarseth & Zare - - The relevant references are: - .. [#] ADS:1974CeMec..10..185A (Aarseth, S. & Zare, K., 1974, Celestial Mechanics 10, 185) - .. [#] ADS:1974CeMec..10..516A (Aarseth, S. & Zare, K., 1974, Celestial Mechanics 10, 516) - """ - #include_headers = ['worker_code.h'] - - def __init__(self, **keyword_arguments): - CodeInterface.__init__(self, name_of_the_worker = 'aarsethzare_worker', **keyword_arguments) - LiteratureReferencesMixIn.__init__(self) - - @legacy_function - def evolve_triple(): - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='float64', direction=function.INOUT) - function.addParameter('masses', dtype='float64', direction=function.IN) - function.addParameter('x', dtype='float64', direction=function.INOUT) - function.addParameter('y', dtype='float64', direction=function.INOUT) - function.addParameter('z', dtype='float64', direction=function.INOUT) - function.addParameter('vx', dtype='float64', direction=function.INOUT) - function.addParameter('vy', dtype='float64', direction=function.INOUT) - function.addParameter('vz', dtype='float64', direction=function.INOUT) - function.addParameter('tend', dtype='float64', direction=function.IN) - function.addParameter('nl', dtype='int32', direction=function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - - @legacy_function - def construct_orbital_elements() : - function = LegacyFunctionSpecification() - function.addParameter('m', dtype='float64', direction=function.IN) - function.addParameter('r', dtype='float64', direction=function.IN) - function.addParameter('v', dtype='float64', direction=function.IN) - function.addParameter('e1', dtype='float64', direction=function.OUT) - function.addParameter('e2', dtype='float64', direction=function.OUT) - function.addParameter('nl', dtype='int32', direction=function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - - - - @legacy_function - def construct_orbital_coordinates() : - function = LegacyFunctionSpecification() - function.addParameter('m', dtype='float64', direction=function.IN) - function.addParameter('e1', dtype='float64', direction=function.IN) - function.addParameter('e2', dtype='float64', direction=function.IN) - function.addParameter('r', dtype='float64', direction=function.OUT) - function.addParameter('v', dtype='float64', direction=function.OUT) - function.addParameter('nl', dtype='int32', direction=function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - -class AarsethZare(InCodeComponentImplementation): - - def __init__(self, unit_converter=None,**keyword_arguments): - self.unit_converter = unit_converter - InCodeComponentImplementation.__init__(self, AarsethZareInterface(**keyword_arguments)) - - - def define_converter(self, handler): - if not self.unit_converter is None: - handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) - - def define_particle_sets(self, handler): - handler.define_inmemory_set('particles') - - def define_methods(self, handler): - handler.add_method( - "evolve_triple", - ( - nbody_system.time, - nbody_system.mass, - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.speed, - nbody_system.speed, - nbody_system.speed, - nbody_system.time - ), - ( - nbody_system.time, - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.speed, - nbody_system.speed, - nbody_system.speed, - handler.ERROR_CODE - ) - ) - - handler.add_method( - "construct_orbital_elements", - ( - nbody_system.mass, - nbody_system.length, - nbody_system.speed - ), - ( - units.none, - units.none, - handler.ERROR_CODE - ) - ) - - handler.add_method( - "construct_orbital_coordinates", - ( - nbody_system.mass, - handler.NO_UNIT, - handler.NO_UNIT - ), - ( - nbody_system.length, - nbody_system.speed, - handler.ERROR_CODE - ) - ) - - def evolve_model(self, tend): - mass = self.particles.mass - x = self.particles.x - y = self.particles.y - z = self.particles.z - vx = self.particles.vx - vy = self.particles.vy - vz = self.particles.vz - - if hasattr(self.particles,"time"): - time = self.particles.time - else: - time = tend.as_vector_with_length(len(self.particles)).aszeros() - - time, x, y, z, vx, vy, vz = self.evolve_triple(time,mass,x,y,z,vx,vy,vz,tend.as_vector_with_length(len(self.particles))) - - self.particles.time = time - self.particles.x= x - self.particles.y= y - self.particles.z=z - self.particles.vx=vx - self.particles.vy=vy - self.particles.vz=vz - +AarsethZareInterface = load_code("aarsethzare", "AarsethZareInterface") +AarsethZare = load_code("aarsethzare", "AarsethZare") Aarsethzare = AarsethZare diff --git a/src/amuse/community/adaptb/Makefile b/src/amuse/community/adaptb/Makefile deleted file mode 100644 index 3ab410e9f8..0000000000 --- a/src/amuse/community/adaptb/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -GMP_LIBS ?= -lgmp -MPFR_LIBS ?= -lmpfr -LIBS += $(MPFR_LIBS) $(GMP_LIBS) - -MPICXX ?= mpicxx -CXX ?= g++ - -CXXFLAGS ?= -Wall -g -O2 -CXXFLAGS += -std=c++11 - -CODELIB = src/libadaptb.a -OBJ = interface.o - -all: adaptb_worker - -clean: - rm -f *.so *.o *.pyc worker_code.cc worker_code.h - rm -f *~ adaptb_worker - make -C src clean - -$(CODELIB): - make -C src all - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py AdaptbInterface -o $@ - -worker_code.h: interface.py - $(CODE_GENERATOR) --type=h -i amuse.community.interface.stopping_conditions.StoppingConditionInterface interface.py AdaptbInterface -o $@ - -adaptb_worker: worker_code.cc worker_code.h $(CODELIB) $(OBJ) - $(MPICXX) $(CXXFLAGS) $(SC_FLAGS) $(LDFLAGS) -I./src $< $(CODELIB) $(OBJ) -o $@ -L./src -ladaptb $(SC_CLIBS) $(LIBS) - -interface.o: interface.cc - $(CXX) $(CXXFLAGS) $(MPFR_FLAGS) $(SC_FLAGS) -I./src -c -o $@ $< - diff --git a/src/amuse/community/adaptb/interface.cc b/src/amuse/community/adaptb/interface.cc deleted file mode 100644 index 5b141a67d2..0000000000 --- a/src/amuse/community/adaptb/interface.cc +++ /dev/null @@ -1,446 +0,0 @@ -//////////////////////////////////////////////////////// -// Includes -//////////////////////////////////////////////////////// -#include -#include -#include "Bs_integrator.h" -#include "Clock.h" -#include -#include "worker_code.h" - -#define MAX_STRING_LEN 1024 -using namespace mpfr; -using namespace std; - -//////////////////////////////////////////////////////// -// Set precision -//////////////////////////////////////////////////////// -int numBits = 64; -int Lw = numBits/4; -static double begin_time = 0; - -static char string_output[MAX_STRING_LEN]; - -ofstream odata; - -//////////////////////////////////////////////////////// -// Declare global variables -//////////////////////////////////////////////////////// -string out_directory, file_out, file_log; -int sim_state = 0; -int n_max, k_max; -// 'global' mpreals can only be implemented as static members of a class: -class mpreal_globals { - public: - static mpreal epsilon; // Bulirsch-Stoer tolerance - static mpreal dt_print; - static mpreal dt_max; - static mpreal dt_factor; - static mpreal t_lim; - static mpreal E0; - static mpreal E; - static mpreal dE; -}; -mpreal mpreal_globals::epsilon = "1.0e-6"; // Bulirsch-Stoer tolerance -mpreal mpreal_globals::dt_print = "0.1"; // Regular print intervals -mpreal mpreal_globals::dt_max = "0.01"; // Maximum time steps -mpreal mpreal_globals::dt_factor = "0.1"; // time step multiplication factor -mpreal mpreal_globals::t_lim = "3600"; // Maximum CPU time in seconds -mpreal mpreal_globals::E = "0"; -mpreal mpreal_globals::E0 = "0"; -mpreal mpreal_globals::dE = "0"; - -//////////////////////////////////////////////////////// -// Declare global objects -//////////////////////////////////////////////////////// -std::map local_index_map; -int particle_id_counter = 0; -Cluster *cluster = NULL; -Bs_integrator *bs = NULL; -Clock *myclock = NULL; - -//////////////////////////////////////////////////////// -// Amuse interface functions -//////////////////////////////////////////////////////// -int initialize_code() { - mpreal::set_default_prec(numBits); - cout.precision(Lw); - odata.precision(Lw); - - out_directory = "./"; - file_out = "file.out"; // Outfile for phase space coordinates - file_log = "file.log"; // Outfile for input/output numbers - begin_time = 0; - n_max = 64; // Bulirsch-Stoer sub step variables - k_max = 64; - - cluster = new Cluster(); - return 0; -} - -int new_particle_string(int *particle_identifier, char* mass, - char* x, char* y, char* z, char* vx, char* vy, char* vz, char* radius) { - cluster->add_star(particle_id_counter, mass, radius, x, y, z, vx, vy, vz); - *particle_identifier = particle_id_counter; - particle_id_counter++; - return 0; -} -int new_particle_float64(int *particle_identifier, double mass, - double x, double y, double z, double vx, double vy, double vz, double radius) { - cluster->add_star(particle_id_counter, mass, radius, x, y, z, vx, vy, vz); - *particle_identifier = particle_id_counter; - particle_id_counter++; - return 0; -} -int commit_particles() { - cluster->set_N(particle_id_counter); - cluster->set_t( begin_time ); - cluster->print(odata); - - cerr << endl; - cerr << myclock->get_progress() << "%" << endl; - - // Initial calculations - mpreal_globals::E0 = cluster->get_E(); - return 0; -} - -// Bulirsch-Stoer tolerance, epsilon -int set_bs_tolerance_string(char *bs_tolerance) { - mpreal_globals::epsilon = bs_tolerance; - return 0; -} -int get_bs_tolerance_string(char **bs_tolerance) { - strncpy(string_output, (char*) mpreal_globals::epsilon.toString().c_str(), MAX_STRING_LEN - 1); - string_output[MAX_STRING_LEN - 1] = 0; - *bs_tolerance = string_output; - return 0; -} -int set_bs_tolerance_float64(double bs_tolerance) { - mpreal_globals::epsilon = (mpreal) bs_tolerance; - return 0; -} -int get_bs_tolerance_float64(double *bs_tolerance) { - *bs_tolerance = mpreal_globals::epsilon.toDouble(); - return 0; -} -// Word-length, Lw in mantissa -int set_word_length(int myLw) { - numBits = myLw; - mpreal::set_default_prec(numBits); // Do this now, to make sure that ... - // ... other (mpreal) parameters are stored at this precision! - cout << "New word-length = " << numBits << endl; - return 0; -} -int get_word_length(int *myLw) { - *myLw = numBits; - return 0; -} -// Softening squared -int set_eps2(double eps2) { - cluster->force.softening_sq = (mpreal) eps2; - return 0; -} -int get_eps2(double *eps2) { - *eps2 = cluster->force.softening_sq.toDouble(); - return 0; -} -// Regular print intervals -int set_dt_print(double print_interval) { - mpreal_globals::dt_print = print_interval; - mpreal_globals::dt_max = mpreal_globals::dt_print / "10"; - return 0; -} -int get_dt_print(double *print_interval) { - *print_interval = mpreal_globals::dt_print.toDouble(); - return 0; -} -// max cpu time -int set_max_cpu_time(double max_cpu_time) { - mpreal_globals::t_lim = max_cpu_time; - return 0; -} -int get_max_cpu_time(double *max_cpu_time) { - *max_cpu_time = mpreal_globals::t_lim.toDouble(); - return 0; -} -int set_adaptb_output_directory(char *output_directory){ - out_directory = std::string(output_directory); - if(out_directory.length() > 0){ - if(*out_directory.rbegin() != '/'){ - out_directory.append("/"); - } - } - return 0; -} -int get_adaptb_output_directory(char **output_directory){ - *output_directory = (char*) out_directory.c_str(); - return 0; -} -int get_time_step(double* dt){ - if (myclock == NULL) { // Parameters have not been committed yet -> return default - *dt = mpreal_globals::dt_max.toDouble(); - } else { - *dt = myclock->get_dt().toDouble(); - } - return 0; -} - -int commit_parameters() { - cout.precision(numBits/4); - odata.precision(numBits/4); - - bs = new Bs_integrator(mpreal_globals::epsilon, n_max, k_max); - myclock = new Clock("0", "1", mpreal_globals::dt_print, mpreal_globals::dt_max, mpreal_globals::dt_factor); - myclock->Start_timer(); - cluster->set_t( begin_time ); - myclock->set_t( begin_time ); - odata.open( (out_directory + file_out).c_str() ); - if( !odata ) { - cerr << "Could not open " << (out_directory + file_out) << "!" << endl; - sim_state = 1; - return -1; - } - return 0; -} -int recommit_parameters() { - return commit_parameters(); -} - -int get_mass(int id, double*mass) { - if (id < 0 || id >= particle_id_counter){ - return -3; - } - *mass = cluster->get_pointer_to_star(id)->m.toDouble(); - return 0; -} -int set_mass(int id, double mass) { - if (id < 0 || id >= particle_id_counter){ - return -3; - } - cluster->get_pointer_to_star(id)->m = mass; - return 0; -} -int get_position(int id, double* x, double* y, double* z) { - if (id < 0 || id >= particle_id_counter){ - return -3; - } - *x = cluster->get_pointer_to_star(id)->x.toDouble(); - *y = cluster->get_pointer_to_star(id)->y.toDouble(); - *z = cluster->get_pointer_to_star(id)->z.toDouble(); - return 0; -} -int set_position(int id, double x, double y, double z) { - if (id < 0 || id >= particle_id_counter){ - return -3; - } - cluster->get_pointer_to_star(id)->x = x; - cluster->get_pointer_to_star(id)->y = y; - cluster->get_pointer_to_star(id)->z = z; - return 0; -} -int get_velocity(int id, double* vx, double* vy, double* vz) { - if (id < 0 || id >= particle_id_counter){ - return -3; - } - *vx = cluster->get_pointer_to_star(id)->vx.toDouble(); - *vy = cluster->get_pointer_to_star(id)->vy.toDouble(); - *vz = cluster->get_pointer_to_star(id)->vz.toDouble(); - return 0; -} -int set_velocity(int id, double vx, double vy, double vz) { - if (id < 0 || id >= particle_id_counter){ - return -3; - } - cluster->get_pointer_to_star(id)->vx = vx; - cluster->get_pointer_to_star(id)->vy = vy; - cluster->get_pointer_to_star(id)->vz = vz; - return 0; -} -int get_state(int id, double* m, double* x, double* y, double* z, double* vx, double* vy, double* vz, double* radius) { - if (id < 0 || id >= particle_id_counter){ - return -3; - } - *radius = cluster->get_pointer_to_star(id)->radius.toDouble(); - *m = cluster->get_pointer_to_star(id)->m.toDouble(); - *x = cluster->get_pointer_to_star(id)->x.toDouble(); - *y = cluster->get_pointer_to_star(id)->y.toDouble(); - *z = cluster->get_pointer_to_star(id)->z.toDouble(); - *vx = cluster->get_pointer_to_star(id)->vx.toDouble(); - *vy = cluster->get_pointer_to_star(id)->vy.toDouble(); - *vz = cluster->get_pointer_to_star(id)->vz.toDouble(); - return 0; -} -int set_state(int id, double m, double x, double y, double z, double vx, double vy, double vz, double radius) { - if (id < 0 || id >= particle_id_counter){ - return -3; - } - cluster->get_pointer_to_star(id)->radius = radius; - cluster->get_pointer_to_star(id)->m = m; - cluster->get_pointer_to_star(id)->x = x; - cluster->get_pointer_to_star(id)->y = y; - cluster->get_pointer_to_star(id)->z = z; - cluster->get_pointer_to_star(id)->vx = vx; - cluster->get_pointer_to_star(id)->vy = vy; - cluster->get_pointer_to_star(id)->vz = vz; - return 0; -} -int get_radius(int id, double* radius){ - if (id < 0 || id >= particle_id_counter){ - return -3; - } - *radius = cluster->get_pointer_to_star(id)->radius.toDouble(); - return 0; -} -int set_radius(int id, double radius) { - if (id < 0 || id >= particle_id_counter){ - return -3; - } - cluster->get_pointer_to_star(id)->radius = radius; - return 0; -} - -int evolve_model(double t) { - myclock->set_t_begin_and_end(myclock->get_t(), t); - while( !myclock->alarm() ) { - cluster->calc_a_dt(); - myclock->calc_dt( cluster->get_dt() ); - - mpreal dt = myclock->get_dt(); - bs->integrate(*cluster, dt); - myclock->set_dt(dt); - - if( !bs->converged() ) { - cerr << "No Convergence Reached, Simulation Aborted!" << endl; - sim_state = 2; - myclock->abort(); - } else { - myclock->tick(); - cluster->set_t( myclock->get_t() ); - - if( myclock->to_print() ) { - Cluster cl_exp = *cluster; - - cl_exp.calc_a(); - mpreal dt_exp = myclock->get_t_print() - myclock->get_t(); - - bs->integrate(cl_exp, dt_exp); - - cl_exp.set_t( myclock->get_t_print() ); - cl_exp.print(odata); - - cout << myclock->get_progress() << "%" << endl; - } - - if( myclock->read() > mpreal_globals::t_lim) { - sim_state = 3; - myclock->abort(); - } - - } - - } - - cluster->calc_a(); - mpreal dt = myclock->get_t_end() - myclock->get_t(); - bs->integrate(*cluster, dt); - cluster->set_t( myclock->get_t_end() ); - myclock->set_t(myclock->get_t_end()); - cluster->print(odata); - - mpreal_globals::E = cluster->get_E(); - mpreal_globals::dE = log10(abs((mpreal_globals::E-mpreal_globals::E0)/mpreal_globals::E0)); - - return 0; -} -int synchronize_model() { - return 0; -} -int cleanup_code() { - numBits = 64; - Lw = numBits/4; - begin_time = 0; - mpreal_globals::epsilon = "1.0e-6"; // Bulirsch-Stoer tolerance - mpreal_globals::dt_print = "0.1"; // Regular print intervals - mpreal_globals::dt_max = "0.01"; // Maximum time steps - mpreal_globals::dt_factor = "0.1"; // time step multiplication factor - mpreal_globals::t_lim = "3600"; // Maximum CPU time in seconds - mpreal_globals::E = "0"; - mpreal_globals::E0 = "0"; - mpreal_globals::dE = "0"; - - - mpreal t_cpu; - - if (odata.is_open()){ - odata.close(); - myclock->stop_timer(); - t_cpu = myclock->get_timer(); - delete myclock; - delete bs; - } else { - t_cpu = "0"; - } - - odata.open( (out_directory + file_log).c_str() ); - if ( !odata ) { - cerr << "Could not open " << file_log << "!" << endl; - return -1; - } else { - odata << "sim_state = " << sim_state << endl; - odata << "N = " << cluster->get_N() << endl; - odata << "t_sim = " << cluster->get_t() << endl; - odata << "dt_print = " << mpreal_globals::dt_print << endl; - odata << "dt_max = " << mpreal_globals::dt_max << endl; - odata << "dt_factor = " << mpreal_globals::dt_factor << endl; - odata << "epsilon = " << mpreal_globals::epsilon << endl; - odata << "numBits = " << numBits << endl; - odata << "softening = " << cluster->get_pointer_to_force()->softening_sq << endl; - odata << "t_cpu = " << t_cpu << endl; - odata << "dE = " << mpreal_globals::dE << endl; - } - odata.close(); - delete cluster; - cluster = 0; - particle_id_counter = 0; - return 0; -} - - -int delete_particle(int id) { - return -2; -} -int recommit_particles() { - return -2; -} - - -int set_begin_time(double input) { - begin_time = input; - return 0; -} - -int get_begin_time(double * output) { - *output = begin_time; - return 0; -} - -int get_time(double* time){ - *time = myclock->get_t().toDouble(); - return 0; -} - -int get_potential(int id, double* pot){return -2;} -int get_gravity_at_point(double m, double x, double y, double z, double* rx, double* ry, double* rz){return -2;} -int get_number_of_particles(int* N){return -2;} -int get_potential_at_point(double m, double x, double y, double z, double* p){return -2;} -int get_center_of_mass_position(double* x , double* y, double* z){return -2;} -int get_total_radius(double* R){return -2;} -int get_index_of_first_particle(int* id){return -2;} -int get_index_of_next_particle(int id, int* idnext){return -2;} -int get_total_mass(double* M){return -2;} -int get_kinetic_energy(double* ek){return -2;} -int get_potential_energy(double* ep){return -2;} -int get_center_of_mass_velocity(double* vx, double* vy, double* vz){return -2;} -int get_acceleration(int id, double* ax, double* ay, double* az){return -2;} - diff --git a/src/amuse/community/adaptb/interface.py b/src/amuse/community/adaptb/interface.py index 353de272d7..6d0adf3c80 100644 --- a/src/amuse/community/adaptb/interface.py +++ b/src/amuse/community/adaptb/interface.py @@ -1,239 +1,7 @@ -import warnings +from amuse.support.import_helper import load_code -from amuse.community import * -from amuse.community.interface.gd import GravitationalDynamicsInterface, GravitationalDynamics -class AdaptbInterface(CodeInterface, GravitationalDynamicsInterface, LiteratureReferencesMixIn, - StoppingConditionInterface, CodeWithDataDirectories): - """ - Adaptb (Accurate Dynamics with Arbitrary Precision by Tjarda Boekholt) - """ - include_headers = ['worker_code.h', 'stopcond.h'] - - def __init__(self, **options): - CodeInterface.__init__(self, name_of_the_worker="adaptb_worker", **options) - LiteratureReferencesMixIn.__init__(self) - CodeWithDataDirectories.__init__(self) - warnings.warn("Adaptb is superseded by Brutus") - - @legacy_function - def get_adaptb_output_directory(): - function = LegacyFunctionSpecification() - function.addParameter('adaptb_output_directory', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_adaptb_output_directory(): - function = LegacyFunctionSpecification() - function.addParameter('adaptb_output_directory', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def new_particle_float64(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('identity_of_the_particle', dtype='int32', direction=function.OUT) - function.addParameter('mass', dtype='float64', direction=function.IN, description = "The mass of the particle") - function.addParameter('x', dtype='float64', direction=function.IN, description = "The initial position vector of the particle") - function.addParameter('y', dtype='float64', direction=function.IN, description = "The initial position vector of the particle") - function.addParameter('z', dtype='float64', direction=function.IN, description = "The initial position vector of the particle") - function.addParameter('vx', dtype='float64', direction=function.IN, description = "The initial velocity vector of the particle") - function.addParameter('vy', dtype='float64', direction=function.IN, description = "The initial velocity vector of the particle") - function.addParameter('vz', dtype='float64', direction=function.IN, description = "The initial velocity vector of the particle") - function.addParameter('radius', dtype='float64', direction=function.IN, description = "The radius of the particle", default = 0) - function.result_type = 'int32' - return function - - @legacy_function - def new_particle_string(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('identity_of_the_particle', dtype='int32', direction=function.OUT) - function.addParameter('mass', dtype='string', direction=function.IN, description = "The mass of the particle") - function.addParameter('x', dtype='string', direction=function.IN, description = "The initial position vector of the particle") - function.addParameter('y', dtype='string', direction=function.IN, description = "The initial position vector of the particle") - function.addParameter('z', dtype='string', direction=function.IN, description = "The initial position vector of the particle") - function.addParameter('vx', dtype='string', direction=function.IN, description = "The initial velocity vector of the particle") - function.addParameter('vy', dtype='string', direction=function.IN, description = "The initial velocity vector of the particle") - function.addParameter('vz', dtype='string', direction=function.IN, description = "The initial velocity vector of the particle") - function.addParameter('radius', dtype='string', direction=function.IN, description = "The radius of the particle", default='0') - function.result_type = 'int32' - return function - - def new_particle(self, mass, x,y,z, vx,vy,vz, radius = 0): - if isinstance(mass, str): - return self.new_particle_string(mass, x,y,z, vx,vy,vz, radius = str(radius)) - else: - return self.new_particle_float64(mass, x,y,z, vx,vy,vz, radius = radius) - - @legacy_function - def get_bs_tolerance_string(): - function = LegacyFunctionSpecification() - function.addParameter('bs_tolerance', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - @legacy_function - def set_bs_tolerance_string(): - function = LegacyFunctionSpecification() - function.addParameter('bs_tolerance', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - @legacy_function - def get_bs_tolerance_float64(): - function = LegacyFunctionSpecification() - function.addParameter('bs_tolerance', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - @legacy_function - def set_bs_tolerance_float64(): - function = LegacyFunctionSpecification() - function.addParameter('bs_tolerance', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_word_length(): - function = LegacyFunctionSpecification() - function.addParameter('word_length', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - @legacy_function - def set_word_length(): - function = LegacyFunctionSpecification() - function.addParameter('word_length', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_dt_print(): - function = LegacyFunctionSpecification() - function.addParameter('dt_print', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - @legacy_function - def set_dt_print(): - function = LegacyFunctionSpecification() - function.addParameter('dt_print', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_max_cpu_time(): - function = LegacyFunctionSpecification() - function.addParameter('max_cpu_time', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - @legacy_function - def set_max_cpu_time(): - function = LegacyFunctionSpecification() - function.addParameter('max_cpu_time', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - - -class Adaptb(GravitationalDynamics): - - def __init__(self, convert_nbody = None, **options): - self.stopping_conditions = StoppingConditions(self) - - legacy_interface = AdaptbInterface(**options) - self.legacy_doc = legacy_interface.__doc__ - - GravitationalDynamics.__init__( - self, - legacy_interface, - convert_nbody, - **options - ) - - def initialize_code(self): - result = self.overridden().initialize_code() - self.parameters.adaptb_output_directory = self.output_directory - return result - - def define_parameters(self, handler): - GravitationalDynamics.define_parameters(self, handler) - self.stopping_conditions.define_parameters(handler) - - handler.add_method_parameter( - "get_bs_tolerance_float64", - "set_bs_tolerance_float64", - "bs_tolerance", - "Error tolerance of the Bulirsch-Stoer integrator", - default_value = 1.0e-6 - ) - - handler.add_method_parameter( - "get_eps2", - "set_eps2", - "epsilon_squared", - "smoothing parameter for gravity calculations, usage is not recommended for Adaptb", - default_value = 0.0 | nbody_system.length**2 - ) - - handler.add_method_parameter( - "get_dt_print", - "set_dt_print", - "dt_print", - "dt_print, regular print interval to show status (% complete) of evolve_model", - default_value = 0.1 | nbody_system.time - ) - - handler.add_method_parameter( - "get_word_length", - "set_word_length", - "word_length", - "The word length, or number of bits, used for the arbitrary precision calculations", - default_value = 64 - ) - - handler.add_method_parameter( - "get_adaptb_output_directory", - "set_adaptb_output_directory", - "adaptb_output_directory", - "Path to the directory where Adaptb stores its output", - default_value = "./" - ) - - handler.add_method_parameter( - "get_max_cpu_time", - "set_max_cpu_time", - "time_limit_cpu", - "The cpu-time limit, the maximum amount of time Adaptb is allowed to run for.", - default_value = 3600.0 | units.s - ) - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - self.stopping_conditions.define_methods(handler) - - handler.add_method("get_bs_tolerance_float64", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_bs_tolerance_float64", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) - - handler.add_method("get_eps2", (), (nbody_system.length**2, handler.ERROR_CODE,)) - handler.add_method("set_eps2", (nbody_system.length**2, ), (handler.ERROR_CODE,)) - - handler.add_method("get_dt_print", (), (nbody_system.time, handler.ERROR_CODE,)) - handler.add_method("set_dt_print", (nbody_system.time, ), (handler.ERROR_CODE,)) - - handler.add_method("get_word_length", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_word_length", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) - - handler.add_method("get_adaptb_output_directory", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_adaptb_output_directory", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) - - handler.add_method("get_max_cpu_time", (), (units.s, handler.ERROR_CODE,)) - handler.add_method("set_max_cpu_time", (units.s, ), (handler.ERROR_CODE,)) - - def define_particle_sets(self, handler): - GravitationalDynamics.define_particle_sets(self, handler) - self.stopping_conditions.define_particle_set(handler) - - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - self.stopping_conditions.define_state(handler) +AdaptbInterface = load_code("adaptb", "AdaptbInterface") +Adaptb = load_code("adaptb", "Adaptb") +Adaptb = Adaptb diff --git a/src/amuse/community/athena/Makefile b/src/amuse/community/athena/Makefile deleted file mode 100644 index 3c64e6d43b..0000000000 --- a/src/amuse/community/athena/Makefile +++ /dev/null @@ -1,176 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPICXX ?= mpicxx -MPICC ?= mpicc -PYTHON ?= python - -VERSION = 4.1 - -ATHENA_DIR = src/athena - -CC = $(MPICC) -CFLAGS += -DAMUSE -g -CXXFLAGS += $(CFLAGS) -UNAME = $(shell uname) - -ifneq (,$(findstring MINGW,$(UNAME))) - LDFLAGS += -lm -else - LDFLAGS += -ldl -lm -endif - -ifeq ($(MPI_ENABLED),yes) -AM_LIBS = -L$(AMUSE_DIR)/lib/amuse_mpi -lamuse_mpi -AM_CFLAGS = -I$(AMUSE_DIR)/lib/amuse_mpi -endif - -BUILDDIR = build -SELFGRAV_BUILDDIR = build_selfgrav -MHD_BUILDDIR = build_mhd -SCALAR_BUILDDIR = build_scalar - -CODELIB = $(BUILDDIR)/bin/libathena.a -SELFGRAV_CODELIB = $(SELFGRAV_BUILDDIR)/bin/libathena.a -MHD_CODELIB = $(MHD_BUILDDIR)/bin/libathena.a -SCALAR_CODELIB = $(SCALAR_BUILDDIR)/bin/libathena.a - -AMUSE_OBJS = $(BUILDDIR)/interface_$(VERSION).o -SELFGRAV_AMUSE_OBJS = $(SELFGRAV_BUILDDIR)/interface_$(VERSION).o -MHD_AMUSE_OBJS = $(MHD_BUILDDIR)/interface_$(VERSION).o -SCALAR_AMUSE_OBJS = $(SCALAR_BUILDDIR)/interface_$(VERSION).o - -DOWNLOAD_FROM_WEB = $(PYTHON) ./download.py -PATCH_FILES = $(PYTHON) ./patch_files.py - -ATHENA_OBJS = $(subst $(ATHENA_DIR)/src/main.o,,$(wildcard $(ATHENA_DIR)/src/*.o $(ATHENA_DIR)/src/*/*.o)) - -FFTW_LIBS ?= -L/usr/lib -lfftw3 -FFTW_FLAGS ?= -I/usr/include -FFTWLIB = $(FFTW_LIBS) -FFTWINC = $(FFTW_FLAGS) - -.PHONY : download - -all: athena_worker - -clean: - $(RM) -f *.so *.o *.selfgrav_o *.pyc worker_code.cc worker_code.h - $(RM) -f *~ athena_worker athena_worker_selfgrav athena_worker_mhd - $(RM) -f athena_worker*.exe - $(RM) -f athena_worker_scalar - $(RM) -f worker_code-sockets.cc athena_worker_sockets - $(RM) -f $(CODELIB) $(AMUSE_OBJS_SELFGRAV) - $(RM) -f *.mhd_o - $(RM) -rf *.dSYM - $(RM) -rf $(BUILDDIR) $(SELFGRAV_BUILDDIR) $(MHD_BUILDDIR) - $(RM) -rf $(SCALAR_BUILDDIR) - -codeclean: clean - make -C $(ATHENA_DIR) clean - -distclean: clean - $(RM) -f *.so *.o *.pyc worker_code.cc worker_code.h - $(RM) -Rf .pc - $(RM) *~ athena_worker - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py AthenaInterface -o $@ - -worker_code.h: interface.py - $(CODE_GENERATOR) --type=h interface.py -i amuse.community.interface.stopping_conditions.StoppingConditionInterface AthenaInterface -o $@ - -$(BUILDDIR)/Makefile: $(ATHENA_DIR)/Makefile.in - cp -r $(ATHENA_DIR) $(BUILDDIR) - -$(CODELIB): $(BUILDDIR)/Makefile -ifeq ($(MPI_ENABLED),no) - cd $(BUILDDIR); ./configure --with-gas=hydro --disable-mpi --enable-smr -else - cd $(BUILDDIR); ./configure --with-gas=hydro --enable-mpi --enable-smr -endif - cd $(BUILDDIR); ln -fs ../../amuse_problem_$(VERSION).c src/problem.c - exit - cd $(BUILDDIR); make all CC=$(MPICC) LDR=$(MPICC) OPT="$(CXXFLAGS)" - rm -f $(CODELIB) - cd $(BUILDDIR); make all CC=$(MPICC) LDR=$(MPICC) OPT="$(CXXFLAGS)" - -athena_worker: worker_code.cc worker_code.h $(CODELIB) $(AMUSE_OBJS) - $(MPICXX) $(CXXFLAGS) $(SC_FLAGS) $(LDFLAGS) worker_code.cc $(AMUSE_OBJS) $(CODELIB) $(LDFLAGS) -o $@ $(SC_CLIBS) $(LIBS) $(AM_LIBS) - -athena_%.o: athena_%.c worker_code.h - $(MPICC) $(CXXFLAGS) $(SC_FLAGS) $(AM_CFLAGS) $(PYTHONDEV_CFLAGS) -c -o $@ $< - -$(SELFGRAV_BUILDDIR)/Makefile: $(ATHENA_DIR)/Makefile.in - cp -r $(ATHENA_DIR) $(SELFGRAV_BUILDDIR) - -$(SELFGRAV_CODELIB): $(SELFGRAV_BUILDDIR)/Makefile -ifeq ($(MPI_ENABLED),no) - cd $(SELFGRAV_BUILDDIR); ./configure --with-gas=hydro --disable-mpi --with-gravity=fft --enable-fft --disable-cooling CFLAGS="$(CXXFLAGS)" -else - cd $(SELFGRAV_BUILDDIR); ./configure --with-gas=hydro --with-gravity=fft --enable-fft --disable-cooling CFLAGS="$(CXXFLAGS)" -endif - cd $(SELFGRAV_BUILDDIR); ln -fs ../../amuse_problem_$(VERSION).c src/problem.c - exit - cd $(SELFGRAV_BUILDDIR); make all CC=$(MPICC) LDR=$(MPICC) OPT="$(CXXFLAGS)" - rm -f $(CODELIB) - cd $(SELFGRAV_BUILDDIR); make all CC=$(MPICC) LDR=$(MPICC) OPT="$(CXXFLAGS)" - -athena_worker_selfgrav: worker_code.cc worker_code.h $(SELFGRAV_CODELIB) $(SELFGRAV_AMUSE_OBJS) - $(MPICXX) $(CXXFLAGS) $(FFTW_FLAGS) $(SC_FLAGS) $(LDFLAGS) worker_code.cc $(SELFGRAV_AMUSE_OBJS) $(SELFGRAV_CODELIB) $(LDFLAGS) -o $@ $(SC_CLIBS) $(FFTWLIB) $(LIBS) $(AM_LIBS) - -$(MHD_BUILDDIR)/Makefile: $(ATHENA_DIR)/Makefile.in - cp -r $(ATHENA_DIR) $(MHD_BUILDDIR) - -$(MHD_CODELIB): $(MHD_BUILDDIR)/Makefile -ifeq ($(MPI_ENABLED),no) - cd $(MHD_BUILDDIR); ./configure --with-gas=mhd --with-eos=adiabatic --disable-mpi --enable-smr --with-order=3 --with-flux=hlld -else - cd $(MHD_BUILDDIR); ./configure --with-gas=mhd --with-eos=adiabatic --enable-mpi --enable-smr --with-order=3 --with-flux=hlld CFLAGS="$(CXXFLAGS)" -endif - cd $(MHD_BUILDDIR); ln -fs ../../amuse_problem_$(VERSION).c src/problem.c - exit - cd $(MHD_BUILDDIR); make all CC=$(MPICC) LDR=$(MPICC) OPT="$(CXXFLAGS)" - rm -f $(CODELIB) - cd $(MHD_BUILDDIR); make all CC=$(MPICC) LDR=$(MPICC) OPT="$(CXXFLAGS)" - -athena_worker_mhd: worker_code.cc worker_code.h $(MHD_CODELIB) $(MHD_AMUSE_OBJS) - $(MPICXX) $(CXXFLAGS) $(SC_FLAGS) $(LDFLAGS) worker_code.cc $(MHD_AMUSE_OBJS) $(MHD_CODELIB) $(LDFLAGS) -o $@ $(SC_CLIBS) $(LIBS) $(AM_LIBS) - - -$(SCALAR_BUILDDIR)/Makefile: $(ATHENA_DIR)/Makefile.in - cp -r $(ATHENA_DIR) $(SCALAR_BUILDDIR) - -$(SCALAR_CODELIB): $(SCALAR_BUILDDIR)/Makefile -ifeq ($(MPI_ENABLED),no) - cd $(SCALAR_BUILDDIR); ./configure --with-gas=hydro --disable-mpi --enable-smr --with-nscalars=1 -else - cd $(SCALAR_BUILDDIR); ./configure --with-gas=hydro --enable-mpi --enable-smr --with-nscalars=1 -endif - cd $(SCALAR_BUILDDIR); ln -fs ../../amuse_problem_$(VERSION).c src/problem.c - exit - cd $(SCALAR_BUILDDIR); make all CC=$(MPICC) LDR=$(MPICC) OPT="$(CXXFLAGS)" - rm -f $(CODELIB) - cd $(SCALAR_BUILDDIR); make all CC=$(MPICC) LDR=$(MPICC) OPT="$(CXXFLAGS)" - -athena_worker_scalar: worker_code.cc worker_code.h $(SCALAR_CODELIB) $(SCALAR_AMUSE_OBJS) - $(MPICXX) $(CXXFLAGS) $(SC_FLAGS) $(LDFLAGS) worker_code.cc $(SCALAR_AMUSE_OBJS) $(SCALAR_CODELIB) $(LDFLAGS) -o $@ $(SC_CLIBS) $(LIBS) $(AM_LIBS) - -$(BUILDDIR)/%.o: %.c - $(CC) $(CXXFLAGS) -I$(BUILDDIR)/src $(SC_FLAGS) -c -o $@ $< - -$(SELFGRAV_BUILDDIR)/%.o: %.c - $(CC) $(CXXFLAGS) $(FFTW_FLAGS) -I$(SELFGRAV_BUILDDIR)/src $(SC_FLAGS) -c -o $@ $< - -$(MHD_BUILDDIR)/%.o: %.c - $(CC) $(CXXFLAGS) -I$(MHD_BUILDDIR)/src $(SC_FLAGS) -c -o $@ $< - -$(SCALAR_BUILDDIR)/%.o: %.c - $(CC) $(CXXFLAGS) -I$(SCALAR_BUILDDIR)/src $(SC_FLAGS) -c -o $@ $< - - - diff --git a/src/amuse/community/athena/amuse_problem_3.1.c b/src/amuse/community/athena/amuse_problem_3.1.c deleted file mode 100644 index 44e06f693f..0000000000 --- a/src/amuse/community/athena/amuse_problem_3.1.c +++ /dev/null @@ -1,58 +0,0 @@ -#include "copyright.h" -/*============================================================================== - * FILE: amuse_problem.c - * - * PURPOSE: generates an empty problem - * - *============================================================================*/ - -#include -#include -#include -#include "defs.h" -#include "athena.h" -#include "globals.h" -#include "prototypes.h" - - - -/*----------------------------------------------------------------------------*/ -/* problem: */ - -void problem(Grid *pGrid, Domain *pDomain) -{ - return; -} - -/*============================================================================== - * PROBLEM USER FUNCTIONS: - * problem_write_restart() - writes problem-specific user data to restart files - * problem_read_restart() - reads problem-specific user data from restart files - * get_usr_expr() - sets pointer to expression for special output data - * Userwork_in_loop - problem specific work IN main loop - * Userwork_after_loop - problem specific work AFTER main loop - *----------------------------------------------------------------------------*/ - -void problem_write_restart(Grid *pG, Domain *pD, FILE *fp) -{ - return; -} - -void problem_read_restart(Grid *pG, Domain *pD, FILE *fp) -{ - return; -} - -Gasfun_t get_usr_expr(const char *expr) -{ - return NULL; -} - -void Userwork_in_loop(Grid *pGrid, Domain *pDomain) -{ -} - -void Userwork_after_loop(Grid *pGrid, Domain *pDomain) -{ - return; -} diff --git a/src/amuse/community/athena/amuse_problem_4.0.c b/src/amuse/community/athena/amuse_problem_4.0.c deleted file mode 100644 index 7601e0a405..0000000000 --- a/src/amuse/community/athena/amuse_problem_4.0.c +++ /dev/null @@ -1,61 +0,0 @@ -#include "copyright.h" -/*============================================================================== - * FILE: amuse_problem.c - * - * PURPOSE: generates an empty problem - * - *============================================================================*/ - -#include -#include -#include -#include "defs.h" -#include "athena.h" -#include "globals.h" -#include "prototypes.h" - - - -/*----------------------------------------------------------------------------*/ -/* problem: */ - -void problem(DomainS *pDomain) -{ - return; -} - -/*============================================================================== - * PROBLEM USER FUNCTIONS: - * problem_write_restart() - writes problem-specific user data to restart files - * problem_read_restart() - reads problem-specific user data from restart files - * get_usr_expr() - sets pointer to expression for special output data - * Userwork_in_loop - problem specific work IN main loop - * Userwork_after_loop - problem specific work AFTER main loop - *----------------------------------------------------------------------------*/ - -void problem_write_restart(MeshS *pM, FILE *fp) -{ - return; -} - -void problem_read_restart(MeshS *pM, FILE *fp) -{ - return; -} - -ConsFun_t get_usr_expr(const char *expr) -{ - return NULL; -} - -VOutFun_t get_usr_out_fun(const char *name){ - return NULL; -} - -void Userwork_in_loop(MeshS *pM) -{ -} - -void Userwork_after_loop(MeshS *pM) -{ -} diff --git a/src/amuse/community/athena/download.py b/src/amuse/community/athena/download.py deleted file mode 100755 index c22670d76f..0000000000 --- a/src/amuse/community/athena/download.py +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/bin/env python - -import subprocess -import os -import sys -import time -import urllib.request -import urllib.parse -import urllib.error -from optparse import OptionParser - - -class GetCodeFromHttp(object): - url_template = "http://amuse.strw.leidenuniv.nl/codes/athena{version}.tar.gz" - filename_template = "athena{version}.tar.gz" - version = "" - - def directory(self): - return os.path.abspath(os.path.dirname(__file__)) - - def src_directory(self): - return os.path.join(self.directory(), 'src') - - def unpack_downloaded_file(self, filename): - print("unpacking", filename) - arguments = ['tar', '-xf'] - arguments.append(filename) - subprocess.call( - arguments, - cwd=os.path.join(self.src_directory()) - ) - subprocess.call( - ['mv', 'athena{version}'.format(version = self.version), 'athena'], - cwd = os.path.join(self.src_directory()) - ) - print("done") - - def start(self): - if os.path.exists('src'): - counter = 0 - while os.path.exists('src.{0}'.format(counter)): - counter += 1 - if counter > 100: - print("too many backup directories") - break - os.rename('src', 'src.{0}'.format(counter)) - - os.mkdir('src') - - url = self.url_template.format(version=self.version) - filename = self.filename_template.format(version=self.version) - filepath = os.path.join(self.src_directory(), filename) - print("downloading version", self.version, "from", url, "to", filename) - urllib.request.urlretrieve(url, filepath) - print("downloading finished") - self.unpack_downloaded_file(filename) - - -def main(version=''): - instance = GetCodeFromHttp() - instance.version = version - instance.start() - - -def new_option_parser(): - result = OptionParser() - result.add_option( - "--version", - default='4.1', - dest="version", - help="version number to download", - type="string" - ) - return result - - -if __name__ == "__main__": - options, arguments = new_option_parser().parse_args() - main(**options.__dict__) diff --git a/src/amuse/community/athena/interface.py b/src/amuse/community/athena/interface.py index 65615182f8..ba238f3a53 100644 --- a/src/amuse/community/athena/interface.py +++ b/src/amuse/community/athena/interface.py @@ -1,1376 +1,7 @@ -from amuse.community import * +from amuse.support.import_helper import load_code -from amuse.community.interface.mhd import MagnetohydrodynamicsInterface -from amuse.community.interface.common import CommonCode -import numpy - -from amuse.units.generic_unit_system import * - -class AthenaInterface(CodeInterface, MagnetohydrodynamicsInterface, LiteratureReferencesMixIn, StoppingConditionInterface): - """ - Athena is a grid-based code for astrophysical hydrodynamics. Athena can solve - magnetohydrodynamics (MHD) as well, but this is currently not supported from - AMUSE. It was developed primarily for studies of the interstellar medium, - star formation, and accretion flows. - - The current version (Athena v4.0) implements algorithms for the following physics: - * compressible hydrodynamics and MHD in 1D, 2D, and 3D, - * ideal gas equation of state with arbitrary gamma (including gamma = 1, an isothermal EOS), - * an arbitrary number of passive scalars advected with the flow, - * self-gravity, and/or a static gravitational potential, - * Ohmic resistivity, ambipolar diffusion, and the Hall effect, - * both Navier-Stokes and anisotropic (Braginskii) viscosity, - * both isotropic and anisotropic thermal conduction, - * optically-thin radiative cooling. - - In addition, Athena allows for the following grid and parallelization options: - * Cartesian or cylindrical coordinates, - * static (fixed) mesh refinement, - * shearing-box source terms, and an orbital advection algorithm for MHD, - * parallelization using domain decomposition and MPI. - - A variety of choices are also available for the numerical algorithms, such as - different Riemann solvers and spatial reconstruction methods. - - The relevant references are: - .. [#] ADS:2005JCoPh.205..509G (Gardiner & Stone 2005, JCP, 205, 509 (2D JCP Method)) - .. [#] ADS:2008JCoPh.227.4123G (Gardiner & Stone 2007, JCP, 227, 4123 (3D JCP Method)) - .. [#] ADS:2008ApJS..178..137S (Stone et al. 2008, ApJS, 178, 137 (Method)) - .. [#] ADS:2009NewA...14..139S (Stone & Gardiner 2009, NewA, 14, 139 (van Leer Integrator)) - .. [#] ADS:2010ApJS..188..290S (Skinner & Ostriker 2010, ApJ, 188, 290 (Cylindrical Integrator)) - .. [#] ADS:2010ApJS..189..142S (Stone & Gardiner 2010, ApJS, 189, 142 (Shearing Box Method)) - """ - - include_headers = ['worker_code.h', 'stopcond.h'] - - MODE_NORMAL = 'normal' - MODE_SELF_GRAVITY = 'self-gravity' - MODE_MHD = 'mhd' - MODE_SCALAR = 'scalar' - - def __init__(self, mode = MODE_NORMAL, **options): - - self.mode = mode - CodeInterface.__init__(self, name_of_the_worker=self.name_of_the_worker(mode), **options) - self.set_auto_decomposition(1) - self.par_seti("domain1", "AutoWithNProc", "%d", self.channel.number_of_workers, "-") - LiteratureReferencesMixIn.__init__(self) - self.number_of_grids = 1 - - def name_of_the_worker(self, mode): - if mode == self.MODE_NORMAL: - return 'athena_worker' - elif mode == self.MODE_SELF_GRAVITY: - return 'athena_worker_selfgrav' - elif mode == self.MODE_MHD: - return 'athena_worker_mhd' - elif mode == self.MODE_SCALAR: - return 'athena_worker_scalar' - else: - return 'athena_worker' - - @legacy_function - def par_seti(): - function = LegacyFunctionSpecification() - function.addParameter('block', dtype='s', direction=function.IN) - function.addParameter('name', dtype='s', direction=function.IN) - function.addParameter('fmt', dtype='s', direction=function.IN) - function.addParameter('ival', dtype='int32', direction=function.IN) - function.addParameter('comment', dtype='s', direction=function.IN) - function.result_type = None - return function - - @legacy_function - def par_geti(): - function = LegacyFunctionSpecification() - function.addParameter('block', dtype='s', direction=function.IN) - function.addParameter('name', dtype='s', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def par_setd(): - function = LegacyFunctionSpecification() - function.addParameter('block', dtype='s', direction=function.IN) - function.addParameter('name', dtype='s', direction=function.IN) - function.addParameter('fmt', dtype='s', direction=function.IN) - function.addParameter('dval', dtype='float64', direction=function.IN) - function.addParameter('comment', dtype='s', direction=function.IN) - function.result_type = None - return function - - @legacy_function - def par_getd(): - function = LegacyFunctionSpecification() - function.addParameter('block', dtype='s', direction=function.IN) - function.addParameter('name', dtype='s', direction=function.IN) - function.result_type = 'float64' - return function - - def setup_mesh(self, nmeshx, nmeshy, nmeshz, xlength, ylength, zlength): - self.par_seti("job","num_domains", "%d", self.number_of_grids, "-") - self.par_seti("domain1", "level", "%d", 0, "-") - - self.par_seti("domain1", "Nx1", "%d", nmeshx, "-") - self.par_seti("domain1", "Nx2", "%d", nmeshy, "-") - self.par_seti("domain1", "Nx3", "%d", nmeshz, "-") - - self.par_setd("domain1", "x1min", "%.15e", 0.0, "-") - self.par_setd("domain1", "x1max", "%.15e", xlength, "-") - self.par_setd("domain1", "x2min", "%.15e", 0.0, "-") - self.par_setd("domain1", "x2max", "%.15e", ylength, "-") - self.par_setd("domain1", "x3min", "%.15e", 0.0, "-") - self.par_setd("domain1", "x3max", "%.15e", zlength, "-") - self.par_seti("domain1", "iDisp", "%d", 0, "-") - self.par_seti("domain1", "jDisp", "%d", 0, "-") - self.par_seti("domain1", "kDisp", "%d", 0, "-") - - return 0 - - def define_subgrid(self, level, nmeshx, nmeshy, nmeshz, i, j, k): - """ - Define a new domain on the given level the number of cells in this - domain is given by nmeshx, nmeshy, nmeshz. - - Each level is twice as dense as in every directory as - the previous level (there are 8 cells per higher level cell). - """ - self.number_of_grids += 1 - - domain = "domain{0}".format(self.number_of_grids) - - self.par_seti("job","num_domains", "%d", self.number_of_grids, "-") - - self.par_seti(domain, "level", "%d", level, "-") - self.par_seti(domain, "Nx1", "%d", nmeshx, "-") - self.par_seti(domain, "Nx2", "%d", nmeshy, "-") - self.par_seti(domain, "Nx3", "%d", nmeshz, "-") - self.par_seti(domain, "iDisp", "%d", i, "-") - self.par_seti(domain, "jDisp", "%d", j, "-") - self.par_seti(domain, "kDisp", "%d", k, "-") - - return self.number_of_grids - - @legacy_function - def get_position_of_index(): - """ - Retrieves the x, y and z position of the center of - the cell with coordinates i, j, k in the grid specified - by the index_of_grid - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) - for x in ['x','y','z']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - return function - - ''' - @legacy_function - def get_index_of_position(): - """ - Retrieves the i,j and k index of the grid cell containing the - given x, y and z position. The cell is looked up - in the grid specified by index_of_grid. - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['x','y','z']: - function.addParameter(x, dtype='d', direction=function.IN) - - function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) - - for x in ['i','j','k']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('number_of_points', 'i', function.LENGTH) - - function.result_type = 'i' - return function - ''' - def get_index_range_inclusive(self, index_of_grid = 1): - """ - Returns the min and max values of indices in each - direction. The range is inclusive, the min index - and max index both exist and can be queried. - The total number of cells in one direction - is max - min + 1. - """ - domainid = "domain{0}".format(index_of_grid) - - ni = self.par_geti(domainid, "Nx1") - nj = self.par_geti(domainid, "Nx2") - nk = self.par_geti(domainid, "Nx3") - idisp = self.par_geti(domainid, "iDisp") - jdisp = self.par_geti(domainid, "jDisp") - kdisp = self.par_geti(domainid, "kDisp") - #print index_of_grid, " === > ", (idisp, idisp+ni[0]-1, jdisp, jdisp + nj[0]-1, kdisp, kdisp + nk[0]-1) - - return (idisp, idisp+ni-1, jdisp, jdisp + nj-1, kdisp, kdisp + nk-1) - - - - def get_index_range_magnetic_field_inclusive(self, index_of_grid = 1): - original = list(self.get_index_range_inclusive(index_of_grid)) - original[1] += 1 - original[3] += 1 - original[5] += 1 - return original - - def get_mesh_indices(self): - """ - Return 3 arrays, containing the indices for i, j and k - """ - si,ei,sj,ej,sk,ek = self.get_index_range_inclusive() - indexgrid = numpy.mgrid[slice(si,ei+1),slice(sj,ej+1),slice(sk,ek+1)] - return indexgrid.reshape(3, -1) - - - - def set_four_pi_G(self, value): - self.par_setd("problem", "four_pi_G", "%.15e", value, "") - return 0 - - def set_grav_mean_rho(self, value): - self.par_setd("problem", "grav_mean_rho", "%.15e", value, "") - return 0 - - def set_isocsound(self, value): - self.par_setd("problem", "iso_csound", "%.15e", value, "") - return 0 - - def set_gamma(self, value): - self.par_setd("problem", "gamma", "%.15e", value, "-") - return 0 - - def set_courant_friedrichs_lewy_number(self, value): - self.par_setd("time", "cour_no", "%.15e", value, "-") - return 0 - - def set_boundary(self, xbound1, xbound2, ybound1, ybound2, zbound1, zbound2): - map_from_string_to_flag = { - "reflective": 1, - "outflow":2, - "periodic":4, - "interface": 10, - } - - self.par_seti("domain1", "bc_ix1", "%d", map_from_string_to_flag[xbound1], "-") - self.par_seti("domain1", "bc_ox1", "%d", map_from_string_to_flag[xbound2], "-") - self.par_seti("domain1", "bc_ix2", "%d", map_from_string_to_flag[ybound1], "-") - self.par_seti("domain1", "bc_ox2", "%d", map_from_string_to_flag[ybound2], "-") - self.par_seti("domain1", "bc_ix3", "%d", map_from_string_to_flag[zbound1], "-") - self.par_seti("domain1", "bc_ox3", "%d", map_from_string_to_flag[zbound2], "-") - - return 0 - - - def set_parallel_decomposition(self, nx, ny, nz): - if nx == 0 or ny == 0 or nz == 0: - self.par_seti("domain1", "AutoWithNProc", "%d", self.channel.number_of_workers, "-") - else: - self.par_seti("domain1", "AutoWithNProc", "%d", 0, "-") - self.par_seti("domain1", "NGrid_x1", "%d", nx, "-") - self.par_seti("domain1", "NGrid_x2", "%d", ny, "-") - self.par_seti("domain1", "NGrid_x3", "%d", nz, "-") - return 0 - - def set_auto_decomposition(self, value): - self.par_seti("parallel", "auto", "%d", value, "-") - return 0 - - @legacy_function - def initialize_grid(): - function = LegacyFunctionSpecification() - function.result_type = 'i' - return function - - @legacy_function - def get_timestep(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_timestep(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'i' - return function - - - @legacy_function - def get_evolve_to_exact_time(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_evolve_to_exact_time(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def set_has_external_gravitational_potential(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_has_external_gravitational_potential(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_nghost(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_time(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def esys_roe_adb_hydro(): - function = LegacyFunctionSpecification() - function.addParameter('index', dtype='int32', direction=function.OUT) - function.addParameter('u', dtype='float64', direction=function.OUT) - function.addParameter('v', dtype='float64', direction=function.OUT) - function.addParameter('w', dtype='float64', direction=function.OUT) - function.addParameter('h', dtype='float64', direction=function.OUT) - function.addParameter('ev', dtype='float64', direction=function.OUT) - for i in range(5): - function.addParameter('rem{0}'.format(i), dtype='float64', direction=function.OUT) - for i in range(5): - function.addParameter('lem{0}'.format(i), dtype='float64', direction=function.OUT) - function.result_type = 'i' - function.can_handle_array = True - return function - - @legacy_function - def fill_grid_linearwave_1d(): - function = LegacyFunctionSpecification() - function.addParameter('wave_flag', dtype='int32', direction=function.IN) - function.addParameter('amplitude', dtype='float64', direction=function.IN) - function.addParameter('vflow', dtype='float64', direction=function.IN) - function.addParameter('wave_dir', dtype='int32', direction=function.IN) - function.result_type = 'i' - function.can_handle_array = True - return function - - def get_index_range_for_potential(self, index_of_grid = 1): - """ - Returns the min and max values of indices in each - direction for the potential field, this - range is 1 cell larger than the normal grid - in all directions""" - imin,imax,jmin,jmax,kmin,kmax = numpy.asarray(self.get_index_range_inclusive(index_of_grid = index_of_grid)) - imin -= 1 - imax += 1 - if jmin != jmax: - jmin -= 1 - jmax += 1 - if kmin != kmax: - kmin -= 1 - kmax += 1 - return imin,imax, jmin, jmax, kmin, kmax - - @legacy_function - def set_potential(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - - #function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) - - function.addParameter('potential', dtype='d', direction=function.IN) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def get_potential(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - #function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) - function.addParameter('potential', dtype='d', direction=function.OUT) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def get_interpolated_gravitational_potential(): - """ - Return the interpolated gravitational potential, can - only interpolate over one axis at the time and - only at half way points between the grid points. - **For debugging purposes only** - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - for x in ['x','y','z']: - function.addParameter(x, dtype='d', direction=function.IN) - function.addParameter('potential', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - def get_isocsound(self): - return self.par_getd("problem", "iso_csound"), 0 - - def get_gamma(self): - return self.par_getd("problem", "gamma"), 0 - - def get_four_pi_G(self): - return self.par_getd("problem", "four_pi_G"), 0 - - def get_courant_friedrichs_lewy_number(self): - return self.par_getd("time", "cour_no"), 0 - - def get_grav_mean_rho(self): - return self.par_getd("problem", "grav_mean_rho"), 0 - - @legacy_function - def get_grid_gravitational_potential(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) - for x in ['phi']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - - return function - - - - - @legacy_function - def get_grid_acceleration(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) - for x in ['fx', 'fy', 'fz']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - - return function - - @legacy_function - def set_grid_acceleration(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - for x in ['fx', 'fy', 'fz']: - function.addParameter(x, dtype='d', direction=function.IN) - function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - - return function - - @legacy_function - def get_grid_gravitational_acceleration(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) - for x in ['fx', 'fy', 'fz']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - - return function - - @legacy_function - def get_gravity_at_point(): - """ - Determine the gravitational force on a given point - """ - function = LegacyFunctionSpecification() - function.addParameter('eps', dtype='float64', direction=function.IN, - description = "The smoothing parameter") - function.addParameter('x', dtype='float64', direction=function.IN, - description = "The position vector of the point") - function.addParameter('y', dtype='float64', direction=function.IN, - description = "The position vector of the point") - function.addParameter('z', dtype='float64', direction=function.IN, - description = "The position vector of the point") - function.addParameter('forcex', dtype='float64', direction=function.OUT, - description = "Force created by the particles in the code at the given position") - function.addParameter('forcey', dtype='float64', direction=function.OUT, - description = "Force created by the particles in the code at the given position") - function.addParameter('forcez', dtype='float64', direction=function.OUT, - description = "Force created by the particles in the code at the given position") - function.result_type = 'int32' - function.can_handle_array = True - function.result_doc = """ - 0 - OK - Force could be calculated - -1 - ERROR - No force calculation supported - """ - return function - - - @legacy_function - def get_potential_at_point(): - """ - Determine the potential on a given point - """ - function = LegacyFunctionSpecification() - function.addParameter('eps', dtype='float64', direction=function.IN, - description = "The smoothing factor, may be ignored by the code") - function.addParameter('x', dtype='float64', direction=function.IN) - function.addParameter('y', dtype='float64', direction=function.IN) - function.addParameter('z', dtype='float64', direction=function.IN) - function.addParameter('phi', dtype='float64', direction=function.OUT) - function.can_handle_array = True - function.result_type = 'int32' - return function - - - @legacy_function - def get_grid_scalar(): - """ - Retreives advected scalar property - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) - for x in ['scalar',]: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def set_grid_scalar(): - """ - Stores advected scalar property - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - for x in ['scalar',]: - function.addParameter(x, dtype='d', direction=function.IN) - function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - return function - - - - @legacy_function - def get_boundary_index_range_inclusive(): - function = LegacyFunctionSpecification() - function.addParameter('index_of_boundary', dtype='i', direction=function.IN) - function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) - function.addParameter('minx', dtype='i', direction=function.OUT) - function.addParameter('maxx', dtype='i', direction=function.OUT) - function.addParameter('miny', dtype='i', direction=function.OUT) - function.addParameter('maxy', dtype='i', direction=function.OUT) - function.addParameter('minz', dtype='i', direction=function.OUT) - function.addParameter('maxz', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_boundary_state(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - for x in ['rho','rhovx','rhovy','rhovz','en']: - function.addParameter(x, dtype='d', direction=function.IN) - function.addParameter('index_of_boundary', dtype='i', direction=function.IN, default = 1) - function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def get_boundary_state(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - function.addParameter('index_of_boundary', dtype='i', direction=function.IN, default = 1) - function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) - for x in ['rho','rhovx','rhovy','rhovz','en']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - return function - - - @legacy_function - def get_boundary_position_of_index(): - """ - Retrieves the x, y and z position of the center of - the cell with coordinates i, j, k in the grid specified - by the index_of_grid - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - function.addParameter('index_of_boundary', dtype='i', direction=function.IN, default = 1) - function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) - for x in ['x','y','z']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def get_hydro_state_at_point(): - function = LegacyFunctionSpecification() - for x in ['x','y','z']: - function.addParameter(x, dtype='d', direction=function.IN) - for x in ['vx','vy','vz']: - function.addParameter(x, dtype='d', direction=function.IN, default = 0) - for x in ['rho','rhovx','rhovy','rhovz','rhoe']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('npoints', dtype='i', direction=function.LENGTH) - function.result_type = 'i' - function.must_handle_array = True - return function - - @legacy_function - def get_hydro_state_for_cell(): - function = LegacyFunctionSpecification() - for x in ['x','y','z']: - function.addParameter(x, dtype='d', direction=function.IN) - for x in ['dx','dy','dz']: - function.addParameter(x, dtype='d', direction=function.IN) - for x in ['vx','vy','vz']: - function.addParameter(x, dtype='d', direction=function.IN, default = 0) - for x in ['rho','rhovx','rhovy','rhovz','rhoe']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('npoints', dtype='i', direction=function.LENGTH) - function.result_type = 'i' - function.must_handle_array = True - return function - -class Athena(CommonCode): - - def __init__(self, unit_converter = None, **options): - self.unit_converter = unit_converter - - self.stopping_conditions = StoppingConditions(self) - CommonCode.__init__(self, AthenaInterface(**options), **options) - - def define_converter(self, handler): - if self.unit_converter is None: - return - - handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) - - def define_properties(self, handler): - handler.add_property('get_time', public_name = "model_time") - - def define_methods(self, handler): - handler.add_method( - 'evolve_model', - (time,), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'get_position_of_index', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (length, length, length, handler.ERROR_CODE,) - ) - - density = mass / (length**3) - momentum = mass / (time * (length**2)) - energy = mass / ((time**2) * length) - potential_energy = length ** 2 / time ** 2 - magnetic_field = mass / current / time ** 2 - - handler.add_method( - 'set_grid_state', - (handler.INDEX, handler.INDEX, handler.INDEX, - density, momentum, momentum, momentum, energy, - handler.INDEX), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'set_grid_magnetic_field', - (handler.INDEX, handler.INDEX, handler.INDEX, - magnetic_field, magnetic_field, magnetic_field, - handler.INDEX), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_grid_state', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (density, momentum, momentum, momentum, energy, - handler.ERROR_CODE,) - ) - handler.add_method( - 'set_grid_energy_density', - (handler.INDEX, handler.INDEX, handler.INDEX, - energy, handler.INDEX), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'get_grid_energy_density', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - ( energy, - handler.ERROR_CODE,) - ) - handler.add_method( - 'set_grid_density', - (handler.INDEX, handler.INDEX, handler.INDEX, - density, handler.INDEX), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'get_grid_density', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (density, - handler.ERROR_CODE,) - ) - handler.add_method( - 'set_grid_scalar', - (handler.INDEX, handler.INDEX, handler.INDEX, - handler.NO_UNIT, handler.INDEX), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'get_grid_scalar', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (handler.NO_UNIT, - handler.ERROR_CODE,) - ) - handler.add_method( - 'set_grid_momentum_density', - (handler.INDEX, handler.INDEX, handler.INDEX, - momentum, momentum, momentum, handler.INDEX), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'get_grid_momentum_density', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - ( momentum, momentum, momentum, - handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_grid_magnetic_field', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - ( magnetic_field, magnetic_field, magnetic_field, - handler.ERROR_CODE,) - ) - - handler.add_method( - 'set_potential', - (handler.INDEX, handler.INDEX, handler.INDEX, - potential_energy), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'get_potential', - (handler.INDEX, handler.INDEX, handler.INDEX,), - (potential_energy, - handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_grid_gravitational_potential', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX,), - (potential_energy, - handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_interpolated_gravitational_potential', - (length, length, length), - (potential_energy, - handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_grid_gravitational_acceleration', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX,), - (acceleration,acceleration,acceleration, - handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_grid_acceleration', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX,), - (acceleration,acceleration,acceleration, - handler.ERROR_CODE,) - ) - handler.add_method( - 'set_grid_acceleration', - (handler.INDEX, handler.INDEX, handler.INDEX, - acceleration,acceleration,acceleration, handler.INDEX), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_gravity_at_point', - (length, length, length, length), - (acceleration, acceleration, acceleration, handler.ERROR_CODE) - ) - - handler.add_method( - 'get_potential_at_point', - (length, length, length, length), - (potential, handler.ERROR_CODE) - ) - - handler.add_method( - "get_isocsound", - (), - (length / time, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_isocsound", - (length / time, ), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_timestep", - (), - (time, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_timestep", - (time, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_gamma", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_gamma", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_courant_friedrichs_lewy_number", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_courant_friedrichs_lewy_number", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_time', - (), - (time, handler.ERROR_CODE,) - ) - - handler.add_method( - 'set_four_pi_G', - ( length**3 / (mass * time**2)), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'get_four_pi_G', - (), - ( (length**3) / (mass * (time**2)), handler.ERROR_CODE,) - ) - handler.add_method( - 'set_grav_mean_rho', - ( mass / length**3, ), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'get_grav_mean_rho', - (), - (mass / length**3, handler.ERROR_CODE,) - ) - - handler.add_method( - 'setup_mesh', - (handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, length, length, length,), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'set_boundary', - (handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT,), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'set_boundary_state', - (handler.INDEX, handler.INDEX, handler.INDEX, - density, momentum, momentum, momentum, energy, - handler.INDEX, handler.INDEX), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_boundary_state', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (density, momentum, momentum, momentum, energy, - handler.ERROR_CODE,) - ) - handler.add_method( - 'get_boundary_position_of_index', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (length, length, length, handler.ERROR_CODE,) - ) - handler.add_method( - 'get_boundary_index_range_inclusive', - (handler.INDEX, handler.INDEX), - (handler.NO_UNIT, handler.NO_UNIT,handler.NO_UNIT, handler.NO_UNIT,handler.NO_UNIT, handler.NO_UNIT, handler.ERROR_CODE,) - ) - handler.add_method( - 'get_hydro_state_at_point', - (generic_unit_system.length, generic_unit_system.length, generic_unit_system.length, - generic_unit_system.speed, generic_unit_system.speed, generic_unit_system.speed), - (generic_unit_system.density, generic_unit_system.momentum_density, generic_unit_system.momentum_density, - generic_unit_system.momentum_density, generic_unit_system.energy_density, handler.ERROR_CODE) - ) - handler.add_method( - 'get_hydro_state_for_cell', - (generic_unit_system.length, generic_unit_system.length, generic_unit_system.length, - generic_unit_system.length, generic_unit_system.length, generic_unit_system.length, - generic_unit_system.speed, generic_unit_system.speed, generic_unit_system.speed), - (generic_unit_system.density, generic_unit_system.momentum_density, generic_unit_system.momentum_density, - generic_unit_system.momentum_density, generic_unit_system.energy_density, handler.ERROR_CODE) - ) - - - - self.stopping_conditions.define_methods(handler) - - - def specify_grid(self, definition, index_of_grid = 1): - definition.set_grid_range('get_index_range_inclusive') - - definition.add_getter('get_position_of_index', names=('x','y','z')) - - definition.add_getter('get_grid_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) - definition.add_setter('set_grid_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) - - definition.add_getter('get_grid_density', names=('rho',)) - definition.add_setter('set_grid_density', names=('rho',)) - - if self.mode == self.MODE_SCALAR: - definition.add_getter('get_grid_scalar', names=('scalar',)) - definition.add_setter('set_grid_scalar', names=('scalar',)) - - definition.add_getter('get_grid_momentum_density', names=('rhovx','rhovy','rhovz')) - definition.add_setter('set_grid_momentum_density', names=('rhovx','rhovy','rhovz')) - definition.add_getter('get_grid_energy_density', names=('energy',)) - definition.add_setter('set_grid_energy_density', names=('energy',)) - - - definition.add_getter('get_grid_gravitational_potential', names=('gravitational_potential',)) - definition.add_getter('get_grid_gravitational_acceleration', names=('gravitational_acceleration_x','gravitational_acceleration_y','gravitational_acceleration_z',)) - - definition.add_getter('get_grid_acceleration', names=('ax','ay','az')) - definition.add_setter('set_grid_acceleration', names=('ax','ay','az')) - - definition.define_extra_keywords({'index_of_grid':index_of_grid}) - - - def specify_mangnetic_filed_grid(self, definition, index_of_grid = 1): - definition.set_grid_range('get_index_range_magnetic_field_inclusive') - - definition.add_getter('get_position_of_index', names=('x','y','z')) - - definition.add_getter('get_grid_magnetic_field', names=('B1i','B2i','B3i')) - definition.add_setter('set_grid_magnetic_field', names=('B1i','B2i','B3i')) - - definition.define_extra_keywords({'index_of_grid':index_of_grid}) - - - def specify_boundary_grid(self, definition, index_of_boundary, index_of_grid = 1): - definition.set_grid_range('get_boundary_index_range_inclusive') - - definition.add_getter('get_boundary_position_of_index', names=('x','y','z')) - - definition.add_getter('get_boundary_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) - definition.add_setter('set_boundary_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) - - definition.define_extra_keywords({'index_of_boundary': index_of_boundary, 'index_of_grid':index_of_grid}) - - - - def sepecify_extended_grid(self, definition, index_of_grid = 1): - self.specify_grid(definition, index_of_grid = index_of_grid) - definition.set_grid_range('get_index_range_extended') - - - @property - def grid(self): - return self._create_new_grid(self.specify_grid, index_of_grid = 1) - - BOUNDARY_NAME_TO_INDEX = { - 'xbound1': 1, - 'xbound2': 2, - 'ybound1': 3, - 'ybound2': 4, - 'zbound1': 5, - 'zbound2': 6, - } - def get_boundary_grid(self, name): - if not name in self.BOUNDARY_NAME_TO_INDEX: - raise Exception("boundary name is not known {0}".format(name)) - index_of_boundary = self.BOUNDARY_NAME_TO_INDEX[name] - - return self._create_new_grid(self.specify_boundary_grid, index_of_boundary = index_of_boundary, index_of_grid = 1) - - - def get_extended_grid(self, index_of_grid = 1): - return self._create_new_grid(self.sepecify_extended_grid, index_of_grid = index_of_grid) - - def get_index_range_extended(self, index_of_grid = 1): - i0,i1, j0,j1, k0,k1 = self.get_index_range_inclusive(index_of_grid = index_of_grid) - dj = 2 if j1 > j0 else 0 - dk = 2 if k1 > k0 else 0 - return i0-2, i1+2, j0-dj, j0+dj, k0-dk, k1+dk - - def itergrids(self): - n = self.get_number_of_grids() - - for x in range(1,n+1): - yield self._create_new_grid(self.specify_grid, index_of_grid = x) - - def iter_magnetic_field_grids(self): - n = self.get_number_of_grids() - - for x in range(1,n+1): - yield self._create_new_grid(self.specify_mangnetic_filed_grid, index_of_grid = x) - - - def iter_hydro_and_mhd_grids(self): - n = self.get_number_of_grids() - - for x in range(1,n+1): - yield ( - self._create_new_grid(self.specify_grid, index_of_grid = x), - self._create_new_grid(self.specify_mangnetic_filed_grid, index_of_grid = x), - ) - - def define_particle_sets(self, handler): - handler.define_grid('potential_grid') - handler.set_grid_range('potential_grid', 'get_index_range_for_potential') - handler.add_getter('potential_grid', 'get_position_of_index', names=('x','y','z')) - handler.add_getter('potential_grid', 'get_potential', names=('potential',)) - handler.add_setter('potential_grid', 'set_potential', names=('potential', )) - handler.define_extra_keywords('potential_grid', {'index_of_grid':1}) - - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_isocsound", - "set_isocsound", - "isothermal_sound_speed", - "isothermal sound speed, only used for isothermal EOS", - default_value = 0.0 | length / time, - must_set_before_get = True - ) - - handler.add_method_parameter( - "get_gamma", - "set_gamma", - "gamma", - "ratio of specific heats used in equation of state", - default_value = 1.6666666666666667, - must_set_before_get = True - ) - - handler.add_method_parameter( - "get_four_pi_G", - "set_four_pi_G", - "four_pi_G", - "value of four times pi time G", - default_value = 4 * numpy.pi * (1| (length**3) / (mass * (time**2))), - must_set_before_get = True - ) - - handler.add_method_parameter( - "get_grav_mean_rho", - "set_grav_mean_rho", - "gravity_mean_rho", - "define the mean density in the field for self gravity calulations", - default_value = 0 | mass / length ** 3, - must_set_before_get = True - ) - - - handler.add_method_parameter( - "get_courant_friedrichs_lewy_number", - "set_courant_friedrichs_lewy_number", - "courant_number", - "CFL number", - default_value = 0.3, - must_set_before_get = True - ) - - - handler.add_method_parameter( - "get_evolve_to_exact_time", - "set_evolve_to_exact_time", - "must_evolve_to_exact_time", - "End the evolve model at the exact specified time", - default_value = True - ) - - handler.add_caching_parameter( - "setup_mesh", - "nmeshx", - "nx", - "number of cells in the x direction", - 10, - ) - - - handler.add_caching_parameter( - "setup_mesh", - "nmeshy", - "ny", - "number of cells in the y direction", - 10, - ) - - - handler.add_caching_parameter( - "setup_mesh", - "nmeshz", - "nz", - "number of cells in the z direction", - 10, - ) - - handler.add_caching_parameter( - "setup_mesh", - "xlength", - "length_x", - "length of model in the x direction", - 10 | length, - ) - handler.add_caching_parameter( - "setup_mesh", - "ylength", - "length_y", - "length of model in the x direction", - 10 | length, - ) - handler.add_caching_parameter( - "setup_mesh", - "zlength", - "length_z", - "length of model in the z direction", - 10 | length, - ) - - handler.add_vector_parameter( - "mesh_size", - "number of cells in the x, y and z directions", - ("nx", "ny", "nz") - ) - - handler.add_vector_parameter( - "mesh_length", - "length of the model in the x, y and z directions", - ("length_x", "length_y", "length_z") - ) - - handler.add_caching_parameter( - "set_parallel_decomposition", - "nx", - "nproc_x", - "number of processors for the x direction", - 0, - ) - handler.add_caching_parameter( - "set_parallel_decomposition", - "ny", - "nproc_y", - "number of processors for the y direction", - 0, - ) - handler.add_caching_parameter( - "set_parallel_decomposition", - "nz", - "nproc_z", - "number of processors for the z direction", - 0, - ) - - handler.add_vector_parameter( - "parallel_decomposition", - "number of processors for each dimensions", - ("nproc_x", "nproc_y", "nproc_z") - ) - - handler.add_caching_parameter( - "set_boundary", - "xbound1", - "xbound1", - "boundary conditions on first (inner, left) X boundary", - "reflective", - ) - - - handler.add_caching_parameter( - "set_boundary", - "xbound2", - "xbound2", - "boundary conditions on second (outer, right) X boundary", - "reflective", - ) - - handler.add_caching_parameter( - "set_boundary", - "ybound1", - "ybound1", - "boundary conditions on first (inner, front) Y boundary", - "reflective", - ) - - - handler.add_caching_parameter( - "set_boundary", - "ybound2", - "ybound2", - "boundary conditions on second (outer, back) Y boundary", - "reflective", - ) - - handler.add_caching_parameter( - "set_boundary", - "zbound1", - "zbound1", - "boundary conditions on first (inner, bottom) Z boundary", - "reflective", - ) - - - handler.add_caching_parameter( - "set_boundary", - "zbound2", - "zbound2", - "boundary conditions on second (outer, top) Z boundary", - "reflective", - ) - - - - handler.add_vector_parameter( - "x_boundary_conditions", - "boundary conditions for the X directorion", - ("xbound1", "xbound2") - ) - - - handler.add_vector_parameter( - "y_boundary_conditions", - "boundary conditions for the Y directorion", - ("ybound1", "ybound2") - ) - - - handler.add_vector_parameter( - "z_boundary_conditions", - "boundary conditions for the Z directorion", - ("zbound1", "zbound2") - ) - - self.stopping_conditions.define_parameters(handler) - - def commit_parameters(self): - self.parameters.send_not_set_parameters_to_code() - self.parameters.send_cached_parameters_to_code() - self.overridden().commit_parameters() - - def define_state(self, handler): - CommonCode.define_state(self, handler) - #handler.add_transition('END', 'INITIALIZED', 'initialize_code', False) - - handler.add_transition('INITIALIZED','EDIT','commit_parameters') - handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False) - handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False) - handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters') - handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') - handler.add_method('RUN', 'before_get_parameter') - handler.add_method('EDIT', 'before_get_parameter') - - handler.add_transition('EDIT', 'RUN', 'initialize_grid') - handler.add_method('RUN', 'evolve_model') - handler.add_method('RUN', 'get_hydro_state_at_point') - - for state in ['EDIT', 'RUN']: - for methodname in [ - 'get_grid_state', - 'set_grid_state', - 'get_potential', - 'set_potential', - 'get_grid_density', - 'set_grid_density', - 'set_grid_energy_density', - 'get_grid_energy_density', - 'get_grid_momentum_density', - 'set_grid_momentum_density', - 'get_position_of_index', - 'get_index_of_position', - 'set_grid_scalar', - 'get_grid_scalar', - 'get_number_of_grids', - 'get_index_range_inclusive', - 'get_boundary_state', - 'set_boundary_state', - 'get_boundary_position_if_index', - 'get_boundary_index_range_inclusive' - ]: - handler.add_method(state, methodname) - - self.stopping_conditions.define_state(handler) +AthenaInterface = load_code("athena", "AthenaInterface") +Athena = load_code("athena", "Athena") +Athena = Athena diff --git a/src/amuse/community/athena/interface_3.1.c b/src/amuse/community/athena/interface_3.1.c deleted file mode 100644 index bc4d6a5ebe..0000000000 --- a/src/amuse/community/athena/interface_3.1.c +++ /dev/null @@ -1,817 +0,0 @@ -#define MAIN_C - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "defs.h" -#include "athena.h" -#include "globals.h" -#include "prototypes.h" - -#ifdef MPI_PARALLEL -#include -#endif - - -#include - -static Grid level0_Grid; /* only level0 Grid and Domain in this version */ -static Domain level0_Domain; -static VGFun_t Integrate; -static int is_dt_set_by_script=0; -static int is_restart = 0; -static int has_external_gravitational_potential=0; - -static inline void ijk_pos( const Grid *pG, - const Real x1, const Real x2, const Real x3, - Real * i, Real * j,Real * k -) -{ - *i = ((x1 - pG->x1_0)/pG->dx1) - 0.5 - pG->idisp; - *j = ((x2 - pG->x2_0)/pG->dx2) - 0.5 - pG->jdisp; - if(pG->dx3 == 0) { - *k = 0.0; - } else { - *k = ((x3 - pG->x3_0)/pG->dx3) - 0.5 - pG->kdisp; - } -} - -static Real ***Potentials=NULL; - -static Real grav_pot(const Real x1, const Real x2, const Real x3) -{ - Real i, j, k; - ijk_pos(&level0_Grid, x1, x2, x3, &i, &j, &k); - - int ii, jj, kk; - - ii = i; - jj = j; - kk = k; - - Real potential0 = Potentials[kk][jj][ii]; - Real potential1 = potential0; - if(ii < i) { - potential1 = Potentials[kk][jj][ii + 1]; - } else if(jj < j) { - potential1 = Potentials[kk][jj + 1][ii]; - } else if(kk < k) { - potential1 = Potentials[kk + 1][jj][ii]; - } else { - potential1 = potential0; - } - return (potential0 + potential1) / 2.0; -} - - -int cleanup_code(){ - return 0; -} - -int recommit_parameters(){ - return 0; -} - -int set_has_external_gravitational_potential(int value) { - has_external_gravitational_potential = value; - return 0; -} - -int get_has_external_gravitational_potential(int * value) { - *value = has_external_gravitational_potential; - return 0; -} - -int initialize_code(){ -#ifdef MPI_PARALLEL -/* Get my task id (rank in MPI) */ - if(MPI_SUCCESS != MPI_Comm_rank(MPI_COMM_WORLD,&(level0_Grid.my_id))) - ath_error("Error on calling MPI_Comm_rank\n"); - -/* Get the number of processes */ - if(MPI_SUCCESS != MPI_Comm_size(MPI_COMM_WORLD,&(level0_Grid.nproc))) - ath_error("Error on calling MPI_Comm_size\n"); -#else - level0_Grid.my_id = 0; - level0_Grid.nproc = 1; -#endif - - par_open("/dev/null"); /* to trick athena into thinking it has opened a parameter file, will not work on windows */ - is_restart = 0; - show_config_par(); /* Add the configure block to the parameter database */ - - - return 0; -} - -int get_timestep(double * value) { - *value = level0_Grid.dt; - return 0; -} - -int set_timestep(double value) { - level0_Grid.dt = value; - is_dt_set_by_script = 1; - return 0; -} - -int get_nghost(int * value) { - *value = nghost; - return 0; -} - -int commit_parameters(){ - int out_level = par_geti_def("log","out_level",0); - int err_level = par_geti_def("log","err_level",0); - - ath_log_set_level(out_level, err_level); - - if(has_external_gravitational_potential) { - StaticGravPot = grav_pot; - } - - CourNo = par_getd("time","cour_no"); - -#ifdef ISOTHERMAL - Iso_csound = par_getd("problem","iso_csound"); - Iso_csound2 = Iso_csound*Iso_csound; -#else - Gamma = par_getd("problem","gamma"); - Gamma_1 = Gamma - 1.0; - Gamma_2 = Gamma - 2.0; -#endif - - - init_domain(&level0_Grid, &level0_Domain); - - init_grid(&level0_Grid, &level0_Domain); - - - if ((Potentials = (Real***)calloc_3d_array( - level0_Grid.Nx3 + 2 * nghost, - level0_Grid.Nx2 + 2 * nghost, - level0_Grid.Nx1 + 2 * nghost, - sizeof(Real))) == NULL) - { - return -1; - } - - - return 0; -} - -int initialize_grid() -{ - - set_bvals_init(&level0_Grid, &level0_Domain); - - set_bvals(&level0_Grid, 0); - - if(!is_dt_set_by_script) { - new_dt(&level0_Grid); - } - lr_states_init(level0_Grid.Nx1,level0_Grid.Nx2,level0_Grid.Nx3); - - Integrate = integrate_init(level0_Grid.Nx1,level0_Grid.Nx2,level0_Grid.Nx3); - -#ifdef SELF_GRAVITY - SelfGrav = selfg_init(&level0_Grid, &level0_Domain); - if(is_restart == 0) { - (*SelfGrav)(&level0_Grid, &level0_Domain); - } - /* Only bvals for Phi set when last argument of set_bvals = 1 */ - set_bvals(&level0_Grid, 1); -#endif - - return 0; -} - -int get_position_of_index(int i, int j, int k, double * x, double * y, - double * z){ - - if (level0_Domain.grid_block == NULL) { - return -1; - } - - if (i < (level0_Domain.ixs - nghost) || i > (level0_Domain.ixe + nghost)) { - return -1; - } - if (j < (level0_Domain.jxs - nghost) || j > (level0_Domain.jxe + nghost)) { - return -1; - } - if (k < (level0_Domain.kxs - nghost) || k > (level0_Domain.kxe + nghost)) { - return -1; - } - - - cc_pos( - &level0_Grid, - i + level0_Grid.is, - j + level0_Grid.js, - k + level0_Grid.ks, - x,y,z - ); - - return 0; -} - -int get_interpolated_gravitational_potential(double x, double y, double z, double * potential) { - - if (level0_Domain.grid_block == NULL) { - return -1; - } - - *potential = grav_pot(x,y,z); - - return 0; -} - -int get_index_of_position(double x, double y, - double z, double *i , double * j, double * k){ - - if (level0_Domain.grid_block == NULL) { - return -1; - } - - ijk_pos(&level0_Grid,x,y,z,i,j,k); - *i -= level0_Grid.is; - *j -= level0_Grid.js; - *k -= level0_Grid.ks; - return 0; -} - -int test() { - return 1; -} - -int fill_grid_state( - int i, int j, int k, - double rho, double rhovx, double rhovy, double rhovz, - double en){ - - if (level0_Domain.grid_block == NULL) { - return -1; - } - if (i < level0_Domain.ixs || i > level0_Domain.ixe) { - return -1; - } - if (j < level0_Domain.jxs || j > level0_Domain.jxe) { - return -1; - } - if (k < level0_Domain.kxs || k > level0_Domain.kxe) { - return -1; - } - - - - level0_Grid.U[k][j][i].d = rho; - level0_Grid.U[k][j][i].M1 = rhovx; - level0_Grid.U[k][j][i].M2 = rhovy; - level0_Grid.U[k][j][i].M3 = rhovz; - level0_Grid.U[k][j][i].E = en; - - return 0; -} - -int get_grid_state_mpi( - int * i, int * j, int * k, - double * rho, - double * rhovx, double * rhovy, double * rhovz, - double * en, - int number_of_points) -{ - int imin = level0_Grid.is + level0_Grid.idisp; - int imax = level0_Grid.ie + level0_Grid.idisp; - int jmin = level0_Grid.js + level0_Grid.jdisp; - int jmax = level0_Grid.je + level0_Grid.jdisp; - int kmin = level0_Grid.ks + level0_Grid.kdisp; - int kmax = level0_Grid.ke + level0_Grid.kdisp; - int l=0; - int i0,j0,k0 = 0; - - for(l=0; l < number_of_points; l++) { - i0 = i[l]; - j0 = j[l]; - k0 = k[l]; - - if ( - (i0 >= imin && i0 <= imax) && - (j0 >= jmin && j0 <= jmax) && - (k0 >= kmin && k0 <= kmax) - ) { - i0 -= level0_Grid.idisp; - j0 -= level0_Grid.jdisp; - k0 -= level0_Grid.kdisp; - rho[l] = level0_Grid.U[k0][j0][i0].d; - rhovx[l] = level0_Grid.U[k0][j0][i0].M1; - rhovy[l] = level0_Grid.U[k0][j0][i0].M2; - rhovz[l] = level0_Grid.U[k0][j0][i0].M3; - en[l] = level0_Grid.U[k0][j0][i0].E; - } else { - rho[l] = rhovx[l] = rhovy[l]= rhovz[l] = en[l] = 0.0; - } - } - -#ifdef MPI_PARALLEL - if(level0_Grid.my_id) { - MPI_Reduce(rho, NULL, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(rhovx, NULL, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(rhovy, NULL, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(rhovz, NULL, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(en, NULL, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } else { - MPI_Reduce(MPI_IN_PLACE, rho, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(MPI_IN_PLACE, rhovx, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(MPI_IN_PLACE, rhovy, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(MPI_IN_PLACE, rhovz, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(MPI_IN_PLACE, en, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } -#endif - return 0; -} - - -int fill_grid_state_mpi( - int * i, int * j, int * k, - double * rho, - double * rhovx, double * rhovy, double * rhovz, - double * en, - int number_of_points) -{ - int imin = level0_Grid.is + level0_Grid.idisp; - int imax = level0_Grid.ie + level0_Grid.idisp; - int jmin = level0_Grid.js + level0_Grid.jdisp; - int jmax = level0_Grid.je + level0_Grid.jdisp; - int kmin = level0_Grid.ks + level0_Grid.kdisp; - int kmax = level0_Grid.ke + level0_Grid.kdisp; - int l=0; - int i0,j0,k0 = 0; - - for(l=0; l < number_of_points; l++) { - i0 = i[l]; - j0 = j[l]; - k0 = k[l]; - - if ( - (i0 >= imin && i0 <= imax) && - (j0 >= jmin && j0 <= jmax) && - (k0 >= kmin && k0 <= kmax) - ) { - i0 -= level0_Grid.idisp; - j0 -= level0_Grid.jdisp; - k0 -= level0_Grid.kdisp; - level0_Grid.U[k0][j0][i0].d = rho[l]; - level0_Grid.U[k0][j0][i0].M1 = rhovx[l]; - level0_Grid.U[k0][j0][i0].M2 = rhovy[l]; - level0_Grid.U[k0][j0][i0].M3 = rhovz[l]; - level0_Grid.U[k0][j0][i0].E = en[l]; - } - } - - return 0; -} - - - - -int get_potential( - int * i, int * j, int * k, - double * potential, - int number_of_points) -{ - - if (level0_Domain.grid_block == NULL) { - return -1; - } - if (Potentials == NULL) { - return -1; - } - - int imin = level0_Grid.is + level0_Grid.idisp - 1; - int imax = level0_Grid.ie + level0_Grid.idisp + 1; - int jmin = level0_Grid.js + level0_Grid.jdisp; - int jmax = level0_Grid.je + level0_Grid.jdisp; - if(jmin != jmax) { - jmin--; - jmax++; - } - int kmin = level0_Grid.ks + level0_Grid.kdisp; - int kmax = level0_Grid.ke + level0_Grid.kdisp; - if(kmin != kmax) { - kmin--; - kmax++; - } - int l=0; - int i0,j0,k0 = 0; - for(l=0; l < number_of_points; l++) { - i0 = i[l]; - j0 = j[l]; - k0 = k[l]; - - if ( - (i0 >= imin && i0 <= imax) && - (j0 >= jmin && j0 <= jmax) && - (k0 >= kmin && k0 <= kmax) - ) { - i0 -= level0_Grid.idisp; - j0 -= level0_Grid.jdisp; - k0 -= level0_Grid.kdisp; - - potential[l] = Potentials[k0][j0][i0]; - } else { - potential[l] = 0.0; - } - } - -#ifdef MPI_PARALLEL - if(level0_Grid.my_id) { - MPI_Reduce(potential, NULL, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } else { - MPI_Reduce(MPI_IN_PLACE, potential, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } -#endif - return 0; -} - - -int set_potential( - int * i, int * j, int * k, - double * potential, - int number_of_points) -{ - if (level0_Domain.grid_block == NULL) { - return -1; - } - if (Potentials == NULL) { - return -1; - } - - int imin = level0_Grid.is + level0_Grid.idisp - 1; - int imax = level0_Grid.ie + level0_Grid.idisp + 1; - int jmin = level0_Grid.js + level0_Grid.jdisp; - int jmax = level0_Grid.je + level0_Grid.jdisp; - if(jmin != jmax) { - jmin--; - jmax++; - } - int kmin = level0_Grid.ks + level0_Grid.kdisp - 1; - int kmax = level0_Grid.ke + level0_Grid.kdisp + 1; - if(kmin != kmax) { - kmin--; - kmax++; - } - int l=0; - int i0,j0,k0 = 0; - - for(l=0; l < number_of_points; l++) { - i0 = i[l]; - j0 = j[l]; - k0 = k[l]; - - if ( - (i0 >= imin && i0 <= imax) && - (j0 >= jmin && j0 <= jmax) && - (k0 >= kmin && k0 <= kmax) - ) { - i0 -= level0_Grid.idisp; - j0 -= level0_Grid.jdisp; - k0 -= level0_Grid.kdisp; - Potentials[k0][j0][i0] = potential[l]; - } - } - - return 0; -} - - -int get_grid_state( - int i, int j, int k, - double * rho, double * rhovx, double * rhovy, double * rhovz, - double * en){ - - if (level0_Domain.grid_block == NULL) { - return -1; - } - if (i < level0_Domain.ixs || i > level0_Domain.ixe) { - return -1; - } - if (j < level0_Domain.jxs || j > level0_Domain.jxe) { - return -1; - } - if (k < level0_Domain.kxs || k > level0_Domain.kxe) { - return -1; - } - - *rho = level0_Grid.U[k][j][i].d; - *rhovx = level0_Grid.U[k][j][i].M1; - *rhovy = level0_Grid.U[k][j][i].M2; - *rhovz = level0_Grid.U[k][j][i].M3; - *en = level0_Grid.U[k][j][i].E; - - return 0; -} - -int esys_roe_adb_hydro(int * index, double * u, double * v, double * w, - double * h, double * ev, double * rem0, double * rem1, double * rem2, - double * rem3, double * rem4, double * lem0, double * lem1, - double * lem2, double * lem3, double * lem4){ - return 0; -} - - -static Gas ***Soln=NULL; - -#include - -void _fill_grid_linearwave_1d(Grid *pGrid, Domain *pDomain, int wave_flag, double amp, double vflow, int wave_dir){ - int i=0,j=0,k=0; - int is,ie,js,je,ks,ke,n,m,nx1,nx2,nx3; - Real d0,p0,u0,v0,w0,h0; - Real x1,x2,x3,r,ev[NWAVE],rem[NWAVE][NWAVE],lem[NWAVE][NWAVE]; - Real x1max,x2max,lambda; -#ifdef MHD - Real bx0,by0,bz0,xfact,yfact; -#endif /* MHD */ - is = pGrid->is; ie = pGrid->ie; - js = pGrid->js; je = pGrid->je; - ks = pGrid->ks; ke = pGrid->ke; - nx1 = (ie-is)+1 + 2*nghost; - nx2 = (je-js)+1 + 2*nghost; - nx3 = (ke-ks)+1 + 2*nghost; - - - if ((Soln = (Gas***)calloc_3d_array(nx3,nx2,nx1,sizeof(Gas))) == NULL) - ath_error("[linear_wave1d]: Error allocating memory\n"); - -/* Get eigenmatrix, where the quantities u0 and bx0 are parallel to the - * wavevector, and v0,w0,by0,bz0 are perpendicular. Background state chosen - * carefully so wave speeds are well-separated: Va=1, Vf=2, Vs=0.5 */ - - d0 = 1.0; -#ifndef ISOTHERMAL - p0 = 1.0/Gamma; - u0 = vflow*sqrt(Gamma*p0/d0); -#else - u0 = vflow*Iso_csound; -#endif - v0 = 0.0; - w0 = 0.0; -#ifdef MHD - bx0 = 1.0; - by0 = sqrt(2.0); - bz0 = 0.5; - xfact = 0.0; - yfact = 1.0; -#endif - - for (n=0; n 0) - for (n=0; n 0) - for (n=0; n 0) - for (n=0; nU[k][j][i].d = Soln[k][j][i].d; -#ifndef ISOTHERMAL - pGrid->U[k][j][i].E = Soln[k][j][i].E; -#endif /* ISOTHERMAL */ - pGrid->U[k][j][i].M1 = Soln[k][j][i].M1; - pGrid->U[k][j][i].M2 = Soln[k][j][i].M2; - pGrid->U[k][j][i].M3 = Soln[k][j][i].M3; -#ifdef MHD - pGrid->U[k][j][i].B1c = Soln[k][j][i].B1c; - pGrid->U[k][j][i].B2c = Soln[k][j][i].B2c; - pGrid->U[k][j][i].B3c = Soln[k][j][i].B3c; - pGrid->B1i[k][j][i] = Soln[k][j][i].B1c; - pGrid->B2i[k][j][i] = Soln[k][j][i].B2c; - pGrid->B3i[k][j][i] = Soln[k][j][i].B3c; -#endif /* MHD */ -#if (NSCALARS > 0) - for (n=0; nU[k][j][i].s[n] = Soln[k][j][i].s[n]; -#endif - }}} -#ifdef MHD - if (pGrid->Nx1 > 1) { - for (k=ks; k<=ke; k++) { - for (j=js; j<=je; j++) { - pGrid->B1i[k][j][ie+1] = pGrid->B1i[k][j][ie]; - } - } - } - if (pGrid->Nx2 > 1) { - for (k=ks; k<=ke; k++) { - for (i=is; i<=ie; i++) { - pGrid->B2i[k][je+1][i] = pGrid->B2i[k][je][i]; - } - } - } - if (pGrid->Nx3 > 1) { - for (j=js; j<=je; j++) { - for (i=is; i<=ie; i++) { - pGrid->B3i[ke+1][j][i] = pGrid->B3i[ke][j][i]; - } - } - } -#endif /* MHD */ - -/* For self-gravitating problems, read 4\piG and compute mean density */ - -#ifdef SELF_GRAVITY - four_pi_G = par_getd("problem","four_pi_G"); - grav_mean_rho = d0; -#endif /* SELF_GRAVITY */ - - return; -} - - -int fill_grid_linearwave_1d(int wave_flag, double amp, double vflow, int wave_dir) -{ - - if (level0_Domain.grid_block == NULL) { - return -1; - } - if (level0_Grid.U == NULL) { - return -1; - } - _fill_grid_linearwave_1d(&level0_Grid, &level0_Domain, wave_flag, amp, vflow, wave_dir); - return 0; -} - -int get_time(double * value){ - *value = level0_Grid.time; -} - -int evolve(double tlim) { - - while (level0_Grid.time < tlim) { - if ((tlim-level0_Grid.time) < level0_Grid.dt) { - level0_Grid.dt = (tlim-level0_Grid.time); - } - - (*Integrate)(&level0_Grid); - - Userwork_in_loop(&level0_Grid, &level0_Domain); - - -#ifdef SELF_GRAVITY - (*SelfGrav)(&level0_Grid, &level0_Domain); - /* Only bvals for Phi set when last argument of set_bvals = 1 */ - set_bvals(&level0_Grid, 1); - selfg_flux_correction(&level0_Grid); -#endif - - - level0_Grid.nstep++; - level0_Grid.time += level0_Grid.dt; - new_dt(&level0_Grid); - set_bvals(&level0_Grid, 0); - } - -} - diff --git a/src/amuse/community/athena/interface_4.0.c b/src/amuse/community/athena/interface_4.0.c deleted file mode 100644 index 15bf98a4e1..0000000000 --- a/src/amuse/community/athena/interface_4.0.c +++ /dev/null @@ -1,1723 +0,0 @@ -#define MAIN_C - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "defs.h" -#include "athena.h" -#include "globals.h" -#include "prototypes.h" - -#ifdef MPI_PARALLEL -#include -#endif - -#include - -//AMUSE STOPPING CONDITIONS SUPPORT -#include -#include - -static MeshS mesh; -static VDFun_t Integrate; -static int is_dt_set_by_script=0; -static int is_restart = 0; -static int has_external_gravitational_potential=0; -static int mpi_comm_size_interface = 0; -static Real last_dt_above_zero = 0.0; - -#ifdef SELF_GRAVITY - VDFun_t SelfGrav; /* function pointer to self-gravity, set at runtime */ -#endif - - -static inline void ijk_pos( - const GridS *pG, - const Real x1, const Real x2, const Real x3, - Real * i, Real * j, Real * k -) -{ - if(x1 < pG->MinX[0] || x1 > pG->MaxX[0]) - { - *i = *j = *k = 0.0; - return; - } - if(x2 < pG->MinX[1] || x2 > pG->MaxX[1]) - { - *i = *j = *k = 0.0; - return; - } - if(x3 < pG->MinX[2] || x3 > pG->MaxX[2]) - { - *i = *j = *k = 0.0; - return; - } - - if(pG->dx1 == 0) { - *i = 0; - } else { - *i = ((x1 - pG->MinX[0])/pG->dx1) - 0.5 + pG->Disp[0]; - //fprintf(stderr, "index of pos (i) %d\n", i); - modf(round(*i), i); - } - if(pG->dx2 == 0) { - *j = 0; - } else { - *j = ((x2 - pG->MinX[1])/pG->dx2) - 0.5 + pG->Disp[1]; - modf(round(*j), j); - - } - - if(pG->dx3 == 0) { - *k = 0.0; - } else { - *k = ((x3 - pG->MinX[2])/pG->dx3) - 0.5 + pG->Disp[2]; - modf(round(*k), k); - } -} - -static DomainS * get_domain_structure_with_index(int index_of_grid) -{ - DomainS * dom = 0; - int ii = 0, level = 0; - for(level = 0; level < mesh.NLevels; level++) - { - for(ii = 0; ii < mesh.DomainsPerLevel[level]; ii++) - { - dom = (DomainS*)&(mesh.Domain[level][ii]); - //printf("get_position_of_index: %d, %d, %d\n", level, dom->InputBlock, domain); - if(dom->InputBlock == index_of_grid) - { - break; - } - } - } - return dom; -} - -/* - * determine i,j,k for x1, x2, x3 - * x1 will be between i and i+1 - * x2 will be between j and j+1 - * x3 will be between k and k+1 - */ - -static inline void ijk_pos_dom( - const Real x1, const Real x2, const Real x3, - Real * i, Real * j, Real * k, - Real * dx, Real * dy, Real * dz -) -{ - DomainS * domain = &mesh.Domain[0][0]; - - if(domain->dx[0] == 0) { - *i = 0; - *dx = 0; - } else { - *i = ((x1 - domain->MinX[0])/domain->dx[0]) - 0.5 + nghost; - *dx = modf(*i, i); - } - if(domain->dx[1] == 0) { - *j = 0; - *dy = 0.0; - - } else { - *j = ((x2 - domain->MinX[1])/domain->dx[1]) - 0.5 + nghost; - *dy = modf(*j, j); - } - - if(domain->dx[2] == 0) { - *k = 0.0; - *dz = 0; - } else { - *k = ((x3 - domain->MinX[2])/domain->dx[2]) - 0.5 + nghost; - - *dz = modf(*k, k); - } -} - -static Real ***Potentials=NULL; - -static Real grav_pot(const Real x1, const Real x2, const Real x3) -{ - Real i, j, k; - Real dx, dy, dz; - ijk_pos_dom(x1,x2,x3, &i, &j, &k, &dx, &dy, &dz); - int ii, jj, kk; - ii = i; - jj = j; - kk = k; - - - Real potential000 = Potentials[kk][jj][ii]; - - Real potential001 = potential000; - Real potential100 = potential000; - Real potential101 = potential000; - Real potential010 = potential000; - Real potential011 = potential000; - Real potential110 = potential000; - Real potential111 = potential000; - - if(dx > 0) potential001 = Potentials[kk][jj][ii+1]; - if(dz > 0) potential100 = Potentials[kk+1][jj][ii]; - if(dz > 0 && dx > 0) potential101 = Potentials[kk+1][jj][ii+1]; - if(dy > 0) { - potential010 = Potentials[kk][jj+1][ii]; - if(dx > 0) potential011 = Potentials[kk][jj+1][ii+1]; - if(dz > 0) potential110 = Potentials[kk+1][jj+1][ii]; - if(dz > 0 && dx > 0) potential111 = Potentials[kk+1][jj+1][ii+1]; - } - - Real potential = - (potential000 * (1 - dz) * (1 - dy) * (1 - dx)) + - (potential100 * dz * (1 - dy) * (1 - dx)) + - (potential010 * (1 - dz) * dy * (1 - dz)) + - (potential001 * (1 - dz) * (1 - dy) * dx) + - (potential101 * dz * (1 - dy) * dx) + - (potential011 * (1 - dz) * dy * dx) + - (potential110 * dz * dy * (1 - dx)) + - (potential111 * dz * dy * dx ); - - - return potential; -} - - -int cleanup_code(){ - return 0; -} - -int recommit_parameters(){ - return 0; -} - -int set_has_external_gravitational_potential(int value) { - has_external_gravitational_potential = value; - return 0; -} - -int get_has_external_gravitational_potential(int * value) { - *value = has_external_gravitational_potential; - return 0; -} - - - -int get_number_of_grids(int * value) { - DomainS * dom = 0; - int ii = 0, level = 0; - int result = -1; - for(level = 0; level < mesh.NLevels; level++) - { - for(ii = 0; ii < mesh.DomainsPerLevel[level]; ii++) - { - dom = (DomainS*)&(mesh.Domain[level][ii]); - if(dom->InputBlock > result) - { - result = dom->InputBlock; - } - } - } - *value = result; - return 0; -} - - -int initialize_code(){ - -#ifdef SELF_GRAVITY - grav_mean_rho = 1.0; - four_pi_G = -1.0; -#endif - last_dt_above_zero = 0.0; - - par_open("/dev/null"); /* to trick athena into thinking it has opened a parameter file, will not work on windows */ - - par_sets("job","problem_id", "amuse", "all amuse runs"); - is_restart = 0; - show_config_par(); /* Add the configure block to the parameter database */ - - - // AMUSE STOPPING CONDITIONS SUPPORT - set_support_for_condition(NUMBER_OF_STEPS_DETECTION); - set_support_for_condition(TIMEOUT_DETECTION); - -#ifdef MPI_PARALLEL - /* Get my task id (rank in MPI) */ - if(MPI_SUCCESS != MPI_Comm_rank(MPI_COMM_WORLD,&myID_Comm_world)) - { - ath_error("Error on calling MPI_Comm_rank\n"); - } - if(MPI_SUCCESS != MPI_Comm_size(MPI_COMM_WORLD,&(mpi_comm_size_interface))) - { - ath_error("Error on calling mpi_comm_size_interface\n"); - } -#else - myID_Comm_world = 0; - mpi_comm_size_interface = 0; -#endif - return 0; -} - -int get_timestep(double * value) { - *value = mesh.dt; - return 0; -} - -int set_timestep(double value) { - mesh.dt = value; - is_dt_set_by_script = 1; - return 0; -} - -int get_nghost(int * value) { - *value = nghost; - return 0; -} - -int commit_parameters(){ - - int out_level = par_geti_def("log","out_level",0); - int err_level = par_geti_def("log","err_level",0); - - ath_log_set_level(out_level, err_level); -/* - if(has_external_gravitational_potential) { - StaticGravPot = grav_pot; - } -*/ - CourNo = par_getd("time","cour_no"); - -#ifdef SELF_GRAVITY - four_pi_G = par_getd("problem","four_pi_G"); - grav_mean_rho = par_getd("problem","grav_mean_rho"); -#endif - -#ifdef ISOTHERMAL - Iso_csound = par_getd("problem","iso_csound"); - Iso_csound2 = Iso_csound*Iso_csound; -#else - Gamma = par_getd("problem","gamma"); - Gamma_1 = Gamma - 1.0; - Gamma_2 = Gamma - 2.0; -#endif - - if(has_external_gravitational_potential) { - StaticGravPot = grav_pot; - } - - init_mesh(&mesh); - init_grid(&mesh); - - if ((Potentials = (Real***)calloc_3d_array( - mesh.Domain[0][0].Nx[2] + 2 + (2 * nghost), - mesh.Domain[0][0].Nx[1] + 2 + (2 * nghost), - mesh.Domain[0][0].Nx[0] + 2 + (2 * nghost), - sizeof(Real))) == NULL) - { - return -1; - } - - - return 0; -} - -int initialize_grid() -{ - - int nl, nd; -/* restrict initial solution so grid hierarchy is consistent */ -#ifdef STATIC_MESH_REFINEMENT - SMR_init(&mesh); - RestrictCorrect(&mesh); -#endif - - bvals_mhd_init(&mesh); - -#ifdef SELF_GRAVITY - bvals_grav_init(&mesh); -#endif -#if defined(SHEARING_BOX) || (defined(FARGO) && defined(CYLINDRICAL)) - bvals_shear_init(&mesh); -#endif -#ifdef PARTICLES - bvals_particle_init(&mesh); -#endif - - - for (nl=0; nl<(mesh.NLevels); nl++){ - for (nd=0; nd<(mesh.DomainsPerLevel[nl]); nd++){ - if (mesh.Domain[nl][nd].Grid != NULL){ - bvals_mhd(&(mesh.Domain[nl][nd])); -#ifdef PARTICLES - bvals_particle(&(Mesh.Domain[nl][nd])); -#ifdef FEEDBACK - exchange_feedback_init(&(Mesh.Domain[nl][nd])); -#endif -#endif - } - } - } - -#ifdef STATIC_MESH_REFINEMENT - Prolongate(&mesh); -#endif - - if(!is_dt_set_by_script) { - par_setd("time","tlim", "%f", 100.0, "-"); - new_dt(&mesh); - } - - lr_states_init(&mesh); - - Integrate = integrate_init(&mesh); - -#ifdef SELF_GRAVITY - SelfGrav = selfg_init(&mesh); - for (nl=0; nl<(mesh.NLevels); nl++){ - for (nd=0; nd<(mesh.DomainsPerLevel[nl]); nd++){ - if(mesh.Domain[nl][nd].Grid != NULL){ - (*SelfGrav)(&(mesh.Domain[nl][nd])); - bvals_grav(&(mesh.Domain[nl][nd])); - } - } - } -#endif -#if defined(RESISTIVITY) || defined(VISCOSITY) || defined(THERMAL_CONDUCTION) - integrate_diff_init(&mesh); -#endif - return 0; -} - -static inline int is_on_grid(GridS * grid, int i0, int j0, int k0) -{ - if (grid->Nx[0] > 1 && (i0 < (grid->Disp[0]) || i0 >= (grid->Disp[0] + grid->Nx[0]))) - { - return 0; - } - else if (grid->Nx[1] > 1 && (j0 < (grid->Disp[1]) || j0 >= (grid->Disp[1] + grid->Nx[1]))) - { - return 0; - } - else if (grid->Nx[2] > 1 && (k0 < (grid->Disp[2]) || k0 >= (grid->Disp[2] + grid->Nx[2]))) - { - return 0; - } - else - { - return 1; - } -} -static inline int ijk_on_grid(GridS * grid, int * i0, int * j0, int * k0) -{ - *i0 -= grid->Disp[0] - grid->is; - if(grid->Nx[1] > 1) - { - *j0 -= grid->Disp[1] - grid->js; - } - else - { - *j0 = 0; - } - if(grid->Nx[2] > 1) - { - *k0 -= grid->Disp[2] - grid->ks; - } - else - { - *k0 = 0; - } -} - - -int get_position_of_index(int i, int j, int k, int index_of_grid, double * x, double * y, - double * z){ - - double pos[4] = {0,0,0,0}; - if (mesh.NLevels == 0) { - return -1; - } - DomainS * dom = get_domain_structure_with_index(index_of_grid); - - if(dom == 0){ - return -3; - } - - if(dom->Grid == NULL) - { - pos[0] = 0.0; - pos[1] = 0.0; - pos[2] = 0.0; - pos[3] = 1; - } - else - { - GridS * grid = dom->Grid; - //fprintf(stderr, "i %d: %d, %d, %d, %d\n", i, grid->is, grid->ie, grid->Nx[0], grid->Disp[0]); - - pos[0] = 0.0; - pos[1] = 0.0; - pos[2] = 0.0; - - if (grid->Nx[0] > 1 && ( (grid->Disp[0] > 0 && i < (grid->Disp[0])) || (((grid->Disp[0] + grid->Nx[0]) < dom->Nx[0]) && i >= (grid->Disp[0] + grid->Nx[0])))) - { - pos[3] = 1; - } - else if (grid->Nx[1] > 1 && ((grid->Disp[1] > 0 && j < (grid->Disp[1])) || (((grid->Disp[1] + grid->Nx[1]) < dom->Nx[1]) &&j >= (grid->Disp[1] + grid->Nx[1])))) - { - pos[3] = 1; - } - else if (grid->Nx[2] > 1 && ((grid->Disp[2] > 0 && k < (grid->Disp[2])) || (((grid->Disp[2] + grid->Nx[2]) < dom->Nx[2]) &&k >= (grid->Disp[2] + grid->Nx[2])))) - { - pos[3] = 1; - } - else - { - cc_pos( - grid, - i + grid->is - grid->Disp[0], - j + grid->js - grid->Disp[1], - k + grid->ks - grid->Disp[2], - &pos[0] , - &pos[1] , - &pos[2] - ); - pos[3] = 0; - } - } - - -#ifdef MPI_PARALLEL - if(myID_Comm_world) { - MPI_Reduce(pos, NULL, 4, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } else { - MPI_Reduce(MPI_IN_PLACE, pos, 4, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } -#endif - - if(mpi_comm_size_interface > 0 && pos[3] == mpi_comm_size_interface) { - return -4; - } - *x = pos[0]; - *y = pos[1]; - *z = pos[2]; - - return 0; -} - -int get_interpolated_gravitational_potential(double x, double y, double z, double * potential) { - if (Potentials == NULL) { - return -1; - } - - - - *potential = grav_pot(x,y,z); - - return 0; -} - -int get_index_of_position(double x, double y, - double z,int index_of_grid, double *i , double * j, double * k) - { - - double pos[3] = {0,0,0}; - - if (mesh.NLevels == 0) { - return -1; - } - - - DomainS * dom = get_domain_structure_with_index(index_of_grid); - - if(dom == 0){ - return -3; - } - - if(dom->Grid == NULL) - { - pos[0] = 0.0; - pos[1] = 0.0; - pos[2] = 0.0; - } - else - { - GridS * grid = dom->Grid; - ijk_pos(grid, x, y, z, &pos[0], &pos[1], &pos[2]); - } - - - -#ifdef MPI_PARALLEL - if(myID_Comm_world) { - MPI_Reduce(pos, NULL, 3, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } else { - MPI_Reduce(MPI_IN_PLACE, pos, 3, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } -#endif - - *i = pos[0]; - *j = pos[1]; - *k = pos[2]; - - return 0; -} - -int test() { - return 1; -} - -int get_grid_state( - int * i, int * j, int * k, - int * index_of_grid, - double * rho, - double * rhovx, double * rhovy, double * rhovz, - double * en, - int number_of_points) -{ - int l=0; - int i0,j0,k0 = 0; - int previous_index_of_grid = -1, current_index_of_grid = 0; - int ii = 0; - DomainS * dom = 0; - if (mesh.NLevels == 0) { - return -1; - } - for(l=0; l < number_of_points; l++) { - i0 = i[l]; - j0 = j[l]; - k0 = k[l]; - - - rho[l] = 0; - rhovx[l] = 0; - rhovy[l] = 0; - rhovz[l] = 0; - en[l] = 0; - - current_index_of_grid = index_of_grid[l]; - if (current_index_of_grid != previous_index_of_grid) - { - dom = get_domain_structure_with_index(current_index_of_grid); - } - if(dom == 0) - { - continue; - } - - if(dom->Grid == NULL) - { - continue; - } - else - { - GridS * grid = dom->Grid; - if (is_on_grid(grid, i0, j0, k0)) - { - ijk_on_grid(grid, &i0, &j0, &k0); - - - rho[l] = grid->U[k0][j0][i0].d; - rhovx[l] = grid->U[k0][j0][i0].M1; - rhovy[l] = grid->U[k0][j0][i0].M2; - rhovz[l] = grid->U[k0][j0][i0].M3; - en[l] = grid->U[k0][j0][i0].E; - } - - } - } - - - -#ifdef MPI_PARALLEL - if(myID_Comm_world) { - MPI_Reduce(rho, NULL, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(rhovx, NULL, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(rhovy, NULL, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(rhovz, NULL, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(en, NULL, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } else { - MPI_Reduce(MPI_IN_PLACE, rho, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(MPI_IN_PLACE, rhovx, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(MPI_IN_PLACE, rhovy, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(MPI_IN_PLACE, rhovz, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(MPI_IN_PLACE, en, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } -#endif - - return 0; -} - - -int get_grid_gravitational_potential( - int * i, int * j, int * k, - int * index_of_grid, - double * phi, - int number_of_points) -{ - int l=0; - int i0,j0,k0 = 0; - int previous_index_of_grid = -1, current_index_of_grid = 0; - int ii = 0; - DomainS * dom = 0; - if (mesh.NLevels == 0) { - return -1; - } -#ifndef SELF_GRAVITY - for(l=0; l < number_of_points; l++) { - phi[l] = 0.0; - } - -#else - - for(l=0; l < number_of_points; l++) { - i0 = i[l]; - j0 = j[l]; - k0 = k[l]; - current_index_of_grid = index_of_grid[l]; - - phi[l] = 0; - - if (current_index_of_grid != previous_index_of_grid) - { - dom = get_domain_structure_with_index(current_index_of_grid); - } - if(dom == 0) - { - continue; - } - if(dom->Grid == NULL) - { - continue; - } - else - { - GridS * grid = dom->Grid; - - if (is_on_grid(grid, i0, j0, k0)) - { - - fprintf(stderr, "GRID i,j,k %d,%d,%d\n", i0, j0, k0); - ijk_on_grid(grid, &i0, &j0, &k0); - phi[l] = grid->Phi[k0][j0][i0]; - } - - } - } - - - -#ifdef MPI_PARALLEL - if(myID_Comm_world) { - MPI_Reduce(phi, NULL, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } else { - MPI_Reduce(MPI_IN_PLACE, phi, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } -#endif - -#endif - return 0; -} - - -int get_potential_at_point(double eps, double x, double y, double z, double *phi) -{ - if(myID_Comm_world) { // calculate only on the root mpi process, not on others - return 0; - } - - double ii, jj, kk; - double dx, dy, dz; - int i, j, k; - int index_of_grid = 1; // supports only one grid! - DomainS * dom = get_domain_structure_with_index(1); - - if(dom == 0) - { - return -1; - } - if(dom->Grid == NULL) - { - return -1; - } - - ijk_pos(dom->Grid, x, y, z, &ii, &jj, &kk);//(x, y, z, &ii, &jj, &kk, &dx, &dy, &dz); - i = ii; j = jj; k = kk; - //fprintf(stderr, "XYZ i,j,k %f,%f,%f\n", ii, jj, kk); - get_grid_gravitational_potential(&i, &j, &k, &index_of_grid, phi, 1); - - - return 0; -} - -int get_gravity_at_point(double eps, double x,double y, double z, - double *fx, double *fy, double *fz) -{ - if(myID_Comm_world) { // calculate only on the root mpi process, not on others - return 0; - } - double ii, jj, kk; - double dx, dy, dz; - int i, j, k; - int index_of_grid = 1; // supports only one grid! - - - ijk_pos_dom(x, y, z, &ii, &jj, &kk, &dx, &dy, &dz); - i = ii; j = jj; k = kk; - get_grid_gravitational_acceleration(&i, &j, &k, &index_of_grid, fx, fy, fz, 1); - - return 0; -} - - -int get_grid_gravitational_acceleration( - int * i, int * j, int * k, - int * index_of_grid, - double * fx, double * fy, double * fz, - int number_of_points) -{ - int l=0; - int i0,j0,k0 = 0; - int previous_index_of_grid = -1, current_index_of_grid = 0; - int ii = 0; - DomainS * dom = 0; - if (mesh.NLevels == 0) { - return -1; - } -#ifndef SELF_GRAVITY - for(l=0; l < number_of_points; l++) { - fx[l] = 0; - fy[l] = 0; - fz[l] = 0; - } -#else - for(l=0; l < number_of_points; l++) { - i0 = i[l]; - j0 = j[l]; - k0 = k[l]; - current_index_of_grid = index_of_grid[l]; - - fx[l] = 0; - fy[l] = 0; - fz[l] = 0; - - if (current_index_of_grid != previous_index_of_grid) - { - dom = get_domain_structure_with_index(current_index_of_grid); - } - if(dom == 0) - { - continue; - } - if(dom->Grid == NULL) - { - continue; - } - else - { - GridS * grid = dom->Grid; - - if (is_on_grid(grid, i0, j0, k0)) - { - - - ijk_on_grid(grid, &i0, &j0, &k0); - fx[l] = (grid->Phi[k0][j0][i0-1] - grid->Phi[k0][j0][i0+1]) / grid->dx1; - fy[l] = (grid->Phi[k0][j0-1][i0] - grid->Phi[k0][j0+1][i0]) / grid->dx2; - fz[l] = (grid->Phi[k0-1][j0][i0] - grid->Phi[k0+1][j0][i0]) / grid->dx3; - } - - } - } - - - -#ifdef MPI_PARALLEL - if(myID_Comm_world) { - MPI_Reduce(fx, NULL, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(fy, NULL, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(fz, NULL, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } else { - MPI_Reduce(MPI_IN_PLACE, fx, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(MPI_IN_PLACE, fy, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(MPI_IN_PLACE, fz, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } -#endif - -#endif - return 0; -} - -int get_grid_density( - int * i, int * j, int * k, - int * index_of_grid, - double * rho, - int number_of_points) -{ - int l=0; - int i0,j0,k0 = 0; - int ii = 0; - int previous_index_of_grid = -1, current_index_of_grid = 0; - - if (mesh.NLevels == 0) { - return -1; - } - DomainS * dom = 0; - if (mesh.NLevels == 0) { - return -1; - } - for(l=0; l < number_of_points; l++) { - i0 = i[l]; - j0 = j[l]; - k0 = k[l]; - - rho[l] = 0.0; - - current_index_of_grid = index_of_grid[l]; - if (current_index_of_grid != previous_index_of_grid) - { - dom = get_domain_structure_with_index(current_index_of_grid); - } - if(dom == 0) - { - continue; - } - - - if(dom->Grid == NULL) - { - continue; - } - else - { - GridS * grid = dom->Grid; - - if (is_on_grid(grid, i0, j0, k0)) - { - - - ijk_on_grid(grid, &i0, &j0, &k0); - rho[l] = grid->U[k0][j0][i0].d; - } - - } - } - - - -#ifdef MPI_PARALLEL - if(myID_Comm_world) { - MPI_Reduce(rho, NULL, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } else { - MPI_Reduce(MPI_IN_PLACE, rho, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } -#endif - - return 0; -} - - -int get_grid_momentum_density( - int * i, int * j, int * k, - int * index_of_grid, - double * rhovx, double * rhovy, double * rhovz, - int number_of_points) -{ - int l=0; - int i0,j0,k0 = 0; - int previous_index_of_grid = -1, current_index_of_grid = 0; - - if (mesh.NLevels == 0) { - return -1; - } - DomainS * dom = 0; - if (mesh.NLevels == 0) { - return -1; - } - for(l=0; l < number_of_points; l++) { - i0 = i[l]; - j0 = j[l]; - k0 = k[l]; - - rhovx[l] = rhovy[l]= rhovz[l] = 0.0; - - current_index_of_grid = index_of_grid[l]; - if (current_index_of_grid != previous_index_of_grid) - { - dom = get_domain_structure_with_index(current_index_of_grid); - } - if(dom == 0) - { - continue; - } - - if(dom->Grid == NULL) - { - continue; - } - else - { - GridS * grid = dom->Grid; - - if (is_on_grid(grid, i0, j0, k0)) - { - - - ijk_on_grid(grid, &i0, &j0, &k0); - - rhovx[l] = grid->U[k0][j0][i0].M1; - rhovy[l] = grid->U[k0][j0][i0].M2; - rhovz[l] = grid->U[k0][j0][i0].M3; - } - - } - } - - - -#ifdef MPI_PARALLEL - if(myID_Comm_world) { - MPI_Reduce(rhovx, NULL, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(rhovy, NULL, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(rhovz, NULL, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } else { - MPI_Reduce(MPI_IN_PLACE, rhovx, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(MPI_IN_PLACE, rhovy, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(MPI_IN_PLACE, rhovz, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } -#endif - - return 0; -} - -int get_grid_energy_density( - int * i, int * j, int * k, - int * index_of_grid, - double * en, - int number_of_points) -{ - int l=0; - int i0,j0,k0 = 0; - int previous_index_of_grid = -1, current_index_of_grid = 0; - DomainS * dom = 0; - - if (mesh.NLevels == 0) { - return -1; - } - for(l=0; l < number_of_points; l++) { - i0 = i[l]; - j0 = j[l]; - k0 = k[l]; - - en[l] = 0.0; - - - current_index_of_grid = index_of_grid[l]; - if (current_index_of_grid != previous_index_of_grid) - { - dom = get_domain_structure_with_index(current_index_of_grid); - } - if(dom == 0) - { - continue; - } - - if(dom->Grid == NULL) - { - continue; - } - else - { - GridS * grid = dom->Grid; - - if (is_on_grid(grid, i0, j0, k0)) - { - - - ijk_on_grid(grid, &i0, &j0, &k0); - - - en[l] = grid->U[k0][j0][i0].E; - } - - } - } - - - -#ifdef MPI_PARALLEL - if(myID_Comm_world) { - MPI_Reduce(en, NULL, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } else { - MPI_Reduce(MPI_IN_PLACE, en, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } -#endif - - return 0; -} - - - - -int set_grid_state( - int * i, - int * j, - int * k, - double * rho, - double * rhovx, double * rhovy, double * rhovz, - double * en, - int * index_of_grid, - int number_of_points) -{ - - int l=0; - int i0,j0,k0 = 0; - int previous_index_of_grid = -1, current_index_of_grid = 0; - DomainS * dom = 0; - - if (mesh.NLevels == 0) { - return -1; - } - - for(l=0; l < number_of_points; l++) { - i0 = i[l]; - j0 = j[l]; - k0 = k[l]; - - current_index_of_grid = index_of_grid[l]; - if (current_index_of_grid != previous_index_of_grid) - { - dom = get_domain_structure_with_index(current_index_of_grid); - } - if(dom == 0) - { - continue; - } - - - if(dom->Grid == NULL) - { - continue; - } - else - { - GridS * grid = dom->Grid; - - if (is_on_grid(grid, i0, j0, k0)) - { - ijk_on_grid(grid, &i0, &j0, &k0); - - grid->U[k0][j0][i0].d = rho[l]; - grid->U[k0][j0][i0].M1 = rhovx[l]; - grid->U[k0][j0][i0].M2 = rhovy[l]; - grid->U[k0][j0][i0].M3 = rhovz[l]; - grid->U[k0][j0][i0].E = en[l]; - } - - } - } - - return 0; -} - - - - -int get_potential( - int * i, int * j, int * k, - double * potential, - int number_of_points) -{ - if (mesh.NLevels == 0) { - return -1; - } - if (Potentials == NULL) { - return -2; - } - - int imin = 0; - int imax = mesh.Nx[0]+nghost; - int jmin, jmax; - if (mesh.Nx[1] > 1) - { - jmin = 0; - jmax = mesh.Nx[1]+nghost; - } - else - { - jmin = jmax = 0; - } - int kmin, kmax; - if (mesh.Nx[2] > 1) - { - kmin = 0; - kmax = mesh.Nx[2]+nghost; - } - else - { - kmin = kmax = 0; - } - int l=0; - int i0,j0,k0 = 0; - - for(l=0; l < number_of_points; l++) - { - i0 = i[l] + nghost; - j0 = j[l]; - k0 = k[l]; - potential[l] = 0.0; - - if(mesh.Nx[1] > 1) {j0 += nghost;} - if(mesh.Nx[2] > 1) {k0 += nghost;} - - if ( - (i0 >= imin && i0 <= imax) && - (j0 >= jmin && j0 <= jmax) && - (k0 >= kmin && k0 <= kmax) - ) - { - potential[l] = Potentials[k0][j0][i0]; - } - } - - -#ifdef MPI_PARALLEL - if(myID_Comm_world) { - MPI_Reduce(potential, NULL, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } else { - MPI_Reduce(MPI_IN_PLACE, potential, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } -#endif - - return 0; -} - - -int set_potential( - int * i, int * j, int * k, - double * potential, - int number_of_points) -{ - - if (mesh.NLevels == 0) { - return -1; - } - if (Potentials == NULL) { - return -2; - } - - int imin = 0; - int imax = mesh.Nx[0] + nghost; - int jmin, jmax; - if (mesh.Nx[1] > 1) - { - jmin = 0; - jmax = mesh.Nx[1] + nghost; - } - else - { - jmin = jmax = 0; - } - int kmin, kmax; - if (mesh.Nx[2] > 1) - { - kmin = 0; - kmax = mesh.Nx[2] + nghost; - } - else - { - kmin = kmax = 0; - } - int l=0; - int i0,j0,k0 = 0; - - for(l=0; l < number_of_points; l++) - { - i0 = i[l] + nghost; - j0 = j[l]; - k0 = k[l]; - - if(mesh.Nx[1] > 1) {j0 += nghost;} - if(mesh.Nx[2] > 1) {k0 += nghost;} - - if ( - (i0 >= imin && i0 <= imax) && - (j0 >= jmin && j0 <= jmax) && - (k0 >= kmin && k0 <= kmax) - ) - { - Potentials[k0][j0][i0] = potential[l]; - } - } - - return 0; -} - -int esys_roe_adb_hydro(int * index, double * u, double * v, double * w, - double * h, double * ev, double * rem0, double * rem1, double * rem2, - double * rem3, double * rem4, double * lem0, double * lem1, - double * lem2, double * lem3, double * lem4){ - return -2; -} - - -//static Gas ***Soln=NULL; - -#include - -void _fill_grid_linearwave_1d(GridS *pGrid, DomainS *pDomain, int wave_flag, double amp, double vflow, int wave_dir){ - ConsS ***Soln; - int i=0,j=0,k=0; - int is,ie,js,je,ks,ke,n,m,nx1,nx2,nx3; - Real d0,p0,u0,v0,w0,h0; - Real x1,x2,x3,r,ev[NWAVE],rem[NWAVE][NWAVE],lem[NWAVE][NWAVE]; -#ifdef MHD - Real bx0,by0,bz0,xfact,yfact; -#endif /* MHD */ - is = pGrid->is; ie = pGrid->ie; - js = pGrid->js; je = pGrid->je; - ks = pGrid->ks; ke = pGrid->ke; - nx1 = (ie-is)+1 + 2*nghost; - nx2 = (je-js)+1 + 2*nghost; - nx3 = (ke-ks)+1 + 2*nghost; - - -/* allocate memory for solution on this level. If this is root level - * also allocate memory for RootSoln */ - - if ((Soln = (ConsS***)calloc_3d_array(nx3,nx2,nx1,sizeof(ConsS)))==NULL) - ath_error("[problem]: Error allocating memory for Soln\n"); - - -/* Get eigenmatrix, where the quantities u0 and bx0 are parallel to the - * wavevector, and v0,w0,by0,bz0 are perpendicular. Background state chosen - * carefully so wave speeds are well-separated: Va=1, Vf=2, Vs=0.5 */ - - d0 = 1.0; -#ifndef ISOTHERMAL - p0 = 1.0/Gamma; - u0 = vflow*sqrt(Gamma*p0/d0); -#else - u0 = vflow*Iso_csound; -#endif - v0 = 0.0; - w0 = 0.0; -#ifdef MHD - bx0 = 1.0; - by0 = sqrt(2.0); - bz0 = 0.5; - xfact = 0.0; - yfact = 1.0; -#endif - - for (n=0; n 0) - for (n=0; n 0) - for (n=0; n 0) - for (n=0; nU[k][j][i].d = Soln[k][j][i].d; -#ifndef ISOTHERMAL - pGrid->U[k][j][i].E = Soln[k][j][i].E; -#endif /* ISOTHERMAL */ - pGrid->U[k][j][i].M1 = Soln[k][j][i].M1; - pGrid->U[k][j][i].M2 = Soln[k][j][i].M2; - pGrid->U[k][j][i].M3 = Soln[k][j][i].M3; -#ifdef MHD - pGrid->U[k][j][i].B1c = Soln[k][j][i].B1c; - pGrid->U[k][j][i].B2c = Soln[k][j][i].B2c; - pGrid->U[k][j][i].B3c = Soln[k][j][i].B3c; - pGrid->B1i[k][j][i] = Soln[k][j][i].B1c; - pGrid->B2i[k][j][i] = Soln[k][j][i].B2c; - pGrid->B3i[k][j][i] = Soln[k][j][i].B3c; -#endif /* MHD */ -#if (NSCALARS > 0) - for (n=0; nU[k][j][i].s[n] = Soln[k][j][i].s[n]; -#endif - }}} -#ifdef MHD - for (k=ks; k<=ke; k++) { - for (j=js; j<=je; j++) { - pGrid->B1i[k][j][ie+1] = pGrid->B1i[k][j][ie]; - } - } - if (pGrid->Nx[1] > 1) { - for (k=ks; k<=ke; k++) { - for (i=is; i<=ie; i++) { - pGrid->B2i[k][je+1][i] = pGrid->B2i[k][je][i]; - } - } - } - if (pGrid->Nx[2] > 1) { - for (j=js; j<=je; j++) { - for (i=is; i<=ie; i++) { - pGrid->B3i[ke+1][j][i] = pGrid->B3i[ke][j][i]; - } - } - } -#endif /* MHD */ - -/* For self-gravitating problems, read 4\piG and compute mean density */ - -#ifdef SELF_GRAVITY - four_pi_G = par_getd("problem","four_pi_G"); - grav_mean_rho = d0; -#endif /* SELF_GRAVITY */ - -/* With viscosity and/or resistivity, read eta_R and nu_V */ - -#ifdef OHMIC - eta_Ohm = par_getd("problem","eta"); -#endif -#ifdef HALL_MHD - eta_Ohm = par_getd("problem","eta_O"); - eta_Hall = par_getd("problem","eta_H"); -#endif -#ifdef NAVIER_STOKES - nu_V = par_getd("problem","nu"); -#endif - - - free_3d_array(Soln); - return; -} - - -int fill_grid_linearwave_1d(int wave_flag, double amp, double vflow, int wave_dir) -{ - int level = 0; - int domain = 0; - for(level = 0 ; level < mesh.NLevels; level++) - { - for(domain = 0; domain < mesh.DomainsPerLevel[level]; domain++) - { - if(!(mesh.Domain[level][domain].Grid == NULL)) - { - _fill_grid_linearwave_1d( mesh.Domain[level][domain].Grid,&mesh.Domain[level][domain], wave_flag, amp, vflow, wave_dir); - } - } - } - return 0; - -} - -int get_time(double * value){ - *value = mesh.time; - return 0; -} - -int evolve(double tlim) { - int nl, nd; - //AMUSE STOPPING CONDITIONS - int is_number_of_steps_detection_enabled; - int is_timeout_detection_enabled; - int number_of_steps_innerloop = 0; - int max_number_of_steps; - double timeout; - time_t clock_current, clock_init; - int error; - - par_setd("time","tlim", "%.15e", tlim, "-"); - - //AMUSE STOPPING CONDITIONS SUPPORT - error = is_stopping_condition_enabled(NUMBER_OF_STEPS_DETECTION, - &is_number_of_steps_detection_enabled); - error = is_stopping_condition_enabled(TIMEOUT_DETECTION, - &is_timeout_detection_enabled); - get_stopping_condition_number_of_steps_parameter(&max_number_of_steps); - get_stopping_condition_timeout_parameter(&timeout); - time(&clock_init); - - if(mesh.time + mesh.dt > tlim) { - if(mesh.time < tlim) - { - mesh.dt = (tlim - mesh.time) / 2.0; - fprintf(stderr, "set mesh.time %f, %f, %f\n", mesh.time, mesh.dt, tlim); - } - else - { - return 0; - } - } - if(mesh.dt == 0.0) - { - mesh.dt = last_dt_above_zero; - new_dt(&mesh); - fprintf(stderr, "new mesh.time %f, %f (%f), %f\n", mesh.time, mesh.dt, last_dt_above_zero, tlim); - - } - while (mesh.time < tlim) { - fprintf(stderr, "mesh.time %g, %g, %g\n", mesh.time, mesh.dt, tlim); - if(mesh.dt == 0.0) - { - break; - } - /*--- Step 9b. ---------------------------------------------------------------*/ - /* operator-split explicit diffusion: thermal conduction, viscosity, resistivity - * Done first since CFL constraint is applied which may change dt */ - -#if defined(RESISTIVITY) || defined(VISCOSITY) || defined(THERMAL_CONDUCTION) - integrate_diff(&mesh); - for (nl=0; nl<(mesh.NLevels); nl++){ - for (nd=0; nd<(mesh.DomainsPerLevel[nl]); nd++){ - if (mesh.Domain[nl][nd].Grid != NULL){ - bvals_mhd(&(mesh.Domain[nl][nd])); - } - } - } -#endif - - /*--- Step 9c. ---------------------------------------------------------------*/ - /* Loop over all Domains and call Integrator */ - - for (nl=0; nl<(mesh.NLevels); nl++){ - for (nd=0; nd<(mesh.DomainsPerLevel[nl]); nd++){ - if (mesh.Domain[nl][nd].Grid != NULL){ - (*Integrate)(&(mesh.Domain[nl][nd])); - -#ifdef FARGO - Fargo(&(mesh.Domain[nl][nd])); -#ifdef PARTICLES - advect_particles(&level0_Grid, &level0_Domain); -#endif -#endif /* FARGO */ - } - } - } - - /*--- Step 9d. ---------------------------------------------------------------*/ - /* With SMR, restrict solution from Child --> Parent grids */ - -#ifdef STATIC_MESH_REFINEMENT - RestrictCorrect(&mesh); -#endif - - /*--- Step 9e. ---------------------------------------------------------------*/ - /* User work (defined in problem()) */ - - Userwork_in_loop(&mesh); - - /*--- Step 9f. ---------------------------------------------------------------*/ - /* Compute gravitational potential using new density, and add second-order - * correction to fluxes for accelerations due to self-gravity. */ - -#ifdef SELF_GRAVITY - for (nl=0; nl<(mesh.NLevels); nl++){ - for (nd=0; nd<(mesh.DomainsPerLevel[nl]); nd++){ - if (mesh.Domain[nl][nd].Grid != NULL){ - (*SelfGrav)(&(mesh.Domain[nl][nd])); - bvals_grav(&(mesh.Domain[nl][nd])); - selfg_fc(&(mesh.Domain[nl][nd])); - } - } - } -#endif - - /*--- Step 9g. ---------------------------------------------------------------*/ - /* Update mesh time, and time in all Grid's. Compute new dt */ - - mesh.nstep++; - mesh.time += mesh.dt; - for (nl=0; nl<(mesh.NLevels); nl++){ - for (nd=0; nd<(mesh.DomainsPerLevel[nl]); nd++){ - if (mesh.Domain[nl][nd].Grid != NULL){ - mesh.Domain[nl][nd].Grid->time = mesh.time; - } - } - } - - last_dt_above_zero = mesh.dt; - if(mesh.time < tlim) - { - new_dt(&mesh); - } - /*--- Step 9h. ---------------------------------------------------------------*/ - /* Boundary values must be set after time is updated for t-dependent BCs. - * With SMR, ghost zones at internal fine/coarse boundaries set by Prolongate */ - - for (nl=0; nl<(mesh.NLevels); nl++){ - for (nd=0; nd<(mesh.DomainsPerLevel[nl]); nd++){ - if (mesh.Domain[nl][nd].Grid != NULL){ - bvals_mhd(&(mesh.Domain[nl][nd])); -#ifdef PARTICLES - bvals_particle(&level0_Grid, &level0_Domain); -#endif - } - } - } - -#ifdef STATIC_MESH_REFINEMENT - Prolongate(&mesh); -#endif - - //AMUSE STOPPING CONDITIONS SUPPORT - if (is_number_of_steps_detection_enabled) { - number_of_steps_innerloop++; - if (number_of_steps_innerloop > max_number_of_steps) { - int stopping_index = next_index_for_stopping_condition(); - set_stopping_condition_info(stopping_index, NUMBER_OF_STEPS_DETECTION); - } - } - if (is_timeout_detection_enabled) { - time(&clock_current); - if ((clock_current - clock_init) > timeout) { - int stopping_index = next_index_for_stopping_condition(); - set_stopping_condition_info(stopping_index, TIMEOUT_DETECTION); - } - } - - if(set_conditions & enabled_conditions) { - break; - } - } - - - return 0; -} diff --git a/src/amuse/community/athena/makefile.patch b/src/amuse/community/athena/makefile.patch deleted file mode 100644 index 2ac1c2a5b2..0000000000 --- a/src/amuse/community/athena/makefile.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- Makefile.in.orig 2010-08-06 16:29:01.000000000 +0200 -+++ Makefile.in 2010-08-06 16:30:01.000000000 +0200 -@@ -106,12 +106,13 @@ - rsolvers/two_shock.o - - ALL_OBJ = ${CORE_OBJ} ${FFT_OBJ} ${GRAVITY_OBJ} ${INTEGRATORS_OBJ} ${MICROPHYS_OBJ} ${PARTICLES_OBJ} ${RECONSTRUCTION_OBJ} ${RSOLVERS_OBJ} -- -+LIB_OBJ = $(subst main.o,,${ALL_OBJ}) - #------------------- macro definitions --------------------------------------- - - BIN = ${EXEDIR}athena - EXEDIR = ../bin/ - SRC = $(ALL_OBJ:.o=.c) -+LIBFILE = $(EXEDIR)libathena.a - - include ../Makeoptions - -@@ -125,11 +126,15 @@ - all: compile - - .PHONY: compile --compile: ${BIN} -+compile: ${BIN} $(LIBFILE) - - ${BIN}: ${ALL_OBJ} - ${LDR} $(OPT) -o ${EXEDIR}athena ${ALL_OBJ} ${LIB} - -+$(LIBFILE): $(LIB_OBJ) -+ ar rv $(LIBFILE) $(LIB_OBJ) -+ ranlib $(LIBFILE) -+ - help: - @echo This is the Athena Makefile - @echo Type 'make compile' to generate Athena executable diff --git a/src/amuse/community/athena/patch_files.py b/src/amuse/community/athena/patch_files.py deleted file mode 100755 index 5b0e538874..0000000000 --- a/src/amuse/community/athena/patch_files.py +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/env python - -import os -import sys -import subprocess -import re - -PATCHESDIR = "patches" -QUILT_PC = ".pc" - -def execute_command_line(arguments, cwd = None): - process = subprocess.Popen(arguments, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd = cwd) - stdoutstring, stderrstring = process.communicate() - returncode = process.poll() - return stdoutstring, stderrstring, returncode - -def which(executablename): - stdoutstring, stderrstring, returncode = execute_command_line(['which', executablename]) - if not returncode == 0: - return None - else: - return stdoutstring - -def is_quilt_installed(): - if sys.platform == 'win32': - return False - path = which('quilt') - if path is None: - return False - - stdoutstring, stderrstring, returncode = execute_command_line(['quilt', '--version']) - if not returncode == 0: - return False - - version_re = re.compile(r'(\d).(\d\d)') - match = version_re.match(stdoutstring) - if not match: - return False - - return True - -def apply_patches_using_quilt(): - returncode = subprocess.call(['quilt', 'push', '-a']) - if not returncode == 0: - raise Exception("error in applying the patches, please apply by hand using quilt push") - -def undo_patches_using_quilt(): - returncode = subprocess.call(['quilt', 'pop', '-a']) - if not returncode == 0: - raise Exception("error in undoing the patches, please undo by hand using quilt pop -a") - -def run_patch(patchname, patchfile): - arguments = ['patch', '-p1', '--backup', '--prefix={0}/{1}/'.format(QUILT_PC, patchname), '-E', '-i', patchfile] - returncode = subprocess.call(arguments) - if not returncode == 0: - raise Exception("could not apply patch {0}".format(patchname)) - -def apply_patches_using_patch(): - with open("patches/series", "r") as f: - lines = f.readlines() - patches = [x.strip() for x in lines] - patches = [x for x in patches if len(x) > 0] - for patch in patches: - path = os.path.join(PATCHESDIR, patch) - run_patch(patch, path) - -def main(undo_patches = False): - print("checking if quilt is installed ... ") - if not is_quilt_installed(): - print("... no") - - if undo_patches: - print("quilt is not installed, cannot undo the patches") - sys.exit(1) - else: - print("applying patches to source code") - apply_patches_using_patch() - else: - print("... yes") - - if undo_patches: - print("quilt is install, will try to undo the patches") - undo_patches_using_quilt() - else: - print("applying patches to source code") - apply_patches_using_quilt() - print("all patches applied") - -if __name__ == '__main__': - main() diff --git a/src/amuse/community/athena/src/athena/autom4te.cache/output.0 b/src/amuse/community/athena/src/athena/autom4te.cache/output.0 deleted file mode 100644 index 7a22d7a223..0000000000 --- a/src/amuse/community/athena/src/athena/autom4te.cache/output.0 +++ /dev/null @@ -1,4823 +0,0 @@ -@%:@! /bin/sh -@%:@ Guess values for system-dependent variables and create Makefiles. -@%:@ Generated by GNU Autoconf 2.59. -@%:@ -@%:@ Copyright (C) 2003 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 Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi -DUALCASE=1; export DUALCASE # for MKS sh - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# Work around bugs in pre-3.0 UWIN ksh. -$as_unset ENV MAIL MAILPATH -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - $as_unset $as_var - fi -done - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1; 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 - - -# Name of the executable. -as_me=`$as_basename "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - - -# PATH needs CR, and LINENO needs CR and PATH. -# 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 - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" || { - # Find who we are. Look in the path if we contain no path at all - # relative or not. - 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 - - ;; - 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 - { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 - { (exit 1); exit 1; }; } - fi - case $CONFIG_SHELL in - '') - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for as_base in sh bash ksh sh5; do - case $as_dir in - /*) - if ("$as_dir/$as_base" -c ' - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then - $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } - $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } - CONFIG_SHELL=$as_dir/$as_base - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" ${1+"$@"} - fi;; - esac - done -done -;; - esac - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line before each line; the second 'sed' does the real - # work. The second script uses 'N' to pair each line-number line - # with the numbered line, and appends trailing '-' during - # substitution so that $LINENO is not a special case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) - sed '=' <$as_myself | - sed ' - N - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, - t loop - s,-$,, - s,^['$as_cr_digits']*\n,, - ' >$as_me.lineno && - chmod +x $as_me.lineno || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # 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 sensible to this). - . ./$as_me.lineno - # Exit status is that of the last command. - exit -} - - -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -esac - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.file - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_executable_p="test -f" - -# 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'" - - -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH - - -# Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -exec 6>&1 - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_config_libobj_dir=. -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} - -# Maximum number of lines to put in a shell here document. -# This variable seems obsolete. It should probably be removed, and -# only ac_max_sed_lines should be used. -: ${ac_max_here_lines=38} - -# Identity of this package. -PACKAGE_NAME= -PACKAGE_TARNAME= -PACKAGE_VERSION= -PACKAGE_STRING= -PACKAGE_BUGREPORT= - -ac_unique_file="src/athena.h" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PROBLEM GAS EOS NSCALARS SELF_GRAVITY_DEFINE SELF_GRAVITY_ALGORITHM PARTICLES_ALGORITHM FEEDBACK_DEFINE COORD CONDUCTION_MODE RESISTIVITY_MODE SPECIAL_RELATIVITY_MODE VISCOSITY_MODE ORDER ACCURACY FLUX_NAME FLUX_DEF INTEGRATOR INTEGRATOR_DEF DEBUG_MODE COMPILER_OPTS PRECISION WRITE_GHOST_MODE MPI_MODE H_CORRECTION_MODE FFT_MODE SHEARING_BOX_MODE FARGO_MODE MESH_REFINEMENT HLL_ALL_WAVE_MODE FOFC_MODE CPP EGREP A_CONFIGURE_DATE WARNING1 WARNING2 LIB@&t@OBJS LTLIBOBJS' -ac_subst_files='' - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -# 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. -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -ac_prev= -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 - - ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_option in - - -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 | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - eval "enable_$ac_feature=no" ;; - - -enable-* | --enable-*) - ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; - esac - eval "enable_$ac_feature='$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 ;; - - -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 ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - 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 ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -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_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package| sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; - esac - eval "with_$ac_package='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package | sed 's/-/_/g'` - eval "with_$ac_package=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 ;; - - -*) { echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` - eval "$ac_envvar='$ac_optarg'" - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - 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'` - { echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } -fi - -# Be sure to have absolute paths. -for ac_var in exec_prefix prefix -do - eval ac_val=$`echo $ac_var` - case $ac_val in - [\\/$]* | ?:[\\/]* | NONE | '' ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; - esac -done - -# Be sure to have absolute paths. -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ - localstatedir libdir includedir oldincludedir infodir mandir -do - eval ac_val=$`echo $ac_var` - case $ac_val in - [\\/$]* | ?:[\\/]* ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; - esac -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 - echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 - 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 - - -# 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 its parent. - ac_confdir=`(dirname "$0") 2>/dev/null || -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$0" : 'X\(//\)[^/]' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$0" | - 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 - if test "$ac_srcdir_defaulted" = yes; then - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 - { (exit 1); exit 1; }; } - else - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } - fi -fi -(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || - { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 - { (exit 1); exit 1; }; } -srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` -ac_env_build_alias_set=${build_alias+set} -ac_env_build_alias_value=$build_alias -ac_cv_env_build_alias_set=${build_alias+set} -ac_cv_env_build_alias_value=$build_alias -ac_env_host_alias_set=${host_alias+set} -ac_env_host_alias_value=$host_alias -ac_cv_env_host_alias_set=${host_alias+set} -ac_cv_env_host_alias_value=$host_alias -ac_env_target_alias_set=${target_alias+set} -ac_env_target_alias_value=$target_alias -ac_cv_env_target_alias_set=${target_alias+set} -ac_cv_env_target_alias_value=$target_alias -ac_env_CC_set=${CC+set} -ac_env_CC_value=$CC -ac_cv_env_CC_set=${CC+set} -ac_cv_env_CC_value=$CC -ac_env_CFLAGS_set=${CFLAGS+set} -ac_env_CFLAGS_value=$CFLAGS -ac_cv_env_CFLAGS_set=${CFLAGS+set} -ac_cv_env_CFLAGS_value=$CFLAGS -ac_env_LDFLAGS_set=${LDFLAGS+set} -ac_env_LDFLAGS_value=$LDFLAGS -ac_cv_env_LDFLAGS_set=${LDFLAGS+set} -ac_cv_env_LDFLAGS_value=$LDFLAGS -ac_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_env_CPPFLAGS_value=$CPPFLAGS -ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_cv_env_CPPFLAGS_value=$CPPFLAGS -ac_env_CPP_set=${CPP+set} -ac_env_CPP_value=$CPP -ac_cv_env_CPP_set=${CPP+set} -ac_cv_env_CPP_value=$CPP - -# -# 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 this package 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 \`..'] - -_ACEOF - - cat <<_ACEOF -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] - --datadir=DIR read-only architecture-independent data [PREFIX/share] - --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] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --infodir=DIR info documentation [PREFIX/info] - --mandir=DIR man documentation [PREFIX/man] -_ACEOF - - cat <<\_ACEOF -_ACEOF -fi - -if test -n "$ac_init_help"; then - - cat <<\_ACEOF - -Optional Features: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] ---enable-conduction enable thermal conduction (default is no) ---enable-resistivity enable resistivity (default is no) ---enable-special-relativity enable special relativistic hydro or MHD (default is no) ---enable-viscosity enable viscosity (default is no) ---enable-single single-precision (default is double) ---enable-ghost write ghost zones ---enable-mpi enable MPI parellelization ---enable-h-correction turn on H-correction ---enable-fft compile and link FFT interface code (requires FFTW) ---enable-shearing-box turn on shearing-box ---enable-fargo turn on fargo ---enable-smr static mesh refinement (default is no refinement) ---enable-hllallwave turn on all-wave integration for HLL fluxes ---enable-fofc enable first-order flux correction - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) ---with-problem=PROB Problem generator from src/prob/name.c ---with-gas=GAS Gas properties (mhd,hydro) ---with-eos=EOS Equation of state (adiabatic,isothermal) ---with-nscalars=n (default is 0) ---with-gravity=SELF_GRAVITY_ALGORITHM Algorithm for self gravity (fft, fft_obc, multigrid) ---with-particles=PARTICLES_ALGORITHM particle integration algorithm (feedback, passive) ---with-coord=COORD Coordinate System (cartesian,cylindrical) ---with-order=ORDER Order of Accuracy (1,2,3,2p,3p) ---with-flux=FLUX_NAME Flux function (roe, hllc (hydro only), hlld, hlle, force, exact (hydro only),two-shock (hydro only)) ---with-integrator=INTEGRATOR Which unsplit integrator (ctu, vl) ---with-cflags=DEBUG_MODE Set debugging mode (opt,debug,profile) - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have - headers in a nonstandard directory - CPP C preprocessor - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -_ACEOF -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - ac_popdir=`pwd` - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d $ac_dir || continue - ac_builddir=. - -if test "$ac_dir" != .; then - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi - -case $srcdir in - .) # No --srcdir option. We are building in place. - ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; -esac - -# Do not use `cd foo && pwd` to compute absolute paths, because -# the directories may not exist. -case `pwd` in -.) ac_abs_builddir="$ac_dir";; -*) - case "$ac_dir" in - .) ac_abs_builddir=`pwd`;; - [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; - *) ac_abs_builddir=`pwd`/"$ac_dir";; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_builddir=${ac_top_builddir}.;; -*) - case ${ac_top_builddir}. in - .) ac_abs_top_builddir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; - *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_srcdir=$ac_srcdir;; -*) - case $ac_srcdir in - .) ac_abs_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; - *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_srcdir=$ac_top_srcdir;; -*) - case $ac_top_srcdir in - .) ac_abs_top_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; - *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; - esac;; -esac - - cd $ac_dir - # Check for guested configure; otherwise get Cygnus style 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 - elif test -f $ac_srcdir/configure.ac || - test -f $ac_srcdir/configure.in; then - echo - $ac_configure --help - else - echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi - cd $ac_popdir - done -fi - -test -n "$ac_init_help" && exit 0 -if $ac_init_version; then - cat <<\_ACEOF - -Copyright (C) 2003 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 0 -fi -exec 5>config.log -cat >&5 <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by $as_me, which was -generated by GNU Autoconf 2.59. Invocation command line was - - $ $0 $@ - -_ACEOF -{ -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` -hostinfo = `(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=. - echo "PATH: $as_dir" -done - -} >&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_sep= -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=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; - 2) - ac_configure_args1="$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 - ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" - # Get rid of the leading space. - ac_sep=" " - ;; - esac - done -done -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export 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: Be sure not to use single quotes in there, as some shells, -# such as our DU 5.0 friend, will then `close' the trap. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - cat <<\_ASBOX -@%:@@%:@ ---------------- @%:@@%:@ -@%:@@%:@ Cache variables. @%:@@%:@ -@%:@@%:@ ---------------- @%:@@%:@ -_ASBOX - echo - # The following way of writing the cache mishandles newlines in values, -{ - (set) 2>&1 | - case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in - *ac_space=\ *) - sed -n \ - "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" - ;; - *) - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; -} - echo - - cat <<\_ASBOX -@%:@@%:@ ----------------- @%:@@%:@ -@%:@@%:@ Output variables. @%:@@%:@ -@%:@@%:@ ----------------- @%:@@%:@ -_ASBOX - echo - for ac_var in $ac_subst_vars - do - eval ac_val=$`echo $ac_var` - echo "$ac_var='"'"'$ac_val'"'"'" - done | sort - echo - - if test -n "$ac_subst_files"; then - cat <<\_ASBOX -@%:@@%:@ ------------- @%:@@%:@ -@%:@@%:@ Output files. @%:@@%:@ -@%:@@%:@ ------------- @%:@@%:@ -_ASBOX - echo - for ac_var in $ac_subst_files - do - eval ac_val=$`echo $ac_var` - echo "$ac_var='"'"'$ac_val'"'"'" - done | sort - echo - fi - - if test -s confdefs.h; then - cat <<\_ASBOX -@%:@@%:@ ----------- @%:@@%:@ -@%:@@%:@ confdefs.h. @%:@@%:@ -@%:@@%:@ ----------- @%:@@%:@ -_ASBOX - echo - sed "/^$/d" confdefs.h | sort - echo - fi - test "$ac_signal" != 0 && - echo "$as_me: caught signal $ac_signal" - echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core && - rm -rf conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status - ' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo >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 - - -# Let the site file select an alternate cache file if it wants to. -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 -echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" - 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. - if test -f "$cache_file"; then - { echo "$as_me:$LINENO: loading cache $cache_file" >&5 -echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . $cache_file;; - *) . ./$cache_file;; - esac - fi -else - { echo "$as_me:$LINENO: creating cache $cache_file" >&5 -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 `(set) 2>&1 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; 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,) - { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 -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 - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 -echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 -echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=$ac_var=`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. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 -echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } -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_config_headers="$ac_config_headers src/config.h" - -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 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}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 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - CC=$ac_ct_CC -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 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -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 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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_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" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -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 - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in 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 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in 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 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ac_ct_CC" && break -done - - CC=$ac_ct_CC -fi - -fi - - -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - -# Provide some information about the compiler. -echo "$as_me:$LINENO:" \ - "checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out 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. -echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 - (eval $ac_link_default) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Find the output, starting from the most likely. This scheme is -# not robust to junk in `.', hence go to wildcards (a.*) only as a last -# resort. - -# Be careful to initialize this variable, since it used to be cached. -# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. -ac_cv_exeext= -# b.out is created by i960 compilers. -for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) - ;; - conftest.$ac_ext ) - # This is the source file. - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - # FIXME: I believe we export ac_cv_exeext for Libtool, - # but it would be cool to find out if it's true. Does anybody - # maintain Libtool? --akim. - export ac_cv_exeext - break;; - * ) - break;; - esac -done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { echo "$as_me:$LINENO: error: C compiler cannot create executables -See \`config.log' for more details." >&5 -echo "$as_me: error: C compiler cannot create executables -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } -fi - -ac_exeext=$ac_cv_exeext -echo "$as_me:$LINENO: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6 - -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - fi - fi -fi -echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - -rm -f a.out a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 -echo "$as_me:$LINENO: result: $cross_compiling" >&5 -echo "${ECHO_T}$cross_compiling" >&6 - -echo "$as_me:$LINENO: checking for suffix of executables" >&5 -echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; 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 | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - export ac_cv_exeext - break;; - * ) break;; - esac -done -else - { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest$ac_cv_exeext -echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6 - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -echo "$as_me:$LINENO: checking for suffix of object files" >&5 -echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 -if test "${ac_cv_objext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6 -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 -if test "${ac_cv_c_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_compiler_gnu=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 -GCC=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -CFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_prog_cc_g=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$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 -echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 -echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_prog_cc_stdc=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -/* 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 -std1 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 -std1. */ -int osf4_cc_array ['\x00' == 0 ? 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 -# Don't try gcc -ansi; that turns off useful extensions and -# breaks some systems' header files. -# AIX -qlanglvl=ansi -# Ultrix and OSF/1 -std1 -# HP-UX 10.20 and later -Ae -# HP-UX older versions -Aa -D_HPUX_SOURCE -# SVR4 -Xc -D__EXTENSIONS__ -for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_stdc=$ac_arg -break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext -done -rm -f conftest.$ac_ext conftest.$ac_objext -CC=$ac_save_CC - -fi - -case "x$ac_cv_prog_cc_stdc" in - x|xno) - echo "$as_me:$LINENO: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6 ;; - *) - echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 - CC="$CC $ac_cv_prog_cc_stdc" ;; -esac - -# Some people use a C++ compiler to compile C. Since we use `exit', -# in C++ we need to declare it. In case someone uses the same compiler -# for both compiling C and C++ we need to have the C++ compiler decide -# the declaration of exit, since it's the most demanding environment. -cat >conftest.$ac_ext <<_ACEOF -@%:@ifndef __cplusplus - choke me -@%:@endif -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - for ac_declaration in \ - '' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -@%:@include -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -continue -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h -fi - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -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_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 - { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 -echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} - { (exit 1); exit 1; }; } -fi -ac_config_guess="$SHELL $ac_aux_dir/config.guess" -ac_config_sub="$SHELL $ac_aux_dir/config.sub" -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. - -# 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. -echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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_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 - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - done - done - ;; -esac -done - - -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. We don't cache a - # path for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the path is relative. - INSTALL=$ac_install_sh - fi -fi -echo "$as_me:$LINENO: result: $INSTALL" >&5 -echo "${ECHO_T}$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' - - -#------------------------------------------------------------------------------- -# PHYSICS PACKAGE: name of problem generator from src/prob/name.c -# --with-problem=name (default is linear_wave1d) - - - -# Check whether --with-problem or --without-problem was given. -if test "${with_problem+set}" = set; then - withval="$with_problem" - with_problem=$withval -else - with_problem="linear_wave1d" -fi; -PROBLEM=$with_problem -if test -e src/prob/$PROBLEM.c; then - rm -f src/problem.c - ln -s prob/$PROBLEM.c src/problem.c -else - ls src/prob - { { echo "$as_me:$LINENO: error: Invalid problem filename, valid names listed above" >&5 -echo "$as_me: error: Invalid problem filename, valid names listed above" >&2;} - { (exit 1); exit 1; }; } -fi - -#------------------------------------------------------------------------------- -# PHYSICS PACKAGE: gas mode (hydro or mhd) -# --with-gas=hydro (default is mhd) -# mode also sets the default flux handling, since that depends on whether the -# problem is hydro or mhd (see option --with-flux= below) - - - -# Check whether --with-gas or --without-gas was given. -if test "${with_gas+set}" = set; then - withval="$with_gas" - with_gas=$withval -else - with_gas="mhd" -fi; -if test "$with_gas" = "hydro"; then - GAS="HYDRO" - flux_default="hllc" -elif test "$with_gas" = "mhd"; then - GAS="MHD" - flux_default="roe" -else - { { echo "$as_me:$LINENO: error: expected --with-gas=mhd or hydro" >&5 -echo "$as_me: error: expected --with-gas=mhd or hydro" >&2;} - { (exit 1); exit 1; }; } -fi - -#------------------------------------------------------------------------------- -# PHYSICS PACKAGE: equation of state -# --with-eos=[adiabatic,isothermal] (default is adiabatic) - - - -# Check whether --with-eos or --without-eos was given. -if test "${with_eos+set}" = set; then - withval="$with_eos" - with_eos=$withval -else - with_eos=adiabatic -fi; -if test "$with_eos" = "adiabatic"; then - EOS="ADIABATIC" -elif test "$with_eos" = "isothermal"; then - EOS="ISOTHERMAL" -else - { { echo "$as_me:$LINENO: error: expected --with-eos=adiabatic or isothermal" >&5 -echo "$as_me: error: expected --with-eos=adiabatic or isothermal" >&2;} - { (exit 1); exit 1; }; } -fi - -#------------------------------------------------------------------------------- -# PHYSICS PACKAGE: nscalars -# --with-nscalars=n (n is any integer, default is 0) -# number of passively advected scalars - - - -# Check whether --with-nscalars or --without-nscalars was given. -if test "${with_nscalars+set}" = set; then - withval="$with_nscalars" - nscalars=$withval -else - nscalars=0 -fi; -if test "$nscalars" = "0"; then - NSCALARS="0" -elif test "$nscalars" != "0"; then - NSCALARS=$nscalars -else - { { echo "$as_me:$LINENO: error: expected --with-nscalars=n" >&5 -echo "$as_me: error: expected --with-nscalars=n" >&2;} - { (exit 1); exit 1; }; } -fi - -#------------------------------------------------------------------------------- -# PHYSICS PACKAGE: self-gravity -# --with-gravity= [fft,fft_obc,multigrid] - - - - -# Check whether --with-gravity or --without-gravity was given. -if test "${with_gravity+set}" = set; then - withval="$with_gravity" - gravity_algorithm=$withval -else - gravity_algorithm=none -fi; - -if test "$gravity_algorithm" = "fft"; then - SELF_GRAVITY_DEFINE="SELF_GRAVITY" - SELF_GRAVITY_USER="ON" - SELF_GRAVITY_ALGORITHM="SELF_GRAVITY_USING_FFT" -elif test "$gravity_algorithm" = "fft_obc"; then - SELF_GRAVITY_DEFINE="SELF_GRAVITY" - SELF_GRAVITY_USER="ON" - SELF_GRAVITY_ALGORITHM="SELF_GRAVITY_USING_FFT_OBC" -elif test "$gravity_algorithm" = "multigrid"; then - SELF_GRAVITY_DEFINE="SELF_GRAVITY" - SELF_GRAVITY_USER="ON" - SELF_GRAVITY_ALGORITHM="SELF_GRAVITY_USING_MULTIGRID" -elif test "$gravity_algorithm" = "none"; then - SELF_GRAVITY_DEFINE="NO_SELF_GRAVITY" - SELF_GRAVITY_USER="OFF" - SELF_GRAVITY_ALGORITHM="SELF_GRAVITY_NONE" -else - { { echo "$as_me:$LINENO: error: expected --with-gravity=fft, fft_obc, or multigrid" >&5 -echo "$as_me: error: expected --with-gravity=fft, fft_obc, or multigrid" >&2;} - { (exit 1); exit 1; }; } -fi - -#------------------------------------------------------------------------------- -# PHYSICS PACKAGE: particles -# --with-particles=[feedback,passive] - - - - -# Check whether --with-particles or --without-particles was given. -if test "${with_particles+set}" = set; then - withval="$with_particles" - particles_algorithm=$withval -else - particles_algorithm=none -fi; - -if test "$particles_algorithm" = "feedback"; then - FEEDBACK_DEFINE="FEEDBACK" - PARTICLES_USER="feedback" - PARTICLES_ALGORITHM="PARTICLES" -elif test "$particles_algorithm" = "passive"; then - FEEDBACK_DEFINE="NO_FEEDBACK" - PARTICLES_USER="passive" - PARTICLES_ALGORITHM="PARTICLES" -elif test "$particles_algorithm" = "none"; then - FEEDBACK_DEFINE="NO_FEEDBACK" - PARTICLES_USER="OFF" - PARTICLES_ALGORITHM="NO_PARTICLES" -else - { { echo "$as_me:$LINENO: error: expected --with-particles=feedback or passive" >&5 -echo "$as_me: error: expected --with-particles=feedback or passive" >&2;} - { (exit 1); exit 1; }; } -fi - -#------------------------------------------------------------------------------- -# PACKAGE: coordinate system -# --with-coord=[cartesian,cylindrical] (default is cartesian) - - - -# Check whether --with-coord or --without-coord was given. -if test "${with_coord+set}" = set; then - withval="$with_coord" - with_coord=$withval -else - with_coord=cartesian -fi; -if test "$with_coord" = "cartesian"; then - COORD="CARTESIAN" -elif test "$with_coord" = "cylindrical"; then - COORD="CYLINDRICAL" -else - { { echo "$as_me:$LINENO: error: expected --with-coord=cartesian or cylindrical" >&5 -echo "$as_me: error: expected --with-coord=cartesian or cylindrical" >&2;} - { (exit 1); exit 1; }; } -fi - -#------------------------------------------------------------------------------- -# PHYSICS FEATURE: explicit thermal conduction -# --enable-conduction - - -# Check whether --enable-conduction or --disable-conduction was given. -if test "${enable_conduction+set}" = set; then - enableval="$enable_conduction" - ok=$enableval -else - ok=no -fi; -if test "$ok" = "yes"; then - CONDUCTION_MODE="THERMAL_CONDUCTION" - CONDUCTION_MODE_USER="ON" -else - CONDUCTION_MODE="NO_THERMAL_CONDUCTION" - CONDUCTION_MODE_USER="OFF" -fi - -#------------------------------------------------------------------------------- -# PHYSICS FEATURE: explicit resistivity -# --enable-resistivity - - -# Check whether --enable-resistivity or --disable-resistivity was given. -if test "${enable_resistivity+set}" = set; then - enableval="$enable_resistivity" - ok=$enableval -else - ok=no -fi; -if test "$ok" = "yes"; then - RESISTIVITY_MODE="RESISTIVITY" - RESISTIVITY_MODE_USER="ON" -else - RESISTIVITY_MODE="NO_RESISTIVITY" - RESISTIVITY_MODE_USER="OFF" -fi - -#------------------------------------------------------------------------------- -# PHYSICS FEATURE: special relativistic hydro or MHD -# --enable-special-relativity - - -# Check whether --enable-special-relativity or --disable-special-relativity was given. -if test "${enable_special_relativity+set}" = set; then - enableval="$enable_special_relativity" - ok=$enableval -else - ok=no -fi; -if test "$ok" = "yes"; then - SPECIAL_RELATIVITY_MODE="SPECIAL_RELATIVITY" - SPECIAL_RELATIVITY_MODE_USER="ON" -else - SPECIAL_RELATIVITY_MODE="NEWTONIAN" - SPECIAL_RELATIVITY_MODE_USER="OFF" -fi - -#------------------------------------------------------------------------------- -# PHYSICS FEATURE: explicit viscosity -# --enable-viscosity - - -# Check whether --enable-viscosity or --disable-viscosity was given. -if test "${enable_viscosity+set}" = set; then - enableval="$enable_viscosity" - ok=$enableval -else - ok=no -fi; -if test "$ok" = "yes"; then - VISCOSITY_MODE="VISCOSITY" - VISCOSITY_MODE_USER="ON" -else - VISCOSITY_MODE="NO_VISCOSITY" - VISCOSITY_MODE_USER="OFF" -fi - -#------------------------------------------------------------------------------- -# ALGORITHM PACKAGE: set the order and type of the spatial reconstruction -# --with-order=[1,2,3] - #-order reconstruction in the characteristic vars -# --with-order=[2p,3p] - #-order reconstruction in the primitive vars -# (default is 2 -- 2nd-order reconstruction in the characteristic vars) - - - - - -# Check whether --with-order or --without-order was given. -if test "${with_order+set}" = set; then - withval="$with_order" - with_order=$withval -else - with_order="2" -fi; -ORDER=$with_order -if test "$with_order" = "1"; then - ACCURACY="FIRST_ORDER" -elif test "$with_order" = "2"; then - ACCURACY="SECOND_ORDER_CHAR" -elif test "$with_order" = "2p"; then - ACCURACY="SECOND_ORDER_PRIM" -elif test "$with_order" = "3"; then - ACCURACY="THIRD_ORDER_CHAR" -elif test "$with_order" = "3p"; then - ACCURACY="THIRD_ORDER_PRIM" -else - { { echo "$as_me:$LINENO: error: expected --with-order=1, 2, 3, 2p, or 3p" >&5 -echo "$as_me: error: expected --with-order=1, 2, 3, 2p, or 3p" >&2;} - { (exit 1); exit 1; }; } -fi - -#------------------------------------------------------------------------------- -# ALGORITHM PACKAGE: flux function -# --with-flux=[roe,hlle,hllc,hlld,force,exact] -# (default is roe if gas=mhd, hllc if gas=hydro) - - - - -# Check whether --with-flux or --without-flux was given. -if test "${with_flux+set}" = set; then - withval="$with_flux" - with_flux=$withval -else - with_flux=$flux_default -fi; -FLUX_NAME=$with_flux -if test "$with_flux" = "roe"; then - FLUX_DEF="ROE_FLUX" -elif test "$with_flux" = "hlle"; then - FLUX_DEF="HLLE_FLUX" -elif test "$with_flux" = "hllc"; then - FLUX_DEF="HLLC_FLUX" -elif test "$with_flux" = "hlld"; then - FLUX_DEF="HLLD_FLUX" -elif test "$with_flux" = "force"; then - FLUX_DEF="FORCE_FLUX" -elif test "$with_flux" = "exact"; then - FLUX_DEF="EXACT_FLUX" -elif test "$with_flux" = "two-shock"; then - FLUX_DEF="TWO_SHOCK_FLUX" -else - { { echo "$as_me:$LINENO: error: Invalid flux function, valid types are: roe, hlle, hllc hlld, force, exact, two-shock" >&5 -echo "$as_me: error: Invalid flux function, valid types are: roe, hlle, hllc hlld, force, exact, two-shock" >&2;} - { (exit 1); exit 1; }; } -fi - -#------------------------------------------------------------------------------- -# ALGORITHM PACKAGE: set the unsplit integration algorithm -# --with-integrator=[ctu,vl] (default is ctu) - - - - - -# Check whether --with-integrator or --without-integrator was given. -if test "${with_integrator+set}" = set; then - withval="$with_integrator" - with_integrator=$withval -else - with_integrator="ctu" -fi; -INTEGRATOR=$with_integrator -if test "$with_integrator" = "ctu"; then - INTEGRATOR_DEF="CTU_INTEGRATOR" -elif test "$with_integrator" = "vl"; then - INTEGRATOR_DEF="VL_INTEGRATOR" -else - { { echo "$as_me:$LINENO: error: expected --with-integrator=ctu or vl" >&5 -echo "$as_me: error: expected --with-integrator=ctu or vl" >&2;} - { (exit 1); exit 1; }; } -fi - -#------------------------------------------------------------------------------- -# ALGORITHM PACKAGE: set compiler options. -# --with-cflags=[opt,debug,profile] (default is opt) - - - - - -# Check whether --with-cflags or --without-cflags was given. -if test "${with_cflags+set}" = set; then - withval="$with_cflags" - with_debug=$withval -else - with_debug="opt" -fi; -if test "$with_debug" = "debug"; then - COMPILER_OPTS="-g -Wall -W -ansi -pedantic" - DEBUG_MODE="DEBUG" -elif test "$with_debug" = "profile"; then - COMPILER_OPTS="-O3 -pg" - DEBUG_MODE="PROFILE" -elif test "$with_debug" = "opt"; then - COMPILER_OPTS="-O3" - DEBUG_MODE="OPTIMIZE" -else - { { echo "$as_me:$LINENO: error: expected --with-cflags=opt,debug, or profile" >&5 -echo "$as_me: error: expected --with-cflags=opt,debug, or profile" >&2;} - { (exit 1); exit 1; }; } -fi - - -#------------------------------------------------------------------------------- -# ALGORITHM FEATURE: precision of floating point arithmetic -# --enable-single (default is double) - - -# Check whether --enable-single or --disable-single was given. -if test "${enable_single+set}" = set; then - enableval="$enable_single" - ok=$enableval -else - ok=no -fi; -if test "$ok" = "yes"; then - PRECISION="SINGLE_PREC" -else - PRECISION="DOUBLE_PREC" -fi - -#------------------------------------------------------------------------------- -# ALGORITHM FEATURE: write ghost cells in outputs/dumps -# --enable-ghost - - -# Check whether --enable-ghost or --disable-ghost was given. -if test "${enable_ghost+set}" = set; then - enableval="$enable_ghost" - ok=$enableval -else - ok=no -fi; -if test "$ok" = "yes"; then - WRITE_GHOST_MODE="WRITE_GHOST_CELLS" - WRITE_GHOST_MODE_USER="ON" -else - WRITE_GHOST_MODE="NO_WRITE_GHOST_CELLS" - WRITE_GHOST_MODE_USER="OFF" -fi - -#------------------------------------------------------------------------------- -# ALGORITHM FEATURE: parallelize with MPI, --enable-mpi (default is no MPI) - - -# Check whether --enable-mpi or --disable-mpi was given. -if test "${enable_mpi+set}" = set; then - enableval="$enable_mpi" - ok=$enableval -else - ok=no -fi; -if test "$ok" = "yes"; then - MPI_MODE="MPI_PARALLEL" - MPI_MODE_USER="ON" -else - MPI_MODE="NO_MPI_PARALLEL" - MPI_MODE_USER="OFF" -fi - -#------------------------------------------------------------------------------- -# ALGORITHM FEATURE: turn on H-correction in multidimensional integrators -# --enable-h-correction -# Note that H-correction only works with Roe flux. Prints error message if -# H-correction is enabled with any other flux. - - -# Check whether --enable-h-correction or --disable-h-correction was given. -if test "${enable_h_correction+set}" = set; then - enableval="$enable_h_correction" - ok=$enableval -else - ok=no -fi; -if test "$ok" = "yes"; then -if test "$with_flux" = "roe"; then - H_CORRECTION_MODE="H_CORRECTION" - H_CORRECTION_MODE_USER="ON" -else - { { echo "$as_me:$LINENO: error: H-correction only works with Roe flux" >&5 -echo "$as_me: error: H-correction only works with Roe flux" >&2;} - { (exit 1); exit 1; }; } -fi -else - H_CORRECTION_MODE="NO_H_CORRECTION" - H_CORRECTION_MODE_USER="OFF" -fi - -#------------------------------------------------------------------------------- -# ALGORITHM FEATURE: turn on FFT libraries -# --enable-fft - - -# Check whether --enable-fft or --disable-fft was given. -if test "${enable_fft+set}" = set; then - enableval="$enable_fft" - ok=$enableval -else - ok=no -fi; -if test "$ok" = "yes"; then - FFT_MODE="FFT_ENABLED" - FFT_MODE_USER="ON" -else - FFT_MODE="NO_FFT" - FFT_MODE_USER="OFF" -fi - -#------------------------------------------------------------------------------- -# ALGORITHM FEATURE: turn on shearing box evolution -# --enable-shearing-box -# Note shearing box only works with CTU+CT integrator. Prints error message if -# shearing box is enabled with VL+CT integrator. - - -# Check whether --enable-shearing-box or --disable-shearing-box was given. -if test "${enable_shearing_box+set}" = set; then - enableval="$enable_shearing_box" - ok=$enableval -else - ok=no -fi; -if test "$ok" = "yes"; then -if test "$with_integrator" = "ctu"; then - SHEARING_BOX_MODE="SHEARING_BOX" - SHEARING_BOX_MODE_USER="ON" -else - { { echo "$as_me:$LINENO: error: shearing-box only works with CTU+CT integrator" >&5 -echo "$as_me: error: shearing-box only works with CTU+CT integrator" >&2;} - { (exit 1); exit 1; }; } -fi -else - SHEARING_BOX_MODE="NO_SHEARING_BOX" - SHEARING_BOX_MODE_USER="OFF" -fi - -#------------------------------------------------------------------------------- -# ALGORITHM FEATURE: turn on FARGO algorithm -# --enable-fargo - - -# Check whether --enable-fargo or --disable-fargo was given. -if test "${enable_fargo+set}" = set; then - enableval="$enable_fargo" - ok=$enableval -else - ok=no -fi; -if test "$ok" = "yes"; then - FARGO_MODE="FARGO" - FARGO_MODE_USER="ON" -else - FARGO_MODE="NO_FARGO" - FARGO_MODE_USER="OFF" -fi - -#------------------------------------------------------------------------------- -# ALGORITHM FEATURE: static mesh refinement -# --enable-smr (default is no SMR) - - -# Check whether --enable-smr or --disable-smr was given. -if test "${enable_smr+set}" = set; then - enableval="$enable_smr" - ok=$enableval -else - ok=no -fi; -if test "$ok" = "yes"; then - MESH_REFINEMENT="STATIC_MESH_REFINEMENT" - SMR_MODE_USER="ON" -else - MESH_REFINEMENT="NO_MESH_REFINEMENT" - SMR_MODE_USER="OFF" -fi - -#------------------------------------------------------------------------------- -# ALGORITHM FEATURE: turn on all-wave integration for HLL fluxes -# --enable-hllallwaves -# This allows the L/R-states algorithms to integrate characteristics over -# domains of dependence of all waves, even those that lie on the "wrong" side of -# the interface. Requires that one of the HLL-type lrstates algorithms be -# enabled, otherwise prints error message. - - -# Check whether --enable-hllallwave or --disable-hllallwave was given. -if test "${enable_hllallwave+set}" = set; then - enableval="$enable_hllallwave" - ok=$enableval -else - ok=no -fi; -if test "$ok" = "yes"; then -if test "$with_flux" = "hlle"; then - HLL_ALL_WAVE_MODE="HLL_ALL_WAVE" - HLL_ALL_WAVE_MODE_USER="ON" -elif test "$with_flux" = "hllc"; then - HLL_ALL_WAVE_MODE="HLL_ALL_WAVE" - HLL_ALL_WAVE_MODE_USER="ON" -elif test "$with_flux" = "hlld"; then - HLL_ALL_WAVE_MODE="HLL_ALL_WAVE" - HLL_ALL_WAVE_MODE_USER="ON" -else - { { echo "$as_me:$LINENO: error: All-wave integration only works with HLL-type fluxes!" >&5 -echo "$as_me: error: All-wave integration only works with HLL-type fluxes!" >&2;} - { (exit 1); exit 1; }; } -fi -else - HLL_ALL_WAVE_MODE="NOT_HLL_ALL_WAVE" - HLL_ALL_WAVE_MODE_USER="OFF" -fi - -#------------------------------------------------------------------------------- -# ALGORITHM FEATURE: first-order flux correction with VL integrator -# --enable-fofc - - -# Check whether --enable-fofc or --disable-fofc was given. -if test "${enable_fofc+set}" = set; then - enableval="$enable_fofc" - ok=$enableval -else - ok=no -fi; -if test "$ok" = "yes"; then -if test "$with_integrator" = "vl"; then - FOFC_MODE="FIRST_ORDER_FLUX_CORRECTION" - FOFC_MODE_USER="ON" -else - { { echo "$as_me:$LINENO: error: first-order flux correction only works with VL integrator!" >&5 -echo "$as_me: error: first-order flux correction only works with VL integrator!" >&2;} - { (exit 1); exit 1; }; } -fi -else - FOFC_MODE="NO_FIRST_ORDER_FLUX_CORRECTION" - FOFC_MODE_USER="OFF" -fi - -#------------------------------------------------------------------------------- -# check for compatibility of various options - -if test "$with_coord" = "cylindrical"; then - if test "$nscalars" != "0"; then - { { echo "$as_me:$LINENO: error: Sorry, passive scalars and cylindrical coordinates are currently incompatible!" >&5 -echo "$as_me: error: Sorry, passive scalars and cylindrical coordinates are currently incompatible!" >&2;} - { (exit 1); exit 1; }; } - elif test "$gravity_algorithm" != "none"; then - { { echo "$as_me:$LINENO: error: Sorry, self-gravity and cylindrical coordinates are currently incompatible!" >&5 -echo "$as_me: error: Sorry, self-gravity and cylindrical coordinates are currently incompatible!" >&2;} - { (exit 1); exit 1; }; } - elif test "$particles_algorithm" != "none"; then - { { echo "$as_me:$LINENO: error: Sorry, particles and cylindrical coordinates are currently incompatible!" >&5 -echo "$as_me: error: Sorry, particles and cylindrical coordinates are currently incompatible!" >&2;} - { (exit 1); exit 1; }; } - fi -fi - -#------------------------------------------------------------------------------- -# check for various library functions - - -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 -echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -@%:@include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f 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 -echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -@%:@include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -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 - - -echo "$as_me:$LINENO: checking for egrep" >&5 -echo $ECHO_N "checking for egrep... $ECHO_C" >&6 -if test "${ac_cv_prog_egrep+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if echo a | (grep -E '(a|b)') >/dev/null 2>&1 - then ac_cv_prog_egrep='grep -E' - else ac_cv_prog_egrep='egrep' - fi -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 -echo "${ECHO_T}$ac_cv_prog_egrep" >&6 - EGREP=$ac_cv_prog_egrep - - -if test $ac_cv_c_compiler_gnu = yes; then - echo "$as_me:$LINENO: checking whether $CC needs -traditional" >&5 -echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6 -if test "${ac_cv_prog_gcc_traditional+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_pattern="Autoconf.*'x'" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -Autoconf TIOCGETP -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "$ac_pattern" >/dev/null 2>&1; then - ac_cv_prog_gcc_traditional=yes -else - ac_cv_prog_gcc_traditional=no -fi -rm -f conftest* - - - if test $ac_cv_prog_gcc_traditional = no; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -Autoconf TCGETA -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "$ac_pattern" >/dev/null 2>&1; then - ac_cv_prog_gcc_traditional=yes -fi -rm -f conftest* - - fi -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5 -echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6 - if test $ac_cv_prog_gcc_traditional = yes; then - CC="$CC -traditional" - fi -fi - - -for ac_func in strdup -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -/* 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_$ac_func) || defined (__stub___$ac_func) -choke me -#else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_var=no" -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - -echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 -echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6 -if test "${ac_cv_c_bigendian+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # See if sys/param.h defines the BYTE_ORDER macro. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include - -int -main () -{ -#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN - bogus endian macros -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - # It does; now see whether it defined to BIG_ENDIAN or not. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include - -int -main () -{ -#if BYTE_ORDER != BIG_ENDIAN - not big endian -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_c_bigendian=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_c_bigendian=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -# It does not; compile a test program. -if test "$cross_compiling" = yes; then - # try to guess the endianness by grepping values into an object file - ac_cv_c_bigendian=unknown - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; -short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; -void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } -short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; -short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; -void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } -int -main () -{ - _ascii (); _ebcdic (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; 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 -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long l; - char c[sizeof (long)]; - } u; - u.l = 1; - exit (u.c[sizeof (long) - 1] == 1); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_c_bigendian=no -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_c_bigendian=yes -fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 -echo "${ECHO_T}$ac_cv_c_bigendian" >&6 -case $ac_cv_c_bigendian in - yes) - -cat >>confdefs.h <<\_ACEOF -@%:@define WORDS_BIGENDIAN 1 -_ACEOF - ;; - no) - ;; - *) - { { echo "$as_me:$LINENO: error: unknown endianness -presetting ac_cv_c_bigendian=no (or yes) will help" >&5 -echo "$as_me: error: unknown endianness -presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} - { (exit 1); exit 1; }; } ;; -esac - - -#------------------------------------------------------------------------------- -# date and time of configure, becomes a macro in defs.h - -A_CONFIGURE_DATE="`date`" - - -#------------------------------------------------------------------------------- -# write final diagnostic output - - - -WARNING1="WARNING! This file has been automatically generated by configure." -WARNING2="Any changes to it will be overwritten the next time configure is run." - - ac_config_files="$ac_config_files Makefile Makeoptions src/Makefile src/defs.h src/fftsrc/Makefile src/gravity/Makefile src/integrators/Makefile src/microphysics/Makefile src/reconstruction/Makefile src/rsolvers/Makefile src/particles/Makefile" - -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, don't put newlines in cache variables' values. -# 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. -{ - (set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *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 \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; -} | - sed ' - t clear - : clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - : end' >>confcache -if diff $cache_file confcache >/dev/null 2>&1; then :; else - if test -w $cache_file; then - test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" - cat confcache >$cache_file - else - echo "not updating unwritable cache $cache_file" - 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}' - -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ 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[ ]*=/{ -s/:*\$(srcdir):*/:/; -s/:*\${srcdir}:*/:/; -s/:*@srcdir@:*/:/; -s/^\([^=]*=[ ]*\):*/\1/; -s/:*$//; -s/^[^=]*=[ ]*$//; -}' -fi - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_i=`echo "$ac_i" | - sed 's/\$U\././;s/\.o$//;s/\.obj$//'` - # 2. Add them. - ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' -done -LIB@&t@OBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - - -: ${CONFIG_STATUS=./config.status} -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 -echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF -#! $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} -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi -DUALCASE=1; export DUALCASE # for MKS sh - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# Work around bugs in pre-3.0 UWIN ksh. -$as_unset ENV MAIL MAILPATH -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - $as_unset $as_var - fi -done - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1; 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 - - -# Name of the executable. -as_me=`$as_basename "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - - -# PATH needs CR, and LINENO needs CR and PATH. -# 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 - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" || { - # Find who we are. Look in the path if we contain no path at all - # relative or not. - 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 - - ;; - 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 - { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 -echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} - { (exit 1); exit 1; }; } - fi - case $CONFIG_SHELL in - '') - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for as_base in sh bash ksh sh5; do - case $as_dir in - /*) - if ("$as_dir/$as_base" -c ' - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then - $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } - $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } - CONFIG_SHELL=$as_dir/$as_base - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" ${1+"$@"} - fi;; - esac - done -done -;; - esac - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line before each line; the second 'sed' does the real - # work. The second script uses 'N' to pair each line-number line - # with the numbered line, and appends trailing '-' during - # substitution so that $LINENO is not a special case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) - sed '=' <$as_myself | - sed ' - N - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, - t loop - s,-$,, - s,^['$as_cr_digits']*\n,, - ' >$as_me.lineno && - chmod +x $as_me.lineno || - { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 -echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} - { (exit 1); exit 1; }; } - - # 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 sensible to this). - . ./$as_me.lineno - # Exit status is that of the last command. - exit -} - - -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -esac - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.file - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_executable_p="test -f" - -# 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'" - - -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH - -exec 6>&1 - -# Open the log real soon, to keep \$[0] and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. Logging --version etc. is OK. -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX -@%:@@%:@ Running $as_me. @%:@@%:@ -_ASBOX -} >&5 -cat >&5 <<_CSEOF - -This file was extended by $as_me, which was -generated by GNU Autoconf 2.59. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -_CSEOF -echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 -echo >&5 -_ACEOF - -# Files that config.status was made for. -if test -n "$ac_config_files"; then - echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_headers"; then - echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_links"; then - echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_commands"; then - echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS -fi - -cat >>$CONFIG_STATUS <<\_ACEOF - -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. - -Usage: $0 [OPTIONS] [FILE]... - - -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet 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_cs_version="\\ -config.status -configured by $0, generated by GNU Autoconf 2.59, - with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" - -Copyright (C) 2003 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." -srcdir=$srcdir -INSTALL="$INSTALL" -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -# If no file are specified by the user, then we need to provide default -# value. By we need to know if files were specified by the user. -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=$1 - ac_optarg=$2 - ac_shift=shift - ;; - *) # This is not an option, so the user has probably given explicit - # arguments. - ac_option=$1 - ac_need_defaults=false;; - esac - - case $ac_option in - # Handling of the options. -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --vers* | -V ) - echo "$ac_cs_version"; exit 0 ;; - --he | --h) - # Conflict between --help and --header - { { echo "$as_me:$LINENO: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - echo "$ac_cs_usage"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - CONFIG_FILES="$CONFIG_FILES $ac_optarg" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" - ac_need_defaults=false;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; } ;; - - *) ac_config_targets="$ac_config_targets $1" ;; - - 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 -if \$ac_cs_recheck; then - echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 - exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion -fi - -_ACEOF - - - - - -cat >>$CONFIG_STATUS <<\_ACEOF -for ac_config_target in $ac_config_targets -do - case "$ac_config_target" in - # Handling of arguments. - "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "Makeoptions" ) CONFIG_FILES="$CONFIG_FILES Makeoptions" ;; - "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; - "src/defs.h" ) CONFIG_FILES="$CONFIG_FILES src/defs.h" ;; - "src/fftsrc/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/fftsrc/Makefile" ;; - "src/gravity/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/gravity/Makefile" ;; - "src/integrators/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/integrators/Makefile" ;; - "src/microphysics/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/microphysics/Makefile" ;; - "src/reconstruction/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/reconstruction/Makefile" ;; - "src/rsolvers/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/rsolvers/Makefile" ;; - "src/particles/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/particles/Makefile" ;; - "src/config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS src/config.h" ;; - *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; - 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 to put it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Create a temporary directory, and hook for its removal unless debugging. -$debug || -{ - trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 -} - -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=./confstat$$-$RANDOM - (umask 077 && mkdir $tmp) -} || -{ - echo "$me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} - -_ACEOF - -cat >>$CONFIG_STATUS <<_ACEOF - -# -# CONFIG_FILES section. -# - -# No need to generate the scripts if there are no CONFIG_FILES. -# This happens for instance when ./config.status config.h -if test -n "\$CONFIG_FILES"; then - # Protect against being on the right side of a sed subst in config.status. - sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; - s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF -s,@SHELL@,$SHELL,;t t -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t -s,@exec_prefix@,$exec_prefix,;t t -s,@prefix@,$prefix,;t t -s,@program_transform_name@,$program_transform_name,;t t -s,@bindir@,$bindir,;t t -s,@sbindir@,$sbindir,;t t -s,@libexecdir@,$libexecdir,;t t -s,@datadir@,$datadir,;t t -s,@sysconfdir@,$sysconfdir,;t t -s,@sharedstatedir@,$sharedstatedir,;t t -s,@localstatedir@,$localstatedir,;t t -s,@libdir@,$libdir,;t t -s,@includedir@,$includedir,;t t -s,@oldincludedir@,$oldincludedir,;t t -s,@infodir@,$infodir,;t t -s,@mandir@,$mandir,;t t -s,@build_alias@,$build_alias,;t t -s,@host_alias@,$host_alias,;t t -s,@target_alias@,$target_alias,;t t -s,@DEFS@,$DEFS,;t t -s,@ECHO_C@,$ECHO_C,;t t -s,@ECHO_N@,$ECHO_N,;t t -s,@ECHO_T@,$ECHO_T,;t t -s,@LIBS@,$LIBS,;t t -s,@CC@,$CC,;t t -s,@CFLAGS@,$CFLAGS,;t t -s,@LDFLAGS@,$LDFLAGS,;t t -s,@CPPFLAGS@,$CPPFLAGS,;t t -s,@ac_ct_CC@,$ac_ct_CC,;t t -s,@EXEEXT@,$EXEEXT,;t t -s,@OBJEXT@,$OBJEXT,;t t -s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t -s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t -s,@INSTALL_DATA@,$INSTALL_DATA,;t t -s,@PROBLEM@,$PROBLEM,;t t -s,@GAS@,$GAS,;t t -s,@EOS@,$EOS,;t t -s,@NSCALARS@,$NSCALARS,;t t -s,@SELF_GRAVITY_DEFINE@,$SELF_GRAVITY_DEFINE,;t t -s,@SELF_GRAVITY_ALGORITHM@,$SELF_GRAVITY_ALGORITHM,;t t -s,@PARTICLES_ALGORITHM@,$PARTICLES_ALGORITHM,;t t -s,@FEEDBACK_DEFINE@,$FEEDBACK_DEFINE,;t t -s,@COORD@,$COORD,;t t -s,@CONDUCTION_MODE@,$CONDUCTION_MODE,;t t -s,@RESISTIVITY_MODE@,$RESISTIVITY_MODE,;t t -s,@SPECIAL_RELATIVITY_MODE@,$SPECIAL_RELATIVITY_MODE,;t t -s,@VISCOSITY_MODE@,$VISCOSITY_MODE,;t t -s,@ORDER@,$ORDER,;t t -s,@ACCURACY@,$ACCURACY,;t t -s,@FLUX_NAME@,$FLUX_NAME,;t t -s,@FLUX_DEF@,$FLUX_DEF,;t t -s,@INTEGRATOR@,$INTEGRATOR,;t t -s,@INTEGRATOR_DEF@,$INTEGRATOR_DEF,;t t -s,@DEBUG_MODE@,$DEBUG_MODE,;t t -s,@COMPILER_OPTS@,$COMPILER_OPTS,;t t -s,@PRECISION@,$PRECISION,;t t -s,@WRITE_GHOST_MODE@,$WRITE_GHOST_MODE,;t t -s,@MPI_MODE@,$MPI_MODE,;t t -s,@H_CORRECTION_MODE@,$H_CORRECTION_MODE,;t t -s,@FFT_MODE@,$FFT_MODE,;t t -s,@SHEARING_BOX_MODE@,$SHEARING_BOX_MODE,;t t -s,@FARGO_MODE@,$FARGO_MODE,;t t -s,@MESH_REFINEMENT@,$MESH_REFINEMENT,;t t -s,@HLL_ALL_WAVE_MODE@,$HLL_ALL_WAVE_MODE,;t t -s,@FOFC_MODE@,$FOFC_MODE,;t t -s,@CPP@,$CPP,;t t -s,@EGREP@,$EGREP,;t t -s,@A_CONFIGURE_DATE@,$A_CONFIGURE_DATE,;t t -s,@WARNING1@,$WARNING1,;t t -s,@WARNING2@,$WARNING2,;t t -s,@LIB@&t@OBJS@,$LIB@&t@OBJS,;t t -s,@LTLIBOBJS@,$LTLIBOBJS,;t t -CEOF - -_ACEOF - - cat >>$CONFIG_STATUS <<\_ACEOF - # Split the substitutions into bite-sized pieces for seds with - # small command number limits, like on Digital OSF/1 and HP-UX. - ac_max_sed_lines=48 - ac_sed_frag=1 # Number of current file. - ac_beg=1 # First line for current file. - ac_end=$ac_max_sed_lines # Line after last line for current file. - ac_more_lines=: - ac_sed_cmds= - while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - else - sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - fi - if test ! -s $tmp/subs.frag; then - ac_more_lines=false - else - # The purpose of the label and of the branching condition is to - # speed up the sed processing (if there are no `@' at all, there - # is no need to browse any of the substitutions). - # These are the two extra sed commands mentioned above. - (echo ':t - /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" - else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" - fi - ac_sed_frag=`expr $ac_sed_frag + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_lines` - fi - done - if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat - fi -fi # test -n "$CONFIG_FILES" - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; - esac - - # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. - ac_dir=`(dirname "$ac_file") 2>/dev/null || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - { if $as_mkdir_p; then - mkdir -p "$ac_dir" - else - as_dir="$ac_dir" - as_dirs= - while test ! -d "$as_dir"; do - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - done - test ! -n "$as_dirs" || mkdir $as_dirs - fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 -echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} - { (exit 1); exit 1; }; }; } - - ac_builddir=. - -if test "$ac_dir" != .; then - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi - -case $srcdir in - .) # No --srcdir option. We are building in place. - ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; -esac - -# Do not use `cd foo && pwd` to compute absolute paths, because -# the directories may not exist. -case `pwd` in -.) ac_abs_builddir="$ac_dir";; -*) - case "$ac_dir" in - .) ac_abs_builddir=`pwd`;; - [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; - *) ac_abs_builddir=`pwd`/"$ac_dir";; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_builddir=${ac_top_builddir}.;; -*) - case ${ac_top_builddir}. in - .) ac_abs_top_builddir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; - *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_srcdir=$ac_srcdir;; -*) - case $ac_srcdir in - .) ac_abs_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; - *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_srcdir=$ac_top_srcdir;; -*) - case $ac_top_srcdir in - .) ac_abs_top_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; - *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; - esac;; -esac - - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_builddir$INSTALL ;; - esac - - if test x"$ac_file" != x-; then - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - rm -f "$ac_file" - fi - # 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. */ - if test x"$ac_file" = x-; then - configure_input= - else - configure_input="$ac_file. " - fi - configure_input=$configure_input"Generated from `echo $ac_file_in | - sed 's,.*/,,'` by configure." - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo "$f";; - *) # Relative - if test -f "$f"; then - # Build tree - echo "$f" - elif test -f "$srcdir/$f"; then - # Source tree - echo "$srcdir/$f" - else - # /dev/null tree - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF - sed "$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s,@configure_input@,$configure_input,;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,@top_builddir@,$ac_top_builddir,;t t -s,@abs_top_builddir@,$ac_abs_top_builddir,;t t -s,@INSTALL@,$ac_INSTALL,;t t -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out - rm -f $tmp/stdin - if test x"$ac_file" != x-; then - mv $tmp/out $ac_file - else - cat $tmp/out - rm -f $tmp/out - fi - -done -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF - -# -# CONFIG_HEADER section. -# - -# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -# NAME is the cpp macro being defined and VALUE is the value it is being given. -# -# ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='[ ].*$,\1#\2' -ac_dC=' ' -ac_dD=',;t' -# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='$,\1#\2define\3' -ac_uC=' ' -ac_uD=',;t' - -for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; - esac - - test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - # Do quote $f, to prevent DOS paths from being IFS'd. - echo "$f";; - *) # Relative - if test -f "$f"; then - # Build tree - echo "$f" - elif test -f "$srcdir/$f"; then - # Source tree - echo "$srcdir/$f" - else - # /dev/null tree - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } - # Remove the trailing spaces. - sed 's/[ ]*$//' $ac_file_inputs >$tmp/in - -_ACEOF - -# Transform confdefs.h into two sed scripts, `conftest.defines' and -# `conftest.undefs', that substitutes the proper values into -# config.h.in to produce config.h. The first handles `#define' -# templates, and the second `#undef' templates. -# And first: Protect against being on the right side of a sed subst in -# config.status. Protect against being in an unquoted here document -# in config.status. -rm -f conftest.defines conftest.undefs -# Using a here document instead of a string reduces the quoting nightmare. -# Putting comments in sed scripts is not portable. -# -# `end' is used to avoid that the second main sed command (meant for -# 0-ary CPP macros) applies to n-ary macro definitions. -# See the Autoconf documentation for `clear'. -cat >confdef2sed.sed <<\_ACEOF -s/[\\&,]/\\&/g -s,[\\$`],\\&,g -t clear -: clear -s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp -t end -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp -: end -_ACEOF -# If some macros were called several times there might be several times -# the same #defines, which is useless. Nevertheless, we may not want to -# sort them, since we want the *last* AC-DEFINE to be honored. -uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines -sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs -rm -f confdef2sed.sed - -# This sed command replaces #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. -cat >>conftest.undefs <<\_ACEOF -s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, -_ACEOF - -# Break up conftest.defines because some shells have a limit on the size -# of here documents, and old seds have small limits too (100 cmds). -echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS -echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS -echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS -echo ' :' >>$CONFIG_STATUS -rm -f conftest.tail -while grep . conftest.defines >/dev/null -do - # Write a limited-size here document to $tmp/defines.sed. - echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS - # Speed up: don't consider the non `#define' lines. - echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS - # Work around the forget-to-reset-the-flag bug. - echo 't clr' >>$CONFIG_STATUS - echo ': clr' >>$CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS - echo 'CEOF - sed -f $tmp/defines.sed $tmp/in >$tmp/out - rm -f $tmp/in - mv $tmp/out $tmp/in -' >>$CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail - rm -f conftest.defines - mv conftest.tail conftest.defines -done -rm -f conftest.defines -echo ' fi # grep' >>$CONFIG_STATUS -echo >>$CONFIG_STATUS - -# Break up conftest.undefs because some shells have a limit on the size -# of here documents, and old seds have small limits too (100 cmds). -echo ' # Handle all the #undef templates' >>$CONFIG_STATUS -rm -f conftest.tail -while grep . conftest.undefs >/dev/null -do - # Write a limited-size here document to $tmp/undefs.sed. - echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS - # Speed up: don't consider the non `#undef' - echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS - # Work around the forget-to-reset-the-flag bug. - echo 't clr' >>$CONFIG_STATUS - echo ': clr' >>$CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS - echo 'CEOF - sed -f $tmp/undefs.sed $tmp/in >$tmp/out - rm -f $tmp/in - mv $tmp/out $tmp/in -' >>$CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail - rm -f conftest.undefs - mv conftest.tail conftest.undefs -done -rm -f conftest.undefs - -cat >>$CONFIG_STATUS <<\_ACEOF - # 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. */ - if test x"$ac_file" = x-; then - echo "/* Generated by configure. */" >$tmp/config.h - else - echo "/* $ac_file. Generated by configure. */" >$tmp/config.h - fi - cat $tmp/in >>$tmp/config.h - rm -f $tmp/in - if test x"$ac_file" != x-; then - if diff $ac_file $tmp/config.h >/dev/null 2>&1; then - { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 -echo "$as_me: $ac_file is unchanged" >&6;} - else - ac_dir=`(dirname "$ac_file") 2>/dev/null || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - { if $as_mkdir_p; then - mkdir -p "$ac_dir" - else - as_dir="$ac_dir" - as_dirs= - while test ! -d "$as_dir"; do - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - done - test ! -n "$as_dirs" || mkdir $as_dirs - fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 -echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} - { (exit 1); exit 1; }; }; } - - rm -f $ac_file - mv $tmp/config.h $ac_file - fi - else - cat $tmp/config.h - rm -f $tmp/config.h - fi -done -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF - -{ (exit 0); exit 0; } -_ACEOF -chmod +x $CONFIG_STATUS -ac_clean_files=$ac_clean_files_save - - -# 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 || { (exit 1); exit 1; } -fi - - -echo "" -echo "Your Athena distribution has now been configured:" -echo "" -echo "--- Physics Options ---" -echo "" -echo "Problem: $PROBLEM" -echo "Gas properties: $GAS" -echo "Equation of State: $EOS" -echo "Coordinate System: $COORD" -echo "Advected scalar fields: $NSCALARS" -if test "$gravity_algorithm" = "none"; then - echo "Self-gravity: $SELF_GRAVITY_USER" -else - echo "Self-gravity: $SELF_GRAVITY_ALGORITHM" -fi -echo "Resistivity: $RESISTIVITY_MODE_USER" -echo "Viscosity: $VISCOSITY_MODE_USER" -echo "Thermal conduction: $CONDUCTION_MODE_USER" -echo "Particles: $PARTICLES_USER" -echo "Special Relativity: $SPECIAL_RELATIVITY_MODE_USER" -echo "" -echo "--- Algorithm Options ----" -echo "" -echo "Spatial Order: $ORDER ($ACCURACY)" -echo "Flux: $FLUX_NAME" -echo "unsplit integrator: $INTEGRATOR" -echo "Precision: $PRECISION" -echo "Compiler options: $COMPILER_OPTS" -echo "Ghost cell output: $WRITE_GHOST_MODE_USER" -echo "Parallel modes: MPI $MPI_MODE_USER" -echo "H-correction: $H_CORRECTION_MODE_USER" -echo "FFT: $FFT_MODE_USER" -echo "Shearing-box: $SHEARING_BOX_MODE_USER" -echo "FARGO: $FARGO_MODE_USER" -echo "All-wave integration: $HLL_ALL_WAVE_MODE_USER" -echo "Static Mesh Refinement: $SMR_MODE_USER" -echo "first-order flux corr: $FOFC_MODE_USER" - diff --git a/src/amuse/community/athena/src/athena/autom4te.cache/requests b/src/amuse/community/athena/src/athena/autom4te.cache/requests deleted file mode 100644 index da12491290..0000000000 --- a/src/amuse/community/athena/src/athena/autom4te.cache/requests +++ /dev/null @@ -1,115 +0,0 @@ -# This file was generated. -# It contains the lists of macros which have been traced. -# It can be safely removed. - -@request = ( - bless( [ - '0', - 1, - [ - '/usr/share/autoconf' - ], - [ - '/usr/share/autoconf/autoconf/autoconf.m4f', - 'configure.ac' - ], - { - 'm4_pattern_forbid' => 1, - 'AC_CONFIG_LIBOBJ_DIR' => 1, - 'AC_TYPE_OFF_T' => 1, - 'AC_C_VOLATILE' => 1, - 'AC_FUNC_CLOSEDIR_VOID' => 1, - 'AC_REPLACE_FNMATCH' => 1, - 'AC_PROG_LIBTOOL' => 1, - 'AC_FUNC_STAT' => 1, - 'AC_HEADER_TIME' => 1, - 'AC_FUNC_WAIT3' => 1, - 'AM_AUTOMAKE_VERSION' => 1, - 'AC_STRUCT_TM' => 1, - 'AC_FUNC_LSTAT' => 1, - 'AC_TYPE_MODE_T' => 1, - 'AC_FUNC_GETMNTENT' => 1, - 'AC_FUNC_STRTOD' => 1, - 'AC_CHECK_HEADERS' => 1, - 'AC_FUNC_STRNLEN' => 1, - 'm4_sinclude' => 1, - 'AC_PROG_CXX' => 1, - 'AC_PATH_X' => 1, - 'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1, - 'AC_PROG_AWK' => 1, - '_m4_warn' => 1, - 'AC_HEADER_STDC' => 1, - 'AC_HEADER_MAJOR' => 1, - 'AC_FUNC_ERROR_AT_LINE' => 1, - 'AC_PROG_GCC_TRADITIONAL' => 1, - 'AC_LIBSOURCE' => 1, - 'AC_FUNC_MBRTOWC' => 1, - 'AC_STRUCT_ST_BLOCKS' => 1, - 'AC_TYPE_SIGNAL' => 1, - 'AC_TYPE_UID_T' => 1, - 'AC_CONFIG_AUX_DIR' => 1, - 'AC_PROG_MAKE_SET' => 1, - 'sinclude' => 1, - 'm4_pattern_allow' => 1, - 'AC_DEFINE_TRACE_LITERAL' => 1, - 'AC_FUNC_STRERROR_R' => 1, - 'AC_PROG_CC' => 1, - 'AC_FUNC_FORK' => 1, - 'AC_DECL_SYS_SIGLIST' => 1, - 'AC_FUNC_VPRINTF' => 1, - 'AC_FUNC_STRCOLL' => 1, - 'AC_PROG_YACC' => 1, - 'AC_INIT' => 1, - 'AC_STRUCT_TIMEZONE' => 1, - 'AC_FUNC_CHOWN' => 1, - 'AC_SUBST' => 1, - 'AC_FUNC_ALLOCA' => 1, - 'AC_CANONICAL_HOST' => 1, - 'AC_FUNC_GETPGRP' => 1, - 'AC_PROG_RANLIB' => 1, - 'AM_INIT_AUTOMAKE' => 1, - 'AC_FUNC_SETPGRP' => 1, - 'AC_CONFIG_SUBDIRS' => 1, - 'AC_FUNC_MMAP' => 1, - 'AC_FUNC_REALLOC' => 1, - 'AC_TYPE_SIZE_T' => 1, - 'AC_CONFIG_LINKS' => 1, - 'AC_CHECK_TYPES' => 1, - 'AC_CHECK_MEMBERS' => 1, - 'AM_MAINTAINER_MODE' => 1, - 'AC_FUNC_UTIME_NULL' => 1, - 'AC_FUNC_SELECT_ARGTYPES' => 1, - 'AC_FUNC_STRFTIME' => 1, - 'AC_HEADER_STAT' => 1, - 'AC_C_INLINE' => 1, - 'AC_PROG_CPP' => 1, - 'AC_TYPE_PID_T' => 1, - 'AC_C_CONST' => 1, - 'AC_PROG_LEX' => 1, - 'AC_CONFIG_FILES' => 1, - 'include' => 1, - 'AC_FUNC_SETVBUF_REVERSED' => 1, - 'AC_PROG_INSTALL' => 1, - 'AM_GNU_GETTEXT' => 1, - 'AC_FUNC_OBSTACK' => 1, - 'AC_CHECK_LIB' => 1, - 'AC_FUNC_MALLOC' => 1, - 'AC_FUNC_GETGROUPS' => 1, - 'AC_FUNC_GETLOADAVG' => 1, - 'AH_OUTPUT' => 1, - 'AC_FUNC_FSEEKO' => 1, - 'AM_PROG_CC_C_O' => 1, - 'AM_CONDITIONAL' => 1, - 'AC_CANONICAL_SYSTEM' => 1, - 'AC_FUNC_MKTIME' => 1, - 'AC_CONFIG_HEADERS' => 1, - 'AC_HEADER_SYS_WAIT' => 1, - 'AC_FUNC_MEMCMP' => 1, - 'AC_PROG_LN_S' => 1, - 'm4_include' => 1, - 'AC_HEADER_DIRENT' => 1, - 'AC_CHECK_FUNCS' => 1 - } - ], 'Autom4te::Request' ) - ); - diff --git a/src/amuse/community/athena/src/athena/autom4te.cache/traces.0 b/src/amuse/community/athena/src/athena/autom4te.cache/traces.0 deleted file mode 100644 index 446e406c49..0000000000 --- a/src/amuse/community/athena/src/athena/autom4te.cache/traces.0 +++ /dev/null @@ -1,122 +0,0 @@ -m4trace:configure.ac:51: -1- AC_INIT([src/athena.h]) -m4trace:configure.ac:51: -1- m4_pattern_forbid([^_?A[CHUM]_]) -m4trace:configure.ac:51: -1- m4_pattern_forbid([_AC_]) -m4trace:configure.ac:51: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) -m4trace:configure.ac:51: -1- m4_pattern_allow([^AS_FLAGS$]) -m4trace:configure.ac:51: -1- m4_pattern_forbid([^_?m4_]) -m4trace:configure.ac:51: -1- m4_pattern_forbid([^dnl$]) -m4trace:configure.ac:51: -1- m4_pattern_forbid([^_?AS_]) -m4trace:configure.ac:51: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}]) -m4trace:configure.ac:51: -1- AC_SUBST([PATH_SEPARATOR]) -m4trace:configure.ac:51: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])]) -m4trace:configure.ac:51: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])]) -m4trace:configure.ac:51: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])]) -m4trace:configure.ac:51: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])]) -m4trace:configure.ac:51: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])]) -m4trace:configure.ac:51: -1- AC_SUBST([exec_prefix], [NONE]) -m4trace:configure.ac:51: -1- AC_SUBST([prefix], [NONE]) -m4trace:configure.ac:51: -1- AC_SUBST([program_transform_name], [s,x,x,]) -m4trace:configure.ac:51: -1- AC_SUBST([bindir], ['${exec_prefix}/bin']) -m4trace:configure.ac:51: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin']) -m4trace:configure.ac:51: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec']) -m4trace:configure.ac:51: -1- AC_SUBST([datadir], ['${prefix}/share']) -m4trace:configure.ac:51: -1- AC_SUBST([sysconfdir], ['${prefix}/etc']) -m4trace:configure.ac:51: -1- AC_SUBST([sharedstatedir], ['${prefix}/com']) -m4trace:configure.ac:51: -1- AC_SUBST([localstatedir], ['${prefix}/var']) -m4trace:configure.ac:51: -1- AC_SUBST([libdir], ['${exec_prefix}/lib']) -m4trace:configure.ac:51: -1- AC_SUBST([includedir], ['${prefix}/include']) -m4trace:configure.ac:51: -1- AC_SUBST([oldincludedir], ['/usr/include']) -m4trace:configure.ac:51: -1- AC_SUBST([infodir], ['${prefix}/info']) -m4trace:configure.ac:51: -1- AC_SUBST([mandir], ['${prefix}/man']) -m4trace:configure.ac:51: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME]) -m4trace:configure.ac:51: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */ -#undef PACKAGE_NAME]) -m4trace:configure.ac:51: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME]) -m4trace:configure.ac:51: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME]) -m4trace:configure.ac:51: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION]) -m4trace:configure.ac:51: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */ -#undef PACKAGE_VERSION]) -m4trace:configure.ac:51: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING]) -m4trace:configure.ac:51: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING]) -m4trace:configure.ac:51: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT]) -m4trace:configure.ac:51: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT]) -m4trace:configure.ac:51: -1- AC_SUBST([build_alias]) -m4trace:configure.ac:51: -1- AC_SUBST([host_alias]) -m4trace:configure.ac:51: -1- AC_SUBST([target_alias]) -m4trace:configure.ac:51: -1- AC_SUBST([DEFS]) -m4trace:configure.ac:51: -1- AC_SUBST([ECHO_C]) -m4trace:configure.ac:51: -1- AC_SUBST([ECHO_N]) -m4trace:configure.ac:51: -1- AC_SUBST([ECHO_T]) -m4trace:configure.ac:51: -1- AC_SUBST([LIBS]) -m4trace:configure.ac:52: -1- AC_CONFIG_HEADERS([src/config.h]) -m4trace:configure.ac:53: -1- AC_PROG_CC -m4trace:configure.ac:53: -1- AC_SUBST([CC]) -m4trace:configure.ac:53: -1- AC_SUBST([CFLAGS]) -m4trace:configure.ac:53: -1- AC_SUBST([LDFLAGS]) -m4trace:configure.ac:53: -1- AC_SUBST([CPPFLAGS]) -m4trace:configure.ac:53: -1- AC_SUBST([CC]) -m4trace:configure.ac:53: -1- AC_SUBST([ac_ct_CC]) -m4trace:configure.ac:53: -1- AC_SUBST([CC]) -m4trace:configure.ac:53: -1- AC_SUBST([ac_ct_CC]) -m4trace:configure.ac:53: -1- AC_SUBST([CC]) -m4trace:configure.ac:53: -1- AC_SUBST([CC]) -m4trace:configure.ac:53: -1- AC_SUBST([ac_ct_CC]) -m4trace:configure.ac:53: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext]) -m4trace:configure.ac:53: -1- AC_SUBST([OBJEXT], [$ac_cv_objext]) -m4trace:configure.ac:54: -1- AC_PROG_INSTALL -m4trace:configure.ac:54: -1- AC_SUBST([INSTALL_PROGRAM]) -m4trace:configure.ac:54: -1- AC_SUBST([INSTALL_SCRIPT]) -m4trace:configure.ac:54: -1- AC_SUBST([INSTALL_DATA]) -m4trace:configure.ac:60: -1- AC_SUBST([PROBLEM]) -m4trace:configure.ac:79: -1- AC_SUBST([GAS]) -m4trace:configure.ac:97: -1- AC_SUBST([EOS]) -m4trace:configure.ac:114: -1- AC_SUBST([NSCALARS]) -m4trace:configure.ac:130: -1- AC_SUBST([SELF_GRAVITY_DEFINE]) -m4trace:configure.ac:131: -1- AC_SUBST([SELF_GRAVITY_ALGORITHM]) -m4trace:configure.ac:160: -1- AC_SUBST([PARTICLES_ALGORITHM]) -m4trace:configure.ac:161: -1- AC_SUBST([FEEDBACK_DEFINE]) -m4trace:configure.ac:186: -1- AC_SUBST([COORD]) -m4trace:configure.ac:202: -1- AC_SUBST([CONDUCTION_MODE]) -m4trace:configure.ac:218: -1- AC_SUBST([RESISTIVITY_MODE]) -m4trace:configure.ac:234: -1- AC_SUBST([SPECIAL_RELATIVITY_MODE]) -m4trace:configure.ac:250: -1- AC_SUBST([VISCOSITY_MODE]) -m4trace:configure.ac:268: -1- AC_SUBST([ORDER]) -m4trace:configure.ac:269: -1- AC_SUBST([ACCURACY]) -m4trace:configure.ac:294: -1- AC_SUBST([FLUX_NAME]) -m4trace:configure.ac:295: -1- AC_SUBST([FLUX_DEF]) -m4trace:configure.ac:322: -1- AC_SUBST([INTEGRATOR]) -m4trace:configure.ac:323: -1- AC_SUBST([INTEGRATOR_DEF]) -m4trace:configure.ac:341: -1- AC_SUBST([DEBUG_MODE]) -m4trace:configure.ac:342: -1- AC_SUBST([COMPILER_OPTS]) -m4trace:configure.ac:365: -1- AC_SUBST([PRECISION]) -m4trace:configure.ac:379: -1- AC_SUBST([WRITE_GHOST_MODE]) -m4trace:configure.ac:394: -1- AC_SUBST([MPI_MODE]) -m4trace:configure.ac:412: -1- AC_SUBST([H_CORRECTION_MODE]) -m4trace:configure.ac:432: -1- AC_SUBST([FFT_MODE]) -m4trace:configure.ac:450: -1- AC_SUBST([SHEARING_BOX_MODE]) -m4trace:configure.ac:470: -1- AC_SUBST([FARGO_MODE]) -m4trace:configure.ac:486: -1- AC_SUBST([MESH_REFINEMENT]) -m4trace:configure.ac:506: -1- AC_SUBST([HLL_ALL_WAVE_MODE]) -m4trace:configure.ac:532: -1- AC_SUBST([FOFC_MODE]) -m4trace:configure.ac:564: -1- AC_PROG_GCC_TRADITIONAL -m4trace:configure.ac:564: -1- AC_PROG_CPP -m4trace:configure.ac:564: -1- AC_SUBST([CPP]) -m4trace:configure.ac:564: -1- AC_SUBST([CPPFLAGS]) -m4trace:configure.ac:564: -1- AC_SUBST([CPP]) -m4trace:configure.ac:564: -1- AC_SUBST([EGREP]) -m4trace:configure.ac:565: -1- AC_CHECK_FUNCS([strdup]) -m4trace:configure.ac:565: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */ -#undef HAVE_STRDUP]) -m4trace:configure.ac:566: -1- AC_DEFINE_TRACE_LITERAL([WORDS_BIGENDIAN]) -m4trace:configure.ac:566: -1- AH_OUTPUT([WORDS_BIGENDIAN], [/* Define to 1 if your processor stores words with the most significant byte - first (like Motorola and SPARC, unlike Intel and VAX). */ -#undef WORDS_BIGENDIAN]) -m4trace:configure.ac:572: -1- AC_SUBST([A_CONFIGURE_DATE]) -m4trace:configure.ac:577: -1- AC_SUBST([WARNING1]) -m4trace:configure.ac:578: -1- AC_SUBST([WARNING2]) -m4trace:configure.ac:582: -1- AC_CONFIG_FILES([Makefile Makeoptions src/Makefile src/defs.h src/fftsrc/Makefile src/gravity/Makefile src/integrators/Makefile src/microphysics/Makefile src/reconstruction/Makefile src/rsolvers/Makefile src/particles/Makefile]) -m4trace:configure.ac:583: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) -m4trace:configure.ac:583: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) diff --git a/src/amuse/community/bhtree/Makefile b/src/amuse/community/bhtree/Makefile deleted file mode 100644 index e2b70d1e43..0000000000 --- a/src/amuse/community/bhtree/Makefile +++ /dev/null @@ -1,86 +0,0 @@ -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPICXX ?= mpicxx - -CFLAGS += -DTOOLBOX $(MUSE_INCLUDE_DIR) -CXXFLAGS += $(CFLAGS) -LDFLAGS += -lm $(MUSE_LD_FLAGS) - -BHTCDIR = src -BHTC = $(BUILDDIR)/BHTC -BHTC_EXTRAS = $(BUILDDIR)/nbody.o - -BUILDDIR = build -GPU_BUILDDIR = build_gpu - -OBJS = interface.o - - -CODELIB = $(BUILDDIR)/libbhtree.a -GPUCODELIB = $(GPU_BUILDDIR)/libbhtree.a -G6LIBS ?= -L$(AMUSE_DIR)/lib/g6 -lg6 - -SAPPORO_LIBDIRS ?= -L$(AMUSE_DIR)/lib/sapporo_light -OPENMP_CFLAGS ?= -SAPPORO_LIBS ?= $(SAPPORO_LIBDIRS) -lsapporo $(OPENMP_CFLAGS) -CUDA_LIBDIRS ?= -L$(CUDA_TK)/lib -L$(CUDA_TK)/lib64 -CUDA_LIBS ?= $(CUDA_LIBDIRS) -lcudart -GPULIBS = $(CUDA_LIBS) $(SAPPORO_LIBS) -lpthread - -AM_LIBS = -L$(AMUSE_DIR)/lib/amuse_mpi -lamuse_mpi -AM_CFLAGS = -I$(AMUSE_DIR)/lib/amuse_mpi - -export CXXFLAGS - -all: compile bhtree_worker - -python_worker.o: python_worker.c - $(CXX) $(CXXFLAGS) $(PYTHONDEV_CFLAGS) $(SC_FLAGS) $(LDFLAGS) -c -o $@ $< - -compile: $(BHTC) - -$(BUILDDIR)/Makefile: $(BHTCDIR)/Makefile - -mkdir $(BUILDDIR) - cp $(BHTCDIR)/Makefile $(BUILDDIR)/Makefile - - -$(GPU_BUILDDIR)/Makefile: $(BHTCDIR)/Makefile - -mkdir $(GPU_BUILDDIR) - cp $(BHTCDIR)/Makefile $(GPU_BUILDDIR)/Makefile - -$(BHTC): $(BUILDDIR)/Makefile src/*.c src/*.h src/*.C - make -C $(BUILDDIR) all VPATH=../src -$(CODELIB): $(BUILDDIR)/Makefile src/*.c src/*.h src/*.C - make -C $(BUILDDIR) all VPATH=../src - -$(GPUCODELIB): $(GPU_BUILDDIR)/Makefile src/*.c src/*.h src/*.C - make -C $(GPU_BUILDDIR) libbhtree.a CPPFLAGS=-DGPU VPATH=../src - -clean: - $(RM) -f *.so *.o *.pyc muse_worker.cc worker_code.cc worker_code.h *.jnilib worker_code-ibis.cc worker_code-sockets.cc - $(RM) bhtree_worker *~ worker_code *~ worker_code-sockets.cc bhtree_worker_sockets - $(RM) -rf *.dSYM - $(RM) -Rf $(BUILDDIR) $(GPU_BUILDDIR) - $(RM) -f bhtree_worker_g6 bhtree_worker_gpu - make -C $(BHTCDIR) clean - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c --needs-mpi=false interface.py BHTreeInterface -o $@ - -worker_code.h: interface.py - $(CODE_GENERATOR) --type=h -i amuse.community.interface.stopping_conditions.StoppingConditionInterface interface.py BHTreeInterface -o $@ - -bhtree_worker: worker_code.cc worker_code.h $(CODELIB) $(OBJS) - $(MPICXX) $(CXXFLAGS) $(SC_FLAGS) $(LDFLAGS) worker_code.cc $(OBJS) $(CODELIB) -o $@ $(SC_CLIBS) $(LIBS) - -#bhtree_worker_g6: worker_code.cc worker_code.h $(GPUCODELIB) $(OBJS) -# $(MPICXX) $(CXXFLAGS) $(SC_FLAGS) worker_code.cc $(OBJS) $(GPUCODELIB) -o $@ $(SC_LIBS) $(G6LIBS) - -.cc.o: $< - $(CXX) $(CXXFLAGS) $(SC_FLAGS) -c -o $@ $< - -.C.o: $< - $(CXX) $(CXXFLAGS) $(SC_FLAGS) -c -o $@ $< diff --git a/src/amuse/community/bhtree/interface.cc b/src/amuse/community/bhtree/interface.cc deleted file mode 100644 index 98a1bdd81b..0000000000 --- a/src/amuse/community/bhtree/interface.cc +++ /dev/null @@ -1,989 +0,0 @@ -#include -#include "interface.h" -#include "worker_code.h" -//#include "local.h" -#include -#include -#include -#include - - -// AMUSE STOPPING CONDITIONS SUPPORT -#include -#include -// AMUSE STOPPING CONDITIONS SUPPORT - -using namespace std; - -const bool debug = false; -static double begin_time = 0; - - -// global static parameters -// N-body data: - -// Control parameters and accessors: - -const real DT_DIA = 1; -real dt_dia = DT_DIA; // time interval between diagnostics output -//void set_dt_dia(real d) {dt_dia = d;} - - -typedef std::map IndexMap; - - -IndexMap indexMap; -//bool x_flag = false; - -//int nsteps = 0; // number of integration time steps completed -//real einit = 0; // initial total energy of the system -//bool init_flag = false; -//real t_dia = 0; - -// Module data: - -bool initialized = false; - -int counter = 0; - -BHTC_SYSTEM bhtcs; - -vector ds; // for initialization only - -// External parameters to be used inside the treecode. -// Their definitions are extended to python class modules in the file -// parameters.h; the accessor functions are for the driver program. - -const real TIMESTEP = 0.015625; -real timestep = TIMESTEP; -//void set_timestep(real dt) {timestep = dt;} - -const real EPS2_FOR_GRAVITY = 0.125; -real eps2_for_gravity = EPS2_FOR_GRAVITY; -//void set_eps2_for_gravity(real eps2) {eps2_for_gravity = eps2;} - -const real THETA_FOR_TREE = 0.75; -real theta_for_tree = THETA_FOR_TREE; -//void set_theta_for_tree(real theta) {theta_for_tree = theta;} - -const int USE_SELF_GRAVITY = 1; -int use_self_gravity = USE_SELF_GRAVITY; -//void set_use_self_gravity(int use) {use_self_gravity = use;} - -const int NCRIT_FOR_TREE = 12; -int ncrit_for_tree = NCRIT_FOR_TREE; -//void set_ncrit_for_tree(int ncrit) {ncrit_for_tree = ncrit;} - -// Interface functions: - -int _new_particle(int *id, dynamics_state d) -{ -// cerr << d.id << " " << d.x << " " << d.y << " " << d.z << " " -// << d.radius << endl; - - - if (!initialized) - { - // Defer reinitialization; save in ds. - d.id = ++counter; - ds.push_back(d); - *id = d.id; - //return ds.size(); - return 0; - } - else - { - - // Add the new particle and reinitialize immediately. - - int newId = ++counter; - nbody_particle *np = bhtcs.get_particle_pointer(); - nbody_particle *np1 = new nbody_particle[bhtcs.n + 1]; - // Copy the system. - for (int i = 0; i < bhtcs.n; i++) - { - np1[i] = np[i]; - } - // Add the particle. - vec v; - //cello - //np1[n1-1].set_index(d.id); - np1[bhtcs.n].set_index(newId); - np1[bhtcs.n].set_mass(d.mass); - np1[bhtcs.n].set_radius(d.radius); - v[0] = d.x; - v[1] = d.y; - v[2] = d.z; - np1[bhtcs.n].set_pos(v); - v[0] = d.vx; - v[1] = d.vy; - v[2] = d.vz; - np1[bhtcs.n].set_vel(v); - - indexMap[newId] = bhtcs.n; - - bhtcs.mass += d.mass; - bhtcs.n = bhtcs.n + 1; - bhtcs.set_nsize(bhtcs.n); - bhtcs.set_particle_pointer(np1); - delete [] np; - - real pos_scale = 1; - real vel_scale = 1; - bhtcs.apply_vf(&real_particle::scale_pos, pos_scale); - bhtcs.apply_vf(&real_particle::scale_vel, vel_scale); - //return bhtcs.n; - *id = newId; - return 0; - // PRC(pos_scale); PRL(vel_scale); - } - - - //return bhtcs.n; -} - -static void create_treecode_system() -{ - nbody_particle *np = new nbody_particle[ds.size()]; - bhtcs.n = 0; - bhtcs.mass = 0; - - for (unsigned int i=0; i= 0 && i < bhtcs.n) - { - nbody_particle *np = bhtcs.get_particle_pointer(); - *mass = np[i].get_mass(); - return 0; - } - - return -1; -} - -int get_time(double *time) -{ - *time = bhtcs.time; - return 0; -} - -int set_begin_time(double input) { - begin_time = input; - return 0; -} - -int get_begin_time(double * output) { - *output = begin_time; - return 0; -} - -int set_mass(int id, double m) -{ - int i = get_index_from_identity(id); - if (i >= 0 && i < bhtcs.n) { - nbody_particle *np = bhtcs.get_particle_pointer(); - np[i].set_mass(m); - return 0; - } else - return -1; -} - -int evolve_model(real t_end) // default sync = 0 -{ - - // Advance from the current time to t_end. - - real dt = bhtcs.timestep; - // dt = t_end/nsteps; //<--- bug, should be the following line - - // PRC(nsteps); PRL(dt); - // PRL(bhtcs.n); - // PRL(bhtcs.time); - // PRL(bhtcs.timestep); - // PRL(bhtcs.eps2_for_gravity); - - // PRL(bhtcs.use_self_gravity); - // PRL(bhtcs.get_particle_pointer()); - // for (int j = 0; j < bhtcs.n; j++) - // (bhtcs.get_particle_pointer()+j)->dump(); - - if(bhtcs.time >= t_end) return 0; - bhtcs.calculate_gravity(); - real E0 = bhtcs.energy(); - real KE0 = bhtcs.kinetic_energy(); - real PE0 = E0 - KE0; - real Q0 = KE0/PE0; - if (debug) - { - PRC(KE0); PRC(PE0); PRC(E0); PRL(Q0); - } - - // AMUSE STOPPING CONDITIONS - int is_timeout_detection_enabled; - int is_number_of_steps_detection_enabled; - int max_number_of_steps; - int number_of_steps_innerloop = 0; - int error; - time_t starttime, currenttime; - - time(&starttime); - - error = is_stopping_condition_enabled(TIMEOUT_DETECTION, &is_timeout_detection_enabled); - error = is_stopping_condition_enabled(NUMBER_OF_STEPS_DETECTION, &is_number_of_steps_detection_enabled); - get_stopping_condition_number_of_steps_parameter(&max_number_of_steps); - // AMUSE STOPPING CONDITIONS - reset_stopping_conditions(); - - while( bhtcs.time= t_end) dt=t_end-bhtcs.time; - bhtcs.integrate(dt); // advance the entire system by time dt - - bhtcs.time += dt; - - // AMUSE STOPPING CONDITIONS - if(is_timeout_detection_enabled) { - time(¤ttime); - //cerr << currenttime << endl; - if((currenttime - starttime) > timeout_parameter) { - int stopping_index = next_index_for_stopping_condition(); - set_stopping_condition_info(stopping_index, TIMEOUT_DETECTION); - } - } - if(is_number_of_steps_detection_enabled) { - number_of_steps_innerloop++; - if(number_of_steps_innerloop > max_number_of_steps) { - int stopping_index = next_index_for_stopping_condition(); - set_stopping_condition_info(stopping_index, NUMBER_OF_STEPS_DETECTION); - } - } - - // AMUSE STOPPING CONDITIONS - if (set_conditions & enabled_conditions) { - break; - } -#if 0 - real KE = bhtcs.kinetic_energy(); - real E = bhtcs.energy(); - real dE = E-E0; - real Q = KE/(KE-E); - real t = bhtcs.time; - PRC(t); PRC(KE); PRC(E); PRC(dE); PRL(Q); - bhtcs.calculate_cmterms(); - cerr << endl; -#endif - - } -#if 0 - if (id_primary >= 0) - { - if (debug) - { - print_tree_counters(); - } - bhtcs.calculate_cmterms(); - real KE = bhtcs.kinetic_energy(); - real E = bhtcs.energy(); - real dE = E-E0; - real Q = KE/(KE-E); - if (debug) - { - PRL(bhtcs.time); PRC(KE); PRC(E); PRC(dE); PRL(Q); - cerr << "CPU sec = " << cpusec() << endl; - } - } -#endif - //id_primary - return 0; -} - -int get_index_of_first_particle(int * index_of_the_particle) -{ - *index_of_the_particle = get_identity_from_index(0); - return 0; -} - -int get_total_radius(double *radius) -{ - return -2; -} - -int testme(int *id) -{ - *id = 3; - return 0; -} - -int new_particle(int *id, double mass, double x, double y, double z, double vx, double vy, double vz, double radius) -{ - dynamics_state state; - //state.id = id; do this if _new_particle if needed? - - state.mass = mass; - state.radius = radius; - state.x = x; - state.y = y; - state.z = z; - state.vx = vx; - state.vy = vy; - state.vz = vz; - return _new_particle(id, state); -} - -int get_total_mass(double *mass) -{ - nbody_particle *np = bhtcs.get_particle_pointer(); - - *mass = 0; - - for(int i = 0; i0) - { - *index_of_the_next_particle = j; - return 0; - } - else - { - *index_of_the_next_particle = 0; - return 1; - } - } -} - -int delete_particle(int id) -{ - if (!initialized) return -1; - - //cerr << "Deleting particle " << id << endl; - - int i = get_index_from_identity(id); - - indexMap[id] = -1; - if (i >= 0 && i < bhtcs.n) - { - - // Remove this particle from the tree N-body system - // by swapping it with the last particle. - - nbody_particle *np = bhtcs.get_particle_pointer(); - - if (i < bhtcs.n-1) - { - np[i] = np[bhtcs.n-1]; - indexMap[np[i].get_index()] = i; - } - bhtcs.n--; - bhtcs.set_nsize(bhtcs.n); - - real pos_scale = 1; - real vel_scale = 1; - bhtcs.apply_vf(&real_particle::scale_pos, pos_scale); - bhtcs.apply_vf(&real_particle::scale_vel, vel_scale); - - } - - //return bhtcs.n; - return 0; -} - -int get_potential(int index_of_the_particle, double *value) -{ - if (!initialized) { - *value = 0.0; - return 0; - } - int i = get_index_from_identity(index_of_the_particle); - - if (i >= 0 && i < bhtcs.n) { - nbody_particle *np = bhtcs.get_particle_pointer(); - *value = np[i].get_phi_gravity(); - } - else { - *value = 0.0; - return -1; - } - return 0; -} - -int set_state(int index_of_the_particle, double mass, double x, double y, double z, double vx, double vy, double vz, double radius) -{ - //Assumes initialization (initialized TRUE) - int i = get_index_from_identity(index_of_the_particle); - - if (i >= 0 && i < bhtcs.n) - { - nbody_particle *np = bhtcs.get_particle_pointer(); - np[i].set_mass(mass); - np[i].set_radius(radius); - np[i].set_pos(vec(x, y, z)); - np[i].set_vel(vec(vx, vy, vz)); - return 0; - } - else - { - return -1; - } -} - -int get_state(int id, double *mass, double *x, double *y, double *z, double *vx, double *vy, double *vz, double *radius) -{ - int i = get_index_from_identity(id); - - if (!initialized && i >= 0 && i < (int) ds.size()) { - dynamics_state state = ds[i]; - *mass = state.mass; - *radius = state.radius; - *x = state.x; - *y = state.y; - *z = state.z; - *vx = state.vx; - *vy = state.vy; - *vz = state.vz; - return 0; - } - else if (i >= 0 && i < bhtcs.n) { - nbody_particle *np = bhtcs.get_particle_pointer(); - //*id_out = np[i].get_index(); - *mass = np[i].get_mass(); - *radius = np[i].get_radius(); - vec v = np[i].get_pos(); - *x = v[0]; - *y = v[1]; - *z = v[2]; - v = np[i].get_vel(); - *vx = v[0]; - *vy = v[1]; - *vz = v[2]; - return 0; - } else { - return -1; - } -} - -int get_kinetic_energy(double *kinetic_energy) -{ - if (!initialized) - { - // some error?? - return 0; - } - else - { - *kinetic_energy = bhtcs.kinetic_energy(); - return 0; - } -} - -//get number of particles? -int get_number_of_particles(int *number_of_particles) -{ - *number_of_particles = bhtcs.n; - return 0; -} - -int get_center_of_mass_position(double *x, double *y, double *z) -{ - nbody_particle *np = bhtcs.get_particle_pointer(); - double M; - double mass; - - *x = 0; *y=0; *z=0; - - get_total_mass(&M); - - for(int i = 0; i= 0 && i < bhtcs.n) { - nbody_particle *np = bhtcs.get_particle_pointer(); - *radius = np[i].get_radius(); - return 0; - } - - return -1; -} - -int set_radius(int id, double radius) -{ - int i = get_index_from_identity(id); - if (i >= 0 && i < bhtcs.n) - { - nbody_particle *np = bhtcs.get_particle_pointer(); - np[i].set_radius(radius); - return 0; - } - else - { - return -1; - } -} - -int initialize_code() -{ - begin_time = 0.0; - bhtcs.time = 0.0; - - set_support_for_condition(COLLISION_DETECTION); - set_support_for_condition(TIMEOUT_DETECTION); - set_support_for_condition(NUMBER_OF_STEPS_DETECTION); - return 0; -} - -int cleanup_code() -{ - if(initialized) { - initialized = false; - - nbody_particle *np = bhtcs.get_particle_pointer(); - delete np; - - bhtcs.mass = 0; - bhtcs.n = 0; - bhtcs.set_nsize(0); - bhtcs.set_particle_pointer(0); - } - - ds.clear(); - indexMap.clear(); - counter = 0; - return 0; -} - -int get_identity_from_index(int i) -{ - if (i >= 0 && i < bhtcs.n) - { - nbody_particle *np = bhtcs.get_particle_pointer(); - return np[i].get_index(); - } - else - { - return -1; - } -} - -int get_index_from_identity(int id) -{ - //CHECK IF IN RANGE TO GIVE CORRECT ERROR - IndexMap::iterator i = indexMap.find(id); - if(i == indexMap.end()) { - return -1; - } - return (*i).second; - /*nbody_particle *np = bhtcs.get_particle_pointer(); - for (int i = 0; i < bhtcs.n; i++) - { - if (id == np[i].get_index()) - return i; - } - return -1;*/ -} - -int initialize_particles() -{ - bhtcs.setup_tree(); - - return 0; -} - -int get_potential_energy(double *potential_energy) -{ - if (!initialized) - { - return 0; - } - - bhtcs.calculate_gravity(); - *potential_energy=bhtcs.energy() - bhtcs.kinetic_energy(); - return 0; -} - -int get_gravity_at_point(double eps, double x, double y, double z, double *forcex, double *forcey, double *forcez) -{ - vec p = 0; - p[0] = x; - p[1] = y; - p[2] = z; - - - vec acc = bhtcs.calculate_gravity_at_point(p, bhtcs.eps2_for_gravity, bhtcs.theta_for_tree * bhtcs.theta_for_tree); - - *forcex = acc[0]; - *forcey = acc[1]; - *forcez = acc[2]; - - return 0; -} - -int get_potential_at_point(double eps, double x, double y, double z, double * phi) -{ - vec p = 0; - p[0] = x; - p[1] = y; - p[2] = z; - - - *phi = bhtcs.calculate_potential_at_point(p, bhtcs.eps2_for_gravity, bhtcs.theta_for_tree * bhtcs.theta_for_tree); - //cerr << "phi : "<< *phi << endl; - return 0; -} - -int get_velocity(int id, double *vx, double *vy, double *vz) -{ - int i = get_index_from_identity(id); - - if (!initialized && i >= 0 && i < (int) ds.size()) { - dynamics_state state = ds[i]; - *vx = state.vx; - *vy = state.vy; - *vz = state.vz; - return 0; - } - else if (i >= 0 && i < bhtcs.n) { - nbody_particle *np = bhtcs.get_particle_pointer(); - vec v = np[i].get_vel(); - *vx = v[0]; - *vy = v[1]; - *vz = v[2]; - return 0; - } else { - return -1; - } -} - -int setup_module() -{ - return -2; -} - -int get_position(int id, double *x, double *y, double *z) -{ - int i = get_index_from_identity(id); - - if (i >= 0 && i < bhtcs.n) - { - nbody_particle *np = bhtcs.get_particle_pointer(); - vec v = np[i].get_pos(); - *x = v[0]; - *y = v[1]; - *z = v[2]; - return 0; - } - - return -1; -} - -int set_position(int id, double x, double y, double z) -{ - int i = get_index_from_identity(id); - if (i >= 0 && i < bhtcs.n) - { - nbody_particle *np = bhtcs.get_particle_pointer(); - vec pos(x, y, z); - np[i].set_pos(pos); - return 0; - } - else - { - return -1; - } -} - -int get_acceleration(int id, double * ax, double * ay, double * az) -{ - return -2; -} - -int set_velocity(int id, double vx, double vy, double vz) -{ - int i = get_index_from_identity(id); - if (i >= 0 && i < bhtcs.n) - { - nbody_particle *np = bhtcs.get_particle_pointer(); - vec vel(vx, vy, vz); - np[i].set_vel(vel); - return 0; - } - else - { - return -1; - } -} - -double get_dynamical_time_scale() -{ - // PRL(initialized); - if (!initialized) return 0; - - bhtcs.calculate_gravity(); - real mtot = bhtcs.mass; - real ekin = bhtcs.kinetic_energy(); - real etot = bhtcs.energy(); - real epot = etot - ekin; - - real tdyn = (-0.5*mtot*mtot/epot) / sqrt(2*ekin/mtot); - return tdyn; -} - -int get_time_step(double *_timestep) -{ - *_timestep = timestep; - return 0; -} - -int set_time_step(double _timestep) -{ - timestep = _timestep; - return 0; -} - -int initialize_time_step() -{ - return 0; -} - -int finalize_time_step() -{ - return 0; -} - -int get_epsilon_squared(double *_epsilon_squared){ - *_epsilon_squared = eps2_for_gravity; - return 0; -} -int set_epsilon_squared(double _epsilon_squared){ - eps2_for_gravity = _epsilon_squared; - return 0; -} - -int get_theta_for_tree(double *_theta_for_tree){ - *_theta_for_tree = theta_for_tree; - return 0; -} -int set_theta_for_tree(double _theta_for_tree){ - theta_for_tree = _theta_for_tree; - return 0; -} - -int get_use_self_gravity(int *_use_self_gravity){ - *_use_self_gravity = use_self_gravity; - return 0; -} -int set_use_self_gravity(int _use_self_gravity){ - use_self_gravity = _use_self_gravity; - return 0; -} - -int get_ncrit_for_tree(int *_ncrit_for_tree){ - *_ncrit_for_tree = ncrit_for_tree; - return 0; -} -int set_ncrit_for_tree(int _ncrit_for_tree){ - ncrit_for_tree = _ncrit_for_tree; - return 0; -} - -int get_dt_dia(double *_dt_dia){ - *_dt_dia = dt_dia; - return 0; -} -int set_dt_dia(double _dt_dia){ - dt_dia = _dt_dia; - return 0; -} - -int set_particle(int id, dynamics_state d) -{ - int i = get_index_from_identity(id); - if (i >= 0 && i < bhtcs.n) { - nbody_particle *np = bhtcs.get_particle_pointer(); - np[i].set_mass(d.mass); - np[i].set_radius(d.radius); - np[i].set_pos(vec(d.x, d.y, d.z)); - np[i].set_vel(vec(d.vx, d.vy, d.vz)); - return 0; - - } else { - - cerr << "set_particle: " << id - << " doesn't exist. Use add_particle." << endl; - return -1; - } -} - - -int get_escaper() -{ - return -1; // not implemented yet -} - - -int recommit_particles(){ - if(!initialized) { - create_treecode_system(); // note that ds is never used again after this - initialized = true; - } - - bhtcs.setup_tree(); - bhtcs.calculate_gravity(); - - return 0; -} - -int recommit_parameters() -{ - return commit_parameters(); -} - - -int commit_particles(){ - if(!initialized) { - create_treecode_system(); // note that ds is never used again after this - initialized = true; - } - - bhtcs.setup_tree(); - bhtcs.calculate_gravity(); - return 0; -} - -int commit_parameters(){ - - bhtcs.time = begin_time; - bhtcs.timestep = timestep; - bhtcs.eps2_for_gravity = eps2_for_gravity; - bhtcs.use_self_gravity = use_self_gravity; - bhtcs.theta_for_tree = theta_for_tree; - bhtcs.ncrit_for_tree = ncrit_for_tree; - - return 0; -} - -int synchronize_model() { - return 0; -} diff --git a/src/amuse/community/bhtree/interface.py b/src/amuse/community/bhtree/interface.py index 1181bf7f42..1ced089434 100644 --- a/src/amuse/community/bhtree/interface.py +++ b/src/amuse/community/bhtree/interface.py @@ -1,340 +1,7 @@ -from amuse.community import * -from amuse.community.interface.gd import GravitationalDynamicsInterface -from amuse.community.interface.gd import GravitationalDynamics -from amuse.community.interface.gd import SinglePointGravityFieldInterface -from amuse.community.interface.gd import GravityFieldCode +from amuse.support.import_helper import load_code -class BHTreeInterface( - CodeInterface, - LiteratureReferencesMixIn, - GravitationalDynamicsInterface, - StoppingConditionInterface, - SinglePointGravityFieldInterface): - """ - .. [#] ADS:1986Natur.324..446B (Barnes, J., Hut, P., *Nature*, **4**, 324 (1986)) - """ - include_headers = ['interface.h', 'worker_code.h', 'stopcond.h'] - - def __init__(self, convert_nbody = None, mode = 'cpu', **kwargs): - CodeInterface.__init__(self, name_of_the_worker=self.name_of_the_worker(mode), **kwargs) - """ - self.parameters = parameters.Parameters(self.parameter_definitions, self) - if convert_nbody is None: - convert_nbody = nbody_system.nbody_to_si.get_default() - - self.convert_nbody = convert_nbody - """ - LiteratureReferencesMixIn.__init__(self) - - def name_of_the_worker(self, mode): - if mode == "g6": - return 'bhtree_worker_g6' - elif mode == "gpu": - return 'bhtree_worker_gpu' - else: - return 'bhtree_worker' - - - - - @legacy_function - def reinitialize_particles(): - function = LegacyFunctionSpecification() - function.result_type = 'i' - return function - - @legacy_function - def set_time_step(): - """ - Update timestep. - """ - function = LegacyFunctionSpecification() - function.addParameter('timestep', dtype='float64', direction=function.IN, - description = "timestep") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found in the model and the information was set - -1 - ERROR - particle could not be found - """ - return function - - @legacy_function - def get_epsilon_squared(): - """ - Get epsilon^2, a softening parameter for gravitational potentials with point particles. - """ - function = LegacyFunctionSpecification() - function.addParameter('epsilon_squared', dtype='float64', direction=function.OUT, - description = "epsilon^2, a softening parameter for gravitational potentials with point particles", - unit = nbody_system.length * nbody_system.length) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was retrieved - -1 - ERROR - could not retrieve parameter - """ - return function - - @legacy_function - def set_epsilon_squared(): - """ - Set epsilon^2, a softening parameter for gravitational potentials with point particles. - """ - function = LegacyFunctionSpecification() - function.addParameter('epsilon_squared', dtype='float64', direction=function.IN, - description = "epsilon^2, a softening parameter for gravitational potentials with point particles", - unit = nbody_system.length * nbody_system.length) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was set - -1 - ERROR - could not set parameter - """ - return function - - @legacy_function - def get_theta_for_tree(): - """ - Get theta, the opening angle for building the tree: between 0 and 1. - """ - function = LegacyFunctionSpecification() - function.addParameter('theta_for_tree', dtype='float64', direction=function.OUT, - description = "theta, the opening angle for building the tree: between 0 and 1") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was retrieved - -1 - ERROR - could not retrieve parameter - """ - return function - - @legacy_function - def set_theta_for_tree(): - """ - Set theta, the opening angle for building the tree: between 0 and 1. - """ - function = LegacyFunctionSpecification() - function.addParameter('theta_for_tree', dtype='float64', direction=function.IN, - description = "theta, the opening angle for building the tree: between 0 and 1") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was set - -1 - ERROR - could not set parameter - """ - return function - - @legacy_function - def get_use_self_gravity(): - """ - Get use_self_gravity flag, the flag for usage of self gravity, 1 or 0 (true or false). - """ - function = LegacyFunctionSpecification() - function.addParameter('use_self_gravity', dtype='int32', direction=function.OUT, - description = "flag for usage of self gravity, 1 or 0 (true or false)") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was retrieved - -1 - ERROR - could not retrieve parameter - """ - return function - - @legacy_function - def set_use_self_gravity(): - """ - Set use_self_gravity flag, the flag for usage of self gravity, 1 or 0 (true or false). - """ - function = LegacyFunctionSpecification() - function.addParameter('use_self_gravity', dtype='int32', direction=function.IN, - description = "flag for usage of self gravity, 1 or 0 (true or false)") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was set - -1 - ERROR - could not set parameter - """ - return function - - @legacy_function - def get_ncrit_for_tree(): - """ - Get Ncrit, the maximum number of particles sharing an interaction list. - """ - function = LegacyFunctionSpecification() - function.addParameter('ncrit_for_tree', dtype='int32', direction=function.OUT, - description = "Ncrit, the maximum number of particles sharing an interaction list") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was retrieved - -1 - ERROR - could not retrieve parameter - """ - return function - - @legacy_function - def set_ncrit_for_tree(): - """ - Set Ncrit, the maximum number of particles sharing an interaction list. - """ - function = LegacyFunctionSpecification() - function.addParameter('ncrit_for_tree', dtype='int32', direction=function.IN, - description = "Ncrit, the maximum number of particles sharing an interaction list") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was set - -1 - ERROR - could not set parameter - """ - return function - - @legacy_function - def get_dt_dia(): - """ - Get the time interval between diagnostics output. - """ - function = LegacyFunctionSpecification() - function.addParameter('dt_dia', dtype='float64', direction=function.OUT, - description = "the time interval between diagnostics output", - unit = nbody_system.time) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was retrieved - -1 - ERROR - could not retrieve parameter - """ - return function - - @legacy_function - def set_dt_dia(): - """ - Set the time interval between diagnostics output. - """ - function = LegacyFunctionSpecification() - function.addParameter('dt_dia', dtype='float64', direction=function.IN, - description = "the time interval between diagnostics output", - unit = nbody_system.time) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was set - -1 - ERROR - could not set parameter - """ - return function - -class BHTree(GravitationalDynamics, GravityFieldCode): - - __interface__ = BHTreeInterface - - def __init__(self, convert_nbody = None, **options): - self.stopping_conditions = StoppingConditions(self) - - legacy_interface = self.__interface__(**options) - - GravitationalDynamics.__init__( - self, - legacy_interface, - convert_nbody, - **options - ) - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_epsilon_squared", - "set_epsilon_squared", - "epsilon_squared", - "smoothing parameter for gravity calculations", - default_value = 0.125 | nbody_system.length * nbody_system.length - ) - handler.add_method_parameter( - "get_time_step", - "set_time_step", - "timestep", - "constant timestep for iteration", - default_value = 0.015625 | nbody_system.time - ) - handler.add_method_parameter( - "get_theta_for_tree", - "set_theta_for_tree", - "opening_angle", - "opening angle, theta, for building the tree: between 0 and 1", - default_value = 0.75 - ) - handler.add_method_parameter( - "get_use_self_gravity", - "set_use_self_gravity", - "use_self_gravity", - "flag for usage of self gravity, 1 or 0 (true or false)", - default_value = 1 - ) - handler.add_method_parameter( - "get_ncrit_for_tree", - "set_ncrit_for_tree", - "ncrit_for_tree", - "Ncrit, the maximum number of particles sharing an interaction list", - default_value = 12 - ) - handler.add_method_parameter( - "get_dt_dia", - "set_dt_dia", - "dt_dia", - "time interval between diagnostics output", - default_value = 1.0 | nbody_system.time - ) - - handler.add_method_parameter( - "get_begin_time", - "set_begin_time", - "begin_time", - "model time to start the simulation at", - default_value = 0.0 | nbody_system.time - ) - - self.stopping_conditions.define_parameters(handler) - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - - handler.add_method( - "get_time_step", - (), - (nbody_system.time, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_time_step", - (nbody_system.time, ), - (handler.ERROR_CODE,) - ) - - - - self.stopping_conditions.define_methods(handler) - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - GravityFieldCode.define_state(self, handler) - - self.stopping_conditions.define_state(handler) - - - def define_particle_sets(self, handler): - GravitationalDynamics.define_particle_sets(self, handler) - self.stopping_conditions.define_particle_set(handler) - - +BHTreeInterface = load_code("bhtree", "BHTreeInterface") +BHTree = load_code("bhtree", "BHTree") Bhtree = BHTree diff --git a/src/amuse/community/bhtree/src/Makefile b/src/amuse/community/bhtree/src/Makefile deleted file mode 100644 index e71b20129c..0000000000 --- a/src/amuse/community/bhtree/src/Makefile +++ /dev/null @@ -1,41 +0,0 @@ -AMUSE_DIR?=../../../../.. --include ${AMUSE_DIR}/config.mk - -CODELIB = libbhtree.a - -CXXFLAGS += -DTREE -DNOGRAPHICS - -OBJ = BHTC.o nbody.o BHtree.o gravity.o pgetopt.o second.o - -CODEOBJS = BHtree.o gravity.o pgetopt.o second.o nbody.o - -AR = ar ruv -RANLIB = ranlib -RM = rm - -SC_LIBS ?= -L$(AMUSE_DIR)/lib/stopcond -lstopcond -SC_FLAGS ?= -I$(AMUSE_DIR)/lib/stopcond - -all: BHTC $(CODELIB) - -clean: - rm -f *.o BHTC *~ $(CODELIB) - -BHTC: $(OBJ) - $(CXX) $(CXXFLAGS) $(OBJ) -lm -o BHTC $(SC_LIBS) - -.c.o: - $(CC) $(CPPFLAGS) $(CFLAGS) $(SC_FLAGS) -c $? - -.C.o: - $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(SC_FLAGS) -c $? - -test: compile - -compile: BHTC - -$(CODELIB): $(CODEOBJS) - $(RM) -f $@ - $(AR) $@ $(CODEOBJS) - $(RANLIB) $@ - diff --git a/src/amuse/community/bonsai/gpuLog.log b/src/amuse/community/bonsai/gpuLog.log deleted file mode 100644 index 6eca01e64c..0000000000 --- a/src/amuse/community/bonsai/gpuLog.log +++ /dev/null @@ -1,18828 +0,0 @@ -0 0 Sorting 3.66499 -1 1 Data reordering 0.200288 -2 4 Approximation 0.385216 -3 9 Predict 0.142464 -4 0 Sorting 3.32109 -5 1 Data reordering 0.16624 -6 2 Tree-construction 0.940768 -7 11 Memory 0.00192 -8 3 Compute properties 0.22608 -9 10 setActiveGrpsFunc 0.071008 -10 4 Approximation 0.164224 -11 8 Correct 0.025376 -12 7 Energy 0.048672 -13 9 Predict 0.144512 -14 0 Sorting 4.91952 -15 1 Data reordering 0.165568 -16 2 Tree-construction 0.88816 -17 11 Memory 0.00192 -18 3 Compute properties 0.186816 -19 10 setActiveGrpsFunc 0.067456 -20 4 Approximation 0.158048 -21 8 Correct 0.025056 -22 7 Energy 0.04736 -23 9 Predict 0.143296 -24 0 Sorting 3.26579 -25 1 Data reordering 0.175488 -26 2 Tree-construction 0.894688 -27 11 Memory 0.001888 -28 3 Compute properties 0.186592 -29 10 setActiveGrpsFunc 0.067232 -30 4 Approximation 0.162176 -31 8 Correct 0.025792 -32 7 Energy 0.048384 -33 9 Predict 0.143328 -34 0 Sorting 3.25008 -35 1 Data reordering 0.16576 -36 2 Tree-construction 0.887456 -37 11 Memory 0.001888 -38 3 Compute properties 0.19664 -39 10 setActiveGrpsFunc 0.067072 -40 4 Approximation 0.158048 -41 8 Correct 0.025152 -42 7 Energy 0.0472 -43 9 Predict 0.14304 -44 0 Sorting 3.28624 -45 1 Data reordering 0.16592 -46 2 Tree-construction 0.888096 -47 11 Memory 0.001888 -48 3 Compute properties 0.205568 -49 10 setActiveGrpsFunc 0.068736 -50 4 Approximation 0.159392 -51 8 Correct 0.025408 -52 7 Energy 0.04752 -53 9 Predict 0.143584 -54 0 Sorting 3.25472 -55 1 Data reordering 0.16496 -56 2 Tree-construction 0.903104 -57 11 Memory 0.001888 -58 3 Compute properties 0.217152 -59 10 setActiveGrpsFunc 0.101472 -60 4 Approximation 0.186688 -61 8 Correct 0.03248 -62 7 Energy 0.050496 -63 9 Predict 0.144704 -64 0 Sorting 3.25437 -65 1 Data reordering 0.165728 -66 2 Tree-construction 0.921056 -67 11 Memory 0.001888 -68 3 Compute properties 0.187872 -69 10 setActiveGrpsFunc 0.067264 -70 4 Approximation 0.159392 -71 8 Correct 0.025184 -72 7 Energy 0.048416 -73 9 Predict 0.143136 -74 0 Sorting 3.25418 -75 1 Data reordering 0.165344 -76 2 Tree-construction 1.09494 -77 11 Memory 0.00192 -78 3 Compute properties 0.234624 -79 10 setActiveGrpsFunc 0.083232 -80 4 Approximation 0.175072 -81 8 Correct 0.03184 -82 7 Energy 0.064 -83 9 Predict 0.178624 -84 0 Sorting 3.35043 -85 1 Data reordering 0.168576 -86 2 Tree-construction 0.902528 -87 11 Memory 0.001888 -88 3 Compute properties 0.18688 -89 10 setActiveGrpsFunc 0.067104 -90 4 Approximation 0.159424 -91 8 Correct 0.025184 -92 7 Energy 0.048192 -93 9 Predict 0.151168 -94 0 Sorting 3.2663 -95 1 Data reordering 0.16608 -96 2 Tree-construction 0.887744 -97 11 Memory 0.001888 -98 3 Compute properties 0.186848 -99 10 setActiveGrpsFunc 0.067168 -100 4 Approximation 0.15824 -101 8 Correct 0.02544 -102 7 Energy 0.047904 -103 9 Predict 0.143296 -104 0 Sorting 3.27686 -105 1 Data reordering 0.165152 -106 2 Tree-construction 0.888384 -107 11 Memory 0.001888 -108 3 Compute properties 0.18624 -109 10 setActiveGrpsFunc 0.066912 -110 4 Approximation 0.163456 -111 8 Correct 0.025472 -112 7 Energy 0.048352 -113 9 Predict 0.14384 -114 0 Sorting 3.27392 -115 1 Data reordering 0.166112 -116 2 Tree-construction 0.973216 -117 11 Memory 0.001888 -118 3 Compute properties 0.18576 -119 10 setActiveGrpsFunc 0.06736 -120 4 Approximation 0.15872 -121 8 Correct 0.025312 -122 7 Energy 0.048032 -123 9 Predict 0.143872 -124 0 Sorting 3.28512 -125 1 Data reordering 0.165632 -126 2 Tree-construction 0.889568 -127 11 Memory 0.00192 -128 3 Compute properties 0.18928 -129 10 setActiveGrpsFunc 0.089376 -130 4 Approximation 0.182432 -131 8 Correct 0.026976 -132 7 Energy 0.049664 -133 9 Predict 0.144544 -134 0 Sorting 3.25408 -135 1 Data reordering 0.165184 -136 2 Tree-construction 0.887072 -137 11 Memory 0.001888 -138 3 Compute properties 0.186112 -139 10 setActiveGrpsFunc 0.067104 -140 4 Approximation 0.158656 -141 8 Correct 0.024992 -142 7 Energy 0.048 -143 9 Predict 0.143296 -144 0 Sorting 3.26966 -145 1 Data reordering 0.164192 -146 2 Tree-construction 1.09485 -147 11 Memory 0.001888 -148 3 Compute properties 0.233248 -149 10 setActiveGrpsFunc 0.083264 -150 4 Approximation 0.174368 -151 8 Correct 0.032128 -152 7 Energy 0.063104 -153 9 Predict 0.178272 -154 0 Sorting 3.29194 -155 1 Data reordering 0.1664 -156 2 Tree-construction 0.8888 -157 11 Memory 0.00192 -158 3 Compute properties 0.186144 -159 10 setActiveGrpsFunc 0.067008 -160 4 Approximation 0.160128 -161 8 Correct 0.025184 -162 7 Energy 0.04896 -163 9 Predict 0.144512 -164 0 Sorting 3.25981 -165 1 Data reordering 0.165504 -166 2 Tree-construction 0.89552 -167 11 Memory 0.001888 -168 3 Compute properties 0.186304 -169 10 setActiveGrpsFunc 0.066592 -170 4 Approximation 0.160096 -171 8 Correct 0.025184 -172 7 Energy 0.047712 -173 9 Predict 0.142272 -174 0 Sorting 3.27651 -175 1 Data reordering 0.190592 -176 2 Tree-construction 0.885856 -177 11 Memory 0.001888 -178 3 Compute properties 0.188896 -179 10 setActiveGrpsFunc 0.068672 -180 4 Approximation 0.158784 -181 8 Correct 0.025408 -182 7 Energy 0.047648 -183 9 Predict 0.142688 -184 0 Sorting 3.32349 -185 1 Data reordering 0.16528 -186 2 Tree-construction 0.885792 -187 11 Memory 0.001888 -188 3 Compute properties 0.188224 -189 10 setActiveGrpsFunc 0.066944 -190 4 Approximation 0.15904 -191 8 Correct 0.025248 -192 7 Energy 0.048192 -193 9 Predict 0.143264 -194 0 Sorting 3.24784 -195 1 Data reordering 0.163904 -196 2 Tree-construction 0.892192 -197 11 Memory 0.001888 -198 3 Compute properties 0.200096 -199 10 setActiveGrpsFunc 0.067296 -200 4 Approximation 0.159008 -201 8 Correct 0.025184 -202 7 Energy 0.066624 -203 9 Predict 0.15408 -204 0 Sorting 3.26813 -205 1 Data reordering 0.164832 -206 2 Tree-construction 0.885088 -207 11 Memory 0.00192 -208 3 Compute properties 0.187904 -209 10 setActiveGrpsFunc 0.067072 -210 4 Approximation 0.159168 -211 8 Correct 0.025024 -212 7 Energy 0.04784 -213 9 Predict 0.142432 -214 0 Sorting 3.24614 -215 1 Data reordering 0.164448 -216 2 Tree-construction 2.24202 -217 11 Memory 0.001952 -218 3 Compute properties 0.277856 -219 10 setActiveGrpsFunc 0.106272 -220 4 Approximation 0.184864 -221 8 Correct 0.036608 -222 7 Energy 0.07248 -223 9 Predict 0.18976 -224 0 Sorting 3.96106 -225 1 Data reordering 0.217568 -226 2 Tree-construction 1.14592 -227 11 Memory 0.001952 -228 3 Compute properties 0.24144 -229 10 setActiveGrpsFunc 0.086016 -230 4 Approximation 0.176704 -231 8 Correct 0.032864 -232 7 Energy 0.065792 -233 9 Predict 0.18432 -234 0 Sorting 3.92541 -235 1 Data reordering 0.205152 -236 2 Tree-construction 0.914624 -237 11 Memory 0.00192 -238 3 Compute properties 0.187008 -239 10 setActiveGrpsFunc 0.067104 -240 4 Approximation 0.159936 -241 8 Correct 0.025472 -242 7 Energy 0.048896 -243 9 Predict 0.143488 -244 0 Sorting 3.24614 -245 1 Data reordering 0.164032 -246 2 Tree-construction 0.884896 -247 11 Memory 0.001888 -248 3 Compute properties 0.184864 -249 10 setActiveGrpsFunc 0.0664 -250 4 Approximation 0.181248 -251 8 Correct 0.02656 -252 7 Energy 0.049312 -253 9 Predict 0.143584 -254 0 Sorting 3.4767 -255 1 Data reordering 0.187424 -256 2 Tree-construction 0.966016 -257 11 Memory 0.001888 -258 3 Compute properties 0.186944 -259 10 setActiveGrpsFunc 0.067552 -260 4 Approximation 0.168992 -261 8 Correct 0.026368 -262 7 Energy 0.075712 -263 9 Predict 0.174432 -264 0 Sorting 3.4617 -265 1 Data reordering 0.21328 -266 2 Tree-construction 0.918816 -267 11 Memory 0.001888 -268 3 Compute properties 0.20736 -269 10 setActiveGrpsFunc 0.084864 -270 4 Approximation 0.16736 -271 8 Correct 0.026432 -272 7 Energy 0.072608 -273 9 Predict 0.167872 -274 0 Sorting 3.5321 -275 1 Data reordering 0.174336 -276 2 Tree-construction 0.918464 -277 11 Memory 0.001888 -278 3 Compute properties 0.229088 -279 10 setActiveGrpsFunc 0.091008 -280 4 Approximation 0.166752 -281 8 Correct 0.025408 -282 7 Energy 0.04784 -283 9 Predict 0.144032 -284 0 Sorting 3.47066 -285 1 Data reordering 0.169664 -286 2 Tree-construction 0.898048 -287 11 Memory 0.001888 -288 3 Compute properties 0.190368 -289 10 setActiveGrpsFunc 0.074624 -290 4 Approximation 0.160128 -291 8 Correct 0.025152 -292 7 Energy 0.04768 -293 9 Predict 0.143616 -294 0 Sorting 3.37942 -295 1 Data reordering 0.165376 -296 2 Tree-construction 0.886112 -297 11 Memory 0.001888 -298 3 Compute properties 0.183104 -299 10 setActiveGrpsFunc 0.066464 -300 4 Approximation 0.160096 -301 8 Correct 0.02528 -302 7 Energy 0.047616 -303 9 Predict 0.142816 -304 0 Sorting 3.24803 -305 1 Data reordering 0.16416 -306 2 Tree-construction 0.89232 -307 11 Memory 0.001888 -308 3 Compute properties 0.184704 -309 10 setActiveGrpsFunc 0.066592 -310 4 Approximation 0.160288 -311 8 Correct 0.02528 -312 7 Energy 0.047712 -313 9 Predict 0.142848 -314 0 Sorting 3.34518 -315 1 Data reordering 0.164896 -316 2 Tree-construction 0.886752 -317 11 Memory 0.001888 -318 3 Compute properties 0.226688 -319 10 setActiveGrpsFunc 0.09024 -320 4 Approximation 0.1816 -321 8 Correct 0.03904 -322 7 Energy 0.06656 -323 9 Predict 0.189056 -324 0 Sorting 3.54067 -325 1 Data reordering 0.166464 -326 2 Tree-construction 0.888416 -327 11 Memory 0.00192 -328 3 Compute properties 0.263168 -329 10 setActiveGrpsFunc 0.069728 -330 4 Approximation 0.159872 -331 8 Correct 0.025472 -332 7 Energy 0.048704 -333 9 Predict 0.149856 -334 0 Sorting 3.26371 -335 1 Data reordering 0.1648 -336 2 Tree-construction 0.884096 -337 11 Memory 0.00192 -338 3 Compute properties 0.18592 -339 10 setActiveGrpsFunc 0.06688 -340 4 Approximation 0.158272 -341 8 Correct 0.025088 -342 7 Energy 0.047584 -343 9 Predict 0.142368 -344 0 Sorting 3.25088 -345 1 Data reordering 0.165152 -346 2 Tree-construction 0.954048 -347 11 Memory 0.001888 -348 3 Compute properties 0.199136 -349 10 setActiveGrpsFunc 0.067776 -350 4 Approximation 0.163072 -351 8 Correct 0.025408 -352 7 Energy 0.048032 -353 9 Predict 0.142976 -354 0 Sorting 3.24928 -355 1 Data reordering 0.16528 -356 2 Tree-construction 0.884512 -357 11 Memory 0.00192 -358 3 Compute properties 0.186208 -359 10 setActiveGrpsFunc 0.066688 -360 4 Approximation 0.158368 -361 8 Correct 0.025248 -362 7 Energy 0.047296 -363 9 Predict 0.14288 -364 0 Sorting 3.2335 -365 1 Data reordering 0.164736 -366 2 Tree-construction 1.00355 -367 11 Memory 0.001888 -368 3 Compute properties 0.20096 -369 10 setActiveGrpsFunc 0.067488 -370 4 Approximation 0.159872 -371 8 Correct 0.02512 -372 7 Energy 0.047424 -373 9 Predict 0.142816 -374 0 Sorting 3.23632 -375 1 Data reordering 0.164448 -376 2 Tree-construction 0.884864 -377 11 Memory 0.001888 -378 3 Compute properties 0.185824 -379 10 setActiveGrpsFunc 0.066272 -380 4 Approximation 0.159488 -381 8 Correct 0.02512 -382 7 Energy 0.04736 -383 9 Predict 0.142592 -384 0 Sorting 3.28397 -385 1 Data reordering 0.18176 -386 2 Tree-construction 0.919264 -387 11 Memory 0.00192 -388 3 Compute properties 0.185216 -389 10 setActiveGrpsFunc 0.067104 -390 4 Approximation 0.1592 -391 8 Correct 0.025216 -392 7 Energy 0.047936 -393 9 Predict 0.142752 -394 0 Sorting 3.24643 -395 1 Data reordering 0.16464 -396 2 Tree-construction 0.884544 -397 11 Memory 0.001888 -398 3 Compute properties 0.185184 -399 10 setActiveGrpsFunc 0.066688 -400 4 Approximation 0.158752 -401 8 Correct 0.025152 -402 7 Energy 0.047328 -403 9 Predict 0.14256 -404 0 Sorting 3.31683 -405 1 Data reordering 0.18352 -406 2 Tree-construction 0.915264 -407 11 Memory 0.00192 -408 3 Compute properties 0.185408 -409 10 setActiveGrpsFunc 0.0672 -410 4 Approximation 0.159136 -411 8 Correct 0.025472 -412 7 Energy 0.048352 -413 9 Predict 0.14368 -414 0 Sorting 3.24659 -415 1 Data reordering 0.164992 -416 2 Tree-construction 0.884448 -417 11 Memory 0.001888 -418 3 Compute properties 0.198304 -419 10 setActiveGrpsFunc 0.067008 -420 4 Approximation 0.159392 -421 8 Correct 0.025024 -422 7 Energy 0.04736 -423 9 Predict 0.142816 -424 0 Sorting 3.32346 -425 1 Data reordering 0.165312 -426 2 Tree-construction 0.890496 -427 11 Memory 0.001888 -428 3 Compute properties 0.18608 -429 10 setActiveGrpsFunc 0.066816 -430 4 Approximation 0.15968 -431 8 Correct 0.025408 -432 7 Energy 0.048064 -433 9 Predict 0.14304 -434 0 Sorting 3.23312 -435 1 Data reordering 0.164064 -436 2 Tree-construction 0.883808 -437 11 Memory 0.00192 -438 3 Compute properties 0.186144 -439 10 setActiveGrpsFunc 0.066592 -440 4 Approximation 0.159808 -441 8 Correct 0.024928 -442 7 Energy 0.04784 -443 9 Predict 0.142912 -444 0 Sorting 3.34298 -445 1 Data reordering 0.16528 -446 2 Tree-construction 0.882848 -447 11 Memory 0.001888 -448 3 Compute properties 0.18544 -449 10 setActiveGrpsFunc 0.066784 -450 4 Approximation 0.158912 -451 8 Correct 0.025056 -452 7 Energy 0.047392 -453 9 Predict 0.14224 -454 0 Sorting 3.24269 -455 1 Data reordering 0.164352 -456 2 Tree-construction 0.884832 -457 11 Memory 0.001888 -458 3 Compute properties 0.184992 -459 10 setActiveGrpsFunc 0.067648 -460 4 Approximation 0.15936 -461 8 Correct 0.02512 -462 7 Energy 0.047328 -463 9 Predict 0.142464 -464 0 Sorting 3.33507 -465 1 Data reordering 0.16528 -466 2 Tree-construction 0.88544 -467 11 Memory 0.001888 -468 3 Compute properties 0.185056 -469 10 setActiveGrpsFunc 0.066688 -470 4 Approximation 0.1592 -471 8 Correct 0.025248 -472 7 Energy 0.047936 -473 9 Predict 0.142592 -474 0 Sorting 3.23853 -475 1 Data reordering 0.173728 -476 2 Tree-construction 0.898624 -477 11 Memory 0.00192 -478 3 Compute properties 0.18656 -479 10 setActiveGrpsFunc 0.068608 -480 4 Approximation 0.1584 -481 8 Correct 0.025184 -482 7 Energy 0.047168 -483 9 Predict 0.142688 -484 0 Sorting 3.34998 -485 1 Data reordering 0.164832 -486 2 Tree-construction 0.889312 -487 11 Memory 0.00192 -488 3 Compute properties 0.184192 -489 10 setActiveGrpsFunc 0.067296 -490 4 Approximation 0.168576 -491 8 Correct 0.025408 -492 7 Energy 0.048544 -493 9 Predict 0.143264 -494 0 Sorting 3.24214 -495 1 Data reordering 0.164576 -496 2 Tree-construction 0.883744 -497 11 Memory 0.001984 -498 3 Compute properties 0.183712 -499 10 setActiveGrpsFunc 0.066752 -500 4 Approximation 0.161696 -501 8 Correct 0.025312 -502 7 Energy 0.047808 -503 9 Predict 0.142784 -504 0 Sorting 3.31728 -505 1 Data reordering 0.175424 -506 2 Tree-construction 0.8856 -507 11 Memory 0.00192 -508 3 Compute properties 0.183936 -509 10 setActiveGrpsFunc 0.066656 -510 4 Approximation 0.15856 -511 8 Correct 0.025216 -512 7 Energy 0.047872 -513 9 Predict 0.143136 -514 0 Sorting 3.23971 -515 1 Data reordering 0.16432 -516 2 Tree-construction 0.884736 -517 11 Memory 0.00192 -518 3 Compute properties 0.191136 -519 10 setActiveGrpsFunc 0.067584 -520 4 Approximation 0.15664 -521 8 Correct 0.025056 -522 7 Energy 0.049952 -523 9 Predict 0.14288 -524 0 Sorting 3.33962 -525 1 Data reordering 0.165376 -526 2 Tree-construction 0.886944 -527 11 Memory 0.001888 -528 3 Compute properties 0.185888 -529 10 setActiveGrpsFunc 0.066496 -530 4 Approximation 0.154784 -531 8 Correct 0.02528 -532 7 Energy 0.04784 -533 9 Predict 0.14256 -534 0 Sorting 3.2471 -535 1 Data reordering 0.164736 -536 2 Tree-construction 0.890912 -537 11 Memory 0.001888 -538 3 Compute properties 0.188256 -539 10 setActiveGrpsFunc 0.066848 -540 4 Approximation 0.159872 -541 8 Correct 0.025184 -542 7 Energy 0.047168 -543 9 Predict 0.142336 -544 0 Sorting 3.32966 -545 1 Data reordering 0.165376 -546 2 Tree-construction 0.886816 -547 11 Memory 0.001888 -548 3 Compute properties 0.186752 -549 10 setActiveGrpsFunc 0.066592 -550 4 Approximation 0.158848 -551 8 Correct 0.025344 -552 7 Energy 0.047456 -553 9 Predict 0.143168 -554 0 Sorting 3.57715 -555 1 Data reordering 0.172224 -556 2 Tree-construction 0.88576 -557 11 Memory 0.001888 -558 3 Compute properties 0.216864 -559 10 setActiveGrpsFunc 0.0856 -560 4 Approximation 0.161568 -561 8 Correct 0.02576 -562 7 Energy 0.04832 -563 9 Predict 0.16496 -564 0 Sorting 3.2479 -565 1 Data reordering 0.164384 -566 2 Tree-construction 0.896224 -567 11 Memory 0.001888 -568 3 Compute properties 0.186688 -569 10 setActiveGrpsFunc 0.066464 -570 4 Approximation 0.15984 -571 8 Correct 0.025184 -572 7 Energy 0.047264 -573 9 Predict 0.143424 -574 0 Sorting 3.23856 -575 1 Data reordering 0.164576 -576 2 Tree-construction 0.966752 -577 11 Memory 0.001888 -578 3 Compute properties 0.196608 -579 10 setActiveGrpsFunc 0.086592 -580 4 Approximation 0.172096 -581 8 Correct 0.025376 -582 7 Energy 0.063744 -583 9 Predict 0.14384 -584 0 Sorting 3.24224 -585 1 Data reordering 0.164768 -586 2 Tree-construction 0.88544 -587 11 Memory 0.001888 -588 3 Compute properties 0.195744 -589 10 setActiveGrpsFunc 0.066816 -590 4 Approximation 0.157312 -591 8 Correct 0.025216 -592 7 Energy 0.047456 -593 9 Predict 0.142784 -594 0 Sorting 3.2513 -595 1 Data reordering 0.164832 -596 2 Tree-construction 0.986912 -597 11 Memory 0.001888 -598 3 Compute properties 0.211168 -599 10 setActiveGrpsFunc 0.067584 -600 4 Approximation 0.157248 -601 8 Correct 0.025376 -602 7 Energy 0.047968 -603 9 Predict 0.143552 -604 0 Sorting 3.2408 -605 1 Data reordering 0.163936 -606 2 Tree-construction 0.88528 -607 11 Memory 0.00192 -608 3 Compute properties 0.188224 -609 10 setActiveGrpsFunc 0.067264 -610 4 Approximation 0.158496 -611 8 Correct 0.02528 -612 7 Energy 0.04768 -613 9 Predict 0.143008 -614 0 Sorting 3.25261 -615 1 Data reordering 0.227552 -616 2 Tree-construction 0.920864 -617 11 Memory 0.001888 -618 3 Compute properties 0.195104 -619 10 setActiveGrpsFunc 0.067328 -620 4 Approximation 0.159008 -621 8 Correct 0.025216 -622 7 Energy 0.04736 -623 9 Predict 0.143072 -624 0 Sorting 3.23744 -625 1 Data reordering 0.164672 -626 2 Tree-construction 0.892512 -627 11 Memory 0.001888 -628 3 Compute properties 0.185952 -629 10 setActiveGrpsFunc 0.06656 -630 4 Approximation 0.158496 -631 8 Correct 0.025088 -632 7 Energy 0.04752 -633 9 Predict 0.142944 -634 0 Sorting 3.29322 -635 1 Data reordering 0.181888 -636 2 Tree-construction 0.917952 -637 11 Memory 0.001952 -638 3 Compute properties 0.198976 -639 10 setActiveGrpsFunc 0.067936 -640 4 Approximation 0.157376 -641 8 Correct 0.025312 -642 7 Energy 0.047904 -643 9 Predict 0.143776 -644 0 Sorting 3.2487 -645 1 Data reordering 0.1648 -646 2 Tree-construction 0.88464 -647 11 Memory 0.001888 -648 3 Compute properties 0.195488 -649 10 setActiveGrpsFunc 0.067424 -650 4 Approximation 0.156512 -651 8 Correct 0.025024 -652 7 Energy 0.047392 -653 9 Predict 0.143008 -654 0 Sorting 3.3336 -655 1 Data reordering 0.21008 -656 2 Tree-construction 0.887232 -657 11 Memory 0.050912 -658 3 Compute properties 0.19872 -659 10 setActiveGrpsFunc 0.067744 -660 4 Approximation 0.162944 -661 8 Correct 0.025184 -662 7 Energy 0.047584 -663 9 Predict 0.1432 -664 0 Sorting 3.24506 -665 1 Data reordering 0.164512 -666 2 Tree-construction 0.8856 -667 11 Memory 0.001888 -668 3 Compute properties 0.19728 -669 10 setActiveGrpsFunc 0.067264 -670 4 Approximation 0.157024 -671 8 Correct 0.025024 -672 7 Energy 0.04752 -673 9 Predict 0.14304 -674 0 Sorting 3.3481 -675 1 Data reordering 0.165408 -676 2 Tree-construction 0.888256 -677 11 Memory 0.001952 -678 3 Compute properties 0.195744 -679 10 setActiveGrpsFunc 0.067136 -680 4 Approximation 0.15792 -681 8 Correct 0.025152 -682 7 Energy 0.047392 -683 9 Predict 0.143616 -684 0 Sorting 3.24154 -685 1 Data reordering 0.16448 -686 2 Tree-construction 0.885824 -687 11 Memory 0.001888 -688 3 Compute properties 0.197632 -689 10 setActiveGrpsFunc 0.067296 -690 4 Approximation 0.157664 -691 8 Correct 0.025248 -692 7 Energy 0.047616 -693 9 Predict 0.142656 -694 0 Sorting 3.33414 -695 1 Data reordering 0.165696 -696 2 Tree-construction 0.893344 -697 11 Memory 0.031744 -698 3 Compute properties 0.20224 -699 10 setActiveGrpsFunc 0.067712 -700 4 Approximation 0.16256 -701 8 Correct 0.025216 -702 7 Energy 0.047776 -703 9 Predict 0.14352 -704 0 Sorting 3.23766 -705 1 Data reordering 0.16416 -706 2 Tree-construction 0.89552 -707 11 Memory 0.001888 -708 3 Compute properties 0.196864 -709 10 setActiveGrpsFunc 0.067296 -710 4 Approximation 0.169408 -711 8 Correct 0.033696 -712 7 Energy 0.067104 -713 9 Predict 0.190368 -714 0 Sorting 3.59501 -715 1 Data reordering 0.166176 -716 2 Tree-construction 0.889472 -717 11 Memory 0.00192 -718 3 Compute properties 0.185856 -719 10 setActiveGrpsFunc 0.066912 -720 4 Approximation 0.159616 -721 8 Correct 0.025376 -722 7 Energy 0.048 -723 9 Predict 0.151168 -724 0 Sorting 3.24099 -725 1 Data reordering 0.164448 -726 2 Tree-construction 0.885408 -727 11 Memory 0.00192 -728 3 Compute properties 0.18592 -729 10 setActiveGrpsFunc 0.067168 -730 4 Approximation 0.15872 -731 8 Correct 0.02512 -732 7 Energy 0.047488 -733 9 Predict 0.142656 -734 0 Sorting 3.3135 -735 1 Data reordering 0.164512 -736 2 Tree-construction 0.886656 -737 11 Memory 0.00192 -738 3 Compute properties 0.185888 -739 10 setActiveGrpsFunc 0.066528 -740 4 Approximation 0.158592 -741 8 Correct 0.025248 -742 7 Energy 0.04768 -743 9 Predict 0.142848 -744 0 Sorting 3.2425 -745 1 Data reordering 0.164704 -746 2 Tree-construction 0.88624 -747 11 Memory 0.001888 -748 3 Compute properties 0.185408 -749 10 setActiveGrpsFunc 0.066656 -750 4 Approximation 0.158688 -751 8 Correct 0.025248 -752 7 Energy 0.047328 -753 9 Predict 0.142688 -754 0 Sorting 3.3487 -755 1 Data reordering 0.164832 -756 2 Tree-construction 0.887104 -757 11 Memory 0.00192 -758 3 Compute properties 0.186912 -759 10 setActiveGrpsFunc 0.068128 -760 4 Approximation 0.158272 -761 8 Correct 0.025152 -762 7 Energy 0.047488 -763 9 Predict 0.142656 -764 0 Sorting 3.2335 -765 1 Data reordering 0.164512 -766 2 Tree-construction 0.893056 -767 11 Memory 0.001888 -768 3 Compute properties 0.184928 -769 10 setActiveGrpsFunc 0.066688 -770 4 Approximation 0.17056 -771 8 Correct 0.033216 -772 7 Energy 0.05088 -773 9 Predict 0.144032 -774 0 Sorting 3.26323 -775 1 Data reordering 0.164832 -776 2 Tree-construction 0.884992 -777 11 Memory 0.001888 -778 3 Compute properties 0.186208 -779 10 setActiveGrpsFunc 0.066528 -780 4 Approximation 0.158496 -781 8 Correct 0.025024 -782 7 Energy 0.047648 -783 9 Predict 0.143168 -784 0 Sorting 3.24448 -785 1 Data reordering 0.165216 -786 2 Tree-construction 0.887456 -787 11 Memory 0.00192 -788 3 Compute properties 0.257504 -789 10 setActiveGrpsFunc 0.070208 -790 4 Approximation 0.157984 -791 8 Correct 0.025632 -792 7 Energy 0.047904 -793 9 Predict 0.162144 -794 0 Sorting 3.26806 -795 1 Data reordering 0.165536 -796 2 Tree-construction 0.886304 -797 11 Memory 0.001888 -798 3 Compute properties 0.186304 -799 10 setActiveGrpsFunc 0.06672 -800 4 Approximation 0.157376 -801 8 Correct 0.025184 -802 7 Energy 0.047616 -803 9 Predict 0.143008 -804 0 Sorting 3.25395 -805 1 Data reordering 0.163936 -806 2 Tree-construction 0.960576 -807 11 Memory 0.001888 -808 3 Compute properties 0.217088 -809 10 setActiveGrpsFunc 0.068672 -810 4 Approximation 0.158944 -811 8 Correct 0.025216 -812 7 Energy 0.048 -813 9 Predict 0.14256 -814 0 Sorting 3.26986 -815 1 Data reordering 0.16544 -816 2 Tree-construction 0.885408 -817 11 Memory 0.001888 -818 3 Compute properties 0.185888 -819 10 setActiveGrpsFunc 0.066976 -820 4 Approximation 0.159776 -821 8 Correct 0.025248 -822 7 Energy 0.047296 -823 9 Predict 0.14272 -824 0 Sorting 3.24272 -825 1 Data reordering 0.164512 -826 2 Tree-construction 0.990464 -827 11 Memory 0.001888 -828 3 Compute properties 0.187424 -829 10 setActiveGrpsFunc 0.067264 -830 4 Approximation 0.157536 -831 8 Correct 0.025344 -832 7 Energy 0.04784 -833 9 Predict 0.142976 -834 0 Sorting 3.2423 -835 1 Data reordering 0.164416 -836 2 Tree-construction 0.883744 -837 11 Memory 0.00192 -838 3 Compute properties 0.186912 -839 10 setActiveGrpsFunc 0.06672 -840 4 Approximation 0.15696 -841 8 Correct 0.025056 -842 7 Energy 0.047456 -843 9 Predict 0.143328 -844 0 Sorting 3.28832 -845 1 Data reordering 0.180192 -846 2 Tree-construction 0.950688 -847 11 Memory 0.001952 -848 3 Compute properties 0.196992 -849 10 setActiveGrpsFunc 0.06704 -850 4 Approximation 0.155648 -851 8 Correct 0.025152 -852 7 Energy 0.047712 -853 9 Predict 0.142144 -854 0 Sorting 3.23421 -855 1 Data reordering 0.164736 -856 2 Tree-construction 0.88464 -857 11 Memory 0.001888 -858 3 Compute properties 0.198304 -859 10 setActiveGrpsFunc 0.067072 -860 4 Approximation 0.15856 -861 8 Correct 0.025216 -862 7 Energy 0.047264 -863 9 Predict 0.142432 -864 0 Sorting 3.30032 -865 1 Data reordering 0.165408 -866 2 Tree-construction 0.90688 -867 11 Memory 0.00192 -868 3 Compute properties 0.200224 -869 10 setActiveGrpsFunc 0.067264 -870 4 Approximation 0.159072 -871 8 Correct 0.025376 -872 7 Energy 0.047776 -873 9 Predict 0.144576 -874 0 Sorting 3.25315 -875 1 Data reordering 0.164544 -876 2 Tree-construction 0.885248 -877 11 Memory 0.001888 -878 3 Compute properties 0.195584 -879 10 setActiveGrpsFunc 0.067072 -880 4 Approximation 0.158848 -881 8 Correct 0.025312 -882 7 Energy 0.047168 -883 9 Predict 0.142368 -884 0 Sorting 3.33802 -885 1 Data reordering 0.164832 -886 2 Tree-construction 0.887232 -887 11 Memory 0.001888 -888 3 Compute properties 0.188576 -889 10 setActiveGrpsFunc 0.066848 -890 4 Approximation 0.15856 -891 8 Correct 0.025312 -892 7 Energy 0.04768 -893 9 Predict 0.142272 -894 0 Sorting 3.24653 -895 1 Data reordering 0.164352 -896 2 Tree-construction 0.883872 -897 11 Memory 0.001888 -898 3 Compute properties 0.196512 -899 10 setActiveGrpsFunc 0.066784 -900 4 Approximation 0.158688 -901 8 Correct 0.025056 -902 7 Energy 0.047616 -903 9 Predict 0.142848 -904 0 Sorting 3.32499 -905 1 Data reordering 0.165184 -906 2 Tree-construction 0.897056 -907 11 Memory 0.001888 -908 3 Compute properties 0.195328 -909 10 setActiveGrpsFunc 0.068288 -910 4 Approximation 0.159104 -911 8 Correct 0.02528 -912 7 Energy 0.047712 -913 9 Predict 0.14304 -914 0 Sorting 3.23888 -915 1 Data reordering 0.164256 -916 2 Tree-construction 0.884992 -917 11 Memory 0.001888 -918 3 Compute properties 0.187968 -919 10 setActiveGrpsFunc 0.066432 -920 4 Approximation 0.158944 -921 8 Correct 0.02512 -922 7 Energy 0.047136 -923 9 Predict 0.150784 -924 0 Sorting 3.32371 -925 1 Data reordering 0.164896 -926 2 Tree-construction 0.886048 -927 11 Memory 0.001888 -928 3 Compute properties 0.186944 -929 10 setActiveGrpsFunc 0.066816 -930 4 Approximation 0.158848 -931 8 Correct 0.025408 -932 7 Energy 0.048224 -933 9 Predict 0.142272 -934 0 Sorting 3.24813 -935 1 Data reordering 0.164288 -936 2 Tree-construction 0.8832 -937 11 Memory 0.00192 -938 3 Compute properties 0.19824 -939 10 setActiveGrpsFunc 0.066848 -940 4 Approximation 0.15888 -941 8 Correct 0.025024 -942 7 Energy 0.047648 -943 9 Predict 0.143552 -944 0 Sorting 3.71309 -945 1 Data reordering 0.166272 -946 2 Tree-construction 0.893248 -947 11 Memory 0.00192 -948 3 Compute properties 0.197248 -949 10 setActiveGrpsFunc 0.067264 -950 4 Approximation 0.15968 -951 8 Correct 0.025632 -952 7 Energy 0.048128 -953 9 Predict 0.143776 -954 0 Sorting 3.24979 -955 1 Data reordering 0.164736 -956 2 Tree-construction 0.8848 -957 11 Memory 0.001888 -958 3 Compute properties 0.194016 -959 10 setActiveGrpsFunc 0.067136 -960 4 Approximation 0.158784 -961 8 Correct 0.025152 -962 7 Energy 0.047104 -963 9 Predict 0.143296 -964 0 Sorting 3.2904 -965 1 Data reordering 0.164896 -966 2 Tree-construction 0.896256 -967 11 Memory 0.001888 -968 3 Compute properties 0.187168 -969 10 setActiveGrpsFunc 0.066848 -970 4 Approximation 0.158784 -971 8 Correct 0.02528 -972 7 Energy 0.047136 -973 9 Predict 0.142656 -974 0 Sorting 3.2409 -975 1 Data reordering 0.164352 -976 2 Tree-construction 0.883808 -977 11 Memory 0.001888 -978 3 Compute properties 0.19856 -979 10 setActiveGrpsFunc 0.06704 -980 4 Approximation 0.158944 -981 8 Correct 0.024992 -982 7 Energy 0.047072 -983 9 Predict 0.142656 -984 0 Sorting 3.31264 -985 1 Data reordering 0.165312 -986 2 Tree-construction 0.884736 -987 11 Memory 0.001888 -988 3 Compute properties 0.185824 -989 10 setActiveGrpsFunc 0.06656 -990 4 Approximation 0.158912 -991 8 Correct 0.025056 -992 7 Energy 0.04736 -993 9 Predict 0.142592 -994 0 Sorting 3.24813 -995 1 Data reordering 0.164384 -996 2 Tree-construction 0.892416 -997 11 Memory 0.001888 -998 3 Compute properties 0.185216 -999 10 setActiveGrpsFunc 0.06672 -1000 4 Approximation 0.18368 -1001 8 Correct 0.025856 -1002 7 Energy 0.048576 -1003 9 Predict 0.1432 -1004 0 Sorting 3.27766 -1005 1 Data reordering 0.165088 -1006 2 Tree-construction 0.88592 -1007 11 Memory 0.001888 -1008 3 Compute properties 0.186112 -1009 10 setActiveGrpsFunc 0.066688 -1010 4 Approximation 0.15888 -1011 8 Correct 0.025088 -1012 7 Energy 0.047296 -1013 9 Predict 0.142272 -1014 0 Sorting 3.2529 -1015 1 Data reordering 0.164768 -1016 2 Tree-construction 0.886016 -1017 11 Memory 0.00192 -1018 3 Compute properties 0.214816 -1019 10 setActiveGrpsFunc 0.06816 -1020 4 Approximation 0.16032 -1021 8 Correct 0.02544 -1022 7 Energy 0.047552 -1023 9 Predict 0.145536 -1024 0 Sorting 3.27078 -1025 1 Data reordering 0.164608 -1026 2 Tree-construction 0.884448 -1027 11 Memory 0.00192 -1028 3 Compute properties 0.18688 -1029 10 setActiveGrpsFunc 0.066752 -1030 4 Approximation 0.158848 -1031 8 Correct 0.02512 -1032 7 Energy 0.04736 -1033 9 Predict 0.142592 -1034 0 Sorting 3.24669 -1035 1 Data reordering 0.164288 -1036 2 Tree-construction 0.909472 -1037 11 Memory 0.001888 -1038 3 Compute properties 0.186816 -1039 10 setActiveGrpsFunc 0.088224 -1040 4 Approximation 0.176288 -1041 8 Correct 0.02528 -1042 7 Energy 0.04784 -1043 9 Predict 0.143776 -1044 0 Sorting 3.23766 -1045 1 Data reordering 0.173536 -1046 2 Tree-construction 0.884832 -1047 11 Memory 0.001888 -1048 3 Compute properties 0.186048 -1049 10 setActiveGrpsFunc 0.066656 -1050 4 Approximation 0.158496 -1051 8 Correct 0.025152 -1052 7 Energy 0.047104 -1053 9 Predict 0.142144 -1054 0 Sorting 3.24394 -1055 1 Data reordering 0.163936 -1056 2 Tree-construction 0.925664 -1057 11 Memory 0.00192 -1058 3 Compute properties 0.202624 -1059 10 setActiveGrpsFunc 0.09136 -1060 4 Approximation 0.159584 -1061 8 Correct 0.025056 -1062 7 Energy 0.047424 -1063 9 Predict 0.142752 -1064 0 Sorting 3.24618 -1065 1 Data reordering 0.16416 -1066 2 Tree-construction 0.885344 -1067 11 Memory 0.001856 -1068 3 Compute properties 0.186688 -1069 10 setActiveGrpsFunc 0.06624 -1070 4 Approximation 0.158656 -1071 8 Correct 0.025088 -1072 7 Energy 0.04736 -1073 9 Predict 0.14304 -1074 0 Sorting 3.24998 -1075 1 Data reordering 0.189216 -1076 2 Tree-construction 0.943424 -1077 11 Memory 0.001888 -1078 3 Compute properties 0.186528 -1079 10 setActiveGrpsFunc 0.06672 -1080 4 Approximation 0.15888 -1081 8 Correct 0.025056 -1082 7 Energy 0.047328 -1083 9 Predict 0.143328 -1084 0 Sorting 3.25158 -1085 1 Data reordering 0.164608 -1086 2 Tree-construction 0.88464 -1087 11 Memory 0.00192 -1088 3 Compute properties 0.186144 -1089 10 setActiveGrpsFunc 0.066624 -1090 4 Approximation 0.158976 -1091 8 Correct 0.025024 -1092 7 Energy 0.047264 -1093 9 Predict 0.142848 -1094 0 Sorting 3.27376 -1095 1 Data reordering 0.164384 -1096 2 Tree-construction 0.942656 -1097 11 Memory 0.001888 -1098 3 Compute properties 0.185408 -1099 10 setActiveGrpsFunc 0.06656 -1100 4 Approximation 0.158976 -1101 8 Correct 0.025056 -1102 7 Energy 0.04736 -1103 9 Predict 0.142912 -1104 0 Sorting 3.2439 -1105 1 Data reordering 0.16528 -1106 2 Tree-construction 0.896672 -1107 11 Memory 0.001888 -1108 3 Compute properties 0.185984 -1109 10 setActiveGrpsFunc 0.066624 -1110 4 Approximation 0.158368 -1111 8 Correct 0.025056 -1112 7 Energy 0.047712 -1113 9 Predict 0.143136 -1114 0 Sorting 3.27181 -1115 1 Data reordering 0.182752 -1116 2 Tree-construction 0.906688 -1117 11 Memory 0.00192 -1118 3 Compute properties 0.186752 -1119 10 setActiveGrpsFunc 0.066688 -1120 4 Approximation 0.15872 -1121 8 Correct 0.025024 -1122 7 Energy 0.047488 -1123 9 Predict 0.143264 -1124 0 Sorting 3.24438 -1125 1 Data reordering 0.16384 -1126 2 Tree-construction 0.886912 -1127 11 Memory 0.001888 -1128 3 Compute properties 0.185056 -1129 10 setActiveGrpsFunc 0.066848 -1130 4 Approximation 0.158944 -1131 8 Correct 0.025248 -1132 7 Energy 0.047232 -1133 9 Predict 0.14272 -1134 0 Sorting 3.31446 -1135 1 Data reordering 0.164576 -1136 2 Tree-construction 0.886912 -1137 11 Memory 0.00192 -1138 3 Compute properties 0.1864 -1139 10 setActiveGrpsFunc 0.066592 -1140 4 Approximation 0.158624 -1141 8 Correct 0.025024 -1142 7 Energy 0.047872 -1143 9 Predict 0.142688 -1144 0 Sorting 3.24339 -1145 1 Data reordering 0.164256 -1146 2 Tree-construction 0.88624 -1147 11 Memory 0.001888 -1148 3 Compute properties 0.185664 -1149 10 setActiveGrpsFunc 0.066816 -1150 4 Approximation 0.158368 -1151 8 Correct 0.025152 -1152 7 Energy 0.047232 -1153 9 Predict 0.142912 -1154 0 Sorting 3.33955 -1155 1 Data reordering 0.165152 -1156 2 Tree-construction 0.88688 -1157 11 Memory 0.001888 -1158 3 Compute properties 0.18576 -1159 10 setActiveGrpsFunc 0.066784 -1160 4 Approximation 0.158976 -1161 8 Correct 0.025024 -1162 7 Energy 0.047872 -1163 9 Predict 0.142752 -1164 0 Sorting 3.24269 -1165 1 Data reordering 0.163808 -1166 2 Tree-construction 0.893888 -1167 11 Memory 0.001888 -1168 3 Compute properties 0.185536 -1169 10 setActiveGrpsFunc 0.066656 -1170 4 Approximation 0.15888 -1171 8 Correct 0.025216 -1172 7 Energy 0.047264 -1173 9 Predict 0.143232 -1174 0 Sorting 3.72938 -1175 1 Data reordering 0.165216 -1176 2 Tree-construction 0.8888 -1177 11 Memory 0.001888 -1178 3 Compute properties 0.187296 -1179 10 setActiveGrpsFunc 0.066848 -1180 4 Approximation 0.159968 -1181 8 Correct 0.025376 -1182 7 Energy 0.048032 -1183 9 Predict 0.144384 -1184 0 Sorting 3.24432 -1185 1 Data reordering 0.16416 -1186 2 Tree-construction 0.886784 -1187 11 Memory 0.001888 -1188 3 Compute properties 0.18672 -1189 10 setActiveGrpsFunc 0.066784 -1190 4 Approximation 0.15904 -1191 8 Correct 0.025152 -1192 7 Energy 0.047296 -1193 9 Predict 0.14272 -1194 0 Sorting 3.3039 -1195 1 Data reordering 0.165088 -1196 2 Tree-construction 0.888384 -1197 11 Memory 0.001888 -1198 3 Compute properties 0.196224 -1199 10 setActiveGrpsFunc 0.066912 -1200 4 Approximation 0.160032 -1201 8 Correct 0.02528 -1202 7 Energy 0.047264 -1203 9 Predict 0.144224 -1204 0 Sorting 3.24278 -1205 1 Data reordering 0.16544 -1206 2 Tree-construction 0.886016 -1207 11 Memory 0.00192 -1208 3 Compute properties 0.18688 -1209 10 setActiveGrpsFunc 0.06704 -1210 4 Approximation 0.158848 -1211 8 Correct 0.02512 -1212 7 Energy 0.047616 -1213 9 Predict 0.14304 -1214 0 Sorting 3.3145 -1215 1 Data reordering 0.164992 -1216 2 Tree-construction 0.886304 -1217 11 Memory 0.00192 -1218 3 Compute properties 0.186112 -1219 10 setActiveGrpsFunc 0.066688 -1220 4 Approximation 0.158816 -1221 8 Correct 0.025216 -1222 7 Energy 0.047296 -1223 9 Predict 0.142624 -1224 0 Sorting 3.25082 -1225 1 Data reordering 0.164768 -1226 2 Tree-construction 0.885408 -1227 11 Memory 0.001888 -1228 3 Compute properties 0.186208 -1229 10 setActiveGrpsFunc 0.066752 -1230 4 Approximation 0.158624 -1231 8 Correct 0.025408 -1232 7 Energy 0.047296 -1233 9 Predict 0.142912 -1234 0 Sorting 3.32176 -1235 1 Data reordering 0.164288 -1236 2 Tree-construction 0.887008 -1237 11 Memory 0.00192 -1238 3 Compute properties 0.186912 -1239 10 setActiveGrpsFunc 0.066976 -1240 4 Approximation 0.158688 -1241 8 Correct 0.025312 -1242 7 Energy 0.047808 -1243 9 Predict 0.143264 -1244 0 Sorting 3.2464 -1245 1 Data reordering 0.174144 -1246 2 Tree-construction 0.885568 -1247 11 Memory 0.001888 -1248 3 Compute properties 0.185344 -1249 10 setActiveGrpsFunc 0.066816 -1250 4 Approximation 0.158912 -1251 8 Correct 0.048288 -1252 7 Energy 0.050816 -1253 9 Predict 0.149792 -1254 0 Sorting 3.26688 -1255 1 Data reordering 0.164 -1256 2 Tree-construction 0.88384 -1257 11 Memory 0.001888 -1258 3 Compute properties 0.185088 -1259 10 setActiveGrpsFunc 0.076256 -1260 4 Approximation 0.159392 -1261 8 Correct 0.025152 -1262 7 Energy 0.047456 -1263 9 Predict 0.143072 -1264 0 Sorting 3.23789 -1265 1 Data reordering 0.164512 -1266 2 Tree-construction 0.8856 -1267 11 Memory 0.001888 -1268 3 Compute properties 0.201696 -1269 10 setActiveGrpsFunc 0.068096 -1270 4 Approximation 0.16816 -1271 8 Correct 0.02544 -1272 7 Energy 0.047648 -1273 9 Predict 0.163424 -1274 0 Sorting 3.27242 -1275 1 Data reordering 0.165472 -1276 2 Tree-construction 0.88464 -1277 11 Memory 0.00192 -1278 3 Compute properties 0.184704 -1279 10 setActiveGrpsFunc 0.066816 -1280 4 Approximation 0.158944 -1281 8 Correct 0.02512 -1282 7 Energy 0.047488 -1283 9 Predict 0.143168 -1284 0 Sorting 3.25005 -1285 1 Data reordering 0.163872 -1286 2 Tree-construction 0.925696 -1287 11 Memory 0.00192 -1288 3 Compute properties 0.185376 -1289 10 setActiveGrpsFunc 0.067136 -1290 4 Approximation 0.162176 -1291 8 Correct 0.025344 -1292 7 Energy 0.065088 -1293 9 Predict 0.144704 -1294 0 Sorting 3.24595 -1295 1 Data reordering 0.164416 -1296 2 Tree-construction 0.88288 -1297 11 Memory 0.00192 -1298 3 Compute properties 0.185888 -1299 10 setActiveGrpsFunc 0.091616 -1300 4 Approximation 0.160544 -1301 8 Correct 0.043744 -1302 7 Energy 0.05072 -1303 9 Predict 0.151808 -1304 0 Sorting 3.24778 -1305 1 Data reordering 0.165216 -1306 2 Tree-construction 0.953056 -1307 11 Memory 0.001888 -1308 3 Compute properties 0.21616 -1309 10 setActiveGrpsFunc 0.067616 -1310 4 Approximation 0.158976 -1311 8 Correct 0.025152 -1312 7 Energy 0.048064 -1313 9 Predict 0.143808 -1314 0 Sorting 3.23523 -1315 1 Data reordering 0.214176 -1316 2 Tree-construction 0.96992 -1317 11 Memory 0.001888 -1318 3 Compute properties 0.186944 -1319 10 setActiveGrpsFunc 0.067072 -1320 4 Approximation 0.169824 -1321 8 Correct 0.025408 -1322 7 Energy 0.047936 -1323 9 Predict 0.143776 -1324 0 Sorting 3.27299 -1325 1 Data reordering 0.175296 -1326 2 Tree-construction 0.935456 -1327 11 Memory 0.00192 -1328 3 Compute properties 0.18544 -1329 10 setActiveGrpsFunc 0.067008 -1330 4 Approximation 0.158976 -1331 8 Correct 0.025344 -1332 7 Energy 0.048064 -1333 9 Predict 0.143968 -1334 0 Sorting 3.91238 -1335 1 Data reordering 0.166208 -1336 2 Tree-construction 0.88944 -1337 11 Memory 0.001888 -1338 3 Compute properties 0.185344 -1339 10 setActiveGrpsFunc 0.066912 -1340 4 Approximation 0.15936 -1341 8 Correct 0.025408 -1342 7 Energy 0.048896 -1343 9 Predict 0.144032 -1344 0 Sorting 3.51398 -1345 1 Data reordering 0.165664 -1346 2 Tree-construction 0.888064 -1347 11 Memory 0.001888 -1348 3 Compute properties 0.18528 -1349 10 setActiveGrpsFunc 0.068576 -1350 4 Approximation 0.159072 -1351 8 Correct 0.025248 -1352 7 Energy 0.048 -1353 9 Predict 0.143328 -1354 0 Sorting 3.25168 -1355 1 Data reordering 0.164896 -1356 2 Tree-construction 1.00835 -1357 11 Memory 0.001888 -1358 3 Compute properties 0.221152 -1359 10 setActiveGrpsFunc 0.092384 -1360 4 Approximation 0.183488 -1361 8 Correct 0.0264 -1362 7 Energy 0.069056 -1363 9 Predict 0.17312 -1364 0 Sorting 3.30016 -1365 1 Data reordering 0.165408 -1366 2 Tree-construction 0.894336 -1367 11 Memory 0.001888 -1368 3 Compute properties 0.184864 -1369 10 setActiveGrpsFunc 0.08896 -1370 4 Approximation 0.161632 -1371 8 Correct 0.025248 -1372 7 Energy 0.048288 -1373 9 Predict 0.143584 -1374 0 Sorting 3.24592 -1375 1 Data reordering 0.164224 -1376 2 Tree-construction 0.886496 -1377 11 Memory 0.001888 -1378 3 Compute properties 0.194656 -1379 10 setActiveGrpsFunc 0.066944 -1380 4 Approximation 0.158656 -1381 8 Correct 0.025184 -1382 7 Energy 0.047552 -1383 9 Predict 0.14304 -1384 0 Sorting 3.3121 -1385 1 Data reordering 0.164416 -1386 2 Tree-construction 0.885248 -1387 11 Memory 0.001888 -1388 3 Compute properties 0.185824 -1389 10 setActiveGrpsFunc 0.066464 -1390 4 Approximation 0.159296 -1391 8 Correct 0.025312 -1392 7 Energy 0.04768 -1393 9 Predict 0.142944 -1394 0 Sorting 3.23565 -1395 1 Data reordering 0.164384 -1396 2 Tree-construction 0.895552 -1397 11 Memory 0.001888 -1398 3 Compute properties 0.185312 -1399 10 setActiveGrpsFunc 0.066688 -1400 4 Approximation 0.158592 -1401 8 Correct 0.025216 -1402 7 Energy 0.047968 -1403 9 Predict 0.142848 -1404 0 Sorting 3.3048 -1405 1 Data reordering 0.165312 -1406 2 Tree-construction 0.888192 -1407 11 Memory 0.001888 -1408 3 Compute properties 0.186432 -1409 10 setActiveGrpsFunc 0.066624 -1410 4 Approximation 0.15936 -1411 8 Correct 0.025088 -1412 7 Energy 0.048288 -1413 9 Predict 0.142944 -1414 0 Sorting 3.2527 -1415 1 Data reordering 0.16448 -1416 2 Tree-construction 0.892864 -1417 11 Memory 0.001888 -1418 3 Compute properties 0.18656 -1419 10 setActiveGrpsFunc 0.066656 -1420 4 Approximation 0.158912 -1421 8 Correct 0.024896 -1422 7 Energy 0.047872 -1423 9 Predict 0.143072 -1424 0 Sorting 3.32352 -1425 1 Data reordering 0.164736 -1426 2 Tree-construction 0.885664 -1427 11 Memory 0.001888 -1428 3 Compute properties 0.19552 -1429 10 setActiveGrpsFunc 0.066784 -1430 4 Approximation 0.159872 -1431 8 Correct 0.025056 -1432 7 Energy 0.047904 -1433 9 Predict 0.143392 -1434 0 Sorting 3.24816 -1435 1 Data reordering 0.16432 -1436 2 Tree-construction 0.888896 -1437 11 Memory 0.001888 -1438 3 Compute properties 0.187232 -1439 10 setActiveGrpsFunc 0.066784 -1440 4 Approximation 0.159872 -1441 8 Correct 0.02496 -1442 7 Energy 0.047296 -1443 9 Predict 0.16864 -1444 0 Sorting 3.28925 -1445 1 Data reordering 0.174368 -1446 2 Tree-construction 0.886304 -1447 11 Memory 0.001888 -1448 3 Compute properties 0.188576 -1449 10 setActiveGrpsFunc 0.066848 -1450 4 Approximation 0.159936 -1451 8 Correct 0.02528 -1452 7 Energy 0.047936 -1453 9 Predict 0.143392 -1454 0 Sorting 3.23584 -1455 1 Data reordering 0.170592 -1456 2 Tree-construction 0.887712 -1457 11 Memory 0.00192 -1458 3 Compute properties 0.198304 -1459 10 setActiveGrpsFunc 0.094208 -1460 4 Approximation 0.160896 -1461 8 Correct 0.03456 -1462 7 Energy 0.048224 -1463 9 Predict 0.14352 -1464 0 Sorting 3.25667 -1465 1 Data reordering 0.164704 -1466 2 Tree-construction 0.884384 -1467 11 Memory 0.00192 -1468 3 Compute properties 0.185536 -1469 10 setActiveGrpsFunc 0.066912 -1470 4 Approximation 0.159968 -1471 8 Correct 0.025056 -1472 7 Energy 0.04768 -1473 9 Predict 0.143264 -1474 0 Sorting 3.26451 -1475 1 Data reordering 0.16528 -1476 2 Tree-construction 0.917056 -1477 11 Memory 0.00192 -1478 3 Compute properties 0.19696 -1479 10 setActiveGrpsFunc 0.068352 -1480 4 Approximation 0.164032 -1481 8 Correct 0.025408 -1482 7 Energy 0.06768 -1483 9 Predict 0.144512 -1484 0 Sorting 3.25014 -1485 1 Data reordering 0.164992 -1486 2 Tree-construction 0.885792 -1487 11 Memory 0.00192 -1488 3 Compute properties 0.1848 -1489 10 setActiveGrpsFunc 0.06704 -1490 4 Approximation 0.160192 -1491 8 Correct 0.025152 -1492 7 Energy 0.047328 -1493 9 Predict 0.143232 -1494 0 Sorting 3.24512 -1495 1 Data reordering 0.164384 -1496 2 Tree-construction 0.922688 -1497 11 Memory 0.00192 -1498 3 Compute properties 0.203904 -1499 10 setActiveGrpsFunc 0.067488 -1500 4 Approximation 0.180352 -1501 8 Correct 0.025152 -1502 7 Energy 0.047712 -1503 9 Predict 0.143296 -1504 0 Sorting 3.23347 -1505 1 Data reordering 0.16384 -1506 2 Tree-construction 0.893632 -1507 11 Memory 0.001888 -1508 3 Compute properties 0.185024 -1509 10 setActiveGrpsFunc 0.06704 -1510 4 Approximation 0.160032 -1511 8 Correct 0.025152 -1512 7 Energy 0.047488 -1513 9 Predict 0.142624 -1514 0 Sorting 3.24013 -1515 1 Data reordering 0.164064 -1516 2 Tree-construction 0.939232 -1517 11 Memory 0.001888 -1518 3 Compute properties 0.20656 -1519 10 setActiveGrpsFunc 0.067552 -1520 4 Approximation 0.16032 -1521 8 Correct 0.024992 -1522 7 Energy 0.058272 -1523 9 Predict 0.143968 -1524 0 Sorting 3.24768 -1525 1 Data reordering 0.164544 -1526 2 Tree-construction 0.884096 -1527 11 Memory 0.001888 -1528 3 Compute properties 0.185472 -1529 10 setActiveGrpsFunc 0.06672 -1530 4 Approximation 0.158592 -1531 8 Correct 0.025248 -1532 7 Energy 0.047424 -1533 9 Predict 0.142816 -1534 0 Sorting 3.26899 -1535 1 Data reordering 0.169408 -1536 2 Tree-construction 0.919296 -1537 11 Memory 0.00192 -1538 3 Compute properties 0.185952 -1539 10 setActiveGrpsFunc 0.067136 -1540 4 Approximation 0.158464 -1541 8 Correct 0.025664 -1542 7 Energy 0.048 -1543 9 Predict 0.14336 -1544 0 Sorting 3.24502 -1545 1 Data reordering 0.164768 -1546 2 Tree-construction 0.885632 -1547 11 Memory 0.001888 -1548 3 Compute properties 0.185152 -1549 10 setActiveGrpsFunc 0.066912 -1550 4 Approximation 0.158464 -1551 8 Correct 0.025152 -1552 7 Energy 0.047648 -1553 9 Predict 0.143392 -1554 0 Sorting 3.28125 -1555 1 Data reordering 0.182848 -1556 2 Tree-construction 0.903296 -1557 11 Memory 0.001984 -1558 3 Compute properties 0.186272 -1559 10 setActiveGrpsFunc 0.067168 -1560 4 Approximation 0.15856 -1561 8 Correct 0.025088 -1562 7 Energy 0.047872 -1563 9 Predict 0.143776 -1564 0 Sorting 3.65574 -1565 1 Data reordering 0.184128 -1566 2 Tree-construction 0.886912 -1567 11 Memory 0.001888 -1568 3 Compute properties 0.185792 -1569 10 setActiveGrpsFunc 0.067808 -1570 4 Approximation 0.159136 -1571 8 Correct 0.025152 -1572 7 Energy 0.048352 -1573 9 Predict 0.143968 -1574 0 Sorting 3.30093 -1575 1 Data reordering 0.165216 -1576 2 Tree-construction 0.884672 -1577 11 Memory 0.00192 -1578 3 Compute properties 0.185248 -1579 10 setActiveGrpsFunc 0.066848 -1580 4 Approximation 0.15856 -1581 8 Correct 0.02512 -1582 7 Energy 0.048128 -1583 9 Predict 0.14304 -1584 0 Sorting 3.2489 -1585 1 Data reordering 0.1648 -1586 2 Tree-construction 0.885472 -1587 11 Memory 0.00192 -1588 3 Compute properties 0.184032 -1589 10 setActiveGrpsFunc 0.066912 -1590 4 Approximation 0.159968 -1591 8 Correct 0.025216 -1592 7 Energy 0.047648 -1593 9 Predict 0.144064 -1594 0 Sorting 3.30685 -1595 1 Data reordering 0.165088 -1596 2 Tree-construction 0.88576 -1597 11 Memory 0.001888 -1598 3 Compute properties 0.1952 -1599 10 setActiveGrpsFunc 0.067584 -1600 4 Approximation 0.158528 -1601 8 Correct 0.02512 -1602 7 Energy 0.047616 -1603 9 Predict 0.143904 -1604 0 Sorting 3.24256 -1605 1 Data reordering 0.164448 -1606 2 Tree-construction 0.884032 -1607 11 Memory 0.00192 -1608 3 Compute properties 0.185408 -1609 10 setActiveGrpsFunc 0.067392 -1610 4 Approximation 0.158912 -1611 8 Correct 0.025184 -1612 7 Energy 0.048256 -1613 9 Predict 0.143488 -1614 0 Sorting 3.30374 -1615 1 Data reordering 0.165312 -1616 2 Tree-construction 0.884736 -1617 11 Memory 0.001888 -1618 3 Compute properties 0.185856 -1619 10 setActiveGrpsFunc 0.067552 -1620 4 Approximation 0.15856 -1621 8 Correct 0.025184 -1622 7 Energy 0.048576 -1623 9 Predict 0.144 -1624 0 Sorting 3.24954 -1625 1 Data reordering 0.164992 -1626 2 Tree-construction 0.88416 -1627 11 Memory 0.001888 -1628 3 Compute properties 0.18624 -1629 10 setActiveGrpsFunc 0.067424 -1630 4 Approximation 0.158944 -1631 8 Correct 0.025152 -1632 7 Energy 0.048704 -1633 9 Predict 0.143744 -1634 0 Sorting 3.32886 -1635 1 Data reordering 0.165056 -1636 2 Tree-construction 0.887744 -1637 11 Memory 0.001888 -1638 3 Compute properties 0.184384 -1639 10 setActiveGrpsFunc 0.069056 -1640 4 Approximation 0.160032 -1641 8 Correct 0.025184 -1642 7 Energy 0.049152 -1643 9 Predict 0.142976 -1644 0 Sorting 3.24208 -1645 1 Data reordering 0.164512 -1646 2 Tree-construction 0.893344 -1647 11 Memory 0.001888 -1648 3 Compute properties 0.18464 -1649 10 setActiveGrpsFunc 0.06736 -1650 4 Approximation 0.159872 -1651 8 Correct 0.025088 -1652 7 Energy 0.048128 -1653 9 Predict 0.143392 -1654 0 Sorting 3.29594 -1655 1 Data reordering 0.165088 -1656 2 Tree-construction 0.885152 -1657 11 Memory 0.00192 -1658 3 Compute properties 0.184288 -1659 10 setActiveGrpsFunc 0.06768 -1660 4 Approximation 0.159616 -1661 8 Correct 0.025024 -1662 7 Energy 0.04864 -1663 9 Predict 0.14368 -1664 0 Sorting 3.23318 -1665 1 Data reordering 0.16464 -1666 2 Tree-construction 0.885728 -1667 11 Memory 0.00192 -1668 3 Compute properties 0.185824 -1669 10 setActiveGrpsFunc 0.06784 -1670 4 Approximation 0.15968 -1671 8 Correct 0.025152 -1672 7 Energy 0.0488 -1673 9 Predict 0.143456 -1674 0 Sorting 3.30717 -1675 1 Data reordering 0.1656 -1676 2 Tree-construction 0.885056 -1677 11 Memory 0.00192 -1678 3 Compute properties 0.185888 -1679 10 setActiveGrpsFunc 0.06752 -1680 4 Approximation 0.159904 -1681 8 Correct 0.025184 -1682 7 Energy 0.048128 -1683 9 Predict 0.14352 -1684 0 Sorting 3.24634 -1685 1 Data reordering 0.164416 -1686 2 Tree-construction 0.885408 -1687 11 Memory 0.001888 -1688 3 Compute properties 0.187136 -1689 10 setActiveGrpsFunc 0.067456 -1690 4 Approximation 0.159584 -1691 8 Correct 0.025088 -1692 7 Energy 0.047968 -1693 9 Predict 0.171456 -1694 0 Sorting 3.31485 -1695 1 Data reordering 0.165184 -1696 2 Tree-construction 0.885568 -1697 11 Memory 0.001888 -1698 3 Compute properties 0.185984 -1699 10 setActiveGrpsFunc 0.067616 -1700 4 Approximation 0.158656 -1701 8 Correct 0.025088 -1702 7 Energy 0.048384 -1703 9 Predict 0.143776 -1704 0 Sorting 3.24253 -1705 1 Data reordering 0.164448 -1706 2 Tree-construction 0.902176 -1707 11 Memory 0.001888 -1708 3 Compute properties 0.186432 -1709 10 setActiveGrpsFunc 0.067744 -1710 4 Approximation 0.178432 -1711 8 Correct 0.025696 -1712 7 Energy 0.049312 -1713 9 Predict 0.144096 -1714 0 Sorting 3.27206 -1715 1 Data reordering 0.164288 -1716 2 Tree-construction 0.88624 -1717 11 Memory 0.00192 -1718 3 Compute properties 0.18624 -1719 10 setActiveGrpsFunc 0.067808 -1720 4 Approximation 0.159968 -1721 8 Correct 0.02512 -1722 7 Energy 0.048512 -1723 9 Predict 0.143936 -1724 0 Sorting 3.25242 -1725 1 Data reordering 0.164384 -1726 2 Tree-construction 0.927168 -1727 11 Memory 0.001888 -1728 3 Compute properties 0.219456 -1729 10 setActiveGrpsFunc 0.069696 -1730 4 Approximation 0.163136 -1731 8 Correct 0.025376 -1732 7 Energy 0.065984 -1733 9 Predict 0.161792 -1734 0 Sorting 3.23683 -1735 1 Data reordering 0.164544 -1736 2 Tree-construction 0.893088 -1737 11 Memory 0.001888 -1738 3 Compute properties 0.185888 -1739 10 setActiveGrpsFunc 0.06736 -1740 4 Approximation 0.159872 -1741 8 Correct 0.025152 -1742 7 Energy 0.048352 -1743 9 Predict 0.143872 -1744 0 Sorting 3.23325 -1745 1 Data reordering 0.164352 -1746 2 Tree-construction 0.960832 -1747 11 Memory 0.00192 -1748 3 Compute properties 0.205504 -1749 10 setActiveGrpsFunc 0.08432 -1750 4 Approximation 0.161632 -1751 8 Correct 0.02512 -1752 7 Energy 0.048576 -1753 9 Predict 0.144192 -1754 0 Sorting 3.24486 -1755 1 Data reordering 0.164512 -1756 2 Tree-construction 0.885696 -1757 11 Memory 0.00192 -1758 3 Compute properties 0.186784 -1759 10 setActiveGrpsFunc 0.067552 -1760 4 Approximation 0.159936 -1761 8 Correct 0.025088 -1762 7 Energy 0.047456 -1763 9 Predict 0.143968 -1764 0 Sorting 3.252 -1765 1 Data reordering 0.163904 -1766 2 Tree-construction 1.00605 -1767 11 Memory 0.00192 -1768 3 Compute properties 0.188512 -1769 10 setActiveGrpsFunc 0.067936 -1770 4 Approximation 0.160128 -1771 8 Correct 0.025024 -1772 7 Energy 0.048672 -1773 9 Predict 0.14368 -1774 0 Sorting 3.25011 -1775 1 Data reordering 0.163872 -1776 2 Tree-construction 0.883168 -1777 11 Memory 0.001888 -1778 3 Compute properties 0.186336 -1779 10 setActiveGrpsFunc 0.067328 -1780 4 Approximation 0.15984 -1781 8 Correct 0.025152 -1782 7 Energy 0.04784 -1783 9 Predict 0.143424 -1784 0 Sorting 3.30234 -1785 1 Data reordering 0.1768 -1786 2 Tree-construction 0.915616 -1787 11 Memory 0.001888 -1788 3 Compute properties 0.188096 -1789 10 setActiveGrpsFunc 0.067712 -1790 4 Approximation 0.159872 -1791 8 Correct 0.024992 -1792 7 Energy 0.048544 -1793 9 Predict 0.143424 -1794 0 Sorting 3.60163 -1795 1 Data reordering 0.211936 -1796 2 Tree-construction 0.888512 -1797 11 Memory 0.00192 -1798 3 Compute properties 0.19696 -1799 10 setActiveGrpsFunc 0.06784 -1800 4 Approximation 0.159936 -1801 8 Correct 0.02512 -1802 7 Energy 0.04784 -1803 9 Predict 0.143776 -1804 0 Sorting 3.34211 -1805 1 Data reordering 0.165056 -1806 2 Tree-construction 0.884288 -1807 11 Memory 0.00192 -1808 3 Compute properties 0.187392 -1809 10 setActiveGrpsFunc 0.06736 -1810 4 Approximation 0.159712 -1811 8 Correct 0.025024 -1812 7 Energy 0.048032 -1813 9 Predict 0.143904 -1814 0 Sorting 3.24678 -1815 1 Data reordering 0.164736 -1816 2 Tree-construction 0.882848 -1817 11 Memory 0.00192 -1818 3 Compute properties 0.187648 -1819 10 setActiveGrpsFunc 0.06704 -1820 4 Approximation 0.15936 -1821 8 Correct 0.025056 -1822 7 Energy 0.047808 -1823 9 Predict 0.144064 -1824 0 Sorting 3.33683 -1825 1 Data reordering 0.164704 -1826 2 Tree-construction 0.887584 -1827 11 Memory 0.001888 -1828 3 Compute properties 0.186272 -1829 10 setActiveGrpsFunc 0.0672 -1830 4 Approximation 0.160288 -1831 8 Correct 0.025088 -1832 7 Energy 0.04816 -1833 9 Predict 0.143072 -1834 0 Sorting 3.24563 -1835 1 Data reordering 0.164192 -1836 2 Tree-construction 0.885568 -1837 11 Memory 0.00192 -1838 3 Compute properties 0.1864 -1839 10 setActiveGrpsFunc 0.067296 -1840 4 Approximation 0.160032 -1841 8 Correct 0.025216 -1842 7 Energy 0.047424 -1843 9 Predict 0.14352 -1844 0 Sorting 3.33136 -1845 1 Data reordering 0.164704 -1846 2 Tree-construction 0.896672 -1847 11 Memory 0.001888 -1848 3 Compute properties 0.186464 -1849 10 setActiveGrpsFunc 0.067392 -1850 4 Approximation 0.158784 -1851 8 Correct 0.025056 -1852 7 Energy 0.048832 -1853 9 Predict 0.14416 -1854 0 Sorting 3.24006 -1855 1 Data reordering 0.16384 -1856 2 Tree-construction 0.88496 -1857 11 Memory 0.00192 -1858 3 Compute properties 0.197856 -1859 10 setActiveGrpsFunc 0.067776 -1860 4 Approximation 0.160096 -1861 8 Correct 0.025184 -1862 7 Energy 0.048192 -1863 9 Predict 0.15344 -1864 0 Sorting 3.32624 -1865 1 Data reordering 0.165568 -1866 2 Tree-construction 0.891424 -1867 11 Memory 0.001888 -1868 3 Compute properties 0.188224 -1869 10 setActiveGrpsFunc 0.068032 -1870 4 Approximation 0.160384 -1871 8 Correct 0.025952 -1872 7 Energy 0.050464 -1873 9 Predict 0.145728 -1874 0 Sorting 3.25523 -1875 1 Data reordering 0.167168 -1876 2 Tree-construction 0.890432 -1877 11 Memory 0.03776 -1878 3 Compute properties 0.200128 -1879 10 setActiveGrpsFunc 0.068384 -1880 4 Approximation 0.16752 -1881 8 Correct 0.025376 -1882 7 Energy 0.048512 -1883 9 Predict 0.144384 -1884 0 Sorting 3.36397 -1885 1 Data reordering 0.165344 -1886 2 Tree-construction 0.889536 -1887 11 Memory 0.001888 -1888 3 Compute properties 0.196512 -1889 10 setActiveGrpsFunc 0.06768 -1890 4 Approximation 0.160288 -1891 8 Correct 0.025152 -1892 7 Energy 0.04848 -1893 9 Predict 0.144064 -1894 0 Sorting 3.25069 -1895 1 Data reordering 0.164096 -1896 2 Tree-construction 0.885024 -1897 11 Memory 0.001888 -1898 3 Compute properties 0.187168 -1899 10 setActiveGrpsFunc 0.067424 -1900 4 Approximation 0.158976 -1901 8 Correct 0.025216 -1902 7 Energy 0.047936 -1903 9 Predict 0.143936 -1904 0 Sorting 3.32419 -1905 1 Data reordering 0.165152 -1906 2 Tree-construction 0.887552 -1907 11 Memory 0.00192 -1908 3 Compute properties 0.18736 -1909 10 setActiveGrpsFunc 0.067424 -1910 4 Approximation 0.158944 -1911 8 Correct 0.025056 -1912 7 Energy 0.048384 -1913 9 Predict 0.143488 -1914 0 Sorting 3.23962 -1915 1 Data reordering 0.163776 -1916 2 Tree-construction 0.88512 -1917 11 Memory 0.00192 -1918 3 Compute properties 0.186048 -1919 10 setActiveGrpsFunc 0.067584 -1920 4 Approximation 0.160032 -1921 8 Correct 0.02512 -1922 7 Energy 0.081536 -1923 9 Predict 0.169344 -1924 0 Sorting 3.29968 -1925 1 Data reordering 0.165056 -1926 2 Tree-construction 0.88784 -1927 11 Memory 0.001888 -1928 3 Compute properties 0.196736 -1929 10 setActiveGrpsFunc 0.067392 -1930 4 Approximation 0.160864 -1931 8 Correct 0.025216 -1932 7 Energy 0.048704 -1933 9 Predict 0.144128 -1934 0 Sorting 3.31421 -1935 1 Data reordering 0.22608 -1936 2 Tree-construction 1.22058 -1937 11 Memory 0.00192 -1938 3 Compute properties 0.291488 -1939 10 setActiveGrpsFunc 0.071424 -1940 4 Approximation 0.161024 -1941 8 Correct 0.025536 -1942 7 Energy 0.049056 -1943 9 Predict 0.145216 -1944 0 Sorting 3.2345 -1945 1 Data reordering 0.164768 -1946 2 Tree-construction 0.887584 -1947 11 Memory 0.001888 -1948 3 Compute properties 0.197184 -1949 10 setActiveGrpsFunc 0.068128 -1950 4 Approximation 0.161184 -1951 8 Correct 0.025216 -1952 7 Energy 0.048128 -1953 9 Predict 0.143936 -1954 0 Sorting 3.24381 -1955 1 Data reordering 0.164128 -1956 2 Tree-construction 0.99776 -1957 11 Memory 0.001888 -1958 3 Compute properties 0.198784 -1959 10 setActiveGrpsFunc 0.067968 -1960 4 Approximation 0.160192 -1961 8 Correct 0.024896 -1962 7 Energy 0.048544 -1963 9 Predict 0.143456 -1964 0 Sorting 3.25654 -1965 1 Data reordering 0.164064 -1966 2 Tree-construction 0.886304 -1967 11 Memory 0.00192 -1968 3 Compute properties 0.190496 -1969 10 setActiveGrpsFunc 0.067584 -1970 4 Approximation 0.16 -1971 8 Correct 0.024896 -1972 7 Energy 0.048192 -1973 9 Predict 0.143072 -1974 0 Sorting 3.29856 -1975 1 Data reordering 0.165056 -1976 2 Tree-construction 0.927136 -1977 11 Memory 0.001888 -1978 3 Compute properties 0.198656 -1979 10 setActiveGrpsFunc 0.068512 -1980 4 Approximation 0.161184 -1981 8 Correct 0.025216 -1982 7 Energy 0.04832 -1983 9 Predict 0.143584 -1984 0 Sorting 3.23718 -1985 1 Data reordering 0.174176 -1986 2 Tree-construction 0.886464 -1987 11 Memory 0.001888 -1988 3 Compute properties 0.197312 -1989 10 setActiveGrpsFunc 0.067968 -1990 4 Approximation 0.161536 -1991 8 Correct 0.025024 -1992 7 Energy 0.048 -1993 9 Predict 0.143936 -1994 0 Sorting 3.31488 -1995 1 Data reordering 0.182688 -1996 2 Tree-construction 0.908192 -1997 11 Memory 0.001888 -1998 3 Compute properties 0.190496 -1999 10 setActiveGrpsFunc 0.076 -2000 4 Approximation 0.161536 -2001 8 Correct 0.025152 -2002 7 Energy 0.048192 -2003 9 Predict 0.144352 -2004 0 Sorting 3.23744 -2005 1 Data reordering 0.163904 -2006 2 Tree-construction 0.88528 -2007 11 Memory 0.00192 -2008 3 Compute properties 0.189024 -2009 10 setActiveGrpsFunc 0.06736 -2010 4 Approximation 0.16016 -2011 8 Correct 0.025152 -2012 7 Energy 0.04816 -2013 9 Predict 0.143936 -2014 0 Sorting 3.32768 -2015 1 Data reordering 0.164736 -2016 2 Tree-construction 0.887552 -2017 11 Memory 0.00192 -2018 3 Compute properties 0.187136 -2019 10 setActiveGrpsFunc 0.067424 -2020 4 Approximation 0.159776 -2021 8 Correct 0.025248 -2022 7 Energy 0.048416 -2023 9 Predict 0.144096 -2024 0 Sorting 3.25331 -2025 1 Data reordering 0.16448 -2026 2 Tree-construction 0.88768 -2027 11 Memory 0.001888 -2028 3 Compute properties 0.186944 -2029 10 setActiveGrpsFunc 0.067296 -2030 4 Approximation 0.160576 -2031 8 Correct 0.025088 -2032 7 Energy 0.048672 -2033 9 Predict 0.144736 -2034 0 Sorting 3.35632 -2035 1 Data reordering 0.164992 -2036 2 Tree-construction 0.888128 -2037 11 Memory 0.00192 -2038 3 Compute properties 0.186752 -2039 10 setActiveGrpsFunc 0.068096 -2040 4 Approximation 0.15984 -2041 8 Correct 0.025312 -2042 7 Energy 0.048448 -2043 9 Predict 0.143584 -2044 0 Sorting 3.22941 -2045 1 Data reordering 0.164288 -2046 2 Tree-construction 0.895744 -2047 11 Memory 0.00192 -2048 3 Compute properties 0.18656 -2049 10 setActiveGrpsFunc 0.067744 -2050 4 Approximation 0.160224 -2051 8 Correct 0.025088 -2052 7 Energy 0.047968 -2053 9 Predict 0.143296 -2054 0 Sorting 3.32099 -2055 1 Data reordering 0.165088 -2056 2 Tree-construction 0.888576 -2057 11 Memory 0.00192 -2058 3 Compute properties 0.187328 -2059 10 setActiveGrpsFunc 0.067968 -2060 4 Approximation 0.16016 -2061 8 Correct 0.02528 -2062 7 Energy 0.048448 -2063 9 Predict 0.144128 -2064 0 Sorting 3.25203 -2065 1 Data reordering 0.163872 -2066 2 Tree-construction 0.88688 -2067 11 Memory 0.001888 -2068 3 Compute properties 0.187264 -2069 10 setActiveGrpsFunc 0.067648 -2070 4 Approximation 0.160128 -2071 8 Correct 0.02512 -2072 7 Energy 0.048064 -2073 9 Predict 0.143712 -2074 0 Sorting 3.34054 -2075 1 Data reordering 0.164704 -2076 2 Tree-construction 0.891456 -2077 11 Memory 0.00192 -2078 3 Compute properties 0.187808 -2079 10 setActiveGrpsFunc 0.06816 -2080 4 Approximation 0.159968 -2081 8 Correct 0.025248 -2082 7 Energy 0.048064 -2083 9 Predict 0.143488 -2084 0 Sorting 3.23456 -2085 1 Data reordering 0.164544 -2086 2 Tree-construction 0.88352 -2087 11 Memory 0.001888 -2088 3 Compute properties 0.188192 -2089 10 setActiveGrpsFunc 0.06752 -2090 4 Approximation 0.159392 -2091 8 Correct 0.025152 -2092 7 Energy 0.04816 -2093 9 Predict 0.143424 -2094 0 Sorting 3.3408 -2095 1 Data reordering 0.165792 -2096 2 Tree-construction 0.888448 -2097 11 Memory 0.00192 -2098 3 Compute properties 0.18816 -2099 10 setActiveGrpsFunc 0.067456 -2100 4 Approximation 0.159168 -2101 8 Correct 0.025184 -2102 7 Energy 0.048704 -2103 9 Predict 0.144928 -2104 0 Sorting 3.25283 -2105 1 Data reordering 0.16384 -2106 2 Tree-construction 0.884544 -2107 11 Memory 0.001888 -2108 3 Compute properties 0.1872 -2109 10 setActiveGrpsFunc 0.06752 -2110 4 Approximation 0.159968 -2111 8 Correct 0.025248 -2112 7 Energy 0.048064 -2113 9 Predict 0.143904 -2114 0 Sorting 3.33382 -2115 1 Data reordering 0.16448 -2116 2 Tree-construction 0.887776 -2117 11 Memory 0.00192 -2118 3 Compute properties 0.184704 -2119 10 setActiveGrpsFunc 0.067808 -2120 4 Approximation 0.159456 -2121 8 Correct 0.025152 -2122 7 Energy 0.048128 -2123 9 Predict 0.144512 -2124 0 Sorting 3.25238 -2125 1 Data reordering 0.164608 -2126 2 Tree-construction 0.88464 -2127 11 Memory 0.001888 -2128 3 Compute properties 0.185664 -2129 10 setActiveGrpsFunc 0.067264 -2130 4 Approximation 0.159008 -2131 8 Correct 0.025184 -2132 7 Energy 0.04784 -2133 9 Predict 0.239808 -2134 0 Sorting 3.29082 -2135 1 Data reordering 0.165184 -2136 2 Tree-construction 0.884672 -2137 11 Memory 0.001888 -2138 3 Compute properties 0.185728 -2139 10 setActiveGrpsFunc 0.067808 -2140 4 Approximation 0.158912 -2141 8 Correct 0.025216 -2142 7 Energy 0.048128 -2143 9 Predict 0.14448 -2144 0 Sorting 3.23504 -2145 1 Data reordering 0.164 -2146 2 Tree-construction 0.886944 -2147 11 Memory 0.001888 -2148 3 Compute properties 0.184896 -2149 10 setActiveGrpsFunc 0.067552 -2150 4 Approximation 0.199936 -2151 8 Correct 0.025632 -2152 7 Energy 0.048992 -2153 9 Predict 0.144832 -2154 0 Sorting 3.30211 -2155 1 Data reordering 0.164672 -2156 2 Tree-construction 0.887648 -2157 11 Memory 0.001888 -2158 3 Compute properties 0.1848 -2159 10 setActiveGrpsFunc 0.067456 -2160 4 Approximation 0.158944 -2161 8 Correct 0.02512 -2162 7 Energy 0.047424 -2163 9 Predict 0.143872 -2164 0 Sorting 3.25405 -2165 1 Data reordering 0.164736 -2166 2 Tree-construction 1.1071 -2167 11 Memory 0.00192 -2168 3 Compute properties 0.250144 -2169 10 setActiveGrpsFunc 0.092032 -2170 4 Approximation 0.1944 -2171 8 Correct 0.033952 -2172 7 Energy 0.067552 -2173 9 Predict 0.215616 -2174 0 Sorting 3.37184 -2175 1 Data reordering 0.165696 -2176 2 Tree-construction 0.886528 -2177 11 Memory 0.001888 -2178 3 Compute properties 0.184384 -2179 10 setActiveGrpsFunc 0.067968 -2180 4 Approximation 0.15952 -2181 8 Correct 0.025408 -2182 7 Energy 0.048736 -2183 9 Predict 0.14448 -2184 0 Sorting 3.23875 -2185 1 Data reordering 0.201504 -2186 2 Tree-construction 0.922112 -2187 11 Memory 0.001888 -2188 3 Compute properties 0.19552 -2189 10 setActiveGrpsFunc 0.067872 -2190 4 Approximation 0.161568 -2191 8 Correct 0.025152 -2192 7 Energy 0.048128 -2193 9 Predict 0.143872 -2194 0 Sorting 3.23738 -2195 1 Data reordering 0.164448 -2196 2 Tree-construction 0.885632 -2197 11 Memory 0.001888 -2198 3 Compute properties 0.186528 -2199 10 setActiveGrpsFunc 0.076608 -2200 4 Approximation 0.158816 -2201 8 Correct 0.025248 -2202 7 Energy 0.047712 -2203 9 Predict 0.144128 -2204 0 Sorting 3.25747 -2205 1 Data reordering 0.165152 -2206 2 Tree-construction 0.913376 -2207 11 Memory 0.001888 -2208 3 Compute properties 0.186304 -2209 10 setActiveGrpsFunc 0.067552 -2210 4 Approximation 0.15904 -2211 8 Correct 0.02528 -2212 7 Energy 0.048064 -2213 9 Predict 0.143648 -2214 0 Sorting 3.24634 -2215 1 Data reordering 0.164832 -2216 2 Tree-construction 0.887008 -2217 11 Memory 0.001888 -2218 3 Compute properties 0.185024 -2219 10 setActiveGrpsFunc 0.067264 -2220 4 Approximation 0.159072 -2221 8 Correct 0.025568 -2222 7 Energy 0.0488 -2223 9 Predict 0.144448 -2224 0 Sorting 3.29219 -2225 1 Data reordering 0.181952 -2226 2 Tree-construction 0.8872 -2227 11 Memory 0.001888 -2228 3 Compute properties 0.185216 -2229 10 setActiveGrpsFunc 0.067488 -2230 4 Approximation 0.159232 -2231 8 Correct 0.025184 -2232 7 Energy 0.048256 -2233 9 Predict 0.144192 -2234 0 Sorting 3.252 -2235 1 Data reordering 0.164736 -2236 2 Tree-construction 0.887072 -2237 11 Memory 0.001888 -2238 3 Compute properties 0.185376 -2239 10 setActiveGrpsFunc 0.06768 -2240 4 Approximation 0.15888 -2241 8 Correct 0.025152 -2242 7 Energy 0.047776 -2243 9 Predict 0.143808 -2244 0 Sorting 3.28746 -2245 1 Data reordering 0.164832 -2246 2 Tree-construction 0.895296 -2247 11 Memory 0.001888 -2248 3 Compute properties 0.186208 -2249 10 setActiveGrpsFunc 0.06768 -2250 4 Approximation 0.15904 -2251 8 Correct 0.025024 -2252 7 Energy 0.048384 -2253 9 Predict 0.143968 -2254 0 Sorting 3.23958 -2255 1 Data reordering 0.16512 -2256 2 Tree-construction 0.889376 -2257 11 Memory 0.00192 -2258 3 Compute properties 0.186272 -2259 10 setActiveGrpsFunc 0.067744 -2260 4 Approximation 0.159264 -2261 8 Correct 0.025056 -2262 7 Energy 0.048416 -2263 9 Predict 0.14448 -2264 0 Sorting 3.32182 -2265 1 Data reordering 0.165216 -2266 2 Tree-construction 0.88736 -2267 11 Memory 0.00192 -2268 3 Compute properties 0.1856 -2269 10 setActiveGrpsFunc 0.068 -2270 4 Approximation 0.158784 -2271 8 Correct 0.025152 -2272 7 Energy 0.048128 -2273 9 Predict 0.144384 -2274 0 Sorting 3.23622 -2275 1 Data reordering 0.163392 -2276 2 Tree-construction 0.895872 -2277 11 Memory 0.00192 -2278 3 Compute properties 0.185504 -2279 10 setActiveGrpsFunc 0.067616 -2280 4 Approximation 0.159008 -2281 8 Correct 0.025088 -2282 7 Energy 0.047904 -2283 9 Predict 0.144288 -2284 0 Sorting 3.29965 -2285 1 Data reordering 0.16464 -2286 2 Tree-construction 0.88528 -2287 11 Memory 0.00192 -2288 3 Compute properties 0.184896 -2289 10 setActiveGrpsFunc 0.067616 -2290 4 Approximation 0.158912 -2291 8 Correct 0.025248 -2292 7 Energy 0.048288 -2293 9 Predict 0.144192 -2294 0 Sorting 3.24781 -2295 1 Data reordering 0.163456 -2296 2 Tree-construction 0.885408 -2297 11 Memory 0.001888 -2298 3 Compute properties 0.184064 -2299 10 setActiveGrpsFunc 0.067744 -2300 4 Approximation 0.15872 -2301 8 Correct 0.025216 -2302 7 Energy 0.048 -2303 9 Predict 0.144224 -2304 0 Sorting 3.30384 -2305 1 Data reordering 0.164704 -2306 2 Tree-construction 0.887104 -2307 11 Memory 0.001888 -2308 3 Compute properties 0.184832 -2309 10 setActiveGrpsFunc 0.067424 -2310 4 Approximation 0.159296 -2311 8 Correct 0.025056 -2312 7 Energy 0.048192 -2313 9 Predict 0.143168 -2314 0 Sorting 3.24317 -2315 1 Data reordering 0.164256 -2316 2 Tree-construction 0.882624 -2317 11 Memory 0.001888 -2318 3 Compute properties 0.185024 -2319 10 setActiveGrpsFunc 0.067584 -2320 4 Approximation 0.158976 -2321 8 Correct 0.025024 -2322 7 Energy 0.047904 -2323 9 Predict 0.143392 -2324 0 Sorting 3.30672 -2325 1 Data reordering 0.164704 -2326 2 Tree-construction 0.888256 -2327 11 Memory 0.001888 -2328 3 Compute properties 0.185792 -2329 10 setActiveGrpsFunc 0.067328 -2330 4 Approximation 0.159456 -2331 8 Correct 0.025184 -2332 7 Energy 0.048224 -2333 9 Predict 0.144864 -2334 0 Sorting 3.24349 -2335 1 Data reordering 0.163968 -2336 2 Tree-construction 0.896128 -2337 11 Memory 0.001888 -2338 3 Compute properties 0.187136 -2339 10 setActiveGrpsFunc 0.067552 -2340 4 Approximation 0.158752 -2341 8 Correct 0.025024 -2342 7 Energy 0.04816 -2343 9 Predict 0.144256 -2344 0 Sorting 3.30413 -2345 1 Data reordering 0.164416 -2346 2 Tree-construction 0.884608 -2347 11 Memory 0.00192 -2348 3 Compute properties 0.185888 -2349 10 setActiveGrpsFunc 0.067488 -2350 4 Approximation 0.158848 -2351 8 Correct 0.025216 -2352 7 Energy 0.04848 -2353 9 Predict 0.143744 -2354 0 Sorting 3.2513 -2355 1 Data reordering 0.16416 -2356 2 Tree-construction 0.886144 -2357 11 Memory 0.001888 -2358 3 Compute properties 0.195392 -2359 10 setActiveGrpsFunc 0.067808 -2360 4 Approximation 0.159008 -2361 8 Correct 0.02512 -2362 7 Energy 0.048032 -2363 9 Predict 0.14416 -2364 0 Sorting 3.29363 -2365 1 Data reordering 0.164224 -2366 2 Tree-construction 0.887296 -2367 11 Memory 0.001888 -2368 3 Compute properties 0.195168 -2369 10 setActiveGrpsFunc 0.067744 -2370 4 Approximation 0.159104 -2371 8 Correct 0.025152 -2372 7 Energy 0.048416 -2373 9 Predict 0.144032 -2374 0 Sorting 3.24502 -2375 1 Data reordering 0.164128 -2376 2 Tree-construction 0.885504 -2377 11 Memory 0.00192 -2378 3 Compute properties 0.19552 -2379 10 setActiveGrpsFunc 0.06784 -2380 4 Approximation 0.160192 -2381 8 Correct 0.025184 -2382 7 Energy 0.073216 -2383 9 Predict 0.15136 -2384 0 Sorting 3.34032 -2385 1 Data reordering 0.223008 -2386 2 Tree-construction 0.937728 -2387 11 Memory 0.00192 -2388 3 Compute properties 0.205152 -2389 10 setActiveGrpsFunc 0.068384 -2390 4 Approximation 0.158944 -2391 8 Correct 0.025344 -2392 7 Energy 0.048352 -2393 9 Predict 0.14416 -2394 0 Sorting 3.57546 -2395 1 Data reordering 0.19024 -2396 2 Tree-construction 1.31594 -2397 11 Memory 0.00192 -2398 3 Compute properties 0.275264 -2399 10 setActiveGrpsFunc 0.0912 -2400 4 Approximation 0.181344 -2401 8 Correct 0.045152 -2402 7 Energy 0.067584 -2403 9 Predict 0.18544 -2404 0 Sorting 3.23907 -2405 1 Data reordering 0.165376 -2406 2 Tree-construction 0.885856 -2407 11 Memory 0.00192 -2408 3 Compute properties 0.18592 -2409 10 setActiveGrpsFunc 0.067936 -2410 4 Approximation 0.15888 -2411 8 Correct 0.025248 -2412 7 Energy 0.048416 -2413 9 Predict 0.144704 -2414 0 Sorting 3.27936 -2415 1 Data reordering 0.164512 -2416 2 Tree-construction 0.919008 -2417 11 Memory 0.001888 -2418 3 Compute properties 0.186784 -2419 10 setActiveGrpsFunc 0.067712 -2420 4 Approximation 0.158688 -2421 8 Correct 0.025248 -2422 7 Energy 0.048064 -2423 9 Predict 0.144576 -2424 0 Sorting 3.24746 -2425 1 Data reordering 0.16416 -2426 2 Tree-construction 0.88368 -2427 11 Memory 0.001888 -2428 3 Compute properties 0.186016 -2429 10 setActiveGrpsFunc 0.067776 -2430 4 Approximation 0.158816 -2431 8 Correct 0.02496 -2432 7 Energy 0.048256 -2433 9 Predict 0.1464 -2434 0 Sorting 3.2823 -2435 1 Data reordering 0.195552 -2436 2 Tree-construction 0.886976 -2437 11 Memory 0.001888 -2438 3 Compute properties 0.194528 -2439 10 setActiveGrpsFunc 0.068128 -2440 4 Approximation 0.158976 -2441 8 Correct 0.025184 -2442 7 Energy 0.047904 -2443 9 Predict 0.143712 -2444 0 Sorting 3.25357 -2445 1 Data reordering 0.16384 -2446 2 Tree-construction 0.88384 -2447 11 Memory 0.001856 -2448 3 Compute properties 0.185184 -2449 10 setActiveGrpsFunc 0.067584 -2450 4 Approximation 0.159776 -2451 8 Correct 0.025184 -2452 7 Energy 0.048384 -2453 9 Predict 0.14368 -2454 0 Sorting 3.30278 -2455 1 Data reordering 0.164768 -2456 2 Tree-construction 0.885888 -2457 11 Memory 0.001888 -2458 3 Compute properties 0.185888 -2459 10 setActiveGrpsFunc 0.067776 -2460 4 Approximation 0.1592 -2461 8 Correct 0.025248 -2462 7 Energy 0.048256 -2463 9 Predict 0.143904 -2464 0 Sorting 3.24973 -2465 1 Data reordering 0.16352 -2466 2 Tree-construction 0.888864 -2467 11 Memory 0.00192 -2468 3 Compute properties 0.185344 -2469 10 setActiveGrpsFunc 0.067968 -2470 4 Approximation 0.159456 -2471 8 Correct 0.02512 -2472 7 Energy 0.048544 -2473 9 Predict 0.14464 -2474 0 Sorting 3.30339 -2475 1 Data reordering 0.165216 -2476 2 Tree-construction 0.8936 -2477 11 Memory 0.001888 -2478 3 Compute properties 0.184352 -2479 10 setActiveGrpsFunc 0.067456 -2480 4 Approximation 0.159328 -2481 8 Correct 0.025184 -2482 7 Energy 0.048128 -2483 9 Predict 0.143904 -2484 0 Sorting 3.23667 -2485 1 Data reordering 0.164128 -2486 2 Tree-construction 0.885152 -2487 11 Memory 0.001888 -2488 3 Compute properties 0.184416 -2489 10 setActiveGrpsFunc 0.067296 -2490 4 Approximation 0.159296 -2491 8 Correct 0.025152 -2492 7 Energy 0.048128 -2493 9 Predict 0.143808 -2494 0 Sorting 3.30019 -2495 1 Data reordering 0.16432 -2496 2 Tree-construction 0.884896 -2497 11 Memory 0.001888 -2498 3 Compute properties 0.18448 -2499 10 setActiveGrpsFunc 0.067584 -2500 4 Approximation 0.159008 -2501 8 Correct 0.025152 -2502 7 Energy 0.048192 -2503 9 Predict 0.143936 -2504 0 Sorting 3.25226 -2505 1 Data reordering 0.164192 -2506 2 Tree-construction 0.883488 -2507 11 Memory 0.001888 -2508 3 Compute properties 0.18432 -2509 10 setActiveGrpsFunc 0.067712 -2510 4 Approximation 0.158848 -2511 8 Correct 0.025088 -2512 7 Energy 0.0504 -2513 9 Predict 0.144416 -2514 0 Sorting 3.31334 -2515 1 Data reordering 0.164224 -2516 2 Tree-construction 0.88496 -2517 11 Memory 0.00192 -2518 3 Compute properties 0.184512 -2519 10 setActiveGrpsFunc 0.067328 -2520 4 Approximation 0.15856 -2521 8 Correct 0.025312 -2522 7 Energy 0.048192 -2523 9 Predict 0.143776 -2524 0 Sorting 3.24979 -2525 1 Data reordering 0.16384 -2526 2 Tree-construction 0.885312 -2527 11 Memory 0.001888 -2528 3 Compute properties 0.184704 -2529 10 setActiveGrpsFunc 0.067328 -2530 4 Approximation 0.158848 -2531 8 Correct 0.025024 -2532 7 Energy 0.048192 -2533 9 Predict 0.143648 -2534 0 Sorting 3.28461 -2535 1 Data reordering 0.164288 -2536 2 Tree-construction 0.895584 -2537 11 Memory 0.001888 -2538 3 Compute properties 0.183968 -2539 10 setActiveGrpsFunc 0.067776 -2540 4 Approximation 0.158496 -2541 8 Correct 0.025184 -2542 7 Energy 0.048192 -2543 9 Predict 0.144 -2544 0 Sorting 3.23232 -2545 1 Data reordering 0.164512 -2546 2 Tree-construction 0.884288 -2547 11 Memory 0.001888 -2548 3 Compute properties 0.184416 -2549 10 setActiveGrpsFunc 0.067296 -2550 4 Approximation 0.159008 -2551 8 Correct 0.025216 -2552 7 Energy 0.048 -2553 9 Predict 0.143808 -2554 0 Sorting 3.31805 -2555 1 Data reordering 0.189952 -2556 2 Tree-construction 1.1848 -2557 11 Memory 0.001888 -2558 3 Compute properties 0.251808 -2559 10 setActiveGrpsFunc 0.090368 -2560 4 Approximation 0.181568 -2561 8 Correct 0.034048 -2562 7 Energy 0.067168 -2563 9 Predict 0.151072 -2564 0 Sorting 3.24669 -2565 1 Data reordering 0.164832 -2566 2 Tree-construction 0.88416 -2567 11 Memory 0.001888 -2568 3 Compute properties 0.184992 -2569 10 setActiveGrpsFunc 0.067264 -2570 4 Approximation 0.163104 -2571 8 Correct 0.025408 -2572 7 Energy 0.049888 -2573 9 Predict 0.144672 -2574 0 Sorting 3.27181 -2575 1 Data reordering 0.16464 -2576 2 Tree-construction 0.883904 -2577 11 Memory 0.001888 -2578 3 Compute properties 0.184128 -2579 10 setActiveGrpsFunc 0.067968 -2580 4 Approximation 0.158912 -2581 8 Correct 0.025216 -2582 7 Energy 0.048192 -2583 9 Predict 0.143968 -2584 0 Sorting 3.23779 -2585 1 Data reordering 0.164416 -2586 2 Tree-construction 0.89312 -2587 11 Memory 0.001888 -2588 3 Compute properties 0.208224 -2589 10 setActiveGrpsFunc 0.068832 -2590 4 Approximation 0.16944 -2591 8 Correct 0.02528 -2592 7 Energy 0.068544 -2593 9 Predict 0.159104 -2594 0 Sorting 3.2497 -2595 1 Data reordering 0.16432 -2596 2 Tree-construction 0.8848 -2597 11 Memory 0.00192 -2598 3 Compute properties 0.188672 -2599 10 setActiveGrpsFunc 0.067968 -2600 4 Approximation 0.158272 -2601 8 Correct 0.025056 -2602 7 Energy 0.048064 -2603 9 Predict 0.151552 -2604 0 Sorting 3.24163 -2605 1 Data reordering 0.164096 -2606 2 Tree-construction 0.918784 -2607 11 Memory 0.00192 -2608 3 Compute properties 0.186432 -2609 10 setActiveGrpsFunc 0.08576 -2610 4 Approximation 0.175072 -2611 8 Correct 0.02528 -2612 7 Energy 0.048864 -2613 9 Predict 0.143584 -2614 0 Sorting 3.24096 -2615 1 Data reordering 0.164192 -2616 2 Tree-construction 0.891168 -2617 11 Memory 0.00192 -2618 3 Compute properties 0.185696 -2619 10 setActiveGrpsFunc 0.067552 -2620 4 Approximation 0.15888 -2621 8 Correct 0.025184 -2622 7 Energy 0.047968 -2623 9 Predict 0.144288 -2624 0 Sorting 3.27661 -2625 1 Data reordering 0.164672 -2626 2 Tree-construction 0.900416 -2627 11 Memory 0.001888 -2628 3 Compute properties 0.185472 -2629 10 setActiveGrpsFunc 0.068032 -2630 4 Approximation 0.158976 -2631 8 Correct 0.025536 -2632 7 Energy 0.048608 -2633 9 Predict 0.151776 -2634 0 Sorting 3.23926 -2635 1 Data reordering 0.164256 -2636 2 Tree-construction 0.883744 -2637 11 Memory 0.001888 -2638 3 Compute properties 0.185216 -2639 10 setActiveGrpsFunc 0.067328 -2640 4 Approximation 0.158784 -2641 8 Correct 0.025088 -2642 7 Energy 0.047808 -2643 9 Predict 0.143392 -2644 0 Sorting 3.24957 -2645 1 Data reordering 0.190336 -2646 2 Tree-construction 0.94784 -2647 11 Memory 0.001888 -2648 3 Compute properties 0.185376 -2649 10 setActiveGrpsFunc 0.067776 -2650 4 Approximation 0.15904 -2651 8 Correct 0.025184 -2652 7 Energy 0.048384 -2653 9 Predict 0.144064 -2654 0 Sorting 3.24704 -2655 1 Data reordering 0.163936 -2656 2 Tree-construction 0.88272 -2657 11 Memory 0.001888 -2658 3 Compute properties 0.185696 -2659 10 setActiveGrpsFunc 0.067712 -2660 4 Approximation 0.159392 -2661 8 Correct 0.025088 -2662 7 Energy 0.048672 -2663 9 Predict 0.14464 -2664 0 Sorting 3.28541 -2665 1 Data reordering 0.165344 -2666 2 Tree-construction 0.924 -2667 11 Memory 0.001888 -2668 3 Compute properties 0.18528 -2669 10 setActiveGrpsFunc 0.068192 -2670 4 Approximation 0.159424 -2671 8 Correct 0.025248 -2672 7 Energy 0.048288 -2673 9 Predict 0.144192 -2674 0 Sorting 3.24051 -2675 1 Data reordering 0.164192 -2676 2 Tree-construction 0.890464 -2677 11 Memory 0.001888 -2678 3 Compute properties 0.187488 -2679 10 setActiveGrpsFunc 0.06768 -2680 4 Approximation 0.16 -2681 8 Correct 0.024896 -2682 7 Energy 0.047808 -2683 9 Predict 0.144128 -2684 0 Sorting 3.27117 -2685 1 Data reordering 0.180224 -2686 2 Tree-construction 0.901088 -2687 11 Memory 0.00192 -2688 3 Compute properties 0.187232 -2689 10 setActiveGrpsFunc 0.067488 -2690 4 Approximation 0.160672 -2691 8 Correct 0.025248 -2692 7 Energy 0.048224 -2693 9 Predict 0.14384 -2694 0 Sorting 3.24246 -2695 1 Data reordering 0.164352 -2696 2 Tree-construction 0.88208 -2697 11 Memory 0.001888 -2698 3 Compute properties 0.187552 -2699 10 setActiveGrpsFunc 0.067744 -2700 4 Approximation 0.16016 -2701 8 Correct 0.025184 -2702 7 Energy 0.048352 -2703 9 Predict 0.144288 -2704 0 Sorting 3.30499 -2705 1 Data reordering 0.164576 -2706 2 Tree-construction 0.886464 -2707 11 Memory 0.001888 -2708 3 Compute properties 0.189184 -2709 10 setActiveGrpsFunc 0.068 -2710 4 Approximation 0.159008 -2711 8 Correct 0.025344 -2712 7 Energy 0.048256 -2713 9 Predict 0.144512 -2714 0 Sorting 3.24262 -2715 1 Data reordering 0.16368 -2716 2 Tree-construction 0.88496 -2717 11 Memory 0.00192 -2718 3 Compute properties 0.200672 -2719 10 setActiveGrpsFunc 0.068 -2720 4 Approximation 0.158784 -2721 8 Correct 0.02528 -2722 7 Energy 0.047552 -2723 9 Predict 0.144384 -2724 0 Sorting 3.30262 -2725 1 Data reordering 0.164544 -2726 2 Tree-construction 0.883584 -2727 11 Memory 0.001888 -2728 3 Compute properties 0.186784 -2729 10 setActiveGrpsFunc 0.06768 -2730 4 Approximation 0.158656 -2731 8 Correct 0.025152 -2732 7 Energy 0.048096 -2733 9 Predict 0.143872 -2734 0 Sorting 3.23571 -2735 1 Data reordering 0.163744 -2736 2 Tree-construction 0.892544 -2737 11 Memory 0.002016 -2738 3 Compute properties 0.187072 -2739 10 setActiveGrpsFunc 0.068 -2740 4 Approximation 0.160032 -2741 8 Correct 0.025024 -2742 7 Energy 0.048224 -2743 9 Predict 0.14416 -2744 0 Sorting 3.29267 -2745 1 Data reordering 0.164896 -2746 2 Tree-construction 0.884416 -2747 11 Memory 0.001888 -2748 3 Compute properties 0.18608 -2749 10 setActiveGrpsFunc 0.06768 -2750 4 Approximation 0.15984 -2751 8 Correct 0.025024 -2752 7 Energy 0.048192 -2753 9 Predict 0.144672 -2754 0 Sorting 3.24813 -2755 1 Data reordering 0.163552 -2756 2 Tree-construction 0.883776 -2757 11 Memory 0.001888 -2758 3 Compute properties 0.187488 -2759 10 setActiveGrpsFunc 0.06736 -2760 4 Approximation 0.15968 -2761 8 Correct 0.025248 -2762 7 Energy 0.047328 -2763 9 Predict 0.144416 -2764 0 Sorting 3.31421 -2765 1 Data reordering 0.16432 -2766 2 Tree-construction 0.88272 -2767 11 Memory 0.00192 -2768 3 Compute properties 0.186976 -2769 10 setActiveGrpsFunc 0.06768 -2770 4 Approximation 0.158912 -2771 8 Correct 0.025152 -2772 7 Energy 0.048384 -2773 9 Predict 0.144544 -2774 0 Sorting 3.25334 -2775 1 Data reordering 0.164512 -2776 2 Tree-construction 0.882976 -2777 11 Memory 0.001888 -2778 3 Compute properties 0.186304 -2779 10 setActiveGrpsFunc 0.067552 -2780 4 Approximation 0.158848 -2781 8 Correct 0.025088 -2782 7 Energy 0.04816 -2783 9 Predict 0.143744 -2784 0 Sorting 3.29312 -2785 1 Data reordering 0.164352 -2786 2 Tree-construction 0.906592 -2787 11 Memory 0.001856 -2788 3 Compute properties 0.249856 -2789 10 setActiveGrpsFunc 0.090496 -2790 4 Approximation 0.180704 -2791 8 Correct 0.03376 -2792 7 Energy 0.066976 -2793 9 Predict 0.190848 -2794 0 Sorting 3.4824 -2795 1 Data reordering 0.165312 -2796 2 Tree-construction 0.938464 -2797 11 Memory 0.00192 -2798 3 Compute properties 0.187104 -2799 10 setActiveGrpsFunc 0.068064 -2800 4 Approximation 0.159168 -2801 8 Correct 0.025312 -2802 7 Energy 0.048352 -2803 9 Predict 0.168736 -2804 0 Sorting 3.27366 -2805 1 Data reordering 0.164416 -2806 2 Tree-construction 0.88528 -2807 11 Memory 0.001888 -2808 3 Compute properties 0.18608 -2809 10 setActiveGrpsFunc 0.067648 -2810 4 Approximation 0.159104 -2811 8 Correct 0.02512 -2812 7 Energy 0.04832 -2813 9 Predict 0.144032 -2814 0 Sorting 3.2361 -2815 1 Data reordering 0.163744 -2816 2 Tree-construction 0.89408 -2817 11 Memory 0.00192 -2818 3 Compute properties 0.186464 -2819 10 setActiveGrpsFunc 0.067936 -2820 4 Approximation 0.162208 -2821 8 Correct 0.0256 -2822 7 Energy 0.05872 -2823 9 Predict 0.1448 -2824 0 Sorting 3.2735 -2825 1 Data reordering 0.164352 -2826 2 Tree-construction 0.88368 -2827 11 Memory 0.00192 -2828 3 Compute properties 0.18704 -2829 10 setActiveGrpsFunc 0.067616 -2830 4 Approximation 0.16016 -2831 8 Correct 0.025248 -2832 7 Energy 0.047744 -2833 9 Predict 0.143968 -2834 0 Sorting 3.24883 -2835 1 Data reordering 0.163552 -2836 2 Tree-construction 0.882208 -2837 11 Memory 0.001888 -2838 3 Compute properties 0.208928 -2839 10 setActiveGrpsFunc 0.068992 -2840 4 Approximation 0.160928 -2841 8 Correct 0.025184 -2842 7 Energy 0.047904 -2843 9 Predict 0.158848 -2844 0 Sorting 3.27523 -2845 1 Data reordering 0.164544 -2846 2 Tree-construction 0.88624 -2847 11 Memory 0.001888 -2848 3 Compute properties 0.199424 -2849 10 setActiveGrpsFunc 0.068192 -2850 4 Approximation 0.158912 -2851 8 Correct 0.025344 -2852 7 Energy 0.047744 -2853 9 Predict 0.143104 -2854 0 Sorting 3.24611 -2855 1 Data reordering 0.164064 -2856 2 Tree-construction 0.89824 -2857 11 Memory 0.001888 -2858 3 Compute properties 0.1976 -2859 10 setActiveGrpsFunc 0.068384 -2860 4 Approximation 0.176512 -2861 8 Correct 0.02576 -2862 7 Energy 0.048864 -2863 9 Predict 0.145088 -2864 0 Sorting 3.25331 -2865 1 Data reordering 0.164896 -2866 2 Tree-construction 0.88368 -2867 11 Memory 0.001888 -2868 3 Compute properties 0.190048 -2869 10 setActiveGrpsFunc 0.067808 -2870 4 Approximation 0.160256 -2871 8 Correct 0.025216 -2872 7 Energy 0.048416 -2873 9 Predict 0.143712 -2874 0 Sorting 3.23706 -2875 1 Data reordering 0.164096 -2876 2 Tree-construction 0.953536 -2877 11 Memory 0.001888 -2878 3 Compute properties 0.225024 -2879 10 setActiveGrpsFunc 0.069152 -2880 4 Approximation 0.16032 -2881 8 Correct 0.025344 -2882 7 Energy 0.047872 -2883 9 Predict 0.143744 -2884 0 Sorting 3.23008 -2885 1 Data reordering 0.163904 -2886 2 Tree-construction 0.884288 -2887 11 Memory 0.001888 -2888 3 Compute properties 0.191264 -2889 10 setActiveGrpsFunc 0.06736 -2890 4 Approximation 0.158848 -2891 8 Correct 0.02512 -2892 7 Energy 0.048032 -2893 9 Predict 0.144064 -2894 0 Sorting 3.25904 -2895 1 Data reordering 0.19008 -2896 2 Tree-construction 0.922944 -2897 11 Memory 0.001888 -2898 3 Compute properties 0.199712 -2899 10 setActiveGrpsFunc 0.068192 -2900 4 Approximation 0.160096 -2901 8 Correct 0.025152 -2902 7 Energy 0.048128 -2903 9 Predict 0.143904 -2904 0 Sorting 3.24499 -2905 1 Data reordering 0.163744 -2906 2 Tree-construction 0.8848 -2907 11 Memory 0.00192 -2908 3 Compute properties 0.2 -2909 10 setActiveGrpsFunc 0.067712 -2910 4 Approximation 0.160064 -2911 8 Correct 0.02512 -2912 7 Energy 0.0488 -2913 9 Predict 0.143776 -2914 0 Sorting 3.29347 -2915 1 Data reordering 0.1808 -2916 2 Tree-construction 0.91488 -2917 11 Memory 0.00192 -2918 3 Compute properties 0.192512 -2919 10 setActiveGrpsFunc 0.067584 -2920 4 Approximation 0.160064 -2921 8 Correct 0.02496 -2922 7 Energy 0.048064 -2923 9 Predict 0.143744 -2924 0 Sorting 3.23904 -2925 1 Data reordering 0.173984 -2926 2 Tree-construction 0.884128 -2927 11 Memory 0.00192 -2928 3 Compute properties 0.19232 -2929 10 setActiveGrpsFunc 0.067712 -2930 4 Approximation 0.159776 -2931 8 Correct 0.025216 -2932 7 Energy 0.047968 -2933 9 Predict 0.144 -2934 0 Sorting 3.30045 -2935 1 Data reordering 0.180096 -2936 2 Tree-construction 0.88608 -2937 11 Memory 0.001888 -2938 3 Compute properties 0.201632 -2939 10 setActiveGrpsFunc 0.067904 -2940 4 Approximation 0.160192 -2941 8 Correct 0.025088 -2942 7 Energy 0.04832 -2943 9 Predict 0.144288 -2944 0 Sorting 3.24848 -2945 1 Data reordering 0.163648 -2946 2 Tree-construction 0.894752 -2947 11 Memory 0.001888 -2948 3 Compute properties 0.197856 -2949 10 setActiveGrpsFunc 0.06928 -2950 4 Approximation 0.160256 -2951 8 Correct 0.025056 -2952 7 Energy 0.048736 -2953 9 Predict 0.144032 -2954 0 Sorting 3.31216 -2955 1 Data reordering 0.169472 -2956 2 Tree-construction 0.88368 -2957 11 Memory 0.001888 -2958 3 Compute properties 0.196512 -2959 10 setActiveGrpsFunc 0.067456 -2960 4 Approximation 0.1592 -2961 8 Correct 0.02512 -2962 7 Energy 0.048096 -2963 9 Predict 0.144128 -2964 0 Sorting 3.23376 -2965 1 Data reordering 0.164896 -2966 2 Tree-construction 0.896288 -2967 11 Memory 0.00192 -2968 3 Compute properties 0.186912 -2969 10 setActiveGrpsFunc 0.077664 -2970 4 Approximation 0.16016 -2971 8 Correct 0.025312 -2972 7 Energy 0.048256 -2973 9 Predict 0.143232 -2974 0 Sorting 3.42333 -2975 1 Data reordering 0.194848 -2976 2 Tree-construction 0.957088 -2977 11 Memory 0.001888 -2978 3 Compute properties 0.196224 -2979 10 setActiveGrpsFunc 0.067872 -2980 4 Approximation 0.160352 -2981 8 Correct 0.02512 -2982 7 Energy 0.058208 -2983 9 Predict 0.144224 -2984 0 Sorting 3.42429 -2985 1 Data reordering 0.165504 -2986 2 Tree-construction 0.89552 -2987 11 Memory 0.00192 -2988 3 Compute properties 0.186208 -2989 10 setActiveGrpsFunc 0.067776 -2990 4 Approximation 0.159872 -2991 8 Correct 0.025024 -2992 7 Energy 0.048416 -2993 9 Predict 0.144352 -2994 0 Sorting 3.31555 -2995 1 Data reordering 0.164992 -2996 2 Tree-construction 0.883168 -2997 11 Memory 0.001888 -2998 3 Compute properties 0.185824 -2999 10 setActiveGrpsFunc 0.067616 -3000 4 Approximation 0.160064 -3001 8 Correct 0.025152 -3002 7 Energy 0.048576 -3003 9 Predict 0.156864 -3004 0 Sorting 3.24723 -3005 1 Data reordering 0.164384 -3006 2 Tree-construction 0.884032 -3007 11 Memory 0.00192 -3008 3 Compute properties 0.196928 -3009 10 setActiveGrpsFunc 0.068288 -3010 4 Approximation 0.161344 -3011 8 Correct 0.025056 -3012 7 Energy 0.047936 -3013 9 Predict 0.144256 -3014 0 Sorting 3.27114 -3015 1 Data reordering 0.164608 -3016 2 Tree-construction 1.0952 -3017 11 Memory 0.001888 -3018 3 Compute properties 0.254208 -3019 10 setActiveGrpsFunc 0.09088 -3020 4 Approximation 0.183104 -3021 8 Correct 0.034112 -3022 7 Energy 0.066816 -3023 9 Predict 0.19296 -3024 0 Sorting 3.35667 -3025 1 Data reordering 0.165824 -3026 2 Tree-construction 0.887776 -3027 11 Memory 0.001856 -3028 3 Compute properties 0.189696 -3029 10 setActiveGrpsFunc 0.067744 -3030 4 Approximation 0.163872 -3031 8 Correct 0.025536 -3032 7 Energy 0.048416 -3033 9 Predict 0.144256 -3034 0 Sorting 3.26291 -3035 1 Data reordering 0.164352 -3036 2 Tree-construction 0.888576 -3037 11 Memory 0.001888 -3038 3 Compute properties 0.19696 -3039 10 setActiveGrpsFunc 0.067712 -3040 4 Approximation 0.161344 -3041 8 Correct 0.025184 -3042 7 Energy 0.047904 -3043 9 Predict 0.144064 -3044 0 Sorting 3.25309 -3045 1 Data reordering 0.164512 -3046 2 Tree-construction 0.885664 -3047 11 Memory 0.001888 -3048 3 Compute properties 0.232896 -3049 10 setActiveGrpsFunc 0.068608 -3050 4 Approximation 0.169504 -3051 8 Correct 0.025344 -3052 7 Energy 0.068288 -3053 9 Predict 0.162752 -3054 0 Sorting 3.26864 -3055 1 Data reordering 0.164192 -3056 2 Tree-construction 0.882784 -3057 11 Memory 0.001888 -3058 3 Compute properties 0.18608 -3059 10 setActiveGrpsFunc 0.067872 -3060 4 Approximation 0.16112 -3061 8 Correct 0.025056 -3062 7 Energy 0.047968 -3063 9 Predict 0.14352 -3064 0 Sorting 3.24726 -3065 1 Data reordering 0.164064 -3066 2 Tree-construction 0.924544 -3067 11 Memory 0.001952 -3068 3 Compute properties 0.1888 -3069 10 setActiveGrpsFunc 0.08272 -3070 4 Approximation 0.163392 -3071 8 Correct 0.025376 -3072 7 Energy 0.048512 -3073 9 Predict 0.14352 -3074 0 Sorting 3.24531 -3075 1 Data reordering 0.164288 -3076 2 Tree-construction 0.892896 -3077 11 Memory 0.001888 -3078 3 Compute properties 0.197792 -3079 10 setActiveGrpsFunc 0.068288 -3080 4 Approximation 0.160096 -3081 8 Correct 0.025312 -3082 7 Energy 0.047904 -3083 9 Predict 0.144288 -3084 0 Sorting 3.24176 -3085 1 Data reordering 0.164256 -3086 2 Tree-construction 0.941824 -3087 11 Memory 0.001888 -3088 3 Compute properties 0.21536 -3089 10 setActiveGrpsFunc 0.068896 -3090 4 Approximation 0.160256 -3091 8 Correct 0.02528 -3092 7 Energy 0.04896 -3093 9 Predict 0.145312 -3094 0 Sorting 3.24576 -3095 1 Data reordering 0.164384 -3096 2 Tree-construction 0.884352 -3097 11 Memory 0.001888 -3098 3 Compute properties 0.19008 -3099 10 setActiveGrpsFunc 0.068288 -3100 4 Approximation 0.158656 -3101 8 Correct 0.02512 -3102 7 Energy 0.048128 -3103 9 Predict 0.143616 -3104 0 Sorting 3.25251 -3105 1 Data reordering 0.1992 -3106 2 Tree-construction 0.910048 -3107 11 Memory 0.001888 -3108 3 Compute properties 0.19616 -3109 10 setActiveGrpsFunc 0.068384 -3110 4 Approximation 0.160128 -3111 8 Correct 0.025248 -3112 7 Energy 0.048672 -3113 9 Predict 0.144384 -3114 0 Sorting 3.24867 -3115 1 Data reordering 0.163904 -3116 2 Tree-construction 0.88384 -3117 11 Memory 0.00192 -3118 3 Compute properties 0.195872 -3119 10 setActiveGrpsFunc 0.068 -3120 4 Approximation 0.159744 -3121 8 Correct 0.025216 -3122 7 Energy 0.047808 -3123 9 Predict 0.144416 -3124 0 Sorting 3.2759 -3125 1 Data reordering 0.193696 -3126 2 Tree-construction 0.917824 -3127 11 Memory 0.001888 -3128 3 Compute properties 0.199904 -3129 10 setActiveGrpsFunc 0.068032 -3130 4 Approximation 0.15648 -3131 8 Correct 0.02528 -3132 7 Energy 0.048192 -3133 9 Predict 0.143616 -3134 0 Sorting 3.24147 -3135 1 Data reordering 0.164448 -3136 2 Tree-construction 0.884224 -3137 11 Memory 0.00192 -3138 3 Compute properties 0.196032 -3139 10 setActiveGrpsFunc 0.068032 -3140 4 Approximation 0.159168 -3141 8 Correct 0.025184 -3142 7 Energy 0.047552 -3143 9 Predict 0.143712 -3144 0 Sorting 3.29741 -3145 1 Data reordering 0.180352 -3146 2 Tree-construction 0.886112 -3147 11 Memory 0.001888 -3148 3 Compute properties 0.197792 -3149 10 setActiveGrpsFunc 0.067968 -3150 4 Approximation 0.1544 -3151 8 Correct 0.025376 -3152 7 Energy 0.0488 -3153 9 Predict 0.144128 -3154 0 Sorting 3.23658 -3155 1 Data reordering 0.173472 -3156 2 Tree-construction 0.885568 -3157 11 Memory 0.00192 -3158 3 Compute properties 0.19792 -3159 10 setActiveGrpsFunc 0.067968 -3160 4 Approximation 0.164288 -3161 8 Correct 0.02624 -3162 7 Energy 0.049024 -3163 9 Predict 0.144032 -3164 0 Sorting 3.30442 -3165 1 Data reordering 0.164672 -3166 2 Tree-construction 0.88528 -3167 11 Memory 0.00192 -3168 3 Compute properties 0.198208 -3169 10 setActiveGrpsFunc 0.067776 -3170 4 Approximation 0.154624 -3171 8 Correct 0.03472 -3172 7 Energy 0.048576 -3173 9 Predict 0.144512 -3174 0 Sorting 3.24355 -3175 1 Data reordering 0.164576 -3176 2 Tree-construction 1.14797 -3177 11 Memory 0.001888 -3178 3 Compute properties 0.265568 -3179 10 setActiveGrpsFunc 0.091072 -3180 4 Approximation 0.17584 -3181 8 Correct 0.034368 -3182 7 Energy 0.067584 -3183 9 Predict 0.191552 -3184 0 Sorting 3.36742 -3185 1 Data reordering 0.165472 -3186 2 Tree-construction 0.887136 -3187 11 Memory 0.001888 -3188 3 Compute properties 0.197952 -3189 10 setActiveGrpsFunc 0.068096 -3190 4 Approximation 0.156224 -3191 8 Correct 0.025248 -3192 7 Energy 0.04896 -3193 9 Predict 0.144288 -3194 0 Sorting 3.24819 -3195 1 Data reordering 0.164352 -3196 2 Tree-construction 0.88544 -3197 11 Memory 0.001888 -3198 3 Compute properties 0.19136 -3199 10 setActiveGrpsFunc 0.067712 -3200 4 Approximation 0.1552 -3201 8 Correct 0.025152 -3202 7 Energy 0.047744 -3203 9 Predict 0.143936 -3204 0 Sorting 3.31584 -3205 1 Data reordering 0.164992 -3206 2 Tree-construction 0.884448 -3207 11 Memory 0.00192 -3208 3 Compute properties 0.200096 -3209 10 setActiveGrpsFunc 0.067712 -3210 4 Approximation 0.155456 -3211 8 Correct 0.02528 -3212 7 Energy 0.048544 -3213 9 Predict 0.144192 -3214 0 Sorting 3.23373 -3215 1 Data reordering 0.163936 -3216 2 Tree-construction 0.894592 -3217 11 Memory 0.001888 -3218 3 Compute properties 0.199232 -3219 10 setActiveGrpsFunc 0.068256 -3220 4 Approximation 0.156192 -3221 8 Correct 0.025216 -3222 7 Energy 0.047648 -3223 9 Predict 0.14432 -3224 0 Sorting 3.29562 -3225 1 Data reordering 0.164512 -3226 2 Tree-construction 0.88416 -3227 11 Memory 0.00192 -3228 3 Compute properties 0.191008 -3229 10 setActiveGrpsFunc 0.067552 -3230 4 Approximation 0.15872 -3231 8 Correct 0.025376 -3232 7 Energy 0.048448 -3233 9 Predict 0.143648 -3234 0 Sorting 3.24253 -3235 1 Data reordering 0.164352 -3236 2 Tree-construction 0.883968 -3237 11 Memory 0.001888 -3238 3 Compute properties 0.199872 -3239 10 setActiveGrpsFunc 0.067968 -3240 4 Approximation 0.158912 -3241 8 Correct 0.025216 -3242 7 Energy 0.04784 -3243 9 Predict 0.143584 -3244 0 Sorting 3.2983 -3245 1 Data reordering 0.165088 -3246 2 Tree-construction 0.886912 -3247 11 Memory 0.001888 -3248 3 Compute properties 0.199616 -3249 10 setActiveGrpsFunc 0.068384 -3250 4 Approximation 0.157888 -3251 8 Correct 0.02512 -3252 7 Energy 0.048192 -3253 9 Predict 0.144096 -3254 0 Sorting 3.24582 -3255 1 Data reordering 0.164448 -3256 2 Tree-construction 0.883456 -3257 11 Memory 0.00192 -3258 3 Compute properties 0.192032 -3259 10 setActiveGrpsFunc 0.067616 -3260 4 Approximation 0.155808 -3261 8 Correct 0.026368 -3262 7 Energy 0.049088 -3263 9 Predict 0.144288 -3264 0 Sorting 3.25226 -3265 1 Data reordering 0.16432 -3266 2 Tree-construction 0.884352 -3267 11 Memory 0.001888 -3268 3 Compute properties 0.193248 -3269 10 setActiveGrpsFunc 0.067616 -3270 4 Approximation 0.15776 -3271 8 Correct 0.025024 -3272 7 Energy 0.047968 -3273 9 Predict 0.143872 -3274 0 Sorting 3.23933 -3275 1 Data reordering 0.164512 -3276 2 Tree-construction 0.89216 -3277 11 Memory 0.001888 -3278 3 Compute properties 0.218976 -3279 10 setActiveGrpsFunc 0.068864 -3280 4 Approximation 0.156768 -3281 8 Correct 0.025248 -3282 7 Energy 0.047648 -3283 9 Predict 0.143616 -3284 0 Sorting 3.24227 -3285 1 Data reordering 0.164192 -3286 2 Tree-construction 0.884512 -3287 11 Memory 0.00192 -3288 3 Compute properties 0.199296 -3289 10 setActiveGrpsFunc 0.067808 -3290 4 Approximation 0.157216 -3291 8 Correct 0.025216 -3292 7 Energy 0.048544 -3293 9 Predict 0.144128 -3294 0 Sorting 3.3312 -3295 1 Data reordering 0.163744 -3296 2 Tree-construction 0.904384 -3297 11 Memory 0.001888 -3298 3 Compute properties 0.198848 -3299 10 setActiveGrpsFunc 0.067872 -3300 4 Approximation 0.158048 -3301 8 Correct 0.025376 -3302 7 Energy 0.048192 -3303 9 Predict 0.15408 -3304 0 Sorting 3.24486 -3305 1 Data reordering 0.164256 -3306 2 Tree-construction 0.88768 -3307 11 Memory 0.0336 -3308 3 Compute properties 0.202656 -3309 10 setActiveGrpsFunc 0.068576 -3310 4 Approximation 0.165024 -3311 8 Correct 0.025056 -3312 7 Energy 0.048608 -3313 9 Predict 0.143424 -3314 0 Sorting 3.24438 -3315 1 Data reordering 0.164 -3316 2 Tree-construction 0.948576 -3317 11 Memory 0.00192 -3318 3 Compute properties 0.231232 -3319 10 setActiveGrpsFunc 0.068448 -3320 4 Approximation 0.16016 -3321 8 Correct 0.024928 -3322 7 Energy 0.048096 -3323 9 Predict 0.1432 -3324 0 Sorting 3.24554 -3325 1 Data reordering 0.164192 -3326 2 Tree-construction 0.88448 -3327 11 Memory 0.001888 -3328 3 Compute properties 0.198528 -3329 10 setActiveGrpsFunc 0.068224 -3330 4 Approximation 0.160256 -3331 8 Correct 0.025184 -3332 7 Energy 0.048192 -3333 9 Predict 0.143552 -3334 0 Sorting 3.25197 -3335 1 Data reordering 0.18752 -3336 2 Tree-construction 0.938784 -3337 11 Memory 0.00192 -3338 3 Compute properties 0.196992 -3339 10 setActiveGrpsFunc 0.067904 -3340 4 Approximation 0.160192 -3341 8 Correct 0.024512 -3342 7 Energy 0.048672 -3343 9 Predict 0.143936 -3344 0 Sorting 3.24176 -3345 1 Data reordering 0.16416 -3346 2 Tree-construction 0.88544 -3347 11 Memory 0.001888 -3348 3 Compute properties 0.197728 -3349 10 setActiveGrpsFunc 0.067872 -3350 4 Approximation 0.16 -3351 8 Correct 0.025184 -3352 7 Energy 0.048288 -3353 9 Predict 0.14384 -3354 0 Sorting 3.26867 -3355 1 Data reordering 0.174432 -3356 2 Tree-construction 0.918368 -3357 11 Memory 0.00192 -3358 3 Compute properties 0.200416 -3359 10 setActiveGrpsFunc 0.067744 -3360 4 Approximation 0.15744 -3361 8 Correct 0.025248 -3362 7 Energy 0.047872 -3363 9 Predict 0.144 -3364 0 Sorting 3.24701 -3365 1 Data reordering 0.164672 -3366 2 Tree-construction 0.8848 -3367 11 Memory 0.00192 -3368 3 Compute properties 0.200448 -3369 10 setActiveGrpsFunc 0.068224 -3370 4 Approximation 0.157472 -3371 8 Correct 0.034624 -3372 7 Energy 0.048288 -3373 9 Predict 0.143808 -3374 0 Sorting 3.29661 -3375 1 Data reordering 0.1776 -3376 2 Tree-construction 0.885216 -3377 11 Memory 0.001888 -3378 3 Compute properties 0.192448 -3379 10 setActiveGrpsFunc 0.067584 -3380 4 Approximation 0.157344 -3381 8 Correct 0.024992 -3382 7 Energy 0.048128 -3383 9 Predict 0.143872 -3384 0 Sorting 3.25008 -3385 1 Data reordering 0.164544 -3386 2 Tree-construction 0.886112 -3387 11 Memory 0.00192 -3388 3 Compute properties 0.197728 -3389 10 setActiveGrpsFunc 0.067872 -3390 4 Approximation 0.156096 -3391 8 Correct 0.02512 -3392 7 Energy 0.048288 -3393 9 Predict 0.143776 -3394 0 Sorting 3.30573 -3395 1 Data reordering 0.164704 -3396 2 Tree-construction 0.88528 -3397 11 Memory 0.001888 -3398 3 Compute properties 0.199296 -3399 10 setActiveGrpsFunc 0.06768 -3400 4 Approximation 0.155488 -3401 8 Correct 0.025088 -3402 7 Energy 0.047712 -3403 9 Predict 0.143616 -3404 0 Sorting 3.24515 -3405 1 Data reordering 0.164384 -3406 2 Tree-construction 0.884288 -3407 11 Memory 0.001888 -3408 3 Compute properties 0.244256 -3409 10 setActiveGrpsFunc 0.091552 -3410 4 Approximation 0.176864 -3411 8 Correct 0.033664 -3412 7 Energy 0.067168 -3413 9 Predict 0.190496 -3414 0 Sorting 3.58426 -3415 1 Data reordering 0.166208 -3416 2 Tree-construction 0.899776 -3417 11 Memory 0.001888 -3418 3 Compute properties 0.20128 -3419 10 setActiveGrpsFunc 0.06848 -3420 4 Approximation 0.157376 -3421 8 Correct 0.025376 -3422 7 Energy 0.04864 -3423 9 Predict 0.143936 -3424 0 Sorting 3.24016 -3425 1 Data reordering 0.16464 -3426 2 Tree-construction 0.884768 -3427 11 Memory 0.00192 -3428 3 Compute properties 0.19952 -3429 10 setActiveGrpsFunc 0.068096 -3430 4 Approximation 0.154496 -3431 8 Correct 0.025152 -3432 7 Energy 0.048448 -3433 9 Predict 0.143136 -3434 0 Sorting 3.29469 -3435 1 Data reordering 0.164928 -3436 2 Tree-construction 0.886944 -3437 11 Memory 0.001888 -3438 3 Compute properties 0.199392 -3439 10 setActiveGrpsFunc 0.067936 -3440 4 Approximation 0.15712 -3441 8 Correct 0.02512 -3442 7 Energy 0.047968 -3443 9 Predict 0.143712 -3444 0 Sorting 3.24918 -3445 1 Data reordering 0.164544 -3446 2 Tree-construction 0.884352 -3447 11 Memory 0.032256 -3448 3 Compute properties 0.201088 -3449 10 setActiveGrpsFunc 0.068224 -3450 4 Approximation 0.166112 -3451 8 Correct 0.025184 -3452 7 Energy 0.048256 -3453 9 Predict 0.144288 -3454 0 Sorting 3.30525 -3455 1 Data reordering 0.164704 -3456 2 Tree-construction 0.886944 -3457 11 Memory 0.00192 -3458 3 Compute properties 0.200256 -3459 10 setActiveGrpsFunc 0.068128 -3460 4 Approximation 0.160224 -3461 8 Correct 0.025216 -3462 7 Energy 0.048768 -3463 9 Predict 0.144032 -3464 0 Sorting 3.25168 -3465 1 Data reordering 0.164 -3466 2 Tree-construction 0.886688 -3467 11 Memory 0.00192 -3468 3 Compute properties 0.200256 -3469 10 setActiveGrpsFunc 0.067776 -3470 4 Approximation 0.15616 -3471 8 Correct 0.025152 -3472 7 Energy 0.048512 -3473 9 Predict 0.143328 -3474 0 Sorting 3.42966 -3475 1 Data reordering 0.164928 -3476 2 Tree-construction 1.11213 -3477 11 Memory 0.001952 -3478 3 Compute properties 0.236896 -3479 10 setActiveGrpsFunc 0.071008 -3480 4 Approximation 0.16816 -3481 8 Correct 0.025568 -3482 7 Energy 0.048992 -3483 9 Predict 0.144736 -3484 0 Sorting 3.42944 -3485 1 Data reordering 0.16688 -3486 2 Tree-construction 0.919168 -3487 11 Memory 0.00192 -3488 3 Compute properties 0.200096 -3489 10 setActiveGrpsFunc 0.068224 -3490 4 Approximation 0.16288 -3491 8 Correct 0.025408 -3492 7 Energy 0.04944 -3493 9 Predict 0.144896 -3494 0 Sorting 3.24797 -3495 1 Data reordering 0.164736 -3496 2 Tree-construction 0.885568 -3497 11 Memory 0.00192 -3498 3 Compute properties 0.19856 -3499 10 setActiveGrpsFunc 0.06784 -3500 4 Approximation 0.157952 -3501 8 Correct 0.025088 -3502 7 Energy 0.048032 -3503 9 Predict 0.14336 -3504 0 Sorting 3.23546 -3505 1 Data reordering 0.163968 -3506 2 Tree-construction 0.92288 -3507 11 Memory 0.001888 -3508 3 Compute properties 0.191392 -3509 10 setActiveGrpsFunc 0.067392 -3510 4 Approximation 0.157152 -3511 8 Correct 0.025056 -3512 7 Energy 0.058272 -3513 9 Predict 0.144672 -3514 0 Sorting 3.24198 -3515 1 Data reordering 0.164832 -3516 2 Tree-construction 0.885056 -3517 11 Memory 0.001888 -3518 3 Compute properties 0.199456 -3519 10 setActiveGrpsFunc 0.067936 -3520 4 Approximation 0.156928 -3521 8 Correct 0.02512 -3522 7 Energy 0.047712 -3523 9 Predict 0.143424 -3524 0 Sorting 3.24317 -3525 1 Data reordering 0.16368 -3526 2 Tree-construction 0.910144 -3527 11 Memory 0.0312 -3528 3 Compute properties 0.20016 -3529 10 setActiveGrpsFunc 0.068224 -3530 4 Approximation 0.165504 -3531 8 Correct 0.025312 -3532 7 Energy 0.04816 -3533 9 Predict 0.143648 -3534 0 Sorting 3.25635 -3535 1 Data reordering 0.165088 -3536 2 Tree-construction 0.885568 -3537 11 Memory 0.001888 -3538 3 Compute properties 0.193184 -3539 10 setActiveGrpsFunc 0.06752 -3540 4 Approximation 0.158432 -3541 8 Correct 0.025216 -3542 7 Energy 0.047968 -3543 9 Predict 0.144544 -3544 0 Sorting 3.27088 -3545 1 Data reordering 0.164832 -3546 2 Tree-construction 0.885504 -3547 11 Memory 0.001888 -3548 3 Compute properties 0.197536 -3549 10 setActiveGrpsFunc 0.068288 -3550 4 Approximation 0.156992 -3551 8 Correct 0.02512 -3552 7 Energy 0.048544 -3553 9 Predict 0.144096 -3554 0 Sorting 3.2447 -3555 1 Data reordering 0.175328 -3556 2 Tree-construction 0.885792 -3557 11 Memory 0.001888 -3558 3 Compute properties 0.19696 -3559 10 setActiveGrpsFunc 0.068352 -3560 4 Approximation 0.157888 -3561 8 Correct 0.025184 -3562 7 Energy 0.04832 -3563 9 Predict 0.144224 -3564 0 Sorting 3.30147 -3565 1 Data reordering 0.165248 -3566 2 Tree-construction 0.901664 -3567 11 Memory 0.00192 -3568 3 Compute properties 0.196704 -3569 10 setActiveGrpsFunc 0.067776 -3570 4 Approximation 0.15856 -3571 8 Correct 0.025184 -3572 7 Energy 0.050752 -3573 9 Predict 0.154464 -3574 0 Sorting 3.28243 -3575 1 Data reordering 0.166656 -3576 2 Tree-construction 0.886528 -3577 11 Memory 0.002016 -3578 3 Compute properties 0.1896 -3579 10 setActiveGrpsFunc 0.067808 -3580 4 Approximation 0.1584 -3581 8 Correct 0.025248 -3582 7 Energy 0.047872 -3583 9 Predict 0.143872 -3584 0 Sorting 3.29642 -3585 1 Data reordering 0.165184 -3586 2 Tree-construction 0.886592 -3587 11 Memory 0.001888 -3588 3 Compute properties 0.19952 -3589 10 setActiveGrpsFunc 0.067968 -3590 4 Approximation 0.155872 -3591 8 Correct 0.02528 -3592 7 Energy 0.048384 -3593 9 Predict 0.144064 -3594 0 Sorting 3.24016 -3595 1 Data reordering 0.16432 -3596 2 Tree-construction 0.885344 -3597 11 Memory 0.00192 -3598 3 Compute properties 0.192032 -3599 10 setActiveGrpsFunc 0.06784 -3600 4 Approximation 0.155488 -3601 8 Correct 0.02512 -3602 7 Energy 0.04784 -3603 9 Predict 0.14336 -3604 0 Sorting 3.3129 -3605 1 Data reordering 0.165696 -3606 2 Tree-construction 0.887296 -3607 11 Memory 0.00192 -3608 3 Compute properties 0.1976 -3609 10 setActiveGrpsFunc 0.067872 -3610 4 Approximation 0.156064 -3611 8 Correct 0.025184 -3612 7 Energy 0.048704 -3613 9 Predict 0.143776 -3614 0 Sorting 3.22778 -3615 1 Data reordering 0.16448 -3616 2 Tree-construction 0.896096 -3617 11 Memory 0.00192 -3618 3 Compute properties 0.195456 -3619 10 setActiveGrpsFunc 0.068096 -3620 4 Approximation 0.157056 -3621 8 Correct 0.025056 -3622 7 Energy 0.048064 -3623 9 Predict 0.143872 -3624 0 Sorting 3.30458 -3625 1 Data reordering 0.165248 -3626 2 Tree-construction 0.885472 -3627 11 Memory 0.001888 -3628 3 Compute properties 0.196864 -3629 10 setActiveGrpsFunc 0.068032 -3630 4 Approximation 0.15808 -3631 8 Correct 0.025312 -3632 7 Energy 0.04848 -3633 9 Predict 0.143712 -3634 0 Sorting 3.25005 -3635 1 Data reordering 0.164736 -3636 2 Tree-construction 0.884224 -3637 11 Memory 0.00192 -3638 3 Compute properties 0.189568 -3639 10 setActiveGrpsFunc 0.067776 -3640 4 Approximation 0.156864 -3641 8 Correct 0.025088 -3642 7 Energy 0.048032 -3643 9 Predict 0.144704 -3644 0 Sorting 3.78842 -3645 1 Data reordering 0.166496 -3646 2 Tree-construction 0.890144 -3647 11 Memory 0.00192 -3648 3 Compute properties 0.199488 -3649 10 setActiveGrpsFunc 0.068224 -3650 4 Approximation 0.157728 -3651 8 Correct 0.02528 -3652 7 Energy 0.048704 -3653 9 Predict 0.144032 -3654 0 Sorting 3.24557 -3655 1 Data reordering 0.164768 -3656 2 Tree-construction 0.885888 -3657 11 Memory 0.00192 -3658 3 Compute properties 0.197856 -3659 10 setActiveGrpsFunc 0.068544 -3660 4 Approximation 0.157856 -3661 8 Correct 0.02512 -3662 7 Energy 0.048992 -3663 9 Predict 0.14416 -3664 0 Sorting 3.31062 -3665 1 Data reordering 0.165248 -3666 2 Tree-construction 0.887776 -3667 11 Memory 0.00192 -3668 3 Compute properties 0.196576 -3669 10 setActiveGrpsFunc 0.068 -3670 4 Approximation 0.158272 -3671 8 Correct 0.025056 -3672 7 Energy 0.048224 -3673 9 Predict 0.143808 -3674 0 Sorting 3.24314 -3675 1 Data reordering 0.165088 -3676 2 Tree-construction 0.885856 -3677 11 Memory 0.001888 -3678 3 Compute properties 0.196512 -3679 10 setActiveGrpsFunc 0.068448 -3680 4 Approximation 0.15808 -3681 8 Correct 0.024992 -3682 7 Energy 0.048032 -3683 9 Predict 0.144736 -3684 0 Sorting 3.3024 -3685 1 Data reordering 0.1648 -3686 2 Tree-construction 0.887328 -3687 11 Memory 0.001888 -3688 3 Compute properties 0.19568 -3689 10 setActiveGrpsFunc 0.068032 -3690 4 Approximation 0.15728 -3691 8 Correct 0.025152 -3692 7 Energy 0.04848 -3693 9 Predict 0.144032 -3694 0 Sorting 3.248 -3695 1 Data reordering 0.164704 -3696 2 Tree-construction 0.886016 -3697 11 Memory 0.001888 -3698 3 Compute properties 0.19536 -3699 10 setActiveGrpsFunc 0.067968 -3700 4 Approximation 0.179808 -3701 8 Correct 0.02576 -3702 7 Energy 0.06016 -3703 9 Predict 0.145376 -3704 0 Sorting 3.27402 -3705 1 Data reordering 0.165344 -3706 2 Tree-construction 0.885056 -3707 11 Memory 0.001888 -3708 3 Compute properties 0.20464 -3709 10 setActiveGrpsFunc 0.068096 -3710 4 Approximation 0.159712 -3711 8 Correct 0.02528 -3712 7 Energy 0.048608 -3713 9 Predict 0.144384 -3714 0 Sorting 3.24406 -3715 1 Data reordering 0.165568 -3716 2 Tree-construction 0.885888 -3717 11 Memory 0.001888 -3718 3 Compute properties 0.211552 -3719 10 setActiveGrpsFunc 0.06896 -3720 4 Approximation 0.161024 -3721 8 Correct 0.025152 -3722 7 Energy 0.048448 -3723 9 Predict 0.166336 -3724 0 Sorting 3.2649 -3725 1 Data reordering 0.164928 -3726 2 Tree-construction 0.885376 -3727 11 Memory 0.001888 -3728 3 Compute properties 0.200256 -3729 10 setActiveGrpsFunc 0.067936 -3730 4 Approximation 0.15936 -3731 8 Correct 0.025056 -3732 7 Energy 0.04832 -3733 9 Predict 0.144032 -3734 0 Sorting 3.25178 -3735 1 Data reordering 0.164896 -3736 2 Tree-construction 0.896928 -3737 11 Memory 0.001888 -3738 3 Compute properties 0.191264 -3739 10 setActiveGrpsFunc 0.06784 -3740 4 Approximation 0.167456 -3741 8 Correct 0.02576 -3742 7 Energy 0.04832 -3743 9 Predict 0.143936 -3744 0 Sorting 3.24918 -3745 1 Data reordering 0.164704 -3746 2 Tree-construction 0.8848 -3747 11 Memory 0.001888 -3748 3 Compute properties 0.197952 -3749 10 setActiveGrpsFunc 0.067968 -3750 4 Approximation 0.159808 -3751 8 Correct 0.025344 -3752 7 Energy 0.048352 -3753 9 Predict 0.144256 -3754 0 Sorting 3.23014 -3755 1 Data reordering 0.164512 -3756 2 Tree-construction 0.953472 -3757 11 Memory 0.001888 -3758 3 Compute properties 0.224032 -3759 10 setActiveGrpsFunc 0.068352 -3760 4 Approximation 0.158944 -3761 8 Correct 0.025184 -3762 7 Energy 0.047296 -3763 9 Predict 0.143936 -3764 0 Sorting 3.23514 -3765 1 Data reordering 0.165472 -3766 2 Tree-construction 0.885632 -3767 11 Memory 0.001888 -3768 3 Compute properties 0.196224 -3769 10 setActiveGrpsFunc 0.068 -3770 4 Approximation 0.15984 -3771 8 Correct 0.025088 -3772 7 Energy 0.048032 -3773 9 Predict 0.144096 -3774 0 Sorting 3.24448 -3775 1 Data reordering 0.189184 -3776 2 Tree-construction 0.886848 -3777 11 Memory 0.00192 -3778 3 Compute properties 0.205792 -3779 10 setActiveGrpsFunc 0.067936 -3780 4 Approximation 0.159552 -3781 8 Correct 0.025248 -3782 7 Energy 0.04832 -3783 9 Predict 0.144128 -3784 0 Sorting 3.50038 -3785 1 Data reordering 0.22704 -3786 2 Tree-construction 1.08486 -3787 11 Memory 0.00192 -3788 3 Compute properties 0.196448 -3789 10 setActiveGrpsFunc 0.068032 -3790 4 Approximation 0.16 -3791 8 Correct 0.025088 -3792 7 Energy 0.04864 -3793 9 Predict 0.144032 -3794 0 Sorting 3.2793 -3795 1 Data reordering 0.165856 -3796 2 Tree-construction 0.891456 -3797 11 Memory 0.001888 -3798 3 Compute properties 0.195328 -3799 10 setActiveGrpsFunc 0.068032 -3800 4 Approximation 0.159136 -3801 8 Correct 0.025056 -3802 7 Energy 0.048192 -3803 9 Predict 0.144736 -3804 0 Sorting 3.24493 -3805 1 Data reordering 0.164576 -3806 2 Tree-construction 0.886528 -3807 11 Memory 0.001888 -3808 3 Compute properties 0.196224 -3809 10 setActiveGrpsFunc 0.067808 -3810 4 Approximation 0.158848 -3811 8 Correct 0.025248 -3812 7 Energy 0.04912 -3813 9 Predict 0.143392 -3814 0 Sorting 3.26518 -3815 1 Data reordering 0.16512 -3816 2 Tree-construction 0.89136 -3817 11 Memory 0.00192 -3818 3 Compute properties 0.196448 -3819 10 setActiveGrpsFunc 0.067968 -3820 4 Approximation 0.15952 -3821 8 Correct 0.02512 -3822 7 Energy 0.049952 -3823 9 Predict 0.144256 -3824 0 Sorting 3.23562 -3825 1 Data reordering 0.164608 -3826 2 Tree-construction 0.886976 -3827 11 Memory 0.001856 -3828 3 Compute properties 0.197248 -3829 10 setActiveGrpsFunc 0.067904 -3830 4 Approximation 0.157888 -3831 8 Correct 0.025184 -3832 7 Energy 0.048416 -3833 9 Predict 0.143904 -3834 0 Sorting 3.26829 -3835 1 Data reordering 0.16528 -3836 2 Tree-construction 0.883104 -3837 11 Memory 0.001888 -3838 3 Compute properties 0.187552 -3839 10 setActiveGrpsFunc 0.067648 -3840 4 Approximation 0.158432 -3841 8 Correct 0.02512 -3842 7 Energy 0.04784 -3843 9 Predict 0.14416 -3844 0 Sorting 3.23821 -3845 1 Data reordering 0.164224 -3846 2 Tree-construction 0.894464 -3847 11 Memory 0.001888 -3848 3 Compute properties 0.196704 -3849 10 setActiveGrpsFunc 0.068032 -3850 4 Approximation 0.157792 -3851 8 Correct 0.025184 -3852 7 Energy 0.047616 -3853 9 Predict 0.144288 -3854 0 Sorting 3.30086 -3855 1 Data reordering 0.166144 -3856 2 Tree-construction 0.887456 -3857 11 Memory 0.001888 -3858 3 Compute properties 0.189248 -3859 10 setActiveGrpsFunc 0.067904 -3860 4 Approximation 0.159776 -3861 8 Correct 0.025184 -3862 7 Energy 0.0488 -3863 9 Predict 0.145088 -3864 0 Sorting 3.2489 -3865 1 Data reordering 0.16528 -3866 2 Tree-construction 0.885632 -3867 11 Memory 0.001888 -3868 3 Compute properties 0.195104 -3869 10 setActiveGrpsFunc 0.067808 -3870 4 Approximation 0.158144 -3871 8 Correct 0.025088 -3872 7 Energy 0.054432 -3873 9 Predict 0.145568 -3874 0 Sorting 3.27085 -3875 1 Data reordering 0.20544 -3876 2 Tree-construction 0.92016 -3877 11 Memory 0.00192 -3878 3 Compute properties 0.187616 -3879 10 setActiveGrpsFunc 0.068 -3880 4 Approximation 0.1576 -3881 8 Correct 0.025344 -3882 7 Energy 0.048256 -3883 9 Predict 0.144288 -3884 0 Sorting 3.24573 -3885 1 Data reordering 0.165344 -3886 2 Tree-construction 0.88528 -3887 11 Memory 0.001888 -3888 3 Compute properties 0.188224 -3889 10 setActiveGrpsFunc 0.06736 -3890 4 Approximation 0.157664 -3891 8 Correct 0.02512 -3892 7 Energy 0.048352 -3893 9 Predict 0.143552 -3894 0 Sorting 3.29526 -3895 1 Data reordering 0.164992 -3896 2 Tree-construction 0.884064 -3897 11 Memory 0.00192 -3898 3 Compute properties 0.188704 -3899 10 setActiveGrpsFunc 0.067648 -3900 4 Approximation 0.156608 -3901 8 Correct 0.024992 -3902 7 Energy 0.048256 -3903 9 Predict 0.144224 -3904 0 Sorting 3.23667 -3905 1 Data reordering 0.164512 -3906 2 Tree-construction 0.891968 -3907 11 Memory 0.001888 -3908 3 Compute properties 0.19712 -3909 10 setActiveGrpsFunc 0.06816 -3910 4 Approximation 0.156864 -3911 8 Correct 0.025344 -3912 7 Energy 0.048352 -3913 9 Predict 0.144192 -3914 0 Sorting 3.29914 -3915 1 Data reordering 0.165728 -3916 2 Tree-construction 0.884288 -3917 11 Memory 0.00192 -3918 3 Compute properties 0.187424 -3919 10 setActiveGrpsFunc 0.067456 -3920 4 Approximation 0.159584 -3921 8 Correct 0.025312 -3922 7 Energy 0.047584 -3923 9 Predict 0.144032 -3924 0 Sorting 3.24502 -3925 1 Data reordering 0.16512 -3926 2 Tree-construction 0.893376 -3927 11 Memory 0.00192 -3928 3 Compute properties 0.187392 -3929 10 setActiveGrpsFunc 0.067808 -3930 4 Approximation 0.159392 -3931 8 Correct 0.025152 -3932 7 Energy 0.048608 -3933 9 Predict 0.166656 -3934 0 Sorting 3.2921 -3935 1 Data reordering 0.165248 -3936 2 Tree-construction 0.885184 -3937 11 Memory 0.001888 -3938 3 Compute properties 0.187456 -3939 10 setActiveGrpsFunc 0.067648 -3940 4 Approximation 0.158912 -3941 8 Correct 0.025152 -3942 7 Energy 0.04752 -3943 9 Predict 0.143328 -3944 0 Sorting 3.24246 -3945 1 Data reordering 0.164128 -3946 2 Tree-construction 0.900544 -3947 11 Memory 0.001984 -3948 3 Compute properties 0.187744 -3949 10 setActiveGrpsFunc 0.068096 -3950 4 Approximation 0.163264 -3951 8 Correct 0.025504 -3952 7 Energy 0.049952 -3953 9 Predict 0.144736 -3954 0 Sorting 3.26938 -3955 1 Data reordering 0.165728 -3956 2 Tree-construction 0.891104 -3957 11 Memory 0.001888 -3958 3 Compute properties 0.18672 -3959 10 setActiveGrpsFunc 0.06784 -3960 4 Approximation 0.159168 -3961 8 Correct 0.025216 -3962 7 Energy 0.047968 -3963 9 Predict 0.144032 -3964 0 Sorting 3.24227 -3965 1 Data reordering 0.164416 -3966 2 Tree-construction 0.883104 -3967 11 Memory 0.00192 -3968 3 Compute properties 0.20288 -3969 10 setActiveGrpsFunc 0.06864 -3970 4 Approximation 0.15808 -3971 8 Correct 0.026016 -3972 7 Energy 0.049184 -3973 9 Predict 0.161472 -3974 0 Sorting 3.25389 -3975 1 Data reordering 0.164768 -3976 2 Tree-construction 0.88496 -3977 11 Memory 0.00192 -3978 3 Compute properties 0.189376 -3979 10 setActiveGrpsFunc 0.067936 -3980 4 Approximation 0.1584 -3981 8 Correct 0.025248 -3982 7 Energy 0.047968 -3983 9 Predict 0.144288 -3984 0 Sorting 3.36797 -3985 1 Data reordering 0.164544 -3986 2 Tree-construction 0.924224 -3987 11 Memory 0.001888 -3988 3 Compute properties 0.206336 -3989 10 setActiveGrpsFunc 0.068576 -3990 4 Approximation 0.165184 -3991 8 Correct 0.025504 -3992 7 Energy 0.04912 -3993 9 Predict 0.144032 -3994 0 Sorting 3.25853 -3995 1 Data reordering 0.164864 -3996 2 Tree-construction 0.88704 -3997 11 Memory 0.001888 -3998 3 Compute properties 0.196288 -3999 10 setActiveGrpsFunc 0.067776 -4000 4 Approximation 0.15792 -4001 8 Correct 0.025088 -4002 7 Energy 0.047808 -4003 9 Predict 0.144 -4004 0 Sorting 3.25075 -4005 1 Data reordering 0.165056 -4006 2 Tree-construction 0.950304 -4007 11 Memory 0.00192 -4008 3 Compute properties 0.196608 -4009 10 setActiveGrpsFunc 0.068192 -4010 4 Approximation 0.158592 -4011 8 Correct 0.025152 -4012 7 Energy 0.048448 -4013 9 Predict 0.144384 -4014 0 Sorting 3.24208 -4015 1 Data reordering 0.16448 -4016 2 Tree-construction 0.88512 -4017 11 Memory 0.00208 -4018 3 Compute properties 0.2272 -4019 10 setActiveGrpsFunc 0.089696 -4020 4 Approximation 0.178688 -4021 8 Correct 0.033824 -4022 7 Energy 0.067296 -4023 9 Predict 0.191616 -4024 0 Sorting 3.58566 -4025 1 Data reordering 0.184608 -4026 2 Tree-construction 0.890368 -4027 11 Memory 0.001888 -4028 3 Compute properties 0.196896 -4029 10 setActiveGrpsFunc 0.067744 -4030 4 Approximation 0.15824 -4031 8 Correct 0.025184 -4032 7 Energy 0.048768 -4033 9 Predict 0.144576 -4034 0 Sorting 3.2495 -4035 1 Data reordering 0.164576 -4036 2 Tree-construction 0.884992 -4037 11 Memory 0.001888 -4038 3 Compute properties 0.194624 -4039 10 setActiveGrpsFunc 0.067776 -4040 4 Approximation 0.158912 -4041 8 Correct 0.025216 -4042 7 Energy 0.048288 -4043 9 Predict 0.143808 -4044 0 Sorting 3.33571 -4045 1 Data reordering 0.165728 -4046 2 Tree-construction 0.894688 -4047 11 Memory 0.001888 -4048 3 Compute properties 0.186208 -4049 10 setActiveGrpsFunc 0.067552 -4050 4 Approximation 0.158592 -4051 8 Correct 0.025248 -4052 7 Energy 0.048192 -4053 9 Predict 0.144672 -4054 0 Sorting 3.2415 -4055 1 Data reordering 0.16448 -4056 2 Tree-construction 0.884384 -4057 11 Memory 0.001888 -4058 3 Compute properties 0.186208 -4059 10 setActiveGrpsFunc 0.06768 -4060 4 Approximation 0.158752 -4061 8 Correct 0.02512 -4062 7 Energy 0.048576 -4063 9 Predict 0.144544 -4064 0 Sorting 3.28864 -4065 1 Data reordering 0.164672 -4066 2 Tree-construction 0.883424 -4067 11 Memory 0.001888 -4068 3 Compute properties 0.187264 -4069 10 setActiveGrpsFunc 0.067968 -4070 4 Approximation 0.158272 -4071 8 Correct 0.025024 -4072 7 Energy 0.048512 -4073 9 Predict 0.143968 -4074 0 Sorting 3.24362 -4075 1 Data reordering 0.164736 -4076 2 Tree-construction 0.886528 -4077 11 Memory 0.001888 -4078 3 Compute properties 0.196352 -4079 10 setActiveGrpsFunc 0.06768 -4080 4 Approximation 0.157056 -4081 8 Correct 0.02528 -4082 7 Energy 0.047936 -4083 9 Predict 0.143776 -4084 0 Sorting 3.28362 -4085 1 Data reordering 0.165536 -4086 2 Tree-construction 0.88592 -4087 11 Memory 0.001888 -4088 3 Compute properties 0.187648 -4089 10 setActiveGrpsFunc 0.067456 -4090 4 Approximation 0.157952 -4091 8 Correct 0.025184 -4092 7 Energy 0.048416 -4093 9 Predict 0.143808 -4094 0 Sorting 3.23978 -4095 1 Data reordering 0.174656 -4096 2 Tree-construction 0.886176 -4097 11 Memory 0.001888 -4098 3 Compute properties 0.197152 -4099 10 setActiveGrpsFunc 0.06784 -4100 4 Approximation 0.156864 -4101 8 Correct 0.02528 -4102 7 Energy 0.04816 -4103 9 Predict 0.151072 -4104 0 Sorting 3.26758 -4105 1 Data reordering 0.164704 -4106 2 Tree-construction 0.884032 -4107 11 Memory 0.001888 -4108 3 Compute properties 0.19712 -4109 10 setActiveGrpsFunc 0.068352 -4110 4 Approximation 0.167488 -4111 8 Correct 0.02528 -4112 7 Energy 0.04816 -4113 9 Predict 0.145792 -4114 0 Sorting 3.23258 -4115 1 Data reordering 0.165088 -4116 2 Tree-construction 0.883936 -4117 11 Memory 0.001888 -4118 3 Compute properties 0.195584 -4119 10 setActiveGrpsFunc 0.06784 -4120 4 Approximation 0.163872 -4121 8 Correct 0.025344 -4122 7 Energy 0.04864 -4123 9 Predict 0.144896 -4124 0 Sorting 3.27018 -4125 1 Data reordering 0.165088 -4126 2 Tree-construction 0.88544 -4127 11 Memory 0.001888 -4128 3 Compute properties 0.196704 -4129 10 setActiveGrpsFunc 0.068064 -4130 4 Approximation 0.155776 -4131 8 Correct 0.025088 -4132 7 Energy 0.048416 -4133 9 Predict 0.144032 -4134 0 Sorting 3.24627 -4135 1 Data reordering 0.164768 -4136 2 Tree-construction 0.885376 -4137 11 Memory 0.001888 -4138 3 Compute properties 0.196896 -4139 10 setActiveGrpsFunc 0.068192 -4140 4 Approximation 0.15632 -4141 8 Correct 0.02528 -4142 7 Energy 0.048448 -4143 9 Predict 0.143808 -4144 0 Sorting 3.31766 -4145 1 Data reordering 0.165152 -4146 2 Tree-construction 0.887776 -4147 11 Memory 0.001888 -4148 3 Compute properties 0.195584 -4149 10 setActiveGrpsFunc 0.068064 -4150 4 Approximation 0.15616 -4151 8 Correct 0.025184 -4152 7 Energy 0.04896 -4153 9 Predict 0.144288 -4154 0 Sorting 3.23885 -4155 1 Data reordering 0.164512 -4156 2 Tree-construction 0.901312 -4157 11 Memory 0.001888 -4158 3 Compute properties 0.195968 -4159 10 setActiveGrpsFunc 0.068064 -4160 4 Approximation 0.1576 -4161 8 Correct 0.025184 -4162 7 Energy 0.047744 -4163 9 Predict 0.144768 -4164 0 Sorting 3.26557 -4165 1 Data reordering 0.165056 -4166 2 Tree-construction 0.886336 -4167 11 Memory 0.001888 -4168 3 Compute properties 0.197504 -4169 10 setActiveGrpsFunc 0.067936 -4170 4 Approximation 0.157152 -4171 8 Correct 0.025152 -4172 7 Energy 0.048704 -4173 9 Predict 0.144576 -4174 0 Sorting 3.24464 -4175 1 Data reordering 0.164224 -4176 2 Tree-construction 0.895072 -4177 11 Memory 0.00192 -4178 3 Compute properties 0.197088 -4179 10 setActiveGrpsFunc 0.068352 -4180 4 Approximation 0.158208 -4181 8 Correct 0.050048 -4182 7 Energy 0.0504 -4183 9 Predict 0.145376 -4184 0 Sorting 3.2456 -4185 1 Data reordering 0.165152 -4186 2 Tree-construction 0.888928 -4187 11 Memory 0.001888 -4188 3 Compute properties 0.188128 -4189 10 setActiveGrpsFunc 0.067328 -4190 4 Approximation 0.156992 -4191 8 Correct 0.024896 -4192 7 Energy 0.048576 -4193 9 Predict 0.14384 -4194 0 Sorting 3.23379 -4195 1 Data reordering 0.168 -4196 2 Tree-construction 0.886592 -4197 11 Memory 0.001888 -4198 3 Compute properties 0.232544 -4199 10 setActiveGrpsFunc 0.083456 -4200 4 Approximation 0.155904 -4201 8 Correct 0.02512 -4202 7 Energy 0.048352 -4203 9 Predict 0.14432 -4204 0 Sorting 3.36589 -4205 1 Data reordering 0.182816 -4206 2 Tree-construction 0.9056 -4207 11 Memory 0.00192 -4208 3 Compute properties 0.189376 -4209 10 setActiveGrpsFunc 0.067744 -4210 4 Approximation 0.154368 -4211 8 Correct 0.025088 -4212 7 Energy 0.048672 -4213 9 Predict 0.144736 -4214 0 Sorting 3.25168 -4215 1 Data reordering 0.16496 -4216 2 Tree-construction 0.945792 -4217 11 Memory 0.001888 -4218 3 Compute properties 0.198944 -4219 10 setActiveGrpsFunc 0.084224 -4220 4 Approximation 0.157472 -4221 8 Correct 0.025152 -4222 7 Energy 0.048832 -4223 9 Predict 0.144608 -4224 0 Sorting 3.24205 -4225 1 Data reordering 0.165184 -4226 2 Tree-construction 0.886688 -4227 11 Memory 0.001888 -4228 3 Compute properties 0.189376 -4229 10 setActiveGrpsFunc 0.06752 -4230 4 Approximation 0.154432 -4231 8 Correct 0.024992 -4232 7 Energy 0.048192 -4233 9 Predict 0.144064 -4234 0 Sorting 3.25299 -4235 1 Data reordering 0.164864 -4236 2 Tree-construction 0.995584 -4237 11 Memory 0.001888 -4238 3 Compute properties 0.20048 -4239 10 setActiveGrpsFunc 0.068416 -4240 4 Approximation 0.157568 -4241 8 Correct 0.025024 -4242 7 Energy 0.04832 -4243 9 Predict 0.143968 -4244 0 Sorting 3.23421 -4245 1 Data reordering 0.165184 -4246 2 Tree-construction 0.89248 -4247 11 Memory 0.001888 -4248 3 Compute properties 0.187008 -4249 10 setActiveGrpsFunc 0.067584 -4250 4 Approximation 0.157888 -4251 8 Correct 0.025184 -4252 7 Energy 0.047968 -4253 9 Predict 0.144512 -4254 0 Sorting 3.77597 -4255 1 Data reordering 0.165984 -4256 2 Tree-construction 0.92928 -4257 11 Memory 0.00192 -4258 3 Compute properties 0.197568 -4259 10 setActiveGrpsFunc 0.068128 -4260 4 Approximation 0.154752 -4261 8 Correct 0.025216 -4262 7 Energy 0.04896 -4263 9 Predict 0.145152 -4264 0 Sorting 3.24707 -4265 1 Data reordering 0.164992 -4266 2 Tree-construction 0.886112 -4267 11 Memory 0.00192 -4268 3 Compute properties 0.195808 -4269 10 setActiveGrpsFunc 0.067648 -4270 4 Approximation 0.154464 -4271 8 Correct 0.025056 -4272 7 Energy 0.048192 -4273 9 Predict 0.144192 -4274 0 Sorting 3.33376 -4275 1 Data reordering 0.165376 -4276 2 Tree-construction 0.887872 -4277 11 Memory 0.00192 -4278 3 Compute properties 0.195136 -4279 10 setActiveGrpsFunc 0.067968 -4280 4 Approximation 0.155712 -4281 8 Correct 0.025248 -4282 7 Energy 0.048448 -4283 9 Predict 0.143648 -4284 0 Sorting 3.24922 -4285 1 Data reordering 0.164608 -4286 2 Tree-construction 0.886592 -4287 11 Memory 0.001888 -4288 3 Compute properties 0.197056 -4289 10 setActiveGrpsFunc 0.068384 -4290 4 Approximation 0.153888 -4291 8 Correct 0.025376 -4292 7 Energy 0.048128 -4293 9 Predict 0.14432 -4294 0 Sorting 3.31882 -4295 1 Data reordering 0.17536 -4296 2 Tree-construction 0.88672 -4297 11 Memory 0.001888 -4298 3 Compute properties 0.188864 -4299 10 setActiveGrpsFunc 0.06768 -4300 4 Approximation 0.154048 -4301 8 Correct 0.025088 -4302 7 Energy 0.04784 -4303 9 Predict 0.144352 -4304 0 Sorting 3.23914 -4305 1 Data reordering 0.16432 -4306 2 Tree-construction 0.885184 -4307 11 Memory 0.001888 -4308 3 Compute properties 0.19776 -4309 10 setActiveGrpsFunc 0.06832 -4310 4 Approximation 0.164768 -4311 8 Correct 0.02528 -4312 7 Energy 0.048352 -4313 9 Predict 0.17008 -4314 0 Sorting 3.33795 -4315 1 Data reordering 0.1656 -4316 2 Tree-construction 0.887936 -4317 11 Memory 0.001888 -4318 3 Compute properties 0.187968 -4319 10 setActiveGrpsFunc 0.067744 -4320 4 Approximation 0.15632 -4321 8 Correct 0.02512 -4322 7 Energy 0.04832 -4323 9 Predict 0.144352 -4324 0 Sorting 3.24733 -4325 1 Data reordering 0.164672 -4326 2 Tree-construction 0.884896 -4327 11 Memory 0.001888 -4328 3 Compute properties 0.198752 -4329 10 setActiveGrpsFunc 0.068192 -4330 4 Approximation 0.153824 -4331 8 Correct 0.025024 -4332 7 Energy 0.048672 -4333 9 Predict 0.14448 -4334 0 Sorting 3.33549 -4335 1 Data reordering 0.164768 -4336 2 Tree-construction 0.88832 -4337 11 Memory 0.00192 -4338 3 Compute properties 0.196736 -4339 10 setActiveGrpsFunc 0.068256 -4340 4 Approximation 0.15536 -4341 8 Correct 0.025248 -4342 7 Energy 0.048544 -4343 9 Predict 0.144256 -4344 0 Sorting 3.25133 -4345 1 Data reordering 0.165056 -4346 2 Tree-construction 0.885632 -4347 11 Memory 0.001888 -4348 3 Compute properties 0.188448 -4349 10 setActiveGrpsFunc 0.072512 -4350 4 Approximation 0.156864 -4351 8 Correct 0.02512 -4352 7 Energy 0.048448 -4353 9 Predict 0.144288 -4354 0 Sorting 3.34467 -4355 1 Data reordering 0.165088 -4356 2 Tree-construction 0.896032 -4357 11 Memory 0.00192 -4358 3 Compute properties 0.189024 -4359 10 setActiveGrpsFunc 0.06752 -4360 4 Approximation 0.156992 -4361 8 Correct 0.025088 -4362 7 Energy 0.04832 -4363 9 Predict 0.14416 -4364 0 Sorting 3.24278 -4365 1 Data reordering 0.164128 -4366 2 Tree-construction 0.886304 -4367 11 Memory 0.00192 -4368 3 Compute properties 0.189216 -4369 10 setActiveGrpsFunc 0.067552 -4370 4 Approximation 0.157632 -4371 8 Correct 0.025088 -4372 7 Energy 0.048576 -4373 9 Predict 0.14368 -4374 0 Sorting 3.33962 -4375 1 Data reordering 0.165216 -4376 2 Tree-construction 0.887584 -4377 11 Memory 0.001888 -4378 3 Compute properties 0.188864 -4379 10 setActiveGrpsFunc 0.067648 -4380 4 Approximation 0.157696 -4381 8 Correct 0.02528 -4382 7 Energy 0.048384 -4383 9 Predict 0.144288 -4384 0 Sorting 3.2367 -4385 1 Data reordering 0.164288 -4386 2 Tree-construction 0.89344 -4387 11 Memory 0.001888 -4388 3 Compute properties 0.19008 -4389 10 setActiveGrpsFunc 0.067648 -4390 4 Approximation 0.157664 -4391 8 Correct 0.025088 -4392 7 Energy 0.048192 -4393 9 Predict 0.178848 -4394 0 Sorting 3.43558 -4395 1 Data reordering 0.22864 -4396 2 Tree-construction 1.18893 -4397 11 Memory 0.001888 -4398 3 Compute properties 0.232864 -4399 10 setActiveGrpsFunc 0.069856 -4400 4 Approximation 0.158112 -4401 8 Correct 0.025408 -4402 7 Energy 0.048608 -4403 9 Predict 0.146048 -4404 0 Sorting 3.24352 -4405 1 Data reordering 0.164896 -4406 2 Tree-construction 0.928736 -4407 11 Memory 0.001888 -4408 3 Compute properties 0.196896 -4409 10 setActiveGrpsFunc 0.06768 -4410 4 Approximation 0.159488 -4411 8 Correct 0.025312 -4412 7 Energy 0.048672 -4413 9 Predict 0.144512 -4414 0 Sorting 3.24554 -4415 1 Data reordering 0.165056 -4416 2 Tree-construction 0.88528 -4417 11 Memory 0.001888 -4418 3 Compute properties 0.196416 -4419 10 setActiveGrpsFunc 0.067712 -4420 4 Approximation 0.157088 -4421 8 Correct 0.025024 -4422 7 Energy 0.047936 -4423 9 Predict 0.144032 -4424 0 Sorting 3.24634 -4425 1 Data reordering 0.164224 -4426 2 Tree-construction 0.964672 -4427 11 Memory 0.001888 -4428 3 Compute properties 0.189344 -4429 10 setActiveGrpsFunc 0.067584 -4430 4 Approximation 0.15728 -4431 8 Correct 0.02496 -4432 7 Energy 0.048736 -4433 9 Predict 0.144032 -4434 0 Sorting 3.24432 -4435 1 Data reordering 0.164928 -4436 2 Tree-construction 0.88592 -4437 11 Memory 0.00192 -4438 3 Compute properties 0.188256 -4439 10 setActiveGrpsFunc 0.06768 -4440 4 Approximation 0.157984 -4441 8 Correct 0.025248 -4442 7 Energy 0.048064 -4443 9 Predict 0.144416 -4444 0 Sorting 3.24067 -4445 1 Data reordering 0.22336 -4446 2 Tree-construction 0.92672 -4447 11 Memory 0.001888 -4448 3 Compute properties 0.202656 -4449 10 setActiveGrpsFunc 0.069056 -4450 4 Approximation 0.15664 -4451 8 Correct 0.025056 -4452 7 Energy 0.048672 -4453 9 Predict 0.144448 -4454 0 Sorting 3.23373 -4455 1 Data reordering 0.164736 -4456 2 Tree-construction 0.886976 -4457 11 Memory 0.00192 -4458 3 Compute properties 0.198208 -4459 10 setActiveGrpsFunc 0.068032 -4460 4 Approximation 0.157792 -4461 8 Correct 0.02496 -4462 7 Energy 0.047808 -4463 9 Predict 0.143968 -4464 0 Sorting 3.29821 -4465 1 Data reordering 0.165696 -4466 2 Tree-construction 0.890784 -4467 11 Memory 0.001888 -4468 3 Compute properties 0.198272 -4469 10 setActiveGrpsFunc 0.068288 -4470 4 Approximation 0.156704 -4471 8 Correct 0.025216 -4472 7 Energy 0.048576 -4473 9 Predict 0.143968 -4474 0 Sorting 3.23946 -4475 1 Data reordering 0.164896 -4476 2 Tree-construction 0.887232 -4477 11 Memory 0.001888 -4478 3 Compute properties 0.197824 -4479 10 setActiveGrpsFunc 0.067744 -4480 4 Approximation 0.156256 -4481 8 Correct 0.025088 -4482 7 Energy 0.048096 -4483 9 Predict 0.143552 -4484 0 Sorting 3.35043 -4485 1 Data reordering 0.165568 -4486 2 Tree-construction 0.895584 -4487 11 Memory 0.00192 -4488 3 Compute properties 0.195584 -4489 10 setActiveGrpsFunc 0.068096 -4490 4 Approximation 0.157152 -4491 8 Correct 0.02512 -4492 7 Energy 0.04864 -4493 9 Predict 0.143872 -4494 0 Sorting 3.22832 -4495 1 Data reordering 0.174112 -4496 2 Tree-construction 0.886208 -4497 11 Memory 0.00192 -4498 3 Compute properties 0.188608 -4499 10 setActiveGrpsFunc 0.067872 -4500 4 Approximation 0.156768 -4501 8 Correct 0.025312 -4502 7 Energy 0.047808 -4503 9 Predict 0.144416 -4504 0 Sorting 3.30112 -4505 1 Data reordering 0.16464 -4506 2 Tree-construction 0.887008 -4507 11 Memory 0.001888 -4508 3 Compute properties 0.187136 -4509 10 setActiveGrpsFunc 0.067648 -4510 4 Approximation 0.157376 -4511 8 Correct 0.024992 -4512 7 Energy 0.050592 -4513 9 Predict 0.144448 -4514 0 Sorting 3.23811 -4515 1 Data reordering 0.164544 -4516 2 Tree-construction 0.887456 -4517 11 Memory 0.00192 -4518 3 Compute properties 0.1888 -4519 10 setActiveGrpsFunc 0.067744 -4520 4 Approximation 0.156928 -4521 8 Correct 0.025152 -4522 7 Energy 0.04816 -4523 9 Predict 0.14384 -4524 0 Sorting 3.30173 -4525 1 Data reordering 0.165024 -4526 2 Tree-construction 0.957248 -4527 11 Memory 0.001888 -4528 3 Compute properties 0.215616 -4529 10 setActiveGrpsFunc 0.067584 -4530 4 Approximation 0.16672 -4531 8 Correct 0.02512 -4532 7 Energy 0.048416 -4533 9 Predict 0.144448 -4534 0 Sorting 3.24451 -4535 1 Data reordering 0.16448 -4536 2 Tree-construction 0.887232 -4537 11 Memory 0.001888 -4538 3 Compute properties 0.196832 -4539 10 setActiveGrpsFunc 0.067712 -4540 4 Approximation 0.153408 -4541 8 Correct 0.025024 -4542 7 Energy 0.048032 -4543 9 Predict 0.150112 -4544 0 Sorting 3.2873 -4545 1 Data reordering 0.16512 -4546 2 Tree-construction 0.887904 -4547 11 Memory 0.001888 -4548 3 Compute properties 0.189344 -4549 10 setActiveGrpsFunc 0.069088 -4550 4 Approximation 0.154208 -4551 8 Correct 0.025088 -4552 7 Energy 0.048416 -4553 9 Predict 0.14464 -4554 0 Sorting 3.24883 -4555 1 Data reordering 0.164768 -4556 2 Tree-construction 0.890976 -4557 11 Memory 0.00192 -4558 3 Compute properties 0.197824 -4559 10 setActiveGrpsFunc 0.067904 -4560 4 Approximation 0.155712 -4561 8 Correct 0.025184 -4562 7 Energy 0.048384 -4563 9 Predict 0.144672 -4564 0 Sorting 3.45987 -4565 1 Data reordering 0.165984 -4566 2 Tree-construction 0.891104 -4567 11 Memory 0.001888 -4568 3 Compute properties 0.1968 -4569 10 setActiveGrpsFunc 0.06768 -4570 4 Approximation 0.160128 -4571 8 Correct 0.025248 -4572 7 Energy 0.048448 -4573 9 Predict 0.144256 -4574 0 Sorting 3.24986 -4575 1 Data reordering 0.163872 -4576 2 Tree-construction 0.88768 -4577 11 Memory 0.00192 -4578 3 Compute properties 0.19792 -4579 10 setActiveGrpsFunc 0.067936 -4580 4 Approximation 0.158592 -4581 8 Correct 0.025312 -4582 7 Energy 0.048192 -4583 9 Predict 0.14432 -4584 0 Sorting 3.31424 -4585 1 Data reordering 0.165568 -4586 2 Tree-construction 0.8952 -4587 11 Memory 0.001888 -4588 3 Compute properties 0.197312 -4589 10 setActiveGrpsFunc 0.068224 -4590 4 Approximation 0.158848 -4591 8 Correct 0.025056 -4592 7 Energy 0.048192 -4593 9 Predict 0.143936 -4594 0 Sorting 3.24672 -4595 1 Data reordering 0.164192 -4596 2 Tree-construction 0.887584 -4597 11 Memory 0.00192 -4598 3 Compute properties 0.197408 -4599 10 setActiveGrpsFunc 0.068032 -4600 4 Approximation 0.159488 -4601 8 Correct 0.025216 -4602 7 Energy 0.048608 -4603 9 Predict 0.143968 -4604 0 Sorting 3.33082 -4605 1 Data reordering 0.165632 -4606 2 Tree-construction 0.890304 -4607 11 Memory 0.001888 -4608 3 Compute properties 0.197952 -4609 10 setActiveGrpsFunc 0.067776 -4610 4 Approximation 0.158496 -4611 8 Correct 0.025056 -4612 7 Energy 0.048288 -4613 9 Predict 0.144 -4614 0 Sorting 3.25274 -4615 1 Data reordering 0.16464 -4616 2 Tree-construction 0.888096 -4617 11 Memory 0.001888 -4618 3 Compute properties 0.195744 -4619 10 setActiveGrpsFunc 0.068032 -4620 4 Approximation 0.171808 -4621 8 Correct 0.032896 -4622 7 Energy 0.051296 -4623 9 Predict 0.144864 -4624 0 Sorting 3.27411 -4625 1 Data reordering 0.165696 -4626 2 Tree-construction 1.06835 -4627 11 Memory 0.00192 -4628 3 Compute properties 0.264288 -4629 10 setActiveGrpsFunc 0.089536 -4630 4 Approximation 0.180896 -4631 8 Correct 0.033472 -4632 7 Energy 0.067584 -4633 9 Predict 0.19232 -4634 0 Sorting 3.37456 -4635 1 Data reordering 0.166048 -4636 2 Tree-construction 0.97312 -4637 11 Memory 0.001888 -4638 3 Compute properties 0.221984 -4639 10 setActiveGrpsFunc 0.068768 -4640 4 Approximation 0.159904 -4641 8 Correct 0.025472 -4642 7 Energy 0.048 -4643 9 Predict 0.144512 -4644 0 Sorting 3.23885 -4645 1 Data reordering 0.164992 -4646 2 Tree-construction 0.894016 -4647 11 Memory 0.001888 -4648 3 Compute properties 0.186784 -4649 10 setActiveGrpsFunc 0.06752 -4650 4 Approximation 0.159936 -4651 8 Correct 0.025248 -4652 7 Energy 0.048 -4653 9 Predict 0.144064 -4654 0 Sorting 3.23875 -4655 1 Data reordering 0.2032 -4656 2 Tree-construction 0.973504 -4657 11 Memory 0.001888 -4658 3 Compute properties 0.187424 -4659 10 setActiveGrpsFunc 0.068096 -4660 4 Approximation 0.16 -4661 8 Correct 0.025152 -4662 7 Energy 0.048192 -4663 9 Predict 0.144032 -4664 0 Sorting 3.30346 -4665 1 Data reordering 0.165568 -4666 2 Tree-construction 0.887424 -4667 11 Memory 0.001888 -4668 3 Compute properties 0.187392 -4669 10 setActiveGrpsFunc 0.067968 -4670 4 Approximation 0.15904 -4671 8 Correct 0.025216 -4672 7 Energy 0.048064 -4673 9 Predict 0.144064 -4674 0 Sorting 3.30221 -4675 1 Data reordering 0.185536 -4676 2 Tree-construction 0.911616 -4677 11 Memory 0.00192 -4678 3 Compute properties 0.188384 -4679 10 setActiveGrpsFunc 0.067584 -4680 4 Approximation 0.160128 -4681 8 Correct 0.02528 -4682 7 Energy 0.048256 -4683 9 Predict 0.144448 -4684 0 Sorting 3.24765 -4685 1 Data reordering 0.165152 -4686 2 Tree-construction 0.885536 -4687 11 Memory 0.001888 -4688 3 Compute properties 0.18832 -4689 10 setActiveGrpsFunc 0.0672 -4690 4 Approximation 0.160128 -4691 8 Correct 0.025152 -4692 7 Energy 0.047872 -4693 9 Predict 0.14464 -4694 0 Sorting 3.3185 -4695 1 Data reordering 0.192992 -4696 2 Tree-construction 0.890688 -4697 11 Memory 0.00192 -4698 3 Compute properties 0.186112 -4699 10 setActiveGrpsFunc 0.067872 -4700 4 Approximation 0.158944 -4701 8 Correct 0.025248 -4702 7 Energy 0.049184 -4703 9 Predict 0.144288 -4704 0 Sorting 3.23757 -4705 1 Data reordering 0.165376 -4706 2 Tree-construction 0.884768 -4707 11 Memory 0.00192 -4708 3 Compute properties 0.18576 -4709 10 setActiveGrpsFunc 0.067744 -4710 4 Approximation 0.15856 -4711 8 Correct 0.025184 -4712 7 Energy 0.04816 -4713 9 Predict 0.14512 -4714 0 Sorting 3.32723 -4715 1 Data reordering 0.165184 -4716 2 Tree-construction 0.885536 -4717 11 Memory 0.001888 -4718 3 Compute properties 0.185888 -4719 10 setActiveGrpsFunc 0.067584 -4720 4 Approximation 0.158656 -4721 8 Correct 0.025024 -4722 7 Energy 0.048192 -4723 9 Predict 0.143552 -4724 0 Sorting 3.23898 -4725 1 Data reordering 0.164192 -4726 2 Tree-construction 0.894944 -4727 11 Memory 0.001888 -4728 3 Compute properties 0.187712 -4729 10 setActiveGrpsFunc 0.06768 -4730 4 Approximation 0.158816 -4731 8 Correct 0.025376 -4732 7 Energy 0.048288 -4733 9 Predict 0.143552 -4734 0 Sorting 3.32829 -4735 1 Data reordering 0.165568 -4736 2 Tree-construction 0.885472 -4737 11 Memory 0.001888 -4738 3 Compute properties 0.186592 -4739 10 setActiveGrpsFunc 0.06752 -4740 4 Approximation 0.158368 -4741 8 Correct 0.025184 -4742 7 Energy 0.048832 -4743 9 Predict 0.152384 -4744 0 Sorting 3.23232 -4745 1 Data reordering 0.164352 -4746 2 Tree-construction 0.885696 -4747 11 Memory 0.001888 -4748 3 Compute properties 0.187328 -4749 10 setActiveGrpsFunc 0.067744 -4750 4 Approximation 0.158528 -4751 8 Correct 0.025216 -4752 7 Energy 0.048288 -4753 9 Predict 0.144032 -4754 0 Sorting 3.33782 -4755 1 Data reordering 0.16592 -4756 2 Tree-construction 0.8872 -4757 11 Memory 0.001888 -4758 3 Compute properties 0.186112 -4759 10 setActiveGrpsFunc 0.067648 -4760 4 Approximation 0.158816 -4761 8 Correct 0.025056 -4762 7 Energy 0.048288 -4763 9 Predict 0.143872 -4764 0 Sorting 3.24784 -4765 1 Data reordering 0.164896 -4766 2 Tree-construction 0.884448 -4767 11 Memory 0.001888 -4768 3 Compute properties 0.186208 -4769 10 setActiveGrpsFunc 0.067936 -4770 4 Approximation 0.158688 -4771 8 Correct 0.025152 -4772 7 Energy 0.047872 -4773 9 Predict 0.144544 -4774 0 Sorting 3.33174 -4775 1 Data reordering 0.165504 -4776 2 Tree-construction 0.88624 -4777 11 Memory 0.00192 -4778 3 Compute properties 0.18576 -4779 10 setActiveGrpsFunc 0.067776 -4780 4 Approximation 0.157248 -4781 8 Correct 0.02512 -4782 7 Energy 0.048416 -4783 9 Predict 0.144384 -4784 0 Sorting 3.24563 -4785 1 Data reordering 0.164832 -4786 2 Tree-construction 0.892992 -4787 11 Memory 0.001888 -4788 3 Compute properties 0.1856 -4789 10 setActiveGrpsFunc 0.067904 -4790 4 Approximation 0.157472 -4791 8 Correct 0.02528 -4792 7 Energy 0.048416 -4793 9 Predict 0.144416 -4794 0 Sorting 3.29773 -4795 1 Data reordering 0.165248 -4796 2 Tree-construction 0.884768 -4797 11 Memory 0.00192 -4798 3 Compute properties 0.186304 -4799 10 setActiveGrpsFunc 0.067552 -4800 4 Approximation 0.157088 -4801 8 Correct 0.025216 -4802 7 Energy 0.048 -4803 9 Predict 0.143968 -4804 0 Sorting 3.24266 -4805 1 Data reordering 0.16464 -4806 2 Tree-construction 0.884512 -4807 11 Memory 0.00192 -4808 3 Compute properties 0.186976 -4809 10 setActiveGrpsFunc 0.067904 -4810 4 Approximation 0.15872 -4811 8 Correct 0.024992 -4812 7 Energy 0.047904 -4813 9 Predict 0.14384 -4814 0 Sorting 3.3135 -4815 1 Data reordering 0.164768 -4816 2 Tree-construction 0.884512 -4817 11 Memory 0.001888 -4818 3 Compute properties 0.187136 -4819 10 setActiveGrpsFunc 0.067744 -4820 4 Approximation 0.158848 -4821 8 Correct 0.025376 -4822 7 Energy 0.048416 -4823 9 Predict 0.144416 -4824 0 Sorting 3.248 -4825 1 Data reordering 0.164576 -4826 2 Tree-construction 0.89312 -4827 11 Memory 0.001888 -4828 3 Compute properties 0.188128 -4829 10 setActiveGrpsFunc 0.067744 -4830 4 Approximation 0.158784 -4831 8 Correct 0.02512 -4832 7 Energy 0.04816 -4833 9 Predict 0.203136 -4834 0 Sorting 3.25466 -4835 1 Data reordering 0.16496 -4836 2 Tree-construction 0.885824 -4837 11 Memory 0.00192 -4838 3 Compute properties 0.187904 -4839 10 setActiveGrpsFunc 0.067648 -4840 4 Approximation 0.16032 -4841 8 Correct 0.025152 -4842 7 Energy 0.048608 -4843 9 Predict 0.143936 -4844 0 Sorting 3.24189 -4845 1 Data reordering 0.164896 -4846 2 Tree-construction 0.893312 -4847 11 Memory 0.00192 -4848 3 Compute properties 0.18768 -4849 10 setActiveGrpsFunc 0.102112 -4850 4 Approximation 0.177056 -4851 8 Correct 0.0256 -4852 7 Energy 0.048928 -4853 9 Predict 0.144896 -4854 0 Sorting 3.23974 -4855 1 Data reordering 0.229408 -4856 2 Tree-construction 1.18758 -4857 11 Memory 0.00192 -4858 3 Compute properties 0.252096 -4859 10 setActiveGrpsFunc 0.090304 -4860 4 Approximation 0.180704 -4861 8 Correct 0.03392 -4862 7 Energy 0.065152 -4863 9 Predict 0.147424 -4864 0 Sorting 3.24442 -4865 1 Data reordering 0.165056 -4866 2 Tree-construction 0.970464 -4867 11 Memory 0.001888 -4868 3 Compute properties 0.187232 -4869 10 setActiveGrpsFunc 0.067904 -4870 4 Approximation 0.160128 -4871 8 Correct 0.025216 -4872 7 Energy 0.048576 -4873 9 Predict 0.144224 -4874 0 Sorting 3.24595 -4875 1 Data reordering 0.164512 -4876 2 Tree-construction 0.885056 -4877 11 Memory 0.001888 -4878 3 Compute properties 0.187072 -4879 10 setActiveGrpsFunc 0.067296 -4880 4 Approximation 0.158752 -4881 8 Correct 0.025024 -4882 7 Energy 0.047904 -4883 9 Predict 0.143648 -4884 0 Sorting 3.24598 -4885 1 Data reordering 0.224704 -4886 2 Tree-construction 0.888384 -4887 11 Memory 0.00192 -4888 3 Compute properties 0.187712 -4889 10 setActiveGrpsFunc 0.068224 -4890 4 Approximation 0.158624 -4891 8 Correct 0.025152 -4892 7 Energy 0.048576 -4893 9 Predict 0.144736 -4894 0 Sorting 3.23427 -4895 1 Data reordering 0.164576 -4896 2 Tree-construction 0.88656 -4897 11 Memory 0.001888 -4898 3 Compute properties 0.188352 -4899 10 setActiveGrpsFunc 0.067648 -4900 4 Approximation 0.158336 -4901 8 Correct 0.025344 -4902 7 Energy 0.048512 -4903 9 Predict 0.14352 -4904 0 Sorting 3.29549 -4905 1 Data reordering 0.164736 -4906 2 Tree-construction 0.888192 -4907 11 Memory 0.00192 -4908 3 Compute properties 0.196832 -4909 10 setActiveGrpsFunc 0.067552 -4910 4 Approximation 0.15824 -4911 8 Correct 0.025216 -4912 7 Energy 0.048416 -4913 9 Predict 0.143936 -4914 0 Sorting 3.23891 -4915 1 Data reordering 0.16432 -4916 2 Tree-construction 0.885184 -4917 11 Memory 0.001888 -4918 3 Compute properties 0.187232 -4919 10 setActiveGrpsFunc 0.0672 -4920 4 Approximation 0.157888 -4921 8 Correct 0.025216 -4922 7 Energy 0.04784 -4923 9 Predict 0.14336 -4924 0 Sorting 3.32096 -4925 1 Data reordering 0.165728 -4926 2 Tree-construction 0.916736 -4927 11 Memory 0.00192 -4928 3 Compute properties 0.187616 -4929 10 setActiveGrpsFunc 0.067808 -4930 4 Approximation 0.158432 -4931 8 Correct 0.025408 -4932 7 Energy 0.048832 -4933 9 Predict 0.143968 -4934 0 Sorting 3.24054 -4935 1 Data reordering 0.164736 -4936 2 Tree-construction 0.887328 -4937 11 Memory 0.001888 -4938 3 Compute properties 0.18672 -4939 10 setActiveGrpsFunc 0.067488 -4940 4 Approximation 0.158528 -4941 8 Correct 0.02512 -4942 7 Energy 0.048128 -4943 9 Predict 0.144032 -4944 0 Sorting 3.29834 -4945 1 Data reordering 0.16544 -4946 2 Tree-construction 0.888832 -4947 11 Memory 0.001888 -4948 3 Compute properties 0.185696 -4949 10 setActiveGrpsFunc 0.067456 -4950 4 Approximation 0.1576 -4951 8 Correct 0.025024 -4952 7 Energy 0.048128 -4953 9 Predict 0.14464 -4954 0 Sorting 3.24704 -4955 1 Data reordering 0.164288 -4956 2 Tree-construction 0.886848 -4957 11 Memory 0.001888 -4958 3 Compute properties 0.187936 -4959 10 setActiveGrpsFunc 0.067296 -4960 4 Approximation 0.157856 -4961 8 Correct 0.02512 -4962 7 Energy 0.04784 -4963 9 Predict 0.14448 -4964 0 Sorting 3.3953 -4965 1 Data reordering 0.165568 -4966 2 Tree-construction 0.888608 -4967 11 Memory 0.00192 -4968 3 Compute properties 0.199296 -4969 10 setActiveGrpsFunc 0.067968 -4970 4 Approximation 0.155168 -4971 8 Correct 0.025216 -4972 7 Energy 0.048384 -4973 9 Predict 0.144384 -4974 0 Sorting 3.24326 -4975 1 Data reordering 0.164288 -4976 2 Tree-construction 0.887776 -4977 11 Memory 0.001888 -4978 3 Compute properties 0.189024 -4979 10 setActiveGrpsFunc 0.067328 -4980 4 Approximation 0.159904 -4981 8 Correct 0.025216 -4982 7 Energy 0.048192 -4983 9 Predict 0.143488 -4984 0 Sorting 3.32534 -4985 1 Data reordering 0.165312 -4986 2 Tree-construction 0.897184 -4987 11 Memory 0.001888 -4988 3 Compute properties 0.188576 -4989 10 setActiveGrpsFunc 0.067744 -4990 4 Approximation 0.159904 -4991 8 Correct 0.02512 -4992 7 Energy 0.048288 -4993 9 Predict 0.144416 -4994 0 Sorting 3.23584 -4995 1 Data reordering 0.16496 -4996 2 Tree-construction 0.886688 -4997 11 Memory 0.00192 -4998 3 Compute properties 0.189888 -4999 10 setActiveGrpsFunc 0.067936 -5000 4 Approximation 0.160064 -5001 8 Correct 0.02528 -5002 7 Energy 0.048192 -5003 9 Predict 0.144608 -5004 0 Sorting 3.34794 -5005 1 Data reordering 0.164864 -5006 2 Tree-construction 0.887616 -5007 11 Memory 0.00192 -5008 3 Compute properties 0.197376 -5009 10 setActiveGrpsFunc 0.067456 -5010 4 Approximation 0.156896 -5011 8 Correct 0.02512 -5012 7 Energy 0.048896 -5013 9 Predict 0.14496 -5014 0 Sorting 3.24173 -5015 1 Data reordering 0.16448 -5016 2 Tree-construction 0.938912 -5017 11 Memory 0.00192 -5018 3 Compute properties 0.265824 -5019 10 setActiveGrpsFunc 0.0904 -5020 4 Approximation 0.181024 -5021 8 Correct 0.033792 -5022 7 Energy 0.067008 -5023 9 Predict 0.190304 -5024 0 Sorting 3.54074 -5025 1 Data reordering 0.166464 -5026 2 Tree-construction 0.891168 -5027 11 Memory 0.00192 -5028 3 Compute properties 0.189664 -5029 10 setActiveGrpsFunc 0.068288 -5030 4 Approximation 0.1592 -5031 8 Correct 0.025344 -5032 7 Energy 0.04864 -5033 9 Predict 0.144352 -5034 0 Sorting 3.23667 -5035 1 Data reordering 0.174048 -5036 2 Tree-construction 0.888576 -5037 11 Memory 0.001888 -5038 3 Compute properties 0.197536 -5039 10 setActiveGrpsFunc 0.06752 -5040 4 Approximation 0.1832 -5041 8 Correct 0.033952 -5042 7 Energy 0.057984 -5043 9 Predict 0.146304 -5044 0 Sorting 3.26954 -5045 1 Data reordering 0.165344 -5046 2 Tree-construction 0.888736 -5047 11 Memory 0.00192 -5048 3 Compute properties 0.200448 -5049 10 setActiveGrpsFunc 0.067936 -5050 4 Approximation 0.159872 -5051 8 Correct 0.02512 -5052 7 Energy 0.04832 -5053 9 Predict 0.144128 -5054 0 Sorting 3.23411 -5055 1 Data reordering 0.164608 -5056 2 Tree-construction 0.887392 -5057 11 Memory 0.00192 -5058 3 Compute properties 0.277152 -5059 10 setActiveGrpsFunc 0.074464 -5060 4 Approximation 0.15936 -5061 8 Correct 0.025344 -5062 7 Energy 0.06496 -5063 9 Predict 0.146048 -5064 0 Sorting 3.2641 -5065 1 Data reordering 0.1688 -5066 2 Tree-construction 0.890304 -5067 11 Memory 0.001888 -5068 3 Compute properties 0.188416 -5069 10 setActiveGrpsFunc 0.06736 -5070 4 Approximation 0.158464 -5071 8 Correct 0.025216 -5072 7 Energy 0.048032 -5073 9 Predict 0.143776 -5074 0 Sorting 3.24099 -5075 1 Data reordering 0.164736 -5076 2 Tree-construction 1.02838 -5077 11 Memory 0.001888 -5078 3 Compute properties 0.215808 -5079 10 setActiveGrpsFunc 0.070016 -5080 4 Approximation 0.160416 -5081 8 Correct 0.025184 -5082 7 Energy 0.048256 -5083 9 Predict 0.144832 -5084 0 Sorting 3.35834 -5085 1 Data reordering 0.165056 -5086 2 Tree-construction 1.01062 -5087 11 Memory 0.00192 -5088 3 Compute properties 0.240672 -5089 10 setActiveGrpsFunc 0.074368 -5090 4 Approximation 0.190848 -5091 8 Correct 0.025952 -5092 7 Energy 0.052288 -5093 9 Predict 0.164704 -5094 0 Sorting 3.54896 -5095 1 Data reordering 0.186176 -5096 2 Tree-construction 0.90528 -5097 11 Memory 0.001888 -5098 3 Compute properties 0.189312 -5099 10 setActiveGrpsFunc 0.067904 -5100 4 Approximation 0.159008 -5101 8 Correct 0.025312 -5102 7 Energy 0.04832 -5103 9 Predict 0.144736 -5104 0 Sorting 3.25158 -5105 1 Data reordering 0.164896 -5106 2 Tree-construction 0.8864 -5107 11 Memory 0.001888 -5108 3 Compute properties 0.187552 -5109 10 setActiveGrpsFunc 0.06752 -5110 4 Approximation 0.158624 -5111 8 Correct 0.025312 -5112 7 Energy 0.048064 -5113 9 Predict 0.14432 -5114 0 Sorting 3.33811 -5115 1 Data reordering 0.165152 -5116 2 Tree-construction 0.88816 -5117 11 Memory 0.00192 -5118 3 Compute properties 0.199584 -5119 10 setActiveGrpsFunc 0.068256 -5120 4 Approximation 0.160224 -5121 8 Correct 0.025152 -5122 7 Energy 0.048064 -5123 9 Predict 0.144128 -5124 0 Sorting 3.2313 -5125 1 Data reordering 0.164896 -5126 2 Tree-construction 0.898592 -5127 11 Memory 0.001888 -5128 3 Compute properties 0.187712 -5129 10 setActiveGrpsFunc 0.06752 -5130 4 Approximation 0.16144 -5131 8 Correct 0.025152 -5132 7 Energy 0.048384 -5133 9 Predict 0.144928 -5134 0 Sorting 3.32198 -5135 1 Data reordering 0.166336 -5136 2 Tree-construction 0.886304 -5137 11 Memory 0.001888 -5138 3 Compute properties 0.187424 -5139 10 setActiveGrpsFunc 0.06784 -5140 4 Approximation 0.160032 -5141 8 Correct 0.025088 -5142 7 Energy 0.048192 -5143 9 Predict 0.14416 -5144 0 Sorting 3.24915 -5145 1 Data reordering 0.164288 -5146 2 Tree-construction 0.88752 -5147 11 Memory 0.001888 -5148 3 Compute properties 0.186176 -5149 10 setActiveGrpsFunc 0.067328 -5150 4 Approximation 0.159808 -5151 8 Correct 0.025056 -5152 7 Energy 0.048128 -5153 9 Predict 0.144448 -5154 0 Sorting 3.34246 -5155 1 Data reordering 0.165664 -5156 2 Tree-construction 0.88864 -5157 11 Memory 0.00192 -5158 3 Compute properties 0.186592 -5159 10 setActiveGrpsFunc 0.06784 -5160 4 Approximation 0.160096 -5161 8 Correct 0.025408 -5162 7 Energy 0.048128 -5163 9 Predict 0.146144 -5164 0 Sorting 3.25158 -5165 1 Data reordering 0.165312 -5166 2 Tree-construction 0.887936 -5167 11 Memory 0.001888 -5168 3 Compute properties 0.185376 -5169 10 setActiveGrpsFunc 0.067456 -5170 4 Approximation 0.160032 -5171 8 Correct 0.02528 -5172 7 Energy 0.048672 -5173 9 Predict 0.149504 -5174 0 Sorting 3.32666 -5175 1 Data reordering 0.165472 -5176 2 Tree-construction 0.889312 -5177 11 Memory 0.00192 -5178 3 Compute properties 0.185376 -5179 10 setActiveGrpsFunc 0.067424 -5180 4 Approximation 0.160224 -5181 8 Correct 0.025024 -5182 7 Energy 0.04848 -5183 9 Predict 0.144576 -5184 0 Sorting 3.23382 -5185 1 Data reordering 0.16464 -5186 2 Tree-construction 0.896192 -5187 11 Memory 0.001888 -5188 3 Compute properties 0.186336 -5189 10 setActiveGrpsFunc 0.067936 -5190 4 Approximation 0.159872 -5191 8 Correct 0.025024 -5192 7 Energy 0.048064 -5193 9 Predict 0.144672 -5194 0 Sorting 3.29939 -5195 1 Data reordering 0.165888 -5196 2 Tree-construction 0.887008 -5197 11 Memory 0.001888 -5198 3 Compute properties 0.186432 -5199 10 setActiveGrpsFunc 0.06752 -5200 4 Approximation 0.159712 -5201 8 Correct 0.025344 -5202 7 Energy 0.048096 -5203 9 Predict 0.144256 -5204 0 Sorting 3.24672 -5205 1 Data reordering 0.164704 -5206 2 Tree-construction 0.887648 -5207 11 Memory 0.001888 -5208 3 Compute properties 0.186944 -5209 10 setActiveGrpsFunc 0.067456 -5210 4 Approximation 0.159904 -5211 8 Correct 0.025216 -5212 7 Energy 0.048224 -5213 9 Predict 0.14496 -5214 0 Sorting 3.31789 -5215 1 Data reordering 0.164992 -5216 2 Tree-construction 0.887168 -5217 11 Memory 0.001888 -5218 3 Compute properties 0.18688 -5219 10 setActiveGrpsFunc 0.067712 -5220 4 Approximation 0.159968 -5221 8 Correct 0.025216 -5222 7 Energy 0.048512 -5223 9 Predict 0.144256 -5224 0 Sorting 3.24896 -5225 1 Data reordering 0.164416 -5226 2 Tree-construction 0.887648 -5227 11 Memory 0.001888 -5228 3 Compute properties 0.186496 -5229 10 setActiveGrpsFunc 0.067104 -5230 4 Approximation 0.159968 -5231 8 Correct 0.025216 -5232 7 Energy 0.048352 -5233 9 Predict 0.143552 -5234 0 Sorting 3.29472 -5235 1 Data reordering 0.164928 -5236 2 Tree-construction 0.886016 -5237 11 Memory 0.001888 -5238 3 Compute properties 0.186144 -5239 10 setActiveGrpsFunc 0.067712 -5240 4 Approximation 0.159872 -5241 8 Correct 0.025024 -5242 7 Energy 0.048064 -5243 9 Predict 0.144832 -5244 0 Sorting 3.23805 -5245 1 Data reordering 0.164768 -5246 2 Tree-construction 0.886336 -5247 11 Memory 0.001888 -5248 3 Compute properties 0.18704 -5249 10 setActiveGrpsFunc 0.068 -5250 4 Approximation 0.159488 -5251 8 Correct 0.02512 -5252 7 Energy 0.067392 -5253 9 Predict 0.199808 -5254 0 Sorting 3.71107 -5255 1 Data reordering 0.166624 -5256 2 Tree-construction 0.88864 -5257 11 Memory 0.001888 -5258 3 Compute properties 0.188096 -5259 10 setActiveGrpsFunc 0.067936 -5260 4 Approximation 0.160768 -5261 8 Correct 0.025344 -5262 7 Energy 0.048736 -5263 9 Predict 0.144992 -5264 0 Sorting 3.23715 -5265 1 Data reordering 0.173696 -5266 2 Tree-construction 0.977056 -5267 11 Memory 0.001888 -5268 3 Compute properties 0.187712 -5269 10 setActiveGrpsFunc 0.06784 -5270 4 Approximation 0.160064 -5271 8 Correct 0.025088 -5272 7 Energy 0.048448 -5273 9 Predict 0.145408 -5274 0 Sorting 3.23392 -5275 1 Data reordering 0.164704 -5276 2 Tree-construction 0.88736 -5277 11 Memory 0.001888 -5278 3 Compute properties 0.186848 -5279 10 setActiveGrpsFunc 0.067872 -5280 4 Approximation 0.163616 -5281 8 Correct 0.025408 -5282 7 Energy 0.048 -5283 9 Predict 0.144 -5284 0 Sorting 3.23894 -5285 1 Data reordering 0.164256 -5286 2 Tree-construction 0.947776 -5287 11 Memory 0.001888 -5288 3 Compute properties 0.186208 -5289 10 setActiveGrpsFunc 0.067648 -5290 4 Approximation 0.159904 -5291 8 Correct 0.024992 -5292 7 Energy 0.048576 -5293 9 Predict 0.144128 -5294 0 Sorting 3.24781 -5295 1 Data reordering 0.164928 -5296 2 Tree-construction 0.88656 -5297 11 Memory 0.001888 -5298 3 Compute properties 0.187392 -5299 10 setActiveGrpsFunc 0.067872 -5300 4 Approximation 0.158464 -5301 8 Correct 0.025216 -5302 7 Energy 0.048064 -5303 9 Predict 0.144352 -5304 0 Sorting 3.28586 -5305 1 Data reordering 0.180032 -5306 2 Tree-construction 0.888192 -5307 11 Memory 0.001888 -5308 3 Compute properties 0.188352 -5309 10 setActiveGrpsFunc 0.067648 -5310 4 Approximation 0.158624 -5311 8 Correct 0.025184 -5312 7 Energy 0.048128 -5313 9 Predict 0.144448 -5314 0 Sorting 3.2481 -5315 1 Data reordering 0.164256 -5316 2 Tree-construction 0.88704 -5317 11 Memory 0.001888 -5318 3 Compute properties 0.18832 -5319 10 setActiveGrpsFunc 0.067552 -5320 4 Approximation 0.158688 -5321 8 Correct 0.02512 -5322 7 Energy 0.04784 -5323 9 Predict 0.143968 -5324 0 Sorting 3.33302 -5325 1 Data reordering 0.165728 -5326 2 Tree-construction 0.9184 -5327 11 Memory 0.00192 -5328 3 Compute properties 0.188576 -5329 10 setActiveGrpsFunc 0.067712 -5330 4 Approximation 0.15984 -5331 8 Correct 0.031296 -5332 7 Energy 0.049152 -5333 9 Predict 0.145056 -5334 0 Sorting 3.24259 -5335 1 Data reordering 0.164384 -5336 2 Tree-construction 0.887552 -5337 11 Memory 0.00192 -5338 3 Compute properties 0.197696 -5339 10 setActiveGrpsFunc 0.067968 -5340 4 Approximation 0.158784 -5341 8 Correct 0.025088 -5342 7 Energy 0.048288 -5343 9 Predict 0.143744 -5344 0 Sorting 3.29309 -5345 1 Data reordering 0.165344 -5346 2 Tree-construction 0.888 -5347 11 Memory 0.00192 -5348 3 Compute properties 0.187488 -5349 10 setActiveGrpsFunc 0.067584 -5350 4 Approximation 0.158816 -5351 8 Correct 0.02544 -5352 7 Energy 0.048512 -5353 9 Predict 0.14368 -5354 0 Sorting 3.24848 -5355 1 Data reordering 0.164352 -5356 2 Tree-construction 0.885792 -5357 11 Memory 0.001888 -5358 3 Compute properties 0.197696 -5359 10 setActiveGrpsFunc 0.067552 -5360 4 Approximation 0.160096 -5361 8 Correct 0.025152 -5362 7 Energy 0.047776 -5363 9 Predict 0.144256 -5364 0 Sorting 3.29581 -5365 1 Data reordering 0.16544 -5366 2 Tree-construction 0.886848 -5367 11 Memory 0.001888 -5368 3 Compute properties 0.188192 -5369 10 setActiveGrpsFunc 0.067424 -5370 4 Approximation 0.158816 -5371 8 Correct 0.025056 -5372 7 Energy 0.04848 -5373 9 Predict 0.143904 -5374 0 Sorting 3.25158 -5375 1 Data reordering 0.164768 -5376 2 Tree-construction 0.886656 -5377 11 Memory 0.001888 -5378 3 Compute properties 0.186624 -5379 10 setActiveGrpsFunc 0.067808 -5380 4 Approximation 0.158624 -5381 8 Correct 0.025152 -5382 7 Energy 0.048192 -5383 9 Predict 0.144064 -5384 0 Sorting 3.28752 -5385 1 Data reordering 0.164832 -5386 2 Tree-construction 0.896736 -5387 11 Memory 0.001888 -5388 3 Compute properties 0.187648 -5389 10 setActiveGrpsFunc 0.067584 -5390 4 Approximation 0.158528 -5391 8 Correct 0.025024 -5392 7 Energy 0.048288 -5393 9 Predict 0.14432 -5394 0 Sorting 3.23885 -5395 1 Data reordering 0.164608 -5396 2 Tree-construction 0.88832 -5397 11 Memory 0.001888 -5398 3 Compute properties 0.1968 -5399 10 setActiveGrpsFunc 0.068032 -5400 4 Approximation 0.157664 -5401 8 Correct 0.025088 -5402 7 Energy 0.048416 -5403 9 Predict 0.144384 -5404 0 Sorting 3.3657 -5405 1 Data reordering 0.173408 -5406 2 Tree-construction 0.88768 -5407 11 Memory 0.001888 -5408 3 Compute properties 0.189984 -5409 10 setActiveGrpsFunc 0.068 -5410 4 Approximation 0.158912 -5411 8 Correct 0.02512 -5412 7 Energy 0.048544 -5413 9 Predict 0.144032 -5414 0 Sorting 3.24355 -5415 1 Data reordering 0.164224 -5416 2 Tree-construction 1.00816 -5417 11 Memory 0.001888 -5418 3 Compute properties 0.21504 -5419 10 setActiveGrpsFunc 0.068832 -5420 4 Approximation 0.16176 -5421 8 Correct 0.025664 -5422 7 Energy 0.048928 -5423 9 Predict 0.14448 -5424 0 Sorting 3.28435 -5425 1 Data reordering 0.165088 -5426 2 Tree-construction 0.890336 -5427 11 Memory 0.001888 -5428 3 Compute properties 0.197376 -5429 10 setActiveGrpsFunc 0.067808 -5430 4 Approximation 0.158784 -5431 8 Correct 0.025184 -5432 7 Energy 0.048224 -5433 9 Predict 0.144096 -5434 0 Sorting 3.24698 -5435 1 Data reordering 0.164256 -5436 2 Tree-construction 0.886528 -5437 11 Memory 0.001888 -5438 3 Compute properties 0.187328 -5439 10 setActiveGrpsFunc 0.067712 -5440 4 Approximation 0.158848 -5441 8 Correct 0.025216 -5442 7 Energy 0.047616 -5443 9 Predict 0.144416 -5444 0 Sorting 3.3392 -5445 1 Data reordering 0.165376 -5446 2 Tree-construction 0.888768 -5447 11 Memory 0.001888 -5448 3 Compute properties 0.198304 -5449 10 setActiveGrpsFunc 0.06816 -5450 4 Approximation 0.159008 -5451 8 Correct 0.025216 -5452 7 Energy 0.04848 -5453 9 Predict 0.144832 -5454 0 Sorting 3.24637 -5455 1 Data reordering 0.165088 -5456 2 Tree-construction 0.888896 -5457 11 Memory 0.001888 -5458 3 Compute properties 0.196096 -5459 10 setActiveGrpsFunc 0.068128 -5460 4 Approximation 0.160352 -5461 8 Correct 0.024928 -5462 7 Energy 0.047968 -5463 9 Predict 0.144064 -5464 0 Sorting 3.42374 -5465 1 Data reordering 0.236992 -5466 2 Tree-construction 1.18304 -5467 11 Memory 0.00192 -5468 3 Compute properties 0.265376 -5469 10 setActiveGrpsFunc 0.071648 -5470 4 Approximation 0.160064 -5471 8 Correct 0.025248 -5472 7 Energy 0.049344 -5473 9 Predict 0.145664 -5474 0 Sorting 3.23325 -5475 1 Data reordering 0.165024 -5476 2 Tree-construction 0.964448 -5477 11 Memory 0.00192 -5478 3 Compute properties 0.187296 -5479 10 setActiveGrpsFunc 0.088832 -5480 4 Approximation 0.162464 -5481 8 Correct 0.034784 -5482 7 Energy 0.048864 -5483 9 Predict 0.144928 -5484 0 Sorting 3.2375 -5485 1 Data reordering 0.165984 -5486 2 Tree-construction 0.890016 -5487 11 Memory 0.001888 -5488 3 Compute properties 0.186432 -5489 10 setActiveGrpsFunc 0.067584 -5490 4 Approximation 0.158336 -5491 8 Correct 0.025056 -5492 7 Energy 0.048128 -5493 9 Predict 0.14384 -5494 0 Sorting 3.24131 -5495 1 Data reordering 0.16464 -5496 2 Tree-construction 0.992288 -5497 11 Memory 0.001888 -5498 3 Compute properties 0.204384 -5499 10 setActiveGrpsFunc 0.068448 -5500 4 Approximation 0.15888 -5501 8 Correct 0.025056 -5502 7 Energy 0.048416 -5503 9 Predict 0.144256 -5504 0 Sorting 3.24739 -5505 1 Data reordering 0.164736 -5506 2 Tree-construction 0.890368 -5507 11 Memory 0.001888 -5508 3 Compute properties 0.196704 -5509 10 setActiveGrpsFunc 0.06752 -5510 4 Approximation 0.158976 -5511 8 Correct 0.025184 -5512 7 Energy 0.048608 -5513 9 Predict 0.144256 -5514 0 Sorting 3.2513 -5515 1 Data reordering 0.208736 -5516 2 Tree-construction 0.93888 -5517 11 Memory 0.00192 -5518 3 Compute properties 0.185792 -5519 10 setActiveGrpsFunc 0.06768 -5520 4 Approximation 0.15904 -5521 8 Correct 0.025056 -5522 7 Energy 0.048224 -5523 9 Predict 0.144 -5524 0 Sorting 3.23632 -5525 1 Data reordering 0.165024 -5526 2 Tree-construction 0.896864 -5527 11 Memory 0.001888 -5528 3 Compute properties 0.185728 -5529 10 setActiveGrpsFunc 0.067584 -5530 4 Approximation 0.158368 -5531 8 Correct 0.025216 -5532 7 Energy 0.048192 -5533 9 Predict 0.143872 -5534 0 Sorting 3.29318 -5535 1 Data reordering 0.165344 -5536 2 Tree-construction 0.909856 -5537 11 Memory 0.001888 -5538 3 Compute properties 0.186784 -5539 10 setActiveGrpsFunc 0.067552 -5540 4 Approximation 0.158752 -5541 8 Correct 0.025184 -5542 7 Energy 0.048512 -5543 9 Predict 0.143904 -5544 0 Sorting 3.2393 -5545 1 Data reordering 0.164512 -5546 2 Tree-construction 0.886656 -5547 11 Memory 0.00192 -5548 3 Compute properties 0.187968 -5549 10 setActiveGrpsFunc 0.067904 -5550 4 Approximation 0.159712 -5551 8 Correct 0.024992 -5552 7 Energy 0.048128 -5553 9 Predict 0.14416 -5554 0 Sorting 3.33997 -5555 1 Data reordering 0.181664 -5556 2 Tree-construction 0.890336 -5557 11 Memory 0.001888 -5558 3 Compute properties 0.18624 -5559 10 setActiveGrpsFunc 0.067712 -5560 4 Approximation 0.159136 -5561 8 Correct 0.025248 -5562 7 Energy 0.048192 -5563 9 Predict 0.144064 -5564 0 Sorting 3.24762 -5565 1 Data reordering 0.164384 -5566 2 Tree-construction 0.889088 -5567 11 Memory 0.001888 -5568 3 Compute properties 0.184 -5569 10 setActiveGrpsFunc 0.067936 -5570 4 Approximation 0.159616 -5571 8 Correct 0.025184 -5572 7 Energy 0.048384 -5573 9 Predict 0.14384 -5574 0 Sorting 3.33366 -5575 1 Data reordering 0.165472 -5576 2 Tree-construction 0.889664 -5577 11 Memory 0.001888 -5578 3 Compute properties 0.184832 -5579 10 setActiveGrpsFunc 0.067776 -5580 4 Approximation 0.15984 -5581 8 Correct 0.024896 -5582 7 Energy 0.048224 -5583 9 Predict 0.144064 -5584 0 Sorting 3.24029 -5585 1 Data reordering 0.164416 -5586 2 Tree-construction 0.895424 -5587 11 Memory 0.001888 -5588 3 Compute properties 0.18464 -5589 10 setActiveGrpsFunc 0.0672 -5590 4 Approximation 0.158464 -5591 8 Correct 0.025088 -5592 7 Energy 0.04832 -5593 9 Predict 0.144384 -5594 0 Sorting 3.32448 -5595 1 Data reordering 0.165408 -5596 2 Tree-construction 0.887296 -5597 11 Memory 0.001888 -5598 3 Compute properties 0.184768 -5599 10 setActiveGrpsFunc 0.067488 -5600 4 Approximation 0.159296 -5601 8 Correct 0.025184 -5602 7 Energy 0.047904 -5603 9 Predict 0.144576 -5604 0 Sorting 3.24534 -5605 1 Data reordering 0.16448 -5606 2 Tree-construction 0.887264 -5607 11 Memory 0.00192 -5608 3 Compute properties 0.18432 -5609 10 setActiveGrpsFunc 0.067808 -5610 4 Approximation 0.158752 -5611 8 Correct 0.025184 -5612 7 Energy 0.048224 -5613 9 Predict 0.144128 -5614 0 Sorting 3.3047 -5615 1 Data reordering 0.165408 -5616 2 Tree-construction 0.898336 -5617 11 Memory 0.00192 -5618 3 Compute properties 0.185856 -5619 10 setActiveGrpsFunc 0.067872 -5620 4 Approximation 0.160224 -5621 8 Correct 0.025152 -5622 7 Energy 0.048512 -5623 9 Predict 0.144064 -5624 0 Sorting 3.27859 -5625 1 Data reordering 0.228032 -5626 2 Tree-construction 1.18614 -5627 11 Memory 0.001888 -5628 3 Compute properties 0.252672 -5629 10 setActiveGrpsFunc 0.090592 -5630 4 Approximation 0.175744 -5631 8 Correct 0.025376 -5632 7 Energy 0.049376 -5633 9 Predict 0.145408 -5634 0 Sorting 3.31424 -5635 1 Data reordering 0.166016 -5636 2 Tree-construction 0.889152 -5637 11 Memory 0.001888 -5638 3 Compute properties 0.195328 -5639 10 setActiveGrpsFunc 0.06784 -5640 4 Approximation 0.159872 -5641 8 Correct 0.025184 -5642 7 Energy 0.048832 -5643 9 Predict 0.144768 -5644 0 Sorting 3.24752 -5645 1 Data reordering 0.164448 -5646 2 Tree-construction 0.885472 -5647 11 Memory 0.00192 -5648 3 Compute properties 0.185344 -5649 10 setActiveGrpsFunc 0.067776 -5650 4 Approximation 0.158624 -5651 8 Correct 0.025344 -5652 7 Energy 0.048288 -5653 9 Predict 0.17968 -5654 0 Sorting 3.31165 -5655 1 Data reordering 0.165664 -5656 2 Tree-construction 0.983392 -5657 11 Memory 0.001888 -5658 3 Compute properties 0.236768 -5659 10 setActiveGrpsFunc 0.069408 -5660 4 Approximation 0.159232 -5661 8 Correct 0.025152 -5662 7 Energy 0.048608 -5663 9 Predict 0.144352 -5664 0 Sorting 3.51194 -5665 1 Data reordering 0.211616 -5666 2 Tree-construction 1.11667 -5667 11 Memory 0.001888 -5668 3 Compute properties 0.2368 -5669 10 setActiveGrpsFunc 0.097312 -5670 4 Approximation 0.159936 -5671 8 Correct 0.025472 -5672 7 Energy 0.048704 -5673 9 Predict 0.144288 -5674 0 Sorting 3.24992 -5675 1 Data reordering 0.16448 -5676 2 Tree-construction 0.886752 -5677 11 Memory 0.00192 -5678 3 Compute properties 0.185824 -5679 10 setActiveGrpsFunc 0.06752 -5680 4 Approximation 0.1576 -5681 8 Correct 0.02512 -5682 7 Energy 0.048352 -5683 9 Predict 0.154112 -5684 0 Sorting 3.23363 -5685 1 Data reordering 0.164256 -5686 2 Tree-construction 0.967776 -5687 11 Memory 0.00192 -5688 3 Compute properties 0.184512 -5689 10 setActiveGrpsFunc 0.067968 -5690 4 Approximation 0.164896 -5691 8 Correct 0.02544 -5692 7 Energy 0.04848 -5693 9 Predict 0.144352 -5694 0 Sorting 3.25011 -5695 1 Data reordering 0.165696 -5696 2 Tree-construction 0.890304 -5697 11 Memory 0.00192 -5698 3 Compute properties 0.184928 -5699 10 setActiveGrpsFunc 0.067712 -5700 4 Approximation 0.15888 -5701 8 Correct 0.025216 -5702 7 Energy 0.048 -5703 9 Predict 0.144416 -5704 0 Sorting 3.28653 -5705 1 Data reordering 0.179456 -5706 2 Tree-construction 0.887584 -5707 11 Memory 0.001888 -5708 3 Compute properties 0.185184 -5709 10 setActiveGrpsFunc 0.068224 -5710 4 Approximation 0.158624 -5711 8 Correct 0.02576 -5712 7 Energy 0.049216 -5713 9 Predict 0.144352 -5714 0 Sorting 3.24771 -5715 1 Data reordering 0.164512 -5716 2 Tree-construction 0.886368 -5717 11 Memory 0.00192 -5718 3 Compute properties 0.18784 -5719 10 setActiveGrpsFunc 0.068192 -5720 4 Approximation 0.160064 -5721 8 Correct 0.025056 -5722 7 Energy 0.048064 -5723 9 Predict 0.144384 -5724 0 Sorting 3.29178 -5725 1 Data reordering 0.165184 -5726 2 Tree-construction 0.941504 -5727 11 Memory 0.001888 -5728 3 Compute properties 0.195392 -5729 10 setActiveGrpsFunc 0.067776 -5730 4 Approximation 0.160064 -5731 8 Correct 0.024992 -5732 7 Energy 0.048288 -5733 9 Predict 0.144192 -5734 0 Sorting 3.24355 -5735 1 Data reordering 0.164352 -5736 2 Tree-construction 0.885664 -5737 11 Memory 0.001888 -5738 3 Compute properties 0.1864 -5739 10 setActiveGrpsFunc 0.067616 -5740 4 Approximation 0.15984 -5741 8 Correct 0.025184 -5742 7 Energy 0.047744 -5743 9 Predict 0.144096 -5744 0 Sorting 3.30934 -5745 1 Data reordering 0.165088 -5746 2 Tree-construction 0.892672 -5747 11 Memory 0.001888 -5748 3 Compute properties 0.186112 -5749 10 setActiveGrpsFunc 0.06784 -5750 4 Approximation 0.159936 -5751 8 Correct 0.02496 -5752 7 Energy 0.048416 -5753 9 Predict 0.144096 -5754 0 Sorting 3.25443 -5755 1 Data reordering 0.164512 -5756 2 Tree-construction 0.884928 -5757 11 Memory 0.00192 -5758 3 Compute properties 0.186528 -5759 10 setActiveGrpsFunc 0.067552 -5760 4 Approximation 0.158624 -5761 8 Correct 0.024896 -5762 7 Energy 0.048 -5763 9 Predict 0.144064 -5764 0 Sorting 3.29363 -5765 1 Data reordering 0.16512 -5766 2 Tree-construction 0.884832 -5767 11 Memory 0.001888 -5768 3 Compute properties 0.184928 -5769 10 setActiveGrpsFunc 0.067808 -5770 4 Approximation 0.15968 -5771 8 Correct 0.025312 -5772 7 Energy 0.048512 -5773 9 Predict 0.144224 -5774 0 Sorting 3.24358 -5775 1 Data reordering 0.164544 -5776 2 Tree-construction 0.884224 -5777 11 Memory 0.001888 -5778 3 Compute properties 0.185216 -5779 10 setActiveGrpsFunc 0.067808 -5780 4 Approximation 0.159744 -5781 8 Correct 0.025216 -5782 7 Energy 0.047744 -5783 9 Predict 0.144352 -5784 0 Sorting 3.30726 -5785 1 Data reordering 0.1656 -5786 2 Tree-construction 0.887808 -5787 11 Memory 0.00192 -5788 3 Compute properties 0.185696 -5789 10 setActiveGrpsFunc 0.067776 -5790 4 Approximation 0.16016 -5791 8 Correct 0.025088 -5792 7 Energy 0.048736 -5793 9 Predict 0.144512 -5794 0 Sorting 3.25894 -5795 1 Data reordering 0.164544 -5796 2 Tree-construction 0.885952 -5797 11 Memory 0.001888 -5798 3 Compute properties 0.187488 -5799 10 setActiveGrpsFunc 0.067584 -5800 4 Approximation 0.158784 -5801 8 Correct 0.025088 -5802 7 Energy 0.048128 -5803 9 Predict 0.143936 -5804 0 Sorting 3.33274 -5805 1 Data reordering 0.174368 -5806 2 Tree-construction 0.888416 -5807 11 Memory 0.001952 -5808 3 Compute properties 0.197376 -5809 10 setActiveGrpsFunc 0.06832 -5810 4 Approximation 0.158624 -5811 8 Correct 0.025376 -5812 7 Energy 0.04816 -5813 9 Predict 0.144256 -5814 0 Sorting 3.23715 -5815 1 Data reordering 0.165248 -5816 2 Tree-construction 0.887648 -5817 11 Memory 0.001984 -5818 3 Compute properties 0.190624 -5819 10 setActiveGrpsFunc 0.06768 -5820 4 Approximation 0.158912 -5821 8 Correct 0.025056 -5822 7 Energy 0.047808 -5823 9 Predict 0.143968 -5824 0 Sorting 3.28538 -5825 1 Data reordering 0.164928 -5826 2 Tree-construction 0.88592 -5827 11 Memory 0.001888 -5828 3 Compute properties 0.186656 -5829 10 setActiveGrpsFunc 0.067264 -5830 4 Approximation 0.158848 -5831 8 Correct 0.025088 -5832 7 Energy 0.048608 -5833 9 Predict 0.144224 -5834 0 Sorting 3.24422 -5835 1 Data reordering 0.16496 -5836 2 Tree-construction 0.885248 -5837 11 Memory 0.001888 -5838 3 Compute properties 0.195552 -5839 10 setActiveGrpsFunc 0.068032 -5840 4 Approximation 0.15904 -5841 8 Correct 0.025056 -5842 7 Energy 0.048256 -5843 9 Predict 0.143648 -5844 0 Sorting 3.29472 -5845 1 Data reordering 0.164928 -5846 2 Tree-construction 0.886016 -5847 11 Memory 0.001888 -5848 3 Compute properties 0.185344 -5849 10 setActiveGrpsFunc 0.067392 -5850 4 Approximation 0.158752 -5851 8 Correct 0.02528 -5852 7 Energy 0.048672 -5853 9 Predict 0.14384 -5854 0 Sorting 3.24304 -5855 1 Data reordering 0.164512 -5856 2 Tree-construction 0.902016 -5857 11 Memory 0.00192 -5858 3 Compute properties 0.251104 -5859 10 setActiveGrpsFunc 0.091072 -5860 4 Approximation 0.1808 -5861 8 Correct 0.033824 -5862 7 Energy 0.066496 -5863 9 Predict 0.192768 -5864 0 Sorting 3.46442 -5865 1 Data reordering 0.165984 -5866 2 Tree-construction 0.897536 -5867 11 Memory 0.001888 -5868 3 Compute properties 0.18736 -5869 10 setActiveGrpsFunc 0.06784 -5870 4 Approximation 0.15904 -5871 8 Correct 0.025056 -5872 7 Energy 0.092672 -5873 9 Predict 0.168192 -5874 0 Sorting 3.34022 -5875 1 Data reordering 0.164768 -5876 2 Tree-construction 0.884992 -5877 11 Memory 0.001888 -5878 3 Compute properties 0.202592 -5879 10 setActiveGrpsFunc 0.068608 -5880 4 Approximation 0.159008 -5881 8 Correct 0.025184 -5882 7 Energy 0.049792 -5883 9 Predict 0.143488 -5884 0 Sorting 3.24883 -5885 1 Data reordering 0.164288 -5886 2 Tree-construction 0.884736 -5887 11 Memory 0.001888 -5888 3 Compute properties 0.196704 -5889 10 setActiveGrpsFunc 0.068192 -5890 4 Approximation 0.158688 -5891 8 Correct 0.025088 -5892 7 Energy 0.048096 -5893 9 Predict 0.14368 -5894 0 Sorting 3.24365 -5895 1 Data reordering 0.164448 -5896 2 Tree-construction 0.902432 -5897 11 Memory 0.00192 -5898 3 Compute properties 0.197376 -5899 10 setActiveGrpsFunc 0.068 -5900 4 Approximation 0.161184 -5901 8 Correct 0.036416 -5902 7 Energy 0.04912 -5903 9 Predict 0.144832 -5904 0 Sorting 3.25315 -5905 1 Data reordering 0.165088 -5906 2 Tree-construction 0.886272 -5907 11 Memory 0.001888 -5908 3 Compute properties 0.199136 -5909 10 setActiveGrpsFunc 0.067968 -5910 4 Approximation 0.158848 -5911 8 Correct 0.025184 -5912 7 Energy 0.048256 -5913 9 Predict 0.143424 -5914 0 Sorting 3.24973 -5915 1 Data reordering 0.16448 -5916 2 Tree-construction 0.937792 -5917 11 Memory 0.00192 -5918 3 Compute properties 0.214016 -5919 10 setActiveGrpsFunc 0.06832 -5920 4 Approximation 0.158848 -5921 8 Correct 0.02512 -5922 7 Energy 0.048096 -5923 9 Predict 0.144384 -5924 0 Sorting 3.23334 -5925 1 Data reordering 0.164736 -5926 2 Tree-construction 0.891904 -5927 11 Memory 0.001888 -5928 3 Compute properties 0.199584 -5929 10 setActiveGrpsFunc 0.06896 -5930 4 Approximation 0.159168 -5931 8 Correct 0.025184 -5932 7 Energy 0.04864 -5933 9 Predict 0.143808 -5934 0 Sorting 3.2416 -5935 1 Data reordering 0.18944 -5936 2 Tree-construction 0.936704 -5937 11 Memory 0.001888 -5938 3 Compute properties 0.197568 -5939 10 setActiveGrpsFunc 0.068352 -5940 4 Approximation 0.160032 -5941 8 Correct 0.025312 -5942 7 Energy 0.048512 -5943 9 Predict 0.143904 -5944 0 Sorting 3.24154 -5945 1 Data reordering 0.164736 -5946 2 Tree-construction 0.885792 -5947 11 Memory 0.00192 -5948 3 Compute properties 0.195872 -5949 10 setActiveGrpsFunc 0.068192 -5950 4 Approximation 0.159648 -5951 8 Correct 0.02528 -5952 7 Energy 0.048 -5953 9 Predict 0.143808 -5954 0 Sorting 3.29542 -5955 1 Data reordering 0.165312 -5956 2 Tree-construction 0.934848 -5957 11 Memory 0.00192 -5958 3 Compute properties 0.198656 -5959 10 setActiveGrpsFunc 0.068352 -5960 4 Approximation 0.15888 -5961 8 Correct 0.025216 -5962 7 Energy 0.048704 -5963 9 Predict 0.144288 -5964 0 Sorting 3.23715 -5965 1 Data reordering 0.16528 -5966 2 Tree-construction 0.88288 -5967 11 Memory 0.001888 -5968 3 Compute properties 0.19712 -5969 10 setActiveGrpsFunc 0.067968 -5970 4 Approximation 0.158432 -5971 8 Correct 0.025184 -5972 7 Energy 0.04784 -5973 9 Predict 0.143712 -5974 0 Sorting 3.29446 -5975 1 Data reordering 0.181312 -5976 2 Tree-construction 0.886208 -5977 11 Memory 0.00192 -5978 3 Compute properties 0.19536 -5979 10 setActiveGrpsFunc 0.06784 -5980 4 Approximation 0.15888 -5981 8 Correct 0.025056 -5982 7 Energy 0.048384 -5983 9 Predict 0.143808 -5984 0 Sorting 3.24784 -5985 1 Data reordering 0.164288 -5986 2 Tree-construction 0.886624 -5987 11 Memory 0.001888 -5988 3 Compute properties 0.195904 -5989 10 setActiveGrpsFunc 0.068128 -5990 4 Approximation 0.158592 -5991 8 Correct 0.024992 -5992 7 Energy 0.047936 -5993 9 Predict 0.14368 -5994 0 Sorting 3.30138 -5995 1 Data reordering 0.165248 -5996 2 Tree-construction 0.887616 -5997 11 Memory 0.00192 -5998 3 Compute properties 0.188896 -5999 10 setActiveGrpsFunc 0.068 -6000 4 Approximation 0.15984 -6001 8 Correct 0.02512 -6002 7 Energy 0.049696 -6003 9 Predict 0.144032 -6004 0 Sorting 3.25648 -6005 1 Data reordering 0.165312 -6006 2 Tree-construction 0.886592 -6007 11 Memory 0.00192 -6008 3 Compute properties 0.198784 -6009 10 setActiveGrpsFunc 0.068064 -6010 4 Approximation 0.158496 -6011 8 Correct 0.025056 -6012 7 Energy 0.047968 -6013 9 Predict 0.144736 -6014 0 Sorting 3.29981 -6015 1 Data reordering 0.165152 -6016 2 Tree-construction 0.885728 -6017 11 Memory 0.001888 -6018 3 Compute properties 0.206496 -6019 10 setActiveGrpsFunc 0.068224 -6020 4 Approximation 0.159424 -6021 8 Correct 0.025216 -6022 7 Energy 0.048736 -6023 9 Predict 0.144384 -6024 0 Sorting 3.24061 -6025 1 Data reordering 0.164704 -6026 2 Tree-construction 0.886624 -6027 11 Memory 0.001888 -6028 3 Compute properties 0.197568 -6029 10 setActiveGrpsFunc 0.068256 -6030 4 Approximation 0.158848 -6031 8 Correct 0.02512 -6032 7 Energy 0.047968 -6033 9 Predict 0.143616 -6034 0 Sorting 3.3065 -6035 1 Data reordering 0.164896 -6036 2 Tree-construction 0.886208 -6037 11 Memory 0.00192 -6038 3 Compute properties 0.196288 -6039 10 setActiveGrpsFunc 0.06768 -6040 4 Approximation 0.159904 -6041 8 Correct 0.025248 -6042 7 Energy 0.048192 -6043 9 Predict 0.143616 -6044 0 Sorting 3.25539 -6045 1 Data reordering 0.164608 -6046 2 Tree-construction 0.886688 -6047 11 Memory 0.001888 -6048 3 Compute properties 0.189344 -6049 10 setActiveGrpsFunc 0.067872 -6050 4 Approximation 0.158592 -6051 8 Correct 0.025152 -6052 7 Energy 0.048288 -6053 9 Predict 0.143872 -6054 0 Sorting 3.30195 -6055 1 Data reordering 0.165184 -6056 2 Tree-construction 0.886624 -6057 11 Memory 0.001888 -6058 3 Compute properties 0.196544 -6059 10 setActiveGrpsFunc 0.067744 -6060 4 Approximation 0.1592 -6061 8 Correct 0.025088 -6062 7 Energy 0.048256 -6063 9 Predict 0.144224 -6064 0 Sorting 3.24243 -6065 1 Data reordering 0.164416 -6066 2 Tree-construction 0.895328 -6067 11 Memory 0.00192 -6068 3 Compute properties 0.190304 -6069 10 setActiveGrpsFunc 0.067936 -6070 4 Approximation 0.15952 -6071 8 Correct 0.025184 -6072 7 Energy 0.048128 -6073 9 Predict 0.143936 -6074 0 Sorting 3.72173 -6075 1 Data reordering 0.16688 -6076 2 Tree-construction 0.88928 -6077 11 Memory 0.001888 -6078 3 Compute properties 0.20016 -6079 10 setActiveGrpsFunc 0.068064 -6080 4 Approximation 0.159552 -6081 8 Correct 0.02512 -6082 7 Energy 0.048224 -6083 9 Predict 0.144608 -6084 0 Sorting 3.24368 -6085 1 Data reordering 0.164672 -6086 2 Tree-construction 0.886208 -6087 11 Memory 0.001888 -6088 3 Compute properties 0.199712 -6089 10 setActiveGrpsFunc 0.067936 -6090 4 Approximation 0.158496 -6091 8 Correct 0.025216 -6092 7 Energy 0.048256 -6093 9 Predict 0.15424 -6094 0 Sorting 3.26234 -6095 1 Data reordering 0.164992 -6096 2 Tree-construction 0.887232 -6097 11 Memory 0.00192 -6098 3 Compute properties 0.188352 -6099 10 setActiveGrpsFunc 0.068224 -6100 4 Approximation 0.159104 -6101 8 Correct 0.025088 -6102 7 Energy 0.048448 -6103 9 Predict 0.144128 -6104 0 Sorting 3.24781 -6105 1 Data reordering 0.164736 -6106 2 Tree-construction 0.898304 -6107 11 Memory 0.001888 -6108 3 Compute properties 0.18784 -6109 10 setActiveGrpsFunc 0.093184 -6110 4 Approximation 0.15984 -6111 8 Correct 0.025536 -6112 7 Energy 0.048384 -6113 9 Predict 0.144224 -6114 0 Sorting 3.23754 -6115 1 Data reordering 0.165024 -6116 2 Tree-construction 0.886272 -6117 11 Memory 0.001888 -6118 3 Compute properties 0.187872 -6119 10 setActiveGrpsFunc 0.067456 -6120 4 Approximation 0.158368 -6121 8 Correct 0.025152 -6122 7 Energy 0.048096 -6123 9 Predict 0.14368 -6124 0 Sorting 3.2537 -6125 1 Data reordering 0.16528 -6126 2 Tree-construction 0.943872 -6127 11 Memory 0.00192 -6128 3 Compute properties 0.197248 -6129 10 setActiveGrpsFunc 0.068576 -6130 4 Approximation 0.169792 -6131 8 Correct 0.025184 -6132 7 Energy 0.049024 -6133 9 Predict 0.144288 -6134 0 Sorting 3.2561 -6135 1 Data reordering 0.163968 -6136 2 Tree-construction 0.888128 -6137 11 Memory 0.001888 -6138 3 Compute properties 0.197952 -6139 10 setActiveGrpsFunc 0.067968 -6140 4 Approximation 0.158432 -6141 8 Correct 0.025152 -6142 7 Energy 0.048 -6143 9 Predict 0.143968 -6144 0 Sorting 3.25994 -6145 1 Data reordering 0.165472 -6146 2 Tree-construction 0.920608 -6147 11 Memory 0.001888 -6148 3 Compute properties 0.19952 -6149 10 setActiveGrpsFunc 0.068224 -6150 4 Approximation 0.159104 -6151 8 Correct 0.033664 -6152 7 Energy 0.048608 -6153 9 Predict 0.14416 -6154 0 Sorting 3.23802 -6155 1 Data reordering 0.164768 -6156 2 Tree-construction 0.89744 -6157 11 Memory 0.001888 -6158 3 Compute properties 0.2184 -6159 10 setActiveGrpsFunc 0.086528 -6160 4 Approximation 0.167552 -6161 8 Correct 0.027584 -6162 7 Energy 0.073472 -6163 9 Predict 0.168768 -6164 0 Sorting 3.40874 -6165 1 Data reordering 0.165408 -6166 2 Tree-construction 0.890016 -6167 11 Memory 0.001888 -6168 3 Compute properties 0.196224 -6169 10 setActiveGrpsFunc 0.067808 -6170 4 Approximation 0.159168 -6171 8 Correct 0.025024 -6172 7 Energy 0.048256 -6173 9 Predict 0.144192 -6174 0 Sorting 3.24147 -6175 1 Data reordering 0.164384 -6176 2 Tree-construction 0.888864 -6177 11 Memory 0.00192 -6178 3 Compute properties 0.189856 -6179 10 setActiveGrpsFunc 0.06832 -6180 4 Approximation 0.163808 -6181 8 Correct 0.02528 -6182 7 Energy 0.04816 -6183 9 Predict 0.144096 -6184 0 Sorting 3.27062 -6185 1 Data reordering 0.164544 -6186 2 Tree-construction 0.886304 -6187 11 Memory 0.001888 -6188 3 Compute properties 0.196576 -6189 10 setActiveGrpsFunc 0.067872 -6190 4 Approximation 0.15744 -6191 8 Correct 0.025088 -6192 7 Energy 0.048064 -6193 9 Predict 0.143872 -6194 0 Sorting 3.24102 -6195 1 Data reordering 0.164288 -6196 2 Tree-construction 0.892992 -6197 11 Memory 0.00192 -6198 3 Compute properties 0.198656 -6199 10 setActiveGrpsFunc 0.068256 -6200 4 Approximation 0.159904 -6201 8 Correct 0.025088 -6202 7 Energy 0.047968 -6203 9 Predict 0.143936 -6204 0 Sorting 3.30186 -6205 1 Data reordering 0.186048 -6206 2 Tree-construction 0.888544 -6207 11 Memory 0.001888 -6208 3 Compute properties 0.199872 -6209 10 setActiveGrpsFunc 0.068032 -6210 4 Approximation 0.15872 -6211 8 Correct 0.025184 -6212 7 Energy 0.047712 -6213 9 Predict 0.144128 -6214 0 Sorting 3.24634 -6215 1 Data reordering 0.165344 -6216 2 Tree-construction 0.88832 -6217 11 Memory 0.00192 -6218 3 Compute properties 0.199776 -6219 10 setActiveGrpsFunc 0.068288 -6220 4 Approximation 0.168736 -6221 8 Correct 0.025184 -6222 7 Energy 0.047872 -6223 9 Predict 0.143232 -6224 0 Sorting 3.27837 -6225 1 Data reordering 0.164608 -6226 2 Tree-construction 0.88912 -6227 11 Memory 0.001888 -6228 3 Compute properties 0.196992 -6229 10 setActiveGrpsFunc 0.06816 -6230 4 Approximation 0.159008 -6231 8 Correct 0.025184 -6232 7 Energy 0.047936 -6233 9 Predict 0.14432 -6234 0 Sorting 3.73782 -6235 1 Data reordering 0.166432 -6236 2 Tree-construction 0.890432 -6237 11 Memory 0.001888 -6238 3 Compute properties 0.1992 -6239 10 setActiveGrpsFunc 0.068064 -6240 4 Approximation 0.159232 -6241 8 Correct 0.025152 -6242 7 Energy 0.04816 -6243 9 Predict 0.144384 -6244 0 Sorting 3.26557 -6245 1 Data reordering 0.165376 -6246 2 Tree-construction 0.888416 -6247 11 Memory 0.00192 -6248 3 Compute properties 0.198304 -6249 10 setActiveGrpsFunc 0.068256 -6250 4 Approximation 0.158656 -6251 8 Correct 0.025216 -6252 7 Energy 0.048192 -6253 9 Predict 0.143744 -6254 0 Sorting 3.2448 -6255 1 Data reordering 0.16432 -6256 2 Tree-construction 0.886688 -6257 11 Memory 0.001888 -6258 3 Compute properties 0.198944 -6259 10 setActiveGrpsFunc 0.067584 -6260 4 Approximation 0.16288 -6261 8 Correct 0.025696 -6262 7 Energy 0.048544 -6263 9 Predict 0.1448 -6264 0 Sorting 3.25571 -6265 1 Data reordering 0.16528 -6266 2 Tree-construction 0.894016 -6267 11 Memory 0.00192 -6268 3 Compute properties 0.199744 -6269 10 setActiveGrpsFunc 0.068 -6270 4 Approximation 0.15568 -6271 8 Correct 0.025184 -6272 7 Energy 0.048032 -6273 9 Predict 0.143968 -6274 0 Sorting 3.23594 -6275 1 Data reordering 0.16464 -6276 2 Tree-construction 0.885984 -6277 11 Memory 0.001888 -6278 3 Compute properties 0.199424 -6279 10 setActiveGrpsFunc 0.067744 -6280 4 Approximation 0.155392 -6281 8 Correct 0.025088 -6282 7 Energy 0.047872 -6283 9 Predict 0.144096 -6284 0 Sorting 3.31933 -6285 1 Data reordering 0.164992 -6286 2 Tree-construction 0.887136 -6287 11 Memory 0.001888 -6288 3 Compute properties 0.198464 -6289 10 setActiveGrpsFunc 0.068096 -6290 4 Approximation 0.155808 -6291 8 Correct 0.025184 -6292 7 Energy 0.048 -6293 9 Predict 0.145504 -6294 0 Sorting 3.24784 -6295 1 Data reordering 0.164704 -6296 2 Tree-construction 0.889856 -6297 11 Memory 0.001888 -6298 3 Compute properties 0.19808 -6299 10 setActiveGrpsFunc 0.067776 -6300 4 Approximation 0.156416 -6301 8 Correct 0.025184 -6302 7 Energy 0.04768 -6303 9 Predict 0.144064 -6304 0 Sorting 3.26467 -6305 1 Data reordering 0.165184 -6306 2 Tree-construction 0.889248 -6307 11 Memory 0.001888 -6308 3 Compute properties 0.198688 -6309 10 setActiveGrpsFunc 0.067584 -6310 4 Approximation 0.157344 -6311 8 Correct 0.025184 -6312 7 Energy 0.048064 -6313 9 Predict 0.144736 -6314 0 Sorting 3.24266 -6315 1 Data reordering 0.16464 -6316 2 Tree-construction 0.888352 -6317 11 Memory 0.00192 -6318 3 Compute properties 0.197856 -6319 10 setActiveGrpsFunc 0.067712 -6320 4 Approximation 0.156672 -6321 8 Correct 0.025184 -6322 7 Energy 0.048 -6323 9 Predict 0.147072 -6324 0 Sorting 3.24925 -6325 1 Data reordering 0.16512 -6326 2 Tree-construction 0.887232 -6327 11 Memory 0.001888 -6328 3 Compute properties 0.20176 -6329 10 setActiveGrpsFunc 0.06832 -6330 4 Approximation 0.1576 -6331 8 Correct 0.025024 -6332 7 Energy 0.048416 -6333 9 Predict 0.144192 -6334 0 Sorting 3.24474 -6335 1 Data reordering 0.1648 -6336 2 Tree-construction 0.88848 -6337 11 Memory 0.001888 -6338 3 Compute properties 0.197856 -6339 10 setActiveGrpsFunc 0.093184 -6340 4 Approximation 0.159104 -6341 8 Correct 0.025408 -6342 7 Energy 0.048352 -6343 9 Predict 0.144704 -6344 0 Sorting 3.24826 -6345 1 Data reordering 0.16464 -6346 2 Tree-construction 0.889632 -6347 11 Memory 0.001888 -6348 3 Compute properties 0.20032 -6349 10 setActiveGrpsFunc 0.068032 -6350 4 Approximation 0.157952 -6351 8 Correct 0.02512 -6352 7 Energy 0.048 -6353 9 Predict 0.143392 -6354 0 Sorting 3.23875 -6355 1 Data reordering 0.16496 -6356 2 Tree-construction 0.970336 -6357 11 Memory 0.00192 -6358 3 Compute properties 0.191264 -6359 10 setActiveGrpsFunc 0.067872 -6360 4 Approximation 0.1568 -6361 8 Correct 0.025152 -6362 7 Energy 0.048416 -6363 9 Predict 0.143776 -6364 0 Sorting 3.30179 -6365 1 Data reordering 0.165152 -6366 2 Tree-construction 0.911488 -6367 11 Memory 0.00192 -6368 3 Compute properties 0.198496 -6369 10 setActiveGrpsFunc 0.067872 -6370 4 Approximation 0.158656 -6371 8 Correct 0.025088 -6372 7 Energy 0.047968 -6373 9 Predict 0.144576 -6374 0 Sorting 3.24691 -6375 1 Data reordering 0.164928 -6376 2 Tree-construction 0.937696 -6377 11 Memory 0.001888 -6378 3 Compute properties 0.21744 -6379 10 setActiveGrpsFunc 0.068448 -6380 4 Approximation 0.157568 -6381 8 Correct 0.025216 -6382 7 Energy 0.048384 -6383 9 Predict 0.144032 -6384 0 Sorting 3.24554 -6385 1 Data reordering 0.165536 -6386 2 Tree-construction 0.889056 -6387 11 Memory 0.001888 -6388 3 Compute properties 0.198272 -6389 10 setActiveGrpsFunc 0.068416 -6390 4 Approximation 0.158016 -6391 8 Correct 0.025248 -6392 7 Energy 0.04832 -6393 9 Predict 0.143968 -6394 0 Sorting 3.25334 -6395 1 Data reordering 0.190304 -6396 2 Tree-construction 0.927808 -6397 11 Memory 0.001888 -6398 3 Compute properties 0.190624 -6399 10 setActiveGrpsFunc 0.06784 -6400 4 Approximation 0.158464 -6401 8 Correct 0.025216 -6402 7 Energy 0.047488 -6403 9 Predict 0.143776 -6404 0 Sorting 3.24112 -6405 1 Data reordering 0.174496 -6406 2 Tree-construction 0.888 -6407 11 Memory 0.00192 -6408 3 Compute properties 0.19024 -6409 10 setActiveGrpsFunc 0.067392 -6410 4 Approximation 0.158432 -6411 8 Correct 0.025152 -6412 7 Energy 0.048128 -6413 9 Predict 0.143872 -6414 0 Sorting 3.25754 -6415 1 Data reordering 0.16512 -6416 2 Tree-construction 0.942848 -6417 11 Memory 0.002016 -6418 3 Compute properties 0.198496 -6419 10 setActiveGrpsFunc 0.068032 -6420 4 Approximation 0.16864 -6421 8 Correct 0.025184 -6422 7 Energy 0.047744 -6423 9 Predict 0.14416 -6424 0 Sorting 3.23616 -6425 1 Data reordering 0.164384 -6426 2 Tree-construction 0.887904 -6427 11 Memory 0.00192 -6428 3 Compute properties 0.201568 -6429 10 setActiveGrpsFunc 0.067968 -6430 4 Approximation 0.158304 -6431 8 Correct 0.025248 -6432 7 Energy 0.048128 -6433 9 Predict 0.14416 -6434 0 Sorting 3.27546 -6435 1 Data reordering 0.165824 -6436 2 Tree-construction 0.890176 -6437 11 Memory 0.00192 -6438 3 Compute properties 0.199008 -6439 10 setActiveGrpsFunc 0.069152 -6440 4 Approximation 0.158048 -6441 8 Correct 0.025152 -6442 7 Energy 0.048 -6443 9 Predict 0.143808 -6444 0 Sorting 3.24595 -6445 1 Data reordering 0.1648 -6446 2 Tree-construction 0.8888 -6447 11 Memory 0.001888 -6448 3 Compute properties 0.200224 -6449 10 setActiveGrpsFunc 0.068032 -6450 4 Approximation 0.1576 -6451 8 Correct 0.025312 -6452 7 Energy 0.047808 -6453 9 Predict 0.144032 -6454 0 Sorting 3.30682 -6455 1 Data reordering 0.165152 -6456 2 Tree-construction 0.886752 -6457 11 Memory 0.001888 -6458 3 Compute properties 0.190752 -6459 10 setActiveGrpsFunc 0.067776 -6460 4 Approximation 0.157216 -6461 8 Correct 0.024992 -6462 7 Energy 0.047616 -6463 9 Predict 0.143872 -6464 0 Sorting 3.37978 -6465 1 Data reordering 0.227456 -6466 2 Tree-construction 1.15389 -6467 11 Memory 0.001888 -6468 3 Compute properties 0.199616 -6469 10 setActiveGrpsFunc 0.067936 -6470 4 Approximation 0.172352 -6471 8 Correct 0.025824 -6472 7 Energy 0.0488 -6473 9 Predict 0.144864 -6474 0 Sorting 3.29021 -6475 1 Data reordering 0.165632 -6476 2 Tree-construction 0.886944 -6477 11 Memory 0.001888 -6478 3 Compute properties 0.200416 -6479 10 setActiveGrpsFunc 0.068 -6480 4 Approximation 0.15776 -6481 8 Correct 0.025216 -6482 7 Energy 0.047968 -6483 9 Predict 0.143968 -6484 0 Sorting 3.248 -6485 1 Data reordering 0.16432 -6486 2 Tree-construction 0.8848 -6487 11 Memory 0.00192 -6488 3 Compute properties 0.191968 -6489 10 setActiveGrpsFunc 0.06784 -6490 4 Approximation 0.157664 -6491 8 Correct 0.025216 -6492 7 Energy 0.048192 -6493 9 Predict 0.14352 -6494 0 Sorting 3.29808 -6495 1 Data reordering 0.165344 -6496 2 Tree-construction 0.892224 -6497 11 Memory 0.001952 -6498 3 Compute properties 0.199936 -6499 10 setActiveGrpsFunc 0.06784 -6500 4 Approximation 0.158592 -6501 8 Correct 0.02512 -6502 7 Energy 0.047904 -6503 9 Predict 0.144352 -6504 0 Sorting 3.24141 -6505 1 Data reordering 0.1648 -6506 2 Tree-construction 0.885536 -6507 11 Memory 0.001888 -6508 3 Compute properties 0.200704 -6509 10 setActiveGrpsFunc 0.067872 -6510 4 Approximation 0.157216 -6511 8 Correct 0.025184 -6512 7 Energy 0.047968 -6513 9 Predict 0.143872 -6514 0 Sorting 3.30339 -6515 1 Data reordering 0.165216 -6516 2 Tree-construction 0.887104 -6517 11 Memory 0.00192 -6518 3 Compute properties 0.199936 -6519 10 setActiveGrpsFunc 0.068064 -6520 4 Approximation 0.157536 -6521 8 Correct 0.025216 -6522 7 Energy 0.048032 -6523 9 Predict 0.144064 -6524 0 Sorting 3.25027 -6525 1 Data reordering 0.164416 -6526 2 Tree-construction 0.886944 -6527 11 Memory 0.001856 -6528 3 Compute properties 0.198752 -6529 10 setActiveGrpsFunc 0.067776 -6530 4 Approximation 0.156352 -6531 8 Correct 0.025152 -6532 7 Energy 0.047648 -6533 9 Predict 0.144128 -6534 0 Sorting 3.32867 -6535 1 Data reordering 0.165216 -6536 2 Tree-construction 0.890208 -6537 11 Memory 0.034144 -6538 3 Compute properties 0.204576 -6539 10 setActiveGrpsFunc 0.06864 -6540 4 Approximation 0.161952 -6541 8 Correct 0.025216 -6542 7 Energy 0.048512 -6543 9 Predict 0.144128 -6544 0 Sorting 3.25616 -6545 1 Data reordering 0.164768 -6546 2 Tree-construction 0.888032 -6547 11 Memory 0.00192 -6548 3 Compute properties 0.201376 -6549 10 setActiveGrpsFunc 0.067936 -6550 4 Approximation 0.156608 -6551 8 Correct 0.025216 -6552 7 Energy 0.048416 -6553 9 Predict 0.170752 -6554 0 Sorting 3.28192 -6555 1 Data reordering 0.164768 -6556 2 Tree-construction 0.896288 -6557 11 Memory 0.001888 -6558 3 Compute properties 0.199776 -6559 10 setActiveGrpsFunc 0.067872 -6560 4 Approximation 0.155392 -6561 8 Correct 0.025312 -6562 7 Energy 0.04784 -6563 9 Predict 0.143904 -6564 0 Sorting 3.24189 -6565 1 Data reordering 0.164384 -6566 2 Tree-construction 0.88576 -6567 11 Memory 0.00192 -6568 3 Compute properties 0.200576 -6569 10 setActiveGrpsFunc 0.094272 -6570 4 Approximation 0.156416 -6571 8 Correct 0.03184 -6572 7 Energy 0.04912 -6573 9 Predict 0.144064 -6574 0 Sorting 3.27219 -6575 1 Data reordering 0.164384 -6576 2 Tree-construction 0.886144 -6577 11 Memory 0.001888 -6578 3 Compute properties 0.200384 -6579 10 setActiveGrpsFunc 0.068 -6580 4 Approximation 0.157856 -6581 8 Correct 0.025152 -6582 7 Energy 0.048128 -6583 9 Predict 0.143776 -6584 0 Sorting 3.24822 -6585 1 Data reordering 0.164256 -6586 2 Tree-construction 0.914272 -6587 11 Memory 0.001888 -6588 3 Compute properties 0.193024 -6589 10 setActiveGrpsFunc 0.067968 -6590 4 Approximation 0.156832 -6591 8 Correct 0.025184 -6592 7 Energy 0.048288 -6593 9 Predict 0.14416 -6594 0 Sorting 3.25866 -6595 1 Data reordering 0.164 -6596 2 Tree-construction 0.885536 -6597 11 Memory 0.001888 -6598 3 Compute properties 0.191232 -6599 10 setActiveGrpsFunc 0.067776 -6600 4 Approximation 0.159232 -6601 8 Correct 0.025056 -6602 7 Energy 0.047808 -6603 9 Predict 0.143872 -6604 0 Sorting 3.24118 -6605 1 Data reordering 0.173664 -6606 2 Tree-construction 0.981056 -6607 11 Memory 0.00192 -6608 3 Compute properties 0.199904 -6609 10 setActiveGrpsFunc 0.068672 -6610 4 Approximation 0.15712 -6611 8 Correct 0.02512 -6612 7 Energy 0.048992 -6613 9 Predict 0.153568 -6614 0 Sorting 3.23789 -6615 1 Data reordering 0.164992 -6616 2 Tree-construction 0.884352 -6617 11 Memory 0.00192 -6618 3 Compute properties 0.192864 -6619 10 setActiveGrpsFunc 0.06752 -6620 4 Approximation 0.157024 -6621 8 Correct 0.034432 -6622 7 Energy 0.048256 -6623 9 Predict 0.144352 -6624 0 Sorting 3.23446 -6625 1 Data reordering 0.164832 -6626 2 Tree-construction 0.939072 -6627 11 Memory 0.00192 -6628 3 Compute properties 0.20144 -6629 10 setActiveGrpsFunc 0.068288 -6630 4 Approximation 0.156992 -6631 8 Correct 0.024992 -6632 7 Energy 0.048256 -6633 9 Predict 0.143776 -6634 0 Sorting 3.25261 -6635 1 Data reordering 0.164544 -6636 2 Tree-construction 0.882816 -6637 11 Memory 0.001888 -6638 3 Compute properties 0.194816 -6639 10 setActiveGrpsFunc 0.067648 -6640 4 Approximation 0.15536 -6641 8 Correct 0.025088 -6642 7 Energy 0.048 -6643 9 Predict 0.143424 -6644 0 Sorting 3.34118 -6645 1 Data reordering 0.172416 -6646 2 Tree-construction 0.895136 -6647 11 Memory 0.030176 -6648 3 Compute properties 0.202496 -6649 10 setActiveGrpsFunc 0.068608 -6650 4 Approximation 0.163456 -6651 8 Correct 0.025504 -6652 7 Energy 0.048928 -6653 9 Predict 0.147136 -6654 0 Sorting 3.24765 -6655 1 Data reordering 0.164544 -6656 2 Tree-construction 0.886816 -6657 11 Memory 0.028864 -6658 3 Compute properties 0.327744 -6659 10 setActiveGrpsFunc 0.069568 -6660 4 Approximation 0.161312 -6661 8 Correct 0.025088 -6662 7 Energy 0.04816 -6663 9 Predict 0.144128 -6664 0 Sorting 3.43123 -6665 1 Data reordering 0.1656 -6666 2 Tree-construction 1.04883 -6667 11 Memory 0.001888 -6668 3 Compute properties 0.356544 -6669 10 setActiveGrpsFunc 0.094304 -6670 4 Approximation 0.179968 -6671 8 Correct 0.026432 -6672 7 Energy 0.04976 -6673 9 Predict 0.144928 -6674 0 Sorting 3.45766 -6675 1 Data reordering 0.172544 -6676 2 Tree-construction 1.15178 -6677 11 Memory 0.001888 -6678 3 Compute properties 0.270464 -6679 10 setActiveGrpsFunc 0.091136 -6680 4 Approximation 0.17664 -6681 8 Correct 0.0344 -6682 7 Energy 0.067744 -6683 9 Predict 0.19136 -6684 0 Sorting 3.35254 -6685 1 Data reordering 0.16592 -6686 2 Tree-construction 0.889216 -6687 11 Memory 0.001888 -6688 3 Compute properties 0.201184 -6689 10 setActiveGrpsFunc 0.067872 -6690 4 Approximation 0.154368 -6691 8 Correct 0.025216 -6692 7 Energy 0.048544 -6693 9 Predict 0.144096 -6694 0 Sorting 3.23261 -6695 1 Data reordering 0.164224 -6696 2 Tree-construction 0.89616 -6697 11 Memory 0.001888 -6698 3 Compute properties 0.193408 -6699 10 setActiveGrpsFunc 0.067136 -6700 4 Approximation 0.153856 -6701 8 Correct 0.025152 -6702 7 Energy 0.048128 -6703 9 Predict 0.143968 -6704 0 Sorting 3.28134 -6705 1 Data reordering 0.165728 -6706 2 Tree-construction 0.888416 -6707 11 Memory 0.001888 -6708 3 Compute properties 0.200512 -6709 10 setActiveGrpsFunc 0.067808 -6710 4 Approximation 0.153344 -6711 8 Correct 0.025056 -6712 7 Energy 0.048256 -6713 9 Predict 0.144 -6714 0 Sorting 3.24778 -6715 1 Data reordering 0.164384 -6716 2 Tree-construction 0.88672 -6717 11 Memory 0.001888 -6718 3 Compute properties 0.20128 -6719 10 setActiveGrpsFunc 0.06768 -6720 4 Approximation 0.15232 -6721 8 Correct 0.024992 -6722 7 Energy 0.047808 -6723 9 Predict 0.144064 -6724 0 Sorting 3.36032 -6725 1 Data reordering 0.165792 -6726 2 Tree-construction 0.887744 -6727 11 Memory 0.001888 -6728 3 Compute properties 0.201824 -6729 10 setActiveGrpsFunc 0.067776 -6730 4 Approximation 0.153536 -6731 8 Correct 0.025632 -6732 7 Energy 0.04912 -6733 9 Predict 0.144352 -6734 0 Sorting 3.25101 -6735 1 Data reordering 0.165184 -6736 2 Tree-construction 0.892224 -6737 11 Memory 0.00192 -6738 3 Compute properties 0.200288 -6739 10 setActiveGrpsFunc 0.067936 -6740 4 Approximation 0.165344 -6741 8 Correct 0.03296 -6742 7 Energy 0.050976 -6743 9 Predict 0.144608 -6744 0 Sorting 3.24794 -6745 1 Data reordering 0.165024 -6746 2 Tree-construction 0.884864 -6747 11 Memory 0.001888 -6748 3 Compute properties 0.200512 -6749 10 setActiveGrpsFunc 0.067712 -6750 4 Approximation 0.153984 -6751 8 Correct 0.025088 -6752 7 Energy 0.04816 -6753 9 Predict 0.145184 -6754 0 Sorting 3.24109 -6755 1 Data reordering 0.164576 -6756 2 Tree-construction 0.897632 -6757 11 Memory 0.001888 -6758 3 Compute properties 0.268384 -6759 10 setActiveGrpsFunc 0.069344 -6760 4 Approximation 0.15456 -6761 8 Correct 0.025056 -6762 7 Energy 0.047904 -6763 9 Predict 0.1448 -6764 0 Sorting 3.23757 -6765 1 Data reordering 0.165856 -6766 2 Tree-construction 0.886464 -6767 11 Memory 0.001888 -6768 3 Compute properties 0.2008 -6769 10 setActiveGrpsFunc 0.067936 -6770 4 Approximation 0.15472 -6771 8 Correct 0.02512 -6772 7 Energy 0.048608 -6773 9 Predict 0.143744 -6774 0 Sorting 3.25392 -6775 1 Data reordering 0.164736 -6776 2 Tree-construction 0.940192 -6777 11 Memory 0.001888 -6778 3 Compute properties 0.204128 -6779 10 setActiveGrpsFunc 0.067872 -6780 4 Approximation 0.154336 -6781 8 Correct 0.024992 -6782 7 Energy 0.04816 -6783 9 Predict 0.14384 -6784 0 Sorting 3.25434 -6785 1 Data reordering 0.16464 -6786 2 Tree-construction 0.884832 -6787 11 Memory 0.00192 -6788 3 Compute properties 0.30224 -6789 10 setActiveGrpsFunc 0.069536 -6790 4 Approximation 0.156992 -6791 8 Correct 0.025024 -6792 7 Energy 0.048896 -6793 9 Predict 0.144416 -6794 0 Sorting 3.2489 -6795 1 Data reordering 0.164672 -6796 2 Tree-construction 0.946432 -6797 11 Memory 0.001888 -6798 3 Compute properties 0.245408 -6799 10 setActiveGrpsFunc 0.068672 -6800 4 Approximation 0.15648 -6801 8 Correct 0.025152 -6802 7 Energy 0.047872 -6803 9 Predict 0.144 -6804 0 Sorting 3.25709 -6805 1 Data reordering 0.165664 -6806 2 Tree-construction 0.8952 -6807 11 Memory 0.033344 -6808 3 Compute properties 0.341312 -6809 10 setActiveGrpsFunc 0.069472 -6810 4 Approximation 0.167424 -6811 8 Correct 0.02576 -6812 7 Energy 0.048416 -6813 9 Predict 0.143776 -6814 0 Sorting 3.28598 -6815 1 Data reordering 0.16512 -6816 2 Tree-construction 0.888096 -6817 11 Memory 0.001888 -6818 3 Compute properties 0.277696 -6819 10 setActiveGrpsFunc 0.069184 -6820 4 Approximation 0.155328 -6821 8 Correct 0.025504 -6822 7 Energy 0.05056 -6823 9 Predict 0.143904 -6824 0 Sorting 3.24112 -6825 1 Data reordering 0.164736 -6826 2 Tree-construction 0.884896 -6827 11 Memory 0.001888 -6828 3 Compute properties 0.27616 -6829 10 setActiveGrpsFunc 0.06944 -6830 4 Approximation 0.155808 -6831 8 Correct 0.025248 -6832 7 Energy 0.04832 -6833 9 Predict 0.143584 -6834 0 Sorting 3.37846 -6835 1 Data reordering 0.229472 -6836 2 Tree-construction 1.19504 -6837 11 Memory 0.001888 -6838 3 Compute properties 0.435808 -6839 10 setActiveGrpsFunc 0.07056 -6840 4 Approximation 0.158112 -6841 8 Correct 0.025184 -6842 7 Energy 0.048928 -6843 9 Predict 0.144256 -6844 0 Sorting 3.23808 -6845 1 Data reordering 0.16512 -6846 2 Tree-construction 0.885632 -6847 11 Memory 0.001888 -6848 3 Compute properties 0.33232 -6849 10 setActiveGrpsFunc 0.06976 -6850 4 Approximation 0.157184 -6851 8 Correct 0.025312 -6852 7 Energy 0.048384 -6853 9 Predict 0.15152 -6854 0 Sorting 3.28938 -6855 1 Data reordering 0.164896 -6856 2 Tree-construction 0.88512 -6857 11 Memory 0.001888 -6858 3 Compute properties 0.331264 -6859 10 setActiveGrpsFunc 0.069344 -6860 4 Approximation 0.15392 -6861 8 Correct 0.025184 -6862 7 Energy 0.04832 -6863 9 Predict 0.14432 -6864 0 Sorting 3.25328 -6865 1 Data reordering 0.164672 -6866 2 Tree-construction 0.88672 -6867 11 Memory 0.00192 -6868 3 Compute properties 0.273888 -6869 10 setActiveGrpsFunc 0.069152 -6870 4 Approximation 0.153184 -6871 8 Correct 0.025344 -6872 7 Energy 0.047808 -6873 9 Predict 0.144032 -6874 0 Sorting 3.34502 -6875 1 Data reordering 0.165472 -6876 2 Tree-construction 0.893728 -6877 11 Memory 0.001888 -6878 3 Compute properties 0.20448 -6879 10 setActiveGrpsFunc 0.068256 -6880 4 Approximation 0.15696 -6881 8 Correct 0.025248 -6882 7 Energy 0.048096 -6883 9 Predict 0.144256 -6884 0 Sorting 3.24429 -6885 1 Data reordering 0.163936 -6886 2 Tree-construction 0.884768 -6887 11 Memory 0.001888 -6888 3 Compute properties 0.2776 -6889 10 setActiveGrpsFunc 0.069216 -6890 4 Approximation 0.15536 -6891 8 Correct 0.025184 -6892 7 Energy 0.048416 -6893 9 Predict 0.144256 -6894 0 Sorting 3.28714 -6895 1 Data reordering 0.165152 -6896 2 Tree-construction 0.894368 -6897 11 Memory 0.030784 -6898 3 Compute properties 0.333568 -6899 10 setActiveGrpsFunc 0.069696 -6900 4 Approximation 0.16464 -6901 8 Correct 0.025184 -6902 7 Energy 0.048224 -6903 9 Predict 0.144448 -6904 0 Sorting 3.24176 -6905 1 Data reordering 0.16544 -6906 2 Tree-construction 0.8848 -6907 11 Memory 0.00192 -6908 3 Compute properties 0.364448 -6909 10 setActiveGrpsFunc 0.087392 -6910 4 Approximation 0.156416 -6911 8 Correct 0.02528 -6912 7 Energy 0.049216 -6913 9 Predict 0.144192 -6914 0 Sorting 3.25094 -6915 1 Data reordering 0.16496 -6916 2 Tree-construction 0.884864 -6917 11 Memory 0.001888 -6918 3 Compute properties 0.33104 -6919 10 setActiveGrpsFunc 0.06944 -6920 4 Approximation 0.155072 -6921 8 Correct 0.025184 -6922 7 Energy 0.047808 -6923 9 Predict 0.144288 -6924 0 Sorting 3.24806 -6925 1 Data reordering 0.16448 -6926 2 Tree-construction 0.92224 -6927 11 Memory 0.00192 -6928 3 Compute properties 0.275872 -6929 10 setActiveGrpsFunc 0.069312 -6930 4 Approximation 0.158304 -6931 8 Correct 0.025344 -6932 7 Energy 0.048288 -6933 9 Predict 0.14448 -6934 0 Sorting 3.39069 -6935 1 Data reordering 0.16528 -6936 2 Tree-construction 0.88656 -6937 11 Memory 0.001888 -6938 3 Compute properties 0.276448 -6939 10 setActiveGrpsFunc 0.069312 -6940 4 Approximation 0.159488 -6941 8 Correct 0.025152 -6942 7 Energy 0.048224 -6943 9 Predict 0.144288 -6944 0 Sorting 3.25194 -6945 1 Data reordering 0.201088 -6946 2 Tree-construction 0.925248 -6947 11 Memory 0.00192 -6948 3 Compute properties 0.333728 -6949 10 setActiveGrpsFunc 0.069632 -6950 4 Approximation 0.154272 -6951 8 Correct 0.025248 -6952 7 Energy 0.048224 -6953 9 Predict 0.143968 -6954 0 Sorting 3.24128 -6955 1 Data reordering 0.164416 -6956 2 Tree-construction 0.890304 -6957 11 Memory 0.00192 -6958 3 Compute properties 0.274208 -6959 10 setActiveGrpsFunc 0.069152 -6960 4 Approximation 0.147712 -6961 8 Correct 0.02512 -6962 7 Energy 0.048672 -6963 9 Predict 0.143648 -6964 0 Sorting 3.30832 -6965 1 Data reordering 0.183968 -6966 2 Tree-construction 0.907136 -6967 11 Memory 0.00192 -6968 3 Compute properties 0.201536 -6969 10 setActiveGrpsFunc 0.067776 -6970 4 Approximation 0.152544 -6971 8 Correct 0.025184 -6972 7 Energy 0.047968 -6973 9 Predict 0.144288 -6974 0 Sorting 3.24512 -6975 1 Data reordering 0.164256 -6976 2 Tree-construction 0.88576 -6977 11 Memory 0.001888 -6978 3 Compute properties 0.20096 -6979 10 setActiveGrpsFunc 0.067872 -6980 4 Approximation 0.15312 -6981 8 Correct 0.025024 -6982 7 Energy 0.04816 -6983 9 Predict 0.143968 -6984 0 Sorting 3.33478 -6985 1 Data reordering 0.165216 -6986 2 Tree-construction 0.887552 -6987 11 Memory 0.001888 -6988 3 Compute properties 0.201312 -6989 10 setActiveGrpsFunc 0.068416 -6990 4 Approximation 0.151968 -6991 8 Correct 0.025312 -6992 7 Energy 0.048224 -6993 9 Predict 0.144608 -6994 0 Sorting 3.25078 -6995 1 Data reordering 0.164384 -6996 2 Tree-construction 0.885824 -6997 11 Memory 0.001888 -6998 3 Compute properties 0.192992 -6999 10 setActiveGrpsFunc 0.067936 -7000 4 Approximation 0.151808 -7001 8 Correct 0.025024 -7002 7 Energy 0.048224 -7003 9 Predict 0.143744 -7004 0 Sorting 3.37693 -7005 1 Data reordering 0.16608 -7006 2 Tree-construction 0.888064 -7007 11 Memory 0.001888 -7008 3 Compute properties 0.200992 -7009 10 setActiveGrpsFunc 0.06832 -7010 4 Approximation 0.15392 -7011 8 Correct 0.025152 -7012 7 Energy 0.048608 -7013 9 Predict 0.143872 -7014 0 Sorting 3.25005 -7015 1 Data reordering 0.164672 -7016 2 Tree-construction 0.88384 -7017 11 Memory 0.001888 -7018 3 Compute properties 0.193696 -7019 10 setActiveGrpsFunc 0.068032 -7020 4 Approximation 0.155136 -7021 8 Correct 0.025504 -7022 7 Energy 0.049024 -7023 9 Predict 0.144224 -7024 0 Sorting 3.33786 -7025 1 Data reordering 0.165056 -7026 2 Tree-construction 0.88464 -7027 11 Memory 0.001888 -7028 3 Compute properties 0.20528 -7029 10 setActiveGrpsFunc 0.068512 -7030 4 Approximation 0.153056 -7031 8 Correct 0.025152 -7032 7 Energy 0.048544 -7033 9 Predict 0.143744 -7034 0 Sorting 3.24685 -7035 1 Data reordering 0.164448 -7036 2 Tree-construction 0.894272 -7037 11 Memory 0.001888 -7038 3 Compute properties 0.201664 -7039 10 setActiveGrpsFunc 0.067936 -7040 4 Approximation 0.154112 -7041 8 Correct 0.025216 -7042 7 Energy 0.047776 -7043 9 Predict 0.149888 -7044 0 Sorting 3.32998 -7045 1 Data reordering 0.165504 -7046 2 Tree-construction 0.88224 -7047 11 Memory 0.00192 -7048 3 Compute properties 0.20144 -7049 10 setActiveGrpsFunc 0.067936 -7050 4 Approximation 0.154816 -7051 8 Correct 0.025312 -7052 7 Energy 0.048448 -7053 9 Predict 0.144736 -7054 0 Sorting 3.25114 -7055 1 Data reordering 0.164128 -7056 2 Tree-construction 0.892416 -7057 11 Memory 0.00192 -7058 3 Compute properties 0.200384 -7059 10 setActiveGrpsFunc 0.07408 -7060 4 Approximation 0.153216 -7061 8 Correct 0.025216 -7062 7 Energy 0.048288 -7063 9 Predict 0.144832 -7064 0 Sorting 3.63478 -7065 1 Data reordering 0.226496 -7066 2 Tree-construction 1.03926 -7067 11 Memory 0.001888 -7068 3 Compute properties 0.193376 -7069 10 setActiveGrpsFunc 0.068544 -7070 4 Approximation 0.156384 -7071 8 Correct 0.02512 -7072 7 Energy 0.048608 -7073 9 Predict 0.144896 -7074 0 Sorting 3.2496 -7075 1 Data reordering 0.164928 -7076 2 Tree-construction 0.8936 -7077 11 Memory 0.001888 -7078 3 Compute properties 0.200928 -7079 10 setActiveGrpsFunc 0.068192 -7080 4 Approximation 0.154816 -7081 8 Correct 0.025056 -7082 7 Energy 0.08752 -7083 9 Predict 0.172832 -7084 0 Sorting 3.29482 -7085 1 Data reordering 0.164768 -7086 2 Tree-construction 0.886656 -7087 11 Memory 0.00192 -7088 3 Compute properties 0.200672 -7089 10 setActiveGrpsFunc 0.06864 -7090 4 Approximation 0.15472 -7091 8 Correct 0.02512 -7092 7 Energy 0.048192 -7093 9 Predict 0.144288 -7094 0 Sorting 3.24323 -7095 1 Data reordering 0.165056 -7096 2 Tree-construction 0.895232 -7097 11 Memory 0.00192 -7098 3 Compute properties 0.246592 -7099 10 setActiveGrpsFunc 0.079936 -7100 4 Approximation 0.157472 -7101 8 Correct 0.025216 -7102 7 Energy 0.048512 -7103 9 Predict 0.163968 -7104 0 Sorting 3.26352 -7105 1 Data reordering 0.163936 -7106 2 Tree-construction 0.88528 -7107 11 Memory 0.001888 -7108 3 Compute properties 0.192832 -7109 10 setActiveGrpsFunc 0.067776 -7110 4 Approximation 0.155936 -7111 8 Correct 0.025024 -7112 7 Energy 0.047808 -7113 9 Predict 0.143456 -7114 0 Sorting 3.2505 -7115 1 Data reordering 0.164928 -7116 2 Tree-construction 0.950368 -7117 11 Memory 0.001888 -7118 3 Compute properties 0.192416 -7119 10 setActiveGrpsFunc 0.082048 -7120 4 Approximation 0.15856 -7121 8 Correct 0.025248 -7122 7 Energy 0.048224 -7123 9 Predict 0.143552 -7124 0 Sorting 3.2529 -7125 1 Data reordering 0.165056 -7126 2 Tree-construction 0.882624 -7127 11 Memory 0.001888 -7128 3 Compute properties 0.200032 -7129 10 setActiveGrpsFunc 0.068288 -7130 4 Approximation 0.155008 -7131 8 Correct 0.025216 -7132 7 Energy 0.048192 -7133 9 Predict 0.144096 -7134 0 Sorting 3.25155 -7135 1 Data reordering 0.164256 -7136 2 Tree-construction 0.977792 -7137 11 Memory 0.001888 -7138 3 Compute properties 0.200608 -7139 10 setActiveGrpsFunc 0.068096 -7140 4 Approximation 0.157152 -7141 8 Correct 0.02528 -7142 7 Energy 0.049984 -7143 9 Predict 0.144704 -7144 0 Sorting 3.24234 -7145 1 Data reordering 0.174624 -7146 2 Tree-construction 0.883552 -7147 11 Memory 0.001888 -7148 3 Compute properties 0.199456 -7149 10 setActiveGrpsFunc 0.067712 -7150 4 Approximation 0.156256 -7151 8 Correct 0.025216 -7152 7 Energy 0.048288 -7153 9 Predict 0.144192 -7154 0 Sorting 3.24432 -7155 1 Data reordering 0.198944 -7156 2 Tree-construction 0.896416 -7157 11 Memory 0.001888 -7158 3 Compute properties 0.201248 -7159 10 setActiveGrpsFunc 0.06816 -7160 4 Approximation 0.155328 -7161 8 Correct 0.025152 -7162 7 Energy 0.048288 -7163 9 Predict 0.144288 -7164 0 Sorting 3.3817 -7165 1 Data reordering 0.16496 -7166 2 Tree-construction 0.976736 -7167 11 Memory 0.001888 -7168 3 Compute properties 0.198624 -7169 10 setActiveGrpsFunc 0.067936 -7170 4 Approximation 0.155968 -7171 8 Correct 0.025184 -7172 7 Energy 0.048704 -7173 9 Predict 0.144416 -7174 0 Sorting 3.30282 -7175 1 Data reordering 0.169056 -7176 2 Tree-construction 0.884096 -7177 11 Memory 0.00192 -7178 3 Compute properties 0.201632 -7179 10 setActiveGrpsFunc 0.068192 -7180 4 Approximation 0.154368 -7181 8 Correct 0.025248 -7182 7 Energy 0.048416 -7183 9 Predict 0.144224 -7184 0 Sorting 3.23584 -7185 1 Data reordering 0.164064 -7186 2 Tree-construction 0.886976 -7187 11 Memory 0.00192 -7188 3 Compute properties 0.199072 -7189 10 setActiveGrpsFunc 0.078336 -7190 4 Approximation 0.15776 -7191 8 Correct 0.025248 -7192 7 Energy 0.047776 -7193 9 Predict 0.143552 -7194 0 Sorting 3.33533 -7195 1 Data reordering 0.165248 -7196 2 Tree-construction 0.8984 -7197 11 Memory 0.001888 -7198 3 Compute properties 0.199584 -7199 10 setActiveGrpsFunc 0.067936 -7200 4 Approximation 0.15488 -7201 8 Correct 0.02512 -7202 7 Energy 0.048256 -7203 9 Predict 0.143744 -7204 0 Sorting 3.2489 -7205 1 Data reordering 0.164032 -7206 2 Tree-construction 0.885664 -7207 11 Memory 0.001888 -7208 3 Compute properties 0.19088 -7209 10 setActiveGrpsFunc 0.067904 -7210 4 Approximation 0.15472 -7211 8 Correct 0.025024 -7212 7 Energy 0.047744 -7213 9 Predict 0.143648 -7214 0 Sorting 3.3096 -7215 1 Data reordering 0.164608 -7216 2 Tree-construction 0.886592 -7217 11 Memory 0.00192 -7218 3 Compute properties 0.191136 -7219 10 setActiveGrpsFunc 0.068224 -7220 4 Approximation 0.156128 -7221 8 Correct 0.025184 -7222 7 Energy 0.04816 -7223 9 Predict 0.143744 -7224 0 Sorting 3.24605 -7225 1 Data reordering 0.164384 -7226 2 Tree-construction 0.886976 -7227 11 Memory 0.00192 -7228 3 Compute properties 0.198624 -7229 10 setActiveGrpsFunc 0.067584 -7230 4 Approximation 0.155648 -7231 8 Correct 0.025184 -7232 7 Energy 0.048064 -7233 9 Predict 0.143552 -7234 0 Sorting 3.29619 -7235 1 Data reordering 0.164864 -7236 2 Tree-construction 0.897056 -7237 11 Memory 0.001888 -7238 3 Compute properties 0.197184 -7239 10 setActiveGrpsFunc 0.06784 -7240 4 Approximation 0.15696 -7241 8 Correct 0.025152 -7242 7 Energy 0.048672 -7243 9 Predict 0.14432 -7244 0 Sorting 3.24077 -7245 1 Data reordering 0.164224 -7246 2 Tree-construction 0.886112 -7247 11 Memory 0.001888 -7248 3 Compute properties 0.19056 -7249 10 setActiveGrpsFunc 0.067488 -7250 4 Approximation 0.156064 -7251 8 Correct 0.025184 -7252 7 Energy 0.047776 -7253 9 Predict 0.150784 -7254 0 Sorting 3.29536 -7255 1 Data reordering 0.165184 -7256 2 Tree-construction 0.887552 -7257 11 Memory 0.00192 -7258 3 Compute properties 0.199456 -7259 10 setActiveGrpsFunc 0.068032 -7260 4 Approximation 0.156896 -7261 8 Correct 0.02512 -7262 7 Energy 0.048064 -7263 9 Predict 0.144288 -7264 0 Sorting 3.24688 -7265 1 Data reordering 0.16416 -7266 2 Tree-construction 0.885824 -7267 11 Memory 0.001888 -7268 3 Compute properties 0.191648 -7269 10 setActiveGrpsFunc 0.067616 -7270 4 Approximation 0.156128 -7271 8 Correct 0.025056 -7272 7 Energy 0.048224 -7273 9 Predict 0.143776 -7274 0 Sorting 3.3561 -7275 1 Data reordering 0.165504 -7276 2 Tree-construction 0.886848 -7277 11 Memory 0.00192 -7278 3 Compute properties 0.191232 -7279 10 setActiveGrpsFunc 0.067456 -7280 4 Approximation 0.156576 -7281 8 Correct 0.025024 -7282 7 Energy 0.04832 -7283 9 Predict 0.144704 -7284 0 Sorting 3.24774 -7285 1 Data reordering 0.164448 -7286 2 Tree-construction 0.886432 -7287 11 Memory 0.001888 -7288 3 Compute properties 0.198592 -7289 10 setActiveGrpsFunc 0.068 -7290 4 Approximation 0.157984 -7291 8 Correct 0.025056 -7292 7 Energy 0.048032 -7293 9 Predict 0.143584 -7294 0 Sorting 3.28586 -7295 1 Data reordering 0.19744 -7296 2 Tree-construction 1.19178 -7297 11 Memory 0.001952 -7298 3 Compute properties 0.26816 -7299 10 setActiveGrpsFunc 0.090464 -7300 4 Approximation 0.179072 -7301 8 Correct 0.033472 -7302 7 Energy 0.066208 -7303 9 Predict 0.147616 -7304 0 Sorting 3.23744 -7305 1 Data reordering 0.16496 -7306 2 Tree-construction 0.887424 -7307 11 Memory 0.001888 -7308 3 Compute properties 0.20336 -7309 10 setActiveGrpsFunc 0.108448 -7310 4 Approximation 0.17312 -7311 8 Correct 0.02592 -7312 7 Energy 0.049088 -7313 9 Predict 0.145184 -7314 0 Sorting 3.24118 -7315 1 Data reordering 0.164224 -7316 2 Tree-construction 0.887296 -7317 11 Memory 0.001888 -7318 3 Compute properties 0.198912 -7319 10 setActiveGrpsFunc 0.067744 -7320 4 Approximation 0.156992 -7321 8 Correct 0.024992 -7322 7 Energy 0.047712 -7323 9 Predict 0.144288 -7324 0 Sorting 3.25386 -7325 1 Data reordering 0.164352 -7326 2 Tree-construction 0.948352 -7327 11 Memory 0.001888 -7328 3 Compute properties 0.192352 -7329 10 setActiveGrpsFunc 0.068064 -7330 4 Approximation 0.157632 -7331 8 Correct 0.025216 -7332 7 Energy 0.048 -7333 9 Predict 0.143744 -7334 0 Sorting 3.24467 -7335 1 Data reordering 0.164192 -7336 2 Tree-construction 0.88688 -7337 11 Memory 0.00192 -7338 3 Compute properties 0.20272 -7339 10 setActiveGrpsFunc 0.068128 -7340 4 Approximation 0.158688 -7341 8 Correct 0.025152 -7342 7 Energy 0.048 -7343 9 Predict 0.144576 -7344 0 Sorting 3.23722 -7345 1 Data reordering 0.173696 -7346 2 Tree-construction 0.991232 -7347 11 Memory 0.001888 -7348 3 Compute properties 0.200576 -7349 10 setActiveGrpsFunc 0.068256 -7350 4 Approximation 0.158144 -7351 8 Correct 0.0256 -7352 7 Energy 0.048896 -7353 9 Predict 0.144576 -7354 0 Sorting 3.2407 -7355 1 Data reordering 0.16496 -7356 2 Tree-construction 0.886112 -7357 11 Memory 0.00192 -7358 3 Compute properties 0.19808 -7359 10 setActiveGrpsFunc 0.067712 -7360 4 Approximation 0.158912 -7361 8 Correct 0.025056 -7362 7 Energy 0.047776 -7363 9 Predict 0.144064 -7364 0 Sorting 3.24717 -7365 1 Data reordering 0.163904 -7366 2 Tree-construction 0.918752 -7367 11 Memory 0.00192 -7368 3 Compute properties 0.192192 -7369 10 setActiveGrpsFunc 0.068 -7370 4 Approximation 0.157632 -7371 8 Correct 0.024544 -7372 7 Energy 0.048832 -7373 9 Predict 0.145088 -7374 0 Sorting 3.23629 -7375 1 Data reordering 0.174592 -7376 2 Tree-construction 0.885824 -7377 11 Memory 0.001888 -7378 3 Compute properties 0.1912 -7379 10 setActiveGrpsFunc 0.067584 -7380 4 Approximation 0.157184 -7381 8 Correct 0.024992 -7382 7 Energy 0.048256 -7383 9 Predict 0.144192 -7384 0 Sorting 3.29226 -7385 1 Data reordering 0.164672 -7386 2 Tree-construction 0.887584 -7387 11 Memory 0.001888 -7388 3 Compute properties 0.200064 -7389 10 setActiveGrpsFunc 0.068064 -7390 4 Approximation 0.157504 -7391 8 Correct 0.034592 -7392 7 Energy 0.048288 -7393 9 Predict 0.144224 -7394 0 Sorting 3.23392 -7395 1 Data reordering 0.164384 -7396 2 Tree-construction 0.885408 -7397 11 Memory 0.001888 -7398 3 Compute properties 0.199872 -7399 10 setActiveGrpsFunc 0.067648 -7400 4 Approximation 0.158464 -7401 8 Correct 0.025056 -7402 7 Energy 0.047712 -7403 9 Predict 0.144544 -7404 0 Sorting 3.30422 -7405 1 Data reordering 0.16512 -7406 2 Tree-construction 0.886784 -7407 11 Memory 0.001888 -7408 3 Compute properties 0.203872 -7409 10 setActiveGrpsFunc 0.068096 -7410 4 Approximation 0.158016 -7411 8 Correct 0.024992 -7412 7 Energy 0.04832 -7413 9 Predict 0.143744 -7414 0 Sorting 3.2488 -7415 1 Data reordering 0.164096 -7416 2 Tree-construction 0.886208 -7417 11 Memory 0.001888 -7418 3 Compute properties 0.200608 -7419 10 setActiveGrpsFunc 0.067872 -7420 4 Approximation 0.158112 -7421 8 Correct 0.025088 -7422 7 Energy 0.047936 -7423 9 Predict 0.144032 -7424 0 Sorting 3.3464 -7425 1 Data reordering 0.175328 -7426 2 Tree-construction 0.88816 -7427 11 Memory 0.001888 -7428 3 Compute properties 0.198272 -7429 10 setActiveGrpsFunc 0.078432 -7430 4 Approximation 0.157152 -7431 8 Correct 0.024992 -7432 7 Energy 0.048 -7433 9 Predict 0.156192 -7434 0 Sorting 3.24365 -7435 1 Data reordering 0.164768 -7436 2 Tree-construction 0.897248 -7437 11 Memory 0.001888 -7438 3 Compute properties 0.201376 -7439 10 setActiveGrpsFunc 0.067616 -7440 4 Approximation 0.158464 -7441 8 Correct 0.02512 -7442 7 Energy 0.047744 -7443 9 Predict 0.144064 -7444 0 Sorting 3.28746 -7445 1 Data reordering 0.164992 -7446 2 Tree-construction 0.89456 -7447 11 Memory 0.00192 -7448 3 Compute properties 0.199744 -7449 10 setActiveGrpsFunc 0.067968 -7450 4 Approximation 0.15808 -7451 8 Correct 0.02496 -7452 7 Energy 0.048128 -7453 9 Predict 0.144224 -7454 0 Sorting 3.24077 -7455 1 Data reordering 0.21296 -7456 2 Tree-construction 1.18474 -7457 11 Memory 0.001888 -7458 3 Compute properties 0.272224 -7459 10 setActiveGrpsFunc 0.0904 -7460 4 Approximation 0.179456 -7461 8 Correct 0.034048 -7462 7 Energy 0.067936 -7463 9 Predict 0.147488 -7464 0 Sorting 3.30522 -7465 1 Data reordering 0.164736 -7466 2 Tree-construction 0.889632 -7467 11 Memory 0.001888 -7468 3 Compute properties 0.20144 -7469 10 setActiveGrpsFunc 0.067616 -7470 4 Approximation 0.157088 -7471 8 Correct 0.025088 -7472 7 Energy 0.0488 -7473 9 Predict 0.14416 -7474 0 Sorting 3.25181 -7475 1 Data reordering 0.164352 -7476 2 Tree-construction 0.885952 -7477 11 Memory 0.001888 -7478 3 Compute properties 0.19984 -7479 10 setActiveGrpsFunc 0.067616 -7480 4 Approximation 0.158112 -7481 8 Correct 0.025216 -7482 7 Energy 0.047904 -7483 9 Predict 0.143296 -7484 0 Sorting 3.3025 -7485 1 Data reordering 0.164768 -7486 2 Tree-construction 0.88656 -7487 11 Memory 0.001888 -7488 3 Compute properties 0.200384 -7489 10 setActiveGrpsFunc 0.068128 -7490 4 Approximation 0.156096 -7491 8 Correct 0.025024 -7492 7 Energy 0.04816 -7493 9 Predict 0.143424 -7494 0 Sorting 3.24182 -7495 1 Data reordering 0.163872 -7496 2 Tree-construction 0.893888 -7497 11 Memory 0.001888 -7498 3 Compute properties 0.200896 -7499 10 setActiveGrpsFunc 0.067776 -7500 4 Approximation 0.156832 -7501 8 Correct 0.025024 -7502 7 Energy 0.048128 -7503 9 Predict 0.143552 -7504 0 Sorting 3.35184 -7505 1 Data reordering 0.164672 -7506 2 Tree-construction 0.899104 -7507 11 Memory 0.001888 -7508 3 Compute properties 0.198784 -7509 10 setActiveGrpsFunc 0.068224 -7510 4 Approximation 0.160128 -7511 8 Correct 0.02528 -7512 7 Energy 0.048256 -7513 9 Predict 0.143968 -7514 0 Sorting 3.28986 -7515 1 Data reordering 0.187872 -7516 2 Tree-construction 0.959872 -7517 11 Memory 0.001888 -7518 3 Compute properties 0.197856 -7519 10 setActiveGrpsFunc 0.068352 -7520 4 Approximation 0.172064 -7521 8 Correct 0.026304 -7522 7 Energy 0.048896 -7523 9 Predict 0.14592 -7524 0 Sorting 3.25526 -7525 1 Data reordering 0.1656 -7526 2 Tree-construction 0.894048 -7527 11 Memory 0.00192 -7528 3 Compute properties 0.19824 -7529 10 setActiveGrpsFunc 0.068032 -7530 4 Approximation 0.158016 -7531 8 Correct 0.025248 -7532 7 Energy 0.04848 -7533 9 Predict 0.144032 -7534 0 Sorting 3.23907 -7535 1 Data reordering 0.164128 -7536 2 Tree-construction 0.886176 -7537 11 Memory 0.00192 -7538 3 Compute properties 0.285216 -7539 10 setActiveGrpsFunc 0.07456 -7540 4 Approximation 0.157952 -7541 8 Correct 0.02528 -7542 7 Energy 0.067104 -7543 9 Predict 0.14528 -7544 0 Sorting 3.26912 -7545 1 Data reordering 0.164576 -7546 2 Tree-construction 0.886816 -7547 11 Memory 0.00192 -7548 3 Compute properties 0.198112 -7549 10 setActiveGrpsFunc 0.067744 -7550 4 Approximation 0.1568 -7551 8 Correct 0.025152 -7552 7 Energy 0.048416 -7553 9 Predict 0.143552 -7554 0 Sorting 3.25114 -7555 1 Data reordering 0.163648 -7556 2 Tree-construction 0.987808 -7557 11 Memory 0.001888 -7558 3 Compute properties 0.210336 -7559 10 setActiveGrpsFunc 0.088224 -7560 4 Approximation 0.158944 -7561 8 Correct 0.02512 -7562 7 Energy 0.048288 -7563 9 Predict 0.144384 -7564 0 Sorting 3.24954 -7565 1 Data reordering 0.164032 -7566 2 Tree-construction 0.886528 -7567 11 Memory 0.00192 -7568 3 Compute properties 0.197696 -7569 10 setActiveGrpsFunc 0.06768 -7570 4 Approximation 0.157664 -7571 8 Correct 0.025248 -7572 7 Energy 0.04816 -7573 9 Predict 0.144384 -7574 0 Sorting 3.24051 -7575 1 Data reordering 0.171968 -7576 2 Tree-construction 0.972544 -7577 11 Memory 0.001888 -7578 3 Compute properties 0.201952 -7579 10 setActiveGrpsFunc 0.068384 -7580 4 Approximation 0.158048 -7581 8 Correct 0.025056 -7582 7 Energy 0.048832 -7583 9 Predict 0.144192 -7584 0 Sorting 3.24083 -7585 1 Data reordering 0.164832 -7586 2 Tree-construction 0.888288 -7587 11 Memory 0.00192 -7588 3 Compute properties 0.198144 -7589 10 setActiveGrpsFunc 0.067552 -7590 4 Approximation 0.158624 -7591 8 Correct 0.025152 -7592 7 Energy 0.048512 -7593 9 Predict 0.14384 -7594 0 Sorting 3.2992 -7595 1 Data reordering 0.171904 -7596 2 Tree-construction 0.942208 -7597 11 Memory 0.00192 -7598 3 Compute properties 0.190368 -7599 10 setActiveGrpsFunc 0.067936 -7600 4 Approximation 0.158272 -7601 8 Correct 0.025088 -7602 7 Energy 0.050528 -7603 9 Predict 0.144384 -7604 0 Sorting 3.24755 -7605 1 Data reordering 0.165024 -7606 2 Tree-construction 0.88672 -7607 11 Memory 0.001888 -7608 3 Compute properties 0.200736 -7609 10 setActiveGrpsFunc 0.067776 -7610 4 Approximation 0.156512 -7611 8 Correct 0.025152 -7612 7 Energy 0.048096 -7613 9 Predict 0.143456 -7614 0 Sorting 3.3081 -7615 1 Data reordering 0.16544 -7616 2 Tree-construction 0.907008 -7617 11 Memory 0.001888 -7618 3 Compute properties 0.200704 -7619 10 setActiveGrpsFunc 0.068128 -7620 4 Approximation 0.157536 -7621 8 Correct 0.025088 -7622 7 Energy 0.04848 -7623 9 Predict 0.144032 -7624 0 Sorting 3.25018 -7625 1 Data reordering 0.164224 -7626 2 Tree-construction 0.886912 -7627 11 Memory 0.00192 -7628 3 Compute properties 0.19792 -7629 10 setActiveGrpsFunc 0.067936 -7630 4 Approximation 0.156832 -7631 8 Correct 0.02496 -7632 7 Energy 0.048192 -7633 9 Predict 0.143424 -7634 0 Sorting 3.33651 -7635 1 Data reordering 0.165312 -7636 2 Tree-construction 0.89792 -7637 11 Memory 0.001888 -7638 3 Compute properties 0.190432 -7639 10 setActiveGrpsFunc 0.067456 -7640 4 Approximation 0.157664 -7641 8 Correct 0.025152 -7642 7 Energy 0.04816 -7643 9 Predict 0.143552 -7644 0 Sorting 3.23955 -7645 1 Data reordering 0.163968 -7646 2 Tree-construction 0.885696 -7647 11 Memory 0.00192 -7648 3 Compute properties 0.197216 -7649 10 setActiveGrpsFunc 0.067936 -7650 4 Approximation 0.15648 -7651 8 Correct 0.025056 -7652 7 Energy 0.048576 -7653 9 Predict 0.14304 -7654 0 Sorting 3.34739 -7655 1 Data reordering 0.164992 -7656 2 Tree-construction 0.889216 -7657 11 Memory 0.001888 -7658 3 Compute properties 0.189984 -7659 10 setActiveGrpsFunc 0.067808 -7660 4 Approximation 0.156864 -7661 8 Correct 0.025184 -7662 7 Energy 0.048064 -7663 9 Predict 0.143616 -7664 0 Sorting 3.2479 -7665 1 Data reordering 0.164096 -7666 2 Tree-construction 0.886208 -7667 11 Memory 0.001888 -7668 3 Compute properties 0.189696 -7669 10 setActiveGrpsFunc 0.068064 -7670 4 Approximation 0.156672 -7671 8 Correct 0.025184 -7672 7 Energy 0.048384 -7673 9 Predict 0.144192 -7674 0 Sorting 3.34768 -7675 1 Data reordering 0.1656 -7676 2 Tree-construction 0.888384 -7677 11 Memory 0.001984 -7678 3 Compute properties 0.189952 -7679 10 setActiveGrpsFunc 0.068064 -7680 4 Approximation 0.156192 -7681 8 Correct 0.025088 -7682 7 Energy 0.048096 -7683 9 Predict 0.143968 -7684 0 Sorting 3.24211 -7685 1 Data reordering 0.16544 -7686 2 Tree-construction 1.18659 -7687 11 Memory 0.00192 -7688 3 Compute properties 0.272416 -7689 10 setActiveGrpsFunc 0.090656 -7690 4 Approximation 0.176896 -7691 8 Correct 0.033504 -7692 7 Energy 0.067808 -7693 9 Predict 0.173792 -7694 0 Sorting 3.3279 -7695 1 Data reordering 0.166048 -7696 2 Tree-construction 0.901728 -7697 11 Memory 0.001856 -7698 3 Compute properties 0.197536 -7699 10 setActiveGrpsFunc 0.06784 -7700 4 Approximation 0.156384 -7701 8 Correct 0.02512 -7702 7 Energy 0.048224 -7703 9 Predict 0.144192 -7704 0 Sorting 3.28086 -7705 1 Data reordering 0.188416 -7706 2 Tree-construction 0.93936 -7707 11 Memory 0.001888 -7708 3 Compute properties 0.190208 -7709 10 setActiveGrpsFunc 0.077216 -7710 4 Approximation 0.156576 -7711 8 Correct 0.025056 -7712 7 Energy 0.048192 -7713 9 Predict 0.173152 -7714 0 Sorting 3.55622 -7715 1 Data reordering 0.165536 -7716 2 Tree-construction 1.02157 -7717 11 Memory 0.001888 -7718 3 Compute properties 0.229568 -7719 10 setActiveGrpsFunc 0.074432 -7720 4 Approximation 0.186432 -7721 8 Correct 0.025568 -7722 7 Energy 0.055008 -7723 9 Predict 0.145376 -7724 0 Sorting 3.42899 -7725 1 Data reordering 0.175904 -7726 2 Tree-construction 0.984224 -7727 11 Memory 0.010496 -7728 3 Compute properties 0.208192 -7729 10 setActiveGrpsFunc 0.068608 -7730 4 Approximation 0.15744 -7731 8 Correct 0.025152 -7732 7 Energy 0.048512 -7733 9 Predict 0.14512 -7734 0 Sorting 3.23773 -7735 1 Data reordering 0.164128 -7736 2 Tree-construction 0.890016 -7737 11 Memory 0.001888 -7738 3 Compute properties 0.19744 -7739 10 setActiveGrpsFunc 0.067584 -7740 4 Approximation 0.156928 -7741 8 Correct 0.025216 -7742 7 Energy 0.047904 -7743 9 Predict 0.144608 -7744 0 Sorting 3.244 -7745 1 Data reordering 0.164512 -7746 2 Tree-construction 0.97552 -7747 11 Memory 0.00192 -7748 3 Compute properties 0.202176 -7749 10 setActiveGrpsFunc 0.06816 -7750 4 Approximation 0.157792 -7751 8 Correct 0.025056 -7752 7 Energy 0.048672 -7753 9 Predict 0.144096 -7754 0 Sorting 3.25299 -7755 1 Data reordering 0.165088 -7756 2 Tree-construction 0.889632 -7757 11 Memory 0.001888 -7758 3 Compute properties 0.19744 -7759 10 setActiveGrpsFunc 0.06736 -7760 4 Approximation 0.157184 -7761 8 Correct 0.02512 -7762 7 Energy 0.048384 -7763 9 Predict 0.144672 -7764 0 Sorting 3.29712 -7765 1 Data reordering 0.1656 -7766 2 Tree-construction 0.899616 -7767 11 Memory 0.00192 -7768 3 Compute properties 0.198304 -7769 10 setActiveGrpsFunc 0.067776 -7770 4 Approximation 0.15792 -7771 8 Correct 0.025024 -7772 7 Energy 0.048448 -7773 9 Predict 0.144192 -7774 0 Sorting 3.23955 -7775 1 Data reordering 0.164288 -7776 2 Tree-construction 0.898368 -7777 11 Memory 0.001888 -7778 3 Compute properties 0.197312 -7779 10 setActiveGrpsFunc 0.067904 -7780 4 Approximation 0.157664 -7781 8 Correct 0.025216 -7782 7 Energy 0.04864 -7783 9 Predict 0.144416 -7784 0 Sorting 3.29162 -7785 1 Data reordering 0.16576 -7786 2 Tree-construction 0.88832 -7787 11 Memory 0.001888 -7788 3 Compute properties 0.190496 -7789 10 setActiveGrpsFunc 0.067552 -7790 4 Approximation 0.15808 -7791 8 Correct 0.025056 -7792 7 Energy 0.048032 -7793 9 Predict 0.15216 -7794 0 Sorting 3.24662 -7795 1 Data reordering 0.164384 -7796 2 Tree-construction 0.888896 -7797 11 Memory 0.00192 -7798 3 Compute properties 0.201024 -7799 10 setActiveGrpsFunc 0.067936 -7800 4 Approximation 0.156704 -7801 8 Correct 0.025088 -7802 7 Energy 0.047456 -7803 9 Predict 0.144064 -7804 0 Sorting 3.33878 -7805 1 Data reordering 0.165184 -7806 2 Tree-construction 0.897952 -7807 11 Memory 0.00192 -7808 3 Compute properties 0.199104 -7809 10 setActiveGrpsFunc 0.067776 -7810 4 Approximation 0.15744 -7811 8 Correct 0.025248 -7812 7 Energy 0.048192 -7813 9 Predict 0.143936 -7814 0 Sorting 3.24496 -7815 1 Data reordering 0.164 -7816 2 Tree-construction 0.88672 -7817 11 Memory 0.001888 -7818 3 Compute properties 0.19168 -7819 10 setActiveGrpsFunc 0.067328 -7820 4 Approximation 0.156864 -7821 8 Correct 0.025056 -7822 7 Energy 0.047424 -7823 9 Predict 0.143904 -7824 0 Sorting 3.30403 -7825 1 Data reordering 0.166208 -7826 2 Tree-construction 0.889216 -7827 11 Memory 0.00192 -7828 3 Compute properties 0.1976 -7829 10 setActiveGrpsFunc 0.067808 -7830 4 Approximation 0.1576 -7831 8 Correct 0.025152 -7832 7 Energy 0.048608 -7833 9 Predict 0.144352 -7834 0 Sorting 3.2337 -7835 1 Data reordering 0.163936 -7836 2 Tree-construction 0.894816 -7837 11 Memory 0.00192 -7838 3 Compute properties 0.201312 -7839 10 setActiveGrpsFunc 0.067712 -7840 4 Approximation 0.157984 -7841 8 Correct 0.025152 -7842 7 Energy 0.047872 -7843 9 Predict 0.144256 -7844 0 Sorting 3.28794 -7845 1 Data reordering 0.164992 -7846 2 Tree-construction 0.889728 -7847 11 Memory 0.00192 -7848 3 Compute properties 0.190688 -7849 10 setActiveGrpsFunc 0.067616 -7850 4 Approximation 0.158624 -7851 8 Correct 0.024992 -7852 7 Energy 0.048448 -7853 9 Predict 0.144256 -7854 0 Sorting 3.2511 -7855 1 Data reordering 0.164032 -7856 2 Tree-construction 0.887776 -7857 11 Memory 0.001888 -7858 3 Compute properties 0.198688 -7859 10 setActiveGrpsFunc 0.067648 -7860 4 Approximation 0.158496 -7861 8 Correct 0.025088 -7862 7 Energy 0.04784 -7863 9 Predict 0.14448 -7864 0 Sorting 3.33802 -7865 1 Data reordering 0.165376 -7866 2 Tree-construction 0.887616 -7867 11 Memory 0.001888 -7868 3 Compute properties 0.190848 -7869 10 setActiveGrpsFunc 0.067328 -7870 4 Approximation 0.158336 -7871 8 Correct 0.02496 -7872 7 Energy 0.04848 -7873 9 Predict 0.143808 -7874 0 Sorting 3.25334 -7875 1 Data reordering 0.16512 -7876 2 Tree-construction 0.888256 -7877 11 Memory 0.00192 -7878 3 Compute properties 0.197312 -7879 10 setActiveGrpsFunc 0.067744 -7880 4 Approximation 0.158912 -7881 8 Correct 0.025152 -7882 7 Energy 0.048096 -7883 9 Predict 0.144256 -7884 0 Sorting 3.34678 -7885 1 Data reordering 0.165504 -7886 2 Tree-construction 0.886688 -7887 11 Memory 0.001888 -7888 3 Compute properties 0.19952 -7889 10 setActiveGrpsFunc 0.067904 -7890 4 Approximation 0.159136 -7891 8 Correct 0.025184 -7892 7 Energy 0.048352 -7893 9 Predict 0.145376 -7894 0 Sorting 3.2511 -7895 1 Data reordering 0.164352 -7896 2 Tree-construction 0.894016 -7897 11 Memory 0.00192 -7898 3 Compute properties 0.197376 -7899 10 setActiveGrpsFunc 0.068288 -7900 4 Approximation 0.158912 -7901 8 Correct 0.025248 -7902 7 Energy 0.048064 -7903 9 Predict 0.143936 -7904 0 Sorting 3.29901 -7905 1 Data reordering 0.165472 -7906 2 Tree-construction 0.888768 -7907 11 Memory 0.001888 -7908 3 Compute properties 0.19856 -7909 10 setActiveGrpsFunc 0.068384 -7910 4 Approximation 0.15744 -7911 8 Correct 0.025216 -7912 7 Energy 0.048064 -7913 9 Predict 0.143648 -7914 0 Sorting 3.43107 -7915 1 Data reordering 0.237856 -7916 2 Tree-construction 1.18541 -7917 11 Memory 0.00192 -7918 3 Compute properties 0.200448 -7919 10 setActiveGrpsFunc 0.087776 -7920 4 Approximation 0.161856 -7921 8 Correct 0.025664 -7922 7 Energy 0.048192 -7923 9 Predict 0.144576 -7924 0 Sorting 3.23734 -7925 1 Data reordering 0.164064 -7926 2 Tree-construction 0.887968 -7927 11 Memory 0.00192 -7928 3 Compute properties 0.198912 -7929 10 setActiveGrpsFunc 0.07776 -7930 4 Approximation 0.158912 -7931 8 Correct 0.025152 -7932 7 Energy 0.04784 -7933 9 Predict 0.14384 -7934 0 Sorting 3.24179 -7935 1 Data reordering 0.164064 -7936 2 Tree-construction 0.95312 -7937 11 Memory 0.00192 -7938 3 Compute properties 0.192352 -7939 10 setActiveGrpsFunc 0.067616 -7940 4 Approximation 0.158944 -7941 8 Correct 0.025216 -7942 7 Energy 0.04816 -7943 9 Predict 0.14432 -7944 0 Sorting 3.23917 -7945 1 Data reordering 0.164576 -7946 2 Tree-construction 0.886464 -7947 11 Memory 0.001888 -7948 3 Compute properties 0.191776 -7949 10 setActiveGrpsFunc 0.067552 -7950 4 Approximation 0.158592 -7951 8 Correct 0.02496 -7952 7 Energy 0.047968 -7953 9 Predict 0.144288 -7954 0 Sorting 3.25069 -7955 1 Data reordering 0.164064 -7956 2 Tree-construction 1.0033 -7957 11 Memory 0.00192 -7958 3 Compute properties 0.19904 -7959 10 setActiveGrpsFunc 0.067456 -7960 4 Approximation 0.160256 -7961 8 Correct 0.025376 -7962 7 Energy 0.047968 -7963 9 Predict 0.14448 -7964 0 Sorting 3.26266 -7965 1 Data reordering 0.164704 -7966 2 Tree-construction 0.887712 -7967 11 Memory 0.001888 -7968 3 Compute properties 0.191168 -7969 10 setActiveGrpsFunc 0.067552 -7970 4 Approximation 0.157472 -7971 8 Correct 0.025088 -7972 7 Energy 0.048128 -7973 9 Predict 0.143808 -7974 0 Sorting 3.24173 -7975 1 Data reordering 0.191072 -7976 2 Tree-construction 0.92112 -7977 11 Memory 0.001888 -7978 3 Compute properties 0.19152 -7979 10 setActiveGrpsFunc 0.067584 -7980 4 Approximation 0.157312 -7981 8 Correct 0.025184 -7982 7 Energy 0.048512 -7983 9 Predict 0.144 -7984 0 Sorting 3.24723 -7985 1 Data reordering 0.164672 -7986 2 Tree-construction 0.887616 -7987 11 Memory 0.00192 -7988 3 Compute properties 0.201184 -7989 10 setActiveGrpsFunc 0.067744 -7990 4 Approximation 0.157152 -7991 8 Correct 0.02528 -7992 7 Energy 0.048448 -7993 9 Predict 0.143904 -7994 0 Sorting 3.30186 -7995 1 Data reordering 0.164928 -7996 2 Tree-construction 0.888352 -7997 11 Memory 0.001888 -7998 3 Compute properties 0.198464 -7999 10 setActiveGrpsFunc 0.067744 -8000 4 Approximation 0.15648 -8001 8 Correct 0.025152 -8002 7 Energy 0.048 -8003 9 Predict 0.144512 -8004 0 Sorting 3.24637 -8005 1 Data reordering 0.164576 -8006 2 Tree-construction 0.88768 -8007 11 Memory 0.001888 -8008 3 Compute properties 0.199168 -8009 10 setActiveGrpsFunc 0.067424 -8010 4 Approximation 0.156416 -8011 8 Correct 0.025408 -8012 7 Energy 0.048224 -8013 9 Predict 0.144672 -8014 0 Sorting 3.29773 -8015 1 Data reordering 0.164896 -8016 2 Tree-construction 0.88928 -8017 11 Memory 0.00192 -8018 3 Compute properties 0.19968 -8019 10 setActiveGrpsFunc 0.068288 -8020 4 Approximation 0.15568 -8021 8 Correct 0.024992 -8022 7 Energy 0.048256 -8023 9 Predict 0.14352 -8024 0 Sorting 3.25194 -8025 1 Data reordering 0.164032 -8026 2 Tree-construction 0.885984 -8027 11 Memory 0.00192 -8028 3 Compute properties 0.199936 -8029 10 setActiveGrpsFunc 0.067776 -8030 4 Approximation 0.154784 -8031 8 Correct 0.025376 -8032 7 Energy 0.048288 -8033 9 Predict 0.143776 -8034 0 Sorting 3.32877 -8035 1 Data reordering 0.171616 -8036 2 Tree-construction 0.900864 -8037 11 Memory 0.00192 -8038 3 Compute properties 0.200544 -8039 10 setActiveGrpsFunc 0.06944 -8040 4 Approximation 0.157024 -8041 8 Correct 0.025024 -8042 7 Energy 0.048096 -8043 9 Predict 0.144512 -8044 0 Sorting 3.23123 -8045 1 Data reordering 0.163872 -8046 2 Tree-construction 0.883104 -8047 11 Memory 0.00192 -8048 3 Compute properties 0.199904 -8049 10 setActiveGrpsFunc 0.067808 -8050 4 Approximation 0.15632 -8051 8 Correct 0.025088 -8052 7 Energy 0.048096 -8053 9 Predict 0.143904 -8054 0 Sorting 3.30218 -8055 1 Data reordering 0.165088 -8056 2 Tree-construction 0.9616 -8057 11 Memory 0.001888 -8058 3 Compute properties 0.256864 -8059 10 setActiveGrpsFunc 0.089568 -8060 4 Approximation 0.178144 -8061 8 Correct 0.034016 -8062 7 Energy 0.066944 -8063 9 Predict 0.191968 -8064 0 Sorting 3.50822 -8065 1 Data reordering 0.165984 -8066 2 Tree-construction 0.898848 -8067 11 Memory 0.001888 -8068 3 Compute properties 0.200256 -8069 10 setActiveGrpsFunc 0.067968 -8070 4 Approximation 0.15696 -8071 8 Correct 0.02512 -8072 7 Energy 0.048544 -8073 9 Predict 0.143776 -8074 0 Sorting 3.28717 -8075 1 Data reordering 0.165024 -8076 2 Tree-construction 0.886016 -8077 11 Memory 0.001888 -8078 3 Compute properties 0.203232 -8079 10 setActiveGrpsFunc 0.068096 -8080 4 Approximation 0.157824 -8081 8 Correct 0.025184 -8082 7 Energy 0.048032 -8083 9 Predict 0.143744 -8084 0 Sorting 3.25002 -8085 1 Data reordering 0.163936 -8086 2 Tree-construction 0.884608 -8087 11 Memory 0.001888 -8088 3 Compute properties 0.200672 -8089 10 setActiveGrpsFunc 0.067744 -8090 4 Approximation 0.157376 -8091 8 Correct 0.025216 -8092 7 Energy 0.047808 -8093 9 Predict 0.144032 -8094 0 Sorting 3.29629 -8095 1 Data reordering 0.1648 -8096 2 Tree-construction 0.889248 -8097 11 Memory 0.001888 -8098 3 Compute properties 0.198912 -8099 10 setActiveGrpsFunc 0.068 -8100 4 Approximation 0.156832 -8101 8 Correct 0.025184 -8102 7 Energy 0.04832 -8103 9 Predict 0.144224 -8104 0 Sorting 3.24736 -8105 1 Data reordering 0.16464 -8106 2 Tree-construction 0.890528 -8107 11 Memory 0.001888 -8108 3 Compute properties 0.1976 -8109 10 setActiveGrpsFunc 0.067904 -8110 4 Approximation 0.158368 -8111 8 Correct 0.02528 -8112 7 Energy 0.0488 -8113 9 Predict 0.144544 -8114 0 Sorting 3.3368 -8115 1 Data reordering 0.17408 -8116 2 Tree-construction 0.888 -8117 11 Memory 0.001888 -8118 3 Compute properties 0.199552 -8119 10 setActiveGrpsFunc 0.067968 -8120 4 Approximation 0.157504 -8121 8 Correct 0.025312 -8122 7 Energy 0.04848 -8123 9 Predict 0.143936 -8124 0 Sorting 3.2425 -8125 1 Data reordering 0.164576 -8126 2 Tree-construction 0.917504 -8127 11 Memory 0.001888 -8128 3 Compute properties 0.20416 -8129 10 setActiveGrpsFunc 0.068352 -8130 4 Approximation 0.157088 -8131 8 Correct 0.049632 -8132 7 Energy 0.065216 -8133 9 Predict 0.154912 -8134 0 Sorting 3.24304 -8135 1 Data reordering 0.165344 -8136 2 Tree-construction 0.885952 -8137 11 Memory 0.001888 -8138 3 Compute properties 0.204224 -8139 10 setActiveGrpsFunc 0.06848 -8140 4 Approximation 0.156992 -8141 8 Correct 0.025248 -8142 7 Energy 0.048448 -8143 9 Predict 0.144 -8144 0 Sorting 3.248 -8145 1 Data reordering 0.164416 -8146 2 Tree-construction 0.954656 -8147 11 Memory 0.001888 -8148 3 Compute properties 0.382336 -8149 10 setActiveGrpsFunc 0.069568 -8150 4 Approximation 0.165376 -8151 8 Correct 0.025088 -8152 7 Energy 0.048896 -8153 9 Predict 0.14352 -8154 0 Sorting 3.24659 -8155 1 Data reordering 0.165312 -8156 2 Tree-construction 0.95984 -8157 11 Memory 0.001888 -8158 3 Compute properties 0.29904 -8159 10 setActiveGrpsFunc 0.068896 -8160 4 Approximation 0.166432 -8161 8 Correct 0.025184 -8162 7 Energy 0.048096 -8163 9 Predict 0.144128 -8164 0 Sorting 3.24762 -8165 1 Data reordering 0.164448 -8166 2 Tree-construction 0.959296 -8167 11 Memory 0.001888 -8168 3 Compute properties 0.199168 -8169 10 setActiveGrpsFunc 0.068384 -8170 4 Approximation 0.157248 -8171 8 Correct 0.025056 -8172 7 Energy 0.04832 -8173 9 Predict 0.144384 -8174 0 Sorting 3.2425 -8175 1 Data reordering 0.172672 -8176 2 Tree-construction 0.886208 -8177 11 Memory 0.00192 -8178 3 Compute properties 0.198432 -8179 10 setActiveGrpsFunc 0.067904 -8180 4 Approximation 0.15712 -8181 8 Correct 0.02512 -8182 7 Energy 0.04752 -8183 9 Predict 0.144096 -8184 0 Sorting 3.24301 -8185 1 Data reordering 0.267616 -8186 2 Tree-construction 0.9 -8187 11 Memory 0.001888 -8188 3 Compute properties 0.198816 -8189 10 setActiveGrpsFunc 0.068032 -8190 4 Approximation 0.156 -8191 8 Correct 0.025088 -8192 7 Energy 0.049216 -8193 9 Predict 0.144256 -8194 0 Sorting 3.30707 -8195 1 Data reordering 0.165024 -8196 2 Tree-construction 0.932256 -8197 11 Memory 0.001888 -8198 3 Compute properties 0.198624 -8199 10 setActiveGrpsFunc 0.068096 -8200 4 Approximation 0.157024 -8201 8 Correct 0.02512 -8202 7 Energy 0.048224 -8203 9 Predict 0.143808 -8204 0 Sorting 3.29965 -8205 1 Data reordering 0.185152 -8206 2 Tree-construction 0.887648 -8207 11 Memory 0.001888 -8208 3 Compute properties 0.199072 -8209 10 setActiveGrpsFunc 0.068256 -8210 4 Approximation 0.158304 -8211 8 Correct 0.02528 -8212 7 Energy 0.048032 -8213 9 Predict 0.143776 -8214 0 Sorting 3.2496 -8215 1 Data reordering 0.165056 -8216 2 Tree-construction 0.888992 -8217 11 Memory 0.00192 -8218 3 Compute properties 0.199552 -8219 10 setActiveGrpsFunc 0.067808 -8220 4 Approximation 0.158208 -8221 8 Correct 0.025312 -8222 7 Energy 0.048064 -8223 9 Predict 0.144512 -8224 0 Sorting 3.34797 -8225 1 Data reordering 0.165312 -8226 2 Tree-construction 0.886592 -8227 11 Memory 0.001888 -8228 3 Compute properties 0.198368 -8229 10 setActiveGrpsFunc 0.067872 -8230 4 Approximation 0.157664 -8231 8 Correct 0.025216 -8232 7 Energy 0.04848 -8233 9 Predict 0.144192 -8234 0 Sorting 3.24714 -8235 1 Data reordering 0.164544 -8236 2 Tree-construction 0.88448 -8237 11 Memory 0.00192 -8238 3 Compute properties 0.187776 -8239 10 setActiveGrpsFunc 0.06768 -8240 4 Approximation 0.158976 -8241 8 Correct 0.025184 -8242 7 Energy 0.047712 -8243 9 Predict 0.14368 -8244 0 Sorting 3.33245 -8245 1 Data reordering 0.165472 -8246 2 Tree-construction 0.886496 -8247 11 Memory 0.001888 -8248 3 Compute properties 0.197536 -8249 10 setActiveGrpsFunc 0.068032 -8250 4 Approximation 0.158272 -8251 8 Correct 0.025152 -8252 7 Energy 0.048352 -8253 9 Predict 0.143808 -8254 0 Sorting 3.31696 -8255 1 Data reordering 0.164992 -8256 2 Tree-construction 0.910784 -8257 11 Memory 0.001888 -8258 3 Compute properties 0.188288 -8259 10 setActiveGrpsFunc 0.067616 -8260 4 Approximation 0.160224 -8261 8 Correct 0.025312 -8262 7 Energy 0.048672 -8263 9 Predict 0.143872 -8264 0 Sorting 3.34 -8265 1 Data reordering 0.164576 -8266 2 Tree-construction 0.89584 -8267 11 Memory 0.001888 -8268 3 Compute properties 0.197024 -8269 10 setActiveGrpsFunc 0.068288 -8270 4 Approximation 0.158144 -8271 8 Correct 0.025184 -8272 7 Energy 0.048544 -8273 9 Predict 0.143584 -8274 0 Sorting 3.23709 -8275 1 Data reordering 0.16464 -8276 2 Tree-construction 0.886272 -8277 11 Memory 0.001888 -8278 3 Compute properties 0.196224 -8279 10 setActiveGrpsFunc 0.067936 -8280 4 Approximation 0.158784 -8281 8 Correct 0.025024 -8282 7 Energy 0.04768 -8283 9 Predict 0.144032 -8284 0 Sorting 3.32861 -8285 1 Data reordering 0.16512 -8286 2 Tree-construction 1.11901 -8287 11 Memory 0.001888 -8288 3 Compute properties 0.267392 -8289 10 setActiveGrpsFunc 0.091104 -8290 4 Approximation 0.179776 -8291 8 Correct 0.033504 -8292 7 Energy 0.067936 -8293 9 Predict 0.19056 -8294 0 Sorting 3.31558 -8295 1 Data reordering 0.165088 -8296 2 Tree-construction 0.887904 -8297 11 Memory 0.001888 -8298 3 Compute properties 0.189824 -8299 10 setActiveGrpsFunc 0.06752 -8300 4 Approximation 0.158336 -8301 8 Correct 0.025216 -8302 7 Energy 0.048352 -8303 9 Predict 0.144128 -8304 0 Sorting 3.3431 -8305 1 Data reordering 0.165632 -8306 2 Tree-construction 0.888416 -8307 11 Memory 0.001888 -8308 3 Compute properties 0.198368 -8309 10 setActiveGrpsFunc 0.06848 -8310 4 Approximation 0.155232 -8311 8 Correct 0.025248 -8312 7 Energy 0.048864 -8313 9 Predict 0.143904 -8314 0 Sorting 3.25034 -8315 1 Data reordering 0.165088 -8316 2 Tree-construction 0.886208 -8317 11 Memory 0.00192 -8318 3 Compute properties 0.199008 -8319 10 setActiveGrpsFunc 0.067936 -8320 4 Approximation 0.15632 -8321 8 Correct 0.056896 -8322 7 Energy 0.065152 -8323 9 Predict 0.166528 -8324 0 Sorting 3.26813 -8325 1 Data reordering 0.164288 -8326 2 Tree-construction 0.887584 -8327 11 Memory 0.001888 -8328 3 Compute properties 0.207968 -8329 10 setActiveGrpsFunc 0.068064 -8330 4 Approximation 0.15728 -8331 8 Correct 0.025376 -8332 7 Energy 0.048704 -8333 9 Predict 0.144192 -8334 0 Sorting 3.23978 -8335 1 Data reordering 0.165504 -8336 2 Tree-construction 0.88624 -8337 11 Memory 0.001888 -8338 3 Compute properties 0.265248 -8339 10 setActiveGrpsFunc 0.079776 -8340 4 Approximation 0.156576 -8341 8 Correct 0.025152 -8342 7 Energy 0.048512 -8343 9 Predict 0.164864 -8344 0 Sorting 3.26451 -8345 1 Data reordering 0.164352 -8346 2 Tree-construction 0.888544 -8347 11 Memory 0.001888 -8348 3 Compute properties 0.20336 -8349 10 setActiveGrpsFunc 0.068032 -8350 4 Approximation 0.15584 -8351 8 Correct 0.025248 -8352 7 Energy 0.048352 -8353 9 Predict 0.144064 -8354 0 Sorting 3.24781 -8355 1 Data reordering 0.164096 -8356 2 Tree-construction 0.967584 -8357 11 Memory 0.00192 -8358 3 Compute properties 0.208192 -8359 10 setActiveGrpsFunc 0.069568 -8360 4 Approximation 0.160736 -8361 8 Correct 0.025568 -8362 7 Energy 0.048576 -8363 9 Predict 0.144768 -8364 0 Sorting 3.24582 -8365 1 Data reordering 0.164608 -8366 2 Tree-construction 0.887072 -8367 11 Memory 0.001888 -8368 3 Compute properties 0.199808 -8369 10 setActiveGrpsFunc 0.067552 -8370 4 Approximation 0.15632 -8371 8 Correct 0.025184 -8372 7 Energy 0.048352 -8373 9 Predict 0.14432 -8374 0 Sorting 3.24285 -8375 1 Data reordering 0.163776 -8376 2 Tree-construction 1.01901 -8377 11 Memory 0.00192 -8378 3 Compute properties 0.20304 -8379 10 setActiveGrpsFunc 0.068288 -8380 4 Approximation 0.154144 -8381 8 Correct 0.025312 -8382 7 Energy 0.047872 -8383 9 Predict 0.144224 -8384 0 Sorting 3.2401 -8385 1 Data reordering 0.164352 -8386 2 Tree-construction 0.888288 -8387 11 Memory 0.00192 -8388 3 Compute properties 0.1976 -8389 10 setActiveGrpsFunc 0.068224 -8390 4 Approximation 0.155552 -8391 8 Correct 0.025088 -8392 7 Energy 0.048288 -8393 9 Predict 0.143264 -8394 0 Sorting 3.28954 -8395 1 Data reordering 0.177248 -8396 2 Tree-construction 0.93424 -8397 11 Memory 0.001888 -8398 3 Compute properties 0.1976 -8399 10 setActiveGrpsFunc 0.067776 -8400 4 Approximation 0.156608 -8401 8 Correct 0.025312 -8402 7 Energy 0.047872 -8403 9 Predict 0.144416 -8404 0 Sorting 3.25034 -8405 1 Data reordering 0.163808 -8406 2 Tree-construction 0.887904 -8407 11 Memory 0.00192 -8408 3 Compute properties 0.191264 -8409 10 setActiveGrpsFunc 0.067424 -8410 4 Approximation 0.156896 -8411 8 Correct 0.02496 -8412 7 Energy 0.048256 -8413 9 Predict 0.143936 -8414 0 Sorting 3.29709 -8415 1 Data reordering 0.181472 -8416 2 Tree-construction 0.901824 -8417 11 Memory 0.00192 -8418 3 Compute properties 0.191584 -8419 10 setActiveGrpsFunc 0.06752 -8420 4 Approximation 0.155072 -8421 8 Correct 0.025408 -8422 7 Energy 0.048256 -8423 9 Predict 0.144608 -8424 0 Sorting 3.25152 -8425 1 Data reordering 0.16432 -8426 2 Tree-construction 0.885536 -8427 11 Memory 0.00192 -8428 3 Compute properties 0.20208 -8429 10 setActiveGrpsFunc 0.068032 -8430 4 Approximation 0.152736 -8431 8 Correct 0.02512 -8432 7 Energy 0.048416 -8433 9 Predict 0.144544 -8434 0 Sorting 3.31504 -8435 1 Data reordering 0.164768 -8436 2 Tree-construction 0.89056 -8437 11 Memory 0.001888 -8438 3 Compute properties 0.198048 -8439 10 setActiveGrpsFunc 0.067872 -8440 4 Approximation 0.154112 -8441 8 Correct 0.025248 -8442 7 Energy 0.048608 -8443 9 Predict 0.143744 -8444 0 Sorting 3.24928 -8445 1 Data reordering 0.164224 -8446 2 Tree-construction 0.886176 -8447 11 Memory 0.001888 -8448 3 Compute properties 0.187936 -8449 10 setActiveGrpsFunc 0.067168 -8450 4 Approximation 0.157536 -8451 8 Correct 0.025088 -8452 7 Energy 0.047904 -8453 9 Predict 0.144576 -8454 0 Sorting 3.30918 -8455 1 Data reordering 0.164576 -8456 2 Tree-construction 0.888896 -8457 11 Memory 0.001888 -8458 3 Compute properties 0.19792 -8459 10 setActiveGrpsFunc 0.067776 -8460 4 Approximation 0.15408 -8461 8 Correct 0.025056 -8462 7 Energy 0.048448 -8463 9 Predict 0.144352 -8464 0 Sorting 3.23814 -8465 1 Data reordering 0.164512 -8466 2 Tree-construction 0.891008 -8467 11 Memory 0.001888 -8468 3 Compute properties 0.187392 -8469 10 setActiveGrpsFunc 0.067904 -8470 4 Approximation 0.156192 -8471 8 Correct 0.025088 -8472 7 Energy 0.047904 -8473 9 Predict 0.144448 -8474 0 Sorting 3.31741 -8475 1 Data reordering 0.16512 -8476 2 Tree-construction 0.890496 -8477 11 Memory 0.001888 -8478 3 Compute properties 0.19696 -8479 10 setActiveGrpsFunc 0.067776 -8480 4 Approximation 0.156896 -8481 8 Correct 0.025088 -8482 7 Energy 0.04832 -8483 9 Predict 0.14432 -8484 0 Sorting 3.23968 -8485 1 Data reordering 0.164832 -8486 2 Tree-construction 0.88672 -8487 11 Memory 0.001888 -8488 3 Compute properties 0.197056 -8489 10 setActiveGrpsFunc 0.067776 -8490 4 Approximation 0.155552 -8491 8 Correct 0.02512 -8492 7 Energy 0.048288 -8493 9 Predict 0.144704 -8494 0 Sorting 3.32042 -8495 1 Data reordering 0.165216 -8496 2 Tree-construction 0.888544 -8497 11 Memory 0.00192 -8498 3 Compute properties 0.187936 -8499 10 setActiveGrpsFunc 0.067584 -8500 4 Approximation 0.158048 -8501 8 Correct 0.025056 -8502 7 Energy 0.048288 -8503 9 Predict 0.143904 -8504 0 Sorting 3.24915 -8505 1 Data reordering 0.164256 -8506 2 Tree-construction 0.885856 -8507 11 Memory 0.001888 -8508 3 Compute properties 0.187872 -8509 10 setActiveGrpsFunc 0.067488 -8510 4 Approximation 0.156608 -8511 8 Correct 0.025184 -8512 7 Energy 0.048224 -8513 9 Predict 0.14384 -8514 0 Sorting 3.31376 -8515 1 Data reordering 0.16496 -8516 2 Tree-construction 1.10941 -8517 11 Memory 0.00192 -8518 3 Compute properties 0.25152 -8519 10 setActiveGrpsFunc 0.090496 -8520 4 Approximation 0.179712 -8521 8 Correct 0.033952 -8522 7 Energy 0.0664 -8523 9 Predict 0.191456 -8524 0 Sorting 3.29738 -8525 1 Data reordering 0.165408 -8526 2 Tree-construction 0.887072 -8527 11 Memory 0.001888 -8528 3 Compute properties 0.197088 -8529 10 setActiveGrpsFunc 0.067712 -8530 4 Approximation 0.156672 -8531 8 Correct 0.025056 -8532 7 Energy 0.048224 -8533 9 Predict 0.181568 -8534 0 Sorting 3.30614 -8535 1 Data reordering 0.165056 -8536 2 Tree-construction 0.888064 -8537 11 Memory 0.001888 -8538 3 Compute properties 0.196832 -8539 10 setActiveGrpsFunc 0.067904 -8540 4 Approximation 0.154752 -8541 8 Correct 0.025152 -8542 7 Energy 0.048384 -8543 9 Predict 0.144256 -8544 0 Sorting 3.24854 -8545 1 Data reordering 0.164384 -8546 2 Tree-construction 0.886528 -8547 11 Memory 0.00192 -8548 3 Compute properties 0.196096 -8549 10 setActiveGrpsFunc 0.067744 -8550 4 Approximation 0.173696 -8551 8 Correct 0.025536 -8552 7 Energy 0.048864 -8553 9 Predict 0.144832 -8554 0 Sorting 3.26378 -8555 1 Data reordering 0.165344 -8556 2 Tree-construction 0.889376 -8557 11 Memory 0.00192 -8558 3 Compute properties 0.199904 -8559 10 setActiveGrpsFunc 0.067808 -8560 4 Approximation 0.154176 -8561 8 Correct 0.025088 -8562 7 Energy 0.047712 -8563 9 Predict 0.144 -8564 0 Sorting 3.24611 -8565 1 Data reordering 0.164544 -8566 2 Tree-construction 0.923296 -8567 11 Memory 0.001888 -8568 3 Compute properties 0.213728 -8569 10 setActiveGrpsFunc 0.069504 -8570 4 Approximation 0.157952 -8571 8 Correct 0.025024 -8572 7 Energy 0.048448 -8573 9 Predict 0.144704 -8574 0 Sorting 3.25181 -8575 1 Data reordering 0.164704 -8576 2 Tree-construction 0.894336 -8577 11 Memory 0.001888 -8578 3 Compute properties 0.18768 -8579 10 setActiveGrpsFunc 0.067424 -8580 4 Approximation 0.1568 -8581 8 Correct 0.02496 -8582 7 Energy 0.048384 -8583 9 Predict 0.144352 -8584 0 Sorting 3.24662 -8585 1 Data reordering 0.16416 -8586 2 Tree-construction 0.952928 -8587 11 Memory 0.001888 -8588 3 Compute properties 0.227904 -8589 10 setActiveGrpsFunc 0.068928 -8590 4 Approximation 0.156928 -8591 8 Correct 0.025216 -8592 7 Energy 0.048704 -8593 9 Predict 0.14464 -8594 0 Sorting 3.25645 -8595 1 Data reordering 0.165056 -8596 2 Tree-construction 0.888032 -8597 11 Memory 0.001888 -8598 3 Compute properties 0.203072 -8599 10 setActiveGrpsFunc 0.06784 -8600 4 Approximation 0.15392 -8601 8 Correct 0.025312 -8602 7 Energy 0.047968 -8603 9 Predict 0.144672 -8604 0 Sorting 3.23885 -8605 1 Data reordering 0.164352 -8606 2 Tree-construction 0.971008 -8607 11 Memory 0.001888 -8608 3 Compute properties 0.198848 -8609 10 setActiveGrpsFunc 0.067488 -8610 4 Approximation 0.156736 -8611 8 Correct 0.025024 -8612 7 Energy 0.04896 -8613 9 Predict 0.144768 -8614 0 Sorting 3.24016 -8615 1 Data reordering 0.164672 -8616 2 Tree-construction 0.886528 -8617 11 Memory 0.001888 -8618 3 Compute properties 0.19824 -8619 10 setActiveGrpsFunc 0.067808 -8620 4 Approximation 0.154592 -8621 8 Correct 0.025184 -8622 7 Energy 0.048416 -8623 9 Predict 0.144032 -8624 0 Sorting 3.30173 -8625 1 Data reordering 0.17488 -8626 2 Tree-construction 0.888832 -8627 11 Memory 0.001888 -8628 3 Compute properties 0.198336 -8629 10 setActiveGrpsFunc 0.067968 -8630 4 Approximation 0.1544 -8631 8 Correct 0.02512 -8632 7 Energy 0.048192 -8633 9 Predict 0.144448 -8634 0 Sorting 3.25782 -8635 1 Data reordering 0.164672 -8636 2 Tree-construction 0.88608 -8637 11 Memory 0.00192 -8638 3 Compute properties 0.201248 -8639 10 setActiveGrpsFunc 0.067424 -8640 4 Approximation 0.154976 -8641 8 Correct 0.02512 -8642 7 Energy 0.047968 -8643 9 Predict 0.14432 -8644 0 Sorting 3.33738 -8645 1 Data reordering 0.165184 -8646 2 Tree-construction 0.901056 -8647 11 Memory 0.001888 -8648 3 Compute properties 0.201152 -8649 10 setActiveGrpsFunc 0.067872 -8650 4 Approximation 0.156448 -8651 8 Correct 0.025088 -8652 7 Energy 0.04848 -8653 9 Predict 0.144768 -8654 0 Sorting 3.25197 -8655 1 Data reordering 0.164288 -8656 2 Tree-construction 0.887488 -8657 11 Memory 0.001888 -8658 3 Compute properties 0.196832 -8659 10 setActiveGrpsFunc 0.067936 -8660 4 Approximation 0.153824 -8661 8 Correct 0.02512 -8662 7 Energy 0.047616 -8663 9 Predict 0.144544 -8664 0 Sorting 3.29766 -8665 1 Data reordering 0.175712 -8666 2 Tree-construction 0.89728 -8667 11 Memory 0.00192 -8668 3 Compute properties 0.188256 -8669 10 setActiveGrpsFunc 0.068032 -8670 4 Approximation 0.154016 -8671 8 Correct 0.025152 -8672 7 Energy 0.048128 -8673 9 Predict 0.144256 -8674 0 Sorting 3.23578 -8675 1 Data reordering 0.164672 -8676 2 Tree-construction 1.17267 -8677 11 Memory 0.001888 -8678 3 Compute properties 0.264896 -8679 10 setActiveGrpsFunc 0.090816 -8680 4 Approximation 0.175584 -8681 8 Correct 0.034144 -8682 7 Energy 0.066048 -8683 9 Predict 0.191488 -8684 0 Sorting 3.34666 -8685 1 Data reordering 0.166336 -8686 2 Tree-construction 0.88832 -8687 11 Memory 0.00192 -8688 3 Compute properties 0.199776 -8689 10 setActiveGrpsFunc 0.068128 -8690 4 Approximation 0.156096 -8691 8 Correct 0.025056 -8692 7 Energy 0.048064 -8693 9 Predict 0.144256 -8694 0 Sorting 3.24406 -8695 1 Data reordering 0.164384 -8696 2 Tree-construction 0.886368 -8697 11 Memory 0.001888 -8698 3 Compute properties 0.196192 -8699 10 setActiveGrpsFunc 0.067456 -8700 4 Approximation 0.1584 -8701 8 Correct 0.025184 -8702 7 Energy 0.04768 -8703 9 Predict 0.143712 -8704 0 Sorting 3.34547 -8705 1 Data reordering 0.16464 -8706 2 Tree-construction 0.890528 -8707 11 Memory 0.001888 -8708 3 Compute properties 0.189056 -8709 10 setActiveGrpsFunc 0.067552 -8710 4 Approximation 0.158656 -8711 8 Correct 0.025152 -8712 7 Energy 0.04864 -8713 9 Predict 0.14496 -8714 0 Sorting 3.24202 -8715 1 Data reordering 0.173408 -8716 2 Tree-construction 0.887072 -8717 11 Memory 0.001888 -8718 3 Compute properties 0.196512 -8719 10 setActiveGrpsFunc 0.067712 -8720 4 Approximation 0.15856 -8721 8 Correct 0.02512 -8722 7 Energy 0.047328 -8723 9 Predict 0.144288 -8724 0 Sorting 3.29632 -8725 1 Data reordering 0.16464 -8726 2 Tree-construction 0.889312 -8727 11 Memory 0.00192 -8728 3 Compute properties 0.19552 -8729 10 setActiveGrpsFunc 0.074688 -8730 4 Approximation 0.158176 -8731 8 Correct 0.025088 -8732 7 Energy 0.047968 -8733 9 Predict 0.144416 -8734 0 Sorting 3.24061 -8735 1 Data reordering 0.164768 -8736 2 Tree-construction 0.887584 -8737 11 Memory 0.001888 -8738 3 Compute properties 0.197056 -8739 10 setActiveGrpsFunc 0.067552 -8740 4 Approximation 0.15696 -8741 8 Correct 0.025088 -8742 7 Energy 0.047968 -8743 9 Predict 0.14384 -8744 0 Sorting 3.30541 -8745 1 Data reordering 0.16496 -8746 2 Tree-construction 0.890304 -8747 11 Memory 0.00192 -8748 3 Compute properties 0.196064 -8749 10 setActiveGrpsFunc 0.06816 -8750 4 Approximation 0.15904 -8751 8 Correct 0.025088 -8752 7 Energy 0.048128 -8753 9 Predict 0.144576 -8754 0 Sorting 3.24822 -8755 1 Data reordering 0.16464 -8756 2 Tree-construction 0.885888 -8757 11 Memory 0.001888 -8758 3 Compute properties 0.204384 -8759 10 setActiveGrpsFunc 0.070176 -8760 4 Approximation 0.177984 -8761 8 Correct 0.030688 -8762 7 Energy 0.105984 -8763 9 Predict 0.195072 -8764 0 Sorting 3.4217 -8765 1 Data reordering 0.165888 -8766 2 Tree-construction 0.997856 -8767 11 Memory 0.001888 -8768 3 Compute properties 0.24016 -8769 10 setActiveGrpsFunc 0.088832 -8770 4 Approximation 0.166336 -8771 8 Correct 0.025504 -8772 7 Energy 0.049088 -8773 9 Predict 0.176384 -8774 0 Sorting 3.52259 -8775 1 Data reordering 0.16512 -8776 2 Tree-construction 0.95792 -8777 11 Memory 0.001888 -8778 3 Compute properties 0.196256 -8779 10 setActiveGrpsFunc 0.068064 -8780 4 Approximation 0.16016 -8781 8 Correct 0.025184 -8782 7 Energy 0.04832 -8783 9 Predict 0.145056 -8784 0 Sorting 3.25149 -8785 1 Data reordering 0.164736 -8786 2 Tree-construction 0.88608 -8787 11 Memory 0.001888 -8788 3 Compute properties 0.187232 -8789 10 setActiveGrpsFunc 0.0672 -8790 4 Approximation 0.157856 -8791 8 Correct 0.02528 -8792 7 Energy 0.048032 -8793 9 Predict 0.144128 -8794 0 Sorting 3.25117 -8795 1 Data reordering 0.2048 -8796 2 Tree-construction 0.927936 -8797 11 Memory 0.001984 -8798 3 Compute properties 0.187232 -8799 10 setActiveGrpsFunc 0.077408 -8800 4 Approximation 0.158688 -8801 8 Correct 0.025152 -8802 7 Energy 0.048224 -8803 9 Predict 0.144672 -8804 0 Sorting 3.23411 -8805 1 Data reordering 0.16464 -8806 2 Tree-construction 0.896544 -8807 11 Memory 0.00192 -8808 3 Compute properties 0.186016 -8809 10 setActiveGrpsFunc 0.067232 -8810 4 Approximation 0.157824 -8811 8 Correct 0.025248 -8812 7 Energy 0.04768 -8813 9 Predict 0.143808 -8814 0 Sorting 3.29414 -8815 1 Data reordering 0.165056 -8816 2 Tree-construction 0.920704 -8817 11 Memory 0.00192 -8818 3 Compute properties 0.194784 -8819 10 setActiveGrpsFunc 0.06864 -8820 4 Approximation 0.158592 -8821 8 Correct 0.024928 -8822 7 Energy 0.048128 -8823 9 Predict 0.144736 -8824 0 Sorting 3.24682 -8825 1 Data reordering 0.165184 -8826 2 Tree-construction 0.885792 -8827 11 Memory 0.00192 -8828 3 Compute properties 0.186368 -8829 10 setActiveGrpsFunc 0.067616 -8830 4 Approximation 0.157728 -8831 8 Correct 0.025152 -8832 7 Energy 0.047744 -8833 9 Predict 0.143584 -8834 0 Sorting 3.30685 -8835 1 Data reordering 0.16496 -8836 2 Tree-construction 0.898272 -8837 11 Memory 0.001888 -8838 3 Compute properties 0.185248 -8839 10 setActiveGrpsFunc 0.067296 -8840 4 Approximation 0.158912 -8841 8 Correct 0.025056 -8842 7 Energy 0.048032 -8843 9 Predict 0.144704 -8844 0 Sorting 3.24224 -8845 1 Data reordering 0.16432 -8846 2 Tree-construction 0.888256 -8847 11 Memory 0.001888 -8848 3 Compute properties 0.185312 -8849 10 setActiveGrpsFunc 0.067424 -8850 4 Approximation 0.158688 -8851 8 Correct 0.025088 -8852 7 Energy 0.047968 -8853 9 Predict 0.144544 -8854 0 Sorting 3.31789 -8855 1 Data reordering 0.17488 -8856 2 Tree-construction 0.888576 -8857 11 Memory 0.00192 -8858 3 Compute properties 0.185888 -8859 10 setActiveGrpsFunc 0.067552 -8860 4 Approximation 0.158208 -8861 8 Correct 0.025088 -8862 7 Energy 0.047936 -8863 9 Predict 0.143968 -8864 0 Sorting 3.23958 -8865 1 Data reordering 0.164224 -8866 2 Tree-construction 0.898016 -8867 11 Memory 0.00192 -8868 3 Compute properties 0.186496 -8869 10 setActiveGrpsFunc 0.067296 -8870 4 Approximation 0.156928 -8871 8 Correct 0.025344 -8872 7 Energy 0.048512 -8873 9 Predict 0.143904 -8874 0 Sorting 3.31904 -8875 1 Data reordering 0.175936 -8876 2 Tree-construction 0.887456 -8877 11 Memory 0.001888 -8878 3 Compute properties 0.186976 -8879 10 setActiveGrpsFunc 0.06736 -8880 4 Approximation 0.157376 -8881 8 Correct 0.025056 -8882 7 Energy 0.048096 -8883 9 Predict 0.143744 -8884 0 Sorting 3.25878 -8885 1 Data reordering 0.164096 -8886 2 Tree-construction 0.888192 -8887 11 Memory 0.001888 -8888 3 Compute properties 0.254016 -8889 10 setActiveGrpsFunc 0.090656 -8890 4 Approximation 0.179712 -8891 8 Correct 0.03392 -8892 7 Energy 0.066304 -8893 9 Predict 0.191488 -8894 0 Sorting 3.59549 -8895 1 Data reordering 0.16592 -8896 2 Tree-construction 0.89168 -8897 11 Memory 0.00192 -8898 3 Compute properties 0.189152 -8899 10 setActiveGrpsFunc 0.067424 -8900 4 Approximation 0.157472 -8901 8 Correct 0.025088 -8902 7 Energy 0.048192 -8903 9 Predict 0.144608 -8904 0 Sorting 3.25437 -8905 1 Data reordering 0.1648 -8906 2 Tree-construction 0.887968 -8907 11 Memory 0.001888 -8908 3 Compute properties 0.197376 -8909 10 setActiveGrpsFunc 0.067872 -8910 4 Approximation 0.157536 -8911 8 Correct 0.025536 -8912 7 Energy 0.048768 -8913 9 Predict 0.144224 -8914 0 Sorting 3.3073 -8915 1 Data reordering 0.174848 -8916 2 Tree-construction 0.88736 -8917 11 Memory 0.001888 -8918 3 Compute properties 0.198464 -8919 10 setActiveGrpsFunc 0.06752 -8920 4 Approximation 0.154112 -8921 8 Correct 0.02512 -8922 7 Energy 0.047808 -8923 9 Predict 0.144352 -8924 0 Sorting 3.24304 -8925 1 Data reordering 0.164096 -8926 2 Tree-construction 0.88608 -8927 11 Memory 0.00192 -8928 3 Compute properties 0.196256 -8929 10 setActiveGrpsFunc 0.067904 -8930 4 Approximation 0.158752 -8931 8 Correct 0.034688 -8932 7 Energy 0.048256 -8933 9 Predict 0.144032 -8934 0 Sorting 3.3631 -8935 1 Data reordering 0.16544 -8936 2 Tree-construction 0.908352 -8937 11 Memory 0.001888 -8938 3 Compute properties 0.195488 -8939 10 setActiveGrpsFunc 0.067744 -8940 4 Approximation 0.159392 -8941 8 Correct 0.025088 -8942 7 Energy 0.048192 -8943 9 Predict 0.144448 -8944 0 Sorting 3.23274 -8945 1 Data reordering 0.173952 -8946 2 Tree-construction 0.885152 -8947 11 Memory 0.001888 -8948 3 Compute properties 0.196032 -8949 10 setActiveGrpsFunc 0.067712 -8950 4 Approximation 0.15984 -8951 8 Correct 0.02528 -8952 7 Energy 0.080192 -8953 9 Predict 0.166688 -8954 0 Sorting 3.26528 -8955 1 Data reordering 0.1648 -8956 2 Tree-construction 0.887616 -8957 11 Memory 0.001888 -8958 3 Compute properties 0.186624 -8959 10 setActiveGrpsFunc 0.067808 -8960 4 Approximation 0.158592 -8961 8 Correct 0.024992 -8962 7 Energy 0.04832 -8963 9 Predict 0.145056 -8964 0 Sorting 3.24006 -8965 1 Data reordering 0.163808 -8966 2 Tree-construction 0.886432 -8967 11 Memory 0.001888 -8968 3 Compute properties 0.23632 -8969 10 setActiveGrpsFunc 0.08528 -8970 4 Approximation 0.159808 -8971 8 Correct 0.025248 -8972 7 Energy 0.048448 -8973 9 Predict 0.16704 -8974 0 Sorting 3.28288 -8975 1 Data reordering 0.16544 -8976 2 Tree-construction 0.891808 -8977 11 Memory 0.001888 -8978 3 Compute properties 0.196 -8979 10 setActiveGrpsFunc 0.067616 -8980 4 Approximation 0.157376 -8981 8 Correct 0.025472 -8982 7 Energy 0.048416 -8983 9 Predict 0.144256 -8984 0 Sorting 3.24595 -8985 1 Data reordering 0.164224 -8986 2 Tree-construction 0.933952 -8987 11 Memory 0.001888 -8988 3 Compute properties 0.197472 -8989 10 setActiveGrpsFunc 0.06816 -8990 4 Approximation 0.191136 -8991 8 Correct 0.025888 -8992 7 Energy 0.048896 -8993 9 Predict 0.14432 -8994 0 Sorting 3.24704 -8995 1 Data reordering 0.163904 -8996 2 Tree-construction 0.885152 -8997 11 Memory 0.001888 -8998 3 Compute properties 0.18656 -8999 10 setActiveGrpsFunc 0.067456 -9000 4 Approximation 0.158016 -9001 8 Correct 0.025152 -9002 7 Energy 0.047616 -9003 9 Predict 0.143776 -9004 0 Sorting 3.23939 -9005 1 Data reordering 0.164352 -9006 2 Tree-construction 0.995744 -9007 11 Memory 0.00192 -9008 3 Compute properties 0.208576 -9009 10 setActiveGrpsFunc 0.068544 -9010 4 Approximation 0.154976 -9011 8 Correct 0.025056 -9012 7 Energy 0.04832 -9013 9 Predict 0.144576 -9014 0 Sorting 3.24061 -9015 1 Data reordering 0.164512 -9016 2 Tree-construction 0.885856 -9017 11 Memory 0.00192 -9018 3 Compute properties 0.18768 -9019 10 setActiveGrpsFunc 0.067552 -9020 4 Approximation 0.15632 -9021 8 Correct 0.025056 -9022 7 Energy 0.048064 -9023 9 Predict 0.144192 -9024 0 Sorting 3.23942 -9025 1 Data reordering 0.225728 -9026 2 Tree-construction 0.934816 -9027 11 Memory 0.001888 -9028 3 Compute properties 0.197344 -9029 10 setActiveGrpsFunc 0.067968 -9030 4 Approximation 0.157632 -9031 8 Correct 0.025152 -9032 7 Energy 0.04784 -9033 9 Predict 0.143968 -9034 0 Sorting 3.24608 -9035 1 Data reordering 0.164896 -9036 2 Tree-construction 0.886624 -9037 11 Memory 0.001888 -9038 3 Compute properties 0.196288 -9039 10 setActiveGrpsFunc 0.067328 -9040 4 Approximation 0.157984 -9041 8 Correct 0.025024 -9042 7 Energy 0.048096 -9043 9 Predict 0.143872 -9044 0 Sorting 3.30419 -9045 1 Data reordering 0.186528 -9046 2 Tree-construction 0.923008 -9047 11 Memory 0.001952 -9048 3 Compute properties 0.202976 -9049 10 setActiveGrpsFunc 0.067904 -9050 4 Approximation 0.155808 -9051 8 Correct 0.025184 -9052 7 Energy 0.048128 -9053 9 Predict 0.143808 -9054 0 Sorting 3.24787 -9055 1 Data reordering 0.164832 -9056 2 Tree-construction 0.889824 -9057 11 Memory 0.001888 -9058 3 Compute properties 0.19824 -9059 10 setActiveGrpsFunc 0.06768 -9060 4 Approximation 0.155456 -9061 8 Correct 0.025152 -9062 7 Energy 0.047904 -9063 9 Predict 0.144768 -9064 0 Sorting 3.31357 -9065 1 Data reordering 0.18288 -9066 2 Tree-construction 0.89808 -9067 11 Memory 0.001952 -9068 3 Compute properties 0.199392 -9069 10 setActiveGrpsFunc 0.068064 -9070 4 Approximation 0.155904 -9071 8 Correct 0.025312 -9072 7 Energy 0.048864 -9073 9 Predict 0.144064 -9074 0 Sorting 3.24035 -9075 1 Data reordering 0.164128 -9076 2 Tree-construction 0.886592 -9077 11 Memory 0.001984 -9078 3 Compute properties 0.197344 -9079 10 setActiveGrpsFunc 0.067744 -9080 4 Approximation 0.15504 -9081 8 Correct 0.02512 -9082 7 Energy 0.04784 -9083 9 Predict 0.14368 -9084 0 Sorting 3.34195 -9085 1 Data reordering 0.165024 -9086 2 Tree-construction 0.886784 -9087 11 Memory 0.001888 -9088 3 Compute properties 0.19664 -9089 10 setActiveGrpsFunc 0.067872 -9090 4 Approximation 0.156896 -9091 8 Correct 0.025088 -9092 7 Energy 0.04848 -9093 9 Predict 0.14432 -9094 0 Sorting 3.24614 -9095 1 Data reordering 0.16464 -9096 2 Tree-construction 0.887232 -9097 11 Memory 0.00192 -9098 3 Compute properties 0.196416 -9099 10 setActiveGrpsFunc 0.067808 -9100 4 Approximation 0.156896 -9101 8 Correct 0.024992 -9102 7 Energy 0.047872 -9103 9 Predict 0.143584 -9104 0 Sorting 3.34579 -9105 1 Data reordering 0.165344 -9106 2 Tree-construction 0.887552 -9107 11 Memory 0.00192 -9108 3 Compute properties 0.197536 -9109 10 setActiveGrpsFunc 0.068064 -9110 4 Approximation 0.158624 -9111 8 Correct 0.025088 -9112 7 Energy 0.04832 -9113 9 Predict 0.143136 -9114 0 Sorting 3.23526 -9115 1 Data reordering 0.164 -9116 2 Tree-construction 0.885184 -9117 11 Memory 0.00192 -9118 3 Compute properties 0.195104 -9119 10 setActiveGrpsFunc 0.067936 -9120 4 Approximation 0.159872 -9121 8 Correct 0.025152 -9122 7 Energy 0.048032 -9123 9 Predict 0.144448 -9124 0 Sorting 3.34586 -9125 1 Data reordering 0.16512 -9126 2 Tree-construction 0.886176 -9127 11 Memory 0.00192 -9128 3 Compute properties 0.200352 -9129 10 setActiveGrpsFunc 0.067712 -9130 4 Approximation 0.158784 -9131 8 Correct 0.025312 -9132 7 Energy 0.048448 -9133 9 Predict 0.144096 -9134 0 Sorting 3.25776 -9135 1 Data reordering 0.226304 -9136 2 Tree-construction 1.18326 -9137 11 Memory 0.00192 -9138 3 Compute properties 0.272288 -9139 10 setActiveGrpsFunc 0.091072 -9140 4 Approximation 0.176224 -9141 8 Correct 0.0256 -9142 7 Energy 0.049408 -9143 9 Predict 0.145568 -9144 0 Sorting 3.3328 -9145 1 Data reordering 0.165888 -9146 2 Tree-construction 0.896832 -9147 11 Memory 0.001888 -9148 3 Compute properties 0.198304 -9149 10 setActiveGrpsFunc 0.067936 -9150 4 Approximation 0.154304 -9151 8 Correct 0.025216 -9152 7 Energy 0.048384 -9153 9 Predict 0.144192 -9154 0 Sorting 3.23747 -9155 1 Data reordering 0.164128 -9156 2 Tree-construction 0.886208 -9157 11 Memory 0.001888 -9158 3 Compute properties 0.198464 -9159 10 setActiveGrpsFunc 0.067712 -9160 4 Approximation 0.157664 -9161 8 Correct 0.025216 -9162 7 Energy 0.048128 -9163 9 Predict 0.196512 -9164 0 Sorting 3.30077 -9165 1 Data reordering 0.165632 -9166 2 Tree-construction 0.887776 -9167 11 Memory 0.001888 -9168 3 Compute properties 0.198624 -9169 10 setActiveGrpsFunc 0.06784 -9170 4 Approximation 0.156416 -9171 8 Correct 0.025184 -9172 7 Energy 0.048448 -9173 9 Predict 0.143552 -9174 0 Sorting 3.24125 -9175 1 Data reordering 0.16432 -9176 2 Tree-construction 0.887936 -9177 11 Memory 0.001888 -9178 3 Compute properties 0.198048 -9179 10 setActiveGrpsFunc 0.107936 -9180 4 Approximation 0.174112 -9181 8 Correct 0.025728 -9182 7 Energy 0.048736 -9183 9 Predict 0.152992 -9184 0 Sorting 3.26826 -9185 1 Data reordering 0.16464 -9186 2 Tree-construction 0.887104 -9187 11 Memory 0.001888 -9188 3 Compute properties 0.1904 -9189 10 setActiveGrpsFunc 0.067648 -9190 4 Approximation 0.157824 -9191 8 Correct 0.025088 -9192 7 Energy 0.047648 -9193 9 Predict 0.143904 -9194 0 Sorting 3.24672 -9195 1 Data reordering 0.164512 -9196 2 Tree-construction 0.955104 -9197 11 Memory 0.00192 -9198 3 Compute properties 0.197824 -9199 10 setActiveGrpsFunc 0.068 -9200 4 Approximation 0.15968 -9201 8 Correct 0.026528 -9202 7 Energy 0.048736 -9203 9 Predict 0.144448 -9204 0 Sorting 3.2375 -9205 1 Data reordering 0.163808 -9206 2 Tree-construction 0.899936 -9207 11 Memory 0.001888 -9208 3 Compute properties 0.198304 -9209 10 setActiveGrpsFunc 0.068224 -9210 4 Approximation 0.157824 -9211 8 Correct 0.025184 -9212 7 Energy 0.048608 -9213 9 Predict 0.144352 -9214 0 Sorting 3.24 -9215 1 Data reordering 0.16368 -9216 2 Tree-construction 0.967456 -9217 11 Memory 0.001952 -9218 3 Compute properties 0.199968 -9219 10 setActiveGrpsFunc 0.068096 -9220 4 Approximation 0.156448 -9221 8 Correct 0.025088 -9222 7 Energy 0.048384 -9223 9 Predict 0.14416 -9224 0 Sorting 3.2521 -9225 1 Data reordering 0.164672 -9226 2 Tree-construction 0.88672 -9227 11 Memory 0.001888 -9228 3 Compute properties 0.199136 -9229 10 setActiveGrpsFunc 0.068064 -9230 4 Approximation 0.157344 -9231 8 Correct 0.025088 -9232 7 Energy 0.048096 -9233 9 Predict 0.143584 -9234 0 Sorting 3.24893 -9235 1 Data reordering 0.214592 -9236 2 Tree-construction 0.91504 -9237 11 Memory 0.001888 -9238 3 Compute properties 0.198784 -9239 10 setActiveGrpsFunc 0.071904 -9240 4 Approximation 0.157984 -9241 8 Correct 0.025152 -9242 7 Energy 0.048064 -9243 9 Predict 0.14416 -9244 0 Sorting 3.24272 -9245 1 Data reordering 0.164224 -9246 2 Tree-construction 0.974336 -9247 11 Memory 0.001888 -9248 3 Compute properties 0.204192 -9249 10 setActiveGrpsFunc 0.068064 -9250 4 Approximation 0.157792 -9251 8 Correct 0.033376 -9252 7 Energy 0.048608 -9253 9 Predict 0.143744 -9254 0 Sorting 3.33354 -9255 1 Data reordering 0.18736 -9256 2 Tree-construction 0.88848 -9257 11 Memory 0.00192 -9258 3 Compute properties 0.200256 -9259 10 setActiveGrpsFunc 0.067744 -9260 4 Approximation 0.159392 -9261 8 Correct 0.025184 -9262 7 Energy 0.048256 -9263 9 Predict 0.143456 -9264 0 Sorting 3.24976 -9265 1 Data reordering 0.164224 -9266 2 Tree-construction 0.88768 -9267 11 Memory 0.001888 -9268 3 Compute properties 0.209088 -9269 10 setActiveGrpsFunc 0.06784 -9270 4 Approximation 0.15888 -9271 8 Correct 0.024992 -9272 7 Energy 0.048256 -9273 9 Predict 0.143712 -9274 0 Sorting 3.30605 -9275 1 Data reordering 0.16464 -9276 2 Tree-construction 0.894784 -9277 11 Memory 0.00192 -9278 3 Compute properties 0.191712 -9279 10 setActiveGrpsFunc 0.067904 -9280 4 Approximation 0.15888 -9281 8 Correct 0.02512 -9282 7 Energy 0.047968 -9283 9 Predict 0.14416 -9284 0 Sorting 3.25037 -9285 1 Data reordering 0.164352 -9286 2 Tree-construction 0.88528 -9287 11 Memory 0.001888 -9288 3 Compute properties 0.1888 -9289 10 setActiveGrpsFunc 0.067328 -9290 4 Approximation 0.158848 -9291 8 Correct 0.025152 -9292 7 Energy 0.048096 -9293 9 Predict 0.14336 -9294 0 Sorting 3.30749 -9295 1 Data reordering 0.165728 -9296 2 Tree-construction 1.17286 -9297 11 Memory 0.001888 -9298 3 Compute properties 0.269696 -9299 10 setActiveGrpsFunc 0.0912 -9300 4 Approximation 0.1808 -9301 8 Correct 0.033984 -9302 7 Energy 0.066752 -9303 9 Predict 0.190784 -9304 0 Sorting 3.25709 -9305 1 Data reordering 0.165632 -9306 2 Tree-construction 0.887904 -9307 11 Memory 0.00192 -9308 3 Compute properties 0.199296 -9309 10 setActiveGrpsFunc 0.067744 -9310 4 Approximation 0.159968 -9311 8 Correct 0.02512 -9312 7 Energy 0.048544 -9313 9 Predict 0.144192 -9314 0 Sorting 3.34371 -9315 1 Data reordering 0.165184 -9316 2 Tree-construction 0.889984 -9317 11 Memory 0.00192 -9318 3 Compute properties 0.19632 -9319 10 setActiveGrpsFunc 0.067776 -9320 4 Approximation 0.159072 -9321 8 Correct 0.025344 -9322 7 Energy 0.04848 -9323 9 Predict 0.143872 -9324 0 Sorting 3.24378 -9325 1 Data reordering 0.16448 -9326 2 Tree-construction 0.88784 -9327 11 Memory 0.001888 -9328 3 Compute properties 0.196224 -9329 10 setActiveGrpsFunc 0.067424 -9330 4 Approximation 0.158208 -9331 8 Correct 0.025056 -9332 7 Energy 0.048288 -9333 9 Predict 0.144224 -9334 0 Sorting 3.3105 -9335 1 Data reordering 0.165952 -9336 2 Tree-construction 0.888864 -9337 11 Memory 0.00192 -9338 3 Compute properties 0.196288 -9339 10 setActiveGrpsFunc 0.067648 -9340 4 Approximation 0.158784 -9341 8 Correct 0.02512 -9342 7 Energy 0.04816 -9343 9 Predict 0.143808 -9344 0 Sorting 3.2392 -9345 1 Data reordering 0.164512 -9346 2 Tree-construction 0.895328 -9347 11 Memory 0.001888 -9348 3 Compute properties 0.197088 -9349 10 setActiveGrpsFunc 0.068032 -9350 4 Approximation 0.15888 -9351 8 Correct 0.025216 -9352 7 Energy 0.048448 -9353 9 Predict 0.143616 -9354 0 Sorting 3.30694 -9355 1 Data reordering 0.164864 -9356 2 Tree-construction 0.888288 -9357 11 Memory 0.001888 -9358 3 Compute properties 0.189056 -9359 10 setActiveGrpsFunc 0.06752 -9360 4 Approximation 0.159872 -9361 8 Correct 0.025216 -9362 7 Energy 0.048096 -9363 9 Predict 0.144224 -9364 0 Sorting 3.24157 -9365 1 Data reordering 0.16496 -9366 2 Tree-construction 0.88928 -9367 11 Memory 0.00192 -9368 3 Compute properties 0.19648 -9369 10 setActiveGrpsFunc 0.06768 -9370 4 Approximation 0.158816 -9371 8 Correct 0.025088 -9372 7 Energy 0.048096 -9373 9 Predict 0.180608 -9374 0 Sorting 3.31373 -9375 1 Data reordering 0.165056 -9376 2 Tree-construction 0.887168 -9377 11 Memory 0.00192 -9378 3 Compute properties 0.195104 -9379 10 setActiveGrpsFunc 0.067616 -9380 4 Approximation 0.158368 -9381 8 Correct 0.024992 -9382 7 Energy 0.04832 -9383 9 Predict 0.143616 -9384 0 Sorting 3.24934 -9385 1 Data reordering 0.164096 -9386 2 Tree-construction 0.885088 -9387 11 Memory 0.001888 -9388 3 Compute properties 0.195936 -9389 10 setActiveGrpsFunc 0.067328 -9390 4 Approximation 0.176928 -9391 8 Correct 0.025696 -9392 7 Energy 0.049056 -9393 9 Predict 0.14496 -9394 0 Sorting 3.2513 -9395 1 Data reordering 0.164384 -9396 2 Tree-construction 0.886816 -9397 11 Memory 0.001888 -9398 3 Compute properties 0.18688 -9399 10 setActiveGrpsFunc 0.06736 -9400 4 Approximation 0.158688 -9401 8 Correct 0.025184 -9402 7 Energy 0.047616 -9403 9 Predict 0.143456 -9404 0 Sorting 3.23702 -9405 1 Data reordering 0.164576 -9406 2 Tree-construction 0.926848 -9407 11 Memory 0.001888 -9408 3 Compute properties 0.223456 -9409 10 setActiveGrpsFunc 0.069568 -9410 4 Approximation 0.158976 -9411 8 Correct 0.025088 -9412 7 Energy 0.04832 -9413 9 Predict 0.144096 -9414 0 Sorting 3.24339 -9415 1 Data reordering 0.164544 -9416 2 Tree-construction 0.885216 -9417 11 Memory 0.001888 -9418 3 Compute properties 0.187648 -9419 10 setActiveGrpsFunc 0.067776 -9420 4 Approximation 0.158752 -9421 8 Correct 0.025088 -9422 7 Energy 0.048352 -9423 9 Predict 0.143712 -9424 0 Sorting 3.2433 -9425 1 Data reordering 0.164032 -9426 2 Tree-construction 0.970848 -9427 11 Memory 0.00192 -9428 3 Compute properties 0.253216 -9429 10 setActiveGrpsFunc 0.093216 -9430 4 Approximation 0.17808 -9431 8 Correct 0.033472 -9432 7 Energy 0.068224 -9433 9 Predict 0.187008 -9434 0 Sorting 3.82762 -9435 1 Data reordering 0.20896 -9436 2 Tree-construction 1.13504 -9437 11 Memory 0.00192 -9438 3 Compute properties 0.245536 -9439 10 setActiveGrpsFunc 0.086912 -9440 4 Approximation 0.176512 -9441 8 Correct 0.032928 -9442 7 Energy 0.120576 -9443 9 Predict 0.236288 -9444 0 Sorting 4.32483 -9445 1 Data reordering 0.3184 -9446 2 Tree-construction 1.59558 -9447 11 Memory 0.002848 -9448 3 Compute properties 0.261184 -9449 10 setActiveGrpsFunc 0.089408 -9450 4 Approximation 0.178272 -9451 8 Correct 0.033184 -9452 7 Energy 0.067392 -9453 9 Predict 0.186368 -9454 0 Sorting 3.67558 -9455 1 Data reordering 0.165856 -9456 2 Tree-construction 0.887584 -9457 11 Memory 0.00192 -9458 3 Compute properties 0.1872 -9459 10 setActiveGrpsFunc 0.067776 -9460 4 Approximation 0.158848 -9461 8 Correct 0.024864 -9462 7 Energy 0.048352 -9463 9 Predict 0.143808 -9464 0 Sorting 3.23869 -9465 1 Data reordering 0.164128 -9466 2 Tree-construction 0.884544 -9467 11 Memory 0.001888 -9468 3 Compute properties 0.186496 -9469 10 setActiveGrpsFunc 0.067616 -9470 4 Approximation 0.158688 -9471 8 Correct 0.025152 -9472 7 Energy 0.04784 -9473 9 Predict 0.142976 -9474 0 Sorting 3.31219 -9475 1 Data reordering 0.164864 -9476 2 Tree-construction 0.887136 -9477 11 Memory 0.001888 -9478 3 Compute properties 0.202592 -9479 10 setActiveGrpsFunc 0.068192 -9480 4 Approximation 0.15888 -9481 8 Correct 0.025056 -9482 7 Energy 0.048256 -9483 9 Predict 0.143392 -9484 0 Sorting 3.23078 -9485 1 Data reordering 0.173728 -9486 2 Tree-construction 0.884256 -9487 11 Memory 0.00192 -9488 3 Compute properties 0.201856 -9489 10 setActiveGrpsFunc 0.067872 -9490 4 Approximation 0.158528 -9491 8 Correct 0.025024 -9492 7 Energy 0.05152 -9493 9 Predict 0.145664 -9494 0 Sorting 3.31139 -9495 1 Data reordering 0.164768 -9496 2 Tree-construction 0.887104 -9497 11 Memory 0.00192 -9498 3 Compute properties 0.199936 -9499 10 setActiveGrpsFunc 0.074784 -9500 4 Approximation 0.159104 -9501 8 Correct 0.025088 -9502 7 Energy 0.04832 -9503 9 Predict 0.143616 -9504 0 Sorting 3.23888 -9505 1 Data reordering 0.165088 -9506 2 Tree-construction 0.885504 -9507 11 Memory 0.001888 -9508 3 Compute properties 0.198496 -9509 10 setActiveGrpsFunc 0.069856 -9510 4 Approximation 0.158976 -9511 8 Correct 0.02544 -9512 7 Energy 0.048224 -9513 9 Predict 0.143744 -9514 0 Sorting 3.308 -9515 1 Data reordering 0.166048 -9516 2 Tree-construction 0.887424 -9517 11 Memory 0.001888 -9518 3 Compute properties 0.198208 -9519 10 setActiveGrpsFunc 0.067744 -9520 4 Approximation 0.158432 -9521 8 Correct 0.025248 -9522 7 Energy 0.048224 -9523 9 Predict 0.143712 -9524 0 Sorting 3.24531 -9525 1 Data reordering 0.164192 -9526 2 Tree-construction 0.891968 -9527 11 Memory 0.001888 -9528 3 Compute properties 0.196832 -9529 10 setActiveGrpsFunc 0.067936 -9530 4 Approximation 0.160832 -9531 8 Correct 0.025152 -9532 7 Energy 0.04864 -9533 9 Predict 0.145152 -9534 0 Sorting 3.31562 -9535 1 Data reordering 0.165952 -9536 2 Tree-construction 0.888384 -9537 11 Memory 0.001888 -9538 3 Compute properties 0.190016 -9539 10 setActiveGrpsFunc 0.067616 -9540 4 Approximation 0.160448 -9541 8 Correct 0.02512 -9542 7 Energy 0.048704 -9543 9 Predict 0.14336 -9544 0 Sorting 3.24227 -9545 1 Data reordering 0.164096 -9546 2 Tree-construction 0.90032 -9547 11 Memory 0.001888 -9548 3 Compute properties 0.1976 -9549 10 setActiveGrpsFunc 0.067808 -9550 4 Approximation 0.15856 -9551 8 Correct 0.025184 -9552 7 Energy 0.04816 -9553 9 Predict 0.197248 -9554 0 Sorting 3.27568 -9555 1 Data reordering 0.164992 -9556 2 Tree-construction 0.885568 -9557 11 Memory 0.001888 -9558 3 Compute properties 0.198176 -9559 10 setActiveGrpsFunc 0.068128 -9560 4 Approximation 0.157536 -9561 8 Correct 0.025248 -9562 7 Energy 0.048096 -9563 9 Predict 0.144 -9564 0 Sorting 3.24298 -9565 1 Data reordering 0.169856 -9566 2 Tree-construction 0.885152 -9567 11 Memory 0.00192 -9568 3 Compute properties 0.196608 -9569 10 setActiveGrpsFunc 0.1032 -9570 4 Approximation 0.176224 -9571 8 Correct 0.025728 -9572 7 Energy 0.048928 -9573 9 Predict 0.145024 -9574 0 Sorting 3.24989 -9575 1 Data reordering 0.165504 -9576 2 Tree-construction 0.885312 -9577 11 Memory 0.00192 -9578 3 Compute properties 0.19696 -9579 10 setActiveGrpsFunc 0.067936 -9580 4 Approximation 0.158784 -9581 8 Correct 0.025216 -9582 7 Energy 0.04816 -9583 9 Predict 0.143808 -9584 0 Sorting 3.24838 -9585 1 Data reordering 0.165344 -9586 2 Tree-construction 0.955296 -9587 11 Memory 0.001888 -9588 3 Compute properties 0.208512 -9589 10 setActiveGrpsFunc 0.069216 -9590 4 Approximation 0.158944 -9591 8 Correct 0.025344 -9592 7 Energy 0.048544 -9593 9 Predict 0.14432 -9594 0 Sorting 3.25462 -9595 1 Data reordering 0.164224 -9596 2 Tree-construction 0.884768 -9597 11 Memory 0.001888 -9598 3 Compute properties 0.194944 -9599 10 setActiveGrpsFunc 0.067936 -9600 4 Approximation 0.1584 -9601 8 Correct 0.02512 -9602 7 Energy 0.047424 -9603 9 Predict 0.143424 -9604 0 Sorting 3.25779 -9605 1 Data reordering 0.165504 -9606 2 Tree-construction 0.954272 -9607 11 Memory 0.001888 -9608 3 Compute properties 0.197088 -9609 10 setActiveGrpsFunc 0.068256 -9610 4 Approximation 0.156672 -9611 8 Correct 0.025248 -9612 7 Energy 0.049184 -9613 9 Predict 0.143776 -9614 0 Sorting 3.23309 -9615 1 Data reordering 0.163744 -9616 2 Tree-construction 0.897344 -9617 11 Memory 0.001888 -9618 3 Compute properties 0.195264 -9619 10 setActiveGrpsFunc 0.068032 -9620 4 Approximation 0.157696 -9621 8 Correct 0.025312 -9622 7 Energy 0.047712 -9623 9 Predict 0.143648 -9624 0 Sorting 3.25053 -9625 1 Data reordering 0.191744 -9626 2 Tree-construction 0.9216 -9627 11 Memory 0.00192 -9628 3 Compute properties 0.187552 -9629 10 setActiveGrpsFunc 0.067808 -9630 4 Approximation 0.16304 -9631 8 Correct 0.025248 -9632 7 Energy 0.048256 -9633 9 Predict 0.144128 -9634 0 Sorting 3.26698 -9635 1 Data reordering 0.16496 -9636 2 Tree-construction 0.891648 -9637 11 Memory 0.001888 -9638 3 Compute properties 0.196352 -9639 10 setActiveGrpsFunc 0.06832 -9640 4 Approximation 0.159328 -9641 8 Correct 0.025248 -9642 7 Energy 0.048032 -9643 9 Predict 0.14384 -9644 0 Sorting 3.29494 -9645 1 Data reordering 0.1648 -9646 2 Tree-construction 0.899104 -9647 11 Memory 0.001888 -9648 3 Compute properties 0.188768 -9649 10 setActiveGrpsFunc 0.06784 -9650 4 Approximation 0.159328 -9651 8 Correct 0.02512 -9652 7 Energy 0.048224 -9653 9 Predict 0.143392 -9654 0 Sorting 3.24653 -9655 1 Data reordering 0.164096 -9656 2 Tree-construction 0.886752 -9657 11 Memory 0.00192 -9658 3 Compute properties 0.188704 -9659 10 setActiveGrpsFunc 0.067488 -9660 4 Approximation 0.15888 -9661 8 Correct 0.024992 -9662 7 Energy 0.048256 -9663 9 Predict 0.143872 -9664 0 Sorting 3.30733 -9665 1 Data reordering 0.164896 -9666 2 Tree-construction 0.898336 -9667 11 Memory 0.00192 -9668 3 Compute properties 0.195744 -9669 10 setActiveGrpsFunc 0.068128 -9670 4 Approximation 0.157952 -9671 8 Correct 0.025152 -9672 7 Energy 0.04848 -9673 9 Predict 0.143296 -9674 0 Sorting 3.25174 -9675 1 Data reordering 0.164096 -9676 2 Tree-construction 0.886816 -9677 11 Memory 0.00192 -9678 3 Compute properties 0.195648 -9679 10 setActiveGrpsFunc 0.06736 -9680 4 Approximation 0.157088 -9681 8 Correct 0.025312 -9682 7 Energy 0.04784 -9683 9 Predict 0.142944 -9684 0 Sorting 3.28557 -9685 1 Data reordering 0.174464 -9686 2 Tree-construction 0.886176 -9687 11 Memory 0.00192 -9688 3 Compute properties 0.242496 -9689 10 setActiveGrpsFunc 0.0912 -9690 4 Approximation 0.178368 -9691 8 Correct 0.033984 -9692 7 Energy 0.067648 -9693 9 Predict 0.190656 -9694 0 Sorting 3.5864 -9695 1 Data reordering 0.165408 -9696 2 Tree-construction 0.95008 -9697 11 Memory 0.001888 -9698 3 Compute properties 0.205344 -9699 10 setActiveGrpsFunc 0.068992 -9700 4 Approximation 0.169984 -9701 8 Correct 0.02528 -9702 7 Energy 0.04896 -9703 9 Predict 0.149568 -9704 0 Sorting 3.63936 -9705 1 Data reordering 0.1656 -9706 2 Tree-construction 1.01728 -9707 11 Memory 0.00192 -9708 3 Compute properties 0.187616 -9709 10 setActiveGrpsFunc 0.068128 -9710 4 Approximation 0.15936 -9711 8 Correct 0.025248 -9712 7 Energy 0.048608 -9713 9 Predict 0.14368 -9714 0 Sorting 3.44221 -9715 1 Data reordering 0.171296 -9716 2 Tree-construction 0.894944 -9717 11 Memory 0.001888 -9718 3 Compute properties 0.198912 -9719 10 setActiveGrpsFunc 0.068032 -9720 4 Approximation 0.159104 -9721 8 Correct 0.025216 -9722 7 Energy 0.048544 -9723 9 Predict 0.143232 -9724 0 Sorting 3.33715 -9725 1 Data reordering 0.164992 -9726 2 Tree-construction 0.88608 -9727 11 Memory 0.001888 -9728 3 Compute properties 0.18784 -9729 10 setActiveGrpsFunc 0.067584 -9730 4 Approximation 0.159744 -9731 8 Correct 0.025184 -9732 7 Energy 0.04816 -9733 9 Predict 0.14368 -9734 0 Sorting 3.24771 -9735 1 Data reordering 0.164128 -9736 2 Tree-construction 0.892512 -9737 11 Memory 0.001888 -9738 3 Compute properties 0.186112 -9739 10 setActiveGrpsFunc 0.06784 -9740 4 Approximation 0.158624 -9741 8 Correct 0.032224 -9742 7 Energy 0.071584 -9743 9 Predict 0.147296 -9744 0 Sorting 3.264 -9745 1 Data reordering 0.1648 -9746 2 Tree-construction 0.892768 -9747 11 Memory 0.00192 -9748 3 Compute properties 0.185984 -9749 10 setActiveGrpsFunc 0.06768 -9750 4 Approximation 0.158176 -9751 8 Correct 0.025184 -9752 7 Energy 0.048352 -9753 9 Predict 0.143264 -9754 0 Sorting 3.24074 -9755 1 Data reordering 0.164128 -9756 2 Tree-construction 0.886464 -9757 11 Memory 0.00192 -9758 3 Compute properties 0.262848 -9759 10 setActiveGrpsFunc 0.071328 -9760 4 Approximation 0.170176 -9761 8 Correct 0.025248 -9762 7 Energy 0.048576 -9763 9 Predict 0.164992 -9764 0 Sorting 3.26992 -9765 1 Data reordering 0.165568 -9766 2 Tree-construction 0.886976 -9767 11 Memory 0.00192 -9768 3 Compute properties 0.186464 -9769 10 setActiveGrpsFunc 0.067712 -9770 4 Approximation 0.157728 -9771 8 Correct 0.025088 -9772 7 Energy 0.048352 -9773 9 Predict 0.143328 -9774 0 Sorting 3.25411 -9775 1 Data reordering 0.164512 -9776 2 Tree-construction 0.957856 -9777 11 Memory 0.001888 -9778 3 Compute properties 0.185888 -9779 10 setActiveGrpsFunc 0.087264 -9780 4 Approximation 0.16016 -9781 8 Correct 0.025376 -9782 7 Energy 0.048672 -9783 9 Predict 0.143808 -9784 0 Sorting 3.24966 -9785 1 Data reordering 0.164672 -9786 2 Tree-construction 0.885088 -9787 11 Memory 0.001888 -9788 3 Compute properties 0.18544 -9789 10 setActiveGrpsFunc 0.06736 -9790 4 Approximation 0.156 -9791 8 Correct 0.025152 -9792 7 Energy 0.04832 -9793 9 Predict 0.143136 -9794 0 Sorting 3.25034 -9795 1 Data reordering 0.16448 -9796 2 Tree-construction 1.00147 -9797 11 Memory 0.00192 -9798 3 Compute properties 0.187232 -9799 10 setActiveGrpsFunc 0.06832 -9800 4 Approximation 0.158016 -9801 8 Correct 0.025152 -9802 7 Energy 0.047936 -9803 9 Predict 0.14368 -9804 0 Sorting 3.24189 -9805 1 Data reordering 0.164448 -9806 2 Tree-construction 0.891296 -9807 11 Memory 0.00192 -9808 3 Compute properties 0.185504 -9809 10 setActiveGrpsFunc 0.06768 -9810 4 Approximation 0.156672 -9811 8 Correct 0.02528 -9812 7 Energy 0.047936 -9813 9 Predict 0.143744 -9814 0 Sorting 3.27587 -9815 1 Data reordering 0.186496 -9816 2 Tree-construction 0.919456 -9817 11 Memory 0.001888 -9818 3 Compute properties 0.1872 -9819 10 setActiveGrpsFunc 0.06752 -9820 4 Approximation 0.156672 -9821 8 Correct 0.02512 -9822 7 Energy 0.047872 -9823 9 Predict 0.143424 -9824 0 Sorting 3.24374 -9825 1 Data reordering 0.164608 -9826 2 Tree-construction 0.885568 -9827 11 Memory 0.00192 -9828 3 Compute properties 0.186688 -9829 10 setActiveGrpsFunc 0.091296 -9830 4 Approximation 0.176384 -9831 8 Correct 0.033376 -9832 7 Energy 0.066272 -9833 9 Predict 0.19024 -9834 0 Sorting 3.64163 -9835 1 Data reordering 0.166816 -9836 2 Tree-construction 0.901184 -9837 11 Memory 0.001888 -9838 3 Compute properties 0.198528 -9839 10 setActiveGrpsFunc 0.068032 -9840 4 Approximation 0.15648 -9841 8 Correct 0.025408 -9842 7 Energy 0.048128 -9843 9 Predict 0.143488 -9844 0 Sorting 3.2401 -9845 1 Data reordering 0.16448 -9846 2 Tree-construction 0.888928 -9847 11 Memory 0.00192 -9848 3 Compute properties 0.196736 -9849 10 setActiveGrpsFunc 0.06768 -9850 4 Approximation 0.156672 -9851 8 Correct 0.025248 -9852 7 Energy 0.048128 -9853 9 Predict 0.144128 -9854 0 Sorting 3.34413 -9855 1 Data reordering 0.16512 -9856 2 Tree-construction 0.88832 -9857 11 Memory 0.001888 -9858 3 Compute properties 0.187936 -9859 10 setActiveGrpsFunc 0.067232 -9860 4 Approximation 0.156608 -9861 8 Correct 0.025184 -9862 7 Energy 0.048256 -9863 9 Predict 0.14352 -9864 0 Sorting 3.24214 -9865 1 Data reordering 0.164096 -9866 2 Tree-construction 0.886144 -9867 11 Memory 0.001888 -9868 3 Compute properties 0.185984 -9869 10 setActiveGrpsFunc 0.067776 -9870 4 Approximation 0.156704 -9871 8 Correct 0.025024 -9872 7 Energy 0.04816 -9873 9 Predict 0.143904 -9874 0 Sorting 3.34765 -9875 1 Data reordering 0.165056 -9876 2 Tree-construction 0.88768 -9877 11 Memory 0.001888 -9878 3 Compute properties 0.187168 -9879 10 setActiveGrpsFunc 0.067552 -9880 4 Approximation 0.155424 -9881 8 Correct 0.025056 -9882 7 Energy 0.048064 -9883 9 Predict 0.143936 -9884 0 Sorting 3.23789 -9885 1 Data reordering 0.174304 -9886 2 Tree-construction 0.883968 -9887 11 Memory 0.001888 -9888 3 Compute properties 0.187008 -9889 10 setActiveGrpsFunc 0.067456 -9890 4 Approximation 0.155232 -9891 8 Correct 0.024992 -9892 7 Energy 0.048352 -9893 9 Predict 0.143744 -9894 0 Sorting 3.33133 -9895 1 Data reordering 0.164864 -9896 2 Tree-construction 0.886976 -9897 11 Memory 0.00192 -9898 3 Compute properties 0.187168 -9899 10 setActiveGrpsFunc 0.067936 -9900 4 Approximation 0.155264 -9901 8 Correct 0.034368 -9902 7 Energy 0.04864 -9903 9 Predict 0.143744 -9904 0 Sorting 3.24419 -9905 1 Data reordering 0.1656 -9906 2 Tree-construction 0.888 -9907 11 Memory 0.00192 -9908 3 Compute properties 0.187936 -9909 10 setActiveGrpsFunc 0.067904 -9910 4 Approximation 0.15632 -9911 8 Correct 0.025248 -9912 7 Energy 0.048736 -9913 9 Predict 0.143808 -9914 0 Sorting 3.33674 -9915 1 Data reordering 0.165024 -9916 2 Tree-construction 0.887712 -9917 11 Memory 0.001888 -9918 3 Compute properties 0.187968 -9919 10 setActiveGrpsFunc 0.067616 -9920 4 Approximation 0.154784 -9921 8 Correct 0.025088 -9922 7 Energy 0.048032 -9923 9 Predict 0.14448 -9924 0 Sorting 3.2479 -9925 1 Data reordering 0.164096 -9926 2 Tree-construction 0.88592 -9927 11 Memory 0.00192 -9928 3 Compute properties 0.187392 -9929 10 setActiveGrpsFunc 0.068704 -9930 4 Approximation 0.15536 -9931 8 Correct 0.02512 -9932 7 Energy 0.047968 -9933 9 Predict 0.143808 -9934 0 Sorting 3.31238 -9935 1 Data reordering 0.165184 -9936 2 Tree-construction 0.888288 -9937 11 Memory 0.001888 -9938 3 Compute properties 0.187264 -9939 10 setActiveGrpsFunc 0.06784 -9940 4 Approximation 0.1552 -9941 8 Correct 0.025056 -9942 7 Energy 0.047936 -9943 9 Predict 0.143936 -9944 0 Sorting 3.24013 -9945 1 Data reordering 0.164704 -9946 2 Tree-construction 0.895648 -9947 11 Memory 0.001888 -9948 3 Compute properties 0.186688 -9949 10 setActiveGrpsFunc 0.067808 -9950 4 Approximation 0.157664 -9951 8 Correct 0.025024 -9952 7 Energy 0.048 -9953 9 Predict 0.143904 -9954 0 Sorting 3.3047 -9955 1 Data reordering 0.164992 -9956 2 Tree-construction 0.886368 -9957 11 Memory 0.001888 -9958 3 Compute properties 0.18624 -9959 10 setActiveGrpsFunc 0.067584 -9960 4 Approximation 0.158624 -9961 8 Correct 0.025248 -9962 7 Energy 0.048288 -9963 9 Predict 0.143712 -9964 0 Sorting 3.24941 -9965 1 Data reordering 0.164352 -9966 2 Tree-construction 0.885856 -9967 11 Memory 0.001888 -9968 3 Compute properties 0.186656 -9969 10 setActiveGrpsFunc 0.067584 -9970 4 Approximation 0.189504 -9971 8 Correct 0.032832 -9972 7 Energy 0.058976 -9973 9 Predict 0.145984 -9974 0 Sorting 3.26221 -9975 1 Data reordering 0.164736 -9976 2 Tree-construction 0.886816 -9977 11 Memory 0.001888 -9978 3 Compute properties 0.18576 -9979 10 setActiveGrpsFunc 0.067712 -9980 4 Approximation 0.160032 -9981 8 Correct 0.025088 -9982 7 Energy 0.048288 -9983 9 Predict 0.143808 -9984 0 Sorting 3.24726 -9985 1 Data reordering 0.164704 -9986 2 Tree-construction 0.884384 -9987 11 Memory 0.001888 -9988 3 Compute properties 0.246112 -9989 10 setActiveGrpsFunc 0.07536 -9990 4 Approximation 0.161408 -9991 8 Correct 0.025088 -9992 7 Energy 0.048512 -9993 9 Predict 0.144224 -9994 0 Sorting 3.25818 -9995 1 Data reordering 0.165024 -9996 2 Tree-construction 0.886688 -9997 11 Memory 0.00192 -9998 3 Compute properties 0.19536 -9999 10 setActiveGrpsFunc 0.067616 -10000 4 Approximation 0.159296 -10001 8 Correct 0.02512 -10002 7 Energy 0.047968 -10003 9 Predict 0.143744 -10004 0 Sorting 3.2497 -10005 1 Data reordering 0.164992 -10006 2 Tree-construction 0.969248 -10007 11 Memory 0.001888 -10008 3 Compute properties 0.195328 -10009 10 setActiveGrpsFunc 0.068 -10010 4 Approximation 0.15936 -10011 8 Correct 0.02528 -10012 7 Energy 0.048416 -10013 9 Predict 0.14992 -10014 0 Sorting 3.25472 -10015 1 Data reordering 0.164384 -10016 2 Tree-construction 0.884864 -10017 11 Memory 0.00192 -10018 3 Compute properties 0.187584 -10019 10 setActiveGrpsFunc 0.067296 -10020 4 Approximation 0.158816 -10021 8 Correct 0.025088 -10022 7 Energy 0.04816 -10023 9 Predict 0.143424 -10024 0 Sorting 3.2568 -10025 1 Data reordering 0.170304 -10026 2 Tree-construction 0.971424 -10027 11 Memory 0.00192 -10028 3 Compute properties 0.1952 -10029 10 setActiveGrpsFunc 0.068416 -10030 4 Approximation 0.157792 -10031 8 Correct 0.02528 -10032 7 Energy 0.04848 -10033 9 Predict 0.150592 -10034 0 Sorting 3.24541 -10035 1 Data reordering 0.164384 -10036 2 Tree-construction 0.884512 -10037 11 Memory 0.001888 -10038 3 Compute properties 0.205248 -10039 10 setActiveGrpsFunc 0.067616 -10040 4 Approximation 0.159328 -10041 8 Correct 0.02544 -10042 7 Energy 0.047968 -10043 9 Predict 0.143488 -10044 0 Sorting 3.28365 -10045 1 Data reordering 0.183552 -10046 2 Tree-construction 0.899488 -10047 11 Memory 0.00192 -10048 3 Compute properties 0.200032 -10049 10 setActiveGrpsFunc 0.068256 -10050 4 Approximation 0.15552 -10051 8 Correct 0.024576 -10052 7 Energy 0.048448 -10053 9 Predict 0.143968 -10054 0 Sorting 3.25242 -10055 1 Data reordering 0.16416 -10056 2 Tree-construction 0.884448 -10057 11 Memory 0.001888 -10058 3 Compute properties 0.188864 -10059 10 setActiveGrpsFunc 0.067648 -10060 4 Approximation 0.160992 -10061 8 Correct 0.025184 -10062 7 Energy 0.047872 -10063 9 Predict 0.143904 -10064 0 Sorting 3.92678 -10065 1 Data reordering 0.226592 -10066 2 Tree-construction 1.084 -10067 11 Memory 0.001888 -10068 3 Compute properties 0.190336 -10069 10 setActiveGrpsFunc 0.06848 -10070 4 Approximation 0.160192 -10071 8 Correct 0.025376 -10072 7 Energy 0.050656 -10073 9 Predict 0.144704 -10074 0 Sorting 3.24851 -10075 1 Data reordering 0.164576 -10076 2 Tree-construction 0.914624 -10077 11 Memory 0.001888 -10078 3 Compute properties 0.189248 -10079 10 setActiveGrpsFunc 0.067712 -10080 4 Approximation 0.159552 -10081 8 Correct 0.025184 -10082 7 Energy 0.04784 -10083 9 Predict 0.144576 -10084 0 Sorting 3.29197 -10085 1 Data reordering 0.16432 -10086 2 Tree-construction 0.893472 -10087 11 Memory 0.001888 -10088 3 Compute properties 0.19712 -10089 10 setActiveGrpsFunc 0.068128 -10090 4 Approximation 0.15968 -10091 8 Correct 0.025152 -10092 7 Energy 0.048544 -10093 9 Predict 0.143776 -10094 0 Sorting 3.2713 -10095 1 Data reordering 0.165248 -10096 2 Tree-construction 0.8872 -10097 11 Memory 0.00192 -10098 3 Compute properties 0.19632 -10099 10 setActiveGrpsFunc 0.068 -10100 4 Approximation 0.15952 -10101 8 Correct 0.02512 -10102 7 Energy 0.04848 -10103 9 Predict 0.153664 -10104 0 Sorting 3.27968 -10105 1 Data reordering 0.16512 -10106 2 Tree-construction 0.8864 -10107 11 Memory 0.001888 -10108 3 Compute properties 0.189344 -10109 10 setActiveGrpsFunc 0.067616 -10110 4 Approximation 0.159232 -10111 8 Correct 0.025248 -10112 7 Energy 0.04832 -10113 9 Predict 0.14368 -10114 0 Sorting 3.25994 -10115 1 Data reordering 0.164928 -10116 2 Tree-construction 0.886912 -10117 11 Memory 0.00192 -10118 3 Compute properties 0.194432 -10119 10 setActiveGrpsFunc 0.068352 -10120 4 Approximation 0.158976 -10121 8 Correct 0.025184 -10122 7 Energy 0.048448 -10123 9 Predict 0.143712 -10124 0 Sorting 3.29549 -10125 1 Data reordering 0.16464 -10126 2 Tree-construction 0.957184 -10127 11 Memory 0.001888 -10128 3 Compute properties 0.215968 -10129 10 setActiveGrpsFunc 0.068128 -10130 4 Approximation 0.167744 -10131 8 Correct 0.024992 -10132 7 Energy 0.048256 -10133 9 Predict 0.144256 -10134 0 Sorting 3.26893 -10135 1 Data reordering 0.164832 -10136 2 Tree-construction 0.95984 -10137 11 Memory 0.00192 -10138 3 Compute properties 0.214304 -10139 10 setActiveGrpsFunc 0.06816 -10140 4 Approximation 0.16848 -10141 8 Correct 0.02528 -10142 7 Energy 0.048736 -10143 9 Predict 0.143328 -10144 0 Sorting 3.28765 -10145 1 Data reordering 0.164352 -10146 2 Tree-construction 0.891808 -10147 11 Memory 0.001888 -10148 3 Compute properties 0.186304 -10149 10 setActiveGrpsFunc 0.067904 -10150 4 Approximation 0.17456 -10151 8 Correct 0.032288 -10152 7 Energy 0.052832 -10153 9 Predict 0.144128 -10154 0 Sorting 3.23818 -10155 1 Data reordering 0.16464 -10156 2 Tree-construction 0.884864 -10157 11 Memory 0.001984 -10158 3 Compute properties 0.186016 -10159 10 setActiveGrpsFunc 0.067808 -10160 4 Approximation 0.157984 -10161 8 Correct 0.025312 -10162 7 Energy 0.073376 -10163 9 Predict 0.157024 -10164 0 Sorting 3.25395 -10165 1 Data reordering 0.164416 -10166 2 Tree-construction 0.913216 -10167 11 Memory 0.001888 -10168 3 Compute properties 0.186688 -10169 10 setActiveGrpsFunc 0.06736 -10170 4 Approximation 0.157536 -10171 8 Correct 0.025024 -10172 7 Energy 0.04832 -10173 9 Predict 0.143616 -10174 0 Sorting 3.3665 -10175 1 Data reordering 0.16512 -10176 2 Tree-construction 0.906592 -10177 11 Memory 0.00192 -10178 3 Compute properties 0.226688 -10179 10 setActiveGrpsFunc 0.068928 -10180 4 Approximation 0.158688 -10181 8 Correct 0.025152 -10182 7 Energy 0.048224 -10183 9 Predict 0.14384 -10184 0 Sorting 3.26592 -10185 1 Data reordering 0.164992 -10186 2 Tree-construction 0.886752 -10187 11 Memory 0.001888 -10188 3 Compute properties 0.195456 -10189 10 setActiveGrpsFunc 0.06768 -10190 4 Approximation 0.159008 -10191 8 Correct 0.025248 -10192 7 Energy 0.04832 -10193 9 Predict 0.144096 -10194 0 Sorting 3.24496 -10195 1 Data reordering 0.164192 -10196 2 Tree-construction 0.926784 -10197 11 Memory 0.001888 -10198 3 Compute properties 0.209984 -10199 10 setActiveGrpsFunc 0.068416 -10200 4 Approximation 0.159328 -10201 8 Correct 0.025216 -10202 7 Energy 0.04816 -10203 9 Predict 0.143584 -10204 0 Sorting 3.2681 -10205 1 Data reordering 0.165024 -10206 2 Tree-construction 0.8848 -10207 11 Memory 0.001888 -10208 3 Compute properties 0.187136 -10209 10 setActiveGrpsFunc 0.067648 -10210 4 Approximation 0.158912 -10211 8 Correct 0.025024 -10212 7 Energy 0.048064 -10213 9 Predict 0.145152 -10214 0 Sorting 3.24154 -10215 1 Data reordering 0.164096 -10216 2 Tree-construction 0.926688 -10217 11 Memory 0.00192 -10218 3 Compute properties 0.1872 -10219 10 setActiveGrpsFunc 0.06784 -10220 4 Approximation 0.158976 -10221 8 Correct 0.025312 -10222 7 Energy 0.058112 -10223 9 Predict 0.162272 -10224 0 Sorting 3.2504 -10225 1 Data reordering 0.16496 -10226 2 Tree-construction 0.886336 -10227 11 Memory 0.001888 -10228 3 Compute properties 0.187552 -10229 10 setActiveGrpsFunc 0.067616 -10230 4 Approximation 0.159296 -10231 8 Correct 0.02496 -10232 7 Energy 0.048832 -10233 9 Predict 0.144128 -10234 0 Sorting 3.29581 -10235 1 Data reordering 0.17712 -10236 2 Tree-construction 0.945504 -10237 11 Memory 0.00192 -10238 3 Compute properties 0.189344 -10239 10 setActiveGrpsFunc 0.068032 -10240 4 Approximation 0.159136 -10241 8 Correct 0.02512 -10242 7 Energy 0.048288 -10243 9 Predict 0.14464 -10244 0 Sorting 3.24179 -10245 1 Data reordering 0.164 -10246 2 Tree-construction 0.884064 -10247 11 Memory 0.00192 -10248 3 Compute properties 0.200352 -10249 10 setActiveGrpsFunc 0.068256 -10250 4 Approximation 0.15888 -10251 8 Correct 0.025184 -10252 7 Energy 0.04816 -10253 9 Predict 0.144192 -10254 0 Sorting 3.29648 -10255 1 Data reordering 0.190912 -10256 2 Tree-construction 0.887904 -10257 11 Memory 0.001888 -10258 3 Compute properties 0.19616 -10259 10 setActiveGrpsFunc 0.06832 -10260 4 Approximation 0.158688 -10261 8 Correct 0.025216 -10262 7 Energy 0.048352 -10263 9 Predict 0.143776 -10264 0 Sorting 3.24032 -10265 1 Data reordering 0.164512 -10266 2 Tree-construction 0.884192 -10267 11 Memory 0.001888 -10268 3 Compute properties 0.187008 -10269 10 setActiveGrpsFunc 0.067456 -10270 4 Approximation 0.160096 -10271 8 Correct 0.025056 -10272 7 Energy 0.048096 -10273 9 Predict 0.144224 -10274 0 Sorting 3.31914 -10275 1 Data reordering 0.16464 -10276 2 Tree-construction 0.89168 -10277 11 Memory 0.001888 -10278 3 Compute properties 0.18608 -10279 10 setActiveGrpsFunc 0.067328 -10280 4 Approximation 0.16016 -10281 8 Correct 0.02512 -10282 7 Energy 0.047904 -10283 9 Predict 0.143488 -10284 0 Sorting 3.23926 -10285 1 Data reordering 0.173984 -10286 2 Tree-construction 0.88256 -10287 11 Memory 0.001888 -10288 3 Compute properties 0.1872 -10289 10 setActiveGrpsFunc 0.067424 -10290 4 Approximation 0.160128 -10291 8 Correct 0.024992 -10292 7 Energy 0.04832 -10293 9 Predict 0.143936 -10294 0 Sorting 3.9961 -10295 1 Data reordering 0.228896 -10296 2 Tree-construction 1.0527 -10297 11 Memory 0.001888 -10298 3 Compute properties 0.187648 -10299 10 setActiveGrpsFunc 0.068 -10300 4 Approximation 0.169728 -10301 8 Correct 0.025344 -10302 7 Energy 0.049152 -10303 9 Predict 0.144032 -10304 0 Sorting 3.24026 -10305 1 Data reordering 0.16416 -10306 2 Tree-construction 0.916288 -10307 11 Memory 0.001888 -10308 3 Compute properties 0.185856 -10309 10 setActiveGrpsFunc 0.067712 -10310 4 Approximation 0.161472 -10311 8 Correct 0.025088 -10312 7 Energy 0.048736 -10313 9 Predict 0.143968 -10314 0 Sorting 3.29763 -10315 1 Data reordering 0.164768 -10316 2 Tree-construction 0.88464 -10317 11 Memory 0.00192 -10318 3 Compute properties 0.18624 -10319 10 setActiveGrpsFunc 0.06752 -10320 4 Approximation 0.161216 -10321 8 Correct 0.025152 -10322 7 Energy 0.048384 -10323 9 Predict 0.143712 -10324 0 Sorting 3.26659 -10325 1 Data reordering 0.164224 -10326 2 Tree-construction 0.88544 -10327 11 Memory 0.00192 -10328 3 Compute properties 0.187616 -10329 10 setActiveGrpsFunc 0.067328 -10330 4 Approximation 0.160224 -10331 8 Correct 0.025024 -10332 7 Energy 0.048672 -10333 9 Predict 0.143296 -10334 0 Sorting 3.28301 -10335 1 Data reordering 0.164512 -10336 2 Tree-construction 0.886304 -10337 11 Memory 0.001888 -10338 3 Compute properties 0.187584 -10339 10 setActiveGrpsFunc 0.067552 -10340 4 Approximation 0.160288 -10341 8 Correct 0.025056 -10342 7 Energy 0.048192 -10343 9 Predict 0.143776 -10344 0 Sorting 3.26733 -10345 1 Data reordering 0.165632 -10346 2 Tree-construction 0.886912 -10347 11 Memory 0.00192 -10348 3 Compute properties 0.187008 -10349 10 setActiveGrpsFunc 0.067968 -10350 4 Approximation 0.159968 -10351 8 Correct 0.02512 -10352 7 Energy 0.048704 -10353 9 Predict 0.143296 -10354 0 Sorting 3.30995 -10355 1 Data reordering 0.165824 -10356 2 Tree-construction 0.886752 -10357 11 Memory 0.001888 -10358 3 Compute properties 0.187392 -10359 10 setActiveGrpsFunc 0.06784 -10360 4 Approximation 0.160224 -10361 8 Correct 0.02512 -10362 7 Energy 0.048128 -10363 9 Predict 0.14432 -10364 0 Sorting 3.27683 -10365 1 Data reordering 0.165984 -10366 2 Tree-construction 0.886464 -10367 11 Memory 0.00192 -10368 3 Compute properties 0.188768 -10369 10 setActiveGrpsFunc 0.06752 -10370 4 Approximation 0.198144 -10371 8 Correct 0.0336 -10372 7 Energy 0.057824 -10373 9 Predict 0.152256 -10374 0 Sorting 3.25987 -10375 1 Data reordering 0.164416 -10376 2 Tree-construction 0.895296 -10377 11 Memory 0.001952 -10378 3 Compute properties 0.219968 -10379 10 setActiveGrpsFunc 0.068992 -10380 4 Approximation 0.159136 -10381 8 Correct 0.025088 -10382 7 Energy 0.0488 -10383 9 Predict 0.143488 -10384 0 Sorting 3.23891 -10385 1 Data reordering 0.164288 -10386 2 Tree-construction 0.885504 -10387 11 Memory 0.001888 -10388 3 Compute properties 0.232416 -10389 10 setActiveGrpsFunc 0.0808 -10390 4 Approximation 0.15904 -10391 8 Correct 0.02528 -10392 7 Energy 0.0488 -10393 9 Predict 0.144928 -10394 0 Sorting 3.26051 -10395 1 Data reordering 0.17776 -10396 2 Tree-construction 0.886208 -10397 11 Memory 0.001888 -10398 3 Compute properties 0.186656 -10399 10 setActiveGrpsFunc 0.067584 -10400 4 Approximation 0.158816 -10401 8 Correct 0.025152 -10402 7 Energy 0.04832 -10403 9 Predict 0.1448 -10404 0 Sorting 3.24938 -10405 1 Data reordering 0.164256 -10406 2 Tree-construction 0.984224 -10407 11 Memory 0.00192 -10408 3 Compute properties 0.186112 -10409 10 setActiveGrpsFunc 0.067968 -10410 4 Approximation 0.158752 -10411 8 Correct 0.025248 -10412 7 Energy 0.048576 -10413 9 Predict 0.144736 -10414 0 Sorting 3.29824 -10415 1 Data reordering 0.1656 -10416 2 Tree-construction 0.8856 -10417 11 Memory 0.001888 -10418 3 Compute properties 0.18672 -10419 10 setActiveGrpsFunc 0.067936 -10420 4 Approximation 0.159104 -10421 8 Correct 0.025376 -10422 7 Energy 0.048224 -10423 9 Predict 0.144224 -10424 0 Sorting 3.2521 -10425 1 Data reordering 0.164032 -10426 2 Tree-construction 0.982624 -10427 11 Memory 0.00192 -10428 3 Compute properties 0.187296 -10429 10 setActiveGrpsFunc 0.068064 -10430 4 Approximation 0.159072 -10431 8 Correct 0.025248 -10432 7 Energy 0.04848 -10433 9 Predict 0.144832 -10434 0 Sorting 3.25037 -10435 1 Data reordering 0.164864 -10436 2 Tree-construction 0.886496 -10437 11 Memory 0.001888 -10438 3 Compute properties 0.19584 -10439 10 setActiveGrpsFunc 0.067936 -10440 4 Approximation 0.158752 -10441 8 Correct 0.025408 -10442 7 Energy 0.048416 -10443 9 Predict 0.14416 -10444 0 Sorting 3.29238 -10445 1 Data reordering 0.170368 -10446 2 Tree-construction 0.887616 -10447 11 Memory 0.010272 -10448 3 Compute properties 0.187008 -10449 10 setActiveGrpsFunc 0.076672 -10450 4 Approximation 0.181888 -10451 8 Correct 0.03376 -10452 7 Energy 0.066752 -10453 9 Predict 0.190752 -10454 0 Sorting 3.78605 -10455 1 Data reordering 0.166432 -10456 2 Tree-construction 0.888 -10457 11 Memory 0.001888 -10458 3 Compute properties 0.185696 -10459 10 setActiveGrpsFunc 0.067968 -10460 4 Approximation 0.159328 -10461 8 Correct 0.025152 -10462 7 Energy 0.048192 -10463 9 Predict 0.144288 -10464 0 Sorting 3.33286 -10465 1 Data reordering 0.176192 -10466 2 Tree-construction 0.889216 -10467 11 Memory 0.001888 -10468 3 Compute properties 0.18544 -10469 10 setActiveGrpsFunc 0.067968 -10470 4 Approximation 0.159104 -10471 8 Correct 0.025152 -10472 7 Energy 0.048832 -10473 9 Predict 0.14448 -10474 0 Sorting 3.24931 -10475 1 Data reordering 0.164288 -10476 2 Tree-construction 0.885376 -10477 11 Memory 0.001888 -10478 3 Compute properties 0.185408 -10479 10 setActiveGrpsFunc 0.06768 -10480 4 Approximation 0.159168 -10481 8 Correct 0.02528 -10482 7 Energy 0.04784 -10483 9 Predict 0.143808 -10484 0 Sorting 3.34589 -10485 1 Data reordering 0.16592 -10486 2 Tree-construction 0.898432 -10487 11 Memory 0.001888 -10488 3 Compute properties 0.187232 -10489 10 setActiveGrpsFunc 0.067488 -10490 4 Approximation 0.15872 -10491 8 Correct 0.025152 -10492 7 Energy 0.048512 -10493 9 Predict 0.144384 -10494 0 Sorting 3.27949 -10495 1 Data reordering 0.18784 -10496 2 Tree-construction 0.887648 -10497 11 Memory 0.00192 -10498 3 Compute properties 0.18688 -10499 10 setActiveGrpsFunc 0.067808 -10500 4 Approximation 0.159232 -10501 8 Correct 0.02512 -10502 7 Energy 0.048032 -10503 9 Predict 0.152 -10504 0 Sorting 3.32435 -10505 1 Data reordering 0.165216 -10506 2 Tree-construction 0.88816 -10507 11 Memory 0.00192 -10508 3 Compute properties 0.1864 -10509 10 setActiveGrpsFunc 0.06752 -10510 4 Approximation 0.160608 -10511 8 Correct 0.025408 -10512 7 Energy 0.048608 -10513 9 Predict 0.144384 -10514 0 Sorting 3.24688 -10515 1 Data reordering 0.164832 -10516 2 Tree-construction 0.888224 -10517 11 Memory 0.001856 -10518 3 Compute properties 0.187008 -10519 10 setActiveGrpsFunc 0.067968 -10520 4 Approximation 0.160032 -10521 8 Correct 0.025184 -10522 7 Energy 0.04848 -10523 9 Predict 0.144736 -10524 0 Sorting 3.33738 -10525 1 Data reordering 0.166432 -10526 2 Tree-construction 0.888416 -10527 11 Memory 0.00192 -10528 3 Compute properties 0.187008 -10529 10 setActiveGrpsFunc 0.067744 -10530 4 Approximation 0.156416 -10531 8 Correct 0.025056 -10532 7 Energy 0.048608 -10533 9 Predict 0.154848 -10534 0 Sorting 3.2343 -10535 1 Data reordering 0.16448 -10536 2 Tree-construction 0.937728 -10537 11 Memory 0.00192 -10538 3 Compute properties 0.18736 -10539 10 setActiveGrpsFunc 0.06784 -10540 4 Approximation 0.157376 -10541 8 Correct 0.02512 -10542 7 Energy 0.048224 -10543 9 Predict 0.144 -10544 0 Sorting 3.35373 -10545 1 Data reordering 0.165696 -10546 2 Tree-construction 0.890304 -10547 11 Memory 0.00192 -10548 3 Compute properties 0.195616 -10549 10 setActiveGrpsFunc 0.06784 -10550 4 Approximation 0.153792 -10551 8 Correct 0.02512 -10552 7 Energy 0.048512 -10553 9 Predict 0.144544 -10554 0 Sorting 3.26698 -10555 1 Data reordering 0.165088 -10556 2 Tree-construction 0.889152 -10557 11 Memory 0.001888 -10558 3 Compute properties 0.18768 -10559 10 setActiveGrpsFunc 0.067488 -10560 4 Approximation 0.151168 -10561 8 Correct 0.025088 -10562 7 Energy 0.048032 -10563 9 Predict 0.19456 -10564 0 Sorting 3.2953 -10565 1 Data reordering 0.164608 -10566 2 Tree-construction 0.887232 -10567 11 Memory 0.00192 -10568 3 Compute properties 0.18816 -10569 10 setActiveGrpsFunc 0.067712 -10570 4 Approximation 0.152128 -10571 8 Correct 0.024992 -10572 7 Energy 0.048544 -10573 9 Predict 0.144512 -10574 0 Sorting 3.25376 -10575 1 Data reordering 0.164672 -10576 2 Tree-construction 0.896096 -10577 11 Memory 0.001888 -10578 3 Compute properties 0.200416 -10579 10 setActiveGrpsFunc 0.107648 -10580 4 Approximation 0.164352 -10581 8 Correct 0.025792 -10582 7 Energy 0.049184 -10583 9 Predict 0.145024 -10584 0 Sorting 3.2784 -10585 1 Data reordering 0.165472 -10586 2 Tree-construction 0.885728 -10587 11 Memory 0.001888 -10588 3 Compute properties 0.196928 -10589 10 setActiveGrpsFunc 0.06784 -10590 4 Approximation 0.156352 -10591 8 Correct 0.02512 -10592 7 Energy 0.048224 -10593 9 Predict 0.162112 -10594 0 Sorting 3.26282 -10595 1 Data reordering 0.165504 -10596 2 Tree-construction 0.984992 -10597 11 Memory 0.001888 -10598 3 Compute properties 0.19792 -10599 10 setActiveGrpsFunc 0.06848 -10600 4 Approximation 0.169856 -10601 8 Correct 0.025856 -10602 7 Energy 0.049088 -10603 9 Predict 0.145312 -10604 0 Sorting 3.25542 -10605 1 Data reordering 0.164576 -10606 2 Tree-construction 0.913888 -10607 11 Memory 0.00192 -10608 3 Compute properties 0.18976 -10609 10 setActiveGrpsFunc 0.067648 -10610 4 Approximation 0.15456 -10611 8 Correct 0.025184 -10612 7 Energy 0.048256 -10613 9 Predict 0.143936 -10614 0 Sorting 3.248 -10615 1 Data reordering 0.164416 -10616 2 Tree-construction 0.981408 -10617 11 Memory 0.001856 -10618 3 Compute properties 0.207616 -10619 10 setActiveGrpsFunc 0.068608 -10620 4 Approximation 0.15552 -10621 8 Correct 0.025056 -10622 7 Energy 0.048352 -10623 9 Predict 0.144512 -10624 0 Sorting 3.27018 -10625 1 Data reordering 0.164864 -10626 2 Tree-construction 0.884384 -10627 11 Memory 0.00192 -10628 3 Compute properties 0.195872 -10629 10 setActiveGrpsFunc 0.068192 -10630 4 Approximation 0.153248 -10631 8 Correct 0.025216 -10632 7 Energy 0.048256 -10633 9 Predict 0.14416 -10634 0 Sorting 3.24538 -10635 1 Data reordering 0.236864 -10636 2 Tree-construction 0.953664 -10637 11 Memory 0.00192 -10638 3 Compute properties 0.189632 -10639 10 setActiveGrpsFunc 0.068192 -10640 4 Approximation 0.154656 -10641 8 Correct 0.025312 -10642 7 Energy 0.048288 -10643 9 Predict 0.144288 -10644 0 Sorting 3.25581 -10645 1 Data reordering 0.165216 -10646 2 Tree-construction 0.887392 -10647 11 Memory 0.00192 -10648 3 Compute properties 0.201248 -10649 10 setActiveGrpsFunc 0.068096 -10650 4 Approximation 0.152864 -10651 8 Correct 0.02512 -10652 7 Energy 0.048384 -10653 9 Predict 0.144384 -10654 0 Sorting 3.31277 -10655 1 Data reordering 0.184224 -10656 2 Tree-construction 0.90784 -10657 11 Memory 0.001888 -10658 3 Compute properties 0.198688 -10659 10 setActiveGrpsFunc 0.068064 -10660 4 Approximation 0.15392 -10661 8 Correct 0.025248 -10662 7 Energy 0.048032 -10663 9 Predict 0.14448 -10664 0 Sorting 3.28426 -10665 1 Data reordering 0.165056 -10666 2 Tree-construction 0.887168 -10667 11 Memory 0.001888 -10668 3 Compute properties 0.1984 -10669 10 setActiveGrpsFunc 0.068 -10670 4 Approximation 0.153728 -10671 8 Correct 0.025088 -10672 7 Energy 0.04816 -10673 9 Predict 0.14464 -10674 0 Sorting 3.35501 -10675 1 Data reordering 0.165056 -10676 2 Tree-construction 0.976128 -10677 11 Memory 0.001888 -10678 3 Compute properties 0.272576 -10679 10 setActiveGrpsFunc 0.09088 -10680 4 Approximation 0.176416 -10681 8 Correct 0.033856 -10682 7 Energy 0.067392 -10683 9 Predict 0.19088 -10684 0 Sorting 3.46525 -10685 1 Data reordering 0.165152 -10686 2 Tree-construction 0.899936 -10687 11 Memory 0.00192 -10688 3 Compute properties 0.19744 -10689 10 setActiveGrpsFunc 0.068192 -10690 4 Approximation 0.156416 -10691 8 Correct 0.025024 -10692 7 Energy 0.048352 -10693 9 Predict 0.144992 -10694 0 Sorting 3.3512 -10695 1 Data reordering 0.165952 -10696 2 Tree-construction 0.88768 -10697 11 Memory 0.001888 -10698 3 Compute properties 0.191136 -10699 10 setActiveGrpsFunc 0.067552 -10700 4 Approximation 0.15584 -10701 8 Correct 0.025344 -10702 7 Energy 0.048192 -10703 9 Predict 0.144288 -10704 0 Sorting 3.25053 -10705 1 Data reordering 0.164736 -10706 2 Tree-construction 0.886208 -10707 11 Memory 0.00192 -10708 3 Compute properties 0.198304 -10709 10 setActiveGrpsFunc 0.068032 -10710 4 Approximation 0.157536 -10711 8 Correct 0.02512 -10712 7 Energy 0.048448 -10713 9 Predict 0.144832 -10714 0 Sorting 3.35331 -10715 1 Data reordering 0.165248 -10716 2 Tree-construction 0.898336 -10717 11 Memory 0.00192 -10718 3 Compute properties 0.1984 -10719 10 setActiveGrpsFunc 0.068288 -10720 4 Approximation 0.157408 -10721 8 Correct 0.02512 -10722 7 Energy 0.047776 -10723 9 Predict 0.144192 -10724 0 Sorting 3.23821 -10725 1 Data reordering 0.164544 -10726 2 Tree-construction 0.885824 -10727 11 Memory 0.001888 -10728 3 Compute properties 0.200288 -10729 10 setActiveGrpsFunc 0.068064 -10730 4 Approximation 0.156576 -10731 8 Correct 0.02512 -10732 7 Energy 0.048416 -10733 9 Predict 0.165856 -10734 0 Sorting 3.4103 -10735 1 Data reordering 0.16528 -10736 2 Tree-construction 0.885728 -10737 11 Memory 0.001888 -10738 3 Compute properties 0.200256 -10739 10 setActiveGrpsFunc 0.067968 -10740 4 Approximation 0.156256 -10741 8 Correct 0.025344 -10742 7 Energy 0.04816 -10743 9 Predict 0.144352 -10744 0 Sorting 3.37187 -10745 1 Data reordering 0.211104 -10746 2 Tree-construction 0.912608 -10747 11 Memory 0.001888 -10748 3 Compute properties 0.209856 -10749 10 setActiveGrpsFunc 0.087264 -10750 4 Approximation 0.159488 -10751 8 Correct 0.03312 -10752 7 Energy 0.066016 -10753 9 Predict 0.148864 -10754 0 Sorting 3.26554 -10755 1 Data reordering 0.165792 -10756 2 Tree-construction 1.05693 -10757 11 Memory 0.001888 -10758 3 Compute properties 0.233344 -10759 10 setActiveGrpsFunc 0.089152 -10760 4 Approximation 0.164928 -10761 8 Correct 0.026656 -10762 7 Energy 0.074368 -10763 9 Predict 0.173056 -10764 0 Sorting 3.27405 -10765 1 Data reordering 0.165088 -10766 2 Tree-construction 1.11677 -10767 11 Memory 0.001888 -10768 3 Compute properties 0.199424 -10769 10 setActiveGrpsFunc 0.091072 -10770 4 Approximation 0.181952 -10771 8 Correct 0.026528 -10772 7 Energy 0.07232 -10773 9 Predict 0.18576 -10774 0 Sorting 3.29322 -10775 1 Data reordering 0.213376 -10776 2 Tree-construction 0.960576 -10777 11 Memory 0.00192 -10778 3 Compute properties 0.199616 -10779 10 setActiveGrpsFunc 0.06848 -10780 4 Approximation 0.155456 -10781 8 Correct 0.025248 -10782 7 Energy 0.048512 -10783 9 Predict 0.144384 -10784 0 Sorting 3.32336 -10785 1 Data reordering 0.167104 -10786 2 Tree-construction 0.911456 -10787 11 Memory 0.001888 -10788 3 Compute properties 0.199936 -10789 10 setActiveGrpsFunc 0.068288 -10790 4 Approximation 0.154496 -10791 8 Correct 0.025184 -10792 7 Energy 0.04864 -10793 9 Predict 0.144448 -10794 0 Sorting 3.24621 -10795 1 Data reordering 0.164352 -10796 2 Tree-construction 0.914368 -10797 11 Memory 0.001888 -10798 3 Compute properties 0.20048 -10799 10 setActiveGrpsFunc 0.068544 -10800 4 Approximation 0.153568 -10801 8 Correct 0.025248 -10802 7 Energy 0.047968 -10803 9 Predict 0.144576 -10804 0 Sorting 3.30224 -10805 1 Data reordering 0.164704 -10806 2 Tree-construction 0.8976 -10807 11 Memory 0.001888 -10808 3 Compute properties 0.192864 -10809 10 setActiveGrpsFunc 0.067456 -10810 4 Approximation 0.154432 -10811 8 Correct 0.025216 -10812 7 Energy 0.048448 -10813 9 Predict 0.144 -10814 0 Sorting 3.25354 -10815 1 Data reordering 0.164864 -10816 2 Tree-construction 0.88576 -10817 11 Memory 0.001888 -10818 3 Compute properties 0.206944 -10819 10 setActiveGrpsFunc 0.069216 -10820 4 Approximation 0.155168 -10821 8 Correct 0.025184 -10822 7 Energy 0.048224 -10823 9 Predict 0.144224 -10824 0 Sorting 3.2976 -10825 1 Data reordering 0.183104 -10826 2 Tree-construction 0.887968 -10827 11 Memory 0.00192 -10828 3 Compute properties 0.199392 -10829 10 setActiveGrpsFunc 0.068256 -10830 4 Approximation 0.153536 -10831 8 Correct 0.025344 -10832 7 Energy 0.04832 -10833 9 Predict 0.143968 -10834 0 Sorting 3.26099 -10835 1 Data reordering 0.165792 -10836 2 Tree-construction 0.88208 -10837 11 Memory 0.001888 -10838 3 Compute properties 0.20304 -10839 10 setActiveGrpsFunc 0.068256 -10840 4 Approximation 0.148832 -10841 8 Correct 0.025152 -10842 7 Energy 0.047808 -10843 9 Predict 0.144128 -10844 0 Sorting 3.33802 -10845 1 Data reordering 0.165088 -10846 2 Tree-construction 0.887328 -10847 11 Memory 0.00192 -10848 3 Compute properties 0.19824 -10849 10 setActiveGrpsFunc 0.068384 -10850 4 Approximation 0.1536 -10851 8 Correct 0.02544 -10852 7 Energy 0.048672 -10853 9 Predict 0.143968 -10854 0 Sorting 3.28742 -10855 1 Data reordering 0.165888 -10856 2 Tree-construction 0.885888 -10857 11 Memory 0.001888 -10858 3 Compute properties 0.198784 -10859 10 setActiveGrpsFunc 0.068032 -10860 4 Approximation 0.154816 -10861 8 Correct 0.025216 -10862 7 Energy 0.048832 -10863 9 Predict 0.144288 -10864 0 Sorting 3.31213 -10865 1 Data reordering 0.165024 -10866 2 Tree-construction 0.887328 -10867 11 Memory 0.00192 -10868 3 Compute properties 0.197792 -10869 10 setActiveGrpsFunc 0.07072 -10870 4 Approximation 0.153408 -10871 8 Correct 0.025216 -10872 7 Energy 0.04896 -10873 9 Predict 0.176352 -10874 0 Sorting 3.24307 -10875 1 Data reordering 0.164608 -10876 2 Tree-construction 0.885856 -10877 11 Memory 0.001888 -10878 3 Compute properties 0.189344 -10879 10 setActiveGrpsFunc 0.06768 -10880 4 Approximation 0.154208 -10881 8 Correct 0.025248 -10882 7 Energy 0.04816 -10883 9 Predict 0.14448 -10884 0 Sorting 3.31382 -10885 1 Data reordering 0.164896 -10886 2 Tree-construction 0.924576 -10887 11 Memory 0.001888 -10888 3 Compute properties 0.197856 -10889 10 setActiveGrpsFunc 0.068256 -10890 4 Approximation 0.156928 -10891 8 Correct 0.02512 -10892 7 Energy 0.048448 -10893 9 Predict 0.144352 -10894 0 Sorting 3.25104 -10895 1 Data reordering 0.164704 -10896 2 Tree-construction 0.888512 -10897 11 Memory 0.00192 -10898 3 Compute properties 0.202304 -10899 10 setActiveGrpsFunc 0.068096 -10900 4 Approximation 0.156512 -10901 8 Correct 0.025024 -10902 7 Energy 0.04816 -10903 9 Predict 0.144512 -10904 0 Sorting 3.54867 -10905 1 Data reordering 0.228768 -10906 2 Tree-construction 1.18384 -10907 11 Memory 0.001888 -10908 3 Compute properties 0.258304 -10909 10 setActiveGrpsFunc 0.091424 -10910 4 Approximation 0.178432 -10911 8 Correct 0.032544 -10912 7 Energy 0.05072 -10913 9 Predict 0.145888 -10914 0 Sorting 3.23782 -10915 1 Data reordering 0.165088 -10916 2 Tree-construction 0.897376 -10917 11 Memory 0.001888 -10918 3 Compute properties 0.200096 -10919 10 setActiveGrpsFunc 0.113408 -10920 4 Approximation 0.181888 -10921 8 Correct 0.025632 -10922 7 Energy 0.048992 -10923 9 Predict 0.145408 -10924 0 Sorting 3.26726 -10925 1 Data reordering 0.165472 -10926 2 Tree-construction 0.887488 -10927 11 Memory 0.001888 -10928 3 Compute properties 0.198944 -10929 10 setActiveGrpsFunc 0.067872 -10930 4 Approximation 0.156192 -10931 8 Correct 0.025152 -10932 7 Energy 0.04864 -10933 9 Predict 0.144576 -10934 0 Sorting 3.23997 -10935 1 Data reordering 0.164 -10936 2 Tree-construction 0.970816 -10937 11 Memory 0.001888 -10938 3 Compute properties 0.226208 -10939 10 setActiveGrpsFunc 0.069728 -10940 4 Approximation 0.15392 -10941 8 Correct 0.025152 -10942 7 Energy 0.048608 -10943 9 Predict 0.144128 -10944 0 Sorting 3.26083 -10945 1 Data reordering 0.164256 -10946 2 Tree-construction 0.885856 -10947 11 Memory 0.001888 -10948 3 Compute properties 0.199936 -10949 10 setActiveGrpsFunc 0.067936 -10950 4 Approximation 0.154848 -10951 8 Correct 0.02512 -10952 7 Energy 0.048 -10953 9 Predict 0.143872 -10954 0 Sorting 3.25501 -10955 1 Data reordering 0.16944 -10956 2 Tree-construction 1.0001 -10957 11 Memory 0.00192 -10958 3 Compute properties 0.19904 -10959 10 setActiveGrpsFunc 0.067872 -10960 4 Approximation 0.15536 -10961 8 Correct 0.025152 -10962 7 Energy 0.048 -10963 9 Predict 0.144608 -10964 0 Sorting 3.24768 -10965 1 Data reordering 0.164352 -10966 2 Tree-construction 0.885568 -10967 11 Memory 0.001888 -10968 3 Compute properties 0.198016 -10969 10 setActiveGrpsFunc 0.067776 -10970 4 Approximation 0.155936 -10971 8 Correct 0.025088 -10972 7 Energy 0.048032 -10973 9 Predict 0.144192 -10974 0 Sorting 3.27955 -10975 1 Data reordering 0.237408 -10976 2 Tree-construction 0.89968 -10977 11 Memory 0.001888 -10978 3 Compute properties 0.20016 -10979 10 setActiveGrpsFunc 0.068512 -10980 4 Approximation 0.154496 -10981 8 Correct 0.025216 -10982 7 Energy 0.048544 -10983 9 Predict 0.144128 -10984 0 Sorting 3.24227 -10985 1 Data reordering 0.164416 -10986 2 Tree-construction 0.88624 -10987 11 Memory 0.001888 -10988 3 Compute properties 0.202144 -10989 10 setActiveGrpsFunc 0.067744 -10990 4 Approximation 0.153472 -10991 8 Correct 0.025088 -10992 7 Energy 0.048064 -10993 9 Predict 0.144032 -10994 0 Sorting 3.32765 -10995 1 Data reordering 0.165024 -10996 2 Tree-construction 0.8896 -10997 11 Memory 0.001888 -10998 3 Compute properties 0.199328 -10999 10 setActiveGrpsFunc 0.068096 -11000 4 Approximation 0.152704 -11001 8 Correct 0.025248 -11002 7 Energy 0.04816 -11003 9 Predict 0.144672 -11004 0 Sorting 3.24266 -11005 1 Data reordering 0.164736 -11006 2 Tree-construction 0.884672 -11007 11 Memory 0.001888 -11008 3 Compute properties 0.197344 -11009 10 setActiveGrpsFunc 0.067968 -11010 4 Approximation 0.15312 -11011 8 Correct 0.025216 -11012 7 Energy 0.04784 -11013 9 Predict 0.144224 -11014 0 Sorting 3.34765 -11015 1 Data reordering 0.165952 -11016 2 Tree-construction 0.886752 -11017 11 Memory 0.00192 -11018 3 Compute properties 0.198496 -11019 10 setActiveGrpsFunc 0.068 -11020 4 Approximation 0.152928 -11021 8 Correct 0.02512 -11022 7 Energy 0.048352 -11023 9 Predict 0.144608 -11024 0 Sorting 3.23222 -11025 1 Data reordering 0.174176 -11026 2 Tree-construction 0.892448 -11027 11 Memory 0.00192 -11028 3 Compute properties 0.227296 -11029 10 setActiveGrpsFunc 0.069472 -11030 4 Approximation 0.154208 -11031 8 Correct 0.025152 -11032 7 Energy 0.048704 -11033 9 Predict 0.145152 -11034 0 Sorting 3.3055 -11035 1 Data reordering 0.164992 -11036 2 Tree-construction 0.887872 -11037 11 Memory 0.001888 -11038 3 Compute properties 0.198528 -11039 10 setActiveGrpsFunc 0.075296 -11040 4 Approximation 0.154464 -11041 8 Correct 0.025056 -11042 7 Energy 0.047936 -11043 9 Predict 0.144 -11044 0 Sorting 3.27978 -11045 1 Data reordering 0.22688 -11046 2 Tree-construction 1.19027 -11047 11 Memory 0.001888 -11048 3 Compute properties 0.27024 -11049 10 setActiveGrpsFunc 0.090624 -11050 4 Approximation 0.171776 -11051 8 Correct 0.02576 -11052 7 Energy 0.049536 -11053 9 Predict 0.145376 -11054 0 Sorting 3.31702 -11055 1 Data reordering 0.174624 -11056 2 Tree-construction 0.9592 -11057 11 Memory 0.00192 -11058 3 Compute properties 0.219712 -11059 10 setActiveGrpsFunc 0.068096 -11060 4 Approximation 0.156384 -11061 8 Correct 0.025088 -11062 7 Energy 0.04864 -11063 9 Predict 0.144416 -11064 0 Sorting 3.24938 -11065 1 Data reordering 0.165056 -11066 2 Tree-construction 0.9576 -11067 11 Memory 0.00192 -11068 3 Compute properties 0.220736 -11069 10 setActiveGrpsFunc 0.068064 -11070 4 Approximation 0.160608 -11071 8 Correct 0.025216 -11072 7 Energy 0.048512 -11073 9 Predict 0.144096 -11074 0 Sorting 3.3175 -11075 1 Data reordering 0.165152 -11076 2 Tree-construction 0.958048 -11077 11 Memory 0.001888 -11078 3 Compute properties 0.210912 -11079 10 setActiveGrpsFunc 0.06768 -11080 4 Approximation 0.161184 -11081 8 Correct 0.025056 -11082 7 Energy 0.048928 -11083 9 Predict 0.167424 -11084 0 Sorting 3.24269 -11085 1 Data reordering 0.164672 -11086 2 Tree-construction 0.886784 -11087 11 Memory 0.00192 -11088 3 Compute properties 0.200128 -11089 10 setActiveGrpsFunc 0.068032 -11090 4 Approximation 0.1528 -11091 8 Correct 0.025216 -11092 7 Energy 0.048576 -11093 9 Predict 0.171776 -11094 0 Sorting 3.30202 -11095 1 Data reordering 0.1648 -11096 2 Tree-construction 0.936832 -11097 11 Memory 0.00192 -11098 3 Compute properties 0.200096 -11099 10 setActiveGrpsFunc 0.068384 -11100 4 Approximation 0.153024 -11101 8 Correct 0.025056 -11102 7 Energy 0.048544 -11103 9 Predict 0.144736 -11104 0 Sorting 3.24701 -11105 1 Data reordering 0.164512 -11106 2 Tree-construction 0.888896 -11107 11 Memory 0.001888 -11108 3 Compute properties 0.200512 -11109 10 setActiveGrpsFunc 0.09824 -11110 4 Approximation 0.169344 -11111 8 Correct 0.025536 -11112 7 Energy 0.049216 -11113 9 Predict 0.145152 -11114 0 Sorting 3.2593 -11115 1 Data reordering 0.165248 -11116 2 Tree-construction 0.89808 -11117 11 Memory 0.001888 -11118 3 Compute properties 0.199936 -11119 10 setActiveGrpsFunc 0.067616 -11120 4 Approximation 0.15232 -11121 8 Correct 0.025184 -11122 7 Energy 0.047904 -11123 9 Predict 0.144064 -11124 0 Sorting 3.23302 -11125 1 Data reordering 0.16432 -11126 2 Tree-construction 0.933568 -11127 11 Memory 0.001888 -11128 3 Compute properties 0.243392 -11129 10 setActiveGrpsFunc 0.0696 -11130 4 Approximation 0.161632 -11131 8 Correct 0.02528 -11132 7 Energy 0.048736 -11133 9 Predict 0.151328 -11134 0 Sorting 3.26131 -11135 1 Data reordering 0.165696 -11136 2 Tree-construction 0.888992 -11137 11 Memory 0.001888 -11138 3 Compute properties 0.201952 -11139 10 setActiveGrpsFunc 0.067904 -11140 4 Approximation 0.157728 -11141 8 Correct 0.024992 -11142 7 Energy 0.048832 -11143 9 Predict 0.14448 -11144 0 Sorting 3.2415 -11145 1 Data reordering 0.16416 -11146 2 Tree-construction 0.981216 -11147 11 Memory 0.001888 -11148 3 Compute properties 0.193472 -11149 10 setActiveGrpsFunc 0.068 -11150 4 Approximation 0.1592 -11151 8 Correct 0.024992 -11152 7 Energy 0.048512 -11153 9 Predict 0.14912 -11154 0 Sorting 3.26918 -11155 1 Data reordering 0.16512 -11156 2 Tree-construction 0.887584 -11157 11 Memory 0.001888 -11158 3 Compute properties 0.200416 -11159 10 setActiveGrpsFunc 0.067712 -11160 4 Approximation 0.159104 -11161 8 Correct 0.025152 -11162 7 Energy 0.048224 -11163 9 Predict 0.143424 -11164 0 Sorting 3.24941 -11165 1 Data reordering 0.211488 -11166 2 Tree-construction 0.963552 -11167 11 Memory 0.001888 -11168 3 Compute properties 0.201152 -11169 10 setActiveGrpsFunc 0.068928 -11170 4 Approximation 0.159104 -11171 8 Correct 0.025184 -11172 7 Energy 0.048448 -11173 9 Predict 0.144288 -11174 0 Sorting 3.25277 -11175 1 Data reordering 0.165024 -11176 2 Tree-construction 0.894176 -11177 11 Memory 0.001888 -11178 3 Compute properties 0.19328 -11179 10 setActiveGrpsFunc 0.067872 -11180 4 Approximation 0.159776 -11181 8 Correct 0.025024 -11182 7 Energy 0.048544 -11183 9 Predict 0.144256 -11184 0 Sorting 3.30502 -11185 1 Data reordering 0.194816 -11186 2 Tree-construction 0.88864 -11187 11 Memory 0.001888 -11188 3 Compute properties 0.19984 -11189 10 setActiveGrpsFunc 0.068512 -11190 4 Approximation 0.16016 -11191 8 Correct 0.025152 -11192 7 Energy 0.048544 -11193 9 Predict 0.144384 -11194 0 Sorting 3.23878 -11195 1 Data reordering 0.164 -11196 2 Tree-construction 0.8856 -11197 11 Memory 0.001888 -11198 3 Compute properties 0.201376 -11199 10 setActiveGrpsFunc 0.068064 -11200 4 Approximation 0.159648 -11201 8 Correct 0.025088 -11202 7 Energy 0.047904 -11203 9 Predict 0.143552 -11204 0 Sorting 3.31635 -11205 1 Data reordering 0.165536 -11206 2 Tree-construction 0.89712 -11207 11 Memory 0.001888 -11208 3 Compute properties 0.201664 -11209 10 setActiveGrpsFunc 0.068032 -11210 4 Approximation 0.160288 -11211 8 Correct 0.025056 -11212 7 Energy 0.048896 -11213 9 Predict 0.143808 -11214 0 Sorting 3.24349 -11215 1 Data reordering 0.164192 -11216 2 Tree-construction 0.884416 -11217 11 Memory 0.001888 -11218 3 Compute properties 0.200544 -11219 10 setActiveGrpsFunc 0.067776 -11220 4 Approximation 0.160704 -11221 8 Correct 0.025152 -11222 7 Energy 0.04784 -11223 9 Predict 0.144256 -11224 0 Sorting 3.32144 -11225 1 Data reordering 0.169696 -11226 2 Tree-construction 0.88608 -11227 11 Memory 0.00192 -11228 3 Compute properties 0.192896 -11229 10 setActiveGrpsFunc 0.067648 -11230 4 Approximation 0.160544 -11231 8 Correct 0.025184 -11232 7 Energy 0.048384 -11233 9 Predict 0.144224 -11234 0 Sorting 3.25104 -11235 1 Data reordering 0.163392 -11236 2 Tree-construction 0.930176 -11237 11 Memory 0.001888 -11238 3 Compute properties 0.200928 -11239 10 setActiveGrpsFunc 0.06912 -11240 4 Approximation 0.160288 -11241 8 Correct 0.025184 -11242 7 Energy 0.048384 -11243 9 Predict 0.144352 -11244 0 Sorting 3.32806 -11245 1 Data reordering 0.164992 -11246 2 Tree-construction 0.886816 -11247 11 Memory 0.001888 -11248 3 Compute properties 0.200192 -11249 10 setActiveGrpsFunc 0.06784 -11250 4 Approximation 0.158624 -11251 8 Correct 0.02528 -11252 7 Energy 0.048544 -11253 9 Predict 0.144416 -11254 0 Sorting 3.25869 -11255 1 Data reordering 0.174688 -11256 2 Tree-construction 0.887392 -11257 11 Memory 0.001888 -11258 3 Compute properties 0.200448 -11259 10 setActiveGrpsFunc 0.068096 -11260 4 Approximation 0.158912 -11261 8 Correct 0.025184 -11262 7 Energy 0.048128 -11263 9 Predict 0.144512 -11264 0 Sorting 3.30749 -11265 1 Data reordering 0.165088 -11266 2 Tree-construction 0.88784 -11267 11 Memory 0.001888 -11268 3 Compute properties 0.199008 -11269 10 setActiveGrpsFunc 0.07824 -11270 4 Approximation 0.159168 -11271 8 Correct 0.025056 -11272 7 Energy 0.048736 -11273 9 Predict 0.14416 -11274 0 Sorting 3.6471 -11275 1 Data reordering 0.218144 -11276 2 Tree-construction 0.890528 -11277 11 Memory 0.001984 -11278 3 Compute properties 0.202144 -11279 10 setActiveGrpsFunc 0.069152 -11280 4 Approximation 0.159264 -11281 8 Correct 0.025216 -11282 7 Energy 0.048544 -11283 9 Predict 0.144992 -11284 0 Sorting 3.45072 -11285 1 Data reordering 0.164384 -11286 2 Tree-construction 0.981664 -11287 11 Memory 0.001888 -11288 3 Compute properties 0.266752 -11289 10 setActiveGrpsFunc 0.071168 -11290 4 Approximation 0.17312 -11291 8 Correct 0.031232 -11292 7 Energy 0.07936 -11293 9 Predict 0.147584 -11294 0 Sorting 3.25766 -11295 1 Data reordering 0.171328 -11296 2 Tree-construction 0.889248 -11297 11 Memory 0.00192 -11298 3 Compute properties 0.20128 -11299 10 setActiveGrpsFunc 0.107552 -11300 4 Approximation 0.178272 -11301 8 Correct 0.025408 -11302 7 Energy 0.048736 -11303 9 Predict 0.167936 -11304 0 Sorting 3.2463 -11305 1 Data reordering 0.164704 -11306 2 Tree-construction 0.915488 -11307 11 Memory 0.00192 -11308 3 Compute properties 0.201056 -11309 10 setActiveGrpsFunc 0.068128 -11310 4 Approximation 0.16 -11311 8 Correct 0.02512 -11312 7 Energy 0.04848 -11313 9 Predict 0.144192 -11314 0 Sorting 3.24774 -11315 1 Data reordering 0.164512 -11316 2 Tree-construction 0.975328 -11317 11 Memory 0.001888 -11318 3 Compute properties 0.201984 -11319 10 setActiveGrpsFunc 0.068128 -11320 4 Approximation 0.160096 -11321 8 Correct 0.02512 -11322 7 Energy 0.048448 -11323 9 Predict 0.144256 -11324 0 Sorting 3.26106 -11325 1 Data reordering 0.164896 -11326 2 Tree-construction 0.888032 -11327 11 Memory 0.00192 -11328 3 Compute properties 0.199168 -11329 10 setActiveGrpsFunc 0.06784 -11330 4 Approximation 0.158848 -11331 8 Correct 0.025088 -11332 7 Energy 0.04832 -11333 9 Predict 0.143936 -11334 0 Sorting 3.25024 -11335 1 Data reordering 0.16448 -11336 2 Tree-construction 0.971936 -11337 11 Memory 0.001888 -11338 3 Compute properties 0.200704 -11339 10 setActiveGrpsFunc 0.068448 -11340 4 Approximation 0.158912 -11341 8 Correct 0.025088 -11342 7 Energy 0.048448 -11343 9 Predict 0.144928 -11344 0 Sorting 3.26592 -11345 1 Data reordering 0.165024 -11346 2 Tree-construction 0.889216 -11347 11 Memory 0.001888 -11348 3 Compute properties 0.203136 -11349 10 setActiveGrpsFunc 0.068032 -11350 4 Approximation 0.159776 -11351 8 Correct 0.025088 -11352 7 Energy 0.048352 -11353 9 Predict 0.143968 -11354 0 Sorting 3.33069 -11355 1 Data reordering 0.164864 -11356 2 Tree-construction 0.920448 -11357 11 Memory 0.00192 -11358 3 Compute properties 0.199808 -11359 10 setActiveGrpsFunc 0.068224 -11360 4 Approximation 0.172576 -11361 8 Correct 0.026976 -11362 7 Energy 0.049216 -11363 9 Predict 0.146016 -11364 0 Sorting 3.26797 -11365 1 Data reordering 0.165824 -11366 2 Tree-construction 0.889216 -11367 11 Memory 0.001888 -11368 3 Compute properties 0.192896 -11369 10 setActiveGrpsFunc 0.068352 -11370 4 Approximation 0.160384 -11371 8 Correct 0.025184 -11372 7 Energy 0.049184 -11373 9 Predict 0.144672 -11374 0 Sorting 3.30205 -11375 1 Data reordering 0.184448 -11376 2 Tree-construction 0.947936 -11377 11 Memory 0.00192 -11378 3 Compute properties 0.198816 -11379 10 setActiveGrpsFunc 0.068224 -11380 4 Approximation 0.1592 -11381 8 Correct 0.025344 -11382 7 Energy 0.04832 -11383 9 Predict 0.144704 -11384 0 Sorting 3.23606 -11385 1 Data reordering 0.165088 -11386 2 Tree-construction 0.887008 -11387 11 Memory 0.001888 -11388 3 Compute properties 0.202336 -11389 10 setActiveGrpsFunc 0.068288 -11390 4 Approximation 0.161248 -11391 8 Correct 0.024864 -11392 7 Energy 0.048096 -11393 9 Predict 0.143808 -11394 0 Sorting 3.33741 -11395 1 Data reordering 0.165536 -11396 2 Tree-construction 0.88704 -11397 11 Memory 0.001888 -11398 3 Compute properties 0.199776 -11399 10 setActiveGrpsFunc 0.068032 -11400 4 Approximation 0.16144 -11401 8 Correct 0.025216 -11402 7 Energy 0.048192 -11403 9 Predict 0.144448 -11404 0 Sorting 3.23734 -11405 1 Data reordering 0.164352 -11406 2 Tree-construction 0.896704 -11407 11 Memory 0.001888 -11408 3 Compute properties 0.199904 -11409 10 setActiveGrpsFunc 0.068064 -11410 4 Approximation 0.161344 -11411 8 Correct 0.025024 -11412 7 Energy 0.047968 -11413 9 Predict 0.14336 -11414 0 Sorting 3.36781 -11415 1 Data reordering 0.164992 -11416 2 Tree-construction 0.886976 -11417 11 Memory 0.001888 -11418 3 Compute properties 0.19152 -11419 10 setActiveGrpsFunc 0.068032 -11420 4 Approximation 0.160224 -11421 8 Correct 0.025152 -11422 7 Energy 0.04848 -11423 9 Predict 0.14432 -11424 0 Sorting 3.24848 -11425 1 Data reordering 0.164 -11426 2 Tree-construction 0.888 -11427 11 Memory 0.00192 -11428 3 Compute properties 0.202496 -11429 10 setActiveGrpsFunc 0.068064 -11430 4 Approximation 0.159968 -11431 8 Correct 0.02512 -11432 7 Energy 0.048512 -11433 9 Predict 0.144736 -11434 0 Sorting 3.33776 -11435 1 Data reordering 0.165632 -11436 2 Tree-construction 0.890624 -11437 11 Memory 0.00192 -11438 3 Compute properties 0.202592 -11439 10 setActiveGrpsFunc 0.06832 -11440 4 Approximation 0.160736 -11441 8 Correct 0.025408 -11442 7 Energy 0.048352 -11443 9 Predict 0.144256 -11444 0 Sorting 3.24288 -11445 1 Data reordering 0.16384 -11446 2 Tree-construction 0.887104 -11447 11 Memory 0.00192 -11448 3 Compute properties 0.226784 -11449 10 setActiveGrpsFunc 0.069536 -11450 4 Approximation 0.159936 -11451 8 Correct 0.02512 -11452 7 Energy 0.05392 -11453 9 Predict 0.145152 -11454 0 Sorting 3.32614 -11455 1 Data reordering 0.174624 -11456 2 Tree-construction 0.886688 -11457 11 Memory 0.001888 -11458 3 Compute properties 0.199776 -11459 10 setActiveGrpsFunc 0.068032 -11460 4 Approximation 0.160512 -11461 8 Correct 0.025184 -11462 7 Energy 0.04848 -11463 9 Predict 0.14464 -11464 0 Sorting 3.24454 -11465 1 Data reordering 0.164928 -11466 2 Tree-construction 0.887136 -11467 11 Memory 0.001888 -11468 3 Compute properties 0.215008 -11469 10 setActiveGrpsFunc 0.068864 -11470 4 Approximation 0.1592 -11471 8 Correct 0.02512 -11472 7 Energy 0.048704 -11473 9 Predict 0.144224 -11474 0 Sorting 3.31843 -11475 1 Data reordering 0.165024 -11476 2 Tree-construction 0.886432 -11477 11 Memory 0.001888 -11478 3 Compute properties 0.193888 -11479 10 setActiveGrpsFunc 0.068544 -11480 4 Approximation 0.158912 -11481 8 Correct 0.025184 -11482 7 Energy 0.048288 -11483 9 Predict 0.144576 -11484 0 Sorting 3.28 -11485 1 Data reordering 0.165344 -11486 2 Tree-construction 0.966976 -11487 11 Memory 0.001888 -11488 3 Compute properties 0.219456 -11489 10 setActiveGrpsFunc 0.067936 -11490 4 Approximation 0.166976 -11491 8 Correct 0.024992 -11492 7 Energy 0.048448 -11493 9 Predict 0.144512 -11494 0 Sorting 3.32966 -11495 1 Data reordering 0.164864 -11496 2 Tree-construction 0.958304 -11497 11 Memory 0.001888 -11498 3 Compute properties 0.219136 -11499 10 setActiveGrpsFunc 0.068224 -11500 4 Approximation 0.166272 -11501 8 Correct 0.025376 -11502 7 Energy 0.04864 -11503 9 Predict 0.14432 -11504 0 Sorting 3.67946 -11505 1 Data reordering 0.165344 -11506 2 Tree-construction 0.939808 -11507 11 Memory 0.00192 -11508 3 Compute properties 0.203712 -11509 10 setActiveGrpsFunc 0.069408 -11510 4 Approximation 0.160224 -11511 8 Correct 0.026656 -11512 7 Energy 0.062496 -11513 9 Predict 0.14528 -11514 0 Sorting 3.24432 -11515 1 Data reordering 0.173888 -11516 2 Tree-construction 0.914688 -11517 11 Memory 0.001888 -11518 3 Compute properties 0.20064 -11519 10 setActiveGrpsFunc 0.067872 -11520 4 Approximation 0.158144 -11521 8 Correct 0.025856 -11522 7 Energy 0.047904 -11523 9 Predict 0.145024 -11524 0 Sorting 3.2441 -11525 1 Data reordering 0.165024 -11526 2 Tree-construction 0.981088 -11527 11 Memory 0.001888 -11528 3 Compute properties 0.215104 -11529 10 setActiveGrpsFunc 0.070208 -11530 4 Approximation 0.158048 -11531 8 Correct 0.02528 -11532 7 Energy 0.048896 -11533 9 Predict 0.145088 -11534 0 Sorting 3.25859 -11535 1 Data reordering 0.164704 -11536 2 Tree-construction 0.8864 -11537 11 Memory 0.00192 -11538 3 Compute properties 0.202176 -11539 10 setActiveGrpsFunc 0.068032 -11540 4 Approximation 0.158144 -11541 8 Correct 0.025152 -11542 7 Energy 0.048352 -11543 9 Predict 0.144576 -11544 0 Sorting 3.2519 -11545 1 Data reordering 0.22992 -11546 2 Tree-construction 0.942976 -11547 11 Memory 0.00192 -11548 3 Compute properties 0.202112 -11549 10 setActiveGrpsFunc 0.068608 -11550 4 Approximation 0.159872 -11551 8 Correct 0.025248 -11552 7 Energy 0.04816 -11553 9 Predict 0.144736 -11554 0 Sorting 3.2672 -11555 1 Data reordering 0.165088 -11556 2 Tree-construction 0.956576 -11557 11 Memory 0.001888 -11558 3 Compute properties 0.220192 -11559 10 setActiveGrpsFunc 0.067776 -11560 4 Approximation 0.166464 -11561 8 Correct 0.02496 -11562 7 Energy 0.047968 -11563 9 Predict 0.144224 -11564 0 Sorting 3.31478 -11565 1 Data reordering 0.182784 -11566 2 Tree-construction 0.889184 -11567 11 Memory 0.001888 -11568 3 Compute properties 0.20192 -11569 10 setActiveGrpsFunc 0.067712 -11570 4 Approximation 0.156896 -11571 8 Correct 0.025248 -11572 7 Energy 0.048512 -11573 9 Predict 0.165984 -11574 0 Sorting 3.24413 -11575 1 Data reordering 0.164896 -11576 2 Tree-construction 0.954208 -11577 11 Memory 0.001888 -11578 3 Compute properties 0.337888 -11579 10 setActiveGrpsFunc 0.069504 -11580 4 Approximation 0.16544 -11581 8 Correct 0.025216 -11582 7 Energy 0.048192 -11583 9 Predict 0.144512 -11584 0 Sorting 3.31814 -11585 1 Data reordering 0.16544 -11586 2 Tree-construction 0.962496 -11587 11 Memory 0.001888 -11588 3 Compute properties 0.394656 -11589 10 setActiveGrpsFunc 0.070368 -11590 4 Approximation 0.165984 -11591 8 Correct 0.025088 -11592 7 Energy 0.048864 -11593 9 Predict 0.144736 -11594 0 Sorting 3.24973 -11595 1 Data reordering 0.164736 -11596 2 Tree-construction 0.95872 -11597 11 Memory 0.00192 -11598 3 Compute properties 0.213792 -11599 10 setActiveGrpsFunc 0.06736 -11600 4 Approximation 0.167552 -11601 8 Correct 0.02512 -11602 7 Energy 0.047744 -11603 9 Predict 0.143776 -11604 0 Sorting 3.38262 -11605 1 Data reordering 0.165952 -11606 2 Tree-construction 0.96608 -11607 11 Memory 0.001888 -11608 3 Compute properties 0.3528 -11609 10 setActiveGrpsFunc 0.069408 -11610 4 Approximation 0.166272 -11611 8 Correct 0.025248 -11612 7 Energy 0.048672 -11613 9 Predict 0.1448 -11614 0 Sorting 3.24502 -11615 1 Data reordering 0.164768 -11616 2 Tree-construction 0.958208 -11617 11 Memory 0.001888 -11618 3 Compute properties 0.296992 -11619 10 setActiveGrpsFunc 0.070432 -11620 4 Approximation 0.16832 -11621 8 Correct 0.025088 -11622 7 Energy 0.048608 -11623 9 Predict 0.1544 -11624 0 Sorting 3.33792 -11625 1 Data reordering 0.165056 -11626 2 Tree-construction 0.889088 -11627 11 Memory 0.00192 -11628 3 Compute properties 0.201248 -11629 10 setActiveGrpsFunc 0.067968 -11630 4 Approximation 0.158496 -11631 8 Correct 0.025184 -11632 7 Energy 0.048832 -11633 9 Predict 0.144704 -11634 0 Sorting 3.24768 -11635 1 Data reordering 0.164512 -11636 2 Tree-construction 0.929216 -11637 11 Memory 0.001888 -11638 3 Compute properties 0.278304 -11639 10 setActiveGrpsFunc 0.069376 -11640 4 Approximation 0.159008 -11641 8 Correct 0.025184 -11642 7 Energy 0.048288 -11643 9 Predict 0.194592 -11644 0 Sorting 3.26502 -11645 1 Data reordering 0.16528 -11646 2 Tree-construction 0.888608 -11647 11 Memory 0.00192 -11648 3 Compute properties 0.276 -11649 10 setActiveGrpsFunc 0.06896 -11650 4 Approximation 0.156512 -11651 8 Correct 0.025248 -11652 7 Energy 0.048416 -11653 9 Predict 0.144448 -11654 0 Sorting 3.38723 -11655 1 Data reordering 0.229184 -11656 2 Tree-construction 1.20579 -11657 11 Memory 0.001888 -11658 3 Compute properties 0.201984 -11659 10 setActiveGrpsFunc 0.0688 -11660 4 Approximation 0.157152 -11661 8 Correct 0.025184 -11662 7 Energy 0.049344 -11663 9 Predict 0.144896 -11664 0 Sorting 3.24237 -11665 1 Data reordering 0.164896 -11666 2 Tree-construction 0.895136 -11667 11 Memory 0.001888 -11668 3 Compute properties 0.200896 -11669 10 setActiveGrpsFunc 0.067936 -11670 4 Approximation 0.155712 -11671 8 Correct 0.025024 -11672 7 Energy 0.048128 -11673 9 Predict 0.14416 -11674 0 Sorting 3.26256 -11675 1 Data reordering 0.165088 -11676 2 Tree-construction 0.99632 -11677 11 Memory 0.001888 -11678 3 Compute properties 0.2056 -11679 10 setActiveGrpsFunc 0.068 -11680 4 Approximation 0.153056 -11681 8 Correct 0.02512 -11682 7 Energy 0.04768 -11683 9 Predict 0.144192 -11684 0 Sorting 3.24986 -11685 1 Data reordering 0.164544 -11686 2 Tree-construction 0.885184 -11687 11 Memory 0.001888 -11688 3 Compute properties 0.285696 -11689 10 setActiveGrpsFunc 0.069312 -11690 4 Approximation 0.160672 -11691 8 Correct 0.025184 -11692 7 Energy 0.062816 -11693 9 Predict 0.14784 -11694 0 Sorting 3.2976 -11695 1 Data reordering 0.175296 -11696 2 Tree-construction 0.887744 -11697 11 Memory 0.001888 -11698 3 Compute properties 0.333792 -11699 10 setActiveGrpsFunc 0.069632 -11700 4 Approximation 0.160544 -11701 8 Correct 0.025184 -11702 7 Energy 0.048736 -11703 9 Predict 0.144064 -11704 0 Sorting 3.24275 -11705 1 Data reordering 0.164448 -11706 2 Tree-construction 0.903616 -11707 11 Memory 0.001888 -11708 3 Compute properties 0.275136 -11709 10 setActiveGrpsFunc 0.068992 -11710 4 Approximation 0.15968 -11711 8 Correct 0.025056 -11712 7 Energy 0.04832 -11713 9 Predict 0.144192 -11714 0 Sorting 3.3103 -11715 1 Data reordering 0.164608 -11716 2 Tree-construction 0.89584 -11717 11 Memory 0.001888 -11718 3 Compute properties 0.275584 -11719 10 setActiveGrpsFunc 0.069216 -11720 4 Approximation 0.156832 -11721 8 Correct 0.025152 -11722 7 Energy 0.04864 -11723 9 Predict 0.143648 -11724 0 Sorting 3.26858 -11725 1 Data reordering 0.167616 -11726 2 Tree-construction 0.896096 -11727 11 Memory 0.00192 -11728 3 Compute properties 0.194464 -11729 10 setActiveGrpsFunc 0.067968 -11730 4 Approximation 0.161152 -11731 8 Correct 0.02512 -11732 7 Energy 0.04864 -11733 9 Predict 0.143968 -11734 0 Sorting 3.32109 -11735 1 Data reordering 0.1656 -11736 2 Tree-construction 0.885408 -11737 11 Memory 0.001888 -11738 3 Compute properties 0.34464 -11739 10 setActiveGrpsFunc 0.069984 -11740 4 Approximation 0.16 -11741 8 Correct 0.025184 -11742 7 Energy 0.048352 -11743 9 Predict 0.144064 -11744 0 Sorting 3.26458 -11745 1 Data reordering 0.165408 -11746 2 Tree-construction 0.887232 -11747 11 Memory 0.001888 -11748 3 Compute properties 0.332736 -11749 10 setActiveGrpsFunc 0.069408 -11750 4 Approximation 0.159008 -11751 8 Correct 0.025312 -11752 7 Energy 0.049056 -11753 9 Predict 0.144352 -11754 0 Sorting 3.30118 -11755 1 Data reordering 0.165056 -11756 2 Tree-construction 0.884544 -11757 11 Memory 0.001888 -11758 3 Compute properties 0.307296 -11759 10 setActiveGrpsFunc 0.071264 -11760 4 Approximation 0.158304 -11761 8 Correct 0.02544 -11762 7 Energy 0.048288 -11763 9 Predict 0.144576 -11764 0 Sorting 3.23862 -11765 1 Data reordering 0.16464 -11766 2 Tree-construction 0.884736 -11767 11 Memory 0.002464 -11768 3 Compute properties 0.276768 -11769 10 setActiveGrpsFunc 0.069152 -11770 4 Approximation 0.158304 -11771 8 Correct 0.024928 -11772 7 Energy 0.048736 -11773 9 Predict 0.144416 -11774 0 Sorting 3.33619 -11775 1 Data reordering 0.165024 -11776 2 Tree-construction 0.885472 -11777 11 Memory 0.001888 -11778 3 Compute properties 0.332384 -11779 10 setActiveGrpsFunc 0.069728 -11780 4 Approximation 0.16032 -11781 8 Correct 0.025376 -11782 7 Energy 0.048224 -11783 9 Predict 0.144352 -11784 0 Sorting 3.25594 -11785 1 Data reordering 0.16416 -11786 2 Tree-construction 0.887712 -11787 11 Memory 0.001888 -11788 3 Compute properties 0.27392 -11789 10 setActiveGrpsFunc 0.069088 -11790 4 Approximation 0.152256 -11791 8 Correct 0.02528 -11792 7 Energy 0.04816 -11793 9 Predict 0.144576 -11794 0 Sorting 3.38618 -11795 1 Data reordering 0.16608 -11796 2 Tree-construction 0.888576 -11797 11 Memory 0.00192 -11798 3 Compute properties 0.286656 -11799 10 setActiveGrpsFunc 0.069568 -11800 4 Approximation 0.158144 -11801 8 Correct 0.025088 -11802 7 Energy 0.048736 -11803 9 Predict 0.14416 -11804 0 Sorting 3.23357 -11805 1 Data reordering 0.164512 -11806 2 Tree-construction 0.898176 -11807 11 Memory 0.001888 -11808 3 Compute properties 0.29648 -11809 10 setActiveGrpsFunc 0.089248 -11810 4 Approximation 0.16624 -11811 8 Correct 0.025504 -11812 7 Energy 0.049408 -11813 9 Predict 0.144704 -11814 0 Sorting 3.32701 -11815 1 Data reordering 0.16528 -11816 2 Tree-construction 0.88736 -11817 11 Memory 0.00192 -11818 3 Compute properties 0.193376 -11819 10 setActiveGrpsFunc 0.068064 -11820 4 Approximation 0.154368 -11821 8 Correct 0.02528 -11822 7 Energy 0.048064 -11823 9 Predict 0.152032 -11824 0 Sorting 3.24461 -11825 1 Data reordering 0.16416 -11826 2 Tree-construction 0.942784 -11827 11 Memory 0.001888 -11828 3 Compute properties 0.20032 -11829 10 setActiveGrpsFunc 0.068544 -11830 4 Approximation 0.16928 -11831 8 Correct 0.028064 -11832 7 Energy 0.050816 -11833 9 Predict 0.144928 -11834 0 Sorting 3.25254 -11835 1 Data reordering 0.164832 -11836 2 Tree-construction 0.885888 -11837 11 Memory 0.001888 -11838 3 Compute properties 0.200832 -11839 10 setActiveGrpsFunc 0.067904 -11840 4 Approximation 0.153312 -11841 8 Correct 0.025216 -11842 7 Energy 0.048 -11843 9 Predict 0.143872 -11844 0 Sorting 3.24714 -11845 1 Data reordering 0.16416 -11846 2 Tree-construction 1.028 -11847 11 Memory 0.001888 -11848 3 Compute properties 0.192256 -11849 10 setActiveGrpsFunc 0.068128 -11850 4 Approximation 0.155456 -11851 8 Correct 0.025088 -11852 7 Energy 0.049024 -11853 9 Predict 0.144128 -11854 0 Sorting 3.25082 -11855 1 Data reordering 0.1648 -11856 2 Tree-construction 0.885152 -11857 11 Memory 0.001888 -11858 3 Compute properties 0.200352 -11859 10 setActiveGrpsFunc 0.068224 -11860 4 Approximation 0.156672 -11861 8 Correct 0.025184 -11862 7 Energy 0.047968 -11863 9 Predict 0.144416 -11864 0 Sorting 3.52064 -11865 1 Data reordering 0.230944 -11866 2 Tree-construction 1.13046 -11867 11 Memory 0.00192 -11868 3 Compute properties 0.201472 -11869 10 setActiveGrpsFunc 0.068448 -11870 4 Approximation 0.155712 -11871 8 Correct 0.025728 -11872 7 Energy 0.04912 -11873 9 Predict 0.14512 -11874 0 Sorting 3.23024 -11875 1 Data reordering 0.164736 -11876 2 Tree-construction 0.884032 -11877 11 Memory 0.001888 -11878 3 Compute properties 0.214912 -11879 10 setActiveGrpsFunc 0.06944 -11880 4 Approximation 0.17312 -11881 8 Correct 0.025888 -11882 7 Energy 0.055456 -11883 9 Predict 0.192608 -11884 0 Sorting 3.52419 -11885 1 Data reordering 0.165088 -11886 2 Tree-construction 0.985504 -11887 11 Memory 0.00192 -11888 3 Compute properties 0.237792 -11889 10 setActiveGrpsFunc 0.069472 -11890 4 Approximation 0.16112 -11891 8 Correct 0.025504 -11892 7 Energy 0.048608 -11893 9 Predict 0.144704 -11894 0 Sorting 3.26701 -11895 1 Data reordering 0.164416 -11896 2 Tree-construction 0.911584 -11897 11 Memory 0.00192 -11898 3 Compute properties 0.199744 -11899 10 setActiveGrpsFunc 0.068 -11900 4 Approximation 0.157056 -11901 8 Correct 0.025376 -11902 7 Energy 0.048224 -11903 9 Predict 0.14432 -11904 0 Sorting 3.29968 -11905 1 Data reordering 0.165216 -11906 2 Tree-construction 0.88528 -11907 11 Memory 0.00192 -11908 3 Compute properties 0.29712 -11909 10 setActiveGrpsFunc 0.069344 -11910 4 Approximation 0.157696 -11911 8 Correct 0.025344 -11912 7 Energy 0.048768 -11913 9 Predict 0.144096 -11914 0 Sorting 3.27914 -11915 1 Data reordering 0.165792 -11916 2 Tree-construction 0.886528 -11917 11 Memory 0.00192 -11918 3 Compute properties 0.278848 -11919 10 setActiveGrpsFunc 0.069472 -11920 4 Approximation 0.15504 -11921 8 Correct 0.025248 -11922 7 Energy 0.047776 -11923 9 Predict 0.144352 -11924 0 Sorting 3.27613 -11925 1 Data reordering 0.164352 -11926 2 Tree-construction 0.88448 -11927 11 Memory 0.00192 -11928 3 Compute properties 0.201664 -11929 10 setActiveGrpsFunc 0.06816 -11930 4 Approximation 0.15664 -11931 8 Correct 0.024992 -11932 7 Energy 0.048064 -11933 9 Predict 0.143712 -11934 0 Sorting 3.27341 -11935 1 Data reordering 0.164736 -11936 2 Tree-construction 0.886912 -11937 11 Memory 0.00192 -11938 3 Compute properties 0.20112 -11939 10 setActiveGrpsFunc 0.06816 -11940 4 Approximation 0.157056 -11941 8 Correct 0.02528 -11942 7 Energy 0.04832 -11943 9 Predict 0.14368 -11944 0 Sorting 3.26861 -11945 1 Data reordering 0.174112 -11946 2 Tree-construction 0.887456 -11947 11 Memory 0.001888 -11948 3 Compute properties 0.2008 -11949 10 setActiveGrpsFunc 0.067776 -11950 4 Approximation 0.156128 -11951 8 Correct 0.025152 -11952 7 Energy 0.048224 -11953 9 Predict 0.144288 -11954 0 Sorting 3.2561 -11955 1 Data reordering 0.165536 -11956 2 Tree-construction 0.89488 -11957 11 Memory 0.001888 -11958 3 Compute properties 0.225152 -11959 10 setActiveGrpsFunc 0.079488 -11960 4 Approximation 0.15776 -11961 8 Correct 0.025184 -11962 7 Energy 0.048608 -11963 9 Predict 0.144672 -11964 0 Sorting 3.29315 -11965 1 Data reordering 0.164416 -11966 2 Tree-construction 0.921408 -11967 11 Memory 0.001888 -11968 3 Compute properties 0.200288 -11969 10 setActiveGrpsFunc 0.068448 -11970 4 Approximation 0.156576 -11971 8 Correct 0.025056 -11972 7 Energy 0.048544 -11973 9 Predict 0.144128 -11974 0 Sorting 3.24525 -11975 1 Data reordering 0.16448 -11976 2 Tree-construction 0.886432 -11977 11 Memory 0.001888 -11978 3 Compute properties 0.200896 -11979 10 setActiveGrpsFunc 0.067904 -11980 4 Approximation 0.160064 -11981 8 Correct 0.025312 -11982 7 Energy 0.05168 -11983 9 Predict 0.144864 -11984 0 Sorting 3.29222 -11985 1 Data reordering 0.1648 -11986 2 Tree-construction 0.887936 -11987 11 Memory 0.001888 -11988 3 Compute properties 0.192096 -11989 10 setActiveGrpsFunc 0.068128 -11990 4 Approximation 0.157632 -11991 8 Correct 0.025024 -11992 7 Energy 0.048512 -11993 9 Predict 0.14416 -11994 0 Sorting 3.25146 -11995 1 Data reordering 0.163968 -11996 2 Tree-construction 0.8856 -11997 11 Memory 0.00192 -11998 3 Compute properties 0.23248 -11999 10 setActiveGrpsFunc 0.078464 -12000 4 Approximation 0.15568 -12001 8 Correct 0.024992 -12002 7 Energy 0.047936 -12003 9 Predict 0.1448 -12004 0 Sorting 3.26179 -12005 1 Data reordering 0.165056 -12006 2 Tree-construction 0.897344 -12007 11 Memory 0.001888 -12008 3 Compute properties 0.200512 -12009 10 setActiveGrpsFunc 0.067968 -12010 4 Approximation 0.156512 -12011 8 Correct 0.02512 -12012 7 Energy 0.048832 -12013 9 Predict 0.144096 -12014 0 Sorting 3.24458 -12015 1 Data reordering 0.163616 -12016 2 Tree-construction 0.926304 -12017 11 Memory 0.001888 -12018 3 Compute properties 0.223584 -12019 10 setActiveGrpsFunc 0.068352 -12020 4 Approximation 0.15824 -12021 8 Correct 0.025088 -12022 7 Energy 0.047872 -12023 9 Predict 0.144416 -12024 0 Sorting 3.26861 -12025 1 Data reordering 0.165728 -12026 2 Tree-construction 0.887264 -12027 11 Memory 0.001888 -12028 3 Compute properties 0.1992 -12029 10 setActiveGrpsFunc 0.068032 -12030 4 Approximation 0.158304 -12031 8 Correct 0.025088 -12032 7 Energy 0.048608 -12033 9 Predict 0.144384 -12034 0 Sorting 3.24854 -12035 1 Data reordering 0.164192 -12036 2 Tree-construction 0.936064 -12037 11 Memory 0.00192 -12038 3 Compute properties 0.201248 -12039 10 setActiveGrpsFunc 0.06816 -12040 4 Approximation 0.161312 -12041 8 Correct 0.034752 -12042 7 Energy 0.048608 -12043 9 Predict 0.157024 -12044 0 Sorting 3.24986 -12045 1 Data reordering 0.164608 -12046 2 Tree-construction 0.886176 -12047 11 Memory 0.001888 -12048 3 Compute properties 0.202624 -12049 10 setActiveGrpsFunc 0.06784 -12050 4 Approximation 0.155968 -12051 8 Correct 0.025152 -12052 7 Energy 0.048896 -12053 9 Predict 0.143616 -12054 0 Sorting 3.26467 -12055 1 Data reordering 0.175008 -12056 2 Tree-construction 0.936672 -12057 11 Memory 0.001888 -12058 3 Compute properties 0.20176 -12059 10 setActiveGrpsFunc 0.068352 -12060 4 Approximation 0.157888 -12061 8 Correct 0.025216 -12062 7 Energy 0.048672 -12063 9 Predict 0.144352 -12064 0 Sorting 3.24243 -12065 1 Data reordering 0.165248 -12066 2 Tree-construction 0.891712 -12067 11 Memory 0.001888 -12068 3 Compute properties 0.200256 -12069 10 setActiveGrpsFunc 0.068128 -12070 4 Approximation 0.156416 -12071 8 Correct 0.025024 -12072 7 Energy 0.048384 -12073 9 Predict 0.143744 -12074 0 Sorting 3.27773 -12075 1 Data reordering 0.186304 -12076 2 Tree-construction 0.8896 -12077 11 Memory 0.001888 -12078 3 Compute properties 0.201504 -12079 10 setActiveGrpsFunc 0.067776 -12080 4 Approximation 0.158656 -12081 8 Correct 0.025248 -12082 7 Energy 0.04832 -12083 9 Predict 0.144832 -12084 0 Sorting 3.24541 -12085 1 Data reordering 0.164384 -12086 2 Tree-construction 0.886144 -12087 11 Memory 0.001952 -12088 3 Compute properties 0.201888 -12089 10 setActiveGrpsFunc 0.067968 -12090 4 Approximation 0.157376 -12091 8 Correct 0.02496 -12092 7 Energy 0.048032 -12093 9 Predict 0.14416 -12094 0 Sorting 3.72218 -12095 1 Data reordering 0.165056 -12096 2 Tree-construction 0.892032 -12097 11 Memory 0.00192 -12098 3 Compute properties 0.201472 -12099 10 setActiveGrpsFunc 0.068224 -12100 4 Approximation 0.160992 -12101 8 Correct 0.02512 -12102 7 Energy 0.0488 -12103 9 Predict 0.144256 -12104 0 Sorting 3.23651 -12105 1 Data reordering 0.164288 -12106 2 Tree-construction 0.885952 -12107 11 Memory 0.001888 -12108 3 Compute properties 0.201408 -12109 10 setActiveGrpsFunc 0.068 -12110 4 Approximation 0.156864 -12111 8 Correct 0.02512 -12112 7 Energy 0.048064 -12113 9 Predict 0.144352 -12114 0 Sorting 3.27734 -12115 1 Data reordering 0.1648 -12116 2 Tree-construction 0.886784 -12117 11 Memory 0.00192 -12118 3 Compute properties 0.199904 -12119 10 setActiveGrpsFunc 0.067744 -12120 4 Approximation 0.155392 -12121 8 Correct 0.02512 -12122 7 Energy 0.048 -12123 9 Predict 0.144032 -12124 0 Sorting 3.24509 -12125 1 Data reordering 0.164128 -12126 2 Tree-construction 0.8856 -12127 11 Memory 0.00192 -12128 3 Compute properties 0.200864 -12129 10 setActiveGrpsFunc 0.067776 -12130 4 Approximation 0.15664 -12131 8 Correct 0.024992 -12132 7 Energy 0.048096 -12133 9 Predict 0.144192 -12134 0 Sorting 3.2943 -12135 1 Data reordering 0.164896 -12136 2 Tree-construction 0.884736 -12137 11 Memory 0.00192 -12138 3 Compute properties 0.19936 -12139 10 setActiveGrpsFunc 0.067968 -12140 4 Approximation 0.157088 -12141 8 Correct 0.025184 -12142 7 Energy 0.048256 -12143 9 Predict 0.144768 -12144 0 Sorting 3.23654 -12145 1 Data reordering 0.17408 -12146 2 Tree-construction 0.884832 -12147 11 Memory 0.001888 -12148 3 Compute properties 0.200352 -12149 10 setActiveGrpsFunc 0.067904 -12150 4 Approximation 0.156864 -12151 8 Correct 0.025024 -12152 7 Energy 0.048192 -12153 9 Predict 0.143552 -12154 0 Sorting 3.2799 -12155 1 Data reordering 0.16496 -12156 2 Tree-construction 0.883744 -12157 11 Memory 0.001888 -12158 3 Compute properties 0.2016 -12159 10 setActiveGrpsFunc 0.075456 -12160 4 Approximation 0.156096 -12161 8 Correct 0.024992 -12162 7 Energy 0.047648 -12163 9 Predict 0.1448 -12164 0 Sorting 3.24198 -12165 1 Data reordering 0.164448 -12166 2 Tree-construction 0.88688 -12167 11 Memory 0.001888 -12168 3 Compute properties 0.201472 -12169 10 setActiveGrpsFunc 0.06768 -12170 4 Approximation 0.157536 -12171 8 Correct 0.025248 -12172 7 Energy 0.048256 -12173 9 Predict 0.144384 -12174 0 Sorting 3.27872 -12175 1 Data reordering 0.164832 -12176 2 Tree-construction 0.886048 -12177 11 Memory 0.001952 -12178 3 Compute properties 0.199584 -12179 10 setActiveGrpsFunc 0.067904 -12180 4 Approximation 0.159264 -12181 8 Correct 0.025664 -12182 7 Energy 0.048928 -12183 9 Predict 0.144864 -12184 0 Sorting 3.24691 -12185 1 Data reordering 0.164512 -12186 2 Tree-construction 0.887808 -12187 11 Memory 0.00192 -12188 3 Compute properties 0.200256 -12189 10 setActiveGrpsFunc 0.068032 -12190 4 Approximation 0.157632 -12191 8 Correct 0.025184 -12192 7 Energy 0.048448 -12193 9 Predict 0.144256 -12194 0 Sorting 3.30848 -12195 1 Data reordering 0.164672 -12196 2 Tree-construction 0.885856 -12197 11 Memory 0.001888 -12198 3 Compute properties 0.199936 -12199 10 setActiveGrpsFunc 0.06816 -12200 4 Approximation 0.157216 -12201 8 Correct 0.025056 -12202 7 Energy 0.047712 -12203 9 Predict 0.144224 -12204 0 Sorting 3.24442 -12205 1 Data reordering 0.164192 -12206 2 Tree-construction 0.9064 -12207 11 Memory 0.00192 -12208 3 Compute properties 0.199296 -12209 10 setActiveGrpsFunc 0.067648 -12210 4 Approximation 0.157312 -12211 8 Correct 0.025152 -12212 7 Energy 0.047968 -12213 9 Predict 0.171616 -12214 0 Sorting 3.25046 -12215 1 Data reordering 0.165184 -12216 2 Tree-construction 0.886816 -12217 11 Memory 0.001888 -12218 3 Compute properties 0.199456 -12219 10 setActiveGrpsFunc 0.067904 -12220 4 Approximation 0.157984 -12221 8 Correct 0.025184 -12222 7 Energy 0.048352 -12223 9 Predict 0.143808 -12224 0 Sorting 3.24227 -12225 1 Data reordering 0.164128 -12226 2 Tree-construction 0.886048 -12227 11 Memory 0.00192 -12228 3 Compute properties 0.19936 -12229 10 setActiveGrpsFunc 0.089984 -12230 4 Approximation 0.16272 -12231 8 Correct 0.025408 -12232 7 Energy 0.048416 -12233 9 Predict 0.14416 -12234 0 Sorting 3.25523 -12235 1 Data reordering 0.164192 -12236 2 Tree-construction 0.88464 -12237 11 Memory 0.001888 -12238 3 Compute properties 0.197344 -12239 10 setActiveGrpsFunc 0.06784 -12240 4 Approximation 0.158496 -12241 8 Correct 0.024864 -12242 7 Energy 0.047552 -12243 9 Predict 0.143776 -12244 0 Sorting 3.24438 -12245 1 Data reordering 0.164 -12246 2 Tree-construction 0.909056 -12247 11 Memory 0.001888 -12248 3 Compute properties 0.21712 -12249 10 setActiveGrpsFunc 0.068128 -12250 4 Approximation 0.162304 -12251 8 Correct 0.025376 -12252 7 Energy 0.0488 -12253 9 Predict 0.144064 -12254 0 Sorting 3.68771 -12255 1 Data reordering 0.165472 -12256 2 Tree-construction 0.886336 -12257 11 Memory 0.001888 -12258 3 Compute properties 0.197504 -12259 10 setActiveGrpsFunc 0.068128 -12260 4 Approximation 0.159136 -12261 8 Correct 0.025408 -12262 7 Energy 0.04848 -12263 9 Predict 0.144416 -12264 0 Sorting 3.29533 -12265 1 Data reordering 0.164448 -12266 2 Tree-construction 0.890272 -12267 11 Memory 0.00192 -12268 3 Compute properties 0.200544 -12269 10 setActiveGrpsFunc 0.06816 -12270 4 Approximation 0.158752 -12271 8 Correct 0.025152 -12272 7 Energy 0.048192 -12273 9 Predict 0.143968 -12274 0 Sorting 3.23952 -12275 1 Data reordering 0.164448 -12276 2 Tree-construction 0.883968 -12277 11 Memory 0.001888 -12278 3 Compute properties 0.197344 -12279 10 setActiveGrpsFunc 0.067808 -12280 4 Approximation 0.16 -12281 8 Correct 0.025152 -12282 7 Energy 0.04784 -12283 9 Predict 0.14432 -12284 0 Sorting 3.26122 -12285 1 Data reordering 0.172064 -12286 2 Tree-construction 0.940448 -12287 11 Memory 0.001888 -12288 3 Compute properties 0.196352 -12289 10 setActiveGrpsFunc 0.068064 -12290 4 Approximation 0.158752 -12291 8 Correct 0.025248 -12292 7 Energy 0.04816 -12293 9 Predict 0.14368 -12294 0 Sorting 3.23789 -12295 1 Data reordering 0.164416 -12296 2 Tree-construction 0.89248 -12297 11 Memory 0.00192 -12298 3 Compute properties 0.188704 -12299 10 setActiveGrpsFunc 0.06752 -12300 4 Approximation 0.158656 -12301 8 Correct 0.025056 -12302 7 Energy 0.048288 -12303 9 Predict 0.143616 -12304 0 Sorting 3.2657 -12305 1 Data reordering 0.18384 -12306 2 Tree-construction 0.912128 -12307 11 Memory 0.001888 -12308 3 Compute properties 0.199328 -12309 10 setActiveGrpsFunc 0.067936 -12310 4 Approximation 0.15888 -12311 8 Correct 0.025216 -12312 7 Energy 0.048608 -12313 9 Predict 0.14432 -12314 0 Sorting 3.24701 -12315 1 Data reordering 0.164064 -12316 2 Tree-construction 0.8848 -12317 11 Memory 0.001888 -12318 3 Compute properties 0.187936 -12319 10 setActiveGrpsFunc 0.06768 -12320 4 Approximation 0.158912 -12321 8 Correct 0.025056 -12322 7 Energy 0.04992 -12323 9 Predict 0.144192 -12324 0 Sorting 3.31322 -12325 1 Data reordering 0.165248 -12326 2 Tree-construction 0.883616 -12327 11 Memory 0.001888 -12328 3 Compute properties 0.189184 -12329 10 setActiveGrpsFunc 0.067648 -12330 4 Approximation 0.160096 -12331 8 Correct 0.025184 -12332 7 Energy 0.0488 -12333 9 Predict 0.143424 -12334 0 Sorting 3.24896 -12335 1 Data reordering 0.163872 -12336 2 Tree-construction 0.883456 -12337 11 Memory 0.001888 -12338 3 Compute properties 0.195808 -12339 10 setActiveGrpsFunc 0.067712 -12340 4 Approximation 0.159808 -12341 8 Correct 0.02512 -12342 7 Energy 0.04784 -12343 9 Predict 0.144096 -12344 0 Sorting 3.31354 -12345 1 Data reordering 0.173792 -12346 2 Tree-construction 0.887104 -12347 11 Memory 0.00192 -12348 3 Compute properties 0.199264 -12349 10 setActiveGrpsFunc 0.068192 -12350 4 Approximation 0.159808 -12351 8 Correct 0.025024 -12352 7 Energy 0.047904 -12353 9 Predict 0.144064 -12354 0 Sorting 3.24147 -12355 1 Data reordering 0.164352 -12356 2 Tree-construction 0.886848 -12357 11 Memory 0.001888 -12358 3 Compute properties 0.196544 -12359 10 setActiveGrpsFunc 0.067936 -12360 4 Approximation 0.1688 -12361 8 Correct 0.025408 -12362 7 Energy 0.048064 -12363 9 Predict 0.14368 -12364 0 Sorting 3.29366 -12365 1 Data reordering 0.164448 -12366 2 Tree-construction 0.886592 -12367 11 Memory 0.001888 -12368 3 Compute properties 0.1992 -12369 10 setActiveGrpsFunc 0.068128 -12370 4 Approximation 0.159808 -12371 8 Correct 0.025024 -12372 7 Energy 0.048416 -12373 9 Predict 0.144192 -12374 0 Sorting 3.25261 -12375 1 Data reordering 0.163744 -12376 2 Tree-construction 0.883584 -12377 11 Memory 0.001888 -12378 3 Compute properties 0.189344 -12379 10 setActiveGrpsFunc 0.06768 -12380 4 Approximation 0.15568 -12381 8 Correct 0.024864 -12382 7 Energy 0.048384 -12383 9 Predict 0.144384 -12384 0 Sorting 3.43149 -12385 1 Data reordering 0.16496 -12386 2 Tree-construction 0.898336 -12387 11 Memory 0.00192 -12388 3 Compute properties 0.198144 -12389 10 setActiveGrpsFunc 0.06784 -12390 4 Approximation 0.156416 -12391 8 Correct 0.025088 -12392 7 Energy 0.049056 -12393 9 Predict 0.14416 -12394 0 Sorting 3.51334 -12395 1 Data reordering 0.210816 -12396 2 Tree-construction 1.03091 -12397 11 Memory 0.00192 -12398 3 Compute properties 0.237984 -12399 10 setActiveGrpsFunc 0.093536 -12400 4 Approximation 0.163328 -12401 8 Correct 0.025504 -12402 7 Energy 0.048448 -12403 9 Predict 0.144192 -12404 0 Sorting 3.38819 -12405 1 Data reordering 0.165024 -12406 2 Tree-construction 0.898784 -12407 11 Memory 0.001888 -12408 3 Compute properties 0.199008 -12409 10 setActiveGrpsFunc 0.068448 -12410 4 Approximation 0.15648 -12411 8 Correct 0.02528 -12412 7 Energy 0.048832 -12413 9 Predict 0.1448 -12414 0 Sorting 3.24352 -12415 1 Data reordering 0.165536 -12416 2 Tree-construction 0.88464 -12417 11 Memory 0.001888 -12418 3 Compute properties 0.192384 -12419 10 setActiveGrpsFunc 0.067808 -12420 4 Approximation 0.158496 -12421 8 Correct 0.025216 -12422 7 Energy 0.074176 -12423 9 Predict 0.156832 -12424 0 Sorting 3.28864 -12425 1 Data reordering 0.165056 -12426 2 Tree-construction 0.883936 -12427 11 Memory 0.00192 -12428 3 Compute properties 0.202368 -12429 10 setActiveGrpsFunc 0.068192 -12430 4 Approximation 0.159008 -12431 8 Correct 0.025184 -12432 7 Energy 0.04816 -12433 9 Predict 0.144512 -12434 0 Sorting 3.2503 -12435 1 Data reordering 0.164224 -12436 2 Tree-construction 0.956672 -12437 11 Memory 0.001888 -12438 3 Compute properties 0.251776 -12439 10 setActiveGrpsFunc 0.06912 -12440 4 Approximation 0.178144 -12441 8 Correct 0.025248 -12442 7 Energy 0.048096 -12443 9 Predict 0.159296 -12444 0 Sorting 3.26307 -12445 1 Data reordering 0.164864 -12446 2 Tree-construction 0.957312 -12447 11 Memory 0.001952 -12448 3 Compute properties 0.216704 -12449 10 setActiveGrpsFunc 0.067744 -12450 4 Approximation 0.167744 -12451 8 Correct 0.02512 -12452 7 Energy 0.048448 -12453 9 Predict 0.145216 -12454 0 Sorting 3.24445 -12455 1 Data reordering 0.164704 -12456 2 Tree-construction 0.923392 -12457 11 Memory 0.001888 -12458 3 Compute properties 0.218368 -12459 10 setActiveGrpsFunc 0.068448 -12460 4 Approximation 0.17952 -12461 8 Correct 0.02528 -12462 7 Energy 0.050432 -12463 9 Predict 0.145472 -12464 0 Sorting 3.24454 -12465 1 Data reordering 0.16448 -12466 2 Tree-construction 0.95632 -12467 11 Memory 0.001888 -12468 3 Compute properties 0.217248 -12469 10 setActiveGrpsFunc 0.06816 -12470 4 Approximation 0.16416 -12471 8 Correct 0.025152 -12472 7 Energy 0.048288 -12473 9 Predict 0.14368 -12474 0 Sorting 3.25315 -12475 1 Data reordering 0.164544 -12476 2 Tree-construction 1.00102 -12477 11 Memory 0.00192 -12478 3 Compute properties 0.230208 -12479 10 setActiveGrpsFunc 0.091072 -12480 4 Approximation 0.185248 -12481 8 Correct 0.033888 -12482 7 Energy 0.066944 -12483 9 Predict 0.194048 -12484 0 Sorting 3.47744 -12485 1 Data reordering 0.165472 -12486 2 Tree-construction 0.95936 -12487 11 Memory 0.001888 -12488 3 Compute properties 0.218112 -12489 10 setActiveGrpsFunc 0.068416 -12490 4 Approximation 0.1656 -12491 8 Correct 0.025536 -12492 7 Energy 0.048544 -12493 9 Predict 0.144512 -12494 0 Sorting 3.29101 -12495 1 Data reordering 0.177056 -12496 2 Tree-construction 0.967936 -12497 11 Memory 0.00192 -12498 3 Compute properties 0.217248 -12499 10 setActiveGrpsFunc 0.068608 -12500 4 Approximation 0.166432 -12501 8 Correct 0.024992 -12502 7 Energy 0.048192 -12503 9 Predict 0.144992 -12504 0 Sorting 3.23901 -12505 1 Data reordering 0.163968 -12506 2 Tree-construction 0.884128 -12507 11 Memory 0.001888 -12508 3 Compute properties 0.198112 -12509 10 setActiveGrpsFunc 0.067488 -12510 4 Approximation 0.15744 -12511 8 Correct 0.024992 -12512 7 Energy 0.048448 -12513 9 Predict 0.14368 -12514 0 Sorting 3.3001 -12515 1 Data reordering 0.1648 -12516 2 Tree-construction 0.886656 -12517 11 Memory 0.001888 -12518 3 Compute properties 0.199008 -12519 10 setActiveGrpsFunc 0.068128 -12520 4 Approximation 0.154688 -12521 8 Correct 0.025248 -12522 7 Energy 0.047904 -12523 9 Predict 0.14432 -12524 0 Sorting 3.25344 -12525 1 Data reordering 0.163776 -12526 2 Tree-construction 0.884192 -12527 11 Memory 0.00192 -12528 3 Compute properties 0.19856 -12529 10 setActiveGrpsFunc 0.067776 -12530 4 Approximation 0.156928 -12531 8 Correct 0.025024 -12532 7 Energy 0.048064 -12533 9 Predict 0.14384 -12534 0 Sorting 3.28349 -12535 1 Data reordering 0.16512 -12536 2 Tree-construction 0.885952 -12537 11 Memory 0.00192 -12538 3 Compute properties 0.197856 -12539 10 setActiveGrpsFunc 0.068256 -12540 4 Approximation 0.158368 -12541 8 Correct 0.025184 -12542 7 Energy 0.048064 -12543 9 Predict 0.143552 -12544 0 Sorting 3.24678 -12545 1 Data reordering 0.164128 -12546 2 Tree-construction 0.884288 -12547 11 Memory 0.00192 -12548 3 Compute properties 0.198464 -12549 10 setActiveGrpsFunc 0.067968 -12550 4 Approximation 0.158656 -12551 8 Correct 0.025024 -12552 7 Energy 0.048032 -12553 9 Predict 0.144 -12554 0 Sorting 3.27277 -12555 1 Data reordering 0.164736 -12556 2 Tree-construction 0.893056 -12557 11 Memory 0.00192 -12558 3 Compute properties 0.197728 -12559 10 setActiveGrpsFunc 0.067712 -12560 4 Approximation 0.158656 -12561 8 Correct 0.025248 -12562 7 Energy 0.047872 -12563 9 Predict 0.143392 -12564 0 Sorting 3.24026 -12565 1 Data reordering 0.165216 -12566 2 Tree-construction 0.888864 -12567 11 Memory 0.001952 -12568 3 Compute properties 0.199392 -12569 10 setActiveGrpsFunc 0.067712 -12570 4 Approximation 0.15776 -12571 8 Correct 0.025152 -12572 7 Energy 0.04832 -12573 9 Predict 0.143584 -12574 0 Sorting 3.30086 -12575 1 Data reordering 0.164768 -12576 2 Tree-construction 0.883136 -12577 11 Memory 0.00192 -12578 3 Compute properties 0.197792 -12579 10 setActiveGrpsFunc 0.068192 -12580 4 Approximation 0.15872 -12581 8 Correct 0.02512 -12582 7 Energy 0.047904 -12583 9 Predict 0.143616 -12584 0 Sorting 3.26563 -12585 1 Data reordering 0.165088 -12586 2 Tree-construction 0.88592 -12587 11 Memory 0.00192 -12588 3 Compute properties 0.19776 -12589 10 setActiveGrpsFunc 0.068032 -12590 4 Approximation 0.159296 -12591 8 Correct 0.025152 -12592 7 Energy 0.048224 -12593 9 Predict 0.14448 -12594 0 Sorting 3.27626 -12595 1 Data reordering 0.16528 -12596 2 Tree-construction 0.883552 -12597 11 Memory 0.001888 -12598 3 Compute properties 0.189632 -12599 10 setActiveGrpsFunc 0.067712 -12600 4 Approximation 0.159392 -12601 8 Correct 0.024992 -12602 7 Energy 0.048192 -12603 9 Predict 0.1456 -12604 0 Sorting 3.25853 -12605 1 Data reordering 0.174624 -12606 2 Tree-construction 0.884544 -12607 11 Memory 0.001888 -12608 3 Compute properties 0.197888 -12609 10 setActiveGrpsFunc 0.068192 -12610 4 Approximation 0.15952 -12611 8 Correct 0.025152 -12612 7 Energy 0.048064 -12613 9 Predict 0.143488 -12614 0 Sorting 3.27552 -12615 1 Data reordering 0.164896 -12616 2 Tree-construction 0.884768 -12617 11 Memory 0.00192 -12618 3 Compute properties 0.196032 -12619 10 setActiveGrpsFunc 0.068128 -12620 4 Approximation 0.159488 -12621 8 Correct 0.034464 -12622 7 Energy 0.048576 -12623 9 Predict 0.144192 -12624 0 Sorting 3.26387 -12625 1 Data reordering 0.164544 -12626 2 Tree-construction 0.88352 -12627 11 Memory 0.001888 -12628 3 Compute properties 0.19712 -12629 10 setActiveGrpsFunc 0.067904 -12630 4 Approximation 0.158688 -12631 8 Correct 0.025024 -12632 7 Energy 0.048384 -12633 9 Predict 0.157888 -12634 0 Sorting 3.24912 -12635 1 Data reordering 0.174112 -12636 2 Tree-construction 0.882368 -12637 11 Memory 0.00192 -12638 3 Compute properties 0.197216 -12639 10 setActiveGrpsFunc 0.068192 -12640 4 Approximation 0.160096 -12641 8 Correct 0.025088 -12642 7 Energy 0.04784 -12643 9 Predict 0.144992 -12644 0 Sorting 3.24768 -12645 1 Data reordering 0.164992 -12646 2 Tree-construction 0.886016 -12647 11 Memory 0.00192 -12648 3 Compute properties 0.198624 -12649 10 setActiveGrpsFunc 0.07152 -12650 4 Approximation 0.162304 -12651 8 Correct 0.03488 -12652 7 Energy 0.048992 -12653 9 Predict 0.144384 -12654 0 Sorting 3.24963 -12655 1 Data reordering 0.18832 -12656 2 Tree-construction 0.888448 -12657 11 Memory 0.00192 -12658 3 Compute properties 0.198656 -12659 10 setActiveGrpsFunc 0.067968 -12660 4 Approximation 0.159968 -12661 8 Correct 0.025216 -12662 7 Energy 0.048128 -12663 9 Predict 0.144512 -12664 0 Sorting 3.25555 -12665 1 Data reordering 0.163904 -12666 2 Tree-construction 0.928 -12667 11 Memory 0.001888 -12668 3 Compute properties 0.198592 -12669 10 setActiveGrpsFunc 0.068 -12670 4 Approximation 0.159776 -12671 8 Correct 0.025376 -12672 7 Energy 0.048224 -12673 9 Predict 0.143808 -12674 0 Sorting 3.27264 -12675 1 Data reordering 0.165312 -12676 2 Tree-construction 0.886592 -12677 11 Memory 0.001888 -12678 3 Compute properties 0.201408 -12679 10 setActiveGrpsFunc 0.06784 -12680 4 Approximation 0.160384 -12681 8 Correct 0.025024 -12682 7 Energy 0.047968 -12683 9 Predict 0.143776 -12684 0 Sorting 3.24637 -12685 1 Data reordering 0.164928 -12686 2 Tree-construction 0.946944 -12687 11 Memory 0.00192 -12688 3 Compute properties 0.197376 -12689 10 setActiveGrpsFunc 0.068224 -12690 4 Approximation 0.160448 -12691 8 Correct 0.025056 -12692 7 Energy 0.047776 -12693 9 Predict 0.144 -12694 0 Sorting 3.26272 -12695 1 Data reordering 0.164736 -12696 2 Tree-construction 0.897952 -12697 11 Memory 0.00192 -12698 3 Compute properties 0.197504 -12699 10 setActiveGrpsFunc 0.067936 -12700 4 Approximation 0.160032 -12701 8 Correct 0.025056 -12702 7 Energy 0.048192 -12703 9 Predict 0.144096 -12704 0 Sorting 3.22998 -12705 1 Data reordering 0.18944 -12706 2 Tree-construction 0.898304 -12707 11 Memory 0.00192 -12708 3 Compute properties 0.19504 -12709 10 setActiveGrpsFunc 0.068032 -12710 4 Approximation 0.158976 -12711 8 Correct 0.025216 -12712 7 Energy 0.06592 -12713 9 Predict 0.147328 -12714 0 Sorting 3.25312 -12715 1 Data reordering 0.164608 -12716 2 Tree-construction 0.886368 -12717 11 Memory 0.001888 -12718 3 Compute properties 0.187168 -12719 10 setActiveGrpsFunc 0.067424 -12720 4 Approximation 0.158752 -12721 8 Correct 0.024992 -12722 7 Energy 0.04752 -12723 9 Predict 0.144224 -12724 0 Sorting 3.28234 -12725 1 Data reordering 0.164608 -12726 2 Tree-construction 1.14278 -12727 11 Memory 0.00192 -12728 3 Compute properties 0.26688 -12729 10 setActiveGrpsFunc 0.090528 -12730 4 Approximation 0.180832 -12731 8 Correct 0.033856 -12732 7 Energy 0.067264 -12733 9 Predict 0.190624 -12734 0 Sorting 3.28061 -12735 1 Data reordering 0.165152 -12736 2 Tree-construction 0.887648 -12737 11 Memory 0.00192 -12738 3 Compute properties 0.18752 -12739 10 setActiveGrpsFunc 0.067744 -12740 4 Approximation 0.158976 -12741 8 Correct 0.025184 -12742 7 Energy 0.047552 -12743 9 Predict 0.145952 -12744 0 Sorting 3.30976 -12745 1 Data reordering 0.16544 -12746 2 Tree-construction 0.960608 -12747 11 Memory 0.00192 -12748 3 Compute properties 0.215104 -12749 10 setActiveGrpsFunc 0.068288 -12750 4 Approximation 0.166688 -12751 8 Correct 0.025248 -12752 7 Energy 0.047776 -12753 9 Predict 0.144448 -12754 0 Sorting 3.23958 -12755 1 Data reordering 0.164416 -12756 2 Tree-construction 0.967616 -12757 11 Memory 0.00192 -12758 3 Compute properties 0.21344 -12759 10 setActiveGrpsFunc 0.067936 -12760 4 Approximation 0.166688 -12761 8 Correct 0.025344 -12762 7 Energy 0.047776 -12763 9 Predict 0.143968 -12764 0 Sorting 3.27718 -12765 1 Data reordering 0.164704 -12766 2 Tree-construction 0.885056 -12767 11 Memory 0.00192 -12768 3 Compute properties 0.186688 -12769 10 setActiveGrpsFunc 0.067424 -12770 4 Approximation 0.159008 -12771 8 Correct 0.025056 -12772 7 Energy 0.04816 -12773 9 Predict 0.144352 -12774 0 Sorting 3.24454 -12775 1 Data reordering 0.164256 -12776 2 Tree-construction 0.956384 -12777 11 Memory 0.001888 -12778 3 Compute properties 0.204704 -12779 10 setActiveGrpsFunc 0.068032 -12780 4 Approximation 0.167552 -12781 8 Correct 0.025056 -12782 7 Energy 0.048032 -12783 9 Predict 0.143808 -12784 0 Sorting 3.2776 -12785 1 Data reordering 0.164768 -12786 2 Tree-construction 0.958592 -12787 11 Memory 0.001888 -12788 3 Compute properties 0.206912 -12789 10 setActiveGrpsFunc 0.067872 -12790 4 Approximation 0.166592 -12791 8 Correct 0.024992 -12792 7 Energy 0.048352 -12793 9 Predict 0.144256 -12794 0 Sorting 3.24307 -12795 1 Data reordering 0.165728 -12796 2 Tree-construction 0.985632 -12797 11 Memory 0.00192 -12798 3 Compute properties 0.218304 -12799 10 setActiveGrpsFunc 0.06864 -12800 4 Approximation 0.166912 -12801 8 Correct 0.025216 -12802 7 Energy 0.047936 -12803 9 Predict 0.143808 -12804 0 Sorting 3.28883 -12805 1 Data reordering 0.164928 -12806 2 Tree-construction 0.955872 -12807 11 Memory 0.001888 -12808 3 Compute properties 0.205216 -12809 10 setActiveGrpsFunc 0.067904 -12810 4 Approximation 0.167456 -12811 8 Correct 0.025184 -12812 7 Energy 0.048256 -12813 9 Predict 0.144224 -12814 0 Sorting 3.27613 -12815 1 Data reordering 0.165184 -12816 2 Tree-construction 0.955136 -12817 11 Memory 0.001888 -12818 3 Compute properties 0.205408 -12819 10 setActiveGrpsFunc 0.067776 -12820 4 Approximation 0.167328 -12821 8 Correct 0.025056 -12822 7 Energy 0.048384 -12823 9 Predict 0.144064 -12824 0 Sorting 3.28173 -12825 1 Data reordering 0.164608 -12826 2 Tree-construction 0.95696 -12827 11 Memory 0.001888 -12828 3 Compute properties 0.207104 -12829 10 setActiveGrpsFunc 0.068064 -12830 4 Approximation 0.167424 -12831 8 Correct 0.025152 -12832 7 Energy 0.048352 -12833 9 Predict 0.143712 -12834 0 Sorting 3.26259 -12835 1 Data reordering 0.164928 -12836 2 Tree-construction 0.957792 -12837 11 Memory 0.001888 -12838 3 Compute properties 0.21392 -12839 10 setActiveGrpsFunc 0.093024 -12840 4 Approximation 0.171104 -12841 8 Correct 0.025312 -12842 7 Energy 0.048352 -12843 9 Predict 0.144352 -12844 0 Sorting 3.24141 -12845 1 Data reordering 0.164896 -12846 2 Tree-construction 0.968224 -12847 11 Memory 0.001888 -12848 3 Compute properties 0.228544 -12849 10 setActiveGrpsFunc 0.06912 -12850 4 Approximation 0.16784 -12851 8 Correct 0.025152 -12852 7 Energy 0.048672 -12853 9 Predict 0.144064 -12854 0 Sorting 3.2464 -12855 1 Data reordering 0.165408 -12856 2 Tree-construction 0.988896 -12857 11 Memory 0.001888 -12858 3 Compute properties 0.237536 -12859 10 setActiveGrpsFunc 0.069696 -12860 4 Approximation 0.167712 -12861 8 Correct 0.025152 -12862 7 Energy 0.047872 -12863 9 Predict 0.144448 -12864 0 Sorting 3.31914 -12865 1 Data reordering 0.229344 -12866 2 Tree-construction 1.18637 -12867 11 Memory 0.001888 -12868 3 Compute properties 0.253888 -12869 10 setActiveGrpsFunc 0.090976 -12870 4 Approximation 0.175616 -12871 8 Correct 0.025568 -12872 7 Energy 0.04896 -12873 9 Predict 0.145696 -12874 0 Sorting 3.26922 -12875 1 Data reordering 0.165216 -12876 2 Tree-construction 0.897824 -12877 11 Memory 0.001888 -12878 3 Compute properties 0.186336 -12879 10 setActiveGrpsFunc 0.06768 -12880 4 Approximation 0.158688 -12881 8 Correct 0.025088 -12882 7 Energy 0.048032 -12883 9 Predict 0.145408 -12884 0 Sorting 3.25014 -12885 1 Data reordering 0.163552 -12886 2 Tree-construction 0.88528 -12887 11 Memory 0.001888 -12888 3 Compute properties 0.18608 -12889 10 setActiveGrpsFunc 0.067552 -12890 4 Approximation 0.15888 -12891 8 Correct 0.025184 -12892 7 Energy 0.048576 -12893 9 Predict 0.143744 -12894 0 Sorting 3.27926 -12895 1 Data reordering 0.164704 -12896 2 Tree-construction 0.89552 -12897 11 Memory 0.00192 -12898 3 Compute properties 0.187744 -12899 10 setActiveGrpsFunc 0.067712 -12900 4 Approximation 0.158112 -12901 8 Correct 0.025024 -12902 7 Energy 0.047936 -12903 9 Predict 0.143872 -12904 0 Sorting 3.24173 -12905 1 Data reordering 0.16384 -12906 2 Tree-construction 0.89712 -12907 11 Memory 0.001888 -12908 3 Compute properties 0.197344 -12909 10 setActiveGrpsFunc 0.067712 -12910 4 Approximation 0.15792 -12911 8 Correct 0.025152 -12912 7 Energy 0.047808 -12913 9 Predict 0.1448 -12914 0 Sorting 3.29082 -12915 1 Data reordering 0.164704 -12916 2 Tree-construction 0.886176 -12917 11 Memory 0.001888 -12918 3 Compute properties 0.19744 -12919 10 setActiveGrpsFunc 0.067808 -12920 4 Approximation 0.158016 -12921 8 Correct 0.024992 -12922 7 Energy 0.048096 -12923 9 Predict 0.144128 -12924 0 Sorting 3.24726 -12925 1 Data reordering 0.164096 -12926 2 Tree-construction 0.886976 -12927 11 Memory 0.001888 -12928 3 Compute properties 0.187136 -12929 10 setActiveGrpsFunc 0.067648 -12930 4 Approximation 0.158848 -12931 8 Correct 0.02496 -12932 7 Energy 0.048032 -12933 9 Predict 0.144192 -12934 0 Sorting 3.3217 -12935 1 Data reordering 0.165408 -12936 2 Tree-construction 0.889632 -12937 11 Memory 0.001952 -12938 3 Compute properties 0.196768 -12939 10 setActiveGrpsFunc 0.068448 -12940 4 Approximation 0.159584 -12941 8 Correct 0.025344 -12942 7 Energy 0.049184 -12943 9 Predict 0.144832 -12944 0 Sorting 3.25424 -12945 1 Data reordering 0.164448 -12946 2 Tree-construction 0.886368 -12947 11 Memory 0.001888 -12948 3 Compute properties 0.201216 -12949 10 setActiveGrpsFunc 0.067872 -12950 4 Approximation 0.158432 -12951 8 Correct 0.025088 -12952 7 Energy 0.048352 -12953 9 Predict 0.144576 -12954 0 Sorting 3.30938 -12955 1 Data reordering 0.173888 -12956 2 Tree-construction 0.887488 -12957 11 Memory 0.001888 -12958 3 Compute properties 0.201248 -12959 10 setActiveGrpsFunc 0.067744 -12960 4 Approximation 0.157472 -12961 8 Correct 0.02496 -12962 7 Energy 0.048288 -12963 9 Predict 0.144704 -12964 0 Sorting 3.24096 -12965 1 Data reordering 0.164448 -12966 2 Tree-construction 0.88672 -12967 11 Memory 0.001888 -12968 3 Compute properties 0.197376 -12969 10 setActiveGrpsFunc 0.06816 -12970 4 Approximation 0.157472 -12971 8 Correct 0.034592 -12972 7 Energy 0.04832 -12973 9 Predict 0.144096 -12974 0 Sorting 3.5615 -12975 1 Data reordering 0.209728 -12976 2 Tree-construction 0.904256 -12977 11 Memory 0.001888 -12978 3 Compute properties 0.20832 -12979 10 setActiveGrpsFunc 0.069056 -12980 4 Approximation 0.158624 -12981 8 Correct 0.02528 -12982 7 Energy 0.048672 -12983 9 Predict 0.144512 -12984 0 Sorting 3.24109 -12985 1 Data reordering 0.172928 -12986 2 Tree-construction 0.88576 -12987 11 Memory 0.001888 -12988 3 Compute properties 0.203936 -12989 10 setActiveGrpsFunc 0.0688 -12990 4 Approximation 0.191776 -12991 8 Correct 0.031808 -12992 7 Energy 0.063136 -12993 9 Predict 0.14816 -12994 0 Sorting 3.31286 -12995 1 Data reordering 0.165152 -12996 2 Tree-construction 0.888896 -12997 11 Memory 0.001888 -12998 3 Compute properties 0.1968 -12999 10 setActiveGrpsFunc 0.068288 -13000 4 Approximation 0.158368 -13001 8 Correct 0.025152 -13002 7 Energy 0.058336 -13003 9 Predict 0.144768 -13004 0 Sorting 3.37984 -13005 1 Data reordering 0.16608 -13006 2 Tree-construction 0.899008 -13007 11 Memory 0.001888 -13008 3 Compute properties 0.199616 -13009 10 setActiveGrpsFunc 0.068224 -13010 4 Approximation 0.158944 -13011 8 Correct 0.02512 -13012 7 Energy 0.048768 -13013 9 Predict 0.19008 -13014 0 Sorting 3.28598 -13015 1 Data reordering 0.165536 -13016 2 Tree-construction 0.910304 -13017 11 Memory 0.001888 -13018 3 Compute properties 0.196544 -13019 10 setActiveGrpsFunc 0.068512 -13020 4 Approximation 0.159072 -13021 8 Correct 0.02512 -13022 7 Energy 0.048384 -13023 9 Predict 0.144512 -13024 0 Sorting 3.25965 -13025 1 Data reordering 0.169376 -13026 2 Tree-construction 0.888032 -13027 11 Memory 0.002016 -13028 3 Compute properties 0.196384 -13029 10 setActiveGrpsFunc 0.110432 -13030 4 Approximation 0.185632 -13031 8 Correct 0.025792 -13032 7 Energy 0.049152 -13033 9 Predict 0.17568 -13034 0 Sorting 3.25395 -13035 1 Data reordering 0.16432 -13036 2 Tree-construction 0.885568 -13037 11 Memory 0.00192 -13038 3 Compute properties 0.199328 -13039 10 setActiveGrpsFunc 0.068 -13040 4 Approximation 0.158944 -13041 8 Correct 0.025184 -13042 7 Energy 0.047936 -13043 9 Predict 0.143776 -13044 0 Sorting 3.23981 -13045 1 Data reordering 0.1648 -13046 2 Tree-construction 0.989152 -13047 11 Memory 0.001888 -13048 3 Compute properties 0.187712 -13049 10 setActiveGrpsFunc 0.068416 -13050 4 Approximation 0.159008 -13051 8 Correct 0.025152 -13052 7 Energy 0.048672 -13053 9 Predict 0.144064 -13054 0 Sorting 3.24589 -13055 1 Data reordering 0.164736 -13056 2 Tree-construction 0.95856 -13057 11 Memory 0.001888 -13058 3 Compute properties 0.21536 -13059 10 setActiveGrpsFunc 0.06784 -13060 4 Approximation 0.167648 -13061 8 Correct 0.025024 -13062 7 Energy 0.048128 -13063 9 Predict 0.144864 -13064 0 Sorting 3.24973 -13065 1 Data reordering 0.164384 -13066 2 Tree-construction 1.04477 -13067 11 Memory 0.001888 -13068 3 Compute properties 0.218848 -13069 10 setActiveGrpsFunc 0.068288 -13070 4 Approximation 0.168288 -13071 8 Correct 0.025312 -13072 7 Energy 0.0488 -13073 9 Predict 0.144 -13074 0 Sorting 3.24128 -13075 1 Data reordering 0.163904 -13076 2 Tree-construction 0.956704 -13077 11 Memory 0.00192 -13078 3 Compute properties 0.208544 -13079 10 setActiveGrpsFunc 0.067168 -13080 4 Approximation 0.167648 -13081 8 Correct 0.024864 -13082 7 Energy 0.047936 -13083 9 Predict 0.143648 -13084 0 Sorting 3.30416 -13085 1 Data reordering 0.17584 -13086 2 Tree-construction 0.916576 -13087 11 Memory 0.001888 -13088 3 Compute properties 0.197472 -13089 10 setActiveGrpsFunc 0.068096 -13090 4 Approximation 0.158592 -13091 8 Correct 0.02512 -13092 7 Energy 0.04864 -13093 9 Predict 0.144416 -13094 0 Sorting 3.42211 -13095 1 Data reordering 0.22896 -13096 2 Tree-construction 1.13168 -13097 11 Memory 0.001888 -13098 3 Compute properties 0.197568 -13099 10 setActiveGrpsFunc 0.068384 -13100 4 Approximation 0.155232 -13101 8 Correct 0.025184 -13102 7 Energy 0.04864 -13103 9 Predict 0.144672 -13104 0 Sorting 3.30902 -13105 1 Data reordering 0.165056 -13106 2 Tree-construction 0.900512 -13107 11 Memory 0.00192 -13108 3 Compute properties 0.197184 -13109 10 setActiveGrpsFunc 0.06784 -13110 4 Approximation 0.155456 -13111 8 Correct 0.025248 -13112 7 Energy 0.048608 -13113 9 Predict 0.144832 -13114 0 Sorting 3.23786 -13115 1 Data reordering 0.164352 -13116 2 Tree-construction 0.888608 -13117 11 Memory 0.001888 -13118 3 Compute properties 0.199616 -13119 10 setActiveGrpsFunc 0.067872 -13120 4 Approximation 0.156672 -13121 8 Correct 0.025216 -13122 7 Energy 0.048032 -13123 9 Predict 0.144224 -13124 0 Sorting 3.32291 -13125 1 Data reordering 0.165344 -13126 2 Tree-construction 0.96032 -13127 11 Memory 0.001888 -13128 3 Compute properties 0.219104 -13129 10 setActiveGrpsFunc 0.068 -13130 4 Approximation 0.167776 -13131 8 Correct 0.025056 -13132 7 Energy 0.048352 -13133 9 Predict 0.143296 -13134 0 Sorting 3.24989 -13135 1 Data reordering 0.164608 -13136 2 Tree-construction 0.887584 -13137 11 Memory 0.001888 -13138 3 Compute properties 0.19776 -13139 10 setActiveGrpsFunc 0.068032 -13140 4 Approximation 0.158432 -13141 8 Correct 0.025216 -13142 7 Energy 0.048384 -13143 9 Predict 0.144512 -13144 0 Sorting 3.33494 -13145 1 Data reordering 0.165248 -13146 2 Tree-construction 0.888256 -13147 11 Memory 0.001888 -13148 3 Compute properties 0.197632 -13149 10 setActiveGrpsFunc 0.06816 -13150 4 Approximation 0.160224 -13151 8 Correct 0.025024 -13152 7 Energy 0.04816 -13153 9 Predict 0.144 -13154 0 Sorting 3.2408 -13155 1 Data reordering 0.164736 -13156 2 Tree-construction 0.885856 -13157 11 Memory 0.001888 -13158 3 Compute properties 0.196416 -13159 10 setActiveGrpsFunc 0.06768 -13160 4 Approximation 0.16352 -13161 8 Correct 0.025344 -13162 7 Energy 0.047936 -13163 9 Predict 0.144352 -13164 0 Sorting 3.31008 -13165 1 Data reordering 0.165568 -13166 2 Tree-construction 0.887584 -13167 11 Memory 0.00192 -13168 3 Compute properties 0.196864 -13169 10 setActiveGrpsFunc 0.06784 -13170 4 Approximation 0.160096 -13171 8 Correct 0.025152 -13172 7 Energy 0.048192 -13173 9 Predict 0.144352 -13174 0 Sorting 3.24592 -13175 1 Data reordering 0.163648 -13176 2 Tree-construction 0.887648 -13177 11 Memory 0.00192 -13178 3 Compute properties 0.206368 -13179 10 setActiveGrpsFunc 0.0688 -13180 4 Approximation 0.160032 -13181 8 Correct 0.025056 -13182 7 Energy 0.048032 -13183 9 Predict 0.143872 -13184 0 Sorting 3.30704 -13185 1 Data reordering 0.175168 -13186 2 Tree-construction 0.886656 -13187 11 Memory 0.001888 -13188 3 Compute properties 0.186784 -13189 10 setActiveGrpsFunc 0.06752 -13190 4 Approximation 0.158752 -13191 8 Correct 0.025184 -13192 7 Energy 0.048608 -13193 9 Predict 0.144096 -13194 0 Sorting 3.24013 -13195 1 Data reordering 0.163968 -13196 2 Tree-construction 0.8864 -13197 11 Memory 0.001856 -13198 3 Compute properties 0.19088 -13199 10 setActiveGrpsFunc 0.077632 -13200 4 Approximation 0.159488 -13201 8 Correct 0.025184 -13202 7 Energy 0.047424 -13203 9 Predict 0.143616 -13204 0 Sorting 3.32611 -13205 1 Data reordering 0.16464 -13206 2 Tree-construction 0.888288 -13207 11 Memory 0.001888 -13208 3 Compute properties 0.190336 -13209 10 setActiveGrpsFunc 0.067936 -13210 4 Approximation 0.159968 -13211 8 Correct 0.025184 -13212 7 Energy 0.048416 -13213 9 Predict 0.144224 -13214 0 Sorting 3.23488 -13215 1 Data reordering 0.16464 -13216 2 Tree-construction 0.885568 -13217 11 Memory 0.00192 -13218 3 Compute properties 0.190592 -13219 10 setActiveGrpsFunc 0.06832 -13220 4 Approximation 0.159744 -13221 8 Correct 0.025184 -13222 7 Energy 0.06368 -13223 9 Predict 0.176576 -13224 0 Sorting 3.25162 -13225 1 Data reordering 0.164544 -13226 2 Tree-construction 0.884864 -13227 11 Memory 0.00192 -13228 3 Compute properties 0.20272 -13229 10 setActiveGrpsFunc 0.068512 -13230 4 Approximation 0.158912 -13231 8 Correct 0.025088 -13232 7 Energy 0.048512 -13233 9 Predict 0.144128 -13234 0 Sorting 3.2472 -13235 1 Data reordering 0.164 -13236 2 Tree-construction 0.955936 -13237 11 Memory 0.001888 -13238 3 Compute properties 0.292768 -13239 10 setActiveGrpsFunc 0.06944 -13240 4 Approximation 0.167776 -13241 8 Correct 0.025056 -13242 7 Energy 0.048064 -13243 9 Predict 0.144768 -13244 0 Sorting 3.24342 -13245 1 Data reordering 0.164544 -13246 2 Tree-construction 0.968992 -13247 11 Memory 0.001888 -13248 3 Compute properties 0.218048 -13249 10 setActiveGrpsFunc 0.06832 -13250 4 Approximation 0.16768 -13251 8 Correct 0.024896 -13252 7 Energy 0.048064 -13253 9 Predict 0.144064 -13254 0 Sorting 3.24973 -13255 1 Data reordering 0.164768 -13256 2 Tree-construction 1.06237 -13257 11 Memory 0.001888 -13258 3 Compute properties 0.219584 -13259 10 setActiveGrpsFunc 0.06832 -13260 4 Approximation 0.169056 -13261 8 Correct 0.02544 -13262 7 Energy 0.049056 -13263 9 Predict 0.144288 -13264 0 Sorting 3.23619 -13265 1 Data reordering 0.164384 -13266 2 Tree-construction 0.957792 -13267 11 Memory 0.001888 -13268 3 Compute properties 0.217888 -13269 10 setActiveGrpsFunc 0.068064 -13270 4 Approximation 0.167584 -13271 8 Correct 0.025184 -13272 7 Energy 0.04816 -13273 9 Predict 0.144672 -13274 0 Sorting 3.25155 -13275 1 Data reordering 0.20704 -13276 2 Tree-construction 0.966528 -13277 11 Memory 0.001888 -13278 3 Compute properties 0.216512 -13279 10 setActiveGrpsFunc 0.068032 -13280 4 Approximation 0.167712 -13281 8 Correct 0.025088 -13282 7 Energy 0.047904 -13283 9 Predict 0.143872 -13284 0 Sorting 3.24394 -13285 1 Data reordering 0.164288 -13286 2 Tree-construction 0.95712 -13287 11 Memory 0.00192 -13288 3 Compute properties 0.218432 -13289 10 setActiveGrpsFunc 0.068032 -13290 4 Approximation 0.16768 -13291 8 Correct 0.0248 -13292 7 Energy 0.048256 -13293 9 Predict 0.14416 -13294 0 Sorting 3.31283 -13295 1 Data reordering 0.164864 -13296 2 Tree-construction 0.958688 -13297 11 Memory 0.001888 -13298 3 Compute properties 0.2184 -13299 10 setActiveGrpsFunc 0.067904 -13300 4 Approximation 0.167616 -13301 8 Correct 0.025216 -13302 7 Energy 0.048352 -13303 9 Predict 0.144064 -13304 0 Sorting 3.24166 -13305 1 Data reordering 0.174176 -13306 2 Tree-construction 0.958272 -13307 11 Memory 0.001888 -13308 3 Compute properties 0.210912 -13309 10 setActiveGrpsFunc 0.067776 -13310 4 Approximation 0.167648 -13311 8 Correct 0.02512 -13312 7 Energy 0.04832 -13313 9 Predict 0.143424 -13314 0 Sorting 3.32381 -13315 1 Data reordering 0.164992 -13316 2 Tree-construction 0.887072 -13317 11 Memory 0.001888 -13318 3 Compute properties 0.19296 -13319 10 setActiveGrpsFunc 0.068224 -13320 4 Approximation 0.160672 -13321 8 Correct 0.025344 -13322 7 Energy 0.048064 -13323 9 Predict 0.144736 -13324 0 Sorting 3.65562 -13325 1 Data reordering 0.166144 -13326 2 Tree-construction 0.96032 -13327 11 Memory 0.001888 -13328 3 Compute properties 0.217344 -13329 10 setActiveGrpsFunc 0.06816 -13330 4 Approximation 0.168 -13331 8 Correct 0.025184 -13332 7 Energy 0.048896 -13333 9 Predict 0.150112 -13334 0 Sorting 3.29229 -13335 1 Data reordering 0.174176 -13336 2 Tree-construction 0.88816 -13337 11 Memory 0.001888 -13338 3 Compute properties 0.19744 -13339 10 setActiveGrpsFunc 0.068384 -13340 4 Approximation 0.159808 -13341 8 Correct 0.025152 -13342 7 Energy 0.04832 -13343 9 Predict 0.14448 -13344 0 Sorting 3.24208 -13345 1 Data reordering 0.164192 -13346 2 Tree-construction 0.885376 -13347 11 Memory 0.001984 -13348 3 Compute properties 0.19872 -13349 10 setActiveGrpsFunc 0.075328 -13350 4 Approximation 0.162528 -13351 8 Correct 0.025376 -13352 7 Energy 0.04864 -13353 9 Predict 0.144832 -13354 0 Sorting 3.30118 -13355 1 Data reordering 0.1648 -13356 2 Tree-construction 0.886656 -13357 11 Memory 0.00192 -13358 3 Compute properties 0.1968 -13359 10 setActiveGrpsFunc 0.067968 -13360 4 Approximation 0.159712 -13361 8 Correct 0.025248 -13362 7 Energy 0.047936 -13363 9 Predict 0.144128 -13364 0 Sorting 3.26176 -13365 1 Data reordering 0.164064 -13366 2 Tree-construction 0.892576 -13367 11 Memory 0.001888 -13368 3 Compute properties 0.19024 -13369 10 setActiveGrpsFunc 0.067968 -13370 4 Approximation 0.16 -13371 8 Correct 0.025216 -13372 7 Energy 0.048064 -13373 9 Predict 0.144096 -13374 0 Sorting 3.30342 -13375 1 Data reordering 0.164992 -13376 2 Tree-construction 0.886368 -13377 11 Memory 0.001888 -13378 3 Compute properties 0.197792 -13379 10 setActiveGrpsFunc 0.067936 -13380 4 Approximation 0.160256 -13381 8 Correct 0.025344 -13382 7 Energy 0.048224 -13383 9 Predict 0.143776 -13384 0 Sorting 3.24979 -13385 1 Data reordering 0.16384 -13386 2 Tree-construction 0.89488 -13387 11 Memory 0.00192 -13388 3 Compute properties 0.203488 -13389 10 setActiveGrpsFunc 0.068128 -13390 4 Approximation 0.158112 -13391 8 Correct 0.025024 -13392 7 Energy 0.04832 -13393 9 Predict 0.144224 -13394 0 Sorting 3.34102 -13395 1 Data reordering 0.164896 -13396 2 Tree-construction 1.03501 -13397 11 Memory 0.00192 -13398 3 Compute properties 0.199392 -13399 10 setActiveGrpsFunc 0.068032 -13400 4 Approximation 0.15744 -13401 8 Correct 0.02496 -13402 7 Energy 0.04816 -13403 9 Predict 0.144256 -13404 0 Sorting 3.47005 -13405 1 Data reordering 0.165024 -13406 2 Tree-construction 1.13642 -13407 11 Memory 0.001888 -13408 3 Compute properties 0.239232 -13409 10 setActiveGrpsFunc 0.096576 -13410 4 Approximation 0.175776 -13411 8 Correct 0.025536 -13412 7 Energy 0.04944 -13413 9 Predict 0.145024 -13414 0 Sorting 3.43818 -13415 1 Data reordering 0.165088 -13416 2 Tree-construction 0.88848 -13417 11 Memory 0.00192 -13418 3 Compute properties 0.199008 -13419 10 setActiveGrpsFunc 0.067712 -13420 4 Approximation 0.158688 -13421 8 Correct 0.025152 -13422 7 Energy 0.048064 -13423 9 Predict 0.14416 -13424 0 Sorting 3.25645 -13425 1 Data reordering 0.164832 -13426 2 Tree-construction 0.949344 -13427 11 Memory 0.001888 -13428 3 Compute properties 0.2 -13429 10 setActiveGrpsFunc 0.06816 -13430 4 Approximation 0.156992 -13431 8 Correct 0.025184 -13432 7 Energy 0.048288 -13433 9 Predict 0.144096 -13434 0 Sorting 3.24378 -13435 1 Data reordering 0.16384 -13436 2 Tree-construction 0.885792 -13437 11 Memory 0.00192 -13438 3 Compute properties 0.199072 -13439 10 setActiveGrpsFunc 0.067744 -13440 4 Approximation 0.158784 -13441 8 Correct 0.025056 -13442 7 Energy 0.047328 -13443 9 Predict 0.144224 -13444 0 Sorting 3.28118 -13445 1 Data reordering 0.165248 -13446 2 Tree-construction 0.924032 -13447 11 Memory 0.001888 -13448 3 Compute properties 0.199136 -13449 10 setActiveGrpsFunc 0.068224 -13450 4 Approximation 0.15536 -13451 8 Correct 0.025312 -13452 7 Energy 0.04848 -13453 9 Predict 0.143488 -13454 0 Sorting 3.23846 -13455 1 Data reordering 0.164128 -13456 2 Tree-construction 0.966688 -13457 11 Memory 0.001888 -13458 3 Compute properties 0.219712 -13459 10 setActiveGrpsFunc 0.067744 -13460 4 Approximation 0.163872 -13461 8 Correct 0.025024 -13462 7 Energy 0.048064 -13463 9 Predict 0.144128 -13464 0 Sorting 3.29318 -13465 1 Data reordering 0.18032 -13466 2 Tree-construction 0.973152 -13467 11 Memory 0.001888 -13468 3 Compute properties 0.219904 -13469 10 setActiveGrpsFunc 0.06816 -13470 4 Approximation 0.163456 -13471 8 Correct 0.025248 -13472 7 Energy 0.048352 -13473 9 Predict 0.144 -13474 0 Sorting 3.24506 -13475 1 Data reordering 0.16416 -13476 2 Tree-construction 0.8856 -13477 11 Memory 0.001888 -13478 3 Compute properties 0.199136 -13479 10 setActiveGrpsFunc 0.067584 -13480 4 Approximation 0.15808 -13481 8 Correct 0.033216 -13482 7 Energy 0.067168 -13483 9 Predict 0.192096 -13484 0 Sorting 3.71846 -13485 1 Data reordering 0.168 -13486 2 Tree-construction 0.890592 -13487 11 Memory 0.00192 -13488 3 Compute properties 0.19296 -13489 10 setActiveGrpsFunc 0.068384 -13490 4 Approximation 0.159872 -13491 8 Correct 0.02528 -13492 7 Energy 0.049408 -13493 9 Predict 0.144832 -13494 0 Sorting 3.24592 -13495 1 Data reordering 0.164288 -13496 2 Tree-construction 0.887456 -13497 11 Memory 0.00192 -13498 3 Compute properties 0.19984 -13499 10 setActiveGrpsFunc 0.068128 -13500 4 Approximation 0.159488 -13501 8 Correct 0.024992 -13502 7 Energy 0.048064 -13503 9 Predict 0.144128 -13504 0 Sorting 3.37344 -13505 1 Data reordering 0.165216 -13506 2 Tree-construction 0.888672 -13507 11 Memory 0.001888 -13508 3 Compute properties 0.200928 -13509 10 setActiveGrpsFunc 0.068032 -13510 4 Approximation 0.159168 -13511 8 Correct 0.02528 -13512 7 Energy 0.048384 -13513 9 Predict 0.144896 -13514 0 Sorting 3.27824 -13515 1 Data reordering 0.164608 -13516 2 Tree-construction 0.888224 -13517 11 Memory 0.001888 -13518 3 Compute properties 0.200064 -13519 10 setActiveGrpsFunc 0.06784 -13520 4 Approximation 0.160224 -13521 8 Correct 0.025216 -13522 7 Energy 0.047808 -13523 9 Predict 0.144288 -13524 0 Sorting 3.31146 -13525 1 Data reordering 0.164768 -13526 2 Tree-construction 0.886176 -13527 11 Memory 0.002016 -13528 3 Compute properties 0.203328 -13529 10 setActiveGrpsFunc 0.068256 -13530 4 Approximation 0.16 -13531 8 Correct 0.025184 -13532 7 Energy 0.048064 -13533 9 Predict 0.144992 -13534 0 Sorting 3.24749 -13535 1 Data reordering 0.174272 -13536 2 Tree-construction 0.896608 -13537 11 Memory 0.001888 -13538 3 Compute properties 0.199744 -13539 10 setActiveGrpsFunc 0.068224 -13540 4 Approximation 0.160096 -13541 8 Correct 0.025024 -13542 7 Energy 0.048128 -13543 9 Predict 0.145408 -13544 0 Sorting 3.30016 -13545 1 Data reordering 0.16528 -13546 2 Tree-construction 0.887168 -13547 11 Memory 0.00192 -13548 3 Compute properties 0.202496 -13549 10 setActiveGrpsFunc 0.077312 -13550 4 Approximation 0.160064 -13551 8 Correct 0.02528 -13552 7 Energy 0.04864 -13553 9 Predict 0.145376 -13554 0 Sorting 3.2511 -13555 1 Data reordering 0.165792 -13556 2 Tree-construction 0.890016 -13557 11 Memory 0.00192 -13558 3 Compute properties 0.201984 -13559 10 setActiveGrpsFunc 0.068 -13560 4 Approximation 0.160768 -13561 8 Correct 0.024832 -13562 7 Energy 0.048416 -13563 9 Predict 0.177952 -13564 0 Sorting 3.2793 -13565 1 Data reordering 0.1656 -13566 2 Tree-construction 0.950528 -13567 11 Memory 0.00192 -13568 3 Compute properties 0.193472 -13569 10 setActiveGrpsFunc 0.06768 -13570 4 Approximation 0.159936 -13571 8 Correct 0.025152 -13572 7 Energy 0.048736 -13573 9 Predict 0.144832 -13574 0 Sorting 3.24995 -13575 1 Data reordering 0.165248 -13576 2 Tree-construction 0.88576 -13577 11 Memory 0.001888 -13578 3 Compute properties 0.193088 -13579 10 setActiveGrpsFunc 0.071232 -13580 4 Approximation 0.171232 -13581 8 Correct 0.025376 -13582 7 Energy 0.048256 -13583 9 Predict 0.1448 -13584 0 Sorting 3.26762 -13585 1 Data reordering 0.165728 -13586 2 Tree-construction 0.89232 -13587 11 Memory 0.001888 -13588 3 Compute properties 0.20144 -13589 10 setActiveGrpsFunc 0.068352 -13590 4 Approximation 0.157024 -13591 8 Correct 0.025056 -13592 7 Energy 0.048352 -13593 9 Predict 0.144192 -13594 0 Sorting 3.23846 -13595 1 Data reordering 0.164032 -13596 2 Tree-construction 0.931456 -13597 11 Memory 0.00192 -13598 3 Compute properties 0.20224 -13599 10 setActiveGrpsFunc 0.068672 -13600 4 Approximation 0.156608 -13601 8 Correct 0.02512 -13602 7 Energy 0.047808 -13603 9 Predict 0.145088 -13604 0 Sorting 3.25446 -13605 1 Data reordering 0.165632 -13606 2 Tree-construction 0.88816 -13607 11 Memory 0.00192 -13608 3 Compute properties 0.200704 -13609 10 setActiveGrpsFunc 0.068064 -13610 4 Approximation 0.160192 -13611 8 Correct 0.025056 -13612 7 Energy 0.04848 -13613 9 Predict 0.144192 -13614 0 Sorting 3.25379 -13615 1 Data reordering 0.164352 -13616 2 Tree-construction 0.942848 -13617 11 Memory 0.001888 -13618 3 Compute properties 0.204544 -13619 10 setActiveGrpsFunc 0.069024 -13620 4 Approximation 0.15904 -13621 8 Correct 0.025152 -13622 7 Energy 0.048256 -13623 9 Predict 0.153088 -13624 0 Sorting 3.24669 -13625 1 Data reordering 0.164384 -13626 2 Tree-construction 0.886944 -13627 11 Memory 0.001888 -13628 3 Compute properties 0.200672 -13629 10 setActiveGrpsFunc 0.06832 -13630 4 Approximation 0.158912 -13631 8 Correct 0.024992 -13632 7 Energy 0.048288 -13633 9 Predict 0.144032 -13634 0 Sorting 3.25069 -13635 1 Data reordering 0.190112 -13636 2 Tree-construction 0.936512 -13637 11 Memory 0.001888 -13638 3 Compute properties 0.201312 -13639 10 setActiveGrpsFunc 0.0784 -13640 4 Approximation 0.1592 -13641 8 Correct 0.025184 -13642 7 Energy 0.049216 -13643 9 Predict 0.16944 -13644 0 Sorting 3.24634 -13645 1 Data reordering 0.16512 -13646 2 Tree-construction 0.888768 -13647 11 Memory 0.001888 -13648 3 Compute properties 0.199808 -13649 10 setActiveGrpsFunc 0.06816 -13650 4 Approximation 0.158848 -13651 8 Correct 0.02512 -13652 7 Energy 0.048352 -13653 9 Predict 0.14416 -13654 0 Sorting 3.28698 -13655 1 Data reordering 0.165312 -13656 2 Tree-construction 0.897728 -13657 11 Memory 0.001888 -13658 3 Compute properties 0.199872 -13659 10 setActiveGrpsFunc 0.067904 -13660 4 Approximation 0.158848 -13661 8 Correct 0.02512 -13662 7 Energy 0.048064 -13663 9 Predict 0.144448 -13664 0 Sorting 3.23405 -13665 1 Data reordering 0.16464 -13666 2 Tree-construction 0.88608 -13667 11 Memory 0.001888 -13668 3 Compute properties 0.191904 -13669 10 setActiveGrpsFunc 0.067904 -13670 4 Approximation 0.158464 -13671 8 Correct 0.025248 -13672 7 Energy 0.048192 -13673 9 Predict 0.14384 -13674 0 Sorting 3.31776 -13675 1 Data reordering 0.164768 -13676 2 Tree-construction 0.887104 -13677 11 Memory 0.001888 -13678 3 Compute properties 0.199392 -13679 10 setActiveGrpsFunc 0.067968 -13680 4 Approximation 0.159936 -13681 8 Correct 0.025216 -13682 7 Energy 0.04768 -13683 9 Predict 0.144128 -13684 0 Sorting 3.23846 -13685 1 Data reordering 0.16368 -13686 2 Tree-construction 0.892992 -13687 11 Memory 0.001888 -13688 3 Compute properties 0.190944 -13689 10 setActiveGrpsFunc 0.067808 -13690 4 Approximation 0.159744 -13691 8 Correct 0.025024 -13692 7 Energy 0.04832 -13693 9 Predict 0.144064 -13694 0 Sorting 3.29203 -13695 1 Data reordering 0.172608 -13696 2 Tree-construction 0.886784 -13697 11 Memory 0.001888 -13698 3 Compute properties 0.198016 -13699 10 setActiveGrpsFunc 0.068288 -13700 4 Approximation 0.160352 -13701 8 Correct 0.025024 -13702 7 Energy 0.048096 -13703 9 Predict 0.144256 -13704 0 Sorting 3.24269 -13705 1 Data reordering 0.164096 -13706 2 Tree-construction 0.908224 -13707 11 Memory 0.001984 -13708 3 Compute properties 0.266048 -13709 10 setActiveGrpsFunc 0.09168 -13710 4 Approximation 0.18224 -13711 8 Correct 0.033632 -13712 7 Energy 0.067936 -13713 9 Predict 0.192864 -13714 0 Sorting 3.52851 -13715 1 Data reordering 0.166688 -13716 2 Tree-construction 0.88912 -13717 11 Memory 0.001888 -13718 3 Compute properties 0.197536 -13719 10 setActiveGrpsFunc 0.067936 -13720 4 Approximation 0.16032 -13721 8 Correct 0.025152 -13722 7 Energy 0.048416 -13723 9 Predict 0.144384 -13724 0 Sorting 3.25082 -13725 1 Data reordering 0.168 -13726 2 Tree-construction 0.886816 -13727 11 Memory 0.00192 -13728 3 Compute properties 0.197888 -13729 10 setActiveGrpsFunc 0.067872 -13730 4 Approximation 0.160096 -13731 8 Correct 0.025216 -13732 7 Energy 0.048064 -13733 9 Predict 0.143712 -13734 0 Sorting 3.28806 -13735 1 Data reordering 0.174048 -13736 2 Tree-construction 0.886816 -13737 11 Memory 0.00192 -13738 3 Compute properties 0.189952 -13739 10 setActiveGrpsFunc 0.067712 -13740 4 Approximation 0.16032 -13741 8 Correct 0.025248 -13742 7 Energy 0.04864 -13743 9 Predict 0.144864 -13744 0 Sorting 3.23907 -13745 1 Data reordering 0.163936 -13746 2 Tree-construction 0.955648 -13747 11 Memory 0.001888 -13748 3 Compute properties 0.219872 -13749 10 setActiveGrpsFunc 0.068416 -13750 4 Approximation 0.169056 -13751 8 Correct 0.025152 -13752 7 Energy 0.048032 -13753 9 Predict 0.144672 -13754 0 Sorting 3.27699 -13755 1 Data reordering 0.164992 -13756 2 Tree-construction 0.957952 -13757 11 Memory 0.001888 -13758 3 Compute properties 0.218496 -13759 10 setActiveGrpsFunc 0.06816 -13760 4 Approximation 0.169056 -13761 8 Correct 0.025216 -13762 7 Energy 0.048128 -13763 9 Predict 0.14448 -13764 0 Sorting 3.24758 -13765 1 Data reordering 0.164384 -13766 2 Tree-construction 0.957568 -13767 11 Memory 0.00192 -13768 3 Compute properties 0.216896 -13769 10 setActiveGrpsFunc 0.068032 -13770 4 Approximation 0.169152 -13771 8 Correct 0.025184 -13772 7 Energy 0.048256 -13773 9 Predict 0.167488 -13774 0 Sorting 3.25133 -13775 1 Data reordering 0.164192 -13776 2 Tree-construction 0.959424 -13777 11 Memory 0.001888 -13778 3 Compute properties 0.218272 -13779 10 setActiveGrpsFunc 0.068544 -13780 4 Approximation 0.168992 -13781 8 Correct 0.025152 -13782 7 Energy 0.04816 -13783 9 Predict 0.14496 -13784 0 Sorting 3.24323 -13785 1 Data reordering 0.16384 -13786 2 Tree-construction 0.95936 -13787 11 Memory 0.00192 -13788 3 Compute properties 0.217728 -13789 10 setActiveGrpsFunc 0.070944 -13790 4 Approximation 0.17392 -13791 8 Correct 0.025696 -13792 7 Energy 0.048576 -13793 9 Predict 0.16848 -13794 0 Sorting 3.24115 -13795 1 Data reordering 0.16448 -13796 2 Tree-construction 0.95856 -13797 11 Memory 0.00192 -13798 3 Compute properties 0.217248 -13799 10 setActiveGrpsFunc 0.067936 -13800 4 Approximation 0.16944 -13801 8 Correct 0.025312 -13802 7 Energy 0.047776 -13803 9 Predict 0.144928 -13804 0 Sorting 3.24464 -13805 1 Data reordering 0.164672 -13806 2 Tree-construction 1.00822 -13807 11 Memory 0.00192 -13808 3 Compute properties 0.21776 -13809 10 setActiveGrpsFunc 0.067904 -13810 4 Approximation 0.16944 -13811 8 Correct 0.025088 -13812 7 Energy 0.048512 -13813 9 Predict 0.152608 -13814 0 Sorting 3.24016 -13815 1 Data reordering 0.164512 -13816 2 Tree-construction 0.960704 -13817 11 Memory 0.00192 -13818 3 Compute properties 0.218208 -13819 10 setActiveGrpsFunc 0.068224 -13820 4 Approximation 0.168512 -13821 8 Correct 0.025088 -13822 7 Energy 0.048032 -13823 9 Predict 0.144128 -13824 0 Sorting 3.23978 -13825 1 Data reordering 0.164032 -13826 2 Tree-construction 1.00026 -13827 11 Memory 0.00192 -13828 3 Compute properties 0.217344 -13829 10 setActiveGrpsFunc 0.068 -13830 4 Approximation 0.16976 -13831 8 Correct 0.025184 -13832 7 Energy 0.048192 -13833 9 Predict 0.144288 -13834 0 Sorting 3.24557 -13835 1 Data reordering 0.164448 -13836 2 Tree-construction 0.888 -13837 11 Memory 0.001888 -13838 3 Compute properties 0.197472 -13839 10 setActiveGrpsFunc 0.067712 -13840 4 Approximation 0.158592 -13841 8 Correct 0.02496 -13842 7 Energy 0.047808 -13843 9 Predict 0.14432 -13844 0 Sorting 3.28125 -13845 1 Data reordering 0.164704 -13846 2 Tree-construction 0.987136 -13847 11 Memory 0.00192 -13848 3 Compute properties 0.21872 -13849 10 setActiveGrpsFunc 0.067968 -13850 4 Approximation 0.168896 -13851 8 Correct 0.025184 -13852 7 Energy 0.048032 -13853 9 Predict 0.144256 -13854 0 Sorting 3.24083 -13855 1 Data reordering 0.16416 -13856 2 Tree-construction 0.959104 -13857 11 Memory 0.001888 -13858 3 Compute properties 0.217216 -13859 10 setActiveGrpsFunc 0.068128 -13860 4 Approximation 0.168928 -13861 8 Correct 0.02512 -13862 7 Energy 0.048 -13863 9 Predict 0.14384 -13864 0 Sorting 3.27427 -13865 1 Data reordering 0.164736 -13866 2 Tree-construction 0.97328 -13867 11 Memory 0.001888 -13868 3 Compute properties 0.218368 -13869 10 setActiveGrpsFunc 0.068032 -13870 4 Approximation 0.168096 -13871 8 Correct 0.025056 -13872 7 Energy 0.04832 -13873 9 Predict 0.144736 -13874 0 Sorting 3.24054 -13875 1 Data reordering 0.164672 -13876 2 Tree-construction 0.95824 -13877 11 Memory 0.001888 -13878 3 Compute properties 0.215968 -13879 10 setActiveGrpsFunc 0.067936 -13880 4 Approximation 0.168 -13881 8 Correct 0.025152 -13882 7 Energy 0.047616 -13883 9 Predict 0.143584 -13884 0 Sorting 3.28512 -13885 1 Data reordering 0.164704 -13886 2 Tree-construction 0.956448 -13887 11 Memory 0.001888 -13888 3 Compute properties 0.219104 -13889 10 setActiveGrpsFunc 0.067904 -13890 4 Approximation 0.16752 -13891 8 Correct 0.02512 -13892 7 Energy 0.048128 -13893 9 Predict 0.143744 -13894 0 Sorting 3.2352 -13895 1 Data reordering 0.164576 -13896 2 Tree-construction 0.968928 -13897 11 Memory 0.001888 -13898 3 Compute properties 0.219584 -13899 10 setActiveGrpsFunc 0.06832 -13900 4 Approximation 0.16768 -13901 8 Correct 0.025312 -13902 7 Energy 0.047936 -13903 9 Predict 0.144064 -13904 0 Sorting 3.28688 -13905 1 Data reordering 0.164448 -13906 2 Tree-construction 0.957344 -13907 11 Memory 0.001888 -13908 3 Compute properties 0.218304 -13909 10 setActiveGrpsFunc 0.067936 -13910 4 Approximation 0.167776 -13911 8 Correct 0.025088 -13912 7 Energy 0.048512 -13913 9 Predict 0.144608 -13914 0 Sorting 3.23872 -13915 1 Data reordering 0.164768 -13916 2 Tree-construction 0.956448 -13917 11 Memory 0.001888 -13918 3 Compute properties 0.216448 -13919 10 setActiveGrpsFunc 0.067936 -13920 4 Approximation 0.166208 -13921 8 Correct 0.025056 -13922 7 Energy 0.047744 -13923 9 Predict 0.144352 -13924 0 Sorting 3.26982 -13925 1 Data reordering 0.164672 -13926 2 Tree-construction 0.959136 -13927 11 Memory 0.0024 -13928 3 Compute properties 0.21648 -13929 10 setActiveGrpsFunc 0.067936 -13930 4 Approximation 0.165952 -13931 8 Correct 0.025024 -13932 7 Energy 0.048608 -13933 9 Predict 0.144032 -13934 0 Sorting 3.24973 -13935 1 Data reordering 0.16352 -13936 2 Tree-construction 1.24218 -13937 11 Memory 0.00192 -13938 3 Compute properties 0.293472 -13939 10 setActiveGrpsFunc 0.0912 -13940 4 Approximation 0.189536 -13941 8 Correct 0.034112 -13942 7 Energy 0.06688 -13943 9 Predict 0.206208 -13944 0 Sorting 3.24922 -13945 1 Data reordering 0.165184 -13946 2 Tree-construction 0.960576 -13947 11 Memory 0.001888 -13948 3 Compute properties 0.216384 -13949 10 setActiveGrpsFunc 0.068288 -13950 4 Approximation 0.16768 -13951 8 Correct 0.02512 -13952 7 Energy 0.04848 -13953 9 Predict 0.144704 -13954 0 Sorting 3.23965 -13955 1 Data reordering 0.164864 -13956 2 Tree-construction 0.969184 -13957 11 Memory 0.00192 -13958 3 Compute properties 0.243872 -13959 10 setActiveGrpsFunc 0.077952 -13960 4 Approximation 0.168544 -13961 8 Correct 0.048736 -13962 7 Energy 0.049344 -13963 9 Predict 0.14464 -13964 0 Sorting 3.23472 -13965 1 Data reordering 0.163968 -13966 2 Tree-construction 0.885888 -13967 11 Memory 0.001888 -13968 3 Compute properties 0.196608 -13969 10 setActiveGrpsFunc 0.068 -13970 4 Approximation 0.15872 -13971 8 Correct 0.025088 -13972 7 Energy 0.048352 -13973 9 Predict 0.143904 -13974 0 Sorting 3.24074 -13975 1 Data reordering 0.16416 -13976 2 Tree-construction 0.991168 -13977 11 Memory 0.00192 -13978 3 Compute properties 0.215168 -13979 10 setActiveGrpsFunc 0.067936 -13980 4 Approximation 0.167808 -13981 8 Correct 0.025056 -13982 7 Energy 0.048064 -13983 9 Predict 0.155872 -13984 0 Sorting 3.24269 -13985 1 Data reordering 0.164576 -13986 2 Tree-construction 0.95904 -13987 11 Memory 0.00192 -13988 3 Compute properties 0.217216 -13989 10 setActiveGrpsFunc 0.06832 -13990 4 Approximation 0.16768 -13991 8 Correct 0.025152 -13992 7 Energy 0.048256 -13993 9 Predict 0.144032 -13994 0 Sorting 3.2393 -13995 1 Data reordering 0.164416 -13996 2 Tree-construction 0.992896 -13997 11 Memory 0.00192 -13998 3 Compute properties 0.22672 -13999 10 setActiveGrpsFunc 0.06816 -14000 4 Approximation 0.168064 -14001 8 Correct 0.025056 -14002 7 Energy 0.048064 -14003 9 Predict 0.144224 -14004 0 Sorting 3.24733 -14005 1 Data reordering 0.165248 -14006 2 Tree-construction 0.962688 -14007 11 Memory 0.00192 -14008 3 Compute properties 0.217184 -14009 10 setActiveGrpsFunc 0.068064 -14010 4 Approximation 0.16928 -14011 8 Correct 0.025248 -14012 7 Energy 0.048448 -14013 9 Predict 0.14432 -14014 0 Sorting 3.26902 -14015 1 Data reordering 0.190464 -14016 2 Tree-construction 0.898688 -14017 11 Memory 0.001888 -14018 3 Compute properties 0.196192 -14019 10 setActiveGrpsFunc 0.067456 -14020 4 Approximation 0.160416 -14021 8 Correct 0.025152 -14022 7 Energy 0.048224 -14023 9 Predict 0.144608 -14024 0 Sorting 3.24237 -14025 1 Data reordering 0.164576 -14026 2 Tree-construction 0.958816 -14027 11 Memory 0.00192 -14028 3 Compute properties 0.216704 -14029 10 setActiveGrpsFunc 0.067872 -14030 4 Approximation 0.168704 -14031 8 Correct 0.025152 -14032 7 Energy 0.048256 -14033 9 Predict 0.143776 -14034 0 Sorting 3.27606 -14035 1 Data reordering 0.165024 -14036 2 Tree-construction 0.970272 -14037 11 Memory 0.00192 -14038 3 Compute properties 0.216224 -14039 10 setActiveGrpsFunc 0.067936 -14040 4 Approximation 0.167584 -14041 8 Correct 0.02512 -14042 7 Energy 0.048 -14043 9 Predict 0.144224 -14044 0 Sorting 3.24224 -14045 1 Data reordering 0.16448 -14046 2 Tree-construction 0.968256 -14047 11 Memory 0.001888 -14048 3 Compute properties 0.217152 -14049 10 setActiveGrpsFunc 0.067936 -14050 4 Approximation 0.167712 -14051 8 Correct 0.025184 -14052 7 Energy 0.048576 -14053 9 Predict 0.14368 -14054 0 Sorting 3.27485 -14055 1 Data reordering 0.164192 -14056 2 Tree-construction 0.95888 -14057 11 Memory 0.001888 -14058 3 Compute properties 0.218016 -14059 10 setActiveGrpsFunc 0.067872 -14060 4 Approximation 0.16752 -14061 8 Correct 0.025056 -14062 7 Energy 0.048416 -14063 9 Predict 0.144864 -14064 0 Sorting 3.24227 -14065 1 Data reordering 0.16464 -14066 2 Tree-construction 0.960064 -14067 11 Memory 0.001888 -14068 3 Compute properties 0.217536 -14069 10 setActiveGrpsFunc 0.068064 -14070 4 Approximation 0.16896 -14071 8 Correct 0.025248 -14072 7 Energy 0.048192 -14073 9 Predict 0.14416 -14074 0 Sorting 3.29446 -14075 1 Data reordering 0.16496 -14076 2 Tree-construction 0.95712 -14077 11 Memory 0.001888 -14078 3 Compute properties 0.217024 -14079 10 setActiveGrpsFunc 0.067904 -14080 4 Approximation 0.167648 -14081 8 Correct 0.024896 -14082 7 Energy 0.04784 -14083 9 Predict 0.14448 -14084 0 Sorting 3.24182 -14085 1 Data reordering 0.164352 -14086 2 Tree-construction 0.88608 -14087 11 Memory 0.00192 -14088 3 Compute properties 0.188288 -14089 10 setActiveGrpsFunc 0.06752 -14090 4 Approximation 0.158944 -14091 8 Correct 0.025024 -14092 7 Energy 0.048096 -14093 9 Predict 0.144736 -14094 0 Sorting 3.67853 -14095 1 Data reordering 0.228832 -14096 2 Tree-construction 1.09622 -14097 11 Memory 0.001888 -14098 3 Compute properties 0.214976 -14099 10 setActiveGrpsFunc 0.068416 -14100 4 Approximation 0.16816 -14101 8 Correct 0.025184 -14102 7 Energy 0.048768 -14103 9 Predict 0.143904 -14104 0 Sorting 3.23542 -14105 1 Data reordering 0.164192 -14106 2 Tree-construction 0.895392 -14107 11 Memory 0.001856 -14108 3 Compute properties 0.188544 -14109 10 setActiveGrpsFunc 0.067904 -14110 4 Approximation 0.15888 -14111 8 Correct 0.02528 -14112 7 Energy 0.04832 -14113 9 Predict 0.197984 -14114 0 Sorting 3.30256 -14115 1 Data reordering 0.165568 -14116 2 Tree-construction 0.887456 -14117 11 Memory 0.00192 -14118 3 Compute properties 0.196736 -14119 10 setActiveGrpsFunc 0.068352 -14120 4 Approximation 0.158848 -14121 8 Correct 0.025344 -14122 7 Energy 0.048 -14123 9 Predict 0.144224 -14124 0 Sorting 3.24896 -14125 1 Data reordering 0.164032 -14126 2 Tree-construction 0.915584 -14127 11 Memory 0.00192 -14128 3 Compute properties 0.228128 -14129 10 setActiveGrpsFunc 0.086528 -14130 4 Approximation 0.161312 -14131 8 Correct 0.025568 -14132 7 Energy 0.048928 -14133 9 Predict 0.16912 -14134 0 Sorting 3.24762 -14135 1 Data reordering 0.164288 -14136 2 Tree-construction 0.886048 -14137 11 Memory 0.001888 -14138 3 Compute properties 0.188832 -14139 10 setActiveGrpsFunc 0.06768 -14140 4 Approximation 0.15984 -14141 8 Correct 0.025248 -14142 7 Energy 0.04816 -14143 9 Predict 0.14432 -14144 0 Sorting 3.27837 -14145 1 Data reordering 0.165248 -14146 2 Tree-construction 0.95472 -14147 11 Memory 0.001888 -14148 3 Compute properties 0.188 -14149 10 setActiveGrpsFunc 0.06928 -14150 4 Approximation 0.159616 -14151 8 Correct 0.02528 -14152 7 Energy 0.048704 -14153 9 Predict 0.144352 -14154 0 Sorting 3.25674 -14155 1 Data reordering 0.164608 -14156 2 Tree-construction 0.886528 -14157 11 Memory 0.001888 -14158 3 Compute properties 0.186752 -14159 10 setActiveGrpsFunc 0.067584 -14160 4 Approximation 0.159776 -14161 8 Correct 0.025056 -14162 7 Energy 0.047936 -14163 9 Predict 0.144 -14164 0 Sorting 3.25971 -14165 1 Data reordering 0.165472 -14166 2 Tree-construction 0.987296 -14167 11 Memory 0.00192 -14168 3 Compute properties 0.187808 -14169 10 setActiveGrpsFunc 0.068224 -14170 4 Approximation 0.15888 -14171 8 Correct 0.02528 -14172 7 Energy 0.04928 -14173 9 Predict 0.145056 -14174 0 Sorting 3.2367 -14175 1 Data reordering 0.164224 -14176 2 Tree-construction 0.887712 -14177 11 Memory 0.001888 -14178 3 Compute properties 0.185824 -14179 10 setActiveGrpsFunc 0.067744 -14180 4 Approximation 0.160064 -14181 8 Correct 0.025024 -14182 7 Energy 0.048224 -14183 9 Predict 0.14368 -14184 0 Sorting 3.25715 -14185 1 Data reordering 0.229856 -14186 2 Tree-construction 0.913984 -14187 11 Memory 0.00192 -14188 3 Compute properties 0.187776 -14189 10 setActiveGrpsFunc 0.06816 -14190 4 Approximation 0.15888 -14191 8 Correct 0.02528 -14192 7 Energy 0.048896 -14193 9 Predict 0.143584 -14194 0 Sorting 3.24154 -14195 1 Data reordering 0.164064 -14196 2 Tree-construction 0.93712 -14197 11 Memory 0.001888 -14198 3 Compute properties 0.18848 -14199 10 setActiveGrpsFunc 0.067776 -14200 4 Approximation 0.160192 -14201 8 Correct 0.025248 -14202 7 Energy 0.048256 -14203 9 Predict 0.144032 -14204 0 Sorting 3.30317 -14205 1 Data reordering 0.165024 -14206 2 Tree-construction 0.890944 -14207 11 Memory 0.001888 -14208 3 Compute properties 0.188 -14209 10 setActiveGrpsFunc 0.068 -14210 4 Approximation 0.16 -14211 8 Correct 0.025216 -14212 7 Energy 0.048992 -14213 9 Predict 0.14448 -14214 0 Sorting 3.26538 -14215 1 Data reordering 0.164512 -14216 2 Tree-construction 0.8856 -14217 11 Memory 0.001888 -14218 3 Compute properties 0.186144 -14219 10 setActiveGrpsFunc 0.067552 -14220 4 Approximation 0.160096 -14221 8 Correct 0.025024 -14222 7 Energy 0.048672 -14223 9 Predict 0.144608 -14224 0 Sorting 3.30576 -14225 1 Data reordering 0.164704 -14226 2 Tree-construction 0.896608 -14227 11 Memory 0.001888 -14228 3 Compute properties 0.1872 -14229 10 setActiveGrpsFunc 0.06816 -14230 4 Approximation 0.160128 -14231 8 Correct 0.025152 -14232 7 Energy 0.04864 -14233 9 Predict 0.143328 -14234 0 Sorting 3.26355 -14235 1 Data reordering 0.16528 -14236 2 Tree-construction 0.88672 -14237 11 Memory 0.001888 -14238 3 Compute properties 0.187008 -14239 10 setActiveGrpsFunc 0.06768 -14240 4 Approximation 0.160224 -14241 8 Correct 0.025056 -14242 7 Energy 0.047968 -14243 9 Predict 0.144672 -14244 0 Sorting 3.3224 -14245 1 Data reordering 0.165152 -14246 2 Tree-construction 0.893632 -14247 11 Memory 0.001952 -14248 3 Compute properties 0.186816 -14249 10 setActiveGrpsFunc 0.067776 -14250 4 Approximation 0.160224 -14251 8 Correct 0.02544 -14252 7 Energy 0.048736 -14253 9 Predict 0.144608 -14254 0 Sorting 3.25018 -14255 1 Data reordering 0.164928 -14256 2 Tree-construction 0.885184 -14257 11 Memory 0.001888 -14258 3 Compute properties 0.187008 -14259 10 setActiveGrpsFunc 0.06784 -14260 4 Approximation 0.160704 -14261 8 Correct 0.024992 -14262 7 Energy 0.048032 -14263 9 Predict 0.144768 -14264 0 Sorting 3.30134 -14265 1 Data reordering 0.16448 -14266 2 Tree-construction 0.8872 -14267 11 Memory 0.00192 -14268 3 Compute properties 0.212544 -14269 10 setActiveGrpsFunc 0.078368 -14270 4 Approximation 0.161056 -14271 8 Correct 0.025088 -14272 7 Energy 0.048704 -14273 9 Predict 0.144416 -14274 0 Sorting 3.25181 -14275 1 Data reordering 0.164256 -14276 2 Tree-construction 0.886432 -14277 11 Memory 0.001888 -14278 3 Compute properties 0.187136 -14279 10 setActiveGrpsFunc 0.067616 -14280 4 Approximation 0.15888 -14281 8 Correct 0.025024 -14282 7 Energy 0.047584 -14283 9 Predict 0.144256 -14284 0 Sorting 3.31392 -14285 1 Data reordering 0.188096 -14286 2 Tree-construction 0.885952 -14287 11 Memory 0.001888 -14288 3 Compute properties 0.18704 -14289 10 setActiveGrpsFunc 0.06784 -14290 4 Approximation 0.161504 -14291 8 Correct 0.025216 -14292 7 Energy 0.048832 -14293 9 Predict 0.144384 -14294 0 Sorting 3.24826 -14295 1 Data reordering 0.164128 -14296 2 Tree-construction 0.884864 -14297 11 Memory 0.001888 -14298 3 Compute properties 0.187968 -14299 10 setActiveGrpsFunc 0.06784 -14300 4 Approximation 0.159904 -14301 8 Correct 0.025152 -14302 7 Energy 0.048288 -14303 9 Predict 0.144224 -14304 0 Sorting 3.33834 -14305 1 Data reordering 0.164736 -14306 2 Tree-construction 0.899456 -14307 11 Memory 0.00192 -14308 3 Compute properties 0.187968 -14309 10 setActiveGrpsFunc 0.067968 -14310 4 Approximation 0.159872 -14311 8 Correct 0.025248 -14312 7 Energy 0.04864 -14313 9 Predict 0.144384 -14314 0 Sorting 3.244 -14315 1 Data reordering 0.164 -14316 2 Tree-construction 0.886208 -14317 11 Memory 0.00192 -14318 3 Compute properties 0.187904 -14319 10 setActiveGrpsFunc 0.067808 -14320 4 Approximation 0.160032 -14321 8 Correct 0.024992 -14322 7 Energy 0.048288 -14323 9 Predict 0.144576 -14324 0 Sorting 3.80368 -14325 1 Data reordering 0.166176 -14326 2 Tree-construction 0.889984 -14327 11 Memory 0.001888 -14328 3 Compute properties 0.188224 -14329 10 setActiveGrpsFunc 0.067904 -14330 4 Approximation 0.161344 -14331 8 Correct 0.025376 -14332 7 Energy 0.049184 -14333 9 Predict 0.144736 -14334 0 Sorting 3.24653 -14335 1 Data reordering 0.164 -14336 2 Tree-construction 0.885696 -14337 11 Memory 0.00192 -14338 3 Compute properties 0.187232 -14339 10 setActiveGrpsFunc 0.067936 -14340 4 Approximation 0.185088 -14341 8 Correct 0.033472 -14342 7 Energy 0.058368 -14343 9 Predict 0.157408 -14344 0 Sorting 3.24842 -14345 1 Data reordering 0.164352 -14346 2 Tree-construction 0.885952 -14347 11 Memory 0.001888 -14348 3 Compute properties 0.187456 -14349 10 setActiveGrpsFunc 0.067712 -14350 4 Approximation 0.160064 -14351 8 Correct 0.025088 -14352 7 Energy 0.048064 -14353 9 Predict 0.144128 -14354 0 Sorting 3.24816 -14355 1 Data reordering 0.164192 -14356 2 Tree-construction 0.8848 -14357 11 Memory 0.001888 -14358 3 Compute properties 0.252576 -14359 10 setActiveGrpsFunc 0.071232 -14360 4 Approximation 0.171104 -14361 8 Correct 0.025088 -14362 7 Energy 0.051392 -14363 9 Predict 0.144864 -14364 0 Sorting 3.23395 -14365 1 Data reordering 0.16464 -14366 2 Tree-construction 0.957824 -14367 11 Memory 0.00192 -14368 3 Compute properties 0.216 -14369 10 setActiveGrpsFunc 0.06784 -14370 4 Approximation 0.169024 -14371 8 Correct 0.025152 -14372 7 Energy 0.047936 -14373 9 Predict 0.144032 -14374 0 Sorting 3.24141 -14375 1 Data reordering 0.164288 -14376 2 Tree-construction 1.04461 -14377 11 Memory 0.001888 -14378 3 Compute properties 0.206368 -14379 10 setActiveGrpsFunc 0.068384 -14380 4 Approximation 0.169216 -14381 8 Correct 0.025152 -14382 7 Energy 0.056256 -14383 9 Predict 0.144832 -14384 0 Sorting 3.25283 -14385 1 Data reordering 0.165088 -14386 2 Tree-construction 0.95696 -14387 11 Memory 0.00192 -14388 3 Compute properties 0.220416 -14389 10 setActiveGrpsFunc 0.068416 -14390 4 Approximation 0.168512 -14391 8 Correct 0.024992 -14392 7 Energy 0.04832 -14393 9 Predict 0.144512 -14394 0 Sorting 3.2392 -14395 1 Data reordering 0.226656 -14396 2 Tree-construction 0.97856 -14397 11 Memory 0.001888 -14398 3 Compute properties 0.229792 -14399 10 setActiveGrpsFunc 0.068352 -14400 4 Approximation 0.169472 -14401 8 Correct 0.025312 -14402 7 Energy 0.048224 -14403 9 Predict 0.1448 -14404 0 Sorting 3.23302 -14405 1 Data reordering 0.164064 -14406 2 Tree-construction 0.956416 -14407 11 Memory 0.001888 -14408 3 Compute properties 0.215808 -14409 10 setActiveGrpsFunc 0.068192 -14410 4 Approximation 0.167648 -14411 8 Correct 0.025024 -14412 7 Energy 0.047872 -14413 9 Predict 0.143904 -14414 0 Sorting 3.32416 -14415 1 Data reordering 0.165472 -14416 2 Tree-construction 0.960416 -14417 11 Memory 0.00192 -14418 3 Compute properties 0.216256 -14419 10 setActiveGrpsFunc 0.068352 -14420 4 Approximation 0.169088 -14421 8 Correct 0.025216 -14422 7 Energy 0.048384 -14423 9 Predict 0.143712 -14424 0 Sorting 3.24698 -14425 1 Data reordering 0.163936 -14426 2 Tree-construction 0.956192 -14427 11 Memory 0.00192 -14428 3 Compute properties 0.215232 -14429 10 setActiveGrpsFunc 0.067936 -14430 4 Approximation 0.169344 -14431 8 Correct 0.025472 -14432 7 Energy 0.048096 -14433 9 Predict 0.14384 -14434 0 Sorting 3.30733 -14435 1 Data reordering 0.164768 -14436 2 Tree-construction 0.96 -14437 11 Memory 0.001888 -14438 3 Compute properties 0.207584 -14439 10 setActiveGrpsFunc 0.067808 -14440 4 Approximation 0.167776 -14441 8 Correct 0.025088 -14442 7 Energy 0.048 -14443 9 Predict 0.143552 -14444 0 Sorting 3.2447 -14445 1 Data reordering 0.164672 -14446 2 Tree-construction 0.956224 -14447 11 Memory 0.001888 -14448 3 Compute properties 0.217408 -14449 10 setActiveGrpsFunc 0.067936 -14450 4 Approximation 0.16752 -14451 8 Correct 0.024992 -14452 7 Energy 0.047968 -14453 9 Predict 0.144 -14454 0 Sorting 3.3065 -14455 1 Data reordering 0.164864 -14456 2 Tree-construction 0.969024 -14457 11 Memory 0.001888 -14458 3 Compute properties 0.217216 -14459 10 setActiveGrpsFunc 0.067808 -14460 4 Approximation 0.168928 -14461 8 Correct 0.025024 -14462 7 Energy 0.048736 -14463 9 Predict 0.144288 -14464 0 Sorting 3.24371 -14465 1 Data reordering 0.164 -14466 2 Tree-construction 0.95984 -14467 11 Memory 0.001888 -14468 3 Compute properties 0.220224 -14469 10 setActiveGrpsFunc 0.067968 -14470 4 Approximation 0.169152 -14471 8 Correct 0.025216 -14472 7 Energy 0.04848 -14473 9 Predict 0.144384 -14474 0 Sorting 3.36957 -14475 1 Data reordering 0.16512 -14476 2 Tree-construction 0.958784 -14477 11 Memory 0.001888 -14478 3 Compute properties 0.210368 -14479 10 setActiveGrpsFunc 0.067904 -14480 4 Approximation 0.169248 -14481 8 Correct 0.025024 -14482 7 Energy 0.047872 -14483 9 Predict 0.144448 -14484 0 Sorting 3.26746 -14485 1 Data reordering 0.16416 -14486 2 Tree-construction 0.957824 -14487 11 Memory 0.001888 -14488 3 Compute properties 0.216832 -14489 10 setActiveGrpsFunc 0.067904 -14490 4 Approximation 0.16848 -14491 8 Correct 0.024992 -14492 7 Energy 0.047968 -14493 9 Predict 0.144256 -14494 0 Sorting 3.33853 -14495 1 Data reordering 0.165408 -14496 2 Tree-construction 0.961024 -14497 11 Memory 0.001888 -14498 3 Compute properties 0.217024 -14499 10 setActiveGrpsFunc 0.067872 -14500 4 Approximation 0.16864 -14501 8 Correct 0.02544 -14502 7 Energy 0.048224 -14503 9 Predict 0.144352 -14504 0 Sorting 3.24192 -14505 1 Data reordering 0.163808 -14506 2 Tree-construction 0.957472 -14507 11 Memory 0.001888 -14508 3 Compute properties 0.215776 -14509 10 setActiveGrpsFunc 0.067904 -14510 4 Approximation 0.168512 -14511 8 Correct 0.057088 -14512 7 Energy 0.066112 -14513 9 Predict 0.16944 -14514 0 Sorting 3.28659 -14515 1 Data reordering 0.165472 -14516 2 Tree-construction 0.96432 -14517 11 Memory 0.001888 -14518 3 Compute properties 0.214592 -14519 10 setActiveGrpsFunc 0.067808 -14520 4 Approximation 0.169088 -14521 8 Correct 0.025184 -14522 7 Energy 0.04864 -14523 9 Predict 0.144064 -14524 0 Sorting 3.23331 -14525 1 Data reordering 0.163872 -14526 2 Tree-construction 1.02298 -14527 11 Memory 0.001888 -14528 3 Compute properties 0.22064 -14529 10 setActiveGrpsFunc 0.068672 -14530 4 Approximation 0.171552 -14531 8 Correct 0.025472 -14532 7 Energy 0.068096 -14533 9 Predict 0.145952 -14534 0 Sorting 3.25066 -14535 1 Data reordering 0.165376 -14536 2 Tree-construction 0.88656 -14537 11 Memory 0.001888 -14538 3 Compute properties 0.188032 -14539 10 setActiveGrpsFunc 0.068032 -14540 4 Approximation 0.159584 -14541 8 Correct 0.02512 -14542 7 Energy 0.048128 -14543 9 Predict 0.144672 -14544 0 Sorting 3.24522 -14545 1 Data reordering 0.164192 -14546 2 Tree-construction 0.96992 -14547 11 Memory 0.00192 -14548 3 Compute properties 0.18992 -14549 10 setActiveGrpsFunc 0.091616 -14550 4 Approximation 0.181376 -14551 8 Correct 0.033632 -14552 7 Energy 0.067104 -14553 9 Predict 0.193024 -14554 0 Sorting 3.55229 -14555 1 Data reordering 0.165536 -14556 2 Tree-construction 0.89024 -14557 11 Memory 0.001888 -14558 3 Compute properties 0.188832 -14559 10 setActiveGrpsFunc 0.068192 -14560 4 Approximation 0.159584 -14561 8 Correct 0.025248 -14562 7 Energy 0.048384 -14563 9 Predict 0.14464 -14564 0 Sorting 3.31046 -14565 1 Data reordering 0.185856 -14566 2 Tree-construction 0.922528 -14567 11 Memory 0.00192 -14568 3 Compute properties 0.188896 -14569 10 setActiveGrpsFunc 0.068288 -14570 4 Approximation 0.159808 -14571 8 Correct 0.025632 -14572 7 Energy 0.049376 -14573 9 Predict 0.145024 -14574 0 Sorting 3.2464 -14575 1 Data reordering 0.163776 -14576 2 Tree-construction 0.888 -14577 11 Memory 0.00192 -14578 3 Compute properties 0.188832 -14579 10 setActiveGrpsFunc 0.067488 -14580 4 Approximation 0.15936 -14581 8 Correct 0.025024 -14582 7 Energy 0.04816 -14583 9 Predict 0.144416 -14584 0 Sorting 3.3224 -14585 1 Data reordering 0.165536 -14586 2 Tree-construction 0.96112 -14587 11 Memory 0.001888 -14588 3 Compute properties 0.207168 -14589 10 setActiveGrpsFunc 0.067712 -14590 4 Approximation 0.16816 -14591 8 Correct 0.025184 -14592 7 Energy 0.04848 -14593 9 Predict 0.14432 -14594 0 Sorting 3.24147 -14595 1 Data reordering 0.163968 -14596 2 Tree-construction 0.958624 -14597 11 Memory 0.001952 -14598 3 Compute properties 0.216 -14599 10 setActiveGrpsFunc 0.067904 -14600 4 Approximation 0.167584 -14601 8 Correct 0.024992 -14602 7 Energy 0.04784 -14603 9 Predict 0.144064 -14604 0 Sorting 3.33363 -14605 1 Data reordering 0.16512 -14606 2 Tree-construction 0.899072 -14607 11 Memory 0.001888 -14608 3 Compute properties 0.197344 -14609 10 setActiveGrpsFunc 0.067808 -14610 4 Approximation 0.158784 -14611 8 Correct 0.025248 -14612 7 Energy 0.04864 -14613 9 Predict 0.144416 -14614 0 Sorting 3.24176 -14615 1 Data reordering 0.16432 -14616 2 Tree-construction 0.887168 -14617 11 Memory 0.002144 -14618 3 Compute properties 0.186976 -14619 10 setActiveGrpsFunc 0.067616 -14620 4 Approximation 0.160256 -14621 8 Correct 0.02496 -14622 7 Energy 0.047904 -14623 9 Predict 0.144512 -14624 0 Sorting 3.34326 -14625 1 Data reordering 0.165184 -14626 2 Tree-construction 0.889504 -14627 11 Memory 0.001888 -14628 3 Compute properties 0.187232 -14629 10 setActiveGrpsFunc 0.067392 -14630 4 Approximation 0.160224 -14631 8 Correct 0.025024 -14632 7 Energy 0.048704 -14633 9 Predict 0.144288 -14634 0 Sorting 3.24374 -14635 1 Data reordering 0.164128 -14636 2 Tree-construction 0.958368 -14637 11 Memory 0.001888 -14638 3 Compute properties 0.205056 -14639 10 setActiveGrpsFunc 0.067648 -14640 4 Approximation 0.167616 -14641 8 Correct 0.025024 -14642 7 Energy 0.047712 -14643 9 Predict 0.143968 -14644 0 Sorting 3.33965 -14645 1 Data reordering 0.165696 -14646 2 Tree-construction 0.958176 -14647 11 Memory 0.001888 -14648 3 Compute properties 0.20512 -14649 10 setActiveGrpsFunc 0.067904 -14650 4 Approximation 0.167744 -14651 8 Correct 0.025248 -14652 7 Energy 0.048448 -14653 9 Predict 0.144128 -14654 0 Sorting 3.24432 -14655 1 Data reordering 0.16432 -14656 2 Tree-construction 0.959104 -14657 11 Memory 0.001888 -14658 3 Compute properties 0.205728 -14659 10 setActiveGrpsFunc 0.06784 -14660 4 Approximation 0.16736 -14661 8 Correct 0.025248 -14662 7 Energy 0.047616 -14663 9 Predict 0.14416 -14664 0 Sorting 3.32317 -14665 1 Data reordering 0.164448 -14666 2 Tree-construction 0.968512 -14667 11 Memory 0.001888 -14668 3 Compute properties 0.214336 -14669 10 setActiveGrpsFunc 0.067744 -14670 4 Approximation 0.167456 -14671 8 Correct 0.025184 -14672 7 Energy 0.048544 -14673 9 Predict 0.144448 -14674 0 Sorting 3.23782 -14675 1 Data reordering 0.164128 -14676 2 Tree-construction 0.958496 -14677 11 Memory 0.001888 -14678 3 Compute properties 0.217824 -14679 10 setActiveGrpsFunc 0.067872 -14680 4 Approximation 0.16768 -14681 8 Correct 0.025088 -14682 7 Energy 0.080256 -14683 9 Predict 0.178592 -14684 0 Sorting 3.27453 -14685 1 Data reordering 0.164864 -14686 2 Tree-construction 0.985216 -14687 11 Memory 0.00192 -14688 3 Compute properties 0.293536 -14689 10 setActiveGrpsFunc 0.090336 -14690 4 Approximation 0.1896 -14691 8 Correct 0.033504 -14692 7 Energy 0.067328 -14693 9 Predict 0.192192 -14694 0 Sorting 3.41213 -14695 1 Data reordering 0.165376 -14696 2 Tree-construction 0.975904 -14697 11 Memory 0.001888 -14698 3 Compute properties 0.202432 -14699 10 setActiveGrpsFunc 0.08064 -14700 4 Approximation 0.159296 -14701 8 Correct 0.02528 -14702 7 Energy 0.048672 -14703 9 Predict 0.1448 -14704 0 Sorting 3.25059 -14705 1 Data reordering 0.164928 -14706 2 Tree-construction 0.886688 -14707 11 Memory 0.00192 -14708 3 Compute properties 0.187584 -14709 10 setActiveGrpsFunc 0.06752 -14710 4 Approximation 0.158496 -14711 8 Correct 0.025536 -14712 7 Energy 0.048512 -14713 9 Predict 0.145152 -14714 0 Sorting 3.2472 -14715 1 Data reordering 0.164224 -14716 2 Tree-construction 1.03296 -14717 11 Memory 0.001888 -14718 3 Compute properties 0.1888 -14719 10 setActiveGrpsFunc 0.06784 -14720 4 Approximation 0.158976 -14721 8 Correct 0.025024 -14722 7 Energy 0.048032 -14723 9 Predict 0.145536 -14724 0 Sorting 3.30454 -14725 1 Data reordering 0.164448 -14726 2 Tree-construction 0.895424 -14727 11 Memory 0.001888 -14728 3 Compute properties 0.1872 -14729 10 setActiveGrpsFunc 0.068 -14730 4 Approximation 0.158752 -14731 8 Correct 0.02496 -14732 7 Energy 0.048064 -14733 9 Predict 0.144704 -14734 0 Sorting 3.56074 -14735 1 Data reordering 0.188768 -14736 2 Tree-construction 0.929984 -14737 11 Memory 0.00192 -14738 3 Compute properties 0.18864 -14739 10 setActiveGrpsFunc 0.067872 -14740 4 Approximation 0.159072 -14741 8 Correct 0.02496 -14742 7 Energy 0.055584 -14743 9 Predict 0.192352 -14744 0 Sorting 3.59494 -14745 1 Data reordering 0.17424 -14746 2 Tree-construction 0.889408 -14747 11 Memory 0.00192 -14748 3 Compute properties 0.187808 -14749 10 setActiveGrpsFunc 0.067904 -14750 4 Approximation 0.158656 -14751 8 Correct 0.025088 -14752 7 Energy 0.048576 -14753 9 Predict 0.144224 -14754 0 Sorting 3.30134 -14755 1 Data reordering 0.1648 -14756 2 Tree-construction 0.89056 -14757 11 Memory 0.001888 -14758 3 Compute properties 0.187424 -14759 10 setActiveGrpsFunc 0.077088 -14760 4 Approximation 0.158912 -14761 8 Correct 0.025184 -14762 7 Energy 0.048288 -14763 9 Predict 0.14432 -14764 0 Sorting 3.24221 -14765 1 Data reordering 0.16448 -14766 2 Tree-construction 0.88576 -14767 11 Memory 0.001888 -14768 3 Compute properties 0.188224 -14769 10 setActiveGrpsFunc 0.06784 -14770 4 Approximation 0.159136 -14771 8 Correct 0.025056 -14772 7 Energy 0.048608 -14773 9 Predict 0.144672 -14774 0 Sorting 3.31642 -14775 1 Data reordering 0.166304 -14776 2 Tree-construction 0.961248 -14777 11 Memory 0.001888 -14778 3 Compute properties 0.218816 -14779 10 setActiveGrpsFunc 0.068032 -14780 4 Approximation 0.168352 -14781 8 Correct 0.02528 -14782 7 Energy 0.048672 -14783 9 Predict 0.144992 -14784 0 Sorting 3.24637 -14785 1 Data reordering 0.164672 -14786 2 Tree-construction 0.886656 -14787 11 Memory 0.002016 -14788 3 Compute properties 0.196672 -14789 10 setActiveGrpsFunc 0.067584 -14790 4 Approximation 0.159328 -14791 8 Correct 0.025216 -14792 7 Energy 0.048128 -14793 9 Predict 0.144064 -14794 0 Sorting 3.33885 -14795 1 Data reordering 0.165184 -14796 2 Tree-construction 0.888384 -14797 11 Memory 0.00192 -14798 3 Compute properties 0.189408 -14799 10 setActiveGrpsFunc 0.068032 -14800 4 Approximation 0.158784 -14801 8 Correct 0.025056 -14802 7 Energy 0.047904 -14803 9 Predict 0.144608 -14804 0 Sorting 3.23632 -14805 1 Data reordering 0.16368 -14806 2 Tree-construction 0.966816 -14807 11 Memory 0.001888 -14808 3 Compute properties 0.223104 -14809 10 setActiveGrpsFunc 0.068672 -14810 4 Approximation 0.167808 -14811 8 Correct 0.02512 -14812 7 Energy 0.048512 -14813 9 Predict 0.14496 -14814 0 Sorting 3.2921 -14815 1 Data reordering 0.165152 -14816 2 Tree-construction 0.888224 -14817 11 Memory 0.00192 -14818 3 Compute properties 0.197024 -14819 10 setActiveGrpsFunc 0.068352 -14820 4 Approximation 0.159328 -14821 8 Correct 0.025248 -14822 7 Energy 0.04832 -14823 9 Predict 0.154816 -14824 0 Sorting 3.23485 -14825 1 Data reordering 0.164224 -14826 2 Tree-construction 0.888256 -14827 11 Memory 0.001888 -14828 3 Compute properties 0.189568 -14829 10 setActiveGrpsFunc 0.067712 -14830 4 Approximation 0.158784 -14831 8 Correct 0.025152 -14832 7 Energy 0.048096 -14833 9 Predict 0.144256 -14834 0 Sorting 3.30483 -14835 1 Data reordering 0.164864 -14836 2 Tree-construction 0.88816 -14837 11 Memory 0.001888 -14838 3 Compute properties 0.196256 -14839 10 setActiveGrpsFunc 0.067616 -14840 4 Approximation 0.159008 -14841 8 Correct 0.025056 -14842 7 Energy 0.047904 -14843 9 Predict 0.144768 -14844 0 Sorting 3.25242 -14845 1 Data reordering 0.164704 -14846 2 Tree-construction 0.961632 -14847 11 Memory 0.001888 -14848 3 Compute properties 0.219424 -14849 10 setActiveGrpsFunc 0.067968 -14850 4 Approximation 0.202272 -14851 8 Correct 0.033152 -14852 7 Energy 0.052192 -14853 9 Predict 0.14512 -14854 0 Sorting 3.27379 -14855 1 Data reordering 0.165248 -14856 2 Tree-construction 0.955712 -14857 11 Memory 0.001888 -14858 3 Compute properties 0.216672 -14859 10 setActiveGrpsFunc 0.06768 -14860 4 Approximation 0.167712 -14861 8 Correct 0.025056 -14862 7 Energy 0.048416 -14863 9 Predict 0.145152 -14864 0 Sorting 3.23446 -14865 1 Data reordering 0.164096 -14866 2 Tree-construction 1.03677 -14867 11 Memory 0.001888 -14868 3 Compute properties 0.222304 -14869 10 setActiveGrpsFunc 0.06896 -14870 4 Approximation 0.167904 -14871 8 Correct 0.025088 -14872 7 Energy 0.048768 -14873 9 Predict 0.144864 -14874 0 Sorting 3.23318 -14875 1 Data reordering 0.164544 -14876 2 Tree-construction 0.955712 -14877 11 Memory 0.001888 -14878 3 Compute properties 0.214944 -14879 10 setActiveGrpsFunc 0.067456 -14880 4 Approximation 0.168 -14881 8 Correct 0.025152 -14882 7 Energy 0.04848 -14883 9 Predict 0.144384 -14884 0 Sorting 3.23965 -14885 1 Data reordering 0.16432 -14886 2 Tree-construction 1.04954 -14887 11 Memory 0.001888 -14888 3 Compute properties 0.20864 -14889 10 setActiveGrpsFunc 0.068192 -14890 4 Approximation 0.16816 -14891 8 Correct 0.033632 -14892 7 Energy 0.049056 -14893 9 Predict 0.144992 -14894 0 Sorting 3.25405 -14895 1 Data reordering 0.164288 -14896 2 Tree-construction 0.960064 -14897 11 Memory 0.001888 -14898 3 Compute properties 0.217312 -14899 10 setActiveGrpsFunc 0.068128 -14900 4 Approximation 0.168032 -14901 8 Correct 0.02496 -14902 7 Energy 0.048032 -14903 9 Predict 0.144128 -14904 0 Sorting 3.2897 -14905 1 Data reordering 0.176608 -14906 2 Tree-construction 0.985216 -14907 11 Memory 0.001888 -14908 3 Compute properties 0.216032 -14909 10 setActiveGrpsFunc 0.067584 -14910 4 Approximation 0.177312 -14911 8 Correct 0.02544 -14912 7 Energy 0.048576 -14913 9 Predict 0.14512 -14914 0 Sorting 3.43104 -14915 1 Data reordering 0.228256 -14916 2 Tree-construction 1.19901 -14917 11 Memory 0.001888 -14918 3 Compute properties 0.221376 -14919 10 setActiveGrpsFunc 0.068224 -14920 4 Approximation 0.168576 -14921 8 Correct 0.02528 -14922 7 Energy 0.048672 -14923 9 Predict 0.144512 -14924 0 Sorting 3.32557 -14925 1 Data reordering 0.165344 -14926 2 Tree-construction 0.958784 -14927 11 Memory 0.001888 -14928 3 Compute properties 0.21712 -14929 10 setActiveGrpsFunc 0.068096 -14930 4 Approximation 0.167904 -14931 8 Correct 0.024992 -14932 7 Energy 0.048608 -14933 9 Predict 0.144864 -14934 0 Sorting 3.24323 -14935 1 Data reordering 0.164032 -14936 2 Tree-construction 0.960224 -14937 11 Memory 0.00192 -14938 3 Compute properties 0.21616 -14939 10 setActiveGrpsFunc 0.068096 -14940 4 Approximation 0.167968 -14941 8 Correct 0.025152 -14942 7 Energy 0.048064 -14943 9 Predict 0.143872 -14944 0 Sorting 3.31341 -14945 1 Data reordering 0.16432 -14946 2 Tree-construction 0.957088 -14947 11 Memory 0.00192 -14948 3 Compute properties 0.21696 -14949 10 setActiveGrpsFunc 0.06816 -14950 4 Approximation 0.167904 -14951 8 Correct 0.025024 -14952 7 Energy 0.049024 -14953 9 Predict 0.144608 -14954 0 Sorting 3.2351 -14955 1 Data reordering 0.17184 -14956 2 Tree-construction 0.958784 -14957 11 Memory 0.00192 -14958 3 Compute properties 0.215968 -14959 10 setActiveGrpsFunc 0.068 -14960 4 Approximation 0.167872 -14961 8 Correct 0.025152 -14962 7 Energy 0.048192 -14963 9 Predict 0.144704 -14964 0 Sorting 3.33251 -14965 1 Data reordering 0.16512 -14966 2 Tree-construction 0.960064 -14967 11 Memory 0.00192 -14968 3 Compute properties 0.223136 -14969 10 setActiveGrpsFunc 0.067936 -14970 4 Approximation 0.16784 -14971 8 Correct 0.02496 -14972 7 Energy 0.048672 -14973 9 Predict 0.144896 -14974 0 Sorting 3.24576 -14975 1 Data reordering 0.164288 -14976 2 Tree-construction 0.958528 -14977 11 Memory 0.001888 -14978 3 Compute properties 0.207392 -14979 10 setActiveGrpsFunc 0.06768 -14980 4 Approximation 0.167584 -14981 8 Correct 0.025184 -14982 7 Energy 0.048672 -14983 9 Predict 0.144736 -14984 0 Sorting 3.30461 -14985 1 Data reordering 0.16496 -14986 2 Tree-construction 0.95792 -14987 11 Memory 0.00192 -14988 3 Compute properties 0.216352 -14989 10 setActiveGrpsFunc 0.067616 -14990 4 Approximation 0.168032 -14991 8 Correct 0.025088 -14992 7 Energy 0.05088 -14993 9 Predict 0.145088 -14994 0 Sorting 3.23952 -14995 1 Data reordering 0.164352 -14996 2 Tree-construction 0.957184 -14997 11 Memory 0.00192 -14998 3 Compute properties 0.216992 -14999 10 setActiveGrpsFunc 0.068 -15000 4 Approximation 0.17984 -15001 8 Correct 0.033408 -15002 7 Energy 0.058112 -15003 9 Predict 0.157888 -15004 0 Sorting 3.2648 -15005 1 Data reordering 0.16512 -15006 2 Tree-construction 0.956288 -15007 11 Memory 0.00192 -15008 3 Compute properties 0.21136 -15009 10 setActiveGrpsFunc 0.067648 -15010 4 Approximation 0.168416 -15011 8 Correct 0.025184 -15012 7 Energy 0.04896 -15013 9 Predict 0.144672 -15014 0 Sorting 3.23606 -15015 1 Data reordering 0.172864 -15016 2 Tree-construction 1.03968 -15017 11 Memory 0.002016 -15018 3 Compute properties 0.217824 -15019 10 setActiveGrpsFunc 0.0688 -15020 4 Approximation 0.169728 -15021 8 Correct 0.025376 -15022 7 Energy 0.048704 -15023 9 Predict 0.14448 -15024 0 Sorting 3.23824 -15025 1 Data reordering 0.16416 -15026 2 Tree-construction 0.96624 -15027 11 Memory 0.00192 -15028 3 Compute properties 0.217888 -15029 10 setActiveGrpsFunc 0.06832 -15030 4 Approximation 0.167616 -15031 8 Correct 0.025056 -15032 7 Energy 0.048192 -15033 9 Predict 0.14512 -15034 0 Sorting 3.22899 -15035 1 Data reordering 0.164128 -15036 2 Tree-construction 1.05206 -15037 11 Memory 0.001888 -15038 3 Compute properties 0.218336 -15039 10 setActiveGrpsFunc 0.068192 -15040 4 Approximation 0.172576 -15041 8 Correct 0.025312 -15042 7 Energy 0.04832 -15043 9 Predict 0.144768 -15044 0 Sorting 3.2456 -15045 1 Data reordering 0.164352 -15046 2 Tree-construction 0.958048 -15047 11 Memory 0.00192 -15048 3 Compute properties 0.216608 -15049 10 setActiveGrpsFunc 0.067904 -15050 4 Approximation 0.16752 -15051 8 Correct 0.025184 -15052 7 Energy 0.047904 -15053 9 Predict 0.144768 -15054 0 Sorting 3.29584 -15055 1 Data reordering 0.174944 -15056 2 Tree-construction 0.968 -15057 11 Memory 0.001888 -15058 3 Compute properties 0.2168 -15059 10 setActiveGrpsFunc 0.068416 -15060 4 Approximation 0.168256 -15061 8 Correct 0.02512 -15062 7 Energy 0.048608 -15063 9 Predict 0.14464 -15064 0 Sorting 3.24621 -15065 1 Data reordering 0.163968 -15066 2 Tree-construction 0.883456 -15067 11 Memory 0.00192 -15068 3 Compute properties 0.188192 -15069 10 setActiveGrpsFunc 0.068608 -15070 4 Approximation 0.158656 -15071 8 Correct 0.02496 -15072 7 Energy 0.048192 -15073 9 Predict 0.144384 -15074 0 Sorting 3.32666 -15075 1 Data reordering 0.1656 -15076 2 Tree-construction 0.958848 -15077 11 Memory 0.001888 -15078 3 Compute properties 0.21952 -15079 10 setActiveGrpsFunc 0.067648 -15080 4 Approximation 0.16816 -15081 8 Correct 0.02512 -15082 7 Energy 0.048352 -15083 9 Predict 0.145312 -15084 0 Sorting 3.24528 -15085 1 Data reordering 0.16416 -15086 2 Tree-construction 0.88576 -15087 11 Memory 0.001888 -15088 3 Compute properties 0.187744 -15089 10 setActiveGrpsFunc 0.067328 -15090 4 Approximation 0.156928 -15091 8 Correct 0.024992 -15092 7 Energy 0.048096 -15093 9 Predict 0.144704 -15094 0 Sorting 3.32342 -15095 1 Data reordering 0.16448 -15096 2 Tree-construction 0.8872 -15097 11 Memory 0.001888 -15098 3 Compute properties 0.18784 -15099 10 setActiveGrpsFunc 0.067648 -15100 4 Approximation 0.159072 -15101 8 Correct 0.025024 -15102 7 Energy 0.048448 -15103 9 Predict 0.144512 -15104 0 Sorting 3.24266 -15105 1 Data reordering 0.17392 -15106 2 Tree-construction 0.885024 -15107 11 Memory 0.001888 -15108 3 Compute properties 0.186816 -15109 10 setActiveGrpsFunc 0.067424 -15110 4 Approximation 0.158848 -15111 8 Correct 0.025056 -15112 7 Energy 0.04816 -15113 9 Predict 0.144896 -15114 0 Sorting 3.30573 -15115 1 Data reordering 0.16512 -15116 2 Tree-construction 0.88768 -15117 11 Memory 0.001888 -15118 3 Compute properties 0.19568 -15119 10 setActiveGrpsFunc 0.068128 -15120 4 Approximation 0.159072 -15121 8 Correct 0.034656 -15122 7 Energy 0.048416 -15123 9 Predict 0.144736 -15124 0 Sorting 3.2343 -15125 1 Data reordering 0.163968 -15126 2 Tree-construction 0.885856 -15127 11 Memory 0.001888 -15128 3 Compute properties 0.189152 -15129 10 setActiveGrpsFunc 0.067392 -15130 4 Approximation 0.158624 -15131 8 Correct 0.02496 -15132 7 Energy 0.048416 -15133 9 Predict 0.145792 -15134 0 Sorting 3.33165 -15135 1 Data reordering 0.165184 -15136 2 Tree-construction 0.887328 -15137 11 Memory 0.00192 -15138 3 Compute properties 0.196672 -15139 10 setActiveGrpsFunc 0.067616 -15140 4 Approximation 0.159072 -15141 8 Correct 0.025184 -15142 7 Energy 0.048256 -15143 9 Predict 0.14464 -15144 0 Sorting 3.64627 -15145 1 Data reordering 0.166048 -15146 2 Tree-construction 0.960064 -15147 11 Memory 0.001888 -15148 3 Compute properties 0.216704 -15149 10 setActiveGrpsFunc 0.068128 -15150 4 Approximation 0.168416 -15151 8 Correct 0.025376 -15152 7 Energy 0.049088 -15153 9 Predict 0.144768 -15154 0 Sorting 3.3185 -15155 1 Data reordering 0.165088 -15156 2 Tree-construction 0.957088 -15157 11 Memory 0.00192 -15158 3 Compute properties 0.215136 -15159 10 setActiveGrpsFunc 0.067872 -15160 4 Approximation 0.16768 -15161 8 Correct 0.024992 -15162 7 Energy 0.047936 -15163 9 Predict 0.145088 -15164 0 Sorting 3.24198 -15165 1 Data reordering 0.163936 -15166 2 Tree-construction 0.969856 -15167 11 Memory 0.00192 -15168 3 Compute properties 0.208 -15169 10 setActiveGrpsFunc 0.067648 -15170 4 Approximation 0.167808 -15171 8 Correct 0.024928 -15172 7 Energy 0.048352 -15173 9 Predict 0.199392 -15174 0 Sorting 3.25693 -15175 1 Data reordering 0.164352 -15176 2 Tree-construction 0.957216 -15177 11 Memory 0.001888 -15178 3 Compute properties 0.218624 -15179 10 setActiveGrpsFunc 0.068 -15180 4 Approximation 0.167872 -15181 8 Correct 0.025184 -15182 7 Energy 0.050624 -15183 9 Predict 0.14576 -15184 0 Sorting 3.23651 -15185 1 Data reordering 0.164512 -15186 2 Tree-construction 0.957728 -15187 11 Memory 0.001888 -15188 3 Compute properties 0.28256 -15189 10 setActiveGrpsFunc 0.075936 -15190 4 Approximation 0.1696 -15191 8 Correct 0.025376 -15192 7 Energy 0.050656 -15193 9 Predict 0.145408 -15194 0 Sorting 3.23328 -15195 1 Data reordering 0.164672 -15196 2 Tree-construction 0.957856 -15197 11 Memory 0.00192 -15198 3 Compute properties 0.217056 -15199 10 setActiveGrpsFunc 0.067872 -15200 4 Approximation 0.167776 -15201 8 Correct 0.025024 -15202 7 Energy 0.048192 -15203 9 Predict 0.1448 -15204 0 Sorting 3.24774 -15205 1 Data reordering 0.164608 -15206 2 Tree-construction 1.03226 -15207 11 Memory 0.001888 -15208 3 Compute properties 0.217248 -15209 10 setActiveGrpsFunc 0.06816 -15210 4 Approximation 0.167872 -15211 8 Correct 0.02528 -15212 7 Energy 0.054464 -15213 9 Predict 0.144992 -15214 0 Sorting 3.24026 -15215 1 Data reordering 0.16432 -15216 2 Tree-construction 0.957824 -15217 11 Memory 0.001888 -15218 3 Compute properties 0.21856 -15219 10 setActiveGrpsFunc 0.067808 -15220 4 Approximation 0.167584 -15221 8 Correct 0.02512 -15222 7 Energy 0.048672 -15223 9 Predict 0.145152 -15224 0 Sorting 3.2343 -15225 1 Data reordering 0.229472 -15226 2 Tree-construction 0.990976 -15227 11 Memory 0.00192 -15228 3 Compute properties 0.221536 -15229 10 setActiveGrpsFunc 0.068768 -15230 4 Approximation 0.168064 -15231 8 Correct 0.025248 -15232 7 Energy 0.048736 -15233 9 Predict 0.145248 -15234 0 Sorting 3.23558 -15235 1 Data reordering 0.164416 -15236 2 Tree-construction 0.956576 -15237 11 Memory 0.001888 -15238 3 Compute properties 0.215392 -15239 10 setActiveGrpsFunc 0.07488 -15240 4 Approximation 0.169536 -15241 8 Correct 0.025056 -15242 7 Energy 0.048256 -15243 9 Predict 0.145152 -15244 0 Sorting 3.32051 -15245 1 Data reordering 0.16528 -15246 2 Tree-construction 0.960704 -15247 11 Memory 0.001888 -15248 3 Compute properties 0.206816 -15249 10 setActiveGrpsFunc 0.067776 -15250 4 Approximation 0.168896 -15251 8 Correct 0.025344 -15252 7 Energy 0.049024 -15253 9 Predict 0.144736 -15254 0 Sorting 3.23686 -15255 1 Data reordering 0.173792 -15256 2 Tree-construction 0.957152 -15257 11 Memory 0.001888 -15258 3 Compute properties 0.206528 -15259 10 setActiveGrpsFunc 0.067744 -15260 4 Approximation 0.16768 -15261 8 Correct 0.025088 -15262 7 Energy 0.048192 -15263 9 Predict 0.144352 -15264 0 Sorting 3.29654 -15265 1 Data reordering 0.164512 -15266 2 Tree-construction 0.964416 -15267 11 Memory 0.010464 -15268 3 Compute properties 0.215008 -15269 10 setActiveGrpsFunc 0.067968 -15270 4 Approximation 0.167648 -15271 8 Correct 0.025152 -15272 7 Energy 0.048512 -15273 9 Predict 0.144096 -15274 0 Sorting 3.24221 -15275 1 Data reordering 0.164128 -15276 2 Tree-construction 0.955552 -15277 11 Memory 0.001888 -15278 3 Compute properties 0.21824 -15279 10 setActiveGrpsFunc 0.068096 -15280 4 Approximation 0.167968 -15281 8 Correct 0.025184 -15282 7 Energy 0.047712 -15283 9 Predict 0.144672 -15284 0 Sorting 3.31414 -15285 1 Data reordering 0.165248 -15286 2 Tree-construction 0.959584 -15287 11 Memory 0.001888 -15288 3 Compute properties 0.213664 -15289 10 setActiveGrpsFunc 0.067712 -15290 4 Approximation 0.168256 -15291 8 Correct 0.025152 -15292 7 Energy 0.048736 -15293 9 Predict 0.144192 -15294 0 Sorting 3.38637 -15295 1 Data reordering 0.165216 -15296 2 Tree-construction 1.03226 -15297 11 Memory 0.001952 -15298 3 Compute properties 0.302592 -15299 10 setActiveGrpsFunc 0.1088 -15300 4 Approximation 0.18384 -15301 8 Correct 0.034368 -15302 7 Energy 0.067072 -15303 9 Predict 0.191904 -15304 0 Sorting 3.68288 -15305 1 Data reordering 0.165824 -15306 2 Tree-construction 0.982592 -15307 11 Memory 0.001888 -15308 3 Compute properties 0.198016 -15309 10 setActiveGrpsFunc 0.068352 -15310 4 Approximation 0.159808 -15311 8 Correct 0.02528 -15312 7 Energy 0.048928 -15313 9 Predict 0.181056 -15314 0 Sorting 3.27037 -15315 1 Data reordering 0.17392 -15316 2 Tree-construction 0.958176 -15317 11 Memory 0.001888 -15318 3 Compute properties 0.246496 -15319 10 setActiveGrpsFunc 0.079488 -15320 4 Approximation 0.168736 -15321 8 Correct 0.025056 -15322 7 Energy 0.04864 -15323 9 Predict 0.144448 -15324 0 Sorting 3.24678 -15325 1 Data reordering 0.164672 -15326 2 Tree-construction 0.957376 -15327 11 Memory 0.00192 -15328 3 Compute properties 0.227424 -15329 10 setActiveGrpsFunc 0.068128 -15330 4 Approximation 0.166304 -15331 8 Correct 0.02512 -15332 7 Energy 0.048192 -15333 9 Predict 0.144512 -15334 0 Sorting 3.23568 -15335 1 Data reordering 0.163904 -15336 2 Tree-construction 0.989984 -15337 11 Memory 0.001888 -15338 3 Compute properties 0.218048 -15339 10 setActiveGrpsFunc 0.067904 -15340 4 Approximation 0.168896 -15341 8 Correct 0.025088 -15342 7 Energy 0.04848 -15343 9 Predict 0.15536 -15344 0 Sorting 3.24688 -15345 1 Data reordering 0.164224 -15346 2 Tree-construction 0.9584 -15347 11 Memory 0.001888 -15348 3 Compute properties 0.216448 -15349 10 setActiveGrpsFunc 0.068192 -15350 4 Approximation 0.168928 -15351 8 Correct 0.025248 -15352 7 Energy 0.04848 -15353 9 Predict 0.144864 -15354 0 Sorting 3.24736 -15355 1 Data reordering 0.163872 -15356 2 Tree-construction 0.94608 -15357 11 Memory 0.00192 -15358 3 Compute properties 0.19824 -15359 10 setActiveGrpsFunc 0.06816 -15360 4 Approximation 0.160256 -15361 8 Correct 0.025216 -15362 7 Energy 0.048096 -15363 9 Predict 0.144608 -15364 0 Sorting 3.24269 -15365 1 Data reordering 0.164288 -15366 2 Tree-construction 0.960416 -15367 11 Memory 0.001856 -15368 3 Compute properties 0.214208 -15369 10 setActiveGrpsFunc 0.068224 -15370 4 Approximation 0.168192 -15371 8 Correct 0.025184 -15372 7 Energy 0.048672 -15373 9 Predict 0.144416 -15374 0 Sorting 3.27536 -15375 1 Data reordering 0.17424 -15376 2 Tree-construction 0.962464 -15377 11 Memory 0.001888 -15378 3 Compute properties 0.20576 -15379 10 setActiveGrpsFunc 0.067968 -15380 4 Approximation 0.168576 -15381 8 Correct 0.025312 -15382 7 Energy 0.04832 -15383 9 Predict 0.144224 -15384 0 Sorting 3.23251 -15385 1 Data reordering 0.164128 -15386 2 Tree-construction 0.966752 -15387 11 Memory 0.00192 -15388 3 Compute properties 0.21392 -15389 10 setActiveGrpsFunc 0.068 -15390 4 Approximation 0.16816 -15391 8 Correct 0.025152 -15392 7 Energy 0.048384 -15393 9 Predict 0.144512 -15394 0 Sorting 3.3385 -15395 1 Data reordering 0.165216 -15396 2 Tree-construction 0.967616 -15397 11 Memory 0.001888 -15398 3 Compute properties 0.214112 -15399 10 setActiveGrpsFunc 0.068032 -15400 4 Approximation 0.168352 -15401 8 Correct 0.025152 -15402 7 Energy 0.048096 -15403 9 Predict 0.144448 -15404 0 Sorting 3.24176 -15405 1 Data reordering 0.164352 -15406 2 Tree-construction 0.953888 -15407 11 Memory 0.001888 -15408 3 Compute properties 0.203808 -15409 10 setActiveGrpsFunc 0.067584 -15410 4 Approximation 0.167744 -15411 8 Correct 0.024928 -15412 7 Energy 0.04832 -15413 9 Predict 0.144352 -15414 0 Sorting 3.29984 -15415 1 Data reordering 0.164768 -15416 2 Tree-construction 0.964576 -15417 11 Memory 0.001888 -15418 3 Compute properties 0.20592 -15419 10 setActiveGrpsFunc 0.067744 -15420 4 Approximation 0.167968 -15421 8 Correct 0.025216 -15422 7 Energy 0.048832 -15423 9 Predict 0.144288 -15424 0 Sorting 3.23338 -15425 1 Data reordering 0.164064 -15426 2 Tree-construction 0.95712 -15427 11 Memory 0.001856 -15428 3 Compute properties 0.213792 -15429 10 setActiveGrpsFunc 0.06848 -15430 4 Approximation 0.168096 -15431 8 Correct 0.024928 -15432 7 Energy 0.048352 -15433 9 Predict 0.144224 -15434 0 Sorting 3.27546 -15435 1 Data reordering 0.165408 -15436 2 Tree-construction 0.961984 -15437 11 Memory 0.001952 -15438 3 Compute properties 0.21648 -15439 10 setActiveGrpsFunc 0.068064 -15440 4 Approximation 0.169152 -15441 8 Correct 0.025056 -15442 7 Energy 0.048032 -15443 9 Predict 0.144672 -15444 0 Sorting 3.24413 -15445 1 Data reordering 0.164064 -15446 2 Tree-construction 0.959264 -15447 11 Memory 0.00192 -15448 3 Compute properties 0.219392 -15449 10 setActiveGrpsFunc 0.068288 -15450 4 Approximation 0.167584 -15451 8 Correct 0.024928 -15452 7 Energy 0.048096 -15453 9 Predict 0.144512 -15454 0 Sorting 3.28883 -15455 1 Data reordering 0.164896 -15456 2 Tree-construction 0.886176 -15457 11 Memory 0.00192 -15458 3 Compute properties 0.198816 -15459 10 setActiveGrpsFunc 0.067456 -15460 4 Approximation 0.159808 -15461 8 Correct 0.025024 -15462 7 Energy 0.048512 -15463 9 Predict 0.145024 -15464 0 Sorting 3.24835 -15465 1 Data reordering 0.163904 -15466 2 Tree-construction 0.888992 -15467 11 Memory 0.00192 -15468 3 Compute properties 0.197536 -15469 10 setActiveGrpsFunc 0.067904 -15470 4 Approximation 0.158688 -15471 8 Correct 0.025088 -15472 7 Energy 0.048096 -15473 9 Predict 0.144576 -15474 0 Sorting 3.28493 -15475 1 Data reordering 0.164992 -15476 2 Tree-construction 0.968288 -15477 11 Memory 0.001888 -15478 3 Compute properties 0.220192 -15479 10 setActiveGrpsFunc 0.06864 -15480 4 Approximation 0.168288 -15481 8 Correct 0.025152 -15482 7 Energy 0.04832 -15483 9 Predict 0.14432 -15484 0 Sorting 3.23872 -15485 1 Data reordering 0.163904 -15486 2 Tree-construction 0.957856 -15487 11 Memory 0.001888 -15488 3 Compute properties 0.218432 -15489 10 setActiveGrpsFunc 0.067936 -15490 4 Approximation 0.167776 -15491 8 Correct 0.02512 -15492 7 Energy 0.04816 -15493 9 Predict 0.15728 -15494 0 Sorting 3.2576 -15495 1 Data reordering 0.164608 -15496 2 Tree-construction 0.961056 -15497 11 Memory 0.001888 -15498 3 Compute properties 0.21728 -15499 10 setActiveGrpsFunc 0.068 -15500 4 Approximation 0.167904 -15501 8 Correct 0.025184 -15502 7 Energy 0.048512 -15503 9 Predict 0.144672 -15504 0 Sorting 3.24621 -15505 1 Data reordering 0.16384 -15506 2 Tree-construction 0.960032 -15507 11 Memory 0.001888 -15508 3 Compute properties 0.232448 -15509 10 setActiveGrpsFunc 0.06912 -15510 4 Approximation 0.16832 -15511 8 Correct 0.025184 -15512 7 Energy 0.048416 -15513 9 Predict 0.144864 -15514 0 Sorting 3.25408 -15515 1 Data reordering 0.16432 -15516 2 Tree-construction 0.959392 -15517 11 Memory 0.001888 -15518 3 Compute properties 0.208544 -15519 10 setActiveGrpsFunc 0.067552 -15520 4 Approximation 0.167936 -15521 8 Correct 0.02496 -15522 7 Energy 0.04816 -15523 9 Predict 0.14416 -15524 0 Sorting 3.45498 -15525 1 Data reordering 0.228992 -15526 2 Tree-construction 1.24278 -15527 11 Memory 0.001888 -15528 3 Compute properties 0.22016 -15529 10 setActiveGrpsFunc 0.06832 -15530 4 Approximation 0.168736 -15531 8 Correct 0.025248 -15532 7 Energy 0.049312 -15533 9 Predict 0.1456 -15534 0 Sorting 3.23581 -15535 1 Data reordering 0.164704 -15536 2 Tree-construction 0.965568 -15537 11 Memory 0.001888 -15538 3 Compute properties 0.21328 -15539 10 setActiveGrpsFunc 0.068448 -15540 4 Approximation 0.167968 -15541 8 Correct 0.02512 -15542 7 Energy 0.048352 -15543 9 Predict 0.143968 -15544 0 Sorting 3.27248 -15545 1 Data reordering 0.164544 -15546 2 Tree-construction 0.966976 -15547 11 Memory 0.00192 -15548 3 Compute properties 0.214944 -15549 10 setActiveGrpsFunc 0.067904 -15550 4 Approximation 0.167712 -15551 8 Correct 0.02528 -15552 7 Energy 0.048192 -15553 9 Predict 0.144192 -15554 0 Sorting 3.23968 -15555 1 Data reordering 0.164736 -15556 2 Tree-construction 0.957728 -15557 11 Memory 0.00192 -15558 3 Compute properties 0.214176 -15559 10 setActiveGrpsFunc 0.067776 -15560 4 Approximation 0.167808 -15561 8 Correct 0.025312 -15562 7 Energy 0.047744 -15563 9 Predict 0.144768 -15564 0 Sorting 3.27718 -15565 1 Data reordering 0.164416 -15566 2 Tree-construction 0.968608 -15567 11 Memory 0.001952 -15568 3 Compute properties 0.217728 -15569 10 setActiveGrpsFunc 0.067936 -15570 4 Approximation 0.167744 -15571 8 Correct 0.025088 -15572 7 Energy 0.048608 -15573 9 Predict 0.14464 -15574 0 Sorting 3.24566 -15575 1 Data reordering 0.164448 -15576 2 Tree-construction 0.95744 -15577 11 Memory 0.00192 -15578 3 Compute properties 0.20768 -15579 10 setActiveGrpsFunc 0.06784 -15580 4 Approximation 0.16768 -15581 8 Correct 0.024896 -15582 7 Energy 0.048 -15583 9 Predict 0.144032 -15584 0 Sorting 3.29926 -15585 1 Data reordering 0.165024 -15586 2 Tree-construction 0.88608 -15587 11 Memory 0.00192 -15588 3 Compute properties 0.186944 -15589 10 setActiveGrpsFunc 0.06816 -15590 4 Approximation 0.160288 -15591 8 Correct 0.025088 -15592 7 Energy 0.049056 -15593 9 Predict 0.144128 -15594 0 Sorting 3.24317 -15595 1 Data reordering 0.16448 -15596 2 Tree-construction 0.885408 -15597 11 Memory 0.00192 -15598 3 Compute properties 0.187264 -15599 10 setActiveGrpsFunc 0.067488 -15600 4 Approximation 0.16 -15601 8 Correct 0.025024 -15602 7 Energy 0.04784 -15603 9 Predict 0.144288 -15604 0 Sorting 3.28326 -15605 1 Data reordering 0.164736 -15606 2 Tree-construction 0.884352 -15607 11 Memory 0.001888 -15608 3 Compute properties 0.187168 -15609 10 setActiveGrpsFunc 0.067552 -15610 4 Approximation 0.160064 -15611 8 Correct 0.02496 -15612 7 Energy 0.048416 -15613 9 Predict 0.14448 -15614 0 Sorting 3.25613 -15615 1 Data reordering 0.1648 -15616 2 Tree-construction 0.957248 -15617 11 Memory 0.00192 -15618 3 Compute properties 0.21776 -15619 10 setActiveGrpsFunc 0.068224 -15620 4 Approximation 0.167776 -15621 8 Correct 0.024992 -15622 7 Energy 0.048384 -15623 9 Predict 0.144736 -15624 0 Sorting 3.27043 -15625 1 Data reordering 0.164928 -15626 2 Tree-construction 0.960992 -15627 11 Memory 0.001888 -15628 3 Compute properties 0.207808 -15629 10 setActiveGrpsFunc 0.06752 -15630 4 Approximation 0.167808 -15631 8 Correct 0.024928 -15632 7 Energy 0.04848 -15633 9 Predict 0.14416 -15634 0 Sorting 3.24214 -15635 1 Data reordering 0.16448 -15636 2 Tree-construction 0.884736 -15637 11 Memory 0.001888 -15638 3 Compute properties 0.196992 -15639 10 setActiveGrpsFunc 0.07136 -15640 4 Approximation 0.159008 -15641 8 Correct 0.02496 -15642 7 Energy 0.048544 -15643 9 Predict 0.144352 -15644 0 Sorting 3.29571 -15645 1 Data reordering 0.164736 -15646 2 Tree-construction 0.958464 -15647 11 Memory 0.001888 -15648 3 Compute properties 0.217952 -15649 10 setActiveGrpsFunc 0.068064 -15650 4 Approximation 0.167968 -15651 8 Correct 0.025184 -15652 7 Energy 0.04816 -15653 9 Predict 0.144512 -15654 0 Sorting 3.25168 -15655 1 Data reordering 0.164704 -15656 2 Tree-construction 0.955648 -15657 11 Memory 0.00192 -15658 3 Compute properties 0.208544 -15659 10 setActiveGrpsFunc 0.067328 -15660 4 Approximation 0.167552 -15661 8 Correct 0.025376 -15662 7 Energy 0.047712 -15663 9 Predict 0.144928 -15664 0 Sorting 3.28902 -15665 1 Data reordering 0.164896 -15666 2 Tree-construction 0.956032 -15667 11 Memory 0.00192 -15668 3 Compute properties 0.208768 -15669 10 setActiveGrpsFunc 0.067936 -15670 4 Approximation 0.167808 -15671 8 Correct 0.025184 -15672 7 Energy 0.048064 -15673 9 Predict 0.144608 -15674 0 Sorting 3.24054 -15675 1 Data reordering 0.164512 -15676 2 Tree-construction 0.956096 -15677 11 Memory 0.00192 -15678 3 Compute properties 0.207648 -15679 10 setActiveGrpsFunc 0.067584 -15680 4 Approximation 0.174816 -15681 8 Correct 0.025408 -15682 7 Energy 0.057152 -15683 9 Predict 0.145184 -15684 0 Sorting 3.25462 -15685 1 Data reordering 0.167936 -15686 2 Tree-construction 0.970592 -15687 11 Memory 0.001888 -15688 3 Compute properties 0.217152 -15689 10 setActiveGrpsFunc 0.068032 -15690 4 Approximation 0.168416 -15691 8 Correct 0.025344 -15692 7 Energy 0.04896 -15693 9 Predict 0.144192 -15694 0 Sorting 3.24746 -15695 1 Data reordering 0.164032 -15696 2 Tree-construction 0.989344 -15697 11 Memory 0.001888 -15698 3 Compute properties 0.221248 -15699 10 setActiveGrpsFunc 0.06832 -15700 4 Approximation 0.170656 -15701 8 Correct 0.02528 -15702 7 Energy 0.048608 -15703 9 Predict 0.144544 -15704 0 Sorting 3.24883 -15705 1 Data reordering 0.16448 -15706 2 Tree-construction 0.958432 -15707 11 Memory 0.001888 -15708 3 Compute properties 0.217184 -15709 10 setActiveGrpsFunc 0.067936 -15710 4 Approximation 0.167904 -15711 8 Correct 0.025152 -15712 7 Energy 0.048 -15713 9 Predict 0.144096 -15714 0 Sorting 3.24781 -15715 1 Data reordering 0.163776 -15716 2 Tree-construction 0.998432 -15717 11 Memory 0.001888 -15718 3 Compute properties 0.21776 -15719 10 setActiveGrpsFunc 0.068352 -15720 4 Approximation 0.167264 -15721 8 Correct 0.025184 -15722 7 Energy 0.049024 -15723 9 Predict 0.144736 -15724 0 Sorting 3.24794 -15725 1 Data reordering 0.16448 -15726 2 Tree-construction 0.958592 -15727 11 Memory 0.001888 -15728 3 Compute properties 0.217152 -15729 10 setActiveGrpsFunc 0.06768 -15730 4 Approximation 0.167456 -15731 8 Correct 0.02528 -15732 7 Energy 0.048096 -15733 9 Predict 0.144896 -15734 0 Sorting 3.2664 -15735 1 Data reordering 0.175264 -15736 2 Tree-construction 0.958784 -15737 11 Memory 0.001888 -15738 3 Compute properties 0.22096 -15739 10 setActiveGrpsFunc 0.068128 -15740 4 Approximation 0.167296 -15741 8 Correct 0.024992 -15742 7 Energy 0.048032 -15743 9 Predict 0.14464 -15744 0 Sorting 3.23846 -15745 1 Data reordering 0.164576 -15746 2 Tree-construction 0.96432 -15747 11 Memory 0.00192 -15748 3 Compute properties 0.218336 -15749 10 setActiveGrpsFunc 0.067936 -15750 4 Approximation 0.167424 -15751 8 Correct 0.025056 -15752 7 Energy 0.04832 -15753 9 Predict 0.14416 -15754 0 Sorting 3.76906 -15755 1 Data reordering 0.166048 -15756 2 Tree-construction 0.95984 -15757 11 Memory 0.00192 -15758 3 Compute properties 0.21136 -15759 10 setActiveGrpsFunc 0.068192 -15760 4 Approximation 0.167808 -15761 8 Correct 0.025088 -15762 7 Energy 0.048416 -15763 9 Predict 0.145856 -15764 0 Sorting 3.25632 -15765 1 Data reordering 0.164384 -15766 2 Tree-construction 0.956992 -15767 11 Memory 0.00192 -15768 3 Compute properties 0.21792 -15769 10 setActiveGrpsFunc 0.091168 -15770 4 Approximation 0.170176 -15771 8 Correct 0.025312 -15772 7 Energy 0.04912 -15773 9 Predict 0.145056 -15774 0 Sorting 3.28627 -15775 1 Data reordering 0.165568 -15776 2 Tree-construction 0.966208 -15777 11 Memory 0.00192 -15778 3 Compute properties 0.22064 -15779 10 setActiveGrpsFunc 0.068256 -15780 4 Approximation 0.165312 -15781 8 Correct 0.025056 -15782 7 Energy 0.0488 -15783 9 Predict 0.14464 -15784 0 Sorting 3.26026 -15785 1 Data reordering 0.16496 -15786 2 Tree-construction 0.956768 -15787 11 Memory 0.001888 -15788 3 Compute properties 0.211072 -15789 10 setActiveGrpsFunc 0.067456 -15790 4 Approximation 0.167808 -15791 8 Correct 0.025152 -15792 7 Energy 0.048448 -15793 9 Predict 0.143488 -15794 0 Sorting 3.3088 -15795 1 Data reordering 0.164928 -15796 2 Tree-construction 0.955552 -15797 11 Memory 0.001888 -15798 3 Compute properties 0.219712 -15799 10 setActiveGrpsFunc 0.067872 -15800 4 Approximation 0.167328 -15801 8 Correct 0.025056 -15802 7 Energy 0.048256 -15803 9 Predict 0.144576 -15804 0 Sorting 3.24496 -15805 1 Data reordering 0.1648 -15806 2 Tree-construction 0.9592 -15807 11 Memory 0.001888 -15808 3 Compute properties 0.217312 -15809 10 setActiveGrpsFunc 0.067744 -15810 4 Approximation 0.167904 -15811 8 Correct 0.025056 -15812 7 Energy 0.04816 -15813 9 Predict 0.145056 -15814 0 Sorting 3.30186 -15815 1 Data reordering 0.164704 -15816 2 Tree-construction 0.958944 -15817 11 Memory 0.001888 -15818 3 Compute properties 0.215392 -15819 10 setActiveGrpsFunc 0.067904 -15820 4 Approximation 0.168256 -15821 8 Correct 0.025056 -15822 7 Energy 0.04832 -15823 9 Predict 0.144544 -15824 0 Sorting 3.2449 -15825 1 Data reordering 0.164128 -15826 2 Tree-construction 0.959648 -15827 11 Memory 0.001888 -15828 3 Compute properties 0.21696 -15829 10 setActiveGrpsFunc 0.068096 -15830 4 Approximation 0.167712 -15831 8 Correct 0.025312 -15832 7 Energy 0.048896 -15833 9 Predict 0.1768 -15834 0 Sorting 3.2672 -15835 1 Data reordering 0.16432 -15836 2 Tree-construction 0.969056 -15837 11 Memory 0.00192 -15838 3 Compute properties 0.217312 -15839 10 setActiveGrpsFunc 0.067808 -15840 4 Approximation 0.168 -15841 8 Correct 0.025184 -15842 7 Energy 0.048608 -15843 9 Predict 0.145984 -15844 0 Sorting 3.23485 -15845 1 Data reordering 0.165312 -15846 2 Tree-construction 0.960096 -15847 11 Memory 0.001888 -15848 3 Compute properties 0.257312 -15849 10 setActiveGrpsFunc 0.068896 -15850 4 Approximation 0.168928 -15851 8 Correct 0.02512 -15852 7 Energy 0.04912 -15853 9 Predict 0.1648 -15854 0 Sorting 3.26406 -15855 1 Data reordering 0.164544 -15856 2 Tree-construction 0.958048 -15857 11 Memory 0.00192 -15858 3 Compute properties 0.210176 -15859 10 setActiveGrpsFunc 0.06768 -15860 4 Approximation 0.167552 -15861 8 Correct 0.02528 -15862 7 Energy 0.047968 -15863 9 Predict 0.14416 -15864 0 Sorting 3.24506 -15865 1 Data reordering 0.164512 -15866 2 Tree-construction 0.994496 -15867 11 Memory 0.00192 -15868 3 Compute properties 0.229568 -15869 10 setActiveGrpsFunc 0.068992 -15870 4 Approximation 0.167712 -15871 8 Correct 0.025216 -15872 7 Energy 0.048608 -15873 9 Predict 0.144576 -15874 0 Sorting 3.24464 -15875 1 Data reordering 0.164576 -15876 2 Tree-construction 0.9576 -15877 11 Memory 0.00192 -15878 3 Compute properties 0.218176 -15879 10 setActiveGrpsFunc 0.067776 -15880 4 Approximation 0.167744 -15881 8 Correct 0.025056 -15882 7 Energy 0.048256 -15883 9 Predict 0.144416 -15884 0 Sorting 3.24611 -15885 1 Data reordering 0.190048 -15886 2 Tree-construction 0.99088 -15887 11 Memory 0.001888 -15888 3 Compute properties 0.216 -15889 10 setActiveGrpsFunc 0.068032 -15890 4 Approximation 0.168064 -15891 8 Correct 0.02496 -15892 7 Energy 0.048864 -15893 9 Predict 0.144992 -15894 0 Sorting 3.33856 -15895 1 Data reordering 0.16464 -15896 2 Tree-construction 0.963648 -15897 11 Memory 0.001888 -15898 3 Compute properties 0.218752 -15899 10 setActiveGrpsFunc 0.068032 -15900 4 Approximation 0.168896 -15901 8 Correct 0.025056 -15902 7 Energy 0.048448 -15903 9 Predict 0.14512 -15904 0 Sorting 3.28083 -15905 1 Data reordering 0.17888 -15906 2 Tree-construction 1.00842 -15907 11 Memory 0.00192 -15908 3 Compute properties 0.297376 -15909 10 setActiveGrpsFunc 0.090336 -15910 4 Approximation 0.195072 -15911 8 Correct 0.034464 -15912 7 Energy 0.068096 -15913 9 Predict 0.192672 -15914 0 Sorting 3.59462 -15915 1 Data reordering 0.165568 -15916 2 Tree-construction 0.95888 -15917 11 Memory 0.001888 -15918 3 Compute properties 0.220032 -15919 10 setActiveGrpsFunc 0.068032 -15920 4 Approximation 0.16896 -15921 8 Correct 0.025248 -15922 7 Energy 0.05824 -15923 9 Predict 0.186048 -15924 0 Sorting 3.33408 -15925 1 Data reordering 0.165184 -15926 2 Tree-construction 0.959168 -15927 11 Memory 0.001888 -15928 3 Compute properties 0.220928 -15929 10 setActiveGrpsFunc 0.068128 -15930 4 Approximation 0.168256 -15931 8 Correct 0.025024 -15932 7 Energy 0.048736 -15933 9 Predict 0.144736 -15934 0 Sorting 3.25011 -15935 1 Data reordering 0.197696 -15936 2 Tree-construction 1.08298 -15937 11 Memory 0.001888 -15938 3 Compute properties 0.245472 -15939 10 setActiveGrpsFunc 0.073568 -15940 4 Approximation 0.16928 -15941 8 Correct 0.025088 -15942 7 Energy 0.048352 -15943 9 Predict 0.1448 -15944 0 Sorting 3.32474 -15945 1 Data reordering 0.165088 -15946 2 Tree-construction 0.9592 -15947 11 Memory 0.001888 -15948 3 Compute properties 0.209696 -15949 10 setActiveGrpsFunc 0.068 -15950 4 Approximation 0.168928 -15951 8 Correct 0.025088 -15952 7 Energy 0.048384 -15953 9 Predict 0.144128 -15954 0 Sorting 3.24941 -15955 1 Data reordering 0.16448 -15956 2 Tree-construction 0.958272 -15957 11 Memory 0.001888 -15958 3 Compute properties 0.258656 -15959 10 setActiveGrpsFunc 0.069536 -15960 4 Approximation 0.169184 -15961 8 Correct 0.025248 -15962 7 Energy 0.048896 -15963 9 Predict 0.17088 -15964 0 Sorting 3.28803 -15965 1 Data reordering 0.164608 -15966 2 Tree-construction 0.957664 -15967 11 Memory 0.00192 -15968 3 Compute properties 0.219136 -15969 10 setActiveGrpsFunc 0.06816 -15970 4 Approximation 0.169216 -15971 8 Correct 0.025312 -15972 7 Energy 0.048416 -15973 9 Predict 0.144992 -15974 0 Sorting 3.24899 -15975 1 Data reordering 0.165248 -15976 2 Tree-construction 0.918944 -15977 11 Memory 0.001888 -15978 3 Compute properties 0.216768 -15979 10 setActiveGrpsFunc 0.080224 -15980 4 Approximation 0.160704 -15981 8 Correct 0.025152 -15982 7 Energy 0.048512 -15983 9 Predict 0.168224 -15984 0 Sorting 3.25405 -15985 1 Data reordering 0.1744 -15986 2 Tree-construction 0.96016 -15987 11 Memory 0.001888 -15988 3 Compute properties 0.217056 -15989 10 setActiveGrpsFunc 0.068128 -15990 4 Approximation 0.169056 -15991 8 Correct 0.025216 -15992 7 Energy 0.048064 -15993 9 Predict 0.14512 -15994 0 Sorting 3.25459 -15995 1 Data reordering 0.164832 -15996 2 Tree-construction 0.995008 -15997 11 Memory 0.00192 -15998 3 Compute properties 0.253216 -15999 10 setActiveGrpsFunc 0.068992 -16000 4 Approximation 0.168 -16001 8 Correct 0.025248 -16002 7 Energy 0.04816 -16003 9 Predict 0.144576 -16004 0 Sorting 3.23984 -16005 1 Data reordering 0.164704 -16006 2 Tree-construction 0.957664 -16007 11 Memory 0.001888 -16008 3 Compute properties 0.214528 -16009 10 setActiveGrpsFunc 0.068 -16010 4 Approximation 0.168992 -16011 8 Correct 0.025248 -16012 7 Energy 0.048288 -16013 9 Predict 0.144256 -16014 0 Sorting 3.25741 -16015 1 Data reordering 0.190816 -16016 2 Tree-construction 1.01504 -16017 11 Memory 0.00192 -16018 3 Compute properties 0.218848 -16019 10 setActiveGrpsFunc 0.068448 -16020 4 Approximation 0.168192 -16021 8 Correct 0.02512 -16022 7 Energy 0.048544 -16023 9 Predict 0.145056 -16024 0 Sorting 3.24691 -16025 1 Data reordering 0.164096 -16026 2 Tree-construction 0.929824 -16027 11 Memory 0.001888 -16028 3 Compute properties 0.196384 -16029 10 setActiveGrpsFunc 0.069248 -16030 4 Approximation 0.160416 -16031 8 Correct 0.025248 -16032 7 Energy 0.048384 -16033 9 Predict 0.145184 -16034 0 Sorting 3.28525 -16035 1 Data reordering 0.183872 -16036 2 Tree-construction 0.92112 -16037 11 Memory 0.001888 -16038 3 Compute properties 0.195552 -16039 10 setActiveGrpsFunc 0.068064 -16040 4 Approximation 0.160288 -16041 8 Correct 0.025024 -16042 7 Energy 0.04832 -16043 9 Predict 0.1448 -16044 0 Sorting 3.25242 -16045 1 Data reordering 0.1744 -16046 2 Tree-construction 0.888128 -16047 11 Memory 0.00192 -16048 3 Compute properties 0.187488 -16049 10 setActiveGrpsFunc 0.067776 -16050 4 Approximation 0.160128 -16051 8 Correct 0.025248 -16052 7 Energy 0.048416 -16053 9 Predict 0.145344 -16054 0 Sorting 3.28662 -16055 1 Data reordering 0.164864 -16056 2 Tree-construction 0.88512 -16057 11 Memory 0.00192 -16058 3 Compute properties 0.187392 -16059 10 setActiveGrpsFunc 0.067872 -16060 4 Approximation 0.160096 -16061 8 Correct 0.02512 -16062 7 Energy 0.04832 -16063 9 Predict 0.144928 -16064 0 Sorting 3.26374 -16065 1 Data reordering 0.16528 -16066 2 Tree-construction 0.888736 -16067 11 Memory 0.001888 -16068 3 Compute properties 0.186912 -16069 10 setActiveGrpsFunc 0.068288 -16070 4 Approximation 0.160032 -16071 8 Correct 0.025152 -16072 7 Energy 0.048352 -16073 9 Predict 0.14528 -16074 0 Sorting 3.27565 -16075 1 Data reordering 0.164608 -16076 2 Tree-construction 0.884192 -16077 11 Memory 0.001888 -16078 3 Compute properties 0.187104 -16079 10 setActiveGrpsFunc 0.067616 -16080 4 Approximation 0.16 -16081 8 Correct 0.02512 -16082 7 Energy 0.047936 -16083 9 Predict 0.145056 -16084 0 Sorting 3.26541 -16085 1 Data reordering 0.16496 -16086 2 Tree-construction 0.888512 -16087 11 Memory 0.001888 -16088 3 Compute properties 0.187456 -16089 10 setActiveGrpsFunc 0.068032 -16090 4 Approximation 0.160096 -16091 8 Correct 0.025216 -16092 7 Energy 0.048512 -16093 9 Predict 0.144416 -16094 0 Sorting 3.28563 -16095 1 Data reordering 0.164384 -16096 2 Tree-construction 0.95648 -16097 11 Memory 0.001888 -16098 3 Compute properties 0.21968 -16099 10 setActiveGrpsFunc 0.077664 -16100 4 Approximation 0.18528 -16101 8 Correct 0.025472 -16102 7 Energy 0.048768 -16103 9 Predict 0.144992 -16104 0 Sorting 3.22832 -16105 1 Data reordering 0.164704 -16106 2 Tree-construction 0.898624 -16107 11 Memory 0.001888 -16108 3 Compute properties 0.196064 -16109 10 setActiveGrpsFunc 0.067744 -16110 4 Approximation 0.160224 -16111 8 Correct 0.025056 -16112 7 Energy 0.048608 -16113 9 Predict 0.144832 -16114 0 Sorting 3.28986 -16115 1 Data reordering 0.168352 -16116 2 Tree-construction 0.973856 -16117 11 Memory 0.00192 -16118 3 Compute properties 0.215712 -16119 10 setActiveGrpsFunc 0.068736 -16120 4 Approximation 0.169376 -16121 8 Correct 0.025216 -16122 7 Energy 0.048224 -16123 9 Predict 0.144352 -16124 0 Sorting 3.25293 -16125 1 Data reordering 0.164704 -16126 2 Tree-construction 0.956928 -16127 11 Memory 0.001888 -16128 3 Compute properties 0.215488 -16129 10 setActiveGrpsFunc 0.067776 -16130 4 Approximation 0.169248 -16131 8 Correct 0.025088 -16132 7 Energy 0.048448 -16133 9 Predict 0.144832 -16134 0 Sorting 3.60678 -16135 1 Data reordering 0.23024 -16136 2 Tree-construction 1.05846 -16137 11 Memory 0.00192 -16138 3 Compute properties 0.217024 -16139 10 setActiveGrpsFunc 0.06848 -16140 4 Approximation 0.168384 -16141 8 Correct 0.025216 -16142 7 Energy 0.048544 -16143 9 Predict 0.145376 -16144 0 Sorting 3.24115 -16145 1 Data reordering 0.16416 -16146 2 Tree-construction 0.958176 -16147 11 Memory 0.00192 -16148 3 Compute properties 0.218976 -16149 10 setActiveGrpsFunc 0.067904 -16150 4 Approximation 0.196224 -16151 8 Correct 0.025696 -16152 7 Energy 0.048544 -16153 9 Predict 0.154816 -16154 0 Sorting 3.24442 -16155 1 Data reordering 0.164736 -16156 2 Tree-construction 0.959296 -16157 11 Memory 0.001888 -16158 3 Compute properties 0.208512 -16159 10 setActiveGrpsFunc 0.067424 -16160 4 Approximation 0.168672 -16161 8 Correct 0.024992 -16162 7 Energy 0.048192 -16163 9 Predict 0.144672 -16164 0 Sorting 3.25738 -16165 1 Data reordering 0.163968 -16166 2 Tree-construction 0.997952 -16167 11 Memory 0.001888 -16168 3 Compute properties 0.214848 -16169 10 setActiveGrpsFunc 0.094048 -16170 4 Approximation 0.169504 -16171 8 Correct 0.025376 -16172 7 Energy 0.04832 -16173 9 Predict 0.144832 -16174 0 Sorting 3.25046 -16175 1 Data reordering 0.165216 -16176 2 Tree-construction 0.956736 -16177 11 Memory 0.001888 -16178 3 Compute properties 0.20432 -16179 10 setActiveGrpsFunc 0.067712 -16180 4 Approximation 0.168704 -16181 8 Correct 0.02496 -16182 7 Energy 0.04864 -16183 9 Predict 0.14496 -16184 0 Sorting 3.2385 -16185 1 Data reordering 0.164736 -16186 2 Tree-construction 1.00554 -16187 11 Memory 0.001888 -16188 3 Compute properties 0.213664 -16189 10 setActiveGrpsFunc 0.068224 -16190 4 Approximation 0.17344 -16191 8 Correct 0.025408 -16192 7 Energy 0.048512 -16193 9 Predict 0.144704 -16194 0 Sorting 3.24051 -16195 1 Data reordering 0.164768 -16196 2 Tree-construction 0.967744 -16197 11 Memory 0.00192 -16198 3 Compute properties 0.21776 -16199 10 setActiveGrpsFunc 0.068096 -16200 4 Approximation 0.167488 -16201 8 Correct 0.025056 -16202 7 Energy 0.048224 -16203 9 Predict 0.14512 -16204 0 Sorting 3.28163 -16205 1 Data reordering 0.164928 -16206 2 Tree-construction 0.961344 -16207 11 Memory 0.00192 -16208 3 Compute properties 0.218912 -16209 10 setActiveGrpsFunc 0.068288 -16210 4 Approximation 0.167232 -16211 8 Correct 0.033472 -16212 7 Energy 0.049344 -16213 9 Predict 0.144736 -16214 0 Sorting 3.23491 -16215 1 Data reordering 0.16464 -16216 2 Tree-construction 0.95632 -16217 11 Memory 0.001888 -16218 3 Compute properties 0.209568 -16219 10 setActiveGrpsFunc 0.067904 -16220 4 Approximation 0.166656 -16221 8 Correct 0.024992 -16222 7 Energy 0.04816 -16223 9 Predict 0.144768 -16224 0 Sorting 3.29603 -16225 1 Data reordering 0.164832 -16226 2 Tree-construction 0.957184 -16227 11 Memory 0.001888 -16228 3 Compute properties 0.217472 -16229 10 setActiveGrpsFunc 0.06816 -16230 4 Approximation 0.169376 -16231 8 Correct 0.025152 -16232 7 Energy 0.048544 -16233 9 Predict 0.14432 -16234 0 Sorting 3.24787 -16235 1 Data reordering 0.164704 -16236 2 Tree-construction 0.956576 -16237 11 Memory 0.001888 -16238 3 Compute properties 0.218944 -16239 10 setActiveGrpsFunc 0.067808 -16240 4 Approximation 0.169152 -16241 8 Correct 0.024992 -16242 7 Energy 0.048224 -16243 9 Predict 0.144992 -16244 0 Sorting 3.28733 -16245 1 Data reordering 0.164544 -16246 2 Tree-construction 0.956224 -16247 11 Memory 0.00192 -16248 3 Compute properties 0.218464 -16249 10 setActiveGrpsFunc 0.06784 -16250 4 Approximation 0.169056 -16251 8 Correct 0.025216 -16252 7 Energy 0.04832 -16253 9 Predict 0.145536 -16254 0 Sorting 3.23872 -16255 1 Data reordering 0.173472 -16256 2 Tree-construction 0.95616 -16257 11 Memory 0.001888 -16258 3 Compute properties 0.220096 -16259 10 setActiveGrpsFunc 0.068288 -16260 4 Approximation 0.167776 -16261 8 Correct 0.02512 -16262 7 Energy 0.048288 -16263 9 Predict 0.144256 -16264 0 Sorting 3.28269 -16265 1 Data reordering 0.164576 -16266 2 Tree-construction 0.956 -16267 11 Memory 0.001888 -16268 3 Compute properties 0.218688 -16269 10 setActiveGrpsFunc 0.078176 -16270 4 Approximation 0.167456 -16271 8 Correct 0.025056 -16272 7 Energy 0.048416 -16273 9 Predict 0.144192 -16274 0 Sorting 3.24429 -16275 1 Data reordering 0.163872 -16276 2 Tree-construction 0.955744 -16277 11 Memory 0.001888 -16278 3 Compute properties 0.218976 -16279 10 setActiveGrpsFunc 0.067712 -16280 4 Approximation 0.166688 -16281 8 Correct 0.02512 -16282 7 Energy 0.048256 -16283 9 Predict 0.145248 -16284 0 Sorting 3.3001 -16285 1 Data reordering 0.169696 -16286 2 Tree-construction 0.888192 -16287 11 Memory 0.001888 -16288 3 Compute properties 0.197472 -16289 10 setActiveGrpsFunc 0.068672 -16290 4 Approximation 0.158112 -16291 8 Correct 0.025152 -16292 7 Energy 0.048768 -16293 9 Predict 0.144864 -16294 0 Sorting 3.24682 -16295 1 Data reordering 0.164352 -16296 2 Tree-construction 0.955136 -16297 11 Memory 0.00192 -16298 3 Compute properties 0.231808 -16299 10 setActiveGrpsFunc 0.06848 -16300 4 Approximation 0.166976 -16301 8 Correct 0.025152 -16302 7 Energy 0.048192 -16303 9 Predict 0.144608 -16304 0 Sorting 3.28045 -16305 1 Data reordering 0.164672 -16306 2 Tree-construction 0.956704 -16307 11 Memory 0.001888 -16308 3 Compute properties 0.21904 -16309 10 setActiveGrpsFunc 0.06816 -16310 4 Approximation 0.168224 -16311 8 Correct 0.02528 -16312 7 Energy 0.04848 -16313 9 Predict 0.14432 -16314 0 Sorting 3.25062 -16315 1 Data reordering 0.163616 -16316 2 Tree-construction 0.956768 -16317 11 Memory 0.001888 -16318 3 Compute properties 0.211104 -16319 10 setActiveGrpsFunc 0.067616 -16320 4 Approximation 0.165312 -16321 8 Correct 0.025216 -16322 7 Energy 0.047776 -16323 9 Predict 0.171232 -16324 0 Sorting 3.25933 -16325 1 Data reordering 0.164128 -16326 2 Tree-construction 0.885408 -16327 11 Memory 0.001888 -16328 3 Compute properties 0.200416 -16329 10 setActiveGrpsFunc 0.068256 -16330 4 Approximation 0.155168 -16331 8 Correct 0.025408 -16332 7 Energy 0.048736 -16333 9 Predict 0.144544 -16334 0 Sorting 3.2519 -16335 1 Data reordering 0.16448 -16336 2 Tree-construction 0.885888 -16337 11 Memory 0.00192 -16338 3 Compute properties 0.20032 -16339 10 setActiveGrpsFunc 0.086336 -16340 4 Approximation 0.159584 -16341 8 Correct 0.025344 -16342 7 Energy 0.048832 -16343 9 Predict 0.144832 -16344 0 Sorting 3.26598 -16345 1 Data reordering 0.17392 -16346 2 Tree-construction 0.884384 -16347 11 Memory 0.001888 -16348 3 Compute properties 0.200576 -16349 10 setActiveGrpsFunc 0.06816 -16350 4 Approximation 0.156192 -16351 8 Correct 0.025088 -16352 7 Energy 0.048384 -16353 9 Predict 0.144832 -16354 0 Sorting 3.24669 -16355 1 Data reordering 0.164288 -16356 2 Tree-construction 0.91136 -16357 11 Memory 0.00192 -16358 3 Compute properties 0.2056 -16359 10 setActiveGrpsFunc 0.068576 -16360 4 Approximation 0.154688 -16361 8 Correct 0.034432 -16362 7 Energy 0.048704 -16363 9 Predict 0.144256 -16364 0 Sorting 3.71974 -16365 1 Data reordering 0.165472 -16366 2 Tree-construction 0.887392 -16367 11 Memory 0.001888 -16368 3 Compute properties 0.199904 -16369 10 setActiveGrpsFunc 0.068256 -16370 4 Approximation 0.155392 -16371 8 Correct 0.025248 -16372 7 Energy 0.049184 -16373 9 Predict 0.1448 -16374 0 Sorting 3.25056 -16375 1 Data reordering 0.163968 -16376 2 Tree-construction 0.914688 -16377 11 Memory 0.001888 -16378 3 Compute properties 0.20864 -16379 10 setActiveGrpsFunc 0.069024 -16380 4 Approximation 0.155552 -16381 8 Correct 0.025024 -16382 7 Energy 0.04832 -16383 9 Predict 0.14448 -16384 0 Sorting 3.25498 -16385 1 Data reordering 0.164704 -16386 2 Tree-construction 0.88608 -16387 11 Memory 0.00192 -16388 3 Compute properties 0.198048 -16389 10 setActiveGrpsFunc 0.068288 -16390 4 Approximation 0.157408 -16391 8 Correct 0.025056 -16392 7 Energy 0.048576 -16393 9 Predict 0.14464 -16394 0 Sorting 3.28205 -16395 1 Data reordering 0.164992 -16396 2 Tree-construction 0.98768 -16397 11 Memory 0.001888 -16398 3 Compute properties 0.22256 -16399 10 setActiveGrpsFunc 0.068672 -16400 4 Approximation 0.166016 -16401 8 Correct 0.025248 -16402 7 Energy 0.04784 -16403 9 Predict 0.144192 -16404 0 Sorting 3.23875 -16405 1 Data reordering 0.164224 -16406 2 Tree-construction 0.966784 -16407 11 Memory 0.001984 -16408 3 Compute properties 0.217984 -16409 10 setActiveGrpsFunc 0.067936 -16410 4 Approximation 0.166848 -16411 8 Correct 0.025088 -16412 7 Energy 0.04848 -16413 9 Predict 0.144576 -16414 0 Sorting 3.27731 -16415 1 Data reordering 0.165088 -16416 2 Tree-construction 0.96816 -16417 11 Memory 0.001888 -16418 3 Compute properties 0.217952 -16419 10 setActiveGrpsFunc 0.067872 -16420 4 Approximation 0.167936 -16421 8 Correct 0.025088 -16422 7 Energy 0.048384 -16423 9 Predict 0.14544 -16424 0 Sorting 3.23488 -16425 1 Data reordering 0.164128 -16426 2 Tree-construction 0.95728 -16427 11 Memory 0.001888 -16428 3 Compute properties 0.210208 -16429 10 setActiveGrpsFunc 0.067968 -16430 4 Approximation 0.167392 -16431 8 Correct 0.02512 -16432 7 Energy 0.04784 -16433 9 Predict 0.14432 -16434 0 Sorting 3.32717 -16435 1 Data reordering 0.196288 -16436 2 Tree-construction 0.974816 -16437 11 Memory 0.001888 -16438 3 Compute properties 0.220768 -16439 10 setActiveGrpsFunc 0.068288 -16440 4 Approximation 0.167296 -16441 8 Correct 0.025376 -16442 7 Energy 0.061664 -16443 9 Predict 0.162048 -16444 0 Sorting 3.26877 -16445 1 Data reordering 0.164416 -16446 2 Tree-construction 0.9536 -16447 11 Memory 0.00192 -16448 3 Compute properties 0.217984 -16449 10 setActiveGrpsFunc 0.067936 -16450 4 Approximation 0.16672 -16451 8 Correct 0.02528 -16452 7 Energy 0.048448 -16453 9 Predict 0.144352 -16454 0 Sorting 3.30566 -16455 1 Data reordering 0.164864 -16456 2 Tree-construction 0.954048 -16457 11 Memory 0.00192 -16458 3 Compute properties 0.216736 -16459 10 setActiveGrpsFunc 0.068096 -16460 4 Approximation 0.166944 -16461 8 Correct 0.02544 -16462 7 Energy 0.048768 -16463 9 Predict 0.144768 -16464 0 Sorting 3.24342 -16465 1 Data reordering 0.16432 -16466 2 Tree-construction 0.958176 -16467 11 Memory 0.001888 -16468 3 Compute properties 0.21664 -16469 10 setActiveGrpsFunc 0.073984 -16470 4 Approximation 0.168128 -16471 8 Correct 0.025056 -16472 7 Energy 0.048128 -16473 9 Predict 0.145632 -16474 0 Sorting 3.28493 -16475 1 Data reordering 0.165216 -16476 2 Tree-construction 0.9576 -16477 11 Memory 0.001888 -16478 3 Compute properties 0.210112 -16479 10 setActiveGrpsFunc 0.067392 -16480 4 Approximation 0.165856 -16481 8 Correct 0.02496 -16482 7 Energy 0.048448 -16483 9 Predict 0.144896 -16484 0 Sorting 3.25107 -16485 1 Data reordering 0.16416 -16486 2 Tree-construction 0.962176 -16487 11 Memory 0.00192 -16488 3 Compute properties 0.209728 -16489 10 setActiveGrpsFunc 0.067872 -16490 4 Approximation 0.16304 -16491 8 Correct 0.025312 -16492 7 Energy 0.048288 -16493 9 Predict 0.144864 -16494 0 Sorting 3.27203 -16495 1 Data reordering 0.165824 -16496 2 Tree-construction 0.962592 -16497 11 Memory 0.001888 -16498 3 Compute properties 0.221344 -16499 10 setActiveGrpsFunc 0.068128 -16500 4 Approximation 0.162464 -16501 8 Correct 0.02512 -16502 7 Energy 0.048544 -16503 9 Predict 0.144928 -16504 0 Sorting 3.70608 -16505 1 Data reordering 0.16624 -16506 2 Tree-construction 0.984192 -16507 11 Memory 0.00192 -16508 3 Compute properties 0.232224 -16509 10 setActiveGrpsFunc 0.069248 -16510 4 Approximation 0.170112 -16511 8 Correct 0.025408 -16512 7 Energy 0.049568 -16513 9 Predict 0.14512 -16514 0 Sorting 3.23136 -16515 1 Data reordering 0.164288 -16516 2 Tree-construction 0.957024 -16517 11 Memory 0.001888 -16518 3 Compute properties 0.218144 -16519 10 setActiveGrpsFunc 0.068128 -16520 4 Approximation 0.165536 -16521 8 Correct 0.02512 -16522 7 Energy 0.048384 -16523 9 Predict 0.144608 -16524 0 Sorting 3.25347 -16525 1 Data reordering 0.164288 -16526 2 Tree-construction 0.996288 -16527 11 Memory 0.001888 -16528 3 Compute properties 0.218368 -16529 10 setActiveGrpsFunc 0.068384 -16530 4 Approximation 0.17616 -16531 8 Correct 0.025344 -16532 7 Energy 0.049024 -16533 9 Predict 0.14512 -16534 0 Sorting 3.24355 -16535 1 Data reordering 0.164416 -16536 2 Tree-construction 0.957728 -16537 11 Memory 0.001888 -16538 3 Compute properties 0.218528 -16539 10 setActiveGrpsFunc 0.069376 -16540 4 Approximation 0.165728 -16541 8 Correct 0.024992 -16542 7 Energy 0.048224 -16543 9 Predict 0.144864 -16544 0 Sorting 3.25216 -16545 1 Data reordering 0.173472 -16546 2 Tree-construction 0.966944 -16547 11 Memory 0.00192 -16548 3 Compute properties 0.2184 -16549 10 setActiveGrpsFunc 0.068864 -16550 4 Approximation 0.166848 -16551 8 Correct 0.025184 -16552 7 Energy 0.048544 -16553 9 Predict 0.145184 -16554 0 Sorting 3.24035 -16555 1 Data reordering 0.172576 -16556 2 Tree-construction 0.95584 -16557 11 Memory 0.00192 -16558 3 Compute properties 0.216992 -16559 10 setActiveGrpsFunc 0.068544 -16560 4 Approximation 0.166016 -16561 8 Correct 0.025152 -16562 7 Energy 0.048096 -16563 9 Predict 0.144224 -16564 0 Sorting 3.29171 -16565 1 Data reordering 0.164896 -16566 2 Tree-construction 0.956544 -16567 11 Memory 0.00192 -16568 3 Compute properties 0.225568 -16569 10 setActiveGrpsFunc 0.068224 -16570 4 Approximation 0.167104 -16571 8 Correct 0.025216 -16572 7 Energy 0.048544 -16573 9 Predict 0.14464 -16574 0 Sorting 3.24301 -16575 1 Data reordering 0.164192 -16576 2 Tree-construction 0.95776 -16577 11 Memory 0.00192 -16578 3 Compute properties 0.220288 -16579 10 setActiveGrpsFunc 0.068128 -16580 4 Approximation 0.167328 -16581 8 Correct 0.025184 -16582 7 Energy 0.048064 -16583 9 Predict 0.14448 -16584 0 Sorting 3.27606 -16585 1 Data reordering 0.164736 -16586 2 Tree-construction 0.958528 -16587 11 Memory 0.00192 -16588 3 Compute properties 0.220672 -16589 10 setActiveGrpsFunc 0.06848 -16590 4 Approximation 0.165856 -16591 8 Correct 0.025024 -16592 7 Energy 0.049024 -16593 9 Predict 0.145728 -16594 0 Sorting 3.2415 -16595 1 Data reordering 0.164224 -16596 2 Tree-construction 0.955168 -16597 11 Memory 0.001888 -16598 3 Compute properties 0.217024 -16599 10 setActiveGrpsFunc 0.068 -16600 4 Approximation 0.165504 -16601 8 Correct 0.02496 -16602 7 Energy 0.047968 -16603 9 Predict 0.144704 -16604 0 Sorting 3.27286 -16605 1 Data reordering 0.164928 -16606 2 Tree-construction 0.957472 -16607 11 Memory 0.001888 -16608 3 Compute properties 0.217408 -16609 10 setActiveGrpsFunc 0.06832 -16610 4 Approximation 0.167072 -16611 8 Correct 0.025248 -16612 7 Energy 0.048576 -16613 9 Predict 0.144832 -16614 0 Sorting 3.24278 -16615 1 Data reordering 0.172736 -16616 2 Tree-construction 0.95712 -16617 11 Memory 0.001888 -16618 3 Compute properties 0.218016 -16619 10 setActiveGrpsFunc 0.068128 -16620 4 Approximation 0.1664 -16621 8 Correct 0.024928 -16622 7 Energy 0.048576 -16623 9 Predict 0.14512 -16624 0 Sorting 3.29059 -16625 1 Data reordering 0.164416 -16626 2 Tree-construction 0.96416 -16627 11 Memory 0.001888 -16628 3 Compute properties 0.216704 -16629 10 setActiveGrpsFunc 0.068544 -16630 4 Approximation 0.16656 -16631 8 Correct 0.025312 -16632 7 Energy 0.048992 -16633 9 Predict 0.144288 -16634 0 Sorting 3.23242 -16635 1 Data reordering 0.163936 -16636 2 Tree-construction 0.956896 -16637 11 Memory 0.00192 -16638 3 Compute properties 0.215072 -16639 10 setActiveGrpsFunc 0.069024 -16640 4 Approximation 0.166368 -16641 8 Correct 0.02512 -16642 7 Energy 0.047872 -16643 9 Predict 0.144736 -16644 0 Sorting 3.28886 -16645 1 Data reordering 0.16496 -16646 2 Tree-construction 0.954688 -16647 11 Memory 0.001888 -16648 3 Compute properties 0.208064 -16649 10 setActiveGrpsFunc 0.067808 -16650 4 Approximation 0.166656 -16651 8 Correct 0.025216 -16652 7 Energy 0.048352 -16653 9 Predict 0.144768 -16654 0 Sorting 3.24109 -16655 1 Data reordering 0.163904 -16656 2 Tree-construction 0.904512 -16657 11 Memory 0.00192 -16658 3 Compute properties 0.19824 -16659 10 setActiveGrpsFunc 0.068608 -16660 4 Approximation 0.15872 -16661 8 Correct 0.025216 -16662 7 Energy 0.048704 -16663 9 Predict 0.14496 -16664 0 Sorting 3.26339 -16665 1 Data reordering 0.165472 -16666 2 Tree-construction 0.886016 -16667 11 Memory 0.00192 -16668 3 Compute properties 0.198624 -16669 10 setActiveGrpsFunc 0.06832 -16670 4 Approximation 0.15792 -16671 8 Correct 0.025056 -16672 7 Energy 0.048608 -16673 9 Predict 0.145184 -16674 0 Sorting 3.24611 -16675 1 Data reordering 0.163904 -16676 2 Tree-construction 0.96608 -16677 11 Memory 0.001888 -16678 3 Compute properties 0.223168 -16679 10 setActiveGrpsFunc 0.0696 -16680 4 Approximation 0.16928 -16681 8 Correct 0.03472 -16682 7 Energy 0.049664 -16683 9 Predict 0.156864 -16684 0 Sorting 3.26563 -16685 1 Data reordering 0.165216 -16686 2 Tree-construction 0.886048 -16687 11 Memory 0.001888 -16688 3 Compute properties 0.200032 -16689 10 setActiveGrpsFunc 0.067872 -16690 4 Approximation 0.157472 -16691 8 Correct 0.025184 -16692 7 Energy 0.048224 -16693 9 Predict 0.144512 -16694 0 Sorting 3.24218 -16695 1 Data reordering 0.164672 -16696 2 Tree-construction 0.885792 -16697 11 Memory 0.001888 -16698 3 Compute properties 0.217024 -16699 10 setActiveGrpsFunc 0.077344 -16700 4 Approximation 0.157152 -16701 8 Correct 0.025216 -16702 7 Energy 0.04848 -16703 9 Predict 0.144736 -16704 0 Sorting 3.24486 -16705 1 Data reordering 0.17328 -16706 2 Tree-construction 0.885696 -16707 11 Memory 0.00192 -16708 3 Compute properties 0.198336 -16709 10 setActiveGrpsFunc 0.068416 -16710 4 Approximation 0.15632 -16711 8 Correct 0.02512 -16712 7 Energy 0.048416 -16713 9 Predict 0.144 -16714 0 Sorting 3.24499 -16715 1 Data reordering 0.16512 -16716 2 Tree-construction 0.926208 -16717 11 Memory 0.001888 -16718 3 Compute properties 0.198112 -16719 10 setActiveGrpsFunc 0.075744 -16720 4 Approximation 0.155744 -16721 8 Correct 0.025184 -16722 7 Energy 0.04816 -16723 9 Predict 0.144736 -16724 0 Sorting 3.24928 -16725 1 Data reordering 0.164416 -16726 2 Tree-construction 0.886592 -16727 11 Memory 0.00192 -16728 3 Compute properties 0.196832 -16729 10 setActiveGrpsFunc 0.067872 -16730 4 Approximation 0.157568 -16731 8 Correct 0.025184 -16732 7 Energy 0.04848 -16733 9 Predict 0.14464 -16734 0 Sorting 3.72938 -16735 1 Data reordering 0.177376 -16736 2 Tree-construction 0.917856 -16737 11 Memory 0.001888 -16738 3 Compute properties 0.18864 -16739 10 setActiveGrpsFunc 0.06848 -16740 4 Approximation 0.156768 -16741 8 Correct 0.025248 -16742 7 Energy 0.048832 -16743 9 Predict 0.14464 -16744 0 Sorting 3.25398 -16745 1 Data reordering 0.164864 -16746 2 Tree-construction 0.957696 -16747 11 Memory 0.00192 -16748 3 Compute properties 0.21424 -16749 10 setActiveGrpsFunc 0.06784 -16750 4 Approximation 0.164512 -16751 8 Correct 0.025152 -16752 7 Energy 0.048736 -16753 9 Predict 0.143904 -16754 0 Sorting 3.2768 -16755 1 Data reordering 0.164512 -16756 2 Tree-construction 0.963808 -16757 11 Memory 0.001888 -16758 3 Compute properties 0.204608 -16759 10 setActiveGrpsFunc 0.067968 -16760 4 Approximation 0.1648 -16761 8 Correct 0.02528 -16762 7 Energy 0.048256 -16763 9 Predict 0.144544 -16764 0 Sorting 3.23798 -16765 1 Data reordering 0.164384 -16766 2 Tree-construction 0.965344 -16767 11 Memory 0.001888 -16768 3 Compute properties 0.21296 -16769 10 setActiveGrpsFunc 0.068064 -16770 4 Approximation 0.164704 -16771 8 Correct 0.025216 -16772 7 Energy 0.048448 -16773 9 Predict 0.144416 -16774 0 Sorting 3.26243 -16775 1 Data reordering 0.174496 -16776 2 Tree-construction 0.9592 -16777 11 Memory 0.001888 -16778 3 Compute properties 0.214944 -16779 10 setActiveGrpsFunc 0.077728 -16780 4 Approximation 0.164544 -16781 8 Correct 0.025216 -16782 7 Energy 0.04864 -16783 9 Predict 0.144416 -16784 0 Sorting 3.23882 -16785 1 Data reordering 0.16368 -16786 2 Tree-construction 0.958016 -16787 11 Memory 0.00192 -16788 3 Compute properties 0.215936 -16789 10 setActiveGrpsFunc 0.068192 -16790 4 Approximation 0.16464 -16791 8 Correct 0.025088 -16792 7 Energy 0.048256 -16793 9 Predict 0.143776 -16794 0 Sorting 3.30381 -16795 1 Data reordering 0.16464 -16796 2 Tree-construction 0.957824 -16797 11 Memory 0.001888 -16798 3 Compute properties 0.207232 -16799 10 setActiveGrpsFunc 0.068288 -16800 4 Approximation 0.166272 -16801 8 Correct 0.02512 -16802 7 Energy 0.048224 -16803 9 Predict 0.144 -16804 0 Sorting 3.24483 -16805 1 Data reordering 0.164384 -16806 2 Tree-construction 0.956896 -16807 11 Memory 0.001888 -16808 3 Compute properties 0.217216 -16809 10 setActiveGrpsFunc 0.068096 -16810 4 Approximation 0.16624 -16811 8 Correct 0.025088 -16812 7 Energy 0.04864 -16813 9 Predict 0.143744 -16814 0 Sorting 3.27322 -16815 1 Data reordering 0.164384 -16816 2 Tree-construction 0.959168 -16817 11 Memory 0.00192 -16818 3 Compute properties 0.216 -16819 10 setActiveGrpsFunc 0.06816 -16820 4 Approximation 0.167744 -16821 8 Correct 0.02528 -16822 7 Energy 0.04896 -16823 9 Predict 0.145376 -16824 0 Sorting 3.2583 -16825 1 Data reordering 0.164416 -16826 2 Tree-construction 0.96048 -16827 11 Memory 0.00192 -16828 3 Compute properties 0.218816 -16829 10 setActiveGrpsFunc 0.068192 -16830 4 Approximation 0.164128 -16831 8 Correct 0.024992 -16832 7 Energy 0.048224 -16833 9 Predict 0.144512 -16834 0 Sorting 3.27216 -16835 1 Data reordering 0.164384 -16836 2 Tree-construction 0.956896 -16837 11 Memory 0.001888 -16838 3 Compute properties 0.20816 -16839 10 setActiveGrpsFunc 0.067904 -16840 4 Approximation 0.16448 -16841 8 Correct 0.02528 -16842 7 Energy 0.047776 -16843 9 Predict 0.144352 -16844 0 Sorting 3.24778 -16845 1 Data reordering 0.164032 -16846 2 Tree-construction 0.957408 -16847 11 Memory 0.001888 -16848 3 Compute properties 0.216704 -16849 10 setActiveGrpsFunc 0.06784 -16850 4 Approximation 0.164736 -16851 8 Correct 0.025056 -16852 7 Energy 0.04816 -16853 9 Predict 0.14432 -16854 0 Sorting 3.28384 -16855 1 Data reordering 0.17408 -16856 2 Tree-construction 0.95824 -16857 11 Memory 0.001888 -16858 3 Compute properties 0.215104 -16859 10 setActiveGrpsFunc 0.068192 -16860 4 Approximation 0.16464 -16861 8 Correct 0.02512 -16862 7 Energy 0.048256 -16863 9 Predict 0.143456 -16864 0 Sorting 3.24221 -16865 1 Data reordering 0.16384 -16866 2 Tree-construction 0.967488 -16867 11 Memory 0.001888 -16868 3 Compute properties 0.21712 -16869 10 setActiveGrpsFunc 0.067904 -16870 4 Approximation 0.167936 -16871 8 Correct 0.025216 -16872 7 Energy 0.048512 -16873 9 Predict 0.144384 -16874 0 Sorting 3.24352 -16875 1 Data reordering 0.16432 -16876 2 Tree-construction 0.957856 -16877 11 Memory 0.00192 -16878 3 Compute properties 0.219168 -16879 10 setActiveGrpsFunc 0.068096 -16880 4 Approximation 0.16432 -16881 8 Correct 0.025056 -16882 7 Energy 0.048224 -16883 9 Predict 0.144416 -16884 0 Sorting 3.24707 -16885 1 Data reordering 0.16416 -16886 2 Tree-construction 0.996448 -16887 11 Memory 0.001888 -16888 3 Compute properties 0.22608 -16889 10 setActiveGrpsFunc 0.068704 -16890 4 Approximation 0.162688 -16891 8 Correct 0.025216 -16892 7 Energy 0.048608 -16893 9 Predict 0.144576 -16894 0 Sorting 3.26282 -16895 1 Data reordering 0.164672 -16896 2 Tree-construction 0.957184 -16897 11 Memory 0.001888 -16898 3 Compute properties 0.219264 -16899 10 setActiveGrpsFunc 0.068352 -16900 4 Approximation 0.164288 -16901 8 Correct 0.025152 -16902 7 Energy 0.048224 -16903 9 Predict 0.144064 -16904 0 Sorting 3.24662 -16905 1 Data reordering 0.164448 -16906 2 Tree-construction 1.00442 -16907 11 Memory 0.001888 -16908 3 Compute properties 0.214624 -16909 10 setActiveGrpsFunc 0.068064 -16910 4 Approximation 0.164896 -16911 8 Correct 0.025056 -16912 7 Energy 0.048512 -16913 9 Predict 0.143552 -16914 0 Sorting 3.24982 -16915 1 Data reordering 0.164576 -16916 2 Tree-construction 0.957952 -16917 11 Memory 0.001888 -16918 3 Compute properties 0.215456 -16919 10 setActiveGrpsFunc 0.068128 -16920 4 Approximation 0.16416 -16921 8 Correct 0.025152 -16922 7 Energy 0.047808 -16923 9 Predict 0.14416 -16924 0 Sorting 3.25747 -16925 1 Data reordering 0.165984 -16926 2 Tree-construction 0.975712 -16927 11 Memory 0.00192 -16928 3 Compute properties 0.215744 -16929 10 setActiveGrpsFunc 0.067776 -16930 4 Approximation 0.165056 -16931 8 Correct 0.025152 -16932 7 Energy 0.047968 -16933 9 Predict 0.144928 -16934 0 Sorting 3.24022 -16935 1 Data reordering 0.164096 -16936 2 Tree-construction 0.958368 -16937 11 Memory 0.001888 -16938 3 Compute properties 0.21824 -16939 10 setActiveGrpsFunc 0.068608 -16940 4 Approximation 0.164768 -16941 8 Correct 0.025248 -16942 7 Energy 0.048 -16943 9 Predict 0.144192 -16944 0 Sorting 3.27738 -16945 1 Data reordering 0.164736 -16946 2 Tree-construction 0.9696 -16947 11 Memory 0.001888 -16948 3 Compute properties 0.219584 -16949 10 setActiveGrpsFunc 0.068256 -16950 4 Approximation 0.163744 -16951 8 Correct 0.025056 -16952 7 Energy 0.048416 -16953 9 Predict 0.144128 -16954 0 Sorting 3.24371 -16955 1 Data reordering 0.164288 -16956 2 Tree-construction 0.956864 -16957 11 Memory 0.001888 -16958 3 Compute properties 0.220128 -16959 10 setActiveGrpsFunc 0.090112 -16960 4 Approximation 0.188192 -16961 8 Correct 0.034112 -16962 7 Energy 0.066816 -16963 9 Predict 0.19216 -16964 0 Sorting 3.62189 -16965 1 Data reordering 0.165824 -16966 2 Tree-construction 0.96144 -16967 11 Memory 0.001888 -16968 3 Compute properties 0.218816 -16969 10 setActiveGrpsFunc 0.068352 -16970 4 Approximation 0.165824 -16971 8 Correct 0.025088 -16972 7 Energy 0.04864 -16973 9 Predict 0.14448 -16974 0 Sorting 3.25437 -16975 1 Data reordering 0.16416 -16976 2 Tree-construction 0.95936 -16977 11 Memory 0.001888 -16978 3 Compute properties 0.218816 -16979 10 setActiveGrpsFunc 0.068288 -16980 4 Approximation 0.164992 -16981 8 Correct 0.02512 -16982 7 Energy 0.048128 -16983 9 Predict 0.144512 -16984 0 Sorting 3.28144 -16985 1 Data reordering 0.16432 -16986 2 Tree-construction 0.958752 -16987 11 Memory 0.00192 -16988 3 Compute properties 0.219712 -16989 10 setActiveGrpsFunc 0.068256 -16990 4 Approximation 0.1632 -16991 8 Correct 0.025024 -16992 7 Energy 0.048736 -16993 9 Predict 0.144416 -16994 0 Sorting 3.24662 -16995 1 Data reordering 0.164032 -16996 2 Tree-construction 0.958304 -16997 11 Memory 0.001888 -16998 3 Compute properties 0.218784 -16999 10 setActiveGrpsFunc 0.067744 -17000 4 Approximation 0.163232 -17001 8 Correct 0.025024 -17002 7 Energy 0.048352 -17003 9 Predict 0.144128 -17004 0 Sorting 3.34707 -17005 1 Data reordering 0.164256 -17006 2 Tree-construction 0.995776 -17007 11 Memory 0.001888 -17008 3 Compute properties 0.231232 -17009 10 setActiveGrpsFunc 0.068992 -17010 4 Approximation 0.185184 -17011 8 Correct 0.02512 -17012 7 Energy 0.05008 -17013 9 Predict 0.17968 -17014 0 Sorting 3.3928 -17015 1 Data reordering 0.1648 -17016 2 Tree-construction 0.980512 -17017 11 Memory 0.00192 -17018 3 Compute properties 0.23792 -17019 10 setActiveGrpsFunc 0.104864 -17020 4 Approximation 0.185056 -17021 8 Correct 0.02576 -17022 7 Energy 0.049184 -17023 9 Predict 0.179488 -17024 0 Sorting 3.25939 -17025 1 Data reordering 0.16384 -17026 2 Tree-construction 0.959136 -17027 11 Memory 0.00192 -17028 3 Compute properties 0.217248 -17029 10 setActiveGrpsFunc 0.068192 -17030 4 Approximation 0.167456 -17031 8 Correct 0.025024 -17032 7 Energy 0.048384 -17033 9 Predict 0.143968 -17034 0 Sorting 3.24643 -17035 1 Data reordering 0.164352 -17036 2 Tree-construction 0.995712 -17037 11 Memory 0.001888 -17038 3 Compute properties 0.211232 -17039 10 setActiveGrpsFunc 0.067936 -17040 4 Approximation 0.166976 -17041 8 Correct 0.024928 -17042 7 Energy 0.047808 -17043 9 Predict 0.154752 -17044 0 Sorting 3.25434 -17045 1 Data reordering 0.16448 -17046 2 Tree-construction 0.960992 -17047 11 Memory 0.001888 -17048 3 Compute properties 0.217408 -17049 10 setActiveGrpsFunc 0.068256 -17050 4 Approximation 0.167392 -17051 8 Correct 0.025088 -17052 7 Energy 0.048864 -17053 9 Predict 0.144736 -17054 0 Sorting 3.25654 -17055 1 Data reordering 0.164352 -17056 2 Tree-construction 0.98784 -17057 11 Memory 0.00192 -17058 3 Compute properties 0.225728 -17059 10 setActiveGrpsFunc 0.06816 -17060 4 Approximation 0.166784 -17061 8 Correct 0.025184 -17062 7 Energy 0.048544 -17063 9 Predict 0.145088 -17064 0 Sorting 3.24438 -17065 1 Data reordering 0.164064 -17066 2 Tree-construction 0.959552 -17067 11 Memory 0.001888 -17068 3 Compute properties 0.218272 -17069 10 setActiveGrpsFunc 0.068192 -17070 4 Approximation 0.165664 -17071 8 Correct 0.025088 -17072 7 Energy 0.048448 -17073 9 Predict 0.144608 -17074 0 Sorting 3.26534 -17075 1 Data reordering 0.164672 -17076 2 Tree-construction 0.9944 -17077 11 Memory 0.001888 -17078 3 Compute properties 0.217152 -17079 10 setActiveGrpsFunc 0.068192 -17080 4 Approximation 0.164928 -17081 8 Correct 0.025056 -17082 7 Energy 0.048192 -17083 9 Predict 0.144256 -17084 0 Sorting 3.23642 -17085 1 Data reordering 0.16448 -17086 2 Tree-construction 0.956832 -17087 11 Memory 0.001952 -17088 3 Compute properties 0.216896 -17089 10 setActiveGrpsFunc 0.068256 -17090 4 Approximation 0.164064 -17091 8 Correct 0.025056 -17092 7 Energy 0.048096 -17093 9 Predict 0.144128 -17094 0 Sorting 3.28544 -17095 1 Data reordering 0.164448 -17096 2 Tree-construction 0.964704 -17097 11 Memory 0.001888 -17098 3 Compute properties 0.217568 -17099 10 setActiveGrpsFunc 0.068224 -17100 4 Approximation 0.16656 -17101 8 Correct 0.02512 -17102 7 Energy 0.04832 -17103 9 Predict 0.144448 -17104 0 Sorting 3.24016 -17105 1 Data reordering 0.163904 -17106 2 Tree-construction 0.959584 -17107 11 Memory 0.001888 -17108 3 Compute properties 0.218112 -17109 10 setActiveGrpsFunc 0.068064 -17110 4 Approximation 0.164672 -17111 8 Correct 0.025056 -17112 7 Energy 0.0488 -17113 9 Predict 0.144544 -17114 0 Sorting 3.5312 -17115 1 Data reordering 0.227232 -17116 2 Tree-construction 1.16557 -17117 11 Memory 0.001888 -17118 3 Compute properties 0.219456 -17119 10 setActiveGrpsFunc 0.068224 -17120 4 Approximation 0.16704 -17121 8 Correct 0.025216 -17122 7 Energy 0.048672 -17123 9 Predict 0.145632 -17124 0 Sorting 3.2447 -17125 1 Data reordering 0.164224 -17126 2 Tree-construction 0.958208 -17127 11 Memory 0.001888 -17128 3 Compute properties 0.216384 -17129 10 setActiveGrpsFunc 0.06768 -17130 4 Approximation 0.166208 -17131 8 Correct 0.02528 -17132 7 Energy 0.048704 -17133 9 Predict 0.14432 -17134 0 Sorting 3.29821 -17135 1 Data reordering 0.164896 -17136 2 Tree-construction 0.96864 -17137 11 Memory 0.00192 -17138 3 Compute properties 0.215712 -17139 10 setActiveGrpsFunc 0.068096 -17140 4 Approximation 0.166592 -17141 8 Correct 0.025248 -17142 7 Energy 0.048384 -17143 9 Predict 0.144544 -17144 0 Sorting 3.24419 -17145 1 Data reordering 0.164224 -17146 2 Tree-construction 0.958336 -17147 11 Memory 0.001888 -17148 3 Compute properties 0.207968 -17149 10 setActiveGrpsFunc 0.06784 -17150 4 Approximation 0.166688 -17151 8 Correct 0.025056 -17152 7 Energy 0.048192 -17153 9 Predict 0.154176 -17154 0 Sorting 3.27258 -17155 1 Data reordering 0.164352 -17156 2 Tree-construction 0.957056 -17157 11 Memory 0.00192 -17158 3 Compute properties 0.209056 -17159 10 setActiveGrpsFunc 0.06736 -17160 4 Approximation 0.166688 -17161 8 Correct 0.025056 -17162 7 Energy 0.047808 -17163 9 Predict 0.143968 -17164 0 Sorting 3.23923 -17165 1 Data reordering 0.164224 -17166 2 Tree-construction 0.96688 -17167 11 Memory 0.001888 -17168 3 Compute properties 0.216384 -17169 10 setActiveGrpsFunc 0.068128 -17170 4 Approximation 0.190912 -17171 8 Correct 0.025952 -17172 7 Energy 0.060064 -17173 9 Predict 0.15504 -17174 0 Sorting 3.23171 -17175 1 Data reordering 0.164032 -17176 2 Tree-construction 0.957664 -17177 11 Memory 0.001888 -17178 3 Compute properties 0.216128 -17179 10 setActiveGrpsFunc 0.06784 -17180 4 Approximation 0.167584 -17181 8 Correct 0.033088 -17182 7 Energy 0.04816 -17183 9 Predict 0.144992 -17184 0 Sorting 3.24285 -17185 1 Data reordering 0.164672 -17186 2 Tree-construction 0.984 -17187 11 Memory 0.00192 -17188 3 Compute properties 0.217024 -17189 10 setActiveGrpsFunc 0.068192 -17190 4 Approximation 0.17104 -17191 8 Correct 0.02528 -17192 7 Energy 0.048992 -17193 9 Predict 0.145024 -17194 0 Sorting 3.24666 -17195 1 Data reordering 0.164192 -17196 2 Tree-construction 0.956864 -17197 11 Memory 0.001952 -17198 3 Compute properties 0.22112 -17199 10 setActiveGrpsFunc 0.068128 -17200 4 Approximation 0.167168 -17201 8 Correct 0.02512 -17202 7 Energy 0.048416 -17203 9 Predict 0.144608 -17204 0 Sorting 3.24723 -17205 1 Data reordering 0.16448 -17206 2 Tree-construction 0.989824 -17207 11 Memory 0.001888 -17208 3 Compute properties 0.217632 -17209 10 setActiveGrpsFunc 0.068352 -17210 4 Approximation 0.176672 -17211 8 Correct 0.025408 -17212 7 Energy 0.048896 -17213 9 Predict 0.144192 -17214 0 Sorting 3.24032 -17215 1 Data reordering 0.1648 -17216 2 Tree-construction 0.96048 -17217 11 Memory 0.00192 -17218 3 Compute properties 0.208704 -17219 10 setActiveGrpsFunc 0.06752 -17220 4 Approximation 0.167104 -17221 8 Correct 0.025024 -17222 7 Energy 0.04832 -17223 9 Predict 0.144256 -17224 0 Sorting 3.22998 -17225 1 Data reordering 0.194496 -17226 2 Tree-construction 0.958464 -17227 11 Memory 0.00192 -17228 3 Compute properties 0.21808 -17229 10 setActiveGrpsFunc 0.068192 -17230 4 Approximation 0.166112 -17231 8 Correct 0.02512 -17232 7 Energy 0.048192 -17233 9 Predict 0.144704 -17234 0 Sorting 3.23642 -17235 1 Data reordering 0.164192 -17236 2 Tree-construction 0.954976 -17237 11 Memory 0.001888 -17238 3 Compute properties 0.226912 -17239 10 setActiveGrpsFunc 0.068384 -17240 4 Approximation 0.166112 -17241 8 Correct 0.0256 -17242 7 Energy 0.049088 -17243 9 Predict 0.144096 -17244 0 Sorting 3.27171 -17245 1 Data reordering 0.165344 -17246 2 Tree-construction 0.95552 -17247 11 Memory 0.00192 -17248 3 Compute properties 0.218496 -17249 10 setActiveGrpsFunc 0.06848 -17250 4 Approximation 0.166304 -17251 8 Correct 0.025152 -17252 7 Energy 0.048288 -17253 9 Predict 0.14432 -17254 0 Sorting 3.24298 -17255 1 Data reordering 0.164096 -17256 2 Tree-construction 0.959776 -17257 11 Memory 0.001888 -17258 3 Compute properties 0.218272 -17259 10 setActiveGrpsFunc 0.068384 -17260 4 Approximation 0.16432 -17261 8 Correct 0.025056 -17262 7 Energy 0.048352 -17263 9 Predict 0.14416 -17264 0 Sorting 3.27357 -17265 1 Data reordering 0.174592 -17266 2 Tree-construction 0.959104 -17267 11 Memory 0.00192 -17268 3 Compute properties 0.217152 -17269 10 setActiveGrpsFunc 0.067968 -17270 4 Approximation 0.164992 -17271 8 Correct 0.025152 -17272 7 Energy 0.048544 -17273 9 Predict 0.144 -17274 0 Sorting 3.28429 -17275 1 Data reordering 0.164928 -17276 2 Tree-construction 0.960128 -17277 11 Memory 0.00192 -17278 3 Compute properties 0.219584 -17279 10 setActiveGrpsFunc 0.06784 -17280 4 Approximation 0.165216 -17281 8 Correct 0.02528 -17282 7 Energy 0.048256 -17283 9 Predict 0.144896 -17284 0 Sorting 3.32358 -17285 1 Data reordering 0.172928 -17286 2 Tree-construction 0.959232 -17287 11 Memory 0.001984 -17288 3 Compute properties 0.210048 -17289 10 setActiveGrpsFunc 0.067936 -17290 4 Approximation 0.1656 -17291 8 Correct 0.025056 -17292 7 Energy 0.048224 -17293 9 Predict 0.144768 -17294 0 Sorting 3.23856 -17295 1 Data reordering 0.163584 -17296 2 Tree-construction 0.959808 -17297 11 Memory 0.010304 -17298 3 Compute properties 0.21664 -17299 10 setActiveGrpsFunc 0.068416 -17300 4 Approximation 0.166784 -17301 8 Correct 0.025152 -17302 7 Energy 0.048672 -17303 9 Predict 0.144224 -17304 0 Sorting 3.30064 -17305 1 Data reordering 0.164416 -17306 2 Tree-construction 0.95872 -17307 11 Memory 0.001952 -17308 3 Compute properties 0.216928 -17309 10 setActiveGrpsFunc 0.068128 -17310 4 Approximation 0.166048 -17311 8 Correct 0.02512 -17312 7 Energy 0.04864 -17313 9 Predict 0.144576 -17314 0 Sorting 3.24925 -17315 1 Data reordering 0.164064 -17316 2 Tree-construction 0.95936 -17317 11 Memory 0.001888 -17318 3 Compute properties 0.224224 -17319 10 setActiveGrpsFunc 0.06896 -17320 4 Approximation 0.166912 -17321 8 Correct 0.025056 -17322 7 Energy 0.048608 -17323 9 Predict 0.143936 -17324 0 Sorting 3.30099 -17325 1 Data reordering 0.16512 -17326 2 Tree-construction 0.963296 -17327 11 Memory 0.001888 -17328 3 Compute properties 0.216192 -17329 10 setActiveGrpsFunc 0.068192 -17330 4 Approximation 0.16592 -17331 8 Correct 0.025088 -17332 7 Energy 0.048608 -17333 9 Predict 0.144896 -17334 0 Sorting 3.24214 -17335 1 Data reordering 0.164512 -17336 2 Tree-construction 0.957792 -17337 11 Memory 0.00192 -17338 3 Compute properties 0.218976 -17339 10 setActiveGrpsFunc 0.068288 -17340 4 Approximation 0.165504 -17341 8 Correct 0.02512 -17342 7 Energy 0.048448 -17343 9 Predict 0.169952 -17344 0 Sorting 3.75824 -17345 1 Data reordering 0.166112 -17346 2 Tree-construction 0.96208 -17347 11 Memory 0.001888 -17348 3 Compute properties 0.218784 -17349 10 setActiveGrpsFunc 0.068672 -17350 4 Approximation 0.16576 -17351 8 Correct 0.025216 -17352 7 Energy 0.048544 -17353 9 Predict 0.145184 -17354 0 Sorting 3.25117 -17355 1 Data reordering 0.164288 -17356 2 Tree-construction 0.992896 -17357 11 Memory 0.001856 -17358 3 Compute properties 0.233984 -17359 10 setActiveGrpsFunc 0.0856 -17360 4 Approximation 0.167008 -17361 8 Correct 0.025056 -17362 7 Energy 0.048416 -17363 9 Predict 0.144512 -17364 0 Sorting 3.25504 -17365 1 Data reordering 0.164064 -17366 2 Tree-construction 0.957472 -17367 11 Memory 0.001888 -17368 3 Compute properties 0.207264 -17369 10 setActiveGrpsFunc 0.06768 -17370 4 Approximation 0.166688 -17371 8 Correct 0.025184 -17372 7 Energy 0.0488 -17373 9 Predict 0.14512 -17374 0 Sorting 3.2457 -17375 1 Data reordering 0.164224 -17376 2 Tree-construction 1.02227 -17377 11 Memory 0.001888 -17378 3 Compute properties 0.21568 -17379 10 setActiveGrpsFunc 0.068256 -17380 4 Approximation 0.165824 -17381 8 Correct 0.025664 -17382 7 Energy 0.049248 -17383 9 Predict 0.14448 -17384 0 Sorting 3.24134 -17385 1 Data reordering 0.164768 -17386 2 Tree-construction 0.959136 -17387 11 Memory 0.001888 -17388 3 Compute properties 0.21456 -17389 10 setActiveGrpsFunc 0.067936 -17390 4 Approximation 0.164384 -17391 8 Correct 0.025024 -17392 7 Energy 0.048128 -17393 9 Predict 0.14464 -17394 0 Sorting 3.27136 -17395 1 Data reordering 0.164704 -17396 2 Tree-construction 0.999968 -17397 11 Memory 0.00192 -17398 3 Compute properties 0.216704 -17399 10 setActiveGrpsFunc 0.06832 -17400 4 Approximation 0.165952 -17401 8 Correct 0.02512 -17402 7 Energy 0.048352 -17403 9 Predict 0.14448 -17404 0 Sorting 3.24378 -17405 1 Data reordering 0.164416 -17406 2 Tree-construction 0.958848 -17407 11 Memory 0.001888 -17408 3 Compute properties 0.220128 -17409 10 setActiveGrpsFunc 0.068096 -17410 4 Approximation 0.167552 -17411 8 Correct 0.025088 -17412 7 Energy 0.048352 -17413 9 Predict 0.144288 -17414 0 Sorting 3.31571 -17415 1 Data reordering 0.164832 -17416 2 Tree-construction 0.8888 -17417 11 Memory 0.00192 -17418 3 Compute properties 0.197536 -17419 10 setActiveGrpsFunc 0.068512 -17420 4 Approximation 0.15744 -17421 8 Correct 0.02512 -17422 7 Energy 0.048256 -17423 9 Predict 0.144736 -17424 0 Sorting 3.2527 -17425 1 Data reordering 0.164416 -17426 2 Tree-construction 0.962496 -17427 11 Memory 0.001888 -17428 3 Compute properties 0.217856 -17429 10 setActiveGrpsFunc 0.068864 -17430 4 Approximation 0.1656 -17431 8 Correct 0.025024 -17432 7 Energy 0.04848 -17433 9 Predict 0.144608 -17434 0 Sorting 3.31117 -17435 1 Data reordering 0.165536 -17436 2 Tree-construction 0.95648 -17437 11 Memory 0.001888 -17438 3 Compute properties 0.220832 -17439 10 setActiveGrpsFunc 0.068128 -17440 4 Approximation 0.16608 -17441 8 Correct 0.025312 -17442 7 Energy 0.047968 -17443 9 Predict 0.144 -17444 0 Sorting 3.23594 -17445 1 Data reordering 0.164224 -17446 2 Tree-construction 0.896448 -17447 11 Memory 0.00192 -17448 3 Compute properties 0.197344 -17449 10 setActiveGrpsFunc 0.067904 -17450 4 Approximation 0.15792 -17451 8 Correct 0.02512 -17452 7 Energy 0.048672 -17453 9 Predict 0.144256 -17454 0 Sorting 3.30694 -17455 1 Data reordering 0.16464 -17456 2 Tree-construction 0.88624 -17457 11 Memory 0.001952 -17458 3 Compute properties 0.189856 -17459 10 setActiveGrpsFunc 0.067872 -17460 4 Approximation 0.157792 -17461 8 Correct 0.02512 -17462 7 Energy 0.04848 -17463 9 Predict 0.144576 -17464 0 Sorting 3.24925 -17465 1 Data reordering 0.163712 -17466 2 Tree-construction 0.956224 -17467 11 Memory 0.00192 -17468 3 Compute properties 0.21584 -17469 10 setActiveGrpsFunc 0.068096 -17470 4 Approximation 0.166368 -17471 8 Correct 0.025024 -17472 7 Energy 0.048608 -17473 9 Predict 0.143968 -17474 0 Sorting 3.30138 -17475 1 Data reordering 0.164896 -17476 2 Tree-construction 0.959872 -17477 11 Memory 0.00192 -17478 3 Compute properties 0.217056 -17479 10 setActiveGrpsFunc 0.067968 -17480 4 Approximation 0.165984 -17481 8 Correct 0.025344 -17482 7 Energy 0.048448 -17483 9 Predict 0.145024 -17484 0 Sorting 3.24794 -17485 1 Data reordering 0.164384 -17486 2 Tree-construction 0.959648 -17487 11 Memory 0.001888 -17488 3 Compute properties 0.216256 -17489 10 setActiveGrpsFunc 0.06832 -17490 4 Approximation 0.166432 -17491 8 Correct 0.024992 -17492 7 Energy 0.048192 -17493 9 Predict 0.144512 -17494 0 Sorting 3.31104 -17495 1 Data reordering 0.164576 -17496 2 Tree-construction 0.959296 -17497 11 Memory 0.001888 -17498 3 Compute properties 0.215648 -17499 10 setActiveGrpsFunc 0.068832 -17500 4 Approximation 0.164512 -17501 8 Correct 0.025184 -17502 7 Energy 0.048832 -17503 9 Predict 0.145216 -17504 0 Sorting 3.23782 -17505 1 Data reordering 0.164416 -17506 2 Tree-construction 0.960128 -17507 11 Memory 0.001888 -17508 3 Compute properties 0.216992 -17509 10 setActiveGrpsFunc 0.068352 -17510 4 Approximation 0.18496 -17511 8 Correct 0.025856 -17512 7 Energy 0.052448 -17513 9 Predict 0.167296 -17514 0 Sorting 3.33277 -17515 1 Data reordering 0.164576 -17516 2 Tree-construction 0.960384 -17517 11 Memory 0.001888 -17518 3 Compute properties 0.215328 -17519 10 setActiveGrpsFunc 0.067968 -17520 4 Approximation 0.166112 -17521 8 Correct 0.02512 -17522 7 Energy 0.050272 -17523 9 Predict 0.144672 -17524 0 Sorting 3.24019 -17525 1 Data reordering 0.164064 -17526 2 Tree-construction 0.981984 -17527 11 Memory 0.001888 -17528 3 Compute properties 0.227616 -17529 10 setActiveGrpsFunc 0.068576 -17530 4 Approximation 0.16976 -17531 8 Correct 0.025184 -17532 7 Energy 0.0632 -17533 9 Predict 0.145248 -17534 0 Sorting 3.24147 -17535 1 Data reordering 0.164416 -17536 2 Tree-construction 0.963488 -17537 11 Memory 0.001888 -17538 3 Compute properties 0.216448 -17539 10 setActiveGrpsFunc 0.068032 -17540 4 Approximation 0.166336 -17541 8 Correct 0.025088 -17542 7 Energy 0.048608 -17543 9 Predict 0.144672 -17544 0 Sorting 3.23894 -17545 1 Data reordering 0.16416 -17546 2 Tree-construction 0.996864 -17547 11 Memory 0.00192 -17548 3 Compute properties 0.216544 -17549 10 setActiveGrpsFunc 0.068384 -17550 4 Approximation 0.167584 -17551 8 Correct 0.025216 -17552 7 Energy 0.048384 -17553 9 Predict 0.144544 -17554 0 Sorting 3.24989 -17555 1 Data reordering 0.164064 -17556 2 Tree-construction 0.958176 -17557 11 Memory 0.001888 -17558 3 Compute properties 0.217504 -17559 10 setActiveGrpsFunc 0.06768 -17560 4 Approximation 0.167008 -17561 8 Correct 0.025216 -17562 7 Energy 0.047776 -17563 9 Predict 0.144544 -17564 0 Sorting 3.2719 -17565 1 Data reordering 0.171776 -17566 2 Tree-construction 1.04022 -17567 11 Memory 0.00192 -17568 3 Compute properties 0.293312 -17569 10 setActiveGrpsFunc 0.091424 -17570 4 Approximation 0.186784 -17571 8 Correct 0.033888 -17572 7 Energy 0.067424 -17573 9 Predict 0.190528 -17574 0 Sorting 3.44499 -17575 1 Data reordering 0.16544 -17576 2 Tree-construction 0.95952 -17577 11 Memory 0.001888 -17578 3 Compute properties 0.216768 -17579 10 setActiveGrpsFunc 0.067904 -17580 4 Approximation 0.167904 -17581 8 Correct 0.025408 -17582 7 Energy 0.048384 -17583 9 Predict 0.143744 -17584 0 Sorting 3.29779 -17585 1 Data reordering 0.164704 -17586 2 Tree-construction 0.959584 -17587 11 Memory 0.001888 -17588 3 Compute properties 0.209088 -17589 10 setActiveGrpsFunc 0.068 -17590 4 Approximation 0.167232 -17591 8 Correct 0.025248 -17592 7 Energy 0.048384 -17593 9 Predict 0.144832 -17594 0 Sorting 3.2391 -17595 1 Data reordering 0.164576 -17596 2 Tree-construction 0.968288 -17597 11 Memory 0.001888 -17598 3 Compute properties 0.214624 -17599 10 setActiveGrpsFunc 0.068 -17600 4 Approximation 0.166624 -17601 8 Correct 0.025024 -17602 7 Energy 0.047456 -17603 9 Predict 0.144032 -17604 0 Sorting 3.28099 -17605 1 Data reordering 0.16512 -17606 2 Tree-construction 0.958912 -17607 11 Memory 0.00192 -17608 3 Compute properties 0.214208 -17609 10 setActiveGrpsFunc 0.068 -17610 4 Approximation 0.16672 -17611 8 Correct 0.025184 -17612 7 Energy 0.048288 -17613 9 Predict 0.144224 -17614 0 Sorting 3.24307 -17615 1 Data reordering 0.1648 -17616 2 Tree-construction 0.95872 -17617 11 Memory 0.00192 -17618 3 Compute properties 0.214144 -17619 10 setActiveGrpsFunc 0.067872 -17620 4 Approximation 0.167008 -17621 8 Correct 0.02528 -17622 7 Energy 0.04848 -17623 9 Predict 0.144672 -17624 0 Sorting 3.28029 -17625 1 Data reordering 0.164864 -17626 2 Tree-construction 0.958528 -17627 11 Memory 0.001888 -17628 3 Compute properties 0.218784 -17629 10 setActiveGrpsFunc 0.068576 -17630 4 Approximation 0.166048 -17631 8 Correct 0.025216 -17632 7 Energy 0.048608 -17633 9 Predict 0.14464 -17634 0 Sorting 3.25008 -17635 1 Data reordering 0.165056 -17636 2 Tree-construction 0.961184 -17637 11 Memory 0.00192 -17638 3 Compute properties 0.216608 -17639 10 setActiveGrpsFunc 0.06848 -17640 4 Approximation 0.166752 -17641 8 Correct 0.025216 -17642 7 Energy 0.048256 -17643 9 Predict 0.144128 -17644 0 Sorting 3.29664 -17645 1 Data reordering 0.165184 -17646 2 Tree-construction 0.95744 -17647 11 Memory 0.001888 -17648 3 Compute properties 0.215296 -17649 10 setActiveGrpsFunc 0.068224 -17650 4 Approximation 0.166784 -17651 8 Correct 0.025248 -17652 7 Energy 0.048416 -17653 9 Predict 0.145152 -17654 0 Sorting 3.24566 -17655 1 Data reordering 0.164832 -17656 2 Tree-construction 0.967552 -17657 11 Memory 0.001888 -17658 3 Compute properties 0.219456 -17659 10 setActiveGrpsFunc 0.068256 -17660 4 Approximation 0.167008 -17661 8 Correct 0.02496 -17662 7 Energy 0.048224 -17663 9 Predict 0.168832 -17664 0 Sorting 3.25302 -17665 1 Data reordering 0.164896 -17666 2 Tree-construction 0.956288 -17667 11 Memory 0.001888 -17668 3 Compute properties 0.216192 -17669 10 setActiveGrpsFunc 0.068384 -17670 4 Approximation 0.167168 -17671 8 Correct 0.025184 -17672 7 Energy 0.048512 -17673 9 Predict 0.144192 -17674 0 Sorting 3.25181 -17675 1 Data reordering 0.164288 -17676 2 Tree-construction 0.956256 -17677 11 Memory 0.001888 -17678 3 Compute properties 0.233952 -17679 10 setActiveGrpsFunc 0.076 -17680 4 Approximation 0.166144 -17681 8 Correct 0.02528 -17682 7 Energy 0.048064 -17683 9 Predict 0.144736 -17684 0 Sorting 3.24419 -17685 1 Data reordering 0.16448 -17686 2 Tree-construction 0.964608 -17687 11 Memory 0.001888 -17688 3 Compute properties 0.21616 -17689 10 setActiveGrpsFunc 0.067968 -17690 4 Approximation 0.165216 -17691 8 Correct 0.025184 -17692 7 Energy 0.048288 -17693 9 Predict 0.144352 -17694 0 Sorting 3.2385 -17695 1 Data reordering 0.164224 -17696 2 Tree-construction 0.994272 -17697 11 Memory 0.001888 -17698 3 Compute properties 0.233088 -17699 10 setActiveGrpsFunc 0.068928 -17700 4 Approximation 0.16624 -17701 8 Correct 0.025344 -17702 7 Energy 0.048864 -17703 9 Predict 0.149216 -17704 0 Sorting 3.2401 -17705 1 Data reordering 0.164128 -17706 2 Tree-construction 0.95504 -17707 11 Memory 0.001888 -17708 3 Compute properties 0.21968 -17709 10 setActiveGrpsFunc 0.068064 -17710 4 Approximation 0.166432 -17711 8 Correct 0.025088 -17712 7 Energy 0.048128 -17713 9 Predict 0.144224 -17714 0 Sorting 3.25264 -17715 1 Data reordering 0.16416 -17716 2 Tree-construction 0.994272 -17717 11 Memory 0.001888 -17718 3 Compute properties 0.217696 -17719 10 setActiveGrpsFunc 0.068704 -17720 4 Approximation 0.16672 -17721 8 Correct 0.025216 -17722 7 Energy 0.048704 -17723 9 Predict 0.144864 -17724 0 Sorting 3.26368 -17725 1 Data reordering 0.227648 -17726 2 Tree-construction 1.28227 -17727 11 Memory 0.001888 -17728 3 Compute properties 0.299296 -17729 10 setActiveGrpsFunc 0.090592 -17730 4 Approximation 0.178656 -17731 8 Correct 0.025504 -17732 7 Energy 0.049792 -17733 9 Predict 0.145792 -17734 0 Sorting 3.28077 -17735 1 Data reordering 0.165152 -17736 2 Tree-construction 0.96176 -17737 11 Memory 0.001888 -17738 3 Compute properties 0.21696 -17739 10 setActiveGrpsFunc 0.068416 -17740 4 Approximation 0.166656 -17741 8 Correct 0.025088 -17742 7 Energy 0.049056 -17743 9 Predict 0.145216 -17744 0 Sorting 3.23466 -17745 1 Data reordering 0.164992 -17746 2 Tree-construction 0.962848 -17747 11 Memory 0.00192 -17748 3 Compute properties 0.217504 -17749 10 setActiveGrpsFunc 0.06848 -17750 4 Approximation 0.16736 -17751 8 Correct 0.025056 -17752 7 Energy 0.048224 -17753 9 Predict 0.143808 -17754 0 Sorting 3.2911 -17755 1 Data reordering 0.163808 -17756 2 Tree-construction 0.95744 -17757 11 Memory 0.001888 -17758 3 Compute properties 0.21728 -17759 10 setActiveGrpsFunc 0.077344 -17760 4 Approximation 0.167616 -17761 8 Correct 0.02512 -17762 7 Energy 0.048416 -17763 9 Predict 0.144736 -17764 0 Sorting 3.24394 -17765 1 Data reordering 0.163872 -17766 2 Tree-construction 0.95664 -17767 11 Memory 0.00192 -17768 3 Compute properties 0.218112 -17769 10 setActiveGrpsFunc 0.068064 -17770 4 Approximation 0.164288 -17771 8 Correct 0.02512 -17772 7 Energy 0.048704 -17773 9 Predict 0.14432 -17774 0 Sorting 3.2751 -17775 1 Data reordering 0.164352 -17776 2 Tree-construction 0.883328 -17777 11 Memory 0.001888 -17778 3 Compute properties 0.199424 -17779 10 setActiveGrpsFunc 0.068064 -17780 4 Approximation 0.157856 -17781 8 Correct 0.024992 -17782 7 Energy 0.048416 -17783 9 Predict 0.144576 -17784 0 Sorting 3.24986 -17785 1 Data reordering 0.164128 -17786 2 Tree-construction 0.88416 -17787 11 Memory 0.00192 -17788 3 Compute properties 0.199136 -17789 10 setActiveGrpsFunc 0.068224 -17790 4 Approximation 0.157952 -17791 8 Correct 0.024992 -17792 7 Energy 0.048672 -17793 9 Predict 0.143584 -17794 0 Sorting 3.28995 -17795 1 Data reordering 0.16576 -17796 2 Tree-construction 0.885888 -17797 11 Memory 0.001888 -17798 3 Compute properties 0.19168 -17799 10 setActiveGrpsFunc 0.067968 -17800 4 Approximation 0.157408 -17801 8 Correct 0.025088 -17802 7 Energy 0.048736 -17803 9 Predict 0.146304 -17804 0 Sorting 3.24118 -17805 1 Data reordering 0.164096 -17806 2 Tree-construction 0.8944 -17807 11 Memory 0.00192 -17808 3 Compute properties 0.244 -17809 10 setActiveGrpsFunc 0.0888 -17810 4 Approximation 0.158496 -17811 8 Correct 0.025152 -17812 7 Energy 0.049216 -17813 9 Predict 0.145152 -17814 0 Sorting 3.29133 -17815 1 Data reordering 0.16496 -17816 2 Tree-construction 0.885312 -17817 11 Memory 0.00192 -17818 3 Compute properties 0.199616 -17819 10 setActiveGrpsFunc 0.06832 -17820 4 Approximation 0.15712 -17821 8 Correct 0.025152 -17822 7 Energy 0.048768 -17823 9 Predict 0.144544 -17824 0 Sorting 3.24995 -17825 1 Data reordering 0.164128 -17826 2 Tree-construction 0.955872 -17827 11 Memory 0.001888 -17828 3 Compute properties 0.21696 -17829 10 setActiveGrpsFunc 0.06864 -17830 4 Approximation 0.165696 -17831 8 Correct 0.025216 -17832 7 Energy 0.055392 -17833 9 Predict 0.189024 -17834 0 Sorting 3.29846 -17835 1 Data reordering 0.165056 -17836 2 Tree-construction 0.957536 -17837 11 Memory 0.001888 -17838 3 Compute properties 0.219136 -17839 10 setActiveGrpsFunc 0.067808 -17840 4 Approximation 0.166048 -17841 8 Correct 0.025216 -17842 7 Energy 0.04864 -17843 9 Predict 0.144192 -17844 0 Sorting 3.24592 -17845 1 Data reordering 0.170112 -17846 2 Tree-construction 0.996896 -17847 11 Memory 0.001888 -17848 3 Compute properties 0.250208 -17849 10 setActiveGrpsFunc 0.069952 -17850 4 Approximation 0.167904 -17851 8 Correct 0.02512 -17852 7 Energy 0.04896 -17853 9 Predict 0.144832 -17854 0 Sorting 3.24909 -17855 1 Data reordering 0.164768 -17856 2 Tree-construction 0.958688 -17857 11 Memory 0.001888 -17858 3 Compute properties 0.217984 -17859 10 setActiveGrpsFunc 0.068224 -17860 4 Approximation 0.166272 -17861 8 Correct 0.025088 -17862 7 Energy 0.04848 -17863 9 Predict 0.145312 -17864 0 Sorting 3.25334 -17865 1 Data reordering 0.16528 -17866 2 Tree-construction 1.02131 -17867 11 Memory 0.00192 -17868 3 Compute properties 0.244864 -17869 10 setActiveGrpsFunc 0.06864 -17870 4 Approximation 0.167392 -17871 8 Correct 0.02512 -17872 7 Energy 0.049152 -17873 9 Predict 0.14528 -17874 0 Sorting 3.24355 -17875 1 Data reordering 0.164064 -17876 2 Tree-construction 0.956704 -17877 11 Memory 0.001888 -17878 3 Compute properties 0.219136 -17879 10 setActiveGrpsFunc 0.068032 -17880 4 Approximation 0.165248 -17881 8 Correct 0.025216 -17882 7 Energy 0.048096 -17883 9 Predict 0.144704 -17884 0 Sorting 3.26854 -17885 1 Data reordering 0.18992 -17886 2 Tree-construction 0.973248 -17887 11 Memory 0.00192 -17888 3 Compute properties 0.211776 -17889 10 setActiveGrpsFunc 0.068896 -17890 4 Approximation 0.165952 -17891 8 Correct 0.025216 -17892 7 Energy 0.048768 -17893 9 Predict 0.14512 -17894 0 Sorting 3.2456 -17895 1 Data reordering 0.164928 -17896 2 Tree-construction 0.96656 -17897 11 Memory 0.001888 -17898 3 Compute properties 0.217728 -17899 10 setActiveGrpsFunc 0.067904 -17900 4 Approximation 0.166656 -17901 8 Correct 0.025056 -17902 7 Energy 0.048224 -17903 9 Predict 0.1448 -17904 0 Sorting 3.28256 -17905 1 Data reordering 0.165248 -17906 2 Tree-construction 0.967168 -17907 11 Memory 0.001888 -17908 3 Compute properties 0.217312 -17909 10 setActiveGrpsFunc 0.068352 -17910 4 Approximation 0.165504 -17911 8 Correct 0.025088 -17912 7 Energy 0.058144 -17913 9 Predict 0.145056 -17914 0 Sorting 3.24314 -17915 1 Data reordering 0.16432 -17916 2 Tree-construction 1.0073 -17917 11 Memory 0.001888 -17918 3 Compute properties 0.209856 -17919 10 setActiveGrpsFunc 0.067872 -17920 4 Approximation 0.166912 -17921 8 Correct 0.025344 -17922 7 Energy 0.048128 -17923 9 Predict 0.144608 -17924 0 Sorting 3.31306 -17925 1 Data reordering 0.165312 -17926 2 Tree-construction 0.957312 -17927 11 Memory 0.001888 -17928 3 Compute properties 0.217632 -17929 10 setActiveGrpsFunc 0.068192 -17930 4 Approximation 0.166752 -17931 8 Correct 0.02544 -17932 7 Energy 0.04912 -17933 9 Predict 0.144672 -17934 0 Sorting 3.26509 -17935 1 Data reordering 0.16496 -17936 2 Tree-construction 0.96032 -17937 11 Memory 0.001888 -17938 3 Compute properties 0.220032 -17939 10 setActiveGrpsFunc 0.06848 -17940 4 Approximation 0.165696 -17941 8 Correct 0.025312 -17942 7 Energy 0.048736 -17943 9 Predict 0.144512 -17944 0 Sorting 3.27466 -17945 1 Data reordering 0.16512 -17946 2 Tree-construction 0.959328 -17947 11 Memory 0.00192 -17948 3 Compute properties 0.216352 -17949 10 setActiveGrpsFunc 0.06832 -17950 4 Approximation 0.164384 -17951 8 Correct 0.02512 -17952 7 Energy 0.048672 -17953 9 Predict 0.144288 -17954 0 Sorting 3.70742 -17955 1 Data reordering 0.16608 -17956 2 Tree-construction 0.960384 -17957 11 Memory 0.00192 -17958 3 Compute properties 0.2208 -17959 10 setActiveGrpsFunc 0.069088 -17960 4 Approximation 0.16768 -17961 8 Correct 0.025248 -17962 7 Energy 0.048864 -17963 9 Predict 0.145504 -17964 0 Sorting 3.27373 -17965 1 Data reordering 0.165152 -17966 2 Tree-construction 0.958144 -17967 11 Memory 0.001888 -17968 3 Compute properties 0.219072 -17969 10 setActiveGrpsFunc 0.075488 -17970 4 Approximation 0.166528 -17971 8 Correct 0.025248 -17972 7 Energy 0.048768 -17973 9 Predict 0.14496 -17974 0 Sorting 3.24208 -17975 1 Data reordering 0.164352 -17976 2 Tree-construction 0.971936 -17977 11 Memory 0.001888 -17978 3 Compute properties 0.219904 -17979 10 setActiveGrpsFunc 0.06816 -17980 4 Approximation 0.165248 -17981 8 Correct 0.025152 -17982 7 Energy 0.048576 -17983 9 Predict 0.144704 -17984 0 Sorting 3.28883 -17985 1 Data reordering 0.165248 -17986 2 Tree-construction 0.958016 -17987 11 Memory 0.001888 -17988 3 Compute properties 0.210368 -17989 10 setActiveGrpsFunc 0.067808 -17990 4 Approximation 0.16464 -17991 8 Correct 0.025088 -17992 7 Energy 0.04864 -17993 9 Predict 0.144256 -17994 0 Sorting 3.24502 -17995 1 Data reordering 0.164032 -17996 2 Tree-construction 0.960672 -17997 11 Memory 0.001888 -17998 3 Compute properties 0.219392 -17999 10 setActiveGrpsFunc 0.09024 -18000 4 Approximation 0.166336 -18001 8 Correct 0.034208 -18002 7 Energy 0.048672 -18003 9 Predict 0.144864 -18004 0 Sorting 3.24845 -18005 1 Data reordering 0.164544 -18006 2 Tree-construction 0.956512 -18007 11 Memory 0.001888 -18008 3 Compute properties 0.218048 -18009 10 setActiveGrpsFunc 0.067712 -18010 4 Approximation 0.162048 -18011 8 Correct 0.025056 -18012 7 Energy 0.04848 -18013 9 Predict 0.14496 -18014 0 Sorting 3.24154 -18015 1 Data reordering 0.173856 -18016 2 Tree-construction 0.97984 -18017 11 Memory 0.00192 -18018 3 Compute properties 0.21856 -18019 10 setActiveGrpsFunc 0.068448 -18020 4 Approximation 0.164544 -18021 8 Correct 0.025024 -18022 7 Energy 0.04848 -18023 9 Predict 0.145536 -18024 0 Sorting 3.32941 -18025 1 Data reordering 0.183872 -18026 2 Tree-construction 0.998528 -18027 11 Memory 0.001888 -18028 3 Compute properties 0.216832 -18029 10 setActiveGrpsFunc 0.078976 -18030 4 Approximation 0.16544 -18031 8 Correct 0.025376 -18032 7 Energy 0.048864 -18033 9 Predict 0.144064 -18034 0 Sorting 3.41258 -18035 1 Data reordering 0.198816 -18036 2 Tree-construction 0.985568 -18037 11 Memory 0.001888 -18038 3 Compute properties 0.220896 -18039 10 setActiveGrpsFunc 0.085728 -18040 4 Approximation 0.16848 -18041 8 Correct 0.026496 -18042 7 Energy 0.049472 -18043 9 Predict 0.163424 -18044 0 Sorting 3.30858 -18045 1 Data reordering 0.164704 -18046 2 Tree-construction 0.956992 -18047 11 Memory 0.001888 -18048 3 Compute properties 0.218496 -18049 10 setActiveGrpsFunc 0.068032 -18050 4 Approximation 0.16496 -18051 8 Correct 0.025088 -18052 7 Energy 0.048832 -18053 9 Predict 0.144576 -18054 0 Sorting 3.26874 -18055 1 Data reordering 0.164736 -18056 2 Tree-construction 0.978208 -18057 11 Memory 0.001888 -18058 3 Compute properties 0.216288 -18059 10 setActiveGrpsFunc 0.068704 -18060 4 Approximation 0.165248 -18061 8 Correct 0.025088 -18062 7 Energy 0.04864 -18063 9 Predict 0.144064 -18064 0 Sorting 3.23754 -18065 1 Data reordering 0.16432 -18066 2 Tree-construction 0.957376 -18067 11 Memory 0.00192 -18068 3 Compute properties 0.216768 -18069 10 setActiveGrpsFunc 0.068064 -18070 4 Approximation 0.165472 -18071 8 Correct 0.025056 -18072 7 Energy 0.048224 -18073 9 Predict 0.143968 -18074 0 Sorting 3.28963 -18075 1 Data reordering 0.164608 -18076 2 Tree-construction 0.959584 -18077 11 Memory 0.001888 -18078 3 Compute properties 0.20896 -18079 10 setActiveGrpsFunc 0.06784 -18080 4 Approximation 0.164928 -18081 8 Correct 0.025248 -18082 7 Energy 0.04816 -18083 9 Predict 0.14416 -18084 0 Sorting 3.25469 -18085 1 Data reordering 0.164544 -18086 2 Tree-construction 0.957568 -18087 11 Memory 0.001888 -18088 3 Compute properties 0.217952 -18089 10 setActiveGrpsFunc 0.067744 -18090 4 Approximation 0.16496 -18091 8 Correct 0.02528 -18092 7 Energy 0.048768 -18093 9 Predict 0.143552 -18094 0 Sorting 3.3065 -18095 1 Data reordering 0.1656 -18096 2 Tree-construction 0.95824 -18097 11 Memory 0.00192 -18098 3 Compute properties 0.217952 -18099 10 setActiveGrpsFunc 0.067808 -18100 4 Approximation 0.164352 -18101 8 Correct 0.025184 -18102 7 Energy 0.04912 -18103 9 Predict 0.144704 -18104 0 Sorting 3.24739 -18105 1 Data reordering 0.164416 -18106 2 Tree-construction 0.955776 -18107 11 Memory 0.00192 -18108 3 Compute properties 0.218272 -18109 10 setActiveGrpsFunc 0.068384 -18110 4 Approximation 0.169632 -18111 8 Correct 0.025664 -18112 7 Energy 0.048896 -18113 9 Predict 0.14432 -18114 0 Sorting 3.27626 -18115 1 Data reordering 0.164608 -18116 2 Tree-construction 0.954464 -18117 11 Memory 0.001888 -18118 3 Compute properties 0.21776 -18119 10 setActiveGrpsFunc 0.067456 -18120 4 Approximation 0.165056 -18121 8 Correct 0.025216 -18122 7 Energy 0.048576 -18123 9 Predict 0.144288 -18124 0 Sorting 3.24426 -18125 1 Data reordering 0.163936 -18126 2 Tree-construction 0.960448 -18127 11 Memory 0.00192 -18128 3 Compute properties 0.211232 -18129 10 setActiveGrpsFunc 0.06816 -18130 4 Approximation 0.165344 -18131 8 Correct 0.024992 -18132 7 Energy 0.048096 -18133 9 Predict 0.144192 -18134 0 Sorting 3.28672 -18135 1 Data reordering 0.164736 -18136 2 Tree-construction 0.958016 -18137 11 Memory 0.001888 -18138 3 Compute properties 0.210144 -18139 10 setActiveGrpsFunc 0.067808 -18140 4 Approximation 0.165568 -18141 8 Correct 0.025152 -18142 7 Energy 0.048384 -18143 9 Predict 0.144704 -18144 0 Sorting 3.25056 -18145 1 Data reordering 0.163616 -18146 2 Tree-construction 0.891872 -18147 11 Memory 0.001888 -18148 3 Compute properties 0.198048 -18149 10 setActiveGrpsFunc 0.068544 -18150 4 Approximation 0.157664 -18151 8 Correct 0.025088 -18152 7 Energy 0.04864 -18153 9 Predict 0.170432 -18154 0 Sorting 3.28758 -18155 1 Data reordering 0.164352 -18156 2 Tree-construction 0.955808 -18157 11 Memory 0.001888 -18158 3 Compute properties 0.2168 -18159 10 setActiveGrpsFunc 0.067936 -18160 4 Approximation 0.166784 -18161 8 Correct 0.02512 -18162 7 Energy 0.048288 -18163 9 Predict 0.144704 -18164 0 Sorting 3.24778 -18165 1 Data reordering 0.16912 -18166 2 Tree-construction 0.95872 -18167 11 Memory 0.001888 -18168 3 Compute properties 0.240576 -18169 10 setActiveGrpsFunc 0.080928 -18170 4 Approximation 0.168416 -18171 8 Correct 0.02496 -18172 7 Energy 0.048448 -18173 9 Predict 0.144416 -18174 0 Sorting 3.25133 -18175 1 Data reordering 0.16432 -18176 2 Tree-construction 0.896544 -18177 11 Memory 0.001888 -18178 3 Compute properties 0.187488 -18179 10 setActiveGrpsFunc 0.077952 -18180 4 Approximation 0.182112 -18181 8 Correct 0.03344 -18182 7 Energy 0.066912 -18183 9 Predict 0.191392 -18184 0 Sorting 3.5688 -18185 1 Data reordering 0.166048 -18186 2 Tree-construction 0.921408 -18187 11 Memory 0.001888 -18188 3 Compute properties 0.188512 -18189 10 setActiveGrpsFunc 0.06816 -18190 4 Approximation 0.16144 -18191 8 Correct 0.025408 -18192 7 Energy 0.048704 -18193 9 Predict 0.144704 -18194 0 Sorting 3.24451 -18195 1 Data reordering 0.16448 -18196 2 Tree-construction 0.885024 -18197 11 Memory 0.001888 -18198 3 Compute properties 0.187488 -18199 10 setActiveGrpsFunc 0.06784 -18200 4 Approximation 0.16016 -18201 8 Correct 0.025088 -18202 7 Energy 0.047968 -18203 9 Predict 0.14384 -18204 0 Sorting 3.24701 -18205 1 Data reordering 0.188224 -18206 2 Tree-construction 0.923648 -18207 11 Memory 0.001888 -18208 3 Compute properties 0.188704 -18209 10 setActiveGrpsFunc 0.06752 -18210 4 Approximation 0.158784 -18211 8 Correct 0.02544 -18212 7 Energy 0.048128 -18213 9 Predict 0.144384 -18214 0 Sorting 3.24042 -18215 1 Data reordering 0.164256 -18216 2 Tree-construction 0.884064 -18217 11 Memory 0.00192 -18218 3 Compute properties 0.188032 -18219 10 setActiveGrpsFunc 0.068192 -18220 4 Approximation 0.15888 -18221 8 Correct 0.025152 -18222 7 Energy 0.048448 -18223 9 Predict 0.144224 -18224 0 Sorting 3.28272 -18225 1 Data reordering 0.164576 -18226 2 Tree-construction 0.969888 -18227 11 Memory 0.001888 -18228 3 Compute properties 0.215168 -18229 10 setActiveGrpsFunc 0.068192 -18230 4 Approximation 0.166624 -18231 8 Correct 0.025024 -18232 7 Energy 0.04864 -18233 9 Predict 0.144512 -18234 0 Sorting 3.23949 -18235 1 Data reordering 0.16432 -18236 2 Tree-construction 0.958496 -18237 11 Memory 0.00192 -18238 3 Compute properties 0.2144 -18239 10 setActiveGrpsFunc 0.067808 -18240 4 Approximation 0.166528 -18241 8 Correct 0.025248 -18242 7 Energy 0.048032 -18243 9 Predict 0.144128 -18244 0 Sorting 3.28534 -18245 1 Data reordering 0.164544 -18246 2 Tree-construction 0.96544 -18247 11 Memory 0.00192 -18248 3 Compute properties 0.20816 -18249 10 setActiveGrpsFunc 0.068192 -18250 4 Approximation 0.165632 -18251 8 Correct 0.02528 -18252 7 Energy 0.048864 -18253 9 Predict 0.144832 -18254 0 Sorting 3.25072 -18255 1 Data reordering 0.16464 -18256 2 Tree-construction 0.95664 -18257 11 Memory 0.001888 -18258 3 Compute properties 0.216832 -18259 10 setActiveGrpsFunc 0.068256 -18260 4 Approximation 0.165312 -18261 8 Correct 0.025216 -18262 7 Energy 0.048064 -18263 9 Predict 0.144288 -18264 0 Sorting 3.29232 -18265 1 Data reordering 0.164256 -18266 2 Tree-construction 0.965216 -18267 11 Memory 0.001888 -18268 3 Compute properties 0.216032 -18269 10 setActiveGrpsFunc 0.06784 -18270 4 Approximation 0.16528 -18271 8 Correct 0.02512 -18272 7 Energy 0.048576 -18273 9 Predict 0.144928 -18274 0 Sorting 3.24237 -18275 1 Data reordering 0.164192 -18276 2 Tree-construction 0.957024 -18277 11 Memory 0.001888 -18278 3 Compute properties 0.209088 -18279 10 setActiveGrpsFunc 0.06768 -18280 4 Approximation 0.165312 -18281 8 Correct 0.025056 -18282 7 Energy 0.048416 -18283 9 Predict 0.143712 -18284 0 Sorting 3.28842 -18285 1 Data reordering 0.165024 -18286 2 Tree-construction 0.95504 -18287 11 Memory 0.001888 -18288 3 Compute properties 0.215264 -18289 10 setActiveGrpsFunc 0.067648 -18290 4 Approximation 0.167648 -18291 8 Correct 0.025056 -18292 7 Energy 0.048608 -18293 9 Predict 0.144384 -18294 0 Sorting 3.24842 -18295 1 Data reordering 0.164256 -18296 2 Tree-construction 0.957312 -18297 11 Memory 0.00192 -18298 3 Compute properties 0.220096 -18299 10 setActiveGrpsFunc 0.068128 -18300 4 Approximation 0.175168 -18301 8 Correct 0.025312 -18302 7 Energy 0.048864 -18303 9 Predict 0.144992 -18304 0 Sorting 3.26784 -18305 1 Data reordering 0.164928 -18306 2 Tree-construction 0.958432 -18307 11 Memory 0.001888 -18308 3 Compute properties 0.217184 -18309 10 setActiveGrpsFunc 0.067968 -18310 4 Approximation 0.167776 -18311 8 Correct 0.025216 -18312 7 Energy 0.04848 -18313 9 Predict 0.144128 -18314 0 Sorting 3.24093 -18315 1 Data reordering 0.164192 -18316 2 Tree-construction 0.967968 -18317 11 Memory 0.001984 -18318 3 Compute properties 0.2144 -18319 10 setActiveGrpsFunc 0.07472 -18320 4 Approximation 0.190528 -18321 8 Correct 0.033952 -18322 7 Energy 0.067552 -18323 9 Predict 0.19248 -18324 0 Sorting 3.64608 -18325 1 Data reordering 0.165824 -18326 2 Tree-construction 0.970048 -18327 11 Memory 0.001888 -18328 3 Compute properties 0.207264 -18329 10 setActiveGrpsFunc 0.067872 -18330 4 Approximation 0.16816 -18331 8 Correct 0.024992 -18332 7 Energy 0.048864 -18333 9 Predict 0.144416 -18334 0 Sorting 3.24646 -18335 1 Data reordering 0.164224 -18336 2 Tree-construction 0.98032 -18337 11 Memory 0.001888 -18338 3 Compute properties 0.230784 -18339 10 setActiveGrpsFunc 0.069312 -18340 4 Approximation 0.16688 -18341 8 Correct 0.025152 -18342 7 Energy 0.048288 -18343 9 Predict 0.144736 -18344 0 Sorting 3.26019 -18345 1 Data reordering 0.164512 -18346 2 Tree-construction 0.956928 -18347 11 Memory 0.001888 -18348 3 Compute properties 0.21344 -18349 10 setActiveGrpsFunc 0.068128 -18350 4 Approximation 0.167296 -18351 8 Correct 0.02512 -18352 7 Energy 0.048928 -18353 9 Predict 0.144864 -18354 0 Sorting 3.25219 -18355 1 Data reordering 0.163968 -18356 2 Tree-construction 0.993088 -18357 11 Memory 0.00192 -18358 3 Compute properties 0.215808 -18359 10 setActiveGrpsFunc 0.068 -18360 4 Approximation 0.167392 -18361 8 Correct 0.0256 -18362 7 Energy 0.048544 -18363 9 Predict 0.144128 -18364 0 Sorting 3.24707 -18365 1 Data reordering 0.164288 -18366 2 Tree-construction 0.955936 -18367 11 Memory 0.001888 -18368 3 Compute properties 0.217088 -18369 10 setActiveGrpsFunc 0.068032 -18370 4 Approximation 0.165088 -18371 8 Correct 0.025216 -18372 7 Energy 0.048288 -18373 9 Predict 0.144384 -18374 0 Sorting 3.25123 -18375 1 Data reordering 0.196768 -18376 2 Tree-construction 0.984288 -18377 11 Memory 0.00192 -18378 3 Compute properties 0.216736 -18379 10 setActiveGrpsFunc 0.068416 -18380 4 Approximation 0.166144 -18381 8 Correct 0.025056 -18382 7 Energy 0.04848 -18383 9 Predict 0.144384 -18384 0 Sorting 3.24141 -18385 1 Data reordering 0.163968 -18386 2 Tree-construction 0.958848 -18387 11 Memory 0.00192 -18388 3 Compute properties 0.215968 -18389 10 setActiveGrpsFunc 0.068512 -18390 4 Approximation 0.168352 -18391 8 Correct 0.02528 -18392 7 Energy 0.048768 -18393 9 Predict 0.144448 -18394 0 Sorting 3.35955 -18395 1 Data reordering 0.164704 -18396 2 Tree-construction 0.97024 -18397 11 Memory 0.00192 -18398 3 Compute properties 0.215584 -18399 10 setActiveGrpsFunc 0.068128 -18400 4 Approximation 0.167808 -18401 8 Correct 0.025184 -18402 7 Energy 0.048192 -18403 9 Predict 0.144928 -18404 0 Sorting 3.24643 -18405 1 Data reordering 0.163936 -18406 2 Tree-construction 0.957536 -18407 11 Memory 0.00192 -18408 3 Compute properties 0.220224 -18409 10 setActiveGrpsFunc 0.067904 -18410 4 Approximation 0.168 -18411 8 Correct 0.025152 -18412 7 Energy 0.048256 -18413 9 Predict 0.144672 -18414 0 Sorting 3.28166 -18415 1 Data reordering 0.16512 -18416 2 Tree-construction 0.964384 -18417 11 Memory 0.001888 -18418 3 Compute properties 0.216864 -18419 10 setActiveGrpsFunc 0.068128 -18420 4 Approximation 0.168128 -18421 8 Correct 0.025152 -18422 7 Energy 0.048544 -18423 9 Predict 0.144704 -18424 0 Sorting 3.24051 -18425 1 Data reordering 0.164032 -18426 2 Tree-construction 0.956832 -18427 11 Memory 0.00192 -18428 3 Compute properties 0.218048 -18429 10 setActiveGrpsFunc 0.068416 -18430 4 Approximation 0.167808 -18431 8 Correct 0.025056 -18432 7 Energy 0.048384 -18433 9 Predict 0.143744 -18434 0 Sorting 3.2952 -18435 1 Data reordering 0.164544 -18436 2 Tree-construction 0.956992 -18437 11 Memory 0.001888 -18438 3 Compute properties 0.217312 -18439 10 setActiveGrpsFunc 0.067776 -18440 4 Approximation 0.162592 -18441 8 Correct 0.025216 -18442 7 Energy 0.048864 -18443 9 Predict 0.145184 -18444 0 Sorting 3.24781 -18445 1 Data reordering 0.164096 -18446 2 Tree-construction 0.955488 -18447 11 Memory 0.001856 -18448 3 Compute properties 0.20944 -18449 10 setActiveGrpsFunc 0.067808 -18450 4 Approximation 0.167456 -18451 8 Correct 0.025984 -18452 7 Energy 0.05024 -18453 9 Predict 0.145184 -18454 0 Sorting 3.27363 -18455 1 Data reordering 0.164928 -18456 2 Tree-construction 0.956768 -18457 11 Memory 0.001888 -18458 3 Compute properties 0.217216 -18459 10 setActiveGrpsFunc 0.067904 -18460 4 Approximation 0.165312 -18461 8 Correct 0.02496 -18462 7 Energy 0.048672 -18463 9 Predict 0.144128 -18464 0 Sorting 3.24355 -18465 1 Data reordering 0.164448 -18466 2 Tree-construction 0.954304 -18467 11 Memory 0.001888 -18468 3 Compute properties 0.22224 -18469 10 setActiveGrpsFunc 0.06912 -18470 4 Approximation 0.16352 -18471 8 Correct 0.02528 -18472 7 Energy 0.04832 -18473 9 Predict 0.144224 -18474 0 Sorting 3.27718 -18475 1 Data reordering 0.165632 -18476 2 Tree-construction 0.964032 -18477 11 Memory 0.001888 -18478 3 Compute properties 0.22064 -18479 10 setActiveGrpsFunc 0.068736 -18480 4 Approximation 0.163488 -18481 8 Correct 0.025216 -18482 7 Energy 0.04832 -18483 9 Predict 0.14416 -18484 0 Sorting 3.23405 -18485 1 Data reordering 0.163584 -18486 2 Tree-construction 0.963904 -18487 11 Memory 0.001888 -18488 3 Compute properties 0.219392 -18489 10 setActiveGrpsFunc 0.068352 -18490 4 Approximation 0.162848 -18491 8 Correct 0.02512 -18492 7 Energy 0.048384 -18493 9 Predict 0.164576 -18494 0 Sorting 3.28163 -18495 1 Data reordering 0.164032 -18496 2 Tree-construction 1.04957 -18497 11 Memory 0.00192 -18498 3 Compute properties 0.218112 -18499 10 setActiveGrpsFunc 0.068384 -18500 4 Approximation 0.163104 -18501 8 Correct 0.025152 -18502 7 Energy 0.04832 -18503 9 Predict 0.1448 -18504 0 Sorting 3.3185 -18505 1 Data reordering 0.163872 -18506 2 Tree-construction 0.981056 -18507 11 Memory 0.001888 -18508 3 Compute properties 0.23936 -18509 10 setActiveGrpsFunc 0.068832 -18510 4 Approximation 0.167776 -18511 8 Correct 0.025216 -18512 7 Energy 0.048928 -18513 9 Predict 0.144128 -18514 0 Sorting 3.25526 -18515 1 Data reordering 0.1648 -18516 2 Tree-construction 0.954496 -18517 11 Memory 0.001888 -18518 3 Compute properties 0.218144 -18519 10 setActiveGrpsFunc 0.067968 -18520 4 Approximation 0.166464 -18521 8 Correct 0.025024 -18522 7 Energy 0.048416 -18523 9 Predict 0.144256 -18524 0 Sorting 3.25011 -18525 1 Data reordering 0.165152 -18526 2 Tree-construction 0.992896 -18527 11 Memory 0.001888 -18528 3 Compute properties 0.21792 -18529 10 setActiveGrpsFunc 0.068032 -18530 4 Approximation 0.166336 -18531 8 Correct 0.02528 -18532 7 Energy 0.048608 -18533 9 Predict 0.14432 -18534 0 Sorting 3.23898 -18535 1 Data reordering 0.164288 -18536 2 Tree-construction 0.963456 -18537 11 Memory 0.001888 -18538 3 Compute properties 0.217728 -18539 10 setActiveGrpsFunc 0.067904 -18540 4 Approximation 0.165568 -18541 8 Correct 0.025152 -18542 7 Energy 0.048288 -18543 9 Predict 0.144416 -18544 0 Sorting 3.5311 -18545 1 Data reordering 0.227456 -18546 2 Tree-construction 1.1632 -18547 11 Memory 0.001888 -18548 3 Compute properties 0.218784 -18549 10 setActiveGrpsFunc 0.068416 -18550 4 Approximation 0.167904 -18551 8 Correct 0.025024 -18552 7 Energy 0.049472 -18553 9 Predict 0.144544 -18554 0 Sorting 3.24362 -18555 1 Data reordering 0.164352 -18556 2 Tree-construction 0.95488 -18557 11 Memory 0.00192 -18558 3 Compute properties 0.218464 -18559 10 setActiveGrpsFunc 0.067936 -18560 4 Approximation 0.16768 -18561 8 Correct 0.02496 -18562 7 Energy 0.047904 -18563 9 Predict 0.144192 -18564 0 Sorting 3.27136 -18565 1 Data reordering 0.176384 -18566 2 Tree-construction 0.962048 -18567 11 Memory 0.00192 -18568 3 Compute properties 0.218176 -18569 10 setActiveGrpsFunc 0.068096 -18570 4 Approximation 0.166112 -18571 8 Correct 0.025088 -18572 7 Energy 0.048384 -18573 9 Predict 0.144736 -18574 0 Sorting 3.23936 -18575 1 Data reordering 0.163648 -18576 2 Tree-construction 0.954848 -18577 11 Memory 0.001888 -18578 3 Compute properties 0.219168 -18579 10 setActiveGrpsFunc 0.068256 -18580 4 Approximation 0.176832 -18581 8 Correct 0.025088 -18582 7 Energy 0.04832 -18583 9 Predict 0.143936 -18584 0 Sorting 3.2769 -18585 1 Data reordering 0.164768 -18586 2 Tree-construction 0.955712 -18587 11 Memory 0.001888 -18588 3 Compute properties 0.21776 -18589 10 setActiveGrpsFunc 0.067936 -18590 4 Approximation 0.166944 -18591 8 Correct 0.02496 -18592 7 Energy 0.048768 -18593 9 Predict 0.143904 -18594 0 Sorting 3.24637 -18595 1 Data reordering 0.164224 -18596 2 Tree-construction 0.956 -18597 11 Memory 0.001888 -18598 3 Compute properties 0.210752 -18599 10 setActiveGrpsFunc 0.067776 -18600 4 Approximation 0.164736 -18601 8 Correct 0.02528 -18602 7 Energy 0.047904 -18603 9 Predict 0.151616 -18604 0 Sorting 3.2881 -18605 1 Data reordering 0.165056 -18606 2 Tree-construction 0.958048 -18607 11 Memory 0.001984 -18608 3 Compute properties 0.218784 -18609 10 setActiveGrpsFunc 0.067808 -18610 4 Approximation 0.165568 -18611 8 Correct 0.025056 -18612 7 Energy 0.049216 -18613 9 Predict 0.144864 -18614 0 Sorting 3.25101 -18615 1 Data reordering 0.165216 -18616 2 Tree-construction 0.961632 -18617 11 Memory 0.00192 -18618 3 Compute properties 0.224928 -18619 10 setActiveGrpsFunc 0.069024 -18620 4 Approximation 0.165504 -18621 8 Correct 0.025344 -18622 7 Energy 0.049344 -18623 9 Predict 0.144576 -18624 0 Sorting 3.2687 -18625 1 Data reordering 0.173888 -18626 2 Tree-construction 0.95472 -18627 11 Memory 0.001888 -18628 3 Compute properties 0.222432 -18629 10 setActiveGrpsFunc 0.068256 -18630 4 Approximation 0.165792 -18631 8 Correct 0.025152 -18632 7 Energy 0.049184 -18633 9 Predict 0.144032 -18634 0 Sorting 3.23654 -18635 1 Data reordering 0.164416 -18636 2 Tree-construction 0.96576 -18637 11 Memory 0.001888 -18638 3 Compute properties 0.228 -18639 10 setActiveGrpsFunc 0.068608 -18640 4 Approximation 0.168512 -18641 8 Correct 0.025088 -18642 7 Energy 0.04864 -18643 9 Predict 0.143968 -18644 0 Sorting 3.25654 -18645 1 Data reordering 0.164864 -18646 2 Tree-construction 0.96 -18647 11 Memory 0.001888 -18648 3 Compute properties 0.210432 -18649 10 setActiveGrpsFunc 0.067808 -18650 4 Approximation 0.168768 -18651 8 Correct 0.025088 -18652 7 Energy 0.048832 -18653 9 Predict 0.14432 -18654 0 Sorting 3.24842 -18655 1 Data reordering 0.163744 -18656 2 Tree-construction 0.959808 -18657 11 Memory 0.00192 -18658 3 Compute properties 0.239872 -18659 10 setActiveGrpsFunc 0.070304 -18660 4 Approximation 0.18 -18661 8 Correct 0.025216 -18662 7 Energy 0.049088 -18663 9 Predict 0.169248 -18664 0 Sorting 3.24685 -18665 1 Data reordering 0.164256 -18666 2 Tree-construction 0.957568 -18667 11 Memory 0.001888 -18668 3 Compute properties 0.216768 -18669 10 setActiveGrpsFunc 0.067968 -18670 4 Approximation 0.168352 -18671 8 Correct 0.025024 -18672 7 Energy 0.048672 -18673 9 Predict 0.143968 -18674 0 Sorting 3.24902 -18675 1 Data reordering 0.16448 -18676 2 Tree-construction 0.988096 -18677 11 Memory 0.002016 -18678 3 Compute properties 0.219424 -18679 10 setActiveGrpsFunc 0.068384 -18680 4 Approximation 0.165408 -18681 8 Correct 0.025152 -18682 7 Energy 0.048832 -18683 9 Predict 0.151328 -18684 0 Sorting 3.22909 -18685 1 Data reordering 0.16432 -18686 2 Tree-construction 0.95504 -18687 11 Memory 0.001888 -18688 3 Compute properties 0.217632 -18689 10 setActiveGrpsFunc 0.067744 -18690 4 Approximation 0.16416 -18691 8 Correct 0.025248 -18692 7 Energy 0.048896 -18693 9 Predict 0.144288 -18694 0 Sorting 3.24515 -18695 1 Data reordering 0.164416 -18696 2 Tree-construction 1.01184 -18697 11 Memory 0.001888 -18698 3 Compute properties 0.219744 -18699 10 setActiveGrpsFunc 0.068192 -18700 4 Approximation 0.164448 -18701 8 Correct 0.025184 -18702 7 Energy 0.049088 -18703 9 Predict 0.144448 -18704 0 Sorting 3.24563 -18705 1 Data reordering 0.164928 -18706 2 Tree-construction 0.886336 -18707 11 Memory 0.00192 -18708 3 Compute properties 0.199008 -18709 10 setActiveGrpsFunc 0.068096 -18710 4 Approximation 0.157216 -18711 8 Correct 0.02512 -18712 7 Energy 0.049312 -18713 9 Predict 0.143936 -18714 0 Sorting 3.28474 -18715 1 Data reordering 0.165312 -18716 2 Tree-construction 0.985408 -18717 11 Memory 0.00192 -18718 3 Compute properties 0.217856 -18719 10 setActiveGrpsFunc 0.067808 -18720 4 Approximation 0.164192 -18721 8 Correct 0.025024 -18722 7 Energy 0.04864 -18723 9 Predict 0.144352 -18724 0 Sorting 3.23626 -18725 1 Data reordering 0.164768 -18726 2 Tree-construction 0.970272 -18727 11 Memory 0.00192 -18728 3 Compute properties 0.215104 -18729 10 setActiveGrpsFunc 0.068128 -18730 4 Approximation 0.165664 -18731 8 Correct 0.024992 -18732 7 Energy 0.048832 -18733 9 Predict 0.144032 -18734 0 Sorting 3.26515 -18735 1 Data reordering 0.164512 -18736 2 Tree-construction 0.970976 -18737 11 Memory 0.00192 -18738 3 Compute properties 0.217664 -18739 10 setActiveGrpsFunc 0.068192 -18740 4 Approximation 0.164 -18741 8 Correct 0.025152 -18742 7 Energy 0.048992 -18743 9 Predict 0.144864 -18744 0 Sorting 3.25424 -18745 1 Data reordering 0.164768 -18746 2 Tree-construction 0.954912 -18747 11 Memory 0.001888 -18748 3 Compute properties 0.217344 -18749 10 setActiveGrpsFunc 0.068384 -18750 4 Approximation 0.164768 -18751 8 Correct 0.02512 -18752 7 Energy 0.048992 -18753 9 Predict 0.144288 -18754 0 Sorting 3.29446 -18755 1 Data reordering 0.165312 -18756 2 Tree-construction 0.957344 -18757 11 Memory 0.00192 -18758 3 Compute properties 0.218304 -18759 10 setActiveGrpsFunc 0.067968 -18760 4 Approximation 0.165536 -18761 8 Correct 0.025152 -18762 7 Energy 0.04896 -18763 9 Predict 0.144224 -18764 0 Sorting 3.25008 -18765 1 Data reordering 0.164224 -18766 2 Tree-construction 0.959072 -18767 11 Memory 0.00192 -18768 3 Compute properties 0.21696 -18769 10 setActiveGrpsFunc 0.067776 -18770 4 Approximation 0.166592 -18771 8 Correct 0.025056 -18772 7 Energy 0.048704 -18773 9 Predict 0.144672 -18774 0 Sorting 3.70736 -18775 1 Data reordering 0.22912 -18776 2 Tree-construction 0.998112 -18777 11 Memory 0.001952 -18778 3 Compute properties 0.220288 -18779 10 setActiveGrpsFunc 0.068224 -18780 4 Approximation 0.165152 -18781 8 Correct 0.025056 -18782 7 Energy 0.049312 -18783 9 Predict 0.145024 -18784 0 Sorting 3.2439 -18785 1 Data reordering 0.164 -18786 2 Tree-construction 0.97968 -18787 11 Memory 0.001888 -18788 3 Compute properties 0.218432 -18789 10 setActiveGrpsFunc 0.06848 -18790 4 Approximation 0.163616 -18791 8 Correct 0.025184 -18792 7 Energy 0.048672 -18793 9 Predict 0.144448 -18794 0 Sorting 3.27494 -18795 1 Data reordering 0.164608 -18796 2 Tree-construction 0.955584 -18797 11 Memory 0.001888 -18798 3 Compute properties 0.219456 -18799 10 setActiveGrpsFunc 0.068192 -18800 4 Approximation 0.164416 -18801 8 Correct 0.024928 -18802 7 Energy 0.0488 -18803 9 Predict 0.14432 -18804 0 Sorting 3.248 -18805 1 Data reordering 0.16496 -18806 2 Tree-construction 0.964224 -18807 11 Memory 0.00192 -18808 3 Compute properties 0.219104 -18809 10 setActiveGrpsFunc 0.068448 -18810 4 Approximation 0.164224 -18811 8 Correct 0.04816 -18812 7 Energy 0.051296 -18813 9 Predict 0.145376 -18814 0 Sorting 3.25869 -18815 1 Data reordering 0.165248 -18816 2 Tree-construction 0.956768 -18817 11 Memory 0.00192 -18818 3 Compute properties 0.335552 -18819 10 setActiveGrpsFunc 0.069504 -18820 4 Approximation 0.164928 -18821 8 Correct 0.025152 -18822 7 Energy 0.049248 -18823 9 Predict 0.144352 -18824 0 Sorting 3.24762 -18825 1 Data reordering 0.164512 -18826 2 Tree-construction 0.994272 -18827 11 Memory 0.001888 diff --git a/src/amuse/community/bonsai/interface.py b/src/amuse/community/bonsai/interface.py index 8a33473dba..6a4e6484b1 100644 --- a/src/amuse/community/bonsai/interface.py +++ b/src/amuse/community/bonsai/interface.py @@ -1,303 +1,7 @@ -import os.path -from amuse.community import * -from amuse.community.interface.gd import GravitationalDynamicsInterface -from amuse.community.interface.gd import GravitationalDynamics -from amuse.community.interface.gd import SinglePointGravityFieldInterface -from amuse.community.interface.gd import GravityFieldCode +from amuse.support.import_helper import load_code -class BonsaiInterface(CodeInterface, - LiteratureReferencesMixIn, - GravitationalDynamicsInterface, - StoppingConditionInterface, - CodeWithDataDirectories, - SinglePointGravityFieldInterface): - """ - .. [#] ADS:2012JCoPh.231.2825B (Bedorf J., Gaburov E., Portegies Zwart S., 2012, JCoPh, 231, 2825) - """ - - include_headers = ['worker_code.h', 'stopcond.h'] - - def name_of_worker(self,mode): - return 'bonsai_worker' - - def __init__(self, mode=None, **options): - CodeInterface.__init__(self, name_of_the_worker = self.name_of_worker(mode), **options) - LiteratureReferencesMixIn.__init__(self) - CodeWithDataDirectories.__init__(self) - self.set_src_directory( - os.path.join(self.amuse_root_directory, 'src', 'amuse', 'community', 'bonsai', 'src', '') - ) - - @legacy_function - def set_src_directory(): - function = LegacyFunctionSpecification() - function.addParameter('src_directory', dtype='string', direction=function.IN, - description = "The path to the Bonsai src directory.") - function.result_type = 'int32' - return function - - @legacy_function - def set_time_step(): - function = LegacyFunctionSpecification() - function.addParameter('time_step', dtype='float64', direction=function.IN, - description = "The current timestep for the system") - function.result_type = 'int32' - return function - - @legacy_function - def set_mass(): - """ - Update the mass of a particle. Mass is a scalar property of a particle. - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the particle for which the state is to be updated. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('mass', dtype='float64', direction=function.IN, description = "The new mass of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found in the model and the information was set - -1 - ERROR - particle could not be found - """ - - return function - - @legacy_function - def set_state(): - """ - Update the current state of a particle. The *minimal* information of a stellar - dynamics particle (mass, position and velocity) is updated. - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the particle for which the state is to be updated. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('mass', dtype='float64', direction=function.IN, description = "The new mass of the particle") - function.addParameter('radius', dtype='float64', direction=function.IN, description = "The new radius of the particle") - function.addParameter('x', dtype='float64', direction=function.IN, description = "The new position vector of the particle") - function.addParameter('y', dtype='float64', direction=function.IN, description = "The new position vector of the particle") - function.addParameter('z', dtype='float64', direction=function.IN, description = "The new position vector of the particle") - function.addParameter('vx', dtype='float64', direction=function.IN, description = "The new velocity vector of the particle") - function.addParameter('vy', dtype='float64', direction=function.IN, description = "The new velocity vector of the particle") - function.addParameter('vz', dtype='float64', direction=function.IN, description = "The new velocity vector of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found in the model and the information was set - -1 - ERROR - particle could not be found - """ - return function - - - @legacy_function - def set_position(): - """ - Update the position of a particle. - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the particle for which the state is to be updated. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('x', dtype='float64', direction=function.IN, description = "The new position vector of the particle") - function.addParameter('y', dtype='float64', direction=function.IN, description = "The new position vector of the particle") - function.addParameter('z', dtype='float64', direction=function.IN, description = "The new position vector of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found in the model and the information was set - -1 - ERROR - particle could not be found - -2 - ERROR - code does not support updating of a particle - """ - return function - - @legacy_function - def set_velocity(): - """ - Set the velocity vector of a particle. - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the particle to get the state from. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('vx', dtype='float64', direction=function.IN, description = "The current x component of the velocity vector of the particle") - function.addParameter('vy', dtype='float64', direction=function.IN, description = "The current y component of the velocity vector of the particle") - function.addParameter('vz', dtype='float64', direction=function.IN, description = "The current z component of the velocity vector of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - current value was retrieved - -1 - ERROR - particle could not be found - -2 - ERROR - not yet implemented - """ - return function - - @legacy_function - def get_theta_for_tree(): - """ - Get theta, the opening angle for building the tree: between 0 and 1. - """ - function = LegacyFunctionSpecification() - function.addParameter('theta_for_tree', dtype='float64', direction=function.OUT, - description = "theta, the opening angle for building the tree: between 0 and 1") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was retrieved - -1 - ERROR - could not retrieve parameter - """ - return function - - @legacy_function - def set_theta_for_tree(): - """ - Set theta, the opening angle for building the tree: between 0 and 1. - """ - function = LegacyFunctionSpecification() - function.addParameter('theta_for_tree', dtype='float64', direction=function.IN, - description = "theta, the opening angle for building the tree: between 0 and 1") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was set - -1 - ERROR - could not set parameter - """ - return function - - @legacy_function - def get_eta(): - """ - Get eta, the block time-step parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('eta', dtype='float64', direction=function.OUT, - description = "Eta, time-step parameter") - function.result_type = 'int32' - return function - - @legacy_function - def set_eta(): - """ - Set eta, the block time-step parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('eta', dtype='float64', direction=function.IN, - description = "Eta, time-step parameter") - function.result_type = 'int32' - return function - -class Bonsai(GravitationalDynamics): - - def __init__(self, unit_converter = None, **options): - self.stopping_conditions = StoppingConditions(self) - - - legacy_interface = BonsaiInterface(**options) - GravitationalDynamics.__init__( - self, - legacy_interface, - unit_converter, - **options - ) - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_eps2", - "set_eps2", - "epsilon_squared", - "smoothing parameter for gravity calculations", - default_value = 0.05**2 | nbody_system.length**2 - ) - - handler.add_method_parameter( - "get_time_step", - "set_time_step", - "timestep", - "timestep for the system", - default_value = 1.0 / 64 | nbody_system.time - ) - - handler.add_method_parameter( - "get_eta", - "set_eta", - "timestep_parameter", - "timestep parameter for the block time-step", - default_value = 0.1 - ) - - handler.add_method_parameter( - "get_theta_for_tree", - "set_theta_for_tree", - "opening_angle", - "opening angle, theta, for building the tree: between 0 and 1", - default_value = 0.75 - ) - - handler.add_method_parameter( - "get_begin_time", - "set_begin_time", - "begin_time", - "model time to start the simulation at", - default_value = 0.0 | nbody_system.time - ) - self.stopping_conditions.define_parameters(handler) - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - handler.add_method( - "set_time", - (nbody_system.time,), - (handler.ERROR_CODE,) - ) - handler.add_method( - "set_time_step", - (nbody_system.time,), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_eps2", - (), - (nbody_system.length**2, handler.ERROR_CODE,) - ) - handler.add_method( - "get_time", - (), - (nbody_system.time, handler.ERROR_CODE,) - ) - handler.add_method( - "set_eps2", - (nbody_system.length**2,), - (handler.ERROR_CODE,) - ) - self.stopping_conditions.define_methods(handler) - - def define_particle_sets(self, handler): - GravitationalDynamics.define_particle_sets(self, handler) - - self.stopping_conditions.define_particle_set(handler) - - def define_errorcodes(self, handler): - handler.add_errorcode(-1, 'Unspecified, other error.') - handler.add_errorcode(-2, 'Called function is not implemented.') - handler.add_errorcode(-3, 'A particle with the given index was not found.') - handler.add_errorcode(-4, 'The tree has become too deep, consider the removal of far away particles to prevent a too large box.') - - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - - self.stopping_conditions.define_state(handler) +BonsaiInterface = load_code("bonsai", "BonsaiInterface") +Bonsai = load_code("bonsai", "Bonsai") +Bonsai = Bonsai diff --git a/src/amuse/community/bonsai2/interface.py b/src/amuse/community/bonsai2/interface.py index dfb083f26b..78ff577f42 100644 --- a/src/amuse/community/bonsai2/interface.py +++ b/src/amuse/community/bonsai2/interface.py @@ -1,297 +1,7 @@ -import os.path -from amuse.community import * -from amuse.community.interface.gd import GravitationalDynamicsInterface, GravitationalDynamics +from amuse.support.import_helper import load_code -class Bonsai2Interface(CodeInterface, LiteratureReferencesMixIn, GravitationalDynamicsInterface, - StoppingConditionInterface, CodeWithDataDirectories): - """ - .. [#] ADS:2014hpcn.conf...54B (Bedorf J., et al., 2014, SC'14 proceedings, 54-65, https://doi.org/10.1109/SC.2014.10) - .. [#] ADS:2012JCoPh.231.2825B (Bedorf J., Gaburov E., Portegies Zwart S., 2012, JCoPh, 231, 2825) - """ - include_headers = ['worker_code.h', 'stopcond.h'] - - def name_of_worker(self,mode): - return 'bonsai_worker' - - def __init__(self, mode=None, **options): - CodeInterface.__init__(self, name_of_the_worker = self.name_of_worker(mode), **options) - LiteratureReferencesMixIn.__init__(self) - CodeWithDataDirectories.__init__(self) - self.set_src_directory( - os.path.join(self.amuse_root_directory, 'src', 'amuse', 'community', 'bonsai2', 'src', '') - ) - - @legacy_function - def set_src_directory(): - function = LegacyFunctionSpecification() - function.addParameter('src_directory', dtype='string', direction=function.IN, - description = "The path to the Bonsai2 src directory.") - function.result_type = 'int32' - return function - - @legacy_function - def set_time_step(): - function = LegacyFunctionSpecification() - function.addParameter('time_step', dtype='float64', direction=function.IN, - description = "The current timestep for the system") - function.result_type = 'int32' - return function - - @legacy_function - def set_mass(): - """ - Update the mass of a particle. Mass is a scalar property of a particle. - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the particle for which the state is to be updated. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('mass', dtype='float64', direction=function.IN, description = "The new mass of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found in the model and the information was set - -1 - ERROR - particle could not be found - """ - - return function - - @legacy_function - def set_state(): - """ - Update the current state of a particle. The *minimal* information of a stellar - dynamics particle (mass, position and velocity) is updated. - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the particle for which the state is to be updated. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('mass', dtype='float64', direction=function.IN, description = "The new mass of the particle") - function.addParameter('radius', dtype='float64', direction=function.IN, description = "The new radius of the particle") - function.addParameter('x', dtype='float64', direction=function.IN, description = "The new position vector of the particle") - function.addParameter('y', dtype='float64', direction=function.IN, description = "The new position vector of the particle") - function.addParameter('z', dtype='float64', direction=function.IN, description = "The new position vector of the particle") - function.addParameter('vx', dtype='float64', direction=function.IN, description = "The new velocity vector of the particle") - function.addParameter('vy', dtype='float64', direction=function.IN, description = "The new velocity vector of the particle") - function.addParameter('vz', dtype='float64', direction=function.IN, description = "The new velocity vector of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found in the model and the information was set - -1 - ERROR - particle could not be found - """ - return function - - - @legacy_function - def set_position(): - """ - Update the position of a particle. - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the particle for which the state is to be updated. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('x', dtype='float64', direction=function.IN, description = "The new position vector of the particle") - function.addParameter('y', dtype='float64', direction=function.IN, description = "The new position vector of the particle") - function.addParameter('z', dtype='float64', direction=function.IN, description = "The new position vector of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found in the model and the information was set - -1 - ERROR - particle could not be found - -2 - ERROR - code does not support updating of a particle - """ - return function - - @legacy_function - def set_velocity(): - """ - Set the velocity vector of a particle. - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the particle to get the state from. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('vx', dtype='float64', direction=function.IN, description = "The current x component of the velocity vector of the particle") - function.addParameter('vy', dtype='float64', direction=function.IN, description = "The current y component of the velocity vector of the particle") - function.addParameter('vz', dtype='float64', direction=function.IN, description = "The current z component of the velocity vector of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - current value was retrieved - -1 - ERROR - particle could not be found - -2 - ERROR - not yet implemented - """ - return function - - @legacy_function - def get_theta_for_tree(): - """ - Get theta, the opening angle for building the tree: between 0 and 1. - """ - function = LegacyFunctionSpecification() - function.addParameter('theta_for_tree', dtype='float64', direction=function.OUT, - description = "theta, the opening angle for building the tree: between 0 and 1") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was retrieved - -1 - ERROR - could not retrieve parameter - """ - return function - - @legacy_function - def set_theta_for_tree(): - """ - Set theta, the opening angle for building the tree: between 0 and 1. - """ - function = LegacyFunctionSpecification() - function.addParameter('theta_for_tree', dtype='float64', direction=function.IN, - description = "theta, the opening angle for building the tree: between 0 and 1") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was set - -1 - ERROR - could not set parameter - """ - return function - - -# @legacy_function -# def get_eta(): -# """ -# Get eta, the block time-step parameter. -# """ -# function = LegacyFunctionSpecification() -# function.addParameter('eta', dtype='float64', direction=function.OUT, -# description = "Eta, time-step parameter") -# function.result_type = 'int32' -# return function -# -# @legacy_function -# def set_eta(): -# """ -# Set eta, the block time-step parameter. -# """ -# function = LegacyFunctionSpecification() -# function.addParameter('eta', dtype='float64', direction=function.IN, -# description = "Eta, time-step parameter") -# function.result_type = 'int32' -# return function - -class Bonsai2(GravitationalDynamics): - - def __init__(self, unit_converter = None, **options): - self.stopping_conditions = StoppingConditions(self) - - - legacy_interface = Bonsai2Interface(**options) - GravitationalDynamics.__init__( - self, - legacy_interface, - unit_converter, - **options - ) - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_eps2", - "set_eps2", - "epsilon_squared", - "smoothing parameter for gravity calculations", - default_value = 0.05**2 | nbody_system.length**2 - ) - - handler.add_method_parameter( - "get_time_step", - "set_time_step", - "timestep", - "timestep for the system", - default_value = 1.0 / 64 | nbody_system.time - ) - -# handler.add_method_parameter( -# "get_eta", -# "set_eta", -# "timestep_parameter", -# "timestep parameter for the block time-step", -# default_value = 0.1 -# ) - - handler.add_method_parameter( - "get_theta_for_tree", - "set_theta_for_tree", - "opening_angle", - "opening angle, theta, for building the tree: between 0 and 1", - default_value = 0.75 - ) - - handler.add_method_parameter( - "get_begin_time", - "set_begin_time", - "begin_time", - "model time to start the simulation at", - default_value = 0.0 | nbody_system.time - ) - self.stopping_conditions.define_parameters(handler) - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - handler.add_method( - "set_time", - (nbody_system.time,), - (handler.ERROR_CODE,) - ) - handler.add_method( - "set_time_step", - (nbody_system.time,), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_eps2", - (), - (nbody_system.length**2, handler.ERROR_CODE,) - ) - handler.add_method( - "get_time", - (), - (nbody_system.time, handler.ERROR_CODE,) - ) - handler.add_method( - "set_eps2", - (nbody_system.length**2,), - (handler.ERROR_CODE,) - ) - self.stopping_conditions.define_methods(handler) - - def define_particle_sets(self, handler): - GravitationalDynamics.define_particle_sets(self, handler) - - self.stopping_conditions.define_particle_set(handler) - - def define_errorcodes(self, handler): - handler.add_errorcode(-1, 'Unspecified, other error.') - handler.add_errorcode(-2, 'Called function is not implemented.') - handler.add_errorcode(-3, 'A particle with the given index was not found.') - handler.add_errorcode(-4, 'The tree has become too deep, consider the removal of far away particles to prevent a too large box.') - - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - - self.stopping_conditions.define_state(handler) +Bonsai2Interface = load_code("bonsai2", "Bonsai2Interface") +Bonsai2 = load_code("bonsai2", "Bonsai2") +Bonsai2 = Bonsai2 diff --git a/src/amuse/community/brutus/Makefile b/src/amuse/community/brutus/Makefile deleted file mode 100644 index 583a066142..0000000000 --- a/src/amuse/community/brutus/Makefile +++ /dev/null @@ -1,57 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -############################################################### -# Download and install the following libraries: -# gmp: https://gmplib.org/ -# mpfr: http://www.mpfr.org/ -# mpfrc++: http://www.holoborodko.com/pavel/mpfr/ -# Change these paths in this Makefile and in src/makefile -GMP_LIBS ?= -L/usr/lib/x86_64-linux-gnu/ -lgmp # libgmp.a -MPFR_LIBS ?= -L/usr/lib/x86_64-linux-gnu/ -lmpfr # libmpfr.a -MPFR_FLAGS += -I./mpfrc++ # mpreal.h -############################################################### - -LIBS += $(MPFR_LIBS) $(GMP_LIBS) - -MPICXX ?= mpicxx -MPICC ?= mpicc - -#CC = $(MPICC) -#CXX = $(MPICXX) - -CXXFLAGS ?= -Wall -g -O2 - -CXXFLAGS += $(MPFR_FLAGS) -std=c++0x -I../mpfrc++ - - -CODELIB = src/libbrutus.a -OBJ = interface.o - -all: brutus_worker - -clean: - rm -f *.so *.o *.pyc worker_code.cc worker_code.h - rm -f *~ brutus_worker - make -C src clean - -$(CODELIB): - make -C src all CXXFLAGS="$(CXXFLAGS)" - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py BrutusInterface -o $@ - -worker_code.h: interface.py - $(CODE_GENERATOR) --type=H -i amuse.community.interface.stopping_conditions.StoppingConditionInterface interface.py BrutusInterface -o $@ - -brutus_worker: worker_code.cc worker_code.h $(CODELIB) $(OBJ) - $(MPICXX) $(CXXFLAGS) $(MPFR_FLAGS) $(SC_FLAGS) -I./src $< $(CODELIB) $(OBJ) -o $@ -L./src -lbrutus $(SC_CLIBS) $(LIBS) - -interface.o: interface.cc - $(MPICXX) $(CXXFLAGS) $(MPFR_FLAGS) $(SC_FLAGS) -Impfrc++ -I./src -c -o $@ $< - - diff --git a/src/amuse/community/brutus/interface.cc b/src/amuse/community/brutus/interface.cc deleted file mode 100644 index b08c3ae253..0000000000 --- a/src/amuse/community/brutus/interface.cc +++ /dev/null @@ -1,679 +0,0 @@ -//////////////////////////////////////////////////////// -// Includes -//////////////////////////////////////////////////////// -#include - -#include -#include -#include -#include - -#include "Brutus.h" - -//////////////////////////////////////////////////////// -// Declare global variables -//////////////////////////////////////////////////////// -std::ofstream odata; - -int particle_id_counter = 0; - -int numBits = 64; -int numDigits = numBits/4; - -std::string out_directory; -std::map local_index_map; - -/* - * We need this result_strings array to ensure that - * C++ strings are not reclaimed before the function ends - */ -std::string result_strings[10]; - -Brutus *brutus = NULL; - -mpreal t_begin = "0"; -mpreal eta = "0.24"; -mpreal t = "0"; - -mpreal epsilon = "1e-6"; // Bulirsch-Stoer tolerance - -std::vector data, data_radius; - -//////////////////////////////////////////////////////// -// Amuse interface functions -//////////////////////////////////////////////////////// - -int initialize_code() { - odata.open("temp.log"); - - mpreal::set_default_prec(numBits); - - brutus = new Brutus(); - - particle_id_counter = 0; - data.clear(); - data_radius.clear(); - - t_begin = "0"; - t = t_begin; - - return 0; -} - -// functions with "_string" assign strings to mpreals, and without "_string" assign doubles to mpreals - -int new_particle_string(int *particle_identifier, char* mass, - char* x, char* y, char* z, char* vx, char* vy, char* vz, char* radius) { - - data.push_back(mass); - data.push_back(x); - data.push_back(y); - data.push_back(z); - data.push_back(vx); - data.push_back(vy); - data.push_back(vz); - - data_radius.push_back(radius); - - *particle_identifier = particle_id_counter; - particle_id_counter++; - - return 0; -} -int new_particle_float64(int *particle_identifier, double mass, - double x, double y, double z, double vx, double vy, double vz, double radius) { - - data.push_back( (mpreal)mass ); - data.push_back( (mpreal)x ); - data.push_back( (mpreal)y ); - data.push_back( (mpreal)z ); - data.push_back( (mpreal)vx ); - data.push_back( (mpreal)vy ); - data.push_back( (mpreal)vz ); - - data_radius.push_back( (mpreal)radius ); - - *particle_identifier = particle_id_counter; - particle_id_counter++; - - return 0; -} - -int commit_particles() { - brutus->set_data(data); - - int numStar = data.size()/7; - brutus->setup(); - - return 0; -} - -// Begin time -int set_t_begin_string(char* tb) { - t_begin = tb; - return 0; -} -int get_t_begin_string(char **tb) { - result_strings[0] = t_begin.toString(); - *tb = (char*) result_strings[0].c_str(); - return 0; -} -int set_t_begin(double tb) { - t_begin = (mpreal)tb; - return 0; -} -int get_t_begin(double *tb) { - *tb = t_begin.toDouble(); - return 0; -} - -int set_begin_time(double input) { - t_begin = (mpreal)input; - return 0; -} -int get_begin_time(double * output) { - *output = t_begin.toDouble(); - return 0; -} - -// Timestep parameter, eta -int set_eta_string(char* myeta) { - eta = myeta; - brutus->set_eta(eta); - return 0; -} -int get_eta_string(char **myeta) { - result_strings[0] = eta.toString(); - *myeta = (char*) result_strings[0].c_str(); - return 0; -} -int set_eta(double myeta) { - eta = (mpreal)myeta; - brutus->set_eta(eta); - return 0; -} -int get_eta(double *myeta) { - *myeta = eta.toDouble(); - return 0; -} - -int get_time_step(double* dtt){ - *dtt = eta.toDouble(); - return 0; -} - -// Time -int set_t_string(char* tt) { - t = tt; - return 0; -} -int get_t_string(char **tt) { - result_strings[0] = t.toString(); - *tt = (char*) result_strings[0].c_str(); - return 0; -} -int set_t(double tt) { - t = (mpreal)tt; - return 0; -} -int get_t(double *tt) { - *tt = t.toDouble(); - return 0; -} - -int get_time(double* time){ - *time = t.toDouble(); - return 0; -} - -// Bulirsch-Stoer tolerance, epsilon -// internally epsilon is mpreal, for the interface (and in practice) a double bs_tolerance is enough -int set_bs_tolerance_string(char *bs_tolerance) { - epsilon = bs_tolerance; - brutus->set_tolerance(epsilon); - return 0; -} -int get_bs_tolerance_string(char **bs_tolerance) { - result_strings[0] = epsilon.toString(); - *bs_tolerance = (char*) result_strings[0].c_str(); - return 0; -} -int set_bs_tolerance(double bs_tolerance) { - -odata << t << ": changing e from " << epsilon << ", to " << bs_tolerance << std::endl; - - epsilon = (mpreal) bs_tolerance; - brutus->set_tolerance(epsilon); - -odata << epsilon << " " << brutus->get_tolerance() << std::endl; - - return 0; -} -int get_bs_tolerance(double *bs_tolerance) { - *bs_tolerance = epsilon.toDouble(); - return 0; -} -// Word-length, numBits in mantissa -int set_word_length(int mynumBits) { -odata << t << ": changing L from " << numBits << ", to " << mynumBits << std::endl; - - numBits = mynumBits; - mpreal::set_default_prec(numBits); - numDigits = (int)abs(log10( pow("2.0", -numBits) )).toLong(); - brutus->set_numBits(numBits); - -odata << numBits << " " << brutus->get_numBits() << std::endl; - - return 0; -} -int get_word_length(int *mynumBits) { - *mynumBits = numBits; - return 0; -} - -int set_eps2(double eps2) { - return 0; -} -int get_eps2(double *eps2) { - return 0; -} - -int commit_parameters() { - //brutus = new Brutus(t_begin, data, epsilon, numBits); - - //Brutus br(t_begin, data, epsilon, numBits); - //brutus = &br; - //brutus = new Brutus(t_begin, data, epsilon, numBits); - - //brutus->set_t_begin(t_begin); - //brutus->set_tolerance(epsilon); - //brutus->set_numBits(numBits); - return 0; -} -int recommit_parameters() { - return commit_parameters(); -} - -// Get/set particle properties -std::string mass_string; -int get_mass_string(int id, char **mass) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - mass_string = data[id*7+0].toString(); - *mass = (char*) mass_string.c_str(); - return 0; -} -int set_mass_string(int id, char *mass) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - data[id*7+0] = mass; - return 0; -} -int get_mass(int id, double* mass) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - *mass = data[id*7+0].toDouble(); - return 0; -} -int set_mass(int id, double mass) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - data[id*7+0] = (mpreal)mass; - return 0; -} -std::string position_string_x; -std::string position_string_y; -std::string position_string_z; -int get_position_string(int id, char **x, char **y, char **z) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - position_string_x = data[id*7+1].toString(); - position_string_y = data[id*7+2].toString(); - position_string_z = data[id*7+3].toString(); - *x = (char*) position_string_x.c_str(); - *y = (char*) position_string_y.c_str(); - *z = (char*) position_string_z.c_str(); - return 0; -} -int set_position_string(int id, char *x, char *y, char *z) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - data[id*7+1] = x; - data[id*7+2] = y; - data[id*7+3] = z; - return 0; -} -int get_position(int id, double* x, double* y, double* z) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - *x = data[id*7+1].toDouble(); - *y = data[id*7+2].toDouble(); - *z = data[id*7+3].toDouble(); - return 0; -} -int set_position(int id, double x, double y, double z) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - data[id*7+1] = (mpreal)x; - data[id*7+2] = (mpreal)y; - data[id*7+3] = (mpreal)z; - return 0; -} - -std::string velocity_string_vx; -std::string velocity_string_vy; -std::string velocity_string_vz; -int get_velocity_string(int id, char **vx, char **vy, char **vz) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - velocity_string_vx = data[id*7+4].toString(); - velocity_string_vy = data[id*7+5].toString(); - velocity_string_vz = data[id*7+6].toString(); - *vx = (char*) velocity_string_vx.c_str(); - *vy = (char*) velocity_string_vy.c_str(); - *vz = (char*) velocity_string_vz.c_str(); - return 0; -} -int set_velocity_string(int id, char* vx, char* vy, char* vz) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - data[id*7+4] = vx; - data[id*7+5] = vy; - data[id*7+6] = vz; - return 0; -} -int get_velocity(int id, double* vx, double* vy, double* vz) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - *vx = data[id*7+4].toDouble(); - *vy = data[id*7+5].toDouble(); - *vz = data[id*7+6].toDouble(); - return 0; -} -int set_velocity(int id, double vx, double vy, double vz) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - data[id*7+4] = (mpreal)vx; - data[id*7+5] = (mpreal)vy; - data[id*7+6] = (mpreal)vz; - return 0; -} - -std::string get_state_strings_m; -std::string get_state_strings_x; -std::string get_state_strings_y; -std::string get_state_strings_z; -std::string get_state_strings_vx; -std::string get_state_strings_vy; -std::string get_state_strings_vz; -std::string get_state_strings_r; -int get_state_string(int id, char** m, char** x, char** y, char** z, char** vx, char** vy, char** vz, char** radius) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - get_state_strings_m=data[id*7+0].toString(); - get_state_strings_x=data[id*7+1].toString(); - get_state_strings_y=data[id*7+2].toString(); - get_state_strings_z=data[id*7+3].toString(); - get_state_strings_vx=data[id*7+4].toString(); - get_state_strings_vy=data[id*7+5].toString(); - get_state_strings_vz=data[id*7+6].toString(); - get_state_strings_r= data_radius[id].toString(); - *m = (char*) get_state_strings_m.c_str(); - *x = (char*) get_state_strings_x.c_str(); - *y = (char*) get_state_strings_y.c_str(); - *z = (char*) get_state_strings_z.c_str(); - *vx = (char*) get_state_strings_vx.c_str(); - *vy = (char*) get_state_strings_vy.c_str(); - *vz = (char*) get_state_strings_vz.c_str(); - *radius = (char*) get_state_strings_r.c_str(); - return 0; -} -int set_state_string(int id, char* m, char* x, char* y, char* z, char* vx, char* vy, char* vz, char* radius) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - data_radius[id] = radius; - data[id*7+0] = m; - data[id*7+1] = x; - data[id*7+2] = y; - data[id*7+3] = z; - data[id*7+4] = vx; - data[id*7+5] = vy; - data[id*7+6] = vz; - return 0; -} -int get_state(int id, double* m, double* x, double* y, double* z, double* vx, double* vy, double* vz, double* radius) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - *radius = data_radius[id].toDouble(); - *m = data[id*7+0].toDouble(); - *x = data[id*7+1].toDouble(); - *y = data[id*7+2].toDouble(); - *z = data[id*7+3].toDouble(); - *vx = data[id*7+4].toDouble(); - *vy = data[id*7+5].toDouble(); - *vz = data[id*7+6].toDouble(); - return 0; -} -int set_state(int id, double m, double x, double y, double z, double vx, double vy, double vz, double radius) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - data_radius[id] = (mpreal)radius; - data[id*7+0] = (mpreal)m; - data[id*7+1] = (mpreal)x; - data[id*7+2] = (mpreal)y; - data[id*7+3] = (mpreal)z; - data[id*7+4] = (mpreal)vx; - data[id*7+5] = (mpreal)vy; - data[id*7+6] = (mpreal)vz; - return 0; -} - -std::string radius_string; -int get_radius_string(int id, char** radius){ - if (id < 0 || id >= particle_id_counter){ - return -1; - } - radius_string = data_radius[id].toString(); - *radius = (char*) radius_string.c_str(); - return 0; -} -int set_radius_string(int id, char* radius) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - data_radius[id] = radius; - return 0; -} -int get_radius(int id, double* radius){ - if (id < 0 || id >= particle_id_counter){ - return -1; - } - *radius = data_radius[id].toDouble(); - return 0; -} -int set_radius(int id, double radius) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - data_radius[id] = (mpreal)radius; - return 0; -} - -// Evolve -int evolve_model(double t_end) { - brutus->evolve((mpreal)t_end); - t = (mpreal)t_end; - data = brutus->get_data(); - return 0; -} - -int synchronize_model() { - return 0; -} -int cleanup_code() { - odata.close(); - delete brutus; - particle_id_counter = 0; - return 0; -} - -int delete_particle(int id) { - return -2; -} -int recommit_particles() { - return -2; -} - -int set_brutus_output_directory(char *output_directory){ - out_directory = std::string(output_directory); - if(out_directory.length() > 0){ - if(*out_directory.rbegin() != '/'){ - out_directory.append("/"); - } - } - return 0; -} -int get_brutus_output_directory(char **output_directory){ - *output_directory = (char*) out_directory.c_str(); - return 0; -} - -int get_potential(int id, double* pot){return -2;} -int get_gravity_at_point(double m, double x, double y, double z, double* rx, double* ry, double* rz){return -2;} -int get_number_of_particles(int* N){return -2;} -int get_potential_at_point(double m, double x, double y, double z, double* p){return -2;} -int get_total_radius(double* R){return -2;} -int get_index_of_first_particle(int* id){return -2;} -int get_index_of_next_particle(int id, int* idnext){return -2;} - -std::string total_mass_string; -int get_total_mass_string(char **M){ - int N = data.size()/7; - mpreal Mtot = "0"; - for(int i=0; i rcm(3,"0"); - for(int i=0; i vcm(3,"0"); - for(int i=0; i mpmath.mp.prec): - mpmath.mp.prec=len_ - - - def initialize_code(self): - result = self.overridden().initialize_code() - self.parameters.brutus_output_directory = self.output_directory - return result - - def get_potential_energy_p_si(self): - self.adjust_prec() - a=self.convert_nbody.to_si(nbody_system.energy).number - b=mpmath.mpf(self.get_potential_energy_string())*a - return b #* self.convert_nbody.to_si(nbody_system.energy).unit - - def get_total_energy_p_si(self): - self.adjust_prec() - a=self.convert_nbody.to_si(nbody_system.energy).number - b=mpmath.mpf(self.get_total_energy_string())*a - return b #* self.convert_nbody.to_si(nbody_system.energy).unit - - def get_kinetic_energy_p_si(self): - self.adjust_prec() - a=self.convert_nbody.to_si(nbody_system.energy).number - b=mpmath.mpf(self.get_kinetic_energy_string())*a - return b #* self.convert_nbody.to_si(nbody_system.energy).unit - - def get_total_mass_p_si(self): - self.adjust_prec() - a=self.convert_nbody.to_si(nbody_system.mass).number - b=mpmath.mpf(self.get_total_mass_string())*a - return b #* self.convert_nbody.to_si(nbody_system.energy).unit - - def get_mass_p_si(self,index): - self.adjust_prec() - a=self.convert_nbody.to_si(nbody_system.mass).number - b=mpmath.mpf(self.get_mass_string(index))*a - return b #* self.convert_nbody.to_si(nbody_system.energy).unit - - def get_radius_p_si(self,index): - self.adjust_prec() - a=self.convert_nbody.to_si(nbody_system.length).number - b=mpmath.mpf(self.get_radius_string(index))*a - return b #* self.convert_nbody.to_si(nbody_system.energy).unit - - def get_time_p_si(self): - self.adjust_prec() - return mpmath.mpf(self.get_time().number) - - def get_velocity_p_si(self,index): - self.adjust_prec() - a=self.convert_nbody.to_si(nbody_system.speed).number - b=mpmath.matrix(self.get_velocity_string(index))*a - return b #* self.convert_nbody.to_si(nbody_system.energy).unit - - def get_position_p_si(self,index): - self.adjust_prec() - a=self.convert_nbody.to_si(nbody_system.length).number - b=mpmath.matrix(self.get_position_string(index))*a - return b #* self.convert_nbody.to_si(nbody_system.energy).unit - - def new_particle_p_si(self,m,x,y,z,vx,vy,vz,radius): - self.adjust_prec() - um=self.convert_nbody.to_si(nbody_system.mass).number - ul=self.convert_nbody.to_si(nbody_system.length).number - us=self.convert_nbody.to_si(nbody_system.speed).number - return self.new_particle_string(str(m/um) ,str(x/ul) , - str(y/ul) ,str(z/ul) , - str(vx/us) ,str(vy/us) , - str(vz/us) ,str(radius/ul)) - - def set_state_p_si(self,index,m,x,y,z,vx,vy,vz,radius): - self.adjust_prec() - um=self.convert_nbody.to_si(nbody_system.mass).number - ul=self.convert_nbody.to_si(nbody_system.length).number - us=self.convert_nbody.to_si(nbody_system.speed).number - return self.set_state_string(index ,str(m/um) ,str(x/ul) , - str(y/ul) ,str(z/ul) , - str(vx/us) ,str(vy/us) , - str(vz/us) ,str(radius/ul)) - - def set_mass_p_si(self,index,m): - self.adjust_prec() - um=self.convert_nbody.to_si(nbody_system.mass).number - self.set_mass_string(index ,str(m/um)) - - def set_radius_p_si(self,index,radius): - self.adjust_prec() - ul=self.convert_nbody.to_si(nbody_system.length).number - self.set_radius_string(index ,str(radius/ul)) - - - def set_position_p_si(self,index,x,y,z): - self.adjust_prec() - ul=self.convert_nbody.to_si(nbody_system.length).number - self.set_position_string(index ,str(x/ul) ,str(y/ul) ,str(z/ul)) - - def set_velocity_p_si(self,index,vx,vy,vz): - self.adjust_prec() - us=self.convert_nbody.to_si(nbody_system.speed).number - self.set_velocity_string(index ,str(vx/us) ,str(vy/us) ,str(vz/us)) - - - def get_state_p_si(self,index): - self.adjust_prec() - b=mpmath.matrix(self.get_state_string(index)) - a=self.convert_nbody.to_si(nbody_system.mass).number - b[0]=b[0]*a - a=self.convert_nbody.to_si(nbody_system.length).number - b[1]=b[1]*a - b[2]=b[2]*a - b[3]=b[3]*a - a=self.convert_nbody.to_si(nbody_system.speed).number - b[4]=b[4]*a - b[5]=b[5]*a - b[6]=b[6]*a - a=self.convert_nbody.to_si(nbody_system.length).number - b[7]=b[7]*a - return b #* self.convert_nbody.to_si(nbody_system.energy).unit - - def define_parameters(self, handler): - GravitationalDynamics.define_parameters(self, handler) - self.stopping_conditions.define_parameters(handler) - - handler.add_method_parameter( - "get_bs_tolerance", - "set_bs_tolerance", - "bs_tolerance", - "Error tolerance of the Bulirsch-Stoer integrator", - default_value = 1.0e-8 - ) - - handler.add_method_parameter( - "get_word_length", - "set_word_length", - "word_length", - "The word length, or number of bits for the mantissa, used for the arbitrary precision calculations (#digits = log10(2**# bits) ", - default_value = 72 - ) - - handler.add_method_parameter( - "get_eta", - "set_eta", - "dt_param", - "dt_param, the time-step parameter for the adaptive time-step criterion", - default_value = 0.24 - ) - - handler.add_method_parameter( - "get_brutus_output_directory", - "set_brutus_output_directory", - "brutus_output_directory", - "Path to the directory where Brutus stores its output", - default_value = "./" - ) - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - self.stopping_conditions.define_methods(handler) - - handler.add_method("get_bs_tolerance", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_bs_tolerance", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) - - handler.add_method("get_word_length", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_word_length", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) - - handler.add_method("get_eta", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_eta", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) - - handler.add_method("get_brutus_output_directory", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_brutus_output_directory", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) - - def define_particle_sets(self, handler): - GravitationalDynamics.define_particle_sets(self, handler) - self.stopping_conditions.define_particle_set(handler) - +BrutusInterface = load_code("brutus", "BrutusInterface") +Brutus = load_code("brutus", "Brutus") +Brutus = Brutus diff --git a/src/amuse/community/bse/Makefile b/src/amuse/community/bse/Makefile deleted file mode 100644 index 72e3aa454d..0000000000 --- a/src/amuse/community/bse/Makefile +++ /dev/null @@ -1,46 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPIFC ?= mpif90 -FORTRAN ?= gfortran - -F77FLAGS = -ifneq (,$(findstring xlf, $(notdir $(FORTRAN)))) -F77FLAGS += -qfixed -endif - - - -OBJ = src/comenv.o src/corerd.o src/deltat.o src/dgcore.o \ - src/evolv1.o src/evolv2.o src/gntage.o src/hrdiag.o \ - src/instar.o src/kick.o src/mix.o src/mlwind.o \ - src/mrenv.o src/popbin.o src/ran3.o src/rl.o \ - src/sse.o src/star.o src/zcnsts.o src/zfuncs.o - -BSEOBJ = src/comenv.o src/corerd.o src/deltat.o src/dgcore.o \ - src/evolv2.o src/gntage.o src/hrdiag.o src/instar.o \ - src/kick.o src/mix.o src/mlwind.o src/mrenv.o \ - src/ran3.o src/rl.o src/star.o src/zcnsts.o src/zfuncs.o - -all: bse_worker - -clean: - $(RM) -f *~ *.so *.o src/*.o - $(RM) -f src/bse bse_worker worker_code worker_code.f90 - $(RM) -f worker_code-sockets.f90 bse_worker_sockets - $(RM) -f amuse_worker_module.mod - $(RM) -f forsockets.mod - -bse_worker: worker_code.f90 interface.o $(BSEOBJ) - make -C src bse CMPLR=$(FORTRAN) FFLAGS="$(FFLAGS) $(F77FLAGS)" - $(MPIFC) $(FFLAGS) $(FS_FLAGS) $(LDFLAGS) $^ -o $@ $(FS_LIBS) $(LIBS) - -worker_code.f90: interface.py - $(CODE_GENERATOR) --type=f90 interface.py BSEInterface -o $@ - -.f.o: $< - $(FORTRAN) -c $(F77FLAGS) $(FFLAGS) -o $@ $< diff --git a/src/amuse/community/bse/interface.py b/src/amuse/community/bse/interface.py index 4edad8aa17..e9282f794f 100644 --- a/src/amuse/community/bse/interface.py +++ b/src/amuse/community/bse/interface.py @@ -1,644 +1,7 @@ -from amuse.community import * -from amuse.units import units -from amuse.units import constants -from amuse.units.quantities import Quantity -from amuse.community.interface import common +from amuse.support.import_helper import load_code -from amuse.datamodel import Particles -from amuse.datamodel import ParticlesSubset - -import numpy - -class BSEInterface(CodeInterface, common.CommonCodeInterface , LiteratureReferencesMixIn): - """ - Binary evolution is performed by the **rapid** binary-star evolution (BSE) - algorithm. Circularization of eccentric orbits and synchronization of stellar - rotation with the orbital motion owing to tidal interaction is modelled in detail. - Angular momentum loss mechanisms, such as gravitational radiation and magnetic - braking, are also modelled. Wind accretion, where the secondary may accrete some - of the material lost from the primary in a wind, is allowed with the necessary - adjustments made to the orbital parameters in the event of any mass variations. - Mass transfer also occurs if either star fills its Roche lobe and may proceed on a - nuclear, thermal or dynamical time-scale. In the latter regime, the radius of the - primary increases in response to mass-loss at a faster rate than the Roche-lobe of - the star. Stars with deep surface convection zones and degenerate stars are - unstable to such dynamical time-scale mass loss unless the mass ratio of the system - is less than some critical value. The outcome is a common-envelope event if the - primary is a giant star. This results in merging or formation of a close binary, or - a direct merging if the primary is a white dwarf or low-mass main-sequence star. On - the other hand, mass transfer on a nuclear or thermal time-scale is assumed to be a - steady process. Prescriptions to determine the type and rate of mass transfer, the - response of the secondary to accretion and the outcome of any merger events are in - place in BSE and the details can be found in the BSE paper: - - .. [#] ADS:2002MNRAS.329..897H (Hurley J.R., Tout C.A., & Pols O.R., 2002, MNRAS, 329, 897) - .. [#] ADS:2000MNRAS.315..543H (Hurley J.R., Pols O.R., Tout C.A., 2000, MNRAS, 315, 543) - """ - def __init__(self, **options): - CodeInterface.__init__(self, name_of_the_worker="bse_worker", **options) - LiteratureReferencesMixIn.__init__(self) - - @legacy_function - def initialize(): - function = LegacyFunctionSpecification() - function.addParameter('z_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('neta_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('bwind_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('hewind_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('alpha1_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('CElambda_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('ceflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('tflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('ifflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('wdflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('bhflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('nsflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('mxns_in', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('idum_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('pts1_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('pts2_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('pts3_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('sigma_in', dtype='d', direction=function.IN, unit = units.km / units.s) - function.addParameter('beta_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('xi_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('acc2_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('epsnov_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('eddfac_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('gamma_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('status', dtype='i', direction=function.OUT, unit = NO_UNIT) - return function - - @legacy_function - def evolve_binary(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('type1', dtype='i', direction=function.INOUT, unit = units.stellar_type) - function.addParameter('type2', dtype='i', direction=function.INOUT, unit = units.stellar_type) - function.addParameter('initial_mass1', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('initial_mass2', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('mass1', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('mass2', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('radius1', dtype='d', direction=function.INOUT, unit = units.RSun) - function.addParameter('radius2', dtype='d', direction=function.INOUT, unit = units.RSun) - function.addParameter('luminosity1', dtype='d', direction=function.INOUT, unit = units.LSun) - function.addParameter('luminosity2', dtype='d', direction=function.INOUT, unit = units.LSun) - function.addParameter('core_mass1', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('core_mass2', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('core_radius1', dtype='d', direction=function.INOUT, unit = units.RSun) - function.addParameter('core_radius2', dtype='d', direction=function.INOUT, unit = units.RSun) - function.addParameter('convective_envelope_mass1', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('convective_envelope_mass2', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('convective_envelope_radius1', dtype='d', direction=function.INOUT, unit = units.RSun) - function.addParameter('convective_envelope_radius2', dtype='d', direction=function.INOUT, unit = units.RSun) - function.addParameter('spin1', dtype='d', direction=function.INOUT, unit = NO_UNIT) - function.addParameter('spin2', dtype='d', direction=function.INOUT, unit = NO_UNIT) - function.addParameter('epoch1', dtype='d', direction=function.INOUT, unit = units.Myr) - function.addParameter('epoch2', dtype='d', direction=function.INOUT, unit = units.Myr) - function.addParameter('MS_lifetime1', dtype='d', direction=function.INOUT, unit = units.Myr) - function.addParameter('MS_lifetime2', dtype='d', direction=function.INOUT, unit = units.Myr) - function.addParameter('age', dtype='d', direction=function.INOUT, unit = units.Myr) - function.addParameter('orbital_period', dtype='d', direction=function.INOUT, unit = units.day) - function.addParameter('eccentricity', dtype='d', direction=function.INOUT, unit = NO_UNIT) - function.addParameter('end_time', dtype='d', direction=function.INOUT, unit = units.Myr) - return function - - @legacy_function - def get_time_step(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('type1', dtype='i', direction=function.IN, unit = units.stellar_type) - function.addParameter('type2', dtype='i', direction=function.IN, unit = units.stellar_type) - function.addParameter('initial_mass1', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('initial_mass2', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('mass1', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('mass2', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('MS_lifetime1', dtype='d', direction=function.IN, unit = units.Myr) - function.addParameter('MS_lifetime2', dtype='d', direction=function.IN, unit = units.Myr) - function.addParameter('epoch1', dtype='d', direction=function.IN, unit = units.Myr) - function.addParameter('epoch2', dtype='d', direction=function.IN, unit = units.Myr) - function.addParameter('age', dtype='d', direction=function.IN, unit = units.Myr) - function.addParameter('time_step', dtype='d', direction=function.OUT, unit = units.Myr) - - return function - - def get_time_step_for_binary(self, binary): - - current_values = {} - current_values['type1'] = binary.type1.value_in(units.stellar_type) - current_values['type2'] = binary.type2.value_in(units.stellar_type) - current_values['initial_mass1'] = binary.initial_mass1.value_in(units.MSun) - current_values['initial_mass2'] = binary.initial_mass2.value_in(units.MSun) - current_values['mass1'] = binary.mass1.value_in(units.MSun) - current_values['mass2'] = binary.mass2.value_in(units.MSun) - current_values['MS_lifetime1'] = binary.MS_lifetime1.value_in(units.Myr) - current_values['MS_lifetime2'] = binary.MS_lifetime2.value_in(units.Myr) - current_values['epoch1'] = binary.epoch1.value_in(units.Myr) - current_values['epoch2'] = binary.epoch2.value_in(units.Myr) - current_values['age'] = binary.age.value_in(units.Myr) - - result = self.get_time_step(**current_values) - - return result | units.Myr - - - def evolve_particle(self, particle, time_end): - t = particle.current_time - if particle.stellar_type == 15: - return - while t < time_end: - t0 = t - t = t0 + self.get_time_step_for_binary(particle) - if t > time_end: - t = time_end - self.evolve_star(particle, t) - t1 = particle.current_time - dt = t1 - t0 - t0 = t1 - if dt.value_in(units.Myr) == 0.0: - #print t, t0, t1, dt, "BREAK BREAK BREAK!" - return - if particle.stellar_type == 15: - return - - def initialize_code(self): - return 0 - - def commit_parameters(self): - return 0 - - def recommit_parameters(self): - return 0 - - def cleanup_code(self): - return 0 - - def commit_particles(self): - return 0 - - - - -class BSEStars(Particles): - - def __init__(self, code_interface, storage = None): - Particles.__init__(self, storage = storage) - self._private.code_interface = code_interface - self.add_calculated_attribute("temperature", self.calculate_effective_temperature, ["luminosity", "radius"]) - - def calculate_effective_temperature(self, luminosity, radius): - return ((luminosity/(constants.four_pi_stefan_boltzmann*radius**2))**.25).in_(units.K) - - def add_particles_to_store(self, keys, attributes = [], values = []): - if len(keys) == 0: - return - - all_attributes = [] - all_attributes.extend(attributes) - all_values = [] - all_values.extend(values) - - mapping_from_attribute_to_default_value = { - "stellar_type" : 1 | units.stellar_type, - "radius": 0 | units.RSun, - "luminosity": 0 | units.LSun, - "core_mass": 0 | units.MSun, - "core_radius": 0 | units.RSun, - "convective_envelope_mass": 0 | units.MSun, - "convective_envelope_radius": 0 | units.RSun, - "epoch": 0 | units.Myr, - "spin": 0 | units.none, - "main_sequence_lifetime": 0 | units.Myr, - "age": 0 | units.Myr, - "stellar_type": 0 | units.stellar_type #units.stellar_type("Main Sequence star"), - } - - given_attributes = set(attributes) - - if not "initial_mass" in given_attributes: - index_of_mass_attibute = attributes.index("mass") - all_attributes.append("initial_mass") - all_values.append(values[index_of_mass_attibute] * 1.0) - - for attribute, default_value in mapping_from_attribute_to_default_value.items(): - if not attribute in given_attributes: - all_attributes.append(attribute) - all_values.append(default_value.as_vector_with_length(len(keys))) - - super(BSEStars, self).add_particles_to_store(keys, all_attributes, all_values) - - - def get_defined_attribute_names(self): - return ["mass", "radius"] - -class BSEBinaries(Particles): - - def __init__(self, code_interface, storage = None): - Particles.__init__(self, storage = storage) - self._private.code_interface = code_interface - - def add_particles_to_store(self, keys, attributes = [], values = []): - if len(keys) == 0: - return - - given_attributes = set(attributes) - - if not "child1" in given_attributes: - raise Exception("a binary must always have a child1 attribute") - - if not "child2" in given_attributes: - raise Exception("a binary must always have a child2 attribute") - - all_attributes = [] - all_values = [] - for attribute, value in zip(attributes, values): - all_attributes.append(attribute) - if attribute == 'child1' or attribute == 'child2': - value = value.copy_with_link_transfer(None, self._private.code_interface.particles) - all_values.append(value) - else: - all_values.append(value) - - mapping_from_attribute_to_default_value = { - "eccentricity": 0.0 | units.none, - "age": 0 | units.Myr - } - - - - for attribute, default_value in mapping_from_attribute_to_default_value.items(): - if not attribute in given_attributes: - all_attributes.append(attribute) - all_values.append(default_value.as_vector_with_length(len(keys))) - - super(BSEBinaries, self).add_particles_to_store(keys, all_attributes, all_values) - - added_particles = ParticlesSubset(self, keys) - self._private.code_interface._evolve_binaries(added_particles, 1e-08 | units.yr) - - def get_defined_attribute_names(self): - return ["eccentricity", "orbital_period", "age", "child1", "child2"] - -class BSE(common.CommonCode): - - def __init__(self, **options): - InCodeComponentImplementation.__init__(self, BSEInterface(**options), **options) - - self.model_time = 0.0 | units.yr - - - def define_parameters(self, handler): - - handler.add_caching_parameter( - "initialize", - "z_in", - "metallicity", - "Metallicity of all stars", - 0.02 - ) - - handler.add_caching_parameter( - "initialize", - "neta_in", - "reimers_mass_loss_coefficient", - "Reimers mass-loss coefficient (neta*4x10^-13; 0.5 normally)", - 0.5 - ) - - handler.add_caching_parameter( - "initialize", - "bwind_in", - "binary_enhanced_mass_loss_parameter", - "The binary enhanced mass loss parameter (inactive for single).", - 0.0 - ) - - handler.add_caching_parameter( - "initialize", - "hewind_in", - "helium_star_mass_loss_factor", - "Helium star mass loss factor", - 1.0 - ) - - handler.add_caching_parameter( - "initialize", - "alpha1_in", - "common_envelope_efficiency", - "The common-envelope efficiency parameter", - 1.0 - ) - - handler.add_caching_parameter( - "initialize", - "CElambda_in", - "common_envelope_binding_energy_factor", - "The binding energy factor for common envelope evolution", - 0.5 - ) - - handler.add_caching_parameter( - "initialize", - "ceflag_in", - "common_envelope_model_flag", - "ceflag > 0 activates spin-energy correction in common-envelope. ceflag = 3 activates de Kool common-envelope model (0).", - 0 - ) - - handler.add_caching_parameter( - "initialize", - "tflag_in", - "tidal_circularisation_flag", - "tflag > 0 activates tidal circularisation (1).", - 1 - ) - - handler.add_caching_parameter( - "initialize", - "ifflag_in", - "white_dwarf_IFMR_flag", - "ifflag > 0 uses white dwarf IFMR (initial-final mass relation) of HPE, 1995, MNRAS, 272, 800 (0).", - 0 - ) - - handler.add_caching_parameter( - "initialize", - "wdflag_in", - "white_dwarf_cooling_flag", - "wdflag > 0 uses modified-Mestel cooling for WDs (0).", - 1 - ) - - handler.add_caching_parameter( - "initialize", - "bhflag_in", - "black_hole_kick_flag", - "bhflag > 0 allows velocity kick at BH formation (0).", - 0 - ) - - handler.add_caching_parameter( - "initialize", - "nsflag_in", - "neutron_star_mass_flag", - "nsflag > 0 takes NS/BH mass from Belczynski et al. 2002, ApJ, 572, 407 (1).", - 1 - ) - - handler.add_caching_parameter( - "initialize", - "mxns_in", - "maximum_neutron_star_mass", - "The maximum neutron star mass (1.8, nsflag=0; 3.0, nsflag=1).", - 3.0 | units.MSun - ) - - handler.add_caching_parameter( - "initialize", - "idum_in", - "SN_kick_random_seed", - "The random number seed used in the kick routine.", - 29769 - ) - - handler.add_caching_parameter( - "initialize", - "pts1_in", - "fractional_time_step_1", - "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: MS (0.05)", - 0.05 - ) - - handler.add_caching_parameter( - "initialize", - "pts2_in", - "fractional_time_step_2", - "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: GB, CHeB, AGB, HeGB (0.01)", - 0.01 - ) - - handler.add_caching_parameter( - "initialize", - "pts3_in", - "fractional_time_step_3", - "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: HG, HeMS (0.02)", - 0.02 - ) - - handler.add_caching_parameter( - "initialize", - "sigma_in", - "SN_kick_speed_dispersion", - "The dispersion in the Maxwellian for the SN kick speed (190 km/s).", - 190.0 | units.km / units.s - ) - - handler.add_caching_parameter( - "initialize", - "beta_in", - "wind_velocity_factor", - "The wind velocity factor: proportional to vwind**2 (1/8).", - 0.125 - ) - - handler.add_caching_parameter( - "initialize", - "xi_in", - "wind_accretion_efficiency", - "The wind accretion efficiency factor (1.0).", - 1.0 - ) - - handler.add_caching_parameter( - "initialize", - "acc2_in", - "wind_accretion_factor", - "The Bondi-Hoyle wind accretion factor (3/2).", - 1.5 - ) - - handler.add_caching_parameter( - "initialize", - "epsnov_in", - "nova_retained_accreted_matter_fraction", - "The fraction of accreted matter retained in nova eruption (0.001).", - 0.001 - ) - - handler.add_caching_parameter( - "initialize", - "eddfac_in", - "Eddington_mass_transfer_limit_factor", - "The Eddington limit factor for mass transfer (1.0).", - 1.0 - ) - - handler.add_caching_parameter( - "initialize", - "gamma_in", - "Roche_angular_momentum_factor", - "The angular momentum factor for mass lost during Roche (-1.0). ", - -1.0 - ) - - - def define_state(self, handler): - common.CommonCode.define_state(self, handler) - handler.add_transition('INITIALIZED','RUN','commit_parameters') - handler.add_method('RUN', 'evolve_binary') - - handler.add_method('RUN','before_get_parameter') - handler.add_method('RUN','before_set_parameter') - - - - - def define_particle_sets(self, handler): - handler.define_inmemory_set('particles', BSEStars) - handler.define_inmemory_set('binaries', BSEBinaries) - - handler.add_attribute( - 'binaries', - 'time_step', - '_get_time_step', - ('child1', 'child2', 'age') - #('child1', 'type2', - # 'initial_mass1', 'initial_mass2', - # 'mass1', 'mass2', - # 'MS_lifetime1', 'MS_lifetime2', - # 'epoch1', 'epoch2', - #'age') - ) - - def _get_time_step(self, child1, child2, age): - child1 = child1.as_set() - child2 = child2.as_set() - return self.get_time_step( - child1.stellar_type, child2.stellar_type, - child1.initial_mass, child2.initial_mass, - child1.mass, child2.mass, - child1.age, child2.age, - child1.epoch, child2.epoch, - age - ) - - def orbital_period_to_semi_major_axis(self, orbital_period, mass1, mass2): - mu = (mass1 + mass2) * constants.G - return (((orbital_period / (2.0 * numpy.pi))**2)*mu)**(1.0/3.0) - - def semi_major_axis_to_orbital_period(self, semi_major_axis, mass1, mass2): - mu = (mass1 + mass2) * constants.G - return 2.0 * numpy.pi * ((semi_major_axis**3/mu)**0.5) - - def _evolve_binaries(self, particles, end_time): - binary_attributes = ( - "age", - "semi_major_axis", - "eccentricity" - ) - - single_attributes = ( - "stellar_type", - "initial_mass", - "mass", - "radius", - "luminosity", - "core_mass", - "core_radius", - "convective_envelope_mass", - "convective_envelope_radius", - "spin", - "epoch", - "age", - ) - - children1 = particles.child1.as_set() - children2 = particles.child2.as_set() - children1_arguments = children1.get_values_in_store(children1.get_all_indices_in_store(), single_attributes) - children2_arguments = children2.get_values_in_store(children2.get_all_indices_in_store(), single_attributes) - - binaries_arguments = particles.get_values_in_store(particles.get_all_indices_in_store(), binary_attributes) - - binaries_arguments[1] = self.semi_major_axis_to_orbital_period(binaries_arguments[1] , children1_arguments[2], children2_arguments[2]) - - arguments = [] - for argument1, argument2 in zip(children1_arguments, children2_arguments): - arguments.append(argument1) - arguments.append(argument2) - - arguments.extend(binaries_arguments) - arguments.append(end_time.as_vector_with_length(len(particles))) - - result = self.evolve_binary(*arguments) - - result[-3] = self.orbital_period_to_semi_major_axis(result[-3] , result[4], result[5]) - - - children1_results = [] - children2_results = [] - index = 0 - for dummy in range(len(children1_arguments)): - children1_results.append(result[index]) - index += 1 - children2_results.append(result[index]) - index += 1 - - children1.set_values_in_store(children1.get_all_indices_in_store(), single_attributes, children1_results) - children2.set_values_in_store(children2.get_all_indices_in_store(), single_attributes, children2_results) - particles.set_values_in_store(particles.get_all_indices_in_store(), binary_attributes, result[index:]) - - - def evolve_model(self, end_time = None, keep_synchronous = True): - if not keep_synchronous: - self._evolve_binaries(self.binaries, self.binaries.time_step + self.binaries.age) - return - - if end_time is None: - end_time = self.model_time + min(self.binaries.time_step) - self._evolve_binaries(self.binaries, end_time - self.model_time + self.binaries.age) - self.model_time = end_time - - def commit_particles(self): - pass - - def update_time_steps(self): - pass - - def commit_parameters(self): - self.parameters.send_cached_parameters_to_code() - self.overridden().commit_parameters() - - def initialize_module_with_current_parameters(self): - self.commit_parameters() - - def initialize_module_with_default_parameters(self): - """ - * neta is the Reimers mass-loss coefficent (neta*4x10^-13; 0.5 normally). - * bwind is the binary enhanced mass loss parameter (inactive for single). - * hewind is a helium star mass loss factor (1.0 normally). - * sigma is the dispersion in the Maxwellian for the SN kick speed (190 km/s). - * - * ifflag > 0 uses WD IFMR of HPE, 1995, MNRAS, 272, 800 (0). - * wdflag > 0 uses modified-Mestel cooling for WDs (0). - * bhflag > 0 allows velocity kick at BH formation (0). - * nsflag > 0 takes NS/BH mass from Belczynski et al. 2002, ApJ, 572, 407 (1). - * mxns is the maximum NS mass (1.8, nsflag=0; 3.0, nsflag=1). - * idum is the random number seed used in the kick routine. - * - * Next come the parameters that determine the timesteps chosen in each - * evolution phase: - * pts1 - MS (0.05) - * pts2 - GB, CHeB, AGB, HeGB (0.01) - * pts3 - HG, HeMS (0.02) - * as decimal fractions of the time taken in that phase. - """ - self.parameters.set_defaults() - self.commit_parameters() - - - - - - +BSEInterface = load_code("bse", "BSEInterface") +BSE = load_code("bse", "BSE") Bse = BSE diff --git a/src/amuse/community/capreole/Makefile b/src/amuse/community/capreole/Makefile deleted file mode 100644 index 356a414ec6..0000000000 --- a/src/amuse/community/capreole/Makefile +++ /dev/null @@ -1,105 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPIFC ?= mpif90 -FORTRAN ?= gfortran -FC = $(MPIFC) - -SRC=src -BUILDDIR = build -MPI_BUILDDIR = build_mpi - - -NOMPILIBS=$(BUILDDIR)/libcapreole.a -MPILIBS=$(MPI_BUILDDIR)/libcapreole_mpi.a - -GLOBJECTS=$(SRC)/fthread.o $(SRC)/viewer.o $(SRC)/libpt.a - -GLINCLUDE = -I/usr/include/GL - -GLLIB = -lf90GLU -lf90GL -lf90glut -lGLU -lGL -lglut - -X11LIB = -L/usr/X11R6/lib64 -lXaw -lXt -lXmu -lXi -lXext -lX11 - -THREADLIB = -L. -lpthread src/libpt.a - -OMPFLAGS= # -openmp -openmp_report0 -PIC=#-fPIC - -ifeq ($(FORTRAN), gfortran) -FFLAGS += $(PIC) $(FCFLAGS) -endif - -GFVERSION10PLUS := $(shell expr `${FC} -dumpversion | cut -f1 -d.` \>= 10) -ifeq (${GFVERSION10PLUS}, 1) -MPIFC += -fallow-argument-mismatch -endif - -ifeq ($(FORTRAN), ifort) -# ifort flags -FFLAGS += -O -ip -u -g -traceback -fpp1 -DIFORT $(PIC) $(FCFLAGS) -endif - -MPI_FLAGS = -DMPI # - -FFLAGS+= $(OMPFLAGS) - -FFLAGS2= - -CLASSNAME=CapreoleInterface - -GLCLASSNAME=GLCapreoleInterface - -all: capreole_worker - -$(BUILDDIR)/%.o: %.F90 Makefile - $(FC) $(FFLAGS) $(FFLAGS2) -I$(BUILDDIR) $(SC_FLAGS) -c -o $@ $< - - -$(MPI_BUILDDIR)/%.o: %.F90 Makefile - $(FC) $(FFLAGS) $(FFLAGS2) $(MPI_FLAGS) -I$(MPI_BUILDDIR) $(SC_FLAGS) -c -o $@ $< - -$(BUILDDIR)/Makefile: - -mkdir $(BUILDDIR) - cp $(SRC)/Makefile $(BUILDDIR)/Makefile - -$(NOMPILIBS): $(BUILDDIR)/Makefile - make -C $(BUILDDIR) amuse_interface VPATH=../src F90FLAGS1="$(FFLAGS)" FC="$(FC)" - -$(MPI_BUILDDIR)/Makefile: - -mkdir $(MPI_BUILDDIR) - cp $(SRC)/Makefile $(MPI_BUILDDIR)/Makefile - -$(MPILIBS): $(MPI_BUILDDIR)/Makefile - make -C $(MPI_BUILDDIR) amuse_interface_mpi VPATH=../src F90FLAGS1="$(FFLAGS)" FC="$(FC)" MPIFC="$(MPIFC)" - -capreole_worker: $(NOMPILIBS) worker_code.f90 $(BUILDDIR)/interface.o - $(FC) $(FFLAGS) $(FFLAGS2) -I$(BUILDDIR) $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) $^ -o $@ $(NOMPILIBS) $(SC_CLIBS) $(FS_LIBS) $(LIBS) - -capreole_worker_mpi: $(MPILIBS) worker_code-mpi.f90 $(MPI_BUILDDIR)/interface.o - $(FC) $(FFLAGS) $(FFLAGS2) $(MPI_FLAGS) -I$(MPI_BUILDDIR) $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) $^ -o $@ $(MPILIBS) $(SC_MPI_CLIBS) $(FS_LIBS) $(LIBS) - -#capreole_worker_gl: $(NOMPILIBS) glworker.f90 $(BUILDDIR)/interface.o -# make -C src clean -# make -C src gl FFLAGS="$(FFLAGS)" FC="$(FC)" -# $(FC) $(FFLAGS) $(SC_FLAGS) $^ -o $@ $(GLOBJECTS) \ -# $(GLLIB) $(X11LIB) $(THREADLIB) $(NOMPILIBS) $(SC_FCLIBS) - -worker_code.f90: interface.py - $(CODE_GENERATOR) --type=f90 $< $(CLASSNAME) -o $@ - -worker_code-mpi.f90: interface.py - $(CODE_GENERATOR) --type=f90 $< $(CLASSNAME) -o $@ - -clean: - make -C src clean - $(RM) -f *.o *.pyc *.bck worker worker.f90 glworker glworker.f90 worker-sockets.F90 worker-sockets.f90 - $(RM) -f worker_code.f90 worker_code-sockets.F90 worker_code-mpi.f90 worker_code.f90 - $(RM) -f capreole_worker capreole_worker_mpi capreole_worker_gl worker_mpi.f90 capreole_worker_sockets - $(RM) -Rf build build_mpi - $(RM) -f amuse_worker_module.mod - $(RM) -f forsockets.mod diff --git a/src/amuse/community/capreole/interface.py b/src/amuse/community/capreole/interface.py index da29511518..8994fdf773 100644 --- a/src/amuse/community/capreole/interface.py +++ b/src/amuse/community/capreole/interface.py @@ -1,861 +1,7 @@ -from amuse.community import * -from amuse.community.interface.hydro import HydrodynamicsInterface -from amuse.community.interface.common import CommonCode -from amuse.units.generic_unit_system import * +from amuse.support.import_helper import load_code -class CapreoleInterface( - CodeInterface, - HydrodynamicsInterface, - StoppingConditionInterface, - LiteratureReferencesMixIn -): - """ - Capreole is a grid-based astrophysical hydrodynamics code developed by - Garrelt Mellema. It works in one, two dimensions, and three spatial - dimensions and is programmed in Fortran 90. It is parallelized with MPI. - For the hydrodynamics it relies on the Roe-Eulderink-Mellema (REM) solver, - which is an approximate Riemann solver for arbitrary metrics. It can solve - different hydrodynamics problems. Capreole has run on single processors, - but also on massively parallel systems (e.g. 512 processors on a - BlueGene/L). +CapreoleInterface = load_code("capreole", "CapreoleInterface") +GLCapreoleInterface = load_code("capreole", "GLCapreoleInterface") - The reference for Capreole (original version): - .. [#] ADS:1991A&A...252..718M (Mellema, Eulderink & Icke 1991, A&A 252, 718) - """ - - - def __init__(self, number_of_workers = 1, **options): - CodeInterface.__init__(self, self.name_of_the_worker(number_of_workers),number_of_workers = number_of_workers, **options) - LiteratureReferencesMixIn.__init__(self) - - def name_of_the_worker(self, number_of_workers): - if number_of_workers > 1: - return 'capreole_worker_mpi' - else: - return 'capreole_worker' - - @legacy_function - def setup_mesh(): - function = LegacyFunctionSpecification() - function.addParameter('nmeshx', dtype='i', direction=function.IN) - function.addParameter('nmeshy', dtype='i', direction=function.IN) - function.addParameter('nmeshz', dtype='i', direction=function.IN) - function.addParameter('xlength', dtype='d', direction=function.IN) - function.addParameter('ylength', dtype='d', direction=function.IN) - function.addParameter('zlength', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - - @legacy_function - def initialize_grid(): - function = LegacyFunctionSpecification() - #function.addParameter('time', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def set_boundary(): - function = LegacyFunctionSpecification() - for x in ["xbound1","xbound2","ybound1","ybound2","zbound1","zbound2"]: - function.addParameter(x, dtype='string', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def set_boundary_innerxstate(): - function = LegacyFunctionSpecification() - for x in ["rho_in","rhvx_in","rhvy_in","rhvz_in","en_in"]: - function.addParameter(x, dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def set_boundary_outerxstate(): - function = LegacyFunctionSpecification() - for x in ["rho_in","rhvx_in","rhvy_in","rhvz_in","en_in"]: - function.addParameter(x, dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def set_boundary_innerystate(): - function = LegacyFunctionSpecification() - for x in ["rho_in","rhvx_in","rhvy_in","rhvz_in","en_in"]: - function.addParameter(x, dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def set_boundary_outerystate(): - function = LegacyFunctionSpecification() - for x in ["rho_in","rhvx_in","rhvy_in","rhvz_in","en_in"]: - function.addParameter(x, dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def set_boundary_innerzstate(): - function = LegacyFunctionSpecification() - for x in ["rho_in","rhvx_in","rhvy_in","rhvz_in","en_in"]: - function.addParameter(x, dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def set_boundary_outerzstate(): - function = LegacyFunctionSpecification() - for x in ["rho_in","rhvx_in","rhvy_in","rhvz_in","en_in"]: - function.addParameter(x, dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - - @legacy_function - def set_grid_state(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - for x in ['rho','rhovx','rhovy','rhovz','en']: - function.addParameter(x, dtype='d', direction=function.IN) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def get_grid_state(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - for x in ['rho','rhovx','rhovy','rhovz','en']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - return function - - - @legacy_function - def set_gravity_field(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - for x in ['f_x','f_y','f_z']: - function.addParameter(x, dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_gravity_field(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - for x in ['f_x','f_y','f_z']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - - @legacy_function - def evolve_model(): - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_time(): - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - - @legacy_function - def get_position_of_index(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - for x in ['x','y','z']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def get_index_of_position(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['x','y','z']: - function.addParameter(x, dtype='d', direction=function.IN) - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.OUT) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - return function - - - - - @legacy_function - def get_mesh_size(): - function = LegacyFunctionSpecification() - function.addParameter('nmeshx', dtype='i', direction=function.OUT) - function.addParameter('nmeshy', dtype='i', direction=function.OUT) - function.addParameter('nmeshz', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - def get_index_range_inclusive(self): - ni,nj,nk,error = self.get_mesh_size() - return (1, ni, 1, nj, 1, nk) - - - @legacy_function - def get_grid_momentum_density(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - for x in ['rhovx','rhovy','rhovz']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def get_grid_density(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - for x in ['rho',]: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - return function - - - - @legacy_function - def get_grid_energy_density(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - for x in ['energy']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - return function - - - def get_number_of_grids(): - return (0,1) - - - set_grid_energy_density = None - set_grid_density = None - set_grid_momentum_density = None - - - - @legacy_function - def get_boundary_index_range_inclusive(): - function = LegacyFunctionSpecification() - function.addParameter('index_of_boundary', dtype='i', direction=function.IN) - function.addParameter('minx', dtype='i', direction=function.OUT) - function.addParameter('maxx', dtype='i', direction=function.OUT) - function.addParameter('miny', dtype='i', direction=function.OUT) - function.addParameter('maxy', dtype='i', direction=function.OUT) - function.addParameter('minz', dtype='i', direction=function.OUT) - function.addParameter('maxz', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_boundary_state(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - for x in ['rho','rhovx','rhovy','rhovz','en']: - function.addParameter(x, dtype='d', direction=function.IN) - function.addParameter('index_of_boundary', dtype='i', direction=function.IN, default = 1) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def get_boundary_state(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - function.addParameter('index_of_boundary', dtype='i', direction=function.IN, default = 1) - for x in ['rho','rhovx','rhovy','rhovz','en']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - return function - - - @legacy_function - def get_boundary_position_of_index(): - """ - Retrieves the x, y and z position of the center of - the cell with coordinates i, j, k - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - function.addParameter('index_of_boundary', dtype='i', direction=function.IN, default = 1) - for x in ['x','y','z']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def set_parallel_decomposition(): - """Set the number of processes per dimension, the - total number of available processors must be - nx * ny * nz - """ - function = LegacyFunctionSpecification() - for x in ['nx','ny','nz']: - function.addParameter(x, dtype='i', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_parallel_decomposition(): - """Retrieves the number of processes per dimension, the - total number of available processors must be - nx * ny * nz - """ - function = LegacyFunctionSpecification() - for x in ['nx','ny','nz']: - function.addParameter(x, dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_timestep(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_timestep(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def set_gamma(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_gamma(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_hydro_state_at_point(): - function = LegacyFunctionSpecification() - for x in ['x','y','z']: - function.addParameter(x, dtype='d', direction=function.IN) - for x in ['vx','vy','vz']: - function.addParameter(x, dtype='d', direction=function.IN, default = 0) - for x in ['rho','rhovx','rhovy','rhovz','rhoe']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('npoints', dtype='i', direction=function.LENGTH) - function.result_type = 'i' - function.must_handle_array = True - return function - - -class GLCapreoleInterface(CapreoleInterface): - def __init__(self, **options): - CodeInterface.__init__(self,name_of_the_worker = 'capreole_worker_gl', **options) - - @legacy_function - def viewer(): - function = LegacyFunctionSpecification() - return function - - -class Capreole(CommonCode): - - def __init__(self, unit_converter = None, **options): - self.unit_converter = unit_converter - self.stopping_conditions = StoppingConditions(self) - - CommonCode.__init__(self, CapreoleInterface(**options), **options) - - - def define_converter(self, handler): - if not self.unit_converter is None: - handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) - - def define_properties(self, handler): - handler.add_property('get_time', public_name = "model_time") - - def define_methods(self, handler): - handler.add_method('evolve_model', (time,), (handler.ERROR_CODE,)) - handler.add_method( - 'get_position_of_index', - (handler.INDEX, handler.INDEX, handler.INDEX,), - (length, length, length, handler.ERROR_CODE,) - ) - - density = mass / (length**3) - momentum_density = mass / (time * (length**2)) - energy_density = mass / ((time**2) * length) - acceleration = length / time ** 2 - - handler.add_method( - 'set_grid_state', - (handler.INDEX, handler.INDEX, handler.INDEX, - density, momentum_density, momentum_density, momentum_density, energy_density, - ), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'get_grid_state', - (handler.INDEX, handler.INDEX, handler.INDEX), - (density, momentum_density, momentum_density, momentum_density, energy_density, - handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_grid_density', - (handler.INDEX, handler.INDEX, handler.INDEX), - (density, - handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_grid_momentum_density', - (handler.INDEX, handler.INDEX, handler.INDEX), - (momentum_density, momentum_density, momentum_density, - handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_grid_energy_density', - (handler.INDEX, handler.INDEX, handler.INDEX), - (energy_density, - handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_gravity_field', - (handler.INDEX, handler.INDEX, handler.INDEX), - (acceleration, acceleration, acceleration, - handler.ERROR_CODE,) - ) - handler.add_method( - 'set_gravity_field', - (handler.INDEX, handler.INDEX, handler.INDEX, - acceleration, acceleration, acceleration,), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'get_time', - (), - (time, handler.ERROR_CODE,) - ) - - handler.add_method( - 'setup_mesh', - (handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, length, length, length,), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'set_boundary', - (handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT,), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'set_parallel_decomposition', - (handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'set_boundary_state', - (handler.INDEX, handler.INDEX, handler.INDEX, - density, momentum_density, momentum_density, momentum_density, energy_density, - handler.INDEX), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'get_boundary_state', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (density, momentum_density, momentum_density, momentum_density, energy_density, - handler.ERROR_CODE,) - ) - handler.add_method( - 'get_boundary_position_of_index', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (length, length, length, handler.ERROR_CODE,) - ) - handler.add_method( - 'get_boundary_index_range_inclusive', - (handler.INDEX), - (handler.NO_UNIT, handler.NO_UNIT,handler.NO_UNIT, handler.NO_UNIT,handler.NO_UNIT, handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_timestep", - (), - (time, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_timestep", - (time, ), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'get_hydro_state_at_point', - (generic_unit_system.length, generic_unit_system.length, generic_unit_system.length, - generic_unit_system.speed, generic_unit_system.speed, generic_unit_system.speed), - (generic_unit_system.density, generic_unit_system.momentum_density, generic_unit_system.momentum_density, - generic_unit_system.momentum_density, generic_unit_system.energy_density, handler.ERROR_CODE) - ) - - self.stopping_conditions.define_methods(handler) - - def define_particle_sets(self, handler): - handler.define_grid('grid') - handler.set_grid_range('grid', 'get_index_range_inclusive') - handler.add_getter('grid', 'get_position_of_index', names=('x','y','z')) - - handler.add_getter('grid', 'get_grid_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) - handler.add_setter('grid', 'set_grid_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) - - handler.add_getter('grid', 'get_grid_density', names=('rho',)) - handler.add_getter('grid', 'get_grid_momentum_density', names=('rhovx','rhovy','rhovz')) - handler.add_getter('grid', 'get_grid_energy_density', names=('energy',)) - - handler.define_grid('acceleration_grid') - handler.set_grid_range('acceleration_grid', 'get_index_range_inclusive') - handler.add_getter('acceleration_grid', 'get_position_of_index', names=('x','y','z')) - handler.add_setter('acceleration_grid', 'set_gravity_field', names=('ax','ay','az')) - handler.add_getter('acceleration_grid', 'get_gravity_field', names=('ax','ay','az')) - - #handler.add_setter('grid', 'set_momentum_density', names=('rhovx','rhovy','rhovz')) - #handler.add_setter('grid', 'set_density', names=('rho',)) - #handler.add_setter('grid', 'set_energy_density', names=('energy',)) - - - - def define_parameters(self, handler): - - handler.add_method_parameter( - "get_gamma", - "set_gamma", - "gamma", - "ratio of specific heats used in equation of state", - default_value = 1.6666666666666667 - ) - - handler.add_caching_parameter( - "set_boundary", - "xbound1", - "xbound1", - "boundary conditions on first (inner, left) X boundary", - "reflective", - ) - handler.add_caching_parameter( - "set_boundary", - "xbound2", - "xbound2", - "boundary conditions on second (outer, right) X boundary", - "reflective", - ) - - handler.add_caching_parameter( - "set_boundary", - "ybound1", - "ybound1", - "boundary conditions on first (inner, front) Y boundary", - "reflective", - ) - - - handler.add_caching_parameter( - "set_boundary", - "ybound2", - "ybound2", - "boundary conditions on second (outer, back) Y boundary", - "reflective", - ) - - handler.add_caching_parameter( - "set_boundary", - "zbound1", - "zbound1", - "boundary conditions on first (inner, bottom) Z boundary", - "reflective", - ) - - - handler.add_caching_parameter( - "set_boundary", - "zbound2", - "zbound2", - "boundary conditions on second (outer, top) Z boundary", - "reflective", - ) - - - - handler.add_vector_parameter( - "x_boundary_conditions", - "boundary conditions for the X directorion", - ("xbound1", "xbound2") - ) - - - handler.add_vector_parameter( - "y_boundary_conditions", - "boundary conditions for the Y directorion", - ("ybound1", "ybound2") - ) - - - handler.add_vector_parameter( - "z_boundary_conditions", - "boundary conditions for the Z directorion", - ("zbound1", "zbound2") - ) - handler.add_caching_parameter( - "set_parallel_decomposition", - "nx", - "nproc_x", - "number of processors for the x direction", - 0, - ) - handler.add_caching_parameter( - "set_parallel_decomposition", - "ny", - "nproc_y", - "number of processors for the y direction", - 0, - ) - handler.add_caching_parameter( - "set_parallel_decomposition", - "nz", - "nproc_z", - "number of processors for the z direction", - 0, - ) - - handler.add_vector_parameter( - "parallel_decomposition", - "number of processors for each dimensions", - ("nproc_x", "nproc_y", "nproc_z") - ) - - - handler.add_caching_parameter( - "setup_mesh", - "nmeshx", - "nx", - "number of cells in the x direction", - 10, - ) - - - handler.add_caching_parameter( - "setup_mesh", - "nmeshy", - "ny", - "number of cells in the y direction", - 10, - ) - - - handler.add_caching_parameter( - "setup_mesh", - "nmeshz", - "nz", - "number of cells in the z direction", - 10, - ) - - handler.add_caching_parameter( - "setup_mesh", - "xlength", - "length_x", - "length of model in the x direction", - 10 | length, - ) - handler.add_caching_parameter( - "setup_mesh", - "ylength", - "length_y", - "length of model in the x direction", - 10 | length, - ) - handler.add_caching_parameter( - "setup_mesh", - "zlength", - "length_z", - "length of model in the z direction", - 10 | length, - ) - - handler.add_vector_parameter( - "mesh_size", - "number of cells in the x, y and z directions", - ("nx", "ny", "nz") - ) - - handler.add_vector_parameter( - "mesh_length", - "length of the model in the x, y and z directions", - ("length_x", "length_y", "length_z") - ) - - - - - self.stopping_conditions.define_parameters(handler) - - def get_index_range_inclusive(self): - """ - Returns the min and max values of indices in each - direction. The range is inclusive, the min index - and max index both exist and can be queried. - The total number of cells in one direction - is max - min + 1. - """ - nx, ny, nz = self.get_mesh_size() - return (1, nx, 1, ny, 1, nz) - - - def commit_parameters(self): - self.parameters.send_cached_parameters_to_code() - self.overridden().commit_parameters() - - def itergrids(self): - yield self.grid - - - - def define_state(self, handler): - CommonCode.define_state(self, handler) - #handler.add_transition('END', 'INITIALIZED', 'initialize_code', False) - - handler.add_method('INITIALIZED', 'set_parallel_decomposition') - handler.add_transition('INITIALIZED','EDIT','commit_parameters') - handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False) - handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False) - handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters') - handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') - handler.add_method('RUN', 'before_get_parameter') - handler.add_method('EDIT', 'before_get_parameter') - - handler.add_transition('EDIT', 'RUN', 'initialize_grid') - handler.add_method('RUN', 'evolve_model') - handler.add_method('RUN', 'get_hydro_state_at_point') - - for state in ['EDIT', 'RUN']: - for methodname in [ - 'get_grid_state', - 'set_grid_state', - 'get_grid_density', - 'set_grid_density', - 'set_grid_energy_density', - 'get_grid_energy_density', - 'get_grid_momentum_density', - 'set_grid_momentum_density', - 'get_position_of_index', - 'get_index_of_position', - 'set_grid_scalar', - 'get_grid_scalar', - 'get_mesh_size', - 'set_gravity_field', - 'get_gravity_field', - 'get_boundary_state', - 'set_boundary_state', - 'get_boundary_position_of_index', - 'get_boundary_index_range_inclusive' - ]: - handler.add_method(state, methodname) - self.stopping_conditions.define_state(handler) - - - def specify_boundary_grid(self, definition, index_of_boundary, index_of_grid = 1): - definition.set_grid_range('get_boundary_index_range_inclusive') - - definition.add_getter('get_boundary_position_of_index', names=('x','y','z')) - - definition.add_getter('get_boundary_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) - definition.add_setter('set_boundary_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) - - definition.define_extra_keywords({'index_of_boundary': index_of_boundary}) - - BOUNDARY_NAME_TO_INDEX = { - 'xbound1': 1, - 'xbound2': 2, - 'ybound1': 3, - 'ybound2': 4, - 'zbound1': 5, - 'zbound2': 6, - } - def get_boundary_grid(self, name): - if not name in self.BOUNDARY_NAME_TO_INDEX: - raise Exception("boundary name is not known {0}".format(name)) - index_of_boundary = self.BOUNDARY_NAME_TO_INDEX[name] - - return self._create_new_grid(self.specify_boundary_grid, index_of_boundary = index_of_boundary, index_of_grid = 1) - - - - def get_extended_grid(self, index_of_grid = 1): - return self._create_new_grid(self.sepecify_extended_grid, index_of_grid = index_of_grid) - - def get_index_range_extended(self, index_of_grid = 1): - i0,i1, j0,j1, k0,k1 = self.get_index_range_inclusive() - dj = 2 if j1 > j0 else 0 - dk = 2 if k1 > k0 else 0 - return i0-2, i1+2, j0-dj, j0+dj, k0-dk, k1+dk - - def sepecify_extended_grid(self, definition, index_of_grid = 1): - - definition.set_grid_range('get_index_range_extended') - definition.add_getter('get_position_of_index', names=('x','y','z')) - - definition.add_getter('get_grid_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) - definition.add_setter('set_grid_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) - - definition.add_getter('get_grid_density', names=('rho',)) - definition.add_getter('get_grid_momentum_density', names=('rhovx','rhovy','rhovz')) - definition.add_getter('get_grid_energy_density', names=('energy',)) - - +Capreole = load_code("capreole", "Capreole") diff --git a/src/amuse/community/distributed/__init__.py b/src/amuse/community/distributed/__init__.py index 29fb74b947..f253a50284 100755 --- a/src/amuse/community/distributed/__init__.py +++ b/src/amuse/community/distributed/__init__.py @@ -1,4 +1,4 @@ # relative import hack # https://stackoverflow.com/questions/16981921/relative-imports-in-python-3 -import os, sys; sys.path.append(os.path.dirname(os.path.realpath(__file__))) -from .interface import Distributed +#import os, sys; sys.path.append(os.path.dirname(os.path.realpath(__file__))) +from amuse.community.distributed.interface import Distributed diff --git a/src/amuse/community/distributed/interface.py b/src/amuse/community/distributed/interface.py index 32be851644..35ad53a25b 100644 --- a/src/amuse/community/distributed/interface.py +++ b/src/amuse/community/distributed/interface.py @@ -7,10 +7,9 @@ from amuse.support import options from amuse.rfi.channel import DistributedChannel -from distributed_datamodel import Resources, Resource -from distributed_datamodel import Pilots, Pilot -from distributed_datamodel import ScriptJobs, ScriptJob -from distributed_datamodel import FunctionJobs, FunctionJob +from amuse.community.distributed.distributed_datamodel import ( + Resources, Resource, Pilots, Pilot, ScriptJobs, ScriptJob, FunctionJobs, + FunctionJob) import pickle diff --git a/src/amuse/community/etics/Makefile b/src/amuse/community/etics/Makefile deleted file mode 100644 index 017733730c..0000000000 --- a/src/amuse/community/etics/Makefile +++ /dev/null @@ -1,75 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include $(AMUSE_DIR)/config.mk -GPUARCH ?= 35 -CUDAFLAGS += -arch=sm_$(GPUARCH) -######### ugly!!!! should be in the amuse base make file - - -MPICXX ?= mpicxx - -CFLAGS += -Wall -g -CXXFLAGS += $(CFLAGS) -LDFLAGS += -lm $(MUSE_LD_FLAGS) - -OBJS = interface.o - -CODELIB = build/libetics.a - - -CUDA_TK ?= /usr/local/cuda/ -CUDA_LIBS ?= -L$(CUDA_TK)/lib -L$(CUDA_TK)/lib64 -lcuda - -all: compile etics_worker - -$(CUDA_TK): - @echo "" - @echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - @echo "" - @echo "Etics code" - @echo "------------" - @echo "CUDA_TK variable is not set to a valid path," - @echo "please set the CUDA_TK variable to the directory" - @echo "where you installed CUDA" - @echo "the CUDA_TK directory must contain a bin directory with the executable" - @echo "" - @echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - @echo "" - @make -s --no-print-directory -C . raise_error - - -clean: - $(RM) *.so *.o *.pyc worker_code.cc worker_code.h - $(RM) *~ etics_worker worker_code.cc - make -C src clean - -build/config.mk: - -mkdir build - cd build && ../src/configure - -$(CODELIB): build/config.mk - make -C build libetics.a - -compile: $(CUDA_TK) $(CODELIB) - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py EticsInterface -o $@ - -worker_code.h: interface.py - $(CODE_GENERATOR) --type=H interface.py EticsInterface -o $@ - -etics_worker: worker_code.cc worker_code.h $(CODELIB) $(OBJS) - $(MPICXX) $(CXXFLAGS) -L/usr/local/cuda/lib64 $< $(OBJS) $(CODELIB) -o $@ -lcudart - echo the above compilation directive is not nice - -.SUFFIXES: .cu .o - -.cu.o: $< - $(NVCC) -Xcompiler="$(CXXFLAGS)" -c -o $@ $< - - -# .cc.o: $< -# $(CXX) $(CXXFLAGS) -c -o $@ $< diff --git a/src/amuse/community/etics/README.md b/src/amuse/community/etics/README.md deleted file mode 100644 index 6475b1f5f9..0000000000 --- a/src/amuse/community/etics/README.md +++ /dev/null @@ -1,102 +0,0 @@ -ETICS -===== - -This is ETICS (Expansion Techniques In Collisionless Systems), a GPU (currently -**CUDA only**) N-body code which uses series expansion to calculate the -gravitational field. See more details in this publication: - -Meiron, Y., Li, B., Holley-Bockelmann, K., & Spurzem, R. 2014, ApJ, 792, 98 - -http://adsabs.harvard.edu/abs/2014ApJ...792...98M - - -What's inside -------------- - -- ETICS standalone program -- ETICS static library -- ETICS module for AMUSE - - -Prerequisites -------------- - -- CUDA (>= 6; mandatory) -- HDF5 (optional) -- Boost (optional) -- AMUSE (mandatory only for AMUSE module) - -To disable HDF5 [insert explanation here] -To disable Boost [insert explanation here] - - -Compilation ------------ - -### Standalone program - - make standalone - -builds in `src/`. - - -### Static library - - make library - -builds in `src/`. - - -### AMUSE module - - make - -builds in top level directory. The whole `etics` directory has to be placed (or -linked) inside: - - $AMUSE_DIR/src/amuse/community/ - - -How to use ----------- - -The `file.ini` is a self-explanatory input file; if compiled without Boost, fill -in the relevant variables in file `noboost.inc` which is compiled into the -executable (any change of parameters requires re-compilation). Start simulation -with: - - ./etics file.ini - -Any input file name is acceptable. - - -Known issues ------------- - -* No MEX - -The MEX (Multipole Expansion) method is not available in this version; thus, the -SCF (Self-Consistent Field) method is the only expansion technique available. -The ETICS program has been heavily restructured and the MEX routines are no -longer compatible. Hopefully this will be fixed. - -* Hardcoded launch configuration - -For at least one of the CUDA kernels, for various reasons, it seems that "brute -force" search is needed to find the optimal launch configuration. Currently it -is hardcoded, and a primitive search routine is provided. - -* Problem for particles with |θ| << 1 - -Due to using an unstable recursion relation to calculate the Associated Legendre -polynomials, particles in a narrow cone around the z-axis cannot be considered -accurately. This means that they give an erroneous contribution to the -gravitational field and also are assigned erroneous force and potential. The -size of this cone increases with the angular term of the expansion. To partly -solve this, the current (ugly) fix is to only consider particles with cos(θ) > -0.999 at the monopole level. This is not so bad because the monopole is always -the most dominant term (and is error free) and the number of particles in this -cone is small and they are transient (i.e. they come out of it usually in a -small number of steps). A somewhat better solution is to make this arbitrary -cutoff of 0.999 l-dependent, and an even better solution would be to use an -asymptotic expression for the Associated Legendre polynomials. diff --git a/src/amuse/community/etics/interface.py b/src/amuse/community/etics/interface.py index 4c92cd100b..c5e73f340b 100644 --- a/src/amuse/community/etics/interface.py +++ b/src/amuse/community/etics/interface.py @@ -1,159 +1,7 @@ -from amuse.community import * -from amuse.community.interface.gd import GravitationalDynamics -from amuse.community.interface.gd import GravitationalDynamicsInterface +from amuse.support.import_helper import load_code -class EticsInterface(CodeInterface, GravitationalDynamicsInterface, LiteratureReferencesMixIn): - """ - .. [#] ADS:2014ApJ...792...98M (Meiron, Y., Li, B., Holley-Bockelmann, K., & Spurzem, R. 2014, ApJ, 792, 98) - """ - - include_headers = ['worker_code.h'] - - def __init__(self, **keyword_arguments): - CodeInterface.__init__(self, name_of_the_worker='etics_worker', **keyword_arguments) - LiteratureReferencesMixIn.__init__(self) - - @legacy_function - def new_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT) - function.addParameter('mass', dtype='float64', direction=function.IN, - description = 'The mass of the particle') - function.addParameter('x', dtype='float64', direction=function.IN, - description = 'The initial position vector of the particle') - function.addParameter('y', dtype='float64', direction=function.IN, - description = 'The initial position vector of the particle') - function.addParameter('z', dtype='float64', direction=function.IN, - description = 'The initial position vector of the particle') - function.addParameter('vx', dtype='float64', direction=function.IN, - description = 'The initial velocity vector of the particle') - function.addParameter('vy', dtype='float64', direction=function.IN, - description = 'The initial velocity vector of the particle') - function.addParameter('vz', dtype='float64', direction=function.IN, - description = 'The initial velocity vector of the particle') - function.addParameter('radius', dtype='float64', direction=function.IN, - description = 'The radius of the particle', default = 0) - function.result_type = 'int32' - return function - - @legacy_function - def set_state(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('mass', dtype='float64', direction=function.IN, - description = 'The mass of the particle') - function.addParameter('radius', dtype='float64', direction=function.IN, - description = 'The radius of the particle') - function.addParameter('x', dtype='float64', direction=function.IN, - description = 'The initial position vector of the particle') - function.addParameter('y', dtype='float64', direction=function.IN, - description = 'The initial position vector of the particle') - function.addParameter('z', dtype='float64', direction=function.IN, - description = 'The initial position vector of the particle') - function.addParameter('vx', dtype='float64', direction=function.IN, - description = 'The initial velocity vector of the particle') - function.addParameter('vy', dtype='float64', direction=function.IN, - description = 'The initial velocity vector of the particle') - function.addParameter('vz', dtype='float64', direction=function.IN, - description = 'The initial velocity vector of the particle') - function.result_type = 'int32' - return function - - @legacy_function - def get_state(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('mass', dtype='float64', direction=function.OUT, - description = 'The mass of the particle') - function.addParameter('radius', dtype='float64', direction=function.OUT, - description = 'The radius of the particle') - function.addParameter('x', dtype='float64', direction=function.OUT, - description = 'The initial position vector of the particle') - function.addParameter('y', dtype='float64', direction=function.OUT, - description = 'The initial position vector of the particle') - function.addParameter('z', dtype='float64', direction=function.OUT, - description = 'The initial position vector of the particle') - function.addParameter('vx', dtype='float64', direction=function.OUT, - description = 'The initial velocity vector of the particle') - function.addParameter('vy', dtype='float64', direction=function.OUT, - description = 'The initial velocity vector of the particle') - function.addParameter('vz', dtype='float64', direction=function.OUT, - description = 'The initial velocity vector of the particle') - function.result_type = 'int32' - return function - - @legacy_function - def evolve_model(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('dt', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_number_of_particles(): - function = LegacyFunctionSpecification() - function.addParameter('number_of_particles', dtype='int32', direction=function.OUT, description = 'number of particles') - function.result_type = 'int32' - return function - - @legacy_function - def set_time_step(): - function = LegacyFunctionSpecification() - function.addParameter('time_step', dtype='float64', direction=function.IN, description = 'time step') - function.result_type = 'int32' - return function - - @legacy_function - def update_force_potential_arrays(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('dt', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - -class Etics(GravitationalDynamics): - def __init__(self, convert_nbody = None, **keyword_arguments): - legacy_interface = EticsInterface(**keyword_arguments) - GravitationalDynamics.__init__(self, legacy_interface, convert_nbody, **keyword_arguments) - - def define_parameters(self, handler): - handler.add_method_parameter( - 'get_begin_time', - 'set_begin_time', - 'begin_time', - 'model time to start the simulation at', - default_value = 0.0 | nbody_system.time - ) - handler.add_method_parameter( - 'get_time_step', - 'set_time_step', - 'time_step', - 'constant timestep for iteration', - default_value = 0.001953125 | nbody_system.time - ) - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - # Define some shortcuts for better readability. - M = nbody_system.mass - L = nbody_system.length - V = nbody_system.speed - T = nbody_system.time - handler.add_method('new_particle', (M,L,L,L,V,V,V,L), (handler.INDEX, handler.ERROR_CODE)) - handler.add_method('set_state', (handler.INDEX, M,L,L,L,L,V,V,V), (handler.ERROR_CODE)) - handler.add_method('get_state', (handler.INDEX), (M,L,L,L,L,V,V,V, handler.ERROR_CODE)) - handler.add_method('set_time_begin', (T), (handler.ERROR_CODE)) - handler.add_method('get_time_begin', (), (T, handler.ERROR_CODE)) - handler.add_method('get_number_of_particles', (), (units.none, handler.ERROR_CODE)) - handler.add_method('get_time_step', (), (T, handler.ERROR_CODE)) - handler.add_method('set_time_step', (T), (handler.ERROR_CODE)) - handler.add_method('update_force_potential_arrays', (T), (handler.ERROR_CODE)) - - def define_particle_sets(self, handler): - GravitationalDynamics.define_particle_sets(self, handler) +EticsInterface = load_code("etics", "EticsInterface") +Etics = load_code("etics", "Etics") +Etics = Etics diff --git a/src/amuse/community/etics/src/Makefile.in b/src/amuse/community/etics/src/Makefile.in deleted file mode 100644 index 2464c3020c..0000000000 --- a/src/amuse/community/etics/src/Makefile.in +++ /dev/null @@ -1,65 +0,0 @@ -CXX = @CXX@ -METHOD = SCF -LMAX ?= 6 -NMAX ?= 10 - -GPU_ARCH = @GPU_ARCH@ -NVCC = @NVCC@ - -BOOSTINC = @BOOSTINC@ -ifeq ($(BOOSTINC), NOBOOST) - BOOST = -DNOBOOST -else - BOOST = -I$(BOOSTINC) -endif - -LDFLAGS = -L@CUDA_ROOT@/lib64 @LDFLAGS@ -CXXFLAGS = @CXXFLAGS@ -LIBS = -lm @LIBS@ -# LIBS should get at least -lcuda -lcudart -lcudadevrt from the configure script -CPPFLAGS = -D$(METHOD) -DLMAX=$(LMAX) -DNMAX=$(NMAX) $(BOOST) @CPPFLAGS@ -CUDAFLAGS = -arch=sm_$(GPU_ARCH) -STATICLIBS = @STATICLIBS@ - -CODELIB = libetics.a - -# object files needed for the library and the standalone -CODEOBJS1 = integrate.o mathaux.o scf.o ic.o - -# object files only needed for the standalone -CODEOBJS2 = io.o main.o - -AR = ar ruv -RANLIB = ranlib - -all: $(CODELIB) standalone - -clean: - $(RM) *.o *.a etics - -$(CODELIB): $(CODEOBJS1) - $(NVCC) $(CUDAFLAGS) -dlink $(CODEOBJS1) -o dlink.o - $(AR) $@ $(CODEOBJS1) dlink.o - $(RANLIB) $@ - -library: $(CODELIB) - -standalone: $(CODEOBJS1) $(CODEOBJS2) - $(NVCC) $(CUDAFLAGS) -dlink $(CODEOBJS1) $(CODEOBJS2) -o dlink.o - $(CXX) $(CXXFLAGS) -o etics $(CODEOBJS1) $(CODEOBJS2) dlink.o $(STATICLIBS) $(LDFLAGS) $(LIBS) - -scf-optimize-lc: mathaux.o scf.o scf-optimize-lc.o ic.o - $(NVCC) $(CUDAFLAGS) -dlink mathaux.o scf.o scf-optimize-lc.o ic.o -o dlink.o - $(CXX) $(CXXFLAGS) -o scf-optimize-lc mathaux.o scf.o scf-optimize-lc.o ic.o dlink.o $(STATICLIBS) $(LDFLAGS) $(LIBS) - -.SUFFIXES: .cu .cpp .o - -# only io.cpp should be compiled with all the weird HDF5 flags -io.o: io.cpp - $(CXX) $(CPPFLAGS) -I@HDF5_ROOT@/include $(CXXFLAGS) -c -o io.o io.cpp - -.cu.o: $< - $(NVCC) $(CUDAFLAGS) $(CPPFLAGS) -Xcompiler "$(CXXFLAGS)" -dc -o $@ $< - -.cpp.o: $< - $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $< diff --git a/src/amuse/community/etics/src/configure b/src/amuse/community/etics/src/configure deleted file mode 100755 index ddf18e871c..0000000000 --- a/src/amuse/community/etics/src/configure +++ /dev/null @@ -1,5668 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for etics 1.0.0. -# -# 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 sahmes@gmail.com -$0: about your system, including any error possibly output -$0: before this message. Then install a modern shell, or -$0: manually run the script under such a shell if you do -$0: 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='etics' -PACKAGE_TARNAME='etics' -PACKAGE_VERSION='1.0.0' -PACKAGE_STRING='etics 1.0.0' -PACKAGE_BUGREPORT='sahmes@gmail.com' -PACKAGE_URL='' - -ac_unique_file="ic.hpp" -# 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 -LIBOBJS -BOOSTINC -HDF5_ROOT -STATICLIBS -GPU_ARCH -CUDA_ROOT -EGREP -GREP -CXXCPP -H5CXX -MPICXX -ac_ct_CC -CFLAGS -CC -SED -NVCC -RANLIB -OBJEXT -EXEEXT -ac_ct_CXX -CPPFLAGS -LDFLAGS -CXXFLAGS -CXX -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 -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 -with_a00000 -with_cuda -with_mpi -with_boost -with_gpu_arch -' - ac_precious_vars='build_alias -host_alias -target_alias -CXX -CXXFLAGS -LDFLAGS -LIBS -CPPFLAGS -CCC -CC -CFLAGS -CXXCPP' - - -# 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' -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 ;; - - -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 -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 etics 1.0.0 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] - --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/etics] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of etics 1.0.0:";; - esac - cat <<\_ACEOF - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - - For the following --with-xxx options, you can specify the root directory of - these special packages that may be installed in unusual locations. - - --with-xxx=DIR - Specify only the directory which contains the - include/ and lib/ subdirectories - - --with-cuda=DIR CUDA installation directory - --with-mpi=DIR MPI installation directory - --with-boost=DIR BOOST installation directory - --with-gpu-arch=ARCH Specify device architechture [default=35] - -Some influential environment variables: - CXX C++ compiler command - CXXFLAGS 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 - CC C compiler command - CFLAGS C compiler flags - CXXCPP C++ preprocessor - -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 -etics configure 1.0.0 -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_cxx_try_compile LINENO -# ---------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_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_cxx_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_cxx_try_compile - -# 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_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_cxx_try_cpp LINENO -# ------------------------ -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_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_cxx_preproc_warn_flag$ac_cxx_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_cxx_try_cpp - -# ac_fn_cxx_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_cxx_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_cxx_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_cxx_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_cxx_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 sahmes@gmail.com ## -## ------------------------------- ##" - ) | 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_cxx_check_header_mongrel - -# ac_fn_cxx_try_run LINENO -# ------------------------ -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_cxx_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_cxx_try_run - -# ac_fn_cxx_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_cxx_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_cxx_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_cxx_check_header_compile -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 etics $as_me 1.0.0, 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 - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: This is a rudimentary and experimental configure script!" >&5 -$as_echo "$as_me: WARNING: This is a rudimentary and experimental configure script!" >&2;} - - -ac_config_headers="$ac_config_headers config.h" - - - -if test -z $CXXFLAGS; then : - CXXFLAGS="-O3" -fi -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC - 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 g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC -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="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_ct_CXX - fi -fi - - fi -fi -# 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_cxx_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_cxx_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_cxx_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GXX=yes -else - GXX= -fi -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -$as_echo_n "checking whether $CXX accepts -g... " >&6; } -if ${ac_cv_prog_cxx_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -else - CXXFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - -else - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_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_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -$as_echo "$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - 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}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; 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_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # 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_RANLIB="${ac_tool_prefix}ranlib" - $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 -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; 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_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # 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_RANLIB="ranlib" - $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_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - 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 - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - - -# We are going to politely ignore the GNU standards and explicitly ask the user -# to specify unusual installation locations using the --with commands. - - -# Check whether --with-a00000 was given. -if test "${with_a00000+set}" = set; then : - withval=$with_a00000; -fi - - - -# Check whether --with-cuda was given. -if test "${with_cuda+set}" = set; then : - withval=$with_cuda; CUDA_ROOT="$withval" - -fi - -if test "$CUDA_ROOT" == "no"; then : - as_fn_error $? "This package needs CUDA" "$LINENO" 5 -fi - - -# Check whether --with-mpi was given. -if test "${with_mpi+set}" = set; then : - withval=$with_mpi; MPI_ROOT="$withval" - -fi - - - -# Check whether --with-boost was given. -if test "${with_boost+set}" = set; then : - withval=$with_boost; BOOST_ROOT="$withval" - -fi - - - -# Check whether --with-gpu-arch was given. -if test "${with_gpu_arch+set}" = set; then : - withval=$with_gpu_arch; GPU_ARCH="$withval" - -fi - -if test -z $GPU_ARCH; then : - GPU_ARCH=35 -fi - -# Some macros to help the script to detect libraries in unusual locations - - - - - - - - - - -# Check CUDA -if test -z $CUDA_ROOT; then : - - # Extract the first word of "nvcc", so it can be a program name with args. -set dummy nvcc; 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_NVCC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NVCC"; then - ac_cv_prog_NVCC="$NVCC" # 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_NVCC="nvcc" - $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_NVCC" && ac_cv_prog_NVCC="no" -fi -fi -NVCC=$ac_cv_prog_NVCC -if test -n "$NVCC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NVCC" >&5 -$as_echo "$NVCC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test "$NVCC" == "no"; then : - as_fn_error $? "This package needs CUDA" "$LINENO" 5 -else - - { $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 - - CUDA_ROOT=`which nvcc | sed 's:/bin/nvcc$::'` - -fi - -else - - # Extract the first word of "nvcc", so it can be a program name with args. -set dummy nvcc; 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_NVCC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NVCC"; then - ac_cv_prog_NVCC="$NVCC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $CUDA_ROOT/bin -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_NVCC="$CUDA_ROOT/bin/nvcc" - $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_NVCC" && ac_cv_prog_NVCC="no" -fi -fi -NVCC=$ac_cv_prog_NVCC -if test -n "$NVCC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NVCC" >&5 -$as_echo "$NVCC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test "$NVCC" == "no"; then : - as_fn_error $? "No nvcc executable was found in $CUDA_ROOT/bin" "$LINENO" 5 -fi - -fi - - - LDFLAGS_temporary_storage=$LDFLAGS - LDFLAGS="-L$CUDA_ROOT/lib64 $LDFLAGS" - -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 - -{ $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 - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lcuda" >&5 -$as_echo_n "checking for main in -lcuda... " >&6; } -if ${ac_cv_lib_cuda_main+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcuda $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - -int -main () -{ -return main (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_cuda_main=yes -else - ac_cv_lib_cuda_main=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_cuda_main" >&5 -$as_echo "$ac_cv_lib_cuda_main" >&6; } -if test "x$ac_cv_lib_cuda_main" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBCUDA 1 -_ACEOF - - LIBS="-lcuda $LIBS" - -else - as_fn_error $? "Error while checking for libcuda" "$LINENO" 5 -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lcudart" >&5 -$as_echo_n "checking for main in -lcudart... " >&6; } -if ${ac_cv_lib_cudart_main+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcudart $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - -int -main () -{ -return main (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_cudart_main=yes -else - ac_cv_lib_cudart_main=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_cudart_main" >&5 -$as_echo "$ac_cv_lib_cudart_main" >&6; } -if test "x$ac_cv_lib_cudart_main" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBCUDART 1 -_ACEOF - - LIBS="-lcudart $LIBS" - -else - as_fn_error $? "Error while checking for libcudart" "$LINENO" 5 -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lcudadevrt" >&5 -$as_echo_n "checking for main in -lcudadevrt... " >&6; } -if ${ac_cv_lib_cudadevrt_main+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcudadevrt $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - -int -main () -{ -return main (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_cudadevrt_main=yes -else - ac_cv_lib_cudadevrt_main=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_cudadevrt_main" >&5 -$as_echo "$ac_cv_lib_cudadevrt_main" >&6; } -if test "x$ac_cv_lib_cudadevrt_main" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBCUDADEVRT 1 -_ACEOF - - LIBS="-lcudadevrt $LIBS" - -else - as_fn_error $? "Error while checking for cudadevrt" "$LINENO" 5 -fi - - - LDFLAGS=$LDFLAGS_temporary_storage - - -# Check MPI -# AS_IF([test -z $MPI_ROOT], -# [ -# AC_CHECK_LIB([mpi], [main], [], -# [ -# AS_UNSET([ac_cv_lib_mpi_main]) -# AC_CHECK_PROG([MPICC], [mpicc], [mpicc], [:]) -# AS_IF([test "$MPICC" == :], [AC_MSG_ERROR([This package needs MPI])], -# [ -# AC_PROG_SED -# AC_MSG_NOTICE([MPICC executable found, trying to find library nearby]) -# MPI_ROOT=`which mpicc | sed 's:/bin/mpicc$::'` -# AX_LDFLAGS_PUSH([-L$MPI_ROOT/lib]) -# AC_CHECK_LIB([mpi], [main], [], [AC_MSG_ERROR([This package needs MPI])]) -# AX_LDFLAGS_POP -# ]) -# ]) -# ], -# [ -# AX_LDFLAGS_PUSH([-L$MPI_ROOT/lib]) -# AC_CHECK_LIB([mpi], [main], [], [AC_MSG_ERROR([No compatible MPI library was found in $MPI_ROOT/lib])]) -# AX_LDFLAGS_POP -# ]) - - -if test -z $MPI_ROOT; then : - - # Extract the first word of "mpic++", so it can be a program name with args. -set dummy mpic++; 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_MPICXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MPICXX"; then - ac_cv_prog_MPICXX="$MPICXX" # 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_MPICXX="mpic++" - $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_MPICXX" && ac_cv_prog_MPICXX="no" -fi -fi -MPICXX=$ac_cv_prog_MPICXX -if test -n "$MPICXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 -$as_echo "$MPICXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test "$MPICXX" == "no"; then : - as_fn_error $? "This package needs MPI (not really but this configure script does)" "$LINENO" 5 -fi - -else - - # Extract the first word of "mpic++", so it can be a program name with args. -set dummy mpic++; 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_MPICXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MPICXX"; then - ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $MPI_ROOT/bin -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_MPICXX="$MPI_ROOT/bin/mpic++" - $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_MPICXX" && ac_cv_prog_MPICXX="no" -fi -fi -MPICXX=$ac_cv_prog_MPICXX -if test -n "$MPICXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 -$as_echo "$MPICXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test "$MPICXX" == "no"; then : - as_fn_error $? "Cound not find MPI compiler in $MPI_ROOT/bin" "$LINENO" 5 -fi - -fi - -if test -z $HDF5_ROOT; then : - - # Extract the first word of "h5c++", so it can be a program name with args. -set dummy h5c++; 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_H5CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$H5CXX"; then - ac_cv_prog_H5CXX="$H5CXX" # 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_H5CXX="h5c++" - $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_H5CXX" && ac_cv_prog_H5CXX="no" -fi -fi -H5CXX=$ac_cv_prog_H5CXX -if test -n "$H5CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $H5CXX" >&5 -$as_echo "$H5CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test "$H5CXX" == "no"; then : - as_fn_error $? "This package needs HDF5 (not really but this configure script does)" "$LINENO" 5 -fi - HDF5_ROOT=`which h5c++ | sed 's:/bin/h5c++$::'` - -else - - # Extract the first word of "h5c++", so it can be a program name with args. -set dummy h5c++; 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_H5CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$H5CXX"; then - ac_cv_prog_H5CXX="$H5CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $HDF5_ROOT/bin -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_H5CXX="$HDF5_ROOT/bin/h5c++" - $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_H5CXX" && ac_cv_prog_H5CXX="no" -fi -fi -H5CXX=$ac_cv_prog_H5CXX -if test -n "$H5CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $H5CXX" >&5 -$as_echo "$H5CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test "$H5CXX" == "no"; then : - as_fn_error $? "Cound not find HDF5 compiler in $HDF5_ROOT/bin" "$LINENO" 5 -fi - -fi - - -# # Check HDF5 -# AS_IF([test -z $HDF5_ROOT], -# [ -# AC_CHECK_LIB([hdf5], [main], [], -# [ -# AS_UNSET([ac_cv_lib_hdf5_main]) -# AC_CHECK_PROG([HDF5CC], [h5cc], [h5cc], [:]) -# AS_IF([test "$HDF5CC" == :], [AC_MSG_ERROR([This package needs HDF5])], -# [ -# AC_PROG_SED -# AC_MSG_NOTICE([H5CC executable found, trying to find library nearby]) -# HDF5_ROOT=`which h5cc | sed 's:/bin/h5cc$::'` -# AC_MSG_NOTICE([XXXXX $HDF5_ROOT]) -# # AX_LDFLAGS_PUSH([dgsfgdfgd /home/ymeiron/local/lib/libhdf5.a]) -# # AC_CHECK_LIB([hdf5], [main], [], [AC_MSG_ERROR([This package needs HDF5])]) -# # AX_LDFLAGS_POP -# ]) -# ]) -# ], -# [ -# AX_LDFLAGS_PUSH([-L$HDF5_ROOT/lib]) -# AC_CHECK_LIB([hdf5], [main], [], [AC_MSG_ERROR([No compatible HDF5 library was found in $HDF5_ROOT/lib])]) -# AX_LDFLAGS_POP -# ]) - - - -H5CXX_SHOW=`h5c++ -show` -MPICXX_SHOW=`mpic++ -show` - -MPICXX_COMPILER=`echo $MPICXX_SHOW | awk '{print $1;}'` -H5CXX_COMPILER=`echo $H5CXX_SHOW | awk '{print $1;}'` - -H5CXX_SHOW=`echo "$H5CXX_SHOW" | cut -d " " -f2-` -MPICXX_SHOW=`echo "$MPICXX_SHOW" | cut -d " " -f2-` - -if test $MPICXX_COMPILER == $H5CXX_COMPILER; then : - -else - as_fn_error $? "mpic++ and h5c++ seem to wrap different compilers!" "$LINENO" 5 -fi -if test $MPICXX_COMPILER == $CXX; then : - -else - as_fn_error $? "mpic++ and h5c++ seem to wrap a different compiler than the requested $CXX" "$LINENO" 5 -fi - -# MPICXX_SHOW_UNIQUE="" -# for OPTION in $MPICXX_SHOW -# do -# if test "${H5CXX_SHOW/$OPTION}" == "$H5CXX_SHOW"; then -# MPICXX_SHOW_UNIQUE="$MPICXX_SHOW_UNIQUE $OPTION" -# fi -# done -MPICXX_SHOW_UNIQUE=$MPICXX_SHOW - -CPPFLAGS=`echo $H5CXX_SHOW $MPICXX_SHOW_UNIQUE | grep -o '\-[DI]\S\+' | tr '\n' ' ' | sed -e 's/\ \+/\ /g'`" "$CPPFLAGS -LDFLAGS=`echo $H5CXX_SHOW $MPICXX_SHOW_UNIQUE | grep -o '\-L\S\+\|\-Wl\S\+' | tr '\n' ' ' | sed -e 's/\ \+/\ /g'`" "$LDFLAGS -LIBS=`echo $H5CXX_SHOW $MPICXX_SHOW_UNIQUE | grep -o '\-l\S\+' | tr '\n' ' ' | sed -e 's/\ \+/\ /g'`" "$LIBS -STATICLIBS=`echo $H5CXX_SHOW $MPICXX_SHOW_UNIQUE | grep -o '\s[^-].\+' | tr '\n' ' ' | sed -e 's/\ \+/\ /g'`" "$STATICLIBS - -KNOWNFLAGS="$CPPFLAGS $LDFLAGS $LIBS $STATICLIBS" -ALLOPTIONS="$H5CXX_SHOW $MPICXX_SHOW_UNIQUE" -for OPTION in $ALLOPTIONS -do - if test "${KNOWNFLAGS/$OPTION}" == "$KNOWNFLAGS"; then - CXXFLAGS="$CXXFLAGS $OPTION" - fi -done - - -# echo -e "$CXX \n $CPPFLAGS $LDFLAGS $STATICLIBS $LIBS $CXXFLAGS" | tr '\n' ' ' | sed -e 's/\ \+/\ /g' - - -# Check BOOST -CONFIGSCRIPT_HAVE_BOOST="no" -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_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; } -if test -z "$CXXCPP"; then - if ${ac_cv_prog_CXXCPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_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_cxx_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_cxx_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_CXXCPP=$CXXCPP - -fi - CXXCPP=$ac_cv_prog_CXXCPP -else - ac_cv_prog_CXXCPP=$CXXCPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 -$as_echo "$CXXCPP" >&6; } -ac_preproc_ok=false -for ac_cxx_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_cxx_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_cxx_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 \"$CXXCPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_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 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_cxx_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_cxx_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_cxx_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 - - -if test -z $BOOST_ROOT; then : - - ac_fn_cxx_check_header_mongrel "$LINENO" "boost/version.hpp" "ac_cv_header_boost_version_hpp" "$ac_includes_default" -if test "x$ac_cv_header_boost_version_hpp" = xyes; then : - - -$as_echo "#define HAVE_BOOST 1" >>confdefs.h - - CONFIGSCRIPT_HAVE_BOOST="yes" - -fi - - - -else - - if test "$BOOST_ROOT" != "no"; then : - - - CPPFLAGS_temporary_storage=$CPPFLAGS - CPPFLAGS="-I$BOOST_ROOT $CPPFLAGS" - - ac_fn_cxx_check_header_mongrel "$LINENO" "boost/version.hpp" "ac_cv_header_boost_version_hpp" "$ac_includes_default" -if test "x$ac_cv_header_boost_version_hpp" = xyes; then : - - -$as_echo "#define HAVE_BOOST 1" >>confdefs.h - - CONFIGSCRIPT_HAVE_BOOST="yes" - -else - - as_fn_error $? "Cound not find BOOST headers in $BOOST_ROOT" "$LINENO" 5 - -fi - - - - CPPFLAGS=$CPPFLAGS_temporary_storage - - -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 "$CONFIGSCRIPT_HAVE_BOOST" == "yes"; then : - BOOSTINC=$BOOST_ROOT -else - BOOSTINC="NOBOOST" -fi - - - - - - - - -ac_config_files="$ac_config_files Makefile" - - - -echo "CPPFLAGS=$CPPFLAGS" -echo "CXXFLAGS=$CXXFLAGS" -echo "LDFLAGS=$LDFLAGS" -echo "LIBS=$LIBS" -echo "STATICLIBS=$STATICLIBS" - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: printing summary - -Compilers: ----------- - C++ compiler: $CXX - CUDA compiler: $NVCC - -Libraries: ----------- - boost: $CONFIGSCRIPT_HAVE_BOOST - cuda: yes - hdf5: yes - mpi: yes - -Parameters: ------------ - GPU architechture: $GPU_ARCH -" >&5 -$as_echo "$as_me: printing summary - -Compilers: ----------- - C++ compiler: $CXX - CUDA compiler: $NVCC - -Libraries: ----------- - boost: $CONFIGSCRIPT_HAVE_BOOST - cuda: yes - hdf5: yes - mpi: yes - -Parameters: ------------ - GPU architechture: $GPU_ARCH -" >&6;} - -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 etics $as_me 1.0.0, 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="\\ -etics config.status 1.0.0 -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' -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 - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - - *) 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 - # - -_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 -$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 - -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 - diff --git a/src/amuse/community/etics/src/configure.ac b/src/amuse/community/etics/src/configure.ac deleted file mode 100644 index 5e09279a7d..0000000000 --- a/src/amuse/community/etics/src/configure.ac +++ /dev/null @@ -1,279 +0,0 @@ -# -*- Autoconf -*- -# Process this file with autoconf to produce a configure script. - -### TODO handle --without-mpi and --without-hdf5 - -AC_PREREQ([2.69]) -AC_INIT([etics], [1.0.0], [sahmes@gmail.com]) - -AC_MSG_WARN([This is a rudimentary and experimental configure script!]) - -AC_CONFIG_SRCDIR([ic.hpp]) -AC_CONFIG_HEADERS([config.h]) - - -AS_IF([test -z $CXXFLAGS], [CXXFLAGS="-O3"]) -AC_PROG_CXX -AC_PROG_RANLIB - -# We are going to politely ignore the GNU standards and explicitly ask the user -# to specify unusual installation locations using the --with commands. - -AC_ARG_WITH([a00000], -[ - For the following --with-xxx options, you can specify the root directory of - these special packages that may be installed in unusual locations. - - --with-xxx=DIR - Specify only the directory which contains the - include/ and lib/ subdirectories -]) - -AC_ARG_WITH( - [cuda], - [AS_HELP_STRING([--with-cuda=DIR], [CUDA installation directory])], - [CUDA_ROOT="$withval"] -) -AS_IF([test "$CUDA_ROOT" == "no"], [AC_MSG_ERROR([This package needs CUDA])]) - -AC_ARG_WITH( - [mpi], - [AS_HELP_STRING([--with-mpi=DIR], [MPI installation directory])], - [MPI_ROOT="$withval"] -) - -AC_ARG_WITH( - [boost], - [AS_HELP_STRING([--with-boost=DIR], [BOOST installation directory])], - [BOOST_ROOT="$withval"] -) - -AC_ARG_WITH( - [gpu-arch], - [AS_HELP_STRING([--with-gpu-arch=ARCH], [Specify device architechture [default=35]])], - [GPU_ARCH="$withval"] -) -AS_IF([test -z $GPU_ARCH], [GPU_ARCH=35]) - -# Some macros to help the script to detect libraries in unusual locations - -AC_DEFUN([AX_LDFLAGS_PUSH], [ - LDFLAGS_temporary_storage=$LDFLAGS - LDFLAGS="$1 $LDFLAGS" -]) - -AC_DEFUN([AX_LDFLAGS_POP], [ - LDFLAGS=$LDFLAGS_temporary_storage -]) - -AC_DEFUN([AX_CPPFLAGS_PUSH], [ - CPPFLAGS_temporary_storage=$CPPFLAGS - CPPFLAGS="$1 $CPPFLAGS" -]) - -AC_DEFUN([AX_CPPFLAGS_POP], [ - CPPFLAGS=$CPPFLAGS_temporary_storage -]) - - -# Check CUDA -AS_IF([test -z $CUDA_ROOT], -[ - AC_CHECK_PROG([NVCC], [nvcc], [nvcc], [no]) - AS_IF([test "$NVCC" == "no"], [AC_MSG_ERROR([This package needs CUDA])], - [ - AC_PROG_SED - CUDA_ROOT=`which nvcc | sed 's:/bin/nvcc$::'` - ]) -], -[ - AC_CHECK_PROG([NVCC], [nvcc], [$CUDA_ROOT/bin/nvcc], [no], [$CUDA_ROOT/bin]) - AS_IF([test "$NVCC" == "no"], [AC_MSG_ERROR([No nvcc executable was found in $CUDA_ROOT/bin])]) -]) - -AX_LDFLAGS_PUSH([-L$CUDA_ROOT/lib64]) -AC_CHECK_LIB([cuda], [main], [], [AC_MSG_ERROR([Error while checking for libcuda])]) -AC_CHECK_LIB([cudart], [main], [], [AC_MSG_ERROR([Error while checking for libcudart])]) -AC_CHECK_LIB([cudadevrt], [main], [], [AC_MSG_ERROR([Error while checking for cudadevrt])]) -AX_LDFLAGS_POP - -# Check MPI -# AS_IF([test -z $MPI_ROOT], -# [ -# AC_CHECK_LIB([mpi], [main], [], -# [ -# AS_UNSET([ac_cv_lib_mpi_main]) -# AC_CHECK_PROG([MPICC], [mpicc], [mpicc], [:]) -# AS_IF([test "$MPICC" == :], [AC_MSG_ERROR([This package needs MPI])], -# [ -# AC_PROG_SED -# AC_MSG_NOTICE([MPICC executable found, trying to find library nearby]) -# MPI_ROOT=`which mpicc | sed 's:/bin/mpicc$::'` -# AX_LDFLAGS_PUSH([-L$MPI_ROOT/lib]) -# AC_CHECK_LIB([mpi], [main], [], [AC_MSG_ERROR([This package needs MPI])]) -# AX_LDFLAGS_POP -# ]) -# ]) -# ], -# [ -# AX_LDFLAGS_PUSH([-L$MPI_ROOT/lib]) -# AC_CHECK_LIB([mpi], [main], [], [AC_MSG_ERROR([No compatible MPI library was found in $MPI_ROOT/lib])]) -# AX_LDFLAGS_POP -# ]) - - -AS_IF([test -z $MPI_ROOT], -[ - AC_CHECK_PROG([MPICXX], [mpic++], [mpic++], [no]) - AS_IF([test "$MPICXX" == "no"], [AC_MSG_ERROR([This package needs MPI (not really but this configure script does)])]) -], -[ - AC_CHECK_PROG([MPICXX], [mpic++], [$MPI_ROOT/bin/mpic++], [no], [$MPI_ROOT/bin]) - AS_IF([test "$MPICXX" == "no"], [AC_MSG_ERROR([Cound not find MPI compiler in $MPI_ROOT/bin])]) -]) - -AS_IF([test -z $HDF5_ROOT], -[ - AC_CHECK_PROG([H5CXX], [h5c++], [h5c++], [no]) - AS_IF([test "$H5CXX" == "no"], [AC_MSG_ERROR([This package needs HDF5 (not really but this configure script does)])]) - HDF5_ROOT=`which h5c++ | sed 's:/bin/h5c++$::'` -], -[ - AC_CHECK_PROG([H5CXX], [h5c++], [$HDF5_ROOT/bin/h5c++], [no], [$HDF5_ROOT/bin]) - AS_IF([test "$H5CXX" == "no"], [AC_MSG_ERROR([Cound not find HDF5 compiler in $HDF5_ROOT/bin])]) -]) - - -# # Check HDF5 -# AS_IF([test -z $HDF5_ROOT], -# [ -# AC_CHECK_LIB([hdf5], [main], [], -# [ -# AS_UNSET([ac_cv_lib_hdf5_main]) -# AC_CHECK_PROG([HDF5CC], [h5cc], [h5cc], [:]) -# AS_IF([test "$HDF5CC" == :], [AC_MSG_ERROR([This package needs HDF5])], -# [ -# AC_PROG_SED -# AC_MSG_NOTICE([H5CC executable found, trying to find library nearby]) -# HDF5_ROOT=`which h5cc | sed 's:/bin/h5cc$::'` -# AC_MSG_NOTICE([XXXXX $HDF5_ROOT]) -# # AX_LDFLAGS_PUSH([dgsfgdfgd /home/ymeiron/local/lib/libhdf5.a]) -# # AC_CHECK_LIB([hdf5], [main], [], [AC_MSG_ERROR([This package needs HDF5])]) -# # AX_LDFLAGS_POP -# ]) -# ]) -# ], -# [ -# AX_LDFLAGS_PUSH([-L$HDF5_ROOT/lib]) -# AC_CHECK_LIB([hdf5], [main], [], [AC_MSG_ERROR([No compatible HDF5 library was found in $HDF5_ROOT/lib])]) -# AX_LDFLAGS_POP -# ]) - - - -H5CXX_SHOW=`h5c++ -show` -MPICXX_SHOW=`mpic++ -show` - -MPICXX_COMPILER=`echo $MPICXX_SHOW | awk '{print $1;}'` -H5CXX_COMPILER=`echo $H5CXX_SHOW | awk '{print $1;}'` - -H5CXX_SHOW=`echo "$H5CXX_SHOW" | cut -d " " -f2-` -MPICXX_SHOW=`echo "$MPICXX_SHOW" | cut -d " " -f2-` - -AS_IF([test $MPICXX_COMPILER == $H5CXX_COMPILER], [], [AC_MSG_ERROR([mpic++ and h5c++ seem to wrap different compilers!])]) -AS_IF([test $MPICXX_COMPILER == $CXX], [], [AC_MSG_ERROR([mpic++ and h5c++ seem to wrap a different compiler than the requested $CXX])]) - -# MPICXX_SHOW_UNIQUE="" -# for OPTION in $MPICXX_SHOW -# do -# if test "${H5CXX_SHOW/$OPTION}" == "$H5CXX_SHOW"; then -# MPICXX_SHOW_UNIQUE="$MPICXX_SHOW_UNIQUE $OPTION" -# fi -# done -MPICXX_SHOW_UNIQUE=$MPICXX_SHOW - -CPPFLAGS=`echo $H5CXX_SHOW $MPICXX_SHOW_UNIQUE | grep -o '\-[[DI]]\S\+' | tr '\n' ' ' | sed -e 's/\ \+/\ /g'`" "$CPPFLAGS -LDFLAGS=`echo $H5CXX_SHOW $MPICXX_SHOW_UNIQUE | grep -o '\-L\S\+\|\-Wl\S\+' | tr '\n' ' ' | sed -e 's/\ \+/\ /g'`" "$LDFLAGS -LIBS=`echo $H5CXX_SHOW $MPICXX_SHOW_UNIQUE | grep -o '\-l\S\+' | tr '\n' ' ' | sed -e 's/\ \+/\ /g'`" "$LIBS -STATICLIBS=`echo $H5CXX_SHOW $MPICXX_SHOW_UNIQUE | grep -o '\s[[^-]].\+' | tr '\n' ' ' | sed -e 's/\ \+/\ /g'`" "$STATICLIBS - -KNOWNFLAGS="$CPPFLAGS $LDFLAGS $LIBS $STATICLIBS" -ALLOPTIONS="$H5CXX_SHOW $MPICXX_SHOW_UNIQUE" -for OPTION in $ALLOPTIONS -do - if test "${KNOWNFLAGS/$OPTION}" == "$KNOWNFLAGS"; then - CXXFLAGS="$CXXFLAGS $OPTION" - fi -done - - -# echo -e "$CXX \n $CPPFLAGS $LDFLAGS $STATICLIBS $LIBS $CXXFLAGS" | tr '\n' ' ' | sed -e 's/\ \+/\ /g' - - -# Check BOOST -CONFIGSCRIPT_HAVE_BOOST="no" -AC_LANG_PUSH([C++]) -AS_IF([test -z $BOOST_ROOT], -[ - AC_CHECK_HEADER([boost/version.hpp], - [ - AC_DEFINE([HAVE_BOOST], [1], [Define to 1 if you have the boost libraries.]) - CONFIGSCRIPT_HAVE_BOOST="yes" - ]) -], -[ - AS_IF([test "$BOOST_ROOT" != "no"], - [ - AX_CPPFLAGS_PUSH([-I$BOOST_ROOT]) - AC_CHECK_HEADER([boost/version.hpp], - [ - AC_DEFINE([HAVE_BOOST], [1], [Define to 1 if you have the boost libraries.]) - CONFIGSCRIPT_HAVE_BOOST="yes" - ], - [ - AC_MSG_ERROR([Cound not find BOOST headers in $BOOST_ROOT]) - ]) - AX_CPPFLAGS_POP - ]) -]) -AC_LANG_POP([C++]) - -AS_IF([test "$CONFIGSCRIPT_HAVE_BOOST" == "yes"], [BOOSTINC=$BOOST_ROOT], [BOOSTINC="NOBOOST"]) - - -AC_SUBST([CUDA_ROOT]) -AC_SUBST([NVCC]) -AC_SUBST([GPU_ARCH]) -AC_SUBST([STATICLIBS]) -AC_SUBST([HDF5_ROOT]) -AC_SUBST([BOOSTINC]) -AC_CONFIG_FILES([Makefile]) - - -echo "CPPFLAGS=$CPPFLAGS" -echo "CXXFLAGS=$CXXFLAGS" -echo "LDFLAGS=$LDFLAGS" -echo "LIBS=$LIBS" -echo "STATICLIBS=$STATICLIBS" - - - -AC_MSG_NOTICE([printing summary - -Compilers: ----------- - C++ compiler: $CXX - CUDA compiler: $NVCC - -Libraries: ----------- - boost: $CONFIGSCRIPT_HAVE_BOOST - cuda: yes - hdf5: yes - mpi: yes - -Parameters: ------------ - GPU architechture: $GPU_ARCH -]) - -AC_OUTPUT diff --git a/src/amuse/community/evtwin/Makefile b/src/amuse/community/evtwin/Makefile deleted file mode 100644 index c81ce73664..0000000000 --- a/src/amuse/community/evtwin/Makefile +++ /dev/null @@ -1,49 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPIFC ?= mpif90 -FORTRAN ?= gfortran -FC ?= $(FORTRAN) - - - -SRCDIR=src/trunk -BUILDDIR=build - -CMAKE_DEPS=$(SRCDIR)/CMakeLists.txt $(SRCDIR)/cmake/CompilerFlags.cmake $(SRCDIR)/cmake/FileList.cmake - -SRC = $(SRCDIR)/code/libint.f90 - -EVTWINLIB=$(SRCDIR)/lib/libtwin.a $(SRCDIR)/lib/libtwincore.a - -FLIB= -L/software/local/intel64/compiler91/lib -lifcore -lifport -LD = ld -AR = ar ruv -RANLIB = ranlib -CMAKE_GENERATOR ?= Unix Makefiles - -all: $(BUILDDIR)/Makefile evtwin_worker - -$(BUILDDIR)/Makefile: $(CMAKE_DEPS) - -mkdir -p $(BUILDDIR) - cd $(BUILDDIR) && FC="$(FC) $(FCFLAGS)" cmake ../src/trunk -DCMAKE_Fortran_FLAGS:STRING="$(FCFLAGS)" -G "$(CMAKE_GENERATOR)" -DWANT_MKMERGERMOD=0 -DWANT_LIBRARY=1 - -clean: - rm -f *.pyc worker_code.f90 evtwin_worker - -make -C $(BUILDDIR) clean - -distclean: clean - rm -rf $(BUILDDIR) - rm -f $(EVTWINLIB) - rm -rf $(SRCDIR)/lib - -evtwin_worker: worker_code.f90 $(SRC) - make -s --no-print-directory -C $(BUILDDIR) - $(MPIFC) -I$(BUILDDIR) $(FS_FLAGS) $(LDFLAGS) $< -o $@ $(EVTWINLIB) $(FS_LIBS) $(LIBS) - -worker_code.f90: interface.py - $(CODE_GENERATOR) --type=f90 interface.py EVtwinInterface -o $@ diff --git a/src/amuse/community/evtwin/interface.py b/src/amuse/community/evtwin/interface.py index a258c13fc0..f68ed4f3e7 100644 --- a/src/amuse/community/evtwin/interface.py +++ b/src/amuse/community/evtwin/interface.py @@ -1,886 +1,7 @@ -import os.path -from amuse.support import exceptions -from amuse.community import * -from amuse.community.interface.se import StellarEvolution, StellarEvolutionInterface, \ - InternalStellarStructure, InternalStellarStructureInterface - -from amuse.support.interface import InCodeComponentImplementation -from amuse.support.options import OptionalAttributes, option - - -class EVtwinInterface(CodeInterface, LiteratureReferencesMixIn, StellarEvolutionInterface, - InternalStellarStructureInterface, - CodeWithDataDirectories): - """ - Evtwin is based on Peter Eggleton's stellar evolution code, and solves - the differential equations that apply to the interior of a star. Therefore - it is more accurate, but also much slower than the analytic fits-based - SSE legacy code, that has the same origin. - The work-around for the helium flash is not yet implemented in the AMUSE - interface to evtwin. Currently only solar metallicity. - - .. [#] ADS:1971MNRAS.151..351E ** (Eggleton, P.P. 1971, MNRAS, 151, 351: - .. [#] ... "The evolution of low mass stars") - .. [#] ADS:2008A&A...488.1007G ** (Glebbeek, Pols & Hurley, 2008 A&A - .. [#] ... (for enhancements to the solver)) - .. [#] ADS:1972MNRAS.156..361E (Eggleton, P.P. 1972, MNRAS, 156, 361: - .. [#] ... "Composition changes during stellar evolution") - .. [#] ADS:1973MNRAS.163..279E (Eggleton, P.P. 1973, MNRAS, 163, 279: - .. [#] ... "A numerical treatment of double shell source stars") - .. [#] ADS:1973A&A....23..325E (Eggleton, P.P., Faulkner, J., & Flannery, B.P. 1973, A&A, 23, 325: - .. [#] ... "An Approximate Equation of State for Stellar Material") - .. [#] ADS:1994MNRAS.270..121H (Han, Z., Podsiadlowski, P., & Eggleton, P.P. 1994, MNRAS, 270, 121: - .. [#] ... "A Possible Criterion for Envelope Ejection in Asymptotic Giant Branch or First Giant Branch Stars") - .. [#] ADS:1995MNRAS.274..964P (Pols, O.R., Tout, C.A., Eggleton, P.P., & Han, Z. 1995, MNRAS, 274, 964: - .. [#] ... "Approximate input physics for stellar modelling") - .. [#] ADS:2001ASPC..229..157E (Eggleton, P.P. 2001, Evolution of Binary and Multiple Star Systems, 229, 157: - .. [#] ... "The Braking of Wind") - .. [#] ADS:2001ApJ...552..664N (Nelson, C.A., & Eggleton, P.P. 2001, ApJ, 552, 664: - .. [#] ... "A Complete Survey of Case A Binary Evolution with Comparison to Observed Algol-type Systems") - .. [#] ADS:2002ApJ...575..461E (Eggleton, P.P., & Kiseleva-Eggleton, L. 2002, ApJ, 575, 461: - .. [#] ... "The Evolution of Cool Algols") - .. [#] ADS:2007A&A...464L..57S (Stancliffe, Glebbeek, Izzard & Pols, 2007 A&A - .. [#] ... (for thermohaline mixing)) - .. [#] ADS:2004MNRAS.348..201E (Eldridge & Tout, 2004 MNRAS 348 - .. [#] ... (for the OPAL 1996 opacity tables)) - """ - use_modules = ['twinlib', 'import'] - - def __init__(self, **options): - CodeInterface.__init__(self, name_of_the_worker="evtwin_worker", **options) - LiteratureReferencesMixIn.__init__(self) - CodeWithDataDirectories.__init__(self) - - set_mass_fraction_of_species_at_zone = None - set_radius_at_zone = None - set_density_at_zone = None - set_temperature_at_zone = None - - @legacy_function - def new_zams_star(): - """ - Define a new star in the code: a zero-age main sequence star with the given mass. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.OUT) - function.addParameter('mass', dtype='float64', unit=units.MSun, direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def new_prems_star(): - """ - Define a new star in the code: a pre-main-sequence star with the given mass. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.OUT) - function.addParameter('mass', dtype='float64', unit=units.MSun, direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def new_star_from_file(): - """ - Define a new star in the code: read the model from file. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.OUT) - function.addParameter('filename', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - def new_particle_with_internal_structure(self, internal_structure, age_tag): - if len(internal_structure) > 1: - raise exceptions.AmuseException("Can only add one particle with internal structure at a time.") - internal_structure = internal_structure[0] - self.new_stellar_model( - internal_structure.mass[::-1].value_in(units.MSun), - internal_structure.radius[::-1].value_in(units.RSun), - internal_structure.rho[::-1].value_in(units.g / units.cm**3), - internal_structure.pressure[::-1].value_in(units.barye), - internal_structure.X_H[::-1], - internal_structure.X_He[::-1], - internal_structure.X_C[::-1], - internal_structure.X_N[::-1], - internal_structure.X_O[::-1], - internal_structure.X_Ne[::-1], - internal_structure.X_Mg[::-1], - internal_structure.X_Si[::-1], - internal_structure.X_Fe[::-1] - ) - return self.finalize_stellar_model(age_tag) - - def new_particle_method(self, mass=None, pms=False, internal_structure=None, filename=None, age_tag=0): - if not filename is None: - return self.new_star_from_file(filename) - if not internal_structure is None: - return self.new_particle_with_internal_structure(internal_structure, age_tag) - if pms: - return self.new_prems_star(mass) - else: - return self.new_zams_star(mass) - new_particle = None - - @legacy_function - def get_maximum_number_of_stars(): - """ - Retrieve the maximum number of stars that can be - handled by this instance. - """ - function = LegacyFunctionSpecification() - function.addParameter('maximum_number_of_stars', dtype='int32', direction=function.OUT, - description = "The current value of the maximum number of stars") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value of was retrieved - """ - return function - - - @legacy_function - def set_maximum_number_of_stars(): - """ - Update the maximum number of stars that can be - handled by this instance. Need to set this number - before calling :method:`initialize_code`. Cannot be - changed once initialize_code has been called. - """ - function = LegacyFunctionSpecification() - function.addParameter('maximum_number_of_stars', dtype='int32', direction=function.IN, - description = "The new value of the maximum number of stars.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value was set - -1 - ERROR - The code cannot update the maximum number of stars - """ - return function - - @legacy_function - def set_ev_path(): - """ - Update the path to the EVtwin database. - """ - function = LegacyFunctionSpecification() - function.addParameter('path', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_max_age_stop_condition(): - """ - Retrieve the current maximum age stop condition of this instance (in years). - Evolution will stop once the star has reached this maximum age. - """ - function = LegacyFunctionSpecification() - function.addParameter('max_age_stop_condition', dtype='float64', direction=function.OUT, unit=units.yr) - function.result_type = 'int32' - return function - - @legacy_function - def set_max_age_stop_condition(): - """ - Set the new maximum age stop condition of this instance (in years). - Evolution will stop once the star has reached this maximum age. - This needs to be set after calling :method:`initialize_code`. It will - be overridden by initialize_code otherwise. - """ - function = LegacyFunctionSpecification() - function.addParameter('max_age_stop_condition', dtype='float64', direction=function.IN, unit=units.yr) - function.result_type = 'int32' - return function - - @legacy_function - def get_min_timestep_stop_condition(): - """ - Retrieve the current minimum timestep stop condition of this instance (in seconds). - Evolution will stop if the timestep required by the solver in order to converge - has decreased below this minimum timestep. - """ - function = LegacyFunctionSpecification() - function.addParameter('min_timestep', dtype='float64', direction=function.OUT, unit=units.s) - function.result_type = 'int32' - return function - - @legacy_function - def set_min_timestep_stop_condition(): - """ - Set the new minimum timestep stop condition of this instance (in seconds). - Evolution will stop if the timestep required by the solver in order to converge - has decreased below this minimum timestep. - This needs to be set after calling :method:`initialize_code`. It will - be overridden by initialize_code otherwise. - """ - function = LegacyFunctionSpecification() - function.addParameter('min_timestep', dtype='float64', direction=function.IN, unit=units.s) - function.result_type = 'int32' - return function - - @legacy_function - def get_convective_overshoot_parameter(): - """ - Retrieve the current value of the convective overshoot parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('convective_overshoot_parameter', dtype='float64', direction=function.OUT - , description="The current value of the convective overshoot parameter.") - function.result_type = 'int32' - return function - - @legacy_function - def set_convective_overshoot_parameter(): - """ - Set the value of the convective overshoot parameter. - This needs to be set after calling :method:`initialize_code`. It will - be overridden by initialize_code otherwise. - """ - function = LegacyFunctionSpecification() - function.addParameter('convective_overshoot_parameter', dtype='float64', direction=function.IN - , description="The new value of the convective overshoot parameter.") - function.result_type = 'int32' - return function - - @legacy_function - def get_mixing_length_ratio(): - """ - Retrieve the current value of the mixing length ratio. - """ - function = LegacyFunctionSpecification() - function.addParameter('mixing_length_ratio', dtype='float64', direction=function.OUT - , description="The current value of the mixing length ratio.") - function.result_type = 'int32' - return function - - @legacy_function - def set_mixing_length_ratio(): - """ - Set the value of the mixing length ratio. - This needs to be set after calling :method:`initialize_code`. It will - be overridden by initialize_code otherwise. - """ - function = LegacyFunctionSpecification() - function.addParameter('mixing_length_ratio', dtype='float64', direction=function.IN - , description="The new value of the mixing length ratio.") - function.result_type = 'int32' - return function - - @legacy_function - def get_semi_convection_efficiency(): - """ - Retrieve the current value of the efficiency of semi-convection, - after Langer, Sugimoto & Fricke 1983 (A&A). - """ - function = LegacyFunctionSpecification() - function.addParameter('semi_convection_efficiency', dtype='float64', direction=function.OUT - , description="The current value of the efficiency of semi-convection.") - function.result_type = 'int32' - return function - - @legacy_function - def set_semi_convection_efficiency(): - """ - Set the value of the efficiency of semi-convection, - after Langer, Sugimoto & Fricke 1983 (A&A). - This needs to be set after calling :method:`initialize_code`. It will - be overridden by initialize_code otherwise. - """ - function = LegacyFunctionSpecification() - function.addParameter('semi_convection_efficiency', dtype='float64', direction=function.IN - , description="The new value of the efficiency of semi-convection.") - function.result_type = 'int32' - return function - - @legacy_function - def get_thermohaline_efficiency(): - """ - Retrieve the current value of the thermohaline mixing parameter, - probably only important for binaries and collision remnants. - """ - function = LegacyFunctionSpecification() - function.addParameter('thermohaline_mixing_parameter', dtype='float64', direction=function.OUT - , description="The current value of the thermohaline mixing parameter.") - function.result_type = 'int32' - return function - - @legacy_function - def set_thermohaline_efficiency(): - """ - Set the value of the thermohaline mixing parameter, - probably only important for binaries and collision remnants. - This needs to be set after calling :method:`initialize_code`. It will - be overridden by initialize_code otherwise. - """ - function = LegacyFunctionSpecification() - function.addParameter('thermohaline_mixing_parameter', dtype='float64', direction=function.IN - , description="The new value of the thermohaline mixing parameter.") - function.result_type = 'int32' - return function - - @legacy_function - def get_number_of_ionization_elements(): - """ - Retrieve the current number of elements used for ionization of this instance. - With the default value (2), only the ionization of H and He are taken into account - in the EoS. For values 3, 4, 5, 6, 7, 8, 9: - the elements: C, N, O, Ne,Mg,Si,Fe are also included. Don't try 9. - """ - function = LegacyFunctionSpecification() - function.addParameter('number_of_ionization_elements', dtype='int32', direction=function.OUT - , description="The current number of elements used for ionization in EoS solver of this instance.") - function.result_type = 'int32' - return function - - @legacy_function - def set_number_of_ionization_elements(): - """ - Set the new number of elements used for ionization of this instance. - With the default value (2), only the ionization of H and He are taken into account - in the EoS. For values 3, 4, 5, 6, 7, 8, 9: - the elements: C, N, O, Ne,Mg,Si,Fe are also included. Don't try 9. - This needs to be set after calling :method:`initialize_code`. It will - be overridden by initialize_code otherwise. - """ - function = LegacyFunctionSpecification() - function.addParameter('number_of_ionization_elements', dtype='int32', direction=function.IN - , description="The new number of elements used for ionization in EoS solver of this instance.") - function.result_type = 'int32' - return function - - @legacy_function - def get_manual_mass_transfer_rate(): - """ - Retrieve the current user-specified mass transfer rate of the star. (negative for winds, positive for accretion) - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) - function.addParameter('mass_change', dtype='float64', unit=units.MSun/units.yr, direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_manual_mass_transfer_rate(): - """ - Set a new user-specified mass transfer rate of the star. (negative for winds, positive for accretion) - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) - function.addParameter('mass_change', dtype='float64', unit=units.MSun/units.yr, direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_wind_multiplier(): - """ - Stellar wind switch: can be modulated between 0.0 (no wind) and 1.0 (full strength) - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) - function.addParameter('wind_multiplier', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_wind_multiplier(): - """ - Stellar wind switch: can be modulated between 0.0 (no wind) and 1.0 (full strength) - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) - function.addParameter('wind_multiplier', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_AGB_wind_setting(): - """ - Retrieve the current AGB wind setting of this instance (1 or 2). - (1) means use Wachter et al. (AGB) mass loss prescription. - (2) means use Vasiliadis & Wood (AGB) mass loss rate. - """ - function = LegacyFunctionSpecification() - function.addParameter('AGB_wind_setting', dtype='int32', direction=function.OUT - , description="The current AGB wind setting of this instance.") - function.result_type = 'int32' - return function - - @legacy_function - def set_AGB_wind_setting(): - """ - Set the new AGB wind setting of this instance (1 or 2). - (1) means use Wachter et al. (AGB) mass loss prescription. - (2) means use Vasiliadis & Wood (AGB) mass loss rate. - This needs to be set after calling :method:`initialize_code`. It will - be overridden by initialize_code otherwise. - """ - function = LegacyFunctionSpecification() - function.addParameter('AGB_wind_setting', dtype='int32', direction=function.IN - , description="The new AGB wind setting of this instance.") - function.result_type = 'int32' - return function - - @legacy_function - def get_RGB_wind_setting(): - """ - Retrieve the current RGB wind setting of this instance. - (positive) means use Schroeder & Cuntz mass loss prescription. - (negative) means use Reimers mass loss rate. (0) means none. - The absolute value is used as efficiency factor. - """ - function = LegacyFunctionSpecification() - function.addParameter('RGB_wind_setting', dtype='float64', direction=function.OUT - , description="The current RGB wind setting of this instance.") - function.result_type = 'int32' - return function - - @legacy_function - def set_RGB_wind_setting(): - """ - Set the new RGB wind setting of this instance. - (positive) means use Schroeder & Cuntz mass loss prescription. - (negative) means use Reimers mass loss rate. (0) means none. - The absolute value is used as efficiency factor. - This needs to be set after calling :method:`initialize_code`. It will - be overridden by initialize_code otherwise. - """ - function = LegacyFunctionSpecification() - function.addParameter('RGB_wind_setting', dtype='float64', direction=function.IN - , description="The new RGB wind setting of this instance.") - function.result_type = 'int32' - return function - - @legacy_function - def get_Ostar_wind_setting(): - """ - Retrieve the current wind setting for O/B stars, i.e. the efficiency - factor of the Vink et al. wind prescription. - """ - function = LegacyFunctionSpecification() - function.addParameter('Ostar_wind_setting', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_Ostar_wind_setting(): - """ - Set the new wind setting for O/B stars, i.e. the efficiency - factor of the Vink et al. wind prescription. - """ - function = LegacyFunctionSpecification() - function.addParameter('Ostar_wind_setting', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_verbosity(): - function = LegacyFunctionSpecification() - function.addParameter('verbosity', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - @legacy_function - def set_verbosity(): - function = LegacyFunctionSpecification() - function.addParameter('verbosity', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_spin(): - """ - Retrieve the current spin period (in days) of this star. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the stellar type of") - function.addParameter('spin', dtype='float64', direction=function.OUT - , description="The current spin period (in days) of this star.") - function.result_type = 'int32' - return function - -#~ @legacy_function -#~ def get_mass_transfer_rate(): -#~ """ -#~ Retrieve the current mass transfer of the star to the other star. -#~ """ -#~ function = LegacyFunctionSpecification() -#~ function.can_handle_array = True -#~ function.addParameter('index_of_the_star', dtype='int32', direction=function.IN -#~ , description="The index of the star to get the value of") -#~ function.addParameter('value', dtype='float64', direction=function.OUT -#~ , description="The mass transfer of the star to the other star.") -#~ function.result_type = 'int32' -#~ function.result_doc = """ -#~ 0 - OK -#~ The value has been retrieved. -#~ -1 - ERROR -#~ A star with the given index was not found. -#~ """ -#~ return function - - - - @legacy_function - def get_wind_mass_loss_rate(): - """ - Retrieve the current mass loss rate of the star due to stellar wind. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('value', dtype='float64', direction=function.OUT - , description="The mass loss rate of the star due to stellar wind.") - function.result_type = 'int32' - return function - - @legacy_function - def new_stellar_model(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('mass', dtype='float64', unit=units.MSun, direction=function.IN) - function.addParameter('radius', dtype='float64', unit=units.RSun, direction=function.IN) - function.addParameter('rho', dtype='float64', unit=units.g / units.cm**3, direction=function.IN) - function.addParameter('pressure', dtype='float64', unit=units.barye, direction=function.IN) - for par in ['X_H', 'X_He', 'X_C', 'X_N', 'X_O', 'X_Ne', 'X_Mg', 'X_Si', 'X_Fe']: - function.addParameter(par, dtype='float64', direction=function.IN) - function.addParameter('n', 'int32', function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def finalize_stellar_model(): - """ - Finalize the new star model defined by 'new_stellar_model'. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.OUT) - function.addParameter('age_tag', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_import_model_entropy_accuracy(): - """ - Retrieve the current value of the entropy accuracy required for convergence, - used when importing stellar (merger) models. - """ - function = LegacyFunctionSpecification() - function.addParameter('import_model_entropy_accuracy', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - @legacy_function - def set_import_model_entropy_accuracy(): - function = LegacyFunctionSpecification() - function.addParameter('import_model_entropy_accuracy', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_import_model_entropy_force(): - """ - Retrieve the current value of entropy_force, used when importing stellar - (merger) models. It indicates how hard EVtwin tries to match the entropy profile. - Higher values give better agreement, but may be harder to evolve succesfully. - """ - function = LegacyFunctionSpecification() - function.addParameter('import_model_entropy_force', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - @legacy_function - def set_import_model_entropy_force(): - function = LegacyFunctionSpecification() - function.addParameter('import_model_entropy_force', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - - @legacy_function - def get_stellar_model_element(): - """ - Return properties of the stellar model at a specific zone. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_zone', dtype='int32', direction=function.IN, - description="The index of the zone to get the values of") - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN, - description="The index of the star to get the values of") - for par in ['d_mass', 'mass', 'radius', 'density', 'pressure', - 'entropy', 'temperature', 'luminosity', 'molecular_weight', 'X_H', - 'X_He', 'X_C', 'X_N', 'X_O', 'X_Ne', 'X_Mg', 'X_Si', 'X_Fe']: - function.addParameter(par, dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def write_star_to_file(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) - function.addParameter('filename', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - - -class EVtwin(StellarEvolution, InternalStellarStructure): - - def __init__(self, **options): - InCodeComponentImplementation.__init__(self, EVtwinInterface(**options), **options) - self.model_time = 0.0 | units.yr - - def define_parameters(self, handler): - StellarEvolution.define_parameters(self,handler) - handler.add_boolean_parameter( - "get_verbosity", - "set_verbosity", - "verbosity", - "The level of terminal output, verbose or not.", - default_value = False - ) - - handler.add_method_parameter( - "get_maximum_number_of_stars", - "set_maximum_number_of_stars", - "maximum_number_of_stars", - "Maximum number of stars that can be allocated", - default_value = 10 - ) - - handler.add_method_parameter( - "get_metallicity", - "set_metallicity", - "metallicity", - "Metallicity of all stats", - default_value = 0.02 - ) - - handler.add_method_parameter( - None, - "set_ev_path", - "path_to_data", - "Path to the data directory", - default_value = self.data_directory - ) - - handler.add_method_parameter( - "get_max_age_stop_condition", - "set_max_age_stop_condition", - "max_age_stop_condition", - "The maximum age stop condition of this instance.", - default_value = 1.0e12 | units.yr - ) - - handler.add_method_parameter( - "get_min_timestep_stop_condition", - "set_min_timestep_stop_condition", - "min_timestep_stop_condition", - "The minimum timestep stop condition of this instance.", - default_value = 1.0e6 | units.s - ) - - handler.add_method_parameter( - "get_number_of_ionization_elements", - "set_number_of_ionization_elements", - "number_of_ionization_elements", - "The number of elements used for ionization in EoS solver of this instance.", - default_value = 2 - ) - - handler.add_method_parameter( - "get_convective_overshoot_parameter", - "set_convective_overshoot_parameter", - "convective_overshoot_parameter", - "The convective overshoot parameter.", - default_value = 0.12 - ) - - handler.add_method_parameter( - "get_mixing_length_ratio", - "set_mixing_length_ratio", - "mixing_length_ratio", - "The mixing-length ratio (alpha).", - default_value = 2.0 - ) - - handler.add_method_parameter( - "get_semi_convection_efficiency", - "set_semi_convection_efficiency", - "semi_convection_efficiency", - "The efficiency of semi-convection, after Langer, Sugimoto & Fricke 1983 (A&A).", - default_value = 0.04 - ) - - handler.add_method_parameter( - "get_thermohaline_efficiency", - "set_thermohaline_efficiency", - "thermohaline_efficiency", - "The thermohaline mixing parameter, probably only important for binaries and collision remnants.", - default_value = 1.0 - ) - - handler.add_method_parameter( - "get_AGB_wind_setting", - "set_AGB_wind_setting", - "AGB_wind_setting", - "The AGB wind setting: (1, 2) for (Wachter&al, Vasiliadis&Wood) mass loss.", - default_value = 1 - ) - - handler.add_method_parameter( - "get_RGB_wind_setting", - "set_RGB_wind_setting", - "RGB_wind_setting", - "The RGB wind setting: (positive, negative, 0) for (Schroeder&Cuntz, Reimers, none) mass loss.", - default_value = 1.0 - ) - - handler.add_method_parameter( - "get_Ostar_wind_setting", - "set_Ostar_wind_setting", - "OB_wind_setting", - "The wind setting for O/B stars, i.e. the efficiency factor of the Vink et al. wind prescription", - default_value = 1.0 - ) - - handler.add_method_parameter( - "get_import_model_entropy_accuracy", - "set_import_model_entropy_accuracy", - "import_model_entropy_accuracy", - "The entropy accuracy required for convergence, used when importing stellar (merger) models.", - default_value = 1.0e-4 - ) - - handler.add_method_parameter( - "get_import_model_entropy_force", - "set_import_model_entropy_force", - "import_model_entropy_force", - "The current value of entropy_force, used when importing stellar (merger) models." - " It indicates how hard EVtwin tries to match the entropy profile." - " Higher values give better agreement, but may be harder to evolve succesfully.", - default_value = 20.0 - ) - - def define_particle_sets(self, handler): - handler.define_set('particles', 'index_of_the_star') - handler.set_new('particles', 'new_particle_method') - handler.set_delete('particles', 'delete_star') - - handler.add_getter('particles', 'get_radius', names = ('radius',)) - handler.add_getter('particles', 'get_stellar_type', names = ('stellar_type',)) - handler.add_getter('particles', 'get_mass', names = ('mass',)) - handler.add_getter('particles', 'get_age', names = ('age',)) - handler.add_getter('particles', 'get_time_step', names = ('time_step',)) - handler.add_getter('particles', 'get_spin', names = ('spin',)) - handler.add_getter('particles', 'get_luminosity', names = ('luminosity',)) - handler.add_getter('particles', 'get_temperature', names = ('temperature',)) - handler.add_getter('particles', 'get_manual_mass_transfer_rate', names = ('mass_transfer_rate',)) - handler.add_setter('particles', 'set_manual_mass_transfer_rate', names = ('mass_transfer_rate',)) - - handler.add_method('particles', 'evolve_one_step') - handler.add_method('particles', 'evolve_for') - InternalStellarStructure.define_particle_sets(self, handler, set_name = 'particles') - handler.add_method('particles', 'get_stellar_model', 'get_internal_structure') - handler.add_method('particles', 'write_star_to_file') - - def define_state(self, handler): - StellarEvolution.define_state(self, handler) - handler.add_method('EDIT', 'new_particle_method') - handler.add_method('UPDATE', 'new_particle_method') - handler.add_transition('RUN', 'UPDATE', 'new_particle_method', False) - - def define_errorcodes(self, handler): - handler.add_errorcode(5, 'Age greater than maximum age limit.') - handler.add_errorcode(2, 'BACKUP -- tstep reduced below limit; quit') - InternalStellarStructure.define_errorcodes(self, handler) - - def define_methods(self, handler): - InternalStellarStructure.define_methods(self, handler) - StellarEvolution.define_methods(self, handler) - handler.add_method( - "new_particle_method", - (units.MSun, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, units.yr), - (handler.INDEX, handler.ERROR_CODE) - ) - handler.add_method( - "get_mass_transfer_rate", - (handler.INDEX,), - (units.MSun/units.yr, handler.ERROR_CODE,) - ) - handler.add_method( - "get_wind_mass_loss_rate", - (handler.INDEX,), - (units.MSun/units.yr, handler.ERROR_CODE,) - ) - handler.add_method( - "get_spin", - (handler.INDEX,), - (units.day, handler.ERROR_CODE,) - ) - handler.add_method( - "finalize_stellar_model", - (units.yr,), - (handler.INDEX, handler.ERROR_CODE,) - ) - handler.add_method( - "get_stellar_model_element", - (handler.INDEX, handler.INDEX,), - (units.MSun, units.MSun, units.RSun, units.g / units.cm**3, units.barye, - handler.NO_UNIT, units.K, units.LSun, units.amu, - handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, - handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.ERROR_CODE) - ) - - def initialize_module_with_default_parameters(self): - self.initialize_code() - self.commit_parameters() - - def initialize_module_with_current_parameters(self): - self.commit_parameters() - - def setup_particles(self, particles): - self.particles.add_particles(particles) - - def commit_parameters(self): - self.parameters.send_not_set_parameters_to_code() - self.parameters.send_cached_parameters_to_code() - self.overridden().commit_parameters() - - def get_stellar_model(self, index_of_the_star): - if hasattr(index_of_the_star, '__iter__'): - return [self._create_new_grid(self._specify_stellar_model, index_of_the_star = x) for x in index_of_the_star] - else: - return self._create_new_grid(self._specify_stellar_model, index_of_the_star = index_of_the_star) - - def get_range_in_zones(self, index_of_the_star): - """ - Returns the inclusive range of defined zones/mesh-cells of the star. - """ - return (1, self.get_number_of_zones(index_of_the_star)) - - def _specify_stellar_model(self, definition, index_of_the_star = 0): - definition.set_grid_range('get_range_in_zones') - definition.add_getter('get_stellar_model_element', names=('d_mass', 'mass', 'radius', - 'rho', 'pressure', 'entropy', 'temperature', 'luminosity', 'molecular_weight', - 'X_H', 'X_He', 'X_C', 'X_N', 'X_O', 'X_Ne', 'X_Mg', 'X_Si', 'X_Fe')) - definition.define_extra_keywords({'index_of_the_star':index_of_the_star}) - - def new_particle_from_model(self, internal_structure, current_age=0|units.Myr, key=None): - tmp_star = datamodel.Particle(key=key) - tmp_star.internal_structure = internal_structure - tmp_star.age_tag = current_age - return self.particles.add_particle(tmp_star) +from amuse.support.import_helper import load_code +EVtwinInterface = load_code("evtwin", "EVtwinInterface") +EVtwin = load_code("evtwin", "EVtwin") Evtwin = EVtwin diff --git a/src/amuse/community/evtwin/src/trunk/CMakeLists.txt b/src/amuse/community/evtwin/src/trunk/CMakeLists.txt deleted file mode 100644 index 5669e5f4b8..0000000000 --- a/src/amuse/community/evtwin/src/trunk/CMakeLists.txt +++ /dev/null @@ -1,190 +0,0 @@ -cmake_minimum_required(VERSION 2.4 FATAL_ERROR) - -# Set build type. Do this *before* we set the project name -if(NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING - "Choose the type of build, options are: None Debug Release RelWithDebInfo Profile." - FORCE) -endif(NOT CMAKE_BUILD_TYPE) -set(CMAKE_CONFIGURATION_TYPES "${CMAKE_BUILD_TYPE}" CACHE INTERNAL "internal") - -project(TWIN Fortran) - -include(CMakeDependentOption) - -# Various options that we may want to enable -option(WANT_ASSERT "Use assertions (run-time sanity checks; requires preprocessor)" off) -option(WANT_OPENMP "Use OpenMP parallelisation (experimental)" off) -option(WANT_AUTOPARALLEL "Use the auto-paralleliser to parallelise the code (experimental)" off) -option(WANT_SSE42 "Enable generation of SSE4.2 code" on) -option(WANT_HOST_OPT "Enable host-specific optimisation. Choose only when compiling and running on the same machine! Overrides WANT_SSE42" off) -option(WANT_IPO "Inter-procedural optimisation" off) -option(WANT_O3 "Use O3 optimisations rather than O2. May be unsafe" off) -option(WANT_STATIC "Generate statically linked executable" off) -option(WANT_CHECKS "Activate runtime checks (array bounds, NaNs)" off) -option(WANT_WARNINGS "Issue compile-time warnings" on) -option(WANT_STRICT_WARNINGS "Issue strict compile-time warnings (for development)" off) -option(WANT_LIBRARY "Compile the code as a library" on) -option(WANT_STRICT_FLOATS "Enable strict floating point calculations" off) -option(WANT_PROFILING "Compile the code with profiling symbols" off) -#cmake_dependent_option(WANT_MKMERGERMOD "Create merger import utility" on "WANT_LIBRARY" off) -option(WANT_MKMERGERMOD "Create merger import utility" off) -cmake_dependent_option(WANT_DYNAMIC_LIBRARY "Create dynamic (.so) library" on "WANT_LIBRARY" off) - -# Search in the `cmake' directory for additional CMake modules. -list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) - -# Main evolution code source files -include(FileList) - -# Set FORTRAN compiler flags -include(CompilerFlags) - -# Tell CMake the source won't be available until build time. -SET_SOURCE_FILES_PROPERTIES(${CMAKE_SOURCE_DIR}/code/svn_version.f90 PROPERTIES GENERATED 1) -SET_SOURCE_FILES_PROPERTIES(${CMAKE_SOURCE_DIR}/code/installation_path.f90 PROPERTIES GENERATED 1) - -# SVN version generator -ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_SOURCE_DIR}/code/svn_version.f90 - COMMAND ${CMAKE_SOURCE_DIR}/detect_svn_version.pl ${CMAKE_SOURCE_DIR} - DEPENDS ${TWIN_SRC_FILES} -) -ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_SOURCE_DIR}/code/installation_path.f90 - COMMAND ${CMAKE_SOURCE_DIR}/set_standard_path.pl ${CMAKE_SOURCE_DIR} ${CMAKE_INSTALL_PREFIX} -) - -# Code library -add_library ("twincore" STATIC ${TWIN_SRC_FILES}) -set_target_properties(twincore PROPERTIES COMPILE_FLAGS "-fPIC" ) - -# We need to changed the flags passed to ranlib on OS X, or we get -# undefined references for all symbols. -if(APPLE) - set(CMAKE_Fortran_ARCHIVE_FINISH " -c ") -endif(APPLE) - -if (WANT_LIBRARY) - if (WANT_DYNAMIC_LIBRARY) - add_library ("dynamic_twin" SHARED ${TWIN_SRC_FILES} ${TWIN_LIBRARY_FILES}) - set_target_properties(dynamic_twin PROPERTIES OUTPUT_NAME "twin") - endif(WANT_DYNAMIC_LIBRARY) - add_library ("twin" STATIC ${TWIN_LIBRARY_FILES}) - target_link_libraries("twin" twincore) - - add_executable ("twintest" code/twin.f90) - target_link_libraries("twintest" twin) - set_target_properties(twintest PROPERTIES OUTPUT_NAME "twin") -endif (WANT_LIBRARY) - -# Main TWIN executable -#add_executable ("ev" ${TWIN_SRC_FILES} code/svn_version.f90 code/ev_main.f90) -add_executable ("ev" code/svn_version.f90 code/ev_main.f90) -target_link_libraries("ev" twincore) - -# Merger import utility -if(WANT_MKMERGERMOD) - add_executable ("mkmergermod" code/mkmergermod.f90) - target_link_libraries("mkmergermod" twin) -endif(WANT_MKMERGERMOD) - -# Installation targets -install (TARGETS "ev" RUNTIME DESTINATION "bin") -install (FILES "${CMAKE_SOURCE_DIR}/input/nrates.dat" DESTINATION "stars/input/") -install (FILES "${CMAKE_SOURCE_DIR}/input/nucdata.dat" DESTINATION "stars/input/") -install (FILES "${CMAKE_SOURCE_DIR}/input/rates.dat" DESTINATION "stars/input/") -install (FILES "${CMAKE_SOURCE_DIR}/input/mutate.dat" DESTINATION "stars/input/") -install (FILES "${CMAKE_SOURCE_DIR}/input/physinfo.dat" DESTINATION "stars/input/") -install (FILES "${CMAKE_SOURCE_DIR}/input/zahb.dat" DESTINATION "stars/input/") -install (FILES "${CMAKE_SOURCE_DIR}/input/zahb02.mod" DESTINATION "stars/input/") -install (FILES "${CMAKE_SOURCE_DIR}/input/nrates.dat" DESTINATION "stars/input/") -install (FILES "${CMAKE_SOURCE_DIR}/input/lt2ubv.dat" DESTINATION "stars/input/") -install (FILES "${CMAKE_SOURCE_DIR}/input/poly32.dat" DESTINATION "stars/input/") - -install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z00001" DESTINATION "stars/input/COtables/") -install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z00003" DESTINATION "stars/input/COtables/") -install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z0001" DESTINATION "stars/input/COtables/") -install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z0003" DESTINATION "stars/input/COtables/") -install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z001" DESTINATION "stars/input/COtables/") -install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z002" DESTINATION "stars/input/COtables/") -install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z003" DESTINATION "stars/input/COtables/") -install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z004" DESTINATION "stars/input/COtables/") -install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z006" DESTINATION "stars/input/COtables/") -install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z008" DESTINATION "stars/input/COtables/") -install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z01" DESTINATION "stars/input/COtables/") -install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z02" DESTINATION "stars/input/COtables/") -install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z03" DESTINATION "stars/input/COtables/") -install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z04" DESTINATION "stars/input/COtables/") -install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z05" DESTINATION "stars/input/COtables/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z0/phys.z0" DESTINATION "stars/input/metals/z0/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z0/phys_a04.z0" DESTINATION "stars/input/metals/z0/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z0001/phys.z0001" DESTINATION "stars/input/metals/z0001/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z0001/phys_a04.z0001" DESTINATION "stars/input/metals/z0001/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z0001/zams0001_start.mod" DESTINATION "stars/input/metals/z0001/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z0003/phys.z0003" DESTINATION "stars/input/metals/z0003/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z0003/phys_a04.z0003" DESTINATION "stars/input/metals/z0003/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z0003/zams0003_start.mod" DESTINATION "stars/input/metals/z0003/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z001/phys.z001" DESTINATION "stars/input/metals/z001/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z001/phys_a04.z001" DESTINATION "stars/input/metals/z001/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z001/zams001_start.mod" DESTINATION "stars/input/metals/z001/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z002/phys.z002" DESTINATION "stars/input/metals/z002/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z002/phys_a04.z002" DESTINATION "stars/input/metals/z002/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z004/phys.z004" DESTINATION "stars/input/metals/z004/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z004/phys_a04.z004" DESTINATION "stars/input/metals/z004/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z004/zams004_start.mod" DESTINATION "stars/input/metals/z004/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z01/phys.z01" DESTINATION "stars/input/metals/z01/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z01/phys_a04.z01" DESTINATION "stars/input/metals/z01/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z01/zams01_start.mod" DESTINATION "stars/input/metals/z01/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z02/phys.z02" DESTINATION "stars/input/metals/z02/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z02/phys_a04.z02" DESTINATION "stars/input/metals/z02/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z02/zams02_start.mod" DESTINATION "stars/input/metals/z02/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z03/phys.z03" DESTINATION "stars/input/metals/z03/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z03/phys_a04.z03" DESTINATION "stars/input/metals/z03/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z03/zams03_start.mod" DESTINATION "stars/input/metals/z03/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z04/phys.z04" DESTINATION "stars/input/metals/z04/") -install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z04/phys_a04.z04" DESTINATION "stars/input/metals/z04/") -install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams02.mas" DESTINATION "stars/input/zams/") -install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams02.mod" DESTINATION "stars/input/zams/") -install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams02.out" DESTINATION "stars/input/zams/") - -install (FILES "${CMAKE_SOURCE_DIR}/stars_standards/init.dat" DESTINATION "stars/stars_standards/") -install (FILES "${CMAKE_SOURCE_DIR}/stars_standards/init.run" DESTINATION "stars/stars_standards/") -install (FILES "${CMAKE_SOURCE_DIR}/stars_standards/init_twin.dat" DESTINATION "stars/stars_standards/") -install (FILES "${CMAKE_SOURCE_DIR}/stars_standards/init_binary.dat" DESTINATION "stars/stars_standards/") - -#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams0001.mas" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams0001.mod" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams0001.out" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams0003.mas" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams0003.mod" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams0003.out" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams001.mas" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams001.mod" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams001.out" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams004.mas" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams004.mod" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams004.out" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams01.mas" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams01.mod" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams01.out" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams016.mas" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams016.mod" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams016.out" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams03.mas" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams03.mod" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams03.out" DESTINATION "stars/input/") - -#install (FILES "${CMAKE_SOURCE_DIR}/input/zahb001.mod" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zahb004.mod" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zahb0001.mod" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zahb002.mod" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zahb006.mod" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zahb0003.mod" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zahb003.mod" DESTINATION "stars/input/") -#install (FILES "${CMAKE_SOURCE_DIR}/input/zahb008.mod" DESTINATION "stars/input/") - -# Place the executable in code/ in the top-level STARS directory, for -# historical reasons. -set(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/code) -set(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/lib) diff --git a/src/amuse/community/fastkick/Makefile b/src/amuse/community/fastkick/Makefile deleted file mode 100644 index a0ab75a46a..0000000000 --- a/src/amuse/community/fastkick/Makefile +++ /dev/null @@ -1,41 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPICXX ?= mpicxx - -OBJ = interface.o -GPU_OBJ = interface.gpuo cuda_fastkick.o - - -NVCCFLAGS ?= $(NVCC_FLAGS) - -all: fastkick_worker - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py FastKickInterface -o $@ - -worker_code.h: interface.py - $(CODE_GENERATOR) --type=h interface.py FastKickInterface -o $@ - -fastkick_worker: worker_code.cc worker_code.h $(OBJ) - $(MPICXX) $(CXXFLAGS) $(LDFLAGS) $< $(OBJ) -o $@ $(LIBS) - -fastkick_worker_gpu: worker_code.cc worker_code.h $(GPU_OBJ) - $(MPICXX) $(CXXFLAGS) $(LDFLAGS) $< $(GPU_OBJ) -o $@ $(CUDA_LIBS) -DGPU $(LIBS) - -interface.o: interface.cc - $(MPICXX) $(CXXFLAGS) -c -o $@ $< - -interface.gpuo: interface.cc - $(MPICXX) $(CXXFLAGS) -c -o $@ $< -DGPU - -cuda_fastkick.o: cuda_fastkick.cu - $(NVCC) $(NVCCFLAGS) -c $< -o $@ - -clean: - rm -f *.o *.gpuo *.pyc worker_code.cc worker_code.h - rm -f fastkick_worker fastkick_worker_gpu diff --git a/src/amuse/community/fastkick/interface.cc b/src/amuse/community/fastkick/interface.cc deleted file mode 100644 index b95d03a2dd..0000000000 --- a/src/amuse/community/fastkick/interface.cc +++ /dev/null @@ -1,335 +0,0 @@ -#ifndef NOMPI -#include -#endif - -#include -#include -#include -#include -#include "worker_code.h" - -#ifdef GPU -#include "cuda_fastkick.h" -#endif - - -using namespace std; - -#ifndef NOMPI -int mpi_rank = 0; -int mpi_size = 1; -#endif - -int n_local, n_total, offset; -vector m, x, y, z; // Only contains particles assigned to this process -vector m_all, x_all, y_all, z_all; - - -// Control parameters: - -double eps2 = 0; - - -int handle_result(int result){ - int local_result = result; -#ifndef NOMPI - if (mpi_rank) { - MPI_Reduce(&local_result, NULL, 1, MPI_INT, MPI_SUM, 0, MPI_COMM_WORLD); - } else { - MPI_Reduce(MPI_IN_PLACE, &local_result, 1, MPI_INT, MPI_SUM, 0, MPI_COMM_WORLD); - } -#endif - return local_result; -} - -int initialize_code() { - cerr << "initialize_code" << endl; -#ifndef NOMPI - int error; - error = handle_result(MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank)); - if(error) { - cerr << "MPI_Comm_rank returned: " << error << endl; - return -1; - } - error = handle_result(MPI_Comm_size(MPI_COMM_WORLD, &mpi_size)); - if(error) { - cerr << "MPI_Comm_size returned: " << error << endl; - return -1; - } -#endif - n_total = 0; - n_local = 0; -#ifdef GPU - return handle_result(cuda_initialize_code()); -#else - return 0; -#endif -} - -int commit_parameters() { - cerr << "commit_parameters" << endl; - return 0; -} -int recommit_parameters() { - return 0; -} -int commit_particles() { - cerr << "commit_particles" << endl; - n_total = m_all.size(); -#ifdef NOMPI - n_local = n_total; - m = m_all; - x = x_all; - y = y_all; - z = z_all; -#else - n_local = n_total / mpi_size + (n_total % mpi_size > mpi_rank); - offset = (n_total / mpi_size) * mpi_rank + min(n_total % mpi_size, mpi_rank); - m.assign(m_all.begin()+offset, m_all.begin()+offset+n_local); - x.assign(x_all.begin()+offset, x_all.begin()+offset+n_local); - y.assign(y_all.begin()+offset, y_all.begin()+offset+n_local); - z.assign(z_all.begin()+offset, z_all.begin()+offset+n_local); -#endif -#ifdef GPU - int result = handle_result(cuda_commit_particles(m, x, y, z)); -#else - int result = 0; -#endif - cerr << "commit_particles done" << endl; - return result; -} - -int recommit_particles() { - cerr << "recommit_particles" << endl; -#ifdef GPU - int result = handle_result(cuda_cleanup_code()); - if (result < 0) { - cerr << "recommit_particles: cuda_cleanup_code returned: " << result << endl; - return result; - } -#endif - return commit_particles(); -} - -int get_eps2(double *_epsilon_squared){ - *_epsilon_squared = eps2; - return 0; -} -int set_eps2(double _epsilon_squared){ - eps2 = _epsilon_squared; - return 0; -} - -int cleanup_code() { - m.clear(); - x.clear(); - y.clear(); - z.clear(); - m_all.clear(); - x_all.clear(); - y_all.clear(); - z_all.clear(); -#ifdef GPU - return handle_result(cuda_cleanup_code()); -#else - return 0; -#endif -} - -int new_particle(int *id, double *mass_in, double *x_in, double *y_in, double *z_in, int length) { - int i, next_id = m_all.size(); - for (i=0; i m_all.size()) { - return -1; - } - out[i] = m_all[id[i]]; - } - return 0; -} -int set_mass(int *id, double * in, int length) { - int i; - for (i=0; i m_all.size()) { - return -1; - } - m_all[id[i]] = in[i]; - } - return 0; -} - -int local_get_potential_at_point(double *eps_in, double *x_in, double *y_in, double *z_in, - double *phi, int length){ -#ifdef GPU - int result = handle_result(cuda_get_potential_at_point(eps2, eps_in, x_in, y_in, z_in, phi, length)); -#else - int result = 0; - double dx, dy, dz, r; - double dr2, eps2_total; - for (int j = 0; j < length; j++) { - eps2_total = eps2 + eps_in[j]*eps_in[j]; - phi[j] = 0; - for (int i = 0; i < n_local; i++) { - dx = x[i] - x_in[j]; - dy = y[i] - y_in[j]; - dz = z[i] - z_in[j]; - dr2 = dx*dx + dy*dy + dz*dz; - if (dr2 > 0 && m[i] > 0) { - r = sqrt(dr2 + eps2_total); - phi[j] -= m[i]/r; - } - } - } -#endif - return result; -} - -int get_potential_at_point(double *eps_in, double *x_in, double *y_in, double *z_in, - double *phi, int length){ - int result = local_get_potential_at_point(eps_in, x_in, y_in, z_in, phi, length); -#ifndef NOMPI - if (mpi_rank) { - MPI_Reduce(phi, NULL, length, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } else { - MPI_Reduce(MPI_IN_PLACE, phi, length, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } -#endif - return result; -} - -int get_gravity_at_point(double *eps_in, double *x_in, double *y_in, double *z_in, - double *ax, double *ay, double *az, int length){ - double dx, dy, dz, r2, tmp; - -#ifdef GPU - cerr << "get_gravity_at_point: start cuda_get_gravity_at_point with " << length << " points and " << n_local << " particles." << endl; - int result = handle_result(cuda_get_gravity_at_point(eps2, eps_in, x_in, y_in, z_in, ax, ay, az, length)); -#else - double dr2, eps2_total; - for (int j = 0; j < length; j++) { - eps2_total = eps2 + eps_in[j]*eps_in[j]; - ax[j] = 0; - ay[j] = 0; - az[j] = 0; - for (int i = 0; i < n_local; i++) { - dx = x[i] - x_in[j]; - dy = y[i] - y_in[j]; - dz = z[i] - z_in[j]; - dr2 = dx*dx + dy*dy + dz*dz; - if (dr2 > 0) { - r2 = dr2 + eps2_total; - tmp = m[i] / (r2 * sqrt(r2)); - ax[j] += tmp * dx; - ay[j] += tmp * dy; - az[j] += tmp * dz; - } - } - } -#endif - -#ifndef NOMPI - if (mpi_rank) { - MPI_Reduce(ax, NULL, length, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(ay, NULL, length, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(az, NULL, length, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } else { - MPI_Reduce(MPI_IN_PLACE, ax, length, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(MPI_IN_PLACE, ay, length, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - MPI_Reduce(MPI_IN_PLACE, az, length, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } -#endif - -#ifdef GPU - return result; -#else - return 0; -#endif -} - -int get_potential_energy(double *potential_energy){ - cerr << "get_potential_energy" << endl; - int i; - - // First calculate local potential energy: -#ifdef GPU - int result = handle_result(cuda_get_potential_energy(eps2, potential_energy)); - if (result < 0) return -1; -#else - double dx, dy, dz, dr2, r; - *potential_energy = 0; - for (int j = 1; j < n_local; j++) { - for (i = 0; i < j; i++) { - dx = x[i] - x[j]; - dy = y[i] - y[j]; - dz = z[i] - z[j]; - dr2 = dx*dx + dy*dy + dz*dz; - r = sqrt(dr2 + eps2); - *potential_energy -= m[i]*m[j]/r; - } - } -#endif - -// Now calculate contributions to the potential energy from particles on other processes -#ifndef NOMPI - int n_others = n_total - n_local; - if (n_others > 0){ - double *eps_in = new double[n_others]; - double *x_in = new double[n_others]; - double *y_in = new double[n_others]; - double *z_in = new double[n_others]; - double *mass_others = new double[n_others]; - double *phi = new double[n_others]; - for (i = 0; i < offset; i++) { - eps_in[i] = 0; - x_in[i] = x_all[i]; - y_in[i] = y_all[i]; - z_in[i] = z_all[i]; - mass_others[i] = m_all[i]; - } - int j = offset; - for (i = offset+n_local; i < n_total; i++, j++) { - eps_in[j] = 0; - x_in[j] = x_all[i]; - y_in[j] = y_all[i]; - z_in[j] = z_all[i]; - mass_others[j] = m_all[i]; - } - int result = local_get_potential_at_point(eps_in, x_in, y_in, z_in, phi, n_others); - if (result < 0) return -1; - double potential_energy_others = 0; - for (i = 0; i < n_others; i++) { - potential_energy_others += mass_others[i]*phi[i]; - } - *potential_energy += 0.5 * potential_energy_others; - delete[] eps_in; - delete[] x_in; - delete[] y_in; - delete[] z_in; - delete[] mass_others; - delete[] phi; - } - - if (mpi_rank) { - MPI_Reduce(potential_energy, NULL, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } else { - MPI_Reduce(MPI_IN_PLACE, potential_energy, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); - } -#endif - cerr << "get_potential_energy done" << endl; - return 0; -} - diff --git a/src/amuse/community/fastkick/interface.py b/src/amuse/community/fastkick/interface.py index 87c05d4763..af14cbde74 100644 --- a/src/amuse/community/fastkick/interface.py +++ b/src/amuse/community/fastkick/interface.py @@ -1,253 +1,7 @@ -from amuse.community import * -#~from amuse.community.interface.gd import GravitationalDynamics -from amuse.community.interface.gd import GravityFieldCode, GravityFieldInterface -from amuse.community.interface.common import CommonCodeInterface, CommonCode +from amuse.support.import_helper import load_code -class FastKickInterface(CodeInterface, CommonCodeInterface, GravityFieldInterface): - """ - """ - include_headers = ['worker_code.h'] - - MODE_CPU = 'cpu' - MODE_GPU = 'gpu' - - def __init__(self, mode=MODE_CPU, **options): - CodeInterface.__init__(self, name_of_the_worker=self.get_name_of_the_worker(mode), **options) - - def get_name_of_the_worker(self, mode): - if mode == self.MODE_CPU: - return "fastkick_worker" - if mode == self.MODE_GPU: - return "fastkick_worker_gpu" - else: - return "fastkick_worker" - - @legacy_function - def new_particle(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT) - function.addParameter('mass', dtype='float64', direction=function.IN, description = "The mass of the particle") - function.addParameter('x', dtype='float64', direction=function.IN, description = "The initial position vector of the particle") - function.addParameter('y', dtype='float64', direction=function.IN, description = "The initial position vector of the particle") - function.addParameter('z', dtype='float64', direction=function.IN, description = "The initial position vector of the particle") - function.addParameter('npoints', dtype='i', direction=function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def delete_particle(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('npoints', dtype='i', direction=function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def commit_particles(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def recommit_particles(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def get_eps2(): - function = LegacyFunctionSpecification() - function.addParameter('epsilon_squared', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_eps2(): - function = LegacyFunctionSpecification() - function.addParameter('epsilon_squared', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_potential_energy(): - function = LegacyFunctionSpecification() - function.addParameter('potential_energy', dtype='float64', direction=function.OUT, unit=nbody_system.energy) - function.result_type = 'int32' - return function - - - @legacy_function - def get_mass(): - """ - Retrieve the mass of a particle. Mass is a scalar property of a particle, - this function has one OUT argument. - """ - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the particle to get the state from. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('mass', dtype='float64', direction=function.OUT, description = "The current mass of the particle") - function.addParameter('npoints', dtype='i', direction=function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - function.result_doc = """ - 0 - OK - particle was removed from the model - -1 - ERROR - particle could not be found - """ - return function - - @legacy_function - def set_mass(): - """ - Update the mass of a particle. Mass is a scalar property of a particle. - """ - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the particle for which the state is to be updated. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('mass', dtype='float64', direction=function.IN, description = "The new mass of the particle") - function.addParameter('npoints', dtype='i', direction=function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - function.result_doc = """ - 0 - OK - particle was found in the model and the information was set - -1 - ERROR - particle could not be found - -2 - ERROR - code does not support updating of a particle - """ - return function - - - - -class FastKickDoc(object): - - def __get__(self, instance, owner): - return instance.legacy_doc+"\n\n"+instance.parameters.__doc__ - - -class FastKick(CommonCode, GravityFieldCode): - - __doc__ = FastKickDoc() - - def __init__(self, unit_converter = None, **options): - self.unit_converter = unit_converter - legacy_interface = FastKickInterface(**options) - self.legacy_doc = legacy_interface.__doc__ - CommonCode.__init__(self, legacy_interface, **options) - - def define_methods(self, handler): - CommonCode.define_methods(self, handler) - handler.add_method("new_particle", [nbody_system.mass] + [nbody_system.length]*3, - (handler.INDEX, handler.ERROR_CODE)) - handler.add_method( - "get_eps2", - (), - (nbody_system.length * nbody_system.length, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_eps2", - (nbody_system.length * nbody_system.length, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "set_mass", - ( - handler.NO_UNIT, - nbody_system.mass, - ), - ( - handler.ERROR_CODE - ) - ) - handler.add_method( - "get_mass", - ( - handler.NO_UNIT, - ), - ( - nbody_system.mass, - handler.ERROR_CODE - ) - ) - def define_state(self, handler): - CommonCode.define_state(self, handler) - handler.add_transition('END', 'INITIALIZED', 'initialize_code', False) - handler.add_transition('INITIALIZED', 'EDIT', 'commit_parameters') - handler.add_transition('RUN', 'CHANGE_PARAMETERS_RUN', 'before_set_parameter', False) - handler.add_transition('EDIT', 'CHANGE_PARAMETERS_EDIT', 'before_set_parameter', False) - handler.add_transition('UPDATE', 'CHANGE_PARAMETERS_UPDATE', 'before_set_parameter', False) - handler.add_transition('CHANGE_PARAMETERS_RUN', 'RUN', 'recommit_parameters') - handler.add_transition('CHANGE_PARAMETERS_EDIT', 'EDIT', 'recommit_parameters') - handler.add_transition('CHANGE_PARAMETERS_UPDATE', 'UPDATE', 'recommit_parameters') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') - handler.add_method('CHANGE_PARAMETERS_UPDATE', 'before_set_parameter') - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') - handler.add_method('CHANGE_PARAMETERS_UPDATE', 'before_get_parameter') - handler.add_method('RUN', 'before_get_parameter') - handler.add_method('EDIT', 'before_get_parameter') - handler.add_method('UPDATE','before_get_parameter') - - handler.add_method('EDIT', 'new_particle') - handler.add_method('EDIT', 'delete_particle') - handler.add_method('UPDATE', 'new_particle') - handler.add_method('UPDATE', 'delete_particle') - handler.add_transition('EDIT', 'RUN', 'commit_particles') - handler.add_transition('RUN', 'UPDATE', 'new_particle', False) - handler.add_transition('RUN', 'UPDATE', 'delete_particle', False) - handler.add_transition('UPDATE', 'RUN', 'recommit_particles') - - GravityFieldCode.define_state(self, handler) - handler.add_method('RUN', 'get_potential_energy') - - def define_converter(self, handler): - if not self.unit_converter is None: - handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) - - def commit_parameters(self): - self.parameters.send_not_set_parameters_to_code() - self.parameters.send_cached_parameters_to_code() - self.overridden().commit_parameters() - - def cleanup_code(self): - self.overridden().cleanup_code() - handler = self.get_handler('PARTICLES') - handler._cleanup_instances() - - def reset(self): - parameters = self.parameters.copy() - self.cleanup_code() - self.initialize_code() - self.parameters.reset_from_memento(parameters) - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_eps2", - "set_eps2", - "epsilon_squared", - "smoothing parameter for gravity calculations", - default_value = 0.0 | nbody_system.length * nbody_system.length - ) - - def define_particle_sets(self, handler): - handler.define_set('particles', 'index_of_the_particle') - handler.set_new('particles', 'new_particle') - handler.set_delete('particles', 'delete_particle') - handler.add_setter('particles', 'set_mass') - handler.add_getter('particles', 'get_mass', names = ('mass',)) - - def define_properties(self, handler): - handler.add_property("get_potential_energy") - +FastKickInterface = load_code("fastkick", "FastKickInterface") +FastKick = load_code("fastkick", "FastKick") Fastkick = FastKick diff --git a/src/amuse/community/fi/Makefile b/src/amuse/community/fi/Makefile deleted file mode 100644 index cd2327380e..0000000000 --- a/src/amuse/community/fi/Makefile +++ /dev/null @@ -1,198 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPIFC ?= mpif90 -FORTRAN=$(FC) -PYTHON ?= python - -# provide location of f90gl lib here -GL_PATH ?= $(realpath ./f90gl) - -SRC=src -BUILDDIR = build -PERIODIC_BUILDDIR = build_periodic -OPENMP_BUILDDIR = build_mp - - - -GLOBJECTS=$(BUILDDIR)/fthread.o $(BUILDDIR)/fi_viewer.o $(BUILDDIR)/libpt.a -PGLOBJECTS=$(PERIODIC_BUILDDIR)/fthread.o $(PERIODIC_BUILDDIR)/fi_viewer.o $(PERIODIC_BUILDDIR)/libpt.a -GLINCLUDE = -I/usr/include/GL -I$(GL_PATH)/include/GL/ -GLLIB = -L$(GL_PATH)/lib -lf90GLU -lf90GL -lf90glut -lGLU -lGL -lglut - -X11LIB = -L/usr/lib64 -lXaw -lXt -lXmu -lXi -lXext -lX11 - -FFTW_LIBS ?= -lfftw3 -lfftw3_threads - -THREADLIB = -L. -lpthread $(BUILDDIR)/libpt.a -PTHREADLIB = -L. -lpthread $(PERIODIC_BUILDDIR)/libpt.a - -OPENMP_FCFLAGS ?= -openmp -openmp_report0 - -PIC=#-fPIC - -F77FLAGS = -# gfortran flags -$(info $(shell echo $(notdir $(FORTRAN)) |cut -f1 -d- )) -$(info $(findstring gfortran, $(shell echo $(notdir $(FORTRAN)) |cut -f1 -d- ))) -# check for gfortran, this catches link and compiler wrappers -ifeq ($(findstring GNU, $(shell $(FC) --version)), GNU) -FFLAGS = $(FCFLAGS) -fdefault-real-8 -O3 -ffree-line-length-256 -frecord-marker=4 $(PIC) -endif - - -ifeq ($(findstring f95, $(notdir $(FORTRAN))), f95) -FFLAGS = $(FCFLAGS) -fdefault-real-8 -O3 -ffree-line-length-256 -frecord-marker=4 $(PIC) -endif - -ifeq ($(findstring xlf, $(notdir $(FORTRAN))), xlf) -FFLAGS = -qrealsize=8 -O2 $(PIC) -F77FLAGS += -qfixed -endif - -ifeq ($(findstring ifort, $(notdir $(FORTRAN))), ifort) -# ifort flags -FFLAGS= $(FCFLAGS) -r8 -O2 -ip -u $(PIC) -#GLLIB = $(GLLIB) -lguide -endif - -#FFLAGS= -fdefault-real-8 -O -ffree-line-length-256 -frecord-marker=4 $(PIC) - - - -#FFLAGS+= -I. -I.. - -LIBS+=$(FFTW_LIBS) - -FILES=$(SRC)/muse_helpers.f90 $(SRC)/mem.f90 $(SRC)/elements.f90 $(SRC)/cooling.f90 \ - $(SRC)/ionize.f90 $(SRC)/molecules.f90 $(SRC)/H2cool.f90 $(SRC)/starprop.f90 \ - $(SRC)/random.f90 $(SRC)/io.f90 $(SRC)/io-old.f $(SRC)/diagnostics.f90 $(SRC)/readparam.f90 \ - $(SRC)/ppread.f90 $(SRC)/blackhole.f90 $(SRC)/stepsystem.f90 $(SRC)/buildnearlist.f90 \ - $(SRC)/pmgrav.f90 $(SRC)/search.f90 $(SRC)/feedback.f90 $(SRC)/fixedhalo.f90 $(SRC)/init.f90 \ - $(SRC)/timestep.f90 $(SRC)/buildtree.f90 $(SRC)/density.f90 $(SRC)/io2.f90 $(SRC)/heating.f90 \ - $(SRC)/entdot.f90 $(SRC)/heco.f90 $(SRC)/ethstep.f90 $(SRC)/stellar.f90 $(SRC)/fcco.f90 \ - $(SRC)/makemapmod.f90 $(SRC)/project.f90 $(SRC)/clean.f90 $(SRC)/sort.f90 $(SRC)/util.f90 $(SRC)/gravity.f90 \ - $(SRC)/tidalsum.f90 $(SRC)/treewalk.f90 $(SRC)/gravsum.f90 $(SRC)/fuvflux.f90 - -MAPFILES=$(SRC)/util.f90 $(SRC)/makemapmod.f90 $(SRC)/map_helpers.f90 - -AMUSE_INTERFACE_DEPS= - -all: fi_worker - -%.o: %.f90 Makefile - $(MPIFC) $(FFLAGS) -c -o $@ $< - -$(BUILDDIR)/Makefile: - mkdir -p $(BUILDDIR) - ln -s ../src/Makefile $(BUILDDIR)/Makefile - -$(BUILDDIR)/libfi.a: $(BUILDDIR)/Makefile $(FILES) Makefile - $(PYTHON) ./patch_globals_dot_h.py --input=src/globals_template.h --output $(BUILDDIR)/globals.h - make -C $(BUILDDIR) amuse_interface FFLAGS="-I$(realpath $(BUILDDIR)) $(FFLAGS)" FC="$(FC)" VPATH=../src F77FLAGS="$(F77FLAGS)" - -fi_worker: worker_code.f90 $(BUILDDIR)/libfi.a interface.o - $(MPIFC) $(FFLAGS) $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) -I$(BUILDDIR) worker_code.f90 interface.o -o $@ $(BUILDDIR)/libfi.a $(LIBS) $(SC_FCLIBS) $(FS_LIBS) $(LIBS) - -fi_worker_gl: worker_code-gl.f90 $(BUILDDIR)/libfi.a interface.o - make -C $(BUILDDIR) gl FFLAGS="-I$(realpath $(BUILDDIR)) $(FFLAGS)" FC="$(FC)" GLINCLUDE="$(GLINCLUDE)" GLLIB="$(GLLIB)" VPATH=../src F77FLAGS="$(F77FLAGS)" - $(MPIFC) $(FFLAGS) $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) -I$(BUILDDIR) worker_code-gl.f90 interface.o -o $@ $(GLOBJECTS) \ - $(GLLIB) $(X11LIB) $(THREADLIB) $(BUILDDIR)/libfi.a $(LIBS) $(SC_FCLIBS) $(FS_LIBS) $(LIBS) - -$(PERIODIC_BUILDDIR)/Makefile: - mkdir -p $(PERIODIC_BUILDDIR) - ln -s ../src/Makefile $(PERIODIC_BUILDDIR)/Makefile - -$(PERIODIC_BUILDDIR)/libfi.a: $(PERIODIC_BUILDDIR)/Makefile - $(PYTHON) ./patch_globals_dot_h.py --periodic --input=src/globals_template.h --output $(PERIODIC_BUILDDIR)/globals.h - make -C $(PERIODIC_BUILDDIR) amuse_interface FFLAGS="-I$(realpath $(PERIODIC_BUILDDIR)) $(FFLAGS)" FC="$(FC)" VPATH=../src F77FLAGS="$(F77FLAGS)" - -fi_worker_periodic: worker_code.f90 $(PERIODIC_BUILDDIR)/libfi.a interface.po - $(MPIFC) -I./$(PERIODIC_BUILDDIR) $(FFLAGS) $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) worker_code.f90 interface.po -o $@ $(PERIODIC_BUILDDIR)/libfi.a $(SC_FCLIBS) $(FS_LIBS) $(FFTW_LIBS) $(LIBS) - -fi_worker_periodic_gl: worker_code-gl.f90 $(PERIODIC_BUILDDIR)/libfi.a interface.po - make -C $(PERIODIC_BUILDDIR) gl FFLAGS="-I$(realpath $(PERIODIC_BUILDDIR)) $(FFLAGS)" FC="$(FC)" GLINCLUDE="$(GLINCLUDE)" GLLIB="$(GLLIB)" VPATH=../src F77FLAGS="$(F77FLAGS)" - $(MPIFC) -I./$(PERIODIC_BUILDDIR) $(FFLAGS) $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) worker_code-gl.f90 interface.po -o $@ $(PGLOBJECTS) \ - $(GLLIB) $(X11LIB) $(PTHREADLIB) $(PERIODIC_BUILDDIR)/libfi.a $(LIBS) $(SC_FCLIBS) $(FS_LIBS) $(FFTW_LIBS) $(LIBS) - -$(OPENMP_BUILDDIR)/Makefile: - mkdir -p $(OPENMP_BUILDDIR) - ln -s ../src/Makefile $(OPENMP_BUILDDIR)/Makefile - -$(OPENMP_BUILDDIR)/libfi.a: $(OPENMP_BUILDDIR)/Makefile - $(PYTHON) ./patch_globals_dot_h.py --input=src/globals_template.h --output $(OPENMP_BUILDDIR)/globals.h - make -C $(OPENMP_BUILDDIR) amuse_interface FFLAGS="-I$(realpath $(OPENMP_BUILDDIR)) $(FFLAGS) $(OPENMP_FCFLAGS)" FC="$(FC)" VPATH=../src F77FLAGS="$(F77FLAGS) $(OPENMP_FCFLAGS)" - -fi_worker_mp: BUILDDIR = $(OPENMP_BUILDDIR) -fi_worker_mp: worker_code.f90 $(OPENMP_BUILDDIR)/libfi.a interface.o - $(MPIFC) $(FFLAGS) $(OPENMP_FCFLAGS) $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) -I$(OPENMP_BUILDDIR) worker_code.f90 interface.o -o $@ $(OPENMP_BUILDDIR)/libfi.a $(LIBS) $(SC_FCLIBS) $(FS_LIBS) $(LIBS) - -worker_code.f90: interface.py $(AMUSE_INTERFACE_DEPS) - $(CODE_GENERATOR) --type=f90 --needs-mpi=false $< FiInterface -o $@ - -worker_code-gl.f90: interface.py $(AMUSE_INTERFACE_DEPS) - $(CODE_GENERATOR) --type=f90 $< GlFiInterface -o $@ - -interface.o:interface.f90 - $(MPIFC) $(FFLAGS) $(SC_FLAGS) -I$(BUILDDIR) -c -o $@ $< - -interface.po:interface.f90 - $(MPIFC) $(FFLAGS) $(SC_FLAGS) -I./$(PERIODIC_BUILDDIR) -c -o $@ $< - - -build_map/Makefile: - mkdir -p build_map - ln -s ../src/Makefile build_map/Makefile - -build_map/libmap.a: build_map/Makefile $(MAPFILES) Makefile - $(PYTHON) ./patch_globals_dot_h.py --input=src/globals_template.h --output build_map/globals.h - make -C build_map libmap.a FFLAGS="-I$(realpath ./build_map) $(FFLAGS)" FC="$(FC)" VPATH=../src F77FLAGS="$(F77FLAGS)" - -fi_worker_map: BUILDDIR=./build_map -fi_worker_map: map_worker_code.f90 build_map/libmap.a map_interface.o - $(MPIFC) $(FFLAGS) $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) -I./build_map/ map_worker_code.f90 map_interface.o \ - -o $@ build_map/libmap.a $(LIBS) $(SC_FCLIBS) $(FS_LIBS) - -map_worker_code.f90: interface.py $(AMUSE_INTERFACE_DEPS) - $(CODE_GENERATOR) --type=f90 --needs-mpi=false $< FiMapInterface -o $@ - -map_interface.o:map_interface.f90 - $(MPIFC) $(FFLAGS) $(SC_FLAGS) -I$(BUILDDIR) -c -o $@ $< - - -build_map_mp/Makefile: - mkdir -p build_map_mp - ln -s ../src/Makefile build_map_mp/Makefile - -build_map_mp/libmap.a: build_map_mp/Makefile $(MAPFILES) Makefile - $(PYTHON) ./patch_globals_dot_h.py --input=src/globals_template.h --output build_map_mp/globals.h - make -C build_map_mp libmap.a FFLAGS="-I$(realpath ./build_map) $(FFLAGS) $(OPENMP_FCFLAGS)" FC="$(FC)" VPATH=../src F77FLAGS="$(F77FLAGS)" - -fi_worker_map_mp: BUILDDIR=./build_map_mp -fi_worker_map_mp: map_worker_code.f90 build_map_mp/libmap.a map_interface.o - $(MPIFC) $(FFLAGS) $(OPENMP_FCFLAGS) $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) -I./build_map_mp/ map_worker_code.f90 map_interface.o \ - -o $@ build_map_mp/libmap.a $(LIBS) $(SC_FCLIBS) $(FS_LIBS) - - - -clean: - make -C src purge - $(RM) -f *.o *.po *.pyc *.bck worker worker.f90 glworker glworker.f90 - $(RM) -f worker_code.f90 worker_code_gl.f90 worker_code_sockets.f90 worker_code-gl.f90 - $(RM) -f fi_worker_periodic fi_worker_gl fi_worker fi_worker_mp - $(RM) -f fi_worker_periodic_gl - $(RM) -f fi_worker_sockets worker-sockets.f90 - $(RM) -f worker_code_periodic worker_code - $(RM) -f amuse_worker_module.mod - $(RM) -f amuseinterface.mod mapinterface.mod - $(RM) -f forsockets.mod - $(RM) -f map_worker_code.f90 fi_worker_map fi_worker_map_mp - $(RM) -Rf $(BUILDDIR) - $(RM) -Rf $(PERIODIC_BUILDDIR) - $(RM) -Rf $(OPENMP_BUILDDIR) - $(RM) -Rf build_map build_map_mp - diff --git a/src/amuse/community/fi/interface.py b/src/amuse/community/fi/interface.py index ef2d936d42..58de78e75a 100644 --- a/src/amuse/community/fi/interface.py +++ b/src/amuse/community/fi/interface.py @@ -1,4241 +1,11 @@ -""" -Interface for the Fi smoothed-particle hydrodynamics code. -""" -from amuse.community import ( - CodeInterface, LiteratureReferencesMixIn, - StoppingConditionInterface, StoppingConditions, - CodeWithDataDirectories, - legacy_function, LegacyFunctionSpecification -) -from amuse.community.interface.gd import ( - GravitationalDynamicsInterface, GravitationalDynamics, - GravityFieldInterface, GravityFieldCode -) +from amuse.support.import_helper import load_code -from amuse.units import generic_unit_system, nbody_system, units -from amuse.community.interface.common import CommonCode +FiInterface = load_code("fi", "FiInterface") +GlFiInterface = load_code("fi", "GlFiInterface") +FiMapInterface = load_code("fi", "FiMapInterface") -class FiInterface( - CodeInterface, - GravitationalDynamicsInterface, - LiteratureReferencesMixIn, - StoppingConditionInterface, - GravityFieldInterface, - CodeWithDataDirectories, -): - """ - FI is a parallel TreeSPH code for galaxy simulations. Extensively - rewritten, extended and parallelized it is a development from code from - Jeroen Gerritsen and Roelof Bottema, which itself goes back to Treesph. +Fi = load_code("fi", "Fi") +FiViewer = load_code("fi", "FiViewer") +FiMap = load_code("fi", "FiMap") - Note that some features are not working atm. These may be fixed in the - future. (and I will think of a better name) - - The relevant references are: - .. [#] ADS:1989ApJS...70..419H ** (Hernquist & Katz, 1989, ApJS 70, 419) - .. [#] ADS:2004A&A...422...55P ** (Pelupessy, van der Werf & Icke, 2004, A&A 422, 55) - .. [#] ADS:2005PhDT........17P (Pelupessy, PhD thesis 2005, Leiden Observatory) - .. [#] ADS:1997A&A...325..972G (Gerritsen & Icke, 1997, A&A 325, 972) - """ - - get_total_radius = None - get_total_mass = None - get_center_of_mass_position = None - get_center_of_mass_velocity = None - get_acceleration = None - - use_modules = ["StoppingConditions", "AmuseInterface"] - - MODE_NORMAL = "normal" - MODE_NORMAL_OPENMP = "openmp" - MODE_PERIODIC_BOUNDARIES = "periodic" - - def __init__(self, mode=MODE_NORMAL, **options): - self.mode = mode - - if "number_of_workers" in options and options["number_of_workers"] != 1: - raise Exception( - "Fi expects number_of_workers to be 1,\nfor multiple processors use mode='openmp' and set the OMP_NUM_THREADS environment variable" - ) - - CodeInterface.__init__( - self, name_of_the_worker=self.name_of_the_worker(mode), **options - ) - LiteratureReferencesMixIn.__init__(self) - CodeWithDataDirectories.__init__(self) - - def name_of_the_worker(self, mode): - if mode == self.MODE_NORMAL: - return "fi_worker" - elif mode == self.MODE_NORMAL_OPENMP: - return "fi_worker_mp" - elif mode == self.MODE_PERIODIC_BOUNDARIES: - return "fi_worker_periodic" - else: - return "fi_worker" - - def new_particle(self, mass, x, y, z, vx, vy, vz, radius=0.0): - return self.new_dm_particle(mass, x, y, z, vx, vy, vz, radius) - - @legacy_function - def new_dm_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.OUT) - for x in ["mass", "x", "y", "z", "vx", "vy", "vz"]: - function.addParameter(x, dtype="d", direction=function.IN) - function.addParameter("radius", dtype="d", direction=function.IN, default=0) - - function.result_type = "i" - return function - - @legacy_function - def new_sph_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.OUT) - for x in ["mass", "x", "y", "z", "vx", "vy", "vz", "u"]: - function.addParameter(x, dtype="d", direction=function.IN) - function.addParameter("h_smooth", dtype="d", direction=function.IN, default=0) - function.result_type = "i" - return function - - @legacy_function - def new_star_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.OUT) - for x in ["mass", "x", "y", "z", "vx", "vy", "vz"]: - function.addParameter(x, dtype="d", direction=function.IN) - function.addParameter("tform", dtype="d", direction=function.IN, default=0) - function.addParameter("radius", dtype="d", direction=function.IN, default=0) - function.result_type = "i" - return function - - @legacy_function - def get_state(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - for x in ["mass", "x", "y", "z", "vx", "vy", "vz", "radius"]: - function.addParameter(x, dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def get_state_sph(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - for x in ["mass", "x", "y", "z", "vx", "vy", "vz", "u", "h_smooth"]: - function.addParameter(x, dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def get_state_star(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - for x in ["mass", "x", "y", "z", "vx", "vy", "vz", "tform", "radius"]: - function.addParameter(x, dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_state(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - for x in ["mass", "x", "y", "z", "vx", "vy", "vz"]: - function.addParameter(x, dtype="d", direction=function.IN) - function.addParameter("radius", dtype="d", direction=function.IN, default=0) - - function.result_type = "i" - return function - - @legacy_function - def set_state_star(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - for x in ["mass", "x", "y", "z", "vx", "vy", "vz"]: - function.addParameter(x, dtype="d", direction=function.IN) - - function.addParameter("tform", dtype="d", direction=function.IN, default=0) - function.addParameter("radius", dtype="d", direction=function.IN, default=0) - function.result_type = "i" - return function - - @legacy_function - def set_state_sph(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - for x in [ - "mass", - "x", - "y", - "z", - "vx", - "vy", - "vz", - "u", - ]: - function.addParameter(x, dtype="d", direction=function.IN) - function.addParameter("h_smooth", dtype="d", direction=function.IN, default=0) - function.result_type = "i" - return function - - @legacy_function - def get_mass(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - function.addParameter("mass", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def get_radius(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - function.addParameter("radius", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def get_position(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - for x in ["x", "y", "z"]: - function.addParameter(x, dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def get_velocity(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - for x in ["vx", "vy", "vz"]: - function.addParameter(x, dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def get_internal_energy(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - function.addParameter("u", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def get_dinternal_energy_dt(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - function.addParameter("du_dt", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def get_smoothing_length(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - function.addParameter("h_smooth", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def get_density(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="int32", direction=function.IN) - function.addParameter("rho", dtype="float64", direction=function.OUT) - function.result_type = "int32" - return function - - @legacy_function - def get_pressure(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="int32", direction=function.IN) - function.addParameter("pressure", dtype="float64", direction=function.OUT) - function.result_type = "int32" - return function - - @legacy_function - def get_star_tform(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - function.addParameter("tform", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_mass(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - function.addParameter("mass", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def set_radius(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - function.addParameter("radius", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def set_position(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - for x in ["x", "y", "z"]: - function.addParameter(x, dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def set_velocity(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - for x in ["vx", "vy", "vz"]: - function.addParameter(x, dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def set_internal_energy(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - function.addParameter("u", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def set_smoothing_length(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - function.addParameter("h_smooth", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def set_star_tform(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - function.addParameter("tform", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_time(): - function = LegacyFunctionSpecification() - function.addParameter("time", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def get_kinetic_energy(): - function = LegacyFunctionSpecification() - function.addParameter("kinetic_energy", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def get_potential_energy(): - function = LegacyFunctionSpecification() - function.addParameter("potential_energy", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def get_thermal_energy(): - function = LegacyFunctionSpecification() - function.addParameter("thermal_energy", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def get_total_energy(): - function = LegacyFunctionSpecification() - function.addParameter("total_energy", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def delete_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def evolve_model(): - function = LegacyFunctionSpecification() - function.addParameter("time_end", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_number_of_particles(): - function = LegacyFunctionSpecification() - function.addParameter("number_of_particles", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def get_hydro_state_at_point(): - function = LegacyFunctionSpecification() - for x in ["x", "y", "z"]: - function.addParameter(x, dtype="d", direction=function.IN) - for x in ["vx", "vy", "vz"]: - function.addParameter(x, dtype="d", direction=function.IN, default=0) - for x in ["rho", "rhovx", "rhovy", "rhovz", "rhoe"]: - function.addParameter(x, dtype="d", direction=function.OUT) - function.addParameter("npoints", dtype="i", direction=function.LENGTH) - function.result_type = "i" - function.must_handle_array = True - return function - - @legacy_function - def synchronize_model(): - """synchronize the model""" - function = LegacyFunctionSpecification() - function.result_type = "i" - return function - - @legacy_function - def trigger_partremoval(): - function = LegacyFunctionSpecification() - return function - - # setting/ getting parameters - # logicals - @legacy_function - def set_use_hydro(): - """set_use_hydro([0,1]): SPH hydro if 1, gravity only if 0""" - function = LegacyFunctionSpecification() - function.addParameter("use_hydro_flag", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_use_hydro(): - """get_use_hydro(): SPH hydro if 1, gravity only if 0""" - function = LegacyFunctionSpecification() - function.addParameter("use_hydro_flag", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_radiate(): - """set_radiate([0,1]): rad cooling/heating if 1, not if 0 - radiate false implies starform false""" - function = LegacyFunctionSpecification() - function.addParameter("radiation_flag", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_radiate(): - """get_radiate(): rad cooling/heating if 1, not if 0 - radiate false implies starform false""" - function = LegacyFunctionSpecification() - function.addParameter("radiation_flag", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_starform(): - """set_starform([0,1]): star formation if 1, not if 0""" - function = LegacyFunctionSpecification() - function.addParameter("star_formation_flag", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_starform(): - """get_starform(): star formation if 1, not if 0""" - function = LegacyFunctionSpecification() - function.addParameter("star_formation_flag", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_cosmo(): - """set_cosmo([0,1]): not functional at the moment""" - function = LegacyFunctionSpecification() - function.addParameter("zeroiftrue", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_cosmo(): - """get_cosmo(): not functional at the moment""" - function = LegacyFunctionSpecification() - function.addParameter("zeroiftrue", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_sqrttstp(): - """set_sqrttstp([0,1]): use sqrt(eps/acc) timestep crit if 1""" - function = LegacyFunctionSpecification() - function.addParameter( - "square_root_timestep_flag", dtype="i", direction=function.IN - ) - function.result_type = "i" - return function - - @legacy_function - def get_sqrttstp(): - """get_sqrttstp(): use sqrt(eps/acc) timestep crit if 1""" - function = LegacyFunctionSpecification() - function.addParameter( - "square_root_timestep_flag", dtype="i", direction=function.OUT - ) - function.result_type = "i" - return function - - @legacy_function - def set_acc_tstp(): - """set_acc_tstp([0,1]): use vref/acc timestep crit if 1""" - function = LegacyFunctionSpecification() - function.addParameter("acc_timestep_flag", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_acc_tstp(): - """get_acc_tstp(): use vref/acc timestep crit if 1""" - function = LegacyFunctionSpecification() - function.addParameter("acc_timestep_flag", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_freetstp(): - """ - set_freetstp([0,1]): - use freeform (v/freev)**freevexp * (a/freea)**freeaexp timestep crit if 1 - """ - function = LegacyFunctionSpecification() - function.addParameter( - "freeform_timestep_flag", dtype="i", direction=function.IN - ) - function.result_type = "i" - return function - - @legacy_function - def get_freetstp(): - """get_freetstp(): use freeform timestep crit if 1""" - function = LegacyFunctionSpecification() - function.addParameter( - "freeform_timestep_flag", dtype="i", direction=function.OUT - ) - function.result_type = "i" - return function - - @legacy_function - def set_usequad(): - """set_usequad([0,1]): calc. and use quadrupole cell moments if 1""" - function = LegacyFunctionSpecification() - function.addParameter( - "quadrupole_moments_flag", dtype="i", direction=function.IN - ) - function.result_type = "i" - return function - - @legacy_function - def get_usequad(): - """get_usequad(): calc. and use quadrupole cell moments if 1""" - function = LegacyFunctionSpecification() - function.addParameter( - "quadrupole_moments_flag", dtype="i", direction=function.OUT - ) - function.result_type = "i" - return function - - @legacy_function - def set_directsum(): - """set_directsum([0,1]): direct N**2 grav sum if 1""" - function = LegacyFunctionSpecification() - function.addParameter("direct_sum_flag", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_directsum(): - """get_directsum(): direct N**2 grav sum if 1""" - function = LegacyFunctionSpecification() - function.addParameter("direct_sum_flag", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_selfgrav(): - """set_selfgrav([0,1]): calculate self-gravity if 1 - if set to 0, self gravity is not used, only external potentials""" - function = LegacyFunctionSpecification() - function.addParameter("self_gravity_flag", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_selfgrav(): - """get_selfgrav(): calculate self-gravity if 1""" - function = LegacyFunctionSpecification() - function.addParameter("self_gravity_flag", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_fixthalo(): - """set_fixthalo([0,1]): use fixed (spherical) potential if 1""" - function = LegacyFunctionSpecification() - function.addParameter("fixed_halo_flag", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_fixthalo(): - """get_fixthalo(): use fixed (spherical) potential if 1""" - function = LegacyFunctionSpecification() - function.addParameter("fixed_halo_flag", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_adaptive_eps(): - """set_adaptive_eps([0,1]): use of adaptive grav smoothing for all part if 1""" - function = LegacyFunctionSpecification() - function.addParameter( - "adaptive_smoothing_flag", dtype="i", direction=function.IN - ) - function.result_type = "i" - return function - - @legacy_function - def get_adaptive_eps(): - """get_adaptive_eps(): use of adaptive grav smoothing for all part if 1""" - function = LegacyFunctionSpecification() - function.addParameter( - "adaptive_smoothing_flag", dtype="i", direction=function.OUT - ) - function.result_type = "i" - return function - - @legacy_function - def set_gdgop(): - """set_gdgop([0,1]): use of gadget cell opening criterion if 1""" - function = LegacyFunctionSpecification() - function.addParameter( - "gadget_cell_opening_flag", dtype="i", direction=function.IN - ) - function.result_type = "i" - return function - - @legacy_function - def get_gdgop(): - """get_gdgop(): use of gadget cell opening criterion if 1""" - function = LegacyFunctionSpecification() - function.addParameter( - "gadget_cell_opening_flag", dtype="i", direction=function.OUT - ) - function.result_type = "i" - return function - - @legacy_function - def set_smoothinput(): - """set_smoothinput([0,1]): smooth input SPH prop. if 1 - (not working)""" - function = LegacyFunctionSpecification() - function.addParameter("smooth_input_flag", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_smoothinput(): - """get_smoothinput(): smooth input SPH prop. if 1 - (not working)""" - function = LegacyFunctionSpecification() - function.addParameter("smooth_input_flag", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_consph(): - """set_consph([0,1]): use springel&Hernquist conservative SPH form. if 1 - at the moment this is only option""" - function = LegacyFunctionSpecification() - function.addParameter("conservative_sph_flag", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_consph(): - """get_consph(): use springel&Hernquist conservative SPH form. if 1 - at the moment this is only option""" - function = LegacyFunctionSpecification() - function.addParameter( - "conservative_sph_flag", dtype="i", direction=function.OUT - ) - function.result_type = "i" - return function - - @legacy_function - def set_sphinit(): - """set_sphinit([0,1]): initialize sph dens and hsmooth if 1 - most probably useless for AMUSE interface""" - function = LegacyFunctionSpecification() - function.addParameter("sph_dens_init_flag", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_sphinit(): - """set_sphinit([0,1]): initialize sph dens and hsmooth if 1 - most probably useless for AMUSE interface""" - function = LegacyFunctionSpecification() - function.addParameter("sph_dens_init_flag", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_uentropy(): - """set_uentropy([0,1]): integrate entropy if 1, internal energy if 0""" - function = LegacyFunctionSpecification() - function.addParameter( - "integrate_entropy_flag", dtype="i", direction=function.IN - ) - function.result_type = "i" - return function - - @legacy_function - def get_uentropy(): - """get_uentropy(): integrate entropy if 1, internal energy if 0""" - function = LegacyFunctionSpecification() - function.addParameter( - "integrate_entropy_flag", dtype="i", direction=function.OUT - ) - function.result_type = "i" - return function - - @legacy_function - def set_isotherm(): - """set_isotherm([0,1]): isothermal gas if 1 - note that isotherm needs set_uentropy(0) (false)""" - function = LegacyFunctionSpecification() - function.addParameter("isothermal_flag", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_isotherm(): - """get_isotherm(): isothermal gas if 1 - note that isotherm needs set_uentropy(0) (false)""" - function = LegacyFunctionSpecification() - function.addParameter("isothermal_flag", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_eps_is_h(): - """set_eps_is_h([0,1]): gas particles grav. eps to SPH h if 1""" - function = LegacyFunctionSpecification() - function.addParameter("eps_is_h_flag", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_eps_is_h(): - """get_eps_is_h(): gas particles grav. eps to SPH h if 1""" - function = LegacyFunctionSpecification() - function.addParameter("eps_is_h_flag", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_balsara(): - """set_balsara([0,1]): use Balsara viscosity limiter if 1""" - function = LegacyFunctionSpecification() - function.addParameter("balsara_flag", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_balsara(): - """set_balsara([0,1]): use Balsara viscosity limiter if 1""" - function = LegacyFunctionSpecification() - function.addParameter("balsara_flag", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_mingaseps(): - """set_mingaseps([0,1]): enforce minimum gas grav eps if 1""" - function = LegacyFunctionSpecification() - function.addParameter("mingaseps_flag", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_mingaseps(): - """set_mingaseps([0,1]): enforce minimum gas grav eps if 1""" - function = LegacyFunctionSpecification() - function.addParameter("mingaseps_flag", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - # integers - @legacy_function - def set_firstsnap(): - """no. of first snapshot""" - function = LegacyFunctionSpecification() - function.addParameter("first_snapshot", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_firstsnap(): - """no. of first snapshot""" - function = LegacyFunctionSpecification() - function.addParameter("first_snapshot", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_stepout(): - """no. of steps between output""" - function = LegacyFunctionSpecification() - function.addParameter("output_interval", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_stepout(): - """no. of steps between output""" - function = LegacyFunctionSpecification() - function.addParameter("output_interval", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_steplog(): - """no. of steps between logs""" - function = LegacyFunctionSpecification() - function.addParameter("log_interval", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_steplog(): - """no. of steps between logs""" - function = LegacyFunctionSpecification() - function.addParameter("log_interval", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_max_tbin(): - """maximum time bin (dtime*2**-max_tbin=minimum time step)""" - function = LegacyFunctionSpecification() - function.addParameter("maximum_time_bin", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_max_tbin(): - """maximum time bin (dtime*2**-max_tbin=minimum time step)""" - function = LegacyFunctionSpecification() - function.addParameter("maximum_time_bin", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_minppbin(): - """target no. of particles per time bin""" - function = LegacyFunctionSpecification() - function.addParameter("minimum_part_per_bin", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_minppbin(): - """target no. of particles per time bin""" - function = LegacyFunctionSpecification() - function.addParameter("minimum_part_per_bin", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_targetnn(): - """target no. of neighbour particles for variable grav. eps""" - function = LegacyFunctionSpecification() - function.addParameter("targetnn", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_targetnn(): - """target no. of neighbour particles for variable grav. eps""" - function = LegacyFunctionSpecification() - function.addParameter("targetnn", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_verbosity(): - """level of terminal output (0=minimum)""" - function = LegacyFunctionSpecification() - function.addParameter("verbosity", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_verbosity(): - """level of terminal output (0=minimum)""" - function = LegacyFunctionSpecification() - function.addParameter("verbosity", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_nsmooth(): - """target number of SPH neighbours""" - function = LegacyFunctionSpecification() - function.addParameter("nsmooth", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_nsmooth(): - """target number of SPH neighbours""" - function = LegacyFunctionSpecification() - function.addParameter("nsmooth", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - # real - @legacy_function - def set_pboxsize(): - """size of simulation domain box (particles outside get deleted)""" - function = LegacyFunctionSpecification() - function.addParameter("pboxsize", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_pboxsize(): - """size of simulation domain box (particles outside get deleted)""" - function = LegacyFunctionSpecification() - function.addParameter("pboxsize", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_dtime(): - """timestep (code units)""" - function = LegacyFunctionSpecification() - function.addParameter("dtime", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_dtime(): - """timestep (code units)""" - function = LegacyFunctionSpecification() - function.addParameter("dtime", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_unitm_in_msun(): - """code mass unit (in Msun, 10^9 standard)""" - function = LegacyFunctionSpecification() - function.addParameter("unitm_in_msun", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_unitm_in_msun(): - """code mass unit (in Msun, 10^9 standard)""" - function = LegacyFunctionSpecification() - function.addParameter("unitm_in_msun", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_unitl_in_kpc(): - """code length unit (in kpc, 1)""" - function = LegacyFunctionSpecification() - function.addParameter("unitl_in_kpc", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_unitl_in_kpc(): - """code length unit (in kpc, 1)""" - function = LegacyFunctionSpecification() - function.addParameter("unitl_in_kpc", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_tstepcrit(): - """sqrttstp timestep constant (unitless,standard=1.)""" - function = LegacyFunctionSpecification() - function.addParameter("tstepcrit", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_tstepcrit(): - """sqrttstp timestep constant (unitless,standard=1.)""" - function = LegacyFunctionSpecification() - function.addParameter("tstepcrit", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_tstpcr2(): - """acc_tstp timestep constant (unitless,standard=0.25)""" - function = LegacyFunctionSpecification() - function.addParameter("tstpcr2", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_tstpcr2(): - """acc_tstp timestep constant (unitless,standard=0.25)""" - function = LegacyFunctionSpecification() - function.addParameter("tstpcr2", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_freev(): - """freeform timestep constant""" - function = LegacyFunctionSpecification() - function.addParameter("freev", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_freev(): - """freeform timestep constant""" - function = LegacyFunctionSpecification() - function.addParameter("freev", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_freea(): - """freeform timestep constant""" - function = LegacyFunctionSpecification() - function.addParameter("freea", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_freea(): - """freeform timestep constant""" - function = LegacyFunctionSpecification() - function.addParameter("freea", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_freevexp(): - """freeform timestep constant""" - function = LegacyFunctionSpecification() - function.addParameter("freevexp", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_freevexp(): - """freeform timestep constant""" - function = LegacyFunctionSpecification() - function.addParameter("freevexp", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_freeaexp(): - """freeform timestep constant""" - function = LegacyFunctionSpecification() - function.addParameter("freeaexp", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_freeaexp(): - """freeform timestep constant""" - function = LegacyFunctionSpecification() - function.addParameter("freeaexp", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_bh_tol(): - """Barnes Hut opening angle parameter (unitless, 0.5)""" - function = LegacyFunctionSpecification() - function.addParameter("bh_tol", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_bh_tol(): - """Barnes Hut opening angle parameter (unitless, 0.5)""" - function = LegacyFunctionSpecification() - function.addParameter("bh_tol", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_eps(): - """gravitational softening length, spline soft. (code length, 1.)""" - function = LegacyFunctionSpecification() - function.addParameter("eps", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_eps(): - """gravitational softening length, spline soft. (code length, 1.)""" - function = LegacyFunctionSpecification() - function.addParameter("eps", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - def set_eps2(self, eps2): - return self.set_eps(eps2**0.5) - - def get_eps2(self): - eps, err = self.get_eps() - return eps**2, err - - @legacy_function - def set_gdgtol(): - """Gadget cell openings criterion parameter (unitless, .01)""" - function = LegacyFunctionSpecification() - function.addParameter("gdgtol", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_gdgtol(): - """Gadget cell openings criterion parameter (unitless, .01)""" - function = LegacyFunctionSpecification() - function.addParameter("gdgtol", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_nn_tol(): - """fractional tolerance in nn_target (0.1)""" - function = LegacyFunctionSpecification() - function.addParameter("nn_tol", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_nn_tol(): - """fractional tolerance in nn_target (0.1)""" - function = LegacyFunctionSpecification() - function.addParameter("nn_tol", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_epsgas(): - """gas grav smoothing eps""" - function = LegacyFunctionSpecification() - function.addParameter("epsgas", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_epsgas(): - """gas grav smoothing eps""" - function = LegacyFunctionSpecification() - function.addParameter("epsgas", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_gamma(): - """gas polytropic index (1.666667)""" - function = LegacyFunctionSpecification() - function.addParameter("gamma", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_gamma(): - """gas polytropic index (1.666667)""" - function = LegacyFunctionSpecification() - function.addParameter("gamma", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_alpha(): - """SPH artificial viscosity alpha parameter (0.5)""" - function = LegacyFunctionSpecification() - function.addParameter("alpha", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_alpha(): - """SPH artificial viscosity alpha parameter (0.5)""" - function = LegacyFunctionSpecification() - function.addParameter("alpha", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_beta(): - """SPH artificial viscosity beta parameter (2*alpha=1.0)""" - function = LegacyFunctionSpecification() - function.addParameter("beta", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_beta(): - """SPH artificial viscosity beta parameter (2*alpha=1.0)""" - function = LegacyFunctionSpecification() - function.addParameter("beta", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_epssph(): - """SPH artificial viscosity safety against divergence (0.01)""" - function = LegacyFunctionSpecification() - function.addParameter("epssph", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_epssph(): - """SPH artificial viscosity safety against divergence (0.01)""" - function = LegacyFunctionSpecification() - function.addParameter("epssph", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_courant(): - """SPH courant condition parameter (0.3)""" - function = LegacyFunctionSpecification() - function.addParameter("courant", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_courant(): - """SPH courant condition parameter (0.3)""" - function = LegacyFunctionSpecification() - function.addParameter("courant", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_removgas(): - """minimum gas particle mass (fraction of initial (average) mass)""" - function = LegacyFunctionSpecification() - function.addParameter("removgas", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_removgas(): - """minimum gas particle mass (fraction of initial (average) mass)""" - function = LegacyFunctionSpecification() - function.addParameter("removgas", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_consthsm(): - """SPH smoothing length if constant""" - function = LegacyFunctionSpecification() - function.addParameter("consthsm", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_consthsm(): - """SPH smoothing length if constant""" - function = LegacyFunctionSpecification() - function.addParameter("consthsm", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_nsmtol(): - """tolerance in number of SPH neighbours""" - function = LegacyFunctionSpecification() - function.addParameter("nsmtol", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_nsmtol(): - """tolerance in number of SPH neighbours""" - function = LegacyFunctionSpecification() - function.addParameter("nsmtol", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_graineff(): - """FUV grain heating efficiency parameter (unitless, 0.05)""" - function = LegacyFunctionSpecification() - function.addParameter("graineff", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_graineff(): - """FUV grain heating efficiency parameter (unitless, 0.05)""" - function = LegacyFunctionSpecification() - function.addParameter("graineff", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_crionrate(): - """primary cosmic ray ionization rate (in units of 1.8e-17 sec^-1, 1.)""" - function = LegacyFunctionSpecification() - function.addParameter("crionrate", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_crionrate(): - """primary cosmic ray ionization rate (in units of 1.e-17 sec^-1, 3.6)""" - function = LegacyFunctionSpecification() - function.addParameter("crionrate", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_heat_par1(): - """additional heating 1 (0.0)""" - function = LegacyFunctionSpecification() - function.addParameter("heat_par1", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_heat_par1(): - """additional heating 1 (0.0)""" - function = LegacyFunctionSpecification() - function.addParameter("heat_par1", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_heat_par2(): - """additional heating 2 (0.0)""" - function = LegacyFunctionSpecification() - function.addParameter("heat_par2", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_heat_par2(): - """additional heating 2 (0.0)""" - function = LegacyFunctionSpecification() - function.addParameter("heat_par2", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_cool_par(): - """additional cooling (0.0)""" - function = LegacyFunctionSpecification() - function.addParameter("cool_par", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_cool_par(): - """additional cooling (0.0)""" - function = LegacyFunctionSpecification() - function.addParameter("cool_par", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_optdepth(): - """1/(mean free path) for UV photons (code length **-1, 0.0)""" - function = LegacyFunctionSpecification() - function.addParameter("optdepth", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_optdepth(): - """1/(mean free path) for UV photons (code length **-1, 0.0)""" - function = LegacyFunctionSpecification() - function.addParameter("optdepth", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_tcollfac(): - """star formation delay parameter (unitless, 1)""" - function = LegacyFunctionSpecification() - function.addParameter("tcollfac", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_tcollfac(): - """star formation delay parameter (unitless, 1)""" - function = LegacyFunctionSpecification() - function.addParameter("tcollfac", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_masscrit(): - """star formation cloud reference mass (Msun, 1.e5)""" - function = LegacyFunctionSpecification() - function.addParameter("masscrit", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_masscrit(): - """star formation cloud reference mass (Msun, 1.e5)""" - function = LegacyFunctionSpecification() - function.addParameter("masscrit", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_sfeff(): - """gas particle mass fraction converted to stars (0.125)""" - function = LegacyFunctionSpecification() - function.addParameter("sfeff", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_sfeff(): - """gas particle mass fraction converted to stars (0.125)""" - function = LegacyFunctionSpecification() - function.addParameter("sfeff", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_tbubble(): - """Supernova activity time, (Myr, 3.e7)""" - function = LegacyFunctionSpecification() - function.addParameter("tbubble", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_tbubble(): - """Supernova activity time, (Myr, 3.e7)""" - function = LegacyFunctionSpecification() - function.addParameter("tbubble", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_sne_eff(): - """Supernova feedback coupling efficiency, (0.1)""" - function = LegacyFunctionSpecification() - function.addParameter("sne_eff", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_sne_eff(): - """Supernova feedback coupling efficiency, (0.1)""" - function = LegacyFunctionSpecification() - function.addParameter("sne_eff", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_tsnbeg(): - """Supernova feedback start time, (Myr, 3.e6)""" - function = LegacyFunctionSpecification() - function.addParameter("tsnbeg", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_tsnbeg(): - """Supernova feedback start time, (Myr, 3.e6)""" - function = LegacyFunctionSpecification() - function.addParameter("tsnbeg", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_rhomax(): - """Maximum density in case of star formation (force SF if exceeded, ignored if star formation is off)""" - function = LegacyFunctionSpecification() - function.addParameter("rhomax", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_rhomax(): - """Maximum density in case of star formation (force SF if exceeded, ignored if star formation is off)""" - function = LegacyFunctionSpecification() - function.addParameter("rhomax", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - # character - @legacy_function - def set_halofile(): - """halo model file (none)""" - function = LegacyFunctionSpecification() - function.addParameter("halofile", dtype="string", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_halofile(): - """halo model file (none)""" - function = LegacyFunctionSpecification() - function.addParameter("halofile", dtype="string", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_feedback(): - """feedback model (fuv, pres, kine, solo, solh)""" - function = LegacyFunctionSpecification() - function.addParameter("feedback", dtype="string", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_feedback(): - """feedback model (fuv, pres, kine, solo, solh)""" - function = LegacyFunctionSpecification() - function.addParameter("feedback", dtype="string", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_sfmode(): - """star formation model (gerritsen, nieuw)""" - function = LegacyFunctionSpecification() - function.addParameter("sfmode", dtype="string", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_sfmode(): - """star formation model (gerritsen, nieuw)""" - function = LegacyFunctionSpecification() - function.addParameter("sfmode", dtype="string", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_hupdatemethod(): - """SPH smoothing length criterion (at the moment always 'mass')""" - function = LegacyFunctionSpecification() - function.addParameter("hupdatemethod", dtype="string", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_hupdatemethod(): - """SPH smoothing length criterion (at the moment always 'mass')""" - function = LegacyFunctionSpecification() - function.addParameter("hupdatemethod", dtype="string", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_sph_visc(): - """SPH viscosity (sph,sphv, bulk) - not all may work""" - function = LegacyFunctionSpecification() - function.addParameter("sph_visc", dtype="string", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_sph_visc(): - """SPH viscosity (sph,sphv, bulk) - not all may work""" - function = LegacyFunctionSpecification() - function.addParameter("sph_visc", dtype="string", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_time_step(): - """ - Set the model timestep. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "time_step", - dtype="float64", - direction=function.IN, - description="The current model timestep", - ) - function.result_type = "int32" - function.result_doc = """ - 0 - OK - Current value of the time step was retrieved - -1 - ERROR - The code does not have support for querying the time - """ - return function - - @legacy_function - def set_fi_data_directory(): - """ - Update the path to the Fi database. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "fi_data_directory", - dtype="string", - direction=function.IN, - description="Name of the Fi data directory", - ) - function.result_type = "int32" - function.result_doc = """ - 0 - OK - Current value was set - -1 - ERROR - Directory does not exist - """ - return function - - @legacy_function - def get_fi_data_directory(): - """ - Retrieve the path to the Fi database currently used. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "fi_data_directory", - dtype="string", - direction=function.OUT, - description="Name of the Fi data directory", - ) - function.result_type = "int32" - function.result_doc = """ - 0 - OK - Value was retrieved - -1 - ERROR - Could not retrieve value - """ - return function - - def get_periodic_boundaries_flag(self): - return self.mode == self.MODE_PERIODIC_BOUNDARIES - - @legacy_function - def get_number_of_sph_particles_removed(): - """ - Return the number of particles deleted during the last evolve. - """ - function = LegacyFunctionSpecification() - function.addParameter("index", dtype="int32", direction=function.OUT) - function.result_type = "int32" - return function - - @legacy_function - def get_id_of_removed_sph_particle(): - """ - Return the id of the nth particle deleted during the last evolve. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "index_of_delete", - dtype="int32", - direction=function.IN, - description="index in the deleted particles list (zero based)", - ) - function.addParameter( - "index_of_particle", dtype="int32", direction=function.OUT - ) - function.can_handle_array = True - function.result_type = "int32" - return function - - -class GlFiInterface(FiInterface): - def name_of_the_worker(self, mode): - if mode == self.MODE_NORMAL: - return "fi_worker_gl" - elif mode == self.MODE_PERIODIC_BOUNDARIES: - return "fi_worker_periodic_gl" - else: - return "fi_worker_gl" - - def __init__(self, mode=FiInterface.MODE_NORMAL, **options): - self.mode = mode - CodeInterface.__init__( - self, name_of_the_worker=self.name_of_the_worker(mode), **options - ) - - @legacy_function - def get_image_target(): - """target point of image""" - function = LegacyFunctionSpecification() - function.addParameter( - "x", dtype="d", direction=function.OUT, unit=nbody_system.length - ) - function.addParameter( - "y", dtype="d", direction=function.OUT, unit=nbody_system.length - ) - function.addParameter( - "z", dtype="d", direction=function.OUT, unit=nbody_system.length - ) - function.result_type = "i" - return function - - @legacy_function - def set_image_target(): - """target point of image""" - function = LegacyFunctionSpecification() - function.addParameter( - "x", dtype="d", direction=function.IN, unit=nbody_system.length - ) - function.addParameter( - "y", dtype="d", direction=function.IN, unit=nbody_system.length - ) - function.addParameter( - "z", dtype="d", direction=function.IN, unit=nbody_system.length - ) - function.result_type = "i" - return function - - @legacy_function - def get_viewpoint(): - """camera position (for perspective proj)""" - function = LegacyFunctionSpecification() - function.addParameter( - "x", dtype="d", direction=function.OUT, unit=nbody_system.length - ) - function.addParameter( - "y", dtype="d", direction=function.OUT, unit=nbody_system.length - ) - function.addParameter( - "z", dtype="d", direction=function.OUT, unit=nbody_system.length - ) - function.result_type = "i" - return function - - @legacy_function - def set_viewpoint(): - """camera position (for perspective proj)""" - function = LegacyFunctionSpecification() - function.addParameter( - "x", dtype="d", direction=function.IN, unit=nbody_system.length - ) - function.addParameter( - "y", dtype="d", direction=function.IN, unit=nbody_system.length - ) - function.addParameter( - "z", dtype="d", direction=function.IN, unit=nbody_system.length - ) - function.result_type = "i" - return function - - @legacy_function - def get_upvector(): - """ - specify the orientation of the image by setting the direction vector of image y - """ - function = LegacyFunctionSpecification() - function.addParameter("x", dtype="d", direction=function.OUT, unit=units.none) - function.addParameter("y", dtype="d", direction=function.OUT, unit=units.none) - function.addParameter("z", dtype="d", direction=function.OUT, unit=units.none) - function.result_type = "i" - return function - - @legacy_function - def get_image_angle(): - """angle of image in x direction (for perspective projection)""" - function = LegacyFunctionSpecification() - function.addParameter( - "image_angle", dtype="d", direction=function.OUT, unit=units.deg - ) - function.result_type = "i" - return function - - @legacy_function - def set_image_angle(): - """angle of image in x direction (for perspective projection)""" - function = LegacyFunctionSpecification() - function.addParameter( - "image_angle", dtype="d", direction=function.IN, unit=units.deg - ) - function.result_type = "i" - return function - - @legacy_function - def get_image_ratio(): - """width/height of image""" - function = LegacyFunctionSpecification() - function.addParameter( - "image_ratio", dtype="d", direction=function.OUT, unit=None - ) - function.result_type = "i" - return function - - @legacy_function - def viewer(): - function = LegacyFunctionSpecification() - return function - - @legacy_function - def trigger_partremoval(): - function = LegacyFunctionSpecification() - return function - - @legacy_function - def trigger_viewer_refresh(): - function = LegacyFunctionSpecification() - return function - - def start_viewer(self): - self.viewer() - - -class FiDoc(object): - - def __get__(self, instance, owner): - return instance.legacy_doc + "\n\n" + instance.parameters.__doc__ - - -class Fi(GravitationalDynamics, GravityFieldCode): - - __doc__ = FiDoc() - - def __init__(self, convert_nbody=None, mode="normal", use_gl=False, **options): - if use_gl: - legacy_interface = GlFiInterface(mode=mode, **options) - else: - legacy_interface = FiInterface(mode=mode, **options) - self.legacy_doc = legacy_interface.__doc__ - - # if convert_nbody is None: - # convert_nbody=nbody_system.nbody_to_si(1.0e9 | units.MSun, 1.0 | units.kpc) - - self.stopping_conditions = StoppingConditions(self) - - GravitationalDynamics.__init__(self, legacy_interface, convert_nbody, **options) - - def initialize_code(self): - result = self.overridden().initialize_code() - - self.parameters.fi_data_directory = ( - self.legacy_interface.get_data_directory() + "/" - ) - - if self.unit_converter is not None: - value = self.unit_converter.to_si(nbody_system.length) - self.parameters._original.code_length_unit = value - - value = self.unit_converter.to_si(nbody_system.mass) - self.parameters._original.code_mass_unit = value - - return result - - def define_properties(self, handler): - GravitationalDynamics.define_properties(self, handler) - handler.add_property("get_thermal_energy") - handler.add_property("get_total_energy") - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - GravityFieldCode.define_state(self, handler) - - handler.add_transition("END", "INITIALIZED", "initialize_code", False) - handler.add_method("END", "initialize_code") - - handler.add_method("EDIT", "new_dm_particle") - handler.add_method("UPDATE", "new_dm_particle") - handler.add_transition("RUN", "UPDATE", "new_dm_particle", False) - handler.add_method("EDIT", "new_sph_particle") - handler.add_method("UPDATE", "new_sph_particle") - handler.add_transition("RUN", "UPDATE", "new_sph_particle", False) - handler.add_method("EDIT", "new_star_particle") - handler.add_method("UPDATE", "new_star_particle") - handler.add_transition("RUN", "UPDATE", "new_star_particle", False) - handler.add_method("RUN", "get_velocity") - handler.add_method("RUN", "get_acceleration") - handler.add_method("RUN", "get_internal_energy") - handler.add_method("RUN", "get_dinternal_energy_dt") - handler.add_method("RUN", "get_smoothing_length") - handler.add_method("RUN", "get_density") - handler.add_method("RUN", "get_pressure") - handler.add_method("RUN", "get_star_tform") - handler.add_method("RUN", "get_state_sph") - handler.add_method("RUN", "get_state_star") - - handler.remove_transition("EVOLVED", "RUN", "synchronize_model") - handler.add_transition("EVOLVED", "UPDATED", "update_particle_set") - handler.add_transition("UPDATED", "RUN", "synchronize_model") - - handler.add_method("RUN", "get_kinetic_energy") - handler.add_method("RUN", "get_potential_energy") - handler.add_method("RUN", "get_thermal_energy") - handler.add_method("RUN", "get_total_energy") - handler.add_method("RUN", "get_total_radius") - handler.add_method("RUN", "get_center_of_mass_position") - handler.add_method("RUN", "get_center_of_mass_velocity") - handler.add_method("RUN", "get_total_mass") - handler.add_method("RUN", "get_time") - handler.add_method("EDIT", "get_time") - handler.add_method("UPDATE", "get_time") - handler.add_method("INITIALIZED", "get_time") - - handler.add_method("CHANGE_PARAMETERS_RUN", "get_time") - handler.add_method("CHANGE_PARAMETERS_EDIT", "get_time") - handler.add_method("CHANGE_PARAMETERS_UPDATE", "get_time") - - handler.add_method("RUN", "get_hydro_state_at_point") - - handler.add_method("EDIT", "get_gravity_at_point") - handler.add_method("EDIT", "get_potential_at_point") - - self.stopping_conditions.define_state(handler) - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_eps2", - "set_eps2", - "epsilon_squared", - "smoothing parameter for gravity calculations", - default_value=0.0 | nbody_system.length * nbody_system.length, - ) - - handler.add_method_parameter( - "get_dtime", - "set_dtime", - "timestep", - "timestep for system", - default_value=1.0 | nbody_system.time, - ) - - handler.add_boolean_parameter( - "get_radiate", - "set_radiate", - "radiation_flag", - "Radiation flag. True means: radiation (i.e. radiative cooling/heating) " - "is included. False means: no radiation, and implies no star formation.", - False, - ) - - handler.add_boolean_parameter( - "get_starform", - "set_starform", - "star_formation_flag", - "Star-formation flag. True means: star formation is included. " - "False means: no star formation included.", - False, - ) - - handler.add_boolean_parameter( - "get_use_hydro", - "set_use_hydro", - "use_hydro_flag", - "Hydrodynamics flag. True means: SPH hydro included, False means: gravity " - "only.", - True, - ) - - handler.add_boolean_parameter( - "get_sqrttstp", - "set_sqrttstp", - "square_root_timestep_flag", - "Square-root-timestep flag. True means: use sqrt(eps/acc) timestep " - "criterion.", - False, - ) - - handler.add_boolean_parameter( - "get_acc_tstp", - "set_acc_tstp", - "acc_timestep_flag", - "Acceleration-timestep flag. True means: use vref/acc timestep criterion.", - True, - ) - - handler.add_boolean_parameter( - "get_freetstp", - "set_freetstp", - "freeform_timestep_flag", - "Freeform-timestep flag. True means: use freeform (v/freev)**freevexp " - "* (a/freea)**freeaexp timestep criterion.", - False, - ) - - handler.add_boolean_parameter( - "get_usequad", - "set_usequad", - "quadrupole_moments_flag", - "Quadrupole-moments flag. True means: calculate and use quadrupole cell " - "moments.", - False, - ) - - handler.add_boolean_parameter( - "get_directsum", - "set_directsum", - "direct_sum_flag", - "Direct-summation flag. True means: direct N**2 gravity summation.", - False, - ) - - handler.add_boolean_parameter( - "get_selfgrav", - "set_selfgrav", - "self_gravity_flag", - "Self-gravity flag. False means: self-gravity is not used, only external " - "potentials.", - True, - ) - - handler.add_boolean_parameter( - "get_fixthalo", - "set_fixthalo", - "fixed_halo_flag", - "Fixed-halo flag. True means: use fixed (spherical) potential.", - False, - ) - - handler.add_boolean_parameter( - "get_adaptive_eps", - "set_adaptive_eps", - "adaptive_smoothing_flag", - "Adaptive-smoothing flag. True means: use of adaptive gravity smoothing " - "for all particles.", - False, - ) - - handler.add_boolean_parameter( - "get_gdgop", - "set_gdgop", - "gadget_cell_opening_flag", - "Gadget-cell-opening flag. True means: use of Gadget cell opening " - "criterion.", - True, - ) - - handler.add_boolean_parameter( - "get_smoothinput", - "set_smoothinput", - "smooth_input_flag", - "Smooth-input flag. True means: smooth input SPH properties.", - False, - ) - - handler.add_boolean_parameter( - "get_consph", - "set_consph", - "conservative_sph_flag", - "Conservative-SPH flag. True means: use Springel & Hernquist conservative " - "SPH form (currently the only option).", - True, - ) - - handler.add_boolean_parameter( - "get_sphinit", - "set_sphinit", - "sph_dens_init_flag", - "SPH-density-init flag. True means: initialize sph density and h_smooth " - "(most probably useless for AMUSE interface).", - True, - ) - - handler.add_boolean_parameter( - "get_uentropy", - "set_uentropy", - "integrate_entropy_flag", - "Integrate-entropy flag. True means: integrate entropy, else: internal " - "energy.", - True, - ) - - handler.add_boolean_parameter( - "get_isotherm", - "set_isotherm", - "isothermal_flag", - "Isothermal flag. True means: isothermal gas (requires " - "integrate_entropy_flag == False).", - False, - ) - - handler.add_boolean_parameter( - "get_eps_is_h", - "set_eps_is_h", - "eps_is_h_flag", - "Eps-is-h flag. True means: set gas particles gravitational epsilon to h " - "(SPH smoothing length).", - True, - ) - - handler.add_boolean_parameter( - "get_balsara", - "set_balsara", - "balsara_flag", - "balsara flag. True means: use Balsara viscosity limiter.", - False, - ) - - handler.add_boolean_parameter( - "get_mingaseps", - "set_mingaseps", - "enforce_min_sph_grav_softening_flag", - "mingaseps flag. True means: enforce minimum gas grav eps.", - False, - ) - - handler.add_method_parameter( - "get_firstsnap", - "set_firstsnap", - "first_snapshot", - "The number of the first snapshot.", - default_value=0, - ) - - handler.add_method_parameter( - "get_stepout", - "set_stepout", - "output_interval", - "The number of steps between output.", - default_value=5, - ) - - handler.add_method_parameter( - "get_steplog", - "set_steplog", - "log_interval", - "The number of steps between logs.", - default_value=5, - ) - - handler.add_method_parameter( - "get_max_tbin", - "set_max_tbin", - "maximum_time_bin", - "The maximum time bin (dtime*2**-max_tbin=minimum time step).", - default_value=4096, - ) - - handler.add_method_parameter( - "get_minppbin", - "set_minppbin", - "minimum_part_per_bin", - "The minimum number of particles per time bin.", - default_value=1, - ) - - handler.add_method_parameter( - "get_targetnn", - "set_targetnn", - "targetnn", - "The target number of neighbour particles for variable gravitational eps.", - default_value=32, - ) - - handler.add_method_parameter( - "get_verbosity", - "set_verbosity", - "verbosity", - "The level of terminal output (0=minimum).", - default_value=0, - ) - - handler.add_method_parameter( - "get_nsmooth", - "set_nsmooth", - "n_smooth", - "The target number of SPH neighbours.", - default_value=64, - ) - - handler.add_method_parameter( - "get_pboxsize", - "set_pboxsize", - "periodic_box_size", - "The size of simulation domain box (particles outside get deleted).", - default_value=10000.0 | nbody_system.length, - ) - - handler.add_method_parameter( - "get_unitm_in_msun", - "set_unitm_in_msun", - "code_mass_unit", - "The code mass unit (in Msun, 10^9 standard).", - default_value=1.0e9 | units.MSun, - ) - - handler.add_method_parameter( - "get_unitl_in_kpc", - "set_unitl_in_kpc", - "code_length_unit", - "The code length unit (in kpc, 1 standard).", - default_value=1.0 | units.kpc, - ) - - handler.add_method_parameter( - "get_tstepcrit", - "set_tstepcrit", - "sqrt_timestep_crit_constant", - "Square-root-timestep criterion constant (unitless,standard=1.).", - default_value=1.0, - ) - - handler.add_method_parameter( - "get_tstpcr2", - "set_tstpcr2", - "acc_timestep_crit_constant", - "Acceleration-timestep criterion constant (unitless,standard=0.25).", - default_value=0.25, - ) - - handler.add_method_parameter( - "get_freev", - "set_freev", - "free_timestep_crit_constant_v", - "Freeform-timestep criterion constant v.", - default_value=0.5, - ) - - handler.add_method_parameter( - "get_freea", - "set_freea", - "free_timestep_crit_constant_a", - "Freeform-timestep criterion constant a.", - default_value=0.35, - ) - - handler.add_method_parameter( - "get_freevexp", - "set_freevexp", - "free_timestep_crit_constant_vexp", - "Freeform-timestep criterion constant v_exp.", - default_value=0.0, - ) - - handler.add_method_parameter( - "get_freeaexp", - "set_freeaexp", - "free_timestep_crit_constant_aexp", - "Freeform-timestep criterion constant a_exp.", - default_value=-1.0, - ) - - handler.add_method_parameter( - "get_bh_tol", - "set_bh_tol", - "opening_angle", - "Opening angle, theta, for building the tree: between 0 and 1 " - "(unitless, 0.5).", - default_value=0.5, - ) - - handler.add_method_parameter( - "get_gdgtol", - "set_gdgtol", - "gadget_cell_opening_constant", - "Gadget-cell-openings criterion parameter (unitless, .01)", - default_value=0.01, - ) - - handler.add_method_parameter( - "get_nn_tol", - "set_nn_tol", - "nn_tol", - "The fractional tolerance in nn_target (0.1).", - default_value=0.1, - ) - - handler.add_method_parameter( - "get_epsgas", - "set_epsgas", - "gas_epsilon", - "The gas gravitational smoothing epsilon.", - default_value=0.005 | nbody_system.length, - ) - - handler.add_method_parameter( - "get_gamma", - "set_gamma", - "gamma", - "gas polytropic index (1.6666667)", - default_value=1.6666667, - ) - - handler.add_method_parameter( - "get_alpha", - "set_alpha", - "artificial_viscosity_alpha", - "SPH artificial viscosity alpha parameter (0.5)", - default_value=0.5, - ) - - handler.add_method_parameter( - "get_beta", - "set_beta", - "beta", - "SPH artificial viscosity beta parameter (2*alpha=1.0)", - default_value=1.0, - ) - - handler.add_method_parameter( - "get_epssph", - "set_epssph", - "sph_artificial_viscosity_eps", - "SPH artificial viscosity safety against divergence (0.01)", - default_value=0.01, - ) - - handler.add_method_parameter( - "get_courant", - "set_courant", - "courant", - "SPH courant condition parameter (0.3)", - default_value=0.3, - ) - - handler.add_method_parameter( - "get_removgas", - "set_removgas", - "min_gas_part_mass", - "minimum gas particle mass (fraction of initial (average) mass)", - default_value=0.25, - ) - - handler.add_method_parameter( - "get_consthsm", - "set_consthsm", - "sph_h_const", - "SPH smoothing length if constant", - default_value=0.2 | nbody_system.length, - ) - - handler.add_method_parameter( - "get_nsmtol", - "set_nsmtol", - "n_smooth_tol", - "fractional tolerance in number of SPH neighbours", - default_value=0.1, - ) - - handler.add_method_parameter( - "get_graineff", - "set_graineff", - "grain_heat_eff", - "FUV grain heating efficiency parameter (unitless, 0.05)", - default_value=0.05, - ) - - handler.add_method_parameter( - "get_crionrate", - "set_crionrate", - "zeta_cr_ion_rate", - "primary cosmic ray ionization rate, zeta (in units of 1.8e-17 sec^-1, 1.)", - default_value=3.6 | 1.8e-17 * units.s**-1, - ) - - handler.add_method_parameter( - "get_heat_par1", - "set_heat_par1", - "heat_par1", - "additional heating 1 parameter (0.0)", - default_value=0.0, - ) - - handler.add_method_parameter( - "get_heat_par2", - "set_heat_par2", - "heat_par2", - "additional heating 2 parameter (0.0)", - default_value=0.0, - ) - - handler.add_method_parameter( - "get_cool_par", - "set_cool_par", - "cool_par", - "additional cooling parameter (1.0)", - default_value=1.0, - ) - - handler.add_method_parameter( - "get_optdepth", - "set_optdepth", - "optical_depth", - "1/(mean free path) for UV photons (code length **-1, 0.0)", - default_value=0.0, - ) - - handler.add_method_parameter( - "get_tcollfac", - "set_tcollfac", - "star_form_delay_fac", - "star formation delay parameter (unitless, 1)", - default_value=1.0, - ) - - handler.add_method_parameter( - "get_masscrit", - "set_masscrit", - "star_form_mass_crit", - "star formation cloud reference mass (Msun, 1.e5)", - default_value=1.0e5 | units.MSun, - ) - - handler.add_method_parameter( - "get_sfeff", - "set_sfeff", - "star_form_eff", - "gas particle mass fraction converted to stars (0.125)", - default_value=0.25, - ) - - handler.add_method_parameter( - "get_tbubble", - "set_tbubble", - "supernova_duration", - "Supernova activity time, (Myr, 3.e7)", - default_value=3.0e7 | units.Myr, - ) - - handler.add_method_parameter( - "get_sne_eff", - "set_sne_eff", - "supernova_eff", - "Supernova feedback coupling efficiency, (0.0)", - default_value=0.0, - ) - - handler.add_method_parameter( - "get_tsnbeg", - "set_tsnbeg", - "t_supernova_start", - "Supernova feedback start time, (Myr, 3.e6)", - default_value=3.0e6 | units.Myr, - ) - - handler.add_method_parameter( - "get_rhomax", - "set_rhomax", - "max_density", - "Maximum density in case of star formation (force SF if exceeded, ignored " - "if star formation is off)", - default_value=100.0 | nbody_system.density, - ) - - handler.add_method_parameter( - "get_halofile", - "set_halofile", - "halofile", - "Path to initial halo model file, relative to the Fi data directory (none)", - default_value="none", - ) - - handler.add_method_parameter( - "get_feedback", - "set_feedback", - "feedback", - "feedback model (fuv, pres, kine, solo, solh)", - default_value="fuv", - ) - - handler.add_method_parameter( - "get_sfmode", - "set_sfmode", - "star_formation_mode", - "star formation model (gerritsen, nieuw)", - default_value="gerritsen", - ) - - handler.add_method_parameter( - "get_hupdatemethod", - "set_hupdatemethod", - "h_update_method", - "SPH smoothing length criterion (at the moment always 'mass')", - default_value="mass", - ) - - handler.add_method_parameter( - "get_sph_visc", - "set_sph_visc", - "sph_viscosity", - "SPH viscosity (sph,sphv, bulk). Note: not all may work.", - default_value="sph", - ) - - handler.add_method_parameter( - "get_fi_data_directory", - "set_fi_data_directory", - "fi_data_directory", - "Name of the Fi data directory", - default_value="", - ) - - handler.add_boolean_parameter( - "get_periodic_boundaries_flag", - None, - "periodic_boundaries_flag", - "Periodic boundaries flag. True means: use periodic boundary conditions " - "(read-only)", - False, - ) - - handler.add_method_parameter( - "get_begin_time", - "set_begin_time", - "begin_time", - "model time to start the simulation at", - default_value=0.0 | nbody_system.time, - ) - - self.stopping_conditions.define_parameters(handler) - - def define_particle_sets(self, handler): - handler.define_super_set( - "particles", - ["dm_particles", "gas_particles", "star_particles"], - index_to_default_set=0, - ) - - handler.define_set("dm_particles", "id") - handler.set_new("dm_particles", "new_dm_particle") - handler.set_delete("dm_particles", "delete_particle") - handler.add_setter("dm_particles", "set_state") - handler.add_getter("dm_particles", "get_state") - handler.add_setter("dm_particles", "set_mass") - handler.add_getter("dm_particles", "get_mass", names=("mass",)) - handler.add_setter("dm_particles", "set_position") - handler.add_getter("dm_particles", "get_position") - handler.add_setter("dm_particles", "set_radius") - handler.add_getter("dm_particles", "get_radius") - handler.add_setter("dm_particles", "set_velocity") - handler.add_getter("dm_particles", "get_velocity") - - handler.define_set("gas_particles", "id") - handler.set_new("gas_particles", "new_sph_particle") - handler.set_delete("gas_particles", "delete_particle") - handler.add_setter("gas_particles", "set_state_sph") - handler.add_getter("gas_particles", "get_state_sph") - handler.add_setter("gas_particles", "set_mass") - handler.add_getter("gas_particles", "get_mass", names=("mass",)) - handler.add_getter("gas_particles", "get_radius") - handler.add_setter("gas_particles", "set_radius") - handler.add_setter("gas_particles", "set_position") - handler.add_getter("gas_particles", "get_position") - handler.add_setter("gas_particles", "set_velocity") - handler.add_getter("gas_particles", "get_velocity") - handler.add_setter("gas_particles", "set_internal_energy") - handler.add_getter("gas_particles", "get_internal_energy") - handler.add_getter("gas_particles", "get_dinternal_energy_dt") - handler.add_setter("gas_particles", "set_smoothing_length") - handler.add_getter("gas_particles", "get_smoothing_length") - handler.add_getter("gas_particles", "get_density", names=("rho",)) - handler.add_getter("gas_particles", "get_density", names=("density",)) - handler.add_getter("gas_particles", "get_pressure") - - handler.define_set("star_particles", "id") - handler.set_new("star_particles", "new_star_particle") - handler.set_delete("star_particles", "delete_particle") - handler.add_setter("star_particles", "set_state_star") - handler.add_getter("star_particles", "get_state_star") - handler.add_setter("star_particles", "set_mass") - handler.add_getter("star_particles", "get_mass", names=("mass",)) - handler.add_setter("star_particles", "set_position") - handler.add_getter("star_particles", "get_position") - handler.add_setter("star_particles", "set_radius") - handler.add_getter("star_particles", "get_radius") - handler.add_setter("star_particles", "set_velocity") - handler.add_getter("star_particles", "get_velocity") - handler.add_setter("star_particles", "set_star_tform") - handler.add_getter("star_particles", "get_star_tform") - - self.stopping_conditions.define_particle_set(handler, "particles") - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - handler.add_method( - "set_velocity", - ( - handler.INDEX, - nbody_system.speed, - nbody_system.speed, - nbody_system.speed, - ), - (handler.ERROR_CODE), - ) - handler.add_method( - "get_velocity", - (handler.INDEX,), - ( - nbody_system.speed, - nbody_system.speed, - nbody_system.speed, - handler.ERROR_CODE, - ), - ) - handler.add_method( - "new_dm_particle", - ( - nbody_system.mass, - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.speed, - nbody_system.speed, - nbody_system.speed, - nbody_system.length, - ), - ( - handler.INDEX, - handler.ERROR_CODE, - ), - ) - handler.add_method( - "new_sph_particle", - ( - nbody_system.mass, - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.speed, - nbody_system.speed, - nbody_system.speed, - nbody_system.specific_energy, - nbody_system.length, - ), - ( - handler.INDEX, - handler.ERROR_CODE, - ), - ) - handler.add_method( - "get_state_sph", - (handler.INDEX,), - ( - nbody_system.mass, - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.speed, - nbody_system.speed, - nbody_system.speed, - nbody_system.specific_energy, - nbody_system.length, - handler.ERROR_CODE, - ), - ) - handler.add_method( - "set_state_sph", - ( - handler.INDEX, - nbody_system.mass, - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.speed, - nbody_system.speed, - nbody_system.speed, - nbody_system.specific_energy, - nbody_system.length, - ), - (handler.ERROR_CODE,), - ) - handler.add_method( - "set_internal_energy", - ( - handler.INDEX, - nbody_system.specific_energy, - ), - (handler.ERROR_CODE,), - ) - handler.add_method( - "get_internal_energy", - (handler.INDEX,), - (nbody_system.specific_energy, handler.ERROR_CODE), - ) - handler.add_method( - "get_dinternal_energy_dt", - (handler.INDEX,), - (nbody_system.specific_energy / nbody_system.time, handler.ERROR_CODE), - ) - handler.add_method( - "set_smoothing_length", - (handler.INDEX, nbody_system.length), - (handler.ERROR_CODE,), - ) - handler.add_method( - "get_smoothing_length", - (handler.INDEX,), - (nbody_system.length, handler.ERROR_CODE), - ) - handler.add_method( - "get_density", (handler.INDEX,), (nbody_system.density, handler.ERROR_CODE) - ) - handler.add_method( - "get_pressure", - (handler.INDEX,), - (nbody_system.pressure, handler.ERROR_CODE), - ) - - handler.add_method( - "new_star_particle", - ( - nbody_system.mass, - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.speed, - nbody_system.speed, - nbody_system.speed, - nbody_system.time, - nbody_system.length, - ), - ( - handler.INDEX, - handler.ERROR_CODE, - ), - ) - handler.add_method( - "get_state_star", - (handler.INDEX,), - ( - nbody_system.mass, - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.speed, - nbody_system.speed, - nbody_system.speed, - nbody_system.time, - nbody_system.length, - handler.ERROR_CODE, - ), - ) - handler.add_method( - "set_state_star", - ( - handler.INDEX, - nbody_system.mass, - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.speed, - nbody_system.speed, - nbody_system.speed, - nbody_system.time, - nbody_system.length, - ), - (handler.ERROR_CODE,), - ) - handler.add_method( - "set_star_tform", - ( - handler.INDEX, - nbody_system.time, - ), - (handler.ERROR_CODE,), - ) - handler.add_method( - "get_star_tform", (handler.INDEX,), (nbody_system.time, handler.ERROR_CODE) - ) - - handler.add_method( - "get_hydro_state_at_point", - ( - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.speed, - nbody_system.speed, - nbody_system.speed, - ), - ( - nbody_system.density, - nbody_system.momentum_density, - nbody_system.momentum_density, - nbody_system.momentum_density, - nbody_system.energy_density, - handler.ERROR_CODE, - ), - ) - - handler.add_method( - "get_eps2", - (), - ( - nbody_system.length * nbody_system.length, - handler.ERROR_CODE, - ), - ) - - handler.add_method( - "set_eps2", - (nbody_system.length * nbody_system.length,), - (handler.ERROR_CODE,), - ) - - handler.add_method( - "get_dtime", - (), - ( - nbody_system.time, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_dtime", (nbody_system.time,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_firstsnap", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_firstsnap", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_stepout", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_stepout", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_steplog", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_steplog", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_max_tbin", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_max_tbin", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_minppbin", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_minppbin", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_targetnn", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_targetnn", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_verbosity", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_verbosity", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_nsmooth", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_nsmooth", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_pboxsize", - (), - ( - nbody_system.length, - handler.ERROR_CODE, - ), - ) - - handler.add_method( - "set_pboxsize", (nbody_system.length,), (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_unitm_in_msun", - (), - ( - units.MSun, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_unitm_in_msun", (units.MSun,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_unitl_in_kpc", - (), - ( - units.kpc, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_unitl_in_kpc", (units.kpc,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_tstepcrit", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_tstepcrit", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_tstpcr2", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_tstpcr2", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_freev", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_freev", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_freea", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_freea", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_freevexp", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_freevexp", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_freeaexp", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_freeaexp", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_bh_tol", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_bh_tol", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_gdgtol", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_gdgtol", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_nn_tol", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_nn_tol", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_epsgas", - (), - ( - nbody_system.length, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_epsgas", (nbody_system.length,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_gamma", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_gamma", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_alpha", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_alpha", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_beta", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_beta", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_epssph", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_epssph", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_courant", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_courant", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_removgas", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_removgas", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_consthsm", - (), - ( - nbody_system.length, - handler.ERROR_CODE, - ), - ) - - handler.add_method( - "set_consthsm", (nbody_system.length,), (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_nsmtol", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_nsmtol", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_graineff", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_graineff", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_crionrate", - (), - ( - 1.8e-17 * units.s**-1, - handler.ERROR_CODE, - ), - ) - - handler.add_method( - "set_crionrate", (1.8e-17 * units.s**-1,), (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_heat_par1", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_heat_par1", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_heat_par2", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_heat_par2", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_cool_par", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_cool_par", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_optdepth", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_optdepth", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_tcollfac", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_tcollfac", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_masscrit", - (), - ( - units.MSun, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_masscrit", (units.MSun,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_sfeff", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_sfeff", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_tbubble", - (), - ( - units.Myr, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_tbubble", (units.Myr,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_sne_eff", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_sne_eff", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_tsnbeg", - (), - ( - units.Myr, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_tsnbeg", (units.Myr,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_rhomax", - (), - ( - nbody_system.density, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_rhomax", (nbody_system.density,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_halofile", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_halofile", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_feedback", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_feedback", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_sfmode", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_sfmode", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_hupdatemethod", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method( - "set_hupdatemethod", (handler.NO_UNIT,), (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_sph_visc", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method("set_sph_visc", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method( - "get_fi_data_directory", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method( - "set_fi_data_directory", (handler.NO_UNIT,), (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_thermal_energy", - (), - ( - nbody_system.energy, - handler.ERROR_CODE, - ), - ) - - handler.add_method( - "get_total_energy", - (), - ( - nbody_system.energy, - handler.ERROR_CODE, - ), - ) - - handler.add_method( - "get_number_of_sph_particles_removed", - (), - (handler.NO_UNIT, handler.ERROR_CODE), - ) - handler.add_method( - "get_id_of_removed_sph_particle", - (handler.NO_UNIT,), - (handler.INDEX, handler.ERROR_CODE), - ) - - self.stopping_conditions.define_methods(handler) - - def update_particle_set(self): - """ - update the particle set after changes in the code - - this implementation needs to move to the - amuse.datamodel.incode_storage module, as - it uses a lot of internal methods and info! - """ - number_of_removed_particles = self.get_number_of_sph_particles_removed() - - if number_of_removed_particles == 0: - return - - indices_in_update_list = list(range(number_of_removed_particles)) - indices_to_remove = self.get_id_of_removed_sph_particle(indices_in_update_list) - - incode_storage = self.gas_particles._remove_indices_in_attribute_storage( - indices_to_remove - ) - - def get_total_energy(self): - return self.__getattr__("get_total_energy")() - - -class FiViewer(Fi): - - def __init__(self, convert_nbody=None, mode="normal", **options): - Fi.__init__( - self, convert_nbody=convert_nbody, mode=mode, use_gl=True, **options - ) - - def define_parameters(self, handler): - Fi.define_parameters(self, handler) - - handler.add_method_parameter( - "get_viewpoint", - "set_viewpoint", - "viewpoint", - "viewpoint (location of the camera)", - [0, 1, 0] | nbody_system.length, - is_vector=True, - ) - - handler.add_method_parameter( - "get_image_target", - "set_image_target", - "image_target", - "image_target (location the camera points to)", - [0, 0, 0] | nbody_system.length, - is_vector=True, - ) - - handler.add_method_parameter( - "get_upvector", - None, - "upvector", - "upvector (which direction points up, readonly)", - [0, 0, 1], - is_vector=True, - ) - - handler.add_method_parameter( - "get_image_angle", - "set_image_angle", - "image_angle", - "image angle - vertical (?)!! ", - default_value=45 | units.deg, - ) - - handler.add_method_parameter( - "get_image_ratio", - None, - "image_ratio", - "image width/height (readonly)", - default_value=1.0, - ) - - def define_state(self, handler): - handler.set_initial_state("UNINITIALIZED") - handler.add_transition("UNINITIALIZED", "INITIALIZED", "initialize_code") - handler.add_transition("!UNINITIALIZED!STOPPED", "END", "cleanup_code") - handler.add_transition("END", "STOPPED", "stop", False) - handler.add_method("STOPPED", "stop") - handler.add_transition("INITIALIZED", "EDIT", "commit_parameters") - handler.add_method("EDIT", "new_dm_particle") - handler.add_method("EDIT", "new_sph_particle") - handler.add_method("EDIT", "new_star_particle") - handler.add_method("UPDATE", "delete_particle") - handler.add_transition("EDIT", "UPDATE", "delete_particle") - handler.add_transition("UPDATE", "EDIT", "trigger_partremoval") - - -class FiMapInterface(CodeInterface): - - use_modules = ["StoppingConditions", "MapInterface"] - - MODE_NORMAL = "normal" - MODE_NORMAL_OPENMP = "openmp" - - def __init__(self, mode=MODE_NORMAL, **options): - self.mode = mode - CodeInterface.__init__( - self, name_of_the_worker=self.name_of_the_worker(mode), **options - ) - - def name_of_the_worker(self, mode): - if mode == self.MODE_NORMAL: - return "fi_worker_map" - elif mode == self.MODE_NORMAL_OPENMP: - return "fi_worker_map_mp" - else: - return "fi_worker_map" - - @legacy_function - def initialize_code(): - function = LegacyFunctionSpecification() - function.result_type = "i" - return function - - @legacy_function - def cleanup_code(): - function = LegacyFunctionSpecification() - function.result_type = "i" - return function - - @legacy_function - def generate_projection(): - function = LegacyFunctionSpecification() - function.result_type = "i" - return function - - @legacy_function - def init_map(): - function = LegacyFunctionSpecification() - function.result_type = "i" - return function - - @legacy_function - def reset_map(): - function = LegacyFunctionSpecification() - function.result_type = "i" - return function - - @legacy_function - def erase_map(): - function = LegacyFunctionSpecification() - function.result_type = "i" - return function - - @legacy_function - def new_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.OUT) - for x in ["x", "y", "z"]: - function.addParameter(x, dtype="d", direction=function.IN) - function.addParameter("weight", dtype="d", direction=function.IN, default=1.0) - function.addParameter("radius", dtype="d", direction=function.IN, default=0.0) - function.addParameter( - "opacity_area", dtype="d", direction=function.IN, default=0.0 - ) - function.addParameter("index", dtype="i", direction=function.IN, default=-1) - function.result_type = "i" - return function - - @legacy_function - def set_state(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - for x in ["x", "y", "z"]: - function.addParameter(x, dtype="d", direction=function.IN) - function.addParameter("weight", dtype="d", direction=function.IN, default=1.0) - function.addParameter("radius", dtype="d", direction=function.IN, default=0.0) - function.addParameter( - "opacity_area", dtype="d", direction=function.IN, default=0.0 - ) - function.result_type = "i" - return function - - @legacy_function - def set_weight(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - function.addParameter("weight", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def set_opacity_area(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - function.addParameter("opacity_area", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_state(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - for x in ["x", "y", "z"]: - function.addParameter(x, dtype="d", direction=function.OUT) - function.addParameter("weight", dtype="d", direction=function.OUT) - function.addParameter("radius", dtype="d", direction=function.OUT) - function.addParameter("opacity_area", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def delete_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter("id", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def set_random_seed(): - """random seed to use""" - function = LegacyFunctionSpecification() - function.addParameter("random_seed", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_random_seed(): - """random seed to use""" - function = LegacyFunctionSpecification() - function.addParameter("random_seed", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_extinction_flag(): - """whether to use the particle opacities (0=no, 1= yes)""" - function = LegacyFunctionSpecification() - function.addParameter("extinction_flag", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_extinction_flag(): - """whether to use the particle opacities (0=no, 1= yes)""" - function = LegacyFunctionSpecification() - function.addParameter("extinction_flag", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_minimum_distance(): - """minimum distance to the camera particles can have""" - function = LegacyFunctionSpecification() - function.addParameter("minimum_distance", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_minimum_distance(): - """minimum distance to the camera particles can have""" - function = LegacyFunctionSpecification() - function.addParameter("minimum_distance", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_image_angle(): - """angle of image in x direction (for perpective proj.)""" - function = LegacyFunctionSpecification() - function.addParameter( - "image_angle", dtype="d", direction=function.IN, unit=units.deg - ) - function.result_type = "i" - return function - - @legacy_function - def get_image_angle(): - """angle of image in x direction (for perpective proj.)""" - function = LegacyFunctionSpecification() - function.addParameter( - "image_angle", dtype="d", direction=function.OUT, unit=units.deg - ) - function.result_type = "i" - return function - - @legacy_function - def set_image_width(): - """width of image in x direction (for parallel proj.)""" - function = LegacyFunctionSpecification() - function.addParameter("image_width", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_image_width(): - """angle of image in x direction (for parallel proj.)""" - function = LegacyFunctionSpecification() - function.addParameter("image_width", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_image_pixel_size(): - """pixel size of generated image""" - function = LegacyFunctionSpecification() - function.addParameter("nx", dtype="i", direction=function.IN) - function.addParameter("ny", dtype="i", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_image_pixel_size(): - """pixel size of generated image""" - function = LegacyFunctionSpecification() - function.addParameter("nx", dtype="i", direction=function.OUT) - function.addParameter("ny", dtype="i", direction=function.OUT) - function.result_type = "i" - return function - - def get_index_range_inclusive(self): - ni, nj, error = self.get_image_pixel_size() - return (1, ni, 1, nj) - - @legacy_function - def set_image_target(): - """target point of image""" - function = LegacyFunctionSpecification() - function.addParameter("x", dtype="d", direction=function.IN) - function.addParameter("y", dtype="d", direction=function.IN) - function.addParameter("z", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_image_target(): - """target point of image""" - function = LegacyFunctionSpecification() - function.addParameter("x", dtype="d", direction=function.OUT) - function.addParameter("y", dtype="d", direction=function.OUT) - function.addParameter("z", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_viewpoint(): - """camera position (for perspective proj)""" - function = LegacyFunctionSpecification() - function.addParameter("x", dtype="d", direction=function.IN) - function.addParameter("y", dtype="d", direction=function.IN) - function.addParameter("z", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_viewpoint(): - """camera position (for perspective proj)""" - function = LegacyFunctionSpecification() - function.addParameter("x", dtype="d", direction=function.OUT) - function.addParameter("y", dtype="d", direction=function.OUT) - function.addParameter("z", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_projection_direction(): - """direction of projection (for parallel proj)""" - function = LegacyFunctionSpecification() - function.addParameter("x", dtype="d", direction=function.IN) - function.addParameter("y", dtype="d", direction=function.IN) - function.addParameter("z", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_projection_direction(): - """direction of projection (for parallel proj)""" - function = LegacyFunctionSpecification() - function.addParameter("x", dtype="d", direction=function.OUT) - function.addParameter("y", dtype="d", direction=function.OUT) - function.addParameter("z", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_upvector(): - """specify the orientation of the image by setting the direction vector of image y""" - function = LegacyFunctionSpecification() - function.addParameter("x", dtype="d", direction=function.IN) - function.addParameter("y", dtype="d", direction=function.IN) - function.addParameter("z", dtype="d", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_upvector(): - """ - specify the orientation of the image by setting the direction vector of image y - """ - function = LegacyFunctionSpecification() - function.addParameter("x", dtype="d", direction=function.OUT) - function.addParameter("y", dtype="d", direction=function.OUT) - function.addParameter("z", dtype="d", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def set_projection_mode(): - """projection mode (parallel or projection""" - function = LegacyFunctionSpecification() - function.addParameter("projection_mode", dtype="string", direction=function.IN) - function.result_type = "i" - return function - - @legacy_function - def get_projection_mode(): - """projection mode (parallel or projection""" - function = LegacyFunctionSpecification() - function.addParameter("projection_mode", dtype="string", direction=function.OUT) - function.result_type = "i" - return function - - @legacy_function - def get_image(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ["i", "j"]: - function.addParameter(x, dtype="i", direction=function.IN) - for x in ["pixel_value"]: - function.addParameter(x, dtype="d", direction=function.OUT) - function.addParameter("number_of_points", "i", function.LENGTH) - function.result_type = "i" - return function - - @legacy_function - def get_opdepth_map(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ["i", "j"]: - function.addParameter(x, dtype="i", direction=function.IN) - for x in ["pixel_opacity"]: - function.addParameter(x, dtype="d", direction=function.OUT) - function.addParameter("number_of_points", "i", function.LENGTH) - function.result_type = "i" - return function - - -class FiMap(CommonCode): - - def __init__(self, unit_converter=None, **options): - self.unit_converter = unit_converter - - CommonCode.__init__(self, FiMapInterface(**options), **options) - - def define_converter(self, handler): - if self.unit_converter is not None: - handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) - - def define_methods(self, handler): - handler.add_method( - "new_particle", - ( - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - handler.NO_UNIT, - generic_unit_system.length, - generic_unit_system.length**2, - handler.NO_UNIT, - ), - ( - handler.INDEX, - handler.ERROR_CODE, - ), - ) - handler.add_method( - "set_state", - ( - handler.INDEX, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - handler.NO_UNIT, - generic_unit_system.length, - generic_unit_system.length**2, - ), - (handler.ERROR_CODE,), - ) - handler.add_method( - "set_weight", - ( - handler.INDEX, - handler.NO_UNIT, - ), - (handler.ERROR_CODE,), - ) - handler.add_method( - "set_opacity_area", - ( - handler.INDEX, - generic_unit_system.length**2, - ), - (handler.ERROR_CODE,), - ) - handler.add_method( - "get_state", - (handler.INDEX,), - ( - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - handler.NO_UNIT, - generic_unit_system.length, - generic_unit_system.length**2, - handler.ERROR_CODE, - ), - ) - handler.add_method("delete_particle", (handler.INDEX,), (handler.ERROR_CODE,)) - - handler.add_method( - "set_minimum_distance", (generic_unit_system.length,), (handler.ERROR_CODE,) - ) - handler.add_method( - "get_minimum_distance", - (), - ( - generic_unit_system.length, - handler.ERROR_CODE, - ), - ) - - handler.add_method( - "set_image_width", (generic_unit_system.length,), (handler.ERROR_CODE,) - ) - handler.add_method( - "get_image_width", - (), - ( - generic_unit_system.length, - handler.ERROR_CODE, - ), - ) - - handler.add_method( - "set_image_target", - ( - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - ), - (handler.ERROR_CODE,), - ) - handler.add_method( - "get_image_target", - (), - ( - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - handler.ERROR_CODE, - ), - ) - - handler.add_method( - "set_viewpoint", - ( - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - ), - (handler.ERROR_CODE,), - ) - handler.add_method( - "get_viewpoint", - (), - ( - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - handler.ERROR_CODE, - ), - ) - - handler.add_method( - "get_image", - ( - handler.INDEX, - handler.INDEX, - ), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - handler.add_method( - "get_opdepth_map", - ( - handler.INDEX, - handler.INDEX, - ), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - - def define_particle_sets(self, handler): - handler.define_grid("image") - handler.set_grid_range("image", "get_index_range_inclusive") - handler.add_getter("image", "get_image") - handler.add_getter("image", "get_opdepth_map") - - handler.define_set("particles", "id") - handler.set_new("particles", "new_particle") - handler.set_delete("particles", "delete_particle") - handler.add_setter("particles", "set_state") - handler.add_setter("particles", "set_weight") - handler.add_setter("particles", "set_opacity_area") - handler.add_getter("particles", "get_state") - - def define_parameters(self, handler): - - handler.add_method_parameter( - "get_projection_mode", - "set_projection_mode", - "projection_mode", - "projection mode (parallel or perspective)", - default_value="parallel", - ) - - handler.add_method_parameter( - "get_random_seed", - "set_random_seed", - "random_seed", - "random seed (used for clusters)", - default_value=45678910, - ) - - handler.add_method_parameter( - "get_minimum_distance", - "set_minimum_distance", - "minimum_distance", - "near clipping plane", - default_value=0.001 | generic_unit_system.length, - ) - - handler.add_boolean_parameter( - "get_extinction_flag", - "set_extinction_flag", - "extinction_flag", - "extinction flag (whether to use extinction)", - default_value=False, - ) - - handler.add_method_parameter( - "get_image_angle", - "set_image_angle", - "image_angle", - "image angle - horizontal (used in perspective proj.)", - default_value=45 | units.deg, - ) - - handler.add_method_parameter( - "get_image_width", - "set_image_width", - "image_width", - "image width - horizontal (used in parallel proj.)", - default_value=1 | generic_unit_system.length, - ) - - handler.add_caching_parameter( - "set_image_pixel_size", - "nx", - "nx", - "image pixel size (horizontal)", - 640, - ) - handler.add_caching_parameter( - "set_image_pixel_size", - "ny", - "ny", - "image pixel size (vertical)", - 480, - ) - handler.add_vector_parameter("image_size", "image pixel size", ("nx", "ny")) - - handler.add_caching_parameter( - "set_image_target", - "x", - "target_x", - "x coordinate of the point which the image centers on", - 0 | generic_unit_system.length, - ) - handler.add_caching_parameter( - "set_image_target", - "y", - "target_y", - "y coordinate of the point which the image centers on", - 0 | generic_unit_system.length, - ) - handler.add_caching_parameter( - "set_image_target", - "z", - "target_z", - "z coordinate of the point which the image centers on", - 0 | generic_unit_system.length, - ) - handler.add_vector_parameter( - "image_target", - "point which the image centers on", - ("target_x", "target_y", "target_z"), - ) - - handler.add_caching_parameter( - "set_viewpoint", - "x", - "viewpoint_x", - "x coordinate of the view point (camera location)", - 0 | generic_unit_system.length, - ) - handler.add_caching_parameter( - "set_viewpoint", - "y", - "viewpoint_y", - "y coordinate of the view point (camera location)", - 1.0 | generic_unit_system.length, - ) - handler.add_caching_parameter( - "set_viewpoint", - "z", - "viewpoint_z", - "z coordinate of the view point (camera location)", - 0 | generic_unit_system.length, - ) - handler.add_vector_parameter( - "viewpoint", - "viewpoint (location of the camera)", - ("viewpoint_x", "viewpoint_y", "viewpoint_z"), - ) - - handler.add_caching_parameter( - "set_upvector", - "x", - "upvector_x", - "x component of the up-direction of the image", - 0, - ) - handler.add_caching_parameter( - "set_upvector", - "y", - "upvector_y", - "y component of the up-direction of the image", - 0, - ) - handler.add_caching_parameter( - "set_upvector", - "z", - "upvector_z", - "z component of the up-direction of the image", - 1, - ) - handler.add_vector_parameter( - "upvector", - "direction of the up-vector", - ("upvector_x", "upvector_y", "upvector_z"), - ) - - handler.add_caching_parameter( - "set_projection_direction", - "x", - "projection_direction_x", - "x component of projection direction (for parallel projections)", - 0, - ) - handler.add_caching_parameter( - "set_projection_direction", - "y", - "projection_direction_y", - "y component of projection direction (for parallel projections)", - -1, - ) - handler.add_caching_parameter( - "set_projection_direction", - "z", - "projection_direction_z", - "z component of projection direction (for parallel projections)", - 0, - ) - handler.add_vector_parameter( - "projection_direction", - "direction of projection (for parallel projection)", - ( - "projection_direction_x", - "projection_direction_y", - "projection_direction_z", - ), - ) - - def get_index_range_inclusive(self): - """ - Returns the min and max values of indices in each - direction. The range is inclusive, the min index - and max index both exist and can be queried. - The total number of cells in one direction - is max - min + 1. - """ - nx, ny = self.get_image_pixel_size() - return (1, nx, 1, ny) - - def commit_parameters(self): - self.parameters.send_cached_parameters_to_code() - - def define_state(self, handler): - CommonCode.define_state(self, handler) - # handler.add_transition('END', 'INITIALIZED', 'initialize_code', False) - - handler.add_transition("INITIALIZED", "PREPROJ", "commit_parameters") - handler.add_transition("PREPROJ", "PROJ", "init_map") - handler.add_transition("PROJ", "ERASE", "erase_map") - handler.add_transition("ERASE", "IMAGE", "generate_projection") - handler.add_transition("IMAGE", "PROJ", "new_particle", False) - handler.add_transition("IMAGE", "PROJ", "delete_particle", False) - handler.add_transition("IMAGE", "PROJ", "set_state", False) - handler.add_transition("IMAGE", "PROJ", "set_weight", False) - handler.add_transition("IMAGE", "PROJ", "set_opacity_area", False) - handler.add_transition("PROJ", "INITIALIZED", "reset_map") - handler.add_transition("IMAGE", "INITIALIZED", "reset_map") - handler.add_method("IMAGE", "get_image") - handler.add_method("IMAGE", "get_opdepth_map") - handler.add_method("PROJ", "new_particle") - handler.add_method("PROJ", "delete_particle") - handler.add_method("PROJ", "set_state") - handler.add_method("PROJ", "set_weight") - handler.add_method("PROJ", "set_opacity_area") - - handler.add_method("INITIALIZED", "before_set_parameter") - handler.add_method("PROJ", "before_get_parameter") - handler.add_method("PROJ", "get_image_pixel_size") - handler.add_method("IMAGE", "get_image_pixel_size") diff --git a/src/amuse/community/fi/patch_globals_dot_h.py b/src/amuse/community/fi/patch_globals_dot_h.py deleted file mode 100755 index 7fe43f3804..0000000000 --- a/src/amuse/community/fi/patch_globals_dot_h.py +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env python - -from optparse import OptionParser -import os.path -import sys -import re - -def get_substitution_rules( - value_of_periodic_flag = False, - ): - result = [] - - replace_periodic_re = re.compile(r'PARAMETER \(periodic=\.([A-Z]+)\.\)') - fortran_boolean_value = "TRUE" if value_of_periodic_flag else "FALSE" - sub_periodic = r'PARAMETER (periodic=.{0}.)'.format(fortran_boolean_value) - - result.append((replace_periodic_re, sub_periodic,)) - return result - -def patch_global_h( - value_of_periodic_flag = False, - is_dry_run = True, - inputfile = "src/globals.h", - outputfile = "src/globals.h", - name_of_backupfile = "src/globals.h.bck", - ): - - rules = get_substitution_rules(value_of_periodic_flag) - - with open(inputfile, "r") as input: - lines = input.readlines() - - if not is_dry_run and inputfile == outputfile: - with open(name_of_backupfile, "w") as output: - output.writelines(lines) - - output_lines = [] - for line in lines: - for expression, substitution in rules: - line =expression.sub(substitution, line) - output_lines.append(line) - - - if is_dry_run: - sys.stdout.writelines(output_lines) - else: - with open(outputfile, "w") as output: - output.writelines(output_lines) - - - -def new_option_parser(): - result = OptionParser() - result.add_option( - "-p", - "--periodic", - dest="value_of_periodic_flag", - action="store_true", - default = False, - help="patch the globals.h file, set the periodic flag to true if set (false otherwise)" - ) - result.add_option( - "-n", - "--try", - dest="is_dry_run", - action="store_true", - default = False, - help="don't patch the file only output on standard input" - ) - result.add_option( - "-i", - "--input", - dest="inputfile", - default = "src/globals.h", - help="name of the globals.h file" - ) - result.add_option( - "-o", - "--output", - dest="outputfile", - default = "src/globals.h", - help="name of the globals.h file" - ) - return result - -if __name__ == "__main__": - options, arguments = new_option_parser().parse_args() - patch_global_h(**options.__dict__) - diff --git a/src/amuse/community/fi/src/Makefile b/src/amuse/community/fi/src/Makefile deleted file mode 100644 index cfff301798..0000000000 --- a/src/amuse/community/fi/src/Makefile +++ /dev/null @@ -1,188 +0,0 @@ -## makefile for treesph code -AMUSE_DIR?=../../../../.. --include ${AMUSE_DIR}/config.mk - -SCINC ?= -I$(AMUSE_DIR)/lib/stopcond - -FC=ifort -F2PY=f2py -PIC= - -OPENMP_FCFLAGS ?= -openmp -openmp_report0 - -# gfortran flags -# FFLAGS2=-fdefault-real-8 -ffree-line-length-256 -frecord-marker=4 - -# ifort flags - -FFLAGS2= -r8 -O2 -ip -u $(PIC) - -FFLAGS= $(FFLAGS2) $(OPENMP_FCFLAGS) - -APPS= fi glfi snapviewer hicube map sfh sfh2 rgabe togabe \ - extract rsimple rgadget combine_simple snapreader \ - tosimplex tosimple - -# ----------------------------------------------------------------------- -COMMONFILES = mem.o elements.o cooling.o ionize.o molecules.o H2cool.o starprop.o \ - random.o io-old.o diagnostics.o readparam.o ppread.o \ - blackhole.o stepsystem.o buildnearlist.o pmgrav.o \ - search.o feedback.o fixedhalo.o init.o timestep.o buildtree.o \ - density.o heating.o entdot.o heco.o ethstep.o \ - stellar.o fcco.o makemapmod.o project.o clean.o sort.o util.o \ - gravity.o tidalsum.o treewalk.o gravsum.o fuvflux.o - -LIBFILES = $(COMMONFILES) muse_io2_stub.o muse_io_stub.o hash.o muse_helpers.o - -MAPLIBFILES = makemapmod.o hash.o map_helpers.o util.o - -FILES = $(COMMONFILES) io.o io2.o - -SFILES=extern_dummy.o - -GL_PATH ?= /home/inti/libraries/f90gl-1.2.11 -GLINCLUDE = -I/usr/include/GL -I$(GL_PATH)/include/GL/ -GLLIB = -L$(GL_PATH)/lib -lf90GLU -lf90GL -lf90glut -lGLU -lGL -lglut - -X11LIB = # -L/usr/lib64 -lXaw -lXt -lXmu -lXi -lXext -lX11 - -FITSLIB= -lcfitsio - -FFTWLIB = -lfftw3 -lfftw3_threads - -LIBS= $(FFTWLIB) $(FITSLIB) - -THREAD_OPTIONS = -L. -lpthread -lpt - -ELIBS=-lguide /opt/intel/fc/9.0/lib/libsvml.a - -F2PYFLAGS=--quiet --f90exec=$(FC) --f77exec=$(FC) \ - --f90flags=\"$(FFLAGS)\" --f77flags=\"$(FFLAGS)\" - -# ------------------------------------------------------------------------------ - -all: $(APPS) - -%.o: %.f90 globals.h Makefile - $(FC) $(FFLAGS) -c -o $@ $< - -%.o: %.f globals.h Makefile - $(FC) $(F77FLAGS) $(FFLAGS) -c -o $@ $< - -muse_helpers.o: muse_helpers.f90 globals.h Makefile - $(FC) $(FFLAGS) $(SCINC) -c -o $@ $< - -stars3d.o: stars3d.f90 mem.o - $(FC) $(FFLAGS) $(GLINCLUDE) -c -o $@ $< - -fi_viewer.o: fi_viewer.f90 mem.o - $(FC) $(FFLAGS) $(GLINCLUDE) -c -o $@ $< - -snapviewer.o: snapviewer.f90 - $(FC) $(FFLAGS) $(GLINCLUDE) -c -o $@ $< - -fi: $(FILES) $(SFILES) fi.o - $(FC) $(FFLAGS) -o $@ $^ $(LIBS) - -glfi: $(FILES) $(SFILES) glfi.o fthread.o stars3d.o libpt.a - $(FC) $(FFLAGS) -o $@ $^ $(LIBS) $(GLLIB) $(X11_OPTIONS) $(THREAD_OPTIONS) $(X11LIB) - -snapviewer: $(FILES) $(SFILES) snapviewer.o - $(FC) $(FFLAGS) -o $@ $^ $(GLLIB) $(X11LIB) $(LIBS) - -hicube: $(FILES) $(SFILES) hicube.o - $(FC) $(FFLAGS) -o $@ $^ $(LIBS) - -map: $(FILES) $(SFILES) makemap.o - $(FC) $(FFLAGS) -o $@ $^ $(LIBS) - -extract: $(FILES) $(SFILES) extract.o varia.o - $(FC) $(FFLAGS) -o $@ $^ $(LIBS) - -sfh: sfh.o - $(FC) $(FFLAGS) -o $@ $^ $(LIBS) - -sfh2: sfh2.o - $(FC) $(FFLAGS) -o $@ $^ $(LIBS) - -rgadget: mem.o io2.o rgadget.o - $(FC) $(FFLAGS) -o $@ $^ $(LIBS) - -rsimple: mem.o io2.o rsimple.o - $(FC) $(FFLAGS) -o $@ $^ $(LIBS) - -tosimple: mem.o io2.o tosimple.o - $(FC) $(FFLAGS) -o $@ $^ $(LIBS) - -combine_simple: combine_simple.o - $(FC) $(FFLAGS) -o $@ $^ $(LIBS) - -snapreader: snapreader.o $(FILES) $(SFILES) - $(FC) $(FFLAGS) -o $@ $^ $(LIBS) - -togabe: $(FILES) $(SFILES) togabe.o - $(FC) $(FFLAGS) -o $@ $^ $(LIBS) - -togabe2: $(FILES) $(SFILES) sphray_io.o togabe2.o - $(FC) $(FFLAGS) -o $@ $^ $(LIBS) - -tosimplex: $(FILES) $(SFILES) tosimplex.o varia.o - $(FC) $(FFLAGS) -o $@ $^ $(LIBS) - -rgabe: rgabe.o io2.o mem.o - $(FC) $(FFLAGS) -o $@ $^ $(LIBS) -rgabe2: sphray_io.o rgabe2.o io2.o mem.o - $(FC) $(FFLAGS) -o $@ $^ $(LIBS) - -muse: muse_dynamics_interface muse_dynamics_interface_gl \ - muse_sph_interface muse_sph_interface_gl - rm -f *.so - -amuse_interface: libfi.a - -libfi.a: $(LIBFILES) - ar crs $@ $^ - -libmap.a: $(MAPLIBFILES) - ar crs $@ $^ - -muse_dynamics_interface: muse_interface.f90 $(FILES) hash.o muse_helpers.o - @echo $(F2PY) -c $(F2PYFLAGS) \ - -m $@# $^ $(LIBS) $(ELIBS) > muse_dynamics_interface.txt - -muse_dynamics_interface_gl: muse_interface.f90 muse_interface_gl.f90 \ - $(FILES) hash.o muse_helpers.o fthread.o stars3d.o libpt.a - @echo $(F2PY) -c $(F2PYFLAGS) -m $@# $^ \ - $(LIBS) $(ELIBS) $(GLLIB) $(X11_OPTIONS) \ - $(THREAD_OPTIONS) $(X11LIB) > muse_dynamics_interface_gl.txt - -muse_sph_interface: muse_interface.f90 $(FILES) hash.o muse_helpers.o -# $(F2PY) -c $(F2PYFLAGS) -m $@0 $^ $(LIBS) $(ELIBS) - @echo $(F2PY) -c $(F2PYFLAGS) -m $@# $^ \ - $(LIBS) $(ELIBS) > muse_sph_interface.txt - -muse_sph_interface_gl: muse_interface.f90 muse_interface_gl.f90 \ - $(FILES) hash.o muse_helpers.o fthread.o stars3d.o libpt.a - @echo $(F2PY) -c $(F2PYFLAGS) -m $@# $^ \ - $(LIBS) $(ELIBS) $(GLLIB) $(X11_OPTIONS) \ - $(THREAD_OPTIONS) $(X11LIB) > muse_sph_interface_gl.txt - -objects: $(FILES) $(SFILES) - -libpt.a: pt.o ptf77.o pt.h - ar crs libpt.a pt.o ptf77.o - -gl: fi_viewer.o libpt.a fthread.o - -clean: - rm -f *.o *.mod libpt.a libfi.a *.bck *.so *.pyc - rm -f muse_dynamics_interface.txt muse_dynamics_interface_gl.txt - rm -f muse_sph_interface.txt muse_sph_interface_gl.txt - -purge: clean - rm -f $(APPS) - -install: $(APPS) clean - cp $(APPS) ../bin - rm -f $(APPS) - diff --git a/src/amuse/community/flash/interface.py b/src/amuse/community/flash/interface.py index 7bdc51d124..d262dece97 100644 --- a/src/amuse/community/flash/interface.py +++ b/src/amuse/community/flash/interface.py @@ -1,1223 +1,7 @@ -from amuse.community import * -from amuse.community.interface.hydro import HydrodynamicsInterface -from amuse.support.options import OptionalAttributes, option -from amuse.units import generic_unit_system -from amuse.units import si -from amuse.community.interface.common import CommonCode -import numpy as np -import os +from amuse.support.import_helper import load_code -length = generic_unit_system.length -time = generic_unit_system.time -mass = generic_unit_system.mass -speed = generic_unit_system.speed -density = generic_unit_system.density -momentum = generic_unit_system.momentum_density -energy = generic_unit_system.energy_density -potential_energy = generic_unit_system.energy -magnetic_field = generic_unit_system.mass / generic_unit_system.current / generic_unit_system.time ** 2 -acc = generic_unit_system.acceleration -potential = generic_unit_system.potential -class FlashInterface(CodeInterface, HydrodynamicsInterface): - - use_modules = ['flash_run'] - - include_headers = ['worker_code.h'] - - def __init__(self, **keyword_arguments): - CodeInterface.__init__(self, name_of_the_worker="flash_worker", **keyword_arguments) - - - @legacy_function - def initialize_code(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def cleanup_code(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def evolve_model(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='d', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_grid_state(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k', 'index_of_grid', 'nproc']: - function.addParameter(x, dtype='i', direction=function.IN) - for x in ['rho','rhovx', 'rhovy', 'rhovz', 'rhoen']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('ngridpoints', dtype='i', direction=function.LENGTH) - function.result_type='int32' - return function - - @legacy_function - def set_grid_state(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k', 'index_of_grid', 'nproc']: - function.addParameter(x, dtype='i', direction=function.IN) - for x in ['rho','rhovx', 'rhovy', 'rhovz', 'rhoen']: - function.addParameter(x, dtype='d', direction=function.IN) - function.addParameter('ngridpoints', dtype='i', direction=function.LENGTH) - function.result_type='int32' - return function - - @legacy_function - def get_grid_momentum_density(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k', 'index_of_grid', 'nproc']: - function.addParameter(x, dtype='i', direction=function.IN) - for x in ['rhovx', 'rhovy', 'rhovz']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('ngridpoints', dtype='i', direction=function.LENGTH) - function.result_type='int32' - return function - - @legacy_function - def set_grid_momentum_density(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k', 'index_of_grid','nproc']: - function.addParameter(x, dtype='i', direction=function.IN) - for x in ['rhovx', 'rhovy', 'rhovz']: - function.addParameter(x, dtype='d', direction=function.IN) - function.addParameter('ngridpoints', dtype='i', direction=function.LENGTH) - function.result_type='int32' - return function - - @legacy_function - def get_grid_velocity(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - for x in ['i','j','k', 'index_of_grid','nproc']: - function.addParameter(x, dtype='i', direction=function.IN) - for x in ['vx', 'vy', 'vz']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('ngridpoints', dtype='i', direction=function.LENGTH) - function.result_type='int32' - return function - - @legacy_function - def set_grid_velocity(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - for x in ['i','j','k', 'index_of_grid','nproc']: - function.addParameter(x, dtype='i', direction=function.IN) - for x in ['vx', 'vy', 'vz']: - function.addParameter(x, dtype='d', direction=function.IN) - function.addParameter('ngridpoints', dtype='i', direction=function.LENGTH) - function.result_type='int32' - return function - - @legacy_function - def get_grid_energy_density(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k', 'index_of_grid','nproc']: - function.addParameter(x, dtype='i', direction=function.IN) - function.addParameter('rhoen', dtype='d', direction=function.OUT) - function.addParameter('ngridpoints', dtype='i', direction=function.LENGTH) - function.result_type='int32' - return function - - @legacy_function - def set_grid_energy_density(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k', 'index_of_grid','nproc']: - function.addParameter(x, dtype='i', direction=function.IN) - function.addParameter('rhoen', dtype='d', direction=function.IN) - function.addParameter('ngridpoints', dtype='i', direction=function.LENGTH) - function.result_type='int32' - return function - - @legacy_function - def get_grid_density(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k', 'index_of_grid','nproc']: - function.addParameter(x, dtype='i', direction=function.IN) - function.addParameter('rho', dtype='d', direction=function.OUT) - function.addParameter('ngridpoints', dtype='i', direction=function.LENGTH) - function.result_type='int32' - return function - - @legacy_function - def set_grid_density(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k', 'index_of_grid','nproc']: - function.addParameter(x, dtype='i', direction=function.IN) - function.addParameter('rho', dtype='d', direction=function.IN) - function.addParameter('ngridpoints', dtype='i', direction=function.LENGTH) - function.result_type='int32' - return function - - @legacy_function - def get_potential(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - for x in ['i','j','k', 'index_of_grid']: - function.addParameter(x, dtype='i', direction=function.IN) - function.addParameter('potential', dtype='d', direction=function.OUT) - function.result_type='int32' - return function - - @legacy_function - def get_potential_at_point(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['eps','x','y','z']: - function.addParameter(x, dtype='d', direction=function.IN) - function.addParameter('gpot', dtype='d', direction=function.OUT) - function.addParameter('nparts', dtype='i', direction=function.LENGTH) - function.result_type='int32' - return function - - @legacy_function - def get_gravity_at_point(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['eps','x','y','z']: - function.addParameter(x, dtype='d', direction=function.IN) - for x in ['gax','gay','gaz']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('nparts',dtype='i',direction=function.LENGTH) - function.result_type='int32' - return function - - @legacy_function - def get_number_of_grids(): - function = LegacyFunctionSpecification() - function.addParameter('nproc', dtype='int32', direction=function.IN) - function.addParameter('n', dtype='int32', direction=function.OUT) - function.result_type='int32' - return function - - @legacy_function - def get_grid_range(): - function = LegacyFunctionSpecification() - for x in ['nx','ny','nz']: - function.addParameter(x, dtype='int32', direction=function.OUT) - function.addParameter('index_of_grid', dtype='int32', direction=function.IN) - function.addParameter('nproc', dtype='int32', direction=function.IN) - function.result_type='int32' - return function - - @legacy_function - def get_position_of_index(): - """ - Retrieves the x, y and z position of the center of - the cell with coordinates i, j, k in the grid specified - by the index_of_grid - """ - function = LegacyFunctionSpecification() - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) - function.addParameter('Proc_ID', dtype='i', direction=function.IN, default = 0) - for x in ['x','y','z']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_index_of_position(): - """ - Retrieves the i,j and k index of the grid cell containing the - given x, y and z position, the index of the grid and the local - processor number on which this grid resides. - """ - function = LegacyFunctionSpecification() - for x in ['x','y','z']: - function.addParameter(x, dtype='d', direction=function.IN) - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.OUT) - function.addParameter('index_of_grid', dtype='i', direction=function.OUT) - function.addParameter('Proc_ID', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_leaf_indices(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('dummy', dtype='i', direction=function.IN) - function.addParameter('ind', dtype='i', direction=function.OUT) - function.addParameter('ret_cnt', dtype='i', direction=function.OUT) - function.addParameter('num_of_blks', dtype='i', direction=function.OUT) - function.addParameter('nparts',dtype='i', direction=function.LENGTH) - function.result_type='i' - return function - - @legacy_function - def get_max_refinement(): - function = LegacyFunctionSpecification() - function.addParameter('max_refine', dtype='int32', direction=function.OUT) - function.result_type='i' - return function - - @legacy_function - def set_timestep(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='d', direction=function.IN) - function.result_type='i' - return function - - @legacy_function - def get_timestep(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='d', direction=function.OUT) - function.result_type='i' - return function - - @legacy_function - def set_end_time(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='d', direction=function.IN, default=0.0) - function.result_type='i' - return function - - @legacy_function - def get_time(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='d', direction=function.OUT) - function.result_type='i' - return function - - @legacy_function - def get_end_time(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='d', direction=function.OUT) - function.result_type='i' - return function - - @legacy_function - def set_max_num_steps(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type='i' - return function - - @legacy_function - def get_max_num_steps(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type='i' - return function - - @legacy_function - def set_begin_iter_step(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN, default=1) - function.result_type='i' - return function - - @legacy_function - def get_begin_iter_step(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type='i' - return function - - @legacy_function - def initialize_restart(): - function = LegacyFunctionSpecification() - function.result_type='i' - return function - - @legacy_function - def get_restart(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='b', direction=function.OUT) - function.result_type='i' - return function - - @legacy_function - def set_restart(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='b', direction=function.IN) - function.result_type='i' - return function - - @legacy_function - def get_hydro_state_at_point(): - function = LegacyFunctionSpecification() - for x in ['x','y','z']: - function.addParameter(x, dtype='d', direction=function.IN) - for x in ['vx','vy','vz']: - function.addParameter(x, dtype='d', direction=function.IN, default = 0) - for x in ['rho','rhovx','rhovy','rhovz','rhoen']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - # This needs to look like "get_grid_density" etc etc. - @legacy_function - def get_cell_volume(): - function = LegacyFunctionSpecification() - for x in ['block','i','j','k']: - function.addParameter(x, dtype='int32', direction=function.IN) - function.addParameter('vol', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_number_of_procs(): - function = LegacyFunctionSpecification() - function.addParameter('n', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_all_local_num_grids(): - function = LegacyFunctionSpecification() - function.must_handle_array=True - function.addParameter('num_grids_array', dtype='i', direction=function.INOUT) - function.addParameter('nprocs', dtype='i', direction=function.LENGTH) - function.result_type = 'i' - return function - - # WORK IN PROGRESS!!!! - #@legacy_function - #def get_data_all_local_blks(): - #function = LegacyFunctionSpecification() - #function.must_handle_array = True - #function.addParameter('data_array', dtype='d', direction=function.INOUT) - #function.addParameter('numcells', dtype='i', direction=function.LENGTH) - #function.result_type = 'i' - #return function - - @legacy_function - def get_1blk_cell_coords(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('axis', dtype='i', direction=function.IN) - function.addParameter('blockID', dtype='i', direction=function.IN) - function.addParameter('limits', dtype='i', direction=function.IN) - function.addParameter('coords', dtype='d', direction=function.OUT) - function.addParameter('nparts', dtype='i', direction=function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def kick_grid(): - function = LegacyFunctionSpecification() - function.addParameter('dt', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def kick_block(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['accel_x', 'accel_y', 'accel_z']: - function.addParameter(x, dtype='d', direction=function.IN) - function.addParameter('blockID', dtype='i', direction=function.IN) - function.addParameter('block_arr', dtype='i', direction=function.IN) - function.addParameter('limits', dtype='i', direction=function.IN) - function.addParameter('dt', dtype='d', direction=function.IN) - function.addParameter('nparts', dtype='i', direction=function.LENGTH) - function.result_type='i' - return function - -######################################## -# Particle Stuff -######################################## - - @legacy_function - def get_number_of_particles(): - function = LegacyFunctionSpecification() - function.addParameter('n', dtype='int32', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_accel_gas_on_particles(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('eps', dtype='d', direction=function.IN) - for x in ['x','y','z']: - function.addParameter(x, dtype='d', direction=function.IN) - for x in ['ax','ay','az']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('nparts',dtype='i',direction=function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def get_num_part_prop(): - function = LegacyFunctionSpecification() - function.addParameter('n', dtype='int32', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_particle_position_array(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('tags', dtype='d', direction=function.IN,unit=NO_UNIT) - for x in ['x','y','z']: - function.addParameter(x, dtype='d', direction=function.OUT, unit=length) - function.addParameter('nparts',dtype='i',direction=function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def set_particle_position(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('tags', dtype='d', direction=function.IN, unit=NO_UNIT) - for x in ['x','y','z']: - function.addParameter(x, dtype='d', direction=function.IN, unit=length) - function.addParameter('nparts',dtype='i',direction=function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def set_particle_velocity(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('tags', dtype='d', direction=function.IN, unit=NO_UNIT) - for x in ['vx','vy','vz']: - function.addParameter(x, dtype='d', direction=function.IN, unit=speed) - function.addParameter('nparts',dtype='i',direction=function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def get_particle_velocity_array(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('tags', dtype='d', direction=function.IN, unit=NO_UNIT) - for x in ['vx','vy','vz']: - function.addParameter(x, dtype='d', direction=function.OUT, unit=speed) - function.addParameter('nparts',dtype='i',direction=function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def make_sink(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['x','y','z']: - function.addParameter(x, dtype='d', direction=function.IN) - function.addParameter('tags', dtype='d', direction=function.OUT) - function.addParameter('nparts',dtype='i',direction=function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def set_particle_mass(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('tags', dtype='d', direction=function.IN) - function.addParameter('mass', dtype='d', direction=function.IN) - function.addParameter('nparts',dtype='i',direction=function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def get_particle_mass(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('tags', dtype='d', direction=function.IN) - function.addParameter('mass', dtype='d', direction=function.OUT) - function.addParameter('nparts',dtype='i',direction=function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def get_particle_gpot(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('n', dtype='int32', direction=function.IN) - function.addParameter('gpot', dtype='d', direction=function.OUT) - function.addParameter('nparts',dtype='i',direction=function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def set_particle_gpot(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('tags', dtype='d', direction=function.IN) - function.addParameter('gpot', dtype='d', direction=function.IN) - function.addParameter('nparts',dtype='i',direction=function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def get_particle_tags(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('n', dtype='int32', direction=function.IN) - function.addParameter('tags', dtype='d', direction=function.OUT) - function.addParameter('nparts', dtype='i', direction=function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def get_particle_proc(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('n', dtype='int32', direction=function.IN) - function.addParameter('procs', dtype='int32', direction=function.OUT) - function.addParameter('nparts', dtype='i', direction=function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def get_particle_block(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('n', dtype='int32', direction=function.IN) - function.addParameter('blocks', dtype='int32', direction=function.OUT) - function.addParameter('nparts', dtype='i', direction=function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def get_new_tags(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('new_tags_length', dtype = 'i', direction=function.IN) - function.addParameter('new_tags_array', dtype = 'i', direction=function.OUT) - function.addParameter('nparts', dtype = 'i', direction=function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def get_number_of_new_tags(): - function = LegacyFunctionSpecification() - function.addParameter('new_tag_num', dtype = 'int32', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def clear_new_tags(): - function = LegacyFunctionSpecification() - function.result_type = 'i' - return function - - @legacy_function - def particles_gather(): - function = LegacyFunctionSpecification() - function.result_type = 'i' - return function - -# @legacy_function -# def make_particle_tree(): -# function = LegacyFunctionSpecification() -# function.result_type = 'i' -# return function - - -######################## -# IO Stuff -######################## - - @legacy_function - def write_chpt(): - function = LegacyFunctionSpecification() - function.result_type = 'i' - return function - -############################################### -# Default implemenation made by build.py - Josh -############################################### - -#class Flash(InCodeComponentImplementation): - -# def __init__(self, unit_converter = None, **options): -# InCodeComponentImplementation.__init__(self, FlashInterface(**options), **options) - -# handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) - -##################################################### -# Attempt to copy amrvac's class implemenation, working so far! - Josh -##################################################### - -class Flash(CommonCode): - - - - def __init__(self, unit_converter = None, **options): - self.unit_converter = unit_converter - self.stopping_conditions = StoppingConditions(self) - - CommonCode.__init__(self, FlashInterface(**options), **options) - -# self.set_parameters_filename(self.default_parameters_filename) - - def define_converter(self, handler): - if self.unit_converter is None: - return - - handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) - - - def get_index_range_inclusive(self, index_of_grid = 1, nproc=0): - nx, ny, nz = self.get_grid_range(index_of_grid, nproc) - - return (0, nx-1, 0, ny-1, 0, nz-1) - - def get_particle_position(self, tags): - - [x, y, z] = self.get_particle_position_array(tags) - - pos_array = np.array([x.value_in(units.cm), y.value_in(units.cm), - z.value_in(units.cm)]).transpose() | units.cm - - if (hasattr(x,"__len__") == False): - - pos_array = pos_array.flatten() - - return pos_array - - def get_particle_velocity(self, tags): - - [x, y, z] = self.get_particle_velocity_array(tags) - - vel_array = np.array([x.value_in(units.cm / units.s), y.value_in(units.cm / units.s), - z.value_in(units.cm / units.s)]).transpose() | units.cm / units.s - - if (hasattr(x,"__len__") == False): - - vel_array = vel_array.flatten() - - return vel_array - - def define_methods(self, handler): - - #length = units.cm - #time = units.s - #mass = units.g - #speed = units.cm*units.s**-1 - #density = units.g*units.cm**-3 - #momentum = density*speed - #energy = units.cm**2*units.g*units.s**-2 - #potential_energy = energy - #magnetic_field = units.g*0.1*units.C**-1*units.s**-1 - #acc = units.cm*units.s**-2 - -### These two are included in CommonCode - - #handler.add_method( - #'initialize_code', - #(), - #(handler.ERROR_CODE) - #) - - - #handler.add_method( - #'cleanup_code', - #(), - #(handler.ERROR_CODE) - #) - - handler.add_method( - 'evolve_model', - (time,), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_position_of_index', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (length, length, length, handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_index_of_position', - (length, length, length), - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, - handler.INDEX, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_max_refinement", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_grid_state', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (density, momentum, momentum, momentum, energy, - handler.ERROR_CODE,) - ) - - handler.add_method( - 'set_grid_state', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, - density, momentum, momentum, momentum, energy), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_grid_energy_density', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - ( energy, - handler.ERROR_CODE,) - ) - - handler.add_method( - 'set_grid_energy_density', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, - energy), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_grid_density', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (density, - handler.ERROR_CODE,) - ) - - handler.add_method( - 'set_grid_density', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, - density), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_grid_momentum_density', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (momentum, momentum, momentum, - handler.ERROR_CODE,) - ) - - handler.add_method( - 'set_grid_momentum_density', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, - momentum, momentum, momentum), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_grid_velocity', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (speed, speed, speed, - handler.ERROR_CODE,) - ) - - handler.add_method( - 'set_grid_velocity', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, - speed, speed, speed), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_potential', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (potential, handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_potential_at_point', - (length, length, length, length), - (potential, handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_gravity_at_point', - (length, length, length, length), - (acc, acc, acc, handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_cell_volume', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (length**3, handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_number_of_procs', - (), - (handler.NO_UNIT, handler.ERROR_CODE) - ) - - handler.add_method( - 'get_all_local_num_grids', - (handler.INDEX), - (handler.INDEX, handler.ERROR_CODE) - ) - - handler.add_method( - 'get_data_all_local_blks', - (handler.NO_UNIT), - (handler.NO_UNIT, handler.ERROR_CODE) - ) - - handler.add_method( - 'get_1blk_cell_coords', - (handler.NO_UNIT,handler.NO_UNIT,handler.NO_UNIT), - (length, handler.ERROR_CODE) - ) - - handler.add_method( - 'get_leaf_indices', - (handler.NO_UNIT), - (handler.NO_UNIT, handler.INDEX, handler.INDEX, handler.ERROR_CODE) - ) - - handler.add_method( - 'kick_grid', - (time), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'kick_block', - (acc, acc, acc, handler.INDEX, handler.INDEX, handler.NO_UNIT, time), - (handler.ERROR_CODE) - ) - - handler.add_method( - "get_timestep", - (), - (time, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_timestep", - (time), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_end_time", - (), - (time, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_end_time", - (time, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_time', - (), - (time, handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_max_num_steps', - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - 'set_max_num_steps', - (handler.NO_UNIT,), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_restart', - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - 'set_restart', - (handler.NO_UNIT,), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_hydro_state_at_point', - (length, length, length, - speed, speed, speed), - (density, momentum, momentum, - momentum, energy, handler.ERROR_CODE) - ) - - handler.add_method( - 'get_number_of_particles', - (), - (handler.NO_UNIT,handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_accel_gas_on_particles', - (length,length,length,length), - (acc,acc,acc, handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_num_part_prop', - (), - (handler.NO_UNIT,handler.ERROR_CODE) - ) - - ### I'm implementing this with my own defined function - ### so that the structure of the array return looks - ### right. - - #handler.add_method( - #'get_particle_position', - #(handler.NO_UNIT), - #(length, length, length, handler.ERROR_CODE) - #) - - handler.add_method( - 'set_particle_position', - (handler.NO_UNIT, length, length, length), - (handler.ERROR_CODE) - ) - - ### Same as above. - - #handler.add_method( - #'get_particle_velocity', - #(handler.NO_UNIT), - #(speed, speed, speed, handler.ERROR_CODE) - #) - - handler.add_method( - 'set_particle_velocity', - (handler.NO_UNIT, speed, speed, speed), - (handler.ERROR_CODE) - ) - - handler.add_method( - 'make_sink', - (length, length, length), - (handler.NO_UNIT, handler.ERROR_CODE) - ) - - handler.add_method( - 'get_particle_mass', - (handler.INDEX), - (mass, handler.ERROR_CODE) - ) - - handler.add_method( - 'set_particle_mass', - (handler.INDEX, mass), - (handler.ERROR_CODE) - ) - - handler.add_method( - 'get_particle_gpot', - (handler.INDEX), - (potential, handler.ERROR_CODE) - ) - - handler.add_method( - 'set_particle_gpot', - (handler.NO_UNIT, potential), - (handler.ERROR_CODE) - ) - - handler.add_method( - 'get_particle_tags', - (handler.INDEX), - (handler.NO_UNIT, handler.ERROR_CODE) - ) - - handler.add_method( - 'get_particle_proc', - (handler.INDEX), - (handler.NO_UNIT, handler.ERROR_CODE) - ) - - handler.add_method( - 'get_particle_block', - (handler.INDEX), - (handler.INDEX, handler.ERROR_CODE) - ) - - handler.add_method( - 'write_chpt', - (), - (handler.ERROR_CODE) - ) - - handler.add_method( - 'get_new_tags', - (handler.NO_UNIT), - (handler.NO_UNIT, handler.ERROR_CODE) - ) - - handler.add_method( - 'get_number_of_new_tags', - (), - (handler.NO_UNIT, handler.ERROR_CODE) - ) - - handler.add_method( - 'clear_new_tags', - (), - (handler.ERROR_CODE) - ) - - handler.add_method( - 'particles_gather', - (), - (handler.ERROR_CODE) - ) - -# handler.add_method( -# 'make_particle_tree', -# (), -# (handler.ERROR_CODE) -# ) - - def specify_grid(self, definition, index_of_grid = 1, nproc=0): - definition.set_grid_range('get_index_range_inclusive') - - definition.add_getter('get_position_of_index', names=('x','y','z')) - - definition.add_getter('get_grid_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) - definition.add_setter('set_grid_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) - - definition.add_getter('get_grid_density', names=('rho')) - definition.add_setter('set_grid_density', names=('rho')) - -# if self.mode == self.MODE_SCALAR: -# definition.add_getter('get_grid_scalar', names=('scalar',)) -# definition.add_setter('set_grid_scalar', names=('scalar',)) - - definition.add_getter('get_grid_momentum_density', names=('rhovx','rhovy','rhovz')) - definition.add_setter('set_grid_momentum_density', names=('rhovx','rhovy','rhovz')) - - #definition.add_getter('get_grid_velocity', names=('vx','vy','vz')) - #definition.add_setter('set_grid_velocity', names=('vx','vy','vz')) - - definition.add_getter('get_grid_energy_density', names=('energy',)) - definition.add_setter('set_grid_energy_density', names=('energy',)) - - -# definition.add_getter('get_grid_gravitational_potential', names=('gravitational_potential',)) -# definition.add_getter('get_grid_gravitational_acceleration', names=('gravitational_acceleration_x','gravitational_acceleration_y','gravitational_acceleration_z',)) - -# definition.add_getter('get_grid_acceleration', names=('ax','ay','az')) -# definition.add_setter('set_grid_acceleration', names=('ax','ay','az')) - - definition.define_extra_keywords({'index_of_grid':index_of_grid,'nproc':nproc}) - - @property - def grid(self): - return self._create_new_grid(self.specify_grid, index_of_grid = 1, nproc=0) - - - - # Define an handler that returns a list of all the blocks in the simulation. - # This iterates over all processors and then loops over the blocks on the local processors. - def itergrids(self): - m = self.get_number_of_procs() - - for x in range(m): # Loop over processors. - n = self.get_number_of_grids(x) - #n = max(num_grids) - #print "N =",n, "X =",x - for y in range(1, n+1): # Loop over blocks. - yield self._create_new_grid(self.specify_grid, index_of_grid = y, nproc=x) - - - def define_state(self, handler): - CommonCode.define_state(self, handler) - handler.add_transition('END', 'INITIALIZED', 'initialize_code', False) - - handler.add_transition('INITIALIZED','EDIT','commit_parameters') - handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False) - handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False) - handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters') - handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') - handler.add_method('RUN', 'before_get_parameter') - handler.add_method('EDIT', 'before_get_parameter') - - handler.add_transition('EDIT', 'RUN', 'initialize_grid') - handler.add_method('RUN', 'evolve_model') - handler.add_method('RUN', 'get_hydro_state_at_point') - - for state in ['EDIT', 'RUN']: - for methodname in [ - 'get_grid_state', - 'set_grid_state', - 'get_potential_at_point', - 'get_potential', - 'get_gravity_at_point', -# 'set_potential', - 'get_grid_density', - 'set_grid_density', - 'set_grid_energy_density', - 'get_grid_energy_density', - 'get_grid_momentum_density', - 'set_grid_momentum_density', - 'get_grid_velocity', - 'set_grid_velocity', - 'get_position_of_index', - 'get_index_of_position', - 'get_max_refinement', -# 'set_grid_scalar', -# 'get_grid_scalar', - 'get_number_of_grids', - 'get_index_range_inclusive', - 'get_cell_volume', - 'get_number_of_procs', - 'get_all_local_num_grids', - 'get_data_all_local_blks', - 'get_1blk_cell_coords', - 'get_leaf_indices', - 'kick_grid', - 'kick_block', -# 'get_boundary_state', -# 'set_boundary_state', -# 'get_boundary_position_if_index', -# 'get_boundary_index_range_inclusive', - 'get_timestep', - 'set_timestep', - 'get_end_time', - 'set_end_time', - 'get_time', - 'get_max_num_steps', - 'set_max_num_steps', - 'get_restart', - 'get_number_of_particles', - 'get_accel_gas_on_particles', - 'get_particle_position', - 'set_particle_position', - 'get_particle_velocity', - 'set_particle_velocity', - 'make_sink', - 'get_particle_mass', - 'set_particle_mass', - 'set_particle_gpot', - 'get_particle_gpot', - 'get_particle_tags', - 'get_particle_proc', - 'get_particle_block', - 'get_new_tags', - 'get_number_of_new_tags', - 'clear_new_tags', - 'particles_gather', - #'make_particle_tree', - 'write_chpt' - ]: - handler.add_method(state, methodname) +FlashInterface = load_code("flash", "FlashInterface") +Flash = load_code("flash", "Flash") +Flash = Flash diff --git a/src/amuse/community/fractalcluster/Makefile b/src/amuse/community/fractalcluster/Makefile deleted file mode 100644 index b394eea200..0000000000 --- a/src/amuse/community/fractalcluster/Makefile +++ /dev/null @@ -1,57 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPIFC ?= mpif90 -MPIF90 ?= $(MPIFC) -FC ?= gfortran -FORTRAN ?= $(FC) - -SRC=src - - -LIBS+=$(SRC)/libfractal.a - -PIC=#-fPIC - -# check for gfortran, this catches link and compiler wrappers -ifeq ($(findstring GNU, $(shell $(FORTRAN) --version)), GNU) -FFLAGS= $(FCFLAGS) -fdefault-real-8 -cpp -O3 -endif - -ifeq ($(findstring ifort, $(notdir $(FORTRAN))), ifort) -IFORTFLAGS= -r8 -u -FFLAGS= $(FCFLAGS) $(IFORTFLAGS) -O2 -endif - -FFLAGS2= -I./src/ - -CLASSNAME=FractalClusterInterface - -all: fractal_worker - -%.o: %.f90 Makefile - $(FC) $(FFLAGS) $(FFLAGS2) -c -o $@ $< - -%.o: %.F90 Makefile - $(FC) $(FFLAGS) $(FFLAGS2) -c -o $@ $< - -fractal_worker: fractal_worker.f90 interface.o - $(MPIF90) $(FFLAGS) $(FFLAGS2) $(FS_FLAGS) $(LDFLAGS) $^ -o $@ $(LIBS) $(FS_LIBS) $(LIBS) - -fractal_worker.f90: interface.py - make -C src amuse_interface FFLAGS="$(FFLAGS)" FC="$(FC)" - $(CODE_GENERATOR) --type=f90 $< $(CLASSNAME) -o $@ - -clean: - make -C src clean - $(RM) -f *.o *.pyc *.bck - $(RM) -f fractal_worker fractal_worker.f90 - $(RM) -f fractal_worker_sockets fractal_worker-sockets.f90 - $(RM) -f forsockets.mod - $(RM) -f amuse_worker_module.mod - $(RM) -f src/lib*.a - diff --git a/src/amuse/community/fractalcluster/interface.py b/src/amuse/community/fractalcluster/interface.py index 8f150d140b..4c2b62c20f 100644 --- a/src/amuse/community/fractalcluster/interface.py +++ b/src/amuse/community/fractalcluster/interface.py @@ -1,278 +1,9 @@ -import numpy -import os.path -from amuse.community import * -from amuse.datamodel import Particles -from amuse import datamodel -from amuse.units import nbody_system -from amuse.community.interface.common import CommonCodeInterface, CommonCode +from amuse.support.import_helper import load_code -class FractalClusterInterface(CodeInterface, LiteratureReferencesMixIn): - """ - makes fractal of nstar particles of dimension fdim, using ndiv - subunits forcing the number of cells if force=.true. - - reference: - .. [#] ADS:2004A&A...413..929G (Simon Goodwin & Ant Whitworth (2004, A&A, 413, 929)) - """ - - def __init__(self, **options): - CodeInterface.__init__(self, name_of_the_worker = self.name_of_the_worker(), **options) - LiteratureReferencesMixIn.__init__(self) - - def name_of_the_worker(self): - return 'fractal_worker' - - @legacy_function - def get_state(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['x','y','z','vx','vy','vz']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('nstar', dtype='i', direction=function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def generate_particles(): - function = LegacyFunctionSpecification() - function.result_type = 'i' - return function - - @legacy_function - def get_fractal_dimension(): - function = LegacyFunctionSpecification() - function.addParameter('fdim', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - @legacy_function - def set_fractal_dimension(): - function = LegacyFunctionSpecification() - function.addParameter('fdim', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_random_seed(): - function = LegacyFunctionSpecification() - function.addParameter('seed', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - @legacy_function - def set_random_seed(): - function = LegacyFunctionSpecification() - function.addParameter('seed', dtype='i', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_nstar(): - function = LegacyFunctionSpecification() - function.addParameter('nstar', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - @legacy_function - def set_nstar(): - function = LegacyFunctionSpecification() - function.addParameter('nstar', dtype='i', direction=function.IN) - function.result_type = 'i' - return function - - new_particle = None - - def delete_particle(self, index_of_the_particle): - return 0 - - @legacy_function - def get_number_of_particles_updated(): - """ - Return the number of particles added during the last generate_particles. - """ - function = LegacyFunctionSpecification() - function.addParameter('number_of_particles', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - - -class FractalCluster(CommonCode): - - def __init__(self, unit_converter=None, **options): - self.unit_converter = unit_converter - InCodeComponentImplementation.__init__(self, FractalClusterInterface(**options), **options) - - def initialize_code(self): - pass - - def cleanup_code(self): - pass - - def commit_parameters(self): - pass - - def recommit_parameters(self): - pass - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_nstar", - "set_nstar", - "number_of_particles", - "the number of particles to be generated in the model", - default_value = 0 - ) - - handler.add_method_parameter( - "get_fractal_dimension", - "set_fractal_dimension", - "fractal_dimension", - "the fractal dimension of the spatial particle distribution", - default_value = 1.6 - ) - - handler.add_method_parameter( - "get_random_seed", - "set_random_seed", - "random_seed", - "the initial seed to be used by the random number generator", - default_value = 1234321 - ) - - def define_methods(self, handler): - CommonCode.define_methods(self, handler) - handler.add_method("generate_particles", (), (handler.ERROR_CODE,)) - handler.add_method("get_number_of_particles_updated", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - - handler.add_method("get_state", (handler.INDEX,), - [nbody_system.length]*3 + [nbody_system.speed]*3 + [handler.ERROR_CODE] - ) - - handler.add_method("get_target_number_of_particles", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_target_number_of_particles", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) - - handler.add_method("get_fractal_dimension", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_fractal_dimension", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) - - handler.add_method("get_random_seed", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_random_seed", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) - - def define_converter(self, handler): - if not self.unit_converter is None: - handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) - - def define_particle_sets(self, handler): - handler.define_set('particles', 'index_of_the_particle') - handler.set_new('particles', 'new_particle') - handler.set_delete('particles', 'delete_particle') - handler.add_getter('particles', 'get_state') - - def define_state(self, handler): - CommonCode.define_state(self, handler) - handler.add_transition('INITIALIZED','EDIT','commit_parameters') - handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False) - handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') - - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') - - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') - handler.add_method('RUN', 'before_get_parameter') - handler.add_method('EDIT', 'before_get_parameter') - - handler.add_transition('EDIT', 'RUN', 'generate_particles', False) - handler.add_transition('RUN', 'EDIT', 'clear_particle_set') - handler.add_method('EDIT', 'get_number_of_particles_updated') - handler.add_method('RUN', 'get_number_of_particles_updated') - handler.add_method('RUN', 'get_state') - - def generate_particles(self): - result = self.overridden().generate_particles() - self.update_particle_set() - - def update_particle_set(self): - """ - update the particle set after changes in the code - - this implementation needs to move to the - amuse.datamodel.incode_storage module, as - it uses a lot of internal methods and info! - """ - number_of_updated_particles = self.get_number_of_particles_updated() - if number_of_updated_particles: - self.particles._private.attribute_storage._add_indices( - list(range(1, number_of_updated_particles+1)) - ) - - def clear_particle_set(self): - if len(self.particles): - self.particles.remove_particles(self.particles) - - - -class MakeFractalCluster(object): - - def __init__(self, N=None, convert_nbody=None, masses=None, do_scale=True, - random_seed=None, fractal_dimension=1.6, virial_ratio=0.5, verbose=False, match_N=True): - if masses is None: - if N is None: - raise exceptions.AmuseException("Either keyword argument 'N' (number of particles) or " - "'masses' (vector quantity with mass of each particle) is required.") - self.masses = numpy.ones(N) / N | nbody_system.mass - self.N = N - else: - if not N is None and len(masses) != N: - print("warning: provided mass array not equal to masses") - self.masses = masses / masses.sum() | nbody_system.mass - self.N = len(masses) - - self.convert_nbody=convert_nbody - self.do_scale=do_scale - self.random_seed=random_seed - self.fractal_dimension=fractal_dimension - self.virial_ratio=virial_ratio - self.verbose=verbose - self.match_N=match_N - - def new_model(self): - generator = FractalCluster(redirection=("none" if self.verbose else "null")) - generator.parameters.number_of_particles = self.N - generator.parameters.fractal_dimension = self.fractal_dimension - if self.random_seed is not None: - generator.parameters.random_seed = self.random_seed - generator.generate_particles() - if self.match_N: - while len(generator.particles) -#include -#endif -#include -#include -#include -#include -#include -#include "interface.h" -#include "worker_code.h" -//AMUSE STOPPING CONDITIONS -#include "stopcond.h" - -using namespace std; - -const bool debug = false; - -bool particles_initialized = false; -bool outfiles_opened = false; -bool global_quantities_of_system_up_to_date = false; -bool potential_energy_also_up_to_date = false; -bool density_up_to_date = false; -bool particle_map_up_to_date = false; -bool interpret_kicks_as_feedback = false; -bool interpret_heat_as_feedback = true; -long long particle_id_counter = 0; -long long dm_particles_in_buffer = 0; -long long sph_particles_in_buffer = 0; -long long index_of_highest_mapped_particle = 0; -map dm_states; -map sph_states; -map local_index_map; - -double redshift_begin_parameter = 20.0; -double redshift_max_parameter = 0.0; - -// general interface functions: - -void set_default_parameters(){ - // parameters that can be changed from AMUSE - All.TimeLimitCPU = 36000; - All.ComovingIntegrationOn = 0; - All.TypeOfTimestepCriterion = 0; -#ifdef PERIODIC - All.PeriodicBoundariesOn = 1; -#else - All.PeriodicBoundariesOn = 0; -#endif - All.Time = 0.0; - All.TimeBegin = 0.0; - All.TimeMax = 100.0; - All.Omega0 = 0; - All.OmegaLambda = 0; - All.OmegaBaryon = 0; - All.HubbleParam = 0.7; - All.BoxSize = 1.0; - All.TimeBetStatistics = 0.1; - All.ErrTolIntAccuracy = 0.025; - All.CourantFac = 0.15; - All.MaxSizeTimestep = 0.01; - All.MinSizeTimestep = 0.0; - All.ErrTolTheta = 0.5; - All.TypeOfOpeningCriterion = 1; - All.ErrTolForceAcc = 0.005; - All.TreeDomainUpdateFrequency = 0.05; - All.DesNumNgb = 50; - All.MaxNumNgbDeviation = 5.; - All.ArtBulkViscConst = 0.5; - All.ArtBulkViscBeta = 1.; - All.MinGasTemp = 0; - All.UnitLength_in_cm = 3.085678e21; - All.UnitMass_in_g = 1.989e43; - All.UnitVelocity_in_cm_per_s = 1e5; - All.UnitTime_in_s = All.UnitLength_in_cm / All.UnitVelocity_in_cm_per_s; - All.MinGasHsmlFractional = 0.0; - All.SofteningGas = 0.01; - All.SofteningHalo = 0.01; - All.SofteningGasMaxPhys = 0.0; - All.SofteningHaloMaxPhys = 0.0; - set_softenings(); - strcpy(All.OutputDir, "."); - strcpy(All.EnergyFile, "energy.txt"); - strcpy(All.InfoFile, "info.txt"); - strcpy(All.TimingsFile, "timings.txt"); - strcpy(All.CpuFile, "cpu.txt"); - - // parameters that are fixed for AMUSE: - All.PartAllocFactor = 1.5; // Memory allocation parameter - All.TreeAllocFactor = 0.8; // Memory allocation parameter - All.BufferSize = 25; // Memory allocation parameter - All.ResubmitOn = 0; // Keep this turned off! - All.OutputListOn = 0; // Keep this turned off! - All.GravityConstantInternal = 0; // Keep this turned off! - - // parameters that are unused for AMUSE: - strcpy(All.InitCondFile, ""); - strcpy(All.RestartFile, ""); - strcpy(All.SnapshotFileBase, ""); - strcpy(All.OutputListFilename, ""); - strcpy(All.ResubmitCommand, ""); - All.ICFormat = 1; - All.SnapFormat = 1; - All.TimeBetSnapshot = 100.0; - All.TimeOfFirstSnapshot = 100.0; - All.CpuTimeBetRestartFile = 36000.0; - All.NumFilesPerSnapshot = 1; - All.NumFilesWrittenInParallel = 1; - All.InitGasTemp = 0; - All.MaxRMSDisplacementFac = 0.2; // parameter for PM; PM is currently not supported -} - -int initialize_code(){ - double t0, t1; -#ifndef NOMPI - get_comm_world(&GADGET_WORLD); - MPI_Comm_rank(GADGET_WORLD, &ThisTask); - MPI_Comm_size(GADGET_WORLD, &NTask); -#else - ThisTask = 0; - NTask = 1; -#endif - for(PTask = 0; NTask > (1 << PTask); PTask++); - RestartFlag = All.TotNumPart = All.TotN_gas = 0; - All.CPU_TreeConstruction = All.CPU_TreeWalk = All.CPU_Gravity = All.CPU_Potential = All.CPU_Domain = - All.CPU_Snapshot = All.CPU_Total = All.CPU_CommSum = All.CPU_Imbalance = All.CPU_Hydro = - All.CPU_HydCompWalk = All.CPU_HydCommSumm = All.CPU_HydImbalance = - All.CPU_EnsureNgb = All.CPU_Predict = All.CPU_TimeLine = All.CPU_PM = All.CPU_Peano = 0; - CPUThisRun = 0; - t0 = second(); - if(ThisTask == 0){ - printf("\nThis is Gadget, version `%s'.\n", GADGETVERSION); - printf("\nRunning on %d processors.\n", NTask); - } - - t1 = second(); - CPUThisRun += timediff(t0, t1); - All.CPU_Total += timediff(t0, t1); - - //AMUSE STOPPING CONDITIONS SUPPORT - set_support_for_condition(NUMBER_OF_STEPS_DETECTION); - set_support_for_condition(DENSITY_LIMIT_DETECTION); - set_support_for_condition(INTERNAL_ENERGY_LIMIT_DETECTION); - mpi_setup_stopping_conditions(); - - set_default_parameters(); - return 0; -} - -int cleanup_code(){ - if (outfiles_opened) - close_outputfiles(); - if (particles_initialized){ - free_memory(); - ngb_treefree(); - force_treefree(); - } - return 0; -} - - -int check_parameters(){ -#ifndef NOMPI - MPI_Bcast(&All, sizeof(struct global_data_all_processes), MPI_BYTE, 0, GADGET_WORLD); -#endif - if (ThisTask){ - return 0; - } - if(sizeof(long long) != 8){ - printf("\nType `long long' is not 64 bit on this platform. Stopping.\n\n"); - return -4; - } - if(sizeof(int) != 4){ - printf("\nType `int' is not 32 bit on this platform. Stopping.\n\n"); - return -4; - } - if(sizeof(float) != 4){ - printf("\nType `float' is not 32 bit on this platform. Stopping.\n\n"); - return -4; - } - if(sizeof(double) != 8){ - printf("\nType `double' is not 64 bit on this platform. Stopping.\n\n"); - return -4; - } - if(All.NumFilesWrittenInParallel < 1){ - printf("NumFilesWrittenInParallel MUST be at least 1\n"); - return -4; - } - if(All.NumFilesWrittenInParallel > NTask){ - printf("NumFilesWrittenInParallel MUST be smaller than number of processors\n"); - return -4; - } -#ifdef PERIODIC - if(All.PeriodicBoundariesOn == 0){ - printf("Code was compiled with periodic boundary conditions switched on.\n"); - printf("You must set `PeriodicBoundariesOn=1', or recompile the code.\n"); - return -4; - } -#else - if(All.PeriodicBoundariesOn == 1){ - printf("Code was compiled with periodic boundary conditions switched off.\n"); - printf("You must set `PeriodicBoundariesOn=0', or recompile the code.\n"); - return -4; - } -#endif - if(All.TypeOfTimestepCriterion >= 1){ - printf("The specified timestep criterion\n"); - printf("is not valid\n"); - return -4; - } -#if defined(LONG_X) || defined(LONG_Y) || defined(LONG_Z) -#ifndef NOGRAVITY - printf("Code was compiled with LONG_X/Y/Z, but not with NOGRAVITY.\n"); - printf("Stretched periodic boxes are not implemented for gravity yet.\n"); - return -4; -#endif -#endif - cout << "Parameters successfully committed." << endl << flush; - return 0; -} - -int commit_parameters(){ - allocate_commbuffers(); /* ... allocate buffer-memory for particle - exchange during force computation */ - set_units(); -#if defined(PERIODIC) && (!defined(PMGRID) || defined(FORCETEST)) - ewald_init(); -#endif - random_generator = gsl_rng_alloc(gsl_rng_ranlxd1); - gsl_rng_set(random_generator, 42); /* start-up seed */ -#ifdef PMGRID - long_range_init(); -#endif - set_random_numbers(); - - for(int i = 0; i < 6; i++) - All.MassTable[i] = 0; - - if(All.ComovingIntegrationOn){ - All.TimeBegin = 1.0 / (1.0 + redshift_begin_parameter); - All.TimeMax = 1.0 / (1.0 + redshift_max_parameter); - All.Timebase_interval = (log(All.TimeMax) - log(All.TimeBegin)) / TIMEBASE; - }else{ - All.Timebase_interval = (All.TimeMax - All.TimeBegin) / TIMEBASE; - } - All.Time = All.TimeBegin; - All.Ti_Current = 0; - All.NumCurrentTiStep = 0; /* setup some counters */ - All.SnapshotFileCount = 0; - All.TotNumOfForces = All.NumForcesSinceLastDomainDecomp = 0; - All.TimeLastStatistics = All.TimeBegin - All.TimeBetStatistics; -#ifdef PMGRID - All.PM_Ti_endstep = All.PM_Ti_begstep = 0; -#endif -#ifdef FLEXSTEPS - All.PresentMinStep = TIMEBASE; -#endif - All.Ti_nextoutput = -1; // find_next_outputtime(All.Ti_Current); - open_outputfiles(); - outfiles_opened = true; - return check_parameters(); -} -int recommit_parameters(){ - return check_parameters(); -} - -int commit_particles(){ - double t0, t1; - int i, j; -#ifndef ISOTHERM_EQS - double a3; -#endif - double a, a_inv; - if (All.ComovingIntegrationOn) { - a = All.Time; - a_inv = 1.0 / All.Time; - } else { - a = a_inv = 1; - } - - t0 = second(); - All.TotNumPart = dm_particles_in_buffer + sph_particles_in_buffer; - All.TotN_gas = sph_particles_in_buffer; - All.MaxPart = All.PartAllocFactor * (All.TotNumPart / NTask); /* sets the maximum number of particles that may */ - All.MaxPartSph = All.PartAllocFactor * (All.TotN_gas / NTask); /* sets the maximum number of particles that may - reside on a processor */ - NumPart = dm_states.size()+sph_states.size(); - N_gas = sph_states.size(); - allocate_memory(); - - // initialize sph particles - i = 0; - for (map::iterator state_iter = sph_states.begin(); - state_iter != sph_states.end(); state_iter++, i++){ - P[i].ID = (*state_iter).first; - P[i].Mass = (*state_iter).second.mass; - P[i].Pos[0] = (*state_iter).second.x * a_inv; - P[i].Pos[1] = (*state_iter).second.y * a_inv; - P[i].Pos[2] = (*state_iter).second.z * a_inv; - P[i].Vel[0] = (*state_iter).second.vx * a; - P[i].Vel[1] = (*state_iter).second.vy * a; - P[i].Vel[2] = (*state_iter).second.vz * a; - P[i].Type = 0; // SPH particles (dark matter particles have type 1) - SphP[i].Entropy = (*state_iter).second.u; - SphP[i].Density = -1; - SphP[i].Hsml = 0; -#ifdef MORRIS97VISC - SphP[i].Alpha = (*state_iter).second.alpha; - SphP[i].DAlphaDt = (*state_iter).second.dalphadt; -#endif - } - sph_states.clear(); - - // initialize dark matter particles - i = N_gas; - for (map::iterator state_iter = dm_states.begin(); - state_iter != dm_states.end(); state_iter++, i++){ - P[i].ID = (*state_iter).first; - P[i].Mass = (*state_iter).second.mass; - P[i].Pos[0] = (*state_iter).second.x * a_inv; - P[i].Pos[1] = (*state_iter).second.y * a_inv; - P[i].Pos[2] = (*state_iter).second.z * a_inv; - P[i].Vel[0] = (*state_iter).second.vx * a; - P[i].Vel[1] = (*state_iter).second.vy * a; - P[i].Vel[2] = (*state_iter).second.vz * a; - P[i].Type = 1; // dark matter particles (SPH particles have type 0) - } - dm_states.clear(); - All.TimeBegin += All.Ti_Current * All.Timebase_interval; - All.Ti_Current = 0; - All.Time = All.TimeBegin; - set_softenings(); - for(i = 0; i < NumPart; i++){ /* start-up initialization */ - for(j = 0; j < 3; j++) - P[i].GravAccel[j] = 0; -#ifdef PMGRID - for(j = 0; j < 3; j++) - P[i].GravPM[j] = 0; -#endif - P[i].Ti_endstep = 0; - P[i].Ti_begstep = 0; - P[i].OldAcc = 0; - P[i].GravCost = 1; - P[i].Potential = 0; - } -#ifdef FLEXSTEPS - for(i = 0; i < NumPart; i++) /* start-up initialization */ - P[i].FlexStepGrp = (int) (TIMEBASE * get_random_number(P[i].ID)); -#endif - for(i = 0; i < N_gas; i++){ /* initialize sph_properties */ - for(j = 0; j < 3; j++){ - SphP[i].VelPred[j] = P[i].Vel[j]; - SphP[i].HydroAccel[j] = 0; - } - SphP[i].DtEntropy = 0; -#ifdef TIMESTEP_UPDATE - SphP[i].FeedbackFlag = 0; - for(j = 0; j < 3; j++) - SphP[i].FeedAccel[j] = 0; -#endif - } - - if((All.MaxPart < 1000)){ - if (ThisTask == 0){ - cout << "Gadget takes "<< All.PartAllocFactor << " times the number of particles on a processors as a maximum."<first; -#ifndef NOMPI - MPI_Allreduce(MPI_IN_PLACE, &index_of_highest_mapped_particle, 1, MPI_LONG_LONG_INT, MPI_MAX, GADGET_WORLD); -#endif - ngb_treebuild(); /* will build tree */ - setup_smoothinglengths(); - TreeReconstructFlag = 1; - /* at this point, the entropy variable normally contains the - * internal energy, read in from the initial conditions file, unless the file - * explicitly signals that the initial conditions contain the entropy directly. - * Once the density has been computed, we can convert thermal energy to entropy. - */ -#ifndef ISOTHERM_EQS - if(All.ComovingIntegrationOn){a3 = All.Time * All.Time * All.Time;}else{a3 = 1;} - for(i = 0; i < N_gas; i++) - SphP[i].Entropy = GAMMA_MINUS1 * SphP[i].Entropy / pow(SphP[i].Density / a3, GAMMA_MINUS1); -#endif -#ifdef PMGRID - long_range_init_regionsize(); -#endif - if(All.ComovingIntegrationOn) - init_drift_table(); - t1 = second(); - CPUThisRun += timediff(t0, t1); - All.CPU_Total += timediff(t0, t1); - - particles_initialized = true; - if (ThisTask == 0){ - cout << flush; - } - return 0; -} - -void push_particle_data_on_state_vectors(){ - map::iterator iter; - int i; - double a_inv, a; -#ifndef ISOTHERM_EQS - double a3; - if(All.ComovingIntegrationOn){a3 = All.Time * All.Time * All.Time;}else{a3 = 1;} - if (!density_up_to_date){ - density(); - density_up_to_date = true; - } -#endif - if (All.ComovingIntegrationOn) { - a = All.Time; - a_inv = 1.0 / All.Time; - } else { - a = a_inv = 1; - } - for (iter = local_index_map.begin(); iter != local_index_map.end(); iter++){ - i = (*iter).second; - if (P[i].Type == 0){ - // store sph particle data - sph_state state; - state.mass = P[i].Mass; - state.x = P[i].Pos[0] * a; - state.y = P[i].Pos[1] * a; - state.z = P[i].Pos[2] * a; - state.vx = P[i].Vel[0] * a_inv; - state.vy = P[i].Vel[1] * a_inv; - state.vz = P[i].Vel[2] * a_inv; -#ifdef ISOTHERM_EQS - state.u = SphP[i].Entropy; -#else - state.u = SphP[i].Entropy * pow(SphP[i].Density / a3, GAMMA_MINUS1) / GAMMA_MINUS1; -#endif - -#ifdef MORRIS97VISC - state.alpha = SphP[i].Alpha; - state.dalphadt = SphP[i].DAlphaDt; -#endif - - - sph_states.insert(std::pair(P[i].ID, state)); - } else { - // store dark matter particle data - dynamics_state state; - state.mass = P[i].Mass; - state.x = P[i].Pos[0] * a; - state.y = P[i].Pos[1] * a; - state.z = P[i].Pos[2] * a; - state.vx = P[i].Vel[0] * a_inv; - state.vy = P[i].Vel[1] * a_inv; - state.vz = P[i].Vel[2] * a_inv; - dm_states.insert(std::pair(P[i].ID, state)); - } - } -} - -int recommit_particles(){ - if (particles_initialized){ - push_particle_data_on_state_vectors(); - free_memory(); - ngb_treefree(); - force_treefree(); - } - - return commit_particles(); -} - -bool drift_to_t_end(int ti_end){ - bool done; - int n, min, min_glob, flag, *temp; - double timeold; - double t0, t1; - t0 = second(); - timeold = All.Time; - for(n = 1, min = P[0].Ti_endstep; n < NumPart; n++){ - if(min > P[n].Ti_endstep){ - min = P[n].Ti_endstep; - } - } -#ifndef NOMPI - MPI_Allreduce(&min, &min_glob, 1, MPI_INT, MPI_MIN, GADGET_WORLD); -#else - min_glob = min; -#endif - /* We check whether this is a full step where all particles are synchronized */ - flag = 1; - for(n = 0; n < NumPart; n++) - if(P[n].Ti_endstep > min_glob) - flag = 0; -#ifndef NOMPI - MPI_Allreduce(&flag, &Flag_FullStep, 1, MPI_INT, MPI_MIN, GADGET_WORLD); -#else - Flag_FullStep = flag; -#endif -#ifdef PMGRID - if(min_glob >= All.PM_Ti_endstep){ - min_glob = All.PM_Ti_endstep; - Flag_FullStep = 1; - } -#endif - /* Determine 'NumForceUpdate', i.e. the number of particles on this processor that are going to be active */ - for(n = 0, NumForceUpdate = 0; n < NumPart; n++){ - if(P[n].Ti_endstep == min_glob) -#ifdef SELECTIVE_NO_GRAVITY - if(!((1 << P[n].Type) & (SELECTIVE_NO_GRAVITY))) -#endif - NumForceUpdate++; - } - /* note: NumForcesSinceLastDomainDecomp has type "long long" */ - temp = (int*) malloc(NTask * sizeof(int)); - -#ifndef NOMPI - MPI_Allgather(&NumForceUpdate, 1, MPI_INT, temp, 1, MPI_INT, GADGET_WORLD); -#else - temp[0] = NumForceUpdate; -#endif - for(n = 0; n < NTask; n++) - All.NumForcesSinceLastDomainDecomp += temp[n]; - free(temp); - t1 = second(); - All.CPU_Predict += timediff(t0, t1); - if (min_glob >= ti_end){ - min_glob = ti_end; - done = true; - } else { - done = false; - } - move_particles(All.Ti_Current, min_glob); - All.Ti_Current = min_glob; - if(All.ComovingIntegrationOn) - All.Time = All.TimeBegin * exp(All.Ti_Current * All.Timebase_interval); - else - All.Time = All.TimeBegin + All.Ti_Current * All.Timebase_interval; - All.TimeStep = All.Time - timeold; - return done; -} - -bool check_density_stopping_condition(){ - int stopping_condition_is_set; - double minimum_density_parameter, maximum_density_parameter; - get_stopping_condition_minimum_density_parameter(&minimum_density_parameter); - get_stopping_condition_maximum_density_parameter(&maximum_density_parameter); - for (int i=0; i maximum_density_parameter)) { - int stopping_index = next_index_for_stopping_condition(); - if (stopping_index >= 0) { - cout << "set_stopping_condition_info returned: " << - set_stopping_condition_info(stopping_index, DENSITY_LIMIT_DETECTION) << endl; - cout << "set_stopping_condition_particle_index returned: " << - set_stopping_condition_particle_index(stopping_index, 0, P[i].ID) << endl; - } - } - } - - mpi_collect_stopping_conditions(); - is_stopping_condition_set(DENSITY_LIMIT_DETECTION, &stopping_condition_is_set); - return stopping_condition_is_set; -} -bool check_internal_energy_stopping_condition(){ - int stopping_condition_is_set; - double internal_energy; - double minimum_internal_energy_parameter, maximum_internal_energy_parameter; - get_stopping_condition_minimum_internal_energy_parameter(&minimum_internal_energy_parameter); - get_stopping_condition_maximum_internal_energy_parameter(&maximum_internal_energy_parameter); - -#ifndef ISOTHERM_EQS - double a3; - if(All.ComovingIntegrationOn){a3 = All.Time * All.Time * All.Time;}else{a3 = 1;} -#endif - - for (int i=0; i maximum_internal_energy_parameter)) { - int stopping_index = next_index_for_stopping_condition(); - if (stopping_index > 0) { - cout << "set_stopping_condition_info returned: " << - set_stopping_condition_info(stopping_index, INTERNAL_ENERGY_LIMIT_DETECTION) << endl; - cout << "set_stopping_condition_particle_index returned: " << - set_stopping_condition_particle_index(stopping_index, 0, P[i].ID) << endl; - } - } - } - - mpi_collect_stopping_conditions(); - is_stopping_condition_set(INTERNAL_ENERGY_LIMIT_DETECTION, &stopping_condition_is_set); - return stopping_condition_is_set; -} - - -int evolve_model_generic(double t_end){ - bool done; - double t0, t1; - int Ti_end, stopflag = 0; - // AMUSE STOPPING CONDITIONS - int is_number_of_steps_detection_enabled; - int is_density_limit_detection_enabled; - int is_internal_energy_limit_detection_enabled; - int max_number_of_steps; - int number_of_steps_innerloop = 0; - - reset_stopping_conditions(); - is_stopping_condition_enabled(NUMBER_OF_STEPS_DETECTION, - &is_number_of_steps_detection_enabled); - is_stopping_condition_enabled(DENSITY_LIMIT_DETECTION, - &is_density_limit_detection_enabled); - is_stopping_condition_enabled(INTERNAL_ENERGY_LIMIT_DETECTION, - &is_internal_energy_limit_detection_enabled); - get_stopping_condition_number_of_steps_parameter(&max_number_of_steps); - - // ....... - - if (t_end > All.TimeMax) - return -7; - ZeroTimestepEncountered = 0; - if(All.ComovingIntegrationOn){ - Ti_end = log(t_end / All.TimeBegin) / All.Timebase_interval; - } else { - Ti_end = (t_end - All.TimeBegin) / All.Timebase_interval; - } - if (Ti_end >= All.Ti_Current){ - global_quantities_of_system_up_to_date = density_up_to_date = false; - done = drift_to_t_end(Ti_end); /* find next synchronization point and drift particles to MIN(this time, t_end). */ - while (!done && All.Ti_Current < TIMEBASE && All.Time <= All.TimeMax) { - t0 = second(); - every_timestep_stuff(); /* write some info to log-files */ - domain_Decomposition(); /* do domain decomposition if needed */ - particle_map_up_to_date = false; - compute_accelerations(0); /* compute accelerations for - * the particles that are to be advanced */ - - // AMUSE stopping conditions: density and internal energy check - // After compute_accelerations(), SPH particle densities are up to date - if (is_density_limit_detection_enabled) { - if (check_density_stopping_condition()) break; - } - if (is_internal_energy_limit_detection_enabled) { - if (check_internal_energy_stopping_condition()) break; - } - - /* check whether we want a full energy statistics */ - if((All.Time - All.TimeLastStatistics) >= All.TimeBetStatistics) { -#ifdef COMPUTE_POTENTIAL_ENERGY - compute_potential(); -#endif - energy_statistics(); /* compute and output energy statistics */ - All.TimeLastStatistics += All.TimeBetStatistics; - } - advance_and_find_timesteps(); /* 'kick' active particles in - * momentum space and compute new - * timesteps for them */ - done = drift_to_t_end(Ti_end); - All.NumCurrentTiStep++; - - /* Check whether we need to interrupt the run */ -#ifndef NOMPI - MPI_Allreduce(MPI_IN_PLACE, &ZeroTimestepEncountered, 1, MPI_INT, MPI_MAX, GADGET_WORLD); -#endif - if(ZeroTimestepEncountered) - return -8; - - if(ThisTask == 0) { - /* are we running out of CPU-time ? If yes, interrupt run. */ - if(CPUThisRun > 0.85 * All.TimeLimitCPU){ - printf("reaching time-limit. stopping.\n"); - stopflag = 2; - } - } -#ifndef NOMPI - MPI_Bcast(&stopflag, 1, MPI_INT, 0, GADGET_WORLD); -#endif - if(stopflag) - return -5; - - t1 = second(); - All.CPU_Total += timediff(t0, t1); - CPUThisRun += timediff(t0, t1); - // - if(is_number_of_steps_detection_enabled) { - number_of_steps_innerloop++; - if(number_of_steps_innerloop > max_number_of_steps) { - int stopping_index = next_index_for_stopping_condition(); - set_stopping_condition_info(stopping_index, NUMBER_OF_STEPS_DETECTION); - } - } - if (set_conditions & enabled_conditions) { - break; - } - } - } else { - return -6; - } - if (ThisTask == 0) - cout << flush; - if (All.Ti_Current > TIMEBASE || All.Time > All.TimeMax) - return -7; - return 0; -} -int evolve_to_redshift(double redshift){ - if (!All.ComovingIntegrationOn) {return -9;} - return evolve_model_generic(1.0 / (1.0 + redshift)); -} -int evolve_model(double t_end){ - if (All.ComovingIntegrationOn) {return -9;} - return evolve_model_generic(t_end); -} - -int synchronize_model() { - return 0; -} - -int construct_tree_if_needed(void){ - double tstart, tend; - if (!particles_initialized) - return -1; - tstart = second(); - if (TreeReconstructFlag){ - if(ThisTask == 0) - printf("Tree construction.\n"); - force_treebuild(NumPart); - TreeReconstructFlag = 0; - if(ThisTask == 0) - printf("Tree construction done.\n"); - } - tend = second(); - All.CPU_TreeConstruction += timediff(tstart, tend); - return 0; -} - -int new_dm_particle(int *id, double mass, double x, double y, double z, double vx, double vy, double vz){ - particle_id_counter++; - if (ThisTask == 0) - *id = particle_id_counter; - - // Divide the particles equally over all Tasks, Gadget will redistribute them later. - if (ThisTask == (dm_particles_in_buffer % NTask)){ - dynamics_state state; - state.mass = mass; - state.x = x; - state.y = y; - state.z = z; - state.vx = vx; - state.vy = vy; - state.vz = vz; - dm_states.insert(std::pair(particle_id_counter, state)); - } - dm_particles_in_buffer++; - return 0; -} - -int new_sph_particle(int *id, double mass, double x, double y, double z, double vx, double vy, double vz, double u){ - particle_id_counter++; - if (ThisTask == 0) - *id = particle_id_counter; - - // Divide the sph particles equally over all Tasks, Gadget will redistribute them later. - if (ThisTask == (sph_particles_in_buffer % NTask)){ - sph_state state; - state.mass = mass; - state.x = x; - state.y = y; - state.z = z; - state.vx = vx; - state.vy = vy; - state.vz = vz; - state.u = u; -#ifdef MORRIS97VISC - state.alpha = All.ArtBulkViscConst; - state.dalphadt = 0; -#endif - sph_states.insert(std::pair(particle_id_counter, state)); - } - sph_particles_in_buffer++; - return 0; -} - -int delete_particle(int id){ - int found = 0; - map::iterator it; - map::iterator dyn_it; - map::iterator sph_it; - - if (!particle_map_up_to_date) - update_particle_map(); - - it = local_index_map.find(id); - if (it != local_index_map.end()){ - local_index_map.erase(it); - found = 1 + P[(*it).second].Type; // 1 for sph; 2 for dm - } -#ifndef NOMPI - MPI_Allreduce(MPI_IN_PLACE, &found, 1, MPI_INT, MPI_MAX, GADGET_WORLD); -#endif - if (found){ - if (found == 2) - dm_particles_in_buffer--; - else - sph_particles_in_buffer--; - return 0; - } - - dyn_it = dm_states.find(id); - if (dyn_it != dm_states.end()){ - dm_states.erase(dyn_it); - found = 1; - } -#ifndef NOMPI - MPI_Allreduce(MPI_IN_PLACE, &found, 1, MPI_INT, MPI_LOR, GADGET_WORLD); -#endif - if (found){ - dm_particles_in_buffer--; - return 0; - } - - sph_it = sph_states.find(id); - if (sph_it != sph_states.end()){ - sph_states.erase(sph_it); - found = 1; - } -#ifndef NOMPI - MPI_Allreduce(MPI_IN_PLACE, &found, 1, MPI_INT, MPI_LOR, GADGET_WORLD); -#endif - if (found){ - sph_particles_in_buffer--; - return 0; - } - return -3; -} - -// parameter getters/setters: - -int get_time_step(double *timestep){ - if (ThisTask) {return 0;} - *timestep = All.TimeStep; - return 0; -} -int set_time_step(double timestep){ - if (ThisTask) {return 0;} - return -2; -} -int get_epsilon(double *epsilon){ - if (ThisTask) {return 0;} - set_softenings(); - *epsilon = All.SofteningTable[1]; - return 0; -} -int set_epsilon(double epsilon){ - All.SofteningHalo = epsilon; - set_softenings(); - return 0; -} -int get_eps2(double *epsilon_squared){ - if (ThisTask) {return 0;} - return -2; -} -int set_eps2(double epsilon_squared){ - if (ThisTask) {return 0;} - return -2; -} -int get_epsgas(double *gas_epsilon){ - if (ThisTask) {return 0;} - set_softenings(); - *gas_epsilon = All.SofteningTable[0]; - return 0; -} -int set_epsgas(double gas_epsilon){ - All.SofteningGas = gas_epsilon; - set_softenings(); - return 0; -} -int get_unit_mass(double *code_mass_unit){ - if (ThisTask) {return 0;} - *code_mass_unit = All.UnitMass_in_g; - return 0; -} -int set_unit_mass(double code_mass_unit){ - All.UnitMass_in_g = code_mass_unit; - return 0; -} -int get_unit_length(double *code_length_unit){ - if (ThisTask) {return 0;} - *code_length_unit = All.UnitLength_in_cm; - return 0; -} -int set_unit_length(double code_length_unit){ - All.UnitLength_in_cm = code_length_unit; - return 0; -} -int get_unit_time(double *code_time_unit){ - if (ThisTask) {return 0;} - *code_time_unit = All.UnitTime_in_s; - return 0; -} -int set_unit_time(double code_time_unit){ - All.UnitVelocity_in_cm_per_s = All.UnitLength_in_cm / code_time_unit; - All.UnitTime_in_s = code_time_unit; - return 0; -} -int get_unit_velocity(double *code_velocity_unit){ - if (ThisTask) {return 0;} - *code_velocity_unit = All.UnitVelocity_in_cm_per_s; - return 0; -} -int set_unit_velocity(double code_velocity_unit){ - All.UnitVelocity_in_cm_per_s = code_velocity_unit; - All.UnitTime_in_s = All.UnitLength_in_cm / All.UnitVelocity_in_cm_per_s; - return 0; -} - -int get_gadget_output_directory(char **output_directory){ - if (ThisTask) {return 0;} - *output_directory = All.OutputDir; - return 0; -} -int get_viscosity_switch(char **viscosity_switch){ - if (ThisTask) {return 0;} -#ifdef MONAGHAN83VISC - *viscosity_switch = (char *)"Monaghan & Gingold 1983"; -#elif MORRIS97VISC - *viscosity_switch = (char *)"Morris & Monaghan 1997"; -#else - *viscosity_switch = (char *)"standard Gadget2 viscosity"; -#endif - return 0; -} - -int set_gadget_output_directory(char *output_directory){ - int length = strlen(output_directory); - if (length >= MAXLEN_FILENAME) - return -1; - strcpy(All.OutputDir, output_directory); -#ifdef WIN32 - const char sep[] = "\\"; -#else - const char sep[] = "/"; -#endif // WIN32 - if(length > 0) { - if(All.OutputDir[length - 1] != sep[0]) { - strcat(All.OutputDir, sep); - } - } - return 0; -} -int get_nogravity(int *no_gravity_flag){ - if (ThisTask) {return 0;} -#ifdef NOGRAVITY - *no_gravity_flag = 1; -#else - *no_gravity_flag = 0; -#endif - return 0; -} -int get_gdgop(int *gadget_cell_opening_flag){ - if (ThisTask) {return 0;} - *gadget_cell_opening_flag = All.TypeOfOpeningCriterion; - return 0; -} -int set_gdgop(int gadget_cell_opening_flag){ - All.TypeOfOpeningCriterion = gadget_cell_opening_flag; - return 0; -} -int get_isotherm(int *isothermal_flag){ - if (ThisTask) {return 0;} -#ifdef ISOTHERM_EQS - *isothermal_flag = 1; -#else - *isothermal_flag = 0; -#endif - return 0; -} -int get_eps_is_h(int *eps_is_h_flag){ - if (ThisTask) {return 0;} -#if defined(ADAPTIVE_GRAVSOFT_FORGAS) && defined(UNEQUALSOFTENINGS) - *eps_is_h_flag = 1; -#else - *eps_is_h_flag = 0; -#endif - return 0; -} -int get_nsmooth(int *nsmooth){ - if (ThisTask) {return 0;} - *nsmooth = All.DesNumNgb; - return 0; -} -int set_nsmooth(int nsmooth){ - All.DesNumNgb = nsmooth; - return 0; -} -int get_bh_tol(double *opening_angle){ - if (ThisTask) {return 0;} - *opening_angle = All.ErrTolTheta; - return 0; -} -int set_bh_tol(double opening_angle){ - All.ErrTolTheta = opening_angle; - return 0; -} -int get_gdgtol(double *gadget_cell_opening_constant){ - if (ThisTask) {return 0;} - *gadget_cell_opening_constant = All.ErrTolForceAcc; - return 0; -} -int set_gdgtol(double gadget_cell_opening_constant){ - All.ErrTolForceAcc = gadget_cell_opening_constant; - return 0; -} -int get_gamma(double *gamma){ - if (ThisTask) {return 0;} - *gamma = GAMMA; - return 0; -} -int get_alpha(double *artificial_viscosity_alpha){ - if (ThisTask) {return 0;} - *artificial_viscosity_alpha = All.ArtBulkViscConst; - return 0; -} -int set_alpha(double artificial_viscosity_alpha){ - All.ArtBulkViscConst = artificial_viscosity_alpha; - return 0; -} -int get_beta(double *artificial_viscosity_beta){ - if (ThisTask) {return 0;} - *artificial_viscosity_beta = All.ArtBulkViscBeta; - return 0; -} -int set_beta(double artificial_viscosity_beta){ - All.ArtBulkViscBeta = artificial_viscosity_beta; - return 0; -} -int get_courant(double *courant){ - if (ThisTask) {return 0;} - *courant = All.CourantFac*2.0; - return 0; -} -int set_courant(double courant){ - All.CourantFac = courant/2.0; - return 0; -} -int get_nsmtol(double *n_neighbour_tol){ - if (ThisTask) {return 0;} - *n_neighbour_tol = All.MaxNumNgbDeviation / All.DesNumNgb; - return 0; -} -int set_nsmtol(double n_neighbour_tol){ - All.MaxNumNgbDeviation = n_neighbour_tol * All.DesNumNgb; - return 0; -} - -int get_energy_file(char **energy_file){ - if (ThisTask) {return 0;} - *energy_file = All.EnergyFile; - return 0; -} -int set_energy_file(char *energy_file){ - strcpy(All.EnergyFile, energy_file); - return 0; -} -int get_info_file(char **info_file){ - if (ThisTask) {return 0;} - *info_file = All.InfoFile; - return 0; -} -int set_info_file(char *info_file){ - strcpy(All.InfoFile, info_file); - return 0; -} -int get_timings_file(char **timings_file){ - if (ThisTask) {return 0;} - *timings_file = All.TimingsFile; - return 0; -} -int set_timings_file(char *timings_file){ - strcpy(All.TimingsFile, timings_file); - return 0; -} -int get_cpu_file(char **cpu_file){ - if (ThisTask) {return 0;} - *cpu_file = All.CpuFile; - return 0; -} -int set_cpu_file(char *cpu_file){ - strcpy(All.CpuFile, cpu_file); - return 0; -} - -int get_time_limit_cpu(double *time_limit_cpu){ - if (ThisTask) {return 0;} - *time_limit_cpu = All.TimeLimitCPU; - return 0; -} -int set_time_limit_cpu(double time_limit_cpu){ - All.TimeLimitCPU = time_limit_cpu; - return 0; -} -int get_comoving_integration_flag(bool *comoving_integration_flag){ - if (ThisTask) {return 0;} - *comoving_integration_flag = All.ComovingIntegrationOn; - return 0; -} -int set_comoving_integration_flag(bool comoving_integration_flag){ - All.ComovingIntegrationOn = comoving_integration_flag; - return 0; -} -int get_type_of_timestep_criterion(int *type_of_timestep_criterion){ - if (ThisTask) {return 0;} - *type_of_timestep_criterion = All.TypeOfTimestepCriterion; - return 0; -} -int set_type_of_timestep_criterion(int type_of_timestep_criterion){ - All.TypeOfTimestepCriterion = type_of_timestep_criterion; - return 0; -} -int get_begin_time(double *time_begin){ - if (ThisTask) {return 0;} - *time_begin = All.TimeBegin; - return 0; -} -int set_begin_time(double time_begin){ - All.TimeBegin = time_begin; - return 0; -} -int get_time_max(double *time_max){ - if (ThisTask) {return 0;} - *time_max = All.TimeMax; - return 0; -} -int set_time_max(double time_max){ - All.TimeMax = time_max; - return 0; -} -int get_redshift_begin(double *redshift_begin){ - if (ThisTask) {return 0;} - *redshift_begin = redshift_begin_parameter; - return 0; -} -int set_redshift_begin(double redshift_begin){ - redshift_begin_parameter = redshift_begin; - return 0; -} -int get_redshift_max(double *redshift_max){ - if (ThisTask) {return 0;} - *redshift_max = redshift_max_parameter; - return 0; -} -int set_redshift_max(double redshift_max){ - redshift_max_parameter = redshift_max; - return 0; -} -int get_omega_zero(double *omega_zero){ - if (ThisTask) {return 0;} - *omega_zero = All.Omega0; - return 0; -} -int set_omega_zero(double omega_zero){ - All.Omega0 = omega_zero; - return 0; -} -int get_omega_lambda(double *omega_lambda){ - if (ThisTask) {return 0;} - *omega_lambda = All.OmegaLambda; - return 0; -} -int set_omega_lambda(double omega_lambda){ - All.OmegaLambda = omega_lambda; - return 0; -} -int get_omega_baryon(double *omega_baryon){ - if (ThisTask) {return 0;} - *omega_baryon = All.OmegaBaryon; - return 0; -} -int set_omega_baryon(double omega_baryon){ - All.OmegaBaryon = omega_baryon; - return 0; -} -int get_hubble_param(double *hubble_param){ - if (ThisTask) {return 0;} - *hubble_param = All.HubbleParam; - return 0; -} -int set_hubble_param(double hubble_param){ - All.HubbleParam = hubble_param; - return 0; -} -int get_err_tol_int_accuracy(double *err_tol_int_accuracy){ - if (ThisTask) {return 0;} - *err_tol_int_accuracy = All.ErrTolIntAccuracy; - return 0; -} -int set_err_tol_int_accuracy(double err_tol_int_accuracy){ - All.ErrTolIntAccuracy = err_tol_int_accuracy; - return 0; -} -int get_max_size_timestep(double *max_size_timestep){ - if (ThisTask) {return 0;} - *max_size_timestep = All.MaxSizeTimestep; - return 0; -} -int set_max_size_timestep(double max_size_timestep){ - All.MaxSizeTimestep = max_size_timestep; - return 0; -} -int get_min_size_timestep(double *min_size_timestep){ - if (ThisTask) {return 0;} - *min_size_timestep = All.MinSizeTimestep; - return 0; -} -int set_min_size_timestep(double min_size_timestep){ - All.MinSizeTimestep = min_size_timestep; - return 0; -} -int get_tree_domain_update_frequency(double *tree_domain_update_frequency){ - if (ThisTask) {return 0;} - *tree_domain_update_frequency = All.TreeDomainUpdateFrequency; - return 0; -} -int set_tree_domain_update_frequency(double tree_domain_update_frequency){ - All.TreeDomainUpdateFrequency = tree_domain_update_frequency; - return 0; -} -int get_time_between_statistics(double *time_between_statistics){ - if (ThisTask) {return 0;} - *time_between_statistics = All.TimeBetStatistics; - return 0; -} -int set_time_between_statistics(double time_between_statistics){ - All.TimeBetStatistics = time_between_statistics; - return 0; -} -int get_min_gas_temp(double *min_gas_temp){ - if (ThisTask) {return 0;} - *min_gas_temp = All.MinGasTemp; - return 0; -} -int set_min_gas_temp(double min_gas_temp){ - All.MinGasTemp = min_gas_temp; - return 0; -} -int get_min_gas_hsmooth_fractional(double *min_gas_hsmooth_fractional){ - if (ThisTask) {return 0;} - *min_gas_hsmooth_fractional = All.MinGasHsmlFractional; - return 0; -} -int set_min_gas_hsmooth_fractional(double min_gas_hsmooth_fractional){ - All.MinGasHsmlFractional = min_gas_hsmooth_fractional; - return 0; -} -int get_softening_gas_max_phys(double *softening_gas_max_phys){ - if (ThisTask) {return 0;} - *softening_gas_max_phys = All.SofteningGasMaxPhys; - return 0; -} -int set_softening_gas_max_phys(double softening_gas_max_phys){ - All.SofteningGasMaxPhys = softening_gas_max_phys; - return 0; -} -int get_softening_halo_max_phys(double *softening_halo_max_phys){ - if (ThisTask) {return 0;} - *softening_halo_max_phys = All.SofteningHaloMaxPhys; - return 0; -} -int set_softening_halo_max_phys(double softening_halo_max_phys){ - All.SofteningHaloMaxPhys = softening_halo_max_phys; - return 0; -} - -int get_box_size(double *value) -{ - if (ThisTask) {return 0;} - *value = All.BoxSize; - return 0; -} - -int set_box_size(double value) -{ - All.BoxSize = value; - return 0; -} - -int get_periodic_boundaries_flag(bool *value) -{ - if (ThisTask) {return 0;} - *value = All.PeriodicBoundariesOn; - return 0; -} - -int set_periodic_boundaries_flag(bool value) -{ -// All.PeriodicBoundariesOn is read only because compile time determined - return -2; -} - -int get_interpret_kicks_as_feedback_flag(bool *value) -{ - if (ThisTask) {return 0;} - *value = interpret_kicks_as_feedback; - return 0; -} - -int set_interpret_kicks_as_feedback_flag(bool value) -{ - interpret_kicks_as_feedback = value; - return 0; -} - -int get_interpret_heat_as_feedback_flag(bool *value) { - if (ThisTask) {return 0;} - *value = interpret_heat_as_feedback; - return 0; -} - -int set_interpret_heat_as_feedback_flag(bool value) { - interpret_heat_as_feedback = value; - return 0; -} - - -// particle property getters/setters: (will only work after commit_particles() is called) - -int get_index_of_first_particle(int *index_of_the_particle){ - return get_index_of_next_particle(0, index_of_the_particle); -} -int get_index_of_next_particle(int index_of_the_particle, int *index_of_the_next_particle){ - map::iterator it; - long long next_local_index = 0; - - if (!particles_initialized) - return -1; - - if (!particle_map_up_to_date) - update_particle_map(); - - it = local_index_map.lower_bound(index_of_the_particle + 1); - if (it != local_index_map.end()){ - next_local_index = (*it).first; - } else { - next_local_index = index_of_highest_mapped_particle + 1; - } - - if (ThisTask == 0){ -#ifndef NOMPI - MPI_Reduce(MPI_IN_PLACE, &next_local_index, 1, MPI_LONG_LONG_INT, MPI_MIN, 0, GADGET_WORLD); -#endif - *index_of_the_next_particle = next_local_index; - if (next_local_index < index_of_highest_mapped_particle){ - return 0; - } else if (next_local_index == index_of_highest_mapped_particle){ - return 1; - } else { - return -1; - } - } else { -#ifndef NOMPI - MPI_Reduce(&next_local_index, NULL, 1, MPI_LONG_LONG_INT, MPI_MIN, 0, GADGET_WORLD); -#endif - return 0; - } -} - -void update_particle_map(void){ - local_index_map.clear(); - for(int i = 0; i < NumPart; i++) { - local_index_map.insert(std::pair(P[i].ID, i)); - } - particle_map_up_to_date = true; -} -int found_particle(int index_of_the_particle, int *local_index){ - map::iterator it; - - if (!particles_initialized || index_of_the_particle < 1 || - index_of_the_particle > index_of_highest_mapped_particle) - return 0; - - if (!particle_map_up_to_date) - update_particle_map(); - - it = local_index_map.find(index_of_the_particle); - if (it != local_index_map.end()){ - *local_index = (*it).second; - return 1; - } - return 0; -} - -int get_mass(int *index, double *mass, int length){ - int errors = 0; - double *buffer = new double[length]; - int *count = new int[length]; - int local_index; - - for (int i = 0; i < length; i++){ - if(found_particle(index[i], &local_index)){ - count[i] = 1; - buffer[i] = P[local_index].Mass; - } else { - count[i] = 0; - buffer[i] = 0; - } - } - if(ThisTask) { -#ifndef NOMPI - MPI_Reduce(buffer, NULL, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - } else { -#ifndef NOMPI - MPI_Reduce(MPI_IN_PLACE, buffer, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - for (int i = 0; i < length; i++){ - if (count[i] != 1){ - errors++; - mass[i] = 0; - } else - mass[i] = buffer[i]; - } - } - delete[] buffer; - delete[] count; - if (errors){ - cout << "Number of particles not found: " << errors << endl; - return -3; - } - return 0; -} - -int check_counts_and_free(int *count, int length){ - int errors = 0; - if(ThisTask) { -#ifndef NOMPI - MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - delete[] count; - return 0; - } else { -#ifndef NOMPI - MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - for (int i = 0; i < length; i++){ - if (count[i] != 1) - errors++; - } - } - delete[] count; - if (errors){ - cout << "Number of particles not found: " << errors << endl; - return -3; - } - return 0; -} - -int set_mass(int *index, double *mass, int length){ - int *count = new int[length]; - int local_index; - - for (int i = 0; i < length; i++){ - if(found_particle(index[i], &local_index)){ - P[local_index].Mass = mass[i]; - count[i] = 1; - } else count[i] = 0; - } - global_quantities_of_system_up_to_date = false; - return check_counts_and_free(count, length); -} - -int get_radius(int index, double *radius){ - return -2; -} - -int set_radius(int index, double radius){ - return -2; -} - -int get_position_comoving(int *index, double *x, double *y, double *z, int length){ - int errors = 0; - double *buffer = new double[length*3]; - int *count = new int[length]; - int local_index; -#ifdef PERIODIC - double boxSize = All.BoxSize; - double boxHalf = 0.5 * All.BoxSize; -#endif - - for (int i = 0; i < length; i++){ - if(found_particle(index[i], &local_index)){ - count[i] = 1; - buffer[i] = P[local_index].Pos[0]; - buffer[i+length] = P[local_index].Pos[1]; - buffer[i+2*length] = P[local_index].Pos[2]; - } else { - count[i] = 0; - buffer[i] = 0; - buffer[i+length] = 0; - buffer[i+2*length] = 0; - } - } - if(ThisTask) { -#ifndef NOMPI - MPI_Reduce(buffer, NULL, length*3, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - } else { -#ifndef NOMPI - MPI_Reduce(MPI_IN_PLACE, buffer, length*3, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif -#ifdef PERIODIC - for (int i = 0; i < 3*length; i++){ - if (buffer[i] > boxHalf){ - buffer[i] -= boxSize; - } - } -#endif - for (int i = 0; i < length; i++){ - if (count[i] != 1){ - errors++; - x[i] = 0; - y[i] = 0; - z[i] = 0; - } else { - x[i] = buffer[i]; - y[i] = buffer[i+length]; - z[i] = buffer[i+2*length]; - } - } - } - delete[] buffer; - delete[] count; - if (errors){ - cout << "Number of particles not found: " << errors << endl; - return -3; - } - return 0; -} -int get_position(int *index, double *x, double *y, double *z, int length){ - int result = get_position_comoving(index, x, y, z, length); - if(ThisTask == 0 && All.ComovingIntegrationOn) { - for (int i = 0; i < length; i++){ - x[i] *= All.Time; - y[i] *= All.Time; - z[i] *= All.Time; - } - } - return result; -} - -int set_position_comoving(int *index, double *x, double *y, double *z, int length){ - int *count = new int[length]; - int local_index; - - for (int i = 0; i < length; i++){ - if(found_particle(index[i], &local_index)){ - P[local_index].Pos[0] = x[i]; - P[local_index].Pos[1] = y[i]; - P[local_index].Pos[2] = z[i]; - count[i] = 1; - } else count[i] = 0; - } - global_quantities_of_system_up_to_date = false; - return check_counts_and_free(count, length); -} -int set_position(int *index, double *x, double *y, double *z, int length){ - if(All.ComovingIntegrationOn) { - double a_inv = 1.0 / All.Time; - for (int i = 0; i < length; i++){ - x[i] *= a_inv; - y[i] *= a_inv; - z[i] *= a_inv; - } - } - return set_position_comoving(index, x, y, z, length); -} - -int get_velocity_gadget_u(int *index, double *vx, double *vy, double *vz, int length){ - int errors = 0; - double *buffer = new double[length*3]; - int *count = new int[length]; - int local_index; - - for (int i = 0; i < length; i++){ - if(found_particle(index[i], &local_index)){ - count[i] = 1; - buffer[i] = P[local_index].Vel[0]; - buffer[i+length] = P[local_index].Vel[1]; - buffer[i+2*length] = P[local_index].Vel[2]; - } else { - count[i] = 0; - buffer[i] = 0; - buffer[i+length] = 0; - buffer[i+2*length] = 0; - } - } - if(ThisTask) { -#ifndef NOMPI - MPI_Reduce(buffer, NULL, length*3, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - } else { -#ifndef NOMPI - MPI_Reduce(MPI_IN_PLACE, buffer, length*3, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - for (int i = 0; i < length; i++){ - if (count[i] != 1){ - errors++; - vx[i] = 0; - vy[i] = 0; - vz[i] = 0; - } else { - vx[i] = buffer[i]; - vy[i] = buffer[i+length]; - vz[i] = buffer[i+2*length]; - } - } - } - delete[] buffer; - delete[] count; - if (errors){ - cout << "Number of particles not found: " << errors << endl; - return -3; - } - return 0; -} -int get_velocity_comoving(int *index, double *vx, double *vy, double *vz, int length){ - int result = get_velocity_gadget_u(index, vx, vy, vz, length); - if(ThisTask == 0 && All.ComovingIntegrationOn) { - double a2_inv = 1.0 / (All.Time * All.Time); - for (int i = 0; i < length; i++){ - vx[i] *= a2_inv; - vy[i] *= a2_inv; - vz[i] *= a2_inv; - } - } - return result; -} -int get_velocity(int *index, double *vx, double *vy, double *vz, int length){ - int result = get_velocity_gadget_u(index, vx, vy, vz, length); - if(ThisTask == 0 && All.ComovingIntegrationOn) { - double a_inv = 1.0 / All.Time; - for (int i = 0; i < length; i++){ - vx[i] *= a_inv; - vy[i] *= a_inv; - vz[i] *= a_inv; - } - } - return result; -} - -int set_velocity_gadget_u(int *index, double *vx, double *vy, double *vz, int length){ - int *count = new int[length]; - int local_index; - - for (int i = 0; i < length; i++){ - if(found_particle(index[i], &local_index)){ - P[local_index].Vel[0] = vx[i]; - P[local_index].Vel[1] = vy[i]; - P[local_index].Vel[2] = vz[i]; - count[i] = 1; -#ifdef TIMESTEP_UPDATE - if (interpret_kicks_as_feedback && P[local_index].Type == 0) { - SphP[local_index].FeedbackFlag = 2; - } -#endif -#ifdef TIMESTEP_LIMITER - if(interpret_kicks_as_feedback && P[local_index].Type == 0 && P[local_index].Ti_endstep != All.Ti_Current) { - make_it_active(local_index); - } -#endif - } else count[i] = 0; - } - global_quantities_of_system_up_to_date = false; - return check_counts_and_free(count, length); -} -int set_velocity_comoving(int *index, double *vx, double *vy, double *vz, int length){ - if(All.ComovingIntegrationOn) { - double a2 = All.Time * All.Time; - for (int i = 0; i < length; i++){ - vx[i] *= a2; - vy[i] *= a2; - vz[i] *= a2; - } - } - return set_velocity_gadget_u(index, vx, vy, vz, length); -} -int set_velocity(int *index, double *vx, double *vy, double *vz, int length){ - if(All.ComovingIntegrationOn) { - for (int i = 0; i < length; i++){ - vx[i] *= All.Time; - vy[i] *= All.Time; - vz[i] *= All.Time; - } - } - return set_velocity_gadget_u(index, vx, vy, vz, length); -} - -int get_state_gadget(int *index, double *mass, double *x, double *y, double *z, double *vx, double *vy, double *vz, int length) { - int errors = 0; - double *buffer = new double[length*7]; - int *count = new int[length]; - int local_index; -#ifdef PERIODIC - double boxSize = All.BoxSize; - double boxHalf = 0.5 * All.BoxSize; -#endif - - for (int i = 0; i < length; i++){ - if(found_particle(index[i], &local_index)){ - count[i] = 1; - buffer[i] = P[local_index].Mass; - buffer[i+length] = P[local_index].Pos[0]; - buffer[i+2*length] = P[local_index].Pos[1]; - buffer[i+3*length] = P[local_index].Pos[2]; - buffer[i+4*length] = P[local_index].Vel[0]; - buffer[i+5*length] = P[local_index].Vel[1]; - buffer[i+6*length] = P[local_index].Vel[2]; - } else { - count[i] = 0; - buffer[i] = 0; - buffer[i+length] = 0; - buffer[i+2*length] = 0; - buffer[i+3*length] = 0; - buffer[i+4*length] = 0; - buffer[i+5*length] = 0; - buffer[i+6*length] = 0; - } - } - if(ThisTask) { -#ifndef NOMPI - MPI_Reduce(buffer, NULL, length*7, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - } else { -#ifndef NOMPI - MPI_Reduce(MPI_IN_PLACE, buffer, length*7, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif -#ifdef PERIODIC - for (int i = length; i < 4*length; i++){ - if (buffer[i] > boxHalf){ - buffer[i] -= boxSize; - } - } -#endif - for (int i = 0; i < length; i++){ - if (count[i] != 1){ - errors++; - mass[i] = 0; - x[i] = 0; - y[i] = 0; - z[i] = 0; - vx[i] = 0; - vy[i] = 0; - vz[i] = 0; - } else { - mass[i] = buffer[i]; - x[i] = buffer[i+length]; - y[i] = buffer[i+2*length]; - z[i] = buffer[i+3*length]; - vx[i] = buffer[i+4*length]; - vy[i] = buffer[i+5*length]; - vz[i] = buffer[i+6*length]; - } - } - } - delete[] buffer; - delete[] count; - if (errors){ - cout << "Number of particles not found: " << errors << endl; - return -3; - } - return 0; -} -int get_state_comoving(int *index, double *mass, double *x, double *y, double *z, double *vx, double *vy, double *vz, int length) { - int result = get_state_gadget(index, mass, x, y, z, vx, vy, vz, length); - if(ThisTask == 0 && All.ComovingIntegrationOn) { - double a2_inv = 1.0 / (All.Time * All.Time); - for (int i = 0; i < length; i++){ - vx[i] *= a2_inv; - vy[i] *= a2_inv; - vz[i] *= a2_inv; - } - } - return result; -} -int get_state(int *index, double *mass, double *x, double *y, double *z, double *vx, double *vy, double *vz, int length) { - int result = get_state_gadget(index, mass, x, y, z, vx, vy, vz, length); - if(ThisTask == 0 && All.ComovingIntegrationOn) { - double a_inv = 1.0 / All.Time; - for (int i = 0; i < length; i++){ - x[i] *= All.Time; - y[i] *= All.Time; - z[i] *= All.Time; - vx[i] *= a_inv; - vy[i] *= a_inv; - vz[i] *= a_inv; - } - } - return result; -} - -int set_state_gadget(int *index, double *mass, double *x, double *y, double *z, double *vx, double *vy, double *vz, int length){ - int *count = new int[length]; - int local_index; - - for (int i = 0; i < length; i++){ - if(found_particle(index[i], &local_index)){ - P[local_index].Mass = mass[i]; - P[local_index].Pos[0] = x[i]; - P[local_index].Pos[1] = y[i]; - P[local_index].Pos[2] = z[i]; - P[local_index].Vel[0] = vx[i]; - P[local_index].Vel[1] = vy[i]; - P[local_index].Vel[2] = vz[i]; - count[i] = 1; -#ifdef TIMESTEP_UPDATE - if (interpret_kicks_as_feedback && P[local_index].Type == 0) { - SphP[local_index].FeedbackFlag = 2; - } -#endif -#ifdef TIMESTEP_LIMITER - if(interpret_kicks_as_feedback && P[local_index].Type == 0 && P[local_index].Ti_endstep != All.Ti_Current) { - make_it_active(local_index); - } -#endif - } else count[i] = 0; - } - global_quantities_of_system_up_to_date = false; - return check_counts_and_free(count, length); -} -int set_state_comoving(int *index, double *mass, double *x, double *y, double *z, double *vx, double *vy, double *vz, int length){ - if(All.ComovingIntegrationOn) { - double a2 = All.Time * All.Time; - for (int i = 0; i < length; i++){ - vx[i] *= a2; - vy[i] *= a2; - vz[i] *= a2; - } - } - return set_state_gadget(index, mass, x, y, z, vx, vy, vz, length); -} -int set_state(int *index, double *mass, double *x, double *y, double *z, double *vx, double *vy, double *vz, int length){ - if(All.ComovingIntegrationOn) { - double a_inv = 1.0 / All.Time; - for (int i = 0; i < length; i++){ - x[i] *= a_inv; - y[i] *= a_inv; - z[i] *= a_inv; - vx[i] *= All.Time; - vy[i] *= All.Time; - vz[i] *= All.Time; - } - } - return set_state_gadget(index, mass, x, y, z, vx, vy, vz, length); -} - -int get_state_sph_gadget(int *index, double *mass, double *x, double *y, double *z, double *vx, double *vy, double *vz, double *internal_energy, int length) { - int errors = 0; - double *buffer = new double[length*8]; - int *count = new int[length]; - int local_index; -#ifdef PERIODIC - double boxSize = All.BoxSize; - double boxHalf = 0.5 * All.BoxSize; -#endif -#ifndef ISOTHERM_EQS - double a3; - - if (!density_up_to_date){ - density(); - density_up_to_date = true; - } - if(All.ComovingIntegrationOn){a3 = All.Time * All.Time * All.Time;}else{a3 = 1;} -#endif - for (int i = 0; i < length; i++){ - if(found_particle(index[i], &local_index) && P[local_index].Type == 0){ - count[i] = 1; - buffer[i] = P[local_index].Mass; - buffer[i+length] = P[local_index].Pos[0]; - buffer[i+2*length] = P[local_index].Pos[1]; - buffer[i+3*length] = P[local_index].Pos[2]; - buffer[i+4*length] = P[local_index].Vel[0]; - buffer[i+5*length] = P[local_index].Vel[1]; - buffer[i+6*length] = P[local_index].Vel[2]; -#ifdef ISOTHERM_EQS - buffer[i+7*length] = SphP[local_index].Entropy; -#else - buffer[i+7*length] = SphP[local_index].Entropy * - pow(SphP[local_index].Density / a3, GAMMA_MINUS1) / GAMMA_MINUS1; -#endif - } else { - count[i] = 0; - buffer[i] = 0; - buffer[i+length] = 0; - buffer[i+2*length] = 0; - buffer[i+3*length] = 0; - buffer[i+4*length] = 0; - buffer[i+5*length] = 0; - buffer[i+6*length] = 0; - buffer[i+7*length] = 0; - } - } - if(ThisTask) { -#ifndef NOMPI - MPI_Reduce(buffer, NULL, length*8, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - } else { -#ifndef NOMPI - MPI_Reduce(MPI_IN_PLACE, buffer, length*8, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif -#ifdef PERIODIC - for (int i = length; i < 4*length; i++){ - if (buffer[i] > boxHalf){ - buffer[i] -= boxSize; - } - } -#endif - for (int i = 0; i < length; i++){ - if (count[i] != 1){ - errors++; - mass[i] = 0; - x[i] = 0; - y[i] = 0; - z[i] = 0; - vx[i] = 0; - vy[i] = 0; - vz[i] = 0; - internal_energy[i] = 0; - } else { - mass[i] = buffer[i]; - x[i] = buffer[i+length]; - y[i] = buffer[i+2*length]; - z[i] = buffer[i+3*length]; - vx[i] = buffer[i+4*length]; - vy[i] = buffer[i+5*length]; - vz[i] = buffer[i+6*length]; - internal_energy[i] = buffer[i+7*length]; - } - } - } - delete[] buffer; - delete[] count; - if (errors){ - cout << "Number of particles not found: " << errors << endl; - return -3; - } - return 0; -} -int get_state_sph(int *index, double *mass, double *x, double *y, double *z, double *vx, double *vy, double *vz, double *internal_energy, int length) { - int result = get_state_sph_gadget(index, mass, x, y, z, vx, vy, vz, internal_energy, length); - if(ThisTask == 0 && All.ComovingIntegrationOn) { - double a_inv = 1.0 / All.Time; - for (int i = 0; i < length; i++){ - x[i] *= All.Time; - y[i] *= All.Time; - z[i] *= All.Time; - vx[i] *= a_inv; - vy[i] *= a_inv; - vz[i] *= a_inv; - } - } - return result; -} - -int set_state_sph_gadget(int *index, double *mass, double *x, double *y, double *z, - double *vx, double *vy, double *vz, double *internal_energy, int length){ - int *count = new int[length]; - int local_index; -#ifndef ISOTHERM_EQS - double a3; - - if (!density_up_to_date){ - density(); - density_up_to_date = true; - } - if(All.ComovingIntegrationOn){a3 = All.Time * All.Time * All.Time;}else{a3 = 1;} -#endif - for (int i = 0; i < length; i++){ - if(found_particle(index[i], &local_index) && P[local_index].Type == 0){ - P[local_index].Mass = mass[i]; - P[local_index].Pos[0] = x[i]; - P[local_index].Pos[1] = y[i]; - P[local_index].Pos[2] = z[i]; - P[local_index].Vel[0] = vx[i]; - P[local_index].Vel[1] = vy[i]; - P[local_index].Vel[2] = vz[i]; -#ifdef ISOTHERM_EQS - SphP[local_index].Entropy = internal_energy[i]; -#else - SphP[local_index].Entropy = GAMMA_MINUS1 * internal_energy[i] / - pow(SphP[local_index].Density / a3, GAMMA_MINUS1); -#endif - count[i] = 1; -#ifdef TIMESTEP_UPDATE - if (interpret_heat_as_feedback || interpret_kicks_as_feedback) { - SphP[local_index].FeedbackFlag = 2; - } -#endif -#ifdef TIMESTEP_LIMITER - if ((interpret_heat_as_feedback || interpret_kicks_as_feedback) && - P[local_index].Ti_endstep != All.Ti_Current) { - make_it_active(local_index); - } -#endif - } else count[i] = 0; - } - global_quantities_of_system_up_to_date = false; - return check_counts_and_free(count, length); -} -int set_state_sph(int *index, double *mass, double *x, double *y, double *z, - double *vx, double *vy, double *vz, double *internal_energy, int length){ - if(All.ComovingIntegrationOn) { - double a_inv = 1.0 / All.Time; - for (int i = 0; i < length; i++){ - x[i] *= a_inv; - y[i] *= a_inv; - z[i] *= a_inv; - vx[i] *= All.Time; - vy[i] *= All.Time; - vz[i] *= All.Time; - } - } - return set_state_sph_gadget(index, mass, x, y, z, vx, vy, vz, internal_energy, length); -} - -int get_acceleration_comoving(int *index, double * ax, double * ay, double * az, int length){ - int errors = 0; - double *buffer = new double[length*3]; - int *count = new int[length]; - int local_index; - - for (int i = 0; i < length; i++){ - if(found_particle(index[i], &local_index)){ - count[i] = 1; - buffer[i] = P[local_index].GravAccel[0]; - buffer[i+length] = P[local_index].GravAccel[1]; - buffer[i+2*length] = P[local_index].GravAccel[2]; - if(P[local_index].Type == 0){ - buffer[i] += SphP[local_index].HydroAccel[0]; - buffer[i+length] += SphP[local_index].HydroAccel[1]; - buffer[i+2*length] += SphP[local_index].HydroAccel[2]; - } - } else { - count[i] = 0; - buffer[i] = 0; - buffer[i+length] = 0; - buffer[i+2*length] = 0; - } - } - if(ThisTask) { -#ifndef NOMPI - MPI_Reduce(buffer, NULL, length*3, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - } else { -#ifndef NOMPI - MPI_Reduce(MPI_IN_PLACE, buffer, length*3, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - for (int i = 0; i < length; i++){ - if (count[i] != 1){ - errors++; - ax[i] = 0; - ay[i] = 0; - az[i] = 0; - } else { - ax[i] = buffer[i]; - ay[i] = buffer[i+length]; - az[i] = buffer[i+2*length]; - } - } - } - delete[] buffer; - delete[] count; - if (errors){ - cout << "Number of particles not found: " << errors << endl; - return -3; - } - return 0; -} -int get_acceleration(int *index, double * ax, double * ay, double * az, int length){ - int result = get_acceleration_comoving(index, ax, ay, az, length); - if(ThisTask == 0 && All.ComovingIntegrationOn) { - for (int i = 0; i < length; i++){ - ax[i] *= All.Time; - ay[i] *= All.Time; - az[i] *= All.Time; - } - } - return result; -} - -int get_internal_energy(int *index, double *internal_energy, int length){ - int errors = 0; - double *buffer = new double[length]; - int *count = new int[length]; - int local_index; -#ifndef ISOTHERM_EQS - double a3; - - if(All.ComovingIntegrationOn){a3 = All.Time * All.Time * All.Time;}else{a3 = 1;} - if (!density_up_to_date){ - density(); - density_up_to_date = true; - } -#endif - for (int i = 0; i < length; i++){ - if(found_particle(index[i], &local_index) && P[local_index].Type == 0){ - count[i] = 1; -#ifdef ISOTHERM_EQS - buffer[i] = SphP[local_index].Entropy; -#else - buffer[i] = SphP[local_index].Entropy * - pow(SphP[local_index].Density / a3, GAMMA_MINUS1) / GAMMA_MINUS1; -#endif - } else { - count[i] = 0; - buffer[i] = 0; - } - } - if(ThisTask) { -#ifndef NOMPI - MPI_Reduce(buffer, NULL, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - } else { -#ifndef NOMPI - MPI_Reduce(MPI_IN_PLACE, buffer, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - for (int i = 0; i < length; i++){ - if (count[i] != 1){ - errors++; - internal_energy[i] = 0; - } else - internal_energy[i] = buffer[i]; - } - } - delete[] buffer; - delete[] count; - if (errors){ - cout << "Number of particles not found: " << errors << endl; - return -3; - } - return 0; -} - -int set_internal_energy(int *index, double *internal_energy, int length){ - int *count = new int[length]; - int local_index; -#ifndef ISOTHERM_EQS - double a3; - - if(All.ComovingIntegrationOn){a3 = All.Time * All.Time * All.Time;}else{a3 = 1;} - if (!density_up_to_date){ - density(); - density_up_to_date = true; - } -#endif - for (int i = 0; i < length; i++){ - if(found_particle(index[i], &local_index) && P[local_index].Type == 0){ -#ifdef ISOTHERM_EQS - SphP[local_index].Entropy = internal_energy[i]; -#else - SphP[local_index].Entropy = GAMMA_MINUS1 * internal_energy[i] / - pow(SphP[local_index].Density / a3, GAMMA_MINUS1); -#endif - count[i] = 1; -#ifdef TIMESTEP_UPDATE - if (interpret_heat_as_feedback) { - SphP[local_index].FeedbackFlag = 2; - } -#endif -#ifdef TIMESTEP_LIMITER - if(interpret_heat_as_feedback && P[local_index].Ti_endstep != All.Ti_Current) { - make_it_active(local_index); - } -#endif - } else count[i] = 0; - } - global_quantities_of_system_up_to_date = false; - return check_counts_and_free(count, length); -} - -int get_smoothing_length_comoving(int *index, double *smoothing_length, int length){ - int errors = 0; - double *buffer = new double[length]; - int *count = new int[length]; - int local_index; - - if (!density_up_to_date){ - density(); - density_up_to_date = true; - } - - for (int i = 0; i < length; i++){ - if(found_particle(index[i], &local_index) && P[local_index].Type == 0){ - count[i] = 1; - buffer[i] = SphP[local_index].Hsml; - } else { - count[i] = 0; - buffer[i] = 0; - } - } - if(ThisTask) { -#ifndef NOMPI - MPI_Reduce(buffer, NULL, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - } else { -#ifndef NOMPI - MPI_Reduce(MPI_IN_PLACE, buffer, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - for (int i = 0; i < length; i++){ - if (count[i] != 1){ - errors++; - smoothing_length[i] = 0; - } else - smoothing_length[i] = buffer[i]; - } - } - delete[] buffer; - delete[] count; - if (errors){ - cout << "Number of particles not found: " << errors << endl; - return -3; - } - return 0; -} -int get_smoothing_length(int *index, double *smoothing_length, int length){ - int result = get_smoothing_length_comoving(index, smoothing_length, length); - if(ThisTask == 0 && All.ComovingIntegrationOn) { - for (int i = 0; i < length; i++){ - smoothing_length[i] *= All.Time; - } - } - return result; -} - - -int get_alpha_visc(int *index, double *alpha_visc, int length){ - int errors = 0; - double *buffer = new double[length]; - int *count = new int[length]; - int local_index; - - for (int i = 0; i < length; i++){ - if(found_particle(index[i], &local_index) && P[local_index].Type == 0){ - count[i] = 1; -#ifdef MORRIS97VISC - buffer[i] = SphP[local_index].Alpha; -#else - buffer[i] = All.ArtBulkViscConst; -#endif - } else { - count[i] = 0; - buffer[i] = 0; - } - } - if(ThisTask) { -#ifndef NOMPI - MPI_Reduce(buffer, NULL, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - } else { -#ifndef NOMPI - MPI_Reduce(MPI_IN_PLACE, buffer, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - for (int i = 0; i < length; i++){ - if (count[i] != 1){ - errors++; - alpha_visc[i] = 0; - } else - alpha_visc[i] = buffer[i]; - } - } - delete[] buffer; - delete[] count; - if (errors){ - cout << "Number of particles not found: " << errors << endl; - return -3; - } - return 0; -} - -int get_dalphadt_visc(int *index, double *dalphadt_visc, int length){ - int errors = 0; - double *buffer = new double[length]; - int *count = new int[length]; - int local_index; - - for (int i = 0; i < length; i++){ - if(found_particle(index[i], &local_index) && P[local_index].Type == 0){ - count[i] = 1; -#ifdef MORRIS97VISC - buffer[i] = SphP[local_index].DAlphaDt; -#else - buffer[i] = 0; -#endif - } else { - count[i] = 0; - buffer[i] = 0; - } - } - if(ThisTask) { -#ifndef NOMPI - MPI_Reduce(buffer, NULL, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - } else { -#ifndef NOMPI - MPI_Reduce(MPI_IN_PLACE, buffer, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - for (int i = 0; i < length; i++){ - if (count[i] != 1){ - errors++; - dalphadt_visc[i] = 0; - } else - dalphadt_visc[i] = buffer[i]; - } - } - delete[] buffer; - delete[] count; - if (errors){ - cout << "Number of particles not found: " << errors << endl; - return -3; - } - return 0; -} - - - - -int get_density_comoving(int *index, double *density_out, int length){ - int errors = 0; - double *buffer = new double[length]; - int *count = new int[length]; - int local_index; - double a3; - - if(All.ComovingIntegrationOn){a3 = All.Time * All.Time * All.Time;}else{a3 = 1;} - if (!density_up_to_date){ - density(); - density_up_to_date = true; - } - - for (int i = 0; i < length; i++){ - if(found_particle(index[i], &local_index) && P[local_index].Type == 0){ - count[i] = 1; - buffer[i] = SphP[local_index].Density / a3; - } else { - count[i] = 0; - buffer[i] = 0; - } - } - if(ThisTask) { -#ifndef NOMPI - MPI_Reduce(buffer, NULL, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - } else { -#ifndef NOMPI - MPI_Reduce(MPI_IN_PLACE, buffer, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - for (int i = 0; i < length; i++){ - if (count[i] != 1){ - errors++; - density_out[i] = 0; - } else - density_out[i] = buffer[i]; - } - } - delete[] buffer; - delete[] count; - if (errors){ - cout << "Number of particles not found: " << errors << endl; - return -3; - } - return 0; -} -int get_density(int *index, double *density_out, int length){ - int result = get_density_comoving(index, density_out, length); - if(ThisTask == 0 && All.ComovingIntegrationOn) { - double a3_inv = 1.0 / (All.Time * All.Time * All.Time); - for (int i = 0; i < length; i++){ - density_out[i] *= a3_inv; - } - } - return result; -} - -int get_pressure_comoving(int *index, double *pressure_out, int length){ - int errors = 0; - double *buffer = new double[length]; - int *count = new int[length]; - int local_index; - double a; - - if(All.ComovingIntegrationOn){a = All.Time;}else{a = 1;} - if (!density_up_to_date){ - density(); - density_up_to_date = true; - } - - for (int i = 0; i < length; i++){ - if(found_particle(index[i], &local_index) && P[local_index].Type == 0){ - count[i] = 1; - buffer[i] = SphP[local_index].Pressure / a; - } else { - count[i] = 0; - buffer[i] = 0; - } - } - if(ThisTask) { -#ifndef NOMPI - MPI_Reduce(buffer, NULL, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - } else { -#ifndef NOMPI - MPI_Reduce(MPI_IN_PLACE, buffer, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - for (int i = 0; i < length; i++){ - if (count[i] != 1){ - errors++; - pressure_out[i] = 0; - } else - pressure_out[i] = buffer[i]; - } - } - delete[] buffer; - delete[] count; - if (errors){ - cout << "Number of particles not found: " << errors << endl; - return -3; - } - return 0; -} -int get_pressure(int *index, double *pressure_out, int length){ - int result = get_pressure_comoving(index, pressure_out, length); - if(ThisTask == 0 && All.ComovingIntegrationOn) { - double a_inv = 1.0 / All.Time; - for (int i = 0; i < length; i++){ - pressure_out[i] *= a_inv; - } - } - return result; -} - -int get_d_internal_energy_dt(int *index, double *d_internal_energy_dt_out, int length){ - int errors = 0; - double *buffer = new double[length]; - int *count = new int[length]; - int local_index; - - double hubble; - if (All.ComovingIntegrationOn){ - hubble = All.Hubble * sqrt(All.Omega0 / (All.Time * All.Time * All.Time) - + (1 - All.Omega0 - All.OmegaLambda) / (All.Time * All.Time) + All.OmegaLambda); - } else { - hubble = 1; - } - -#ifndef ISOTHERM_EQS - //~double a3; - //~if(All.ComovingIntegrationOn){a3 = All.Time * All.Time * All.Time;}else{a3 = 1;} - if (!density_up_to_date){ - density(); - density_up_to_date = true; - } -#endif - for (int i = 0; i < length; i++){ - if(found_particle(index[i], &local_index) && P[local_index].Type == 0){ - count[i] = 1; -#ifdef ISOTHERM_EQS - buffer[i] = SphP[local_index].DtEntropy * hubble; -#else - buffer[i] = - SphP[local_index].Pressure * SphP[local_index].DivVel / - SphP[local_index].Density * hubble; -#endif - } else { - count[i] = 0; - buffer[i] = 0; - } - } - if(ThisTask) { -#ifndef NOMPI - MPI_Reduce(buffer, NULL, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - } else { -#ifndef NOMPI - MPI_Reduce(MPI_IN_PLACE, buffer, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - for (int i = 0; i < length; i++){ - if (count[i] != 1){ - errors++; - d_internal_energy_dt_out[i] = 0; - } else - d_internal_energy_dt_out[i] = buffer[i]; - } - } - delete[] buffer; - delete[] count; - if (errors){ - cout << "Number of particles not found: " << errors << endl; - return -3; - } - return 0; -} - -int get_n_neighbours(int *index, double *n_neighbours, int length){ - int errors = 0; - double *buffer = new double[length]; - int *count = new int[length]; - int local_index; - - if (!density_up_to_date){ - density(); - density_up_to_date = true; - } - - for (int i = 0; i < length; i++){ - if(found_particle(index[i], &local_index) && P[local_index].Type == 0){ - count[i] = 1; - buffer[i] = SphP[local_index].NumNgb; - } else { - count[i] = 0; - buffer[i] = 0; - } - } - if(ThisTask) { -#ifndef NOMPI - MPI_Reduce(buffer, NULL, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - } else { -#ifndef NOMPI - MPI_Reduce(MPI_IN_PLACE, buffer, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - for (int i = 0; i < length; i++){ - if (count[i] != 1){ - errors++; - n_neighbours[i] = 0; - } else - n_neighbours[i] = buffer[i]; - } - } - delete[] buffer; - delete[] count; - if (errors){ - cout << "Number of particles not found: " << errors << endl; - return -3; - } - return 0; -} -int get_epsilon_dm_part(int *index, double *epsilon, int length){ - set_softenings(); - if (ThisTask) {return 0;} - double a; - if (All.ComovingIntegrationOn) {a = All.Time;} else {a = 1;} - for (int i = 0; i < length; i++){ - epsilon[i] = a * All.SofteningTable[1]; - } - return 0; -} -int get_epsilon_gas_part(int *index, double *epsilon, int length){ -#if defined(ADAPTIVE_GRAVSOFT_FORGAS) && defined(UNEQUALSOFTENINGS) - return get_smoothing_length(index, epsilon, length); -#else - set_softenings(); - if (ThisTask) {return 0;} - double a; - if (All.ComovingIntegrationOn) {a = All.Time;} else {a = 1;} - for (int i = 0; i < length; i++){ - epsilon[i] = a * All.SofteningTable[0]; - } - return 0; -#endif -} - - - -// simulation property getters: - -void update_global_quantities(bool do_potential){ - if (do_potential) { - compute_potential(); - potential_energy_also_up_to_date = true; - } else {potential_energy_also_up_to_date = false;} - compute_global_quantities_of_system(); - global_quantities_of_system_up_to_date = true; -} -int get_time(double *time){ - if (ThisTask) {return 0;} - if (All.ComovingIntegrationOn) {return -9;} - *time = All.Time; - return 0; -} - - -int get_redshift(double *redshift){ - if (ThisTask) {return 0;} - if (!All.ComovingIntegrationOn) {return -9;} - *redshift = 1.0 / All.Time - 1.0; - return 0; -} -int get_total_radius(double *radius){ - double r_squared, local_max = 0; - int i, j; - - if (!global_quantities_of_system_up_to_date) - update_global_quantities(false); - for (i = 0; i < NumPart; i++){ - for (r_squared = 0, j = 0; j < 3; j++) - r_squared += (SysState.CenterOfMass[j]-P[i].Pos[j])*(SysState.CenterOfMass[j]-P[i].Pos[j]); - if (r_squared > local_max) - local_max = r_squared; - } - - if(ThisTask) { -#ifndef NOMPI - MPI_Reduce(&local_max, NULL, 1, MPI_DOUBLE, MPI_MAX, 0, GADGET_WORLD); -#endif - } else { -#ifndef NOMPI - MPI_Reduce(MPI_IN_PLACE, &local_max, 1, MPI_DOUBLE, MPI_MAX, 0, GADGET_WORLD); -#endif - if (All.ComovingIntegrationOn){ - *radius = All.Time * sqrt(local_max); - } else { - *radius = sqrt(local_max); - } - } - return 0; -} - -int get_total_mass(double *mass){ - if (!global_quantities_of_system_up_to_date) - update_global_quantities(false); - if (ThisTask) {return 0;} - *mass = SysState.Mass; - return 0; -} - -int get_potential(int *index, double *potential, int length) { - int errors = 0; - double *buffer = new double[length]; - int *count = new int[length]; - int local_index; - - if (!potential_energy_also_up_to_date) { - compute_potential(); - potential_energy_also_up_to_date = true; - } - - for (int i = 0; i < length; i++) { - if (found_particle(index[i], &local_index)) { - count[i] = 1; - buffer[i] = P[local_index].Potential; - } else { - count[i] = 0; - buffer[i] = 0; - } - } - - if (ThisTask) { -#ifndef NOMPI - MPI_Reduce(buffer, NULL, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - } else { -#ifndef NOMPI - MPI_Reduce(MPI_IN_PLACE, buffer, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); - MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); -#endif - double a2; - if (All.ComovingIntegrationOn) {a2 = All.Time * All.Time;} else {a2 = 1;} - for (int i = 0; i < length; i++) { - if (count[i] != 1){ - errors++; - potential[i] = 0; - } else { - potential[i] = a2 * buffer[i]; - } - } - } - delete[] buffer; - delete[] count; - if (errors) { - cout << "Number of particles not found: " << errors << endl; - return -3; - } - return 0; -} - -int get_kinetic_energy(double *kinetic_energy){ - if (!global_quantities_of_system_up_to_date) - update_global_quantities(false); - if (ThisTask) {return 0;} - *kinetic_energy = SysState.EnergyKin; - return 0; -} -int get_potential_energy(double *potential_energy){ - if (!(global_quantities_of_system_up_to_date && potential_energy_also_up_to_date)) - update_global_quantities(true); - if (ThisTask) {return 0;} - *potential_energy = SysState.EnergyPot; - return 0; -} -int get_thermal_energy(double *thermal_energy){ - if (!global_quantities_of_system_up_to_date) - update_global_quantities(false); - if (ThisTask) {return 0;} - *thermal_energy = SysState.EnergyInt; - return 0; -} -int get_number_of_particles(int *number_of_particles){ - if (ThisTask) {return 0;} - *number_of_particles = All.TotNumPart; - return 0; -} -int get_center_of_mass_position(double *x, double *y, double *z){ -#ifdef PERIODIC - return -2; -#endif - if (!global_quantities_of_system_up_to_date) - update_global_quantities(false); - if (ThisTask) {return 0;} - double a; - if (All.ComovingIntegrationOn) {a = All.Time;} else {a = 1;} - *x = a * SysState.CenterOfMass[0]; - *y = a * SysState.CenterOfMass[1]; - *z = a * SysState.CenterOfMass[2]; - return 0; -} -int get_center_of_mass_velocity(double * vx, double * vy, double * vz){ - if (!global_quantities_of_system_up_to_date) - update_global_quantities(false); - if (ThisTask) {return 0;} - double a_inv; - if (All.ComovingIntegrationOn) {a_inv = 1.0 / All.Time;} else {a_inv = 1;} - *vx = a_inv * SysState.Momentum[0]/SysState.Mass; - *vy = a_inv * SysState.Momentum[1]/SysState.Mass; - *vz = a_inv * SysState.Momentum[2]/SysState.Mass; - return 0; -} -int get_gravity_at_point(double eps, double x, double y, double z, double *forcex, double *forcey, double *forcez){ - return -2; -} -int get_potential_at_point(double eps, double x, double y, double z, double * phi){ - return -2; -} -int get_hydro_state_at_point(double x, double y, double z, double vx, double vy, double vz, - double * rho, double * rhovx, double * rhovy, double * rhovz, double * rhoe){ - FLOAT pos[3], vel[3]; - FLOAT h_out, ngb_out, dhsml_out, rho_out, rhov_out[3], rhov2_out, rhoe_out; - int error; - double a, a_inv, a3_inv, a4_inv, a5_inv; - if (All.ComovingIntegrationOn) { - a = All.Time; - a_inv = 1.0 / All.Time; - a3_inv = a_inv * a_inv * a_inv; - a4_inv = a3_inv * a_inv; - a5_inv = a4_inv * a_inv; - } else { - a = a_inv = a3_inv = a4_inv = a5_inv = 1; - } - - error = construct_tree_if_needed(); - if (error) {return error;} - - pos[0] = a_inv * x; - pos[1] = a_inv * y; - pos[2] = a_inv * z; -#ifdef PERIODIC - for (int i = 0; i < 3; i++){ - if (pos[i] < 0.0){ - pos[i] += All.BoxSize; - } - } -#endif - vel[0] = a * vx; - vel[1] = a * vy; - vel[2] = a * vz; - hydro_state_at_point(pos, vel, &h_out, &ngb_out, &dhsml_out, &rho_out, rhov_out, &rhov2_out, &rhoe_out); - if (ThisTask) {return 0;} - *rho = rho_out * a3_inv; - *rhovx = rhov_out[0] * a4_inv; - *rhovy = rhov_out[1] * a4_inv; - *rhovz = rhov_out[2] * a4_inv; -#ifdef ISOTHERM_EQS - *rhoe = a3_inv * rhoe_out + a5_inv * 0.5*(rhov_out[0]*rhov_out[0] + rhov_out[1]*rhov_out[1] + rhov_out[2]*rhov_out[2]) / rho_out; -#else - *rhoe = a3_inv * rhoe_out * (pow(rho_out * a3_inv, GAMMA_MINUS1) / GAMMA_MINUS1) + a5_inv * 0.5*rhov2_out; -#endif - return 0; -} diff --git a/src/amuse/community/gadget2/interface.py b/src/amuse/community/gadget2/interface.py index 8c0306b6d8..6700bacac6 100644 --- a/src/amuse/community/gadget2/interface.py +++ b/src/amuse/community/gadget2/interface.py @@ -1,2570 +1,7 @@ -import os -import numpy +from amuse.support.import_helper import load_code -from amuse.community.interface.gd import GravitationalDynamicsInterface -from amuse.community.interface.gd import GravitationalDynamics -from amuse.community.interface.gd import SinglePointGravityFieldInterface -from amuse.community.interface.gd import GravityFieldCode -from amuse.community import * -from amuse.support.options import option -class Gadget2Interface( - CodeInterface, - GravitationalDynamicsInterface, - LiteratureReferencesMixIn, - StoppingConditionInterface, - SinglePointGravityFieldInterface, - CodeWithDataDirectories - ): - """ - GADGET-2 computes gravitational forces with a hierarchical tree - algorithm (optionally in combination with a particle-mesh - scheme for long-range gravitational forces, currently not - supported from the AMUSE interface) and represents fluids by - means of smoothed particle hydrodynamics (SPH). The code can - be used for studies of isolated systems, or for simulations - that include the cosmological expansion of space, both with - or without periodic boundary conditions. In all these types - of simulations, GADGET follows the evolution of a self- - gravitating collisionless N-body system, and allows gas - dynamics to be optionally included. Both the force computation - and the time stepping of GADGET are fully adaptive, with a - dynamic range which is, in principle, unlimited. - - The relevant references are: - .. [#] ADS:2005MNRAS.364.1105S (Springel V., 2005, MNRAS, 364, 1105 (GADGET-2)) - .. [#] ADS:2001NewA....6...79S (Springel V., Yoshida N., White S. D. M., 2001, New Astronomy, 6, 51 (GADGET-1)) - .. [#] ADS:2012MNRAS.419..465D (Durier F., Dalla Vecchia C., 2012, MNRAS (Time integration scheme fix)) - """ - include_headers = ['interface.h', 'worker_code.h', 'stopcond.h'] +Gadget2Interface = load_code("gadget2", "Gadget2Interface") +Gadget2 = load_code("gadget2", "Gadget2") - MODE_NORMAL = 'normal' - MODE_PERIODIC_BOUNDARIES = 'periodic' - MODE_PERIODIC_NOGRAVITY = 'periodic_nogravity' - MODE_NOGRAVITY = 'nogravity' - - def __init__(self, mode = MODE_NORMAL, **options): - CodeInterface.__init__(self, name_of_the_worker = self.name_of_the_worker(mode), **options) - LiteratureReferencesMixIn.__init__(self) - CodeWithDataDirectories.__init__(self) - - def name_of_the_worker(self, mode): - return 'gadget2_worker_'+mode - - @legacy_function - def new_dm_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT) - for x in ['mass','x','y','z','vx','vy','vz']: - function.addParameter(x, dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - def new_particle(self, mass, x, y, z, vx, vy, vz): - return self.new_dm_particle(mass, x, y, z, vx, vy, vz) - - @legacy_function - def new_sph_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT) - for x in ['mass','x','y','z','vx','vy','vz','u']: - function.addParameter(x, dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_state(): - """ - Retrieve the current state of a particle. The *minimal* information of a stellar - dynamics particle (mass, position and velocity) is returned. - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the particle to get the state from. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('mass', dtype='float64', direction=function.OUT, description = "The current mass of the particle") - function.addParameter('x', dtype='float64', direction=function.OUT, description = "The current position vector of the particle") - function.addParameter('y', dtype='float64', direction=function.OUT, description = "The current position vector of the particle") - function.addParameter('z', dtype='float64', direction=function.OUT, description = "The current position vector of the particle") - function.addParameter('vx', dtype='float64', direction=function.OUT, description = "The current velocity vector of the particle") - function.addParameter('vy', dtype='float64', direction=function.OUT, description = "The current velocity vector of the particle") - function.addParameter('vz', dtype='float64', direction=function.OUT, description = "The current velocity vector of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found in the model and the information was retrieved - -1 - ERROR - particle could not be found - """ - return function - - @legacy_function - def get_potential(): - """ - Retrieve the current potential of a particle. - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the particle to get the potential from. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('Potential', dtype='float64', direction=function.OUT, description = "The current potential of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found in the model and the information was retrieved - -1 - ERROR - particle could not be found - """ - return function - - @legacy_function - def set_state(): - """ - Update the current state of a particle. The *minimal* information of a stellar - dynamics particle (mass, position and velocity) is updated. - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the particle for which the state is to be updated. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('mass', dtype='float64', direction=function.IN, description = "The new mass of the particle") - function.addParameter('x', dtype='float64', direction=function.IN, description = "The new position vector of the particle") - function.addParameter('y', dtype='float64', direction=function.IN, description = "The new position vector of the particle") - function.addParameter('z', dtype='float64', direction=function.IN, description = "The new position vector of the particle") - function.addParameter('vx', dtype='float64', direction=function.IN, description = "The new velocity vector of the particle") - function.addParameter('vy', dtype='float64', direction=function.IN, description = "The new velocity vector of the particle") - function.addParameter('vz', dtype='float64', direction=function.IN, description = "The new velocity vector of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found in the model and the information was set - -1 - ERROR - particle could not be found - """ - return function - - @legacy_function - def get_mass(): - """ - Retrieve the mass of a particle. Mass is a scalar property of a particle, - this function has one OUT argument. - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the particle to get the state from. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('mass', dtype='float64', direction=function.OUT, description = "The current mass of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was removed from the model - -1 - ERROR - particle could not be found - """ - return function - @legacy_function - def set_mass(): - """ - Update the mass of a particle. Mass is a scalar property of a particle. - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the particle for which the state is to be updated. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('mass', dtype='float64', direction=function.IN, description = "The new mass of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found in the model and the information was set - -1 - ERROR - particle could not be found - -2 - ERROR - code does not support updating of a particle - """ - return function - @legacy_function - def get_position(): - """ - Retrieve the position vector of a particle. Position is a vector property, - this function has 3 OUT arguments. - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the particle to get the state from. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('x', dtype='float64', direction=function.OUT, description = "The current position vector of the particle") - function.addParameter('y', dtype='float64', direction=function.OUT, description = "The current position vector of the particle") - function.addParameter('z', dtype='float64', direction=function.OUT, description = "The current position vector of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - current value was retrieved - -1 - ERROR - particle could not be found - -2 - ERROR - not yet implemented - """ - return function - @legacy_function - def set_position(): - """ - Update the position of a particle. - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the particle for which the state is to be updated. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('x', dtype='float64', direction=function.IN, description = "The new position vector of the particle") - function.addParameter('y', dtype='float64', direction=function.IN, description = "The new position vector of the particle") - function.addParameter('z', dtype='float64', direction=function.IN, description = "The new position vector of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found in the model and the information was set - -1 - ERROR - particle could not be found - -2 - ERROR - code does not support updating of a particle - """ - return function - @legacy_function - def get_velocity(): - """ - Retrieve the velocity vector of a particle. Position is a vector property, - this function has 3 OUT arguments. - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the particle to get the velocity from. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('vx', dtype='float64', direction=function.OUT, description = "The current x component of the position vector of the particle") - function.addParameter('vy', dtype='float64', direction=function.OUT, description = "The current y component of the position vector of the particle") - function.addParameter('vz', dtype='float64', direction=function.OUT, description = "The current z component of the position vector of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - current value was retrieved - -1 - ERROR - particle could not be found - -2 - ERROR - not yet implemented - """ - return function - @legacy_function - def set_velocity(): - """ - Set the velocity vector of a particle. - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the particle to get the state from. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('vx', dtype='float64', direction=function.IN, description = "The current x component of the velocity vector of the particle") - function.addParameter('vy', dtype='float64', direction=function.IN, description = "The current y component of the velocity vector of the particle") - function.addParameter('vz', dtype='float64', direction=function.IN, description = "The current z component of the velocity vector of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - current value was retrieved - -1 - ERROR - particle could not be found - -2 - ERROR - not yet implemented - """ - return function - @legacy_function - def get_acceleration(): - """ - Retrieve the acceleration vector of a particle. Second time derivative of the position. - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the particle to get the state from. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('ax', dtype='float64', direction=function.OUT, description = "The current position vector of the particle") - function.addParameter('ay', dtype='float64', direction=function.OUT, description = "The current position vector of the particle") - function.addParameter('az', dtype='float64', direction=function.OUT, description = "The current position vector of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - current value was retrieved - -1 - ERROR - particle could not be found - -2 - ERROR - not yet implemented - """ - return function - - @legacy_function - def get_state_sph(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the particle to get the state from. This index must have been returned by an earlier call to :meth:`new_particle`") - for x in ['mass','x','y','z','vx','vy','vz','u']: - function.addParameter(x, dtype='float64', direction=function.OUT) - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def set_state_sph(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the particle for which the state is to be updated. This index must have been returned by an earlier call to :meth:`new_particle`") - for x in ['mass','x','y','z','vx','vy','vz','u']: - function.addParameter(x, dtype='float64', direction=function.IN) - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_internal_energy(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('u', dtype='float64', direction=function.OUT) - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def set_internal_energy(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('u', dtype='float64', direction=function.IN) - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_smoothing_length(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('h_smooth', dtype='float64', direction=function.OUT) - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_alpha_visc(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, description="alpha_SPH, the artificial viscosity of a particle") - function.addParameter('alpha', dtype='float64', direction=function.OUT) - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_dalphadt_visc(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, description="dalpha/dt, the rate of change with time of the artificial viscosity parameter alpha_SPH") - function.addParameter('dalphadt', dtype='float64', direction=function.OUT) - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_density(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('rho', dtype='float64', direction=function.OUT) - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_pressure(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('pressure', dtype='float64', direction=function.OUT) - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_d_internal_energy_dt(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('du_dt', dtype='float64', direction=function.OUT) - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_n_neighbours(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('num_neighbours', dtype='float64', direction=function.OUT) - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_thermal_energy(): - function = LegacyFunctionSpecification() - function.addParameter('thermal_energy', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_epsilon_dm_part(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('radius', dtype='float64', direction=function.OUT) - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_epsilon_gas_part(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('radius', dtype='float64', direction=function.OUT) - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - return function - - - -# setting/ getting parameters - @legacy_function - def set_time_step(): - """ timestep (code units)""" - function = LegacyFunctionSpecification() - function.addParameter('time_step', dtype='float64', direction=function.IN, - description = "The current model timestep") - function.result_type = 'int32' - return function - - @legacy_function - def get_epsilon(): - """Get epsilon, a softening parameter for gravitational potentials with point particles.""" - function = LegacyFunctionSpecification() - function.addParameter('epsilon', dtype='float64', direction=function.OUT, - description = "epsilon, a softening parameter for gravitational potentials with point particles") - function.result_type = 'int32' - return function - - @legacy_function - def set_epsilon(): - """Set epsilon, a softening parameter for gravitational potentials with point particles.""" - function = LegacyFunctionSpecification() - function.addParameter('epsilon', dtype='float64', direction=function.IN, - description = "epsilon, a softening parameter for gravitational potentials with point particles") - function.result_type = 'int32' - return function - - def set_epsilon_squared(self,epsilon_squared): - return self.set_epsilon(epsilon_squared**0.5) - - def get_epsilon_squared(self): - epsilon, err = self.get_epsilon() - return epsilon**2, err - - @legacy_function - def get_gadget_output_directory(): - function = LegacyFunctionSpecification() - function.addParameter('gadget_output_directory', dtype='string', direction=function.OUT, - description = "The path to the Gadget-2 OutputDir.") - function.result_type = 'int32' - return function - - - @legacy_function - def get_viscosity_switch(): - function = LegacyFunctionSpecification() - function.addParameter('viscosity_switch', dtype='string', direction=function.OUT, - description = "The viscosity switch used by Gadget2.") - function.result_type = 'int32' - return function - - @legacy_function - def set_gadget_output_directory(): - function = LegacyFunctionSpecification() - function.addParameter('gadget_output_directory', dtype='string', direction=function.IN, - description = "The path to the Gadget-2 OutputDir.") - function.result_type = 'int32' - return function - - @legacy_function - def get_unit_mass(): - """Get the code mass unit (in g/h, default: 1.989e43 g = 10^10 MSun).""" - function = LegacyFunctionSpecification() - function.addParameter('code_mass_unit', dtype='float64', direction=function.OUT, - description = "The code mass unit (in g/h, default: 1.989e43 g = 10^10 MSun).") - function.result_type = 'int32' - return function - - @legacy_function - def set_unit_mass(): - """Set the code mass unit (in g/h, default: 1.989e43 g = 10^10 MSun).""" - function = LegacyFunctionSpecification() - function.addParameter('code_mass_unit', dtype='float64', direction=function.IN, - description = "The code mass unit (in g/h, default: 1.989e43 g = 10^10 MSun).") - function.result_type = 'int32' - return function - - @legacy_function - def get_unit_length(): - """Get the code length unit (in cm/h, default: 3.085678e21 cm = 1 kpc).""" - function = LegacyFunctionSpecification() - function.addParameter('code_length_unit', dtype='float64', direction=function.OUT, - description = "The code length unit (in cm/h, default: 3.085678e21 cm = 1 kpc).") - function.result_type = 'int32' - return function - - @legacy_function - def set_unit_length(): - """Set the code length unit (in cm/h, default: 3.085678e21 cm = 1 kpc).""" - function = LegacyFunctionSpecification() - function.addParameter('code_length_unit', dtype='float64', direction=function.IN, - description = "The code length unit (in cm/h, default: 3.085678e21 cm = 1 kpc).") - function.result_type = 'int32' - return function - - @legacy_function - def get_unit_time(): - """Get the code time unit (in s/h, default: 3.085678e16 s = (1 kpc) / (1 km/s) ~ 0.9778 Gyr). Implicitly changes velocity unit.""" - function = LegacyFunctionSpecification() - function.addParameter('code_time_unit', dtype='float64', direction=function.OUT, - description = "The code time unit (in s/h, default: 3.085678e16 s = (1 kpc) / (1 km/s) ~ 0.9778 Gyr).") - function.result_type = 'int32' - return function - - @legacy_function - def set_unit_time(): - """Set the code time unit (in s/h, default: 3.085678e16 s = (1 kpc) / (1 km/s) ~ 0.9778 Gyr).""" - function = LegacyFunctionSpecification() - function.addParameter('code_time_unit', dtype='float64', direction=function.IN, - description = "The code time unit (in s/h, default: 3.085678e16 s = (1 kpc) / (1 km/s) ~ 0.9778 Gyr).") - function.result_type = 'int32' - return function - - @legacy_function - def get_unit_velocity(): - """Get the code velocity unit (in s/h, default: 3.085678e16 s = (1 kpc) / (1 km/s) ~ 0.9778 Gyr).""" - function = LegacyFunctionSpecification() - function.addParameter('code_velocity_unit', dtype='float64', direction=function.OUT, - description = "The code velocity unit (in s/h, default: 3.085678e16 s = (1 kpc) / (1 km/s) ~ 0.9778 Gyr).") - function.result_type = 'int32' - return function - - @legacy_function - def set_unit_velocity(): - """Set the code velocity unit (in s/h, default: 3.085678e16 s = (1 kpc) / (1 km/s) ~ 0.9778 Gyr).""" - function = LegacyFunctionSpecification() - function.addParameter('code_velocity_unit', dtype='float64', direction=function.IN, - description = "The code velocity unit (in s/h, default: 3.085678e16 s = (1 kpc) / (1 km/s) ~ 0.9778 Gyr).") - function.result_type = 'int32' - return function - - @legacy_function - def get_nogravity(): - """ get_nogravity(): get no-gravity flag. True means: gravitational forces are switched of for all particles - (read-only: makefile option NOGRAVITY).""" - function = LegacyFunctionSpecification() - function.addParameter('no_gravity_flag', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_gdgop(): - """ set_gdgop([0,1]): use of gadget cell opening criterion if 1 """ - function = LegacyFunctionSpecification() - function.addParameter('gadget_cell_opening_flag', dtype='i', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_gdgop(): - """ get_gdgop(): use of gadget cell opening criterion if 1 """ - function = LegacyFunctionSpecification() - function.addParameter('gadget_cell_opening_flag', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_epsgas(): - """ gas grav smoothing eps""" - function = LegacyFunctionSpecification() - function.addParameter('gas_epsilon', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_epsgas(): - """ gas grav smoothing eps""" - function = LegacyFunctionSpecification() - function.addParameter('gas_epsilon', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_isotherm(): - """(default: False) - True means: isothermal gas (read-only: makefile option ISOTHERM_EQS). - """ - function = LegacyFunctionSpecification() - function.addParameter('isothermal_flag', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_eps_is_h(): - """ get_eps_is_h(): gas particles grav. eps to SPH h if 1""" - function = LegacyFunctionSpecification() - function.addParameter('eps_is_h_flag', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_nsmooth(): - """ target number of SPH neighbours""" - function = LegacyFunctionSpecification() - function.addParameter('nsmooth', dtype='i', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_nsmooth(): - """ target number of SPH neighbours""" - function = LegacyFunctionSpecification() - function.addParameter('nsmooth', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_bh_tol(): - """ Barnes Hut opening angle parameter (unitless, 0.5) """ - function = LegacyFunctionSpecification() - function.addParameter('bh_tol', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_bh_tol(): - """ Barnes Hut opening angle parameter (unitless, 0.5) """ - function = LegacyFunctionSpecification() - function.addParameter('bh_tol', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_gdgtol(): - """ Gadget cell openings criterion parameter (unitless, .005) """ - function = LegacyFunctionSpecification() - function.addParameter('gdgtol', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_gdgtol(): - """ Gadget cell openings criterion parameter (unitless, .005) """ - function = LegacyFunctionSpecification() - function.addParameter('gdgtol', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_gamma(): - """ gas polytropic index (1.666667) """ - function = LegacyFunctionSpecification() - function.addParameter('gamma', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_alpha(): - """ SPH artificial viscosity alpha parameter (0.5) """ - function = LegacyFunctionSpecification() - function.addParameter('alpha', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_alpha(): - """ SPH artificial viscosity alpha parameter (0.5) """ - function = LegacyFunctionSpecification() - function.addParameter('alpha', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_beta(): - """ SPH artificial viscosity beta parameter (2*viscosity alpha parameter) """ - function = LegacyFunctionSpecification() - function.addParameter('beta', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_beta(): - """ SPH artificial viscosity beta parameter (2*viscosity alpha parameter) """ - function = LegacyFunctionSpecification() - function.addParameter('beta', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_courant(): - """ SPH courant condition parameter (0.3) """ - function = LegacyFunctionSpecification() - function.addParameter('courant', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_courant(): - """ SPH courant condition parameter (0.3) """ - function = LegacyFunctionSpecification() - function.addParameter('courant', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_nsmtol(): - """ fractional tolerance in number of SPH neighbours """ - function = LegacyFunctionSpecification() - function.addParameter('n_neighbour_tol', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_nsmtol(): - """ fractional tolerance in number of SPH neighbours """ - function = LegacyFunctionSpecification() - function.addParameter('n_neighbour_tol', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_energy_file(): - function = LegacyFunctionSpecification() - function.addParameter('energy_file', dtype='string', direction=function.OUT, - description = "The path to the Gadget-2 energy statistics output file.") - function.result_type = 'int32' - return function - @legacy_function - def set_energy_file(): - function = LegacyFunctionSpecification() - function.addParameter('energy_file', dtype='string', direction=function.IN, - description = "The path to the Gadget-2 energy statistics output file.") - function.result_type = 'int32' - return function - - @legacy_function - def get_info_file(): - function = LegacyFunctionSpecification() - function.addParameter('info_file', dtype='string', direction=function.OUT, - description = "The path to the Gadget-2 info output file.") - function.result_type = 'int32' - return function - @legacy_function - def set_info_file(): - function = LegacyFunctionSpecification() - function.addParameter('info_file', dtype='string', direction=function.IN, - description = "The path to the Gadget-2 info output file.") - function.result_type = 'int32' - return function - - @legacy_function - def get_timings_file(): - function = LegacyFunctionSpecification() - function.addParameter('timings_file', dtype='string', direction=function.OUT, - description = "The path to the Gadget-2 timings output file.") - function.result_type = 'int32' - return function - @legacy_function - def set_timings_file(): - function = LegacyFunctionSpecification() - function.addParameter('timings_file', dtype='string', direction=function.IN, - description = "The path to the Gadget-2 timings output file.") - function.result_type = 'int32' - return function - - @legacy_function - def get_cpu_file(): - function = LegacyFunctionSpecification() - function.addParameter('cpu_file', dtype='string', direction=function.OUT, - description = "The path to the Gadget-2 cpu statistics output file.") - function.result_type = 'int32' - return function - @legacy_function - def set_cpu_file(): - function = LegacyFunctionSpecification() - function.addParameter('cpu_file', dtype='string', direction=function.IN, - description = "The path to the Gadget-2 cpu statistics output file.") - function.result_type = 'int32' - return function - - @legacy_function - def get_time_limit_cpu(): - function = LegacyFunctionSpecification() - function.addParameter('time_limit_cpu', dtype='d', direction=function.OUT, - description = "The cpu-time limit. Gadget2 will stop once 85% of this (wall-clock) time has passed.") - function.result_type = 'i' - return function - @legacy_function - def set_time_limit_cpu(): - function = LegacyFunctionSpecification() - function.addParameter('time_limit_cpu', dtype='d', direction=function.IN, - description = "The cpu-time limit. Gadget2 will stop once 85% of this (wall-clock) time has passed.") - function.result_type = 'i' - return function - - @legacy_function - def get_comoving_integration_flag(): - function = LegacyFunctionSpecification() - function.addParameter('comoving_integration_flag', dtype='bool', direction=function.OUT, - description = "Flag to do a cosmological run with comoving coordinates.") - function.result_type = 'i' - return function - @legacy_function - def set_comoving_integration_flag(): - function = LegacyFunctionSpecification() - function.addParameter('comoving_integration_flag', dtype='bool', direction=function.IN, - description = "Flag to do a cosmological run with comoving coordinates.") - function.result_type = 'i' - return function - - @legacy_function - def get_type_of_timestep_criterion(): - function = LegacyFunctionSpecification() - function.addParameter('type_of_timestep_criterion', dtype='i', direction=function.OUT, - description = "Timestep criterion to use. Can only be zero: timestep proportional to acceleration^-0.5") - function.result_type = 'i' - return function - @legacy_function - def set_type_of_timestep_criterion(): - function = LegacyFunctionSpecification() - function.addParameter('type_of_timestep_criterion', dtype='i', direction=function.IN, - description = "Timestep criterion to use. Can only be zero: timestep proportional to acceleration^-0.5") - function.result_type = 'i' - return function - - - - @legacy_function - def get_time_max(): - function = LegacyFunctionSpecification() - function.addParameter('time_max', dtype='d', direction=function.OUT, - description = "The time at the end of the run.") - function.result_type = 'i' - return function - @legacy_function - def set_time_max(): - function = LegacyFunctionSpecification() - function.addParameter('time_max', dtype='d', direction=function.IN, - description = "The time at the end of the run.") - function.result_type = 'i' - return function - - @legacy_function - def evolve_to_redshift(): - function = LegacyFunctionSpecification() - function.addParameter('redshift', dtype='d', direction=function.IN, - description = "Model redshift to evolve to (for cosmological integrations).") - function.result_type = 'i' - return function - - @legacy_function - def get_redshift(): - function = LegacyFunctionSpecification() - function.addParameter('redshift', dtype='d', direction=function.OUT, - description = "The current redshift (for cosmological integrations).") - function.result_type = 'i' - return function - - @legacy_function - def get_redshift_begin(): - function = LegacyFunctionSpecification() - function.addParameter('redshift_begin', dtype='d', direction=function.OUT, - description = "The redshift at the start of the run.") - function.result_type = 'i' - return function - @legacy_function - def set_redshift_begin(): - function = LegacyFunctionSpecification() - function.addParameter('redshift_begin', dtype='d', direction=function.IN, - description = "The redshift at the start of the run.") - function.result_type = 'i' - return function - - @legacy_function - def get_redshift_max(): - function = LegacyFunctionSpecification() - function.addParameter('redshift_max', dtype='d', direction=function.OUT, - description = "The redshift at the end of the run.") - function.result_type = 'i' - return function - @legacy_function - def set_redshift_max(): - function = LegacyFunctionSpecification() - function.addParameter('redshift_max', dtype='d', direction=function.IN, - description = "The redshift at the end of the run.") - function.result_type = 'i' - return function - - @legacy_function - def get_omega_zero(): - function = LegacyFunctionSpecification() - function.addParameter('omega_zero', dtype='d', direction=function.OUT, - description = "Cosmological matter density parameter in units of the critical density at z=0.") - function.result_type = 'i' - return function - @legacy_function - def set_omega_zero(): - function = LegacyFunctionSpecification() - function.addParameter('omega_zero', dtype='d', direction=function.IN, - description = "Cosmological matter density parameter in units of the critical density at z=0.") - function.result_type = 'i' - return function - - @legacy_function - def get_omega_lambda(): - function = LegacyFunctionSpecification() - function.addParameter('omega_lambda', dtype='d', direction=function.OUT, - description = "Cosmological vacuum energy density parameter in units of the critical density at z=0.") - function.result_type = 'i' - return function - @legacy_function - def set_omega_lambda(): - function = LegacyFunctionSpecification() - function.addParameter('omega_lambda', dtype='d', direction=function.IN, - description = "Cosmological vacuum energy density parameter in units of the critical density at z=0.") - function.result_type = 'i' - return function - - @legacy_function - def get_omega_baryon(): - function = LegacyFunctionSpecification() - function.addParameter('omega_baryon', dtype='d', direction=function.OUT, - description = "Cosmological baryonic density parameter in units of the critical density at z=0.") - function.result_type = 'i' - return function - @legacy_function - def set_omega_baryon(): - function = LegacyFunctionSpecification() - function.addParameter('omega_baryon', dtype='d', direction=function.IN, - description = "Cosmological baryonic density parameter in units of the critical density at z=0.") - function.result_type = 'i' - return function - - @legacy_function - def get_hubble_param(): - function = LegacyFunctionSpecification() - function.addParameter('hubble_param', dtype='d', direction=function.OUT, - description = "The cosmological Hubble parameter.") - function.result_type = 'i' - return function - @legacy_function - def set_hubble_param(): - function = LegacyFunctionSpecification() - function.addParameter('hubble_param', dtype='d', direction=function.IN, - description = "The cosmological Hubble parameter.") - function.result_type = 'i' - return function - - @legacy_function - def get_err_tol_int_accuracy(): - function = LegacyFunctionSpecification() - function.addParameter('err_tol_int_accuracy', dtype='d', direction=function.OUT, - description = "Accuracy parameter used in timestep criterion. Actual timesteps are proportional to err_tol_int_accuracy^0.5") - function.result_type = 'i' - return function - @legacy_function - def set_err_tol_int_accuracy(): - function = LegacyFunctionSpecification() - function.addParameter('err_tol_int_accuracy', dtype='d', direction=function.IN, - description = "Accuracy parameter used in timestep criterion. Actual timesteps are proportional to err_tol_int_accuracy^0.5") - function.result_type = 'i' - return function - - @legacy_function - def get_max_size_timestep(): - function = LegacyFunctionSpecification() - function.addParameter('max_size_timestep', dtype='d', direction=function.OUT, - description = "The maximum size of the timestep a particle may take.") - function.result_type = 'i' - return function - @legacy_function - def set_max_size_timestep(): - function = LegacyFunctionSpecification() - function.addParameter('max_size_timestep', dtype='d', direction=function.IN, - description = "The maximum size of the timestep a particle may take.") - function.result_type = 'i' - return function - - @legacy_function - def get_min_size_timestep(): - function = LegacyFunctionSpecification() - function.addParameter('min_size_timestep', dtype='d', direction=function.OUT, - description = "The minimum size of the timestep a particle may take.") - function.result_type = 'i' - return function - @legacy_function - def set_min_size_timestep(): - function = LegacyFunctionSpecification() - function.addParameter('min_size_timestep', dtype='d', direction=function.IN, - description = "The minimum size of the timestep a particle may take.") - function.result_type = 'i' - return function - - @legacy_function - def get_tree_domain_update_frequency(): - function = LegacyFunctionSpecification() - function.addParameter('tree_domain_update_frequency', dtype='d', direction=function.OUT, - description = "The frequency with which the tree and domain decomposition are fully updated, in terms of (# force computations / # particles).") - function.result_type = 'i' - return function - @legacy_function - def set_tree_domain_update_frequency(): - function = LegacyFunctionSpecification() - function.addParameter('tree_domain_update_frequency', dtype='d', direction=function.IN, - description = "The frequency with which the tree and domain decomposition are fully updated, in terms of (# force computations / # particles).") - function.result_type = 'i' - return function - - @legacy_function - def get_time_between_statistics(): - function = LegacyFunctionSpecification() - function.addParameter('time_between_statistics', dtype='d', direction=function.OUT, - description = "The time between statistics output written to the output files.") - function.result_type = 'i' - return function - @legacy_function - def set_time_between_statistics(): - function = LegacyFunctionSpecification() - function.addParameter('time_between_statistics', dtype='d', direction=function.IN, - description = "The time between statistics output written to the output files.") - function.result_type = 'i' - return function - - @legacy_function - def get_min_gas_temp(): - function = LegacyFunctionSpecification() - function.addParameter('min_gas_temp', dtype='d', direction=function.OUT, - description = "The minimum temperature of gas particles.") - function.result_type = 'i' - return function - @legacy_function - def set_min_gas_temp(): - function = LegacyFunctionSpecification() - function.addParameter('min_gas_temp', dtype='d', direction=function.IN, - description = "The minimum temperature of gas particles.") - function.result_type = 'i' - return function - - @legacy_function - def get_min_gas_hsmooth_fractional(): - function = LegacyFunctionSpecification() - function.addParameter('min_gas_hsmooth_fractional', dtype='d', direction=function.OUT, - description = "The minimum smoothing length of gas particles relative to their softening lengths.") - function.result_type = 'i' - return function - @legacy_function - def set_min_gas_hsmooth_fractional(): - function = LegacyFunctionSpecification() - function.addParameter('min_gas_hsmooth_fractional', dtype='d', direction=function.IN, - description = "The minimum smoothing length of gas particles relative to their softening lengths.") - function.result_type = 'i' - return function - - @legacy_function - def get_softening_gas_max_phys(): - function = LegacyFunctionSpecification() - function.addParameter('softening_gas_max_phys', dtype='d', direction=function.OUT, - description = "The maximum physical softening of gas particles for comoving integrations.") - function.result_type = 'i' - return function - @legacy_function - def set_softening_gas_max_phys(): - function = LegacyFunctionSpecification() - function.addParameter('softening_gas_max_phys', dtype='d', direction=function.IN, - description = "The maximum physical softening of gas particles for comoving integrations.") - function.result_type = 'i' - return function - - @legacy_function - def get_softening_halo_max_phys(): - function = LegacyFunctionSpecification() - function.addParameter('softening_halo_max_phys', dtype='d', direction=function.OUT, - description = "The maximum physical softening of dm particles for comoving integrations.") - function.result_type = 'i' - return function - @legacy_function - def set_softening_halo_max_phys(): - function = LegacyFunctionSpecification() - function.addParameter('softening_halo_max_phys', dtype='d', direction=function.IN, - description = "The maximum physical softening of dm particles for comoving integrations.") - function.result_type = 'i' - return function - - @legacy_function - def set_periodic_boundaries_flag(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_periodic_boundaries_flag(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_interpret_kicks_as_feedback_flag(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_interpret_kicks_as_feedback_flag(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_interpret_heat_as_feedback_flag(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_interpret_heat_as_feedback_flag(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_box_size(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_box_size(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_hydro_state_at_point(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - for x in ['x','y','z']: - function.addParameter(x, dtype='d', direction=function.IN) - for x in ['vx','vy','vz']: - function.addParameter(x, dtype='d', direction=function.IN, default = 0) - for x in ['rho','rhovx','rhovy','rhovz','rhoe']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - -class Gadget2Doc(object): - - def __get__(self, instance, owner): - return instance.legacy_interface.__doc__+"\n\n"+instance.parameters.__doc__ - -class Gadget2(GravitationalDynamics, GravityFieldCode): - - __doc__ = Gadget2Doc() - - def __init__(self, unit_converter = None, mode = 'normal', **options): - self.mode = mode - legacy_interface = Gadget2Interface(mode = mode, **options) - - if unit_converter is None: - unit_converter = ConvertBetweenGenericAndSiUnits( - 3.085678e21 | units.cm, # 1.0 kpc - 1.989e43 | units.g, # 1.0e10 solar masses - 1e5 | units.cm / units.s) # 1 km/sec - - self.stopping_conditions = StoppingConditions(self) - - GravitationalDynamics.__init__( - self, - legacy_interface, - unit_converter, - **options - ) - - def initialize_code(self): - result = self.overridden().initialize_code() - self.parameters.gadget_output_directory = self.get_output_directory() - # The code's units are read-only, and set here to ensure they always match with the unit_converter - self.set_unit_mass(self.unit_converter.to_si(generic_unit_system.mass).value_in(units.g)) - self.set_unit_length(self.unit_converter.to_si(generic_unit_system.length).value_in(units.cm)) - self.set_unit_time(self.unit_converter.to_si(generic_unit_system.time).value_in(units.s)) - return result - - def commit_parameters(self): - if self.parameters.comoving_integration_flag: - h = self.parameters.hubble_parameter - self.set_unit_mass(self.unit_converter.to_si(generic_unit_system.mass).value_in(units.g/h)) - self.set_unit_length(self.unit_converter.to_si(generic_unit_system.length).value_in(units.cm/h)) - self.set_unit_time(self.unit_converter.to_si(generic_unit_system.time).value_in(units.s/h)) - handler=self.get_handler("PARTICLES") - self.define_additional_particle_attributes(handler) - return self.overridden().commit_parameters() - - - def define_properties(self, handler): - handler.add_property("get_kinetic_energy") - handler.add_property("get_potential_energy") - handler.add_property("get_thermal_energy") - handler.add_property("get_total_radius") - handler.add_property("get_center_of_mass_position") - handler.add_property("get_center_of_mass_velocity") - handler.add_property("get_total_mass") - handler.add_property('get_time', public_name = "model_time") - handler.add_property('get_redshift', public_name = "model_redshift") - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - GravityFieldCode.define_state(self, handler) - - handler.add_method('EDIT', 'before_new_set_instance') - handler.add_method('EDIT', 'new_dm_particle') - handler.add_method('UPDATE', 'new_dm_particle') - handler.add_transition('RUN', 'UPDATE', 'new_dm_particle', False) - handler.add_method('EDIT', 'new_sph_particle') - handler.add_method('UPDATE', 'new_sph_particle') - handler.add_transition('RUN', 'UPDATE', 'new_sph_particle', False) - handler.add_transition('RUN', 'EVOLVED', 'evolve_to_redshift', False) - handler.add_method('EVOLVED', 'evolve_to_redshift') - handler.add_method('RUN', 'get_state_sph') - handler.add_method('RUN', 'get_acceleration') - handler.add_method('RUN', 'get_internal_energy') - handler.add_method('RUN', 'get_smoothing_length') - handler.add_method('RUN', 'get_density') - handler.add_method('RUN', 'get_alpha_visc') - handler.add_method('RUN', 'get_dalphadt_visc') - handler.add_method('RUN', 'get_pressure') - handler.add_method('RUN', 'get_d_internal_energy_dt') - handler.add_method('RUN', 'get_n_neighbours') - handler.add_method('RUN', 'get_epsilon_dm_part') - handler.add_method('RUN', 'get_epsilon_gas_part') - handler.add_method('RUN', 'set_state') - handler.add_method('RUN', 'set_state_sph') - handler.add_method('RUN', 'set_mass') - handler.add_method('RUN', 'set_position') - handler.add_method('RUN', 'set_velocity') - handler.add_method('RUN', 'set_internal_energy') - - handler.add_method('RUN', 'get_kinetic_energy') - handler.add_method('RUN', 'get_potential_energy') - handler.add_method('RUN', 'get_thermal_energy') - handler.add_method('RUN', 'get_total_radius') - handler.add_method('RUN', 'get_center_of_mass_position') - handler.add_method('RUN', 'get_center_of_mass_velocity') - handler.add_method('RUN', 'get_total_mass') - handler.add_method('RUN', 'get_hydro_state_at_point') - - - self.stopping_conditions.define_state(handler) - - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_epsilon_squared", - "set_epsilon_squared", - "epsilon_squared", - "smoothing parameter for gravity calculations", - default_value = 0.0001 | generic_unit_system.length * generic_unit_system.length - ) - - handler.add_method_parameter( - "get_time_step", - None, - "timestep", - "timestep for system, Gadget2 calculates this by itself, based on particle acceleration.", - default_value = 1.0 | generic_unit_system.time - ) - - handler.add_boolean_parameter( - "get_nogravity", - None, - "no_gravity_flag", - "No-gravity flag. True means: gravitational forces are switched of for all particles " - "(read-only: makefile option NOGRAVITY).", - False - ) - - handler.add_boolean_parameter( - "get_gdgop", - "set_gdgop", - "gadget_cell_opening_flag", - "Gadget-cell-opening flag. True means: use of Gadget cell opening criterion; Barnes-Hut otherwise", - True - ) - - handler.add_boolean_parameter( - "get_isotherm", - None, - "isothermal_flag", - "Isothermal flag. True means: isothermal gas, u is interpreted as c_s^2 " - "(read-only: makefile option ISOTHERM_EQS).", - False - ) - - handler.add_boolean_parameter( - "get_eps_is_h", - None, - "eps_is_h_flag", - "Eps-is-h flag. True means: set gas particles gravitational epsilon to h (SPH smoothing length) " - "(read-only: makefile option ADAPTIVE_GRAVSOFT_FORGAS).", - False - ) - - handler.add_method_parameter( - "get_nsmooth", - "set_nsmooth", - "n_smooth", - "The target number of SPH neighbours.", - default_value = 50 - ) - - handler.add_method_parameter( - "get_unit_mass", - None, - "code_mass_unit", - "The code mass unit (in g/h, 1.989e43 g = 10^10 MSun standard).", - default_value = 1.989e43 | units.g - ) - - handler.add_method_parameter( - "get_unit_length", - None, - "code_length_unit", - "The code length unit (in cm/h, 3.085678e21 cm = 1 kpc standard).", - default_value = 3.085678e21 | units.cm - ) - - handler.add_method_parameter( - "get_unit_time", - None, - "code_time_unit", - "The code time unit (in s/h, default: 3.085678e16 s = (1 kpc) / (1 km/s) ~ 0.9778 Gyr).", - default_value = 3.085678e16 | units.s - ) - - handler.add_method_parameter( - "get_unit_velocity", - None, - "code_velocity_unit", - "The code velocity unit (in cm/s, default: 1e5 cm/s = 1 km/s).", - default_value = 1e5 | units.cm / units.s - ) - - - handler.add_method_parameter( - "get_bh_tol", - "set_bh_tol", - "opening_angle", - "Opening angle, theta, for building the tree: between 0 and 1 (unitless, 0.5).", - default_value = 0.5 - ) - - handler.add_method_parameter( - "get_gdgtol", - "set_gdgtol", - "gadget_cell_opening_constant", - "Gadget-cell-openings criterion parameter (unitless, 0.005)", - default_value = 0.005 - ) - - handler.add_method_parameter( - "get_epsgas", - "set_epsgas", - "gas_epsilon", - "The gas gravitational smoothing epsilon.", - default_value = 0.01 | generic_unit_system.length - ) - - handler.add_method_parameter( - "get_gamma", - None, - "polytropic_index_gamma", - "gas polytropic index (1.6666667 or 1 for isothermal" - "(read-only: makefile option ISOTHERM_EQS).", - default_value = (5.0/3) - ) - - handler.add_method_parameter( - "get_alpha", - "set_alpha", - "artificial_viscosity_alpha", - "SPH artificial viscosity alpha parameter (0.5)", - default_value = 0.5 - ) - - - handler.add_method_parameter( - "get_beta", - "set_beta", - "artificial_viscosity_beta", - "SPH artificial viscosity beta parameter (2*viscosity alpha parameter)", - default_value = 1.0 - ) - - handler.add_method_parameter( - "get_courant", - "set_courant", - "courant", - "SPH courant condition parameter (0.3). Note that we follow conventional smoothing length " - "definitions, implying a factor 2 difference with Gadget's CourantFac parameter", - default_value = 0.3 - ) - - handler.add_method_parameter( - "get_nsmtol", - "set_nsmtol", - "n_smooth_tol", - "fractional tolerance in number of SPH neighbours", - default_value = 0.1 - ) - - handler.add_method_parameter( - "get_gadget_output_directory", - "set_gadget_output_directory", - "gadget_output_directory", - "Name of the Gadget-2 OutputDir", - default_value = "" - ) - - handler.add_method_parameter( - "get_viscosity_switch", - None, - "viscosity_switch", - "Viscosity switch used by Gadget2", - default_value = "standard Gadget2 viscosity" - ) - - - handler.add_method_parameter( - "get_energy_file", - "set_energy_file", - "energy_file", - "The path to the Gadget-2 energy statistics output file.", - default_value = "energy.txt" - ) - - handler.add_method_parameter( - "get_info_file", - "set_info_file", - "info_file", - "The path to the Gadget-2 info output file.", - default_value = "info.txt" - ) - - handler.add_method_parameter( - "get_timings_file", - "set_timings_file", - "timings_file", - "The path to the Gadget-2 timings output file.", - default_value = "timings.txt" - ) - - handler.add_method_parameter( - "get_cpu_file", - "set_cpu_file", - "cpu_file", - "The path to the Gadget-2 cpu statistics output file.", - default_value = "cpu.txt" - ) - - handler.add_method_parameter( - "get_time_limit_cpu", - "set_time_limit_cpu", - "time_limit_cpu", - "The cpu-time limit. Gadget2 will stop once 85% of this (wall-clock) time has passed.", - default_value = 36000 | units.s - ) - - handler.add_boolean_parameter( - "get_comoving_integration_flag", - "set_comoving_integration_flag", - "comoving_integration_flag", - "Flag to do a cosmological run with comoving coordinates.", - False - ) - - handler.add_method_parameter( - "get_type_of_timestep_criterion", - "set_type_of_timestep_criterion", - "type_of_timestep_criterion", - "Timestep criterion to use. Can only be zero: timestep proportional to acceleration^-0.5", - default_value = 0 - ) - - handler.add_method_parameter( - "get_begin_time", - "set_begin_time", - "begin_time", - "model time to start the simulation at", - default_value = 0.0 | nbody_system.time - ) - - handler.add_method_parameter( - "get_time_max", - "set_time_max", - "time_max", - "The time at the end of the run.", - default_value = 100.0 | generic_unit_system.time - ) - - handler.add_method_parameter( - "get_redshift_begin", - "set_redshift_begin", - "redshift_begin", - "The redshift at the start of the run.", - default_value = 20.0 - ) - - handler.add_method_parameter( - "get_redshift_max", - "set_redshift_max", - "redshift_max", - "The redshift at the end of the run.", - default_value = 0.0 - ) - - handler.add_method_parameter( - "get_omega_zero", - "set_omega_zero", - "omega_zero", - "Cosmological matter density parameter in units of the critical density at z=0.", - default_value = 0.0 - ) - - handler.add_method_parameter( - "get_omega_lambda", - "set_omega_lambda", - "omega_lambda", - "Cosmological vacuum energy density parameter in units of the critical density at z=0.", - default_value = 0.0 - ) - - handler.add_method_parameter( - "get_omega_baryon", - "set_omega_baryon", - "omega_baryon", - "Cosmological baryonic density parameter in units of the critical density at z=0.", - default_value = 0.0 - ) - - handler.add_method_parameter( - "get_hubble_param", - "set_hubble_param", - "hubble_parameter", - "The cosmological Hubble parameter, value of Hubble constant in units of 100 km/s / Mpc.", - default_value = 0.7 - ) - - handler.add_method_parameter( - "get_err_tol_int_accuracy", - "set_err_tol_int_accuracy", - "timestep_accuracy_parameter", - "Accuracy parameter used in timestep criterion. Actual timesteps are proportional to err_tol_int_accuracy^0.5", - default_value = 0.025 - ) - - handler.add_method_parameter( - "get_max_size_timestep", - "set_max_size_timestep", - "max_size_timestep", - "The maximum size of the timestep a particle may take.", - default_value = 0.01 | generic_unit_system.time - ) - - handler.add_method_parameter( - "get_min_size_timestep", - "set_min_size_timestep", - "min_size_timestep", - "The minimum size of the timestep a particle may take.", - default_value = 0.0 | generic_unit_system.time - ) - - handler.add_method_parameter( - "get_tree_domain_update_frequency", - "set_tree_domain_update_frequency", - "tree_domain_update_frequency", - "The frequency with which the tree and domain decomposition are fully updated, in terms of (# force computations / # particles).", - default_value = 0.05 - ) - - handler.add_method_parameter( - "get_time_between_statistics", - "set_time_between_statistics", - "time_between_statistics", - "The time between statistics output written to the output files.", - default_value = 0.1 | generic_unit_system.time - ) - - handler.add_method_parameter( - "get_min_gas_temp", - "set_min_gas_temp", - "min_gas_temp", - "The minimum temperature of gas particles.", - default_value = 0.0 | units.K - ) - - handler.add_method_parameter( - "get_min_gas_hsmooth_fractional", - "set_min_gas_hsmooth_fractional", - "min_gas_hsmooth_fractional", - "The minimum smoothing length of gas particles relative to their softening lengths.", - default_value = 0.0 - ) - - handler.add_method_parameter( - "get_softening_gas_max_phys", - "set_softening_gas_max_phys", - "softening_gas_max_phys", - "The maximum physical softening of gas particles for comoving integrations.", - default_value = 0.0 | generic_unit_system.length - ) - - handler.add_method_parameter( - "get_softening_halo_max_phys", - "set_softening_halo_max_phys", - "softening_halo_max_phys", - "The maximum physical softening of dm particles for comoving integrations.", - default_value = 0.0 | generic_unit_system.length - ) - - handler.add_method_parameter( - "get_box_size", - "set_box_size", - "periodic_box_size", - "The size of the box in case of periodic boundary conditions.", - default_value = 1.0 | generic_unit_system.length - ) - - handler.add_boolean_parameter( - "get_periodic_boundaries_flag", - None, - "periodic_boundaries_flag", - "Periodic boundaries flag. Read-only. True means: use periodic boundary conditions", - False - ) - - handler.add_boolean_parameter( - "get_interpret_kicks_as_feedback_flag", - "set_interpret_kicks_as_feedback_flag", - "interpret_kicks_as_feedback", - "Flag telling Gadget2 whether to interpret external changes to particles' velocities as feedback (for timestepping).", - False - ) - - handler.add_boolean_parameter( - "get_interpret_heat_as_feedback_flag", - "set_interpret_heat_as_feedback_flag", - "interpret_heat_as_feedback", - "Flag telling Gadget2 whether to interpret external changes to particles' internal energy as feedback (for timestepping).", - True - ) - - self.stopping_conditions.define_parameters(handler) - - - def define_particle_sets(self, handler): - handler.define_super_set('particles', ['dm_particles','gas_particles'], - index_to_default_set = 0) - - handler.define_set('dm_particles', 'index_of_the_particle') - handler.set_new('dm_particles', 'new_dm_particle') - handler.set_delete('dm_particles', 'delete_particle') - handler.add_setter('dm_particles', 'set_state') - handler.add_getter('dm_particles', 'get_state') - handler.add_setter('dm_particles', 'set_mass') - handler.add_getter('dm_particles', 'get_mass', names = ('mass',)) - handler.add_setter('dm_particles', 'set_position') - handler.add_getter('dm_particles', 'get_position') - handler.add_setter('dm_particles', 'set_velocity') - handler.add_getter('dm_particles', 'get_velocity') - handler.add_getter('dm_particles', 'get_acceleration') - handler.add_getter('dm_particles', 'get_epsilon_dm_part', names = ('radius',)) - handler.add_getter('dm_particles', 'get_epsilon_dm_part', names = ('epsilon',)) - - handler.define_set('gas_particles', 'index_of_the_particle',state_guard="before_new_set_instance") - handler.set_new('gas_particles', 'new_sph_particle') - handler.set_delete('gas_particles', 'delete_particle') - handler.add_setter('gas_particles', 'set_state_sph') - handler.add_getter('gas_particles', 'get_state_sph') - handler.add_setter('gas_particles', 'set_mass') - handler.add_getter('gas_particles', 'get_mass', names = ('mass',)) - handler.add_setter('gas_particles', 'set_position') - handler.add_getter('gas_particles', 'get_position') - handler.add_setter('gas_particles', 'set_velocity') - handler.add_getter('gas_particles', 'get_velocity') - handler.add_getter('gas_particles', 'get_acceleration') - handler.add_setter('gas_particles', 'set_internal_energy') - handler.add_getter('gas_particles', 'get_internal_energy') - handler.add_getter('gas_particles', 'get_smoothing_length') - handler.add_getter('gas_particles', 'get_density', names = ('rho',)) - handler.add_getter('gas_particles', 'get_density', names = ('density',)) - handler.add_getter('gas_particles', 'get_pressure') - handler.add_getter('gas_particles', 'get_d_internal_energy_dt') - handler.add_getter('gas_particles', 'get_n_neighbours') - handler.add_getter('gas_particles', 'get_epsilon_gas_part', names = ('radius',)) - handler.add_getter('gas_particles', 'get_epsilon_gas_part', names = ('epsilon',)) - - self.stopping_conditions.define_particle_set(handler) - - def define_additional_particle_attributes(self, handler): - if self.parameters.viscosity_switch=="Morris & Monaghan 1997": - handler.add_getter('gas_particles', 'get_alpha_visc', names = ('viscosity_alpha',)) - handler.add_getter('gas_particles', 'get_dalphadt_visc', names = ('viscosity_dalphadt',)) - - def define_errorcodes(self, handler): - handler.add_errorcode(-1, 'Unspecified, other error.') - handler.add_errorcode(-2, 'Called function is not implemented.') - handler.add_errorcode(-3, 'A particle with the given index was not found.') - handler.add_errorcode(-4, 'Parameter check failed.') - handler.add_errorcode(-5, 'CPU-time limit reached.') - handler.add_errorcode(-6, "Can't evolve backwards in time.") - handler.add_errorcode(-7, "Can't evolve further than time_max.") - handler.add_errorcode(-8, "A particle was assigned a timestep of size zero. The code_time_unit used may be too large.") - handler.add_errorcode(-9, "This function should not be used with the current value of comoving_integration_flag") - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - handler.add_method('evolve_model', (generic_unit_system.time,), ( handler.ERROR_CODE, )) - handler.add_method('evolve_to_redshift', (handler.NO_UNIT,), ( handler.ERROR_CODE, )) - handler.add_method( - "new_particle", - ( - generic_unit_system.mass, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.speed, - ), - ( - handler.INDEX, - handler.ERROR_CODE, - ) - ) - handler.add_method( - "delete_particle", - ( - handler.NO_UNIT, - ), - ( - handler.ERROR_CODE, - ) - ) - handler.add_method( - "get_state", - ( - handler.NO_UNIT, - ), - ( - generic_unit_system.mass, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.speed, - handler.ERROR_CODE - ) - ) - handler.add_method( - "set_state", - ( - handler.NO_UNIT, - generic_unit_system.mass, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.speed, - ), - ( - handler.ERROR_CODE - ) - ) - handler.add_method( - "set_mass", - ( - handler.NO_UNIT, - generic_unit_system.mass, - ), - ( - handler.ERROR_CODE - ) - ) - handler.add_method( - "get_mass", - ( - handler.NO_UNIT, - ), - ( - generic_unit_system.mass, - handler.ERROR_CODE - ) - ) - handler.add_method( - "set_radius", - ( - handler.NO_UNIT, - generic_unit_system.length, - ), - ( - handler.ERROR_CODE - ) - ) - handler.add_method( - "get_radius", - ( - handler.NO_UNIT, - ), - ( - generic_unit_system.length, - handler.ERROR_CODE - ) - ) - handler.add_method( - "set_position", - ( - handler.NO_UNIT, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - ), - ( - handler.ERROR_CODE - ) - ) - handler.add_method( - "get_position", - ( - handler.NO_UNIT, - ), - ( - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - handler.ERROR_CODE - ) - ) - handler.add_method( - "set_velocity", - ( - handler.INDEX, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.speed, - ), - ( - handler.ERROR_CODE - ) - ) - handler.add_method( - "get_velocity", - ( - handler.INDEX, - ), - ( - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.speed, - handler.ERROR_CODE - ) - ) - handler.add_method( - "get_acceleration", - ( - handler.INDEX, - ), - ( - generic_unit_system.acceleration, - generic_unit_system.acceleration, - generic_unit_system.acceleration, - handler.ERROR_CODE - ) - ) - handler.add_method( - "get_potential", - ( - handler.NO_UNIT, - ), - ( - generic_unit_system.potential, - handler.ERROR_CODE - ) - ) - handler.add_method( - "new_dm_particle", - ( - generic_unit_system.mass, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.speed, - ), - ( - handler.INDEX, - handler.ERROR_CODE, - ) - ) - handler.add_method( - "new_sph_particle", - ( - generic_unit_system.mass, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.specific_energy, - ), - ( - handler.INDEX, - handler.ERROR_CODE, - ) - ) - handler.add_method( - "get_state_sph", - ( - handler.INDEX, - ), - ( - generic_unit_system.mass, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.specific_energy, - handler.ERROR_CODE - ) - ) - handler.add_method( - "set_state_sph", - ( - handler.INDEX, - generic_unit_system.mass, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.specific_energy, - ), - ( - handler.ERROR_CODE, - ) - ) - handler.add_method( - "set_internal_energy", - ( - handler.INDEX, - generic_unit_system.specific_energy, - ), - ( - handler.ERROR_CODE, - ) - ) - handler.add_method( - "get_internal_energy", - ( - handler.INDEX, - ), - ( - generic_unit_system.specific_energy, - handler.ERROR_CODE - ) - ) - handler.add_method( - "get_smoothing_length", - (handler.INDEX,), - (generic_unit_system.length, handler.ERROR_CODE) - ) - handler.add_method( - "get_density", - (handler.INDEX,), - (generic_unit_system.density, handler.ERROR_CODE) - ) - handler.add_method( - "get_pressure", - (handler.INDEX,), - (generic_unit_system.pressure, handler.ERROR_CODE) - ) - handler.add_method( - "get_d_internal_energy_dt", - (handler.INDEX,), - (generic_unit_system.specific_energy / generic_unit_system.time, handler.ERROR_CODE) - ) - handler.add_method( - "get_n_neighbours", - (handler.INDEX,), - (handler.NO_UNIT, handler.ERROR_CODE) - ) - handler.add_method( - "get_epsilon_dm_part", - (handler.INDEX,), - (generic_unit_system.length, handler.ERROR_CODE) - ) - handler.add_method( - "get_epsilon_gas_part", - (handler.INDEX,), - (generic_unit_system.length, handler.ERROR_CODE) - ) - - - handler.add_method( - 'get_hydro_state_at_point', - (generic_unit_system.length, generic_unit_system.length, generic_unit_system.length, - generic_unit_system.speed, generic_unit_system.speed, generic_unit_system.speed), - (generic_unit_system.density, generic_unit_system.momentum_density, generic_unit_system.momentum_density, - generic_unit_system.momentum_density, generic_unit_system.energy_density, handler.ERROR_CODE) - ) - - handler.add_method( - "get_epsilon_squared", - (), - (generic_unit_system.length * generic_unit_system.length, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_epsilon_squared", - (generic_unit_system.length * generic_unit_system.length, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_time_step", - (), - (generic_unit_system.time, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_nsmooth", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_nsmooth", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_unit_mass", - (), - (units.g, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_unit_length", - (), - (units.cm, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_unit_time", - (), - (units.s, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_unit_velocity", - (), - (units.cm / units.s, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_bh_tol", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_bh_tol", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_gdgtol", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_gdgtol", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_epsgas", - (), - (generic_unit_system.length, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_epsgas", - (generic_unit_system.length, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_gamma", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_alpha", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_alpha", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - - handler.add_method( - "get_beta", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_beta", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - - handler.add_method( - "get_courant", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_courant", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_nsmtol", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_nsmtol", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_gadget_output_directory", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_gadget_output_directory", - (handler.NO_UNIT,), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_energy_file", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_energy_file", - (handler.NO_UNIT,), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_info_file", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_info_file", - (handler.NO_UNIT,), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_timings_file", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_timings_file", - (handler.NO_UNIT,), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_cpu_file", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_cpu_file", - (handler.NO_UNIT,), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_time_limit_cpu", - (), - (units.s, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_time_limit_cpu", - (units.s, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_type_of_timestep_criterion", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_type_of_timestep_criterion", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - - handler.add_method( - "get_begin_time", - (), - (generic_unit_system.time, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_begin_time", - (generic_unit_system.time, ), - (handler.ERROR_CODE,) - ) - - - handler.add_method( - "get_time_max", - (), - (generic_unit_system.time, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_time_max", - (generic_unit_system.time, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_redshift_begin", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_redshift_begin", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_redshift_max", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_redshift_max", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_omega_zero", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_omega_zero", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_omega_lambda", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_omega_lambda", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_omega_baryon", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_omega_baryon", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_hubble_param", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_hubble_param", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_err_tol_int_accuracy", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_err_tol_int_accuracy", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_max_size_timestep", - (), - (generic_unit_system.time, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_max_size_timestep", - (generic_unit_system.time, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_min_size_timestep", - (), - (generic_unit_system.time, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_min_size_timestep", - (generic_unit_system.time, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_tree_domain_update_frequency", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_tree_domain_update_frequency", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_time_between_statistics", - (), - (generic_unit_system.time, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_time_between_statistics", - (generic_unit_system.time, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_min_gas_temp", - (), - (units.K, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_min_gas_temp", - (units.K, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_min_gas_hsmooth_fractional", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_min_gas_hsmooth_fractional", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_softening_gas_max_phys", - (), - (generic_unit_system.length, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_softening_gas_max_phys", - (generic_unit_system.length, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_softening_halo_max_phys", - (), - (generic_unit_system.length, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_softening_halo_max_phys", - (generic_unit_system.length, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_box_size", - (), - (generic_unit_system.length, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_box_size", - (generic_unit_system.length, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_kinetic_energy", - (), - (generic_unit_system.energy, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_potential_energy", - (), - (generic_unit_system.energy, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_thermal_energy", - (), - (generic_unit_system.energy, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_total_radius", - (), - (generic_unit_system.length, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_center_of_mass_position", - (), - (generic_unit_system.length,generic_unit_system.length,generic_unit_system.length, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_center_of_mass_velocity", - (), - (generic_unit_system.speed,generic_unit_system.speed,generic_unit_system.speed, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_total_mass", - (), - (generic_unit_system.mass, handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_time', - (), - (generic_unit_system.time, handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_redshift', - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - self.stopping_conditions.define_methods(handler) +Gadget2 = Gadget2 diff --git a/src/amuse/community/galactics/Makefile b/src/amuse/community/galactics/Makefile deleted file mode 100644 index 668c795787..0000000000 --- a/src/amuse/community/galactics/Makefile +++ /dev/null @@ -1,77 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -CC ?= gcc -CFLAGS ?= -O3 - -FC ?= gfortran -FORTRAN ?= $(FC) -# check for gfortran, this catches link and compiler wrappers -ifeq ($(findstring GNU, $(shell $(FORTRAN) --version)), GNU) -FFLAGS = $(FCFLAGS) -ffixed-line-length-0 -O -fno-backslash -endif -ifeq ($(findstring ifort, $(notdir $(FORTRAN))), ifort) -FFLAGS = $(FCFLAGS) -O3 -132 -nofor-main -endif - -ifneq (,$(findstring xlf, $(notdir $(FORTRAN)))) -FFLAGS = $(FCFLAGS) -qfixed -qextname -endif - -GFVERSION10PLUS := $(shell expr `${FC} -dumpversion | cut -f1 -d.` \>= 10) - -ifeq (${GFVERSION10PLUS}, 1) -FFLAGS += -fallow-argument-mismatch -FCFLAGS += -fallow-argument-mismatch -endif - - -BINDIR = data/bin/ -EXES = $(BINDIR)dbh $(BINDIR)genhalo $(BINDIR)genbulge \ - $(BINDIR)getfreqs $(BINDIR)gendisk $(BINDIR)diskdf $(BINDIR)toascii - -GASBINDIR = data/gbin/ -GASEXES = $(GASBINDIR)dbh $(GASBINDIR)genhalo $(GASBINDIR)genbulge \ - $(GASBINDIR)getfreqs $(GASBINDIR)gendisk $(GASBINDIR)diskdf $(GASBINDIR)gengas $(GASBINDIR)toascii - -all: $(BINDIR) $(EXES) $(GASBINDIR) $(GASEXES) - -$(BINDIR): - mkdir -p $(BINDIR) - -$(GASBINDIR): - mkdir -p $(GASBINDIR) - -$(EXES): Makefile - mkdir -p src/bin - mkdir -p gas_src/bin - echo $(findstring xlf, $(notdir $(FORTRAN))) - make -C src/src all CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" F77="$(FC)" FFLAGS="$(FFLAGS)" F77FLAGS="$(F77FLAGS)" - make -C src/src install - make -C src/potsrc all CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" F77="$(FC)" FFLAGS="$(FFLAGS)" F77FLAGS="$(F77FLAGS)" - make -C src/potsrc install - cp src/bin/* $(BINDIR)/ - - -$(GASEXES): Makefile - echo $(findstring xlf, $(notdir $(FORTRAN))) - make -C gas_src/src all CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" F77="$(FC)" FFLAGS="$(FFLAGS)" FFLAGS2="$(FCFLAGS)" F77FLAGS="$(F77FLAGS)" PGSTUB=1 - make -C gas_src/src install - cp gas_src/bin/* $(GASBINDIR)/ - - -clean: - make -C src/src clean - make -C gas_src/src purge - make -C src/potsrc clean - rm -f src/bin/* - rm -f gas_src/bin/* - -distclean: clean - rm -f *.pyc - rm -rf data - diff --git a/src/amuse/community/galactics/__init__.py b/src/amuse/community/galactics/__init__.py index 4f0e263027..90e46ac268 100644 --- a/src/amuse/community/galactics/__init__.py +++ b/src/amuse/community/galactics/__init__.py @@ -1,2 +1,3 @@ # generated file -from .interface import Galactics +from amuse.community.galactics.interface import Galactics +from amuse.community.galactics.gas_interface import Gaslactics diff --git a/src/amuse/community/galactics/gas_interface.py b/src/amuse/community/galactics/gas_interface.py index 7c88aebae2..4da62276e7 100644 --- a/src/amuse/community/galactics/gas_interface.py +++ b/src/amuse/community/galactics/gas_interface.py @@ -1,795 +1,7 @@ -import os -import sys -import os.path -import pickle -import random -import numpy -import hashlib -from subprocess import Popen, PIPE +from amuse.support.import_helper import load_code -from amuse.units.core import * -from amuse.community import * -from amuse.community.interface.common import CommonCode, CommonCodeInterface -from amuse.support.options import option -from amuse.rfi.core import PythonCodeInterface -# KD95 = 1995MNRAS.277.1341K +GaslactICsInterface = load_code("galactics", "GaslactICsInterface") +GaslactICs = load_code("galactics", "GaslactICs") -parameters={ - "halo_type_parameter": dict(dtype="int32", default=3 ,description="type of halo 0=no,1=KD95,2=fixed (file),3=spherical df"), - "halo_scale_radius": dict(dtype="float64", default=13.7 | nbody_system.length ,description="halo scale parameter"), - "halo_virial_radius": dict(dtype="float64", default=40. | nbody_system.length ,description="halo 'virial' radius, beyond this the density is tapered smoothly"), - "halo_density_parameter": dict(dtype="float64", default=0.01 | nbody_system.density ,description="halo density parameter"), - "halo_einasto_nindex": dict(dtype="float64", default=5. ,description="einasto profile n-index"), - "halo_einasto_mass": dict(dtype="float64", default=400. ,description="einasto profile total mass"), - "halo_central_potential": dict(dtype="float64", default=-28. | nbody_system.potential ,description="KD95 central potential"), - "halo_v0": dict(dtype="float64", default=2.5 | nbody_system.speed ,description="KD95 v0 parameter"), - "halo_q": dict(dtype="float64", default=1. ,description="KD95 q parameter"), - "halo_coreparam": dict(dtype="float64", default=0.0 ,description="KD95 core parameter"), - "halo_Ra": dict(dtype="float64", default=4.| nbody_system.length ,description="KD95 Ra parameter"), - "disk_type_parameter": dict(dtype="int32", default=3 ,description="type of disk (0=no,1=KD95,2=gas disk,3=KD95 + gas)"), - "disk_mass": dict(dtype="float64", default=50. ,description="(approx) stellar disk mass"), - "disk_scale_length": dict(dtype="float64", default=3. | nbody_system.length,description="stellar disk exponential scale length"), - "disk_outer_radius": dict(dtype="float64", default=13. | nbody_system.length,description="stellar disk outer radius"), - "disk_scale_height": dict(dtype="float64", default=0.6 | nbody_system.length,description="stellar disk scale height"), - "disk_truncation_dr": dict(dtype="float64", default=1. | nbody_system.length,description="stellar disk truncation width"), - "gas_disk_mass": dict(dtype="float64", default=5. ,description="gas disk mass"), - "gas_disk_scale_length": dict(dtype="float64", default=3. | nbody_system.length,description="gas disk scale length (1/r profile)"), - "gas_disk_outer_radius": dict(dtype="float64", default=26. | nbody_system.length,description="gas disk outer radius"), - "gas_disk_truncation_dr": dict(dtype="float64", default=1. | nbody_system.length,description="gas disk truncation width"), - "gas_disk_sound_speed": dict(dtype="float64", default=0.12 | nbody_system.speed ,description="gas disk sound speed"), - "gas_disk_gamma": dict(dtype="float64", default=1. ,description="gas disk polytropic index"), - "gas_disk_number_of_radial_bins": dict(dtype="int32", default=50 ,description="gas disk nr of radial bins"), - "gas_disk_max_z": dict(dtype="float64", default=5. | nbody_system.length,description="gas disk max z of grid"), - "bulge_type_parameter": dict(dtype="int32", default=3 ,description="type of bulge (0=no, 1=KD95 (untested), 3=spherical df)"), - "bulge_cutoff_potential": dict(dtype="float64", default= -20 | nbody_system.potential ,description="KD95 cutoff potential"), - "bulge_velocity_dispersion": dict(dtype="float64", default= 1. | nbody_system.speed ,description="KD95 velocity dispersion"), - "bulge_scale_radius": dict(dtype="float64", default=0.8 | nbody_system.length,description="bulge scale radius"), - "bulge_cutoff_radius": dict(dtype="float64", default=7. | nbody_system.length,description="bulge cutoff radius"), - "bulge_density_parameter": dict(dtype="float64", default=5.5 | nbody_system.density,description="bulge density parameter"), - "radial_grid_delta_r": dict(dtype="float64", default=0.025 | nbody_system.length,description="radial grid cell size"), - "number_of_grid_intervals": dict(dtype="int32", default=20000 ,description="number of radial grid points"), - "order_of_multipole_expansion": dict(dtype="int32", default=12 ,description="order of multipole expansion"), - "disk_central_radial_vdisp_over_z_vdisp": dict(dtype="float64", default=1. ,description="disk central rdial velocity dispersion in units of z dispersion"), - "disk_scale_length_of_radial_vdisp": dict(dtype="float64", default=3. | nbody_system.length ,description="scale length of radial vel dispersion"), - "number_of_radial_steps_correction_fns": dict(dtype="int32", default=200 ,description="number of radial steps correction functions"), - "number_of_iterations": dict(dtype="int32", default=12 ,description="number of diskdf iterations"), - "halo_streaming_fraction": dict(dtype="float64", default=0.5 ,description="halo streaming factor (to impose rotation, 0.5 is no rotation)"), - "halo_number_of_particles": dict(dtype="int32", default=10000 ,description="number of particles in halo"), - "halo_random_seed": dict(dtype="int64", default=0 ,description="halo random seed"), - "halo_do_center_flag": dict(dtype="bool", default=False ,description="whether to independently center halo"), - "bulge_streaming_fraction": dict(dtype="float64", default=0.5 ,description="bulge streaming fraction (to impose rotation)"), - "bulge_number_of_particles": dict(dtype="int32", default=1000 ,description="number of bulge particles"), - "bulge_random_seed": dict(dtype="int64", default=12345678 ,description="bulge random seed"), - "bulge_do_center_flag": dict(dtype="bool", default=False ,description="whether to independently center bulge "), - "disk_number_of_particles": dict(dtype="int32", default=1000 ,description="stellar disk number of particles"), - "disk_random_seed": dict(dtype="int64", default=98765432 ,description="stellar disk random seed"), - "disk_do_center_flag": dict(dtype="bool", default=False ,description="whether to independently center the stellar disk"), - "gas_disk_number_of_particles": dict(dtype="int32", default=1000 ,description="number of gas particles"), - "gas_disk_velocity_dispersion": dict(dtype="float64", default=0. ,description="velocity dispersion of gas particles"), - "gas_disk_random_seed": dict(dtype="int64", default=543212345 ,description="random seed for gas disk"), - "reuse_cached_model" : dict(dtype="bool", default=True, description="if True reuse cached preexisting model with the same parameters"), -} - -class GaslactICsImplementation(object): - - def __init__(self): - self._output_directory = "./" - self._particles_generated = False - self._particle_data = numpy.array([]) - self._bin_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data", "gbin") - - def get_output_path(self, output_directory): - output_directory.value = self._output_directory - return 0 - - def set_output_path(self, output_directory): - self._output_directory = output_directory - return 0 - - def set_src_bin_path(self, src_bin_path): - self._bin_path = src_bin_path - return 0 - - def initialize_code(self): - self.set_default_parameter_values() - return 0 - - #parameter getters & setters - for par in parameters: - exec("def get_"+par+"(self, value): value.value = self._"+par+"; return 0") - exec("def set_"+par+"(self, value): self._"+par+" = value; return 0") - - def set_default_parameter_values(self): - for par in parameters: - if hasattr(parameters[par]["default"],"unit"): - exec("self._"+par+"=parameters[par]['default'].number") - else: - exec("self._"+par+"=parameters[par]['default']") - - def cleanup_code(self): - return 0 - - def generate_in_dbh_string(self): - in_dbh=[] - - in_dbh.append( str(self._halo_type_parameter) ) - if self._halo_type_parameter==1: - in_dbh.append( str(self._halo_central_potential)+" "+ - str(self._halo_v0)+" "+ - str(self._halo_q)+" "+ - str(self._halo_coreparam)+" "+ - str(self._halo_Ra) ) - if self._halo_type_parameter==3: - in_dbh.append( str(self._halo_scale_radius)+" "+str(self._halo_virial_radius)+" "+str(self._halo_density_parameter) ) - - in_dbh.append(str(self._disk_type_parameter)) - if self._disk_type_parameter in [1,3]: - in_dbh.append( str(self._disk_mass)+" "+ - str(self._disk_scale_length)+" "+ - str(self._disk_outer_radius)+" "+ - str(self._disk_scale_height)+" "+ - str(self._disk_truncation_dr) ) - if self._disk_type_parameter in [2,3]: - in_dbh.append( str(self._gas_disk_mass)+" "+ - str(self._gas_disk_scale_length)+" "+ - str(self._gas_disk_outer_radius)+" "+ - str(self._gas_disk_truncation_dr) ) - in_dbh.append( str(self._gas_disk_sound_speed)+" "+ - str(self._gas_disk_gamma)+" "+ - str(self._gas_disk_number_of_radial_bins)+" "+ - str(self._gas_disk_max_z) ) - - in_dbh.append(str(self._bulge_type_parameter)) - if self._bulge_type_parameter==1: - in_dbh.append( str(self._bulge_density_parameter)+" "+ - str(self._bulge_cutoff_potential)+" "+ - str(self._bulge_velocity_dispersion) ) - if self._bulge_type_parameter==3: - in_dbh.append( str(self._bulge_scale_radius)+" "+ - str(self._bulge_cutoff_radius)+" "+ - str(self._bulge_density_parameter) ) - - in_dbh.append( str(self._radial_grid_delta_r)+" "+ - str(self._number_of_grid_intervals) ) - in_dbh.append( str(self._order_of_multipole_expansion)) - in_dbh.append( "") - - in_dbh="\n".join(in_dbh) - -# print "in_dbh:\n", in_dbh - return in_dbh - - def generate_in_diskdf_string(self): - in_diskdf=[] - - in_diskdf.append( str(self._disk_central_radial_vdisp_over_z_vdisp)+" "+str(self._disk_scale_length_of_radial_vdisp)) - in_diskdf.append( str(self._number_of_radial_steps_correction_fns)) - in_diskdf.append( str(self._number_of_iterations)) - - in_diskdf.append("diskdf.ps/ps") - - in_diskdf="\n".join(in_diskdf) -# print "in_diskdf:\n", in_diskdf - return in_diskdf - - def generate_in_halo_string(self): - in_halo = "{0:.15}\n".format(self._halo_streaming_fraction) - in_halo += "{0}\n".format(self._halo_number_of_particles) - in_halo += "{0}\n".format(self._halo_random_seed) - in_halo += "{0}\n".format(1 if self._halo_do_center_flag else 0) - in_halo += "dbh.dat\n" -# print "in_halo:\n", in_halo - return in_halo - - def generate_in_bulge_string(self): - in_bulge = "{0:.15}\n".format(self._bulge_streaming_fraction) - in_bulge += "{0}\n".format(self._bulge_number_of_particles) - in_bulge += "{0}\n".format(self._bulge_random_seed) - in_bulge += "{0}\n".format(1 if self._bulge_do_center_flag else 0) - in_bulge += "dbh.dat\n" -# print "in_bulge:\n", in_bulge - return in_bulge - - def generate_in_disk_string(self): - in_disk = "{0}\n".format(self._disk_number_of_particles) - in_disk += "{0}\n".format(self._disk_random_seed) - in_disk += "{0}\n".format(1 if self._disk_do_center_flag else 0) - in_disk += "dbh.dat\n" -# print "in_disk:\n", in_disk - return in_disk - - def generate_in_gas_string(self): - in_gas = "{0}\n".format(self._gas_disk_number_of_particles) - in_gas += "{0}\n0.\n".format(self._gas_disk_velocity_dispersion) - in_gas += "{0}\n".format(self._gas_disk_random_seed) -# print "in_gas:\n", in_gas - return in_gas - - def _new_dbh_dir(self, data_directory,in_dbh,in_diskdf): - if not os.path.exists(data_directory): - os.makedirs(data_directory) -# with open(os.path.join(data_directory, "in.gendenspsi"), "w") as f: -# f.write("2000 40\n") - # for clarity, also store the used input parameters in this directory: - with open(os.path.join(data_directory, "in.dbh"), "w") as f: - f.write(in_dbh) - with open(os.path.join(data_directory, "in.diskdf"), "w") as f: - f.write(in_diskdf) - # remove finished-step files - for f in ['dbh.finished','getfreqs.finished','diskdf.finished']: - try: - os.remove(os.path.join( data_directory, f)) - except: - pass - - def _data_directory(self,in_dbh,in_diskdf): - modelhash=hashlib.sha1((in_dbh+in_diskdf).encode()).hexdigest() - return os.path.join(self._output_directory, "model_"+modelhash) - - def model_present(self,model_present): - in_dbh = self.generate_in_dbh_string() - in_diskdf = self.generate_in_diskdf_string() - data_directory=self._data_directory(in_dbh,in_diskdf) - model_present.value=self._directory_contains_valid_model(data_directory) - return 0 - - def _directory_contains_valid_model(self,data_directory): - if os.path.exists(os.path.join( data_directory)) and \ - os.path.exists(os.path.join( data_directory, 'dbh.dat')) and \ - os.path.exists(os.path.join( data_directory, 'dbh.finished')) and \ - os.path.exists(os.path.join( data_directory, 'getfreqs.finished')) and \ - (os.path.exists(os.path.join( data_directory, 'diskdf.finished')) or self._disk_type_parameter in [0,2]): - return True - else: - return False - - def _location_dbh_dat(self, in_dbh,in_diskdf): - data_directory=self._data_directory(in_dbh,in_diskdf) - - if self._directory_contains_valid_model(data_directory) and self._reuse_cached_model: - is_new = False - else: - is_new = True - self._new_dbh_dir(data_directory,in_dbh,in_diskdf) - return data_directory, is_new - - def commit_parameters(self): - try: - in_dbh = self.generate_in_dbh_string() - in_diskdf = self.generate_in_diskdf_string() - dbh_dir, is_new = self._location_dbh_dat(in_dbh, in_diskdf) - self._cwd = dbh_dir - if not is_new: - return 0 - print("Writing output to:", self._cwd) - - print("\n running dbh \n\n") - - proc=Popen([os.path.join(self._bin_path, "dbh")], - cwd = self._cwd, stdin = PIPE, stdout = sys.stdout, stderr = sys.stderr) - proc.communicate(in_dbh.encode()) - if proc.returncode==0: - open(os.path.join(dbh_dir,"dbh.finished"),'a').close() - else: - raise Exception("dbh fail") - - print("\n running getfreqs \n\n") - - proc=Popen([os.path.join(self._bin_path, "getfreqs")], - cwd = self._cwd, stdin = PIPE, stdout = sys.stdout, stderr = sys.stderr) - proc.communicate() - if proc.returncode==0: - open(os.path.join(dbh_dir,"getfreqs.finished"),'a').close() - else: - raise Exception("getfreqs fail") - - print("\n running diskdf \n\n") - - if self._disk_type_parameter in [1,3]: - proc=Popen([os.path.join(self._bin_path, "diskdf")], - cwd = self._cwd, stdin = PIPE, stdout = sys.stdout, stderr = sys.stderr) - proc.communicate(in_diskdf.encode()) - if proc.returncode==0: - open(os.path.join(dbh_dir,"diskdf.finished"),'a').close() - else: - raise Exception("diskdf fail") - - return 0 - except Exception as ex: - print("Exception occurred in commit_parameters:", ex) - return -1 - - def recommit_parameters(self): - return self.commit_parameters() - - def get_number_of_particles_updated(self, number_of_particles_updated,number_of_gas_particles_updated): - if self._particles_generated: - number_of_particles_updated.value = self._number_of_particles_updated - number_of_gas_particles_updated.value = self._number_of_gas_particles_updated - self._particles_generated = False - else: - number_of_particles_updated.value = 0 - return 0 - - def generate_particles(self): - try: - if self._disk_type_parameter in [1,3] and self._disk_number_of_particles>0: - in_disk = self.generate_in_disk_string() - process = Popen([os.path.join(self._bin_path, "gendisk")], - cwd = self._cwd, stdin = PIPE, stdout = PIPE, stderr = PIPE) - out,err=process.communicate(in_disk.encode()) - if process.returncode != 0: - print("error:", err) - return -2 - print(err ," ****") - disk_data=numpy.frombuffer(out,dtype="float32") - else: - disk_data=numpy.array([]) - - if self._disk_type_parameter in [2,3] and self._gas_disk_number_of_particles>0: - in_gas = self.generate_in_gas_string() - process = Popen([os.path.join(self._bin_path, "gengas")], - cwd = self._cwd, stdin = PIPE, stdout = PIPE, stderr = PIPE) - out,err=process.communicate(in_gas.encode()) - if process.returncode != 0: - print("error:", err) - return -2 - gas_data=numpy.frombuffer(out,dtype="float32") - else: - gas_data=numpy.array([]) - - if self._bulge_type_parameter in [1,3] and self._bulge_number_of_particles>0: - in_bulge = self.generate_in_bulge_string() - process = Popen([os.path.join(self._bin_path, "genbulge")], - cwd = self._cwd, stdin = PIPE, stdout = PIPE, stderr = PIPE) - out,err=process.communicate(in_bulge.encode()) - if process.returncode != 0: - print("error:", err) - return -3 - bulge_data=numpy.frombuffer(out,dtype="float32") - else: - bulge_data=numpy.array([]) - - if self._halo_type_parameter in [1,3] and self._halo_number_of_particles>0: - in_halo = self.generate_in_halo_string() - process = Popen([os.path.join(self._bin_path, "genhalo")], - cwd = self._cwd, stdin = PIPE, stdout = PIPE, stderr = PIPE) - out, err = process.communicate(in_halo.encode()) - if process.returncode != 0: - print("error:", err) - return -4 - halo_data=numpy.frombuffer(out,dtype="float32") - else: - halo_data=numpy.array([]) - - self._number_of_particles_updated = len(gas_data)//8+(len(halo_data)+len(bulge_data)+len(disk_data))//7 - self._number_of_gas_particles_updated = len(gas_data)//8 - self._number_of_halo_particles=len(halo_data)//7 - self._number_of_bulge_particles=len(bulge_data)//7 - self._number_of_disk_particles=len(disk_data)//7 - self._number_of_gas_particles=len(gas_data)//8 - gas_posdata=gas_data[8*numpy.arange(self._number_of_gas_particles*7)//7] - - gammafactor=1. if self._gas_disk_gamma==1 else 1/self._gas_disk_gamma/(self._gas_disk_gamma-1) - self._gas_internal_energy=gammafactor*gas_data[8*numpy.arange(self._number_of_gas_particles)+7]**2 - data=numpy.concatenate((gas_posdata,disk_data,bulge_data,halo_data)) - self._particle_data = numpy.reshape(data,( self._number_of_particles_updated,7)) - self._particles_generated = True - return 0 - except Exception as ex: - print("Exception occurred in generate_particles:", ex) - return -1 - - def get_number_of_particles(self,nhalo,nbulge,ndisk,ngas): - try: - nhalo.value=self._number_of_halo_particles - nbulge.value=self._number_of_bulge_particles - ndisk.value=self._number_of_disk_particles - ngas.value=self._number_of_gas_particles - return 0 - except: - return -1 - - def get_mass(self, index_of_the_particle, mass, length): - try: - mass.value = self._particle_data[index_of_the_particle, 0] - return 0 - except: - return -1 - - def get_position(self, index_of_the_particle, x, y, z, length): - try: - x.value = self._particle_data[index_of_the_particle, 1] - y.value = self._particle_data[index_of_the_particle, 2] - z.value = self._particle_data[index_of_the_particle, 3] - return 0 - except: - return -1 - - def get_velocity(self, index_of_the_particle, vx, vy, vz, length): - try: - vx.value = self._particle_data[index_of_the_particle, 4] - vy.value = self._particle_data[index_of_the_particle, 5] - vz.value = self._particle_data[index_of_the_particle, 6] - return 0 - except: - return -1 - - def get_internal_energy(self, index_of_the_particle, u, length): - try: - u.value = self._gas_internal_energy[index_of_the_particle] - return 0 - except: - return -1 - -class GaslactICsInterface(PythonCodeInterface, CommonCodeInterface, LiteratureReferencesMixIn, - CodeWithDataDirectories): - """ - GaslactICs is a variant of GalactICs which allows for the inclusion of a gas - disk. It generates self-consistent disc-bulge-halo-gas galaxy models. - The bulge and halo distribution functions (DFs) are functions of E and L_z - only. The halo's flattening and rotation can be specified. The disc DF is a - function of E and L_z and a third 'integral', E_z, the vertical energy, - which is approximately conserved in a warm disc with vertical extent. A - simulation of a sample model shows that in practice the models are very - close to equilibrium, making them ideal for experiments on instabilities in - galactic discs. - - Relevant references: - .. [#] Kuijken K., Dubinski J., 1995, MNRAS, 277, 1341 (original version) - .. [#] Widrow L.M., Dubinski J., 2005, ApJ, 631, 838 (2nd version) - .. [#] Widrow L.M., Pym B., Dubinski J., 2008, ApJ, 679, 1239 (current version) - .. [#] Pelupessy, F. I. et al., 2013, The Astrophysical Multipurpose Software Environment, - Astronomy and Astrophysics 557, 84 [2013A&A...557A..84P] (gas version) - """ - - def __init__(self, **options): - PythonCodeInterface.__init__(self, GaslactICsImplementation, **options) - LiteratureReferencesMixIn.__init__(self) - CodeWithDataDirectories.__init__(self) - - def _check_if_worker_is_up_to_date(self): - if not os.path.exists(os.path.join(GaslactICsImplementation()._bin_path, "dbh")): - raise exceptions.CodeException( - "The worker code of the '{0}' interface class is not up to date.\n" - "Please do a 'make clean; make' in the root directory.".format(type(self).__name__)) - - @option(type="string", sections=('data',)) - def output_data_root_directory(self): - """ - The root directory of the output data, - read - write directory - """ - return os.path.join(get_amuse_root_dir(), 'data') - - def get_output_directory(self): - """ - Returns the root name of the directory to use by the - application to store it's output / temporary files in. - """ - return os.path.join(self.output_data_root_directory, 'gaslactics', 'output') - - new_particle = None - - def delete_particle(self, index_of_the_particle): - return 0 - - @legacy_function - def get_output_path(): - function = LegacyFunctionSpecification() - function.addParameter('output_directory', dtype='string', direction=function.OUT, - description = "The path to the output directory.") - function.result_type = 'int32' - return function - - @legacy_function - def set_output_path(): - function = LegacyFunctionSpecification() - function.addParameter('output_directory', dtype='string', direction=function.IN, - description = "The path to the output directory.") - function.result_type = 'int32' - return function - - #parameter getters & setters - # boolean parameters - for par in parameters: - dtype=parameters[par]["dtype"] - if hasattr(parameters[par]["default"],"unit"): - unit=parameters[par]["default"].unit.reference_string() - else: - unit="None" - exec("@legacy_function\ndef get_"+par+"():\n function = LegacyFunctionSpecification()\n" - " function.addParameter('value', dtype='"+dtype+"', direction=function.OUT, unit="+unit+")\n" - " function.result_type = 'int32'\n return function") - exec("@legacy_function\ndef set_"+par+"():\n function = LegacyFunctionSpecification()\n" - " function.addParameter('value', dtype='"+dtype+"', direction=function.IN, unit="+unit+")\n" - " function.result_type = 'int32'\n return function") - - def invoke_state_change2(self): - pass - - def invoke_state_change_updated(self): - pass - - @legacy_function - def generate_particles(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def get_number_of_particles_updated(): - """ - Return the number of particles added during the last generate_particles. - """ - function = LegacyFunctionSpecification() - function.addParameter('number_of_particles_updated', dtype='int32', direction=function.OUT) - function.addParameter('number_of_gas_particles_updated', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_number_of_particles(): - """ - Return the number of halo/bulge/disk particles of the last generate_particles. - """ - function = LegacyFunctionSpecification() - function.addParameter('number_of_halo_particles', dtype='int32', direction=function.OUT) - function.addParameter('number_of_bulge_particles', dtype='int32', direction=function.OUT) - function.addParameter('number_of_disk_particles', dtype='int32', direction=function.OUT) - function.addParameter('number_of_gas_particles', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_mass(): - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('mass', dtype='float64', direction=function.OUT, description = "The current mass of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - - @legacy_function - def get_position(): - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('x', dtype='float64', direction=function.OUT, description = "The current x component of the position vector of the particle") - function.addParameter('y', dtype='float64', direction=function.OUT, description = "The current y component of the position vector of the particle") - function.addParameter('z', dtype='float64', direction=function.OUT, description = "The current z component of the position vector of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - - @legacy_function - def get_velocity(): - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('vx', dtype='float64', direction=function.OUT, description = "The current x component of the velocity vector of the particle") - function.addParameter('vy', dtype='float64', direction=function.OUT, description = "The current y component of the velocity vector of the particle") - function.addParameter('vz', dtype='float64', direction=function.OUT, description = "The current z component of the velocity vector of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - - @legacy_function - def get_internal_energy(): - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('u', dtype='float64', direction=function.OUT, - description = "internal energy of gas particle", unit=nbody_system.speed**2) - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - - @legacy_function - def model_present(): - """ - Return whether a valid galaxy model is present. - """ - function = LegacyFunctionSpecification() - function.addParameter('model_present', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - -class GaslactICs(CommonCode): - - def __init__(self, unit_converter = None, **options): - self.unit_converter = unit_converter - InCodeComponentImplementation.__init__(self, GaslactICsInterface(**options), **options) - - def initialize_code(self): - result = self.overridden().initialize_code() - self.parameters.set_defaults() - self.ensure_data_directory_exists(self.get_output_directory()) - self.parameters.output_directory = self.get_output_directory() - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_output_path", - "set_output_path", - "output_directory", - "The path to the output directory", - default_value = "./" - ) - - # boolean parameters - for par in parameters: - if parameters[par]["dtype"]=="bool": - handler.add_boolean_parameter( - "get_"+par, - "set_"+par, - par, - parameters[par]["description"], - default_value=parameters[par]["default"] - ) - else: - handler.add_method_parameter( - "get_"+par, - "set_"+par, - par, - parameters[par]["description"], - default_value=parameters[par]["default"] - ) - - def define_methods(self, handler): - CommonCode.define_methods(self, handler) - handler.add_method("generate_particles", (), (handler.ERROR_CODE,)) - handler.add_method("get_number_of_particles_updated", (), (handler.NO_UNIT,handler.NO_UNIT, handler.ERROR_CODE,)) - - handler.add_method("get_mass", (handler.INDEX,), - (nbody_system.mass, handler.ERROR_CODE) - ) - handler.add_method("get_position", (handler.INDEX,), - (nbody_system.length, nbody_system.length, nbody_system.length, handler.ERROR_CODE) - ) - handler.add_method("get_velocity", (handler.INDEX,), - (nbody_system.speed, nbody_system.speed, nbody_system.speed, handler.ERROR_CODE) - ) - - handler.add_method("get_output_path", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_output_path", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - for par in parameters: - if hasattr(parameters[par]["default"],"unit"): - unit=parameters[par]["default"].unit - else: - unit=handler.NO_UNIT - handler.add_method("get_"+par, (), (unit, handler.ERROR_CODE,)) - handler.add_method("set_"+par, (unit, ), (handler.ERROR_CODE,)) - - def define_converter(self, handler): - if not self.unit_converter is None: - handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) - - def define_particle_sets(self, handler): - handler.define_set('particles', 'index_of_the_particle') - handler.set_new('particles', 'new_particle') - handler.set_delete('particles', 'delete_particle') - handler.add_getter('particles', 'get_mass') - handler.add_getter('particles', 'get_position') - handler.add_getter('particles', 'get_velocity') - - handler.define_set('gas_particles', 'index_of_the_particle') - handler.set_new('gas_particles', 'new_particle') - handler.set_delete('gas_particles', 'delete_particle') - handler.add_getter('gas_particles', 'get_mass') - handler.add_getter('gas_particles', 'get_position') - handler.add_getter('gas_particles', 'get_velocity') - handler.add_getter('gas_particles', 'get_internal_energy') - - def define_state(self, handler): - CommonCode.define_state(self, handler) - handler.add_transition('INITIALIZED','EDIT','commit_parameters') - handler.add_transition('RUN','PARAMETER_CHANGE_A','invoke_state_change2') - handler.add_transition('EDIT','PARAMETER_CHANGE_B','invoke_state_change2') - handler.add_transition('PARAMETER_CHANGE_A','RUN','recommit_parameters') - handler.add_transition('PARAMETER_CHANGE_B','EDIT','recommit_parameters') - handler.add_transition('EDIT', 'UPDATE', 'generate_particles', False) - handler.add_transition('UPDATE', 'RUN', 'update_particle_set') - handler.add_transition('RUN', 'EDIT', 'clear_particle_set') - handler.add_method('RUN', 'invoke_state_change_updated') - handler.add_method('EDIT', 'get_number_of_particles_updated') - handler.add_method('UPDATE', 'get_number_of_particles_updated') - handler.add_method('RUN', 'get_number_of_particles_updated') - handler.add_method('RUN', 'get_mass') - handler.add_method('RUN', 'get_position') - handler.add_method('RUN', 'get_velocity') - - def define_state(self, handler): - CommonCode.define_state(self, handler) - - handler.add_transition('INITIALIZED','EDIT','commit_parameters') - handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False) - handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False) - handler.add_transition('UPDATE','CHANGE_PARAMETERS_UPDATE','before_set_parameter', False) - handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters') - handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') - handler.add_transition('CHANGE_PARAMETERS_UPDATE','UPDATE','recommit_parameters') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') - handler.add_method('CHANGE_PARAMETERS_UPDATE','before_set_parameter') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'model_present') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'model_present') - handler.add_method('CHANGE_PARAMETERS_UPDATE','model_present') - handler.add_method('INITIALIZED','model_present') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') - handler.add_method('CHANGE_PARAMETERS_UPDATE','before_get_parameter') - handler.add_method('RUN', 'before_get_parameter') - handler.add_method('EDIT', 'before_get_parameter') - handler.add_method('UPDATE','before_get_parameter') - - handler.add_transition('EDIT', 'UPDATE', 'generate_particles', False) - handler.add_transition('UPDATE', 'RUN', 'update_particle_set') - handler.add_transition('RUN', 'EDIT', 'clear_particle_set') - handler.add_method('RUN', 'invoke_state_change_updated') - handler.add_method('EDIT', 'get_number_of_particles_updated') - handler.add_method('UPDATE', 'get_number_of_particles_updated') - handler.add_method('RUN', 'get_number_of_particles_updated') - handler.add_method('RUN', 'get_number_of_particles') - handler.add_method('RUN', 'get_mass') - handler.add_method('RUN', 'get_position') - handler.add_method('RUN', 'get_velocity') - handler.add_method('RUN', 'get_internal_energy') - - def commit_parameters(self): - if not self.model_present(): - print("generating galaxy model, this may take a while...") - self.overridden().commit_parameters() - - def recommit_parameters(self): - if not self.model_present(): - print("(re)generating galaxy model, this may take a while...") - self.overridden().recommit_parameters() - - def generate_particles(self): - result = self.overridden().generate_particles() - self.invoke_state_change_updated() - - def update_particle_set(self): - """ - update the particle set after changes in the code - - this implementation needs to move to the - amuse.datamodel.incode_storage module, as - it uses a lot of internal methods and info! - """ - number_of_updated_particles,number_of_updated_gas_particles = self.get_number_of_particles_updated() - if number_of_updated_particles: - self.particles._private.attribute_storage._add_indices( - list(range(number_of_updated_gas_particles,number_of_updated_particles)) - ) # this should generate disjoint sets (gas_particles not in particles) - if number_of_updated_gas_particles: - self.gas_particles._private.attribute_storage._add_indices( - list(range(number_of_updated_gas_particles)) - ) - - def clear_particle_set(self): - if len(self.particles): - self.particles.remove_particles(self.particles) - if len(self.gas_particles): - self.gas_particles.remove_particles(self.gas_particles) - - @property - def halo_particles(self): - nhalo,nbulge,ndisk,ngas=self.get_number_of_particles() - return self.particles[ngas+ndisk+nbulge:] - - @property - def bulge_particles(self): - nhalo,nbulge,ndisk,ngas=self.get_number_of_particles() - return self.particles[ngas+ndisk:ngas+ndisk+nbulge] - - @property - def disk_particles(self): - nhalo,nbulge,ndisk,ngas=self.get_number_of_particles() - return self.particles[ngas:ngas+ndisk] +Gaslactics = GaslactICs diff --git a/src/amuse/community/galactics/gas_src/src/Makefile b/src/amuse/community/galactics/gas_src/src/Makefile deleted file mode 100644 index 5af86fc4b8..0000000000 --- a/src/amuse/community/galactics/gas_src/src/Makefile +++ /dev/null @@ -1,120 +0,0 @@ -#Makefile for particle generators of the combined df - June 8/94 - JJD -# -.f.o: - $(FC) $(FFLAGS) -c $*.f - -PGSTUB ?= 0 - -ifeq ($(PGSTUB),0) -PGPLOTLIBS=-L/usr/X11/lib/ -lX11 -L${PGPLOT_DIR} -lpgplot -else -PGPLOTLIBS=pgstub.o -endif - - -ALLFILES= dbh genhalo genbulge gendisk diskdf \ - getfreqs vcirc plothalo plotforce gengas toascii - -#FFLAGS = -O -extend_source -#CFLAGS = -O2 -DRINGASCII -DASCII -DTP -#LIBS = -lm -lots -lfor -FFLAGS ?= -132 -O2 -ip -nofor-main -FFLAGS2 ?= -O2 -ip - -GENLIBS=-lstdc++ - -all: pgstub.o $(ALLFILES) - -%.o: %.f90 - $(FC) $(FFLAGS2) -g -c -o $@ $< - -%.o: %.f - $(FC) $(FFLAGS) -g -c -o $@ $< - -dbh: dbh.o dbhplot.o polardens.o bulgepotential.o totdens.o halopotential.o \ - pot.o thickdisk2.o diskdens.o dens.o appdiskpot.o plgndr1.o bulgedenspsi.o densrpsi.o \ - polarbulgedens.o polarhalodens.o appdiskdens.o halodens.o erfcen.o \ - modstamp.o fixedhalopot.o sphericaldf_nfw.o bessj01.o \ - erfcc.o bulgedens.o fixedbulgepot.o sphericaldf_hernquist.o alldens.o - $(FC) $(FFLAGS) -o $@ $^ $(LIBS) $(PGPLOTLIBS) - -genhalo: genhalo.o readmassrad.o query.o ran1.o prng_engine_wrapper.o readharmfile.o pot.o \ - halodens.o appdiskpot.o plgndr1.o densrpsi.o erfcen.o fixedhalopot.o thickdisk2.o \ - bessj01.o erfcc.o sphericaldf_nfw.o diskdens.o \ - fixedbulgepot.o sphericaldf_hernquist.o alldens.o - $(FC) $(FFLAGS) -o $@ $^ $(LIBS) $(GENLIBS) - -genbulge: genbulge.o readmassrad.o query.o ran1.o prng_engine_wrapper.o readharmfile.o pot.o \ - bulgedens.o appdiskpot.o plgndr1.o bulgedenspsi.o erfcen.o \ - fixedhalopot.o thickdisk2.o bessj01.o erfcc.o sphericaldf_nfw.o \ - bulgedens.o fixedbulgepot.o sphericaldf_hernquist.o diskdens.o alldens.o - $(FC) $(FFLAGS) -o $@ $^ $(LIBS) $(GENLIBS) - -gendisk: gendisk.o ran1.o prng_engine_wrapper.o query.o readdiskdf.o golden.o simpson.o diskdf5ez.o \ - diskdensf.o readharmfile.o sigr2.o sigz2.o omekap.o diskdens.o \ - splined.o splintd.o diskdf3ez.o diskdenspsi.o pot.o fnamidden.o \ - appdiskpot.o plgndr1.o rcirc.o fixedhalopot.o \ - thickdisk2.o bessj01.o erfcc.o sphericaldf_nfw.o \ - fixedbulgepot.o sphericaldf_hernquist.o alldens.o - $(FC) $(FFLAGS) -o $@ $^ $(LIBS) $(GENLIBS) - -gengas: readharmfile.o diskinfo.o thickdisk2.o bessj01.o erfcc.o gasdisk3.o \ - diskdens.o sphericaldf_nfw.o bessj01.o erfcc.o pot.o force.o query.o \ - fixedhalopot.o appdiskpot.o plgndr1.o appdiskforce.o gengas.o \ - fixedbulgepot.o sphericaldf_hernquist.o alldens.o prng_engine_wrapper.o - $(FC) $(FFLAGS) -o $@ $^ $(LIBS) $(GENLIBS) - -diskdf: diskdf.o diskdf5intez.o diskdensf.o splintd.o splined.o readharmfile.o \ - sigr2.o sigz2.o omekap.o pot.o diskdf3intez.o appdiskpot.o plgndr1.o \ - fnamidden.o rcirc.o diskdens.o modstamp.o fixedhalopot.o \ - thickdisk2.o bessj01.o erfcc.o sphericaldf_nfw.o \ - fixedbulgepot.o sphericaldf_hernquist.o alldens.o - $(FC) $(FFLAGS) $(LIBS) -lstdc++ -o $@ $^ $(PGPLOTLIBS) - -getfreqs: newfreqs.o pot.o appdiskpot.o plgndr1.o erfcen.o thickdisk2.o bessj01.o \ - erfcc.o fixedhalopot.o\ - fixedbulgepot.o - $(FC) $(FFLAGS) $(LIBS) -o $@ $^ - -#tobinary: tobinary.o -# $(FC) $(CFLAGS) $(LIBS) -o $@ $^ - -vcirc: vcirc.o query.o readharmfile.o force.o appdiskforce.o bessj01.o erfcc.o\ - appdiskpot.o plgndr1.o sphericaldf_nfw.o diskdens.o fixedhalopot.o \ - thickdisk2.o pot.o fixedbulgepot.o sphericaldf_hernquist.o alldens.o - $(FC) $(FFLAGS) $(LIBS) -o $@ $^ - -plothalo: plothalo.o contourden.o readdiskdf.o diskdens.o halodens.o bulgedens.o \ - bulgedenspsi.o diskdensf.o readharmfile.o sigr2.o densrpsi.o omekap.o pot.o \ - splined.o appdiskpot.o splintd.o diskdenspsi.o erfcen.o plgndr1.o modstamp.o \ - thickdisk2.o sphericaldf_nfw.o fixedhalopot.o bessj01.o erfcc.o \ - bulgedens.o fixedbulgepot.o sphericaldf_hernquist.o alldens.o - $(FC) $(FFLAGS2) -o $@ $^ $(LIBS) $(PGPLOTLIBS) - -plotforce: plotforce.o readharmfile.o readdiskdf.o force.o appdiskforce.o appdiskpot.o \ - diskdensf.o sigr2.o omekap.o plgndr1.o diskdens.o splined.o splintd.o diskdenspsi.o \ - pot.o modstamp.o fixedhalopot.o sphericaldf_nfw.o thickdisk2.o bessj01.o \ - fixedbulgepot.o sphericaldf_hernquist.o erfcc.o alldens.o - $(FC) $(FFLAGS) $(LIBS) -o $@ $^ $(PGPLOTLIBS) - -testgas: testgas.o ran1.o prng_engine_wrapper.o readharmfile.o pot.o \ - halodens.o appdiskpot.o plgndr1.o densrpsi.o erfcen.o fixedhalopot.o thickdisk2.o \ - bessj01.o erfcc.o sphericaldf_nfw.o diskdens.o \ - fixedbulgepot.o sphericaldf_hernquist.o alldens.o - $(FC) $(CFLAGS) -o $@ $^ $(LIBS) - -toascii: toascii.o - $(CC) $(CFLAGS) toascii.o -o toascii $(LIBS) - - -clean: - rm -f *.o *.mod *.bck - -purge: clean - rm -f $(ALLFILES) - -install: all - cp -f $(ALLFILES) ../bin - -#flatdiskpot.o: flatdiskpot.cc -# g++ -I/software/local/include diff --git a/src/amuse/community/galactics/gas_src/src/genbulge.c b/src/amuse/community/galactics/gas_src/src/genbulge.c deleted file mode 100644 index 659733c9c1..0000000000 --- a/src/amuse/community/galactics/gas_src/src/genbulge.c +++ /dev/null @@ -1,210 +0,0 @@ -#include "main.h" - -// random skip factor, must be larger than the number of random draws per particle -#define SKIP 100000 - -main(argc,argv) -int argc; -char **argv; -{ - int i, j, k, nobj=10000; - long long lseed=0; - int seed= -123; - int icofm=1; - float q=0.9, rtrunc=5.0; - float rhoran, massapp; - float x, y, z, vx, vy, v, v2, R, vmax, vmax2; - float phi, cph, sph, cth, sth, vR, vp, vz; - float E, Lz, rad, rad2; - float f0, frand, fmax, psi; - float Fbulge(); - float ran1(); - void ran_seed(); - float t, mass; - float dr; - float u1, v1, u1max, v1max; - float xcm, ycm, zcm, vxcm, vycm, vzcm; - float zip = 0.0, psi0; - float rhomax=0.15, rhomin, rhotst; - float rhomax1; - float stream=0.5; - float bulgedens_(), pot_(); - char harmfile[40]; - FILE *outfile; - - - fprintf(stderr,"The Bulge\n"); - (void) strcpy(harmfile,"dbh.dat"); - fquery("Enter streaming fraction",&stream); - iquery("Enter the number of particles",&nobj); - llquery("Enter negative integer seed",&lseed); - iquery("Center particles (0=no, 1=yes)",&icofm); - cquery("Enter harmonics file",harmfile); - - readmassrad(); - readharmfile_(harmfile,&gparam); - psicutb = gparam.psicut; sigb2 = gparam.sigbulge; rho1 = gparam.rho1; -// sigb2 = sigb*sigb; - psi0=gparam.psi0; - fbulgeconst = rho1/pow(2.0*M_PI*sigb2,1.5); - bulgeflag=gparam.ibulgeflag; - mass = bulgemass/nobj; - rtrunc = bulgeedge; - u1max = rtrunc; - v1max = 0.5*M_PI; - - R=0;z=0; -// psi0=pot_(&R,&z); - fprintf(stderr,"psi0 %f %f %f\n",psi0,sigb2,psicutb); - fflush(stderr); - - r = (phase *) calloc(nobj,sizeof(phase)); - -/* Find maximum of rho*r^2 */ - dr = rtrunc/100; - rhomax1 = 0.0; - for(i=0; i<100; i++) { - float z, rcyl, rhocur; - rcyl = i*dr; - z = 0; - rhocur = bulgedens_(&rcyl,&z); - rhocur *= (rcyl*rcyl); - if( rhocur > rhomax1 ) - rhomax1 = rhocur; - } - fprintf(stderr,"rhomax1 = %g\n",rhomax1); - rhomax = 1.5*rhomax1; - rhomin = 1.0e-10*rhomax; /* define density contour cutoff */ - - fprintf(stderr,"Calculating bulge particles positions and velocities\n"); - if(lseed<0) lseed=-lseed; - ran_seed(SKIP*lseed); - for(i=0; i rhotst ) - continue; - phi = 2.0*M_PI*ran1(&seed); - x = R*cos(phi); - y = R*sin(phi); - - psi = pot_(&R,&z); -// vmax2 = -2.0*(psi-psi0-psicutb); - vmax2=-2*psi; - vmax = sqrt(vmax2); - fmax = Fbulge(psi,psi0); - f0 = 0.0; frand = 1.0; /* dummy starters */ - j = 0; - while( frand > f0 ) { - /* select a random speed < the escape speed */ - - v2 = 1.1*vmax2; - while( v2 > vmax2 ) { - vx = 2*vmax*(ran1(&seed) - 0.5); - vy = 2*vmax*(ran1(&seed) - 0.5); - vz = 2*vmax*(ran1(&seed) - 0.5); - v2 = vx*vx + vy*vy + vz*vz; - } - E = 0.5*v2 + psi; - f0 = Fbulge(E,psi0); - frand = fmax*ran1(&seed); - j++; - } - -/* Streaming of the bulge */ - vR = (vx*x + vy*y)/R; - vp = (-vx*y + vy*x)/R; - if( ran1(&seed) < stream ) - vp = fabs(vp); - else - vp = -fabs(vp); - vx = (vR*x - vp*y)/R; - vy = (vR*y + vp*x)/R; - - r[i].x = (float) x; - r[i].y = (float) y; - r[i].z = (float) z; - r[i].vx = (float)vx; - r[i].vy = (float)vy; - r[i].vz = (float)vz; - i++;ran_seed(SKIP*(lseed + i)); - if( i % 1000 == 0 ) fprintf(stderr,"."); - } - fprintf(stderr,"\n"); - - if( icofm ) { - xcm = ycm =zcm = vxcm =vycm =vzcm = 0; - for(i=0; i psicutb ) - return 0.0; - - f0 = exp(-(E-psi0-psicutb)/sigb2)-1; - - return f0; -} - -float Fbulge(E,psi0) -float E, psi0; -{ - float fbulge3_(); - if(bulgeflag == 1) return Fbulge1(E,psi0); - if(bulgeflag == 3) return fbulge3_(&E,&psi0); - printf("error2\n"); - exit(1); - } - diff --git a/src/amuse/community/galactics/gas_src/src/gendisk.c b/src/amuse/community/galactics/gas_src/src/gendisk.c deleted file mode 100644 index bf8390f855..0000000000 --- a/src/amuse/community/galactics/gas_src/src/gendisk.c +++ /dev/null @@ -1,382 +0,0 @@ -#include "main.h" - -// random skip factor, must be larger than the number of random draws per particle -#define SKIP 100000 - -float rad; -float Rc, zc; - -main(argc,argv) -int argc; -char **argv; -{ - int i, j, k, nobj=10000; - int seed= -123; - long long lseed=0; - int icofm=1; - float q=0.9, rtrunc=5.0; - float rhoran, massapp; - float x, y, z, vx, vy, v, v2, R, vmax, vmax2; - float phi, cph, sph, cth, sth, vR, vp, vz; - float E, Lz, rad, rad2; - float f0, frand, fmax, fmax1, vphimax1, psi, fnorm; - float Fdisk(); - float ran1(); - void ran_seed(); - float invu(); - float dr, rhomax1; - float t, mass; - float u1, v1, u1max, v1max; - float xcm, ycm, zcm, vxcm, vycm, vzcm; - float zip = 0.0, psi0; - float rhomax=0.15, rhomin, rhotst; - float rhoguess, zcon; - float stream=0.5; - float con, routdisk, drtrunc; - float omega, kappa; - float dv, v0; - float broadcon=1.0; - float diskdensf_(), sigr2_(), sigz2_(); - float FindMax(), FindMax1(), Fmax(); - float simpson(), massring(); - FILE *rhoout; - FILE *errfile; - FILE *outfile; - char harmfile[40]; - - errfile = fopen("errmsg.dat","w"); - strcpy(harmfile,"dbh.dat"); - iquery("Enter the number of particles",&nobj); -/* fquery("Enter distribution broadening constant",&broadcon); */ - llquery("Enter negative integer seed",&lseed); - iquery("Center the simulation (0=no,1=yes)",&icofm); - cquery("Enter harmonics file",harmfile); - - r = (phase *) calloc(nobj,sizeof(phase)); - -/* readmassrad(); */ - readdiskdf_(harmfile,&gparam); - mdisk = gparam.mdisk; rdisk = gparam.rdisk; zdisk = gparam.zdisk; - routdisk = gparam.routdisk; drtrunc = gparam.drtrunc; - rd = 1.2*rdisk; - zd = 1.2*zdisk; - rtrunc = (routdisk + 2.0*drtrunc); - - diskmass = 4.0*M_PI*simpson(massring,0.0,rtrunc,128); - mass = diskmass/nobj; - dr = rtrunc/100.; - rhomax = 0.0; - rhoout = fopen("rhotst.dat","w"); - for(i=0; i<100; i++) { - R = i*dr; - z = 0.0; - rhoguess = exp(-R/rd); - rhotst = diskdensf_(&R,&z); - rhotst /= rhoguess; - if( rhotst > rhomax ) rhomax = rhotst; - fprintf(rhoout,"%g %g\n",R, rhotst); - } - rhomin = 0.0; - rhomax *=1.2; - - fprintf(stderr,"Calculating disk positions and velocities\n"); - if(lseed<0) lseed=-lseed; - ran_seed(SKIP*lseed); - for(i=0, j=0, k=0; i=1.); - R = rd*invu(u1); - - z = zd*atanh(v1); - - zcon = cosh(z/zd); - rhoguess = exp(-R/rd)/(zcon*zcon); -/* Guess at the approximate functional form of the density */ - - rhotst = diskdensf_(&R,&z); - - rhotst /= rhoguess; - - k++; - if( rhotst < rhomin ) - continue; - - rhoran = (rhomax - rhomin)*ran1(&seed); - if( rhoran > rhotst ) - continue; - phi = 2.0*M_PI*ran1(&seed); - x = R*cos(phi); - y = R*sin(phi); - - omekap_(&R, &omega, &kappa); - vphimax = omega*R; - - vsigR = sqrt(sigr2_(&R)); - vsigp = kappa/(2.0*omega)*vsigR; - vsigz = sqrt(sigz2_(&R)); -/* - fmax = Fdisk(0.0,vphimax,0.0,R,z); - fprintf(stderr,"%g %g %g\n",vphimax, fmax, vsigp); - fmax = 1.1*FindMax(R,z,&vphimax); - fprintf(stderr,"%g %g\n",vphimax, fmax); - fmax = Fmax(R,z,0.0,0.0,4.0*vsigp,&vphimax); - fprintf(stderr,"%g %g\n",vphimax, fmax); -*/ -/* - vphimax1 = vphimax; - fmax1 = 1.1*FindMax1(R,z,&vphimax1); - fprintf(stderr,"R %g z %g %g %g %g %g\n",R,z,vphimax1, fmax1, vphimax, fmax); -*/ - fmax = 1.1*FindMax(R,z,&vphimax); - f0 = 0.0; frand = 1.0; /* dummy starters */ - while( frand > f0 ) { - float f1; - float gr, gp, gz, g2; - - g2 = 999.; - while( g2 > 1.0) { - gr = 8.0*(ran1(&seed) - 0.5); - gp = 16.0*(ran1(&seed) - 0.5); - gz = 8.0*(ran1(&seed) - 0.5); - g2 = gr*gr/16. + gp*gp/64. + gz*gz/16.; - } - - vR = broadcon*vsigR*gr; - vp = vphimax + broadcon*vsigp*gp; - vz = broadcon*vsigz*gz; - - f0 = Fdisk(vR, vp, vz, R, z); - frand = fmax*ran1(&seed); - if( f0 > fmax ) { - float vpmax; - fprintf(errfile,"f0 > fmax at R=%g z=%g\nvr=%g vp=%g, vz=%g vphimax=%g f0=%g, fmax=%g\n", - R,z, - vR*broadcon/vsigR, - (vp - vphimax)*broadcon/vsigp, - vz*broadcon/vsigz, vphimax, f0, fmax); -/* - vpmax = vphimax; - fprintf(errfile,"fmax is %g at true vmax %g guess %g\n",Fmax(R,z,0.0,0.0,4.0*vsigp,&vpmax), vpmax, vphimax); - fprintf(errfile,"guess fmax %g f0 %g vp %g\n",fmax,f0,vp); -*/ - fflush(errfile); - } - j++; - } - - cph = x/R; sph = y/R; - vx = vR*cph - vp*sph; - vy = vR*sph + vp*cph; - /* vz stays the same */ - - r[i].x = (float) x; - r[i].y = (float) y; - r[i].z = (float) z; - r[i].vx = (float)vx; - r[i].vy = (float)vy; - r[i].vz = (float)vz; - i++; ran_seed(SKIP*(lseed+i)); - if( i % 1000 == 0 ) { - fprintf(stderr,"."); - fflush(stderr); - } - } - fprintf(stderr,"\n"); - fprintf(stderr,"number of density trials %d\n",k); - fprintf(stderr,"number of velocity trials %d\n",j); - - if( icofm ) { - xcm = ycm =zcm = vxcm =vycm =vzcm = 0; - for(i=0; i eps); i++) { - rnew = rg - (-(1.0 + rg)*exp(-rg) - u) - /(rg*exp(-rg)); - dr = fabs(rnew - rg); - rg = rnew; - } - if( i == 20 ) fprintf(stderr,"Warning R did not converge\n"); - return (float) rg; -} - -/* A approximate estimate of the local maximum of the distribution function */ -float Fmax(R,z,vR,vz,vlimit, vpmax) -float R, z, vR, vz; -float *vpmax, vlimit; -{ - int i; - float v, dv, fmax, vmax, v0; - float Fdisk(); - - dv = 2.0*vlimit/100; - v0 = *vpmax - 50*dv; - fmax = Fdisk(vR, v0, vz, R, z); - for(i=0; i<100; i++) { - float ftry, vtry; - - vtry = v0 + i*dv; - ftry = Fdisk(vR, vtry, vz, R, z); - if( ftry > fmax ) { - fmax = ftry; - vmax = vtry; - } - } - *vpmax = vmax; - - return fmax; -} - -float FindMax1(R,z,vpmax) -float R, z, *vpmax; -{ - int upflag, flag; - float dv, vpm, vpmold, v0, v1; - float f0, f1, ftmp, fmid; - float Fdisk(); - - dv = 0.1*vsigp; - vpm = *vpmax; - v0 = vpm - dv; - v1 = vpm + dv; - - f0 = Fdisk(0.0,v0,0.0,R,z); - fmid = Fdisk(0.0,vpm,0.0,R,z); - f1 = Fdisk(0.0,v1,0.0,R,z); - if( fmid >= f0 && fmid >= f1 ) - return fmid; - - if( f0 > f1 ) { - ftmp = f0; - f0 = f1; - f1 = ftmp; - v1 = v0; - dv = -dv; - } - vpm = v1; - - flag = 1; - while( flag ) { - - dv *= 2.0; - vpmold = vpm; - vpm += dv; - f0 = f1; - f1 = Fdisk(0.0,vpm,0.0,R,z); - flag = (f1 > f0); - } - *vpmax = vpmold; - return f0; -} - -float FindMax(R,z,vpmax) -float R, z, *vpmax; -{ - float vpm; - float v0, v1; - float eps=0.01; - float fmax, golden(), fgold(); - - Rc = R; zc = z; - - vpm = *vpmax; - v0 = *vpmax - 3.0*vsigp; - v1 = *vpmax + 3.0*vsigp; -/* - f0 = Fdisk(0.0,v0,0.0,R,z); - f1 = Fdisk(0.0,v1,0.0,R,z); - fm = Fdisk(0.0,vpm,0.0,R,z); -*/ - - fmax = -golden(v0,vpm,v1, fgold, eps, vpmax); - - return fmax; - -} - -float fgold(vp) -float vp; -{ - float R, z; - - R = Rc; z = zc; - return( -Fdisk(0.0,vp,0.0,R,z) ); -} - -float massring(r) -float r; -{ - float denz(); - float simpson(); - - rad = r; - return( rad*simpson(denz,0.0,5.0*zdisk,128) ); -} - -float denz(z) -float z; -{ - float z0; - float diskdensf_(); - - z0 = z; - return diskdensf_(&rad, &z0); -} - diff --git a/src/amuse/community/galactics/gas_src/src/genhalo.c b/src/amuse/community/galactics/gas_src/src/genhalo.c deleted file mode 100644 index 118da7c113..0000000000 --- a/src/amuse/community/galactics/gas_src/src/genhalo.c +++ /dev/null @@ -1,223 +0,0 @@ -#include "main.h" - -// random skip factor, must be larger than the number of random draws per particle -#define SKIP 100000 - -main(argc,argv) -int argc; -char **argv; -{ - int i, j, k, nobj=10000; - long long lseed=0; - int seed= -123; - float q=0.9, rtrunc=5.0; - float rhoran, massapp; - float x, y, z, vx, vy, v, v2, R, vmax, vmax2; - float phi, cph, sph, cth, sth, vR, vp, vz; - float E, Lz, rad, rad2; - float f0, frand, fmax, psi; - float Fhalo(), halodens_(), pot_(); - float ran1(); - void ran_seed(); - float dr, rhomax1; - float t, mass; - float u1, v1, u1max, v1max; - float xcm, ycm, zcm, vxcm, vycm, vzcm; - float zip = 0.0, psi0; - float rhomax=0.15, rhomin, rhotst; - float stream=0.5, massfrac=1.0; - int icofm=1; - char harmfile[60]; - FILE *outfile; - strcpy(harmfile,"dbh.dat"); - fquery("Enter streaming fraction",&stream); - iquery("Enter the number of particles",&nobj); - llquery("Enter negative integer seed",&lseed); - iquery("Center particles (0=no, 1=yes)",&icofm); - cquery("Enter harmonics file",harmfile); - - readmassrad(); /* reads in mass and truncation radius of components */ - readharmfile_(harmfile,&gparam); - A = gparam.A; B = gparam.B; C = gparam.C; - v0 = gparam.v0; q = gparam.q; psi0 = gparam.psi0; - v02 = v0*v0;haloflag=gparam.ihaloflag; - - fprintf(stderr,"flags: %d %d %d\n", - gparam.idiskflag,gparam.ibulgeflag,gparam.ihaloflag); - - rtrunc = haloedge; mass = halomass/nobj; - fprintf(stderr,"haloedge: %g\n",haloedge); - u1max = rtrunc; - v1max = 0.5*M_PI; - - r = (phase *) calloc(nobj,sizeof(phase)); - -/* Find maximum of rho*r^2 */ - dr = rtrunc/100; - rhomax1 = 0.0; -/* check the R-axis first */ - for(i=0; i<100; i++) { - float z, rcyl, rhocur; - rcyl = i*dr; - z = 0; - rhocur = halodens_(&rcyl,&z); - rhocur *= (rcyl*rcyl); - if( rhocur > rhomax1 ) - rhomax1 = rhocur; - } - fprintf(stderr,"rhomax on R-axis is %g\n",rhomax1); -/* then check the z-axis */ - for(i=0; i<100; i++) { - float z, rcyl, rhocur; - rcyl = 0; - z = i*dr; - rhocur = halodens_(&rcyl,&z); - rhocur *= (z*z); - if( rhocur > rhomax1 ) - rhomax1 = rhocur; - } - fprintf(stderr,"rhomax1 = %g\n",rhomax1); - rhomax = 1.5*rhomax1; - rhomin = 1.0e-10*rhomax; /* define density contour cutoff */ - fprintf(stderr,"rhomin, rhomax: %g %g\n",rhomin,rhomax); - - fprintf(stderr,"Calculating halo positions and velocities\n"); - if(lseed<0) lseed=-lseed; - ran_seed(SKIP*lseed); - for(i=0; i 4*haloedge*haloedge) - continue; - - rhotst = halodens_(&R,&z); - rhotst = rhotst*(R*R + z*z); - - j++; - if( rhotst < rhomin ) - continue; - if(z> 100000.) printf("v1, rhotst: %g %g\n",z,rhotst); - - - rhoran = (rhomax - rhomin)*ran1(&seed); - if( rhoran > rhotst ) - continue; - phi = 2.0*M_PI*ran1(&seed); - x = R*cos(phi); - y = R*sin(phi); - - psi = pot_(&R,&z); - psi = -psi; - - vmax2 = 2*psi; - vmax = sqrt(vmax2); - fmax = 1.1*Fhalo(psi,0.0); - f0 = 0.0; frand = 1.0; /* dummy starters */ - j = 0; - while( frand > f0 ) { - - /* select a random speed <3x the circular speed */ - - v2 = 1.1*2.0*psi; - while( v2 > vmax2 ) { - vR = 2*vmax*(ran1(&seed) - 0.5); - vp = 2*vmax*(ran1(&seed) - 0.5); - vz = 2*vmax*(ran1(&seed) - 0.5); - v2 = vR*vR + vp*vp + vz*vz; - } - E = psi - 0.5*v2; - Lz = R*vp; - f0 = Fhalo(E,Lz); - frand = fmax*ran1(&seed); - j++; - } - - if( ran1(&seed) < stream ) - vp = fabs(vp); - else - vp = -fabs(vp); - - cph = x/R; sph = y/R; - vx = vR*cph - vp*sph; - vy = vR*sph + vp*cph; - /* vz stays the same */ - - r[i].x = (float) x; - r[i].y = (float) y; - r[i].z = (float) z; - r[i].vx = (float)vx; - r[i].vy = (float)vy; - r[i].vz = (float)vz; - i++;ran_seed(SKIP*(lseed+i)); - if( i % 1000 == 0 ) fprintf(stderr,"."); - } - fprintf(stderr,"\n"); - - if( icofm ) { - xcm = ycm =zcm = vxcm =vycm =vzcm = 0; - for(i=0; i -#include -#include -#include -#define GCON 6.349363592e-2 /* (2.0*pi)^(-3/2) */ - -/* Generate a distribution which follows an oblate logarithmic potential */ - -typedef struct { - float x, y, z, vx, vy, vz; -} phase; - -typedef struct { - float A; - float B; - float C; - float v0; - float q; - float psi0; - float psicut; - float rho1; - float sigbulge; - float mdisk; - float rdisk; - float zdisk; - float routdisk; - float drtrunc; - float potcor; - int idiskflag; - int ibulgeflag; - int ihaloflag; -} galaxy; - -phase *r; -galaxy gparam; - - -/* Disk Constants */ -float mdisk, rdisk, zdisk; -float rd, zd; -float vsigR, vsigp, vsigz, vphimax; -float diskmass, diskedge; - -/* Bulge Constants */ -float rho1=100, sigb=0.3, sigb2, psicutb= -1.0, fbulgeconst; -float bulgemass, bulgeedge; -int bulgeflag; - - -/* Halo Constants */ -float A, B, C, D1, D2, D3, q2, v0, v02; -float halomass, haloedge; -int haloflag; - diff --git a/src/amuse/community/galactics/gas_src/src/query.c b/src/amuse/community/galactics/gas_src/src/query.c deleted file mode 100644 index 41ef466b0f..0000000000 --- a/src/amuse/community/galactics/gas_src/src/query.c +++ /dev/null @@ -1,114 +0,0 @@ -/* - * This file contains four functions for prompting single value input, - * one for each of the data types char, int, float and double. - * The functions are cquery, iquery, fquery and dquery. - * Each function has two arguments: a prompt and a pointer variable of the - * appropriate data type. - * The function will display the prompt (e.g. "Enter x") and a default - * value. The user can either enter a new value or accept the default - * by hitting a return. - * - * Example - * main() - * { - * char a[50]; - * float x=5; - * - * strcpy(a,"hello there"); - * cquery("Enter a phrase",a); - * fquery("Enter the value to be squared",&x); - * fprintf(stdout,"%s %g squared = %g\n",a,x*x); - * } - */ -#include -#include -double atof(); - -cquery(prompt,c) -char *c; -char *prompt; -{ - char *p, line[100], newprompt[200]; - strcpy(newprompt,prompt); - strcat(newprompt," [%s]: "); - fprintf(stderr,newprompt,c); - fgets(line,80,stdin); - if(*line != '\n') - { - for(p=line; *p != '\n' && *p != '#'; p++); - if( *p == '#' ) { - p--; - while( *p == ' ' || *p == '\t' ) p--; - p++; - } - *p = '\0'; - - strcpy(c,line); - } -} - -dquery(prompt,d) -double *d; -char prompt[100]; -{ - char *p, line[100], newprompt[200]; - strcpy(newprompt,prompt); - strcat(newprompt," [%g]: "); - fprintf(stderr,newprompt,*d); - fgets(line,80,stdin); - if(*line != '\n') - { - for(p=line; *p !='\n' && *p !='#'; p++); - *p = '\0'; - *d = atof(line); - } -} - -fquery(prompt,f) -float *f; -char prompt[100]; -{ - char *p, line[100], newprompt[200]; - strcpy(newprompt,prompt); - strcat(newprompt," [%g]: "); - fprintf(stderr,newprompt,*f); - fgets(line,80,stdin); - if(*line != '\n') - { - for(p=line; *p!='\n' && *p!='#'; p++); - *p = '\0'; - *f = (float) atof(line); - } -} - -iquery(prompt,i) -int *i; -char prompt[100]; -{ - char *p, line[100], newprompt[200]; - strcpy(newprompt,prompt); - strcat(newprompt," [%d]: "); - fprintf(stderr,newprompt,*i); - fgets(line,80,stdin); - if(*line != '\n') - { - for(p=line; *p !='\n' && *p !='#'; p++); - *p = '\0'; - *i = atoi(line); - } -} - -llquery(prompt,i) -long long *i; -char prompt[100]; -{ - char line[100], newprompt[200]; - strcpy(newprompt,prompt); - strcat(newprompt," [%lld]: "); - fprintf(stderr,newprompt,*i); - fgets(line,100,stdin); - if(*line != '\n') - { - sscanf(line,"%lld",i); - } -} diff --git a/src/amuse/community/galactics/gas_src/src/readmassrad.c b/src/amuse/community/galactics/gas_src/src/readmassrad.c deleted file mode 100644 index 9bb6cd1e63..0000000000 --- a/src/amuse/community/galactics/gas_src/src/readmassrad.c +++ /dev/null @@ -1,21 +0,0 @@ -#include -#include - -extern float diskmass, diskedge; -extern float bulgemass, bulgeedge; -extern float halomass, haloedge; - -readmassrad() -{ - FILE *mrfile; - - if( !(mrfile = fopen("mr.dat","r")) ) { - fprintf(stderr,"Cannot open file mr.dat - contains component masses\n"); - exit(1); - } - - fscanf(mrfile,"%f %f\n",&diskmass,&diskedge); - fscanf(mrfile,"%f %f\n",&bulgemass,&bulgeedge); - fscanf(mrfile,"%f %f\n",&halomass,&haloedge); - fclose(mrfile); -} diff --git a/src/amuse/community/galactics/gas_src/src/toascii.c b/src/amuse/community/galactics/gas_src/src/toascii.c deleted file mode 100644 index ffb98c61d8..0000000000 --- a/src/amuse/community/galactics/gas_src/src/toascii.c +++ /dev/null @@ -1,34 +0,0 @@ -#include -#include -#include - -main(argc,argv) -int argc; -char *argv[]; -{ - int i, nobj; - float r[7]; - FILE *rvfile; - - if( argc == 2 ) { - if( !(rvfile = fopen(argv[1],"r")) ) { - fprintf(stderr,"can't open %s\n",argv[1]); - } - } - else { - fprintf(stderr,"usage: toascii binary_rvfile > ascii_rvfile\n"); - exit(0); - } - - fseek(rvfile,0,2); nobj = ftell(rvfile)/28; fseek(rvfile,0,0); - - fprintf(stdout,"%d\n",nobj); - for(i=0; i -#include -#include - -float ra[1000], va[1000]; -float rh[1000], vh[1000]; -float rd[1000], vd[1000]; -float rb[1000], vb[1000]; -float A, B, C, D1, D2, D3, q2, v0, v02, psi0; -float rho1=100, sigb=0.3, sigb2, psicutb= -1.0, fbulgeconst; -float rscale=.15, vscale=.8164866, mscale=0.1; - -main(argc,argv) -int argc; -char **argv; -{ - int i; - float dr; - char harmfile[80]; - - if( argc != 3 ) { - fprintf(stderr,"usage: vtst r_scale mass_scale > vr.p\n"); - exit(0); - } - rscale = atof(argv[1]); - mscale = atof(argv[2]); - vscale = sqrt(mscale/rscale); -#ifdef PGPLOT - pgbegin(0,"vr.p",1,1); - pgscf(2); - pgsetc(1.5); - pgenv(0.0,10.,0.0,1.0,0,0); - pglabel("R","V",""); -#endif - plotv(ra,va,1,"dbh.dat"); - plotv(rb,vb,2,"b.dat"); - plotv(rh,vh,3,"h.dat"); - for(i=0; i<1000; i++) { - vd[i] = sqrt(va[i]*va[i] - vb[i]*vb[i] - vh[i]*vh[i]); - rd[i] = ra[i]; - fprintf(stdout,"%g %g %g %g %g\n",rd[i],vd[i],vb[i],vh[i],va[i]); - } -#ifdef PGPLOT - pgsls(4); - pgline(1000,rd,vd); - - pgend(); -#endif -} - -plotv(rp,vp,line,file) -float *rp, *vp; -int line; -char *file; -{ - int i; - float dr; - float v02; - float q; - float rad, z, fr, fz, pot; - - readharmfile_(file,&A,&B,&C,&v0,&q,&psi0); - v02 = v0*v0; - - dr = .05; - for(i=0; i<1000; i++) { - rad = i*dr; - z = 0.0; - force_(&rad,&z,&fr,&fz,&pot); - rp[i] = rad; - vp[i] = sqrt(-rp[i]*fr); - rp[i] *= rscale; - vp[i] *= vscale; - } -#ifdef PGPLOT - pgsls(line); - pgline(1000,rp,vp); -#endif -} diff --git a/src/amuse/community/galactics/interface.py b/src/amuse/community/galactics/interface.py index c4b23aa69e..ced228a5da 100644 --- a/src/amuse/community/galactics/interface.py +++ b/src/amuse/community/galactics/interface.py @@ -1,922 +1,7 @@ -import os -import os.path -import pickle -import random -import numpy -import hashlib -from amuse.community import * -from amuse.community.interface.common import CommonCode, CommonCodeInterface +from amuse.support.import_helper import load_code -from amuse.support.options import option -from subprocess import Popen, PIPE - -from amuse.rfi.core import PythonCodeInterface - - -class GalactICsImplementation(object): - - def __init__(self): - self._output_directory = "./" - self._particles_generated = False - self._particle_data = numpy.array([]) - self._bin_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data", "bin") - - - def get_output_path(self, output_directory): - output_directory.value = self._output_directory - return 0 - - def set_output_path(self, output_directory): - self._output_directory = output_directory - return 0 - - def set_src_bin_path(self, src_bin_path): - self._bin_path = src_bin_path - return 0 - - def initialize_code(self): - self.set_default_parameter_values() - return 0 - - #parameter getters & setters - for par in ["_generate_halo_flag", "_halo_outer_radius", "_scale_velocity", - "_scale_radius", "_truncation_delta_r", "_inner_cusp_slope", "_outer_slope", - "_generate_disk_flag", "_disk_mass", "_disk_scale_length", "_disk_outer_radius", - "_disk_scale_height_sech2", "_disk_truncation_dr", "_generate_bulge_flag", - "_Sersic_index_n", "_bulge_velocity", "_bulge_scale_radius", "_radial_grid_delta_r", - "_number_of_grid_intervals", "_order_of_multipole_expansion", - "_central_radial_vel_dispersion", "_scale_length_of_sigR2", - "_number_of_radial_steps_correction_fns", "_number_of_iterations", - "_halo_streaming_fraction", "_halo_number_of_particles", "_halo_random_seed", - "_halo_do_center_flag", "_bulge_streaming_fraction", "_bulge_number_of_particles", - "_bulge_random_seed", "_bulge_do_center_flag", "_disk_number_of_particles", - "_disk_random_seed", "_disk_do_center_flag"]: - exec("def get"+par+"(self, value): value.value = self."+par+"; return 0") - exec("def set"+par+"(self, value): self."+par+" = value; return 0") - - def set_default_parameter_values(self): - # Halo parameters: - # do you want a halo (y or n) - self._generate_halo_flag = True - self._halo_outer_radius = 300.0 - self._scale_velocity = 3.26331115 - self._scale_radius = 6.06699419 - self._truncation_delta_r = 100.0 - self._inner_cusp_slope = 1.0 - self._outer_slope = 2.3 - - # Disk parameters: - # do you want a disk (y or n) - self._generate_disk_flag = True - self._disk_mass = 25.0 - self._disk_scale_length = 5.8097949 - self._disk_outer_radius = 40.5 - self._disk_scale_height_sech2 = 0.5 - self._disk_truncation_dr = 1.5 - - # Bulge parameters: - # do you want a Sersic bulge (y or n) - self._generate_bulge_flag = True - self._Sersic_index_n = 0.937324703 - self._ppp_ = -1.0 - self._bulge_velocity = 3.21182013 - self._bulge_scale_radius = 1.50395405 - - # do you want a blackhole (y or n) (NOT SUPPORTED IN THIS VERSION) - #n - self._radial_grid_delta_r = 0.01 - self._number_of_grid_intervals = 90000 - self._order_of_multipole_expansion = 10 - # order of multipole expansion - even number - should be l=10 for models - # with disks - l=0 for purely spherical models without a disk - - # parameters for in.diskdf - self._central_radial_vel_dispersion = 0.73 # central radial vel dispersion (in vzdisp) - self._scale_length_of_sigR2 = 5.8097949 # scale length of sig_r^2 - self._number_of_radial_steps_correction_fns = 10 # number of intervals for correction functions (min. 6) - self._number_of_iterations = 50 - #self._psfile = "psfile" # doesn't seem to be used... - - # parameters for in.halo - self._halo_streaming_fraction = 0.50 # [0.0, 1.0]; 0.5 means no net rotation - self._halo_number_of_particles = 200000 - self._halo_random_seed = -1 - self._halo_do_center_flag = True - # parameters for in.bulge - self._bulge_streaming_fraction = 0.80 # [0.0, 1.0]; 0.5 means no net rotation - self._bulge_number_of_particles = 50000 - self._bulge_random_seed = -1 - self._bulge_do_center_flag = True - # parameters for in.disk - self._disk_number_of_particles = 100000 - self._disk_random_seed = -1 - self._disk_do_center_flag = True - - def cleanup_code(self): - return 0 - - def generate_in_dbh_string(self): - if self._generate_halo_flag: - in_dbh = "y\n" - in_dbh += "{0:.15} ".format(self._halo_outer_radius) - in_dbh += "{0:.15} ".format(self._scale_velocity) - in_dbh += "{0:.15} ".format(self._scale_radius) - in_dbh += "{0:.15} ".format(self._truncation_delta_r) - in_dbh += "{0:.15} ".format(self._inner_cusp_slope) - in_dbh += "{0:.15}\n".format(self._outer_slope) - else: - in_dbh = "n\n" - - if self._generate_disk_flag: - in_dbh += "y\n" - in_dbh += "{0:.15} ".format(self._disk_mass) - in_dbh += "{0:.15} ".format(self._disk_scale_length) - in_dbh += "{0:.15} ".format(self._disk_outer_radius) - in_dbh += "{0:.15} ".format(self._disk_scale_height_sech2) - in_dbh += "{0:.15}\n".format(self._disk_truncation_dr) - else: - in_dbh += "n\n" - - if self._generate_bulge_flag: - in_dbh += "y\n" - in_dbh += "{0:.15} ".format(self._Sersic_index_n) - in_dbh += "{0:.15} ".format(self._ppp_) - in_dbh += "{0:.15} ".format(self._bulge_velocity) - in_dbh += "{0:.15}\n".format(self._bulge_scale_radius) - else: - in_dbh += "n\n" - - in_dbh += "n\n" - in_dbh += "{0:.15} ".format(self._radial_grid_delta_r) - in_dbh += "{0}\n".format(self._number_of_grid_intervals) - in_dbh += "{0}\n".format(self._order_of_multipole_expansion) - return in_dbh - - def generate_in_diskdf_string(self): - in_diskdf = "{0:.15} ".format(self._central_radial_vel_dispersion) # central radial vel dispersion (in vzdisp) - in_diskdf += "{0:.15}\n".format(self._scale_length_of_sigR2) # scale length of sig_r^2 - in_diskdf += "{0}\n".format(self._number_of_radial_steps_correction_fns) # number of intervals for correction functions (min. 6) - in_diskdf += "{0}\n".format(self._number_of_iterations) - #in_diskdf += "{0}\n".format(self._psfile) # doesn't seem to be used... - return in_diskdf - - def generate_in_halo_string(self): - in_halo = "{0:.15}\n".format(self._halo_streaming_fraction) - in_halo += "{0}\n".format(self._halo_number_of_particles) - in_halo += "{0}\n".format(self._halo_random_seed) - in_halo += "{0}\n".format(1 if self._halo_do_center_flag else 0) - return in_halo - - def generate_in_bulge_string(self): - in_bulge = "{0:.15}\n".format(self._bulge_streaming_fraction) - in_bulge += "{0}\n".format(self._bulge_number_of_particles) - in_bulge += "{0}\n".format(self._bulge_random_seed) - in_bulge += "{0}\n".format(1 if self._bulge_do_center_flag else 0) - return in_bulge - - def generate_in_disk_string(self): - in_disk = "{0}\n".format(self._disk_number_of_particles) - in_disk += "{0}\n".format(self._disk_random_seed) - in_disk += "{0}\n".format(1 if self._disk_do_center_flag else 0) - return in_disk - - def _new_dbh_dir(self, data_directory,in_dbh,in_diskdf): - if not os.path.exists(data_directory): - os.makedirs(data_directory) - with open(os.path.join(data_directory, "in.gendenspsi"), "w") as f: - f.write("2000 40\n") - # for clarity, also store the used input parameters in this directory: - with open(os.path.join(data_directory, "in.dbh"), "w") as f: - f.write(in_dbh) - with open(os.path.join(data_directory, "in.diskdf"), "w") as f: - f.write(in_diskdf) - # remove finished-step files - for f in ['dbh.finished','getfreqs.finished','diskdf.finished']: - try: - os.remove(os.path.join( data_directory, f)) - except: - pass - - def _data_directory(self,in_dbh,in_diskdf): - modelhash=hashlib.sha1((in_dbh+in_diskdf).encode()).hexdigest() - return os.path.join(self._output_directory, "model_"+modelhash) - - def model_present(self,x): - in_dbh = self.generate_in_dbh_string() - in_diskdf = self.generate_in_diskdf_string() - data_directory=self._data_directory(in_dbh,in_diskdf) - x.value=self._directory_contains_valid_model(data_directory) - return 0 - - def _directory_contains_valid_model(self,data_directory): - if os.path.exists(os.path.join( data_directory)) and \ - os.path.exists(os.path.join( data_directory, 'dbh.dat')) and \ - os.path.exists(os.path.join( data_directory, 'dbh.finished')) and \ - os.path.exists(os.path.join( data_directory, 'getfreqs.finished')) and \ - (os.path.exists(os.path.join( data_directory, 'diskdf.finished')) or not self._generate_disk_flag): - return True - else: - return False - - def _location_dbh_dat(self, in_dbh,in_diskdf): - data_directory=self._data_directory(in_dbh,in_diskdf) - - if self._directory_contains_valid_model(data_directory): - is_new = False - else: - is_new = True - self._new_dbh_dir(data_directory,in_dbh,in_diskdf) - return data_directory, is_new - - def commit_parameters(self): - try: - in_dbh = self.generate_in_dbh_string() - in_diskdf = self.generate_in_diskdf_string() - dbh_dir, is_new = self._location_dbh_dat(in_dbh, in_diskdf) - self._cwd = dbh_dir - print(dbh_dir) - if not is_new: - return 0 - print("Writing output to:", self._cwd) - - proc=Popen([os.path.join(self._bin_path, "dbh")], - cwd = self._cwd, stdin = PIPE, stdout = PIPE, stderr = PIPE) - stdout,stderr=proc.communicate(in_dbh.encode('UTF-8')) - print("(stdout, stderr) =", stdout,stderr) - if proc.returncode==0: - open(os.path.join(dbh_dir,"dbh.finished"),'a').close() - - proc=Popen([os.path.join(self._bin_path, "getfreqs")], - cwd = self._cwd, stdin = PIPE, stdout = PIPE, stderr = PIPE) - stdout,stderr=proc.communicate() - print("(stdout, stderr) =", stdout,stderr) - if proc.returncode==0: - open(os.path.join(dbh_dir,"getfreqs.finished"),'a').close() - - if self._generate_disk_flag: - proc=Popen([os.path.join(self._bin_path, "diskdf")], - cwd = self._cwd, stdin = PIPE, stdout = PIPE, stderr = PIPE) - stdout,stderr=proc.communicate(in_diskdf.encode('UTF-8')) - print("(stdout, stderr) =", stdout,stderr) - if proc.returncode==0: - open(os.path.join(dbh_dir,"diskdf.finished"),'a').close() - - return 0 - except Exception as ex: - print("Exception occurred in commit_parameters:", ex) - raise - - def recommit_parameters(self): - return self.commit_parameters() - - def get_number_of_particles_updated(self, number_of_particles_updated): - if self._particles_generated: - number_of_particles_updated.value = self._number_of_particles_updated - self._particles_generated = False - else: - number_of_particles_updated.value = 0 - return 0 - - def generate_particles(self): - try: - if self._generate_disk_flag: - in_disk = self.generate_in_disk_string() - process = Popen([os.path.join(self._bin_path, "gendisk")], - cwd = self._cwd, stdin = PIPE, stdout = PIPE, stderr = PIPE) - out,err=process.communicate(in_disk.encode('UTF-8')) - if process.returncode != 0: - print("error:", err) - return -2 - disk_data=numpy.frombuffer(out,dtype="float32") - else: - disk_data=numpy.array([]) - - if self._generate_bulge_flag: - in_bulge = self.generate_in_bulge_string() - process = Popen([os.path.join(self._bin_path, "genbulge")], - cwd = self._cwd, stdin = PIPE, stdout = PIPE, stderr = PIPE) - out,err=process.communicate(in_bulge.encode('UTF-8')) - if process.returncode != 0: - print("error:", err) - return -3 - bulge_data=numpy.frombuffer(out,dtype="float32") - else: - bulge_data=numpy.array([]) - - if self._generate_halo_flag: - in_halo = self.generate_in_halo_string() - process = Popen([os.path.join(self._bin_path, "genhalo")], - cwd = self._cwd, stdin = PIPE, stdout = PIPE, stderr = PIPE) - out, err = process.communicate(in_halo.encode('UTF-8')) - if process.returncode != 0: - print("error:", err) - return -4 - halo_data=numpy.frombuffer(out,dtype="float32") - else: - halo_data=numpy.array([]) - - self._number_of_particles_updated = (len(halo_data)+len(bulge_data)+len(disk_data))//7 - self._number_of_halo_particles=len(halo_data)//7 - self._number_of_bulge_particles=len(bulge_data)//7 - self._number_of_disk_particles=len(disk_data)//7 - data=numpy.concatenate((disk_data,bulge_data,halo_data)) - self._particle_data = numpy.reshape(data,( self._number_of_particles_updated,7)) - self._particles_generated = True - return 0 - except Exception as ex: - print("Exception occurred in generate_particles:", ex) - return -1 - - def get_number_of_particles(self,nhalo,nbulge,ndisk): - try: - nhalo.value=self._number_of_halo_particles - nbulge.value=self._number_of_bulge_particles - ndisk.value=self._number_of_disk_particles - return 0 - except: - return -1 - - def get_mass(self, index_of_the_particle, mass, length): - try: - mass.value = self._particle_data[index_of_the_particle, 0] - return 0 - except: - return -1 - - def get_position(self, index_of_the_particle, x, y, z, length): - try: - x.value = self._particle_data[index_of_the_particle, 1] - y.value = self._particle_data[index_of_the_particle, 2] - z.value = self._particle_data[index_of_the_particle, 3] - return 0 - except: - return -1 - - def get_velocity(self, index_of_the_particle, vx, vy, vz, length): - try: - vx.value = self._particle_data[index_of_the_particle, 4] - vy.value = self._particle_data[index_of_the_particle, 5] - vz.value = self._particle_data[index_of_the_particle, 6] - return 0 - except: - return -1 - - - -class GalactICsInterface(PythonCodeInterface, CommonCodeInterface, LiteratureReferencesMixIn, - CodeWithDataDirectories): - """ - GalactICs allows to generate self-consistent disc-bulge-halo galaxy models. - The bulge and halo distribution functions (DFs) are functions of E and L_z - only. The halo's flattening and rotation can be specified. The disc DF is a - function of E and L_z and a third 'integral', E_z, the vertical energy, - which is approximately conserved in a warm disc with vertical extent. A - simulation of a sample model shows that in practice the models are very - close to equilibrium, making them ideal for experiments on instabilities in - galactic discs. - - Relevant references: - .. [#] Kuijken K., Dubinski J., 1995, MNRAS, 277, 1341 (original version) - .. [#] Widrow L.M., Dubinski J., 2005, ApJ, 631, 838 (2nd version) - .. [#] Widrow L.M., Pym B., Dubinski J., 2008, ApJ, 679, 1239 (current version) - """ - - def __init__(self, **options): - PythonCodeInterface.__init__(self, GalactICsImplementation, **options) - LiteratureReferencesMixIn.__init__(self) - CodeWithDataDirectories.__init__(self) - - def _check_if_worker_is_up_to_date(self): - if not os.path.exists(os.path.join(GalactICsImplementation()._bin_path, "dbh")): - raise exceptions.CodeException( - "The worker code of the '{0}' interface class is not up to date.\n" - "Please do a 'make clean; make' in the root directory.".format(type(self).__name__)) - - new_particle = None - - def delete_particle(self, index_of_the_particle): - return 0 - - @legacy_function - def get_output_path(): - function = LegacyFunctionSpecification() - function.addParameter('output_directory', dtype='string', direction=function.OUT, - description = "The path to the output directory.") - function.result_type = 'int32' - return function - - @legacy_function - def set_output_path(): - function = LegacyFunctionSpecification() - function.addParameter('output_directory', dtype='string', direction=function.IN, - description = "The path to the output directory.") - function.result_type = 'int32' - return function - - @legacy_function - def set_src_bin_path(): - function = LegacyFunctionSpecification() - function.addParameter('src_bin_path', dtype='string', direction=function.IN, - description = "The path to the Galactics binaries.") - function.result_type = 'int32' - return function - - #parameter getters & setters - # boolean parameters - for par in ["_generate_halo_flag", "_generate_disk_flag", "_generate_bulge_flag", - "_halo_do_center_flag", "_bulge_do_center_flag", "_disk_do_center_flag"]: - exec("@legacy_function\ndef get"+par+"():\n function = LegacyFunctionSpecification()\n" - " function.addParameter('value', dtype='bool', direction=function.OUT)\n" - " function.result_type = 'int32'\n return function") - exec("@legacy_function\ndef set"+par+"():\n function = LegacyFunctionSpecification()\n" - " function.addParameter('value', dtype='bool', direction=function.IN)\n" - " function.result_type = 'int32'\n return function") - - # integer parameters - for par in [ "_number_of_grid_intervals", "_order_of_multipole_expansion", - "_number_of_radial_steps_correction_fns", "_number_of_iterations", - "_halo_number_of_particles", "_halo_random_seed", - "_bulge_number_of_particles", "_bulge_random_seed", - "_disk_number_of_particles", "_disk_random_seed"]: - exec("@legacy_function\ndef get"+par+"():\n function = LegacyFunctionSpecification()\n" - " function.addParameter('value', dtype='int32', direction=function.OUT)\n" - " function.result_type = 'int32'\n return function") - exec("@legacy_function\ndef set"+par+"():\n function = LegacyFunctionSpecification()\n" - " function.addParameter('value', dtype='int32', direction=function.IN)\n" - " function.result_type = 'int32'\n return function") - - # float parameters - for par in ["_halo_outer_radius", "_scale_velocity", "_scale_radius", - "_truncation_delta_r", "_inner_cusp_slope", "_outer_slope", - "_disk_mass", "_disk_scale_length", "_disk_outer_radius", - "_disk_scale_height_sech2", "_disk_truncation_dr", "_Sersic_index_n", - "_bulge_velocity", "_bulge_scale_radius", "_radial_grid_delta_r", - "_central_radial_vel_dispersion", "_scale_length_of_sigR2", - "_halo_streaming_fraction", "_bulge_streaming_fraction"]: - exec("@legacy_function\ndef get"+par+"():\n function = LegacyFunctionSpecification()\n" - " function.addParameter('value', dtype='float64', direction=function.OUT)\n" - " function.result_type = 'int32'\n return function") - exec("@legacy_function\ndef set"+par+"():\n function = LegacyFunctionSpecification()\n" - " function.addParameter('value', dtype='float64', direction=function.IN)\n" - " function.result_type = 'int32'\n return function") - - def invoke_state_change2(self): - pass - - def invoke_state_change_updated(self): - pass - - @legacy_function - def generate_particles(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def get_number_of_particles_updated(): - """ - Return the number of particles added during the last generate_particles. - """ - function = LegacyFunctionSpecification() - function.addParameter('number_of_particles_updated', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_number_of_particles(): - """ - Return the number of halo/bulge/disk particles of the last generate_particles. - """ - function = LegacyFunctionSpecification() - function.addParameter('number_of_halo_particles', dtype='int32', direction=function.OUT) - function.addParameter('number_of_bulge_particles', dtype='int32', direction=function.OUT) - function.addParameter('number_of_disk_particles', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_mass(): - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('mass', dtype='float64', direction=function.OUT, description = "The current mass of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - - @legacy_function - def get_position(): - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('x', dtype='float64', direction=function.OUT, description = "The current x component of the position vector of the particle") - function.addParameter('y', dtype='float64', direction=function.OUT, description = "The current y component of the position vector of the particle") - function.addParameter('z', dtype='float64', direction=function.OUT, description = "The current z component of the position vector of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - - @legacy_function - def get_velocity(): - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('vx', dtype='float64', direction=function.OUT, description = "The current x component of the velocity vector of the particle") - function.addParameter('vy', dtype='float64', direction=function.OUT, description = "The current y component of the velocity vector of the particle") - function.addParameter('vz', dtype='float64', direction=function.OUT, description = "The current z component of the velocity vector of the particle") - function.addParameter('length', 'int32', function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - - @legacy_function - def model_present(): - """ - Return whether a valid galaxy model is present. - """ - function = LegacyFunctionSpecification() - function.addParameter('model_present', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - - def get_code_src_directory(self): - return os.path.join(os.path.dirname(os.path.normpath(os.path.abspath(__file__))),'src') - - -class GalactICs(CommonCode): - - def __init__(self, unit_converter = None, **options): - self.unit_converter = unit_converter - InCodeComponentImplementation.__init__(self, GalactICsInterface(**options), **options) - - def initialize_code(self): - result = self.overridden().initialize_code() - self.parameters.set_defaults() - self.parameters.output_directory = self.get_output_directory() - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_output_path", - "set_output_path", - "output_directory", - "The path to the output directory", - default_value = "./" - ) - - # boolean parameters - for par in ["generate_halo_flag", "generate_disk_flag", "generate_bulge_flag"]: - handler.add_boolean_parameter( - "get_"+par, - "set_"+par, - par, - "Flag specifying whether to generate a "+par[9:-5], - True - ) - for par in ["halo_do_center_flag", "bulge_do_center_flag", "disk_do_center_flag"]: - handler.add_boolean_parameter( - "get_"+par, - "set_"+par, - par, - "Flag specifying whether to center the "+par[:-15]+" at the origin", - True - ) - - # integer parameters - handler.add_method_parameter( - "get_number_of_grid_intervals", - "set_number_of_grid_intervals", - "number_of_grid_intervals", - "Number of gridpoints in the radial direction", - default_value = 90000 - ) - handler.add_method_parameter( - "get_order_of_multipole_expansion", - "set_order_of_multipole_expansion", - "order_of_multipole_expansion", - "order of multipole expansion - even number - should be l=10 for models with disks - l=0 for purely spherical models without a disk", - default_value = 10 - ) - handler.add_method_parameter( - "get_number_of_radial_steps_correction_fns", - "set_number_of_radial_steps_correction_fns", - "number_of_radial_steps_correction_fns_disk_df", - "The number of intervals for correction functions (min. 6); used in calculation of the DF of the disk", - default_value = 10 - ) - handler.add_method_parameter( - "get_number_of_iterations", - "set_number_of_iterations", - "number_of_iterations_disk_df", - "The number of iterations in calculation of the DF of the disk", - default_value = 50 - ) - handler.add_method_parameter( - "get_halo_number_of_particles", - "set_halo_number_of_particles", - "halo_number_of_particles", - "The number of halo particles to generate", - default_value = 200000 - ) - handler.add_method_parameter( - "get_bulge_number_of_particles", - "set_bulge_number_of_particles", - "bulge_number_of_particles", - "The number of bulge particles to generate", - default_value = 50000 - ) - handler.add_method_parameter( - "get_disk_number_of_particles", - "set_disk_number_of_particles", - "disk_number_of_particles", - "The number of disk particles to generate", - default_value = 100000 - ) - handler.add_method_parameter( - "get_halo_random_seed", - "set_halo_random_seed", - "halo_random_seed", - "The seed to the random number generator used to generate the halo particles", - default_value = -1 - ) - handler.add_method_parameter( - "get_bulge_random_seed", - "set_bulge_random_seed", - "bulge_random_seed", - "The seed to the random number generator used to generate the bulge particles", - default_value = -1 - ) - handler.add_method_parameter( - "get_disk_random_seed", - "set_disk_random_seed", - "disk_random_seed", - "The seed to the random number generator used to generate the disk particles", - default_value = -1 - ) - - # float parameters - handler.add_method_parameter( - "get_halo_outer_radius", - "set_halo_outer_radius", - "halo_outer_radius", - "The halo is smoothly truncated at this radius", - default_value = 300.0 | nbody_system.length - ) - handler.add_method_parameter( - "get_scale_velocity", - "set_scale_velocity", - "halo_scale_velocity", - "The velocity scale of the halo", - default_value = 3.26331115 | nbody_system.speed - ) - handler.add_method_parameter( - "get_scale_radius", - "set_scale_radius", - "halo_scale_radius", - "The length scale of the halo", - default_value = 6.06699419 | nbody_system.length - ) - handler.add_method_parameter( - "get_truncation_delta_r", - "set_truncation_delta_r", - "halo_truncation_width", - "The width of the smooth truncation at halo_outer_radius", - default_value = 100.0 | nbody_system.length - ) - handler.add_method_parameter( - "get_inner_cusp_slope", - "set_inner_cusp_slope", - "halo_inner_cusp_slope", - "The slope of inner cusp of the halo density profile", - default_value = 1.0 - ) - handler.add_method_parameter( - "get_outer_slope", - "set_outer_slope", - "halo_outer_slope", - "The outer slope of the halo density profile", - default_value = 2.3 - ) - handler.add_method_parameter( - "get_disk_mass", - "set_disk_mass", - "disk_mass", - "The mass of the disk", - default_value = 25.0 | nbody_system.mass - ) - handler.add_method_parameter( - "get_disk_scale_length", - "set_disk_scale_length", - "disk_scale_length", - "The length scale of the disk", - default_value = 5.8097949 | nbody_system.length - ) - handler.add_method_parameter( - "get_disk_outer_radius", - "set_disk_outer_radius", - "disk_outer_radius", - "The disk is smoothly truncated at this radius", - default_value = 40.5 | nbody_system.length - ) - handler.add_method_parameter( - "get_disk_scale_height_sech2", - "set_disk_scale_height_sech2", - "disk_scale_height_sech2", - "The vertical scale length of the disk. The disk falls off as sech^2 in the z-direction.", - default_value = 0.5 | nbody_system.length - ) - handler.add_method_parameter( - "get_disk_truncation_dr", - "set_disk_truncation_dr", - "disk_truncation_width", - "The width of the smooth truncation at disk_outer_radius", - default_value = 1.5 | nbody_system.length - ) - handler.add_method_parameter( - "get_Sersic_index_n", - "set_Sersic_index_n", - "Sersic_index", - "The Sersic index of the bulge (1.0 for a classical bulge)", - default_value = 0.937324703 - ) - handler.add_method_parameter( - "get_bulge_velocity", - "set_bulge_velocity", - "bulge_scale_velocity", - "The velocity scale of the bulge", - default_value = 3.21182013 | nbody_system.speed - ) - handler.add_method_parameter( - "get_bulge_scale_radius", - "set_bulge_scale_radius", - "bulge_scale_radius", - "The length scale of the bulge", - default_value = 1.50395405 | nbody_system.length - ) - handler.add_method_parameter( - "get_radial_grid_delta_r", - "set_radial_grid_delta_r", - "radial_grid_delta_r", - "Spacing of the grid in the radial direction", - default_value = 0.01 | nbody_system.length - ) - handler.add_method_parameter( - "get_central_radial_vel_dispersion", - "set_central_radial_vel_dispersion", - "disk_central_radial_velocity_dispersion", - "The velocity dispersion of the disk in the radial direction at the center (in units of vertical velocity dispersion)", - default_value = 0.73 - ) - handler.add_method_parameter( - "get_scale_length_of_sigR2", - "set_scale_length_of_sigR2", - "disk_scale_length_of_sigR2", - "The length scale of the exponential decline of the velocity dispersion of the disk in the radial direction.", - default_value = 5.8097949 | nbody_system.length - ) - handler.add_method_parameter( - "get_halo_streaming_fraction", - "set_halo_streaming_fraction", - "halo_streaming_fraction", - "Control for rotating halo: distribution function is split in positive and negative angular momentum, and recombined with this parameter (F = aF+ + (1-a)F-); 0.5 means no rotation", - default_value = 0.50 - ) - handler.add_method_parameter( - "get_bulge_streaming_fraction", - "set_bulge_streaming_fraction", - "bulge_streaming_fraction", - "Control for rotating bulge: distribution function is split in positive and negative angular momentum, and recombined with this parameter (F = aF+ + (1-a)F-); 0.5 means no rotation", - default_value = 0.80 - ) - - def define_methods(self, handler): - CommonCode.define_methods(self, handler) - handler.add_method("generate_particles", (), (handler.ERROR_CODE,)) - handler.add_method("get_number_of_particles_updated", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - - handler.add_method("get_mass", (handler.INDEX,), - (nbody_system.mass, handler.ERROR_CODE) - ) - handler.add_method("get_position", (handler.INDEX,), - (nbody_system.length, nbody_system.length, nbody_system.length, handler.ERROR_CODE) - ) - handler.add_method("get_velocity", (handler.INDEX,), - (nbody_system.speed, nbody_system.speed, nbody_system.speed, handler.ERROR_CODE) - ) - - handler.add_method("get_output_path", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_output_path", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - for par in ["_number_of_grid_intervals", "_order_of_multipole_expansion", - "_number_of_radial_steps_correction_fns", "_number_of_iterations", - "_halo_number_of_particles", "_halo_random_seed", - "_bulge_number_of_particles", "_bulge_random_seed", - "_disk_number_of_particles", "_disk_random_seed", - "_inner_cusp_slope", "_outer_slope", "_Sersic_index_n", "_central_radial_vel_dispersion", - "_halo_streaming_fraction", "_bulge_streaming_fraction"]: - handler.add_method("get"+par, (), (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set"+par, (handler.NO_UNIT, ), (handler.ERROR_CODE,)) - - for par in ["_halo_outer_radius", "_scale_radius", "_truncation_delta_r", - "_disk_scale_length", "_disk_outer_radius", "_disk_scale_height_sech2", - "_disk_truncation_dr", "_bulge_scale_radius", "_radial_grid_delta_r", - "_scale_length_of_sigR2"]: - handler.add_method("get"+par, (), (nbody_system.length, handler.ERROR_CODE,)) - handler.add_method("set"+par, (nbody_system.length, ), (handler.ERROR_CODE,)) - - for par in ["_scale_velocity", "_bulge_velocity"]: - handler.add_method("get"+par, (), (nbody_system.speed, handler.ERROR_CODE,)) - handler.add_method("set"+par, (nbody_system.speed, ), (handler.ERROR_CODE,)) - - handler.add_method("get_disk_mass", (), (nbody_system.mass, handler.ERROR_CODE,)) - handler.add_method("set_disk_mass", (nbody_system.mass, ), (handler.ERROR_CODE,)) - - def define_converter(self, handler): - if not self.unit_converter is None: - handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) - - def define_particle_sets(self, handler): - handler.define_set('particles', 'index_of_the_particle') - handler.set_new('particles', 'new_particle') - handler.set_delete('particles', 'delete_particle') - handler.add_getter('particles', 'get_mass') - handler.add_getter('particles', 'get_position') - handler.add_getter('particles', 'get_velocity') - - def define_state(self, handler): - CommonCode.define_state(self, handler) - - handler.add_transition('INITIALIZED','EDIT','commit_parameters') - handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False) - handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False) - handler.add_transition('UPDATE','CHANGE_PARAMETERS_UPDATE','before_set_parameter', False) - handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters') - handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') - handler.add_transition('CHANGE_PARAMETERS_UPDATE','UPDATE','recommit_parameters') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') - handler.add_method('CHANGE_PARAMETERS_UPDATE','before_set_parameter') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'model_present') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'model_present') - handler.add_method('CHANGE_PARAMETERS_UPDATE','model_present') - handler.add_method('INITIALIZED','model_present') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') - handler.add_method('CHANGE_PARAMETERS_UPDATE','before_get_parameter') - handler.add_method('RUN', 'before_get_parameter') - handler.add_method('EDIT', 'before_get_parameter') - handler.add_method('UPDATE','before_get_parameter') - - handler.add_transition('EDIT', 'UPDATE', 'generate_particles', False) - handler.add_transition('UPDATE', 'RUN', 'update_particle_set') - handler.add_transition('RUN', 'EDIT', 'clear_particle_set') - handler.add_method('RUN', 'invoke_state_change_updated') - handler.add_method('EDIT', 'get_number_of_particles_updated') - handler.add_method('UPDATE', 'get_number_of_particles_updated') - handler.add_method('RUN', 'get_number_of_particles_updated') - handler.add_method('RUN', 'get_number_of_particles') - handler.add_method('RUN', 'get_mass') - handler.add_method('RUN', 'get_position') - handler.add_method('RUN', 'get_velocity') - - def generate_particles(self): - result = self.overridden().generate_particles() - self.invoke_state_change_updated() - - def update_particle_set(self): - """ - update the particle set after changes in the code - - this implementation needs to move to the - amuse.datamodel.incode_storage module, as - it uses a lot of internal methods and info! - """ - number_of_updated_particles = self.get_number_of_particles_updated() - if number_of_updated_particles: - self.particles._private.attribute_storage._add_indices( - list(range(number_of_updated_particles)) - ) - - def clear_particle_set(self): - if len(self.particles): - self.particles.remove_particles(self.particles) - - @property - def halo_particles(self): - nhalo,nbulge,ndisk=self.get_number_of_particles() - return self.particles[ndisk+nbulge:] - - @property - def bulge_particles(self): - nhalo,nbulge,ndisk=self.get_number_of_particles() - return self.particles[ndisk:ndisk+nbulge] - - @property - def disk_particles(self): - nhalo,nbulge,ndisk=self.get_number_of_particles() - return self.particles[:ndisk] +GalactICsInterface = load_code("galactics", "GalactICsInterface") +GalactICs = load_code("galactics", "GalactICs") Galactics = GalactICs diff --git a/src/amuse/community/galactics/src/potsrc/vcirc.c b/src/amuse/community/galactics/src/potsrc/vcirc.c deleted file mode 100644 index 444f6cd145..0000000000 --- a/src/amuse/community/galactics/src/potsrc/vcirc.c +++ /dev/null @@ -1,70 +0,0 @@ -#include -#include -#include - -float ra[10000], va[10000]; -float rh[10000], vh[10000]; -float rd0[10000], vd[10000], vd0[10000]; -float rb[10000], vb[10000]; - -main(argc,argv) -int argc; -char **argv; -{ - int i; - float dr; - char harmfile[80]; - FILE *vrfile; - - plotv(ra,va,1,"dbh.dat"); - plotv(rb,vb,2,"b.dat"); - plotv(rh,vh,3,"h.dat"); -/* - plotv(rd0,vd0,4,"d.dat"); -*/ - for(i=0; i<5000; i++) { - float vd2; - vd2 = (va[i]*va[i] - vb[i]*vb[i] - vh[i]*vh[i]); - if( vd2 > 0 ) { - vd[i] = sqrt(va[i]*va[i] - vb[i]*vb[i] - vh[i]*vh[i]); - } - else { - vd[i] = 0; - } - rd0[i] = ra[i]; - fprintf(stdout,"%g %g %g %g %g\n",rd0[i],vd[i],vb[i],vh[i],va[i]); - } - exit(0); -} - -plotv(rp,vp,line,file) -float *rp, *vp; -int line; -char *file; -{ - int i; - float dr; - float q; - float rad, z, fr, fz, pot; - - InitRigidPotential(file); - - dr = 0.1; - for(i=0; i<5000; i++) { - rad = i*dr; - z = 0.0; - force_(&rad,&z,&fr,&fz,&pot); - if( fr > 0 ) fr = 0; - rp[i] = rad; - vp[i] = sqrt(-rp[i]*fr); - } -#ifdef PGPLOT - pgsls(line); - pgline(1000,rp,vp); -#endif -} - - - - - diff --git a/src/amuse/community/galactics/src/src/Makefile b/src/amuse/community/galactics/src/src/Makefile deleted file mode 100644 index 8b2f43d7f3..0000000000 --- a/src/amuse/community/galactics/src/src/Makefile +++ /dev/null @@ -1,121 +0,0 @@ -#Makefile for particle generators of the combined df - June 8/94 - JJD -# -.f.o: - $(F77) $(FFLAGS) -c $*.f - -F77?=gfortran -CC?=gcc -#F77=ifort -#CC=icc -#CFLAGS = -O3 -#CFLAGS = -O -DRINGASCII -DASCII -LIBS = -lm -#These flags for SunOS: -#FFLAGS = -e -C -O -#FLIBS = -L/usr/X11/lib/ -lX11 -lpgplot - -#Replace FFLAGS and FLIBS above with the following for linux: -#FFLAGS = -ffixed-line-length-0 -O -fno-backslash -#FFLAGS += -O3 -132 -nofor-main -#FLIBS = -L/usr/X11R6/lib64/ -lX11 -#FLIBS = -L/usr/X11R6/lib/ -lX11 - -ICPROGS= dbh genhalo genbulge getfreqs gendisk diskdf toascii - -#FFLAGS = -O -extend_source -#CFLAGS = -O2 -DRINGASCII -DASCII -DTP -#LIBS = -lm -lots -lfor - -GENLIBS=-lstdc++ - -all: ics parallel - -ics: $(ICPROGS) - -dbh: dbh.o polardens.o bulgepotential.o totdens.o halopotential.o pot.o diskdens.o dens.o appdiskpot.o plgndr1.o bulgedenspsi.o halodenspsi.o gendenspsihalo.o gendenspsibulge.o polarbulgedens.o polarhalodens.o appdiskdens.o halodens.o dfhalo.o dfbulge.o erfcen.o modstamp.o force.o appdiskforce.o gendf.o getpsi.o dpolardens.o diskpotentialestimate.o halopotentialestimate.o nfwprofiles.o sersicprofiles.o - $(F77) $(FFLAGS) $(FLIBS) dbh.o polardens.o bulgepotential.o totdens.o halopotential.o pot.o diskdens.o dens.o appdiskpot.o plgndr1.o bulgedenspsi.o halodenspsi.o gendenspsihalo.o gendenspsibulge.o polarbulgedens.o polarhalodens.o appdiskdens.o halodens.o dfhalo.o dfbulge.o erfcen.o modstamp.o force.o appdiskforce.o gendf.o getpsi.o dpolardens.o diskpotentialestimate.o halopotentialestimate.o nfwprofiles.o sersicprofiles.o -o dbh - -omegakappa: omegakappa.o polardens.o bulgepotential.o totdens.o halopotential.o pot.o diskdens.o dens.o appdiskpot.o plgndr1.o bulgedenspsi.o halodenspsi.o gendenspsihalo.o gendenspsibulge.o polarbulgedens.o polarhalodens.o appdiskdens.o halodens.o dfhalo.o dfbulge.o erfcen.o modstamp.o force.o appdiskforce.o splined.o splintd.o - $(F77) $(FFLAGS) $(FLIBS) omegakappa.o polardens.o bulgepotential.o totdens.o halopotential.o pot.o diskdens.o dens.o appdiskpot.o plgndr1.o bulgedenspsi.o halodenspsi.o gendenspsihalo.o gendenspsibulge.o polarbulgedens.o polarhalodens.o appdiskdens.o halodens.o dfhalo.o dfbulge.o erfcen.o modstamp.o force.o appdiskforce.o splined.o splintd.o -o omegakappa - -gendisk: gendisk.o ran1.o prng_engine_wrapper.o query.o \ - appdiskforce.o force.o velocityfactors.o readdiskdf.o golden.o simpson.o diskdf5ez.o diskdensf.o readharmfile.o sigr2.o sigz2.o omekap.o diskdens.o splined.o splintd.o diskdf3ez.o diskdenspsi.o pot.o fnamidden.o appdiskpot.o plgndr1.o rcirc.o getpsi.o sersicprofiles.o - $(F77) $(FFLAGS) gendisk.o ran1.o prng_engine_wrapper.o query.o appdiskforce.o force.o velocityfactors.o diskdf5ez.o diskdensf.o readharmfile.o sigr2.o sigz2.o omekap.o diskdens.o splined.o splintd.o diskdf3ez.o diskdenspsi.o pot.o fnamidden.o appdiskpot.o plgndr1.o rcirc.o getpsi.o readdiskdf.o golden.o simpson.o sersicprofiles.o -o gendisk $(GENLIBS) - -genbulge: genbulge.o readmassrad.o query.o ran1.o prng_engine_wrapper.o readharmfile.o pot.o dfbulge.o dfhalo.o appdiskpot.o plgndr1.o bulgedenspsi.o readdenspsi.o erfcen.o getpsi.o sersicprofiles.o force.o appdiskforce.o - $(F77) $(FFLAGS) genbulge.o readmassrad.o query.o ran1.o prng_engine_wrapper.o readharmfile.o pot.o dfbulge.o dfhalo.o appdiskpot.o plgndr1.o bulgedenspsi.o readdenspsi.o erfcen.o getpsi.o sersicprofiles.o force.o appdiskforce.o -o genbulge $(GENLIBS) - -genhalo: genhalo.o readmassrad.o dfcorrection.o query.o ran1.o prng_engine_wrapper.o readharmfile.o pot.o halodens.o dfhalo.o dfbulge.o appdiskpot.o plgndr1.o halodenspsi.o readdenspsi.o erfcen.o getpsi.o sersicprofiles.o force.o appdiskforce.o - $(F77) $(FFLAGS) genhalo.o readmassrad.o dfcorrection.o query.o ran1.o prng_engine_wrapper.o readharmfile.o appdiskpot.o plgndr1.o halodenspsi.o readdenspsi.o pot.o halodens.o dfhalo.o dfbulge.o erfcen.o getpsi.o sersicprofiles.o force.o appdiskforce.o -o genhalo $(GENLIBS) - - -diskdf: diskdf.o diskdf5intez.o diskdensf.o splintd.o splined.o readharmfile.o sigr2.o sigz2.o omekap.o pot.o diskdf3intez.o appdiskpot.o plgndr1.o fnamidden.o rcirc.o diskdens.o modstamp.o - $(F77) $(FFLAGS) $(FLIBS) diskdf.o diskdf5intez.o diskdf3intez.o appdiskpot.o plgndr1.o diskdensf.o splintd.o splined.o readharmfile.o sigr2.o sigz2.o fnamidden.o rcirc.o diskdens.o omekap.o pot.o modstamp.o -o diskdf - -getfreqs: getfreqs.o pot.o appdiskpot.o plgndr1.o erfcen.o - $(F77) $(FFLAGS) $(FLIBS) getfreqs.o pot.o appdiskpot.o plgndr1.o erfcen.o -o getfreqs - -toascii: toascii.o - $(CC) $(CFLAGS) toascii.o -o toascii $(LIBS) - -#Parallel versions - -MPICC?=mpicc -MPIFC?=mpif90 -MPIF77=$(MPIFC) - -PARPROGS=pgendisk pgenhalo pgenbulge -parallel: $(PARPROGS) - -pgendisk.o: pgendisk.c - $(MPICC) $(CFLAGS) -c pgendisk.c - -pgenbulge.o: pgenbulge.c - $(MPICC) $(CFLAGS) -c pgenbulge.c - -pgenhalo.o: pgenhalo.c - $(MPICC) $(CFLAGS) -c pgenhalo.c - - -pgendisk: pgendisk.o ran1.o prng_engine_wrapper.o query.o appdiskforce.o force.o velocityfactors.o \ -readdiskdf.o golden.o simpson.o diskdf5ez.o diskdensf.o readharmfile.o \ -sigr2.o sigz2.o omekap.o diskdens.o splined.o splintd.o diskdf3ez.o \ -diskdenspsi.o pot.o fnamidden.o appdiskpot.o plgndr1.o rcirc.o getpsi.o \ -sersicprofiles.o - $(MPIF77) $(FFLAGS) pgendisk.o ran1.o prng_engine_wrapper.o query.o appdiskforce.o force.o \ -velocityfactors.o diskdf5ez.o diskdensf.o readharmfile.o sigr2.o sigz2.o \ -omekap.o diskdens.o splined.o splintd.o diskdf3ez.o diskdenspsi.o pot.o \ -fnamidden.o appdiskpot.o plgndr1.o rcirc.o getpsi.o readdiskdf.o golden.o \ -simpson.o sersicprofiles.o -o pgendisk $(GENLIBS) - -pgenbulge: pgenbulge.o readmassrad.o query.o ran1.o prng_engine_wrapper.o readharmfile.o pot.o dfbulge.o dfhalo.o appdiskpot.o plgndr1.o bulgedenspsi.o readdenspsi.o erfcen.o getpsi.o sersicprofiles.o force.o appdiskforce.o - $(MPIF77) $(FFLAGS) pgenbulge.o readmassrad.o query.o ran1.o prng_engine_wrapper.o \ -readharmfile.o pot.o dfbulge.o dfhalo.o appdiskpot.o plgndr1.o \ -bulgedenspsi.o readdenspsi.o erfcen.o getpsi.o sersicprofiles.o force.o \ -appdiskforce.o -o pgenbulge $(GENLIBS) - -pgenhalo: pgenhalo.o readmassrad.o dfcorrection.o query.o ran1.o prng_engine_wrapper.o readharmfile.o pot.o halodens.o dfhalo.o dfbulge.o appdiskpot.o plgndr1.o halodenspsi.o readdenspsi.o erfcen.o getpsi.o sersicprofiles.o force.o appdiskforce.o - $(MPIF77) $(FFLAGS) pgenhalo.o readmassrad.o dfcorrection.o query.o \ -ran1.o prng_engine_wrapper.o readharmfile.o appdiskpot.o plgndr1.o halodenspsi.o readdenspsi.o \ -pot.o halodens.o dfhalo.o dfbulge.o erfcen.o getpsi.o sersicprofiles.o \ -force.o appdiskforce.o -o pgenhalo $(GENLIBS) - - -clean: - rm -f *.o $(ICPROGS) $(PARPROGS) - (cd ../bin; rm -f *.o $(ICPROGS) $(PARPROGS)) - -install: - cp -f $(ICPROGS) $(PARPROGS) ../bin - - -readmassrad.o: readmassrad.c -simpson.o: simpson.c -ran1.o: ran1.c -#prng_engine_wrapper.o: CXXFLAGS+=-std=c++0x -prng_engine_wrapper.o: prng_engine_wrapper.cpp prng_engine.hpp - -query.o: query.c -golden.o: golden.c -tobinary.o: tobinary.c -centre1.o: centre1.c diff --git a/src/amuse/community/galactics/src/src/genbulge.c b/src/amuse/community/galactics/src/src/genbulge.c deleted file mode 100644 index 58c8f66204..0000000000 --- a/src/amuse/community/galactics/src/src/genbulge.c +++ /dev/null @@ -1,205 +0,0 @@ -#include "main.h" - -// random skip factor, must be larger than the number of random draws per particle -#define SKIP 100000 - -main(argc,argv) -int argc; -char **argv; -{ - int i, j, k, nobj=10000; - long long lseed=0; - int seed= -123; - int nrtrunc; - float rtrunc, rtrunc1; - float rhoran, massapp; - float x, y, z, vx, vy, v, v2, R, vmax, vmax2; - float phi, cph, sph, cth, sth, vR, vp, vz; - float E, rad, rad2; - float f0, frand, fmax, psi; - float dfbulge_(), bulgedens_(), pot_(); - float ran1(); - void ran_seed(); - float dr, rhomax1; - float t, mass; - float u1, v1, u1max, v1max; - float xcm, ycm, zcm, vxcm, vycm, vzcm; - float zip = 0.0; - float rhomax, rhomin, rhotst; - float rhocur, rcyl; - float fr, fz; - float stream=0.5; - float psid,psic,nnn; - float dfmax; - float b, c, d, int_const, sig2, aeff; - float v02, vb2, coef1, coef2; - int icofm=1; - int jj; - FILE *rhoout; - char harmfile[80]; - float fcut_bulge, fcut_halo; - float kinetic, potential; - - strcpy(harmfile,"dbh.dat"); - fquery("Enter streaming fraction",&stream); - iquery("Enter the number of particles",&nobj); - llquery("Enter negative integer seed",&lseed); - iquery("Center particles (0=no, 1=yes)",&icofm); - readmassrad(); /* reads in mass and truncation radius of components */ - readharmfile_(harmfile,&gparam,&cparam,&bparam); - readdenspsibulge_(); - - chalo = gparam.chalo; v0 = gparam.v0; a = gparam.a; - nnn = gparam.nnn; v0bulge=gparam.v0bulge; - psi0 = gparam.psi0; haloconst = gparam.haloconst; - - psic = cparam.psic; psid = cparam.psid; - - fcut_bulge = dfbulge_(&psic); - fcut_bulge = 0.; - - rtrunc = bulgeedge; - mass = bulgemass/nobj; - sig2 = psi0; - u1max = rtrunc; - v1max = 0.5*M_PI; - - r = (phase *) calloc(nobj,sizeof(phase)); - -/* `Find maximum of rho*r^2 */ - rhoout = fopen("rhobulge.dat","w"); - - nrtrunc = 10000; - dr = rtrunc/nrtrunc; - rhomax1 = 0.0; - for(i=1; i rhomax1 ) - rhomax1 = rhocur; - } - fprintf(stderr,"rhomax on R-axis is %g\n",rhomax1); - j = 0; - for(i=1; i rhomax1 ) - rhomax1 = rhocur; - } - fprintf(stderr,"rhomax1 = %g\n",rhomax1); - rhomax = 1.2*rhomax1; - rhomin = 1.0e-10*rhomax; - - kinetic = potential = 0.; - - fprintf(stderr,"Calculating bulge positions and velocities\n"); - if(lseed<0) lseed=-lseed; - ran_seed(SKIP*lseed); - for(i=0; i rhotst ) - continue; - phi = 2.0*M_PI*ran1(&seed); - x = R*cos(phi); - y = R*sin(phi); - psi = pot_(&R,&z); - if (psi < psic) - continue; - vmax2 = 2*(psi-psic); - vmax = sqrt(vmax2); - f0 = 0.0; frand = 1.0; /* dummy starters */ - j = 0; - fmax = dfbulge_(&psi) - fcut_bulge; - while( frand > f0 ) { - v2 = 1.1*vmax2; - while( v2 > vmax2 ) { - vR = 2*vmax*(ran1(&seed) - 0.5); - vp = 2*vmax*(ran1(&seed) - 0.5); - vz = 2*vmax*(ran1(&seed) - 0.5); - v2 = vR*vR + vp*vp + vz*vz; - E = psi - 0.5*v2; - } - f0 = dfbulge_(&E)-fcut_bulge; - frand = fmax*ran1(&seed); - if( j > 10000 ) { - fprintf(stderr,"j > 10000 E=%g psic=%g psi=%g frand=%g fmax=%g f0=%g\n", - E,psic,psi,frand,fmax,f0); - goto restart; - } - j++; - } - - if( ran1(&seed) < stream ) - vp = fabs(vp); - else - vp = -fabs(vp); - - cph = x/R; sph = y/R; - vx = vR*cph - vp*sph; - vy = vR*sph + vp*cph; - - r[i].x = (float) x; - r[i].y = (float) y; - r[i].z = (float) z; - r[i].vx = (float)vx; - r[i].vy = (float)vy; - r[i].vz = (float)vz; - i++;ran_seed(SKIP*(lseed + i)); - if( i % 1000 == 0 ) fprintf(stderr,"."); - } - fprintf(stderr,"\n"); - - if( icofm ) { - xcm = ycm =zcm = vxcm =vycm =vzcm = 0; - for(i=0; i rhomax ) rhomax = rhotst; - // fprintf(rhoout,"%g %g\n",R, rhotst); - } - rhomin = 0.0; - rhomax *=1.2; - - kinetic = potential = 0.; - - fprintf(stderr,"Calculating disk positions and velocities seed=%d\n",seed); - if(lseed<0) lseed=-lseed; - ran_seed(SKIP*lseed); - for(i=0, j=0, k=0; i rtrunc) { - u1 = -ran1(&seed); - do { - v1 = 2.0*(ran1(&seed) - 0.5); - } while(v1<=-1. || v1>=1.); - R = rd*invu(u1); - z = zd*atanh(v1); - } - zcon = cosh(z/zd); - rhoguess = exp(-R/rd)/(zcon*zcon); - rhotst = diskdensf_(&R,&z); - rhotst /= rhoguess; - - k++; - if( rhotst < rhomin ) - continue; - - rhoran = (rhomax - rhomin)*ran1(&seed); - if( rhoran > rhotst ) - continue; - phi = 2.0*M_PI*ran1(&seed); - x = R*cos(phi); - y = R*sin(phi); - omekap_(&R, &omega, &kappa); - vphimax = omega*R; - vsigR = sqrt(sigr2_(&R)); - vsigp = kappa/(2.0*omega)*vsigR; - vsigz = sqrt(sigz2_(&R)); - vphimaxold = vphimax; - fmax = 1.1*FindMax1(R,z,&vphimax); - fprintf(rhoout,"%d %g %g %g %g\n",i,fmax,R,z,vphimax); - } - vphimax = vphimaxold; - - f0 = 0.0; frand = 1.0; /* dummy starters */ - while( frand > f0 ) { - g2 = 999.; - while( g2 > 1.0) { - gr = 8.0*(ran1(&seed) - 0.5); - gp = 16.0*(ran1(&seed) - 0.5); - gz = 8.0*(ran1(&seed) - 0.5); - g2 = gr*gr/16. + gp*gp/64. + gz*gz/16.; - } - vR = broadcon*vsigR*gr; - vp = vphimax + broadcon*vsigp*gp; - vz = broadcon*vsigz*gz; - - f0 = Fdisk(vR, vp, vz, R, z); - frand = fmax*ran1(&seed); - if( f0 > fmax ) { - float vpmax; - fprintf(errfile,"f0 > fmax at R=%g z=%g\nvr=%g vp=%g, vz=%g vphimax=%g f0=%g, fmax=%g\n", - R,z, - vR*broadcon/vsigR, - (vp - vphimax)*broadcon/vsigp, - vz*broadcon/vsigz, vphimax, f0, fmax); - fflush(errfile); - } - j++; - } - vphimax = vp - broadcon*vsigp*gp; - vp = vphimax + broadcon*vsigp*gp; - cph = x/R; sph = y/R; - vx = vR*cph - vp*sph; - vy = vR*sph + vp*cph; - - r[i].x = (float) x; - r[i].y = (float) y; - r[i].z = (float) z; - r[i].vx = (float)vx; - r[i].vy = (float)vy; - r[i].vz = (float)vz; - i++;ran_seed(SKIP*(lseed + i)); - if( i % 1000 == 0 ) { - fprintf(stderr,"."); - fflush(stderr); - } - } - fprintf(stderr,"\n"); - fprintf(stderr,"number of density trials %d\n",k); - fprintf(stderr,"number of velocity trials %d\n",j); - if( icofm ) { - xcm = ycm =zcm = vxcm =vycm =vzcm = 0; - for(i=0; i eps); i++) { - rnew = rg - (-(1.0 + rg)*exp(-rg) - u) - /(rg*exp(-rg)); - dr = fabs(rnew - rg); - rg = rnew; - } - if( i == 20 ) fprintf(stderr,"Warning R did not converge\n"); - return (float) rg; -} - -/* A approximate estimate of the local maximum of the distribution function */ - -float Fmax(R,z,vR,vz,vlimit, vpmax) - float R, z, vR, vz; - float *vpmax, vlimit; -{ - int i; - float v, dv, fmax, vmax, v0; - float Fdisk(); - - dv = 2.0*vlimit/100; - v0 = *vpmax - 50*dv; - fmax = Fdisk(vR, v0, vz, R, z); - for(i=0; i<100; i++) { - float ftry, vtry; - - vtry = v0 + i*dv; - ftry = Fdisk(vR, vtry, vz, R, z); - if( ftry > fmax ) { - fmax = ftry; - vmax = vtry; - } - } - *vpmax = vmax; - - return fmax; -} - -float FindMax1(R,z,vpmax) - - float R, z, *vpmax; -{ - int upflag, flag; - float dv, vpm, vpmold, v0, v1; - float f0, f1, ftmp, fmid; - float Fdisk(); - float zero; - - zero = 0.0; - dv = 0.1*vsigp; - vpm = *vpmax; - v0 = vpm - dv; - v1 = vpm + dv; - - f0 = Fdisk(0.0,v0,0.0,R,z); - fmid = Fdisk(0.0,vpm,0.0,R,z); - f1 = Fdisk(0.0,v1,0.0,R,z); - if( fmid >= f0 && fmid >= f1 ) - return fmid; - - if( f0 > f1 ) { - ftmp = f0; - f0 = f1; - f1 = ftmp; - v1 = v0; - dv = -dv; - } - vpm = v1; - - flag = 1; - while( flag ) { - - dv *= 2.0; - vpmold = vpm; - vpm += dv; - f0 = f1; - f1 = Fdisk(0.0,vpm,0.0,R,z); - flag = (f1 > f0); - } - *vpmax = vpmold; - return f0; -} - -float FindMax(R,z,vpmax) - float R, z, *vpmax; -{ - float vpm; - float v0, v1; - float eps=0.01; - float fmax, golden(), fgold(); - - Rc = R; zc = z; - - vpm = *vpmax; - v0 = *vpmax - 3.0*vsigp; - v1 = *vpmax + 3.0*vsigp; - fmax = -golden(v0,vpm,v1, fgold, eps, vpmax); - - return fmax; - -} - -float fgold(vp) - float vp; -{ - float R, z; - float zero; - zero = 0.0; - R = Rc; z = zc; - return( -Fdisk(0.0,vp,0.0,R,z) ); -} - -float massring(r) - float r; -{ - float denz(); - float simpson(); - - rad = r; - return( rad*simpson(denz,0.0,5.0*zdisk,128) ); -} - -float denz(z) - float z; -{ - float z0; - float diskdensf_(); - - z0 = z; - return diskdensf_(&rad, &z0); -} - diff --git a/src/amuse/community/galactics/src/src/genhalo.c b/src/amuse/community/galactics/src/src/genhalo.c deleted file mode 100644 index d88c5abdfb..0000000000 --- a/src/amuse/community/galactics/src/src/genhalo.c +++ /dev/null @@ -1,203 +0,0 @@ -#include "main.h" - -// random skip factor, must be larger than the number of random draws per particle -#define SKIP 100000 - -main(argc,argv) -int argc; -char **argv; -{ - int i, j, k, nobj=10000; - long long lseed=0; - int seed= -123; - int nrtrunc; - float rtrunc; - float rhoran, massapp; - float x, y, z, vx, vy, v, v2, R, vmax, vmax2; - float phi, cph, sph, cth, sth, vR, vp, vz; - float E, rad, rad2; - float f0, frand, fmax, psi; - float fr, fz; - float dfhalo_(), halodens_(), pot_(); - float ran1(); - void ran_seed(); - float dr, rhomax1; - float t, mass; - float u1, v1, u1max, v1max; - float xcm, ycm, zcm, vxcm, vycm, vzcm; - float zip = 0.0; - float rhomax, rhomin, rhotst; - float rhocur, rcyl; - float stream=0.5; - float psid,psic,nnn; - float dfmax; - float b, c, d, int_const, sig2, aeff; - float v02, vb2, coef1, coef2; - int icofm=1; - int jj; - char harmfile[80]; - float fcut_halo, fcut_bulge; - float kinetic, potential; - - strcpy(harmfile,"dbh.dat"); - fquery("Enter streaming fraction",&stream); - iquery("Enter the number of particles",&nobj); - llquery("Enter negative integer seed",&lseed); - iquery("Center particles (0=no, 1=yes)",&icofm); - readmassrad(); /* reads in mass and truncation radius of components */ - readharmfile_(harmfile,&gparam,&cparam,&bparam); - readdenspsihalo_(); - - chalo = gparam.chalo; v0 = gparam.v0; a = gparam.a; - psi0 = gparam.psi0; - - psic = cparam.psic; psid = cparam.psid; - - // fcut_halo = bparam.fcut_halo; fcut_bulge = bparam.fcut_bulge; - - fcut_halo = dfhalo_(&psic); - // fcut_halo = 0.; - - rtrunc = haloedge; - mass = halomass/nobj; - sig2 = psi0; - u1max = rtrunc; - v1max = 0.5*M_PI; - - r = (phase *) calloc(nobj,sizeof(phase)); - -/* `Find maximum of rho*r^2 */ - - nrtrunc = 10000; - dr = rtrunc/nrtrunc; - rhomax1 = 0.0; - for(i=1; i rhomax1 ) - rhomax1 = rhocur; - } - j = 0; - for(i=1; i rhomax1 ) - rhomax1 = rhocur; - } - fprintf(stderr,"rhomax1 = %g\n",rhomax1); - - rhomax = 1.5*rhomax1; - rhomin = 1.0e-10*rhomax; - - kinetic = potential = 0.; - - fprintf(stderr,"Calculating halo positions and velocities\n"); - if(lseed<0) lseed=-lseed; - ran_seed(SKIP*lseed); - for(i=0; i rhotst ) - continue; - phi = 2.0*M_PI*ran1(&seed); - x = R*cos(phi); - y = R*sin(phi); - psi = pot_(&R,&z); - if (psi < psic) - continue; - vmax2 = 2*(psi-psic); - vmax = sqrt(vmax2); - f0 = 0.0; frand = 1.0; /* dummy starters */ - j = 0; - fmax = dfhalo_(&psi) - fcut_halo; - while( frand > f0 ) { - v2 = 1.1*vmax2; - while( v2 > vmax2 ) { - vR = 2*vmax*(ran1(&seed) - 0.5); - vp = 2*vmax*(ran1(&seed) - 0.5); - vz = 2*vmax*(ran1(&seed) - 0.5); - v2 = vR*vR + vp*vp + vz*vz; - E = psi - 0.5*v2; - } - f0 = dfhalo_(&E)-fcut_halo; - frand = fmax*ran1(&seed); - if( j>10000 ) { - fprintf(stderr,"j>10000 - E=%g psi=%g frand=%g f0=%g\n", - E,psi,frand,f0); - goto restart; - } - j++; - } - - if( ran1(&seed) < stream ) - vp = fabs(vp); - else - vp = -fabs(vp); - - cph = x/R; sph = y/R; - vx = vR*cph - vp*sph; - vy = vR*sph + vp*cph; - - r[i].x = (float) x; - r[i].y = (float) y; - r[i].z = (float) z; - r[i].vx = (float)vx; - r[i].vy = (float)vy; - r[i].vz = (float)vz; - i++;ran_seed(SKIP*(lseed + i)); - if( i % 1000 == 0 ) fprintf(stderr,"."); - } - fprintf(stderr,"\n"); - - if( icofm ) { - xcm = ycm =zcm = vxcm =vycm =vzcm = 0; - for(i=0; i -#include -#include -#include -#define GCON 6.349363592e-2 /* (2.0*pi)^(-3/2) */ - -/* Generate a distribution which follows an oblate logarithmic potential */ - -typedef struct { - float x, y, z, vx, vy, vz; -} phase; - -typedef struct { - float chalo; - float v0; - float a; - float nnn; - float v0bulge; - float abulge; - float psi0; - float haloconst; - float bulgeconst; - float mdisk; - float rdisk; - float zdisk; - float outdisk; - float drtrunc; - float potcor; -} galaxy; - -galaxy gparam; - -typedef struct { - float psic; - float psid; -} energytable; - -energytable cparam; - -typedef struct { - float fcut_halo; - float fcut_bulge; -} dfcutoff; - -dfcutoff bparam; - -phase *r; - - -/* Disk Constants */ -float mdisk, rdisk, zdisk, outdisk, drtrunc; -float rd, zd; -float vsigR, vsigp, vsigz, vphimax; -float diskmass, diskedge; - -/* Bulge Constants */ -float nnn, v0bulge, abulge, bulgeconst; -float bulgemass, bulgeedge; -float psic, psid; -float fcut_halo; - -/* Halo Constants */ - -float chalo, v0, a, haloconst, v02, psi0; -float halomass, haloedge; -float fcut_bulge; - -/* Blackhole Constants */ -float bhmass, bhsoft; diff --git a/src/amuse/community/galactics/src/src/make.log b/src/amuse/community/galactics/src/src/make.log deleted file mode 100644 index 20c2eb195a..0000000000 --- a/src/amuse/community/galactics/src/src/make.log +++ /dev/null @@ -1,107 +0,0 @@ -ifort -O -132 -nofor-main -c dbh.f -ifort -O -132 -nofor-main -c polardens.f -ifort -O -132 -nofor-main -c bulgepotential.f -ifort -O -132 -nofor-main -c totdens.f -ifort -O -132 -nofor-main -c halopotential.f -ifort -O -132 -nofor-main -c pot.f -ifort -O -132 -nofor-main -c diskdens.f -ifort -O -132 -nofor-main -c dens.f -ifort -O -132 -nofor-main -c appdiskpot.f -ifort -O -132 -nofor-main -c plgndr1.f -ifort -O -132 -nofor-main -c bulgedenspsi.f -ifort -O -132 -nofor-main -c halodenspsi.f -pot.f(48): (col. 10) remark: PARTIAL LOOP WAS VECTORIZED. -ifort -O -132 -nofor-main -c gendenspsihalo.f -ifort -O -132 -nofor-main -c gendenspsibulge.f -ifort -O -132 -nofor-main -c polarbulgedens.f -ifort -O -132 -nofor-main -c polarhalodens.f -ifort -O -132 -nofor-main -c appdiskdens.f -ifort -O -132 -nofor-main -c halodens.f -ifort -O -132 -nofor-main -c dfhalo.f -ifort -O -132 -nofor-main -c dfbulge.f -dbh.f(10): (col. 7) remark: LOOP WAS VECTORIZED. -dbh.f(251): (col. 13) remark: LOOP WAS VECTORIZEDifort -O -132 -nofor-main -c erfcen.f -ifort -O -132 -nofor-main -c modstamp.f -ifort -O -132 -nofor-main -c force.f -ifort -O -132 -nofor-main -c appdiskforce.f -ifort -O -132 -nofor-main -c gendf.f -ifort -O -132 -nofor-main -c getpsi.f -. -ifort -O -132 -nofor-main -c dpolardens.f -ifort -O -132 -nofor-main -c diskpotentialestimate.f -ifort -O -132 -nofor-main -c halopotentialestimate.f -ifort -O -132 -nofor-main -c nfwprofiles.f -ifort -O -132 -nofor-main -c sersicprofiles.f -force.f(42): (col. 10) remark: LOOP WAS VECTORIZED. -force.f(48): (col. 14) remark: LOOP WAS VECTORIZED. -force.f(53): (col. 14) remark: LOOP WAS VECTORIZED. -force.f(57): (col. 14) remark: LOOP WAS VECTORIZED. -mpicc -O -c genhalo.c -mpicc -O -c readmassrad.c -halopotentialestimate.f(42): (col. 7) remark: LOOP WAS VECTORIZEDdiskpotentialestimate.f(55): (col. 7) remark: LOOP WAS VECTORIZED. -ifort -O -132 -nofor-main -c dfcorrection.f -mpicc -O -c query.c -mpicc -O -c ran1.c -ifort -O -132 -nofor-main -c readharmfile.f -sersicprofiles.f(231): (col. 10) remark: LOOP WAS VECTORIZEDgendf.f(13): (col. 10) remark: LOOP WAS VECTORIZED. -ifort -O -132 -nofor-main -c readdenspsi.f -query.c(56): warning #181: argument is incompatible with corresponding format string conversion - sscanf(line,"%E",d); - ^ - -mpicc -O -c genbulge.c -ifort -O -132 -nofor-main -c getfreqs.f -readharmfile.f(32): (col. 7) remark: LOOP WAS VECTORIZED. -readharmfile.f(94): (col. 7) remark: LOOP WAS VECTORIZEDmpicc -O -c gendisk.c -ifort -O -132 -nofor-main -c velocityfactors.f -. -ifort -O -132 -nofor-main -c readdiskdf.f -mpicc -O -c golden.c -mpicc -O -c simpson.c -. -sersicprofiles.f(17): (col. 44) remark: LOOP WAS VECTORIZED. -ifort -O -132 -nofor-main -c diskdf5ez.f -ifort -O -132 -nofor-main -c diskdensf.f -getfreqs.f(14): (col. 7) remark: LOOP WAS VECTORIZED. -getfreqs.f(231): (col. 10) remark: LOOP WAS VECTORIZEDreaddiskdf.f(10): (col. 7) remark: BLOCK WAS VECTORIZEDifort -O -132 -nofor-main -c sigr2.f -ifort -O -132 -nofor-main -c sigz2.f -. -ifort -O -132 -nofor-main -c omekap.f -ifort -O -132 -nofor-main -c splined.f -ifort -O -132 -nofor-main -c splintd.f -ifort -O -132 -nofor-main -c diskdf3ez.f -. -ifort -O -132 -nofor-main -c diskdenspsi.f -ifort -O -132 -nofor-main -c fnamidden.f -ifort -O -132 -nofor-main -c rcirc.f -ifort -O -132 -nofor-main -c diskdf.f -omekap.f(43): (col. 9) remark: LOOP WAS VECTORIZEDifort -O -132 -nofor-main -c diskdf5intez.f -ifort -O -132 -nofor-main -c diskdf3intez.f -. -mpicc -O -c toascii.c -mpicc -O -c pgendisk.c -mpicc -O -c pgenbulge.c -mpicc -O -c pgenhalo.c -rcirc.f(29): (col. 10) remark: LOOP WAS VECTORIZED. -ifort -O -132 -nofor-main dbh.o polardens.o bulgepotential.o totdens.o halopotential.o pot.o diskdens.o dens.o appdiskpot.o plgndr1.o bulgedenspsi.o halodenspsi.o gendenspsihalo.o gendenspsibulge.o polarbulgedens.o polarhalodens.o appdiskdens.o halodens.o dfhalo.o dfbulge.o erfcen.o modstamp.o force.o appdiskforce.o gendf.o getpsi.o dpolardens.o diskpotentialestimate.o halopotentialestimate.o nfwprofiles.o sersicprofiles.o -o dbh -diskdf.f(54): (col. 7) remark: LOOP WAS VECTORIZED. -diskdf.f(99): (col. 10) remark: LOOP WAS VECTORIZED. -ifort -O -132 -nofor-main genhalo.o readmassrad.o dfcorrection.o query.o ran1.o readharmfile.o appdiskpot.o plgndr1.o halodenspsi.o readdenspsi.o pot.o halodens.o dfhalo.o dfbulge.o erfcen.o getpsi.o sersicprofiles.o force.o appdiskforce.o -o genhalo -ifort -O -132 -nofor-main genbulge.o readmassrad.o query.o ran1.o readharmfile.o pot.o dfbulge.o dfhalo.o appdiskpot.o plgndr1.o bulgedenspsi.o readdenspsi.o erfcen.o getpsi.o sersicprofiles.o force.o appdiskforce.o -o genbulge -ifort -O -132 -nofor-main getfreqs.o pot.o appdiskpot.o plgndr1.o erfcen.o -o getfreqs -ifort -O -132 -nofor-main gendisk.o ran1.o query.o appdiskforce.o force.o velocityfactors.o diskdf5ez.o diskdensf.o readharmfile.o sigr2.o sigz2.o omekap.o diskdens.o splined.o splintd.o diskdf3ez.o diskdenspsi.o pot.o fnamidden.o appdiskpot.o plgndr1.o rcirc.o getpsi.o readdiskdf.o golden.o simpson.o sersicprofiles.o -o gendisk -ifort -O -132 -nofor-main diskdf.o diskdf5intez.o diskdf3intez.o appdiskpot.o plgndr1.o diskdensf.o splintd.o splined.o readharmfile.o sigr2.o sigz2.o fnamidden.o rcirc.o diskdens.o omekap.o pot.o modstamp.o -o diskdf -icc -O toascii.o -o toascii -lm -mpif77 -O -132 -nofor-main pgenbulge.o readmassrad.o query.o ran1.o \ -readharmfile.o pot.o dfbulge.o dfhalo.o appdiskpot.o plgndr1.o \ -bulgedenspsi.o readdenspsi.o erfcen.o getpsi.o sersicprofiles.o force.o \ -appdiskforce.o -o pgenbulge -mpif77 -O -132 -nofor-main pgenhalo.o readmassrad.o dfcorrection.o query.o \ -ran1.o readharmfile.o appdiskpot.o plgndr1.o halodenspsi.o readdenspsi.o \ -pot.o halodens.o dfhalo.o dfbulge.o erfcen.o getpsi.o sersicprofiles.o \ -force.o appdiskforce.o -o pgenhalo -mpif77 -O -132 -nofor-main pgendisk.o ran1.o query.o appdiskforce.o force.o \ -velocityfactors.o diskdf5ez.o diskdensf.o readharmfile.o sigr2.o sigz2.o \ -omekap.o diskdens.o splined.o splintd.o diskdf3ez.o diskdenspsi.o pot.o \ -fnamidden.o appdiskpot.o plgndr1.o rcirc.o getpsi.o readdiskdf.o golden.o \ -simpson.o sersicprofiles.o -o pgendisk diff --git a/src/amuse/community/galactics/src/src/query.c b/src/amuse/community/galactics/src/src/query.c deleted file mode 100644 index 5a643eb230..0000000000 --- a/src/amuse/community/galactics/src/src/query.c +++ /dev/null @@ -1,103 +0,0 @@ -/* - * This file contains four functions for prompting single value input, - * one for each of the data types char, int, float and double. - * The functions are cquery, iquery, fquery and dquery. - * Each function has two arguments: a prompt and a pointer variable of the - * appropriate data type. - * The function will display the prompt (e.g. "Enter x") and a default - * value. The user can either enter a new value or accept the default - * by hitting a return. - * - * Example - * main() - * { - * char a[50]; - * float x=5; - * - * strcpy(a,"hello there"); - * cquery("Enter a phrase",a); - * fquery("Enter the value to be squared",&x); - * fprintf(stdout,"%s %g squared = %g\n",a,x*x); - * } - */ - -#include -#include -#include - -cquery(prompt,c) -char *c; -char *prompt; -{ - char *p, line[100], newprompt[200]; - strcpy(newprompt,prompt); - strcat(newprompt," [%s]: "); - fprintf(stderr,newprompt,c); - fgets(line,100,stdin); - if(*line != '\n') - { - for(p=line; *p != '\n'; p++); - *p = '\0'; - strcpy(c,line); - } -} - -dquery(prompt,d) -double *d; -char prompt[100]; -{ - char line[100], newprompt[200]; - strcpy(newprompt,prompt); - strcat(newprompt," [%g]: "); - fprintf(stderr,newprompt,*d); - fgets(line,100,stdin); - if(*line != '\n') - { - sscanf(line,"%lf",d); - } -} - -fquery(prompt,f) -float *f; -char prompt[100]; -{ - char line[100], newprompt[200]; - strcpy(newprompt,prompt); - strcat(newprompt," [%g]: "); - fprintf(stderr,newprompt,*f); - fgets(line,100,stdin); - if(*line != '\n') - { - sscanf(line,"%e",f); - } -} - -iquery(prompt,i) -int *i; -char prompt[100]; -{ - char line[100], newprompt[200]; - strcpy(newprompt,prompt); - strcat(newprompt," [%d]: "); - fprintf(stderr,newprompt,*i); - fgets(line,100,stdin); - if(*line != '\n') - { - sscanf(line,"%d",i); - } -} - -llquery(prompt,i) -long long *i; -char prompt[100]; -{ - char line[100], newprompt[200]; - strcpy(newprompt,prompt); - strcat(newprompt," [%lld]: "); - fprintf(stderr,newprompt,*i); - fgets(line,100,stdin); - if(*line != '\n') - { - sscanf(line,"%lld",i); - } -} diff --git a/src/amuse/community/galactics/src/src/readmassrad.c b/src/amuse/community/galactics/src/src/readmassrad.c deleted file mode 100644 index 9bb6cd1e63..0000000000 --- a/src/amuse/community/galactics/src/src/readmassrad.c +++ /dev/null @@ -1,21 +0,0 @@ -#include -#include - -extern float diskmass, diskedge; -extern float bulgemass, bulgeedge; -extern float halomass, haloedge; - -readmassrad() -{ - FILE *mrfile; - - if( !(mrfile = fopen("mr.dat","r")) ) { - fprintf(stderr,"Cannot open file mr.dat - contains component masses\n"); - exit(1); - } - - fscanf(mrfile,"%f %f\n",&diskmass,&diskedge); - fscanf(mrfile,"%f %f\n",&bulgemass,&bulgeedge); - fscanf(mrfile,"%f %f\n",&halomass,&haloedge); - fclose(mrfile); -} diff --git a/src/amuse/community/galactics/src/src/toascii.c b/src/amuse/community/galactics/src/src/toascii.c deleted file mode 100644 index ffb98c61d8..0000000000 --- a/src/amuse/community/galactics/src/src/toascii.c +++ /dev/null @@ -1,34 +0,0 @@ -#include -#include -#include - -main(argc,argv) -int argc; -char *argv[]; -{ - int i, nobj; - float r[7]; - FILE *rvfile; - - if( argc == 2 ) { - if( !(rvfile = fopen(argv[1],"r")) ) { - fprintf(stderr,"can't open %s\n",argv[1]); - } - } - else { - fprintf(stderr,"usage: toascii binary_rvfile > ascii_rvfile\n"); - exit(0); - } - - fseek(rvfile,0,2); nobj = ftell(rvfile)/28; fseek(rvfile,0,0); - - fprintf(stdout,"%d\n",nobj); - for(i=0; i corrotating sys, 2-> inertial sys", - default_value=0 - ) - - # BAR - handler.add_method_parameter( - "get_bar_phase", - "set_bar_phase", - "bar_phase", - "Initial phase of the bar", - default_value=0 # | units.rad - ) - - handler.add_method_parameter( - "get_mass_bar", - "set_mass_bar", - "mass_bar", - "The mass of the bar in the model", - default_value=431 | 2.32e7*units.MSun - ) - - handler.add_method_parameter( - "get_aaxis_bar", - "set_aaxis_bar", - "aaxis_bar", - "The semimajor axis of the bar in the model", - default_value=3.13 | units.kpc - ) - - handler.add_method_parameter( - "get_axis_ratio_bar", - "set_axis_ratio_bar", - "axis_ratio_bar", - "b/a of the bar", - default_value=0.32 - ) - - handler.add_method_parameter( - "get_caxis_bar", - "set_caxis_bar", - "caxis_bar", - "The vertical axis of the bar in the model", - default_value=0 | units.kpc - ) - - handler.add_method_parameter( - "get_omega_bar", - "set_omega_bar", - "omega_bar", - "The pattern speed of the bar in the model", - default_value=5 | 10.*units.km/(units.s*units.kpc) - ) - - handler.add_method_parameter( - "get_nbt", - "set_nbt", - "nbt", - "The number of rotations over which bar in the model grows. This is to set tgrow.", - default_value=0 - ) - - handler.add_method_parameter( - "get_tin", - "set_tin", - "Tin", - "Bar formation start time. (takes nbt bar rotations). Bar forms from bulge mass.", - default_value=0 - ) - - handler.add_method_parameter( - "get_tgrowth", - None, - "tgrowth_bar", - "Growing time of the bar", - default_value=0 | 97781310.5721*units.yr - ) - - # SPIRAL - handler.add_method_parameter( - "get_spiral_phase", - "set_spiral_phase", - "spiral_phase", - "Initial phase of the spiral arms", - default_value=0 # | units.rad - ) - - handler.add_method_parameter( - "get_N", - "set_N", - "N", - "How sharply spiral change to bar in the central region", - default_value=100 - ) - - handler.add_method_parameter( - "get_tan_pitch_angle", - "set_tan_pitch_angle", - "tan_pitch_angle", - " tangent of the pitch angle", - default_value=0.277 - ) - - handler.add_method_parameter( - "get_rsp", - "set_rsp", - "rsp", - "radius when the spiral starts", - default_value=1.5 | units.kpc - ) - - handler.add_method_parameter( - "get_amplitude", - "set_amplitude", - "amplitude", - "Amplitude of the perturbation", - default_value=8.5 | 100*units.kms**2/units.kpc - ) - - handler.add_method_parameter( - "get_r_sigma", - "set_r_sigma", - "r_sigma", - "scalelength rsigma of the spiral arms", - default_value=2.5 | units.kpc - ) - - handler.add_method_parameter( - "get_omega_spiral", - "set_omega_spiral", - "omega_spiral", - "Pattern speed of the spiral", - default_value=2. | 10.*units.kms/units.kpc - ) - - handler.add_method_parameter( - "get_m", - "set_m", - "m", - "Number of spirals", - default_value=2 - ) - - # CG02 3D spiral model - # default values set as in onriginal CG02 paper - - handler.add_method_parameter( - "get_spiral_density_amplitude", - "set_spiral_density_amplitude", - "spiral_density_amplitude", - "CG02 model spiral arms density amplitude", - default_value=1.35633 | 2.32e7*units.MSun/units.kpc**3 - ) - - handler.add_method_parameter( - "get_fiducial_radius", - "set_fiducial_radius", - "fiducial_radius", - "CG02 spiral arms fiducial radius", - default_value=8.0 | units.kpc - ) - - handler.add_method_parameter( - "get_scale_height", - "set_scale_height", - "scale_height", - "CG02 spiral arms scale height", - default_value=0.18 | units.kpc - ) - - # transcient structure - - handler.add_method_parameter( - "get_sigma_s", - "set_sigma_s", - "sigma_s", - "Duration of the sp force", - default_value=1.02269032206 | 97781310.5721*units.yr - ) - - handler.add_method_parameter( - "get_t_sim", - "set_t_sim", - "t_sim", - "simulation time", - default_value=47.0437548146 | 97781310.5721*units.yr - ) - - # LEPINE MODEL - handler.add_method_parameter( - "get_spiral_model", - "set_spiral_model", - "spiral_model", - "0 is TWA, 1 is C&G, 2 is Lepine ", - default_value=0 - ) - - handler.add_method_parameter( - "get_omega_spiral2", - "set_omega_spiral2", - "omega_spiral2", - "Pattern speed of the second SA ", - default_value=2. | 10.*units.kms/units.kpc - ) - - handler.add_method_parameter( - "get_amplitude2", - "set_amplitude2", - "amplitude2", - "Amplitude of the second SA pattern", - default_value=6.8 | 100*units.kms**2/units.kpc - ) - - handler.add_method_parameter( - "get_tan_pitch_angle2", - "set_tan_pitch_angle2", - "tan_pitch_angle2", - " tangent of the pitch angle second SA pattern", - default_value=-0.1227845 - ) - - handler.add_method_parameter( - "get_m2", - "set_m2", - "m2", - "Number of spirals of the second SA pattern", - default_value=2 - ) - - handler.add_method_parameter( - "get_phi21", - "set_phi21", - "phi21_spiral", - "Initial phase of the second pattern with respect to the primarly one", - default_value=-3.49065850399 - ) - - # AXI - handler.add_method_parameter( - "get_mass_bulge", - "set_mass_bulge", - "mass_bulge", - "mass of the total central component in the model", - default_value=606 | 2.32e7*units.MSun - ) - - handler.add_method_parameter( - "get_b_bulge", - "set_b_bulge", - "b_bulge", - "b constant of the bulge's potential", - default_value=0.3873 | units.kpc - ) - - handler.add_method_parameter( - "get_mass_disk", - "set_mass_disk", - "mass_disk", - "The mass of the disk in the model", - default_value=3690 | 2.32e7*units.MSun - ) - - handler.add_method_parameter( - "get_a_disk", - "set_a_disk", - "a_disk", - "The constant a in the potential of the disk", - default_value=5.3178 | units.kpc - ) - - handler.add_method_parameter( - "get_b_disk", - "set_b_disk", - "b_disk", - "The constant b in the potential of the disk", - default_value=0.25 | units.kpc - ) - - handler.add_method_parameter( - "get_mass_halo", - "set_mass_halo", - "mass_halo", - "The mass of the dark matter halo in the model", - default_value=4615 | 2.32e7*units.MSun - ) - - handler.add_method_parameter( - "get_a_halo", - "set_a_halo", - "a_halo", - "The constant a in the potential of the dark matter halo", - default_value=12.0 | units.kpc - ) - - handler.add_boolean_parameter( - "get_spiral_contribution", - "set_spiral_contribution", - "spiral_contribution", - "Flag whether to include a spiral in the model", - False - ) - handler.add_boolean_parameter( - "get_bar_contribution", - "set_bar_contribution", - "bar_contribution", - "Flag whether to include a bar in the model", - False - ) - - handler.add_boolean_parameter( - "get_transient_spiral", - "set_transient_spiral", - "transient_spiral", - "Flag whether to include transient spirals in the model", - False - ) - - def define_state(self, handler): - CommonCode.define_state(self, handler) - handler.add_transition('INITIALIZED', 'RUN', 'commit_parameters') - handler.add_transition('RUN', 'CHANGE_PARAMETERS_RUN', 'before_set_parameter', False) - handler.add_transition('CHANGE_PARAMETERS_RUN', 'RUN', 'recommit_parameters') - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') - handler.add_method('RUN', 'before_get_parameter') - GravityFieldCode.define_state(self, handler) - handler.add_method('RUN', 'get_local_density') - handler.add_method('RUN', 'get_velcirc') - handler.add_method('RUN', 'get_epifreq') - handler.add_method('RUN', 'get_spiral_density') - handler.add_method('RUN', 'get_tidal_tensor') - handler.add_method('RUN', 'get_eigen_values') - handler.add_method('RUN', 'get_tidal_radius') - - def before_set_parameter(self): - pass - - def before_get_parameter(self): - pass - - def evolve_model(self, t_end): - self.parameters.time = t_end - - @property - def model_time(self): - return self.parameters.time - - def get_density_at_point(self, x, y, z): - return self.get_local_density(self.parameters.time, x, y, z) +BarAndSpiralsInterface = load_code("galaxia", "BarAndSpiralsInterface") +BarAndSpirals3D = load_code("galaxia", "BarAndSpirals3D") Barandspirals3d = BarAndSpirals3D -Galaxia = BarAndSpirals3D diff --git a/src/amuse/community/hacs64/interface.py b/src/amuse/community/hacs64/interface.py index 0fc628b0d7..60000b935b 100644 --- a/src/amuse/community/hacs64/interface.py +++ b/src/amuse/community/hacs64/interface.py @@ -1,356 +1,7 @@ -from amuse.community import * -from amuse.community.interface.gd import GravitationalDynamics -from amuse.community.interface.gd import GravitationalDynamicsInterface +from amuse.support.import_helper import load_code -# *** This script, together with the defaults in -# *** GravitationalDynamicsInterface, will be used to generate both -# *** the header file interface.h and the stub interface.cc. Since -# *** interface.cc has been hand-coded to implement the details, -# *** MAKE SURE TO SAVE IT SOMEWHERE, as build.py can overwrite it! -class Hacs64Interface(CodeInterface, GravitationalDynamicsInterface, StoppingConditionInterface): - """ - HACS64, GPU-accelerated Hermite Ahmad-Cohen Scheme - 6th order irregular & 4th order regular step - """ +Hacs64Interface = load_code("hacs64", "Hacs64Interface") +Hacs64 = load_code("hacs64", "Hacs64") - # Interface specification. - - include_headers = ['interface.h', 'stopcond.h'] - - MODE_GPU = 'gpu' - MODE_CPU = 'cpu' - - def __init__(self, mode = MODE_CPU, **options): - CodeInterface.__init__( - self, - name_of_the_worker=self.name_of_the_muse_worker(mode), - **options - ) - - # Inheritance from GravitationalDynamicsInterface means that - # functions in the standard interface don't need to be defined. - # See interface.py.2 for a laboriously hand-coded version written - # before I discovered this fact! (Steve McMillan, 10/10) - - # Additional functions defined here will be reflected in - # interface.h and must be provided in interface.cc in order for - # ph4_worker to build. - - # The following functions aren't defined in the default interface: - - def name_of_the_muse_worker(self, mode): - if mode == self.MODE_CPU: - return 'hacs64_worker' - elif mode == self.MODE_GPU: - return 'hacs64_worker_gpu' - else: - return 'hacs64_worker' - - @legacy_function - def get_number_of_particles_updated(): - """ - Return the number of particles added or deleted during the last evolve. - """ - function = LegacyFunctionSpecification() - function.addParameter('index', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_id_of_updated_particle(): - """ - Return the number of particles added or deleted during the last evolve. - """ - function = LegacyFunctionSpecification() - function.addParameter('index_of_update', dtype='int32', - direction=function.IN, - description = 'index in the updated particles list') - function.addParameter('index_of_particle', dtype='int32', - direction=function.OUT) - function.addParameter('kind_of_update', dtype='int32', - direction=function.OUT, - description = 'kind of update (2, addition), (1, deletion)') - function.can_handle_array = True - function.result_type = 'int32' - return function - - @legacy_function - def set_nmax(): - """ - Set the current time step parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('nmax', dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_nmax(): - """ - Set the current system time step parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('nmax', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_dtmax(): - """ - Set the current time step parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('dtmax', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_dtmax(): - """ - Set the current system time step parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('dtmax', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_h2max(): - """ - Set the current time step parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('h2max', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_h2max(): - """ - Set the current system time step parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('h2max', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_eta_reg(): - """ - Set the current time step parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('eta_reg', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_eta_reg(): - """ - Set the current system time step parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('eta_reg', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_eta_irr(): - """ - Set the current time step parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('eta_irr', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_eta_irr(): - """ - Set the current system time step parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('eta_irr', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - - -class Hacs64(GravitationalDynamics): - - # The actual module. - - def __init__(self, convert_nbody = None, **keyword_arguments): - - legacy_interface = Hacs64Interface(**keyword_arguments) - - self.stopping_conditions = StoppingConditions(self) - - GravitationalDynamics.__init__(self, - legacy_interface, - convert_nbody, - **keyword_arguments) - - def define_parameters(self, handler): - - # Set/get parameters specific to the module, not part of the - # standard interface. Accessors used here must be defined - # above and reflected in interface.cc. Python access is - # (e.g.) - # - # ph4.parameters.timestep_parameter = xxx - - handler.add_method_parameter( - "get_nmax", # getter name in interface.cc - "set_nmax", # setter name in interface.cc - "nmax", # python parameter name - "maximal number of particles", # description - default_value = -1 # default - ) - - handler.add_method_parameter( - "get_dtmax", # getter name in interface.cc - "set_dtmax", # setter name in interface.cc - "dtmax", # python parameter name - "maximal timestep", # description - default_value = 0.0625 | nbody_system.time # default - ) - - handler.add_method_parameter( - "get_h2max", # getter name in interface.cc - "set_h2max", # setter name in interface.cc - "h2max", # python parameter name - "maximal neighbour radius squared", # description - default_value = 0.5 | nbody_system.length*nbody_system.length # default - ) - - handler.add_method_parameter( - "get_eta_reg", # getter name in interface.cc - "set_eta_reg", # setter name in interface.cc - "eta_reg", # python parameter name - "regular timestep parameter", # description - default_value = 0.1 # default - ) - - handler.add_method_parameter( - "get_eta_irr", # getter name in interface.cc - "set_eta_irr", # setter name in interface.cc - "eta_irr", # python parameter name - "irregular timestep parameter", # description - default_value = 0.6 - ) - - handler.add_method_parameter( - "get_eps2", # already defined in standard interface - "set_eps2", # already defined in standard interface - "eps2", # python parameter name - "smoothing parameter for gravity calculations", - default_value = 0.0 | nbody_system.length * nbody_system.length - ) - - handler.add_method_parameter( - "get_begin_time", - "set_begin_time", - "begin_time", - "model time to start the simulation at", - default_value = 0.0 | nbody_system.time - ) - - self.stopping_conditions.define_parameters(handler) - - def update_particle_set(self): - """ - update the particle set after changes in the code - - this implementation needs to move to the - amuse.datamodel.incode_storage module, as - it uses a lot of internal methods and info! - - """ - number_of_updated_particles = self.get_number_of_particles_updated() - - if number_of_updated_particles == 0: - return - - indices_in_update_list = list(range(number_of_updated_particles)) - particle_indices, updates = self.get_id_of_updated_particle(indices_in_update_list) - - incode_storage = self.particles._private.attribute_storage - - indices_to_remove = [] - indices_to_add = [] - for index, status in zip(particle_indices, updates): - if status == 1: # deletion - indices_to_remove.append(index) - elif status == 2: # addition - indices_to_add.append(index) - - print('') - print("indices_to_remove:", indices_to_remove) - print("indices_to_add:", indices_to_add) - - if len(indices_to_remove) > 0: - incode_storage._remove_indices(indices_to_remove) - if len(indices_to_add) > 0: - incode_storage._add_indices(indices_to_add) - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - - # Similarly, we can add module-specific methods, if desired. - # See hermite0/interface.py for examples. - - handler.add_method("get_nmax", (), - (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_nmax", (handler.NO_UNIT, ), - (handler.ERROR_CODE,)) - - handler.add_method("get_dtmax", (), - (nbody_system.time, handler.ERROR_CODE,)) - handler.add_method("set_dtmax", (nbody_system.time, ), - (handler.ERROR_CODE,)) - - handler.add_method("get_h2max", (), - (nbody_system.length*nbody_system.length, handler.ERROR_CODE,)) - handler.add_method("set_h2max", (nbody_system.length*nbody_system.length, ), - (handler.ERROR_CODE,)) - - handler.add_method("get_eta_irr", (), - (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_eta_irr", (handler.NO_UNIT, ), - (handler.ERROR_CODE,)) - - handler.add_method("get_eta_reg", (), - (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_eta_reg", (handler.NO_UNIT, ), - (handler.ERROR_CODE,)) - - handler.add_method("get_eps2", (), - (nbody_system.length * nbody_system.length, handler.ERROR_CODE,)) - handler.add_method("set_eps2", (nbody_system.length * nbody_system.length, ), - (handler.ERROR_CODE,)) - - self.stopping_conditions.define_methods(handler) - - - def define_particle_sets(self, handler): - GravitationalDynamics.define_particle_sets(self, handler) - - self.stopping_conditions.define_particle_set(handler) - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - - self.stopping_conditions.define_state(handler) +Hacs64 = Hacs64 diff --git a/src/amuse/community/halogen/Makefile b/src/amuse/community/halogen/Makefile deleted file mode 100644 index c195a4036d..0000000000 --- a/src/amuse/community/halogen/Makefile +++ /dev/null @@ -1,39 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPICXX ?= mpicxx - -CFLAGS += -CXXFLAGS += $(CFLAGS) -LDFLAGS += -lm $(MUSE_LD_FLAGS) - -OBJ = interface.o - -CODELIB = src/libhalogen.a - - -all: halogen_worker - -clean: - $(RM) -f *.so *.o *.pyc worker_code.cc worker_code.h - $(RM) *~ halogen_worker worker_code.cc - make -C src clean - -$(CODELIB): - make -C src all - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py HalogenInterface -o $@ - -worker_code.h: interface.py - $(CODE_GENERATOR) --type=h interface.py HalogenInterface -o $@ - -halogen_worker: worker_code.cc worker_code.h $(CODELIB) $(OBJ) - $(MPICXX) $(CXXFLAGS) $(LDFLAGS) $< $(OBJ) $(CODELIB) -o $@ $(LIBS) - -$(OBJ): interface.cc interface.h - $(CXX) $(CXXFLAGS) -c -o $(OBJ) $< diff --git a/src/amuse/community/halogen/interface.cc b/src/amuse/community/halogen/interface.cc deleted file mode 100644 index 4b39bb555d..0000000000 --- a/src/amuse/community/halogen/interface.cc +++ /dev/null @@ -1,444 +0,0 @@ -#include "interface.h" -#include "worker_code.h" -#define MAXLEN_PATH 250 - -// Default parameters: -INT randomseed = 42; - -// Other globals: -INT outputgridr, outputgriddf; -DOUBLE t0, t1, t2, t3, t4, t5, t6, t7; -PARTICLE *bh; -SI *halo; -GI *gi; -CHAR FILENAME[STRINGSIZE + MAXLEN_PATH + 20], INPUTNAME[STRINGSIZE + MAXLEN_PATH]; -FILE *file; - -int commit_parameters_result; -double input_cutoff_radius = -1; -bool particles_generated = false; -bool write_output = false; -CHAR output_path[MAXLEN_PATH]; /*!< output directory of the code */ -CHAR output_basename[STRINGSIZE]; /*!< basename of output files */ - -/* - * Interface code for the stripped-down version of HALOGEN for the AMUSE project - */ - -int initialize_code(){ - t0 = ((DOUBLE) clock())/((DOUBLE) CLOCKS_PER_SEC); - initialise_fixed_structures(&bh, &halo, &gi); - set_standard_values_for_parameters(&outputgridr, &outputgriddf, gi, halo); - halo->p = NULL; - strcpy(output_path, "./"); - strcpy(output_basename, "halogen"); - strcpy(INPUTNAME, output_path); - strcat(INPUTNAME, output_basename); - initialise_black_hole(bh); - initialise_parameters(halo); - return 0; -} - -int cleanup_code(){ - free(bh); - free(halo->sp); - free(halo->griddf); - free(halo->p); - free(halo); - free(gi->stuff); - free(gi->gridr); - free(gi); - return 0; -} - -int commit_parameters(){ - commit_parameters_result = 0; - fprintf(stderr,"Checking parameters, calculating halo properties and initialising grid in r... \n"); - srand48(randomseed); - halo->sp->rcutoff = input_cutoff_radius; - - /* - ** Check main input parameters - */ - - if (strcmp(INPUTNAME, "none") == 0) { - fprintf(stderr,"You have not set a name for the output model.\n"); - usage(); - } - if ((NGRIDR-1) % (NGRIDDF-1) != 0) { - fprintf(stderr,"Bad choice of NGRIDR and NGRIDDF!\n"); - fprintf(stderr,"These numbers have to fulfill the condition (NGRIDR-1) mod (NGRIDDF-1) == 0.\n"); - usage(); - } - - check_main_parameters(halo); - if (commit_parameters_result) return commit_parameters_result; - calculate_parameters(gi,halo); - if (commit_parameters_result) return commit_parameters_result; - initialise_all_grids(gi, bh, halo, outputgridr, outputgriddf, t0, &t1, FILENAME, INPUTNAME); - if (commit_parameters_result) return commit_parameters_result; - initialise_structure(gi,halo); - t2 = ((DOUBLE) clock())/((DOUBLE) CLOCKS_PER_SEC); - fprintf(stderr,"Done in "OFD1" seconds.\n",t2-t1); - return commit_parameters_result; -} - -int recommit_parameters(){ - free(halo->p); - return commit_parameters(); -} - -int generate_particles(){ - INT i, j, index; - - // Set particle positions - fprintf(stderr,"Setting particle positions... \n"); - set_positions(halo); - - // Set particle velocities - t3 = ((DOUBLE) clock())/((DOUBLE) CLOCKS_PER_SEC); - fprintf(stderr,"Done in "OFD1" seconds.\nSetting particle velocities... \n",t3-t2); - set_velocities(gi,halo); - - // Set remaining attributes - t4 = ((DOUBLE) clock())/((DOUBLE) CLOCKS_PER_SEC); - fprintf(stderr,"Done in "OFD1" seconds.\nSetting remaining particle attributes... \n",t4-t3); - set_attributes(gi,halo); - - // Calculate a few things and do center of mass correction - t5 = ((DOUBLE) clock())/((DOUBLE) CLOCKS_PER_SEC); - fprintf(stderr,"Done in "OFD1" seconds\nCalculating a few things, doing mass scaling and correct center of mass position and velocity... \n",t5-t4); - double_particles(halo); - calculate_stuff(gi,bh,halo); - - // Write Output - if (write_output) { - t6 = ((DOUBLE) clock())/((DOUBLE) CLOCKS_PER_SEC); - fprintf(stderr,"Done in "OFD1" seconds\nWriting Output... \n",t6-t5); - - sprintf(FILENAME,"%s.IC.ascii",INPUTNAME); - file = fopen(FILENAME,"w"); - - index = 1; - if (bh->mass != 0) { - assert(fprintf(file,OFI1" ",index) > 0); - assert(fprintf(file,OFD5" ",bh->mass) > 0); - for (j = 0; j < 3; j++) { - assert(fprintf(file,OFD6" ",bh->r[j+1]) > 0); - } - for (j = 0; j < 3; j++) { - assert(fprintf(file,OFD6" ",bh->v[j+1]) > 0); - } - assert(fprintf(file,"\n") > 0); - index++; - } - for (i = 0; i < halo->N; i++) { - assert(fprintf(file,OFI1" ",index) > 0); - assert(fprintf(file,OFD5" ",halo->p[i].mass) > 0); - for (j = 0; j < 3; j++) { - assert(fprintf(file,OFD6" ",halo->p[i].r[j+1]) > 0); - } - for (j = 0; j < 3; j++) { - assert(fprintf(file,OFD6" ",halo->p[i].v[j+1]) > 0); - } - assert(fprintf(file,"\n") > 0); - index++; - } - fclose(file); - - /* - ** Print some output in file - */ - - sprintf(FILENAME,"%s.out",INPUTNAME); - file = fopen(FILENAME,"w"); - assert(file != NULL); - fprintf(file,"HALOGEN4MUSE by Marcel Zemp / Version 30. August 2007\n\n"); - fprintf(file,"Command line\n\n"); - //for (i = 0; i < argc; i++) fprintf(file,"%s ",argv[i]); - fprintf(file,"N/A (executed by AMUSE)"); - fprintf(file,"\n\n"); - fprintf(file,"Model properties\n\n"); - fprintf(file,"alpha = "OFD1"\n",halo->sp->alpha); - fprintf(file,"beta = "OFD1"\n",halo->sp->beta); - fprintf(file,"gamma = "OFD1"\n",halo->sp->gamma); - fprintf(file,"rho0 = "OFD3" MU LU^-3\n",halo->sp->rho0); - fprintf(file,"\n"); - if (bh->mass > 0) { - fprintf(file,"MBH = "OFD3" MU\n",bh->mass); - fprintf(file,"\n"); - } - fprintf(file,"rs = "OFD3" LU\n",halo->sp->rs); - fprintf(file,"rhalf = "OFD3" LU\n",halo->sp->rhalf); - fprintf(file,"rvir = "OFD3" LU\n",halo->sp->rvir); - fprintf(file,"rinner = "OFD3" LU\n",gi->rinner); - fprintf(file,"router = "OFD3" LU\n",gi->router); - if (halo->sp->rcutoff != SBI) { - fprintf(file,"rcutoff = "OFD3" LU\n",halo->sp->rcutoff); - fprintf(file,"rdecay = "OFD3" LU\n",halo->sp->rdecay); - } - fprintf(file,"\n"); - fprintf(file,"M(rs) = "OFD3" MU\n",Menc(halo->sp->rs,gi)); - fprintf(file,"M(rhalf) = "OFD3" MU\n",Menc(halo->sp->rhalf,gi)); - fprintf(file,"M(rvir) = "OFD3" MU\n",Menc(halo->sp->rvir,gi)); - fprintf(file,"M(rinner) = "OFD3" MU\n",Menc(gi->rinner,gi)); - fprintf(file,"M(router) = "OFD3" MU\n",Menc(gi->router,gi)); - if (halo->sp->rcutoff != SBI) { - fprintf(file,"M(rcutoff) = "OFD3" MU\n",Menc(halo->sp->rcutoff,gi)); - } - fprintf(file,"\n"); - fprintf(file,"Sampling properties\n\n"); - fprintf(file,"|Cr| = "OFD3" MU Cr = ("OFD4", "OFD4", "OFD4") MU\n",gi->stuff->Cr[0],gi->stuff->Cr[1],gi->stuff->Cr[2],gi->stuff->Cr[3]); - fprintf(file,"|Cv| = "OFD3" MU TU^-1 Cv = ("OFD4", "OFD4", "OFD4") MU TU^-1\n",gi->stuff->Cv[0],gi->stuff->Cv[1],gi->stuff->Cv[2],gi->stuff->Cv[3]); - fprintf(file,"\n"); - fprintf(file,"Etot = "OFD4" MU LU^2 TU^-2\n",gi->stuff->Etot); - fprintf(file,"Ekin = "OFD4" MU LU^2 TU^-2\n",gi->stuff->Ekin); - fprintf(file,"Epot = "OFD4" MU LU^2 TU^-2\n",gi->stuff->Epot); - fprintf(file,"Rvir = |2*Ekin/Epot| = %g\n",fabs(2*gi->stuff->Ekin/gi->stuff->Epot)); - fprintf(file,"\n"); - fprintf(file,"Ntot = "OFD3" = "OFI1"\n",(DOUBLE)gi->stuff->N,gi->stuff->N); - fprintf(file,"rimp = "OFD3" LU\n",halo->rimp); - fprintf(file,"r1 = "OFD3" LU\n",halo->r1); - fprintf(file,"r100 = "OFD3" LU\n",halo->r100); - fprintf(file,"Mtheo = "OFD3" MU\n",bh->mass + halo->sp->M); - fprintf(file,"Msamp = "OFD3" MU\n",gi->stuff->Mp); - fprintf(file,"(Msamp-Mtheo)/Mtheo = "OFD3"\n",gi->stuff->Mp/(bh->mass + halo->sp->M)-1.0); - fprintf(file,"Random seed = "OFI1"\n",randomseed); - fprintf(file,"\n"); - fprintf(file,"Times for individual steps\n\n"); - fprintf(file,"Calculation of halo properties and initialisation of grid in r: "OFD1" seconds.\n",t1-t0); - fprintf(file,"Initialisation of grid for distribution function: "OFD1" seconds.\n",t2-t1); - fprintf(file,"Setting particle positions: "OFD1" seconds\n",t3-t2); - fprintf(file,"Setting particle velocities: "OFD1" seconds\n",t4-t3); - fprintf(file,"Setting remaining particle attributes: "OFD1" seconds\n",t5-t4); - fprintf(file,"Calculating a few things and correct center of mass: "OFD1" seconds\n",t6-t5); - t7 = ((DOUBLE) clock())/((DOUBLE) CLOCKS_PER_SEC); - fprintf(file,"Writing output: "OFD1" seconds\n",t7-t6); - fprintf(file,"Total time: "OFD1" seconds\n",t7-t0); - fclose(file); - } else { // in case no output is written - t6 = t5; - t7 = ((DOUBLE) clock())/((DOUBLE) CLOCKS_PER_SEC); - } - - fprintf(stderr,"Done in "OFD1" seconds\nTotal time needed was "OFD1" seconds\n",t7-t6,t7-t0); - - particles_generated = true; - return 0; -} - -int get_number_of_particles_updated(int *number_of_particles_updated){ - if (!particles_generated) - *number_of_particles_updated = 0; - else { - if (bh->mass > 0) - *number_of_particles_updated = halo->N0 + 1; - else - *number_of_particles_updated = halo->N0; - particles_generated = false; - } - return 0; -} - -int get_mass(int index_of_the_particle, double *mass){ - if (index_of_the_particle >= halo->N0){ - if (index_of_the_particle == halo->N0 && bh->mass > 0){ - *mass = bh->mass; - return 0; - } else return -1; - } - *mass = halo->p[index_of_the_particle].mass; - return 0; -} - -int get_position(int index_of_the_particle, double *x, double *y, double *z){ - if (index_of_the_particle >= halo->N0){ - if (index_of_the_particle == halo->N0 && bh->mass > 0){ - *x = bh->r[1]; - *y = bh->r[2]; - *z = bh->r[3]; - return 0; - } else return -1; - } - *x = halo->p[index_of_the_particle].r[1]; - *y = halo->p[index_of_the_particle].r[2]; - *z = halo->p[index_of_the_particle].r[3]; - return 0; -} - -int get_velocity(int index_of_the_particle, double *vx, double *vy, double *vz){ - if (index_of_the_particle >= halo->N0){ - if (index_of_the_particle == halo->N0 && bh->mass > 0){ - *vx = bh->v[1]; - *vy = bh->v[2]; - *vz = bh->v[3]; - return 0; - } else return -1; - } - *vx = halo->p[index_of_the_particle].v[1]; - *vy = halo->p[index_of_the_particle].v[2]; - *vz = halo->p[index_of_the_particle].v[3]; - return 0; -} - - -// Parameters - -int get_model_alpha(double *model_alpha){ - *model_alpha = halo->sp->alpha; - return 0; -} -int set_model_alpha(double model_alpha){ - halo->sp->alpha = model_alpha; - return 0; -} - -int get_model_beta(double *model_beta){ - *model_beta = halo->sp->beta; - return 0; -} -int set_model_beta(double model_beta){ - halo->sp->beta = model_beta; - return 0; -} - -int get_model_gamma(double *model_gamma){ - *model_gamma = halo->sp->gamma; - return 0; -} -int set_model_gamma(double model_gamma){ - halo->sp->gamma = model_gamma; - return 0; -} - -int get_total_mass(double *total_mass){ - *total_mass = halo->sp->M; - return 0; -} -int set_total_mass(double total_mass){ - halo->sp->M = total_mass; - return 0; -} - -int get_scale_radius(double *scale_radius){ - *scale_radius = halo->sp->rs; - return 0; -} -int set_scale_radius(double scale_radius){ - halo->sp->rs = scale_radius; - return 0; -} - -int get_cutoff_radius(double *cutoff_radius){ - *cutoff_radius = input_cutoff_radius; - return 0; -} -int set_cutoff_radius(double cutoff_radius){ - input_cutoff_radius = cutoff_radius; - return 0; -} - -int get_target_number_of_particles(int *target_number_of_particles){ - *target_number_of_particles = halo->N0; - return 0; -} -int set_target_number_of_particles(int target_number_of_particles){ - halo->N0 = target_number_of_particles; - return 0; -} - -int get_black_hole_mass(double *black_hole_mass){ - *black_hole_mass = bh->mass; - return 0; -} -int set_black_hole_mass(double black_hole_mass){ - bh->mass = black_hole_mass; - return 0; -} - -int get_random_seed(int *random_seed_out){ - *random_seed_out = randomseed; - return 0; -} -int set_random_seed(int random_seed_in){ - randomseed = random_seed_in; - return 0; -} - -int get_do_exact_virial_radius_flag(int *do_exact_virial_radius_flag){ - *do_exact_virial_radius_flag = gi->dorvirexact; - return 0; -} -int set_do_exact_virial_radius_flag(int do_exact_virial_radius_flag){ - if (do_exact_virial_radius_flag) { - gi->dorvirexact = 1; - } else { - gi->dorvirexact = 0; - } - return 0; -} - -int get_outputgridr_flag(int *outputgridr_flag){ - *outputgridr_flag = (int) outputgridr; - return 0; -} -int set_outputgridr_flag(int outputgridr_flag){ - if (outputgridr_flag) { - outputgridr = true; - } else { - outputgridr = false; - } - return 0; -} -int get_outputgriddf_flag(int *outputgriddf_flag){ - *outputgriddf_flag = (int) outputgriddf; - return 0; -} -int set_outputgriddf_flag(int outputgriddf_flag){ - if (outputgriddf_flag) { - outputgriddf = true; - } else { - outputgriddf = false; - } - return 0; -} - -int get_write_output_flag(int *write_output_flag){ - *write_output_flag = (int) write_output; - return 0; -} -int set_write_output_flag(int write_output_flag){ - if (write_output_flag) { - write_output = true; - } else { - write_output = false; - } - return 0; -} -int get_output_basename(char **output_basename_out){ - *output_basename_out = output_basename; - return 0; -} -int set_output_basename(char *output_basename_in){ - if (strlen(output_basename_in) >= STRINGSIZE) - return -1; - strcpy(output_basename, output_basename_in); - strcpy(INPUTNAME, output_path); - strcat(INPUTNAME, output_basename); - return 0; -} -int get_output_path(char **output_path_out){ - *output_path_out = output_path; - return 0; -} -int set_output_path(char *output_path_in){ - int length = strlen(output_path_in); - if (length >= MAXLEN_PATH) - return -1; - strcpy(output_path, output_path_in); - if (length > 0 && output_path[length - 1] != '/') - strcat(output_path, "/"); - strcpy(INPUTNAME, output_path); - strcat(INPUTNAME, output_basename); - return 0; -} diff --git a/src/amuse/community/halogen/interface.py b/src/amuse/community/halogen/interface.py index 863826bbca..17bbccdea7 100644 --- a/src/amuse/community/halogen/interface.py +++ b/src/amuse/community/halogen/interface.py @@ -1,554 +1,7 @@ -import os.path -from amuse.community import * -from amuse.community.interface.common import CommonCodeInterface, CommonCode -from amuse.support.options import option +from amuse.support.import_helper import load_code -class HalogenInterface(CodeInterface, CommonCodeInterface, LiteratureReferencesMixIn, - CodeWithDataDirectories): - """ - This is a stripped-down version of Halogen, developed during the Modest 7a workshop - in Split, Croatia, in August 2007. This version can be used for generating - single-mass initial conditions. - - Halogen allows to generate spherical structures from the alpha-beta-gamma-model - family with an isotropic velocity tensor. Particles are sampled self-consistently - from the distribution function of the models. - - Relevant references: - .. [#] ADS:2008MNRAS.386.1543Z (Zemp M., Moore B., Stadel J., Carollo C.M. & Madau P. 2008, MNRAS, 386, 1543) - """ - - include_headers = ['worker_code.h'] - - def __init__(self, **keyword_arguments): - CodeInterface.__init__(self, name_of_the_worker="halogen_worker", **keyword_arguments) - LiteratureReferencesMixIn.__init__(self) - CodeWithDataDirectories.__init__(self) - - @legacy_function - def generate_particles(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - new_particle = None - - def delete_particle(self, index_of_the_particle): - return 0 - - def invoke_state_change2(self): - pass - - def invoke_state_change_updated(self): - pass - - @legacy_function - def get_number_of_particles_updated(): - """ - Return the number of particles added during the last generate_particles. - """ - function = LegacyFunctionSpecification() - function.addParameter('index', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_mass(): - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('mass', dtype='float64', direction=function.OUT, description = "The current mass of the particle") - function.result_type = 'int32' - function.can_handle_array = True - return function - @legacy_function - def get_position(): - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('x', dtype='float64', direction=function.OUT, description = "The current x component of the position vector of the particle") - function.addParameter('y', dtype='float64', direction=function.OUT, description = "The current y component of the position vector of the particle") - function.addParameter('z', dtype='float64', direction=function.OUT, description = "The current z component of the position vector of the particle") - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def get_velocity(): - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('vx', dtype='float64', direction=function.OUT, description = "The current x component of the velocity vector of the particle") - function.addParameter('vy', dtype='float64', direction=function.OUT, description = "The current y component of the velocity vector of the particle") - function.addParameter('vz', dtype='float64', direction=function.OUT, description = "The current z component of the velocity vector of the particle") - function.result_type = 'int32' - function.can_handle_array = True - return function - - - @legacy_function - def get_model_alpha(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_model_alpha(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_model_beta(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_model_beta(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_model_gamma(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_model_gamma(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_total_mass(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_total_mass(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_scale_radius(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_scale_radius(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_cutoff_radius(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_cutoff_radius(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_target_number_of_particles(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_target_number_of_particles(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_black_hole_mass(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_black_hole_mass(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_random_seed(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_random_seed(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_do_exact_virial_radius_flag(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_do_exact_virial_radius_flag(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_outputgridr_flag(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_outputgridr_flag(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_outputgriddf_flag(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_outputgriddf_flag(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_write_output_flag(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_write_output_flag(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_output_path(): - function = LegacyFunctionSpecification() - function.addParameter('output_directory', dtype='string', direction=function.OUT, - description = "The path to the output directory.") - function.result_type = 'int32' - return function - - @legacy_function - def set_output_path(): - function = LegacyFunctionSpecification() - function.addParameter('output_directory', dtype='string', direction=function.IN, - description = "The path to the output directory.") - function.result_type = 'int32' - return function - - @legacy_function - def get_output_basename(): - function = LegacyFunctionSpecification() - function.addParameter('output_basename', dtype='string', direction=function.OUT, - description = "The basename of output files.") - function.result_type = 'int32' - return function - - @legacy_function - def set_output_basename(): - function = LegacyFunctionSpecification() - function.addParameter('output_basename', dtype='string', direction=function.IN, - description = "The basename of output files.") - function.result_type = 'int32' - return function - - - - -class Halogen(CommonCode): - - def __init__(self, unit_converter = None, **options): - self.unit_converter = unit_converter - InCodeComponentImplementation.__init__(self, HalogenInterface(**options), **options) - - def initialize_code(self): - result = self.overridden().initialize_code() - self.parameters.set_defaults() - self.parameters.output_directory = self.get_output_directory() - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_model_alpha", - "set_model_alpha", - "alpha", - "alpha parameter in density profile (see amuse/community/halogen/src/doc for details)", - default_value = -1.0 - ) - - handler.add_method_parameter( - "get_model_beta", - "set_model_beta", - "beta", - "beta parameter in density profile (see amuse/community/halogen/src/doc for details)", - default_value = -1.0 - ) - - handler.add_method_parameter( - "get_model_gamma", - "set_model_gamma", - "gamma", - "gamma parameter in density profile (see amuse/community/halogen/src/doc for details)", - default_value = -1.0 - ) - - handler.add_method_parameter( - "get_total_mass", - "set_total_mass", - "total_mass", - "the total mass of the model", - default_value = 1.0 | nbody_system.mass - ) - - handler.add_method_parameter( - "get_scale_radius", - "set_scale_radius", - "scale_radius", - "the scale radius of the density profile (see amuse/community/halogen/src/doc for details)", - default_value = 1.0 | nbody_system.length - ) - - handler.add_method_parameter( - "get_cutoff_radius", - "set_cutoff_radius", - "cutoff_radius", - "the cutoff radius of the density profile (see amuse/community/halogen/src/doc for details)", - default_value = -1.0 | nbody_system.length - ) - - handler.add_method_parameter( - "get_target_number_of_particles", - "set_target_number_of_particles", - "number_of_particles", - "the number of particles to be generated in the model", - default_value = -1 - ) - - handler.add_method_parameter( - "get_black_hole_mass", - "set_black_hole_mass", - "black_hole_mass", - "the mass of the central black hole", - default_value = 0.0 | nbody_system.mass - ) - - handler.add_method_parameter( - "get_random_seed", - "set_random_seed", - "random_seed", - "the initial seed to be used by the random number generator", - default_value = 42 - ) - - handler.add_boolean_parameter( - "get_do_exact_virial_radius_flag", - "set_do_exact_virial_radius_flag", - "do_exact_virial_radius_flag", - "Flag specifying whether to calculate the virial radius exactly via N^2 sum - Warning: time consuming for large N!", - False - ) - - handler.add_boolean_parameter( - "get_outputgridr_flag", - "set_outputgridr_flag", - "outputgridr_flag", - "Flag specifying whether to write a file outputting grid in r", - False - ) - - handler.add_boolean_parameter( - "get_outputgriddf_flag", - "set_outputgriddf_flag", - "outputgriddf_flag", - "Flag specifying whether to write a file outputting grid for distribution function", - False - ) - - handler.add_boolean_parameter( - "get_write_output_flag", - "set_write_output_flag", - "write_output_flag", - "Flag specifying whether to write the model and a log to file", - False - ) - - handler.add_method_parameter( - "get_output_path", - "set_output_path", - "output_directory", - "The path to the output directory", - default_value = "./" - ) - - handler.add_method_parameter( - "get_output_basename", - "set_output_basename", - "output_basename", - "The basename of output files", - default_value = "halogen" - ) - - def define_errorcodes(self, handler): - handler.add_errorcode(-1, 'Unspecified, other error.') - handler.add_errorcode(-2, 'Missing or bad parameter for halo (see amuse/community/halogen/src/doc for details on required parameters).') - - def define_methods(self, handler): - CommonCode.define_methods(self, handler) - handler.add_method("generate_particles", (), (handler.ERROR_CODE,)) - handler.add_method("get_number_of_particles_updated", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - - handler.add_method("get_mass", (handler.INDEX,), - (nbody_system.mass, handler.ERROR_CODE) - ) - handler.add_method("get_position", (handler.INDEX,), - (nbody_system.length, nbody_system.length, nbody_system.length, handler.ERROR_CODE) - ) - handler.add_method("get_velocity", (handler.INDEX,), - (nbody_system.speed, nbody_system.speed, nbody_system.speed, handler.ERROR_CODE) - ) - - handler.add_method("get_model_alpha", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_model_alpha", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) - - handler.add_method("get_model_beta", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_model_beta", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) - - handler.add_method("get_model_gamma", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_model_gamma", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) - - handler.add_method("get_total_mass", (), (nbody_system.mass, handler.ERROR_CODE,)) - handler.add_method("set_total_mass", (nbody_system.mass, ), (handler.ERROR_CODE,)) - - handler.add_method("get_scale_radius", (), (nbody_system.length, handler.ERROR_CODE,)) - handler.add_method("set_scale_radius", (nbody_system.length, ), (handler.ERROR_CODE,)) - - handler.add_method("get_cutoff_radius", (), (nbody_system.length, handler.ERROR_CODE,)) - handler.add_method("set_cutoff_radius", (nbody_system.length, ), (handler.ERROR_CODE,)) - - handler.add_method("get_target_number_of_particles", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_target_number_of_particles", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) - - handler.add_method("get_black_hole_mass", (), (nbody_system.mass, handler.ERROR_CODE,)) - handler.add_method("set_black_hole_mass", (nbody_system.mass, ), (handler.ERROR_CODE,)) - - handler.add_method("get_random_seed", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_random_seed", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) - - handler.add_method("get_output_path", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_output_path", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - handler.add_method("get_output_basename", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_output_basename", (handler.NO_UNIT,), (handler.ERROR_CODE,)) - - def define_converter(self, handler): - if not self.unit_converter is None: - handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) - - def define_particle_sets(self, handler): - handler.define_set('particles', 'index_of_the_particle') - handler.set_new('particles', 'new_particle') - handler.set_delete('particles', 'delete_particle') - handler.add_getter('particles', 'get_mass') - handler.add_getter('particles', 'get_position') - handler.add_getter('particles', 'get_velocity') - - def define_state(self, handler): - CommonCode.define_state(self, handler) - handler.add_transition('INITIALIZED','EDIT','commit_parameters') - handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False) - handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False) - handler.add_transition('UPDATE','CHANGE_PARAMETERS_UPDATE','before_set_parameter', False) - handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters') - handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') - handler.add_transition('CHANGE_PARAMETERS_UPDATE','UPDATE','recommit_parameters') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') - handler.add_method('CHANGE_PARAMETERS_UPDATE','before_set_parameter') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') - handler.add_method('CHANGE_PARAMETERS_UPDATE','before_get_parameter') - handler.add_method('RUN', 'before_get_parameter') - handler.add_method('EDIT', 'before_get_parameter') - handler.add_method('UPDATE','before_get_parameter') - - handler.add_transition('EDIT', 'UPDATE', 'generate_particles', False) - handler.add_transition('UPDATE', 'RUN', 'update_particle_set') - handler.add_transition('RUN', 'EDIT', 'clear_particle_set') - handler.add_method('RUN', 'invoke_state_change_updated') - handler.add_method('EDIT', 'get_number_of_particles_updated') - handler.add_method('UPDATE', 'get_number_of_particles_updated') - handler.add_method('RUN', 'get_number_of_particles_updated') - handler.add_method('RUN', 'get_mass') - handler.add_method('RUN', 'get_position') - handler.add_method('RUN', 'get_velocity') - - def generate_particles(self): - result = self.overridden().generate_particles() - self.invoke_state_change_updated() - - def update_particle_set(self): - """ - update the particle set after changes in the code - - this implementation needs to move to the - amuse.datamodel.incode_storage module, as - it uses a lot of internal methods and info! - """ - number_of_updated_particles = self.get_number_of_particles_updated() - if number_of_updated_particles: - self.particles._private.attribute_storage._add_indices( - list(range(number_of_updated_particles)) - ) - - def clear_particle_set(self): - if len(self.particles): - self.particles.remove_particles(self.particles) - +HalogenInterface = load_code("halogen", "HalogenInterface") +Halogen = load_code("halogen", "Halogen") +Halogen = Halogen diff --git a/src/amuse/community/hermite/Makefile b/src/amuse/community/hermite/Makefile deleted file mode 100644 index bbc7005f38..0000000000 --- a/src/amuse/community/hermite/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPICXX ?= mpicxx -MPICC ?= mpicc - -CC = $(MPICC) -CXX = $(MPICXX) - -CFLAGS ?= -O3 -Wall -DTOOLBOX $(MUSE_INCLUDE_DIR) -CXXFLAGS ?= $(CFLAGS) - -LDFLAGS += -lm $(MUSE_LD_FLAGS) - -A_OBJS = interface.o -ifeq ($(MPI_ENABLED),yes) -AM_LIBS = -L$(AMUSE_DIR)/lib/amuse_mpi -lamuse_mpi -AM_CFLAGS = -I$(AMUSE_DIR)/lib/amuse_mpi -endif - -#PROFLIBS ?= -L$(AMUSE_DIR)/lib/ibis/src/profiling -libisprofiling -lmpi - -all: hermite_worker - -cleanall: clean - $(RM) hermite_worker *~ worker_code hermite_worker_sockets - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py HermiteInterface -o $@ - -worker_code.h: interface.py - $(CODE_GENERATOR) --type=h -i amuse.community.interface.stopping_conditions.StoppingConditionInterface interface.py HermiteInterface -o $@ - -hermite_worker: worker_code.cc worker_code.h $(A_OBJS) - $(MPICXX) $(CXXFLAGS) $(SC_FLAGS) $(AM_CFLAGS) $(LDFLAGS) $< $(A_OBJS) -o $@ $(SC_MPI_CLIBS) $(LIBS) $(AM_LIBS) - -.cc.o: $< - $(CXX) $(CXXFLAGS) $(SC_FLAGS) $(AM_CFLAGS) -c -o $@ $< - -.C.o: - $(CC) $(CFLAGS) $(SC_FLAGS) $(AM_CFLAGS) -c -o $@ $? - -clean: - rm -f *.so *.o *.pyc worker_code.cc worker_code.h - rm -f hermite_worker hermite_worker worker_code-sockets.cc hermite_worker_sockets - rm -rf *.dSYM diff --git a/src/amuse/community/hermite/interface.cc b/src/amuse/community/hermite/interface.cc deleted file mode 100644 index bd25ed5e69..0000000000 --- a/src/amuse/community/hermite/interface.cc +++ /dev/null @@ -1,1757 +0,0 @@ -//============================================================================= -// -// N-body integration module with shared but variable time step -// (the same for all particles but its size changing in time), -// using the Hermite integration scheme. -// -// ref.: Hut, P., Makino, J. & McMillan, S., 1995, -// Astrophysical Journal Letters 443, L93-L96. -// -// All module functions are included in this file. -//_____________________________________________________________________________ -// -// version 1: Jan 2002 Piet Hut, Jun Makino -// version 2: Mar 2006 Jun Makino, Steve McMillan -// version 3: Jan 2007 Steve McMillan (MODEST-7b) -// version 3a: Aug 2007 Steve McMillan (MODEST-7a) -//============================================================================= - -#ifndef NOMPI -#include -#endif - -#include -#include -#include -#include -#include - -#include "worker_code.h" - -#include -#include -#include -#include - - -// AMUSE STOPPING CONDITIONS SUPPORT -#include -#include - -#ifndef NOMPI -#include -static MPI_Comm WORLD; -#endif - -using namespace std; -typedef double real; - -#include "vec3.h" // borrowed from starlab - -#define PR(x) *sout << #x << " = " << x << " " << flush -#define PRC(x) *sout << #x << " = " << x << ", " << flush -#define PRL(x) *sout << #x << " = " << x << endl << flush - - - -// (Global!) static data: - -const int NDIM = 3; // number of spatial dimensions - -/*------------- MPI data ---------------------*/ -static int mpi_rank = 0; -static int mpi_size = 1; -/*------------- MPI data ---------------------*/ - -// N-body data: - - -static real t = 0; -static real t_evolve = t; // Time requested by evolve. Control returns - // when t <= t_evolve and t + dt > t_evolve, - // and this is assumed when the state of the - // system is computed by extrapolation. -static real t_wanted = 0; -static double begin_time = 0; -static double end_time_accuracy_factor = 0.0; - -static vector ident; -static vector mass, radius, potential; -static vector pos, vel, acc, jerk; -static vector acc_reduced, jerk_reduced; -static vector potential_reduced; - -// Control parameters: - -const real DT_PARAM = 0.03; -const real DT_DIA = 1; - -static real dt_param = DT_PARAM; // control parameter to determine time step size -static real dt_dia = DT_DIA; // time interval between diagnostic output - -static bool x_flag = false; // set true for serious debugging only! -static bool is_time_reversed_allowed = false; - -static int nsteps = 0; // number of integration time steps completed -static real einit = 0; // initial total energy of the system -static bool init_flag = false; -static real t_dia = 0; -static real eps2 = 0; - -static bool flag_collision = true; -static bool reeval = false; -static bool test_mode = false; -static ostream* sout = &cout; - -static real potential_energy = 0.0; - -// Accessors for use by the C++ main driver only: - -//void set_t(real tt) {t = tt;} -//void set_dt_param(real dt) {dt_param = dt;} -//void set_dt_dia(real dt) {dt_dia = dt;} -//void set_eps(real eps) {eps2 = eps*eps;} - -int get_eps2(double *_epsilon_squared){ - *_epsilon_squared = eps2; - return 0; -} -int set_eps2(double _epsilon_squared){ - eps2 = _epsilon_squared; - return 0; -} -int get_dt_dia(double *_dt_dia){ - *_dt_dia = dt_dia; - return 0; -} -int set_dt_dia(double _dt_dia){ - dt_dia = _dt_dia; - return 0; -} - -int get_is_time_reversed_allowed(bool *value){ - *value = is_time_reversed_allowed; - return 0; -} -int set_is_time_reversed_allowed(bool value){ - is_time_reversed_allowed = value; - return 0; -} - - -int get_dt_param(double *_dt_param) -{ - *_dt_param = dt_param; - return 0; -} -int set_dt_param(double _dt_param) -{ - dt_param = _dt_param; - return 0; -} -int get_time(double *_t) -{ - *_t = t; - return 0; -} - - -int set_begin_time(double input) { - begin_time = input; - return 0; -} - -int get_begin_time(double * output) { - *output = begin_time; - return 0; -} - - -// (Most of) the original code (some arguments replaced by global data): - -//----------------------------------------------------------------------------- -// write_diagnostics -- writes diagnostics on the output stream cout: -// current time; total mass; number of -// integration steps so far; kinetic, -// potential, and total energy; absolute and -// relative energy errors since the start of -// the run. If x_flag (x for eXtra data) is -// true, all internal data are dumped for each -// particle (mass, position, velocity, -// acceleration, and jerk). -// -// Note: the kinetic energy is calculated here, while the potential -// energy is calculated in the function get_acc_jerk_pot_coll(). -//----------------------------------------------------------------------------- - -void write_diagnostics(real epot, ostream& s = cout) -{ - int n = ident.size(); - real total_mass = 0; - real ekin = 0; // kinetic energy - for (int i = 0; i < n ; i++) { - total_mass += mass[i]; - for (int k = 0; k < NDIM ; k++) - ekin += 0.5 * mass[i] * vel[i][k] * vel[i][k]; - } - - real etot = ekin + epot; // total energy - - if (!init_flag) // on first pass, set - { - einit = etot; // the initial energy - init_flag = true; - return; // suppress initial output - } - - s << " internal diagnostics at time t = " << t - << " after " << nsteps << " steps" - << endl - << " total mass = " << total_mass - << " initial energy E_init = " << einit << endl - << " E_kin = " << ekin - << " E_pot = " << epot - << " E_tot = " << etot << endl; - s << " " - << "absolute energy error E_tot - E_init = " - << etot - einit << endl; - s << " " - << "relative energy error (E_tot - E_init) / E_init = " - << (etot - einit) / einit << endl; - - if (x_flag) - { - s << " system dump, n = " << n << endl; - for (int i = 0; i < n ; i++) - { - s << " data for particle " << ident[i] - << ": " << endl; - s << " "; s << mass[i] << endl; - s << " "; s << radius[i] << endl; - s << " "; - for (int k = 0; k < NDIM; k++) - { - s << ' ' << pos[i][k]; - } - s << endl; - s << " "; - for (int k = 0; k < NDIM; k++) - { - s << ' ' << vel[i][k]; - } - s << endl; - s << " "; - for (int k = 0; k < NDIM; k++) - { - s << ' ' << acc[i][k]; - } - s << endl; - s << " "; - for (int k = 0; k < NDIM; k++) - { - s << ' ' << jerk[i][k]; - } - s << endl; - } - } -} - -//----------------------------------------------------------------------------- -// predict_step -- take the first approximation of one Hermite integration -// step, advancing the positions and velocities through a -// Taylor series development up to the order of the jerks. -// Note that all pos and vel are overwritten. -//----------------------------------------------------------------------------- - -void predict_step(real dt) -{ - if (!is_time_reversed_allowed && dt <= 0) return; - - int n = ident.size(); - for (int i = 0; i < n ; i++) - { - for (int k = 0; k < NDIM ; k++) - { - pos[i][k] += vel[i][k]*dt + acc[i][k]*dt*dt/2 - + jerk[i][k]*dt*dt*dt/6; - vel[i][k] += acc[i][k]*dt + jerk[i][k]*dt*dt/2; - } - } -} - -//----------------------------------------------------------------------------- -// get_acc_jerk_pot_coll -- calculate accelerations and jerks, and as -// side effect also calculates potential energy -// and the time scale coll_time for significant -// changes in local configurations to occur. -// __ __ -// | --> --> | -// M M | r . v | -// --> j --> --> j | --> ji ji --> | -// a == -------- r ; j == -------- | v - 3 --------- r | -// ji |--> |3 ji ji |--> |3 | ji |--> |2 ji | -// | r | | r | | | r | | -// | ji | | ji | |__ | ji | __| - -// Note: it would be cleaner to calculate potential energy and -// collision time in a separate function. However, the current -// function is by far the most time consuming part of the whole -// program, with a double loop over all particles that is executed -// every time step. Splitting off some of the work to another -// function would significantly increase the total computer time -// (by an amount close to a factor two). -// -// With softening, the r^3 in the denominator becomes (r^2 + e^2)^{1.5}. -// -// We determine the values of all four quantities of interest by -// walking through the system in a double {i,j} loop. The first -// three, acceleration, jerk, and potential energy, are calculated by -// adding successive terms; the last, the estimate for the collision -// time, is found by determining the minimum value over all particle -// pairs and over the two choices of collision time, -// position/velocity and sqrt(position/acceleration), where position -// and velocity indicate their relative values between the two -// particles, while acceleration indicates their pairwise -// acceleration. At the start, the first three quantities are set to -// zero, to prepare for accumulation, while the last one is set to a -// very large number, to prepare for minimization. -// -// The integration loops only over half of the pairs, with j > i, -// since the contributions to the acceleration and jerk of particle j -// on particle i are the same as those of particle i on particle j, -// apart from a minus sign and a different mass factor. -//----------------------------------------------------------------------------- - -static int id_coll_primary = -1, id_coll_secondary = -1; - -inline int mpi_distribute_data(int n) { - -#ifndef NOMPI - MPI_Bcast(&n, 1, MPI_INTEGER, 0, WORLD); - - if(mpi_rank) { - vel.resize(n+1); - pos.resize(n+1); - acc.resize(n+1); - jerk.resize(n+1); - potential.resize(n+1, 0.0); - ident.resize(n+1); - mass.resize(n+1, 0.0); - radius.resize(n+1, 0.0); - } - - - MPI_Bcast(&vel[0], n * 3, MPI_DOUBLE, 0, WORLD); - MPI_Bcast(&pos[0], n * 3, MPI_DOUBLE, 0, WORLD); - MPI_Bcast(&mass[0], n, MPI_DOUBLE, 0, WORLD); - MPI_Bcast(&radius[0], n, MPI_DOUBLE, 0, WORLD); - MPI_Bcast(&ident[0], n, MPI_INTEGER, 0, WORLD); - - mpi_distribute_stopping_conditions(); -#endif - - return n; -} - -inline void mpi_collect_data(int n, real *epot, real *coll_time_q_out, real coll_time_q_in) { - -#ifndef NOMPI - real summed = 0.0; - MPI_Reduce(&coll_time_q_in, &summed, 1, MPI_DOUBLE, MPI_MIN, 0, WORLD); - *coll_time_q_out = summed; - - summed = 0.0; - MPI_Reduce(epot, &summed, 1, MPI_DOUBLE, MPI_SUM, 0, WORLD); - *epot = summed; - - if(!mpi_rank) { - acc_reduced.resize(n+1); - jerk_reduced.resize(n+1); - potential_reduced.resize(n+1); - } - - MPI_Reduce(&acc[0], &acc_reduced[0], n * 3, MPI_DOUBLE, MPI_SUM, 0, WORLD); - MPI_Reduce(&jerk[0], &jerk_reduced[0], n * 3, MPI_DOUBLE, MPI_SUM, 0, WORLD); - MPI_Reduce(&potential[0], &potential_reduced[0], n, MPI_DOUBLE, MPI_SUM, 0, WORLD); - - if(!mpi_rank) { - acc = acc_reduced; - jerk = jerk_reduced; - potential = potential_reduced; - } - - mpi_collect_stopping_conditions(); -#endif -} - -void get_acc_jerk_pot_coll(real *epot, real *coll_time) -{ - int n = 0; - int error; - int is_collision_detection_enabled; - if(mpi_rank == 0){ - n = ident.size(); - } - *coll_time = 0.0; - n = mpi_distribute_data(n); - - for (int i = 0; i < n ; i++) - { - for (int k = 0; k < NDIM ; k++) - { - acc[i][k] = jerk[i][k] = 0; - } - potential[i]= 0; - } - - *epot = 0; - const real VERY_LARGE_NUMBER = 1e300; - real coll_time_q = VERY_LARGE_NUMBER; // collision time to 4th power - real coll_est_q; // collision time scale estimate - // to 4th power (quartic) - id_coll_primary = id_coll_secondary = -1; - - reset_stopping_conditions(); - //int npart = n / mpi_size; - //int nleft = n % mpi_size; - //if(mpi_rank == mpi_size - 1) {iend = n;} - //cerr << istart <<", "< coll_est_q) - { - coll_time_q = coll_est_q; - } - // Second collision time estimate is based on free fall. - - real da2 = 0; // da2 becomes the - for (int k = 0; k < NDIM ; k++) // square of the - { - da2 += da[k] * da[k]; // pairwise accel- - } - real mij = mass[i] + mass[j]; // eration between - da2 *= mij * mij; // particles i and j - - coll_est_q = r2/da2; - if (coll_time_q > coll_est_q) - { - coll_time_q = coll_est_q; - } - } - } - mpi_collect_data(n, epot, &coll_time_q, coll_time_q); - - // from q for quartic back - *coll_time = sqrt(sqrt(coll_time_q)); // to linear collision time -} - -//----------------------------------------------------------------------------- -// correct_step -- take one iteration to improve the new values of -// position and velocities, constructing a higher-order -// Taylor series from the terms up to jerk at the -// beginning and the end of the time step. This symmetric -// formulation is not the original one from Makino and -// Aarseth; it comes from ACS (Hut & Makino). -//----------------------------------------------------------------------------- - -void correct_step(const real old_pos[][NDIM], const real old_vel[][NDIM], - const real old_acc[][NDIM], const real old_jerk[][NDIM], - real dt) -{ - int n = ident.size(); - for (int i = 0; i < n ; i++) - { - for (int k = 0; k < NDIM ; k++) - { - vel[i][k] = old_vel[i][k] + (old_acc[i][k] + acc[i][k])*dt/2 - + (old_jerk[i][k] - jerk[i][k])*dt*dt/12; - pos[i][k] = old_pos[i][k] + (old_vel[i][k] + vel[i][k])*dt/2 - + (old_acc[i][k] - acc[i][k])*dt*dt/12; - } - } -} - -//----------------------------------------------------------------------------- -// evolve_step -- take one integration step for an N-body system, using -// the Hermite algorithm. -//----------------------------------------------------------------------------- - -void evolve_step(real dt, real *epot, real *coll_time) -{ - int n = ident.size(); - real (* old_pos)[NDIM] = new real[n][NDIM]; - real (* old_vel)[NDIM] = new real[n][NDIM]; - real (* old_acc)[NDIM] = new real[n][NDIM]; - real (* old_jerk)[NDIM] = new real[n][NDIM]; - - for (int i = 0; i < n ; i++) - { - for (int k = 0; k < NDIM ; k++) - { - old_pos[i][k] = pos[i][k]; - old_vel[i][k] = vel[i][k]; - old_acc[i][k] = acc[i][k]; - old_jerk[i][k] = jerk[i][k]; - } - } - - predict_step(dt); - get_acc_jerk_pot_coll(epot, coll_time); - -/***** - * put back in previous positions if a collision was detected - * for experiment, need to remove - if(set_conditions & enabled_conditions) { - for (int i = 0; i < n ; i++) - { - for (int k = 0; k < NDIM ; k++) - { - pos[i][k] = old_pos[i][k]; - vel[i][k] = old_vel[i][k]; - acc[i][k] = old_acc[i][k]; - jerk[i][k] = old_jerk[i][k]; - } - } - delete[] old_pos; - delete[] old_vel; - delete[] old_acc; - delete[] old_jerk; - return; - } - * - ****/ - correct_step(old_pos, old_vel, old_acc, old_jerk, dt); - - if (reeval) - { - get_acc_jerk_pot_coll(epot, coll_time); - } - t += dt; - t_evolve = t; - - delete[] old_pos; - delete[] old_vel; - delete[] old_acc; - delete[] old_jerk; -} - - -real calculate_step(real coll_time) -{ - // Determine the new system time step from coll_time. - - real step = dt_param; - if (!test_mode) - { - - step *= coll_time; -#if 0 - // Round down to the next power of 2. - - real step2 = 1; - while (step2 > step) step2 /= 2; - step = step2; -#endif - } - - return step; -} - -void compute_nn() -{ - // For debugging only. - - real rijmin2 = 1.e30; - int imin = -1, jmin = -1; - int n = ident.size(); - - for (int i = 0; i < n-1; i++) - { - for (int j = i+1; j < n; j++) - { - real rij2 = 0; - for (int k = 0; k < NDIM; k++) - { - real dx = pos[i][k]-pos[j][k]; - rij2+=dx*dx; - } - if (rij2 <= rijmin2) - { - rijmin2 = rij2; - imin = i; - jmin = j; - } - } - } - - real rsum = radius[imin]+radius[jmin]; - - if (rsum <= 0) - { - rsum = 1; - } - real rijmin = sqrt(rijmin2); - *sout << "closest: " << ident[imin] << " " << ident[jmin] - << " " << rijmin << " " << rijmin/rsum << endl << flush; -} - -// New/modified integrator code: - -//----------------------------------------------------------------------------- -// evolve_system -- integrate an N-body system to time t_end. -// Diagnostics are sent to cout every time interval dt_dia. -// -// Note: the integration time step, shared by all particles at any given time, -// is variable. Before each integration step we use coll_time (short -// for collision time, an estimate of the time scale for any significant -// change in configuration to happen), multiplying it by dt_param (the -// accuracy parameter governing the size of dt in units of coll_time), -// to obtain the new time step size. -// -// Before moving any particles, we start with an initial diagnostics output -// and snapshot output if desired. In order to write the diagnostics, we -// first have to calculate the potential energy, with get_acc_jerk_pot_coll(). -// That function also calculates accelerations, jerks, and an estimate for the -// collision time scale, all of which are needed before we can enter the main -// integration loop below. -// -// The main loop takes as many integration time steps as needed to -// reach the next output time, does the output required, then -// continues taking integration steps and invoking output in this way -// until the final time is reached, which triggers a `break' out of -// the infinite loop set up with `while(true)'. -// -//----------------------------------------------------------------------------- - -int evolve_system(real t_end) -{ - real epot; // potential energy of the n-body system - real coll_time; // collision (close encounter) time scale - int nest_err = 0; // error of subprocedure - int must_run = 1; - - int is_number_of_steps_detection_enabled; - int is_out_of_box_detection_enabled; - int number_of_steps_innerloop = 0; - int max_number_of_steps; - double box_size; - double sqr_distance_wrt_origin; - double total, center_of_mass[NDIM]; - int error; - int n = ident.size();//no particles - int n_particles_out_of_box = 0; - int i, k; - // May be overkill to compute acc and jerk at start and end of - // this routine, as usually the stars won't have changed on - // return. This way, however, we can guarantee that the particles - // can be extrapolated when the interface calls for positions and - // velocities. - -#ifndef NOMPI - MPI_Bcast(&must_run, 1, MPI_INTEGER, 0, WORLD); -#endif - - get_acc_jerk_pot_coll(&epot, &coll_time); - - bool is_time_reversed = false; - - if(t_end < t && is_time_reversed_allowed) { - is_time_reversed = true; - } - - real dt = calculate_step(coll_time); - - if(is_time_reversed) { - dt *= -1; - } - - //std::cout<<"t"< t_end) { - dt = t_end - t; - } - else if(is_time_reversed && t_end < t && t_end > t + dt ) { - dt = t_end - t; - } - } - if(n <= 1) {dt = t_end - t;} - //std::cout<<"t0"< t_end + (end_time_accuracy_factor * dt)) - || - - (is_time_reversed && t_end - (end_time_accuracy_factor * dt) > t + dt ) - ) - { - must_run = 0; -#ifndef NOMPI - MPI_Bcast(&must_run, 1, MPI_INTEGER, 0, WORLD); -#endif - return -1; - - } - - - // AMUSE STOPPING CONDITIONS - time_t starttime, currenttime; - time(&starttime); - - int timeout_detection; - // - error = is_stopping_condition_enabled(TIMEOUT_DETECTION, - &timeout_detection); - error = is_stopping_condition_enabled(NUMBER_OF_STEPS_DETECTION, - &is_number_of_steps_detection_enabled); - error = is_stopping_condition_enabled(OUT_OF_BOX_DETECTION, - &is_out_of_box_detection_enabled); - get_stopping_condition_number_of_steps_parameter(&max_number_of_steps); - get_stopping_condition_out_of_box_parameter(&box_size); - - double box_size_squared = box_size*box_size; - // AMUSE STOPPING CONDITIONS - double t_before = -1; - while (true) { - while ( - (!is_time_reversed && t < t_dia && t + dt <= t_end + (end_time_accuracy_factor*dt)) - || - (is_time_reversed && t_end - (end_time_accuracy_factor*dt) < t + dt ) - ) { - - #ifndef NOMPI - MPI_Bcast(&must_run, 1, MPI_INTEGER, 0, WORLD); - #endif - - evolve_step(dt, &epot, &coll_time); // sets t, t_evolve - - dt = calculate_step(coll_time); - - - if (n == 1) { - dt = t_end - t; - } - - if(is_time_reversed) { - dt *= -1; - } - - //std::cout<<"t1"< t_end) - || - (is_time_reversed && end_time_accuracy_factor == 0.0 && t_end < t && t_end > t + dt ) - ) { - dt = t_end - t; - } - if(((t + dt) / t) - 1 < 1e-12) { - break; - } - //std::cout<<"t2"< timeout_parameter) { - int stopping_index = next_index_for_stopping_condition(); - set_stopping_condition_info(stopping_index, TIMEOUT_DETECTION); - } - } - - if(is_number_of_steps_detection_enabled) { - number_of_steps_innerloop++; - if (number_of_steps_innerloop > max_number_of_steps) { - int stopping_index = next_index_for_stopping_condition(); - set_stopping_condition_info(stopping_index, - NUMBER_OF_STEPS_DETECTION); - } - } - if (is_out_of_box_detection_enabled) { - for (k = 0; k < NDIM; k++) { - center_of_mass[k] = 0.0; - } - if(use_center_of_mass_parameter) { - total = 0.0; - for (i = 0; i < n; i++) { - for (k = 0; k < NDIM; k++) { - center_of_mass[k] += mass[i] * pos[i][k]; - } - total += mass[i]; - } - for (k = 0; k < NDIM; k++) { - center_of_mass[k] /= total; - } - } - - for (i = 0; i < n; i++) { - sqr_distance_wrt_origin = 0.0; - for (k = 0; k < NDIM; k++) { - double dx = (pos[i][k] - center_of_mass[k]); - sqr_distance_wrt_origin += dx*dx; - } - if (sqr_distance_wrt_origin > box_size_squared) { - int stopping_index = next_index_for_stopping_condition(); - if(stopping_index >= 0){ - set_stopping_condition_info(stopping_index, OUT_OF_BOX_DETECTION); - set_stopping_condition_particle_index(stopping_index, 0, ident[i]); - } else { - printf("Run out of storable out of box events\n"); - } - } - } - } - - if(set_conditions & enabled_conditions) { - break; - } - } - - if (t >= t_dia) { - write_diagnostics(epot, *sout); - t_dia += dt_dia; - } - - //is_stopping_condition_set??? - if (set_conditions & enabled_conditions) { - break; - } - - if ( - (!is_time_reversed && t + dt >= t_end + (end_time_accuracy_factor * dt)) - || - (is_time_reversed && t_end - (end_time_accuracy_factor * dt) >= t + dt ) - ) { - break; - } - } - - if (!(set_conditions & enabled_conditions)) - { - -#ifndef NOMPI - MPI_Bcast(&must_run, 1, MPI_INTEGER, 0, WORLD); -#endif - get_acc_jerk_pot_coll(&epot, &coll_time); - dt = calculate_step(coll_time); - if(is_time_reversed) { - dt *= -1; - } - t_evolve = t; - } else { - t_evolve = t; - } - - // Note: On exit, under all circumstances, the system is - // synchronized at time t, with t <= t_evolve < t + dt. If a - // collision has been detected, we return with t_evolve = t; - // otherwise, we set t_evolve = t_end. - - - must_run = 0; -#ifndef NOMPI - MPI_Bcast(&must_run, 1, MPI_INTEGER, 0, WORLD); -#endif - - return nest_err; -} - -int get_n_steps() -{ - return nsteps; -} - - -static int max_identifier = 0; - -int cleanup_code() -{ - reset_stopping_conditions(); - - ident.clear(); - vel.clear(); - pos.clear(); - mass.clear(); - acc.clear(); - jerk.clear(); - potential.clear(); - radius.clear(); - - acc_reduced.clear(); - jerk_reduced.clear(); - potential_reduced.clear(); - - begin_time = 0.0; - max_identifier = 0; - nsteps = 0; - dt_param = DT_PARAM; // control parameter to determine time step size - dt_dia = DT_DIA; // time interval between diagnostic output - - x_flag = false; // set true for serious debugging only! - is_time_reversed_allowed = false; - - einit = 0; // initial total energy of the system - max_identifier = 0; - init_flag = false; - t_dia = 0; - eps2 = 0; - - id_coll_primary = -1; - id_coll_secondary = -1; - - flag_collision = true; - reeval = false; - test_mode = false; - - potential_energy = 0.0; - t = 0; - t_evolve = t; - t_wanted = 0; - begin_time = 0; - end_time_accuracy_factor = 0.5; - - return 0; -} - - - -int new_particle(int *id, double _mass, - double x, double y, double z, - double vx, double vy, double vz, double _radius) -// add d to the dynamical system -// cello, proj 1 -// make test, not done yet -{ - - if(mpi_rank) { // calculate only on the root mpi process, not on others - return 0; - } - - int new_element; - - // Always add to the end of the list. - // Allways at the end anyway - - new_element = max_identifier++; - - ident.push_back(new_element); // generally want to specify id - mass.push_back(_mass); - radius.push_back(_radius); - pos.push_back(vec(x, y, z)); - vel.push_back(vec(vx, vy, vz)); - acc.push_back(vec(0,0,0)); - jerk.push_back(vec(0,0,0)); - potential.push_back(0); - - *id = new_element; - - //return ident.size(); - return 0; -} - -int delete_particle(int id) -{ - - if(mpi_rank) { // calculate only on the root mpi process, not on others - return 0; - } - - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - - if (i < ident.size()) - { - ident.erase(ident.begin()+i); - mass.erase(mass.begin()+i); - radius.erase(radius.begin()+i); - pos.erase(pos.begin()+i); - vel.erase(vel.begin()+i); - acc.erase(acc.begin()+i); - jerk.erase(jerk.begin()+i); - potential.erase(potential.begin()+i); - return 0; - } - else - { - return -1; - } -} - - -/* -int remove_particle(int id) // remove id from the dynamical system -{ - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - if (i < ident.size()) { - ident.erase(ident.begin()+i); - mass.erase(mass.begin()+i); - radius.erase(radius.begin()+i); - pos.erase(pos.begin()+i); - vel.erase(vel.begin()+i); - acc.erase(acc.begin()+i); - jerk.erase(jerk.begin()+i); - } - return ident.size(); // deletion never leaves empty space -} -*/ - -int get_state(int id, double *_mass, double *x, double *y, double *z, - double *vx, double *vy, double *vz, double *_radius) -// cello, proj1 changed return type void-->int, only OK no errors yet? -// todo: replace find fction. -{ - if(mpi_rank) {return 0;} - //*id_out = -1; - - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - - if (i < (int) ident.size()) - { - vec position = pos[i]; - vec velocity = vel[i]; - - //*id_out = id; - *_mass = mass[i]; - *_radius = radius[i]; - *x = position[0]; - *y = position[1]; - *z = position[2]; - *vx = velocity[0]; - *vy = velocity[1]; - *vz = velocity[2]; - return 0; - } - else - { - return -1; - } -} - -int set_state(int id, double _mass, double x, double y, double z, - double vx, double vy, double vz, double _radius) -//cello, proj1, -{ - if(mpi_rank) {return 0;} - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - - if (i < ident.size()) - { - mass[i] = _mass; - radius[i] = _radius; - pos[i] = vec(x,y,z); - vel[i] = vec(vx, vy, vz); - return 0; - } - else - { - return -1; - } - -} - -int get_mass(int id, double *_mass) -//cello, proj1, -{ - if(mpi_rank) {return 0;} - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - if (i < ident.size()) - { - *_mass = mass[i]; - return 0; - } - else - { - return -1; - } -} - -int set_mass(int id, double _mass) -{ - if(mpi_rank) {return 0;} - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - if (i < ident.size()) - { - mass[i] = _mass; - return 0; - } else - return -1; -} - -int get_radius(int id, double *_radius) -{ - if(mpi_rank) {return 0;} - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - //cerr << "hermite0: get_radius: "; PRC(id); PRL(i); cerr << flush; - if (i < ident.size()) - { - *_radius = radius[i]; - return 0; - } - else - { - return -1; - } -} - -int set_radius(int id, double _radius) -{ - if(mpi_rank) {return 0;} - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - if (i < ident.size()) - { - radius[i] = _radius;; - return 0; - } - else - { - return -1; - } -} - -int get_position(int id, double *x, double *y, double *z) -{ - if(mpi_rank) {return 0;} - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - if (i < ident.size()) - { - *x = pos[i][0]; - *y = pos[i][1]; - *z = pos[i][2]; - return 0; - } - else - { - return -2; - } -} - -int set_position(int id, double x, double y, double z) -{ - if(mpi_rank) {return 0;} - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - if (i < ident.size()) - { - pos[i] = vec(x, y, z); - return 0; - } - else - { - return -1; - } -} - -int get_velocity(int id, double *vx, double *vy, double *vz) -{ - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - if (i < ident.size()) - { - *vx = vel[i][0]; - *vy = vel[i][1]; - *vz = vel[i][2]; - return 0; - } - else - { - return -2; - } -} - -int set_velocity(int id, double vx, double vy, double vz) -{ - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - - if (i < ident.size()) - { - vel[i] = vec(vx,vy,vz); - return 0; - } - else - { - return -1; - } - return 0; -} - -int get_acceleration(int id, double *ax, double *ay, double *az) -{ - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - if (i < ident.size()) - { - *ax = acc[i][0]; - *ay = acc[i][1]; - *az = acc[i][2]; - return 0; - } - else - { - return -2; - } -} - -int evolve_not_on_root() { - -#ifndef NOMPI - int must_run = 1; - int mpi_error = MPI_Bcast(&must_run, 1, MPI_INTEGER, 0, WORLD); - if(mpi_error) { - return -1; - } - while(must_run) { - real epot, coll_time; - get_acc_jerk_pot_coll(&epot, &coll_time); - int mpi_error = MPI_Bcast(&must_run, 1, MPI_INTEGER, 0, WORLD); - if(mpi_error) { - return -1; - } - } -#endif - return 0; -} - -int evolve_model(double t_end) -{ - if(mpi_rank) { - evolve_not_on_root(); - } else { - evolve_system(t_end); - } - return 0; -} - - -int initialize_code() -{ - begin_time = 0.0; - is_time_reversed_allowed = false; - initialize_stopping_conditions(); - -#ifndef NOMPI - get_comm_world(&WORLD); - mpi_set_communicator(&WORLD); - - int error = 0; - error = MPI_Comm_rank(WORLD, &mpi_rank); - if(error) { - cerr << error << endl; - return -1; - } - error = MPI_Comm_size(WORLD, &mpi_size); - if(error) { - cerr << error << endl; - return -1; - } -#else - mpi_rank = 0; - mpi_size = 1; -#endif - //cerr <<"mpi rank: "< 0) - { - for (int i = 0; i < n ; i++) - { - for (int k = 0; k < NDIM ; k++) - { - save_pos[i][k] = pos[i][k]; - save_vel[i][k] = vel[i][k]; - } - } - predict_step(t_evolve-t); - } - } - real epot, coll_time; - get_acc_jerk_pot_coll(&potential_energy, &coll_time); - if(mpi_rank == 0) { - if (dt > 0) - { - for (int i = 0; i < n ; i++) - { - for (int k = 0; k < NDIM ; k++) - { - pos[i][k] = save_pos[i][k]; - vel[i][k] = save_vel[i][k]; - } - } - } - delete[] save_pos; - delete[] save_vel; - } - *value = potential_energy; - - return 0; -} - -int get_potential(int id, double *value) -{ - if(mpi_rank) {return 0;} - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - if (i < ident.size()) - { - *value = potential[i]; - return 0; - } - else - { - *value = 0.0; - return -1; - } -} - -int get_potential_at_point(double eps, double x, double y, double z, double *phi) -{ - if(mpi_rank) { // calculate only on the root mpi process, not on others - return 0; - } - int n = ident.size(); - double rx,ry,rz,r; - *phi = 0.0; - - for (int i = 0; i< n; i++) - { - rx = pos[i][0]-x; - ry = pos[i][1]-y; - rz = pos[i][2]-z; - r = sqrt(rx*rx+ry*ry+rz*rz + eps2); - *phi -= mass[i]/r; - } - - return 0; -} - -int get_gravity_at_point( - double eps, - double x,double y, double z, - double *ax, double *ay, double *az - ) -{ - if(mpi_rank) { // calculate only on the root mpi process, not on others - return 0; - } - int n = ident.size(); - double rx, ry, rz, r3, r2, r, F; - - *ax = 0; - *ay = 0; - *az = 0; - - for (int i = 0; i 1.0) { - return -1; - } - end_time_accuracy_factor = value; - return 0; -} -int get_end_time_accuracy_factor(double * value) -{ - *value = end_time_accuracy_factor; - return 0; -} diff --git a/src/amuse/community/hermite/interface.py b/src/amuse/community/hermite/interface.py index 7460a3718d..8c2a5adb74 100644 --- a/src/amuse/community/hermite/interface.py +++ b/src/amuse/community/hermite/interface.py @@ -1,346 +1,7 @@ -from amuse.community import * -from amuse.community.interface.gd import GravitationalDynamicsInterface -from amuse.community.interface.gd import GravitationalDynamics -from amuse.community.interface.gd import SinglePointGravityFieldInterface -from amuse.community.interface.gd import GravityFieldCode +from amuse.support.import_helper import load_code -class HermiteInterface(CodeInterface, - LiteratureReferencesMixIn, - GravitationalDynamicsInterface, - StoppingConditionInterface, - SinglePointGravityFieldInterface): - """ - N-body integration module with shared but variable time step - (the same for all particles but its size changing in time), - using the Hermite integration scheme. +HermiteInterface = load_code("hermite", "HermiteInterface") +Hermite = load_code("hermite", "Hermite") - .. [#] ADS:1995ApJ...443L..93H (Hut, P., Makino, J. & McMillan, S., *Astrophysical Journal Letters* , **443**, L93-L96 (1995)) - """ - include_headers = ['worker_code.h', 'stopcond.h'] - - def __init__(self, **options): - CodeInterface.__init__(self, name_of_the_worker="hermite_worker", - **options) - LiteratureReferencesMixIn.__init__(self) - - def reinitialize_particles(self): - self.recommit_particles() - - @legacy_function - def get_dt_dia(): - """ - Get the time interval between diagnostics output. - """ - function = LegacyFunctionSpecification() - function.addParameter('dt_dia', dtype='float64', - direction=function.OUT, - description = "time interval between diagnostic outputs") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was retrieved - -1 - ERROR - could not retrieve parameter - """ - return function - - @legacy_function - def set_dt_dia(): - """ - Set the time interval between diagnostics output. - """ - function = LegacyFunctionSpecification() - function.addParameter('dt_dia', dtype='float64', - direction=function.IN, - description = "the time interval between diagnostics output") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was set - -1 - ERROR - could not set parameter - """ - return function - - @legacy_function - def get_dt_param(): - """ - Get the timestep scaling factor. - """ - function = LegacyFunctionSpecification() - function.addParameter('dt_param', dtype='float64', - direction=function.OUT, - description = "the timestep scaling factor") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was retrieved - -1 - ERROR - could not retrieve parameter - """ - return function - - @legacy_function - def set_dt_param(): - """ - Set the timestep scaling factor. - """ - function = LegacyFunctionSpecification() - function.addParameter('dt_param', dtype='float64', - direction=function.IN, - description = "the timestep scaling factor") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was set - -1 - ERROR - could not set parameter - """ - return function - - @legacy_function - def get_is_time_reversed_allowed(): - """ - If time reversed is allowed for this code, the code will - calculate backwards in time if the endtime given in - evolve_model is less than the system time. - """ - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was retrieved - -1 - ERROR - could not retrieve parameter - """ - return function - - @legacy_function - def set_is_time_reversed_allowed(): - """ - If time reversed is allowed for this code, the code will - calculate backwards in time if the endtime given in - evolve_model is less than the system time. - """ - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was set - -1 - ERROR - could not set parameter - """ - return function - - @legacy_function - def get_time(): - """ - Get the current simulation time. - """ - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='float64', - direction=function.OUT, - description = "the current simulation time") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was retrieved - -1 - ERROR - could not retrieve parameter - """ - return function - - @legacy_function - def get_end_time_accuracy_factor(): - """ - Get the end time accuracy factor: - < 0 will stop between factor * dt befor the end time and the end time - 0 will stop at exactly the end time - > 0 will stop between the end time and factor * dt after the end time - """ - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was retrieved - -1 - ERROR - could not retrieve parameter - """ - return function - - @legacy_function - def set_end_time_accuracy_factor(): - """ - Set the end time accuracy factor - """ - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was set - -1 - ERROR - could not set parameter - """ - return function - - -class HermiteDoc(object): - - def __get__(self, instance, owner): - return instance.legacy_doc+"\n\n"+instance.parameters.__doc__ - - -class Hermite(GravitationalDynamics, GravityFieldCode): - - __doc__ = HermiteDoc() - __interface__ = HermiteInterface - - def __init__(self, convert_nbody = None, **options): - self.stopping_conditions = StoppingConditions(self) - - legacy_interface = self.__interface__(**options) - self.legacy_doc = legacy_interface.__doc__ - - GravitationalDynamics.__init__( - self, - legacy_interface, - convert_nbody, - **options - ) - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - GravityFieldCode.define_state(self, handler) - self.stopping_conditions.define_state(handler) - - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_eps2", - "set_eps2", - "epsilon_squared", - "smoothing parameter for gravity calculations", - default_value = 0.0 | nbody_system.length * nbody_system.length - ) - handler.add_method_parameter( - "get_dt_param", - "set_dt_param", - "dt_param", - "timestep scaling factor", - default_value = 0.03 - ) - handler.add_method_parameter( - "get_end_time_accuracy_factor", - "set_end_time_accuracy_factor", - "end_time_accuracy_factor", - """ - Get the end time accuracy factor: - < 0.0 will stop on or before the end time (larger factor, more before) - 0.0 will stop at exactly the end time - > 0.0 will stop on or after the end time - - Valid factors are between -1.0 and 1.0 - """, - default_value = 0.0 - ) - handler.add_method_parameter( - "get_dt_dia", - "set_dt_dia", - "dt_dia", - "time interval between diagnostics output", - default_value = 1.0 | nbody_system.time - ) - handler.add_method_parameter( - "get_is_time_reversed_allowed", - "set_is_time_reversed_allowed", - "is_time_reversed_allowed", - "if True will calculate back in time when evolve_model end time is less than systemtime", - default_value = False - ) - - handler.add_method_parameter( - "get_begin_time", - "set_begin_time", - "begin_time", - "model time to start the simulation at", - default_value = 0.0 | nbody_system.time - ) - - self.stopping_conditions.define_parameters(handler) - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - - handler.add_method( - "get_eps2", - (), - (nbody_system.length * nbody_system.length, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_eps2", - (nbody_system.length * nbody_system.length, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_dt_param", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_dt_param", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_dt_dia", - (), - (nbody_system.time, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_dt_dia", - (nbody_system.time, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_time", - (), - (nbody_system.time, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_time", - (nbody_system.time, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_pair_detect_factor", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_pair_detect_factor", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - self.stopping_conditions.define_methods(handler) - - def define_particle_sets(self, handler): - GravitationalDynamics.define_particle_sets(self, handler) - - self.stopping_conditions.define_particle_set(handler) +Hermite = Hermite diff --git a/src/amuse/community/hermite0/interface.py b/src/amuse/community/hermite0/interface.py index cf078a328e..5c74946d17 100644 --- a/src/amuse/community/hermite0/interface.py +++ b/src/amuse/community/hermite0/interface.py @@ -1,6 +1 @@ -from amuse.community import * -from amuse.community.interface.gd import GravitationalDynamicsInterface -from amuse.community.interface.gd import GravitationalDynamics -from amuse.community.interface.gd import SinglePointGravityFieldInterface -from amuse.community.interface.gd import GravityFieldCode -from amuse.community.hermite.interface import * +from amuse.support.import_helper import load_code diff --git a/src/amuse/community/hermite_grx/Makefile b/src/amuse/community/hermite_grx/Makefile deleted file mode 100755 index d06b34b242..0000000000 --- a/src/amuse/community/hermite_grx/Makefile +++ /dev/null @@ -1,53 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -#AMUSE_DIR?=/disks/strw3/por/amuse-svn -#AMUSE_DIR?=/disks/strw3/por/amuse-svn -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif -export AMUSE_DIR - --include $(AMUSE_DIR)/config.mk - -MPICXX ?= mpicxx - -CFLAGS += -Wall -g -std=c++11 -I$(AMUSE_DIR)/lib/stopcond -pthread -CXXFLAGS += $(CFLAGS) -LDFLAGS += -lm $(MUSE_LD_FLAGS) - -OBJS = interface.o - -CODELIB = src/Hermite_GRX/src/libhermite_grx.a - -DOWNLOAD_FROM_WEB = $(PYTHON) ./download.py - -all: hermite_grx_worker - -clean: - $(RM) -f *.so *.o *.pyc worker_code.cc worker_code.h - $(RM) *~ hermite_grx_worker worker_code.cc - $(RM) -f *~ - make -C src clean - -download: - if [ -d "src" ]; then \ - echo "src directory exists, skipping download"; \ - else \ - mkdir src; \ - $(DOWNLOAD_FROM_WEB); \ - fi - -$(CODELIB): download - make -C src/Hermite_GRX/src all - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py HermiteGRXInterface -o $@ - -worker_code.h: interface.py - $(CODE_GENERATOR) --type=H -i amuse.community.interface.stopping_conditions.StoppingConditionInterface interface.py HermiteGRXInterface -o $@ - -hermite_grx_worker: worker_code.cc worker_code.h $(CODELIB) $(OBJS) - $(MPICXX) $(CXXFLAGS) $< -o $@ $(OBJS) $(CODELIB) -L./src/Hermite_GRX/src -L$(AMUSE_DIR)/lib/stopcond -lstopcond -lhermite_grx - -interface.o: interface.cc - $(CXX) $(CXXFLAGS) -c -o $@ $< diff --git a/src/amuse/community/hermite_grx/__init__.py b/src/amuse/community/hermite_grx/__init__.py old mode 100755 new mode 100644 diff --git a/src/amuse/community/hermite_grx/download.py b/src/amuse/community/hermite_grx/download.py deleted file mode 100644 index ef39c9acf7..0000000000 --- a/src/amuse/community/hermite_grx/download.py +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/env python - -import subprocess -import os -import urllib.request -import urllib.parse -import urllib.error -from shutil import which -import argparse - - -class GetCodeFromHttp: - filename_template = "{version}.tar.gz" - name = ["Hermite_GRX"] - url_template = [ - "https://github.com/amusecode/Hermite_GRX/archive/{version}.tar.gz", - ] - version = [ - "", - ] - - def directory(self): - return os.path.abspath(os.path.dirname(__file__)) - - def src_directory(self): - return os.path.join(self.directory(), "src") - - def unpack_downloaded_file(self, filename, name, version): - print(f"unpacking {filename}") - arguments = ["tar", "-xf"] - arguments.append(filename) - subprocess.call(arguments, cwd=os.path.join(self.src_directory())) - subprocess.call( - ["mv", f"{name}-{version}", name], cwd=os.path.join(self.src_directory()) - ) - print("done") - - def start(self): - if os.path.exists("src"): - counter = 0 - while os.path.exists(f"src.{counter}"): - counter += 1 - if counter > 100: - print("too many backup directories") - break - os.rename("src", f"src.{counter}") - - os.mkdir("src") - - for i, url_template in enumerate(self.url_template): - url = url_template.format(version=self.version[i]) - filename = self.filename_template.format(version=self.version[i]) - filepath = os.path.join(self.src_directory(), filename) - print(f"downloading version {self.version[i]} from {url} to {filename}") - if which("wget") is not None: - arguments = ["wget", url] - subprocess.call(arguments, cwd=os.path.join(self.src_directory())) - elif which("curl") is not None: - arguments = ["curl", "-L", "-O", url] - subprocess.call(arguments, cwd=os.path.join(self.src_directory())) - else: - urllib.request.urlretrieve(url, filepath) - print("downloading finished") - self.unpack_downloaded_file(filename, self.name[i], self.version[i]) - - -def main(hermite_grx_version=""): - version = [ - hermite_grx_version, - ] - instance = GetCodeFromHttp() - instance.version = version - instance.start() - - -def new_argument_parser(): - result = argparse.ArgumentParser() - result.add_argument( - "--seba-version", - default="c69fa0af018adbbd13d30a7e853c0179b8afbf7f", - dest="hermite_grx_version", - help="Hermite_GRX commit hash to download", - type=str, - ) - return result - - -if __name__ == "__main__": - arguments = new_argument_parser().parse_args() - main(**arguments.__dict__) diff --git a/src/amuse/community/hermite_grx/interface.py b/src/amuse/community/hermite_grx/interface.py old mode 100755 new mode 100644 index 9de91912b6..328b836e1e --- a/src/amuse/community/hermite_grx/interface.py +++ b/src/amuse/community/hermite_grx/interface.py @@ -1,604 +1,7 @@ -from amuse.community import * -from amuse.community.interface.gd import * -from amuse.community.interface.stopping_conditions import * +from amuse.support.import_helper import load_code -class HermitegrxInterface( - CodeInterface, GravitationalDynamicsInterface, StoppingConditionInterface -): - include_headers = ["worker_code.h", "stopcond.h"] +HermitegrxInterface = load_code("hermite_grx", "HermitegrxInterface") +Hermitegrx = load_code("hermite_grx", "Hermitegrx") - def __init__(self, **keyword_arguments): - CodeInterface.__init__( - self, name_of_the_worker="hermite_grx_worker", **keyword_arguments - ) - self.initialize_code() - - def reinitialize_particles(self): - self.recommit_particles() - - @legacy_function - def get_dt_param(): - """ - Get the timestep scaling factor. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "dt_param", - dtype="float64", - direction=function.OUT, - description="the timestep scaling factor", - ) - function.result_type = "int32" - return function - - @legacy_function - def set_dt_param(): - """ - Set the timestep scaling factor. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "dt_param", - dtype="float64", - direction=function.IN, - description="the timestep scaling factor", - ) - function.result_type = "int32" - return function - - @legacy_function - def get_time(): - """ - Get the current simulation time. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "time", - dtype="float64", - direction=function.OUT, - description="the current simulation time", - ) - function.result_type = "int32" - return function - - @legacy_function - def set_time(): - """ - Set the current simulation time. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "time", - dtype="float64", - direction=function.IN, - description="the current simulation time", - ) - function.result_type = "int32" - return function - - @legacy_function - def get_light_speed(): - """ - Get the speed of light. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "lightspeed", - dtype="float64", - direction=function.OUT, - description="the current speed of light", - ) - function.result_type = "int32" - return function - - @legacy_function - def set_light_speed(): - """ - Set the speed of light. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "lightspeed", - dtype="float64", - direction=function.IN, - description="the current speed of light", - ) - function.result_type = "int32" - return function - - @legacy_function - def get_integrator(): - """ - Get the current integrator. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "integrator", - dtype="string", - direction=function.OUT, - description="the current integrator", - ) - function.result_type = "int32" - return function - - @legacy_function - def set_integrator(): - """ - Set the current force calculator. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "integrator", - dtype="string", - direction=function.IN, - description="the current integrator", - ) - function.result_type = "int32" - return function - - @legacy_function - def get_perturbation(): - """ - Get the current perturbation. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "interaction", - dtype="string", - direction=function.OUT, - description="the current perturbation", - ) - function.result_type = "int32" - return function - - @legacy_function - def set_perturbation(): - """ - Set the current perturbation. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "interaction", - dtype="string", - direction=function.IN, - description="the current perturbation", - ) - function.result_type = "int32" - return function - - @legacy_function - def get_num_threads(): - """ - Get the number of threads. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "num_threads", - dtype="int32", - direction=function.OUT, - description="the number of threads", - ) - function.result_type = "int32" - return function - - @legacy_function - def set_num_threads(): - """ - Set the number of threads. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "num_threads", - dtype="int32", - direction=function.IN, - description="the number of threads", - ) - function.result_type = "int32" - return function - - @legacy_function - def get_total_energy_with(): - """ - Get the total energy. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "type", - dtype="string", - direction=function.IN, - description="the perturbation with which to calculate", - ) - function.addParameter( - "etot", - dtype="float64", - direction=function.OUT, - description="the current total energy", - ) - function.result_type = "int32" - return function - - @legacy_function - def get_total_linear_momentum_with(): - """ - Get the total linear momentum. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "type", - dtype="string", - direction=function.IN, - description="the perturbation with which to calculate", - ) - function.addParameter( - "px", - dtype="float64", - direction=function.OUT, - description="the momentum in x", - ) - function.addParameter( - "py", - dtype="float64", - direction=function.OUT, - description="the momentum in y", - ) - function.addParameter( - "pz", - dtype="float64", - direction=function.OUT, - description="the momentum in z", - ) - function.result_type = "int32" - return function - - @legacy_function - def new_large_particle(): - """ - Add a new black hole particle. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - "id", dtype="int32", direction=function.OUT, description="the identifier" - ) - function.addParameter( - "mass", dtype="float64", direction=function.IN, description="the mass" - ) - function.addParameter( - "x", dtype="float64", direction=function.IN, description="the x position" - ) - function.addParameter( - "y", dtype="float64", direction=function.IN, description="the y position" - ) - function.addParameter( - "z", dtype="float64", direction=function.IN, description="the z position" - ) - function.addParameter( - "vx", dtype="float64", direction=function.IN, description="the x velocity" - ) - function.addParameter( - "vy", dtype="float64", direction=function.IN, description="the y velocity" - ) - function.addParameter( - "vz", dtype="float64", direction=function.IN, description="the z velocity" - ) - function.addParameter( - "radius", dtype="float64", direction=function.IN, description="the radius" - ) - function.result_type = "int32" - return function - - @legacy_function - def new_small_particle(): - """ - Add a new star particle. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - "id", dtype="int32", direction=function.OUT, description="the identifier" - ) - function.addParameter( - "mass", dtype="float64", direction=function.IN, description="the mass" - ) - function.addParameter( - "x", dtype="float64", direction=function.IN, description="the x position" - ) - function.addParameter( - "y", dtype="float64", direction=function.IN, description="the y position" - ) - function.addParameter( - "z", dtype="float64", direction=function.IN, description="the z position" - ) - function.addParameter( - "vx", dtype="float64", direction=function.IN, description="the x velocity" - ) - function.addParameter( - "vy", dtype="float64", direction=function.IN, description="the y velocity" - ) - function.addParameter( - "vz", dtype="float64", direction=function.IN, description="the z velocity" - ) - function.addParameter( - "radius", dtype="float64", direction=function.IN, description="the radius" - ) - function.result_type = "int32" - return function - - @legacy_function - def get_jerk(): - """ - Retrieve the jerk vector of a particle. Third time derivative - of the position. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "index_of_the_particle", - dtype="int32", - direction=function.IN, - description=( - "Index of the particle to get the state from. This index must " - "have been returned by an earlier call to :meth:`new_particle`" - ), - ) - function.addParameter( - "jx", - dtype="float64", - direction=function.OUT, - description="The current jerk vector of the particle", - ) - function.addParameter( - "jy", - dtype="float64", - direction=function.OUT, - description="The current jerk vector of the particle", - ) - function.addParameter( - "jz", - dtype="float64", - direction=function.OUT, - description="The current jerk vector of the particle", - ) - function.result_type = "int32" - function.can_handle_array = True - function.result_doc = """ - 0 - OK - current value was retrieved - -1 - ERROR - particle could not be found - -2 - ERROR - not yet implemented - """ - return function - - @legacy_function - def set_jerk(): - """ - Update the jerk of a particle. - *Defined for symetry with the get_acceleration function.* - *Should be removed if physaccily unsound* - *Maybe moved to snapshot support functionality* - """ - function = LegacyFunctionSpecification() - function.addParameter( - "index_of_the_particle", - dtype="int32", - direction=function.IN, - description=( - "Index of the particle for which the state is to be updated. " - "This index must have been returned by an earlier call to " - ":meth:`new_particle`" - ), - ) - function.addParameter( - "ax", - dtype="float64", - direction=function.IN, - description="The new jerk vector of the particle", - ) - function.addParameter( - "ay", - dtype="float64", - direction=function.IN, - description="The new jerk vector of the particle", - ) - function.addParameter( - "az", - dtype="float64", - direction=function.IN, - description="The new jerk vector of the particle", - ) - function.result_type = "int32" - function.can_handle_array = True - function.result_doc = """ - 0 - OK - particle was found in the model and the information was set - -1 - ERROR - particle could not be found - -2 - ERROR - code does not support updating of a particle - -3 - ERROR - not yet implemented - """ - return function - - -class Hermitegrx(GravitationalDynamics): - def __init__(self, convert_nbody=None, **options): - self.stopping_conditions = StoppingConditions(self) - - legacy_interface = HermitegrxInterface(**options) - GravitationalDynamics.__init__(self, legacy_interface, convert_nbody, **options) - - def define_state(self, object): - GravitationalDynamics.define_state(self, object) - - def define_parameters(self, object): - object.add_method_parameter( - "get_eps2", - "set_eps2", - "epsilon_squared", - "smoothing parameter for gravity calculations", - default_value=0.0 | nbody_system.length ** 2, - ) - object.add_method_parameter( - "get_dt_param", - "set_dt_param", - "dt_param", - "timestep scaling factor", - default_value=0.03, - ) - object.add_method_parameter( - "get_light_speed", - "set_light_speed", - "light_speed", - "the speed of light", - default_value=1 | nbody_system.speed, - ) - object.add_method_parameter( - "get_integrator", - "set_integrator", - "integrator", - "the integrator", - default_value="Hermite", - ) - object.add_method_parameter( - "get_perturbation", - "set_perturbation", - "perturbation", - "the perturbation", - default_value="None", - ) - object.add_method_parameter( - "get_num_threads", - "set_num_threads", - "num_threads", - "the number of threads", - default_value=1, - ) - - self.stopping_conditions.define_parameters(object) - - def define_methods(self, object): - GravitationalDynamics.define_methods(self, object) - - momentum = nbody_system.speed * nbody_system.mass - - object.add_method( - "get_eps2", (), (nbody_system.length ** 2, object.ERROR_CODE,) - ) - object.add_method("set_eps2", (nbody_system.length ** 2,), (object.ERROR_CODE,)) - object.add_method("get_dt_param", (), (object.NO_UNIT, object.ERROR_CODE,)) - object.add_method("set_dt_param", (object.NO_UNIT,), (object.ERROR_CODE,)) - object.add_method("get_time", (), (nbody_system.time, object.ERROR_CODE,)) - object.add_method("set_time", (nbody_system.time,), (object.ERROR_CODE,)) - object.add_method( - "get_light_speed", (), (nbody_system.speed, object.ERROR_CODE,) - ) - object.add_method( - "set_light_speed", (nbody_system.speed,), (object.ERROR_CODE,) - ) - object.add_method( - "get_total_energy_with", - (object.NO_UNIT), - (nbody_system.energy, object.ERROR_CODE,), - ) - object.add_method( - "get_total_linear_momentum_with", - (object.NO_UNIT), - (momentum, momentum, momentum, object.ERROR_CODE,), - ) - object.add_method( - "new_large_particle", - ( - nbody_system.mass, - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.speed, - nbody_system.speed, - nbody_system.speed, - nbody_system.length, - ), - (object.INDEX, object.ERROR_CODE), - ) - object.add_method( - "new_small_particle", - ( - nbody_system.mass, - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.speed, - nbody_system.speed, - nbody_system.speed, - nbody_system.length, - ), - (object.INDEX, object.ERROR_CODE), - ) - object.add_method( - "get_acceleration", - (object.NO_UNIT,), - ( - nbody_system.acceleration, - nbody_system.acceleration, - nbody_system.acceleration, - object.ERROR_CODE, - ), - ) - object.add_method( - "get_jerk", - (object.NO_UNIT,), - ( - nbody_system.length / nbody_system.time ** 3, - nbody_system.length / nbody_system.time ** 3, - nbody_system.length / nbody_system.time ** 3, - object.ERROR_CODE, - ), - ) - - self.stopping_conditions.define_methods(object) - - def define_particle_sets(self, object): - object.define_super_set( - "particles", ["large_particles", "small_particles"], index_to_default_set=1 - ) - - object.define_set("large_particles", "index_of_the_particle") - object.set_new("large_particles", "new_large_particle") - object.set_delete("large_particles", "delete_particle") - object.add_setter("large_particles", "set_state") - object.add_getter("large_particles", "get_state") - object.add_setter("large_particles", "set_mass") - object.add_getter("large_particles", "get_mass", names=("mass",)) - object.add_setter("large_particles", "set_position") - object.add_getter("large_particles", "get_position") - object.add_setter("large_particles", "set_velocity") - object.add_getter("large_particles", "get_velocity") - object.add_setter("large_particles", "set_radius") - object.add_getter("large_particles", "get_radius") - object.add_getter("large_particles", "get_acceleration") - object.add_getter("large_particles", "get_jerk") - - object.define_set("small_particles", "index_of_the_particle") - object.set_new("small_particles", "new_small_particle") - object.set_delete("small_particles", "delete_particle") - object.add_setter("small_particles", "set_state") - object.add_getter("small_particles", "get_state") - object.add_setter("small_particles", "set_mass") - object.add_getter("small_particles", "get_mass", names=("mass",)) - object.add_setter("small_particles", "set_position") - object.add_getter("small_particles", "get_position") - object.add_setter("small_particles", "set_velocity") - object.add_getter("small_particles", "get_velocity") - object.add_setter("small_particles", "set_radius") - object.add_getter("small_particles", "get_radius") - object.add_getter("small_particles", "get_acceleration") - object.add_getter("small_particles", "get_jerk") - - self.stopping_conditions.define_particle_set(object) - - -# for backwards compatibility reasons -HermiteGRXInterface = HermitegrxInterface -HermiteGRX = Hermitegrx +Hermitegrx = Hermitegrx diff --git a/src/amuse/community/higpus/Makefile b/src/amuse/community/higpus/Makefile deleted file mode 100644 index 12ec6db370..0000000000 --- a/src/amuse/community/higpus/Makefile +++ /dev/null @@ -1,84 +0,0 @@ - - -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -# Set to empty string on purpose -# otherwhise will cause error in main makefile -# for most users (most users have no gpu). -# to easily create code in this directory run: -# make code -ALL = higpus_worker_gpu - -# all the ?= lines work as follows -# if the variable is already defined, it will keep it's pre-defined value. -# if the variable is not defined it will get the value after the ?= symbol. -MPICXX ?= mpicxx - -CUDA_INSTALL_PATH := /usr/local/cuda -MPI_INSTALL_PATH := /usr/lib64/openmpi/1.4-gcc - -NVCC ?= /usr/local/cuda/bin/nvcc - -#possible options : -DCHECK_ERRORS -DCHECK_TIMES -DPLUMMER -DUNROLL -DGPUCORR -DGALAXY -MYOPTS := -DUNROLL -DCHECK_ERRORS - -CUDAINCLUDE := -I$(CUDA_INSTALL_PATH)/include -CUDALIB := -L$(CUDA_INSTALL_PATH)/lib64 -lcuda -lcudart - -MPIINCLUDE := -I$(MPI_INSTALL_PATH)/include -MPILIB := -L$(MPI_INSTALL_PATH)/lib - -MPI_CXXFLAGS ?= $(MPIINCLUDE) -MPI_CXXLIBS ?= $(MPILIB) -lmpi -lmpi_cxx - -OPENMP_CFLAGS ?= -fopenmp - -MYINCLUDE := -I./lib/ - -## for amuse, do not set a fixed LIBS line like this -## LIBS := -lcuda -lcudart -lmpi -lmpi_cxx -lm -fopenmp -## But make it depend on flags set in the config.mk file -## (note all these variables have defaults in this makefile too, for unconfigured makes) -LIBS := -lm $(OPENMP_CFLAGS) $(MPI_CXXLIBS) $(CUDALIB) - -GXXOPTS := -O3 -fopenmp -Wall -W -NVCCFLAGS := -O3 --compiler-bindir=/usr/bin/$(CXX) -Xcompiler "$(GXXOPTS) $(MYOPTS)" $(CUDAINCLUDE) $(MPI_CXXFLAGS) $(MYINCLUDE) $(NVCC_FLAGS) -CXXFLAGS += $(GXXOPTS) $(MYOPTS) $(CUDAINCLUDE) $(MPI_CXXFLAGS) $(MYINCLUDE) - -LDFLAGS = $(LIBS) $(CUDALIB) - -OBJS = interface.o - -CODELIB = src/libhigpus.a - - -all: $(ALL) - -code: higpus_worker_gpu - -$(CODELIB): FORCE - make -C src all - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py HiGPUsInterface -o $@ - -worker_code.h: interface.py - $(CODE_GENERATOR) --type=H interface.py HiGPUsInterface -o $@ - -higpus_worker_gpu: worker_code.cc worker_code.h $(CODELIB) $(OBJS) - $(MPICXX) $(CXXFLAGS) $(LDFLAGS) worker_code.cc $(OBJS) $(CODELIB) -o $@ $(LDFLAGS) $(LIBS) - -%.o: %.cc - $(MPICXX) $(CXXFLAGS) -c -o $@ $< - -clean: - $(RM) -f *.so *.o *.pyc worker_code.cc worker_code.h - $(RM) *~ higpus_worker higpus_worker_gpu worker_code.cc - make -C src clean - -FORCE: diff --git a/src/amuse/community/higpus/interface.py b/src/amuse/community/higpus/interface.py index dc60240f82..1631a346c2 100644 --- a/src/amuse/community/higpus/interface.py +++ b/src/amuse/community/higpus/interface.py @@ -1,877 +1,7 @@ -import os +from amuse.support.import_helper import load_code -from amuse.community import * -from amuse.community.interface.gd import GravitationalDynamics -from amuse.community.interface.gd import GravitationalDynamicsInterface - -class HiGPUsInterface(CodeInterface, - GravitationalDynamicsInterface, - LiteratureReferencesMixIn, - CodeWithDataDirectories - ): - - - """ - HiGPUs is a parallel direct N-body code based on a 6th order Hermite integrator. It uses, at the same time, MPI, OpenMP and CUDA - libraries to fully exploit all the capabilities offered by hybrid supercomputing platforms. Moreover, it is implemented using block - time steps such to be able to deal with stiff problems like highly collisional gravitational N-body - problems. - - NOTE_1: the code works with nbody units ( G = 1 ): please check the parameters, more info are given in the README file - NOTE_2: the evolve method requires an input time (in nbody units) greater than or equal of the maximum time step ( 't' > or = 'max_step') - NOTE_3: the code only seems to work when the number of particles is a power of 2 - - - .. [#] ADS:2013JCoPh.236..580C (R. Capuzzo-Dolcetta, M. Spera, D.Punzo, *Journal of Computational Physics*, Volume 236, 1 March 2013, Pages 580-593: - .. [#] ... 'A fully parallel, high precision, N-body code running on hybrid computing platforms') - """ - - - include_headers = ['worker_code.h'] - - def __init__(self, **keyword_arguments): - CodeInterface.__init__(self, name_of_the_worker="higpus_worker_gpu", **keyword_arguments) - LiteratureReferencesMixIn.__init__(self) - CodeWithDataDirectories.__init__(self) - - - - @legacy_function - def echo_int(): - function = LegacyFunctionSpecification() - function.addParameter('int_in', dtype='int32', direction=function.IN) - function.addParameter('int_out', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def new_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT) - function.addParameter('mass', dtype='float64', direction=function.IN, - description = "The mass of the particle") - function.addParameter('x', dtype='float64', direction=function.IN, - description = "The initial position vector of the particle") - function.addParameter('y', dtype='float64', direction=function.IN, - description = "The initial position vector of the particle") - function.addParameter('z', dtype='float64', direction=function.IN, - description = "The initial position vector of the particle") - function.addParameter('vx', dtype='float64', direction=function.IN, - description = "The initial velocity vector of the particle") - function.addParameter('vy', dtype='float64', direction=function.IN, - description = "The initial velocity vector of the particle") - function.addParameter('vz', dtype='float64', direction=function.IN, - description = "The initial velocity vector of the particle") - function.addParameter('radius', dtype='float64', direction=function.IN, - description = "The radius of the particle", default = 0) - function.result_type = 'int32' - return function - - @legacy_function - def set_state(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('mass', dtype='float64', direction=function.IN, - description = "The mass of the particle") - function.addParameter('radius', dtype='float64', direction=function.IN, - description = "The radius of the particle") - function.addParameter('x', dtype='float64', direction=function.IN, - description = "The initial position vector of the particle") - function.addParameter('y', dtype='float64', direction=function.IN, - description = "The initial position vector of the particle") - function.addParameter('z', dtype='float64', direction=function.IN, - description = "The initial position vector of the particle") - function.addParameter('vx', dtype='float64', direction=function.IN, - description = "The initial velocity vector of the particle") - function.addParameter('vy', dtype='float64', direction=function.IN, - description = "The initial velocity vector of the particle") - function.addParameter('vz', dtype='float64', direction=function.IN, - description = "The initial velocity vector of the particle") - function.result_type = 'int32' - return function - - @legacy_function - def get_state(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('mass', dtype='float64', direction=function.OUT, - description = "The mass of the particle") - function.addParameter('radius', dtype='float64', direction=function.OUT, - description = "The radius of the particle") - function.addParameter('x', dtype='float64', direction=function.OUT, - description = "The initial position vector of the particle") - function.addParameter('y', dtype='float64', direction=function.OUT, - description = "The initial position vector of the particle") - function.addParameter('z', dtype='float64', direction=function.OUT, - description = "The initial position vector of the particle") - function.addParameter('vx', dtype='float64', direction=function.OUT, - description = "The initial velocity vector of the particle") - function.addParameter('vy', dtype='float64', direction=function.OUT, - description = "The initial velocity vector of the particle") - function.addParameter('vz', dtype='float64', direction=function.OUT, - description = "The initial velocity vector of the particle") - function.result_type = 'int32' - return function - - @legacy_function - def evolve_model(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('dt', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - - @legacy_function - def set_eta6(): - function = LegacyFunctionSpecification() - function.addParameter('eta6', dtype='float64', direction=function.IN, description = "eta parameter of time steps.") - function.result_type = 'int32' - return function - - @legacy_function - def get_eta6(): - function = LegacyFunctionSpecification() - function.addParameter('eta6', dtype='float64', direction=function.OUT, description = "eta parameter of time steps.") - function.result_type = 'int32' - return function - - @legacy_function - def set_eta4(): - function = LegacyFunctionSpecification() - function.addParameter('eta4', dtype='float64', direction=function.IN, description = "eta parameter of time steps.") - function.result_type = 'int32' - return function - - @legacy_function - def get_eta4(): - function = LegacyFunctionSpecification() - function.addParameter('eta4', dtype='float64', direction=function.OUT, description = "eta parameter of time steps.") - function.result_type = 'int32' - return function - - @legacy_function - def set_eps(): - function = LegacyFunctionSpecification() - function.addParameter('eps', dtype='float64', direction=function.IN, description = "softening parameter.") - function.result_type = 'int32' - return function - - @legacy_function - def get_eps(): - function = LegacyFunctionSpecification() - function.addParameter('eps', dtype='float64', direction=function.OUT, description = "softening parameter.") - function.result_type = 'int32' - return function - - - @legacy_function - def set_Galaxy_core(): - function = LegacyFunctionSpecification() - function.addParameter('Galaxy_core', dtype='float64', direction=function.IN, description = "radius parameter for Galaxy potential.") - function.result_type = 'int32' - return function - - @legacy_function - def get_Galaxy_core(): - function = LegacyFunctionSpecification() - function.addParameter('Galaxy_core', dtype='float64', direction=function.OUT, description = "radius parameter for Galaxy potential.") - function.result_type = 'int32' - return function - - @legacy_function - def set_Galaxy_mass(): - function = LegacyFunctionSpecification() - function.addParameter('Galaxy_mass', dtype='float64', direction=function.IN, description = "analytical mass of the Galaxy potential.") - function.result_type = 'int32' - return function - - @legacy_function - def get_Galaxy_mass(): - function = LegacyFunctionSpecification() - function.addParameter('Galaxy_mass', dtype='float64', direction=function.OUT, description = "analytical mass of the Galaxy potential.") - function.result_type = 'int32' - return function - - @legacy_function - def set_Plummer_core(): - function = LegacyFunctionSpecification() - function.addParameter('Plummer_core', dtype='float64', direction=function.IN, description = "radius parameter for plummer potential.") - function.result_type = 'int32' - return function - - @legacy_function - def get_Plummer_core(): - function = LegacyFunctionSpecification() - function.addParameter('Plummer_core', dtype='float64', direction=function.OUT, description = "radius parameter for plummer potential.") - function.result_type = 'int32' - return function - - @legacy_function - def set_Plummer_mass(): - function = LegacyFunctionSpecification() - function.addParameter('Plummer_mass', dtype='float64', direction=function.IN, description = "analytical mass of the plummer potential.") - function.result_type = 'int32' - return function - - @legacy_function - def get_Plummer_mass(): - function = LegacyFunctionSpecification() - function.addParameter('Plummer_mass', dtype='float64', direction=function.OUT, description = "analytical mass of the plummer potential.") - function.result_type = 'int32' - return function - - @legacy_function - def set_number_of_GPU(): - function = LegacyFunctionSpecification() - function.addParameter('number_of_GPU', dtype='int32', direction=function.IN, description = "number of GPU.") - function.result_type = 'int32' - return function - - @legacy_function - def get_number_of_GPU(): - function = LegacyFunctionSpecification() - function.addParameter('number_of_GPU', dtype='int32', direction=function.OUT, description = "number of GPU.") - function.result_type = 'int32' - return function - - @legacy_function - def set_number_of_Threads(): - function = LegacyFunctionSpecification() - function.addParameter('number_of_Threads', dtype='int32', direction=function.IN, description = "number of Threads per block.") - function.result_type = 'int32' - return function - - @legacy_function - def get_number_of_Threads(): - function = LegacyFunctionSpecification() - function.addParameter('number_of_Threads', dtype='int32', direction=function.OUT, description = "number of Threads per block.") - function.result_type = 'int32' - return function - - @legacy_function - def set_number_of_Print(): - function = LegacyFunctionSpecification() - function.addParameter('number_of_Print', dtype='int32', direction=function.IN, description = "number of total file to print.") - function.result_type = 'int32' - return function - - @legacy_function - def get_number_of_Print(): - function = LegacyFunctionSpecification() - function.addParameter('number_of_Print', dtype='int32', direction=function.OUT, description = "number of total file to print.") - function.result_type = 'int32' - return function - - @legacy_function - def get_number_of_particles(): - function = LegacyFunctionSpecification() - function.addParameter('number_of_particles', dtype='int32', direction=function.OUT, description = "number of particles.") - function.result_type = 'int32' - return function - - @legacy_function - def set_DTPrint(): - function = LegacyFunctionSpecification() - function.addParameter('DTPrint', dtype='float64', direction=function.IN, description = "unit time of snapshot.") - function.result_type = 'int32' - return function - - @legacy_function - def get_DTPrint(): - function = LegacyFunctionSpecification() - function.addParameter('DTPrint', dtype='float64', direction=function.OUT, description = "unit time of snapshot.") - function.result_type = 'int32' - return function - - @legacy_function - def set_max_time_step(): - function = LegacyFunctionSpecification() - function.addParameter('max_time_step', dtype='float64', direction=function.IN, description = "exponent of the maximum time step used.") - function.result_type = 'int32' - return function - - @legacy_function - def get_max_time_step(): - function = LegacyFunctionSpecification() - function.addParameter('max_time_step', dtype='float64', direction=function.OUT, description = "maximum time step used.") - function.result_type = 'int32' - return function - - @legacy_function - def set_min_time_step(): - function = LegacyFunctionSpecification() - function.addParameter('min_time_step', dtype='float64', direction=function.IN, description = "exponent of the minimum time step used.") - function.result_type = 'int32' - return function - - @legacy_function - def get_min_time_step(): - function = LegacyFunctionSpecification() - function.addParameter('min_time_step', dtype='float64', direction=function.OUT, description = "minimum time step used.") - function.result_type = 'int32' - return function - - @legacy_function - def set_gpu_name(): - function = LegacyFunctionSpecification() - function.addParameter('gpu_name', dtype='string', direction=function.IN, description = "name of the GPU used.") - function.result_type = 'int32' - return function - - @legacy_function - def get_gpu_name(): - function = LegacyFunctionSpecification() - function.addParameter('gpu_name', dtype='string', direction=function.OUT, description = "name of the GPU used.") - function.result_type = 'int32' - return function - - @legacy_function - def set_output_path_name(): - function = LegacyFunctionSpecification() - function.addParameter('output_path_name', dtype='string', direction=function.IN, description = "name of the path where higpus output will be stored.") - function.result_type = 'int32' - return function - - @legacy_function - def get_output_path_name(): - function = LegacyFunctionSpecification() - function.addParameter('output_path_name', dtype='string', direction=function.OUT, description = "name of the path where higpus output will be stored.") - function.result_type = 'int32' - return function - - - -class HiGPUs(GravitationalDynamics): - - def __init__(self, convert_nbody = None, **keyword_arguments): - legacy_interface = HiGPUsInterface(**keyword_arguments) - - GravitationalDynamics.__init__(self, - legacy_interface, - convert_nbody, - **keyword_arguments) - - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_eta4", - "set_eta4", - "eta4", - "timestep parameter", - default_value = 0.01 - ) - - handler.add_method_parameter( - "get_eta6", - "set_eta6", - "eta6", - "timestep parameter", - default_value = 0.4 - ) - - handler.add_method_parameter( - "get_eps", - "set_eps", - "eps", - "softening", - default_value = 0.001 | nbody_system.length - ) - - - handler.add_method_parameter( - "get_begin_time", - "set_begin_time", - "begin_time", - "model time to start the simulation at", - default_value = 0.0 | nbody_system.time - ) - - handler.add_method_parameter( - "get_Plummer_core", - "set_Plummer_core", - "r_core_plummer", - "radius of Plummer potential", - default_value = 0.0 | nbody_system.length - ) - - handler.add_method_parameter( - "get_Plummer_mass", - "set_Plummer_mass", - "mass_plummer", - "mass of Galaxy potential", - default_value = 0.0 | nbody_system.mass - ) - - handler.add_method_parameter( - "get_Galaxy_core", - "set_Galaxy_core", - "r_scale_galaxy", - "sclae radius of the Galaxy potential", - default_value = 0.0 | nbody_system.length - ) - - handler.add_method_parameter( - "get_Galaxy_mass", - "set_Galaxy_mass", - "mass_galaxy", - "mass of Plummer potential", - default_value = 0.0 | nbody_system.mass - ) - - handler.add_method_parameter( - "get_number_of_Threads", - "set_number_of_Threads", - "Threads", - "Threads per block", - default_value = 128 - ) - - handler.add_method_parameter( - "get_number_of_Print", - "set_number_of_Print", - "n_Print", - "start number to print file", - default_value = 1000000 - ) - - handler.add_method_parameter( - "get_DTPrint", - "set_DTPrint", - "dt_Print", - "time for snapshot", - default_value = 1000000.0 | nbody_system.time - ) - - handler.add_method_parameter( - "get_max_time_step", - "set_max_time_step", - "max_step", - "power of 2 for maximum time step", - default_value = pow(2.,-3.0) | nbody_system.time - ) - - handler.add_method_parameter( - "get_min_time_step", - "set_min_time_step", - "min_step", - "power of 2 for minmum time step", - default_value = pow(2.,-30.0) | nbody_system.time - ) - - handler.add_method_parameter( - "get_gpu_name", - "set_gpu_name", - "gpu_name", - "gpu name", - default_value = "" - ) - - handler.add_method_parameter( - "get_output_path_name", - "set_output_path_name", - "output_path_name", - "output path name", - default_value = "./data/" - ) - - handler.add_method_parameter( - "get_number_of_GPU", - "set_number_of_GPU", - "n_gpu", - "number of gpus per node", - default_value = 1 - ) - - - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - handler.add_method( - "new_particle", - ( - nbody_system.mass, - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.speed, - nbody_system.speed, - nbody_system.speed, - nbody_system.length, - ), - ( - handler.INDEX, - handler.ERROR_CODE - ) - ) - handler.add_method( - "set_state", - ( - handler.INDEX, - nbody_system.mass, - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.speed, - nbody_system.speed, - nbody_system.speed, - ), - ( - handler.ERROR_CODE - ) - ) - handler.add_method( - "get_state", - ( - handler.INDEX - ), - ( - nbody_system.mass, - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.speed, - nbody_system.speed, - nbody_system.speed, - handler.ERROR_CODE - ) - ) - handler.add_method( - "set_time_begin", - ( - nbody_system.time - ), - ( - handler.ERROR_CODE - ) - ) - handler.add_method( - "get_time_begin", - (), - ( - nbody_system.time, - handler.ERROR_CODE - ) - ) - handler.add_method( - "set_Plummer_core", - ( - nbody_system.length - ), - ( - handler.ERROR_CODE - ) - ) - - handler.add_method( - "get_Plummer_core", - (), - ( - nbody_system.length, - handler.ERROR_CODE - ) - ) - - handler.add_method( - "set_Plummer_mass", - ( - nbody_system.mass - ), - ( - handler.ERROR_CODE - ) - ) - - handler.add_method( - "get_Plummer_mass", - (), - ( - nbody_system.mass, - handler.ERROR_CODE - ) - ) - - handler.add_method( - "set_Galaxy_core", - ( - nbody_system.length - ), - ( - handler.ERROR_CODE - ) - ) - - handler.add_method( - "get_Galaxy_core", - (), - ( - nbody_system.length, - handler.ERROR_CODE - ) - ) - - handler.add_method( - "set_Galaxy_mass", - ( - nbody_system.mass - ), - ( - handler.ERROR_CODE - ) - ) - - handler.add_method( - "get_Galaxy_mass", - (), - ( - nbody_system.mass, - handler.ERROR_CODE - ) - ) - - handler.add_method( - "set_eps", - ( - nbody_system.length - ), - ( - handler.ERROR_CODE - ) - ) - - handler.add_method( - "get_eps", - (), - ( - nbody_system.length, - handler.ERROR_CODE - ) - ) - - - handler.add_method( - "set_eta6", - ( - handler.NO_UNIT - ), - ( - handler.ERROR_CODE - ) - ) - - handler.add_method( - "get_eta6", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE - ) - ) - - handler.add_method( - "set_eta4", - ( - handler.NO_UNIT - ), - ( - handler.ERROR_CODE - ) - ) - - handler.add_method( - "get_eta4", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE - ) - ) - - - handler.add_method( - "set_number_of_GPU", - ( - handler.NO_UNIT - ), - ( - handler.ERROR_CODE - ) - ) - - handler.add_method( - "get_number_of_GPU", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE - ) - ) - - handler.add_method( - "get_number_of_particles", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE - ) - ) - - - handler.add_method( - "set_number_of_Threads", - ( - handler.NO_UNIT - ), - ( - handler.ERROR_CODE - ) - ) - - handler.add_method( - "get_number_of_Threads", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE - ) - ) - - handler.add_method( - "set_number_of_Print", - ( - handler.NO_UNIT - ), - ( - handler.ERROR_CODE - ) - ) - - handler.add_method( - "get_number_of_Print", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE - ) - ) - - handler.add_method( - "set_DTPrint", - ( - nbody_system.time - ), - ( - handler.ERROR_CODE - ) - ) - - handler.add_method( - "get_DTPrint", - (), - ( - nbody_system.time, - handler.ERROR_CODE - ) - ) - - handler.add_method( - "set_max_time_step", - ( - nbody_system.time - ), - ( - handler.ERROR_CODE - ) - ) - - handler.add_method( - "get_max_time_step", - (), - ( - nbody_system.time, - handler.ERROR_CODE - ) - ) - - handler.add_method( - "set_min_time_step", - ( - nbody_system.time - ), - ( - handler.ERROR_CODE - ) - ) - - handler.add_method( - "get_min_time_step", - (), - ( - nbody_system.time, - handler.ERROR_CODE - ) - ) - - handler.add_method( - "set_gpu_name", - ( - handler.NO_UNIT - ), - ( - handler.ERROR_CODE - ) - ) - - handler.add_method( - "get_gpu_name", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE - ) - ) - - handler.add_method( - "set_output_path_name", - ( - handler.NO_UNIT - ), - ( - handler.ERROR_CODE - ) - ) - - handler.add_method( - "get_output_path_name", - (), - ( - handler.NO_UNIT, - handler.ERROR_CODE - ) - ) - - - def define_particle_sets(self, handler): - GravitationalDynamics.define_particle_sets(self, handler) - - def initialize_code(self): - self.overridden().initialize_code() - self.parameters.send_not_set_parameters_to_code() - - self.parameters.output_path_name=self.output_directory - - def commit_particles(self): - n=len(self.particles) - if (n & (n-1) != 0): - raise Exception(f"Higpus needs a power of two number of particles not {n}, try padding with zero mass particles") - - self.overridden().commit_particles() +HiGPUsInterface = load_code("higpus", "HiGPUsInterface") +HiGPUs = load_code("higpus", "HiGPUs") Higpus = HiGPUs diff --git a/src/amuse/community/hop/Makefile b/src/amuse/community/hop/Makefile deleted file mode 100644 index b6bc703810..0000000000 --- a/src/amuse/community/hop/Makefile +++ /dev/null @@ -1,36 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -CFLAGS += -DDIFFERENT_MASSES -CXXFLAGS += -DDIFFERENT_MASSES - -OBJ = interface.o - -CODELIB = src/libhop.a - -all: hop_worker - -clean: - $(RM) -f *.so *.o *.pyc worker_code.cc worker_code.h - $(RM) -f *~ worker_code hop_worker hop_worker_sockets - $(RM) -f worker_code-sockets.cc - make -C src clean - -$(CODELIB): - make -C src all - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py HopInterface -o $@ - -worker_code.h: interface.py - $(CODE_GENERATOR) --type=h interface.py HopInterface -o $@ - -hop_worker: worker_code.cc worker_code.h $(CODELIB) $(OBJ) - $(MPICXX) $(CXXFLAGS) $(LDFLAGS) $< $(OBJ) $(CODELIB) -o $@ $(LIBS) - -.cc.o: $< - $(CXX) $(CXXFLAGS) -c -o $@ $< diff --git a/src/amuse/community/hop/interface.cc b/src/amuse/community/hop/interface.cc deleted file mode 100644 index 3c0c72b6c8..0000000000 --- a/src/amuse/community/hop/interface.cc +++ /dev/null @@ -1,852 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -extern "C" { - #include "src/kd.h" - #include "src/smooth.h" - void smDensityTH(SMX smx,int pi,int nSmooth,int *pList,float *fList); - void smHop(SMX smx,int pi,int nSmooth,int *pList,float *fList); - void FindGroups(SMX smx); - void SortGroups(SMX smx); - void MergeGroupsHash(SMX smx); - void ReSizeSMX(SMX smx, int nSmooth); - void PrepareKD(KD kd); -} -#include "worker_code.h" - -#define INFORM(string) printf(string); fflush(stdout) - -#ifndef HUGE -#define HUGE 3.40282e+38 -#endif - -class AmuseParticle{ - -public: - int index; - double mass,x,y,z, density; - int group, neighbor; - - AmuseParticle(int index, double mass, double x, double y, double z):index(index), mass(mass),x(x), y(y), z(z), density(-1.0), group(-1), neighbor(-1) { - } - AmuseParticle(const AmuseParticle & original): - index(original.index), mass(original.mass), x(original.x), y(original.y), z(original.z), density(original.density), group(original.group), neighbor(original.neighbor) { - } -}; - -typedef std::map ParticlesMap; -typedef std::map::iterator ParticlesMapIterator; - -typedef std::vector ParticlesList; -typedef std::vector::iterator ParticlesListIterator; - - -bool debug = true; - -int highest_index = 0; -ParticlesMap particlesMap; - -/* hop structs */ -KD gkd; -SMX gsmx; - -/* hop parameters */ -int nBucket,nSmooth; -float fPeriod[3]; -int nDens,nHop,nMerge; -float fDensThresh; -int nMethod; - -double outer_densthresh = -1.0; -double saddle_densthresh = -1.0; -double peak_densthresh = -1.0; -int relative_saddle_density_threshold = 0; -double saddle_density_threshold_factor = 0.80; - -int weakly_connected; // used when merging to store which of the two is less strong connected to another one -int nGroups_before_regroup; -int nGroups_after_regroup = -1; - -/* control variables */ -int bDensity = 0; -int bHopDone = 0; -int bNeighborsFound = 0; - -int ReadPositions(KD &kd){ - std::size_t n = particlesMap.size(); - kd->nActive = n; - if (n == 0) return -5; - - kd->p = (PARTICLE *)malloc(kd->nActive*sizeof(PARTICLE)); - - ParticlesMapIterator i; - int c = 0; - INFORM("Reading Positions...\n"); - for (i = particlesMap.begin(); i != particlesMap.end(); i++) { - AmuseParticle * p = (*i).second; - kd->p[c].fMass = p->mass; - kd->p[c].r[0] = p->x; - kd->p[c].r[1] = p->y; - kd->p[c].r[2] = p->z; - c++; - } - return 0; -} - -int ReadDensities(SMX &smx){ - ParticlesMapIterator i; - int j; - INFORM("Reading Densities...\n"); - for (i=particlesMap.begin(), j=0; i != particlesMap.end(); i++, j++) { - if (i->second->density < 0) { - INFORM("Encountered negative density\n"); - return -4; - } - smx->kd->p[j].fDensity = i->second->density; - } - return 0; -} - -int InitHop(KD &kd, SMX &smx, int bDens){ - INFORM("\nInitialising Hop...\n"); - if (nHop<0) nHop=nDens; - if (bDens==0) nSmooth = nHop+1; - else nSmooth = nDens+1; - /* When smSmooth() is asked for nSmooth particles, it seems to - generally return nSmooth-1 particles, including primary itself. - Hence, when we want nDens or nSmooth particles (including the - primary) we should ask for one more. By convention, I've chosen - to have nMerge reflect the number *not* including the primary, - so in this case we need to ask for two more! */ - - kdInit(&kd,nBucket); - if (ReadPositions(kd) != 0) { - INFORM("\nReadPositions error: no particles\n"); - return -5; - } - if (nHop > kd->nActive) { - printf("\nnHop: %d, kd->nActive: %d\n", nHop, kd->nActive); - INFORM("number_of_hops too large\n"); - INFORM("(should be less than total number of particles)\n"); - return -5; - } - if (nDens > kd->nActive) { - printf("\nnDens: %d, kd->nActive: %d\n", nDens, kd->nActive); - INFORM("number_of_neighbors_for_local_density too large\n"); - INFORM("(should be less than total number of particles)\n"); - return -5; - } - if (nSmooth > kd->nActive) { - printf("\nnSmooth: %d, kd->nActive: %d\n", nSmooth, kd->nActive); - INFORM("nSmooth too large, related to number_of_neighbors_for_local_density and number_of_hops\n"); - INFORM("(should be less than total number of particles)\n"); - return -5; - } - if (nBucket > kd->nActive) { - printf("\nnBucket: %d, kd->nActive: %d\n", nBucket, kd->nActive); - INFORM("number_of_buckets too large\n"); - return -5; - } - if (nMerge > kd->nActive) { - printf("\nnMerge: %d, kd->nActive: %d\n", nMerge, kd->nActive); - INFORM("nMerge too large\n"); - return -5; - } - - PrepareKD(kd); - smInit(&smx,kd,nSmooth,fPeriod); - smx->nHop = nHop; - smx->nDens = nDens; - smx->nMerge = nMerge; - smx->nGroups = 0; - smx->fDensThresh = fDensThresh; - - if ((bDens == 0) && (ReadDensities(smx) != 0)) return -4; - - INFORM("Building Tree...\n"); - kdBuildTree(kd); - bHopDone = 0; - return 0; -} - - -/* parameters */ -int set_nBucket(int value){ - nBucket = value; - return 0; -} -int get_nBucket(int * value){ - *value = nBucket; - return 0; -} - -int set_nDens(int value){ - nDens = value; - return 0; -} -int get_nDens(int * value){ - *value = nDens; - return 0; -} - -int set_nHop(int value){ - if (value < nMerge +1) return -1; - nHop = value; - return 0; -} -int get_nHop(int * value){ - *value = nHop; - return 0; -} - -int set_fDensThresh(double value){ - fDensThresh = value; - return 0; -} -int get_fDensThresh(double * value){ - *value = fDensThresh; - return 0; -} - -int set_saddle_densthresh(double value){ - saddle_densthresh = value; - return 0; -} -int get_saddle_densthresh(double *value){ - *value = saddle_densthresh; - return 0; -} - -int set_peak_densthresh(double value){ - peak_densthresh = value; - return 0; -} -int get_peak_densthresh(double *value){ - *value = peak_densthresh; - return 0; -} - -int set_saddle_density_threshold_factor(double value){ - saddle_density_threshold_factor = value; - return 0; -} -int get_saddle_density_threshold_factor(double *value){ - *value = saddle_density_threshold_factor; - return 0; -} -int set_relative_saddle_density_threshold(int value){ - relative_saddle_density_threshold = value; - return 0; -} -int get_relative_saddle_density_threshold(int *value){ - *value = relative_saddle_density_threshold; - return 0; -} - -int set_fPeriod(double x, double y, double z){ - fPeriod[0] = x; - fPeriod[1] = y; - fPeriod[2] = z; - return 0; -} - -int get_fPeriod(double * x, double * y, double * z){ - *x = fPeriod[0]; - *y = fPeriod[1]; - *z = fPeriod[2]; - return 0; -} - -int set_nMerge(int value){ - if (value > nHop -1) return -1; - nMerge = value; - return 0; -} -int get_nMerge(int *value){ - *value = nMerge; - return 0; -} - -int set_density_method(int value){ - switch (value) { - case 0: - case 1: - case 2: - nMethod = value; - return 0; - default: - return -1; - } -} - -int get_density_method(int * value){ - *value = nMethod; - return 0; -} - -int initialize_code() { - INFORM("\nInitialising Parameters...\n"); - nBucket = 16; - nSmooth = 64; - nDens = 64; - nHop = -1; - fDensThresh = -1.0; - nMethod = 0; - for (int j=0;j<3;++j) fPeriod[j] = HUGE; - nMerge = 4; - return 0; -} - -int cleanup_code() -{ - return 0; -} - -int commit_parameters() { - if (outer_densthresh < 0.0) { - outer_densthresh = fDensThresh; - } - if (saddle_densthresh < 0.0) { - saddle_densthresh = 1.75 * outer_densthresh; - } - if (peak_densthresh < 0.0) { - peak_densthresh = saddle_densthresh > 2.0*outer_densthresh ? saddle_densthresh : 2.0*outer_densthresh; - } - printf("outer_densthresh %f, saddle_densthresh %f, peak_densthresh %f\n", outer_densthresh, saddle_densthresh, peak_densthresh); - return 0; -} - -int recommit_parameters() { - return commit_parameters(); -} - -/* densities */ -int calculate_densities() { - KD kd; - SMX smx; - ParticlesList particles_as_list; - - int init_error = InitHop(kd, smx, 1); - if (init_error != 0) return init_error; - - INFORM("Finding Densities...\n"); - switch (nMethod) { - case 1: smSmooth(smx,smDensitySym); break; - case 2: smSmooth(smx,smDensityTH); break; - default: smSmooth(smx,smDensity); - } - INFORM("Storing Results..."); - ParticlesMapIterator i; - int c = 0; - for (i = particlesMap.begin(); i != particlesMap.end(); i++) { - AmuseParticle * p = (*i).second; - particles_as_list.push_back(p); - } - - for (c = 0; c < particles_as_list.size(); c++) { - AmuseParticle * p = particles_as_list[kd->p[c].iOrder]; - p->mass=kd->p[c].fMass; - p->x=kd->p[c].r[0]; - p->y=kd->p[c].r[1]; - p->z=kd->p[c].r[2]; - p->density = kd->p[c].fDensity; - } - - gkd = kd; - gsmx = smx; - - INFORM("Done!\n"); - - return 0; -} - -bool compare_boundaries(const Boundary &a, const Boundary &b) { - return a.fDensity < b.fDensity; -} -bool is_weakly_connected(const Boundary &boundary) { - return (boundary.nGroup1 == weakly_connected) || (boundary.nGroup2 == weakly_connected); -} - -void merge_groups(int g1, int g2, - std::vector*> &merge_priorities, - std::vector &group_peak_density, - std::vector &id_from_index, int index_from_id[]) { - std::vector::iterator it1, it2; - int target_group1, target_group2; - bool have_common_neighbour; - int index1 = index_from_id[g1]; - int index2 = index_from_id[g2]; - - if (debug) { - for (int j=0; j < merge_priorities.size(); j++) { - printf("\nGROUP %d, boundaries:\n", id_from_index[j]); - for (it1 = merge_priorities[j]->begin(); it1 != merge_priorities[j]->end(); it1++) { - printf("%d %d %f\n", it1->nGroup1, it1->nGroup2, it1->fDensity); - } - } - } - for (it2 = merge_priorities[index2]->begin(); it2 < merge_priorities[index2]->end(); it2++) { - have_common_neighbour = false; - target_group2 = (it2->nGroup1 == g2) ? it2->nGroup2 : it2->nGroup1; - if (target_group2 == g1) { // This is the connection between the two merging groups: no longer needed - continue; - } - - // Check if group 1 already is connected to target_group2, i.e. they have a neighbour in common: - it1 = merge_priorities[index1]->begin(); - while (!have_common_neighbour && (it1 < merge_priorities[index1]->end())) { - target_group1 = (it1->nGroup1 == g1) ? it1->nGroup2 : it1->nGroup1; - if (target_group1 == target_group2) { // merging groups share a neighbour - have_common_neighbour = true; - } else { - it1++; - } - } - if (have_common_neighbour) { // Yes: replace with best connection - if (it1->fDensity < it2->fDensity) { - it1->fDensity = it2->fDensity; - // make sure the ordering is maintained: - while ((it1+1 < merge_priorities[index1]->end()) && (it1->fDensity > (it1+1)->fDensity)) { - std::iter_swap(it1, it1+1); - it1++; - } - weakly_connected = g1; - } else { - weakly_connected = g2; - } - // also remove the weaker connection from the merge priority vector of target_group: - merge_priorities[index_from_id[target_group1]]->erase( - std::remove_if( - merge_priorities[index_from_id[target_group1]]->begin(), - merge_priorities[index_from_id[target_group1]]->end(), - is_weakly_connected - ), merge_priorities[index_from_id[target_group1]]->end() - ); - } else { // No: insert this new connection - merge_priorities[index1]->insert( - std::lower_bound( - merge_priorities[index1]->begin(), - merge_priorities[index1]->end(), - *it2, - compare_boundaries - ), - *it2 - ); - } - } - // All connections are now stored on merge_priorities[index1], so we can remove merge_priorities[index2] - delete merge_priorities[index2]; // Free the vector with boundaries, - merge_priorities.erase(merge_priorities.begin() + index2); // and remove the reference to it. - // make sure the other vectors still match - if (group_peak_density[index2] > group_peak_density[index1]) { - group_peak_density[index1] = group_peak_density[index2]; - } - group_peak_density.erase(group_peak_density.begin() + index2); - id_from_index.erase(id_from_index.begin() + index2); - index_from_id[g2] = -1; - for (int i = g2 + 1; i < nGroups_before_regroup; i++) { - index_from_id[i]--; - } - - // Now update all boundaries in merge_priorities from g2 to g1 - std::vector*>::iterator it_group; - for (it_group = merge_priorities.begin(); it_group < merge_priorities.end(); it_group++) { - for (it1 = (*it_group)->begin(); it1 < (*it_group)->end(); it1++) { - if (it1->nGroup1 == g2) { - it1->nGroup1 = g1; - } else if (it1->nGroup2 == g2) { - it1->nGroup2 = g1; - } - } - } -} - -int regroup() { - int nGroups = gsmx->nGroups; - - std::vector*> merge_priorities(nGroups); - std::vector::iterator it; - std::vector group_peak_density(nGroups); - - // to go from index in the vectors (which decrease in size due to merging) to group id - std::vector id_from_index(nGroups); - int *index_from_id = new int[nGroups]; // and vice versa - int *new_group_id = new int[nGroups]; // to go from old to new group id - Boundary *boundary; - double d_tmp, d_saddle_tmp; - int j, i; - - nGroups_before_regroup = nGroups; - - // Create a vector of (pointers to) vectors containing, for each group, the boundaries - // it has with other groups, sorted in ascending order of saddle density. - for (j=0; j < nGroups; j++) { - merge_priorities[j] = new std::vector; - - group_peak_density[j] = gsmx->kd->p[gsmx->densestingroup[j]].fDensity; - index_from_id[j] = j; - id_from_index[j] = j; - new_group_id[j] = j; - } - for (j=0, boundary=gsmx->hash; j < gsmx->nHashLength; j++, boundary++){ - if (boundary->nGroup1 >= 0) { - merge_priorities[boundary->nGroup1]->insert( - std::lower_bound( - merge_priorities[boundary->nGroup1]->begin(), - merge_priorities[boundary->nGroup1]->end(), - *boundary, - compare_boundaries - ), - *boundary - ); - merge_priorities[boundary->nGroup2]->insert( - std::lower_bound( - merge_priorities[boundary->nGroup2]->begin(), - merge_priorities[boundary->nGroup2]->end(), - *boundary, - compare_boundaries - ), - *boundary - ); - } - } - if (debug) { - for (j=0; j < nGroups; j++) { - printf("\nGROUP %d, boundaries:\n", j); - for (it = merge_priorities[j]->begin(); it != merge_priorities[j]->end(); it++) { - printf("%d %d %f\n", it->nGroup1, it->nGroup2, it->fDensity); - } - } - } - - // Merge proper groups - int this_group, target_group, index; - j=0; - while (j < nGroups) { - //~for (j=0; j < nGroups; j++) { // For each group... - this_group = id_from_index[j]; - if (debug) printf("\nMerge proper groups, with group1: %d\n", this_group); - if (group_peak_density[j] > peak_densthresh) { // is this group a proper group? - it = merge_priorities[j]->begin(); - while (it != merge_priorities[j]->end()) { - target_group = (it->nGroup1 == this_group) ? it->nGroup2 : it->nGroup1; - index = index_from_id[target_group]; - if (group_peak_density[index] > peak_densthresh) { // is the target group also a proper group? - d_tmp = it->fDensity; - it = merge_priorities[j]->erase(it); - if (relative_saddle_density_threshold) { - d_saddle_tmp = saddle_density_threshold_factor * std::min(group_peak_density[j], group_peak_density[index]); - } else { - d_saddle_tmp = saddle_densthresh; - } - if (d_tmp > d_saddle_tmp) { // and boundary density high enough? ==> merge groups: - if (debug) printf("merging proper groups %d and %d (original size %d)\n", this_group, target_group, merge_priorities[j]->size()); - merge_groups( - this_group, target_group, - merge_priorities, group_peak_density, id_from_index, index_from_id); - if (debug) printf("merged proper groups %d and %d (new size %d)\n", this_group, target_group, merge_priorities[j]->size()); - nGroups--; - for (i = 0; i < nGroups_before_regroup; i++) { - if (new_group_id[i] == target_group) { - new_group_id[i] = this_group; - } - } - it = merge_priorities[j]->begin(); // merge_priorities[j] has changed -> start over - } - } else { // the target group is not a proper group. Deal with fringe groups later: - it++; - } - } - } - j++; - } - - // Merge fringe groups - bool changes = true; - Boundary next_boundary; - while (changes) { - changes = false; - for (j=0; j < nGroups; j++) { - if (merge_priorities[j]->size() > 0) { - this_group = id_from_index[j]; - next_boundary = merge_priorities[j]->back(); // top merge priority for this group - target_group = (next_boundary.nGroup1 == this_group) ? next_boundary.nGroup2 : next_boundary.nGroup1; - next_boundary = merge_priorities[index_from_id[target_group]]->back(); // top merge priority for this group's top target - int targets_target_group = (next_boundary.nGroup1 == target_group) ? next_boundary.nGroup2 : next_boundary.nGroup1; - - // Merging not allowed between proper groups separated by density below saddle density - if ((group_peak_density[index_from_id[target_group]] > peak_densthresh) && - (group_peak_density[j] > peak_densthresh)) { - merge_priorities[j]->pop_back(); - } else if (targets_target_group == this_group) { // Groups exchanged vows... - merge_priorities[j]->pop_back(); - if (debug) printf("merging fringe groups %d and %d\n", this_group, target_group); - merge_groups( // and shall be one flesh - this_group, target_group, - merge_priorities, group_peak_density, id_from_index, index_from_id); - for (i = 0; i < nGroups_before_regroup; i++) { - if (new_group_id[i] == target_group) { - new_group_id[i] = this_group; - } - } - nGroups--; - changes = true; - } - } - } - } - - // Reindex the new group ids to ids starting at 0, increment 1 - int *reindexed_new_group_id = new int[nGroups_before_regroup+1]; // +1 for particles not in any group - int *reindexer = new int[nGroups_before_regroup]; // to go from new group id to reindexed new group id - for (i = 0; i < nGroups_before_regroup; i++) { - reindexer[i] = -1; // default, means will be dropped (for fringe groups that do not belong to any proper group) - } - int tmp_id, id_counter = 0; - for (i = 0; i < nGroups_before_regroup; i++) { - tmp_id = new_group_id[i]; - if ((reindexer[tmp_id] == -1) && (group_peak_density[index_from_id[tmp_id]] > peak_densthresh)) { - reindexer[tmp_id] = id_counter++; // Post increment, next new group will get this id incremented by one - } - } - reindexed_new_group_id[0] = -1; // for particles not in any group - for (i = 0; i < nGroups_before_regroup; i++) { - reindexed_new_group_id[i+1] = reindexer[new_group_id[i]]; - } - - // Apply results - ParticlesMapIterator it_p; - AmuseParticle *p; - for (it_p = particlesMap.begin(); it_p != particlesMap.end(); it_p++) { - p = (*it_p).second; - p->group = reindexed_new_group_id[p->group+1]; - } - nGroups_after_regroup = id_counter; - - for (i=0; i=nSmooth) { - nSmooth = nHop+1; - ReSizeSMX(smx,nSmooth); - } - smSmooth(smx,smHop); - - int c = 0; - ParticlesMapIterator i; - for (i = particlesMap.begin(); i != particlesMap.end(); i++) { - AmuseParticle * p = (*i).second; - p->neighbor = -1 - smx->kd->p[c].iHop; - c++; - } - - INFORM("Grouping...\n"); - FindGroups(smx); - SortGroups(smx); - - INFORM("Merging Groups...\n"); - MergeGroupsHash(smx); - - kdOrder(kd); - - INFORM("Storing Results..."); - c = 0; - for (i = particlesMap.begin(); i != particlesMap.end(); i++) { - AmuseParticle * p = (*i).second; - p->group = smx->kd->p[c].iHop; - c++; - } - - gkd = kd; - gsmx = smx; - - regroup(); - - bHopDone = 1; - - INFORM("Done!\n"); - - return 0; -} - -int new_particle(int * index_of_the_particle, double mass, double x, double y, double z) { - *index_of_the_particle = highest_index; - AmuseParticle * p = new AmuseParticle(highest_index, mass, x, y, z); - particlesMap[highest_index] = p; - highest_index++; - return 0; -} - -int delete_particle(int index_of_the_particle) { - ParticlesMapIterator it; - it = particlesMap.find(index_of_the_particle); - if (it == particlesMap.end()){ - return -3; - } - delete it->second; - particlesMap.erase(it); - return 0; -} - -int get_number_of_particles(int *value) { - *value = (int) particlesMap.size(); - return 0; -} - -int set_density(int index_of_the_particle, double density) { - ParticlesMapIterator it; - it = particlesMap.find(index_of_the_particle); - if (it == particlesMap.end()){ - return -3; - } - it->second->density = density; - return 0; -} - -int get_density(int index_of_the_particle, double *density) { - ParticlesMapIterator it; - it = particlesMap.find(index_of_the_particle); - if (it == particlesMap.end()){ - return -3; - } - *density = it->second->density; - return 0; -} - -int set_position(int index_of_the_particle, double x, double y, double z) { - ParticlesMapIterator it; - it = particlesMap.find(index_of_the_particle); - if (it == particlesMap.end()){ - return -3; - } - it->second->x = x; - it->second->y = y; - it->second->z = z; - return 0; -} - -int get_position(int index_of_the_particle, double *x, double *y, double *z) { - ParticlesMapIterator it; - it = particlesMap.find(index_of_the_particle); - if (it == particlesMap.end()){ - return -3; - } - *x = it->second->x; - *y = it->second->y; - *z = it->second->z; - return 0; -} - -int get_mass(int index_of_the_particle, double *mass) { - ParticlesMapIterator it; - it = particlesMap.find(index_of_the_particle); - if (it == particlesMap.end()){ - return -3; - } - *mass = it->second->mass; - return 0; -} - -int get_densest_neighbor(int index_of_the_particle, int * index_of_densest_neighbor) { - ParticlesMapIterator it; - it = particlesMap.find(index_of_the_particle); - if (it == particlesMap.end()){ - return -3; - } - *index_of_densest_neighbor = it->second->neighbor; - return 0; -} - -int get_group_id(int index_of_the_particle, int * group_id) { - ParticlesMapIterator it; - it = particlesMap.find(index_of_the_particle); - if (it == particlesMap.end()){ - return -3; - } - *group_id = it->second->group; - return 0; -} - -int get_densest_particle_in_group(int group_id, int * index_of_the_particle) { - if (!bHopDone) return -1; - if(group_id > gsmx->nGroups) return -1; - *index_of_the_particle = gsmx->densestingroup[group_id]; - return 0; -} - -int get_number_of_particles_in_group(int group_id, int * number_of_particles) { - if (!bHopDone) return -1; - if(group_id >= gsmx->nGroups) return -1; - *number_of_particles = gsmx->nmembers[group_id]; - return 0; -} - -int get_average_boundary_density_of_groups(int first_group_id, int second_group_id, double * boundary_density) { - if (!bHopDone) return -1; - if(first_group_id > gsmx->nGroups) return -1; - if(second_group_id > gsmx->nGroups) return -1; - - Boundary *hp; - hp=gsmx->hash; - for (int j=0;jnHashLength; j++) { - if (hp->nGroup1 == first_group_id && hp->nGroup2 == second_group_id) { - *boundary_density = hp->fDensity; - return 0; - } - else if (hp->nGroup1 == second_group_id && hp->nGroup2 == first_group_id) { - *boundary_density = hp->fDensity; - return 0; - } - hp++; - } -// printf("No boundary exists between groups %4d and %4d.\n", first_group_id, second_group_id); - return -2; -} - -int get_number_of_groups(int * number_of_groups) { - if (!bHopDone) return -1; - *number_of_groups = nGroups_after_regroup; - return 0; -} - -int get_number_of_particles_outside_groups(int * number_of_particles) { - if (!bHopDone) return -1; - *number_of_particles = gsmx->nmembers[gsmx->nGroups]; - return 0; -} - -int show_parameters(){ - printf("Printing Parameters...\n"); - printf("nBucket:\t%d\nfPeriod x:\t%f\nfPeriod y:\t%f\nfPeriod z:\t%f\nnDens:\t%d\nnHop:\t%d\nnMerge:\t%d\nfDensThresh:\t%f\nnMethod:\t%d\n", - nBucket, fPeriod[0],fPeriod[1],fPeriod[2], nDens, nHop, nMerge, fDensThresh, nMethod); - return 0; -} - - - - - - - - diff --git a/src/amuse/community/hop/interface.py b/src/amuse/community/hop/interface.py index d50d603b79..bdfc7ceb0c 100644 --- a/src/amuse/community/hop/interface.py +++ b/src/amuse/community/hop/interface.py @@ -1,994 +1,7 @@ -''' -This is the interface file for the HOP group-finding algorithm. HOP starts by determining -the densest neighbor of each particle (which can be the particle proper). The algorithm -then groups particles together by jumping from densest neighbor to densest neighbor until -a density peak is reached. +from amuse.support.import_helper import load_code -core HOP algorithm functions: -calculate_densities() - - calculates densities -do_hop() - - determines densest neighbors then groups the particles and calculates boundaries - between groups -''' +HopInterface = load_code("hop", "HopInterface") +Hop = load_code("hop", "Hop") -from amuse.units import generic_unit_system -from amuse.community import * -from amuse.community.interface.common import CommonCodeInterface, CommonCode - -class HopInterface(CodeInterface, CommonCodeInterface, LiteratureReferencesMixIn): - ''' - .. [#] ADS:1998ApJ...498..137E (Eisenstein, DJ, Hut, P, ApJ 498 (1998): - .. [#] ... HOP: A new group-finding algorithm for N-body simulations) - ''' - include_headers = ['worker_code.h'] - - def __init__(self, **keyword_arguments): - CodeInterface.__init__(self, name_of_the_worker="hop_worker", **keyword_arguments) - LiteratureReferencesMixIn.__init__(self) - - @legacy_function - def new_particle(): - ''' - Add a new particle with the specified position. - Returns the particle index of the new particle as an integer (note zero offset). - ''' - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT, - description='index of the particle') - function.addParameter('mass', dtype='float64', direction=function.IN, - description='mass of the particle') - function.addParameter('x', dtype='float64', direction=function.IN, - description='particle position on x-axis') - function.addParameter('y', dtype='float64', direction=function.IN, - description='particle position on y-axis') - function.addParameter('z', dtype='float64', direction=function.IN, - description='particle position on z-axis') - function.result_type = 'int32' - return function - - @legacy_function - def delete_particle(): - ''' - Remove a particle. - ''' - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description='index of the particle to be removed') - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found and removed - -1 - ERROR - particle could not be found - """ - return function - - @legacy_function - def get_position(): - ''' - Retrieve the position of a particle. - ''' - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description='index of a particle') - function.addParameter('x', dtype='float64', direction=function.OUT, - description = 'particle position on x-axis') - function.addParameter('y', dtype='float64', direction=function.OUT, - description = 'particle position on y-axis') - function.addParameter('z', dtype='float64', direction=function.OUT, - description = 'particle position on z-axis') - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found and its position returned - -1 - ERROR - particle could not be found - """ - return function - - @legacy_function - def get_mass(): - ''' - Retrieve the position of a particle. - ''' - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description='index of a particle') - function.addParameter('mass', dtype='float64', direction=function.OUT, - description = 'particle position on x-axis') - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found and its position returned - -1 - ERROR - particle could not be found - """ - return function - - @legacy_function - def set_position(): - ''' - Set the position of a particle. - ''' - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description='index of a particle') - function.addParameter('x', dtype='float64', direction=function.IN, - description = 'particle position on x-axis') - function.addParameter('y', dtype='float64', direction=function.IN, - description = 'particle position on y-axis') - function.addParameter('z', dtype='float64', direction=function.IN, - description = 'particle position on z-axis') - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found and its position altered - -1 - ERROR - particle could not be found - """ - return function - - @legacy_function - def get_density(): - ''' - Retrieve the density of a particle. - ''' - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description='index of a particle') - function.addParameter('density', dtype='float64', direction=function.OUT, - description='the density of the specified particle') - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found and its density returned - -1 - ERROR - particle could not be found, unphysical density encountered - or density was not yet calculated - """ - return function - - @legacy_function - def set_density(): - ''' - Set the density of a particle. - ''' - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description='index of a particle') - function.addParameter('density', dtype='float64', direction=function.IN, - description='the density of the specified particle') - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found and its density altered - -1 - ERROR - particle could not be found - """ - return function - - @legacy_function - def get_densest_neighbor(): - ''' - Retrieve the particle index of the densest neighbor of a particle. - ''' - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description='index of a particle') - function.addParameter('index_of_densest_neighbor', dtype='int32', direction=function.OUT, - description='particle index of the densest neighbor of the specified particle') - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found and its densest neighbor index returned - -1 - ERROR - particle could not be found or its densest neighbor was not yet determined - """ - return function - - @legacy_function - def get_group_id(): - ''' - Retrieve the group ID of a particle (-1 for ungrouped particles). - ''' - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description='index of a particle') - function.addParameter('group_id', dtype='int32', direction=function.OUT, - description='group id of the group which the specified particle is a part of (-1 for ungrouped particles)') - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found and its group id returned - -1 - ERROR - particle could not be found or it was not part of a group - """ - return function - - @legacy_function - def get_number_of_particles(): - ''' - Retrieve the number of particles in the HopInstance. - ''' - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('value', dtype='int32', direction=function.OUT, - description='the total number of particles') - function.result_type = 'int32' - return function - - @legacy_function - def calculate_densities(): - ''' - Calculate the densities of the particles in the HopInstance. - Use set_density_method() to specify the density calculation - method (DEFAULT: gather-scatter cubic spline). - ''' - function = LegacyFunctionSpecification() - function.result_type = 'int32' - function.result_doc = ''' - 0 - OK - calculating densities successful - -1 - ERROR - no particles or parameter values too high (higher than number of partcles) - ''' - return function - - @legacy_function - def do_hop(): - ''' - Find the densest neighbors, then group the particles. do_hop() assigns - group ids to particles, starting with 0 for the largest group. - ''' - function = LegacyFunctionSpecification() - function.result_type = 'int32' - function.result_doc = ''' - 0 - OK - hop successful - -1 - ERROR - no particles or unphysical density encountered when reading densities or - parameter values too high (higher than number of particles) - ''' - return function - - @legacy_function - def get_densest_particle_in_group(): - ''' - Retrieve the particle index of the densest particle in a group. - (Requires do_hop() to be done first.) - ''' - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('group_id', dtype='int32', direction=function.IN, - description='group identification number') - function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT, - description='particle index of the particle with highest density in specified group') - function.result_type = 'int32' - function.result_doc = ''' - 0 - OK - group was found and index of densest particle returned - -1 - ERROR - group could not be found - ''' - return function - - @legacy_function - def get_number_of_particles_in_group(): - ''' - Retrieve the number of particles in a group. - ''' - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('group_id', dtype='int32', direction=function.IN, - description='group identification number') - function.addParameter('number_of_particles', dtype='int32', direction=function.OUT, - description='number of particles in the specified group') - function.result_type = 'int32' - function.result_doc = ''' - 0 - OK - group was found and the number of particles in the group returned - -1 - ERROR - group could not be found - ''' - return function - - @legacy_function - def get_average_boundary_density_of_groups(): - ''' - Retrieve the average density of the boundary between two groups. - (This is O(n_groups) so it might take a while to retrieve.) - (Requires do_hop() to be done first.) - ''' - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('first_group_id', dtype='int32', direction=function.IN, - description='identification number of the first group') - function.addParameter('second_group_id', dtype='int32', direction=function.IN, - description='identification number of the second group') - function.addParameter('boundary_density', dtype='float64', direction=function.OUT, - description='average density at the boundary between specified groups') - function.result_type = 'int32' - function.result_doc = ''' - 0 - OK - both groups were found and the average density of their boundary returned - -1 - ERROR - one of the groups could not be found - -2 - ERROR - the groups did not share a boundary - ''' - return function - - @legacy_function - def get_number_of_groups(): - ''' - Retrieve the number of groups in the HopInstance. - (Requires do_hop() to be done first.) - ''' - function = LegacyFunctionSpecification() - function.addParameter('number_of_groups', dtype='int32', direction=function.OUT, - description='the number of groups found by do_hop()') - function.result_type = 'int32' - function.result_doc = ''' - 0 - OK - number of groups found by hop returned - -1 - ERROR - do_hop was not run first - ''' - return function - - @legacy_function - def get_number_of_particles_outside_groups(): - ''' - Retrieve the number of particles that do not belong to a group. - (Requires do_hop() to be done first.) - ''' - function = LegacyFunctionSpecification() - function.addParameter('number_of_particles', dtype='int32', direction=function.OUT, - description='the number of particles that were not assigned a group id by do_hop()') - function.result_type = 'int32' - return function - - @legacy_function - def set_nBucket(): - ''' - Set nBucket, to tune the performance of the kd-tree search. - DEFAULT: 16 - ''' - function = LegacyFunctionSpecification() - function.addParameter('value', dtype = 'int32', direction=function.IN, - description='the value of nBucket affects the performance of the kd-tree search (DEFAULT: 16)') - function.result_type = 'int32' - return function - - @legacy_function - def get_nBucket(): - ''' - Return the bucket parameter to tune the performance of the kd-tree search. - DEFAULT: 16 - ''' - function = LegacyFunctionSpecification() - function.addParameter('value', dtype = 'int32', direction=function.OUT, - description='the value of nBucket affects the performance of the kd-tree search (DEFAULT: 16)') - function.result_type = 'int32' - return function - - @legacy_function - def set_nDens(): - ''' - Set nDens, the number of particles to smooth over when calculating densities. - DEFAULT: 64 - ''' - function = LegacyFunctionSpecification() - function.addParameter('value', dtype = 'int32', direction=function.IN, - description='the value of nDens, the number of particles to smooth over when calculating densities (DEFAULT: 64)') - function.result_type = 'int32' - return function - - @legacy_function - def get_nDens(): - ''' - Return the number of particles to smooth over when calculating densities. - DEFAULT: 64 - ''' - function = LegacyFunctionSpecification() - function.addParameter('value', dtype = 'int32', direction=function.OUT, - description='the value of nDens, the number of particles to smooth over when calculating densities (DEFAULT: 64)') - function.result_type = 'int32' - return function - - @legacy_function - def set_nHop(): - ''' - Set nHop, the number of particles over which to look for density maximum. - DEFAULT: 64 - (minimum allowed value of nHop is nMerge+1) - ''' - function = LegacyFunctionSpecification() - function.addParameter('value', dtype = 'int32', direction=function.IN, - description='the value of nHop, the number of particles over which to look for density maximum (DEFAULT: 64)') - function.result_type = 'int32' - function.result_doc = ''' - 0 - OK - nHop was set - -1 - ERROR - requested value for nHop was too low - ''' - return function - @legacy_function - def get_nHop(): - ''' - Return the number of particles over which to look for density maximum. - DEFAULT: 64 - (minimum allowed value of nHop is nMerge+1) - ''' - function = LegacyFunctionSpecification() - function.addParameter('value', dtype = 'int32', direction=function.OUT, - description='the value of nHop, the number of particles over which to look for density maximum (DEFAULT: 64)') - function.result_type = 'int32' - function.result_doc = ''' - 0 - OK - nHop was set - -1 - ERROR - requested value for nHop was too low - ''' - return function - - - @legacy_function - def set_fDensThresh(): - ''' - Set fDensThresh, the density below which particles are not assigned to any group. - DEFAULT: -1.0 (no threshold) - ''' - function = LegacyFunctionSpecification() - function.addParameter('value', dtype = 'float64', direction=function.IN, - description='value of fDensThresh, the minimum density of grouped particles (DEFAULT: no minimum)', - unit = generic_unit_system.density) - function.result_type = 'int32' - return function - @legacy_function - def get_fDensThresh(): - ''' - Return the density below which particles are not assigned to any group. - DEFAULT: -1.0 (no threshold) - ''' - function = LegacyFunctionSpecification() - function.addParameter('value', dtype = 'float64', direction=function.OUT, - description='value of fDensThresh, the minimum density of grouped particles (DEFAULT: no minimum)', - unit = generic_unit_system.density) - function.result_type = 'int32' - return function - @legacy_function - def set_saddle_densthresh(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype = 'float64', direction=function.IN, - description='For two groups to merge, the density at their boundary must ' - 'exceed this threshold (DEFAULT: 1.75 * outer_density_threshold)', - unit = generic_unit_system.density) - function.result_type = 'int32' - return function - @legacy_function - def get_saddle_densthresh(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype = 'float64', direction=function.OUT, - description='For two groups to merge, the density at their boundary must ' - 'exceed this threshold (DEFAULT: 1.75 * outer_density_threshold)', - unit = generic_unit_system.density) - function.result_type = 'int32' - return function - @legacy_function - def set_peak_densthresh(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype = 'float64', direction=function.IN, - description='Groups with density below this threshold (fringe groups) are ' - 'attached to other (proper) groups, or dropped (DEFAULT: max(d_saddle, 2.0 * d_outer))', - unit = generic_unit_system.density) - function.result_type = 'int32' - return function - @legacy_function - def get_peak_densthresh(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype = 'float64', direction=function.OUT, - description='Groups with density below this threshold (fringe groups) are ' - 'attached to other (proper) groups, or dropped (DEFAULT: max(d_saddle, 2.0 * d_outer))', - unit = generic_unit_system.density) - function.result_type = 'int32' - return function - - @legacy_function - def set_saddle_density_threshold_factor(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype = 'float64', direction=function.IN, - description='For two groups to merge, the density at their boundary must ' - 'exceed this factor times the lowest of the two peak densities (set relative_saddle_density_threshold to True)', - unit = NO_UNIT) - function.result_type = 'int32' - return function - @legacy_function - def get_saddle_density_threshold_factor(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype = 'float64', direction=function.OUT, - description='For two groups to merge, the density at their boundary must ' - 'exceed this factor times the lowest of the two peak densities (set relative_saddle_density_threshold to True)', - unit = NO_UNIT) - function.result_type = 'int32' - return function - @legacy_function - def set_relative_saddle_density_threshold(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype = 'int32', direction=function.IN, - description="Flag to use a saddle-density-threshold relative to the lowest peak density, " - "instead of the absolute saddle_density_threshold", - unit = NO_UNIT) - function.result_type = 'int32' - return function - @legacy_function - def get_relative_saddle_density_threshold(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype = 'int32', direction=function.OUT, - description="Flag to use a saddle-density-threshold relative to the lowest peak density, " - "instead of the absolute saddle_density_threshold", - unit = NO_UNIT) - function.result_type = 'int32' - return function - - - @legacy_function - def set_fPeriod(): - ''' - Set the x, y and z periodicity of the simulation box. - DEFAULT: infinite - ''' - function = LegacyFunctionSpecification() - function.addParameter('x', dtype = 'float64', direction=function.IN, - description='periodicity in x direction') - function.addParameter('y', dtype = 'float64', direction=function.IN, - description='periodicity in y direction') - function.addParameter('z', dtype = 'float64', direction=function.IN, - description='periodicity in z direction') - function.result_type = 'int32' - return function - - @legacy_function - def get_fPeriod(): - ''' - Get the x, y and z periodicity of the simulation box. - DEFAULT: infinite - ''' - function = LegacyFunctionSpecification() - function.addParameter('x', dtype = 'float64', direction=function.OUT, - description='periodicity in x direction') - function.addParameter('y', dtype = 'float64', direction=function.OUT, - description='periodicity in y direction') - function.addParameter('z', dtype = 'float64', direction=function.OUT, - description='periodicity in z direction') - function.result_type = 'int32' - return function - - @legacy_function - def set_nMerge(): - ''' - Set nMerge, the number of particles to catalogue group boundaries. - DEFAULT: 4 - (maximum allowed value of nMerge is nHop-1) - ''' - function = LegacyFunctionSpecification() - function.addParameter('value', dtype = 'int32', direction=function.IN, - description='the value of nMerge, the numbder of particles catalogue group boundaries') - function.result_type = 'int32' - function.result_doc = ''' - 0 - OK - nMerge was set - -1 - ERROR - requested value for nMerge was too high - ''' - return function - - @legacy_function - def get_nMerge(): - ''' - Return the number of particles to catalogue group boundaries. - DEFAULT: 4 - (maximum allowed value of nMerge is nHop-1) - ''' - function = LegacyFunctionSpecification() - function.addParameter('value', dtype = 'int32', direction=function.OUT, - description='the value of nMerge, the numbder of particles catalogue group boundaries') - function.result_type = 'int32' - function.result_doc = ''' - 0 - OK - nMerge was set - -1 - ERROR - requested value for nMerge was too high - ''' - return function - - @legacy_function - def set_density_method(): - ''' - Set the density calculation method used by calculate_densities(). - 0 - gather-scatter cubic spline kernel (DEFAULT) - 1 - gather-only cubic spline kernal - 2 - tophat kernal - ''' - function = LegacyFunctionSpecification() - function.addParameter('value', dtype = 'int32', direction=function.IN, - description='value representing the density calculation method (DEFAULT: 0; gather scatter cubic spline)') - function.result_type = 'int32' - function.result_doc = ''' - 0 - OK - density method set - -1 - ERROR - invalid density method requested - ''' - return function - - @legacy_function - def get_density_method(): - ''' - Get the density calculation method used by calculate_densities(). - 0 - gather-scatter cubic spline kernel (DEFAULT) - 1 - gather-only cubic spline kernal - 2 - tophat kernal - ''' - function = LegacyFunctionSpecification() - function.addParameter('value', dtype = 'int32', direction=function.OUT, - description='value representing the density calculation method (DEFAULT: 0; gather scatter cubic spline)') - function.result_type = 'int32' - function.result_doc = ''' - 0 - OK - density method set - -1 - ERROR - invalid density method requested - ''' - return function - - @legacy_function - def show_parameters(): - ''' - Print all parameters and their values. - ''' - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - def commit_particles(self): - pass - - def recommit_particles(self): - pass - - - -class Hop(CommonCode): - - def __init__(self, unit_converter = None, **options): - - self.unit_converter = unit_converter - - InCodeComponentImplementation.__init__(self, HopInterface(**options), **options) - - def define_converter(self, handler): - if self.unit_converter is None: - return - handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) - - def define_errorcodes(self, handler): - handler.add_errorcode(-1, 'Something went wrong...') - handler.add_errorcode(-2, 'Not implemented.') - handler.add_errorcode(-3, 'A particle with the given index was not found.') - handler.add_errorcode(-4, 'Negative density encountered.') - handler.add_errorcode(-5, 'Too few particles.') - - def define_methods(self, builder): - - builder.add_method( - 'new_particle', - (generic_unit_system.mass, generic_unit_system.length, generic_unit_system.length, generic_unit_system.length,), - (builder.INDEX, builder.ERROR_CODE) - ) - - builder.add_method( - 'delete_particle', - (builder.INDEX,), - (builder.ERROR_CODE) - ) - - builder.add_method( - 'get_position', - (builder.INDEX,), - (generic_unit_system.length, generic_unit_system.length, generic_unit_system.length, builder.ERROR_CODE), - public_name = 'get_position' - ) - - builder.add_method( - 'set_position', - (builder.INDEX, generic_unit_system.length, generic_unit_system.length, generic_unit_system.length,), - (builder.ERROR_CODE), - public_name = 'set_position' - ) - - builder.add_method( - 'get_density', - (builder.INDEX,), - (generic_unit_system.density, builder.ERROR_CODE) - ) - - builder.add_method( - 'get_mass', - (builder.INDEX,), - (generic_unit_system.mass, builder.ERROR_CODE) - ) - - builder.add_method( - 'set_density', - (builder.INDEX, generic_unit_system.density,), - (builder.ERROR_CODE) - ) - - builder.add_method( - 'get_densest_neighbor', - (builder.INDEX,), - (builder.INDEX, builder.ERROR_CODE) - ) - - builder.add_method( - 'get_group_id', - (builder.INDEX,), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - 'get_number_of_particles', - (), - (builder.INDEX, builder.ERROR_CODE) - ) - - builder.add_method( - 'calculate_densities', - (), - (builder.ERROR_CODE) - ) - - builder.add_method( - 'do_hop', - (), - (builder.ERROR_CODE) - ) - - builder.add_method( - 'get_densest_particle_in_group', - (builder.INDEX,), - (builder.INDEX, builder.ERROR_CODE) - ) - - builder.add_method( - 'get_number_of_particles_in_group', - (builder.INDEX,), - (builder.INDEX, builder.ERROR_CODE) - ) - - builder.add_method( - 'get_average_boundary_density_of_groups', - (builder.INDEX, builder.INDEX,), - (generic_unit_system.density, builder.ERROR_CODE) - ) - - builder.add_method( - 'get_number_of_groups', - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - 'get_number_of_particles_outside_groups', - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - 'show_parameters', - (), - (builder.ERROR_CODE) - ) - - builder.add_method( - "get_nHop", - (), - (builder.NO_UNIT, builder.ERROR_CODE,) - ) - - builder.add_method( - "set_nHop", - (builder.NO_UNIT, ), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_nDens", - (), - (builder.NO_UNIT, builder.ERROR_CODE,) - ) - - builder.add_method( - "set_nDens", - (builder.NO_UNIT, ), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_nBucket", - (), - (builder.NO_UNIT, builder.ERROR_CODE,) - ) - - builder.add_method( - "set_nBucket", - (builder.NO_UNIT, ), - (builder.ERROR_CODE,) - ) - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_fDensThresh", - "set_fDensThresh", - "outer_density_threshold", - "the density below which particles are not assigned to any group", - default_value = -1.0 | generic_unit_system.density - ) - handler.add_method_parameter( - "get_saddle_densthresh", - "set_saddle_densthresh", - "saddle_density_threshold", - "For two groups to merge, the density at their boundary must exceed this " - "threshold (DEFAULT: 1.75 * outer_density_threshold)", - default_value = -1.0 | generic_unit_system.density - ) - handler.add_method_parameter( - "get_peak_densthresh", - "set_peak_densthresh", - "peak_density_threshold", - "Groups with density below this threshold (fringe groups) are attached to " - "other (proper) groups, or dropped (DEFAULT: max(saddle_density_threshold, 2.0 * outer_density_threshold))", - default_value = -1.0 | generic_unit_system.density - ) - handler.add_method_parameter( - "get_saddle_density_threshold_factor", - "set_saddle_density_threshold_factor", - "saddle_density_threshold_factor", - "For two groups to merge, the density at their boundary must exceed this " - "factor times the lowest of the two peak densities (set relative_saddle_density_threshold to True)", - default_value = 0.80 - ) - handler.add_boolean_parameter( - "get_relative_saddle_density_threshold", - "set_relative_saddle_density_threshold", - "relative_saddle_density_threshold", - "Flag to use a saddle-density-threshold relative to the lowest peak density, " - "instead of the absolute saddle_density_threshold", - False - ) - - handler.add_method_parameter( - "get_nHop", - "set_nHop", - "number_of_neighbors_for_hop", - "The number of neighbors to search for local density maximum (search is performed iteratively until a true maximum is found)", - default_value = 64 - ) - - handler.add_method_parameter( - "get_density_method", - "set_density_method", - "density_method", - "method used for density computation (0,1,2 = gather-scatter spline, gather spline, tophat)", - default_value = 0 - ) - - - handler.add_method_parameter( - "get_nDens", - "set_nDens", - "number_of_neighbors_for_local_density", - "Return the number of particles to smooth over when calculating densities.", - default_value = 64 - ) - - handler.add_method_parameter( - "get_nBucket", - "set_nBucket", - "number_of_buckets", - "Return the bucket parameter to tune the performance of the kd-tree search.", - default_value = 16 - ) - - handler.add_method_parameter( - "get_nMerge", - "set_nMerge", - "number_of_particles_per_group_pair_boundary", - "The number of (densest) particles per boundary between each pair of groups, for merging.", - default_value = 4 - ) - - def define_particle_sets(self, builder): - builder.define_set('particles', 'index_of_the_particle') - builder.set_new('particles', 'new_particle') - builder.set_delete('particles', 'delete_particle') - builder.add_setter('particles', 'set_position') - builder.add_setter('particles', 'set_density', names=('density',)) - builder.add_getter('particles', 'get_position') - builder.add_getter('particles', 'get_density', names=('density',)) - builder.add_getter('particles', 'get_mass', names=('mass',)) - #builder.add_getter('particles', 'get_densest_neighbor') - builder.add_getter('particles', 'get_group_id', names=('group_id',)) - - def define_state(self, handler): - CommonCode.define_state(self, handler) - handler.add_transition('INITIALIZED','EDIT','commit_parameters') - handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False) - handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False) - handler.add_transition('UPDATE','CHANGE_PARAMETERS_UPDATE','before_set_parameter', False) - handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters') - handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') - handler.add_transition('CHANGE_PARAMETERS_UPDATE','UPDATE','recommit_parameters') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') - handler.add_method('CHANGE_PARAMETERS_UPDATE','before_set_parameter') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') - handler.add_method('CHANGE_PARAMETERS_UPDATE','before_get_parameter') - handler.add_method('RUN', 'before_get_parameter') - handler.add_method('EDIT', 'before_get_parameter') - handler.add_method('UPDATE','before_get_parameter') - - handler.add_method('EDIT', 'new_particle') - handler.add_method('EDIT', 'delete_particle') - handler.add_method('UPDATE', 'new_particle') - handler.add_method('UPDATE', 'delete_particle') - handler.add_transition('EDIT', 'RUN', 'commit_particles') - handler.add_transition('RUN', 'UPDATE', 'new_particle', False) - handler.add_transition('RUN', 'UPDATE', 'delete_particle', False) - handler.add_transition('UPDATE', 'RUN', 'recommit_particles') - handler.add_method('RUN', 'calculate_densities') - handler.add_method('RUN', 'do_hop') - handler.add_method('RUN', 'get_mass') - handler.add_method('RUN', 'get_position') - handler.add_method('RUN', 'get_density') - handler.add_method('RUN', 'get_group_id') - - def no_group(self): - return self.particles.select(lambda group_id: group_id == -1, ["group_id"]) - - def groups(self): - number_of_groups = self.get_number_of_groups() - group_id = self.particles.group_id - - for index in range(number_of_groups): - result = self.particles[group_id == index] - result.add_function_attribute('id_of_group', lambda particles: particles[0].group_id) - #result.add_function_attribute('get_density_of_group', lambda particles: self.get_group_density(particles.id_of_group())) - yield result - - - - - - - - - - - +Hop = Hop diff --git a/src/amuse/community/huayno/Makefile b/src/amuse/community/huayno/Makefile deleted file mode 100644 index 06af85a217..0000000000 --- a/src/amuse/community/huayno/Makefile +++ /dev/null @@ -1,106 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPICXX ?= mpicxx -MPICC ?= mpicc - -OPENMP_CFLAGS?= -fopenmp - -ifneq (,$(findstring xlc, $(notdir $(CC)))) -CFLAGS += -qlanglvl=extc99 -else -CFLAGS += -std=gnu99 -endif -CFLAGS += -CXXFLAGS += -LIBS += -lm -INCLUDE = - -#--------------------------------------------- - -OBJS = interface.o - -SRCDIR = src - -BUILDDIR = build -OPENCL_BUILDDIR = build_cl -OPENMP_BUILDDIR = build_mp - -AM_LIBS = -L$(AMUSE_DIR)/lib/amuse_mpi -lamuse_mpi -AM_CFLAGS = -I$(AMUSE_DIR)/lib/amuse_mpi - -all: huayno_worker - -clean: - rm -f *.o *.bck *.pyc *.clh worker_code.cc worker_code.h - rm -Rf $(BUILDDIR) - rm -Rf $(OPENCL_BUILDDIR) - rm -Rf $(OPENMP_BUILDDIR) - rm -f huayno_worker huayno_worker_cl huayno_worker_mp - -make -C $(SRCDIR) clean - -distclean: clean - -$(BUILDDIR)/Makefile: $(SRCDIR)/Makefile - -mkdir $(BUILDDIR) - cp $(SRCDIR)/Makefile $(BUILDDIR)/Makefile - -$(BUILDDIR)/libhuayno.a: $(BUILDDIR)/Makefile $(LIBFILES) src/Makefile - make -C $(BUILDDIR) all VPATH=../src CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" - -$(OPENMP_BUILDDIR)/Makefile: $(SRCDIR)/Makefile - -mkdir $(OPENMP_BUILDDIR) - cp $(SRCDIR)/Makefile $(OPENMP_BUILDDIR)/Makefile - -$(OPENMP_BUILDDIR)/libhuayno.a: $(OPENMP_BUILDDIR)/Makefile $(LIBFILES) src/Makefile - make -C $(OPENMP_BUILDDIR) all VPATH=../src CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" - -$(OPENCL_BUILDDIR)/Makefile: $(SRCDIR)/Makefile - -mkdir $(OPENCL_BUILDDIR) - cp $(SRCDIR)/Makefile $(OPENCL_BUILDDIR)/Makefile - -$(OPENCL_BUILDDIR)/libhuayno_cl.a: $(OPENCL_BUILDDIR)/Makefile $(LIBFILES) src/Makefile - make -C $(OPENCL_BUILDDIR) libhuayno_cl.a VPATH=../src CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LIBS="$(LIBS)" INCLUDE="$(INCLUDE)" - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py HuaynoInterface -o $@ - -worker_code.h: interface.py - $(CODE_GENERATOR) --type=h interface.py HuaynoInterface -o $@ - -huayno_worker: __init__.py worker_code.cc worker_code.h $(BUILDDIR)/libhuayno.a $(BUILDDIR)/interface.o - $(MPICXX) $(SC_FLAGS) $(CXXFLAGS) $(INCLUDE) $(LDFLAGS) worker_code.cc $(BUILDDIR)/interface.o $(BUILDDIR)/libhuayno.a -o $@ $(LIBS) $(SC_CLIBS) - -huayno_worker_mp: CFLAGS += $(OPENMP_CFLAGS) -huayno_worker_mp: CXXFLAGS += $(OPENMP_CFLAGS) -huayno_worker_mp: __init__.py worker_code.cc worker_code.h $(OPENMP_BUILDDIR)/libhuayno.a $(OPENMP_BUILDDIR)/interface.o - $(MPICXX) $(SC_FLAGS) $(CXXFLAGS) $(INCLUDE) $(LDFLAGS) worker_code.cc $(OPENMP_BUILDDIR)/interface.o $(OPENMP_BUILDDIR)/libhuayno.a -o $@ $(LIBS) $(SC_CLIBS) - -#~ huayno_worker_mp.so: CFLAGS += $(OPENMP_CFLAGS) -#~ huayno_worker_mp.so: CXXFLAGS += $(OPENMP_CFLAGS) - -huayno_worker_cl: CFLAGS += -DEVOLVE_OPENCL -huayno_worker_cl: CXXFLAGS += -DEVOLVE_OPENCL -huayno_worker_cl: LIBS += $(CL_LIBS) -huayno_worker_cl: INCLUDE += $(CL_FLAGS) -I. -huayno_worker_cl: __init__.py worker_code.cc worker_code.h $(OPENCL_BUILDDIR)/libhuayno_cl.a $(OPENCL_BUILDDIR)/interface.o - $(MPICXX) $(CXXFLAGS) $(INCLUDE) $(LDFLAGS) worker_code.cc $(OPENCL_BUILDDIR)/interface.o $(OPENCL_BUILDDIR)/libhuayno_cl.a -o $@ $(LIBS) $(SC_CLIBS) - -.cc.o: $< - $(MPICXX) -I$(SRCDIR) $(SC_FLAGS) $(CXXFLAGS) $(INCLUDE) -c -o $@ $< - -$(BUILDDIR)/%.o: %.c - $(CC) -I$(SRCDIR) $(SC_FLAGS) $(CFLAGS) $(INCLUDE) -c -o $@ $< - -$(OPENMP_BUILDDIR)/%.o: %.c - $(CC) -I$(SRCDIR) $(SC_FLAGS) $(CFLAGS) $(INCLUDE) -c -o $@ $< - -$(OPENCL_BUILDDIR)/%.o: %.c - $(CC) -I$(SRCDIR) $(SC_FLAGS) $(CFLAGS) $(INCLUDE) -c -o $@ $< - -.c.o: $< - $(MPICC) -I$(SRCDIR) $(SC_FLAGS) $(CFLAGS) $(INCLUDE) -c -o $@ $< diff --git a/src/amuse/community/huayno/interface.py b/src/amuse/community/huayno/interface.py index 553f0a27ad..cf1dc9ee89 100644 --- a/src/amuse/community/huayno/interface.py +++ b/src/amuse/community/huayno/interface.py @@ -1,400 +1,7 @@ -from amuse.community import * -from amuse.community.interface.gd import GravitationalDynamicsInterface,GravityFieldInterface -from amuse.community.interface.gd import GravitationalDynamics,GravityFieldCode +from amuse.support.import_helper import load_code -class HuaynoInterface(CodeInterface, - LiteratureReferencesMixIn, - GravitationalDynamicsInterface, - StoppingConditionInterface, - GravityFieldInterface): - """ - HUAYNO is a code to solve the astrophysical N-body problem. It uses - recursive Hamiltonian splitting to generate multiple-timestep integrators - which conserve momentum to machine precision. A number of different - integrators are available. The code has been developed within the - AMUSE environment. It can make use of GPUs - for this an OpenCL - version can be compiled. - .. [#] ADS:2012NewA...17..711P (Pelupessy, Federico I.; J\"anes, J\"urgen; Portegies Zwart, Simon, New Astronomy, Volume 17, Issue 8, p. 711-719) - .. [#] ADS:2014A&A...570A..20J (J\"anes, J\"urgen; Pelupessy, Federico I.; Portegies Zwart, Simon, A&A, Volume 570, October 2014 (for CC, OK methods)) - """ - include_headers = ['worker_code.h'] +HuaynoInterface = load_code("huayno", "HuaynoInterface") +Huayno = load_code("huayno", "Huayno") - MODE_OPENCL='opencl' - MODE_OPENMP='openmp' - - def name_of_worker(self,mode): - if mode==self.MODE_OPENCL: - return 'huayno_worker_cl' - if mode==self.MODE_OPENMP: - return 'huayno_worker_mp' - return 'huayno_worker' - - def __init__(self, mode=None, **options): - CodeInterface.__init__(self, name_of_the_worker = self.name_of_worker(mode), **options) - LiteratureReferencesMixIn.__init__(self) - - @legacy_function - def get_time(): - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - - @legacy_function - def commit_particles(): - function = LegacyFunctionSpecification() - function.result_type = 'i' - return function - - @legacy_function - def get_kinetic_energy(): - function = LegacyFunctionSpecification() - function.addParameter('kinetic_energy', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_potential_energy(): - function = LegacyFunctionSpecification() - function.addParameter('potential_energy', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def initialize_code(): - function = LegacyFunctionSpecification() - function.result_type = 'i' - return function - - @legacy_function - def evolve_model(): - function = LegacyFunctionSpecification() - function.addParameter('time_end', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_timestep_parameter(): - function = LegacyFunctionSpecification() - function.addParameter('time_param', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_timestep_parameter(): - function = LegacyFunctionSpecification() - function.addParameter('time_param', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_timestep(): - function = LegacyFunctionSpecification() - function.addParameter('timestep', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_timestep(): - function = LegacyFunctionSpecification() - function.addParameter('timestep', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_verbosity_parameter(): - function = LegacyFunctionSpecification() - function.addParameter('verbosity', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_verbosity_parameter(): - function = LegacyFunctionSpecification() - function.addParameter('verbosity', dtype='i', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_number_of_particles(): - function = LegacyFunctionSpecification() - function.addParameter('number_of_particles', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_inttype_parameter(): - function = LegacyFunctionSpecification() - function.addParameter('inttype', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_inttype_parameter(): - function = LegacyFunctionSpecification() - function.addParameter('inttype', dtype='i', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_eps2_parameter(): - function = LegacyFunctionSpecification() - function.addParameter('eps2', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_eps2_parameter(): - function = LegacyFunctionSpecification() - function.addParameter('eps2', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_accel_zero_mass_parameter(): - function = LegacyFunctionSpecification() - function.addParameter('accelerate_zero_mass', dtype='b', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_accel_zero_mass_parameter(): - function = LegacyFunctionSpecification() - function.addParameter('accelerate_zero_mass', dtype='b', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_opencl_device_type(): - function = LegacyFunctionSpecification() - function.addParameter('opencl_device_type', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_opencl_device_type(): - function = LegacyFunctionSpecification() - function.addParameter('opencl_device_type', dtype='i', direction=function.IN) - function.result_type = 'i' - return function - - - def set_eps2(self, e): - return self.set_eps2_parameter(e) - - def get_eps2(self): - return self.get_eps2_parameter() - - @legacy_function - def get_evolve_statistics(): - function = LegacyFunctionSpecification() - function.addParameter('ttot', dtype='int64', direction=function.OUT) - function.addParameter('ktot', dtype='int64', direction=function.OUT) - function.addParameter('dtot', dtype='int64', direction=function.OUT) - function.addParameter('tstot', dtype='int64', direction=function.OUT) - function.addParameter('kstot', dtype='int64', direction=function.OUT) - function.addParameter('dstot', dtype='int64', direction=function.OUT) - function.result_type = 'i' - return function - -class Huayno(GravitationalDynamics,GravityFieldCode): - - __interface__ = HuaynoInterface - - class inttypes(object): - """ - CONSTANT# = constant global timestep, of different order - SHARED# = shared, but varying global timestep, of different order - SHARED#_COLLISION = shared, but varying global timestep, of different order with collision detection - CC_.. = various variant of connected component (termination with KEPLER or Bulirsch-stoer, see paper Janes - CCC_... = with centering of subsys - OK = Optimal Kick (see paper Janes) - PASS, HOLD, BRIDGE and variants= momentum conserving individual timestepping see paper Pelupessy - NAIVE = naive implementation of individual timestepping - others are experimental, testing, development - """ - @classmethod - def _list(cls): - return set([x for x in cls.__dict__.keys() if not x.startswith('_')]) - - all_inttypes=dict(CONSTANT = 0, SHARED2 = 1, PASS_KDK = 2, HOLD_KDK = 3, BRIDGE_KDK = 4, - EXTRAPOLATE = 5, PASS_DKD = 7, HOLD_DKD = 8, PPASS_DKD = 9, BRIDGE_DKD = 10, - CC = 11, CC_KEPLER = 12, OK = 13, KEPLER = 14, SHARED4 = 15, FOURTH_M4 = 16, FOURTH_M5 = 17, - SHARED6 = 18, SHARED8 = 19, SHARED10 = 20, SHAREDBS = 21, CCC = 22, CCC_KEPLER = 23, - CC_BS = 24, CCC_BS = 25, BS_CC_KEPLER = 26, CC_BSA = 27, CCC_BSA = 28, SHARED2_COLLISIONS = 29, - SHARED4_COLLISIONS = 30, SHARED6_COLLISIONS = 31, SHARED8_COLLISIONS = 32, - SHARED10_COLLISIONS = 33, CONSTANT2 = 34, CONSTANT4 = 35, CONSTANT6 = 36, - CONSTANT8 = 37, CONSTANT10 = 38, ERROR_CONTROL=39, CC_SHARED10=40, CCC_SHARED10=41) - - for key, val in all_inttypes.items(): - setattr(inttypes, key, val) - - def __init__(self, convert_nbody = None, **options): - self.stopping_conditions = StoppingConditions(self) - legacy_interface = self.__interface__(**options) -# self.legacy_doc = legacy_interface.__doc__ - - GravitationalDynamics.__init__( - self, - legacy_interface, - convert_nbody, - **options - ) - - def set_integrator(self, name): - return self.set_inttype_parameter(self.all_inttypes[name]) - - def get_integrator(self): - value= self.get_inttype_parameter() - for key, index in self.all_inttypes.items(): - if value == index: - return key - return "unknown" - - def define_parameters(self, handler): - - self.stopping_conditions.define_parameters(handler) - - handler.add_method_parameter( - "get_eps2", - "set_eps2", - "epsilon_squared", - "smoothing parameter for gravity calculations", - default_value = 0.0 | nbody_system.length * nbody_system.length - ) - - handler.add_method_parameter( - "get_timestep_parameter", - "set_timestep_parameter", - "timestep_parameter", - "timestep parameter for gravity calculations", - default_value = 0.03 - ) - - handler.add_method_parameter( - "get_timestep", - "set_timestep", - "timestep", - "timestep for evolve calls", - default_value = 0.0 | nbody_system.time - ) - - handler.add_method_parameter( - "get_verbosity_parameter", - "set_verbosity_parameter", - "verbosity_parameter", - "verbosity parameter (0 mean silent)", - default_value = 0 - ) - - handler.add_boolean_parameter( - "get_accel_zero_mass_parameter", - "set_accel_zero_mass_parameter", - "accelerate_zero_mass", - "accelerate zero mass particle interactions (should always be true, except for testing)", - default_value = True - ) - - inttypes=sorted([(getattr(self.inttypes,t),t ) - for i,t in enumerate(sorted(self.inttypes._list()))]) - - handler.add_method_parameter( - "get_inttype_parameter", - "set_inttype_parameter", - "inttype_parameter", - "integrator method to use, this can be one of: "+ - ",".join( ["{0}={1}".format(i, t) for i,t in inttypes]), - #~ default_value = 8 - ) - - handler.add_method_parameter( - "get_integrator", - "set_integrator", - "integrator", - "integrator method to use, this can be one of: "+ - ",".join( ["{0}".format(t) for i,t in inttypes]), - #~ default_value="HOLD_DKD" - ) - - handler.add_method_parameter( - "get_begin_time", - "set_begin_time", - "begin_time", - "model time to start the simulation at", - default_value = 0.0 | nbody_system.time - ) - - handler.add_method_parameter( - "get_opencl_device_type", - "set_opencl_device_type", - "opencl_device_type", - "set preferred OpenCL device type (0=default, 1=cpu, 2=gpu)", - default_value = 0 - ) - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - - handler.add_method( - "get_eps2", - (), - (nbody_system.length * nbody_system.length, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_eps2", - (nbody_system.length * nbody_system.length, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_timestep_parameter", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_timestep_parameter", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_timestep", - (), - (nbody_system.time, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_timestep", - (nbody_system.time, ), - (handler.ERROR_CODE,) - ) - - - handler.add_method( - "get_inttype_parameter", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_inttype_parameter", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - self.stopping_conditions.define_methods(handler) - - def define_particle_sets(self, handler): - GravitationalDynamics.define_particle_sets(self, handler) - self.stopping_conditions.define_particle_set(handler) - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - - handler.add_method('RUN', 'get_kinetic_energy') - handler.add_method('RUN', 'get_potential_energy') - - self.stopping_conditions.define_state(handler) +Huayno = Huayno diff --git a/src/amuse/community/huayno/src/Makefile b/src/amuse/community/huayno/src/Makefile deleted file mode 100644 index 6aa244b3ba..0000000000 --- a/src/amuse/community/huayno/src/Makefile +++ /dev/null @@ -1,55 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPICXX ?= mpicxx -MPICC ?= mpicc - -OPENMP_CFLAGS?= -fopenmp - -ifneq (,$(findstring xlc, $(notdir $(CC)))) -CFLAGS += -qlanglvl=extc99 -else -CFLAGS += -std=gnu99 -endif -LIBS += -lm -#~ INCLUDE = - -AR = ar ruv -RANLIB = ranlib -RM = rm - -#--------------------------------------------- - -OBJS = evolve.o evolve_shared.o evolve_sf.o evolve_cc.o \ - evolve_ok.o evolve_kepler.o universal_variable_kepler.o evolve_bs.o \ - evolve_shared_collisions.o evolve_error_control.o simple_map.o simple_hash.o - -all: libhuayno.a - -clean: - rm -f *.o *.bck *.pyc *.clh - -distclean: clean - -libhuayno.a: $(OBJS) - $(RM) -f $@ - $(AR) $@ $(OBJS) - $(RANLIB) $@ - -libhuayno_cl.a: evolve_kern.clh $(OBJS) evolve_cl.o - $(RM) -f $@ - $(AR) $@ $(OBJS) evolve_cl.o - $(RANLIB) $@ - -.cc.o: $< - $(CXX) $(CXXFLAGS) $(SC_FLAGS) $(INCLUDE) -c -o $@ $< - -.c.o: $< - $(CC) $(CFLAGS) $(SC_FLAGS) $(INCLUDE) -c -o $@ $< - -%.clh: %.cl - awk 'BEGIN{print "const char *srcstr=" } {if(substr($$0,length($0))=="\\"){$$0=$$0"\\"};print "\""$$0"\\n\""} END{print ";"}' $< > $@ diff --git a/src/amuse/community/kepler/Makefile b/src/amuse/community/kepler/Makefile deleted file mode 100644 index 1e57946623..0000000000 --- a/src/amuse/community/kepler/Makefile +++ /dev/null @@ -1,51 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -# Makefile to build the worker code. First draft was auto-generated; -# subsequent versions are hand-coded, so save a copy. Note that -# all compiles must use MPICXX, not CXX. - -ALL = kepler_worker -OPT = # -O4 don't use O4 it is not defined on normal gcc, but has special meaning on LLVM/clang gcc - -AM_LIBS = -L$(AMUSE_DIR)/lib/amuse_mpi -lamuse_mpi -AM_CFLAGS = -I$(AMUSE_DIR)/lib/amuse_mpi - -MPICXX ?= mpicxx - -CFLAGS += $(OPT) -Isrc -CXXFLAGS += $(CFLAGS) -LDFLAGS += -lm $(MUSE_LD_FLAGS) - -OBJS = interface.o - -CODELIB = src/libkepler.a - - -all: $(ALL) - -$(CODELIB): - make -C src all CXX='$(MPICXX)' - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py KeplerInterface -o $@ - -interface.h: interface.py - $(CODE_GENERATOR) --type=h interface.py KeplerInterface -o $@ - -kepler_worker: worker_code.cc interface.h $(CODELIB) $(OBJS) - $(MPICXX) $(CXXFLAGS) $(LDFLAGS) worker_code.cc $(OBJS) $(CODELIB) -o $@ $(LIBS) - -%.o: %.cc - $(MPICXX) $(CXXFLAGS) -c -o $@ $< - -clean: - $(RM) -r -f *.so *.dSYM *.o *.pyc worker_code.cc interface.h - $(RM) -f *~ kepler_worker worker_code.cc kepler_worker_sockets worker_code-sockets.cc - make -C src clean - -distclean: clean diff --git a/src/amuse/community/kepler/interface.cc b/src/amuse/community/kepler/interface.cc deleted file mode 100644 index e65e849f13..0000000000 --- a/src/amuse/community/kepler/interface.cc +++ /dev/null @@ -1,447 +0,0 @@ -#include "stdinc.h" -#include "kepler.h" -#include "interface.h" - -static kepler *k; - -int initialize_code() -{ - if (k) delete k; - k = new kepler; - if (!k) return -1; - return 0; -} - -int commit_parameters() -{ - return 0; -} - -int recommit_parameters() -{ - return 0; -} - -int cleanup_code() -{ - return 0; -} - -int initialize_from_dyn(double mass, - double x, double y, double z, - double vx, double vy, double vz, - double time) -{ - k->set_time(time); - k->set_total_mass(mass); - k->set_rel_pos(vec(x,y,z)); - k->set_rel_vel(vec(vx,vy,vz)); - k->initialize_from_pos_and_vel(); - return 0; -} - -int initialize_from_elements(double mass, double semi, double ecc, - double mean_anomaly, double time, - double periastron, int random_orientation) -{ - // Standard orbit will be in the x-y plane, with long axis along - // x. However, we can set the orientation separately, before or - // after calling this function. The code here is based on that - // found in Starlab::make_standard_kepler(). The mean anomaly on - // entry is usually taken to be 0 (i.e. periapsis) at the - // specified time (default 0), unless the orbit is linear. - // - // Note that ecc = 1 is a special case that requires periastron - // also to be set. In that case, the sign of semi determines - // whether the orbit is bound or unbound. - - k->set_time(time); - k->set_total_mass(mass); - k->set_semi_major_axis(semi); - k->set_eccentricity(ecc); - k->set_periastron(periastron); - k->set_mean_anomaly(mean_anomaly); - - if (random_orientation) - set_random_orientation(*k, 0); - - k->initialize_from_shape_and_phase(); - - return 0; -} - -int transform_to_time(double time) -{ - k->transform_to_time(time); - return 0; -} - -// All advance/return functions should check the allowability of the -// command and return the appropriate status. The kepler functions -// will produce warning messages and do something, but won't return an -// error indicator. - -int advance_to_radius(double radius) -{ - k->advance_to_radius(radius); - return 0; -} - -int return_to_radius(double radius) -{ - k->return_to_radius(radius); - return 0; -} - -int advance_to_periastron() -{ - k->advance_to_periastron(); - return 0; -} - -int advance_to_apastron() -{ - k->advance_to_apastron(); - return 0; -} - -int return_to_periastron() -{ - k->return_to_periastron(); - return 0; -} - -int return_to_apastron() -{ - k->return_to_apastron(); - return 0; -} - -int get_total_mass(double * mass) -{ - *mass = k->get_total_mass(); - return 0; -} - -int get_time(double * time) -{ - *time = k->get_time(); - return 0; -} - -int get_period(double * period) -{ - *period = k->get_period(); - return 0; -} - -int get_elements(double * semi, double * ecc) -{ - *semi = k->get_semi_major_axis(); - *ecc = k->get_eccentricity(); - return 0; -} - -int get_integrals(double * energy, double * angular_momentum) -{ - *energy = k->get_energy(); - *angular_momentum = k->get_angular_momentum(); - return 0; -} - -int get_separation_vector(double * x, double * y, double * z) -{ - vec r = k->get_rel_pos(); - *x = r[0]; - *y = r[1]; - *z = r[2]; - return 0; -} - -int get_separation(double * r) -{ - *r = k->get_separation(); - return 0; -} - -int set_periastron(double p) -{ - k->set_periastron(p); - return 0; -} - -int get_periastron(double * p) -{ - *p = k->get_periastron(); - return 0; -} - -int get_apastron(double * a) -{ - *a = k->get_apastron(); - return 0; -} - -int get_velocity_vector(double * vx, double * vy, double * vz) -{ - vec v = k->get_rel_vel(); - *vx = v[0]; - *vy = v[1]; - *vz = v[2]; - return 0; -} - -int get_angles(double * mean_anomaly, double * true_anomaly) -{ - *mean_anomaly = k->get_mean_anomaly(); - *true_anomaly = k->get_true_anomaly(); - return 0; -} - -// Remains TBD if this is actually the best way to handle orbit orientation. - -#define TOL 1.e-10 - -int set_longitudinal_unit_vector(double x, double y, double z) -{ - vec l = k->get_longitudinal_unit_vector(); - vec t = k->get_transverse_unit_vector(); - vec n = k->get_normal_unit_vector(); - real r = sqrt(x*x+y*y+z*z); - if (r <= 0) return -1; - l = vec(x,y,z)/r; - //if (fabs(l*n) < TOL*abs(l)*abs(n)) t = n^l; // no side effect - k->set_orientation(l, t, n); - return 0; -} - -int set_transverse_unit_vector(double x, double y, double z) -{ - vec l = k->get_longitudinal_unit_vector(); - vec t = k->get_transverse_unit_vector(); - vec n = k->get_normal_unit_vector(); - real r = sqrt(x*x+y*y+z*z); - if (r <= 0) return -1; - t = vec(x,y,z)/r; - //if (fabs(t*n) < TOL*abs(t)*abs(n)) t = n^t; // no side effect - k->set_orientation(l, t, n); - return 0; -} - -int set_normal_unit_vector(double x, double y, double z) -{ - vec l = k->get_longitudinal_unit_vector(); - vec t = k->get_transverse_unit_vector(); - vec n = k->get_normal_unit_vector(); - real r = sqrt(x*x+y*y+z*z); - if (r <= 0) return -1; - n = vec(x,y,z)/r; - //if (fabs(l*n) < TOL*abs(l)*abs(n)) t = n^l; // no side effect - k->set_orientation(l, t, n); - return 0; -} - -int get_longitudinal_unit_vector(double * x, double * y, double * z) -{ - vec l = k->get_longitudinal_unit_vector(); - *x = l[0]; - *y = l[1]; - *z = l[2]; - return 0; -} - -int get_transverse_unit_vector(double * x, double * y, double * z) -{ - vec t = k->get_transverse_unit_vector(); - *x = t[0]; - *y = t[1]; - *z = t[2]; - return 0; -} - -int get_normal_unit_vector(double * x, double * y, double * z) -{ - vec n = k->get_normal_unit_vector(); - *x = n[0]; - *y = n[1]; - *z = n[2]; - return 0; -} - -int print_all() -{ - k->print_all(); - return 0; -} - -//-------------------------------------------------------------------- -// From Amanda Benson: Extra code to initialize a 3-body encounter, -// which is too slow in python relative to the cost of a typical -// 3-body scattering. - -static void set_inner_orbit(real ecc) -{ - real mass = 1; // standard assumption from - real semi = 1; // Hut & Bahcall 1983 - k->align_with_axes(1); - real mean_an = 2*M_PI*randinter(0, 1); - initialize_from_elements(mass, semi, ecc, mean_an, 0.0, 0.0, 0); - cout << "inner "; PRC(semi); PRL(ecc); -} - -static void set_outer_orbit(real m, real M, - real v_inf, real impact_parameter, - int planar) -{ - real mtotal = 1 + M; - - // Multiply the incoming velocity by the critical value (see Hut & - // Bahcall 1983). - - v_inf *= sqrt((1-m)*m*mtotal/M); - real energy3 = 0.5*v_inf*v_inf; - cout << "m1, m2, m3 = " << 1-m << " " << m << " " << M << endl << flush; - PRC(v_inf); PRC(energy3); PRL(impact_parameter); - - real semi, ang_mom3, ecc, periastron; - if (energy3 > 0) { - semi = -0.5*mtotal/energy3; - ang_mom3 = impact_parameter*v_inf; - ecc = sqrt(1+2*energy3*pow(ang_mom3/mtotal, 2)); - periastron = -semi*fmax(ecc-1, 0.0); // not used - } else { - semi = 0; // not used - ecc = 1; - periastron = impact_parameter; - } - - // Orientation: - - vec longitudinal(1,0,0), transverse(0,1,0), normal(0,0,1); - if (planar < 0) { - transverse = -transverse; - normal = -normal; - } else if (planar == 0) { - real costheta = randinter(-1, 1); - real sintheta = sqrt(fmax(0., 1-pow(costheta, 2))); - real phi = 2*M_PI*randinter(-1, 1); - longitudinal = vec(sintheta*cos(phi), sintheta*sin(phi), costheta); - vec temp(1,0,0); - if (abs(longitudinal[0]) > 0.5) temp = vec(0,1,0); - transverse = longitudinal^temp; - transverse /= abs(transverse); - normal = longitudinal^transverse; - - real psi = randinter(0,2*M_PI); - real cospsi = cos(psi); - real sinpsi = sin(psi); - normal = cospsi*normal + sinpsi*transverse; - transverse = normal^longitudinal; - } - k->set_orientation(longitudinal, transverse, normal); - - real time = 0; - real mean_anomaly = 0; - if (periastron == 0) mean_anomaly = -1.e-3; - PRL(mean_anomaly); - - cout << "outer "; PRC(semi); PRL(ecc); - initialize_from_elements(mtotal, semi, ecc, mean_anomaly, - time, periastron, 0); - PRL(k->get_normal_unit_vector()); - PRL(k->get_periastron()); - // k->print_all(); -} - -int set_random(int seed) -{ - // cout << "set_random: seed = " << seed << endl; - srandinter(seed, 0); // kepler built-in - return 0; -} - -int get_random(int *seed) -{ - *seed = getrandinter(); - return 0; -} - -// Binary scattering in standard (Hut & Bahcall 1983) units. Binary -// mass = 1, semimajor axis = 1, t = 0 at pericenter if appropriate. - -int make_binary_scattering(real m, real ecc, - real M, real v_inf, real impact_parameter, - real gamma, int planar, - double * time, - double * m1, double * m2, double * m3, - double * x1, double * x2, double * x3, - double * y1, double * y2, double * y3, - double * z1, double * z2, double * z3, - double * vx1, double * vx2, double * vx3, - double * vy1, double * vy2, double * vy3, - double * vz1, double * vz2, double * vz3) -{ - // Inner orbit (1,2). - - *m1 = 1 - m; - *m2 = m; - - set_inner_orbit(ecc); - vec rel_pos = k->get_rel_pos(); - vec rel_vel = k->get_rel_vel(); - vec pos1 = -m*rel_pos; - vec pos2 = (1-m)*rel_pos; - vec vel1 = -m*rel_vel; - vec vel2 = (1-m)*rel_vel; - - // Outer orbit ((1,2),3). - - *m3 = M; - - set_outer_orbit(m, M, v_inf, impact_parameter, planar); - // cout << "----------" << endl << flush; - // k->print_all(); - k->return_to_radius(pow(gamma/M, -1./3)); - // cout << "----------" << endl << flush; - // k->print_all(); - // cout << "----------" << endl << flush; - *time = k->get_time(); - - rel_pos = k->get_rel_pos(); - rel_vel = k->get_rel_vel(); - real f = M/(1+M); - vec pos12 = -f*rel_pos, pos3 = (1-f)*rel_pos; - vec vel12 = -f*rel_vel, vel3 = (1-f)*rel_vel; - - PRC(k->get_separation()); PRL(k->get_time()); - - pos1 += pos12; - pos2 += pos12; - vel1 += vel12; - vel2 += vel12; - - PRL(*time); - - // Remaining return arguments: - - *x1 = pos1[0]; - *x2 = pos2[0]; - *x3 = pos3[0]; - *y1 = pos1[1]; - *y2 = pos2[1]; - *y3 = pos3[1]; - *z1 = pos1[2]; - *z2 = pos2[2]; - *z3 = pos3[2]; - *vx1 = vel1[0]; - *vx2 = vel2[0]; - *vx3 = vel3[0]; - *vy1 = vel1[1]; - *vy2 = vel2[1]; - *vy3 = vel3[1]; - *vz1 = vel1[2]; - *vz2 = vel2[2]; - *vz3 = vel3[2]; - - return 0; -} diff --git a/src/amuse/community/kepler/interface.py b/src/amuse/community/kepler/interface.py index c3cff7110a..bcf65281ff 100644 --- a/src/amuse/community/kepler/interface.py +++ b/src/amuse/community/kepler/interface.py @@ -1,724 +1,7 @@ -from amuse.community import * -from amuse.community.interface.common import CommonCodeInterface, CommonCode -from amuse.support.options import option -from amuse.units import units -import os.path +from amuse.support.import_helper import load_code -class KeplerInterface(CodeInterface, - CommonCodeInterface): - """ - Kepler orbit manipulation functions, imported from Starlab. - Initialize an orbit from mass, pos, and vel, or mass, semi-major - axis and eccentricity, and allow the user to manipulate the - resulting structure. Most Starlab functionality is currently - exposed. - """ - - # Interface specification. - - include_headers = ['interface.h'] - - def __init__(self, **options): - CodeInterface.__init__(self, - name_of_the_worker = "kepler_worker", - **options) - - @legacy_function - def initialize_from_dyn(): - """ - Initialize a new kepler system. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('mass', dtype='float64', direction=function.IN, - unit = nbody_system.mass) - function.addParameter('x', dtype='float64', direction=function.IN, - unit = nbody_system.length) - function.addParameter('y', dtype='float64', direction=function.IN, - unit = nbody_system.length) - function.addParameter('z', dtype='float64', direction=function.IN, - unit = nbody_system.length) - function.addParameter('vx', dtype='float64', direction=function.IN, - unit = nbody_system.speed) - function.addParameter('vy', dtype='float64', direction=function.IN, - unit = nbody_system.speed) - function.addParameter('vz', dtype='float64', direction=function.IN, - unit = nbody_system.speed) - function.addParameter('time', dtype='float64', direction=function.IN, - default = 0, unit = nbody_system.time) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - new kepler was created - -1 - ERROR - kepler could not be created""" - return function - - @legacy_function - def initialize_from_elements(): - """ - Initialize a new kepler system. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('mass', dtype='float64', direction=function.IN, - unit = nbody_system.mass) - function.addParameter('semi', dtype='float64', direction=function.IN, - unit = nbody_system.length) - function.addParameter('ecc', dtype='float64', direction=function.IN, - unit = NO_UNIT) - function.addParameter('mean_anomaly', - dtype='float64', direction=function.IN, - default = 0, unit = NO_UNIT) - function.addParameter('time', dtype='float64', direction=function.IN, - default = 0, unit = nbody_system.time) - function.addParameter('periastron', - dtype='float64', direction=function.IN, - default = 0, unit = nbody_system.length) - function.addParameter('random_orientation', - dtype='int32', direction=function.IN, - default = 0, unit = NO_UNIT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - new kepler was created - -1 - ERROR - kepler could not be created""" - return function - - @legacy_function - def transform_to_time(): - """ - Transform the kepler system to the specified time. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('time', dtype='float64', direction=function.IN, - unit = nbody_system.time) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - transform to time OK - -1 - ERROR - could not transform to time""" - return function - - @legacy_function - def advance_to_radius(): - """ - Evolve the kepler system forward in time to the specified radius. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('radius', dtype='float64', direction=function.IN, - unit = nbody_system.length) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - advance to radius OK - -1 - ERROR - could not advance to radius""" - return function - - @legacy_function - def return_to_radius(): - """ - Evolve the kepler system backward in time to the specified radius. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('radius', dtype='float64', direction=function.IN, - unit = nbody_system.length) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - return to radius OK - -1 - ERROR - could not return to radius""" - return function - - @legacy_function - def advance_to_periastron(): - """ - Evolve the kepler system forward in time to the next periastron. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - advance to periastron OK - -1 - ERROR - could not advance to periastron""" - return function - - @legacy_function - def advance_to_apastron(): - """ - Evolve the kepler system forward in time to the next apastron. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - advance to apastron OK - -1 - ERROR - could not advance to apastron""" - return function - - @legacy_function - def return_to_periastron(): - """ - Evolve the kepler system backward in time to the previous periastron. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - return to periastron OK - -1 - ERROR - could not return to periastron""" - return function - - @legacy_function - def return_to_apastron(): - """ - Evolve the kepler system backward in time to the previous apastron. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - return to apastron OK - -1 - ERROR - could not return to apastron""" - return function - - @legacy_function - def get_total_mass(): - """ - Return the total mass (remind the user) of the system. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('mass', dtype='float64', direction=function.OUT, - unit = nbody_system.mass) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - get mass OK - -1 - ERROR - could not get mass""" - return function - - @legacy_function - def get_time(): - """ - Return the current time of the system. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('time', dtype='float64', direction=function.OUT, - unit = nbody_system.time) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - get time OK - -1 - ERROR - could not get time""" - return function - - @legacy_function - def get_period(): - """ - Return the periodof the system. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('period', dtype='float64', direction=function.OUT, - unit = nbody_system.time) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - get period OK - -1 - ERROR - could not get period""" - return function - - @legacy_function - def get_elements(): - """ - Return the orbital elements (a,e) of the system. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('semi', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.addParameter('ecc', dtype='float64', direction=function.OUT, - unit = NO_UNIT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - get elements OK - -1 - ERROR - could not get elements""" - return function - - @legacy_function - def get_integrals(): - """ - Return the total energy and angular momentum of the system. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('energy', dtype='float64', direction=function.OUT, - unit = nbody_system.speed*nbody_system.speed) - function.addParameter('angular_momentum', - dtype='float64', direction=function.OUT, - unit = nbody_system.length*nbody_system.speed) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - get integrals OK - -1 - ERROR - could not get integrals""" - return function - - @legacy_function - def get_separation_vector(): - """ - Return the current separation vector (x,y,z) of the system. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('x', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.addParameter('y', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.addParameter('z', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - get separation vector OK - -1 - ERROR - could not get separation vector""" - return function - - @legacy_function - def get_separation(): - """ - Return the current separation r of the system. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('r', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - get separation OK - -1 - ERROR - could not get separation""" - return function - - @legacy_function - def set_periastron(): - """ - Set the current periastron of the system (initialization only). - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('peri', dtype='float64', direction=function.IN, - unit = nbody_system.length) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - set periastron OK - -1 - ERROR - could not set periastron""" - return function - - @legacy_function - def get_periastron(): - """ - Return the current periastron of the system. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('peri', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - get periastron OK - -1 - ERROR - could not get periastron""" - return function - - @legacy_function - def get_apastron(): - """ - Return the current apastron of the system. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('apo', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - get apastron OK - -1 - ERROR - could not get apastron""" - return function - - @legacy_function - def get_velocity_vector(): - """ - Return the current relative velocity vector (x,y,z) of the system. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('vx', dtype='float64', direction=function.OUT, - unit = nbody_system.speed) - function.addParameter('vy', dtype='float64', direction=function.OUT, - unit = nbody_system.speed) - function.addParameter('vz', dtype='float64', direction=function.OUT, - unit = nbody_system.speed) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - get velocity vector OK - -1 - ERROR - could not get velocity vector""" - return function - - @legacy_function - def get_angles(): - """ - Return the current mean and true anomalies of the system. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('true_anomaly', - dtype='float64', direction=function.OUT) - function.addParameter('mean_anomaly', - dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - get angles OK - -1 - ERROR - could not get angles""" - return function - - @legacy_function - def set_longitudinal_unit_vector(): - """ - Set the longitudinal unit vector of the system. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('vx', dtype='float64', direction=function.IN) - function.addParameter('vy', dtype='float64', direction=function.IN) - function.addParameter('vz', dtype='float64', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - set vector OK - -1 - ERROR - could not set vector""" - return function - - @legacy_function - def set_normal_unit_vector(): - """ - Set the normal unit vector of the system. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('vx', dtype='float64', direction=function.IN) - function.addParameter('vy', dtype='float64', direction=function.IN) - function.addParameter('vz', dtype='float64', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - set vector OK - -1 - ERROR - could not set vector""" - return function - - @legacy_function - def get_longitudinal_unit_vector(): - """ - Return the longitudinal unit vector of the system. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('vx', dtype='float64', direction=function.OUT) - function.addParameter('vy', dtype='float64', direction=function.OUT) - function.addParameter('vz', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - get vector OK - -1 - ERROR - could not get vector""" - return function - - @legacy_function - def get_transverse_unit_vector(): - """ - Return the transverse unit vector of the system. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('vx', dtype='float64', direction=function.OUT) - function.addParameter('vy', dtype='float64', direction=function.OUT) - function.addParameter('vz', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - get vector OK - -1 - ERROR - could not get vector""" - return function - - @legacy_function - def set_transverse_unit_vector(): - """ - Set the transverse unit vector of the system (tangent on longitudal uv). - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('vx', dtype='float64', direction=function.IN) - function.addParameter('vy', dtype='float64', direction=function.IN) - function.addParameter('vz', dtype='float64', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - set vector OK - -1 - ERROR - could not set vector""" - return function - - @legacy_function - def get_normal_unit_vector(): - """ - Return the normal unit vector of the system. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('vx', dtype='float64', direction=function.OUT) - function.addParameter('vy', dtype='float64', direction=function.OUT) - function.addParameter('vz', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - get vector OK - -1 - ERROR - could not get vector""" - return function - - @legacy_function - def print_all(): - """ - Print a kepler system. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - kepler was printed - -1 - ERROR - kepler could not be printed""" - return function - - @legacy_function - def set_random(): - """ - Set the random seed for kepler functions. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('seed', dtype='int32', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - seed was initialized - -1 - ERROR - error occurred""" - return function - - @legacy_function - def get_random(): - """ - Return the random seed for kepler functions. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - function.addParameter('seed', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - seed was returned - -1 - ERROR - error occurred""" - return function - - @legacy_function - def make_binary_scattering(): - """ - Return a three-body scattering configuration (much faster than python). - """ - function = LegacyFunctionSpecification() - function.can_handle_array = False - - function.addParameter('m', dtype='float64', direction=function.IN, - unit = nbody_system.mass) - function.addParameter('ecc', dtype='float64', direction=function.IN, - unit = NO_UNIT) - function.addParameter('M', dtype='float64', direction=function.IN, - unit = nbody_system.mass) - function.addParameter('v_inf', dtype='float64', direction=function.IN, - unit = nbody_system.speed) - function.addParameter('impact_parameter', dtype='float64', - direction=function.IN, - unit = nbody_system.length) - function.addParameter('gamma', dtype='float64', direction=function.IN, - unit = NO_UNIT) - function.addParameter('planar', dtype='int32', direction=function.IN, - unit = NO_UNIT) - - function.addParameter('time', dtype='float64', direction=function.OUT, - unit = nbody_system.time) - function.addParameter('m1', dtype='float64', direction=function.OUT, - unit = nbody_system.mass) - function.addParameter('m2', dtype='float64', direction=function.OUT, - unit = nbody_system.mass) - function.addParameter('m3', dtype='float64', direction=function.OUT, - unit = nbody_system.mass) - function.addParameter('x1', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.addParameter('x2', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.addParameter('x3', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.addParameter('y1', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.addParameter('y2', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.addParameter('y3', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.addParameter('z1', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.addParameter('z2', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.addParameter('z3', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.addParameter('vx1', dtype='float64', direction=function.OUT, - unit = nbody_system.speed) - function.addParameter('vx2', dtype='float64', direction=function.OUT, - unit = nbody_system.speed) - function.addParameter('vx3', dtype='float64', direction=function.OUT, - unit = nbody_system.speed) - function.addParameter('vy1', dtype='float64', direction=function.OUT, - unit = nbody_system.speed) - function.addParameter('vy2', dtype='float64', direction=function.OUT, - unit = nbody_system.speed) - function.addParameter('vy3', dtype='float64', direction=function.OUT, - unit = nbody_system.speed) - function.addParameter('vz1', dtype='float64', direction=function.OUT, - unit = nbody_system.speed) - function.addParameter('vz2', dtype='float64', direction=function.OUT, - unit = nbody_system.speed) - function.addParameter('vz3', dtype='float64', direction=function.OUT, - unit = nbody_system.speed) - - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - legal scattering configuration - -1 - ERROR - problem""" - return function - -class Kepler(CommonCode): - - __interface__ = KeplerInterface - - - def __init__(self, unit_converter = None, **options): - self.unit_converter = unit_converter - - CommonCode.__init__(self, - self.__interface__(**options), - **options) - - def define_converter(self, handler): - if not self.unit_converter is None: - handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) - - def define_methods(self, handler): - CommonCode.define_methods(self, handler) - - def initialize_from_particles(self, particles): - if not len(particles) == 2: - raise Exception('The kepler code can only be initialized from a particle set with 2 particles') - - total_mass = particles[0].mass + particles[1].mass - rel_position = particles[0].position - particles[1].position - rel_velocity = particles[0].velocity - particles[1].velocity - self.center_of_mass_position = particles.center_of_mass() - self.center_of_mass_velocity = particles.center_of_mass_velocity() - self.initialize_from_dyn( - total_mass, - rel_position[0],rel_position[1],rel_position[2], - rel_velocity[0],rel_velocity[1],rel_velocity[2] - ) - self.particles = particles.copy() - - - def define_state(self, handler): - CommonCode.define_state(self, handler) - for method_name in [ - 'initialize_from_dyn', - 'initialize_from_elements', - 'transform_to_time', - 'advance_to_radius', - 'return_to_radius', - 'advance_to_periastron', - 'advance_to_apastron', - 'return_to_periastron', - 'return_to_apastron', - 'get_total_mass', - 'get_time', - 'get_period', - 'get_elements', - 'get_integrals', - 'get_separation_vector', - 'get_separation', - 'set_periastron', - 'get_periastron', - 'get_apastron', - 'get_velocity_vector', - 'get_angles', - 'set_longitudinal_unit_vector', - 'set_normal_unit_vector', - 'get_longitudinal_unit_vector', - 'get_transverse_unit_vector', - 'set_transverse_unit_vector', - 'get_normal_unit_vector', - 'print_all', - 'set_random', - 'get_random', - 'make_binary_scattering']: - handler.add_method('!UNINITIALIZED!END', method_name) - +KeplerInterface = load_code("kepler", "KeplerInterface") +Kepler = load_code("kepler", "Kepler") +Kepler = Kepler diff --git a/src/amuse/community/kepler/src/Makefile b/src/amuse/community/kepler/src/Makefile deleted file mode 100644 index 18970f1f3c..0000000000 --- a/src/amuse/community/kepler/src/Makefile +++ /dev/null @@ -1,49 +0,0 @@ - -# Makefile to build the libkepler.a library. - -# Optimization may cause failure on some systems. Replace by -O0 in -# that case. - -AMUSE_DIR?=../../../../.. -OPT = # -O4 don't use O4 but O2 or something - -GPU = -DGPU -CXX ?= mpicxx -MPICXX ?= mpicxx -CFLAGS += $(OPT) -CXXFLAGS += $(CFLAGS) - -CODELIB = libkepler.a - -CODEOBJS = kepler-lib.o hdyn.o util.o - -AR = ar ruv -RANLIB = ranlib -RM = rm - - -%.o : %.cc - $(CXX) $(CXXFLAGS) -c -o $@ $^ - -all: $(CODELIB) - -$(CODELIB): $(CODEOBJS) - $(RM) -f $@ - $(AR) $@ $(CODEOBJS) - $(RANLIB) $@ - -.cc.o: $< - $(CXX) $(CXXFLAGS) -c -o $@ $< - -#----------------------------------------------------------------------- - -kepler-lib.o: kepler.cc - $(MPICXX) $(CFLAGS) -c kepler.cc -o kepler-lib.o - -#----------------------------------------------------------------------- - -tar: - tar czf kepler.tgz Makefile.kepler *.h *.cc - -clean: - $(RM) -r -f *.o *~ *.tgz *.a diff --git a/src/amuse/community/kepler/src/hdyn.cc b/src/amuse/community/kepler/src/hdyn.cc deleted file mode 120000 index 54a68c63a7..0000000000 --- a/src/amuse/community/kepler/src/hdyn.cc +++ /dev/null @@ -1 +0,0 @@ -../../ph4/src/hdyn.cc \ No newline at end of file diff --git a/src/amuse/community/kepler/src/hdyn.h b/src/amuse/community/kepler/src/hdyn.h deleted file mode 120000 index 79d3d5418d..0000000000 --- a/src/amuse/community/kepler/src/hdyn.h +++ /dev/null @@ -1 +0,0 @@ -../../ph4/src/hdyn.h \ No newline at end of file diff --git a/src/amuse/community/kepler/src/kepler.cc b/src/amuse/community/kepler/src/kepler.cc deleted file mode 120000 index 679b97c558..0000000000 --- a/src/amuse/community/kepler/src/kepler.cc +++ /dev/null @@ -1 +0,0 @@ -../../ph4/src/kepler.cc \ No newline at end of file diff --git a/src/amuse/community/kepler/src/kepler.h b/src/amuse/community/kepler/src/kepler.h deleted file mode 120000 index 4b303f9bc3..0000000000 --- a/src/amuse/community/kepler/src/kepler.h +++ /dev/null @@ -1 +0,0 @@ -../../ph4/src/kepler.h \ No newline at end of file diff --git a/src/amuse/community/kepler/src/stdinc.h b/src/amuse/community/kepler/src/stdinc.h deleted file mode 120000 index 83c650e2ec..0000000000 --- a/src/amuse/community/kepler/src/stdinc.h +++ /dev/null @@ -1 +0,0 @@ -../../ph4/src/stdinc.h \ No newline at end of file diff --git a/src/amuse/community/kepler/src/util.cc b/src/amuse/community/kepler/src/util.cc deleted file mode 120000 index 1c35ed6290..0000000000 --- a/src/amuse/community/kepler/src/util.cc +++ /dev/null @@ -1 +0,0 @@ -../../ph4/src/util.cc \ No newline at end of file diff --git a/src/amuse/community/kepler/src/vec.h b/src/amuse/community/kepler/src/vec.h deleted file mode 120000 index 9717a34af5..0000000000 --- a/src/amuse/community/kepler/src/vec.h +++ /dev/null @@ -1 +0,0 @@ -../../ph4/src/vec.h \ No newline at end of file diff --git a/src/amuse/community/kepler/test_kepler.py b/src/amuse/community/kepler/test_kepler.py deleted file mode 100644 index 273f288239..0000000000 --- a/src/amuse/community/kepler/test_kepler.py +++ /dev/null @@ -1,92 +0,0 @@ -import sys -import unittest -import numpy -import random -import collections -import getopt -import os - -from amuse.units import nbody_system -from amuse.units import units -from amuse.community.kepler.interface import Kepler - -from amuse import datamodel -from amuse.datamodel import particle_attributes -from amuse.rfi.core import is_mpd_running - -def test1(): - mass = 1 | nbody_system.mass - semi = 1 | nbody_system.length - ecc = 0.5 - time = 5.0 | nbody_system.time - run_kepler(mass, semi, ecc, time) - -def run_kepler(mass, semi, ecc, time): - - kep = Kepler(redirection='none') - kep.initialize_code() - - kep.set_longitudinal_unit_vector(1.0, 1.0, - 0.0) - kep.initialize_from_elements(mass, semi, ecc) - a,e = kep.get_elements() - p = kep.get_periastron() - print("elements:", a, e, p) - kep.transform_to_time(time) - x,y,z = kep.get_separation_vector() - print("separation:", x,y,z) - x,y,z = kep.get_longitudinal_unit_vector() - print("longitudinal:", x,y,z) - - pos = [1, 0, 0] | nbody_system.length - vel = [0, 0.5, 0] | nbody_system.speed - kep.initialize_from_dyn(mass, pos[0], pos[1], pos[2], - vel[0], vel[1], vel[2]) - a,e = kep.get_elements() - p = kep.get_periastron() - print("elements:", a, e, p) - kep.transform_to_time(time) - x,y,z = kep.get_separation_vector() - print("separation:", x,y,z) - x,y,z = kep.get_velocity_vector() - print("velocity:", x,y,z) - x,y,z = kep.get_longitudinal_unit_vector() - print("longitudinal:", x,y,z) - - kep.set_random(42) - kep.make_binary_scattering(0.5 | nbody_system.mass, - 0.5, - 0.5 | nbody_system.mass, - 0.0 | nbody_system.speed, - 0.0 | nbody_system.length, - 1.e-6, - 0) - kep.stop() - -if __name__ == '__main__': - - mass = 1 | nbody_system.mass - semi = 1 | nbody_system.length - ecc = 0.5 - time = 5.0 | nbody_system.time - - try: - opts, args = getopt.getopt(sys.argv[1:], "a:e:m:t:") - except getopt.GetoptError as err: - print(str(err)) - sys.exit(1) - - for o, a in opts: - if o == "-a": - semi = float(a) | nbody_system.length - elif o == "-e": - ecc = float(a) - elif o == "-m": - time = float(a) | nbody_system.mass - elif o == "-t": - time = float(a) | nbody_system.time - else: - print("unexpected argument", o) - - assert is_mpd_running() - run_kepler(mass, semi, ecc, time) diff --git a/src/amuse/community/kepler_orbiters/Makefile b/src/amuse/community/kepler_orbiters/Makefile deleted file mode 100644 index ea53ce9b03..0000000000 --- a/src/amuse/community/kepler_orbiters/Makefile +++ /dev/null @@ -1,47 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -# Makefile to build the worker code. First draft was auto-generated; -# subsequent versions are hand-coded, so save a copy. Note that -# all compiles must use MPICXX, not CXX. - -ALL = keplerorbiters_worker -OPT = $(OPENMP_CFLAGS) # -O4 don't use O4 it is not defined on normal gcc, but has special meaning on LLVM/clang gcc -#OPT = - -MPICXX ?= mpicxx - -CFLAGS += $(OPT) -CXXFLAGS += $(CFLAGS) -LDFLAGS += -lm $(MUSE_LD_FLAGS) - -OBJS = interface.o - -CODELIB = src/libkepler.a - - -all: $(ALL) - -$(CODELIB): - make -C src all CXX='$(MPICXX)' - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py KeplerInterface -o $@ - -interface.h: interface.py - $(CODE_GENERATOR) --type=h interface.py KeplerInterface -o $@ - -keplerorbiters_worker: worker_code.cc interface.h $(CODELIB) $(OBJS) - $(MPICXX) $(CXXFLAGS) $(LDFLAGS) worker_code.cc $(OBJS) $(CODELIB) -o $@ $(LIBS) - -%.o: %.cc - $(MPICXX) $(CXXFLAGS) -c -o $@ $< - -clean: - $(RM) -r -f *.so *.dSYM *.o *.pyc worker_code.cc interface.h - $(RM) -f *~ kepler_worker keplerorbiters_worker worker_code.cc worker_code-sockets.cc - make -C src clean diff --git a/src/amuse/community/kepler_orbiters/interface.cc b/src/amuse/community/kepler_orbiters/interface.cc deleted file mode 100644 index 81929d74cb..0000000000 --- a/src/amuse/community/kepler_orbiters/interface.cc +++ /dev/null @@ -1,462 +0,0 @@ -#include -#include - -extern "C" { -#include "src/universal_kepler_solver.h" -} - -extern "C" { -#include "src/universal_variable_kepler.h" -} - -#include "interface.h" - -using namespace std; - - -typedef struct { - double mass; /// mass - double x, y, z; /// position - double vx, vy, vz; /// velocity -} dynamics_state; - -static double simtime; -static map kmap; -static int kcounter=1; - -static double central_mass=0.; -static double central_radius=0.; -static double central_x=0.,central_y=0.,central_z=0.; -static double central_vx=0.,central_vy=0.,central_vz=0.; -static int central_id=-1; - -static double eps2=0; - -static int method=0; - -int initialize_code() -{ - return 0; -} - -int commit_parameters() -{ - return 0; -} - -int commit_particles() -{ - return 0; -} - -int recommit_particles() -{ - return 0; -} - -int synchronize_model() -{ - return 0; -} - -int recommit_parameters() -{ - return 0; -} - -int cleanup_code() -{ - return 0; -} - -int get_acceleration(int particle_identifier, double *ax, double *ay, double *az) { - return -2; // Not implemented -} -int get_potential(int id,double *p){ - return -2; // Not implemented -} - -int set_central_mass(int id, double m) -{ - if(id!=0) return -1; - central_mass=m; - return 0; -} -int get_central_mass(int id, double *m) -{ - if(id!=0) return -1; - *m=central_mass; - return 0; -} - -int set_central_radius(int id, double m) -{ - if(id!=0) return -1; - central_radius=m; - return 0; -} -int get_central_radius(int id, double *m) -{ - if(id!=0) return -1; - *m=central_radius; - return 0; -} - - -int set_central_pos(int id,double x,double y,double z) -{ - if(id!=0) return -1; - central_x=x; - central_y=y; - central_z=z; - return 0; -} -int get_central_pos(int id,double *x,double *y,double *z) -{ - if(id!=0) return -1; - *x=central_x; - *y=central_y; - *z=central_z; - return 0; -} - -int set_central_vel(int id, double vx,double vy,double vz) -{ - if(id!=0) return -1; - central_vx=vx; - central_vy=vy; - central_vz=vz; - return 0; -} -int get_central_vel(int id,double *vx,double *vy,double *vz) -{ - if(id!=0) return -1; - *vx=central_vx; - *vy=central_vy; - *vz=central_vz; - return 0; -} - -int new_central_particle(int *id, double mass, - double x, double y, double z, - double vx, double vy, double vz,double r) -{ - if(central_id!=-1) return -1; - central_id=0; - *id=0; - central_mass=mass; - central_x=x; - central_y=y; - central_z=z; - central_vx=vx; - central_vy=vy; - central_vz=vz; - central_radius=r; - return 0; -} - -int delete_central_particle(int id) -{ - if(id!=0) return -1; - central_id=-1; - return 0; -} - -int set_eps2(double m){ eps2=m;return 0;} -int get_eps2(double *m){ *m=eps2;return 0;} - -int set_method(int m){ method=m;return 0;} -int get_method(int *m){ *m=method;return 0;} - -int get_time_step(double *m){ *m=0.;return 0;} - -int new_particle(int *id, double mass, - double x, double y, double z, - double vx, double vy, double vz,double r) -{ - dynamics_state *k = new dynamics_state; - k->mass=mass; - k->x=x; - k->y=y; - k->z=z; - k->vx=vx; - k->vy=vy; - k->vz=vz; - *id=kcounter++; - kmap.insert(kmap.end(), std::pair( *id, k)); - return 0; -} - -int delete_particle(int id) -{ - map::iterator iter = kmap.find(id); - - if (iter != kmap.end()){ - delete (*iter).second; - kmap.erase(iter); - } else { - return -3; - } - return 0; -} - -int get_state(int id, double *m, double *x, double *y, double *z, - double *vx, double *vy, double *vz,double *rad) -{ - map::iterator iter = kmap.find(id); - - if (iter != kmap.end()){ - dynamics_state *k=iter->second; - *m=k->mass; - *x = k->x; - *y = k->y; - *z = k->z; - *vx = k->vx; - *vy = k->vy; - *vz = k->vz; - *rad = 0.; - } else { - return -3; - } - return 0; -} - -int set_state(int id, double m, double x, double y, double z, - double vx, double vy, double vz,double r) -{ - map::iterator iter = kmap.find(id); - if (iter != kmap.end()){ - dynamics_state *k=iter->second; - k->mass=m; - k->x=x; - k->y=y; - k->z=z; - k->vx=vx; - k->vy=vy; - k->vz=vz; - } else { - return -3; - } - return 0; -} - -int set_mass(int id, double m) -{ - map::iterator iter = kmap.find(id); - if (iter != kmap.end()){ - dynamics_state *k=iter->second; - k->mass=m; - } else { - return -3; - } - return 0; -} - -int set_radius(int id, double r) -{ - map::iterator iter = kmap.find(id); - if (iter != kmap.end()){ - } else { - return -3; - } - return 0; -} - -int get_radius(int id, double *r) -{ - map::iterator iter = kmap.find(id); - if (iter != kmap.end()){ - *r=0; - } else { - return -3; - } - return 0; -} - -int set_position(int id, double x, double y, double z) -{ - map::iterator iter = kmap.find(id); - if (iter != kmap.end()){ - dynamics_state *k=iter->second; - k->x=x; - k->y=y; - k->z=z; - } else { - return -3; - } - return 0; -} - -int set_velocity(int id,double vx, double vy, double vz) -{ - map::iterator iter = kmap.find(id); - if (iter != kmap.end()){ - dynamics_state *k=iter->second; - k->vx=vx; - k->vy=vy; - k->vz=vz; - } else { - return -3; - } - return 0; -} - - - -int evolve_model(double tend) -{ - map::iterator iter; - int *keys= new int[kmap.size()]; - int i=0; - for(iter=kmap.begin(); iter!=kmap.end(); iter++) - { - keys[i]=iter->first; - i++; - } - - double new_x=central_x; - double new_y=central_y; - double new_z=central_z; - - new_x+=central_vx*(tend-simtime); - new_y+=central_vy*(tend-simtime); - new_z+=central_vz*(tend-simtime); - -#pragma omp parallel for - for(i=0;ix; - pos0[1] = d->y; - pos0[2] = d->z; - - vel0[0] = d->vx; - vel0[1] = d->vy; - vel0[2] = d->vz; - - dt = tend-simtime; - mu = central_mass + d->mass; - - if(method) - universal_variable_kepler_solver(dt, mu, pos0, vel0, pos, vel); - else - universal_kepler_solver(dt, mu, eps2, pos0[0], pos0[1], pos0[2], vel0[0], vel0[1], vel0[2], - &pos[0], &pos[1], &pos[2], &vel[0], &vel[1], &vel[2]); - - d->x = pos[0]+new_x; - d->y = pos[1]+new_y; - d->z = pos[2]+new_z; - d->vx = vel[0]+central_vx; - d->vy = vel[1]+central_vy; - d->vz = vel[2]+central_vz; - } - - central_x=new_x; - central_y=new_y; - central_z=new_z; - - simtime=tend; - - delete[] keys; - - return 0; -} - -int get_mass(int id, double *mass) -{ - map::iterator iter = kmap.find(id); - if (iter != kmap.end()){ - dynamics_state *k=iter->second; - *mass=k->mass; - } else { - return -3; - } - return 0; -} - -int get_time(double * t) -{ - *t = simtime; - return 0; -} - -int get_position(int id,double * x, double * y, double * z) -{ - map::iterator iter = kmap.find(id); - if (iter != kmap.end()){ - dynamics_state *k=iter->second; - *x = k->x; - *y = k->y; - *z = k->z; - } else { - return -3; - } - return 0; -} - -int get_velocity(int id, double * vx, double * vy, double * vz) -{ - map::iterator iter = kmap.find(id); - if (iter != kmap.end()){ - dynamics_state *k=iter->second; - *vx = k->vx; - *vy = k->vy; - *vz = k->vz; - } else { - return -3; - } - return 0; -} - - -int get_index_of_first_particle(int *particle_identifier) { - return -2; // Not implemented -} -int get_index_of_next_particle(int particle_identifier, int *next_particle_identifier) { - return -2; // Not implemented -} - -int get_indices_of_colliding_particles(int *index_of_particle1, int *index_of_particle2) { - return -2; // Not implemented -} - -// simulation property getters: -int get_total_mass(double *total_mass) { - return -2; // Not implemented -} -int get_total_radius(double *total_radius) { - return -2; // Not implemented -} - -int set_begin_time(double input) { - simtime=input; - return 0; -} - -int get_begin_time(double * output) { - return -2; // Not implemented -} - -int get_center_of_mass_position(double *x, double *y, double *z){ - return -2; // Not implemented -} -int get_center_of_mass_velocity(double *vx, double *vy, double *vz) { - return -2; // Not implemented -} -int get_kinetic_energy(double *kinetic_energy) { - return -2; // Not implemented -} -int get_potential_energy(double *potential_energy) { - return -2; // Not implemented -} -int get_number_of_particles(int *number_of_particles) { - *number_of_particles = kmap.size(); - return 0; -} - - diff --git a/src/amuse/community/kepler_orbiters/interface.py b/src/amuse/community/kepler_orbiters/interface.py index 7451046fe6..9087c069e0 100644 --- a/src/amuse/community/kepler_orbiters/interface.py +++ b/src/amuse/community/kepler_orbiters/interface.py @@ -1,316 +1,7 @@ -from amuse.community import * -from amuse.community.interface.common import CommonCodeInterface, CommonCode -from amuse.community.interface.gd import GravitationalDynamicsInterface -from amuse.community.interface.gd import GravitationalDynamics, GravityFieldCode -from amuse.support.options import option -from amuse.units import units -from amuse.datamodel import Particles -import os.path +from amuse.support.import_helper import load_code -class KeplerInterface(CodeInterface, - GravitationalDynamicsInterface): - """ - kepler_orbiters is a code to solve Kepler's equations for number of - two-body problems that share one of the bodies. It is Suited for problems - with a dominant central mass (e.g., planetary systems, debris disks). - - The orbits are initialized from mass, position, and velocity. - The shared body is represented by particle 'central_particle' and - defined as: - instance.central_particle.add_particles(central_particle) - and the other particles are 'orbiters': - instance.orbiters.add_particles(orbiters) - The postition and velocity vectors of the orbiters are integrated, while - these of the central particle stays fixed. - - The Kepler's equations are solved using universal variables with two - independent solvers provided and set by parameter 'method': - * solver from the SAKURA code (Goncalves Ferrari et al., 2014), default, - instance.parameters.method = 0 - * solver from the HUAYNO code (Pelupessy et al., 2012) - instance.parameters.method = 1 - - See the example kepler_orbiters_planets_around_sun.py. - - The relevant references are: - .. [#] ADS:2014MNRAS.440..719G (Goncalves Ferrari, Boekholt, Portegies Zwart; 2014 MNRAS, 440, 719 - .. [#] ... (SAKURA, method 0 -- default) - .. [#] ADS:2012NewA...17..711P (Pelupessy, Janes, Portegies Zwart; 2012, New Astronomy, 17, 711 - .. [#] ... (HUAYNO, method 1)) - """ - - include_headers = ['interface.h'] - - def __init__(self, **options): - CodeInterface.__init__(self, - name_of_the_worker = "keplerorbiters_worker", - **options) - - @legacy_function - def get_method(): - function = LegacyFunctionSpecification() - function.addParameter('method', dtype='i', direction=function.OUT, default=0) - function.result_type = 'int32' - return function - - @legacy_function - def set_method(): - function = LegacyFunctionSpecification() - function.addParameter('method', dtype='i', direction=function.IN, default=0) - function.result_type = 'int32' - return function - - @legacy_function - def get_central_mass(): - function = LegacyFunctionSpecification() - function.can_handle_array=True - function.addParameter('index_of_the_particle', dtype='i', direction=function.IN, default=0) - function.addParameter('mass', dtype='float64', direction=function.OUT, - unit = nbody_system.mass) - function.result_type = 'int32' - return function - - @legacy_function - def set_central_mass(): - function = LegacyFunctionSpecification() - function.can_handle_array=True - function.addParameter('index_of_the_particle', dtype='i', direction=function.IN) - function.addParameter('mass', dtype='float64', direction=function.IN, - unit = nbody_system.mass) - function.result_type = 'int32' - return function - - @legacy_function - def get_central_radius(): - function = LegacyFunctionSpecification() - function.can_handle_array=True - function.addParameter('index_of_the_particle', dtype='i', direction=function.IN, default=0) - function.addParameter('radius', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.result_type = 'int32' - return function - - @legacy_function - def set_central_radius(): - function = LegacyFunctionSpecification() - function.can_handle_array=True - function.addParameter('index_of_the_particle', dtype='i', direction=function.IN) - function.addParameter('radius', dtype='float64', direction=function.IN, - unit = nbody_system.length) - function.result_type = 'int32' - return function - - - @legacy_function - def get_central_pos(): - function = LegacyFunctionSpecification() - function.can_handle_array=True - function.addParameter('index_of_the_particle', dtype='i', direction=function.IN, default=0) - function.addParameter('x', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.addParameter('y', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.addParameter('z', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.result_type = 'int32' - return function - - @legacy_function - def set_central_pos(): - function = LegacyFunctionSpecification() - function.can_handle_array=True - function.addParameter('index_of_the_particle', dtype='i', direction=function.IN) - function.addParameter('x', dtype='float64', direction=function.IN, - unit = nbody_system.length) - function.addParameter('y', dtype='float64', direction=function.IN, - unit = nbody_system.length) - function.addParameter('z', dtype='float64', direction=function.IN, - unit = nbody_system.length) - function.result_type = 'int32' - return function - - @legacy_function - def get_central_vel(): - function = LegacyFunctionSpecification() - function.can_handle_array=True - function.addParameter('index_of_the_particle', dtype='i', direction=function.IN, default=0) - function.addParameter('vx', dtype='float64', direction=function.OUT, - unit = nbody_system.speed) - function.addParameter('vy', dtype='float64', direction=function.OUT, - unit = nbody_system.speed) - function.addParameter('vz', dtype='float64', direction=function.OUT, - unit = nbody_system.speed) - function.result_type = 'int32' - return function - - @legacy_function - def set_central_vel(): - function = LegacyFunctionSpecification() - function.can_handle_array=True - function.addParameter('index_of_the_particle', dtype='i', direction=function.IN) - function.addParameter('vx', dtype='float64', direction=function.IN, - unit = nbody_system.speed) - function.addParameter('vy', dtype='float64', direction=function.IN, - unit = nbody_system.speed) - function.addParameter('vz', dtype='float64', direction=function.IN, - unit = nbody_system.speed) - function.result_type = 'int32' - return function - - @legacy_function - def new_central_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array=True - function.addParameter('index_of_the_particle', dtype='i', direction=function.OUT) - function.addParameter('mass', dtype='float64', direction=function.IN, - unit = nbody_system.mass) - function.addParameter('x', dtype='float64', direction=function.IN, - unit = nbody_system.length) - function.addParameter('y', dtype='float64', direction=function.IN, - unit = nbody_system.length) - function.addParameter('z', dtype='float64', direction=function.IN, - unit = nbody_system.length) - function.addParameter('vx', dtype='float64', direction=function.IN, - unit = nbody_system.speed) - function.addParameter('vy', dtype='float64', direction=function.IN, - unit = nbody_system.speed) - function.addParameter('vz', dtype='float64', direction=function.IN, - unit = nbody_system.speed) - function.addParameter('radius', dtype='float64', direction=function.IN, - unit = nbody_system.length,default=0.) - function.result_type = 'int32' - return function - - @legacy_function - def delete_central_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array=True - function.addParameter('index_of_the_particle', dtype='i', direction=function.IN) - function.result_type = 'int32' - return function - - - def get_gravity_at_point(self,radius,x,y,z): - mass,err=self.get_central_mass() - xc,yc,zc,err=self.get_central_pos() - dr2=((x-xc)**2+(y-yc)**2+(z-zc)**2+radius**2) - dr=dr2**0.5 - ax=-mass*(x-xc)/(dr2*dr) - ay=-mass*(y-yc)/(dr2*dr) - az=-mass*(z-zc)/(dr2*dr) - return ax,ay,az - - def get_potential_at_point(self,radius,x,y,z): - mass,err=self.get_central_mass() - xc,yc,zc,err=self.get_central_pos() - dr2=((x-xc)**2+(y-yc)**2+(z-zc)**2+radius**2) - dr=dr2**0.5 - phi=-mass/dr - return phi - -class Kepler(GravitationalDynamics, GravityFieldCode): - - def __init__(self, unit_converter = None, **options): - self.unit_converter = unit_converter - - CommonCode.__init__(self, - KeplerInterface(**options), - **options) - - def define_converter(self, handler): - if not self.unit_converter is None: - handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) - - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_eps2", - "set_eps2", - "epsilon_squared", - "smoothing parameter for gravity calculations", - default_value = 0.0 | nbody_system.length * nbody_system.length - ) - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - handler.add_method( - "get_eps2", - (), - (nbody_system.length * nbody_system.length, handler.ERROR_CODE,) - ) - handler.add_method( - "set_eps2", - (nbody_system.length * nbody_system.length, ), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'get_gravity_at_point', - ( - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.length, - ), - ( - nbody_system.acceleration, - nbody_system.acceleration, - nbody_system.acceleration, - ) - ) - handler.add_method( - 'get_potential_at_point', - ( - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.length, - ), - ( - nbody_system.potential, - ) - ) - - - def define_particle_sets(self, handler): - handler.define_super_set('particles', ['central_particle','orbiters'], - index_to_default_set = 1) - - handler.define_set('central_particle', 'index_of_the_particle') - handler.set_new('central_particle', 'new_central_particle') - handler.set_delete('central_particle', 'delete_central_particle') - handler.add_setter('central_particle', 'set_central_mass') - handler.add_getter('central_particle', 'get_central_mass') - handler.add_setter('central_particle', 'set_central_radius') - handler.add_getter('central_particle', 'get_central_radius') - handler.add_setter('central_particle', 'set_central_pos') - handler.add_getter('central_particle', 'get_central_pos') - handler.add_setter('central_particle', 'set_central_vel') - handler.add_getter('central_particle', 'get_central_vel') - - handler.define_set('orbiters', 'index_of_the_particle') - handler.set_new('orbiters', 'new_particle') - handler.set_delete('orbiters', 'delete_particle') - handler.add_setter('orbiters', 'set_state') - handler.add_getter('orbiters', 'get_state') - handler.add_setter('orbiters', 'set_mass') - handler.add_getter('orbiters', 'get_mass') - handler.add_setter('orbiters', 'set_position') - handler.add_getter('orbiters', 'get_position') - handler.add_setter('orbiters', 'set_velocity') - handler.add_getter('orbiters', 'get_velocity') - - - def get_gravity_at_point(self,radius,x,y,z): - xx=x-self.central_particle.x - yy=y-self.central_particle.y - zz=z-self.central_particle.z - return self.overridden().get_gravity_at_point(radius,xx,yy,zz) - - def get_potential_at_point(self,radius,x,y,z): - xx=x-self.central_particle.x - yy=y-self.central_particle.y - zz=z-self.central_particle.z - return self.overridden().get_potential_at_point(radius,xx,yy,zz) +KeplerInterface = load_code("kepler_orbiters", "KeplerInterface") +Kepler = load_code("kepler_orbiters", "Kepler") Kepler_orbiters = Kepler diff --git a/src/amuse/community/kepler_orbiters/test_kepler.py b/src/amuse/community/kepler_orbiters/test_kepler.py deleted file mode 100644 index 97439f4f8f..0000000000 --- a/src/amuse/community/kepler_orbiters/test_kepler.py +++ /dev/null @@ -1,533 +0,0 @@ -import numpy -import struct - -from .interface import Kepler - -from amuse.units import nbody_system -from amuse.units import units,constants - -from amuse.ic.plummer import new_plummer_model - -from amuse.datamodel import Particle - -#from matplotlib import pyplot - -import time - -from amuse.ext.orbital_elements import orbital_elements_from_binary,new_binary_from_orbital_elements - -def elements(starmass,x,y,z,vx,vy,vz,G=constants.G): - mu=G*starmass - r=(x**2+y**2+z**2)**0.5 - v2=(vx**2+vy**2+vz**2) - - e=v2/2-mu/r - - a=-mu/2/e - - hx=y*vz-z*vy - hy=z*vx-x*vz - hz=x*vy-y*vx - - rdotv=x*vx+y*vy+z*vz - - ex=v2*x/mu-rdotv*vx/mu-x/r - ey=v2*y/mu-rdotv*vy/mu-y/r - ez=v2*z/mu-rdotv*vz/mu-z/r - - h2=(hx**2+hy**2+hz**2) - - eps=(1-h2/mu/a)**0.5 - - return a,eps - -def test_kepler(N=10000, tend=1.| units.yr,method=0): - - numpy.random.seed(12345) - - conv=nbody_system.nbody_to_si(2.| units.MSun, 5.|units.AU) - - comets=new_plummer_model(N,conv) - - sun=Particle(mass=1.|units.MSun) - - sun.position=[0,0,0]|units.AU - sun.velocity=[0,0,0]|units.kms - - comets.mass*=0. - - code=Kepler(conv,redirection="none") - - code.set_method(method) - - code.central_particle.add_particle(sun) - code.orbiters.add_particles(comets) - - a0,eps0=elements(sun.mass,code.orbiters.x,code.orbiters.y,code.orbiters.z, - code.orbiters.vx,code.orbiters.vy,code.orbiters.vz) - - -# print code.orbiters.x[0] - print(orbital_elements_from_binary(code.particles[0:2],constants.G)) - - t1=time.time() - code.evolve_model(tend) - t2=time.time() - - print(orbital_elements_from_binary(code.particles[0:2],constants.G)) -# print code.orbiters.x[0] - - - - a,eps=elements(sun.mass,code.orbiters.x,code.orbiters.y,code.orbiters.z, - code.orbiters.vx,code.orbiters.vy,code.orbiters.vz) - - da=abs((a-a0)/a0) - deps=abs(eps-eps0)/eps0 - - dev=numpy.where(da > 0.00001)[0] - print(len(dev)) - - print(a0[dev].value_in(units.AU)) - print(eps0[dev]) - -# pyplot.plot(a0[dev].value_in(units.AU),eps0[dev],"ro") -# pyplot.plot(a[dev].value_in(units.AU),eps[dev],"g+") - - print("max da,deps:",da.max(), deps.max()) - - print("time:",t2-t1) - -# pyplot.show() - - return t2-t1,da.max(),deps.max() - -def test_kepler_almost_parabolic( tend=1,method=0): - code=Kepler(redirection="none") - - code.set_method(method) - - mass1=1.| nbody_system.mass - mass2=0| nbody_system.mass - semimajor_axis=1.|nbody_system.length - eccentricity=0.9999999 - p=2*numpy.pi*(semimajor_axis**3/nbody_system.G/mass1)**0.5 - tend=tend*p - print(tend) - parts=new_binary_from_orbital_elements( - mass1, - mass2, - semimajor_axis, - eccentricity = eccentricity, - true_anomaly = 0.0102121 - ) - - code.central_particle.add_particle(parts[0]) - code.orbiters.add_particle(parts[1]) - - a0,eps0=elements(mass1,code.orbiters.x,code.orbiters.y,code.orbiters.z, - code.orbiters.vx,code.orbiters.vy,code.orbiters.vz,G=nbody_system.G) - - print(orbital_elements_from_binary(code.particles[0:2])) - - t1=time.time() - code.evolve_model(tend) - t2=time.time() - - print(orbital_elements_from_binary(code.particles[0:2])) - - print(code.orbiters.position) - - a,eps=elements(mass1,code.orbiters.x,code.orbiters.y,code.orbiters.z, - code.orbiters.vx,code.orbiters.vy,code.orbiters.vz,G=nbody_system.G) - - da=abs((a-a0)/a0) - deps=abs(eps-eps0)/eps0 - - print(da,deps) - print("time:",t2-t1) - -def test_kepler_parabolic( tend=1,method=0, sign=+1): - code=Kepler(redirection="none") - - code.set_method(method) - - sun=Particle() - sun.mass=1. | nbody_system.mass - sun.x=0. | nbody_system.length - sun.y=0. | nbody_system.length - sun.z=0. | nbody_system.length - sun.vx=0. | nbody_system.speed - sun.vy=0. | nbody_system.speed - sun.vz=0. | nbody_system.speed - - comet=Particle() - comet.mass= 0 | nbody_system.mass - comet.x=1. | nbody_system.length - comet.y=0. | nbody_system.length - comet.z=0. | nbody_system.length - comet.vx=0. | nbody_system.speed - comet.vy=(1.0 + sign * 1.0e-10)*(2*nbody_system.G*sun.mass/comet.x)**0.5 - comet.vz=0. | nbody_system.speed - - tend=tend | nbody_system.time - print(tend) - - code.central_particle.add_particle(sun) - code.orbiters.add_particle(comet) - - a0,eps0=elements(sun.mass,code.orbiters.x,code.orbiters.y,code.orbiters.z, - code.orbiters.vx,code.orbiters.vy,code.orbiters.vz,G=nbody_system.G) - - print(orbital_elements_from_binary(code.particles[0:2])) - - t1=time.time() - code.evolve_model(tend) - t2=time.time() - - print(orbital_elements_from_binary(code.particles[0:2])) - - print(code.orbiters.position) - - a,eps=elements(sun.mass,code.orbiters.x,code.orbiters.y,code.orbiters.z, - code.orbiters.vx,code.orbiters.vy,code.orbiters.vz,G=nbody_system.G) - - da=abs((a-a0)/a0) - deps=abs(eps-eps0)/eps0 - - print(da,deps) - print("time:",t2-t1) - -def crash_test(method=1): - code=Kepler(redirection="none") - - code.set_method(method) - - smu=1.224744871391589 - mu=smu**2 - r0=2.787802728537455 - rv0=-0.9899959571994231 - alpha=0.01380749549277993 - smudt=2.809925892593303 - v02=(mu*(2/r0-alpha)) - vx=rv0 - vy=(v02-vx**2)**0.5 - - sun=Particle() - sun.mass=mu | nbody_system.mass - sun.x=0. | nbody_system.length - sun.y=0. | nbody_system.length - sun.z=0. | nbody_system.length - sun.vx=0. | nbody_system.speed - sun.vy=0. | nbody_system.speed - sun.vz=0. | nbody_system.speed - - comet=Particle() - comet.mass= 0 | nbody_system.mass - comet.x=r0| nbody_system.length - comet.y=0. | nbody_system.length - comet.z=0. | nbody_system.length - comet.vx=vx | nbody_system.speed - comet.vy=vy | nbody_system.speed - comet.vz=0. | nbody_system.speed - - tend=(smudt/smu) | nbody_system.time - print(tend) - - code.central_particle.add_particle(sun) - code.orbiters.add_particle(comet) - - a0,eps0=elements(sun.mass,code.orbiters.x,code.orbiters.y,code.orbiters.z, - code.orbiters.vx,code.orbiters.vy,code.orbiters.vz,G=nbody_system.G) - - print(orbital_elements_from_binary(code.particles[0:2])) - - t1=time.time() - code.evolve_model(tend) - t2=time.time() - - print(orbital_elements_from_binary(code.particles[0:2])) - - print(code.orbiters.position) - - a,eps=elements(sun.mass,code.orbiters.x,code.orbiters.y,code.orbiters.z, - code.orbiters.vx,code.orbiters.vy,code.orbiters.vz,G=nbody_system.G) - - da=abs((a-a0)/a0) - deps=abs(eps-eps0)/eps0 - - print(da,deps) - print("time:",t2-t1) - - -def crash_test2(method=1): - code=Kepler(redirection="none") - - code.set_method(method) - - """ - mu=struct.unpack('!d','3ff7ffffffffffff'.decode('hex'))[0] - dt=struct.unpack('!d','40025ab746b00001'.decode('hex'))[0] - pos1=struct.unpack('!d','bfed36dc82998ed4'.decode('hex'))[0] - pos2=struct.unpack('!d','40051297fc6e5256'.decode('hex'))[0] - pos3=struct.unpack('!d','0000000000000000'.decode('hex'))[0] - vel1=struct.unpack('!d','3fb09d8008ba33b9'.decode('hex'))[0] - vel2=struct.unpack('!d','bff06788b551b81d'.decode('hex'))[0] - vel3=struct.unpack('!d','0000000000000000'.decode('hex'))[0] - """ - mu=float.fromhex("0x1.8p+0") - dt=float.fromhex("0x1.25ab746bp+1") - pos1=float.fromhex("-0x1.d36dc82998ed4p-1") - pos2=float.fromhex("0x1.51297fc6e5256p+1") - pos3=float.fromhex("0x0p+0") - vel1=float.fromhex("0x1.09d8008ba33b9p-4") - vel2=float.fromhex("-0x1.06788b551b81ep+0") - vel3=float.fromhex("0x0p+0") - - sun=Particle() - sun.mass=mu | nbody_system.mass - sun.x=0. | nbody_system.length - sun.y=0. | nbody_system.length - sun.z=0. | nbody_system.length - sun.vx=0. | nbody_system.speed - sun.vy=0. | nbody_system.speed - sun.vz=0. | nbody_system.speed - - comet=Particle() - comet.mass= 0 | nbody_system.mass - comet.x=pos1 | nbody_system.length - comet.y=pos2 | nbody_system.length - comet.z=pos3 | nbody_system.length - comet.vx=vel1 | nbody_system.speed - comet.vy=vel2 | nbody_system.speed - comet.vz=vel3 | nbody_system.speed - - tend=dt | nbody_system.time - print(tend,mu) - - code.central_particle.add_particle(sun) - code.orbiters.add_particle(comet) - - a0,eps0=elements(sun.mass,code.orbiters.x,code.orbiters.y,code.orbiters.z, - code.orbiters.vx,code.orbiters.vy,code.orbiters.vz,G=nbody_system.G) - - print(orbital_elements_from_binary(code.particles[0:2])) - - t1=time.time() - code.evolve_model(tend) - t2=time.time() - - print(orbital_elements_from_binary(code.particles[0:2])) - - print(code.orbiters.position) - - a,eps=elements(sun.mass,code.orbiters.x,code.orbiters.y,code.orbiters.z, - code.orbiters.vx,code.orbiters.vy,code.orbiters.vz,G=nbody_system.G) - - da=abs((a-a0)/a0) - deps=abs(eps-eps0)/eps0 - - print(da,deps) - print("time:",t2-t1) - -def test_softening(method=1): - code=Kepler(redirection="none") - - code.set_method(method) - - dt=float.fromhex("0x1.67b39e372f04dp+4") - mu=float.fromhex("0x1.fffffffffffdfp-3") - e2=float.fromhex("0x1.0000000000003p+0") - pos1=float.fromhex("0x1.1b76542265052p-1") - pos2=float.fromhex("0x1.0c4dbda42097cp-6") - pos3=float.fromhex("0x1.54fd66cd1e212p-3") - vel1=float.fromhex("0x1.d6ef43d58ca7ep-2") - vel2=float.fromhex("0x1.7a85379e59794p-2") - vel3=float.fromhex("-0x1.5421044d1acffp-1") - - sun=Particle() - sun.mass=mu | nbody_system.mass - sun.x=0. | nbody_system.length - sun.y=0. | nbody_system.length - sun.z=0. | nbody_system.length - sun.vx=0. | nbody_system.speed - sun.vy=0. | nbody_system.speed - sun.vz=0. | nbody_system.speed - - comet=Particle() - comet.mass= 0 | nbody_system.mass - comet.x=pos1 | nbody_system.length - comet.y=pos2 | nbody_system.length - comet.z=pos3 | nbody_system.length - comet.vx=vel1 | nbody_system.speed - comet.vy=vel2 | nbody_system.speed - comet.vz=vel3 | nbody_system.speed - - tend=dt | nbody_system.time - print(tend,mu) - - code.central_particle.add_particle(sun) - code.orbiters.add_particle(comet) - - code.parameters.epsilon_squared = e2 | nbody_system.length**2 - - a0,eps0=elements(sun.mass,code.orbiters.x,code.orbiters.y,code.orbiters.z, - code.orbiters.vx,code.orbiters.vy,code.orbiters.vz,G=nbody_system.G) - - print(orbital_elements_from_binary(code.particles[0:2])) - - t1=time.time() - code.evolve_model(tend) - t2=time.time() - - print(orbital_elements_from_binary(code.particles[0:2])) - - print(code.orbiters.position) - - a,eps=elements(sun.mass,code.orbiters.x,code.orbiters.y,code.orbiters.z, - code.orbiters.vx,code.orbiters.vy,code.orbiters.vz,G=nbody_system.G) - - da=abs((a-a0)/a0) - deps=abs(eps-eps0)/eps0 - - print(da,deps) - print("time:",t2-t1) - -def t_linear(tend=1,N=100,method=0): - code=Kepler(redirection="none") - - code.set_method(method) - - mass=1. | nbody_system.mass - x=1. | nbody_system.length - vx=0 | nbody_system.speed - - e=0.5*vx**2-nbody_system.G*mass/x - - semimajor_axis=-nbody_system.G*mass/2/e - - p=2*numpy.pi*(semimajor_axis**3/nbody_system.G/mass)**0.5 - - print(semimajor_axis) - print(p) - - tend=tend*p - dt=p/N - - sun=Particle() - sun.mass=mass - sun.x=0. | nbody_system.length - sun.y=0. | nbody_system.length - sun.z=0. | nbody_system.length - sun.vx=0. | nbody_system.speed - sun.vy=0. | nbody_system.speed - sun.vz=0. | nbody_system.speed - - comet=Particle() - comet.mass= 0 | nbody_system.mass - comet.x=x - comet.y=0. | nbody_system.length - comet.z=0. | nbody_system.length - comet.vx=vx - comet.vy=0. | nbody_system.speed - comet.vz=0. | nbody_system.speed - - code.central_particle.add_particle(sun) - code.orbiters.add_particle(comet) - - a0,eps0=elements(sun.mass,code.orbiters.x,code.orbiters.y,code.orbiters.z, - code.orbiters.vx,code.orbiters.vy,code.orbiters.vz,G=nbody_system.G) - - print(orbital_elements_from_binary(code.particles[0:2])) - - #pyplot.ion() - #f=pyplot.figure(figsize=(8,6)) - #pyplot.show() - - tnow=0*tend - time=[] - xs=[] - while tnow&2 2> /dev/null && echo "yes" || echo "no") - -DOWNLOAD_CODES?=1 - -CLASSNAME=KromeInterface - -FFLAGS += $(FCFLAGS) -std=legacy -O2 -ffree-line-length-none -INCL = -I./src/ -I./src/krome/build/ - -all: src/krome src/libchem.a test krome_worker - -ifdef DOWNLOAD_CODES -src/krome: - make -C . download_git -else -src/krome: - @echo "" - @echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - @echo "" - @echo "DOWNLOAD_CODES is not set. Krome will not be downloaded and build." - @echo "If you do want Krome, set DOWNLOAD_CODES to 1." - @echo "bash> export DOWNLOAD_CODES=1" - @echo "csh> setenv DOWNLOAD_CODES 1" - @echo "" - @echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - @echo "" - @make -s --no-print-directory -C . raise_error -endif - -latest_tested.tar.gz: URL=$(shell wget "http://kromepackage.org/test/get.php?ref=tested_url" -q -O -) -latest_tested.tar.gz: - wget $(URL) -O latest_tested.tar.gz - -archive_root: ARCHIVE_ROOT=$(shell tar -tf latest_tested.tar.gz | head -1 | sed -e 's/\/.*//') -archive_root: - tar xvzf latest_tested.tar.gz - rm -rf src/krome - mv $(ARCHIVE_ROOT) src/krome - -download: latest_tested.tar.gz archive_root - -update: distclean download_git - -download_git: - git clone https://bitbucket.org/tgrassi/krome.git - mv krome src/krome - -test: - @echo - @echo "Testing import of modules required for krome (argparse):" -ifeq ($(ARGPARSE_AVAILABLE),no) - $(error "Python imports not available: argparse") -endif - @echo "Tests successful!" - @echo - make -C src/ test - -src/libchem.a: src/krome - make -C src/ libchem.a FFLAGS="$(FFLAGS)" FC="$(FC)" - -worker_code.f90: interface.py - $(CODE_GENERATOR) --type=f90 $< $(CLASSNAME) -o $@ - -krome_worker: src/libchem.a worker_code.f90 interface.o - $(MPIFC) $(FFLAGS) $(INCL) $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) worker_code.f90 interface.o -o $@ src/libchem.a $(LIBS) $(SC_FCLIBS) $(FS_LIBS) $(LIBS) - - -%.o: %.f90 - $(FC) $(FFLAGS) $(INCL) -c -o $@ $< - -clean: - make -C src/ clean - rm -f *.pyc - rm -f interface.o krome_worker.f90 worker_code.f90 - rm -f krome_worker - -distclean: clean - make -C src/ distclean - rm -rf src/krome - rm -rf latest_tested.tar.gz - diff --git a/src/amuse/community/krome/interface.py b/src/amuse/community/krome/interface.py index 66e0ecc1f9..74ea9eca60 100644 --- a/src/amuse/community/krome/interface.py +++ b/src/amuse/community/krome/interface.py @@ -1,293 +1,7 @@ -import os.path -from amuse.community.interface.common import CommonCodeInterface, CommonCode -from amuse.community import * -from amuse.support.options import option +from amuse.support.import_helper import load_code -#(Grevesse & Sauval, 1998, Space Sci. Rev. 85, 161) -solar_abundances= dict(H=1., - HE=.085, - C=3.31e-4, - N=8.3e-5, - O=6.76e-4, - Ne=1.2e-4, - SI=3.55e-5, - Fe=3.2e-5) - -class KromeInterface(CodeInterface, CommonCodeInterface, LiteratureReferencesMixIn): - """ - - KROME - a package to embed chemistry in astrophysical simulations - - .. [#] Grassi, T.; Bovino, S.; Schleicher, D. R. G.; Prieto, J.; Seifried, D.; Simoncini, E.; Gianturco, F. A., MNRAS, 439, 3, p.2386-2419 [2014MNRAS.439.2386G] - """ - - def __init__(self, **options): - CodeInterface.__init__(self, name_of_the_worker = self.name_of_the_worker(), **options) - LiteratureReferencesMixIn.__init__(self) - - def name_of_the_worker(self): - return 'krome_worker' - - @legacy_function - def commit_particles(): - function = LegacyFunctionSpecification() - function.result_type = 'i' - return function - - @legacy_function - def commit_parameters(): - function = LegacyFunctionSpecification() - function.result_type = 'i' - return function - - def recommit_parameters(): - return self.commit_parameters() - - @legacy_function - def recommit_particles(): - function = LegacyFunctionSpecification() - function.result_type = 'i' - return function - - @legacy_function - def new_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='int32', direction=function.OUT) - for x in ['number_density','temperature','ionrate']: - function.addParameter(x, dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def set_state(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['number_density','temperature','ionrate']: - function.addParameter(x, dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_state(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['number_density','temperature','ionrate']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_abundance(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - function.addParameter('aid', dtype='i', direction=function.IN) - function.addParameter('abundance', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_abundance(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - function.addParameter('aid', dtype='i', direction=function.IN) - function.addParameter('abundance', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_firstlast_abundance(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('first', dtype='i', direction=function.OUT) - function.addParameter('last', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_index_of_species(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('name', dtype='s', direction=function.IN) - function.addParameter('index', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_name_of_species(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index', dtype='i', direction=function.IN) - function.addParameter('name', dtype='s', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def evolve_model(): - function = LegacyFunctionSpecification() - function.addParameter('time_end', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_time(): - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def delete_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='int32', direction=function.IN) - function.result_type = 'i' - return function - -class Krome(CommonCode): - - def __init__(self,unit_converter = None, **options): - - if unit_converter is not None: - raise Exception("krome uses predefined units") - - InCodeComponentImplementation.__init__(self, KromeInterface(**options)) - first,last=self.get_firstlast_abundance() - self.species=dict() - for i in range(first,last+1): - self.species[self.get_name_of_species(i)]=i-1 -# self.set_data_directory(self.data_directory()) -# self.set_output_directory(self.output_directory()) - - def define_properties(self, handler): - handler.add_property('get_time', public_name = "model_time") - - def define_methods(self, handler): - CommonCode.define_methods(self, handler) - handler.add_method( - 'evolve_model', - ( - units.s, - ), - ( - handler.ERROR_CODE, - ) - ) - handler.add_method( - "new_particle", - ( - units.cm**-3, - units.K, - units.s**-1, - ), - ( - handler.INDEX, - handler.ERROR_CODE, - ) - ) - handler.add_method( - "set_state", - ( - handler.NO_UNIT, - units.cm**-3, - units.K, - units.s**-1, - ), - ( - handler.ERROR_CODE, - ) - ) - handler.add_method( - "get_state", - ( - handler.INDEX, - ), - ( - units.cm**-3, - units.K, - units.s**-1, - handler.ERROR_CODE, - ) - ) - handler.add_method( - "get_abundance", - ( - handler.INDEX, - handler.INDEX, - ), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ) - ) - handler.add_method( - "set_abundance", - ( - handler.INDEX, - handler.INDEX, - handler.NO_UNIT, - ), - ( - handler.ERROR_CODE, - ) - ) - handler.add_method( - "delete_particle", - ( - handler.INDEX, - ), - ( - handler.ERROR_CODE, - ) - ) - handler.add_method( - "get_firstlast_abundance", - ( - ), - ( - handler.NO_UNIT, - handler.NO_UNIT, - handler.ERROR_CODE, - ) - ) - handler.add_method( - "get_time", - ( - ), - ( - units.s, - handler.ERROR_CODE, - ) - ) - - def define_particle_sets(self, handler): - handler.define_set('particles', 'id') - handler.set_new('particles', 'new_particle') - handler.set_delete('particles', 'delete_particle') - handler.add_setter('particles', 'set_state') - handler.add_getter('particles', 'get_state') - handler.add_gridded_getter('particles', 'get_abundance','get_firstlast_abundance', names = ('abundances',)) - handler.add_gridded_setter('particles', 'set_abundance','get_firstlast_abundance', names = ('abundances',)) - - def define_state(self, handler): - CommonCode.define_state(self, handler) - handler.add_transition('INITIALIZED','EDIT','commit_parameters') - handler.add_transition('RUN','PARAMETER_CHANGE_A','invoke_state_change2') - handler.add_transition('EDIT','PARAMETER_CHANGE_B','invoke_state_change2') - handler.add_transition('PARAMETER_CHANGE_A','RUN','recommit_parameters') - handler.add_transition('PARAMETER_CHANGE_B','EDIT','recommit_parameters') - handler.add_method('EDIT', 'new_particle') - handler.add_method('EDIT', 'delete_particle') - handler.add_transition('EDIT', 'RUN', 'commit_particles') - handler.add_transition('RUN', 'UPDATE', 'new_particle', False) - handler.add_transition('RUN', 'UPDATE', 'delete_particle', False) - handler.add_transition('UPDATE', 'RUN', 'recommit_particles') - handler.add_method('RUN', 'evolve_model') - handler.add_method('RUN', 'get_state') - handler.add_method('RUN', 'get_abundance') +KromeInterface = load_code("krome", "KromeInterface") +Krome = load_code("krome", "Krome") +Krome = Krome diff --git a/src/amuse/community/krome/src/Makefile b/src/amuse/community/krome/src/Makefile deleted file mode 100644 index 8cc3855f6b..0000000000 --- a/src/amuse/community/krome/src/Makefile +++ /dev/null @@ -1,46 +0,0 @@ -OBJECTS = compact_chem_optimized.o -FC ?= gfortran -FFLAGS ?= -O2 - -LIBFILES= $(OBJECTS) hash.o amuse_helpers.o - -# krome makefile has changed to be ifort, with targets for gfortran -#~ KROME_OPTIONS=-unsafe -iRHS -n networks/react_COthin -compiler $(FC) -useN -clean -KROME_OPTIONS=-unsafe -iRHS -n networks/react_COthin -useN -clean -noVerbatimFile -# -compact - -ifeq ($(findstring ifort, $(notdir $(FORTRAN))), ifort) -AR=xiar cru -else -AR=ar crs -endif - -ifeq ($(findstring gfortran, $(notdir $(FORTRAN))), gfortran) -FFLAGS += -ffree-line-length-none -endif - -amuse_interface: libchem.a - -test: - -# note the hard change of fortran compiler and options -krome/build/krome: - -(cd krome; ./krome $(KROME_OPTIONS) ) - cd .. - sed -i.bak 's/^fc *=.*/fc = $(FC)/' krome/build/Makefile - sed -i.bak 's_^switch *= .*_switch = $(FFLAGS)_' krome/build/Makefile - make -C krome/build/ - -libchem.a: krome/build/krome hash.o amuse_helpers.o - $(AR) $@ $(filter-out krome/build/test.o, $(wildcard krome/build/*.o)) hash.o amuse_helpers.o - -%.o: %.f90 - $(FC) $(FFLAGS) -Ikrome/build/ -c -o $@ $< - -clean: - rm -f *.o *.mod - rm -f libchem.a - rm -f krome/build/* - -distclean: clean - rm -f libchem.a diff --git a/src/amuse/community/mameclot/Makefile b/src/amuse/community/mameclot/Makefile deleted file mode 100644 index e5d2f7aeba..0000000000 --- a/src/amuse/community/mameclot/Makefile +++ /dev/null @@ -1,22 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -CC ?= gcc -CFLAGS ?= -O3 - -CFLAGS += -std=c99 -Wall -W -O3 - -all: mameclot_worker - -mameclot_worker: - make -C src CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" F77="$(FC)" FFLAGS="$(FFLAGS)" F77FLAGS="$(F77FLAGS)" - cp src/mameclot ./mameclot_worker - -clean: - make -C src clean - rm -f mameclot_worker - rm -f *.pyc *.o diff --git a/src/amuse/community/mameclot/interface.py b/src/amuse/community/mameclot/interface.py index 481ce7aee6..a666d0b951 100644 --- a/src/amuse/community/mameclot/interface.py +++ b/src/amuse/community/mameclot/interface.py @@ -1,233 +1,7 @@ -import numpy -import os +from amuse.support.import_helper import load_code -from amuse.community import LiteratureReferencesMixIn -from amuse.datamodel import Particles,ParticlesWithUnitsConverted - -from subprocess import Popen, PIPE - -from amuse.units import units,nbody_system - -class mameclot(LiteratureReferencesMixIn): - """ - MAMECLOT: MAke ME a CLuster Or Two - - Construct initial conditions of 1 (or 2) cluster(s) for N-body simulations - - A 2 cluster system with orbit in the x-y plane is made if the mass ratio q>0 - Five equilibrium models are available, a cut-off radius can be provided - The velocities can be isotropic or radially anisotropic (a la Osipkov-Merritt) - Optional angular momentum by aligning the angular momentum vectors along z - System is scaled to N-body units with G = M = -4E = 1 (Heggie & Mathieu 1986) - In the case of a two-body system E = mu*e_orb + E_1 + E_2 (mu = reduced mass) - The 2-body orbit is computed from input q, e_hat and l_hat (and eta if q<1): - - e_hat = e_orb/0.5 - l_hat = l_orb/ - eta => defines the relative radii: r2/r1 = q^eta, for example: - eta=[-0.33/0/0.33/0.5] for equal [t_rh/r_h/rho_h/Sigma_h] - - Relevant references: - .. [#] Gieles, M., https://github.com/mgieles/mameclot - - :argument targetN: Number of particles - :argument convert_nbody: When given will convert the resulting set to SI units - :argument cluster_model: cluster model to generate ["Henon"] - :argument mass_ratio: mass ratio, zero means only 1 cluster [0] - :argument size_eta_parameter: eta, relative cluster sizes: r2/r1 = q^eta [0.333] - :argument imf: IMF [single mass] - :argument angular_momentum_signs: Angular momentum in z-direction, -, + or x ["xx"] - :argument fraction_of_max_rot_energy: Fraction of maximum rotational energy [1], - :argument OsipkovMerritt_anisotropy_radius_r0: Osipkov-Merritt anisotropy radius in units of r_0 [999] - :argument cutoff_radius_halfmass_radius: Cut-off radius in units of r_h [20] - :argument physical_radius: Physical scale [1| units.parsec] - :argument distance: Distance between 2 clusters in N-body units [20 | nbody_system.length] - :argument orbital_energy: Dimensionless orbital energy of two-cluster system [0] - :argument orbital_angular_momentum: Dimensionless orbital angular momentum two-cluster system [4] - :argument seed: random seed 123456 - """ - - available_cluster_models={"Dehnen" : 0, "Hernquist":1 ,"Jaffe":2,"Henon": 3, "Plummer" :4 } - available_imf_model={"single mass" : 0, "Kroupa" : 1} - angular_momentum_sign_key={"xx":0,"++":1,"+x":2,"+-":3,"x+":4,"x-":5,"--":-1,"-x":-2,"-+":-3} - - def __init__(self, targetN=10000, cluster_model="Henon", mass_ratio=0, size_eta_parameter=0.3333333, - imf="single mass", angular_momentum_signs="xx", fraction_of_max_rot_energy=1, - OsipkovMerritt_anisotropy_radius_r0=999,cutoff_radius_halfmass_radius=20,physical_radius=1| units.parsec, - distance=20 | nbody_system.length,orbital_energy=0,orbital_angular_momentum=0,seed=123456, - convert_to_physical=False): - - LiteratureReferencesMixIn.__init__(self) - - self._bin_path = os.path.dirname(os.path.abspath(__file__)) - self._particles=None - self.convert_to_physical=convert_to_physical - self._exec="mameclot_worker" - - self.targetN=targetN - self.cluster_model=cluster_model - self.mass_ratio=mass_ratio - self.size_eta_parameter=size_eta_parameter - self.imf=imf - self.angular_momentum_signs=angular_momentum_signs - self.fraction_of_max_rot_energy=fraction_of_max_rot_energy - self.OsipkovMerritt_anisotropy_radius_r0=OsipkovMerritt_anisotropy_radius_r0 - self.cutoff_radius_halfmass_radius=cutoff_radius_halfmass_radius - self.physical_radius=physical_radius - self.distance=distance - self.orbital_energy=orbital_energy - self.orbital_angular_momentum=orbital_angular_momentum - self.seed=seed - - def arguments(self): - arguments=[] - arguments.extend([ "-N", str(self.targetN) ]) - arguments.extend([ "-m", str(self.available_cluster_models[self.cluster_model]) ]) - arguments.extend([ "-q", str(self.mass_ratio) ]) - arguments.extend([ "-e", str(self.size_eta_parameter) ]) - arguments.extend([ "-i", str(self.available_imf_model[self.imf]) ]) - arguments.extend([ "-l", self.angular_momentum_signs ]) - arguments.extend([ "-f", str(self.fraction_of_max_rot_energy) ]) - arguments.extend([ "-a", str(self.OsipkovMerritt_anisotropy_radius_r0) ]) - arguments.extend([ "-c", str(self.cutoff_radius_halfmass_radius) ]) - arguments.extend([ "-r", str(self.physical_radius.value_in(units.parsec)) ]) - arguments.extend([ "-d", str(self.distance) ]) - arguments.extend([ "-E", str(self.orbital_energy) ]) - arguments.extend([ "-L", str(self.orbital_angular_momentum) ]) - arguments.extend([ "-s", str(self.seed) ]) - return arguments - - def make_model(self): - - call=[self._exec]+self.arguments() - - print(call) - - mameclot=Popen(call, stdout=PIPE,stderr=PIPE,executable=os.path.join(self._bin_path,self._exec)) - - (out,err)=mameclot.communicate() - - print(err) - - outsplit=out.decode().strip().split("\n") - errsplit=err.decode().strip().split("\n") - - if self.mass_ratio==0: - nline=errsplit[6].split() - mline=errsplit[7].split() - rline=errsplit[8].split() - N1=int(nline[2]) - N2=0 - mscale=(float(mline[4])/float(mline[2])) | units.MSun - rscale=(float(rline[4])/float(mline[2])) | units.parsec - else: - nline=errsplit[8].split() - n2line=errsplit[22].split() - mline=errsplit[9].split() - rline=errsplit[10].split() - N1=int(nline[2]) - N2=int(n2line[2]) - mscale=(float(mline[4])/float(mline[2])) | units.MSun - rscale=(float(rline[4])/float(mline[2])) | units.parsec - print(N1,N2) - - N=len( outsplit) - - parts=Particles(N) - - masses=numpy.zeros((N,)) - energy=numpy.zeros((N,)) - - position=numpy.zeros((N,3)) - velocity=numpy.zeros((N,3)) - - for i,line in enumerate(outsplit): - l=line.split() - masses[i]=float(l[0]) - position[i,0:3]=[float(l[1]),float(l[2]),float(l[3])] - velocity[i,0:3]=[float(l[4]),float(l[5]),float(l[6])] - energy[i]=float(l[7]) - - parts.mass=masses | nbody_system.mass - parts.position=position | nbody_system.length - parts.velocity=velocity | nbody_system.speed - parts.specific_energy=energy| nbody_system.specific_energy - - parts.move_to_center() - - if self.convert_to_physical: - print("mass scale:", mscale) - print("length scale:", rscale) - - convert_nbody=nbody_system.nbody_to_si(mscale,rscale) - parts = ParticlesWithUnitsConverted(parts, convert_nbody.as_converter_from_si_to_generic()) - parts = parts.copy() - - self._all=parts - self._cluster1=parts[:N1] - self._cluster2=parts[N1:] - - - @property - def result(self): - self.make_model() - return self._all - - @property - def result_split(self): - self.make_model() - return self._all,self._cluster1,self._cluster2 - -def new_mameclot_model(*args,**keyword_arguments): - """ - - MAMECLOT: MAke ME a CLuster Or Two - - Construct initial conditions of 1 (or 2) cluster(s) for N-body simulations - - A 2 cluster system with orbit in the x-y plane is made if the mass ratio q>0 - Five equilibrium models are available, a cut-off radius can be provided - The velocities can be isotropic or radially anisotropic (a la Osipkov-Merritt) - Optional angular momentum by aligning the angular momentum vectors along z - System is scaled to N-body units with G = M = -4E = 1 (Heggie & Mathieu 1986) - In the case of a two-body system E = mu*e_orb + E_1 + E_2 (mu = reduced mass) - The 2-body orbit is computed from input q, e_hat and l_hat (and eta if q<1): - - e_hat = e_orb/0.5 - l_hat = l_orb/ - eta => defines the relative radii: r2/r1 = q^eta, for example: - eta=[-0.33/0/0.33/0.5] for equal [t_rh/r_h/rho_h/Sigma_h] - - :argument targetN: Number of particles - :argument convert_nbody: When given will convert the resulting set to SI units - :argument cluster_model: cluster model to generate ["Henon"] - :argument mass_ratio: mass ratio, zero means only 1 cluster [0] - :argument size_eta_parameter:eta: Relative cluster sizes: r2/r1 = q^eta [0.333] - :argument imf: IMF ["single mass"] - :argument angular_momentum_signs: Angular momentum in z-direction, -, + or x ["xx"] - :argument fraction_of_max_rot_energy: Fraction of maximum rotational energy [1], - :argument OsipkovMerritt_anisotropy_radius_r0: Osipkov-Merritt anisotropy radius in units of r_0 [999] - :argument cutoff_radius_halfmass_radius: Cut-off radius in units of r_h [20] - :argument physical_radius: Physical scale [1| units.parsec] - :argument distance: Distance between 2 clusters in N-body units [20 | nbody_system.length] - :argument orbital_energy: Dimensionless orbital energy of two-cluster system [0] - :argument orbital_angular_momentum: Dimensionless orbital angular momentum two-cluster system [4] - :argument seed: random seed 123456 - """ - uc = mameclot(*args, **keyword_arguments) - return uc.result - -if __name__=="__main__": - from matplotlib import pyplot - - clusters,cluster1,cluster2=mameclot(mass_ratio=0.25,convert_to_physical=False).result_split - - print(cluster1.total_mass()) - print(len(cluster2)) - - pyplot.plot(cluster1.x.number,cluster1.y.number,"r.") - pyplot.plot(cluster2.x.number,cluster2.y.number,"g.") - pyplot.show() +mameclot = load_code("mameclot", "mameclot") +new_mameclot_model = load_code("mameclot", "new_mameclot_model") Mameclot = mameclot diff --git a/src/amuse/community/mercury/Makefile b/src/amuse/community/mercury/Makefile deleted file mode 100644 index 9e6a947ed8..0000000000 --- a/src/amuse/community/mercury/Makefile +++ /dev/null @@ -1,55 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPIFC ?= openmpif90 - -FC = $(MPIFC) -SRC=src - - -CODE_LIBS=$(SRC)/libmercury.a - -PIC=#-fPIC - -FFLAGSOLD = -O -ip -u -g -traceback $(PIC) - -FFLAGS2= -I./src/ - -CLASSNAME=MercuryInterface - -#~ FFLAGS += -mcmodel=medium - -F77FLAGS += -ifneq (,$(findstring xlf, $(notdir $(FORTRAN)))) -F77FLAGS += -qfixed -qsuffix=f=for -endif - - -all: mercury_worker - -%.o: %.f90 Makefile - $(FC) $(FFLAGS) $(FFLAGS2) $(SC_FLAGS) -c -o $@ $< - -%.o: %.F90 Makefile - $(FC) $(FFLAGS) $(FFLAGS2) $(SC_FLAGS) -c -o $@ $< - -mercury_worker: worker.f90 interface.o - $(FC) $(FFLAGS) $(FFLAGS2) $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) $^ -o $@ $(CODE_LIBS) $(SC_FCLIBS) $(FS_LIBS) $(LIBS) - -worker.f90: interface.py - make -C src amuse_interface FFLAGS="$(FFLAGS)" FC="$(FC)" F77FLAGS="$(F77FLAGS)" - $(CODE_GENERATOR) --type=f90 $< $(CLASSNAME) -o $@ - -clean: - make -C src clean - rm -f *.o *.pyc *.bck worker worker.f90 glworker glworker.f90 - rm -f mercury_worker mercury_worker_gl - rm -f mercury_worker_sockets worker-sockets.f90 - rm -f amuse_worker_module.mod - rm -f amuseinterface.mod - rm -f forsockets.mod - rm -f src/lib*.a diff --git a/src/amuse/community/mercury/interface.py b/src/amuse/community/mercury/interface.py index 7482cce68b..1a1e3bc483 100644 --- a/src/amuse/community/mercury/interface.py +++ b/src/amuse/community/mercury/interface.py @@ -1,1507 +1,7 @@ -import os -import numpy +from amuse.support.import_helper import load_code -from amuse.community.interface.common import CommonCodeInterface, CommonCode -from amuse.community import * -from amuse.community.interface.gd import GravitationalDynamics -from amuse.community.interface.gd import GravitationalDynamicsInterface -from amuse.datamodel import Particles - -class MercuryInterface(CodeInterface, CommonCodeInterface, CodeWithDataDirectories, - LiteratureReferencesMixIn, StoppingConditionInterface): - """ - Mercury N-body integrator package, version 6.2. - Mercury is a general-purpose N-body integration package for problems in - celestial mechanics. The standard symplectic (MVS) algorithm is described in - Wisdom & Holman (1991). The hybrid symplectic algorithm is described - in Chambers (1999). - - Relevant references: - .. [#] ADS:1999MNRAS.304..793C (Chambers J. E., 1999, MNRAS, 304, 793) - .. [#] ADS:1991AJ....102.1528W (Wisdom J. & Holman M., 1991, AJ, 102, 1528) - """ - - use_modules = ['StoppingConditions', 'AmuseInterface'] - - def __init__(self, **args): - CodeInterface.__init__(self, name_of_the_worker = 'mercury_worker',**args) - LiteratureReferencesMixIn.__init__(self) - CodeWithDataDirectories.__init__(self) - - @legacy_function - def commit_particles(): - function = LegacyFunctionSpecification() - function.result_type = 'i' - return function - - - @legacy_function - def recommit_particles(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def evolve_model(): - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def synchronize_model(): - """ - After an evolve the particles may be at different simulation - times. Synchronize the particles to a consistent stat - at the current simulation time - """ - function = LegacyFunctionSpecification() - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - - """ - return function - - @legacy_function - def get_time(): - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_initial_timestep(): - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='d', direction=function.IN, unit = units.day) - function.result_type = 'i' - return function - - @legacy_function - def get_initial_timestep(): - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='d', direction=function.OUT, unit = units.day) - function.result_type = 'i' - return function - - @legacy_function - def delete_particle(): - function = LegacyFunctionSpecification() - function.addParameter('id', dtype='i', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def new_orbiter(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='int32', direction=function.OUT) - for x in ['mass','density','x','y','z','vx','vy','vz']: - function.addParameter(x, dtype='float64', direction=function.IN) - for x,default in zip(['lx','ly','lz','celimit'], [0,0,0,3]): - function.addParameter(x, dtype='float64', direction=function.IN, default = default) - - function.result_type = 'int32' - return function - - @legacy_function - def new_central_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.OUT) - - for x in ['mass']: - function.addParameter(x, dtype='d', direction=function.IN) - - for x in ['radius','j2','j4','j6','lx','ly','lz']: - function.addParameter(x, dtype='d', direction=function.IN, default = 0) - - function.result_type = 'i' - return function - - @legacy_function - def get_orbiter_state(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['mass','density','x','y','z','vx','vy','vz','lx','ly','lz','celimit']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_orbiter_state(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['mass','density','x','y','z','vx','vy','vz','lx','ly','lz','celimit']: - function.addParameter(x, dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def set_central_particle_state(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['mass','radius','j2','j4','j6','lx','ly','lz']: - function.addParameter(x, dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_central_particle_state(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['mass','radius','j2','j4','j6','lx','ly','lz']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_position(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='int32', direction=function.IN, - description = "Index of the particle to get the position from. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('x', dtype='float64', direction=function.OUT, description = "The current x position of the particle") - function.addParameter('y', dtype='float64', direction=function.OUT, description = "The current y position of the particle") - function.addParameter('z', dtype='float64', direction=function.OUT, description = "The current z position of the particle") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - current value was retrieved - -1 - ERROR - particle could not be found - """ - return function - - @legacy_function - def set_position(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='int32', direction=function.IN, - description = "Index of the particle to set the position for. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('x', dtype='float64', direction=function.IN, description = "The new x position of the particle") - function.addParameter('y', dtype='float64', direction=function.IN, description = "The new y position of the particle") - function.addParameter('z', dtype='float64', direction=function.IN, description = "The new z position of the particle") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - new value was set - -1 - ERROR - particle could not be found - """ - return function - - @legacy_function - def get_velocity(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='int32', direction=function.IN, - description = "Index of the particle to get the position from. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('vx', dtype='float64', direction=function.OUT, description = "The current x position of the particle") - function.addParameter('vy', dtype='float64', direction=function.OUT, description = "The current y position of the particle") - function.addParameter('vz', dtype='float64', direction=function.OUT, description = "The current z position of the particle") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - current value was retrieved - -1 - ERROR - particle could not be found - """ - return function - - @legacy_function - def set_velocity(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='int32', direction=function.IN, - description = "Index of the particle to set the position for. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('vx', dtype='float64', direction=function.IN, description = "The new x position of the particle") - function.addParameter('vy', dtype='float64', direction=function.IN, description = "The new y position of the particle") - function.addParameter('vz', dtype='float64', direction=function.IN, description = "The new z position of the particle") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - new value was set - -1 - ERROR - particle could not be found - """ - return function - - @legacy_function - def get_density(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - function.addParameter('density', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_density(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - function.addParameter('density', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_central_radius(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - function.addParameter('radius', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_central_radius(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - function.addParameter('radius', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_mass(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - function.addParameter('mass', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_mass(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - function.addParameter('mass', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_central_mass(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - function.addParameter('mass', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_central_mass(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='int32', direction=function.IN) - function.addParameter('mass', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_celimit(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - function.addParameter('celimit', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_celimit(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - function.addParameter('celimit', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_central_oblateness(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['j2','j4','j6']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_central_oblateness(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['j2','j4','j6']: - function.addParameter(x, dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_central_spin(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['lx','ly','lz']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_central_spin(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['lx','ly','lz']: - function.addParameter(x, dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_angularmomentum(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['lx','ly','lz']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_angularmomentum(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['lx','ly','lz']: - function.addParameter(x, dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_number_of_orbiters(): - function = LegacyFunctionSpecification() - function.addParameter('norbiters', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_energy_deviation(): - function = LegacyFunctionSpecification() - function.addParameter('delta_e', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_kinetic_energy(): - function = LegacyFunctionSpecification() - function.addParameter('ek', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_potential_energy(): - function = LegacyFunctionSpecification() - function.addParameter('ep', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_total_energy(): - function = LegacyFunctionSpecification() - function.addParameter('e_tot', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_total_angular_momentum(): - function = LegacyFunctionSpecification() - function.addParameter('am_tot', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_begin_time(): - """ - Retrieve the model time to start the evolution at. - """ - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='float64', direction=function.OUT, - description = "The begin time", unit = units.day) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value of the time was retrieved - -2 - ERROR - The code does not have support for querying the begin time - """ - return function - - @legacy_function - def set_begin_time(): - """ - Set the model time to start the evolution at. This is an offset for - all further calculations in the code. - """ - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='float64', direction=function.IN, - description = "The model time to start at", unit = units.day) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Time value was changed - -2 - ERROR - The code does not support setting the begin time - """ - return function - - @legacy_function - def get_integrator(): - """ - Retrieve the integrator (algor parameter) - """ - function = LegacyFunctionSpecification() - function.addParameter('integrator', dtype='i', direction=function.OUT, - description = "integrator to use") - function.result_type = 'int32' - return function - - @legacy_function - def set_integrator(): - """ - Set the model integrator (algor parameter) - """ - function = LegacyFunctionSpecification() - function.addParameter('integrator', dtype='i', direction=function.IN, - description = "integrator to use") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - integrator was changed - -1 - ERROR - integrator not supported (wrong input) - """ - return function - - @legacy_function - def get_rmax(): - """ - Retrieve the maximal radius (rmax) -- heliocentric distance at - which objects are considered ejected. - """ - function = LegacyFunctionSpecification() - function.addParameter('rmax', dtype='float64', direction=function.OUT, - description = "heliocentric distance at which objects are considered ejected", unit=units.AU) - function.result_type = 'int32' - return function - - @legacy_function - def set_rmax(): - """ - Set the maximal radius (rmax) -- heliocentric distance at - which objects are considered ejected. - """ - function = LegacyFunctionSpecification() - function.addParameter('rmax', dtype='float64', direction=function.IN, - description = "heliocentric distance at which objects are considered ejected", unit=units.AU) - function.result_type = 'int32' - return function - - @legacy_function - def get_cefac(): - """ - Retrieve the parameter to set the changeover distance RCRIT of the hybrid integrator: - RCRIT = cefac * R_HILL (n_1 in section 4.2 of Chambers 1999) - """ - function = LegacyFunctionSpecification() - function.addParameter('cefac', dtype='float64', direction=function.OUT, - description = "Hybrid integrator changeover radius RCRIT (in Hill radii)", unit=units.none) - function.result_type = 'int32' - return function - - @legacy_function - def set_cefac(): - """ - Set the parameter to set the changeover distance RCRIT of the hybrid integrator: - RCRIT = cefac * R_HILL (n_1 in section 4.2 of Chambers 1999) - """ - function = LegacyFunctionSpecification() - function.addParameter('cefac', dtype='float64', direction=function.IN, - description = "Hybrid integrator changeover radius RCRIT (in Hill radii)", unit=units.none) - function.result_type = 'int32' - return function - - @legacy_function - def get_elements_file(): - function = LegacyFunctionSpecification() - function.addParameter('elements_file', dtype='s', direction=function.OUT) - function.result_type = 'int32' - return function - @legacy_function - def set_elements_file(): - function = LegacyFunctionSpecification() - function.addParameter('elements_file', dtype='s', direction=function.IN) - function.result_type = 'int32' - return function - @legacy_function - def get_close_encounters_file(): - function = LegacyFunctionSpecification() - function.addParameter('close_encounters_file', dtype='s', direction=function.OUT) - function.result_type = 'int32' - return function - @legacy_function - def set_close_encounters_file(): - function = LegacyFunctionSpecification() - function.addParameter('close_encounters_file', dtype='s', direction=function.IN) - function.result_type = 'int32' - return function - @legacy_function - def get_info_file(): - function = LegacyFunctionSpecification() - function.addParameter('info_file', dtype='s', direction=function.OUT) - function.result_type = 'int32' - return function - @legacy_function - def set_info_file(): - function = LegacyFunctionSpecification() - function.addParameter('info_file', dtype='s', direction=function.IN) - function.result_type = 'int32' - return function - @legacy_function - def get_bigbody_file(): - function = LegacyFunctionSpecification() - function.addParameter('bigbody_file', dtype='s', direction=function.OUT) - function.result_type = 'int32' - return function - @legacy_function - def set_bigbody_file(): - function = LegacyFunctionSpecification() - function.addParameter('bigbody_file', dtype='s', direction=function.IN) - function.result_type = 'int32' - return function - @legacy_function - def get_smallbody_file(): - function = LegacyFunctionSpecification() - function.addParameter('smallbody_file', dtype='s', direction=function.OUT) - function.result_type = 'int32' - return function - @legacy_function - def set_smallbody_file(): - function = LegacyFunctionSpecification() - function.addParameter('smallbody_file', dtype='s', direction=function.IN) - function.result_type = 'int32' - return function - @legacy_function - def get_integration_parameters_file(): - function = LegacyFunctionSpecification() - function.addParameter('integration_parameters_file', dtype='s', direction=function.OUT) - function.result_type = 'int32' - return function - @legacy_function - def set_integration_parameters_file(): - function = LegacyFunctionSpecification() - function.addParameter('integration_parameters_file', dtype='s', direction=function.IN) - function.result_type = 'int32' - return function - @legacy_function - def get_restart_file(): - function = LegacyFunctionSpecification() - function.addParameter('restart_file', dtype='s', direction=function.OUT) - function.result_type = 'int32' - return function - @legacy_function - def set_restart_file(): - function = LegacyFunctionSpecification() - function.addParameter('restart_file', dtype='s', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_gravity_at_point(): - """ - Get the gravitational acceleration at the given points. To calculate the force on - bodies at those points, multiply with the mass of the bodies - """ - function = LegacyFunctionSpecification() - for x in ['eps','x','y','z']: - function.addParameter( - x, - dtype='float64', - direction=function.IN, - unit=units.AU - ) - for x in ['ax','ay','az']: - function.addParameter( - x, - dtype='float64', - direction=function.OUT, - unit=units.AU/units.day**2 - ) - function.addParameter('npoints', dtype='i', direction=function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - - @legacy_function - def get_potential_at_point(): - """ - Determine the gravitational potential on any given point - """ - function = LegacyFunctionSpecification() - for x in ['eps','x','y','z']: - function.addParameter( - x, - dtype='float64', - direction=function.IN, - unit=units.AU - ) - for x in ['phi']: - function.addParameter( - x, - dtype='float64', - direction=function.OUT, - unit=units.AU**2/units.day**2 - ) - function.addParameter('npoints', dtype='i', direction=function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - -class MercuryDoc(object): - - def __get__(self, instance, owner): - return instance.legacy_doc+"\n\n"+instance.parameters.__doc__ - -class MercuryWayWard(GravitationalDynamics): - - __doc__ = MercuryDoc() - - def __init__(self, convert_nbody = None, **options): - self.stopping_conditions = StoppingConditions(self) - - legacy_interface = MercuryInterface(**options) - self.legacy_doc = legacy_interface.__doc__ - - GravitationalDynamics.__init__( - self, - legacy_interface, - convert_nbody, - **options - ) - - def initialize_code(self): - self.overridden().initialize_code() - self.set_elements_file(os.devnull) - self.set_close_encounters_file(os.devnull) - self.set_info_file(os.devnull) - self.set_bigbody_file(os.devnull) - self.set_smallbody_file(os.devnull) - self.set_integration_parameters_file(os.devnull) - self.set_restart_file(os.devnull) - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_time", - None, - "time", - "current simulation time", - default_value = 0.0 | units.day - ) - - handler.add_method_parameter( - "get_initial_timestep", - "set_initial_timestep", - "timestep", - "initial timestep", - default_value = 8.0 | units.day - ) - - handler.add_method_parameter( - "get_integrator", - "set_integrator", - "integrator", - "integrator to use", - default_value = 10 - ) - - handler.add_method_parameter( - "get_rmax", - "set_rmax", - "rmax", - "heliocentric distance at for ejection", - default_value = 100. | units.AU - ) - - handler.add_method_parameter( - "get_cefac", - "set_cefac", - "cefac", - "Hybrid integrator changeover radius RCRIT (in Hill radii)", - default_value = 3. | units.none - ) - - handler.add_method_parameter( - "get_elements_file", - "set_elements_file", - "elements_file", - "outputfile for mercury data (orbital elements) [/dev/null]", - default_value = None - ) - - handler.add_method_parameter( - "get_close_encounters_file", - "set_close_encounters_file", - "close_encounters_file", - "outputfile for mercury data (close encounters) [/dev/null]", - default_value = None - ) - - handler.add_method_parameter( - "get_info_file", - "set_info_file", - "info_file", - "outputfile for mercury data (info) [/dev/null]", - default_value = None - ) - - handler.add_method_parameter( - "get_bigbody_file", - "set_bigbody_file", - "bigbody_file", - "dumpfile for mercury data (big bodies) [/dev/null]", - default_value = None - ) - - handler.add_method_parameter( - "get_smallbody_file", - "set_smallbody_file", - "smallbody_file", - "dumpfile for mercury data (small bodies) [/dev/null]", - default_value = None - ) - - handler.add_method_parameter( - "get_integration_parameters_file", - "set_integration_parameters_file", - "integration_parameters_file", - "dumpfile for mercury data (integration parameters) [/dev/null]", - default_value = None - ) - - handler.add_method_parameter( - "get_restart_file", - "set_restart_file", - "restart_file", - "dumpfile for mercury data (restart data - only mercury internal state) [/dev/null]", - default_value = None - ) - - handler.add_method_parameter( - "get_begin_time", - "set_begin_time", - "begin_time", - "model time to start the simulation at", - default_value = 0.0 | units.day - ) - - self.stopping_conditions.define_parameters(handler) - - - def define_properties(self, handler): - handler.add_property("get_kinetic_energy") - handler.add_property("get_potential_energy") - handler.add_property("get_total_energy") - handler.add_property("get_center_of_mass_position") - handler.add_property("get_center_of_mass_velocity") - handler.add_property("get_total_mass") - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - handler.add_method('EDIT', 'new_central_particle') - handler.add_method('EDIT', 'new_orbiter') - handler.add_method('UPDATE', 'new_orbiter') - handler.add_transition('RUN', 'UPDATE', 'new_central_particle', False) - handler.add_transition('RUN', 'UPDATE', 'new_orbiter', False) - self.stopping_conditions.define_state(handler) - - - - def define_particle_sets(self, handler): - handler.define_super_set('particles', ['central_particle','orbiters'], - index_to_default_set=0) - - handler.define_set('orbiters', 'id') - handler.set_new('orbiters', 'new_orbiter') - handler.set_delete('orbiters', 'delete_particle') - handler.add_setter('orbiters', 'set_orbiter_state') - handler.add_getter('orbiters', 'get_orbiter_state') - handler.add_setter('orbiters', 'set_mass') - handler.add_getter('orbiters', 'get_mass') - handler.add_setter('orbiters', 'set_density') - handler.add_getter('orbiters', 'get_density') - handler.add_setter('orbiters', 'set_position') - handler.add_getter('orbiters', 'get_position') - handler.add_setter('orbiters', 'set_velocity') - handler.add_getter('orbiters', 'get_velocity') - handler.add_setter('orbiters', 'set_angularmomentum') - handler.add_getter('orbiters', 'get_angularmomentum') - handler.add_setter('orbiters', 'set_celimit') - handler.add_getter('orbiters', 'get_celimit') - - handler.define_set('central_particle', 'id') - handler.set_new('central_particle', 'new_central_particle') - handler.add_setter('central_particle', 'set_central_particle_state') - handler.add_getter('central_particle', 'get_central_particle_state') - handler.add_setter('central_particle', 'set_central_mass') - handler.add_getter('central_particle', 'get_central_mass') - handler.add_setter('central_particle', 'set_central_radius') - handler.add_getter('central_particle', 'get_central_radius') - handler.add_setter('central_particle', 'set_central_oblateness') - handler.add_getter('central_particle', 'get_central_oblateness') - handler.add_setter('central_particle', 'set_central_spin') - handler.add_getter('central_particle', 'get_central_spin') - - #GravitationalDynamics.define_particle_sets(self, handler) - self.stopping_conditions.define_particle_set(handler) - - def define_methods(self, handler): - #GravitationalDynamics.define_methods(self, handler) - handler.add_method('evolve_model', (units.day), ( handler.ERROR_CODE, )) - handler.add_method( - 'new_orbiter', - ( - units.MSun, - units.g/units.cm**3, - units.AU, - units.AU, - units.AU, - units.AUd, - units.AUd, - units.AUd, - units.MSun * units.AU**2/units.day, - units.MSun * units.AU**2/units.day, - units.MSun * units.AU**2/units.day, - handler.NO_UNIT - ), - ( - handler.INDEX, - handler.ERROR_CODE - ) - ) - handler.add_method( - 'get_orbiter_state', - ( - handler.INDEX, - ), - ( - units.MSun, - units.g/units.cm**3, - units.AU, - units.AU, - units.AU, - units.AUd, - units.AUd, - units.AUd, - units.MSun * units.AU**2/units.day, - units.MSun * units.AU**2/units.day, - units.MSun * units.AU**2/units.day, - handler.NO_UNIT, - handler.ERROR_CODE - ) - ) - handler.add_method( - 'get_central_particle_state', - ( - handler.INDEX, - ), - ( - units.MSun, - units.AU, - units.AU**2, - units.AU**4, - units.AU**6, - units.MSun * units.AU**2/units.day, - units.MSun * units.AU**2/units.day, - units.MSun * units.AU**2/units.day, - handler.ERROR_CODE - ) - ) - - handler.add_method( - 'set_orbiter_state', - ( - handler.INDEX, - units.MSun, - units.g/units.cm**3, - units.AU, - units.AU, - units.AU, - units.AUd, - units.AUd, - units.AUd, - units.MSun * units.AU**2/units.day, - units.MSun * units.AU**2/units.day, - units.MSun * units.AU**2/units.day, - handler.NO_UNIT - ), - ( - handler.ERROR_CODE - ) - ) - handler.add_method( - 'new_central_particle', - ( - units.MSun, - units.AU, - units.AU**2, - units.AU**4, - units.AU**6, - units.MSun * units.AU**2/units.day, - units.MSun * units.AU**2/units.day, - units.MSun * units.AU**2/units.day - ), - ( - handler.INDEX, - handler.ERROR_CODE - ) - ) - - handler.add_method( - 'set_central_particle_state', - ( - handler.INDEX, - units.MSun, - units.AU, - units.AU**2, - units.AU**4, - units.AU**6, - units.MSun * units.AU**2/units.day, - units.MSun * units.AU**2/units.day, - units.MSun * units.AU**2/units.day - ), - ( - handler.ERROR_CODE - ) - ) - - handler.add_method( - "set_initial_timestep", - ( - units.day, - ), - ( - handler.ERROR_CODE - ) - ) - handler.add_method( - "get_initial_timestep", - ( - ), - ( - units.day, - handler.ERROR_CODE - ) - ) - - - - handler.add_method( - "set_mass", - ( - handler.INDEX, - units.MSun, - ), - ( - handler.ERROR_CODE - ) - ) - handler.add_method( - "get_mass", - ( - handler.INDEX, - ), - ( - units.MSun, - handler.ERROR_CODE - ) - ) - handler.add_method( - "set_central_mass", - ( - handler.INDEX, - units.MSun, - ), - ( - handler.ERROR_CODE - ) - ) - handler.add_method( - "get_central_mass", - ( - handler.INDEX, - ), - ( - units.MSun, - handler.ERROR_CODE - ) - ) - - #assuming celimit is RCEH, clouse-encounter limit - #expressed in units Hill radius, I use unit none - #see comments in: src/mercury_main.for - handler.add_method( - "set_celimit", - ( - handler.INDEX, - handler.NO_UNIT, - ), - ( - handler.ERROR_CODE - ) - ) - handler.add_method( - "get_celimit", - ( - handler.INDEX, - ), - ( - handler.NO_UNIT, - handler.ERROR_CODE - ) - ) - - handler.add_method( - "set_position", - ( - handler.INDEX, - units.AU, - units.AU, - units.AU, - ), - ( - handler.ERROR_CODE - ) - ) - handler.add_method( - "get_position", - ( - handler.INDEX, - ), - ( - units.AU, - units.AU, - units.AU, - handler.ERROR_CODE - ) - ) - handler.add_method( - "set_velocity", - ( - handler.INDEX, - units.AUd, - units.AUd, - units.AUd, - ), - ( - handler.ERROR_CODE - ) - ) - handler.add_method( - "get_velocity", - ( - handler.INDEX, - ), - ( - units.AUd, - units.AUd, - units.AUd, - handler.ERROR_CODE - ) - ) - handler.add_method( - "set_angularmomentum", - ( - handler.INDEX, - units.MSun * units.AU**2/units.day, - units.MSun * units.AU**2/units.day, - units.MSun * units.AU**2/units.day, - ), - ( - handler.ERROR_CODE - ) - ) - handler.add_method( - "get_angularmomentum", - ( - handler.INDEX, - ), - ( - units.MSun * units.AU**2/units.day, - units.MSun * units.AU**2/units.day, - units.MSun * units.AU**2/units.day, - handler.ERROR_CODE - ) - ) - handler.add_method( - "set_central_spin", - ( - handler.INDEX, - units.MSun * units.AU**2/units.day, - units.MSun * units.AU**2/units.day, - units.MSun * units.AU**2/units.day, - ), - ( - handler.ERROR_CODE - ) - ) - handler.add_method( - "get_central_spin", - ( - handler.INDEX, - ), - ( - units.MSun * units.AU**2/units.day, - units.MSun * units.AU**2/units.day, - units.MSun * units.AU**2/units.day, - handler.ERROR_CODE - ) - ) - - handler.add_method( - 'set_density', - ( - handler.INDEX, - units.g/units.cm**3 - ), - ( - handler.ERROR_CODE - ) - ) - handler.add_method( - 'get_density', - ( - handler.INDEX, - ), - ( - units.g/units.cm**3, - handler.ERROR_CODE - ) - ) - handler.add_method( - 'get_central_oblateness', - ( - handler.INDEX, - ), - ( - units.AU**2, - units.AU**4, - units.AU**6, - handler.ERROR_CODE - ) - ) - handler.add_method( - 'set_central_oblateness', - ( - handler.INDEX, - units.AU**2, - units.AU**4, - units.AU**6, - ), - ( - handler.ERROR_CODE, - ) - ) - handler.add_method( - 'get_central_radius', - ( - handler.INDEX, - ), - ( - units.AU, - handler.ERROR_CODE - ) - ) - handler.add_method( - 'set_central_radius', - ( - handler.INDEX, - units.AU, - ), - ( - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_time", - (), - (units.day, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_kinetic_energy", - (), - (units.MSun*units.AU**2/units.day**2, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_total_angular_momentum", - (), - (units.MSun*units.AU**2/units.day, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_potential_energy", - (), - (units.MSun*units.AU**2/units.day**2, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_total_energy", - (), - (units.MSun*units.AU**2/units.day**2, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_center_of_mass_position", - (), - (units.AU, units.AU, units.AU, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_center_of_mass_velocity", - (), - (units.AUd, units.AUd, units.AUd, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_total_mass", - (), - (units.MSun, handler.ERROR_CODE,) - ) - - self.stopping_conditions.define_methods(handler) - -class Mercury(MercuryWayWard): - def __init__(self, *args, **kargs): - MercuryWayWard.__init__(self, *args, **kargs) - self._particles=Particles(0) - self.model_time=0.|units.s - self.particles_accessed=True - self.committed=False - - def define_parameters(self, handler): - MercuryWayWard.define_parameters(self,handler) - - handler.add_method_parameter( - "get_eps2", - "set_eps2", - "epsilon_squared", - "smoothing parameter for gravity calculations", - default_value = 0.0 | units.AU * units.AU - ) - - def get_eps2(self): - return 0|units.AU * units.AU - - def set_eps2(self, eps2): - if eps2.number!=0: - raise Exception("Mercury cannot use non-zero smoothing") - - def get_number_of_particles(self): - return len(self.particles) - - def get_total_radius(self): - max_dist2 = 0|units.AU * units.AU - for p in self.particles: - dist2 = p.x*p.x + p.y*p.y + p.z*p.z - if dist2 > max_dist2: - max_dist2 = dist2 - return ((max_dist2.number**0.5)|units.AU) - - @property - def particles(self): - if not self.particles_accessed: - self.particles_accessed=True - return self._particles - - @property - def total_mass(self): - return self.particles.total_mass() - - - def get_center_of_mass_position(self): - return self.particles.center_of_mass() - - def get_center_of_mass_velocity(self): - return self.particles.center_of_mass_velocity() - - def commit_particles(self): - N=len(self.particles) - if N<=1: - print("too few particles") - return -11 - - ic=self.particles.mass.argmax() - self.central_particle=self.particles[ic] - - orbiters=(self.particles-self.central_particle).copy() - - maxmass=orbiters.mass.amax() - if (maxmass/self.central_particle.mass) > 0.1: - print("orbiters too massive") - return -12 - - orbiters.position=orbiters.position-self.central_particle.position - orbiters.velocity=orbiters.velocity-self.central_particle.velocity - -# note: lx,ly,lz, celimit? - if not hasattr(orbiters,'density'): - orbiters.density=orbiters.mass*3/(4*numpy.pi)/orbiters.radius**3 - - self.overridden().central_particle.add_particle(self.central_particle) - - self.overridden().orbiters.add_particles(orbiters) - - self.overridden().commit_particles() - -# commit_particles may already change the particle positions (I think it doesn't though) - """ - com_position=self.particles.center_of_mass() - com_velocity=self.particles.center_of_mass_velocity() - - self.particles.position=self.particles.position-self.central_particle.position - self.particles.velocity=self.particles.velocity-self.central_particle.velocity - - channel=self.overridden().orbiters.new_channel_to(self.particles) - - channel.copy_attributes(["x","y","z","vx","vy","vz","mass"]) - - self.particles.move_to_center() - self.particles.position+=com_position - self.particles.velocity+=com_velocity - """ - self.model_time=self.overridden().get_time() - self.committed=True - self.particles_accessed=False - return 0 - - - def recommit_particles(self): - if not self.particles_accessed: - return 0 - if self.overridden().central_particle[0] not in self.particles: - raise Exception("you are not allowed to remove the central particle") -# these are allowed now - if self.overridden().central_particle[0].mass != self.central_particle.mass: - self.overridden().central_particle.mass=self.central_particle.mass - if self.overridden().central_particle.radius != self.central_particle.radius: - self.overridden().central_particle.radius=self.central_particle.radius - - orbiters=(self.particles-self.central_particle).copy() - - maxmass=orbiters.mass.amax() - if (maxmass/self.central_particle.mass) > 0.1: - print("orbiters too massive") - return -12 - - orbiters.position=orbiters.position-self.central_particle.position - orbiters.velocity=orbiters.velocity-self.central_particle.velocity - if not hasattr(orbiters,'density'): - orbiters.density=orbiters.mass*3/(4*numpy.pi)/orbiters.radius**3 -# note: lx,ly,lz, celimit? - - orbiters.synchronize_to(self.overridden().orbiters) - - channel=orbiters.new_channel_to(self.overridden().orbiters) - - channel.copy_attributes(["x","y","z","vx","vy","vz","mass","density"]) - - self.overridden().recommit_particles() - -# recommit_particles could already change the particle positions (I think it doesn't though) - """ - com_position=self.particles.center_of_mass() - com_velocity=self.particles.center_of_mass_velocity() - - channel=self.overridden().orbiters.new_channel_to(self.particles) - channel.copy_attributes(["x","y","z","vx","vy","vz","mass"]) - self.central_particle.position*=0 - self.central_particle.velocity*=0 - self.particles.move_to_center() - self.particles.position+=com_position - self.particles.velocity+=com_velocity - """ - self.model_time=self.overridden().get_time() - self.particles_accessed=False - return 0 - - def evolve_model(self, tend): - if self.particles_accessed: - if not self.committed: - ret=self.commit_particles() - else: - ret=self.recommit_particles() - - com_position=self.particles.center_of_mass() - com_velocity=self.particles.center_of_mass_velocity() - - ret=self.overridden().evolve_model(tend) - tmodel=self.overridden().get_time() - com_position+=com_velocity*(tmodel-self.model_time) - self.model_time=tmodel - channel=self.overridden().orbiters.new_channel_to(self.particles) - channel.copy_attributes(["x","y","z","vx","vy","vz","mass"]) - self.central_particle.position*=0 - self.central_particle.velocity*=0 - self.particles.move_to_center() - self.particles.position+=com_position - self.particles.velocity+=com_velocity - self.particles_accessed=False - return ret - - def get_potential_at_point(self,eps,x,y,z): - if self.particles_accessed: - if not self.committed: - ret=self.commit_particles() - else: - ret=self.recommit_particles() - - xx=x-self.central_particle.x - yy=y-self.central_particle.y - zz=z-self.central_particle.z - - return self.overridden().get_potential_at_point(eps,xx,yy,zz) - - def get_gravity_at_point(self,eps,x,y,z): - if self.particles_accessed: - if not self.committed: - ret=self.commit_particles() - else: - ret=self.recommit_particles() - - xx=x-self.central_particle.x - yy=y-self.central_particle.y - zz=z-self.central_particle.z - - return self.overridden().get_gravity_at_point(eps,xx,yy,zz) - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - handler.add_method('EDIT', 'new_central_particle') - handler.add_method('EDIT', 'new_orbiter') - handler.add_method('UPDATE', 'new_orbiter') - handler.add_transition('RUN', 'UPDATE', 'new_central_particle', False) - handler.add_transition('RUN', 'UPDATE', 'new_orbiter', False) - handler.add_method('RUN', 'recommit_particles') - - def cleanup_code(self): - self._particles=Particles(0) - self.model_time=0.|units.s - self.particles_accessed=True - self.committed=False +MercuryInterface = load_code("mercury", "MercuryInterface") +Mercury = load_code("mercury", "Mercury") +Mercury = Mercury diff --git a/src/amuse/community/mesa/__init__.py b/src/amuse/community/mesa/__init__.py index 698466595a..6df8489dca 100644 --- a/src/amuse/community/mesa/__init__.py +++ b/src/amuse/community/mesa/__init__.py @@ -1,6 +1,5 @@ try: - from .interface import Mesa + from .interface import Mesa except: - # fix for pip install error - pass - + # fix for pip install error + pass diff --git a/src/amuse/community/mesa/interface.py b/src/amuse/community/mesa/interface.py index 4bb9e81339..fd56b13b02 100644 --- a/src/amuse/community/mesa/interface.py +++ b/src/amuse/community/mesa/interface.py @@ -1,32 +1,43 @@ """ MESA chooser """ -from amuse.community.mesa_r2208.interface import \ - MESAInterface as MESAInterface_2208 -from amuse.community.mesa_r15140.interface import \ - MESAInterface as MESAInterface_15140 -from amuse.community.mesa_r2208.interface import MESA as MESA_2208 -from amuse.community.mesa_r15140.interface import MESA as MESA_15140 +MESA_VERSIONS_AVAILABLE = [] +try: + from amuse.community.mesa_r2208 import \ + MesaInterface as MesaInterface_2208 + from amuse.community.mesa_r2208 import Mesa as Mesa_2208 + MESA_VERSIONS_AVAILABLE.append("2208") +except ImportError: + pass -def MESAInterface(version="15140", **options): +try: + from amuse.community.mesa_r15140 import \ + MesaInterface as MesaInterface_15140 + from amuse.community.mesa_r15140 import Mesa as Mesa_15140 + MESA_VERSIONS_AVAILABLE.append("15140") +except ImportError: + pass + +if len(MESA_VERSIONS_AVAILABLE) == 0: + raise ImportError("No MESA versions are available") + +def MesaInterface(version="15140", **options): if str(version) == "2208": - return MESAInterface_2208(**options) + return MesaInterface_2208(**options) if str(version) == "15140": - return MESAInterface_15140(**options) + return MesaInterface_15140(**options) raise AttributeError( "This version of MESA is not (yet) supported by AMUSE" ) - -def MESA(version="15140", **options): +def Mesa(version="15140", **options): if str(version) == "2208": - return MESA_2208(**options) + return Mesa_2208(**options) if str(version) == "15140": - return MESA_15140(**options) + return Mesa_15140(**options) raise AttributeError( "This version of MESA is not (yet) supported by AMUSE" ) - -Mesa = MESA +MESA = Mesa diff --git a/src/amuse/community/mesa_r15140/Makefile b/src/amuse/community/mesa_r15140/Makefile deleted file mode 100644 index 9f87bbb838..0000000000 --- a/src/amuse/community/mesa_r15140/Makefile +++ /dev/null @@ -1,170 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - - -GFORTRAN_VERSION?=$(shell $(FC) -v 2>&1 | grep gcc\ version | cut -d\ -f3) -GFORTRAN_MAJOR_MINOR=$(shell echo $(GFORTRAN_VERSION) | cut -s -d'.' -f1,2) -#IFORT_VERSION?=$(shell $(FC) -v 2>&1 | cut -d\ -f2) -#IFORT_MAJOR_MINOR=$(shell echo $(IFORT_VERSION) | cut -s -d'.' -f1,2) -MPIFC ?= mpif90 -MPIF90 ?= mpif90 -MPICC ?= mpicc -FORTRAN ?= gfortran -PYTHON ?= python -FC ?= $(FORTRAN) -export CC ?= gcc -MPIFC+= $(FCFLAGS) -MPICC+= $(CFLAGS) - -LAPACK_LIBS ?= -llapack -BLAS_LIBS ?= -lblas - -export FC MPIFC MPICC LAPACK_LIBS BLAS_LIBS - - -SRC_DIR := $(realpath ./src) - -MESA_MAKE_DIR=./mesa_reqs -INCLUDE_DIR=./src/mesa/star/make -export MESA_DIR = $(realpath ./src/mesa-r15140) -MESA_LIB=$(MESA_DIR)/lib/libstar.a -WORK_SRC_DIR=./ - -export OPENMP_FCFLAGS=$(OPENMP_FCFLAG) - -DOWNLOAD_FROM_WEB = $(PYTHON) ./download.py -BUILD_DEP = $(PYTHON) ./build-dep.py -PATCHES_DIR=./patches - -include $(PATCHES_DIR)/makefile_header_non_mesasdk - -all: mesa_worker - -$(MESA_DIR)/install: - make -C . download - -download: - $(RM) -Rf src - -mkdir src - $(DOWNLOAD_FROM_WEB) - make -C . patch - make -C . skip_tests - make -C . build_hdf5 - make -C . build_ndiff - make -C . build_makedepf90 - make -C . build_crmath - make -C . build_crlibm - make -C . build_fpx3_deps - make -C . build_fpx3 - make -C . build_lapack95 - make -C . install_deps - -build_ndiff: - cd $(MESA_DIR)/utils;\ - rm -rf ndiff-2.00;\ - tar xvf ndiff-2.00.tar.gz;\ - cd ndiff-2.00;\ - ./configure;\ - make;\ - -build_makedepf90: - cd $(MESA_DIR)/utils;\ - rm -rf makedepf90-2.8.8;\ - tar xvf makedepf90-2.8.8.tar.gz;\ - cd makedepf90-2.8.8;\ - ./configure;\ - make;\ - -build_crmath: - cd $(SRC_DIR)/crmath-1.2;\ - make;\ - -build_crlibm: - cd $(SRC_DIR)/crlibm-1.0beta4;\ - ./configure --enable-static=yes;\ - make;\ - make install;\ - ar cru libcrlibm.a *.o scs_lib/*.o - -build_fpx3: - mv $(SRC_DIR)/fpx3 $(SRC_DIR)/fpx3_folder;\ - cp $(SRC_DIR)/fpx3_folder/fpx3 $(SRC_DIR)/fpx3 - -build_lapack95: - cd $(SRC_DIR)/LAPACK95/SRC;\ - mkdir ../lapack95_modules;\ - make clean;\ - make single_double_complex_dcomplex - -build_fpx3_deps: - chmod u+x $(SRC_DIR)/fpx3_deps - -build_hdf5: - cd $(SRC_DIR)/hdf5-1.12.0;\ - ./configure --enable-fortran --enable-fortran2003 --enable-parallel --prefix=$(MESA_DIR) --enable-shared=no;\ - make;\ - make install - -clean: - $(RM) -f *~ *.pyc *.mod *.smod *.o worker_code worker_code.f90 $(MESA_LIB) - $(RM) -f mesa_worker mesa_worker_sockets worker_code-sockets.f90 - make -C $(MESA_MAKE_DIR) clean - -veryclean: clean - cd $(MESA_DIR); ./clean - -distclean: clean - $(RM) -Rf src - $(RM) -Rf src.* - $(RM) -Rf .pc - -mesa_worker: worker_code.f90 mesa_interface.o interface.o run_star_extras.o - $(MPIF90) $(FCFLAGS) $(FFLAGS) $(LDFLAGS) $(FCopenmp) $(FS_FLAGS) $^ -o $@ \ - $(LOAD_EXTRAS1) $(OTHER_INCLUDES) $(LOAD_MESA_STAR) $(LOAD_EXTRAS) $(FS_LIBS) $(LIBS) - -mesa_interface.o: mesa_interface.f90 $(MESA_LIB) run_star_extras.o - $(WORK_COMPILE) -I$(MESA_DIR)/star/make -I./ $< - - -run_star_extras.o: run_star_extras.f90 $(MESA_LIB) - $(WORK_COMPILE) $< - - -worker_code.f90: interface.py - $(CODE_GENERATOR) --type=f90 interface.py MESAInterface -o $@ - - -$(MESA_LIB): $(MESA_DIR)/install - mkdir -p $(MESA_DIR)/lib $(MESA_DIR)/include - cd $(MESA_DIR);\ - env PATH=$(MESA_DIR)/../:$(PATH) ./install - - -patch: - mkdir -p $(MESA_DIR)/lib $(MESA_DIR)/include - $(PYTHON) ./patch_files.py - cp $(PATCHES_DIR)/makefile_header_non_mesasdk $(MESA_DIR)/utils/makefile_header - -install_deps: - cp ./src/crmath-1.2/libcrmath.a $(MESA_DIR)/lib/. - cp ./src/crmath-1.2/*.mod $(MESA_DIR)/include/. - cp ./src/crmath-1.2/*.smod $(MESA_DIR)/include/. - cp ./src/crlibm-1.0beta4/libcrlibm.a $(MESA_DIR)/lib/. - cp ./src/LAPACK95/lapack95_modules/*.mod $(MESA_DIR)/include/. - cp ./src/LAPACK95/lapack95.a $(MESA_DIR)/lib/liblapack95.a - cp $(MESA_DIR)/utils/makedepf90-2.8.8/makedepf90 $(SRC_DIR)/. - cp $(MESA_DIR)/utils/ndiff-2.00/ndiff $(SRC_DIR)/. - -interface.o: interface.f90 $(MESA_LIB) - $(WORK_COMPILE) $< - -skip_tests: -#This one should always be skipped - touch $(MESA_DIR)/adipls/skip_test -# We cant guarentee bit-for-bit as we dont control the compiler used -# So everyone has to skip the build tests - touch $(MESA_DIR)/skip_test diff --git a/src/amuse/community/mesa_r15140/__init__.py b/src/amuse/community/mesa_r15140/__init__.py new file mode 100644 index 0000000000..96df75de6b --- /dev/null +++ b/src/amuse/community/mesa_r15140/__init__.py @@ -0,0 +1 @@ +from amuse.community.mesa_r15140.interface import Mesa, MesaInterface diff --git a/src/amuse/community/mesa_r15140/download.py b/src/amuse/community/mesa_r15140/download.py deleted file mode 100755 index 7f247875d9..0000000000 --- a/src/amuse/community/mesa_r15140/download.py +++ /dev/null @@ -1,143 +0,0 @@ -#!/usr/bin/env python - -import subprocess -import os -import urllib.request -import urllib.parse -import urllib.error -from shutil import which -from optparse import OptionParser -import stat - - -class GetCodeFromHttp: - filename_template = "mesa-r{version}.zip" - url_template = '' - version = "" - zip=True - unpack=True - - def directory(self): - return os.path.abspath(os.path.dirname(__file__)) - - def src_directory(self): - return os.path.join(self.directory(), 'src') - - def unpack_downloaded_file(self, filename): - print(f"unpacking {filename}") - if self.unpack: - if self.zip: - arguments = ['unzip'] - else: - arguments = ['tar', 'xvf'] - arguments.append(filename) - subprocess.call( - arguments, - cwd=os.path.join(self.src_directory()) - ) - print("done") - - def start(self): - if not os.path.exists('src'): - os.mkdir('src') - - url = self.url_template.format(version=self.version) - filename = self.filename_template.format(version=self.version) - filepath = os.path.join(self.src_directory(), filename) - print(f"downloading version {self.version} from {url} to {filename}") - if which('wget') is not None: - arguments = ['wget', '--user-agent="Mozilla"', url] - subprocess.call( - arguments, - cwd=os.path.join(self.src_directory()) - ) - elif which('curl') is not None: - arguments = ['curl', '-L', '-O', url] - subprocess.call( - arguments, - cwd=os.path.join(self.src_directory()) - ) - else: - urllib.request.urlretrieve(url, filepath) - print("downloading finished") - self.unpack_downloaded_file(filename) - - -def make_exectuable(filename): - st = os.stat(filename) - os.chmod(filename, st.st_mode | stat.S_IEXEC) - -def get_crmath(): - instance = GetCodeFromHttp() - instance.url_template = 'https://github.com/rhdtownsend/crmath/archive/{version}.zip' - instance.filename_template='{version}.zip' - instance.version = 'v1.2' - instance.start() - - -def get_crlibm(): - instance = GetCodeFromHttp() - instance.url_template = 'http://user.astro.wisc.edu/~townsend/resource/download/sdk2/src/crlibm-{version}.tar.gz' - instance.filename_template='crlibm-{version}.tar.gz' - instance.version = '1.0beta4' - instance.zip = False - instance.start() - -def get_fpx3deps(): - instance = GetCodeFromHttp() - instance.url_template = 'https://raw.githubusercontent.com/rhdtownsend/sdk2/master/profile/common/fpx3/fpx3_deps' - instance.filename_template='fpx3_deps' - instance.version = '' - instance.zip = False - instance.unpack = False - instance.start() - -def get_fpx3(): - instance = GetCodeFromHttp() - instance.url_template = 'http://user.astro.wisc.edu/~townsend/resource/download/sdk2/src/fpx3.tar.gz' - instance.filename_template='fpx3.tar.gz' - instance.version = '' - instance.zip = False - instance.start() - -def get_lapack95(): - instance = GetCodeFromHttp() - instance.url_template = 'http://user.astro.wisc.edu/~townsend/resource/download/sdk2/src/lapack95.tgz' - instance.filename_template='lapack95.tgz' - instance.version = '' - instance.zip = False - instance.start() - -def get_mesa(): - instance = GetCodeFromHttp() - - if 'AMUSE_LOCAL_COPY_MESA' in os.environ: - instance.url_template = os.environ['AMUSE_LOCAL_COPY_MESA'] - else: - instance.url_template = "https://zenodo.org/record/4311514/files/mesa-r{version}.zip" - - instance.version = '15140' - instance.start() - -def get_hdf5(): - instance = GetCodeFromHttp() - instance.url_template = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.12/hdf5-{version}/src/hdf5-{version}.tar.bz2" - instance.filename_template='hdf5-{version}.tar.bz2' - instance.version = '1.12.0' - instance.zip = False - instance.start() - - -def main(): - get_lapack95() - get_crmath() - get_crlibm() - get_fpx3() - get_fpx3deps() - get_hdf5() - get_mesa() - - - -if __name__ == "__main__": - main() diff --git a/src/amuse/community/mesa_r15140/interface.py b/src/amuse/community/mesa_r15140/interface.py index 980c1b3ef6..7cf5db632e 100644 --- a/src/amuse/community/mesa_r15140/interface.py +++ b/src/amuse/community/mesa_r15140/interface.py @@ -1,2190 +1,7 @@ -import os -import numpy -import tempfile +from amuse.support.import_helper import load_code -from amuse.units import units -from amuse.community import * -from amuse.community import ( - CodeInterface, LiteratureReferencesMixIn, - CodeWithDataDirectories, LegacyFunctionSpecification, legacy_function, - remote_function -) -from amuse.community.interface.se import ( - StellarEvolution, StellarEvolutionInterface, - InternalStellarStructure, InternalStellarStructureInterface -) -from amuse.support.interface import InCodeComponentImplementation -from amuse.support.options import option +MesaInterface = load_code("mesa_r15140", "MesaInterface") +Mesa = load_code("mesa_r15140", "Mesa") - -class MESAInterface( - CodeInterface, LiteratureReferencesMixIn, StellarEvolutionInterface, - InternalStellarStructureInterface, CodeWithDataDirectories -): - """ - The software project MESA (Modules for Experiments in Stellar Astrophysics, - http://mesa.sourceforge.net/) version 15140, aims to provide - state-of-the-art, robust, and efficient open source modules, usable singly - or in combination for a wide range of applications in stellar astrophysics. - The AMUSE interface to MESA can create and evolve stars using the MESA/STAR - module. All metallicities are supported, even the interesting case of Z=0. - The supported stellar mass range is from about 1M_jupiter to >100 Msun. - - References: - .. [#] ADS:2011ApJS..192....3P (Paxton, Bildsten, Dotter, Herwig, Lesaffre & Timmes 2011, ApJS) - .. [#] ADS:2013ApJS..208....4P (Paxton, Cantiello, Arras, Bildsten, Brown, Dotter, Mankovich, Montgomery, Stello, Timmes, Townsend, 2013, ApJS) - .. [#] ADS:2015ApJS..220...15P (Paxton, Marchant, Schwab, Bauer, Bildsten, Cantiello, Dessart, Farmer, Hu, Langer, Townsend, Townsley, Timmes, 2015, ApJS) - .. [#] ADS:2018ApJS..234...34P (Paxton, Schwab, Bauer, Bildsten, Blinnikov, Duffell, Farmer, Goldberg, Marchant, Sorokina, Thoul, Townsend, Timmes, 2018, ApJS) - .. [#] ADS:2019ApJS..243...10P (Paxton, Smolec, Schwab, Gautschy, Bildsten, Cantiello, Dotter, Farmer, Goldberg, Jermyn, Kanbur, Marchant, Thoul, Townsend, Wolf, Zhang, Timmes, 2019, ApJS) - .. [#] http://mesa.sourceforge.net/ - .. [#] https://docs.mesastar.org/en/latest/reference.html - """ - - use_modules = ['amuse_mesa'] - - # Needs to keep sync with interface.f90 - _CONTROL_NML = 0 - _STAR_JOB_NML = 1 - _EOS_NML = 2 - _KAP_NML = 3 - - # Set in mesa_interface.f90 - _M_CENTER = 0 - _R_CENTER = 1 - _L_CENTER = 2 - _V_CENTER = 3 - - def __init__(self, **options): - CodeInterface.__init__(self, name_of_the_worker="mesa_worker", **options) - LiteratureReferencesMixIn.__init__(self) - CodeWithDataDirectories.__init__(self) - self.mesa_version = "15140" - - @property - def default_path_to_inlist(self): - return '' - - @option(type="string", sections=('data')) - def default_path_to_MESA(self): - return os.path.join(self.amuse_root_directory, 'src', 'amuse', 'community', 'mesa_r15140', 'src', 'mesa-r15140') - - - @option(type="string", sections=('data')) - def default_path_to_MESA_data(self): - return os.path.join(self.amuse_root_directory, 'src', 'amuse', 'community', 'mesa_r15140', 'src', 'mesa-r15140', 'data') - - @property - def default_tmp_dir(self): - """ - This must be unique for each MESA star being run a time, as a place MESA can write - temporay files to. - - It does not need persistance - """ - return tempfile.mkdtemp() - - @legacy_function - def set_MESA_paths(): - """ - Set the paths to the MESA inlist and data directories. - """ - function = LegacyFunctionSpecification() - function.addParameter( - 'inlist_path', dtype='string', direction=function.IN, - description="Path to the inlist file.") - function.addParameter( - 'mesa_dir', dtype='string', direction=function.IN, - description="Path to the MESA directory.") - function.addParameter( - 'mesa_data_dir', dtype='string', direction=function.IN, - description="Path to the MESA data directory. Normally this would be mesa_dir/data") - function.addParameter( - 'local_data_path', dtype='string', direction=function.IN, - description="Path to the data directory.") - function.addParameter( - 'gyre_in_filename', dtype='string', direction=function.IN, - description="Path to the gyre.in file.") - function.addParameter( - 'temp_dir', dtype='string', direction=function.IN, - description="Unique per-MESA temporary folder") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value was set - -1 - ERROR - Directory does not exist - """ - return function - - @remote_function - def get_maximum_number_of_stars(): - """ - Retrieve the maximum number of stars that can be - handled by this instance. - """ - returns (maximum_number_of_stars='i') - - @legacy_function - def new_pre_ms_particle(): - """ - Define a new pre-main-sequence star in the code. The star will start with the given mass. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.OUT - , description="The new index for the star. This index can be used to refer to this star in other functions") - function.addParameter('mass', dtype='float64', direction=function.IN - , description="The initial mass of the star") - function.addParameter('num_steps', dtype='int32', direction=function.IN, default=-1 - , description="Number of steps to take during pre-MS relaxation process. If negative uses MESA's default choice") - function.result_type = 'int32' - return function - - @legacy_function - def new_pure_he_particle(): - """ - Define a new pure He star in the code. The star will start with the given mass. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.OUT - , description="The new index for the star. This index can be used to refer to this star in other functions") - function.addParameter('mass', dtype='float64', direction=function.IN - , description="The initial mass of the star") - function.result_type = 'int32' - return function - - @legacy_function - def new_zams_particle(): - """ - Define a new ZAMS model with Z=0.02. The star will start with the given mass. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.OUT - , description="The new index for the star. This index can be used to refer to this star in other functions") - function.addParameter('mass', dtype='float64', direction=function.IN - , description="The initial mass of the star") - function.result_type = 'int32' - return function - - @legacy_function - def load_model(): - """ - Load a pre-built MESA model (.mod file) - """ - function = LegacyFunctionSpecification() - - function.addParameter('index_of_the_star', dtype='int32', direction=function.OUT - , description="The new index for the star. This index can be used to refer to this star in other functions") - function.addParameter('filename', dtype='string', direction=function.IN - , description="The filename of the model to load") - function.result_type = 'int32' - return function - - - @legacy_function - def load_photo(): - """ - Load a MESA snapshot (photo file) - """ - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_star', dtype='int32', direction=function.OUT - , description="The new index for the star. This index can be used to refer to this star in other functions") - function.addParameter('filename', dtype='string', direction=function.IN - , description="The filename of the photo to load") - function.result_type = 'int32' - return function - - - @remote_function - def save_photo(index_of_the_star='i', filename='s' ): - returns () - - @remote_function - def save_model(index_of_the_star='i', filename='s'): - returns () - - - @remote_function - def set_time_step(index_of_the_star='i', time_step='d' | units.s): - returns () - - @legacy_function - def get_time_step(): - """ - Retrieve the current time step - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('time_step', dtype='float64', direction=function.OUT - , description="Current timestep") - function.result_type = 'int32' - return function - - @legacy_function - def get_core_mass(): - """ - Retrieve the current core mass of the star, where hydrogen abundance is <= h1_boundary_limit - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('core_mass', dtype='float64', direction=function.OUT - , description="The current core mass of the star, where hydrogen abundance is <= h1_boundary_limit") - function.result_type = 'int32' - return function - - @remote_function(can_handle_array=True) - def get_mass_loss_rate(index_of_the_star='i'): - """ - Retrieve the current mass loss rate of the star. (positive for winds, negative for accretion) - """ - returns (mass_change='d' | units.MSun/units.julianyr) - - @remote_function(can_handle_array=True) - def get_manual_mass_transfer_rate(index_of_the_star='i'): - """ - Retrieve the current user-specified mass transfer rate of the star. (negative for winds, positive for accretion) - """ - returns (mass_change='d' | units.MSun/units.julianyr) - - @remote_function - def set_manual_mass_transfer_rate(index_of_the_star='i', mass_change='d' | units.MSun/units.julianyr): - """ - Set a new user-specified mass transfer rate of the star. (negative for winds, positive for accretion) - """ - return () - - @legacy_function - def get_id_of_species(): - """ - Retrieve the net_id of the chemical abundance variable of the star. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('species', dtype='string', direction=function.IN - , description="The name of the isotope to get the name id of") - function.addParameter('species_id', dtype='int32', direction=function.OUT - , description="The net_id of the chemical abundance variable of the star.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value was retrieved. - -1 - ERROR - A star with the given index was not found. - -2 - ERROR - The isotope was not found. - """ - return function - - @legacy_function - def get_mass_of_species(): - """ - Retrieve the mass number of the species. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('species', dtype='int32', direction=function.IN - , description="The species of the star to get the mass number of") - function.addParameter('species_mass', dtype='float64', direction=function.OUT - , description="The mass number of the chemical abundance variable of the star.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value was retrieved. - -1 - ERROR - A star with the given index was not found. - -2 - ERROR - The species was not found - """ - return function - - @legacy_function - def get_mass_fraction_of_species_at_zone(): - """ - Retrieve the mass number of the chemical abundance variable of the star at zone. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('species', dtype='int32', direction=function.IN - , description="The species of the star to get the mass number of") - function.addParameter('zone', dtype='int32', direction=function.IN - , description="The zone of the star to get the mass number of") - function.addParameter('species_mass', dtype='float64', direction=function.OUT - , description="The mass number of the chemical abundance variable of the star.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value was retrieved. - -1 - ERROR - A star with the given index was not found. - -2 - ERROR - The zone was not found - -3 - ERROR - The species was not found - """ - return function - - @legacy_function - def get_name_of_species(): - """ - Retrieve the name of the species given by the species id - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('species', dtype='int32', direction=function.IN - , description="The species of the star to get the mass number of") - function.addParameter('species_name', dtype='string', direction=function.OUT - , description="The name of the species.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value was retrieved. - -1 - ERROR - A star with the given index was not found. - -2 - ERROR - The species was not found - """ - return function - - @legacy_function - def get_max_age_stop_condition(): - """ - Retrieve the current maximum age stop condition of this instance (in years). - Evolution will stop once the star has reached this maximum age. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('max_age_stop_condition', dtype='float64', direction=function.OUT - , description="The current maximum age stop condition of this instance (in years).") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value was retrieved - -1 - ERROR - The code could not retrieve the value. - """ - return function - - @legacy_function - def set_max_age_stop_condition(): - """ - Set the new maximum age stop condition of this instance (in years). - Evolution will stop once the star has reached this maximum age. - """ - function = LegacyFunctionSpecification() - function.addParameter('max_age_stop_condition', dtype='float64', direction=function.IN - , description="The new maximum age stop condition of this instance (in years).") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - The code could not set the value. - """ - return function - - @legacy_function - def get_min_timestep_stop_condition(): - """ - Retrieve the current minimum timestep stop condition of this instance (in years). - Evolution will stop if the timestep required by the solver in order to converge - has decreased below this minimum timestep. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('min_timestep_stop_condition', dtype='float64', direction=function.OUT - , description="The current minimum timestep stop condition of this instance (in years).") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value was retrieved - -1 - ERROR - The code could not retrieve the value. - """ - return function - - @legacy_function - def set_min_timestep_stop_condition(): - """ - Set the new minimum timestep stop condition of this instance (in years). - Evolution will stop if the timestep required by the solver in order to converge - has decreased below this minimum timestep. - """ - function = LegacyFunctionSpecification() - function.addParameter('min_timestep_stop_condition', dtype='float64', direction=function.IN - , description="The new minimum timestep stop condition of this instance (in years).") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - The code could not set the value. - """ - return function - - @legacy_function - def get_max_iter_stop_condition(): - """ - Retrieve the current maximum number of iterations of this instance. (Negative means no maximum) - Evolution will stop after this number of iterations. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('max_iter_stop_condition', dtype='int32', direction=function.OUT - , description="The current maximum number of iterations of this instance.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value was retrieved - -1 - ERROR - The code could not retrieve the value. - """ - return function - - @legacy_function - def set_max_iter_stop_condition(): - """ - Set the new maximum number of iterations of this instance. (Negative means no maximum) - Evolution will stop after this number of iterations. - """ - function = LegacyFunctionSpecification() - function.addParameter('max_iter_stop_condition', dtype='int32', direction=function.IN - , description="The new maximum number of iterations of this instance.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - The code could not set the value. - """ - return function - - @legacy_function - def _get_opt(): - """ - Users should not call this directly - """ - function = LegacyFunctionSpecification() - function.name = 'get_opt' - function.can_handle_array=True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('type', dtype='int32', direction=function.IN - , description="Flag for which type of option to get") - function.addParameter('name', dtype='string', direction=function.IN - , description="Name of control parameter to get") - function.addParameter('value', dtype='string', direction=function.OUT - , description="The value of the parameter") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - The code could not set the value. - """ - return function - - @legacy_function - def _set_opt(): - """ - Users should not call this directly - """ - function = LegacyFunctionSpecification() - function.name = 'set_opt' - function.can_handle_array=True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('type', dtype='int32', direction=function.IN - , description="Flag for which type of option to get") - function.addParameter('name', dtype='string', direction=function.IN - , description="Name of control parameter to get") - function.addParameter('value', dtype='string', direction=function.IN - , description="The value of the parameter") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - The code could not set the value. - """ - return function - - def set_control(self, index_of_the_star, name, value): - """ - Sets a MESA control namelist value. - """ - v = self._val2str(value) - return self._set_opt(index_of_the_star, self._CONTROL_NML, name, v) - - def get_control(self, index_of_the_star, name): - """ - Gets a MESA control namelist value. - """ - v = self._get_opt(index_of_the_star, self._CONTROL_NML, name) - v['value'] = self._str2val(v['value']) - return v - - def set_star_job(self, index_of_the_star, name, value): - """ - Sets a MESA star_job namelist value. - """ - v = self._val2str(value) - return self._set_opt(index_of_the_star, self._STAR_JOB_NML, name, v) - - def get_star_job(self, index_of_the_star, name): - """ - Gets a MESA star_job namelist value. - """ - v = self._get_opt(index_of_the_star, self._STAR_JOB_NML, name) - v['value'] = self._str2val(v['value']) - return v - - def set_eos(self, index_of_the_star, name, value): - """ - Sets a MESA eos namelist value. - """ - v = self._val2str(value) - return self._set_opt(index_of_the_star, self._EOS_NML, name, v) - - def get_eos(self, index_of_the_star, name): - """ - Gets a MESA eos namelist value. - """ - v = self._get_opt(index_of_the_star, self._EOS_NML, name) - v['value'] = self._str2val(v['value']) - return v - - def set_kap(self, index_of_the_star, name, value): - """ - Sets a MESA kap namelist value. - """ - v = self._val2str(value) - return self._set_opt(index_of_the_star, self._KAP_NML, name, v) - - def get_kap(self, index_of_the_star, name): - """ - Gets a MESA kap namelist value. - """ - v = self._get_opt(index_of_the_star, self._KAP_NML, name) - v['value'] = self._str2val(v['value']) - return v - - def _val2str(self, value): - if isinstance(value, bool): - if value: - return '.true.' - else: - return '.false.' - elif isinstance(value, (int, float)): - return str(value) - else: - if '"' not in value and "'" not in value: - return '"'+str(value)+'"' - else: - return value - - def _str2val(self, value): - def process(val): - val = val.strip() - if '.true.' in val.lower() or val == 'T': - return True - elif '.false.' in val.lower() or val == 'F': - return False - try: - return int(val) - except ValueError: - pass - try: - return float(val) - except ValueError: - pass - return val - - if isinstance(value, (list, numpy.ndarray)): - result = numpy.array([process(i) for i in value]) - else: - result = process(value) - - return result - - @legacy_function - def set_mesa_value(): - """ - Sets a MESA variable given by name. If the variable is not an array then set zone=1 - - Not all variables are supported, addtional ones can be added to set_value() in mesa_interface.f90 - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('name', dtype='string', direction=function.IN - , description="Name of the variable to set") - function.addParameter('value', dtype='float64', direction=function.IN - , description="Value to set to") - function.addParameter('zone', dtype='int32', direction=function.IN - , description="Zone if setting array ( must between 1 and s%nz)") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - An error occured - -2 - ERROR - The zone is out of bounds - -3 - ERROR - The named variable does not exist - """ - return function - - @legacy_function - def get_mesa_value(): - """ - Gets a MESA variable given by name. If the variable is not an array then set zone=1 - - Not all variables are supported, addtional ones can be added to get_value() in mesa_interface.f90 - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('name', dtype='string', direction=function.IN - , description="Name of the variable to get") - function.addParameter('value', dtype='float64', direction=function.OUT - , description="Value which has be gotten") - function.addParameter('zone', dtype='int32', direction=function.IN - , description="Zone if getting from an array (must between 1 and s%nz)") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been gotten. - -1 - ERROR - An error occured - -2 - ERROR - The zone is out of bounds - -3 - ERROR - The named variable does not exist - """ - return function - - @legacy_function - def _get_center_value(): - """ - Gets one of the inner boundry conditions of mesa - """ - function = LegacyFunctionSpecification() - function.name = 'get_center_value' - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('name', dtype='int32', direction=function.IN - , description="Flag for which variable to get") - function.addParameter('value', dtype='float64', direction=function.OUT - , description="Value which has to be get") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been gotten. - -1 - ERROR - An error occured - -3 - ERROR - The named variable does not exist - """ - return function - - @legacy_function - def _set_center_value(): - """ - Sets one of the inner boundry conditions of mesa - """ - function = LegacyFunctionSpecification() - function.name = 'set_center_value' - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('name', dtype='int32', direction=function.IN - , description="Flag for which variable to set") - function.addParameter('value', dtype='float64', direction=function.IN - , description="Value which has to be set") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been gotten. - -1 - ERROR - An error occured - -3 - ERROR - The named variable does not exist - """ - return function - - def set_m_center(self, index_of_the_star, value): - """ - Sets the inner mass boundary - """ - return self._set_center_value(index_of_the_star, self._M_CENTER, value) - - def get_m_center(self, index_of_the_star): - """ - Gets the inner mass boundary - """ - return self._get_center_value(index_of_the_star, self._M_CENTER) - - def set_r_center(self, index_of_the_star, value): - """ - Sets the inner radius boundary - """ - return self._set_center_value(index_of_the_star, self._R_CENTER, value) - - def get_r_center(self, index_of_the_star): - """ - Gets the inner radius boundary - """ - return self._get_center_value(index_of_the_star, self._R_CENTER) - - def set_l_center(self, index_of_the_star, value ): - """ - Sets the inner luminosity boundary - """ - return self._set_center_value(index_of_the_star, self._L_CENTER, value) - - def get_l_center(self, index_of_the_star): - """ - Gets the inner luminosity boundary - """ - return self._get_center_value(index_of_the_star, self._L_CENTER) - - def set_v_center(self, index_of_the_star, value ): - """ - Sets the inner velocity boundary - """ - return self._set_center_value(index_of_the_star, self._V_CENTER, value) - - def get_v_center(self, index_of_the_star): - """ - Sets the inner velocity boundary - """ - return self._get_center_value(index_of_the_star, self._V_CENTER) - - @legacy_function - def new_stellar_model(): - """ - Define a new star model in the code. - Arrays should be in MESA order (surface =1 center=n) - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - for par in ['star_mass', 'dq', 'rho', 'temperature', - 'XH1', 'XHe3', 'XHe4', 'XC12', 'XN14', 'XO16', 'XNe20', 'XMg24', 'XSi28', 'XS32', - 'XAr36', 'XCa40', 'XTi44', 'XCr48', 'XFe52', 'XFe54', 'XFe56', 'XCr56', 'XNi56', - 'prot', 'neut']: - function.addParameter(par, dtype='float64', direction=function.IN) - function.addParameter('n', 'int32', function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def finalize_stellar_model(): - """ - Finalize the new star model defined by 'new_stellar_model'. - """ - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_star', dtype='int32', - direction=function.OUT, description="The new index for the star. " - "This index can be used to refer to this star in other functions") - function.addParameter('age_tag', dtype='float64', direction=function.IN, - description="The initial age of the star") - function.result_type = 'int32' - return function - - @remote_function(can_handle_array=True) - def get_profile_at_zone(index_of_the_star='i', zone='i', name='s'): - """ - Retrieve arbitary profile column at the specified zone/mesh-cell of the star. - """ - returns (value='d') - - @remote_function(can_handle_array=True) - def get_history(index_of_the_star='i', name='s'): - """ - Retrieve arbitary history column of the star. - """ - returns (value='d') - - @remote_function - def star_job_update(index_of_the_star='i'): - """ - After changing options in star_job this function must be called to make the changes to the star - """ - returns () - - @remote_function - def get_nuclear_network(index_of_the_star='i'): - """ - Retrieve the current nuclear network of the star. - """ - returns (net_name='s') - - @remote_function - def set_nuclear_network(index_of_the_star='i', net_name='s'): - """ - Set the current nuclear network of the star. - """ - returns () - - @remote_function(can_handle_array=True) - def get_age(index_of_the_star='i'): - """ - Retrieve the current age of the star - """ - returns (age='d' | units.julianyr) - - @remote_function - def set_age(index_of_the_star='i', new_age='d' | units.julianyr): - """ - Set the current age of the star - """ - returns () - - def get_radius_at_zone(self, index_of_the_star, zone): - return self.get_profile_at_zone(index_of_the_star, zone, 'radius') - - def get_temperature_at_zone(self, index_of_the_star, zone): - return self.get_profile_at_zone(index_of_the_star, zone, 'temperature') - - def get_density_at_zone(self, index_of_the_star, zone): - return self.get_profile_at_zone(index_of_the_star, zone, 'density') - - def get_pressure_at_zone(self, index_of_the_star, zone): - return self.get_profile_at_zone(index_of_the_star, zone, 'pressure') - - def get_mu_at_zone(self, index_of_the_star, zone): - return self.get_profile_at_zone(index_of_the_star, zone, 'mu') - - def get_mass_fraction_of_species_at_zone(self, index_of_the_star, species, zone): - res = self.get_name_of_species(index_of_the_star, species) - if all(numpy.atleast_1d(res['__result'])) == 0: - return self.get_profile_at_zone(index_of_the_star, zone, res['species_name']) - else: - return res['__result'] - - - def get_accrete_same_as_surface(self, index_of_the_star): - return self.get_control(index_of_the_star,'accrete_same_as_surface') - - - def set_accrete_same_as_surface(self, index_of_the_star, value): - return self.set_control(index_of_the_star,'accrete_same_as_surface', value) - - @legacy_function - def _get_gyre(): - """ - Get gyre data. Dont call this directly use get_gyre() - """ - function = LegacyFunctionSpecification() - function.name = 'get_gyre' - function.addParameter('index_of_the_star', dtype='int32', - direction=function.IN, description="The index for the star. ") - function.addParameter('mode_l', dtype='int32', - direction=function.IN, description="L mode to find (must match that in gyre.in) ") - function.addParameter('add_center_point', dtype='bool', direction=function.IN, - description="Whether to add center point") - function.addParameter('keep_surface_pointt', dtype='bool', direction=function.IN, - description="Whether to keep surface point") - function.addParameter('add_atmosphere', dtype='bool', direction=function.IN, - description="Whether to add atmosphere") - function.addParameter('fileout', dtype='string', direction=function.IN, - description="Filename to store data at each radial point") - function.result_type = 'int32' - return function - - def get_gyre(self, index_of_the_star, mode_l=0, - add_center_point=False, keep_surface_point=False, add_atmosphere=False): - """ - Get gyre data. - - This returns a list of dicts where each element of the list corresponds to one mode - - Each dict contains the pg,p,g and complex frequency for the mode as well as - arrays of r/R, xi_r, xi_h, and dwdx for the mode - - """ - - _, filename = tempfile.mkstemp() - - res = self._get_gyre(index_of_the_star, mode_l, - add_center_point, keep_surface_point, add_atmosphere, - filename) - - if res != 0: - os.remove(filename) - return res - - res = [] - with open(filename, 'r') as f: - while True: - line = f.readline() - if len(line) == 0: - break - - pg, p, g, nk, fr, fi = line.split() - nk = int(nk) - data = numpy.zeros((nk, 7)) - for i in range(nk): - data[i, :] = [float(j) for j in f.readline().split()] - - # Repack data into arrays with complex quantities - k = data[:, 0].astype('int') - r = data[:, 1] - xi_r = data[:, 2] + 1j*data[:, 3] - xi_h = data[:, 4] + 1j*data[:, 5] - dwdx = data[:, 6] - - res.append({'pg': int(pg), 'p': int(p), 'g': int(g), - 'freq': complex(float(fr), float(fi)), - 'r/R': r, 'xi_r': xi_r, 'xi_h': xi_h, 'dwdx': dwdx}) - - os.remove(filename) - return res - - - def get_mixing_length_ratio(self,index_of_the_star): - """ - Retrieve the current mixing_length_ratio of the star. - """ - return self.get_control(index_of_the_star,'mixing_length_alpha') - - def set_mixing_length_ratio(self,index_of_the_star, mixing_length_ratio): - """ - Sets the current mixing_length_ratio of the star. - """ - return self.set_control(index_of_the_star,'mixing_length_alpha',mixing_length_ratio) - - def get_semi_convection_efficiency(self,index_of_the_star): - """ - Retrieve the current semi_convection_efficiency of the star. - """ - return self.get_control(index_of_the_star,'alpha_semiconvection') - - def set_semi_convection_efficiency(self,index_of_the_star, semi_convection_efficiency): - """ - Sets the current semi_convection_efficiency of the star and turns on semiconvection. - """ - self.set_control(index_of_the_star,'use_Ledoux_criterion',True) - - return self.set_control(index_of_the_star,'alpha_semiconvection',semi_convection_efficiency) - - def get_RGB_wind_scheme(self, index_of_the_star): - """ - Retrieve the current RGB wind scheme - """ - return self.get_control(index_of_the_star,'cool_wind_RGB_scheme') - - def set_RGB_wind_scheme(self, index_of_the_star, cool_wind_RGB_scheme): - """ - Set the current RGB wind scheme - """ - return self.set_control(index_of_the_star,'cool_wind_RGB_scheme',cool_wind_RGB_scheme) - - - def get_AGB_wind_scheme(self, index_of_the_star): - """ - Retrieve the current AGB wind scheme - """ - return self.get_control(index_of_the_star,'cool_wind_AGB_scheme') - - def set_AGB_wind_scheme(self, index_of_the_star, cool_wind_AGB_scheme): - """ - Set the current RGB wind scheme - """ - return self.set_control(index_of_the_star,'cool_wind_AGB_scheme',cool_wind_AGB_scheme) - - - def get_reimers_wind_efficiency(self, index_of_the_star): - """ - Retrieve the current reimers_wind_efficiency - """ - return self.get_control(index_of_the_star,'reimers_scaling_factor') - - def set_reimers_wind_efficiency(self, index_of_the_star, reimers_wind_efficiency): - """ - Set the current reimers_wind_efficiency - """ - return self.set_control(index_of_the_star,'reimers_scaling_factor',reimers_wind_efficiency) - - - def get_blocker_wind_efficiency(self, index_of_the_star): - """ - Retrieve the current blocker_wind_efficiency - """ - return self.get_control(index_of_the_star,'blocker_scaling_factor') - - def set_blocker_wind_efficiency(self, index_of_the_star, blocker_wind_efficiency): - """ - Set the current blocker_wind_efficiency - """ - return self.set_control(index_of_the_star,'blocker_scaling_factor',blocker_wind_efficiency) - - - - def get_de_jager_wind_efficiency(self, index_of_the_star): - """ - Retrieve the current de_jager_wind_efficiency - """ - return self.get_control(index_of_the_star,'de_jager_scaling_factor') - - def set_de_jager_wind_efficiency(self, index_of_the_star, de_jager_wind_efficiency): - """ - Set the current de_jager_wind_efficiency - """ - return self.set_control(index_of_the_star,'de_jager_scaling_factor',de_jager_wind_efficiency) - - - - def get_dutch_wind_efficiency(self, index_of_the_star): - """ - Retrieve the current dutch_wind_efficiency - """ - return self.get_control(index_of_the_star,'dutch_scaling_factor') - - def set_dutch_wind_efficiency(self, index_of_the_star, dutch_wind_efficiency): - """ - Set the current dutch_wind_efficiency - """ - return self.set_control(index_of_the_star,'dutch_scaling_factor',dutch_wind_efficiency) - - - def get_accrete_composition_non_metals(self, index_of_the_star): - h1 = self.get_control(index_of_the_star,'accretion_h1') - h2 = self.get_control(index_of_the_star,'accretion_h2') - he3 = self.get_control(index_of_the_star,'accretion_he3') - he4 = self.get_control(index_of_the_star,'accretion_he4') - - return [{'h1':h1['value'], - 'h2': h2['value'], - 'he3': he3['value'], - 'he4': he4['value'], - }] - - def set_accrete_composition_non_metals(self,index_of_the_star,h1=0.0,h2=0.0,he3=0.0,he4=0.0): - self.set_control(index_of_the_star,'accretion_h1',h1) - self.set_control(index_of_the_star,'accretion_h2',h2) - self.set_control(index_of_the_star,'accretion_he3',he3) - return self.set_control(index_of_the_star,'accretion_he4',he4) - - def get_accrete_composition_metals_identifier(self, index_of_the_star): - return self.get_control(index_of_the_star,'accretion_zfracs') - - def set_accrete_composition_metals_identifier(self, index_of_the_star, zfracs): - return self.set_control(index_of_the_star,'accretion_zfracs',zfracs) - - def get_accrete_composition_metals(self, index_of_the_star): - result = {} - for element in ['li','be','b','c','n','o','f','ne','na','mg','al','si','p', - 's','cl','ar','k','ca','sc','ti','v','cr','mn','fe', - 'co','ni','cu','zn']: - r = self.get_control(index_of_the_star,f'z_fraction_{element}') - result[element] = r['value'] - - return result - - def set_accrete_composition_metals(self, index_of_the_star, **kwargs): - ''' - Sets the accretion composition based on the following elements: - - 'li','be','b','c','n','o','f','ne','na','mg','al','si','p' - 's','cl','ar','k','ca','sc','ti','v','cr','mn','fe', - 'co','ni','cu','zn' - - Thus to set the li accretion fraction to 1/2 then pass li=0.5 - - If an element is not set then its left with its current value - - These must sum to 1.0 (the total z fraction is set by setting the non_metals to the 1-Z value) - - ''' - - result = {} - for element,value in kwargs.items(): - if element not in ['li','be','b','c','n','o','f','ne','na','mg','al','si','p', - 's','cl','ar','k','ca','sc','ti','v','cr','mn','fe', - 'co','ni','cu','zn']: - raise ValueError(f"Bad element {element}") - r = self.set_control(index_of_the_star,f'z_fraction_{element}',value) - return r - - - @legacy_function - def solve_one_step(): - """ - Takes one step forward, but does not handle retries or redo's. - Must call solve_one_step_pre first and solve_one_step_post afterwards - """ - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('first_try', dtype='bool', direction=function.IN - , description="If this is the first attempt at taking this timestep") - function.addParameter('result', dtype='int32', direction=function.OUT - , description="What the star should do next (keep going, redo, retry, terminate)") - function.result_type = 'int32' - return function - - - @legacy_function - def solve_one_step_pre(): - """ - Prepares to takes one step forward, but does not handle retries or redo's. - Called before solve_one_step - """ - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('result', dtype='int32', direction=function.OUT - , description="What the star should do next (keep going, redo, retry, terminate)") - function.result_type = 'int32' - return function - - @legacy_function - def solve_one_step_post(): - """ - After taking one step forward cleanup the model, but does not handle retries or redo's. - Called after solve_one_step - """ - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('result', dtype='int32', direction=function.OUT - , description="What the star should do next (keep going, redo, retry, terminate)") - function.result_type = 'int32' - return function - - @legacy_function - def prepare_retry_step(): - """ - Prepares to retry a step with a new dt. - Does not actually take the step - """ - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('dt_next', dtype='float64', direction=function.IN - , description="New timestep to try") - function.addParameter('result', dtype='int32', direction=function.OUT - , description="What the star should do next (keep going, redo, retry, terminate)") - function.result_type = 'int32' - return function - - @legacy_function - def prepare_redo_step(): - """ - Prepares to redo a step (a step with the same dt but where you have changed other options like the mdot) - Does not actually take the step - """ - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('result', dtype='int32', direction=function.OUT - , description="What the star should do next (keep going, redo, retry, terminate)") - function.result_type = 'int32' - return function - - -class MESA(StellarEvolution, InternalStellarStructure): - - def __init__(self, **options): - InCodeComponentImplementation.__init__(self, MESAInterface(**options), **options) - - output_dir = self.get_output_directory() - - if 'inlist' in options: - inlist = options['inlist'] - if not os.path.exists(inlist): - raise ValueError('Named inlist does not exist, maybe its in a different folder?') - else: - inlist = self.default_path_to_inlist - - if 'gyre_in' in options: - gyre_in = options['gyre_in'] - else: - gyre_in = '' - - self.set_MESA_paths( - inlist, - self.default_path_to_MESA, - self.default_path_to_MESA_data, - output_dir, - gyre_in, - self.default_tmp_dir - ) - self.model_time = 0.0 | units.julianyr - - self.mesa_version = "15140" - - def define_parameters(self, handler): - - handler.add_method_parameter( - "get_metallicity", - "set_metallicity", - "metallicity", - "Metallicity of all stars", - default_value=0.02 - ) - - handler.add_method_parameter( - "get_max_age_stop_condition", - "set_max_age_stop_condition", - "max_age_stop_condition", - "The maximum age stop condition of this instance.", - default_value=1.0e36 | units.julianyr - ) - - handler.add_method_parameter( - "get_min_timestep_stop_condition", - "set_min_timestep_stop_condition", - "min_timestep_stop_condition", - "The minimum timestep stop condition of this instance.", - default_value=1.0e-6 | units.s - ) - - handler.add_method_parameter( - "get_max_iter_stop_condition", - "set_max_iter_stop_condition", - "max_iter_stop_condition", - "The maximum number of iterations of this instance. (Negative means no maximum)", - default_value=-1111 - ) - - def define_particle_sets(self, handler): - - star_types = ['native_stars', 'pre_ms_stars', - 'pre_built_stars', 'pure_he_stars', - 'imported_stars','photo_stars', - ] - - handler.define_super_set('particles', star_types, - index_to_default_set=0) - - handler.define_set('imported_stars', 'index_of_the_star') - handler.set_new('imported_stars', 'finalize_stellar_model') - handler.set_delete('imported_stars', 'delete_star') - - handler.define_set('native_stars', 'index_of_the_star') - handler.set_new('native_stars', 'new_zams_particle') - handler.set_delete('native_stars', 'delete_star') - - handler.define_set('pre_ms_stars', 'index_of_the_star') - handler.set_new('pre_ms_stars', 'new_pre_ms_particle') - handler.set_delete('pre_ms_stars', 'delete_star') - - handler.define_set('pre_built_stars', 'index_of_the_star') - handler.set_new('pre_built_stars', 'load_model') - handler.set_delete('pre_built_stars', 'delete_star') - - handler.define_set('photo_stars', 'index_of_the_star') - handler.set_new('photo_stars', 'load_photo') - handler.set_delete('photo_stars', 'delete_star') - - handler.define_set('pure_he_stars', 'index_of_the_star') - handler.set_new('pure_he_stars', 'new_pure_he_particle') - handler.set_delete('pure_he_stars', 'delete_star') - - for particle_set_name in star_types: - handler.add_getter(particle_set_name, 'get_radius', names=('radius',)) - handler.add_getter(particle_set_name, 'get_stellar_type', names=('stellar_type',)) - handler.add_getter(particle_set_name, 'get_mass', names=('mass',)) - handler.add_setter(particle_set_name, 'set_mass', names=('mass',)) - handler.add_getter(particle_set_name, 'get_core_mass', names=('core_mass',)) - handler.add_getter(particle_set_name, 'get_mass_loss_rate', names=('wind',)) - handler.add_getter(particle_set_name, 'get_age', names=('age',)) - handler.add_setter(particle_set_name, 'set_age', names=('age',)) - handler.add_getter(particle_set_name, 'get_time_step', names=('time_step',)) - handler.add_setter(particle_set_name, 'set_time_step', names=('time_step',)) - handler.add_getter(particle_set_name, 'get_luminosity', names=('luminosity',)) - handler.add_getter(particle_set_name, 'get_temperature', names=('temperature',)) - - handler.add_getter(particle_set_name, 'get_manual_mass_transfer_rate', names=('mass_change',)) - handler.add_setter(particle_set_name, 'set_manual_mass_transfer_rate', names=('mass_change',)) - - handler.add_getter(particle_set_name, 'get_m_center', names=('m_center',)) - handler.add_setter(particle_set_name, 'set_m_center', names=('m_center',)) - handler.add_getter(particle_set_name, 'get_r_center', names=('r_center',)) - handler.add_setter(particle_set_name, 'set_r_center', names=('r_center',)) - handler.add_getter(particle_set_name, 'get_l_center', names=('l_center',)) - handler.add_setter(particle_set_name, 'set_l_center', names=('l_center',)) - handler.add_getter(particle_set_name, 'get_v_center', names=('v_center',)) - handler.add_setter(particle_set_name, 'set_v_center', names=('v_center',)) - - handler.add_method(particle_set_name, 'get_control') - handler.add_method(particle_set_name, 'set_control') - - handler.add_method(particle_set_name, 'get_star_job') - handler.add_method(particle_set_name, 'set_star_job') - handler.add_method(particle_set_name, 'star_job_update') - - handler.add_method(particle_set_name, 'get_eos') - handler.add_method(particle_set_name, 'set_eos') - handler.add_method(particle_set_name, 'get_kap') - handler.add_method(particle_set_name, 'set_kap') - - handler.add_method(particle_set_name, 'get_mesa_value') - handler.add_method(particle_set_name, 'set_mesa_value') - - handler.add_method(particle_set_name, 'get_extra_heat') - handler.add_method(particle_set_name, 'set_extra_heat') - - handler.add_method(particle_set_name, 'get_nuclear_network') - handler.add_method(particle_set_name, 'set_nuclear_network') - - handler.add_method(particle_set_name, 'evolve_one_step') - handler.add_method(particle_set_name, 'evolve_for') - - InternalStellarStructure.define_particle_sets( - self, - handler, - set_name=particle_set_name - ) - - handler.add_method(particle_set_name, 'get_mass_profile') - handler.add_method(particle_set_name, 'set_mass_profile') - handler.add_method(particle_set_name, 'get_cumulative_mass_profile') - handler.add_method(particle_set_name, 'get_luminosity_profile') - handler.add_method(particle_set_name, 'set_luminosity_profile') - handler.add_method(particle_set_name, 'get_entropy_profile') - handler.add_method(particle_set_name, 'get_thermal_energy_profile') - handler.add_method(particle_set_name, 'get_brunt_vaisala_frequency_squared_profile') - handler.add_method(particle_set_name, 'get_profile') - handler.add_method(particle_set_name, 'get_history') - handler.add_method(particle_set_name, 'get_mesa_value_profile') - handler.add_method(particle_set_name, 'set_mesa_value_profile') - - handler.add_method(particle_set_name, 'get_name_of_species') - handler.add_method(particle_set_name, 'get_mass_of_species') - handler.add_method(particle_set_name, 'get_masses_of_species') - handler.add_method(particle_set_name, 'get_mass_fraction_of_species_at_zone') - handler.add_method(particle_set_name, 'get_id_of_species') - - handler.add_method(particle_set_name, 'get_IDs_of_species') - handler.add_method(particle_set_name, 'get_gyre') - - handler.add_method(particle_set_name, 'get_accrete_same_as_surface') - handler.add_method(particle_set_name, 'set_accrete_same_as_surface') - - handler.add_method(particle_set_name, 'get_accrete_composition_non_metals') - handler.add_method(particle_set_name, 'set_accrete_composition_non_metals') - - handler.add_method(particle_set_name, 'get_accrete_composition_metals_identifier') - handler.add_method(particle_set_name, 'set_accrete_composition_metals_identifier') - - handler.add_method(particle_set_name, 'get_accrete_composition_metals') - handler.add_method(particle_set_name, 'set_accrete_composition_metals') - - handler.add_method(particle_set_name, 'save_photo') - handler.add_method(particle_set_name, 'save_model') - - handler.add_method(particle_set_name, 'get_RGB_wind_scheme') - handler.add_method(particle_set_name, 'set_RGB_wind_scheme') - handler.add_method(particle_set_name, 'get_AGB_wind_scheme') - handler.add_method(particle_set_name, 'set_AGB_wind_scheme') - - handler.add_method(particle_set_name, 'get_reimers_wind_efficiency') - handler.add_method(particle_set_name, 'set_reimers_wind_efficiency') - handler.add_method(particle_set_name, 'get_de_jager_wind_efficiency') - handler.add_method(particle_set_name, 'set_de_jager_wind_efficiency') - handler.add_method(particle_set_name, 'get_dutch_wind_efficiency') - handler.add_method(particle_set_name, 'set_dutch_wind_efficiency') - handler.add_method(particle_set_name, 'get_blocker_wind_efficiency') - handler.add_method(particle_set_name, 'set_blocker_wind_efficiency') - - handler.add_method(particle_set_name, 'solve_one_step') - handler.add_method(particle_set_name, 'solve_one_step_pre') - handler.add_method(particle_set_name, 'solve_one_step_post') - handler.add_method(particle_set_name, 'prepare_retry_step') - handler.add_method(particle_set_name, 'prepare_redo_step') - - - def define_state(self, handler): - StellarEvolution.define_state(self, handler) - handler.add_method('EDIT', 'new_pre_ms_particle') - handler.add_method('UPDATE', 'new_pre_ms_particle') - handler.add_transition('RUN', 'UPDATE', 'new_pre_ms_particle', False) - handler.add_transition('RUN', 'UPDATE', 'load_photo', False) - handler.add_method('EDIT', 'finalize_stellar_model') - handler.add_method('UPDATE', 'finalize_stellar_model') - handler.add_transition('RUN', 'UPDATE', 'finalize_stellar_model', False) - - def define_errorcodes(self, handler): - InternalStellarStructure.define_errorcodes(self, handler) - handler.add_errorcode(-1, 'Something went wrong...') - handler.add_errorcode(-4, 'Not implemented.') - handler.add_errorcode(-11, 'Evolve terminated: Unspecified stop condition reached.') - handler.add_errorcode(-12, 'Evolve terminated: Maximum age reached.') - handler.add_errorcode(-13, 'Evolve terminated: Maximum number of iterations reached.') - handler.add_errorcode(-15, 'Evolve terminated: Minimum timestep limit reached.') - handler.add_errorcode(-99, 'GYRE not configured for use') - - def define_methods(self, handler): - InternalStellarStructure.define_methods(self, handler) - StellarEvolution.define_methods(self, handler) - handler.add_method( - "new_pre_ms_particle", - (units.MSun, units.none), - (handler.INDEX, handler.ERROR_CODE) - ) - handler.add_method( - "new_zams_particle", - (units.MSun), - (handler.INDEX, handler.ERROR_CODE) - ) - handler.add_method( - "new_pure_he_particle", - (units.MSun), - (handler.INDEX, handler.ERROR_CODE) - ) - handler.add_method( - "load_model", - (handler.NO_UNIT), - (handler.INDEX, handler.ERROR_CODE) - ) - handler.add_method( - "load_photo", - (handler.NO_UNIT), - (handler.INDEX, handler.ERROR_CODE) - ) - handler.add_method( - "save_model", - (handler.INDEX,handler.NO_UNIT), - (handler.ERROR_CODE) - ) - handler.add_method( - "save_photo", - (handler.INDEX,handler.NO_UNIT), - (handler.ERROR_CODE) - ) - handler.add_method( - "set_time_step", - (handler.INDEX, units.s), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_time_step", - (handler.INDEX,), - (units.s, handler.ERROR_CODE,) - ) - handler.add_method( - "get_core_mass", - (handler.INDEX,), - (units.MSun, handler.ERROR_CODE,) - ) - handler.add_method( - "get_mass_loss_rate", - (handler.INDEX,), - (units.MSun / units.julianyr, handler.ERROR_CODE,) - ) - handler.add_method( - "get_manual_mass_transfer_rate", - (handler.INDEX,), - (units.MSun / units.julianyr, handler.ERROR_CODE,) - ) - handler.add_method( - "set_manual_mass_transfer_rate", - (handler.INDEX, units.MSun / units.julianyr), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_profile_at_zone", - (handler.INDEX, handler.NO_UNIT, handler.NO_UNIT), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - handler.add_method( - "get_history", - (handler.INDEX, handler.NO_UNIT), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_id_of_species", - (handler.INDEX, handler.NO_UNIT,), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - handler.add_method( - "get_mass_of_species", - (handler.INDEX, handler.NO_UNIT,), - (units.amu, handler.ERROR_CODE,) - ) - handler.add_method( - "new_stellar_model", - (units.MSun, handler.NO_UNIT, units.g / units.cm**3, units.K, - handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, - handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, - handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, - handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, - handler.NO_UNIT, - ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_star_age", - (handler.INDEX,), - (units.julianyr, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_star_age", - (handler.INDEX, units.julianyr), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_age", - (handler.INDEX,), - (units.julianyr, handler.ERROR_CODE,) - ) - - handler.add_method( - "evolve_for", - (handler.INDEX, units.julianyr), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_max_age_stop_condition", - (), - (units.julianyr, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_max_age_stop_condition", - (units.julianyr, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_min_timestep_stop_condition", - (), - (units.s, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_min_timestep_stop_condition", - (units.s, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_max_iter_stop_condition", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_max_iter_stop_condition", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_accrete_same_as_surface", - (handler.INDEX,), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_accrete_same_as_surface", - (handler.INDEX,handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_name_of_species", - (handler.INDEX, handler.NO_UNIT,), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - handler.add_method( - "get_kap", - (handler.INDEX, handler.NO_UNIT), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - handler.add_method( - "set_kap", - (handler.INDEX, handler.NO_UNIT, handler.NO_UNIT), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_eos", - (handler.INDEX, handler.NO_UNIT), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - handler.add_method( - "set_eos", - (handler.INDEX, handler.NO_UNIT, handler.NO_UNIT), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_control", - (handler.INDEX, handler.NO_UNIT), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - handler.add_method( - "set_control", - (handler.INDEX, handler.NO_UNIT, handler.NO_UNIT), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_star_job", - (handler.INDEX, handler.NO_UNIT), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - handler.add_method( - "set_star_job", - (handler.INDEX, handler.NO_UNIT, handler.NO_UNIT), - (handler.ERROR_CODE,) - ) - handler.add_method( - "star_job_update", - (handler.INDEX,), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_mesa_value", - (handler.INDEX, handler.NO_UNIT, handler.NO_UNIT), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - handler.add_method( - "set_mesa_value", - (handler.INDEX, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "set_age", - (handler.INDEX,), - (units.julianyr, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_age", - (handler.INDEX, units.julianyr), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_nuclear_network", - (handler.INDEX,), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_nuclear_network", - (handler.INDEX, handler.NO_UNIT), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "finalize_stellar_model", - (units.julianyr,), - (handler.INDEX, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_m_center", - (handler.INDEX,), - (units.MSun, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_m_center", - (handler.INDEX, units.MSun), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_r_center", - (handler.INDEX,), - (units.cm, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_r_center", - (handler.INDEX, units.cm), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_l_center", - (handler.INDEX,), - (units.erg/units.s, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_l_center", - (handler.INDEX, units.erg/units.s), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_v_center", - (handler.INDEX,), - (units.cm/units.s, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_v_center", - (handler.INDEX, units.cm/units.s), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_gyre", - (handler.INDEX, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT), - (handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT) - ) - - - handler.add_method( - "get_mixing_length_ratio", - (handler.INDEX,), - (handler.NO_UNIT,handler.ERROR_CODE) - ) - - handler.add_method( - "set_mixing_length_ratio", - (handler.INDEX, handler.NO_UNIT), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_semi_convection_efficiency", - (handler.INDEX,), - (handler.NO_UNIT,handler.ERROR_CODE) - ) - - handler.add_method( - "set_semi_convection_efficiency", - (handler.INDEX, handler.NO_UNIT), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_reimers_wind_efficiency", - (handler.INDEX,), - (handler.NO_UNIT,handler.ERROR_CODE) - ) - - handler.add_method( - "set_reimers_wind_efficiency", - (handler.INDEX, handler.NO_UNIT), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_dutch_wind_efficiency", - (handler.INDEX,), - (handler.NO_UNIT,handler.ERROR_CODE) - ) - - handler.add_method( - "set_dutch_wind_efficiency", - (handler.INDEX, handler.NO_UNIT), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_de_jager_wind_efficiency", - (handler.INDEX,), - (handler.NO_UNIT,handler.ERROR_CODE) - ) - - handler.add_method( - "set_de_jager_wind_efficiency", - (handler.INDEX, handler.NO_UNIT), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_blocker_wind_efficiency", - (handler.INDEX,), - (handler.NO_UNIT,handler.ERROR_CODE) - ) - - handler.add_method( - "set_blocker_wind_efficiency", - (handler.INDEX, handler.NO_UNIT), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "set_MESA_paths", - (handler.NO_UNIT,handler.NO_UNIT,handler.NO_UNIT,handler.NO_UNIT,handler.NO_UNIT,handler.NO_UNIT), - (handler.ERROR_CODE,) - ) - - - handler.add_method( - "get_accrete_composition_non_metals", - (handler.INDEX,), - (handler.NO_UNIT,handler.NO_UNIT,handler.NO_UNIT,handler.NO_UNIT) - ) - - handler.add_method( - "set_accrete_composition_non_metals", - (handler.INDEX,handler.NO_UNIT,handler.NO_UNIT,handler.NO_UNIT,handler.NO_UNIT), - (handler.ERROR_CODE) - ) - - handler.add_method( - "get_accrete_composition_metals_identifier", - (handler.INDEX,), - (handler.NO_UNIT,) - ) - - handler.add_method( - "set_accrete_composition_metals_identifier", - (handler.INDEX,handler.NO_UNIT), - (handler.ERROR_CODE) - ) - - handler.add_method( - "solve_one_step", - (handler.INDEX, handler.NO_UNIT), - (handler.NO_UNIT,handler.ERROR_CODE) - ) - - handler.add_method( - "solve_one_step_pre", - (handler.INDEX), - (handler.NO_UNIT,handler.ERROR_CODE) - ) - - handler.add_method( - "solve_one_step_post", - (handler.INDEX), - (handler.NO_UNIT,handler.ERROR_CODE) - ) - - handler.add_method( - "prepare_retry_step", - (handler.INDEX, units.s), - (handler.NO_UNIT,handler.ERROR_CODE) - ) - - handler.add_method( - "prepare_redo_step", - (handler.INDEX), - (handler.NO_UNIT,handler.ERROR_CODE) - ) - - def initialize_module_with_default_parameters(self): - self.parameters.set_defaults() - self.initialize_code() - - def initialize_module_with_current_parameters(self): - self.initialize_code() - - def commit_parameters(self): - self.parameters.send_not_set_parameters_to_code() - self.parameters.send_cached_parameters_to_code() - self.overridden().commit_parameters() - - def get_mass_profile(self, indices_of_the_stars, number_of_zones=None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying mass profiles") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - return self.get_profile(indices_of_the_stars, 'dq', number_of_zones) - - def get_cumulative_mass_profile(self, indices_of_the_stars, number_of_zones=None): - frac_profile = self.get_mass_profile(indices_of_the_stars, number_of_zones=number_of_zones) - return frac_profile.cumsum() - - def set_mass_profile(self, indices_of_the_stars, values, number_of_zones=None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Setting mass profiles") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - self._check_supplied_values(len(values), number_of_zones) - self.set_mass_fraction_at_zone([indices_of_the_stars]*number_of_zones, list(range(number_of_zones)) | units.none, values) - - def get_luminosity_profile(self, indices_of_the_stars, number_of_zones=None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying luminosity profiles") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - return self.get_profile(indices_of_the_stars, 'luminosity', number_of_zones) | units.LSun - - def set_luminosity_profile(self, indices_of_the_stars, values, number_of_zones=None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Setting luminosity profiles") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - self._check_supplied_values(len(values), number_of_zones) - self.set_luminosity_at_zone([indices_of_the_stars]*number_of_zones, list(range(number_of_zones)) | units.none, values) - - def get_entropy_profile(self, indices_of_the_stars, number_of_zones=None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying entropy profiles") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - - return self.get_profile(indices_of_the_stars, 'entropy', number_of_zones) | units.erg/units.K - - def get_thermal_energy_profile(self, indices_of_the_stars, number_of_zones=None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying thermal energy profiles") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - - return self.get_profile(indices_of_the_stars, 'energy', number_of_zones) | units.erg/units.s/units.g - - def get_temperature_profile(self, indices_of_the_stars, number_of_zones=None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying temperature profiles") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - - return self.get_profile(indices_of_the_stars, 'temperature', number_of_zones) | units.K - - def get_density_profile(self, indices_of_the_stars, number_of_zones=None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying density profiles") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - - return self.get_profile(indices_of_the_stars, 'density', number_of_zones) | units.g/(units.cm*units.cm*units.cm) - - def get_radius_profile(self, indices_of_the_stars, number_of_zones=None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying radius profiles") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - - return self.get_profile(indices_of_the_stars, 'radius', number_of_zones) | units.RSun - - def get_pressure_profile(self, indices_of_the_stars, number_of_zones=None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying pressure profiles") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - - return self.get_profile(indices_of_the_stars, 'pressure', number_of_zones) | units.g/(units.cm * units.s * units.s) - - def get_pressure_scale_height_profile(self, indices_of_the_stars, number_of_zones=None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying pressure scale height profiles") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - - return self.get_profile(indices_of_the_stars, 'pressure_scale_height', number_of_zones) | units.RSun - - def get_mu_profile(self, indices_of_the_stars, number_of_zones=None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying mu profiles") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - - return self.get_profile(indices_of_the_stars, 'mu', number_of_zones) | units.amu - - def get_brunt_vaisala_frequency_squared_profile(self, indices_of_the_stars, number_of_zones=None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying brunt-vaisala-frequency-squared profiles") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - - return self.get_profile(indices_of_the_stars, 'brunt_N2', number_of_zones) | units.none - - def get_IDs_of_species(self, indices_of_the_stars, number_of_species=None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying chemical abundance IDs") - if number_of_species is None: - number_of_species = self.get_number_of_species(indices_of_the_stars) - return list(range(1, number_of_species+1)) - - def get_profile(self, indices_of_the_stars, name, number_of_zones=None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying profiles") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - return self.get_profile_at_zone([indices_of_the_stars]*number_of_zones, list(range(number_of_zones)) | units.none, [name]*number_of_zones) - - def get_masses_of_species(self, indices_of_the_stars, number_of_species=None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying chemical abundance mass numbers") - if number_of_species is None: - number_of_species = self.get_number_of_species(indices_of_the_stars) - return self.get_mass_of_species( - [indices_of_the_stars]*number_of_species, - list(range(1, number_of_species+1)) - ) - - def get_extra_heat(self, indices_of_the_stars, number_of_zones=None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying extra_heat ") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - - return self.get_mesa_value([indices_of_the_stars]*number_of_zones, ['extra_heat']*number_of_zones, list(range(1, number_of_zones+1))) | units.erg/units.g/units.s - - def set_extra_heat(self, indices_of_the_stars, values , number_of_zones=None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Setting extra_heat ") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - - return self.set_mesa_value([indices_of_the_stars]*number_of_zones, ['extra_heat']*number_of_zones, values, list(range(1, number_of_zones+1))) - - def get_mesa_value_profile(self, indices_of_the_stars, name, number_of_zones=None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying generic mesa_get_value") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - - return self.get_mesa_value([indices_of_the_stars]*number_of_zones, [name]*number_of_zones, list(range(1, number_of_zones+1))) - - def set_mesa_value_profile(self, indices_of_the_stars, name, values , number_of_zones=None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Setting generic mesa_get_value") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - - return self.set_mesa_value([indices_of_the_stars]*number_of_zones, [name]*number_of_zones, values, list(range(1, number_of_zones+1))) - - def new_particle_from_model(self, internal_structure, current_age=0|units.julianyr, key=None): - - if hasattr(internal_structure, 'get_profile'): - mm = internal_structure - - xqs = 10**mm.get_profile('logxq') # log(1-q) - temperature = mm.get_profile('temperature') | units.K - rho = mm.get_profile('rho') | units.g / units.cm**3 - - empty_comp = numpy.zeros(numpy.size(xqs)) - empty_comp[:] = 10**-50 # If you dont have anything in that isotope - - sm = mm.get_history('star_mass') - star_mass = [sm]*len(xqs) | units.MSun - species = [mm.get_name_of_species(i) for i in range(1, mm.get_number_of_species()+1)] - - xH1 = mm.get_profile('h1') if 'h1' in species else empty_comp - xHe3 = mm.get_profile('he3') if 'he3' in species else empty_comp - xHe4 = mm.get_profile('he4') if 'he4' in species else empty_comp - xC12 = mm.get_profile('c12') if 'c12' in species else empty_comp - xN14 = mm.get_profile('n14') if 'n14' in species else empty_comp - xO16 = mm.get_profile('o16') if 'o16' in species else empty_comp - xNe20 = mm.get_profile('ne20') if 'ne20' in species else empty_comp - xMg24 = mm.get_profile('mg24') if 'mg24' in species else empty_comp - xSi28 = mm.get_profile('si28') if 'si28' in species else empty_comp - xS32 = mm.get_profile('s32') if 's32' in species else empty_comp - xAr36 = mm.get_profile('ar36') if 'ar36' in species else empty_comp - xCa40 = mm.get_profile('ca40') if 'ca40' in species else empty_comp - xTi44 = mm.get_profile('ti44') if 'ti44' in species else empty_comp - xCr48 = mm.get_profile('cr48') if 'cr48' in species else empty_comp - xFe52 = mm.get_profile('fe52') if 'fe52' in species else empty_comp - xFe54 = mm.get_profile('fe54') if 'fe54' in species else empty_comp - xFe56 = mm.get_profile('fe56') if 'fe56' in species else empty_comp - xCr56 = mm.get_profile('cr56') if 'cr56' in species else empty_comp - xNi56 = mm.get_profile('ni56') if 'ni56' in species else empty_comp - - self.new_stellar_model( - star_mass, - xqs[::-1], - rho[::-1], - temperature[::-1], - xH1[::-1], - xHe3[::-1], - xHe4[::-1], - xC12[::-1], - xN14[::-1], - xO16[::-1], - xNe20[::-1], - xMg24[::-1], - xSi28[::-1], - xS32[::-1], - xAr36[::-1], - xCa40[::-1], - xTi44[::-1], - xCr48[::-1], - xFe52[::-1], - xFe54[::-1], - xFe56[::-1], - xCr56[::-1], - xNi56[::-1], - empty_comp[::-1], - empty_comp[::-1], - ) - - elif isinstance(internal_structure, dict): - - cumulative_mass_profile = internal_structure['mass'].value_in(units.MSun) - mass_profile = cumulative_mass_profile/cumulative_mass_profile.max() - xqs = 1.0 - mass_profile # 1-q - - star_mass = numpy.zeros(numpy.size(internal_structure['temperature'])) - star_mass[:] = internal_structure['mass'].max().value_in(units.MSun) - star_mass = star_mass | units.MSun - empty_comp = numpy.zeros(numpy.size(internal_structure['temperature'])) - empty_comp[:] = 10**-50 - - self.new_stellar_model( - star_mass, - xqs[::-1], - internal_structure['rho'][::-1], - internal_structure['temperature'][::-1], - internal_structure['X_H'][::-1], - empty_comp, - internal_structure['X_He'][::-1], - internal_structure['X_C'][::-1], - internal_structure['X_N'][::-1], - internal_structure['X_O'][::-1], - internal_structure['X_Ne'][::-1], - internal_structure['X_Mg'][::-1], - internal_structure['X_Si'][::-1], - empty_comp, - empty_comp, - empty_comp, - empty_comp, - empty_comp, - empty_comp, - empty_comp, - internal_structure['X_Fe'][::-1], - empty_comp, - empty_comp, - empty_comp[::-1], - empty_comp[::-1], - ) - else: - cumulative_mass_profile = internal_structure.mass.value_in(units.MSun) - mass_profile = cumulative_mass_profile/cumulative_mass_profile.max() - xqs = 1.0 - mass_profile # 1-q - - star_mass = numpy.zeros(numpy.size(internal_structure.temperature)) - star_mass[:] = internal_structure.mass.max().value_in(units.MSun) - star_mass = star_mass | units.MSun - empty_comp = numpy.zeros(numpy.size(internal_structure.temperature)) - empty_comp[:] = 10**-50 - - self.new_stellar_model( - star_mass, - xqs[::-1], - internal_structure.rho[::-1], - internal_structure.temperature[::-1], - internal_structure.X_H[::-1], - empty_comp, - internal_structure.X_He[::-1], - internal_structure.X_C[::-1], - internal_structure.X_N[::-1], - internal_structure.X_O[::-1], - internal_structure.X_Ne[::-1], - internal_structure.X_Mg[::-1], - internal_structure.X_Si[::-1], - empty_comp, - empty_comp, - empty_comp, - empty_comp, - empty_comp, - empty_comp, - empty_comp, - internal_structure.X_Fe[::-1], - empty_comp, - empty_comp, - empty_comp[::-1], - empty_comp[::-1], - ) - tmp_star = datamodel.Particle(key=key) - tmp_star.age_tag = current_age - return self.imported_stars.add_particle(tmp_star) - - -Mesa = MESA +MESA = Mesa diff --git a/src/amuse/community/mesa_r15140/patch_files.py b/src/amuse/community/mesa_r15140/patch_files.py deleted file mode 100755 index 7a5bf3dd18..0000000000 --- a/src/amuse/community/mesa_r15140/patch_files.py +++ /dev/null @@ -1,121 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -import subprocess -import re - -PATCHESDIR = os.path.abspath("patches") -QUILT_PC = ".pc" - - -def execute_command_line(arguments, cwd=None): - process = subprocess.Popen( - arguments, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=cwd, - text=True, - ) - stdoutstring, stderrstring = process.communicate() - returncode = process.poll() - return stdoutstring, stderrstring, returncode - - -def which(executablename): - stdoutstring, stderrstring, returncode = execute_command_line( - ['which', executablename] - ) - if returncode != 0: - return None - return stdoutstring - - -def is_quilt_installed(): - return False - path = which('quilt') - if path is None: - return False - - stdoutstring, stderrstring, returncode = execute_command_line( - ['quilt', '--version'] - ) - if returncode != 0: - return False - - version_re = re.compile(r'(\d).(\d\d)') - match = version_re.match(stdoutstring) - if not match: - return False - - return True - - -def apply_patches_using_quilt(): - returncode = subprocess.call(['quilt', 'push', '-a']) - if returncode != 0: - raise Exception( - "error in applying the patches, please apply by hand using" - " quilt push" - ) - - -def undo_patches_using_quilt(): - returncode = subprocess.call(['quilt', 'pop', '-a']) - if returncode != 0: - raise Exception( - "error in undoing the patches, please undo by hand using" - " quilt pop -a" - ) - - -def run_patch(patchname, patchfile, wd): - arguments = ['patch', '-p1', '-i', patchfile] - returncode = subprocess.call(arguments, cwd=wd) - if returncode != 0: - raise Exception(f"could not apply patch {patchname}") - - -def apply_patches_using_patch(): - with open("patches/series_mesa", "r") as f: - lines = f.readlines() - patches = [x.strip() for x in lines] - patches = [x for x in patches if len(x) > 0] - for patch in patches: - path = os.path.join(PATCHESDIR, patch) - print(patch, path, os.environ['MESA_DIR']) - run_patch(patch, path, os.environ['MESA_DIR']) - - with open("patches/series_deps", "r") as f: - lines = f.readlines() - patches = [x.strip() for x in lines] - patches = [x for x in patches if len(x) > 0] - for patch in patches: - path = os.path.join(PATCHESDIR, patch) - run_patch( - patch, path, os.path.join(os.environ['MESA_DIR'], '../') - ) - - -def main(undo_patches=False): - print("checking if quilt is installed ... ", end=' ') - if not is_quilt_installed(): - print("no") - - if undo_patches: - print("quilt is not installed, cannot undo the patches") - sys.exit(1) - else: - print("applying patches to source code") - apply_patches_using_patch() - else: - print("yes") - - if undo_patches: - print("quilt is install, will try to undo the patches") - undo_patches_using_quilt() - else: - print("applying patches to source code") - apply_patches_using_quilt() - print("all patches applied") - - -if __name__ == '__main__': - main() diff --git a/src/amuse/community/mesa_r15140/patches/makefile_header_non_mesasdk b/src/amuse/community/mesa_r15140/patches/makefile_header_non_mesasdk deleted file mode 100644 index 22411b7d41..0000000000 --- a/src/amuse/community/mesa_r15140/patches/makefile_header_non_mesasdk +++ /dev/null @@ -1,426 +0,0 @@ -#!/bin/bash - --include ${AMUSE_DIR}/config.mk - -# NOTE: MESA is no longer supported on 32-bit systems. This isn't by design; -# we simply haven't been able to get it to work! So if you really-really want -# to use an antique 32-bit system for mesa, you'll have to try to make it work yourself. -# But I think you'd be better off switching to a 64-bit machine. - -# Step 0) Check if you have set the correct environment variables -ifndef MESA_DIR -ifndef MESA_DIR_INTENTIONALLY_EMPTY -$(error MESA_DIR enviroment variable is not set) -endif -endif - -# step 1) specify your compilers - -# NOTE: recent versions of mesa have required reduced optimization -# in order to work with ifort; we suggest using gfortran instead of ifort if possible. - -CC = $(MPICC) -FC = $(MPIFC) - -# Set optimization level -ARCH = $(shell uname -m) - -ifeq (${ARCH},x86_64) -OPT_LEVEL = 2 -else ifeq (${ARCH},aarch64) -OPT_LEVEL = 2 -SPECIAL_FC_FLAGS := ${SPECIAL_FC_FLAGS} -ffp-contract=off -else -OPT_LEVEL = 0 -endif - - -# if you need special flags for the compiler, define them here: -SPECIAL_FC_FLAGS = $(CFLAGS) -SPECIAL_C_FLAGS = $(FCFLAGSs) - -# step 1.a) [temporary workaround for loader problem on Mac:] -# go down to select the correct entry for LOAD_MATRIX -# depending on whether you are on Linux or Mac - -# step 2) specify whether to use crmth for math library - -USE_CRMATH = YES - -ifeq ($(USE_CRMATH),YES) -LOAD_CRMATH = -L$(MESA_DIR)/lib -lcrmath -lcrlibm -export MESASDK_MATH_SLOT = crmath -INCLUDE_CRMATH = -I$(MESA_DIR)/include -endif - -# step 3) specify which BLAS and LAPACK libraries to use for mesa/mtx - -# these are the standard defaults -WHICH_LAPACK = -LOAD_LAPACK = $(LAPACK_LIBS) -llapack95 -WHICH_BLAS = -LOAD_BLAS = $(BLAS_LIBS) $(LAPACK_LIBS) -llapack95 -MKL_INCLUDE = - -# step 4) do you want to use PGPLOT with mesa/star? -# you can have onscreen plots updated at each step, -# and you can save files for making movies. very cool! - -# NOTE: you need to have a PGPLOT built using the same fortran and c compiler as you -# are using for mesa. - -# if you don't already have a compatible pgplot, -# follow the instructions in pgplot/README - -# to access pgplot from mesa/star, -# set USE_PGSTAR = YES and set LOAD_PGPLOT to load the libraries. -# in mesa/star, set the control parameter pgstar_flag = .true. in &star_job -# when you run star it will open a window using X and draw plots using PGSTAR -# the plots will be updated each time a log entry is made. -# see star/test/src/pgstar_defaults.dek for details. - -# NOTE: if you have libpng, then include '-lpng' in the LOAD_PGPLOT line. -# the *.png files are excellent for making movies. -# but if you don't have libpng and can't get it, no problem; it isn't required. -# just remove '-lpng' from the LOAD_PGPLOT line. - -# Similarly, if you don't have X windows and don't want to make onscreen plots, -# then you can load PGPLOT without it. Just delete the X stuff from LOAD_PGPLOT. - -# for users of Red Hat OS: Georgios Magkotsios reports success with these settings: -#LOAD_PGPLOT = -L${PGPLOT_DIR} -lpgplot -L/usr/lib64 -lX11 -lsvml -lpng -#FCstatic = -shared-intel #-Bstatic -static-intel - -# for Ubuntu, Philip Pinto found these libraries to be necessary: -#LOAD_PGPLOT = -L${PGPLOT_DIR} -lpgplot -lX11 -lxcb -lXau -lXdmcp -lXext -lpng -lz - -# for Fedora 12 (x86_64), Mike Zingale reported that the following worked -# 1. at the terminal: -# yum install pgplot pgplot-devel -# 2. in the mesa/util/makefile_header -# USE_PGSTAR = YES -# LOAD_PGPLOT = -lpgplot -L/usr/lib64 -lX11 -lpng -# 3. it is also important that the following environment variable be set: -# export PGPLOT_DIR=/usr/share/pgplot/ - - -# NOTE: a change in USE_PGSTAR doesn't take effect until you next recompile mesa/star - -# for now, GYRE is only available with the mesasdk -USE_GYRE = YES - -# See http://www.gnu.org/software/make/manual/make.html#Testing-Flags for findstring -ifneq (,$(findstring ifort,$(FC))) - -USE_PGSTAR = NO -LOAD_PGPLOT = - -#USE_PGSTAR = YES -#LOAD_PGPLOT = -L/Users/bpaxton/mesa/utils/pgplot -lpgplot -L/usr/X11R6/lib -lX11 -lpng -#LOAD_PGPLOT = -L/rpod2/opt/pgplot -lpgplot -L/usr/X11R6/lib -lX11 -lpng - -else -ifneq (,$(findstring gfortran,$(FC))) - -#USE_PGSTAR = NO -#LOAD_PGPLOT = -USE_PGSTAR = NO -LOAD_PGPLOT = - -else - -USE_PGSTAR = NO -LOAD_PGPLOT = - -endif -endif - - - - - -# step 5) Load options for HDF5, this must be compiled with the same compilier as mesa - -# To install hdf5 in $MESA_DIR/utils with ifort run: -#export CC=icc -#export F9X=ifort -#export CXX=icpc -#export VERSION=1.8.17 -#cd $MESA_DIR/utils -#rm -rf hdf5* 2>/dev/null -#wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${VERSION%.*}/hdf5-"$VERSION"/src/hdf5-"$VERSION".tar.bz2 -#tar xvf hdf5-"$VERSION".tar.bz2 -#cd hdf5-"$VERSION" -#CCFLAGS=-D_Float128=__float128 FCFLAGS="-D_Float128=__float128" ./configure --enable-fortran --enable-fortran2003 -#make -#make install -#cd $MESA_DIR - -# -# -# and set in this makefile -# LOAD_HDF5 = -L${MESA_DIR}/utils/hdf5/lib -lhdf5_fortran -lhdf5 -lz -# INCLUDE_HDF5 = -I${MESA_DIR}/utils/hdf5/include -# -# And in your shell -# export LD_LIBRARY_PATH=$MESA_DIR/utils/hdf5/lib:$LD_LIBRARY_PATH - -# These are if you are using the sdk hdf5 implementation -LOAD_HDF5 = -L${MESA_DIR}/lib -lhdf5_fortran -lhdf5 -lz -ldl -INCLUDE_HDF5 = -I${MESA_DIR}/include - -# If not YES then we don't use HDF5, thus you wont have access to custom weak rates -# Also the rates test suite will not pass so do: /usr/bin/touch $MESA_DIR/rates/skip_test -# if you change this option -USE_HDF5 = YES - - -# step 6) now do the mesa install -ifeq ($(OPENMP_ENABLED), yes) -USE_OPENMP = YES -else -USE_OPENMP = NO -endif - -# step 7) Build shared libraries? Needed if you want mesa to be usable in python - -USE_SHARED = NO - -# do install at the top level mesa directory - -# NOTE: do NOT run the install scripts at the subdirectory level -# those are for use by the top level script - -# Unless you are adding a new compiler to the list of options, -# you shouldn't need to change any of the following stuff. -# It simply defines things for use by the module makefiles. - - -# ifneq (,$(findstring ifort,$(FC))) - -# #FCbasic = $(SPECIAL_FC_FLAGS) -assume protect-parens -fp-model source -prec-div -prec-sqrt -ftz -traceback -error-limit 6 -# FCbasic = $(SPECIAL_FC_FLAGS) -assume protect-parens -fp-model source -prec-div -prec-sqrt -traceback -error-limit 6 - -# # use -vec-report2 to check on vectorization - -# FCimpno = -implicitnone -# FCchecks = -check uninit -check pointers -check bounds -check all -# FCwarn = -warn all -warn nounused -# FCwarn_unused = -warn unused -# FC_fixed_preprocess = -fpp -# FC_free_preprocess = -fpp -# FCfixed = -fixed -132 $(FC_fixed_preprocess) -# FCfixed72 = -fixed $(FC_fixed_preprocess) -# FCfree = -free $(FC_free_preprocess) -# FCopt = -O1 -# FCdebug = -# SLOW_COMPILE = -# OPENMP_FCFLAGS ?= -openmp -# ifeq ($(USE_OPENMP),YES) -# FCopenmp = -g $(OPENMP_FCFLAGS) -threads -# else -# FCopenmp = -# endif -# FCstatic = - -# else -# ifneq (,$(findstring gfortran,$(FC))) - -SKIP_NAN_TRAPS = YES - -FCbasic = -Wno-uninitialized -fno-range-check -fmax-errors=100 $(SPECIAL_FC_FLAGS) $(FCbasic2) -FCbasic2 = -fprotect-parens -fno-sign-zero -fbacktrace -ggdb -finit-real=snan -# -Warray-temporaries - -FCstandard = -std=f2008 -Wno-error=tabs - -FCimpno = -fimplicit-none -FCchecks = -fbounds-check -FCwarn = -Wunused-value -W -Wno-compare-reals -Wno-unused-parameter -Wno-function-elimination -#FCwarn = -Wunused-value -Werror -W -Wno-compare-reals -Wno-unused-parameter - -FC_fixed_preprocess = -x f77-cpp-input -FC_free_preprocess = -x f95-cpp-input -FCfixed = -ffixed-form -ffixed-line-length-none $(FC_fixed_preprocess) -FCfixed72 = -ffixed-form $(FC_fixed_preprocess) -FCfree = -ffree-form -ffree-line-length-none $(FC_free_preprocess) -FCopt = -O${OPT_LEVEL} -ftree-vectorize -FCdebug = -ggdb -FCstatic = -SLOW_COMPILE = -fno-var-tracking -OPENMP_FCFLAGS ?= -fopenmp -ifeq ($(USE_OPENMP),YES) -FCopenmp = $(OPENMP_FCFLAGS) -else -FCopenmp = -endif - -# else - -# FCbasic = UNKNOWN COMPILER -# FCchecks = -# FCwarn = -# FCfixed = -# FCfree = -# FCopt = -# FCdebug = -# FCopenmp = -# SLOW_COMPILE = -# endif -# endif - -LIB_TOOL_STATIC = ar crs -LIB_SUFFIX_STATIC = a - -# Flags needed for shared libraries -ifeq ($(USE_SHARED), YES) - UNAME_S := $(shell uname -s) -ifeq ($(UNAME_S),Linux) - MD := $(shell realpath $(MESA_DIR)/lib) - # Rpaths need to resolve relative to module/test folder plus the final location of the library - LIB_FLAGS = -fPIC -shared - LD_FLAGS = -Wl,-rpath=../make:../../lib:$(MD) - LIB_SUFFIX = so -endif -ifeq ($(UNAME_S),Darwin) -# Macs dont have realpath so cd to dir and get its location manually -# We check if folder exists first, to stop adipls getting confused -# when it can't find ../../lib -ifneq ($(wildcard $(MESA_DIR)/lib/.*),) - MD := $(shell cd "$(MESA_DIR)/lib"; pwd -P) -endif - LIB_FLAGS = -dynamiclib - LD_FLAGS = -Wl,-rpath,../make,-rpath,../../lib,-rpath,$(MD) - LIB_SUFFIX = dylib -endif - LIB_TOOL = $(FC) $(LIB_FLAGS) $(FCopenmp) $(LD_FLAGS) -o - -else - # Static library options - LIB_TOOL = $(LIB_TOOL_STATIC) - LIB_SUFFIX = $(LIB_SUFFIX_STATIC) - LIB_FLAGS = - LIBS = -endif - -# some definitions used in the module makefiles -MODULE_DIR = .. -MOD_PUBLIC_DIR = $(MODULE_DIR)/public -MOD_PRIVATE_DIR = $(MODULE_DIR)/private -MODULE_INCLUDES = -I$(MOD_PUBLIC_DIR) -I$(MOD_PRIVATE_DIR) -OTHER_INCLUDES = -I$(MESA_DIR)/include $(INCLUDE_HDF5) -INCLUDES = $(MODULE_INCLUDES) $(OTHER_INCLUDES) - -COMPILE_BASIC_FLAGS = $(FCbasic) $(FCopenmp) $(FCstatic) $(FCstandard) $(LIB_FLAGS) $(INCLUDES) -COMPILE_BASIC = $(FC) $(COMPILE_BASIC_FLAGS) - -COMPILE_TO_TEST = $(COMPILE_BASIC) $(FCwarn) $(FCimpno) $(FCchecks) $(FCopt) $(FCdebug) -c -COMPILE_TO_DEPLOY = $(COMPILE_BASIC) $(FCwarn) $(FCimpno) $(FCopt) -c - -COMPILE_NO_OPENMP_NO_OPT = \ - $(FC) $(FCbasic) $(INCLUDES) $(FCwarn) $(FCimpno) $(FCchecks) $(FCdebug) -c -O -COMPILE_ASAP = \ - $(FC) $(FCbasic) $(INCLUDES) $(FCwarn) $(FCimpno) $(FCdebug) -c -O - -COMPILE_FAST = $(COMPILE_BASIC) -c -COMPILE_NO_CHECKS = $(COMPILE_BASIC) $(FCopt) -c -COMPILE_NO_OPT = $(COMPILE_BASIC) $(FCwarn) $(FCimpno) $(FCchecks) $(FCdebug) -c -O -COMPILE_DEVEL = $(COMPILE_NO_OPT) - - -# some definitions used in the test makefiles and client makefiles - -WORK_COMPILE = \ - $(FC) $(FCbasic) $(FCopenmp) $(FCchecks) $(FCdebug) $(FCfree) \ - -I$(MESA_INCLUDE_DIR) -I$(WORK_SRC_DIR) -c - -ifeq ($(USE_PGPLOT),YES) - WORK_COMPILE += -DUSE_PGPLOT -endif - -TEST_DIR = .. -TEST_SRC_DIR = $(TEST_DIR)/src -PACKAGE_DIR = ../.. -LOCAL_LIB_DIR = $(PACKAGE_DIR)/make -MESA_LIB_DIR = $(MESA_DIR)/lib -MESA_INCLUDE_DIR = $(MESA_DIR)/include -TEST_INCLUDES = -I$(LOCAL_LIB_DIR) -I$(PACKAGE_DIR)/public -I$(MESA_INCLUDE_DIR) -TEST_COMPILE_FLAGS = $(FCbasic) $(FCopenmp) $(TEST_INCLUDES) $(FCchecks) $(FCdebug) $(LIB_FLAGS) -c -TEST_COMPILE = $(FC) $(TEST_COMPILE_FLAGS) $(LD_FLAGS) - -# Library lists / linking commands - -LIBS_MATRIX = mtx const math utils -LOAD_MATRIX_INT = $(addprefix -l,$(LIBS_MATRIX)) -LOAD_MATRIX_EXT = $(LOAD_CRMATH) $(LOAD_LAPACK95) $(LOAD_LAPACK) $(LOAD_BLAS) -LOAD_MATRIX = $(LOAD_MATRIX_INT) $(LOAD_MATRIX_EXT) - -LIBS_MESA_NUMERICS = interp_2d interp_1d num auto_diff $(LIBS_MATRIX) -LOAD_MESA_NUMERICS_INT = $(addprefix -l,$(LIBS_MESA_NUMERICS)) -LOAD_MESA_NUMERICS_EXT = $(LOAD_MATRIX_EXT) $(LOAD_HDF5) -LOAD_MESA_NUMERICS = $(LOAD_MESA_NUMERICS_INT) $(LOAD_MESA_NUMERICS_EXT) - -LIBS_MESA_MICRO = star_data net eos kap rates neu chem $(LIBS_MESA_NUMERICS) -LOAD_MESA_MICRO_INT = $(addprefix -l,$(LIBS_MESA_MICRO)) -LOAD_MESA_MICRO_EXT = $(LOAD_MESA_NUMERICS_EXT) -LOAD_MESA_MICRO = $(LOAD_MESA_MICRO_INT) $(LOAD_MESA_MICRO_EXT) - -LIBS_MESA_MACRO = ionization atm colors $(LIBS_MESA_MICRO) -LOAD_MESA_MACRO_INT = $(addprefix -l,$(LIBS_MESA_MACRO)) -LOAD_MESA_MACRO_EXT = $(LOAD_MESA_MICRO_EXT) -LOAD_MESA_MACRO = $(LOAD_MESA_MACRO_INT) $(LOAD_MESA_MACRO_EXT) - -LIBS_MESA_STAR_SUPPORT = gyre $(LIBS_MESA_MACRO) -LOAD_MESA_STAR_SUPPORT_INT = $(addprefix -l,$(LIBS_MESA_STAR_SUPPORT)) -LOAD_MESA_STAR_SUPPORT_EXT = $(LOAD_MESA_MACRO_EXT) $(LD_FLAGS) -LOAD_MESA_STAR_SUPPORT = $(LOAD_MESA_STAR_SUPPORT_INT) $(LOAD_MESA_STAR_SUPPORT_EXT) - -LIBS_STAR_MODS = star $(LIBS_MESA_STAR_SUPPORT) -LOAD_STAR_MODS_INT = $(addprefix -l,$(LIBS_STAR_MODS)) -LOAD_STAR_MODS_EXT = $(LOAD_MESA_STAR_SUPPORT_EXT) -LOAD_STAR_MODS = $(LOAD_STAR_MODS_INT) $(LOAD_STAR_MODS_EXT) - -LIBS_MESA_STAR = $(LIBS_STAR_MODS) -LOAD_MESA_STAR_INT = -L$(MESA_LIB_DIR) $(addprefix -l,$(LIBS_MESA_STAR)) -ifeq ($(USE_PGSTAR),YES) - LOAD_MESA_STAR_EXT = $(LOAD_STAR_MODS_EXT) $(LOAD_PGPLOT) -else - LOAD_MESA_STAR_EXT = $(LOAD_STAR_MODS_EXT) -endif -LOAD_MESA_STAR = $(LOAD_MESA_STAR_INT) $(LOAD_MESA_STAR_EXT) - -LIBS_MESA_BINARY = binary $(LIBS_MESA_STAR) -LOAD_MESA_BINARY_INT = -L$(MESA_LIB_DIR) $(addprefix -l,$(LIBS_MESA_BINARY)) -LOAD_MESA_BINARY_EXT = $(LOAD_MESA_STAR_EXT) -LOAD_MESA_BINARY = $(LOAD_MESA_BINARY_INT) $(LOAD_MESA_BINARY_EXT) - -# LOADER creates executables -LOADER = $(FC) $(LDFLAGS) - -STAR_WORK_OBJS = \ - run_star_extras.o run_star.o - -BINARY_WORK_OBJS = \ - $(STAR_WORK_OBJS) run_binary_extras.o run_binary.o - -#Test if we are on windows -BUILD_ON_WINDOWS=NO -ifeq ($(OS),Windows_NT) - BUILD_ON_WINDOWS=YES -endif - -# Declare phony targets -.PHONY: all clean install install_lib install_mod - -# Path to cp_if_newer script -CP_IF_NEWER = $(MESA_DIR)/utils/cp_if_newer - -# makedepf90 invocation (depends on whether we have the SDK2-patched version that -# supports the -X flag) -ifneq ($(shell src/makedepf90 -V | grep sdk2),) - MAKEDEPF90_IGNORE_MODS = intrinsic omp_lib iso_c_binding iso_fortran_env ieee_arithmetic crmath hdf5 - MAKEDEPF90 := $(MESA_DIR)/utils/makedepf90-2.8.8/makedepf90 -m %m.mod -X $(addprefix -u,$(MAKEDEPF90_IGNORE_MODS)) -else - MAKEDEPF90 := $(MESA_DIR)/utils/makedepf90-2.8.8/makedepf90 -m %m.mod -endif - diff --git a/src/amuse/community/mesa_r15140/patches/series_deps b/src/amuse/community/mesa_r15140/patches/series_deps deleted file mode 100644 index 9f8c800970..0000000000 --- a/src/amuse/community/mesa_r15140/patches/series_deps +++ /dev/null @@ -1,2 +0,0 @@ -fpx3_deps.patch -lapack95.patch \ No newline at end of file diff --git a/src/amuse/community/mesa_r15140/patches/series_mesa b/src/amuse/community/mesa_r15140/patches/series_mesa deleted file mode 100644 index 6aeea01165..0000000000 --- a/src/amuse/community/mesa_r15140/patches/series_mesa +++ /dev/null @@ -1,9 +0,0 @@ -0001-Dont-make-empty-output-directories.patch -0001-Fix-astero-builds-when-disabled.patch -0003-Add-mpi-to-utils.patch -0004-Fix-adipls-and-gyre-builds.patch -0001-Stop-crashes-when-profile-column-name-is-bad.patch -0001-Add-support-for-namelist-setting-from-a-string.patch -0001-declare-i.patch -0001-Get-photo-loading-working.patch -0001-Patch-error-messages.patch \ No newline at end of file diff --git a/src/amuse/community/mesa_r2208/.gitignore b/src/amuse/community/mesa_r2208/.gitignore deleted file mode 100644 index ab743f54d6..0000000000 --- a/src/amuse/community/mesa_r2208/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -src* -data/data/ diff --git a/src/amuse/community/mesa_r2208/Makefile b/src/amuse/community/mesa_r2208/Makefile deleted file mode 100644 index c11c57e3c9..0000000000 --- a/src/amuse/community/mesa_r2208/Makefile +++ /dev/null @@ -1,91 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -GFORTRAN_VERSION?=$(shell $(FC) -v 2>&1 | grep gcc\ version | cut -d\ -f3) -GFORTRAN_MAJOR_MINOR=$(shell echo $(GFORTRAN_VERSION) | cut -s -d'.' -f1,2) -#IFORT_VERSION?=$(shell $(FC) -v 2>&1 | cut -d\ -f2) -#IFORT_MAJOR_MINOR=$(shell echo $(IFORT_VERSION) | cut -s -d'.' -f1,2) -MPIF90 ?= mpif90 -FORTRAN ?= gfortran -PYTHON ?= python -FC ?= $(FORTRAN) -MPIFC += $(FCFLAGS) - -GFVERSION10PLUS := $(shell expr `${FC} -dumpversion | cut -f1 -d.` \>= 10) -ifeq (${GFVERSION10PLUS}, 1) -MPIFC += -fallow-invalid-boz -std=legacy -endif - -export FC MPIFC - -MESA_MAKE_DIR=./mesa_reqs -INCLUDE_DIR=./src/mesa/star/make -MESA_DIR = ./src/mesa -MESA_LIB=$(MESA_DIR)/lib/libstar.a - -export OPENMP_FCFLAGS= -include $(MESA_MAKE_DIR)/makefile_header -include $(MESA_MAKE_DIR)/makefile_include - -WORK_COMPILE = $(FC) $(FCbasic) $(FCopenmp) $(FCchecks) $(FCdebug) $(FCFLAGS) $(FFLAGS)\ - -I$(MESA_INCLUDE_DIR) -c $(FCfree) -STAR_WORK_OBJS = \ - $(MESA_MAKE_DIR)/run_star_support.o $(MESA_MAKE_DIR)/run_star_extras.o \ - $(MESA_MAKE_DIR)/calibrate.o $(MESA_MAKE_DIR)/isochrone.o $(MESA_MAKE_DIR)/$(PGSTAR_OBJS) \ - $(MESA_MAKE_DIR)/create_zams.o $(MESA_MAKE_DIR)/sample_zams.o \ - $(MESA_MAKE_DIR)/run_star.o - -ZAMS_DIR = ./data/input/star_data/starting_models -ZAMS_DATA = zams_z20m3.data - -DOWNLOAD_FROM_WEB = $(PYTHON) ./download.py -PATCH_FILES = $(PYTHON) ./patch_files.py - -all: mesa_worker $(ZAMS_DATA) data/data - -$(MESA_DIR)/install: - make -C . download - -download: - $(RM) -Rf src - -mkdir src - $(DOWNLOAD_FROM_WEB) - $(PATCH_FILES) - -clean: - $(RM) -f *~ *.pyc *.mod *.o worker_code worker_code.f90 $(MESA_LIB) - $(RM) -f mesa_worker mesa_worker_sockets worker_code-sockets.f90 - make -C $(MESA_MAKE_DIR) clean - -veryclean: clean - cd $(MESA_DIR); ./clean - -distclean: clean - $(RM) -Rf src - $(RM) -Rf src.* - $(RM) -Rf .pc - -$(ZAMS_DATA): - gunzip -c $(ZAMS_DATA).gz > $(ZAMS_DIR)/$(ZAMS_DATA) - -mesa_worker: worker_code.f90 interface.o $(STAR_WORK_OBJS) - $(MPIF90) $(FCFLAGS) $(FFLAGS) $(LDFLAGS) $(FCopenmp) $(FS_FLAGS) $^ -o $@ $(LOAD_MESA_STAR) $(FS_LIBS) $(LIBS) - -worker_code.f90: interface.py - $(CODE_GENERATOR) --type=f90 interface.py MESAInterface -o $@ - -$(MESA_LIB): $(MESA_DIR)/install - cp -f ./install $(MESA_DIR) - cp -f ./test_jina.f $(MESA_DIR)/jina/test/src/test_jina.f - cd $(MESA_DIR); ./install MPIFC="$(MPIFC) $(FCFLAGS)" OPENMP_FCFLAGS= - -interface.o: interface.f $(MESA_LIB) - make -s --no-print-directory -C $(MESA_MAKE_DIR) star FFLAGS="$(FCFLAGS)" - $(WORK_COMPILE) -I$(INCLUDE_DIR) -I$(MESA_MAKE_DIR) -o $@ $< - -data/data: - cp -r src/mesa/data data/ diff --git a/src/amuse/community/mesa_r2208/__init__.py b/src/amuse/community/mesa_r2208/__init__.py index 5409c011b3..4ec4b98504 100644 --- a/src/amuse/community/mesa_r2208/__init__.py +++ b/src/amuse/community/mesa_r2208/__init__.py @@ -6,3 +6,4 @@ You can also use AMUSE to convert common data formats. """ +from .interface import Mesa, MesaInterface diff --git a/src/amuse/community/mesa_r2208/build_mesa.py b/src/amuse/community/mesa_r2208/build_mesa.py deleted file mode 100755 index 8bba7890b6..0000000000 --- a/src/amuse/community/mesa_r2208/build_mesa.py +++ /dev/null @@ -1,195 +0,0 @@ -#!/usr/bin/env python - -import subprocess -import os -import sys -import time -import urllib.request, urllib.parse, urllib.error - -class MyFancyUrlopener(urllib.request.FancyURLopener): - def retrieve(self, url, filename=None, reporthook=None, data=None): - """retrieve(url) returns (filename, headers) for a local object - or (tempfilename, headers) for a remote object.""" - url = urllib.unwrap(urllib.toBytes(url)) - if self.tempcache and url in self.tempcache: - return self.tempcache[url] - type, url1 = urllib.parse.splittype(url) - if filename is None and (not type or type == 'file'): - try: - fp = self.open_local_file(url1) - hdrs = fp.info() - del fp - return urllib.request.url2pathname(urllib.parse.splithost(url1)[1]), hdrs - except IOError as msg: - pass - fp = self.open(url, data) - try: - headers = fp.info() - code = fp.code - if filename: - tfp = open(filename, 'wb') - else: - import tempfile - garbage, path = urllib.parse.splittype(url) - garbage, path = urllib.parse.splithost(path or "") - path, garbage = urllib.parse.splitquery(path or "") - path, garbage = urllib.parse.splitattr(path or "") - suffix = os.path.splitext(path)[1] - (fd, filename) = tempfile.mkstemp(suffix) - self.__tempfiles.append(filename) - tfp = os.fdopen(fd, 'wb') - try: - result = filename, headers, code - if self.tempcache is not None: - self.tempcache[url] = result - bs = 1024*8 - size = -1 - read = 0 - blocknum = 0 - if reporthook: - if "content-length" in headers: - size = int(headers["Content-Length"]) - reporthook(blocknum, bs, size) - while 1: - block = fp.read(bs) - if block == "": - break - read += len(block) - tfp.write(block) - blocknum += 1 - if reporthook: - reporthook(blocknum, bs, size) - finally: - tfp.close() - finally: - fp.close() - del fp - del tfp - - # raise exception if actual size does not match content-length header - if size >= 0 and read < size: - raise urllib.error.ContentTooShortError("retrieval incomplete: got only %i out " - "of %i bytes" % (read, size), result) - - return result - -class GetCodeFromHttp(object): - url_template = "http://www.amusecode.org/codes/mesa-r{version}.tgz" - filename_template = "mesa-r{version}.tgz" - version = "2208" - - def directory(self): - return os.path.abspath(os.path.dirname(__file__)) - - def src_directory(self): - return os.path.join(self.directory(), 'src') - - def unpack_downloaded_file(self, filename): - print("unpacking", filename) - arguments = ['tar', '-xf'] - arguments.append(filename) - subprocess.call( - arguments, - cwd = os.path.join(self.src_directory()) - ) - print("done") - - - def start(self): - if os.path.exists('src'): - counter = 0 - while os.path.exists('src.{0}'.format(counter)): - counter += 1 - if counter > 100: - print("too many backup directories") - break - os.rename('src', 'src.{0}'.format(counter)) - - os.mkdir('src') - - url = self.url_template.format(version = self.version) - filename = self.filename_template.format(version = self.version) - print("downloading version",self.version,"from", url, "to", filename) - opener = MyFancyUrlopener() - filename, httpmessage, code = opener.retrieve(url, filename = os.path.join(self.src_directory(),filename)) - if code == 404: - os.remove(filename) - url = self.backup_url_template.format(version = self.version) - filename, httpmessage, code = opener.retrieve(url, filename = os.path.join(self.src_directory(),filename)) - - print("downloading finished") - self.unpack_downloaded_file(filename) - -class BuildMesa(object): - - def mesa_directory(self): - return os.path.abspath(os.path.dirname(__file__)) - - - def get_mesa_source_from_svn(self): - mesa_url = "http://mesa.svn.sourceforge.net/svnroot/mesa/trunk" - revision = "2208" - subprocess.call(['svn', 'export', - '-r', revision, mesa_url, os.path.join('src','mesa')], cwd = self.mesa_directory()) - self.patch_mesa_source() - - def get_mesa_source_from_http(self): - revision = "2208" - instance = GetCodeFromHttp() - instance.version = "2208" - instance.start() - #self.patch_mesa_source() - - def patch_mesa_source(self): - if 1: - # no longer copy these files - # the patch system will do this - return - subprocess.call(['cp','-f','./mesa_reqs/makefile_header', - './src/mesa/utils/makefile_header'], cwd = self.mesa_directory()) - subprocess.call(['cp','-f','./mesa_reqs/create_zams.f', - './src/mesa/star/test/src/create_zams.f'], cwd = self.mesa_directory()) - subprocess.call(['cp','-f','./mesa_reqs/eos_def.f', - './src/mesa/eos/public/eos_def.f'], cwd = self.mesa_directory()) - subprocess.call(['cp','-f','./mesa_reqs/jina_def.f', - './src/mesa/jina/public/jina_def.f'], cwd = self.mesa_directory()) - subprocess.call(['cp','-f','./mesa_reqs/kap_def.f', - './src/mesa/kap/public/kap_def.f'], cwd = self.mesa_directory()) - subprocess.call(['cp','-f','./mesa_reqs/net_def.f', - './src/mesa/net/public/net_def.f'], cwd = self.mesa_directory()) - subprocess.call(['cp','-f','./mesa_reqs/star_def.f', - './src/mesa/star/public/star_def.f'], cwd = self.mesa_directory()) - - def build_mesa(self): - self.get_mesa_source_from_http() - subprocess.call(['./install'], cwd = os.path.join(self.mesa_directory(), 'src', 'mesa')) - - def clean_mesa(self): - subprocess.call(['./clean'], cwd = os.path.join(self.mesa_directory(), 'src', 'mesa')) - print("Finished cleaning.\n") - - def very_clean_mesa(self): - self.clean_mesa() - print("Also emptying the EOS, KAP, and NET caches.") - subprocess.call(['./empty_caches'], cwd = os.path.join(self.mesa_directory(), 'src', 'mesa')) - -if __name__ == '__main__': - instance = BuildMesa() - if len(sys.argv) == 1: - instance.build_mesa() - elif sys.argv[1] == "download": - instance.get_mesa_source_from_http() - elif sys.argv[1] == "patch": - instance.patch_mesa_source() - elif sys.argv[1] == "build": - instance.build_mesa() - elif sys.argv[1] == "rebuild": - instance.clean_mesa() - instance.build_mesa() - elif sys.argv[1] == "clean": - instance.clean_mesa() - elif sys.argv[1] == "veryclean": - instance.very_clean_mesa() - else: - print("I'm confused: unknown argument: ", sys.argv[1]) - print("Known arguments: 'download', 'build', 'rebuild', 'clean', 'veryclean'") diff --git a/src/amuse/community/mesa_r2208/download.py b/src/amuse/community/mesa_r2208/download.py deleted file mode 100755 index 9bf0e99619..0000000000 --- a/src/amuse/community/mesa_r2208/download.py +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/bin/env python - -import subprocess -import os -import sys -import time -import urllib.request -import urllib.parse -import urllib.error -from optparse import OptionParser - - -class GetCodeFromHttp(object): - url_template = "https://zenodo.org/record/2603017/files/mesa-r{version}.zip" - filename_template = "mesa-r{version}.zip" - version = "" - - def directory(self): - return os.path.abspath(os.path.dirname(__file__)) - - def src_directory(self): - return os.path.join(self.directory(), 'src') - - def unpack_downloaded_file(self, filename): - print(f"unpacking {filename}") - arguments = ['unzip', ] - arguments.append(filename) - subprocess.call( - arguments, - cwd=os.path.join(self.src_directory()) - ) - os.rename( - f"{self.src_directory()}/mesa-r{self.version}", - f"{self.src_directory()}/mesa" - ) - print("done") - - def start(self): - if os.path.exists('src'): - counter = 0 - while os.path.exists(f'src.{counter}'): - counter += 1 - if counter > 100: - print("too many backup directories") - break - os.rename('src', f'src.{counter}') - - os.mkdir('src') - - url = self.url_template.format(version=self.version) - filename = self.filename_template.format(version=self.version) - filepath = os.path.join(self.src_directory(), filename) - print(f"downloading version {self.version} from {url} to {filename}") - urllib.request.urlretrieve(url, filepath) - print("downloading finished") - self.unpack_downloaded_file(filename) - - -def main(version=''): - instance = GetCodeFromHttp() - instance.version = version - instance.start() - - -def new_option_parser(): - result = OptionParser() - result.add_option( - "--version", - default='2208', - dest="version", - help="version number to download", - type="string" - ) - return result - - -if __name__ == "__main__": - options, arguments = new_option_parser().parse_args() - main(**options.__dict__) diff --git a/src/amuse/community/mesa_r2208/interface.f b/src/amuse/community/mesa_r2208/interface.f deleted file mode 100644 index 490890f1e0..0000000000 --- a/src/amuse/community/mesa_r2208/interface.f +++ /dev/null @@ -1,2681 +0,0 @@ - module amuse_support - implicit none - character (len=4096) :: AMUSE_inlist_path - character (len=4096) :: AMUSE_mesa_data_dir - character (len=4096) :: AMUSE_local_data_dir ! Used for output starting_models - character (len=4096) :: AMUSE_zams_filename = 'zams_z20m3' - double precision :: AMUSE_metallicity = 0.02d0 - double precision :: AMUSE_dmass = 0.1d0 - double precision :: AMUSE_mlo = -1.0d0 - double precision :: AMUSE_mhi = 2.0d0 - double precision :: AMUSE_max_age_stop_condition = 1.0d36 - double precision :: AMUSE_min_timestep_stop_condition = 1.0d-6 - integer :: AMUSE_max_iter_stop_condition = -1111 - double precision :: AMUSE_mixing_length_ratio = 2.0d0 - double precision :: AMUSE_semi_convection_efficiency = 0.0d0 - integer :: AMUSE_RGB_wind_scheme = 1 - integer :: AMUSE_AGB_wind_scheme = 1 - double precision :: AMUSE_reimers_wind_efficiency = 0.5d0 - double precision :: AMUSE_blocker_wind_efficiency = 0.1d0 - double precision :: AMUSE_de_jager_wind_efficiency = 0.8d0 - double precision :: AMUSE_dutch_wind_efficiency = 0.8d0 - double precision :: AMUSE_overshoot_f_above_nonburn = 0 - double precision :: AMUSE_overshoot_f_below_nonburn = 0 - double precision :: AMUSE_overshoot_f_above_burn_h = 0 - double precision :: AMUSE_overshoot_f_below_burn_h = 0 - double precision :: AMUSE_overshoot_f_above_burn_he = 0 - double precision :: AMUSE_overshoot_f_below_burn_he = 0 - double precision :: AMUSE_overshoot_f_above_burn_z = 0 - double precision :: AMUSE_overshoot_f_below_burn_z = 0 - - double precision, allocatable :: target_times(:) - integer :: number_of_particles ! Dead or alive... - - logical :: new_model_defined = .false. - integer :: id_new_model - - logical :: debugging = .false. - logical :: do_stabilize_new_stellar_model = .true. - - contains - logical function failed(str, ierr) - character (len=*), intent(in) :: str - integer, intent(in) :: ierr - failed = (ierr /= 0) - if (failed) write(*, *) trim(str) // ' ierr', ierr - end function failed - logical function evolve_failed(str, ierr, return_var, errorcode) - character (len=*), intent(in) :: str - integer, intent(in) :: ierr, errorcode - integer, intent(out) :: return_var - evolve_failed = (ierr /= 0) - if (evolve_failed) then - write(*, *) trim(str) // ' ierr', ierr - return_var = errorcode - endif - end function evolve_failed - subroutine get_zams_filename(str, ierr) - character (len=1024), intent(out) :: str - integer, intent(out) :: ierr - character (len=1024) :: metallicity_str - integer :: metallicity_exp, metallicity_factor - if (AMUSE_metallicity.eq.0.0d0) then - str = trim(AMUSE_local_data_dir) // '/star_data/starting_models/zams_z0m0' - else - metallicity_exp = floor(log10(AMUSE_metallicity))-1 - metallicity_factor = floor(0.5 + AMUSE_metallicity/(1.0d1**metallicity_exp)) - write(metallicity_str,'(I0, A, I0)') metallicity_factor, "m", & - -metallicity_exp - str = trim(AMUSE_local_data_dir) // '/star_data/starting_models/zams_z' & - // trim(metallicity_str) - endif - ierr = 0 - end subroutine get_zams_filename - end module amuse_support - -! Set the paths to the inlist and the data directory - integer function set_MESA_paths(AMUSE_inlist_path_in, & - AMUSE_mesa_data_dir_in, AMUSE_local_data_dir_in) - use amuse_support, only: AMUSE_inlist_path, & - AMUSE_mesa_data_dir, AMUSE_local_data_dir - implicit none - character(*), intent(in) :: AMUSE_inlist_path_in, & - AMUSE_mesa_data_dir_in, AMUSE_local_data_dir_in - AMUSE_inlist_path = AMUSE_inlist_path_in - AMUSE_mesa_data_dir = AMUSE_mesa_data_dir_in - AMUSE_local_data_dir = AMUSE_local_data_dir_in - set_MESA_paths = 0 - end function set_MESA_paths - -! Initialize the stellar evolution code - integer function initialize_code() - use amuse_support, only: failed, AMUSE_mesa_data_dir, AMUSE_inlist_path - use amuse_support, only: AMUSE_metallicity - use run_star_support - use ctrls_io, only: set_default_controls - implicit none - integer :: ierr, set_metallicity - initialize_code = -1 - !call set_default_controls - call do_read_star_job(AMUSE_inlist_path, ierr) - if (failed('do_read_star_job', ierr)) return - ! Replace value of mesa_data_dir just read, with supplied path. - mesa_data_dir = AMUSE_mesa_data_dir - call star_init(mesa_data_dir, kappa_file_prefix, & - net_reaction_filename, rates_dir, ppn_rate_numbers_fname, ierr) - if (failed('star_init', ierr)) return - profile_columns_file = trim(mesa_data_dir) // '/star_data/profile_columns.list' - log_columns_file = trim(mesa_data_dir) // '/star_data/log_columns.list' - ierr = set_metallicity(AMUSE_metallicity) - if (failed('set_metallicity', ierr)) return - call flush() - report_backups = .true. - report_retries = .true. - initialize_code = 0 - end function initialize_code - - - integer function commit_parameters() - commit_parameters = 0 - end function commit_parameters - - integer function recommit_parameters() - recommit_parameters = 0 - end function recommit_parameters - - integer function cleanup_code() - cleanup_code = 0 - end function cleanup_code - -! Create new ZAMS model for a different metallicity - subroutine new_zams_model(ierr) - use create_zams, only: AMUSE_do_create_zams - use amuse_support - use run_star_support, only: run_create_zams, zams_inlist - implicit none - integer :: ierr - call get_zams_filename(AMUSE_zams_filename, ierr) - if (failed('get_zams_filename', ierr)) return - run_create_zams = .true. ! is this necessary? - call AMUSE_do_create_zams(AMUSE_metallicity, AMUSE_zams_filename, & - AMUSE_inlist_path, & - AMUSE_dmass, AMUSE_mlo, AMUSE_mhi, ierr) - if (failed('AMUSE_do_create_zams', ierr)) return - call flush() - ierr = 0 - end subroutine new_zams_model - -! Create a new particle - function new_particle(AMUSE_id, AMUSE_mass) - use amuse_support - use star_lib, only: alloc_star, star_setup, star_load_zams, & - show_terminal_header, show_log_description - use star_private_def, only: star_info, get_star_ptr - use run_star_support, only: setup_for_run_star, before_evolve, & - show_log_description_at_start - implicit none - integer, intent(out) :: AMUSE_id - integer :: new_particle, ierr - double precision, intent(in) :: AMUSE_mass - type (star_info), pointer :: s - new_particle = -1 - AMUSE_id = alloc_star(ierr) - number_of_particles = AMUSE_id - if (failed('alloc_star', ierr)) return - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) return - call star_setup(AMUSE_id, AMUSE_inlist_path, ierr) - if (failed('star_setup', ierr)) return - ! Replace value of mass and metallicity just read, with supplied values. - s% initial_mass = AMUSE_mass - s% initial_z = AMUSE_metallicity - s% zams_filename = trim(AMUSE_zams_filename) // '.data' - s% max_age = AMUSE_max_age_stop_condition - s% min_timestep_limit = AMUSE_min_timestep_stop_condition - s% max_model_number = AMUSE_max_iter_stop_condition - s% mixing_length_alpha = AMUSE_mixing_length_ratio - s% alpha_semiconvection = AMUSE_semi_convection_efficiency - s% RGB_wind_scheme = AMUSE_RGB_wind_scheme - s% AGB_wind_scheme = AMUSE_AGB_wind_scheme - s% Reimers_wind_eta = AMUSE_reimers_wind_efficiency - s% Blocker_wind_eta = AMUSE_blocker_wind_efficiency - s% de_Jager_wind_eta = AMUSE_de_jager_wind_efficiency - s% Dutch_wind_eta = AMUSE_dutch_wind_efficiency - s% overshoot_f_above_nonburn = AMUSE_overshoot_f_above_nonburn - s% overshoot_f_below_nonburn = AMUSE_overshoot_f_below_nonburn - s% overshoot_f_above_burn_h = AMUSE_overshoot_f_above_burn_h - s% overshoot_f_below_burn_h = AMUSE_overshoot_f_below_burn_h - s% overshoot_f_above_burn_he = AMUSE_overshoot_f_above_burn_he - s% overshoot_f_below_burn_he = AMUSE_overshoot_f_below_burn_he - s% overshoot_f_above_burn_z = AMUSE_overshoot_f_above_burn_z - s% overshoot_f_below_burn_z = AMUSE_overshoot_f_below_burn_z - if (debugging) then - write (*,*) "Creating new particles with mass: ", s% initial_mass - write (*,*) "Loading starting model from: ", s% zams_filename - endif - if (show_log_description_at_start) then - write(*,*) - call show_log_description(AMUSE_id, ierr) - if (failed('show_log_description', ierr)) return - end if - write(*,*) - call star_load_zams(AMUSE_id, ierr) - if (failed('star_load_zams', ierr)) return - call setup_for_run_star(AMUSE_id, s, .false., ierr) - if (failed('setup_for_run_star', ierr)) return - call before_evolve(AMUSE_id, ierr) - if (failed('before_evolve', ierr)) return - call show_terminal_header(AMUSE_id, ierr) - if (failed('show_terminal_header', ierr)) return - call flush() - new_particle = 0 - end function - -! Create a new pre-main-sequence star - function new_pre_ms_particle(AMUSE_id, AMUSE_mass) - use amuse_support - use star_lib, only: alloc_star, star_setup, star_create_pre_ms_model, & - show_terminal_header, show_log_description - use star_private_def, only: star_info, get_star_ptr - use run_star_support, only: setup_for_run_star, before_evolve, & - show_log_description_at_start - implicit none - integer, intent(out) :: AMUSE_id - integer :: new_pre_ms_particle, ierr - double precision, intent(in) :: AMUSE_mass - type (star_info), pointer :: s - new_pre_ms_particle = -1 - AMUSE_id = alloc_star(ierr) - number_of_particles = AMUSE_id - if (failed('alloc_star', ierr)) return - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) return - call star_setup(AMUSE_id, AMUSE_inlist_path, ierr) - if (failed('star_setup', ierr)) return - ! Replace value of mass and metallicity just read, with supplied values. - s% initial_mass = AMUSE_mass - s% initial_z = AMUSE_metallicity - s% zams_filename = trim(AMUSE_zams_filename) // '.data' - s% max_age = AMUSE_max_age_stop_condition - s% min_timestep_limit = AMUSE_min_timestep_stop_condition - s% max_model_number = AMUSE_max_iter_stop_condition - s% mixing_length_alpha = AMUSE_mixing_length_ratio - s% alpha_semiconvection = AMUSE_semi_convection_efficiency - s% RGB_wind_scheme = AMUSE_RGB_wind_scheme - s% AGB_wind_scheme = AMUSE_AGB_wind_scheme - s% Reimers_wind_eta = AMUSE_reimers_wind_efficiency - s% Blocker_wind_eta = AMUSE_blocker_wind_efficiency - s% de_Jager_wind_eta = AMUSE_de_jager_wind_efficiency - s% Dutch_wind_eta = AMUSE_dutch_wind_efficiency - s% overshoot_f_above_nonburn = AMUSE_overshoot_f_above_nonburn - s% overshoot_f_below_nonburn = AMUSE_overshoot_f_below_nonburn - s% overshoot_f_above_burn_h = AMUSE_overshoot_f_above_burn_h - s% overshoot_f_below_burn_h = AMUSE_overshoot_f_below_burn_h - s% overshoot_f_above_burn_he = AMUSE_overshoot_f_above_burn_he - s% overshoot_f_below_burn_he = AMUSE_overshoot_f_below_burn_he - s% overshoot_f_above_burn_z = AMUSE_overshoot_f_above_burn_z - s% overshoot_f_below_burn_z = AMUSE_overshoot_f_below_burn_z - if (debugging) then - write (*,*) "Creating new pre-main-sequence particles with mass: ", s% initial_mass - endif - if (show_log_description_at_start) then - write(*,*) - call show_log_description(AMUSE_id, ierr) - if (failed('show_log_description', ierr)) return - end if - write(*,*) - call star_create_pre_ms_model(AMUSE_id, 0.0d0, 0.0d0, 0.0d0, ierr) - if (failed('create_pre_ms_model', ierr)) return - call setup_for_run_star(AMUSE_id, s, .false., ierr) - if (failed('setup_for_run_star', ierr)) return - call before_evolve(AMUSE_id, ierr) - if (failed('before_evolve', ierr)) return - call show_terminal_header(AMUSE_id, ierr) - if (failed('show_terminal_header', ierr)) return - call flush() - new_pre_ms_particle = 0 - end function - -! Remove a particle (doesn't do anything yet) - function delete_star(AMUSE_id) - implicit none - integer, intent(in) :: AMUSE_id - integer :: delete_star - delete_star = 0 - end function - - function commit_particles() - use amuse_support, only: target_times, number_of_particles - implicit none - integer :: commit_particles - allocate(target_times(number_of_particles)) - target_times = 0 - commit_particles = 0 - end function - - function recommit_particles() - use amuse_support, only: target_times, number_of_particles - implicit none - integer :: recommit_particles - double precision, allocatable :: temp(:) - allocate(temp(size(target_times))) - temp = target_times - deallocate(target_times) - allocate(target_times(number_of_particles)) - target_times = 0 - target_times(1:size(temp)) = temp - deallocate(temp) - recommit_particles = 0 - end function - -! Get/setters for code parameters: - -! Return the number of particles currently allocated in the code - function get_number_of_particles(AMUSE_value) - use ctrls_io - use run_star_support - implicit none - integer :: get_number_of_particles - integer, intent(out) :: AMUSE_value - AMUSE_value = 1 - get_number_of_particles = -1 - end function - -! Return the metallicity parameter - integer function get_metallicity(AMUSE_value) - use amuse_support, only: AMUSE_metallicity - implicit none - double precision, intent(out) :: AMUSE_value - AMUSE_value = AMUSE_metallicity - get_metallicity = 0 - end function - -! Set the metallicity parameter - integer function set_metallicity(AMUSE_value) - use amuse_support, only: AMUSE_metallicity, & - AMUSE_zams_filename, failed, get_zams_filename - use utils_lib, only: alloc_iounit, free_iounit - implicit none - double precision, intent(in) :: AMUSE_value - integer :: ierr, iounit - character (len=1024) :: file - set_metallicity = -1 - AMUSE_metallicity = AMUSE_value - call get_zams_filename(AMUSE_zams_filename, ierr) - if (failed('get_zams_filename', ierr)) return - ! Check if the ZAMS model file exists - iounit = alloc_iounit(ierr) - if (failed('alloc_iounit', ierr)) return - file = trim(AMUSE_zams_filename) // '.data' - open(iounit, file=trim(file), action='read', status='old', iostat=ierr) - if (ierr == 0) then - close(iounit) - call free_iounit(iounit) - else - call free_iounit(iounit) - call new_zams_model(ierr) ! Have to create a new model otherwise. - if (failed('new_zams_model', ierr)) return - endif - set_metallicity = 0 - end function - -! Return the current mass of the star - function get_mass(AMUSE_id, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - double precision, intent(out) :: AMUSE_value - integer :: get_mass, ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1.0 - get_mass = -1 - else - AMUSE_value = s% star_mass - get_mass = 0 - endif - end function -! Set the current mass of the star - function set_mass(AMUSE_id, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use const_def, only: msol - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - double precision, intent(in) :: AMUSE_value - integer :: set_mass, ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - set_mass = -1 - else - s% mstar = AMUSE_value * msol - s% mstar_old = AMUSE_value * msol - s% mstar_older = AMUSE_value * msol - s% star_mass = AMUSE_value - set_mass = 0 - endif - end function - -! Return the current core mass of the star, where hydrogen abundance is <= h1_boundary_limit - function get_core_mass(AMUSE_id, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - double precision, intent(out) :: AMUSE_value - integer :: get_core_mass, ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1.0 - get_core_mass = -1 - else - AMUSE_value = s% h1_boundary_mass - get_core_mass = 0 - endif - end function - -! Return the current mass loss rate of the star - function get_mass_loss_rate(AMUSE_id, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - double precision, intent(out) :: AMUSE_value - integer :: get_mass_loss_rate, ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1.0 - get_mass_loss_rate = -1 - else - AMUSE_value = -s% mstar_dot - get_mass_loss_rate = 0 - endif - end function - -! Return the current user-specified mass transfer rate of the star - function get_manual_mass_transfer_rate(AMUSE_id, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - double precision, intent(out) :: AMUSE_value - integer :: get_manual_mass_transfer_rate, ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1.0 - get_manual_mass_transfer_rate = -1 - else - AMUSE_value = s% mass_change - get_manual_mass_transfer_rate = 0 - endif - end function - -! Set a new user-specified mass transfer rate of the star - function set_manual_mass_transfer_rate(AMUSE_id, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - double precision, intent(out) :: AMUSE_value - integer :: set_manual_mass_transfer_rate, ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - set_manual_mass_transfer_rate = -1 - else - s% mass_change = AMUSE_value - set_manual_mass_transfer_rate = 0 - endif - end function - -! Return the current temperature of the star - function get_temperature(AMUSE_id, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - double precision, intent(out) :: AMUSE_value - integer :: get_temperature, ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1.0 - get_temperature = -1 - else - AMUSE_value = s% Teff - get_temperature = 0 - endif - end function - -! Return the current luminosity of the star - function get_luminosity(AMUSE_id, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - double precision, intent(out) :: AMUSE_value - integer :: get_luminosity, ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1.0 - get_luminosity = -1 - else - AMUSE_value = 10.0d0**s% log_surface_luminosity - get_luminosity = 0 - endif - end function - -! Return the current age of the star - function get_age(AMUSE_id, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - double precision, intent(out) :: AMUSE_value - integer :: get_age, ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1.0 - get_age = -1 - else - AMUSE_value = s% star_age - get_age = 0 - endif - end function - -! Return the next timestep for the star - function get_time_step(AMUSE_id, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use const_def, only: secyer - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - double precision, intent(out) :: AMUSE_value - integer :: get_time_step, ierr - type (star_info), pointer :: s - AMUSE_value = -1.0 - get_time_step = -1 - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) return - AMUSE_value = s% dt_next/secyer - get_time_step = 0 - end function - -! Set the next timestep for the star - function set_time_step(AMUSE_id, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use const_def, only: secyer - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - double precision, intent(in) :: AMUSE_value - integer :: set_time_step, ierr - type (star_info), pointer :: s - set_time_step = -1 - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) return - s% dt_next = AMUSE_value*secyer - set_time_step = 0 - end function - -! if true, composition of accreted material is identical to the current surface composition. - function get_accrete_same_as_surface(AMUSE_id, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - integer, intent(out) :: AMUSE_value - integer :: get_accrete_same_as_surface, ierr - type (star_info), pointer :: s - get_accrete_same_as_surface = -1 - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) return - if (s% accrete_same_as_surface) then - AMUSE_value = 1 - else - AMUSE_value = 0 - endif - get_accrete_same_as_surface = 0 - end function - function set_accrete_same_as_surface(AMUSE_id, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - integer, intent(in) :: AMUSE_value - integer :: set_accrete_same_as_surface, ierr - type (star_info), pointer :: s - set_accrete_same_as_surface = -1 - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) return - if (AMUSE_value > 0) then - s% accrete_same_as_surface = .true. - else - s% accrete_same_as_surface = .false. - endif - set_accrete_same_as_surface = 0 - end function - -! otherwise, then use the following parameters - function get_accrete_composition_non_metals(AMUSE_id, h1, h2, he3, he4) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - double precision, intent(out) :: h1, h2, he3, he4 - integer :: get_accrete_composition_non_metals, ierr - type (star_info), pointer :: s - get_accrete_composition_non_metals = -1 - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) return - h1 = s% accretion_h1 - h2 = s% accretion_h2 - he3 = s% accretion_he3 - he4 = s% accretion_he4 - get_accrete_composition_non_metals = 0 - end function - function set_accrete_composition_non_metals(AMUSE_id, h1, h2, he3, he4) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - double precision, intent(in) :: h1, h2, he3, he4 - integer :: set_accrete_composition_non_metals, ierr - type (star_info), pointer :: s - set_accrete_composition_non_metals = -1 - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) return - s% accretion_h1 = h1 ! mass fraction - s% accretion_h2 = h2 ! if no h2 in current net, then this is automatically added to h1 - s% accretion_he3 = he3 - s% accretion_he4 = he4 - set_accrete_composition_non_metals = 0 - end function - -! one of the identifiers for different Z fractions from chem_def -! AG89_zfracs = 1, Anders & Grevesse 1989 -! GN93_zfracs = 2, Grevesse & Noels 1993 -! GS98_zfracs = 3, Grevesse & Sauval 1998 -! L03_zfracs = 4, Lodders 2003 -! AGS04_zfracs = 5, Asplund, Grevesse & Sauval 2004 -! or set accretion_zfracs = 0 to use special list of z fractions - function get_accrete_composition_metals_identifier(AMUSE_id, zfracs_identifier) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - integer, intent(out) :: zfracs_identifier - integer :: get_accrete_composition_metals_identifier, ierr - type (star_info), pointer :: s - get_accrete_composition_metals_identifier = -1 - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) return - zfracs_identifier = s% accretion_zfracs - get_accrete_composition_metals_identifier = 0 - end function - function set_accrete_composition_metals_identifier(AMUSE_id, zfracs_identifier) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - integer, intent(in) :: zfracs_identifier - integer :: set_accrete_composition_metals_identifier, ierr - type (star_info), pointer :: s - set_accrete_composition_metals_identifier = -1 - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) return - if (zfracs_identifier > 5 .or. zfracs_identifier < 0) then - - endif - s% accretion_zfracs = zfracs_identifier - set_accrete_composition_metals_identifier = 0 - end function - -! special list of z fractions -- if you use these, they should add to 1.0 - function get_accrete_composition_metals(AMUSE_id, li, be, b, c, n, o, f, ne, & - na, mg, al, si, p, s, cl, ar, k, ca, sc, ti, v, cr, mn, fe, co, ni, cu, zn) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - double precision, intent(out) :: li, be, b, c, n, o, f, ne, na, mg, al, si - double precision, intent(out) :: p, s, cl, ar, k, ca, sc, ti, v, cr, mn - double precision, intent(out) :: fe, co, ni, cu, zn - integer :: get_accrete_composition_metals, ierr - type (star_info), pointer :: star_pointer - get_accrete_composition_metals = -1 - call get_star_ptr(AMUSE_id, star_pointer, ierr) - if (failed('get_star_ptr', ierr)) return - li = star_pointer% z_fraction_li - be = star_pointer% z_fraction_be - b = star_pointer% z_fraction_b - c = star_pointer% z_fraction_c - n = star_pointer% z_fraction_n - o = star_pointer% z_fraction_o - f = star_pointer% z_fraction_f - ne = star_pointer% z_fraction_ne - na = star_pointer% z_fraction_na - mg = star_pointer% z_fraction_mg - al = star_pointer% z_fraction_al - si = star_pointer% z_fraction_si - p = star_pointer% z_fraction_p - s = star_pointer% z_fraction_s - cl = star_pointer% z_fraction_cl - ar = star_pointer% z_fraction_ar - k = star_pointer% z_fraction_k - ca = star_pointer% z_fraction_ca - sc = star_pointer% z_fraction_sc - ti = star_pointer% z_fraction_ti - v = star_pointer% z_fraction_v - cr = star_pointer% z_fraction_cr - mn = star_pointer% z_fraction_mn - fe = star_pointer% z_fraction_fe - co = star_pointer% z_fraction_co - ni = star_pointer% z_fraction_ni - cu = star_pointer% z_fraction_cu - zn = star_pointer% z_fraction_zn - get_accrete_composition_metals = 0 - end function - function set_accrete_composition_metals(AMUSE_id, li, be, b, c, n, o, f, ne, & - na, mg, al, si, p, s, cl, ar, k, ca, sc, ti, v, cr, mn, fe, co, ni, cu, zn) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - double precision, intent(in) :: li, be, b, c, n, o, f, ne, na, mg, al, si - double precision, intent(in) :: p, s, cl, ar, k, ca, sc, ti, v, cr, mn - double precision, intent(in) :: fe, co, ni, cu, zn - integer :: set_accrete_composition_metals, ierr - type (star_info), pointer :: star_pointer - set_accrete_composition_metals = -1 - call get_star_ptr(AMUSE_id, star_pointer, ierr) - if (failed('get_star_ptr', ierr)) return - star_pointer% z_fraction_li = li - star_pointer% z_fraction_be = be - star_pointer% z_fraction_b = b - star_pointer% z_fraction_c = c - star_pointer% z_fraction_n = n - star_pointer% z_fraction_o = o - star_pointer% z_fraction_f = f - star_pointer% z_fraction_ne = ne - star_pointer% z_fraction_na = na - star_pointer% z_fraction_mg = mg - star_pointer% z_fraction_al = al - star_pointer% z_fraction_si = si - star_pointer% z_fraction_p = p - star_pointer% z_fraction_s = s - star_pointer% z_fraction_cl = cl - star_pointer% z_fraction_ar = ar - star_pointer% z_fraction_k = k - star_pointer% z_fraction_ca = ca - star_pointer% z_fraction_sc = sc - star_pointer% z_fraction_ti = ti - star_pointer% z_fraction_v = v - star_pointer% z_fraction_cr = cr - star_pointer% z_fraction_mn = mn - star_pointer% z_fraction_fe = fe - star_pointer% z_fraction_co = co - star_pointer% z_fraction_ni = ni - star_pointer% z_fraction_cu = cu - star_pointer% z_fraction_zn = zn - set_accrete_composition_metals = 0 - end function - -! Return the current radius of the star - function get_radius(AMUSE_id, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - double precision, intent(out) :: AMUSE_value - integer :: get_radius, ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1.0 - get_radius = -1 - else - AMUSE_value = 10.0d0**s% log_surface_radius - get_radius = 0 - endif - end function - -! Return the current stellar type of the star - function get_stellar_type(AMUSE_id, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - use do_one_utils, only: do_show_terminal_header, do_terminal_summary - use star_utils, only:eval_current_y, eval_current_z - implicit none - integer, intent(in) :: AMUSE_id - integer, intent(out) :: AMUSE_value - integer :: get_stellar_type, ierr - double precision :: x_avg, y_avg, z_avg - type (star_info), pointer :: s - AMUSE_value = -99 - get_stellar_type = -1 - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) return - ! if the star is not a stellar remnant... - if (s% log_surface_radius > -1.0) then - ! Use the MESA phase_of_evolution marker (explained below) - select case(s% phase_of_evolution) - case(0) - AMUSE_value = 17 ! Pre-main-sequence star - case(1,2) - if (s% star_mass < 0.75) then - AMUSE_value = 0 ! Convective low mass star - else - AMUSE_value = 1 ! Main sequence star - endif - case(3) - AMUSE_value = 3 ! Red giant branch - case(4:) - y_avg = eval_current_y(s, 1, s% nz, ierr) - if (failed('eval_current_y', ierr)) return - z_avg = eval_current_z(s, 1, s% nz, ierr) - if (failed('eval_current_z', ierr)) return - x_avg = max(0d0, min(1d0, 1 - (y_avg + z_avg))) - if (x_avg > 1.0d-5) then - if (s% center_he3 + s% center_he4 > 1.0d-5) then - AMUSE_value = 4 ! Core He burning - else - if (y_avg < 0.75 * x_avg) then - AMUSE_value = 5 ! Early AGB (inert C/O core) - else - AMUSE_value = 6 ! Late (thermally pulsing) AGB (inert C/O core) - endif - endif - else - if (s% center_he3 + s% center_he4 > 1.0d-5) then - AMUSE_value = 7 ! Helium MS star - else - AMUSE_value = 9 ! Helium giant - endif - endif - case default - write(*,*) "Unable to determine the stellar type." - write(*,*) "The following information might help:" - call do_show_terminal_header(s) - call do_terminal_summary(s) - return - end select - else ! stellar remnant - if (s% star_mass < 1.44) then ! white dwarf - ! Helium White Dwarf: - if (s% center_he3 + s% center_he4 > 0.1) AMUSE_value = 10 - ! Carbon/Oxygen White Dwarf: - if (s% center_c12 > 0.1) AMUSE_value = 11 - ! Oxygen/Neon White Dwarf: - if (s% center_ne20 > 0.01) AMUSE_value = 12 - ! Else? Unknown kind of white dwarf... hopefully never reached. - if (AMUSE_value == -99) AMUSE_value = -10 - else - if (s% star_mass < 3.2) then - AMUSE_value = 13 ! Neutron Star - else - AMUSE_value = 14 ! Black Hole - endif - endif - endif - get_stellar_type = 0 -! integer, parameter :: phase_starting = 0 -! integer, parameter :: phase_early_main_seq = 1 -! integer, parameter :: phase_mid_main_seq = 2 -! integer, parameter :: phase_wait_for_he = 3 -! integer, parameter :: phase_he_ignition_over = 4 -! integer, parameter :: phase_he_igniting = 5 -! integer, parameter :: phase_helium_burning = 6 -! integer, parameter :: phase_carbon_burning = 7 - end function - -! Return the current number of zones/mesh-cells of the star - integer function get_number_of_zones(AMUSE_id, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - integer, intent(out) :: AMUSE_value - integer :: ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1 - get_number_of_zones = -1 - else - AMUSE_value = s% nz - get_number_of_zones = 0 - endif - end function - -! Return the number_of_backups_in_a_row of the star - integer function get_number_of_backups_in_a_row(AMUSE_id, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - integer, intent(out) :: AMUSE_value - integer :: ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - get_number_of_backups_in_a_row = -1 - else - AMUSE_value = s% number_of_backups_in_a_row - get_number_of_backups_in_a_row = 0 - endif - end function - -! Reset number_of_backups_in_a_row of the star - integer function reset_number_of_backups_in_a_row(AMUSE_id) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - integer :: ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - reset_number_of_backups_in_a_row = -1 - else - s% number_of_backups_in_a_row = 0 - reset_number_of_backups_in_a_row = 0 - endif - end function - -! Return the mass fraction at the specified zone/mesh-cell of the star - integer function get_mass_fraction_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id, AMUSE_zone - double precision, intent(out) :: AMUSE_value - integer :: ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1.0 - get_mass_fraction_at_zone = -1 - else - if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then - AMUSE_value = -1.0 - get_mass_fraction_at_zone = -2 - else - if (s% number_of_backups_in_a_row > s% max_backups_in_a_row ) then - AMUSE_value = s% dq_old(s% nz - AMUSE_zone) - else - AMUSE_value = s% dq(s% nz - AMUSE_zone) - endif - get_mass_fraction_at_zone = 0 - endif - endif - end function -! Set the mass fraction at the specified zone/mesh-cell of the star - integer function set_mass_fraction_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id, AMUSE_zone - double precision, intent(in) :: AMUSE_value - integer :: ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - set_mass_fraction_at_zone = -1 - else - if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then - set_mass_fraction_at_zone = -2 - else - s% dq(s% nz - AMUSE_zone) = AMUSE_value - set_mass_fraction_at_zone = 0 - endif - endif - end function - -! Return the temperature at the specified zone/mesh-cell of the star - integer function get_temperature_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id, AMUSE_zone - double precision, intent(out) :: AMUSE_value - integer :: ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1.0 - get_temperature_at_zone = -1 - else - if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then - AMUSE_value = -1.0 - get_temperature_at_zone = -2 - else - if (s% number_of_backups_in_a_row > s% max_backups_in_a_row ) then - AMUSE_value = exp(s% xs_old(s% i_lnT, s% nz - AMUSE_zone)) - else - AMUSE_value = exp(s% xs(s% i_lnT, s% nz - AMUSE_zone)) - endif - get_temperature_at_zone = 0 - endif - endif - end function -! Set the temperature at the specified zone/mesh-cell of the star - integer function set_temperature_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id, AMUSE_zone - double precision, intent(in) :: AMUSE_value - integer :: ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - set_temperature_at_zone = -1 - else - if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then - set_temperature_at_zone = -2 - else - s% xs(s% i_lnT, s% nz - AMUSE_zone) = log(AMUSE_value) - set_temperature_at_zone = 0 - endif - endif - end function - -! Return the density at the specified zone/mesh-cell of the star - integer function get_density_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id, AMUSE_zone - double precision, intent(out) :: AMUSE_value - integer :: ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1.0 - get_density_at_zone = -1 - else - if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then - AMUSE_value = -1.0 - get_density_at_zone = -2 - else - if (s% number_of_backups_in_a_row > s% max_backups_in_a_row ) then - AMUSE_value = exp(s% xs_old(s% i_lnd, s% nz - AMUSE_zone)) - else - AMUSE_value = exp(s% xs(s% i_lnd, s% nz - AMUSE_zone)) - endif - get_density_at_zone = 0 - endif - endif - end function -! Set the density at the specified zone/mesh-cell of the star - integer function set_density_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id, AMUSE_zone - double precision, intent(in) :: AMUSE_value - integer :: ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - set_density_at_zone = -1 - else - if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then - set_density_at_zone = -2 - else - s% xs(s% i_lnd, s% nz - AMUSE_zone) = log(AMUSE_value) - set_density_at_zone = 0 - endif - endif - end function - -! Return the radius at the specified zone/mesh-cell of the star - integer function get_radius_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id, AMUSE_zone - double precision, intent(out) :: AMUSE_value - integer :: ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1.0 - get_radius_at_zone = -1 - else - if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then - AMUSE_value = -1.0 - get_radius_at_zone = -2 - else - if (s% number_of_backups_in_a_row > s% max_backups_in_a_row ) then - AMUSE_value = exp(s% xs_old(s% i_lnR, s% nz - AMUSE_zone)) - else - AMUSE_value = exp(s% xs(s% i_lnR, s% nz - AMUSE_zone)) - endif - get_radius_at_zone = 0 - endif - endif - end function -! Set the radius at the specified zone/mesh-cell of the star - integer function set_radius_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id, AMUSE_zone - double precision, intent(in) :: AMUSE_value - integer :: ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - set_radius_at_zone = -1 - else - if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then - set_radius_at_zone = -2 - else - s% xs(s% i_lnR, s% nz - AMUSE_zone) = log(AMUSE_value) - set_radius_at_zone = 0 - endif - endif - end function - -! Return the luminosity at the specified zone/mesh-cell of the star - integer function get_luminosity_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id, AMUSE_zone - double precision, intent(out) :: AMUSE_value - integer :: ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1.0 - get_luminosity_at_zone = -1 - else - if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then - AMUSE_value = -1.0 - get_luminosity_at_zone = -2 - else - if (s% number_of_backups_in_a_row > s% max_backups_in_a_row ) then - AMUSE_value = s% xs_old(s% i_lum, s% nz - AMUSE_zone) - else - AMUSE_value = s% xs(s% i_lum, s% nz - AMUSE_zone) - endif - get_luminosity_at_zone = 0 - endif - endif - end function -! Set the luminosity at the specified zone/mesh-cell of the star - integer function set_luminosity_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id, AMUSE_zone - double precision, intent(in) :: AMUSE_value - integer :: ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - set_luminosity_at_zone = -1 - else - if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then - set_luminosity_at_zone = -2 - else - s% xs(s% i_lum, s% nz - AMUSE_zone) = AMUSE_value - set_luminosity_at_zone = 0 - endif - endif - end function - -! Return the Brunt-Vaisala frequency squared at the specified zone/mesh-cell of the star - integer function get_brunt_vaisala_frequency_squared_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - use const_def, only: cgrav - implicit none - integer, intent(in) :: AMUSE_id, AMUSE_zone - double precision, intent(out) :: AMUSE_value - integer :: ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1.0 - get_brunt_vaisala_frequency_squared_at_zone = -1 - else - if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then - AMUSE_value = -1.0 - get_brunt_vaisala_frequency_squared_at_zone = -2 - else - AMUSE_value = brunt_N2(s% nz - AMUSE_zone) - get_brunt_vaisala_frequency_squared_at_zone = 0 - endif - endif - - contains - - double precision function brunt_N2(k) - ! reminder: gradB(k) and gradT(k) are the values at face(k) - integer, intent(in) :: k - double precision :: T_face, rho_face, P_face, chiT_face, chiRho_face, grada_face - double precision :: g, tmp - g = cgrav*s% mstar*s% q(k)/s% r(k)**2 - if (k == 1) then - rho_face = s% rho(1) - P_face = s% P(1) - T_face = s% T(1) - chiT_face = s% chiT(1) - chiRho_face = s% chiRho(1) - grada_face = s% grada(1) - else - tmp = 1.0d0 / (s% dq(k-1) + s% dq(k)) - rho_face = (s%rho(k)*s%dq(k-1) + s%rho(k-1)*s%dq(k)) * tmp - P_face = (s%P(k)*s%dq(k-1) + s%P(k-1)*s%dq(k)) * tmp - T_face = (s%T(k)*s%dq(k-1) + s%T(k-1)*s%dq(k)) * tmp - chiT_face = (s%chiT(k)*s%dq(k-1) + s%chiT(k-1)*s%dq(k)) * tmp - chiRho_face = (s%chiRho(k)*s%dq(k-1) + s%chiRho(k-1)*s%dq(k)) * tmp - grada_face = (s%grada(k)*s%dq(k-1) + s%grada(k-1)*s%dq(k)) * tmp - endif - brunt_N2 = & - (g**2*rho_face/P_face)* & - (chiT_face/chiRho_face)* & - (grada_face - s% gradT(k) + s% gradB(k)) - end function brunt_N2 - end function - -! Return the mean molecular weight per particle (ions + free electrons) at the specified zone/mesh-cell of the star - integer function get_mu_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr -! use micro, only: do_eos_for_cell - use chem_def, only: ih1, ihe3, ihe4 - - use eos_lib, only: eosDT_get - use eos_def, only: num_eos_basic_results, i_mu - use const_def, only: ln10 - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id, AMUSE_zone - double precision, intent(out) :: AMUSE_value - integer, pointer :: net_iso(:) - integer :: ierr, k - type (star_info), pointer :: s - double precision, dimension(num_eos_basic_results) :: res, d_dlnd, d_dlnT - double precision :: z, xh, xhe, abar, zbar - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1.0 - get_mu_at_zone = -1 - else - if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then - AMUSE_value = -1.0 - get_mu_at_zone = -2 - else - k = s% nz - AMUSE_zone - if (s% number_of_backups_in_a_row > s% max_backups_in_a_row ) then - call get_abar_zbar(s, k, abar, zbar) - net_iso => s% net_iso - xh = s% xa_old(net_iso(ih1),k) - xhe = s% xa_old(net_iso(ihe3),k) + s% xa_old(net_iso(ihe4),k) - z = max(0d0,1d0-(xh+xhe)) - call eosDT_get( & - s% eos_handle, z, xh, abar, zbar, & - exp(s% xs_old(s% i_lnd, k)), s% xs_old(s% i_lnd, k)/ln10, & - exp(s% xs_old(s% i_lnT, k)), s% xs_old(s% i_lnT, k)/ln10, & - res, d_dlnd, d_dlnT, ierr) - if (failed('eosDT_get', ierr)) then - AMUSE_value = -1.0 - get_mu_at_zone = -4 - return - endif - s% mu(k) = res(i_mu) - endif - AMUSE_value = s% mu(k) - get_mu_at_zone = 0 - endif - endif -! end function - - contains - - subroutine get_abar_zbar(s, k, abar, zbar) -! use star_private_def, only: star_info - use chem_lib, only: composition_info - type (star_info), pointer :: s - integer, intent(in) :: k - double precision, intent(out) :: abar, zbar - double precision :: z2bar, ye, xsum, dabar_dx(s% species), dzbar_dx(s% species) - integer :: species - species = s% species - call composition_info(species, s% chem_id, s% xa_old(1:species,k), & - abar, zbar, z2bar, ye, xsum, dabar_dx, dzbar_dx) - end subroutine get_abar_zbar - - end function - - -! Return the total (gas + radiation) pressure at the specified zone/mesh-cell of the star - integer function get_pressure_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use chem_def, only: ih1, ihe3, ihe4 - use eos_lib, only: eosDT_get - use eos_def, only: num_eos_basic_results, i_lnPgas - use const_def, only: ln10, crad - use amuse_support, only: failed, debugging - - implicit none - integer, intent(in) :: AMUSE_id, AMUSE_zone - double precision, intent(out) :: AMUSE_value - integer, pointer :: net_iso(:) - integer :: ierr, k - type (star_info), pointer :: s - double precision, dimension(num_eos_basic_results) :: res, d_dlnd, d_dlnT - double precision :: z, xh, xhe, abar, zbar - - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1.0 - get_pressure_at_zone = -1 - else - k = s% nz - AMUSE_zone - if (s% number_of_backups_in_a_row > s% max_backups_in_a_row ) then -! if (debugging) then -! write(*, *) 'Warning: pressure may not be up to date, since the last evolve failed.' -! endif - call get_abar_zbar(s, k, abar, zbar) - net_iso => s% net_iso - xh = s% xa_old(net_iso(ih1),k) - xhe = s% xa_old(net_iso(ihe3),k) + s% xa_old(net_iso(ihe4),k) - z = max(0d0,1d0-(xh+xhe)) - call eosDT_get( & - s% eos_handle, z, xh, abar, zbar, & - exp(s% xs_old(s% i_lnd, k)), s% xs_old(s% i_lnd, k)/ln10, & - exp(s% xs_old(s% i_lnT, k)), s% xs_old(s% i_lnT, k)/ln10, & - res, d_dlnd, d_dlnT, ierr) - if (failed('eosDT_get', ierr)) then - AMUSE_value = -1.0 - get_pressure_at_zone = -4 - return - endif -! s% mu(k) = res(i_mu) - s% lnPgas(k) = res(i_lnPgas) - s% Pgas(k) = exp(s% lnPgas(k)) - - s% Prad(k) = crad * s% T(k)**4 / 3 - s% P(k) = s% Prad(k) + s% Pgas(k) -! get_pressure_at_zone = -1 -! return - endif - - if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then - AMUSE_value = -1.0 - get_pressure_at_zone = -2 - else - AMUSE_value = s% P(k) - get_pressure_at_zone = 0 - endif - endif - - contains - - subroutine get_abar_zbar(s, k, abar, zbar) -! use star_private_def, only: star_info - use chem_lib, only: composition_info - type (star_info), pointer :: s - integer, intent(in) :: k - double precision, intent(out) :: abar, zbar - double precision :: z2bar, ye, xsum, dabar_dx(s% species), dzbar_dx(s% species) - integer :: species - species = s% species - call composition_info(species, s% chem_id, s% xa_old(1:species,k), & - abar, zbar, z2bar, ye, xsum, dabar_dx, dzbar_dx) - end subroutine get_abar_zbar - - end function - -! Return the specific entropy at the specified zone/mesh-cell of the star - integer function get_entropy_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed, debugging - - implicit none - integer, intent(in) :: AMUSE_id, AMUSE_zone - double precision, intent(out) :: AMUSE_value - integer :: ierr, k - type (star_info), pointer :: s - - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1.0 - get_entropy_at_zone = -1 - else - k = s% nz - AMUSE_zone - if (s% number_of_backups_in_a_row > s% max_backups_in_a_row ) then - get_entropy_at_zone = -1 - return - endif - - if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then - AMUSE_value = -1.0 - get_entropy_at_zone = -2 - else - AMUSE_value = exp(s% lnS(k)) - get_entropy_at_zone = 0 - endif - endif - end function - -! Return the specific thermal energy at the specified zone/mesh-cell of the star - integer function get_thermal_energy_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed, debugging - - implicit none - integer, intent(in) :: AMUSE_id, AMUSE_zone - double precision, intent(out) :: AMUSE_value - integer :: ierr, k - type (star_info), pointer :: s - - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1.0 - get_thermal_energy_at_zone = -1 - else - k = s% nz - AMUSE_zone - if (s% number_of_backups_in_a_row > s% max_backups_in_a_row ) then - get_thermal_energy_at_zone = -1 - return - endif - - if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then - AMUSE_value = -1.0 - get_thermal_energy_at_zone = -2 - else - AMUSE_value = exp(s% lnE(k)) - get_thermal_energy_at_zone = 0 - endif - endif - end function - - - -! Return the current number of chemical abundance variables per zone of the star - integer function get_number_of_species(AMUSE_id, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - integer, intent(out) :: AMUSE_value - integer :: ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1 - get_number_of_species = -1 - else - AMUSE_value = s% nvar_chem - get_number_of_species = 0 - endif - end function - -! Return the name of chemical abundance variable 'AMUSE_species' of the star - integer function get_name_of_species(AMUSE_id, AMUSE_species, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - use chem_def, only: num_chem_isos, chem_isos - implicit none - integer, intent(in) :: AMUSE_id, AMUSE_species - character (len=6), intent(out) :: AMUSE_value - integer :: ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = 'error' - get_name_of_species = -1 - else if (AMUSE_species > s% nvar_chem .or. AMUSE_species < 1) then - AMUSE_value = 'error' - get_name_of_species = -3 - else - AMUSE_value = chem_isos% name(s% chem_id(AMUSE_species)) - get_name_of_species = 0 - endif -! do ierr=1,s% nvar -! write(*,*) ierr, s% nameofvar(ierr) -! end do -! do ierr=1,num_chem_isos -! write(*,*) ierr, s% net_iso(ierr), chem_isos% name(ierr) -! end do -! do ierr=1,s% nvar_chem -! write(*,*) ierr, s% chem_id(ierr), chem_isos% name(s% chem_id(ierr)) -! end do - end function - -! Return the chem_ID of chemical abundance variable 'AMUSE_species' of the star - integer function get_id_of_species(AMUSE_id, AMUSE_species, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id, AMUSE_species - integer, intent(out) :: AMUSE_value - integer :: ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1 - get_id_of_species = -1 - else if (AMUSE_species > s% nvar_chem .or. AMUSE_species < 1) then - AMUSE_value = -1 - get_id_of_species = -3 - else - AMUSE_value = s% chem_id(AMUSE_species) - get_id_of_species = 0 - endif - end function - -! Return the mass number of chemical abundance variable 'AMUSE_species' of the star - integer function get_mass_of_species(AMUSE_id, AMUSE_species, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - use chem_def, only: chem_isos - use const_def, only: mev_to_ergs, clight, amu - implicit none - integer, intent(in) :: AMUSE_id, AMUSE_species - double precision, intent(out) :: AMUSE_value - integer :: ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1.0 - get_mass_of_species = -1 - else if (AMUSE_species > s% nvar_chem .or. AMUSE_species < 1) then - AMUSE_value = -1.0 - get_mass_of_species = -3 - else - AMUSE_value = chem_isos% A(s% chem_id(AMUSE_species)) + & - chem_isos% mass_excess(s% chem_id(AMUSE_species))*mev_to_ergs/(clight*clight*amu) - get_mass_of_species = 0 - endif - end function - -! Return the mass fraction of species 'AMUSE_species' at the specified -! zone/mesh-cell of the star - integer function get_mass_fraction_of_species_at_zone(AMUSE_id, & - AMUSE_species, AMUSE_zone, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id, AMUSE_zone, AMUSE_species - double precision, intent(out) :: AMUSE_value - integer :: ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - AMUSE_value = -1.0 - get_mass_fraction_of_species_at_zone = -1 - else if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then - AMUSE_value = -1.0 - get_mass_fraction_of_species_at_zone = -2 - else if (AMUSE_species > s% nvar_chem .or. AMUSE_species < 1) then - AMUSE_value = -1.0 - get_mass_fraction_of_species_at_zone = -3 - else - if (s% number_of_backups_in_a_row > s% max_backups_in_a_row ) then - AMUSE_value = s% xa_old(AMUSE_species, s% nz - AMUSE_zone) - else - AMUSE_value = s% xa(AMUSE_species, s% nz - AMUSE_zone) - endif - get_mass_fraction_of_species_at_zone = 0 - endif - end function -! Set the mass fraction of species 'AMUSE_species' at the specified -! zone/mesh-cell of the star - integer function set_mass_fraction_of_species_at_zone(AMUSE_id, & - AMUSE_species, AMUSE_zone, AMUSE_value) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id, AMUSE_zone, AMUSE_species - double precision, intent(in) :: AMUSE_value - integer :: ierr - type (star_info), pointer :: s - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) then - set_mass_fraction_of_species_at_zone = -1 - else if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then - set_mass_fraction_of_species_at_zone = -2 - else if (AMUSE_species > s% nvar_chem .or. AMUSE_species < 1) then - set_mass_fraction_of_species_at_zone = -3 - else - s% xa(AMUSE_species, s% nz - AMUSE_zone) = AMUSE_value - s% xa_pre_hydro(AMUSE_species, s% nz - AMUSE_zone) = AMUSE_value - set_mass_fraction_of_species_at_zone = 0 - endif - end function - -! Erase memory of the star - xs_old(er), xa_old(er), q_old(er), etc. -! Useful after setting the stucture of the star, to prevent backup steps to undo changes - integer function erase_memory(AMUSE_id) - use star_private_def, only: star_info, get_star_ptr - use amuse_support, only: failed - implicit none - integer, intent(in) :: AMUSE_id - integer :: ierr - type (star_info), pointer :: s - - erase_memory = -1 - call get_star_ptr(AMUSE_id, s, ierr) - if (failed('get_star_ptr', ierr)) return - if (s%generations > 1) then - s% nz_old = s% nz - call realloc2d_if_necessary(s% xa_old, s% species, s% nz, ierr) - if (failed('realloc2d_if_necessary', ierr)) return - s% xa_old(:,:) = s% xa(:,:) - call realloc2d_if_necessary(s% xs_old, s% nvar, s% nz, ierr) - if (failed('realloc2d_if_necessary', ierr)) return - s% xs_old(:,:) = s% xs(:,:) - call realloc1d_if_necessary(s% q_old, s% nz, ierr) - if (failed('realloc1d_if_necessary', ierr)) return - s% q_old(:) = s% q(:) - call realloc1d_if_necessary(s% dq_old, s% nz, ierr) - if (failed('realloc1d_if_necessary', ierr)) return - s% dq_old(:) = s% dq(:) - if (s%generations == 3) then - s% nz_older = s% nz - call realloc2d_if_necessary(s% xa_older, s% species, s% nz, ierr) - if (failed('realloc2d_if_necessary', ierr)) return - s% xa_older(:,:) = s% xa(:,:) - call realloc2d_if_necessary(s% xs_older, s% nvar, s% nz, ierr) - if (failed('realloc2d_if_necessary', ierr)) return - s% xs_older(:,:) = s% xs(:,:) - call realloc1d_if_necessary(s% q_older, s% nz, ierr) - if (failed('realloc1d_if_necessary', ierr)) return - s% q_older(:) = s% q(:) - call realloc1d_if_necessary(s% dq_older, s% nz, ierr) - if (failed('realloc1d_if_necessary', ierr)) return - s% dq_older(:) = s% dq(:) - end if - end if - erase_memory = 0 - - contains - - subroutine realloc1d_if_necessary(ptr,new_size,ierr) - double precision, pointer :: ptr(:) - integer, intent(in) :: new_size - integer, intent(out) :: ierr - ierr = 0 - if (associated(ptr)) then - if (size(ptr,1) == new_size) return - deallocate(ptr) - end if - allocate(ptr(new_size),stat=ierr) - end subroutine realloc1d_if_necessary - - subroutine realloc2d_if_necessary(ptr,ld,new_size,ierr) - double precision, pointer :: ptr(:,:) - integer, intent(in) :: ld, new_size - integer, intent(out) :: ierr - ierr = 0 - if (associated(ptr)) then - if (size(ptr,1) == ld .and. size(ptr,2) == new_size) return - deallocate(ptr) - end if - allocate(ptr(ld,new_size),stat=ierr) - end subroutine realloc2d_if_necessary - - end function erase_memory - -! Evolve the star for one step (for internal calls) - function do_evolve_one_step(AMUSE_id) - use star_private_def, only: star_info, get_star_ptr - use run_star_support - use run_star, only: check_model - use run_star_extras, only: & - how_many_extra_profile_columns, data_for_extra_profile_columns, & - how_many_extra_log_columns, data_for_extra_log_columns - use amuse_support, only: evolve_failed - use const_def, only: secyer - implicit none - integer, intent(in) :: AMUSE_id - integer :: do_evolve_one_step - type (star_info), pointer :: s - integer :: ierr, model_number, result, result_reason - logical :: first_try - do_evolve_one_step = -1 - call get_star_ptr(AMUSE_id, s, ierr) - if (evolve_failed('get_star_ptr', ierr, do_evolve_one_step, -1)) return - if (auto_extend_net) then - call extend_net(s, ierr) - if (evolve_failed('extend_net', ierr, do_evolve_one_step, -2)) return - end if - first_try = .true. - model_number = get_model_number(AMUSE_id, ierr) - if (evolve_failed('get_model_number', ierr, do_evolve_one_step, -3)) return - step_loop: do ! may need to repeat this loop for retry or backup - result = star_evolve_step(AMUSE_id, first_try) - if (result == keep_going) result = check_model(s, AMUSE_id, 0) - if (result == keep_going) result = star_pick_next_timestep(AMUSE_id) - if (result == keep_going) exit step_loop - model_number = get_model_number(AMUSE_id, ierr) - if (evolve_failed('get_model_number', ierr, do_evolve_one_step, -3)) return - result_reason = get_result_reason(AMUSE_id, ierr) - if (result == retry) then - if (evolve_failed('get_result_reason', ierr, do_evolve_one_step, -4)) return - if (report_retries) & - write(*,'(i6,3x,a,/)') model_number, & - 'retry reason ' // trim(result_reason_str(result_reason)) - else if (result == backup) then - if (evolve_failed('get_result_reason', ierr, do_evolve_one_step, -4)) return - if (report_backups) & - write(*,'(i6,3x,a,/)') model_number, & - 'backup reason ' // trim(result_reason_str(result_reason)) - end if - if (result == retry) result = star_prepare_for_retry(AMUSE_id) - if (result == backup) result = star_do1_backup(AMUSE_id) - if (result == terminate) then - do_evolve_one_step = -11 ! Unspecified stop condition reached, or: - if (s% dt_next < s% min_timestep_limit) & - do_evolve_one_step = -15 ! minimum timestep limit reached - if (s% number_of_backups_in_a_row > s% max_backups_in_a_row ) & - do_evolve_one_step = -14 ! max backups reached - if (s% max_model_number > 0 .and. s% model_number >= s% max_model_number) & - do_evolve_one_step = -13 ! max iterations reached - if (s% star_age >= s% max_age) & - do_evolve_one_step = -12 ! max_age reached - return - end if - first_try = .false. - end do step_loop - result = star_finish_step(AMUSE_id, 0, .false., & - how_many_extra_profile_columns, data_for_extra_profile_columns, & - how_many_extra_log_columns, data_for_extra_log_columns, ierr) - if (evolve_failed('star_finish_step', ierr, do_evolve_one_step, -5)) return - if (s% model_number == save_model_number) then - call star_write_model(AMUSE_id, save_model_filename, .true., ierr) - if (evolve_failed('star_write_model', ierr, do_evolve_one_step, -6)) return - write(*, *) 'saved to ' // trim(save_model_filename) - end if - do_evolve_one_step = 0 - call flush() - end function - - -! Evolve the star for one step (for calls from amuse) - function evolve_one_step(AMUSE_id) - use star_private_def, only: star_info, get_star_ptr -! use const_def, only: secyer - use amuse_support, only: evolve_failed, target_times - implicit none - integer, intent(in) :: AMUSE_id - type (star_info), pointer :: s - integer :: ierr, evolve_one_step - integer :: do_evolve_one_step - - evolve_one_step = 0 - call get_star_ptr(AMUSE_id, s, ierr) - if (evolve_failed('get_star_ptr', ierr, evolve_one_step, -1)) return - - evolve_one_step = do_evolve_one_step(AMUSE_id) - target_times(AMUSE_id) = s% time - end function evolve_one_step - -! Evolve the star until AMUSE_end_time - integer function evolve_for(AMUSE_id, AMUSE_delta_t) - use star_private_def, only: star_info, get_star_ptr - use const_def, only: secyer - use amuse_support, only: evolve_failed, target_times - implicit none - integer, intent(in) :: AMUSE_id - double precision, intent(in) :: AMUSE_delta_t - type (star_info), pointer :: s - integer :: ierr - integer :: do_evolve_one_step - double precision :: end_time - - evolve_for = 0 - call get_star_ptr(AMUSE_id, s, ierr) - if (evolve_failed('get_star_ptr', ierr, evolve_for, -1)) return - - end_time = s% time + AMUSE_delta_t * secyer - - evolve_loop: do while(evolve_for == 0 .and. & - (s% time < end_time)) ! evolve one step per loop - if((s% time + s% dt_next) > end_time) then ! Handle final step - s% dt_next = end_time - s% time - end if - evolve_for = do_evolve_one_step(AMUSE_id) - end do evolve_loop - - end function evolve_for - -! Return the maximum age stop condition - integer function get_max_age_stop_condition(AMUSE_value) - use amuse_support, only: AMUSE_max_age_stop_condition - implicit none - double precision, intent(out) :: AMUSE_value - AMUSE_value = AMUSE_max_age_stop_condition - get_max_age_stop_condition = 0 - end function get_max_age_stop_condition - -! Set the maximum age stop condition - integer function set_max_age_stop_condition(AMUSE_value) - use amuse_support, only: AMUSE_max_age_stop_condition - implicit none - double precision, intent(in) :: AMUSE_value - AMUSE_max_age_stop_condition = AMUSE_value - set_max_age_stop_condition = 0 - end function set_max_age_stop_condition - -! Return the maximum age stop condition - integer function get_max_iter_stop_condition(AMUSE_value) - use amuse_support, only: AMUSE_max_iter_stop_condition - implicit none - integer, intent(out) :: AMUSE_value - AMUSE_value = AMUSE_max_iter_stop_condition - get_max_iter_stop_condition = 0 - end function get_max_iter_stop_condition - -! Set the maximum age stop condition - integer function set_max_iter_stop_condition(AMUSE_value) - use amuse_support, only: AMUSE_max_iter_stop_condition - implicit none - integer, intent(in) :: AMUSE_value - AMUSE_max_iter_stop_condition = AMUSE_value - set_max_iter_stop_condition = 0 - end function set_max_iter_stop_condition - -! Return the minimum timestep stop condition - integer function get_min_timestep_stop_condition(AMUSE_value) - use amuse_support, only: AMUSE_min_timestep_stop_condition - implicit none - double precision, intent(out) :: AMUSE_value - AMUSE_value = AMUSE_min_timestep_stop_condition - get_min_timestep_stop_condition = 0 - end function get_min_timestep_stop_condition - -! Set the minimum timestep stop condition - integer function set_min_timestep_stop_condition(AMUSE_value) - use amuse_support, only: AMUSE_min_timestep_stop_condition - implicit none - double precision, intent(in) :: AMUSE_value - AMUSE_min_timestep_stop_condition = AMUSE_value - set_min_timestep_stop_condition = 0 - end function set_min_timestep_stop_condition - -! Return the wind (mass loss) scheme for RGB stars - integer function get_RGB_wind_scheme(AMUSE_value) - use amuse_support, only: AMUSE_RGB_wind_scheme - implicit none - integer, intent(out) :: AMUSE_value - AMUSE_value = AMUSE_RGB_wind_scheme - get_RGB_wind_scheme = 0 - end function get_RGB_wind_scheme - -! Set the wind (mass loss) scheme for RGB stars - integer function set_RGB_wind_scheme(AMUSE_value) - use amuse_support, only: AMUSE_RGB_wind_scheme - implicit none - integer, intent(in) :: AMUSE_value - AMUSE_RGB_wind_scheme = AMUSE_value - set_RGB_wind_scheme = 0 - end function set_RGB_wind_scheme - -! Return the wind (mass loss) scheme for AGB stars - integer function get_AGB_wind_scheme(AMUSE_value) - use amuse_support, only: AMUSE_AGB_wind_scheme - implicit none - integer, intent(out) :: AMUSE_value - AMUSE_value = AMUSE_AGB_wind_scheme - get_AGB_wind_scheme = 0 - end function get_AGB_wind_scheme - -! Set the wind (mass loss) scheme for AGB stars - integer function set_AGB_wind_scheme(AMUSE_value) - use amuse_support, only: AMUSE_AGB_wind_scheme - implicit none - integer, intent(in) :: AMUSE_value - AMUSE_AGB_wind_scheme = AMUSE_value - set_AGB_wind_scheme = 0 - end function set_AGB_wind_scheme - -! Retrieve the current value of the Reimers wind (mass loss) efficiency - integer function get_reimers_wind_efficiency(AMUSE_value) - use amuse_support, only: AMUSE_reimers_wind_efficiency - implicit none - double precision, intent(out) :: AMUSE_value - AMUSE_value = AMUSE_reimers_wind_efficiency - get_reimers_wind_efficiency = 0 - end function get_reimers_wind_efficiency - -! Set the current value of the Reimers wind (mass loss) efficiency - integer function set_reimers_wind_efficiency(AMUSE_value) - use amuse_support, only: AMUSE_reimers_wind_efficiency - implicit none - double precision, intent(in) :: AMUSE_value - AMUSE_reimers_wind_efficiency = AMUSE_value - set_reimers_wind_efficiency = 0 - end function set_reimers_wind_efficiency - -! Retrieve the current value of the Blocker wind (mass loss) efficiency - integer function get_blocker_wind_efficiency(AMUSE_value) - use amuse_support, only: AMUSE_blocker_wind_efficiency - implicit none - double precision, intent(out) :: AMUSE_value - AMUSE_value = AMUSE_blocker_wind_efficiency - get_blocker_wind_efficiency = 0 - end function get_blocker_wind_efficiency - -! Set the current value of the Blocker wind (mass loss) efficiency - integer function set_blocker_wind_efficiency(AMUSE_value) - use amuse_support, only: AMUSE_blocker_wind_efficiency - implicit none - double precision, intent(in) :: AMUSE_value - AMUSE_blocker_wind_efficiency = AMUSE_value - set_blocker_wind_efficiency = 0 - end function set_blocker_wind_efficiency - -! Retrieve the current value of the de Jager wind (mass loss) efficiency - integer function get_de_jager_wind_efficiency(AMUSE_value) - use amuse_support, only: AMUSE_de_jager_wind_efficiency - implicit none - double precision, intent(out) :: AMUSE_value - AMUSE_value = AMUSE_de_jager_wind_efficiency - get_de_jager_wind_efficiency = 0 - end function get_de_jager_wind_efficiency - -! Set the current value of the de Jager wind (mass loss) efficiency - integer function set_de_jager_wind_efficiency(AMUSE_value) - use amuse_support, only: AMUSE_de_jager_wind_efficiency - implicit none - double precision, intent(in) :: AMUSE_value - AMUSE_de_jager_wind_efficiency = AMUSE_value - set_de_jager_wind_efficiency = 0 - end function set_de_jager_wind_efficiency - -! Retrieve the current value of the Dutch wind (mass loss) efficiency - integer function get_dutch_wind_efficiency(AMUSE_value) - use amuse_support, only: AMUSE_dutch_wind_efficiency - implicit none - double precision, intent(out) :: AMUSE_value - AMUSE_value = AMUSE_dutch_wind_efficiency - get_dutch_wind_efficiency = 0 - end function get_dutch_wind_efficiency - -! Set the current value of the Dutch wind (mass loss) efficiency - integer function set_dutch_wind_efficiency(AMUSE_value) - use amuse_support, only: AMUSE_dutch_wind_efficiency - implicit none - double precision, intent(in) :: AMUSE_value - AMUSE_dutch_wind_efficiency = AMUSE_value - set_dutch_wind_efficiency = 0 - end function set_dutch_wind_efficiency - -! Retrieve the current value of the convective overshoot parameter - integer function get_convective_overshoot_parameter(AMUSE_value) - use amuse_support, only: AMUSE_overshoot_f_above_nonburn - implicit none - double precision, intent(out) :: AMUSE_value - double precision :: check - AMUSE_value = AMUSE_overshoot_f_above_nonburn - get_convective_overshoot_parameter = 0 - end function get_convective_overshoot_parameter - -! Set the current value of the convective overshoot parameter - integer function set_convective_overshoot_parameter(AMUSE_value) - use amuse_support - implicit none - double precision, intent(in) :: AMUSE_value - AMUSE_overshoot_f_above_nonburn = AMUSE_value - AMUSE_overshoot_f_below_nonburn = AMUSE_value - AMUSE_overshoot_f_above_burn_h = AMUSE_value - AMUSE_overshoot_f_below_burn_h = AMUSE_value - AMUSE_overshoot_f_above_burn_he = AMUSE_value - AMUSE_overshoot_f_below_burn_he = AMUSE_value - AMUSE_overshoot_f_above_burn_z = AMUSE_value - AMUSE_overshoot_f_below_burn_z = AMUSE_value - set_convective_overshoot_parameter = 0 - end function set_convective_overshoot_parameter - -! Retrieve the current value of the mixing length ratio - integer function get_mixing_length_ratio(AMUSE_value) - use amuse_support, only: AMUSE_mixing_length_ratio - implicit none - double precision, intent(out) :: AMUSE_value - AMUSE_value = AMUSE_mixing_length_ratio - get_mixing_length_ratio = 0 - end function get_mixing_length_ratio - -! Set the current value of the mixing length ratio - integer function set_mixing_length_ratio(AMUSE_value) - use amuse_support, only: AMUSE_mixing_length_ratio - implicit none - double precision, intent(in) :: AMUSE_value - AMUSE_mixing_length_ratio = AMUSE_value - set_mixing_length_ratio = 0 - end function set_mixing_length_ratio - -! Retrieve the current value of the semi convection efficiency - integer function get_semi_convection_efficiency(AMUSE_value) - use amuse_support, only: AMUSE_semi_convection_efficiency - implicit none - double precision, intent(out) :: AMUSE_value - AMUSE_value = AMUSE_semi_convection_efficiency - get_semi_convection_efficiency = 0 - end function get_semi_convection_efficiency - -! Set the current value of the semi convection efficiency - integer function set_semi_convection_efficiency(AMUSE_value) - use amuse_support, only: AMUSE_semi_convection_efficiency - implicit none - double precision, intent(in) :: AMUSE_value - AMUSE_semi_convection_efficiency = AMUSE_value - set_semi_convection_efficiency = 0 - end function set_semi_convection_efficiency - -! Retrieve the current value of the do_stabilize_new_stellar_model flag - integer function get_stabilize_new_stellar_model_flag(AMUSE_value) - use amuse_support, only: do_stabilize_new_stellar_model - implicit none - integer, intent(out) :: AMUSE_value - if (do_stabilize_new_stellar_model) then - AMUSE_value = 1 - else - AMUSE_value = 0 - end if - get_stabilize_new_stellar_model_flag = 0 - end function get_stabilize_new_stellar_model_flag - -! Set the current value of the do_stabilize_new_stellar_model flag - integer function set_stabilize_new_stellar_model_flag(AMUSE_value) - use amuse_support, only: do_stabilize_new_stellar_model - implicit none - integer, intent(in) :: AMUSE_value - if (AMUSE_value /= 0) then - do_stabilize_new_stellar_model = .true. - else - do_stabilize_new_stellar_model = .false. - end if - set_stabilize_new_stellar_model_flag = 0 - end function set_stabilize_new_stellar_model_flag - -! Retrieve the maximum number of stars that can be allocated in the code - integer function get_maximum_number_of_stars(AMUSE_value) - use star_def, only: max_star_handles - implicit none - integer, intent(out) :: AMUSE_value - AMUSE_value = max_star_handles - get_maximum_number_of_stars = 0 - end function get_maximum_number_of_stars - -! Create a new particle from a user supplied model (non-ZAMS, e.g. merger product) - integer function new_specified_stellar_model(d_mass, radius, rho, temperature, luminosity, & - XH, XHE, XC, XN, XO, XNE, XMG, XSI, XFE, n) - use amuse_support - use star_lib, only: alloc_star, star_setup, show_terminal_header - use star_private_def, only: star_info, get_star_ptr - use run_star_support, only: setup_for_run_star, before_evolve - use read_model, only: set_zero_age_params, finish_load_model - use alloc, only: set_var_info, set_q_flag, allocate_star_info_arrays - use micro, only: init_mesa_micro - use init_model, only: get_zams_model - use chem_lib, only: get_nuclide_index - use star_utils, only: set_qs, set_q_vars - use do_one_utils, only: set_phase_of_evolution - use evolve_support, only: yrs_for_init_timestep - use const_def, only: secyer, Msun, Lsun - - implicit none - integer, intent(in) :: n - double precision, intent(in) :: d_mass(n), radius(n), rho(n), & - temperature(n), luminosity(n), XH(n), XHE(n), XC(n), XN(n), & - XO(n), XNE(n), XMG(n), XSI(n), XFE(n) - double precision :: x(n) - integer :: ierr, k - type (star_info), pointer :: s - - if (new_model_defined) then - new_specified_stellar_model = -30 - return - endif - - new_specified_stellar_model = -1 - id_new_model = alloc_star(ierr) - if (failed('alloc_star', ierr)) return - call get_star_ptr(id_new_model, s, ierr) - if (failed('get_star_ptr', ierr)) return - call star_setup(id_new_model, AMUSE_inlist_path, ierr) - if (failed('star_setup', ierr)) return - ! Replace value of mass and metallicity just read, with supplied values. - s% initial_mass = sum(d_mass) - s% initial_z = AMUSE_metallicity - s% zams_filename = trim(AMUSE_zams_filename) // '.data' - s% max_age = AMUSE_max_age_stop_condition - s% min_timestep_limit = AMUSE_min_timestep_stop_condition - s% max_model_number = AMUSE_max_iter_stop_condition - s% mixing_length_alpha = AMUSE_mixing_length_ratio - s% alpha_semiconvection = AMUSE_semi_convection_efficiency - s% RGB_wind_scheme = AMUSE_RGB_wind_scheme - s% AGB_wind_scheme = AMUSE_AGB_wind_scheme - s% Reimers_wind_eta = AMUSE_reimers_wind_efficiency - s% Blocker_wind_eta = AMUSE_blocker_wind_efficiency - s% de_Jager_wind_eta = AMUSE_de_jager_wind_efficiency - s% Dutch_wind_eta = AMUSE_dutch_wind_efficiency - s% overshoot_f_above_nonburn = AMUSE_overshoot_f_above_nonburn - s% overshoot_f_below_nonburn = AMUSE_overshoot_f_below_nonburn - s% overshoot_f_above_burn_h = AMUSE_overshoot_f_above_burn_h - s% overshoot_f_below_burn_h = AMUSE_overshoot_f_below_burn_h - s% overshoot_f_above_burn_he = AMUSE_overshoot_f_above_burn_he - s% overshoot_f_below_burn_he = AMUSE_overshoot_f_below_burn_he - s% overshoot_f_above_burn_z = AMUSE_overshoot_f_above_burn_z - s% overshoot_f_below_burn_z = AMUSE_overshoot_f_below_burn_z - - s% doing_first_model_of_run = .true. - s% dt = 0 - s% dt_old = 0 - call set_zero_age_params(s) - s% net_name = 'basic.net' - s% species = 0 - s% v_flag = .false. - s% q_flag = .false. - s% mstar = s% initial_mass*Msun - call set_var_info(s, ierr) - call init_mesa_micro(s, ierr) ! uses s% net_name - s% generations = 1 - - if (n > s% max_allowed_nz) s% max_allowed_nz = n - s% nz = n - call allocate_star_info_arrays(s, ierr) - if (failed('allocate_star_info_arrays', ierr)) return - s% xs(s% i_lnd, :) = log(rho(:)) - s% xs(s% i_lnT, :) = log(temperature(:)) - s% xs(s% i_lnR, :) = log(radius(:)) - if (luminosity(1) <= 0) then - ! No luminosities provided, make an educated guess - do k = 1, s% nz - 3 - if (temperature(k) .gt. 1.0e7) exit - end do - if (debugging) write(*,*) "temperature(", k, ") = ", temperature(k) - if (debugging) write(*,*) "radius(", k, ") = ", radius(k) - x = radius / radius(k) - if (debugging) write(*,*) "x(", k, ") = ", x(k), x(1), x(s% nz) - s% xs(s% i_lum, :) = Lsun * s% initial_mass**3.5 * (1.0 - (1.0 + x) * exp(-x**2 - x)) - else - s% xs(s% i_lum, :) = luminosity(:) - endif - s% dq(:) = d_mass(:) / s% initial_mass - s% xa(s% net_iso(get_nuclide_index('h1')), :) = XH(:) - s% xa(s% net_iso(get_nuclide_index('he3')), :) = 0.0d0 - s% xa(s% net_iso(get_nuclide_index('he4')), :) = XHE(:) - s% xa(s% net_iso(get_nuclide_index('c12')), :) = XC(:) - s% xa(s% net_iso(get_nuclide_index('n14')), :) = XN(:) - s% xa(s% net_iso(get_nuclide_index('o16')), :) = XO(:) - s% xa(s% net_iso(get_nuclide_index('ne20')), :) = XNE(:) - s% xa(s% net_iso(get_nuclide_index('mg24')), :) = XMG(:) + XSI(:) + XFE(:) ! basic net for now... - s% prev_Lmax = maxval(abs(s% xs(s% i_lum, 1:n))) - call set_qs(s% nz, s% q, s% dq, ierr) - if (failed('set_qs', ierr)) return - if (s% q_flag) call set_q_vars(s) - - s% dt_next = yrs_for_init_timestep(s)*secyer - s% dxs(:,:) = 0 - ! - s% extra_heat(:) = 0 - s% rate_factors(:) = 1 - call finish_load_model(s, ierr) - call set_phase_of_evolution(s) - if (s% q_flag) call set_q_flag(s% id, s% q_flag, ierr) - - call setup_for_run_star(id_new_model, s, .false., ierr) - if (failed('setup_for_run_star', ierr)) return - call before_evolve(id_new_model, ierr) - if (failed('before_evolve', ierr)) return - if (debugging) s% trace_evolve = .true. - if (debugging) s% report_ierr = .true. - call show_terminal_header(id_new_model, ierr) - if (failed('show_terminal_header', ierr)) return - call flush() - new_model_defined = .true. - new_specified_stellar_model = 0 - end function new_specified_stellar_model - - integer function new_stellar_model(d_mass, radius, rho, temperature, luminosity, & - XH, XHE, XC, XN, XO, XNE, XMG, XSI, XFE, n) - use amuse_support - use star_lib, only: alloc_star, star_setup, show_terminal_header - use star_def, only: result_reason_str - use star_private_def, only: star_info, get_star_ptr - use run_star_support, only: setup_for_run_star, before_evolve - use read_model, only: set_zero_age_params, finish_load_model - use alloc, only: set_var_info, set_q_flag, allocate_star_info_arrays - use micro, only: init_mesa_micro - use init_model, only: get_zams_model - use chem_lib, only: get_nuclide_index - use star_utils, only: set_qs, set_q_vars - use do_one_utils, only: set_phase_of_evolution - use evolve_support, only: yrs_for_init_timestep - use mesh_adjust, only: do_mesh_adjust - use adjust_mesh, only: remesh - use hydro_eqns, only: P_eqn_phot - use hydro_vars, only: set_vars - use const_def, only: secyer, Msun, Lsun - use star_utils, only: set_xqs - - implicit none - integer, intent(in) :: n - double precision, intent(in) :: d_mass(n), radius(n), rho(n), & - temperature(n), luminosity(n), XH(n), XHE(n), XC(n), XN(n), & - XO(n), XNE(n), XMG(n), XSI(n), XFE(n) - double precision :: total_mass, original_timestep, f - double precision :: original_timestep_limit, original_dxdt_nuc_f - integer :: new_particle, ierr, tmp1_id_new_model, tmp2_id_new_model, & - new_specified_stellar_model, finalize_stellar_model, match_mesh, & - do_evolve_one_step, erase_memory, index_low, k1, k2 - logical :: do_T = .false. - logical :: do_restore_timestep = .false. - type (star_info), pointer :: s, s_tmp - - if (new_model_defined) then - new_stellar_model = -30 - return - endif - - ! *** Define a temporary star with the target 'new' structure: *** - new_stellar_model = new_specified_stellar_model(d_mass, radius, rho, & - temperature, luminosity, XH, XHE, XC, XN, XO, XNE, XMG, XSI, XFE, n) - if (failed('new_specified_stellar_model', new_stellar_model)) return - - if (do_stabilize_new_stellar_model) then - new_stellar_model = -1 - if (debugging) write(*,*) 'tmp1_id_new_model', tmp1_id_new_model - ierr = finalize_stellar_model(tmp1_id_new_model, 0.0d0) - if (failed('finalize_stellar_model', ierr)) return - call get_star_ptr(tmp1_id_new_model, s_tmp, ierr) - if (failed('get_star_ptr', ierr)) return - if (debugging) write(*,*) 'CHECK:', s_tmp% nz, n - - ! *** Now, first create a normal ZAMS star *** - total_mass = sum(d_mass) - ierr = new_particle(tmp2_id_new_model, total_mass) - if (failed('new_particle', ierr)) return - id_new_model = tmp2_id_new_model - if (debugging) write(*,*) 'id_new_model', id_new_model - call get_star_ptr(id_new_model, s, ierr) - if (failed('get_star_ptr', ierr)) return - - ! *** Match the mesh containing the target structure to the mesh of the new particle *** - ierr = match_mesh(tmp1_id_new_model, s% nz, s% dq) - if (failed('match_mesh', ierr)) return - - ! *** Copy the relevant variables (chemical fractions only, or also hydro vars...) - original_timestep_limit = s% min_timestep_limit - s% min_timestep_limit = 1.0d-12 - original_dxdt_nuc_f = s% dxdt_nuc_factor - s% dxdt_nuc_factor = 1.0d-99 - original_timestep = s% dt_next - f = 1.0d-4 - if (debugging) then - s% trace_evolve = .true. - s% report_ierr = .true. - end if - do - s% xa(:,:) = f * s_tmp% xa(:,:) + (1.0d0 - f) * s% xa(:,:) - ierr = erase_memory(id_new_model) - if (failed('erase_memory', ierr)) return - s% dt_next = 10.0 * s% min_timestep_limit - ierr = do_evolve_one_step(id_new_model) - if (failed('do_evolve_one_step', ierr)) return - if (debugging) write(*,*) 'f: ', f - call check_remeshed(s% nz, s_tmp% nz, s% dq, s_tmp% dq, ierr) - if (failed('check_remeshed', ierr)) then - ierr = match_mesh(tmp1_id_new_model, s% nz, s% dq) - if (failed('match_mesh', ierr)) return - call check_remeshed(s% nz, s_tmp% nz, s% dq, s_tmp% dq, ierr) - if (failed('check_remeshed 2', ierr)) return - end if - if (debugging) write(*,*) 'CHECK check_remeshed OK' - if (debugging) write(*,*) 'Backups', s% number_of_backups_in_a_row - if (s% number_of_backups_in_a_row > 15) exit - if (f >= 1.0d0) exit - if (f >= 0.1d0) then - f = min(1.1d0 * f, 1.0d0) - else - f = 1.5d0 * f - endif - end do - - ! *** Give the model the opportunity to remesh *** - s% mesh_delta_coeff = 0.5 - ierr = remesh(s, .true., .false., .false.) - if (failed('remesh', ierr)) return - ierr = erase_memory(id_new_model) - if (failed('erase_memory', ierr)) return - ierr = match_mesh(tmp1_id_new_model, s% nz, s% dq) - if (failed('match_mesh', ierr)) return - s% number_of_backups_in_a_row = 0 - s% mesh_delta_coeff = 1 - - ! *** Optionally, also do hydro vars *** - if (do_T) then - f = 1.0d-8 - index_low = s% nz / 10 ! Do not meddle with the atmosphere! - do - s% xa(:,:) = s_tmp% xa(:,:) - s% xs(s% i_lnT,index_low:) = f*s_tmp%xs(s_tmp%i_lnT,index_low:) + (1d0-f)*s%xs(s%i_lnT,index_low:) - ierr = erase_memory(id_new_model) - if (failed('erase_memory', ierr)) return - s% dt_next = 10.0 * s% min_timestep_limit - ierr = do_evolve_one_step(id_new_model) - if (failed('do_evolve_one_step', ierr)) return - if (debugging) write(*,*) 'f: ', f - call check_remeshed(s% nz, s_tmp% nz, s% dq, s_tmp% dq, ierr) - if (failed('check_remeshed', ierr)) return - if (debugging) write(*,*) 'CHECK check_remeshed OK' - if (debugging) write(*,*) 'Backups', s% number_of_backups_in_a_row - if (f >= 1.0d0) exit - f = min(1.5d0 * f, 1.0d0) - end do - end if - - ! *** Restore the original timestep *** - if (debugging) write(*,*) 'timesteps', s% dt_old, s% dt, s% dt_next, original_timestep - s% dt_next = 10.0 * s% min_timestep_limit - s% dt = 10.0 * s% min_timestep_limit - if (debugging) write(*,*) 'timesteps', s% dt_old, s% dt, s% dt_next, original_timestep - ierr = do_evolve_one_step(id_new_model) - if (debugging) write(*,*) ierr, s% result_reason, trim(result_reason_str(s% result_reason)) - if (debugging) write(*,*) 'timesteps', s% dt_old, s% dt, s% dt_next, original_timestep - if (do_restore_timestep) then - do k1 = 1, 10 - if (debugging) write(*,*) 'increasing timesteps', s% dt_old, s% dt, s% dt_next, original_timestep - if (debugging) write(*,*) 'Backups', s% number_of_backups_in_a_row - s% xa(:,:) = s_tmp% xa(:,:) - if (do_T) s% xs(s% i_lnT,index_low:) = s_tmp% xs(s_tmp% i_lnT,index_low:) - ierr = erase_memory(id_new_model) - if (failed('erase_memory', ierr)) return - do k2 = 1, 10 - ierr = do_evolve_one_step(id_new_model) - if (debugging) write(*,*) ierr, s% result_reason, trim(result_reason_str(s% result_reason)) - end do - if (s% number_of_backups_in_a_row > 0) exit - end do - end if - - call check_remeshed(s% nz, s_tmp% nz, s% dq, s_tmp% dq, ierr) - if (failed('check_remeshed', ierr)) then - ierr = match_mesh(tmp1_id_new_model, s% nz, s% dq) - if (failed('match_mesh', ierr)) return - call check_remeshed(s% nz, s_tmp% nz, s% dq, s_tmp% dq, ierr) - if (failed('check_remeshed 2', ierr)) return - end if - if (do_T) s% xs(s% i_lnT,index_low:) = s_tmp% xs(s_tmp% i_lnT,index_low:) - ierr = erase_memory(id_new_model) - if (failed('erase_memory', ierr)) return - - s% dxdt_nuc_factor = original_dxdt_nuc_f - - if (s% dt_next > 10.0 * original_timestep_limit) then - s% min_timestep_limit = original_timestep_limit - else - s% min_timestep_limit = s% dt_next / 10.0 - endif - - if (debugging) write(*,*) 'Backups:', s% number_of_backups_in_a_row - s% number_of_backups_in_a_row = 0 - if (debugging) write(*,*) 'Backups reset:', s% number_of_backups_in_a_row - s% trace_evolve = .false. - s% report_ierr = .false. - call flush() - new_model_defined = .true. - new_stellar_model = 0 - end if - - contains - - subroutine check_remeshed(nz, nz_orig, dq, dq_orig, ierr) - implicit none - integer, intent(in) :: nz, nz_orig - double precision, intent(in) :: dq(nz), dq_orig(nz_orig) - integer, intent(out) :: ierr - integer :: i - if (nz .ne. nz_orig) then - ierr = -1 - return - end if - do i = 1, nz - if (dq(i) .ne. dq_orig(i)) then - ierr = -1 - return - end if - end do - ierr = 0 - end subroutine check_remeshed - - end function new_stellar_model - - function finalize_stellar_model(star_id, age_tag) - use amuse_support - use evolve, only: set_age - implicit none - integer :: finalize_stellar_model, ierr - integer, intent(out) :: star_id - double precision, intent(in) :: age_tag - - if (.not. new_model_defined) then - finalize_stellar_model = -35 - return - endif - - finalize_stellar_model = -1 - star_id = id_new_model - number_of_particles = star_id - call set_age(id_new_model, age_tag, ierr) - if (failed('set_age', ierr)) return - call flush() - - new_model_defined = .false. - finalize_stellar_model = 0 - end function - - ! matches/interpolates existing mesh based on supplied dq's - integer function match_mesh(model_id, nz_target, dq_target) - use amuse_support, only: failed, debugging - use star_private_def, only: star_info, get_star_ptr - use alloc, only: free_star_info_arrays, allocate_star_info_arrays - use mesh_plan, only: do_mesh_plan - use mesh_adjust, only: do_mesh_adjust - use adjust_mesh_support, only: check_validity - use hydro_vars, only: set_vars - use rates_def, only: i_rate, ipp, icno, i3alf, iphoto - use net_lib, only: clean_up_fractions - use num_lib, only: safe_log10 - use utils_lib - use star_utils, only: set_q_vars, report_xa_bad_nums, & - std_dump_model_info_for_ndiff, set_qs, set_xqs - use chem_def - - integer, intent(in) :: model_id, nz_target - double precision, intent(inout) :: dq_target(nz_target) - - type (star_info), pointer :: s_tmp - logical, parameter :: dbg_remesh = .true. - logical, parameter :: skip_net = .false., check_for_bad_nums = .true. - integer :: k, k2, ierr, species, nvar, nz, nz_new, nz_old, & - unchanged, split, merged - type (star_info), target :: prev_info - type (star_info), pointer :: prv - double precision, pointer, dimension(:) :: xq_old, xq_new, energy - - double precision, parameter :: max_sum_abs = 10d0 - double precision, parameter :: xsum_tol = 1d-2 - double precision, parameter :: h_cntr_limit = 0.5d0 ! for pre-MS decision - double precision, parameter :: he_cntr_limit = 0.1d0 ! for RGB vs AGB decision - - 3 format(a40,2i6,99(1pe26.16)) - - call get_star_ptr(model_id, s_tmp, ierr) - if (failed('get_star_ptr', ierr)) return - if (debugging) write(*,*) 'enter match_mesh' - ierr = 0 - match_mesh = -1 - - species = s_tmp% species - nz_old = s_tmp% nz - nz = nz_old - nz_new = nz_target - - call clean_up_fractions(1, nz, species, nz, s_tmp% xa, max_sum_abs, xsum_tol, ierr) - if (failed('clean_up_fractions', ierr)) return - - nullify(xq_old, xq_new) - allocate(energy(nz), stat=ierr) - - energy(1:nz) = exp(s_tmp% lnE(1:nz)) - - s_tmp% mesh_call_number = s_tmp% mesh_call_number + 1 - - ! save pointers to arrays that will need to be updated for new mesh - prv => prev_info - prv = s_tmp ! this makes copies of pointers and scalars - - if (associated(s_tmp% comes_from)) deallocate(s_tmp% comes_from) - allocate(s_tmp% comes_from(nz_target), xq_old(nz), xq_new(nz_target), stat=ierr) - if (failed('allocate', ierr)) return - - call check_validity(s_tmp, ierr) - if (failed('check_validity', ierr)) return - - if (check_for_bad_nums) then - if (has_bad_num(species*nz, s_tmp% xa)) then - write(*,*) 'bad num in xa before calling mesh_plan: model_number', s_tmp% model_number - call report_xa_bad_nums(s_tmp, ierr) - stop 'remesh' - end if - end if - - call set_xqs(nz, xq_old, s_tmp% dq, ierr) - if (failed('set_xqs xq_old', ierr)) return - call set_xqs(nz_target, xq_new, dq_target, ierr) - if (failed('set_xqs xq_new', ierr)) return - - ! Set comes_from - ! ! xq_old(comes_from(k)+1) > xq_new(k) >= xq_old(comes_from(k)), if comes_from(k) < nz_old. - s_tmp% comes_from(:) = 0 - k2 = 1 - s_tmp% comes_from(1) = k2 - do k = 2, nz_target - do - if (k2 == nz) exit - if (xq_new(k) >= xq_old(k2+1)) then - k2 = k2 + 1 - else - exit - end if - end do - s_tmp% comes_from(k) = k2 - end do - nz = nz_new - s_tmp% nz = nz - nvar = s_tmp% nvar - - call allocate_star_info_arrays(s_tmp, ierr) - if (failed('allocate_star_info_arrays', ierr)) return - - if (associated(s_tmp% cell_type)) deallocate(s_tmp% cell_type) - allocate(s_tmp% cell_type(nz)) - call set_types_of_new_cells(s_tmp% cell_type) - - s_tmp% rate_factors(1:prv% num_reactions) = prv% rate_factors(1:prv% num_reactions) - - ! store new q and dq - s_tmp% dq(:) = dq_target(:) - call set_qs(nz, s_tmp% q, s_tmp% dq, ierr) - if (failed('set_qs', ierr)) return - - ! testing -- check for q strictly decreasing - do k = 2, nz - if (xq_new(k) <= xq_new(k-1)) then - write(*,3) 'bad xq_new before call do_mesh_adjust', & - k, nz, xq_new(k), xq_new(k-1), dq_target(k-1), xq_new(k-1) + dq_target(k-1) - stop 'adjust mesh' - end if - end do - - if (s_tmp% q_flag) call set_q_vars(s_tmp) - - if (dbg_remesh) write(*,*) 'call do_mesh_adjust' - call do_mesh_adjust( & - nz, nz_old, prv% xs, prv% xa, energy, prv% eta, prv% dq, xq_old, & - s_tmp% xs, s_tmp% xa, s_tmp% dq, xq_new, s_tmp% species, s_tmp% chem_id, s_tmp% net_iso, s_tmp% eos_handle, & - s_tmp% mesh_adjust_use_quadratic, s_tmp% mesh_adjust_get_T_from_E, & - s_tmp% i_lnd, s_tmp% i_lnT, s_tmp% i_lnR, s_tmp% i_lum, s_tmp% i_vel, s_tmp% i_lndq, s_tmp% i_lnq, & - s_tmp% q_flag, s_tmp% v_flag, & - prv% mstar, s_tmp% comes_from, s_tmp% cell_type, ierr) - if (failed('do_mesh_adjust', ierr)) return - if (dbg_remesh) write(*,*) 'back from do_mesh_adjust' - - ! testing - do k = 2, nz - if (xq_new(k) <= xq_new(k-1)) then - write(*,3) 'bad xq_new after call do_mesh_adjust', k, nz, xq_new(k), xq_new(k-1) - stop 'adjust mesh' - end if - end do - - if (ierr /= 0 .and. s_tmp% report_ierr) then - write(*,*) 'mesh_adjust problem' - write(*,*) 'doing mesh_call_number', s_tmp% mesh_call_number - write(*,*) 's_tmp% model_number', s_tmp% model_number - write(*,*) 's_tmp% nz', s_tmp% nz - write(*,*) 's_tmp% num_retries', s_tmp% num_retries - write(*,*) 's_tmp% num_backups', s_tmp% num_backups - write(*,*) - end if - - if (check_for_bad_nums) then - if (has_bad_num(species*nz, s_tmp% xa)) then - write(*,*) 'bad num in xa after calling mesh_adjust: model_number', s_tmp% model_number - stop 'remesh' - end if - end if - - if (s_tmp% prev_cdc_tau > 0) then ! interpolate cdc - call set_prev_cdc(ierr) - if (ierr /= 0 .and. s_tmp% report_ierr) & - write(*,*) 'mesh_adjust problem: ierr from set_prev_cdc' - end if - - call free_star_info_arrays(prv) - - call dealloc - match_mesh = 0 - - contains - - subroutine set_prev_cdc(ierr) - use interp_1d_def - use interp_1d_lib - integer, intent(out) :: ierr - integer, parameter :: nwork = pm_work_size - double precision, pointer :: work(:,:) - ierr = 0 - allocate(work(nz_old, nwork), stat=ierr) - if (ierr /= 0) return - call interpolate_vector( & - nz_old, prv% q, nz, s_tmp% q, prv% cdc, s_tmp% cdc_prev, interp_pm, nwork, work, ierr) - deallocate(work) - end subroutine set_prev_cdc - - - subroutine set_types_of_new_cells(cell_type) - use mesh_adjust, only: split_type, unchanged_type, merged_type - integer, pointer :: cell_type(:) - integer :: k, k_old, new_type - - 2 format(a40,2i6,99(1pe26.16)) - - unchanged=0; split=0; merged=0 - - do k=1,nz_new - k_old = s_tmp% comes_from(k) - new_type = -111 - if (xq_new(k) < xq_old(k_old)) then - write(*,*) 'xq_new(k) < xq_old(k_old)' - write(*,2) 'xq_new(k)', k, xq_new(k) - write(*,2) 'xq_old(k_old)', k_old, xq_old(k_old) - write(*,*) 'adjust mesh set_types_of_new_cells' - stop 1 - else if (xq_new(k) > xq_old(k_old)) then - new_type = split_type - else if (k_old == nz_old) then - if (k == nz_new) then - new_type = unchanged_type - else - new_type = split_type - end if - else if (k == nz_new) then - new_type = split_type - else ! k_old < nz_old .and. k < nz .and. xq_new(k) == xq_old(k_old) - if (xq_new(k+1) == xq_old(k_old+1)) then - new_type = unchanged_type - else if (xq_new(k+1) > xq_old(k_old+1)) then - new_type = merged_type - else - new_type = split_type - end if - end if - cell_type(k) = new_type - select case (new_type) - case (split_type) - split = split + 1 - case (unchanged_type) - unchanged = unchanged + 1 - case (merged_type) - merged = merged + 1 - case default - write(*,*) 'failed to set new_type in adjust mesh set_types_of_new_cells' - stop 'set_types_of_new_cells' - end select - end do - - if (unchanged + split + merged /= nz_new) then - write(*,2) 'unchanged + split + merged', unchanged + split + merged - write(*,2) 'nz_new', nz_new - stop 'set_types_of_new_cells' - end if - - end subroutine set_types_of_new_cells - - subroutine dealloc - if (associated(xq_old)) deallocate(xq_old) - if (associated(xq_new)) deallocate(xq_new) - if (associated(energy)) deallocate(energy) - end subroutine dealloc - - end function match_mesh diff --git a/src/amuse/community/mesa_r2208/interface.py b/src/amuse/community/mesa_r2208/interface.py index bdf3b0deb5..516766a427 100644 --- a/src/amuse/community/mesa_r2208/interface.py +++ b/src/amuse/community/mesa_r2208/interface.py @@ -1,1566 +1,7 @@ -import os -import numpy -import shutil -from operator import itemgetter +from amuse.support.import_helper import load_code -from amuse.community import * -from amuse.community.interface.se import StellarEvolution, StellarEvolutionInterface, \ - InternalStellarStructure, InternalStellarStructureInterface -from amuse.units.quantities import VectorQuantity -from amuse.support.interface import InCodeComponentImplementation -from amuse.support.options import option +MesaInterface = load_code("mesa_r2208", "MesaInterface") +Mesa = load_code("mesa_r2208", "Mesa") -class MESAInterface(CodeInterface, LiteratureReferencesMixIn, StellarEvolutionInterface, - InternalStellarStructureInterface, CodeWithDataDirectories): - """ - The software project MESA (Modules for Experiments in Stellar Astrophysics, - http://mesa.sourceforge.net/), aims to provide state-of-the-art, robust, - and efficient open source modules, usable singly or in combination for a - wide range of applications in stellar astrophysics. The AMUSE interface to - MESA can create and evolve stars using the MESA/STAR module. If you order a - metallicity you haven't used before, starting models will be computed - automatically and saved in the `mesa/src/data/star_data/starting_models` - directory (please be patient...). All metallicities are supported, even the - interesting case of Z=0. The supported stellar mass range is from - about 0.1 to 100 Msun. - - References: - .. [#] ADS:2011ApJS..192....3P (Paxton, Bildsten, Dotter, Herwig, Lesaffre & Timmes 2011, ApJS, - .. [#] http://mesa.sourceforge.net/) - """ - def __init__(self, **options): - CodeInterface.__init__(self, name_of_the_worker="mesa_worker", **options) - LiteratureReferencesMixIn.__init__(self) - CodeWithDataDirectories.__init__(self) - self.mesa_version = "2208" - - @property - def default_path_to_inlist(self): - return os.path.join(self.get_data_directory(), 'AMUSE_inlist') - - @option(type="string", sections=('data')) - def default_path_to_MESA_data(self): - return os.path.join(os.path.dirname(__file__), 'data', 'data') - - @legacy_function - def set_MESA_paths(): - """ - Set the paths to the MESA inlist and data directories. - """ - function = LegacyFunctionSpecification() - function.addParameter('inlist_path', dtype='string', direction=function.IN, - description = "Path to the inlist file.") - function.addParameter('MESA_data_path', dtype='string', direction=function.IN, - description = "Path to the data directory.") - function.addParameter('local_data_path', dtype='string', direction=function.IN, - description = "Path to the data directory.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value was set - -1 - ERROR - Directory does not exist - """ - return function - - @legacy_function - def get_maximum_number_of_stars(): - """ - Retrieve the maximum number of stars that can be - handled by this instance. - """ - function = LegacyFunctionSpecification() - function.addParameter('maximum_number_of_stars', dtype='int32', direction=function.OUT, - description = "The current value of the maximum number of stars") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value of was retrieved - """ - return function - - @legacy_function - def new_zams_model(): - function = LegacyFunctionSpecification() - function.addParameter('status', dtype='int32', direction=function.OUT) - return function - - @legacy_function - def new_pre_ms_particle(): - """ - Define a new pre-main-sequence star in the code. The star will start with the given mass. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.OUT - , description="The new index for the star. This index can be used to refer to this star in other functions") - function.addParameter('mass', dtype='float64', direction=function.IN - , description="The initial mass of the star") - function.result_type = 'int32' - return function - - @legacy_function - def set_time_step(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('time_step', dtype='float64', direction=function.IN - , description="The next timestep for the star.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - A star with the given index was not found. - """ - return function - - - @legacy_function - def get_core_mass(): - """ - Retrieve the current core mass of the star, where hydrogen abundance is <= h1_boundary_limit - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('core_mass', dtype='float64', direction=function.OUT - , description="The current core mass of the star, where hydrogen abundance is <= h1_boundary_limit") - function.result_type = 'int32' - return function - - @legacy_function - def get_mass_loss_rate(): - """ - Retrieve the current mass loss rate of the star. (positive for winds, negative for accretion) - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('mass_loss_rate', dtype='float64', direction=function.OUT - , description="The current mass loss rate of the star. (positive for winds, negative for accretion)") - function.result_type = 'int32' - return function - - @legacy_function - def get_manual_mass_transfer_rate(): - """ - Retrieve the current user-specified mass transfer rate of the star. (negative for winds, positive for accretion) - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('mass_change', dtype='float64', direction=function.OUT - , description="The current user-specified mass transfer rate of the star. (negative for winds, positive for accretion)") - function.result_type = 'int32' - return function - - @legacy_function - def set_manual_mass_transfer_rate(): - """ - Set a new user-specified mass transfer rate of the star. (negative for winds, positive for accretion) - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('mass_change', dtype='float64', direction=function.IN - , description="The new user-specified mass transfer rate of the star. (negative for winds, positive for accretion)") - function.result_type = 'int32' - return function - - @legacy_function - def get_accrete_same_as_surface(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) - function.addParameter('accrete_same_as_surface_flag', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - @legacy_function - def set_accrete_same_as_surface(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) - function.addParameter('accrete_same_as_surface_flag', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - @legacy_function - def get_accrete_composition_non_metals(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) - function.addParameter('h1', dtype='float64', direction=function.OUT) - function.addParameter('h2', dtype='float64', direction=function.OUT) - function.addParameter('he3', dtype='float64', direction=function.OUT) - function.addParameter('he4', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - @legacy_function - def set_accrete_composition_non_metals(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) - function.addParameter('h1', dtype='float64', direction=function.IN) - function.addParameter('h2', dtype='float64', direction=function.IN) - function.addParameter('he3', dtype='float64', direction=function.IN) - function.addParameter('he4', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - @legacy_function - def get_accrete_composition_metals_identifier(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) - function.addParameter('accrete_composition_metals_identifier', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - @legacy_function - def set_accrete_composition_metals_identifier(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) - function.addParameter('accrete_composition_metals_identifier', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - @legacy_function - def get_accrete_composition_metals(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) - function.addParameter('li', dtype='float64', direction=function.OUT) - function.addParameter('be', dtype='float64', direction=function.OUT) - function.addParameter('b', dtype='float64', direction=function.OUT) - function.addParameter('c', dtype='float64', direction=function.OUT) - function.addParameter('n', dtype='float64', direction=function.OUT) - function.addParameter('o', dtype='float64', direction=function.OUT) - function.addParameter('f', dtype='float64', direction=function.OUT) - function.addParameter('ne', dtype='float64', direction=function.OUT) - function.addParameter('na', dtype='float64', direction=function.OUT) - function.addParameter('mg', dtype='float64', direction=function.OUT) - function.addParameter('al', dtype='float64', direction=function.OUT) - function.addParameter('si', dtype='float64', direction=function.OUT) - function.addParameter('p', dtype='float64', direction=function.OUT) - function.addParameter('s', dtype='float64', direction=function.OUT) - function.addParameter('cl', dtype='float64', direction=function.OUT) - function.addParameter('ar', dtype='float64', direction=function.OUT) - function.addParameter('k', dtype='float64', direction=function.OUT) - function.addParameter('ca', dtype='float64', direction=function.OUT) - function.addParameter('sc', dtype='float64', direction=function.OUT) - function.addParameter('ti', dtype='float64', direction=function.OUT) - function.addParameter('v', dtype='float64', direction=function.OUT) - function.addParameter('cr', dtype='float64', direction=function.OUT) - function.addParameter('mn', dtype='float64', direction=function.OUT) - function.addParameter('fe', dtype='float64', direction=function.OUT) - function.addParameter('co', dtype='float64', direction=function.OUT) - function.addParameter('ni', dtype='float64', direction=function.OUT) - function.addParameter('cu', dtype='float64', direction=function.OUT) - function.addParameter('zn', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - @legacy_function - def set_accrete_composition_metals(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) - function.addParameter('li', dtype='float64', direction=function.IN) - function.addParameter('be', dtype='float64', direction=function.IN) - function.addParameter('b', dtype='float64', direction=function.IN) - function.addParameter('c', dtype='float64', direction=function.IN) - function.addParameter('n', dtype='float64', direction=function.IN) - function.addParameter('o', dtype='float64', direction=function.IN) - function.addParameter('f', dtype='float64', direction=function.IN) - function.addParameter('ne', dtype='float64', direction=function.IN) - function.addParameter('na', dtype='float64', direction=function.IN) - function.addParameter('mg', dtype='float64', direction=function.IN) - function.addParameter('al', dtype='float64', direction=function.IN) - function.addParameter('si', dtype='float64', direction=function.IN) - function.addParameter('p', dtype='float64', direction=function.IN) - function.addParameter('s', dtype='float64', direction=function.IN) - function.addParameter('cl', dtype='float64', direction=function.IN) - function.addParameter('ar', dtype='float64', direction=function.IN) - function.addParameter('k', dtype='float64', direction=function.IN) - function.addParameter('ca', dtype='float64', direction=function.IN) - function.addParameter('sc', dtype='float64', direction=function.IN) - function.addParameter('ti', dtype='float64', direction=function.IN) - function.addParameter('v', dtype='float64', direction=function.IN) - function.addParameter('cr', dtype='float64', direction=function.IN) - function.addParameter('mn', dtype='float64', direction=function.IN) - function.addParameter('fe', dtype='float64', direction=function.IN) - function.addParameter('co', dtype='float64', direction=function.IN) - function.addParameter('ni', dtype='float64', direction=function.IN) - function.addParameter('cu', dtype='float64', direction=function.IN) - function.addParameter('zn', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_number_of_backups_in_a_row(): - """ - Retrieve the number_of_backups_in_a_row of the star. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of number_of_backups_in_a_row") - function.addParameter('n_backup', dtype='int32', direction=function.OUT - , description="The current number_of_backups_in_a_row of the star.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The number_of_backups_in_a_row was retrieved. - -1 - ERROR - A star with the given index was not found. - """ - return function - - @legacy_function - def reset_number_of_backups_in_a_row(): - """ - Reset number_of_backups_in_a_row of the star. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to reset the value of number_of_backups_in_a_row") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The number_of_backups_in_a_row was reset. - -1 - ERROR - A star with the given index was not found. - """ - return function - - @legacy_function - def get_mass_fraction_at_zone(): - """ - Retrieve the mass fraction at the specified zone/mesh-cell of the star. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('zone', dtype='int32', direction=function.IN - , description="The zone/mesh-cell of the star to get the value of") - function.addParameter('dq_i', dtype='float64', direction=function.OUT - , description="The mass fraction at the specified zone/mesh-cell of the star.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value was retrieved. - -1 - ERROR - A star with the given index was not found. - -2 - ERROR - A zone with the given index was not found. - """ - return function - - @legacy_function - def set_mass_fraction_at_zone(): - """ - Set the mass fraction at the specified zone/mesh-cell of the star. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to set the value of") - function.addParameter('zone', dtype='int32', direction=function.IN - , description="The zone/mesh-cell of the star to set the value of") - function.addParameter('dq_i', dtype='float64', direction=function.IN - , description="The mass fraction at the specified zone/mesh-cell of the star.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value was set. - -1 - ERROR - A star with the given index was not found. - -2 - ERROR - A zone with the given index was not found. - """ - return function - - @legacy_function - def get_luminosity_at_zone(): - """ - Retrieve the luminosity at the specified zone/mesh-cell of the star. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('zone', dtype='int32', direction=function.IN - , description="The zone/mesh-cell of the star to get the value of") - function.addParameter('lum_i', dtype='float64', direction=function.OUT - , description="The luminosity at the specified zone/mesh-cell of the star.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value was retrieved. - -1 - ERROR - A star with the given index was not found. - -2 - ERROR - A zone with the given index was not found. - """ - return function - - @legacy_function - def set_luminosity_at_zone(): - """ - Set the luminosity at the specified zone/mesh-cell of the star. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to set the value of") - function.addParameter('zone', dtype='int32', direction=function.IN - , description="The zone/mesh-cell of the star to set the value of") - function.addParameter('lum_i', dtype='float64', direction=function.IN - , description="The luminosity at the specified zone/mesh-cell of the star.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value was set. - -1 - ERROR - A star with the given index was not found. - -2 - ERROR - A zone with the given index was not found. - """ - return function - - @legacy_function - def get_entropy_at_zone(): - """ - Retrieve the entropy at the specified zone/mesh-cell of the star. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('zone', dtype='int32', direction=function.IN - , description="The zone/mesh-cell of the star to get the value of") - function.addParameter('S_i', dtype='float64', direction=function.OUT - , description="The specific entropy at the specified zone/mesh-cell of the star.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value was retrieved. - -1 - ERROR - A star with the given index was not found. - -2 - ERROR - A zone with the given index was not found. - """ - return function - - @legacy_function - def get_thermal_energy_at_zone(): - """ - Retrieve the entropy at the specified zone/mesh-cell of the star. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('zone', dtype='int32', direction=function.IN - , description="The zone/mesh-cell of the star to get the value of") - function.addParameter('E_i', dtype='float64', direction=function.OUT - , description="The specific thermal energy at the specified zone/mesh-cell of the star.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value was retrieved. - -1 - ERROR - A star with the given index was not found. - -2 - ERROR - A zone with the given index was not found. - """ - return function - - @legacy_function - def get_brunt_vaisala_frequency_squared_at_zone(): - """ - Retrieve the Brunt-Vaisala frequency squared at the specified zone/mesh-cell of the star. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('zone', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('brunt_N2', dtype='float64', direction=function.OUT, unit=units.s**-2) - function.result_type = 'int32' - return function - - @legacy_function - def get_id_of_species(): - """ - Retrieve the chem_ID of the chemical abundance variable of the star. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('species', dtype='int32', direction=function.IN - , description="The species of the star to get the name of") - function.addParameter('species_id', dtype='int32', direction=function.OUT - , description="The chem_ID of the chemical abundance variable of the star.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value was retrieved. - -1 - ERROR - A star with the given index was not found. - """ - return function - - @legacy_function - def get_mass_of_species(): - """ - Retrieve the mass number of the chemical abundance variable of the star. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('species', dtype='int32', direction=function.IN - , description="The species of the star to get the mass number of") - function.addParameter('species_mass', dtype='float64', direction=function.OUT - , description="The mass number of the chemical abundance variable of the star.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value was retrieved. - -1 - ERROR - A star with the given index was not found. - """ - return function - - @legacy_function - def erase_memory(): - """ - Erase memory of the star, i.e. copy the current structure over the memory of - the structure of the previous steps. Useful after setting the stucture of - the star, to prevent backup steps to undo changes - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.result_type = 'int32' - return function - - @legacy_function - def get_max_age_stop_condition(): - """ - Retrieve the current maximum age stop condition of this instance (in years). - Evolution will stop once the star has reached this maximum age. - """ - function = LegacyFunctionSpecification() - function.addParameter('max_age_stop_condition', dtype='float64', direction=function.OUT - , description="The current maximum age stop condition of this instance (in years).") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value was retrieved - -1 - ERROR - The code could not retrieve the value. - """ - return function - - @legacy_function - def set_max_age_stop_condition(): - """ - Set the new maximum age stop condition of this instance (in years). - Evolution will stop once the star has reached this maximum age. - """ - function = LegacyFunctionSpecification() - function.addParameter('max_age_stop_condition', dtype='float64', direction=function.IN - , description="The new maximum age stop condition of this instance (in years).") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - The code could not set the value. - """ - return function - - @legacy_function - def get_min_timestep_stop_condition(): - """ - Retrieve the current minimum timestep stop condition of this instance (in years). - Evolution will stop if the timestep required by the solver in order to converge - has decreased below this minimum timestep. - """ - function = LegacyFunctionSpecification() - function.addParameter('min_timestep_stop_condition', dtype='float64', direction=function.OUT - , description="The current minimum timestep stop condition of this instance (in years).") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value was retrieved - -1 - ERROR - The code could not retrieve the value. - """ - return function - - @legacy_function - def set_min_timestep_stop_condition(): - """ - Set the new minimum timestep stop condition of this instance (in years). - Evolution will stop if the timestep required by the solver in order to converge - has decreased below this minimum timestep. - """ - function = LegacyFunctionSpecification() - function.addParameter('min_timestep_stop_condition', dtype='float64', direction=function.IN - , description="The new minimum timestep stop condition of this instance (in years).") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - The code could not set the value. - """ - return function - - @legacy_function - def get_max_iter_stop_condition(): - """ - Retrieve the current maximum number of iterations of this instance. (Negative means no maximum) - Evolution will stop after this number of iterations. - """ - function = LegacyFunctionSpecification() - function.addParameter('max_iter_stop_condition', dtype='int32', direction=function.OUT - , description="The current maximum number of iterations of this instance.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value was retrieved - -1 - ERROR - The code could not retrieve the value. - """ - return function - - @legacy_function - def set_max_iter_stop_condition(): - """ - Set the new maximum number of iterations of this instance. (Negative means no maximum) - Evolution will stop after this number of iterations. - """ - function = LegacyFunctionSpecification() - function.addParameter('max_iter_stop_condition', dtype='int32', direction=function.IN - , description="The new maximum number of iterations of this instance.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - The code could not set the value. - """ - return function - - @legacy_function - def get_convective_overshoot_parameter(): - function = LegacyFunctionSpecification() - function.addParameter('convective_overshoot_parameter', dtype='float64', direction=function.OUT, - description="The current value of the convective overshoot parameter.") - function.result_type = 'int32' - return function - - @legacy_function - def set_convective_overshoot_parameter(): - function = LegacyFunctionSpecification() - function.addParameter('convective_overshoot_parameter', dtype='float64', direction=function.IN, - description="The new value of the convective overshoot parameter.") - function.result_type = 'int32' - return function - - @legacy_function - def get_mixing_length_ratio(): - """ - Retrieve the current value of the mixing length ratio. - """ - function = LegacyFunctionSpecification() - function.addParameter('mixing_length_ratio', dtype='float64', direction=function.OUT - , description="The current value of the mixing length ratio.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value was retrieved - -1 - ERROR - The code could not retrieve the value. - """ - return function - - @legacy_function - def set_mixing_length_ratio(): - """ - Set the value of the mixing length ratio. - """ - function = LegacyFunctionSpecification() - function.addParameter('mixing_length_ratio', dtype='float64', direction=function.IN - , description="The new value of the mixing length ratio.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - The code could not set the value. - """ - return function - - @legacy_function - def get_semi_convection_efficiency(): - """ - Retrieve the current value of the efficiency of semi-convection, - after Heger, Langer, & Woosley 2000 (ApJ), which goes back to - Langer, Sugimoto & Fricke 1983 (A&A). - """ - function = LegacyFunctionSpecification() - function.addParameter('semi_convection_efficiency', dtype='float64', direction=function.OUT - , description="The current value of the efficiency of semi-convection.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value was retrieved - -1 - ERROR - The code could not retrieve the value. - """ - return function - - @legacy_function - def set_semi_convection_efficiency(): - """ - Set the value of the efficiency of semi-convection, - after Heger, Langer, & Woosley 2000 (ApJ), which goes back to - Langer, Sugimoto & Fricke 1983 (A&A). - """ - function = LegacyFunctionSpecification() - function.addParameter('semi_convection_efficiency', dtype='float64', direction=function.IN - , description="The new value of the efficiency of semi-convection.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - The code could not set the value. - """ - return function - - @legacy_function - def get_RGB_wind_scheme(): - """ - Retrieve the current wind (mass loss) scheme for RGB stars: - No automatic wind (0) - Reimers (1): e.g. see: Baschek, Kegel, Traving (eds), Springer, Berlin, 1975, p. 229. - Blocker (2): T. Blocker, A&A 297, 727-738 (1995) - de Jager (3): de Jager, C., Nieuwenhuijzen, H., & van der Hucht, K. A. 1988, A&AS, 72, 259 - Dutch (4): Glebbeek et al 2009, Vink et al 2001, Nugis & Lamers 2000, de Jager 1990 - Mattsson (5) - """ - function = LegacyFunctionSpecification() - function.addParameter('RGB_wind_scheme', dtype='int32', direction=function.OUT - , description="The current wind (mass loss) scheme for RGB stars of this instance.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value was retrieved - -1 - ERROR - The code could not retrieve the value. - """ - return function - - @legacy_function - def set_RGB_wind_scheme(): - """ - Set the new wind (mass loss) scheme for RGB stars: - No automatic wind (0) - Reimers (1): e.g. see: Baschek, Kegel, Traving (eds), Springer, Berlin, 1975, p. 229. - Blocker (2): T. Blocker, A&A 297, 727-738 (1995) - de Jager (3): de Jager, C., Nieuwenhuijzen, H., & van der Hucht, K. A. 1988, A&AS, 72, 259 - Dutch (4): Glebbeek et al 2009, Vink et al 2001, Nugis & Lamers 2000, de Jager 1990 - Mattsson (5) - """ - function = LegacyFunctionSpecification() - function.addParameter('RGB_wind_scheme', dtype='int32', direction=function.IN - , description="The new wind (mass loss) scheme for RGB stars of this instance.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - The code could not set the value. - """ - return function - - @legacy_function - def get_AGB_wind_scheme(): - """ - Retrieve the current wind (mass loss) scheme for AGB stars: - No automatic wind (0) - Reimers (1): e.g. see: Baschek, Kegel, Traving (eds), Springer, Berlin, 1975, p. 229. - Blocker (2): T. Blocker, A&A 297, 727-738 (1995) - de Jager (3): de Jager, C., Nieuwenhuijzen, H., & van der Hucht, K. A. 1988, A&AS, 72, 259 - Dutch (4): Glebbeek et al 2009, Vink et al 2001, Nugis & Lamers 2000, de Jager 1990 - Mattsson (5) - """ - function = LegacyFunctionSpecification() - function.addParameter('AGB_wind_scheme', dtype='int32', direction=function.OUT - , description="The current wind (mass loss) scheme for AGB stars of this instance.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value was retrieved - -1 - ERROR - The code could not retrieve the value. - """ - return function - - @legacy_function - def set_AGB_wind_scheme(): - """ - Set the new wind (mass loss) scheme for AGB stars: - No automatic wind (0) - Reimers (1): e.g. see: Baschek, Kegel, Traving (eds), Springer, Berlin, 1975, p. 229. - Blocker (2): T. Blocker, A&A 297, 727-738 (1995) - de Jager (3): de Jager, C., Nieuwenhuijzen, H., & van der Hucht, K. A. 1988, A&AS, 72, 259 - Dutch (4): Glebbeek et al 2009, Vink et al 2001, Nugis & Lamers 2000, de Jager 1990 - Mattsson (5) - """ - function = LegacyFunctionSpecification() - function.addParameter('AGB_wind_scheme', dtype='int32', direction=function.IN - , description="The new wind (mass loss) scheme for AGB stars of this instance.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - The code could not set the value. - """ - return function - - @legacy_function - def get_reimers_wind_efficiency(): - function = LegacyFunctionSpecification() - function.addParameter('reimers_wind_efficiency', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_reimers_wind_efficiency(): - function = LegacyFunctionSpecification() - function.addParameter('reimers_wind_efficiency', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_blocker_wind_efficiency(): - function = LegacyFunctionSpecification() - function.addParameter('blocker_wind_efficiency', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_blocker_wind_efficiency(): - function = LegacyFunctionSpecification() - function.addParameter('blocker_wind_efficiency', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_de_jager_wind_efficiency(): - function = LegacyFunctionSpecification() - function.addParameter('de_jager_wind_efficiency', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_de_jager_wind_efficiency(): - function = LegacyFunctionSpecification() - function.addParameter('de_jager_wind_efficiency', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_dutch_wind_efficiency(): - function = LegacyFunctionSpecification() - function.addParameter('dutch_wind_efficiency', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_dutch_wind_efficiency(): - function = LegacyFunctionSpecification() - function.addParameter('dutch_wind_efficiency', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_stabilize_new_stellar_model_flag(): - function = LegacyFunctionSpecification() - function.addParameter('stabilize_new_stellar_model_flag', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_stabilize_new_stellar_model_flag(): - function = LegacyFunctionSpecification() - function.addParameter('stabilize_new_stellar_model_flag', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def new_stellar_model(): - """ - Define a new star model in the code. The star needs to be finalized - before it can evolve, see 'finalize_stellar_model'. - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - for par in ['d_mass', 'radius', 'rho', 'temperature', 'luminosity', - 'X_H', 'X_He', 'X_C', 'X_N', 'X_O', 'X_Ne', 'X_Mg', 'X_Si', 'X_Fe']: - function.addParameter(par, dtype='float64', direction=function.IN) - function.addParameter('n', 'int32', function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def finalize_stellar_model(): - """ - Finalize the new star model defined by 'new_stellar_model'. - """ - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_star', dtype='int32', - direction=function.OUT, description = "The new index for the star. " - "This index can be used to refer to this star in other functions") - function.addParameter('age_tag', dtype='float64', direction=function.IN, - description = "The initial age of the star") - function.result_type = 'int32' - return function - -class MESA(StellarEvolution, InternalStellarStructure): - - def __init__(self, **options): - InCodeComponentImplementation.__init__(self, MESAInterface(**options), **options) - - output_dir = self.get_output_directory() - model_path = os.path.join(output_dir, 'star_data', 'starting_models') - if not self.channel_type == 'distributed': - self.ensure_data_directory_exists(model_path) - if not os.path.isfile(os.path.join(model_path, 'zams_z20m3.data')): - model_file=os.path.join(self.get_data_directory(), 'star_data', 'starting_models', 'zams_z20m3.data') - shutil.copy(model_file, model_path) - - if 'inlist' in options: - inlist_path = options['inlist'] - if not os.path.exists(inlist_path): - raise ValueError('Named inlist does not exist, maybe its in a different folder?') - else: - inlist_path = self.default_path_to_inlist - - self.set_MESA_paths( - inlist_path, - self.default_path_to_MESA_data, - output_dir - ) - self.model_time = 0.0 | units.yr - self.mesa_version = "2208" - self.inlist = inlist_path - - - def define_parameters(self, handler): - - handler.add_method_parameter( - "get_metallicity", - "set_metallicity", - "metallicity", - "Metallicity of all stars", - default_value = 0.02 - ) - - handler.add_method_parameter( - "get_max_age_stop_condition", - "set_max_age_stop_condition", - "max_age_stop_condition", - "The maximum age stop condition of this instance.", - default_value = 1.0e36 | units.yr - ) - - handler.add_method_parameter( - "get_min_timestep_stop_condition", - "set_min_timestep_stop_condition", - "min_timestep_stop_condition", - "The minimum timestep stop condition of this instance.", - default_value = 1.0e-6 | units.s - ) - - handler.add_method_parameter( - "get_max_iter_stop_condition", - "set_max_iter_stop_condition", - "max_iter_stop_condition", - "The maximum number of iterations of this instance. (Negative means no maximum)", - default_value = -1111 - ) - - handler.add_method_parameter( - "get_convective_overshoot_parameter", - "set_convective_overshoot_parameter", - "herwig_convective_overshoot_parameter", - "The convective overshoot parameter (Herwig 2000), f=0.016 is argued to be a reasonable value.", - default_value = 0.0 - ) - - handler.add_method_parameter( - "get_mixing_length_ratio", - "set_mixing_length_ratio", - "mixing_length_ratio", - "The mixing-length ratio (alpha).", - default_value = 2.0 - ) - - handler.add_method_parameter( - "get_semi_convection_efficiency", - "set_semi_convection_efficiency", - "semi_convection_efficiency", - "The efficiency of semi-convection, after Heger, Langer, & Woosley 2000 (ApJ), " - "which goes back to Langer, Sugimoto & Fricke 1983 (A&A).", - default_value = 0.0 - ) - - handler.add_method_parameter( - "get_RGB_wind_scheme", - "set_RGB_wind_scheme", - "RGB_wind_scheme", - "The mass loss scheme for RGB stars: none (0), Reimers (1), " - "Blocker (2), de Jager (3), Dutch (4), Mattsson (5)", - default_value = 1 - ) - - handler.add_method_parameter( - "get_AGB_wind_scheme", - "set_AGB_wind_scheme", - "AGB_wind_scheme", - "The mass loss scheme for AGB stars: none (0), Reimers (1), " - "Blocker (2), de Jager (3), Dutch (4), Mattsson (5)", - default_value = 1 - ) - - handler.add_method_parameter( - "get_reimers_wind_efficiency", - "set_reimers_wind_efficiency", - "reimers_wind_efficiency", - "The Reimers mass loss efficiency. Only used if (RGB/AGB_wind_scheme == 1).", - default_value = 0.5 - ) - handler.add_method_parameter( - "get_blocker_wind_efficiency", - "set_blocker_wind_efficiency", - "blocker_wind_efficiency", - "The Blocker mass loss efficiency. Only used if (RGB/AGB_wind_scheme == 2).", - default_value = 0.1 - ) - handler.add_method_parameter( - "get_de_jager_wind_efficiency", - "set_de_jager_wind_efficiency", - "de_jager_wind_efficiency", - "The de Jager mass loss efficiency. Only used if (RGB/AGB_wind_scheme == 3).", - default_value = 0.8 - ) - handler.add_method_parameter( - "get_dutch_wind_efficiency", - "set_dutch_wind_efficiency", - "dutch_wind_efficiency", - "The Dutch mass loss efficiency. Only used if (RGB/AGB_wind_scheme == 4).", - default_value = 0.8 - ) - handler.add_boolean_parameter( - "get_stabilize_new_stellar_model_flag", - "set_stabilize_new_stellar_model_flag", - "stabilize_new_stellar_model_flag", - "Flag specifying whether to stabilize any loaded stellar models first.", - default_value = True - ) - - - - def define_particle_sets(self, handler): - handler.define_super_set('particles', ['native_stars', 'imported_stars', 'pre_ms_stars'], - index_to_default_set = 0) - - handler.define_set('imported_stars', 'index_of_the_star') - handler.set_new('imported_stars', 'finalize_stellar_model') - handler.set_delete('imported_stars', 'delete_star') - - handler.define_set('native_stars', 'index_of_the_star') - handler.set_new('native_stars', 'new_particle') - handler.set_delete('native_stars', 'delete_star') - - handler.define_set('pre_ms_stars', 'index_of_the_star') - handler.set_new('pre_ms_stars', 'new_pre_ms_particle') - handler.set_delete('pre_ms_stars', 'delete_star') - - for particle_set_name in ['native_stars', 'imported_stars', 'pre_ms_stars']: - handler.add_getter(particle_set_name, 'get_radius', names = ('radius',)) - handler.add_getter(particle_set_name, 'get_stellar_type', names = ('stellar_type',)) - handler.add_getter(particle_set_name, 'get_mass', names = ('mass',)) - handler.add_setter(particle_set_name, 'set_mass', names = ('mass',)) - handler.add_getter(particle_set_name, 'get_core_mass', names = ('core_mass',)) - handler.add_getter(particle_set_name, 'get_mass_loss_rate', names = ('wind',)) - handler.add_getter(particle_set_name, 'get_age', names = ('age',)) - handler.add_getter(particle_set_name, 'get_time_step', names = ('time_step',)) - handler.add_setter(particle_set_name, 'set_time_step', names = ('time_step',)) - handler.add_getter(particle_set_name, 'get_luminosity', names = ('luminosity',)) - handler.add_getter(particle_set_name, 'get_temperature', names = ('temperature',)) - - handler.add_getter(particle_set_name, 'get_manual_mass_transfer_rate', names = ('mass_change',)) - handler.add_setter(particle_set_name, 'set_manual_mass_transfer_rate', names = ('mass_change',)) - - handler.add_method(particle_set_name, 'get_accrete_same_as_surface') - handler.add_method(particle_set_name, 'set_accrete_same_as_surface') - handler.add_method(particle_set_name, 'get_accrete_composition_non_metals') - handler.add_method(particle_set_name, 'set_accrete_composition_non_metals') - handler.add_method(particle_set_name, 'get_accrete_composition_metals_identifier') - handler.add_method(particle_set_name, 'set_accrete_composition_metals_identifier') - handler.add_method(particle_set_name, 'get_accrete_composition_metals') - handler.add_method(particle_set_name, 'set_accrete_composition_metals') - - handler.add_method(particle_set_name, 'evolve_one_step') - handler.add_method(particle_set_name, 'evolve_for') - InternalStellarStructure.define_particle_sets( - self, - handler, - set_name = particle_set_name - ) - handler.add_method(particle_set_name, 'get_mass_profile') - handler.add_method(particle_set_name, 'set_mass_profile') - handler.add_method(particle_set_name, 'get_cumulative_mass_profile') - handler.add_method(particle_set_name, 'get_luminosity_profile') - handler.add_method(particle_set_name, 'set_luminosity_profile') - handler.add_method(particle_set_name, 'get_entropy_profile') - handler.add_method(particle_set_name, 'get_thermal_energy_profile') - handler.add_method(particle_set_name, 'get_brunt_vaisala_frequency_squared_profile') - handler.add_method(particle_set_name, 'get_IDs_of_species') - handler.add_method(particle_set_name, 'get_masses_of_species') - handler.add_method(particle_set_name, 'get_number_of_backups_in_a_row') - handler.add_method(particle_set_name, 'reset_number_of_backups_in_a_row') - - def define_state(self, handler): - StellarEvolution.define_state(self, handler) - handler.add_method('EDIT', 'new_pre_ms_particle') - handler.add_method('UPDATE', 'new_pre_ms_particle') - handler.add_transition('RUN', 'UPDATE', 'new_pre_ms_particle', False) - handler.add_method('EDIT', 'finalize_stellar_model') - handler.add_method('UPDATE', 'finalize_stellar_model') - handler.add_transition('RUN', 'UPDATE', 'finalize_stellar_model', False) - - def define_errorcodes(self, handler): - InternalStellarStructure.define_errorcodes(self, handler) - handler.add_errorcode(-1, 'Something went wrong...') - handler.add_errorcode(-4, 'Not implemented.') - handler.add_errorcode(-11, 'Evolve terminated: Unspecified stop condition reached.') - handler.add_errorcode(-12, 'Evolve terminated: Maximum age reached.') - handler.add_errorcode(-13, 'Evolve terminated: Maximum number of iterations reached.') - handler.add_errorcode(-14, 'Evolve terminated: Maximum number of backups reached.') - handler.add_errorcode(-15, 'Evolve terminated: Minimum timestep limit reached.') - - def define_methods(self, handler): - InternalStellarStructure.define_methods(self, handler) - StellarEvolution.define_methods(self, handler) - handler.add_method( - "evolve_for", - (handler.INDEX, units.julianyr), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "new_pre_ms_particle", - (units.MSun), - (handler.INDEX, handler.ERROR_CODE) - ) - handler.add_method( - "set_time_step", - (handler.INDEX, units.yr), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_core_mass", - (handler.INDEX,), - (units.MSun, handler.ERROR_CODE,) - ) - handler.add_method( - "get_mass_loss_rate", - (handler.INDEX,), - (units.g / units.s, handler.ERROR_CODE,) - ) - handler.add_method( - "get_manual_mass_transfer_rate", - (handler.INDEX,), - (units.MSun / units.yr, handler.ERROR_CODE,) - ) - handler.add_method( - "set_manual_mass_transfer_rate", - (handler.INDEX, units.MSun / units.yr), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_number_of_backups_in_a_row", - (handler.INDEX,), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - handler.add_method( - "reset_number_of_backups_in_a_row", - (handler.INDEX,), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_mass_fraction_at_zone", - (handler.INDEX,handler.NO_UNIT,), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - handler.add_method( - "set_mass_fraction_at_zone", - (handler.INDEX, handler.NO_UNIT, handler.NO_UNIT,), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_luminosity_at_zone", - (handler.INDEX,handler.NO_UNIT,), - (units.erg/units.s, handler.ERROR_CODE,) - ) - handler.add_method( - "set_luminosity_at_zone", - (handler.INDEX, handler.NO_UNIT, units.erg/units.s,), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_entropy_at_zone", - (handler.INDEX,handler.NO_UNIT,), - (units.erg/units.K, handler.ERROR_CODE,) - ) - handler.add_method( - "get_thermal_energy_at_zone", - (handler.INDEX,handler.NO_UNIT,), - (units.erg/units.g, handler.ERROR_CODE,) - ) - handler.add_method( - "get_id_of_species", - (handler.INDEX,handler.NO_UNIT,), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - handler.add_method( - "get_mass_of_species", - (handler.INDEX,handler.NO_UNIT,), - (units.amu, handler.ERROR_CODE,) - ) - handler.add_method( - "erase_memory", - (handler.INDEX,), - (handler.ERROR_CODE,), - public_name = "_erase_memory" - ) - handler.add_method( - "new_stellar_model", - (units.MSun, units.cm, units.g / units.cm**3, units.K, units.erg / units.s, - handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, - handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT,), - (handler.ERROR_CODE,) - ) - handler.add_method( - "finalize_stellar_model", - (units.yr,), - (handler.INDEX, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_max_age_stop_condition", - (), - (units.yr, handler.ERROR_CODE,) - ) - - - handler.add_method( - "set_max_age_stop_condition", - (units.yr, ), - (handler.ERROR_CODE,) - ) - - - handler.add_method( - "get_min_timestep_stop_condition", - (), - (units.s, handler.ERROR_CODE,) - ) - - - handler.add_method( - "set_min_timestep_stop_condition", - (units.s, ), - (handler.ERROR_CODE,) - ) - - - handler.add_method( - "get_max_iter_stop_condition", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - - handler.add_method( - "set_max_iter_stop_condition", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - - handler.add_method( - "get_mixing_length_ratio", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - - handler.add_method( - "set_mixing_length_ratio", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - - handler.add_method( - "get_semi_convection_efficiency", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - - handler.add_method( - "set_semi_convection_efficiency", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - - handler.add_method( - "get_RGB_wind_scheme", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - - handler.add_method( - "set_RGB_wind_scheme", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - - handler.add_method( - "get_AGB_wind_scheme", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - - handler.add_method( - "set_AGB_wind_scheme", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - - handler.add_method( - "get_reimers_wind_efficiency", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - - handler.add_method( - "set_reimers_wind_efficiency", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - - handler.add_method( - "get_blocker_wind_efficiency", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - - handler.add_method( - "set_blocker_wind_efficiency", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - - handler.add_method( - "get_de_jager_wind_efficiency", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - - handler.add_method( - "set_de_jager_wind_efficiency", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - - handler.add_method( - "get_dutch_wind_efficiency", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - - handler.add_method( - "set_dutch_wind_efficiency", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - - def initialize_module_with_default_parameters(self): - self.parameters.set_defaults() - self.initialize_code() - - def initialize_module_with_current_parameters(self): - self.initialize_code() - - def commit_parameters(self): - self.parameters.send_not_set_parameters_to_code() - self.parameters.send_cached_parameters_to_code() - self.overridden().commit_parameters() - - def get_mass_profile(self, indices_of_the_stars, number_of_zones = None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string = "Querying mass profiles") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - return self.get_mass_fraction_at_zone([indices_of_the_stars]*number_of_zones, list(range(number_of_zones)) | units.none) - - def get_cumulative_mass_profile(self, indices_of_the_stars, number_of_zones = None): - frac_profile = self.get_mass_profile(indices_of_the_stars, number_of_zones = number_of_zones) - return frac_profile.cumsum() - - def set_mass_profile(self, indices_of_the_stars, values, number_of_zones = None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string = "Setting mass profiles") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - self._check_supplied_values(len(values), number_of_zones) - self.set_mass_fraction_at_zone([indices_of_the_stars]*number_of_zones, list(range(number_of_zones)) | units.none, values) - if hasattr(self, "_erase_memory"): - self._erase_memory(indices_of_the_stars) - - def get_luminosity_profile(self, indices_of_the_stars, number_of_zones = None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string = "Querying luminosity profiles") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - return self.get_luminosity_at_zone([indices_of_the_stars]*number_of_zones, list(range(number_of_zones)) | units.none) - - def set_luminosity_profile(self, indices_of_the_stars, values, number_of_zones = None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string = "Setting luminosity profiles") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - self._check_supplied_values(len(values), number_of_zones) - self.set_luminosity_at_zone([indices_of_the_stars]*number_of_zones, list(range(number_of_zones)) | units.none, values) - if hasattr(self, "_erase_memory"): - self._erase_memory(indices_of_the_stars) - - def get_entropy_profile(self, indices_of_the_stars, number_of_zones = None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string = "Querying entropy profiles") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - return self.get_entropy_at_zone([indices_of_the_stars]*number_of_zones, list(range(number_of_zones)) | units.none) - - def get_thermal_energy_profile(self, indices_of_the_stars, number_of_zones = None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string = "Querying thermal energy profiles") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - return self.get_thermal_energy_at_zone([indices_of_the_stars]*number_of_zones, list(range(number_of_zones)) | units.none) - - def get_brunt_vaisala_frequency_squared_profile(self, indices_of_the_stars, number_of_zones = None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string = "Querying brunt-vaisala-frequency-squared profiles") - if number_of_zones is None: - number_of_zones = self.get_number_of_zones(indices_of_the_stars) - return self.get_brunt_vaisala_frequency_squared_at_zone([indices_of_the_stars]*number_of_zones, list(range(number_of_zones)) | units.none) - - def get_IDs_of_species(self, indices_of_the_stars, number_of_species = None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string = "Querying chemical abundance IDs") - if number_of_species is None: - number_of_species = self.get_number_of_species(indices_of_the_stars) - return list(self.get_id_of_species( - [indices_of_the_stars]*number_of_species, - list(range(1,number_of_species+1)) - )) - - def get_masses_of_species(self, indices_of_the_stars, number_of_species = None): - indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string = "Querying chemical abundance mass numbers") - if number_of_species is None: - number_of_species = self.get_number_of_species(indices_of_the_stars) - return self.get_mass_of_species( - [indices_of_the_stars]*number_of_species, - list(range(1,number_of_species+1)) - ) - - def new_particle_from_model(self, internal_structure, current_age=0|units.Myr, key=None): - if isinstance(internal_structure, dict): - if "dmass" in internal_structure: - mass_profile = internal_structure['dmass'][::-1] - else: - cumulative_mass_profile = [0.0] | units.MSun - cumulative_mass_profile.extend(internal_structure['mass']) - mass_profile = (cumulative_mass_profile[1:] - cumulative_mass_profile[:-1])[::-1] - self.new_stellar_model( - mass_profile, - internal_structure['radius'][::-1], - internal_structure['rho'][::-1], - internal_structure['temperature'][::-1], - internal_structure['luminosity'][::-1], - internal_structure['X_H'][::-1], - internal_structure['X_He'][::-1], - internal_structure['X_C'][::-1], - internal_structure['X_N'][::-1], - internal_structure['X_O'][::-1], - internal_structure['X_Ne'][::-1], - internal_structure['X_Mg'][::-1], - internal_structure['X_Si'][::-1], - internal_structure['X_Fe'][::-1] - ) - else: - if hasattr(internal_structure, "dmass"): - mass_profile = internal_structure.dmass[::-1] - else: - cumulative_mass_profile = [0.0] | units.MSun - cumulative_mass_profile.extend(internal_structure.mass) - mass_profile = (cumulative_mass_profile[1:] - cumulative_mass_profile[:-1])[::-1] - self.new_stellar_model( - mass_profile, - internal_structure.radius[::-1], - internal_structure.rho[::-1], - internal_structure.temperature[::-1], - internal_structure.luminosity[::-1], - internal_structure.X_H[::-1], - internal_structure.X_He[::-1], - internal_structure.X_C[::-1], - internal_structure.X_N[::-1], - internal_structure.X_O[::-1], - internal_structure.X_Ne[::-1], - internal_structure.X_Mg[::-1], - internal_structure.X_Si[::-1], - internal_structure.X_Fe[::-1] - ) - tmp_star = datamodel.Particle(key=key) - tmp_star.age_tag = current_age - return self.imported_stars.add_particle(tmp_star) - - - -Mesa = MESA +MESA = Mesa diff --git a/src/amuse/community/mesa_r2208/mesa_reqs/README b/src/amuse/community/mesa_r2208/mesa_reqs/README deleted file mode 100644 index 81da31be92..0000000000 --- a/src/amuse/community/mesa_r2208/mesa_reqs/README +++ /dev/null @@ -1 +0,0 @@ -This folder contains files that are required by MESA, tailored for use with AMUSE. diff --git a/src/amuse/community/mesa_r2208/patch_files.py b/src/amuse/community/mesa_r2208/patch_files.py deleted file mode 100755 index 307d3a9756..0000000000 --- a/src/amuse/community/mesa_r2208/patch_files.py +++ /dev/null @@ -1,110 +0,0 @@ -#!/usr/bin/env python - -import os -import sys -import subprocess -import re - -PATCHESDIR = "patches" -QUILT_PC = ".pc" - - -def execute_command_line(arguments, cwd=None): - with subprocess.Popen( - arguments, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=cwd - ) as process: - stdoutstring, stderrstring = process.communicate() - returncode = process.poll() - return stdoutstring, stderrstring, returncode - - -def which(executablename): - stdoutstring, stderrstring, returncode = execute_command_line( - ['which', executablename]) - if returncode != 0: - return None - return stdoutstring - - -def is_quilt_installed(): - path = which('quilt') - if path is None: - return False - - stdoutstring, stderrstring, returncode = execute_command_line( - ['quilt', '--version']) - if returncode != 0: - return False - - version_re = re.compile(r'(\d).(\d\d)') - match = version_re.match(stdoutstring) - if not match: - return False - - return True - - -def apply_patches_using_quilt(): - returncode = subprocess.call(['quilt', 'push', '-a']) - if returncode != 0: - raise Exception( - "error in applying the patches, please apply by hand using " - "quilt push" - ) - - -def undo_patches_using_quilt(): - returncode = subprocess.call(['quilt', 'pop', '-a']) - if returncode != 0: - raise Exception( - "error in undoing the patches, please undo by hand using " - "quilt pop -a" - ) - - -def run_patch(patchname, patchfile): - arguments = [ - 'patch', '-p1', f'--prefix={QUILT_PC}/{patchname}/', '-E', - '-i', patchfile - ] - print(arguments) - returncode = subprocess.call(arguments) - if returncode != 0: - raise Exception(f"could not apply patch {patchname}") - - -def apply_patches_using_patch(): - with open("patches/series", "r", encoding="utf-8") as file: - lines = file.readlines() - patches = [x.strip() for x in lines] - patches = [x for x in patches if len(x) > 0] - for patch in patches: - path = os.path.join(PATCHESDIR, patch) - run_patch(patch, path) - - -def main(undo_patches=False): - print("checking if quilt is installed ... ", end=' ') - if not is_quilt_installed(): - print("no") - - if undo_patches: - print("quilt is not installed, cannot undo the patches") - sys.exit(1) - else: - print("applying patches to source code") - apply_patches_using_patch() - else: - print("yes") - - if undo_patches: - print("quilt is install, will try to undo the patches") - undo_patches_using_quilt() - else: - print("applying patches to source code") - apply_patches_using_quilt() - print("all patches applied") - - -if __name__ == '__main__': - main() diff --git a/src/amuse/community/mesa_r2208/patches/series b/src/amuse/community/mesa_r2208/patches/series deleted file mode 100644 index 53aada6ed4..0000000000 --- a/src/amuse/community/mesa_r2208/patches/series +++ /dev/null @@ -1,8 +0,0 @@ -build -definitions -test -alert -filelen -kaptestinit -openmp -warningisnoterror diff --git a/src/amuse/community/mi6/Makefile b/src/amuse/community/mi6/Makefile deleted file mode 100644 index 7b58fe2f2b..0000000000 --- a/src/amuse/community/mi6/Makefile +++ /dev/null @@ -1,66 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPICXX ?= mpicxx -CXXFLAGS ?= -Wall -g -O2 - -SAPPORO_LIBS ?= -L$(AMUSE_DIR)/lib/sapporo_light -lsapporo -CUDA_LIBS ?= -L$(CUDA_TK)/lib -L$(CUDA_TK)/lib64 -lcudart - - - -CODELIB = src/libmi6.a -CODELIB_GPU = src/libmi6_gpu.a - -ifneq (,$(findstring g++, $(notdir $(CXX)))) -CXXFLAGS += -O3 -ffast-math -funroll-loops -fomit-frame-pointer -endif - - -ifeq ($(findstring gcc, $(notdir $(CXX))), gcc) -CXXFLAGS += -O3 -ffast-math -funroll-loops -fomit-frame-pointer -endif - -ifeq ($(findstring xlC, $(notdir $(CXX))), xlC) -CXXFLAGS += -qunroll -endif - -ifeq ($(findstring ifort, $(notdir $(CXX))), ifort) -CXXFLAGS += -O3 -ffast-math -funroll-loops -fomit-frame-pointer -endif - - -OBJS = interface.o - -all: mi6_worker - -clean: - rm -f *.so *.o *.pyc worker_code.cc worker_code.h - rm -f *~ mi6_worker mi6_worker_gpu - rm -f worker_code-sockets.cc mi6_worker_sockets mi6_worker_gpu_sockets - make -C src clean - -$(CODELIB): - make -C src emulib - -$(CODELIB_GPU): - make -C src gpulib - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py MI6Interface -o $@ - -worker_code.h: interface.py - $(CODE_GENERATOR) --type=h -i amuse.community.interface.stopping_conditions.StoppingConditionInterface interface.py MI6Interface -o $@ - -mi6_worker: worker_code.cc worker_code.h $(CODELIB) $(OBJS) - $(MPICXX) $(CXXFLAGS) $(SC_FLAGS) $(LDFLAGS) -I./src $< $(OBJS) $(CODELIB) -o $@ -L./src -lmi6 $(SC_CLIBS) $(LIBS) - -mi6_worker_gpu: worker_code.cc worker_code.h $(CODELIB_GPU) $(OBJS) - $(MPICXX) $(CXXFLAGS) $(SC_FLAGS) -I./src $< $(OBJS) $(CODELIB_GPU) -o $@ -L./src -lmi6_gpu $(SC_CLIBS) $(SAPPORO_LIBS) $(CUDA_LIBS) $(LIBS) - -.cc.o: $< - $(MPICXX) $(CXXFLAGS) $(SC_FLAGS) -I./src -c -o $@ $< diff --git a/src/amuse/community/mi6/interface.cc b/src/amuse/community/mi6/interface.cc deleted file mode 100644 index 309192067c..0000000000 --- a/src/amuse/community/mi6/interface.cc +++ /dev/null @@ -1,1180 +0,0 @@ -#include "Particle.h" -#include -#include -#include -//#include -//~#include -#include - -#ifdef SAPPORO_GRAPE -#include "sapporo.h" -#include "../lib/g6/g6lib.h" -#else -//#include"../lib/g6/g6_dummy.h" -#endif //GRAPE6 - -//#include "src/IO.h" - -//#include -//#include"drive.h" - -#include "interface.h" -#include "worker_code.h" -#include "Vector3.h" -#include "evolve.h" -#include "energy.h" - -// AMUSE STOPPING CONDITIONS SUPPORT -#include - -using namespace std; - - - -// Globals -double eps2_fs_fs = 0.0; -double eps2_fs_smbh = 0.0; -double eps2_bh_bh = 0.0; -double eta_s = 1.0e-4; -double eta_fs = 0.1; -double eta_smbh = 0.4; -double eta_imbh = 0.4; -double Tsys = 0.0; -double current_time = 0.0; -double Tmerge = 0.0; -//~double Tend = 0.0; -double Egr = 0.0; -double Emerge = 0.0; -static double begin_time = 0; - -int myrank; -int Nproc; -map particle_buffer; // for initialization only -//~map black_hole_buffer; // for initialization only -map local_index_map; -map reverse_index_map; -int particle_id_counter = 0; -bool particles_initialized = false; -bool debug = false; -bool energies_up_to_date = false; - -int Ntot = 0; -int Nip_tot = 0; // Ntot - Ndead (every node have same number) -int Nip = 0; // Nip (every node have same number) -int NFS = 0; -int NBH = 0; -int Njp_org = 0; -int Njp = 0; -int first_address = 0; -int Ndead = 0; // Nmerge + Naccrete (every node have same number) -int NSMBH = 0; -int NIMBH = 0; -Particle *prt = 0; -Particle *prt_old = 0; -//const double dEcrit = 1e-10; -double dEcrit = 5e-5; -//const double dEcrit = 1e30; -int Nstep = 0; -int Nstep_old = 0; -int Nloop = 0; -int Nloop_old = 0; -int state; -//double dt_max = 1.0/8.0; -double dt_max = 1.0/1024.0; -//double dt_max = 1.0/16384.0; -//~double dt_snp; -//~double Tsnp; -int first_loop; -int first_loop_old; -int itr; -int Nmerge = 0; -int Nmerge_loop = 0; -int Naccrete = 0; -int Naccrete_loop = 0; -double Tcal_grav0 = 0.0; -double Tcal_grav1 = 0.0; -double Tcal_comm0 = 0.0; -double Tcal_comm1 = 0.0; -double Tcal_fix0 = 0.0; -double Tcal_fix1 = 0.0; -double Tcal_tot0 = 0.0; -double Tcal_tot1 = 0.0; -double Tcal_all = 0.0; -int EX_FLAG = 0; -int *address = NULL; -int *address_old = NULL; -//~Particle **prt_merged = NULL; -//~Particle **prt_accreted = NULL; -Particle *(prt_merged[10000]); -Particle *(prt_accreted[10000]); -double E0, Ek0, Ep0; -double E1, Ek1, Ep1; -double E_current, Ek_current, Ep_current; -double E1_old, Ek1_old, Ep1_old; -double Tmerge_old; -int Nip_tot_old, Njp_old; -int Ndead_old, Nmerge_old, Naccrete_old; -double Tsys_old; -double Egr_old; -double Emerge_old; - - -// Interface functions - -int initialize_code() { - cout << setprecision(15); - cerr << setprecision(15); - - begin_time = 0; - -#ifndef NOMPI - MPI_Comm_rank (MPI_COMM_WORLD, &myrank); - MPI_Comm_size (MPI_COMM_WORLD, &Nproc); -#else - myrank = 0; - Nproc = 1; -#endif - // AMUSE STOPPING CONDITIONS SUPPORT - set_support_for_condition(COLLISION_DETECTION); - return 0; -} - -int new_particle(int *particle_identifier, double mass, - double x, double y, double z, double vx, double vy, double vz, double radius) { - dynamics_state new_p; - - // Particle is stored in the buffer until (re)commit_particles is called - particle_id_counter++; - *particle_identifier = particle_id_counter; - new_p.mass = mass; - new_p.radius = radius; - new_p.x = x; - new_p.y = y; - new_p.z = z; - new_p.vx = vx; - new_p.vy = vy; - new_p.vz = vz; - particle_buffer.insert(pair(*particle_identifier, new_p)); - return 0; -} - -//~int new_black_hole(int *particle_identifier, double mass, - //~double x, double y, double z, double vx, double vy, double vz, double radius) { - //~dynamics_state new_p; - //~ - //~// Particle is stored in the buffer until (re)commit_particles is called - //~particle_id_counter++; - //~*particle_identifier = particle_id_counter; - //~new_p.mass = mass; - //~new_p.radius = radius; - //~new_p.x = x; - //~new_p.y = y; - //~new_p.z = z; - //~new_p.vx = vx; - //~new_p.vy = vy; - //~new_p.vz = vz; - //~black_hole_buffer.insert(pair(*particle_identifier, new_p)); - //~return 0; -//~} - -int delete_particle(int particle_identifier) { - map::iterator particle_iter = local_index_map.find(particle_identifier); - if (particle_iter != local_index_map.end()){ - int index = particle_iter->second; - local_index_map.erase(particle_iter); - particle_iter = reverse_index_map.find(index); - reverse_index_map.erase(particle_iter); - return 0; - } - - map::iterator buffer_iter = particle_buffer.find(particle_identifier); - if (buffer_iter != particle_buffer.end()){ - particle_buffer.erase(buffer_iter); - return 0; - } - return -3; // Not found! -} - - - -int commit_particles() { - NFS = particle_buffer.size(); - NBH = 0;//black_hole_buffer.size(); - Ntot = NFS + NBH; - Nip = Ntot; - prt = new Particle[Ntot]; - prt_old = new Particle[Ntot]; - int i = 0; - //~for (map::iterator iter = black_hole_buffer.begin(); - //~iter != black_hole_buffer.end(); iter++, i++){ - //~local_index_map.insert(pair((*iter).first, i)); - //~reverse_index_map.insert(pair(i, (*iter).first)); - //~prt[i].mass = (*iter).second.mass; - //~prt[i].radius = (*iter).second.radius; - //~prt[i].pos = Vector3((*iter).second.x, (*iter).second.y, (*iter).second.z); - //~prt[i].vel = Vector3((*iter).second.vx, (*iter).second.vy, (*iter).second.vz); - //~prt[i].index = i; - //~prt[i].address = i; - //~prt[i].type = SMBH; - //~} - //~black_hole_buffer.clear(); - //~i = NBH; // Just to be sure... - local_index_map.clear(); - reverse_index_map.clear(); - for (map::iterator iter = particle_buffer.begin(); - iter != particle_buffer.end(); iter++, i++){ - local_index_map.insert(pair((*iter).first, i)); // identifier -> index - reverse_index_map.insert(pair(i, (*iter).first)); // index -> identifier - prt[i].mass = (*iter).second.mass; - prt[i].radius = (*iter).second.radius; - prt[i].pos = Vector3((*iter).second.x, (*iter).second.y, (*iter).second.z); - prt[i].vel = Vector3((*iter).second.vx, (*iter).second.vy, (*iter).second.vz); - prt[i].time = current_time; - prt[i].index = i; - prt[i].address = i; - } - particle_buffer.clear(); - particle_buffer.clear(); - - Nip_tot = Ntot - Ndead; - divide_proc(Ntot, Njp_org, first_address); - - cout << "Ntot: " << Ntot << endl << flush; - address = new int[Ntot]; - address_old = new int[Ntot]; - for(i=0; i::iterator iter = local_index_map.find(particle_identifier); - if (iter != local_index_map.end()){ - *index = (*iter).second; - return true; - } - } - return false; -} -void get_identifier_of_particle_with_index(int index, int *particle_identifier){ - map::iterator iter = reverse_index_map.find(index); - if (iter == reverse_index_map.end()){ - cerr << "Error: Could not determine the identifier for particle at index: " << index << endl; - *particle_identifier = -1; - } else { - *particle_identifier = (*iter).second; - } -} - -int get_index_of_first_particle(int *particle_identifier) { - //*index_of_the_particle = prt.front(); - return -2; // Not implemented -} -int get_index_of_next_particle(int particle_identifier, int *next_particle_identifier) { - return -2; // Not implemented -} - -int get_indices_of_colliding_particles(int *index_of_particle1, int *index_of_particle2) { - return -2; // Not implemented -} - - - -// simulation property getters: -int get_total_mass(double *total_mass) { - // calculate only on the root mpi process, not on others - if (myrank == 0) { - *total_mass = 0.0; - for (int i=0; i 0: - incode_storage._add_indices(indices_to_add) - - - def define_particle_sets(self, handler): - GravitationalDynamics.define_particle_sets(self, handler) - self.stopping_conditions.define_particle_set(handler) - +Mikkola = Mikkola diff --git a/src/amuse/community/mikkola/src/Makefile b/src/amuse/community/mikkola/src/Makefile deleted file mode 100644 index 50b075136c..0000000000 --- a/src/amuse/community/mikkola/src/Makefile +++ /dev/null @@ -1,33 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -AMUSE_DIR?=../../../../.. --include ${AMUSE_DIR}/config.mk - -MPIFC ?= mpif90 -FC = $(MPIFC) - -FFLAGS += -FFLAGS += $(F77FLAGS) -LDFLAGS += -lm - -CODELIB = libMikkola.a - -CODEOBJS = Mikkola.o - -AR = ar ruv -RANLIB = ranlib -RM = rm - -all: $(CODELIB) - -clean: - $(RM) -f *.o *.a - -$(CODELIB): $(CODEOBJS) - $(RM) -f $@ - $(AR) $@ $(CODEOBJS) - $(RANLIB) $@ - -%.o: %.f90 - $(FC) $(FFLAGS) -c -o $@ $< - diff --git a/src/amuse/community/mmams/Makefile b/src/amuse/community/mmams/Makefile deleted file mode 100644 index e846c3f8ce..0000000000 --- a/src/amuse/community/mmams/Makefile +++ /dev/null @@ -1,68 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPICXX ?= mpicxx - - -BUILDDIR = build -SRCMAKEDIR = src/mmas2 -SRCDIR = src/mmas2/src -MMAS_DIR = src/mmas2/src/mmas -EOS_DIR = src/mmas2/src/eos -USM_DIR = src/mmas2/src/usm -STD_SRCMMAS_DIRDIR = src/mmas2/src/std -GSL_LIBS ?= -lgsl -lgslcblas -lm - -#INCLUDES = -I/opt/local/include -Isrc/mmas2/src -INCLUDES = $(GSL_FLAGS) -Isrc/mmas2/src -LIBS += -L$(BUILDDIR)/src/mmas -l_mmas2 \ - -L$(BUILDDIR)/src/eos -leos \ - -L$(BUILDDIR)/src/usm -lusm \ - -L$(BUILDDIR)/src/std -lstd \ - $(GSL_LIBS) - -OBJECTS = interface.o -SOURCES = interface.cc - -CMAKE_GENERATOR ?= Unix Makefiles - -all: $(BUILDDIR)/Makefile mmas2 mmams_worker - -$(BUILDDIR)/Makefile: - @-mkdir build - cd $(BUILDDIR) && cmake ../src/mmas2 -G "$(CMAKE_GENERATOR)" -DGSL_FLAGS="$(GSL_FLAGS)" -DGSL_LIBS="$(GSL_LIBS)" - -mmas2: $(BUILDDIR)/Makefile - make -C $(BUILDDIR) - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c $^ MakeMeAMassiveStarInterface -o $@ - -worker_code.h: interface.py - $(CODE_GENERATOR) --type=h $^ MakeMeAMassiveStarInterface -o $@ - -mmams_worker: worker_code.cc worker_code.h $(OBJECTS) - $(MPICXX) $(CXXFLAGS) $(LDFLAGS) $< $(OBJECTS) -o $@ $(LIBS) - -interface.o: interface.cc - $(MPICXX) $(CXXFLAGS) $(INCLUDES) -c -o $@ $< $(LIBS) - -clean: - @-make -C $(SRCMAKEDIR) clean - cd $(SRCMAKEDIR) && rm -rf CMakeCache.txt Makefile *.cmake *~ CMakeFiles - cd $(SRCDIR) && rm -rf CMakeCache.txt Makefile *.cmake *~ CMakeFiles - cd $(MMAS_DIR) && rm -rf CMakeCache.txt Makefile *.cmake *~ CMakeFiles ccache - cd $(EOS_DIR) && rm -rf CMakeCache.txt Makefile *.cmake *~ CMakeFiles ccache - cd $(USM_DIR) && rm -rf CMakeCache.txt Makefile *.cmake *~ CMakeFiles ccache - cd $(STD_DIR) && rm -rf CMakeCache.txt Makefile *.cmake *~ CMakeFiles ccache - rm -f *.pyc *.o - rm -f worker_code.cc worker_code.h mmams_worker - rm -f worker_code-sockets.cc mmams_worker_sockets - rm -rf build - -distclean: clean - diff --git a/src/amuse/community/mmams/interface.cc b/src/amuse/community/mmams/interface.cc deleted file mode 100644 index 694ab20bff..0000000000 --- a/src/amuse/community/mmams/interface.cc +++ /dev/null @@ -1,288 +0,0 @@ -#include "src/mmas2/src/mmas/mmas.h" -#include "src/mmas2/src/eos/eos.h" -#include "src/mmas2/src/mmas/mass_loss.h" -#include "worker_code.h" -#include -#include - -using namespace std; - -// Default parameters: -int dump_mixed = 1; -int target_n_shells_mixing = 200; -int target_n_shells = 10000; -int flag_do_shock_heating = 1; -int mass_loss_do_const_flag = false; - - -int number_of_particles = 0; -int particle_id_counter = 0; -map results; -map usm_models; -long long hashtable_up_to_date_for_particle_with_index = -1; - -bool error_occurred = false; -gsl_error_handler_t * previous_error_handler; -void amuse_error_handler (const char * reason, const char * file, int line, int gsl_errno) { - gsl_stream_printf ("ERROR", file, line, reason); - fprintf (stderr, "AMUSE GSL error handler invoked.\n"); - error_occurred = true; -} - - - -int initialize_code(){ - previous_error_handler = gsl_set_error_handler(&amuse_error_handler); - return 0; -} - -int cleanup_code(){ - gsl_set_error_handler(previous_error_handler); - return 0; -} - -int commit_parameters(){ - do_const=mass_loss_do_const_flag; - return 0; -} - -int recommit_parameters(){ - return commit_parameters(); -} - -int new_particle(int *index_of_the_particle, double mass){ - usm *new_model = new usm; - new_model->star_mass = mass; - usm_models.insert(usm_models.end(), std::pair(particle_id_counter, new_model)); - *index_of_the_particle = particle_id_counter; - number_of_particles++; - particle_id_counter++; - return 0; -} - -int delete_particle(int index_of_the_particle){ - map::iterator iter1 = results.find(index_of_the_particle); - map::iterator iter2 = usm_models.find(index_of_the_particle); - - if (iter2 == usm_models.end()) - return -3; - if (iter1 != results.end()){ - delete (*iter1).second; - results.erase(iter1); - } else { - delete (*iter2).second; - } - usm_models.erase(iter2); - number_of_particles--; - return 0; -} - -int get_number_of_particles(int *number_of_particles_out){ - *number_of_particles_out = number_of_particles; - return 0; -} - -inline void is_file(char *fn) { - ifstream fin(fn, ifstream::in); - fin.close(); - if (fin.fail() != 0) { - cerr << "File \"" << fn << "\" does not seem to exist ! " << endl; - exit(-1); - }; -} - -int read_usm(int *index_of_the_particle, char *usm_file){ - FILE *fmodel = NULL; - usm *new_model = new usm; - - is_file(usm_file); - fmodel = fopen(usm_file, "r"); - new_model->read(fmodel, 1); - fclose(fmodel); - usm_models.insert(usm_models.end(), std::pair(particle_id_counter, new_model)); - *index_of_the_particle = particle_id_counter; - number_of_particles++; - particle_id_counter++; - return 0; -} - -int add_shell(int index_of_the_particle, double d_mass, double cumul_mass, - double radius, double density, double pressure, - double temperature, double luminosity, double molecular_weight, double H1, double He4, - double C12, double N14, double O16, double Ne20, double Mg24, - double Si28, double Fe56){ - mass_shell shell; - map::iterator it = usm_models.find(index_of_the_particle); - - if (it == usm_models.end()) - return -3; - - if (hashtable_up_to_date_for_particle_with_index == index_of_the_particle) - hashtable_up_to_date_for_particle_with_index = -1; - - shell.dm = d_mass; - shell.mass = cumul_mass; - shell.radius = radius; - shell.density = density; - shell.pressure = pressure; - shell.temperature = temperature; - shell.luminosity = luminosity; - shell.mean_mu = molecular_weight; - shell.entropy = compute_entropy(density, temperature, molecular_weight); - shell.composition.H1 = H1; - shell.composition.He4 = He4; - shell.composition.C12 = C12; - shell.composition.N14 = N14; - shell.composition.O16 = O16; - shell.composition.Ne20 = Ne20; - shell.composition.Mg24 = Mg24; - shell.composition.Si28 = Si28; - shell.composition.Fe56 = Fe56; - - if (it->second->get_num_shells() && shell.mass <= it->second->get_last_shell().mass) - cerr << "Warning: shell ignored, because cumulative mass does not increase" << endl; - else - it->second->add_shell(shell); - return 0; -} - -int get_stellar_model_element(int index_of_the_shell, int index_of_the_particle, - double *d_mass, double *cumul_mass, double *radius, double *density, - double *pressure, double *entropy, double *temperature, double *luminosity, - double *molecular_weight, double *H1, double *He4, double *C12, double *N14, - double *O16, double *Ne20, double *Mg24, double *Si28, double *Fe56){ - mass_shell shell; - map::iterator it = usm_models.find(index_of_the_particle); - if (it == usm_models.end()) - return -3; - - if (index_of_the_shell >= it->second->get_num_shells()) - return -2; - - if (hashtable_up_to_date_for_particle_with_index != index_of_the_particle){ - it->second->build_hashtable(); - hashtable_up_to_date_for_particle_with_index = index_of_the_particle; - } - - shell = it->second->get_shell(index_of_the_shell); - *d_mass = shell.dm; - *cumul_mass = shell.mass; - *radius = shell.radius; - *density = shell.density; - *pressure = shell.pressure; - *entropy = shell.entropy; - *temperature = shell.temperature; - *luminosity = shell.luminosity; - *molecular_weight = shell.mean_mu; - *H1 = shell.composition.H1; - *He4 = shell.composition.He4; - *C12 = shell.composition.C12; - *N14 = shell.composition.N14; - *O16 = shell.composition.O16; - *Ne20 = shell.composition.Ne20; - *Mg24 = shell.composition.Mg24; - *Si28 = shell.composition.Si28; - *Fe56 = shell.composition.Fe56; - return 0; -} - -int get_number_of_zones(int index_of_the_particle, int *number_of_shells){ - map::iterator it = usm_models.find(index_of_the_particle); - if (it == usm_models.end()) - return -3; - *number_of_shells = it->second->get_num_shells(); - return 0; -} - -int get_mass(int index_of_the_particle, double *mass){ - map::iterator it = usm_models.find(index_of_the_particle); - if (it == usm_models.end()) - return -3; - *mass = it->second->star_mass; - return 0; -} - -int merge_two_stars(int *id_product, int id_primary, int id_secondary) { - float r_p = 0.0; - float v_inf = 0.0; - map::iterator it_primary = usm_models.find(id_primary); - map::iterator it_secondary = usm_models.find(id_secondary); - - if (it_primary == usm_models.end() || it_secondary == usm_models.end()) - return -3; - - it_primary->second->build_hashtable(); - it_secondary->second->build_hashtable(); - - mmas *mmams = new mmas(*it_primary->second, *it_secondary->second, r_p, v_inf); - results.insert(results.end(), std::pair(particle_id_counter, mmams)); - - mmams->merge_stars_consistently(target_n_shells, flag_do_shock_heating); - if (!dump_mixed) { - usm_models.insert(usm_models.end(), std::pair(particle_id_counter, &(mmams->get_product()))); - } else { - mmams->mixing_product(target_n_shells_mixing); - mmams->get_mixed_product().star_mass = mmams->get_product().star_mass; - usm_models.insert(usm_models.end(), std::pair(particle_id_counter, &(mmams->get_mixed_product()))); - } - *id_product = particle_id_counter; - number_of_particles++; - particle_id_counter++; - return 0; -} - -int set_dump_mixed_flag(int dump_mixed_flag){ - dump_mixed = dump_mixed_flag; - return 0; -} -int get_dump_mixed_flag(int *dump_mixed_flag){ - *dump_mixed_flag = dump_mixed; - return 0; -} - -int set_mass_loss_do_const_flag(int flag){ - mass_loss_do_const_flag = flag; - return 0; -} -int get_mass_loss_do_const_flag(int *flag){ - *flag = mass_loss_do_const_flag; - return 0; -} - -int set_const_mass_loss(double x){ - const_mass_loss = x; - return 0; -} -int get_const_mass_loss(double *x){ - *x = const_mass_loss; - return 0; -} - - - -int set_target_n_shells_mixing(int target_n_shells_mixing_in){ - target_n_shells_mixing = target_n_shells_mixing_in; - return 0; -} -int get_target_n_shells_mixing(int *target_n_shells_mixing_out){ - *target_n_shells_mixing_out = target_n_shells_mixing; - return 0; -} - -int set_target_n_shells(int target_n_shells_in){ - target_n_shells = target_n_shells_in; - return 0; -} -int get_target_n_shells(int *target_n_shells_out){ - *target_n_shells_out = target_n_shells; - return 0; -} - -int set_do_shock_heating_flag(int do_shock_heating_flag_in){ - flag_do_shock_heating = do_shock_heating_flag_in; - return 0; -} -int get_do_shock_heating_flag(int *do_shock_heating_flag_out){ - *do_shock_heating_flag_out = flag_do_shock_heating; - return 0; -} diff --git a/src/amuse/community/mmams/interface.py b/src/amuse/community/mmams/interface.py index 46d9719c09..268ac564ad 100644 --- a/src/amuse/community/mmams/interface.py +++ b/src/amuse/community/mmams/interface.py @@ -1,551 +1,7 @@ -import numpy -from amuse.community import * -from amuse.community.interface.common import CommonCodeInterface, CommonCode -from amuse.support.options import option -from amuse.units import units -from amuse.datamodel import Particle +from amuse.support.import_helper import load_code -import os.path - -class MMAMSInterface(CodeInterface, CommonCodeInterface, LiteratureReferencesMixIn, - CodeWithDataDirectories): - """ - MakeMeAMassiveStar is a computationally inexpensive method in which the - merger process is approximated, including shock heating, hydrodynamic - mixing and mass loss, with a simple algorithm based on conservation laws and - a basic qualitative understanding of the hydrodynamics of stellar mergers. - The algorithm relies on Archimedes' principle to dictate the distribution of - the fluid in the stable equilibrium situation. Without the effects of - microscopic mixing, the temperature and chemical composition profiles in a - collision product can become double-valued functions of enclosed mass. Such - an unphysical situation is mended by simulating microscopic mixing as a - post-collision effect. - - Relevant references: - .. [#] ADS:2008MNRAS.383L...5G (Gaburov E., Lombardi J. C. & Portegies Zwart S., 2008, MNRAS, 383, L5) - """ - include_headers = ['worker_code.h'] - - def __init__(self, **options): - CodeInterface.__init__(self, name_of_the_worker = "mmams_worker", **options) - LiteratureReferencesMixIn.__init__(self) - CodeWithDataDirectories.__init__(self) - - @legacy_function - def new_particle(): - """ - Define a new particle in the stellar collision code. The particle is - initialized as an empty model (with zero shells). The model has to be - constructed shell by shell using `add_shell'. An index is returned that - can be used to refer to this particle. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT) - function.addParameter('mass', dtype='float64', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - new empty particle was created - -1 - ERROR - particle could not be created""" - return function - - @legacy_function - def delete_particle(): - """ - Remove a particle from the stellar collision code. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def add_shell(): - """ - Add a new shell to an existing particle in the stellar collision code. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('d_mass', dtype='float64', direction=function.IN, description = "The mass of the current shell of this particle") - function.addParameter('cumul_mass', dtype='float64', direction=function.IN, description = "The cumulative mass from the center to the current shell of this particle") - function.addParameter('radius', dtype='float64', direction=function.IN, description = "The radius of this shell") - function.addParameter('density', dtype='float64', direction=function.IN, description = "The density of this shell") - function.addParameter('pressure', dtype='float64', direction=function.IN, description = "The pressure of this shell") - function.addParameter('temperature', dtype='float64', direction=function.IN, description = "The temperature of this shell") - function.addParameter('luminosity', dtype='float64', direction=function.IN, description = "The luminosity of this shell") - function.addParameter('molecular_weight', dtype='float64', direction=function.IN, description = "The molecular_weight of this shell") - function.addParameter('H1', dtype='float64', direction=function.IN, description = "The H1 fraction of this shell") - function.addParameter('He4', dtype='float64', direction=function.IN, description = "The He4 fraction of this shell") - function.addParameter('C12', dtype='float64', direction=function.IN, description = "The C12 fraction of this shell") - function.addParameter('N14', dtype='float64', direction=function.IN, description = "The N14 fraction of this shell") - function.addParameter('O16', dtype='float64', direction=function.IN, description = "The O16 fraction of this shell") - function.addParameter('Ne20', dtype='float64', direction=function.IN, description = "The Ne20 fraction of this shell") - function.addParameter('Mg24', dtype='float64', direction=function.IN, description = "The Mg24 fraction of this shell") - function.addParameter('Si28', dtype='float64', direction=function.IN, description = "The Si28 fraction of this shell") - function.addParameter('Fe56', dtype='float64', direction=function.IN, description = "The Fe56 fraction of this shell") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - new shell was added to the specified particle - -1 - ERROR - specified particle was not found""" - return function - - @legacy_function - def get_number_of_particles(): - function = LegacyFunctionSpecification() - function.addParameter('number_of_particles', dtype='int32', direction=function.OUT, description = "The number of currently defined particles") - function.result_type = 'int32' - return function - - @legacy_function - def get_number_of_zones(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('number_of_zones', dtype='int32', direction=function.OUT, description = "The number of currently defined shells of this particle") - function.result_type = 'int32' - return function - - @legacy_function - def get_mass(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('mass', dtype='float64', unit=units.MSun, direction=function.OUT, description = "The total mass of this particle") - function.result_type = 'int32' - return function - - @legacy_function - def get_stellar_model_element(): - """ - Return properties of the stellar model at a specific zone. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_zone', dtype='int32', direction=function.IN) - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('d_mass', dtype='float64', direction=function.OUT, description = "The mass of the current shell of this particle") - function.addParameter('cumul_mass', dtype='float64', direction=function.OUT, description = "The cumulative mass from the center to the current shell of this particle") - function.addParameter('radius', dtype='float64', direction=function.OUT, description = "The radius of this shell") - function.addParameter('density', dtype='float64', direction=function.OUT, description = "The density of this shell") - function.addParameter('pressure', dtype='float64', direction=function.OUT, description = "The pressure of this shell") - function.addParameter('entropy', dtype='float64', direction=function.OUT, description = "The entropy of this shell") - function.addParameter('temperature', dtype='float64', direction=function.OUT, description = "The temperature of this shell") - function.addParameter('luminosity', dtype='float64', direction=function.OUT, description = "The luminosity of this shell") - function.addParameter('molecular_weight', dtype='float64', direction=function.OUT, description = "The molecular_weight of this shell") - function.addParameter('H1', dtype='float64', direction=function.OUT, description = "The H1 fraction of this shell") - function.addParameter('He4', dtype='float64', direction=function.OUT, description = "The He4 fraction of this shell") - function.addParameter('C12', dtype='float64', direction=function.OUT, description = "The C12 fraction of this shell") - function.addParameter('N14', dtype='float64', direction=function.OUT, description = "The N14 fraction of this shell") - function.addParameter('O16', dtype='float64', direction=function.OUT, description = "The O16 fraction of this shell") - function.addParameter('Ne20', dtype='float64', direction=function.OUT, description = "The Ne20 fraction of this shell") - function.addParameter('Mg24', dtype='float64', direction=function.OUT, description = "The Mg24 fraction of this shell") - function.addParameter('Si28', dtype='float64', direction=function.OUT, description = "The Si28 fraction of this shell") - function.addParameter('Fe56', dtype='float64', direction=function.OUT, description = "The Fe56 fraction of this shell") - function.result_type = 'int32' - return function - - @legacy_function - def read_usm(): - """ - Define a new particle in the stellar collision code. Read the stellar model from a usm file. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT) - function.addParameter('usm_file', dtype='string', direction=function.IN, - description = "The path to the usm file.") - function.result_type = 'int32' - return function - - @legacy_function - def merge_two_stars(): - """ - Merge two previously defined particles. Returns an index to the new stellar model. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_product', dtype='int32', direction=function.OUT) - function.addParameter('index_of_the_primary', dtype='int32', direction=function.IN) - function.addParameter('index_of_the_secondary', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def set_dump_mixed_flag(): - """Set the dump_mixed flag: specifies whether the returned products must be mixed first.""" - function = LegacyFunctionSpecification() - function.addParameter('dump_mixed_flag', dtype='int32', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_dump_mixed_flag(): - """Get the dump_mixed flag: specifies whether the returned products must be mixed first.""" - function = LegacyFunctionSpecification() - function.addParameter('dump_mixed_flag', dtype='int32', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_mass_loss_do_const_flag(): - """Set the dump_mixed flag: specifies whether the returned products must be mixed first.""" - function = LegacyFunctionSpecification() - function.addParameter('mass_loss_do_const_flag', dtype='int32', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_mass_loss_do_const_flag(): - """Get the dump_mixed flag: specifies whether the returned products must be mixed first.""" - function = LegacyFunctionSpecification() - function.addParameter('mass_loss_do_const_flag', dtype='int32', direction=function.OUT) - function.result_type = 'i' - return function - - - @legacy_function - def get_const_mass_loss(): - """Get the const_mass_loss""" - function = LegacyFunctionSpecification() - function.addParameter('const_mass_loss', dtype='float64', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_const_mass_loss(): - """Set the const_mass_loss""" - function = LegacyFunctionSpecification() - function.addParameter('const_mass_loss', dtype='float64', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def set_target_n_shells_mixing(): - """Set the target number of shells for mixed models.""" - function = LegacyFunctionSpecification() - function.addParameter('target_n_shells_mixing', dtype='int32', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_target_n_shells_mixing(): - """Get the target number of shells for mixed models.""" - function = LegacyFunctionSpecification() - function.addParameter('target_n_shells_mixing', dtype='int32', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_target_n_shells(): - """Set the target number of shells for unmixed models.""" - function = LegacyFunctionSpecification() - function.addParameter('target_n_shells', dtype='int32', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_target_n_shells(): - """Get the target number of shells for unmixed models.""" - function = LegacyFunctionSpecification() - function.addParameter('target_n_shells', dtype='int32', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_do_shock_heating_flag(): - """Set the flag that specifies whether to solve for shock-heating.""" - function = LegacyFunctionSpecification() - function.addParameter('do_shock_heating_flag', dtype='int32', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_do_shock_heating_flag(): - """Get the flag that specifies whether to solve for shock-heating.""" - function = LegacyFunctionSpecification() - function.addParameter('do_shock_heating_flag', dtype='int32', direction=function.OUT) - function.result_type = 'i' - return function - - -class MMAMS(CommonCode): - - stellar_evolution_code_required = True - gravity_code_required = False - - def __init__(self, **options): - InCodeComponentImplementation.__init__(self, MakeMeAMassiveStarInterface(**options), **options) - self.create_new_key = True - - def get_create_new_key(self): - return self.create_new_key - - def set_create_new_key(self, value): - self.create_new_key = value - - def define_properties(self, handler): - handler.add_property("get_number_of_particles") - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_target_n_shells_mixing", - "set_target_n_shells_mixing", - "target_n_shells_mixing", - "target number of shells for mixed models", - default_value = 200 - ) - - handler.add_method_parameter( - "get_target_n_shells", - "set_target_n_shells", - "target_n_shells", - "target number of shells for unmixed models", - default_value = 10000 - ) - - handler.add_boolean_parameter( - "get_dump_mixed_flag", - "set_dump_mixed_flag", - "dump_mixed_flag", - "dump_mixed flag: specifies whether the returned products must be mixed first", - True - ) - - handler.add_boolean_parameter( - "get_mass_loss_do_const_flag", - "set_mass_loss_do_const_flag", - "mass_loss_do_const", - "mass_loss_do_const flag: whether to use const mass loss fraction (True) or the original Gaburov 2008 fromulation", - False - ) - - handler.add_method_parameter( - "get_const_mass_loss", - "set_const_mass_loss", - "constant_mass_loss", - "if do_const=True, specify what the constant mass loss fraction used is", - 0.1 - ) - - - handler.add_boolean_parameter( - "get_do_shock_heating_flag", - "set_do_shock_heating_flag", - "do_shock_heating_flag", - "do_shock_heating flag: specifies whether to solve for shock-heating", - True - ) - - handler.add_method_parameter( - "get_create_new_key", - "set_create_new_key", - "create_new_key", - "Flag to specify whether the merge product gets a new key, or the key of the most massive collider.", - True - ) - - def define_methods(self, handler): - CommonCode.define_methods(self, handler) - handler.add_method( - "new_particle", - (units.MSun,), - (handler.INDEX, handler.ERROR_CODE,) - ) - handler.add_method( - "delete_particle", - (handler.INDEX,), - (handler.ERROR_CODE,) - ) - handler.add_method( - "read_usm", - (handler.NO_UNIT,), - (handler.INDEX, handler.ERROR_CODE,) - ) - handler.add_method( - "add_shell", - (handler.INDEX, units.MSun, units.MSun, units.RSun, units.g / units.cm**3, units.barye, - units.K, units.LSun, units.amu, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, - handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_stellar_model_element", - (handler.INDEX, handler.INDEX,), - (units.MSun, units.MSun, units.RSun, units.g / units.cm**3, units.barye, - handler.NO_UNIT, units.K, units.LSun, units.amu, - handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, - handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.ERROR_CODE,) - ) - handler.add_method( - "get_number_of_zones", - (handler.INDEX, ), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - handler.add_method( - "get_number_of_particles", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - handler.add_method( - "merge_two_stars", - (handler.INDEX, handler.INDEX,), - (handler.INDEX, handler.ERROR_CODE,) - ) - - handler.add_method("get_target_n_shells_mixing", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_target_n_shells_mixing", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) - - handler.add_method("get_target_n_shells", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - handler.add_method("set_target_n_shells", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) - - handler.add_method("get_number_of_particles", (), (handler.NO_UNIT, handler.ERROR_CODE,)) - - def define_errorcodes(self, handler): - handler.add_errorcode(-1, 'Unspecified, other error.') - handler.add_errorcode(-2, 'Specified zone is undefined for this particle.') - handler.add_errorcode(-3, 'A particle with the given index was not found.') - - def define_particle_sets(self, handler): - handler.define_super_set('particles', ['native_stars', 'imported_stars', 'merge_products'], - index_to_default_set = 0) - - handler.define_set('native_stars', 'index_of_the_particle') - handler.set_new('native_stars', 'new_particle') - - handler.define_set('imported_stars', 'index_of_the_particle') - handler.set_new('imported_stars', 'read_usm') - - handler.define_set('merge_products', 'index_of_the_particle') - handler.set_new('merge_products', 'merge_stars') - - for particle_set_name in ['native_stars', 'imported_stars', 'merge_products']: - handler.set_delete(particle_set_name, 'delete_particle') - handler.add_getter(particle_set_name, 'get_number_of_zones') - handler.add_getter(particle_set_name, 'get_mass') - handler.add_method(particle_set_name, 'add_shell') - handler.add_method(particle_set_name, 'get_stellar_model', 'get_internal_structure') - - - def get_stellar_model(self, index_of_the_particle): - if hasattr(index_of_the_particle, '__iter__'): - return [self._create_new_grid(self._specify_stellar_model, index_of_the_particle = x) for x in index_of_the_particle] - else: - return self._create_new_grid(self._specify_stellar_model, index_of_the_particle = index_of_the_particle) - - def get_range_in_zones(self, index_of_the_particle): - """ - Returns the inclusive range of defined zones/mesh-cells of the star. - """ - return (0, self.get_number_of_zones(index_of_the_particle)-1) - - def _specify_stellar_model(self, definition, index_of_the_particle = 0): - definition.set_grid_range('get_range_in_zones') - definition.add_getter('get_stellar_model_element', names=('d_mass', 'mass', 'radius', - 'rho', 'pressure', 'entropy', 'temperature', 'luminosity', 'molecular_weight', - 'X_H', 'X_He', 'X_C', 'X_N', 'X_O', 'X_Ne', 'X_Mg', 'X_Si', 'X_Fe')) - definition.define_extra_keywords({'index_of_the_particle':index_of_the_particle}) - - def _key_to_index_in_code(self, key): - if self.native_stars.has_key_in_store(key): - return self.native_stars._subset([key]).index_in_code[0] - elif self.imported_stars.has_key_in_store(key): - return self.imported_stars._subset([key]).index_in_code[0] - else: - return self.merge_products._subset([key]).index_in_code[0] - - def merge_stars(self, primary, secondary): - indices_of_primaries = [self._key_to_index_in_code(particle.key) for particle in primary] - indices_of_secondaries = [self._key_to_index_in_code(particle.key) for particle in secondary] - result = self.merge_two_stars( - indices_of_primaries, - indices_of_secondaries - ) - return result - - def match_composition_to_mass_profile(self, stellar_model, mass_profile): - new_composition = numpy.array([[0.0]*len(mass_profile)]*8) - current_index = 0 - previous_mass = 0.0 | units.MSun - for i, mass_i in enumerate(mass_profile): - previous_index = current_index - mass_fractions = [] | units.MSun - while stellar_model.mass[current_index] < mass_i: - mass_fractions.append(stellar_model.mass[current_index]-previous_mass) - previous_mass = stellar_model.mass[current_index] - current_index += 1 - if stellar_model.mass[current_index] > mass_i: - mass_fractions.append(mass_i-previous_mass) - previous_mass = mass_i - weights = mass_fractions / mass_fractions.sum() - next_index = previous_index+len(weights) - new_composition[0, i] = (stellar_model.X_H[previous_index:next_index]*weights).sum() - new_composition[2, i] = (stellar_model.X_He[previous_index:next_index]*weights).sum() - new_composition[3, i] = (stellar_model.X_C[previous_index:next_index]*weights).sum() - new_composition[4, i] = (stellar_model.X_N[previous_index:next_index]*weights).sum() - new_composition[5, i] = (stellar_model.X_O[previous_index:next_index]*weights).sum() - new_composition[6, i] = (stellar_model.X_Ne[previous_index:next_index]*weights).sum() - new_composition[7, i] = ((stellar_model.X_Mg[previous_index:next_index] + - stellar_model.X_Si[previous_index:next_index] + - stellar_model.X_Fe[previous_index:next_index])*weights).sum() - return new_composition - - def key_for_merge_product(self, primary, secondary): - if self.create_new_key: - return None - else: - return primary.key if primary.mass > secondary.mass else secondary.key - - def handle_collision(self, primary, secondary, stellar_evolution_code=None, gravity_code=None): - primary = self.add_particle_with_internal_structure(primary, stellar_evolution_code=stellar_evolution_code) - secondary = self.add_particle_with_internal_structure(secondary, stellar_evolution_code=stellar_evolution_code) - merge_product = Particle( - key = self.key_for_merge_product(primary, secondary), - primary = primary, - secondary = secondary - ) - return self.merge_products.add_particles(merge_product.as_set()) - - def add_particle_with_internal_structure(self, particle, stellar_evolution_code=None): - new = self.native_stars.add_particle(particle) - if not stellar_evolution_code is None: - particle = particle.as_set().get_intersecting_subset_in(stellar_evolution_code.particles)[0] - number_of_zones = particle.get_number_of_zones() - density_profile = particle.get_density_profile(number_of_zones = number_of_zones) - radius_profile = particle.get_radius_profile(number_of_zones = number_of_zones) - if hasattr(particle, "get_mass_profile"): - mass_profile = particle.get_mass_profile(number_of_zones = number_of_zones)* particle.mass - else: - print("mass profile from density and radius") - radii_cubed = radius_profile**3 - radii_cubed.prepend(0|units.m**3) - mass_profile = (4.0/3.0 * numpy.pi) * density_profile * (radii_cubed[1:] - radii_cubed[:-1]) - if hasattr(particle, "get_cumulative_mass_profile"): - cumul_mass_profile = particle.get_cumulative_mass_profile(number_of_zones = number_of_zones) * particle.mass - else: - print("cumulative mass profile from mass profile") - cumul_mass_profile = mass_profile.accumulate() - - temperature_profile = particle.get_temperature_profile(number_of_zones = number_of_zones) - #lum = particle.get_luminosity_profile(number_of_zones = number_of_zones) - lum = numpy.zeros_like(temperature_profile) | units.LSun - pressure_profile = particle.get_pressure_profile(number_of_zones = number_of_zones) - mu_profile = particle.get_mu_profile(number_of_zones = number_of_zones) - composition_profile = particle.get_chemical_abundance_profiles(number_of_zones = number_of_zones) - new.add_shell(mass_profile, cumul_mass_profile, radius_profile, density_profile, - pressure_profile, temperature_profile, lum, mu_profile, composition_profile[0], - composition_profile[1]+composition_profile[2], composition_profile[3], - composition_profile[4], composition_profile[5], composition_profile[6], - composition_profile[7], composition_profile[7]*0.0, composition_profile[7]*0.0) - return new - -MakeMeAMassiveStarInterface = MMAMSInterface -MakeMeAMassiveStar = MMAMS +MMAMSInterface = load_code("mmams", "MMAMSInterface") +MMAMS = load_code("mmams", "MMAMS") Mmams = MMAMS diff --git a/src/amuse/community/mmams/src/mmas2/CMakeLists.txt b/src/amuse/community/mmams/src/mmas2/CMakeLists.txt deleted file mode 100644 index 94ae0cee50..0000000000 --- a/src/amuse/community/mmams/src/mmas2/CMakeLists.txt +++ /dev/null @@ -1,43 +0,0 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.4) - -PROJECT(MMaS2) - -IF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.3) - -#------------------------------ -# MMaS2 vesion number. -SET(MMaS2_MAJOR_VERSION 2) -SET(MMaS2_MINOR_VERSION 0) -SET(MMaS2_VERSION "${MMaS2_MAJOR_VERSION}.${MMaS2_MINOR_VERSION}") - -# Platform configuration tests. -INCLUDE(${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityC.cmake) -INCLUDE(${CMAKE_ROOT}/Modules/TestForANSIStreamHeaders.cmake) -INCLUDE(${CMAKE_ROOT}/Modules/TestForSTDNamespace.cmake) -INCLUDE(${CMAKE_ROOT}/Modules/TestForANSIForScope.cmake) -INCLUDE(${CMAKE_ROOT}/Modules/CheckTypeSize.cmake) - -# Simulate old CMakeBackwardCompatibilityCXX test. -# In CMake 2.4 and up this could be just -# INCLUDE(${CMAKE_ROOT}/Modules/TestForSSTREAM.cmake) -INCLUDE(${CMAKE_ROOT}/Modules/CheckIncludeFileCXX.cmake) -CHECK_INCLUDE_FILE_CXX("sstream" CMAKE_HAS_ANSI_STRING_STREAM) -IF(NOT CMAKE_HAS_ANSI_STRING_STREAM) - SET(CMAKE_NO_ANSI_STRING_STREAM 1 CACHE INTERNAL - "Does the compiler support sstream or stringstream.") -ENDIF(NOT CMAKE_HAS_ANSI_STRING_STREAM) - -SET(CMAKE_C_FLAGS "-Wall -O3") -#SET(CMAKE_CXX_FLAGS "-Wall -O0 -g") -SET(CMAKE_INSTALL_PREFIX ./usr) - -SUBDIRS(src) - -ELSE("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.3) - MESSAGE(SEND_ERROR - "This version of CMake is too old to build MMaS2. " - "Please upgrade to CMake 2.3.") - - -ENDIF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.3) - diff --git a/src/amuse/community/mmc/Makefile b/src/amuse/community/mmc/Makefile deleted file mode 100644 index 81339de269..0000000000 --- a/src/amuse/community/mmc/Makefile +++ /dev/null @@ -1,52 +0,0 @@ -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include $(AMUSE_DIR)/config.mk - -MPIFC ?= mpif90 -MPIF90 ?= $(MPIFC) -PYTHON ?= python -FC = $(MPIFC) - -FCFLAGS += -fno-automatic -LDFLAGS += -lm $(MUSE_LD_FLAGS) - -OBJS = interface.o - -CODELIB = src/libmmc.a - -MMC_DATA_DIR = ../../../../data/mmc - -SRCINC = -I./src - -all: mmc_worker - -clean: - $(RM) -f *.o *.pyc worker_code.f90 - $(RM) -f *~ worker_code worker_code.f90 interface.f90 - $(RM) -f *.tmp mmc_worker - $(RM) -f $(MMC_DATA_DIR)/*.dat - $(RM) -f mmc.mod - $(RM) -f src/amuse_interface2.f - -make -C src clean - -make -C amuselib clean - -distclean: clean - $(RM) -f mmc.mod - -$(CODELIB): src/amuse_interface2.f - make -C src - make -C amuselib - -interface.f90 src/amuse_interface2.f: makeinterface.py - $(PYTHON) makeinterface.py - -worker_code.f90: interface.py - $(CODE_GENERATOR) --type=f90 interface.py mmcInterface -o $@ - -mmc_worker: worker_code.f90 $(OBJS) $(CODELIB) - $(MPIFC) $(FCFLAGS) $(FS_FLAGS) $(LDFLAGS) $(OBJS) $(SRCINC) $< $(CODELIB) $(FS_LIBS) -o $@ $(LIBS) - -interface.o: interface.f90 - $(FC) $(FCFLAGS) $(SRCINC) -c -o $@ $< - diff --git a/src/amuse/community/mmc/interface.py b/src/amuse/community/mmc/interface.py index e0cf85a96a..ca63dc6fb2 100644 --- a/src/amuse/community/mmc/interface.py +++ b/src/amuse/community/mmc/interface.py @@ -1,935 +1,7 @@ -from amuse.community import * -from amuse.community.mmc.amuselib.interface import supportInterface -from amuse.support.options import OptionalAttributes, option -from amuse.ext.polarsupport import PolarSupport -import os -import numpy as np +from amuse.support.import_helper import load_code -class mmcInterface(CodeInterface, PolarSupport, CodeWithDataDirectories): - - use_modules = ['MMC'] - - def __init__(self, **options): - CodeInterface.__init__(self, name_of_the_worker="mmc_worker", **options) - CodeWithDataDirectories.__init__(self) - - @legacy_function - def nonstandard_init(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def commit_parameters(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def set_mmc_data_directory(): - function = LegacyFunctionSpecification() - function.addParameter('data_directory', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def new_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT) - function.addParameter('x', dtype='float64', direction=function.IN) - function.addParameter('y', dtype='float64', direction=function.IN) - function.addParameter('z', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def delete_particle(): - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_state(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('mass', dtype='float64', direction=function.OUT) - function.addParameter('r', dtype='float64', direction=function.OUT) - function.addParameter('vr', dtype='float64', direction=function.OUT) - function.addParameter('vt', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_state(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.addParameter('mass_', dtype='float64', direction=function.IN) - function.addParameter('r_', dtype='float64', direction=function.IN) - function.addParameter('vr_', dtype='float64', direction=function.IN) - function.addParameter('vt_', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def commit_particles(): - """ - Let the code perform initialization actions - after all particles have been loaded in the model. - Should be called before the first evolve call and - after the last new_particle call. - """ - function = LegacyFunctionSpecification() - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Model is initialized and evolution can start - -1 - ERROR - Error happened during initialization, this error needs to be further specified by every code implemention - """ - return function - - @legacy_function - def recommit_particles(): - """ - Let the code perform initialization actions - after the number of particles have been updated - or particle attributes have been updated from - the script. - """ - function = LegacyFunctionSpecification() - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Model is initialized and evolution can start - -1 - ERROR - Error happened during initialization, this error needs to be further specified by every code implemention - """ - return function - - @legacy_function - def test_sort_routine(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('n', dtype='int32', direction=function.LENGTH) - function.addParameter('aa', dtype='float64', direction=function.INOUT) - function.addParameter('bb', dtype='int32', direction=function.INOUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_time(): - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_crossing_time(): - function = LegacyFunctionSpecification() - function.addParameter('tcr', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_time(): - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_timet(): - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def run_a_while(): - function = LegacyFunctionSpecification() - function.addParameter('iphase', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def evolve_model(): - function = LegacyFunctionSpecification() - function.addParameter('time_end', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def amuse_input(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def run(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def get_number_of_particles(): - function = LegacyFunctionSpecification() - function.addParameter('n_', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_irun(): - function = LegacyFunctionSpecification() - function.addParameter('init_sequence_of_rnd_numbs', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def set_iseed(): - function = LegacyFunctionSpecification() - function.addParameter('init_sequence_of_rnd_numbs', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def set_flagr(): - function = LegacyFunctionSpecification() - function.addParameter('lagrangeradii', dtype='float64', direction=function.IN) - function.addParameter('len', dtype='int32', direction=function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - - @legacy_function - def get_flagr(): - function = LegacyFunctionSpecification() - function.addParameter('id', dtype='int32', direction=function.IN) - function.addParameter('flagr_', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def get_nlagra(): - function = LegacyFunctionSpecification() - function.addParameter('nlagrange', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_irun(): - function = LegacyFunctionSpecification() - function.addParameter('init_sequence_of_rnd_numbs', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_nt(): - function = LegacyFunctionSpecification() - function.addParameter('tot_numb_of_objs', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def set_nt0(): - function = LegacyFunctionSpecification() - function.addParameter('tot_numb_of_objs', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def set_nt00(): - function = LegacyFunctionSpecification() - function.addParameter('tot_numb_of_objs', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_nt(): - function = LegacyFunctionSpecification() - function.addParameter('tot_numb_of_objs', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_istart(): - function = LegacyFunctionSpecification() - function.addParameter('start_or_restart', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_istart(): - function = LegacyFunctionSpecification() - function.addParameter('start_or_restart', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_ncor(): - function = LegacyFunctionSpecification() - function.addParameter('numb_of_stars_to_calc_c_parms', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_ncor(): - function = LegacyFunctionSpecification() - function.addParameter('numb_of_stars_to_calc_c_parms', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_nmin(): - function = LegacyFunctionSpecification() - function.addParameter('min_numb_of_stars_to_calc_c_parms', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_nmin(): - function = LegacyFunctionSpecification() - function.addParameter('min_numb_of_stars_to_calc_c_parms', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_nz0(): - function = LegacyFunctionSpecification() - function.addParameter('numb_of_stars_in_each_zone_at_t0', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_nz0(): - function = LegacyFunctionSpecification() - function.addParameter('numb_of_stars_in_each_zone_at_t0', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_nzonc(): - function = LegacyFunctionSpecification() - function.addParameter('min_numb_of_zones_in_the_core', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_nzonc(): - function = LegacyFunctionSpecification() - function.addParameter('min_numb_of_zones_in_the_core', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_nminzo(): - function = LegacyFunctionSpecification() - function.addParameter('min_numb_of_stars_in_a_zone', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_nminzo(): - function = LegacyFunctionSpecification() - function.addParameter('min_numb_of_stars_in_a_zone', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_ntwo(): - function = LegacyFunctionSpecification() - function.addParameter('max_index_od_two', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_ntwo(): - function = LegacyFunctionSpecification() - function.addParameter('max_index_od_two', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_imodel(): - function = LegacyFunctionSpecification() - function.addParameter('initial_model', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_imodel(): - function = LegacyFunctionSpecification() - function.addParameter('initial_model', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_iprint(): - function = LegacyFunctionSpecification() - function.addParameter('diag_info', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_iprint(): - function = LegacyFunctionSpecification() - function.addParameter('diag_info', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_ib3f(): - function = LegacyFunctionSpecification() - function.addParameter('spitzer_or_heggie', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_ib3f(): - function = LegacyFunctionSpecification() - function.addParameter('spitzer_or_heggie', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_iexch(): - function = LegacyFunctionSpecification() - function.addParameter('exchange_mode', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_iexch(): - function = LegacyFunctionSpecification() - function.addParameter('exchange_mode', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_tcrit(): - function = LegacyFunctionSpecification() - function.addParameter('termination_time_units_crossing_time', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_tcrit(): - function = LegacyFunctionSpecification() - function.addParameter('termination_time_units_crossing_time', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_tcomp(): - function = LegacyFunctionSpecification() - function.addParameter('max_comp_time_in_hours', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_tcomp(): - function = LegacyFunctionSpecification() - function.addParameter('max_comp_time_in_hours', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_qe(): - function = LegacyFunctionSpecification() - function.addParameter('energy_tolerance', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_qe(): - function = LegacyFunctionSpecification() - function.addParameter('energy_tolerance', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_alphal(): - function = LegacyFunctionSpecification() - function.addParameter('pwr_law_index_lt_breake_mass', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_alphal(): - function = LegacyFunctionSpecification() - function.addParameter('pwr_law_index_lt_breake_mass', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_alphah(): - function = LegacyFunctionSpecification() - function.addParameter('pwr_law_index_ht_breake_mass', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_alphah(): - function = LegacyFunctionSpecification() - function.addParameter('pwr_law_index_ht_breake_mass', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_brakem(): - function = LegacyFunctionSpecification() - function.addParameter('mass_in_which_IMF_breaks', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_brakem(): - function = LegacyFunctionSpecification() - function.addParameter('mass_in_which_IMF_breaks', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_body1(): - function = LegacyFunctionSpecification() - function.addParameter('max_particle_mass_before_scaling', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_body1(): - function = LegacyFunctionSpecification() - function.addParameter('max_particle_mass_before_scaling', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_bodyn(): - function = LegacyFunctionSpecification() - function.addParameter('min_particle_mass_before_scaling', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_bodyn(): - function = LegacyFunctionSpecification() - function.addParameter('min_particle_mass_before_scaling', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_fracb(): - function = LegacyFunctionSpecification() - function.addParameter('primordial_bin_fraction', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_fracb(): - function = LegacyFunctionSpecification() - function.addParameter('primordial_bin_fraction', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_amin(): - function = LegacyFunctionSpecification() - function.addParameter('min_semi_major_ax_of_bins', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_amin(): - function = LegacyFunctionSpecification() - function.addParameter('min_semi_major_ax_of_bins', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_amax(): - function = LegacyFunctionSpecification() - function.addParameter('max_semi_major_ax_of_bins', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_amax(): - function = LegacyFunctionSpecification() - function.addParameter('max_semi_major_ax_of_bins', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_qvir(): - function = LegacyFunctionSpecification() - function.addParameter('virial_ratio', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_qvir(): - function = LegacyFunctionSpecification() - function.addParameter('virial_ratio', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_rbar(): - function = LegacyFunctionSpecification() - function.addParameter('tidal_radius', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_rbar(): - function = LegacyFunctionSpecification() - function.addParameter('tidal_radius', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_zmbar(): - function = LegacyFunctionSpecification() - function.addParameter('total_mass_cluster', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_zmbar(): - function = LegacyFunctionSpecification() - function.addParameter('total_mass_cluster', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_w0(): - function = LegacyFunctionSpecification() - function.addParameter('king_model_parameter', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_w0(): - function = LegacyFunctionSpecification() - function.addParameter('king_model_parameter', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_bmin(): - function = LegacyFunctionSpecification() - function.addParameter('min_val_of_sin_betasqr', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def set_bmin0(): - function = LegacyFunctionSpecification() - function.addParameter('min_val_of_sin_betasqr', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_bmin(): - function = LegacyFunctionSpecification() - function.addParameter('min_val_of_sin_betasqr', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_bmax(): - function = LegacyFunctionSpecification() - function.addParameter('max_val_of_sin_betasqr', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_bmax(): - function = LegacyFunctionSpecification() - function.addParameter('max_val_of_sin_betasqr', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_tau0(): - function = LegacyFunctionSpecification() - function.addParameter('time_step_for_complete_cluster_model', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_tau0(): - function = LegacyFunctionSpecification() - function.addParameter('time_step_for_complete_cluster_model', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_gamma(): - function = LegacyFunctionSpecification() - function.addParameter('param_in_coulomb_log', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_gamma(): - function = LegacyFunctionSpecification() - function.addParameter('param_in_coulomb_log', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_xtid(): - function = LegacyFunctionSpecification() - function.addParameter('coeff_front_tidal_energy', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_xtid(): - function = LegacyFunctionSpecification() - function.addParameter('coeff_front_tidal_energy', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_rplum(): - function = LegacyFunctionSpecification() - function.addParameter('rsplum_scale_radius_plummer_model', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_rplum(): - function = LegacyFunctionSpecification() - function.addParameter('rsplum_scale_radius_plummer_model', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_dttp(): - function = LegacyFunctionSpecification() - function.addParameter('time_step_for_profile_output', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_dttp(): - function = LegacyFunctionSpecification() - function.addParameter('time_step_for_profile_output', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_dtte(): - function = LegacyFunctionSpecification() - function.addParameter('time_step_for_mloss_call', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_dtte(): - function = LegacyFunctionSpecification() - function.addParameter('time_step_for_mloss_call', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_dtte0(): - function = LegacyFunctionSpecification() - function.addParameter('time_step_for_mloss_call_tph_lt_tcr', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_dtte0(): - function = LegacyFunctionSpecification() - function.addParameter('time_step_for_mloss_call_tph_lt_tcr', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_tcrevo(): - function = LegacyFunctionSpecification() - function.addParameter('critical_time_step_dtte0_to_dtte', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_tcrevo(): - function = LegacyFunctionSpecification() - function.addParameter('critical_time_step_dtte0_to_dtte', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_xtau(): - function = LegacyFunctionSpecification() - function.addParameter('call_mloss', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_xtau(): - function = LegacyFunctionSpecification() - function.addParameter('call_mloss', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_ytau(): - function = LegacyFunctionSpecification() - function.addParameter('mult_tau0', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_ytau(): - function = LegacyFunctionSpecification() - function.addParameter('mult_tau0', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_ybmin(): - function = LegacyFunctionSpecification() - function.addParameter('mult_bmin0', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_ybmin(): - function = LegacyFunctionSpecification() - function.addParameter('mult_bmin0', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_zini(): - function = LegacyFunctionSpecification() - function.addParameter('initial_metalicity', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_zini(): - function = LegacyFunctionSpecification() - function.addParameter('initial_metalicity', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_ikroupa(): - function = LegacyFunctionSpecification() - function.addParameter('initial_bins_parameters', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_ikroupa(): - function = LegacyFunctionSpecification() - function.addParameter('initial_bins_parameters', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_iflagns(): - function = LegacyFunctionSpecification() - function.addParameter('natal_kicks_ns', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_iflagns(): - function = LegacyFunctionSpecification() - function.addParameter('natal_kicks_ns', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_iflagbh(): - function = LegacyFunctionSpecification() - function.addParameter('natal_kicks_bh', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_iflagbh(): - function = LegacyFunctionSpecification() - function.addParameter('natal_kicks_bh', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_nitesc(): - function = LegacyFunctionSpecification() - function.addParameter('iteration_tidal_radius', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_nitesc(): - function = LegacyFunctionSpecification() - function.addParameter('iteration_tidal_radius', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_rc(): - function = LegacyFunctionSpecification() - function.addParameter('coreradius', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_nc(): - function = LegacyFunctionSpecification() - function.addParameter('numberdensity', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def call_zone(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def call_relaxt(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def call_amuse_output(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - def get_positions_3d_incode(self, particles): - #this is an experiment! - r = self.get_state(particles).r - i = supportInterface() - x = np.zeros(len(r)) - y = np.zeros(len(r)) - z = np.zeros(len(r)) - R = i.rnd_points_on_sphere(x, y, z) - #R = i.many_points_on_sphere(x, y, z) - i.stop() - return {'x':np.array(r*R.x), 'y':np.array(r*R.y),'z':np.array(r*R.z)} - - def get_positions_3d(self, particles): - r = self.get_state(particles).r - return self.position_to_cartesian(r) - -class mmc(InCodeComponentImplementation): - - def __init__(self): - InCodeComponentImplementation.__init__(self, mmcInterface()) +mmcInterface = load_code("mmc", "mmcInterface") +mmc = load_code("mmc", "mmc") Mmc = mmc diff --git a/src/amuse/community/mmc/src/fort.7 b/src/amuse/community/mmc/src/fort.7 deleted file mode 100644 index 89fd8505aa..0000000000 --- a/src/amuse/community/mmc/src/fort.7 +++ /dev/null @@ -1 +0,0 @@ - 16.2202 6.162 3.158 1 1********** 0.51 0.000 0.000 INITIAL detached diff --git a/src/amuse/community/mobse/Makefile b/src/amuse/community/mobse/Makefile deleted file mode 100644 index 9ba6739fc2..0000000000 --- a/src/amuse/community/mobse/Makefile +++ /dev/null @@ -1,48 +0,0 @@ -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif - --include ${AMUSE_DIR}/config.mk # NG has some doubts - -MPIFC ?= mpif90 # -FORTRAN ?= gfortran # - -F77FLAGS = # -ifneq (,$(findstring xlf, $(notdir $(FORTRAN)))) # -F77FLAGS += -qfixed # -endif # NG has some doubts - - - -OBJ = src/comenv.o src/corerd.o src/deltat.o src/dgcore.o \ - src/evolv3.o src/gntage.o src/hrdiag.o src/instar.o \ - src/kick.o src/mix.o src/mlwind.o src/mrenv.o \ - src/ran3.o src/rl.o \ - src/pisn.f src/eddington.f src/fallback.f \ - src/star.o src/zcnsts.o src/zfuncs.o - -MOBSEOBJ = src/comenv.o src/corerd.o src/deltat.o src/dgcore.o \ - src/evolv3.o src/gntage.o src/hrdiag.o src/instar.o \ - src/kick.o src/mix.o src/mlwind.o src/mrenv.o \ - src/ran3.o src/rl.o \ - src/pisn.f src/eddington.f src/fallback.f \ - src/star.o src/zcnsts.o src/zfuncs.o - -all: mobse_worker - -clean: - $(RM) -f *~ *.so *.o src/*.o - $(RM) -f src/mobse mobse_worker worker_code worker_code.f90 - $(RM) -f worker_code-sockets.f90 mobse_worker_sockets - $(RM) -f amuse_worker_module.mod - $(RM) -f forsockets.mod - -mobse_worker: worker_code.f90 interface.o $(MOBSEOBJ) - make -C src mobse CMPLR=$(FORTRAN) FFLAGS="$(FFLAGS) $(F77FLAGS)" - $(MPIFC) $(FFLAGS) $(FS_FLAGS) $(LDFLAGS) $^ -o $@ $(FS_LIBS) $(LIBS) - -worker_code.f90: interface.py - $(CODE_GENERATOR) --type=f90 interface.py MOBSEInterface -o $@ - -.f.o: $< - $(FORTRAN) -c $(F77FLAGS) $(FFLAGS) -o $@ $< diff --git a/src/amuse/community/mobse/interface.py b/src/amuse/community/mobse/interface.py index 03be481aed..4ab7b03b71 100644 --- a/src/amuse/community/mobse/interface.py +++ b/src/amuse/community/mobse/interface.py @@ -1,654 +1,7 @@ -from amuse.community import * -from amuse.units import units -from amuse.units import constants -from amuse.units.quantities import Quantity -from amuse.community.interface import common - -from amuse.datamodel import Particles -from amuse.datamodel import ParticlesSubset - -import numpy - -class MOBSEInterface(CodeInterface, common.CommonCodeInterface , LiteratureReferencesMixIn): - """ - MOBSE (Massive Object in BSE) is an updated version of the **rapid** binary-star - evolution (BSE) algorithm. With respect to BSE, the major upgrades are that MOBSE - includes up-to-date equations for metal-dependent stellar winds and new prescriptions - for core-collapse supernova explosion (SNe). Moreover, MOBSE includes the dependence - of stellar winds on the Eddington factor: if a star approaches the Eddington limit - stellar winds become almost insensitive to metallicity. MOBSE includes also the effects - of Pulsation Pair Instability SNe and Pair Instability SNe, it has more precise - formulas to compute the core radii and it can use a different velocity distribution - to calculate the velocity kick due to electron-capture SNe. More details about MOBSE can - be found in paper: - - .. [#] ADS:2018MNRAS.474.2959G (Nicola Giacobbo, Michela Mapelli & Mario Spera, 2018, MNRAS, 474, 2959: - .. [#] ... Merging black hole binaries: the effects of progenitor s metallicity, mass-loss rate and Eddington factor) - - The details about BSE can be found in the BSE paper: - .. [#] ADS:2002MNRAS.329..897H (Hurley J.R., Tout C.A., & Pols O.R., 2002, MNRAS, 329, 897: - .. [#] ... Evolution of binary stars and the effect of tides on binary populations) - .. [#] ADS:2000MNRAS.315..543H (Hurley J.R., Pols O.R., Tout C.A., 2000, MNRAS, 315, 543: - .. [#] ... Comprehensive analytic formulae for stellar evolution as a function of mass and metallicity) - """ - def __init__(self, **options): - CodeInterface.__init__(self, name_of_the_worker="mobse_worker", **options) - LiteratureReferencesMixIn.__init__(self) - - @legacy_function - def initialize(): - function = LegacyFunctionSpecification() - function.addParameter('z_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('neta_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('bwind_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('hewind_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('alpha1_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('CElambda_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('ceflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('tflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('ifflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('wdflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('bhflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('nsflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('piflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('mxns_in', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('idum_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('pts1_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('pts2_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('pts3_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('sigma1_in', dtype='d', direction=function.IN, unit = units.km / units.s) - function.addParameter('sigma2_in', dtype='d', direction=function.IN, unit = units.km / units.s) - function.addParameter('beta_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('xi_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('acc2_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('epsnov_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('eddfac_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('gamma_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('status', dtype='i', direction=function.OUT, unit = NO_UNIT) - return function - - @legacy_function - def evolve_binary(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('type1', dtype='i', direction=function.INOUT, unit = units.stellar_type) - function.addParameter('type2', dtype='i', direction=function.INOUT, unit = units.stellar_type) - function.addParameter('initial_mass1', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('initial_mass2', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('mass1', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('mass2', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('radius1', dtype='d', direction=function.INOUT, unit = units.RSun) - function.addParameter('radius2', dtype='d', direction=function.INOUT, unit = units.RSun) - function.addParameter('luminosity1', dtype='d', direction=function.INOUT, unit = units.LSun) - function.addParameter('luminosity2', dtype='d', direction=function.INOUT, unit = units.LSun) - function.addParameter('core_mass1', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('core_mass2', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('core_radius1', dtype='d', direction=function.INOUT, unit = units.RSun) - function.addParameter('core_radius2', dtype='d', direction=function.INOUT, unit = units.RSun) - function.addParameter('convective_envelope_mass1', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('convective_envelope_mass2', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('convective_envelope_radius1', dtype='d', direction=function.INOUT, unit = units.RSun) - function.addParameter('convective_envelope_radius2', dtype='d', direction=function.INOUT, unit = units.RSun) - function.addParameter('spin1', dtype='d', direction=function.INOUT, unit = NO_UNIT) - function.addParameter('spin2', dtype='d', direction=function.INOUT, unit = NO_UNIT) - function.addParameter('epoch1', dtype='d', direction=function.INOUT, unit = units.Myr) - function.addParameter('epoch2', dtype='d', direction=function.INOUT, unit = units.Myr) - function.addParameter('MS_lifetime1', dtype='d', direction=function.INOUT, unit = units.Myr) - function.addParameter('MS_lifetime2', dtype='d', direction=function.INOUT, unit = units.Myr) - function.addParameter('age', dtype='d', direction=function.INOUT, unit = units.Myr) - function.addParameter('orbital_period', dtype='d', direction=function.INOUT, unit = units.day) - function.addParameter('eccentricity', dtype='d', direction=function.INOUT, unit = NO_UNIT) - function.addParameter('end_time', dtype='d', direction=function.INOUT, unit = units.Myr) - return function - - @legacy_function - def get_time_step(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('type1', dtype='i', direction=function.IN, unit = units.stellar_type) - function.addParameter('type2', dtype='i', direction=function.IN, unit = units.stellar_type) - function.addParameter('initial_mass1', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('initial_mass2', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('mass1', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('mass2', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('MS_lifetime1', dtype='d', direction=function.IN, unit = units.Myr) - function.addParameter('MS_lifetime2', dtype='d', direction=function.IN, unit = units.Myr) - function.addParameter('epoch1', dtype='d', direction=function.IN, unit = units.Myr) - function.addParameter('epoch2', dtype='d', direction=function.IN, unit = units.Myr) - function.addParameter('age', dtype='d', direction=function.IN, unit = units.Myr) - function.addParameter('time_step', dtype='d', direction=function.OUT, unit = units.Myr) - - return function - - def get_time_step_for_binary(self, binary): - current_values = {} - current_values['type1'] = binary.type1.value_in(units.stellar_type) - current_values['type2'] = binary.type2.value_in(units.stellar_type) - current_values['initial_mass1'] = binary.initial_mass1.value_in(units.MSun) - current_values['initial_mass2'] = binary.initial_mass2.value_in(units.MSun) - current_values['mass1'] = binary.mass1.value_in(units.MSun) - current_values['mass2'] = binary.mass2.value_in(units.MSun) - current_values['MS_lifetime1'] = binary.MS_lifetime1.value_in(units.Myr) - current_values['MS_lifetime2'] = binary.MS_lifetime2.value_in(units.Myr) - current_values['epoch1'] = binary.epoch1.value_in(units.Myr) - current_values['epoch2'] = binary.epoch2.value_in(units.Myr) - current_values['age'] = binary.age.value_in(units.Myr) - - result = self.get_time_step(**current_values) - - return result | units.Myr - - - def evolve_particle(self, particle, time_end): - t = particle.current_time - if particle.stellar_type == 15: - return - while t < time_end: - t0 = t - t = t0 + self.get_time_step_for_binary(particle) - if t > time_end: - t = time_end - self.evolve_star(particle, t) - t1 = particle.current_time - dt = t1 - t0 - t0 = t1 - if dt.value_in(units.Myr) == 0.0: - #print t, t0, t1, dt, "BREAK BREAK BREAK!" - return - if particle.stellar_type == 15: - return - - def initialize_code(self): - return 0 - - def commit_parameters(self): - return 0 - - def recommit_parameters(self): - return 0 - - def cleanup_code(self): - return 0 - - def commit_particles(self): - return 0 - -class MOBSEStars(Particles): - - def __init__(self, code_interface, storage = None): - Particles.__init__(self, storage = storage) - self._private.code_interface = code_interface - self.add_calculated_attribute("temperature", self.calculate_effective_temperature, ["luminosity", "radius"]) - - def calculate_effective_temperature(self, luminosity, radius): - return ((luminosity/(constants.four_pi_stefan_boltzmann*radius**2))**.25).in_(units.K) - - def add_particles_to_store(self, keys, attributes = [], values = []): - if len(keys) == 0: - return - - all_attributes = [] - all_attributes.extend(attributes) - all_values = [] - all_values.extend(values) - - mapping_from_attribute_to_default_value = { - "stellar_type" : 1 | units.stellar_type, - "radius": 0 | units.RSun, - "luminosity": 0 | units.LSun, - "core_mass": 0 | units.MSun, - "core_radius": 0 | units.RSun, - "convective_envelope_mass": 0 | units.MSun, - "convective_envelope_radius": 0 | units.RSun, - "epoch": 0 | units.Myr, - "spin": 0 | units.none, - "main_sequence_lifetime": 0 | units.Myr, - "age": 0 | units.Myr, - "stellar_type": 0 | units.stellar_type #units.stellar_type("Main Sequence star"), - } - - given_attributes = set(attributes) - - if not "initial_mass" in given_attributes: - index_of_mass_attibute = attributes.index("mass") - all_attributes.append("initial_mass") - all_values.append(values[index_of_mass_attibute] * 1.0) - - for attribute, default_value in mapping_from_attribute_to_default_value.items(): - if not attribute in given_attributes: - all_attributes.append(attribute) - all_values.append(default_value.as_vector_with_length(len(keys))) - - super(MOBSEStars, self).add_particles_to_store(keys, all_attributes, all_values) - - - def get_defined_attribute_names(self): - return ["mass", "radius"] - -class MOBSEBinaries(Particles): - - def __init__(self, code_interface, storage = None): - Particles.__init__(self, storage = storage) - self._private.code_interface = code_interface - - def add_particles_to_store(self, keys, attributes = [], values = []): - if len(keys) == 0: - return - - given_attributes = set(attributes) - - if not "child1" in given_attributes: - raise Exception("a binary must always have a child1 attribute") - - if not "child2" in given_attributes: - raise Exception("a binary must always have a child2 attribute") - - all_attributes = [] - all_values = [] - for attribute, value in zip(attributes, values): - all_attributes.append(attribute) - if attribute == 'child1' or attribute == 'child2': - value = value.copy_with_link_transfer(None, self._private.code_interface.particles) - all_values.append(value) - else: - all_values.append(value) - - mapping_from_attribute_to_default_value = { - "eccentricity": 0.0 | units.none, - "age": 0 | units.Myr - } - - - - for attribute, default_value in mapping_from_attribute_to_default_value.items(): - if not attribute in given_attributes: - all_attributes.append(attribute) - all_values.append(default_value.as_vector_with_length(len(keys))) - - super(MOBSEBinaries, self).add_particles_to_store(keys, all_attributes, all_values) - - added_particles = ParticlesSubset(self, keys) - self._private.code_interface._evolve_binaries(added_particles, 1e-08 | units.yr) - - def get_defined_attribute_names(self): - return ["eccentricity", "orbital_period", "age", "child1", "child2"] - -class MOBSE(common.CommonCode): - - def __init__(self, **options): - InCodeComponentImplementation.__init__(self, MOBSEInterface(**options), **options) - - self.model_time = 0.0 | units.yr - - - def define_parameters(self, handler): - - handler.add_caching_parameter( - "initialize", - "z_in", - "metallicity", - "Metallicity of all stars", - 0.02 - ) - - handler.add_caching_parameter( - "initialize", - "neta_in", - "reimers_mass_loss_coefficient", - "Reimers mass-loss coefficient (neta*4x10^-13; 0.5 normally)", - 0.5 - ) - - handler.add_caching_parameter( - "initialize", - "bwind_in", - "binary_enhanced_mass_loss_parameter", - "The binary enhanced mass loss parameter (inactive for single).", - 0.0 - ) - - handler.add_caching_parameter( - "initialize", - "hewind_in", - "helium_star_mass_loss_factor", - "Helium star mass loss factor", - 1.0 - ) - - handler.add_caching_parameter( - "initialize", - "alpha1_in", - "common_envelope_efficiency", - "The common-envelope efficiency parameter", - 1.0 - ) - - handler.add_caching_parameter( - "initialize", - "CElambda_in", - "common_envelope_binding_energy_factor", - "The binding energy factor for common envelope evolution", - 0.1 - ) - - handler.add_caching_parameter( - "initialize", - "ceflag_in", - "common_envelope_model_flag", - "ceflag > 0 activates spin-energy correction in common-envelope. ceflag = 3 activates de Kool common-envelope model (0).", - 0 - ) - - handler.add_caching_parameter( - "initialize", - "tflag_in", - "tidal_circularisation_flag", - "tflag > 0 activates tidal circularisation (1).", - 1 - ) - - handler.add_caching_parameter( - "initialize", - "ifflag_in", - "white_dwarf_IFMR_flag", - "ifflag > 0 uses white dwarf IFMR (initial-final mass relation) of HPE, 1995, MNRAS, 272, 800 (0).", - 0 - ) - - handler.add_caching_parameter( - "initialize", - "wdflag_in", - "white_dwarf_cooling_flag", - "wdflag > 0 uses modified-Mestel cooling for WDs (0).", - 1 - ) - - handler.add_caching_parameter( - "initialize", - "bhflag_in", - "black_hole_kick_flag", - "bhflag > 0 allows velocity kick at BH formation (0).", - 1 - ) - - handler.add_caching_parameter( - "initialize", - "nsflag_in", - "neutron_star_mass_flag", - "nsflag = 3 Delayed SNe model from Fryer et al. 2012, ApJ, 749, 91.", - 3 - ) - - handler.add_caching_parameter( - "initialize", - "piflag_in", - "pair_instability_flag", - "piflag > 0 activates the PPISN and PISN from Spera & Mapelli 2017, MNRAS, 470, 4739 (1).", - 1 - ) - - handler.add_caching_parameter( - "initialize", - "mxns_in", - "maximum_neutron_star_mass", - "The maximum neutron star mass (1.8, nsflag=0; 3.0, nsflag=1).", - 3.0 | units.MSun - ) - - handler.add_caching_parameter( - "initialize", - "idum_in", - "SN_kick_random_seed", - "The random number seed used in the kick routine.", - 29769 - ) - - handler.add_caching_parameter( - "initialize", - "pts1_in", - "fractional_time_step_1", - "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: MS (0.05)", - 0.05 - ) - - handler.add_caching_parameter( - "initialize", - "pts2_in", - "fractional_time_step_2", - "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: GB, CHeB, AGB, HeGB (0.01)", - 0.01 - ) - - handler.add_caching_parameter( - "initialize", - "pts3_in", - "fractional_time_step_3", - "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: HG, HeMS (0.02)", - 0.02 - ) - - handler.add_caching_parameter( - "initialize", - "sigma1_in", - "SN_kick_speed_dispersion_ICS", - "The dispersion in the Maxwellian for the SN kick speed (265 km/s from Hobbs et al. 2005).", - 265.0 | units.km / units.s - ) - - handler.add_caching_parameter( - "initialize", - "sigma2_in", - "SN_kick_speed_dispersion_ECS", - "The dispersion in the Maxwellian for the SN kick speed (7 km/s).", - 7.0 | units.km / units.s - ) - - handler.add_caching_parameter( - "initialize", - "beta_in", - "wind_velocity_factor", - "The wind velocity factor: proportional to vwind**2 (1/8).", - 0.125 - ) - - handler.add_caching_parameter( - "initialize", - "xi_in", - "wind_accretion_efficiency", - "The wind accretion efficiency factor (1.0).", - 1.0 - ) - - handler.add_caching_parameter( - "initialize", - "acc2_in", - "wind_accretion_factor", - "The Bondi-Hoyle wind accretion factor (3/2).", - 1.5 - ) - - handler.add_caching_parameter( - "initialize", - "epsnov_in", - "nova_retained_accreted_matter_fraction", - "The fraction of accreted matter retained in nova eruption (0.001).", - 0.001 - ) - - handler.add_caching_parameter( - "initialize", - "eddfac_in", - "Eddington_mass_transfer_limit_factor", - "The Eddington limit factor for mass transfer (1.0).", - 1.0 - ) - - handler.add_caching_parameter( - "initialize", - "gamma_in", - "Roche_angular_momentum_factor", - "The angular momentum factor for mass lost during Roche (-1.0). ", - -1.0 - ) - - - def define_state(self, handler): - common.CommonCode.define_state(self, handler) - handler.add_transition('INITIALIZED','RUN','commit_parameters') - handler.add_method('RUN', 'evolve_binary') - - handler.add_method('RUN','before_get_parameter') - handler.add_method('RUN','before_set_parameter') - - - - - def define_particle_sets(self, handler): - handler.define_inmemory_set('particles', MOBSEStars) - handler.define_inmemory_set('binaries', MOBSEBinaries) - - handler.add_attribute( - 'binaries', - 'time_step', - '_get_time_step', - ('child1', 'child2', 'age') - #('child1', 'type2', - # 'initial_mass1', 'initial_mass2', - # 'mass1', 'mass2', - # 'MS_lifetime1', 'MS_lifetime2', - # 'epoch1', 'epoch2', - #'age') - ) - - def _get_time_step(self, child1, child2, age): - child1 = child1.as_set() - child2 = child2.as_set() - return self.get_time_step( - child1.stellar_type, child2.stellar_type, - child1.initial_mass, child2.initial_mass, - child1.mass, child2.mass, - child1.age, child2.age, - child1.epoch, child2.epoch, - age - ) - - def orbital_period_to_semi_major_axis(self, orbital_period, mass1, mass2): - mu = (mass1 + mass2) * constants.G - return (((orbital_period / (2.0 * numpy.pi))**2)*mu)**(1.0/3.0) - - def semi_major_axis_to_orbital_period(self, semi_major_axis, mass1, mass2): - mu = (mass1 + mass2) * constants.G - return 2.0 * numpy.pi * ((semi_major_axis**3/mu)**0.5) - - def _evolve_binaries(self, particles, end_time): - binary_attributes = ( - "age", - "semi_major_axis", - "eccentricity" - ) - - single_attributes = ( - "stellar_type", - "initial_mass", - "mass", - "radius", - "luminosity", - "core_mass", - "core_radius", - "convective_envelope_mass", - "convective_envelope_radius", - "spin", - "epoch", - "age", - ) - - children1 = particles.child1.as_set() - children2 = particles.child2.as_set() - children1_arguments = children1.get_values_in_store(children1.get_all_indices_in_store(), single_attributes) - children2_arguments = children2.get_values_in_store(children2.get_all_indices_in_store(), single_attributes) - - binaries_arguments = particles.get_values_in_store(particles.get_all_indices_in_store(), binary_attributes) - - binaries_arguments[1] = self.semi_major_axis_to_orbital_period(binaries_arguments[1] , children1_arguments[2], children2_arguments[2]) - - arguments = [] - for argument1, argument2 in zip(children1_arguments, children2_arguments): - arguments.append(argument1) - arguments.append(argument2) - - arguments.extend(binaries_arguments) - arguments.append(end_time.as_vector_with_length(len(particles))) - - result = self.evolve_binary(*arguments) - - result[-3] = self.orbital_period_to_semi_major_axis(result[-3] , result[4], result[5]) - - - children1_results = [] - children2_results = [] - index = 0 - for dummy in range(len(children1_arguments)): - children1_results.append(result[index]) - index += 1 - children2_results.append(result[index]) - index += 1 - - children1.set_values_in_store(children1.get_all_indices_in_store(), single_attributes, children1_results) - children2.set_values_in_store(children2.get_all_indices_in_store(), single_attributes, children2_results) - particles.set_values_in_store(particles.get_all_indices_in_store(), binary_attributes, result[index:]) - - - def evolve_model(self, end_time = None, keep_synchronous = True): - if not keep_synchronous: - self._evolve_binaries(self.binaries, self.binaries.time_step + self.binaries.age) - return - - if end_time is None: - end_time = self.model_time + min(self.binaries.time_step) - self._evolve_binaries(self.binaries, end_time - self.model_time + self.binaries.age) - self.model_time = end_time - - def commit_particles(self): - pass - - def update_time_steps(self): - pass - - def commit_parameters(self): - self.parameters.send_cached_parameters_to_code() - self.overridden().commit_parameters() - - def initialize_module_with_current_parameters(self): - self.commit_parameters() - - def initialize_module_with_default_parameters(self): - """ - * neta is the Reimers mass-loss coefficent (neta*4x10^-13; 0.5 normally). - * bwind is the binary enhanced mass loss parameter (inactive for single). - * hewind is a helium star mass loss factor (1.0 normally, inactive). - * sigma1 is the dispersion in the Maxwellian for the ICSN kick speed (265 km/s). - * sigma2 is the dispersion in the Maxwellian for the ECSN kick speed (7 km/s). - * - * ifflag > 0 uses WD IFMR of HPE, 1995, MNRAS, 272, 800 (0). - * wdflag > 0 uses modified-Mestel cooling for WDs (0). - * bhflag > 0 allows velocity kick at BH formation (1). - * nsflag = 1 takes NS/BH mass from Belczynski et al. 2002, ApJ, 572, 407.", - * = 2 Rapid SNe model from Fryer et al. 2012, ApJ, 749, 91.", - * = 3 Delayed SNe model from Fryer et al. 2012, ApJ, 749, 91.", - * mxns is the maximum NS mass (1.8, nsflag=0; 3.0, nsflag=1). - * piflag > 0 activates the PPISN and PISN from Spera & Mapelli 2017, MNRAS, 470, 4739 (1).", - * idum is the random number seed used in the kick routine. - * - * Next come the parameters that determine the timesteps chosen in each - * evolution phase: - * pts1 - MS (0.05) - * pts2 - GB, CHeB, AGB, HeGB (0.01) - * pts3 - HG, HeMS (0.02) - * as decimal fractions of the time taken in that phase. - """ - self.parameters.set_defaults() - self.commit_parameters() +from amuse.support.import_helper import load_code +MOBSEInterface = load_code("mobse", "MOBSEInterface") +MOBSE = load_code("mobse", "MOBSE") Mobse = MOBSE diff --git a/src/amuse/community/mocassin/Makefile b/src/amuse/community/mocassin/Makefile deleted file mode 100644 index 9b0cdbbdb6..0000000000 --- a/src/amuse/community/mocassin/Makefile +++ /dev/null @@ -1,97 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif -include ${AMUSE_DIR}/config.mk - -FORTRAN = $(FC) -MPIF90 ?= $(MPIFC) -PYTHON ?= python - -export FORTRAN - -OBJS = interface.o - - -VERSION = 2.02.70 -CODEDIR = src/mocassin.$(VERSION) -CODELIB = $(CODEDIR)/libmocassin.a - -SOURCEDIR = $(CODEDIR)/source -SOURCES = \ - $(SOURCEDIR)/infnan.f90 $(SOURCEDIR)/constants_mod.f90 $(SOURCEDIR)/vector_mod.f90 \ - $(SOURCEDIR)/common_mod.f90 $(SOURCEDIR)/interpolation_mod.f90 $(SOURCEDIR)/set_input_mod.f90 \ - $(SOURCEDIR)/hydro_mod.f90 $(SOURCEDIR)/ph_mod.f90 $(SOURCEDIR)/composition_mod.f90 \ - $(SOURCEDIR)/continuum_mod.f90 $(SOURCEDIR)/ionization_mod.f90 $(SOURCEDIR)/pathIntegration_mod.f90 \ - $(SOURCEDIR)/grid_mod.f90 $(SOURCEDIR)/dust_mod.f90 $(SOURCEDIR)/emission_mod.f90 $(SOURCEDIR)/photon_mod.f90 \ - $(SOURCEDIR)/update_mod.f90 $(SOURCEDIR)/output_mod.f90 $(SOURCEDIR)/iteration_mod.f90 - -OBJECTS = $(SOURCES:.f90=.o) - - -DOWNLOAD_FROM_WEB = $(PYTHON) ./download.py -PATCH_FILES = $(PYTHON) ./patch_files.py - -DOWNLOAD_CODES?=1 - -FFLAGS += -Wall -g -I$(CODEDIR)/source -fallow-invalid-boz -std=legacy -LDFLAGS += -lm $(MUSE_LD_FLAGS) - -all: mocassin_worker - -ifdef DOWNLOAD_CODES -$(CODEDIR)/makefile: - make -C . download -else -$(CODEDIR)/makefile: - @echo "" - @echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - @echo "" - @echo "DOWNLOAD_CODES is not set. Mocassin will not be downloaded and build." - @echo "If you do want Mocassin, set DOWNLOAD_CODES to 1." - @echo "bash> export DOWNLOAD_CODES=1" - @echo "csh> setenv DOWNLOAD_CODES 1" - @echo "" - @echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - @echo "" - @make -s --no-print-directory -C . raise_error -endif - -download: - $(RM) -Rf .pc - $(DOWNLOAD_FROM_WEB) --version $(VERSION) - $(PATCH_FILES) - make -C $(CODEDIR) clean - -clean: - $(RM) -f *.mod *.so *.o *.pyc worker_code.cc worker_code.h - $(RM) *~ worker_code worker_code.f90 worker_code-sockets.f90 - $(RM) mocassin_worker mocassin_worker_sockets - -make -C $(CODEDIR) clean - -distclean: clean - $(RM) -Rf src - $(RM) -Rf .pc - $(RM) -Rf src.* - $(RM) -Rf data - -$(CODELIB): $(CODEDIR)/makefile - echo $(FC) - echo $(FORTRAN) - make -C $(CODEDIR) clean - make -C $(CODEDIR) all FFLAGS="$(FFLAGS)" - -worker_code.f90: interface.py - $(CODE_GENERATOR) --type=f90 interface.py MocassinInterface -o $@ - -mocassin_worker: worker_code.f90 data $(CODELIB) $(OBJS) - $(MPIFC) $(FFLAGS) $(FS_FLAGS) $(LDFLAGS) worker_code.f90 $(OBJS) $(OBJECTS) $(FS_LIBS) -o $@ $(LIBS) - -data: $(CODEDIR)/makefile - mkdir data - cp -r $(CODEDIR) data/ - - -%.mod %.o: %.f90 - $(MPIFC) $(FFLAGS) -c -o $@ $< diff --git a/src/amuse/community/mocassin/download.py b/src/amuse/community/mocassin/download.py deleted file mode 100755 index dd3bf1e267..0000000000 --- a/src/amuse/community/mocassin/download.py +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/bin/env python - -import subprocess -import os -import sys -import time -import urllib.request -import urllib.parse -import urllib.error -from optparse import OptionParser - - -class GetCodeFromHttp(object): - url_template = "http://amuse.strw.leidenuniv.nl/codes/mocassin.{version}.tar.gz" - filename_template = "mocassin.{version}.tar.gz" - version = "" - - def directory(self): - return os.path.abspath(os.path.dirname(__file__)) - - def src_directory(self): - return os.path.join(self.directory(), 'src') - - def unpack_downloaded_file(self, filename): - print("unpacking", filename) - arguments = ['tar', '-xf'] - arguments.append(filename) - subprocess.call( - arguments, - cwd=os.path.join(self.src_directory()) - ) - subprocess.call( - ['ln','-s', 'mocassin.{version}'.format(version = self.version), 'mocassin'], - cwd = os.path.join(self.src_directory()) - ) - print("done") - - def start(self): - if os.path.exists('src'): - counter = 0 - while os.path.exists('src.{0}'.format(counter)): - counter += 1 - if counter > 100: - print("too many backup directories") - break - os.rename('src', 'src.{0}'.format(counter)) - - os.mkdir('src') - - url = self.url_template.format(version=self.version) - filename = self.filename_template.format(version=self.version) - filepath = os.path.join(self.src_directory(), filename) - print("downloading version", self.version, "from", url, "to", filename) - urllib.request.urlretrieve(url, filepath) - print("downloading finished") - self.unpack_downloaded_file(filename) - - -def main(version=''): - instance = GetCodeFromHttp() - instance.version = version - instance.start() - - -def new_option_parser(): - result = OptionParser() - result.add_option( - "--version", - default='2.02.69', - dest="version", - help="version number to download", - type="string" - ) - return result - - -if __name__ == "__main__": - options, arguments = new_option_parser().parse_args() - main(**options.__dict__) diff --git a/src/amuse/community/mocassin/interface.py b/src/amuse/community/mocassin/interface.py index 4af4eb312d..0a12b74f07 100644 --- a/src/amuse/community/mocassin/interface.py +++ b/src/amuse/community/mocassin/interface.py @@ -1,1315 +1,7 @@ -from amuse.community import * -from amuse.community.interface.common import CommonCodeInterface -from amuse.support.core import OrderedDictionary -from amuse.units import derivedsi -from amuse.support.options import option +from amuse.support.import_helper import load_code +from amuse.units.units import eV -import os +MocassinInterface = load_code("mocassin", "MocassinInterface") +Mocassin = load_code("mocassin", "Mocassin") -class MocassinInterface(CodeInterface, CommonCodeInterface, - CodeWithDataDirectories): - MOCASSIN_VERSION = '2.02.70' - use_modules = ['mocassin_interface',] - - def __init__(self, **keyword_arguments): - if self.channel_type == 'distributed': - raise exceptions.AmuseException("Distributed channel not (yet) supported by Mocassin") - CodeInterface.__init__(self, name_of_the_worker="mocassin_worker", **keyword_arguments) - CodeWithDataDirectories.__init__(self) - self._options = keyword_arguments - self._abundancies_table = None - - def get_default_input_directory(self): - return os.path.join(os.path.dirname(__file__), 'data', 'mocassin.{0}'.format(self.MOCASSIN_VERSION), '') - - def setup_abundancies(self): - abundancies_file_name = os.path.join(self.output_directory, 'tmp_abundancies_file') - with open(abundancies_file_name, 'w') as abundancies_file: - for atomname, value in self.abundancies_table().items(): - abundancies_file.write("{0} !{1}\n".format(value, atomname)) - self.set_abundancies_filename(abundancies_file_name, 1) - - def abundancies_table(self): - if self._abundancies_table is None: - self._abundancies_table = self.default_abundancies_table() - return self._abundancies_table - - def default_abundancies_table(self): - result = OrderedDictionary() - result['H'] = 1. - result['He'] = 0.1 - result['Li'] = 0. - result['Be'] = 0. - result['B'] = 0. - result['C'] = 2.2e-4 - result['N'] = 4.e-5 - result['O'] = 3.3e-4 - result['F'] = 0. - result['Ne'] = 5.e-5 - result['Na'] = 0. - result['Mg'] = 0. - result['Al'] = 0. - result['Si'] = 0. - result['P'] = 0. - result['S'] = 9.e-6 - result['Cl'] = 0. - result['Ar'] = 0. - result['K'] = 0. - result['Ca'] = 0. - result['Sc'] = 0. - result['Ti'] = 0. - result['V'] = 0. - result['Cr'] = 0. - result['Mn'] = 0. - result['Fe'] = 0. - result['Co'] = 0. - result['Ni'] = 0. - result['Cu'] = 0. - result['Zn'] = 0. - return result - - @legacy_function - def setup_mesh(): - function = LegacyFunctionSpecification() - function.addParameter('nmeshx', dtype='int32', direction=function.IN) - function.addParameter('nmeshy', dtype='int32', direction=function.IN) - function.addParameter('nmeshz', dtype='int32', direction=function.IN) - function.addParameter('xlength', dtype='float64', direction=function.IN) - function.addParameter('ylength', dtype='float64', direction=function.IN) - function.addParameter('zlength', dtype='float64', direction=function.IN) - function.addParameter('index_of_grid', dtype='int32', direction=function.IN, default = 1) - function.result_type = 'int32' - return function - - @legacy_function - def setup_auto_convergence(): - function = LegacyFunctionSpecification() - function.addParameter('convergence_level_increase', dtype='float64', direction=function.IN) - function.addParameter('number_of_photons_increase', dtype='float64', direction=function.IN) - function.addParameter('maximum_number_of_photons', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def has_auto_convergence(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def uset_auto_convergence(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - - @legacy_function - def set_random_seed(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_position_of_index(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='int32', direction=function.IN) - function.addParameter('index_of_grid', dtype='int32', direction=function.IN, default = 1) - for x in ['x','y','z']: - function.addParameter(x, dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_abundancies_filename(): - function = LegacyFunctionSpecification() - function.addParameter('filename', dtype='s', direction=function.IN) - function.addParameter('index', dtype='int32', direction=function.IN, default=1) - function.result_type = 'int32' - return function - - @legacy_function - def get_abundancies_filename(): - function = LegacyFunctionSpecification() - function.addParameter('index', dtype='int32', direction=function.IN, default=1) - function.addParameter('filename', dtype='s', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_input_directory(): - function = LegacyFunctionSpecification() - function.addParameter('path', dtype='s', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_input_directory(): - function = LegacyFunctionSpecification() - function.addParameter('path', dtype='s', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_mocassin_output_directory(): - function = LegacyFunctionSpecification() - function.addParameter('path', dtype='s', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_mocassin_output_directory(): - function = LegacyFunctionSpecification() - function.addParameter('path', dtype='s', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_percentage_converged(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_constant_hydrogen_density(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_constant_hydrogen_density(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def has_constant_hydrogen_density(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_has_constant_hydrogen_density(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def redirect_outputs_to(): - function = LegacyFunctionSpecification() - function.addParameter('stdoutstring', dtype='s', direction=function.IN) - function.addParameter('stderrstring', dtype='s', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def set_total_number_of_photons(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_total_number_of_photons(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_total_number_of_points_in_frequency_mesh(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_total_number_of_points_in_frequency_mesh(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - - @legacy_function - def set_initial_nebular_temperature(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_initial_nebular_temperature(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def commit_particles(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def commit_grid(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def iterate(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def step(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def set_symmetricXYZ(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_symmetricXYZ(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_dust(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_dust(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_dust_species_filename(): - function = LegacyFunctionSpecification() - function.addParameter('filename', dtype='s', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_dust_species_filename(): - function = LegacyFunctionSpecification() - function.addParameter('filename', dtype='s', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_dust_sizes_filename(): - function = LegacyFunctionSpecification() - function.addParameter('filename', dtype='s', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_dust_sizes_filename(): - function = LegacyFunctionSpecification() - function.addParameter('filename', dtype='s', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_maximum_number_of_monte_carlo_iterations(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_maximum_number_of_monte_carlo_iterations(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_minimum_convergence_level(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_minimum_convergence_level(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_high_limit_of_the_frequency_mesh(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_high_limit_of_the_frequency_mesh(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_low_limit_of_the_frequency_mesh(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_low_limit_of_the_frequency_mesh(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - - - - - @legacy_function - def set_convergence_limit(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_convergence_limit(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_number_of_ionisation_stages(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_number_of_ionisation_stages(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def define_stars(): - function = LegacyFunctionSpecification() - function.addParameter('x', dtype='float64', direction=function.IN) - function.addParameter('y', dtype='float64', direction=function.IN) - function.addParameter('z', dtype='float64', direction=function.IN) - function.addParameter('temperature', dtype='float64', direction=function.IN) - function.addParameter('luminosity', dtype='float64', direction=function.IN) - function.addParameter('npoints', dtype='int32', direction=function.LENGTH) - function.must_handle_array=True - function.result_type = 'int32' - return function - - @legacy_function - def set_write_snapshot_every_iteration(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_write_snapshot_every_iteration(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_number_of_elements_used(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_grid_electron_temperature(): - function = LegacyFunctionSpecification() - for parametername in ['i','j','k']: - function.addParameter(parametername, dtype='int32', direction=function.IN) - function.addParameter('index_of_grid', dtype='int32', direction=function.IN, default = 1) - - function.addParameter('electron_temperature', dtype='float64', direction=function.OUT) - - function.addParameter('n', dtype='int32', direction=function.LENGTH) - function.must_handle_array = True - function.result_type = 'int32' - return function - - @legacy_function - def get_grid_electron_density(): - function = LegacyFunctionSpecification() - for parametername in ['i','j','k']: - function.addParameter(parametername, dtype='int32', direction=function.IN) - function.addParameter('index_of_grid', dtype='int32', direction=function.IN, default = 1) - - function.addParameter('electron_density', dtype='float64', direction=function.OUT) - - function.addParameter('n', dtype='int32', direction=function.LENGTH) - function.must_handle_array = True - function.result_type = 'int32' - return function - - @legacy_function - def get_grid_active(): - function = LegacyFunctionSpecification() - for parametername in ['i','j','k']: - function.addParameter(parametername, dtype='int32', direction=function.IN) - function.addParameter('index_of_grid', dtype='int32', direction=function.IN, default = 1) - - function.addParameter('is_active', dtype='bool', direction=function.OUT) - - function.addParameter('n', dtype='int32', direction=function.LENGTH) - function.must_handle_array = True - function.result_type = 'int32' - return function - - @legacy_function - def get_max_indices(): - function = LegacyFunctionSpecification() - function.addParameter('index_of_grid', dtype='int32', direction=function.IN, default = 1) - for parametername in ['ni','nj','nk']: - function.addParameter(parametername, dtype='int32', direction=function.OUT) - function.can_handle_array = True - function.result_type = 'int32' - return function - - - @legacy_function - def set_emit_rate_of_photons(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_emit_rate_of_photons(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_grid_hydrogen_density(): - function = LegacyFunctionSpecification() - for parametername in ['i','j','k']: - function.addParameter(parametername, dtype='int32', direction=function.IN) - function.addParameter('index_of_grid', dtype='int32', direction=function.IN, default = 1) - - function.addParameter('hydrogen_density', dtype='float64', direction=function.OUT) - - function.addParameter('n', dtype='int32', direction=function.LENGTH) - function.must_handle_array = True - function.result_type = 'int32' - return function - - @legacy_function - def set_grid_hydrogen_density(): - function = LegacyFunctionSpecification() - for parametername in ['i','j','k']: - function.addParameter(parametername, dtype='int32', direction=function.IN) - - function.addParameter('hydrogen_density', dtype='float64', direction=function.IN) - function.addParameter('index_of_grid', dtype='int32', direction=function.IN, default = 1) - - function.addParameter('n', dtype='int32', direction=function.LENGTH) - function.must_handle_array = True - function.result_type = 'int32' - return function - - - @legacy_function - def get_grid_electron_density(): - function = LegacyFunctionSpecification() - for parametername in ['i','j','k']: - function.addParameter(parametername, dtype='int32', direction=function.IN) - function.addParameter('index_of_grid', dtype='int32', direction=function.IN, default = 1) - - function.addParameter('density', dtype='float64', direction=function.OUT) - - function.addParameter('n', dtype='int32', direction=function.LENGTH) - function.must_handle_array = True - function.result_type = 'int32' - return function - - @legacy_function - def set_grid_electron_density(): - function = LegacyFunctionSpecification() - for parametername in ['i','j','k']: - function.addParameter(parametername, dtype='int32', direction=function.IN) - - function.addParameter('density', dtype='float64', direction=function.IN) - function.addParameter('index_of_grid', dtype='int32', direction=function.IN, default = 1) - - function.addParameter('n', dtype='int32', direction=function.LENGTH) - function.must_handle_array = True - function.result_type = 'int32' - return function - - - @legacy_function - def get_grid_ion_density(): - function = LegacyFunctionSpecification() - for parametername in ['i','j','k','elemen', 'bin']: - function.addParameter(parametername, dtype='int32', direction=function.IN) - function.addParameter('index_of_grid', dtype='int32', direction=function.IN, default = 1) - - function.addParameter('value', dtype='float64', direction=function.OUT) - - function.addParameter('n', dtype='int32', direction=function.LENGTH) - function.must_handle_array = True - function.result_type = 'int32' - return function - - @legacy_function - def set_grid_ion_density(): - function = LegacyFunctionSpecification() - for parametername in ['i','j','k','elemen', 'bin']: - function.addParameter(parametername, dtype='int32', direction=function.IN) - - function.addParameter('value', dtype='float64', direction=function.IN) - function.addParameter('index_of_grid', dtype='int32', direction=function.IN, default = 1) - - function.addParameter('n', dtype='int32', direction=function.LENGTH) - function.must_handle_array = True - function.result_type = 'int32' - return function - - @legacy_function - def get_grid_dust_number_density(): - function = LegacyFunctionSpecification() - for parametername in ['i','j','k']: - function.addParameter(parametername, dtype='int32', direction=function.IN) - function.addParameter('index_of_grid', dtype='int32', direction=function.IN, default = 1) - - function.addParameter('dust_number_density', dtype='float64', direction=function.OUT) - - function.addParameter('n', dtype='int32', direction=function.LENGTH) - function.must_handle_array = True - function.result_type = 'int32' - return function - - @legacy_function - def set_grid_dust_number_density(): - function = LegacyFunctionSpecification() - for parametername in ['i','j','k']: - function.addParameter(parametername, dtype='int32', direction=function.IN) - - function.addParameter('dust_number_density', dtype='float64', direction=function.IN) - function.addParameter('index_of_grid', dtype='int32', direction=function.IN, default = 1) - - function.addParameter('n', dtype='int32', direction=function.LENGTH) - function.must_handle_array = True - function.result_type = 'int32' - return function - - @legacy_function - def get_grid_dust_temperature(): - function = LegacyFunctionSpecification() - for parametername in ['i','j','k','species', 'grain_size']: - function.addParameter(parametername, dtype='int32', direction=function.IN) - function.addParameter('index_of_grid', dtype='int32', direction=function.IN, default = 1) - - function.addParameter('value', dtype='float64', direction=function.OUT) - - function.addParameter('n', dtype='int32', direction=function.LENGTH) - function.must_handle_array = True - function.result_type = 'int32' - return function - - - - - -#class Parameters(object): -# emit_rate_of_photons = MethodParameter(name = "emit_rate_of_photons", unit = units.seconds, default = ) -# -#class Methods(object): -# get_grid_electron_density = MethodWithUnit(name = "get_grid_electron_density", i = INDEX, j = INDEX, k = INDEX, is_active = NOUNIT ) - -mocassin_rydberg_unit = 13.6 * units.eV - -class Mocassin(InCodeComponentImplementation): - - def __init__(self, **options): - InCodeComponentImplementation.__init__(self, MocassinInterface(**options), **options) - - def get_index_range_inclusive(self, index_of_grid = 1): - ni, nj, nk = self.get_max_indices(index_of_grid) - return (1, ni, 1, nj, 1, nk) - - def get_index_range_inclusive_ion_density_grid(self, index_of_grid = 1): - ni, nj, nk = self.get_max_indices(index_of_grid) - nstages = self.get_number_of_ionisation_stages() - nbins = self.get_total_number_of_points_in_frequency_mesh() - return (1, ni, 1, nj, 1, nk, 1, nstages, 1, nbins) - - def get_index_range_inclusive_dust_temperature_grid(self, index_of_grid = 1): - ni, nj, nk = self.get_max_indices(index_of_grid) - nspecies = 1 - nsizes = 1 - return (1, ni, 1, nj, 1, nk, 1, nspecies, 1, nsizes) - - def define_methods(self, handler): - - handler.add_method( - 'commit_grid', - (), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'commit_particles', - (), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'iterate', - (), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'step', - (), - (handler.ERROR_CODE,) - ) - - - handler.add_method( - 'get_percentage_converged', - (), - (handler.NO_UNIT, handler.ERROR_CODE) - ) - handler.add_method( - 'get_position_of_index', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (units.cm, units.cm, units.cm, handler.ERROR_CODE,) - ) - handler.add_method( - 'get_max_indices', - (handler.INDEX), - (handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.ERROR_CODE,) - - ) - handler.add_method( - 'get_grid_electron_temperature', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (units.K, handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_grid_hydrogen_density', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (units.cm**-3, handler.ERROR_CODE,) - ) - - handler.add_method( - 'set_grid_hydrogen_density', - (handler.INDEX, handler.INDEX, handler.INDEX, units.cm**-3 , handler.INDEX), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'get_grid_dust_number_density', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (units.cm**-3, handler.ERROR_CODE,) - ) - - handler.add_method( - 'set_grid_dust_number_density', - (handler.INDEX, handler.INDEX, handler.INDEX, units.cm**-3, handler.INDEX), - (handler.ERROR_CODE,) - ) - - - - handler.add_method( - 'get_grid_electron_density', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (units.cm**-3, handler.ERROR_CODE,) - ) - - handler.add_method( - 'set_grid_electron_density', - (handler.INDEX, handler.INDEX, handler.INDEX, units.cm**-3 , handler.INDEX), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_grid_dust_temperature', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (units.K, handler.ERROR_CODE,) - ) - - - handler.add_method( - 'get_grid_ion_density', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - 'set_grid_ion_density', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.NO_UNIT , handler.INDEX), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_grid_active', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - handler.add_method( - 'define_stars', - (units.cm, units.cm, units.cm, units.K, 1e36 * units.erg * (units.s**-1)), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_abundancies_filename", - (handler.NO_UNIT, ), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_abundancies_filename", - (handler.NO_UNIT, handler.NO_UNIT,), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_constant_hydrogen_density", - (), - (1.0/units.cm**3, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_constant_hydrogen_density", - (1.0/units.cm**3, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_convergence_limit", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_convergence_limit", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_emit_rate_of_photons", - (), - (1e36 / units.s, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_emit_rate_of_photons", - (1e36 / units.s, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_high_limit_of_the_frequency_mesh", - (), - (mocassin_rydberg_unit, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_high_limit_of_the_frequency_mesh", - (mocassin_rydberg_unit, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_initial_nebular_temperature", - (), - (units.K, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_initial_nebular_temperature", - (units.K, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_inner_radius_of_the_ionised_region", - (), - (units.cm, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_inner_radius_of_the_ionised_region", - (units.cm, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_input_directory", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_input_directory", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_mocassin_output_directory", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_mocassin_output_directory", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_low_limit_of_the_frequency_mesh", - (), - (mocassin_rydberg_unit, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_low_limit_of_the_frequency_mesh", - (mocassin_rydberg_unit, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_maximum_number_of_monte_carlo_iterations", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_maximum_number_of_monte_carlo_iterations", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_minimum_convergence_level", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_minimum_convergence_level", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_number_of_ionisation_stages", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_number_of_ionisation_stages", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - - handler.add_method( - "get_symmetricXYZ", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_symmetricXYZ", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_dust", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_dust", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_dust_species_filename", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_dust_species_filename", - (handler.NO_UNIT,), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_dust_sizes_filename", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_dust_sizes_filename", - (handler.NO_UNIT,), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_total_number_of_photons", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_total_number_of_photons", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_total_number_of_points_in_frequency_mesh", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_total_number_of_points_in_frequency_mesh", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_write_snapshot_every_iteration", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_write_snapshot_every_iteration", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'setup_mesh', - (handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, units.cm, units.cm, units.cm, handler.NO_UNIT,), - (handler.ERROR_CODE,) - ) - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_abundancies_filename", - "set_abundancies_filename", - "abundancies_filename", - "", - default_value = "" - ) - - - handler.add_method_parameter( - "get_constant_hydrogen_density", - "set_constant_hydrogen_density", - "constant_hydrogen_density", - "", - default_value = 100.0 | (1.0/units.cm**3) - ) - - - handler.add_method_parameter( - "get_convergence_limit", - "set_convergence_limit", - "convergence_limit", - "", - default_value = 0.0 - ) - - - handler.add_method_parameter( - "get_emit_rate_of_photons", - "set_emit_rate_of_photons", - "emit_rate_of_photons", - "This is the number of hydrogen-ionizing photons emitted by the source per unit time. Only used when a single star is modelled", - default_value = 0.0 | (1e36 / units.s) - ) - - - handler.add_method_parameter( - "get_high_limit_of_the_frequency_mesh", - "set_high_limit_of_the_frequency_mesh", - "high_limit_of_the_frequency_mesh", - "", - default_value = 15. | mocassin_rydberg_unit - ) - - - handler.add_method_parameter( - "get_initial_nebular_temperature", - "set_initial_nebular_temperature", - "initial_nebular_temperature", - "Initial guess for the nebular temperature. ", - default_value = 10000.0 | units.K - ) - - - #~ handler.add_method_parameter( - #~ "get_inner_radius_of_the_ionised_region", - #~ "set_inner_radius_of_the_ionised_region", - #~ "inner_radius_of_the_ionised_region", - #~ "Inner radius of the ionised region", - #~ default_value = 0.0 | units.cm - #~ ) - - - handler.add_method_parameter( - "get_input_directory", - "set_input_directory", - "input_directory", - "", - default_value = 0.0 - ) - - - handler.add_method_parameter( - "get_low_limit_of_the_frequency_mesh", - "set_low_limit_of_the_frequency_mesh", - "low_limit_of_the_frequency_mesh", - "", - default_value = 1.001e-5 | mocassin_rydberg_unit - ) - - - handler.add_method_parameter( - "get_maximum_number_of_monte_carlo_iterations", - "set_maximum_number_of_monte_carlo_iterations", - "maximum_number_of_monte_carlo_iterations", - "", - default_value = 0.0 - ) - - - handler.add_method_parameter( - "get_minimum_convergence_level", - "set_minimum_convergence_level", - "minimum_convergence_level", - "", - default_value = 0.0 - ) - - - handler.add_method_parameter( - "get_number_of_ionisation_stages", - "set_number_of_ionisation_stages", - "number_of_ionisation_stages", - "", - default_value = 6 - ) - - - - - handler.add_method_parameter( - "get_symmetricXYZ", - "set_symmetricXYZ", - "symmetricXYZ", - "If true assumes model is symetric in the X, Y and Z axes", - default_value = 0.0 - ) - - handler.add_method_parameter( - "get_dust", - "set_dust", - "dust", - "If true also includes dust in the model", - default_value = False - ) - - handler.add_method_parameter( - "get_dust_species_filename", - "set_dust_species_filename", - "dust_species_filename", - "Name of the file that contains a list of species", - default_value = "none" - ) - - handler.add_method_parameter( - "get_dust_sizes_filename", - "set_dust_sizes_filename", - "dust_sizes_filename", - "Name of the file that contains a list of grain sizes and their fractions", - default_value = "none" - ) - handler.add_method_parameter( - "get_total_number_of_photons", - "set_total_number_of_photons", - "total_number_of_photons", - "Total number of photons to start the iteration with", - default_value = 0.0 - ) - - - handler.add_method_parameter( - "get_total_number_of_points_in_frequency_mesh", - "set_total_number_of_points_in_frequency_mesh", - "total_number_of_points_in_frequency_mesh", - "", - default_value = 0.0 - ) - - - handler.add_method_parameter( - "get_write_snapshot_every_iteration", - "set_write_snapshot_every_iteration", - "write_snapshot_every_iteration", - "If True will write the data to an output directory after every monte carlo iteration", - default_value = 0.0 - ) - - handler.add_caching_parameter( - "setup_mesh", - "nmeshx", - "nx", - "number of cells in the x direction", - 10, - ) - - - handler.add_caching_parameter( - "setup_mesh", - "nmeshy", - "ny", - "number of cells in the y direction", - 10, - ) - - - handler.add_caching_parameter( - "setup_mesh", - "nmeshz", - "nz", - "number of cells in the z direction", - 10, - ) - - handler.add_caching_parameter( - "setup_mesh", - "xlength", - "length_x", - "length of model in the x direction", - 2e19 | units.cm, - ) - handler.add_caching_parameter( - "setup_mesh", - "ylength", - "length_y", - "length of model in the x direction", - 2e19 | units.cm, - ) - handler.add_caching_parameter( - "setup_mesh", - "zlength", - "length_z", - "length of model in the z direction", - 2e19 | units.cm, - ) - - handler.add_vector_parameter( - "mesh_size", - "number of cells in the x, y and z directions", - ("nx", "ny", "nz") - ) - - handler.add_vector_parameter( - "mesh_length", - "length of the model in the x, y and z directions", - ("length_x", "length_y", "length_z") - ) - - def commit_parameters(self): - self.setup_abundancies() - self.parameters.send_cached_parameters_to_code() - self.overridden().commit_parameters() - - def define_particle_sets(self, handler): - handler.define_grid('grid') - handler.set_grid_range('grid', 'get_index_range_inclusive') - handler.add_getter('grid', 'get_position_of_index', names=('x','y','z')) - handler.add_getter('grid', 'get_grid_electron_temperature', names=('electron_temperature',)) - handler.add_getter('grid', 'get_grid_electron_density', names=('electron_density',)) - handler.add_setter('grid', 'set_grid_electron_density', names=('electron_density',)) - handler.add_getter('grid', 'get_grid_hydrogen_density', names=('hydrogen_density',)) - handler.add_setter('grid', 'set_grid_hydrogen_density', names=('hydrogen_density',)) - handler.add_getter('grid', 'get_grid_dust_number_density', names=('dust_number_density',)) - handler.add_setter('grid', 'set_grid_dust_number_density', names=('dust_number_density',)) - - handler.define_extra_keywords('grid', {'index_of_grid':1}) - - - handler.define_grid('ion_density_grid') - handler.set_grid_range('ion_density_grid', 'get_index_range_inclusive_ion_density_grid') - handler.add_getter('ion_density_grid', 'get_grid_ion_density', names=('density',)) - handler.add_setter('ion_density_grid', 'set_grid_ion_density', names=('density',)) - handler.define_extra_keywords('ion_density_grid', {'index_of_grid':1}) - - handler.define_grid('dust_temperature_grid') - handler.set_grid_range('dust_temperature_grid', 'get_index_range_inclusive_dust_temperature_grid') - handler.add_getter('dust_temperature_grid', 'get_grid_dust_temperature', names=('temperature',)) - handler.define_extra_keywords('dust_temperature_grid', {'index_of_grid':1}) - - handler.define_inmemory_set('particles') - - def commit_particles(self): - self.define_stars( - self.particles.x, - self.particles.y, - self.particles.z, - self.particles.temperature, - self.particles.luminosity - ) - self.overridden().commit_particles() - - +mocassin_rydberg_unit = 13.6 * eV diff --git a/src/amuse/community/mocassin/patch_files.py b/src/amuse/community/mocassin/patch_files.py deleted file mode 100755 index a913ee6fb1..0000000000 --- a/src/amuse/community/mocassin/patch_files.py +++ /dev/null @@ -1,115 +0,0 @@ -#!/usr/bin/env python - -import os -import sys -import subprocess -import re - -PATCHESDIR = "patches" -QUILT_PC = ".pc" - - -def execute_command_line(arguments, cwd=None): - process = subprocess.Popen( - arguments, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=cwd - ) - stdoutstring, stderrstring = process.communicate() - returncode = process.poll() - return stdoutstring, stderrstring, returncode - - -def which(executablename): - stdoutstring, stderrstring, returncode = execute_command_line( - ["which", executablename] - ) - if not returncode == 0: - return None - else: - return stdoutstring - - -def is_quilt_installed(): - path = which("quilt") - if path is None: - return False - - stdoutstring, stderrstring, returncode = execute_command_line( - ["quilt", "--version"] - ) - if not returncode == 0: - return False - - version_re = re.compile(r"(\d).(\d\d)") - match = version_re.match(str(stdoutstring)) - if not match: - return False - - return True - - -def apply_patches_using_quilt(): - returncode = subprocess.call(["quilt", "push", "-a"]) - if not returncode == 0: - raise Exception( - "error in applying the patches, please apply by hand using quilt push" - ) - - -def undo_patches_using_quilt(): - returncode = subprocess.call(["quilt", "pop", "-a"]) - if not returncode == 0: - raise Exception( - "error in undoing the patches, please undo by hand using quilt pop -a" - ) - - -def run_patch(patchname, patchfile): - arguments = [ - "patch", - "-p1", - "--backup", - "--prefix={0}/{1}/".format(QUILT_PC, patchname), - "-E", - "-i", - patchfile, - ] - returncode = subprocess.call(arguments) - if not returncode == 0: - raise Exception("could not apply patch {0}".format(patchname)) - - -def apply_patches_using_patch(): - with open("patches/series", "r") as f: - lines = f.readlines() - patches = [x.strip() for x in lines] - patches = [x for x in patches if len(x) > 0] - for patch in patches: - path = os.path.join(PATCHESDIR, patch) - run_patch(patch, path) - - -def main(undo_patches=False): - print("checking if quilt is installed ... ", end=" ") - if not is_quilt_installed(): - print("no") - - if undo_patches: - print("quilt is not installed, cannot undo the patches") - sys.exit(1) - else: - print("applying patches to source code") - apply_patches_using_patch() - else: - print("yes") - - if undo_patches: - print("quilt is install, will try to undo the patches") - undo_patches_using_quilt() - else: - print("applying patches to source code") - apply_patches_using_quilt() - print("all patches applied") - - -if __name__ == "__main__": - main() diff --git a/src/amuse/community/mocassin/patches/memfix b/src/amuse/community/mocassin/patches/memfix deleted file mode 100644 index 55f3188ef4..0000000000 --- a/src/amuse/community/mocassin/patches/memfix +++ /dev/null @@ -1,13 +0,0 @@ -Index: mocassin/src/mocassin.2.02.70/source/grid_mod.f90 -=================================================================== ---- mocassin.orig/src/mocassin.2.02.70/source/grid_mod.f90 2015-10-15 15:37:16.755902637 +0200 -+++ mocassin/src/mocassin.2.02.70/source/grid_mod.f90 2016-01-26 15:19:37.051774315 +0100 -@@ -954,7 +954,7 @@ - character(len=40) :: keyword ! character string readers - - print*, 'in setMotherGrid' -- -+ nullify(MdMg) - ! this is the mother grid - grid%motherP = 0 - diff --git a/src/amuse/community/mocassin/patches/random b/src/amuse/community/mocassin/patches/random deleted file mode 100644 index 94c36b149b..0000000000 --- a/src/amuse/community/mocassin/patches/random +++ /dev/null @@ -1,36 +0,0 @@ -Index: mocassin/src/mocassin.2.02.70/source/common_mod.f90 -=================================================================== ---- mocassin.orig/src/mocassin.2.02.70/source/common_mod.f90 2011-09-28 16:06:19.000000000 +0200 -+++ mocassin/src/mocassin.2.02.70/source/common_mod.f90 2011-09-28 16:08:12.000000000 +0200 -@@ -38,6 +38,7 @@ - logical :: lgNosource = .false. ! exclude sources from SED? - logical :: lginputDustMass = .false.! user sets input dust mass? - logical :: lginputGasMass = .false. ! user sets input gas mass? -+ logical :: lgDoSeedRandom = .true. ! photon module will seed the random number generator - - real, pointer :: gSca(:) ! gSca(freq) - -Index: mocassin/src/mocassin.2.02.70/source/photon_mod.f90 -=================================================================== ---- mocassin.orig/src/mocassin.2.02.70/source/photon_mod.f90 2011-01-16 22:26:52.000000000 +0100 -+++ mocassin/src/mocassin.2.02.70/source/photon_mod.f90 2011-09-28 16:07:51.000000000 +0200 -@@ -79,7 +79,8 @@ - if (iStar == 0) then - deltaE(0) = grid(gpLoc)%LdiffuseLoc(grid(gpLoc)%active(cellLoc(1),cellLoc(2),cellLoc(3)))/NphotonsDiffuseLoc - end if -- -+ -+ if (lgDoSeedRandom) then - call date_and_time(values=dt) - msec=dt(8) - -@@ -100,7 +101,8 @@ - call random_seed(put = seed) - - if (associated(seed)) deallocate(seed) -- -+ end if -+ - Qphot = 0. - - trapped = 0 diff --git a/src/amuse/community/mocassin/patches/series b/src/amuse/community/mocassin/patches/series deleted file mode 100644 index 744d5e2e74..0000000000 --- a/src/amuse/community/mocassin/patches/series +++ /dev/null @@ -1,7 +0,0 @@ -build -code -output -random -outputdir -ifort -memfix diff --git a/src/amuse/community/mosse/Makefile b/src/amuse/community/mosse/Makefile deleted file mode 100644 index ff27be783b..0000000000 --- a/src/amuse/community/mosse/Makefile +++ /dev/null @@ -1,49 +0,0 @@ -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif - --include ${AMUSE_DIR}/config.mk # NG has some doubts - -MPIF90 ?= $(MPIFC) - -FORTRAN ?= gfortran - -F77FLAGS = # -ifneq (,$(findstring xlf, $(notdir $(FORTRAN)))) # -F77FLAGS += -qfixed # -endif # NG has some doubts - - - -FSLIBS ?= -L$(AMUSE_DIR)/lib/forsockets -lforsockets -FSINC ?= -I$(AMUSE_DIR)/lib/forsockets - -AM_LIBS = -L$(AMUSE_DIR)/lib/amuse_mpi -lamuse_mpi -AM_CFLAGS = -I$(AMUSE_DIR)/lib/amuse_mpi - -OBJ = src/deltat.o src/evolv1.o src/hrdiag.o \ - src/kick.o src/mlwind.o src/mrenv.o \ - src/ran3.o src/pisn.f src/eddington.f src/fallback.f \ - src/star.o src/zcnsts.o src/zfuncs.o - -all: mosse_worker - -clean: - $(RM) -f *~ *.so *.pyc *.o src/*.o src/mosse worker_code worker_code.f90 - $(RM) -f mosse_worker mosse_worker_sockets worker_code-sockets.f90 - $(RM) -f amuse_worker_module.mod - $(RM) -f forsockets.mod - -mosse_worker: worker_code.f90 interface.o $(OBJ) - make -C src mosse CMPLR=$(FORTRAN) FFLAGS="$(FCFLAGS) $(F77FLAGS)" - $(MPIF90) $(FS_FLAGS) $(LDFLAGS) $^ -o $@ $(FS_LIBS) $(LIBS) - -worker_code.f90: interface.py - $(CODE_GENERATOR) --type=f90 interface.py MOSSEInterface -o $@ - -.f.o: $< - $(FORTRAN) -c $(F77FLAGS) $(FCFLAGS) -o $@ $< - -%.o: %.f90 - $(FORTRAN) $(FFLAGS) $(FCFLAGS) -c -o $@ $< - diff --git a/src/amuse/community/mosse/interface.py b/src/amuse/community/mosse/interface.py index 6658221342..a8cedc2d18 100644 --- a/src/amuse/community/mosse/interface.py +++ b/src/amuse/community/mosse/interface.py @@ -1,492 +1,7 @@ -import numpy -from operator import itemgetter -from amuse.community import * -from amuse.units import units -from amuse.units import constants -from amuse.support.interface import InCodeComponentImplementation -from amuse.community.interface import common +from amuse.support.import_helper import load_code -from amuse.datamodel import Particles -from amuse.datamodel import ParticlesSubset -class MOSSEInterface(CodeInterface, common.CommonCodeInterface , LiteratureReferencesMixIn): - """ - MOSSE (Massive Object in SSE) is an updated version of the **rapid** binary-star - evolution (SSE) algorithm. With respect to SSE, the major upgrades are that MOSSE - includes up-to-date equations for metal-dependent stellar winds and new prescriptions - for core-collapse supernova explosion (SNe). Moreover, MOSSE includes the dependence - of stellar winds on the Eddington factor: if a star approaches the Eddington limit - stellar winds become almost insensitive to metallicity. MOSSE includes also the effects - of Pulsation Pair Instability SNe and Pair Instability SNe, it has more precise - formulas to compute the core radii and it can use a different velocity distribution - to calculate the velocity kick due to electron-capture SNe. More details about MOSSE can - be found in paper: - - .. [#] ADS:2018MNRAS.474.2959G (Nicola Giacobbo, Michela Mapelli & Mario Spera, 2018, MNRAS, 474, 2959: - .. [#] ... Merging black hole binaries: the effects of progenitor s metallicity, mass-loss rate and Eddington factor) - - The details about SSE can be found in the SSE paper: - .. [#] ADS:2000MNRAS.315..543H (Hurley J.R., Pols O.R., Tout C.A., 2000, MNRAS, 315, 543: - .. [#] ... Comprehensive analytic formulae for stellar evolution as a function of mass and metallicity) - """ - def __init__(self, **options): - CodeInterface.__init__(self, name_of_the_worker="mosse_worker", **options) - LiteratureReferencesMixIn.__init__(self) - - @legacy_function - def initialize(): - function = LegacyFunctionSpecification() - function.addParameter('z_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('neta_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('bwind_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('hewind_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('sigma1_in', dtype='d', direction=function.IN, unit = units.km / units.s) - function.addParameter('sigma2_in', dtype='d', direction=function.IN, unit = units.km / units.s) - function.addParameter('ifflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('wdflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('bhflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('nsflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('piflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('mxns_in', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('idum_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('pts1_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('pts2_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('pts3_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('status', dtype='i', direction=function.OUT, unit = NO_UNIT) - return function - - @legacy_function - def evolve_star(): - function = LegacyFunctionSpecification() - function.name = 'evolve0' - function.can_handle_array = True - function.addParameter('kw', dtype='i', direction=function.INOUT, unit = units.stellar_type) - function.addParameter('mass', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('mt', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('r', dtype='d', direction=function.INOUT, unit = units.RSun) - function.addParameter('lum', dtype='d', direction=function.INOUT, unit = units.LSun) - function.addParameter('mc', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('rc', dtype='d', direction=function.INOUT, unit = units.RSun) - function.addParameter('menv', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('renv', dtype='d', direction=function.INOUT, unit = units.RSun) - function.addParameter('ospin', dtype='d', direction=function.INOUT, unit = units.yr**-1) - function.addParameter('epoch', dtype='d', direction=function.INOUT, unit = units.Myr) - function.addParameter('tm', dtype='d', direction=function.INOUT, unit = units.Myr) - function.addParameter('tphys', dtype='d', direction=function.INOUT, unit = units.Myr) - function.addParameter('tphysf', dtype='d', direction=function.INOUT, unit = units.Myr) - return function - - @legacy_function - def get_time_step(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('kw', dtype='i', direction=function.IN, unit = units.stellar_type) - function.addParameter('mass', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('age', dtype='d', direction=function.IN, unit = units.Myr) - function.addParameter('mt', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('tm', dtype='d', direction=function.IN, unit = units.Myr) - function.addParameter('epoch', dtype='d', direction=function.IN, unit = units.Myr) - function.addParameter('dt', dtype='d', direction=function.OUT, unit = units.Myr) - - return function - - @legacy_function - def get_mass_loss_wind(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('kw', dtype='i', direction=function.IN, unit = units.stellar_type) - function.addParameter('lum', dtype='d', direction=function.IN, unit = units.LSun) - function.addParameter('r', dtype='d', direction=function.IN, unit = units.RSun) - function.addParameter('mt', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('mc', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('mlout', dtype='d', direction=function.OUT, unit = units.MSun/units.yr) - - return function - - - @legacy_function - def get_gyration_radius(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('kw', dtype='i', direction=function.IN, unit = units.stellar_type) - function.addParameter('mass', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('mt', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('r', dtype='d', direction=function.IN, unit = units.RSun) - function.addParameter('lum', dtype='d', direction=function.IN, unit = units.LSun) - function.addParameter('epoch', dtype='d', direction=function.IN, unit = units.Myr) - function.addParameter('tm', dtype='d', direction=function.IN, unit = units.Myr) - function.addParameter('tphys', dtype='d', direction=function.IN, unit = units.Myr) - function.addParameter('rg', dtype='d', direction=function.OUT, unit = NO_UNIT) - - return function - - def initialize_code(self): - return 0 - - def commit_parameters(self): - return 0 - - def recommit_parameters(self): - return 0 - - def cleanup_code(self): - return 0 - - def commit_particles(self): - return 0 - - - -class MOSSEParticles(Particles): - - def __init__(self, code_interface, storage = None): - Particles.__init__(self, storage = storage) - self._private.code_interface = code_interface - self.add_calculated_attribute("temperature", self.calculate_effective_temperature, ["luminosity", "radius"]) - self.add_function_attribute("evolve_one_step", self.particleset_evolve_one_step, self.evolve_one_step) - self.add_function_attribute("evolve_for", self.particleset_evolve_for, self.evolve_for) - - def calculate_effective_temperature(self, luminosity, radius): - return ((luminosity/(constants.four_pi_stefan_boltzmann*radius**2))**.25).in_(units.K) - - def add_particles_to_store(self, keys, attributes = [], values = []): - if len(keys) == 0: - return - - all_attributes = [] - all_attributes.extend(attributes) - all_values = [] - all_values.extend(values) - - mapping_from_attribute_to_default_value = { - "stellar_type" : 1 | units.stellar_type, - "radius": 0 | units.RSun, - "luminosity": 0 | units.LSun, - "core_mass": 0 | units.MSun, - "CO_core_mass": 0 | units.MSun, - "core_radius": 0 | units.RSun, - "convective_envelope_mass": 0 | units.MSun, - "convective_envelope_radius": 0 | units.RSun, - "epoch": 0 | units.Myr, - "spin": 0 | units.yr**-1, - "main_sequence_lifetime": 0 | units.Myr, - "age": 0 | units.Myr - } - - given_attributes = set(attributes) - - if not "initial_mass" in given_attributes: - index_of_mass_attibute = attributes.index("mass") - all_attributes.append("initial_mass") - all_values.append(values[index_of_mass_attibute] * 1.0) - - for attribute, default_value in mapping_from_attribute_to_default_value.items(): - if not attribute in given_attributes: - all_attributes.append(attribute) - all_values.append(default_value.as_vector_with_length(len(keys))) - - super(MOSSEParticles, self).add_particles_to_store(keys, all_attributes, all_values) - - added_particles = ParticlesSubset(self, keys) - self._private.code_interface._evolve_particles(added_particles, 0 | units.yr) - - def evolve_one_step(self, particles, subset): - self._private.code_interface._evolve_particles(subset.as_set(), subset.age + subset.time_step) - - def particleset_evolve_one_step(self, particles): - self._private.code_interface._evolve_particles(particles, particles.age + particles.time_step) - - def evolve_for(self, particles, subset, delta_time): - self._private.code_interface._evolve_particles(subset.as_set(), subset.age + delta_time) - - def particleset_evolve_for(self, particles, delta_time): - self._private.code_interface._evolve_particles(particles, particles.age + delta_time) - - - def get_defined_attribute_names(self): - return ["mass", "radius"] - - - - - - - - - - -class MOSSE(common.CommonCode): - - def __init__(self, **options): - InCodeComponentImplementation.__init__(self, MOSSEInterface(**options), **options) - - self.model_time = 0.0 | units.yr - - - def define_parameters(self, handler): - - handler.add_caching_parameter( - "initialize", - "z_in", - "metallicity", - "Metallicity of all stars", - 0.02 - ) - - handler.add_caching_parameter( - "initialize", - "neta_in", - "reimers_mass_loss_coefficient", - "Reimers mass-loss coefficient (neta*4x10^-13; 0.5 normally)", - 0.5 - ) - - handler.add_caching_parameter( - "initialize", - "bwind_in", - "binary_enhanced_mass_loss_parameter", - "The binary enhanced mass loss parameter (inactive for single).", - 0.0 - ) - - handler.add_caching_parameter( - "initialize", - "hewind_in", - "helium_star_mass_loss_factor", - "Helium star mass loss factor", - 1.0 - ) - - handler.add_caching_parameter( - "initialize", - "sigma1_in", - "SN_kick_speed_dispersion_ICS", - "The dispersion in the Maxwellian for the SN kick speed (265 km/s from Hobbs et al. 2005).", - 265.0 | units.km / units.s - ) - - handler.add_caching_parameter( - "initialize", - "sigma2_in", - "SN_kick_speed_dispersion_ECS", - "The dispersion in the Maxwellian for the SN kick speed (7 km/s).", - 7.0 | units.km / units.s - ) - - handler.add_caching_parameter( - "initialize", - "ifflag_in", - "white_dwarf_IFMR_flag", - "ifflag > 0 uses white dwarf IFMR (initial-final mass relation) of HPE, 1995, MNRAS, 272, 800 (0).", - 0 - ) - - handler.add_caching_parameter( - "initialize", - "wdflag_in", - "white_dwarf_cooling_flag", - "wdflag > 0 uses modified-Mestel cooling for WDs (0).", - 1 - ) - - handler.add_caching_parameter( - "initialize", - "bhflag_in", - "black_hole_kick_flag", - "bhflag > 0 allows velocity kick at BH formation (0).", - 1 - ) - - handler.add_caching_parameter( - "initialize", - "nsflag_in", - "neutron_star_mass_flag", - "nsflag > 0 takes NS/BH mass from Belczynski et al. 2002, ApJ, 572, 407 (1).", - 3 - ) - - handler.add_caching_parameter( - "initialize", - "piflag_in", - "pair_instability_flag", - "piflag > 0 activates the PPISN and PISN from Spera & Mapelli 2017, MNRAS, 470, 4739 (1).", - 1 - ) - - handler.add_caching_parameter( - "initialize", - "mxns_in", - "maximum_neutron_star_mass", - "The maximum neutron star mass (1.8, nsflag=0; 3.0, nsflag=1).", - 3.0 | units.MSun - ) - - handler.add_caching_parameter( - "initialize", - "idum_in", - "SN_kick_random_seed", - "The random number seed used in the kick routine.", - 29769 - ) - - handler.add_caching_parameter( - "initialize", - "pts1_in", - "fractional_time_step_1", - "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: MS (0.05)", - 0.05 - ) - - handler.add_caching_parameter( - "initialize", - "pts2_in", - "fractional_time_step_2", - "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: GB, CHeB, AGB, HeGB (0.01)", - 0.01 - ) - - handler.add_caching_parameter( - "initialize", - "pts3_in", - "fractional_time_step_3", - "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: HG, HeMS (0.02)", - 0.02 - ) - - def define_state(self, handler): - common.CommonCode.define_state(self, handler) - handler.add_transition('INITIALIZED','RUN','commit_parameters') - handler.add_method('RUN', 'evolve_star') - - handler.add_method('RUN', 'before_get_parameter') - handler.add_method('RUN', 'before_set_parameter') - - - def define_particle_sets(self, handler): - handler.define_inmemory_set('particles', MOSSEParticles) - - handler.add_attribute( - 'particles', - 'time_step', - 'get_time_step', - ('stellar_type', 'initial_mass', 'age', - 'mass', 'main_sequence_lifetime', 'epoch') - ) - - handler.add_attribute( - 'particles', - 'mass_loss_wind', - 'get_mass_loss_wind', - ('stellar_type', 'luminosity', - 'radius', 'mass', - 'CO_core_mass') - ) - - handler.add_attribute( - 'particles', - 'gyration_radius', - 'get_gyration_radius', - ('stellar_type', 'initial_mass','mass','radius', - 'luminosity','epoch','main_sequence_lifetime', - 'age') - ) - - def _evolve_particles(self, particles, end_time): - attributes = ( - "stellar_type", - "initial_mass", - "mass", - "radius", - "luminosity", - "core_mass", - "core_radius", - "convective_envelope_mass", - "convective_envelope_radius", - "spin", - "epoch", - "main_sequence_lifetime", - "age", - "end_time" - ) - - result = self.evolve_star( - particles.stellar_type, - particles.initial_mass, - particles.mass, - particles.radius, - particles.luminosity, - particles.core_mass, - particles.core_radius, - particles.convective_envelope_mass, - particles.convective_envelope_radius, - particles.spin, - particles.epoch, - particles.main_sequence_lifetime, - particles.age, - end_time.as_vector_with_length(len(particles))) - - # For helium (and helium exhausted) stars, the core mass returned is actually the CO core mass - type = result[0].value_in(units.stellar_type) - helium_star_selection = (type > 6) & (type < 16) & (type != 10) - helium_stars = particles[helium_star_selection] - other_stars = particles - helium_stars - if len(helium_stars): - helium_stars_results = [sub[helium_star_selection] for sub in result] - helium_stars_results.append(helium_stars_results[2]) - helium_stars.set_values_in_store(helium_stars.get_all_indices_in_store(), ( - "stellar_type", "initial_mass", "mass", "radius", "luminosity", - "CO_core_mass", - "core_radius", "convective_envelope_mass", "convective_envelope_radius", "spin", "epoch", - "main_sequence_lifetime", "age", "end_time", - "core_mass"), helium_stars_results) - if len(other_stars): - other_star_selection = numpy.logical_not(helium_star_selection) - other_stars.set_values_in_store(other_stars.get_all_indices_in_store(), attributes, - [sub[other_star_selection] for sub in result]) - - def evolve_model(self, end_time = None, keep_synchronous = True): - if not keep_synchronous: - self._evolve_particles(self.particles, self.particles.time_step + self.particles.age) - return - - if end_time is None: - end_time = self.model_time + min(self.particles.time_step) - self._evolve_particles(self.particles, end_time - self.model_time + self.particles.age) - self.model_time = end_time - - def _evolve_model_old(self, end_time = None, keep_synchronous = True): - """ - This is the old implementation of evolve_model. Even with (keep_synchronous = True) - it is unable to evolve all stars to a common age, since it relies on the - individual timesteps as determined by the community code. Furthermore, it - is not suited to simulations with ongoing star formation, since it evolves - newly created stars to the same age as the old stars. - """ - if end_time is None: - if keep_synchronous: - ages = self.particles.age - index, min_age = min(enumerate(ages), key=itemgetter(1)) - new_age = min_age + self.particles[index].time_step - selection = self.particles.select(lambda x : x < new_age, ["age"]) - self._evolve_particles(selection, selection.time_step + selection.age) - return - end_time = self.particles.time_step + self.particles.age - - self._evolve_particles(self.particles, end_time) - - - def commit_parameters(self): - self.parameters.send_cached_parameters_to_code() - self.overridden().commit_parameters() - - def initialize_module_with_current_parameters(self): - self.parameters.send_cached_parameters_to_code() - - def initialize_module_with_default_parameters(self): - self.parameters.set_defaults() - self.commit_parameters() - - def update_time_steps(self): - pass +MOSSEInterface = load_code("mosse", "MOSSEInterface") +MOSSE = load_code("mosse", "MOSSE") Mosse = MOSSE diff --git a/src/amuse/community/mpiamrvac/Makefile b/src/amuse/community/mpiamrvac/Makefile deleted file mode 100644 index e097605bda..0000000000 --- a/src/amuse/community/mpiamrvac/Makefile +++ /dev/null @@ -1,233 +0,0 @@ -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include $(AMUSE_DIR)/config.mk - -# need := to expand the variable here and not when it is used -FORTRAN:=$(FC) -MPIFC ?= mpif90 -PYTHON ?= python -FC = $(MPIFC) -LDFLAGS += -lm $(MUSE_LD_FLAGS) - -FFLAGS += $(FCFLAGS) - -# check for gfortran, this catches link and compiler wrappers -ifeq ($(findstring GNU, $(shell $(FC) --version)), GNU) -FFLAGS += -std=legacy -ffree-form -endif - - -# xlf flags, untested, need to add flags for free form maybe -ifeq ($(findstring xlf, $(notdir $(FORTRAN))), xlf) -FFLAGS += -ffree-form -F77FLAGS += -qfixed -endif - -# ifort flags -IFORT_MAJOR_MINOR= -ifeq ($(findstring ifort, $(notdir $(FORTRAN))), ifort) -IFORT_VERSION?=$(shell $(FC) -v 2>&1 | cut -d\ -f2) -IFORT_MAJOR_MINOR=$(shell echo $(IFORT_VERSION) | cut -s -d'.' -f1,2) -FFLAGS += -FR -endif - - -BUILDDIR = build -TWOD_BUILDDIR = build_2d -ONED_BUILDDIR = build_1d -TWOD_BUILDDIR_ACC = build_2d_acc -ONED_BUILDDIR_ACC = build_1d_acc -BUILDDIR_ACC = build_acc - -OBJS = $(BUILDDIR)/interface.o -OBJSACC = $(BUILDDIR_ACC)/interface.o -OBJS2D = $(TWOD_BUILDDIR)/interface.o -OBJS2DACC = $(TWOD_BUILDDIR_ACC)/interface.o -OBJS1D = $(ONED_BUILDDIR)/interface.o -OBJS1DACC = $(ONED_BUILDDIR_ACC)/interface.o - -LIBNAME = libmpiamrvac.a - -CODEDIR = src/mpiamrvac/src - -CODELIB = $(BUILDDIR)/$(LIBNAME) -CODELIB1D = $(ONED_BUILDDIR)/$(LIBNAME) -CODELIB2D = $(TWOD_BUILDDIR)/$(LIBNAME) -CODELIB2DACC = $(TWOD_BUILDDIR_ACC)/$(LIBNAME) -CODELIB1DACC = $(ONED_BUILDDIR_ACC)/$(LIBNAME) -CODELIBACC = $(BUILDDIR_ACC)/$(LIBNAME) - - -DOWNLOAD_FROM_WEB = $(PYTHON) ./download.py -PATCH_FILES = $(PYTHON) ./patch_files.py -PATCH_FILES_IFORT91 = $(PYTHON) ./patch_files_ifort91.py - -all: mpiamrvac_worker - -ifdef DOWNLOAD_CODES -$(CODEDIR)/makefile: - make -C . download -else -$(CODEDIR)/makefile: - @echo "" - @echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - @echo "" - @echo "DOWNLOAD_CODES is not set. MpiAmrVac will not be downloaded and build." - @echo "If you do want MpiAmrVac, set DOWNLOAD_CODES to 1." - @echo "bash> export DOWNLOAD_CODES=1" - @echo "csh> setenv DOWNLOAD_CODES 1" - @echo "" - @echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - @echo "" - @make -s --no-print-directory -C . raise_error -endif - -download: - $(RM) -Rf .pc - $(RM) -Rf src - mkdir src - $(DOWNLOAD_FROM_WEB) - $(PATCH_FILES) -ifeq ($(IFORT_MAJOR_MINOR), 9.1) - $(info $(FFLAGS)) - $(PATCH_FILES_IFORT91) -endif - - -clean: - $(RM) -f *.so *.o *.pyc worker_code.cc worker_code.h *.mod - $(RM) *~ mpiamrvac_worker worker_code.f90 - $(RM) -f mpiamrvac_worker_2d mpiamrvac_worker_1d - $(RM) -f mpiamrvac_worker_2dacc - $(RM) -Rf mpiamrvac_worker*.dSYM - $(RM) -f amrvac - -make -C $(CODEDIR) clean - $(RM) -Rf $(BUILDDIR) - $(RM) -Rf $(TWOD_BUILDDIR) - $(RM) -Rf $(ONED_BUILDDIR) - $(RM) -Rf $(TWOD_BUILDDIR_ACC) - $(RM) -Rf $(ONED_BUILDDIR_ACC) - $(RM) -Rf $(BUILDDIR_ACC) - $(RM) -Rf *.dSYM - -distclean: - $(RM) -f *.so *.o *.pyc worker_code.cc worker_code.h *.mod - $(RM) *~ mpiamrvac_worker worker_code.f90 - $(RM) -f mpiamrvac_worker_2d mpiamrvac_worker_1d - $(RM) -f mpiamrvac_worker_2dacc - $(RM) -f amrvac - $(RM) -Rf src - $(RM) -Rf src.* - $(RM) -Rf .pc - $(RM) -Rf $(BUILDDIR) - $(RM) -Rf $(TWOD_BUILDDIR) - $(RM) -Rf $(ONED_BUILDDIR) - $(RM) -Rf $(TWOD_BUILDDIR_ACC) - $(RM) -Rf $(ONED_BUILDDIR_ACC) - $(RM) -Rf $(BUILDDIR_ACC) - $(RM) -Rf mpiamrvac_worker_*.dSYM - -$(BUILDDIR)/makefile: $(CODEDIR)/makefile - cp -r $(CODEDIR) $(BUILDDIR) - -$(BUILDDIR_ACC)/makefile: $(CODEDIR)/makefile - cp -r $(CODEDIR) $(BUILDDIR_ACC) - -$(TWOD_BUILDDIR)/makefile: $(CODEDIR)/makefile - cp -r $(CODEDIR) $(TWOD_BUILDDIR) - -$(TWOD_BUILDDIR_ACC)/makefile: $(CODEDIR)/makefile - cp -r $(CODEDIR) $(TWOD_BUILDDIR_ACC) - -$(ONED_BUILDDIR)/makefile: $(CODEDIR)/makefile - cp -r $(CODEDIR) $(ONED_BUILDDIR) - -$(ONED_BUILDDIR_ACC)/makefile: $(CODEDIR)/makefile - cp -r $(CODEDIR) $(ONED_BUILDDIR_ACC) - -$(CODELIB): $(BUILDDIR)/makefile - cd $(BUILDDIR); ./setamrvac -d=33 -g=14,14,14 -phi=3 -z=2 -p=hd -u=amuse -cp=openmpi - make -C $(BUILDDIR) clean amrvac $(LIBNAME) F90FLAGS="$(FFLAGS)" F90="$(MPIFC)" - -$(CODELIBACC): $(BUILDDIR_ACC)/makefile - cd $(BUILDDIR_ACC); ./setamrvac -d=33 -g=14,14,14 -phi=3 -z=2 -p=hdacc -u=amuse -cp=openmpi - make -C $(BUILDDIR_ACC) clean amrvac $(LIBNAME) F90FLAGS="$(FFLAGS)" F90="$(MPIFC)" - -$(CODELIB2D): $(TWOD_BUILDDIR)/makefile - cd $(TWOD_BUILDDIR); ./setamrvac -d=22 -g=14,14 -phi=3 -z=2 -p=hd -u=amuse -cp=openmpi - make -C $(TWOD_BUILDDIR) clean amrvac $(LIBNAME) F90FLAGS="$(FFLAGS)" F90="$(MPIFC)" - -$(CODELIB2DACC): $(TWOD_BUILDDIR_ACC)/makefile - cd $(TWOD_BUILDDIR_ACC); ./setamrvac -d=22 -g=14,14 -phi=3 -z=2 -p=hdacc -u=amuse -cp=openmpi - make -C $(TWOD_BUILDDIR_ACC) clean amrvac $(LIBNAME) F90FLAGS="$(FFLAGS)" F90="$(MPIFC)" - -$(CODELIB1D): $(ONED_BUILDDIR)/makefile - cd $(ONED_BUILDDIR); ./setamrvac -d=11 -g=14,14 -phi=3 -z=2 -p=hd -u=amuse -cp=openmpi - make -C $(ONED_BUILDDIR) clean amrvac $(LIBNAME) F90FLAGS="$(FFLAGS)" F90="$(MPIFC)" - -$(CODELIB1DACC): $(ONED_BUILDDIR_ACC)/makefile - cd $(ONED_BUILDDIR_ACC); ./setamrvac -d=11 -g=14,14 -phi=3 -z=2 -p=hdacc -u=amuse -cp=openmpi - make -C $(ONED_BUILDDIR_ACC) clean amrvac $(LIBNAME) F90FLAGS="$(FFLAGS)" F90="$(MPIFC)" - -worker_code.f90: interface.py - $(CODE_GENERATOR) --type=f90 interface.py MpiAmrVacInterface -o $@ - -mpiamrvac_worker: worker_code.f90 $(CODELIB) $(OBJS) - $(MPIFC) $(CXXFLAGS) $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) -I$(BUILDDIR) $< $(OBJS) $(CODELIB) $(SC_MPI_FCLIBS) $(FS_LIBS) -o $@ $(LIBS) - -mpiamrvac_worker_acc: worker_code.f90 $(CODELIBACC) $(OBJSACC) - $(MPIFC) $(CXXFLAGS) $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) -I$(BUILDDIR_ACC) $< $(OBJSACC) $(CODELIBACC) $(SC_MPI_FCLIBS) $(FS_LIBS) -o $@ $(LIBS) - -mpiamrvac_worker_2d: worker_code.f90 $(CODELIB2D) $(OBJS2D) - $(MPIFC) $(CXXFLAGS) $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) -I$(TWOD_BUILDDIR) $< $(OBJS2D) $(CODELIB2D) $(SC_MPI_FCLIBS) $(FS_LIBS) -o $@ $(LIBS) - -mpiamrvac_worker_2dacc: worker_code.f90 $(CODELIB2DACC) $(OBJS2DACC) - $(MPIFC) $(CXXFLAGS) $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) -I$(TWOD_BUILDDIR_ACC) $< $(OBJS2DACC) $(CODELIB2DACC) $(SC_MPI_FCLIBS) $(FS_LIBS) -o $@ $(LIBS) - -mpiamrvac_worker_1d: worker_code.f90 $(CODELIB1D) $(OBJS1D) - $(MPIFC) $(CXXFLAGS) $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) -I$(ONED_BUILDDIR) $< $(OBJS1D) $(CODELIB1D) $(SC_MPI_FCLIBS) $(FS_LIBS) -o $@ $(LIBS) - -mpiamrvac_worker_1dacc: worker_code.f90 $(CODELIB1DACC) $(OBJS1DACC) - $(MPIFC) $(CXXFLAGS) $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) -I$(ONED_BUILDDIR_ACC) $< $(OBJS1DACC) $(CODELIB1DACC) $(SC_MPI_FCLIBS) $(FS_LIBS) -o $@ $(LIBS) - - -$(BUILDDIR)/interface.f90: interface.t - $(BUILDDIR)/vacpp.pl $< > $@ - -$(BUILDDIR)/interface.o: $(BUILDDIR)/interface.f90 - $(FC) $(FFLAGS) $(SC_FLAGS) -I$(BUILDDIR) -c -o $@ $< - - -$(TWOD_BUILDDIR)/interface.f90: interface.t - $(TWOD_BUILDDIR)/vacpp.pl $< > $@ - -$(TWOD_BUILDDIR)/interface.o: $(TWOD_BUILDDIR)/interface.f90 - $(FC) $(FFLAGS) $(SC_FLAGS) -I$(TWOD_BUILDDIR) -c -o $@ $< - -$(TWOD_BUILDDIR_ACC)/interface.f90: interface.t - $(TWOD_BUILDDIR_ACC)/vacpp.pl $< > $@ - -$(TWOD_BUILDDIR_ACC)/interface.o: $(TWOD_BUILDDIR_ACC)/interface.f90 - $(FC) $(FFLAGS) $(SC_FLAGS) -I$(TWOD_BUILDDIR_ACC) -c -o $@ $< - -$(ONED_BUILDDIR)/interface.f90: interface.t - $(ONED_BUILDDIR)/vacpp.pl $< > $@ - -$(ONED_BUILDDIR)/interface.o: $(ONED_BUILDDIR)/interface.f90 - $(FC) $(FFLAGS) $(SC_FLAGS) -I$(ONED_BUILDDIR) -c -o $@ $< - -$(ONED_BUILDDIR_ACC)/interface.f90: interface.t - $(ONED_BUILDDIR_ACC)/vacpp.pl $< > $@ - -$(ONED_BUILDDIR_ACC)/interface.o: $(ONED_BUILDDIR_ACC)/interface.f90 - $(FC) $(FFLAGS) $(SC_FLAGS) -I$(ONED_BUILDDIR_ACC) -c -o $@ $< - -$(BUILDDIR_ACC)/interface.f90: interface.t - $(BUILDDIR_ACC)/vacpp.pl $< > $@ - -$(BUILDDIR_ACC)/interface.o: $(BUILDDIR_ACC)/interface.f90 - $(FC) $(FFLAGS) $(SC_FLAGS) -I$(BUILDDIR_ACC) -c -o $@ $< - -%.o: %.f90 - $(FC) $(FFLAGS) -I$(CODEDIR) -c -o $@ $< diff --git a/src/amuse/community/mpiamrvac/download.py b/src/amuse/community/mpiamrvac/download.py deleted file mode 100755 index 89efeb317c..0000000000 --- a/src/amuse/community/mpiamrvac/download.py +++ /dev/null @@ -1,75 +0,0 @@ -#!/usr/bin/env python - -import subprocess -import os -import sys -import time -import urllib.request -import urllib.parse -import urllib.error -from optparse import OptionParser - - -class GetCodeFromHttp(object): - url_template = "http://amuse.strw.leidenuniv.nl/codes/mpiamrvac-r{version}.tgz" - filename_template = "mpiamrvac-r{version}.tgz" - version = "" - - def directory(self): - return os.path.abspath(os.path.dirname(__file__)) - - def src_directory(self): - return os.path.join(self.directory(), 'src') - - def unpack_downloaded_file(self, filename): - print("unpacking", filename) - arguments = ['tar', '-xf'] - arguments.append(filename) - subprocess.call( - arguments, - cwd=os.path.join(self.src_directory()) - ) - print("done") - - def start(self): - if os.path.exists('src'): - counter = 0 - while os.path.exists('src.{0}'.format(counter)): - counter += 1 - if counter > 100: - print("too many backup directories") - break - os.rename('src', 'src.{0}'.format(counter)) - - os.mkdir('src') - - url = self.url_template.format(version=self.version) - filename = self.filename_template.format(version=self.version) - filepath = os.path.join(self.src_directory(), filename) - print("downloading version", self.version, "from", url, "to", filename) - urllib.request.urlretrieve(url, filepath) - print("downloading finished") - self.unpack_downloaded_file(filename) - - -def main(version=''): - instance = GetCodeFromHttp() - instance.version = version - instance.start() - - -def new_option_parser(): - result = OptionParser() - result.add_option( - "--version", - default='187', - dest="version", - help="version number to download", - type="string" - ) - return result - - -if __name__ == "__main__": - options, arguments = new_option_parser().parse_args() - main(**options.__dict__) diff --git a/src/amuse/community/mpiamrvac/ifort91.diff b/src/amuse/community/mpiamrvac/ifort91.diff deleted file mode 100644 index 6dda5a837c..0000000000 --- a/src/amuse/community/mpiamrvac/ifort91.diff +++ /dev/null @@ -1,28 +0,0 @@ -Index: mpiamrvac/src/mpiamrvac/src/convert.t -=================================================================== ---- mpiamrvac.orig/src/mpiamrvac/src/convert.t -+++ mpiamrvac/src/mpiamrvac/src/convert.t -@@ -1608,9 +1608,9 @@ close(qunit) - ! next to make gfortran compiler happy, as it does not know - ! form='binary' and produces error on compilation - !bufform='binary' --!open(qunit,file=filename,form=bufform,position='append') -+open(qunit,file=filename,form='binary',position='append') - !! following may work for gfortran as well --open(qunit,file=filename,access='stream',form='unformatted',position='append') -+! ifort91: open(qunit,file=filename,access='stream',form='unformatted',position='append') - buffer='_' - ! write(qunit) achar(95) - write(qunit) TRIM(buffer) -@@ -3105,9 +3105,9 @@ close(qunit) - ! next to make gfortran compiler happy, as it does not know - ! form='binary' and produces error on compilation - !!bufform='binary' --!!open(qunit,file=pfilename,form=bufform,position='append') -+open(qunit,file=pfilename,form='binary',position='append') - ! the following should work with most modern compilers (gfortran/intel) --open(qunit,file=pfilename,access='stream',form='unformatted',position='append') -+! ifort91: open(qunit,file=pfilename,access='stream',form='unformatted',position='append') - buffer='_' - ! write(qunit) achar(95) - write(qunit) TRIM(buffer) diff --git a/src/amuse/community/mpiamrvac/interface.py b/src/amuse/community/mpiamrvac/interface.py index ddc525c66a..5aed029bbc 100644 --- a/src/amuse/community/mpiamrvac/interface.py +++ b/src/amuse/community/mpiamrvac/interface.py @@ -1,2763 +1,7 @@ -from amuse.community import * -from amuse.community.interface.hydro import HydrodynamicsInterface -from amuse.support.options import OptionalAttributes, option -from amuse.units import generic_unit_system -from amuse.community.interface.common import CommonCode - -import os - -class MpiAmrVacInterface(CodeInterface, HydrodynamicsInterface, StoppingConditionInterface, - CodeWithDataDirectories): - - use_modules = ['mpiamrvac_interface', 'StoppingConditions'] - - MODE_NORMAL = 'normal' - MODE_3D = '3d' - MODE_3D_ACC = '3d-acc' - MODE_2D = '2d' - MODE_2D_ACC = '2d-acc' - MODE_1D = '1d' - MODE_1D_ACC = '1d-acc' - - def __init__(self, mode = MODE_NORMAL, **options): - CodeInterface.__init__(self, name_of_the_worker=self.name_of_the_worker(mode), **options) - CodeWithDataDirectories.__init__(self) - self._mode = mode - - def name_of_the_worker(self, mode): - if mode == self.MODE_NORMAL or mode == self.MODE_3D: - return 'mpiamrvac_worker' - elif mode == self.MODE_3D_ACC: - return 'mpiamrvac_worker_acc' - elif mode == self.MODE_2D: - return 'mpiamrvac_worker_2d' - elif mode == self.MODE_2D_ACC: - return 'mpiamrvac_worker_2dacc' - elif mode == self.MODE_1D: - return 'mpiamrvac_worker_1d' - elif mode == self.MODE_1D_ACC: - return 'mpiamrvac_worker_1dacc' - else: - return 'mpiamrvac_worker' - - # - # options - # - - @option(type="string") - def default_parameters_filename(self): - """ - Default parameter file for amrvac, has empty lists for - all parameters. - """ - if self._mode == self.MODE_2D: - return os.path.join(self.data_directory, 'amrvac_2d.par') - elif self._mode == self.MODE_2D_ACC: - return os.path.join(self.data_directory, 'amrvac_2d-acc.par') - elif self._mode == self.MODE_1D: - return os.path.join(self.data_directory, 'amrvac_1d.par') - elif self._mode == self.MODE_1D_ACC: - return os.path.join(self.data_directory, 'amrvac_1d-acc.par') - elif self._mode == self.MODE_3D_ACC: - return os.path.join(self.data_directory, 'amrvac-acc.par') - else: - return os.path.join(self.data_directory, 'amrvac.par') - - # - # parameters - # - - @legacy_function - def set_typeentropy(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typeentropy(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typefull1(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typefull1(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typepred1(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typepred1(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_gamma(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_gamma(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_dt(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_dt(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_nbufferx1(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_nbufferx1(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_nbufferx2(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_nbufferx2(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_nbufferx3(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_nbufferx3(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_mxnest(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_mxnest(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_dixb(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_dixb(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_levmin(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_levmin(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_levmax(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_levmax(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_skipfinestep(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_skipfinestep(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_time_advance(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_time_advance(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_courantpar(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_courantpar(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_dtpar(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_dtpar(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_dtdiffpar(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_dtdiffpar(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_t(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_t(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_tmax(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_tmax(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_dtmin(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_dtmin(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_residmin(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_residmin(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_residmax(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_residmax(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_residual(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_residual(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_tfixgrid(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_tfixgrid(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_tvdlfeps(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_tvdlfeps(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_mcbeta(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_mcbeta(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_divbdiff(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_divbdiff(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_smallp(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_smallp(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_smallrho(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_smallrho(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_dmaxvel(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_dmaxvel(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_tolernr(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_tolernr(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_absaccnr(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_absaccnr(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_cfrac(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_cfrac(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_x1ptms(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_x1ptms(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_x2ptms(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_x2ptms(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_x3ptms(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_x3ptms(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_ptmass(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_ptmass(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_ratebdflux(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_ratebdflux(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_normt(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_normt(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_time_bc(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_time_bc(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_it(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_it(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_itmax(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_itmax(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_itmin(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_itmin(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_slowsteps(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_slowsteps(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typepario(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typepario(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_itfixgrid(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_itfixgrid(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_nwauxio(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_nwauxio(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_istep(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_istep(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_nstep(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_nstep(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_errorestimate(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_errorestimate(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_nxdiffusehllc(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_nxdiffusehllc(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typespherical(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typespherical(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_maxitnr(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_maxitnr(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_nflatgetaux(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_nflatgetaux(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_level_io(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_level_io(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_ncool(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_ncool(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_cmulti(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_cmulti(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_snapshotini(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_snapshotini(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_ixtest1(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_ixtest1(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_ixtest2(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_ixtest2(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_ixtest3(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_ixtest3(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_iwtest(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_iwtest(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_idimtest(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_idimtest(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_saveigrid(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_saveigrid(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typecourant(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typecourant(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typeresid(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typeresid(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typeadvance(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typeadvance(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typelimited(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typelimited(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typesourcesplit(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typesourcesplit(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typelimiter(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typelimiter(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typegradlimiter(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typegradlimiter(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typeprolonglimit(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typeprolonglimit(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typetvd(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typetvd(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typetvdlf(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typetvdlf(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typeaverage(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typeaverage(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typedimsplit(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typedimsplit(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typeaxial(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typeaxial(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typepoly(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typepoly(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typedivbdiff(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typedivbdiff(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typedivbfix(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typedivbfix(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typediv(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typediv(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typegrad(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typegrad(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typeglm(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typeglm(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_coolcurve(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_coolcurve(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_coolmethod(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_coolmethod(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typeghostfill(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typeghostfill(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typegridfill(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typegridfill(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_filenameout(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_filenameout(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_filenameini(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_filenameini(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_filenamelog(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_filenamelog(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_fileheadout(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_fileheadout(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_wnames(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_wnames(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_primnames(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_primnames(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_typefilelog(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_typefilelog(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_convert_type(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_convert_type(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_dxfiletype(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_dxfiletype(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_teststr(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_teststr(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_time_accurate(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_time_accurate(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_addmpibarrier(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_addmpibarrier(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_tmaxexact(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_tmaxexact(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_treset(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_treset(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_itreset(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_itreset(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_firstprocess(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_firstprocess(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_fixprocess(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_fixprocess(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_flathllc(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_flathllc(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_flatcd(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_flatcd(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_flatsh(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_flatsh(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_flatppm(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_flatppm(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_sourcesplit(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_sourcesplit(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_sourceunsplit(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_sourceunsplit(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_useprimitive(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_useprimitive(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_dimsplit(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_dimsplit(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_restrictprimitive(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_restrictprimitive(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_prolongprimitive(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_prolongprimitive(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_coarsenprimitive(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_coarsenprimitive(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_useprimitiverel(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_useprimitiverel(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_amrentropy(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_amrentropy(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_divbfix(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_divbfix(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_divbwave(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_divbwave(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_compactres(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_compactres(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_bnormlf(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_bnormlf(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_strictnr(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_strictnr(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_strictsmall(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_strictsmall(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_strictzero(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_strictzero(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_strictgetaux(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_strictgetaux(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_usecovariant(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_usecovariant(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_nocartesian(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_nocartesian(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_tfix(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_tfix(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_convert(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_convert(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_saveprim(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_saveprim(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_uselimiter(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_uselimiter(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - # parameters file - - - @legacy_function - def set_parameters_filename(): - """ - Update name of the parameters file - """ - function = LegacyFunctionSpecification() - function.addParameter('path', - dtype='string', - direction=function.IN, - description = "filename of the parameters file" - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value was set - -1 - ERROR - File does not exist - """ - return function - - @legacy_function - def get_parameters_filename(): - """ - Retrieve name of the parameters file - """ - function = LegacyFunctionSpecification() - function.addParameter('path', - dtype='string', - direction=function.OUT, - description = "filename of the parameters file" - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value was set - -1 - ERROR - File does not exist - """ - return function - - @legacy_function - def get_current_error(): - """When a function returns an error, this will retrieve - a description (if possible) - """ - function = LegacyFunctionSpecification() - function.addParameter('string', - dtype='string', - direction=function.OUT, - description = "description of the error" - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value was set - -1 - ERROR - File does not exist - """ - return function - # - # - - @legacy_function - def initialize_grid(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def refine_grid(): - function = LegacyFunctionSpecification() - function.addParameter('must_advance', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_mesh_size(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('nmeshx', dtype='i', direction=function.OUT) - function.addParameter('nmeshy', dtype='i', direction=function.OUT) - function.addParameter('nmeshz', dtype='i', direction=function.OUT) - function.addParameter('index_of_grid', dtype='i', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_position_of_index(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) - for x in ['x','y','z']: - function.addParameter(x, dtype='d', direction=function.OUT) - - function.addParameter('n', dtype='i', direction=function.LENGTH) - - function.result_type = 'i' - return function - - - @legacy_function - def get_index_of_position(): - """ - Retrieves the i,j and k index of the grid cell containing the - given x, y and z position. The cell is looked up - in the grid specified by index_of_grid. - """ - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['x','y','z']: - function.addParameter(x, dtype='d', direction=function.IN) - - function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) - - for x in ['i','j','k']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('n', dtype='i', direction=function.LENGTH) - function.result_type = 'i' - return function - - - @legacy_function - def get_level_of_grid(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('level', dtype='i', direction=function.OUT) - function.addParameter('index_of_grid', dtype='i', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def get_cell_size_of_grid(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('dx', dtype='d', direction=function.OUT) - function.addParameter('dy', dtype='d', direction=function.OUT) - function.addParameter('dz', dtype='d', direction=function.OUT) - function.addParameter('index_of_grid', dtype='i', direction=function.IN) - function.result_type = 'i' - return function - - - @legacy_function - def setup_mesh(): - function = LegacyFunctionSpecification() - function.addParameter('nmeshx', dtype='i', direction=function.IN) - function.addParameter('nmeshy', dtype='i', direction=function.IN) - function.addParameter('nmeshz', dtype='i', direction=function.IN) - function.addParameter('xlength', dtype='d', direction=function.IN) - function.addParameter('ylength', dtype='d', direction=function.IN) - function.addParameter('zlength', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - - - - # - # - # - - - @legacy_function - def set_boundary_in_code(): - function = LegacyFunctionSpecification() - for x in ["xbound1","xbound2","ybound1","ybound2","zbound1","zbound2"]: - function.addParameter(x, dtype='string', direction=function.IN) - function.result_type = 'i' - return function - - - def set_boundary(self, xbound1, xbound2, ybound1, ybound2, zbound1, zbound2): - map_from_amuse_to_mpiamrvac= { - "reflective": "symm", - "outflow":"limitinflow", - "periodic":"periodic", - "interface": "special", - } - - return self.set_boundary_in_code( - map_from_amuse_to_mpiamrvac.setdefault(xbound1, xbound1), - map_from_amuse_to_mpiamrvac.setdefault(xbound2, xbound2), - map_from_amuse_to_mpiamrvac.setdefault(ybound1, ybound1), - map_from_amuse_to_mpiamrvac.setdefault(ybound2, ybound2), - map_from_amuse_to_mpiamrvac.setdefault(zbound1, zbound1), - map_from_amuse_to_mpiamrvac.setdefault(zbound2, zbound2) - ) - - # - # - # - - - @legacy_function - def get_time(): - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - # - # - # - - - @legacy_function - def get_acceleration_grid_position_of_index(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - #function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) - for x in ['x','y','z']: - function.addParameter(x, dtype='d', direction=function.OUT) - - function.addParameter('n', dtype='i', direction=function.LENGTH) - - function.result_type = 'i' - return function - - @legacy_function - def get_acceleration_grid_acceleration(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - #function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) - for x in ['a1','a2', 'a3']: - function.addParameter(x, dtype='d', direction=function.OUT) - - function.addParameter('n', dtype='i', direction=function.LENGTH) - - function.result_type = 'i' - return function - - @legacy_function - def set_acceleration_grid_acceleration(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - #function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) - for x in ['a1','a2', 'a3']: - function.addParameter(x, dtype='d', direction=function.IN) - - function.addParameter('n', dtype='i', direction=function.LENGTH) - - function.result_type = 'i' - return function - - - @legacy_function - def get_acceleration_grid_size(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('nmeshx', dtype='i', direction=function.OUT) - function.addParameter('nmeshy', dtype='i', direction=function.OUT) - function.addParameter('nmeshz', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - - - @legacy_function - def get_grid_acceleration(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) - for x in ['ax','ay','az']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - - return function - - - @legacy_function - def set_grid_acceleration(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - for x in ['i','j','k']: - function.addParameter(x, dtype='i', direction=function.IN) - for x in ['ax','ay','az']: - function.addParameter(x, dtype='d', direction=function.IN) - function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) - function.addParameter('number_of_points', 'i', function.LENGTH) - function.result_type = 'i' - return function - - @legacy_function - def get_hydro_state_at_point(): - function = LegacyFunctionSpecification() - for x in ['x','y','z']: - function.addParameter(x, dtype='d', direction=function.IN) - for x in ['vx','vy','vz']: - function.addParameter(x, dtype='d', direction=function.IN, default = 0) - for x in ['rho','rhovx','rhovy','rhovz','rhoe']: - function.addParameter(x, dtype='d', direction=function.OUT) - function.addParameter('npoints', dtype='i', direction=function.LENGTH) - function.result_type = 'i' - function.must_handle_array = True - return function - - - - -class MpiAmrVac(CommonCode): - - def __init__(self, unit_converter = None, **options): - self.unit_converter = unit_converter - self.stopping_conditions = StoppingConditions(self) - - CommonCode.__init__(self, MpiAmrVacInterface(**options), **options) - - self.set_parameters_filename(self.default_parameters_filename) - - def define_converter(self, handler): - if self.unit_converter is None: - return - - handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) - - - - def get_index_range_inclusive(self, index_of_grid = 1): - nx, ny, nz = self.get_mesh_size(index_of_grid) - - return (0, nx-1, 0, ny-1, 0, nz-1) - - def define_properties(self, handler): - handler.add_property('get_time', public_name = "model_time") - - def define_methods(self, handler): - handler.add_method( - 'evolve_model', - (generic_unit_system.time,), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'commit_parameters', - (), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'get_position_of_index', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (generic_unit_system.length, generic_unit_system.length, generic_unit_system.length, handler.ERROR_CODE,) - ) - handler.add_method( - 'get_acceleration_grid_position_of_index', - (handler.INDEX, handler.INDEX, handler.INDEX), - (generic_unit_system.length, generic_unit_system.length, generic_unit_system.length, handler.ERROR_CODE,) - ) - - density = generic_unit_system.density - momentum = generic_unit_system.momentum_density - energy = generic_unit_system.energy_density - acceleration = generic_unit_system.length / generic_unit_system.time ** 2 - - handler.add_method( - 'get_acceleration_grid_size', - (), - (handler.NO_UNIT,handler.NO_UNIT,handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_acceleration_grid_acceleration', - (handler.INDEX, handler.INDEX, handler.INDEX), - (acceleration, acceleration, acceleration, handler.ERROR_CODE,) - ) - - handler.add_method( - 'set_acceleration_grid_acceleration', - (handler.INDEX, handler.INDEX, handler.INDEX, acceleration, acceleration, acceleration,), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'set_grid_energy_density', - (handler.INDEX, handler.INDEX, handler.INDEX, energy, handler.INDEX), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'set_grid_density', - (handler.INDEX, handler.INDEX, handler.INDEX, density, handler.INDEX), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'set_grid_momentum_density', - (handler.INDEX, handler.INDEX, handler.INDEX, momentum, momentum, momentum, handler.INDEX), - (handler.ERROR_CODE,) - ) - - - handler.add_method( - 'get_grid_energy_density', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - ( energy, - handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_grid_density', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (density, - handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_grid_momentum_density', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - ( momentum, momentum, momentum, - handler.ERROR_CODE,) - ) - - handler.add_method( - 'refine_grid', - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_level_of_grid', - (handler.INDEX), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_gamma", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_gamma", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_typeentropy", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_typeentropy", - (handler.NO_UNIT,), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_typefull1", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_typefull1", - (handler.NO_UNIT,), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_typepred1", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_typepred1", - (handler.NO_UNIT,), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_typeadvance", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_typeadvance", - (handler.NO_UNIT,), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_courantpar", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_courantpar", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_mxnest", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_mxnest", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'get_time', - (), - (generic_unit_system.time, handler.ERROR_CODE,) - ) - - handler.add_method( - 'setup_mesh', - (handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, generic_unit_system.length, generic_unit_system.length, generic_unit_system.length, ), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'set_boundary', - (handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT,), - (handler.ERROR_CODE,) - ) - - handler.add_method( - 'set_grid_acceleration', - (handler.INDEX, handler.INDEX, handler.INDEX, acceleration, acceleration, acceleration, handler.INDEX), - (handler.ERROR_CODE,) - ) - handler.add_method( - 'get_grid_acceleration', - (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), - (acceleration, acceleration, acceleration, handler.ERROR_CODE,) - ) - handler.add_method( - 'get_hydro_state_at_point', - (generic_unit_system.length, generic_unit_system.length, generic_unit_system.length, - generic_unit_system.speed, generic_unit_system.speed, generic_unit_system.speed), - (generic_unit_system.density, generic_unit_system.momentum_density, generic_unit_system.momentum_density, - generic_unit_system.momentum_density, generic_unit_system.energy_density, handler.ERROR_CODE) - ) - self.stopping_conditions.define_methods(handler) - - def define_parameters(self, handler): - - - handler.add_method_parameter( - "get_gamma", - "set_gamma", - "gamma", - "ratio of specific heats used in equation of state", - default_value = 1.6666666666666667 - ) - - handler.add_method_parameter( - "get_typeentropy", - "set_typeentropy", - "entropy_type", - "type of the entropy", - default_value = 'nul' - ) - handler.add_method_parameter( - "get_typefull1", - "set_typefull1", - "spatial_discretization_method", - "the spatial discretization method used for the time integration per activated grid leve", - default_value = 'tvdmu' - ) - handler.add_method_parameter( - "get_typepred1", - "set_typepred1", - "predictor_step_discretization_method", - "the precitor step discretization method (only used when integration procedure is twostep')", - default_value = 'tvdmu' - ) - handler.add_method_parameter( - "get_typeadvance", - "set_typeadvance", - "time_integration_procedure", - "time integration procedure", - default_value = 'twostep' - ) - - handler.add_method_parameter( - "get_courantpar", - "set_courantpar", - "courant_number", - "CFL number", - default_value = 0.7 - ) - - - handler.add_caching_parameter( - "setup_mesh", - "nmeshx", - "nx", - "number of cells in the x direction", - 10, - ) - - - handler.add_caching_parameter( - "setup_mesh", - "nmeshy", - "ny", - "number of cells in the y direction", - 10, - ) - - - handler.add_caching_parameter( - "setup_mesh", - "nmeshz", - "nz", - "number of cells in the z direction", - 10, - ) - - handler.add_caching_parameter( - "setup_mesh", - "xlength", - "length_x", - "length of model in the x direction", - 10 | generic_unit_system.length, - ) - handler.add_caching_parameter( - "setup_mesh", - "ylength", - "length_y", - "length of model in the x direction", - 10 | generic_unit_system.length, - ) - handler.add_caching_parameter( - "setup_mesh", - "zlength", - "length_z", - "length of model in the z direction", - 10 | generic_unit_system.length, - ) - - handler.add_vector_parameter( - "mesh_size", - "number of cells in the x, y and z directions", - ("nx", "ny", "nz") - ) - - handler.add_vector_parameter( - "mesh_length", - "length of the model in the x, y and z directions", - ("length_x", "length_y", "length_z") - ) - - - handler.add_caching_parameter( - "set_boundary", - "xbound1", - "xbound1", - "boundary conditions on first (inner, left) X boundary", - "reflective", - ) - - - handler.add_caching_parameter( - "set_boundary", - "xbound2", - "xbound2", - "boundary conditions on second (outer, right) X boundary", - "reflective", - ) - - handler.add_caching_parameter( - "set_boundary", - "ybound1", - "ybound1", - "boundary conditions on first (inner, front) Y boundary", - "reflective", - ) - - - handler.add_caching_parameter( - "set_boundary", - "ybound2", - "ybound2", - "boundary conditions on second (outer, back) Y boundary", - "reflective", - ) - - handler.add_caching_parameter( - "set_boundary", - "zbound1", - "zbound1", - "boundary conditions on first (inner, bottom) Z boundary", - "reflective", - ) - - - handler.add_caching_parameter( - "set_boundary", - "zbound2", - "zbound2", - "boundary conditions on second (outer, top) Z boundary", - "reflective", - ) - - - - handler.add_vector_parameter( - "x_boundary_conditions", - "boundary conditions for the X directorion", - ("xbound1", "xbound2") - ) - - - handler.add_vector_parameter( - "y_boundary_conditions", - "boundary conditions for the Y directorion", - ("ybound1", "ybound2") - ) - - - handler.add_vector_parameter( - "z_boundary_conditions", - "boundary conditions for the Z directorion", - ("zbound1", "zbound2") - ) - - - handler.add_method_parameter( - "get_mxnest", - "set_mxnest", - "maximum_number_of_grid_levels", - "the maximum number of grid levels that can be used during the simulation, including the base grid level", - default_value = 3 - ) - handler.add_method_parameter( - "get_time_accurate", - "set_time_accurate", - "time_accurate", - "if false will evolve to the given time, if true will take accurate steps using courant timesteps", - default_value = 3 - ) - handler.add_method_parameter( - "get_dtpar", - "set_dtpar", - "timestep", - "if greater than zero will fix the timestep to the given value", - default_value = 3 - ) - - self.stopping_conditions.define_parameters(handler) - - - - def commit_parameters(self): - self.parameters.send_cached_parameters_to_code() - self.overridden().commit_parameters() - - def get_acceleration_grid_index_range_inclusive(self): - nx, ny, nz = self.get_acceleration_grid_size() - return (1, nx, 1, ny, 1, nz) - - def define_particle_sets(self, handler): - - handler.define_grid('acceleration_grid') - handler.set_grid_range('acceleration_grid', 'get_acceleration_grid_index_range_inclusive') - handler.add_getter('acceleration_grid', 'get_acceleration_grid_position_of_index', names=('x','y','z')) - handler.add_getter('acceleration_grid', 'get_acceleration_grid_acceleration', names=('ax','ay','az')) - handler.add_setter('acceleration_grid', 'set_acceleration_grid_acceleration', names=('ax','ay','az')) - - def itergrids(self): - n = self.get_number_of_grids() - - for x in range(1,n+1): - yield self._create_new_grid(self.specify_grid, index_of_grid = x) - - def specify_grid(self, definition, index_of_grid = 1): - definition.set_grid_range('get_index_range_inclusive') - - definition.add_getter('get_position_of_index', names=('x','y','z')) - - definition.add_setter('set_grid_density', names=('rho',)) - - definition.add_setter('set_grid_momentum_density', names=('rhovx','rhovy','rhovz')) - definition.add_setter('set_grid_energy_density', names=('energy',)) - - definition.add_getter('get_grid_density', names=('rho',)) - definition.add_getter('get_grid_momentum_density', names=('rhovx','rhovy','rhovz')) - definition.add_getter('get_grid_energy_density', names=('energy',)) - - - definition.add_getter('get_grid_acceleration', names=('ax','ay','az')) - definition.add_setter('set_grid_acceleration', names=('ax','ay','az')) - - definition.define_extra_keywords({'index_of_grid':index_of_grid}) - - - - def define_state(self, handler): - CommonCode.define_state(self, handler) - #handler.add_transition('END', 'INITIALIZED', 'initialize_code', False) - - handler.add_transition('INITIALIZED','EDIT','commit_parameters') - handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False) - handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False) - handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters') - handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') - handler.add_method('RUN', 'before_get_parameter') - handler.add_method('EDIT', 'before_get_parameter') - - handler.add_transition('EDIT', 'RUN', 'initialize_grid') - handler.add_method('RUN', 'evolve_model') - handler.add_method('RUN', 'get_hydro_state_at_point') - for state in ['EDIT', 'RUN']: - for methodname in [ - 'get_grid_density', - 'set_grid_density', - 'set_grid_energy_density', - 'get_grid_energy_density', - 'get_grid_momentum_density', - 'set_grid_momentum_density', - 'get_position_of_index', - 'get_index_of_position', - 'set_grid_scalar', - 'get_grid_scalar', - 'get_mesh_size', - 'get_acceleration_grid_acceleration', - 'set_acceleration_grid_acceleration', - 'get_acceleration_grid_size', - 'get_mesh_size', - 'get_number_of_grids', - 'get_level_of_grid', - 'refine_grid' - ]: - handler.add_method(state, methodname) - - self.stopping_conditions.define_state(handler) - +from amuse.support.import_helper import load_code +MpiAmrVacInterface = load_code("mpiamrvac", "MpiAmrVacInterface") +MpiAmrVac = load_code("mpiamrvac", "MpiAmrVac") Mpiamrvac = MpiAmrVac diff --git a/src/amuse/community/mpiamrvac/patch_files.py b/src/amuse/community/mpiamrvac/patch_files.py deleted file mode 100755 index a913ee6fb1..0000000000 --- a/src/amuse/community/mpiamrvac/patch_files.py +++ /dev/null @@ -1,115 +0,0 @@ -#!/usr/bin/env python - -import os -import sys -import subprocess -import re - -PATCHESDIR = "patches" -QUILT_PC = ".pc" - - -def execute_command_line(arguments, cwd=None): - process = subprocess.Popen( - arguments, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=cwd - ) - stdoutstring, stderrstring = process.communicate() - returncode = process.poll() - return stdoutstring, stderrstring, returncode - - -def which(executablename): - stdoutstring, stderrstring, returncode = execute_command_line( - ["which", executablename] - ) - if not returncode == 0: - return None - else: - return stdoutstring - - -def is_quilt_installed(): - path = which("quilt") - if path is None: - return False - - stdoutstring, stderrstring, returncode = execute_command_line( - ["quilt", "--version"] - ) - if not returncode == 0: - return False - - version_re = re.compile(r"(\d).(\d\d)") - match = version_re.match(str(stdoutstring)) - if not match: - return False - - return True - - -def apply_patches_using_quilt(): - returncode = subprocess.call(["quilt", "push", "-a"]) - if not returncode == 0: - raise Exception( - "error in applying the patches, please apply by hand using quilt push" - ) - - -def undo_patches_using_quilt(): - returncode = subprocess.call(["quilt", "pop", "-a"]) - if not returncode == 0: - raise Exception( - "error in undoing the patches, please undo by hand using quilt pop -a" - ) - - -def run_patch(patchname, patchfile): - arguments = [ - "patch", - "-p1", - "--backup", - "--prefix={0}/{1}/".format(QUILT_PC, patchname), - "-E", - "-i", - patchfile, - ] - returncode = subprocess.call(arguments) - if not returncode == 0: - raise Exception("could not apply patch {0}".format(patchname)) - - -def apply_patches_using_patch(): - with open("patches/series", "r") as f: - lines = f.readlines() - patches = [x.strip() for x in lines] - patches = [x for x in patches if len(x) > 0] - for patch in patches: - path = os.path.join(PATCHESDIR, patch) - run_patch(patch, path) - - -def main(undo_patches=False): - print("checking if quilt is installed ... ", end=" ") - if not is_quilt_installed(): - print("no") - - if undo_patches: - print("quilt is not installed, cannot undo the patches") - sys.exit(1) - else: - print("applying patches to source code") - apply_patches_using_patch() - else: - print("yes") - - if undo_patches: - print("quilt is install, will try to undo the patches") - undo_patches_using_quilt() - else: - print("applying patches to source code") - apply_patches_using_quilt() - print("all patches applied") - - -if __name__ == "__main__": - main() diff --git a/src/amuse/community/mpiamrvac/patch_files_ifort91.py b/src/amuse/community/mpiamrvac/patch_files_ifort91.py deleted file mode 100755 index 3e9c4428c8..0000000000 --- a/src/amuse/community/mpiamrvac/patch_files_ifort91.py +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env python - -import os -import sys -import subprocess -import re - -PATCHESDIR = "patches" -QUILT_PC = ".pc" - -def execute_command_line(arguments, cwd = None): - process = subprocess.Popen(arguments, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd = cwd) - stdoutstring, stderrstring = process.communicate() - returncode = process.poll() - return stdoutstring, stderrstring, returncode - -def which(executablename): - stdoutstring, stderrstring, returncode = execute_command_line(['which', executablename]) - if not returncode == 0: - return None - else: - return stdoutstring - -def run_patch(patchname, patchfile): - arguments = ['patch', '-p1', '--backup', '--prefix={0}/{1}/'.format(QUILT_PC, patchname), '-E', '-i', patchfile] - returncode = subprocess.call(arguments) - if not returncode == 0: - raise Exception("could not apply patch {0}".format(patchname)) - -def apply_patches_using_patch(): - run_patch('ifort91', 'ifort91.diff') - -def main(undo_patches = False): - print("applying ifort91 patches to source code") - apply_patches_using_patch() - -if __name__ == '__main__': - main() diff --git a/src/amuse/community/nbody6xx/Makefile b/src/amuse/community/nbody6xx/Makefile deleted file mode 100644 index f33e729c37..0000000000 --- a/src/amuse/community/nbody6xx/Makefile +++ /dev/null @@ -1,49 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include $(AMUSE_DIR)/config.mk - -MPIFC ?= mpif90 -FORTRAN ?= $(FC) - -LDFLAGS += -lm $(MUSE_LD_FLAGS) - -# check for gfortran, this catches link and compiler wrappers -ifeq ($(findstring GNU, $(shell $(FORTRAN) --version)), GNU) -FCFLAGS2+=-ffixed-form -xf77-cpp-input -endif - -ifeq ($(findstring ifort, $(notdir $(FORTRAN))), ifort) -FCFLAGS2=-fpp -fixed -endif - -OBJS = interface.o - -CODELIB = src/libnbody6xx.a - - -all: nbody6xx_worker - -clean: - $(RM) -f *.so *.o *.pyc worker_code.cc worker_code.h - $(RM) -f *~ nbody6xx_worker worker_code.f90 - $(RM) -f amuse_interface.mod - make -C src clean - -$(CODELIB): -ifeq ($(MPI_ENABLED), no) - make -C src amuse -else - make -C src amusepar -endif - -worker_code.f90: interface.py - $(CODE_GENERATOR) --type=f90 interface.py Nbody6xxInterface -o $@ - -nbody6xx_worker: worker_code.f90 $(CODELIB) $(OBJS) - $(MPIFC) $(FCFLAGS) $(FS_FLAGS) $(LDFLAGS) $< $(OBJS) $(CODELIB) $(FS_LIBS) -o $@ $(LIBS) - -%.o: %.f90 - $(FC) $(FCFLAGS) $(FCFLAGS2) -Isrc/ -c -o $@ $< diff --git a/src/amuse/community/nbody6xx/interface.py b/src/amuse/community/nbody6xx/interface.py index 74797c5879..6ff361581e 100644 --- a/src/amuse/community/nbody6xx/interface.py +++ b/src/amuse/community/nbody6xx/interface.py @@ -1,296 +1,7 @@ -from amuse.community import * -from amuse.community.interface.gd import GravitationalDynamicsInterface -from amuse.community.interface.gd import GravitationalDynamics -from amuse.community.interface.gd import GravityFieldInterface -from amuse.community.interface.gd import GravityFieldCode +from amuse.support.import_helper import load_code -class Nbody6xxInterface( - CodeInterface, - GravitationalDynamicsInterface, - GravityFieldInterface - ): - use_modules = ['AMUSE_INTERFACE'] - include_headers = ['worker_code.h'] - - def __init__(self, **keyword_arguments): - CodeInterface.__init__(self, name_of_the_worker="nbody6xx_worker", **keyword_arguments) - - @legacy_function - def main(): - function = LegacyFunctionSpecification() - function.addParameter('int_in', dtype='int32', direction=function.IN) - function.addParameter('int_out', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def set_kz(): - function = LegacyFunctionSpecification() - function.addParameter('kz_option', dtype='int32', direction=function.IN) - function.addParameter('val', dtype='float64', direction=function.IN) - function.result_type = 'int32' - function.can_handle_array = False - return function - - @legacy_function - def get_kz(): - function = LegacyFunctionSpecification() - function.addParameter('kz_option', dtype='int32', direction=function.IN) - function.addParameter('val', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = False - return function - - @legacy_function - def set_eta(): - """ - Set the current time step parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('eta', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_eta(): - """ - Set the current system time step parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('eta', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_etai(): - """ - Set the current irregular force time step parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('etai', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_etai(): - """ - Get the current system irregular force time step parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('etai', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_etar(): - """ - Set the current regular force time step parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('etar', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_etar(): - """ - Get the current system regular force time step parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('etar', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_rbar(): - """ - Set the scaling unit in parsec for one N-body unit of length. - """ - function = LegacyFunctionSpecification() - function.addParameter('val', dtype='float64', - direction=function.IN, unit=units.parsec) - function.result_type = 'int32' - return function - - @legacy_function - def get_rbar(): - """ - Get the scaling unit in parsec for one N-body unit of length. - """ - function = LegacyFunctionSpecification() - function.addParameter('val', dtype='float64', - direction=function.OUT, unit=units.parsec) - function.result_type = 'int32' - return function - - @legacy_function - def set_zmbar(): - """ - Set the scaling unit for average particle mass in solar masses. - """ - function = LegacyFunctionSpecification() - function.addParameter('val', dtype='float64', - direction=function.IN,unit=units.MSun) - function.result_type = 'int32' - return function - - @legacy_function - def get_zmbar(): - """ - Get the scaling unit for average particle mass in solar masses. - """ - function = LegacyFunctionSpecification() - function.addParameter('val', dtype='float64', - direction=function.OUT,unit=units.MSun) - function.result_type = 'int32' - return function - - - @legacy_function - def set_qe(): - """ - Set the relative energy error tolerance. - """ - function = LegacyFunctionSpecification() - function.addParameter('val', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_qe(): - """ - Get the relative energy error tolerance. - """ - function = LegacyFunctionSpecification() - function.addParameter('val', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - - -class Nbody6xx(GravitationalDynamics, GravityFieldCode): - - def __init__(self, convert_nbody = None, **kargs): - GravitationalDynamics.__init__(self, Nbody6xxInterface(**kargs), convert_nbody, **kargs) -# RBAR= virial radius in parsec -# ZMBAR= mean particle mass in solar units -# if convert_nbody is not None: -# self.parameters.RBAR=convert_nbody.to_si(1 | nbody_system.length) -# self.parameters.ZMBAR=convert_nbody.to_si(1 | nbody_system.mass) - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - handler.add_method('RUN', 'get_particle_timestep') - GravityFieldCode.define_state(self, handler) - - handler.add_method('EDIT', 'set_state') - handler.add_method('EDIT', 'set_velocity') - handler.add_method('EDIT', 'set_mass') - handler.add_method('EDIT', 'set_position') - handler.add_method('CHANGED','before_get_parameter') - - handler.add_transition('RUN', 'CHANGED', 'set_state', False) - handler.add_transition('RUN', 'CHANGED', 'set_velocity', False) - handler.add_transition('RUN', 'CHANGED', 'set_mass', False) - handler.add_transition('RUN', 'CHANGED', 'set_position', False) - handler.add_transition('CHANGED', 'RUN', 'synchronize_model') - handler.add_method('CHANGED', 'get_state') - handler.add_method('CHANGED', 'get_mass') - handler.add_method('CHANGED', 'get_position') - handler.add_method('CHANGED', 'get_velocity') - handler.add_method('CHANGED', 'get_particle_timestep') - - def define_parameters(self, handler): - - # Set/get parameters specific to the module, not part of the - # standard interface. Accessors used here must be defined - # above and reflected in interface.cc. Python access is - # (e.g.) - # - # ph4.parameters.timestep_parameter = xxx - - handler.add_method_parameter( - "get_eta", # getter name in interface.cc - "set_eta", # setter name in interface.cc - "timestep_parameter", # python parameter name - "timestep parameter", # description - default_value = 0.05 - ) - - handler.add_method_parameter( - "get_eps2", # already defined in standard interface - "set_eps2", # already defined in standard interface - "epsilon_squared", - "smoothing parameter for gravity calculations", - default_value = 0.0 | nbody_system.length * nbody_system.length - ) - - - handler.add_method_parameter( - "get_begin_time", - "set_begin_time", - "begin_time", - "model time to start the simulation at", - default_value = 0.0 | nbody_system.time - ) - - handler.add_method_parameter( - "get_qe", - "set_qe", - "QE", - "Relative energy error tolerance", - default_value = 2.0E-4 - ) - - handler.add_method_parameter( - "get_rbar", - "set_rbar", - "RBAR", - "The scaling unit in parsec for one N-body unit of length", - default_value = 1.0 | units.parsec - ) - - handler.add_method_parameter( - "get_zmbar", - "set_zmbar", - "ZMBAR", - "The scaling unit for average particle mass in solar masses", - default_value = 0.7 | units.MSun - ) - - #self.stopping_conditions.define_parameters(handler) - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - - # Turn interface functions into methods. - - handler.add_method( - "set_eps2", - ( - nbody_system.length * nbody_system.length - ), - ( - handler.ERROR_CODE - ) - ) - - handler.add_method( - "get_eps2", - (), - ( - nbody_system.length * nbody_system.length, - handler.ERROR_CODE - ) - ) +Nbody6xxInterface = load_code("nbody6xx", "Nbody6xxInterface") +Nbody6xx = load_code("nbody6xx", "Nbody6xx") +Nbody6xx = Nbody6xx diff --git a/src/amuse/community/nbody6xx/src/Makefile b/src/amuse/community/nbody6xx/src/Makefile deleted file mode 100644 index 9fc13492b0..0000000000 --- a/src/amuse/community/nbody6xx/src/Makefile +++ /dev/null @@ -1,355 +0,0 @@ -# -# Makefile for selecting parallel/ensemble average/single CPU version -# of NBODY6++ June 2003 R.Sp. -# -# Usage notes: these examples show how to adapt the Makefile targets to -# specific computer architectures or compilers. The targets defined here -# should cover the most important cases and can be used as templates for -# other machines and compilers. -# -# make, make standard, make nbody6 (single CPU version) -# make pgf (single CPU pgf77-Comp. generic) -# make pgfp3 (single CPU pgf77-Comp. Pentium 3 optimised) -# make pgfp4 (single CPU pgf77-Comp. Pentium 4 optimised) -# make gpu (single CPU plus one GPU) -# make mpich (Beowulf PC clusters, standard mpif77) -# make mpichpgf (Beowulf PC clusters, using pgf77) -# make mpichgpu (many CPU, many GPU, not fully working) -# make sun (single CPU sun-Comp. generic) -# make sun_e10k (parallel Sun Enterprise) -# make sun_e10k_fast (parallel Sun Enterprise optimised) -# make crayt3e NPE=n (fully parallel version using SHMEM CRAY T3E) -# make crayt3e_noshmem NPE=n (fully parallel version no SHMEM CRAY T3E) -# make jump (fully parallel version on IBM Jump with AIX) -# -# make mpich_ensemble, mpichpgf_ensemble, sun_e10k_ensemble, -# sun_e10k_fast_ensemble, crayt3e_ensemble -# (parallel run, but for ensemble job farming) -# make visit, pgfvisit, mpichvisit: (including the visit online visualisation -# library, experimental, need AVS license) -# -# make clean (remove all .o and .f which should not exist) -# make cleanpar (remove all .o originating from .F) -# -# -LOAD = $(FC) -CC = cc -RESULT = nbody6 -LFLAGS = -o $(RESULT) -LFLAGS2 = -CUFLAGS= -g -CUDA_PATH=/usr/local/cuda -VISITFLAGS = -DVISIT -VISITLD = -L ./lvisit -llvisit_nbody -L/work/Tuc/spurzem/visit/visit/lvisit/lib -llvisit -L/work/Tuc/spurzem/visit/visit/visit20/lib -lvisit - -CODELIB = libnbody6xx.a -AMUSE_DIR?=../../../../.. --include ${AMUSE_DIR}/config.mk - -AR = ar ruv -RANLIB = ranlib -RM = rm - -#---------------------------------------------------------------------------- -# Workstation single CPU g77 Linux -O6 -#---------------------------------------------------------------------------- -standard: - cp mpif.null.h mpif.h - $(MAKE) $(RESULT) "FC = gfortran" "FFLAGS = -O3 -fPIC" "SOURCE = energy.f $(SOURCE)" - -amuse: - cp mpif.null.h mpif.h - $(MAKE) $(CODELIB) "FC = $(MPIFC)" "FFLAGS = $(FCFLAGS)" "SOURCE = energy.f $(SOURCE)" - -# for now only seq, par does same as amuse -amusepar: - -rm -f mpif.h - cp mpif.null.h mpif.h - $(MAKE) $(CODELIB) "FC = $(MPIFC)" "FFLAGS = $(FCFLAGS)" "SOURCE = energy.f $(SOURCE)" - -gpu: - cp mpif.null.h mpif.h - $(MAKE) nbody6.gpu "CUDA_PATH=/usr/local/cuda" "SDK_PATH=/usr/local/cuda_sdk/C" "FC = gfortran" "LFLAGS = -o nbody6.gpu -L$(CUDA_PATH)/lib64 -lcudart" \ - "FFLAGS = -O3 -g -fbounds-check -D GPU" \ - "SOURCE = energy.f util_gpu.f $(SOURCE)" -gpu_laohu: - cp mpif.null.h mpif.h - $(MAKE) nbody6.gpu "CUDA_PATH=/export/" "SDK_PATH=/export/NVIDIA_CUDA_SDK" "FC = gfortran" "LFLAGS = -o nbody6.gpu -L/export/CUDA/4.0/lib64 -lcudart" \ - "FFLAGS = -O3 -fbounds-check -D GPU" \ - "SOURCE = energy.f util_gpu.f $(SOURCE)" - -gpu_milkyway: - cp mpif.null.h mpif.h - $(MAKE) nbody6.gpu "SDK_PATH=" "FC = gfortran" "CUFLAGS= -D CUDA_5" "LFLAGS = -o nbody6.gpu -lcudart" \ - "FFLAGS = -O3 -D GPU" \ - "SOURCE = energy.f util_gpu.f $(SOURCE)" - -#---------------------------------------------------------------------------- -# Workstation single CPU pgf77 Linux generic -#---------------------------------------------------------------------------- -pgf: - cp mpif.null.h mpif.h - $(MAKE) $(RESULT) "FC = pgf77" "FFLAGS = -O4" \ - "SOURCE = energy.f $(SOURCE)" -#---------------------------------------------------------------------------- -# Workstation single CPU pgf77 Linux (PIII, PII, PPro) -#---------------------------------------------------------------------------- -pgfp3: - cp mpif.null.h mpif.h - $(MAKE) $(RESULT) "FC = pgf77" "FFLAGS = -O4 -tp p6 -pc 64 -fast" \ - "SOURCE = energy.f $(SOURCE)" -#---------------------------------------------------------------------------- -# Workstation single CPU pgf77 Linux (P4) -#---------------------------------------------------------------------------- -pgfp4: - cp mpif.null.h mpif.h - $(MAKE) $(RESULT) "FC = pgf77" "FFLAGS = -O4 -tp p7 -pc 64 -fast -fastsse" \ - "SOURCE = energy.f $(SOURCE)" -#---------------------------------------------------------------------------- -# Workstation parallel CPU f77 Linux (Beowulf generic mpif77) -#---------------------------------------------------------------------------- -mpich: - rm -f mpif.h - $(MAKE) $(RESULT) "FC = mpif77" "FFLAGS = -O4 -D PUREMPI -D PARALLEL" \ - "SOURCE = energy_mpi.F fpoly1_mpi.f fpoly2_mpi.f $(SOURCE)" -mpich_laohu: - rm -f mpif.h - $(MAKE) $(RESULT) "FC = /usr/mpi/gcc/openmpi-1.3.2-qlc/bin/mpif77" "FFLAGS = -O3 -g -fbounds-check -D PUREMPI -D PARALLEL" \ - "SOURCE = energy_mpi.F fpoly1_mpi.f fpoly2_mpi.f $(SOURCE)" - -mpich_milkyway: - rm -f mpif.h - $(MAKE) $(RESULT) "FC = /opt/parastation/mpi2/bin/mpif77" "FFLAGS = -O3 -fPIC -ffast-math -D PUREMPI -D PARALLEL -Wall" \ - "SOURCE = energy_mpi.F fpoly1_mpi.f fpoly2_mpi.f $(SOURCE)" - -mpich_ensemble: - rm -f mpif.h - $(MAKE) $(RESULT) "FC = mpif77" "FFLAGS = -O4 -D ENSEMBLE" \ - "SOURCE = energy_mpi.F fpoly1_mpi.f fpoly2_mpi.f $(SOURCE)" -mpichgpu: - rm -f mpif.h - $(MAKE) nbody6.gpu "CUDA_PATH=/usr/local/cuda" "SDK_PATH=/usr/local/cuda_sdk/C" "FC = mpif77" "LFLAGS = -o nbody6.gpu -L$(CUDA_PATH)/lib64 -lcudart" \ - "FFLAGS = -O4 -D PUREMPI -D PARALLEL -D GPU" \ - "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f util_gpu.f $(SOURCE)" -mpichgpu_laohu: - rm -f mpif.h - $(MAKE) nbody6.gpu "CUDA_PATH=/export/" "SDK_PATH=/export/NVIDIA_CUDA_SDK" "FC = /usr/mpi/gcc/openmpi-1.3.2-qlc/bin/mpif77" "LFLAGS = -o nbody6.gpu -L/export/CUDA/4.0/lib64 -lcudart" \ - "FFLAGS = -g -D PUREMPI -D PARALLEL -D GPU -fPIC -fbounds-check" \ - "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f util_gpu.f $(SOURCE)" - -mpichgpu_milkyway_g: - rm -f mpif.h - $(MAKE) nbody6.gpu "FC = /opt/parastation/mpi2/bin/mpif77" "SDK_PATH=" "CUFLAGS= -g -D CUDA_5" "LFLAGS = -o nbody6.gpu -lcudart" \ - "FFLAGS = -g -O0 -D PUREMPI -D PARALLEL -D GPU -fbounds-check -Wall -fbacktrace -finit-real=nan" \ - "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f util_gpu.f $(SOURCE)" - -mpichgpu_milkyway: - rm -f mpif.h - $(MAKE) nbody6.gpu "FC = /opt/parastation/mpi2/bin/mpif77" "SDK_PATH=" "CUFLAGS= -arch=sm_20 -Xptxas -v -O3 -D CUDA_5" "LFLAGS = -o nbody6.gpu -lcudart" \ - "FFLAGS = -O3 -fPIC -ffast-math -D PUREMPI -D PARALLEL -D GPU -Wall" \ - "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f util_gpu.f $(SOURCE)" - -mpichgpu_lwpc: - rm -f mpif.h - $(MAKE) nbody6.gpu "CUDA_PATH=/usr/local/cuda" "CUFLAGS=-arch=sm_30 -Xptxas -v -O3 -D CUDA_5 " "SDK_PATH=/usr/local/cuda/samples" "FC = mpif77" "LFLAGS = -o nbody6.gpu -L/usr/local/cuda/lib64 -lcudart" \ - "FFLAGS = -O3 -fPIC -ffast-math -march=core2 -D PUREMPI -D PARALLEL -D GPU" \ - "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f util_gpu.f $(SOURCE)" - -mpichgpu_lwpcg: - rm -f mpif.h - $(MAKE) nbody6.gpu "CUDA_PATH=/usr/local/cuda" "CUFLAGS=-g -arch=sm_30 -Xptxas -v -D CUDA_5 " "SDK_PATH=/usr/local/cuda/samples" "FC = mpif77" "LFLAGS = -o nbody6.gpu -L/usr/local/cuda/lib64 -lcudart" \ - "FFLAGS = -g -O0 -D PUREMPI -D PARALLEL -D GPU -fbounds-check -Wall -fbacktrace -finit-real=nan" \ - "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f util_gpu.f $(SOURCE)" - - -#---------------------------------------------------------------------------- -# Workstation parallel CPU pgf77 Linux (Beowulf pgf77 P4 optimised) -#---------------------------------------------------------------------------- -mpichpgf: - rm -f mpif.h - $(MAKE) $(RESULT) "LOAD = mpif77-pgi" "FC = pgf77" "FFLAGS = -O4 -tp p7 -pc 64 -fast -fastsse -D PUREMPI -D PARALLEL" \ - "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f $(SOURCE)" -mpichpgf_ensemble: - rm -f mpif.h - $(MAKE) $(RESULT) "LOAD = mpif77-pgi" "FC = pgf77" "FFLAGS = -O4 -tp p7 -pc 64 -fast -fastsse -D ENSEMBLE" \ - "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f $(SOURCE)" -#---------------------------------------------------------------------------- -# Workstation single CPU f77 Solaris -#---------------------------------------------------------------------------- -sun: - cp mpif.null.h mpif.h - $(MAKE) $(RESULT) "FC = f77" "FFLAGS = -O4 " "SOURCE = energy.f $(SOURCE)" -#---------------------------------------------------------------------------- -# Parallel Sun -#---------------------------------------------------------------------------- -sun_e10k: - rm -f mpif.h - $(MAKE) $(RESULT) "FFLAGS = -D PUREMPI -D PARALLEL" \ - "FC = tmf77" "LFLAGS = -lmpi $(LFLAGS)" \ - "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f $(SOURCE)" - -sun_e10k_ensemble: - rm -f mpif.h - $(MAKE) $(RESULT) "FFLAGS = -D ENSEMBLE" \ - "FC = tmf77" "LFLAGS = -lmpi $(LFLAGS)" \ - "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f $(SOURCE)" - -sun_e10k_fast: - rm -f mpif.h - $(MAKE) $(RESULT) "FFLAGS = -fast -xarch=v9a -D PUREMPI -D PARALLEL" \ - "FC = tmf77" "LFLAGS = -lmpi $(LFLAGS)" \ - "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f $(SOURCE)" - -sun_e10k_fast_ensemble: - rm -f mpif.h - $(MAKE) $(RESULT) "FFLAGS = -fast -xarch=v9a -D ENSEMBLE" \ - "FC = tmf77" "LFLAGS = -lmpi $(LFLAGS)" \ - "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f $(SOURCE)" -#---------------------------------------------------------------------------- -# IBM JUMP Fully parallel Mode (-bnoquiet) -#---------------------------------------------------------------------------- -jump: - rm -f mpif.h - sed 's/APPEND/SEQUENTIAL/g' file_init.F > x.F - mv x.F file_init.F - cp flush.t3e.f flush.f - cp mpif.jump.h mpif.rainer.h - $(MAKE) $(RESULT) "FFLAGS = -I . -q64 -qfixed -O3 -qstrict -qsave" \ - "FC = mpxlf_r" "CPPFLAGS = -DPUREMPI -DPARALLEL" \ - "SOURCE = energy.f energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f flush.f $(SOURCE)" \ - "LFLAGS = -bmaxdata:500000000 $(LFLAGS)" -#---------------------------------------------------------------------------- -# CRAY T3E Fully parallel Mode including SHMEM -#---------------------------------------------------------------------------- -crayt3e: - rm -f mpif.h - sed 's/APPEND/SEQUENTIAL/g' file_init.F > x.F - mv x.F file_init.F - cp mpif.t3e.h mpif.rainer.h - cp flush.t3e.f flush.f - $(MAKE) $(RESULT) "FFLAGS = -d p -D SHMEM -D PARALLEL" \ - "FC = f90" "LFLAGS = -X$(NPE) $(LFLAGS)-$(NPE)" \ - "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f flush.f $(SOURCE)" - -crayt3e_ensemble: - rm -f mpif.h - sed 's/APPEND/SEQUENTIAL/g' file_init.F > x.F - mv x.F file_init.F - cp mpif.t3e.h mpif.rainer.h - cp flush.t3e.f flush.f - $(MAKE) $(RESULT) "FFLAGS = -d p -D ENSEMBLE" \ - "FC = f90" "LFLAGS = -X$(NPE) $(LFLAGS)-$(NPE)" \ - "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f flush.f $(SOURCE)" - -crayt3e_noshmem: - rm -f mpif.h - sed 's/APPEND/SEQUENTIAL/g' file_init.F > x.F - mv x.F file_init.F - cp mpif.t3e.h mpif.rainer.h - cp flush.t3e.f flush.f - $(MAKE) $(RESULT) "FFLAGS = -d p -D PUREMPI -D PARALLEL" \ - "FC = f90" "LFLAGS = -X$(NPE) $(LFLAGS)-$(NPE)" \ - "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f flush.f $(SOURCE)" -#---------------------------------------------------------------------------- -# Workstation single CPU f77 Linux -# with visit support -#---------------------------------------------------------------------------- -visit: - cp mpif.null.h mpif.h - $(MAKE) $(RESULT) "FC = g77" "FFLAGS = -O4 $(VISITFLAGS)" "LFLAGS2 = $(VISITLD)"\ - "SOURCE = energy.f $(SOURCE)" -#---------------------------------------------------------------------------- -# Workstation single CPU pgf77 Linux -O4 -tp p6 -pc 64 (PPro, PII, PIII...) -# with visit support -#---------------------------------------------------------------------------- -pgfvisit: - cp mpif.null.h mpif.h - $(MAKE) $(RESULT) "FC = pgf77" "FFLAGS = -O4 -tp p6 -pc 64 $(VISITFLAGS)" "LFLAGS2 = $(VISITLD)"\ - "SOURCE = energy.f $(SOURCE)" -#---------------------------------------------------------------------------- -# Workstation parallel CPU f77 Linux -O4 (Beowulf et al, experimental) -# with visit support -#---------------------------------------------------------------------------- -mpichvisit: - rm -f mpif.h - $(MAKE) $(RESULT) "FC = mpif77" "FFLAGS = -O4 -D PUREMPI -D PARALLEL $(VISITFLAGS)" "LFLAGS2 = $(VISITLD)" \ - "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f $(SOURCE)" -#---------------------------------------------------------------------------- - - -INC = params.h common6.h - -SOURCE = nbody6.amuse.f int.amuse.f nbody6.f file_init.f ellan.f eigenvalue.f indexx.f \ -adjust.f assess.f bindat.f binev.f binout.f binpop.f block.f bodies.f \ -brake.f brake2.f brake3.f bsetid.f chaos0.f chaos.f \ -check.f checkl.f chrect.f clint.f cloud.f cloud0.f \ -cmbody.f cmcorr.f cmfirr.f cmfreg.f coal.f comenv.f core.f corerd.f \ -cputim.f data.f decide.f define.f deform.f degen.f delay.f \ -dgcore.f dtchck.f eccmod.f ecirc.f edot.f efac2.f efac3.f \ -expel.f escape.f events.f evolve.f expand.f fclose.f \ -fcloud.f fcorr.f fdisk.f fhalo.f ficorr.f findj.f findm.f \ -flyby.f fnuc.f fpcorr.f fpert.f fpoly1.f fpoly2.f freeze.f \ -gcinit.f gcint.f giant.f giant3.f gntage.f grrad.f hcorr.f \ -hiarch.f hicirc.f hidat.f higrow.f himax.f himax2.f himod.f \ -hipop.f hirect.f histab.f hivel.f hmdot.f hmdot2.f hotsys.f \ -hrdiag.f hrplot.f hut.f hut2.f iblock.f imf.f imfbd.f imf2.f \ -impact.f induce.f input.f insert.f instar.f intgrt.f \ -jacobi.f kick.f kick2.f ksapo.f kscorr.f \ -ksin2.f ksinit.f ksint.f kslist.f ksmod.f ksperi.f kspert.f \ -kspoly.f kspred.f ksrect.f ksreg.f ksres.f ksres2.f ksterm.f \ -kstide.f lagr.f levels.f magbrk.f matrix.f mdot.f merge.f \ -merge2.f mix.f mloss.f mlwind.f modify.f mrenv.f mtrace.f mydump.f \ -nbint.f nblist.f nbpot.f nbrem.f nbrest.f nbsort.f nbtide.f \ -newtev.f nstab.f offset.f orbit.f output.f peri.f permit.f \ -pfac.f poti.f proto_star.f qtides.f ran2.f reflct.f regint.f \ -remove.f rename.f reset.f reset2.f resolv.f rkint.f rl.f roche.f \ -rpmax.f rpmax2.f rpmin.f scale.f search.f setup.f setup2.f short.f shrink.f \ -sort1.f spiral.f stability.f star.f start.f stepk.f steps.f stumpf.f \ -subint.f swap.f sweep.f synch.f tcirc.f tides.f tides2.f \ -tides3.f touch.f tpert.f trdot.f trdot2.f trflow.f tstab.f tstep.f \ -units.f unpert.f update.f verify.f xtrnl0.f xtrnld.f xtrnlf.f xtrnlp.f \ -xtrnlv.f xvpred.f zare.f zcnsts.f zero.f zfuncs.f \ -triple.f derqp3.f difsy3.f erel3.f extend.f qpmod3.f stabl3.f \ -stablz.f start3.f subsys.f tperi.f trans3.f \ -quad.f derqp4.f difsy4.f endreg.f erel4.f ichain.f newreg.f newsys.f \ -qpmod4.f rchain.f rsort.f stabl4.f start4.f status.f trans4.f \ -cfuncs.f chain.f chstab.f const.f cstab2.f cstab3.f cstab4.f cstab5.f \ -derqp.f difsy1.f erel.f hpsort.f inclin.f invert.f ksphys.f physks.f \ -qforce.f qpmod.f r2sort.f recoil.f redraw.f select.f slow.f stablc.f \ -swcond.f switch.f transk.f transq.f transx.f vector.f xtf.f xtrnlu.f \ -ycopy.f ysave.f \ -absorb.f chaos2.f chdata.f chfind.f chfirr.f chinit.f chlist.f chmod.f \ -chpert.f chpot.f chterm.f expel2.f fchain.f ghost.f giant2.f kcpert.f \ -reduce.f reinit.f renew.f setsys.f tchain.f xcpred.f xtpert.f - -CUDASOURCE = gpunb.gpu.cu gpupot.gpu.cu -CUDAOBJECTS = gpunb.gpu.o gpupot.gpu.o - -.SUFFIXES : .o .F - -OBJECTS = $(SOURCE:.f=.o) - -$(CODELIB): $(OBJECTS) - $(RM) -f $@ - $(AR) $@ $(OBJECTS) - $(RANLIB) $@ - -nbody6: $(OBJECTS) - $(LOAD) $(FFLAGS) $(LFLAGS) $(OBJECTS) $(LFLAGS2) - -nbody6.gpu: $(OBJECTS) $(CUDAOBJECTS) - $(LOAD) $(FFLAGS) $(LFLAGS) $(OBJECTS) $(CUDAOBJECTS) $(LFLAGS2) - -$(OBJECTS): $(INC) - -start.o: energy.f energy_mpi.F phicor.f fpoly1.f fpoly2.f fpoly1_mpi.f fpoly2_mpi.f - -gpunb.gpu.o: gpunb.gpu.cu - nvcc -c $(CUFLAGS) -Xcompiler "-O3 -Wall" -I$(SDK_PATH)/common/inc -I. -I$(HOME)/include gpunb.gpu.cu - -gpupot.gpu.o: gpupot.gpu.cu - nvcc -c $(CUFLAGS) -Xcompiler "-O3 -Wall" -I$(SDK_PATH)/common/inc -I. -I$(HOME)/include gpupot.gpu.cu -clean: - -rm -f *.o - -rm -f *.a - -rm -f nbody6 diff --git a/src/amuse/community/octgrav/interface.py b/src/amuse/community/octgrav/interface.py index 65c61f711c..73cfec26dd 100644 --- a/src/amuse/community/octgrav/interface.py +++ b/src/amuse/community/octgrav/interface.py @@ -1,193 +1,7 @@ -from amuse.community import * -from amuse.community.interface.gd import GravitationalDynamicsInterface -from amuse.community.interface.gd import GravitationalDynamics -from amuse.community.interface.gd import GravityFieldInterface -from amuse.community.interface.gd import GravityFieldCode +from amuse.support.import_helper import load_code -class OctgravInterface( - CodeInterface, - LiteratureReferencesMixIn, - GravitationalDynamicsInterface, - StoppingConditionInterface, - GravityFieldInterface): - """ - .. [#] ADS:2010ProCS...1.1119G (Gaburov E., Bedorf J., Portegies Zwart S., 2010, Proc. C. Sc., 1, 1119: - .. [#] ... "A gravitational tree code on graphics processing units: Implementation in CUDA" - """ - include_headers = ['interface.h', 'parameters.h', 'worker_code.h', 'local.h', 'stopcond.h'] +OctgravInterface = load_code("octgrav", "OctgravInterface") +Octgrav = load_code("octgrav", "Octgrav") - def __init__(self, convert_nbody = None, **options): - CodeInterface.__init__(self, name_of_the_worker="octgrav_worker", **options) - """ - self.parameters = parameters.Parameters(self.parameter_definitions, self) - if convert_nbody is None: - convert_nbody = nbody_system.nbody_to_si.get_default() - - self.convert_nbody = convert_nbody - """ - LiteratureReferencesMixIn.__init__(self) - - - - - - @legacy_function - def get_theta_for_tree(): - """ - - """ - function = LegacyFunctionSpecification() - function.addParameter('opening_angle', dtype='float64', direction=function.OUT, - description = "opening_angle") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - xx - -1 - ERROR - xx - """ - return function - - @legacy_function - def set_theta_for_tree(): - """ - - """ - function = LegacyFunctionSpecification() - function.addParameter('opening_angle', dtype='float64', direction=function.IN, - description = "opening_angle") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - xx - -1 - ERROR - xx - """ - return function - - @legacy_function - def set_time_step(): - """ - Update timestep. - """ - function = LegacyFunctionSpecification() - function.addParameter('time_step', dtype='float64', direction=function.IN, - description = "timestep") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found in the model and the information was set - -1 - ERROR - particle could not be found - """ - return function - - - - - - -class Octgrav(GravitationalDynamics, GravityFieldCode): - - def __init__(self, convert_nbody = None, **options): - legacy_interface = OctgravInterface(**options) - self.stopping_conditions = StoppingConditions(self) - - GravitationalDynamics.__init__( - self, - legacy_interface, - convert_nbody, - **options - ) - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_eps2", - "set_eps2", - "epsilon_squared", - "smoothing parameter for gravity calculations", - default_value = 0.01 | nbody_system.length * nbody_system.length - ) - handler.add_method_parameter( - "get_time_step", - "set_time_step", - "timestep", - "constant timestep for iteration", - default_value = 0.01 | nbody_system.time - ) - handler.add_method_parameter( - "get_theta_for_tree", - "set_theta_for_tree", - "opening_angle", - "opening angle for building the tree between 0 and 1", - default_value = 0.8 - ) - handler.add_method_parameter( - "get_begin_time", - "set_begin_time", - "begin_time", - "model time to start the simulation at", - default_value = 0.0 | nbody_system.time - ) - - self.stopping_conditions.define_parameters(handler) - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - - handler.add_method( - "get_eps2", - (), - (nbody_system.length * nbody_system.length, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_eps2", - (nbody_system.length * nbody_system.length, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_time_step", - (), - (nbody_system.time, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_time_step", - (nbody_system.time, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_theta_for_tree", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_theta_for_tree", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - self.stopping_conditions.define_methods(handler) - - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - GravityFieldCode.define_state(self, handler) - -# this should be checked! - handler.add_method('EDIT', 'get_gravity_at_point') - handler.add_method('EDIT', 'get_potential_at_point') - - self.stopping_conditions.define_state(handler) - - - - - def define_particle_sets(self, handler): - GravitationalDynamics.define_particle_sets(self, handler) - self.stopping_conditions.define_particle_set(handler) +Octgrav = Octgrav diff --git a/src/amuse/community/petar/Makefile b/src/amuse/community/petar/Makefile deleted file mode 100644 index 44445b8d3c..0000000000 --- a/src/amuse/community/petar/Makefile +++ /dev/null @@ -1,88 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -# don't run make directly in the PeTar/amuse-interface directory, this is used inside amuse. -AMUSE_DIR?=$(shell amusifier --get-amuse-dir) --include $(AMUSE_DIR)/config.mk - -MPICXX ?= mpicxx - -INCLUDE += -I src/PeTar/src -I src/SDAR/src -I src/FDPS/src - -MPIFLAGS += -DPARTICLE_SIMULATOR_MPI_PARALLEL -DMPICH_IGNORE_CXX_SEEKC - -CXXFLAGS = ${INCLUDE} -fPIC -O2 -Wall -std=c++17 -fopenmp - -# arch -# CXXFLAGS += -march=core-avx2 -# CXXFLAGS += -D INTRINSIC_X86 -# CXXFLAGS += -D USE_SIMD -# CXXFLAGS += -D DIV_FIX - -CXXFLAGS += -D PARTICLE_SIMULATOR_THREAD_PARALLEL -# MPI -CXXFLAGS += -D PARTICLE_SIMULATOR_MPI_PARALLEL -CXXFLAGS += -D MPICH_IGNORE_CXX_SEEKC - -CXXFLAGS += -D SOFT_PERT -D AR_TTL -D AR_SLOWDOWN_TREE -D AR_SLOWDOWN_TIMESCALE -D CLUSTER_VELOCITY -CXXFLAGS += -D USE_QUAD -CXXFLAGS += -D STELLAR_EVOLUTION - -CXXFLAGS += -D PROFILE -CXXFLAGS += -D HARD_CHECK_ENERGY -CXXFLAGS += -D TIDAL_TENSOR_3RD - -# debug -#CXXFLAGS += -D PETAR_DEBUG -D AR_DEBUG -D AR_DEBUG_DUMP -D AR_WARN -D HARD_DEBUG -D HARD_DUMP -D CLUSTER_DEBUG -D ARTIFICIAL_PARTICLE_DEBUG -CXXFLAGS += -D INTERFACE_DEBUG_PRINT -CXXFLAGS += -D INTERFACE_DEBUG - -LDFLAGS += -lm $(MUSE_LD_FLAGS) - -OBJS = interface.o - -DIRLIST=src/PeTar src/SDAR src/FDPS - -CODELIB = - -all: petar_worker __init__.py - -clean: - $(RM) -rf __pycache__ - $(RM) -f *.so *.o *.pyc worker_code.cc worker_code.h - $(RM) *~ petar_worker worker_code.cc -# make -C src clean - -distclean: clean - rm -rf src - -#$(CODELIB): -# make -C src all - -DOWNLOAD_FROM_WEB = $(PYTHON) ./download.py - -$(DIRLIST): -# $(RM) -Rf .pc -# $(RM) -Rf src -# mkdir src - $(DOWNLOAD_FROM_WEB) - -__init__.py: - touch $@ - -src/PeTar/src/get_version.hpp: |src/PeTar - sed 's/@VERSION@/'`cat src/PeTar/VERSION`'_'`cat src/SDAR/VERSION`'/g' src/PeTar/src/get_version.hpp.in >src/PeTar/src/get_version.hpp - -test_interface: $(OBJS) test_interface.o - $(MPICXX) $(CXXFLAGS) $(OBJS) test_interface.o -o $@ - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py petarInterface -o $@ - -worker_code.h: interface.py - $(CODE_GENERATOR) --type=H -i amuse.community.interface.stopping_conditions.StoppingConditionInterface interface.py petarInterface -o $@ - -petar_worker: worker_code.cc worker_code.h $(CODELIB) $(OBJS) interface.h - $(MPICXX) $(CXXFLAGS) $(SC_FLAGS) $(AM_CFLAGS) $(LDFLAGS) $< $(OBJS) $(CODELIB) -o $@ $(SC_MPI_CLIBS) $(LIBS) $(AM_LIBS) - -interface.o: interface.cc src/PeTar/src/get_version.hpp |$(DIRLIST) - $(MPICXX) $(CXXFLAGS) $(SC_FLAGS) -c -o $@ $< diff --git a/src/amuse/community/petar/download.py b/src/amuse/community/petar/download.py deleted file mode 100644 index 85f7ed5cfa..0000000000 --- a/src/amuse/community/petar/download.py +++ /dev/null @@ -1,132 +0,0 @@ -#!/usr/bin/env python - -import subprocess -import os -import urllib.request -import urllib.parse -import urllib.error -from shutil import which -from optparse import OptionParser - - -class GetCodeFromHttp: - filename_template = "{version}.tar.gz" - name = ["PeTar", "SDAR", "FDPS"] - url_template = [ - "https://github.com/lwang-astro/PeTar/archive/{version}.tar.gz", - "https://github.com/lwang-astro/SDAR/archive/{version}.tar.gz", - "https://github.com/FDPS/FDPS/archive/{version}.tar.gz", - ] - version = [ - "", - "", - "", - ] - - def directory(self): - return os.path.abspath(os.path.dirname(__file__)) - - def src_directory(self): - return os.path.join(self.directory(), 'src') - - def unpack_downloaded_file(self, filename, name, version): - print("unpacking", filename) - arguments = ['tar', '-xf'] - arguments.append(filename) - subprocess.call( - arguments, - cwd=os.path.join(self.src_directory()) - ) - subprocess.call( - [ - 'mv', '{name}-{version}'.format(name=name, version=version), - name - ], - cwd=os.path.join(self.src_directory()) - ) - print("done") - - def start(self): - if not os.path.exists('src'): - os.mkdir('src') -# if not update_flag: -# return -# counter = 0 -# while os.path.exists('src.{0}'.format(counter)): -# counter += 1 -# if counter > 100: -# print("too many backup directories") -# break -# os.rename('src', 'src.{0}'.format(counter)) - - for i, url_template in enumerate(self.url_template): - url = url_template.format(version=self.version[i]) - filename = self.filename_template.format(version=self.version[i]) - filepath = os.path.join(self.src_directory(), filename) - if os.path.exists('src/'+self.name[i]): - print("src/%s exist" % self.name[i]) - continue - print( - "downloading version", self.version[i], - "from", url, "to", filename - ) - if which('wget') is not None: - arguments = ['wget', url] - subprocess.call( - arguments, - cwd=os.path.join(self.src_directory()) - ) - elif which('curl') is not None: - arguments = ['curl', '-L', '-O', url] - subprocess.call( - arguments, - cwd=os.path.join(self.src_directory()) - ) - else: - urllib.request.urlretrieve(url, filepath) - print("downloading finished") - self.unpack_downloaded_file( - filename, self.name[i], self.version[i] - ) - - -def main(petar_version='', sdar_version='', fdps_version=''): - version = [ - petar_version, - sdar_version, - fdps_version, - ] - instance = GetCodeFromHttp() - instance.version = version - instance.start() - - -def new_option_parser(): - result = OptionParser() - result.add_option( - "--petar-version", - default='6ccac364e83ab05e4dad27e6eb6abdf7e5c89bcc', - dest="petar_version", - help="PeTar commit hash to download", - type="string" - ) - result.add_option( - "--sdar-version", - default='a4ff4b3d076535684313a912ea31985c1431f827', - dest="sdar_version", - help="SDAR commit hash to download", - type="string" - ) - result.add_option( - "--fdps-version", - default='55b2bafd316805bad22057cf4ee96217735279bf', - dest="fdps_version", - help="FDPS commit hash to download", - type="string" - ) - return result - - -if __name__ == "__main__": - options, arguments = new_option_parser().parse_args() - main(**options.__dict__) diff --git a/src/amuse/community/petar/interface.py b/src/amuse/community/petar/interface.py index 977cb7e3cd..f59a453cb4 100644 --- a/src/amuse/community/petar/interface.py +++ b/src/amuse/community/petar/interface.py @@ -1,620 +1,7 @@ -from amuse.rfi.core import legacy_function, LegacyFunctionSpecification -from amuse.community import ( - CodeInterface, - LiteratureReferencesMixIn, - StoppingConditionInterface, - StoppingConditions, -) -from amuse.community.interface.gd import ( - GravitationalDynamics, - GravitationalDynamicsInterface, - GravityFieldInterface, - GravityFieldCode, -) -from amuse.units import nbody_system +from amuse.support.import_helper import load_code -class petarInterface( - CodeInterface, - LiteratureReferencesMixIn, - GravitationalDynamicsInterface, - StoppingConditionInterface, - GravityFieldInterface -): +petarInterface = load_code("petar", "petarInterface") +petar = load_code("petar", "petar") - """ - Parallel, Particle-Particle & Particle-Tree & Few-body integration module - - .. [#] ADS:2020MNRAS.497..536W (Wang, L., Iwasawa, M., Nitadori, K., Makino, J., 2020, MNRAS, 497, 536) - .. [#] ADS:2020MNRAS.493.3398W (Wang, L., Nitadori, K., Makino, J., 2020, MNRAS, 493, 3398) - .. [#] ADS:2018PASJ...70...70N (Namekata D., et al., 2018, PASJ, 70, 70) - .. [#] ADS:2016PASJ...68...54I (Iwasawa M., Tanikawa A., Hosono N., Nitadori K., Muranushi T., Makino J., 2016, PASJ, 68, 54) - .. [#] ADS:2015ComAC...2....6I (Iwasawa M., Portegies Zwart S., Makino J., 2015, ComAC, 2, 6) - """ - - include_headers = ['interface.h'] - - def __init__(self, **keyword_arguments): - CodeInterface.__init__( - self, name_of_the_worker="petar_worker", **keyword_arguments) - LiteratureReferencesMixIn.__init__(self) - - @legacy_function - def get_theta(): - """ - Get theta, the opening angle for building the tree - """ - function = LegacyFunctionSpecification() - function.addParameter( - 'theta_for_tree', dtype='float64', direction=function.OUT, - description=( - "theta, the opening angle for building the tree:" - " between 0 and 1" - ) - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was retrieved - -1 - ERROR - could not retrieve parameter - """ - return function - - @legacy_function - def set_theta(): - """ - Set theta, the opening angle for building the tree - """ - function = LegacyFunctionSpecification() - function.addParameter( - 'theta', dtype='float64', direction=function.IN, - description=( - "theta, the opening angle for building the tree:" - " between 0 and 1" - ) - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was set - -1 - ERROR - could not set parameter - """ - return function - - #@legacy_function - #def get_gravitational_constant(): - # """ - # Get the value of gravitational constant - # """ - # function = LegacyFunctionSpecification() - # function.addParameter( - # 'gravitational_constant', dtype='float64', direction=function.OUT, - # description=( - # "gravitational constant:" - # " positive" - # ) - # ) - # function.result_type = 'int32' - # function.result_doc = """ - # 0 - OK - # the parameter was retrieved - # -1 - ERROR - # could not retrieve parameter - # """ - # return function - # - #@legacy_function - #def set_gravitational_constant(): - # """ - # Set gravitational constant - # """ - # function = LegacyFunctionSpecification() - # function.addParameter( - # 'gravitational_constant', dtype='float64', direction=function.IN, - # description=( - # "gravitational constant:" - # " between 0 and 1" - # ) - # ) - # function.result_type = 'int32' - # function.result_doc = """ - # 0 - OK - # the parameter was set - # -1 - ERROR - # could not set parameter - # """ - # return function - - @legacy_function - def get_changeover_rout(): - """ - Get r_out, the changeover radius outer boundary reference for - switching long/short-range interactions (if zero, auto-determine) - """ - function = LegacyFunctionSpecification() - function.addParameter( - 'r_out', dtype='float64', direction=function.OUT, - description=( - "r_out, the changeover radius outer boundary reference" - " for switching long/short-range interactions (if zero," - " auto-determine)" - ) - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was retrieved - -1 - ERROR - could not retrieve parameter - """ - return function - - @legacy_function - def set_changeover_rout(): - """ - Set r_out, the changeover radius outer boundary reference for - switching long/short-range interactions (if zero, auto-determine) - """ - function = LegacyFunctionSpecification() - function.addParameter( - 'r_out', dtype='float64', direction=function.IN, - description=( - "r_out, the changeover radius outer boundary reference" - " for switching long/short-range interactions (if zero," - " auto-determine)" - ) - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was set - -1 - ERROR - could not set parameter - """ - return function - - @legacy_function - def get_changeover_ratio(): - """ - Get ratio_r_cut, the changeover radius ratio between the inner and - outer boundaries - """ - function = LegacyFunctionSpecification() - function.addParameter( - 'ratio_r_cut', dtype='float64', direction=function.OUT, - description=( - "ratio_r_cut, the changeover radius ratio between the inner" - " and outer boundaries" - ) - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was retrieved - -1 - ERROR - could not retrieve parameter - """ - return function - - @legacy_function - def set_changeover_ratio(): - """ - Set ratio_r_cut, the changeover radius ratio between the inner and - outer boundaries - """ - function = LegacyFunctionSpecification() - function.addParameter( - 'ratio_r_cut', dtype='float64', direction=function.IN, - description=( - "ratio_r_cut, the changeover radius ratio between the inner" - " and outer boundaries" - ) - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was set - -1 - ERROR - could not set parameter - """ - return function - - @legacy_function - def get_group_radius(): - """ - Get r_bin, the group detection maximum radius to switch on AR - (if zero, auto-determine) - """ - function = LegacyFunctionSpecification() - function.addParameter( - 'r_bin', dtype='float64', direction=function.OUT, - description=( - "r_bin, the group detection maximum radius to switch on AR" - " (if zero, auto-determine)" - ) - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was retrieved - -1 - ERROR - could not retrieve parameter - """ - return function - - @legacy_function - def set_group_radius(): - """ - Set r_bin, the group detection maximum radius to switch on AR - (if zero, auto-determine) - """ - function = LegacyFunctionSpecification() - function.addParameter( - 'r_bin', dtype='float64', direction=function.IN, - description=( - "r_bin, the group detection maximum radius to switch on AR" - " (if zero, auto-determine)" - ) - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was set - -1 - ERROR - could not set parameter - """ - return function - - @legacy_function - def get_rsearch_min(): - """ - Get r_search_min, the minimum neighbor searching radius (if zero, - auto-determine) - """ - function = LegacyFunctionSpecification() - function.addParameter( - 'r_search_min', dtype='float64', direction=function.OUT, - description=( - "r_search_min, the minimum neighbor searching radius" - " (if zero, auto-determine)" - ) - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was retrieved - -1 - ERROR - could not retrieve parameter - """ - return function - - @legacy_function - def set_rsearch_min(): - """ - Set r_search_min, the minimum neighbor searching radius (if zero, - auto-determine) - """ - function = LegacyFunctionSpecification() - function.addParameter( - 'r_search_min', dtype='float64', direction=function.IN, - description=( - "r_search_min, the minimum neighbor searching radius" - " (if zero, auto-determine)" - ) - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was set - -1 - ERROR - could not set parameter - """ - return function - - @legacy_function - def get_tree_step(): - """ - Get dt_soft, the tree time step (if zero, auto-determine) - """ - function = LegacyFunctionSpecification() - function.addParameter( - 'dt_soft', dtype='float64', direction=function.OUT, - description=( - "dt_soft, the tree time step (if zero, auto-determine)" - ) - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was retrieved - -1 - ERROR - could not retrieve parameter - """ - return function - - @legacy_function - def set_tree_step(): - """ - Set dt_soft, the minimum neighbor searching radius (if zero, - auto-determine) - """ - function = LegacyFunctionSpecification() - function.addParameter( - 'dt_soft', dtype='float64', direction=function.IN, - description=( - "dt_soft, the tree time step (if zero, auto-determine)" - ) - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was set - -1 - ERROR - could not set parameter - """ - return function - - @legacy_function - def get_output_step(): - """ - Get dt_output, the PeTar internal output time step (0.125) - """ - function = LegacyFunctionSpecification() - function.addParameter( - 'dt_output', dtype='float64', direction=function.OUT, - description=( - "dt_output, the PeTar internal output time step (0.125)" - ) - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was retrieved - -1 - ERROR - could not retrieve parameter - """ - return function - - @legacy_function - def set_output_step(): - """ - Set dt_output, the PeTar internal output time step (0.125) - """ - function = LegacyFunctionSpecification() - function.addParameter( - 'dt_output', dtype='float64', direction=function.IN, - description=( - "dt_output, the PeTar internal output time step (0.125)" - ) - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was set - -1 - ERROR - could not set parameter - """ - return function - - -class petar(GravitationalDynamics, GravityFieldCode): - - def __init__(self, convert_nbody=None, **keyword_arguments): - self.stopping_conditions = StoppingConditions(self) - - GravitationalDynamics.__init__( - self, - petarInterface(**keyword_arguments), - convert_nbody, - **keyword_arguments) - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - GravityFieldCode.define_state(self, handler) - self.stopping_conditions.define_state(handler) - - def define_parameters(self, handler): - GravitationalDynamics.define_parameters(self, handler) - self.stopping_conditions.define_parameters(handler) - - handler.add_method_parameter( - "get_eps2", - "set_eps2", - "epsilon_squared", - "smoothing parameter for gravity calculations", - default_value=0.0 | nbody_system.length * nbody_system.length - ) - - handler.add_method_parameter( - "get_changeover_rout", - "set_changeover_rout", - "r_out", - ("changeover radius outer boundary reference for switching" - " long/short-range interactions (if zero, auto-determine)"), - default_value=0.0 | nbody_system.length - ) - - handler.add_method_parameter( - "get_changeover_ratio", - "set_changeover_ratio", - "ratio_r_cut", - "Changeover radius ratio between the inner and outer boundaries", - default_value=0.1 - ) - - handler.add_method_parameter( - "get_group_radius", - "set_group_radius", - "r_bin", - ("Group detection maximum radius to switch on AR (if zero," - " auto-determine)"), - default_value=0.0 | nbody_system.length - ) - - handler.add_method_parameter( - "get_rsearch_min", - "set_rsearch_min", - "r_search_min", - "Minimum neighbor searching radius (if zero, auto-determine)", - default_value=0.0 | nbody_system.length - ) - - handler.add_method_parameter( - "get_theta", - "set_theta", - "theta", - "Tree opening angle", - default_value=0.3 - ) - - #handler.add_method_parameter( - # "get_gravitational_constant", - # "set_gravitational_constant", - # "gravitational_constant", - # "Gravitational constant", - # default_value=0.3 - #) - - handler.add_method_parameter( - "get_tree_step", - "set_tree_step", - "dt_soft", - "Tree time step (if zero, auto-determine)", - default_value=0.0 | nbody_system.time - ) - - handler.add_method_parameter( - "get_output_step", - "set_output_step", - "dt_output", - "PeTar internal output time step (0.125)", - default_value=0.125 | nbody_system.time - ) - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - self.stopping_conditions.define_methods(handler) - - handler.add_method( - "set_eps2", - ( - nbody_system.length * nbody_system.length, - ), - ( - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_eps2", - (), - ( - nbody_system.length * nbody_system.length, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "set_changeover_rout", - ( - nbody_system.length, - ), - ( - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_changeover_rout", - (), - ( - nbody_system.length, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "set_group_radius", - ( - nbody_system.length, - ), - ( - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_group_radius", - (), - ( - nbody_system.length, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "set_rsearch_min", - ( - nbody_system.length, - ), - ( - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_rsearch_min", - (), - ( - nbody_system.length, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "set_tree_step", - ( - nbody_system.time, - ), - ( - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_tree_step", - (), - ( - nbody_system.time, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "set_output_step", - ( - nbody_system.time, - ), - ( - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_output_step", - (), - ( - nbody_system.time, - handler.ERROR_CODE, - ) - ) - - def define_particle_sets(self, handler): - GravitationalDynamics.define_particle_sets(self, handler) - self.stopping_conditions.define_particle_set(handler) - - -PetarInterface = petarInterface Petar = petar diff --git a/src/amuse/community/ph4/Makefile b/src/amuse/community/ph4/Makefile deleted file mode 100644 index 35eddca245..0000000000 --- a/src/amuse/community/ph4/Makefile +++ /dev/null @@ -1,83 +0,0 @@ - -# Makefile to build the worker code. First draft was auto-generated; -# subsequent versions are hand-coded, so save a copy. Note that -# all compiles must use MPICXX, not CXX. - -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -ALL = ph4_worker # ph4_worker_gpu -OPT = -I$(AMUSE_DIR)/lib/stopcond - -MPICXX ?= mpicxx - -CFLAGS += -Wall -g -O2 $(OPT) -CXXFLAGS += $(CFLAGS) -LDFLAGS += -L$(AMUSE_DIR)/lib/stopcond -lstopcond -lm $(MUSE_LD_FLAGS) - -CUDA_TK ?= /usr/local/cuda - -SAPPORO_LIBDIRS ?= -L$(AMUSE_DIR)/lib/sapporo_light -SAPPORO_LIBS ?= $(SAPPORO_LIBDIRS) -lsapporo - -# Boost is needed by sapporo. - -BOOSTLIBS ?= -L/opt/local/lib -lboost_thread-mt - -CUDA_LIBDIRS ?= -L$(CUDA_TK)/lib -L$(CUDA_TK)/lib64 -CUDA_LIBS ?= $(CUDA_LIBDIRS) -lcudart - -LDFLAGS_GPU = $(LDFLAGS) \ - $(SAPPORO_LIBS) \ - $(CUDA_LIBS) \ - $(BOOSTLIBS) - -OBJS = interface.o - -CODELIB = src/libph4.a - -CODELIB_GPU = src/libph4gpu.a - - -AMUSE_DIR ?= ../../../.. - - -all: $(ALL) - -save: - @ for f in Makefile interface.py interface.cc src/Makefile; do \ - cp -p $$f $$f.save; done - -$(CODELIB): - make -C src all CXX='$(MPICXX)' - -$(CODELIB_GPU): - make -C src gpulib CXX=$(MPICXX) - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py ph4Interface -o $@ - -interface.h: interface.py - $(CODE_GENERATOR) --type=h -i amuse.community.interface.stopping_conditions.StoppingConditionInterface interface.py ph4Interface -o $@ - -ph4_worker: worker_code.cc interface.h $(CODELIB) $(OBJS) - $(MPICXX) $(CXXFLAGS) $(LDFLAGS) worker_code.cc $(OBJS) $(CODELIB) -o $@ $(CODELIB) $(LDFLAGS) $(LIBS) - -ph4_worker_gpu: worker_code.cc interface.h $(CODELIB_GPU) $(OBJS) - $(MPICXX) $(CXXFLAGS) worker_code.cc $(OBJS) $(CODELIB_GPU) -o $@ $(LDFLAGS_GPU) -DGPU $(LIBS) - -%.o: %.cc - $(MPICXX) $(CXXFLAGS) -c -o $@ $< - -wclean: - $(RM) -r -f *.so *.dSYM *.o *.mpio *.pyc worker_code.cc interface.h - $(RM) -f *~ ph4_worker ph4_worker_gpu ph4_worker_sockets ph4_worker_gpu_sockets - $(RM) -f worker_code.cc worker_code-sockets.cc - -clean: - make wclean - make -C src clean diff --git a/src/amuse/community/ph4/interface.cc b/src/amuse/community/ph4/interface.cc deleted file mode 100644 index 3222055ebf..0000000000 --- a/src/amuse/community/ph4/interface.cc +++ /dev/null @@ -1,932 +0,0 @@ -#include "interface.h" - -#include "src/stdinc.h" -#include "src/jdata.h" -#include "src/idata.h" -#include "src/scheduler.h" - -// AMUSE STOPPING CONDITIONS SUPPORT -#include - -static jdata *jd = NULL; -static idata *id = NULL; -static scheduler *s = NULL; - -static bool zero_step_mode = false; // preliminary mode to take zero-length - // steps and identify bound subsystems - // off by default; set by setter only - -static bool force_sync = false; // off by default; set by setter only; - // stays on until explicitly turned off; - // only affects an evolve_model() step - // that makes it to to_time. - -static int block_steps = 0; -static int total_steps = 0; - -// Allow fine control over the initial time step. - -static real initial_timestep_fac = 0.0625; -static real initial_timestep_limit = 0.03125; -static real initial_timestep_median = 8.0; - -static double begin_time = -1; - -// Note on internal and external times: -// -// begin_time is the external time at which the simulation starts; -// it should be set only at the start of the simulation, -// through the interface function set_begin_time(), and -// can't be changed by the internal integrator -// jd.system_time is the internal time used by the integrator; it -// always starts at 0 and should be reset when a -// synchronization occurs; the scheduler requires that -// time steps be commensurate with system_time, so we -// don't want it to become something that will force -// very short steps -// jd.sync_time is the last time we forced system_time back to 0, -// to preserve the scheduler -// -// Sync_time is measured relative to begin_time. System_time is measured -// relative to sync_time. Thus -// -// sync_time + system_time is the total time since the simulation started -// begin_time + sync_time + system_time is the absolute ("external") value -// of the current system time -// -// All time bookkeeping is handled in this file, in function sync_times(). -// Sync_time exists in ph4 only for use by diagnostics that need to print -// the true system time (currently updated only in jdata.cc). - -int sync_times() -{ - // Update sync_time and reset all times prior to recomputing the - // time steps and resetting the scheduler. - - if (0) { - cout << "interface::sync_times: updating sync_time to " - << jd->sync_time + jd->system_time << endl; - } - - jd->predict_time -= jd->system_time - jd->sync_time; - jd->sync_time += jd->system_time; - jd->system_time = 0; - - for (int j = 0; j < jd->nj; j++) jd->time[j] = 0; - - return 0; -} - -// Setup and parameters. - -int initialize_code() -{ - // Begin the initialization by creating the jdata data structure. - - //PRL(1); - jd = new jdata; - -#ifndef NOMPI - jd->setup_mpi(MPI_COMM_WORLD); -#endif - //PRL(2); - jd->setup_gpu(); - //PRL(3); - if (jd->mpi_rank == 0) { - cout << "initialize_code: "; - PRC(jd->mpi_size); PRL(jd->have_gpu); - } - - //PRL(4); - if (begin_time == -1) begin_time = 0.0; - jd->system_time = 0; - jd->sync_time = 0; - - // AMUSE STOPPING CONDITIONS SUPPORT - set_support_for_condition(COLLISION_DETECTION); - //PRL(5); - mpi_setup_stopping_conditions(); - - //PRL(6); - jd->set_manage_encounters(4); // 4 ==> enable AMUSE suport - //PRL(7); - - block_steps = 0; - total_steps = 0; - - return 0; -} - -// Setters and getters. - -int set_eps2(double epsilon_squared) -{ - jd->eps2 = epsilon_squared; - return 0; -} - -int get_eps2(double * epsilon_squared) -{ - *epsilon_squared = jd->eps2; - return 0; -} - -int set_eta(double timestep_parameter) -{ - jd->eta = timestep_parameter; - return 0; -} - -int get_eta(double * timestep_parameter) -{ - *timestep_parameter = jd->eta; - return 0; -} - -int set_gpu(int gpu) -{ - jd->use_gpu = jd->have_gpu && (gpu == 1); - return 0; -} - -int get_gpu(int * gpu) -{ - *gpu = jd->use_gpu; - return 0; -} - -int set_gpu_id(int gpu_id) -{ - jd->gpu_id = gpu_id; - return 0; -} - -int get_gpu_id(int * gpu_id) -{ - *gpu_id = jd->gpu_id; - return 0; -} - -int set_manage_encounters(int m) -{ - jd->set_manage_encounters(m); - return 0; -} - -int get_manage_encounters(int * m) -{ - *m = jd->manage_encounters; - return 0; -} - -int set_time(double sys_time) // should probably never do this... -{ - jd->sync_time = sys_time - jd->system_time - begin_time; - return 0; -} - -int get_time(double * sys_time) -{ - *sys_time = jd->system_time + jd->sync_time + begin_time; - return 0; -} - -int set_begin_time(double input) -{ - begin_time = input; - return 0; -} - -int get_begin_time(double * output) -{ - *output = begin_time; - return 0; -} - -int set_sync_time(double input) // should probably never do this... -{ - jd->sync_time = input - begin_time; - return 0; -} - -int get_sync_time(double * output) -{ - *output = jd->sync_time + begin_time; - return 0; -} - -int set_zero_step_mode(int z) { - zero_step_mode = z; - return 0; -} - -int get_zero_step_mode(int *z) { - *z = zero_step_mode; - return 0; -} - -int set_force_sync(int f) { - force_sync = f; - return 0; -} - -int get_force_sync(int *f) { - *f = force_sync; - return 0; -} - -int set_block_steps(int s) { - block_steps = s; - return 0; -} - -int get_block_steps(int *s) { - *s = block_steps; - return 0; -} - -int set_total_steps(int s) { - total_steps = s; - return 0; -} - -int get_total_steps(int *s) { - *s = total_steps; - return 0; -} - -int set_initial_timestep_fac(double s) { - initial_timestep_fac = s; - return 0; -} - -int get_initial_timestep_fac(double * s) { - *s = initial_timestep_fac; - return 0; -} - -int set_initial_timestep_limit(double s) { - initial_timestep_limit = s; - return 0; -} - -int get_initial_timestep_limit(double * s) { - *s = initial_timestep_limit; - return 0; -} - -int set_initial_timestep_median(double s) { - initial_timestep_median = s; - return 0; -} - -int get_initial_timestep_median(double * s) { - *s = initial_timestep_median; - return 0; -} - -//---------------------------------------------------------------------- - -int commit_parameters() -{ - // Perform any needed setup after initial code parameters have been set. - - // Consistency check: - - if (jd->use_gpu && !jd->have_gpu) jd->use_gpu = false; - - // if(jd->system_time == 0) { - // jd->system_time = 0; - // } - - if (jd->mpi_rank == 0) { - cout << "commit_parameters: "; - PRC(jd->have_gpu); PRL(jd->use_gpu); - } - - return 0; -} - -int recommit_parameters() -{ - // Perform any needed changes after code parameters have been reset. - - return 0; -} - -int commit_particles() -{ - // Complete the initialization, after all particles have been loaded. - - // cout << "recommit_particles" << endl << flush; - - sync_times(); - - jd->initialize_arrays(); - - id = new idata(jd); // set up idata data structures (sets acc and jerk) - - // Set timesteps (needs acc and jerk) - - // PRC(initial_timestep_fac); PRC(initial_timestep_limit); - // PRL(initial_timestep_median); - - jd->force_initial_timestep(initial_timestep_fac, - initial_timestep_limit, - initial_timestep_median); - s = new scheduler(jd); - // s->print(); - -#if 0 - cout << "commit_particles:"; - for (int j = 0; j < jd->nj; j++) cout << " " << jd->id[j]; - cout << endl << flush; -#endif - - return 0; -} - -int recommit_particles() -{ - // Reinitialize/reset the system after particles have been added - // or removed. The system should be synchronized at some - // reasonable system_time, so we just need to recompute forces and - // update the GPU and scheduler. The jdata arrays should already - // be updated. The idata arrays are resized and updated here. - - // cout << "recommit_particles" << endl << flush; - - if (!jd->use_gpu) { - // cout << "jd->predict_all" << endl << flush; - jd->predict_all(jd->system_time, true); // set pred quantities - } else - jd->initialize_gpu(true); // reload the GPU - - // Reset all idata arrays and recompute iacc and ijerk. - - id->setup(); - - jd->force_initial_timestep(initial_timestep_fac, // set timesteps - initial_timestep_limit, - initial_timestep_median); - - - // cout << "s->initialize()" << endl << flush; - s->initialize(); // reconstruct the scheduler - // s->print(); - - return 0; -} - -int recompute_timesteps() -{ - // Same as recommit_particles(), except that the name isn't - // reserved for the state model and we always recompute the - // time steps. Assume that we don't need to change sync_time. - - //cout << "recompute_timesteps" << endl << flush; - - if (!jd->use_gpu) - jd->predict_all(jd->system_time, true); // set pred quantities - else - jd->initialize_gpu(true); // reload the GPU - - // Reset all idata arrays and recompute iacc and ijerk. - - id->setup(); - - jd->force_initial_timestep(initial_timestep_fac, // set timesteps - initial_timestep_limit, - initial_timestep_median); - - // cout << "s->initialize()" << endl << flush; - s->initialize(); // reconstruct the scheduler - // s->print(); - - return 0; -} - -int cleanup_code() -{ - // Clean up at the end of the calculation. - - if (jd != NULL) - jd->cleanup(); - if (id != NULL) - id->cleanup(); - if (s != NULL) - s->cleanup(); - return 0; -} - -// Setters and getters for individual particles. - -int new_particle(int * index_of_the_particle, - double mass, - double x, double y, double z, - double vx, double vy, double vz, - double radius, int index_to_set) -{ - // Add a particle to the system. Let the module set the id, or - // force the index to index_to_set if >= 0 and allowed. - - *index_of_the_particle = jd->add_particle(mass, radius, - vec(x,y,z), vec(vx,vy,vz), - index_to_set); -#if 0 - int p = cout.precision(15); - cout << "new_particle " << *index_of_the_particle << " " << mass - << " " << x << " " << y << " " << z << endl; - cout.precision(p); -#endif - return 0; -} - -int delete_particle(int index_of_the_particle) -{ - // Remove a particle from the system. - - int j = jd->get_inverse_id(index_of_the_particle); - if (j < 0) return -1; - jd->remove_particle(j); - //cout << "delete_particle " << index_of_the_particle << endl; - return 0; -} - -int get_index_of_next_particle(int index_of_the_particle, - int * index_of_the_next_particle) -{ - int j = jd->get_inverse_id(index_of_the_particle); - if (j < 0) return -1; - else if (j >= jd->nj-1) return 1; - else *index_of_the_next_particle = jd->id[j+1]; - return 0; -} - -int set_state(int index_of_the_particle, - double mass, - double x, double y, double z, - double vx, double vy, double vz, double radius) -{ - //cout << "set_state" << endl << flush; - int j = jd->get_inverse_id(index_of_the_particle); - if (j < 0) return -1; - jd->mass[j] = mass; - jd->radius[j] = radius; - jd->pos[j][0] = x; - jd->pos[j][1] = y; - jd->pos[j][2] = z; - jd->vel[j][0] = vx; - jd->vel[j][1] = vy; - jd->vel[j][2] = vz; - return 0; -} - -int get_state(int index_of_the_particle, - double * mass, - double * x, double * y, double * z, - double * vx, double * vy, double * vz, double * radius) -{ - //cout << "get_state" << endl << flush; - int j = jd->get_inverse_id(index_of_the_particle); - if (j < 0) return -1; - *mass = jd->mass[j]; - *radius = jd->radius[j]; - *x = jd->pos[j][0]; - *y = jd->pos[j][1]; - *z = jd->pos[j][2]; - *vx = jd->vel[j][0]; - *vy = jd->vel[j][1]; - *vz = jd->vel[j][2]; - return 0; -} - -int set_mass(int index_of_the_particle, double mass) -{ - int j = jd->get_inverse_id(index_of_the_particle); - if (j < 0) return -1; - jd->mass[j] = mass; - return 0; -} - -int get_mass(int index_of_the_particle, double * mass) -{ - int j = jd->get_inverse_id(index_of_the_particle); - if (j < 0) return -1; - *mass = jd->mass[j]; - return 0; -} - -int set_radius(int index_of_the_particle, double radius) -{ - int j = jd->get_inverse_id(index_of_the_particle); - if (j < 0) return -1; - jd->radius[j] = radius; - return 0; -} - -int get_radius(int index_of_the_particle, double * radius) -{ - int j = jd->get_inverse_id(index_of_the_particle); - if (j < 0) return -1; - *radius = jd->radius[j]; - return 0; -} - -int set_position(int index_of_the_particle, - double x, double y, double z) -{ - int j = jd->get_inverse_id(index_of_the_particle); - //cout << "set_position " << j<< endl << flush; - if (j < 0) return -1; - jd->pos[j][0] = x; - jd->pos[j][1] = y; - jd->pos[j][2] = z; - return 0; -} - -int get_position(int index_of_the_particle, - double * x, double * y, double * z) -{ - //cout << "get_position " << index_of_the_particle << endl << flush; - int j = jd->get_inverse_id(index_of_the_particle); - if (j < 0) return -1; - *x = jd->pos[j][0]; - *y = jd->pos[j][1]; - *z = jd->pos[j][2]; - return 0; -} - -int set_velocity(int index_of_the_particle, - double vx, double vy, double vz) -{ - int j = jd->get_inverse_id(index_of_the_particle); - if (j < 0) return -1; - jd->vel[j][0] = vx; - jd->vel[j][1] = vy; - jd->vel[j][2] = vz; - return 0; -} - -int get_velocity(int index_of_the_particle, - double * vx, double * vy, double * vz) -{ - int j = jd->get_inverse_id(index_of_the_particle); - if (j < 0) return -1; - *vx = jd->vel[j][0]; - *vy = jd->vel[j][1]; - *vz = jd->vel[j][2]; - return 0; -} - -int get_acceleration(int index_of_the_particle, - double * ax, double * ay, double * az) -{ - int j = jd->get_inverse_id(index_of_the_particle); - if (j < 0) return -1; - *ax = jd->acc[j][0]; - *ay = jd->acc[j][1]; - *az = jd->acc[j][2]; - return 0; -} - -int get_potential(int index_of_the_particle, double * pot) -{ - int j = jd->get_inverse_id(index_of_the_particle); - if (j < 0) return -1; - *pot = jd->pot[j]; - return 0; -} - -int get_particle_timestep(int index_of_the_particle, double * timestep) -{ - int j = jd->get_inverse_id(index_of_the_particle); - if (j < 0) { - return -1; - } - *timestep = jd->timestep[j]; - return 0; -} - - -// System-wide operations. - -int evolve_model(double to_time) -{ - // On return, system_time will be greater than or equal to the - // specified time. All particles j will have time[j] <= - // system_time < time[j] + timestep[j]. If synchronization is - // needed, do it with synchronize_model() to sync at final - // system_time, or use force_sync if we need to end at exactly - // to_time. The function breaks out of the jd->advance() loop - // (without synchronization) if an encounter is detected. - - if (!jd) return 0; - - bool debug_print = false; - debug_print &= (jd->mpi_rank == 0); - - reset_stopping_conditions(); - jd->UpdatedParticles.clear(); - jd->coll1 = jd->coll2 = -1; - - if (debug_print) { - cout << "in evolve_model: "; PRC(to_time); PRL(jd->nj); - for (int j = 0; j < jd->nj; j++) - if (jd->id[j] <= 0) {PRC(j); PRC(jd->mass[j]); PRL(jd->id[j]);} - s->print(); - } - - real tt = to_time - jd->sync_time - begin_time; // actual end time for - // internal calculation - if (debug_print) { - PRC(to_time); PRC(jd->sync_time); - PRC(begin_time); PRL(jd->system_time); - PRL(tt); - } - - if (jd->nj <= 0) { - jd->system_time = tt; - return 0; - } - - int nb = jd->block_steps; - int ns = jd->total_steps; - - // Zero_step_mode means that we are taking a dummy step of length - // zero to set the collision stopping condition if any particles - // qualify. Do this repeatedly at the start of the calculation to - // manage initial binaries and/or planetary systems. In this - // mode, we calculate forces with ilist equal to the entire - // system, but we don't correct, advance the time, or set time - // steps. We always take a step in this case, even though - // system_time = tt. - - if (zero_step_mode) { - - jd->advance_and_check_encounter(zero_step_mode); - - } else { - - if (!force_sync) { - - while (jd->system_time < tt) - if (jd->advance_and_check_encounter()) break; - - } else { - - bool b = false; - while (jd->get_tnext() <= tt) { - b = jd->advance_and_check_encounter(); - if (b) break; - } - - if (!b) { - - jd->system_time = tt; - jd->synchronize_all(false); - - // Time steps have been recomputed by - // synchronize_all(), and may be undesirably short - // depending on tt (steps must be commensurate with - // current time). Recompute the time steps here (with - // updated acc and jerk) after resetting system_time, - // and reinitialize the scheduler. - - sync_times(); - recompute_timesteps(); - if (debug_print) s->print(); - } - } - - // int dblock = jd->block_steps - nb; - // int dtotal = jd->total_steps - ns; - block_steps += jd->block_steps - nb; - total_steps += jd->total_steps - ns; - // PRL(jd->system_time); //PRC(dblock); PRL(dtotal); - // s->print(true); - } - - return 0; -} - -int synchronize_model() -{ - // Synchronize all particles at the current system time. The - // default is not to reinitialize the scheduler, as this will be - // handled later, in recommit_particles(), and not to modify - // sync_time. - - //cout << "synchronize_model" << endl << flush; - jd->UpdatedParticles.clear(); - jd->synchronize_all(); - return 0; -} - -int get_time_step(double * time_step) -{ - *time_step = 0; // not relevant here - return -1; -} - -int get_index_of_first_particle(int * index_of_the_particle) -{ - *index_of_the_particle = jd->id[0]; - return 0; -} - -int get_indices_of_colliding_particles(int * index_of_particle1, - int * index_of_particle2) -{ - *index_of_particle1 = jd->coll1; - *index_of_particle2 = jd->coll2; - return 0; -} - -int get_number_of_particles(int * number_of_particles) -{ - *number_of_particles = jd->nj; - return 0; -} - -int get_total_mass(double * mass) -{ - *mass = jd->get_total_mass(); - return 0; -} - -int get_potential_energy(double * potential_energy) -{ - *potential_energy = 0; - if (jd) *potential_energy = jd->get_pot(); - return 0; -} - -int get_kinetic_energy(double * kinetic_energy) -{ - *kinetic_energy = 0; - if (jd) *kinetic_energy = jd->get_kin(); - return 0; -} - -int get_binary_energy(double * binary_energy) // new interface function -{ // see interface.py - *binary_energy = jd->Emerge; // not quite the same thing... - return 0; -} - -int get_center_of_mass_position(double * x, double * y, double * z) -{ - // (Could also use jdata::get_com.) - - if (!jd || jd->nj <= 0) { - *x = *y = *z = 0; - return 0; - } - - real mtot = 0; - vec cmx(0,0,0); - for (int j = 0; j < jd->nj; j++) { - mtot += jd->mass[j]; - for (int k = 0; k < 3; k++) cmx[k] += jd->mass[j]*jd->pos[j][k]; - } - *x = cmx[0]/mtot; - *y = cmx[1]/mtot; - *z = cmx[2]/mtot; - return 0; -} - -int get_center_of_mass_velocity(double * vx, double * vy, double * vz) -{ - // (Could also use jdata::get_com.) - - if (!jd || jd->nj <= 0) { - *vx = *vy = *vz = 0; - return 0; - } - - real mtot = 0; - vec cmv(0,0,0); - for (int j = 0; j < jd->nj; j++) { - mtot += jd->mass[j]; - for (int k = 0; k < 3; k++) cmv[k] += jd->mass[j]*jd->vel[j][k]; - } - *vx = cmv[0]/mtot; - *vy = cmv[1]/mtot; - *vz = cmv[2]/mtot; - return 0; -} - -int get_total_radius(double * radius) -{ - real r2max = 0; - vec pos; - get_center_of_mass_position(&pos[0], &pos[1], &pos[2]); - for (int j = 0; j < jd->nj; j++) { - real r2 = 0; - for (int k = 0; k < 3; k++) r2 += pow(jd->pos[j][k]-pos[k], 2); - if (r2 > r2max) r2max = r2; - } - *radius = sqrt(r2max); - return 0; -} - -int get_potential_at_point(double * eps, - double * x, double * y, double * z, - double * phi, int n) -{ - idata * tmp_idata = new idata(); - tmp_idata -> set_ni(n); - tmp_idata -> ni = n; // set_ni only allocates buffers, does not set ni! - tmp_idata -> jdat = jd; - for(int i = 0; i < n; i++) - { - tmp_idata -> iid[i] = -1; - tmp_idata -> ilist[i] = 0; - tmp_idata -> inn[i] = 0; - tmp_idata -> pnn[i] = 0; - - tmp_idata -> imass[i] = 1; - tmp_idata -> iradius[i] = eps[i]; - tmp_idata -> itime[i] = 0.0; - tmp_idata -> itimestep[i] = 0.0; - tmp_idata -> ipot[i] = 0.0; - tmp_idata -> ppot[i] = 0.0; - tmp_idata -> idnn[i] = 0.0; - tmp_idata -> ipos[i][0] = x[i]; - tmp_idata -> ipos[i][1] = y[i]; - tmp_idata -> ipos[i][2] = z[i]; - tmp_idata -> ivel[i][0] = 0.0; - tmp_idata -> ivel[i][1] = 0.0; - tmp_idata -> ivel[i][2] = 0.0; - } - tmp_idata -> get_acc_and_jerk(); - if (jd->mpi_rank == 0) { - for(int i = 0; i < n; i++) - { - phi[i] = tmp_idata->ipot[i]; - } - } - delete tmp_idata; - return 0; -} - -int get_gravity_at_point(double * eps, double * x, double * y, double * z, - double * forcex, double * forcey, double * forcez, int n) -{ - idata * tmp_idata = new idata(); - tmp_idata -> set_ni(n); - tmp_idata -> ni = n; // set_ni only allocates buffers, does not set ni! - tmp_idata -> jdat = jd; - for(int i = 0; i < n; i++) - { - tmp_idata -> iid[i] = -1; - tmp_idata -> ilist[i] = 0; - tmp_idata -> inn[i] = 0; - tmp_idata -> pnn[i] = 0; - - tmp_idata -> imass[i] = 1; - tmp_idata -> iradius[i] = eps[i]; - tmp_idata -> itime[i] = 0.0; - tmp_idata -> itimestep[i] = 0.0; - tmp_idata -> ipot[i] = 0.0; - tmp_idata -> ppot[i] = 0.0; - tmp_idata -> idnn[i] = 0.0; - tmp_idata -> ipos[i][0] = x[i]; - tmp_idata -> ipos[i][1] = y[i]; - tmp_idata -> ipos[i][2] = z[i]; - tmp_idata -> ivel[i][0] = 0.0; - tmp_idata -> ivel[i][1] = 0.0; - tmp_idata -> ivel[i][2] = 0.0; - } - tmp_idata -> get_acc_and_jerk(); - if (jd->mpi_rank == 0) { - for(int i = 0; i < n; i++) - { - forcex[i] = tmp_idata->iacc[i][0]; - forcey[i] = tmp_idata->iacc[i][1]; - forcez[i] = tmp_idata->iacc[i][2]; - } - } - delete tmp_idata; - return 0; -} - -//---------------------------------------------------------------------- -// -// From Arjen: - -int get_number_of_particles_updated(int * value) -{ - *value = jd->UpdatedParticles.size(); - return 0; -} - -int get_id_of_updated_particle(int index, int * index_of_particle, int * status) -{ - if (index < 0 || index > (int) jd->UpdatedParticles.size()) - return -1; - *index_of_particle = jd->UpdatedParticles[index].index_of_particle; - *status = jd->UpdatedParticles[index].status; - return 0; -} diff --git a/src/amuse/community/ph4/interface.py b/src/amuse/community/ph4/interface.py index e14af5cfe6..ede865d5a1 100644 --- a/src/amuse/community/ph4/interface.py +++ b/src/amuse/community/ph4/interface.py @@ -1,721 +1,7 @@ -from amuse.community import * -from amuse.community.interface.gd import GravitationalDynamics -from amuse.community.interface.gd import GravitationalDynamicsInterface -from amuse.community.interface.gd import GravityFieldInterface -from amuse.community.interface.gd import GravityFieldCode +from amuse.support.import_helper import load_code -# *** This script, together with the defaults in -# *** GravitationalDynamicsInterface, will be used to generate both -# *** the header file interface.h and the stub interface.cc. Since -# *** interface.cc has been hand-coded to implement the details, -# *** MAKE SURE TO SAVE IT SOMEWHERE, as build.py can overwrite it! - -class ph4Interface(CodeInterface, - LiteratureReferencesMixIn, - GravitationalDynamicsInterface, - StoppingConditionInterface, - GravityFieldInterface): - """ - Parallel, GPU-accelerated, N-body integration module with block - time steps, using a 4th-order Hermite integration scheme. - - .. [#] ADS:2018araa.book.....P (Portegies Zwart, S. & McMillan, S.L.W., 2018) - """ - - # Interface specification. - - include_headers = ['interface.h', 'stopcond.h'] - - MODE_GPU = 'gpu' - MODE_CPU = 'cpu' - - def __init__(self, mode = MODE_CPU, **options): - CodeInterface.__init__( - self, - name_of_the_worker=self.name_of_the_muse_worker(mode), - **options - ) - LiteratureReferencesMixIn.__init__(self) - - # Interface functions: - @legacy_function - def new_particle(): - """ - Define a new particle in the stellar dynamics code. The - particle is initialized with the provided mass, radius, - position and velocity. This function returns an index that - can be used to refer to this particle. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', - direction=function.OUT, description = - """ - An index assigned to the newly created particle. - This index is supposed to be a local index for the code - (and not valid in other instances of the code or in other codes) - """, - unit = INDEX - ) - - function.addParameter('mass', dtype='float64', direction=function.IN, - description = "The mass of the particle", - unit = nbody_system.mass) - function.addParameter('x', dtype='float64', direction=function.IN, - description = "The initial position vector of the particle", - unit = nbody_system.length) - function.addParameter('y', dtype='float64', direction=function.IN, - description = "The initial position vector of the particle", - unit = nbody_system.length) - function.addParameter('z', dtype='float64', direction=function.IN, - description = "The initial position vector of the particle", - unit = nbody_system.length) - function.addParameter('vx', dtype='float64', direction=function.IN, - description = "The initial velocity vector of the particle", - unit = nbody_system.speed) - function.addParameter('vy', dtype='float64', direction=function.IN, - description = "The initial velocity vector of the particle", - unit = nbody_system.speed) - function.addParameter('vz', dtype='float64', direction=function.IN, - description = "The initial velocity vector of the particle", - unit = nbody_system.speed) - function.addParameter('radius', dtype='float64', direction=function.IN, - description = "The radius of the particle", - default = -1, unit = nbody_system.length) - function.addParameter('id', dtype='int32', direction=function.IN, - description = "Identifier of the particle, " - +"option for restoring state after loading", - default = -1, unit = NO_UNIT) - function.result_type = 'int32' - function.result_doc = """ 0 - OK - particle was created and added to the model - -1 - ERROR - particle could not be created""" - return function - - @legacy_function - def get_particle_timestep(): - """ - Retrieve the timestep of a particle. - """ - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_particle', - dtype='int32', - direction=function.IN, - description = "Index of the particle to get the timestep from. This index must have been returned by an earlier call to :meth:`new_particle`") - function.addParameter('timestep', - dtype='float64', - unit=nbody_system.time, - direction=function.OUT, - description = "The current timestep of the particle") - function.result_type = 'int32' - function.can_handle_array = True - return function - - def name_of_the_muse_worker(self, mode): - if mode == self.MODE_CPU: - return 'ph4_worker' - elif mode == self.MODE_GPU: - return 'ph4_worker_gpu' - else: - return 'ph4_worker' - - # Inheritance from GravitationalDynamicsInterface means that - # functions in the standard interface don't need to be defined. - # See interface.py.2 for a laboriously hand-coded version written - # before I discovered this fact! (Steve McMillan, 10/10) - - # Additional functions defined here will be reflected in - # interface.h and must be provided in interface.cc in order for - # ph4_worker to build. - - # The following functions aren't defined in the default interface: - @legacy_function - def set_time(): - """ - Set the model time. Should use set_begin_time! - """ - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='float64', direction=function.IN, - description = "The model time to start at", unit = nbody_system.time) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Time value was changed - -2 - ERROR - The code does not support setting the time - """ - return function - - @legacy_function - def set_eta(): - """ - Set the current accuracy parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('eta', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_eta(): - """ - Get the current accuracy parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('eta', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_gpu(): - """ - Set use_gpu. - """ - function = LegacyFunctionSpecification() - function.addParameter('gpu', dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_gpu(): - """ - Get use_gpu. - """ - function = LegacyFunctionSpecification() - function.addParameter('gpu', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_gpu_id(): - """ - Set gpu_id. - """ - function = LegacyFunctionSpecification() - function.addParameter('gpu_id', dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_gpu_id(): - """ - Get gpu_id. - """ - function = LegacyFunctionSpecification() - function.addParameter('gpu_id', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_manage_encounters(): - """ - Set the value of manage_encounters. - """ - function = LegacyFunctionSpecification() - function.addParameter('manage_encounters', dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_manage_encounters(): - """ - Get the value of manage_encounters. - """ - function = LegacyFunctionSpecification() - function.addParameter('manage_encounters', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_zero_step_mode(): - """ - Set the value of zero_step_mode. - """ - function = LegacyFunctionSpecification() - function.addParameter('zero_step_mode', dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_zero_step_mode(): - """ - Get the value of zero_step_mode. - """ - function = LegacyFunctionSpecification() - function.addParameter('zero_step_mode', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_force_sync(): - """ - Set the value of force_sync. - """ - function = LegacyFunctionSpecification() - function.addParameter('force_sync', dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_force_sync(): - """ - Get the value of force_sync. - """ - function = LegacyFunctionSpecification() - function.addParameter('force_sync', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_sync_time(): - """ - Set the value of sync_time. - """ - function = LegacyFunctionSpecification() - function.addParameter('sync_time', dtype='float64', - direction=function.IN, unit = nbody_system.time) - function.result_type = 'int32' - return function - - @legacy_function - def get_sync_time(): - """ - Get the value of sync_time. - """ - function = LegacyFunctionSpecification() - function.addParameter('sync_time', dtype='float64', - direction=function.OUT, unit = nbody_system.time) - function.result_type = 'int32' - return function - - @legacy_function - def set_block_steps(): - """ - Set the value of block_steps. - """ - function = LegacyFunctionSpecification() - function.addParameter('set_block_steps', dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_block_steps(): - """ - Get the value of block_steps. - """ - function = LegacyFunctionSpecification() - function.addParameter('get_block_steps', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_total_steps(): - """ - Set the value of total_steps. - """ - function = LegacyFunctionSpecification() - function.addParameter('set_total_steps', dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_total_steps(): - """ - Get the value of total_steps. - """ - function = LegacyFunctionSpecification() - function.addParameter('get_total_steps', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_number_of_particles_updated(): - """ - Return the number of particles added or deleted during the last evolve. - """ - function = LegacyFunctionSpecification() - function.addParameter('index', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_id_of_updated_particle(): - """ - Return the number of particles added or deleted during the last evolve. - """ - function = LegacyFunctionSpecification() - function.addParameter('index_of_update', dtype='int32', - direction=function.IN, - description = 'index in the updated particles list') - function.addParameter('index_of_particle', dtype='int32', - direction=function.OUT) - function.addParameter('kind_of_update', dtype='int32', - direction=function.OUT, - description = 'kind of update (2, addition), (1, deletion)') - function.can_handle_array = True - function.result_type = 'int32' - return function - - @legacy_function - def get_binary_energy(): - """ - Return the total energy in all binaries. - """ - function = LegacyFunctionSpecification() - function.addParameter( - 'binary_energy', - dtype='float64', - direction=function.OUT, - unit = nbody_system.energy - ) - function.result_type = 'int32' - return function - - @legacy_function - def set_initial_timestep_fac(): - """ - Set the current accuracy parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('initial_timestep_fac', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_initial_timestep_fac(): - """ - Get the current accuracy parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('initial_timestep_fac', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_initial_timestep_limit(): - """ - Set the current accuracy parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('initial_timestep_limit', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_initial_timestep_limit(): - """ - Get the current accuracy parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('initial_timestep_limit', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_initial_timestep_median(): - """ - Set the current accuracy parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('initial_timestep_median', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_initial_timestep_median(): - """ - Get the current accuracy parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('initial_timestep_median', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def recompute_timesteps(): - """ - Force recomputation of all timesteps (assume a synchronized system), - """ - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - -class ph4(GravitationalDynamics,GravityFieldCode): - - # The actual module. - - def __init__(self, convert_nbody = None, **keyword_arguments): - legacy_interface = ph4Interface(**keyword_arguments) - - self.stopping_conditions = StoppingConditions(self) - - GravitationalDynamics.__init__(self, - legacy_interface, - convert_nbody, - **keyword_arguments) - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - handler.add_method('RUN', 'get_particle_timestep') - GravityFieldCode.define_state(self, handler) - - handler.add_method('EDIT', 'set_state') - handler.add_method('EDIT', 'set_velocity') - handler.add_method('EDIT', 'set_mass') - handler.add_method('EDIT', 'set_position') - handler.add_method('CHANGED','before_get_parameter') - - handler.add_transition('RUN', 'CHANGED', 'set_state', False) - handler.add_transition('RUN', 'CHANGED', 'set_velocity', False) - handler.add_transition('RUN', 'CHANGED', 'set_mass', False) - handler.add_transition('RUN', 'CHANGED', 'set_position', False) - handler.add_transition('CHANGED', 'RUN', 'synchronize_model') - handler.add_method('CHANGED', 'get_state') - handler.add_method('CHANGED', 'get_mass') - handler.add_method('CHANGED', 'get_position') - handler.add_method('CHANGED', 'get_velocity') - handler.add_method('CHANGED', 'get_particle_timestep') - - self.stopping_conditions.define_state(handler) - - def define_parameters(self, handler): - - # Set/get parameters specific to the module, not part of the - # standard interface. Accessors used here must be defined - # above and reflected in interface.cc. Python access is - # (e.g.) - # - # ph4.parameters.timestep_parameter = xxx - - handler.add_method_parameter( - "get_eta", # getter name in interface.cc - "set_eta", # setter name in interface.cc - "timestep_parameter", # python parameter name - "timestep parameter", # description - default_value = 0.14 - ) - - handler.add_method_parameter( - "get_eps2", # already defined in standard interface - "set_eps2", # already defined in standard interface - "epsilon_squared", - "smoothing parameter for gravity calculations", - default_value = 0.0 | nbody_system.length * nbody_system.length - ) - - handler.add_method_parameter( - "get_gpu", # getter name in interface.cc - "set_gpu", # setter name in interface.cc - "use_gpu", # python parameter name - "use GPU", # description - default_value = 1 - ) - - handler.add_method_parameter( - "get_gpu_id", # getter name in interface.cc - "set_gpu_id", # setter name in interface.cc - "gpu_id", # python parameter name - "GPU ID", # description - default_value = -1 - ) - - handler.add_method_parameter( - "get_manage_encounters", # getter name in interface.cc - "set_manage_encounters", # setter name in interface.cc - "manage_encounters", # python parameter name - "manage close encounters", # description - default_value = 4 - ) - - handler.add_method_parameter( - "get_begin_time", - "set_begin_time", - "begin_time", - "model time at which to start the simulation", - default_value = 0.0 | nbody_system.time - ) - - handler.add_method_parameter( - "get_sync_time", - "set_sync_time", - "sync_time", - "last model synchronization time", - default_value = 0.0 | nbody_system.time - ) - - handler.add_method_parameter( - "get_zero_step_mode", - "set_zero_step_mode", - "zero_step_mode", - "force evolve_model to take zero-length steps", - default_value = 0 - ) - - handler.add_method_parameter( - "get_force_sync", - "set_force_sync", - "force_sync", - "force evolve_model to sync at specified time", - default_value = 0 - ) - - handler.add_method_parameter( - "get_block_steps", - "set_block_steps", - "block_steps", - "number of block steps", - default_value = 0 - ) - - handler.add_method_parameter( - "get_total_steps", - "set_total_steps", - "total_steps", - "total number of steps", - default_value = 0 - ) - - handler.add_method_parameter( - "get_initial_timestep_fac", # getter name in interface.cc - "set_initial_timestep_fac", # setter name in interface.cc - "initial_timestep_fac", # python parameter name - "initial timestep factor", # description - default_value = 0.0625 - ) - - handler.add_method_parameter( - "get_initial_timestep_limit", # getter name in interface.cc - "set_initial_timestep_limit", # setter name in interface.cc - "initial_timestep_limit", # python parameter name - "initial timestep limit", # description - default_value = 0.03125 - ) - - handler.add_method_parameter( - "get_initial_timestep_median", # getter name in interface.cc - "set_initial_timestep_median", # setter name in interface.cc - "initial_timestep_median", # python parameter name - "initial timestep median factor", # description - default_value = 8.0 - ) - - self.stopping_conditions.define_parameters(handler) - - def update_particle_set(self): - """ - update the particle set after changes in the code - - this implementation needs to move to the - amuse.datamodel.incode_storage module, as - it uses a lot of internal methods and info! - - """ - number_of_updated_particles = self.get_number_of_particles_updated() - - if number_of_updated_particles == 0: - return - - indices_in_update_list = list(range(number_of_updated_particles)) - particle_indices, updates \ - = self.get_id_of_updated_particle(indices_in_update_list) - - incode_storage = self.particles._private.attribute_storage - - indices_to_remove = [] - indices_to_add = [] - for index, status in zip(particle_indices, updates): - if status == 1: # deletion - indices_to_remove.append(index) - elif status == 2: # addition - indices_to_add.append(index) - - print('') - print("indices_to_remove:", indices_to_remove) - print("indices_to_add:", indices_to_add) - - if len(indices_to_remove) > 0: - incode_storage._remove_indices(indices_to_remove) - if len(indices_to_add) > 0: - incode_storage._add_indices(indices_to_add) - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - - # Turn interface functions into methods. - handler.add_method( - "new_particle", - ( - nbody_system.mass, - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.speed, - nbody_system.speed, - nbody_system.speed, - nbody_system.length, - handler.NO_UNIT - ), - ( - handler.INDEX, - handler.ERROR_CODE - ) - ) - - handler.add_method( - "set_eps2", - ( - nbody_system.length * nbody_system.length - ), - ( - handler.ERROR_CODE - ) - ) - - handler.add_method( - "get_eps2", - (), - ( - nbody_system.length * nbody_system.length, - handler.ERROR_CODE - ) - ) - - self.stopping_conditions.define_methods(handler) - - def define_particle_sets(self, handler): - GravitationalDynamics.define_particle_sets(self, handler) - - handler.add_getter('particles', 'get_particle_timestep', - names = ('timestep',)) - handler.add_getter('particles', 'get_potential', - names=('potential_in_code',)) - - self.stopping_conditions.define_particle_set(handler) +ph4Interface = load_code("ph4", "ph4Interface") +ph4 = load_code("ph4", "ph4") Ph4 = ph4 diff --git a/src/amuse/community/ph4/src/Makefile b/src/amuse/community/ph4/src/Makefile deleted file mode 100644 index 19bebe5a77..0000000000 --- a/src/amuse/community/ph4/src/Makefile +++ /dev/null @@ -1,88 +0,0 @@ - -# Makefile to build the libph4.a library. The first draft was -# auto-generated; subsequent versions are hand-coded. Save a copy! - -# Optimization may cause failure on some systems. Replace by -O0 in -# that case. - -AMUSE_DIR?=../../../../.. -OPT = -I$(AMUSE_DIR)/lib/stopcond - -GPU = -DGPU -MPICXX ?= mpicxx -MPICC ?= mpicc -CXX ?= mpicxx -CFLAGS += -g -Wall $(OPT) -CXXFLAGS += $(CFLAGS) - -CODELIB = libph4.a - -CODELIB_GPU = libph4gpu.a - -CODEOBJS = debug.o diag.o gpu.o grape.o idata.o jdata.o scheduler.o \ - close_encounter.o two_body.o util.o -CODEOBJS_GPU = $(subst .o,.gpuo, $(CODEOBJS)) - -# Needed if we don't use AMUSE stopping conditions: - -EXTRAOBJS = kepler-lib.o hdyn.o smallN-lib.o smallN_unpert.o \ - analyze-lib.o nstab.co f2c.co - -GPUFLAGS = $(GPU) - -AR = ar ruv -RANLIB = ranlib -RM = rm - -all: $(CODELIB) - -gpulib: $(CODELIB_GPU) - -$(CODELIB): $(CODEOBJS) $(EXTRAOBJS) - $(RM) -f $@ - $(AR) $@ $(CODEOBJS) $(EXTRAOBJS) - $(RANLIB) $@ - -$(CODELIB_GPU): $(CODEOBJS_GPU) $(EXTRAOBJS) - echo $(CODEOBJS_GPU) - $(RM) -f $@ - $(AR) $@ $(CODEOBJS_GPU) $(EXTRAOBJS) - $(RANLIB) $@ - -.cc.o: $< - $(CXX) $(CXXFLAGS) -c -o $@ $< - -$(CODEOBJS_GPU): %.gpuo: %.cc - $(CXX) $(CXXFLAGS) $(GPUFLAGS) -c -o $@ $< - -#----------------------------------------------------------------------- - -# Should only need to build nstab.c after a (rare) update of nstab.f -# from R. Mardling. -update_nstab: - f2c nstab.f - -nstab.co: nstab.c - $(MPICC) $(CFLAGS) -c nstab.c -o nstab.co - -f2c.co: f2c.c - $(MPICC) $(CFLAGS) -c f2c.c -o f2c.co - -#----------------------------------------------------------------------- - -smallN-lib.o: smallN.cc - $(MPICXX) $(CFLAGS) -c smallN.cc -o smallN-lib.o - -kepler-lib.o: kepler.cc - $(MPICXX) $(CFLAGS) -c kepler.cc -o kepler-lib.o - -analyze-lib.o: analyze.cc - $(MPICXX) $(CFLAGS) -c analyze.cc -o analyze-lib.o - -#----------------------------------------------------------------------- - -tar: - tar czf ph4.tgz Makefile.ph4 *.h *.cc plummer*.in* - -clean: - $(RM) -r -f *.o *.co *~ *.tgz *.a *.gpuo diff --git a/src/amuse/community/ph4/util/plotq.py b/src/amuse/community/ph4/util/plotq.py deleted file mode 100755 index 89e5d1d1d9..0000000000 --- a/src/amuse/community/ph4/util/plotq.py +++ /dev/null @@ -1,253 +0,0 @@ -#!/usr/bin/env python - -import sys -from math import log10, sqrt -import numpy as np -import matplotlib.pyplot as plt -import string -import re - -# Display a time sequence from a set of (not yet standard) AMUSE log -# files. Files, colors, and styles should be separated by spaces. - -if __name__ == '__main__': - - # Command-line arguments and defaults: - - infiles = [] # -f [list] - log = 0 # -L (sets log = 1) - outfile = '' # -o filename or . - quantities = [] # -q [list] - layout = '' # -l (rows)x(cols) - space = 0.3 # -S space - - # Separate the point colors and the line styles. Replicate the - # last color/style in case of multiple files. - - colors = ['b','g','r','c','m','k'] # -c [list] - ls = ['-'] # -s [list] - - # Parse the argument list the old-fashioned way to enable multiple - # arguments (unaccountably not supported by getopt): - - i = 1 - n = len(sys.argv) - while i < n: - if sys.argv[i][0] == '-': - - if len(sys.argv[i]) > 1: - - if sys.argv[i][1] == 'c': - - colors = [] - - # Accumulate colors until we find a leading '-' or - # reach the end of the list. - - while i < n-1 and sys.argv[i+1][0] != '-': - i += 1 - colors.append(sys.argv[i]) - - elif sys.argv[i][1] == 'f': - - # Accumulate names until we find a leading '-' or - # reach the end of the list. - - while i < n-1 and sys.argv[i+1][0] != '-': - i += 1 - infiles.append(sys.argv[i]) - - elif sys.argv[i][1] == 'L': - - log = 1 - - elif sys.argv[i][1] == 'l': - - if i < n-1 and sys.argv[i+1][0] != '-': - i += 1 - layout = sys.argv[i] - - elif sys.argv[i][1] == 'o': - - if i < n-1 and sys.argv[i+1][0] != '-': - i += 1 - outfile = sys.argv[i] - - elif sys.argv[i][1] == 'q': - - # Accumulate quantities until we find a leading - # '-' or reach the end of the list. - - while i < n-1 and sys.argv[i+1][0] != '-': - i += 1 - quantities.append(sys.argv[i]) - - elif sys.argv[i][1] == 'S': - - if i < n-1 and sys.argv[i+1][0] != '-': - i += 1 - space = float(sys.argv[i]) - - elif sys.argv[i][1] == 's': - - ls = [] - - # Accumulate line styles until we find a leading - # '-' or reach the end of the list. Problem: '-' - # is a legal line style, so accept a lone '-' in - # this case. - - while i < n-1 \ - and (sys.argv[i+1][0] != '-' - or len(sys.argv[i+1]) == 1): - i += 1 - ls.append(sys.argv[i]) - - else: - print('unknown option', sys.argv[i]) - - i += 1 - - li = len(infiles) - lq = len(quantities) - if li == 0 or lq == 0: - print('plotq -f file-list -q quantity-list') - sys.exit(0) - - # Extend the color list if neessary. - - lc = len(colors) - if lc < li: - for i in range(li-lc): - colors.append(colors[lc-1]) - - # Extend the line style list if necessary. - - lt = len(ls) - if lt < li: - for i in range(li-lt): - ls.append(ls[lt-1]) - - plt.figure(figsize=(12,8)) - plt.subplots_adjust(wspace=space, hspace=space) - - # Determine the plot layout (mxn). - - if layout == '': - - # Automatic. - - m = int(sqrt(float(lq))) - if m*m < lq: m += 1 - n = lq/m - if m*n < lq: n += 1 - - else: - - # User-specified: - - m,n = layout.split('x') - m = int(m) - n = int(n) - - i = 100*m+10*n # assume m, n < 10 - figs = [] - for ii in range(lq): - figs.append(plt.subplot(i+ii+1)) - - print('infiles: ', end=' ') - for f in infiles: print(f, end=' ') - print('') - print('quantities: ', end=' ') - for q in quantities: print(q, end=' ') - print('') - print('colors: ', end=' ') - for ic in range(li): print(colors[ic], end=' ') - print('') - print('styles: ', end=' ') - for i in range(li): print(ls[i], end=' ') - print('') - print(m, 'x', n, 'plot layout') - - ifile = 0 - for infile in infiles: # loop over input files - - # Extract data from infile. - - tlist = [] - qlist = [[] for iq in range(lq)] # list of lq empty lists - nq = [1 for iq in range(lq)] # default qlist length - - f = open(infile, 'r') - for line in f: # process data line by line - if len(line) > 0: - cols = line.split() - if len(cols) > 0 and cols[0] == '%%%': - - if cols[1] == 'time=': - tlist.append(float(cols[2])) - - else: - - foundq = False - for iq in range(lq): - if cols[1] == quantities[iq]+'=': - foundq = True - q = float(cols[2]) - if log: q = log10(q) - qlist[iq].append(q) - - if not foundq: - for iq in range(lq): - qq = quantities[iq] - if re.search(qq+'\[.*\]'+'=', cols[1]): - s = re.search(qq+'\[.*\]'+'=', - cols[1]).group() - # Messy! There must surely be a - # better way to do this... - i1 = string.index(s,'[') - i2 = string.index(s,']') - nq[iq] = int(s[i1+1:i2]) - clist = [] - for i in range(2,2+nq[iq]): - q = float(cols[i]) - if log: q = log10(q) - clist.append(q) - qlist[iq].append(clist) - - f.close() - - # Plot the data. - - for iq in range(lq): - qq = quantities[iq] - if len(qlist[iq]) > 0: - if log: qq = 'log10 '+qq - if nq[iq] == 1: - figs[iq].plot(tlist, qlist[iq], colors[ifile]+ls[ifile]) - else: - qplot = np.array(qlist[iq]) - for i in range(nq[iq]): - figs[iq].plot(tlist, qplot[:,i], - colors[ifile]+ls[ifile], linewidth=1.0) - figs[iq].set_xlabel('time') - figs[iq].set_ylabel(qq) - else: - print('No', qq, 'data to plot in '+infile+'.') - - ifile += 1 - - # Save to a file if specified; otherwise, display to the screen. - - if outfile == '': - plt.show() - else: - if outfile == '.': - qq = '' - for iq in range(lq): - if iq > 0: qq += '+' - qq += quantities[iq] - outfile = qq+'.pdf' - outfile = outfile.replace('/','_') - print('saving to', outfile) - plt.savefig(outfile) diff --git a/src/amuse/community/phantom/Makefile b/src/amuse/community/phantom/Makefile deleted file mode 100644 index dbcd5da12c..0000000000 --- a/src/amuse/community/phantom/Makefile +++ /dev/null @@ -1,54 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include $(AMUSE_DIR)/config.mk - -MPIFC ?= mpif90 -FC = $(MPIFC) - -LDFLAGS += -lm $(MUSE_LD_FLAGS) - -OBJS = interface.o - -CODELIBDIR = src/phantom/bin -CODELIB = src/phantom/bin/libphantom-amuse.a - -FCFLAGS += -L${CODELIBDIR} -lphantom-amuse - -CODEDIR = src/phantom - -SETUP = amuse -SYSTEM = gfortran - -DOWNLOAD_FROM_WEB = $(PYTHON) ./download.py - - -all: phantom_worker - -$(CODEDIR)/Makefile: - make -C . download - -download: - $(RM) -Rf src - mkdir src - $(DOWNLOAD_FROM_WEB) - -clean: - $(RM) -f *.so *.o *.pyc worker_code.cc worker_code.h - $(RM) *~ worker_code worker_code.f90 - $(RM) ${CODELIB} - make -C ${CODEDIR} clean - -$(CODELIB):$(CODEDIR)/Makefile download - make -C ${CODEDIR} libphantom-amuse SETUP=$(SETUP) SYSTEM=$(SYSTEM) OPENMP=yes - -worker_code.f90: interface.py - $(CODE_GENERATOR) --type=f90 interface.py PhantomInterface -o $@ - -phantom_worker: worker_code.f90 $(CODELIB) $(OBJS) - $(MPIFC) $(FCFLAGS) $(FS_FLAGS) $< $(OBJS) $(CODELIB) $(SC_FCLIBS) $(FS_LIBS) -fopenmp -o $@ - -%.o: %.f90 - $(FC) $(SC_FLAGS) $(FCFLAGS) -c -o $@ $< diff --git a/src/amuse/community/phantom/download.py b/src/amuse/community/phantom/download.py deleted file mode 100755 index 959efcc131..0000000000 --- a/src/amuse/community/phantom/download.py +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env python - -import subprocess -import os -import sys -import time -import urllib.request -import urllib.parse -import urllib.error -from optparse import OptionParser - - -class GetCodeFromHttp(object): - url_template = "https://github.com/rieder/phantom/archive/{version}.zip" - filename_template = "{version}.zip" - version = "" - - def directory(self): - return os.path.abspath(os.path.dirname(__file__)) - - def src_directory(self): - return os.path.join(self.directory(), 'src') - - def unpack_downloaded_file(self, filename): - print("unpacking", filename) - arguments = ['unzip', '-x'] - arguments.append(filename) - subprocess.call( - arguments, - cwd=os.path.join(self.src_directory()) - ) - subprocess.call( - [ - 'mv', - 'phantom-{version}'.format(version=self.version), - 'phantom' - ], - cwd=os.path.join(self.src_directory()) - ) - print("done") - - def start(self): - if os.path.exists('src'): - counter = 0 - while os.path.exists('src.{0}'.format(counter)): - counter += 1 - if counter > 100: - print("too many backup directories") - break - os.rename('src', 'src.{0}'.format(counter)) - - os.mkdir('src') - - url = self.url_template.format(version=self.version) - filename = self.filename_template.format(version=self.version) - filepath = os.path.join(self.src_directory(), filename) - print("downloading version", self.version, "from", url, "to", filename) - urllib.request.urlretrieve(url, filepath) - print("downloading finished") - self.unpack_downloaded_file(filename) - - -def main(version=''): - instance = GetCodeFromHttp() - instance.version = version - instance.start() - - -def new_option_parser(): - result = OptionParser() - result.add_option( - "--version", - default="ca6907f5f9a95f866b1d7e520cc356ab8cec8dd0", - dest="version", - help="version number to download", - type="string" - ) - return result - - -if __name__ == "__main__": - options, arguments = new_option_parser().parse_args() - main(**options.__dict__) diff --git a/src/amuse/community/phantom/interface.py b/src/amuse/community/phantom/interface.py index 309f84f626..2d50710bf6 100644 --- a/src/amuse/community/phantom/interface.py +++ b/src/amuse/community/phantom/interface.py @@ -1,2299 +1,7 @@ -"Interface to Phantom" +from amuse.support.import_helper import load_code -from amuse.community import ( - CodeInterface, - LegacyFunctionSpecification, - legacy_function, - LiteratureReferencesMixIn, -) -from amuse.community.interface.gd import ( - GravitationalDynamicsInterface, - GravitationalDynamics, - # GravityFieldInterface, - GravityFieldCode, -) -from amuse.community.interface.stopping_conditions import ( - StoppingConditionInterface, - StoppingConditions, -) -from amuse.units import units, generic_unit_system -from amuse.units.generic_unit_converter import ConvertBetweenGenericAndSiUnits +PhantomInterface = load_code("phantom", "PhantomInterface") +Phantom = load_code("phantom", "Phantom") - -class PhantomInterface( - CodeInterface, - LiteratureReferencesMixIn, - GravitationalDynamicsInterface, - StoppingConditionInterface, - # SinglePointGravityFieldInterface, -): - """ - The Phantom Smoothed Particle Hydrodynamics code, by Daniel Price et al. - - References: - .. [#] ADS:2018PASA...35...31P (Price et al., 2018, PASA, Volume 35, id.e031 82 pp) - """ - - def __init__(self, **options): - CodeInterface.__init__( - self, - name_of_the_worker="phantom_worker", - **options) - LiteratureReferencesMixIn.__init__(self) - - @legacy_function - def new_dm_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.OUT, - ) - for x in ['mass', 'x', 'y', 'z', 'vx', 'vy', 'vz']: - function.addParameter(x, dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - def new_particle(self, mass, x, y, z, vx, vy, vz): - return self.new_dm_particle(mass, x, y, z, vx, vy, vz) - - @legacy_function - def new_sph_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.OUT, - ) - for x in ['mass', 'x', 'y', 'z', 'vx', 'vy', 'vz', 'u']: - function.addParameter(x, dtype='float64', direction=function.IN) - function.addParameter( - 'h_smooth', dtype='float64', direction=function.IN, default=0.01, - ) - function.result_type = 'int32' - return function - - @legacy_function - def new_sink_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.OUT, - ) - for x in ['mass', 'x', 'y', 'z', 'vx', 'vy', 'vz']: - function.addParameter(x, dtype='float64', direction=function.IN) - function.addParameter( - 'radius', dtype='float64', direction=function.IN, default=0.01, - # default should be h_acc - ) - function.addParameter( - 'h_smooth', dtype='float64', direction=function.IN, default=0.01, - # default should be h_smooth_sinksink? - ) - function.result_type = 'int32' - return function - - @legacy_function - def get_state_dm(): - """ - Retrieve the current state of a DM particle. The mass, position and - velocity are returned. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.IN, - description="""Index of the particle to get the state from. This - index must have been returned by an earlier call to - :meth:`new_particle`""") - function.addParameter( - 'mass', dtype='float64', direction=function.OUT, - description="The current mass of the particle") - function.addParameter( - 'x', dtype='float64', direction=function.OUT, - description="The current position vector of the particle") - function.addParameter( - 'y', dtype='float64', direction=function.OUT, - description="The current position vector of the particle") - function.addParameter( - 'z', dtype='float64', direction=function.OUT, - description="The current position vector of the particle") - function.addParameter( - 'vx', dtype='float64', direction=function.OUT, - description="The current velocity vector of the particle") - function.addParameter( - 'vy', dtype='float64', direction=function.OUT, - description="The current velocity vector of the particle") - function.addParameter( - 'vz', dtype='float64', direction=function.OUT, - description="The current velocity vector of the particle") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was removed from the model - -1 - ERROR - particle could not be found - """ - return function - - @legacy_function - def get_state_sink(): - """ - Retrieve the current state of a sink particle. The mass, position and - velocity are returned. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.IN, - description="""Index of the particle to get the state from. This - index must have been returned by an earlier call to - :meth:`new_particle`""") - function.addParameter( - 'mass', dtype='float64', direction=function.OUT, - description="The current mass of the particle") - function.addParameter( - 'x', dtype='float64', direction=function.OUT, - description="The current position vector of the particle") - function.addParameter( - 'y', dtype='float64', direction=function.OUT, - description="The current position vector of the particle") - function.addParameter( - 'z', dtype='float64', direction=function.OUT, - description="The current position vector of the particle") - function.addParameter( - 'vx', dtype='float64', direction=function.OUT, - description="The current velocity vector of the particle") - function.addParameter( - 'vy', dtype='float64', direction=function.OUT, - description="The current velocity vector of the particle") - function.addParameter( - 'vz', dtype='float64', direction=function.OUT, - description="The current velocity vector of the particle") - function.addParameter( - 'radius', dtype='float64', direction=function.OUT, - description="The accretion radius of the particle") - function.addParameter( - 'h_smooth', dtype='float64', direction=function.OUT, - description="The smoothing length of the particle") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was removed from the model - -1 - ERROR - particle could not be found - """ - return function - - def get_state(self, index_of_the_particle): - return self.get_state_dm(index_of_the_particle) - - @legacy_function - def get_state_sph(): - """ - Retrieve the current state of an SPH particle. The mass, position, - velocity, internal energy and smoothing length are returned. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.IN, - description="""Index of the particle to get the state from. This - index must have been returned by an earlier call to - :meth:`new_particle`""") - function.addParameter( - 'mass', dtype='float64', direction=function.OUT, - description="The current mass of the particle") - function.addParameter( - 'x', dtype='float64', direction=function.OUT, - description="The current position vector of the particle") - function.addParameter( - 'y', dtype='float64', direction=function.OUT, - description="The current position vector of the particle") - function.addParameter( - 'z', dtype='float64', direction=function.OUT, - description="The current position vector of the particle") - function.addParameter( - 'vx', dtype='float64', direction=function.OUT, - description="The current velocity vector of the particle") - function.addParameter( - 'vy', dtype='float64', direction=function.OUT, - description="The current velocity vector of the particle") - function.addParameter( - 'vz', dtype='float64', direction=function.OUT, - description="The current velocity vector of the particle") - function.addParameter( - 'u', dtype='float64', direction=function.OUT, - description="The current internal energy of the particle") - function.addParameter( - 'h_smooth', dtype='float64', direction=function.OUT, - description="The current smoothing length of the particle") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was removed from the model - -1 - ERROR - particle could not be found - """ - return function - - @legacy_function - def set_state_sph(): - """ - Update the current state of an SPH particle. The mass, position, - velocity, internal energy and smoothing length are updated. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.IN, - description="""Index of the particle for which the state is to be - updated. This index must have been returned by an earlier call to - :meth:`new_particle`""") - function.addParameter( - 'mass', dtype='float64', direction=function.IN, - description="The new mass of the particle") - function.addParameter( - 'x', dtype='float64', direction=function.IN, - description="The new position vector of the particle") - function.addParameter( - 'y', dtype='float64', direction=function.IN, - description="The new position vector of the particle") - function.addParameter( - 'z', dtype='float64', direction=function.IN, - description="The new position vector of the particle") - function.addParameter( - 'vx', dtype='float64', direction=function.IN, - description="The new velocity vector of the particle") - function.addParameter( - 'vy', dtype='float64', direction=function.IN, - description="The new velocity vector of the particle") - function.addParameter( - 'vz', dtype='float64', direction=function.IN, - description="The new velocity vector of the particle") - function.addParameter( - 'u', dtype='float64', direction=function.IN, - description="The new internal energy of the particle") - function.addParameter( - 'h_smooth', dtype='float64', direction=function.IN, - description="The new smoothing length of the particle") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found in the model and the information was set - -1 - ERROR - particle could not be found - -2 - ERROR - code does not support updating of a particle - -3 - ERROR - not yet implemented - """ - return function - - def set_state( - self, index_of_the_particle, mass, x, y, z, vx, vy, vz, - ): - return self.set_state_dm( - index_of_the_particle, mass, x, y, z, vx, vy, vz) - - @legacy_function - def set_state_dm(): - """ - Update the current state of a DM particle. The mass, position and - velocity are updated. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.IN, - description="""Index of the particle for which the state is to be - updated. This index must have been returned by an earlier call to - :meth:`new_particle`""") - function.addParameter( - 'mass', dtype='float64', direction=function.IN, - description="The new mass of the particle") - function.addParameter( - 'x', dtype='float64', direction=function.IN, - description="The new position vector of the particle") - function.addParameter( - 'y', dtype='float64', direction=function.IN, - description="The new position vector of the particle") - function.addParameter( - 'z', dtype='float64', direction=function.IN, - description="The new position vector of the particle") - function.addParameter( - 'vx', dtype='float64', direction=function.IN, - description="The new velocity vector of the particle") - function.addParameter( - 'vy', dtype='float64', direction=function.IN, - description="The new velocity vector of the particle") - function.addParameter( - 'vz', dtype='float64', direction=function.IN, - description="The new velocity vector of the particle") - # function.addParameter( - # 'radius', dtype='float64', direction=function.IN, - # description="The new softening length of the particle") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found in the model and the information was set - -1 - ERROR - particle could not be found - -2 - ERROR - code does not support updating of a particle - -3 - ERROR - not yet implemented - """ - return function - - @legacy_function - def set_state_sink(): - """ - Update the current state of a sink particle. The mass, position and - velocity are updated. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.IN, - description="""Index of the particle for which the state is to be - updated. This index must have been returned by an earlier call to - :meth:`new_particle`""") - function.addParameter( - 'mass', dtype='float64', direction=function.IN, - description="The new mass of the particle") - function.addParameter( - 'x', dtype='float64', direction=function.IN, - description="The new position vector of the particle") - function.addParameter( - 'y', dtype='float64', direction=function.IN, - description="The new position vector of the particle") - function.addParameter( - 'z', dtype='float64', direction=function.IN, - description="The new position vector of the particle") - function.addParameter( - 'vx', dtype='float64', direction=function.IN, - description="The new velocity vector of the particle") - function.addParameter( - 'vy', dtype='float64', direction=function.IN, - description="The new velocity vector of the particle") - function.addParameter( - 'vz', dtype='float64', direction=function.IN, - description="The new velocity vector of the particle") - function.addParameter( - 'radius', dtype='float64', direction=function.IN, - description="The accretion radius of the particle") - function.addParameter( - 'h_smooth', dtype='float64', direction=function.IN, - description="The smoothing length of the particle") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - particle was found in the model and the information was set - -1 - ERROR - particle could not be found - -2 - ERROR - code does not support updating of a particle - -3 - ERROR - not yet implemented - """ - return function - - @legacy_function - def set_internal_energy(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.IN, - description='', - ) - function.addParameter( - 'u', dtype='float64', direction=function.IN, - description='', - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_h2ratio(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.IN, - description='', - ) - function.addParameter( - 'h2ratio', dtype='float64', direction=function.IN, - description='', - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_hi_abundance(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.IN, - description='', - ) - function.addParameter( - 'hi_abundance', dtype='float64', direction=function.IN, - description='', - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_proton_abundance(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.IN, - description='', - ) - function.addParameter( - 'proton_abundance', dtype='float64', direction=function.IN, - description='', - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_electron_abundance(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.IN, - description='', - ) - function.addParameter( - 'electron_abundance', dtype='float64', direction=function.IN, - description='', - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_co_abundance(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.IN, - description='', - ) - function.addParameter( - 'co_abundance', dtype='float64', direction=function.IN, - description='', - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_smoothing_length(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.IN, - description='', - ) - function.addParameter( - 'h_smooth', dtype='float64', direction=function.IN, - description='' - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_density(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.IN, - description='' - ) - function.addParameter( - 'density', dtype='float64', direction=function.OUT, - description="The current density of the particle" - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_pressure(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.IN, - description='', - ) - function.addParameter( - 'pressure', dtype='float64', direction=function.OUT, - description='' - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_h2ratio(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.IN, - description='', - ) - function.addParameter( - 'h2ratio', dtype='float64', direction=function.OUT, - description='' - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_hi_abundance(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.IN, - description='', - ) - function.addParameter( - 'hi_abundance', dtype='float64', direction=function.OUT, - description='' - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_proton_abundance(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.IN, - description='', - ) - function.addParameter( - 'proton_abundance', dtype='float64', direction=function.OUT, - description='' - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_electron_abundance(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.IN, - description='', - ) - function.addParameter( - 'electron_abundance', dtype='float64', direction=function.OUT, - description='' - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_co_abundance(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.IN, - description='', - ) - function.addParameter( - 'co_abundance', dtype='float64', direction=function.OUT, - description='' - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_internal_energy(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.IN, - description='' - ) - function.addParameter( - 'u', dtype='float64', direction=function.OUT, - description="The current internal energy of the particle", - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_smoothing_length(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', dtype='int32', direction=function.IN, - description='' - ) - function.addParameter( - 'h_smooth', dtype='float64', direction=function.OUT, - description="The current smoothing length of the particle" - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_time_step(): - function = LegacyFunctionSpecification() - function.addParameter( - 'time_step', dtype='float64', direction=function.OUT, - unit=generic_unit_system.time, - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_time_step(): - function = LegacyFunctionSpecification() - function.addParameter( - 'time_step', dtype='float64', direction=function.IN, - unit=generic_unit_system.time, - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_c_courant(): - function = LegacyFunctionSpecification() - function.addParameter( - 'c_courant', dtype='float64', direction=function.OUT, - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_c_courant(): - function = LegacyFunctionSpecification() - function.addParameter( - 'c_courant', dtype='float64', direction=function.IN, - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_c_force(): - function = LegacyFunctionSpecification() - function.addParameter( - 'C_force', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_c_force(): - function = LegacyFunctionSpecification() - function.addParameter( - 'C_force', dtype='float64', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_c_cool(): - function = LegacyFunctionSpecification() - function.addParameter( - 'C_cool', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_c_cool(): - function = LegacyFunctionSpecification() - function.addParameter( - 'C_cool', dtype='float64', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - - @legacy_function - def get_tolv(): - function = LegacyFunctionSpecification() - function.addParameter( - 'tolv', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_tolv(): - function = LegacyFunctionSpecification() - function.addParameter( - 'tolv', dtype='float64', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_hfact(): - function = LegacyFunctionSpecification() - function.addParameter( - 'hfact', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_hfact(): - function = LegacyFunctionSpecification() - function.addParameter( - 'hfact', dtype='float64', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_tolh(): - function = LegacyFunctionSpecification() - function.addParameter( - 'tolh', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_tolh(): - function = LegacyFunctionSpecification() - function.addParameter( - 'tolh', dtype='float64', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_tree_accuracy(): - function = LegacyFunctionSpecification() - function.addParameter( - 'tree_accuracy', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_tree_accuracy(): - function = LegacyFunctionSpecification() - function.addParameter( - 'tree_accuracy', dtype='float64', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_alpha(): - function = LegacyFunctionSpecification() - function.addParameter( - 'alpha', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_alpha(): - function = LegacyFunctionSpecification() - function.addParameter( - 'alpha', dtype='float64', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_alphamax(): - function = LegacyFunctionSpecification() - function.addParameter( - 'alphamax', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_alphamax(): - function = LegacyFunctionSpecification() - function.addParameter( - 'alphamax', dtype='float64', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_beta(): - function = LegacyFunctionSpecification() - function.addParameter( - 'beta', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_beta(): - function = LegacyFunctionSpecification() - function.addParameter( - 'beta', dtype='float64', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_avdecayconst(): - function = LegacyFunctionSpecification() - function.addParameter( - 'avdecayconst', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_avdecayconst(): - function = LegacyFunctionSpecification() - function.addParameter( - 'avdecayconst', dtype='float64', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_idamp(): - function = LegacyFunctionSpecification() - function.addParameter( - 'idamp', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_idamp(): - function = LegacyFunctionSpecification() - function.addParameter( - 'idamp', dtype='int32', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_ieos(): - function = LegacyFunctionSpecification() - function.addParameter( - 'ieos', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_ieos(): - function = LegacyFunctionSpecification() - function.addParameter( - 'ieos', dtype='int32', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_icooling(): - function = LegacyFunctionSpecification() - function.addParameter( - 'icooling', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_icooling(): - function = LegacyFunctionSpecification() - function.addParameter( - 'icooling', dtype='int32', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_polyk(): - function = LegacyFunctionSpecification() - function.addParameter( - 'polyk', dtype='float64', direction=function.OUT, - unit=(generic_unit_system.speed**2) - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_polyk(): - function = LegacyFunctionSpecification() - function.addParameter( - 'polyk', dtype='float64', direction=function.IN, - unit=(generic_unit_system.speed**2) - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_gamma(): - function = LegacyFunctionSpecification() - function.addParameter( - 'gamma', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_gamma(): - function = LegacyFunctionSpecification() - function.addParameter( - 'gamma', dtype='float64', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_mu(): - function = LegacyFunctionSpecification() - function.addParameter( - 'mu', dtype='float64', direction=function.OUT, - unit=units.amu - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_mu(): - function = LegacyFunctionSpecification() - function.addParameter( - 'mu', dtype='float64', direction=function.IN, - unit=units.amu - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_rhofinal(): - function = LegacyFunctionSpecification() - function.addParameter( - 'rhofinal', dtype='float64', direction=function.OUT, - unit=(generic_unit_system.density), - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_rhofinal(): - function = LegacyFunctionSpecification() - function.addParameter( - 'rhofinal', dtype='float64', direction=function.IN, - unit=(generic_unit_system.density), - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_rho_crit(): - function = LegacyFunctionSpecification() - function.addParameter( - 'rho_crit', dtype='float64', direction=function.OUT, - unit=(generic_unit_system.density), - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_rho_crit(): - function = LegacyFunctionSpecification() - function.addParameter( - 'rho_crit', dtype='float64', direction=function.IN, - unit=(generic_unit_system.density), - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_r_crit(): - function = LegacyFunctionSpecification() - function.addParameter( - 'r_crit', dtype='float64', direction=function.OUT, - unit=generic_unit_system.length, - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_r_crit(): - function = LegacyFunctionSpecification() - function.addParameter( - 'r_crit', dtype='float64', direction=function.IN, - unit=generic_unit_system.length, - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_h_acc(): - function = LegacyFunctionSpecification() - function.addParameter( - 'h_acc', dtype='float64', direction=function.OUT, - unit=generic_unit_system.length, - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_h_acc(): - function = LegacyFunctionSpecification() - function.addParameter( - 'h_acc', dtype='float64', direction=function.IN, - unit=generic_unit_system.length, - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_h_soft_sinkgas(): - function = LegacyFunctionSpecification() - function.addParameter( - 'h_soft_sinkgas', dtype='float64', direction=function.OUT, - unit=generic_unit_system.length, - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_h_soft_sinkgas(): - function = LegacyFunctionSpecification() - function.addParameter( - 'h_soft_sinkgas', dtype='float64', direction=function.IN, - unit=generic_unit_system.length, - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_h_soft_sinksink(): - function = LegacyFunctionSpecification() - function.addParameter( - 'h_soft_sinksink', dtype='float64', direction=function.OUT, - unit=generic_unit_system.length, - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_h_soft_sinksink(): - function = LegacyFunctionSpecification() - function.addParameter( - 'h_soft_sinksink', dtype='float64', direction=function.IN, - unit=generic_unit_system.length, - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_f_acc(): - function = LegacyFunctionSpecification() - function.addParameter( - 'f_acc', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_f_acc(): - function = LegacyFunctionSpecification() - function.addParameter( - 'f_acc', dtype='float64', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_iexternalforce(): - function = LegacyFunctionSpecification() - function.addParameter( - 'iexternalforce', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_iexternalforce(): - function = LegacyFunctionSpecification() - function.addParameter( - 'iexternalforce', dtype='int32', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_irealvisc(): - function = LegacyFunctionSpecification() - function.addParameter( - 'irealvisc', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_irealvisc(): - function = LegacyFunctionSpecification() - function.addParameter( - 'irealvisc', dtype='int32', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_shearparam(): - function = LegacyFunctionSpecification() - function.addParameter( - 'shearparam', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_shearparam(): - function = LegacyFunctionSpecification() - function.addParameter( - 'shearparam', dtype='float64', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_bulkvisc(): - function = LegacyFunctionSpecification() - function.addParameter( - 'bulkvisc', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_bulkvisc(): - function = LegacyFunctionSpecification() - function.addParameter( - 'bulkvisc', dtype='float64', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_unit_length(): - function = LegacyFunctionSpecification() - function.addParameter( - 'unit_length', dtype='float64', direction=function.OUT, - unit=units.cm # generic_unit_system.length - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_unit_length(): - function = LegacyFunctionSpecification() - function.addParameter( - 'unit_length', dtype='float64', direction=function.IN, - unit=units.cm # generic_unit_system.length - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_unit_mass(): - function = LegacyFunctionSpecification() - function.addParameter( - 'unit_mass', dtype='float64', direction=function.OUT, - unit=units.g # generic_unit_system.mass - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_unit_mass(): - function = LegacyFunctionSpecification() - function.addParameter( - 'unit_mass', dtype='float64', direction=function.IN, - unit=units.g # generic_unit_system.mass - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def get_unit_time(): - function = LegacyFunctionSpecification() - function.addParameter( - 'unit_time', dtype='float64', direction=function.OUT, - unit=units.s # generic_unit_system.time - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - @legacy_function - def set_unit_time(): - function = LegacyFunctionSpecification() - function.addParameter( - 'unit_time', dtype='float64', direction=function.IN, - unit=units.s # generic_unit_system.time - ) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - -1 - ERROR - """ - return function - - -class Phantom(GravitationalDynamics, GravityFieldCode): - __interface__ = PhantomInterface - - def __init__( - self, - convert_nbody=None, - **options): - # if convert_nbody is None: - # NOTE we use a fixed converter here internally! - # Not doing this *really* complicates things as we'd need to change the - # internal units used in Phantom as well. - phantom_solarm = 1.9891e33 | units.g - phantom_pc = 3.086e18 | units.cm - phantom_gg = 6.672041e-8 | units.cm**3 * units.g**-1 * units.s**-2 - # phantom_mass = 1.0 | units.MSun - # phantom_mass = 1.98892e33 | units.g - # phantom_time = 60 * 60 * 24 * 365.25 * 1e6 | units.s - # phantom_length = (phantom_time**2 * phantom_gg * phantom_mass)**(1/3) - phantom_mass = 1.0 * phantom_solarm - phantom_length = 0.1 * phantom_pc - phantom_time = (phantom_length**3 / (phantom_gg*phantom_mass))**0.5 - - unit_converter = ConvertBetweenGenericAndSiUnits( - # Phantom uses CGS units internally, scaled with G=1 - # So we need to make sure we use those same units here... - # Also, Phantom's value for G is not the same as AMUSE's... - phantom_length, - phantom_mass, # 1.0 MSun - phantom_time, # 1 Julian Myr - ) - convert_nbody = unit_converter - - self.stopping_conditions = StoppingConditions(self) - - GravitationalDynamics.__init__( - self, - PhantomInterface(**options), - convert_nbody, - **options - ) - - def initialize_code(self): - result = self.overridden().initialize_code() - - if self.unit_converter is not None: - mass = self.unit_converter.to_si(generic_unit_system.mass) - time = self.unit_converter.to_si(generic_unit_system.time) - # self.parameters._original.unit_mass = mass - # self.parameters._original.unit_time = time - # self.set_unit_mass(self.unit_converter.to_si(generic_unit_system.mass).value_in(units.g)) - # self.set_unit_length(self.unit_converter.to_si(generic_unit_system.length).value_in(units.cm)) - # self.set_unit_time(self.unit_converter.to_si(generic_unit_system.time).value_in(units.s)) - return result - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - GravityFieldCode.define_state(self, handler) - # self.stopping_conditions.define_state(handler) - - handler.add_transition('END', 'INITIALIZED', 'initialize_code', False) - handler.add_method('END', 'initialize_code') - - handler.add_transition('RUN', 'UPDATE', 'new_sph_particle', False) - handler.add_method('EDIT', 'new_sph_particle') - handler.add_method('UPDATE', 'new_sph_particle') - handler.add_transition('RUN', 'UPDATE', 'new_dm_particle', False) - handler.add_method('EDIT', 'new_dm_particle') - handler.add_method('UPDATE', 'new_dm_particle') - handler.add_transition('RUN', 'UPDATE', 'new_sink_particle', False) - handler.add_method('EDIT', 'new_sink_particle') - handler.add_method('UPDATE', 'new_sink_particle') - - self.stopping_conditions.define_state(handler) - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_time_step", - "set_time_step", - "time_step", - "Maximum internal time step", - default_value=0.01 | generic_unit_system.time - ) - - handler.add_method_parameter( - "get_c_courant", - "set_c_courant", - "c_courant", - "Courant number", - default_value=0.3 - ) - - handler.add_method_parameter( - "get_c_force", - "set_c_force", - "c_force", - "dt_force number", - default_value=0.25 - ) - - handler.add_method_parameter( - "get_c_cool", - "set_c_cool", - "c_cool", - "dt_cool number", - default_value=0.25 - ) - - handler.add_method_parameter( - "get_tolv", - "set_tolv", - "tolv", - "tolerance on v iterations in timestepping", - default_value=1.0e-2 - ) - - handler.add_method_parameter( - "get_hfact", - "set_hfact", - "hfact", - "h in units of particle spacing [h = hfact(m/rho)^(1/3)]", - default_value=1.2 - ) - - handler.add_method_parameter( - "get_tolh", - "set_tolh", - "tolh", - "tolerance on h-rho iterations", - default_value=1.0e-4 - ) - - handler.add_method_parameter( - "get_tree_accuracy", - "set_tree_accuracy", - "tree_accuracy", - "tree opening criterion (0.0-1.0)", - default_value=0.5 - ) - - handler.add_method_parameter( - "get_alpha", - "set_alpha", - "alpha", - "MINIMUM art. viscosity parameter", - default_value=0. - ) - - handler.add_method_parameter( - "get_alphamax", - "set_alphamax", - "alphamax", - "MAXIMUM art. viscosity parameter", - default_value=1.0 - ) - - handler.add_method_parameter( - "get_beta", - "set_beta", - "beta", - "beta viscosity", - default_value=2.0 - ) - - handler.add_method_parameter( - "get_avdecayconst", - "set_avdecayconst", - "avdecayconst", - "decay time constant for viscosity switches", - default_value=0.1 - ) - - handler.add_method_parameter( - "get_idamp", - "set_idamp", - "idamp", - "artificial damping of velocities (0=off, 1=constant, 2=star)", - default_value=0 - ) - - handler.add_method_parameter( - "get_polyk", - "set_polyk", - "polyk", - "polyk value", - default_value=(0. | units.km**2 * units.s**-2) - ) - - handler.add_method_parameter( - "get_ieos", - "set_ieos", - "ieos", - "eqn of state (1=isoth;2=adiab;3=locally iso;8=barotropic)", - default_value=1 - ) - - handler.add_method_parameter( - "get_icooling", - "set_icooling", - "icooling", - "Cooling (0=off 1=default 2/3 = other)", - default_value=0 - ) - - handler.add_method_parameter( - "get_gamma", - "set_gamma", - "gamma", - "gamma value ", - default_value=1 - ) - - handler.add_method_parameter( - "get_mu", - "set_mu", - "mu", - "mean molecular weight", - default_value=(2.381 | units.amu) - ) - - handler.add_method_parameter( - "get_rhofinal", - "set_rhofinal", - "rhofinal", - "maximum allowed density (<=0 to ignore)", - default_value=(0 | generic_unit_system.density) - ) - - handler.add_method_parameter( - "get_rho_crit", - "set_rho_crit", - "rho_crit", - "density above which sink particles are created", - default_value=(1e-10 | units.g * units.cm**-3) - ) - - handler.add_method_parameter( - "get_r_crit", - "set_r_crit", - "r_crit", - "critical radius for point mass creation" - " (no new sinks < r_crit from existing sink)", - default_value=(0.005 | generic_unit_system.length) - ) - - handler.add_method_parameter( - "get_h_acc", - "set_h_acc", - "h_acc", - "accretion radius for new sink particles", - default_value=(0.001 | generic_unit_system.length) - ) - - handler.add_method_parameter( - "get_h_soft_sinkgas", - "set_h_soft_sinkgas", - "h_soft_sinkgas", - "softening length for new sink particles", - default_value=(0. | generic_unit_system.length) - ) - - handler.add_method_parameter( - "get_h_soft_sinksink", - "set_h_soft_sinksink", - "h_soft_sinksink", - "softening length between sink particles", - default_value=(0. | generic_unit_system.length) - ) - - handler.add_method_parameter( - "get_f_acc", - "set_f_acc", - "f_acc", - "particles < f_acc*h_acc accreted without checks", - default_value=0.8 - ) - - handler.add_method_parameter( - "get_iexternalforce", - "set_iexternalforce", - "iexternalforce", - "1=star,2=coro,3=bina,4=prdr,5=toru,6=toys,7=exte," - "8=spir,9=Lens,10=neut,11=Eins", - default_value=0 - ) - - handler.add_method_parameter( - "get_irealvisc", - "set_irealvisc", - "irealvisc", - "physical viscosity type (0=none,1=const,2=Shakura/Sunyaev)", - default_value=0 - ) - - handler.add_method_parameter( - "get_shearparam", - "set_shearparam", - "shearparam", - "magnitude of shear viscosity (irealvisc=1) or alpha_SS" - " (irealvisc=2)", - default_value=0.1 - ) - - handler.add_method_parameter( - "get_bulkvisc", - "set_bulkvisc", - "bulkvisc", - "magnitude of bulk viscosity", - default_value=0.0 - ) - - handler.add_method_parameter( - "get_unit_length", - "set_unit_length", - "code_unit_length", - "code unit length", - default_value=( - ((60 * 60 * 24 * 365.25 * 1e6) | units.s)**2 - * (6.672041e-8 | units.cm**3 * units.g**-1 * units.s**-2) - * (1.98892e33 | units.g) - )**(1/3) - ) - - handler.add_method_parameter( - "get_unit_mass", - "set_unit_mass", - "code_unit_mass", - "code unit mass", - default_value=1.98892e33 | units.g - ) - - handler.add_method_parameter( - "get_unit_time", - "set_unit_time", - "code_unit_time", - "code unit time", - default_value=3.15576e13 | units.s - ) - - self.stopping_conditions.define_parameters(handler) - - def define_particle_sets(self, handler): - handler.define_super_set( - 'particles', - ['dm_particles', 'gas_particles', 'sink_particles'], - index_to_default_set=0, - ) - - handler.define_set('dm_particles', 'index_of_the_particle') - handler.set_new('dm_particles', 'new_dm_particle') - handler.set_delete('dm_particles', 'delete_particle') - handler.add_getter('dm_particles', 'get_state_dm') - handler.add_setter('dm_particles', 'set_state_dm') - handler.add_getter('dm_particles', 'get_mass') - handler.add_setter('dm_particles', 'set_mass') - handler.add_getter('dm_particles', 'get_position') - handler.add_setter('dm_particles', 'set_position') - handler.add_getter('dm_particles', 'get_velocity') - handler.add_setter('dm_particles', 'set_velocity') - handler.add_getter('dm_particles', 'get_acceleration') - - handler.define_set('gas_particles', 'index_of_the_particle') - handler.set_new('gas_particles', 'new_sph_particle') - handler.set_delete('gas_particles', 'delete_particle') - handler.add_getter('gas_particles', 'get_state_sph') - handler.add_setter('gas_particles', 'set_state_sph') - handler.add_getter('gas_particles', 'get_mass') - handler.add_setter('gas_particles', 'set_mass') - handler.add_getter('gas_particles', 'get_position') - handler.add_setter('gas_particles', 'set_position') - handler.add_getter('gas_particles', 'get_velocity') - handler.add_setter('gas_particles', 'set_velocity') - handler.add_getter('gas_particles', 'get_acceleration') - handler.add_getter('gas_particles', 'get_internal_energy') - handler.add_setter('gas_particles', 'set_internal_energy') - handler.add_getter('gas_particles', 'get_smoothing_length') - handler.add_setter('gas_particles', 'set_smoothing_length') - handler.add_getter('gas_particles', 'get_density', names=('rho',)) - handler.add_getter('gas_particles', 'get_density', names=('density',)) - handler.add_getter('gas_particles', 'get_pressure') - handler.add_getter('gas_particles', 'get_h2ratio') - handler.add_getter('gas_particles', 'get_hi_abundance') - handler.add_getter('gas_particles', 'get_proton_abundance') - handler.add_getter('gas_particles', 'get_electron_abundance') - handler.add_getter('gas_particles', 'get_co_abundance') - handler.add_setter('gas_particles', 'set_h2ratio') - handler.add_setter('gas_particles', 'set_hi_abundance') - handler.add_setter('gas_particles', 'set_proton_abundance') - handler.add_setter('gas_particles', 'set_electron_abundance') - handler.add_setter('gas_particles', 'set_co_abundance') - - handler.define_set('sink_particles', 'index_of_the_particle') - handler.set_new('sink_particles', 'new_sink_particle') - handler.set_delete('sink_particles', 'delete_particle') - handler.add_getter('sink_particles', 'get_state_sink') - handler.add_setter('sink_particles', 'set_state_sink') - handler.add_getter('sink_particles', 'get_mass') - handler.add_setter('sink_particles', 'set_mass') - handler.add_getter('sink_particles', 'get_position') - handler.add_setter('sink_particles', 'set_position') - handler.add_getter('sink_particles', 'get_velocity') - handler.add_setter('sink_particles', 'set_velocity') - handler.add_getter('sink_particles', 'get_acceleration') - handler.add_getter('sink_particles', 'get_radius') - handler.add_setter('sink_particles', 'set_radius') - handler.add_getter('sink_particles', 'get_smoothing_length') - handler.add_setter('sink_particles', 'set_smoothing_length') - - self.stopping_conditions.define_particle_set(handler, 'particles') - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - - handler.add_method( - "new_dm_particle", - ( - generic_unit_system.mass, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.speed, - ), - ( - handler.INDEX, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "new_sph_particle", - ( - generic_unit_system.mass, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.specific_energy, - generic_unit_system.length, - ), - ( - handler.INDEX, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "new_sink_particle", - ( - generic_unit_system.mass, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.length, - generic_unit_system.length, - ), - ( - handler.INDEX, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_state_dm", - ( - handler.INDEX, - ), - ( - generic_unit_system.mass, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.speed, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "set_state_dm", - ( - handler.INDEX, - generic_unit_system.mass, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.speed, - # generic_unit_system.length, - ), - ( - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_state_sph", - ( - handler.INDEX, - ), - ( - generic_unit_system.mass, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.specific_energy, - generic_unit_system.length, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "set_state_sph", - ( - handler.INDEX, - generic_unit_system.mass, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.specific_energy, - generic_unit_system.length, - ), - ( - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_state_sink", - ( - handler.INDEX, - ), - ( - generic_unit_system.mass, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.length, - generic_unit_system.length, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "set_state_sink", - ( - handler.INDEX, - generic_unit_system.mass, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.length, - generic_unit_system.length, - ), - ( - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_density", - ( - handler.INDEX, - ), - ( - generic_unit_system.density, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_smoothing_length", - ( - handler.INDEX, - ), - ( - generic_unit_system.length, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "set_smoothing_length", - ( - handler.INDEX, - generic_unit_system.length, - ), - ( - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_pressure", - ( - handler.INDEX, - ), - ( - generic_unit_system.pressure, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_h2ratio", - ( - handler.INDEX, - ), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_hi_abundance", - ( - handler.INDEX, - ), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_proton_abundance", - ( - handler.INDEX, - ), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_electron_abundance", - ( - handler.INDEX, - ), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_co_abundance", - ( - handler.INDEX, - ), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_internal_energy", - ( - handler.INDEX, - ), - ( - generic_unit_system.specific_energy, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "set_internal_energy", - ( - handler.INDEX, - generic_unit_system.specific_energy, - ), - ( - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "set_h2ratio", - ( - handler.INDEX, - handler.NO_UNIT, - ), - ( - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "set_hi_abundance", - ( - handler.INDEX, - handler.NO_UNIT, - ), - ( - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "set_proton_abundance", - ( - handler.INDEX, - handler.NO_UNIT, - ), - ( - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "set_electron_abundance", - ( - handler.INDEX, - handler.NO_UNIT, - ), - ( - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "set_co_abundance", - ( - handler.INDEX, - handler.NO_UNIT, - ), - ( - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_time_step", - ( - ), - ( - generic_unit_system.time, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "set_time_step", - ( - generic_unit_system.time, - ), - ( - handler.ERROR_CODE, - ) - ) - - self.stopping_conditions.define_methods(handler) +Phantom = Phantom diff --git a/src/amuse/community/phigrape/Makefile b/src/amuse/community/phigrape/Makefile deleted file mode 100644 index 127e5d7ec0..0000000000 --- a/src/amuse/community/phigrape/Makefile +++ /dev/null @@ -1,155 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - - -MPICXX ?= mpicxx -MPICC ?= mpicc -MPIFC ?= mpif90 -GFVERSION10PLUS := $(shell expr `${FC} -dumpversion | cut -f1 -d.` \>= 10) - ifeq (${GFVERSION10PLUS}, 1) - MPIFC += -fallow-argument-mismatch - endif -MPIF90 ?= $(MPIFC) -FC = $(MPIF90) -CC = $(MPICC) -GL_PATH ?= /data/pelupes/libraries/f90gl-1.2.11 - - - -SRCDIR = src - -MPI_BUILDDIR=build_mpi -BUILDDIR = build - -CODELIB=$(BUILDDIR)/libphigrape.a - -GLOBJECTS=src/fthread.o src/viewer.o src/start_viewer.o src/libpt.a - -CUDA_SDK ?= /disks/koppoel1/CUDA23/cudasdk/C -CUDA_TK ?= /disks/koppoel1/CUDA23/cuda - -CUDA_LIBDIRS ?= -L$(CUDA_TK)/lib -L$(CUDA_TK)/lib64 -CUDA_LIBS ?= -lcudart - -SAPPORO_LIBDIRS ?= -L$(AMUSE_DIR)/lib/sapporo_light -OPENMP_CFLAGS ?= -SAPPORO_LIBS ?= $(SAPPORO_LIBDIRS) -lsapporo $(OPENMP_CFLAGS) -GRAPE6_LIBDIRS ?= -L$(GRAPE6)/lib - -BOOSTLIBS = -L/opt/local/lib -lboost_thread-mt -LLIBSDIR = $(GRAPE6_LIBDIRS) -GPULIBS = $(SAPPORO_LIBS) $(CUDA_LIBDIRS) $(CUDA_LIBS) -lpthread -L/usr/lib64 -lstdc++ -GRAPE6LIBS ?= -lg6lx -LIBS += -lm -lpthread - -LIBRARIES= $(LLIBSDIR) $(LIBS) - -GLINCLUDE = -I/usr/include/GL -I$(GL_PATH)/include/GL/ -GLLIB = -L$(GL_PATH)/lib -lf90GLU -lf90GL -lf90glut -lGLU -lGL -lglut - -X11LIB ?= -L/usr/X11R6/lib64 -lXaw -lXt -lXmu -lXi -lXext -lX11 - -THREADLIB ?= -L. -lpthread src/libpt.a - -PGLIBS ?= -L. -lpg5 - -G6LIBS ?= -L$(AMUSE_DIR)/lib/g6 -lg6 - -CFLAGS += -g $(OPTS) -FFLAGS += -g $(OPTS) -FFLAGS += -I./src/ - -# check for gfortran, this catches link and compiler wrappers -ifeq ($(findstring GNU, $(shell $(FC) --version)), GNU) -else -GLLIB += -lguide -endif - -all: debuginfo phigrape_worker - -debuginfo: - @echo "making phigrape..; some debugging info follows:" - @echo $(SC_MPI_CLIBS) - - -$(BUILDDIR)/Makefile: $(SRCDIR)/Makefile - -mkdir $(BUILDDIR) - cp $(SRCDIR)/Makefile $(BUILDDIR)/Makefile - -$(CODELIB): $(BUILDDIR)/Makefile - make -C $(BUILDDIR) all "FC=$(FC)" "OPTS=-DNOMPI" "CC=$(CC)" VPATH=../src - -phigrape_worker: worker_code.f90 interface.o $(CODELIB) - $(MPIF90) $(FFLAGS) $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) -DNOMPI $^ $(CODELIB) -o $@ $(OBJECTS) $(G6LIBS) $(LIBRARIES) $(SC_MPI_CLIBS) $(FS_LIBS) $(LIBS) - -$(MPI_BUILDDIR)/Makefile: $(SRCDIR)/Makefile - -mkdir $(MPI_BUILDDIR) - cp $(SRCDIR)/Makefile $(MPI_BUILDDIR)/Makefile - -$(MPI_BUILDDIR)/libphigrape.a: $(MPI_BUILDDIR)/Makefile - make -C $(MPI_BUILDDIR) all "FC=$(FC)" "OPTS=-DMPI" "CC=$(CC)" VPATH=../src - -phigrape_worker_mpi: worker_code.f90 interface.mpio $(MPI_BUILDDIR)/libphigrape.a - $(MPIF90) $(FFLAGS) $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) -DMPI $^ $(MPI_BUILDDIR)/libphigrape.a -o $@ $(OBJECTS) $(G6LIBS) $(LIBRARIES) $(SC_MPI_CLIBS) $(FS_LIBS) $(LIBS) - -phigrape_worker_gl: glworker_code.f90 interface.o $(CODELIB) - make -C src gl "FC=$(FC)" "OPTS=-DNOMPI" "CC=$(CC)" - $(MPIF90) $(FFLAGS) -DNOMPI $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) $^ $(CODELIB) -o $@ $(OBJECTS) $(G6LIBS) $(LIBRARIES) \ - $(GLOBJECTS) $(GLLIB) $(X11LIB) $(THREADLIB) $(LIBS) $(SC_MPI_CLIBS) $(FS_LIBS) $(LIBS) - -phigrape_worker_gpu: worker_code.f90 interface.o $(CODELIB) - $(MPIF90) $(FFLAGS) -DNOMPI $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) $^ $(CODELIB) -o $@ $(OBJECTS) $(LIBRARIES) $(GPULIBS) $(SC_MPI_CLIBS) $(FS_LIBS) $(LIBS) - -phigrape_worker_gl_gpu: glworker_code.f90 interface.o $(CODELIB) - make -C src gl "FC=$(FC)" "OPTS=-DNOMPI" "CC=$(CC)" - $(MPIF90) $(FFLAGS) -DNOMPI $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) $^ $(CODELIB) -o $@ $(OBJECTS) $(LIBRARIES) \ - $(GLOBJECTS) $(GLLIB) $(X11LIB) $(THREADLIB) $(LIBS) $(GPULIBS) $(SC_MPI_CLIBS) $(FS_LIBS) $(LIBS) - -phigrape_worker_grape: worker_code.f90 interface.o $(CODELIB) - $(MPIF90) $(FFLAGS) -DNOMPI $(SC_FLAGS) $(FS_FLAGS) $(LDFLAGS) $^ $(CODELIB) -o $@ $(OBJECTS) $(LIBRARIES) $(GRAPE6LIBS) $(SC_FCLIBS) $(FS_LIBS) $(LIBS) - -worker_code.f90: interface.py - $(CODE_GENERATOR) --type=f90 interface.py PhiGRAPEInterface -o $@ - -glworker_code.f90: interface.py - $(CODE_GENERATOR) --type=f90 interface.py PhiGRAPEInterfaceGL -o $@ - -clean: - make -C src clean - rm -f *.pyc *.o *.mpio - rm -Rf build - rm -Rf build_mpi - rm -f worker_code_gpu worker_code_grape - rm -f worker_code worker_code.f90 - rm -f worker_code-sockets.f90 phigrape_worker_sockets - rm -f glworker_code glworker_code.f90 - rm -f glworker_code_gpu glworker_code_grape - rm -f phigrape_worker phigrape_worker_gl phigrape_worker_gl_gpu phigrape_worker_gpu - rm -f phigrape_worker_mpi - rm -f phigrape_worker_gpu_sockets - rm -f forsockets.mod - -__init__.py: - touch $@ - -%.o: %.f90 - $(FC) $(FFLAGS) -c $< - -%.mpio: %.F - $(FC) $(SC_FLAGS) -DMPI $(FFLAGS) -c $< -o $@ - -%.o: %.F - $(FC) $(SC_FLAGS) -DNOMPI $(FFLAGS) -c $< - -.f.o: - $(FC) $(FFLAGS) $(SC_FLAGS) -c $< - -.c.o: - $(CC) $(CFLAGS) -c $< - -.F.o: - $(FC) $(FFLAGS) $(SC_FLAGS) -c $< diff --git a/src/amuse/community/phigrape/interface.py b/src/amuse/community/phigrape/interface.py index 05d5494ef9..63cd7a5dfc 100644 --- a/src/amuse/community/phigrape/interface.py +++ b/src/amuse/community/phigrape/interface.py @@ -1,283 +1,8 @@ -import numpy +from amuse.support.import_helper import load_code -from amuse.units import nbody_system -from amuse.units import units -from amuse.community import * -from amuse.community.interface.gd import GravitationalDynamicsInterface -from amuse.community.interface.gd import GravitationalDynamics -from amuse.community.interface.gd import GravityFieldInterface -from amuse.community.interface.gd import GravityFieldCode - -class PhiGRAPEInterface( - CodeInterface, - LiteratureReferencesMixIn, - GravitationalDynamicsInterface, - StoppingConditionInterface, - GravityFieldInterface): - """ - .. [#] ADS:2007NewA...12..357H (Harfst, S., Gualandris, A., Merritt, D., Spurzem, R., Portegies Zwart, S., & Berczik, P. 2007, New Astronomy, 12, 357) - """ - - MODE_G6LIB = 'g6lib' - MODE_GPU = 'gpu' - MODE_GRAPE = 'grape' - - def __init__(self, mode = MODE_G6LIB, number_of_workers = 1, **options): - CodeInterface.__init__(self, name_of_the_worker = self.name_of_the_worker(mode, number_of_workers), number_of_workers = number_of_workers, **options) - LiteratureReferencesMixIn.__init__(self) - - def name_of_the_worker(self, mode, number_of_workers): - if number_of_workers > 1: - if mode == self.MODE_G6LIB: - return 'phigrape_worker_mpi' - elif mode == self.MODE_GPU: - return 'phigrape_worker_gpu' - elif mode == self.MODE_GRAPE: - return 'phigrape_worker_grape' - else: - return 'phigrape_worker_mpi' - else: - if mode == self.MODE_G6LIB: - return 'phigrape_worker' - elif mode == self.MODE_GPU: - return 'phigrape_worker_gpu' - elif mode == self.MODE_GRAPE: - return 'phigrape_worker_grape' - else: - return 'phigrape_worker' - - def initialize_particles(self, time): - return self.commit_particles() - - def reinitialize_particles(): - return self.recommit_particles() - - @legacy_function - def get_time_step(): - function = LegacyFunctionSpecification() - function.result_type = 'd' - return function - - @legacy_function - def set_eta(): - function = LegacyFunctionSpecification() - function.addParameter('etas', dtype='d', direction=function.IN) - function.addParameter('eta', dtype='d', direction=function.IN) - return function - - @legacy_function - def set_eta_s(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='d', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def set_eta1(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='d', direction=function.IN) - function.result_type = 'int32' - return function - - - @legacy_function - def get_eta(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='d', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_eta_s(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='d', direction=function.OUT) - function.result_type = 'int32' - return function - - - @legacy_function - def set_initialize_once(): - """ - Sets the initialize GPU/GRAPE once parameter. When - set the GPU will be initialized during the - :func:`commit_parameters` call and released - during the :func:`cleanup_code` call. - """ - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='i', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_initialize_once(): - """ - Returns the current value of the initialize once - parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='i', direction=function.OUT) - function.result_type = 'int32' - return function - - - @legacy_function - def get_energy_error(): - function = LegacyFunctionSpecification() - function.result_type = 'd' - return function - - @legacy_function - def find_colliding_secondary(): - function = LegacyFunctionSpecification() - function.addParameter('id1', dtype='i', direction=function.IN) - function.result_type = 'i' - return function - -class PhiGRAPEInterfaceGL(PhiGRAPEInterface): - - def __init__(self, mode = PhiGRAPEInterface.MODE_G6LIB): - PhiGRAPEInterface.__init__(self, mode = mode) - - @legacy_function - def start_viewer(): - function = LegacyFunctionSpecification() - return function - - def name_of_the_worker(self, mode): - if mode == self.MODE_G6LIB: - return 'phigrape_worker_gl' - if mode == self.MODE_GPU: - return 'phigrape_worker_gl_gpu' - if mode == self.MODE_GRAPE: - return 'phigrape_worker_gl_grape' - else: - return 'phigrape_worker_gl' - - - -class PhiGRAPE(GravitationalDynamics, GravityFieldCode): - - def __init__(self, convert_nbody = None, mode = PhiGRAPEInterface.MODE_G6LIB, use_gl = False, **options): - nbody_interface = None - if use_gl: - nbody_interface = PhiGRAPEInterfaceGL(mode, **options) - else: - nbody_interface = PhiGRAPEInterface(mode, **options) - - self.stopping_conditions = StoppingConditions(self) - - GravitationalDynamics.__init__( - self, - nbody_interface, - convert_nbody, - **options - ) - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - GravityFieldCode.define_state(self, handler) - self.stopping_conditions.define_state(handler) - - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_eps2", - "set_eps2", - "epsilon_squared", - "smoothing parameter for gravity calculations", - default_value = 0.0 | nbody_system.length * nbody_system.length - ) - - handler.add_method_parameter( - "get_eta", - "set_eta1", - "timestep_parameter", - "timestep parameter", - default_value = 0.02 - ) - - handler.add_method_parameter( - "get_eta_s", - "set_eta_s", - "initial_timestep_parameter", - "parameter to determine the initial timestep", - default_value = 0.01 - ) - - handler.add_method_parameter( - "get_initialize_once", - "set_initialize_once", - "initialize_gpu_once", - "set to 1 if the gpu must only be initialized once, 0 if it can be initialized for every call\nIf you want to run multiple instances of the code on the same gpu this parameter needs to be 0 (default)", - default_value = 0 - ) - handler.add_method_parameter( - "get_begin_time", - "set_begin_time", - "begin_time", - "model time to start the simulation at", - default_value = 0.0 | nbody_system.time - ) - - self.stopping_conditions.define_parameters(handler) - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - - handler.add_method( - "get_eps2", - (), - (nbody_system.length * nbody_system.length, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_eps2", - (nbody_system.length * nbody_system.length, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_eta", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_eta1", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_eta_s", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_eta_s", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_initialize_once", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_initialize_once", - (handler.NO_UNIT, ), - (handler.ERROR_CODE,) - ) - - self.stopping_conditions.define_methods(handler) - - def define_particle_sets(self, handler): - GravitationalDynamics.define_particle_sets(self, handler) - self.stopping_conditions.define_particle_set(handler) - +PhiGRAPEInterface = load_code("phigrape", "PhiGRAPEInterface") +PhiGRAPEInterfaceGL = load_code("phigrape", "PhiGRAPEInterfaceGL") +PhiGRAPE = load_code("phigrape", "PhiGRAPE") Phigrape = PhiGRAPE diff --git a/src/amuse/community/phigrape/src/Makefile b/src/amuse/community/phigrape/src/Makefile deleted file mode 100644 index 5d4b9afd35..0000000000 --- a/src/amuse/community/phigrape/src/Makefile +++ /dev/null @@ -1,117 +0,0 @@ -AMUSE_DIR?=../../../../.. --include ${AMUSE_DIR}/config.mk - - -OPTS ?= -DNOMPI -GL_PATH ?= /data/pelupes/libraries/f90gl-1.2.11 - -CODELIB = libphigrape.a - -AR = ar ruv -RANLIB = ranlib -RM = rm - - -SOURCEF = \ -allgather_ap.F cmcorr.F corrector.F cputime.F \ -energy.F get_min_t.F gravity.F initgrape.F \ -initmpi.F initpars.F output.F \ -predictor.F readbodydata.F readpars.F readrestartfile.F \ -selectactive.F selectsync.F sendbodies2grape.F \ -sendbodydata.F \ -sendinpdata.F sumforces.F sync.F \ -timestep.F update_grape.F update_loc_p.F writebh.F \ -writerestartfile.F predict_potential.F - -SOURCEC = wtimef.c - -SAF = main.F - -CUDA_LIBDIRS ?= -L/data1/pelupes/programs/cuda/lib -CUDA_LIBS ?= -lcudart -SAPPORO_LIBDIRS ?= -L/data1/pelupes/libraries/sapporo_v1.5 - - -LLIBSDIR = $(SAPPORO_LIBDIRS) $(CUDA_LIBDIRS) -LIBS = $(CUDA_LIBS) -lsapporo -lm -lboost_thread-mt -lpthread - - -G6LIBS ?= -L$(AMUSE_DIR)/lib/g6 -lg6 - -LIBS = -lm - -LIBRARIES= $(LLIBSDIR) $(LIBS) $(G6LIBS) $(SC_MPI_CLIBS) - -GLINCLUDE = -I/usr/include/GL -I$(GL_PATH)/include/GL/ -GLLIB = -L$(GL_PATH)/lib -lf90GLU -lf90GL -lf90glut -lGLU -lGL -lglut - -X11LIB ?= -L/usr/X11R6/lib64 -lXaw -lXt -lXmu -lXi -lXext -lX11 - - -THREAD_OPTIONS ?= -L. -lpthread -lpt - -#------------------------------------------------------------ -#--- C-definitions -#------------------------------------------------------------ - -CFLAGS += -O3 $(OPTS) - -#------------------------------------------------------------ -#--- FORTRAN-definitions -#------------------------------------------------------------ - -FFLAGS += -O2 $(OPTS) -#gfortran :-fno-second-underscore -fPIC -Wall -ifeq ($(findstring gfortran, $(shell $(FC) --help)), gfortran) -PP_FLAGS = -x f95-cpp-input -else -PP_FLAGS = -fpp -endif - -OBJECTS = $(SOURCEF:.F=.o) $(SOURCE:.f=.o) $(SOURCEC:.c=.o) -CODEOBJS = $(OBJECTS) -SAO = $(SAF:.F=.o) - -all: debuginfo phiGRAPE $(CODELIB) - -debuginfo: - @echo "enetered phigrape source makefile" - @echo "OBJECTS = " $(OBJECTS) - @echo "CODEOBJS = " $(CODEOBJS) - @echo $(SC_MPI_CLIBS) - -gl: start_viewer.o viewer.o libpt.a fthread.o - - -$(CODELIB): $(CODEOBJS) - $(RM) -f $@ - $(AR) $@ $(CODEOBJS) - $(RANLIB) $@ - -stars3d.o: stars3d.f90 - $(FC) $(PP_FLAGS) $(FFLAGS) $(GLINCLUDE) -c -o $@ $< - -viewer.o: viewer.f90 - $(FC) $(PP_FLAGS) $(FFLAGS) $(GLINCLUDE) -c -o $@ $< - -libpt.a: pt.c ptf77.c pt.h - cc -c $(PIC) pt.c - cc -c $(PIC) ptf77.c - ar crv libpt.a pt.o ptf77.o - ranlib libpt.a - -phiGRAPE: $(OBJECTS) $(SAO) - $(FC) $(FFLAGS) -o phiGRAPE $^ $(LIBRARIES) - - -clean: - rm -f *.o .m* .n* *.lst *.L *~ phiGRAPE libpt.a *.mod $(CODELIB) - -.f.o: - $(FC) $(FFLAGS) $(SC_FLAGS) -c $< - -.c.o: - $(CC) $(CFLAGS) $(SC_FLAGS) -c $< - -.F.o: - $(FC) $(FFLAGS) $(SC_FLAGS) -c $< diff --git a/src/amuse/community/pikachu/interface.py b/src/amuse/community/pikachu/interface.py index 769eb9a978..6e16004a2f 100644 --- a/src/amuse/community/pikachu/interface.py +++ b/src/amuse/community/pikachu/interface.py @@ -1,495 +1,7 @@ -from amuse.community import * -from amuse.community.interface.gd import GravitationalDynamicsInterface -from amuse.community.interface.gd import GravitationalDynamics -from amuse.community.interface.gd import GravityFieldInterface -from amuse.community.interface.gd import GravityFieldCode +from amuse.support.import_helper import load_code -class PikachuInterface(CodeInterface, GravitationalDynamicsInterface, LiteratureReferencesMixIn, - StoppingConditionInterface, GravityFieldInterface, CodeWithDataDirectories): - """ - Pikachu - a.k.a. P^3 Tree - Hybrid N-body module, combining a tree (Barnes & Hut) to approximate long-range - forces, with direct summation of the forces from neighbour particles. - - .. [#] ADS:2015ComAC...2....6I (Iwasawa, M., Portegies Zwart, S., Makino, J., *Computational Astrophysics and Cosmology*, **2**, 6 (2015): - .. [#] ... "GPU-enabled particle-particle particle-tree scheme for simulating dense stellar cluster system") - - """ - include_headers = ['worker_code.h', 'stopcond.h', 'interface.h'] - - MODE_NORMAL = 'normal' - MODE_LARGE_N = 'large_n' - - def __init__(self, mode=MODE_NORMAL, **options): - CodeInterface.__init__(self, name_of_the_worker=self.name_of_the_worker(mode), **options) - LiteratureReferencesMixIn.__init__(self) - CodeWithDataDirectories.__init__(self) - - def name_of_the_worker(self, mode): - if mode == self.MODE_NORMAL: - return 'pikachu_worker' - elif mode == self.MODE_LARGE_N: - return 'pikachu_worker_large_n' - else: - print("Warning: unknown mode: '{0}' - using default ('{1}').".format(mode, self.MODE_NORMAL)) - return 'pikachu_worker' - - @option(type="string", sections=('data',)) - def default_kernel_directory(self): - """ - The default directory containing the Sequoia kernels - """ - return os.path.join(self.amuse_root_directory, 'src', 'amuse', 'community', 'pikachu') - - @legacy_function - def get_kernel_directory(): - function = LegacyFunctionSpecification() - function.addParameter('kernel_directory', dtype='string', direction=function.OUT, - description = "Name of the Sequoia kernel directory") - function.result_type = 'int32' - return function - - @legacy_function - def set_kernel_directory(): - function = LegacyFunctionSpecification() - function.addParameter('kernel_directory', dtype='string', direction=function.IN, - description = "Name of the Sequoia kernel directory") - function.result_type = 'int32' - return function - - @legacy_function - def get_eps2_fs_fs(): - function = LegacyFunctionSpecification() - function.addParameter('epsilon_squared_fs_fs', dtype='float64', direction=function.OUT, - description = "The current value of the smooting parameter, squared, for star-star interactions.", - unit = nbody_system.length * nbody_system.length) - function.result_type = 'int32' - return function - @legacy_function - def set_eps2_fs_fs(): - function = LegacyFunctionSpecification() - function.addParameter('epsilon_squared_fs_fs', dtype='float64', direction=function.IN, - description = "The new value of the smooting parameter, squared, for star-star interactions.", - unit = nbody_system.length * nbody_system.length) - function.result_type = 'int32' - return function - - @legacy_function - def get_eps2_fs_bh(): - function = LegacyFunctionSpecification() - function.addParameter('epsilon_squared_fs_bh', dtype='float64', direction=function.OUT, - description = "The current value of the smooting parameter, squared, for star-blackhole interactions.", - unit = nbody_system.length * nbody_system.length) - function.result_type = 'int32' - return function - @legacy_function - def set_eps2_fs_bh(): - function = LegacyFunctionSpecification() - function.addParameter('epsilon_squared_fs_bh', dtype='float64', direction=function.IN, - description = "The new value of the smooting parameter, squared, for star-blackhole interactions.", - unit = nbody_system.length * nbody_system.length) - function.result_type = 'int32' - return function - - @legacy_function - def get_eps2_bh_bh(): - function = LegacyFunctionSpecification() - function.addParameter('epsilon_squared_bh_bh', dtype='float64', direction=function.OUT, - description = "The current value of the smooting parameter, squared, for blackhole-blackhole interactions.", - unit = nbody_system.length * nbody_system.length) - function.result_type = 'int32' - return function - @legacy_function - def set_eps2_bh_bh(): - function = LegacyFunctionSpecification() - function.addParameter('epsilon_squared_bh_bh', dtype='float64', direction=function.IN, - description = "The new value of the smooting parameter, squared, for blackhole-blackhole interactions.", - unit = nbody_system.length * nbody_system.length) - function.result_type = 'int32' - return function - - @legacy_function - def get_eta_s(): - function = LegacyFunctionSpecification() - function.addParameter('eta_start', dtype='float64', direction=function.OUT, - description = "The current value of the initial timestep parameter.") - function.result_type = 'int32' - return function - @legacy_function - def set_eta_s(): - function = LegacyFunctionSpecification() - function.addParameter('eta_start', dtype='float64', direction=function.IN, - description = "The new value of the initial timestep parameter.") - function.result_type = 'int32' - return function - - @legacy_function - def get_eta_fs(): - function = LegacyFunctionSpecification() - function.addParameter('eta_field_star', dtype='float64', direction=function.OUT, - description = "The current value of the timestep parameter for field stars.") - function.result_type = 'int32' - return function - @legacy_function - def set_eta_fs(): - function = LegacyFunctionSpecification() - function.addParameter('eta_field_star', dtype='float64', direction=function.IN, - description = "The new value of the timestep parameter for field stars.") - function.result_type = 'int32' - return function - - @legacy_function - def get_eta_smbh(): - function = LegacyFunctionSpecification() - function.addParameter('eta_supermassive_black_hole', dtype='float64', direction=function.OUT, - description = "The current value of the timestep parameter for black holes.") - function.result_type = 'int32' - return function - @legacy_function - def set_eta_smbh(): - function = LegacyFunctionSpecification() - function.addParameter('eta_supermassive_black_hole', dtype='float64', direction=function.IN, - description = "The new value of the timestep parameter for black holes.") - function.result_type = 'int32' - return function - - @legacy_function - def get_theta_for_tree(): - function = LegacyFunctionSpecification() - function.addParameter('opening_angle', dtype='float64', direction=function.OUT, - description = "The opening angle, theta, for building the tree: between 0 and 1.") - function.result_type = 'int32' - return function - @legacy_function - def set_theta_for_tree(): - function = LegacyFunctionSpecification() - function.addParameter('opening_angle', dtype='float64', direction=function.IN, - description = "The opening angle, theta, for building the tree: between 0 and 1.") - function.result_type = 'int32' - return function - - @legacy_function - def get_calculate_quadrupole_moments(): - function = LegacyFunctionSpecification() - function.addParameter('calculate_quadrupole_moments', dtype='int32', direction=function.OUT, - description = "Flag that specifies whether quadrupole moments are calculated for the tree") - function.result_type = 'int32' - return function - @legacy_function - def set_calculate_quadrupole_moments(): - function = LegacyFunctionSpecification() - function.addParameter('calculate_quadrupole_moments', dtype='int32', direction=function.IN, - description = "Flag that specifies whether quadrupole moments are calculated for the tree") - function.result_type = 'int32' - return function - - @legacy_function - def set_time_step(): - function = LegacyFunctionSpecification() - function.addParameter('time_step', dtype='float64', direction=function.IN, - description = "The new value of the global timestep.", - unit = nbody_system.time) - function.result_type = 'int32' - return function - - @legacy_function - def get_search_factor(): - function = LegacyFunctionSpecification() - function.addParameter('search_factor', dtype='float64', direction=function.OUT, - description = "The search factor, if positive, determines rsearch = rcut_out + search_factor * velocity_dispersion * timestep") - function.result_type = 'int32' - return function - @legacy_function - def set_search_factor(): - function = LegacyFunctionSpecification() - function.addParameter('opening_angle', dtype='float64', direction=function.IN, - description = "The search factor, if positive, determines rsearch = rcut_out + search_factor * velocity_dispersion * timestep") - function.result_type = 'int32' - return function - - @legacy_function - def get_vel_disp(): - function = LegacyFunctionSpecification() - function.addParameter('vel_disp', dtype='float64', direction=function.OUT, - description = "The velocity dispersion assumed when calculating rsearch", - unit = nbody_system.speed) - function.result_type = 'int32' - return function - @legacy_function - def set_vel_disp(): - function = LegacyFunctionSpecification() - function.addParameter('vel_disp', dtype='float64', direction=function.IN, - description = "The velocity dispersion assumed when calculating rsearch", - unit = nbody_system.speed) - function.result_type = 'int32' - return function - - @legacy_function - def get_rcut_out_FS_FS(): - function = LegacyFunctionSpecification() - function.addParameter('rcut_out_FS_FS', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.result_type = 'int32' - return function - @legacy_function - def set_rcut_out_FS_FS(): - function = LegacyFunctionSpecification() - function.addParameter('rcut_out_FS_FS', dtype='float64', direction=function.IN, - unit = nbody_system.length) - function.result_type = 'int32' - return function - - @legacy_function - def get_rcut_out_FS_BH(): - function = LegacyFunctionSpecification() - function.addParameter('rcut_out_FS_BH', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.result_type = 'int32' - return function - @legacy_function - def set_rcut_out_FS_BH(): - function = LegacyFunctionSpecification() - function.addParameter('rcut_out_FS_BH', dtype='float64', direction=function.IN, - unit = nbody_system.length) - function.result_type = 'int32' - return function - - @legacy_function - def get_rcut_out_BH_BH(): - function = LegacyFunctionSpecification() - function.addParameter('rcut_out_BH_BH', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.result_type = 'int32' - return function - @legacy_function - def set_rcut_out_BH_BH(): - function = LegacyFunctionSpecification() - function.addParameter('rcut_out_BH_BH', dtype='float64', direction=function.IN, - unit = nbody_system.length) - function.result_type = 'int32' - return function - - @legacy_function - def get_rsearch_FS_FS(): - function = LegacyFunctionSpecification() - function.addParameter('rsearch_FS_FS', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.result_type = 'int32' - return function - - @legacy_function - def set_rsearch_FS_FS(): - function = LegacyFunctionSpecification() - function.addParameter('rsearch_FS_FS', dtype='float64', direction=function.IN, - unit = nbody_system.length) - function.result_type = 'int32' - return function - - @legacy_function - def get_rsearch_FS_BH(): - function = LegacyFunctionSpecification() - function.addParameter('rsearch_FS_BH', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.result_type = 'int32' - return function - - @legacy_function - def set_rsearch_FS_BH(): - function = LegacyFunctionSpecification() - function.addParameter('rsearch_FS_BH', dtype='float64', direction=function.IN, - unit = nbody_system.length) - function.result_type = 'int32' - return function - - @legacy_function - def get_rsearch_BH_BH(): - function = LegacyFunctionSpecification() - function.addParameter('rsearch_BH_BH', dtype='float64', direction=function.OUT, - unit = nbody_system.length) - function.result_type = 'int32' - return function - - @legacy_function - def set_rsearch_BH_BH(): - function = LegacyFunctionSpecification() - function.addParameter('rsearch_BH_BH', dtype='float64', direction=function.IN, - unit = nbody_system.length) - function.result_type = 'int32' - return function - -class Pikachu(GravitationalDynamics, GravityFieldCode): +PikachuInterface = load_code("pikachu", "PikachuInterface") +Pikachu = load_code("pikachu", "Pikachu") - def __init__(self, convert_nbody = None, **options): - self.stopping_conditions = StoppingConditions(self) - - legacy_interface = PikachuInterface(**options) - self.legacy_doc = legacy_interface.__doc__ - - GravitationalDynamics.__init__( - self, - legacy_interface, - convert_nbody, - **options - ) - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - GravityFieldCode.define_state(self, handler) - self.stopping_conditions.define_state(handler) - - - - def define_parameters(self, handler): - GravitationalDynamics.define_parameters(self, handler) - self.stopping_conditions.define_parameters(handler) - handler.add_method_parameter( - "get_kernel_directory", - "set_kernel_directory", - "kernel_directory", - "Name of the Sequoia kernel directory", - default_value = self.default_kernel_directory - ) - handler.add_alias_parameter( - "epsilon_squared", - "epsilon_squared_star_star", - "smoothing parameter for gravity calculations - star-star interactions only (alias for epsilon_squared_star_star)" - ) - handler.add_method_parameter( - "get_eps2_fs_fs", - "set_eps2_fs_fs", - "epsilon_squared_star_star", - "smoothing parameter for gravity calculations - star-star interactions only", - default_value = 1.0e-8 | nbody_system.length * nbody_system.length - ) - handler.add_method_parameter( - "get_eps2_fs_bh", - "set_eps2_fs_bh", - "epsilon_squared_star_blackhole", - "smoothing parameter for gravity calculations - star-blackhole interactions only", - default_value = 1.0e-8 | nbody_system.length * nbody_system.length - ) - handler.add_method_parameter( - "get_eps2_bh_bh", - "set_eps2_bh_bh", - "epsilon_squared_blackhole_blackhole", - "smoothing parameter for gravity calculations - blackhole-blackhole interactions only", - default_value = 0.0 | nbody_system.length * nbody_system.length - ) - handler.add_method_parameter( - "get_eta_s", - "set_eta_s", - "initial_timestep_parameter", - "initial timestep parameter (eta)", - default_value = 0.005 - ) - handler.add_alias_parameter( - "timestep_parameter", - "timestep_parameter_stars", - "timestep parameter (eta) for field stars (alias for timestep_parameter_stars)" - ) - handler.add_method_parameter( - "get_eta_fs", - "set_eta_fs", - "timestep_parameter_stars", - "timestep parameter (eta) for field stars", - default_value = 0.025 - ) - handler.add_method_parameter( - "get_eta_smbh", - "set_eta_smbh", - "timestep_parameter_black_holes", - "timestep parameter (eta) for black holes", - default_value = 0.025 - ) - handler.add_method_parameter( - "get_time_step", - "set_time_step", - "timestep", - "global timestep for iteration", - default_value = 1.0 / 2048.0 | nbody_system.time - ) - handler.add_method_parameter( - "get_theta_for_tree", - "set_theta_for_tree", - "opening_angle", - "opening angle, theta, for building the tree: between 0 and 1", - default_value = 0.4 - ) - handler.add_method_parameter( - "get_search_factor", - "set_search_factor", - "search_factor", - "search factor, if positive, determines rsearch = rcut_out + search_factor * velocity_dispersion * timestep", - default_value = 3.0 - ) - handler.add_method_parameter( - "get_vel_disp", - "set_vel_disp", - "velocity_dispersion", - "velocity dispersion assumed when calculating rsearch", - default_value = 0.707106781 | nbody_system.speed - ) - handler.add_method_parameter( - "get_rcut_out_FS_FS", - "set_rcut_out_FS_FS", - "rcut_out_star_star", - "cut-off radius beyond which direct force calculations smoothly transition into tree approximations", - default_value = 2.0e-3 | nbody_system.length - ) - handler.add_method_parameter( - "get_rcut_out_FS_BH", - "set_rcut_out_FS_BH", - "rcut_out_star_blackhole", - "cut-off radius beyond which direct force calculations smoothly transition into tree approximations", - default_value = 2.0e-2 | nbody_system.length - ) - handler.add_method_parameter( - "get_rcut_out_BH_BH", - "set_rcut_out_BH_BH", - "rcut_out_blackhole_blackhole", - "cut-off radius beyond which direct force calculations smoothly transition into tree approximations", - default_value = 1.0e5 | nbody_system.length - ) - handler.add_method_parameter( - "get_rsearch_FS_FS", - "set_rsearch_FS_FS", - "rsearch_star_star", - "maximum radius for neighbour search, must be larger than rcut_out to " - "provide a buffer for particles moving into rcut_out during a time step, " - "only effective if search_factor <= 0", - default_value = 0.0 | nbody_system.length - ) - handler.add_method_parameter( - "get_rsearch_FS_BH", - "set_rsearch_FS_BH", - "rsearch_star_blackhole", - "maximum radius for neighbour search, must be larger than rcut_out to " - "provide a buffer for particles moving into rcut_out during a time step, " - "only effective if search_factor <= 0", - default_value = 0.0 | nbody_system.length - ) - handler.add_method_parameter( - "get_rsearch_BH_BH", - "set_rsearch_BH_BH", - "rsearch_blackhole_blackhole", - "maximum radius for neighbour search, must be larger than rcut_out to " - "provide a buffer for particles moving into rcut_out during a time step, " - "only effective if search_factor <= 0", - default_value = 0.0 | nbody_system.length - ) - handler.add_boolean_parameter( - "get_calculate_quadrupole_moments", - "set_calculate_quadrupole_moments", - "calculate_quadrupole_moments", - "Flag that specifies whether quadrupole moments are calculated for the tree", - False - ) - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - self.stopping_conditions.define_methods(handler) - - def define_particle_sets(self, handler): - GravitationalDynamics.define_particle_sets(self, handler) - self.stopping_conditions.define_particle_set(handler) +Pikachu = Pikachu diff --git a/src/amuse/community/rebound/Makefile b/src/amuse/community/rebound/Makefile deleted file mode 100644 index e5e9abcaa9..0000000000 --- a/src/amuse/community/rebound/Makefile +++ /dev/null @@ -1,102 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include $(AMUSE_DIR)/config.mk - -MPICXX ?= mpicxx - -CFLAGS += -Wall -g -DCOLLISIONS_DUMMY -DLIBREBOUND -CXXFLAGS += $(CFLAGS) -LDFLAGS += -lm $(MUSE_LD_FLAGS) - -ifdef OPENMP_ENABLED -export OPENMP=1 -CFLAGS += $(OPENMP_CFLAGS) -endif - -OBJS = interface.o - -CODELIB = src/librebound.a -CODEDIR = src/rebound -LIB_OBJ = $(CODEDIR)/src/rebound.o $(CODEDIR)/src/tree.o $(CODEDIR)/src/particle.o $(CODEDIR)/src/gravity.o \ - $(CODEDIR)/src/integrator.o $(CODEDIR)/src/integrator_whfast.o $(CODEDIR)/src/integrator_whfasthelio.o \ - $(CODEDIR)/src/integrator_ias15.o $(CODEDIR)/src/integrator_sei.o $(CODEDIR)/src/integrator_leapfrog.o \ - $(CODEDIR)/src/integrator_hermes.o $(CODEDIR)/src/boundary.o \ - $(CODEDIR)/src/collision.o $(CODEDIR)/src/tools.o \ - $(CODEDIR)/src/communication_mpi.o $(CODEDIR)/src/display.o $(CODEDIR)/src/derivatives.o \ - $(CODEDIR)/src/glad.o $(CODEDIR)/src/integrator_janus.o $(CODEDIR)/src/transformations.o \ - $(CODEDIR)/src/simulationarchive.o $(CODEDIR)/src/output.o \ - $(CODEDIR)/src/input.o \ - -DOWNLOAD_FROM_WEB = $(PYTHON) ./download.py -PATCH_FILES = $(PYTHON) ./patch_files.py - -AM_LIBS = -L$(AMUSE_DIR)/lib/amuse_mpi -lamuse_mpi -AM_CFLAGS = -I$(AMUSE_DIR)/lib/amuse_mpi - - -all: rebound_worker - -DOWNLOAD_CODES?=1 - -ifdef DOWNLOAD_CODES -$(CODEDIR)/Makefile: - make -C . download -else -$(CODEDIR)/Makefile: - @echo "" - @echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - @echo "" - @echo "DOWNLOAD_CODES is not set. Rebound will not be downloaded and built." - @echo "If you do want Rebound, set DOWNLOAD_CODES to 1." - @echo "bash> export DOWNLOAD_CODES=1" - @echo "csh> setenv DOWNLOAD_CODES 1" - @echo "" - @echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - @echo "" - @make -s --no-print-directory -C . raise_error -endif - -download: - $(RM) -Rf .pc - $(RM) -Rf src - mkdir src - $(DOWNLOAD_FROM_WEB) - $(PATCH_FILES) - -clean: - $(RM) -f *.so *.o *.pyc worker_code.cc worker_code.h - $(RM) *~ rebound_worker worker_code.cc - $(RM) -Rf $(CODEDIR)/src/*.o - $(RM) -Rf $(CODEDIR)/src/*.so - $(RM) -Rf src/librebound.a - -make -C $(CODEDIR) clean - -distclean: - $(RM) -f *.so *.o *.pyc worker_code.cc worker_code.h *.mod - $(RM) *~ rebound_worker - $(RM) -Rf src - $(RM) -Rf src.* - $(RM) -Rf $(CODEDIR)/src/*.o - $(RM) -Rf $(CODEDIR)/src/*.so - $(RM) -Rf src/librebound.a - $(RM) -Rf .pc - -$(CODELIB): $(CODEDIR)/Makefile - make -C $(CODEDIR) all CC=$(CC) - ar rv $(CODELIB) $(LIB_OBJ) - ranlib $(CODELIB) - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py ReboundInterface -o $@ - -worker_code.h: interface.py - $(CODE_GENERATOR) --type=h interface.py -i amuse.community.interface.stopping_conditions.StoppingConditionInterface ReboundInterface -o $@ - -rebound_worker: worker_code.cc worker_code.h $(CODELIB) $(OBJS) - $(MPICXX) $(CXXFLAGS) $(SC_FLAGS) $(LDFLAGS) -I$(CODEDIR)/src $< $(OBJS) $(CODELIB) $(SC_CLIBS) -o $@ - -.cc.o: $< - $(CXX) $(CXXFLAGS) $(SC_FLAGS) -I$(CODEDIR)/src -c -o $@ $< diff --git a/src/amuse/community/rebound/download.py b/src/amuse/community/rebound/download.py deleted file mode 100755 index 8a686caa88..0000000000 --- a/src/amuse/community/rebound/download.py +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/env python - -import subprocess -import os -import sys -import time -import urllib.request -import urllib.parse -import urllib.error -from optparse import OptionParser - - -class GetCodeFromHttp(object): - url_template = "https://github.com/hannorein/rebound/archive/{version}.tar.gz" - filename_template = "{version}.tar.gz" - version = "" - - def directory(self): - return os.path.abspath(os.path.dirname(__file__)) - - def src_directory(self): - return os.path.join(self.directory(), "src") - - def unpack_downloaded_file(self, filename): - print("unpacking", filename) - arguments = ["tar", "-xf"] - arguments.append(filename) - subprocess.call(arguments, cwd=os.path.join(self.src_directory())) - subprocess.call( - ["mv", "rebound-{version}".format(version=self.version), "rebound"], - cwd=os.path.join(self.src_directory()), - ) - print("done") - - def start(self): - if os.path.exists("src"): - counter = 0 - while os.path.exists("src.{0}".format(counter)): - counter += 1 - if counter > 100: - print("too many backup directories") - break - os.rename("src", "src.{0}".format(counter)) - - os.mkdir("src") - - url = self.url_template.format(version=self.version) - filename = self.filename_template.format(version=self.version) - filepath = os.path.join(self.src_directory(), filename) - print("downloading version", self.version, "from", url, "to", filename) - urllib.request.urlretrieve(url, filepath) - print("downloading finished") - self.unpack_downloaded_file(filename) - - -def main(version=""): - instance = GetCodeFromHttp() - instance.version = version - instance.start() - - -def new_option_parser(): - result = OptionParser() - result.add_option( - "--version", - default="31d117bdc92182073d0941c331f76e95f515bfc6", - dest="version", - help="version number to download", - type="string", - ) - return result - - -if __name__ == "__main__": - options, arguments = new_option_parser().parse_args() - main(**options.__dict__) diff --git a/src/amuse/community/rebound/interface.cc b/src/amuse/community/rebound/interface.cc deleted file mode 100644 index 5abdd65fec..0000000000 --- a/src/amuse/community/rebound/interface.cc +++ /dev/null @@ -1,1005 +0,0 @@ -#include "worker_code.h" - -extern "C" { -#define restrict - -#include "rebound.h" -#include "integrator.h" -#include "integrator_whfast.h" -#include "boundary.h" -#include "gravity.h" -//#include "output.h" -#include "particle.h" -#include "collision.h" -//#include "simulationarchive.h" -} - -#ifdef OPENMP_ENABLED -#include -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include - -typedef struct _particle_location { - struct reb_simulation * code; //= NULL; - struct reb_particle * p;// = NULL; -} particle_location; - -typedef struct _code_state { - reb_simulation * code; - bool has_removal; - bool has_unsorted_massless_particles; - double time_offset; - int subset; - _code_state(reb_simulation * c):code(c),has_removal(false), has_unsorted_massless_particles(false), time_offset(0), subset(0) {} - _code_state(reb_simulation * c, double time_offset, int s):code(c),has_removal(false), has_unsorted_massless_particles(false), time_offset(time_offset),subset(s) {} -} code_state; - - -typedef struct _particle_sort { - int ref_index; - reb_particle* p; - _particle_sort(int i, reb_particle* p):ref_index(i),p(p){} -} particle_sort; -typedef std::vector<_particle_sort> ParticleSortVector; - -static int max_id = 0; - -typedef std::vector ReboundSimulationVector; -static ReboundSimulationVector codes; -static double _time; -static double timestep = 0.0001; - -static inline particle_location get_particle_from_identity(int index_of_the_particle) -{ - particle_location particle = {NULL,NULL}; - - for( ReboundSimulationVector::iterator i = codes.begin(); i != codes.end(); i++) { - code_state cs = *i; - particle.code = cs.code; - particle.p = reb_get_particle_by_hash(particle.code, index_of_the_particle); - if (particle.p != NULL) break; - //*i = cs; - } - return particle; -} - -int get_mass(int index_of_the_particle, double * mass){ - - particle_location particle = get_particle_from_identity(index_of_the_particle); - struct reb_particle* p = particle.p; - //reb_simulation * code = particle.code; - if(p == NULL) {return -1;} - *mass = p->m; - return 0; -} - - -bool sort_particles (particle_sort i,particle_sort j) { - return (i.p->m > j.p->m); -} - -int commit_particles(){ - return 0; -} - -int get_time(int code_index, double * time){ - if(code_index < 0) { - *time = _time; - return 0; - } - if(code_index >= (signed) codes.size()){ - return -10; - } - if(!codes[code_index].code) { - return -11; - } - if(!codes[code_index].code) { - return -11; - } - *time = codes[code_index].code->t; - return 0; -} - -int set_mass(int index_of_the_particle, double mass){ - - particle_location particle = get_particle_from_identity(index_of_the_particle); - struct reb_particle* p = particle.p; - reb_simulation * code = particle.code; - if(p == NULL) {return -1;} - - if(p->m==0){ - if(mass>0){ - int index_old=reb_get_particle_index(p); - if(index_old!=code->N_active){ - struct reb_particle tmp = code->particles[index_old]; - for(int j=index_old; j>code->N_active; j--){ - code->particles[j] = code->particles[j-1]; - } - code->particles[code->N_active] = tmp; - } - code->N_active++; - } - } - else { - if(mass==0){ - int index_old=reb_get_particle_index(p); - code->N_active--; - - if(index_old!=code->N_active){ - struct reb_particle tmp = code->particles[index_old]; - for( int j = index_old; jN_active; j++){ - code->particles[j] = code->particles[j+1]; - } - code->particles[code->N_active] = tmp; - } - } - } - p->m = mass; - return 0; -} - -int get_index_of_first_particle(int * index_of_the_particle){ - return 0; -} - -int get_total_radius(double * radius){ - return 0; -} - -int new_particle(int * index_of_the_particle, double mass, double x, - double y, double z, double vx, double vy, double vz, double radius, int code_index){ - if(code_index < 0 || code_index >= (signed) codes.size()){ - *index_of_the_particle=0; - return -10; - } - uint32_t new_hash = max_id++; - struct reb_particle pt; - pt.x = x; - pt.y = y; - pt.z = z; - pt.vx = vx; - pt.vy = vy; - pt.vz = vz; - pt.m = mass; - pt.r = radius; - pt.hash = new_hash; - reb_add(codes[code_index].code, pt); - //std::cout<<"new particle :"<N_active; - for(int j=codes[code_index].code->N-1;j>N_active;j--){ - codes[code_index].code->particles[j] = codes[code_index].code->particles[j-1]; - } - codes[code_index].code->particles[N_active] = pt; - codes[code_index].code->N_active++; - } - return 0; -} - -int get_total_mass(double * mass){ - return 0; -} -int _evolve_code(double _tmax, code_state * cs); -int evolve_model(double _tmax, int code_index){ - int result = 0; - - reset_stopping_conditions(); - - if(code_index == -1){ - for( ReboundSimulationVector::iterator i = codes.begin(); i != codes.end(); i++) { - code_state cs = *i; - if(cs.code) { - _evolve_code(_tmax, &cs); - } - } - _time = _tmax; - return result; - }else if(code_index < 0 || code_index >= (signed) codes.size()){ - return -10; - } - if(!codes[code_index].code) { - return -11; - } else { - result = _evolve_code(_tmax, &codes[code_index]); - return result; - } -} - - -int _evolve_code(double _tmax, code_state * cs){ - reb_simulation * code = cs->code; - if(!code) {return -1;} - - int error = 0; - int is_collision_detection_enabled = 0; - int is_timeout_detection_enabled = 0; - int is_out_of_box_detection_enabled = 0; - double center_of_mass[3]; - double box_size_squared = out_of_box_parameter*out_of_box_parameter; - - - error = is_stopping_condition_enabled( - COLLISION_DETECTION, - &is_collision_detection_enabled - ); - error = is_stopping_condition_enabled( - TIMEOUT_DETECTION, - &is_timeout_detection_enabled - ); - error = is_stopping_condition_enabled( - OUT_OF_BOX_DETECTION, - &is_out_of_box_detection_enabled - ); - int is_condition_set = 0; - - - // original : rebound_integrate - int exact_finish_time = 1; - double maxR = 0; - //double minD = 0; - //struct timeval tim; - //gettimeofday(&tim, NULL); - //double timing_initial = tim.tv_sec+(tim.tv_usec/1000000.0); - double tmax = _tmax; - code-> dt_last_done = code->dt; - int last_step = 0; - int ret_value = 0; - double ke = 0.0, ke1 = 0.0; - const double dtsign = copysign(1.,code->dt); // Used to determine integration direction - - time_t starttime, currenttime; - time(&starttime); - get_kinetic_energy(cs->subset, &ke); - //printf("Code time: %d , %f -> %f (%f)\n",cs->subset , code->t, tmax, ke); - while(code->t*dtsignN<=0){ - fprintf(stderr,"\n\033[1mError!\033[0m No particles found. Exiting.\n"); - return(1); - } - - reb_step(code); // 0 to not do timing within step - - if ((code->t+code->dt)*dtsign>=tmax*dtsign && exact_finish_time==1){ - reb_integrator_synchronize(code); - code->dt = tmax-code->t; - last_step++; - }else{ - code->dt_last_done = code->dt; - } - if (maxR){ - // Check for escaping particles - const double maxR2 = maxR*maxR; - for (int i=0;iN-code->N_var;i++){ - struct reb_particle p = code->particles[i]; - double r2 = p.x*p.x + p.y*p.y + p.z*p.z; - if (r2>maxR2){ - ret_value = 2; - } - } - } - if (is_collision_detection_enabled){ - // Check for close encounters - for (int i=0;iN-code->N_var;i++){ - struct reb_particle pi = code->particles[i]; - for (int j=0;jparticles[j]; - const double x = pi.x-pj.x; - const double y = pi.y-pj.y; - const double z = pi.z-pj.z; - const double r2 = x*x + y*y + z*z; - - const double rsum = pi.r+pj.r; - if (r2<(rsum*rsum)){ - int stopping_index = next_index_for_stopping_condition(); - if(stopping_index < 0) - { - - } - else - { - set_stopping_condition_info(stopping_index, COLLISION_DETECTION); - set_stopping_condition_particle_index(stopping_index, 0, pi.hash); - set_stopping_condition_particle_index(stopping_index, 1, pj.hash); - } - is_condition_set = 1; - } - } - } - if(is_condition_set) { - break; - } - } - // AMUSE STOPPING CONDITIONS - if (is_out_of_box_detection_enabled) { - int i,k; - for (k = 0; k < 3; k++) { - center_of_mass[k] = 0.0; - } - if(use_center_of_mass_parameter) { - - double total = 0.0; - for (i = 0; i < code->N-code->N_var; i++) { - double mass = code->particles[i].m; - center_of_mass[0] += mass * code->particles[i].x; - center_of_mass[1] += mass * code->particles[i].y; - center_of_mass[2] += mass * code->particles[i].z; - - total += mass; - } - for (k = 0; k < 3; k++) { - center_of_mass[k] /= total; - } - } - for (i = 0; i < code->N-code->N_var; i++) { - - double dx = (code->particles[i].x - center_of_mass[0]); - double dy = (code->particles[i].y - center_of_mass[1]); - double dz = (code->particles[i].z - center_of_mass[2]); - double sqr_distance_wrt_origin = 0.0; - sqr_distance_wrt_origin += dx*dx; - sqr_distance_wrt_origin += dy*dy; - sqr_distance_wrt_origin += dz*dz; - - if (sqr_distance_wrt_origin > box_size_squared) { - is_condition_set = 1; - int stopping_index = next_index_for_stopping_condition(); - if(stopping_index >= 0){ - set_stopping_condition_info(stopping_index, OUT_OF_BOX_DETECTION); - set_stopping_condition_particle_index(stopping_index, 0, code->particles[i].hash); - } else { - printf("Run out of storable out of box events\n"); - } - } - } - if(is_condition_set) { - break; - } - } - // AMUSE STOPPING CONDITIONS - if(is_timeout_detection_enabled) { - time(¤ttime); - if((currenttime - starttime) > timeout_parameter) { - int stopping_index = next_index_for_stopping_condition(); - set_stopping_condition_info(stopping_index, TIMEOUT_DETECTION); - break; - } - } - } - reb_integrator_synchronize(code); - code->dt = code->dt_last_done; - get_kinetic_energy(cs->subset, &ke1); - //printf("Code time: %d , %f -> %f (%f,%f)\n",cs->subset , code->t, tmax, ke1, (ke1-ke)/ke); - //gettimeofday(&tim, NULL); - //double timing_final = tim.tv_sec+(tim.tv_usec/1000000.0); - //double timing = timing_final-timing_initial; - return ret_value; -} - -int set_eps2(double epsilon_squared, int code_index){ - if(code_index < 0 || code_index >= (signed) codes.size()){ - return -10; - } - if(!codes[code_index].code) { - return -11; - } - reb_simulation * code = codes[code_index].code; - - code->softening = sqrt(epsilon_squared); - return 0; -} - -int get_begin_time(double * time){ - return 0; -} - -int get_eps2(int code_index, double * epsilon_squared){ - if(code_index < 0 || code_index >= (signed) codes.size()){ - return -10; - } - if(!codes[code_index].code) { - return -11; - } - reb_simulation * code = codes[code_index].code; - - *epsilon_squared = code->softening * code->softening; - return 0; -} - -int get_index_of_next_particle(int index_of_the_particle, - int * index_of_the_next_particle){ - return 0; -} - -int delete_particle(int index_of_the_particle){ - return 0; -} - -int _delete_particle(int index_of_the_particle, int code_index){ - int keepSorted = 1; - if(code_index < 0 || code_index >= (signed) codes.size()){ - return -10; - } - reb_remove_by_hash(codes[code_index].code, index_of_the_particle, keepSorted); - return 0; -} - -int get_potential(int index_of_the_particle, double * potential){ - return 0; -} - -int synchronize_model(){ - return 0; -} - -int set_state(int index_of_the_particle, double mass, double x, double y, - double z, double vx, double vy, double vz, double radius){ - particle_location particle = get_particle_from_identity(index_of_the_particle); - struct reb_particle* p = particle.p; - reb_simulation * code = particle.code; - if(p == NULL) {return -1;} - - p->x = x; - p->y = y; - p->z = z; - p->vx = vx; - p->vy = vy; - p->vz = vz; - - p->m = mass; - p->r = radius; - if (code->integrator == reb_simulation::REB_INTEGRATOR_JANUS){ - code->ri_janus.recalculate_integer_coordinates_this_timestep = 1; - } - return 0; -} - -int get_state(int index_of_the_particle, double * mass, double * x, - double * y, double * z, double * vx, double * vy, double * vz, - double * radius, int * subset){ - - particle_location particle = get_particle_from_identity(index_of_the_particle); - struct reb_particle* p = particle.p; - //reb_simulation * code = particle.code; - if(p == NULL) {return -1;} - - *x = p->x; - *y = p->y; - *z = p->z; - *vx = p->vx; - *vy = p->vy; - *vz = p->vz; - *mass = p->m; - -#ifndef COLLISIONS_NONE - *radius = p->r; -#else - *radius = 0; -#endif // COLLISIONS_NONE - for( ReboundSimulationVector::iterator i = codes.begin(); i != codes.end(); i++) { - code_state cs = *i; - p = reb_get_particle_by_hash(cs.code, index_of_the_particle); - if (p != NULL) { - *subset = cs.subset; - break; - } - } - return 0; -} - -int get_time_step(int code_index, double * time_step){ - if(code_index < 0 || code_index >= (signed) codes.size()){ - return -10; - } - if(code_index == 0) { - *time_step = timestep; - return 0; - } - if(!codes[code_index].code) { - return -11; - } - reb_simulation * code = codes[code_index].code; - *time_step = code->dt; - return 0; -} - -int set_time_step(double time_step, int code_index){ - if(code_index < 0 || code_index >= (signed) codes.size()){ - return -10; - } - if(code_index == 0) { - timestep = time_step; - } else if(!codes[code_index].code) { - return -11; - } - if(codes[code_index].code) { - reb_simulation * code = codes[code_index].code; - code->dt = time_step; - } - return 0; -} - -int recommit_particles(){ - return commit_particles(); -} - -int get_kinetic_energy(int code_index, double * kinetic_energy){ - if(code_index < 0 || code_index >= (signed) codes.size()){ - return -10; - } - if(!codes[code_index].code) { - return -11; - } - reb_simulation * code = codes[code_index].code; - - double e_kin = 0.; - for (int i=0;iN-code->N_var;i++){ - struct reb_particle pi = code->particles[i]; - e_kin += 0.5 * pi.m * (pi.vx*pi.vx + pi.vy*pi.vy + pi.vz*pi.vz); - } - *kinetic_energy = e_kin; - return 0; -} - -int get_number_of_particles(int * number_of_particles){ - int N = 0; - for( ReboundSimulationVector::iterator i = codes.begin(); i != codes.end(); i++) { - code_state cs = *i; - N += cs.code->N; - } - - *number_of_particles = N; - return 0; -} - -int get_center_of_mass_position(double * x, double * y, double * z){ - return 0; -} - -int get_center_of_mass_velocity(double * vx, double * vy, double * vz){ - return 0; -} - -int get_radius(int index_of_the_particle, double * radius){ - - particle_location particle = get_particle_from_identity(index_of_the_particle); - struct reb_particle* p = particle.p; - //reb_simulation * code = particle.code; - if(p == NULL) {return -1;} - //if(loc.index < 0) {*radius = 0; return -1;} - *radius = p->r; - return 0; -} - -int get_subset(int index_of_the_particle, int * subset){ - //FIXME - struct reb_particle* p=NULL; - for( ReboundSimulationVector::iterator i = codes.begin(); i != codes.end(); i++) { - code_state cs = *i; - p = reb_get_particle_by_hash(cs.code, index_of_the_particle); - if (p != NULL) { - *subset = cs.subset; - break; - } - } - if(p == NULL) {return -1;} - //if(loc.index < 0) {*subset = -2; return -1;} - return 0; -} - -int set_begin_time(double time){ - return 0; -} - -int set_radius(int index_of_the_particle, double radius){ - - particle_location particle = get_particle_from_identity(index_of_the_particle); - struct reb_particle* p = particle.p; - //reb_simulation * code = particle.code; - if(p == NULL) {return -1;} - p->r = radius; - return 0; -} - -int set_subset(int index_of_the_particle, int subset){ - - struct reb_particle* p=NULL; - for( ReboundSimulationVector::iterator i = codes.begin(); i != codes.end(); i++) { - code_state cs = *i; - p = reb_get_particle_by_hash(cs.code, index_of_the_particle); - if (p != NULL) { - if(cs.subset != subset) {return -2;} - break; - } - } - if(p == NULL) {return -1;} - - return 0; -} - -int cleanup_code() { - for( ReboundSimulationVector::iterator i = codes.begin(); i != codes.end(); i++) { - code_state cs = *i; - if(cs.code){ - reb_remove_all(cs.code); - reb_free_simulation(cs.code); - cs.code = 0; - *i = cs; - } - } - codes.clear(); - max_id = 0; - timestep = 0.0001; - _time=0; - return 0; -} - -int recommit_parameters(){ - return 0; -} - -int initialize_code(){ - initialize_stopping_conditions(); - max_id = 0; - timestep = 0.0001; - _time=0; -#ifdef OPENMP_ENABLED - int nt = omp_get_max_threads(); - omp_set_num_threads(nt); -#endif - reb_simulation * code = reb_create_simulation(); - codes.push_back(code_state(code)); - code->integrator = reb_simulation::REB_INTEGRATOR_IAS15; - code->N_active = 0; - // AMUSE STOPPING CONDITIONS SUPPORT - set_support_for_condition(COLLISION_DETECTION); - set_support_for_condition(TIMEOUT_DETECTION); - //set_support_for_condition(NUMBER_OF_STEPS_DETECTION); - set_support_for_condition(OUT_OF_BOX_DETECTION); - - return 0; -} - -int get_potential_energy(int code_index, double * potential_energy){ - if(code_index < 0 || code_index >= (signed) codes.size()){ - return -10; - } - if(!codes[code_index].code) { - return -11; - } - reb_simulation * code = codes[code_index].code; - double e_pot = 0.; - for (int i=0;iN-code->N_var;i++){ - struct reb_particle pi = code->particles[i]; - for (int j=i+1;jN-code->N_var;j++){ - struct reb_particle pj = code->particles[j]; - double dx = pi.x - pj.x; - double dy = pi.y - pj.y; - double dz = pi.z - pj.z; - e_pot -= code->G*pj.m*pi.m/sqrt(dx*dx + dy*dy + dz*dz); - } - } - *potential_energy = e_pot; - return 0; -} - -int get_velocity(int index_of_the_particle, double * vx, double * vy, - double * vz){ - - particle_location particle = get_particle_from_identity(index_of_the_particle); - struct reb_particle* p = particle.p; - //reb_simulation * code = particle.code; - if(p == NULL) {return -1;} - *vx = p->vx; - *vy = p->vy; - *vz = p->vz; - - return 0; -} - -int get_position(int index_of_the_particle, double * x, double * y, - double * z){ - - particle_location particle = get_particle_from_identity(index_of_the_particle); - struct reb_particle* p = particle.p; - //reb_simulation * code = particle.code; - if(p == NULL) {return -1;} - *x = p->x; - *y = p->y; - *z = p->z; - return 0; -} - - -int set_position(int index_of_the_particle, double x, double y, double z){ - particle_location particle = get_particle_from_identity(index_of_the_particle); - struct reb_particle* p = particle.p; - reb_simulation * code = particle.code; - if(p == NULL) {return -1;} - p->x = x; - p->y = y; - p->z = z; - if (code->integrator == reb_simulation::REB_INTEGRATOR_JANUS){ - code->ri_janus.recalculate_integer_coordinates_this_timestep = 1; - } - return 0; -} - -int get_acceleration(int index_of_the_particle, double * ax, double * ay, - double * az){ - particle_location particle = get_particle_from_identity(index_of_the_particle); - struct reb_particle* p = particle.p; - //reb_simulation * code = particle.code; - if(p == NULL) {return -1;} - *ax = p->ax; - *ay = p->ay; - *az = p->az; - return 0; -} - -int commit_parameters(){ - return 0; -} - -int set_velocity(int index_of_the_particle, double vx, double vy, - double vz){ - particle_location particle = get_particle_from_identity(index_of_the_particle); - struct reb_particle* p = particle.p; - reb_simulation * code = particle.code; - if(p == NULL) {return -1;} - p->vx = vx; - p->vy = vy; - p->vz = vz; - if (code->integrator == reb_simulation::REB_INTEGRATOR_JANUS){ - code->ri_janus.recalculate_integer_coordinates_this_timestep = 1; - } - return 0; -} - -int new_subset(int * index, double time_offset) { - reb_simulation * code = reb_create_simulation(); - reb_integrator_reset(code); - code->dt = timestep; - if(time_offset < 0) {time_offset = _time;} - code->integrator = reb_simulation::REB_INTEGRATOR_IAS15; - code->N_active = 0; - code->t = time_offset; - codes.push_back(code_state(code, time_offset, codes.size())); - *index = codes.size() - 1; - //printf("Code time: %d , %f\n",*index , code->t); - return 0; -} -int stop_subset(int code_index) { - if(code_index < 0 || code_index >= (signed) codes.size()){ - return -10; - } - if(!codes[code_index].code) { - return -11; - } - code_state cs = codes[code_index]; - if(cs.code) { - reb_simulation * code = cs.code; - reb_remove_all(code); - reb_free_simulation(code); - cs.code = 0; - codes[code_index] = cs; - } - return 0; -} -int _set_integrator(int value, int code_index){ - if(code_index < 0 || code_index >= (signed) codes.size()){ - return -10; - } - if(!codes[code_index].code) { - return -11; - } - reb_simulation * code = codes[code_index].code; - - switch(value){ - case 0: - code->integrator = reb_simulation::REB_INTEGRATOR_IAS15; - break; - case 1: - code->integrator = reb_simulation::REB_INTEGRATOR_WHFAST; - break; - case 2: - code->integrator = reb_simulation::REB_INTEGRATOR_SEI; - break; - case 3: - // This integrator was removed - return -1; - break; - case 4: - code->integrator = reb_simulation::REB_INTEGRATOR_LEAPFROG; - break; - case 5: - code->integrator = reb_simulation::REB_INTEGRATOR_HERMES; - break; - case 6: - code->integrator = reb_simulation::REB_INTEGRATOR_WHFASTHELIO; - break; - case 7: - code->integrator = reb_simulation::REB_INTEGRATOR_NONE; - break; - case 8: - code->integrator = reb_simulation::REB_INTEGRATOR_JANUS; - break; - default: - code->integrator = reb_simulation::REB_INTEGRATOR_NONE; - return -1; - break; - - } - return 0; -} - -int _get_integrator(int code_index, int * value){ - - if(code_index < 0 || code_index >= (signed) codes.size()){ - return -10; - } - if(!codes[code_index].code) { - return -11; - } - reb_simulation * code = codes[code_index].code; - - *value = code->integrator; - return 0; -} - -int _set_solver(int value, int code_index){ - if(code_index < 0 || code_index >= (signed) codes.size()){ - return -10; - } - if(!codes[code_index].code) { - return -11; - } - reb_simulation * code = codes[code_index].code; - - switch(value){ - case 0: - code->gravity = reb_simulation::REB_GRAVITY_NONE; - break; - case 1: - code->gravity = reb_simulation::REB_GRAVITY_BASIC; - break; - case 2: - code->gravity = reb_simulation::REB_GRAVITY_COMPENSATED; - break; - case 3: - code->gravity = reb_simulation::REB_GRAVITY_TREE; - break; - default: - code->gravity = reb_simulation::REB_GRAVITY_NONE; - return -1; - break; - - } - return 0; -} - -int _get_solver(int code_index, int * value){ - - if(code_index < 0 || code_index >= (signed) codes.size()){ - return -10; - } - if(!codes[code_index].code) { - return -11; - } - reb_simulation * code = codes[code_index].code; - - *value = code->gravity; - return 0; -} - -int get_opening_angle2(int code_index, double * opening_angle2){ - if(code_index < 0 || code_index >= (signed) codes.size()){ - return -10; - } - if(!codes[code_index].code) { - return -11; - } - reb_simulation * code = codes[code_index].code; - *opening_angle2 = code->opening_angle2; - return 0; -} - -int set_opening_angle2(double opening_angle2, int code_index){ - if(code_index < 0 || code_index >= (signed) codes.size()){ - return -10; - } - if(!codes[code_index].code) { - return -11; - } - reb_simulation * code = codes[code_index].code; - code->opening_angle2 = opening_angle2; - return 0; -} - -int _set_boundary(int value, int code_index){ - if(code_index < 0 || code_index >= (signed) codes.size()){ - return -10; - } - if(!codes[code_index].code) { - return -11; - } - reb_simulation * code = codes[code_index].code; - - switch(value){ - case 0: - code->boundary = reb_simulation::REB_BOUNDARY_NONE; - break; - case 1: - code->boundary = reb_simulation::REB_BOUNDARY_OPEN; - break; - case 2: - code->boundary = reb_simulation::REB_BOUNDARY_PERIODIC; - break; - case 3: - code->boundary = reb_simulation::REB_BOUNDARY_SHEAR; - break; - default: - code->boundary = reb_simulation::REB_BOUNDARY_NONE; - return -1; - break; - - } - return 0; -} - -int _get_boundary(int code_index, int * value){ - - if(code_index < 0 || code_index >= (signed) codes.size()){ - return -10; - } - if(!codes[code_index].code) { - return -11; - } - reb_simulation * code = codes[code_index].code; - - *value = code->boundary; - return 0; -} - -int get_boundary_size(int code_index, double * boundary_size){ - if(code_index < 0 || code_index >= (signed) codes.size()){ - return -10; - } - if(!codes[code_index].code) { - return -11; - } - reb_simulation * code = codes[code_index].code; - - *boundary_size = code->root_size; - return 0; -} - -int set_boundary_size(double boundary_size, int code_index){ - if(code_index < 0 || code_index >= (signed) codes.size()){ - return -10; - } - if(!codes[code_index].code) { - return -11; - } - reb_simulation * code = codes[code_index].code; - reb_configure_box(code,boundary_size,1,1,1); - return 0; -} - diff --git a/src/amuse/community/rebound/interface.py b/src/amuse/community/rebound/interface.py index 0ce390818d..e3eceac2a3 100644 --- a/src/amuse/community/rebound/interface.py +++ b/src/amuse/community/rebound/interface.py @@ -1,982 +1,7 @@ -from amuse.community import * -from amuse.community.interface.gd import GravitationalDynamicsInterface -from amuse.community.interface.gd import GravitationalDynamics -from amuse.community.interface.gd import SinglePointGravityFieldInterface -from amuse.community.interface.gd import GravityFieldCode +from amuse.support.import_helper import load_code -class ReboundInterface( - CodeInterface, - LiteratureReferencesMixIn, - GravitationalDynamicsInterface, - StoppingConditionInterface, - # SinglePointGravityFieldInterface -): - """ - REBOUND - An open-source multi-purpose N-body code +ReboundInterface = load_code("rebound", "ReboundInterface") +Rebound = load_code("rebound", "Rebound") - .. [#] ADS:2012A&A...537A.128R (Rein, H., Liu, S.F., *Astronomy and Astrophysics* , **Volume 537**, A128 (2012)) - - For different integrators, cite: - .. [#] ADS:2015MNRAS.446.1424R (IAS15: Rein, H., Spiegel, D.S., *MNRAS* , **Volume 446**, Issue 2, p.1424-1437 (2015)) - .. [#] ADS:2015MNRAS.452..376R (WHFast: Rein, H., Tamayo, D., *MNRAS* , **Volume 452**, Issue 1, p.376-388 (2015)) - ... Hermes: Silburt, A., et al., in prep. - .. [#] ADS:2011MNRAS.415.3168R (SEI: Rein, H., Tremaine, S., *MNRAS* , **Volume 415**, Issue 4, p.3168-3176 (2011)) - .. [#] ADS:2017MNRAS.467.2377R (JANUS: Rein, H., Tamayo, D., *arXiv* , 1704.07715 (2017)) - - """ - - include_headers = ["worker_code.h", "stopcond.h"] - - def __init__(self, **options): - CodeInterface.__init__(self, name_of_the_worker="rebound_worker", **options) - LiteratureReferencesMixIn.__init__(self) - - @legacy_function - def new_particle(): - """ - Define a new particle in the stellar dynamics code. The particle is initialized with the provided - mass, radius, position and velocity. This function returns an index that can be used to refer - to this particle. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - "index_of_the_particle", - dtype="int32", - direction=function.OUT, - description=""" - An index assigned to the newly created particle. - This index is supposed to be a local index for the code - (and not valid in other instances of the code or in other codes) - """, - ) - - function.addParameter( - "mass", - dtype="float64", - direction=function.IN, - description="The mass of the particle", - ) - function.addParameter( - "x", - dtype="float64", - direction=function.IN, - description="The initial position vector of the particle", - ) - function.addParameter( - "y", - dtype="float64", - direction=function.IN, - description="The initial position vector of the particle", - ) - function.addParameter( - "z", - dtype="float64", - direction=function.IN, - description="The initial position vector of the particle", - ) - function.addParameter( - "vx", - dtype="float64", - direction=function.IN, - description="The initial velocity vector of the particle", - ) - function.addParameter( - "vy", - dtype="float64", - direction=function.IN, - description="The initial velocity vector of the particle", - ) - function.addParameter( - "vz", - dtype="float64", - direction=function.IN, - description="The initial velocity vector of the particle", - ) - function.addParameter( - "radius", - dtype="float64", - direction=function.IN, - description="The radius of the particle", - default=0, - ) - function.addParameter( - "subset", - dtype="int32", - direction=function.IN, - description="The subset index of the particle (defaults to 0, use new_subset for higher indices)", - default=0, - ) - function.result_type = "int32" - function.result_doc = """ 0 - OK - particle was created and added to the model - -1 - ERROR - particle could not be created""" - return function - - def delete_particle(self, index_of_the_particle, code_index=0): - return self._delete_particle(index_of_the_particle, code_index) - - @legacy_function - def _delete_particle(): - """ - Delete a particle. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - "index_of_the_particle", - dtype="int32", - direction=function.IN, - description="Index of the particle", - ) - function.addParameter( - "code_index", - dtype="int32", - direction=function.IN, - description="Index of the code in rebound", - default=0, - ) - function.result_type = "int32" - function.result_doc = """ 0 - OK - particle was deleted - -1 - ERROR - particle not deleted""" - return function - - @legacy_function - def _set_integrator(): - function = LegacyFunctionSpecification() - function.addParameter("integrator_name", dtype="i", direction=function.IN) - function.addParameter( - "code_index", - dtype="int32", - direction=function.IN, - description="Index of the code in rebound", - default=0, - ) - function.result_type = "int32" - function.can_handle_array = False - return function - - @legacy_function - def _get_integrator(): - function = LegacyFunctionSpecification() - function.addParameter( - "code_index", - dtype="int32", - direction=function.IN, - description="Index of the code in rebound", - default=0, - ) - function.addParameter("integrator_name", dtype="i", direction=function.OUT) - function.result_type = "int32" - function.can_handle_array = False - return function - - INTEGRATORS = { - "ias15": 0, - "whfast": 1, - "sei": 2, - "leapfrog": 4, - "hermes": 5, - "whfast-helio": 6, - "none": 7, - "janus": 8, - } - - def set_integrator(self, name, code_index=0): - return self._set_integrator(self.INTEGRATORS[name], code_index) - - def get_integrator(self, code_index=0): - value, error = self._get_integrator(code_index) - for key, index in self.INTEGRATORS.items(): - if value == index: - return key - return "none" - - @legacy_function - def _set_solver(): - function = LegacyFunctionSpecification() - function.addParameter("solver_name", dtype="i", direction=function.IN) - function.addParameter( - "code_index", - dtype="int32", - direction=function.IN, - description="Index of the code in rebound", - default=0, - ) - function.result_type = "int32" - function.can_handle_array = False - return function - - @legacy_function - def _get_solver(): - function = LegacyFunctionSpecification() - function.addParameter( - "code_index", - dtype="int32", - direction=function.IN, - description="Index of the code in rebound", - default=0, - ) - function.addParameter("solver_name", dtype="i", direction=function.OUT) - function.result_type = "int32" - function.can_handle_array = False - return function - - SOLVERS = {"none": 0, "basic": 1, "compensated": 2, "tree": 3} - - def set_solver(self, name, code_index=0): - return self._set_solver(self.SOLVERS[name], code_index) - - def get_solver(self, code_index=0): - value, error = self._get_solver(code_index) - for key, index in self.SOLVERS.items(): - if value == index: - return key - return "none" - - @legacy_function - def get_opening_angle2(): - function = LegacyFunctionSpecification() - function.addParameter( - "code_index", - dtype="int32", - direction=function.IN, - description="Index of the code in rebound", - default=0, - ) - function.addParameter( - "opening_angle2", - dtype="float64", - direction=function.OUT, - description="theta, the opening angle for building the tree: between 0 and 1", - ) - function.result_type = "int32" - return function - - @legacy_function - def set_opening_angle2(): - function = LegacyFunctionSpecification() - function.addParameter( - "opening_angle2", - dtype="float64", - direction=function.IN, - description="theta, the opening angle for building the tree: between 0 and 1", - ) - function.addParameter( - "code_index", - dtype="int32", - direction=function.IN, - description="Index of the code in rebound", - default=0, - ) - function.result_type = "int32" - return function - - @legacy_function - def get_eps2(): - function = LegacyFunctionSpecification() - """ - Get epsilon^2, a softening parameter for gravitational potentials with point particles. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "code_index", - dtype="int32", - direction=function.IN, - description="Index of the code in rebound", - default=0, - ) - function.addParameter( - "epsilon_squared", - dtype="float64", - direction=function.OUT, - description="epsilon^2, a softening parameter for gravitational potentials with point particles", - unit=nbody_system.length * nbody_system.length, - ) - function.result_type = "int32" - function.result_doc = """ - 0 - OK - the parameter was retrieved - -1 - ERROR - could not retrieve parameter - """ - return function - - @legacy_function - def set_eps2(): - """ - Set epsilon^2, a softening parameter for gravitational potentials with point particles. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "epsilon_squared", - dtype="float64", - direction=function.IN, - description="epsilon^2, a softening parameter for gravitational potentials with point particles", - unit=nbody_system.length * nbody_system.length, - ) - function.addParameter( - "code_index", - dtype="int32", - direction=function.IN, - description="Index of the code in rebound", - default=0, - ) - function.result_type = "int32" - function.result_doc = """ - 0 - OK - the parameter was set - -1 - ERROR - could not set parameter - """ - return function - - @legacy_function - def _set_boundary(): - function = LegacyFunctionSpecification() - function.addParameter("boundary_name", dtype="i", direction=function.IN) - function.addParameter( - "code_index", - dtype="int32", - direction=function.IN, - description="Index of the code in rebound", - default=0, - ) - function.result_type = "int32" - function.can_handle_array = False - return function - - @legacy_function - def _get_boundary(): - function = LegacyFunctionSpecification() - function.addParameter( - "code_index", - dtype="int32", - direction=function.IN, - description="Index of the code in rebound", - default=0, - ) - function.addParameter("boundary_name", dtype="i", direction=function.OUT) - function.result_type = "int32" - function.can_handle_array = False - return function - - BOUNDARIES = {"none": 0, "open": 1, "periodic": 2, "shear": 3} - - def set_boundary(self, name, code_index=0): - return self._set_boundary(self.BOUNDARIES[name], code_index) - - def get_boundary(self, code_index=0): - value, error = self._get_boundary(code_index) - for key, index in self.BOUNDARIES.items(): - if value == index: - return key - return "none" - - @legacy_function - def get_boundary_size(): - function = LegacyFunctionSpecification() - """ - Get the size of the boundaries. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "code_index", - dtype="int32", - direction=function.IN, - description="Index of the code in rebound", - default=0, - ) - function.addParameter( - "boundary_size", - dtype="float64", - direction=function.OUT, - description="boundary size", - unit=nbody_system.length, - ) - function.result_type = "int32" - function.result_doc = """ - 0 - OK - the parameter was retrieved - -1 - ERROR - could not retrieve parameter - """ - return function - - @legacy_function - def set_boundary_size(): - """ - Set size of the boundaries. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "boundary_size", - dtype="float64", - direction=function.IN, - description="boundary size", - unit=nbody_system.length, - ) - function.addParameter( - "code_index", - dtype="int32", - direction=function.IN, - description="Index of the code in rebound", - default=0, - ) - function.result_type = "int32" - function.result_doc = """ - 0 - OK - the parameter was set - -1 - ERROR - could not set parameter - """ - return function - - @legacy_function - def set_time_step(): - """ - Update timestep. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "timestep", dtype="float64", direction=function.IN, description="timestep" - ) - function.addParameter( - "code_index", - dtype="int32", - direction=function.IN, - description="Index of the code in rebound", - default=0, - ) - function.result_type = "int32" - function.result_doc = """ - 0 - OK - timestep was changed - """ - return function - - @legacy_function - def get_potential_energy(): - """ - Retrieve the current potential energy of the model - """ - function = LegacyFunctionSpecification() - function.addParameter( - "code_index", - dtype="int32", - direction=function.IN, - description="Index of the code in rebound", - default=0, - ) - function.addParameter( - "potential_energy", - dtype="float64", - direction=function.OUT, - description="The potential energy of the model", - ) - function.result_type = "int32" - function.result_doc = """ - 0 - OK - Current value of the potential energy was set - -1 - ERROR - Kinetic potential could not be provided - """ - return function - - @legacy_function - def get_kinetic_energy(): - """ - Retrieve the current kinetic energy of the model - """ - function = LegacyFunctionSpecification() - function.addParameter( - "code_index", - dtype="int32", - direction=function.IN, - description="Index of the code in rebound", - default=0, - ) - function.addParameter( - "kinetic_energy", - dtype="float64", - direction=function.OUT, - description="The kinetic energy of the model", - ) - function.result_type = "int32" - function.result_doc = """ - 0 - OK - Current value of the kinetic energy was set - -1 - ERROR - Kinetic energy could not be provided - """ - return function - - @legacy_function - def evolve_model(): - """ - Evolve the model until the given time, or until a stopping condition is set. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "time", - dtype="float64", - direction=function.IN, - description="Model time to evolve the code to. The model will be " - "evolved until this time is reached exactly or just after.", - ) - function.addParameter( - "code_index", - dtype="int32", - direction=function.IN, - description="Index of the code in rebound (default -1, evolve all systems)", - default=-1, - ) - function.result_type = "int32" - return function - - @legacy_function - def get_time(): - """ - Retrieve the model time. This time should be close to the end time specified - in the evolve code. Or, when a collision was detected, it will be the - model time of the collision. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "code_index", - dtype="int32", - direction=function.IN, - description="Index of the code in rebound", - default=0, - ) - function.addParameter( - "time", - dtype="float64", - direction=function.OUT, - description="The current model time", - ) - function.result_type = "int32" - function.result_doc = """ - 0 - OK - Current value of the time was retrieved - -1 - ERROR - The code does not have support for querying the time - """ - return function - - @legacy_function - def get_time_step(): - """ - Retrieve the model timestep. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "code_index", - dtype="int32", - direction=function.IN, - description="Index of the code in rebound", - default=0, - ) - function.addParameter( - "time_step", - dtype="float64", - direction=function.OUT, - description="The current model timestep", - ) - function.result_type = "int32" - function.result_doc = """ - 0 - OK - Current value of the time step was retrieved - -1 - ERROR - The code does not have support for querying the time - """ - return function - - @legacy_function - def new_subset(): - """ - Create a new particle subset (and corresponding code). This subset will evolve seperately from others. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - "index_of_the_subset", - dtype="int32", - direction=function.OUT, - description=""" - An index assigned to the newly created subset - """, - ) - - function.addParameter( - "time_offset", - dtype="float64", - direction=function.IN, - description="Time of the system (defaults to the current model time)", - default=-1, - ) - function.result_type = "int32" - function.result_doc = """ 0 - OK - code was created - -1 - ERROR - code could not be created""" - return function - - @legacy_function - def get_state(): - """ - Retrieve the current state of a particle. The *minimal* information of a stellar - dynamics particle (mass, radius, position and velocity) is returned. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - "index_of_the_particle", - dtype="int32", - direction=function.IN, - description="Index of the particle to get the state from. This index must have been returned by an earlier call to :meth:`new_particle`", - ) - function.addParameter( - "mass", - dtype="float64", - direction=function.OUT, - description="The current mass of the particle", - ) - function.addParameter( - "x", - dtype="float64", - direction=function.OUT, - description="The current position vector of the particle", - ) - function.addParameter( - "y", - dtype="float64", - direction=function.OUT, - description="The current position vector of the particle", - ) - function.addParameter( - "z", - dtype="float64", - direction=function.OUT, - description="The current position vector of the particle", - ) - function.addParameter( - "vx", - dtype="float64", - direction=function.OUT, - description="The current velocity vector of the particle", - ) - function.addParameter( - "vy", - dtype="float64", - direction=function.OUT, - description="The current velocity vector of the particle", - ) - function.addParameter( - "vz", - dtype="float64", - direction=function.OUT, - description="The current velocity vector of the particle", - ) - function.addParameter( - "radius", - dtype="float64", - direction=function.OUT, - description="The current radius of the particle", - ) - function.addParameter( - "subset", - dtype="int32", - direction=function.OUT, - description="The current subset of the particle", - ) - function.result_type = "int32" - function.result_doc = """ - 0 - OK - particle was removed from the model - -1 - ERROR - particle could not be found - """ - return function - - @legacy_function - def get_subset(): - """ - Retrieve the subset index of a particle. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "index_of_the_particle", - dtype="int32", - direction=function.IN, - description="Index of the particle to get the subset of. This index must have been returned by an earlier call to :meth:`new_particle`", - ) - function.addParameter( - "subset", - dtype="int32", - direction=function.OUT, - description="The current subset of the particle", - ) - function.result_type = "int32" - function.can_handle_array = True - function.result_doc = """ - 0 - OK - particle was found in the model and the information was retreived - -1 - ERROR - particle could not be found - """ - return function - - @legacy_function - def stop_subset(): - """ - Stop a subset code - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - "index_of_the_subset", - dtype="int32", - direction=function.IN, - description=""" - An index assigned to an existing subset - """, - ) - - function.result_type = "int32" - function.result_doc = """ 0 - OK - subset evolving was stopped - -1 - ERROR - subset evolving was already stopped""" - return function - - @legacy_function - def set_subset(): - """ - Retrieve the subset index of a particle. - """ - function = LegacyFunctionSpecification() - function.addParameter( - "index_of_the_particle", - dtype="int32", - direction=function.IN, - description="Index of the particle to get the subset of. This index must have been returned by an earlier call to :meth:`new_particle`", - ) - function.addParameter( - "subset", - dtype="int32", - direction=function.IN, - description="The new subset of the particle, as this is actually read only this will fail if changed!", - ) - function.result_type = "int32" - function.can_handle_array = True - function.result_doc = """ - 0 - OK - particle was found in the model and the information was retreived - -1 - ERROR - particle could not be found - """ - return function - - -class Rebound(GravitationalDynamics, GravityFieldCode): - __interface__ = ReboundInterface - - def __init__(self, convert_nbody=None, **options): - self.stopping_conditions = StoppingConditions(self) - - legacy_interface = self.__interface__(**options) - self.legacy_doc = legacy_interface.__doc__ - - GravitationalDynamics.__init__(self, legacy_interface, convert_nbody, **options) - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - # GravityFieldCode.define_state(self, handler) - self.stopping_conditions.define_state(handler) - - handler.add_method("EDIT", "new_subset") - handler.add_method("RUN", "new_subset") - - def define_parameters(self, handler): - self.stopping_conditions.define_parameters(handler) - # ~ GravitationalDynamics.define_parameters(self, handler) - - handler.add_method_parameter( - "get_time_step", - "set_time_step", - "timestep", - "constant timestep for iteration", - default_value=0.0001 | nbody_system.time, - ) - - handler.add_method_parameter( - "get_integrator", - "set_integrator", - "integrator", - "name of the integrator to use ({0})".format( - sorted(self.INTEGRATORS.keys()) - ), - default_value="ias15", - ) - - handler.add_method_parameter( - "get_solver", - "set_solver", - "solver", - "name of the gravity solver to use ({0})".format( - sorted(self.SOLVERS.keys()) - ), - default_value="compensated", - ) - - handler.add_method_parameter( - "get_eps2", - "set_eps2", - "epsilon_squared", - "smoothing parameter for gravity calculations", - default_value=0.0 | nbody_system.length * nbody_system.length, - ) - - handler.add_method_parameter( - "get_opening_angle2", - "set_opening_angle2", - "opening_angle2", - "opening angle, theta, for building the tree in case of tree solver: between 0 and 1", - default_value=0.5, - ) - - handler.add_method_parameter( - "get_boundary", - "set_boundary", - "boundary", - "name of the boundary type to use ({0}) (required for tree solver)".format( - sorted(self.BOUNDARIES.keys()) - ), - default_value="none", - ) - - handler.add_method_parameter( - "get_boundary_size", - "set_boundary_size", - "boundary_size", - "size of the boundaries, if the type is not none", - default_value=1.0 | nbody_system.length, - ) - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - handler.add_method( - "new_particle", - ( - nbody_system.mass, - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.speed, - nbody_system.speed, - nbody_system.speed, - nbody_system.length, - handler.NO_UNIT, - ), - ( - handler.INDEX, - handler.ERROR_CODE, - ), - ) - - handler.add_method( - "get_potential_energy", - (handler.INDEX,), - ( - nbody_system.mass * nbody_system.length**2 * nbody_system.time**-2, - handler.ERROR_CODE, - ), - ) - - handler.add_method( - "get_kinetic_energy", - (handler.INDEX,), - ( - nbody_system.mass * nbody_system.length**2 * nbody_system.time**-2, - handler.ERROR_CODE, - ), - ) - handler.add_method( - "evolve_model", (nbody_system.time, handler.INDEX), (handler.ERROR_CODE,) - ) - handler.add_method( - "get_time", - (handler.INDEX,), - ( - nbody_system.time, - handler.ERROR_CODE, - ), - ) - - handler.add_method( - "get_time_step", - (handler.INDEX,), - ( - nbody_system.time, - handler.ERROR_CODE, - ), - ) - - handler.add_method( - "set_time_step", - ( - nbody_system.time, - handler.INDEX, - ), - (handler.ERROR_CODE,), - ) - - handler.add_method( - "get_state", - (handler.NO_UNIT,), - ( - nbody_system.mass, - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.speed, - nbody_system.speed, - nbody_system.speed, - nbody_system.length, - handler.NO_UNIT, - handler.ERROR_CODE, - ), - ) - handler.add_method( - "get_subset", (handler.NO_UNIT,), (handler.NO_UNIT, handler.ERROR_CODE) - ) - handler.add_method( - "set_subset", - ( - handler.NO_UNIT, - handler.NO_UNIT, - ), - (handler.ERROR_CODE,), - ) - handler.add_method( - "new_subset", - (nbody_system.time,), - ( - handler.INDEX, - handler.ERROR_CODE, - ), - ) - self.stopping_conditions.define_methods(handler) - - def define_particle_sets(self, handler): - GravitationalDynamics.define_particle_sets(self, handler) - - self.stopping_conditions.define_particle_set(handler) - - handler.add_getter("particles", "get_subset") - handler.add_setter("particles", "set_subset") +Rebound = Rebound diff --git a/src/amuse/community/rebound/patch_files.py b/src/amuse/community/rebound/patch_files.py deleted file mode 100755 index a913ee6fb1..0000000000 --- a/src/amuse/community/rebound/patch_files.py +++ /dev/null @@ -1,115 +0,0 @@ -#!/usr/bin/env python - -import os -import sys -import subprocess -import re - -PATCHESDIR = "patches" -QUILT_PC = ".pc" - - -def execute_command_line(arguments, cwd=None): - process = subprocess.Popen( - arguments, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=cwd - ) - stdoutstring, stderrstring = process.communicate() - returncode = process.poll() - return stdoutstring, stderrstring, returncode - - -def which(executablename): - stdoutstring, stderrstring, returncode = execute_command_line( - ["which", executablename] - ) - if not returncode == 0: - return None - else: - return stdoutstring - - -def is_quilt_installed(): - path = which("quilt") - if path is None: - return False - - stdoutstring, stderrstring, returncode = execute_command_line( - ["quilt", "--version"] - ) - if not returncode == 0: - return False - - version_re = re.compile(r"(\d).(\d\d)") - match = version_re.match(str(stdoutstring)) - if not match: - return False - - return True - - -def apply_patches_using_quilt(): - returncode = subprocess.call(["quilt", "push", "-a"]) - if not returncode == 0: - raise Exception( - "error in applying the patches, please apply by hand using quilt push" - ) - - -def undo_patches_using_quilt(): - returncode = subprocess.call(["quilt", "pop", "-a"]) - if not returncode == 0: - raise Exception( - "error in undoing the patches, please undo by hand using quilt pop -a" - ) - - -def run_patch(patchname, patchfile): - arguments = [ - "patch", - "-p1", - "--backup", - "--prefix={0}/{1}/".format(QUILT_PC, patchname), - "-E", - "-i", - patchfile, - ] - returncode = subprocess.call(arguments) - if not returncode == 0: - raise Exception("could not apply patch {0}".format(patchname)) - - -def apply_patches_using_patch(): - with open("patches/series", "r") as f: - lines = f.readlines() - patches = [x.strip() for x in lines] - patches = [x for x in patches if len(x) > 0] - for patch in patches: - path = os.path.join(PATCHESDIR, patch) - run_patch(patch, path) - - -def main(undo_patches=False): - print("checking if quilt is installed ... ", end=" ") - if not is_quilt_installed(): - print("no") - - if undo_patches: - print("quilt is not installed, cannot undo the patches") - sys.exit(1) - else: - print("applying patches to source code") - apply_patches_using_patch() - else: - print("yes") - - if undo_patches: - print("quilt is install, will try to undo the patches") - undo_patches_using_quilt() - else: - print("applying patches to source code") - apply_patches_using_quilt() - print("all patches applied") - - -if __name__ == "__main__": - main() diff --git a/src/amuse/community/rebound/patches/series b/src/amuse/community/rebound/patches/series deleted file mode 100644 index 8e38ac0fcc..0000000000 --- a/src/amuse/community/rebound/patches/series +++ /dev/null @@ -1,2 +0,0 @@ - -build diff --git a/src/amuse/community/sakura/Makefile b/src/amuse/community/sakura/Makefile deleted file mode 100644 index edf7ec5465..0000000000 --- a/src/amuse/community/sakura/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPICXX ?= mpicxx -MPICC ?= mpicc - -CC = $(MPICC) -CXX = $(MPICXX) - -CXXFLAGS ?= -Wall -g -O2 -CXXFLAGS += -std=c++11 - - -CODELIB = src/libsakura.a -OBJ = interface.o - -all: sakura_worker - -clean: - rm -f *.so *.o *.pyc worker_code.cc worker_code.h - rm -f *~ sakura_worker - make -C src clean - -$(CODELIB): - make -C src all CXXFLAGS="$(CXXFLAGS)" - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py SakuraInterface -o $@ - -worker_code.h: interface.py - $(CODE_GENERATOR) --type=h -i amuse.community.interface.stopping_conditions.StoppingConditionInterface interface.py SakuraInterface -o $@ - -sakura_worker: worker_code.cc worker_code.h $(CODELIB) $(OBJ) - $(MPICXX) $(CXXFLAGS) $(SC_FLAGS) $(LDFLAGS) -I./src $< $(CODELIB) $(OBJ) -o $@ -L./src -lsakura $(SC_CLIBS) - -interface.o: interface.cc - $(MPICXX) $(CXXFLAGS) $(SC_FLAGS) -I./src -c -o $@ $< - diff --git a/src/amuse/community/sakura/interface.cc b/src/amuse/community/sakura/interface.cc deleted file mode 100644 index 8653d77153..0000000000 --- a/src/amuse/community/sakura/interface.cc +++ /dev/null @@ -1,356 +0,0 @@ -//////////////////////////////////////////////////////// -// Includes -//////////////////////////////////////////////////////// -#include "Communicator.h" - -#include -using namespace std; - -#include -#include -#include -#include - -#include "Particle.h" -#include "Particles.h" -#include "Sakura.h" -#include "Diagnostics.h" - -// AMUSE STOPPING CONDITIONS SUPPORT -#include -#include "worker_code.h" - -//////////////////////////////////////////////////////// -// Declare global variables -//////////////////////////////////////////////////////// -int particle_id_counter = 0; -vector data, data_radius; - -double t_begin; -double dt; -double t; - -/*------------- MPI data ---------------------*/ -int mpi_rank = 0; -int mpi_size = 1; -/*------------- MPI data ---------------------*/ - -//////////////////////////////////////////////////////// -// Declare global objects -//////////////////////////////////////////////////////// -string out_directory; -std::map local_index_map; - -Sakura *sakura = NULL; -Communicator *communicator = NULL; - -//////////////////////////////////////////////////////// -// Amuse interface functions -//////////////////////////////////////////////////////// -int initialize_code() { -#ifndef NOMPI - int error = 0; - error = MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank); - if(error) { - cerr << error << endl; - return -1; - } - error = MPI_Comm_size(MPI_COMM_WORLD, &mpi_size); - if(error) { - cerr << error << endl; - return -1; - } -#else - mpi_rank = 0; - mpi_size = 1; -#endif - - communicator = new Communicator(); - communicator->start_mpi(); - - sakura = new Sakura(); - - particle_id_counter = 0; - data.clear(); - data_radius.clear(); - - t_begin = 0; - dt = 1e-3; - t = t_begin; - -#ifndef NOMPI - mpi_setup_stopping_conditions(); -#endif - - return 0; -} - -int new_particle_float64(int *particle_identifier, double mass, - double x, double y, double z, double vx, double vy, double vz, double radius) { - - data.push_back(mass); - data.push_back(x); - data.push_back(y); - data.push_back(z); - data.push_back(vx); - data.push_back(vy); - data.push_back(vz); - - data_radius.push_back(radius); - - *particle_identifier = particle_id_counter; - particle_id_counter++; - return 0; -} -int commit_particles() { - Particles particles; - particles.set_t(t_begin); - particles.set_N(data.size()/7); - particles.set_data(data); - sakura->set_particles(particles); - - int numStar = data.size()/7; - communicator->divide_work(numStar); - - return 0; -} - -int set_t_begin(double tb) { - t_begin = tb; - return 0; -} -int get_t_begin(double *tb) { - *tb = t_begin; - return 0; -} - -int set_dt(double ts) { - dt = ts; - sakura->set_dt(dt); - return 0; -} -int get_dt(double *ts) { - *ts = dt; - return 0; -} - -int set_t(double tt) { - t = tt; - return 0; -} -int get_t(double *tt) { - *tt = t; - return 0; -} - -int commit_parameters() { - return 0; -} -int recommit_parameters() { - return commit_parameters(); -} - -int get_mass(int id, double*mass) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - *mass = data[id*7+0]; - return 0; -} -int set_mass(int id, double mass) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - data[id*7+0] = mass; - return 0; -} -int get_position(int id, double* x, double* y, double* z) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - *x = data[id*7+1]; - *y = data[id*7+2]; - *z = data[id*7+3]; - return 0; -} -int set_position(int id, double x, double y, double z) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - data[id*7+1] = x; - data[id*7+2] = y; - data[id*7+3] = z; - return 0; -} -int get_velocity(int id, double* vx, double* vy, double* vz) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - *vx = data[id*7+4]; - *vy = data[id*7+5]; - *vz = data[id*7+6]; - return 0; -} -int set_velocity(int id, double vx, double vy, double vz) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - data[id*7+4] = vx; - data[id*7+5] = vy; - data[id*7+6] = vz; - return 0; -} -int get_state(int id, double* m, double* x, double* y, double* z, double* vx, double* vy, double* vz, double* radius) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - *radius = data_radius[id]; - *m = data[id*7+0]; - *x = data[id*7+1]; - *y = data[id*7+2]; - *z = data[id*7+3]; - *vx = data[id*7+4]; - *vy = data[id*7+5]; - *vz = data[id*7+6]; - return 0; -} -int set_state(int id, double m, double x, double y, double z, double vx, double vy, double vz, double radius) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - data_radius[id] = radius; - data[id*7+0] = m; - data[id*7+1] = x; - data[id*7+2] = y; - data[id*7+3] = z; - data[id*7+4] = vx; - data[id*7+5] = vy; - data[id*7+6] = vz; - return 0; -} -int get_radius(int id, double* radius){ - if (id < 0 || id >= particle_id_counter){ - return -1; - } - *radius = data_radius[id]; - return 0; -} -int set_radius(int id, double radius) { - if (id < 0 || id >= particle_id_counter){ - return -1; - } - data_radius[id] = radius; - return 0; -} - -int evolve_model(double t_end) { - sakura->set_t(t); - sakura->update_particles(data); - sakura->set_dt(dt); - - sakura->evolve(t_end, *communicator); - - t = t_end; - data = sakura->get_data(); - - return 0; -} -int synchronize_model() { - return 0; -} -int cleanup_code() { - delete sakura; - communicator->stop_mpi(); - delete communicator; - particle_id_counter = 0; - return 0; -} - -int delete_particle(int id) { - return -2; -} -int recommit_particles() { - return -2; -} - -int set_begin_time(double input) { - t_begin = input; - return 0; -} - -int get_begin_time(double * output) { - *output = t_begin; - return 0; -} - -int get_time(double* time){ - *time = t; - return 0; -} - -int set_eps2(double eps2) { - return 0; -} -int get_eps2(double *eps2) { - return 0; -} - -int set_sakura_output_directory(char *output_directory){ - out_directory = std::string(output_directory); - if(out_directory.length() > 0){ - if(*out_directory.rbegin() != '/'){ - out_directory.append("/"); - } - } - return 0; -} -int get_sakura_output_directory(char **output_directory){ - *output_directory = (char*) out_directory.c_str(); - return 0; -} -int get_time_step(double* dtt){ - *dtt = dt; - return 0; -} - -int get_potential(int id, double* pot){return -2;} -int get_gravity_at_point(double m, double x, double y, double z, double* rx, double* ry, double* rz){return -2;} -int get_number_of_particles(int* N){return -2;} -int get_potential_at_point(double m, double x, double y, double z, double* p){return -2;} -int get_total_radius(double* R){return -2;} -int get_index_of_first_particle(int* id){return -2;} -int get_index_of_next_particle(int id, int* idnext){return -2;} - -int get_total_mass(double* M){ - Diagnostics diag; - *M = diag.get_mass(data); - return 0; -} -int get_kinetic_energy(double* ek) { - Diagnostics diag; - *ek = diag.get_kinetic_energy(data); - return 0; -} -int get_potential_energy(double* ep) { - Diagnostics diag; - *ep = diag.get_potential_energy(data); - return 0; -} -int get_center_of_mass_position(double* x , double* y, double* z){ - Diagnostics diag; - vector rcm = diag.get_rcm(data); - *x = rcm[0]; - *y = rcm[1]; - *z = rcm[2]; - return 0; -} -int get_center_of_mass_velocity(double* vx, double* vy, double* vz){ - Diagnostics diag; - vector vcm = diag.get_vcm(data); - *vx = vcm[0]; - *vy = vcm[1]; - *vz = vcm[2]; - return 0; -} - -int get_acceleration(int id, double* ax, double* ay, double* az){return -2;} diff --git a/src/amuse/community/sakura/interface.py b/src/amuse/community/sakura/interface.py index 9307626683..29e5d1b51c 100644 --- a/src/amuse/community/sakura/interface.py +++ b/src/amuse/community/sakura/interface.py @@ -1,180 +1,7 @@ -from amuse.community import * -from amuse.community.interface.gd import GravitationalDynamicsInterface, GravitationalDynamics +from amuse.support.import_helper import load_code -MODULES_MISSING = False -class SakuraInterface(CodeInterface, GravitationalDynamicsInterface, LiteratureReferencesMixIn, - StoppingConditionInterface, CodeWithDataDirectories): - """ - .. [#] ADS:2014MNRAS.440..719G (Goncalves Ferrari, Boekholt, Portegies Zwart; 2014 MNRAS, 440, 719 - """ - include_headers = ['worker_code.h', 'stopcond.h'] - - def __init__(self, **options): - CodeInterface.__init__(self, name_of_the_worker="sakura_worker", **options) - LiteratureReferencesMixIn.__init__(self) - CodeWithDataDirectories.__init__(self) - - @legacy_function - def get_sakura_output_directory(): - function = LegacyFunctionSpecification() - function.addParameter('sakura_output_directory', dtype='string', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_sakura_output_directory(): - function = LegacyFunctionSpecification() - function.addParameter('sakura_output_directory', dtype='string', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def new_particle_float64(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('identity_of_the_particle', dtype='int32', direction=function.OUT) - function.addParameter('mass', dtype='float64', direction=function.IN, description = "The mass of the particle") - function.addParameter('x', dtype='float64', direction=function.IN, description = "The initial position vector of the particle") - function.addParameter('y', dtype='float64', direction=function.IN, description = "The initial position vector of the particle") - function.addParameter('z', dtype='float64', direction=function.IN, description = "The initial position vector of the particle") - function.addParameter('vx', dtype='float64', direction=function.IN, description = "The initial velocity vector of the particle") - function.addParameter('vy', dtype='float64', direction=function.IN, description = "The initial velocity vector of the particle") - function.addParameter('vz', dtype='float64', direction=function.IN, description = "The initial velocity vector of the particle") - function.addParameter('radius', dtype='float64', direction=function.IN, description = "The radius of the particle", default = 0) - function.result_type = 'int32' - return function - - def new_particle(self, mass, x,y,z, vx,vy,vz, radius = 0): - return self.new_particle_float64(mass, x,y,z, vx,vy,vz, radius = radius) - - ############################################## - - @legacy_function - def get_t_begin(): - function = LegacyFunctionSpecification() - function.addParameter('t_begin', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - @legacy_function - def set_t_begin(): - function = LegacyFunctionSpecification() - function.addParameter('t_begin', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_dt(): - function = LegacyFunctionSpecification() - function.addParameter('dt', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - @legacy_function - def set_dt(): - function = LegacyFunctionSpecification() - function.addParameter('dt', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_t(): - function = LegacyFunctionSpecification() - function.addParameter('t', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - @legacy_function - def set_t(): - function = LegacyFunctionSpecification() - function.addParameter('t', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - #################################################### - -class Sakura(GravitationalDynamics): - - def __init__(self, convert_nbody = None, **options): - self.stopping_conditions = StoppingConditions(self) - - legacy_interface = SakuraInterface(**options) - self.legacy_doc = legacy_interface.__doc__ - - GravitationalDynamics.__init__( - self, - legacy_interface, - convert_nbody, - **options - ) - - def initialize_code(self): - result = self.overridden().initialize_code() - self.parameters.sakura_output_directory = self.output_directory - return result - - def define_parameters(self, handler): - #~ GravitationalDynamics.define_parameters(self, handler) - self.stopping_conditions.define_parameters(handler) - - #################################################### - - handler.add_method_parameter( - "get_t_begin", - "set_t_begin", - "begin_time", - "Time at start of simulation", - default_value = 0.0 | nbody_system.time - ) - - handler.add_method_parameter( - "get_dt", - "set_dt", - "timestep", - "Constant time-step size", - default_value = 1e-3 | nbody_system.time - ) - - handler.add_method_parameter( - "get_t", - "set_t", - "current_time", - "Current time", - default_value = 0.0 | nbody_system.time - ) - - handler.add_method_parameter( - "get_sakura_output_directory", - "set_sakura_output_directory", - "sakura_output_directory", - "Output directory", - default_value = "./" - ) - - #################################################### - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - self.stopping_conditions.define_methods(handler) - - #################################################### - - handler.add_method("get_t_begin", (), (nbody_system.time, handler.ERROR_CODE,)) - handler.add_method("set_t_begin", (nbody_system.time, ), (handler.ERROR_CODE,)) - - handler.add_method("get_dt", (), (nbody_system.time, handler.ERROR_CODE,)) - handler.add_method("set_dt", (nbody_system.time, ), (handler.ERROR_CODE,)) - - handler.add_method("get_t", (), (nbody_system.time, handler.ERROR_CODE,)) - handler.add_method("set_t", (nbody_system.time, ), (handler.ERROR_CODE,)) - - #################################################### - - def define_particle_sets(self, handler): - GravitationalDynamics.define_particle_sets(self, handler) - self.stopping_conditions.define_particle_set(handler) - - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - - self.stopping_conditions.define_state(handler) +SakuraInterface = load_code("sakura", "SakuraInterface") +Sakura = load_code("sakura", "Sakura") +Sakura = Sakura diff --git a/src/amuse/community/sakura/src/Communicator.h b/src/amuse/community/sakura/src/Communicator.h deleted file mode 100644 index 01a5ff3da6..0000000000 --- a/src/amuse/community/sakura/src/Communicator.h +++ /dev/null @@ -1,94 +0,0 @@ -#ifndef NOMPI -#include -#endif - -using namespace std; -#include -#include - -#ifndef __Communicator_h -#define __Communicator_h - -class Communicator { - int rank, size; - string name; - - int numStar; - int my_begin, my_end; - vector all_begins, all_numbers; - - int group, sendbuf_rank, recvbuf_sum; - MPI_Group orig_group, new_group1, new_group2; - MPI_Comm new_comm, new_comm1, new_comm2; - - public: - - // constructors - Communicator(); - - // mpi - void start_mpi(); - void stop_mpi(); - - void make_two_groups(); - void free_groups(); - - // work - void divide_work(int numElements); - - // getters - string get_name(); - - int get_rank(); - int get_size(); - int get_my_begin(); - int get_my_end(); - - int get_group(); - MPI_Comm get_comm_world(); - MPI_Comm get_comm_group1(); - MPI_Comm get_comm_group2(); - - // int - void bcast(int &x); - void bcast(vector &x); - void gather(int &x, vector &y); - void gather(vector &x, vector &y); - void join(vector &x, vector &y); - - void bcast(int &x, MPI_Comm comm); - void bcast(vector &x, MPI_Comm comm); - void gather(int &x, vector &y, MPI_Comm comm); - void gather(vector &x, vector &y, MPI_Comm comm); - void join(vector &x, vector &y, MPI_Comm comm); - - // float - void bcast(float &x); - void bcast(vector &x); - void gather(float &x, vector &y); - void gather(vector &x, vector &y); - void join(vector &x, vector &y); - - void bcast(float &x, MPI_Comm comm); - void bcast(vector &x, MPI_Comm comm); - void gather(float &x, vector &y, MPI_Comm comm); - void gather(vector &x, vector &y, MPI_Comm comm); - void join(vector &x, vector &y, MPI_Comm comm); - - // double - void bcast(double &x); - void bcast(vector &x); - void gather(double &x, vector &y); - void gather(vector &x, vector &y); - void join(vector &x, vector &y); - - void bcast(double &x, MPI_Comm comm); - void bcast(vector &x, MPI_Comm comm); - void gather(double &x, vector &y, MPI_Comm comm); - void gather(vector &x, vector &y, MPI_Comm comm); - void join(vector &x, vector &y, MPI_Comm comm); -}; - -#endif - - diff --git a/src/amuse/community/sakura/src/Diagnostics.h b/src/amuse/community/sakura/src/Diagnostics.h deleted file mode 100644 index 76d22e29d0..0000000000 --- a/src/amuse/community/sakura/src/Diagnostics.h +++ /dev/null @@ -1,29 +0,0 @@ -using namespace std; -#include -#include - -#ifndef __Diagnostics_h -#define __Diagnostics_h - -class Diagnostics { - public: - - // Conserved quantities - double get_mass(vector &data); - - vector get_rcm(vector &data); - vector get_vcm(vector &data); - vector get_lcm(vector &data); - - double get_kinetic_energy(vector &data); - double get_potential_energy(vector &data); - double get_energy(vector &data); - - // System properties - double get_virial_radius(vector &data); - double get_harmonic_radius(vector &data); - double get_velocity_disperion(vector &data); -}; - -#endif - diff --git a/src/amuse/community/sakura/src/Interaction.h b/src/amuse/community/sakura/src/Interaction.h deleted file mode 100644 index bc6d8ced9f..0000000000 --- a/src/amuse/community/sakura/src/Interaction.h +++ /dev/null @@ -1,21 +0,0 @@ -#include "Communicator.h" - -using namespace std; -#include -#include - -#include "Particle.h" -#include "Particles.h" - -#ifndef __INTERACTION_H -#define __INTERACTION_H - -class Interaction { - - public: - - Interaction(); - void calc_a(vector &particle, Communicator &communicator); -}; - -#endif diff --git a/src/amuse/community/sakura/src/Particles.cpp b/src/amuse/community/sakura/src/Particles.cpp deleted file mode 100644 index 9e91556330..0000000000 --- a/src/amuse/community/sakura/src/Particles.cpp +++ /dev/null @@ -1,130 +0,0 @@ -#include "Particles.h" - -Particles::Particles() { - t = 0; - N = 0; - particle.clear(); -} -Particles::Particles(vector particle) { - t = 0; - N = particle.size(); - this->particle = particle; -} -Particles::Particles(double t, vector particle) { - this->t = t; - N = particle.size(); - this->particle = particle; -} -Particles::Particles(double t, int N, vector particle) { - this->t = t; - this->N = N; - this->particle = particle; -} - -void Particles::set_t(double t) { - this->t = t; -} -void Particles::set_N(int N) { - this->N = N; -} -void Particles::set_particles(vector particle) { - this->particle = particle; -} -void Particles::set_particle(int index, Particle particle) { - this->particle[index] = particle; -} - -double Particles::get_t() { - return t; -} -int Particles::get_N() { - return N; -} -vector Particles::get_particles() { - return particle; -} -Particle Particles::get_particle(int index) { - return particle[index]; -} -Particle* Particles::get_pointer_to_star(int index) { - return &particle[index]; -} - -void Particles::set_data(vector &data) { - N = data.size()/7; - particle.resize(N); - for(int i=0; i Particles::get_data() { - vector data; - for(int i=0; iparticle.push_back(particle); - N++; -} -void Particles::remove_particle(int index) { - particle.erase(particle.begin()+index); - N--; -} - -void Particles::print() { - cout << t << " " << N << endl; - for(int i=0; i -using namespace std; -#include -#include - -#include "Particle.h" - -#ifndef __PARTICLES_H -#define __PARTICLES_H - -class Particles { - - double t; - int N; - vector particle; - - public: - - Particles(); - Particles(vector particle); - Particles(double t, vector particle); - Particles(double t, int N, vector particle); - - void set_t(double t); - void set_N(int N); - void set_particles(vector particle); - void set_particle(int index, Particle particle); - - double get_t(); - int get_N(); - vector get_particles(); - Particle get_particle(int index); - Particle* get_pointer_to_star(int index); - - void set_data(vector &data); - vector get_data(); - - void add_to_t(double dt); - void add_particle(Particle particle); - void remove_particle(int index); - - void print(); - void print(double t_cpu); - void print(ofstream &odata); - void print(double t_cpu, ofstream &odata); -}; - -#endif - - diff --git a/src/amuse/community/sakura/src/Sakura.h b/src/amuse/community/sakura/src/Sakura.h deleted file mode 100644 index af52ad46a4..0000000000 --- a/src/amuse/community/sakura/src/Sakura.h +++ /dev/null @@ -1,64 +0,0 @@ -#include "Communicator.h" - -#include -#include -#include - -#include "Particle.h" -#include "Particles.h" - -#include "Interaction.h" -#include "Timestep.h" - -#include "Twobody.h" - -#ifndef __SAKURA_H -#define __SAKURA_H - -class Sakura { - - Particles particles; - Interaction interaction; - Timestep timestep; - - Twobody twobody; - - unsigned int Nstep; - double sum_dt, sum_inv_dt; - - public: - - Sakura(); - Sakura(Particles particles); - Sakura(Particles particles, double dt); - - void set_particles(Particles particles); - void set_dt(double dt); - void set_tolerance(double tolerance); - - Particles get_particles(); - Particles* get_pointer_to_particles(); - double get_dt(); - double get_tolerance(); - unsigned int get_Nstep(); - double get_sum_dt(); - double get_sum_inv_dt(); - Particle* get_pointer_to_star(int index); - - void evolve(double t, Communicator &communicator); - void step(vector &particle, double dt, Communicator &communicator); - - void initial_calculations(); - double get_t(); - void set_t(double t); - void step(double dt, Communicator &communicator); - - vector get_coordinates(vector &particle); - void update_particles(vector &particle, vector &coordinates); - void update_particles(vector &coordinates); - vector get_data(); -}; - -#endif - - diff --git a/src/amuse/community/seba/Makefile b/src/amuse/community/seba/Makefile deleted file mode 100644 index 348cfb43c5..0000000000 --- a/src/amuse/community/seba/Makefile +++ /dev/null @@ -1,59 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPICXX ?= mpicxx - -CFLAGS += -Isrc/SeBa/include -Isrc/SeBa/include/star $(SC_FLAGS) -CXXFLAGS += $(CFLAGS) -LDFLAGS += -Lsrc/SeBa/node -Lsrc/SeBa/std -LIBS = -lnode -lstd -lm -# so that seba build process works -unexport CFLAGS CXXFLAGS LDFLAGS - -AMUSE_OBJS = interface.o - -AM_LIBS = -L$(AMUSE_DIR)/lib/amuse_mpi -lamuse_mpi -AM_CFLAGS = -I$(AMUSE_DIR)/lib/amuse_mpi - - -CODELIB = src/SeBa/sstar/libsstar.a src/SeBa/dstar/libdstar.a - - -DOWNLOAD_FROM_WEB = $(PYTHON) ./download.py - -all: seba_worker - -download: - $(RM) -Rf .pc - $(RM) -Rf src - mkdir src - $(DOWNLOAD_FROM_WEB) - -clean: - $(RM) -f *.so *.o *.pyc worker_code.cc worker_code.h - $(RM) *~ worker_code seba_worker - $(RM) -r *.dSYM - @-make -C src/SeBa clean - -distclean: - $(RM) -f *.so *.o *.pyc worker_code.cc worker_code.h - $(RM) *~ worker_code - -$(CODELIB): download src/SeBa - cd src/SeBa; make -C. CXX="$(CXX) $(CXXFLAGS)" - -worker_code.cc: interface.py - CFLAGS="$(CFLAGS)" $(CODE_GENERATOR) --type=c interface.py SeBaInterface -o $@ - -worker_code.h: interface.py - $(CODE_GENERATOR) --type=h -i amuse.community.interface.stopping_conditions.StoppingConditionInterface interface.py SeBaInterface -o $@ - -seba_worker: worker_code.cc worker_code.h $(CODELIB) $(AMUSE_OBJS) - $(MPICXX) $(CXXFLAGS) $(LDFLAGS) $< $(AMUSE_OBJS) $(CODELIB) $(LIBS) -o $@ $(LIBS) $(SC_CLIBS) - -.cc.o: $< - $(CXX) $(CXXFLAGS) -c -o $@ $< diff --git a/src/amuse/community/seba/download.py b/src/amuse/community/seba/download.py deleted file mode 100644 index 14483968be..0000000000 --- a/src/amuse/community/seba/download.py +++ /dev/null @@ -1,106 +0,0 @@ -#!/usr/bin/env python - -import subprocess -import os -import urllib.request -import urllib.parse -import urllib.error -from shutil import which -from optparse import OptionParser - - -class GetCodeFromHttp: - filename_template = "{version}.tar.gz" - name = ["SeBa"] - url_template = [ - "https://github.com/amusecode/SeBa/archive/{version}.tar.gz", - ] - version = [ - "", - ] - - def directory(self): - return os.path.abspath(os.path.dirname(__file__)) - - def src_directory(self): - return os.path.join(self.directory(), 'src') - - def unpack_downloaded_file(self, filename, name, version): - print(f"unpacking {filename}") - arguments = ['tar', '-xf'] - arguments.append(filename) - subprocess.call( - arguments, - cwd=os.path.join(self.src_directory()) - ) - subprocess.call( - [ - 'mv', - f'{name}-{version}', - name - ], - cwd=os.path.join(self.src_directory()) - ) - print("done") - - def start(self): - if os.path.exists('src'): - counter = 0 - while os.path.exists(f'src.{counter}'): - counter += 1 - if counter > 100: - print("too many backup directories") - break - os.rename('src', f'src.{counter}') - - os.mkdir('src') - - for i, url_template in enumerate(self.url_template): - url = url_template.format(version=self.version[i]) - filename = self.filename_template.format(version=self.version[i]) - filepath = os.path.join(self.src_directory(), filename) - print(f"downloading version {self.version[i]} from {url} to {filename}") - if which('wget') is not None: - arguments = ['wget', url] - subprocess.call( - arguments, - cwd=os.path.join(self.src_directory()) - ) - elif which('curl') is not None: - arguments = ['curl', '-L', '-O', url] - subprocess.call( - arguments, - cwd=os.path.join(self.src_directory()) - ) - else: - urllib.request.urlretrieve(url, filepath) - print("downloading finished") - self.unpack_downloaded_file( - filename, self.name[i], self.version[i] - ) - - -def main(seba_version=''): - version = [ - seba_version, - ] - instance = GetCodeFromHttp() - instance.version = version - instance.start() - - -def new_option_parser(): - result = OptionParser() - result.add_option( - "--seba-version", - default='a6f4b64f852249a0b66d52aa6f276be517dccb64', - dest="seba_version", - help="SeBa commit hash to download", - type="string" - ) - return result - - -if __name__ == "__main__": - options, arguments = new_option_parser().parse_args() - main(**options.__dict__) diff --git a/src/amuse/community/seba/interface.cc b/src/amuse/community/seba/interface.cc deleted file mode 100644 index dfbb28af68..0000000000 --- a/src/amuse/community/seba/interface.cc +++ /dev/null @@ -1,1087 +0,0 @@ -#include "single_star.h" -#include "main_sequence.h" -#include "worker_code.h" -#include "double_star.h" - -// AMUSE STOPPING CONDITIONS SUPPORT -#include - -// Get std::xxx to match SeBa commit 382b590 -// #include - -#include - -static node * seba_root = 0; -static node * seba_insertion_point = 0; -static int next_seba_id = 1; -static std::map mapping_from_id_to_node; -static double seba_metallicity = 0.02; -static double seba_time = 0.0; -static stellar_type start_type = Main_Sequence; -static binary_type binary_start_type = Detached; -static bool is_logging_of_evolve_enabled = false; - -local void addbinary( - node *bi, real stellar_time, // bi is binary CM - binary_type type, - real sma, real ecc) -{ - node* od = bi->get_oldest_daughter(); - int id; - if((od->is_low_level_node() && - od->get_younger_sister()->is_low_level_node()) && - (od->get_elder_sister() == NULL) && - bi->n_leaves()==2 ) { - - if (!has_dstar(od)) { - //bi->get_parent()->get_starbase()->get_element_type()!=Double) { - - // if (bi->is_parent() && !bi->is_root()) - story * old_story = bi->get_starbase()->get_star_story(); - bi->get_starbase()->set_star_story(NULL); - - id = bi->get_index(); - - cerr << "Adding binary to "<< id << " at time = " - << stellar_time << endl; - - double_star* new_double - = new_double_star(bi, sma, ecc, stellar_time, id, type); - // synchronize_binary_components(dynamic_cast(double_star*, - // bi->get_starbase())); - - // Give the new binary the old star_story. - - new_double->set_star_story(old_story); - // Assure that SeBa prints zero-age binary parameters (SPZ+FK Febr2025). - new_double->dump("SeBa.data", true); - - } - else { - cerr << "No double_star to node needed in adddouble"<get_starbase()->dump(starev, false); - } - real current_time = ((star*)bi->get_starbase())->get_current_time(); - real time_step = bi->get_starbase()->get_evolve_timestep(); - - while (out_time>current_time+time_step ) { - //stellar_type pre_stellar_type = bi->get_starbase()->get_element_type(); - bi->get_starbase()->evolve_element(current_time+time_step); - /* - stellar_type post_stellar_type = bi->get_starbase()->get_element_type(); - if (post_stellar_type>15 && pre_stellar_type != post_stellar_type) { - //int sn1 = 1; - int is_supernova_detection_enabled; - is_stopping_condition_enabled(SUPERNOVA_DETECTION, - &is_supernova_detection_enabled); - if (is_supernova_detection_enabled) { - real time_of_supernova = bi->get_starbase()->get_current_time(); - cerr << "Star has experienced a supernova:"<get_starbase()->set_relative_age(time_of_supernova); - cerr << "Relative age="<get_starbase()->get_relative_age()<get_starbase()->evolve_element(current_time+time_step); - } - catch(real moment_of_supernova) { - cerr << "We have a Supernova occurring at t="<get_starbase()->get_current_time(); - - int is_supernova_detection_enabled; - is_stopping_condition_enabled(SUPERNOVA_DETECTION, - &is_supernova_detection_enabled); - if (is_supernova_detection_enabled) { - int stopping_index = next_index_for_stopping_condition(); - set_stopping_condition_info(stopping_index, SUPERNOVA_DETECTION); - } - return bi->get_starbase()->get_current_time(); - } - */ - - if(is_logging_of_evolve_enabled) { - bi->get_starbase()->dump(starev, false); - } - current_time = ((star*)bi->get_starbase())->get_current_time(); - time_step = bi->get_starbase()->get_evolve_timestep(); - - star_state ss(dynamic_cast(star*, bi->get_starbase())); - } - - - bi->get_starbase()->evolve_element(out_time); - bi->get_starbase()->dump(cerr, false); - - if(is_logging_of_evolve_enabled) { - bi->get_starbase()->dump(starev, false); - print_star(bi->get_starbase(), cerr); - starev.close(); - } - return out_time; -} - -local int translate_stellar_type_to_int(stellar_type stp, const real mass) { - - switch (stp) { - case Brown_Dwarf: - return 19; - case Main_Sequence: - if (mass<0.1) { - return 0; - } - return 1; - case Hertzsprung_Gap: - return 2; - case Sub_Giant: - return 3; - case Horizontal_Branch: - return 4; - case Super_Giant: - return 5; - case Hyper_Giant: - return 6; - case Carbon_Star: - case Helium_Star: - return 7; - case Helium_Giant: - return 9; - case Helium_Dwarf: - return 10; - case Carbon_Dwarf: - return 11; - case Oxygen_Dwarf: - return 12; - case Xray_Pulsar: - case Radio_Pulsar: - case Neutron_Star: - return 13; - case Black_Hole: - return 14; - case Disintegrated: - return 15; - case Proto_Star: - return 17; - case Planet: - return 18; - case Static_Star: - case SPZDCH_Star: - case NAS: - case Thorn_Zytkow: - case Double: - case no_of_stellar_type: - return -1; - } -} - - -local stellar_type translate_int_to_stellar_type(int type_number) { - - switch (type_number) { - case 19: - return Brown_Dwarf; - case 0: - case 1: - return Main_Sequence; - case 2: - return Hertzsprung_Gap; - case 3: - return Sub_Giant; - case 4: - return Horizontal_Branch; - case 5: - case 6: - return Super_Giant; -// return Hyper_Giant; - case 7: - return Helium_Star; - case 8: - case 9: - return Helium_Giant; - case 10: - return Helium_Dwarf; - case 11: - return Carbon_Dwarf; - case 12: - return Oxygen_Dwarf; - case 13: - return Neutron_Star; - case 14: - return Black_Hole; - case 15: - return Disintegrated; - case 17: - return Proto_Star; - case 18: - return Planet; - case -1: - return no_of_stellar_type; - } -} - - - -local int translate_binary_type_to_int(binary_type btp) { - switch (btp) { - case Strong_Encounter: - return -1; - case Unknown_Binary_Type: - return 0; - case Synchronized: - return 1; - case Detached: - return 2; - case Semi_Detached: - return 3; - case Contact: - return 4; - case Common_Envelope: - return 5; - case Double_Spiral_In: - return 6; - case Merged: - return 7; - case Disrupted: - return 8; - case Spiral_In: - return 9; - default: - return -2; - } -} - -local binary_type translate_int_to_binary_type(int btp) { - switch (btp) { - case -1: - return Strong_Encounter; - case 0: - return Unknown_Binary_Type; - case 1: - return Synchronized; - case 2: - return Detached; - case 3: - return Semi_Detached; - case 4: - return Contact; - case 5: - return Common_Envelope; - case 6: - return Common_Envelope; - case 7: - return Merged; - case 8: - return Disrupted; - case 9: - return Spiral_In; - } -} - - - -int evolve_star(double mass, double endtime, double metal, double * resulttime, double * end_mass, double * end_radius, double * end_luminosity, double * end_temperature, double *end_time_step, int *end_stellar_type){ - stellar_type type = Main_Sequence; - char * star_type_string; - int c; - - bool t_flag = FALSE; - bool S_flag = FALSE; - bool c_flag = FALSE; - bool M_flag = FALSE; - bool n_flag = FALSE; - bool R_flag = FALSE; - bool I_flag = FALSE; - real m_tot; - real r_hm = 100; - real t_hc = 1; - real t_start = 0; // default value; - real t_end = 0; - int n_steps = 1; - int n_steps_per_phase = 10; - int n_init = 0; - int n =1; - real z; - - char *comment; - int input_seed=0, actual_seed; - *resulttime = 0.0; - *end_mass = 0.0 ; - *end_radius = 0.0; - *end_luminosity = 0.0; - *end_temperature = 0.0; - if (metal < 0.00001) { - return -4; - } - - m_tot = mass; - t_end = endtime; - z = metal; - - actual_seed = srandinter(input_seed); - node *root; - root= mknode(1); - root->get_starbase()->set_stellar_evolution_scaling(m_tot, r_hm, t_hc); - - addstar(root, t_start, type, z, n_init+0, false); - root->get_starbase()->set_use_hdyn(false); - - real delta_t = t_end/((real)n_steps); - real out_time; - - for_all_daughters(node, root, bi) { - out_time = 0; - do { - out_time = Starlab::min(out_time+delta_t, t_end); - evolve_star_until_next_time(bi, out_time, n_steps_per_phase); - } - while(out_time < t_end); - } - - for_all_daughters(node, root, bi) { - *resulttime = bi->get_starbase()->get_current_time(); - *end_mass = bi->get_starbase()->get_total_mass() ; - *end_radius = bi->get_starbase()->get_radius(); - *end_luminosity = bi->get_starbase()->get_luminosity(); - *end_temperature = bi->get_starbase()->temperature(); - *end_time_step = bi->get_starbase()->get_evolve_timestep(); - *end_stellar_type = translate_stellar_type_to_int(bi->get_starbase()->get_element_type(), mass); - - // << " " << type_string(bi->get_starbase()->get_element_type()) - } - - rmtree(root); - - return 0; -} - - -int initialize_code(){ - next_seba_id = 1; - seba_root = new node(); - seba_root->set_root(seba_root); - seba_root->get_starbase()->set_stellar_evolution_scaling( - 1, // mass units is 1 MSun - 100, //was 2.255e-8, // radius units is RSun - 1 // time units is Myr - ); - // XXX AVE - // in all starlab files this this done after adding stars, - // do we need to follow that convention? - // it looks like this is important for - // double stars!! - seba_root->get_starbase()->set_use_hdyn(false); - - // AMUSE STOPPING CONDITIONS SUPPORT - set_support_for_condition(SUPERNOVA_DETECTION); - - return 0; -} - -int cleanup_code(){ - return 0; -} - -int commit_parameters(){ - return 0; -} - -int recommit_parameters(){ - return 0; -} - -int set_metallicity(double metallicity){ - seba_metallicity = metallicity; - return 0; -} -int get_metallicity(double * metallicity){ - *metallicity = seba_metallicity; - return 0; -} - -int set_supernova_kick_velocity(double v_disp) { - cnsts.v_disp = v_disp; - PRL(v_disp); - PRL(cnsts.v_disp); - return 0; -} -int get_supernova_kick_velocity(double * v_disp){ - *v_disp = cnsts.v_disp; - return 0; -} - -int get_is_logging_of_evolve_enabled(bool *value){ - *value = is_logging_of_evolve_enabled; - return 0; -} -int set_is_logging_of_evolve_enabled(bool value){ - is_logging_of_evolve_enabled = value; - return 0; -} - -int get_time(double * value) { - *value = seba_time; - return 0; -} - - -int new_particle(int * index_of_the_star, double mass){ - - node * new_node = new node(); - new_node->set_label(next_seba_id); - new_node->set_parent(seba_root); - new_node->set_mass(mass); - mapping_from_id_to_node[next_seba_id] = new_node; - - if(seba_insertion_point == 0) { - seba_insertion_point = new_node; - seba_root->set_oldest_daughter(new_node); - } else { - seba_insertion_point->set_younger_sister(new_node); - new_node->set_elder_sister(seba_insertion_point); - seba_insertion_point = new_node; - } - - addstar(new_node, seba_time, start_type, seba_metallicity, 0, false, start_type, mass, mass, 0, 0, 0); - - new_node->get_starbase()->set_time_offset(seba_time); - *index_of_the_star = next_seba_id; - - next_seba_id++; - - return 0; -} - - -int new_advanced_particle(int * index_of_the_star, double mass, double relative_mass, int type_number, double relative_age, double core_mass, double COcore_mass, double radius){ - - if (relative_mass == 0) return new_particle(index_of_the_star, mass); - if (relative_age < 0) return -1; - - node * new_node = new node(); - new_node->set_label(next_seba_id); - new_node->set_parent(seba_root); - new_node->set_mass(mass); - mapping_from_id_to_node[next_seba_id] = new_node; - - if(seba_insertion_point == 0) { - seba_insertion_point = new_node; - seba_root->set_oldest_daughter(new_node); - } else { - seba_insertion_point->set_younger_sister(new_node); - new_node->set_elder_sister(seba_insertion_point); - seba_insertion_point = new_node; - } - - stellar_type seba_stellar_type = translate_int_to_stellar_type(type_number); - - addstar(new_node, seba_time, seba_stellar_type, seba_metallicity, 0, false, seba_stellar_type, relative_mass, mass - core_mass, core_mass, COcore_mass, relative_age); - new_node->get_starbase()->set_time_offset(seba_time); - *index_of_the_star = next_seba_id; - - next_seba_id++; - - new_node->get_starbase()->set_relative_age(relative_age); - new_node->get_starbase()->set_core_mass(core_mass); - new_node->get_starbase()->set_COcore_mass(COcore_mass); - new_node->get_starbase()->set_effective_radius(radius); - - return 0; -} - - - - -int delete_star(int index_of_the_star){ - - std::map::iterator i = mapping_from_id_to_node.find(index_of_the_star); - if(i == mapping_from_id_to_node.end()) { - return -1; - } else { - node * node_to_remove = i->second; - if (node_to_remove == seba_insertion_point) { - seba_insertion_point = node_to_remove->get_younger_sister(); - } - detach_node_from_general_tree(node_to_remove); - - mapping_from_id_to_node.erase(i); - return 0; - } - -} - -int commit_particles(){ - return 0; -} - -int recommit_particles(){ - return 0; -} - -node * get_seba_node_from_index(int index_of_the_star, int * errorcode) -{ - std::map::iterator i = mapping_from_id_to_node.find(index_of_the_star); - if(i == mapping_from_id_to_node.end()) { - *errorcode = -1; - return 0; - } else { - *errorcode = 0; - return i->second; - } -} - -int get_mass(int index_of_the_star, double * mass){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *mass= seba_node->get_starbase()->get_total_mass() ; - return error_code; -} - -int get_core_mass(int index_of_the_star, double * mass){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *mass= seba_node->get_starbase()->get_core_mass() ; - return error_code; -} - -int get_COcore_mass(int index_of_the_star, double * mass){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *mass= seba_node->get_starbase()->get_COcore_mass() ; - return error_code; -} - - -int change_mass(int index_of_the_star, double mass, double dt){ -// cout << "Enter change mass:"<< mass<< " "<< dt<get_starbase()->get_core_mass() ; - if (mass>0) { - seba_node->get_starbase()->add_mass_to_accretor(mass, true, dt); - } - else { - mass *= -1; - star *star = seba_node->get_starbase()->subtrac_mass_from_donor(dt, mass); -// PRL(star); - } - return error_code; -} - -// note that the dinner's mass is set to zero, but other parameters and the particle itself remain -int merge_the_binary(int index_of_the_binary, int index_of_the_consumer, int index_of_the_dinner){ - - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_binary, &error_code); - if(error_code < 0) {return error_code;} - node * consumer = get_seba_node_from_index(index_of_the_consumer, &error_code); - if(error_code < 0) {return error_code;} - node * dinner = get_seba_node_from_index(index_of_the_dinner, &error_code); - if(error_code < 0) {return error_code;} - - seba_node->get_starbase()->merge_elements((star*)consumer->get_starbase(), (star*)dinner->get_starbase()); - return error_code; -} - - -//note that dinner is not altered by this routine! -int merge_with_other_star(int index_of_the_consumer, int index_of_the_dinner){ - - int error_code = 0; - node * consumer = get_seba_node_from_index(index_of_the_consumer, &error_code); - if(error_code < 0) {return error_code;} - node * dinner = get_seba_node_from_index(index_of_the_dinner, &error_code); - if(error_code < 0) {return error_code;} - - consumer->get_starbase()->merge_elements((star*)dinner->get_starbase()); - return error_code; -} - - - - -int refresh_memory(int index_of_the_star){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - - seba_node->get_starbase()->refresh_memory(); - return error_code; -} - -//Does not work for binaries as memory is already refreshed in SeBa by SeBa -int recall_memory_one_step(int index_of_the_star){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - - seba_node->get_starbase()->recall_memory(); - seba_time = seba_node->get_starbase()->get_current_time() - seba_node->get_starbase()->get_time_offset(); - - return error_code; -} - -int get_envelope_mass(int index_of_the_star, double * mass){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *mass= seba_node->get_starbase()->get_envelope_mass() ; - return error_code; -} - -int get_temperature(int index_of_the_star, double * temperature){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *temperature= seba_node->get_starbase()->temperature() ; - return error_code; -} - - -int get_time_step(int index_of_the_star, double * time_step){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *time_step= seba_node->get_starbase()->get_evolve_timestep() ; - return error_code; -} - -int get_luminosity(int index_of_the_star, double * luminosity){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *luminosity= seba_node->get_starbase()->get_luminosity() ; - return error_code; -} - -int get_age(int index_of_the_star, double * age){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *age= seba_node->get_starbase()->get_current_time() - seba_node->get_starbase()->get_time_offset(); - return error_code; -} - -int get_radius(int index_of_the_star, double * radius){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *radius= seba_node->get_starbase()->get_radius() ; - return error_code; -} - -int get_core_radius(int index_of_the_star, double * radius){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *radius= seba_node->get_starbase()->get_core_radius() ; - return error_code; -} - -int get_stellar_type(int index_of_the_star, int * stellar_type){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - double mass = seba_node->get_starbase()->get_total_mass(); - *stellar_type = translate_stellar_type_to_int(seba_node->get_starbase()->get_element_type(), mass); - return error_code; -} - -int get_gyration_radius(int index_of_the_star, double * gyration_radius){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *gyration_radius = pow(seba_node->get_starbase()->gyration_radius_sq(),0.5); - return error_code; -} - -int get_apsidal_motion_constant(int index_of_the_star, double * apsidal_motion_constant){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *apsidal_motion_constant = seba_node->get_starbase()->amc(); - return error_code; -} - -int get_zeta_thermal(int index_of_the_star, double * zeta_thermal){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *zeta_thermal = seba_node->get_starbase()->zeta_thermal(); - return error_code; -} - -int get_zeta_adiabatic(int index_of_the_star, double * zeta_adiabatic){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *zeta_adiabatic = seba_node->get_starbase()->zeta_adiabatic(); - return error_code; -} - -int get_rotation_period(int index_of_the_star, double * rotation_period){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *rotation_period = seba_node->get_starbase()->get_rotation_period(); - return error_code; -} - -int get_fallback(int index_of_the_star, double * fallback){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *fallback = seba_node->get_starbase()->get_fallback(); - return error_code; -} - -int get_relative_age(int index_of_the_star, double * relative_age){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *relative_age= seba_node->get_starbase()->get_relative_age() ; - return error_code; -} - -int get_natal_kick_velocity(int index_of_the_star, double * kick_velocity_x, double * kick_velocity_y, double * kick_velocity_z){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - vec kick = seba_node->get_starbase()->get_anomal_velocity() ; - *kick_velocity_x = kick[0]; - *kick_velocity_y = kick[1]; - *kick_velocity_z = kick[2]; - return error_code; -} - -int get_relative_mass(int index_of_the_star, double * relative_mass){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *relative_mass= seba_node->get_starbase()->get_relative_mass() ; - return error_code; -} - -int get_effective_radius(int index_of_the_star, double * radius){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *radius= seba_node->get_starbase()->get_effective_radius() ; - return error_code; -} - - -int get_convective_envelope_mass(int index_of_the_star, double * convective_envelope_mass){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *convective_envelope_mass= seba_node->get_starbase()->convective_envelope_mass() ; - return error_code; -} - -int get_convective_envelope_radius(int index_of_the_star, double * convective_envelope_radius){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *convective_envelope_radius= seba_node->get_starbase()->convective_envelope_radius(); - return error_code; -} - -int get_wind_mass_loss_rate(int index_of_the_star, double * wind_mass_loss_rate){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *wind_mass_loss_rate = seba_node->get_starbase()->get_wind_constant()*-1.; - return error_code; -} - - - - -int evolve_one_step(int index_of_the_star){ - int error_code = 0; - int n_steps_per_phase = 10; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - - double out_time = seba_node->get_starbase()->get_current_time(); - out_time += seba_node->get_starbase()->get_evolve_timestep(); - evolve_star_until_next_time(seba_node, out_time, n_steps_per_phase); - return error_code; -} - -int evolve_for(int index_of_the_star, double delta_t){ - int error_code = 0; - int n_steps_per_phase = 10; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - double out_time = seba_node->get_starbase()->get_current_time(); - out_time += delta_t; - evolve_star_until_next_time(seba_node, out_time, n_steps_per_phase); - return error_code; -} - -int get_number_of_particles(int * number_of_particles){ - return 0; -} - -int evolve_system(double end_time) { - int n_steps = 1; - int n_steps_per_phase = 10; - // cannot evolve for a negative time - if (end_time < seba_time) { - return 0; - } - real delta_t = (end_time - seba_time)/((real)n_steps); - real out_time; - nodeptr bi; - // make a local copy of all stars - real actual_time; - for_all_daughters(node, seba_root, bi) { - out_time = seba_time; - do { - out_time = Starlab::min(out_time+delta_t, end_time); - actual_time = evolve_star_until_next_time(bi, out_time, n_steps_per_phase); - if (actual_timeget_star_id()<<"and "<< child1->get_star_id()<set_star_id(1); - // set stellar id's - //child1->set_star_id(0); - //child2->set_star_id(1); - - - addbinary(new_node, seba_time, binary_start_type, semi_major_axis, eccentricity); - - new_node->get_starbase()->set_time_offset(seba_time); - *index_of_the_star = next_seba_id; - - next_seba_id++; - - return 0; -} - -int delete_binary(int index_of_the_star){ - - std::map::iterator i = mapping_from_id_to_node.find(index_of_the_star); - if(i == mapping_from_id_to_node.end()) { - return -1; - } else { - node * node_to_remove = i->second; - node * parent = node_to_remove->get_parent(); - node * younger_sister = node_to_remove->get_younger_sister(); - - node * child1 = node_to_remove->get_oldest_daughter(); - if(child1 != 0) { - node * child2 = child1->get_younger_sister(); - - node * elder_sister = node_to_remove->get_elder_sister(); - - child1->set_elder_sister(elder_sister); - child1->set_parent(parent); - ((star*)child1->get_starbase())->set_identity(-1); - if(elder_sister) { - elder_sister->set_younger_sister(child1); - } - - if(parent->get_oldest_daughter() == node_to_remove) { - parent->set_oldest_daughter(child1); - } - - if(child2 != 0) { - child2->set_younger_sister(younger_sister); - child2->set_parent(parent); - ((star*)child2->get_starbase())->set_identity(-1); - - if(younger_sister) { - younger_sister->set_elder_sister(child2); - } - - if (node_to_remove == seba_insertion_point) { - seba_insertion_point = child2; - } - } else { - if(younger_sister) { - younger_sister->set_elder_sister(child1); - } - if (node_to_remove == seba_insertion_point) { - seba_insertion_point = child1; - } - } - - } else { - detach_node_from_general_tree(node_to_remove); - - if (node_to_remove == seba_insertion_point) { - seba_insertion_point = younger_sister; - } - } - - mapping_from_id_to_node.erase(i); - return 0; - } - -} - - -int get_children_of_binary( - int index_of_the_star, - int * child1_index, int * child2_index) -{ - - *child1_index = -1; - *child2_index = -1; - std::map::iterator i = mapping_from_id_to_node.find(index_of_the_star); - if(i == mapping_from_id_to_node.end()) { - return -1; - } else { - node * binary = i->second; - - node * child1 = binary->get_oldest_daughter(); - if(child1 != 0) { - node * child2 = child1->get_younger_sister(); - *child1_index = child1->get_index(); - *child2_index = child2->get_index(); - } - return 0; - } -} - -int get_eccentricity(int index_of_the_star, double * value){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *value= seba_node->get_starbase()->get_eccentricity() ; - return error_code; -} - -int get_semi_major_axis(int index_of_the_star, double * value){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *value= seba_node->get_starbase()->get_semi() ; - return error_code; -} - -int set_eccentricity(int index_of_the_star, double value){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - seba_node->get_starbase()->set_eccentricity(value); - return error_code; -} - - -int set_semi_major_axis(int index_of_the_star, double value){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - seba_node->get_starbase()->set_semi(value); - return error_code; -} - - -int set_rotation_period(int index_of_the_star, double value){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - seba_node->get_starbase()->set_rotation_period(value); - return error_code; -} - -int get_binary_type(int index_of_the_star, double * value){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *value= seba_node->get_starbase()->get_bin_type(); - return error_code; -} - -int get_mass_transfer_type(int index_of_the_star, double * value){ - int error_code = 0; - node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); - if(error_code < 0) {return error_code;} - *value= seba_node->get_starbase()->get_current_mass_transfer_type(); - return error_code; -} - diff --git a/src/amuse/community/seba/interface.py b/src/amuse/community/seba/interface.py index 36ce032fbc..6e7fb03a70 100644 --- a/src/amuse/community/seba/interface.py +++ b/src/amuse/community/seba/interface.py @@ -1,1255 +1,7 @@ -from amuse.community import * -from amuse.datamodel import Particles -from amuse.datamodel import ParticlesSubset -from amuse.community.interface import se -from amuse.support import code - -class SeBaInterface(CodeInterface, se.StellarEvolutionInterface, LiteratureReferencesMixIn, StoppingConditionInterface): - - """ - Stellar evolution is performed by the rapid single-star evolution - and binary evolution using SeBa.This is a package of - semi-analytical formulae which covers all phases of evolution from - the zero-age main-sequence up to and including remnant phases. It - is valid for masses in the range 0.01-1000 Msun with variable - metallicity. SeBa includes prescriptions for mass loss by stellar - winds, supernova and supports binary evolution. - - .. [#] ADS:1996A&A...309..179P (Portegies Zwart S.F. & Verbunt F., 1996, A&A, 309, 179: - .. [#] ... "Population synthesis of high-mass binaries") - .. [#] ADS:2012A&A...546A..70T (Toonen, S., Nelemans, G., Portegies Zwart S.F., 2012, A&A, 546A, 70T - .. [#] ... "Supernova Type Ia progenitors from merging double white dwarfs. Using a new population synthesis model") - """ - - include_headers = ['worker_code.h', 'stopcond.h'] - - def __init__(self, **options): - CodeInterface.__init__(self, name_of_the_worker="seba_worker", **options) - LiteratureReferencesMixIn.__init__(self) - - - @legacy_function - def evolve_star(): - function = LegacyFunctionSpecification() - function.addParameter('mass', dtype='float64', direction=function.IN) - function.addParameter('endtime', dtype='float64', direction=function.IN) - function.addParameter('metal', dtype='float64', direction=function.IN) - function.addParameter('resulttime', dtype='float64', direction=function.OUT) - function.addParameter('end_mass', dtype='float64', direction=function.OUT) - function.addParameter('end_radius', dtype='float64', direction=function.OUT) - function.addParameter('end_luminosity', dtype='float64', direction=function.OUT) - function.addParameter('end_temperature', dtype='float64', direction=function.OUT) - function.addParameter('time_step', dtype='float64', direction=function.OUT) - function.addParameter('stellar_type', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def new_advanced_particle(): - """ - Define a new star in the code. The star will start with the given mass. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_star', dtype='int32', direction=function.OUT, - description=( - "The new index for the star. This index can be used to refer " - "to this star in other functions" - ) - ) - function.addParameter( - 'mass', dtype='float64', direction=function.IN, - description="The initial mass of the star") - function.addParameter( - 'relative_mass', dtype='float64', direction=function.IN, default=0, - description="The initial relative mass of the star") - function.addParameter( - 'stellar_type', dtype='int32', direction=function.IN, default=0, - description="The initial stellar type of the star") - function.addParameter( - 'relative_age', dtype='float64', direction=function.IN, default=0, - description="The relative initial age of the star") - function.addParameter( - 'core_mass', dtype='float64', direction=function.IN, default=0, - description="The initial core mass of the star") - function.addParameter( - 'COcore_mass', dtype='float64', direction=function.IN, default=0, - description="The initial CO core mass of the star") - function.addParameter( - 'radius', dtype='float64', direction=function.IN, default=0, - description="The initial radius of the star") - # function.addParameter( - # 'age_tag', dtype='float64', direction=function.IN, - # description="Starting age of the star *to be specified exactly*") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - New star was loaded and the index_of_the_star parameter set. - -1 - ERROR - New star could not be created. - """ - return function - - - @legacy_function - def new_binary(): - """ - Define a new star in the code. The star will start with the given mass. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.OUT - , description="The new index for the star. This index can be used to refer to this star in other functions") - function.addParameter('semi_major_axis', dtype='float64', direction=function.IN - , description="The eccentricity of the orbit") - function.addParameter('eccentricity', dtype='float64', direction=function.IN - , description="The eccentricity of the orbit") - function.addParameter('child1', dtype='int32', direction=function.IN - , description="The index of the first child, as returned by new_particle") - function.addParameter('child2', dtype='int32', direction=function.IN - , description="The index of the second child, as returned by new_particle") - - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - New star was loaded and the index_of_the_star parameter set. - -1 - ERROR - New star could not be created. - """ - return function - - @legacy_function - def delete_binary(): - """ - Remove the definition of binary from the code. After calling this function the particle is - no longer part of the model evolution. It's children are still a part of particles model. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, - description = "Index of the binary to be removed. This index must have been returned by an earlier call to :meth:`new_binary`") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - binary was removed from the model - -1 - ERROR - binary could not be found - -2 - ERROR - not yet implemented - """ - return function - - @legacy_function - def evolve_system(): - """ - Evolve the model until the given time, or until a stopping condition is set. - Need to call this evolve_system as evolve_model is overriden in se.StellarEvolution - """ - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='float64', direction=function.IN, - description = "Model time to evolve the code to. The model will be " - "evolved until this time is reached exactly or just after.") - function.result_type = 'int32' - return function - - @legacy_function - def get_eccentricity(): - """ - Retrieve the current eccentricity of the binary star. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('value', dtype='float64', direction=function.OUT - , description="The current eccentricity.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - A binary with the given index was not found. - """ - return function - - @legacy_function - def get_semi_major_axis(): - """ - Retrieve the current semi major axis of the elliptical orbit of the parts in the binary star. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('value', dtype='float64', direction=function.OUT - , description="The current semi major axis.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - A binary with the given index was not found. - """ - return function - - @legacy_function - def get_binary_type(): - """ - Retrieve the current binary type of the binary star. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('value', dtype='float64', direction=function.OUT - , description="The current binary type.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - A binary with the given index was not found. - """ - return function - - @legacy_function - def get_mass_transfer_type(): - """ - Retrieve the current mass transfer type of the binary star. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('value', dtype='float64', direction=function.OUT - , description="The current mass transfer type.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - A binary with the given index was not found. - """ - return function - - - @legacy_function - def get_core_mass(): - """ - Retrieve the current core mass of a star - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('value', dtype='float64', direction=function.OUT - , description="The current core_mass.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - A binary with the given index was not found. - """ - return function - - @legacy_function - def get_COcore_mass(): - """ - Retrieve the current CO core mass of a star - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('value', dtype='float64', direction=function.OUT - , description="The current core_mass.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - A binary with the given index was not found. - """ - return function - - @legacy_function - def change_mass(): - """ - Set the add_mass increase (positive) or decrease (negative) of a star - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to set the value of") - function.addParameter('value', dtype='float64', direction=function.IN - , description="The current change_mass.") - function.addParameter('dt', dtype='float64', direction=function.IN - , description="The time in which the mass was changed.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - A binary with the given index was not found. - """ - return function - - - @legacy_function - def merge_the_binary(): - """ - Merges the stars in the binary, creates a 'merged' binary. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_binary', dtype='int32', direction=function.IN - , description="The index of the binary to set the value of") - function.addParameter('child1', dtype='int32', direction=function.IN - , description="The index of the consumer") - function.addParameter('child2', dtype='int32', direction=function.IN - , description="The index of the dinner") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - A binary with the given index was not found. - """ - return function - - @legacy_function - def merge_with_other_star(): - """ - Merges the star with another star, companion star remains unaltered - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('child1', dtype='int32', direction=function.IN - , description="The index of the consumer") - function.addParameter('child2', dtype='int32', direction=function.IN - , description="The index of the dinner") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - A binary with the given index was not found. - """ - return function - - @legacy_function - def refresh_memory(): - """ - Refresh the memory of SeBa. Update previous parameters in SeBa to current values. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to set the value of") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - A binary with the given index was not found. - """ - return function - - - @legacy_function - def recall_memory_one_step(): - """ - Recall the memory of SeBa one time_step ago. Update current parameters in SeBa to previous values. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to set the value of") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - A binary with the given index was not found. - """ - return function - - - - @legacy_function - def get_envelope_mass(): - """ - Retrieve the current envelope mass of a star - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('value', dtype='float64', direction=function.OUT - , description="The current envelope_mass.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - A binary with the given index was not found. - """ - return function - - @legacy_function - def get_core_radius(): - """ - Retrieve the current radius of the core - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('value', dtype='float64', direction=function.OUT - , description="The current core_radius.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - A binary with the given index was not found. - """ - return function - - - @legacy_function - def set_semi_major_axis(): - """ - Update the current semi major axis of the elliptical orbit of the parts in the binary star. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('value', dtype='float64', direction=function.IN - , description="The new semi major axis.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - A binary with the given index was not found. - """ - return function - - @legacy_function - def set_eccentricity(): - """ - Update the current eccentricity of the elliptical orbit of the parts in the binary star. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('value', dtype='float64', direction=function.IN - , description="The new eccentricity.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - A binary with the given index was not found. - """ - return function - - - - @legacy_function - def get_children_of_binary(): - """ - Return the indices of both children - """ - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_star', dtype='int32', - direction=function.IN, - description = 'index of the parent particle', - unit = INDEX) - function.addParameter('child1', dtype='int32', direction=function.OUT, - description = 'index of the first child particle, -1 if none', - unit = LINK('particles') ) - function.addParameter('child2', dtype='int32', direction=function.OUT, - unit = LINK('particles')) - function.can_handle_array = True - function.result_type = 'int32' - return function - - - @legacy_function - def get_is_logging_of_evolve_enabled(): - """ - If True log the star state before and after evolve - in starev.data - """ - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was retrieved - -1 - ERROR - could not retrieve parameter - """ - return function - - @legacy_function - def set_is_logging_of_evolve_enabled(): - """ - If True log the star state before and after evolve - in starev.data - """ - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - the parameter was set - -1 - ERROR - could not set parameter - """ - return function - - @legacy_function - def get_supernova_kick_velocity(): - """ - Retrieve the current value of the supernova kick velocity (in kms). - """ - function = LegacyFunctionSpecification() - function.addParameter('v_disp', dtype='float64', direction=function.OUT, - description = "The current value of the kick velocity dispersion") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value of the supernova kick velocity was retrieved - -1 - ERROR - The code does not have support for retrieving the supernova kick velocity - """ - return function - - @legacy_function - def set_supernova_kick_velocity(): - """ - Update the value of the kick velocity dispersion. - """ - function = LegacyFunctionSpecification() - function.addParameter('v_disp', dtype='float64', direction=function.IN, - description = "The new value of the supernova kick velocity dispersion.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value of the supernova kick velocity was set - -1 - ERROR - The code does not have support for updating the supernova kick velocity - """ - return function - - - @legacy_function - def get_gyration_radius(): - """ - Retrieve the current value of the gyration radius (no units). - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to set the value of") - function.addParameter('gyration_radius', dtype='float64', direction=function.OUT, - description = "The current value of the gyration radius") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value of the gyration radius was retrieved - -1 - ERROR - The code does not have support for retrieving the gyration radius - """ - return function - - @legacy_function - def get_apsidal_motion_constant(): - """ - Retrieve the current value of the apsidal motion constant (no units). - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to set the value of") - function.addParameter('apsidal_motion_constant', dtype='float64', direction=function.OUT, - description = "The current value of the apsidal motion constant") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value of the apsidal motion constant was retrieved - -1 - ERROR - The code does not have support for retrieving the apsidal motion constant - """ - return function - - - - @legacy_function - def get_zeta_thermal(): - """ - Retrieve the current value of the zeta thermal (no units). - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to set the value of") - function.addParameter('zeta_thermal', dtype='float64', direction=function.OUT, - description = "The current value of the zeta thermal") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value of the zeta thermal constant was retrieved - -1 - ERROR - The code does not have support for retrieving the zeta thermal constant - """ - return function - - - @legacy_function - def get_zeta_adiabatic(): - """ - Retrieve the current value of the zeta adiabatic (no units). - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to set the value of") - function.addParameter('zeta_adiabatic', dtype='float64', direction=function.OUT, - description = "The current value of the zeta adiabatic") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value of the zeta adiabatic constant was retrieved - -1 - ERROR - The code does not have support for retrieving the zeta adiabatic constant - """ - return function - - - @legacy_function - def get_rotation_period(): - """ - Retrieve the current value of the rotation period (sec). - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to set the value of") - function.addParameter('rotation_period', dtype='float64', direction=function.OUT, - description = "The current value of the rotation period") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value of the rotation period was retrieved - -1 - ERROR - The code does not have support for retrieving the rotation period - """ - return function - - @legacy_function - def set_rotation_period(): - """ - Update the current rotation period of a star. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to get the value of") - function.addParameter('value', dtype='float64', direction=function.IN - , description="The new rotation period.") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - The value has been set. - -1 - ERROR - A binary with the given index was not found. - """ - return function - - @legacy_function - def get_fallback(): - """ - Retrieve the value of fallback fraction during the SN. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to set the value of") - function.addParameter('rotation_period', dtype='float64', direction=function.OUT, - description = "The current value of the rotation period") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Value of the fallback fraction was retrieved - -1 - ERROR - The code does not have support for retrieving the fallback fraction - """ - return function - - - - @legacy_function - def get_relative_age(): - """ - Retrieve the current value of the square of the relative age (Myr). - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to set the value of") - function.addParameter('relative_age', dtype='float64', direction=function.OUT, - description = "The current value of the square of the relative age") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value of the square of the relative age was retrieved - -1 - ERROR - The code does not have support for retrieving the square of the relative age - """ - return function - - @legacy_function - def get_natal_kick_velocity(): - """ - Retrieve the current value of the square of the natal kick velocity (Myr). - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to set the value of") - function.addParameter('natal_kick_velocity_x', dtype='float64', direction=function.OUT) - function.addParameter('natal_kick_velocity_y', dtype='float64', direction=function.OUT) - function.addParameter('natal_kick_velocity_z', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value of the natal_kick_velocity was retrieved - -1 - ERROR - The code does not have support for retrieving the square of the natal_kick_velocity - """ - return function - - @legacy_function - def get_relative_mass(): - """ - Retrieve the current value of the square of the relative mass (MSun). - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to set the value of") - function.addParameter('relative_mass', dtype='float64', direction=function.OUT, - description = "The current value of the square of the relative mass") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value of the square of the relative mass was retrieved - -1 - ERROR - The code does not have support for retrieving the square of the relative mass - """ - return function - - @legacy_function - def get_effective_radius(): - """ - Retrieve the current value of the effective radius (Rsun). - This can be different from the (equilibrium) radius due to accretion or mass loss. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to set the value of") - function.addParameter('effective_radius', dtype='float64', direction=function.OUT, - description = "The current value of the effective radius") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value of the effective_radius was retrieved - -1 - ERROR - The code does not have support for retrieving the effective_radius - """ - return function - - - @legacy_function - def get_convective_envelope_mass(): - """ - Retrieve the current value of the mass of the part of the envelope that is convective (MSun). - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to set the value of") - function.addParameter('convective_envelope_mass', dtype='float64', direction=function.OUT, - description = "The current value of the mass of the part of the envelope that is convective") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value of the convective envelope mass was retrieved - -1 - ERROR - The code does not have support for retrieving the square of the relative mass - """ - return function - - - - - @legacy_function - def get_convective_envelope_radius(): - """ - Retrieve the current value of the radius of the part of the envelope that is convective (RSun). - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to set the value of") - function.addParameter('convective_envelope_radius', dtype='float64', direction=function.OUT, - description = "The current value of the radius of the part of the envelope that is convective") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value of the convective envelope radius was retrieved - -1 - ERROR - The code does not have support for retrieving the square of the relative mass - """ - return function - - - - - @legacy_function - def get_time(): - """ - Retrieve the model time. This time should be close to the end time specified - in the evolve code. Or, when a collision was detected, it will be the - model time of the collision. - """ - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='float64', direction=function.OUT, - description = "The current model time") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value of the time was retrieved - -1 - ERROR - The code does not have support for querying the time - """ - return function - - @legacy_function - def get_wind_mass_loss_rate(): - """ - Retrieve the current value of the wind_mass_loss_rate (Msun/yr). - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_star', dtype='int32', direction=function.IN - , description="The index of the star to set the value of") - function.addParameter('wind_mass_loss_rate', dtype='float64', direction=function.OUT, - description = "The current value of the wind_mass_loss_rate") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value of the wind_mass_loss_rate was retrieved - -1 - ERROR - The code does not have support for retrieving the wind_mass_loss_rate - """ - return function - - - # SPZ&SLWMcM - # No stopping conditions in this version for now. - def evolve_model(self, end_time=None, keep_synchronous=True): - if not keep_synchronous: - raise Exception("non_synchronous evolution not implemented") - if end_time is None: - end_time = self.model_time + min(self.particles.time_step) - return self.evolve_system(end_time) - -class SeBa(se.StellarEvolution): - - __interface__ = SeBaInterface - - def __init__(self, **options): - self.stopping_conditions = StoppingConditions(self) - self.stopping_conditions.supernova_detection = code.StoppingCondition('supernova_detection') - - se.StellarEvolution.__init__(self, SeBaInterface(**options), **options) - - def evolve_model(self, end_time=None, keep_synchronous=True): - self.stopping_conditions.supernova_detection.unset() - if not keep_synchronous: - raise Exception("non_synchronous evolution not implemented") - evolve_a_success = 0 - if end_time is None: - end_time = self.model_time + min(self.particles.time_step) -# print "t=", self.model_time, end_time - if not self.stopping_conditions.supernova_detection.is_enabled(): - evolve_a_success = self.evolve_system(end_time) - else: - new_end_time = min(end_time, self.model_time + min(self.particles.time_step)) - while self.model_time= 13|units.stellar_type, self.particles.stellar_type <= 15|units.stellar_type)] - psn -= self.particles[numpy.logical_and(old_particles.stellar_type >= 13|units.stellar_type, old_particles.stellar_type <= 15|units.stellar_type)] - - if len(psn)>0: -# print "Supernova at time:", psn - self.stopping_conditions.supernova_detection.set(psn) - break - new_end_time = min(end_time, self.model_time + min(self.particles.time_step)) - - """ - to be used if stopping condition is implemented in c - old_particles = self.particles.copy() - evolve_a_success = self.evolve_system(end_time) - if self.stopping_conditions.supernova_detection.is_set(): - print "XXStellar supernova stopping condition is set" - print self.particles - print "age=", self.particles.age, self.particles.relative_age - - self.reset_all_stars(old_particles) - evolve_a_success = self.evolve_system(new_end_time) - """ - - return evolve_a_success - - def reset_all_stars(self, old_particles): - psn = self.particles[self.particles.stellar_type==14|units.stellar_type] - psn -= self.particles[old_particles.stellar_type==14|units.stellar_type] - - # print "t=", psn.relative_age[0] - tsn = self.model_time - psn.get_relative_age()[0] -# channel_from_old_to_new_star = old_particles.new_channel_to(self.particles) -# channel_from_old_to_new_star.copy_attributes(["relative_age", "relative_mass"]) -# self.evolve_model(tsn) - - self.particles.remove_particles(self.particles) - self.particles.add_particles(old_particles) - self.model_time = tsn - self.evolve_model(tsn) - - def define_properties(self, handler): - se.StellarEvolution.define_properties(self, handler) - handler.add_property('get_time', public_name = "model_time") - - - def define_methods(self, handler): - se.StellarEvolution.define_methods(self, handler) - - handler.add_method( - "evolve_for", - (handler.INDEX, units.Myr), - (handler.ERROR_CODE,) - ) - handler.add_method( - "evolve_star", - (units.MSun, units.Myr, units.none), - (units.Myr, units.MSun, units.RSun, units.LSun, units.K, units.Myr,units.stellar_type, handler.ERROR_CODE) - ) - handler.add_method( - "evolve_system", - (units.Myr,), - (handler.ERROR_CODE,) - ) - handler.add_method( - "new_advanced_particle", - (units.MSun, units.MSun, units.stellar_type, units.Myr, units.MSun, units.MSun, units.RSun), - (handler.INDEX, handler.ERROR_CODE) - ) - handler.add_method( - "new_binary", - (units.RSun, handler.NO_UNIT, handler.LINK('particles'), handler.LINK('particles')), - (handler.INDEX, handler.ERROR_CODE,) - ) - handler.add_method( - "delete_binary", - (handler.INDEX,), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_eccentricity", - (handler.INDEX,), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - handler.add_method( - "get_semi_major_axis", - (handler.INDEX,), - (units.RSun, handler.ERROR_CODE,) - ) - handler.add_method( - "get_binary_type", - (handler.INDEX,), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - handler.add_method( - "get_mass_transfer_type", - (handler.INDEX,), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - handler.add_method( - "get_core_mass", - (handler.INDEX,), - (units.MSun, handler.ERROR_CODE,) - ) - handler.add_method( - "get_COcore_mass", - (handler.INDEX,), - (units.MSun, handler.ERROR_CODE,) - ) - handler.add_method( - "change_mass", - (handler.INDEX,units.MSun,units.Myr), - (handler.ERROR_CODE,) - ) - handler.add_method( - "merge_the_binary", - (handler.INDEX,handler.LINK('particles'),handler.LINK('particles')), - (handler.ERROR_CODE,) - ) - handler.add_method( - "merge_with_other_star", - (handler.INDEX,handler.LINK('particles')), - (handler.ERROR_CODE,) - ) - handler.add_method( - "refresh_memory", - (handler.INDEX), - (handler.ERROR_CODE,) - ) - handler.add_method( - "recall_memory_one_step", - (handler.INDEX), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_envelope_mass", - (handler.INDEX,), - (units.MSun, handler.ERROR_CODE,) - ) - handler.add_method( - "get_core_radius", - (handler.INDEX,), - (units.RSun, handler.ERROR_CODE,) - ) - handler.add_method( - "set_semi_major_axis", - (handler.INDEX, units.RSun,), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_age", - (handler.INDEX,), - (units.Myr, handler.ERROR_CODE,) - ) - handler.add_method( - "get_time_step", - (handler.INDEX,), - (units.Myr, handler.ERROR_CODE,) - ) - handler.add_method( - "get_supernova_kick_velocity", - (), - (units.kms, handler.ERROR_CODE,) - ) - handler.add_method( - "set_supernova_kick_velocity", - (units.kms,), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_gyration_radius", - (handler.INDEX,), - (units.none, handler.ERROR_CODE,) - ) - handler.add_method( - "get_apsidal_motion_constant", - (handler.INDEX,), - (units.none, handler.ERROR_CODE,) - ) - handler.add_method( - "get_zeta_thermal", - (handler.INDEX,), - (units.none, handler.ERROR_CODE,) - ) - handler.add_method( - "get_zeta_adiabatic", - (handler.INDEX,), - (units.none, handler.ERROR_CODE,) - ) - handler.add_method( - "get_rotation_period", - (handler.INDEX,), - (units.s, handler.ERROR_CODE,) - ) - handler.add_method( - "set_rotation_period", - (handler.INDEX, units.s,), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_fallback", - (handler.INDEX,), - (units.none, handler.ERROR_CODE,) - ) - handler.add_method( - "get_relative_age", - (handler.INDEX,), - (units.Myr, handler.ERROR_CODE,) - ) - handler.add_method( - "get_natal_kick_velocity", - (handler.INDEX,), - (units.kms, units.kms, units.kms, handler.ERROR_CODE,) - ) - handler.add_method( - "get_relative_mass", - (handler.INDEX,), - (units.MSun, handler.ERROR_CODE,) - ) - handler.add_method( - "get_effective_radius", - (handler.INDEX,), - (units.RSun, handler.ERROR_CODE,) - ) - handler.add_method( - "get_convective_envelope_mass", - (handler.INDEX,), - (units.MSun, handler.ERROR_CODE,) - ) - handler.add_method( - "get_convective_envelope_radius", - (handler.INDEX,), - (units.RSun, handler.ERROR_CODE,) - ) - handler.add_method( - "get_time", - (), - (units.Myr,handler.ERROR_CODE,) - ) - handler.add_method( - "get_wind_mass_loss_rate", - (handler.INDEX,), - (units.MSun/units.yr, handler.ERROR_CODE,) - ) - self.stopping_conditions.define_methods(handler) - - def update_time_steps(self): - pass - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_metallicity", - "set_metallicity", - "metallicity", - "Metallicity of all stats", - default_value = 0.02 - ) - handler.add_method_parameter( - "get_supernova_kick_velocity", - "set_supernova_kick_velocity", - "supernova_kick_velocity", - "Kick velocity to compact handler formed in supernova", - default_value = 600 | units.kms - ) - - handler.add_method_parameter( - "get_is_logging_of_evolve_enabled", - "set_is_logging_of_evolve_enabled", - "is_logging_of_evolve_enabled", - "if True will log star state before and after evolve in starev.data", - default_value = False - ) - - self.stopping_conditions.define_parameters(handler) - - - def define_particle_sets(self, handler): - - handler.define_set('particles', 'index_of_the_star') -# handler.set_new('particles', 'new_particle') - handler.set_new('particles', 'new_advanced_particle') - handler.set_delete('particles', 'delete_star') - - - handler.add_getter('particles', 'get_radius', names = ('radius',)) - handler.add_getter('particles', 'get_stellar_type', names = ('stellar_type',)) - handler.add_getter('particles', 'get_mass', names = ('mass',)) - handler.add_getter('particles', 'get_core_mass', names = ('core_mass',)) - handler.add_getter('particles', 'get_COcore_mass', names = ('COcore_mass',)) - handler.add_getter('particles', 'get_envelope_mass', names = ('envelope_mass',)) - handler.add_getter('particles', 'get_core_radius', names = ('core_radius',)) - handler.add_getter('particles', 'get_age', names = ('age',)) - handler.add_getter('particles', 'get_time_step', names = ('time_step',)) - #handler.add_getter('particles', 'get_spin', names = ('spin',)) - handler.add_getter('particles', 'get_luminosity', names = ('luminosity',)) - handler.add_getter('particles', 'get_temperature', names = ('temperature',)) - handler.add_getter('particles', 'get_natal_kick_velocity', names = ('natal_kick_x','natal_kick_y','natal_kick_z')) - - handler.add_getter('particles', 'get_convective_envelope_mass', names = ('convective_envelope_mass',)) - handler.add_getter('particles', 'get_convective_envelope_radius', names = ('convective_envelope_radius',)) - handler.add_getter('particles', 'get_gyration_radius', names = ('gyration_radius',)) - handler.add_getter('particles', 'get_apsidal_motion_constant', names = ('apsidal_motion_constant',)) - handler.add_getter('particles', 'get_zeta_thermal', names = ('zeta_thermal',)) - handler.add_getter('particles', 'get_zeta_adiabatic', names = ('zeta_adiabatic',)) - handler.add_getter('particles', 'get_rotation_period', names = ('rotation_period',)) - handler.add_setter('particles', 'set_rotation_period', names = ('rotation_period',)) - - handler.add_getter('particles', 'get_relative_age', names = ('relative_age',)) - handler.add_getter('particles', 'get_relative_mass', names = ('relative_mass',)) - handler.add_getter('particles', 'get_wind_mass_loss_rate', names = ('wind_mass_loss_rate',)) - handler.add_getter('particles', 'get_effective_radius', names = ('effective_radius',)) - - handler.add_method('particles', 'evolve_one_step') - handler.add_method('particles', 'evolve_for') - handler.add_method('particles', 'change_mass') - handler.add_method('particles', 'refresh_memory') - handler.add_method('particles', 'recall_memory_one_step') - handler.add_method('particles', 'merge_with_other_star') - handler.add_method('particles', 'get_fallback') - handler.add_method('particles', 'get_time_step') - - - handler.define_set('binaries', 'index_of_the_star') - handler.set_new('binaries', 'new_binary') - handler.set_delete('binaries', 'delete_binary') - - handler.add_getter('binaries', 'get_semi_major_axis', names = ('semi_major_axis',)) - handler.add_setter('binaries', 'set_semi_major_axis', names = ('semi_major_axis',)) - handler.add_getter('binaries', 'get_eccentricity', names = ('eccentricity',)) - handler.add_setter('binaries', 'set_eccentricity', names = ('eccentricity',)) - - handler.add_getter('binaries', 'get_mass', names = ('mass',)) - handler.add_getter('binaries', 'get_time_step', names = ('time_step',)) - handler.add_getter('binaries', 'get_age', names = ('age',)) - handler.add_getter("binaries", 'get_children_of_binary') - handler.add_getter('binaries', 'get_binary_type', names = ('binary_type',)) - handler.add_getter('binaries', 'get_mass_transfer_type', names = ('mass_transfer_type',)) - - handler.add_method('binaries', 'merge_the_binary') - - - - def define_state(self, handler): - se.StellarEvolution.define_state(self, handler) - - self.stopping_conditions.define_state(handler) - - handler.add_method('EDIT', 'new_advanced_particle') - handler.add_method('UPDATE', 'new_advanced_particle') - handler.add_transition('RUN', 'UPDATE', 'new_advanced_particle', False) - +from amuse.support.import_helper import load_code +SeBaInterface = load_code("seba", "SeBaInterface") +SeBa = load_code("seba", "SeBa") Seba = SeBa diff --git a/src/amuse/community/secularmultiple/Makefile b/src/amuse/community/secularmultiple/Makefile deleted file mode 100644 index 6f6b633844..0000000000 --- a/src/amuse/community/secularmultiple/Makefile +++ /dev/null @@ -1,40 +0,0 @@ -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif - --include ${AMUSE_DIR}/config.mk - -MPICXX ?= mpicxx -MPICC ?= mpicc - -CC = $(MPICC) -CXX = $(MPICXX) - - -CXXFLAGS += -g -DTOOLBOX -O3 $(MUSE_INCLUDE_DIR) -LDFLAGS+ = -lm $(MUSE_LD_FLAGS) - -OBJS = interface.o src/types.o src/evolve.o src/structure.o src/ODE_system.o src/root_finding.o src/newtonian.o src/postnewtonian.o src/tides.o src/external.o src/cvode/cvode.o src/cvode/cvode_dense.o src/cvode/cvode_direct.o src/cvode/cvode_io.o src/cvode/nvector_serial.o src/cvode/sundials_dense.o src/cvode/sundials_direct.o src/cvode/sundials_math.o src/cvode/sundials_nvector.o - -all: worker_code - -cleanall: clean - $(RM) worker_code * - -clean: - rm -f *.so *.o *.pyc worker_code.cc src/*.o* - -distclean: - rm -f *.so *.o *.pyc worker_code.cc src/*.o* src/cvode/*.o* - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py SecularMultipleInterface -o $@ - -worker_code: worker_code.cc $(OBJS) - $(MPICXX) $(CXXFLAGS) $@.cc $(OBJS) -o $@ - -.cc.o: $< - $(CXX) $(CXXFLAGS) -c -o $@ $< - -.c.o: $< - $(CC) $(CXXFLAGS) -c -o $@ $< diff --git a/src/amuse/community/secularmultiple/interface.py b/src/amuse/community/secularmultiple/interface.py index d3410f3d8e..a5015aa3ed 100644 --- a/src/amuse/community/secularmultiple/interface.py +++ b/src/amuse/community/secularmultiple/interface.py @@ -1,1680 +1,7 @@ -import numpy as np -from amuse.community import ( - InCodeComponentImplementation, CodeInterface, - legacy_function, LegacyFunctionSpecification, - INDEX, NO_UNIT, LINK, -) -from amuse.units import units, constants +from amuse.support.import_helper import load_code -# units used in the legacy code -# numerical values are defined in src/types.h -UNIT_LENGTH = units.au -UNIT_MASS = units.MSun -UNIT_TIME = 1.0e6 * units.yr -UNIT_ANGULAR_MOMENTUM = UNIT_MASS * UNIT_LENGTH**2 / UNIT_TIME # specific angular momentum -UNIT_ENERGY = UNIT_MASS * UNIT_LENGTH**2 / (UNIT_TIME**2) # energy -UNIT_LUMINOSITY = UNIT_ENERGY / UNIT_TIME - -PRINT_NAME = 'SecularMultipleVar' - - -class SecularMultipleInterface(CodeInterface): - """ - SecularMultiple -- by Adrian Hamers, based on 2016MNRAS.459.2827H - - A code to compute the secular (orbit-averaged) gravitational dynamics of - hierarchical multiple systems composed of nested binary orbits - (simplex-type systems). with any configuration and any number of bodies. A - particle can repesent a binary (`is_binary = True') or a body (`is_binary = - False'). The structure of the system is determined by linking to other - particles with the attributes child1 and child2. Tidal interactions and - relativistic corrections are included in an ad hoc fashion (tides: treating - the companion as a single body, even if it is not; relativistic terms: only - including binary-binary interactions). - - November 2017: Updates for external perturbations (flybys & supernovae), - detailed in Hamers (2018, in prep) - - .. [#] ADS:2016MNRAS.459.2827H - .. [#] ADS:2018MNRAS.476.4139H - """ - include_headers = [ - 'interface.h', 'src/types.h', 'src/evolve.h', 'src/ODE_system.h' - ] - - def __init__(self, **options): - # CodeInterface.__init__(self, name_of_the_worker="secularmultiple_worker", **options) - CodeInterface.__init__(self, **options) - - ####################### - # basic interface - ####################### - - # particles - @legacy_function - def new_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT, unit=INDEX) - function.addParameter( - 'is_binary', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def delete_particle(): - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.result_type = 'int32' - return function - - @legacy_function - def set_children(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('child1', dtype='int32', direction=function.IN, unit=LINK('particles')) - function.addParameter('child2', dtype='int32', direction=function.IN, unit=LINK('particles')) - function.result_type = 'int32' - return function - - @legacy_function - def get_children(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('child1', dtype='int32', direction=function.OUT, unit=LINK('particles')) - function.addParameter('child2', dtype='int32', direction=function.OUT, unit=LINK('particles')) - function.result_type = 'int32' - return function - - @legacy_function - def set_mass(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('mass', dtype='float64', direction=function.IN, unit=UNIT_MASS) - function.result_type = 'int32' - return function - - @legacy_function - def get_mass(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('mass', dtype='float64', direction=function.OUT, unit=UNIT_MASS) - function.result_type = 'int32' - return function - - @legacy_function - def set_mass_dot_external(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('mass_dot_external', dtype='float64', direction=function.IN, unit=UNIT_MASS / UNIT_TIME) - function.result_type = 'int32' - return function - - @legacy_function - def get_mass_dot_external(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('mass_dot_external', dtype='float64', direction=function.OUT, unit=UNIT_MASS / UNIT_TIME) - function.result_type = 'int32' - return function - - @legacy_function - def set_radius(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('radius', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_radius(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('radius', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def set_radius_dot_external(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('radius_dot_external', dtype='float64', direction=function.IN, unit=UNIT_LENGTH / UNIT_TIME) - function.result_type = 'int32' - return function - - @legacy_function - def get_radius_dot_external(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('radius_dot_external', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH / UNIT_TIME) - function.result_type = 'int32' - return function - - @legacy_function - def set_radius_ddot_external(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('radius_ddot_external', dtype='float64', direction=function.IN, unit=UNIT_LENGTH / (UNIT_TIME**2)) - function.result_type = 'int32' - return function - - @legacy_function - def get_radius_ddot_external(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('radius_ddot_external', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH / (UNIT_TIME**2)) - function.result_type = 'int32' - return function - - @legacy_function - def get_level(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('level', dtype='int32', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_stellar_type(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('stellar_type', dtype='int32', direction=function.IN, unit=units.stellar_type) - function.result_type = 'int32' - return function - - @legacy_function - def get_stellar_type(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('stellar_type', dtype='int32', direction=function.OUT, unit=units.stellar_type) - function.result_type = 'int32' - return function - - @legacy_function - def set_true_anomaly(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('true_anomaly', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_true_anomaly(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('true_anomaly', dtype='float64', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_sample_orbital_phases_randomly(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('sample_orbital_phases_randomly', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_sample_orbital_phases_randomly(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('sample_orbital_phases_randomly', dtype='bool', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - ################################################# - ### user-specified instantaneous perturbation ### - ################################################# - - @legacy_function - def set_instantaneous_perturbation_delta_mass(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('instantaneous_perturbation_delta_mass', dtype='float64', direction=function.IN, unit=UNIT_MASS) - function.result_type = 'int32' - return function - - @legacy_function - def get_instantaneous_perturbation_delta_mass(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('instantaneous_perturbation_delta_mass', dtype='float64', direction=function.OUT, unit=UNIT_MASS) - function.result_type = 'int32' - return function - - @legacy_function - def set_instantaneous_perturbation_delta_position(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('instantaneous_perturbation_delta_position_x', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) - function.addParameter('instantaneous_perturbation_delta_position_y', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) - function.addParameter('instantaneous_perturbation_delta_position_z', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_instantaneous_perturbation_delta_position(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('instantaneous_perturbation_delta_position_x', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) - function.addParameter('instantaneous_perturbation_delta_position_y', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) - function.addParameter('instantaneous_perturbation_delta_position_z', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def set_instantaneous_perturbation_delta_velocity(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('instantaneous_perturbation_delta_velocity_x', dtype='float64', direction=function.IN, unit=UNIT_LENGTH / UNIT_TIME) - function.addParameter('instantaneous_perturbation_delta_velocity_y', dtype='float64', direction=function.IN, unit=UNIT_LENGTH / UNIT_TIME) - function.addParameter('instantaneous_perturbation_delta_velocity_z', dtype='float64', direction=function.IN, unit=UNIT_LENGTH / UNIT_TIME) - function.result_type = 'int32' - return function - - @legacy_function - def get_instantaneous_perturbation_delta_velocity(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('instantaneous_perturbation_delta_velocity_x', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH / UNIT_TIME) - function.addParameter('instantaneous_perturbation_delta_velocity_y', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH / UNIT_TIME) - function.addParameter('instantaneous_perturbation_delta_velocity_z', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH / UNIT_TIME) - function.result_type = 'int32' - return function - - ########################## - # external particles - ########################## - - @legacy_function - def new_external_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.OUT, unit=INDEX) - function.addParameter('mass', dtype='float64', direction=function.IN, unit=UNIT_MASS) - function.result_type = 'int32' - return function - - @legacy_function - def delete_external_particle(): - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.result_type = 'int32' - return function - - @legacy_function - def set_external_mass(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('mass', dtype='float64', direction=function.IN, unit=UNIT_MASS) - function.result_type = 'int32' - return function - - @legacy_function - def get_external_mass(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('mass', dtype='float64', direction=function.OUT, unit=UNIT_MASS) - function.result_type = 'int32' - return function - - @legacy_function - def set_external_path(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('path', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_external_path(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('path', dtype='int32', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_external_mode(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('mode', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_external_mode(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('mode', dtype='int32', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_external_t_ref(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('t_ref', dtype='float64', direction=function.IN, unit=UNIT_TIME) - function.result_type = 'int32' - return function - - @legacy_function - def get_external_t_ref(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('t_ref', dtype='float64', direction=function.OUT, unit=UNIT_TIME) - function.result_type = 'int32' - return function - - @legacy_function - def set_external_t_passed(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('t_passed', dtype='float64', direction=function.IN, unit=UNIT_TIME) - function.result_type = 'int32' - return function - - @legacy_function - def get_external_t_passed(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('t_passed', dtype='float64', direction=function.OUT, unit=UNIT_TIME) - function.result_type = 'int32' - return function - - @legacy_function - def set_external_r0_vectors(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('r0_vec_x', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) - function.addParameter('r0_vec_y', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) - function.addParameter('r0_vec_z', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_external_r0_vectors(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('r0_vec_x', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) - function.addParameter('r0_vec_y', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) - function.addParameter('r0_vec_z', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def set_external_rdot_vectors(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('rdot_vec_x', dtype='float64', direction=function.IN, unit=UNIT_LENGTH / UNIT_TIME) - function.addParameter('rdot_vec_y', dtype='float64', direction=function.IN, unit=UNIT_LENGTH / UNIT_TIME) - function.addParameter('rdot_vec_z', dtype='float64', direction=function.IN, unit=UNIT_LENGTH / UNIT_TIME) - function.result_type = 'int32' - return function - - @legacy_function - def get_external_rdot_vectors(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('rdot_vec_x', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH / UNIT_TIME) - function.addParameter('rdot_vec_y', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH / UNIT_TIME) - function.addParameter('rdot_vec_z', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH / UNIT_TIME) - function.result_type = 'int32' - return function - - @legacy_function - def set_external_periapse_distance(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('periapse_distance', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_external_periapse_distance(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('periapse_distance', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def set_external_eccentricity(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('eccentricity', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_external_eccentricity(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('eccentricity', dtype='float64', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_external_e_hat_vectors(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('e_hat_vec_x', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.addParameter('e_hat_vec_y', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.addParameter('e_hat_vec_z', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_external_e_hat_vectors(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('e_hat_vec_x', dtype='float64', direction=function.OUT, unit=NO_UNIT) - function.addParameter('e_hat_vec_y', dtype='float64', direction=function.OUT, unit=NO_UNIT) - function.addParameter('e_hat_vec_z', dtype='float64', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_external_h_hat_vectors(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('h_hat_vec_x', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.addParameter('h_hat_vec_y', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.addParameter('h_hat_vec_z', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_external_h_hat_vectors(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('h_hat_vec_x', dtype='float64', direction=function.OUT, unit=NO_UNIT) - function.addParameter('h_hat_vec_y', dtype='float64', direction=function.OUT, unit=NO_UNIT) - function.addParameter('h_hat_vec_z', dtype='float64', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_external_r_vectors(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('r_vec_x', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) - function.addParameter('r_vec_y', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) - function.addParameter('r_vec_z', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) - function.result_type = 'int32' - return function - - #################### - ### spin vectors ### - #################### - - @legacy_function - def set_spin_vector(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('spin_vec_x', dtype='float64', direction=function.IN, unit=1.0 / UNIT_TIME) - function.addParameter('spin_vec_y', dtype='float64', direction=function.IN, unit=1.0 / UNIT_TIME) - function.addParameter('spin_vec_z', dtype='float64', direction=function.IN, unit=1.0 / UNIT_TIME) - function.result_type = 'int32' - return function - - @legacy_function - def get_spin_vector(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('spin_vec_x', dtype='float64', direction=function.OUT, unit=1.0 / UNIT_TIME) - function.addParameter('spin_vec_y', dtype='float64', direction=function.OUT, unit=1.0 / UNIT_TIME) - function.addParameter('spin_vec_z', dtype='float64', direction=function.OUT, unit=1.0 / UNIT_TIME) - function.result_type = 'int32' - return function - - @legacy_function - def set_spin_vector_dot_external(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('spin_vec_x_dot_external', dtype='float64', direction=function.IN, unit=1.0 / (UNIT_TIME**2)) - function.addParameter('spin_vec_y_dot_external', dtype='float64', direction=function.IN, unit=1.0 / (UNIT_TIME**2)) - function.addParameter('spin_vec_z_dot_external', dtype='float64', direction=function.IN, unit=1.0 / (UNIT_TIME**2)) - function.result_type = 'int32' - return function - - @legacy_function - def get_spin_vector_dot_external(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('spin_vec_x_dot_external', dtype='float64', direction=function.OUT, unit=1.0 / (UNIT_TIME**2)) - function.addParameter('spin_vec_y_dot_external', dtype='float64', direction=function.OUT, unit=1.0 / (UNIT_TIME**2)) - function.addParameter('spin_vec_z_dot_external', dtype='float64', direction=function.OUT, unit=1.0 / (UNIT_TIME**2)) - function.result_type = 'int32' - return function - - ################################ - ### orbital vectors/elements ### - ################################ - - @legacy_function - def set_orbital_vectors(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('e_vec_x', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.addParameter('e_vec_y', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.addParameter('e_vec_z', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.addParameter('h_vec_x', dtype='float64', direction=function.IN, unit=UNIT_ANGULAR_MOMENTUM) - function.addParameter('h_vec_y', dtype='float64', direction=function.IN, unit=UNIT_ANGULAR_MOMENTUM) - function.addParameter('h_vec_z', dtype='float64', direction=function.IN, unit=UNIT_ANGULAR_MOMENTUM) - function.result_type = 'int32' - return function - - @legacy_function - def get_orbital_vectors(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('e_vec_x', dtype='float64', direction=function.OUT, unit=NO_UNIT) - function.addParameter('e_vec_y', dtype='float64', direction=function.OUT, unit=NO_UNIT) - function.addParameter('e_vec_z', dtype='float64', direction=function.OUT, unit=NO_UNIT) - function.addParameter('h_vec_x', dtype='float64', direction=function.OUT, unit=UNIT_ANGULAR_MOMENTUM) - function.addParameter('h_vec_y', dtype='float64', direction=function.OUT, unit=UNIT_ANGULAR_MOMENTUM) - function.addParameter('h_vec_z', dtype='float64', direction=function.OUT, unit=UNIT_ANGULAR_MOMENTUM) - function.result_type = 'int32' - return function - - @legacy_function - def set_orbital_vectors_dot_external(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('e_vec_x_dot_external', dtype='float64', direction=function.IN, unit=1.0 / UNIT_TIME) - function.addParameter('e_vec_y_dot_external', dtype='float64', direction=function.IN, unit=1.0 / UNIT_TIME) - function.addParameter('e_vec_z_dot_external', dtype='float64', direction=function.IN, unit=1.0 / UNIT_TIME) - function.addParameter('h_vec_x_dot_external', dtype='float64', direction=function.IN, unit=UNIT_ANGULAR_MOMENTUM / UNIT_TIME) - function.addParameter('h_vec_y_dot_external', dtype='float64', direction=function.IN, unit=UNIT_ANGULAR_MOMENTUM / UNIT_TIME) - function.addParameter('h_vec_z_dot_external', dtype='float64', direction=function.IN, unit=UNIT_ANGULAR_MOMENTUM / UNIT_TIME) - function.result_type = 'int32' - return function - - @legacy_function - def get_orbital_vectors_dot_external(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('e_vec_x_dot_external', dtype='float64', direction=function.OUT, unit=1.0 / UNIT_TIME) - function.addParameter('e_vec_y_dot_external', dtype='float64', direction=function.OUT, unit=1.0 / UNIT_TIME) - function.addParameter('e_vec_z_dot_external', dtype='float64', direction=function.OUT, unit=1.0 / UNIT_TIME) - function.addParameter('h_vec_x_dot_external', dtype='float64', direction=function.OUT, unit=UNIT_ANGULAR_MOMENTUM / UNIT_TIME) - function.addParameter('h_vec_y_dot_external', dtype='float64', direction=function.OUT, unit=UNIT_ANGULAR_MOMENTUM / UNIT_TIME) - function.addParameter('h_vec_z_dot_external', dtype='float64', direction=function.OUT, unit=UNIT_ANGULAR_MOMENTUM / UNIT_TIME) - function.result_type = 'int32' - return function - - @legacy_function - def set_orbital_elements(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('semimajor_axis', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) - function.addParameter('eccentricity', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.addParameter('inclination', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.addParameter('argument_of_pericenter', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.addParameter('longitude_of_ascending_node', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_orbital_elements(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('semimajor_axis', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) - function.addParameter('eccentricity', dtype='float64', direction=function.OUT, unit=NO_UNIT) - function.addParameter('inclination', dtype='float64', direction=function.OUT, unit=NO_UNIT) - function.addParameter('argument_of_pericenter', dtype='float64', direction=function.OUT, unit=NO_UNIT) - function.addParameter('longitude_of_ascending_node', dtype='float64', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_inclination_relative_to_parent(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('inclination_relative_to_parent', dtype='float64', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_de_dt(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('de_dt', dtype='float64', direction=function.OUT, unit=1.0 / UNIT_TIME) - function.result_type = 'int32' - return function - - @legacy_function - def set_position_vector(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('position_x', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) - function.addParameter('position_y', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) - function.addParameter('position_z', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_position_vector(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('position_x', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) - function.addParameter('position_y', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) - function.addParameter('position_z', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def set_velocity_vector(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('velocity_x', dtype='float64', direction=function.IN, unit=UNIT_LENGTH / UNIT_TIME) - function.addParameter('velocity_y', dtype='float64', direction=function.IN, unit=UNIT_LENGTH / UNIT_TIME) - function.addParameter('velocity_z', dtype='float64', direction=function.IN, unit=UNIT_LENGTH / UNIT_TIME) - function.result_type = 'int32' - return function - - @legacy_function - def get_velocity_vector(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) - function.addParameter('velocity_x', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH / UNIT_TIME) - function.addParameter('velocity_y', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH / UNIT_TIME) - function.addParameter('velocity_z', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH / UNIT_TIME) - function.result_type = 'int32' - return function - - ################ - ### PN terms ### - ################ - - @legacy_function - def set_include_pairwise_1PN_terms(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('include_pairwise_1PN_terms', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_include_pairwise_1PN_terms(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('include_pairwise_1PN_terms', dtype='bool', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_include_pairwise_25PN_terms(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('include_pairwise_25PN_terms', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_include_pairwise_25PN_terms(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('include_pairwise_25PN_terms', dtype='bool', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - ############# - ### tides ### - ############# - - @legacy_function - def set_tides_method(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('tides_method', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_tides_method(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('tides_method', dtype='int32', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_include_tidal_friction_terms(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('include_tidal_friction_terms', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_include_tidal_friction_terms(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('include_tidal_friction_terms', dtype='bool', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_include_tidal_bulges_precession_terms(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('include_tidal_bulges_precession_terms', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_include_tidal_bulges_precession_terms(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('include_tidal_bulges_precession_terms', dtype='bool', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_include_rotation_precession_terms(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('include_rotation_precession_terms', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_include_rotation_precession_terms(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('include_rotation_precession_terms', dtype='bool', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_minimum_eccentricity_for_tidal_precession(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('minimum_eccentricity_for_tidal_precession', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_minimum_eccentricity_for_tidal_precession(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('minimum_eccentricity_for_tidal_precession', dtype='float64', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - # physical parameters - - @legacy_function - def set_tides_apsidal_motion_constant(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('tides_apsidal_motion_constant', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - @legacy_function - def get_tides_apsidal_motion_constant(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('tides_apsidal_motion_constant', dtype='float64', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_tides_gyration_radius(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('tides_gyration_radius', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - @legacy_function - def get_tides_gyration_radius(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('tides_gyration_radius', dtype='float64', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_tides_viscous_time_scale(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('tides_viscous_time_scale', dtype='float64', direction=function.IN, unit=UNIT_TIME) - function.result_type = 'int32' - return function - @legacy_function - def get_tides_viscous_time_scale(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('tides_viscous_time_scale', dtype='float64', direction=function.OUT, unit=UNIT_TIME) - function.result_type = 'int32' - return function - - @legacy_function - def set_tides_viscous_time_scale_prescription(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('tides_viscous_time_scale_prescription', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - @legacy_function - def get_tides_viscous_time_scale_prescription(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('tides_viscous_time_scale_prescription', dtype='int32', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_convective_envelope_mass(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('convective_envelope_mass', dtype='float64', direction=function.IN, unit=UNIT_MASS) - function.result_type = 'int32' - return function - @legacy_function - def get_convective_envelope_mass(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('convective_envelope_mass', dtype='float64', direction=function.OUT, unit=UNIT_MASS) - function.result_type = 'int32' - return function - - @legacy_function - def set_convective_envelope_radius(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('convective_envelope_radius', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) - function.result_type = 'int32' - return function - @legacy_function - def get_convective_envelope_radius(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('convective_envelope_radius', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def set_luminosity(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('luminosity', dtype='float64', direction=function.IN, unit=UNIT_LUMINOSITY) - function.result_type = 'int32' - return function - @legacy_function - def get_luminosity(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('luminosity', dtype='float64', direction=function.OUT, unit=UNIT_LUMINOSITY) - function.result_type = 'int32' - return function - - #################### - ### root finding ### - #################### - - # secular breakdown - @legacy_function - def set_check_for_secular_breakdown(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('check_for_secular_breakdown', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_check_for_secular_breakdown(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('check_for_secular_breakdown', dtype='bool', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - # dynamical instablity - @legacy_function - def set_check_for_dynamical_instability(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('check_for_dynamical_instability', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_check_for_dynamical_instability(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('check_for_dynamical_instability', dtype='bool', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_dynamical_instability_criterion(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('dynamical_instability_criterion', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_dynamical_instability_criterion(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('dynamical_instability_criterion', dtype='int32', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_dynamical_instability_central_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('dynamical_instability_central_particle', dtype='int32', direction=function.IN, unit=LINK('particles')) - function.result_type = 'int32' - return function - - @legacy_function - def get_dynamical_instability_central_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('dynamical_instability_central_particle', dtype='int32', direction=function.OUT, unit=LINK('particles')) - function.result_type = 'int32' - return function - - @legacy_function - def set_dynamical_instability_K_parameter(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.addParameter('dynamical_instability_K_parameter', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_dynamical_instability_K_parameter(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.addParameter('dynamical_instability_K_parameter', dtype='float64', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - # physical collision / orbit crossing - @legacy_function - def set_check_for_physical_collision_or_orbit_crossing(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('check_for_physical_collision_or_orbit_crossing', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_check_for_physical_collision_or_orbit_crossing(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('check_for_physical_collision_or_orbit_crossing', dtype='bool', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - # minimum periapse distance reached - @legacy_function - def set_check_for_minimum_periapse_distance(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('check_for_minimum_periapse_distance', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_check_for_minimum_periapse_distance(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('check_for_minimum_periapse_distance', dtype='bool', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_check_for_minimum_periapse_distance_value(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('check_for_minimum_periapse_distance_value', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_check_for_minimum_periapse_distance_value(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('check_for_minimum_periapse_distance_value', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) - function.result_type = 'int32' - return function - - # RLOF at pericentre - @legacy_function - def set_check_for_RLOF_at_pericentre(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('check_for_RLOF_at_pericentre', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_check_for_RLOF_at_pericentre(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('check_for_RLOF_at_pericentre', dtype='bool', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_check_for_RLOF_at_pericentre_use_sepinsky_fit(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('check_for_RLOF_at_pericentre_use_sepinsky_fit', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_check_for_RLOF_at_pericentre_use_sepinsky_fit(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('check_for_RLOF_at_pericentre_use_sepinsky_fit', dtype='bool', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - # retrieve root finding state - @legacy_function - def set_root_finding_state(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('secular_breakdown_has_occurred', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.addParameter('dynamical_instability_has_occurred', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.addParameter('physical_collision_or_orbit_crossing_has_occurred', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.addParameter('minimum_periapse_distance_has_occurred', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.addParameter('RLOF_at_pericentre_has_occurred', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_root_finding_state(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.addParameter('secular_breakdown_has_occurred', dtype='bool', direction=function.OUT, unit=NO_UNIT) - function.addParameter('dynamical_instability_has_occurred', dtype='bool', direction=function.OUT, unit=NO_UNIT) - function.addParameter('physical_collision_or_orbit_crossing_has_occurred', dtype='bool', direction=function.OUT, unit=NO_UNIT) - function.addParameter('minimum_periapse_distance_has_occurred', dtype='bool', direction=function.OUT, unit=NO_UNIT) - function.addParameter('RLOF_at_pericentre_has_occurred', dtype='bool', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - ######################## - ### evolve interface ### - ######################## - - @legacy_function - def evolve_interface(): - function = LegacyFunctionSpecification() - function.addParameter('start_time', dtype='float64', direction=function.IN, unit=UNIT_TIME) - function.addParameter('time_step', dtype='float64', direction=function.IN, unit=UNIT_TIME) - function.addParameter('output_time', dtype='float64', direction=function.OUT, unit=UNIT_TIME) - function.addParameter('hamiltonian', dtype='float64', direction=function.OUT, unit=UNIT_ENERGY) - function.addParameter('flag', dtype='int32', direction=function.OUT, unit=NO_UNIT) - function.addParameter('error_code', dtype='int32', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def determine_binary_parents_levels_and_masses_interface(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def apply_external_perturbation_assuming_integrated_orbits_interface(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def apply_user_specified_instantaneous_perturbation_interface(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def set_positions_and_velocities_interface(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - ####################### - ### code parameters ### - ####################### - - @legacy_function - def get_orbital_phases_random_seed(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_orbital_phases_random_seed(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='int32', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - ################## - ### tolerances ### - ################## - - @legacy_function - def get_relative_tolerance(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_relative_tolerance(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_absolute_tolerance_eccentricity_vectors(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_absolute_tolerance_eccentricity_vectors(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='float64', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - ############# - ### terms ### - ############# - - @legacy_function - def get_include_quadrupole_order_terms(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_include_quadrupole_order_terms(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_include_octupole_order_binary_pair_terms(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_include_octupole_order_binary_pair_terms(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_include_octupole_order_binary_triplet_terms(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_include_octupole_order_binary_triplet_terms(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_include_hexadecupole_order_binary_pair_terms(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_include_hexadecupole_order_binary_pair_terms(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def get_include_dotriacontupole_order_binary_pair_terms(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.OUT, unit=NO_UNIT) - function.result_type = 'int32' - return function - - @legacy_function - def set_include_dotriacontupole_order_binary_pair_terms(): - function = LegacyFunctionSpecification() - function.addParameter('value', dtype='bool', direction=function.IN, unit=NO_UNIT) - function.result_type = 'int32' - return function - -class SecularMultiple(InCodeComponentImplementation): - - def __init__(self, **options): - InCodeComponentImplementation.__init__(self, SecularMultipleInterface(**options), **options) - self.model_time = 0.0 | units.Myr - self.particles_committed = False - - self.initial_hamiltonian = 0.0 | UNIT_ENERGY - self.hamiltonian = 0.0 | UNIT_ENERGY - self.flag = 0 - self.error_code = 0 - - # self.verbose = True - # self.debug = True - - def define_particle_sets(self, handler): - - handler.define_set('particles', 'index_of_the_particle') - handler.set_new('particles', 'new_particle') - handler.set_delete('particles', 'delete_particle') - - handler.add_setter('particles', 'set_children', names=('child1', 'child2')) - handler.add_getter('particles', 'get_children', names=('child1', 'child2')) - handler.add_setter('particles', 'set_mass') - handler.add_getter('particles', 'get_mass') - handler.add_setter('particles', 'set_mass_dot_external') - handler.add_getter('particles', 'get_mass_dot_external') - handler.add_setter('particles', 'set_radius') - handler.add_getter('particles', 'get_radius') - handler.add_setter('particles', 'set_radius_dot_external') - handler.add_getter('particles', 'get_radius_dot_external') - handler.add_setter('particles', 'set_radius_ddot_external') - handler.add_getter('particles', 'get_radius_ddot_external') - - handler.add_getter('particles', 'get_level') - - handler.add_setter('particles', 'set_stellar_type') - handler.add_getter('particles', 'get_stellar_type') - - handler.add_setter('particles', 'set_true_anomaly') - handler.add_getter('particles', 'get_true_anomaly') - - handler.add_setter('particles', 'set_sample_orbital_phases_randomly') - handler.add_getter('particles', 'get_sample_orbital_phases_randomly') - - handler.add_setter('particles', 'set_instantaneous_perturbation_delta_mass') - handler.add_getter('particles', 'get_instantaneous_perturbation_delta_mass') - handler.add_setter('particles', 'set_instantaneous_perturbation_delta_position') - handler.add_getter('particles', 'get_instantaneous_perturbation_delta_position') - handler.add_setter('particles', 'set_instantaneous_perturbation_delta_velocity') - handler.add_getter('particles', 'get_instantaneous_perturbation_delta_velocity') - - handler.add_setter('particles', 'set_spin_vector') - handler.add_getter('particles', 'get_spin_vector') - handler.add_setter('particles', 'set_spin_vector_dot_external') - handler.add_getter('particles', 'get_spin_vector_dot_external') - handler.add_setter('particles', 'set_orbital_vectors') - handler.add_getter('particles', 'get_orbital_vectors') - handler.add_setter('particles', 'set_orbital_vectors_dot_external') - handler.add_getter('particles', 'get_orbital_vectors_dot_external') - handler.add_setter('particles', 'set_orbital_elements', names=('semimajor_axis', 'eccentricity', 'inclination', 'argument_of_pericenter', 'longitude_of_ascending_node')) - handler.add_getter('particles', 'get_orbital_elements', names=('semimajor_axis', 'eccentricity', 'inclination', 'argument_of_pericenter', 'longitude_of_ascending_node')) - handler.add_getter('particles', 'get_inclination_relative_to_parent') - handler.add_getter('particles', 'get_de_dt') - - handler.add_setter('particles', 'set_position_vector') - handler.add_getter('particles', 'get_position_vector') - handler.add_setter('particles', 'set_velocity_vector') - handler.add_getter('particles', 'get_velocity_vector') - - handler.add_setter('particles', 'set_include_pairwise_1PN_terms') - handler.add_getter('particles', 'get_include_pairwise_1PN_terms') - handler.add_setter('particles', 'set_include_pairwise_25PN_terms') - handler.add_getter('particles', 'get_include_pairwise_25PN_terms') - - handler.add_setter('particles', 'set_tides_method') - handler.add_getter('particles', 'get_tides_method') - handler.add_setter('particles', 'set_include_tidal_friction_terms') - handler.add_getter('particles', 'get_include_tidal_friction_terms') - handler.add_setter('particles', 'set_include_tidal_bulges_precession_terms') - handler.add_getter('particles', 'get_include_tidal_bulges_precession_terms') - handler.add_setter('particles', 'set_include_rotation_precession_terms') - handler.add_getter('particles', 'get_include_rotation_precession_terms') - handler.add_setter('particles', 'set_minimum_eccentricity_for_tidal_precession') - handler.add_getter('particles', 'get_minimum_eccentricity_for_tidal_precession') - - handler.add_setter('particles', 'set_tides_apsidal_motion_constant') - handler.add_getter('particles', 'get_tides_apsidal_motion_constant') - handler.add_setter('particles', 'set_tides_gyration_radius') - handler.add_getter('particles', 'get_tides_gyration_radius') - handler.add_setter('particles', 'set_tides_viscous_time_scale') - handler.add_getter('particles', 'get_tides_viscous_time_scale') - handler.add_setter('particles', 'set_tides_viscous_time_scale_prescription') - handler.add_getter('particles', 'get_tides_viscous_time_scale_prescription') - handler.add_setter('particles', 'set_convective_envelope_mass') - handler.add_getter('particles', 'get_convective_envelope_mass') - handler.add_setter('particles', 'set_convective_envelope_radius') - handler.add_getter('particles', 'get_convective_envelope_radius') - handler.add_setter('particles', 'set_luminosity') - handler.add_getter('particles', 'get_luminosity') - - handler.add_setter('particles', 'set_check_for_secular_breakdown') - handler.add_getter('particles', 'get_check_for_secular_breakdown') - handler.add_setter('particles', 'set_check_for_dynamical_instability') - handler.add_getter('particles', 'get_check_for_dynamical_instability') - handler.add_setter('particles', 'set_dynamical_instability_criterion') - handler.add_getter('particles', 'get_dynamical_instability_criterion') - handler.add_setter('particles', 'set_dynamical_instability_central_particle') - handler.add_getter('particles', 'get_dynamical_instability_central_particle') - handler.add_setter('particles', 'set_dynamical_instability_K_parameter') - handler.add_getter('particles', 'get_dynamical_instability_K_parameter') - - handler.add_setter('particles', 'set_check_for_physical_collision_or_orbit_crossing') - handler.add_getter('particles', 'get_check_for_physical_collision_or_orbit_crossing') - - handler.add_setter('particles', 'set_check_for_minimum_periapse_distance') - handler.add_getter('particles', 'get_check_for_minimum_periapse_distance') - handler.add_setter('particles', 'set_check_for_minimum_periapse_distance_value') - handler.add_getter('particles', 'get_check_for_minimum_periapse_distance_value') - - handler.add_setter('particles', 'set_check_for_RLOF_at_pericentre') - handler.add_getter('particles', 'get_check_for_RLOF_at_pericentre') - handler.add_setter('particles', 'set_check_for_RLOF_at_pericentre_use_sepinsky_fit') - handler.add_getter('particles', 'get_check_for_RLOF_at_pericentre_use_sepinsky_fit') - - handler.add_setter('particles', 'set_root_finding_state') - handler.add_getter('particles', 'get_root_finding_state') - - handler.define_set('external_particles', 'index_of_the_external_particle') - handler.set_new('external_particles', 'new_external_particle') - handler.set_delete('external_particles', 'delete_external_particle') - - handler.add_setter('external_particles', 'set_external_mass') - handler.add_getter('external_particles', 'get_external_mass') - handler.add_setter('external_particles', 'set_external_path') - handler.add_getter('external_particles', 'get_external_path') - handler.add_setter('external_particles', 'set_external_mode') - handler.add_getter('external_particles', 'get_external_mode') - - handler.add_setter('external_particles', 'set_external_t_ref') - handler.add_getter('external_particles', 'get_external_t_ref') - handler.add_setter('external_particles', 'set_external_t_passed') - handler.add_getter('external_particles', 'get_external_t_passed') - - handler.add_setter('external_particles', 'set_external_r0_vectors') - handler.add_getter('external_particles', 'get_external_r0_vectors') - handler.add_setter('external_particles', 'set_external_rdot_vectors', names=('rdot_vec_x', 'rdot_vec_y', 'rdot_vec_z')) - handler.add_getter('external_particles', 'get_external_rdot_vectors', names=('rdot_vec_x', 'rdot_vec_y', 'rdot_vec_z')) - - handler.add_setter('external_particles', 'set_external_eccentricity') - handler.add_getter('external_particles', 'get_external_eccentricity') - handler.add_setter('external_particles', 'set_external_periapse_distance') - handler.add_getter('external_particles', 'get_external_periapse_distance') - - handler.add_setter('external_particles', 'set_external_e_hat_vectors') - handler.add_getter('external_particles', 'get_external_e_hat_vectors') - handler.add_setter('external_particles', 'set_external_h_hat_vectors') - handler.add_getter('external_particles', 'get_external_h_hat_vectors') - - handler.add_getter('external_particles', 'get_external_r_vectors') - - def define_parameters(self, handler): - - handler.add_method_parameter( - "get_relative_tolerance", - "set_relative_tolerance", - "relative_tolerance", - "relative_tolerance", - default_value=1.0e-16 - ) - handler.add_method_parameter( - "get_absolute_tolerance_eccentricity_vectors", - "set_absolute_tolerance_eccentricity_vectors", - "absolute_tolerance_eccentricity_vectors", - "absolute_tolerance_eccentricity_vectors", - default_value=1.0e-14 - ) - handler.add_method_parameter( - "get_include_quadrupole_order_terms", - "set_include_quadrupole_order_terms", - "include_quadrupole_order_terms", - "include_quadrupole_order_terms", - default_value=True - ) - handler.add_method_parameter( - "get_include_octupole_order_binary_pair_terms", - "set_include_octupole_order_binary_pair_terms", - "include_octupole_order_binary_pair_terms", - "include_octupole_order_binary_pair_terms", - default_value=True - ) - handler.add_method_parameter( - "get_include_octupole_order_binary_triplet_terms", - "set_include_octupole_order_binary_triplet_terms", - "include_octupole_order_binary_triplet_terms", - "include_octupole_order_binary_triplet_terms", - default_value=False - ) - handler.add_method_parameter( - "get_include_hexadecupole_order_binary_pair_terms", - "set_include_hexadecupole_order_binary_pair_terms", - "include_hexadecupole_order_binary_pair_terms", - "include_hexadecupole_order_binary_pair_terms", - default_value=False - ) - handler.add_method_parameter( - "get_include_dotriacontupole_order_binary_pair_terms", - "set_include_dotriacontupole_order_binary_pair_terms", - "include_dotriacontupole_order_binary_pair_terms", - "include_dotriacontupole_order_binary_pair_terms", - default_value=False - ) - handler.add_method_parameter( - "get_orbital_phases_random_seed", - "set_orbital_phases_random_seed", - "orbital_phases_random_seed", - "orbital_phases_random_seed", - default_value=0 - ) - - def define_methods(self, handler): - pass - - def before_get_parameter(self): - """ - Called everytime just before a parameter is retrieved in using:: - instance.parameter.name - """ - pass - - def before_set_parameter(self): - """ - Called everytime just before a parameter is updated in using:: - instance.parameter.name = newvalue - """ - pass - - def commit_particles(self): - print(f"{PRINT_NAME} -- committing particles") - particles = self.particles - - if len(particles) == 0: - print(f"{PRINT_NAME} -- no particles have been added -- exiting") - return -2 # sys.exit(-1) # SR: exiting causes an AMUSE crash... - - particles.add_vector_attribute("spin_vec", ["spin_vec_x", "spin_vec_y", "spin_vec_z"]) - particles.add_vector_attribute("e_vec", ["e_vec_x", "e_vec_y", "e_vec_z"]) - particles.add_vector_attribute("h_vec", ["h_vec_x", "h_vec_y", "h_vec_z"]) - - self.external_particles.add_vector_attribute("r_vec", ["r_vec_x", "r_vec_y", "r_vec_z"]) - - # evaluate the initial hamiltonian - time_step = 0.0 | units.Myr - end_time, self.initial_hamiltonian, flag, error_code = self.evolve_interface(self.model_time, time_step) - - self.particles_committed = True - - def evolve_model(self, end_time): - if end_time is None: - print(f"{PRINT_NAME} -- end time not specified in evolve_model! exiting") - return -2 # don't exit, just return an error - if self.particles_committed == False: - self.commit_particles() - - # integrate system of ODEs - start_time = self.model_time - time_step = end_time - start_time - end_time, self.hamiltonian, flag, error_code = self.evolve_interface(start_time, time_step) - - # compute energy error - self.relative_energy_error = np.fabs((self.initial_hamiltonian - self.hamiltonian) / self.initial_hamiltonian) - - # update model time - self.model_time = end_time - - if (flag == 99): - print(f"{PRINT_NAME} -- error occurred during ODE integration") - print(f"{PRINT_NAME} -- error code is {error_code}") - self.flag = flag - self.error_code = error_code - - def determine_binary_parents_levels_and_masses(self): - self.determine_binary_parents_levels_and_masses_interface() - - def apply_external_perturbation_assuming_integrated_orbits(self): - self.apply_external_perturbation_assuming_integrated_orbits_interface() - - def apply_user_specified_instantaneous_perturbation(self): - self.apply_user_specified_instantaneous_perturbation_interface() - - def set_positions_and_velocities(self): - self.set_positions_and_velocities_interface() +SecularMultipleInterface = load_code("secularmultiple", "SecularMultipleInterface") +SecularMultiple = load_code("secularmultiple", "SecularMultiple") Secularmultiple = SecularMultiple diff --git a/src/amuse/community/sei/Makefile b/src/amuse/community/sei/Makefile deleted file mode 100644 index d98bd88551..0000000000 --- a/src/amuse/community/sei/Makefile +++ /dev/null @@ -1,40 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPICXX ?= mpicxx -CXX = $(MPICXX) -CC = $(MPICC) - -CFLAGS += -g -CXXFLAGS += $(CFLAGS) -LDFLAGS += -lm $(MUSE_LD_FLAGS) - -OBJS = interface.o - -CODELIB = src/libsei.a - -all: sei_worker - -clean: - $(RM) -f *.so *.o *.pyc worker_code.cc worker_code.h - $(RM) *~ sei_worker worker_code.cc - make -C src clean - -$(CODELIB): - make -C src all - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py SeiInterface -o $@ - -worker_code.h: interface.py - $(CODE_GENERATOR) --type=h interface.py SeiInterface -o $@ - -sei_worker: worker_code.cc worker_code.h $(CODELIB) $(OBJS) - $(CXX) $(CXXFLAGS) $(LDFLAGS) $< $(OBJS) $(CODELIB) -o $@ -lm $(LIBS) - -.cc.o: $< - $(CXX) $(CXXFLAGS) -c -o $@ $< diff --git a/src/amuse/community/sei/interface.cc b/src/amuse/community/sei/interface.cc deleted file mode 100644 index c7f89d51a7..0000000000 --- a/src/amuse/community/sei/interface.cc +++ /dev/null @@ -1,113 +0,0 @@ -/* - AMUSE interface to SEI - ====================== - - Hanno Rein, Scott Tremaine - -*/ -#include -#include -#ifdef __cplusplus -extern "C" { -#endif -#include "src/sei.h" -#ifdef __cplusplus -} -#endif -#include "interface.h" -#include "worker_code.h" - -static double time; -static double dt; - -static struct particle p; - -static void (*tt_operator)(double dt, struct particle *p); - -int initialization() { - time = 0.0; - dt = 1e-3 * 2.0 * M_PI; - tt_operator = &operator_sei;//default :) - return 0; -} - -int new_particle(int *id, double x, double y, double z, - double vx, double vy, double vz) -{ - *id = 0; - - p.x = x; - p.y = y; - p.z = z; - p.vx = vx; - p.vy = vy; - p.vz = vz; - - return 0; -} - -int delete_particle(int id) { - id = 0; - - return 0; -} - -int set_timestep(double dt_) -{ - dt = dt_; - return 0; -} - -int set_state(int id, double x, double y, double z, - double vx, double vy, double vz) -{ - p.x = x; - p.y = y; - p.z = z; - p.vx = vx; - p.vy = vy; - p.vz = vz; - return 0; -} - -int get_state(int id, double *x, double *y, double *z, - double *vx, double *vy, double *vz) -{ - *x = p.x; - *y = p.y; - *z = p.z; - *vx = p.vx; - *vy = p.vy; - *vz = p.vz; - return 0; -} - -int get_time(int id, double *time_) -{ - *time_ = time; - return 0; -} - -int select_integrator(int i) -{ - switch(i) { - case 1: - tt_operator = &operator_sei;break; - case 2: - tt_operator = &operator_lf;break; - case 3: - tt_operator = &operator_quinn;break; - default: return -1; - } - return 0; -} - -int evolve(double time_end) -{ - while (time0: self.particles.remove_particles(remove_set) - if len(add_set)>0: self.particles.add_particles(add_set) - self.overridden().recommit_particles() - - channel=sites.new_channel_to(self.particles) - attributes=["x","y","z","rho","xion","u","flux"] - if hasattr(sites,"metallicity"): - attributes.append("metallicity") - if hasattr(sites,"du_dt"): - attributes.append("du_dt") - channel.copy_attributes(attributes) - del sites - - self.overridden().recommit_particles() - - def evolve_model(self,tend): - self.overridden().evolve_model(tend) - self.simplex_to_gas_channel.copy_attributes(["xion","u","metallicity"]) - - def define_state(self, handler): - CommonCode.define_state(self, handler) - - handler.add_transition('INITIALIZED','EDIT','commit_parameters') - handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False) - handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False) - handler.add_transition('UPDATE','CHANGE_PARAMETERS_UPDATE','before_set_parameter', False) - handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters') - handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') - handler.add_transition('CHANGE_PARAMETERS_UPDATE','UPDATE','recommit_parameters') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') - handler.add_method('CHANGE_PARAMETERS_UPDATE','before_set_parameter') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') - handler.add_method('CHANGE_PARAMETERS_UPDATE','before_get_parameter') - handler.add_method('RUN', 'before_get_parameter') - handler.add_method('EDIT', 'before_get_parameter') - handler.add_method('UPDATE','before_get_parameter') - handler.add_method('EVOLVED','before_get_parameter') - handler.add_method('RUNCOMMIT','before_get_parameter') - - - - handler.add_method('EDIT', 'new_particle') - handler.add_method('EDIT', 'delete_particle') - handler.add_transition('EDIT', 'RUNCOMMIT', 'commit_particles') - handler.add_transition('RUN', 'UPDATE', 'new_particle', False) - handler.add_transition('RUN', 'UPDATE', 'delete_particle', False) - handler.add_transition('UPDATE', 'RUN', 'recommit_particles') - handler.add_transition('RUN','RUNCOMMIT', 'recommit_particles') - handler.add_transition('RUNCOMMIT','RUN', 'auto_go_to_run') - handler.add_transition('RUNCOMMIT', 'EVOLVED', 'evolve_model', False) -# handler.add_method('EVOLVED', 'evolve_model') - handler.define_state('RUNCOMMIT') - handler.add_transition('EVOLVED','RUN', 'synchronize_model') - handler.add_method('RUN', 'synchronize_model') - handler.add_method('RUN', 'get_state') - handler.add_method('RUN', 'get_density') - handler.add_method('RUN', 'get_position') - handler.add_method('RUN', 'get_flux') - handler.add_method('RUN', 'get_ionisation') - handler.add_method('RUN', 'get_internal_energy') - handler.add_method('RUN', 'set_dinternal_energy_dt') - handler.add_method('RUN', 'get_dinternal_energy_dt') - handler.add_method('UPDATE', 'set_dinternal_energy_dt') - handler.add_method('UPDATE', 'get_dinternal_energy_dt') - - handler.add_method('INITIALIZED', 'set_hilbert_order') - handler.add_method('INITIALIZED', 'set_box_size') - handler.add_method('INITIALIZED', 'set_timestep') - handler.add_method('INITIALIZED', 'set_source_Teff') - handler.add_method('INITIALIZED', 'set_number_frequency_bins') - handler.add_method('INITIALIZED', 'set_thermal_evolution') - handler.add_method('INITIALIZED', 'set_blackbody_spectrum') - handler.add_method('INITIALIZED', 'set_metal_cooling') - handler.add_method('INITIALIZED', 'set_recombination_radiation') - handler.add_method('INITIALIZED', 'set_collisional_ionization') +SimpleXInterface = load_code("simplex", "SimpleXInterface") +GlSimpleXInterface = load_code("simplex", "GlSimpleXInterface") +SimpleX = load_code("simplex", "SimpleX") +SimpleXSplitSet = load_code("simplex", "SimpleXSplitSet") Simplex = SimpleX diff --git a/src/amuse/community/simplex2_5/interface.py b/src/amuse/community/simplex2_5/interface.py index 4586b4c0f3..5c74946d17 100644 --- a/src/amuse/community/simplex2_5/interface.py +++ b/src/amuse/community/simplex2_5/interface.py @@ -1,5 +1 @@ -import os.path -from amuse.community.interface.common import CommonCodeInterface, CommonCode -from amuse.community import * -from amuse.community.simplex.interface import * - +from amuse.support.import_helper import load_code diff --git a/src/amuse/community/smalln/Makefile b/src/amuse/community/smalln/Makefile deleted file mode 100644 index 10ab47a586..0000000000 --- a/src/amuse/community/smalln/Makefile +++ /dev/null @@ -1,53 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -# Makefile to build the worker code. First draft was auto-generated; -# subsequent versions are hand-coded, so save a copy. Note that -# all compiles must use MPICXX, not CXX. - -ALL = smallN_worker -OPT = -I$(AMUSE_DIR)/lib/stopcond - -MPICXX ?= mpicxx -SC_FLAGS ?= -I$(AMUSE_DIR)/lib/stopcond -SC_CLIBS ?= -L$(AMUSE_DIR)/lib/stopcond -lstopcondmpi - -CFLAGS += -Wall -g $(OPT) -Isrc -CXXFLAGS += $(CFLAGS) $(SC_FLAGS) -LDFLAGS += $(SC_CLIBS) -lm $(MUSE_LD_FLAGS) - -OBJS = interface.o - -AM_LIBS = -L$(AMUSE_DIR)/lib/amuse_mpi -lamuse_mpi -AM_CFLAGS = -I$(AMUSE_DIR)/lib/amuse_mpi - -CODELIB = src/libsmallN.a - - -all: $(ALL) - -$(CODELIB): - make -C src all CXX='$(MPICXX)' - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py SmallNInterface -o $@ - -interface.h: interface.py - $(CODE_GENERATOR) --type=h interface.py -i amuse.community.interface.stopping_conditions.StoppingConditionInterface SmallNInterface -o $@ - -smallN_worker: worker_code.cc interface.h $(CODELIB) $(OBJS) - $(MPICXX) $(CXXFLAGS) $(LDFLAGS) worker_code.cc $(OBJS) $(CODELIB) -o $@ $(LDFLAGS) $(LIBS) - -%.o: %.cc - $(MPICXX) $(CXXFLAGS) -c -o $@ $< - -clean: - $(RM) -r -f *.so *.dSYM *.o *.pyc worker_code.cc interface.h - $(RM) -f *~ smallN_worker worker_code.cc - make -C src clean - -distclean: clean diff --git a/src/amuse/community/smalln/interface.cc b/src/amuse/community/smalln/interface.cc deleted file mode 100644 index fd38c95403..0000000000 --- a/src/amuse/community/smalln/interface.cc +++ /dev/null @@ -1,709 +0,0 @@ -#include "interface.h" - -// A stub of this file is machine generated, but the content is -// hand-coded. SAVE A COPY to avoid accidental overwriting! - -#include "src/smallN_interface.h" - -static hdyn *b = NULL; // root node for all smallN data -static hdyn *b_copy = NULL; - -static double begin_time = 0; -static real smalln_dtlog = _INFINITY_; -static int smalln_verbose = 0; -static string smalln_outfile(""); - -class UpdatedParticle { - - // AMUSE bookkeeping. A particle on the UpdatedParticle list has - // been added or removed internally. Use this class to communicate - // this information back to the python level. - - public: - - int index_of_particle; - int status; // 1 ==> deleted, 2 ==> added - - UpdatedParticle():index_of_particle(-1),status(0) {} - UpdatedParticle(int i, int s):index_of_particle(i), status(s) {} - UpdatedParticle(const UpdatedParticle& src) - :index_of_particle(src.index_of_particle), status(src.status) {} -}; - -#include -vector UpdatedParticles; - -// AMUSE STOPPING CONDITIONS SUPPORT -#include - -// Setup and parameters. - -int cleanup_code() -{ - // Clean up at the end of the calculation. - - if (b) { - rmtree(b); // deletes b - b = NULL; - } - if (b_copy) { - rmtree(b_copy); // deletes b_copy - b_copy = NULL; - } - begin_time = 0.0; - real smalln_dtlog = _INFINITY_; - smalln_verbose = 0; - smalln_outfile = string(""); - UpdatedParticles.clear(); - return 0; -} - -int initialize_code() -{ - initialize_stopping_conditions(); - // Begin the initialization by creating a basic hdyn data structure. - - cleanup_code(); - - b = new hdyn; - b_copy = NULL; - - b->set_eta(0.14); - b->set_gamma(1e-6); - b->set_system_time(0.0); - b->set_allow_full_unperturbed(1); - b->set_cm_index(100000); - - // AMUSE stopping conditions support. - - set_support_for_condition(COLLISION_DETECTION); - set_support_for_condition(INTERACTION_OVER_DETECTION); - mpi_setup_stopping_conditions(); - - return 0; -} - -int set_begin_time(double input) { - begin_time = input; - return 0; -} - -int get_begin_time(double * output) { - *output = begin_time; - return 0; -} - -int set_eps2(double softening_parameter_sq) // not used -{ - return 0; -} - -int get_eps2(double * softening_parameter_sq) -{ - *softening_parameter_sq = 0; - return 0; -} - -int set_eta(double timestep_parameter) -{ - b->set_eta(timestep_parameter); - return 0; -} - -int get_eta(double * timestep_parameter) -{ - *timestep_parameter = b->get_eta(); - return 0; -} - -int set_gamma(double unperturbed_parameter) -{ - b->set_gamma(unperturbed_parameter); - return 0; -} - -int get_gamma(double * unperturbed_parameter) -{ - *unperturbed_parameter = b->get_gamma(); - return 0; -} - -int set_allow_full_unperturbed(int allow_full_unperturbed) -{ - b->set_allow_full_unperturbed(allow_full_unperturbed); - return 0; -} - -int get_allow_full_unperturbed(int * allow_full_unperturbed) -{ - *allow_full_unperturbed = b->get_allow_full_unperturbed(); - return 0; -} - -int set_cm_index(int cm_index) -{ - b->set_cm_index(cm_index); - // cout << "interface set_cm_index " << cm_index << endl << flush; - return 0; -} - -int get_cm_index(int * cm_index) -{ - *cm_index = b->get_cm_index(); - return 0; -} - -int set_time(double sys_time) -{ - b->set_system_time(sys_time); - return 0; -} - -int get_time(double * sys_time) -{ - *sys_time = b->get_system_time(); - return 0; -} - -int set_outfile(char * file) -{ - smalln_outfile = string(file); - // cout << "file = " << file << endl; - // cout << "smalln_outfile = " << smalln_outfile << endl; - return 0; -} - -int get_outfile(char ** file) -{ - *file = (char*)smalln_outfile.c_str(); - return 0; -} - -int commit_parameters() -{ - // Perform any needed setup after initial code parameters have been set. - - if (b->get_system_time() == 0) { - b->set_system_time(begin_time); - } - return 0; -} - -int recommit_parameters() -{ - // Perform any needed changes after code parameters have been reset. - - return 0; -} - -int commit_particles() -{ - // Complete the initialization, after all particles have been loaded. - - return 0; -} - -int recommit_particles() -{ - // Reinitialize/reset the system after particles have been added - // or removed. - - return 0; -} - -// Setters and getters for individual particles. - -int new_particle(int * index_of_the_particle, - double mass, - double x, double y, double z, - double vx, double vy, double vz, - double radius, int index_to_set) -{ - // Add a particle to the system. Let the module set the id, or - // force the index to index_to_set if >= 0 and allowed. - - *index_of_the_particle = add_particle(b, mass, radius, - vec(x,y,z), vec(vx,vy,vz), - index_to_set); - //cout << "new_particle: " << index_to_set - // << " " << *index_of_the_particle - // << endl << flush; - - return 0; -} - -int delete_particle(int index_of_the_particle) -{ - // Remove a (top-level) particle from the system. - - hdyn *bb = particle_with_index(b, index_of_the_particle); - if (!bb) return -1; - else return remove_particle(bb); -} - -int get_index_of_next_particle(int index_of_the_particle, - int * index_of_the_next_particle) -{ - hdyn *bb = particle_with_index(b, index_of_the_particle); - if (!bb) - return -1; - else if (!bb->get_younger_sister()) - return 1; - else - *index_of_the_next_particle = bb->get_younger_sister()->get_index(); - return 0; -} - -int set_state(int index_of_the_particle, - double mass, - double x, double y, double z, - double vx, double vy, double vz, - double radius) -{ - hdyn *bb = particle_with_index(b, index_of_the_particle); - if (!bb) return -1; - bb->set_mass(mass); - bb->set_radius(radius); - bb->set_pos(vec(x,y,z)); - bb->set_vel(vec(vx,vy,vz)); - return 0; -} - -int get_state(int index_of_the_particle, - double * mass, - double * x, double * y, double * z, - double * vx, double * vy, double * vz, - double * radius) -{ - hdyn *bb = particle_with_index(b, index_of_the_particle); - if (!bb) return -1; - *mass = bb->get_mass(); - *radius = bb->get_radius(); - vec pos = bb->get_pos(), vel = bb->get_vel(); - hdyn *p = bb->get_parent(); - while (p && p->get_parent()) { - pos += p->get_pos(); // return absolute values - vel += p->get_vel(); - p = p->get_parent(); - } - *x = pos[0]; - *y = pos[1]; - *z = pos[2]; - *vx = vel[0]; - *vy = vel[1]; - *vz = vel[2]; - return 0; -} - -int set_mass(int index_of_the_particle, double mass) -{ - hdyn *bb = particle_with_index(b, index_of_the_particle); - if (!bb) return -1; - bb->set_mass(mass); - return 0; -} - -int get_mass(int index_of_the_particle, double * mass) -{ - hdyn *bb = particle_with_index(b, index_of_the_particle); - if (!bb) return -1; - *mass = bb->get_mass(); - return 0; -} - -int set_radius(int index_of_the_particle, double radius) -{ - hdyn *bb = particle_with_index(b, index_of_the_particle); - if (!bb) return -1; - bb->set_radius(radius); - return 0; -} - -int get_radius(int index_of_the_particle, double * radius) -{ - hdyn *bb = particle_with_index(b, index_of_the_particle); - if (!bb){*radius = 0.0; return -1;} - *radius = bb->get_radius(); - return 0; -} - -int set_position(int index_of_the_particle, - double x, double y, double z) -{ - hdyn *bb = particle_with_index(b, index_of_the_particle); - if (!bb) return -1; - bb->set_pos(vec(x,y,z)); - return 0; -} - -int get_position(int index_of_the_particle, - double * x, double * y, double * z) -{ - hdyn *bb = particle_with_index(b, index_of_the_particle); - if (!bb) return -1; - vec pos = bb->get_pos(); - hdyn *p = bb->get_parent(); - while (p && p->get_parent()) { - pos += p->get_pos(); // return absolute value - p = p->get_parent(); - } - *x = pos[0]; - *y = pos[1]; - *z = pos[2]; - return 0; -} - -int set_velocity(int index_of_the_particle, - double vx, double vy, double vz) -{ - hdyn *bb = particle_with_index(b, index_of_the_particle); - if (!bb) return -1; - bb->set_vel(vec(vx,vy,vz)); - return 0; -} - -int get_velocity(int index_of_the_particle, - double * vx, double * vy, double * vz) -{ - hdyn *bb = particle_with_index(b, index_of_the_particle); - if (!bb) return -1; - vec vel = bb->get_vel(); - hdyn *p = bb->get_parent(); - while (p && p->get_parent()) { - vel += p->get_vel(); // return absolute value - p = p->get_parent(); - } - *vx = vel[0]; - *vy = vel[1]; - *vz = vel[2]; - return 0; -} - -int get_acceleration(int index_of_the_particle, - double * ax, double * ay, double * az) -{ - return -1; -} - -int get_potential(int index_of_the_particle, double * pot) -{ - return -1; -} - - -// System-wide operations. - -static real break_scale_sq = _INFINITY_; -static real structure_check_interval = _INFINITY_; - -int set_break_scale(real r) { - break_scale_sq = r*r; - if (break_scale_sq <= 0) break_scale_sq = _INFINITY_; - return 0; -} - -int set_structure_check_interval(real dt) { - structure_check_interval = dt; - return 0; -} - -void myspaces(int n) {for (int i = 0; i < n; i++) cout << " ";} - -void myprint(hdyn *b, int level = 0) -{ - myspaces(4*level); - cout << b->get_index() << " " << "mass = " << b->get_mass(); - if (b->get_kepler()) cout << " kepler"; - cout << endl; - myspaces(4*level); - cout << " pos = " << b->get_pos() << endl; - for_all_daughters(hdyn, b, bb) - myprint(bb, level+1); -} - -int evolve_model(double to_time) -{ - // On return, system_time will be greater than or equal to the - // specified time. All particles j will have time[j] <= - // system_time < time[j] + timestep[j]. - - reset_stopping_conditions(); - UpdatedParticles.clear(); - - // Default calling sequence to smallN_evolve forces it to - // integrate to the specified time, even if it thinks the - // interaction is over. - - // int status = - smallN_evolve(b, to_time, break_scale_sq, structure_check_interval, - smalln_dtlog, smalln_verbose, smalln_outfile); - //myprint(b); - - // Note: return status is independent of the termination reason... - - return 0; -} - -int is_over(int * over, real rlimit, int verbose) -{ - real rlimit2 = rlimit*rlimit; - if (rlimit2 <= 0) rlimit2 = _INFINITY_; - *over = check_structure(b, rlimit2, verbose); - - return 0; -} - -int synchronize_model() -{ - // Synchronize all particles at the current system time. - // No action needed. - - return 0; -} - -int get_time_step(double * time_step) -{ - *time_step = calculate_top_level_acc_and_jerk(b); - return 0; -} - -int get_index_of_first_particle(int * index_of_the_particle) -{ - *index_of_the_particle = -1; - hdyn *od = b->get_oldest_daughter(); - if (!od) return -1; - *index_of_the_particle = od->get_index(); - return 0; -} - -int get_indices_of_colliding_particles(int * index_of_particle1, - int * index_of_particle2) -{ - // TODO. - - *index_of_particle1 = -1; - *index_of_particle2 = -1; - return -1; -} - -int get_number_of_particles(int * number_of_particles) -{ - *number_of_particles = 0; - for_all_daughters(hdyn, b, bb) (*number_of_particles)++; - return 0; -} - -int get_total_mass(double * mass) -{ - *mass = 0; - for_all_daughters(hdyn, b, bb) (*mass) += bb->get_mass(); - return 0; -} - -int get_potential_energy(double * potential_energy) -{ - real kin, pot; - get_energies(b, kin, pot); - *potential_energy = pot; - return 0; -} - -int get_kinetic_energy(double * kinetic_energy) -{ - real kin, pot; - get_energies(b, kin, pot); - *kinetic_energy = kin; - return 0; -} - -int get_center_of_mass_position(double * x, double * y, double * z) -{ - real mtot = 0; - vec cmpos(0,0,0); - for_all_daughters(hdyn, b, bb) { - mtot += bb->get_mass(); - cmpos += bb->get_mass()*bb->get_pos(); - } - *x = cmpos[0]/mtot; - *y = cmpos[1]/mtot; - *z = cmpos[2]/mtot; - return 0; -} - -int get_center_of_mass_velocity(double * vx, double * vy, double * vz) -{ - real mtot = 0; - vec cmvel(0,0,0); - for_all_daughters(hdyn, b, bb) { - mtot += bb->get_mass(); - cmvel += bb->get_mass()*bb->get_vel(); - } - *vx = cmvel[0]/mtot; - *vy = cmvel[1]/mtot; - *vz = cmvel[2]/mtot; - return 0; -} - -int get_total_radius(double * radius) -{ - vec cmpos; - get_center_of_mass_position(&cmpos[0], &cmpos[1], &cmpos[2]); - real r2max = 0; - for_all_daughters(hdyn, b, bb) { - real r2 = square(bb->get_pos()-cmpos); - if (r2 > r2max) r2max = r2; - } - *radius = sqrt(r2max); - return 0; -} - -// Optional (not implemented; needed for bridge): - -int get_potential_at_point(double eps, - double x, double y, double z, - double * phi) -{ - return -1; -} - -int get_gravity_at_point(double eps, double x, double y, double z, - double * forcex, double * forcey, double * forcez) -{ - return -1; -} - - - -int update_particle_tree(int over) // default = 0 -{ - b_copy = b; // save the smallN tree until restored - b = get_tree(b_copy); // b now is the structured tree - // (why use b? - see below) - - if (over > 1) { - - // Over = 2 means a quasistable system has been detected. - // Over = 3 means that the interaction is over (because the - // system exceeded the size limit). In either case, - // get_tree2() may not have returned usable hierarchical - // structure (e.g. an outer body escapes during an inner - // triple resonance. Impose usable structure by relaxing the - // perturbation criterion on the components. By effectively - // ignoring all perturbations we ensure that top-level nodes - // are unbound, leaving all bound substructure in a clump - // which will be treatewd as a single object. - - rmtree(b); - b = get_tree(b_copy, 1.e6); // 1.e6 means ignore perturbations - - // Goals: (1) substructure, (2) top-level nodes are unbound. - // Should check both here, but not clear what to do if they - // aren't met... - - int nmul = 0; - for_all_daughters(hdyn, b, bi) - if (bi->get_oldest_daughter()) nmul++; - - if (nmul == 0) { - - // No substructure. Flag for now. - - cout << "*** SmallN: nmul = 0" << endl; - } - - int nbound = 0; - for_all_daughters(hdyn, b, bi) { - for_all_daughters(hdyn, b, bj) { - if (bj > bi) { - real m = bi->get_mass()+bj->get_mass(); - vec dx = bi->get_pos()-bj->get_pos(); - vec dv = bi->get_vel()-bj->get_vel(); - if (0.5*dv*dv - m/sqrt(dx*dx) < 0) nbound++; - } - } - } - - if (nbound > 0) { - - // Top level not unbound. Flag for now. - - cout << "*** SmallN: "; PRL(nbound); - } - } - - UpdatedParticles.clear(); - - // Create indices for the CM nodes and add them to the updated list. - - if (b->get_cm_index() <= 0) { - int max_index = -1; - for_all_leaves(hdyn, b, bb) - if (bb->get_index() > max_index) max_index = bb->get_index(); - b->set_cm_index(pow(10, (int)log10((real)max_index+1) + 2.) + 1); - } - - for_all_nodes(hdyn, b, bb) - if (bb->get_parent() && bb->get_oldest_daughter()) { - int newindex = b->get_cm_index(); - b->set_cm_index(newindex+1); - bb->set_index(newindex); - // cout << "push_back " << bb->get_index() << endl << flush; - UpdatedParticles.push_back(UpdatedParticle(newindex, 1)); - } - - // ARJEN: I'm pretty sure that the memory leak occurs because each - // invocation to get_tree() above creates a new data structure, - // but it is never deleted. If I could do it locally I would - // clean up as follows, but this causes an error, since - // synchronize_to() in the driving script needs the structured - // data. It looks like restore_particle_tree() below was intended - // to do just that, but it is not accessible from AMUSE and never - // invoked. Maybe it can be called through your state model? - // -- Steve - // - // rmtree(b); - // b = b_copy; - - return 0; -} - -int restore_particle_tree() // *** never used *** -{ - // Clean up temporary data structures. - - if (!b_copy) return -1; - rmtree(b); - b = b_copy; // b is now the smallN tree again - b_copy = NULL; - UpdatedParticles.clear(); - return 0; -} - -int get_number_of_particles_added(int * n_added) -{ - *n_added = (int)UpdatedParticles.size(); - return 0; -} - -int get_id_of_added_particle(int index, int * index_of_particle) -{ - if (index < 0 || index > (int) UpdatedParticles.size()) - return -1; - *index_of_particle = UpdatedParticles[index].index_of_particle; - return 0; -} - -int get_children_of_particle(int index_of_the_particle, - int * child1, int * child2) -{ - hdyn *bb = particle_with_index(b, index_of_the_particle); - if (!bb) return -1; - hdyn *od = bb->get_oldest_daughter(); - if (od && od->get_younger_sister()) { - *child1 = od->get_index(); - *child2 = od->get_younger_sister()->get_index(); - } else { - *child1 = *child2 = -1; - } - return 0; -} diff --git a/src/amuse/community/smalln/interface.py b/src/amuse/community/smalln/interface.py index 775ea84a03..e939170cad 100644 --- a/src/amuse/community/smalln/interface.py +++ b/src/amuse/community/smalln/interface.py @@ -1,448 +1,7 @@ -from amuse.community import * -from amuse.community.interface.gd import GravitationalDynamics -from amuse.community.interface.gd import GravitationalDynamicsInterface - -# *** This script, together with the defaults in -# *** GravitationalDynamicsInterface, will be used to generate both -# *** the header file interface.h and the stub interface.cc. - -class SmallNInterface(CodeInterface, - StoppingConditionInterface, - GravitationalDynamicsInterface): - """ - Self-contained few-body integrator, using a fourth-order, - shared-timestep, time-symmetrized Hermite scheme including a - modified unperturbed treatment of close approaches. - """ - - # Interface specification. - - include_headers = ['interface.h', 'stopcond.h'] - - def __init__(self, **options): - CodeInterface.__init__( - self, - name_of_the_worker='smallN_worker', - **options - ) - - # Interface functions: - - @legacy_function - def new_particle(): - """ - Define a new particle in the stellar dynamics code. The - particle is initialized with the provided mass, radius, - position and velocity. This function returns an index that - can be used to refer to this particle. - """ - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('index_of_the_particle', dtype='int32', - direction=function.OUT, description = - """ - An index assigned to the newly created particle. - This index is supposed to be a local index for the code - (and not valid in other instances of the code or in other codes) - """ - ) - - function.addParameter('mass', dtype='float64', direction=function.IN, - description = "The mass of the particle") - function.addParameter('x', dtype='float64', direction=function.IN, - description = "The initial position vector of the particle") - function.addParameter('y', dtype='float64', direction=function.IN, - description = "The initial position vector of the particle") - function.addParameter('z', dtype='float64', direction=function.IN, - description = "The initial position vector of the particle") - function.addParameter('vx', dtype='float64', direction=function.IN, - description = "The initial velocity vector of the particle") - function.addParameter('vy', dtype='float64', direction=function.IN, - description = "The initial velocity vector of the particle") - function.addParameter('vz', dtype='float64', direction=function.IN, - description = "The initial velocity vector of the particle") - function.addParameter('radius', dtype='float64', direction=function.IN, - description = "The radius of the particle", default = 0) - function.addParameter('id', dtype='int32', direction=function.IN, - description = "Identifier of the particle, " - +"option for restoring state after loading", - default = -1) - function.result_type = 'int32' - function.result_doc = """ 0 - OK - particle was created and added to the model - -1 - ERROR - particle could not be created""" - return function - - # Inheritance from GravitationalDynamicsInterface means that - # functions in the standard interface don't need to be defined. - - # Additional functions defined here will be reflected in - # interface.h and must be provided in interface.cc in order for - # smallN_worker to build. - @legacy_function - def set_time(): - """ - Set the model time. Should use set_begin_time - """ - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='float64', direction=function.IN, - description = "The model time to start at", unit = nbody_system.time) - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Time value was changed - -2 - ERROR - The code does not support setting the time - """ - return function - - - @legacy_function - def set_eta(): - """ - Set the current time step parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('eta', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_eta(): - """ - Set the current system time step parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('eta', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_gamma(): - """ - Set the unperturbed threshold. - """ - function = LegacyFunctionSpecification() - function.addParameter('gamma', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_gamma(): - """ - Get the unperturbed threshold. - """ - function = LegacyFunctionSpecification() - function.addParameter('gamma', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_allow_full_unperturbed(): - """ - Set flag to allow full unperturbed motion. - """ - function = LegacyFunctionSpecification() - function.addParameter('allow_full_unpert', dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_allow_full_unperturbed(): - """ - Get flag to allow full unperturbed motion. - """ - function = LegacyFunctionSpecification() - function.addParameter('allow_full_unpert', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_cm_index(): - """ - Set the current time step parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('cm_index', dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_cm_index(): - """ - Set the current system time step parameter. - """ - function = LegacyFunctionSpecification() - function.addParameter('cm_index', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_break_scale(): - """ - Set the scale at which smallN should stop. - """ - function = LegacyFunctionSpecification() - function.addParameter('break_scale', dtype='float64', - direction=function.IN, unit = nbody_system.length) - function.result_type = 'int32' - return function - - @legacy_function - def set_outfile(): - """ - Set debug output file name. - """ - function = LegacyFunctionSpecification() - function.addParameter('outfile', dtype='string', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_outfile(): - """ - Get debug output file name. - """ - function = LegacyFunctionSpecification() - function.addParameter('outfile', dtype='string', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_structure_check_interval(): - """ - Set the time scale at which smallN should check structure. - """ - function = LegacyFunctionSpecification() - function.addParameter('check_interval', dtype='float64', - direction=function.IN, unit = nbody_system.time) - function.result_type = 'int32' - return function - - @legacy_function - def is_over(): - """ - Return 1 if the run is over, according to analyze(). - Return 2 for a quasi-stable system. - Return 3 if the size of the system exceeds rlimit. - Return 0 otherwise. - """ - function = LegacyFunctionSpecification() - function.addParameter('over', dtype='int32', - direction=function.OUT) - function.addParameter('rlimit', dtype='float64', - direction=function.IN, unit = nbody_system.length, - default = 0 ) - function.addParameter('verbose', dtype='int32', - direction=function.IN, default = 0) - function.result_type = 'int32' - return function - - @legacy_function - def update_particle_tree(): - """ - Update the internal particle tree to reflect the binary - structure created in evolve - """ - function = LegacyFunctionSpecification() - function.addParameter('over', dtype='int32', - direction=function.IN, - default = 0) - function.result_type = 'int32' - return function - - @legacy_function - def get_number_of_particles_added(): - """ - Return the number of particles added or deleted during the last evolve. - """ - function = LegacyFunctionSpecification() - function.addParameter('n_added', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_id_of_added_particle(): - """ - Return the number of particles added or deleted during the last evolve. - """ - function = LegacyFunctionSpecification() - function.addParameter('index_of_update', dtype='int32', - direction=function.IN, - description = 'index in the updated particles list') - function.addParameter('index_of_particle', dtype='int32', - direction=function.OUT) - function.can_handle_array = True - function.result_type = 'int32' - return function - - @legacy_function - def get_children_of_particle(): - """ - Return the number of particles added or deleted during the last evolve. - """ - function = LegacyFunctionSpecification() - function.addParameter('index_of_the_particle', dtype='int32', - direction=function.IN, - description = 'index of the parent particle', - unit = INDEX) - function.addParameter('child1', dtype='int32', direction=function.OUT, - description = 'index of the first child particle, -1 if none', - unit = LINK('particles') ) - function.addParameter('child2', dtype='int32', direction=function.OUT, - unit = LINK('particles')) - function.can_handle_array = True - function.result_type = 'int32' - return function - -class SmallN(GravitationalDynamics): - - # The actual module. - - def __init__(self, convert_nbody = None, **keyword_arguments): - self.stopping_conditions = StoppingConditions(self) - - legacy_interface = SmallNInterface(**keyword_arguments) - - GravitationalDynamics.__init__(self, - legacy_interface, - convert_nbody, - **keyword_arguments) - - def define_parameters(self, handler): - self.stopping_conditions.define_parameters(handler) - - # Set/get parameters specific to the module, not part of the - # standard interface. Accessors used here must be defined - # above and reflected in interface.cc. Python access is - # (e.g.) - # - # SmallN.parameters.timestep_parameter = xxx - - handler.add_method_parameter( - "get_eta", # getter name in interface.cc - "set_eta", # setter name in interface.cc - "timestep_parameter", # python parameter name - "timestep parameter", # description - default_value = 0.14 - ) - - handler.add_method_parameter( - "get_gamma", # getter name in interface.cc - "set_gamma", # setter name in interface.cc - "unperturbed_threshold", # python parameter name - "unperturbed threshold", # description - default_value = 1.e-6 - ) - - handler.add_method_parameter( - "get_allow_full_unperturbed", # getter name in interface.cc - "set_allow_full_unperturbed", # setter name in interface.cc - "allow_full_unperturbed", # python parameter name - "full unperturbed motion", # description - default_value = 1 - ) - - handler.add_method_parameter( - "get_outfile", # getter name in interface.cc - "set_outfile", # setter name in interface.cc - "outfile", # python parameter name - "debug output file", # description - default_value = "" - ) - - handler.add_method_parameter( - "get_cm_index", # getter name in interface.cc - "set_cm_index", # setter name in interface.cc - "cm_index", # python parameter name - "current CM index", # description - default_value = 100000 - ) - - handler.add_method_parameter( - "get_begin_time", - "set_begin_time", - "begin_time", - "model time to start the simulation at", - default_value = 0.0 | nbody_system.time - ) - - - def define_particle_sets(self, handler): - GravitationalDynamics.define_particle_sets(self, handler) - self.stopping_conditions.define_particle_set(handler) - handler.add_getter("particles", 'get_children_of_particle') - - def define_methods(self, handler): - self.stopping_conditions.define_methods(handler) - GravitationalDynamics.define_methods(self, handler) - - # Turn interface functions into methods. - - handler.add_method("new_particle", - ( - nbody_system.mass, - nbody_system.length, - nbody_system.length, - nbody_system.length, - nbody_system.speed, - nbody_system.speed, - nbody_system.speed, - nbody_system.length, - handler.NO_UNIT - ), - ( - handler.INDEX, - handler.ERROR_CODE - ) - ) - - def update_particle_set(self): - """ - update the particle set after the code has added binaries - - """ - - number_of_updated_particles = self.get_number_of_particles_added() - #print "number_of_updated_particles =", number_of_updated_particles - - if number_of_updated_particles == 0: - return - - indices_in_update_list = list(range(number_of_updated_particles)) - indices_to_add = self.get_id_of_added_particle(indices_in_update_list) - #print "indices_to_add:", indices_to_add, indices_in_update_list - - incode_storage = self.particles._private.attribute_storage - - try: - if len(indices_to_add) > 0: - incode_storage._add_indices(indices_to_add) - except: - print("Crash while adding indicies to incode_storage.") - print("indices_to_add=", indices_to_add) - print("number_of_updated_particles=", number_of_updated_particles) - print("incode_storage=", incode_storage) - print("dir(incode_storage)=", dir(incode_storage)) - raise - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - - self.stopping_conditions.define_state(handler) +from amuse.support.import_helper import load_code +SmallNInterface = load_code("smalln", "SmallNInterface") +SmallN = load_code("smalln", "SmallN") Smalln = SmallN diff --git a/src/amuse/community/smalln/src/Makefile b/src/amuse/community/smalln/src/Makefile deleted file mode 100644 index 2e18fc735e..0000000000 --- a/src/amuse/community/smalln/src/Makefile +++ /dev/null @@ -1,62 +0,0 @@ - -# Makefile to build the libsmallN.a library. The first draft was -# auto-generated; subsequent versions are hand-coded. Save a copy! - -# Optimization may cause failure on some systems. Replace by -O0 in -# that case. - -AMUSE_DIR ?= ../../../../.. -OPT = -I$(AMUSE_DIR)/lib/stopcond - -MPICXX ?= mpicxx -MPICC ?= mpicc -CXX ?= mpicxx -CFLAGS += -g -Wall $(OPT) -CXXFLAGS += $(CFLAGS) - -CODELIB = libsmallN.a - -CODEOBJS = smallN-lib.o smallN_unpert.o kepler-lib.o hdyn.o \ - analyze-lib.o nstab.co f2c.co util.o \ - smallN_interface.o - -AR = ar ruv -RANLIB = ranlib -RM = rm - -all: $(CODELIB) - -$(CODELIB): $(CODEOBJS) - $(RM) -f $@ - $(AR) $@ $(CODEOBJS) - $(RANLIB) $@ - -%.o : %.cc - $(CXX) $(CXXFLAGS) -c -o $@ $^ - -#----------------------------------------------------------------------- -# -# Special cases: - -nstab.co: nstab.c - $(MPICC) $(CFLAGS) -c $^ -o nstab.co - -f2c.co: f2c.c - $(MPICC) $(CFLAGS) -c $^ -o f2c.co - -smallN-lib.o: smallN.cc - $(MPICXX) $(CFLAGS) -c $^ -o smallN-lib.o - -kepler-lib.o: kepler.cc - $(MPICXX) $(CFLAGS) -c $^ -o kepler-lib.o - -analyze-lib.o: analyze.cc - $(MPICXX) $(CFLAGS) -c $^ -o analyze-lib.o - -#----------------------------------------------------------------------- - -tar: - tar czf smallN.tgz Makefile *.h *.cc plummer*.in* - -clean: - $(RM) -r -f *.o *.co *~ *.tgz *.a diff --git a/src/amuse/community/smalln/src/analyze.cc b/src/amuse/community/smalln/src/analyze.cc deleted file mode 120000 index 9e4476b111..0000000000 --- a/src/amuse/community/smalln/src/analyze.cc +++ /dev/null @@ -1 +0,0 @@ -../../ph4/src/analyze.cc \ No newline at end of file diff --git a/src/amuse/community/smalln/src/f2c.c b/src/amuse/community/smalln/src/f2c.c deleted file mode 120000 index 5fb0d112d7..0000000000 --- a/src/amuse/community/smalln/src/f2c.c +++ /dev/null @@ -1 +0,0 @@ -../../ph4/src/f2c.c \ No newline at end of file diff --git a/src/amuse/community/smalln/src/f2c.h b/src/amuse/community/smalln/src/f2c.h deleted file mode 120000 index 9ba1977c4f..0000000000 --- a/src/amuse/community/smalln/src/f2c.h +++ /dev/null @@ -1 +0,0 @@ -../../ph4/src/f2c.h \ No newline at end of file diff --git a/src/amuse/community/smalln/src/hdyn.cc b/src/amuse/community/smalln/src/hdyn.cc deleted file mode 120000 index 54a68c63a7..0000000000 --- a/src/amuse/community/smalln/src/hdyn.cc +++ /dev/null @@ -1 +0,0 @@ -../../ph4/src/hdyn.cc \ No newline at end of file diff --git a/src/amuse/community/smalln/src/hdyn.h b/src/amuse/community/smalln/src/hdyn.h deleted file mode 120000 index 79d3d5418d..0000000000 --- a/src/amuse/community/smalln/src/hdyn.h +++ /dev/null @@ -1 +0,0 @@ -../../ph4/src/hdyn.h \ No newline at end of file diff --git a/src/amuse/community/smalln/src/kepler.cc b/src/amuse/community/smalln/src/kepler.cc deleted file mode 120000 index 679b97c558..0000000000 --- a/src/amuse/community/smalln/src/kepler.cc +++ /dev/null @@ -1 +0,0 @@ -../../ph4/src/kepler.cc \ No newline at end of file diff --git a/src/amuse/community/smalln/src/kepler.h b/src/amuse/community/smalln/src/kepler.h deleted file mode 120000 index 4b303f9bc3..0000000000 --- a/src/amuse/community/smalln/src/kepler.h +++ /dev/null @@ -1 +0,0 @@ -../../ph4/src/kepler.h \ No newline at end of file diff --git a/src/amuse/community/smalln/src/nstab.c b/src/amuse/community/smalln/src/nstab.c deleted file mode 120000 index 1a69257882..0000000000 --- a/src/amuse/community/smalln/src/nstab.c +++ /dev/null @@ -1 +0,0 @@ -../../ph4/src/nstab.c \ No newline at end of file diff --git a/src/amuse/community/smalln/src/nstab.h b/src/amuse/community/smalln/src/nstab.h deleted file mode 120000 index f8713a698c..0000000000 --- a/src/amuse/community/smalln/src/nstab.h +++ /dev/null @@ -1 +0,0 @@ -../../ph4/src/nstab.h \ No newline at end of file diff --git a/src/amuse/community/smalln/src/smallN.cc b/src/amuse/community/smalln/src/smallN.cc deleted file mode 120000 index fcac60ff7f..0000000000 --- a/src/amuse/community/smalln/src/smallN.cc +++ /dev/null @@ -1 +0,0 @@ -../../ph4/src/smallN.cc \ No newline at end of file diff --git a/src/amuse/community/smalln/src/smallN_unpert.cc b/src/amuse/community/smalln/src/smallN_unpert.cc deleted file mode 120000 index 9693badc7f..0000000000 --- a/src/amuse/community/smalln/src/smallN_unpert.cc +++ /dev/null @@ -1 +0,0 @@ -../../ph4/src/smallN_unpert.cc \ No newline at end of file diff --git a/src/amuse/community/smalln/src/stdinc.h b/src/amuse/community/smalln/src/stdinc.h deleted file mode 120000 index 83c650e2ec..0000000000 --- a/src/amuse/community/smalln/src/stdinc.h +++ /dev/null @@ -1 +0,0 @@ -../../ph4/src/stdinc.h \ No newline at end of file diff --git a/src/amuse/community/smalln/src/util.cc b/src/amuse/community/smalln/src/util.cc deleted file mode 120000 index 1c35ed6290..0000000000 --- a/src/amuse/community/smalln/src/util.cc +++ /dev/null @@ -1 +0,0 @@ -../../ph4/src/util.cc \ No newline at end of file diff --git a/src/amuse/community/smalln/src/vec.h b/src/amuse/community/smalln/src/vec.h deleted file mode 120000 index 9717a34af5..0000000000 --- a/src/amuse/community/smalln/src/vec.h +++ /dev/null @@ -1 +0,0 @@ -../../ph4/src/vec.h \ No newline at end of file diff --git a/src/amuse/community/sphray/Makefile b/src/amuse/community/sphray/Makefile deleted file mode 100644 index 7b4b73fa9b..0000000000 --- a/src/amuse/community/sphray/Makefile +++ /dev/null @@ -1,55 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPIFC ?= mpif90 -MPIF90 ?= $(MPIFC) -FORTRAN ?= gfortran -FC ?= gfortran - -SRC=src - - -CODE_LIBS=$(SRC)/libsphray.a - -PIC=#-fPIC - -ifeq ($(findstring gfortran, $(notdir $(FORTRAN))), gfortran) -FFLAGS= $(FCFLAGS) -cpp -O0 # problems with ANY optimizations in gfortran 4.4 and below -endif - -ifeq ($(findstring ifort, $(notdir $(FORTRAN))), ifort) -IFORTFLAGS= -fpe0 -g -traceback -heap-arrays -fpp -u -FFLAGS= $(FCFLAGS) $(IFORTFLAGS) -O3 -no-prec-div -p -endif - -FFLAGS2= -I./src/ - -CLASSNAME=SPHRayInterface - -all: sphray_worker - -%.o: %.f90 Makefile - $(FC) $(FFLAGS) $(FFLAGS2) -c -o $@ $< - -%.o: %.F90 Makefile - $(FC) $(FFLAGS) $(FFLAGS2) -c -o $@ $< - -sphray_worker: sphray_worker.f90 interface.o - $(MPIF90) $(FFLAGS) $(FFLAGS2) $(FS_FLAGS) $(LDFLAGS) $^ -o $@ $(CODE_LIBS) $(SC_MPI_CLIBS) $(FS_LIBS) $(LIBS) - -sphray_worker.f90: interface.py - make -C src amuse_interface FFLAGS="$(FFLAGS)" FC="$(FC)" - $(CODE_GENERATOR) --type=f90 $< $(CLASSNAME) -o $@ - -clean: - make -C src clean - $(RM) -f *.o *.pyc *.bck - $(RM) -f sphray_worker sphray_worker.f90 - $(RM) -f sphray_worker_sockets sphray_worker-sockets.f90 - $(RM) -f forsockets.mod - $(RM) -f amuse_worker_module.mod - $(RM) -f src/lib*.a diff --git a/src/amuse/community/sphray/interface.py b/src/amuse/community/sphray/interface.py index 08d0ca93f1..4f6ecd6533 100644 --- a/src/amuse/community/sphray/interface.py +++ b/src/amuse/community/sphray/interface.py @@ -1,1015 +1,7 @@ -import os.path -from amuse.community.interface.common import CommonCodeInterface, CommonCode -from amuse.community import * -from amuse.support.options import option +from amuse.support.import_helper import load_code -class SPHRayInterface(CodeInterface, CommonCodeInterface, LiteratureReferencesMixIn, - CodeWithDataDirectories): - """ - SPHRAY is a smoothed particle hydrodynamics (SPH) ray tracer designed to - solve the 3D, time-dependent, radiative transfer equation. SPHRAY relies on - a Monte Carlo (MC) ray-tracing scheme that does not interpolate the SPH - particles on to a grid but instead integrates directly through the SPH - kernels. A quick Axis Aligned Bounding Box (AABB) test taken from computer - graphics applications allows for the acceleration of the ray-tracing - component. - - The relevant references are: - .. [#] ADS:2008MNRAS.386.1931A (Altay, Gabriel; Croft, Rupert A. C.; Pelupessy, Inti, 2008, MNRAS 386) - """ - - def __init__(self, **options): - CodeInterface.__init__(self, name_of_the_worker = self.name_of_the_worker(), **options) - LiteratureReferencesMixIn.__init__(self) - CodeWithDataDirectories.__init__(self) - - def name_of_the_worker(self): - return 'sphray_worker' - - def new_particle(self, mass, radius, x, y, z, vx, vy, vz): - pass - - @legacy_function - def commit_particles(): - function = LegacyFunctionSpecification() - function.result_type = 'i' - return function - - @legacy_function - def recommit_particles(): - function = LegacyFunctionSpecification() - function.result_type = 'i' - return function - - @legacy_function - def new_gas_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='int32', direction=function.OUT) - for x in ['mass','h_smooth','x','y','z','rho','xion','u']: - function.addParameter(x, dtype='float64', direction=function.IN) - for x in ['vx','vy','vz']: - function.addParameter(x, dtype='float64', direction=function.IN,default=0) - function.result_type = 'i' - return function - - @legacy_function - def new_src_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='int32', direction=function.OUT) - for x in ['luminosity','x','y','z']: - function.addParameter(x, dtype='float64', direction=function.IN) - function.addParameter("SpcType", dtype='float64', direction=function.IN,default=0) - function.result_type = 'i' - return function - - @legacy_function - def get_state_gas(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['mass','h_smooth','x','y','z','rho','xion','u']: - function.addParameter(x, dtype='float64', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def get_state_src(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='int32', direction=function.IN) - for x in ['luminosity','x','y','z','SpcType']: - function.addParameter(x, dtype='float64', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_state_gas(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['mass','h_smooth','x','y','z','rho','xion','u']: - function.addParameter(x, dtype='float64', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def set_pos_gas(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['x','y','z']: - function.addParameter(x, dtype='float64', direction=function.IN) - function.result_type = 'i' - return function - @legacy_function - def set_hsml_gas(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['h_smooth']: - function.addParameter(x, dtype='float64', direction=function.IN) - function.result_type = 'i' - return function - @legacy_function - def set_rho_gas(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['rho']: - function.addParameter(x, dtype='float64', direction=function.IN) - function.result_type = 'i' - return function - @legacy_function - def set_u_gas(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['u']: - function.addParameter(x, dtype='float64', direction=function.IN) - function.result_type = 'i' - return function - @legacy_function - def set_dudt_gas(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['du_dt']: - function.addParameter(x, dtype='float64', direction=function.IN) - function.result_type = 'i' - return function - @legacy_function - def set_vel_gas(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['vx','vy','vz']: - function.addParameter(x, dtype='float64', direction=function.IN) - function.result_type = 'i' - return function - @legacy_function - def get_vel_gas(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['vx','vy','vz']: - function.addParameter(x, dtype='float64', direction=function.OUT) - function.result_type = 'i' - return function - @legacy_function - def get_dudt_gas(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='i', direction=function.IN) - for x in ['du_dt']: - function.addParameter(x, dtype='float64', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_state_src(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='int32', direction=function.IN) - for x in ['luminosity','x','y','z']: - function.addParameter(x, dtype='float64', direction=function.IN) - function.addParameter("SpcType", dtype='float64', direction=function.IN,default=0.) - function.result_type = 'i' - return function - - @legacy_function - def set_luminosity_src(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='int32', direction=function.IN) - for x in ['luminosity']: - function.addParameter(x, dtype='float64', direction=function.IN) - function.result_type = 'i' - return function - - - @legacy_function - def remove_src_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='int32', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def remove_gas_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('id', dtype='int32', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def set_isothermal(): - """ set_isothermal([0,1]): isothermal if 1, Temperature evolution if 0 """ - function = LegacyFunctionSpecification() - function.addParameter('isothermal_flag', dtype='i', direction=function.IN) - function.result_type = 'i' - return function - @legacy_function - def get_isothermal(): - """ get_isothermal(): isothermal if 1, Temperature evolution if 0 """ - function = LegacyFunctionSpecification() - function.addParameter('isothermal_flag', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - @legacy_function - def set_H_caseA(): - """ set_H_caseA([0,1]): use case A for H if 1, not if 0 """ - function = LegacyFunctionSpecification() - function.addParameter('H_caseA_flag', dtype='i', direction=function.IN) - function.result_type = 'i' - return function - @legacy_function - def get_H_caseA(): - """ get_H_caseA(): use case A for H if 1, not if 0 """ - function = LegacyFunctionSpecification() - function.addParameter('H_caseA_flag', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - @legacy_function - def set_He_caseA(): - """ set_He_caseA([0,1]): use case A for H if 1, not if 0 """ - function = LegacyFunctionSpecification() - function.addParameter('He_caseA_flag', dtype='i', direction=function.IN) - function.result_type = 'i' - return function - @legacy_function - def get_He_caseA(): - """ get_He_caseA(): use case A for H if 1, not if 0 """ - function = LegacyFunctionSpecification() - function.addParameter('He_caseA_flag', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_raynumber(): - """ set number of rays per unit time """ - function = LegacyFunctionSpecification() - function.addParameter('number_rays', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - @legacy_function - def get_raynumber(): - """ get number of rays per unit time """ - function = LegacyFunctionSpecification() - function.addParameter('number_rays', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_defaultspectype(): - """ set default specType (negative in units of rydbergs, or positive integer) """ - function = LegacyFunctionSpecification() - function.addParameter('defaultspectype', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - @legacy_function - def get_defaultspectype(): - """ get default specType (negative in units of rydbergs, or positive integer) """ - function = LegacyFunctionSpecification() - function.addParameter('defaultspectype', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - - @legacy_function - def set_iontempsolver(): - """ set solver to use (1,2 = euler, bdf) """ - function = LegacyFunctionSpecification() - function.addParameter('iontempsolver', dtype='i', direction=function.IN) - function.result_type = 'i' - return function - @legacy_function - def get_iontempsolver(): - """ get solver to use (1,2 = euler, bdf) """ - function = LegacyFunctionSpecification() - function.addParameter('iontempsolver', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_boundary(): - """ set boundary condition to use (-1,0,1 = reflective, vacuum, periodic) """ - function = LegacyFunctionSpecification() - function.addParameter('boundary', dtype='i', direction=function.IN) - function.result_type = 'i' - return function - @legacy_function - def get_boundary(): - """ get boundary condition to use (-1,0,1 = reflective, vacuum, periodic) """ - function = LegacyFunctionSpecification() - function.addParameter('boundary', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_boxsize(): - """ set box size in kpc """ - function = LegacyFunctionSpecification() - function.addParameter('boxsize', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - @legacy_function - def get_boxsize(): - """ get box size in kpc """ - function = LegacyFunctionSpecification() - function.addParameter('boxsize', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_globalHefraction(): - """ set He mass fraction (f_H+f_He=1 ) """ - function = LegacyFunctionSpecification() - function.addParameter('globalHefraction', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - @legacy_function - def get_globalHefraction(): - """ get He mass fraction (f_H+f_He=1 ) """ - function = LegacyFunctionSpecification() - function.addParameter('globalHefraction', dtype='d', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def set_momentum_kicks(): - """ set_momentume_kicks([0,1]): calc momentum kicks if 1, not if 0 """ - function = LegacyFunctionSpecification() - function.addParameter('momentum_kicks', dtype='i', direction=function.IN) - function.result_type = 'i' - return function - @legacy_function - def get_momentum_kicks(): - """ set_momentume_kicks([0,1]): calc momentum kicks if 1, not if 0 """ - function = LegacyFunctionSpecification() - function.addParameter('momentum_kicks', dtype='i', direction=function.OUT) - function.result_type = 'i' - return function - - @legacy_function - def evolve_model(): - function = LegacyFunctionSpecification() - function.addParameter('time_end', dtype='d', direction=function.IN) - function.result_type = 'i' - return function - - @legacy_function - def set_time(): - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_time(): - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_sphray_data_directory(): - """ - Update the path to the sphray database. - """ - function = LegacyFunctionSpecification() - function.addParameter('data_directory', dtype='string', direction=function.IN, - description = "Name of the data directory") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value was set - -1 - ERROR - Directory does not exist - """ - return function - - @legacy_function - def get_sphray_data_directory(): - """ - Retrieve the path to the database currently used. - """ - function = LegacyFunctionSpecification() - function.addParameter('data_directory', dtype='string', direction=function.OUT, - description = "Name of the data directory") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Value was retrieved - -1 - ERROR - Could not retrieve value - """ - return function - - @legacy_function - def set_spectra_file(): - """ - set the spectrafile to use(relative to data directory) - """ - function = LegacyFunctionSpecification() - function.addParameter('spectra_file', dtype='string', direction=function.IN, - description = "Name of the file") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value was set - -1 - ERROR - Directory does not exist - """ - return function - - @legacy_function - def get_spectra_file(): - """ - get the spectrafile to use(relative to data directory) - """ - function = LegacyFunctionSpecification() - function.addParameter('spectra_file', dtype='string', direction=function.OUT, - description = "Name of the file") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Value was retrieved - -1 - ERROR - Could not retrieve value - """ - return function - - @legacy_function - def set_sphray_output_directory(): - """ - Update the output path. - """ - function = LegacyFunctionSpecification() - function.addParameter('output_directory', dtype='string', direction=function.IN, - description = "Name of the output directory") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Current value was set - -1 - ERROR - Directory does not exist - """ - return function - - @legacy_function - def get_sphray_output_directory(): - """ - Retrieve the output path. - """ - function = LegacyFunctionSpecification() - function.addParameter('output_directory', dtype='string', direction=function.OUT, - description = "Name of the output directory") - function.result_type = 'int32' - function.result_doc = """ - 0 - OK - Value was retrieved - -1 - ERROR - Could not retrieve value - """ - return function - -class SPHRay(CommonCode): - - def __init__(self,unit_converter = None, **options): - - if unit_converter is not None: - raise Exception("atm SPHRay uses predefined units converter") - - self.unit_converter = ConvertBetweenGenericAndSiUnits( - 1. | units.kpc, - 1.e10 | units.MSun, - 1. | units.kms) - - InCodeComponentImplementation.__init__(self, SPHRayInterface(**options)) - self.set_sphray_data_directory(self.data_directory) - self.set_sphray_output_directory(self.output_directory) - - def define_converter(self, handler): - if self.unit_converter is None: - raise Exception("something seriously wrong") - - handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) - - def define_properties(self, handler): - handler.add_property('get_time', public_name = "model_time") - - def define_parameters(self, handler): - handler.add_boolean_parameter( - "get_isothermal", - "set_isothermal", - "isothermal_flag", - "whether to evolve temperature (0) or keep isothermal (1)", - False - ) - - handler.add_boolean_parameter( - "get_momentum_kicks", - "set_momentum_kicks", - "momentum_kicks_flag", - "whether to use momentum kicks (1) not (0)", - False - ) - - handler.add_method_parameter( - "get_raynumber", - "set_raynumber", - "number_of_rays", - "number of rays per unit time", - default_value = 1000 | generic_unit_system.time**-1 - ) - - handler.add_method_parameter( - "get_iontempsolver", - "set_iontempsolver", - "ionization_temperature_solver", - "solver to use (1: euler, 2: bdf)", - default_value = 2 - ) - - handler.add_method_parameter( - "get_globalHefraction", - "set_globalHefraction", - "global_helium_mass_Fraction", - "global helium mass fraction (f_H+f_He=1)", - default_value = 0. - ) - - handler.add_method_parameter( - "get_boxsize", - "set_boxsize", - "box_size", - "simulation box size", - default_value = 13.2 | units.kpc - ) - - handler.add_method_parameter( - "get_defaultspectype", - "set_defaultspectype", - "default_spectral_type", - "default src spectral type", - default_value = -1. - ) - - handler.add_method_parameter( - "get_boundary", - "set_boundary", - "boundary_condition", - "simulation bundary condition (-1,0,1 = reflective, vacuum, periodic", - default_value = 0 - ) - - handler.add_boolean_parameter( - "get_H_caseA", - "set_H_caseA", - "hydrogen_case_A_flag", - "flag for hydrogen case A recombination (1)", - True - ) - - handler.add_boolean_parameter( - "get_He_caseA", - "set_He_caseA", - "helium_case_A_flag", - "flag for helium case A recombination (1)", - True - ) - - handler.add_method_parameter( - "get_spectra_file", - "set_spectra_file", - "spectra_file", - "spectra file to use", - default_value = "./spectra/thermal30k.cdf" - ) - - def define_methods(self, handler): - CommonCode.define_methods(self, handler) - handler.add_method('evolve_model', (generic_unit_system.time,), ( handler.ERROR_CODE, )) - handler.add_method( - "new_gas_particle", - ( - generic_unit_system.mass, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.density, - handler.NO_UNIT, - generic_unit_system.speed**2, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.speed, - ), - ( - handler.INDEX, - handler.ERROR_CODE, - ) - ) - handler.add_method( - "set_state_gas", - ( - handler.NO_UNIT, - generic_unit_system.mass, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.density, - handler.NO_UNIT, - generic_unit_system.speed**2 - ), - ( - handler.ERROR_CODE, - ) - ) - handler.add_method( - "set_vel_gas", - ( - handler.NO_UNIT, - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.speed, - ), - ( - handler.ERROR_CODE, - ) - ) - handler.add_method( - "set_pos_gas", - ( - handler.NO_UNIT, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - ), - ( - handler.ERROR_CODE, - ) - ) - handler.add_method( - "set_rho_gas", - ( - handler.NO_UNIT, - generic_unit_system.density, - ), - ( - handler.ERROR_CODE, - ) - ) - handler.add_method( - "set_hsml_gas", - ( - handler.NO_UNIT, - generic_unit_system.length, - ), - ( - handler.ERROR_CODE, - ) - ) - handler.add_method( - "set_u_gas", - ( - handler.NO_UNIT, - generic_unit_system.speed**2 - ), - ( - handler.ERROR_CODE, - ) - ) - handler.add_method( - "set_dudt_gas", - ( - handler.NO_UNIT, - generic_unit_system.length**2/generic_unit_system.time**3 - ), - ( - handler.ERROR_CODE, - ) - ) - handler.add_method( - "get_dudt_gas", - ( - handler.INDEX, - ), - ( - generic_unit_system.length**2/generic_unit_system.time**3, - handler.ERROR_CODE, - ) - ) - handler.add_method( - "get_state_gas", - ( - handler.INDEX, - ), - ( - generic_unit_system.mass, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.density, - handler.NO_UNIT, - generic_unit_system.speed**2, - handler.ERROR_CODE, - ) - ) - handler.add_method( - "get_vel_gas", - ( - handler.INDEX, - ), - ( - generic_unit_system.speed, - generic_unit_system.speed, - generic_unit_system.speed, - handler.ERROR_CODE, - ) - ) - handler.add_method( - "new_src_particle", - ( - 1.e50 * units.s**-1, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - handler.NO_UNIT, - ), - ( - handler.INDEX, - handler.ERROR_CODE, - ) - ) - handler.add_method( - "set_state_src", - ( - handler.NO_UNIT, - 1.e50 * units.s**-1, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - handler.NO_UNIT, - ), - ( - handler.ERROR_CODE, - ) - ) - handler.add_method( - "set_luminosity_src", - ( - handler.NO_UNIT, - 1.e50 * units.s**-1, - ), - ( - handler.ERROR_CODE, - ) - ) - handler.add_method( - "get_state_src", - ( - handler.INDEX, - ), - ( - 1.e50 * units.s**-1, - generic_unit_system.length, - generic_unit_system.length, - generic_unit_system.length, - handler.NO_UNIT, - handler.ERROR_CODE, - ) - ) - handler.add_method( - "remove_src_particle", - ( - handler.INDEX, - ), - ( - handler.ERROR_CODE, - ) - ) - handler.add_method( - "remove_gas_particle", - ( - handler.INDEX, - ), - ( - handler.ERROR_CODE, - ) - ) - handler.add_method( - "set_boxsize", - ( - generic_unit_system.length, - ), - ( - handler.ERROR_CODE, - ) - ) - handler.add_method( - "set_defaultspectype", - ( - handler.NO_UNIT, - ), - ( - handler.ERROR_CODE, - ) - ) - handler.add_method( - "set_globalHefraction", - ( - handler.NO_UNIT, - ), - ( - handler.ERROR_CODE, - ) - ) - handler.add_method( - "get_boxsize", - ( - ), - ( - generic_unit_system.length, - handler.ERROR_CODE, - ) - ) - handler.add_method( - "get_globalHefraction", - ( - ), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ) - ) - handler.add_method( - "get_defaultspectype", - ( - ), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "set_raynumber", - ( - generic_unit_system.time**-1, - ), - ( - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_raynumber", - ( - ), - ( - generic_unit_system.time**-1, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "set_iontempsolver", - ( - handler.NO_UNIT, - ), - ( - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_iontempsolver", - ( - ), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "set_boundary", - ( - handler.NO_UNIT, - ), - ( - handler.ERROR_CODE, - ) - ) - - handler.add_method( - "get_boundary", - ( - ), - ( - handler.NO_UNIT, - handler.ERROR_CODE, - ) - ) - handler.add_method( - "get_time", - ( - ), - ( - generic_unit_system.time, - handler.ERROR_CODE, - ) - ) - - - - def define_particle_sets(self, handler): - handler.define_set('gas_particles', 'id') - handler.set_new('gas_particles', 'new_gas_particle') - handler.set_delete('gas_particles', 'remove_gas_particle') - handler.add_setter('gas_particles', 'set_state_gas') - handler.add_getter('gas_particles', 'get_state_gas') - handler.add_setter('gas_particles', 'set_pos_gas') - handler.add_setter('gas_particles', 'set_vel_gas') - handler.add_getter('gas_particles', 'get_vel_gas') - handler.add_setter('gas_particles', 'set_hsml_gas') - handler.add_setter('gas_particles', 'set_rho_gas') - handler.add_setter('gas_particles', 'set_u_gas') - handler.add_setter('gas_particles', 'set_dudt_gas') - handler.add_getter('gas_particles', 'get_dudt_gas') - - - handler.define_set('src_particles', 'id') - handler.set_new('src_particles', 'new_src_particle') - handler.set_delete('src_particles', 'remove_src_particle') - handler.add_setter('src_particles', 'set_state_src') - handler.add_setter('src_particles', 'set_luminosity_src') - handler.add_getter('src_particles', 'get_state_src') - - def define_state(self, handler): - CommonCode.define_state(self, handler) - - handler.add_transition('INITIALIZED','EDIT','commit_parameters') - handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False) - handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False) - handler.add_transition('UPDATE','CHANGE_PARAMETERS_UPDATE','before_set_parameter', False) - handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters') - handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') - handler.add_transition('CHANGE_PARAMETERS_UPDATE','UPDATE','recommit_parameters') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') - handler.add_method('CHANGE_PARAMETERS_UPDATE','before_set_parameter') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') - handler.add_method('CHANGE_PARAMETERS_UPDATE','before_get_parameter') - handler.add_method('RUN', 'before_get_parameter') - handler.add_method('EDIT', 'before_get_parameter') - handler.add_method('UPDATE','before_get_parameter') - handler.add_method('EVOLVED','before_get_parameter') - - handler.add_method('EDIT', 'new_gas_particle') - handler.add_method('EDIT', 'remove_gas_particle') - handler.add_method('EDIT', 'new_src_particle') - handler.add_method('EDIT', 'remove_src_particle') - handler.add_transition('EDIT', 'RUN', 'commit_particles') - handler.add_transition('RUN', 'UPDATE', 'new_gas_particle', False) - handler.add_transition('RUN', 'UPDATE', 'remove_gas_particle', False) - handler.add_transition('RUN', 'UPDATE', 'new_src_particle', False) - handler.add_transition('RUN', 'UPDATE', 'remove_src_particle', False) - - handler.add_transition('RUN', 'UPDATE', 'set_pos_gas', False) - handler.add_transition('RUN', 'UPDATE', 'set_rho_gas', False) - handler.add_transition('RUN', 'UPDATE', 'set_hsml_gas', False) - handler.add_transition('RUN', 'UPDATE', 'set_u_gas', False) - handler.add_transition('RUN', 'UPDATE', 'set_dudt_gas', False) - handler.add_transition('RUN', 'UPDATE', 'set_state_gas', False) - handler.add_transition('RUN', 'UPDATE', 'set_state_src', False) - handler.add_transition('RUN', 'UPDATE', 'set_luminosity_src', False) - - handler.add_transition('UPDATE', 'RUN', 'recommit_particles') - handler.add_method('RUN', 'evolve_model') - handler.add_method('RUN', 'get_state_gas') - handler.add_method('RUN', 'get_state_src') - - handler.add_method('INITIALIZED', 'set_momentum_kicks') - handler.add_method('INITIALIZED', 'set_isothermal') - handler.add_method('INITIALIZED', 'set_boxsize') - handler.add_method('INITIALIZED', 'set_globalHefraction') - handler.add_method('INITIALIZED', 'set_raynumber') - handler.add_method('INITIALIZED', 'set_iontempsolver') - handler.add_method('INITIALIZED', 'set_boundary') - handler.add_method('INITIALIZED', 'set_H_caseA') - handler.add_method('INITIALIZED', 'set_He_caseA') - +SPHRayInterface = load_code("sphray", "SPHRayInterface") +SPHRay = load_code("sphray", "SPHRay") Sphray = SPHRay diff --git a/src/amuse/community/sse/Makefile b/src/amuse/community/sse/Makefile deleted file mode 100644 index dc8d6ffa16..0000000000 --- a/src/amuse/community/sse/Makefile +++ /dev/null @@ -1,51 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPIF90 ?= $(MPIFC) - -FORTRAN ?= gfortran - -F77FLAGS = -ifneq (,$(findstring xlf, $(notdir $(FORTRAN)))) -F77FLAGS += -qfixed -endif - - -FSLIBS ?= -L$(AMUSE_DIR)/lib/forsockets -lforsockets -FSINC ?= -I$(AMUSE_DIR)/lib/forsockets - - -AM_LIBS = -L$(AMUSE_DIR)/lib/amuse_mpi -lamuse_mpi -AM_CFLAGS = -I$(AMUSE_DIR)/lib/amuse_mpi - -OBJ = src/deltat.o src/evolv1.o src/hrdiag.o src/kick.o \ - src/mlwind.o src/mrenv.o src/ran3.o src/star.o \ - src/zcnsts.o src/zfuncs.o - -all: sse_worker - - -clean: - $(RM) -f *~ *.so *.pyc *.o src/*.o src/sse worker_code worker_code.f90 - $(RM) -f sse_worker sse_worker_sockets worker_code-sockets.f90 - $(RM) -f amuse_worker_module.mod - $(RM) -f forsockets.mod - -sse_worker: worker_code.f90 interface.o $(OBJ) - make -C src sse CMPLR=$(FORTRAN) FFLAGS="$(FCFLAGS) $(F77FLAGS)" - $(MPIF90) $(FCFLAGS) $(FS_FLAGS) $(LDFLAGS) $^ -o $@ $(FS_LIBS) $(LIBS) - -worker_code.f90: interface.py - $(CODE_GENERATOR) --type=f90 interface.py SSEInterface -o $@ - -.f.o: $< - $(FORTRAN) -c $(F77FLAGS) $(FCFLAGS) -o $@ $< - -%.o: %.f90 - $(FORTRAN) $(FFLAGS) $(FCFLAGS) -c -o $@ $< - -distclean: clean diff --git a/src/amuse/community/sse/interface.py b/src/amuse/community/sse/interface.py index 22fd47b130..536752c0a7 100644 --- a/src/amuse/community/sse/interface.py +++ b/src/amuse/community/sse/interface.py @@ -1,459 +1,7 @@ -import numpy -from operator import itemgetter -from amuse.community import * -from amuse.units import units -from amuse.units import constants -from amuse.support.interface import InCodeComponentImplementation -from amuse.community.interface import common +from amuse.support.import_helper import load_code -from amuse.datamodel import Particles -from amuse.datamodel import ParticlesSubset -class SSEInterface(CodeInterface, common.CommonCodeInterface , LiteratureReferencesMixIn): - """ - Stellar evolution is performed by the rapid single-star evolution (SSE) - algorithm. This is a package of analytical formulae fitted to the detailed - models of Pols et al. (1998) that covers all phases of evolution from the - zero-age main-sequence up to and including remnant phases. It is valid for - masses in the range 0.1-100 Msun and metallicity can be varied. The SSE - package contains a prescription for mass loss by stellar winds. It also - follows the evolution of rotational angular momentum for the star. Full - details can be found in the SSE paper: - - .. [#] ADS:2000MNRAS.315..543H (Hurley J.R., Pols O.R., Tout C.A., 2000, MNRAS, 315, 543: - .. [#] ... "Comprehensive analytic formulae for stellar evolution as a function of mass and metallicity") - """ - def __init__(self, **options): - CodeInterface.__init__(self, name_of_the_worker="sse_worker", **options) - LiteratureReferencesMixIn.__init__(self) - - @legacy_function - def initialize(): - function = LegacyFunctionSpecification() - function.addParameter('z_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('neta_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('bwind_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('hewind_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('sigma_in', dtype='d', direction=function.IN, unit = units.km / units.s) - function.addParameter('ifflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('wdflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('bhflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('nsflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) - function.addParameter('mxns_in', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('pts1_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('pts2_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('pts3_in', dtype='d', direction=function.IN, unit = NO_UNIT) - function.addParameter('status', dtype='i', direction=function.OUT, unit = NO_UNIT) - return function - - @legacy_function - def evolve_star(): - function = LegacyFunctionSpecification() - function.name = 'evolve0' - function.can_handle_array = True - function.addParameter('kw', dtype='i', direction=function.INOUT, unit = units.stellar_type) - function.addParameter('mass', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('mt', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('r', dtype='d', direction=function.INOUT, unit = units.RSun) - function.addParameter('lum', dtype='d', direction=function.INOUT, unit = units.LSun) - function.addParameter('mc', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('rc', dtype='d', direction=function.INOUT, unit = units.RSun) - function.addParameter('menv', dtype='d', direction=function.INOUT, unit = units.MSun) - function.addParameter('renv', dtype='d', direction=function.INOUT, unit = units.RSun) - function.addParameter('ospin', dtype='d', direction=function.INOUT, unit = units.yr**-1) - function.addParameter('epoch', dtype='d', direction=function.INOUT, unit = units.Myr) - function.addParameter('tm', dtype='d', direction=function.INOUT, unit = units.Myr) - function.addParameter('tphys', dtype='d', direction=function.INOUT, unit = units.Myr) - function.addParameter('tphysf', dtype='d', direction=function.INOUT, unit = units.Myr) - return function - - @legacy_function - def get_time_step(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('kw', dtype='i', direction=function.IN, unit = units.stellar_type) - function.addParameter('mass', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('age', dtype='d', direction=function.IN, unit = units.Myr) - function.addParameter('mt', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('tm', dtype='d', direction=function.IN, unit = units.Myr) - function.addParameter('epoch', dtype='d', direction=function.IN, unit = units.Myr) - function.addParameter('dt', dtype='d', direction=function.OUT, unit = units.Myr) - - return function - - @legacy_function - def get_mass_loss_wind(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('kw', dtype='i', direction=function.IN, unit = units.stellar_type) - function.addParameter('lum', dtype='d', direction=function.IN, unit = units.LSun) - function.addParameter('r', dtype='d', direction=function.IN, unit = units.RSun) - function.addParameter('mt', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('mc', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('mlout', dtype='d', direction=function.OUT, unit = units.MSun/units.yr) - - return function - - - @legacy_function - def get_gyration_radius(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('kw', dtype='i', direction=function.IN, unit = units.stellar_type) - function.addParameter('mass', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('mt', dtype='d', direction=function.IN, unit = units.MSun) - function.addParameter('r', dtype='d', direction=function.IN, unit = units.RSun) - function.addParameter('lum', dtype='d', direction=function.IN, unit = units.LSun) - function.addParameter('epoch', dtype='d', direction=function.IN, unit = units.Myr) - function.addParameter('tm', dtype='d', direction=function.IN, unit = units.Myr) - function.addParameter('tphys', dtype='d', direction=function.IN, unit = units.Myr) - function.addParameter('rg', dtype='d', direction=function.OUT, unit = NO_UNIT) - - return function - - def initialize_code(self): - return 0 - - def commit_parameters(self): - return 0 - - def recommit_parameters(self): - return 0 - - def cleanup_code(self): - return 0 - - def commit_particles(self): - return 0 - - - -class SSEParticles(Particles): - - def __init__(self, code_interface, storage = None): - Particles.__init__(self, storage = storage) - self._private.code_interface = code_interface - self.add_calculated_attribute("temperature", self.calculate_effective_temperature, ["luminosity", "radius"]) - self.add_function_attribute("evolve_one_step", self.particleset_evolve_one_step, self.evolve_one_step) - self.add_function_attribute("evolve_for", self.particleset_evolve_for, self.evolve_for) - - def calculate_effective_temperature(self, luminosity, radius): - return ((luminosity/(constants.four_pi_stefan_boltzmann*radius**2))**.25).in_(units.K) - - def add_particles_to_store(self, keys, attributes = [], values = []): - if len(keys) == 0: - return - - all_attributes = [] - all_attributes.extend(attributes) - all_values = [] - all_values.extend(values) - - mapping_from_attribute_to_default_value = { - "stellar_type" : 1 | units.stellar_type, - "radius": 0 | units.RSun, - "luminosity": 0 | units.LSun, - "core_mass": 0 | units.MSun, - "CO_core_mass": 0 | units.MSun, - "core_radius": 0 | units.RSun, - "convective_envelope_mass": 0 | units.MSun, - "convective_envelope_radius": 0 | units.RSun, - "epoch": 0 | units.Myr, - "spin": 0 | units.yr**-1, - "main_sequence_lifetime": 0 | units.Myr, - "age": 0 | units.Myr - } - - given_attributes = set(attributes) - - if not "initial_mass" in given_attributes: - index_of_mass_attibute = attributes.index("mass") - all_attributes.append("initial_mass") - all_values.append(values[index_of_mass_attibute] * 1.0) - - for attribute, default_value in mapping_from_attribute_to_default_value.items(): - if not attribute in given_attributes: - all_attributes.append(attribute) - all_values.append(default_value.as_vector_with_length(len(keys))) - - super(SSEParticles, self).add_particles_to_store(keys, all_attributes, all_values) - - added_particles = ParticlesSubset(self, keys) - self._private.code_interface._evolve_particles(added_particles, 0 | units.yr) - - def evolve_one_step(self, particles, subset): - self._private.code_interface._evolve_particles(subset.as_set(), subset.age + subset.time_step) - - def particleset_evolve_one_step(self, particles): - self._private.code_interface._evolve_particles(particles, particles.age + particles.time_step) - - def evolve_for(self, particles, subset, delta_time): - self._private.code_interface._evolve_particles(subset.as_set(), subset.age + delta_time) - - def particleset_evolve_for(self, particles, delta_time): - self._private.code_interface._evolve_particles(particles, particles.age + delta_time) - - - def get_defined_attribute_names(self): - return ["mass", "radius"] - - - - - - - - - - -class SSE(common.CommonCode): - - def __init__(self, **options): - InCodeComponentImplementation.__init__(self, SSEInterface(**options), **options) - - self.model_time = 0.0 | units.yr - - - def define_parameters(self, handler): - - handler.add_caching_parameter( - "initialize", - "z_in", - "metallicity", - "Metallicity of all stars", - 0.02 - ) - - handler.add_caching_parameter( - "initialize", - "neta_in", - "reimers_mass_loss_coefficient", - "Reimers mass-loss coefficient (neta*4x10^-13; 0.5 normally)", - 0.5 - ) - - handler.add_caching_parameter( - "initialize", - "bwind_in", - "binary_enhanced_mass_loss_parameter", - "The binary enhanced mass loss parameter (inactive for single).", - 0.0 - ) - - handler.add_caching_parameter( - "initialize", - "hewind_in", - "helium_star_mass_loss_factor", - "Helium star mass loss factor", - 0.5 - ) - - handler.add_caching_parameter( - "initialize", - "sigma_in", - "SN_kick_speed_dispersion", - "The dispersion in the Maxwellian for the SN kick speed (190 km/s).", - 190.0 | units.km / units.s - ) - - handler.add_caching_parameter( - "initialize", - "ifflag_in", - "white_dwarf_IFMR_flag", - "ifflag > 0 uses white dwarf IFMR (initial-final mass relation) of HPE, 1995, MNRAS, 272, 800 (0).", - 0 - ) - - handler.add_caching_parameter( - "initialize", - "wdflag_in", - "white_dwarf_cooling_flag", - "wdflag > 0 uses modified-Mestel cooling for WDs (0).", - 1 - ) - - handler.add_caching_parameter( - "initialize", - "bhflag_in", - "black_hole_kick_flag", - "bhflag > 0 allows velocity kick at BH formation (0).", - 0 - ) - - handler.add_caching_parameter( - "initialize", - "nsflag_in", - "neutron_star_mass_flag", - "nsflag > 0 takes NS/BH mass from Belczynski et al. 2002, ApJ, 572, 407 (1).", - 1 - ) - - handler.add_caching_parameter( - "initialize", - "mxns_in", - "maximum_neutron_star_mass", - "The maximum neutron star mass (1.8, nsflag=0; 3.0, nsflag=1).", - 3.0 | units.MSun - ) - - handler.add_caching_parameter( - "initialize", - "pts1_in", - "fractional_time_step_1", - "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: MS (0.05)", - 0.05 - ) - - handler.add_caching_parameter( - "initialize", - "pts2_in", - "fractional_time_step_2", - "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: GB, CHeB, AGB, HeGB (0.01)", - 0.01 - ) - - handler.add_caching_parameter( - "initialize", - "pts3_in", - "fractional_time_step_3", - "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: HG, HeMS (0.02)", - 0.02 - ) - - def define_state(self, handler): - common.CommonCode.define_state(self, handler) - handler.add_transition('INITIALIZED','RUN','commit_parameters') - handler.add_method('RUN', 'evolve_star') - - handler.add_method('RUN', 'before_get_parameter') - handler.add_method('RUN', 'before_set_parameter') - - - def define_particle_sets(self, handler): - handler.define_inmemory_set('particles', SSEParticles) - - handler.add_attribute( - 'particles', - 'time_step', - 'get_time_step', - ('stellar_type', 'initial_mass', 'age', - 'mass', 'main_sequence_lifetime', 'epoch') - ) - - handler.add_attribute( - 'particles', - 'mass_loss_wind', - 'get_mass_loss_wind', - ('stellar_type', 'luminosity', - 'radius', 'mass', - 'CO_core_mass') - ) - - handler.add_attribute( - 'particles', - 'gyration_radius', - 'get_gyration_radius', - ('stellar_type', 'initial_mass','mass','radius', - 'luminosity','epoch','main_sequence_lifetime', - 'age') - ) - - def _evolve_particles(self, particles, end_time): - attributes = ( - "stellar_type", - "initial_mass", - "mass", - "radius", - "luminosity", - "core_mass", - "core_radius", - "convective_envelope_mass", - "convective_envelope_radius", - "spin", - "epoch", - "main_sequence_lifetime", - "age", - "end_time" - ) - - result = self.evolve_star( - particles.stellar_type, - particles.initial_mass, - particles.mass, - particles.radius, - particles.luminosity, - particles.core_mass, - particles.core_radius, - particles.convective_envelope_mass, - particles.convective_envelope_radius, - particles.spin, - particles.epoch, - particles.main_sequence_lifetime, - particles.age, - end_time.as_vector_with_length(len(particles))) - - # For helium (and helium exhausted) stars, the core mass returned is actually the CO core mass - type = result[0].value_in(units.stellar_type) - helium_star_selection = (type > 6) & (type < 16) & (type != 10) - helium_stars = particles[helium_star_selection] - other_stars = particles - helium_stars - if len(helium_stars): - helium_stars_results = [sub[helium_star_selection] for sub in result] - helium_stars_results.append(helium_stars_results[2]) - helium_stars.set_values_in_store(helium_stars.get_all_indices_in_store(), ( - "stellar_type", "initial_mass", "mass", "radius", "luminosity", - "CO_core_mass", - "core_radius", "convective_envelope_mass", "convective_envelope_radius", "spin", "epoch", - "main_sequence_lifetime", "age", "end_time", - "core_mass"), helium_stars_results) - if len(other_stars): - other_star_selection = numpy.logical_not(helium_star_selection) - other_stars.set_values_in_store(other_stars.get_all_indices_in_store(), attributes, - [sub[other_star_selection] for sub in result]) - - def evolve_model(self, end_time = None, keep_synchronous = True): - if not keep_synchronous: - self._evolve_particles(self.particles, self.particles.time_step + self.particles.age) - return - - if end_time is None: - end_time = self.model_time + min(self.particles.time_step) - self._evolve_particles(self.particles, end_time - self.model_time + self.particles.age) - self.model_time = end_time - - def _evolve_model_old(self, end_time = None, keep_synchronous = True): - """ - This is the old implementation of evolve_model. Even with (keep_synchronous = True) - it is unable to evolve all stars to a common age, since it relies on the - individual timesteps as determined by the community code. Furthermore, it - is not suited to simulations with ongoing star formation, since it evolves - newly created stars to the same age as the old stars. - """ - if end_time is None: - if keep_synchronous: - ages = self.particles.age - index, min_age = min(enumerate(ages), key=itemgetter(1)) - new_age = min_age + self.particles[index].time_step - selection = self.particles.select(lambda x : x < new_age, ["age"]) - self._evolve_particles(selection, selection.time_step + selection.age) - return - end_time = self.particles.time_step + self.particles.age - - self._evolve_particles(self.particles, end_time) - - - def commit_parameters(self): - self.parameters.send_cached_parameters_to_code() - self.overridden().commit_parameters() - - def initialize_module_with_current_parameters(self): - self.parameters.send_cached_parameters_to_code() - - def initialize_module_with_default_parameters(self): - self.parameters.set_defaults() - self.commit_parameters() - - def update_time_steps(self): - pass +SSEInterface = load_code("sse", "SSEInterface") +SSE = load_code("sse", "SSE") Sse = SSE diff --git a/src/amuse/community/symple/Makefile b/src/amuse/community/symple/Makefile deleted file mode 100644 index 09f8f1439f..0000000000 --- a/src/amuse/community/symple/Makefile +++ /dev/null @@ -1,46 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPICXX ?= mpicxx -MPICC ?= mpicc - -CC = $(MPICC) -CXX = $(MPICXX) - -CFLAGS ?= -O3 -Wall -DTOOLBOX -CXXFLAGS ?= $(CFLAGS) - -LDFLAGS += -lm $(MUSE_LD_FLAGS) - -A_OBJS = interface.o - -#PROFLIBS ?= -L$(AMUSE_DIR)/lib/ibis/src/profiling -libisprofiling -lmpi - -all: symple_worker - -cleanall: clean - $(RM) symple_worker *~ worker_code - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py sympleInterface -o $@ - -worker_code.h: interface.py - $(CODE_GENERATOR) --type=h -i amuse.community.interface.stopping_conditions.StoppingConditionInterface interface.py sympleInterface -o $@ - -symple_worker: worker_code.cc worker_code.h $(A_OBJS) - $(MPICXX) $(CXXFLAGS) $(SC_FLAGS) $(LDFLAGS) $< $(A_OBJS) -o $@ $(SC_MPI_CLIBS) $(LIBS) - -.cc.o: $< - $(CXX) $(CXXFLAGS) $(SC_FLAGS) $(AM_CFLAGS) -c -o $@ $< - -.C.o: - $(CC) $(CFLAGS) $(SC_FLAGS) $(AM_CFLAGS) -c -o $@ $? - -clean: - rm -f *.so *.o *.pyc worker_code.cc worker_code.h - rm -f symple_worker - rm -rf *.dSYM diff --git a/src/amuse/community/symple/interface.cc b/src/amuse/community/symple/interface.cc deleted file mode 100644 index 7d76364e19..0000000000 --- a/src/amuse/community/symple/interface.cc +++ /dev/null @@ -1,1197 +0,0 @@ - -// Symplectic N-body integration modules of orders 1, 2, 3, 4, 5, 6, -// 8, and 10, with fixed, shared time step. Setting eta > 0 enables -// variable shared steps (but the integrators then are no longer -// symplectic). Individual particle continuous mass loss is also -// included. -// -// Steve McMillan, 11/2017 -// -// Added mass loss (dmdt). 5/2018 -// Expanded to multiple integrators. 5/2018 -// -// Notes: -// -// 1. Symplectic integrators can still lead to precession in an -// elliptical 2-body orbit (no conserved quantity to constrain -// it). Only the 1 and 2 integrators show any measurable precession. -// -// 2. Symplectic integrators should show no long-term growth in the -// energy of a periodic orbit (e.g. a simple two-body system of -// moderate eccentricity). However, the argument leading to this -// conclusion assumes that the period is commensurate with the period. -// Non commensurate steps lead to long-period modulations in the -// energy error, but no long-term drift. The amplitude off the -// modulation can be reduced by making the step an integral fraction -// of the period, and reduced more by making it an integral fraction -// of the actual (numerical) period, and apparently better still by -// making that integer a power of 2 (presumably reducing the rounding -// error in the solution near pericenter). Modulation amplitude drops -// off with decreasing time step. -// -// Two-body "standard" problem results (m1 = m2 = 0.5, a = 0.57, e = -// 0.75, period P = 2.71): -// -// 1. Implicit Euler -// -// - no significant long-term energy drift (but large orbital -// variations) -// - small amplitude modulation for longer time steps -// - step for ~1.e-6 max error in standard test = P/64M (est.) -// -// 2. Second-order predictor-corrector -// -// - max error/orbit has a long-term, apparently periodic modulation -// - not significantly affected by commensurate/non-commensurate step -// - may be driven by step not commensurate with *numerical* period -// - modulation form and period depends on precise choice of step -// - making the step commensurate with the numerical period substantially -// reduces the modulation amplitude -// - no net drift of energy on long time scales -// - step for ~1.e-6 max error in standard test = P/32k (2.e-6) -// - no significant drift/modulation at this step -// -// 3. Third order scheme -// -// - step for ~1.e-6 max error in standard test = P/1024 (1.2e-6) -// - no significant drift/modulation at this step -// - power of 2 is *very* important -- substantially larger -// drift if not used -// -// 4. Fourth order scheme -// -// - step for ~1.e-6 max error in standard test = P/1024 (1.3e-6) -// - no significant drift/modulation at this step -// - power of 2 not important for drift, but do see small -// drift if not used -// -// 5. Fifth order scheme -// -// - step for ~1.e-6 max error in standard test = P/256 (2.5e-6) -// - no significant drift/modulation at this step -// - power of 2 is *very* important -- much larger drift/ -// modulation if not used (P/300 much worse than P/256) -// -// 6. Sixth order scheme -// -// - step for ~1.e-6 max error in standard test = P/256 (8.e-7) -// - no significant drift/modulation at this step -// - power of 2 is *very* important -- much larger drift -// if not used (P/300 has substantial drift) -// -// 7. Eighth order scheme -// -// - step for << 1.e-6 max error in standard test = P/256 (1.5e-7) -// - no significant drift/modulation at this step -// - P/128 error >> 1.e-6 and noticeable drift -// - power of 2 not very important for drift; see error ~ 1.e-6 -// and only small drift with P/200 drift if not used (drift -// per orbit is small fraction of the peak error per orbit) -// -// 8. Tenth order scheme -// -// - step for << 1.e-6 max error in standard test = P/128 (3.e-9) -// - no significant drift/modulation at this step -// - P/64 has substantial drift and modulation (and error -// >> 1.e-6) -// - power of 2 is *very* important -- much larger drift -// if not used (P/100 has substantial drift) -// -// function evals/period -// integrator order evals/step (const. dE) -// 1 1 1 -- -// 2 2 1 32k -// 3 3 3 3k -// 4 4 3 3k -// 5 5 7 1792 -// 6 6 7 1792 -// 8 8 15 3840 -// 10 10 33 4224 -// -// Someone should parallelize the acceleration calculation... - -#include -#include -#include -#include -#include - -#include "worker_code.h" - -#include -#include -#include -#include - -// AMUSE STOPPING CONDITIONS SUPPORT - -#include -#include - -using namespace std; -typedef double real; - -#include "vec3.h" // borrowed from starlab - -#define PR(x) *sout << #x << " = " << x << " " << flush -#define PRC(x) *sout << #x << " = " << x << ", " << flush -#define PRL(x) *sout << #x << " = " << x << endl << flush - -// (Global!) static data: - -const int NDIM = 3; // number of spatial dimensions -static int which_int; -static void (*integrate)(real, real*, real*); - -// N-body data (structure copied from hermite0): - -static real t = 0; -static double begin_time = 0; - -static vector ident; -static vector mass, dmdt, radius, potential; -static vector pos, vel, acc; - -static int nsteps = 0; // number of time steps completed -static real einit = 0; // initial total energy of the system -static bool init_flag = false; -static real eps2 = 0; - -static const real ETA = 0.05; -static real eta = ETA; // allow variable shared time steps if > 0 -static real timestep = 0; // fixed time step off by default - -static bool flag_collision = true; -static bool reeval = false; -static ostream* sout = &cout; - -static real potential_energy = 0.0; -static int max_identifier = 0; - -// Collisions: - -static int id_coll_primary = -1, id_coll_secondary = -1; - - - -//----------------------------------------------------------------------- -// -// Integrator functions: -// -//----------------------------------------------------------------------- - -real calculate_step(real coll_time) -{ - // Determine the new system time step from coll_time. - - real step = timestep; - if (eta > 0) - step = eta*coll_time; - - return step; -} - -// Collision detection code is copied from hermite0, but the details -// are not implemented or tested. - -void get_acc_pot_coll(real *epot, real *coll_time, - bool get_coll=false) -{ - int n = ident.size(); - - *coll_time = 0.0; - *epot = 0; - - const real VERY_LARGE_NUMBER = 1e300; - real coll_time_q = VERY_LARGE_NUMBER; // collision time to 4th power - real coll_est_q; // collision time scale estimate - // to 4th power (quartic) - id_coll_primary = id_coll_secondary = -1; - - reset_stopping_conditions(); - int is_collision_detection_enabled; - int error = is_stopping_condition_enabled(COLLISION_DETECTION, - &is_collision_detection_enabled); - - for (int i = 0; i < n ; i++) { - for (int k = 0; k < NDIM; k++) acc[i][k] = 0; - potential[i]= 0; - } - - for (int i = 0; i < n; i++) { - for (int j = i+1; j < n; j++) { - real rji[NDIM]; - real vji[NDIM]; - for (int k = 0; k < NDIM ; k++) { - rji[k] = pos[j][k] - pos[i][k]; - vji[k] = vel[j][k] - vel[i][k]; - } - real r2 = 0; - real v2 = 0; - for (int k = 0; k < NDIM ; k++) { - r2 += rji[k] * rji[k]; - if (get_coll) v2 += vji[k] * vji[k]; - } - - if (is_collision_detection_enabled) { // not working/tested - real rsum = radius[i] + radius[j]; - if (r2 <= rsum*rsum) { - int stopping_index = next_index_for_stopping_condition(); - if(stopping_index >= 0) { - set_stopping_condition_info(stopping_index, - COLLISION_DETECTION); - set_stopping_condition_particle_index(stopping_index, - 0, ident[i]); - set_stopping_condition_particle_index(stopping_index, - 1, ident[j]); - } - } - } - - r2 += eps2; - real r = sqrt(r2); - real r3 = r * r2; - - // Add the {i,j} contribution to the total potential energy. - - *epot -= mass[i] * mass[j] / r; - potential[i] = -mass[j] / r; - potential[j] = -mass[i] / r; - - // Add the {j (i)} contribution to the {i (j)} acc. - - real da[NDIM]; - for (int k = 0; k < NDIM ; k++) { - da[k] = rji[k] / r3; - } - for (int k = 0; k < NDIM ; k++) { - acc[i][k] += mass[j] * da[k]; - acc[j][k] -= mass[i] * da[k]; - } - - if (get_coll) { - - // First collision time estimate is based on unaccelerated - // linear motion. - - coll_est_q = (r2*r2) / (v2*v2); - if (coll_time_q > coll_est_q) - coll_time_q = coll_est_q; - - // Second collision time estimate is based on free-fall. - - real da2 = 0; - for (int k = 0; k < NDIM ; k++) - da2 += da[k] * da[k]; - - real mij = mass[i] + mass[j]; - da2 *= mij * mij; - - coll_est_q = r2/da2; - if (coll_time_q > coll_est_q) - coll_time_q = coll_est_q; - } - } - } - - if (get_coll) - *coll_time = pow(coll_time_q, 0.25); -} - -inline void step_symp(int n, int kk, real *c, real *d, real dt, - real *epot, real *coll_time) -{ - // Generic code to take a symplectic step (see 3, 4, 5, 6, 8 - // below). Note that, in *all* cases, sum(c) = sum(d) = 1. The - // check is below, but the result is important in determining how - // to distribute mass loss. - -#if 0 - static int count = 0; - if (count == 0) { - real ctot = 0, dtot = 0; - for (int k = 0; k < kk; k++) { - ctot += c[k]; - dtot += d[k]; - } - PRC(ctot); PRL(dtot); - count = 1; - } -#endif - - for (int j = 0; j < kk; j++) { - if (d[j] != 0) { - real ddt = d[j]*dt; - get_acc_pot_coll(epot, coll_time, (eta > 0 && j == kk-1)); - for (int i = 0; i < n ; i++) - for (int k = 0; k < NDIM ; k++) - vel[i][k] += ddt*acc[i][k]; - } - real cdt = c[j]*dt; - for (int i = 0; i < n ; i++) { - mass[i] += cdt*dmdt[i]; // mass follows pos - for (int k = 0; k < NDIM ; k++) - pos[i][k] += cdt*vel[i][k]; - } - } - t += dt; -} - -void evolve_step1(real dt, real *epot, real *coll_time) -{ - // Implicit Euler scheme. - - static const int k1 = 1; - static real c1[k1] = {1}; - static real d1[k1] = {1}; - - step_symp(ident.size(), k1, c1, d1, dt, epot, coll_time); -} - -void evolve_step2(real dt, real *epot, real *coll_time) -{ - // Second-order predictor-corrector scheme. Assume acc is already - // set on entry. - - int n = ident.size(); - real (*old_acc)[NDIM] = new real[n][NDIM]; - - for (int i = 0; i < n ; i++) - for (int k = 0; k < NDIM ; k++) - old_acc[i][k] = acc[i][k]; - - // Predict. - - for (int i = 0; i < n ; i++) { - mass[i] += dmdt[i]*dt; - for (int k = 0; k < NDIM ; k++) - pos[i][k] += (vel[i][k] + acc[i][k]*dt/2) * dt; - } - - get_acc_pot_coll(epot, coll_time, (eta > 0)); - - // Correct. Note that old_acc used mass at the start of the step, - // acc uses mass at the end. - - for (int i = 0; i < n ; i++) - for (int k = 0; k < NDIM ; k++) - vel[i][k] += (old_acc[i][k] + acc[i][k]) * dt/2; - - t += dt; - delete[] old_acc; -} - -void evolve_step3(real dt, real *epot, real *coll_time) -{ - // Third-order symplectic scheme (Ruth 1983). - - static const int k3 = 3; - static real c3[k3] = {2./3, -2./3, 1.0}; - static real d3[k3] = {7./24, 3./4, -1./24}; - - step_symp(ident.size(), k3, c3, d3, dt, epot, coll_time); -} - -void evolve_step4(real dt, real *epot, real *coll_time) -{ - // Fourth-order symplectic scheme (Yoshida 1990). - - static const int k4 = 4; - static const real p = pow(2., 1./3); - static const real q = 1 - p; - static const real r = 4 - 2*p; - static real c4[k4] = {1/r, q/r, q/r, 1/r}; - static real d4[k4] = {0., 2/r, -2*p/r, 2/r}; - - step_symp(ident.size(), k4, c4, d4, dt, epot, coll_time); -} - -void evolve_step5(real dt, real *epot, real *coll_time) -{ - // Fifth-order symplectic scheme (Tselios & Simos 2013). - // Optimized for orbital applications. - - static const int k5 = 7; - static real c5[k5] - = {-0.402020995028838599420412333241250172914690575978880873429, - 0.345821780864741783378055242038676806930765132085822482512, - 0.400962967485371350147918025877657753577504227492190779513, - 0.980926531879316517259793318227431991923428491844523669724, - -1.362064898669775624786044007840908597402026042205084284026, - 0.923805029000837468447500070054064432491178527428114178991, - 0.112569584468347104973189684884327785393840239333314075493}; - static real d5[k5] - = { 0.47501834514453949720351208570106713494289203770372938037, - 0.021856594741098449005512783774683495267598355789295971623, - -0.334948298035883491345320878224434762455516821029015086331, - 0.51263817465269673604202785657395553607442158325539698102, - -0.011978701020553903586622444048386301410473649207894475166, - -0.032120004263046859169923904393901683486678946201463277409, - 0.36953388878114957185081450061701658106775743968995046842}; - - step_symp(ident.size(), k5, c5, d5, dt, epot, coll_time); -} - -void initialize_yosh(int mm, real *w, int kk, real *c, real *d) -{ - // Yoshida initialization of high-order integration coefficients. - // Array w is of length mm; arrays c and d are of length kk. - - real w0 = 1; - for (int m = 0; m < mm; m++) w0 -= 2*w[m]; - - c[0] =c[kk-1] = w[mm-1]/2; - for (int m = 1; m < mm; m++) - c[m] = c[kk-m-1] = (w[mm-m]+w[mm-m-1])/2; - c[mm] = c[mm+1] = (w[0]+w0)/2; - - // First element of dd is undefined by Yoshida -- 0 seems to work. - - for (int m = 1; m <= mm; m++) - d[m] = d[kk-m] = w[mm-m]; - d[mm+1] = w0; -} - -void evolve_step6(real dt, real *epot, real *coll_time) -{ - // Sixth-order symplectic scheme (Yoshida 1990). Yoshida gives - // three solutions; the first (A) is most (x10) accurate. - - static const int m6 = 3; - static real w6[m6] - = {-0.117767998417887e1, 0.235573213359357e0, 0.784513610477560e0}; - // w6 = {-0.213228522200144e1, 0.426068187079180e-2, 0.143984816797678e1}; - // w6 = {0.152886228424922e-2, -0.214403531630539e1, 0.144778256239930e1}; - - static const int k6 = 2*m6+2; - static real c6[k6] = {0}; - static real d6[k6] = {}; - if (c6[0] == 0) initialize_yosh(m6, w6, k6, c6, d6); - - step_symp(ident.size(), k6, c6, d6, dt, epot, coll_time); -} - -void evolve_step8(real dt, real *epot, real *coll_time) -{ - // Eighth-order symplectic (Yoshida 1990). As listed, they are - // approximately in order of increasing accuracy. Choice 1 - // (Yoshida solution A) is substantially less accurate than the - // others, and is actually less accurate than the 6th-order scheme - // for reasonable step choices. Choices 4 and 5 (Yoshida - // solutions D and E) are roughly 1000 times more accurate than - // choice 1 for my standard test problem (Duffing, dx = 0.01). - // Choice 4 is 10 times more accurate for longer steps (dx = 0.1 - - // 0.03) - - static const int m8 = 7; - - // w8 = {-0.161582374150097e1, -0.244699182370524e1, -0.716989419708120e-2, - // 0.244002732616735e1, 0.157739928123617e0, 0.182020630970714e1, - // 0.10424262086999e1} - - // w8 = {-0.169248587770116e-2, 0.289195744315849e1, 0.378039588360192e-2, - // -0.289688250328827e1, 0.289105148970595e1, -0.233864815101035e1, - // 0.148819229202922e1} - - // w8 = { 0.311790812418427e0, -0.155946803821447e1, -0.167896928259640e1, - // 0.166335809963315e1, -0.106458714789183e1, 0.136934946416871e1, - // 0.629030650210433e0} - - static real w8[m8] - = { 0.102799849391985e0, -0.196061023297549e1, 0.193813913762276e1, - -0.158240635368243e0, -0.144485223686048e1, 0.253693336566229e0, - 0.914844246229740e0}; - - // w8 = { 0.227738840094906e-1, 0.252778927322839e1, -0.719180053552772e-1, - // 0.536018921307285e-2, -0.204809795887393e1, 0.107990467703699e0, - // 0.130300165760014e1} - - static const int k8 = 2*m8+2; - static real c8[k8] = {0}; - static real d8[k8] = {}; - if (c8[0] == 0) initialize_yosh(m8, w8, k8, c8, d8); - - step_symp(ident.size(), k8, c8, d8, dt, epot, coll_time); -} - -void evolve_step10(real dt, real *epot, real *coll_time) -{ - // Tenth-order symplectic (Tsitouras 1998). - - static const int m10 = 16; - static real w10[m10] = { - 0.02690013604768968151437422144441685467297755661, - 0.939801567135683337900037741418097674632505563, - -0.00803583920385358749646880826318191806393661063, - -0.866485197373761372803661767454208401679117010, - 0.1023112911193598731078563285067131541328142449, - -0.1970772151393080101376018465105491958660525085, - 0.617877713318069357335731125307019691019646679, - 0.1907272896000121001605903836891198270441436012, - 0.2072605028852482559382954630002620777969060377, - -0.395006197760920667393122535979679328161187572, - -0.582423447311644594710573905438945739845940956, - 0.742673314357319863476853599632017373530365297, - 0.1643375495204672910151440244080443210570501579, - -0.615116639060545182658778437156157368647972997, - 0.2017504140367640350582861633379013481712172488, - 0.45238717224346720617588658607423353932336395045}; - - static const int k10 = 2*m10+2; - static real c10[k10] = {0}; - static real d10[k10] = {}; - if (c10[0] == 0) initialize_yosh(m10, w10, k10, c10, d10); - - step_symp(ident.size(), k10, c10, d10, dt, epot, coll_time); -} - -int evolve_system(real t_end) -{ - real epot; // potential energy of the n-body system - real coll_time; // collision (close encounter) time scale - int n = ident.size(); - int i, k; - - get_acc_pot_coll(&epot, &coll_time); - - while (t < t_end) { - real dt = calculate_step(coll_time); - if (t+dt > t_end) dt = t_end - t; - integrate(dt, &epot, &coll_time); - } - - return 0; -} - -int get_n_steps() -{ - return nsteps; -} - -int cleanup_code() -{ - reset_stopping_conditions(); - - ident.clear(); - vel.clear(); - pos.clear(); - mass.clear(); - acc.clear(); - potential.clear(); - radius.clear(); - - begin_time = 0.0; - max_identifier = 0; - nsteps = 0; - eta = ETA; - - einit = 0; - init_flag = false; - eps2 = 0; - - id_coll_primary = -1; - id_coll_secondary = -1; - - flag_collision = true; - reeval = false; - - potential_energy = 0.0; - t = 0; - - return 0; -} - - -//----------------------------------------------------------------------- -// -// AMUSE interface functions: -// -//----------------------------------------------------------------------- - -int get_integrator(int *_i) -{ - *_i = which_int; - return 0; -} - -void set_integration_scheme() { - if (which_int == 1) - integrate = &evolve_step1; - else if (which_int == 2) - integrate = &evolve_step2; - else if (which_int == 3) - integrate = &evolve_step3; - else if (which_int == 4) - integrate = &evolve_step4; - else if (which_int == 5) - integrate = &evolve_step5; - else if (which_int == 6) - integrate = &evolve_step6; - else if (which_int == 8) - integrate = &evolve_step8; - else if (which_int == 10) - integrate = &evolve_step10; - else { - cout << "warning: unknown integrator; using evolve_step2" - << endl << flush; - integrate = &evolve_step2; - } -} - -int set_integrator(int _i) -{ - which_int = _i; - set_integration_scheme(); - return 0; -} - -int get_eps2(double *_epsilon_squared) -{ - *_epsilon_squared = eps2; - return 0; -} - -int set_eps2(double _epsilon_squared) -{ - eps2 = _epsilon_squared; - return 0; -} - -int get_timestep_parameter(double *_eta) -{ - *_eta = eta; - return 0; -} - -int set_timestep_parameter(double _eta) -{ - eta = _eta; - timestep = 0; - return 0; -} - -int get_timestep(double *_timestep) -{ - *_timestep = timestep; - return 0; -} - -int set_timestep(double _timestep) -{ - timestep = _timestep; - eta = 0; - return 0; -} - -int get_time(double *_t) -{ - *_t = t; - return 0; -} - -int set_begin_time(double input) -{ - begin_time = input; - return 0; -} - -int get_begin_time(double * output) -{ - *output = begin_time; - return 0; -} - -int new_particle(int *id, double _mass, - double x, double y, double z, - double vx, double vy, double vz, double _radius) -{ - int new_element; - - // Always add to the end of the list. - - new_element = max_identifier++; - ident.push_back(new_element); // generally want to specify id - - mass.push_back(_mass); - dmdt.push_back(0.0); // default = 0; set with set_dmdt - radius.push_back(_radius); - pos.push_back(vec(x, y, z)); - vel.push_back(vec(vx, vy, vz)); - acc.push_back(vec(0,0,0)); - potential.push_back(0); - - *id = new_element; - - return 0; -} - -int delete_particle(int id) -{ - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - - if (i < ident.size()) { - ident.erase(ident.begin()+i); - mass.erase(mass.begin()+i); - dmdt.erase(mass.begin()+i); - radius.erase(radius.begin()+i); - pos.erase(pos.begin()+i); - vel.erase(vel.begin()+i); - acc.erase(acc.begin()+i); - potential.erase(potential.begin()+i); - return 0; - } else - return -1; -} - -int get_state(int id, double *_mass, double *x, double *y, double *z, - double *vx, double *vy, double *vz, double *_radius) -{ - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - - if (i < (int) ident.size()) { - vec position = pos[i]; - vec velocity = vel[i]; - - //*id_out = id; - *_mass = mass[i]; - *_radius = radius[i]; - *x = position[0]; - *y = position[1]; - *z = position[2]; - *vx = velocity[0]; - *vy = velocity[1]; - *vz = velocity[2]; - return 0; - } else - return -1; -} - -int set_state(int id, double _mass, double x, double y, double z, - double vx, double vy, double vz, double _radius) -{ - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - - if (i < ident.size()) { - mass[i] = _mass; - radius[i] = _radius; - pos[i] = vec(x,y,z); - vel[i] = vec(vx, vy, vz); - return 0; - } else - return -1; -} - -int get_mass(int id, double *_mass) -{ - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - if (i < ident.size()) { - *_mass = mass[i]; - return 0; - } else - return -1; -} - -int set_mass(int id, double _mass) -{ - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - if (i < ident.size()) { - mass[i] = _mass; - return 0; - } else - return -1; -} - -int get_dmdt(int id, double *_dmdt) -{ - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - if (i < ident.size()) { - *_dmdt = dmdt[i]; - return 0; - } else - return -1; -} - -int set_dmdt(int id, double _dmdt) -{ - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - if (i < ident.size()) { - dmdt[i] = _dmdt; - return 0; - } else - return -1; -} - -int get_radius(int id, double *_radius) -{ - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - if (i < ident.size()) { - *_radius = radius[i]; - return 0; - } else - return -1; -} - -int set_radius(int id, double _radius) -{ - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - if (i < ident.size()) { - radius[i] = _radius; - return 0; - } else - return -1; -} - -int get_position(int id, double *x, double *y, double *z) -{ - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - if (i < ident.size()) { - *x = pos[i][0]; - *y = pos[i][1]; - *z = pos[i][2]; - return 0; - } else - return -2; -} - -int set_position(int id, double x, double y, double z) -{ - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - if (i < ident.size()) { - pos[i] = vec(x, y, z); - return 0; - } else - return -1; -} - -int get_velocity(int id, double *vx, double *vy, double *vz) -{ - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - if (i < ident.size()) { - *vx = vel[i][0]; - *vy = vel[i][1]; - *vz = vel[i][2]; - return 0; - } else - return -2; -} - -int set_velocity(int id, double vx, double vy, double vz) -{ - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - if (i < ident.size()) { - vel[i] = vec(vx,vy,vz); - return 0; - } else - return -1; -} - -int get_acceleration(int id, double *ax, double *ay, double *az) -{ - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - if (i < ident.size()) { - *ax = acc[i][0]; - *ay = acc[i][1]; - *az = acc[i][2]; - return 0; - } else - return -2; -} - -int evolve_model(double t_end) -{ - evolve_system(t_end); - return 0; -} - -int initialize_code() -{ - which_int = 2; - set_integration_scheme(); - begin_time = 0.0; - - initialize_stopping_conditions(); - - // AMUSE STOPPING CONDITIONS SUPPORT - set_support_for_condition(COLLISION_DETECTION); - set_support_for_condition(TIMEOUT_DETECTION); - set_support_for_condition(NUMBER_OF_STEPS_DETECTION); - set_support_for_condition(OUT_OF_BOX_DETECTION); - // ----------------------- - - return 0; -} - -int get_kinetic_energy(double *kinetic_energy) -{ - int n = ident.size(); - real ekin = 0; - for (int i = 0; i < n ; i++) { - for (int k = 0; k < NDIM ; k++) { - real v = vel[i][k]; - ekin += mass[i] * v * v; - } - } - *kinetic_energy = 0.5*ekin; - return 0; -} - -int get_potential_energy(double *value) -{ - int n = ident.size(); - real epot, coll_time; - get_acc_pot_coll(&potential_energy, &coll_time); - *value = potential_energy; - - return 0; -} - -int get_potential(int id, double *value) -{ - unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); - if (i < ident.size()) { - *value = potential[i]; - return 0; - } else { - *value = 0.0; - return -1; - } -} - -int get_potential_at_point(double eps, - double x, double y, double z, - double *phi) -{ - int n = ident.size(); - double rx,ry,rz,r; - *phi = 0.0; - - for (int i = 0; i< n; i++) { - rx = pos[i][0]-x; - ry = pos[i][1]-y; - rz = pos[i][2]-z; - r = sqrt(rx*rx+ry*ry+rz*rz + eps2); - *phi -= mass[i]/r; - } - - return 0; -} - -int get_gravity_at_point(double eps, - double x, double y, double z, - double *ax, double *ay, double *az) -{ - int n = ident.size(); - double rx, ry, rz, r3, r2, r, F; - - *ax = 0; - *ay = 0; - *az = 0; - - for (int i = 0; i&2 2> /dev/null && echo "yes" || echo "no") -PYIMAGE_AVAILABLE := $(shell $(PYTHON) -c "from PIL import Image" 1>&2 2> /dev/null && echo "yes" || echo "no") -PYOPENCL_AVAILABLE := $(shell $(PYTHON) -c "import pyopencl" 1>&2 2> /dev/null && echo "yes" || echo "no") -CFFI_AVAILABLE := $(shell $(PYTHON) -c "import cffi" 1>&2 2> /dev/null && echo "yes" || echo "no") - - - - -all: code build install test tupan_worker - -code: src/setup.py - -DOWNLOAD_CODES?=1 - -ifdef DOWNLOAD_CODES -src/setup.py: - make -C . download -else -src/setup.py: - @echo "" - @echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - @echo "" - @echo "DOWNLOAD_CODES is not set. tupan will not be downloaded and build." - @echo "If you do want Athena, set DOWNLOAD_CODES to 1." - @echo "bash> export DOWNLOAD_CODES=1" - @echo "csh> setenv DOWNLOAD_CODES 1" - @echo "" - @echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - @echo "" - @make -s --no-print-directory -C . raise_error -endif - -download: - git clone -b master https://github.com/ggf84/tupan.git src - -build: - cp tupan.cfg ./src/tupan/ - (cd src; python setup.py build) - -install: - mkdir install - (cd src; python setup.py install --prefix=../install) - -test: - @echo - @echo "Testing import of modules required for tupan (pyopencl, cffi):" -ifeq ($(PYOPENCL_AVAILABLE),no) - $(warning "Python import (optional) not available: pyopencl") -endif -ifeq ($(CFFI_AVAILABLE),no) - $(error "Python imports not available: cffi") -endif - @echo "Tests successful!" - @echo - - -tupan_worker: interface.py - $(CODE_GENERATOR) --type=py --mode=mpi -x interface TupanInterface TupanImplementation -o $@ - - -clean: - -cd src && python setup.py clean -a - -rm -f *.pyc; - -rm -f tupan_worker tupan_worker_sockets - -rm -rf install - -distclean: clean - -rm -f *.pyc - -rm -rf src __pycache__ - diff --git a/src/amuse/community/tupan/interface.py b/src/amuse/community/tupan/interface.py index 2fc65c5c13..b8bea9b10a 100644 --- a/src/amuse/community/tupan/interface.py +++ b/src/amuse/community/tupan/interface.py @@ -1,619 +1,7 @@ +from amuse.support.import_helper import load_code -from amuse.community import * -from amuse.community.interface.gd import GravitationalDynamicsInterface -from amuse.community.interface.gd import GravitationalDynamics -from amuse.community.interface.gd import SinglePointGravityFieldInterface -from amuse.community.interface.gd import GravityFieldCode -from amuse.rfi.core import PythonCodeInterface +TupanInterface = load_code("tupan", "TupanInterface") +Tupan = load_code("tupan", "Tupan") -import sys -import os.path - -dirname=os.path.dirname(__file__) -sys.path.append(os.path.join(dirname,"install","lib","python"+sys.version[:3],"site-packages")) - -try: - from tupan.integrator import Integrator - from tupan.particles.allparticles import ParticleSystem - MODULES_MISSING = False -except ImportError as ex: - print(ex) - MODULES_MISSING = True - -""" -MyCodeImplementation is what needs to be adapted to each specific -community code, MyCodeInterface and MyCode do not need to be changed -for standard dynamics codes (except for changing the name). -""" - - -class TupanImplementation(object): - - def __init__(self): - self.eta = 0.03125 - self.current_time = 0.0 - self.eps2 = 0.0 - self.time_begin = 0.0 - self.integrator_method = "sia21h.dkd" - self.pn_order = 0 - self.clight = None - self.particles = [] - self.particles_initialized = False - - def initialize_code(self): - return 0 - - def cleanup_code(self): - return 0 - - def commit_parameters(self): - if not self.integrator_method in Integrator.PROVIDED_METHODS: - msg = "Unknown integrator: {0}. Provided methods are: {1}." - print(msg.format(self.integrator_method, - Integrator.PROVIDED_METHODS)) - return -1 - if self.pn_order > 0 and self.clight is None: - print("'clight' is None. Please set the speed of light " - "parameter 'clight' when using 'pn_order' > 0.") - return -1 - return 0 - - def commit_particles(self): - num = len(self.particles) - ps = ParticleSystem(nstars=num) - for (i, p) in enumerate(self.particles): - ps.id[i] = i - ps.mass[i] = p.mass - ps.radius[i] = p.radius # XXX: 'radius' is not yet used in Tupan. - ps.eps2[i] = self.eps2/2 - ps.rx[i] = p.rx - ps.ry[i] = p.ry - ps.rz[i] = p.rz - ps.vx[i] = p.vx - ps.vy[i] = p.vy - ps.vz[i] = p.vz - self.integrator = Integrator(self.eta, - self.time_begin, - ps, - method=self.integrator_method, - pn_order=self.pn_order, - clight=self.clight) - return 0 - - def synchronize_model(self): - return 0 - - def new_particle(self, index_of_the_particle, - mass, radius, x, y, z, vx, vy, vz): - ps = ParticleSystem(nstars=1) - ps.mass[0] = mass - ps.radius[0] = radius - ps.rx[0] = x - ps.ry[0] = y - ps.rz[0] = z - ps.vx[0] = vx - ps.vy[0] = vy - ps.vz[0] = vz - self.particles.append(ps) - index_of_the_particle.value = len(self.particles)-1 - return 0 - - def set_state(self, index_of_the_particle, - mass, radius, x, y, z, vx, vy, vz): - try: - i = index_of_the_particle - ps = self.integrator.particle_system - ps.mass[i] = mass - ps.radius[i] = radius - ps.rx[i] = x - ps.ry[i] = y - ps.rz[i] = z - ps.vx[i] = vx - ps.vy[i] = vy - ps.vz[i] = vz - return 0 - except Exception as exc: - print(str(exc)) - return -1 - - def set_mass(self, index_of_the_particle, mass): - try: - i = index_of_the_particle - ps = self.integrator.particle_system - ps.mass[i] = mass - return 0 - except Exception as exc: - print(str(exc)) - return -1 - - def set_radius(self, index_of_the_particle, radius): - try: - i = index_of_the_particle - ps = self.integrator.particle_system - ps.radius[i] = radius - return 0 - except Exception as exc: - print(str(exc)) - return -1 - - def set_position(self, index_of_the_particle, x, y, z): - try: - i = index_of_the_particle - ps = self.integrator.particle_system - ps.rx[i] = x - ps.ry[i] = y - ps.rz[i] = z - return 0 - except: - return -1 - - def set_velocity(self, index_of_the_particle, vx, vy, vz): - try: - i = index_of_the_particle - ps = self.integrator.particle_system - ps.vx[i] = vx - ps.vy[i] = vy - ps.vz[i] = vz - return 0 - except: - return -1 - - def get_state(self, index_of_the_particle, - mass, radius, x, y, z, vx, vy, vz): - try: - i = index_of_the_particle - ps = self.integrator.particle_system - mass.value = ps.mass[i] - radius.value = ps.radius[i] - x.value, y.value, z.value = ps.rx[i], ps.ry[i], ps.rz[i] - vx.value, vy.value, vz.value = ps.vx[i], ps.vy[i], ps.vz[i] - return 0 - except: - return -1 - - def get_mass(self, index_of_the_particle, mass): - try: - i = index_of_the_particle - ps = self.integrator.particle_system - mass.value = ps.mass[i] - return 0 - except: - return -1 - - def get_radius(self, index_of_the_particle, radius): - try: - i = index_of_the_particle - ps = self.integrator.particle_system - radius.value = ps.radius[i] - return 0 - except: - return -1 - - def get_position(self, index_of_the_particle, x, y, z): - try: - i = index_of_the_particle - ps = self.integrator.particle_system - x.value, y.value, z.value = ps.rx[i], ps.ry[i], ps.rz[i] - return 0 - except: - return -1 - - def get_velocity(self, index_of_the_particle, vx, vy, vz): - try: - i = index_of_the_particle - ps = self.integrator.particle_system - vx.value, vy.value, vz.value = ps.vx[i], ps.vy[i], ps.vz[i] - return 0 - except: - return -1 - - def get_kinetic_energy(self, kinetic_energy): - ps = self.integrator.particle_system - ke = ps.kinetic_energy - kinetic_energy.value = ke - return 0 - - def get_potential_energy(self, potential_energy): - ps = self.integrator.particle_system - pe = ps.potential_energy - potential_energy.value = pe - return 0 - - def get_total_mass(self, total_mass): - ps = self.integrator.particle_system - mtot = ps.total_mass - total_mass.value = mtot - return 0 - - def get_center_of_mass_position(self, x, y, z): - ps = self.integrator.particle_system - com_r = ps.com_r - x.value, y.value, z.value = com_r - return 0 - - def get_center_of_mass_velocity(self, vx, vy, vz): - ps = self.integrator.particle_system - com_v = ps.com_v - vx.value, vy.value, vz.value = com_v - return 0 - - def get_gravity_at_point(self, eps, x, y, z, ax, ay, az, length): - ax.value = 0.0 - ay.value = 0.0 - az.value = 0.0 - return -2 # Not implemented - - def get_potential_at_point(self, eps, x, y, z, phi, length): - phi.value = 0.0 - return -2 # Not implemented - - def evolve_model(self, t_end): - while (abs(self.integrator.time) < abs(t_end)): - self.integrator.evolve_step(t_end) - self.current_time = self.integrator.time - return 0 - - def set_eta(self, eta): - self.eta = eta - return 0 - - def get_eta(self, eta): - eta.value = self.eta - return 0 - - def set_time(self, time): - self.current_time = time - return 0 - - def get_time(self, time): - time.value = self.current_time - return 0 - - def set_eps2(self, epsilon_squared): - self.eps2 = epsilon_squared - return 0 - - def get_eps2(self, epsilon_squared): - epsilon_squared.value = self.eps2 - return 0 - - def set_begin_time(self, time_begin): - self.time_begin = time_begin - return 0 - - def get_begin_time(self, time_begin): - time_begin.value = self.time_begin - return 0 - - def set_integrator_method(self, integrator_method): - self.integrator_method = integrator_method - return 0 - - def get_integrator_method(self, integrator_method): - integrator_method.value = self.integrator_method - return 0 - - def set_pn_order(self, pn_order): - self.pn_order = pn_order - return 0 - - def get_pn_order(self, pn_order): - pn_order.value = self.pn_order - return 0 - - def set_clight(self, clight): - self.clight = clight - return 0 - - def get_clight(self, clight): - clight.value = self.clight - return 0 - - -class TupanInterface(PythonCodeInterface, - GravitationalDynamicsInterface, - SinglePointGravityFieldInterface): - - def __init__(self, **options): - PythonCodeInterface.__init__( - self, - TupanImplementation, - 'tupan_worker', - **options) - - @legacy_function - def new_particle(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter( - 'index_of_the_particle', - dtype='int32', - direction=function.OUT) - function.addParameter( - 'mass', - dtype='float64', - direction=function.IN, - description="The mass of the particle") - function.addParameter( - 'x', - dtype='float64', - direction=function.IN, - description="The initial position vector of the particle") - function.addParameter( - 'y', - dtype='float64', - direction=function.IN, - description="The initial position vector of the particle") - function.addParameter( - 'z', - dtype='float64', - direction=function.IN, - description="The initial position vector of the particle") - function.addParameter( - 'vx', - dtype='float64', - direction=function.IN, - description="The initial velocity vector of the particle") - function.addParameter( - 'vy', - dtype='float64', - direction=function.IN, - description="The initial velocity vector of the particle") - function.addParameter( - 'vz', - dtype='float64', - direction=function.IN, - description="The initial velocity vector of the particle") - function.addParameter( - 'radius', - dtype='float64', - direction=function.IN, - description="The radius of the particle", - default=0) - function.result_type = 'int32' - return function - - @legacy_function - def set_eta(): - function = LegacyFunctionSpecification() - function.addParameter( - 'eta', - dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_eta(): - function = LegacyFunctionSpecification() - function.addParameter( - 'eta', - dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_time(): - function = LegacyFunctionSpecification() - function.addParameter( - 'time', - dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_time(): - function = LegacyFunctionSpecification() - function.addParameter( - 'time', - dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_eps2(): - function = LegacyFunctionSpecification() - function.addParameter( - 'epsilon_squared', - dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_eps2(): - function = LegacyFunctionSpecification() - function.addParameter( - 'epsilon_squared', - dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_integrator_method(): - function = LegacyFunctionSpecification() - function.addParameter( - 'integrator_method', - dtype='string', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_integrator_method(): - function = LegacyFunctionSpecification() - function.addParameter( - 'integrator_method', - dtype='string', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_pn_order(): - function = LegacyFunctionSpecification() - function.addParameter( - 'pn_order', - dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_pn_order(): - function = LegacyFunctionSpecification() - function.addParameter( - 'pn_order', - dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_clight(): - function = LegacyFunctionSpecification() - function.addParameter( - 'clight', - dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_clight(): - function = LegacyFunctionSpecification() - function.addParameter( - 'clight', - dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - -class Tupan(GravitationalDynamics, GravityFieldCode): - - def __init__(self, convert_nbody=None, **options): - nbody_interface = TupanInterface(**options) - - GravitationalDynamics.__init__( - self, - nbody_interface, - convert_nbody, - **options - ) - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - GravityFieldCode.define_state(self, handler) - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_eta", - "set_eta", - "timestep_parameter", - "timestep parameter", - default_value=0.01 - ) - - handler.add_method_parameter( - "get_eps2", - "set_eps2", - "epsilon_squared", - "smoothing parameter for gravity calculations", - default_value=0.0 | nbody_system.length * nbody_system.length - ) - - handler.add_method_parameter( - "get_begin_time", - "set_begin_time", - "begin_time", - "model time to start the simulation at", - default_value=0.0 | nbody_system.time - ) - - handler.add_method_parameter( - "get_integrator_method", - "set_integrator_method", - "integrator_method", - "The method to use to integrate the evolution of the system", - default_value="sia21h.dkd" - ) - - handler.add_method_parameter( - "get_pn_order", - "set_pn_order", - "pn_order", - "Order of the Post-Newtonian corrections \ - (choices: [0, 2, 4, 5, 6, 7])", - default_value=0 - ) - - handler.add_method_parameter( - "get_clight", - "set_clight", - "clight", - "Speed of light to use in post-Newtonian corrections", - ) - - def define_methods(self, handler): - GravitationalDynamics.define_methods(self, handler) - - handler.add_method( - "get_eta", - (), - (handler.NO_UNIT, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_eta", - (handler.NO_UNIT,), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "get_time", - (), - (nbody_system.time, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_begin_time", - (nbody_system.time,), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_begin_time", - (), - (nbody_system.time, handler.ERROR_CODE,) - ) - - handler.add_method( - "get_eps2", - (), - (nbody_system.length * nbody_system.length, handler.ERROR_CODE,) - ) - - handler.add_method( - "set_eps2", - (nbody_system.length * nbody_system.length, ), - (handler.ERROR_CODE,) - ) - - handler.add_method( - "set_clight", - (nbody_system.speed,), - (handler.ERROR_CODE,) - ) - handler.add_method( - "get_clight", - (), - (nbody_system.speed, handler.ERROR_CODE,) - ) - - -### end of file ### +Tupan = Tupan diff --git a/src/amuse/community/twobody/Makefile b/src/amuse/community/twobody/Makefile deleted file mode 100644 index dda6dcf9da..0000000000 --- a/src/amuse/community/twobody/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - - -all:twobody_worker - -twobody_worker: twobody.py - $(CODE_GENERATOR) --type=py --mode=mpi -x interface TwoBodyInterface TwoBodyImplementation -o $@ - -clean: - $(RM) -f *.bck *.pyc - $(RM) -f twobody_worker twobody_worker_sockets diff --git a/src/amuse/community/twobody/interface.py b/src/amuse/community/twobody/interface.py index bc53de2b81..bedea79951 100644 --- a/src/amuse/community/twobody/interface.py +++ b/src/amuse/community/twobody/interface.py @@ -1,583 +1,7 @@ -from amuse.community import * -from amuse.community.interface.gd import GravitationalDynamicsInterface -from amuse.community.interface.gd import GravitationalDynamics -from amuse.community.interface.gd import GravityFieldInterface -from amuse.community.interface.gd import GravityFieldCode -import copy,numpy -import numpy as math +from amuse.support.import_helper import load_code -from amuse.units.quantities import zero - -# tbd: initial value for time_Radius solver - -from amuse.datamodel import Particles -from amuse.rfi.core import * -from functools import reduce -def stumpff_C(z): - if(z==0): - return 1/2. - if(z>0): - sz=math.sqrt(z) - return (1-math.cos(sz))/z - if(z<0): - sz=math.sqrt(-z) - return -(math.cosh(sz)-1)/z - -def stumpff_S(z): - if(z==0): - return 1/6. - if(z>0): - sz=math.sqrt(z) - return (sz-math.sin(sz))/sz**3 - if(z<0): - sz=math.sqrt(-z) - return (math.sinh(sz)-sz)/sz**3 - -def stumpff_C_prime(z): - return (stumpff_C(z)-3*stumpff_S(z))/2/z -def stumpff_S_prime(z): - return (1-stumpff_S(z)-2*stumpff_C(z))/2/z - -def lagrange_f(xi,r0,vr0,smu,alpha): - return 1.-xi**2/r0*stumpff_C(alpha*xi**2) -def lagrange_dfdxi(xi,r0,vr0,smu,alpha): - z=alpha*xi**2 - return xi/r0*(z*stumpff_S(z)-1) -def lagrange_g(xi,r0,vr0,smu,alpha): - z=alpha*xi**2 - return r0*vr0*(xi/smu)**2*stumpff_C(z)-r0*xi*z/smu*stumpff_S(z)+r0*xi/smu -def lagrange_dgdxi(xi,r0,vr0,smu,alpha): - z=alpha*xi**2 - return r0*vr0/smu*(xi/smu)*(1-z*stumpff_S(z))-z*r0/smu*stumpff_C(z)+r0/smu - -def universal_kepler(xi,r0,vr0,smu,alpha): - z=alpha*xi**2 - return (r0*vr0*xi**2*stumpff_C(z)/smu+ - (1-alpha*r0)*xi**3*stumpff_S(z)+r0*xi) - -def universal_kepler_dxi(xi,r0,vr0,smu,alpha): - z=alpha*xi**2 - return (r0*vr0*xi*(1-alpha*xi**2*stumpff_S(z))/smu + - (1-alpha*r0)*xi**2*stumpff_C(z)+r0) - -def universal_kepler_dxidxi(xi,r0,vr0,smu,alpha): - z=alpha*xi**2 -# return r0*vr0/smu-alpha*r0*vr0*xi**2/smu*stumpff_C(z)+\ -# (1-alpha*r0)*xi*(1-z*stumpff_S(z)) - return -alpha*universal_kepler(xi,r0,vr0,smu,alpha)+r0*vr0/smu+xi - -def newton(f,x0,fprime=None,args=(),tol=1.48e-8,maxiter=50): - if fprime is None: - print("provide fprime") - return x0 - i=0 - x=x0 - while (i0): - ra=p/(1-math.sqrt(1-p*alpha)) - if(radius > ra): - return dt,0 - - smu=math.sqrt(mu) - xi0=1/math.sqrt(alpha) - - def f(xi): - return universal_kepler_dxi(xi,r0,vr0,smu,alpha)-radius - def df(xi): - return universal_kepler_dxidxi(xi,r0,vr0,smu,alpha) - - xi,err=newton(f,xi0,fprime=df,tol=1.e-10) - - dt_coll=universal_kepler(xi,r0,vr0,smu,alpha)/smu - if(dt_coll > 0 and dt_coll < dt): - return dt_coll,1 - else: - return dt,0 - -def collision(radius,mu,pos0,vel0,dt): - return universal_time_radius_solver(radius,mu,pos0,vel0,dt) - -def universal_solver_newton(mu,pos0,vel0,dt): - smu=math.sqrt(mu) - - r0=math.sqrt(reduce(lambda x,y: x+ y**2,pos0,0)) - v0=math.sqrt(reduce(lambda x,y: x+ y**2,vel0,0)) - vr0=(reduce(lambda x,y: x+y, pos0*vel0,0))/r0 - alpha=2./r0-v0**2/mu - - if(alpha >= 0): - xi0=smu*alpha*dt - else: - xi0=math.sign(dt)/math.sqrt(-alpha)*math.log(1-2*mu*dt*alpha/((vr0*r0)+ - math.sign(dt)*smu/math.sqrt(-alpha)*(1-r0*alpha)) ) -# this last formula is 4.5.11 in bate et al., fundamentals of astrodynamics -# with +1 in the logarithm - dxi0=smu/r0*dt - if(abs(alpha*dxi0**2)<1): - xi0=dxi0 - - - def f(xi): - return universal_kepler(xi,r0,vr0,smu,alpha)-smu*dt - def df(xi): - return universal_kepler_dxi(xi,r0,vr0,smu,alpha) - - xi,err=newton(f,xi0,fprime=df,tol=1.e-10) -# print dt,xi,xi0 - - pos=pos0*lagrange_f(xi,r0,vr0,smu,alpha)+vel0*lagrange_g(xi,r0,vr0,smu,alpha) - r=math.sqrt(reduce(lambda x,y: x+ y**2,pos,0)) - vel=pos0*smu/r*lagrange_dfdxi(xi,r0,vr0,smu,alpha)+ \ - vel0*smu/r*lagrange_dgdxi(xi,r0,vr0,smu,alpha) - return pos,vel - - -def universal_solver(mu,pos0,vel0,dt): - smu=math.sqrt(mu) - - r0=math.sqrt(reduce(lambda x,y: x+ y**2,pos0,0)) - v0=math.sqrt(reduce(lambda x,y: x+ y**2,vel0,0)) - vr0=(reduce(lambda x,y: x+y, pos0*vel0,0))/r0 - alpha=2./r0-v0**2/mu - - if(alpha >= 0): - xi0=smu*alpha*dt - else: - xi0=math.sign(dt)/math.sqrt(-alpha)*math.log(1-2*mu*dt*alpha/((vr0*r0)+ - math.sign(dt)*smu/math.sqrt(-alpha)*(1-r0*alpha)) ) -# this last formula is 4.5.11 in bate et al., fundamentals of astrodynamics -# with +1 in the logarithm - dxi0=smu/r0*dt - if(abs(alpha*dxi0**2)<1): - xi0=dxi0 - - def f(xi): - return universal_kepler(xi,r0,vr0,smu,alpha)-smu*dt - def df(xi): - return universal_kepler_dxi(xi,r0,vr0,smu,alpha) - def ddf(xi): - return universal_kepler_dxidxi(xi,r0,vr0,smu,alpha) - - xi,err=laguerre(f,xi0,fprime=df,fprimeprime=ddf) -# print dt,xi,xi0 - - pos=pos0*lagrange_f(xi,r0,vr0,smu,alpha)+vel0*lagrange_g(xi,r0,vr0,smu,alpha) - r=math.sqrt(reduce(lambda x,y: x+ y**2,pos,0)) - vel=pos0*smu/r*lagrange_dfdxi(xi,r0,vr0,smu,alpha)+ \ - vel0*smu/r*lagrange_dgdxi(xi,r0,vr0,smu,alpha) - return pos,vel - - -class TwoBodyImplementation(object): - __G = 1.0 - - def __init__(self): - self.initialize_code() - - def initialize_code(self): - self.particles=[] - self.tnow=0.0 - self.begin_time_parameter = 0.0 - return 0 - - def cleanup_code(self): - self.particles=[] - return 0 - - def commit_parameters(self): - if self.tnow == 0.0: - self.tnow = self.begin_time_parameter - - return 0 - - def commit_particles(self): - return 0 - - def recommit_particles(self): - return 0 - - def synchronize_model(self): - return 0 - - def initialize(self): - pass - - - def new_particle(self, index_of_the_particle, mass, radius, x, y, z, vx, vy, vz): - index_of_the_particle.value = 0 - if( len(self.particles)>=2): - return -1 - self.particles.append( - { - 'mass': mass, - 'radius' : radius, - 'x' : x, - 'y' : y, - 'z' : z, - 'vx' : vx, - 'vy' : vy, - 'vz' : vz, - } - ) - - index_of_the_particle.value = len(self.particles)-1 - return 0 - - def set_state(self, index_of_the_particle, mass, radius, x, y, z, vx, vy, vz): - try: - particle = self.particles[index_of_the_particle] - particle['mass'] = mass - particle['radius'] = radius - particle['x'] =x - particle['y'] =y - particle['z'] =z - particle['vx'] =vx - particle['vy'] =vy - particle['vz'] =vz - return 0 - except: - return -1 - - def set_mass(self, index_of_the_particle, mass): - try: - particle = self.particles[index_of_the_particle] - particle['mass'] = mass - return 0 - except: - return -1 - - def set_velocity(self, index_of_the_particle, vx, vy, vz): - try: - particle = self.particles[index_of_the_particle] - particle['vx'] =vx - particle['vy'] =vy - particle['vz'] =vz - return 0 - except: - return -1 - - def set_position(self, index_of_the_particle, x, y, z): - try: - particle = self.particles[index_of_the_particle] - particle['x'] =x - particle['y'] =y - particle['z'] =z - return 0 - except: - return -1 - - - def get_state(self, index_of_the_particle, mass, radius, x, y, z, vx, vy, vz): - try: - particle = self.particles[index_of_the_particle] - mass.value = particle['mass'] - radius.value = particle['radius'] - x.value = particle['x'] - y.value = particle['y'] - z.value = particle['z'] - vx.value = particle['vx'] - vy.value = particle['vy'] - vz.value = particle['vz'] - return 0 - except: - return -1 - - def get_mass(self, index_of_the_particle, mass): - try: - particle = self.particles[index_of_the_particle] - mass.value = particle['mass'] - return 0 - except: - return -1 - - def get_radius(self, index_of_the_particle, radius): - try: - particle = self.particles[index_of_the_particle] - radius.value = particle['radius'] - return 0 - except: - return -1 - - def get_position(self, index_of_the_particle, x, y, z): - try: - particle = self.particles[index_of_the_particle] - x.value = particle['x'] - y.value = particle['y'] - z.value = particle['z'] - return 0 - except: - return -1 - - def get_velocity(self, index_of_the_particle, vx, vy, vz): - try: - particle = self.particles[index_of_the_particle] - vx.value = particle['vx'] - vy.value = particle['vy'] - vz.value = particle['vz'] - return 0 - except: - return -1 - - def get_time(self, time): - time.value = self.tnow - return 0 - - def get_kinetic_energy(self, kinetic_energy): - if(len(self.particles)!=1 and len(self.particles)!=2): - return -1 - - if(len(self.particles)==1): - return -2 - - if(len(self.particles)==2): - vel0=numpy.array( [self.particles[0]['vx'], - self.particles[0]['vy'], - self.particles[0]['vz']] ) - vel1=numpy.array( [self.particles[1]['vx'], - self.particles[1]['vy'], - self.particles[1]['vz']] ) - - v0=reduce(lambda x,y: x+ y**2,vel0,0) - v1=reduce(lambda x,y: x+ y**2,vel1,0) - - mass0=self.particles[0]['mass'] - mass1=self.particles[1]['mass'] - - kinetic_energy.value = 0.5*(mass0*v0+mass1*v1) - - return 0 - - def get_gravity_at_point(self, eps, x, y, z, ax, ay, az, npoints): - if(len(self.particles)==1): - return -2 - elif(len(self.particles)==2): - ax.value=0. - ay.value=0. - az.value=0. - for i in [0,1]: - mass=self.particles[i]['mass'] - xx=self.particles[i]['x'] - yy=self.particles[i]['y'] - zz=self.particles[i]['z'] - dr2=((xx-x)**2+(yy-y)**2+(zz-z)**2+eps**2) - - ax.value+=self.__G*mass*(xx-x)/dr2**1.5 - ay.value+=self.__G*mass*(yy-y)/dr2**1.5 - az.value+=self.__G*mass*(zz-z)/dr2**1.5 - - return 0 - else: - return -1 - - def get_potential_at_point(self, eps, x, y, z, phi, npoints): - if(len(self.particles)==1): - return -2 - elif(len(self.particles)==2): - phi.value = zero - for i in [0,1]: - mass=self.particles[i]['mass'] - xx=self.particles[i]['x'] - yy=self.particles[i]['y'] - zz=self.particles[i]['z'] - dr2=((xx-x)**2+(yy-y)**2+(zz-z)**2+eps**2) - - phi.value += -self.__G*mass/dr2**0.5 - return 0 - else: - return -1 - - - def get_begin_time(self, value_out): - value_out.value = self.begin_time_parameter - return 0 - - def set_begin_time(self, value_in): - self.begin_time_parameter = value_in - return 0 - - def get_potential_energy(self, potential_energy): - if(len(self.particles)!=1 and len(self.particles)!=2): - return -1 - - if(len(self.particles)==1): - return -2 - if(len(self.particles)==2): - pos0=numpy.array( [self.particles[0]['x'], - self.particles[0]['y'], - self.particles[0]['z']] ) - pos1=numpy.array( [self.particles[1]['x'], - self.particles[1]['y'], - self.particles[1]['z']] ) - dpos=pos0-pos1 - mass0=self.particles[0]['mass'] - mass1=self.particles[1]['mass'] - r=math.sqrt(reduce(lambda x,y: x+ y**2,dpos,0)) - potential_energy.value = -self.__G*mass0*mass1/r - return 0 - - def evolve_model(self, time): - time_end = time - - if(len(self.particles)!=1 and len(self.particles)!=2): - return -1 - - if(len(self.particles)==1): - mu=self.__G*self.particles[0]['mass'] - radius=self.particles[0]['radius'] - dpos_initial=numpy.array( [self.particles[0]['x'], - self.particles[0]['y'], - self.particles[0]['z']] ) - dvel_initial=numpy.array( [self.particles[0]['vx'], - self.particles[0]['vy'], - self.particles[0]['vz']] ) - dt,collisionflag=collision(radius,mu,dpos_initial,dvel_initial,time_end-self.tnow) - dpos,dvel=universal_solver(mu,dpos_initial,dvel_initial,dt) - self.particles[0]['x']=dpos[0] - self.particles[0]['y']=dpos[1] - self.particles[0]['z']=dpos[2] - self.particles[0]['vx']=dvel[0] - self.particles[0]['vy']=dvel[1] - self.particles[0]['vz']=dvel[2] - - if(len(self.particles)==2): - mu=self.__G*(self.particles[0]['mass']+self.particles[1]['mass']) - radius=self.particles[0]['radius']+self.particles[1]['radius'] - tm=(self.particles[0]['mass']+self.particles[1]['mass']) - m0=self.particles[0]['mass'] - m1=self.particles[1]['mass'] - pos0=numpy.array( [self.particles[0]['x'], - self.particles[0]['y'], - self.particles[0]['z']] ) - vel0=numpy.array( [self.particles[0]['vx'], - self.particles[0]['vy'], - self.particles[0]['vz']] ) - pos1=numpy.array( [self.particles[1]['x'], - self.particles[1]['y'], - self.particles[1]['z']] ) - vel1=numpy.array( [self.particles[1]['vx'], - self.particles[1]['vy'], - self.particles[1]['vz']] ) - dpos_initial=pos0-pos1 - dvel_initial=vel0-vel1 - cmpos=(m0*pos0+m1*pos1)/tm - cmvel=(m0*vel0+m1*vel1)/tm - dt,collisionflag=collision(radius,mu,dpos_initial,dvel_initial,time_end-self.tnow) - dpos,dvel=universal_solver(mu,dpos_initial,dvel_initial,dt) - cmpos=cmpos+(time_end-self.tnow)*cmvel - f0=m1/tm - f1=m0/tm - self.particles[0]['x']=cmpos[0]+f0*dpos[0] - self.particles[0]['y']=cmpos[1]+f0*dpos[1] - self.particles[0]['z']=cmpos[2]+f0*dpos[2] - self.particles[0]['vx']=cmvel[0]+f0*dvel[0] - self.particles[0]['vy']=cmvel[1]+f0*dvel[1] - self.particles[0]['vz']=cmvel[2]+f0*dvel[2] - self.particles[1]['x']=cmpos[0]-f1*dpos[0] - self.particles[1]['y']=cmpos[1]-f1*dpos[1] - self.particles[1]['z']=cmpos[2]-f1*dpos[2] - self.particles[1]['vx']=cmvel[0]-f1*dvel[0] - self.particles[1]['vy']=cmvel[1]-f1*dvel[1] - self.particles[1]['vz']=cmvel[2]-f1*dvel[2] - - self.tnow=self.tnow+dt - - return collisionflag - - - -class TwoBodyInterface(PythonCodeInterface, GravitationalDynamicsInterface, GravityFieldInterface): - - def __init__(self, **options): - PythonCodeInterface.__init__(self, TwoBodyImplementation, 'twobody_worker', **options) - - - -class TwoBody(GravitationalDynamics, GravityFieldCode): - - - def __init__(self, convert_nbody = None, **options): - nbody_interface = TwoBodyInterface(**options) - - GravitationalDynamics.__init__( - self, - nbody_interface, - convert_nbody, - **options - ) - - def define_state(self, handler): - GravitationalDynamics.define_state(self, handler) - GravityFieldCode.define_state(self, handler) - - def get_epsilon_squared(self): - return zero - - def define_parameters(self, handler): - handler.add_method_parameter( - "get_epsilon_squared", - None, - "epsilon_squared", - "smoothing parameter for gravity calculations", - default_value = zero - ) - handler.add_method_parameter( - "get_begin_time", - "set_begin_time", - "begin_time", - "model time to start the simulation at", - default_value = 0.0 | nbody_system.time - ) - +TwoBodyInterface = load_code("twobody", "TwoBodyInterface") +TwoBody = load_code("twobody", "TwoBody") Twobody = TwoBody diff --git a/src/amuse/community/vader/Makefile b/src/amuse/community/vader/Makefile deleted file mode 100644 index d84c99d62b..0000000000 --- a/src/amuse/community/vader/Makefile +++ /dev/null @@ -1,94 +0,0 @@ -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include ${AMUSE_DIR}/config.mk - -MPICXX ?= mpicxx -MPICC ?= mpicc - -CFLAGS += -Wall -g -CXXFLAGS += $(CFLAGS) $(GSL_FLAGS) -LDFLAGS += $(GSL_LIBS) $(MUSE_LD_FLAGS) - -OBJS = interface.o - -DOWNLOAD_FROM_WEB = $(PYTHON) ./download.py - -PROB = none - -BUILDDIR = build - -.PHONY: all code download - -ifdef MAKE_CODE - -TARGETS := $(patsubst src/prob/userFunc_%.c, vader_worker_%, ${wildcard src/prob/userFunc_*.c}) -all: $(TARGETS) - -${TARGETS}: vader_worker_%: worker_code.cc worker_code.h interface_%.o $(BUILDDIR)_%/libvader.a - $(MPICXX) $(CXXFLAGS) $< interface_$*.o $(BUILDDIR)_$*/libvader.a -o $@ $(LDFLAGS) - -else - -all: src code - -endif - -code: - make -C . MAKE_CODE=True - - -download: - $(RM) -Rf .pc - $(RM) -Rf src - mkdir src - $(DOWNLOAD_FROM_WEB) - -src: vader_src - cp -r vader_src/vader_csrc src - cp Makefile_vader src/Makefile - - -vader_src: - make -C . download - - -clean: - $(RM) -f *.so *.o *.pyc worker_code.cc worker_code.h - $(RM) *~ vader_worker_* worker_code.cc - $(RM) -Rf build_* -#~ make -C src clean - -vader_worker: download src code - -$(BUILDDIR)_%: src - mkdir $@ - -$(BUILDDIR)_%/Makefile: src/Makefile | $(BUILDDIR)_% - cp src/Makefile $@ - -$(BUILDDIR)_%/userFunc.h: src/userFunc.h | $(BUILDDIR)_% - cp src/userFunc.h $@ - -$(BUILDDIR)_%/vader_common.h: src/vader_common.h | $(BUILDDIR)_% - cp src/vader_common.h $@ - -$(BUILDDIR)_%/libvader.a: $(BUILDDIR)_%/Makefile $(BUILDDIR)_%/userFunc.h $(BUILDDIR)_%/vader_common.h - make -C $(BUILDDIR)_$* all PROB=$* VPATH=../src - -interface_%.o: interface.cc worker_code.h - $(MPICC) $(CXXFLAGS) -c -o $@ $< - -worker_code.cc: interface.py - $(CODE_GENERATOR) --type=c interface.py VaderInterface -o $@ - -worker_code.h: interface.py - $(CODE_GENERATOR) --type=H interface.py VaderInterface -o $@ - -.cc.o: $< - $(MPICC) $(CXXFLAGS) -c -o $@ $< - -distclean: clean - $(RM) -Rf src vader_src *.tar.gz - -.PRECIOUS: $(BUILDDIR)_% $(BUILDDIR)_%/Makefile $(BUILDDIR)_%/userFunc.h $(BUILDDIR)_%/vader_common.h diff --git a/src/amuse/community/vader/download.py b/src/amuse/community/vader/download.py deleted file mode 100644 index b7320bd4ae..0000000000 --- a/src/amuse/community/vader/download.py +++ /dev/null @@ -1,103 +0,0 @@ -#!/usr/bin/env python - -import subprocess -import os -import urllib.request -from shutil import which -from optparse import OptionParser - - -class GetCodeFromHttp: - filename_template = "{version}.tar.gz" - name = ["MJCWilhelm-vader"] - url_template = [ - "https://bitbucket.org/MJCWilhelm/vader/get/{version}.tar.gz", - ] - version = [ - "", - ] - - def directory(self): - return os.path.abspath(os.path.dirname(__file__)) - - def src_directory(self): - return os.path.join(self.directory(), 'src') - - def unpack_downloaded_file(self, filename, name, version): - print ("unpacking", filename) - arguments = ['mkdir', 'vader_src'] - subprocess.call( - arguments, - cwd=os.path.join(self.directory()) - ) - arguments = ['tar', '-xf', filename, '-C', 'vader_src', '--strip-components=1'] - subprocess.call( - arguments, - cwd=os.path.join(self.directory()) - ) - print("done") - - def start(self): - if os.path.exists('src'): - counter = 0 - while os.path.exists('src.{0}'.format(counter)): - counter += 1 - if counter > 100: - print("too many backup directories") - break - os.rename('src', 'src.{0}'.format(counter)) - - #os.mkdir('src') - - for i, url_template in enumerate(self.url_template): - url = url_template.format(version=self.version[i]) - filename = self.filename_template.format(version=self.version[i]) - filepath = os.path.join(self.directory(), filename) - print( - "downloading version", self.version[i], - "from", url, "to", filename - ) - if which('wget') is not None: - arguments = ['wget', url] - subprocess.call( - arguments, - cwd=os.path.join(self.directory()) - ) - elif which('curl') is not None: - arguments = ['curl', '-L', '-O', url] - subprocess.call( - arguments, - cwd=os.path.join(self.directory()) - ) - else: - urllib.request.urlretrieve(url, filepath) - print("downloading finished") - self.unpack_downloaded_file( - filename, self.name[i], self.version[i] - ) - - -def main(vader_version=''): - version = [ - vader_version, - ] - instance = GetCodeFromHttp() - instance.version = version - instance.start() - - -def new_option_parser(): - result = OptionParser() - result.add_option( - "--vader-version", - default='0e6357b451e6', - dest="vader_version", - help="VADER commit hash to download", - type="string" - ) - return result - - -if __name__ == "__main__": - options, arguments = new_option_parser().parse_args() - main(**options.__dict__) diff --git a/src/amuse/community/vader/interface.py b/src/amuse/community/vader/interface.py index 47a441c775..d2e3cc66a6 100644 --- a/src/amuse/community/vader/interface.py +++ b/src/amuse/community/vader/interface.py @@ -1,2461 +1,7 @@ -from amuse.community import * -from amuse.community.interface import common +from amuse.support.import_helper import load_code -class VaderInterface(CodeInterface, - LiteratureReferencesMixIn, - common.CommonCodeInterface): +VaderInterface = load_code("vader", "VaderInterface") +Vader = load_code("vader", "Vader") - """ - VADER is a code simulating the evolution of viscous thin accretion - disks. It is developed by Mark Krumholz and John Forbes [1]. - - .. [#] ADS:2015A&C....11....1K (Krumholz, M. R. and Forbes, J. C., Astronomy and Computing, Vol. 11 (2015): - .. [#] ... VADER: A Flexible, Robust, Open-Source Code for Simulating Viscous Thin Accretion Disks) - """ - - include_headers = ['worker_code.h'] - - def __init__(self, mode = 'none', **keyword_arguments): - CodeInterface.__init__(self, - name_of_the_worker="vader_worker_" + mode, - **keyword_arguments) - LiteratureReferencesMixIn.__init__(self) - - @legacy_function - def initialize_code(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def evolve_model(): - function = LegacyFunctionSpecification() - function.addParameter('tlim', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def initialize_keplerian_grid(): - function = LegacyFunctionSpecification() - function.addParameter('n', dtype='int32', - direction=function.IN) - function.addParameter('linear', dtype='bool', - direction=function.IN) - function.addParameter('rmin', dtype='float64', - direction=function.IN) - function.addParameter('rmax', dtype='float64', - direction=function.IN) - function.addParameter('m', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def update_keplerian_grid(): - function = LegacyFunctionSpecification() - function.addParameter('m', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def initialize_flat_grid(): - function = LegacyFunctionSpecification() - function.addParameter('n', dtype='int32', - direction=function.IN) - function.addParameter('linear', dtype='bool', - direction=function.IN) - function.addParameter('rmin', dtype='float64', - direction=function.IN) - function.addParameter('rmax', dtype='float64', - direction=function.IN) - function.addParameter('vphi', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def update_flat_grid(): - function = LegacyFunctionSpecification() - function.addParameter('vphi', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def initialize_tabulated_grid(): - function = LegacyFunctionSpecification() - function.addParameter('n', dtype='int32', - direction=function.IN) - function.addParameter('linear', dtype='int32', - direction=function.IN) - function.addParameter('rmin', dtype='float64', - direction=function.IN) - function.addParameter('rmax', dtype='float64', - direction=function.IN) - function.addParameter('bspline_degree', dtype='int32', - direction=function.IN) - function.addParameter('bspline_breakpoints', - dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def update_tabulated_grid(): - function = LegacyFunctionSpecification() - function.addParameter('bspline_degree', dtype='int32', - direction=function.IN) - function.addParameter('bspline_breakpoints', dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - - @legacy_function - def get_tabulated_size(): - function = LegacyFunctionSpecification() - function.addParameter('nTab', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_tabulated_size(): - function = LegacyFunctionSpecification() - function.addParameter('nTab', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - def get_table_range(self): - nTab = self.get_tabulated_size()['nTab'] - return (0, nTab-1) - - @legacy_function - def get_tabulated_radius(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('i', dtype='int32', direction=function.IN) - function.addParameter('rTab', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_tabulated_radius(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('i', dtype='int32', direction=function.IN) - function.addParameter('rTab', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_tabulated_velocity(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('i', dtype='int32', direction=function.IN) - function.addParameter('vTab', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_tabulated_velocity(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('i', dtype='int32', direction=function.IN) - function.addParameter('vTab', dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - #grid getters&setters - @legacy_function - def get_position_of_index(): - function = LegacyFunctionSpecification() - function.can_handle_array = True - function.addParameter('i', dtype='int32', - direction=function.IN) - function.addParameter('r', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_index_of_position(): - function = LegacyFunctionSpecification() - function.addParameter('r', dtype='float64', - direction=function.IN) - function.addParameter('i', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_grid_column_density(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('i', dtype='int32', - direction=function.IN) - function.addParameter('sigma', dtype='float64', - direction=function.OUT) - function.addParameter('number_of_points', 'int32', - function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_grid_pressure(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('i', dtype='int32', - direction=function.IN) - function.addParameter('pressure', dtype='float64', - direction=function.OUT) - function.addParameter('number_of_points', 'int32', - function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_grid_internal_energy(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('i', dtype='int32', - direction=function.IN) - function.addParameter('internal_energy', dtype='float64', - direction=function.OUT) - function.addParameter('number_of_points', 'int32', - function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_grid_state(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('i', dtype='int32', - direction=function.IN) - for x in ['sigma', 'pressure', 'internal_energy']: - function.addParameter(x, dtype='float64', - direction=function.OUT) - function.addParameter('number_of_points', 'int32', - function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_grid_user_output(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('n', dtype='int32', - direction=function.IN) - function.addParameter('i', dtype='int32', - direction=function.IN) - function.addParameter('user_output', dtype='float64', - direction=function.OUT) - function.addParameter('number_of_points', 'int32', - function.LENGTH) - function.result_type = 'int32' - return function - - - @legacy_function - def set_grid_column_density(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('i', dtype='int32', - direction=function.IN) - function.addParameter('sigma', dtype='float64', - direction=function.IN) - function.addParameter('number_of_points', 'int32', - function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def set_grid_pressure(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('i', dtype='int32', - direction=function.IN) - function.addParameter('pressure', dtype='float64', - direction=function.IN) - function.addParameter('number_of_points', 'int32', - function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def set_grid_internal_energy(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('i', dtype='int32', - direction=function.IN) - function.addParameter('internal_energy', dtype='float64', - direction=function.IN) - function.addParameter('number_of_points', 'int32', - function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def set_grid_state(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('i', dtype='int32', - direction=function.IN) - for x in ['sigma', 'pressure', 'internal_energy']: - function.addParameter(x, dtype='float64', - direction=function.IN) - function.addParameter('number_of_points', 'int32', - function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def set_grid_user_output(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('n', dtype='int32', - direction=function.IN) - function.addParameter('i', dtype='int32', - direction=function.IN) - function.addParameter('user_output', dtype='float64', - direction=function.IN) - function.addParameter('number_of_points', 'int32', - function.LENGTH) - function.result_type = 'int32' - return function - - #viscous parameters getters&setters - @legacy_function - def get_alpha_function(): - function = LegacyFunctionSpecification() - function.addParameter('alpha_func', dtype='bool', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_alpha_function(): - function = LegacyFunctionSpecification() - function.addParameter('alpha_func', dtype='bool', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_alpha(): - function = LegacyFunctionSpecification() - function.addParameter('alpha', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_alpha(): - function = LegacyFunctionSpecification() - function.addParameter('alpha', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_eos_function(): - function = LegacyFunctionSpecification() - function.addParameter('eos_func', dtype='bool', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_eos_function(): - function = LegacyFunctionSpecification() - function.addParameter('eos_func', dtype='bool', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_gamma(): - function = LegacyFunctionSpecification() - function.addParameter('gamma', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_gamma(): - function = LegacyFunctionSpecification() - function.addParameter('gamma', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_delta(): - function = LegacyFunctionSpecification() - function.addParameter('delta', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_delta(): - function = LegacyFunctionSpecification() - function.addParameter('delta', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - #source getters&setters - @legacy_function - def get_mass_source_function(): - function = LegacyFunctionSpecification() - function.addParameter('mass_source_func', dtype='bool', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_mass_source_function(): - function = LegacyFunctionSpecification() - function.addParameter('mass_source_func', dtype='bool', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_internal_energy_source_function(): - function = LegacyFunctionSpecification() - function.addParameter('internal_energy_source_func', - dtype='bool', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_internal_energy_source_function(): - function = LegacyFunctionSpecification() - function.addParameter('internal_energy_source_func', - dtype='bool', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_mass_source_value(): - function = LegacyFunctionSpecification() - function.addParameter('mass_source_value', - dtype='float64', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_mass_source_value(): - function = LegacyFunctionSpecification() - function.addParameter('mass_source_value', - dtype='float64', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_internal_energy_source_value(): - function = LegacyFunctionSpecification() - function.addParameter('internal_energy_source_value', - dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_internal_energy_source_value(): - function = LegacyFunctionSpecification() - function.addParameter('internal_energy_source_value', - dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - #boundary getters&setters - @legacy_function - def get_inner_pressure_boundary_type(): - function = LegacyFunctionSpecification() - function.addParameter('ibc_pres', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_inner_pressure_boundary_type(): - function = LegacyFunctionSpecification() - function.addParameter('ibc_pres', dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_inner_pressure_boundary_mass_flux(): - function = LegacyFunctionSpecification() - function.addParameter('ibc_pres_val', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_inner_pressure_boundary_torque_flux(): - function = LegacyFunctionSpecification() - function.addParameter('ibc_pres_val', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_inner_pressure_boundary_torque(): - function = LegacyFunctionSpecification() - function.addParameter('ibc_pres_val', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_inner_pressure_boundary_mass_flux(): - function = LegacyFunctionSpecification() - function.addParameter('ibc_pres_val', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def set_inner_pressure_boundary_torque_flux(): - function = LegacyFunctionSpecification() - function.addParameter('ibc_pres_val', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def set_inner_pressure_boundary_torque(): - function = LegacyFunctionSpecification() - function.addParameter('ibc_pres_val', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_inner_enthalpy_boundary_type(): - function = LegacyFunctionSpecification() - function.addParameter('ibc_enth', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_inner_enthalpy_boundary_type(): - function = LegacyFunctionSpecification() - function.addParameter('ibc_enth', dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_inner_enthalpy_boundary_enthalpy(): - function = LegacyFunctionSpecification() - function.addParameter('ibc_enth_val', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_inner_enthalpy_boundary_enthalpy_gradient(): - function = LegacyFunctionSpecification() - function.addParameter('ibc_enth_val', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_inner_enthalpy_boundary_enthalpy(): - function = LegacyFunctionSpecification() - function.addParameter('ibc_enth_val', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def set_inner_enthalpy_boundary_enthalpy_gradient(): - function = LegacyFunctionSpecification() - function.addParameter('ibc_enth_val', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_inner_boundary_function(): - function = LegacyFunctionSpecification() - function.addParameter('ibc_func', dtype='bool', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_inner_boundary_function(): - function = LegacyFunctionSpecification() - function.addParameter('ibc_func', dtype='bool', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_outer_pressure_boundary_type(): - function = LegacyFunctionSpecification() - function.addParameter('obc_pres', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_outer_pressure_boundary_type(): - function = LegacyFunctionSpecification() - function.addParameter('obc_pres', dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_outer_pressure_boundary_mass_flux(): - function = LegacyFunctionSpecification() - function.addParameter('obc_pres_val', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_outer_pressure_boundary_torque_flux(): - function = LegacyFunctionSpecification() - function.addParameter('obc_pres_val', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_outer_pressure_boundary_torque(): - function = LegacyFunctionSpecification() - function.addParameter('obc_pres_val', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_outer_pressure_boundary_mass_flux(): - function = LegacyFunctionSpecification() - function.addParameter('obc_pres_val', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def set_outer_pressure_boundary_torque_flux(): - function = LegacyFunctionSpecification() - function.addParameter('obc_pres_val', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def set_outer_pressure_boundary_torque(): - function = LegacyFunctionSpecification() - function.addParameter('obc_pres_val', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_outer_enthalpy_boundary_type(): - function = LegacyFunctionSpecification() - function.addParameter('obc_enth', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_outer_enthalpy_boundary_type(): - function = LegacyFunctionSpecification() - function.addParameter('obc_enth', dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_outer_enthalpy_boundary_enthalpy(): - function = LegacyFunctionSpecification() - function.addParameter('obc_enth_val', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_outer_enthalpy_boundary_enthalpy_gradient(): - function = LegacyFunctionSpecification() - function.addParameter('obc_enth_val', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_outer_enthalpy_boundary_enthalpy(): - function = LegacyFunctionSpecification() - function.addParameter('obc_enth_val', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def set_outer_enthalpy_boundary_enthalpy_gradient(): - function = LegacyFunctionSpecification() - function.addParameter('obc_enth_val', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_outer_boundary_function(): - function = LegacyFunctionSpecification() - function.addParameter('obc_func', dtype='bool', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_outer_boundary_function(): - function = LegacyFunctionSpecification() - function.addParameter('obc_func', dtype='bool', - direction=function.IN) - function.result_type = 'int32' - return function - - #various - @legacy_function - def get_number_of_cells(): - function = LegacyFunctionSpecification() - function.addParameter('i', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - def get_index_range_for_grid(self): - i, error = self.get_number_of_cells() - return (0, i-1) - - def get_index_range_for_user_outputs(self): - i, error = self.get_number_of_cells() - j, error = self.get_nUserOut() - return (0, j-1, 0, i-1) - - @legacy_function - def get_area_of_index(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('i', dtype='int32', - direction=function.IN) - function.addParameter('area', dtype='float64', - direction=function.OUT) - function.addParameter('number_of_points', 'int32', - function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_rotational_velocity_of_index(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('i', dtype='int32', - direction=function.IN) - function.addParameter('vphi', - dtype='float64', - direction=function.OUT) - function.addParameter('number_of_points', 'int32', - function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_effective_potential_of_index(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('i', dtype='int32', - direction=function.IN) - function.addParameter('psiEff', - dtype='float64', - direction=function.OUT) - function.addParameter('number_of_points', 'int32', - function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_gravitational_potential_of_index(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('i', dtype='int32', - direction=function.IN) - function.addParameter('psi_grav', - dtype='float64', - direction=function.OUT) - function.addParameter('number_of_points', 'int32', - function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_number_of_user_parameters(): - function = LegacyFunctionSpecification() - function.addParameter('n', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_number_of_user_parameters(): - function = LegacyFunctionSpecification() - function.addParameter('n', dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_parameter(): - function = LegacyFunctionSpecification() - function.addParameter('i', dtype='int32', - direction=function.IN) - function.addParameter('param', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_parameter(): - function = LegacyFunctionSpecification() - function.addParameter('i', dtype='int32', - direction=function.IN) - function.addParameter('param', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_time(): - function = LegacyFunctionSpecification() - function.addParameter('time', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_inner_boundary_mass_out(): - function = LegacyFunctionSpecification() - function.addParameter('mSrcOut', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_outer_boundary_mass_out(): - function = LegacyFunctionSpecification() - function.addParameter('mSrcOut', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_inner_boundary_energy_out(): - function = LegacyFunctionSpecification() - function.addParameter('eSrcOut', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_outer_boundary_energy_out(): - function = LegacyFunctionSpecification() - function.addParameter('eSrcOut', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def get_mass_source_out(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('i', dtype='int32', - direction=function.IN) - function.addParameter('mSrcOut', dtype='float64', - direction=function.OUT) - function.addParameter('number_of_points', 'int32', - function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_energy_source_out(): - function = LegacyFunctionSpecification() - function.must_handle_array = True - function.addParameter('i', dtype='int32', - direction=function.IN) - function.addParameter('eSrcOut', dtype='float64', - direction=function.OUT) - function.addParameter('number_of_points', 'int32', - function.LENGTH) - function.result_type = 'int32' - return function - - @legacy_function - def get_dtStart(): - function = LegacyFunctionSpecification() - function.addParameter('dtStart', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_dtStart(): - function = LegacyFunctionSpecification() - function.addParameter('dtStart', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_dtMin(): - function = LegacyFunctionSpecification() - function.addParameter('dtMin', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_dtMin(): - function = LegacyFunctionSpecification() - function.addParameter('dtMin', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_dtTol(): - function = LegacyFunctionSpecification() - function.addParameter('dtTol', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_dtTol(): - function = LegacyFunctionSpecification() - function.addParameter('dtTol', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_errTol(): - function = LegacyFunctionSpecification() - function.addParameter('errTol', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_errTol(): - function = LegacyFunctionSpecification() - function.addParameter('errTol', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_maxDtIncrease(): - function = LegacyFunctionSpecification() - function.addParameter('maxDtIncrease', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_maxDtIncrease(): - function = LegacyFunctionSpecification() - function.addParameter('maxDtIncrease', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_maxIter(): - function = LegacyFunctionSpecification() - function.addParameter('maxIter', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_maxIter(): - function = LegacyFunctionSpecification() - function.addParameter('maxIter', dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_interpOrder(): - function = LegacyFunctionSpecification() - function.addParameter('interpOrder', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_interpOrder(): - function = LegacyFunctionSpecification() - function.addParameter('interpOrder', dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_maxStep(): - function = LegacyFunctionSpecification() - function.addParameter('maxStep', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_maxStep(): - function = LegacyFunctionSpecification() - function.addParameter('maxStep', dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_useBE(): - function = LegacyFunctionSpecification() - function.addParameter('useBE', dtype='bool', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_useBE(): - function = LegacyFunctionSpecification() - function.addParameter('useBE', dtype='bool', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_verbosity(): - function = LegacyFunctionSpecification() - function.addParameter('verbosity', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_verbosity(): - function = LegacyFunctionSpecification() - function.addParameter('verbosity', dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_PreTimestep(): - function = LegacyFunctionSpecification() - function.addParameter('PreTimestep', dtype='bool', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_PreTimestep(): - function = LegacyFunctionSpecification() - function.addParameter('PreTimestep', dtype='bool', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_PostTimestep(): - function = LegacyFunctionSpecification() - function.addParameter('PostTimestep', dtype='bool', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_PostTimestep(): - function = LegacyFunctionSpecification() - function.addParameter('PostTimestep', dtype='bool', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_nUserOut(): - function = LegacyFunctionSpecification() - function.addParameter('nUserOut', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_nUserOut(): - function = LegacyFunctionSpecification() - function.addParameter('nUserOut', dtype='int32', - direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def get_begin_time(): - function = LegacyFunctionSpecification() - function.addParameter('begin_time', dtype='float64', - direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def set_begin_time(): - function = LegacyFunctionSpecification() - function.addParameter('begin_time', dtype='float64', - direction=function.IN) - function.result_type = 'int32' - return function - - ''' - @legacy_function - def get_nFail(): - function = LegacyFunctionSpecification() - function.addParameter('nFail', dtype='int32', - direction=function.OUT) - function.result_type = 'int32' - return function - ''' - - @legacy_function - def cleanup_code(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - -class Vader(common.CommonCode): - - def __init__(self, unit_converter = None, mode = 'none', **options): - - self.mode = mode - self.unit_converter = unit_converter - - common.CommonCode.__init__(self, VaderInterface(mode = mode, **options), - **options) - - - def define_state(self, handler): - common.CommonCode.define_state(self, handler) - handler.add_transition('END', 'INITIALIZED', - 'initialize_code', False) - - handler.add_transition('INITIALIZED','EDIT','commit_parameters') - - handler.add_transition('RUN', 'CHANGE_PARAMETERS_RUN', - 'before_set_parameter', False) - handler.add_transition('EDIT', 'CHANGE_PARAMETERS_EDIT', - 'before_set_parameter', False) - - handler.add_transition('CHANGE_PARAMETERS_RUN', 'RUN', - 'recommit_parameters') - handler.add_transition('CHANGE_PARAMETERS_EDIT', 'EDIT', - 'recommit_parameters') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') - - handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') - handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') - - handler.add_method('RUN', 'before_get_parameter') - handler.add_method('EDIT', 'before_get_parameter') - - handler.add_transition('EDIT', 'RUN', - 'initialize_keplerian_grid', False) - handler.add_transition('EDIT', 'RUN', - 'initialize_flat_grid', False) - handler.add_transition('EDIT', 'RUN', - 'initialize_tabulated_grid', False) - - handler.add_method('RUN', 'update_keplerian_grid') - handler.add_method('RUN', 'update_flat_grid') - handler.add_method('RUN', 'update_tabulated_grid') - - - grid_write_properties = ['state', 'column_density', 'pressure', - 'internal_energy', 'user_output'] - - for prop in grid_write_properties: - handler.add_method('RUN', 'set_grid_'+prop) - handler.add_method('RUN', 'get_grid_'+prop) - handler.add_method('EDIT', 'set_grid_'+prop) - handler.add_method('EDIT', 'get_grid_'+prop) - - - grid_read_properties = ['mass_source_out', 'energy_source_out', - 'position_of_index', 'area_of_index', 'effective_potential_of_index', - 'gravitational_potential_of_index', 'index_range_for_grid', - 'rotational_velocity_of_index'] - - for prop in grid_read_properties: - handler.add_method('RUN', 'get_'+prop) - handler.add_method('EDIT', 'get_'+prop) - - - code_properties = ['inner_boundary_mass_out', 'outer_boundary_mass_out', - 'inner_boundary_energy_out', 'outer_boundary_energy_out'] - - for prop in code_properties: - handler.add_method('RUN', 'get_'+prop) - handler.add_method('EDIT', 'get_'+prop) - - - handler.add_method('RUN', 'evolve_model') - - handler.add_method('EDIT', 'get_time') - handler.add_method('RUN', 'get_time') - - - def commit_parameters(self): - self.parameters.send_not_set_parameters_to_code() - self.parameters.send_cached_parameters_to_code() - self.overridden().commit_parameters() - - - def define_methods(self, builder): - - length = units.cm - time = units.s - mass = units.g - - velocity = length / time - energy = mass * velocity**2. - pressure = mass / length / time**2. - force = mass * velocity / time - col_density = mass / length**2. - Eint_density = energy / length**2. - - - builder.add_method( - "evolve_model", - (time,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "initialize_code", - (), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "initialize_keplerian_grid", - (builder.NO_UNIT, builder.NO_UNIT, - length, length, mass,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "update_keplerian_grid", - (mass,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "initialize_flat_grid", - (builder.NO_UNIT, builder.NO_UNIT, - length, length, velocity,), - (builder.ERROR_CODE) - ) - - builder.add_method( - "update_flat_grid", - (velocity,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "initialize_tabulated_grid", - (builder.NO_UNIT, builder.NO_UNIT, - length, length, - builder.NO_UNIT, builder.NO_UNIT,), - (builder.ERROR_CODE) - ) - - builder.add_method( - "update_tabulated_grid", - (builder.NO_UNIT, builder.NO_UNIT), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_tabulated_size", - (), - (builder.NO_UNIT, builder.ERROR_CODE,) - ) - - builder.add_method( - "set_tabulated_size", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_tabulated_radius", - (builder.INDEX,), - (length, builder.ERROR_CODE) - ) - - builder.add_method( - "set_tabulated_radius", - (builder.INDEX, length), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_tabulated_velocity", - (builder.INDEX,), - (velocity, builder.ERROR_CODE) - ) - - builder.add_method( - "set_tabulated_velocity", - (builder.INDEX, velocity), - (builder.ERROR_CODE,) - ) - - ''' - builder.add_method( - "initialize_grid", - (builder.NO_UNIT, builder.NO_UNIT, - length, length, velocity, velocity - #beta units - #beta units - energy/mass, - energy/mass, - #whatever the hell g_h is - ,), - (builder.ERROR_CODE) - ) - ''' - - #grid getters&setters - builder.add_method( - "get_position_of_index", - (builder.INDEX,), - (length, builder.ERROR_CODE) - ) - - builder.add_method( - "get_index_of_position", - (length,), - (builder.INDEX, builder.ERROR_CODE) - ) - - builder.add_method( - "get_area_of_index", - (builder.INDEX,), - (length**2., builder.ERROR_CODE) - ) - - builder.add_method( - "get_rotational_velocity_of_index", - (builder.INDEX,), - (length / time, builder.ERROR_CODE) - ) - - builder.add_method( - "get_effective_potential_of_index", - (builder.INDEX,), - (energy / mass, builder.ERROR_CODE) - ) - - builder.add_method( - "get_gravitational_potential_of_index", - (builder.INDEX,), - (energy / mass, builder.ERROR_CODE) - ) - - builder.add_method( - "get_grid_column_density", - (builder.INDEX,), - (col_density, builder.ERROR_CODE) - ) - - builder.add_method( - "get_grid_pressure", - (builder.INDEX,), - (pressure * length, builder.ERROR_CODE) - ) - - builder.add_method( - "get_grid_internal_energy", - (builder.INDEX,), - (Eint_density, builder.ERROR_CODE) - ) - - builder.add_method( - "get_grid_state", - (builder.INDEX,), - (col_density, pressure * length, Eint_density, builder.ERROR_CODE) - ) - - builder.add_method( - "get_grid_user_output", - (builder.INDEX, builder.INDEX), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - "set_grid_column_density", - (builder.INDEX, col_density), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "set_grid_pressure", - (builder.INDEX, pressure * length), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "set_grid_internal_energy", - (builder.INDEX, Eint_density), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "set_grid_state", - (builder.INDEX, col_density, pressure * length, Eint_density), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "set_grid_user_output", - (builder.INDEX, builder.INDEX, builder.NO_UNIT), - (builder.ERROR_CODE,) - ) - - #viscous parameters getters&setters - builder.add_method( - "get_alpha_function", - (), - (builder.NO_UNIT, builder.ERROR_CODE,) - ) - - builder.add_method( - "set_alpha_function", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_alpha", - (), - (builder.NO_UNIT, builder.ERROR_CODE,) - ) - - builder.add_method( - "set_alpha", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_eos_function", - (), - (builder.NO_UNIT, builder.ERROR_CODE,) - ) - - builder.add_method( - "set_eos_function", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_gamma", - (), - (builder.NO_UNIT, builder.ERROR_CODE,) - ) - - builder.add_method( - "set_gamma", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_delta", - (), - (velocity**2, builder.ERROR_CODE,) - ) - - builder.add_method( - "set_delta", - (velocity**2,), - (builder.ERROR_CODE,) - ) - - #source getters&setters - builder.add_method( - "get_mass_source_function", - (), - (builder.NO_UNIT, builder.ERROR_CODE,) - ) - - builder.add_method( - "set_mass_source_function", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_internal_energy_source_function", - (), - (builder.NO_UNIT, builder.ERROR_CODE,) - ) - - builder.add_method( - "set_internal_energy_source_function", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_mass_source_value", - (), - (col_density / time, builder.ERROR_CODE,) - ) - - builder.add_method( - "set_mass_source_value", - (col_density / time,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_internal_energy_source_value", - (), - (Eint_density / time, builder.ERROR_CODE,) - ) - - builder.add_method( - "set_internal_energy_source_value", - (Eint_density / time,), - (builder.ERROR_CODE,) - ) - - #boundary condition getters&setters - builder.add_method( - "get_inner_pressure_boundary_type", - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - "set_inner_pressure_boundary_type", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_inner_pressure_boundary_mass_flux", - (), - (mass / time, builder.ERROR_CODE) - ) - - builder.add_method( - "get_inner_pressure_boundary_torque_flux", - (), - (force * length / time, builder.ERROR_CODE) - ) - - builder.add_method( - "get_inner_pressure_boundary_torque", - (), - (force * length, builder.ERROR_CODE) - ) - - builder.add_method( - "set_inner_pressure_boundary_mass_flux", - (mass / time,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "set_inner_pressure_boundary_torque_flux", - (force * length / time,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "set_inner_pressure_boundary_torque", - (force * length,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_inner_enthalpy_boundary_type", - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - "set_inner_enthalpy_boundary_type", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_inner_enthalpy_boundary_enthalpy", - (), - (energy / mass, builder.ERROR_CODE) - ) - - builder.add_method( - "get_inner_enthalpy_boundary_enthalpy_gradient", - (), - (energy / length / mass, builder.ERROR_CODE) - ) - - builder.add_method( - "set_inner_enthalpy_boundary_enthalpy", - (energy / mass,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "set_inner_enthalpy_boundary_enthalpy_gradient", - (energy / length / mass,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_inner_boundary_function", - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - "set_inner_boundary_function", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_outer_pressure_boundary_type", - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - "set_outer_pressure_boundary_type", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_outer_pressure_boundary_mass_flux", - (), - (mass / time, builder.ERROR_CODE) - ) - - builder.add_method( - "get_outer_pressure_boundary_torque_flux", - (), - (force * length / time, builder.ERROR_CODE) - ) - - builder.add_method( - "get_outer_pressure_boundary_torque", - (), - (force * length, builder.ERROR_CODE) - ) - - builder.add_method( - "set_outer_pressure_boundary_mass_flux", - (mass / time,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "set_outer_pressure_boundary_torque_flux", - (force * length / time,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "set_outer_pressure_boundary_torque", - (force * length,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_outer_enthalpy_boundary_type", - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - "set_outer_enthalpy_boundary_type", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_outer_enthalpy_boundary_enthalpy", - (), - (energy / mass, builder.ERROR_CODE) - ) - - builder.add_method( - "get_outer_enthalpy_boundary_enthalpy_gradient", - (), - (energy / length / mass, builder.ERROR_CODE) - ) - - builder.add_method( - "set_outer_enthalpy_boundary_enthalpy", - (energy / mass,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "set_outer_enthalpy_boundary_enthalpy_gradient", - (energy / length / mass,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_outer_boundary_function", - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - "set_outer_boundary_function", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - #other outputs - builder.add_method( - "get_inner_boundary_mass_out", - (), - (mass, builder.ERROR_CODE) - ) - - builder.add_method( - "get_outer_boundary_mass_out", - (), - (mass, builder.ERROR_CODE) - ) - - builder.add_method( - "get_inner_boundary_energy_out", - (), - (energy, builder.ERROR_CODE) - ) - - builder.add_method( - "get_outer_boundary_energy_out", - (), - (energy, builder.ERROR_CODE) - ) - - builder.add_method( - "get_mass_source_out", - (builder.INDEX,), - (col_density, builder.ERROR_CODE) - ) - - builder.add_method( - "get_energy_source_out", - (builder.INDEX,), - (Eint_density, builder.ERROR_CODE) - ) - - #control parameters - builder.add_method( - "get_dtStart", - (), - (time, builder.ERROR_CODE) - ) - - builder.add_method( - "set_dtStart", - (time,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_dtMin", - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - "set_dtMin", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_dtTol", - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - "set_dtTol", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_errTol", - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - "set_errTol", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_maxDtIncrease", - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - "set_maxDtIncrease", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_maxIter", - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - "set_maxIter", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_interpOrder", - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - "set_interpOrder", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_maxStep", - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - "set_maxStep", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_useBE", - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - "set_useBE", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_verbosity", - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - "set_verbosity", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_PreTimestep", - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - "set_PreTimestep", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_PostTimestep", - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - "set_PostTimestep", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - #various - builder.add_method( - "get_time", - (), - (time, builder.ERROR_CODE,) - ) - - builder.add_method( - "get_number_of_user_parameters", - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - "set_number_of_user_parameters", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_max_index", - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - "get_nUserOut", - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - - builder.add_method( - "set_nUserOut", - (builder.NO_UNIT,), - (builder.ERROR_CODE,) - ) - - builder.add_method( - "get_begin_time", - (), - (time, builder.ERROR_CODE,) - ) - - builder.add_method( - "set_begin_time", - (time,), - (builder.ERROR_CODE,) - ) - - ''' - builder.add_method( - "get_nFail", - (), - (builder.NO_UNIT, builder.ERROR_CODE) - ) - ''' - - def define_parameters(self, builder): - - length = units.cm - time = units.s - mass = units.g - - velocity = length / time - energy = mass * velocity**2. - pressure = mass / length / time**2. - force = mass * velocity / time - col_density = mass / length**2. - Eint_density = energy / length**2. - - builder.add_method_parameter( - "get_alpha_function", - "set_alpha_function", - "alpha_function", - "True if user-defined function is to be used for the viscosity parameter", - default_value = False, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_alpha", - "set_alpha", - "alpha", - "viscosity parameter, see Krumholz 2015", - default_value = 1., - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_eos_function", - "set_eos_function", - "equation_of_state_function", - "nonzero if user-defined function is to be used for the equation of state", - default_value = False, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_gamma", - "set_gamma", - "gamma", - "equation of state parameter, see Krumholz 2015", - default_value = 1.000001, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_delta", - "set_delta", - "delta", - "equation of state parameter, see Krumholz 2015", - default_value = 0. | velocity**2, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_inner_pressure_boundary_type", - "set_inner_pressure_boundary_type", - "inner_pressure_boundary_type", - "type for pressure inner boundary condition \n1: fixed mass flux \n2: fixed torque flux \n3: fixed torque", - default_value = 1, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_inner_pressure_boundary_mass_flux", - "set_inner_pressure_boundary_mass_flux", - "inner_pressure_boundary_mass_flux", - "constant value for pressure inner boundary condition, ignored if inner boundary function is nonzero", - default_value = 0. | mass / time, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_inner_pressure_boundary_torque_flux", - "set_inner_pressure_boundary_torque_flux", - "inner_pressure_boundary_torque_flux", - "constant value for pressure inner boundary condition, ignored if inner boundary function is nonzero", - default_value = 0. | force * length / time, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_inner_pressure_boundary_torque", - "set_inner_pressure_boundary_torque", - "inner_pressure_boundary_torque", - "constant value for pressure inner boundary condition, ignored if inner boundary function is nonzero", - default_value = 0. | force * length, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_inner_enthalpy_boundary_type", - "set_inner_enthalpy_boundary_type", - "inner_enthalpy_boundary_type", - "type for enthalpy inner boundary condition \n1: fixed enthalpy value \n2: fixed enthalpy gradient", - default_value = 1, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_inner_enthalpy_boundary_enthalpy", - "set_inner_enthalpy_boundary_enthalpy", - "inner_enthalpy_boundary_enthalpy", - "constant value for enthalpy inner boundary condition, ignored if inner boundary function is nonzero", - default_value = 0. | energy / mass, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_inner_enthalpy_boundary_enthalpy_gradient", - "set_inner_enthalpy_boundary_enthalpy_gradient", - "inner_enthalpy_boundary_enthalpy_gradient", - "constant value for enthalpy inner boundary condition, ignored if inner boundary function is nonzero", - default_value = 0. | energy / length / mass, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_inner_boundary_function", - "set_inner_boundary_function", - "inner_boundary_function", - "nonzero if user-defined function is to be used for the inner boundary", - default_value = False, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_outer_pressure_boundary_type", - "set_outer_pressure_boundary_type", - "outer_pressure_boundary_type", - "type for pressure outer boundary condition \n1: fixed mass flux \n2: fixed torque flux \n3: fixed torque", - default_value = 1, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_outer_pressure_boundary_mass_flux", - "set_outer_pressure_boundary_mass_flux", - "outer_pressure_boundary_mass_flux", - "constant value for pressure outer boundary condition, ignored if outer boundary function is nonzero", - default_value = 0. | mass / time, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_outer_pressure_boundary_torque_flux", - "set_outer_pressure_boundary_torque_flux", - "outer_pressure_boundary_torque_flux", - "constant value for pressure outer boundary condition, ignored if outer boundary function is nonzero", - default_value = 0. | force * length / time, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_outer_pressure_boundary_torque", - "set_outer_pressure_boundary_torque", - "outer_pressure_boundary_torque", - "constant value for pressure outer boundary condition, ignored if outer boundary function is nonzero", - default_value = 0. | force * length, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_outer_enthalpy_boundary_type", - "set_outer_enthalpy_boundary_type", - "outer_enthalpy_boundary_type", - "type for enthalpy outer boundary condition \n1: fixed enthalpy value \n2: fixed enthalpy gradient", - default_value = 1, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_outer_enthalpy_boundary_enthalpy", - "set_outer_enthalpy_boundary_enthalpy", - "outer_enthalpy_boundary_enthalpy", - "constant value for enthalpy outer boundary condition, ignored if outer boundary function is nonzero", - default_value = 0. | energy / mass, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_outer_enthalpy_boundary_enthalpy_gradient", - "set_outer_enthalpy_boundary_enthalpy_gradient", - "outer_enthalpy_boundary_enthalpy_gradient", - "constant value for enthalpy outer boundary condition, ignored if outer boundary function is nonzero", - default_value = 0. | energy / length / mass, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_outer_boundary_function", - "set_outer_boundary_function", - "outer_boundary_function", - "nonzero if user-defined function is to be used for the outer boundary", - default_value = False, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_mass_source_function", - "set_mass_source_function", - "mass_source_function", - "nonzero if user-defined function is to be used for mass source", - default_value = False, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_mass_source_value", - "set_mass_source_value", - "mass_source_value", - "constant mass source value, ignored if mass source function is nonzero", - default_value = 0. | col_density / time, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_internal_energy_source_function", - "set_internal_energy_source_function", - "internal_energy_source_function", - "nonzero if user-defined function is to be used for internal energy source", - default_value = False, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_internal_energy_source_value", - "set_internal_energy_source_value", - "internal_energy_source_value", - "constant internal energy source value, ignored if energy source function is nonzero", - default_value = 0. | Eint_density / time, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_number_of_user_parameters", - "set_number_of_user_parameters", - "number_of_user_parameters", - "the number of user-defined parameters for use in custom vader problems", - default_value = 1, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_dtStart", - "set_dtStart", - "initial_timestep", - "the initial timestep of the simulation", - default_value = 1. | time, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_dtMin", - "set_dtMin", - "minimum_timestep", - "the minimum timestep of the simulation", - default_value = 1E-15, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_dtTol", - "set_dtTol", - "maximum_tolerated_change", - "the allowed relative change in column density/pressure/internal energy", - default_value = 0.1, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_errTol", - "set_errTol", - "error_tolerance", - "implicit solver tolerance", - default_value = 1E-6, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_maxDtIncrease", - "set_maxDtIncrease", - "maximum_timestep_increase", - "the maximum allowed relative time increase", - default_value = 1.5, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_maxIter", - "set_maxIter", - "maximum_iterations", - "the maximum number of implicit iterations", - default_value = 40, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_interpOrder", - "set_interpOrder", - "interpolation_order", - "the interpolation order; piecewise 1) constant 2) linear 3) parabolic", - default_value = 2, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_maxStep", - "set_maxStep", - "maximum_steps", - "the maximum number of steps. negative indicates unbound", - default_value = -1, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_useBE", - "set_useBE", - "use_backwards_euler", - "uses backwards Euler integration if true, Crank Nicolson if false", - default_value = False, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_verbosity", - "set_verbosity", - "verbosity", - "the verbosity of the simulation. 0 is silent, 3 very loud. note that this is only shown on console if redirection='none' is added to the vader initialization", - default_value = 0, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_PreTimestep", - "set_PreTimestep", - "pre_timestep_function", - "if True, the user-defined PreTimestep function is used", - default_value = False, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_PostTimestep", - "set_PostTimestep", - "post_timestep_function", - "if True, the user-defined PostTimestep function is used", - default_value = False, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_nUserOut", - "set_nUserOut", - "number_of_user_outputs", - "number of user-defined grid properties", - default_value = 1, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_begin_time", - "set_begin_time", - "begin_time", - "time to start integration at", - default_value = 0.|time, - must_set_before_get = True - ) - - builder.add_method_parameter( - "get_tabulated_size", - "set_tabulated_size", - "table_size", - "length of the interpolation table", - default_value = 1, - must_set_before_get = True - ) - - builder.add_array_parameter( - "get_tabulated_radius", - "set_tabulated_radius", - "get_table_range", - "radius_table", - "radii of the velocity curve interpolation table" - ) - - builder.add_array_parameter( - "get_tabulated_velocity", - "set_tabulated_velocity", - "get_table_range", - "velocity_table", - "velocities of the velocity curve interpolation table" - ) - - - def define_properties(self, builder): - builder.add_property('get_time', - public_name = 'model_time') - #builder.add_property('get_nFail', - # public_name = 'failed_iterations') - builder.add_property('get_inner_boundary_mass_out', - public_name = 'inner_boundary_mass_out') - builder.add_property('get_outer_boundary_mass_out', - public_name = 'outer_boundary_mass_out') - builder.add_property('get_inner_boundary_energy_out', - public_name = 'inner_boundary_energy_out') - builder.add_property('get_outer_boundary_energy_out', - public_name = 'outer_boundary_energy_out') - - - def define_particle_sets(self, builder): - builder.define_grid('grid') - builder.set_grid_range('grid', - 'get_index_range_for_grid') - builder.add_getter('grid', 'get_position_of_index', - names=('r',)) - builder.add_getter('grid', 'get_area_of_index', - names=('area',)) - builder.add_getter('grid', - 'get_rotational_velocity_of_index', - names=('rotational_velocity',)) - builder.add_getter('grid', - 'get_effective_potential_of_index', - names=('effective_potential',)) - builder.add_getter('grid', - 'get_gravitational_potential_of_index', - names=('gravitational_potential',)) - - builder.add_getter('grid', 'get_grid_column_density', - names=('column_density',)) - builder.add_setter('grid', 'set_grid_column_density', - names=('column_density',)) - - builder.add_getter('grid', 'get_grid_pressure', - names=('pressure',)) - builder.add_setter('grid', 'set_grid_pressure', - names=('pressure',)) - - builder.add_getter('grid', 'get_grid_internal_energy', - names=('internal_energy',)) - builder.add_setter('grid', 'set_grid_internal_energy', - names=('internal_energy',)) - - builder.add_getter('grid', 'get_mass_source_out', - names=('mass_source_difference',)) - builder.add_getter('grid', 'get_energy_source_out', - names=('internal_energy_source_difference',)) - - - builder.define_grid('grid_user') - builder.set_grid_range('grid_user', - 'get_index_range_for_user_outputs') - - builder.add_getter('grid_user', 'get_grid_user_output', - names=('value',)) - builder.add_setter('grid_user', 'set_grid_user_output', - names=('value',)) - - - @property - def mass(self): - return (self.grid.area*self.grid.column_density).sum() +Vader = Vader diff --git a/src/amuse/config.py b/src/amuse/config.py deleted file mode 100644 index 9009f08715..0000000000 --- a/src/amuse/config.py +++ /dev/null @@ -1,114 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -""" -configuration from config.mk -""" -import os -import warnings - - -def parse_configmk_lines(lines, label): - cfgvars = {} - if "amuse configuration" not in lines[0]: - raise Exception(f"{label} is not an amuse configuration file") - for line in lines: - if "=" in line: - var, value = line.split("=", 1) - if value.startswith("@") and value.endswith("@"): - warnings.warn( - f"possible configuration error/ unconfigured variable in" - f" {label}" - ) - cfgvars[var] = value.strip() - return cfgvars - - -def parse_configmk(filename): - configfile = open(filename, "r") - lines = configfile.readlines() - configfile.close() - return parse_configmk_lines(lines, "file " + filename) - - -try: - configmk = parse_configmk("config.mk") -except IOError: - try: - from .support import get_amuse_root_dir - - configmk = parse_configmk(os.path.join(get_amuse_root_dir(), "config.mk")) - except: - configmk = {} - - -try: - - class interpreters: - python = configmk["PYTHON"] - - class compilers: - cxx = configmk["CXX"] - cc = configmk["CC"] - fc = configmk["FC"] - - cxx_flags = configmk["CXXFLAGS"] - cc_flags = configmk["CFLAGS"] - fc_flags = configmk["FCFLAGS"] - ld_flags = configmk["LDFLAGS"] - - found_fftw = configmk["FOUND_FFTW"] - fftw_flags = configmk["FFTW_FLAGS"] - fftw_libs = configmk["FFTW_LIBS"] - - found_gsl = configmk["FOUND_GSL"] - gsl_flags = configmk["GSL_FLAGS"] - gsl_libs = configmk["GSL_LIBS"] - - gfortran_version = configmk["GFORTRAN_VERSION"] - ifort_version = configmk["IFORT_VERSION"] - - fc_iso_c_bindings = configmk["FC_ISO_C_AVAILABLE"] == "yes" - - cython = configmk["CYTHON"] - pythondev_cflags = configmk["PYTHONDEV_CFLAGS"] - pythondev_ldflags = configmk["PYTHONDEV_LDFLAGS"] - - class mpi: - is_enabled = configmk["MPI_ENABLED"] == "yes" - mpicxx = configmk["MPICXX"] - mpicc = configmk["MPICC"] - mpif95 = configmk["MPIFC"] - mpifc = configmk["MPIFC"] - mpif90 = configmk["MPIFC"] - mpiexec = configmk["MPIEXEC"] - - mpi_cflags = configmk["MPI_CFLAGS"] - mpi_cxxflags = configmk["MPI_CXXFLAGS"] - mpi_fcflags = configmk["MPI_FCFLAGS"] - mpi_clibs = configmk["MPI_CLIBS"] - mpi_cxxlibs = configmk["MPI_CXXLIBS"] - mpi_fclibs = configmk["MPI_FCLIBS"] - - class java: - is_enabled = configmk["JAVA_ENABLED"] == "yes" - java = configmk["JAVA"] - javac = configmk["JAVAC"] - jar = configmk["JAR"] - version = configmk["JAVA_VERSION"] - - class cuda: - is_enabled = configmk["CUDA_ENABLED"] == "yes" - compiler = configmk["NVCC"] - compiler_flags = configmk["NVCC_FLAGS"] - toolkit_path = configmk["CUDA_TK"] - sdk_path = "/TOBEFIXED" - cuda_libs = configmk["CUDA_LIBS"] - sapporo_version = configmk["SAPPORO_VERSION"] - - class openmp: - is_enabled = configmk["OPENMP_ENABLED"] == "yes" - fcflags = configmk["OPENMP_FCFLAGS"] - cflags = configmk["OPENMP_CFLAGS"] - -except KeyError: - print("config.mk not complete, AMUSE may not work as expected") diff --git a/src/amuse/datamodel/base.py b/src/amuse/datamodel/base.py index ba9c5d41bd..6fee8dcbea 100644 --- a/src/amuse/datamodel/base.py +++ b/src/amuse/datamodel/base.py @@ -510,7 +510,7 @@ def get_value_for_entity(self, particles, particle, index): def new_particles_function_attribute_with_doc(function): class BoundParticlesFunctionAttribute(object): - if function.__doc__: + if function is not None and function.__doc__: __doc__ = ( "\n Documentation on '{0}' particles function attribute:" "\n\n".format(function.__name__) + function.__doc__ diff --git a/src/amuse/ext/halogen_model.py b/src/amuse/ext/halogen_model.py index 8125e2cf86..0de81287cc 100644 --- a/src/amuse/ext/halogen_model.py +++ b/src/amuse/ext/halogen_model.py @@ -20,9 +20,9 @@ def new_halogen_model(number_of_particles, convert_nbody = None, do_scale = Fals :argument number_of_particles: Number of particles to generate in the model :argument convert_nbody: When given will convert the resulting set to SI units :argument do_scale: scale the result to exact nbody units (M=1, K=0.25, U=-0.5) - :argument alpha: alpha parameter in density profile (see amuse/community/halogen/src/doc for details) - :argument beta: beta parameter in density profile (see amuse/community/halogen/src/doc for details) - :argument gamma: gamma parameter in density profile (see amuse/community/halogen/src/doc for details) + :argument alpha: alpha parameter in density profile (see amuse_halogen/src/doc for details) + :argument beta: beta parameter in density profile (see amuse_halogen/src/doc for details) + :argument gamma: gamma parameter in density profile (see amuse_halogen/src/doc for details) """ instance = Halogen(unit_converter=convert_nbody, redirection=redirection) instance.parameters.number_of_particles = number_of_particles diff --git a/src/amuse/ic/_limepy/limepy.py b/src/amuse/ic/_limepy/limepy.py index e3e03bdae4..773f4f8253 100755 --- a/src/amuse/ic/_limepy/limepy.py +++ b/src/amuse/ic/_limepy/limepy.py @@ -5,7 +5,12 @@ from scipy.interpolate import BPoly, interp1d, UnivariateSpline from numpy import exp, sqrt, pi, sin, cos, log10 from scipy.special import gamma, gammainc, hyp1f1 -from scipy.integrate import ode, simps, quad + +# This code needs to be updated, as simps is no longer available in scipy. As the broken +# import keeps the rest of the tests from running, it's been commented out for now. +# - LV 2025 + +# from scipy.integrate import ode, simps, quad from math import factorial, sinh # Authors: Mark Gieles, Alice Zocchi (Surrey 2015) diff --git a/src/amuse/ic/_limepy/sample.py b/src/amuse/ic/_limepy/sample.py index 22cb7f7775..9a8d74b59e 100755 --- a/src/amuse/ic/_limepy/sample.py +++ b/src/amuse/ic/_limepy/sample.py @@ -4,7 +4,9 @@ import scipy from numpy import exp, sqrt, pi, sin, cos from scipy.special import gammainc, dawsn, erfi -from scipy import random +# SciPy no longer has random, and this code needs to be updated. The import is disabled +# for now because it keeps the rest of the tests from running. +# from scipy import random from scipy import optimize from math import factorial diff --git a/src/amuse/lab.py b/src/amuse/lab.py index a410adad31..4a12d3bd51 100644 --- a/src/amuse/lab.py +++ b/src/amuse/lab.py @@ -121,7 +121,7 @@ def pickle_stellar_model(): "MOBSE", "SeBa", "EVtwin", - "MESA", + "Mesa", "MMAMS", "Hop", ] @@ -138,6 +138,7 @@ def __init__(self, *arg, **kwargs): for _name in _community_codes: _interfacename = _name+"Interface" + # future fix: _interfacename = _name.title()+"Interface" _packagename = _name.lower() _standardisedname = _name.title() try: diff --git a/src/amuse/rfi/channel.py b/src/amuse/rfi/channel.py index 0486837d7b..22bae14eaa 100644 --- a/src/amuse/rfi/channel.py +++ b/src/amuse/rfi/channel.py @@ -14,6 +14,7 @@ import array import logging import shlex +import shutil logger = logging.getLogger(__name__) @@ -37,7 +38,6 @@ from amuse.support import exceptions from amuse.support import get_amuse_root_dir, get_amuse_package_dir from amuse.rfi import run_command_redirected -from amuse.config import parse_configmk_lines from amuse.rfi import slurm @@ -131,7 +131,7 @@ def receive_header(self, comm): def receive_content(self, comm, header): # 4 flags as 8bit booleans in 1st 4 bytes of header - # endiannes(not supported by MPI channel), error, unused, unused + # endianness (not supported by MPI channel), error, unused, unused flags = header.view(dtype="bool_") self.big_endian = flags[0] @@ -641,7 +641,11 @@ def is_multithreading_supported(cls): @option(type="boolean", sections=("channel",)) def initialize_mpi(self): """Is MPI initialized in the code or not. Defaults to True if MPI is available""" - return config.mpi.is_enabled + try: + MpiChannel.ensure_mpi_initialized() + return True + except ImportError: + return False @option(type="string", sections=("channel",)) def worker_code_suffix(self): @@ -689,7 +693,7 @@ def debugger_immediate_run(self): @option(type="boolean", sections=("channel",)) def must_check_if_worker_is_up_to_date(self): - return True + return False @option(type="boolean", sections=("channel",)) def check_worker_location(self): @@ -720,6 +724,13 @@ def check_if_worker_is_up_to_date(self, object): continue value = getattr(my_class, x) if hasattr(value, "crc32"): + if 'CodeInterface' in str(value.specification_function): + continue + if 'StoppingConditionInterface' in str(value.specification_function): + continue + if 'simplified_function_specification' in str( + value.specification_function): + continue is_up_to_date = value.is_compiled_file_up_to_date( modificationtime_of_worker ) @@ -1104,6 +1115,7 @@ def register_finalize_code(cls): @classmethod def finialize_mpi_atexit(cls): + logger.debug('MPIChannel finializing MPI') if not MPI.Is_initialized(): return if MPI.Is_finalized(): @@ -1138,7 +1150,7 @@ def debugger(self): @option(type="dict", sections=("channel",)) def mpi_info_options(self): - return dict() + return {"map_by": "ppr:1:core:OVERSUBSCRIBE"} @option(type="int", sections=("channel",)) def max_message_length(self): @@ -1271,7 +1283,6 @@ def get_length(x): lengths = [get_length(x) for x in dtype_to_arguments.values()] if len(lengths) == 0: return 1 - return max(1, max(lengths)) def send_message( @@ -1991,9 +2002,7 @@ def __init__( @option(sections=("channel",)) def mpiexec(self): """mpiexec with arguments""" - if len(config.mpi.mpiexec): - return config.mpi.mpiexec - return "" + return shutil.which("mpiexec") @option(sections=("channel",)) def mpiexec_number_of_workers_flag(self): @@ -2092,6 +2101,10 @@ def remote_env_string(self, hostname): return "source " + self.remote_env + "\n" def generate_remote_command_and_arguments(self, hostname, server_address, port): + # Disabled when the new build system was introduced, because we need to make + # a new way of detecting the remote installation. The PyPI packages never + # included it anyway. TODO + raise Exception("Distributed AMUSE is disabled") # get remote config args = ["ssh", "-T", hostname] diff --git a/src/amuse/rfi/gencode.py b/src/amuse/rfi/gencode.py index cc82d6c2f7..2172cadfab 100755 --- a/src/amuse/rfi/gencode.py +++ b/src/amuse/rfi/gencode.py @@ -4,61 +4,16 @@ from optparse import OptionParser -# Should probably use an absolute import here (support.config), but -# we're not guaranteed this script will always be in a support -# subdirectory with an __init__.py file. -# try: # running as a module -# from . import config -# except (ImportError, ValueError): # running as a stand-alone script -# import config - -# setup_sys_path() - -# this should not be necessary? -sys.path.insert(0, os.getcwd()) - -from amuse import config - from amuse.rfi.tools import create_c from amuse.rfi.tools import create_fortran from amuse.rfi.tools import create_java -from amuse.rfi.tools import create_dir +from amuse.rfi.tools.create_dir import create_code_dir from amuse.rfi.tools import create_python_worker from amuse.support import get_amuse_root_dir, get_amuse_package_dir from amuse.support.literature import TrackLiteratureReferences -def get_amuse_directory(): - filename_of_this_script = __file__ - directory_of_this_script = os.path.dirname(os.path.dirname(filename_of_this_script)) - directory_of_this_script = os.path.join(directory_of_this_script, "build", "lib") - if os.path.isabs(directory_of_this_script): - return directory_of_this_script - else: - return os.path.abspath(directory_of_this_script) - -# in case of trouble consult old python 2: - # def get_amuse_directory(): - # filename_of_this_script = __file__ - # directory_of_this_script = os.path.dirname(os.path.dirname(filename_of_this_script)) - # if os.path.isabs(directory_of_this_script): - # return directory_of_this_script - # else: - # return os.path.abspath(directory_of_this_script) - -def setup_sys_path(): - amuse_directory = os.environ["AMUSE_DIR"] - sys.path.insert(0, amuse_directory) - try: - src_root_directory = os.environ["MUSE_PACKAGE_DIR"] - sys.path.insert(0, src_root_directory) - except: - src_root_directory = amuse_directory - sys.path.insert(0, os.path.join(src_root_directory, "src")) - sys.path.append(os.getcwd()) - - class ParseCommandLine(object): usage = """usage: %prog [options] name_of_module name_of_class_in_module. @@ -180,28 +135,6 @@ def __init__(self): help="Set the executable bit when generating the output file", ) - self.parser.add_option( - "--get-amuse-dir", - action="store_true", - default=False, - dest="get_amuse_dir", - help="Only output amuse directory", - ) - self.parser.add_option( - "--get-amuse-package-dir", - action="store_true", - default=False, - dest="get_amuse_package_dir", - help="Only output the amuse package root directory", - ) - self.parser.add_option( - "--get-amuse-configmk", - action="store_true", - default=False, - dest="get_amuse_configmk", - help="dump amuse config.mk", - ) - self.options = None self.arguments = None @@ -223,12 +156,6 @@ def parse_options(self): self.options.name_of_the_code = None def parse_arguments(self): - if ( - self.options.get_amuse_dir - or self.options.get_amuse_package_dir - or self.options.get_amuse_configmk - ): - return if self.options.mode == "dir": if len(self.arguments) != 1: self.show_error_and_exit( @@ -384,7 +311,7 @@ def make_file(uc): settings.underscore_classes ) builder.needs_mpi = settings.needs_mpi.lower() == "true" - builder.is_mpi_enabled = config.mpi.is_enabled + builder.is_mpi_enabled = True builder.name_of_outputfile = settings.output except: uc.show_error_and_exit( @@ -408,28 +335,13 @@ def make_file(uc): def make_directory(uc): - settings = uc.options - - usecases = { - ("c", "dir"): create_dir.CreateADirectoryAndPopulateItWithFilesForACCode, - ( - "f90", - "dir", - ): create_dir.CreateADirectoryAndPopulateItWithFilesForAFortranCode, - } - - try: - builder = usecases[(settings.type, settings.mode)]() - builder.name_of_the_code_interface_class = settings.name_of_the_code - builder.path_of_the_root_directory = os.getcwd() - except: + language = uc.options.type + if language not in ("c", "f90"): uc.show_error_and_exit( - "'{0}' and '{1}' is not a valid combination of type and mode, cannot generate the code".format( - settings.type, settings.mode - ) - ) + f"'{language}' is not a valid language for making a directory. Try" + " either 'c' (also for C++) or 'f90'.") - builder.start() + create_code_dir(language, uc.options.name_of_the_code, os.getcwd()) def amusifier(): @@ -437,18 +349,7 @@ def amusifier(): uc = ParseCommandLine() uc.start() - - if uc.options.get_amuse_dir: - print(get_amuse_root_dir()) - exit(0) - elif uc.options.get_amuse_package_dir: - print(get_amuse_package_dir()) - exit(0) - elif uc.options.get_amuse_configmk: - with open(os.path.join(get_amuse_root_dir(), "config.mk")) as f: - print(f.read()) - exit(0) - elif uc.options.mode == "dir": + if uc.options.mode == "dir": make_directory(uc) else: make_file(uc) diff --git a/src/amuse/rfi/python_code.py b/src/amuse/rfi/python_code.py index e28aee20f1..1be3525a38 100644 --- a/src/amuse/rfi/python_code.py +++ b/src/amuse/rfi/python_code.py @@ -191,7 +191,6 @@ def handle_message(self, input_message, output_message): specification = legacy_function.specification dtype_to_count = self.get_dtype_to_count(specification) - if hasattr(specification, "internal_provided"): method = getattr(self, specification.name) else: @@ -347,12 +346,12 @@ def interface_functions(self): - def internal__set_message_polling_interval(self, inval): - self.polling_interval = inval + def internal__set_message_polling_interval(self, polling_interval): + self.polling_interval = polling_interval return 0 - def internal__get_message_polling_interval(self, outval): - outval.value = self.polling_interval + def internal__get_message_polling_interval(self, polling_interval): + polling_interval.value = self.polling_interval return 0 def get_null_info(self): diff --git a/src/amuse/rfi/tools/create_dir.py b/src/amuse/rfi/tools/create_dir.py index 5b4c4cf154..ee4c5b335d 100644 --- a/src/amuse/rfi/tools/create_dir.py +++ b/src/amuse/rfi/tools/create_dir.py @@ -1,521 +1,195 @@ -import os - -from amuse.support import get_amuse_root_dir -from amuse.support.core import late, print_out -from amuse.support.options import option -from amuse.support.options import OptionalAttributes - -interface_file_template = """\ -from amuse.community import * - -# low level interface class -class {0.name_of_the_community_interface_class}({0.name_of_the_superclass_for_the_community_code_interface_class}): - - {0.include_headers_or_modules} - - def __init__(self, **keyword_arguments): - {0.name_of_the_superclass_for_the_community_code_interface_class}.__init__(self, name_of_the_worker="{0.name_of_the_community_code}_worker", **keyword_arguments) - -# here you must specify the prototypes of the interface functions: - - @legacy_function - def echo_int(): - function = LegacyFunctionSpecification() - function.addParameter('int_in', dtype='int32', direction=function.IN, unit=None) - function.addParameter('int_out', dtype='int32', direction=function.OUT, unit=None) - function.result_type = 'int32' - function.can_handle_array = True - return function - -# optionally, this can be shortened to: -# @remote_function(can_handle_array=True) -# def echo_int(int_in='i'): -# returns (int_out='i') - - -# high level interface class -class {0.name_of_the_code_interface_class}({0.name_of_the_superclass_for_the_code_interface_class}): - - def __init__(self, **options): - {0.name_of_the_superclass_for_the_code_interface_class}.__init__(self, {0.name_of_the_community_interface_class}(**options), **options) - -# the following alternative __init__ is appropiate for codes that use an unspecified unit system -# (ie the quantities have dimension but no definite scale) -# -# def __init__(self, unit_converter=None, **options): -# self.unit_converter=unit_converter -# {0.name_of_the_superclass_for_the_code_interface_class}.__init__(self, {0.name_of_the_community_interface_class}(**options), **options) -# -# in this case you also need to use the define_converter below - -# typically the high level specification also contains the following: - -# the definition of the state model of the code - def define_state(self, handler): -# for example: -# handler.set_initial_state('UNINITIALIZED') -# handler.add_transition('!UNINITIALIZED!STOPPED', 'END', 'cleanup_code') -# handler.add_transition('END', 'STOPPED', 'stop', False) -# handler.add_transition( -# 'UNINITIALIZED', 'INITIALIZED', 'initialize_code') -# handler.add_method('STOPPED', 'stop') - pass - -# the definition of any properties - def define_properties(self, handler): -# handler.add_property('name_of_the_getter', public_name="name_of_the_property") - pass - -# the definition of the parameters - def define_parameters(self, handler): -# handler.add_method_parameter( -# "name_of_the_getter", -# "name_of_the_setter", -# "parameter_name", -# "description", -# default_value = -# ) - pass - -# the definition of the code data stores, either particle sets: - def define_particle_sets(self, handler): -# handler.define_set('particles', 'index_of_the_particle') -# handler.set_new('particles', 'new_particle') -# handler.set_delete('particles', 'delete_particle') -# handler.add_setter('particles', 'set_state') -# handler.add_getter('particles', 'get_state') -# handler.add_setter('particles', 'set_mass') -# handler.add_getter('particles', 'get_mass', names=('mass',)) - pass - -# and/or grids: - def define_grids(self, handler): -# handler.define_grid('grid',axes_names = ["x", "y"], grid_class=StructuredGrid) -# handler.set_grid_range('grid', '_grid_range') -# handler.add_getter('grid', 'get_grid_position', names=["x", "y"]) -# handler.add_getter('grid', 'get_rho', names=["density"]) -# handler.add_setter('grid', 'set_rho', names=["density"]) - pass - -# this handles unit conversion if an (optional) unit converter is specified -# def define_converter(self, handler): -# if self.unit_converter is not None: -# handler.set_converter( -# self.unit_converter.as_converter_from_si_to_generic() -# ) - - - -""" - -test_file_template = """\ -from amuse.test.amusetest import TestWithMPI - -from {0.name_for_import_of_the_interface_module} import {0.name_of_the_community_interface_class} -from {0.name_for_import_of_the_interface_module} import {0.name_of_the_code_interface_class} - -class {0.name_of_the_community_interface_class}Tests(TestWithMPI): - - def test1(self): - instance = {0.name_of_the_community_interface_class}() - result,error = instance.echo_int(12) - self.assertEquals(error, 0) - self.assertEquals(result, 12) - instance.stop() - -""" - -makefile_template_cxx = """\ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include $(AMUSE_DIR)/config.mk - -MPICXX ?= mpicxx - -CFLAGS += -Wall -g -CXXFLAGS += $(CFLAGS) -LDFLAGS += -lm $(MUSE_LD_FLAGS) - -OBJS = {0.name_of_the_interface_code}.o - -CODELIB = src/lib{0.name_of_the_community_code}.a - -all: {0.name_of_the_community_code}_worker - -clean: -\t$(RM) -rf __pycache__ -\t$(RM) -f *.so *.o *.pyc worker_code.cc worker_code.h -\t$(RM) *~ {0.name_of_the_community_code}_worker worker_code.cc -\tmake -C src clean - -distclean: clean -\tmake -C src distclean - -$(CODELIB): -\tmake -C src all - -worker_code.cc: {0.name_of_the_python_module} -\t$(CODE_GENERATOR) --type=c interface.py {0.name_of_the_community_interface_class} -o $@ - -worker_code.h: {0.name_of_the_python_module} -\t$(CODE_GENERATOR) --type=H interface.py {0.name_of_the_community_interface_class} -o $@ - -{0.name_of_the_community_code}_worker: worker_code.cc worker_code.h $(CODELIB) $(OBJS) -\t$(MPICXX) $(CXXFLAGS) $< $(OBJS) $(CODELIB) -o $@ - -.cc.o: $< -\t$(CXX) $(CXXFLAGS) -c -o $@ $< -""" - -code_makefile_template_cxx = """\ -CFLAGS += -Wall -g -CXXFLAGS += $(CFLAGS) -LDFLAGS += -lm $(MUSE_LD_FLAGS) +from pathlib import Path +from shutil import copyfile, copymode, copytree +from typing import Dict -CODELIB = lib{0.name_of_the_community_code}.a +from amuse import __version__ as amuse_version -CODEOBJS = test.o -AR = ar ruv -RANLIB = ranlib -RM = rm +_template_dir = Path(__file__).parent / "dir_templates" -all: $(CODELIB) +"""Map from template file to destination inside code dir, for C++.""" +_templates_cxx = { + "src_code.cc": "src/{code}.cc", + "src_Makefile_cxx": "src/Makefile", + "interface.cc": "interface.cc", + "interface.py": "interface.py", + "Makefile_cxx": "Makefile" + } -clean: -\t$(RM) -f *.o *.a -distclean: clean +"""Map from template file to destination inside code dir, for Fortran.""" +_templates_fortran = { + "src_code.f90": "src/{code}.f90", + "src_Makefile_fortran": "src/Makefile", + "interface.f90": "interface.f90", + "interface.py": "interface.py", + "Makefile_fortran": "Makefile" + } -$(CODELIB): $(CODEOBJS) -\t$(RM) -f $@ -\t$(AR) $@ $(CODEOBJS) -\t$(RANLIB) $@ -.cc.o: $< -\t$(CXX) $(CXXFLAGS) -c -o $@ $< -""" +def _instantiate_template( + tmpl_file: str, target: Path, variables: Dict[str, str] + ) -> None: + """Instantiates a template file at the given location. -code_examplefile_template_cxx = """\ -/* - * Example function for a code - */ -int echo(int input){ - return input; -} -""" - -interface_examplefile_template_cxx = """\ -extern int echo(int input); - -/* - * Interface code - */ - -int echo_int(int input, int * output){ - *output = echo(input); - return 0; -} - -""" - -class CreateADirectoryAndPopulateItWithFiles(OptionalAttributes): - - @late - def path_of_the_root_directory(self): - return os.path.dirname(os.path.dirname(__file__)) - - @late - def name_of_the_community_code(self): - return self.name_of_the_code_interface_class.lower() - - @late - def name_of_the_python_module(self): - return 'interface.py' - - @late - def name_of_the_test_module(self): - return 'test_{0}.py'.format(self.name_of_the_community_code) - - @late - def name_of_the_interface_code(self): - return 'interface' - - @late - def name_of_the_code_interface_class(self): - return 'MyCode' - - @late - def name_of_the_community_interface_class(self): - return self.name_of_the_code_interface_class + 'Interface' - - @late - def name_of_the_code_directory(self): - return 'src' - - @late - def name_for_import_of_the_interface_module(self): - return '.' + self.name_of_the_python_module[:-3] - - @late - def path_of_the_community_code(self): - return os.path.join(self.path_of_the_root_directory, self.name_of_the_community_code) - - @late - def path_of_the_source_code(self): - return os.path.join(self.path_of_the_community_code, self.name_of_the_code_directory) - - @late - def path_of_the_init_file(self): - return os.path.join(self.path_of_the_community_code, '__init__.py') - - @late - def path_of_the_interface_file(self): - return os.path.join(self.path_of_the_community_code, self.name_of_the_python_module) - - @late - def path_of_the_test_file(self): - return os.path.join(self.path_of_the_community_code, self.name_of_the_test_module) - - @late - def path_of_the_makefile(self): - return os.path.join(self.path_of_the_community_code, 'Makefile') - - @late - def path_of_the_code_makefile(self): - return os.path.join(self.path_of_the_source_code, 'Makefile') - - @late - def path_of_the_code_examplefile(self): - raise NotImplementedError() - - @late - def path_of_the_interface_examplefile(self): - raise NotImplementedError() - - @late - def path_of_amuse(self): - return self.amuse_root_dir - - @late - def reference_to_amuse_path(self): - return os.path.relpath(self.path_of_amuse, self.path_of_the_community_code) - - @late - def name_of_the_superclass_for_the_community_code_interface_class(self): - return "CodeInterface" - - @late - def name_of_the_superclass_for_the_code_interface_class(self): - return "InCodeComponentImplementation" - - @late - def amuse_root_dir(self): - return get_amuse_root_dir() - - @late - def include_headers_or_modules(self): - return "include_headers = ['worker_code.h']" - - def start(self): - - self.make_directories() - self.make_python_files() - self.make_makefile() - self.make_example_files() - - - def make_directories(self): - os.mkdir(self.path_of_the_community_code) - os.mkdir(self.path_of_the_source_code) - - def make_python_files(self): - with open(self.path_of_the_init_file, "w") as f: - f.write("# generated file") - - with open(self.path_of_the_interface_file, "w") as f: - string = interface_file_template.format(self) - f.write(string) - - with open(self.path_of_the_test_file, "w") as f: - string = test_file_template.format(self) - f.write(string) - - def make_makefile(self): - pass - - def make_example_files(self): - pass - - -class CreateADirectoryAndPopulateItWithFilesForACCode(CreateADirectoryAndPopulateItWithFiles): - - @late - def path_of_the_code_examplefile(self): - return os.path.join(self.path_of_the_source_code, 'test.cc') - - @late - def path_of_the_interface_examplefile(self): - return os.path.join(self.path_of_the_community_code, self.name_of_the_interface_code + '.cc') - - def make_makefile(self): - - with open(self.path_of_the_makefile, "w") as f: - string = makefile_template_cxx.format(self) - f.write(string) - - def make_example_files(self): - with open(self.path_of_the_code_makefile, "w") as f: - string = code_makefile_template_cxx.format(self) - f.write(string) - - with open(self.path_of_the_code_examplefile, "w") as f: - string = code_examplefile_template_cxx - f.write(string) - - with open(self.path_of_the_interface_examplefile, "w") as f: - string = interface_examplefile_template_cxx - f.write(string) - - - -makefile_template_fortran = """\ -# standard amuse configuration include -# config.mk will be made after ./configure has run -ifeq ($(origin AMUSE_DIR), undefined) - AMUSE_DIR := $(shell amusifier --get-amuse-dir) -endif --include $(AMUSE_DIR)/config.mk - -MPIFC ?= mpif90 -FC = $(MPIFC) - -LDFLAGS += -lm $(MUSE_LD_FLAGS) - -OBJS = {0.name_of_the_interface_code}.o - -CODELIB = src/lib{0.name_of_the_community_code}.a - -# needed if code functions are accessed through a module -FCFLAGS+= -I$(realpath ./src) - -all: {0.name_of_the_community_code}_worker - -clean: -\t$(RM) -rf __pycache__ -\t$(RM) -f *.mod *.so *.o *.pyc worker_code.cc worker_code.h -\t$(RM) *~ {0.name_of_the_community_code}_worker worker_code.f90 -\tmake -C src clean - -distclean: clean -\tmake -C src distclean - -$(CODELIB): -\tmake -C src all - -worker_code.f90: {0.name_of_the_python_module} -\t$(CODE_GENERATOR) --type=f90 interface.py {0.name_of_the_community_interface_class} -o $@ - -{0.name_of_the_community_code}_worker: worker_code.f90 $(CODELIB) $(OBJS) -\t$(MPIFC) $(FCFLAGS) $(FS_FLAGS) $< $(OBJS) $(CODELIB) $(FS_LIBS) -o $@ - -%.o: %.f90 -\t$(FC) $(FCFLAGS) -c -o $@ $< -""" - -code_makefile_template_fortran = """\ -MPIFC ?= mpif90 -FC = $(MPIFC) - -LDFLAGS += -lm $(MUSE_LD_FLAGS) - -CODELIB = lib{0.name_of_the_community_code}.a - -CODEOBJS = test.o - -AR = ar ruv -RANLIB = ranlib -RM = rm - -all: $(CODELIB) - -clean: -\t$(RM) -f *.o *.a *.mod - -distclean: clean - -$(CODELIB): $(CODEOBJS) -\t$(RM) -f $@ -\t$(AR) $@ $(CODEOBJS) -\t$(RANLIB) $@ - -%.o: %.f90 -\t$(FC) $(FCFLAGS) -c -o $@ $< - -""" - -code_examplefile_template_fortran = """\ -function echo(input) - integer echo, input - echo = input -end function -""" - -interface_examplefile_template_fortran = """\ -module {0.name_of_the_interface_module} + Args: + tmpl_file: Name of a file in the dir_templates directory + target: Path to the output file + variables: Variables to substitute into the template + """ + print(f"Instantiating {tmpl_file} to {target}") + template = (_template_dir / tmpl_file).read_text("utf-8") + target.write_text(template.format(**variables), "utf-8") + + +def _make_directory(code_dir: Path, variables: Dict[str, str]) -> None: + """Make the basic directory tree.""" + try: + code_dir.mkdir(parents=True) + except FileExistsError: + raise RuntimeError( + f"The directory {code_dir} already exists, aborting to avoid" + " overwriting.") + _instantiate_template("__init__.py", code_dir / "__init__.py", variables) -contains - function echo_int(input, output) - integer :: echo - integer :: echo_int - integer :: input, output - output = echo(input) - echo_int = 0 - end function +_tmpls_support_cxx = { + "configure_cxx.ac": "configure.ac", + "config_cxx.mk.in": "config.mk.in", +} + + +_tmpls_support_fortran = { + "configure_fortran.ac": "configure.ac", + "config_fortran.mk.in": "config.mk.in", +} -end module -""" -class CreateADirectoryAndPopulateItWithFilesForAFortranCode(CreateADirectoryAndPopulateItWithFiles): - - @late - def path_of_the_code_examplefile(self): - return os.path.join(self.path_of_the_source_code, 'test.f90') - - @late - def path_of_the_interface_examplefile(self): - return os.path.join(self.path_of_the_community_code, self.name_of_the_interface_code + '.f90') +_files_support = { + "support_shared_config.guess": "config.guess", + "support_shared_config.sub": "config.sub", + "support_shared_install-sh": "install-sh", + "support_shared_uninstall.sh": "uninstall.sh", + } - @late - def include_headers_or_modules(self): - return 'use_modules=["{0}"]'.format(self.name_of_the_interface_module) - @late - def name_of_the_interface_module(self): - return '{0}Interface'.format(self.name_of_the_community_code) +def _make_support(code_dir: Path, language: str, variables: Dict[str, str]) -> None: + """Make the support/ subdirectory with contents.""" + support_dir = code_dir / "support" + support_dir.mkdir() - def make_makefile(self): - - with open(self.path_of_the_makefile, "w") as f: - string = makefile_template_fortran.format(self) - f.write(string) - - def make_example_files(self): - with open(self.path_of_the_code_makefile, "w") as f: - string = code_makefile_template_fortran.format(self) - f.write(string) - - with open(self.path_of_the_code_examplefile, "w") as f: - string = code_examplefile_template_fortran - f.write(string) - - with open(self.path_of_the_interface_examplefile, "w") as f: - string = interface_examplefile_template_fortran.format(self) - f.write(string) + tmpls_paths = _tmpls_support_cxx if language == "c" else _tmpls_support_fortran + for tmpl, path in tmpls_paths.items(): + _instantiate_template(tmpl, support_dir / path.format(**variables), variables) + # TODO: this needs to be updated when we move the codes out of community/ + shared_base = code_dir / ".." / ".." / ".." / "support" / "shared" + shared_dir = support_dir / "shared" + if shared_base.exists(): + # We're probably inside the AMUSE tree, so we make a symlink like for the other + # embedded codes. This avoids having to update many copies of e.g. a broken m4 + # macro. + shared_dir.symlink_to(shared_base) + else: + shared_dir.mkdir() + for src, dst in _files_support.items(): + copyfile(_template_dir / src, shared_dir / dst) + copymode(_template_dir / src, shared_dir / dst) + + copytree(_template_dir / "support_shared_m4", shared_dir / "m4") + + +def _make_wrapper(code_dir: Path, language: str, variables: Dict[str, str]) -> None: + """Make the wrapper and the dummy code.""" + (code_dir / "src").mkdir() + + tmpls_paths = _templates_cxx if language == "c" else _templates_fortran + + for tmpl, path in tmpls_paths.items(): + _instantiate_template(tmpl, code_dir / path.format(**variables), variables) + + +def _make_tests(code_dir: Path, variables: Dict[str, str]) -> None: + """Make the test.""" + (code_dir / "tests").mkdir() + file = "test_{code}.py".format(**variables) + _instantiate_template("tests_test_code.py", code_dir / "tests" / file, variables) + + +def _make_packages(code_dir: Path, code: str, variables: Dict[str, str]) -> None: + """Make the packages/ subdirectory with contents.""" + (code_dir / "packages").mkdir() + + def make_package(pkg_type: str, suffix: str) -> None: + pkg_dir = code_dir / "packages" / f"amuse-{code}{suffix}" + pkg_dir.mkdir() + (pkg_dir / code).symlink_to("../..", True) + + _instantiate_template( + "amuse-code.amuse_deps", + pkg_dir.parent / f"amuse-{code}{suffix}.amuse_deps", variables) + + _instantiate_template( + f"pyproject-{pkg_type}.toml", pkg_dir / "pyproject.toml", variables) + + make_package("base", "") + make_package("extra", "-PACKAGE") + + +def _variables(language: str, code: str, user_class: str) -> None: + """Create variables to instantiate the templates with.""" + variables = { + "framework_version": amuse_version, + "code": code, + "package": code.replace("_", "-"), + "interface_class": f"{user_class}Interface", + "user_class": user_class} + + if '+' in amuse_version: + # We have a local version label, meaning the framework has been modified + # locally. Versions like that can only be compared by equality, which is + # probably good because it may be incompatible with any other versions. So we + # required the exact version. + variables["framework_version"] = f"=={amuse_version}" + else: + # We have a normal version, probably a normal release. In this case we assume + # that future versions of the framework will continue to work. + variables["framework_version"] = f">={amuse_version}" + + if language == "c": + variables["includes"] = f"include_headers = [\"{code}_worker.h\"]" + elif language == "f90": + interface_module = variables["interface_class"] + variables["interface_module"] = interface_module + variables["includes"] = f"use_modules = [\"{interface_module}\"]" + + return variables + + +def create_code_dir(language: str, user_class: str, work_dir: str) -> None: + """Create a directory for a new community code. + + This creates a new directory for a new community code, with instantiated templates + to get the developer started with connecting the code to AMUSE. + + Note that the value of "code" will be used to name the directory (after having been + lowercased) and also the class that the AMUSE user will use to interact with the + code (with an initial capital). + + Args: + language: Programming language, either "c" (also for C++) or "f90" + code: Name of the new code + work_dir: Directory inside of which the new directory will be made + """ + code = user_class.lower() + code_dir = Path(work_dir) / f'amuse_{code}' + + variables = _variables(language, code, user_class) + + _make_directory(code_dir, variables) + _make_support(code_dir, language, variables) + _make_wrapper(code_dir, language, variables) + _make_tests(code_dir, variables) + _make_packages(code_dir, code, variables) diff --git a/src/amuse/rfi/tools/create_fortran.py b/src/amuse/rfi/tools/create_fortran.py index edb4367511..91d4f08e19 100644 --- a/src/amuse/rfi/tools/create_fortran.py +++ b/src/amuse/rfi/tools/create_fortran.py @@ -1,8 +1,6 @@ from amuse.support.core import late from amuse.support import exceptions -from amuse import config - from amuse.rfi.tools.create_code import GenerateASourcecodeString from amuse.rfi.tools.create_code import GenerateASourcecodeStringFromASpecificationClass from amuse.rfi.tools.create_code import DTypeSpec @@ -35,38 +33,6 @@ HEADER_SIZE=11, MAX_COMMUNICATORS = 2048) """ -ARRAY_DEFINES_STRING = """ - integer*4, target :: header_in(HEADER_SIZE) - integer*4, target :: header_out(HEADER_SIZE) - - integer*4, allocatable, target :: integers_in(:) - integer*4, allocatable, target :: integers_out(:) - - integer*8, allocatable, target :: longs_in(:) - integer*8, allocatable, target :: longs_out(:) - - real*4, allocatable, target :: floats_in(:) - real*4, allocatable, target :: floats_out(:) - - real*8, allocatable, target :: doubles_in(:) - real*8, allocatable, target :: doubles_out(:) - - logical*1, allocatable, target :: c_booleans_in(:) - logical*1, allocatable, target :: c_booleans_out(:) - - logical, allocatable, target :: booleans_in(:) - logical, allocatable, target :: booleans_out(:) - - integer*4, allocatable, target :: string_sizes_in(:) - integer*4, allocatable, target :: string_sizes_out(:) - - character (len=256), allocatable, target :: strings_in(:) - character (len=256), allocatable, target :: strings_out(:) - - character (len=100000) :: characters_in - character (len=100000) :: characters_out -""" - ISO_ARRAY_DEFINES_STRING = """ integer (c_int32_t), target :: header_in(HEADER_SIZE) integer (c_int32_t), target :: header_out(HEADER_SIZE) @@ -311,19 +277,6 @@ END SUBROUTINE """ -RECV_HEADER_WAIT_STRING = """ - SUBROUTINE mpi_recv_header(parent, ioerror) - use mpi - implicit none - integer,intent(in) :: parent - integer,intent(inout) :: ioerror - integer :: request_status(MPI_STATUS_SIZE),header_request - - call MPI_Irecv(header_in, HEADER_SIZE, MPI_INTEGER, 0, 989, parent, header_request, ioerror) - call MPI_Wait(header_request, request_status, ioerror) - END SUBROUTINE -""" - EMPTY_RUN_LOOP_MPI_STRING = """ SUBROUTINE run_loop_mpi implicit none @@ -797,15 +750,6 @@ end subroutine """ -EMPTY_RUN_LOOP_SOCKETS_STRING = """ - subroutine run_loop_sockets - - print*, 'fortran: sockets channel not supported in this worker' - return - - end subroutine -""" - RUN_LOOP_SOCKETS_MPI_STRING = """ SUBROUTINE run_loop_sockets_mpi use iso_c_binding @@ -1132,18 +1076,16 @@ GETSET_WORKING_DIRECTORY=""" function set_working_directory(directory) result(ret) - {0} integer :: ret character(*), intent(in) :: directory ret = chdir(directory) -end function +end function function get_working_directory(directory) result(ret) - {0} integer :: ret character(*), intent(out) :: directory ret = getcwd(directory) -end function +end function """ @@ -1439,17 +1381,14 @@ def output_needs_mpi(self): self.out.lf().lf() def start(self): - self.use_iso_c_bindings = config.compilers.fc_iso_c_bindings + self.out + GETSET_WORKING_DIRECTORY.format("") - self.out + GETSET_WORKING_DIRECTORY.format("" if not config.compilers.ifort_version else " use ifport") - - self.out + 'program amuse_worker_program' + self.out.n() + 'program amuse_worker_program' self.out.indent() self.output_modules() - if self.use_iso_c_bindings: - self.out.n() + 'use iso_c_binding' + self.out.n() + 'use iso_c_binding' self.out.n() + 'implicit none' @@ -1464,11 +1403,7 @@ def start(self): else: self.out.lf().lf() + NOMPI_MODULE_GLOBALS_STRING - if self.use_iso_c_bindings: - self.out.n() + ISO_ARRAY_DEFINES_STRING - else: - self.out.n() + ARRAY_DEFINES_STRING - + self.out.n() + ISO_ARRAY_DEFINES_STRING self.out.lf().lf() + MAIN_STRING @@ -1476,30 +1411,23 @@ def start(self): self.out + POLLING_FUNCTIONS_STRING - self.out + GETSET_WORKING_DIRECTORY.format("" if not config.compilers.ifort_version else " use ifport") + self.out + GETSET_WORKING_DIRECTORY if self.must_generate_mpi: self.out + INTERNAL_FUNCTIONS_STRING - if self.use_iso_c_bindings: - self.out + RECV_HEADER_SLEEP_STRING - else: - self.out + RECV_HEADER_WAIT_STRING + self.out + RECV_HEADER_SLEEP_STRING self.out + RUN_LOOP_MPI_STRING else: self.out + NOMPI_INTERNAL_FUNCTIONS_STRING self.out + EMPTY_RUN_LOOP_MPI_STRING - if self.use_iso_c_bindings: - self.out.n() + RUN_LOOP_SOCKETS_STRING + self.out.n() + RUN_LOOP_SOCKETS_STRING - if self.must_generate_mpi: - self.out.n() + RUN_LOOP_SOCKETS_MPI_STRING - else: - self.out.n() + EMPTY_RUN_LOOP_SOCKETS_MPI_STRING + if self.must_generate_mpi: + self.out.n() + RUN_LOOP_SOCKETS_MPI_STRING else: - self.out.n() + EMPTY_RUN_LOOP_SOCKETS_STRING self.out.n() + EMPTY_RUN_LOOP_SOCKETS_MPI_STRING self.output_handle_call() diff --git a/src/amuse/rfi/tools/create_java.py b/src/amuse/rfi/tools/create_java.py index 05b5f3c6f7..f3cc7469a3 100644 --- a/src/amuse/rfi/tools/create_java.py +++ b/src/amuse/rfi/tools/create_java.py @@ -1,6 +1,5 @@ from amuse.support.core import late from amuse.support import exceptions, options -from amuse import config from amuse.rfi.tools.create_code import GenerateASourcecodeString from amuse.rfi.tools.create_code import GenerateASourcecodeStringFromASpecificationClass from amuse.rfi.tools.create_code import DTypeSpec @@ -1468,53 +1467,17 @@ def start(self): class GenerateAJavaWorkerScript(GenerateASourcecodeString): - @late - def amuse_root_dir(self): - return os.path.abspath(options.GlobalOptions.instance().amuse_rootdirectory) - - @late - def code_dir(self): - codedir=os.path.split(self.code_directory())[-1] - return os.path.join("community", codedir) - - @late - def java(self): - return config.java.java - - @late - def template_dir(self): - return os.path.dirname(__file__) - @late def template_string(self): - path = self.template_dir + path = os.path.dirname(__file__) path = os.path.join(path, 'java_code_script.template') - + with open(path, "r") as f: template_string = f.read() - - return template_string - - @staticmethod - def classpath(classpath, code_dir): - return ":".join([os.path.join(code_dir, x) for x in classpath]) - - def script_string(self): - return self.template_string.format( - executable = sys.executable, - java = self.java, - classpath = self.classpath(self.specification_class.classpath, self.code_dir), - code_dir = self.code_dir, - amuse_root_dir = self.amuse_root_dir - ) - - - def code_directory(self): - interface_module = inspect.getmodule(self.specification_class).__name__ - return os.path.dirname(inspect.getfile(self.specification_class)) + + return template_string.format( + classpath=":".join(self.specification_class.classpath)) def start(self): - self.out + self.script_string() - + self.out + self.template_string self._result = self.out.string - diff --git a/src/amuse/rfi/tools/create_python_worker.py b/src/amuse/rfi/tools/create_python_worker.py index 8787233eeb..3f82f909a2 100644 --- a/src/amuse/rfi/tools/create_python_worker.py +++ b/src/amuse/rfi/tools/create_python_worker.py @@ -58,12 +58,22 @@ def interface_class(self): return self.specification_class def new_executable_script_string(self): + facmod_name = inspect.getmodule(self.implementation_factory).__name__ + ifmod_name = inspect.getmodule(self.interface_class).__name__ + + # Work-around for pytest affecting the import paths in ways that the worker + # doesn't see. + if facmod_name.startswith('tests.'): + facmod_name = facmod_name[6:] + if ifmod_name.startswith('tests.'): + ifmod_name = ifmod_name[6:] + return self.template_string.format( executable = sys.executable, syspath = ','.join(map(repr, sys.path)), - factory_module = inspect.getmodule(self.implementation_factory).__name__, + factory_module = facmod_name, factory = self.implementation_factory.__name__, - interface_module = inspect.getmodule(self.interface_class).__name__, + interface_module = ifmod_name, interface = self.interface_class.__name__, ) diff --git a/src/amuse/rfi/tools/dir_templates/Makefile_cxx b/src/amuse/rfi/tools/dir_templates/Makefile_cxx new file mode 100644 index 0000000000..6ff6c82c2d --- /dev/null +++ b/src/amuse/rfi/tools/dir_templates/Makefile_cxx @@ -0,0 +1,132 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Downloading the code +##### Remove if not needed ##### +VERSION = VERSION + +{code}.tar.gz: + ##### Modify URL as needed ##### + $(DOWNLOAD) https://github.com/{code}/{code}/archive/$(VERSION).tar.gz >$@ + +PATCHES := $(file < patches/series) +PATCHES := $(patsubst %,%,$(PATCHES)) # replace newlines with spaces + +src/{code}-$(VERSION): {code}.tar.gz + ##### Modify as needed ##### + tar xf $< + mv {code}-$(VERSION) src + ##### Apply patches here, if needed ##### + patch $@ + +PATCHES := $(file < patches/series) +PATCHES := $(patsubst %,%,$(PATCHES)) # replace newlines with spaces + +src/{code}-$(VERSION): {code}.tar.gz + ##### Modify as needed ##### + tar xf $< + mv {code}-$(VERSION) src + ##### Apply patches here, if needed ##### + patch + # ) + pass + + def define_particle_sets(self, handler): + """Define any particle sets inside the model.""" + # handler.define_set('particles', 'index_of_the_particle') + # handler.set_new('particles', 'new_particle') + # handler.set_delete('particles', 'delete_particle') + # handler.add_setter('particles', 'set_state') + # handler.add_getter('particles', 'get_state') + # handler.add_setter('particles', 'set_mass') + # handler.add_getter('particles', 'get_mass', names=('mass',)) + pass + + def define_grids(self, handler): + """Define any grids inside the model.""" + # handler.define_grid('grid',axes_names = ["x", "y"], grid_class=StructuredGrid) + # handler.set_grid_range('grid', '_grid_range') + # handler.add_getter('grid', 'get_grid_position', names=["x", "y"]) + # handler.add_getter('grid', 'get_rho', names=["density"]) + # handler.add_setter('grid', 'set_rho', names=["density"]) + pass + + # def define_converter(self, handler): + # """Handle unit conversion if an (optional) unit converter is specified.""" + # if self.unit_converter is not None: + # handler.set_converter( + # self.unit_converter.as_converter_from_si_to_generic() + # ) diff --git a/src/amuse/rfi/tools/dir_templates/pyproject-base.toml b/src/amuse/rfi/tools/dir_templates/pyproject-base.toml new file mode 100644 index 0000000000..ad14a5cdbb --- /dev/null +++ b/src/amuse/rfi/tools/dir_templates/pyproject-base.toml @@ -0,0 +1,44 @@ +[project] +name = "amuse-{code}" +version = "0.0.1" +# use the line below instead of the version above if this code is inside the AMUSE +# repository +# dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework{framework_version}" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{{next_version}}.dev{{distance}}+{{vcs}}{{rev}}" +dirty = "{{base_version}}+d{{build_date:%Y%m%d}}" +distance-dirty = "{{next_version}}.dev{{distance}}+{{vcs}}{{rev}}.d{{build_date:%Y%m%d}}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_{code}/**/*.py"] +exclude = [ + "amuse_{code}/packages", + "amuse_{code}/support", + "amuse_{code}/src", + "amuse_{code}/tests" + ] +artifacts = ["amuse_{code}/{code}_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_{code}/tests/", "../../../../../tests"] + +testpaths = ["amuse_{code}/tests"] + diff --git a/src/amuse/rfi/tools/dir_templates/pyproject-extra.toml b/src/amuse/rfi/tools/dir_templates/pyproject-extra.toml new file mode 100644 index 0000000000..ea15fa92e7 --- /dev/null +++ b/src/amuse/rfi/tools/dir_templates/pyproject-extra.toml @@ -0,0 +1,37 @@ +[project] +name = "amuse-{code}-PACKAGE" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework{framework_version}", + "amuse-{code}" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{{next_version}}.dev{{distance}}+{{vcs}}{{rev}}" +dirty = "{{base_version}}+d{{build_date:%Y%m%d}}" +distance-dirty = "{{next_version}}.dev{{distance}}+{{vcs}}{{rev}}.d{{build_date:%Y%m%d}}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_{code}"] +exclude = ["amuse_{code}/*"] +artifacts = ["amuse_{code}/{code}_PACKAGE_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_{code}/tests/", "../../../../../tests"] + +testpaths = ["amuse_{code}/tests"] + diff --git a/src/amuse/rfi/tools/dir_templates/src_Makefile_cxx b/src/amuse/rfi/tools/dir_templates/src_Makefile_cxx new file mode 100644 index 0000000000..60f5f33c65 --- /dev/null +++ b/src/amuse/rfi/tools/dir_templates/src_Makefile_cxx @@ -0,0 +1,24 @@ +CFLAGS += -Wall -g +CXXFLAGS += $(CFLAGS) + +CODELIB = lib{code}.a + +CODEOBJS = {code}.o + + +all: $(CODELIB) + + +clean: + rm -f *.o *.a + +distclean: clean + +$(CODELIB): $(CODEOBJS) + rm -f $@ + $(AR) -ruv $@ $(CODEOBJS) + $(RANLIB) $@ + +.cc.o: $< + $(CXX) $(CXXFLAGS) -c -o $@ $< + diff --git a/src/amuse/rfi/tools/dir_templates/src_Makefile_fortran b/src/amuse/rfi/tools/dir_templates/src_Makefile_fortran new file mode 100644 index 0000000000..1269f9afd7 --- /dev/null +++ b/src/amuse/rfi/tools/dir_templates/src_Makefile_fortran @@ -0,0 +1,20 @@ +CODELIB = lib{code}.a + +CODEOBJS = {code}.o + + +all: $(CODELIB) + +clean: + rm -f *.o *.a *.mod + +distclean: clean + +$(CODELIB): $(CODEOBJS) + rm -f $@ + $(AR) -ruv $@ $(CODEOBJS) + $(RANLIB) $@ + +%.o: %.f90 + $(FC) $(FCFLAGS) -c -o $@ $< + diff --git a/src/amuse/rfi/tools/dir_templates/src_code.cc b/src/amuse/rfi/tools/dir_templates/src_code.cc new file mode 100644 index 0000000000..abc50bd513 --- /dev/null +++ b/src/amuse/rfi/tools/dir_templates/src_code.cc @@ -0,0 +1,7 @@ +/* + * Example function for a code + */ +int echo(int input) {{ + return input; +}} + diff --git a/src/amuse/rfi/tools/dir_templates/src_code.f90 b/src/amuse/rfi/tools/dir_templates/src_code.f90 new file mode 100644 index 0000000000..9f2dd93c3d --- /dev/null +++ b/src/amuse/rfi/tools/dir_templates/src_code.f90 @@ -0,0 +1,5 @@ +function echo(input) + integer echo, input + echo = input +end function + diff --git a/src/amuse/rfi/tools/dir_templates/support_shared_config.guess b/src/amuse/rfi/tools/dir_templates/support_shared_config.guess new file mode 120000 index 0000000000..06c221ac94 --- /dev/null +++ b/src/amuse/rfi/tools/dir_templates/support_shared_config.guess @@ -0,0 +1 @@ +../../../../../support/shared/config.guess \ No newline at end of file diff --git a/src/amuse/rfi/tools/dir_templates/support_shared_config.sub b/src/amuse/rfi/tools/dir_templates/support_shared_config.sub new file mode 120000 index 0000000000..bdc706bc80 --- /dev/null +++ b/src/amuse/rfi/tools/dir_templates/support_shared_config.sub @@ -0,0 +1 @@ +../../../../../support/shared/config.sub \ No newline at end of file diff --git a/src/amuse/rfi/tools/dir_templates/support_shared_install-sh b/src/amuse/rfi/tools/dir_templates/support_shared_install-sh new file mode 120000 index 0000000000..51f0a48ed9 --- /dev/null +++ b/src/amuse/rfi/tools/dir_templates/support_shared_install-sh @@ -0,0 +1 @@ +../../../../../support/shared/install-sh \ No newline at end of file diff --git a/src/amuse/rfi/tools/dir_templates/support_shared_m4 b/src/amuse/rfi/tools/dir_templates/support_shared_m4 new file mode 120000 index 0000000000..91c66fec5b --- /dev/null +++ b/src/amuse/rfi/tools/dir_templates/support_shared_m4 @@ -0,0 +1 @@ +../../../../../support/shared/m4 \ No newline at end of file diff --git a/src/amuse/rfi/tools/dir_templates/support_shared_uninstall.sh b/src/amuse/rfi/tools/dir_templates/support_shared_uninstall.sh new file mode 120000 index 0000000000..730c8ad569 --- /dev/null +++ b/src/amuse/rfi/tools/dir_templates/support_shared_uninstall.sh @@ -0,0 +1 @@ +../../../../../support/shared/uninstall.sh \ No newline at end of file diff --git a/src/amuse/rfi/tools/dir_templates/tests_test_code.py b/src/amuse/rfi/tools/dir_templates/tests_test_code.py new file mode 100644 index 0000000000..33123a92f7 --- /dev/null +++ b/src/amuse/rfi/tools/dir_templates/tests_test_code.py @@ -0,0 +1,12 @@ +from amuse.support.testing.amusetest import TestWithMPI + +from amuse.community.{code}.interface import {interface_class}, {user_class} + +class {interface_class}Tests(TestWithMPI): + + def test_echo_int(self): + instance = {interface_class}() + result,error = instance.echo_int(12) + self.assertEquals(error, 0) + self.assertEquals(result, 12) + instance.stop() diff --git a/src/amuse/rfi/tools/java_code_script.template b/src/amuse/rfi/tools/java_code_script.template index 67793464d8..5097b1275d 100644 --- a/src/amuse/rfi/tools/java_code_script.template +++ b/src/amuse/rfi/tools/java_code_script.template @@ -1,34 +1,56 @@ -#!{executable} +#!/usr/bin/env python3 #This script was generated by the AMUSE framework import os import subprocess import sys -java = '{java}' -try: - from amuse.support import options - amuse_root_dir = options.GlobalOptions.instance().amuse_rootdirectory -except: -# fallback if amuse is not findable - amuse_root_dir = '{amuse_root_dir}' +def amuse_root_dir(): + """Returns the AMUSE root directory. -classpath = '{classpath}'.split(":") -code_dir = '{code_dir}' + This shouldn't be needed at runtime, so possibly more needs to happen to + make the existing Java codes work in a packaged environment, but for now + no one seems to be using distributed AMUSE or asterisk anyway, so we'll + leave it for the time being - LV. + """ + return os.path.abspath(os.path.join(os.path.dirname(__file__), "../../")) + + +def code_dir(): + """Returns the code dir. + + Assumes that this script is in the AMUSE source tree. + """ + return os.path.dirname(os.path.abspath(__file__)) + + +def classpath(): + """Return a classpath string for the worker. + + This assumes that this script is in amuse/community/, and that any + classpath settings needed are specified in the interface class as paths + relative to amuse/community/. + """ + base = code_dir() + classpath = [ + os.path.join(base, rel_path) + for rel_path in "{classpath}".split(":")] + + return ":".join(classpath) -classpath=":".join([os.path.join(amuse_root_dir, x) for x in classpath]) -code_dir=os.path.join(amuse_root_dir, code_dir) def main(): + ard = amuse_root_dir() + cd = code_dir() + cp = classpath() - print("Starting Java code" ) - print(" on amuse root dir: {{0}}".format( amuse_root_dir ) ) - print(" with code dir: {{0}}".format( code_dir) ) - print(" with classpath: {{0}}".format( classpath) ) + print("Starting Java code") + print(" with code_dir : {{0}}".format(cd)) + print(" with classpath: {{0}}".format(cp)) sys.stdout.flush() - arguments = [java, "-Damuse.root.dir=" + amuse_root_dir, "-Dcode.dir=" + code_dir, "-cp", classpath, "Worker"] - arguments = arguments + sys.argv[1:] + arguments = ["java", "-Damuse.root.dir=" + ard, "-Dcode.dir=" + cd, "-cp", cp, "Worker"] + arguments.extend(sys.argv[1:]) subprocess.call(arguments) diff --git a/src/amuse/rfi/tools/python_code_script.template b/src/amuse/rfi/tools/python_code_script.template index f722c1dc05..7a1cb5615f 100644 --- a/src/amuse/rfi/tools/python_code_script.template +++ b/src/amuse/rfi/tools/python_code_script.template @@ -1,4 +1,4 @@ -#!{executable} +#!/usr/bin/env python3 #This script was generated by the AMUSE framework import sys import os diff --git a/src/amuse/support/import_helper.py b/src/amuse/support/import_helper.py new file mode 100644 index 0000000000..a4bd696924 --- /dev/null +++ b/src/amuse/support/import_helper.py @@ -0,0 +1,45 @@ +from importlib import import_module +from os import environ + + +def load_code(community_code, symbol): + """Load the given symbol from the given package. + + This tries to import the given symbol (the name of a class usually) from the + amuse- package, and return it. If the package is not installed, it + inspects the environment and produces a helpful error explaining to the user how to + install it. + + Args: + community_code: Name of the community code to load + symbol: Name of the symbol to return + """ + try: + interface = import_module(f"amuse_{community_code}.interface") + except ImportError: + msg = f"Error: {community_code} is not installed, so we cannot use it." + if "CONDA_PREFIX" in environ: + env = environ["CONDA_DEFAULT_ENV"] + msg += ( + f" To install {community_code}, go to the terminal, make sure that" + f" the '{env}' conda environment is active and that you are in the" + " amuse source directory, then install the code using './setup" + f" install amuse-{community_code}' and restart your script or" + " reload the kernel.") + + if "VIRTUAL_ENV" in environ: + env = environ["VIRTUAL_ENV"] + msg += ( + f" To install {community_code}, go to the terminal, make sure that" + f" the '{env}' virtual environment is active and that you are in" + " the amuse source directory, then install the code using './setup" + f" install amuse-{community_code}' and restart your script or" + " reload the kernel.") + raise ImportError(msg) from None + + try: + return vars(interface)[symbol] + except KeyError: + raise ImportError( + f"cannot import '{symbol}' from 'amuse.community.{community_code}'" + ) from None diff --git a/src/amuse/support/interface.py b/src/amuse/support/interface.py index 245417c138..e942552e9d 100644 --- a/src/amuse/support/interface.py +++ b/src/amuse/support/interface.py @@ -577,7 +577,7 @@ def handle_errorcode(self, errorcode): if errorcode in self.wrapped_object.errorcodes: raise exceptions.AmuseException( f"Error when calling '{self.name}' of a " - f"'{type(self.wrapped_object)}', errorcode is " + f"'{type(self.wrapped_object).__qualname__}', errorcode is " f"{errorcode}, error is " f"'{self.wrapped_object.errorcodes[errorcode]}'", errorcode, @@ -585,7 +585,7 @@ def handle_errorcode(self, errorcode): elif errorcode < 0: raise exceptions.AmuseException( f"Error when calling '{self.name}' of a " - f"'{type(self.wrapped_object)}', errorcode is " + f"'{type(self.wrapped_object).__qualname__}', errorcode is " f"{errorcode}", errorcode, ) diff --git a/src/amuse/support/options.py b/src/amuse/support/options.py index ee9762c89c..859517683c 100644 --- a/src/amuse/support/options.py +++ b/src/amuse/support/options.py @@ -27,16 +27,15 @@ def load(self, preloadfp=None): self.config.read(resourcerc) rootrc = os.path.join(self.amuse_rootdirectory, self.rcfilename) - datarc = os.path.join(self.amuse_data_location, self.rcfilename) - - homedirrc = os.path.join(self.homedirectory, "." + self.rcfilename) - self.config.read(rootrc) + + datarc = os.path.join(self.amuse_data_location, self.rcfilename) self.config.read(datarc) if preloadfp is not None: self.config.read_file(preloadfp, "") + homedirrc = os.path.join(self.homedirectory, '.' + self.rcfilename) self.config.read(homedirrc) self.config.read( os.path.join( @@ -56,19 +55,19 @@ def amuse_data_location(self): result = os.path.abspath( os.path.join(this, "..", "..", "..", "..", "..", "share", "amuse") ) - if os.path.exists(os.path.join(result, "config.mk")): + if os.path.isdir(result): return result # for some virtualenv setups result = os.path.abspath( os.path.join(this, "..", "..", "..", "..", "..", "..", "share", "amuse") ) - if os.path.exists(os.path.join(result, "config.mk")): + if os.path.isdir(result): return result # in-place - result = os.path.abspath(os.path.join(this, "..", "..", "..")) - if os.path.exists(os.path.join(result, "config.mk")): + result = self.amuse_rootdirectory + if os.path.isdir(result): return result raise exceptions.AmuseException( @@ -77,7 +76,8 @@ def amuse_data_location(self): @late def amuse_rootdirectory(self): - return os.path.dirname(os.path.dirname(__file__)) + this = os.path.dirname(__file__) + return os.path.abspath(os.path.join(this, "..", "..", "..")) @late def rcfilepath(self): diff --git a/src/amuse/test/amusetest.py b/src/amuse/support/testing/amusetest.py similarity index 99% rename from src/amuse/test/amusetest.py rename to src/amuse/support/testing/amusetest.py index 4f980cb6b8..5bf3cd2215 100644 --- a/src/amuse/test/amusetest.py +++ b/src/amuse/support/testing/amusetest.py @@ -302,7 +302,7 @@ class TestDefaults(_Defaults): @late def temporarydir(self): - dirname = tempfile.mkdtemp(dir="./") + dirname = tempfile.mkdtemp(prefix="amuse-tmp-") print(f"generating temporary dir for test results: {dirname}") return dirname diff --git a/src/amuse/test/compile_tools.py b/src/amuse/test/compile_tools.py deleted file mode 100644 index 216b5b04db..0000000000 --- a/src/amuse/test/compile_tools.py +++ /dev/null @@ -1,489 +0,0 @@ -import os -import subprocess -import time -import shlex -import numpy -import shutil - -from amuse.rfi.tools import create_java -from amuse.rfi.tools import create_c -from amuse.rfi.tools import create_fortran -from amuse.rfi.core import config -from amuse.test.amusetest import get_amuse_root_dir - - -def get_mpicc_name(): - try: - from amuse import config - is_configured = hasattr(config, 'mpi') - except ImportError: - is_configured = False - - if is_configured: - return config.mpi.mpicc - else: - return os.environ['MPICC'] if 'MPICC' in os.environ else 'mpicc' - - -def get_mpicxx_name(): - try: - from amuse import config - is_configured = hasattr(config, 'mpi') - except ImportError: - is_configured = False - - if is_configured: - return config.mpi.mpicxx - else: - return os.environ['MPICXX'] if 'MPICXX' in os.environ else 'mpicxx' - - -def get_mpicc_flags(): - try: - from amuse import config - is_configured = hasattr(config, 'compilers') - except ImportError: - is_configured = False - - if is_configured: - return config.compilers.cc_flags - else: - return "" - - -def get_mpicxx_flags(): - try: - from amuse import config - is_configured = hasattr(config, 'compilers') - except ImportError: - is_configured = False - - if is_configured: - return config.compilers.cxx_flags - else: - return "" - -def get_mpif90_name(): - try: - from amuse import config - is_configured = hasattr(config, 'mpi') - except ImportError: - is_configured = False - - if is_configured: - return config.mpi.mpif95 - else: - return os.environ['MPIFC'] if 'MPIFC' in os.environ else 'mpif90' - - -def get_mpif90_arguments(): - name = get_mpif90_name() - return list(shlex.split(name)) - - -def has_fortran_iso_c_binding(): - try: - from amuse import config - is_configured = hasattr(config, 'mpi') - except ImportError: - is_configured = False - - if is_configured: - return config.compilers.fc_iso_c_bindings - else: - return False - - -def get_ld_flags(): - try: - from amuse import config - is_configured = hasattr(config, 'compilers') - except ImportError: - is_configured = False - - if is_configured: - return config.compilers.ld_flags - else: - return "" - - -def wait_for_file(filename): - for dt in [0.01, 0.01, 0.02, 0.05]: - if os.path.exists(filename): - return - time.sleep(dt) - - -def open_subprocess(arguments, stdin=None): - process = subprocess.Popen( - arguments, - stdin=subprocess.PIPE, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - universal_newlines=True - ) - stdout, stderr = process.communicate(input=stdin) - return process, stdout, stderr - - -def c_compile(objectname, string, extra_args=[]): - if os.path.exists(objectname): - os.remove(objectname) - - mpicc = get_mpicc_name() - arguments = [mpicc] - arguments.extend(get_mpicc_flags().split()) - rootdir = get_amuse_root_dir() - arguments.extend(["-I", rootdir + "/lib/stopcond", "-x", "c", "-c"] - + extra_args + ["-o", objectname, "-"]) - - process, stderr, stdout = open_subprocess(arguments, stdin=string) - - if process.returncode == 0: - wait_for_file(objectname) - - if process.returncode != 0 or not os.path.exists(objectname): - raise Exception("Could not compile {0}\nstdout:\n{1}\nstderr:\n{2}\narguments:\n{3}".format(objectname, stdout, stderr, ' '.join(arguments))) - - -def cxx_compile(objectname, string, extra_args=[]): - if os.path.exists(objectname): - os.remove(objectname) - - mpicxx = get_mpicxx_name() - arguments = [mpicxx] - arguments.extend(get_mpicxx_flags().split()) - rootdir = get_amuse_root_dir() - arguments.extend(["-I", rootdir + "/lib/stopcond", "-x", "c++", "-c"] - + extra_args + ["-o", objectname, "-"]) - - process, stderr, stdout = open_subprocess(arguments, stdin=string) - - if process.returncode == 0: - wait_for_file(objectname) - - if process.returncode != 0 or not os.path.exists(objectname): - raise Exception("Could not compile {0}\nstdout:\n{1}\nstderr:\n{2}\narguments:\n{3}".format(objectname, stdout, stderr, ' '.join(arguments))) - - -def c_build(exename, objectnames, extra_args=[]): - if os.path.exists(exename): - os.remove(exename) - - mpicxx = get_mpicxx_name() - arguments = [mpicxx] - arguments.extend(objectnames) - arguments.append("-o") - arguments.append(exename) - - if 'LIBS' in os.environ: - libs = os.environ['LIBS'].split() - arguments.extend(libs) - - arguments.extend(get_ld_flags().split()) - - arguments.extend(extra_args) - - process, stderr, stdout = open_subprocess(arguments) - - if process.returncode == 0: - wait_for_file(exename) - - if process.returncode != 0 or not (os.path.exists(exename) - or os.path.exists(exename+'.exe')): - raise Exception("Could not build {0}\nstdout:\n{1}\nstderr:\n{2}\narguments:\n{3}".format(exename, stdout, stderr, ' '.join(arguments))) - - -def build_worker(codestring, path_to_results, specification_class, write_header=True, - extra_args=[], needs_mpi = False): - path = os.path.abspath(path_to_results) - codefile = os.path.join(path, "code.o") - headerfile = os.path.join(path, "worker_code.h") - interfacefile = os.path.join(path, "interface.o") - exefile = os.path.join(path, "c_worker") - - c_compile(codefile, codestring) - - uc = create_c.GenerateACHeaderStringFromASpecificationClass() - uc.specification_class = specification_class - uc.needs_mpi = needs_mpi - header = uc.result - - if write_header: - with open(headerfile, "w") as f: - f.write(header) - extra_args=extra_args+["-I",path] - - uc = create_c.GenerateACSourcecodeStringFromASpecificationClass() - uc.specification_class = specification_class - uc.needs_mpi = needs_mpi - code = uc.result - - cxx_compile(interfacefile, code if write_header else header+"\n\n"+code, - extra_args=extra_args) - c_build(exefile, [interfacefile, codefile], extra_args=extra_args) - - return exefile - - -def c_pythondev_compile(objectname, string): - root, ext = os.path.splitext(objectname) - sourcename = root + '.c' - amuse_root = get_amuse_root_dir() - if os.path.exists(objectname): - os.remove(objectname) - - with open(sourcename, "w") as f: - f.write(string) - - mpicc = get_mpicc_name() - arguments = [mpicc] - arguments.extend(get_mpicc_flags().split()) - arguments.extend(["-I",numpy.get_include()]) - - arguments.extend(["-I", amuse_root + "/lib/stopcond","-I", amuse_root + "/lib/amuse_mpi", "-fPIC", "-c", "-o", objectname, sourcename]) - arguments.extend(shlex.split(config.compilers.pythondev_cflags)) - - process, stderr, stdout = open_subprocess(arguments) - - if process.returncode == 0: - wait_for_file(objectname) - - if process.returncode != 0 or not os.path.exists(objectname): - raise Exception("Could not compile {0}\nstdout:\n{1}\nstderr:\n{2}\narguments:\n{3}".format(objectname, stdout, stderr, ' '.join(arguments))) - - -def c_pythondev_build(exename, objectnames): - if os.path.exists(exename): - os.remove(exename) - - mpicxx = get_mpicxx_name() - arguments = [mpicxx] - arguments.extend(objectnames) - arguments.extend(shlex.split(config.compilers.pythondev_ldflags)) - arguments.append("-o") - arguments.append(exename) - - if 'LIBS' in os.environ: - libs = os.environ['LIBS'].split() - arguments.extend(libs) - - arguments.extend(get_ld_flags().split()) - - process, stderr, stdout = open_subprocess(arguments) - - if process.returncode == 0: - wait_for_file(exename) - - if process.returncode != 0 or not (os.path.exists(exename) or os.path.exists(exename+'.exe')): - raise Exception("Could not build {0}\nstdout:\n{1}\nstderr:\n{2}\narguments:\n{3}".format(exename, stdout, stderr, ' '.join(arguments))) - - -def c_pythondev_buildso(soname, objectnames): - if os.path.exists(soname): - os.remove(soname) - amuse_root = get_amuse_root_dir() - - mpicxx = get_mpicxx_name() - arguments = [mpicxx] - arguments.extend(objectnames) - arguments.extend(shlex.split(config.compilers.pythondev_ldflags)) - arguments.append("-shared") - arguments.append("-o") - arguments.append(soname) - arguments.append("-L"+amuse_root+"/lib/amuse_mpi") - arguments.append("-lamuse_mpi") - - if 'LIBS' in os.environ: - libs = os.environ['LIBS'].split() - arguments.extend(libs) - - arguments.extend(get_ld_flags().split()) - - process, stderr, stdout = open_subprocess(arguments) - - if process.returncode == 0: - wait_for_file(soname) - - if process.returncode != 0 or not (os.path.exists(soname)): - raise Exception("Could not build {0}\nstdout:\n{1}\nstderr:\n{2}\narguments:\n{3}".format(soname, stdout, stderr, ' '.join(arguments))) - - -def fortran_pythondev_buildso(soname, objectnames): - if os.path.exists(soname): - os.remove(soname) - amuse_root = get_amuse_root_dir() - - arguments = get_mpif90_arguments() - arguments.extend(objectnames) - arguments.extend(shlex.split(config.compilers.pythondev_ldflags)) - arguments.append("-shared") - arguments.append("-o") - arguments.append(soname) - arguments.append("-L"+amuse_root+"/lib/amuse_mpi") - arguments.append("-lamuse_mpi") - - if 'LIBS' in os.environ: - libs = os.environ['LIBS'].split() - arguments.extend(libs) - - arguments.extend(get_ld_flags().split()) - - process, stderr, stdout = open_subprocess(arguments) - - if process.returncode == 0: - wait_for_file(soname) - - if process.returncode != 0 or not (os.path.exists(soname)): - raise Exception("Could not build {0}\nstdout:\n{1}\nstderr:\n{2}\narguments:\n{3}".format(soname, stdout, stderr, ' '.join(arguments))) - - -def fortran_compile(objectname, string, extra_args=[]): - if os.path.exists(objectname): - os.remove(objectname) - - root, ext = os.path.splitext(objectname) - sourcename = root + '.f90' - - with open(sourcename, "w") as f: - f.write(string) - - arguments = get_mpif90_arguments() - arguments.extend(["-g", - "-I{0}/lib/forsockets".format(get_amuse_root_dir())] - + extra_args + ["-c", "-o", objectname, sourcename]) - arguments.append("-Wall") - - process, stderr, stdout = open_subprocess(arguments) - process.wait() - - if process.returncode == 0: - wait_for_file(objectname) - - if process.returncode != 0 or not os.path.exists(objectname): - raise Exception("Could not compile {0}\nstdout:\n{1}\nstderr:\n{2}\narguments:\n{3}".format(objectname, stdout, stderr, ' '.join(arguments))) - - -def fortran_build(exename, objectnames, extra_args=[]): - if os.path.exists(exename): - os.remove(exename) - - arguments = get_mpif90_arguments() - arguments.extend(objectnames) - - arguments.append("-L{0}/lib/forsockets".format(get_amuse_root_dir())) - arguments.append("-Wall") - arguments.append("-lforsockets") - arguments.extend(extra_args) - - arguments.append("-o") - arguments.append(exename) - - arguments.extend(get_ld_flags().split()) - - process, stderr, stdout = open_subprocess(arguments) - - if process.returncode == 0: - wait_for_file(exename) - - if process.returncode != 0 or not os.path.exists(exename): - raise Exception("Could not build {0}\nstdout:\n{1}\nstderr:\n{2}\narguments:\n{3}".format(exename, stdout, stderr, ' '.join(arguments))) - -def build_java_worker(codestring, path_to_results, specification_class): - path = os.path.abspath(path_to_results) - exefile = os.path.join(path,"java_worker") - - #generate interface class - interfacefile = os.path.join(path,"CodeInterface.java") - - uc = create_java.GenerateAJavaInterfaceStringFromASpecificationClass() - uc.specification_class = specification_class - interface = uc.result - - with open(interfacefile, "w") as f: - f.write(interface) - - #generate worker class - workerfile = os.path.join(path,"Worker.java") - - uc = create_java.GenerateAJavaSourcecodeStringFromASpecificationClass() - uc.specification_class = specification_class - worker = uc.result - - with open(workerfile, "w") as f: - f.write(worker) - - #write code imlementation to a file - - codefile = os.path.join(path,"Code.java") - - with open(codefile, "w") as f: - f.write(codestring) - - #compile all code - - if not config.java.is_enabled: - raise Exception("java not enabled") - - javac = config.java.javac - if not os.path.exists(javac): - raise Exception("java compiler not available") - - jar = config.java.jar - - jarfile = 'worker.jar' - - tmpdir = os.path.join(path, "_tmp") - - shutil.rmtree(tmpdir, ignore_errors=True) - os.mkdir(tmpdir) - - returncode = subprocess.call( - [javac, "-d", tmpdir, "Worker.java", "CodeInterface.java", "Code.java"], - cwd = path, - ) - - if returncode != 0: - print("Could not compile worker") - -#make jar file - - returncode = subprocess.call( - [jar, '-cf', 'worker.jar', '-C', tmpdir, '.'], - cwd = path, - ) - - if returncode != 0: - print("Could not compile worker") - - #generate worker script - - uc = create_java.GenerateAJavaWorkerScript() - uc.specification_class = specification_class - uc.code_dir = path - worker_script = uc.result - - with open(exefile, "w") as f: - f.write(worker_script) - - os.chmod(exefile, 0o777) - - return exefile - -def build_fortran_worker(codestring, path_to_results, interface, needs_mpi = True, - extra_fflags=[], extra_ldflags=[]): - - path = os.path.abspath(path_to_results) - codefile = os.path.join(path,"code.o") - interfacefile = os.path.join(path,"interface.o") - exefile = os.path.join(path,"fortran_worker") - - fortran_compile(codefile, codestring, extra_args=extra_fflags) - - uc = create_fortran.GenerateAFortranSourcecodeStringFromASpecificationClass() - uc.specification_class = interface - uc.needs_mpi = needs_mpi - string = uc.result - fortran_compile(interfacefile, string, extra_args=extra_fflags) - fortran_build(exefile, [interfacefile, codefile], extra_args=extra_ldflags ) - return exefile diff --git a/src/amuse/test/suite/codes_tests/test_kepler.py b/src/amuse/test/suite/codes_tests/test_kepler.py deleted file mode 100644 index a188ef4a2c..0000000000 --- a/src/amuse/test/suite/codes_tests/test_kepler.py +++ /dev/null @@ -1,73 +0,0 @@ -import os -import sys -import time -from amuse.test.amusetest import TestWithMPI - -import numpy -import math -from amuse.units import nbody_system -from amuse.units import units, constants -from amuse import datamodel -from amuse.ic.plummer import new_plummer_model - - -from amuse.community.kepler_orbiters.interface import Kepler - - -class TestKeplerOrbiters(TestWithMPI): - - def test0(self): - instance = Kepler() - instance.stop() - - def new_system_of_sun_and_earth(self): - stars = datamodel.Stars(2) - sun = stars[0] - sun.mass = units.MSun(1.0) - sun.position = units.m(numpy.array((0.0, 0.0, 0.0))) - sun.velocity = units.ms(numpy.array((0.0, 0.0, 0.0))) - sun.radius = units.RSun(1.0) - - earth = stars[1] - earth.mass = units.kg(5.9736e24) - earth.radius = units.km(6371) - earth.position = units.km(numpy.array((149.5e6, 0.0, 0.0))) - earth.velocity = units.ms(numpy.array((0.0, 29800, 0.0))) - - return stars - - def test1(self): - convert_nbody = nbody_system.nbody_to_si(1.0 | units.MSun, 149.5e6 | units.km) - instance = Kepler(convert_nbody) # , redirection="none")#, debugger="xterm") - instance.initialize_code() - - stars = self.new_system_of_sun_and_earth() - earth = stars[1] - - instance.central_particle.add_particle(stars[0]) - earth = instance.orbiters.add_particle(stars[1]) - instance.commit_particles() - - instance.evolve_model(365 | units.day) - - instance.particles.copy_values_of_all_attributes_to(stars) - - position_at_start = earth.position.value_in(units.AU)[0] - position_after_full_rotation = earth.position.value_in(units.AU)[0] - self.assertAlmostEqual(position_at_start, position_after_full_rotation, 6) - - instance.evolve_model(365.0 + (365.0 / 2) | units.day) - - instance.particles.copy_values_of_all_attributes_to(stars) - position_after_half_a_rotation = earth.position.value_in(units.AU)[0] - self.assertAlmostEqual(-position_at_start, position_after_half_a_rotation, 3) - - instance.evolve_model(365.0 + (365.0 / 2) + (365.0 / 4) | units.day) - - instance.particles.copy_values_of_all_attributes_to(stars) - position_after_half_a_rotation = earth.position.value_in(units.AU)[1] - self.assertAlmostEqual(-position_at_start, position_after_half_a_rotation, 3) - - instance.cleanup_code() - - instance.stop() diff --git a/src/amuse/test/suite/compile_tests/test_c_implementation.py b/src/amuse/test/suite/compile_tests/test_c_implementation.py deleted file mode 100644 index aa9f7ea22f..0000000000 --- a/src/amuse/test/suite/compile_tests/test_c_implementation.py +++ /dev/null @@ -1,748 +0,0 @@ -from amuse.support.interface import InCodeComponentImplementation - -from amuse.test.amusetest import TestWithMPI -from amuse.test import compile_tools -from amuse.support import exceptions - -import os -import time -from amuse.units import nbody_system -from amuse.units import units -from amuse import datamodel -from amuse.rfi import channel -from amuse.rfi.core import * - -codestring = """ -#include -#include -#include - -int echo_int(int int_in, int * int_out) { - *int_out = int_in; - if(int_in < 0) { - return -1; - } else { - return 0; - } -} -int echo_long_long_int(long long int int_in, long long int * int_out) { - *int_out = int_in; - if(int_in < 0) { - return -1; - } else { - return 0; - } -} - -int echo_double(double in, double * out) { - *out = in; - return 0; -} - -int echo_float(float in, float * out) { - *out = in; - return 0; -} -int echo_string(char * in, char ** out) { - *out = in; - return 0; -} - -int echo_string_int(int inint, char * in, char ** out) { - *out = in; - return 0; -} - -int echo_string_two(char * in1, char * in2, char ** out1, char ** out2) { - *out1 = in1; - *out2 = in2; - return 0; -} - -int print_string(char * in) { - fprintf(stdout, "%s\\n", in); - return 0; -} - -int print_error_string(char * in) { - fprintf(stderr, "%s\\n", in); - return 0; -} - -int echo_strings(char ** inout1, char ** inout2) { - char * tmp; - tmp = *inout1; - *inout1 = *inout2; - *inout2 = tmp; - - return 0; -} - - -void echo_array(int * in, int * out, int len) { - int i = 0; - for(i = 0; i < len; i++) { - out[i] = in[i]; - } -} - -int echo_array_with_result(int * in, int *out, int len) { - int i = 0; - for(i = 0; i < len; i++) { - out[i] = in[i]; - } - return -1; -} - -int echo_2_int(int * int_in1, int * int_in2, int * int_out1, int * int_out2, int len) { - int i = 0; - for(i = 0; i < len; i++) { - int_out1[i] = int_in1[i]; - int_out2[i] = int_in2[i]; - } - - return len; -} -int echo_3_int(int * i, int * j, int * k, int * l, int * m, int * int_out, int len) { - int x = 0; - for(x = 0; x < len; x++) { - int_out[x] = i; - } - return len; -} - -int dummy_3_int(int i, int j, int k) { - return 0; -} - -int echo_inout_array_with_result(int * inout, int len) { - int i = 0; - for(i = 0; i < len; i++) { - inout[i] = inout[i] + 10; - } - return 11; -} - - -int echo_logical(bool in, bool * out) { - *out = in; - return 0; -} -/* -int echo_string_array(char ** in, char ** out, int len) { - int x = 0; - for(x = 0; x < len; x++) { - out[x] = in[x]; - } - return len; -} -*/ - - -int sum_doubles(double in1, double in2, double * out) { - *out = in1 + in2; - return 0; -} -""" - - -class ForTestingInterface(CodeInterface): - include_headers = ['worker_code.h'] - - def __init__(self, exefile, **options): - CodeInterface.__init__(self, exefile, **options) - - @legacy_function - def echo_int(): - function = LegacyFunctionSpecification() - function.addParameter('int_in', dtype='int32', direction=function.IN) - function.addParameter('int_out', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def echo_long_long_int(): - function = LegacyFunctionSpecification() - function.addParameter('in', dtype='int64', direction=function.IN) - function.addParameter('out', dtype='int64', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def echo_double(): - function = LegacyFunctionSpecification() - function.addParameter('double_in', dtype='float64', direction=function.IN) - function.addParameter('double_out', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def echo_float(): - function = LegacyFunctionSpecification() - function.addParameter('float_in', dtype='float32', direction=function.IN) - function.addParameter('float_out', dtype='float32', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def echo_string(): - function = LegacyFunctionSpecification() - function.addParameter('string_in', dtype='string', direction=function.IN) - function.addParameter('string_out', dtype='string', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def echo_strings(): - function = LegacyFunctionSpecification() - function.addParameter('string_inout1', dtype='string', direction=function.INOUT) - function.addParameter('string_inout2', dtype='string', direction=function.INOUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def echo_string_int(): - function = LegacyFunctionSpecification() - function.addParameter('inint', dtype='int32', direction=function.IN) - function.addParameter('in', dtype='string', direction=function.IN, default="echo") - function.addParameter('out', dtype='string', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def echo_string_two(): - function = LegacyFunctionSpecification() - function.addParameter('in1', dtype='string', direction=function.IN) - function.addParameter('in2', dtype='string', direction=function.IN, default="echo") - function.addParameter('out1', dtype='string', direction=function.OUT) - function.addParameter('out2', dtype='string', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def echo_array(): - function = LegacyFunctionSpecification() - function.addParameter('int_in', dtype='int32', direction=function.IN) - function.addParameter('int_out', dtype='int32', direction=function.OUT) - function.addParameter('len', dtype='int32', direction=function.LENGTH) - function.result_type = None - function.must_handle_array = True - return function - - @legacy_function - def echo_array_with_result(): - function = LegacyFunctionSpecification() - function.addParameter('int_in', dtype='int32', direction=function.IN) - function.addParameter('int_out', dtype='int32', direction=function.OUT) - function.addParameter('len', dtype='int32', direction=function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - - # @legacy_function - def return_string(): - function = LegacyFunctionSpecification() - function.addParameter('string_in', dtype='string', direction=function.IN) - function.result_type = 'string' - function.can_handle_array = True - return function - - @legacy_function - def echo_2_int(): - function = LegacyFunctionSpecification() - function.addParameter('int_in1', dtype='int32', direction=function.IN) - function.addParameter('int_in2', dtype='int32', direction=function.IN, default=1) - function.addParameter('int_out1', dtype='int32', direction=function.OUT) - function.addParameter('int_out2', dtype='int32', direction=function.OUT) - function.addParameter('len', dtype='int32', direction=function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - - @legacy_function - def echo_3_int(): - function = LegacyFunctionSpecification() - function.addParameter('i', dtype='int32', direction=function.IN) - function.addParameter('j', dtype='int32', direction=function.IN) - function.addParameter('k', dtype='int32', direction=function.IN) - function.addParameter('l', dtype='int32', direction=function.IN, default=0) - function.addParameter('m', dtype='int32', direction=function.IN, default=1) - function.addParameter('int_out', dtype='int32', direction=function.OUT) - function.addParameter('len', dtype='int32', direction=function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - - @legacy_function - def echo_inout_array_with_result(): - function = LegacyFunctionSpecification() - function.addParameter('in_out', dtype='int32', direction=function.INOUT) - function.addParameter('len', dtype='int32', direction=function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - - @legacy_function - def echo_logical(): - function = LegacyFunctionSpecification() - function.addParameter('input', dtype='bool', direction=function.IN) - function.addParameter('output', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def print_string(): - function = LegacyFunctionSpecification() - function.addParameter('string_in', dtype='string', direction=function.IN) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def dummy_3_int(): - function = LegacyFunctionSpecification() - function.addParameter('i', dtype='int32', direction=function.IN) - function.addParameter('j', dtype='int32', direction=function.IN) - function.addParameter('k', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def print_error_string(): - function = LegacyFunctionSpecification() - function.addParameter('string_in', dtype='string', direction=function.IN) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def sum_doubles(): - function = LegacyFunctionSpecification() - function.addParameter('double_in1', dtype='float64', direction=function.IN) - function.addParameter('double_in2', dtype='float64', direction=function.IN, default=1.0) - function.addParameter('double_out', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - -class ForTesting(InCodeComponentImplementation): - - def __init__(self, exefile, **options): - InCodeComponentImplementation.__init__(self, ForTestingInterface(exefile, **options), **options) - - def define_methods(self, object): - object.add_method( - 'echo_int', - (units.m,), - ( - units.m, - object.ERROR_CODE, - ) - ) - - -class TestCImplementationInterface(TestWithMPI): - - @classmethod - def setup_class(cls): - print("building...") - cls.check_can_compile_modules() - try: - cls.exefile = compile_tools.build_worker(codestring, cls.get_path_to_results(), ForTestingInterface) - except Exception as ex: - print(ex) - raise - print("done") - - def test1(self): - instance = ForTestingInterface(self.exefile) - int_out, error = instance.echo_int(10) - instance.stop() - self.assertEqual(int_out, 10) - self.assertEqual(error, 0) - - def test2(self): - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_double(4.0) - instance.stop() - self.assertEqual(out, 4.0) - self.assertEqual(error, 0) - - def test3(self): - instance = ForTestingInterface(self.exefile) - input = [1, 2, 3, 4] - output, errors = instance.echo_int(input) - instance.stop() - self.assertEqual(len(errors), 4) - for actual, expected in zip(output, input): - self.assertEqual(actual, expected) - - def test4(self): - instance = ForTestingInterface(self.exefile) - input = [1.0, 2.1, 3.3, 4.2] - output, errors = instance.echo_double(input) - instance.stop() - self.assertEqual(len(errors), 4) - for actual, expected in zip(output, input): - self.assertEqual(actual, expected) - - def test5(self): - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_float(4.0) - instance.stop() - self.assertEqual(out, 4.0) - self.assertEqual(error, 0) - - def test6(self): - - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_string("abc") - instance.stop() - self.assertEqual(error, 0) - self.assertEqual(out, "abc") - - def test7(self): - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_string(["abc", "def"]) - instance.stop() - - self.assertEqual(error[0], 0) - self.assertEqual(error[1], 0) - self.assertEqual(out[0], "abc") - self.assertEqual(out[1], "def") - - def test7b(self): - instance = ForTestingInterface(self.exefile) - - out, error = instance.echo_int(numpy.arange(2000000)) - - self.assertEqual(error, [0]*2000000) - self.assertEqual(out, numpy.arange(2000000)) - - instance.stop() - - def test7c(self): - instance = ForTestingInterface(self.exefile) - - out, error = instance.echo_string(["abc"]*10) - - self.assertEqual(error, [0]*10) - self.assertEqual(out, ["abc"]*10) - - instance.stop() - - def test7d(self): - instance = ForTestingInterface(self.exefile) - - out, error = instance.echo_string(["abc"]*100000) - - self.assertEqual(error, [0]*100000) - self.assertEqual(out, ["abc"]*100000) - - instance.stop() - - def test8(self): - instance = ForTestingInterface(self.exefile) - out1, out2, error = instance.echo_strings("abc", "def") - instance.stop() - - self.assertEqual(error, 0) - self.assertEqual(out1, "def") - self.assertEqual(out2, "abc") - - def test9(self): - instance = ForTestingInterface(self.exefile) - str1_out, str2_out, error = instance.echo_strings(["abc", "def"], ["ghi", "jkl"]) - instance.stop() - - self.assertEqual(error[0], 0) - self.assertEqual(error[1], 0) - self.assertEqual(str1_out[0], "ghi") - self.assertEqual(str1_out[1], "jkl") - self.assertEqual(str2_out[0], "abc") - self.assertEqual(str2_out[1], "def") - - def xtest10(self): - """test for ticket #74, 'running out of os file descriptors' - - - Note: this test takes a very long time, to enable it - remove the 'X' infront of the test name, to disable it - add an 'X'. - Also note: to test this, you best set the ulimit - to a low number (but not too low), for example - ulimit -n 400 - """ - for x in range(400): - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_float(4.0) - if x % 100 == 0: - print("x:", x) - instance.stop() - - def test11(self): - instance = ForTestingInterface(self.exefile) - (output_ints,) = instance.echo_array([4, 5, 6]) - instance.stop() - print(output_ints) - self.assertEqual(output_ints[0], 4) - self.assertEqual(output_ints[1], 5) - self.assertEqual(output_ints[2], 6) - - def test12(self): - instance = ForTestingInterface(self.exefile) - (output_ints, error) = instance.echo_array_with_result([4, 5, 6]) - instance.stop() - self.assertEqual(output_ints[0], 4) - self.assertEqual(output_ints[1], 5) - self.assertEqual(output_ints[2], 6) - - self.assertEqual(error[0], -1) - self.assertEqual(error[1], -1) - self.assertEqual(error[2], -1) - - def test13(self): - instance = ForTesting(self.exefile) - self.assertRaises(exceptions.AmuseException, instance.echo_int, [-1, -2] | units.m, - expected_message="Error when calling 'echo_int' of a '', errorcode is -1") - instance.stop() - - def test14(self): - instance = ForTesting(self.exefile) - self.assertRaises(exceptions.CodeException, lambda: instance.echo_int()) - old_id = instance.legacy_interface.echo_int.specification.id - instance.legacy_interface.echo_int.specification.id = -9 - self.assertRaises(exceptions.CodeException, lambda: instance.echo_int(1 | units.m)) - instance.legacy_interface.echo_int.specification.id = old_id - instance.echo_int(1 | units.m) - instance.stop() - - def test15(self): - instance = ForTesting(self.exefile) - output_ints1, output_ints2 = instance.echo_2_int([1, 2], [3, 4]) - output_ints3, output_ints4 = instance.echo_2_int([1, 2, 3]) - output_ints5, output_ints6 = instance.echo_2_int([5], [0]) - output_ints7, output_ints8 = instance.echo_2_int([5]) - instance.stop() - self.assertEqual(output_ints1[1], 2) - self.assertEqual(output_ints2[0], 3) - self.assertEqual(output_ints2[1], 4) - for i in range(3): - self.assertEqual(output_ints3[i], i + 1) - self.assertEqual(output_ints4[i], 1) - self.assertEqual(output_ints5[0], 5) - self.assertEqual(output_ints6[0], 0) - self.assertEqual(output_ints7[0], 5) - self.assertEqual(output_ints8[0], 1) - - def test16(self): - instance = ForTesting(self.exefile) - - self.assertRaises(exceptions.AmuseException, lambda: instance.echo_int([])) - instance.stop() - - def test17(self): - instance = ForTestingInterface(self.exefile) - (output_ints, error) = instance.echo_inout_array_with_result([4, 5, 6]) - instance.stop() - self.assertEqual(output_ints[0], 14) - self.assertEqual(output_ints[1], 15) - self.assertEqual(output_ints[2], 16) - - self.assertEqual(error[0], 11) - self.assertEqual(error[1], 11) - self.assertEqual(error[2], 11) - - def test18(self): - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_logical([True, False, True]) - instance.stop() - self.assertEqual(out, [True, False, True]) - self.assertEqual(error, 0) - - def test19(self): - instance = ForTestingInterface(self.exefile) - print(3935559000370003845) - int_out, error = instance.echo_long_long_int(3935559000370003845) - instance.stop() - self.assertEqual(int_out, 3935559000370003845) - self.assertEqual(error, 0) - - def xtest20(self): - - # - # TURNED OFF support for redirection, - # by default output is redirected to /dev/null - # if you need file, use the support from your mpi implementation - # - if os.path.exists("pout.000"): - os.remove("pout.000") - if os.path.exists("perr.000"): - os.remove("perr.000") - - x = ForTesting(self.exefile, redirect_stderr_file='perr', redirect_stdout_file='pout', redirection="file") - x.print_string("abc") - x.print_error_string("exex") - x.stop() - - time.sleep(0.2) - - self.assertTrue(os.path.exists("pout.000")) - with open("pout.000", "r") as f: - content = f.read() - self.assertEqual(content.strip(), "abc") - - self.assertTrue(os.path.exists("perr.000")) - with open("perr.000", "r") as f: - content = f.read() - self.assertEqual(content.strip(), "exex") - - x = ForTesting(self.exefile, redirect_stderr_file='pout', redirect_stdout_file='pout', redirection="file") - x.print_string("def") - x.print_error_string("exex") - x.stop() - - time.sleep(0.2) - - self.assertTrue(os.path.exists("pout.000")) - with open("pout.000", "r") as f: - content = f.read() - self.assertEqual(content.strip(), "abc\ndef\nexex") - - def test21(self): - instance = ForTestingInterface(self.exefile) - (output1, error1) = instance.internal__get_message_polling_interval() - error2 = instance.internal__set_message_polling_interval(1234) - (output2, error3) = instance.internal__get_message_polling_interval() - instance.internal__set_message_polling_interval(0) - instance.stop() - self.assertEqual(error1, 0) - self.assertEqual(output1, 0) - self.assertEqual(error2, 0) - self.assertEqual(error3, 0) - self.assertEqual(output2, 1234) - - def test22(self): - self.check_for_mpi() - instance = ForTestingInterface(self.exefile) - t0 = time.time() - (output1, error1) = instance.internal__get_message_polling_interval() - t1 = time.time() - error2 = instance.internal__set_message_polling_interval(500 * 1000) - t2 = time.time() - (output2, error3) = instance.internal__get_message_polling_interval() - t3 = time.time() - instance.stop() - self.assertEqual(error1, 0) - self.assertEqual(output1, 0) - self.assertEqual(error2, 0) - self.assertEqual(error3, 0) - self.assertEqual(output2, 500 * 1000) - # the following is not necessarily true since polling interval is the maximum wait time - # ~ self.assertTrue((t3 - t2) > 0.25) - - def test23(self): - - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_string_int(1) - instance.stop() - self.assertEqual(error, 0) - self.assertEqual(out, "echo") - - def test24(self): - - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_string_int(1, "abc") - instance.stop() - self.assertEqual(error, 0) - self.assertEqual(out, "abc") - - def test25(self): - - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_string_int([1, 2]) - instance.stop() - self.assertEqual(error, 0) - self.assertEqual(out[0], "echo") - self.assertEqual(out[1], "echo") - - def test26(self): - - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_string_int([1, 2], ["abc", "def"]) - instance.stop() - self.assertEqual(error, 0) - self.assertEqual(out[0], "abc") - self.assertEqual(out[1], "def") - - def test27(self): - - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_string_int([1, 2], "abc") - instance.stop() - self.assertEqual(error, 0) - self.assertEqual(out[0], "abc") - self.assertEqual(out[1], "abc") - - def test28(self): - instance = ForTestingInterface(self.exefile) - out1, out2, error = instance.echo_string_two(["one", "two"], "three") - instance.stop() - self.assertEqual(error, 0) - self.assertEqual(out1[0], "one") - self.assertEqual(out1[1], "two") - self.assertEqual(out2[0], "three") - self.assertEqual(out2[1], "three") - - def test29(self): - self.check_for_mpi() - instance1 = ForTestingInterface(self.exefile) - instance2 = ForTestingInterface(self.exefile) - portname, error = instance1.internal__open_port() - self.assertTrue(len(portname) > 0) - request1 = instance1.internal__accept_on_port.asynchronous(portname) - request2 = instance2.internal__connect_to_port.asynchronous(portname) - request1.wait() - request2.wait() - port_id1, error1 = request1.result() - port_id2, error2 = request2.result() - self.assertTrue(port_id1 >= 0) - self.assertTrue(port_id2 >= 0) - self.assertEqual(error1, 0) - self.assertEqual(error2, 0) - - def test30(self): - from amuse.support.interface import ConvertArgumentsException - instance = ForTesting(self.exefile) - self.assertRaises(ConvertArgumentsException, instance.dummy_3_int, 2, 3, i=1, expected_message="got multiple values for argument 'i' of method dummy_3_int") - instance.stop() - - def test31(self): - x = ForTesting(self.exefile, max_message_length=10) - N = 100 - doubles = x.echo_double([1.0*i for i in range(N)]) - self.assertTrue(list(doubles) == [1.0*i for i in range(N)]) - sums = x.sum_doubles([3.0*i for i in range(N)]) - print(sums) - self.assertTrue(list(sums) == [3.0*i + 1 for i in range(N)]) - N = 101 - doubles = x.echo_double([1.0*i for i in range(N)]) - self.assertTrue(list(doubles) == [1.0*i for i in range(N)]) - sums = x.sum_doubles([3.0*i for i in range(N)]) - self.assertTrue(list(sums) == [3.0*i + 1 for i in range(N)]) - x.stop() - - def test32(self): - for i in range(5): - instance = ForTestingInterface(self.exefile) - instance.stop() diff --git a/src/amuse/test/suite/compile_tests/test_c_implementation_simplified.py b/src/amuse/test/suite/compile_tests/test_c_implementation_simplified.py deleted file mode 100644 index ad009bdc3e..0000000000 --- a/src/amuse/test/suite/compile_tests/test_c_implementation_simplified.py +++ /dev/null @@ -1,608 +0,0 @@ -import unittest -import numpy -from amuse.support.interface import InCodeComponentImplementation - -from amuse.test.amusetest import TestWithMPI -from amuse.test import compile_tools -from amuse.support import exceptions - -import os -import time -from amuse.units import nbody_system -from amuse.units import units -from amuse import datamodel -from amuse.rfi.tools import create_c -from amuse.rfi import channel -from amuse.rfi.core import * -codestring = """ -#include -#include - -int echo_int(int int_in, int * int_out) { - *int_out = int_in; - if(int_in < 0) { - return -1; - } else { - return 0; - } -} -int echo_long_long_int(long long int int_in, long long int * int_out) { - *int_out = int_in; - if(int_in < 0) { - return -1; - } else { - return 0; - } -} - -int echo_double(double in, double * out) { - *out = in; - return 0; -} - -int echo_float(float in, float * out) { - *out = in; - return 0; -} -int echo_string(char * in, char ** out) { - *out = in; - return 0; -} - -int echo_string_int(int inint, char * in, char ** out) { - *out = in; - return 0; -} - -int echo_string_two(char * in1, char * in2, char ** out1, char ** out2) { - *out1 = in1; - *out2 = in2; - return 0; -} - -int print_string(char * in) { - fprintf(stdout, "%s\\n", in); - return 0; -} - -int print_error_string(char * in) { - fprintf(stderr, "%s\\n", in); - return 0; -} - -int echo_strings(char ** inout1, char ** inout2) { - char * tmp; - tmp = *inout1; - *inout1 = *inout2; - *inout2 = tmp; - - return 0; -} - - -void echo_array(int * in, int * out, int len) { - int i = 0; - for(i = 0; i < len; i++) { - out[i] = in[i]; - } -} - -int echo_array_with_result(int * in, int *out, int len) { - int i = 0; - for(i = 0; i < len; i++) { - out[i] = in[i]; - } - return -1; -} - -int echo_2_int(int * int_in1, int * int_in2, int * int_out1, int * int_out2, int len) { - int i = 0; - for(i = 0; i < len; i++) { - int_out1[i] = int_in1[i]; - int_out2[i] = int_in2[i]; - } - - return len; -} -int echo_3_int(int * i, int * j, int * k, int * l, int * m, int * int_out, int len) { - int x = 0; - for(x = 0; x < len; x++) { - int_out[x] = i; - } - return len; -} - -int dummy_3_int(int i, int j, int k) { - return 0; -} - -int echo_inout_array_with_result(int * inout, int len) { - int i = 0; - for(i = 0; i < len; i++) { - inout[i] = inout[i] + 10; - } - return 11; -} - - -int echo_logical(int in, int * out) { - *out = in; - return 0; -} -/* -int echo_string_array(char ** in, char ** out, int len) { - int x = 0; - for(x = 0; x < len; x++) { - out[x] = in[x]; - } - return len; -} -*/ -""" - - -class ForTestingInterface(CodeInterface): - - def __init__(self, exefile, **options): - CodeInterface.__init__(self, exefile, **options) - - @remote_function(can_handle_array=True) - def echo_int(int_in='int32'): - returns(int_out='int32') - - @remote_function(can_handle_array=True) - def echo_long_long_int(int_in='int64'): - returns(int_out='int64') - - @remote_function(can_handle_array=True) - def echo_double(double_in='float64'): - returns(double_out='float64') - - @remote_function(can_handle_array=True) - def echo_float(float_in='float32'): - returns(float_out='float32') - - @remote_function(can_handle_array=True) - def echo_string(string_in='string'): - returns(string_out='string') - - @remote_function(can_handle_array=True) - def echo_strings(string_inout1='string', string_inout2='string'): - returns(string_inout1='string', string_inout2='string') - - @remote_function(can_handle_array=True) - def echo_string_int(inint='int32', ins='echo'): - returns(out='string') - - @remote_function(can_handle_array=True) - def echo_string_two(in1='s', in2='echo'): - returns(out1='s', out2='s') - - @remote_function(must_handle_array=True) - def echo_array(len, int_in='int32'): - returns(int_out='int32', __result=None) - - @remote_function(must_handle_array=True) - def echo_array_with_result(len, int_in='int32'): - returns(int_out='int32') - - # ~ #@legacy_function - # ~ def return_string(): - # ~ function = LegacyFunctionSpecification() - # ~ function.addParameter('string_in', dtype='string', direction=function.IN) - # ~ function.result_type = 'string' - # ~ function.can_handle_array = True - # ~ return function - - @remote_function(must_handle_array=True) - def echo_2_int(N, int_in1='int32', int_in2=numpy.int32(1)): - returns(int_out1='int32', int_out2='int32') - - @remote_function(must_handle_array=True) - def echo_3_int(i='int32', j='int32', k='int32', l=numpy.int32(0), m=numpy.int32(1)): - returns(int_out='int32') - - @remote_function(must_handle_array=True) - def echo_inout_array_with_result(in_out='int32'): - returns(in_out='int32') - - @remote_function(can_handle_array=True) - def echo_logical(input='bool'): - returns(output='bool') - - @remote_function(can_handle_array=True) - def print_string(string_in='string'): - pass - - @remote_function - def dummy_3_int(i='i', j='i', k='i'): - pass - - @remote_function(can_handle_array=True) - def print_error_string(string_in='string'): - pass - - -class ForTesting(InCodeComponentImplementation): - - def __init__(self, exefile, **options): - InCodeComponentImplementation.__init__(self, ForTestingInterface(exefile, **options), **options) - - def define_methods(self, object): - object.add_method( - 'echo_int', - (units.m,), - ( - units.m, - object.ERROR_CODE, - ) - ) - - -class TestCImplementationInterface(TestWithMPI): - - @classmethod - def setup_class(cls): - print("building...") - cls.check_can_compile_modules() - try: - cls.exefile = compile_tools.build_worker(codestring, cls.get_path_to_results(), - ForTestingInterface, write_header=False) - except Exception as ex: - print(ex) - raise - print("done") - - def test1(self): - instance = ForTestingInterface(self.exefile) - int_out, error = instance.echo_int(10) - instance.stop() - self.assertEqual(int_out, 10) - self.assertEqual(error, 0) - - def test2(self): - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_double(4.0) - instance.stop() - self.assertEqual(out, 4.0) - self.assertEqual(error, 0) - - def test3(self): - instance = ForTestingInterface(self.exefile) - input = [1, 2, 3, 4] - output, errors = instance.echo_int(input) - instance.stop() - self.assertEqual(len(errors), 4) - for actual, expected in zip(output, input): - self.assertEqual(actual, expected) - - def test4(self): - instance = ForTestingInterface(self.exefile) - input = [1.0, 2.1, 3.3, 4.2] - output, errors = instance.echo_double(input) - instance.stop() - self.assertEqual(len(errors), 4) - for actual, expected in zip(output, input): - self.assertEqual(actual, expected) - - def test5(self): - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_float(4.0) - instance.stop() - self.assertEqual(out, 4.0) - self.assertEqual(error, 0) - - def test6(self): - - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_string("abc") - instance.stop() - self.assertEqual(error, 0) - self.assertEqual(out, "abc") - - def test7(self): - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_string(["abc", "def"]) - instance.stop() - - self.assertEqual(error[0], 0) - self.assertEqual(error[1], 0) - self.assertEqual(out[0], "abc") - self.assertEqual(out[1], "def") - - def test8(self): - instance = ForTestingInterface(self.exefile) - out1, out2, error = instance.echo_strings("abc", "def") - instance.stop() - - self.assertEqual(error, 0) - self.assertEqual(out1, "def") - self.assertEqual(out2, "abc") - - def test9(self): - instance = ForTestingInterface(self.exefile) - str1_out, str2_out, error = instance.echo_strings(["abc", "def"], ["ghi", "jkl"]) - instance.stop() - - self.assertEqual(error[0], 0) - self.assertEqual(error[1], 0) - self.assertEqual(str1_out[0], "ghi") - self.assertEqual(str1_out[1], "jkl") - self.assertEqual(str2_out[0], "abc") - self.assertEqual(str2_out[1], "def") - - def xtest10(self): - """test for ticket #74, 'running out of os file descriptors' - - - Note: this test takes a very long time, to enable it - remove the 'X' infront of the test name, to disable it - add an 'X'. - Also note: to test this, you best set the ulimit - to a low number (but not too low), for example - ulimit -n 400 - """ - for x in range(400): - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_float(4.0) - if x % 100 == 0: - print("x:", x) - instance.stop() - - def test11(self): - instance = ForTestingInterface(self.exefile) - (output_ints,) = instance.echo_array([4, 5, 6]) - instance.stop() - print(output_ints) - self.assertEqual(output_ints[0], 4) - self.assertEqual(output_ints[1], 5) - self.assertEqual(output_ints[2], 6) - - def test12(self): - instance = ForTestingInterface(self.exefile) - (output_ints, error) = instance.echo_array_with_result([4, 5, 6]) - instance.stop() - self.assertEqual(output_ints[0], 4) - self.assertEqual(output_ints[1], 5) - self.assertEqual(output_ints[2], 6) - - self.assertEqual(error[0], -1) - self.assertEqual(error[1], -1) - self.assertEqual(error[2], -1) - - def test13(self): - instance = ForTesting(self.exefile) - self.assertRaises(exceptions.AmuseException, instance.echo_int, [-1, -2] | units.m, - expected_message="Error when calling 'echo_int' of a 'ForTesting', errorcode is -1") - instance.stop() - - def test14(self): - instance = ForTesting(self.exefile) - self.assertRaises(exceptions.CodeException, lambda: instance.echo_int()) - old_id = instance.legacy_interface.echo_int.specification.id - instance.legacy_interface.echo_int.specification.id = -9 - self.assertRaises(exceptions.CodeException, lambda: instance.echo_int(1 | units.m)) - instance.legacy_interface.echo_int.specification.id = old_id - instance.echo_int(1 | units.m) - instance.stop() - - def test15(self): - instance = ForTesting(self.exefile) - output_ints1, output_ints2 = instance.echo_2_int([1, 2], [3, 4]) - output_ints3, output_ints4 = instance.echo_2_int([1, 2, 3]) - output_ints5, output_ints6 = instance.echo_2_int([5], [0]) - output_ints7, output_ints8 = instance.echo_2_int([5]) - instance.stop() - self.assertEqual(output_ints1[1], 2) - self.assertEqual(output_ints2[0], 3) - self.assertEqual(output_ints2[1], 4) - for i in range(3): - self.assertEqual(output_ints3[i], i + 1) - self.assertEqual(output_ints4[i], 1) - self.assertEqual(output_ints5[0], 5) - self.assertEqual(output_ints6[0], 0) - self.assertEqual(output_ints7[0], 5) - self.assertEqual(output_ints8[0], 1) - - def test16(self): - instance = ForTesting(self.exefile) - - self.assertRaises(exceptions.AmuseException, lambda: instance.echo_int([])) - instance.stop() - - def test17(self): - instance = ForTestingInterface(self.exefile) - (output_ints, error) = instance.echo_inout_array_with_result([4, 5, 6]) - instance.stop() - self.assertEqual(output_ints[0], 14) - self.assertEqual(output_ints[1], 15) - self.assertEqual(output_ints[2], 16) - - self.assertEqual(error[0], 11) - self.assertEqual(error[1], 11) - self.assertEqual(error[2], 11) - - def test18(self): - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_logical([True, False, True]) - instance.stop() - self.assertEqual(out, [True, False, True]) - self.assertEqual(error, 0) - - def test19(self): - instance = ForTestingInterface(self.exefile) - print(3935559000370003845) - int_out, error = instance.echo_long_long_int(3935559000370003845) - instance.stop() - self.assertEqual(int_out, 3935559000370003845) - self.assertEqual(error, 0) - - def xtest20(self): - - # - # TURNED OFF support for redirection, - # by default output is redirected to /dev/null - # if you need file, use the support from your mpi implementation - # - if os.path.exists("pout.000"): - os.remove("pout.000") - if os.path.exists("perr.000"): - os.remove("perr.000") - - x = ForTesting(self.exefile, redirect_stderr_file='perr', redirect_stdout_file='pout', redirection="file") - x.print_string("abc") - x.print_error_string("exex") - x.stop() - - time.sleep(0.2) - - self.assertTrue(os.path.exists("pout.000")) - with open("pout.000", "r") as f: - content = f.read() - self.assertEqual(content.strip(), "abc") - - self.assertTrue(os.path.exists("perr.000")) - with open("perr.000", "r") as f: - content = f.read() - self.assertEqual(content.strip(), "exex") - - x = ForTesting(self.exefile, redirect_stderr_file='pout', redirect_stdout_file='pout', redirection="file") - x.print_string("def") - x.print_error_string("exex") - x.stop() - - time.sleep(0.2) - - self.assertTrue(os.path.exists("pout.000")) - with open("pout.000", "r") as f: - content = f.read() - self.assertEqual(content.strip(), "abc\ndef\nexex") - - def test21(self): - instance = ForTestingInterface(self.exefile) - (output1, error1) = instance.internal__get_message_polling_interval() - error2 = instance.internal__set_message_polling_interval(1234) - (output2, error3) = instance.internal__get_message_polling_interval() - instance.internal__set_message_polling_interval(0) - instance.stop() - self.assertEqual(error1, 0) - self.assertEqual(output1, 0) - self.assertEqual(error2, 0) - self.assertEqual(error3, 0) - self.assertEqual(output2, 1234) - - def test22(self): - self.check_for_mpi() - instance = ForTestingInterface(self.exefile) - t0 = time.time() - (output1, error1) = instance.internal__get_message_polling_interval() - t1 = time.time() - error2 = instance.internal__set_message_polling_interval(500 * 1000) - t2 = time.time() - (output2, error3) = instance.internal__get_message_polling_interval() - t3 = time.time() - instance.stop() - self.assertEqual(error1, 0) - self.assertEqual(output1, 0) - self.assertEqual(error2, 0) - self.assertEqual(error3, 0) - self.assertEqual(output2, 500 * 1000) - # ~ print t1 - t0, t3 - t2 - # ~ self.assertTrue((t3 - t2) > 0.25) - - def test23(self): - - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_string_int(1) - instance.stop() - self.assertEqual(error, 0) - self.assertEqual(out, "echo") - - def test24(self): - - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_string_int(1, "abc") - instance.stop() - self.assertEqual(error, 0) - self.assertEqual(out, "abc") - - def test25(self): - - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_string_int([1, 2]) - instance.stop() - self.assertEqual(error, 0) - self.assertEqual(out[0], "echo") - self.assertEqual(out[1], "echo") - - def test26(self): - - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_string_int([1, 2], ["abc", "def"]) - instance.stop() - self.assertEqual(error, 0) - self.assertEqual(out[0], "abc") - self.assertEqual(out[1], "def") - - def test27(self): - - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_string_int([1, 2], "abc") - instance.stop() - self.assertEqual(error, 0) - self.assertEqual(out[0], "abc") - self.assertEqual(out[1], "abc") - - def test28(self): - instance = ForTestingInterface(self.exefile) - out1, out2, error = instance.echo_string_two(["one", "two"], "three") - instance.stop() - self.assertEqual(error, 0) - self.assertEqual(out1[0], "one") - self.assertEqual(out1[1], "two") - self.assertEqual(out2[0], "three") - self.assertEqual(out2[1], "three") - - def test29(self): - self.check_for_mpi() - instance1 = ForTestingInterface(self.exefile) - instance2 = ForTestingInterface(self.exefile) - portname, error = instance1.internal__open_port() - self.assertTrue(len(portname) > 0) - request1 = instance1.internal__accept_on_port.asynchronous(portname) - request2 = instance2.internal__connect_to_port.asynchronous(portname) - request1.wait() - request2.wait() - port_id1, error1 = request1.result() - port_id2, error2 = request2.result() - self.assertTrue(port_id1 >= 0) - self.assertTrue(port_id2 >= 0) - self.assertEqual(error1, 0) - self.assertEqual(error2, 0) - - def test30(self): - from amuse.support.interface import ConvertArgumentsException - instance = ForTesting(self.exefile) - self.assertRaises(ConvertArgumentsException, instance.dummy_3_int, 2, 3, i=1, expected_message="got multiple values for argument 'i' of method dummy_3_int") - instance.stop() - - @unittest.skip - def test31(self): - import time - instance = ForTestingInterface(self.exefile) - N = 5000 - t1 = time.time() - for i in range(N): - res, err = instance.echo_int([i]) - t2 = time.time() - print("1 time:", t2-t1, (t2-t1)/N) - instance.stop() - - instance = ForTesting(self.exefile) - N = 5000 - t1 = time.time() - for i in range(N): - res = instance.echo_int([i] | units.m) - t2 = time.time() - print("2 time:", t2-t1, (t2-t1)/N) - instance.stop() diff --git a/src/amuse/test/suite/compile_tests/test_fortran_implementation.py b/src/amuse/test/suite/compile_tests/test_fortran_implementation.py deleted file mode 100644 index bfab72593b..0000000000 --- a/src/amuse/test/suite/compile_tests/test_fortran_implementation.py +++ /dev/null @@ -1,679 +0,0 @@ -import unittest -from amuse.support.interface import InCodeComponentImplementation - - -from amuse.test.amusetest import TestWithMPI -from amuse.test import compile_tools -import os -import time -import shlex - -from amuse.units import nbody_system -from amuse.units import units -from amuse import datamodel -from amuse.rfi import channel -from amuse.rfi.core import * - -codestring = """ - -function echo_int(int_in, int_out) - implicit none - integer :: int_in, int_out - integer :: echo_int - - int_out = int_in - - echo_int = 0 -end function - -function echo_double(double_in, double_out) - implicit none - DOUBLE PRECISION :: double_in, double_out - integer :: echo_double - - double_out = double_in - - echo_double = 0 -end function - -function echo_float(float_in, float_out) - implicit none - REAL(kind=4) :: float_in, float_out - integer :: echo_float - - float_out = float_in - - echo_float = 0 -end function - -function echo_string(string_in, string_out) - implicit none - character(len=*) :: string_in, string_out - integer :: echo_string - - string_out = string_in - - echo_string = 0 -end function - -function echo_strings(string_inout1, string_inout2) - implicit none - character(len=*) :: string_inout1, string_inout2 - integer :: echo_strings - - string_inout1(1:1) = 'A' - string_inout2(1:1) = 'B' - - - echo_strings = 0 -end function - - -function return_string(string_in) - implicit none - character(len=*) :: string_in, return_string - - return_string = string_in -end function - - -function hello_string(string_out) - implicit none - character(len=*) :: string_out - integer :: hello_string - - string_out = 'hello' - - hello_string = 0 -end function - -function print_string(string_in) - implicit none - character(len=*) :: string_in - integer :: print_string - - write (*,*) string_in - - print_string = 0 -end function - -function print_error_string(string_in) - implicit none - character(len=*) :: string_in - integer :: print_error_string - - write (0,*) string_in - - print_error_string = 0 -end function - -function echo_string_fixed_len(string_in, string_out) - implicit none - character(len=30) :: string_in, string_out - integer :: echo_string_fixed_len - - string_out = string_in - - echo_string_fixed_len = 0 -end function - -function echo_array_with_result(int_in, int_out, N) - implicit none - integer, intent(in) :: N - integer :: int_in(N), int_out(N) - integer :: echo_array_with_result, i - - do i = 1, N - int_out(i) = int_in(i) - end do - - echo_array_with_result = -1 -end function - - - -function echo_inout_array_with_result(inout, N) - implicit none - integer, intent(in) :: N - integer :: inout(N) - integer :: echo_inout_array_with_result, i - - do i = 1, N - inout(i) = inout(i) + 10 - end do - - echo_inout_array_with_result = 11; -end function - - -function echo_logical(input, output) - implicit none - logical :: input, output - integer :: echo_logical - - output = input - print *, "INPUT=", input - - echo_logical = 0 -end function - -function echo_logical2(input, output, n) - implicit none - logical :: input(n), output(n) - integer :: echo_logical2, n,i - - output(1:n)=.FALSE. - do i=1,n - if(input(i)) then - output(i) = .TRUE. - endif - enddo - - echo_logical2 = 0 -end function - - -function get_element_status(ind,x) result(ret) - integer :: ind,ret - character(len=*) :: x - x="dry" - ret=0 -end function -""" - - -class ForTestingInterface(CodeInterface): - - def __init__(self, exefile, **options): - CodeInterface.__init__(self, exefile, **options) - - # use_modules=['code'] - - @legacy_function - def echo_int(): - function = LegacyFunctionSpecification() - function.addParameter('int_in', dtype='int32', direction=function.IN, unit=units.m) - function.addParameter('int_out', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def echo_double(): - function = LegacyFunctionSpecification() - function.addParameter('double_in', dtype='float64', direction=function.IN) - function.addParameter('double_out', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def echo_float(): - function = LegacyFunctionSpecification() - function.addParameter('float_in', dtype='float32', direction=function.IN) - function.addParameter('float_out', dtype='float32', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def echo_string(): - function = LegacyFunctionSpecification() - function.addParameter('string_in', dtype='string', direction=function.IN) - function.addParameter('string_out', dtype='string', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def echo_strings(): - function = LegacyFunctionSpecification() - function.addParameter('string_inout1', dtype='string', direction=function.INOUT) - function.addParameter('string_inout2', dtype='string', direction=function.INOUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def return_string(): - function = LegacyFunctionSpecification() - function.addParameter('string_in', dtype='string', direction=function.IN) - function.result_type = 'string' - function.can_handle_array = True - return function - - @legacy_function - def hello_string(): - function = LegacyFunctionSpecification() - function.addParameter('string_out', dtype='string', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def echo_string_fixed_len(): - function = LegacyFunctionSpecification() - function.addParameter('string_in', dtype='string', direction=function.IN) - function.addParameter('string_out', dtype='string', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def echo_array_with_result(): - function = LegacyFunctionSpecification() - function.addParameter('int_in', dtype='int32', direction=function.IN) - function.addParameter('int_out', dtype='int32', direction=function.OUT) - function.addParameter('len', dtype='int32', direction=function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - - @legacy_function - def echo_inout_array_with_result(): - function = LegacyFunctionSpecification() - function.addParameter('in_out', dtype='int32', direction=function.INOUT) - function.addParameter('len', dtype='int32', direction=function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - - @legacy_function - def echo_logical(): - function = LegacyFunctionSpecification() - function.addParameter('input', dtype='bool', direction=function.IN) - function.addParameter('output', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def echo_logical2(): - function = LegacyFunctionSpecification() - function.addParameter('input', dtype='bool', direction=function.IN) - function.addParameter('output', dtype='bool', direction=function.OUT) - function.addParameter('n', dtype='int32', direction=function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - - @legacy_function - def print_string(): - function = LegacyFunctionSpecification() - function.addParameter('string_in', dtype='string', direction=function.IN) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def print_error_string(): - function = LegacyFunctionSpecification() - function.addParameter('string_in', dtype='string', direction=function.IN) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def get_element_status(): - function = LegacyFunctionSpecification() - function.addParameter('index', dtype='i', direction=function.IN) - function.addParameter('status', dtype='string', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - -class ForTesting(InCodeComponentImplementation): - - def __init__(self, exefile, **options): - InCodeComponentImplementation.__init__(self, ForTestingInterface(exefile, **options), **options) - - """ - def define_methods(self, object): - object.add_method( - 'echo_int', - (units.m,) - , - ( - units.m, - object.ERROR_CODE, - ) - ) - """ - - -class TestInterface(TestWithMPI): - - @classmethod - def skip_if_fortran_does_not_support_mpi(cls): - try: - from amuse import config - is_configured = hasattr(config, 'compilers') and hasattr(config.compilers, 'fc_iso_c_bindings') - except ImportError: - is_configured = False - - if is_configured and config.compilers.fc_iso_c_bindings: - return - else: - cls.skip("cannot run test as fortran does not support iso c bindings") - - @classmethod - def setup_class(cls): - print("building") - cls.check_can_compile_modules() - cls.exefile = compile_tools.build_fortran_worker(codestring, cls.get_path_to_results(), ForTestingInterface) - print("done") - - def test1(self): - instance = ForTestingInterface(self.exefile) - int_out, error = instance.echo_int(10) - del instance - self.assertEqual(int_out, 10) - self.assertEqual(error, 0) - - def test2(self): - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_double(4.0) - del instance - self.assertEqual(out, 4.0) - self.assertEqual(error, 0) - - def test3(self): - instance = ForTestingInterface(self.exefile) - input = [1, 2, 3, 4] - output, errors = instance.echo_int(input) - del instance - self.assertEqual(len(errors), 4) - for actual, expected in zip(output, input): - self.assertEqual(actual, expected) - - def test4(self): - instance = ForTestingInterface(self.exefile) - input = [1.0, 2.1, 3.3, 4.2] - output, errors = instance.echo_double(input) - del instance - self.assertEqual(len(errors), 4) - for actual, expected in zip(output, input): - self.assertEqual(actual, expected) - - def test5(self): - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_float(4.0) - del instance - self.assertEqual(out, 4.0) - self.assertEqual(error, 0) - - def test6(self): - - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_string("abc") - del instance - self.assertEqual(error, 0) - self.assertEqual(out, "abc") - - def test7(self): - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_string(["abc", "def"]) - del instance - - self.assertEqual(error[0], 0) - self.assertEqual(error[1], 0) - self.assertEqual(out[0], "abc") - self.assertEqual(out[1], "def") - - def test8(self): - instance = ForTestingInterface(self.exefile) - out1, out2, error = instance.echo_strings("abc", "def") - del instance - - self.assertEqual(error, 0) - self.assertEqual(out1, "Abc") - self.assertEqual(out2, "Bef") - - def test9(self): - instance = ForTestingInterface(self.exefile) - str1_out, str2_out, error = instance.echo_strings(["abc", "def"], ["ghi", "jkl"]) - del instance - - self.assertEqual(error[0], 0) - self.assertEqual(error[1], 0) - self.assertEqual(str1_out[0], "Abc") - self.assertEqual(str1_out[1], "Aef") - self.assertEqual(str2_out[0], "Bhi") - self.assertEqual(str2_out[1], "Bkl") - - def test10(self): - instance = ForTestingInterface(self.exefile) - out = instance.return_string("abc") - del instance - - self.assertEqual(out, "abc") - - def test11(self): - instance = ForTestingInterface(self.exefile) - out, error = instance.hello_string() - del instance - - self.assertEqual(out, "hello") - - def test12(self): - - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_string_fixed_len("abc") - del instance - self.assertEqual(error, 0) - self.assertEqual(out, "abc") - - def test13(self): - instance = ForTestingInterface(self.exefile, debugger="none") - (output_ints, error) = instance.echo_array_with_result([4, 5, 6]) - instance.stop() - print(output_ints, error) - self.assertEqual(output_ints[0], 4) - self.assertEqual(output_ints[1], 5) - self.assertEqual(output_ints[2], 6) - - self.assertEqual(error[0], -1) - self.assertEqual(error[1], -1) - self.assertEqual(error[2], -1) - - def test14(self): - - for x in range(4): - instance = ForTestingInterface(self.exefile) - int_out, error = instance.echo_int(10) - instance.stop() - self.assertEqual(int_out, 10) - self.assertEqual(error, 0) - - def test15(self): - instance = ForTestingInterface(self.exefile) - (output_ints, error) = instance.echo_inout_array_with_result([4, 5, 6]) - instance.stop() - self.assertEqual(output_ints[0], 14) - self.assertEqual(output_ints[1], 15) - self.assertEqual(output_ints[2], 16) - - self.assertEqual(error[0], 11) - self.assertEqual(error[1], 11) - self.assertEqual(error[2], 11) - - def test16(self): - instance = ForTestingInterface(self.exefile) - (output1, error1) = instance.echo_logical(True) - (output2, error2) = instance.echo_logical(False) - instance.stop() - self.assertEqual(error1, 0) - self.assertEqual(error2, 0) - self.assertTrue(output1) - self.assertFalse(output2) - - def test16b(self): - instance = ForTesting(self.exefile) - output = instance.echo_logical([True, True, False, True, False]*256) - self.assertEqual(output, [True, True, False, True, False]*256) - - def test16c(self): - instance = ForTesting(self.exefile, redirection="none") - output = instance.echo_logical2([True, True, False, True, False]*1024) - self.assertEqual(output, [True, True, False, True, False]*1024) - - def xtest20(self): - # - # TURNED OFF support for redirection, - # by default output is redirected to /dev/null - # if you need file, use the support from your mpi implementation - # - if os.path.exists("pout.000"): - os.remove("pout.000") - if os.path.exists("perr.000"): - os.remove("perr.000") - - x = ForTestingInterface(self.exefile, redirect_stderr_file='perr', redirect_stdout_file='pout', redirection="file") - x.print_string("abc") - x.print_error_string("exex") - x.stop() - - time.sleep(0.2) - - self.assertTrue(os.path.exists("pout.000")) - with open("pout.000", "r") as f: - content = f.read() - self.assertEqual(content.strip(), "abc") - - self.assertTrue(os.path.exists("perr.000")) - with open("perr.000", "r") as f: - content = f.read() - self.assertEqual(content.strip(), "exex") - - x = ForTestingInterface(self.exefile, redirect_stderr_file='perr', redirect_stdout_file='pout', redirection="file") - x.print_string("def") - x.print_error_string("exex") - x.stop() - - time.sleep(0.2) - - self.assertTrue(os.path.exists("pout.000")) - with open("pout.000", "r") as f: - content = f.read() - self.assertEqual(content.strip(), "abc\n def") - - self.assertTrue(os.path.exists("perr.000")) - with open("perr.000", "r") as f: - content = f.read() - self.assertEqual(content.strip(), "exex\n exex") - - def test17(self): - self.check_for_mpi() - instance = ForTestingInterface(self.exefile) - (output1, error1) = instance.internal__get_message_polling_interval() - error2 = instance.internal__set_message_polling_interval(1234) - (output2, error3) = instance.internal__get_message_polling_interval() - instance.stop() - self.assertEqual(error1, 0) - self.assertEqual(output1, 0) - self.assertEqual(error2, 0) - self.assertEqual(error3, 0) - self.assertEqual(output2, 1234) - - def test18(self): - self.check_for_mpi() - self.skip_if_fortran_does_not_support_mpi() - - instance = ForTestingInterface(self.exefile) - t0 = time.time() - (output1, error1) = instance.internal__get_message_polling_interval() - t1 = time.time() - error2 = instance.internal__set_message_polling_interval(500 * 1000) - t2 = time.time() - (output2, error3) = instance.internal__get_message_polling_interval() - time.sleep(0.1) - (output2, error3) = instance.internal__get_message_polling_interval() - t3 = time.time() - instance.stop() - self.assertEqual(error1, 0) - self.assertEqual(output1, 0) - self.assertEqual(error2, 0) - self.assertEqual(error3, 0) - self.assertEqual(output2, 500 * 1000) - # ~ print t1 - t0, t3 - t2 - # ~ self.assertTrue((t3 - t2) > 0.25) - - def test19(self): - self.check_for_mpi() - instance1 = ForTestingInterface(self.exefile) - instance2 = ForTestingInterface(self.exefile) - portname, error = instance1.internal__open_port() - self.assertTrue(len(portname) > 0) - request1 = instance1.internal__accept_on_port.asynchronous(portname) - request2 = instance2.internal__connect_to_port.asynchronous(portname) - request1.wait() - request2.wait() - port_id1, error1 = request1.result() - port_id2, error2 = request2.result() - self.assertTrue(port_id1 >= 0) - self.assertTrue(port_id2 >= 0) - self.assertEqual(error1, 0) - self.assertEqual(error2, 0) - - @unittest.skip - def test31(self): - import time - instance = ForTestingInterface(self.exefile) - N = 5000 - t1 = time.time() - for i in range(N): - res, err = instance.echo_int([i]) - t2 = time.time() - print("1 time:", t2-t1, (t2-t1)/N) - instance.stop() - - instance = ForTesting(self.exefile) - N = 5000 - t1 = time.time() - for i in range(N): - res = instance.echo_int([i] | units.m) - t2 = time.time() - print("2 time:", t2-t1, (t2-t1)/N) - instance.stop() - - def test32(self): - instance = ForTestingInterface(self.exefile) - out, error = instance.get_element_status(numpy.arange(10)) - del instance - - self.assertEqual(out, ["dry"]*10) - - def test33(self): - instance = ForTestingInterface(self.exefile) - out, error = instance.get_element_status(numpy.arange(100)) - del instance - - self.assertEqual(out, ["dry"]*100) - - def test34(self): - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_string(["abc"]*14) - del instance - - self.assertEqual(out, ["abc"]*14) - self.assertEqual(error, [0]*14) - - def test35(self): - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_string(["abc", "def"]*100000) - del instance - - self.assertEqual(error[0], 0) - self.assertEqual(error[1], 0) - self.assertEqual(out[-2], "abc") - self.assertEqual(out[-1], "def") - - def test36(self): - instance = ForTestingInterface(self.exefile) - N = 255 - out, error = instance.echo_string("a"*N) - del instance - - self.assertEqual(error, 0) - self.assertEqual(out, "a"*N) diff --git a/src/amuse/test/suite/compile_tests/test_grid_implementation.py b/src/amuse/test/suite/compile_tests/test_grid_implementation.py deleted file mode 100644 index 49f474f73b..0000000000 --- a/src/amuse/test/suite/compile_tests/test_grid_implementation.py +++ /dev/null @@ -1,131 +0,0 @@ -from amuse.support.interface import InCodeComponentImplementation - -from amuse.test.amusetest import TestWithMPI -from amuse.test import compile_tools -from amuse.support import exceptions - -import subprocess -import os -import time -from amuse.units import nbody_system -from amuse.units import units -from amuse import datamodel -from amuse.rfi.tools import create_c -from amuse.rfi import channel -from amuse.rfi.core import * -codestring = """ -#include -#include - -double grid0; -double grid1[10]; -double grid2[10][10]; - -int set0(double in) { - grid0=in; - return 0; -} -int get0(double *out) { - *out=grid0; - return 0; -} -int get_grid0_range() { - return 0; -} - -""" - - -class ForTestingInterface(CodeInterface): - include_headers = ['worker_code.h'] - - def __init__(self, exefile, **options): - CodeInterface.__init__(self, exefile, **options) - - @remote_function - def set0(a=0. | units.m): - returns() - - @remote_function - def get0(): - returns(a=0. | units.m) - - @remote_function - def get_grid0_range(): - returns() - - -class ForTesting(InCodeComponentImplementation): - - def __init__(self, exefile, **options): - InCodeComponentImplementation.__init__(self, ForTestingInterface(exefile, **options), **options) - - def define_grids(self, object): - object.define_grid('grid0', grid_class=datamodel.RectilinearGrid, state_guard="before_new_set_instance") - object.set_grid_range('grid0', 'get_grid0_range') - object.add_getter('grid0', 'get0', names=['a']) - object.add_setter('grid0', 'set0', names=['a']) - - -class TestCImplementationInterface(TestWithMPI): - - def build_worker(self): - - path = os.path.abspath(self.get_path_to_results()) - codefile = os.path.join(path, "code.o") - headerfile = os.path.join(path, "worker_code.h") - interfacefile = os.path.join(path, "interface.o") - self.exefile = os.path.join(path, "c_worker") - - compile_tools.c_compile(codefile, codestring) - - uc = create_c.GenerateACHeaderStringFromASpecificationClass() - uc.specification_class = ForTestingInterface - uc.needs_mpi = False - header = uc.result - - with open(headerfile, "w") as f: - f.write(header) - - uc = create_c.GenerateACSourcecodeStringFromASpecificationClass() - uc.specification_class = ForTestingInterface - uc.needs_mpi = False - code = uc.result - - compile_tools.cxx_compile(interfacefile, code, extra_args=['-I', path]) - compile_tools.c_build(self.exefile, [interfacefile, codefile]) - - def setUp(self): - super(TestCImplementationInterface, self).setUp() - print("building...", end=' ') - self.check_can_compile_modules() - try: - self.build_worker() - except Exception as ex: - print(ex) - raise - print("done") - - def test1(self): - instance = ForTestingInterface(self.exefile) - error = instance.set0(1) - a_out, error = instance.get0() - instance.stop() - self.assertEqual(a_out, 1) - self.assertEqual(error, 0) - - def test2(self): - instance = ForTesting(self.exefile) - print(instance.grid0) - instance.grid0.a = 12. | units.m - self.assertEqual(instance.grid0.a, 12. | units.m) - instance.stop() - - def test3(self): - instance1 = ForTesting(self.exefile) - instance2 = ForTesting(self.exefile) - instance1.grid0.a = 12. | units.m - instance1.grid0.new_channel_to(instance2.grid0).copy_all_attributes() - self.assertEqual(instance2.grid0.a, 12. | units.m) - instance1.stop() - instance2.stop() diff --git a/src/amuse/test/suite/compile_tests/test_java_implementation.py b/src/amuse/test/suite/compile_tests/test_java_implementation.py deleted file mode 100644 index ef2585f832..0000000000 --- a/src/amuse/test/suite/compile_tests/test_java_implementation.py +++ /dev/null @@ -1,619 +0,0 @@ -from amuse.support.interface import InCodeComponentImplementation - -from amuse.test.amusetest import TestWithMPI -from amuse.test import compile_tools -from amuse.support import exceptions - -import subprocess -import os -import time -import shutil -from amuse.units import nbody_system -from amuse.units import units -from amuse import datamodel -from amuse import config -from amuse.rfi.tools import create_java -from amuse.rfi import channel -from amuse.rfi.core import * -codestring = """ -public class Code implements CodeInterface { - - public Code(String codeDir, String amuseRootDir) { - } - - public void end() { - //IGNORE - } - - // parameter "int_in" is an input parameter - // parameter "int_out" is an output parameter - // parameter "len" is a length parameter - public int echo_array_with_result(int[] int_in, int[] int_out, int len) { - for(int i = 0; i < len; i++) { - int_out[i] = int_in[i]; - } - return -1; - } - - - // parameter "string_in" is an input parameter - public int print_error_string(String[] string_in) { - for(int i = 0; i < string_in.length; i++) { - System.err.println(string_in[i]); - } - return 0; - } - - - // parameter "string_inout1" is an inout parameter - // parameter "string_inout2" is an inout parameter - public int echo_strings(String[] string_inout1, String[] string_inout2) { - for(int i = 0; i < string_inout1.length; i++) { - String tmp = string_inout1[i]; - string_inout1[i] = string_inout2[i]; - string_inout2[i] = tmp; - } - return 0; - } - - - // parameter "double_in" is an input parameter - // parameter "double_out" is an output parameter - public int echo_double(double[] double_in, double[] double_out) { - for(int i = 0; i < double_in.length; i++) { - double_out[i] = double_in[i]; - } - return 0; - } - - - // parameter "float_in" is an input parameter - // parameter "float_out" is an output parameter - public int echo_float(float[] float_in, float[] float_out) { - for(int i = 0; i < float_in.length; i++) { - float_out[i] = float_in[i]; - } - return 0; - } - - - // parameter "int_in" is an input parameter - // parameter "int_out" is an output parameter - public int echo_int(int int_in, int[] int_out) { - int_out[0] = int_in; - if (int_in < 0) { - return -1; - } else { - return 0; - } - } - - // parameter "int_in" is an input parameter - // parameter "int_out" is an output parameter - public int echo_int_array(int[] int_in, int[] int_out) { - for(int i = 0; i < int_in.length; i++) { - int_out[i] = int_in[i]; - } - return 0; - } - - - // parameter "in_out" is an inout parameter - // parameter "len" is a length parameter - public int echo_inout_array_with_result(int[] in_out, int len) { - for(int i = 0; i < len; i++) { - in_out[i] = in_out[i] + 10; - } - return 11; - } - - - // parameter "int_in" is an input parameter - // parameter "int_out" is an output parameter - // parameter "len" is a length parameter - public void echo_array(int[] int_in, int[] int_out, int len) { - for(int i = 0; i < len; i++) { - int_out[i] = int_in[i]; - } - } - - - // parameter "in" is an input parameter - // parameter "out" is an output parameter - public int echo_long_long_int(long[] in, long[] out) { - for(int i = 0; i < in.length; i++) { - out[i] = in[i]; - } - if (in[0] < 0) { - return -1; - } else { - return 0; - } - } - - - // parameter "string_in" is an input parameter - // parameter "string_out" is an output parameter - public int echo_string(String[] string_in, String[] string_out) { - for(int i = 0; i < string_in.length; i++) { - string_out[i] = string_in[i]; - } - return 0; - } - - - // parameter "input" is an input parameter - // parameter "output" is an output parameter - public int echo_logical(boolean[] input, boolean[] output) { - for(int i = 0; i < input.length; i++) { - output[i] = input[i]; - } - return 0; - } - - - // parameter "string_in" is an input parameter - public int print_string(String[] string_in) { - for(int i = 0; i < string_in.length; i++) { - System.out.println(string_in[i]); - } - return 0; - } - - - // parameter "int_in1" is an input parameter - // parameter "int_in2" is an input parameter - // parameter "int_out1" is an output parameter - // parameter "int_out2" is an output parameter - // parameter "len" is a length parameter - public int echo_2_int(int[] int_in1, int[] int_in2, int[] int_out1, int[] int_out2, int len) { - for(int i = 0; i < len; i++) { - int_out1[i] = int_in1[i]; - int_out2[i] = int_in2[i]; - } - - return len; - } - -} -""" - - -class ForTestingInterface(CodeInterface): - - classpath = ['worker.jar'] - cwd = '' - - def __init__(self, exefile, **options): - CodeInterface.__init__(self, exefile, **options) - - # override default channel_type. We don't support the mpi channel... - @option(choices=['mpi', 'remote', 'distributed', 'sockets'], sections=("channel",)) - def channel_type(self): - return 'sockets' - - @legacy_function - def echo_int(): - function = LegacyFunctionSpecification() - function.addParameter('int_in', dtype='int32', direction=function.IN) - function.addParameter('int_out', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def echo_int_array(): - function = LegacyFunctionSpecification() - function.addParameter('int_in', dtype='int32', direction=function.IN) - function.addParameter('int_out', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def echo_long_long_int(): - function = LegacyFunctionSpecification() - function.addParameter('in', dtype='int64', direction=function.IN) - function.addParameter('out', dtype='int64', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def echo_double(): - function = LegacyFunctionSpecification() - function.addParameter('double_in', dtype='float64', direction=function.IN) - function.addParameter('double_out', dtype='float64', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def echo_float(): - function = LegacyFunctionSpecification() - function.addParameter('float_in', dtype='float32', direction=function.IN) - function.addParameter('float_out', dtype='float32', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def echo_string(): - function = LegacyFunctionSpecification() - function.addParameter('string_in', dtype='string', direction=function.IN) - function.addParameter('string_out', dtype='string', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def echo_strings(): - function = LegacyFunctionSpecification() - function.addParameter('string_inout1', dtype='string', direction=function.INOUT) - function.addParameter('string_inout2', dtype='string', direction=function.INOUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def echo_array(): - function = LegacyFunctionSpecification() - function.addParameter('int_in', dtype='int32', direction=function.IN) - function.addParameter('int_out', dtype='int32', direction=function.OUT) - function.addParameter('len', dtype='int32', direction=function.LENGTH) - function.result_type = None - function.must_handle_array = True - return function - - @legacy_function - def echo_array_with_result(): - function = LegacyFunctionSpecification() - function.addParameter('int_in', dtype='int32', direction=function.IN) - function.addParameter('int_out', dtype='int32', direction=function.OUT) - function.addParameter('len', dtype='int32', direction=function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - - # @legacy_function - def return_string(): - function = LegacyFunctionSpecification() - function.addParameter('string_in', dtype='string', direction=function.IN) - function.result_type = 'string' - function.can_handle_array = True - return function - - @legacy_function - def echo_2_int(): - function = LegacyFunctionSpecification() - function.addParameter('int_in1', dtype='int32', direction=function.IN) - function.addParameter('int_in2', dtype='int32', direction=function.IN, default=1) - function.addParameter('int_out1', dtype='int32', direction=function.OUT) - function.addParameter('int_out2', dtype='int32', direction=function.OUT) - function.addParameter('len', dtype='int32', direction=function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - - @legacy_function - def echo_inout_array_with_result(): - function = LegacyFunctionSpecification() - function.addParameter('in_out', dtype='int32', direction=function.INOUT) - function.addParameter('len', dtype='int32', direction=function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - - @legacy_function - def echo_logical(): - function = LegacyFunctionSpecification() - function.addParameter('input', dtype='bool', direction=function.IN) - function.addParameter('output', dtype='bool', direction=function.OUT) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def print_string(): - function = LegacyFunctionSpecification() - function.addParameter('string_in', dtype='string', direction=function.IN) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def print_error_string(): - function = LegacyFunctionSpecification() - function.addParameter('string_in', dtype='string', direction=function.IN) - function.result_type = 'int32' - function.can_handle_array = True - return function - - -class ForTesting(InCodeComponentImplementation): - - def __init__(self, exefile, **options): - InCodeComponentImplementation.__init__(self, ForTestingInterface(exefile, **options), **options) - - def define_methods(self, object): - object.add_method( - 'echo_int', - (units.m,), - ( - units.m, - object.ERROR_CODE, - ) - ) - - -class TestInterface(TestWithMPI): - - @classmethod - def check_not_in_mpiexec(cls): - """ - The tests will fork another process, if the test run - is itself an mpi process, the tests may fail. - - For the hydra process manager the tests will fail. - So skip the tests if we detect hydra - """ - if 'HYDI_CONTROL_FD' in os.environ: - return # can run in modern mpiexec.hydra - if 'HYDRA_CONTROL_FD' in os.environ or 'PMI_FD' in os.environ: - cls.skip('cannot run the socket tests under mpi process manager') - - @classmethod - def check_has_java(cls): - """ - The tests will fork another process, if the test run - is itself an mpi process, the tests may fail. - - For the hydra process manager the tests will fail. - So skip the tests if we detect hydra - """ - - if not config.java.is_enabled: - cls.skip("java not enabled") - - javac = config.java.javac - if not os.path.exists(javac): - cls.skip("java compiler not available") - - @classmethod - def setup_class(cls): - cls.check_not_in_mpiexec() - cls.check_has_java() - cls.check_can_compile_modules() - try: - cls.exefile = compile_tools.build_java_worker(codestring, cls.get_path_to_results(), ForTestingInterface) - except Exception as ex: - print(ex) - raise - - def test1(self): - instance = ForTestingInterface(self.exefile) - int_out, error = instance.echo_int(10) - instance.stop() - self.assertEqual(int_out, 10) - self.assertEqual(error, 0) - - def test2(self): - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_double(4.0) - instance.stop() - self.assertEqual(out, 4.0) - self.assertEqual(error, 0) - - def test3(self): - instance = ForTestingInterface(self.exefile) - input = [1, 2, 3, 4] - output, errors = instance.echo_int_array(input) - instance.stop() - self.assertEqual(len(errors), 4) - for actual, expected in zip(output, input): - self.assertEqual(actual, expected) - - def test4(self): - instance = ForTestingInterface(self.exefile) - input = [1.0, 2.1, 3.3, 4.2] - output, errors = instance.echo_double(input) - instance.stop() - self.assertEqual(len(errors), 4) - for actual, expected in zip(output, input): - self.assertEqual(actual, expected) - - def test5(self): - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_float(4.0) - instance.stop() - self.assertEqual(out, 4.0) - self.assertEqual(error, 0) - - def test6(self): - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_string("abc") - instance.stop() - self.assertEqual(error, 0) - self.assertEqual(out, "abc") - - def test7(self): - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_string(["abc", "def"]) - instance.stop() - - self.assertEqual(error[0], 0) - self.assertEqual(error[1], 0) - self.assertEqual(out[0], "abc") - self.assertEqual(out[1], "def") - - def test8(self): - instance = ForTestingInterface(self.exefile) - out1, out2, error = instance.echo_strings("abc", "def") - instance.stop() - - self.assertEqual(error, 0) - self.assertEqual(out1, "def") - self.assertEqual(out2, "abc") - - def test9(self): - instance = ForTestingInterface(self.exefile) - str1_out, str2_out, error = instance.echo_strings(["abc", "def"], ["ghi", "jkl"]) - instance.stop() - - self.assertEqual(error[0], 0) - self.assertEqual(error[1], 0) - self.assertEqual(str1_out[0], "ghi") - self.assertEqual(str1_out[1], "jkl") - self.assertEqual(str2_out[0], "abc") - self.assertEqual(str2_out[1], "def") - - def xtest10(self): - """test for ticket #74, 'running out of os file descriptors' - - - Note: this test takes a very long time, to enable it - remove the 'X' infront of the test name, to disable it - add an 'X'. - Also note: to test this, you best set the ulimit - to a low number (but not too low), for example - ulimit -n 400 - """ - for x in range(400): - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_float(4.0) - instance.stop() - - def test11(self): - instance = ForTestingInterface(self.exefile) - (output_ints,) = instance.echo_array([4, 5, 6]) - instance.stop() - self.assertEqual(output_ints[0], 4) - self.assertEqual(output_ints[1], 5) - self.assertEqual(output_ints[2], 6) - - def test12(self): - instance = ForTestingInterface(self.exefile) - (output_ints, error) = instance.echo_array_with_result([4, 5, 6]) - instance.stop() - self.assertEqual(output_ints[0], 4) - self.assertEqual(output_ints[1], 5) - self.assertEqual(output_ints[2], 6) - - self.assertEqual(error[0], -1) - self.assertEqual(error[1], -1) - self.assertEqual(error[2], -1) - - def test13(self): - instance = ForTesting(self.exefile) - self.assertRaises(exceptions.AmuseException, instance.echo_int, [-1, -2] | units.m, - expected_message="Error when calling 'echo_int' of a 'ForTesting', errorcode is -1") - instance.stop() - - def test14(self): - instance = ForTesting(self.exefile) - self.assertRaises(exceptions.CodeException, lambda: instance.echo_int()) - instance.legacy_interface.echo_int.specification.id = -9 - self.assertRaises(exceptions.CodeException, lambda: instance.echo_int(1 | units.m)) - instance.stop() - - def test15(self): - instance = ForTesting(self.exefile) - output_ints1, output_ints2 = instance.echo_2_int([1, 2], [3, 4]) - output_ints3, output_ints4 = instance.echo_2_int([1, 2, 3]) - output_ints5, output_ints6 = instance.echo_2_int([5], [0]) - output_ints7, output_ints8 = instance.echo_2_int([5]) - instance.stop() - self.assertEqual(output_ints1[1], 2) - self.assertEqual(output_ints2[0], 3) - self.assertEqual(output_ints2[1], 4) - for i in range(3): - self.assertEqual(output_ints3[i], i + 1) - self.assertEqual(output_ints4[i], 1) - self.assertEqual(output_ints5[0], 5) - self.assertEqual(output_ints6[0], 0) - self.assertEqual(output_ints7[0], 5) - self.assertEqual(output_ints8[0], 1) - - def test16(self): - instance = ForTesting(self.exefile) - - # self.assertRaises(exceptions.AmuseException, lambda : instance.echo_int([])) - instance.stop() - - def test17(self): - instance = ForTestingInterface(self.exefile) - (output_ints, error) = instance.echo_inout_array_with_result([4, 5, 6]) - instance.stop() - self.assertEqual(output_ints[0], 14) - self.assertEqual(output_ints[1], 15) - self.assertEqual(output_ints[2], 16) - - self.assertEqual(error[0], 11) - self.assertEqual(error[1], 11) - self.assertEqual(error[2], 11) - - def test18(self): - instance = ForTestingInterface(self.exefile) - out, error = instance.echo_logical([True, False, True]) - instance.stop() - self.assertEqual(out, [True, False, True]) - self.assertEqual(error, 0) - - def test19(self): - instance = ForTestingInterface(self.exefile) - int_out, error = instance.echo_long_long_int(3935559000370003845) - instance.stop() - self.assertEqual(int_out, 3935559000370003845) - self.assertEqual(error, 0) - - def test20(self): - path = os.path.abspath(self.get_path_to_results()) - output = os.path.join(path, "output.txt") - error = os.path.join(path, "error.txt") - - if os.path.exists(output): - os.remove(output) - if os.path.exists(error): - os.remove(error) - - instance = ForTesting(self.exefile, redirect_stderr_file=error, redirect_stdout_file=output, redirection="file") - instance.print_string("test_string_123") - instance.print_error_string("error_string_123") - instance.stop() - - time.sleep(0.2) - - self.assertTrue(os.path.exists(output)) - with open(output, "r") as f: - content = f.read() - self.assertTrue("test_string_123" in content.strip()) - - self.assertTrue(os.path.exists(error)) - with open(error, "r") as f: - content = f.read() - # some times java generates "Picked up _JAVA_OPTIONS" message, so only test: - self.assertTrue(content.strip().endswith("error_string_123")) - - def test21(self): - path = os.path.abspath(self.get_path_to_results()) - output = os.path.join(path, "output.txt") - error = os.path.join(path, "error.txt") - - if os.path.exists(output): - os.remove(output) - if os.path.exists(error): - os.remove(error) - - instance = ForTesting(self.exefile, redirect_stderr_file=output, redirect_stdout_file=output, redirection="file") - - instance.print_string("abcdef") - instance.print_error_string("&Hfecd") - instance.stop() - - time.sleep(0.2) - - self.assertTrue(os.path.exists(output)) - with open(output, "r") as f: - content = f.read() - # some times java generates "Picked up _JAVA_OPTIONS" message, so only test: - self.assertTrue("abcdef" in content) - self.assertTrue("&Hfecd" in content) diff --git a/src/amuse/test/suite/compile_tests/test_stopping_conditions.py b/src/amuse/test/suite/compile_tests/test_stopping_conditions.py deleted file mode 100644 index fda3ea9ae7..0000000000 --- a/src/amuse/test/suite/compile_tests/test_stopping_conditions.py +++ /dev/null @@ -1,922 +0,0 @@ -from amuse.test.amusetest import TestWithMPI -from amuse.test import compile_tools -from amuse.test.amusetest import get_amuse_root_dir - -# cello -from amuse.community.interface import stopping_conditions -from amuse.support.interface import InCodeComponentImplementation - -import os -import shlex - -from amuse.units import nbody_system -from amuse.units import units -from amuse import datamodel -from amuse.support.exceptions import AmuseException -from amuse.rfi.tools import create_c -from amuse.rfi.tools import create_fortran -from amuse.rfi import channel -from amuse.rfi.core import * -from amuse.community import NO_UNIT -codestring = """ -#ifndef NOMPI -#include -#endif - -#include -#ifdef __cplusplus -extern "C" { -#endif -int initialize_code() -{ - - // AMUSE STOPPING CONDITIONS SUPPORT - supported_conditions = COLLISION_DETECTION_BITMAP | PAIR_DETECTION_BITMAP | TIMEOUT_DETECTION_BITMAP | OUT_OF_BOX_DETECTION_BITMAP; - // ----------------------- - return 0; -} - - -int fire_condition(int condition_to_set, int particle_index1, int particle_index2, int rank) { - int my_rank; - int error, stopping_index; - -#ifndef NOMPI - error = MPI_Comm_rank(MPI_COMM_WORLD, &my_rank); -#else - error = 0; - my_rank = rank; -#endif - if (rank >= 0 && rank != my_rank) { return 0; } - - stopping_index = next_index_for_stopping_condition(); - - error = set_stopping_condition_info(stopping_index, condition_to_set); - if(particle_index1 > 0) { - error = set_stopping_condition_particle_index(stopping_index, 0, particle_index1); - } - if(particle_index2 > 0) { - error = set_stopping_condition_particle_index(stopping_index, 1, particle_index2); - } - return 0; -} -#ifdef __cplusplus -} -#endif -""" - -codestringF = """ - FUNCTION initialize_code() - IMPLICIT NONE - include "stopcond.inc" - INTEGER :: initialize_code - INTEGER :: set_support_for_condition - INTEGER :: return - initialize_code = 0 - return = set_support_for_condition(COLLISION_DETECTION) - return = set_support_for_condition(PAIR_DETECTION) - RETURN - END FUNCTION -""" - -codestringFModule = """ -MODULE AmuseInterface -CONTAINS - FUNCTION initialize_code() - use StoppingConditions - IMPLICIT NONE - INTEGER :: initialize_code - INTEGER :: return - initialize_code = 0 - return = set_support_for_condition(COLLISION_DETECTION) - return = set_support_for_condition(PAIR_DETECTION) - END FUNCTION - - FUNCTION fire_condition(condition_to_set, particle_index1, particle_index2, rank) - use StoppingConditions - IMPLICIT NONE - include "mpif.h" - INTEGER :: fire_condition - INTEGER :: my_rank - INTEGER :: error, stopping_index - INTEGER, intent(in) :: condition_to_set, particle_index1, particle_index2, rank - fire_condition = 0 - call mpi_comm_rank(MPI_COMM_WORLD, my_rank, error) - - if (rank.GE.0 .AND. rank.NE.my_rank) then - return - end if - stopping_index = next_index_for_stopping_condition() - error = set_stopping_condition_info(stopping_index, condition_to_set) - if(particle_index1 .GT. 0) then - error = set_stopping_condition_particle_index(stopping_index, 0, particle_index1) - end if - if(particle_index2 .GT. 0) then - error = set_stopping_condition_particle_index(stopping_index, 1, particle_index2) - end if - END FUNCTION -END MODULE -""" - - -class ForTestingInterface(CodeInterface, stopping_conditions.StoppingConditionInterface): - def __init__(self, exefile, **options): - CodeInterface.__init__(self, exefile, **options) - - include_headers = ['stopcond.h'] - - @legacy_function - def initialize_code(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - function.can_handle_array = False - return function - - @legacy_function - def reset_stopping_conditions(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - function.can_handle_array = False - return function - - @legacy_function - def next_index_for_stopping_condition(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - function.result_unit = NO_UNIT - function.can_handle_array = False - return function - - @legacy_function - def set_stopping_condition_info(): - function = LegacyFunctionSpecification() - function.addParameter('index', dtype='int32', direction=function.IN) - function.addParameter('index_of_the_condition', dtype='int32', direction=function.IN) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def set_stopping_condition_particle_index(): - function = LegacyFunctionSpecification() - function.addParameter('index', dtype='int32', direction=function.IN) - function.addParameter('index_of_the_condition', dtype='int32', direction=function.IN) - function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def mpi_setup_stopping_conditions(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - function.can_handle_array = False - return function - - @legacy_function - def mpi_collect_stopping_conditions(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - function.can_handle_array = False - return function - - @legacy_function - def mpi_distribute_stopping_conditions(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - function.can_handle_array = False - return function - - -class ForTestingInterfaceFortranModule(ForTestingInterface): - use_modules = ['StoppingConditions', 'AmuseInterface'] - - @legacy_function - def fire_condition(): - function = LegacyFunctionSpecification() - function.addParameter('condition_to_set', dtype='int32', direction=function.IN) - function.addParameter('particle_index_1', dtype='int32', direction=function.IN) - function.addParameter('particle_index_2', dtype='int32', direction=function.IN) - function.addParameter('rank', dtype='int32', direction=function.IN, default=-1) - function.result_type = 'int32' - function.can_handle_array = True - return function - - -class ForTesting(InCodeComponentImplementation): - def __init__(self, exefile, **options): - if 'community_interface' in options: - interface = options['community_interface'] - else: - interface = ForTestingInterface - self.stopping_conditions = stopping_conditions.StoppingConditions(self) - InCodeComponentImplementation.__init__(self, interface(exefile, **options), **options) - self.my_particles = datamodel.Particles() - - def define_methods(self, object): - self.stopping_conditions.define_methods(object) - - def new_particle(self, mass): - particles = datamodel.Particles(len(mass)) - particles.mass = mass - self.my_particles.add_particles(particles) - return list(range(len(self.my_particles)-len(mass), len(self.my_particles))) - - def get_mass(self, indices): - return self.my_particles.mass[indices] - - def delete_particle(self, particle): - self.my_particles.remove_particle(particle) - - def define_particle_sets(self, object): - object.define_set('particles', 'index_of_the_particle') - object.set_new('particles', 'new_particle') - object.set_delete('particles', 'delete_particle') - object.add_getter('particles', 'get_mass', names=("mass",)) - self.stopping_conditions.define_particle_set(object) - - -class _AbstractTestInterface(TestWithMPI): - - @classmethod - def get_libname(cls): - return "stopcond" - - @classmethod - def setup_class(cls): - cls.check_can_compile_modules() - cls.exefile = compile_tools.build_worker(codestring, - cls.get_path_to_results(), - cls.get_interface_class(), write_header=False, - extra_args=["-L"+get_amuse_root_dir()+"/lib/stopcond", "-l" + cls.get_libname()] - ) - - @classmethod - def get_interface_class(cls): - return ForTestingInterface - - -class TestInterface(_AbstractTestInterface): - - def test1(self): - # ~ print self.exefile - instance = ForTestingInterface(self.exefile) - instance.reset_stopping_conditions() - next = instance.next_index_for_stopping_condition() - next = instance.next_index_for_stopping_condition() - instance.stop() - self.assertEqual(next, 1) - - def test2(self): - instance = ForTesting(self.exefile) # , debugger = "xterm") - instance.initialize_code() - self.assertTrue(instance.stopping_conditions.pair_detection.is_supported()) - self.assertTrue(instance.stopping_conditions.collision_detection.is_supported()) - self.assertFalse(instance.stopping_conditions.escaper_detection.is_supported()) - instance.stop() - - def test3(self): - instance = ForTesting(self.exefile) # , debugger = "xterm") - instance.initialize_code() - self.assertFalse(instance.stopping_conditions.pair_detection.is_enabled()) - instance.stopping_conditions.pair_detection.enable() - self.assertTrue(instance.stopping_conditions.pair_detection.is_enabled()) - instance.stopping_conditions.pair_detection.disable() - self.assertFalse(instance.stopping_conditions.pair_detection.is_enabled()) - instance.stop() - - def test4(self): - instance = ForTesting(self.exefile) - instance.reset_stopping_conditions() - next = instance.next_index_for_stopping_condition() - self.assertFalse(instance.stopping_conditions.pair_detection.is_set()) - # ~ print next,instance.stopping_conditions.pair_detection.type - instance.set_stopping_condition_info(next, instance.stopping_conditions.pair_detection.type) - - self.assertTrue(instance.stopping_conditions.pair_detection.is_set()) - instance.stop() - - def test5(self): - instance = ForTesting(self.exefile) - instance.reset_stopping_conditions() - next = instance.next_index_for_stopping_condition() - self.assertFalse(instance.stopping_conditions.pair_detection.is_set()) - - instance.set_stopping_condition_info(next, instance.stopping_conditions.pair_detection.type) - instance.set_stopping_condition_particle_index(next, 0, 11) - instance.set_stopping_condition_particle_index(next, 1, 12) - self.assertTrue(instance.stopping_conditions.pair_detection.is_set()) - self.assertEqual(11, instance.get_stopping_condition_particle_index(next, 0)) - self.assertEqual(12, instance.get_stopping_condition_particle_index(next, 1)) - instance.stop() - - def test6(self): - instance = ForTesting(self.exefile) - instance.reset_stopping_conditions() - next = instance.next_index_for_stopping_condition() - instance.set_stopping_condition_info(next, instance.stopping_conditions.out_of_box_detection.type) - self.assertTrue(instance.stopping_conditions.out_of_box_detection.is_set()) - instance.stop() - - def test7(self): - instance = ForTesting(self.exefile) - particles = datamodel.Particles(20) - particles.mass = range(1, 21) | units.kg - instance.particles.add_particles(particles) - instance.reset_stopping_conditions() - - pairs = [(11, 12), (0, 4), (3, 18), (7, 2)] - next = instance.next_index_for_stopping_condition() - self.assertFalse(instance.stopping_conditions.pair_detection.is_set()) - instance.set_stopping_condition_info(next, instance.stopping_conditions.pair_detection.type) - instance.set_stopping_condition_particle_index(next, 0, pairs[0][0]) - instance.set_stopping_condition_particle_index(next, 1, pairs[0][1]) - self.assertEqual(11, instance.get_stopping_condition_particle_index(next, 0)) - self.assertEqual(12, instance.get_stopping_condition_particle_index(next, 1)) - self.assertTrue(instance.stopping_conditions.pair_detection.is_set()) - self.assertEqual(len(instance.stopping_conditions.pair_detection.particles(0)), 1) - self.assertEqual(len(instance.stopping_conditions.pair_detection.particles(1)), 1) - - for index1, index2 in pairs[1:]: - next = instance.next_index_for_stopping_condition() - instance.set_stopping_condition_info(next, instance.stopping_conditions.pair_detection.type) - instance.set_stopping_condition_particle_index(next, 0, index1) - instance.set_stopping_condition_particle_index(next, 1, index2) - self.assertEqual(index1, instance.get_stopping_condition_particle_index(next, 0)) - self.assertEqual(index2, instance.get_stopping_condition_particle_index(next, 1)) - self.assertEqual(len(instance.stopping_conditions.pair_detection.particles(0)), 4) - self.assertEqual(len(instance.stopping_conditions.pair_detection.particles(1)), 4) - self.assertEqual(len(instance.stopping_conditions.pair_detection.particles(2)), 0) - - self.assertEqual(instance.stopping_conditions.pair_detection.particles(0).mass, - [first + 1 for first, second in pairs] | units.kg) - self.assertEqual(instance.stopping_conditions.pair_detection.particles(1).mass, - [second + 1 for first, second in pairs] | units.kg) - instance.stop() - - def test8(self): - instance = ForTesting(self.exefile) - instance.initialize_code() - self.assertFalse(instance.stopping_conditions.escaper_detection.is_supported()) - self.assertRaises(AmuseException, instance.stopping_conditions.escaper_detection.enable, expected_message="Can't enable stopping condition 'escaper_detection', since 'ForTesting' does not support this condition.") - instance.stop() - - def test9(self): - instance = ForTestingInterface(self.exefile) - instance.reset_stopping_conditions() - nmax = 2048 - for i in range(nmax): - next = instance.next_index_for_stopping_condition() - # ~ print i, next - self.assertEqual(next, i) - instance.stop() - - -class TestInterfaceMP(_AbstractTestInterface): - - @classmethod - def get_interface_class(self): - return ForTestingInterfaceFortranModule - - def get_number_of_workers(self): - return 3 - - @classmethod - def get_libname(self): - return "stopcondmpi" - - def test1(self): - number_of_workers = 4 - instance = ForTestingInterface(self.exefile, number_of_workers=number_of_workers) - instance.reset_stopping_conditions() - instance.mpi_setup_stopping_conditions() - instance.enable_stopping_condition(1) - nmax = 50 - for i in range(nmax): - next = instance.next_index_for_stopping_condition() - self.assertEqual(next, i) - i, error = instance.get_number_of_stopping_conditions_set() - self.assertEqual(error, 0) - self.assertEqual(i, nmax) - instance.mpi_collect_stopping_conditions() - i, error = instance.get_number_of_stopping_conditions_set() - self.assertEqual(error, 0) - self.assertEqual(i, number_of_workers * nmax) - - instance.stop() - - def test2(self): - instance = ForTesting( - self.exefile, - community_interface=ForTestingInterfaceFortranModule, - number_of_workers=self.get_number_of_workers() - ) - instance.initialize_code() - instance.reset_stopping_conditions() - instance.mpi_setup_stopping_conditions() - - pair_detection = instance.stopping_conditions.pair_detection - - particles = datamodel.Particles(20) - particles.mass = range(1, 21) | units.kg - instance.particles.add_particles(particles) - - instance.stopping_conditions.pair_detection.enable() - - instance.mpi_distribute_stopping_conditions() - - # ~ print pair_detection.type - instance.fire_condition( - pair_detection.type, - 1, 2, -1 - ) - instance.mpi_collect_stopping_conditions() - self.assertTrue(pair_detection.is_set()) - self.assertEqual(len(pair_detection.particles(0)), self.get_number_of_workers()) - self.assertEqual(len(pair_detection.particles(1)), self.get_number_of_workers()) - self.assertEqual(pair_detection.particles(0).key, particles[1].key) - self.assertEqual(pair_detection.particles(1).key, particles[2].key) - self.assertEqual(pair_detection.particles(0).mass, [2, 2, 2] | units.kg) - self.assertEqual(pair_detection.particles(1).mass, [3, 3, 3] | units.kg) - instance.stop() - - def test5(self): - instance = ForTesting( - self.exefile, - community_interface=ForTestingInterfaceFortranModule, - number_of_workers=self.get_number_of_workers() - ) - instance.initialize_code() - instance.reset_stopping_conditions() - instance.mpi_setup_stopping_conditions() - - pair_detection = instance.stopping_conditions.pair_detection - - particles = datamodel.Particles(20) - particles.mass = range(1, 21) | units.kg - instance.particles.add_particles(particles) - - instance.stopping_conditions.pair_detection.enable() - - instance.mpi_distribute_stopping_conditions() - for rank in range(self.get_number_of_workers()): - # ~ print pair_detection.type - instance.fire_condition( - pair_detection.type, - 1, 2, rank - ) - instance.mpi_collect_stopping_conditions() - self.assertTrue(pair_detection.is_set()) - self.assertEqual(len(pair_detection.particles(0)), 1) - self.assertEqual(len(pair_detection.particles(1)), 1) - self.assertEqual(pair_detection.particles(0).key, particles[1].key) - self.assertEqual(pair_detection.particles(1).key, particles[2].key) - self.assertEqual(pair_detection.particles(0).mass, [2] | units.kg) - self.assertEqual(pair_detection.particles(1).mass, [3] | units.kg) - instance.reset_stopping_conditions() - instance.stopping_conditions.pair_detection.enable() - - instance.stop() - - def test3(self): - instance = ForTesting( - self.exefile, - community_interface=ForTestingInterfaceFortranModule, - number_of_workers=self.get_number_of_workers() - ) - instance.initialize_code() - instance.reset_stopping_conditions() - instance.mpi_setup_stopping_conditions() - - pair_detection = instance.stopping_conditions.pair_detection - - particles = datamodel.Particles(20) - particles.mass = range(1, 21) | units.kg - instance.particles.add_particles(particles) - - instance.stopping_conditions.pair_detection.enable() - - instance.mpi_distribute_stopping_conditions() - - instance.fire_condition( - pair_detection.type, - 1, 2, 0 - ) - instance.fire_condition( - pair_detection.type, - 3, 4, 1 - ) - instance.fire_condition( - pair_detection.type, - 5, 6, 2 - ) - instance.mpi_collect_stopping_conditions() - self.assertTrue(pair_detection.is_set()) - self.assertEqual(len(pair_detection.particles(0)), 3) - self.assertEqual(len(pair_detection.particles(1)), 3) - self.assertEqual(pair_detection.particles(0).key[0], particles[1].key) - self.assertEqual(pair_detection.particles(1).key[0], particles[2].key) - self.assertEqual(pair_detection.particles(0).key[1], particles[3].key) - self.assertEqual(pair_detection.particles(1).key[1], particles[4].key) - self.assertEqual(pair_detection.particles(0).key[2], particles[5].key) - self.assertEqual(pair_detection.particles(1).key[2], particles[6].key) - instance.reset_stopping_conditions() - instance.stopping_conditions.pair_detection.enable() - - instance.stop() - - def test4(self): - instance = ForTesting( - self.exefile, - community_interface=ForTestingInterfaceFortranModule, - number_of_workers=self.get_number_of_workers() - ) - instance.initialize_code() - instance.reset_stopping_conditions() - instance.mpi_setup_stopping_conditions() - - pair_detection = instance.stopping_conditions.pair_detection - - particles = datamodel.Particles(20) - particles.mass = range(1, 21) | units.kg - instance.particles.add_particles(particles) - - instance.stopping_conditions.pair_detection.enable() - - instance.mpi_collect_stopping_conditions() - - instance.fire_condition( - pair_detection.type, - -1, -1, -1 - ) - instance.mpi_distribute_stopping_conditions() - self.assertTrue(pair_detection.is_set()) - self.assertEqual(len(pair_detection.particles(0)), 0) - - instance.stop() - - -class _AbstractTestInterfaceFortran: - - @classmethod - def get_libname(cls): - return 'stopcond' - - @classmethod - def get_mpidir(cls): - return '' - - @classmethod - def get_codestring(cls): - return codestringF - - @classmethod - def get_interface_class(cls): - return ForTestingInterface - - def get_number_of_workers(self): - return 1 - - @classmethod - def setup_class(cls): - cls.check_can_compile_modules() - cls.exefile = compile_tools.build_fortran_worker(cls.get_codestring(), - cls.get_path_to_results(), cls.get_interface_class(), needs_mpi=True, - extra_fflags=["-I", "{0}/lib/stopcond".format(get_amuse_root_dir())], - extra_ldflags=["-L{0}/lib/stopcond".format(get_amuse_root_dir()), "-l"+cls.get_libname()]) - - -class _TestInterfaceFortranSingleProcess(TestWithMPI, _AbstractTestInterfaceFortran): - - def get_number_of_workers(self): - return 1 - - def test1(self): - instance = ForTestingInterface(self.exefile, number_of_workers=self.get_number_of_workers()) - instance.reset_stopping_conditions() - next = instance.next_index_for_stopping_condition() - next = instance.next_index_for_stopping_condition() - instance.stop() - self.assertEqual(next, 1) - - def test2(self): - instance = ForTesting(self.exefile, number_of_workers=self.get_number_of_workers()) # , debugger = "xterm") - instance.initialize_code() - self.assertTrue(instance.stopping_conditions.pair_detection.is_supported()) - self.assertTrue(instance.stopping_conditions.collision_detection.is_supported()) - self.assertFalse(instance.stopping_conditions.escaper_detection.is_supported()) - instance.stop() - - def test3(self): - instance = ForTesting(self.exefile, number_of_workers=self.get_number_of_workers()) # , debugger = "xterm") - instance.initialize_code() - self.assertFalse(instance.stopping_conditions.pair_detection.is_enabled()) - instance.stopping_conditions.pair_detection.enable() - self.assertTrue(instance.stopping_conditions.pair_detection.is_enabled()) - instance.stopping_conditions.pair_detection.disable() - self.assertFalse(instance.stopping_conditions.pair_detection.is_enabled()) - instance.stop() - - def test4(self): - instance = ForTesting(self.exefile, number_of_workers=self.get_number_of_workers()) - instance.reset_stopping_conditions() - - next = instance.next_index_for_stopping_condition() - self.assertFalse(instance.stopping_conditions.pair_detection.is_set()) - - instance.set_stopping_condition_info(next, instance.stopping_conditions.pair_detection.type) - - self.assertTrue(instance.stopping_conditions.pair_detection.is_set()) - instance.stop() - - def test5(self): - instance = ForTesting(self.exefile, number_of_workers=self.get_number_of_workers()) - instance.reset_stopping_conditions() - next = instance.next_index_for_stopping_condition() - self.assertFalse(instance.stopping_conditions.pair_detection.is_set()) - - instance.set_stopping_condition_info(next, instance.stopping_conditions.pair_detection.type) - instance.set_stopping_condition_particle_index(next, 0, 11) - instance.set_stopping_condition_particle_index(next, 1, 12) - self.assertTrue(instance.stopping_conditions.pair_detection.is_set()) - self.assertEqual(11, instance.get_stopping_condition_particle_index(next, 0)) - self.assertEqual(12, instance.get_stopping_condition_particle_index(next, 1)) - instance.stop() - - def test6(self): - instance = ForTesting(self.exefile, number_of_workers=self.get_number_of_workers()) - particles = datamodel.Particles(20) - particles.mass = range(1, 21) | units.kg - instance.particles.add_particles(particles) - instance.reset_stopping_conditions() - - pairs = [(11, 12), (0, 4), (3, 18), (7, 2)] - next = instance.next_index_for_stopping_condition() - self.assertFalse(instance.stopping_conditions.pair_detection.is_set()) - instance.set_stopping_condition_info(next, instance.stopping_conditions.pair_detection.type) - instance.set_stopping_condition_particle_index(next, 0, pairs[0][0]) - instance.set_stopping_condition_particle_index(next, 1, pairs[0][1]) - self.assertEqual(11, instance.get_stopping_condition_particle_index(next, 0)) - self.assertEqual(12, instance.get_stopping_condition_particle_index(next, 1)) - self.assertTrue(instance.stopping_conditions.pair_detection.is_set()) - self.assertEqual(len(instance.stopping_conditions.pair_detection.particles(0)), 1) - self.assertEqual(len(instance.stopping_conditions.pair_detection.particles(1)), 1) - - for index1, index2 in pairs[1:]: - next = instance.next_index_for_stopping_condition() - instance.set_stopping_condition_info(next, instance.stopping_conditions.pair_detection.type) - instance.set_stopping_condition_particle_index(next, 0, index1) - instance.set_stopping_condition_particle_index(next, 1, index2) - self.assertEqual(index1, instance.get_stopping_condition_particle_index(next, 0)) - self.assertEqual(index2, instance.get_stopping_condition_particle_index(next, 1)) - self.assertEqual(len(instance.stopping_conditions.pair_detection.particles(0)), 4) - self.assertEqual(len(instance.stopping_conditions.pair_detection.particles(1)), 4) - self.assertEqual(len(instance.stopping_conditions.pair_detection.particles(2)), 0) - - self.assertEqual(instance.stopping_conditions.pair_detection.particles(0).mass, - [first + 1 for first, second in pairs] | units.kg) - self.assertEqual(instance.stopping_conditions.pair_detection.particles(1).mass, - [second + 1 for first, second in pairs] | units.kg) - instance.stop() - - def test8(self): - instance = ForTesting(self.exefile, number_of_workers=self.get_number_of_workers()) - instance.initialize_code() - self.assertFalse(instance.stopping_conditions.escaper_detection.is_supported()) - self.assertRaises(AmuseException, instance.stopping_conditions.escaper_detection.enable, expected_message="Can't enable stopping condition 'escaper_detection', since 'ForTesting' does not support this condition.") - instance.stop() - - def test9(self): - instance = ForTestingInterface(self.exefile, number_of_workers=self.get_number_of_workers()) - instance.initialize_code() - instance.reset_stopping_conditions() - nmax = 2048 - for i in range(nmax): - next = instance.next_index_for_stopping_condition() - # ~ print i, next - self.assertEqual(next, i) - instance.stop() - - -class TestInterfaceFortran(_TestInterfaceFortranSingleProcess): - - @classmethod - def get_libname(cls): - return 'stopcond' - - @classmethod - def get_codestring(cls): - return codestringF - - @classmethod - def get_interface_class(cls): - return ForTestingInterface - - -class TestInterfaceFortranModule(_TestInterfaceFortranSingleProcess): - - @classmethod - def get_libname(cls): - return 'stopcond' - - @classmethod - def get_codestring(cls): - return codestringFModule - - @classmethod - def get_interface_class(cls): - return ForTestingInterfaceFortranModule - - -class TestInterfaceFortranModuleMultiprocess(TestWithMPI, _AbstractTestInterfaceFortran): - - @classmethod - def get_libname(cls): - return 'stopcondmpi' - - @classmethod - def get_codestring(cls): - return codestringFModule - - @classmethod - def get_interface_class(cls): - return ForTestingInterfaceFortranModule - - def get_number_of_workers(self): - return 3 - - @classmethod - def get_mpidir(self): - return '' - - def test1(self): - instance = ForTesting( - self.exefile, - community_interface=ForTestingInterfaceFortranModule, - number_of_workers=self.get_number_of_workers() - ) - instance.initialize_code() - instance.reset_stopping_conditions() - instance.mpi_setup_stopping_conditions() - - pair_detection = instance.stopping_conditions.pair_detection - - particles = datamodel.Particles(20) - particles.mass = range(1, 21) | units.kg - instance.particles.add_particles(particles) - - instance.stopping_conditions.pair_detection.enable() - - instance.mpi_distribute_stopping_conditions() - - # ~ print pair_detection.type - instance.fire_condition( - pair_detection.type, - 1, 2, -1 - ) - instance.mpi_collect_stopping_conditions() - self.assertTrue(pair_detection.is_set()) - self.assertEqual(len(pair_detection.particles(0)), self.get_number_of_workers()) - self.assertEqual(len(pair_detection.particles(1)), self.get_number_of_workers()) - self.assertEqual(pair_detection.particles(0).key, particles[1].key) - self.assertEqual(pair_detection.particles(1).key, particles[2].key) - self.assertEqual(pair_detection.particles(0).mass, [2, 2, 2] | units.kg) - self.assertEqual(pair_detection.particles(1).mass, [3, 3, 3] | units.kg) - instance.stop() - - def test2(self): - instance = ForTesting( - self.exefile, - community_interface=ForTestingInterfaceFortranModule, - number_of_workers=self.get_number_of_workers() - ) - instance.initialize_code() - instance.reset_stopping_conditions() - instance.mpi_setup_stopping_conditions() - - pair_detection = instance.stopping_conditions.pair_detection - - particles = datamodel.Particles(20) - particles.mass = range(1, 21) | units.kg - instance.particles.add_particles(particles) - - instance.stopping_conditions.pair_detection.enable() - - instance.mpi_distribute_stopping_conditions() - for rank in range(self.get_number_of_workers()): - # ~ print pair_detection.type - instance.fire_condition( - pair_detection.type, - 1, 2, rank - ) - instance.mpi_collect_stopping_conditions() - self.assertTrue(pair_detection.is_set()) - self.assertEqual(len(pair_detection.particles(0)), 1) - self.assertEqual(len(pair_detection.particles(1)), 1) - self.assertEqual(pair_detection.particles(0).key, particles[1].key) - self.assertEqual(pair_detection.particles(1).key, particles[2].key) - self.assertEqual(pair_detection.particles(0).mass, [2] | units.kg) - self.assertEqual(pair_detection.particles(1).mass, [3] | units.kg) - instance.reset_stopping_conditions() - instance.stopping_conditions.pair_detection.enable() - - instance.stop() - - def test3(self): - instance = ForTesting( - self.exefile, - community_interface=ForTestingInterfaceFortranModule, - number_of_workers=self.get_number_of_workers() - ) - instance.initialize_code() - instance.reset_stopping_conditions() - instance.mpi_setup_stopping_conditions() - - pair_detection = instance.stopping_conditions.pair_detection - - particles = datamodel.Particles(20) - particles.mass = range(1, 21) | units.kg - instance.particles.add_particles(particles) - - instance.stopping_conditions.pair_detection.enable() - - instance.mpi_distribute_stopping_conditions() - - instance.fire_condition( - pair_detection.type, - 1, 2, 0 - ) - instance.fire_condition( - pair_detection.type, - 3, 4, 1 - ) - instance.fire_condition( - pair_detection.type, - 5, 6, 2 - ) - instance.mpi_collect_stopping_conditions() - self.assertTrue(pair_detection.is_set()) - self.assertEqual(len(pair_detection.particles(0)), 3) - self.assertEqual(len(pair_detection.particles(1)), 3) - self.assertEqual(pair_detection.particles(0).key[0], particles[1].key) - self.assertEqual(pair_detection.particles(1).key[0], particles[2].key) - self.assertEqual(pair_detection.particles(0).key[1], particles[3].key) - self.assertEqual(pair_detection.particles(1).key[1], particles[4].key) - self.assertEqual(pair_detection.particles(0).key[2], particles[5].key) - self.assertEqual(pair_detection.particles(1).key[2], particles[6].key) - instance.reset_stopping_conditions() - instance.stopping_conditions.pair_detection.enable() - - instance.stop() - - def test4(self): - instance = ForTesting( - self.exefile, - community_interface=ForTestingInterfaceFortranModule, - number_of_workers=self.get_number_of_workers() - ) - instance.initialize_code() - instance.reset_stopping_conditions() - instance.mpi_setup_stopping_conditions() - - pair_detection = instance.stopping_conditions.pair_detection - - particles = datamodel.Particles(20) - particles.mass = range(1, 21) | units.kg - instance.particles.add_particles(particles) - - instance.stopping_conditions.pair_detection.enable() - - instance.mpi_collect_stopping_conditions() - - instance.fire_condition( - pair_detection.type, - -1, -1, -1 - ) - instance.mpi_distribute_stopping_conditions() - self.assertTrue(pair_detection.is_set()) - self.assertEqual(len(pair_detection.particles(0)), 0) - - instance.stop() - - def test5(self): - number_of_workers = 4 - instance = ForTestingInterface(self.exefile, - community_interface=ForTestingInterfaceFortranModule, - number_of_workers=number_of_workers) - instance.reset_stopping_conditions() - instance.mpi_setup_stopping_conditions() - instance.enable_stopping_condition(1) - nmax = 50 - for i in range(nmax): - next = instance.next_index_for_stopping_condition() - self.assertEqual(next, i) - i, error = instance.get_number_of_stopping_conditions_set() - self.assertEqual(error, 0) - self.assertEqual(i, nmax) - instance.mpi_collect_stopping_conditions() - i, error = instance.get_number_of_stopping_conditions_set() - self.assertEqual(error, 0) - self.assertEqual(i, number_of_workers * nmax) - - instance.stop() diff --git a/src/amuse/test/suite/core_tests/test_amuse_import.py b/src/amuse/test/suite/core_tests/test_amuse_import.py deleted file mode 100644 index 3e692d29db..0000000000 --- a/src/amuse/test/suite/core_tests/test_amuse_import.py +++ /dev/null @@ -1,13 +0,0 @@ -import amuse - -import sys - -print(sys.path) - - -def test(): - amuse.config.compilers.fc_iso_c_bindings - - -if __name__ == "__main__": - test() diff --git a/src/amuse/test/suite/core_tests/test_phigrape.py b/src/amuse/test/suite/core_tests/test_phigrape.py deleted file mode 100644 index 067f7578d5..0000000000 --- a/src/amuse/test/suite/core_tests/test_phigrape.py +++ /dev/null @@ -1,27 +0,0 @@ -from amuse.test import amusetest -import os.path -import numpy -from amuse.io import phigrape -from amuse.units import units -from amuse.units import constants -from amuse.units import nbody_system -from amuse.units import quantities -from amuse import datamodel - - -class Test(amusetest.TestCase): - - def test(self): - directory = os.path.dirname(__file__) - instance = phigrape.Inp2Particles() - instance.convert_to_particles(os.path.join(directory, 'plummer_100.ini')) - rev_instance = phigrape.Particles2Inp() - output = os.path.join(self.get_path_to_results(), 'plummer_back_100.ini') - rev_instance.convert_to_inp(instance.Particles, output) - - control_instance = phigrape.Inp2Particles() - control_instance.convert_to_particles(os.path.join(directory, output)) - - self.assertAlmostEqual(control_instance.Particles.mass, instance.Particles.mass, 16) - self.assertAlmostEqual(control_instance.Particles[1].position, instance.Particles[1].position, 16) - self.assertAlmostEqual(control_instance.Particles[1].velocity, instance.Particles[1].velocity, 16) diff --git a/src/amuse/test/suite/core_tests/test_stopping_conditions.py b/src/amuse/test/suite/core_tests/test_stopping_conditions.py deleted file mode 100644 index 54df19ed4d..0000000000 --- a/src/amuse/test/suite/core_tests/test_stopping_conditions.py +++ /dev/null @@ -1,177 +0,0 @@ -from amuse.test import amusetest - -from amuse.support.exceptions import AmuseException -from amuse.community.interface.stopping_conditions import StoppingConditions -from amuse import datamodel -from amuse.units import units -from amuse.support import interface - - -class TestStoppingCondition(amusetest.TestCase): - - def test1(self): - - class AllEnabled(object): - - def is_stopping_condition_enabled(self, sc_type): - return 1 - - def has_stopping_condition(self, sc_type): - return 1 - - instance = StoppingConditions(AllEnabled()) - self.assertTrue(instance.collision_detection.is_supported()) - self.assertTrue(instance.collision_detection.is_enabled()) - self.assertTrue(instance.escaper_detection.is_supported()) - self.assertTrue(instance.escaper_detection.is_enabled()) - self.assertTrue(instance.timeout_detection.is_supported()) - self.assertTrue(instance.timeout_detection.is_enabled()) - - def test2(self): - - class OneEnabled(object): - - def is_stopping_condition_enabled(self, sc_type): - return 1 if sc_type == 0 else 0 - - def has_stopping_condition(self, sc_type): - return 1 if sc_type == 0 else 0 - - instance = StoppingConditions(OneEnabled()) - self.assertTrue(instance.collision_detection.is_supported()) - self.assertTrue(instance.collision_detection.is_enabled()) - self.assertFalse(instance.escaper_detection.is_supported()) - self.assertFalse(instance.escaper_detection.is_enabled()) - self.assertFalse(instance.timeout_detection.is_supported()) - self.assertFalse(instance.timeout_detection.is_enabled()) - - def test3(self): - - class OneSettable(object): - is_enabled = 0 - - def is_stopping_condition_enabled(self, sc_type): - return self.is_enabled if sc_type == 0 else 0 - - def has_stopping_condition(self, sc_type): - return 1 if sc_type == 0 else 0 - - def enable_stopping_condition(self, sc_type): - if sc_type == 0: - self.is_enabled = 1 - - instance = StoppingConditions(OneSettable()) - self.assertTrue(instance.collision_detection.is_supported()) - self.assertFalse(instance.collision_detection.is_enabled()) - instance.collision_detection.enable() - self.assertTrue(instance.collision_detection.is_enabled()) - - def test4(self): - - class OneSettable(object): - is_enabled = 0 - - def is_stopping_condition_enabled(self, sc_type): - return self.is_enabled if sc_type == 0 else 0 - - def has_stopping_condition(self, sc_type): - return 1 if sc_type == 0 else 0 - - def enable_stopping_condition(self, sc_type): - if sc_type == 0: - self.is_enabled = 1 - - def disable_stopping_condition(self, sc_type): - if sc_type == 0: - self.is_enabled = 0 - - instance = StoppingConditions(OneSettable()) - self.assertTrue(instance.collision_detection.is_supported()) - self.assertFalse(instance.collision_detection.is_enabled()) - instance.collision_detection.enable() - self.assertTrue(instance.collision_detection.is_enabled()) - instance.collision_detection.disable() - self.assertFalse(instance.collision_detection.is_enabled()) - - def test5(self): - - class OneEnabled(object): - - def is_stopping_condition_enabled(self, sc_type): - return 1 if sc_type == 0 else 0 - - def has_stopping_condition(self, sc_type): - return 1 if sc_type == 0 else 0 - - instance = StoppingConditions(OneEnabled()) - self.assertFalse(instance.escaper_detection.is_supported()) - self.assertFalse(instance.escaper_detection.is_enabled()) - self.assertRaises(AmuseException, instance.escaper_detection.enable) - self.assertRaises(AmuseException, instance.escaper_detection.disable) - - def test6(self): - - class Collision(object): - - def is_stopping_condition_enabled(self, sc_type): - return 1 if sc_type == 0 else 0 - - def has_stopping_condition(self, sc_type): - return 1 if sc_type == 0 else 0 - - def is_stopping_condition_set(self, sc_type): - return 1 if sc_type == 0 else 0 - - def get_number_of_stopping_conditions_set(self): - return 1 - - def get_stopping_condition_info(self, indices): - return [0], [1] - - instance = StoppingConditions(Collision()) - instance.code.particles = datamodel.Particles(3) - instance.code.particles.mass = (1, 2, 3) | units.kg - instance.code.particles.add_function_attribute( - "get_stopping_condition_particle_index", - lambda particles, indices, sc_type: particles[indices] - ) - self.assertTrue(instance.collision_detection.is_set()) - particles = instance.collision_detection.particles(0) - self.assertEqual(len(particles), 1) - self.assertAlmostRelativeEqual(particles[0].mass, 1 | units.kg) - - def test7(self): - - class Collision(object): - - def is_stopping_condition_enabled(self, sc_type): - return 1 if sc_type == 0 else 0 - - def has_stopping_condition(self, sc_type): - return 1 if sc_type == 0 else 0 - - def is_stopping_condition_set(self, sc_type): - return 1 if sc_type == 0 else 0 - - def get_number_of_stopping_conditions_set(self): - return 1 - - def get_stopping_condition_info(self, indices): - return [0], [3] - - instance = StoppingConditions(Collision()) - instance.code.particles = datamodel.Particles(3) - instance.code.particles.mass = (1, 2, 3) | units.kg - instance.code.particles.add_function_attribute( - "get_stopping_condition_particle_index", - lambda particles, indices, sc_type: particles[indices] - ) - self.assertTrue(instance.collision_detection.is_set()) - particles = instance.collision_detection.particles(0) - self.assertEqual(len(particles), 1) - particles = instance.collision_detection.particles(1) - self.assertEqual(len(particles), 1) - particles = instance.collision_detection.particles(2) - self.assertEqual(len(particles), 1) - particles = instance.collision_detection.particles(3) - self.assertEqual(len(particles), 0) diff --git a/src/amuse/test/suite/ext_tests/test_fractalcluster.py b/src/amuse/test/suite/ext_tests/test_fractalcluster.py deleted file mode 100644 index 4a4dcbfb74..0000000000 --- a/src/amuse/test/suite/ext_tests/test_fractalcluster.py +++ /dev/null @@ -1,78 +0,0 @@ -from amuse.test import amusetest -from amuse.units import units, nbody_system, constants - -from amuse.ic.fractalcluster import new_fractal_cluster_model - - -class TestFractalCluster(amusetest.TestCase): - - def test1(self): - print("First test: making a fractal cluster.") - target_number_of_particles = 100 - parts = new_fractal_cluster_model(N=target_number_of_particles) - self.assertEqual(len(parts), 100) - - def test2(self): - print("test 2: test energy.") - target_number_of_particles = 100 - parts = new_fractal_cluster_model(N=target_number_of_particles) - ek = parts.kinetic_energy() - ep = parts.potential_energy(G=nbody_system.G) - self.assertAlmostEqual(ek/abs(ep), 0.5, 12) - self.assertAlmostRelativeEqual(ep, -0.5 | nbody_system.energy, 12) - - def test3(self): - print("test 3: test energy physical units.") - target_number_of_particles = 100 - convert_nbody = nbody_system.nbody_to_si(1000 | units.MSun, 1 | units.parsec) - parts = new_fractal_cluster_model(N=target_number_of_particles, convert_nbody=convert_nbody) - ek = parts.kinetic_energy() - ep = parts.potential_energy() - self.assertAlmostEqual(ek/abs(ep), 0.5, 12) - self.assertAlmostRelativeEqual(ep, -0.5 * constants.G * (1000 | units.MSun)**2 / (1.0 | units.parsec), 12) - - def test4(self): - print("Test with masses") - target_number_of_particles = 100 - masses = (range(1, 11) | units.MSun) * 1.0 - convert_nbody = nbody_system.nbody_to_si(1000 | units.MSun, 1 | units.parsec) - particles = new_fractal_cluster_model(masses=masses, convert_nbody=convert_nbody, do_scale=True) - - ek = particles.kinetic_energy() - ep = particles.potential_energy() - self.assertEqual(len(particles), 10) - self.assertAlmostEqual(particles.total_mass(), 1000 | units.MSun) # Note: total_mass == converter's mass unit! - self.assertAlmostEqual(masses.sum(), 55 | units.MSun) # Note: total_mass != masses.sum() - self.assertAlmostEqual(particles.center_of_mass(), [0, 0, 0] | units.parsec) - self.assertAlmostEqual(particles.center_of_mass_velocity(), [0, 0, 0] | units.km / units.s) - self.assertAlmostEqual(ek/ep, -0.5, 12) - self.assertAlmostRelativeEqual(ek, (0.25 * constants.G * (1000 | units.MSun)**2 / (1.0 | units.parsec)).as_quantity_in(ek.unit), 12) - - def test5(self): - print("Test with masses, with correct mass unit in converter") - target_number_of_particles = 100 - masses = (range(1, 11) | units.MSun) * 1.0 - convert_nbody = nbody_system.nbody_to_si(masses.sum(), 1 | units.parsec) - particles = new_fractal_cluster_model(masses=masses, convert_nbody=convert_nbody, do_scale=True) - - ek = particles.kinetic_energy() - ep = particles.potential_energy() - self.assertEqual(len(particles), 10) - self.assertAlmostEqual(particles.total_mass(), 55 | units.MSun) # Note: total_mass == converter's mass unit! - self.assertAlmostEqual(particles.center_of_mass(), [0, 0, 0] | units.parsec) - self.assertAlmostEqual(particles.center_of_mass_velocity(), [0, 0, 0] | units.km / units.s) - self.assertAlmostEqual(ek/ep, -0.5, 12) - self.assertAlmostRelativeEqual(ek, (0.25 * constants.G * (55 | units.MSun)**2 / (1.0 | units.parsec)).as_quantity_in(ek.unit), 12) - - def test6(self): - print("Test fractal dimension.") - number_of_particles = 1000 - for target_fractal_dimension in [1.6, 2.0, 2.5, 3.0]: - particles = new_fractal_cluster_model( - N=number_of_particles, - fractal_dimension=target_fractal_dimension, - do_scale=False, random_seed=1234321) - self.assertAlmostRelativeEquals(particles.box_counting_dimension(), - target_fractal_dimension, 1) - self.assertAlmostRelativeEquals(particles.correlation_dimension(), - target_fractal_dimension, 1) diff --git a/src/amuse/test/suite/reports/test_speed.py b/src/amuse/test/suite/reports/test_speed.py deleted file mode 100644 index 6014b60d4c..0000000000 --- a/src/amuse/test/suite/reports/test_speed.py +++ /dev/null @@ -1,354 +0,0 @@ -from amuse.units import nbody_system -from amuse.units import units -from amuse.test.amusetest import get_path_to_results -from amuse.test import compile_tools -import subprocess -import os -import numpy -import time - -from amuse import datamodel -from amuse.rfi.tools import create_c -from amuse.rfi import channel -from amuse.rfi.core import * -codestring = """ - -#include -#include -#include -#include - - -struct data { - double x; - double y; - double z; -}; - -int number_of_points_in_one_dimension = 0; -data * model = 0; - -int set_data(int index, double vx, double vy, double vz) -{ - if(!model) - { - return -1; - } - - if(index > (number_of_points_in_one_dimension * number_of_points_in_one_dimension * number_of_points_in_one_dimension)) - { - return -2; - } - data & m = model[index]; - m.x = vx; - m.y = vy; - m.z = vz; - return 0; -} - - -int get_data(int index, double * vx, double * vy, double * vz) -{ - double data_in[6], data_out[6]; - int status_in,status_out; - if(!model) - { - return -1; - } - - if(index > (number_of_points_in_one_dimension * number_of_points_in_one_dimension * number_of_points_in_one_dimension)) - { - return -2; - } - data & m = model[index]; - *vx = m.x; - *vy = m.y; - *vz = m.z; - data_in[0] = data_in[1] = data_in[2] = 0.0; - data_in[3] = data_in[4] = data_in[5] = 0.0; - data_out[0] = data_out[1] = data_out[2] = 0.0; - data_out[3] = data_out[4] = data_out[5] = 0.0; - status_in = status_out = 0; - /* - MPI::COMM_WORLD.Allreduce(data_in, data_out, 6, MPI::DOUBLE,MPI::SUM); - MPI::COMM_WORLD.Barrier(); - MPI::COMM_WORLD.Allreduce(&status_in, &status_out, 1, MPI::DOUBLE,MPI::SUM); - */ - return 0; -} - -int step() -{ - if(!model) { - return -1; - } - for(int xindex ; xindex < number_of_points_in_one_dimension; xindex++) - { - for(int yindex ; yindex < number_of_points_in_one_dimension; yindex++) - { - for(int zindex ; zindex < number_of_points_in_one_dimension; zindex++) - { - int index = xindex * number_of_points_in_one_dimension * number_of_points_in_one_dimension; - index += yindex * number_of_points_in_one_dimension; - index += zindex; - - model[index].x = index; - model[index].y = model[index].x / (1.0 + model[index].y); - model[index].z = model[index].x * model[index].y / (model[index].z + 1e-7); - } - } - } - return 0; -} - -int set_number_of_points_in_one_dimension(int value) -{ - if(model) { - delete model; - } - - try { - model = new data[value*value*value]; - } catch (std::bad_alloc &e) { - number_of_points_in_one_dimension = 0; - return -1; - } - number_of_points_in_one_dimension = value; - - return 0; - -} - -int set_data_to_same(int n, double vx, double vy, double vz) { - for(int i = 0; i < n; i++) { - set_data(i, vx, vy, vz); - } - return 0; -} - -int reset() -{ - if(model) { - delete model; - } - model = 0; - return 0; -} -""" - -class TestCode(CodeInterface): - - def __init__(self, exefile): - CodeInterface.__init__(self, exefile) - - - @legacy_function - def set_number_of_points_in_one_dimension(): - """ - Set the set number of points in one dimension (N), the total model - size will be qubed (N*N*N) - """ - function = LegacyFunctionSpecification() - function.addParameter('value', - dtype='int32', - direction=function.IN, - description = - "The number of points in one direction") - function.result_type = 'int32' - return function - - @legacy_function - def step(): - """ - Do one step over the N * N * N grid - """ - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - - @legacy_function - def reset(): - """ - Restore the model to its original state - """ - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function - - @legacy_function - def set_data(): - """ - set example vector data - """ - function = LegacyFunctionSpecification() - function.addParameter('index', - dtype='int32', - direction=function.IN, - description = - "index in the array in range 0 <= index < (N*3)") - function.addParameter('vx', - dtype='float64', - direction=function.IN, - description = - "x component of the vector") - function.addParameter('vy', - dtype='float64', - direction=function.IN, - description = - "y component of the vector") - function.addParameter('vz', - dtype='float64', - direction=function.IN, - description = - "z component of the vector") - function.can_handle_array = True - function.result_type = 'int32' - return function - - @legacy_function - def set_data_to_same(): - """ - set all vector data to same value - """ - function = LegacyFunctionSpecification() - function.addParameter('max', - dtype='int32', - direction=function.IN, - description = - "index in the array in range 0 <= index < (N*3)") - function.addParameter('vx', - dtype='float64', - direction=function.IN, - description = - "x component of the vector") - function.addParameter('vy', - dtype='float64', - direction=function.IN, - description = - "y component of the vector") - function.addParameter('vz', - dtype='float64', - direction=function.IN, - description = - "z component of the vector") - function.can_handle_array = True - function.result_type = 'int32' - return function - - @legacy_function - def get_data(): - """ - retrieve example vector data - """ - function = LegacyFunctionSpecification() - function.addParameter('index', - dtype='int32', - direction=function.IN, - description = - "index in the array in range 0 <= index < (N*3)") - function.addParameter('vx', - dtype='float64', - direction=function.OUT, - description = - "x component of the vector") - function.addParameter('vy', - dtype='float64', - direction=function.OUT, - description = - "y component of the vector") - function.addParameter('vz', - dtype='float64', - direction=function.OUT, - description = - "z component of the vector") - function.can_handle_array = True - function.result_type = 'int32' - return function - - - -class RunSpeedTests(object): - - def __init__(self): - self.number_of_gridpoints = [8] - - def build_worker(self): - - path = os.path.abspath(get_path_to_results()) - codefile = os.path.join(path,"code.o") - interfacefile = os.path.join(path,"interface.o") - self.exefile = os.path.join(path,"c_worker") - - compile_tools.cxx_compile(codefile, codestring) - - uc = create_c.GenerateACHeaderStringFromASpecificationClass() - uc.specification_class = TestCode - uc.make_extern_c = False - header = uc.result - - - uc = create_c.GenerateACSourcecodeStringFromASpecificationClass() - uc.specification_class = TestCode - uc.needs_mpi=False - code = uc.result - - string = '\n\n'.join([header, code]) - - #print string - - compile_tools.cxx_compile(interfacefile, string, extra_args=['-I' , path]) - compile_tools.c_build(self.exefile, [interfacefile, codefile] ) - - def start(self): - self.build_worker() - - - for number_of_points_in_one_dimension in self.number_of_gridpoints: - result = self.run(number_of_points_in_one_dimension) - - print(', '.join([str(x) for x in result])) - - def run(self, number_of_points_in_one_dimension): - - instance = TestCode(self.exefile) - - total_number_of_points = number_of_points_in_one_dimension ** 3 - number_of_bytes = 4 + 8 + 8 + 8 - total_number_of_bytes = total_number_of_points * (number_of_bytes + 4) - indices = numpy.array(range(total_number_of_points), dtype='int32') - - data_x = numpy.array(range(total_number_of_points), dtype='float64') - data_y = numpy.array(range(total_number_of_points), dtype='float64') - data_z = numpy.array(range(total_number_of_points), dtype='float64') - - errorcode = instance.set_number_of_points_in_one_dimension(number_of_points_in_one_dimension) - if errorcode < 0: - raise Exception("Could not allocate memory") - - t0 = time.time() - instance.set_data(indices, data_x, data_y, data_z) - t1 = time.time() - dt = t1 - t0 - mbytes_per_second = total_number_of_bytes / dt / (1000.0 * 1000.0) - - t2 = time.time() - instance.set_data_to_same(total_number_of_points, 0.0, 1.0, 2.0) - t3 = time.time() - - instance.reset() - instance.stop() - - return dt, total_number_of_points, mbytes_per_second, t3-t2, (dt - (t3-t2)) / (t3-t2) - - -def test_speed(): - x = RunSpeedTests() - x.number_of_gridpoints = [8] - x.start() - -if __name__ == '__main__': - #channel.MessageChannel.DEBUGGER = channel.MessageChannel.DDD - x = RunSpeedTests() - x.number_of_gridpoints = [64, 128, 192] - x.start() diff --git a/src/amuse/units/core.py b/src/amuse/units/core.py index 6641cf1b94..182a2b55df 100644 --- a/src/amuse/units/core.py +++ b/src/amuse/units/core.py @@ -1050,6 +1050,8 @@ class pow_unit(derived_unit): """ def __init__(self, power, unit): self.power = power + if int(power) == power: + self.power = int(power) self.local_unit = unit def __str__(self): diff --git a/src/amuse_aarsethzare/Makefile b/src/amuse_aarsethzare/Makefile new file mode 100644 index 0000000000..1492488125 --- /dev/null +++ b/src/amuse_aarsethzare/Makefile @@ -0,0 +1,70 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library +FCFLAGS += $(AMUSE_MPI_CFLAGS) $(FORSOCKETS_CFLAGS) +LDFLAGS += +LDLIBS += -lm $(AMUSE_MPI_LIBS) $(FORSOCKETS_LIBS) + +export FCFLAGS + +CODELIB = src/libaarsethzare.a + + +$(CODELIB): src/*.f + $(MAKE) -C src all + + +# Building the workers +aarsethzare_worker.f90: interface.py + amusifier --type=f90 interface.py AarsethZareInterface -o $@ + +aarsethzare_worker: interface.o aarsethzare_worker.o $(CODELIB) + $(MPIFC) -o aarsethzare_worker $(LDFLAGS) $^ $(CODELIB) $(LDLIBS) + +aarsethzare_worker.o: aarsethzare_worker.f90 + $(MPIFC) -c $(FCFLAGS) $< + +%.o: %.f90 + $(FC) -c $(FCFLAGS) $< + + +# Which packages contain which workers? +amuse-aarsethzare_contains: aarsethzare_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + -$(MAKE) -C src clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + diff --git a/src/amuse_aarsethzare/__init__.py b/src/amuse_aarsethzare/__init__.py new file mode 100644 index 0000000000..57ddc693c3 --- /dev/null +++ b/src/amuse_aarsethzare/__init__.py @@ -0,0 +1,2 @@ +# generated file +from .interface import Aarsethzare diff --git a/src/amuse/community/aarsethzare/interface.f90 b/src/amuse_aarsethzare/interface.f90 similarity index 100% rename from src/amuse/community/aarsethzare/interface.f90 rename to src/amuse_aarsethzare/interface.f90 diff --git a/src/amuse_aarsethzare/interface.py b/src/amuse_aarsethzare/interface.py new file mode 100644 index 0000000000..6563b664be --- /dev/null +++ b/src/amuse_aarsethzare/interface.py @@ -0,0 +1,158 @@ +from amuse.community import * +from amuse.units import units + +class AarsethZareInterface(CodeInterface, LiteratureReferencesMixIn): + """ + Interface to the regularized Burlish-Stoer integrator of + Aarseth & Zare + + The relevant references are: + .. [#] ADS:1974CeMec..10..185A (Aarseth, S. & Zare, K., 1974, Celestial Mechanics 10, 185) + .. [#] ADS:1974CeMec..10..516A (Aarseth, S. & Zare, K., 1974, Celestial Mechanics 10, 516) + """ + #include_headers = ['worker_code.h'] + + def __init__(self, **keyword_arguments): + CodeInterface.__init__(self, name_of_the_worker = 'aarsethzare_worker', **keyword_arguments) + LiteratureReferencesMixIn.__init__(self) + + @legacy_function + def evolve_triple(): + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='float64', direction=function.INOUT) + function.addParameter('masses', dtype='float64', direction=function.IN) + function.addParameter('x', dtype='float64', direction=function.INOUT) + function.addParameter('y', dtype='float64', direction=function.INOUT) + function.addParameter('z', dtype='float64', direction=function.INOUT) + function.addParameter('vx', dtype='float64', direction=function.INOUT) + function.addParameter('vy', dtype='float64', direction=function.INOUT) + function.addParameter('vz', dtype='float64', direction=function.INOUT) + function.addParameter('tend', dtype='float64', direction=function.IN) + function.addParameter('nl', dtype='int32', direction=function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + @legacy_function + def construct_orbital_elements() : + function = LegacyFunctionSpecification() + function.addParameter('m', dtype='float64', direction=function.IN) + function.addParameter('r', dtype='float64', direction=function.IN) + function.addParameter('v', dtype='float64', direction=function.IN) + function.addParameter('e1', dtype='float64', direction=function.OUT) + function.addParameter('e2', dtype='float64', direction=function.OUT) + function.addParameter('nl', dtype='int32', direction=function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + + + @legacy_function + def construct_orbital_coordinates() : + function = LegacyFunctionSpecification() + function.addParameter('m', dtype='float64', direction=function.IN) + function.addParameter('e1', dtype='float64', direction=function.IN) + function.addParameter('e2', dtype='float64', direction=function.IN) + function.addParameter('r', dtype='float64', direction=function.OUT) + function.addParameter('v', dtype='float64', direction=function.OUT) + function.addParameter('nl', dtype='int32', direction=function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + +class AarsethZare(InCodeComponentImplementation): + + def __init__(self, unit_converter=None,**keyword_arguments): + self.unit_converter = unit_converter + InCodeComponentImplementation.__init__(self, AarsethZareInterface(**keyword_arguments)) + + + def define_converter(self, handler): + if not self.unit_converter is None: + handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) + + def define_particle_sets(self, handler): + handler.define_inmemory_set('particles') + + def define_methods(self, handler): + handler.add_method( + "evolve_triple", + ( + nbody_system.time, + nbody_system.mass, + nbody_system.length, + nbody_system.length, + nbody_system.length, + nbody_system.speed, + nbody_system.speed, + nbody_system.speed, + nbody_system.time + ), + ( + nbody_system.time, + nbody_system.length, + nbody_system.length, + nbody_system.length, + nbody_system.speed, + nbody_system.speed, + nbody_system.speed, + handler.ERROR_CODE + ) + ) + + handler.add_method( + "construct_orbital_elements", + ( + nbody_system.mass, + nbody_system.length, + nbody_system.speed + ), + ( + units.none, + units.none, + handler.ERROR_CODE + ) + ) + + handler.add_method( + "construct_orbital_coordinates", + ( + nbody_system.mass, + handler.NO_UNIT, + handler.NO_UNIT + ), + ( + nbody_system.length, + nbody_system.speed, + handler.ERROR_CODE + ) + ) + + def evolve_model(self, tend): + mass = self.particles.mass + x = self.particles.x + y = self.particles.y + z = self.particles.z + vx = self.particles.vx + vy = self.particles.vy + vz = self.particles.vz + + if hasattr(self.particles,"time"): + time = self.particles.time + else: + time = tend.as_vector_with_length(len(self.particles)).aszeros() + + time, x, y, z, vx, vy, vz = self.evolve_triple(time,mass,x,y,z,vx,vy,vz,tend.as_vector_with_length(len(self.particles))) + + self.particles.time = time + self.particles.x= x + self.particles.y= y + self.particles.z=z + self.particles.vx=vx + self.particles.vy=vy + self.particles.vz=vz + + + +Aarsethzare = AarsethZare diff --git a/src/amuse_aarsethzare/packages/amuse-aarsethzare.amuse_deps b/src/amuse_aarsethzare/packages/amuse-aarsethzare.amuse_deps new file mode 100644 index 0000000000..baeb5fdfec --- /dev/null +++ b/src/amuse_aarsethzare/packages/amuse-aarsethzare.amuse_deps @@ -0,0 +1,2 @@ +fortran mpi + diff --git a/src/amuse_aarsethzare/packages/amuse-aarsethzare/amuse_aarsethzare b/src/amuse_aarsethzare/packages/amuse-aarsethzare/amuse_aarsethzare new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_aarsethzare/packages/amuse-aarsethzare/amuse_aarsethzare @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_aarsethzare/packages/amuse-aarsethzare/pyproject.toml b/src/amuse_aarsethzare/packages/amuse-aarsethzare/pyproject.toml new file mode 100644 index 0000000000..1de89c38c9 --- /dev/null +++ b/src/amuse_aarsethzare/packages/amuse-aarsethzare/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-aarsethzare" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_aarsethzare/**/*.py"] +exclude = [ + "amuse_aarsethzare/packages", + "amuse_aarsethzare/support", + "amuse_aarsethzare/src", + "amuse_aarsethzare/tests" + ] +artifacts = ["amuse_aarsethzare/aarsethzare_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_aarsethzare/tests/"] + +testpaths = ["amuse_aarsethzare/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/aarsethzare/src/AarsethZare.f b/src/amuse_aarsethzare/src/AarsethZare.f similarity index 100% rename from src/amuse/community/aarsethzare/src/AarsethZare.f rename to src/amuse_aarsethzare/src/AarsethZare.f diff --git a/src/amuse/community/aarsethzare/src/Makefile b/src/amuse_aarsethzare/src/Makefile similarity index 100% rename from src/amuse/community/aarsethzare/src/Makefile rename to src/amuse_aarsethzare/src/Makefile diff --git a/src/amuse/community/aarsethzare/src/block.f b/src/amuse_aarsethzare/src/block.f similarity index 100% rename from src/amuse/community/aarsethzare/src/block.f rename to src/amuse_aarsethzare/src/block.f diff --git a/src/amuse/community/aarsethzare/src/data.f b/src/amuse_aarsethzare/src/data.f similarity index 100% rename from src/amuse/community/aarsethzare/src/data.f rename to src/amuse_aarsethzare/src/data.f diff --git a/src/amuse/community/aarsethzare/src/derqp.f b/src/amuse_aarsethzare/src/derqp.f similarity index 100% rename from src/amuse/community/aarsethzare/src/derqp.f rename to src/amuse_aarsethzare/src/derqp.f diff --git a/src/amuse/community/aarsethzare/src/difsy1.f b/src/amuse_aarsethzare/src/difsy1.f similarity index 100% rename from src/amuse/community/aarsethzare/src/difsy1.f rename to src/amuse_aarsethzare/src/difsy1.f diff --git a/src/amuse/community/aarsethzare/src/euler.f b/src/amuse_aarsethzare/src/euler.f similarity index 100% rename from src/amuse/community/aarsethzare/src/euler.f rename to src/amuse_aarsethzare/src/euler.f diff --git a/src/amuse/community/aarsethzare/src/peri.f b/src/amuse_aarsethzare/src/peri.f similarity index 100% rename from src/amuse/community/aarsethzare/src/peri.f rename to src/amuse_aarsethzare/src/peri.f diff --git a/src/amuse/community/aarsethzare/src/test.f90 b/src/amuse_aarsethzare/src/test.f90 similarity index 100% rename from src/amuse/community/aarsethzare/src/test.f90 rename to src/amuse_aarsethzare/src/test.f90 diff --git a/src/amuse/community/aarsethzare/src/transf.f b/src/amuse_aarsethzare/src/transf.f similarity index 100% rename from src/amuse/community/aarsethzare/src/transf.f rename to src/amuse_aarsethzare/src/transf.f diff --git a/src/amuse/community/aarsethzare/src/transform.f b/src/amuse_aarsethzare/src/transform.f similarity index 100% rename from src/amuse/community/aarsethzare/src/transform.f rename to src/amuse_aarsethzare/src/transform.f diff --git a/src/amuse/community/aarsethzare/src/triple.f b/src/amuse_aarsethzare/src/triple.f similarity index 100% rename from src/amuse/community/aarsethzare/src/triple.f rename to src/amuse_aarsethzare/src/triple.f diff --git a/src/amuse_aarsethzare/support/aclocal.m4 b/src/amuse_aarsethzare/support/aclocal.m4 new file mode 100644 index 0000000000..a0863e8de2 --- /dev/null +++ b/src/amuse_aarsethzare/support/aclocal.m4 @@ -0,0 +1,19 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/fortran.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_aarsethzare/support/config.mk.in b/src/amuse_aarsethzare/support/config.mk.in new file mode 100644 index 0000000000..ec7f3d8344 --- /dev/null +++ b/src/amuse_aarsethzare/support/config.mk.in @@ -0,0 +1,17 @@ +FC = @FC@ +MPIFC = @MPIFC@ + +FCFLAGS = @FCFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + +AR = @AR@ +RANLIB = @RANLIB@ + +FORSOCKETS_CFLAGS = @FORSOCKETS_CFLAGS@ +FORSOCKETS_LIBS = @FORSOCKETS_LIBS@ + +AMUSE_MPI_CFLAGS = @AMUSE_MPI_CFLAGS@ +AMUSE_MPI_LIBS = @AMUSE_MPI_LIBS@ + diff --git a/src/amuse_aarsethzare/support/configure b/src/amuse_aarsethzare/support/configure new file mode 100755 index 0000000000..f4328a5464 --- /dev/null +++ b/src/amuse_aarsethzare/support/configure @@ -0,0 +1,5966 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-aarsethzare 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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" + if (eval "$as_required") 2>/dev/null +then : + as_have_required=yes +else $as_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-aarsethzare' +PACKAGE_TARNAME='amuse-aarsethzare' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-aarsethzare 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +FOUND_AMUSE_MPI +AMUSE_MPI_LIBS +AMUSE_MPI_CFLAGS +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CPPFLAGS +CFLAGS +CC +RANLIB +AR +target_os +target_vendor +target_cpu +target +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +MPILIBS +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +OBJEXT +EXEEXT +ac_ct_FC +LDFLAGS +FCFLAGS +FC +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +FC +FCFLAGS +LDFLAGS +LIBS +MPIFC +CC +CFLAGS +CPPFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS +AMUSE_MPI_CFLAGS +AMUSE_MPI_LIBS' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-aarsethzare 1.0 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/amuse-aarsethzare] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-aarsethzare 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + FC Fortran compiler command + FCFLAGS Fortran 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 + MPIFC MPI Fortran compiler command + CC C compiler command + CFLAGS C compiler flags + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + 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 + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + AMUSE_MPI_CFLAGS + C compiler flags for AMUSE_MPI, overriding pkg-config + AMUSE_MPI_LIBS + linker flags for AMUSE_MPI, overriding pkg-config + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-aarsethzare configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-aarsethzare $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set the worker language +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + +# Find the compiler +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the Fortran compiler works" >&5 +printf %s "checking whether the Fortran compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "Fortran compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler default output file name" >&5 +printf %s "checking for Fortran compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat > conftest.$ac_ext <<_ACEOF + program main + open(unit=9,file='conftest.out') + close(unit=9) + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run Fortran compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +fi +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + +# Find MPI + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + +FC="$MPIFC" +LIBS="$MPILIBS $LIBS" + +# Find tools for creating static libraries + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +fi + +fi + + + ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$AMUSE_MPI_CFLAGS" + amuse_save_LIB_LIBS="$AMUSE_MPI_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing get_comm_world" >&5 +printf %s "checking for library containing get_comm_world... " >&6; } +if test ${ac_cv_search_get_comm_world+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char get_comm_world (); +int +main (void) +{ +return get_comm_world (); + ; + return 0; +} +_ACEOF +for ac_lib in '' amuse_mpi +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_get_comm_world=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_get_comm_world+y} +then : + break +fi +done +if test ${ac_cv_search_get_comm_world+y} +then : + +else $as_nop + ac_cv_search_get_comm_world=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_get_comm_world" >&5 +printf "%s\n" "$ac_cv_search_get_comm_world" >&6; } +ac_res=$ac_cv_search_get_comm_world +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_AMUSE_MPI="yes" + AMUSE_MPI_LIBS="$LIBS" + AMUSE_MPI_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for AMUSE_MPI" >&5 +printf %s "checking for AMUSE_MPI... " >&6; } + +if test -n "$AMUSE_MPI_CFLAGS"; then + pkg_cv_AMUSE_MPI_CFLAGS="$AMUSE_MPI_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"amuse_mpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "amuse_mpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_AMUSE_MPI_CFLAGS=`$PKG_CONFIG --cflags "amuse_mpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$AMUSE_MPI_LIBS"; then + pkg_cv_AMUSE_MPI_LIBS="$AMUSE_MPI_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"amuse_mpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "amuse_mpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_AMUSE_MPI_LIBS=`$PKG_CONFIG --libs "amuse_mpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + AMUSE_MPI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "amuse_mpi" 2>&1` + else + AMUSE_MPI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "amuse_mpi" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$AMUSE_MPI_PKG_ERRORS" >&5 + + + FOUND_AMUSE_MPI="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_AMUSE_MPI="no" + +else + AMUSE_MPI_CFLAGS=$pkg_cv_AMUSE_MPI_CFLAGS + AMUSE_MPI_LIBS=$pkg_cv_AMUSE_MPI_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_AMUSE_MPI="yes" + +fi + +fi + + + ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_AMUSE_MPI}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + AMUSE_MPI_CFLAGS="${AMUSE_MPI_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + AMUSE_MPI_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + AMUSE_MPI_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-aarsethzare $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-aarsethzare config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_aarsethzare/support/configure.ac b/src/amuse_aarsethzare/support/configure.ac new file mode 100644 index 0000000000..70bb666e42 --- /dev/null +++ b/src/amuse_aarsethzare/support/configure.ac @@ -0,0 +1,36 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-aarsethzare], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set the worker language +AC_LANG([Fortran]) + +# Find the compiler +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + +# Find MPI +AX_MPI() +FC="$MPIFC" +LIBS="$MPILIBS $LIBS" + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + +# Find AMUSE libraries +AMUSE_LIB_FORSOCKETS() +AMUSE_LIB_AMUSE_MPI() + + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_aarsethzare/support/shared b/src/amuse_aarsethzare/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_aarsethzare/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_aarsethzare.py b/src/amuse_aarsethzare/tests/test_aarsethzare.py similarity index 97% rename from src/amuse/test/suite/codes_tests/test_aarsethzare.py rename to src/amuse_aarsethzare/tests/test_aarsethzare.py index e2d7a242ec..79705803db 100644 --- a/src/amuse/test/suite/codes_tests/test_aarsethzare.py +++ b/src/amuse_aarsethzare/tests/test_aarsethzare.py @@ -1,10 +1,10 @@ -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI import os import sys import numpy import math -from amuse.community.aarsethzare.interface import AarsethZareInterface, AarsethZare +from amuse_aarsethzare.interface import AarsethZareInterface, AarsethZare from amuse.units import nbody_system from amuse.units import units diff --git a/src/amuse_adaptb/Makefile b/src/amuse_adaptb/Makefile new file mode 100644 index 0000000000..88de83b430 --- /dev/null +++ b/src/amuse_adaptb/Makefile @@ -0,0 +1,77 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library +DEPFLAGS += $(STOPCOND_CFLAGS) +DEPFLAGS += $(GMP_FLAGS) $(MPFR_FLAGS) + +CFLAGS += $(DEPFLAGS) + +LDLIBS += $(STOPCOND_LIBS) + +LDLIBS += $(GMP_LIBS) +LDLIBS += $(MPFR_LIBS) -ldl + + +CODELIB = src/libadaptb.a + + +.PHONY: $(CODELIB) +$(CODELIB): + $(MAKE) -C src -j $(CPU_COUNT) all + + +# Building the workers +adaptb_worker.h: interface.py + amusifier --type=h interface.py AdaptbInterface -o $@ + +adaptb_worker.cc: interface.py + amusifier --type=c interface.py AdaptbInterface -o $@ + +adaptb_worker.o: adaptb_worker.cc adaptb_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + +adaptb_worker: interface.o adaptb_worker.o $(CODELIB) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +interface.o: interface.cc adaptb_worker.h + $(MPICXX) -o $@ -c $(CFLAGS) -Isrc $< + + +# Which packages contain which workers? +amuse-adaptb_contains: adaptb_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_adaptb/__init__.py b/src/amuse_adaptb/__init__.py new file mode 100644 index 0000000000..e709bde051 --- /dev/null +++ b/src/amuse_adaptb/__init__.py @@ -0,0 +1 @@ +from .interface import Adaptb diff --git a/src/amuse/community/adaptb/functions.py b/src/amuse_adaptb/functions.py similarity index 100% rename from src/amuse/community/adaptb/functions.py rename to src/amuse_adaptb/functions.py diff --git a/src/amuse_adaptb/interface.cc b/src/amuse_adaptb/interface.cc new file mode 100644 index 0000000000..cad705c6d1 --- /dev/null +++ b/src/amuse_adaptb/interface.cc @@ -0,0 +1,446 @@ +//////////////////////////////////////////////////////// +// Includes +//////////////////////////////////////////////////////// +#include +#include +#include "Bs_integrator.h" +#include "Clock.h" +#include +#include "adaptb_worker.h" + +#define MAX_STRING_LEN 1024 +using namespace mpfr; +using namespace std; + +//////////////////////////////////////////////////////// +// Set precision +//////////////////////////////////////////////////////// +int numBits = 64; +int Lw = numBits/4; +static double begin_time = 0; + +static char string_output[MAX_STRING_LEN]; + +ofstream odata; + +//////////////////////////////////////////////////////// +// Declare global variables +//////////////////////////////////////////////////////// +string out_directory, file_out, file_log; +int sim_state = 0; +int n_max, k_max; +// 'global' mpreals can only be implemented as static members of a class: +class mpreal_globals { + public: + static mpreal epsilon; // Bulirsch-Stoer tolerance + static mpreal dt_print; + static mpreal dt_max; + static mpreal dt_factor; + static mpreal t_lim; + static mpreal E0; + static mpreal E; + static mpreal dE; +}; +mpreal mpreal_globals::epsilon = "1.0e-6"; // Bulirsch-Stoer tolerance +mpreal mpreal_globals::dt_print = "0.1"; // Regular print intervals +mpreal mpreal_globals::dt_max = "0.01"; // Maximum time steps +mpreal mpreal_globals::dt_factor = "0.1"; // time step multiplication factor +mpreal mpreal_globals::t_lim = "3600"; // Maximum CPU time in seconds +mpreal mpreal_globals::E = "0"; +mpreal mpreal_globals::E0 = "0"; +mpreal mpreal_globals::dE = "0"; + +//////////////////////////////////////////////////////// +// Declare global objects +//////////////////////////////////////////////////////// +std::map local_index_map; +int particle_id_counter = 0; +Cluster *cluster = NULL; +Bs_integrator *bs = NULL; +Clock *myclock = NULL; + +//////////////////////////////////////////////////////// +// Amuse interface functions +//////////////////////////////////////////////////////// +int initialize_code() { + mpreal::set_default_prec(numBits); + cout.precision(Lw); + odata.precision(Lw); + + out_directory = "./"; + file_out = "file.out"; // Outfile for phase space coordinates + file_log = "file.log"; // Outfile for input/output numbers + begin_time = 0; + n_max = 64; // Bulirsch-Stoer sub step variables + k_max = 64; + + cluster = new Cluster(); + return 0; +} + +int new_particle_string(int *particle_identifier, char* mass, + char* x, char* y, char* z, char* vx, char* vy, char* vz, char* radius) { + cluster->add_star(particle_id_counter, mass, radius, x, y, z, vx, vy, vz); + *particle_identifier = particle_id_counter; + particle_id_counter++; + return 0; +} +int new_particle_float64(int *particle_identifier, double mass, + double x, double y, double z, double vx, double vy, double vz, double radius) { + cluster->add_star(particle_id_counter, mass, radius, x, y, z, vx, vy, vz); + *particle_identifier = particle_id_counter; + particle_id_counter++; + return 0; +} +int commit_particles() { + cluster->set_N(particle_id_counter); + cluster->set_t( begin_time ); + cluster->print(odata); + + cerr << endl; + cerr << myclock->get_progress() << "%" << endl; + + // Initial calculations + mpreal_globals::E0 = cluster->get_E(); + return 0; +} + +// Bulirsch-Stoer tolerance, epsilon +int set_bs_tolerance_string(char *bs_tolerance) { + mpreal_globals::epsilon = bs_tolerance; + return 0; +} +int get_bs_tolerance_string(char **bs_tolerance) { + strncpy(string_output, (char*) mpreal_globals::epsilon.toString().c_str(), MAX_STRING_LEN - 1); + string_output[MAX_STRING_LEN - 1] = 0; + *bs_tolerance = string_output; + return 0; +} +int set_bs_tolerance_float64(double bs_tolerance) { + mpreal_globals::epsilon = (mpreal) bs_tolerance; + return 0; +} +int get_bs_tolerance_float64(double *bs_tolerance) { + *bs_tolerance = mpreal_globals::epsilon.toDouble(); + return 0; +} +// Word-length, Lw in mantissa +int set_word_length(int myLw) { + numBits = myLw; + mpreal::set_default_prec(numBits); // Do this now, to make sure that ... + // ... other (mpreal) parameters are stored at this precision! + cout << "New word-length = " << numBits << endl; + return 0; +} +int get_word_length(int *myLw) { + *myLw = numBits; + return 0; +} +// Softening squared +int set_eps2(double eps2) { + cluster->force.softening_sq = (mpreal) eps2; + return 0; +} +int get_eps2(double *eps2) { + *eps2 = cluster->force.softening_sq.toDouble(); + return 0; +} +// Regular print intervals +int set_dt_print(double print_interval) { + mpreal_globals::dt_print = print_interval; + mpreal_globals::dt_max = mpreal_globals::dt_print / "10"; + return 0; +} +int get_dt_print(double *print_interval) { + *print_interval = mpreal_globals::dt_print.toDouble(); + return 0; +} +// max cpu time +int set_max_cpu_time(double max_cpu_time) { + mpreal_globals::t_lim = max_cpu_time; + return 0; +} +int get_max_cpu_time(double *max_cpu_time) { + *max_cpu_time = mpreal_globals::t_lim.toDouble(); + return 0; +} +int set_adaptb_output_directory(char *output_directory){ + out_directory = std::string(output_directory); + if(out_directory.length() > 0){ + if(*out_directory.rbegin() != '/'){ + out_directory.append("/"); + } + } + return 0; +} +int get_adaptb_output_directory(char **output_directory){ + *output_directory = (char*) out_directory.c_str(); + return 0; +} +int get_time_step(double* dt){ + if (myclock == NULL) { // Parameters have not been committed yet -> return default + *dt = mpreal_globals::dt_max.toDouble(); + } else { + *dt = myclock->get_dt().toDouble(); + } + return 0; +} + +int commit_parameters() { + cout.precision(numBits/4); + odata.precision(numBits/4); + + bs = new Bs_integrator(mpreal_globals::epsilon, n_max, k_max); + myclock = new Clock("0", "1", mpreal_globals::dt_print, mpreal_globals::dt_max, mpreal_globals::dt_factor); + myclock->Start_timer(); + cluster->set_t( begin_time ); + myclock->set_t( begin_time ); + odata.open( (out_directory + file_out).c_str() ); + if( !odata ) { + cerr << "Could not open " << (out_directory + file_out) << "!" << endl; + sim_state = 1; + return -1; + } + return 0; +} +int recommit_parameters() { + return commit_parameters(); +} + +int get_mass(int id, double*mass) { + if (id < 0 || id >= particle_id_counter){ + return -3; + } + *mass = cluster->get_pointer_to_star(id)->m.toDouble(); + return 0; +} +int set_mass(int id, double mass) { + if (id < 0 || id >= particle_id_counter){ + return -3; + } + cluster->get_pointer_to_star(id)->m = mass; + return 0; +} +int get_position(int id, double* x, double* y, double* z) { + if (id < 0 || id >= particle_id_counter){ + return -3; + } + *x = cluster->get_pointer_to_star(id)->x.toDouble(); + *y = cluster->get_pointer_to_star(id)->y.toDouble(); + *z = cluster->get_pointer_to_star(id)->z.toDouble(); + return 0; +} +int set_position(int id, double x, double y, double z) { + if (id < 0 || id >= particle_id_counter){ + return -3; + } + cluster->get_pointer_to_star(id)->x = x; + cluster->get_pointer_to_star(id)->y = y; + cluster->get_pointer_to_star(id)->z = z; + return 0; +} +int get_velocity(int id, double* vx, double* vy, double* vz) { + if (id < 0 || id >= particle_id_counter){ + return -3; + } + *vx = cluster->get_pointer_to_star(id)->vx.toDouble(); + *vy = cluster->get_pointer_to_star(id)->vy.toDouble(); + *vz = cluster->get_pointer_to_star(id)->vz.toDouble(); + return 0; +} +int set_velocity(int id, double vx, double vy, double vz) { + if (id < 0 || id >= particle_id_counter){ + return -3; + } + cluster->get_pointer_to_star(id)->vx = vx; + cluster->get_pointer_to_star(id)->vy = vy; + cluster->get_pointer_to_star(id)->vz = vz; + return 0; +} +int get_state(int id, double* m, double* x, double* y, double* z, double* vx, double* vy, double* vz, double* radius) { + if (id < 0 || id >= particle_id_counter){ + return -3; + } + *radius = cluster->get_pointer_to_star(id)->radius.toDouble(); + *m = cluster->get_pointer_to_star(id)->m.toDouble(); + *x = cluster->get_pointer_to_star(id)->x.toDouble(); + *y = cluster->get_pointer_to_star(id)->y.toDouble(); + *z = cluster->get_pointer_to_star(id)->z.toDouble(); + *vx = cluster->get_pointer_to_star(id)->vx.toDouble(); + *vy = cluster->get_pointer_to_star(id)->vy.toDouble(); + *vz = cluster->get_pointer_to_star(id)->vz.toDouble(); + return 0; +} +int set_state(int id, double m, double x, double y, double z, double vx, double vy, double vz, double radius) { + if (id < 0 || id >= particle_id_counter){ + return -3; + } + cluster->get_pointer_to_star(id)->radius = radius; + cluster->get_pointer_to_star(id)->m = m; + cluster->get_pointer_to_star(id)->x = x; + cluster->get_pointer_to_star(id)->y = y; + cluster->get_pointer_to_star(id)->z = z; + cluster->get_pointer_to_star(id)->vx = vx; + cluster->get_pointer_to_star(id)->vy = vy; + cluster->get_pointer_to_star(id)->vz = vz; + return 0; +} +int get_radius(int id, double* radius){ + if (id < 0 || id >= particle_id_counter){ + return -3; + } + *radius = cluster->get_pointer_to_star(id)->radius.toDouble(); + return 0; +} +int set_radius(int id, double radius) { + if (id < 0 || id >= particle_id_counter){ + return -3; + } + cluster->get_pointer_to_star(id)->radius = radius; + return 0; +} + +int evolve_model(double t) { + myclock->set_t_begin_and_end(myclock->get_t(), t); + while( !myclock->alarm() ) { + cluster->calc_a_dt(); + myclock->calc_dt( cluster->get_dt() ); + + mpreal dt = myclock->get_dt(); + bs->integrate(*cluster, dt); + myclock->set_dt(dt); + + if( !bs->converged() ) { + cerr << "No Convergence Reached, Simulation Aborted!" << endl; + sim_state = 2; + myclock->abort(); + } else { + myclock->tick(); + cluster->set_t( myclock->get_t() ); + + if( myclock->to_print() ) { + Cluster cl_exp = *cluster; + + cl_exp.calc_a(); + mpreal dt_exp = myclock->get_t_print() - myclock->get_t(); + + bs->integrate(cl_exp, dt_exp); + + cl_exp.set_t( myclock->get_t_print() ); + cl_exp.print(odata); + + cout << myclock->get_progress() << "%" << endl; + } + + if( myclock->read() > mpreal_globals::t_lim) { + sim_state = 3; + myclock->abort(); + } + + } + + } + + cluster->calc_a(); + mpreal dt = myclock->get_t_end() - myclock->get_t(); + bs->integrate(*cluster, dt); + cluster->set_t( myclock->get_t_end() ); + myclock->set_t(myclock->get_t_end()); + cluster->print(odata); + + mpreal_globals::E = cluster->get_E(); + mpreal_globals::dE = log10(abs((mpreal_globals::E-mpreal_globals::E0)/mpreal_globals::E0)); + + return 0; +} +int synchronize_model() { + return 0; +} +int cleanup_code() { + numBits = 64; + Lw = numBits/4; + begin_time = 0; + mpreal_globals::epsilon = "1.0e-6"; // Bulirsch-Stoer tolerance + mpreal_globals::dt_print = "0.1"; // Regular print intervals + mpreal_globals::dt_max = "0.01"; // Maximum time steps + mpreal_globals::dt_factor = "0.1"; // time step multiplication factor + mpreal_globals::t_lim = "3600"; // Maximum CPU time in seconds + mpreal_globals::E = "0"; + mpreal_globals::E0 = "0"; + mpreal_globals::dE = "0"; + + + mpreal t_cpu; + + if (odata.is_open()){ + odata.close(); + myclock->stop_timer(); + t_cpu = myclock->get_timer(); + delete myclock; + delete bs; + } else { + t_cpu = "0"; + } + + odata.open( (out_directory + file_log).c_str() ); + if ( !odata ) { + cerr << "Could not open " << file_log << "!" << endl; + return -1; + } else { + odata << "sim_state = " << sim_state << endl; + odata << "N = " << cluster->get_N() << endl; + odata << "t_sim = " << cluster->get_t() << endl; + odata << "dt_print = " << mpreal_globals::dt_print << endl; + odata << "dt_max = " << mpreal_globals::dt_max << endl; + odata << "dt_factor = " << mpreal_globals::dt_factor << endl; + odata << "epsilon = " << mpreal_globals::epsilon << endl; + odata << "numBits = " << numBits << endl; + odata << "softening = " << cluster->get_pointer_to_force()->softening_sq << endl; + odata << "t_cpu = " << t_cpu << endl; + odata << "dE = " << mpreal_globals::dE << endl; + } + odata.close(); + delete cluster; + cluster = 0; + particle_id_counter = 0; + return 0; +} + + +int delete_particle(int id) { + return -2; +} +int recommit_particles() { + return -2; +} + + +int set_begin_time(double input) { + begin_time = input; + return 0; +} + +int get_begin_time(double * output) { + *output = begin_time; + return 0; +} + +int get_time(double* time){ + *time = myclock->get_t().toDouble(); + return 0; +} + +int get_potential(int id, double* pot){return -2;} +int get_gravity_at_point(double m, double x, double y, double z, double* rx, double* ry, double* rz){return -2;} +int get_number_of_particles(int* N){return -2;} +int get_potential_at_point(double m, double x, double y, double z, double* p){return -2;} +int get_center_of_mass_position(double* x , double* y, double* z){return -2;} +int get_total_radius(double* R){return -2;} +int get_index_of_first_particle(int* id){return -2;} +int get_index_of_next_particle(int id, int* idnext){return -2;} +int get_total_mass(double* M){return -2;} +int get_kinetic_energy(double* ek){return -2;} +int get_potential_energy(double* ep){return -2;} +int get_center_of_mass_velocity(double* vx, double* vy, double* vz){return -2;} +int get_acceleration(int id, double* ax, double* ay, double* az){return -2;} + diff --git a/src/amuse_adaptb/interface.py b/src/amuse_adaptb/interface.py new file mode 100644 index 0000000000..e68e1ce970 --- /dev/null +++ b/src/amuse_adaptb/interface.py @@ -0,0 +1,239 @@ +import warnings + +from amuse.community import * +from amuse.community.interface.gd import GravitationalDynamicsInterface, GravitationalDynamics + +class AdaptbInterface(CodeInterface, GravitationalDynamicsInterface, LiteratureReferencesMixIn, + StoppingConditionInterface, CodeWithDataDirectories): + """ + Adaptb (Accurate Dynamics with Arbitrary Precision by Tjarda Boekholt) + """ + include_headers = ['adaptb_worker.h', 'stopcond.h'] + + def __init__(self, **options): + CodeInterface.__init__(self, name_of_the_worker="adaptb_worker", **options) + LiteratureReferencesMixIn.__init__(self) + CodeWithDataDirectories.__init__(self) + warnings.warn("Adaptb is superseded by Brutus") + + @legacy_function + def get_adaptb_output_directory(): + function = LegacyFunctionSpecification() + function.addParameter('adaptb_output_directory', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_adaptb_output_directory(): + function = LegacyFunctionSpecification() + function.addParameter('adaptb_output_directory', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def new_particle_float64(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('identity_of_the_particle', dtype='int32', direction=function.OUT) + function.addParameter('mass', dtype='float64', direction=function.IN, description = "The mass of the particle") + function.addParameter('x', dtype='float64', direction=function.IN, description = "The initial position vector of the particle") + function.addParameter('y', dtype='float64', direction=function.IN, description = "The initial position vector of the particle") + function.addParameter('z', dtype='float64', direction=function.IN, description = "The initial position vector of the particle") + function.addParameter('vx', dtype='float64', direction=function.IN, description = "The initial velocity vector of the particle") + function.addParameter('vy', dtype='float64', direction=function.IN, description = "The initial velocity vector of the particle") + function.addParameter('vz', dtype='float64', direction=function.IN, description = "The initial velocity vector of the particle") + function.addParameter('radius', dtype='float64', direction=function.IN, description = "The radius of the particle", default = 0) + function.result_type = 'int32' + return function + + @legacy_function + def new_particle_string(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('identity_of_the_particle', dtype='int32', direction=function.OUT) + function.addParameter('mass', dtype='string', direction=function.IN, description = "The mass of the particle") + function.addParameter('x', dtype='string', direction=function.IN, description = "The initial position vector of the particle") + function.addParameter('y', dtype='string', direction=function.IN, description = "The initial position vector of the particle") + function.addParameter('z', dtype='string', direction=function.IN, description = "The initial position vector of the particle") + function.addParameter('vx', dtype='string', direction=function.IN, description = "The initial velocity vector of the particle") + function.addParameter('vy', dtype='string', direction=function.IN, description = "The initial velocity vector of the particle") + function.addParameter('vz', dtype='string', direction=function.IN, description = "The initial velocity vector of the particle") + function.addParameter('radius', dtype='string', direction=function.IN, description = "The radius of the particle", default='0') + function.result_type = 'int32' + return function + + def new_particle(self, mass, x,y,z, vx,vy,vz, radius = 0): + if isinstance(mass, str): + return self.new_particle_string(mass, x,y,z, vx,vy,vz, radius = str(radius)) + else: + return self.new_particle_float64(mass, x,y,z, vx,vy,vz, radius = radius) + + @legacy_function + def get_bs_tolerance_string(): + function = LegacyFunctionSpecification() + function.addParameter('bs_tolerance', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + @legacy_function + def set_bs_tolerance_string(): + function = LegacyFunctionSpecification() + function.addParameter('bs_tolerance', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + @legacy_function + def get_bs_tolerance_float64(): + function = LegacyFunctionSpecification() + function.addParameter('bs_tolerance', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + @legacy_function + def set_bs_tolerance_float64(): + function = LegacyFunctionSpecification() + function.addParameter('bs_tolerance', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_word_length(): + function = LegacyFunctionSpecification() + function.addParameter('word_length', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + @legacy_function + def set_word_length(): + function = LegacyFunctionSpecification() + function.addParameter('word_length', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_dt_print(): + function = LegacyFunctionSpecification() + function.addParameter('dt_print', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + @legacy_function + def set_dt_print(): + function = LegacyFunctionSpecification() + function.addParameter('dt_print', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_max_cpu_time(): + function = LegacyFunctionSpecification() + function.addParameter('max_cpu_time', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + @legacy_function + def set_max_cpu_time(): + function = LegacyFunctionSpecification() + function.addParameter('max_cpu_time', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + + +class Adaptb(GravitationalDynamics): + + def __init__(self, convert_nbody = None, **options): + self.stopping_conditions = StoppingConditions(self) + + legacy_interface = AdaptbInterface(**options) + self.legacy_doc = legacy_interface.__doc__ + + GravitationalDynamics.__init__( + self, + legacy_interface, + convert_nbody, + **options + ) + + def initialize_code(self): + result = self.overridden().initialize_code() + self.parameters.adaptb_output_directory = self.output_directory + return result + + def define_parameters(self, handler): + GravitationalDynamics.define_parameters(self, handler) + self.stopping_conditions.define_parameters(handler) + + handler.add_method_parameter( + "get_bs_tolerance_float64", + "set_bs_tolerance_float64", + "bs_tolerance", + "Error tolerance of the Bulirsch-Stoer integrator", + default_value = 1.0e-6 + ) + + handler.add_method_parameter( + "get_eps2", + "set_eps2", + "epsilon_squared", + "smoothing parameter for gravity calculations, usage is not recommended for Adaptb", + default_value = 0.0 | nbody_system.length**2 + ) + + handler.add_method_parameter( + "get_dt_print", + "set_dt_print", + "dt_print", + "dt_print, regular print interval to show status (% complete) of evolve_model", + default_value = 0.1 | nbody_system.time + ) + + handler.add_method_parameter( + "get_word_length", + "set_word_length", + "word_length", + "The word length, or number of bits, used for the arbitrary precision calculations", + default_value = 64 + ) + + handler.add_method_parameter( + "get_adaptb_output_directory", + "set_adaptb_output_directory", + "adaptb_output_directory", + "Path to the directory where Adaptb stores its output", + default_value = "./" + ) + + handler.add_method_parameter( + "get_max_cpu_time", + "set_max_cpu_time", + "time_limit_cpu", + "The cpu-time limit, the maximum amount of time Adaptb is allowed to run for.", + default_value = 3600.0 | units.s + ) + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + self.stopping_conditions.define_methods(handler) + + handler.add_method("get_bs_tolerance_float64", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_bs_tolerance_float64", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) + + handler.add_method("get_eps2", (), (nbody_system.length**2, handler.ERROR_CODE,)) + handler.add_method("set_eps2", (nbody_system.length**2, ), (handler.ERROR_CODE,)) + + handler.add_method("get_dt_print", (), (nbody_system.time, handler.ERROR_CODE,)) + handler.add_method("set_dt_print", (nbody_system.time, ), (handler.ERROR_CODE,)) + + handler.add_method("get_word_length", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_word_length", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) + + handler.add_method("get_adaptb_output_directory", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_adaptb_output_directory", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) + + handler.add_method("get_max_cpu_time", (), (units.s, handler.ERROR_CODE,)) + handler.add_method("set_max_cpu_time", (units.s, ), (handler.ERROR_CODE,)) + + def define_particle_sets(self, handler): + GravitationalDynamics.define_particle_sets(self, handler) + self.stopping_conditions.define_particle_set(handler) + + + def define_state(self, handler): + GravitationalDynamics.define_state(self, handler) + self.stopping_conditions.define_state(handler) + diff --git a/src/amuse_adaptb/packages/amuse-adaptb.amuse_deps b/src/amuse_adaptb/packages/amuse-adaptb.amuse_deps new file mode 100644 index 0000000000..8b363e3a2a --- /dev/null +++ b/src/amuse_adaptb/packages/amuse-adaptb.amuse_deps @@ -0,0 +1 @@ +c++ mpi gmp mpfr diff --git a/src/amuse_adaptb/packages/amuse-adaptb/amuse_adaptb b/src/amuse_adaptb/packages/amuse-adaptb/amuse_adaptb new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_adaptb/packages/amuse-adaptb/amuse_adaptb @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_adaptb/packages/amuse-adaptb/pyproject.toml b/src/amuse_adaptb/packages/amuse-adaptb/pyproject.toml new file mode 100644 index 0000000000..997e204e86 --- /dev/null +++ b/src/amuse_adaptb/packages/amuse-adaptb/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-adaptb" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_adaptb/**/*.py"] +exclude = [ + "amuse_adaptb/packages", + "amuse_adaptb/support", + "amuse_adaptb/src", + "amuse_adaptb/tests" + ] +artifacts = ["amuse_adaptb/adaptb_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_adaptb/tests/"] + +testpaths = ["amuse_adaptb/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/adaptb/src/Bs_integrator.cpp b/src/amuse_adaptb/src/Bs_integrator.cpp similarity index 100% rename from src/amuse/community/adaptb/src/Bs_integrator.cpp rename to src/amuse_adaptb/src/Bs_integrator.cpp diff --git a/src/amuse/community/adaptb/src/Bs_integrator.h b/src/amuse_adaptb/src/Bs_integrator.h similarity index 100% rename from src/amuse/community/adaptb/src/Bs_integrator.h rename to src/amuse_adaptb/src/Bs_integrator.h diff --git a/src/amuse/community/adaptb/src/Clock.cpp b/src/amuse_adaptb/src/Clock.cpp similarity index 100% rename from src/amuse/community/adaptb/src/Clock.cpp rename to src/amuse_adaptb/src/Clock.cpp diff --git a/src/amuse/community/adaptb/src/Clock.h b/src/amuse_adaptb/src/Clock.h similarity index 100% rename from src/amuse/community/adaptb/src/Clock.h rename to src/amuse_adaptb/src/Clock.h diff --git a/src/amuse/community/adaptb/src/Cluster.cpp b/src/amuse_adaptb/src/Cluster.cpp similarity index 100% rename from src/amuse/community/adaptb/src/Cluster.cpp rename to src/amuse_adaptb/src/Cluster.cpp diff --git a/src/amuse/community/adaptb/src/Cluster.h b/src/amuse_adaptb/src/Cluster.h similarity index 100% rename from src/amuse/community/adaptb/src/Cluster.h rename to src/amuse_adaptb/src/Cluster.h diff --git a/src/amuse/community/adaptb/src/Dynamics.cpp b/src/amuse_adaptb/src/Dynamics.cpp similarity index 100% rename from src/amuse/community/adaptb/src/Dynamics.cpp rename to src/amuse_adaptb/src/Dynamics.cpp diff --git a/src/amuse/community/adaptb/src/Dynamics.h b/src/amuse_adaptb/src/Dynamics.h similarity index 100% rename from src/amuse/community/adaptb/src/Dynamics.h rename to src/amuse_adaptb/src/Dynamics.h diff --git a/src/amuse/community/adaptb/src/Force.cpp b/src/amuse_adaptb/src/Force.cpp similarity index 100% rename from src/amuse/community/adaptb/src/Force.cpp rename to src/amuse_adaptb/src/Force.cpp diff --git a/src/amuse/community/adaptb/src/Force.h b/src/amuse_adaptb/src/Force.h similarity index 100% rename from src/amuse/community/adaptb/src/Force.h rename to src/amuse_adaptb/src/Force.h diff --git a/src/amuse/community/adaptb/src/Star.cpp b/src/amuse_adaptb/src/Star.cpp similarity index 100% rename from src/amuse/community/adaptb/src/Star.cpp rename to src/amuse_adaptb/src/Star.cpp diff --git a/src/amuse/community/adaptb/src/Star.h b/src/amuse_adaptb/src/Star.h similarity index 100% rename from src/amuse/community/adaptb/src/Star.h rename to src/amuse_adaptb/src/Star.h diff --git a/src/amuse/community/adaptb/src/dlmalloc.c b/src/amuse_adaptb/src/dlmalloc.c similarity index 100% rename from src/amuse/community/adaptb/src/dlmalloc.c rename to src/amuse_adaptb/src/dlmalloc.c diff --git a/src/amuse/community/adaptb/src/dlmalloc.h b/src/amuse_adaptb/src/dlmalloc.h similarity index 100% rename from src/amuse/community/adaptb/src/dlmalloc.h rename to src/amuse_adaptb/src/dlmalloc.h diff --git a/src/amuse/community/adaptb/src/integrator_MS.cpp b/src/amuse_adaptb/src/integrator_MS.cpp similarity index 100% rename from src/amuse/community/adaptb/src/integrator_MS.cpp rename to src/amuse_adaptb/src/integrator_MS.cpp diff --git a/src/amuse/community/adaptb/src/makefile b/src/amuse_adaptb/src/makefile similarity index 100% rename from src/amuse/community/adaptb/src/makefile rename to src/amuse_adaptb/src/makefile diff --git a/src/amuse/community/adaptb/src/mpreal.h b/src/amuse_adaptb/src/mpreal.h similarity index 100% rename from src/amuse/community/adaptb/src/mpreal.h rename to src/amuse_adaptb/src/mpreal.h diff --git a/src/amuse_adaptb/support/aclocal.m4 b/src/amuse_adaptb/support/aclocal.m4 new file mode 100644 index 0000000000..1b1243d9fa --- /dev/null +++ b/src/amuse_adaptb/support/aclocal.m4 @@ -0,0 +1,21 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/gmp.m4]) +m4_include([shared/m4/mpfr.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_adaptb/support/config.mk.in b/src/amuse_adaptb/support/config.mk.in new file mode 100644 index 0000000000..143780486c --- /dev/null +++ b/src/amuse_adaptb/support/config.mk.in @@ -0,0 +1,32 @@ +# Compilers +CXX = @CXX@ +MPICXX = @MPICXX@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ + + +# General flags and libraries +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +STOPCOND_CFLAGS = @STOPCOND_CFLAGS@ +STOPCOND_LIBS = @STOPCOND_LIBS@ + + +# External dependencies +FOUND_GMP= @FOUND_GMP@ +GMP_FLAGS = @GMP_FLAGS@ +GMP_LIBS = @GMP_LIBS@ + +FOUND_MPFR = @FOUND_MPFR@ +MPFR_FLAGS = @MPFR_FLAGS@ +MPFR_LIBS = @MPFR_LIBS@ + diff --git a/src/amuse_adaptb/support/configure b/src/amuse_adaptb/support/configure new file mode 100755 index 0000000000..570734a5ca --- /dev/null +++ b/src/amuse_adaptb/support/configure @@ -0,0 +1,7021 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-adaptb 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-adaptb' +PACKAGE_TARNAME='amuse-adaptb' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-adaptb 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_STDIO_H +# include +#endif +#ifdef HAVE_STDLIB_H +# include +#endif +#ifdef HAVE_STRING_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_header_cxx_list= +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPFR_FLAGS +FOUND_MPFR +MPFR_LIBS +MPFR_CFLAGS +GMP_FLAGS +FOUND_GMP +GMP_LIBS +GMP_CFLAGS +MPILIBS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +FOUND_STOPCOND +STOPCOND_LIBS +STOPCOND_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CFLAGS +CC +RANLIB +AR +target_os +target_vendor +target_cpu +target +OBJEXT +EXEEXT +ac_ct_CXX +CPPFLAGS +LDFLAGS +CXXFLAGS +CXX +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +with_gmp +with_mpfr +' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CC +CFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCOND_CFLAGS +STOPCOND_LIBS +MPICXX +GMP_CFLAGS +GMP_LIBS +MPFR_CFLAGS +MPFR_LIBS' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-adaptb 1.0 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/amuse-adaptb] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-adaptb 1.0:";; + esac + cat <<\_ACEOF + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gmp=PFX Prefix where GMP has been installed + --with-mpfr=PFX Prefix where MPFR has been installed + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS 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 + CC C compiler command + CFLAGS C compiler flags + 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 + STOPCOND_CFLAGS + C compiler flags for STOPCOND, overriding pkg-config + STOPCOND_LIBS + linker flags for STOPCOND, overriding pkg-config + MPICXX MPI C++ compiler command + GMP_CFLAGS C compiler flags for GMP, overriding pkg-config + GMP_LIBS linker flags for GMP, overriding pkg-config + MPFR_CFLAGS C compiler flags for MPFR, overriding pkg-config + MPFR_LIBS linker flags for MPFR, overriding pkg-config + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-adaptb configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func + +# ac_fn_cxx_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_cxx_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_header_compile +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-adaptb $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +as_fn_append ac_header_cxx_list " stdio.h stdio_h HAVE_STDIO_H" +as_fn_append ac_header_cxx_list " stdlib.h stdlib_h HAVE_STDLIB_H" +as_fn_append ac_header_cxx_list " string.h string_h HAVE_STRING_H" +as_fn_append ac_header_cxx_list " inttypes.h inttypes_h HAVE_INTTYPES_H" +as_fn_append ac_header_cxx_list " stdint.h stdint_h HAVE_STDINT_H" +as_fn_append ac_header_cxx_list " strings.h strings_h HAVE_STRINGS_H" +as_fn_append ac_header_cxx_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" +as_fn_append ac_header_cxx_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" +as_fn_append ac_header_cxx_list " unistd.h unistd_h HAVE_UNISTD_H" + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 +printf %s "checking whether the C++ compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 +printf %s "checking for C++ compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCOND_CFLAGS" + amuse_save_LIB_LIBS="$STOPCOND_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing is_condition_enabled" >&5 +printf %s "checking for library containing is_condition_enabled... " >&6; } +if test ${ac_cv_search_is_condition_enabled+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char is_condition_enabled (); +int +main (void) +{ +return is_condition_enabled (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcond +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_is_condition_enabled=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_is_condition_enabled+y} +then : + break +fi +done +if test ${ac_cv_search_is_condition_enabled+y} +then : + +else $as_nop + ac_cv_search_is_condition_enabled=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_is_condition_enabled" >&5 +printf "%s\n" "$ac_cv_search_is_condition_enabled" >&6; } +ac_res=$ac_cv_search_is_condition_enabled +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCOND="yes" + STOPCOND_LIBS="$LIBS" + STOPCOND_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCOND" >&5 +printf %s "checking for STOPCOND... " >&6; } + +if test -n "$STOPCOND_CFLAGS"; then + pkg_cv_STOPCOND_CFLAGS="$STOPCOND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_CFLAGS=`$PKG_CONFIG --cflags "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCOND_LIBS"; then + pkg_cv_STOPCOND_LIBS="$STOPCOND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_LIBS=`$PKG_CONFIG --libs "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcond" 2>&1` + else + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcond" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCOND_PKG_ERRORS" >&5 + + + FOUND_STOPCOND="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCOND="no" + +else + STOPCOND_CFLAGS=$pkg_cv_STOPCOND_CFLAGS + STOPCOND_LIBS=$pkg_cv_STOPCOND_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCOND="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCOND}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCOND_CFLAGS="${STOPCOND_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCOND_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCOND_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + +ac_header= ac_cache= +for ac_item in $ac_header_cxx_list +do + if test $ac_cache; then + ac_fn_cxx_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" + if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then + printf "%s\n" "#define $ac_item 1" >> confdefs.h + fi + ac_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item + fi +done + + + + + + + + +if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes +then : + +printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h + +fi + + +# Check whether --with-gmp was given. +if test ${with_gmp+y} +then : + withval=$with_gmp; + test "$withval" = no && { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: gmp is a required package for some modules" >&5 +printf "%s\n" "$as_me: WARNING: gmp is a required package for some modules" >&2;} + test "$withval" = yes || gmp_prefix="$withval" + with_gmp=yes +else $as_nop + with_gmp=yes + +fi + + + if test "x$with_gmp" != xno +then : + + #user override + if test "x$GMP_LIBS" != x +then : + + have_gmp=yes + FOUND_GMP="yes" + +else $as_nop + + + + + saved_LIBS="$LIBS" + saved_CXXFLAGS="$CXXFLAGS" + GMP_LIBS="" + GMP_FLAGS="" + FOUND_GMP="no" + if test x$gmp_prefix == x; then + if test x$PREFIX != x; then + gmp_prefix=$PREFIX + fi + fi + if test x$gmp_prefix != x; then + ac_gmp_CFLAGS="-I$gmp_prefix/include" + ac_gmp_LDOPTS="-L$gmp_prefix/lib" + + + save_CFLAGS="$CFLAGS" + save_CPPFLAGS="$CPPFLAGS" + CFLAGS="$ac_gmp_CFLAGS $save_CFLAGS" + CPPFLAGS="$ac_gmp_CFLAGS $save_CPPFLAGS" + ac_fn_cxx_check_header_compile "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" +if test "x$ac_cv_header_gmp_h" = xyes +then : + GMP_FLAGS="$ac_gmp_CFLAGS" + FOUND_GMP="yes" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (gmp.h) of the library GMP in $gmp_prefix/include." >&5 +printf "%s\n" "$as_me: WARNING: Cannot find headers (gmp.h) of the library GMP in $gmp_prefix/include." >&2;} + +fi + + CFLAGS="$save_CFLAGS" + CPPFLAGS="$save_CPPFLAGS" + + if test x$FOUND_GMP == xyes; then + save_LIBS="$LIBS" + LIBS="$ac_gmp_LDOPTS -lgmp $save_LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __gmpz_init in -lgmp" >&5 +printf %s "checking for __gmpz_init in -lgmp... " >&6; } +if test ${ac_cv_lib_gmp___gmpz_init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgmp $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int __gmpz_init (); +} +int +main (void) +{ +return conftest::__gmpz_init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_gmp___gmpz_init=yes +else $as_nop + ac_cv_lib_gmp___gmpz_init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp___gmpz_init" >&5 +printf "%s\n" "$ac_cv_lib_gmp___gmpz_init" >&6; } +if test "x$ac_cv_lib_gmp___gmpz_init" = xyes +then : + GMP_LIBS="$ac_gmp_LDOPTS -lgmp" +else $as_nop + FOUND_GMP="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libgmp : library missing. (Cannot find symbol gmpz_init) in $gmp_prefix. Check if libgmp is installed and if the version is correct" >&5 +printf "%s\n" "$as_me: WARNING: libgmp : library missing. (Cannot find symbol gmpz_init) in $gmp_prefix. Check if libgmp is installed and if the version is correct" >&2;} + +fi + + LIBS="$save_LIBS" + fi + fi + if test x$FOUND_GMP != xyes; then + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GMP" >&5 +printf %s "checking for GMP... " >&6; } + +if test -n "$GMP_CFLAGS"; then + pkg_cv_GMP_CFLAGS="$GMP_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmp >= 3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gmp >= 3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GMP_CFLAGS=`$PKG_CONFIG --cflags "gmp >= 3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$GMP_LIBS"; then + pkg_cv_GMP_LIBS="$GMP_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmp >= 3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gmp >= 3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GMP_LIBS=`$PKG_CONFIG --libs "gmp >= 3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + GMP_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gmp >= 3" 2>&1` + else + GMP_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gmp >= 3" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$GMP_PKG_ERRORS" >&5 + + + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + +else + GMP_CFLAGS=$pkg_cv_GMP_CFLAGS + GMP_LIBS=$pkg_cv_GMP_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + GMP_FLAGS="$GMP_FLAGS" + GMP_LIBS="$GMP_LIBS" + FOUND_GMP=yes + +fi + + fi + + if test x$FOUND_GMP != xyes; then + ac_fn_cxx_check_header_compile "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" +if test "x$ac_cv_header_gmp_h" = xyes +then : + GMP_FLAGS="" + FOUND_GMP="yes" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (gmp.h) of the library GMP." >&5 +printf "%s\n" "$as_me: WARNING: Cannot find headers (gmp.h) of the library GMP." >&2;} + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __gmpz_init in -lgmp" >&5 +printf %s "checking for __gmpz_init in -lgmp... " >&6; } +if test ${ac_cv_lib_gmp___gmpz_init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgmp $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int __gmpz_init (); +} +int +main (void) +{ +return conftest::__gmpz_init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_gmp___gmpz_init=yes +else $as_nop + ac_cv_lib_gmp___gmpz_init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp___gmpz_init" >&5 +printf "%s\n" "$ac_cv_lib_gmp___gmpz_init" >&6; } +if test "x$ac_cv_lib_gmp___gmpz_init" = xyes +then : + GMP_LIBS="-lgmp" +else $as_nop + + FOUND_GMP="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libgmp : library missing. (Cannot find symbol gmpz_init). Check if libgmp is installed and if the version is correct" >&5 +printf "%s\n" "$as_me: WARNING: libgmp : library missing. (Cannot find symbol gmpz_init). Check if libgmp is installed and if the version is correct" >&2;} + +fi + + fi + + + +fi + +fi + + + + + + + + +# Check whether --with-mpfr was given. +if test ${with_mpfr+y} +then : + withval=$with_mpfr; + test "$withval" = no && { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: mpfr is a required package for some modules" >&5 +printf "%s\n" "$as_me: WARNING: mpfr is a required package for some modules" >&2;} + test "$withval" = yes || mpfr_prefix="$withval" + with_mpfr=yes +else $as_nop + with_mpfr=yes + +fi + + + if test "x$with_mpfr" != xno +then : + + #user override + if test "x$MPFR_LIBS" != x +then : + + have_mpfr=yes + FOUND_MPFR="yes" + +else $as_nop + + + + + saved_LIBS="$LIBS" + saved_CXXFLAGS="$CXXFLAGS" + MPFR_LIBS="" + MPFR_FLAGS="" + FOUND_MPFR="no" + if test x$mpfr_prefix == x; then + if test x$PREFIX != x; then + mpfr_prefix=$PREFIX + fi + fi + if test x$mpfr_prefix != x; then + ac_mpfr_CFLAGS="-I$mpfr_prefix/include" + ac_mpfr_LDOPTS="-L$mpfr_prefix/lib" + + + save_CFLAGS="$CFLAGS" + save_CPPFLAGS="$CPPFLAGS" + CFLAGS="$ac_mpfr_CFLAGS $save_CFLAGS" + CPPFLAGS="$ac_mpfr_CFLAGS $save_CPPFLAGS" + + cache_var=ac_cv_header_mpfr_h + ac_fn_cxx_check_header_compile "$LINENO" "mpfr.h" "ac_cv_header_mpfr_h" "$ac_includes_default" +if test "x$ac_cv_header_mpfr_h" = xyes +then : + MPFR_FLAGS="$ac_mpfr_CFLAGS" + FOUND_MPFR="yes" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (mpfr.h) of the library MPFR in $mpfr_prefix/include." >&5 +printf "%s\n" "$as_me: WARNING: Cannot find headers (mpfr.h) of the library MPFR in $mpfr_prefix/include." >&2;} + +fi + + $as_unset $cache_var + CFLAGS="$save_CFLAGS" + CPPFLAGS="$save_CPPFLAGS" + + if test x$FOUND_MPFR == xyes; then + save_LIBS="$LIBS" + LIBS="$ac_mpfr_LDOPTS -lmpfr $save_LIBS" + + cache_var=ac_cv_lib_mpfr_mpfr_init + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpfr_init in -lmpfr" >&5 +printf %s "checking for mpfr_init in -lmpfr... " >&6; } +if test ${ac_cv_lib_mpfr_mpfr_init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpfr $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int mpfr_init (); +} +int +main (void) +{ +return conftest::mpfr_init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpfr_mpfr_init=yes +else $as_nop + ac_cv_lib_mpfr_mpfr_init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_mpfr_init" >&5 +printf "%s\n" "$ac_cv_lib_mpfr_mpfr_init" >&6; } +if test "x$ac_cv_lib_mpfr_mpfr_init" = xyes +then : + MPFR_LIBS="$ac_mpfr_LDOPTS -lmpfr" +else $as_nop + FOUND_MPFR="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libmpfr : library missing. (Cannot find symbol mpfr_init) in $mpfr_prefix. Check if libmpfr is installed and if the version is correct" >&5 +printf "%s\n" "$as_me: WARNING: libmpfr : library missing. (Cannot find symbol mpfr_init) in $mpfr_prefix. Check if libmpfr is installed and if the version is correct" >&2;} + +fi + + LIBS="$save_LIBS" + $as_unset $cache_var + fi + fi + if test x$FOUND_MPFR != xyes; then + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPFR" >&5 +printf %s "checking for MPFR... " >&6; } + +if test -n "$MPFR_CFLAGS"; then + pkg_cv_MPFR_CFLAGS="$MPFR_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mpfr >= 3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "mpfr >= 3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_MPFR_CFLAGS=`$PKG_CONFIG --cflags "mpfr >= 3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$MPFR_LIBS"; then + pkg_cv_MPFR_LIBS="$MPFR_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mpfr >= 3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "mpfr >= 3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_MPFR_LIBS=`$PKG_CONFIG --libs "mpfr >= 3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + MPFR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "mpfr >= 3" 2>&1` + else + MPFR_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "mpfr >= 3" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$MPFR_PKG_ERRORS" >&5 + + + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + +else + MPFR_CFLAGS=$pkg_cv_MPFR_CFLAGS + MPFR_LIBS=$pkg_cv_MPFR_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + MPFR_FLAGS="$MPFR_FLAGS" + MPFR_LIBS="$MPFR_LIBS" + FOUND_MPFR=yes + +fi + + fi + + if test x$FOUND_MPFR != xyes; then + ac_fn_cxx_check_header_compile "$LINENO" "mpfr.h" "ac_cv_header_mpfr_h" "$ac_includes_default" +if test "x$ac_cv_header_mpfr_h" = xyes +then : + MPFR_FLAGS="" + FOUND_MPFR="yes" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (mpfr.h) of the library MPFR." >&5 +printf "%s\n" "$as_me: WARNING: Cannot find headers (mpfr.h) of the library MPFR." >&2;} + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpfr_init in -lmpfr" >&5 +printf %s "checking for mpfr_init in -lmpfr... " >&6; } +if test ${ac_cv_lib_mpfr_mpfr_init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpfr $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int mpfr_init (); +} +int +main (void) +{ +return conftest::mpfr_init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpfr_mpfr_init=yes +else $as_nop + ac_cv_lib_mpfr_mpfr_init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_mpfr_init" >&5 +printf "%s\n" "$ac_cv_lib_mpfr_mpfr_init" >&6; } +if test "x$ac_cv_lib_mpfr_mpfr_init" = xyes +then : + MPFR_LIBS="-lmpfr" +else $as_nop + + FOUND_MPFR="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libmpfr : library missing. (Cannot find symbol mpfr_init). Check if libmpfr is installed and if the version is correct" >&5 +printf "%s\n" "$as_me: WARNING: libmpfr : library missing. (Cannot find symbol mpfr_init). Check if libmpfr is installed and if the version is correct" >&2;} + +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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-adaptb $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-adaptb config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_adaptb/support/configure.ac b/src/amuse_adaptb/support/configure.ac new file mode 100644 index 0000000000..e26b4fb781 --- /dev/null +++ b/src/amuse_adaptb/support/configure.ac @@ -0,0 +1,40 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-adaptb], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_CXX() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find AMUSE libraries +AMUSE_LIB_STOPCOND() + + +# Find external dependencies +AC_LANG_PUSH([C++]) + +AX_MPI() +AX_GMP() +AX_MPFR() + +AC_LANG_POP([C++]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_adaptb/support/shared b/src/amuse_adaptb/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_adaptb/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_adaptb.py b/src/amuse_adaptb/tests/test_adaptb.py similarity index 98% rename from src/amuse/test/suite/codes_tests/test_adaptb.py rename to src/amuse_adaptb/tests/test_adaptb.py index 3d22a3dfee..1cdf49fde3 100644 --- a/src/amuse/test/suite/codes_tests/test_adaptb.py +++ b/src/amuse_adaptb/tests/test_adaptb.py @@ -3,12 +3,12 @@ import math from amuse.community import * -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI from amuse.units import units, nbody_system, constants from amuse.datamodel import Particles -from amuse.community.adaptb.interface import AdaptbInterface, Adaptb -from amuse.community.adaptb.functions import read_log, read_out, read_xy +from amuse_adaptb.interface import AdaptbInterface, Adaptb +from amuse_adaptb.functions import read_log, read_out, read_xy class TestAdaptbInterface(TestWithMPI): diff --git a/src/amuse_athena/Makefile b/src/amuse_athena/Makefile new file mode 100644 index 0000000000..fc295d6eb0 --- /dev/null +++ b/src/amuse_athena/Makefile @@ -0,0 +1,89 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + +# Building the code into static libraries +DEPFLAGS += $(STOPCOND_CFLAGS) $(AMUSE_MPI_CFLAGS) $(FFTW_FLAGS) + +CFLAGS += $(DEPFLAGS) -DAMUSE + +LDLIBS += -lm $(STOPCOND_LIBS) $(AMUSE_MPI_LIBS) $(FFTW_LIBS) + +CODELIB = bin/libathena.a # relative to build dir + +CONFIGOPTS_normal = --enable-mpi --with-gas=hydro --enable-smr +CONFIGOPTS_selfgrav = --enable-mpi --with-gas=hydro --with-gravity=fft --enable-fft --disable-cooling +CONFIGOPTS_mhd = --enable-mpi --with-gas=mhd --with-eos=adiabatic --enable-smr --with-order=3 --with-flux=hlld +CONFIGOPTS_scalar = --enable-mpi --with-gas=hydro --enable-smr --with-nscalars=1 + +build_%: + cp -r src/athena build_$* + cd build_$* && ln -fs ../../amuse_problem_4.1.c src/problem.c + +build_%/Makefile: | build_% + cd build_$* && ./configure $(CONFIGOPTS_$*) + +build%/$(CODELIB): FORCE | build%/Makefile + $(MAKE) -C build$* -j $(CPU_COUNT) all CC=$(MPICC) LDR=$(MPICC) OPT="$(CFLAGS)" FFTW_FLAGS="$(FFTW_FLAGS)" FFTW_LIBS="$(FFTW_LIBS)" + + +# Building the workers +athena_worker.h: interface.py + amusifier --type=h interface.py AthenaInterface -o $@ + +athena_worker.cc: interface.py + amusifier --type=c interface.py AthenaInterface -o $@ + +athena_worker.o: athena_worker.cc athena_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + +athena_%_worker: build_%/interface_4.1.o athena_worker.o build_%/$(CODELIB) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +build_%/interface_4.1.o: interface_4.1.c athena_worker.h | build_%/Makefile + $(MPICC) -o $@ -c $(CFLAGS) -Ibuild_$*/src $< + + +# Which packages contain which workers? +amuse-athena_contains: athena_normal_worker athena_selfgrav_worker athena_mhd_worker athena_scalar_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: +ifneq ($(CI),) + cd packages/$* && pytest -k noci +else + cd packages/$* && pytest +endif + + +# Cleaning up +.PHONY: clean +clean: + -$(MAKE) -C src/athena/src clean + rm -rf build* + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + +# PHONY doesn't work with pattern rules, so we do it the old-fashioned way +FORCE: diff --git a/src/amuse_athena/__init__.py b/src/amuse_athena/__init__.py new file mode 100644 index 0000000000..62e067fddd --- /dev/null +++ b/src/amuse_athena/__init__.py @@ -0,0 +1 @@ +from .interface import Athena diff --git a/src/amuse/community/athena/amuse_problem_4.1.c b/src/amuse_athena/amuse_problem_4.1.c similarity index 100% rename from src/amuse/community/athena/amuse_problem_4.1.c rename to src/amuse_athena/amuse_problem_4.1.c diff --git a/src/amuse_athena/interface.py b/src/amuse_athena/interface.py new file mode 100644 index 0000000000..f6c7dc2a79 --- /dev/null +++ b/src/amuse_athena/interface.py @@ -0,0 +1,1376 @@ +from amuse.community import * + +from amuse.community.interface.mhd import MagnetohydrodynamicsInterface +from amuse.community.interface.common import CommonCode + +import numpy + +from amuse.units.generic_unit_system import * + +class AthenaInterface(CodeInterface, MagnetohydrodynamicsInterface, LiteratureReferencesMixIn, StoppingConditionInterface): + """ + Athena is a grid-based code for astrophysical hydrodynamics. Athena can solve + magnetohydrodynamics (MHD) as well, but this is currently not supported from + AMUSE. It was developed primarily for studies of the interstellar medium, + star formation, and accretion flows. + + The current version (Athena v4.0) implements algorithms for the following physics: + * compressible hydrodynamics and MHD in 1D, 2D, and 3D, + * ideal gas equation of state with arbitrary gamma (including gamma = 1, an isothermal EOS), + * an arbitrary number of passive scalars advected with the flow, + * self-gravity, and/or a static gravitational potential, + * Ohmic resistivity, ambipolar diffusion, and the Hall effect, + * both Navier-Stokes and anisotropic (Braginskii) viscosity, + * both isotropic and anisotropic thermal conduction, + * optically-thin radiative cooling. + + In addition, Athena allows for the following grid and parallelization options: + * Cartesian or cylindrical coordinates, + * static (fixed) mesh refinement, + * shearing-box source terms, and an orbital advection algorithm for MHD, + * parallelization using domain decomposition and MPI. + + A variety of choices are also available for the numerical algorithms, such as + different Riemann solvers and spatial reconstruction methods. + + The relevant references are: + .. [#] ADS:2005JCoPh.205..509G (Gardiner & Stone 2005, JCP, 205, 509 (2D JCP Method)) + .. [#] ADS:2008JCoPh.227.4123G (Gardiner & Stone 2007, JCP, 227, 4123 (3D JCP Method)) + .. [#] ADS:2008ApJS..178..137S (Stone et al. 2008, ApJS, 178, 137 (Method)) + .. [#] ADS:2009NewA...14..139S (Stone & Gardiner 2009, NewA, 14, 139 (van Leer Integrator)) + .. [#] ADS:2010ApJS..188..290S (Skinner & Ostriker 2010, ApJ, 188, 290 (Cylindrical Integrator)) + .. [#] ADS:2010ApJS..189..142S (Stone & Gardiner 2010, ApJS, 189, 142 (Shearing Box Method)) + """ + + include_headers = ['athena_worker.h', 'stopcond.h'] + + MODE_NORMAL = 'normal' + MODE_SELF_GRAVITY = 'self-gravity' + MODE_MHD = 'mhd' + MODE_SCALAR = 'scalar' + + def __init__(self, mode = MODE_NORMAL, **options): + + self.mode = mode + CodeInterface.__init__(self, name_of_the_worker=self.name_of_the_worker(mode), **options) + self.set_auto_decomposition(1) + self.par_seti("domain1", "AutoWithNProc", "%d", self.channel.number_of_workers, "-") + LiteratureReferencesMixIn.__init__(self) + self.number_of_grids = 1 + + def name_of_the_worker(self, mode): + if mode == self.MODE_NORMAL: + return 'athena_normal_worker' + elif mode == self.MODE_SELF_GRAVITY: + return 'athena_selfgrav_worker' + elif mode == self.MODE_MHD: + return 'athena_mhd_worker' + elif mode == self.MODE_SCALAR: + return 'athena_scalar_worker' + else: + return 'athena_normal_worker' + + @legacy_function + def par_seti(): + function = LegacyFunctionSpecification() + function.addParameter('block', dtype='s', direction=function.IN) + function.addParameter('name', dtype='s', direction=function.IN) + function.addParameter('fmt', dtype='s', direction=function.IN) + function.addParameter('ival', dtype='int32', direction=function.IN) + function.addParameter('comment', dtype='s', direction=function.IN) + function.result_type = None + return function + + @legacy_function + def par_geti(): + function = LegacyFunctionSpecification() + function.addParameter('block', dtype='s', direction=function.IN) + function.addParameter('name', dtype='s', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def par_setd(): + function = LegacyFunctionSpecification() + function.addParameter('block', dtype='s', direction=function.IN) + function.addParameter('name', dtype='s', direction=function.IN) + function.addParameter('fmt', dtype='s', direction=function.IN) + function.addParameter('dval', dtype='float64', direction=function.IN) + function.addParameter('comment', dtype='s', direction=function.IN) + function.result_type = None + return function + + @legacy_function + def par_getd(): + function = LegacyFunctionSpecification() + function.addParameter('block', dtype='s', direction=function.IN) + function.addParameter('name', dtype='s', direction=function.IN) + function.result_type = 'float64' + return function + + def setup_mesh(self, nmeshx, nmeshy, nmeshz, xlength, ylength, zlength): + self.par_seti("job","num_domains", "%d", self.number_of_grids, "-") + self.par_seti("domain1", "level", "%d", 0, "-") + + self.par_seti("domain1", "Nx1", "%d", nmeshx, "-") + self.par_seti("domain1", "Nx2", "%d", nmeshy, "-") + self.par_seti("domain1", "Nx3", "%d", nmeshz, "-") + + self.par_setd("domain1", "x1min", "%.15e", 0.0, "-") + self.par_setd("domain1", "x1max", "%.15e", xlength, "-") + self.par_setd("domain1", "x2min", "%.15e", 0.0, "-") + self.par_setd("domain1", "x2max", "%.15e", ylength, "-") + self.par_setd("domain1", "x3min", "%.15e", 0.0, "-") + self.par_setd("domain1", "x3max", "%.15e", zlength, "-") + self.par_seti("domain1", "iDisp", "%d", 0, "-") + self.par_seti("domain1", "jDisp", "%d", 0, "-") + self.par_seti("domain1", "kDisp", "%d", 0, "-") + + return 0 + + def define_subgrid(self, level, nmeshx, nmeshy, nmeshz, i, j, k): + """ + Define a new domain on the given level the number of cells in this + domain is given by nmeshx, nmeshy, nmeshz. + + Each level is twice as dense as in every directory as + the previous level (there are 8 cells per higher level cell). + """ + self.number_of_grids += 1 + + domain = "domain{0}".format(self.number_of_grids) + + self.par_seti("job","num_domains", "%d", self.number_of_grids, "-") + + self.par_seti(domain, "level", "%d", level, "-") + self.par_seti(domain, "Nx1", "%d", nmeshx, "-") + self.par_seti(domain, "Nx2", "%d", nmeshy, "-") + self.par_seti(domain, "Nx3", "%d", nmeshz, "-") + self.par_seti(domain, "iDisp", "%d", i, "-") + self.par_seti(domain, "jDisp", "%d", j, "-") + self.par_seti(domain, "kDisp", "%d", k, "-") + + return self.number_of_grids + + @legacy_function + def get_position_of_index(): + """ + Retrieves the x, y and z position of the center of + the cell with coordinates i, j, k in the grid specified + by the index_of_grid + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) + for x in ['x','y','z']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + return function + + ''' + @legacy_function + def get_index_of_position(): + """ + Retrieves the i,j and k index of the grid cell containing the + given x, y and z position. The cell is looked up + in the grid specified by index_of_grid. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['x','y','z']: + function.addParameter(x, dtype='d', direction=function.IN) + + function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) + + for x in ['i','j','k']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('number_of_points', 'i', function.LENGTH) + + function.result_type = 'i' + return function + ''' + def get_index_range_inclusive(self, index_of_grid = 1): + """ + Returns the min and max values of indices in each + direction. The range is inclusive, the min index + and max index both exist and can be queried. + The total number of cells in one direction + is max - min + 1. + """ + domainid = "domain{0}".format(index_of_grid) + + ni = self.par_geti(domainid, "Nx1") + nj = self.par_geti(domainid, "Nx2") + nk = self.par_geti(domainid, "Nx3") + idisp = self.par_geti(domainid, "iDisp") + jdisp = self.par_geti(domainid, "jDisp") + kdisp = self.par_geti(domainid, "kDisp") + #print index_of_grid, " === > ", (idisp, idisp+ni[0]-1, jdisp, jdisp + nj[0]-1, kdisp, kdisp + nk[0]-1) + + return (idisp, idisp+ni-1, jdisp, jdisp + nj-1, kdisp, kdisp + nk-1) + + + + def get_index_range_magnetic_field_inclusive(self, index_of_grid = 1): + original = list(self.get_index_range_inclusive(index_of_grid)) + original[1] += 1 + original[3] += 1 + original[5] += 1 + return original + + def get_mesh_indices(self): + """ + Return 3 arrays, containing the indices for i, j and k + """ + si,ei,sj,ej,sk,ek = self.get_index_range_inclusive() + indexgrid = numpy.mgrid[slice(si,ei+1),slice(sj,ej+1),slice(sk,ek+1)] + return indexgrid.reshape(3, -1) + + + + def set_four_pi_G(self, value): + self.par_setd("problem", "four_pi_G", "%.15e", value, "") + return 0 + + def set_grav_mean_rho(self, value): + self.par_setd("problem", "grav_mean_rho", "%.15e", value, "") + return 0 + + def set_isocsound(self, value): + self.par_setd("problem", "iso_csound", "%.15e", value, "") + return 0 + + def set_gamma(self, value): + self.par_setd("problem", "gamma", "%.15e", value, "-") + return 0 + + def set_courant_friedrichs_lewy_number(self, value): + self.par_setd("time", "cour_no", "%.15e", value, "-") + return 0 + + def set_boundary(self, xbound1, xbound2, ybound1, ybound2, zbound1, zbound2): + map_from_string_to_flag = { + "reflective": 1, + "outflow":2, + "periodic":4, + "interface": 10, + } + + self.par_seti("domain1", "bc_ix1", "%d", map_from_string_to_flag[xbound1], "-") + self.par_seti("domain1", "bc_ox1", "%d", map_from_string_to_flag[xbound2], "-") + self.par_seti("domain1", "bc_ix2", "%d", map_from_string_to_flag[ybound1], "-") + self.par_seti("domain1", "bc_ox2", "%d", map_from_string_to_flag[ybound2], "-") + self.par_seti("domain1", "bc_ix3", "%d", map_from_string_to_flag[zbound1], "-") + self.par_seti("domain1", "bc_ox3", "%d", map_from_string_to_flag[zbound2], "-") + + return 0 + + + def set_parallel_decomposition(self, nx, ny, nz): + if nx == 0 or ny == 0 or nz == 0: + self.par_seti("domain1", "AutoWithNProc", "%d", self.channel.number_of_workers, "-") + else: + self.par_seti("domain1", "AutoWithNProc", "%d", 0, "-") + self.par_seti("domain1", "NGrid_x1", "%d", nx, "-") + self.par_seti("domain1", "NGrid_x2", "%d", ny, "-") + self.par_seti("domain1", "NGrid_x3", "%d", nz, "-") + return 0 + + def set_auto_decomposition(self, value): + self.par_seti("parallel", "auto", "%d", value, "-") + return 0 + + @legacy_function + def initialize_grid(): + function = LegacyFunctionSpecification() + function.result_type = 'i' + return function + + @legacy_function + def get_timestep(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_timestep(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'i' + return function + + + @legacy_function + def get_evolve_to_exact_time(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_evolve_to_exact_time(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def set_has_external_gravitational_potential(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_has_external_gravitational_potential(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_nghost(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_time(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def esys_roe_adb_hydro(): + function = LegacyFunctionSpecification() + function.addParameter('index', dtype='int32', direction=function.OUT) + function.addParameter('u', dtype='float64', direction=function.OUT) + function.addParameter('v', dtype='float64', direction=function.OUT) + function.addParameter('w', dtype='float64', direction=function.OUT) + function.addParameter('h', dtype='float64', direction=function.OUT) + function.addParameter('ev', dtype='float64', direction=function.OUT) + for i in range(5): + function.addParameter('rem{0}'.format(i), dtype='float64', direction=function.OUT) + for i in range(5): + function.addParameter('lem{0}'.format(i), dtype='float64', direction=function.OUT) + function.result_type = 'i' + function.can_handle_array = True + return function + + @legacy_function + def fill_grid_linearwave_1d(): + function = LegacyFunctionSpecification() + function.addParameter('wave_flag', dtype='int32', direction=function.IN) + function.addParameter('amplitude', dtype='float64', direction=function.IN) + function.addParameter('vflow', dtype='float64', direction=function.IN) + function.addParameter('wave_dir', dtype='int32', direction=function.IN) + function.result_type = 'i' + function.can_handle_array = True + return function + + def get_index_range_for_potential(self, index_of_grid = 1): + """ + Returns the min and max values of indices in each + direction for the potential field, this + range is 1 cell larger than the normal grid + in all directions""" + imin,imax,jmin,jmax,kmin,kmax = numpy.asarray(self.get_index_range_inclusive(index_of_grid = index_of_grid)) + imin -= 1 + imax += 1 + if jmin != jmax: + jmin -= 1 + jmax += 1 + if kmin != kmax: + kmin -= 1 + kmax += 1 + return imin,imax, jmin, jmax, kmin, kmax + + @legacy_function + def set_potential(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + + #function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) + + function.addParameter('potential', dtype='d', direction=function.IN) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def get_potential(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + #function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) + function.addParameter('potential', dtype='d', direction=function.OUT) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def get_interpolated_gravitational_potential(): + """ + Return the interpolated gravitational potential, can + only interpolate over one axis at the time and + only at half way points between the grid points. + **For debugging purposes only** + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + for x in ['x','y','z']: + function.addParameter(x, dtype='d', direction=function.IN) + function.addParameter('potential', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + def get_isocsound(self): + return self.par_getd("problem", "iso_csound"), 0 + + def get_gamma(self): + return self.par_getd("problem", "gamma"), 0 + + def get_four_pi_G(self): + return self.par_getd("problem", "four_pi_G"), 0 + + def get_courant_friedrichs_lewy_number(self): + return self.par_getd("time", "cour_no"), 0 + + def get_grav_mean_rho(self): + return self.par_getd("problem", "grav_mean_rho"), 0 + + @legacy_function + def get_grid_gravitational_potential(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) + for x in ['phi']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + + return function + + + + + @legacy_function + def get_grid_acceleration(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) + for x in ['fx', 'fy', 'fz']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + + return function + + @legacy_function + def set_grid_acceleration(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + for x in ['fx', 'fy', 'fz']: + function.addParameter(x, dtype='d', direction=function.IN) + function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + + return function + + @legacy_function + def get_grid_gravitational_acceleration(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) + for x in ['fx', 'fy', 'fz']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + + return function + + @legacy_function + def get_gravity_at_point(): + """ + Determine the gravitational force on a given point + """ + function = LegacyFunctionSpecification() + function.addParameter('eps', dtype='float64', direction=function.IN, + description = "The smoothing parameter") + function.addParameter('x', dtype='float64', direction=function.IN, + description = "The position vector of the point") + function.addParameter('y', dtype='float64', direction=function.IN, + description = "The position vector of the point") + function.addParameter('z', dtype='float64', direction=function.IN, + description = "The position vector of the point") + function.addParameter('forcex', dtype='float64', direction=function.OUT, + description = "Force created by the particles in the code at the given position") + function.addParameter('forcey', dtype='float64', direction=function.OUT, + description = "Force created by the particles in the code at the given position") + function.addParameter('forcez', dtype='float64', direction=function.OUT, + description = "Force created by the particles in the code at the given position") + function.result_type = 'int32' + function.can_handle_array = True + function.result_doc = """ + 0 - OK + Force could be calculated + -1 - ERROR + No force calculation supported + """ + return function + + + @legacy_function + def get_potential_at_point(): + """ + Determine the potential on a given point + """ + function = LegacyFunctionSpecification() + function.addParameter('eps', dtype='float64', direction=function.IN, + description = "The smoothing factor, may be ignored by the code") + function.addParameter('x', dtype='float64', direction=function.IN) + function.addParameter('y', dtype='float64', direction=function.IN) + function.addParameter('z', dtype='float64', direction=function.IN) + function.addParameter('phi', dtype='float64', direction=function.OUT) + function.can_handle_array = True + function.result_type = 'int32' + return function + + + @legacy_function + def get_grid_scalar(): + """ + Retreives advected scalar property + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) + for x in ['scalar',]: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def set_grid_scalar(): + """ + Stores advected scalar property + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + for x in ['scalar',]: + function.addParameter(x, dtype='d', direction=function.IN) + function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + return function + + + + @legacy_function + def get_boundary_index_range_inclusive(): + function = LegacyFunctionSpecification() + function.addParameter('index_of_boundary', dtype='i', direction=function.IN) + function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) + function.addParameter('minx', dtype='i', direction=function.OUT) + function.addParameter('maxx', dtype='i', direction=function.OUT) + function.addParameter('miny', dtype='i', direction=function.OUT) + function.addParameter('maxy', dtype='i', direction=function.OUT) + function.addParameter('minz', dtype='i', direction=function.OUT) + function.addParameter('maxz', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_boundary_state(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + for x in ['rho','rhovx','rhovy','rhovz','en']: + function.addParameter(x, dtype='d', direction=function.IN) + function.addParameter('index_of_boundary', dtype='i', direction=function.IN, default = 1) + function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def get_boundary_state(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + function.addParameter('index_of_boundary', dtype='i', direction=function.IN, default = 1) + function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) + for x in ['rho','rhovx','rhovy','rhovz','en']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + return function + + + @legacy_function + def get_boundary_position_of_index(): + """ + Retrieves the x, y and z position of the center of + the cell with coordinates i, j, k in the grid specified + by the index_of_grid + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + function.addParameter('index_of_boundary', dtype='i', direction=function.IN, default = 1) + function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) + for x in ['x','y','z']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def get_hydro_state_at_point(): + function = LegacyFunctionSpecification() + for x in ['x','y','z']: + function.addParameter(x, dtype='d', direction=function.IN) + for x in ['vx','vy','vz']: + function.addParameter(x, dtype='d', direction=function.IN, default = 0) + for x in ['rho','rhovx','rhovy','rhovz','rhoe']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('npoints', dtype='i', direction=function.LENGTH) + function.result_type = 'i' + function.must_handle_array = True + return function + + @legacy_function + def get_hydro_state_for_cell(): + function = LegacyFunctionSpecification() + for x in ['x','y','z']: + function.addParameter(x, dtype='d', direction=function.IN) + for x in ['dx','dy','dz']: + function.addParameter(x, dtype='d', direction=function.IN) + for x in ['vx','vy','vz']: + function.addParameter(x, dtype='d', direction=function.IN, default = 0) + for x in ['rho','rhovx','rhovy','rhovz','rhoe']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('npoints', dtype='i', direction=function.LENGTH) + function.result_type = 'i' + function.must_handle_array = True + return function + +class Athena(CommonCode): + + def __init__(self, unit_converter = None, **options): + self.unit_converter = unit_converter + + self.stopping_conditions = StoppingConditions(self) + CommonCode.__init__(self, AthenaInterface(**options), **options) + + def define_converter(self, handler): + if self.unit_converter is None: + return + + handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) + + def define_properties(self, handler): + handler.add_property('get_time', public_name = "model_time") + + def define_methods(self, handler): + handler.add_method( + 'evolve_model', + (time,), + (handler.ERROR_CODE,) + ) + handler.add_method( + 'get_position_of_index', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + (length, length, length, handler.ERROR_CODE,) + ) + + density = mass / (length**3) + momentum = mass / (time * (length**2)) + energy = mass / ((time**2) * length) + potential_energy = length ** 2 / time ** 2 + magnetic_field = mass / current / time ** 2 + + handler.add_method( + 'set_grid_state', + (handler.INDEX, handler.INDEX, handler.INDEX, + density, momentum, momentum, momentum, energy, + handler.INDEX), + (handler.ERROR_CODE,) + ) + + handler.add_method( + 'set_grid_magnetic_field', + (handler.INDEX, handler.INDEX, handler.INDEX, + magnetic_field, magnetic_field, magnetic_field, + handler.INDEX), + (handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_grid_state', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + (density, momentum, momentum, momentum, energy, + handler.ERROR_CODE,) + ) + handler.add_method( + 'set_grid_energy_density', + (handler.INDEX, handler.INDEX, handler.INDEX, + energy, handler.INDEX), + (handler.ERROR_CODE,) + ) + handler.add_method( + 'get_grid_energy_density', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + ( energy, + handler.ERROR_CODE,) + ) + handler.add_method( + 'set_grid_density', + (handler.INDEX, handler.INDEX, handler.INDEX, + density, handler.INDEX), + (handler.ERROR_CODE,) + ) + handler.add_method( + 'get_grid_density', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + (density, + handler.ERROR_CODE,) + ) + handler.add_method( + 'set_grid_scalar', + (handler.INDEX, handler.INDEX, handler.INDEX, + handler.NO_UNIT, handler.INDEX), + (handler.ERROR_CODE,) + ) + handler.add_method( + 'get_grid_scalar', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + (handler.NO_UNIT, + handler.ERROR_CODE,) + ) + handler.add_method( + 'set_grid_momentum_density', + (handler.INDEX, handler.INDEX, handler.INDEX, + momentum, momentum, momentum, handler.INDEX), + (handler.ERROR_CODE,) + ) + handler.add_method( + 'get_grid_momentum_density', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + ( momentum, momentum, momentum, + handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_grid_magnetic_field', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + ( magnetic_field, magnetic_field, magnetic_field, + handler.ERROR_CODE,) + ) + + handler.add_method( + 'set_potential', + (handler.INDEX, handler.INDEX, handler.INDEX, + potential_energy), + (handler.ERROR_CODE,) + ) + handler.add_method( + 'get_potential', + (handler.INDEX, handler.INDEX, handler.INDEX,), + (potential_energy, + handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_grid_gravitational_potential', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX,), + (potential_energy, + handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_interpolated_gravitational_potential', + (length, length, length), + (potential_energy, + handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_grid_gravitational_acceleration', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX,), + (acceleration,acceleration,acceleration, + handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_grid_acceleration', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX,), + (acceleration,acceleration,acceleration, + handler.ERROR_CODE,) + ) + handler.add_method( + 'set_grid_acceleration', + (handler.INDEX, handler.INDEX, handler.INDEX, + acceleration,acceleration,acceleration, handler.INDEX), + (handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_gravity_at_point', + (length, length, length, length), + (acceleration, acceleration, acceleration, handler.ERROR_CODE) + ) + + handler.add_method( + 'get_potential_at_point', + (length, length, length, length), + (potential, handler.ERROR_CODE) + ) + + handler.add_method( + "get_isocsound", + (), + (length / time, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_isocsound", + (length / time, ), + (handler.ERROR_CODE,) + ) + handler.add_method( + "get_timestep", + (), + (time, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_timestep", + (time, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_gamma", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_gamma", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_courant_friedrichs_lewy_number", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_courant_friedrichs_lewy_number", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_time', + (), + (time, handler.ERROR_CODE,) + ) + + handler.add_method( + 'set_four_pi_G', + ( length**3 / (mass * time**2)), + (handler.ERROR_CODE,) + ) + handler.add_method( + 'get_four_pi_G', + (), + ( (length**3) / (mass * (time**2)), handler.ERROR_CODE,) + ) + handler.add_method( + 'set_grav_mean_rho', + ( mass / length**3, ), + (handler.ERROR_CODE,) + ) + handler.add_method( + 'get_grav_mean_rho', + (), + (mass / length**3, handler.ERROR_CODE,) + ) + + handler.add_method( + 'setup_mesh', + (handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, length, length, length,), + (handler.ERROR_CODE,) + ) + handler.add_method( + 'set_boundary', + (handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT,), + (handler.ERROR_CODE,) + ) + + handler.add_method( + 'set_boundary_state', + (handler.INDEX, handler.INDEX, handler.INDEX, + density, momentum, momentum, momentum, energy, + handler.INDEX, handler.INDEX), + (handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_boundary_state', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + (density, momentum, momentum, momentum, energy, + handler.ERROR_CODE,) + ) + handler.add_method( + 'get_boundary_position_of_index', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + (length, length, length, handler.ERROR_CODE,) + ) + handler.add_method( + 'get_boundary_index_range_inclusive', + (handler.INDEX, handler.INDEX), + (handler.NO_UNIT, handler.NO_UNIT,handler.NO_UNIT, handler.NO_UNIT,handler.NO_UNIT, handler.NO_UNIT, handler.ERROR_CODE,) + ) + handler.add_method( + 'get_hydro_state_at_point', + (generic_unit_system.length, generic_unit_system.length, generic_unit_system.length, + generic_unit_system.speed, generic_unit_system.speed, generic_unit_system.speed), + (generic_unit_system.density, generic_unit_system.momentum_density, generic_unit_system.momentum_density, + generic_unit_system.momentum_density, generic_unit_system.energy_density, handler.ERROR_CODE) + ) + handler.add_method( + 'get_hydro_state_for_cell', + (generic_unit_system.length, generic_unit_system.length, generic_unit_system.length, + generic_unit_system.length, generic_unit_system.length, generic_unit_system.length, + generic_unit_system.speed, generic_unit_system.speed, generic_unit_system.speed), + (generic_unit_system.density, generic_unit_system.momentum_density, generic_unit_system.momentum_density, + generic_unit_system.momentum_density, generic_unit_system.energy_density, handler.ERROR_CODE) + ) + + + + self.stopping_conditions.define_methods(handler) + + + def specify_grid(self, definition, index_of_grid = 1): + definition.set_grid_range('get_index_range_inclusive') + + definition.add_getter('get_position_of_index', names=('x','y','z')) + + definition.add_getter('get_grid_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) + definition.add_setter('set_grid_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) + + definition.add_getter('get_grid_density', names=('rho',)) + definition.add_setter('set_grid_density', names=('rho',)) + + if self.mode == self.MODE_SCALAR: + definition.add_getter('get_grid_scalar', names=('scalar',)) + definition.add_setter('set_grid_scalar', names=('scalar',)) + + definition.add_getter('get_grid_momentum_density', names=('rhovx','rhovy','rhovz')) + definition.add_setter('set_grid_momentum_density', names=('rhovx','rhovy','rhovz')) + definition.add_getter('get_grid_energy_density', names=('energy',)) + definition.add_setter('set_grid_energy_density', names=('energy',)) + + + definition.add_getter('get_grid_gravitational_potential', names=('gravitational_potential',)) + definition.add_getter('get_grid_gravitational_acceleration', names=('gravitational_acceleration_x','gravitational_acceleration_y','gravitational_acceleration_z',)) + + definition.add_getter('get_grid_acceleration', names=('ax','ay','az')) + definition.add_setter('set_grid_acceleration', names=('ax','ay','az')) + + definition.define_extra_keywords({'index_of_grid':index_of_grid}) + + + def specify_mangnetic_filed_grid(self, definition, index_of_grid = 1): + definition.set_grid_range('get_index_range_magnetic_field_inclusive') + + definition.add_getter('get_position_of_index', names=('x','y','z')) + + definition.add_getter('get_grid_magnetic_field', names=('B1i','B2i','B3i')) + definition.add_setter('set_grid_magnetic_field', names=('B1i','B2i','B3i')) + + definition.define_extra_keywords({'index_of_grid':index_of_grid}) + + + def specify_boundary_grid(self, definition, index_of_boundary, index_of_grid = 1): + definition.set_grid_range('get_boundary_index_range_inclusive') + + definition.add_getter('get_boundary_position_of_index', names=('x','y','z')) + + definition.add_getter('get_boundary_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) + definition.add_setter('set_boundary_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) + + definition.define_extra_keywords({'index_of_boundary': index_of_boundary, 'index_of_grid':index_of_grid}) + + + + def sepecify_extended_grid(self, definition, index_of_grid = 1): + self.specify_grid(definition, index_of_grid = index_of_grid) + definition.set_grid_range('get_index_range_extended') + + + @property + def grid(self): + return self._create_new_grid(self.specify_grid, index_of_grid = 1) + + BOUNDARY_NAME_TO_INDEX = { + 'xbound1': 1, + 'xbound2': 2, + 'ybound1': 3, + 'ybound2': 4, + 'zbound1': 5, + 'zbound2': 6, + } + def get_boundary_grid(self, name): + if not name in self.BOUNDARY_NAME_TO_INDEX: + raise Exception("boundary name is not known {0}".format(name)) + index_of_boundary = self.BOUNDARY_NAME_TO_INDEX[name] + + return self._create_new_grid(self.specify_boundary_grid, index_of_boundary = index_of_boundary, index_of_grid = 1) + + + def get_extended_grid(self, index_of_grid = 1): + return self._create_new_grid(self.sepecify_extended_grid, index_of_grid = index_of_grid) + + def get_index_range_extended(self, index_of_grid = 1): + i0,i1, j0,j1, k0,k1 = self.get_index_range_inclusive(index_of_grid = index_of_grid) + dj = 2 if j1 > j0 else 0 + dk = 2 if k1 > k0 else 0 + return i0-2, i1+2, j0-dj, j0+dj, k0-dk, k1+dk + + def itergrids(self): + n = self.get_number_of_grids() + + for x in range(1,n+1): + yield self._create_new_grid(self.specify_grid, index_of_grid = x) + + def iter_magnetic_field_grids(self): + n = self.get_number_of_grids() + + for x in range(1,n+1): + yield self._create_new_grid(self.specify_mangnetic_filed_grid, index_of_grid = x) + + + def iter_hydro_and_mhd_grids(self): + n = self.get_number_of_grids() + + for x in range(1,n+1): + yield ( + self._create_new_grid(self.specify_grid, index_of_grid = x), + self._create_new_grid(self.specify_mangnetic_filed_grid, index_of_grid = x), + ) + + def define_particle_sets(self, handler): + handler.define_grid('potential_grid') + handler.set_grid_range('potential_grid', 'get_index_range_for_potential') + handler.add_getter('potential_grid', 'get_position_of_index', names=('x','y','z')) + handler.add_getter('potential_grid', 'get_potential', names=('potential',)) + handler.add_setter('potential_grid', 'set_potential', names=('potential', )) + handler.define_extra_keywords('potential_grid', {'index_of_grid':1}) + + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_isocsound", + "set_isocsound", + "isothermal_sound_speed", + "isothermal sound speed, only used for isothermal EOS", + default_value = 0.0 | length / time, + must_set_before_get = True + ) + + handler.add_method_parameter( + "get_gamma", + "set_gamma", + "gamma", + "ratio of specific heats used in equation of state", + default_value = 1.6666666666666667, + must_set_before_get = True + ) + + handler.add_method_parameter( + "get_four_pi_G", + "set_four_pi_G", + "four_pi_G", + "value of four times pi time G", + default_value = 4 * numpy.pi * (1| (length**3) / (mass * (time**2))), + must_set_before_get = True + ) + + handler.add_method_parameter( + "get_grav_mean_rho", + "set_grav_mean_rho", + "gravity_mean_rho", + "define the mean density in the field for self gravity calulations", + default_value = 0 | mass / length ** 3, + must_set_before_get = True + ) + + + handler.add_method_parameter( + "get_courant_friedrichs_lewy_number", + "set_courant_friedrichs_lewy_number", + "courant_number", + "CFL number", + default_value = 0.3, + must_set_before_get = True + ) + + + handler.add_method_parameter( + "get_evolve_to_exact_time", + "set_evolve_to_exact_time", + "must_evolve_to_exact_time", + "End the evolve model at the exact specified time", + default_value = True + ) + + handler.add_caching_parameter( + "setup_mesh", + "nmeshx", + "nx", + "number of cells in the x direction", + 10, + ) + + + handler.add_caching_parameter( + "setup_mesh", + "nmeshy", + "ny", + "number of cells in the y direction", + 10, + ) + + + handler.add_caching_parameter( + "setup_mesh", + "nmeshz", + "nz", + "number of cells in the z direction", + 10, + ) + + handler.add_caching_parameter( + "setup_mesh", + "xlength", + "length_x", + "length of model in the x direction", + 10 | length, + ) + handler.add_caching_parameter( + "setup_mesh", + "ylength", + "length_y", + "length of model in the x direction", + 10 | length, + ) + handler.add_caching_parameter( + "setup_mesh", + "zlength", + "length_z", + "length of model in the z direction", + 10 | length, + ) + + handler.add_vector_parameter( + "mesh_size", + "number of cells in the x, y and z directions", + ("nx", "ny", "nz") + ) + + handler.add_vector_parameter( + "mesh_length", + "length of the model in the x, y and z directions", + ("length_x", "length_y", "length_z") + ) + + handler.add_caching_parameter( + "set_parallel_decomposition", + "nx", + "nproc_x", + "number of processors for the x direction", + 0, + ) + handler.add_caching_parameter( + "set_parallel_decomposition", + "ny", + "nproc_y", + "number of processors for the y direction", + 0, + ) + handler.add_caching_parameter( + "set_parallel_decomposition", + "nz", + "nproc_z", + "number of processors for the z direction", + 0, + ) + + handler.add_vector_parameter( + "parallel_decomposition", + "number of processors for each dimensions", + ("nproc_x", "nproc_y", "nproc_z") + ) + + handler.add_caching_parameter( + "set_boundary", + "xbound1", + "xbound1", + "boundary conditions on first (inner, left) X boundary", + "reflective", + ) + + + handler.add_caching_parameter( + "set_boundary", + "xbound2", + "xbound2", + "boundary conditions on second (outer, right) X boundary", + "reflective", + ) + + handler.add_caching_parameter( + "set_boundary", + "ybound1", + "ybound1", + "boundary conditions on first (inner, front) Y boundary", + "reflective", + ) + + + handler.add_caching_parameter( + "set_boundary", + "ybound2", + "ybound2", + "boundary conditions on second (outer, back) Y boundary", + "reflective", + ) + + handler.add_caching_parameter( + "set_boundary", + "zbound1", + "zbound1", + "boundary conditions on first (inner, bottom) Z boundary", + "reflective", + ) + + + handler.add_caching_parameter( + "set_boundary", + "zbound2", + "zbound2", + "boundary conditions on second (outer, top) Z boundary", + "reflective", + ) + + + + handler.add_vector_parameter( + "x_boundary_conditions", + "boundary conditions for the X directorion", + ("xbound1", "xbound2") + ) + + + handler.add_vector_parameter( + "y_boundary_conditions", + "boundary conditions for the Y directorion", + ("ybound1", "ybound2") + ) + + + handler.add_vector_parameter( + "z_boundary_conditions", + "boundary conditions for the Z directorion", + ("zbound1", "zbound2") + ) + + self.stopping_conditions.define_parameters(handler) + + def commit_parameters(self): + self.parameters.send_not_set_parameters_to_code() + self.parameters.send_cached_parameters_to_code() + self.overridden().commit_parameters() + + def define_state(self, handler): + CommonCode.define_state(self, handler) + #handler.add_transition('END', 'INITIALIZED', 'initialize_code', False) + + handler.add_transition('INITIALIZED','EDIT','commit_parameters') + handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False) + handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False) + handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters') + handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') + handler.add_method('RUN', 'before_get_parameter') + handler.add_method('EDIT', 'before_get_parameter') + + handler.add_transition('EDIT', 'RUN', 'initialize_grid') + handler.add_method('RUN', 'evolve_model') + handler.add_method('RUN', 'get_hydro_state_at_point') + + for state in ['EDIT', 'RUN']: + for methodname in [ + 'get_grid_state', + 'set_grid_state', + 'get_potential', + 'set_potential', + 'get_grid_density', + 'set_grid_density', + 'set_grid_energy_density', + 'get_grid_energy_density', + 'get_grid_momentum_density', + 'set_grid_momentum_density', + 'get_position_of_index', + 'get_index_of_position', + 'set_grid_scalar', + 'get_grid_scalar', + 'get_number_of_grids', + 'get_index_range_inclusive', + 'get_boundary_state', + 'set_boundary_state', + 'get_boundary_position_if_index', + 'get_boundary_index_range_inclusive' + ]: + handler.add_method(state, methodname) + + self.stopping_conditions.define_state(handler) + diff --git a/src/amuse/community/athena/interface_4.1.c b/src/amuse_athena/interface_4.1.c similarity index 99% rename from src/amuse/community/athena/interface_4.1.c rename to src/amuse_athena/interface_4.1.c index 4f60f0a7e9..fee0409da9 100644 --- a/src/amuse/community/athena/interface_4.1.c +++ b/src/amuse_athena/interface_4.1.c @@ -10,16 +10,15 @@ #include #include -#ifdef MPI_PARALLEL -#include -#include -#endif - #include "defs.h" #include "athena.h" #include "globals.h" #include "prototypes.h" +#ifdef MPI_PARALLEL +#include +#include +#endif #include @@ -1247,25 +1246,6 @@ int get_potential_at_point(double eps, double x, double y, double z, double *phi return 0; } -int get_gravity_at_point(double eps, double x,double y, double z, - double *fx, double *fy, double *fz) -{ - if(myID_Comm_world) { // calculate only on the root mpi process, not on others - return 0; - } - double ii, jj, kk; - double dx, dy, dz; - int i, j, k; - int index_of_grid = 1; // supports only one grid! - - - ijk_pos_dom_for_potential_grid(x, y, z, &ii, &jj, &kk, &dx, &dy, &dz); - i = ii; j = jj; k = kk; - get_grid_gravitational_acceleration(&i, &j, &k, &index_of_grid, fx, fy, fz, 1); - - return 0; -} - int get_grid_gravitational_acceleration( int * i, int * j, int * k, @@ -1327,8 +1307,6 @@ int get_grid_gravitational_acceleration( } } - - #ifdef MPI_PARALLEL if(myID_Comm_world) { MPI_Reduce(fx, NULL, number_of_points, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); @@ -1346,6 +1324,26 @@ int get_grid_gravitational_acceleration( } +int get_gravity_at_point(double eps, double x,double y, double z, + double *fx, double *fy, double *fz) +{ + if(myID_Comm_world) { // calculate only on the root mpi process, not on others + return 0; + } + double ii, jj, kk; + double dx, dy, dz; + int i, j, k; + int index_of_grid = 1; // supports only one grid! + + + ijk_pos_dom_for_potential_grid(x, y, z, &ii, &jj, &kk, &dx, &dy, &dz); + i = ii; j = jj; k = kk; + get_grid_gravitational_acceleration(&i, &j, &k, &index_of_grid, fx, fy, fz, 1); + + return 0; +} + + int get_grid_acceleration( int * i, int * j, int * k, int * index_of_grid, diff --git a/src/amuse_athena/packages/amuse-athena.amuse_deps b/src/amuse_athena/packages/amuse-athena.amuse_deps new file mode 100644 index 0000000000..ac5fececfa --- /dev/null +++ b/src/amuse_athena/packages/amuse-athena.amuse_deps @@ -0,0 +1 @@ +c c++ download mpi fftw diff --git a/src/amuse_athena/packages/amuse-athena/amuse_athena b/src/amuse_athena/packages/amuse-athena/amuse_athena new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_athena/packages/amuse-athena/amuse_athena @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_athena/packages/amuse-athena/pyproject.toml b/src/amuse_athena/packages/amuse-athena/pyproject.toml new file mode 100644 index 0000000000..3405dcb987 --- /dev/null +++ b/src/amuse_athena/packages/amuse-athena/pyproject.toml @@ -0,0 +1,48 @@ +[project] +name = "amuse-athena" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_athena/**/*.py"] +exclude = [ + "amuse_athena/packages", + "amuse_athena/support", + "amuse_athena/src", + "amuse_athena/tests" + ] +artifacts = [ + "amuse_athena/athena_normal_worker", + "amuse_athena/athena_selfgrav_worker", + "amuse_athena/athena_mhd_worker", + "amuse_athena/athena_scalar_worker", + ] + +[tool.pytest.ini_options] +pythonpath = ["amuse_athena/tests/"] + +testpaths = ["amuse_athena/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/athena/src/athena/Makefile.in b/src/amuse_athena/src/athena/Makefile.in similarity index 100% rename from src/amuse/community/athena/src/athena/Makefile.in rename to src/amuse_athena/src/athena/Makefile.in diff --git a/src/amuse/community/athena/src/athena/Makeoptions.in b/src/amuse_athena/src/athena/Makeoptions.in similarity index 100% rename from src/amuse/community/athena/src/athena/Makeoptions.in rename to src/amuse_athena/src/athena/Makeoptions.in diff --git a/src/amuse/community/athena/src/athena/configure b/src/amuse_athena/src/athena/configure similarity index 100% rename from src/amuse/community/athena/src/athena/configure rename to src/amuse_athena/src/athena/configure diff --git a/src/amuse/community/athena/src/athena/configure.ac b/src/amuse_athena/src/athena/configure.ac similarity index 100% rename from src/amuse/community/athena/src/athena/configure.ac rename to src/amuse_athena/src/athena/configure.ac diff --git a/src/amuse/community/athena/src/athena/doc/pbs-script b/src/amuse_athena/src/athena/doc/pbs-script similarity index 100% rename from src/amuse/community/athena/src/athena/doc/pbs-script rename to src/amuse_athena/src/athena/doc/pbs-script diff --git a/src/amuse/community/athena/src/athena/install-sh b/src/amuse_athena/src/athena/install-sh similarity index 100% rename from src/amuse/community/athena/src/athena/install-sh rename to src/amuse_athena/src/athena/install-sh diff --git a/src/amuse/community/athena/src/athena/src/Makefile.in b/src/amuse_athena/src/athena/src/Makefile.in similarity index 100% rename from src/amuse/community/athena/src/athena/src/Makefile.in rename to src/amuse_athena/src/athena/src/Makefile.in diff --git a/src/amuse/community/athena/src/athena/src/ath_array.c b/src/amuse_athena/src/athena/src/ath_array.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/ath_array.c rename to src/amuse_athena/src/athena/src/ath_array.c diff --git a/src/amuse/community/athena/src/athena/src/ath_files.c b/src/amuse_athena/src/athena/src/ath_files.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/ath_files.c rename to src/amuse_athena/src/athena/src/ath_files.c diff --git a/src/amuse/community/athena/src/athena/src/ath_log.c b/src/amuse_athena/src/athena/src/ath_log.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/ath_log.c rename to src/amuse_athena/src/athena/src/ath_log.c diff --git a/src/amuse/community/athena/src/athena/src/ath_signal.c b/src/amuse_athena/src/athena/src/ath_signal.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/ath_signal.c rename to src/amuse_athena/src/athena/src/ath_signal.c diff --git a/src/amuse/community/athena/src/athena/src/athena.h b/src/amuse_athena/src/athena/src/athena.h similarity index 100% rename from src/amuse/community/athena/src/athena/src/athena.h rename to src/amuse_athena/src/athena/src/athena.h diff --git a/src/amuse/community/athena/src/athena/src/baton.c b/src/amuse_athena/src/athena/src/baton.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/baton.c rename to src/amuse_athena/src/athena/src/baton.c diff --git a/src/amuse/community/athena/src/athena/src/bvals_mhd.c b/src/amuse_athena/src/athena/src/bvals_mhd.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/bvals_mhd.c rename to src/amuse_athena/src/athena/src/bvals_mhd.c diff --git a/src/amuse/community/athena/src/athena/src/bvals_shear.c b/src/amuse_athena/src/athena/src/bvals_shear.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/bvals_shear.c rename to src/amuse_athena/src/athena/src/bvals_shear.c diff --git a/src/amuse/community/athena/src/athena/src/cc_pos.c b/src/amuse_athena/src/athena/src/cc_pos.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/cc_pos.c rename to src/amuse_athena/src/athena/src/cc_pos.c diff --git a/src/amuse/community/athena/src/athena/src/config.h.in b/src/amuse_athena/src/athena/src/config.h.in similarity index 100% rename from src/amuse/community/athena/src/athena/src/config.h.in rename to src/amuse_athena/src/athena/src/config.h.in diff --git a/src/amuse/community/athena/src/athena/src/convert_var.c b/src/amuse_athena/src/athena/src/convert_var.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/convert_var.c rename to src/amuse_athena/src/athena/src/convert_var.c diff --git a/src/amuse/community/athena/src/athena/src/copyright.h b/src/amuse_athena/src/athena/src/copyright.h similarity index 100% rename from src/amuse/community/athena/src/athena/src/copyright.h rename to src/amuse_athena/src/athena/src/copyright.h diff --git a/src/amuse/community/athena/src/athena/src/defs.h.in b/src/amuse_athena/src/athena/src/defs.h.in similarity index 99% rename from src/amuse/community/athena/src/athena/src/defs.h.in rename to src/amuse_athena/src/athena/src/defs.h.in index 307869138c..4673b276a3 100644 --- a/src/amuse/community/athena/src/athena/src/defs.h.in +++ b/src/amuse_athena/src/athena/src/defs.h.in @@ -176,6 +176,7 @@ enum { enum {LtoR_tag, RtoL_tag, boundary_particle_tag, + boundary_cells_tag, shearing_sheet_ix1_tag, shearing_sheet_ox1_tag, remapEy_tag, diff --git a/src/amuse/community/athena/src/athena/src/dump_binary.c b/src/amuse_athena/src/athena/src/dump_binary.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/dump_binary.c rename to src/amuse_athena/src/athena/src/dump_binary.c diff --git a/src/amuse/community/athena/src/athena/src/dump_history.c b/src/amuse_athena/src/athena/src/dump_history.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/dump_history.c rename to src/amuse_athena/src/athena/src/dump_history.c diff --git a/src/amuse/community/athena/src/athena/src/dump_tab.c b/src/amuse_athena/src/athena/src/dump_tab.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/dump_tab.c rename to src/amuse_athena/src/athena/src/dump_tab.c diff --git a/src/amuse/community/athena/src/athena/src/dump_vtk.c b/src/amuse_athena/src/athena/src/dump_vtk.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/dump_vtk.c rename to src/amuse_athena/src/athena/src/dump_vtk.c diff --git a/src/amuse/community/athena/src/athena/src/fftsrc/LICENSE b/src/amuse_athena/src/athena/src/fftsrc/LICENSE similarity index 100% rename from src/amuse/community/athena/src/athena/src/fftsrc/LICENSE rename to src/amuse_athena/src/athena/src/fftsrc/LICENSE diff --git a/src/amuse/community/athena/src/athena/src/fftsrc/Makefile.in b/src/amuse_athena/src/athena/src/fftsrc/Makefile.in similarity index 100% rename from src/amuse/community/athena/src/athena/src/fftsrc/Makefile.in rename to src/amuse_athena/src/athena/src/fftsrc/Makefile.in diff --git a/src/amuse/community/athena/src/athena/src/fftsrc/ath_fft.c b/src/amuse_athena/src/athena/src/fftsrc/ath_fft.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/fftsrc/ath_fft.c rename to src/amuse_athena/src/athena/src/fftsrc/ath_fft.c diff --git a/src/amuse/community/athena/src/athena/src/fftsrc/factor.c b/src/amuse_athena/src/athena/src/fftsrc/factor.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/fftsrc/factor.c rename to src/amuse_athena/src/athena/src/fftsrc/factor.c diff --git a/src/amuse/community/athena/src/athena/src/fftsrc/fft_2d.c b/src/amuse_athena/src/athena/src/fftsrc/fft_2d.c similarity index 99% rename from src/amuse/community/athena/src/athena/src/fftsrc/fft_2d.c rename to src/amuse_athena/src/athena/src/fftsrc/fft_2d.c index 22ecb69ab0..8e563bceed 100644 --- a/src/amuse/community/athena/src/athena/src/fftsrc/fft_2d.c +++ b/src/amuse_athena/src/athena/src/fftsrc/fft_2d.c @@ -17,7 +17,7 @@ #include "stdio.h" #include "mpi.h" -#include "malloc.h" +#include #include "pack_2d.h" #include "remap_2d.h" diff --git a/src/amuse/community/athena/src/athena/src/fftsrc/fft_2d.h b/src/amuse_athena/src/athena/src/fftsrc/fft_2d.h similarity index 100% rename from src/amuse/community/athena/src/athena/src/fftsrc/fft_2d.h rename to src/amuse_athena/src/athena/src/fftsrc/fft_2d.h diff --git a/src/amuse/community/athena/src/athena/src/fftsrc/fft_3d.c b/src/amuse_athena/src/athena/src/fftsrc/fft_3d.c similarity index 99% rename from src/amuse/community/athena/src/athena/src/fftsrc/fft_3d.c rename to src/amuse_athena/src/athena/src/fftsrc/fft_3d.c index 5c64698032..9c707a7ed0 100644 --- a/src/amuse/community/athena/src/athena/src/fftsrc/fft_3d.c +++ b/src/amuse_athena/src/athena/src/fftsrc/fft_3d.c @@ -17,7 +17,7 @@ #include "stdio.h" #include "mpi.h" -#include "malloc.h" +#include #include "pack_3d.h" #include "remap_3d.h" diff --git a/src/amuse/community/athena/src/athena/src/fftsrc/fft_3d.h b/src/amuse_athena/src/athena/src/fftsrc/fft_3d.h similarity index 100% rename from src/amuse/community/athena/src/athena/src/fftsrc/fft_3d.h rename to src/amuse_athena/src/athena/src/fftsrc/fft_3d.h diff --git a/src/amuse/community/athena/src/athena/src/fftsrc/pack_2d.c b/src/amuse_athena/src/athena/src/fftsrc/pack_2d.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/fftsrc/pack_2d.c rename to src/amuse_athena/src/athena/src/fftsrc/pack_2d.c diff --git a/src/amuse/community/athena/src/athena/src/fftsrc/pack_2d.h b/src/amuse_athena/src/athena/src/fftsrc/pack_2d.h similarity index 100% rename from src/amuse/community/athena/src/athena/src/fftsrc/pack_2d.h rename to src/amuse_athena/src/athena/src/fftsrc/pack_2d.h diff --git a/src/amuse/community/athena/src/athena/src/fftsrc/pack_3d.c b/src/amuse_athena/src/athena/src/fftsrc/pack_3d.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/fftsrc/pack_3d.c rename to src/amuse_athena/src/athena/src/fftsrc/pack_3d.c diff --git a/src/amuse/community/athena/src/athena/src/fftsrc/pack_3d.h b/src/amuse_athena/src/athena/src/fftsrc/pack_3d.h similarity index 100% rename from src/amuse/community/athena/src/athena/src/fftsrc/pack_3d.h rename to src/amuse_athena/src/athena/src/fftsrc/pack_3d.h diff --git a/src/amuse/community/athena/src/athena/src/fftsrc/prototypes.h b/src/amuse_athena/src/athena/src/fftsrc/prototypes.h similarity index 100% rename from src/amuse/community/athena/src/athena/src/fftsrc/prototypes.h rename to src/amuse_athena/src/athena/src/fftsrc/prototypes.h diff --git a/src/amuse/community/athena/src/athena/src/fftsrc/remap_2d.c b/src/amuse_athena/src/athena/src/fftsrc/remap_2d.c similarity index 99% rename from src/amuse/community/athena/src/athena/src/fftsrc/remap_2d.c rename to src/amuse_athena/src/athena/src/fftsrc/remap_2d.c index fa58c9b108..3c8c3de6fc 100644 --- a/src/amuse/community/athena/src/athena/src/fftsrc/remap_2d.c +++ b/src/amuse_athena/src/athena/src/fftsrc/remap_2d.c @@ -17,7 +17,7 @@ #include "pack_2d.h" #include "remap_2d.h" -#include "malloc.h" +#include #include "assert.h" #define MIN(A,B) ((A) < (B)) ? (A) : (B) diff --git a/src/amuse/community/athena/src/athena/src/fftsrc/remap_2d.h b/src/amuse_athena/src/athena/src/fftsrc/remap_2d.h similarity index 100% rename from src/amuse/community/athena/src/athena/src/fftsrc/remap_2d.h rename to src/amuse_athena/src/athena/src/fftsrc/remap_2d.h diff --git a/src/amuse/community/athena/src/athena/src/fftsrc/remap_3d.c b/src/amuse_athena/src/athena/src/fftsrc/remap_3d.c similarity index 99% rename from src/amuse/community/athena/src/athena/src/fftsrc/remap_3d.c rename to src/amuse_athena/src/athena/src/fftsrc/remap_3d.c index 94c170fd42..d52baf71ba 100644 --- a/src/amuse/community/athena/src/athena/src/fftsrc/remap_3d.c +++ b/src/amuse_athena/src/athena/src/fftsrc/remap_3d.c @@ -14,7 +14,7 @@ #include "stdio.h" #include "mpi.h" -#include "malloc.h" +#include #include "assert.h" #include "pack_3d.h" diff --git a/src/amuse/community/athena/src/athena/src/fftsrc/remap_3d.h b/src/amuse_athena/src/athena/src/fftsrc/remap_3d.h similarity index 100% rename from src/amuse/community/athena/src/athena/src/fftsrc/remap_3d.h rename to src/amuse_athena/src/athena/src/fftsrc/remap_3d.h diff --git a/src/amuse/community/athena/src/athena/src/globals.h b/src/amuse_athena/src/athena/src/globals.h similarity index 100% rename from src/amuse/community/athena/src/athena/src/globals.h rename to src/amuse_athena/src/athena/src/globals.h diff --git a/src/amuse/community/athena/src/athena/src/gravity/Makefile.in b/src/amuse_athena/src/athena/src/gravity/Makefile.in similarity index 100% rename from src/amuse/community/athena/src/athena/src/gravity/Makefile.in rename to src/amuse_athena/src/athena/src/gravity/Makefile.in diff --git a/src/amuse/community/athena/src/athena/src/gravity/bvals_grav.c b/src/amuse_athena/src/athena/src/gravity/bvals_grav.c similarity index 99% rename from src/amuse/community/athena/src/athena/src/gravity/bvals_grav.c rename to src/amuse_athena/src/athena/src/gravity/bvals_grav.c index cf1a84d80c..d074f3e7b8 100644 --- a/src/amuse/community/athena/src/athena/src/gravity/bvals_grav.c +++ b/src/amuse_athena/src/athena/src/gravity/bvals_grav.c @@ -1220,7 +1220,7 @@ static void pack_Phi_ix3(GridS *pGrid) /* send contents of buffer to the neighboring grid on L-x3 */ - ierr = MPI_Send(send_buf, cnt, MPI_DOUBLE, pG->lx3_id, + ierr = MPI_Send(send_buf, cnt, MPI_DOUBLE, pGrid->lx3_id, boundary_cells_tag, MPI_COMM_WORLD); return; diff --git a/src/amuse/community/athena/src/athena/src/gravity/prototypes.h b/src/amuse_athena/src/athena/src/gravity/prototypes.h similarity index 98% rename from src/amuse/community/athena/src/athena/src/gravity/prototypes.h rename to src/amuse_athena/src/athena/src/gravity/prototypes.h index a65aceb165..10d543ac4d 100644 --- a/src/amuse/community/athena/src/athena/src/gravity/prototypes.h +++ b/src/amuse_athena/src/athena/src/gravity/prototypes.h @@ -21,6 +21,7 @@ void bvals_grav(DomainS *pDomain); /* selfg.c */ #ifdef SELF_GRAVITY +void selfg_fc(DomainS *pD); VDFun_t selfg_init(MeshS *pM); void selfg_flux_correction(GridS *pG); #endif /* SELF_GRAVITY */ diff --git a/src/amuse/community/athena/src/athena/src/gravity/selfg.c b/src/amuse_athena/src/athena/src/gravity/selfg.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/gravity/selfg.c rename to src/amuse_athena/src/athena/src/gravity/selfg.c diff --git a/src/amuse/community/athena/src/athena/src/gravity/selfg_fft.c b/src/amuse_athena/src/athena/src/gravity/selfg_fft.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/gravity/selfg_fft.c rename to src/amuse_athena/src/athena/src/gravity/selfg_fft.c diff --git a/src/amuse/community/athena/src/athena/src/gravity/selfg_fft_obc.c b/src/amuse_athena/src/athena/src/gravity/selfg_fft_obc.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/gravity/selfg_fft_obc.c rename to src/amuse_athena/src/athena/src/gravity/selfg_fft_obc.c diff --git a/src/amuse/community/athena/src/athena/src/gravity/selfg_multigrid.c b/src/amuse_athena/src/athena/src/gravity/selfg_multigrid.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/gravity/selfg_multigrid.c rename to src/amuse_athena/src/athena/src/gravity/selfg_multigrid.c diff --git a/src/amuse/community/athena/src/athena/src/init_grid.c b/src/amuse_athena/src/athena/src/init_grid.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/init_grid.c rename to src/amuse_athena/src/athena/src/init_grid.c diff --git a/src/amuse/community/athena/src/athena/src/init_mesh.c b/src/amuse_athena/src/athena/src/init_mesh.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/init_mesh.c rename to src/amuse_athena/src/athena/src/init_mesh.c diff --git a/src/amuse/community/athena/src/athena/src/integrators/Makefile.in b/src/amuse_athena/src/athena/src/integrators/Makefile.in similarity index 100% rename from src/amuse/community/athena/src/athena/src/integrators/Makefile.in rename to src/amuse_athena/src/athena/src/integrators/Makefile.in diff --git a/src/amuse/community/athena/src/athena/src/integrators/integrate.c b/src/amuse_athena/src/athena/src/integrators/integrate.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/integrators/integrate.c rename to src/amuse_athena/src/athena/src/integrators/integrate.c diff --git a/src/amuse/community/athena/src/athena/src/integrators/integrate_1d_ctu.c b/src/amuse_athena/src/athena/src/integrators/integrate_1d_ctu.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/integrators/integrate_1d_ctu.c rename to src/amuse_athena/src/athena/src/integrators/integrate_1d_ctu.c diff --git a/src/amuse/community/athena/src/athena/src/integrators/integrate_1d_vl.c b/src/amuse_athena/src/athena/src/integrators/integrate_1d_vl.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/integrators/integrate_1d_vl.c rename to src/amuse_athena/src/athena/src/integrators/integrate_1d_vl.c diff --git a/src/amuse/community/athena/src/athena/src/integrators/integrate_1d_vl_sr.c b/src/amuse_athena/src/athena/src/integrators/integrate_1d_vl_sr.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/integrators/integrate_1d_vl_sr.c rename to src/amuse_athena/src/athena/src/integrators/integrate_1d_vl_sr.c diff --git a/src/amuse/community/athena/src/athena/src/integrators/integrate_2d_ctu.c b/src/amuse_athena/src/athena/src/integrators/integrate_2d_ctu.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/integrators/integrate_2d_ctu.c rename to src/amuse_athena/src/athena/src/integrators/integrate_2d_ctu.c diff --git a/src/amuse/community/athena/src/athena/src/integrators/integrate_2d_vl.c b/src/amuse_athena/src/athena/src/integrators/integrate_2d_vl.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/integrators/integrate_2d_vl.c rename to src/amuse_athena/src/athena/src/integrators/integrate_2d_vl.c diff --git a/src/amuse/community/athena/src/athena/src/integrators/integrate_2d_vl_sr.c b/src/amuse_athena/src/athena/src/integrators/integrate_2d_vl_sr.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/integrators/integrate_2d_vl_sr.c rename to src/amuse_athena/src/athena/src/integrators/integrate_2d_vl_sr.c diff --git a/src/amuse/community/athena/src/athena/src/integrators/integrate_3d_ctu.c b/src/amuse_athena/src/athena/src/integrators/integrate_3d_ctu.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/integrators/integrate_3d_ctu.c rename to src/amuse_athena/src/athena/src/integrators/integrate_3d_ctu.c diff --git a/src/amuse/community/athena/src/athena/src/integrators/integrate_3d_vl.c b/src/amuse_athena/src/athena/src/integrators/integrate_3d_vl.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/integrators/integrate_3d_vl.c rename to src/amuse_athena/src/athena/src/integrators/integrate_3d_vl.c diff --git a/src/amuse/community/athena/src/athena/src/integrators/integrate_3d_vl_sr.c b/src/amuse_athena/src/athena/src/integrators/integrate_3d_vl_sr.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/integrators/integrate_3d_vl_sr.c rename to src/amuse_athena/src/athena/src/integrators/integrate_3d_vl_sr.c diff --git a/src/amuse/community/athena/src/athena/src/integrators/prototypes.h b/src/amuse_athena/src/athena/src/integrators/prototypes.h similarity index 100% rename from src/amuse/community/athena/src/athena/src/integrators/prototypes.h rename to src/amuse_athena/src/athena/src/integrators/prototypes.h diff --git a/src/amuse/community/athena/src/athena/src/main.c b/src/amuse_athena/src/athena/src/main.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/main.c rename to src/amuse_athena/src/athena/src/main.c diff --git a/src/amuse/community/athena/src/athena/src/microphysics/Makefile.in b/src/amuse_athena/src/athena/src/microphysics/Makefile.in similarity index 100% rename from src/amuse/community/athena/src/athena/src/microphysics/Makefile.in rename to src/amuse_athena/src/athena/src/microphysics/Makefile.in diff --git a/src/amuse/community/athena/src/athena/src/microphysics/conduction.c b/src/amuse_athena/src/athena/src/microphysics/conduction.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/microphysics/conduction.c rename to src/amuse_athena/src/athena/src/microphysics/conduction.c diff --git a/src/amuse/community/athena/src/athena/src/microphysics/cool.c b/src/amuse_athena/src/athena/src/microphysics/cool.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/microphysics/cool.c rename to src/amuse_athena/src/athena/src/microphysics/cool.c diff --git a/src/amuse/community/athena/src/athena/src/microphysics/diff_dt.c b/src/amuse_athena/src/athena/src/microphysics/diff_dt.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/microphysics/diff_dt.c rename to src/amuse_athena/src/athena/src/microphysics/diff_dt.c diff --git a/src/amuse/community/athena/src/athena/src/microphysics/get_eta.c b/src/amuse_athena/src/athena/src/microphysics/get_eta.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/microphysics/get_eta.c rename to src/amuse_athena/src/athena/src/microphysics/get_eta.c diff --git a/src/amuse/community/athena/src/athena/src/microphysics/integrate_diffusion.c b/src/amuse_athena/src/athena/src/microphysics/integrate_diffusion.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/microphysics/integrate_diffusion.c rename to src/amuse_athena/src/athena/src/microphysics/integrate_diffusion.c diff --git a/src/amuse/community/athena/src/athena/src/microphysics/prototypes.h b/src/amuse_athena/src/athena/src/microphysics/prototypes.h similarity index 100% rename from src/amuse/community/athena/src/athena/src/microphysics/prototypes.h rename to src/amuse_athena/src/athena/src/microphysics/prototypes.h diff --git a/src/amuse/community/athena/src/athena/src/microphysics/resistivity.c b/src/amuse_athena/src/athena/src/microphysics/resistivity.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/microphysics/resistivity.c rename to src/amuse_athena/src/athena/src/microphysics/resistivity.c diff --git a/src/amuse/community/athena/src/athena/src/microphysics/viscosity.c b/src/amuse_athena/src/athena/src/microphysics/viscosity.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/microphysics/viscosity.c rename to src/amuse_athena/src/athena/src/microphysics/viscosity.c diff --git a/src/amuse/community/athena/src/athena/src/new_dt.c b/src/amuse_athena/src/athena/src/new_dt.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/new_dt.c rename to src/amuse_athena/src/athena/src/new_dt.c diff --git a/src/amuse/community/athena/src/athena/src/output.c b/src/amuse_athena/src/athena/src/output.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/output.c rename to src/amuse_athena/src/athena/src/output.c diff --git a/src/amuse/community/athena/src/athena/src/output_pdf.c b/src/amuse_athena/src/athena/src/output_pdf.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/output_pdf.c rename to src/amuse_athena/src/athena/src/output_pdf.c diff --git a/src/amuse/community/athena/src/athena/src/output_pgm.c b/src/amuse_athena/src/athena/src/output_pgm.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/output_pgm.c rename to src/amuse_athena/src/athena/src/output_pgm.c diff --git a/src/amuse/community/athena/src/athena/src/output_ppm.c b/src/amuse_athena/src/athena/src/output_ppm.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/output_ppm.c rename to src/amuse_athena/src/athena/src/output_ppm.c diff --git a/src/amuse/community/athena/src/athena/src/output_tab.c b/src/amuse_athena/src/athena/src/output_tab.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/output_tab.c rename to src/amuse_athena/src/athena/src/output_tab.c diff --git a/src/amuse/community/athena/src/athena/src/output_vtk.c b/src/amuse_athena/src/athena/src/output_vtk.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/output_vtk.c rename to src/amuse_athena/src/athena/src/output_vtk.c diff --git a/src/amuse/community/athena/src/athena/src/palette.h b/src/amuse_athena/src/athena/src/palette.h similarity index 100% rename from src/amuse/community/athena/src/athena/src/palette.h rename to src/amuse_athena/src/athena/src/palette.h diff --git a/src/amuse/community/athena/src/athena/src/par.c b/src/amuse_athena/src/athena/src/par.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/par.c rename to src/amuse_athena/src/athena/src/par.c diff --git a/src/amuse/community/athena/src/athena/src/particles/Makefile.in b/src/amuse_athena/src/athena/src/particles/Makefile.in similarity index 100% rename from src/amuse/community/athena/src/athena/src/particles/Makefile.in rename to src/amuse_athena/src/athena/src/particles/Makefile.in diff --git a/src/amuse/community/athena/src/athena/src/particles/bvals_particle.c b/src/amuse_athena/src/athena/src/particles/bvals_particle.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/particles/bvals_particle.c rename to src/amuse_athena/src/athena/src/particles/bvals_particle.c diff --git a/src/amuse/community/athena/src/athena/src/particles/dump_particle_history.c b/src/amuse_athena/src/athena/src/particles/dump_particle_history.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/particles/dump_particle_history.c rename to src/amuse_athena/src/athena/src/particles/dump_particle_history.c diff --git a/src/amuse/community/athena/src/athena/src/particles/feedback.c b/src/amuse_athena/src/athena/src/particles/feedback.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/particles/feedback.c rename to src/amuse_athena/src/athena/src/particles/feedback.c diff --git a/src/amuse/community/athena/src/athena/src/particles/init_particle.c b/src/amuse_athena/src/athena/src/particles/init_particle.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/particles/init_particle.c rename to src/amuse_athena/src/athena/src/particles/init_particle.c diff --git a/src/amuse/community/athena/src/athena/src/particles/integrators_particle.c b/src/amuse_athena/src/athena/src/particles/integrators_particle.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/particles/integrators_particle.c rename to src/amuse_athena/src/athena/src/particles/integrators_particle.c diff --git a/src/amuse/community/athena/src/athena/src/particles/output_particle.c b/src/amuse_athena/src/athena/src/particles/output_particle.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/particles/output_particle.c rename to src/amuse_athena/src/athena/src/particles/output_particle.c diff --git a/src/amuse/community/athena/src/athena/src/particles/particle.h b/src/amuse_athena/src/athena/src/particles/particle.h similarity index 100% rename from src/amuse/community/athena/src/athena/src/particles/particle.h rename to src/amuse_athena/src/athena/src/particles/particle.h diff --git a/src/amuse/community/athena/src/athena/src/particles/prototypes.h b/src/amuse_athena/src/athena/src/particles/prototypes.h similarity index 100% rename from src/amuse/community/athena/src/athena/src/particles/prototypes.h rename to src/amuse_athena/src/athena/src/particles/prototypes.h diff --git a/src/amuse/community/athena/src/athena/src/particles/utils_particle.c b/src/amuse_athena/src/athena/src/particles/utils_particle.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/particles/utils_particle.c rename to src/amuse_athena/src/athena/src/particles/utils_particle.c diff --git a/src/amuse/community/athena/src/athena/src/prob/README b/src/amuse_athena/src/athena/src/prob/README similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/README rename to src/amuse_athena/src/athena/src/prob/README diff --git a/src/amuse/community/athena/src/athena/src/prob/blast.c b/src/amuse_athena/src/athena/src/prob/blast.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/blast.c rename to src/amuse_athena/src/athena/src/prob/blast.c diff --git a/src/amuse/community/athena/src/athena/src/prob/bubble.c b/src/amuse_athena/src/athena/src/prob/bubble.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/bubble.c rename to src/amuse_athena/src/athena/src/prob/bubble.c diff --git a/src/amuse/community/athena/src/athena/src/prob/carbuncle.c b/src/amuse_athena/src/athena/src/prob/carbuncle.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/carbuncle.c rename to src/amuse_athena/src/athena/src/prob/carbuncle.c diff --git a/src/amuse/community/athena/src/athena/src/prob/collapse3d.c b/src/amuse_athena/src/athena/src/prob/collapse3d.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/collapse3d.c rename to src/amuse_athena/src/athena/src/prob/collapse3d.c diff --git a/src/amuse/community/athena/src/athena/src/prob/cpaw1d.c b/src/amuse_athena/src/athena/src/prob/cpaw1d.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/cpaw1d.c rename to src/amuse_athena/src/athena/src/prob/cpaw1d.c diff --git a/src/amuse/community/athena/src/athena/src/prob/cpaw2d.c b/src/amuse_athena/src/athena/src/prob/cpaw2d.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/cpaw2d.c rename to src/amuse_athena/src/athena/src/prob/cpaw2d.c diff --git a/src/amuse/community/athena/src/athena/src/prob/cpaw3d.c b/src/amuse_athena/src/athena/src/prob/cpaw3d.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/cpaw3d.c rename to src/amuse_athena/src/athena/src/prob/cpaw3d.c diff --git a/src/amuse/community/athena/src/athena/src/prob/cshock1d.c b/src/amuse_athena/src/athena/src/prob/cshock1d.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/cshock1d.c rename to src/amuse_athena/src/athena/src/prob/cshock1d.c diff --git a/src/amuse/community/athena/src/athena/src/prob/current_sheet.c b/src/amuse_athena/src/athena/src/prob/current_sheet.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/current_sheet.c rename to src/amuse_athena/src/athena/src/prob/current_sheet.c diff --git a/src/amuse/community/athena/src/athena/src/prob/cyladvect.c b/src/amuse_athena/src/athena/src/prob/cyladvect.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/cyladvect.c rename to src/amuse_athena/src/athena/src/prob/cyladvect.c diff --git a/src/amuse/community/athena/src/athena/src/prob/cylblast.c b/src/amuse_athena/src/athena/src/prob/cylblast.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/cylblast.c rename to src/amuse_athena/src/athena/src/prob/cylblast.c diff --git a/src/amuse/community/athena/src/athena/src/prob/cylbphi.c b/src/amuse_athena/src/athena/src/prob/cylbphi.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/cylbphi.c rename to src/amuse_athena/src/athena/src/prob/cylbphi.c diff --git a/src/amuse/community/athena/src/athena/src/prob/cylbr.c b/src/amuse_athena/src/athena/src/prob/cylbr.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/cylbr.c rename to src/amuse_athena/src/athena/src/prob/cylbr.c diff --git a/src/amuse/community/athena/src/athena/src/prob/cylfieldloop.c b/src/amuse_athena/src/athena/src/prob/cylfieldloop.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/cylfieldloop.c rename to src/amuse_athena/src/athena/src/prob/cylfieldloop.c diff --git a/src/amuse/community/athena/src/athena/src/prob/cylnewtmri.c b/src/amuse_athena/src/athena/src/prob/cylnewtmri.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/cylnewtmri.c rename to src/amuse_athena/src/athena/src/prob/cylnewtmri.c diff --git a/src/amuse/community/athena/src/athena/src/prob/cylrayleigh.c b/src/amuse_athena/src/athena/src/prob/cylrayleigh.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/cylrayleigh.c rename to src/amuse_athena/src/athena/src/prob/cylrayleigh.c diff --git a/src/amuse/community/athena/src/athena/src/prob/cylunif.c b/src/amuse_athena/src/athena/src/prob/cylunif.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/cylunif.c rename to src/amuse_athena/src/athena/src/prob/cylunif.c diff --git a/src/amuse/community/athena/src/athena/src/prob/cylwind.c b/src/amuse_athena/src/athena/src/prob/cylwind.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/cylwind.c rename to src/amuse_athena/src/athena/src/prob/cylwind.c diff --git a/src/amuse/community/athena/src/athena/src/prob/cylwindrot.c b/src/amuse_athena/src/athena/src/prob/cylwindrot.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/cylwindrot.c rename to src/amuse_athena/src/athena/src/prob/cylwindrot.c diff --git a/src/amuse/community/athena/src/athena/src/prob/cylwindrotb.c b/src/amuse_athena/src/athena/src/prob/cylwindrotb.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/cylwindrotb.c rename to src/amuse_athena/src/athena/src/prob/cylwindrotb.c diff --git a/src/amuse/community/athena/src/athena/src/prob/dmr.c b/src/amuse_athena/src/athena/src/prob/dmr.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/dmr.c rename to src/amuse_athena/src/athena/src/prob/dmr.c diff --git a/src/amuse/community/athena/src/athena/src/prob/field_loop.c b/src/amuse_athena/src/athena/src/prob/field_loop.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/field_loop.c rename to src/amuse_athena/src/athena/src/prob/field_loop.c diff --git a/src/amuse/community/athena/src/athena/src/prob/firehose.c b/src/amuse_athena/src/athena/src/prob/firehose.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/firehose.c rename to src/amuse_athena/src/athena/src/prob/firehose.c diff --git a/src/amuse/community/athena/src/athena/src/prob/hall_drift.c b/src/amuse_athena/src/athena/src/prob/hall_drift.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/hall_drift.c rename to src/amuse_athena/src/athena/src/prob/hall_drift.c diff --git a/src/amuse/community/athena/src/athena/src/prob/hb3.c b/src/amuse_athena/src/athena/src/prob/hb3.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/hb3.c rename to src/amuse_athena/src/athena/src/prob/hb3.c diff --git a/src/amuse/community/athena/src/athena/src/prob/hgb.c b/src/amuse_athena/src/athena/src/prob/hgb.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/hgb.c rename to src/amuse_athena/src/athena/src/prob/hgb.c diff --git a/src/amuse/community/athena/src/athena/src/prob/hkdisk.c b/src/amuse_athena/src/athena/src/prob/hkdisk.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/hkdisk.c rename to src/amuse_athena/src/athena/src/prob/hkdisk.c diff --git a/src/amuse/community/athena/src/athena/src/prob/jeans.c b/src/amuse_athena/src/athena/src/prob/jeans.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/jeans.c rename to src/amuse_athena/src/athena/src/prob/jeans.c diff --git a/src/amuse/community/athena/src/athena/src/prob/jet.c b/src/amuse_athena/src/athena/src/prob/jet.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/jet.c rename to src/amuse_athena/src/athena/src/prob/jet.c diff --git a/src/amuse/community/athena/src/athena/src/prob/kh.c b/src/amuse_athena/src/athena/src/prob/kh.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/kh.c rename to src/amuse_athena/src/athena/src/prob/kh.c diff --git a/src/amuse/community/athena/src/athena/src/prob/linear_wave1d.c b/src/amuse_athena/src/athena/src/prob/linear_wave1d.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/linear_wave1d.c rename to src/amuse_athena/src/athena/src/prob/linear_wave1d.c diff --git a/src/amuse/community/athena/src/athena/src/prob/linear_wave2d.c b/src/amuse_athena/src/athena/src/prob/linear_wave2d.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/linear_wave2d.c rename to src/amuse_athena/src/athena/src/prob/linear_wave2d.c diff --git a/src/amuse/community/athena/src/athena/src/prob/linear_wave3d.c b/src/amuse_athena/src/athena/src/prob/linear_wave3d.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/linear_wave3d.c rename to src/amuse_athena/src/athena/src/prob/linear_wave3d.c diff --git a/src/amuse/community/athena/src/athena/src/prob/lw_implode.c b/src/amuse_athena/src/athena/src/prob/lw_implode.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/lw_implode.c rename to src/amuse_athena/src/athena/src/prob/lw_implode.c diff --git a/src/amuse/community/athena/src/athena/src/prob/noh.c b/src/amuse_athena/src/athena/src/prob/noh.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/noh.c rename to src/amuse_athena/src/athena/src/prob/noh.c diff --git a/src/amuse/community/athena/src/athena/src/prob/orszag-tang.c b/src/amuse_athena/src/athena/src/prob/orszag-tang.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/orszag-tang.c rename to src/amuse_athena/src/athena/src/prob/orszag-tang.c diff --git a/src/amuse/community/athena/src/athena/src/prob/par_circ.c b/src/amuse_athena/src/athena/src/prob/par_circ.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/par_circ.c rename to src/amuse_athena/src/athena/src/prob/par_circ.c diff --git a/src/amuse/community/athena/src/athena/src/prob/par_collision.c b/src/amuse_athena/src/athena/src/prob/par_collision.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/par_collision.c rename to src/amuse_athena/src/athena/src/prob/par_collision.c diff --git a/src/amuse/community/athena/src/athena/src/prob/par_epicycle.c b/src/amuse_athena/src/athena/src/prob/par_epicycle.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/par_epicycle.c rename to src/amuse_athena/src/athena/src/prob/par_epicycle.c diff --git a/src/amuse/community/athena/src/athena/src/prob/par_friction.c b/src/amuse_athena/src/athena/src/prob/par_friction.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/par_friction.c rename to src/amuse_athena/src/athena/src/prob/par_friction.c diff --git a/src/amuse/community/athena/src/athena/src/prob/par_linearwave1d.c b/src/amuse_athena/src/athena/src/prob/par_linearwave1d.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/par_linearwave1d.c rename to src/amuse_athena/src/athena/src/prob/par_linearwave1d.c diff --git a/src/amuse/community/athena/src/athena/src/prob/par_linearwave2d.c b/src/amuse_athena/src/athena/src/prob/par_linearwave2d.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/par_linearwave2d.c rename to src/amuse_athena/src/athena/src/prob/par_linearwave2d.c diff --git a/src/amuse/community/athena/src/athena/src/prob/par_shwave1d.c b/src/amuse_athena/src/athena/src/prob/par_shwave1d.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/par_shwave1d.c rename to src/amuse_athena/src/athena/src/prob/par_shwave1d.c diff --git a/src/amuse/community/athena/src/athena/src/prob/par_shwave2d.c b/src/amuse_athena/src/athena/src/prob/par_shwave2d.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/par_shwave2d.c rename to src/amuse_athena/src/athena/src/prob/par_shwave2d.c diff --git a/src/amuse/community/athena/src/athena/src/prob/par_strat2d.c b/src/amuse_athena/src/athena/src/prob/par_strat2d.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/par_strat2d.c rename to src/amuse_athena/src/athena/src/prob/par_strat2d.c diff --git a/src/amuse/community/athena/src/athena/src/prob/par_strat3d.c b/src/amuse_athena/src/athena/src/prob/par_strat3d.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/par_strat3d.c rename to src/amuse_athena/src/athena/src/prob/par_strat3d.c diff --git a/src/amuse/community/athena/src/athena/src/prob/pgflow.c b/src/amuse_athena/src/athena/src/prob/pgflow.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/pgflow.c rename to src/amuse_athena/src/athena/src/prob/pgflow.c diff --git a/src/amuse/community/athena/src/athena/src/prob/planet-disk.c b/src/amuse_athena/src/athena/src/prob/planet-disk.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/planet-disk.c rename to src/amuse_athena/src/athena/src/prob/planet-disk.c diff --git a/src/amuse/community/athena/src/athena/src/prob/rotor.c b/src/amuse_athena/src/athena/src/prob/rotor.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/rotor.c rename to src/amuse_athena/src/athena/src/prob/rotor.c diff --git a/src/amuse/community/athena/src/athena/src/prob/rt.c b/src/amuse_athena/src/athena/src/prob/rt.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/rt.c rename to src/amuse_athena/src/athena/src/prob/rt.c diff --git a/src/amuse/community/athena/src/athena/src/prob/shk_cloud.c b/src/amuse_athena/src/athena/src/prob/shk_cloud.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/shk_cloud.c rename to src/amuse_athena/src/athena/src/prob/shk_cloud.c diff --git a/src/amuse/community/athena/src/athena/src/prob/shkset1d.c b/src/amuse_athena/src/athena/src/prob/shkset1d.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/shkset1d.c rename to src/amuse_athena/src/athena/src/prob/shkset1d.c diff --git a/src/amuse/community/athena/src/athena/src/prob/shkset2d.c b/src/amuse_athena/src/athena/src/prob/shkset2d.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/shkset2d.c rename to src/amuse_athena/src/athena/src/prob/shkset2d.c diff --git a/src/amuse/community/athena/src/athena/src/prob/shkset3d.c b/src/amuse_athena/src/athena/src/prob/shkset3d.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/shkset3d.c rename to src/amuse_athena/src/athena/src/prob/shkset3d.c diff --git a/src/amuse/community/athena/src/athena/src/prob/shu-osher.c b/src/amuse_athena/src/athena/src/prob/shu-osher.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/shu-osher.c rename to src/amuse_athena/src/athena/src/prob/shu-osher.c diff --git a/src/amuse/community/athena/src/athena/src/prob/strat.c b/src/amuse_athena/src/athena/src/prob/strat.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/strat.c rename to src/amuse_athena/src/athena/src/prob/strat.c diff --git a/src/amuse/community/athena/src/athena/src/prob/streaming2d_multi.c b/src/amuse_athena/src/athena/src/prob/streaming2d_multi.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/streaming2d_multi.c rename to src/amuse_athena/src/athena/src/prob/streaming2d_multi.c diff --git a/src/amuse/community/athena/src/athena/src/prob/streaming2d_single.c b/src/amuse_athena/src/athena/src/prob/streaming2d_single.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/streaming2d_single.c rename to src/amuse_athena/src/athena/src/prob/streaming2d_single.c diff --git a/src/amuse/community/athena/src/athena/src/prob/streaming3d_multi.c b/src/amuse_athena/src/athena/src/prob/streaming3d_multi.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/streaming3d_multi.c rename to src/amuse_athena/src/athena/src/prob/streaming3d_multi.c diff --git a/src/amuse/community/athena/src/athena/src/prob/streaming3d_single.c b/src/amuse_athena/src/athena/src/prob/streaming3d_single.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/streaming3d_single.c rename to src/amuse_athena/src/athena/src/prob/streaming3d_single.c diff --git a/src/amuse/community/athena/src/athena/src/prob/ti.c b/src/amuse_athena/src/athena/src/prob/ti.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/ti.c rename to src/amuse_athena/src/athena/src/prob/ti.c diff --git a/src/amuse/community/athena/src/athena/src/prob/turb.c b/src/amuse_athena/src/athena/src/prob/turb.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/turb.c rename to src/amuse_athena/src/athena/src/prob/turb.c diff --git a/src/amuse/community/athena/src/athena/src/prob/twoibw.c b/src/amuse_athena/src/athena/src/prob/twoibw.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/prob/twoibw.c rename to src/amuse_athena/src/athena/src/prob/twoibw.c diff --git a/src/amuse/community/athena/src/athena/src/prototypes.h b/src/amuse_athena/src/athena/src/prototypes.h similarity index 100% rename from src/amuse/community/athena/src/athena/src/prototypes.h rename to src/amuse_athena/src/athena/src/prototypes.h diff --git a/src/amuse/community/athena/src/athena/src/reconstruction/Makefile.in b/src/amuse_athena/src/athena/src/reconstruction/Makefile.in similarity index 100% rename from src/amuse/community/athena/src/athena/src/reconstruction/Makefile.in rename to src/amuse_athena/src/athena/src/reconstruction/Makefile.in diff --git a/src/amuse/community/athena/src/athena/src/reconstruction/esystem_prim.c b/src/amuse_athena/src/athena/src/reconstruction/esystem_prim.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/reconstruction/esystem_prim.c rename to src/amuse_athena/src/athena/src/reconstruction/esystem_prim.c diff --git a/src/amuse/community/athena/src/athena/src/reconstruction/lr_states_dc.c b/src/amuse_athena/src/athena/src/reconstruction/lr_states_dc.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/reconstruction/lr_states_dc.c rename to src/amuse_athena/src/athena/src/reconstruction/lr_states_dc.c diff --git a/src/amuse/community/athena/src/athena/src/reconstruction/lr_states_plm.c b/src/amuse_athena/src/athena/src/reconstruction/lr_states_plm.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/reconstruction/lr_states_plm.c rename to src/amuse_athena/src/athena/src/reconstruction/lr_states_plm.c diff --git a/src/amuse/community/athena/src/athena/src/reconstruction/lr_states_ppm.c b/src/amuse_athena/src/athena/src/reconstruction/lr_states_ppm.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/reconstruction/lr_states_ppm.c rename to src/amuse_athena/src/athena/src/reconstruction/lr_states_ppm.c diff --git a/src/amuse/community/athena/src/athena/src/reconstruction/lr_states_prim2.c b/src/amuse_athena/src/athena/src/reconstruction/lr_states_prim2.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/reconstruction/lr_states_prim2.c rename to src/amuse_athena/src/athena/src/reconstruction/lr_states_prim2.c diff --git a/src/amuse/community/athena/src/athena/src/reconstruction/lr_states_prim3.c b/src/amuse_athena/src/athena/src/reconstruction/lr_states_prim3.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/reconstruction/lr_states_prim3.c rename to src/amuse_athena/src/athena/src/reconstruction/lr_states_prim3.c diff --git a/src/amuse/community/athena/src/athena/src/reconstruction/prototypes.h b/src/amuse_athena/src/athena/src/reconstruction/prototypes.h similarity index 100% rename from src/amuse/community/athena/src/athena/src/reconstruction/prototypes.h rename to src/amuse_athena/src/athena/src/reconstruction/prototypes.h diff --git a/src/amuse/community/athena/src/athena/src/restart.c b/src/amuse_athena/src/athena/src/restart.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/restart.c rename to src/amuse_athena/src/athena/src/restart.c diff --git a/src/amuse/community/athena/src/athena/src/rsolvers/Makefile.in b/src/amuse_athena/src/athena/src/rsolvers/Makefile.in similarity index 100% rename from src/amuse/community/athena/src/athena/src/rsolvers/Makefile.in rename to src/amuse_athena/src/athena/src/rsolvers/Makefile.in diff --git a/src/amuse/community/athena/src/athena/src/rsolvers/esystem_roe.c b/src/amuse_athena/src/athena/src/rsolvers/esystem_roe.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/rsolvers/esystem_roe.c rename to src/amuse_athena/src/athena/src/rsolvers/esystem_roe.c diff --git a/src/amuse/community/athena/src/athena/src/rsolvers/exact.c b/src/amuse_athena/src/athena/src/rsolvers/exact.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/rsolvers/exact.c rename to src/amuse_athena/src/athena/src/rsolvers/exact.c diff --git a/src/amuse/community/athena/src/athena/src/rsolvers/exact_sr.c b/src/amuse_athena/src/athena/src/rsolvers/exact_sr.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/rsolvers/exact_sr.c rename to src/amuse_athena/src/athena/src/rsolvers/exact_sr.c diff --git a/src/amuse/community/athena/src/athena/src/rsolvers/force.c b/src/amuse_athena/src/athena/src/rsolvers/force.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/rsolvers/force.c rename to src/amuse_athena/src/athena/src/rsolvers/force.c diff --git a/src/amuse/community/athena/src/athena/src/rsolvers/hllc.c b/src/amuse_athena/src/athena/src/rsolvers/hllc.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/rsolvers/hllc.c rename to src/amuse_athena/src/athena/src/rsolvers/hllc.c diff --git a/src/amuse/community/athena/src/athena/src/rsolvers/hllc_sr.c b/src/amuse_athena/src/athena/src/rsolvers/hllc_sr.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/rsolvers/hllc_sr.c rename to src/amuse_athena/src/athena/src/rsolvers/hllc_sr.c diff --git a/src/amuse/community/athena/src/athena/src/rsolvers/hlld.c b/src/amuse_athena/src/athena/src/rsolvers/hlld.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/rsolvers/hlld.c rename to src/amuse_athena/src/athena/src/rsolvers/hlld.c diff --git a/src/amuse/community/athena/src/athena/src/rsolvers/hlld_sr.c b/src/amuse_athena/src/athena/src/rsolvers/hlld_sr.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/rsolvers/hlld_sr.c rename to src/amuse_athena/src/athena/src/rsolvers/hlld_sr.c diff --git a/src/amuse/community/athena/src/athena/src/rsolvers/hlle.c b/src/amuse_athena/src/athena/src/rsolvers/hlle.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/rsolvers/hlle.c rename to src/amuse_athena/src/athena/src/rsolvers/hlle.c diff --git a/src/amuse/community/athena/src/athena/src/rsolvers/hlle_sr.c b/src/amuse_athena/src/athena/src/rsolvers/hlle_sr.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/rsolvers/hlle_sr.c rename to src/amuse_athena/src/athena/src/rsolvers/hlle_sr.c diff --git a/src/amuse/community/athena/src/athena/src/rsolvers/prototypes.h b/src/amuse_athena/src/athena/src/rsolvers/prototypes.h similarity index 100% rename from src/amuse/community/athena/src/athena/src/rsolvers/prototypes.h rename to src/amuse_athena/src/athena/src/rsolvers/prototypes.h diff --git a/src/amuse/community/athena/src/athena/src/rsolvers/roe.c b/src/amuse_athena/src/athena/src/rsolvers/roe.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/rsolvers/roe.c rename to src/amuse_athena/src/athena/src/rsolvers/roe.c diff --git a/src/amuse/community/athena/src/athena/src/rsolvers/two_shock.c b/src/amuse_athena/src/athena/src/rsolvers/two_shock.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/rsolvers/two_shock.c rename to src/amuse_athena/src/athena/src/rsolvers/two_shock.c diff --git a/src/amuse/community/athena/src/athena/src/show_config.c b/src/amuse_athena/src/athena/src/show_config.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/show_config.c rename to src/amuse_athena/src/athena/src/show_config.c diff --git a/src/amuse/community/athena/src/athena/src/smr.c b/src/amuse_athena/src/athena/src/smr.c similarity index 99% rename from src/amuse/community/athena/src/athena/src/smr.c rename to src/amuse_athena/src/athena/src/smr.c index c54a4333a7..b99639d6b9 100644 --- a/src/amuse/community/athena/src/athena/src/smr.c +++ b/src/amuse_athena/src/athena/src/smr.c @@ -2169,7 +2169,7 @@ void ProCon(const ConsS Uim1,const ConsS Ui, const ConsS Uip1, Vfail = 0; fail = 0; -#endif SPECIAL_RELATIVITY +#endif /* SPECIAL_RELATIVITY */ #endif /* FIRST_ORDER */ } diff --git a/src/amuse/community/athena/src/athena/src/utils.c b/src/amuse_athena/src/athena/src/utils.c similarity index 100% rename from src/amuse/community/athena/src/athena/src/utils.c rename to src/amuse_athena/src/athena/src/utils.c diff --git a/src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.einfeldt1125 b/src/amuse_athena/src/athena/tst/1D-hydro/athinput.einfeldt1125 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.einfeldt1125 rename to src/amuse_athena/src/athena/tst/1D-hydro/athinput.einfeldt1125 diff --git a/src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.einfeldt1203 b/src/amuse_athena/src/athena/tst/1D-hydro/athinput.einfeldt1203 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.einfeldt1203 rename to src/amuse_athena/src/athena/tst/1D-hydro/athinput.einfeldt1203 diff --git a/src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.leveque b/src/amuse_athena/src/athena/tst/1D-hydro/athinput.leveque similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.leveque rename to src/amuse_athena/src/athena/tst/1D-hydro/athinput.leveque diff --git a/src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.linear_wave1d b/src/amuse_athena/src/athena/tst/1D-hydro/athinput.linear_wave1d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.linear_wave1d rename to src/amuse_athena/src/athena/tst/1D-hydro/athinput.linear_wave1d diff --git a/src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.linear_wave1d-3lev1 b/src/amuse_athena/src/athena/tst/1D-hydro/athinput.linear_wave1d-3lev1 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.linear_wave1d-3lev1 rename to src/amuse_athena/src/athena/tst/1D-hydro/athinput.linear_wave1d-3lev1 diff --git a/src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.noh b/src/amuse_athena/src/athena/tst/1D-hydro/athinput.noh similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.noh rename to src/amuse_athena/src/athena/tst/1D-hydro/athinput.noh diff --git a/src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.pgflow b/src/amuse_athena/src/athena/tst/1D-hydro/athinput.pgflow similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.pgflow rename to src/amuse_athena/src/athena/tst/1D-hydro/athinput.pgflow diff --git a/src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.shu-osher b/src/amuse_athena/src/athena/tst/1D-hydro/athinput.shu-osher similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.shu-osher rename to src/amuse_athena/src/athena/tst/1D-hydro/athinput.shu-osher diff --git a/src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.slow-moving-shock b/src/amuse_athena/src/athena/tst/1D-hydro/athinput.slow-moving-shock similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.slow-moving-shock rename to src/amuse_athena/src/athena/tst/1D-hydro/athinput.slow-moving-shock diff --git a/src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.sod b/src/amuse_athena/src/athena/tst/1D-hydro/athinput.sod similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.sod rename to src/amuse_athena/src/athena/tst/1D-hydro/athinput.sod diff --git a/src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.sod-lw b/src/amuse_athena/src/athena/tst/1D-hydro/athinput.sod-lw similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.sod-lw rename to src/amuse_athena/src/athena/tst/1D-hydro/athinput.sod-lw diff --git a/src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.sod-toro b/src/amuse_athena/src/athena/tst/1D-hydro/athinput.sod-toro similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.sod-toro rename to src/amuse_athena/src/athena/tst/1D-hydro/athinput.sod-toro diff --git a/src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.twoibw b/src/amuse_athena/src/athena/tst/1D-hydro/athinput.twoibw similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-hydro/athinput.twoibw rename to src/amuse_athena/src/athena/tst/1D-hydro/athinput.twoibw diff --git a/src/amuse/community/athena/src/athena/tst/1D-hydro/run.linear_wave1d b/src/amuse_athena/src/athena/tst/1D-hydro/run.linear_wave1d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-hydro/run.linear_wave1d rename to src/amuse_athena/src/athena/tst/1D-hydro/run.linear_wave1d diff --git a/src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.brio-wu b/src/amuse_athena/src/athena/tst/1D-mhd/athinput.brio-wu similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.brio-wu rename to src/amuse_athena/src/athena/tst/1D-mhd/athinput.brio-wu diff --git a/src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.cpaw1d b/src/amuse_athena/src/athena/tst/1D-mhd/athinput.cpaw1d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.cpaw1d rename to src/amuse_athena/src/athena/tst/1D-mhd/athinput.cpaw1d diff --git a/src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.cshock1d b/src/amuse_athena/src/athena/tst/1D-mhd/athinput.cshock1d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.cshock1d rename to src/amuse_athena/src/athena/tst/1D-mhd/athinput.cshock1d diff --git a/src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.linear_wave1d b/src/amuse_athena/src/athena/tst/1D-mhd/athinput.linear_wave1d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.linear_wave1d rename to src/amuse_athena/src/athena/tst/1D-mhd/athinput.linear_wave1d diff --git a/src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.linear_wave1d-3lev1 b/src/amuse_athena/src/athena/tst/1D-mhd/athinput.linear_wave1d-3lev1 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.linear_wave1d-3lev1 rename to src/amuse_athena/src/athena/tst/1D-mhd/athinput.linear_wave1d-3lev1 diff --git a/src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.rj1a b/src/amuse_athena/src/athena/tst/1D-mhd/athinput.rj1a similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.rj1a rename to src/amuse_athena/src/athena/tst/1D-mhd/athinput.rj1a diff --git a/src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.rj1b b/src/amuse_athena/src/athena/tst/1D-mhd/athinput.rj1b similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.rj1b rename to src/amuse_athena/src/athena/tst/1D-mhd/athinput.rj1b diff --git a/src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.rj2a b/src/amuse_athena/src/athena/tst/1D-mhd/athinput.rj2a similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.rj2a rename to src/amuse_athena/src/athena/tst/1D-mhd/athinput.rj2a diff --git a/src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.rj2b b/src/amuse_athena/src/athena/tst/1D-mhd/athinput.rj2b similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.rj2b rename to src/amuse_athena/src/athena/tst/1D-mhd/athinput.rj2b diff --git a/src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.rj3a b/src/amuse_athena/src/athena/tst/1D-mhd/athinput.rj3a similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.rj3a rename to src/amuse_athena/src/athena/tst/1D-mhd/athinput.rj3a diff --git a/src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.rj3b b/src/amuse_athena/src/athena/tst/1D-mhd/athinput.rj3b similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.rj3b rename to src/amuse_athena/src/athena/tst/1D-mhd/athinput.rj3b diff --git a/src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.rj4a b/src/amuse_athena/src/athena/tst/1D-mhd/athinput.rj4a similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.rj4a rename to src/amuse_athena/src/athena/tst/1D-mhd/athinput.rj4a diff --git a/src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.rj4b b/src/amuse_athena/src/athena/tst/1D-mhd/athinput.rj4b similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.rj4b rename to src/amuse_athena/src/athena/tst/1D-mhd/athinput.rj4b diff --git a/src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.rj4c b/src/amuse_athena/src/athena/tst/1D-mhd/athinput.rj4c similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.rj4c rename to src/amuse_athena/src/athena/tst/1D-mhd/athinput.rj4c diff --git a/src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.rj4d b/src/amuse_athena/src/athena/tst/1D-mhd/athinput.rj4d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.rj4d rename to src/amuse_athena/src/athena/tst/1D-mhd/athinput.rj4d diff --git a/src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.torrilhon b/src/amuse_athena/src/athena/tst/1D-mhd/athinput.torrilhon similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-mhd/athinput.torrilhon rename to src/amuse_athena/src/athena/tst/1D-mhd/athinput.torrilhon diff --git a/src/amuse/community/athena/src/athena/tst/1D-mhd/run.cpaw1d b/src/amuse_athena/src/athena/tst/1D-mhd/run.cpaw1d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-mhd/run.cpaw1d rename to src/amuse_athena/src/athena/tst/1D-mhd/run.cpaw1d diff --git a/src/amuse/community/athena/src/athena/tst/1D-mhd/run.linear_wave1d b/src/amuse_athena/src/athena/tst/1D-mhd/run.linear_wave1d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-mhd/run.linear_wave1d rename to src/amuse_athena/src/athena/tst/1D-mhd/run.linear_wave1d diff --git a/src/amuse/community/athena/src/athena/tst/1D-mhd/run.test b/src/amuse_athena/src/athena/tst/1D-mhd/run.test similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-mhd/run.test rename to src/amuse_athena/src/athena/tst/1D-mhd/run.test diff --git a/src/amuse/community/athena/src/athena/tst/1D-sr-hydro/athinput.mb1 b/src/amuse_athena/src/athena/tst/1D-sr-hydro/athinput.mb1 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-sr-hydro/athinput.mb1 rename to src/amuse_athena/src/athena/tst/1D-sr-hydro/athinput.mb1 diff --git a/src/amuse/community/athena/src/athena/tst/1D-sr-hydro/athinput.mb2 b/src/amuse_athena/src/athena/tst/1D-sr-hydro/athinput.mb2 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-sr-hydro/athinput.mb2 rename to src/amuse_athena/src/athena/tst/1D-sr-hydro/athinput.mb2 diff --git a/src/amuse/community/athena/src/athena/tst/1D-sr-hydro/athinput.mb3 b/src/amuse_athena/src/athena/tst/1D-sr-hydro/athinput.mb3 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-sr-hydro/athinput.mb3 rename to src/amuse_athena/src/athena/tst/1D-sr-hydro/athinput.mb3 diff --git a/src/amuse/community/athena/src/athena/tst/1D-sr-hydro/athinput.mb4 b/src/amuse_athena/src/athena/tst/1D-sr-hydro/athinput.mb4 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-sr-hydro/athinput.mb4 rename to src/amuse_athena/src/athena/tst/1D-sr-hydro/athinput.mb4 diff --git a/src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.FastShk1 b/src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.FastShk1 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.FastShk1 rename to src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.FastShk1 diff --git a/src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.FastShk2 b/src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.FastShk2 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.FastShk2 rename to src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.FastShk2 diff --git a/src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.FastShk3 b/src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.FastShk3 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.FastShk3 rename to src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.FastShk3 diff --git a/src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.K99sod1 b/src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.K99sod1 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.K99sod1 rename to src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.K99sod1 diff --git a/src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.K99sod2 b/src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.K99sod2 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.K99sod2 rename to src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.K99sod2 diff --git a/src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.SWoffFRF b/src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.SWoffFRF similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.SWoffFRF rename to src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.SWoffFRF diff --git a/src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.SWonSRF b/src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.SWonSRF similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.SWonSRF rename to src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.SWonSRF diff --git a/src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.SlowShock b/src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.SlowShock similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.SlowShock rename to src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.SlowShock diff --git a/src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.brio-wu b/src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.brio-wu similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.brio-wu rename to src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.brio-wu diff --git a/src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.mub1 b/src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.mub1 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.mub1 rename to src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.mub1 diff --git a/src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.mub2 b/src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.mub2 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.mub2 rename to src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.mub2 diff --git a/src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.mub3 b/src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.mub3 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.mub3 rename to src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.mub3 diff --git a/src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.mub4 b/src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.mub4 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.mub4 rename to src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.mub4 diff --git a/src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.mubcontact b/src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.mubcontact similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.mubcontact rename to src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.mubcontact diff --git a/src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.mubrot b/src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.mubrot similarity index 100% rename from src/amuse/community/athena/src/athena/tst/1D-sr-mhd/athinput.mubrot rename to src/amuse_athena/src/athena/tst/1D-sr-mhd/athinput.mubrot diff --git a/src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.blast b/src/amuse_athena/src/athena/tst/2D-hydro/athinput.blast similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.blast rename to src/amuse_athena/src/athena/tst/2D-hydro/athinput.blast diff --git a/src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.carbuncle b/src/amuse_athena/src/athena/tst/2D-hydro/athinput.carbuncle similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.carbuncle rename to src/amuse_athena/src/athena/tst/2D-hydro/athinput.carbuncle diff --git a/src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.dmr b/src/amuse_athena/src/athena/tst/2D-hydro/athinput.dmr similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.dmr rename to src/amuse_athena/src/athena/tst/2D-hydro/athinput.dmr diff --git a/src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.jeans b/src/amuse_athena/src/athena/tst/2D-hydro/athinput.jeans similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.jeans rename to src/amuse_athena/src/athena/tst/2D-hydro/athinput.jeans diff --git a/src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.kh b/src/amuse_athena/src/athena/tst/2D-hydro/athinput.kh similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.kh rename to src/amuse_athena/src/athena/tst/2D-hydro/athinput.kh diff --git a/src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.linear_wave2d b/src/amuse_athena/src/athena/tst/2D-hydro/athinput.linear_wave2d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.linear_wave2d rename to src/amuse_athena/src/athena/tst/2D-hydro/athinput.linear_wave2d diff --git a/src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.linear_wave2d-3lev1 b/src/amuse_athena/src/athena/tst/2D-hydro/athinput.linear_wave2d-3lev1 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.linear_wave2d-3lev1 rename to src/amuse_athena/src/athena/tst/2D-hydro/athinput.linear_wave2d-3lev1 diff --git a/src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.lw_implode b/src/amuse_athena/src/athena/tst/2D-hydro/athinput.lw_implode similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.lw_implode rename to src/amuse_athena/src/athena/tst/2D-hydro/athinput.lw_implode diff --git a/src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.noh b/src/amuse_athena/src/athena/tst/2D-hydro/athinput.noh similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.noh rename to src/amuse_athena/src/athena/tst/2D-hydro/athinput.noh diff --git a/src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.pgflow b/src/amuse_athena/src/athena/tst/2D-hydro/athinput.pgflow similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.pgflow rename to src/amuse_athena/src/athena/tst/2D-hydro/athinput.pgflow diff --git a/src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.rt b/src/amuse_athena/src/athena/tst/2D-hydro/athinput.rt similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.rt rename to src/amuse_athena/src/athena/tst/2D-hydro/athinput.rt diff --git a/src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.shk_cloud b/src/amuse_athena/src/athena/tst/2D-hydro/athinput.shk_cloud similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-hydro/athinput.shk_cloud rename to src/amuse_athena/src/athena/tst/2D-hydro/athinput.shk_cloud diff --git a/src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.Tconduct b/src/amuse_athena/src/athena/tst/2D-mhd/athinput.Tconduct similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.Tconduct rename to src/amuse_athena/src/athena/tst/2D-mhd/athinput.Tconduct diff --git a/src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.blast_B1 b/src/amuse_athena/src/athena/tst/2D-mhd/athinput.blast_B1 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.blast_B1 rename to src/amuse_athena/src/athena/tst/2D-mhd/athinput.blast_B1 diff --git a/src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.blast_B10 b/src/amuse_athena/src/athena/tst/2D-mhd/athinput.blast_B10 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.blast_B10 rename to src/amuse_athena/src/athena/tst/2D-mhd/athinput.blast_B10 diff --git a/src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.cpaw2d b/src/amuse_athena/src/athena/tst/2D-mhd/athinput.cpaw2d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.cpaw2d rename to src/amuse_athena/src/athena/tst/2D-mhd/athinput.cpaw2d diff --git a/src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.field_loop b/src/amuse_athena/src/athena/tst/2D-mhd/athinput.field_loop similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.field_loop rename to src/amuse_athena/src/athena/tst/2D-mhd/athinput.field_loop diff --git a/src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.hall_drift b/src/amuse_athena/src/athena/tst/2D-mhd/athinput.hall_drift similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.hall_drift rename to src/amuse_athena/src/athena/tst/2D-mhd/athinput.hall_drift diff --git a/src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.hb3 b/src/amuse_athena/src/athena/tst/2D-mhd/athinput.hb3 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.hb3 rename to src/amuse_athena/src/athena/tst/2D-mhd/athinput.hb3 diff --git a/src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.kh b/src/amuse_athena/src/athena/tst/2D-mhd/athinput.kh similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.kh rename to src/amuse_athena/src/athena/tst/2D-mhd/athinput.kh diff --git a/src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.linear_wave2d b/src/amuse_athena/src/athena/tst/2D-mhd/athinput.linear_wave2d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.linear_wave2d rename to src/amuse_athena/src/athena/tst/2D-mhd/athinput.linear_wave2d diff --git a/src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.linear_wave2d-3lev1 b/src/amuse_athena/src/athena/tst/2D-mhd/athinput.linear_wave2d-3lev1 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.linear_wave2d-3lev1 rename to src/amuse_athena/src/athena/tst/2D-mhd/athinput.linear_wave2d-3lev1 diff --git a/src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.orszag-tang b/src/amuse_athena/src/athena/tst/2D-mhd/athinput.orszag-tang similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.orszag-tang rename to src/amuse_athena/src/athena/tst/2D-mhd/athinput.orszag-tang diff --git a/src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.rj2a b/src/amuse_athena/src/athena/tst/2D-mhd/athinput.rj2a similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.rj2a rename to src/amuse_athena/src/athena/tst/2D-mhd/athinput.rj2a diff --git a/src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.rotor b/src/amuse_athena/src/athena/tst/2D-mhd/athinput.rotor similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.rotor rename to src/amuse_athena/src/athena/tst/2D-mhd/athinput.rotor diff --git a/src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.rt b/src/amuse_athena/src/athena/tst/2D-mhd/athinput.rt similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-mhd/athinput.rt rename to src/amuse_athena/src/athena/tst/2D-mhd/athinput.rt diff --git a/src/amuse/community/athena/src/athena/tst/2D-mhd/run.cpaw2d b/src/amuse_athena/src/athena/tst/2D-mhd/run.cpaw2d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-mhd/run.cpaw2d rename to src/amuse_athena/src/athena/tst/2D-mhd/run.cpaw2d diff --git a/src/amuse/community/athena/src/athena/tst/2D-mhd/run.linear_wave2d b/src/amuse_athena/src/athena/tst/2D-mhd/run.linear_wave2d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-mhd/run.linear_wave2d rename to src/amuse_athena/src/athena/tst/2D-mhd/run.linear_wave2d diff --git a/src/amuse/community/athena/src/athena/tst/2D-sr-hydro/athinput.blast b/src/amuse_athena/src/athena/tst/2D-sr-hydro/athinput.blast similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-sr-hydro/athinput.blast rename to src/amuse_athena/src/athena/tst/2D-sr-hydro/athinput.blast diff --git a/src/amuse/community/athena/src/athena/tst/2D-sr-hydro/athinput.jet b/src/amuse_athena/src/athena/tst/2D-sr-hydro/athinput.jet similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-sr-hydro/athinput.jet rename to src/amuse_athena/src/athena/tst/2D-sr-hydro/athinput.jet diff --git a/src/amuse/community/athena/src/athena/tst/2D-sr-mhd/athinput.blast b/src/amuse_athena/src/athena/tst/2D-sr-mhd/athinput.blast similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-sr-mhd/athinput.blast rename to src/amuse_athena/src/athena/tst/2D-sr-mhd/athinput.blast diff --git a/src/amuse/community/athena/src/athena/tst/2D-sr-mhd/athinput.brio-wu b/src/amuse_athena/src/athena/tst/2D-sr-mhd/athinput.brio-wu similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-sr-mhd/athinput.brio-wu rename to src/amuse_athena/src/athena/tst/2D-sr-mhd/athinput.brio-wu diff --git a/src/amuse/community/athena/src/athena/tst/2D-sr-mhd/athinput.current-sheet b/src/amuse_athena/src/athena/tst/2D-sr-mhd/athinput.current-sheet similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-sr-mhd/athinput.current-sheet rename to src/amuse_athena/src/athena/tst/2D-sr-mhd/athinput.current-sheet diff --git a/src/amuse/community/athena/src/athena/tst/2D-sr-mhd/athinput.jet b/src/amuse_athena/src/athena/tst/2D-sr-mhd/athinput.jet similarity index 100% rename from src/amuse/community/athena/src/athena/tst/2D-sr-mhd/athinput.jet rename to src/amuse_athena/src/athena/tst/2D-sr-mhd/athinput.jet diff --git a/src/amuse/community/athena/src/athena/tst/3D-hydro/Data-160-FPwave.dat b/src/amuse_athena/src/athena/tst/3D-hydro/Data-160-FPwave.dat similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-hydro/Data-160-FPwave.dat rename to src/amuse_athena/src/athena/tst/3D-hydro/Data-160-FPwave.dat diff --git a/src/amuse/community/athena/src/athena/tst/3D-hydro/Data-40-FPwave.dat b/src/amuse_athena/src/athena/tst/3D-hydro/Data-40-FPwave.dat similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-hydro/Data-40-FPwave.dat rename to src/amuse_athena/src/athena/tst/3D-hydro/Data-40-FPwave.dat diff --git a/src/amuse/community/athena/src/athena/tst/3D-hydro/athinput.blast b/src/amuse_athena/src/athena/tst/3D-hydro/athinput.blast similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-hydro/athinput.blast rename to src/amuse_athena/src/athena/tst/3D-hydro/athinput.blast diff --git a/src/amuse/community/athena/src/athena/tst/3D-hydro/athinput.carbuncle b/src/amuse_athena/src/athena/tst/3D-hydro/athinput.carbuncle similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-hydro/athinput.carbuncle rename to src/amuse_athena/src/athena/tst/3D-hydro/athinput.carbuncle diff --git a/src/amuse/community/athena/src/athena/tst/3D-hydro/athinput.fp-wave b/src/amuse_athena/src/athena/tst/3D-hydro/athinput.fp-wave similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-hydro/athinput.fp-wave rename to src/amuse_athena/src/athena/tst/3D-hydro/athinput.fp-wave diff --git a/src/amuse/community/athena/src/athena/tst/3D-hydro/athinput.linear_wave3d b/src/amuse_athena/src/athena/tst/3D-hydro/athinput.linear_wave3d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-hydro/athinput.linear_wave3d rename to src/amuse_athena/src/athena/tst/3D-hydro/athinput.linear_wave3d diff --git a/src/amuse/community/athena/src/athena/tst/3D-hydro/athinput.linear_wave3d-3lev1 b/src/amuse_athena/src/athena/tst/3D-hydro/athinput.linear_wave3d-3lev1 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-hydro/athinput.linear_wave3d-3lev1 rename to src/amuse_athena/src/athena/tst/3D-hydro/athinput.linear_wave3d-3lev1 diff --git a/src/amuse/community/athena/src/athena/tst/3D-hydro/athinput.nl-shwave b/src/amuse_athena/src/athena/tst/3D-hydro/athinput.nl-shwave similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-hydro/athinput.nl-shwave rename to src/amuse_athena/src/athena/tst/3D-hydro/athinput.nl-shwave diff --git a/src/amuse/community/athena/src/athena/tst/3D-hydro/athinput.noh b/src/amuse_athena/src/athena/tst/3D-hydro/athinput.noh similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-hydro/athinput.noh rename to src/amuse_athena/src/athena/tst/3D-hydro/athinput.noh diff --git a/src/amuse/community/athena/src/athena/tst/3D-hydro/athinput.pgflow b/src/amuse_athena/src/athena/tst/3D-hydro/athinput.pgflow similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-hydro/athinput.pgflow rename to src/amuse_athena/src/athena/tst/3D-hydro/athinput.pgflow diff --git a/src/amuse/community/athena/src/athena/tst/3D-hydro/athinput.shk_cloud b/src/amuse_athena/src/athena/tst/3D-hydro/athinput.shk_cloud similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-hydro/athinput.shk_cloud rename to src/amuse_athena/src/athena/tst/3D-hydro/athinput.shk_cloud diff --git a/src/amuse/community/athena/src/athena/tst/3D-hydro/athinput.shwave b/src/amuse_athena/src/athena/tst/3D-hydro/athinput.shwave similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-hydro/athinput.shwave rename to src/amuse_athena/src/athena/tst/3D-hydro/athinput.shwave diff --git a/src/amuse/community/athena/src/athena/tst/3D-hydro/athinput.turb b/src/amuse_athena/src/athena/tst/3D-hydro/athinput.turb similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-hydro/athinput.turb rename to src/amuse_athena/src/athena/tst/3D-hydro/athinput.turb diff --git a/src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.Tconduct b/src/amuse_athena/src/athena/tst/3D-mhd/athinput.Tconduct similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.Tconduct rename to src/amuse_athena/src/athena/tst/3D-mhd/athinput.Tconduct diff --git a/src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.blast_B1 b/src/amuse_athena/src/athena/tst/3D-mhd/athinput.blast_B1 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.blast_B1 rename to src/amuse_athena/src/athena/tst/3D-mhd/athinput.blast_B1 diff --git a/src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.blast_B10 b/src/amuse_athena/src/athena/tst/3D-mhd/athinput.blast_B10 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.blast_B10 rename to src/amuse_athena/src/athena/tst/3D-mhd/athinput.blast_B10 diff --git a/src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.cpaw3d b/src/amuse_athena/src/athena/tst/3D-mhd/athinput.cpaw3d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.cpaw3d rename to src/amuse_athena/src/athena/tst/3D-mhd/athinput.cpaw3d diff --git a/src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.field_loop b/src/amuse_athena/src/athena/tst/3D-mhd/athinput.field_loop similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.field_loop rename to src/amuse_athena/src/athena/tst/3D-mhd/athinput.field_loop diff --git a/src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.field_loop4 b/src/amuse_athena/src/athena/tst/3D-mhd/athinput.field_loop4 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.field_loop4 rename to src/amuse_athena/src/athena/tst/3D-mhd/athinput.field_loop4 diff --git a/src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.hgb b/src/amuse_athena/src/athena/tst/3D-mhd/athinput.hgb similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.hgb rename to src/amuse_athena/src/athena/tst/3D-mhd/athinput.hgb diff --git a/src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.linear_wave3d b/src/amuse_athena/src/athena/tst/3D-mhd/athinput.linear_wave3d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.linear_wave3d rename to src/amuse_athena/src/athena/tst/3D-mhd/athinput.linear_wave3d diff --git a/src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.linear_wave3d-3lev1 b/src/amuse_athena/src/athena/tst/3D-mhd/athinput.linear_wave3d-3lev1 similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.linear_wave3d-3lev1 rename to src/amuse_athena/src/athena/tst/3D-mhd/athinput.linear_wave3d-3lev1 diff --git a/src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.rj2a_3d b/src/amuse_athena/src/athena/tst/3D-mhd/athinput.rj2a_3d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.rj2a_3d rename to src/amuse_athena/src/athena/tst/3D-mhd/athinput.rj2a_3d diff --git a/src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.rt b/src/amuse_athena/src/athena/tst/3D-mhd/athinput.rt similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.rt rename to src/amuse_athena/src/athena/tst/3D-mhd/athinput.rt diff --git a/src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.strat b/src/amuse_athena/src/athena/tst/3D-mhd/athinput.strat similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-mhd/athinput.strat rename to src/amuse_athena/src/athena/tst/3D-mhd/athinput.strat diff --git a/src/amuse/community/athena/src/athena/tst/3D-mhd/run.cpaw3d b/src/amuse_athena/src/athena/tst/3D-mhd/run.cpaw3d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-mhd/run.cpaw3d rename to src/amuse_athena/src/athena/tst/3D-mhd/run.cpaw3d diff --git a/src/amuse/community/athena/src/athena/tst/3D-mhd/run.linear_wave3d b/src/amuse_athena/src/athena/tst/3D-mhd/run.linear_wave3d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-mhd/run.linear_wave3d rename to src/amuse_athena/src/athena/tst/3D-mhd/run.linear_wave3d diff --git a/src/amuse/community/athena/src/athena/tst/3D-sr-hydro/athinput.jet b/src/amuse_athena/src/athena/tst/3D-sr-hydro/athinput.jet similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-sr-hydro/athinput.jet rename to src/amuse_athena/src/athena/tst/3D-sr-hydro/athinput.jet diff --git a/src/amuse/community/athena/src/athena/tst/3D-sr-mhd/athinput.blast b/src/amuse_athena/src/athena/tst/3D-sr-mhd/athinput.blast similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-sr-mhd/athinput.blast rename to src/amuse_athena/src/athena/tst/3D-sr-mhd/athinput.blast diff --git a/src/amuse/community/athena/src/athena/tst/3D-sr-mhd/athinput.jet b/src/amuse_athena/src/athena/tst/3D-sr-mhd/athinput.jet similarity index 100% rename from src/amuse/community/athena/src/athena/tst/3D-sr-mhd/athinput.jet rename to src/amuse_athena/src/athena/tst/3D-sr-mhd/athinput.jet diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cyladvect-2D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cyladvect-2D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cyladvect-2D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cyladvect-2D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cyladvect-3D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cyladvect-3D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cyladvect-3D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cyladvect-3D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylblast_B0-2D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylblast_B0-2D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylblast_B0-2D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylblast_B0-2D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylblast_B1-2D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylblast_B1-2D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylblast_B1-2D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylblast_B1-2D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylblast_B1-3D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylblast_B1-3D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylblast_B1-3D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylblast_B1-3D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylblast_B10-2D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylblast_B10-2D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylblast_B10-2D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylblast_B10-2D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylblast_B10-3D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylblast_B10-3D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylblast_B10-3D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylblast_B10-3D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylbphi-1D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylbphi-1D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylbphi-1D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylbphi-1D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylbphi-2D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylbphi-2D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylbphi-2D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylbphi-2D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylbphi-3D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylbphi-3D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylbphi-3D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylbphi-3D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylbr-2D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylbr-2D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylbr-2D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylbr-2D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylbr-3D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylbr-3D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylbr-3D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylbr-3D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylfieldloop-2D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylfieldloop-2D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylfieldloop-2D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylfieldloop-2D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylfieldloop-3D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylfieldloop-3D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylfieldloop-3D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylfieldloop-3D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylnewtmri b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylnewtmri similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylnewtmri rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylnewtmri diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylrayleigh-2D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylrayleigh-2D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylrayleigh-2D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylrayleigh-2D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylunif-1D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylunif-1D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylunif-1D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylunif-1D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylwind-1D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylwind-1D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylwind-1D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylwind-1D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylwind-2D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylwind-2D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylwind-2D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylwind-2D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylwind-3D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylwind-3D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylwind-3D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylwind-3D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylwindrot-1D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylwindrot-1D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylwindrot-1D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylwindrot-1D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylwindrot-2D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylwindrot-2D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylwindrot-2D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylwindrot-2D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylwindrot-3D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylwindrot-3D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylwindrot-3D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylwindrot-3D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylwindrotb-1D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylwindrotb-1D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylwindrotb-1D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylwindrotb-1D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylwindrotb-2D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylwindrotb-2D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylwindrotb-2D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylwindrotb-2D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylwindrotb-3D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.cylwindrotb-3D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.cylwindrotb-3D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.cylwindrotb-3D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/athinput.hkdisk-3D b/src/amuse_athena/src/athena/tst/cylindrical/athinput.hkdisk-3D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/athinput.hkdisk-3D rename to src/amuse_athena/src/athena/tst/cylindrical/athinput.hkdisk-3D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/run.cyladvect-2D b/src/amuse_athena/src/athena/tst/cylindrical/run.cyladvect-2D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/run.cyladvect-2D rename to src/amuse_athena/src/athena/tst/cylindrical/run.cyladvect-2D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/run.cylblast-2D b/src/amuse_athena/src/athena/tst/cylindrical/run.cylblast-2D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/run.cylblast-2D rename to src/amuse_athena/src/athena/tst/cylindrical/run.cylblast-2D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/run.cylblast-3D b/src/amuse_athena/src/athena/tst/cylindrical/run.cylblast-3D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/run.cylblast-3D rename to src/amuse_athena/src/athena/tst/cylindrical/run.cylblast-3D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/run.cylblast.mpi-3D b/src/amuse_athena/src/athena/tst/cylindrical/run.cylblast.mpi-3D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/run.cylblast.mpi-3D rename to src/amuse_athena/src/athena/tst/cylindrical/run.cylblast.mpi-3D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/run.cylfieldloop-2D b/src/amuse_athena/src/athena/tst/cylindrical/run.cylfieldloop-2D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/run.cylfieldloop-2D rename to src/amuse_athena/src/athena/tst/cylindrical/run.cylfieldloop-2D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/run.cylunif-1D b/src/amuse_athena/src/athena/tst/cylindrical/run.cylunif-1D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/run.cylunif-1D rename to src/amuse_athena/src/athena/tst/cylindrical/run.cylunif-1D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/run.cylwindrot-1D b/src/amuse_athena/src/athena/tst/cylindrical/run.cylwindrot-1D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/run.cylwindrot-1D rename to src/amuse_athena/src/athena/tst/cylindrical/run.cylwindrot-1D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/run.cylwindrot-3D b/src/amuse_athena/src/athena/tst/cylindrical/run.cylwindrot-3D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/run.cylwindrot-3D rename to src/amuse_athena/src/athena/tst/cylindrical/run.cylwindrot-3D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/run.cylwindrot.mpi-1D b/src/amuse_athena/src/athena/tst/cylindrical/run.cylwindrot.mpi-1D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/run.cylwindrot.mpi-1D rename to src/amuse_athena/src/athena/tst/cylindrical/run.cylwindrot.mpi-1D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/run.cylwindrot.mpi-2D b/src/amuse_athena/src/athena/tst/cylindrical/run.cylwindrot.mpi-2D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/run.cylwindrot.mpi-2D rename to src/amuse_athena/src/athena/tst/cylindrical/run.cylwindrot.mpi-2D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/run.cylwindrot.mpi-3D b/src/amuse_athena/src/athena/tst/cylindrical/run.cylwindrot.mpi-3D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/run.cylwindrot.mpi-3D rename to src/amuse_athena/src/athena/tst/cylindrical/run.cylwindrot.mpi-3D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/run.cylwindrotb-1D b/src/amuse_athena/src/athena/tst/cylindrical/run.cylwindrotb-1D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/run.cylwindrotb-1D rename to src/amuse_athena/src/athena/tst/cylindrical/run.cylwindrotb-1D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/run.cylwindrotb-2D b/src/amuse_athena/src/athena/tst/cylindrical/run.cylwindrotb-2D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/run.cylwindrotb-2D rename to src/amuse_athena/src/athena/tst/cylindrical/run.cylwindrotb-2D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/run.cylwindrotb-3D b/src/amuse_athena/src/athena/tst/cylindrical/run.cylwindrotb-3D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/run.cylwindrotb-3D rename to src/amuse_athena/src/athena/tst/cylindrical/run.cylwindrotb-3D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/run.cylwindrotb.mpi-1D b/src/amuse_athena/src/athena/tst/cylindrical/run.cylwindrotb.mpi-1D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/run.cylwindrotb.mpi-1D rename to src/amuse_athena/src/athena/tst/cylindrical/run.cylwindrotb.mpi-1D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/run.cylwindrotb.mpi-2D b/src/amuse_athena/src/athena/tst/cylindrical/run.cylwindrotb.mpi-2D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/run.cylwindrotb.mpi-2D rename to src/amuse_athena/src/athena/tst/cylindrical/run.cylwindrotb.mpi-2D diff --git a/src/amuse/community/athena/src/athena/tst/cylindrical/run.cylwindrotb.mpi-3D b/src/amuse_athena/src/athena/tst/cylindrical/run.cylwindrotb.mpi-3D similarity index 100% rename from src/amuse/community/athena/src/athena/tst/cylindrical/run.cylwindrotb.mpi-3D rename to src/amuse_athena/src/athena/tst/cylindrical/run.cylwindrotb.mpi-3D diff --git a/src/amuse/community/athena/src/athena/tst/particle/athinput.par_circ b/src/amuse_athena/src/athena/tst/particle/athinput.par_circ similarity index 100% rename from src/amuse/community/athena/src/athena/tst/particle/athinput.par_circ rename to src/amuse_athena/src/athena/tst/particle/athinput.par_circ diff --git a/src/amuse/community/athena/src/athena/tst/particle/athinput.par_collision b/src/amuse_athena/src/athena/tst/particle/athinput.par_collision similarity index 100% rename from src/amuse/community/athena/src/athena/tst/particle/athinput.par_collision rename to src/amuse_athena/src/athena/tst/particle/athinput.par_collision diff --git a/src/amuse/community/athena/src/athena/tst/particle/athinput.par_epicycle b/src/amuse_athena/src/athena/tst/particle/athinput.par_epicycle similarity index 100% rename from src/amuse/community/athena/src/athena/tst/particle/athinput.par_epicycle rename to src/amuse_athena/src/athena/tst/particle/athinput.par_epicycle diff --git a/src/amuse/community/athena/src/athena/tst/particle/athinput.par_friction b/src/amuse_athena/src/athena/tst/particle/athinput.par_friction similarity index 100% rename from src/amuse/community/athena/src/athena/tst/particle/athinput.par_friction rename to src/amuse_athena/src/athena/tst/particle/athinput.par_friction diff --git a/src/amuse/community/athena/src/athena/tst/particle/athinput.par_linearwave1d b/src/amuse_athena/src/athena/tst/particle/athinput.par_linearwave1d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/particle/athinput.par_linearwave1d rename to src/amuse_athena/src/athena/tst/particle/athinput.par_linearwave1d diff --git a/src/amuse/community/athena/src/athena/tst/particle/athinput.par_linearwave2d b/src/amuse_athena/src/athena/tst/particle/athinput.par_linearwave2d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/particle/athinput.par_linearwave2d rename to src/amuse_athena/src/athena/tst/particle/athinput.par_linearwave2d diff --git a/src/amuse/community/athena/src/athena/tst/particle/athinput.par_shwave1d b/src/amuse_athena/src/athena/tst/particle/athinput.par_shwave1d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/particle/athinput.par_shwave1d rename to src/amuse_athena/src/athena/tst/particle/athinput.par_shwave1d diff --git a/src/amuse/community/athena/src/athena/tst/particle/athinput.par_shwave2d b/src/amuse_athena/src/athena/tst/particle/athinput.par_shwave2d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/particle/athinput.par_shwave2d rename to src/amuse_athena/src/athena/tst/particle/athinput.par_shwave2d diff --git a/src/amuse/community/athena/src/athena/tst/particle/athinput.par_strat2d b/src/amuse_athena/src/athena/tst/particle/athinput.par_strat2d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/particle/athinput.par_strat2d rename to src/amuse_athena/src/athena/tst/particle/athinput.par_strat2d diff --git a/src/amuse/community/athena/src/athena/tst/particle/athinput.par_strat3d b/src/amuse_athena/src/athena/tst/particle/athinput.par_strat3d similarity index 100% rename from src/amuse/community/athena/src/athena/tst/particle/athinput.par_strat3d rename to src/amuse_athena/src/athena/tst/particle/athinput.par_strat3d diff --git a/src/amuse/community/athena/src/athena/tst/particle/athinput.streaming2d_multi b/src/amuse_athena/src/athena/tst/particle/athinput.streaming2d_multi similarity index 100% rename from src/amuse/community/athena/src/athena/tst/particle/athinput.streaming2d_multi rename to src/amuse_athena/src/athena/tst/particle/athinput.streaming2d_multi diff --git a/src/amuse/community/athena/src/athena/tst/particle/athinput.streaming2d_single b/src/amuse_athena/src/athena/tst/particle/athinput.streaming2d_single similarity index 100% rename from src/amuse/community/athena/src/athena/tst/particle/athinput.streaming2d_single rename to src/amuse_athena/src/athena/tst/particle/athinput.streaming2d_single diff --git a/src/amuse/community/athena/src/athena/tst/particle/athinput.streaming3d_multi b/src/amuse_athena/src/athena/tst/particle/athinput.streaming3d_multi similarity index 100% rename from src/amuse/community/athena/src/athena/tst/particle/athinput.streaming3d_multi rename to src/amuse_athena/src/athena/tst/particle/athinput.streaming3d_multi diff --git a/src/amuse/community/athena/src/athena/tst/particle/athinput.streaming3d_single b/src/amuse_athena/src/athena/tst/particle/athinput.streaming3d_single similarity index 100% rename from src/amuse/community/athena/src/athena/tst/particle/athinput.streaming3d_single rename to src/amuse_athena/src/athena/tst/particle/athinput.streaming3d_single diff --git a/src/amuse/community/athena/src/athena/vis/idl/noh.pro b/src/amuse_athena/src/athena/vis/idl/noh.pro similarity index 100% rename from src/amuse/community/athena/src/athena/vis/idl/noh.pro rename to src/amuse_athena/src/athena/vis/idl/noh.pro diff --git a/src/amuse/community/athena/src/athena/vis/idl/plotdecay.pro b/src/amuse_athena/src/athena/vis/idl/plotdecay.pro similarity index 100% rename from src/amuse/community/athena/src/athena/vis/idl/plotdecay.pro rename to src/amuse_athena/src/athena/vis/idl/plotdecay.pro diff --git a/src/amuse/community/athena/src/athena/vis/idl/pltath.pro b/src/amuse_athena/src/athena/vis/idl/pltath.pro similarity index 100% rename from src/amuse/community/athena/src/athena/vis/idl/pltath.pro rename to src/amuse_athena/src/athena/vis/idl/pltath.pro diff --git a/src/amuse/community/athena/src/athena/vis/matlab/animateppm.m b/src/amuse_athena/src/athena/vis/matlab/animateppm.m similarity index 100% rename from src/amuse/community/athena/src/athena/vis/matlab/animateppm.m rename to src/amuse_athena/src/athena/vis/matlab/animateppm.m diff --git a/src/amuse/community/athena/src/athena/vis/matlab/ath_construct_filename.m b/src/amuse_athena/src/athena/vis/matlab/ath_construct_filename.m similarity index 100% rename from src/amuse/community/athena/src/athena/vis/matlab/ath_construct_filename.m rename to src/amuse_athena/src/athena/vis/matlab/ath_construct_filename.m diff --git a/src/amuse/community/athena/src/athena/vis/matlab/ath_getvar.m b/src/amuse_athena/src/athena/vis/matlab/ath_getvar.m similarity index 100% rename from src/amuse/community/athena/src/athena/vis/matlab/ath_getvar.m rename to src/amuse_athena/src/athena/vis/matlab/ath_getvar.m diff --git a/src/amuse/community/athena/src/athena/vis/matlab/ath_ijk_to_xyz.m b/src/amuse_athena/src/athena/vis/matlab/ath_ijk_to_xyz.m similarity index 100% rename from src/amuse/community/athena/src/athena/vis/matlab/ath_ijk_to_xyz.m rename to src/amuse_athena/src/athena/vis/matlab/ath_ijk_to_xyz.m diff --git a/src/amuse/community/athena/src/athena/vis/matlab/ath_init_grid.m b/src/amuse_athena/src/athena/vis/matlab/ath_init_grid.m similarity index 100% rename from src/amuse/community/athena/src/athena/vis/matlab/ath_init_grid.m rename to src/amuse_athena/src/athena/vis/matlab/ath_init_grid.m diff --git a/src/amuse/community/athena/src/athena/vis/matlab/ath_lineout_ijk.m b/src/amuse_athena/src/athena/vis/matlab/ath_lineout_ijk.m similarity index 100% rename from src/amuse/community/athena/src/athena/vis/matlab/ath_lineout_ijk.m rename to src/amuse_athena/src/athena/vis/matlab/ath_lineout_ijk.m diff --git a/src/amuse/community/athena/src/athena/vis/matlab/ath_lineout_xyz.m b/src/amuse_athena/src/athena/vis/matlab/ath_lineout_xyz.m similarity index 100% rename from src/amuse/community/athena/src/athena/vis/matlab/ath_lineout_xyz.m rename to src/amuse_athena/src/athena/vis/matlab/ath_lineout_xyz.m diff --git a/src/amuse/community/athena/src/athena/vis/matlab/ath_palette.m b/src/amuse_athena/src/athena/vis/matlab/ath_palette.m similarity index 100% rename from src/amuse/community/athena/src/athena/vis/matlab/ath_palette.m rename to src/amuse_athena/src/athena/vis/matlab/ath_palette.m diff --git a/src/amuse/community/athena/src/athena/vis/matlab/ath_parse_filename.m b/src/amuse_athena/src/athena/vis/matlab/ath_parse_filename.m similarity index 100% rename from src/amuse/community/athena/src/athena/vis/matlab/ath_parse_filename.m rename to src/amuse_athena/src/athena/vis/matlab/ath_parse_filename.m diff --git a/src/amuse/community/athena/src/athena/vis/matlab/ath_pcolor.m b/src/amuse_athena/src/athena/vis/matlab/ath_pcolor.m similarity index 100% rename from src/amuse/community/athena/src/athena/vis/matlab/ath_pcolor.m rename to src/amuse_athena/src/athena/vis/matlab/ath_pcolor.m diff --git a/src/amuse/community/athena/src/athena/vis/matlab/ath_plotbdry.m b/src/amuse_athena/src/athena/vis/matlab/ath_plotbdry.m similarity index 100% rename from src/amuse/community/athena/src/athena/vis/matlab/ath_plotbdry.m rename to src/amuse_athena/src/athena/vis/matlab/ath_plotbdry.m diff --git a/src/amuse/community/athena/src/athena/vis/matlab/ath_readbin.m b/src/amuse_athena/src/athena/vis/matlab/ath_readbin.m similarity index 100% rename from src/amuse/community/athena/src/athena/vis/matlab/ath_readbin.m rename to src/amuse_athena/src/athena/vis/matlab/ath_readbin.m diff --git a/src/amuse/community/athena/src/athena/vis/matlab/ath_sizeof.m b/src/amuse_athena/src/athena/vis/matlab/ath_sizeof.m similarity index 100% rename from src/amuse/community/athena/src/athena/vis/matlab/ath_sizeof.m rename to src/amuse_athena/src/athena/vis/matlab/ath_sizeof.m diff --git a/src/amuse/community/athena/src/athena/vis/matlab/ath_slice_ijk.m b/src/amuse_athena/src/athena/vis/matlab/ath_slice_ijk.m similarity index 100% rename from src/amuse/community/athena/src/athena/vis/matlab/ath_slice_ijk.m rename to src/amuse_athena/src/athena/vis/matlab/ath_slice_ijk.m diff --git a/src/amuse/community/athena/src/athena/vis/matlab/ath_slice_xyz.m b/src/amuse_athena/src/athena/vis/matlab/ath_slice_xyz.m similarity index 100% rename from src/amuse/community/athena/src/athena/vis/matlab/ath_slice_xyz.m rename to src/amuse_athena/src/athena/vis/matlab/ath_slice_xyz.m diff --git a/src/amuse/community/athena/src/athena/vis/matlab/ath_text.m b/src/amuse_athena/src/athena/vis/matlab/ath_text.m similarity index 100% rename from src/amuse/community/athena/src/athena/vis/matlab/ath_text.m rename to src/amuse_athena/src/athena/vis/matlab/ath_text.m diff --git a/src/amuse/community/athena/src/athena/vis/matlab/ath_xyz_to_ijk.m b/src/amuse_athena/src/athena/vis/matlab/ath_xyz_to_ijk.m similarity index 100% rename from src/amuse/community/athena/src/athena/vis/matlab/ath_xyz_to_ijk.m rename to src/amuse_athena/src/athena/vis/matlab/ath_xyz_to_ijk.m diff --git a/src/amuse/community/athena/src/athena/vis/matlab/displayppm.m b/src/amuse_athena/src/athena/vis/matlab/displayppm.m similarity index 100% rename from src/amuse/community/athena/src/athena/vis/matlab/displayppm.m rename to src/amuse_athena/src/athena/vis/matlab/displayppm.m diff --git a/src/amuse/community/athena/src/athena/vis/particle/Read_par_standard.m b/src/amuse_athena/src/athena/vis/particle/Read_par_standard.m similarity index 100% rename from src/amuse/community/athena/src/athena/vis/particle/Read_par_standard.m rename to src/amuse_athena/src/athena/vis/particle/Read_par_standard.m diff --git a/src/amuse/community/athena/src/athena/vis/particle/join_lis.c b/src/amuse_athena/src/athena/vis/particle/join_lis.c similarity index 100% rename from src/amuse/community/athena/src/athena/vis/particle/join_lis.c rename to src/amuse_athena/src/athena/vis/particle/join_lis.c diff --git a/src/amuse/community/athena/src/athena/vis/particle/par_motion_movie.m b/src/amuse_athena/src/athena/vis/particle/par_motion_movie.m similarity index 100% rename from src/amuse/community/athena/src/athena/vis/particle/par_motion_movie.m rename to src/amuse_athena/src/athena/vis/particle/par_motion_movie.m diff --git a/src/amuse/community/athena/src/athena/vis/particle/sort_lis.c b/src/amuse_athena/src/athena/vis/particle/sort_lis.c similarity index 100% rename from src/amuse/community/athena/src/athena/vis/particle/sort_lis.c rename to src/amuse_athena/src/athena/vis/particle/sort_lis.c diff --git a/src/amuse/community/athena/src/athena/vis/sm/plot-smr-tab.sm b/src/amuse_athena/src/athena/vis/sm/plot-smr-tab.sm similarity index 100% rename from src/amuse/community/athena/src/athena/vis/sm/plot-smr-tab.sm rename to src/amuse_athena/src/athena/vis/sm/plot-smr-tab.sm diff --git a/src/amuse/community/athena/src/athena/vis/vtk/join_vtk.c b/src/amuse_athena/src/athena/vis/vtk/join_vtk.c similarity index 100% rename from src/amuse/community/athena/src/athena/vis/vtk/join_vtk.c rename to src/amuse_athena/src/athena/vis/vtk/join_vtk.c diff --git a/src/amuse_athena/support/aclocal.m4 b/src/amuse_athena/support/aclocal.m4 new file mode 100644 index 0000000000..f2dbf6231a --- /dev/null +++ b/src/amuse_athena/support/aclocal.m4 @@ -0,0 +1,21 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_download.m4]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/fftw.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_athena/support/config.mk.in b/src/amuse_athena/support/config.mk.in new file mode 100644 index 0000000000..21d913ce19 --- /dev/null +++ b/src/amuse_athena/support/config.mk.in @@ -0,0 +1,34 @@ +# Compilers +MPICC = @MPICC@ +MPICXX = @MPICXX@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ +DOWNLOAD = @DOWNLOAD@ +TAR = @TAR@ +GUNZIP = @GUNZIP@ + + +# General flags and libraries +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +STOPCOND_CFLAGS = @STOPCOND_CFLAGS@ +STOPCOND_LIBS = @STOPCOND_LIBS@ + +AMUSE_MPI_CFLAGS = @AMUSE_MPI_CFLAGS@ +AMUSE_MPI_LIBS = @AMUSE_MPI_LIBS@ + + +# External dependencies +FOUND_FFTW = @FOUND_FFTW@ +FFTW_FLAGS = @FFTW_FLAGS@ +FFTW_LIBS = @FFTW_LIBS@ + diff --git a/src/amuse_athena/support/configure b/src/amuse_athena/support/configure new file mode 100755 index 0000000000..27d1489866 --- /dev/null +++ b/src/amuse_athena/support/configure @@ -0,0 +1,7797 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-athena 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-athena' +PACKAGE_TARNAME='amuse-athena' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-athena 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_STDIO_H +# include +#endif +#ifdef HAVE_STDLIB_H +# include +#endif +#ifdef HAVE_STRING_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_header_c_list= +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +ac_ct_CXX +CXXFLAGS +CXX +FFTW_FLAGS +FOUND_FFTW +FFTW_LIBS +FFTW_CFLAGS +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +FOUND_AMUSE_MPI +AMUSE_MPI_LIBS +AMUSE_MPI_CFLAGS +FOUND_STOPCOND +STOPCOND_LIBS +STOPCOND_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +GUNZIP +TAR +DOWNLOAD +CURL +WGET +RANLIB +AR +target_os +target_vendor +target_cpu +target +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +with_fftw +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCOND_CFLAGS +STOPCOND_LIBS +AMUSE_MPI_CFLAGS +AMUSE_MPI_LIBS +MPICC +FFTW_CFLAGS +FFTW_LIBS +CXX +CXXFLAGS +CCC +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-athena 1.0 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/amuse-athena] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-athena 1.0:";; + esac + cat <<\_ACEOF + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-fftw=PFX Prefix where FFTW has been installed + +Some influential environment variables: + 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 + 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 + STOPCOND_CFLAGS + C compiler flags for STOPCOND, overriding pkg-config + STOPCOND_LIBS + linker flags for STOPCOND, overriding pkg-config + AMUSE_MPI_CFLAGS + C compiler flags for AMUSE_MPI, overriding pkg-config + AMUSE_MPI_LIBS + linker flags for AMUSE_MPI, overriding pkg-config + MPICC MPI C compiler command + FFTW_CFLAGS C compiler flags for FFTW, overriding pkg-config + FFTW_LIBS linker flags for FFTW, overriding pkg-config + CXX C++ compiler command + CXXFLAGS C++ compiler flags + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-athena configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile + +# ac_fn_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-athena $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" +as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" +as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" +as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" +as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" +as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" +as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" +as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" +as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find tools to download and unpack with + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}wget", so it can be a program name with args. +set dummy ${ac_tool_prefix}wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$WGET"; then + ac_cv_prog_WGET="$WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="${ac_tool_prefix}wget" + printf "%s\n" "$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 +WGET=$ac_cv_prog_WGET +if test -n "$WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $WGET" >&5 +printf "%s\n" "$WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_WGET"; then + ac_ct_WGET=$WGET + # Extract the first word of "wget", so it can be a program name with args. +set dummy wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_WGET"; then + ac_cv_prog_ac_ct_WGET="$ac_ct_WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="wget" + printf "%s\n" "$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_WGET=$ac_cv_prog_ac_ct_WGET +if test -n "$ac_ct_WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WGET" >&5 +printf "%s\n" "$ac_ct_WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_WGET" = x; then + WGET="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + WGET=$ac_ct_WGET + fi +else + WGET="$ac_cv_prog_WGET" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}curl", so it can be a program name with args. +set dummy ${ac_tool_prefix}curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CURL"; then + ac_cv_prog_CURL="$CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="${ac_tool_prefix}curl" + printf "%s\n" "$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 +CURL=$ac_cv_prog_CURL +if test -n "$CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CURL" >&5 +printf "%s\n" "$CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CURL"; then + ac_ct_CURL=$CURL + # Extract the first word of "curl", so it can be a program name with args. +set dummy curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CURL"; then + ac_cv_prog_ac_ct_CURL="$ac_ct_CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="curl" + printf "%s\n" "$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_CURL=$ac_cv_prog_ac_ct_CURL +if test -n "$ac_ct_CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CURL" >&5 +printf "%s\n" "$ac_ct_CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CURL" = x; then + CURL="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CURL=$ac_ct_CURL + fi +else + CURL="$ac_cv_prog_CURL" +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a wget or curl to download files with" >&5 +printf %s "checking for a wget or curl to download files with... " >&6; } + if test "x$WGET" != "x" + then + # The MESA SDK server rejects wget, this is the official work-around + DOWNLOAD="$WGET --progress=bar:force:noscroll --user-agent='' -O -" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + if test "x$CURL" != "x" + then + DOWNLOAD="$CURL -L" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + fi + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}tar", so it can be a program name with args. +set dummy ${ac_tool_prefix}tar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_TAR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$TAR"; then + ac_cv_prog_TAR="$TAR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_TAR="${ac_tool_prefix}tar" + printf "%s\n" "$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 +TAR=$ac_cv_prog_TAR +if test -n "$TAR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $TAR" >&5 +printf "%s\n" "$TAR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_TAR"; then + ac_ct_TAR=$TAR + # Extract the first word of "tar", so it can be a program name with args. +set dummy tar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_TAR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_TAR"; then + ac_cv_prog_ac_ct_TAR="$ac_ct_TAR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_TAR="tar" + printf "%s\n" "$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_TAR=$ac_cv_prog_ac_ct_TAR +if test -n "$ac_ct_TAR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_TAR" >&5 +printf "%s\n" "$ac_ct_TAR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_TAR" = x; then + TAR="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + TAR=$ac_ct_TAR + fi +else + TAR="$ac_cv_prog_TAR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gunzip", so it can be a program name with args. +set dummy ${ac_tool_prefix}gunzip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_GUNZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$GUNZIP"; then + ac_cv_prog_GUNZIP="$GUNZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_GUNZIP="${ac_tool_prefix}gunzip" + printf "%s\n" "$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 +GUNZIP=$ac_cv_prog_GUNZIP +if test -n "$GUNZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GUNZIP" >&5 +printf "%s\n" "$GUNZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_GUNZIP"; then + ac_ct_GUNZIP=$GUNZIP + # Extract the first word of "gunzip", so it can be a program name with args. +set dummy gunzip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_GUNZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_GUNZIP"; then + ac_cv_prog_ac_ct_GUNZIP="$ac_ct_GUNZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_GUNZIP="gunzip" + printf "%s\n" "$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_GUNZIP=$ac_cv_prog_ac_ct_GUNZIP +if test -n "$ac_ct_GUNZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GUNZIP" >&5 +printf "%s\n" "$ac_ct_GUNZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_GUNZIP" = x; then + GUNZIP="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + GUNZIP=$ac_ct_GUNZIP + fi +else + GUNZIP="$ac_cv_prog_GUNZIP" +fi + + + +# Find AMUSE libraries + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCOND_CFLAGS" + amuse_save_LIB_LIBS="$STOPCOND_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing is_condition_enabled" >&5 +printf %s "checking for library containing is_condition_enabled... " >&6; } +if test ${ac_cv_search_is_condition_enabled+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char is_condition_enabled (); +int +main (void) +{ +return is_condition_enabled (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcond +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_is_condition_enabled=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_is_condition_enabled+y} +then : + break +fi +done +if test ${ac_cv_search_is_condition_enabled+y} +then : + +else $as_nop + ac_cv_search_is_condition_enabled=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_is_condition_enabled" >&5 +printf "%s\n" "$ac_cv_search_is_condition_enabled" >&6; } +ac_res=$ac_cv_search_is_condition_enabled +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCOND="yes" + STOPCOND_LIBS="$LIBS" + STOPCOND_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCOND" >&5 +printf %s "checking for STOPCOND... " >&6; } + +if test -n "$STOPCOND_CFLAGS"; then + pkg_cv_STOPCOND_CFLAGS="$STOPCOND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_CFLAGS=`$PKG_CONFIG --cflags "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCOND_LIBS"; then + pkg_cv_STOPCOND_LIBS="$STOPCOND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_LIBS=`$PKG_CONFIG --libs "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcond" 2>&1` + else + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcond" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCOND_PKG_ERRORS" >&5 + + + FOUND_STOPCOND="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCOND="no" + +else + STOPCOND_CFLAGS=$pkg_cv_STOPCOND_CFLAGS + STOPCOND_LIBS=$pkg_cv_STOPCOND_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCOND="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCOND}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCOND_CFLAGS="${STOPCOND_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCOND_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCOND_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$AMUSE_MPI_CFLAGS" + amuse_save_LIB_LIBS="$AMUSE_MPI_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing get_comm_world" >&5 +printf %s "checking for library containing get_comm_world... " >&6; } +if test ${ac_cv_search_get_comm_world+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char get_comm_world (); +int +main (void) +{ +return get_comm_world (); + ; + return 0; +} +_ACEOF +for ac_lib in '' amuse_mpi +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_get_comm_world=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_get_comm_world+y} +then : + break +fi +done +if test ${ac_cv_search_get_comm_world+y} +then : + +else $as_nop + ac_cv_search_get_comm_world=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_get_comm_world" >&5 +printf "%s\n" "$ac_cv_search_get_comm_world" >&6; } +ac_res=$ac_cv_search_get_comm_world +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_AMUSE_MPI="yes" + AMUSE_MPI_LIBS="$LIBS" + AMUSE_MPI_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for AMUSE_MPI" >&5 +printf %s "checking for AMUSE_MPI... " >&6; } + +if test -n "$AMUSE_MPI_CFLAGS"; then + pkg_cv_AMUSE_MPI_CFLAGS="$AMUSE_MPI_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"amuse_mpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "amuse_mpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_AMUSE_MPI_CFLAGS=`$PKG_CONFIG --cflags "amuse_mpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$AMUSE_MPI_LIBS"; then + pkg_cv_AMUSE_MPI_LIBS="$AMUSE_MPI_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"amuse_mpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "amuse_mpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_AMUSE_MPI_LIBS=`$PKG_CONFIG --libs "amuse_mpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + AMUSE_MPI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "amuse_mpi" 2>&1` + else + AMUSE_MPI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "amuse_mpi" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$AMUSE_MPI_PKG_ERRORS" >&5 + + + FOUND_AMUSE_MPI="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_AMUSE_MPI="no" + +else + AMUSE_MPI_CFLAGS=$pkg_cv_AMUSE_MPI_CFLAGS + AMUSE_MPI_LIBS=$pkg_cv_AMUSE_MPI_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_AMUSE_MPI="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_AMUSE_MPI}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + AMUSE_MPI_CFLAGS="${AMUSE_MPI_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + AMUSE_MPI_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + AMUSE_MPI_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +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 + + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + +ac_header= ac_cache= +for ac_item in $ac_header_c_list +do + if test $ac_cache; then + ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" + if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then + printf "%s\n" "#define $ac_item 1" >> confdefs.h + fi + ac_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item + fi +done + + + + + + + + +if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes +then : + +printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h + +fi + + +# Check whether --with-fftw was given. +if test ${with_fftw+y} +then : + withval=$with_fftw; + test "$withval" = no && { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: fftw is a required package for some modules" >&5 +printf "%s\n" "$as_me: WARNING: fftw is a required package for some modules" >&2;} + test "$withval" = yes || fftw_prefix="$withval" + with_fftw=yes +else $as_nop + with_fftw=yes + +fi + + + if test "x$with_fftw" != xno +then : + + #user override + if test "x$FFTW_LIBS" != x && test "x$FFTW_FLAGS" != x +then : + + have_fftw=yes + FOUND_FFTW="yes" + +else $as_nop + + saved_LIBS="$LIBS" + saved_CXXFLAGS="$CXXFLAGS" + FFTW_LIBS="" + FFTW_FLAGS="" + FOUND_FFTW="no" + if test x$fftw_prefix == x; then + if test x$PREFIX != x; then + fftw_prefix=$PREFIX + fi + fi + if test x$fftw_prefix != x; then + ac_FFTW_CFLAGS="-I$fftw_prefix/include" + ac_FFTW_LDOPTS="-L$fftw_prefix/lib" + + + save_CFLAGS="$CFLAGS" + save_CPPFLAGS="$CPPFLAGS" + CFLAGS="$ac_FFTW_CFLAGS $save_CFLAGS" + CPPFLAGS="$ac_FFTW_CFLAGS $save_CPPFLAGS" + ac_fn_c_check_header_compile "$LINENO" "fftw3.h" "ac_cv_header_fftw3_h" "$ac_includes_default" +if test "x$ac_cv_header_fftw3_h" = xyes +then : + FFTW_FLAGS="$ac_FFTW_CFLAGS" + FOUND_FFTW="yes" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (fftw3.h) of the library FFTW in $fftw_prefix/include." >&5 +printf "%s\n" "$as_me: WARNING: Cannot find headers (fftw3.h) of the library FFTW in $fftw_prefix/include." >&2;} + +fi + + CFLAGS="$save_CFLAGS" + CPPFLAGS="$save_CPPFLAGS" + + save_LIBS="$LIBS" + LIBS="$ac_FFTW_LDOPTS -lfftw3 -lfftw3_threads $save_LIBS" + + cache_var=ac_cv_lib_fftw3_fftw_plan_dft_r2c + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fftw_plan_dft_r2c in -lfftw3" >&5 +printf %s "checking for fftw_plan_dft_r2c in -lfftw3... " >&6; } +if test ${ac_cv_lib_fftw3_fftw_plan_dft_r2c+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfftw3 $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. */ +char fftw_plan_dft_r2c (); +int +main (void) +{ +return fftw_plan_dft_r2c (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_fftw3_fftw_plan_dft_r2c=yes +else $as_nop + ac_cv_lib_fftw3_fftw_plan_dft_r2c=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&5 +printf "%s\n" "$ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&6; } +if test "x$ac_cv_lib_fftw3_fftw_plan_dft_r2c" = xyes +then : + FFTW_LIBS="$ac_FFTW_LDOPTS -lfftw3 -lfftw3_threads" +else $as_nop + FOUND_FFTW="no" + +fi + + $as_unset $cache_var + if test x$FOUND_FFTW != xyes; then + LIBS="$ac_FFTW_LDOPTS -lfftw3 -lfftw3_threads -lm $save_LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fftw_plan_dft_r2c in -lfftw3" >&5 +printf %s "checking for fftw_plan_dft_r2c in -lfftw3... " >&6; } +if test ${ac_cv_lib_fftw3_fftw_plan_dft_r2c+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfftw3 $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. */ +char fftw_plan_dft_r2c (); +int +main (void) +{ +return fftw_plan_dft_r2c (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_fftw3_fftw_plan_dft_r2c=yes +else $as_nop + ac_cv_lib_fftw3_fftw_plan_dft_r2c=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&5 +printf "%s\n" "$ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&6; } +if test "x$ac_cv_lib_fftw3_fftw_plan_dft_r2c" = xyes +then : + FOUND_FFTW="yes" + FFTW_LIBS="$ac_FFTW_LDOPTS -lfftw3 -lfftw3_threads -lm" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libfftw3 : library missing. (Cannot find symbol fftw_plan_dft_r2c) in $fftw_prefix. Check if libfftw3 is installed and if the version is correct" >&5 +printf "%s\n" "$as_me: WARNING: libfftw3 : library missing. (Cannot find symbol fftw_plan_dft_r2c) in $fftw_prefix. Check if libfftw3 is installed and if the version is correct" >&2;} + +fi + + $as_unset $cache_var + fi + LIBS="$save_LIBS" + fi + + if test x$FOUND_FFTW != xyes; then + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FFTW" >&5 +printf %s "checking for FFTW... " >&6; } + +if test -n "$FFTW_CFLAGS"; then + pkg_cv_FFTW_CFLAGS="$FFTW_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fftw3 >= 3.2\""; } >&5 + ($PKG_CONFIG --exists --print-errors "fftw3 >= 3.2") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FFTW_CFLAGS=`$PKG_CONFIG --cflags "fftw3 >= 3.2" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FFTW_LIBS"; then + pkg_cv_FFTW_LIBS="$FFTW_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fftw3 >= 3.2\""; } >&5 + ($PKG_CONFIG --exists --print-errors "fftw3 >= 3.2") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FFTW_LIBS=`$PKG_CONFIG --libs "fftw3 >= 3.2" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FFTW_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "fftw3 >= 3.2" 2>&1` + else + FFTW_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "fftw3 >= 3.2" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FFTW_PKG_ERRORS" >&5 + + + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + +else + FFTW_CFLAGS=$pkg_cv_FFTW_CFLAGS + FFTW_LIBS=$pkg_cv_FFTW_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FFTW_FLAGS="$FFTW_CFLAGS" + FFTW_LIBS="$FFTW_LIBS -lfftw3_threads" + FOUND_FFTW=yes + +fi + fi + + if test x$FOUND_FFTW != xyes; then + ac_fn_c_check_header_compile "$LINENO" "fftw3.h" "ac_cv_header_fftw3_h" "$ac_includes_default" +if test "x$ac_cv_header_fftw3_h" = xyes +then : + FFTW_FLAGS="" + FOUND_FFTW="yes" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (fftw3.h) of the library FFTW in $fftw_prefix/include." >&5 +printf "%s\n" "$as_me: WARNING: Cannot find headers (fftw3.h) of the library FFTW in $fftw_prefix/include." >&2;} + +fi + + cache_var=ac_cv_lib_fftw3_fftw_plan_dft_r2c + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fftw_plan_dft_r2c in -lfftw3" >&5 +printf %s "checking for fftw_plan_dft_r2c in -lfftw3... " >&6; } +if test ${ac_cv_lib_fftw3_fftw_plan_dft_r2c+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfftw3 $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. */ +char fftw_plan_dft_r2c (); +int +main (void) +{ +return fftw_plan_dft_r2c (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_fftw3_fftw_plan_dft_r2c=yes +else $as_nop + ac_cv_lib_fftw3_fftw_plan_dft_r2c=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&5 +printf "%s\n" "$ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&6; } +if test "x$ac_cv_lib_fftw3_fftw_plan_dft_r2c" = xyes +then : + FFTW_LIBS="-lfftw3 -lfftw3_threads" +else $as_nop + FOUND_FFTW="no" + +fi + + $as_unset $cache_var + + if test x$FOUND_FFTW != xyes; then + + save_LIBS="$LIBS" + LIBS="-lfftw3_threads -lm $save_LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fftw_plan_dft_r2c in -lfftw3" >&5 +printf %s "checking for fftw_plan_dft_r2c in -lfftw3... " >&6; } +if test ${ac_cv_lib_fftw3_fftw_plan_dft_r2c+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfftw3 $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. */ +char fftw_plan_dft_r2c (); +int +main (void) +{ +return fftw_plan_dft_r2c (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_fftw3_fftw_plan_dft_r2c=yes +else $as_nop + ac_cv_lib_fftw3_fftw_plan_dft_r2c=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&5 +printf "%s\n" "$ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&6; } +if test "x$ac_cv_lib_fftw3_fftw_plan_dft_r2c" = xyes +then : + FOUND_FFTW="yes" + FFTW_LIBS="$ac_FFTW_LDOPTS -lfftw3 -lfftw3_threads -lm" +else $as_nop + FOUND_FFTW="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libfftw3 : library missing. (Cannot find symbol fftw_plan_dft_r2c) in $fftw_prefix. Check if libfftw3 is installed and if the version is correct" >&5 +printf "%s\n" "$as_me: WARNING: libfftw3 : library missing. (Cannot find symbol fftw_plan_dft_r2c) in $fftw_prefix. Check if libfftw3 is installed and if the version is correct" >&2;} + +fi + + LIBS="$save_LIBS" + 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 + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +fi +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-athena $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-athena config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_athena/support/configure.ac b/src/amuse_athena/support/configure.ac new file mode 100644 index 0000000000..ff1fcf870f --- /dev/null +++ b/src/amuse_athena/support/configure.ac @@ -0,0 +1,52 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-athena], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_CC() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find tools to download and unpack with +AMUSE_DOWNLOAD() +AC_CHECK_TOOL(TAR, tar) +AC_CHECK_TOOL(GUNZIP, gunzip) + + +# Find AMUSE libraries +AMUSE_LIB_STOPCOND() +AMUSE_LIB_AMUSE_MPI() + + +# Find external dependencies +AC_LANG_PUSH([C]) + +AX_MPI() +AX_FFTW() + +AC_LANG_POP([C]) + +AC_LANG_PUSH([C++]) + +AX_MPI() + +AC_LANG_POP([C++]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_athena/support/shared b/src/amuse_athena/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_athena/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_athena.py b/src/amuse_athena/tests/test_athena.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_athena.py rename to src/amuse_athena/tests/test_athena.py index 253440641c..3790ed87c1 100644 --- a/src/amuse/test/suite/codes_tests/test_athena.py +++ b/src/amuse_athena/tests/test_athena.py @@ -3,8 +3,8 @@ import numpy import math -from amuse.test.amusetest import TestWithMPI -from amuse.community.athena.interface import AthenaInterface, Athena +from amuse.support.testing.amusetest import TestWithMPI +from amuse_athena.interface import AthenaInterface, Athena from amuse.units.quantities import VectorQuantity from amuse.units import generic_unit_system from amuse.units import units @@ -331,7 +331,7 @@ def test10(self): self.assertAlmostRelativeEqual(x, 1.1) instance.stop() - def test6(self): + def test6_noci(self): instance = self.new_instance(AthenaInterface, number_of_workers=5) instance.initialize_code() instance.set_gamma(1.6666666666666667) @@ -491,7 +491,7 @@ def test14(self): instance.stop() - def test15(self): + def test15_noci(self): results = [] for x in range(1, 6): instance = self.new_instance(AthenaInterface, number_of_workers=x) @@ -513,7 +513,7 @@ def test15(self): instance.stop() - def test16(self): + def test16_noci(self): for x in range(1, 6): instance = self.new_instance(AthenaInterface, number_of_workers=x) instance.initialize_code() @@ -907,7 +907,7 @@ def test28(self): self.assertAlmostRelativeEquals(y, (0.5 * dy) + ((j-4) * dy)) self.assertAlmostRelativeEquals(z, 18.0 + (0.5 * dz) + (k * dz)) - def test29(self): + def test29_noci(self): results = [] instance = self.new_instance(AthenaInterface, number_of_workers=3) instance.initialize_code() @@ -940,7 +940,7 @@ def test29(self): self.assertAlmostRelativeEquals(rhovz, 4.0 * (i+1)) self.assertAlmostRelativeEquals(rhoen, 5.0 * (i+1)) - def test30(self): + def test30_noci(self): results = [] instance = self.new_instance(AthenaInterface, number_of_workers=3) instance.initialize_code() @@ -974,7 +974,7 @@ def test30(self): self.assertAlmostRelativeEquals(rhovz, 4.0 * (i+1)) self.assertAlmostRelativeEquals(rhoen, 5.0 * (i+1)) - def test31(self): + def test31_noci(self): results = [] instance = self.new_instance(AthenaInterface, number_of_workers=3) instance.initialize_code() @@ -1010,7 +1010,7 @@ def test31(self): self.assertAlmostRelativeEquals(rhovz, 4.0 * (i+1)) self.assertAlmostRelativeEquals(rhoen, 5.0 * (i+1)) - def test32(self): + def test32_noci(self): results = [] instance = self.new_instance(AthenaInterface, number_of_workers=3*3) instance.initialize_code() @@ -1069,7 +1069,7 @@ def test32(self): self.assertAlmostRelativeEquals(rhovz, 4.0 * (i+1)) self.assertAlmostRelativeEquals(rhoen, 5.0 * (i+1)) - def test33(self): + def test33_noci(self): results = [] instance = self.new_instance(AthenaInterface, number_of_workers=3) instance.initialize_code() @@ -1106,7 +1106,7 @@ def test33(self): self.assertAlmostRelativeEquals(rhovz, 4.0 * (i+1)) self.assertAlmostRelativeEquals(rhoen, 5.0 * (i+1)) - def test34(self): + def test34_noci(self): results = [] instance = self.new_instance(AthenaInterface, number_of_workers=3) instance.initialize_code() @@ -1143,7 +1143,7 @@ def test34(self): self.assertAlmostRelativeEquals(rhovz, 4.0 * (i+1)) self.assertAlmostRelativeEquals(rhoen, 5.0 * (i+1)) - def test35(self): + def test35_noci(self): results = [] instance = self.new_instance(AthenaInterface, number_of_workers=9) instance.initialize_code() @@ -1304,7 +1304,7 @@ def test37(self): instance.stop() - def test38(self): + def test38_noci(self): instance = self.new_instance(AthenaInterface, number_of_workers=8) instance.initialize_code() instance.set_auto_decomposition(0) @@ -2063,7 +2063,7 @@ def test16(self): instance.stop() - def test17(self): + def test17_noci(self): instance = self.new_instance(Athena, number_of_workers=2) instance.set_parallel_decomposition(1, 2, 1) instance.parameters.mesh_size = (10, 4, 1) @@ -2123,7 +2123,7 @@ def test17(self): instance.stop() - def test18(self): + def test18_noci(self): instance = self.new_instance(Athena, number_of_workers=2) instance.set_parallel_decomposition(2, 1, 1) instance.parameters.mesh_size = (4, 10, 1) @@ -2244,7 +2244,7 @@ def test19(self): instance.stop() - def test20(self): + def test20_noci(self): instance = self.new_instance(Athena, number_of_workers=4) instance.parameters.parallel_decomposition = (2, 2, 1) instance.parameters.mesh_size = (4, 5, 6) @@ -2397,7 +2397,7 @@ def test22(self): self.assertAlmostRelativeEquals(rho, x + (20 * (y-0.5)) | generic_unit_system.density) - def test23(self): + def test23_noci(self): instance = self.new_instance(Athena, number_of_workers=3) instance.parameters.x_boundary_conditions = ("periodic", "periodic") diff --git a/src/amuse_bhtree/Makefile b/src/amuse_bhtree/Makefile new file mode 100644 index 0000000000..9fe4d8eeac --- /dev/null +++ b/src/amuse_bhtree/Makefile @@ -0,0 +1,77 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library +CFLAGS += $(STOPCOND_CFLAGS) + +LDLIBS += -lm $(STOPCOND_LIBS) -ldl + + +# Note: there seems to have been a g6/sapporo worker at some point, but it's been +# disabled since at least 2013 and there are no tests for it. Build with -DGPU and see +# the old Makefile if you want to try to make it work again. + +CODELIB = build/libbhtree.a + + +build: + mkdir build + +.PHONY: $(CODELIB) +$(CODELIB): | build + CXXFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" LDLIBS="$(LDLIBS)" $(MAKE) -C build -f ../src/Makefile -j $(CPU_COUNT) all VPATH=../src + +# Building the workers +bhtree_worker.h: interface.py + amusifier --type=h interface.py BHTreeInterface -o $@ + +bhtree_worker.cc: interface.py + amusifier --type=c interface.py BHTreeInterface -o $@ + +bhtree_worker.o: bhtree_worker.cc bhtree_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + +bhtree_worker: interface.o bhtree_worker.o $(CODELIB) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +interface.o: interface.cc bhtree_worker.h + $(MPICXX) -o $@ -c $(CFLAGS) $< + + +# Which packages contain which workers? +amuse-bhtree_contains: bhtree_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf build *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_bhtree/__init__.py b/src/amuse_bhtree/__init__.py new file mode 100644 index 0000000000..20db7e7e85 --- /dev/null +++ b/src/amuse_bhtree/__init__.py @@ -0,0 +1,8 @@ +# -*- mode: python; coding: utf-8 -*- + +__author__ = 'Simon Portegies Zwart' +__author_email__ = '' +__date__ = '2006-11-11 15:32:00 CEST' + +# Dummy file to indicate that this directory is a package. +from .interface import Bhtree diff --git a/src/amuse_bhtree/interface.cc b/src/amuse_bhtree/interface.cc new file mode 100644 index 0000000000..1e6799ce20 --- /dev/null +++ b/src/amuse_bhtree/interface.cc @@ -0,0 +1,989 @@ +#include +#include "interface.h" +#include "bhtree_worker.h" +//#include "local.h" +#include +#include +#include +#include + + +// AMUSE STOPPING CONDITIONS SUPPORT +#include +#include +// AMUSE STOPPING CONDITIONS SUPPORT + +using namespace std; + +const bool debug = false; +static double begin_time = 0; + + +// global static parameters +// N-body data: + +// Control parameters and accessors: + +const real DT_DIA = 1; +real dt_dia = DT_DIA; // time interval between diagnostics output +//void set_dt_dia(real d) {dt_dia = d;} + + +typedef std::map IndexMap; + + +IndexMap indexMap; +//bool x_flag = false; + +//int nsteps = 0; // number of integration time steps completed +//real einit = 0; // initial total energy of the system +//bool init_flag = false; +//real t_dia = 0; + +// Module data: + +bool initialized = false; + +int counter = 0; + +BHTC_SYSTEM bhtcs; + +vector ds; // for initialization only + +// External parameters to be used inside the treecode. +// Their definitions are extended to python class modules in the file +// parameters.h; the accessor functions are for the driver program. + +const real TIMESTEP = 0.015625; +real timestep = TIMESTEP; +//void set_timestep(real dt) {timestep = dt;} + +const real EPS2_FOR_GRAVITY = 0.125; +real eps2_for_gravity = EPS2_FOR_GRAVITY; +//void set_eps2_for_gravity(real eps2) {eps2_for_gravity = eps2;} + +const real THETA_FOR_TREE = 0.75; +real theta_for_tree = THETA_FOR_TREE; +//void set_theta_for_tree(real theta) {theta_for_tree = theta;} + +const int USE_SELF_GRAVITY = 1; +int use_self_gravity = USE_SELF_GRAVITY; +//void set_use_self_gravity(int use) {use_self_gravity = use;} + +const int NCRIT_FOR_TREE = 12; +int ncrit_for_tree = NCRIT_FOR_TREE; +//void set_ncrit_for_tree(int ncrit) {ncrit_for_tree = ncrit;} + +// Interface functions: + +int _new_particle(int *id, dynamics_state d) +{ +// cerr << d.id << " " << d.x << " " << d.y << " " << d.z << " " +// << d.radius << endl; + + + if (!initialized) + { + // Defer reinitialization; save in ds. + d.id = ++counter; + ds.push_back(d); + *id = d.id; + //return ds.size(); + return 0; + } + else + { + + // Add the new particle and reinitialize immediately. + + int newId = ++counter; + nbody_particle *np = bhtcs.get_particle_pointer(); + nbody_particle *np1 = new nbody_particle[bhtcs.n + 1]; + // Copy the system. + for (int i = 0; i < bhtcs.n; i++) + { + np1[i] = np[i]; + } + // Add the particle. + vec v; + //cello + //np1[n1-1].set_index(d.id); + np1[bhtcs.n].set_index(newId); + np1[bhtcs.n].set_mass(d.mass); + np1[bhtcs.n].set_radius(d.radius); + v[0] = d.x; + v[1] = d.y; + v[2] = d.z; + np1[bhtcs.n].set_pos(v); + v[0] = d.vx; + v[1] = d.vy; + v[2] = d.vz; + np1[bhtcs.n].set_vel(v); + + indexMap[newId] = bhtcs.n; + + bhtcs.mass += d.mass; + bhtcs.n = bhtcs.n + 1; + bhtcs.set_nsize(bhtcs.n); + bhtcs.set_particle_pointer(np1); + delete [] np; + + real pos_scale = 1; + real vel_scale = 1; + bhtcs.apply_vf(&real_particle::scale_pos, pos_scale); + bhtcs.apply_vf(&real_particle::scale_vel, vel_scale); + //return bhtcs.n; + *id = newId; + return 0; + // PRC(pos_scale); PRL(vel_scale); + } + + + //return bhtcs.n; +} + +static void create_treecode_system() +{ + nbody_particle *np = new nbody_particle[ds.size()]; + bhtcs.n = 0; + bhtcs.mass = 0; + + for (unsigned int i=0; i= 0 && i < bhtcs.n) + { + nbody_particle *np = bhtcs.get_particle_pointer(); + *mass = np[i].get_mass(); + return 0; + } + + return -1; +} + +int get_time(double *time) +{ + *time = bhtcs.time; + return 0; +} + +int set_begin_time(double input) { + begin_time = input; + return 0; +} + +int get_begin_time(double * output) { + *output = begin_time; + return 0; +} + +int set_mass(int id, double m) +{ + int i = get_index_from_identity(id); + if (i >= 0 && i < bhtcs.n) { + nbody_particle *np = bhtcs.get_particle_pointer(); + np[i].set_mass(m); + return 0; + } else + return -1; +} + +int evolve_model(real t_end) // default sync = 0 +{ + + // Advance from the current time to t_end. + + real dt = bhtcs.timestep; + // dt = t_end/nsteps; //<--- bug, should be the following line + + // PRC(nsteps); PRL(dt); + // PRL(bhtcs.n); + // PRL(bhtcs.time); + // PRL(bhtcs.timestep); + // PRL(bhtcs.eps2_for_gravity); + + // PRL(bhtcs.use_self_gravity); + // PRL(bhtcs.get_particle_pointer()); + // for (int j = 0; j < bhtcs.n; j++) + // (bhtcs.get_particle_pointer()+j)->dump(); + + if(bhtcs.time >= t_end) return 0; + bhtcs.calculate_gravity(); + real E0 = bhtcs.energy(); + real KE0 = bhtcs.kinetic_energy(); + real PE0 = E0 - KE0; + real Q0 = KE0/PE0; + if (debug) + { + PRC(KE0); PRC(PE0); PRC(E0); PRL(Q0); + } + + // AMUSE STOPPING CONDITIONS + int is_timeout_detection_enabled; + int is_number_of_steps_detection_enabled; + int max_number_of_steps; + int number_of_steps_innerloop = 0; + int error; + time_t starttime, currenttime; + + time(&starttime); + + error = is_stopping_condition_enabled(TIMEOUT_DETECTION, &is_timeout_detection_enabled); + error = is_stopping_condition_enabled(NUMBER_OF_STEPS_DETECTION, &is_number_of_steps_detection_enabled); + get_stopping_condition_number_of_steps_parameter(&max_number_of_steps); + // AMUSE STOPPING CONDITIONS + reset_stopping_conditions(); + + while( bhtcs.time= t_end) dt=t_end-bhtcs.time; + bhtcs.integrate(dt); // advance the entire system by time dt + + bhtcs.time += dt; + + // AMUSE STOPPING CONDITIONS + if(is_timeout_detection_enabled) { + time(¤ttime); + //cerr << currenttime << endl; + if((currenttime - starttime) > timeout_parameter) { + int stopping_index = next_index_for_stopping_condition(); + set_stopping_condition_info(stopping_index, TIMEOUT_DETECTION); + } + } + if(is_number_of_steps_detection_enabled) { + number_of_steps_innerloop++; + if(number_of_steps_innerloop > max_number_of_steps) { + int stopping_index = next_index_for_stopping_condition(); + set_stopping_condition_info(stopping_index, NUMBER_OF_STEPS_DETECTION); + } + } + + // AMUSE STOPPING CONDITIONS + if (set_conditions & enabled_conditions) { + break; + } +#if 0 + real KE = bhtcs.kinetic_energy(); + real E = bhtcs.energy(); + real dE = E-E0; + real Q = KE/(KE-E); + real t = bhtcs.time; + PRC(t); PRC(KE); PRC(E); PRC(dE); PRL(Q); + bhtcs.calculate_cmterms(); + cerr << endl; +#endif + + } +#if 0 + if (id_primary >= 0) + { + if (debug) + { + print_tree_counters(); + } + bhtcs.calculate_cmterms(); + real KE = bhtcs.kinetic_energy(); + real E = bhtcs.energy(); + real dE = E-E0; + real Q = KE/(KE-E); + if (debug) + { + PRL(bhtcs.time); PRC(KE); PRC(E); PRC(dE); PRL(Q); + cerr << "CPU sec = " << cpusec() << endl; + } + } +#endif + //id_primary + return 0; +} + +int get_index_of_first_particle(int * index_of_the_particle) +{ + *index_of_the_particle = get_identity_from_index(0); + return 0; +} + +int get_total_radius(double *radius) +{ + return -2; +} + +int testme(int *id) +{ + *id = 3; + return 0; +} + +int new_particle(int *id, double mass, double x, double y, double z, double vx, double vy, double vz, double radius) +{ + dynamics_state state; + //state.id = id; do this if _new_particle if needed? + + state.mass = mass; + state.radius = radius; + state.x = x; + state.y = y; + state.z = z; + state.vx = vx; + state.vy = vy; + state.vz = vz; + return _new_particle(id, state); +} + +int get_total_mass(double *mass) +{ + nbody_particle *np = bhtcs.get_particle_pointer(); + + *mass = 0; + + for(int i = 0; i0) + { + *index_of_the_next_particle = j; + return 0; + } + else + { + *index_of_the_next_particle = 0; + return 1; + } + } +} + +int delete_particle(int id) +{ + if (!initialized) return -1; + + //cerr << "Deleting particle " << id << endl; + + int i = get_index_from_identity(id); + + indexMap[id] = -1; + if (i >= 0 && i < bhtcs.n) + { + + // Remove this particle from the tree N-body system + // by swapping it with the last particle. + + nbody_particle *np = bhtcs.get_particle_pointer(); + + if (i < bhtcs.n-1) + { + np[i] = np[bhtcs.n-1]; + indexMap[np[i].get_index()] = i; + } + bhtcs.n--; + bhtcs.set_nsize(bhtcs.n); + + real pos_scale = 1; + real vel_scale = 1; + bhtcs.apply_vf(&real_particle::scale_pos, pos_scale); + bhtcs.apply_vf(&real_particle::scale_vel, vel_scale); + + } + + //return bhtcs.n; + return 0; +} + +int get_potential(int index_of_the_particle, double *value) +{ + if (!initialized) { + *value = 0.0; + return 0; + } + int i = get_index_from_identity(index_of_the_particle); + + if (i >= 0 && i < bhtcs.n) { + nbody_particle *np = bhtcs.get_particle_pointer(); + *value = np[i].get_phi_gravity(); + } + else { + *value = 0.0; + return -1; + } + return 0; +} + +int set_state(int index_of_the_particle, double mass, double x, double y, double z, double vx, double vy, double vz, double radius) +{ + //Assumes initialization (initialized TRUE) + int i = get_index_from_identity(index_of_the_particle); + + if (i >= 0 && i < bhtcs.n) + { + nbody_particle *np = bhtcs.get_particle_pointer(); + np[i].set_mass(mass); + np[i].set_radius(radius); + np[i].set_pos(vec(x, y, z)); + np[i].set_vel(vec(vx, vy, vz)); + return 0; + } + else + { + return -1; + } +} + +int get_state(int id, double *mass, double *x, double *y, double *z, double *vx, double *vy, double *vz, double *radius) +{ + int i = get_index_from_identity(id); + + if (!initialized && i >= 0 && i < (int) ds.size()) { + dynamics_state state = ds[i]; + *mass = state.mass; + *radius = state.radius; + *x = state.x; + *y = state.y; + *z = state.z; + *vx = state.vx; + *vy = state.vy; + *vz = state.vz; + return 0; + } + else if (i >= 0 && i < bhtcs.n) { + nbody_particle *np = bhtcs.get_particle_pointer(); + //*id_out = np[i].get_index(); + *mass = np[i].get_mass(); + *radius = np[i].get_radius(); + vec v = np[i].get_pos(); + *x = v[0]; + *y = v[1]; + *z = v[2]; + v = np[i].get_vel(); + *vx = v[0]; + *vy = v[1]; + *vz = v[2]; + return 0; + } else { + return -1; + } +} + +int get_kinetic_energy(double *kinetic_energy) +{ + if (!initialized) + { + // some error?? + return 0; + } + else + { + *kinetic_energy = bhtcs.kinetic_energy(); + return 0; + } +} + +//get number of particles? +int get_number_of_particles(int *number_of_particles) +{ + *number_of_particles = bhtcs.n; + return 0; +} + +int get_center_of_mass_position(double *x, double *y, double *z) +{ + nbody_particle *np = bhtcs.get_particle_pointer(); + double M; + double mass; + + *x = 0; *y=0; *z=0; + + get_total_mass(&M); + + for(int i = 0; i= 0 && i < bhtcs.n) { + nbody_particle *np = bhtcs.get_particle_pointer(); + *radius = np[i].get_radius(); + return 0; + } + + return -1; +} + +int set_radius(int id, double radius) +{ + int i = get_index_from_identity(id); + if (i >= 0 && i < bhtcs.n) + { + nbody_particle *np = bhtcs.get_particle_pointer(); + np[i].set_radius(radius); + return 0; + } + else + { + return -1; + } +} + +int initialize_code() +{ + begin_time = 0.0; + bhtcs.time = 0.0; + + set_support_for_condition(COLLISION_DETECTION); + set_support_for_condition(TIMEOUT_DETECTION); + set_support_for_condition(NUMBER_OF_STEPS_DETECTION); + return 0; +} + +int cleanup_code() +{ + if(initialized) { + initialized = false; + + nbody_particle *np = bhtcs.get_particle_pointer(); + delete np; + + bhtcs.mass = 0; + bhtcs.n = 0; + bhtcs.set_nsize(0); + bhtcs.set_particle_pointer(0); + } + + ds.clear(); + indexMap.clear(); + counter = 0; + return 0; +} + +int get_identity_from_index(int i) +{ + if (i >= 0 && i < bhtcs.n) + { + nbody_particle *np = bhtcs.get_particle_pointer(); + return np[i].get_index(); + } + else + { + return -1; + } +} + +int get_index_from_identity(int id) +{ + //CHECK IF IN RANGE TO GIVE CORRECT ERROR + IndexMap::iterator i = indexMap.find(id); + if(i == indexMap.end()) { + return -1; + } + return (*i).second; + /*nbody_particle *np = bhtcs.get_particle_pointer(); + for (int i = 0; i < bhtcs.n; i++) + { + if (id == np[i].get_index()) + return i; + } + return -1;*/ +} + +int initialize_particles() +{ + bhtcs.setup_tree(); + + return 0; +} + +int get_potential_energy(double *potential_energy) +{ + if (!initialized) + { + return 0; + } + + bhtcs.calculate_gravity(); + *potential_energy=bhtcs.energy() - bhtcs.kinetic_energy(); + return 0; +} + +int get_gravity_at_point(double eps, double x, double y, double z, double *forcex, double *forcey, double *forcez) +{ + vec p = 0; + p[0] = x; + p[1] = y; + p[2] = z; + + + vec acc = bhtcs.calculate_gravity_at_point(p, bhtcs.eps2_for_gravity, bhtcs.theta_for_tree * bhtcs.theta_for_tree); + + *forcex = acc[0]; + *forcey = acc[1]; + *forcez = acc[2]; + + return 0; +} + +int get_potential_at_point(double eps, double x, double y, double z, double * phi) +{ + vec p = 0; + p[0] = x; + p[1] = y; + p[2] = z; + + + *phi = bhtcs.calculate_potential_at_point(p, bhtcs.eps2_for_gravity, bhtcs.theta_for_tree * bhtcs.theta_for_tree); + //cerr << "phi : "<< *phi << endl; + return 0; +} + +int get_velocity(int id, double *vx, double *vy, double *vz) +{ + int i = get_index_from_identity(id); + + if (!initialized && i >= 0 && i < (int) ds.size()) { + dynamics_state state = ds[i]; + *vx = state.vx; + *vy = state.vy; + *vz = state.vz; + return 0; + } + else if (i >= 0 && i < bhtcs.n) { + nbody_particle *np = bhtcs.get_particle_pointer(); + vec v = np[i].get_vel(); + *vx = v[0]; + *vy = v[1]; + *vz = v[2]; + return 0; + } else { + return -1; + } +} + +int setup_module() +{ + return -2; +} + +int get_position(int id, double *x, double *y, double *z) +{ + int i = get_index_from_identity(id); + + if (i >= 0 && i < bhtcs.n) + { + nbody_particle *np = bhtcs.get_particle_pointer(); + vec v = np[i].get_pos(); + *x = v[0]; + *y = v[1]; + *z = v[2]; + return 0; + } + + return -1; +} + +int set_position(int id, double x, double y, double z) +{ + int i = get_index_from_identity(id); + if (i >= 0 && i < bhtcs.n) + { + nbody_particle *np = bhtcs.get_particle_pointer(); + vec pos(x, y, z); + np[i].set_pos(pos); + return 0; + } + else + { + return -1; + } +} + +int get_acceleration(int id, double * ax, double * ay, double * az) +{ + return -2; +} + +int set_velocity(int id, double vx, double vy, double vz) +{ + int i = get_index_from_identity(id); + if (i >= 0 && i < bhtcs.n) + { + nbody_particle *np = bhtcs.get_particle_pointer(); + vec vel(vx, vy, vz); + np[i].set_vel(vel); + return 0; + } + else + { + return -1; + } +} + +double get_dynamical_time_scale() +{ + // PRL(initialized); + if (!initialized) return 0; + + bhtcs.calculate_gravity(); + real mtot = bhtcs.mass; + real ekin = bhtcs.kinetic_energy(); + real etot = bhtcs.energy(); + real epot = etot - ekin; + + real tdyn = (-0.5*mtot*mtot/epot) / sqrt(2*ekin/mtot); + return tdyn; +} + +int get_time_step(double *_timestep) +{ + *_timestep = timestep; + return 0; +} + +int set_time_step(double _timestep) +{ + timestep = _timestep; + return 0; +} + +int initialize_time_step() +{ + return 0; +} + +int finalize_time_step() +{ + return 0; +} + +int get_epsilon_squared(double *_epsilon_squared){ + *_epsilon_squared = eps2_for_gravity; + return 0; +} +int set_epsilon_squared(double _epsilon_squared){ + eps2_for_gravity = _epsilon_squared; + return 0; +} + +int get_theta_for_tree(double *_theta_for_tree){ + *_theta_for_tree = theta_for_tree; + return 0; +} +int set_theta_for_tree(double _theta_for_tree){ + theta_for_tree = _theta_for_tree; + return 0; +} + +int get_use_self_gravity(int *_use_self_gravity){ + *_use_self_gravity = use_self_gravity; + return 0; +} +int set_use_self_gravity(int _use_self_gravity){ + use_self_gravity = _use_self_gravity; + return 0; +} + +int get_ncrit_for_tree(int *_ncrit_for_tree){ + *_ncrit_for_tree = ncrit_for_tree; + return 0; +} +int set_ncrit_for_tree(int _ncrit_for_tree){ + ncrit_for_tree = _ncrit_for_tree; + return 0; +} + +int get_dt_dia(double *_dt_dia){ + *_dt_dia = dt_dia; + return 0; +} +int set_dt_dia(double _dt_dia){ + dt_dia = _dt_dia; + return 0; +} + +int set_particle(int id, dynamics_state d) +{ + int i = get_index_from_identity(id); + if (i >= 0 && i < bhtcs.n) { + nbody_particle *np = bhtcs.get_particle_pointer(); + np[i].set_mass(d.mass); + np[i].set_radius(d.radius); + np[i].set_pos(vec(d.x, d.y, d.z)); + np[i].set_vel(vec(d.vx, d.vy, d.vz)); + return 0; + + } else { + + cerr << "set_particle: " << id + << " doesn't exist. Use add_particle." << endl; + return -1; + } +} + + +int get_escaper() +{ + return -1; // not implemented yet +} + + +int recommit_particles(){ + if(!initialized) { + create_treecode_system(); // note that ds is never used again after this + initialized = true; + } + + bhtcs.setup_tree(); + bhtcs.calculate_gravity(); + + return 0; +} + +int recommit_parameters() +{ + return commit_parameters(); +} + + +int commit_particles(){ + if(!initialized) { + create_treecode_system(); // note that ds is never used again after this + initialized = true; + } + + bhtcs.setup_tree(); + bhtcs.calculate_gravity(); + return 0; +} + +int commit_parameters(){ + + bhtcs.time = begin_time; + bhtcs.timestep = timestep; + bhtcs.eps2_for_gravity = eps2_for_gravity; + bhtcs.use_self_gravity = use_self_gravity; + bhtcs.theta_for_tree = theta_for_tree; + bhtcs.ncrit_for_tree = ncrit_for_tree; + + return 0; +} + +int synchronize_model() { + return 0; +} diff --git a/src/amuse/community/bhtree/interface.h b/src/amuse_bhtree/interface.h similarity index 100% rename from src/amuse/community/bhtree/interface.h rename to src/amuse_bhtree/interface.h diff --git a/src/amuse_bhtree/interface.py b/src/amuse_bhtree/interface.py new file mode 100644 index 0000000000..404aa56ac9 --- /dev/null +++ b/src/amuse_bhtree/interface.py @@ -0,0 +1,340 @@ +from amuse.community import * +from amuse.community.interface.gd import GravitationalDynamicsInterface +from amuse.community.interface.gd import GravitationalDynamics +from amuse.community.interface.gd import SinglePointGravityFieldInterface +from amuse.community.interface.gd import GravityFieldCode + +class BHTreeInterface( + CodeInterface, + LiteratureReferencesMixIn, + GravitationalDynamicsInterface, + StoppingConditionInterface, + SinglePointGravityFieldInterface): + """ + .. [#] ADS:1986Natur.324..446B (Barnes, J., Hut, P., *Nature*, **4**, 324 (1986)) + """ + include_headers = ['interface.h', 'bhtree_worker.h', 'stopcond.h'] + + def __init__(self, convert_nbody = None, mode = 'cpu', **kwargs): + CodeInterface.__init__(self, name_of_the_worker=self.name_of_the_worker(mode), **kwargs) + """ + self.parameters = parameters.Parameters(self.parameter_definitions, self) + if convert_nbody is None: + convert_nbody = nbody_system.nbody_to_si.get_default() + + self.convert_nbody = convert_nbody + """ + LiteratureReferencesMixIn.__init__(self) + + def name_of_the_worker(self, mode): + if mode == "g6": + return 'bhtree_worker_sapporo' + elif mode == "gpu": + return 'bhtree_worker_sapporo' + else: + return 'bhtree_worker' + + + + + @legacy_function + def reinitialize_particles(): + function = LegacyFunctionSpecification() + function.result_type = 'i' + return function + + @legacy_function + def set_time_step(): + """ + Update timestep. + """ + function = LegacyFunctionSpecification() + function.addParameter('timestep', dtype='float64', direction=function.IN, + description = "timestep") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found in the model and the information was set + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def get_epsilon_squared(): + """ + Get epsilon^2, a softening parameter for gravitational potentials with point particles. + """ + function = LegacyFunctionSpecification() + function.addParameter('epsilon_squared', dtype='float64', direction=function.OUT, + description = "epsilon^2, a softening parameter for gravitational potentials with point particles", + unit = nbody_system.length * nbody_system.length) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_epsilon_squared(): + """ + Set epsilon^2, a softening parameter for gravitational potentials with point particles. + """ + function = LegacyFunctionSpecification() + function.addParameter('epsilon_squared', dtype='float64', direction=function.IN, + description = "epsilon^2, a softening parameter for gravitational potentials with point particles", + unit = nbody_system.length * nbody_system.length) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + @legacy_function + def get_theta_for_tree(): + """ + Get theta, the opening angle for building the tree: between 0 and 1. + """ + function = LegacyFunctionSpecification() + function.addParameter('theta_for_tree', dtype='float64', direction=function.OUT, + description = "theta, the opening angle for building the tree: between 0 and 1") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_theta_for_tree(): + """ + Set theta, the opening angle for building the tree: between 0 and 1. + """ + function = LegacyFunctionSpecification() + function.addParameter('theta_for_tree', dtype='float64', direction=function.IN, + description = "theta, the opening angle for building the tree: between 0 and 1") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + @legacy_function + def get_use_self_gravity(): + """ + Get use_self_gravity flag, the flag for usage of self gravity, 1 or 0 (true or false). + """ + function = LegacyFunctionSpecification() + function.addParameter('use_self_gravity', dtype='int32', direction=function.OUT, + description = "flag for usage of self gravity, 1 or 0 (true or false)") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_use_self_gravity(): + """ + Set use_self_gravity flag, the flag for usage of self gravity, 1 or 0 (true or false). + """ + function = LegacyFunctionSpecification() + function.addParameter('use_self_gravity', dtype='int32', direction=function.IN, + description = "flag for usage of self gravity, 1 or 0 (true or false)") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + @legacy_function + def get_ncrit_for_tree(): + """ + Get Ncrit, the maximum number of particles sharing an interaction list. + """ + function = LegacyFunctionSpecification() + function.addParameter('ncrit_for_tree', dtype='int32', direction=function.OUT, + description = "Ncrit, the maximum number of particles sharing an interaction list") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_ncrit_for_tree(): + """ + Set Ncrit, the maximum number of particles sharing an interaction list. + """ + function = LegacyFunctionSpecification() + function.addParameter('ncrit_for_tree', dtype='int32', direction=function.IN, + description = "Ncrit, the maximum number of particles sharing an interaction list") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + @legacy_function + def get_dt_dia(): + """ + Get the time interval between diagnostics output. + """ + function = LegacyFunctionSpecification() + function.addParameter('dt_dia', dtype='float64', direction=function.OUT, + description = "the time interval between diagnostics output", + unit = nbody_system.time) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_dt_dia(): + """ + Set the time interval between diagnostics output. + """ + function = LegacyFunctionSpecification() + function.addParameter('dt_dia', dtype='float64', direction=function.IN, + description = "the time interval between diagnostics output", + unit = nbody_system.time) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + +class BHTree(GravitationalDynamics, GravityFieldCode): + + __interface__ = BHTreeInterface + + def __init__(self, convert_nbody = None, **options): + self.stopping_conditions = StoppingConditions(self) + + legacy_interface = self.__interface__(**options) + + GravitationalDynamics.__init__( + self, + legacy_interface, + convert_nbody, + **options + ) + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_epsilon_squared", + "set_epsilon_squared", + "epsilon_squared", + "smoothing parameter for gravity calculations", + default_value = 0.125 | nbody_system.length * nbody_system.length + ) + handler.add_method_parameter( + "get_time_step", + "set_time_step", + "timestep", + "constant timestep for iteration", + default_value = 0.015625 | nbody_system.time + ) + handler.add_method_parameter( + "get_theta_for_tree", + "set_theta_for_tree", + "opening_angle", + "opening angle, theta, for building the tree: between 0 and 1", + default_value = 0.75 + ) + handler.add_method_parameter( + "get_use_self_gravity", + "set_use_self_gravity", + "use_self_gravity", + "flag for usage of self gravity, 1 or 0 (true or false)", + default_value = 1 + ) + handler.add_method_parameter( + "get_ncrit_for_tree", + "set_ncrit_for_tree", + "ncrit_for_tree", + "Ncrit, the maximum number of particles sharing an interaction list", + default_value = 12 + ) + handler.add_method_parameter( + "get_dt_dia", + "set_dt_dia", + "dt_dia", + "time interval between diagnostics output", + default_value = 1.0 | nbody_system.time + ) + + handler.add_method_parameter( + "get_begin_time", + "set_begin_time", + "begin_time", + "model time to start the simulation at", + default_value = 0.0 | nbody_system.time + ) + + self.stopping_conditions.define_parameters(handler) + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + + handler.add_method( + "get_time_step", + (), + (nbody_system.time, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_time_step", + (nbody_system.time, ), + (handler.ERROR_CODE,) + ) + + + + self.stopping_conditions.define_methods(handler) + + def define_state(self, handler): + GravitationalDynamics.define_state(self, handler) + GravityFieldCode.define_state(self, handler) + + self.stopping_conditions.define_state(handler) + + + def define_particle_sets(self, handler): + GravitationalDynamics.define_particle_sets(self, handler) + self.stopping_conditions.define_particle_set(handler) + + + + +Bhtree = BHTree diff --git a/src/amuse_bhtree/packages/amuse-bhtree.amuse_deps b/src/amuse_bhtree/packages/amuse-bhtree.amuse_deps new file mode 100644 index 0000000000..c56cfa06a6 --- /dev/null +++ b/src/amuse_bhtree/packages/amuse-bhtree.amuse_deps @@ -0,0 +1 @@ +c c++ mpi diff --git a/src/amuse_bhtree/packages/amuse-bhtree/amuse_bhtree b/src/amuse_bhtree/packages/amuse-bhtree/amuse_bhtree new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_bhtree/packages/amuse-bhtree/amuse_bhtree @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_bhtree/packages/amuse-bhtree/pyproject.toml b/src/amuse_bhtree/packages/amuse-bhtree/pyproject.toml new file mode 100644 index 0000000000..03c7d6b8b5 --- /dev/null +++ b/src/amuse_bhtree/packages/amuse-bhtree/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-bhtree" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_bhtree/**/*.py"] +exclude = [ + "amuse_bhtree/packages", + "amuse_bhtree/support", + "amuse_bhtree/src", + "amuse_bhtree/tests" + ] +artifacts = ["amuse_bhtree/bhtree_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_bhtree/tests/"] + +testpaths = ["amuse_bhtree/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/bhtree/src/BHTC.C b/src/amuse_bhtree/src/BHTC.C similarity index 97% rename from src/amuse/community/bhtree/src/BHTC.C rename to src/amuse_bhtree/src/BHTC.C index 5e23003b92..35d51dbe18 100644 --- a/src/amuse/community/bhtree/src/BHTC.C +++ b/src/amuse_bhtree/src/BHTC.C @@ -5,7 +5,7 @@ // // Change in the calling format for apply_vf, from function name to // add explicit address operator. This was necessary to pass g++ 2.8.1 -// +// // Version 1.1 Jun Makino : take parameters from command line argumensts // Coding for 1.1 started on 1998/12/31 // Version 1.0 Jun Makino : First publisized version, parameters @@ -50,7 +50,7 @@ int main(int argc, char ** argv) extern char *poptarg; int c; - char* param_string = "i:o:d:D:T:e:t:n:w:cx:v:s:S:h"; + char const * param_string = "i:o:d:D:T:e:t:n:w:cx:v:s:S:h"; foname[0] = '?'; foname[1] = '\0'; real eps = 0.025; @@ -103,7 +103,7 @@ int main(int argc, char ** argv) break; case 'S': vel_scale = atof(poptarg); break; - case 'h': + case 'h': cerr << "list of options\n"; cerr << "-i name of snapshot input file (no default)\n"; cerr << "-o name of snapshot output file (default: no output)\n"; @@ -141,7 +141,7 @@ int main(int argc, char ** argv) cout << "n= " << pb.n << endl; pb.use_self_gravity = 1; fsnapin.close(); - if (snapout) fsnapout.open(foname,ios::out); + if (snapout) fsnapout.open(foname,ios::out); PR(eps); PR(theta); PR(ncrit); cout << "eps= " << eps << " theta=" << theta << " ncrit=" < l*0.5) return 1; } return 0; } - - + + int bhnode::sanity_check() { int i; @@ -343,7 +343,7 @@ int bhnode::sanity_check() return iret; } -#ifdef SPH +#ifdef SPH void bhnode::set_hmax_for_sph() { int i; @@ -453,7 +453,7 @@ int check_and_set_nbl(bhnode * p1,bhnode * p2) if (p1->isleaf || (p2->isleaf == 0) && p2->l > p1->l){ // // p1 is already leaf, or both are node but p2 is larger. - // go down p2 by + // go down p2 by for(int i = 0; i<8;i++) iret |= check_and_set_nbl(p1, p2->child[i]); }else{ @@ -473,7 +473,7 @@ int check_and_set_nbl(bhnode * p1,bhnode * p2) // // here, comparison of key guarantee that a pair // is evaluated only once - + iret |=check_and_set_nbl(*((bpi+i)->get_rp()), *((bpj+j)->get_rp())); } @@ -508,19 +508,19 @@ void real_system::setup_tree() bhnode * btmp = bn+1; int heap_remainder = bnsize-1; BHlong key = 0; - + bn->create_tree_recursive(btmp,heap_remainder,key, default_key_length, ncrit_for_tree); - //cello: last argument was 12 for some reason - - + //cello: last argument was 12 for some reason + + set_cm_quantities_for_default_tree(); // PR(bnsize); PRL(heap_remainder); // PRL(bn->sanity_check()); } - -#ifdef SPH + +#ifdef SPH int sph_system::set_nnb_using_tree() { setup_tree(); @@ -533,7 +533,7 @@ int sph_system::set_nnb_using_tree() } #endif -void accumulate_force_from_point(vec dx, real r2, real eps2, +void accumulate_force_from_point(vec dx, real r2, real eps2, vec & acc, real & phi, real jmass) @@ -562,7 +562,7 @@ void print_tree_counters() } void calculate_force_from_interaction_list(const vec & pos, - real eps2, + real eps2, vec & acc, real & phi, vec * poslist, @@ -596,11 +596,11 @@ void bhnode::accumulate_force_from_tree(vec & ipos, real eps2, real theta2, int i; if (isleaf){ bhparticle * bp = bpfirst; - + for(i = 0; i < nparticle; i++){ vec dx = (bp+i)->get_rp()->get_pos()-ipos; real r2 = dx*dx; - + // Added by Steve (8/07). // Turned off by AVE (12/12) if (r2 < r_nn_2) { @@ -611,12 +611,12 @@ void bhnode::accumulate_force_from_tree(vec & ipos, real eps2, real theta2, nn_ptr = (bp+i)->get_rp(); } } - - + + accumulate_force_from_point(dx, r2, eps2, acc, phi, (bp+i)->get_rp()->get_mass()); total_interactions += 1; - + } }else{ for(i=0;i<8;i++){ @@ -636,7 +636,7 @@ void bhnode::add_to_interaction_list(bhnode & dest_node, real theta2, int list_max, int & first_leaf) { -#if 0 +#if 0 real r2 = separation_squared(this, &dest_node); if (r2*theta2 > l*l){ #else @@ -650,7 +650,7 @@ void bhnode::add_to_interaction_list(bhnode & dest_node, real theta2, cerr << "List length exceeded\n"; exit(1); } - + }else{ int i; if (isleaf || (this == (&dest_node))){ @@ -724,11 +724,11 @@ void calculate_force_from_interaction_list_using_grape4(vec * pos_list, real * m #ifdef GPU extern "C" { - + int g6_open_(int *clusterid); int g6_close_(int *clusterid); - + int g6_set_j_particle_(int *cluster_id, int *address, int *index, @@ -736,26 +736,26 @@ extern "C" { double *mass, double k18[3], double j6[3], double a2[3], double v[3], double x[3]); - + int g6_set_ti_(int *id, double *ti); - - + + void g6calc_firsthalf_(int *cluster_id, int *nj, int *ni, - int index[], + int index[], double xi[][3], double vi[][3], double aold[][3], double j6old[][3], - double phiold[3], + double phiold[3], double *eps2, double h2[]); - - + + int g6calc_lasthalf_(int *cluster_id, int *nj, int *ni, - int index[], + int index[], double xi[][3], double vi[][3], double *eps2, double h2[], - double acc[][3], double jerk[][3], double pot[]); - + double acc[][3], double jerk[][3], double pot[]); + int g6_reset_(int* cluster_id); int g6_npipes_(); } @@ -774,18 +774,18 @@ void calculate_force_from_interaction_list_using_grape6(vec * pos_list, real * m } else { //g6_reset_(&clusterid); } - + double ti = 0.0; double zero = 0.0; g6_set_ti_(&clusterid,&ti); int max_ni = g6_npipes_(); - + nisum += ni; tree_walks += 1; total_interactions += ((real)ni)*list_length; //accel_by_harp3_separate_noopen_(&ni,pos_list+first_leaf, &list_length,pos_list, mass_list, // acc_list, phi_list, &eps2); -// +// call_count += ni; double k18[3]; double j6[3]; @@ -832,32 +832,32 @@ void calculate_force_from_interaction_list_using_grape6(vec * pos_list, real * m jerkout[i][k]=0.0; } zero1[i] = 0; - index[i] =i + first_leaf; - + index[i] =i + first_leaf; + } - + for(int pi = 0; pi < ni; pi+=max_ni) { int actualni = pi + max_ni > ni ? ni - pi : max_ni; - + g6calc_firsthalf_( - &clusterid, - &list_length, - &actualni, - index + pi, + &clusterid, + &list_length, + &actualni, + index + pi, positions + pi, - zero3, zero3, - zero3, - zero1, + zero3, + zero3, + zero1, &eps2, zero1 - ); - + ); + g6calc_lasthalf_( - &clusterid, - &list_length, - &actualni, + &clusterid, + &list_length, + &actualni, index + pi, positions + pi, zero3, @@ -895,7 +895,7 @@ void bhnode::evaluate_gravity_using_tree_and_list(bhnode & source_node, static real mass_list[list_max]; static vec pos_list[list_max]; real epsinv = 1.0/sqrt(eps2); -#ifdef HARP3 +#ifdef HARP3 static vec * acc_list = NULL; static real * phi_list = NULL; if (acc_list == NULL){ @@ -903,7 +903,7 @@ void bhnode::evaluate_gravity_using_tree_and_list(bhnode & source_node, phi_list = new real[ncrit + 100]; } #endif -#ifdef GPU +#ifdef GPU static vec * acc_list = NULL; static real * phi_list = NULL; if (acc_list == NULL){ @@ -939,7 +939,7 @@ void bhnode::evaluate_gravity_using_tree_and_list(bhnode & source_node, exit(1); } bhparticle * bp = bpfirst; -#ifndef HARP3 +#ifndef HARP3 #ifndef GPU for(int i = 0; i < nparticle; i++){ real_particle * p = (bp+i)->get_rp(); @@ -967,7 +967,7 @@ void bhnode::evaluate_gravity_using_tree_and_list(bhnode & source_node, p->set_acc_gravity(acc_list[i]); p->set_phi_gravity(phi_list[i] + p->get_mass()*epsinv); } -#endif +#endif } } @@ -995,7 +995,7 @@ void real_particle::calculate_gravity_using_tree(real eps2, real theta2) bn->accumulate_force_from_tree(pos, eps2, theta2, acc_gravity, phi_gravity, index); nisum += 1; - + // AMUSE STOPPING CONDITIONS SUPPORT (AVE May 2010) //if(nn_index >= 0 && (COLLISION_DETECTION_BITMAP & enabled_conditions) ) { // compare indices to prevent two detections for one collision: (NdV Feb 2012) if(nn_index > my_index && (COLLISION_DETECTION_BITMAP & enabled_conditions) ) { @@ -1024,7 +1024,7 @@ vec real_system::calculate_gravity_at_point(vec pos, real eps2, real theta2) r_nn_2 = 0.0; // turn-off collision detection bn->accumulate_force_from_tree(pos, eps2, theta2, acc_gravity, phi_gravity, -1); - + return acc_gravity; } @@ -1038,7 +1038,7 @@ real real_system::calculate_potential_at_point(vec pos, real eps2, real theta2) r_nn_2 = 0.0; // turn-off collision detection bn->accumulate_force_from_tree(pos, eps2, theta2, acc_gravity, phi_gravity, -1); - + return phi_gravity; } @@ -1075,7 +1075,7 @@ int main() if((psph+i)->get_nnb() != (psphcopy+i)->get_nnb()){ cerr << "Neighbour count differs for "; PRL(i); err = 1; - + } if (err == 0){ for(int j = 0; (j< (psph+i)->get_nnb()) && (err == 0); j++){ @@ -1145,7 +1145,7 @@ void main() if((psph+i)->get_nnb() != (psphcopy+i)->get_nnb()){ cerr << "Neighbour count differs for "; PRL(i); err = 1; - + } if (err == 0){ for(int j = 0; (j< (psph+i)->get_nnb()) && (err == 0); j++){ @@ -1162,8 +1162,8 @@ void main() PRL(error); pb.use_self_gravity = 1; pb.eps2_for_gravity = 0.01; -#define COMPARISON_WITH_DIRECT -#ifdef COMPARISON_WITH_DIRECT +#define COMPARISON_WITH_DIRECT +#ifdef COMPARISON_WITH_DIRECT pb.calculate_uncorrected_gravity_direct(); copy_sph_particles(&pb, &pbcopy); psphcopy = pbcopy.get_particle_pointer(); @@ -1176,7 +1176,7 @@ void main() #endif - + cerr << "Tree force \n"; for(int j = 0; j<10; j++){ PRL(j); @@ -1187,7 +1187,7 @@ void main() } pb.apply_vf(real_particle::clear_acc_phi_gravity); bn->evaluate_gravity_using_tree_and_list(*bn,0.4,pb.eps2_for_gravity,1); -#ifdef COMPARISON_WITH_DIRECT +#ifdef COMPARISON_WITH_DIRECT real perrmax = 0; real ferrmax = 0; for(int i = 0; iget_phi_gravity(); vec acc = (psph+i)->get_acc_gravity(); - PR(i); PR(phi); PRL(acc); + PR(i); PR(phi); PRL(acc); } - -#endif - + +#endif + } #endif - + #ifdef TESTXX // @@ -1248,14 +1248,14 @@ void main() real_particle * psph = pb.get_particle_pointer(); real h0 = pow(1.0/n,0.33333); for(int i = 0; i<10; i++){ - + pb.apply_vf(real_particle::set_h, h0); pb.apply_vf(real_particle::clear_nnb); bn->set_hmax_for_sph(); // bn->dump(); PRL(check_and_set_nbl(bn, bn)); pb.apply_vf(real_particle::sort_nblist); - + } } #endif diff --git a/src/amuse/community/bhtree/src/BHtree.h b/src/amuse_bhtree/src/BHtree.h similarity index 100% rename from src/amuse/community/bhtree/src/BHtree.h rename to src/amuse_bhtree/src/BHtree.h diff --git a/src/amuse/community/bhtree/src/COPYRIGHT b/src/amuse_bhtree/src/COPYRIGHT similarity index 100% rename from src/amuse/community/bhtree/src/COPYRIGHT rename to src/amuse_bhtree/src/COPYRIGHT diff --git a/src/amuse_bhtree/src/Makefile b/src/amuse_bhtree/src/Makefile new file mode 100644 index 0000000000..d978da28fc --- /dev/null +++ b/src/amuse_bhtree/src/Makefile @@ -0,0 +1,35 @@ +CODELIB = libbhtree.a + +CXXFLAGS += -DTREE -DNOGRAPHICS + +OBJ = BHTC.o nbody.o BHtree.o gravity.o pgetopt.o second.o + +CODEOBJS = BHtree.o gravity.o pgetopt.o second.o nbody.o + +AR = ar ruv +RANLIB = ranlib +RM = rm + +all: BHTC $(CODELIB) + +clean: + rm -f *.o BHTC *~ $(CODELIB) + +BHTC: $(OBJ) + $(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJ) -lm -o BHTC $(LDLIBS) + +.c.o: + $(CC) $(CPPFLAGS) $(CFLAGS) -c $? + +.C.o: + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $? + +test: compile + +compile: BHTC + +$(CODELIB): $(CODEOBJS) + $(RM) -f $@ + $(AR) $@ $(CODEOBJS) + $(RANLIB) $@ + diff --git a/src/amuse/community/bhtree/src/README b/src/amuse_bhtree/src/README similarity index 100% rename from src/amuse/community/bhtree/src/README rename to src/amuse_bhtree/src/README diff --git a/src/amuse/community/bhtree/src/gravity.C b/src/amuse_bhtree/src/gravity.C similarity index 100% rename from src/amuse/community/bhtree/src/gravity.C rename to src/amuse_bhtree/src/gravity.C diff --git a/src/amuse/community/bhtree/src/nbody.C b/src/amuse_bhtree/src/nbody.C similarity index 100% rename from src/amuse/community/bhtree/src/nbody.C rename to src/amuse_bhtree/src/nbody.C diff --git a/src/amuse/community/bhtree/src/nbody_particle.h b/src/amuse_bhtree/src/nbody_particle.h similarity index 100% rename from src/amuse/community/bhtree/src/nbody_particle.h rename to src/amuse_bhtree/src/nbody_particle.h diff --git a/src/amuse/community/bhtree/src/pgetopt.C b/src/amuse_bhtree/src/pgetopt.C similarity index 96% rename from src/amuse/community/bhtree/src/pgetopt.C rename to src/amuse_bhtree/src/pgetopt.C index e7a7843a1b..7b56b2e881 100644 --- a/src/amuse/community/bhtree/src/pgetopt.C +++ b/src/amuse_bhtree/src/pgetopt.C @@ -6,7 +6,7 @@ * version 2: Dec 1992 Piet Hut -- adopted to the new C++-based starlab * version 2.0A: Dec 1998 Jun Makino -- pskipopt() function added. *............................................................................. - * non-local function: + * non-local function: * pgetopt * pskipopt *............................................................................. @@ -26,7 +26,7 @@ * mumble -c -a -b 10 * mumble -b 10 -ca * mumble -acb 10 - * but the following versions are illegal, and will give error messages: + * but the following versions are illegal, and will give error messages: * mumble -a -b10 -c * mumble -ab10c * mumble -a -c -b @@ -53,15 +53,15 @@ char *poptarg; /*----------------------------------------------------------------------------- * pgetopt -- each call to pgetopt() returns the next option encountered - * on the command line, starting from the beginning. If the - * option occurs in the optstr string as well, the option - * itself is returned (as the int value of the character; + * on the command line, starting from the beginning. If the + * option occurs in the optstr string as well, the option + * itself is returned (as the int value of the character; * options are limited to one char). Otherwise, the character '?' - * is returned. If the end of the string is reached, the value + * is returned. If the end of the string is reached, the value * -1 is returned. If an option is followed by the character ':' - * in optstr , then a command line argument is expected, + * in optstr , then a command line argument is expected, * separated by spaces. If such an argument if found, the pointer - * poptarg is pointed at that string, so that the calling + * poptarg is pointed at that string, so that the calling * function can access the argument. If such an argument is not * found, an error message is given. * @@ -74,24 +74,26 @@ char *poptarg; */ static int argv_counter = 1; /* skip argv[0], the command name */ static int argv_offset = 0; -int pgetopt(int argc, char ** argv, char * optstr) +int pgetopt(int argc, char ** argv, char const * optstr) { int optstr_counter; char option_char; - + if (argv_counter >= argc) return(-1); /* signal that we've run out of options */ - if (argv_offset == 0) + if (argv_offset == 0) { if (argv[argv_counter][argv_offset] != '-') { cerr << "pgetopt: command line argument does not begin with -\n"; exit(1); } - else + else { argv_offset++; + } + } -#ifdef IN_STARLAB +#ifdef IN_STARLAB // We have a legal switch. First check to see if all we want to // know is the STARLAB version number. @@ -110,7 +112,7 @@ int pgetopt(int argc, char ** argv, char * optstr) { /* * prepare for the next call to pgetopt(): - */ + */ if (argv[argv_counter][++argv_offset] == '\0') { argv_counter++; @@ -138,7 +140,7 @@ int pgetopt(int argc, char ** argv, char * optstr) poptarg = argv[argv_counter]; /* * prepare for the next call to pgetopt(): - */ + */ argv_counter++; argv_offset = 0; } @@ -146,14 +148,14 @@ int pgetopt(int argc, char ** argv, char * optstr) { /* * prepare for the next call to pgetopt(): - */ + */ if (argv[argv_counter][++argv_offset] == '\0') { argv_counter++; argv_offset = 0; } } - + return(option_char); } diff --git a/src/amuse/community/bhtree/src/second.c b/src/amuse_bhtree/src/second.c similarity index 91% rename from src/amuse/community/bhtree/src/second.c rename to src/amuse_bhtree/src/second.c index e23c713b0c..5b707569dc 100644 --- a/src/amuse/community/bhtree/src/second.c +++ b/src/amuse_bhtree/src/second.c @@ -10,7 +10,7 @@ * void second(&double): returns the cpu seconds * void cpumin(&double): returns the cpu minutes */ - + #ifdef _WIN32 #include @@ -21,16 +21,14 @@ void timer_init() time(&start_time); } -second(dtime) -double * dtime; +second(double * dtime) { long int timenow; time(&timenow); *dtime = timenow - start_time; } -cpumin(dmin) -double *dmin ; +cpumin(double * dmin) { double sec; second(&sec); @@ -60,7 +58,7 @@ static double tstart; static struct timeval timearg; static struct timezone zonearg; -#define RETURN_CPU +#define RETURN_CPU void timer_init() { @@ -89,38 +87,12 @@ void tminit_() timer_init(); } -cpumin(t) -double * t; -{ - xcpumin_(t); -} - -double cpusec() -{ - double t; - second(&t); - return t; -} -second(t) -double * t; -{ - second_(t); -} -xcpumin_(t) - double*t; -{ - double sec; - second_(&sec); - *t=sec/60.0; -} - -second_(t) -double *t; +void second_(double * t) { -#ifdef RETURN_CPU +#ifdef RETURN_CPU #ifdef SOLARIS struct tms buffer; - + if (times(&buffer) == -1) { printf("times() call failed\n"); exit(1); @@ -132,7 +104,7 @@ double *t; fprintf(stderr,"getrusage failed\n"); } *t = usage.ru_utime.tv_sec + usage.ru_utime.tv_usec*1e-6; -#endif +#endif #else #ifndef xxxx if(gettimeofday(&timearg,&zonearg)){ @@ -148,10 +120,34 @@ double *t; } *t = it0*0.01 - tstart; #endif -#endif +#endif } #endif +void xcpumin_(double * t) +{ + double sec; + second_(&sec); + *t=sec/60.0; +} + +void cpumin(double * t) +{ + xcpumin_(t); +} + +void second(double * t) +{ + second_(t); +} + +double cpusec() +{ + double t; + second(&t); + return t; +} + #ifdef TEST main() { @@ -172,10 +168,8 @@ typedef union double_and_int{ unsigned int iwork; COMPTYPE fwork; } DOUBLE_INT; -void c_assignbody_(pos,cpos,bsub) -register COMPTYPE pos[]; -register COMPTYPE cpos[]; -int * bsub; + +void c_assignbody_(COMPTYPE pos[], COMPTYPE cpos[], int * bsub) { register int k,l,k1,k2; register DOUBLE_INT tmpx,tmpy,tmpz ; @@ -209,7 +203,7 @@ int * bsub; tmpx.iwork,tmpy.iwork,tmpz.iwork, tmpx.iwork>>31,tmpy.iwork>>30,tmpz.iwork>>29, *bsub,k); -#endif +#endif #endif } diff --git a/src/amuse/community/bhtree/src/stdinc.h b/src/amuse_bhtree/src/stdinc.h similarity index 100% rename from src/amuse/community/bhtree/src/stdinc.h rename to src/amuse_bhtree/src/stdinc.h diff --git a/src/amuse/community/bhtree/src/vec.h b/src/amuse_bhtree/src/vec.h similarity index 100% rename from src/amuse/community/bhtree/src/vec.h rename to src/amuse_bhtree/src/vec.h diff --git a/src/amuse_bhtree/support/aclocal.m4 b/src/amuse_bhtree/support/aclocal.m4 new file mode 100644 index 0000000000..5fea1010bd --- /dev/null +++ b/src/amuse_bhtree/support/aclocal.m4 @@ -0,0 +1,19 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_bhtree/support/config.mk.in b/src/amuse_bhtree/support/config.mk.in new file mode 100644 index 0000000000..3f563885a9 --- /dev/null +++ b/src/amuse_bhtree/support/config.mk.in @@ -0,0 +1,30 @@ +# Compilers +CC = @CC@ +CXX = @CXX@ + +MPICC = @MPICC@ +MPICXX = @MPICXX@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ + + +# General flags and libraries +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +STOPCOND_CFLAGS = @STOPCOND_CFLAGS@ +STOPCOND_LIBS = @STOPCOND_LIBS@ + + +# External dependencies +SAPPORO_LIGHT_CFLAGS = @SAPPORO_LIGHT_CFLAGS@ +SAPPORO_LIGHT_LIBS = @SAPPORO_LIGHT_LIBS@ + diff --git a/src/amuse_bhtree/support/configure b/src/amuse_bhtree/support/configure new file mode 100755 index 0000000000..e710c1cd04 --- /dev/null +++ b/src/amuse_bhtree/support/configure @@ -0,0 +1,6880 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-bhtree 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-bhtree' +PACKAGE_TARNAME='amuse-bhtree' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-bhtree 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +FOUND_SAPPORO_LIGHT +SAPPORO_LIGHT_LIBS +SAPPORO_LIGHT_CFLAGS +FOUND_STOPCOND +STOPCOND_LIBS +STOPCOND_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +RANLIB +AR +target_os +target_vendor +target_cpu +target +ac_ct_CXX +CXXFLAGS +CXX +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCOND_CFLAGS +STOPCOND_LIBS +SAPPORO_LIGHT_CFLAGS +SAPPORO_LIGHT_LIBS +MPICC +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-bhtree 1.0 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/amuse-bhtree] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-bhtree 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + 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 + CXX C++ compiler command + CXXFLAGS C++ compiler flags + 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 + STOPCOND_CFLAGS + C compiler flags for STOPCOND, overriding pkg-config + STOPCOND_LIBS + linker flags for STOPCOND, overriding pkg-config + SAPPORO_LIGHT_CFLAGS + C compiler flags for SAPPORO_LIGHT, overriding pkg-config + SAPPORO_LIGHT_LIBS + linker flags for SAPPORO_LIGHT, overriding pkg-config + MPICC MPI C compiler command + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-bhtree configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-bhtree $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + + +# Find the compiler(s) + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find AMUSE libraries + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCOND_CFLAGS" + amuse_save_LIB_LIBS="$STOPCOND_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing is_condition_enabled" >&5 +printf %s "checking for library containing is_condition_enabled... " >&6; } +if test ${ac_cv_search_is_condition_enabled+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char is_condition_enabled (); +int +main (void) +{ +return is_condition_enabled (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcond +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_is_condition_enabled=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_is_condition_enabled+y} +then : + break +fi +done +if test ${ac_cv_search_is_condition_enabled+y} +then : + +else $as_nop + ac_cv_search_is_condition_enabled=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_is_condition_enabled" >&5 +printf "%s\n" "$ac_cv_search_is_condition_enabled" >&6; } +ac_res=$ac_cv_search_is_condition_enabled +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCOND="yes" + STOPCOND_LIBS="$LIBS" + STOPCOND_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCOND" >&5 +printf %s "checking for STOPCOND... " >&6; } + +if test -n "$STOPCOND_CFLAGS"; then + pkg_cv_STOPCOND_CFLAGS="$STOPCOND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_CFLAGS=`$PKG_CONFIG --cflags "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCOND_LIBS"; then + pkg_cv_STOPCOND_LIBS="$STOPCOND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_LIBS=`$PKG_CONFIG --libs "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcond" 2>&1` + else + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcond" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCOND_PKG_ERRORS" >&5 + + + FOUND_STOPCOND="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCOND="no" + +else + STOPCOND_CFLAGS=$pkg_cv_STOPCOND_CFLAGS + STOPCOND_LIBS=$pkg_cv_STOPCOND_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCOND="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCOND}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCOND_CFLAGS="${STOPCOND_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCOND_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCOND_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$SAPPORO_LIGHT_CFLAGS" + amuse_save_LIB_LIBS="$SAPPORO_LIGHT_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing get_device_count" >&5 +printf %s "checking for library containing get_device_count... " >&6; } +if test ${ac_cv_search_get_device_count+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char get_device_count (); +int +main (void) +{ +return get_device_count (); + ; + return 0; +} +_ACEOF +for ac_lib in '' sapporo +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_get_device_count=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_get_device_count+y} +then : + break +fi +done +if test ${ac_cv_search_get_device_count+y} +then : + +else $as_nop + ac_cv_search_get_device_count=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_get_device_count" >&5 +printf "%s\n" "$ac_cv_search_get_device_count" >&6; } +ac_res=$ac_cv_search_get_device_count +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_SAPPORO_LIGHT="yes" + SAPPORO_LIGHT_LIBS="$LIBS" + SAPPORO_LIGHT_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SAPPORO_LIGHT" >&5 +printf %s "checking for SAPPORO_LIGHT... " >&6; } + +if test -n "$SAPPORO_LIGHT_CFLAGS"; then + pkg_cv_SAPPORO_LIGHT_CFLAGS="$SAPPORO_LIGHT_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sapporo_light\""; } >&5 + ($PKG_CONFIG --exists --print-errors "sapporo_light") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_SAPPORO_LIGHT_CFLAGS=`$PKG_CONFIG --cflags "sapporo_light" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$SAPPORO_LIGHT_LIBS"; then + pkg_cv_SAPPORO_LIGHT_LIBS="$SAPPORO_LIGHT_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sapporo_light\""; } >&5 + ($PKG_CONFIG --exists --print-errors "sapporo_light") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_SAPPORO_LIGHT_LIBS=`$PKG_CONFIG --libs "sapporo_light" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + SAPPORO_LIGHT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "sapporo_light" 2>&1` + else + SAPPORO_LIGHT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "sapporo_light" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$SAPPORO_LIGHT_PKG_ERRORS" >&5 + + + FOUND_SAPPORO_LIGHT="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_SAPPORO_LIGHT="no" + +else + SAPPORO_LIGHT_CFLAGS=$pkg_cv_SAPPORO_LIGHT_CFLAGS + SAPPORO_LIGHT_LIBS=$pkg_cv_SAPPORO_LIGHT_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_SAPPORO_LIGHT="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_SAPPORO_LIGHT}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + SAPPORO_LIGHT_CFLAGS="${SAPPORO_LIGHT_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + SAPPORO_LIGHT_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + SAPPORO_LIGHT_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +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 + + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-bhtree $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-bhtree config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_bhtree/support/configure.ac b/src/amuse_bhtree/support/configure.ac new file mode 100644 index 0000000000..f0c5a14286 --- /dev/null +++ b/src/amuse_bhtree/support/configure.ac @@ -0,0 +1,50 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-bhtree], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + + +# Find the compiler(s) +AC_PROG_CC() +AC_PROG_CXX() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find AMUSE libraries +AMUSE_LIB_STOPCOND() +AMUSE_LIB_SAPPORO_LIGHT() + + +# Find external dependencies +AC_LANG_PUSH([C]) + +AX_MPI() + +AC_LANG_POP([C]) + + +AC_LANG_PUSH([C++]) + +AX_MPI() + +AC_LANG_POP([C++]) + + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_bhtree/support/shared b/src/amuse_bhtree/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_bhtree/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_bhtree.py b/src/amuse_bhtree/tests/test_bhtree.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_bhtree.py rename to src/amuse_bhtree/tests/test_bhtree.py index d2bf2acc9d..ee87f3a654 100644 --- a/src/amuse/test/suite/codes_tests/test_bhtree.py +++ b/src/amuse_bhtree/tests/test_bhtree.py @@ -1,13 +1,13 @@ # -*- coding: utf-8 -*- -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI import os import sys import numpy import time import math -from amuse.community.bhtree.interface import BHTreeInterface, BHTree +from amuse_bhtree.interface import BHTreeInterface, BHTree from amuse.support.exceptions import AmuseException from amuse.units import constants from amuse.units import nbody_system @@ -367,7 +367,7 @@ def test6(self): self.assertEqual(instance.get_mass(indices)[0], 15.0 | units.kg) self.assertRaises(AmuseException, instance.get_mass, [4, 5], - expected_message="Error when calling 'get_mass' of a '', errorcode is -1") + expected_message="Error when calling 'get_mass' of a 'BHTree', errorcode is -1") instance.cleanup_code() instance.stop() diff --git a/src/amuse/community/bonsai/Makefile b/src/amuse_bonsai/Makefile similarity index 100% rename from src/amuse/community/bonsai/Makefile rename to src/amuse_bonsai/Makefile diff --git a/src/amuse/community/bonsai/SdkMasterLog.csv b/src/amuse_bonsai/SdkMasterLog.csv similarity index 100% rename from src/amuse/community/bonsai/SdkMasterLog.csv rename to src/amuse_bonsai/SdkMasterLog.csv diff --git a/src/amuse_bonsai/__init__.py b/src/amuse_bonsai/__init__.py new file mode 100644 index 0000000000..989c6e49c7 --- /dev/null +++ b/src/amuse_bonsai/__init__.py @@ -0,0 +1,2 @@ +# generated file +from .interface import Bonsai diff --git a/src/amuse/community/bonsai/deviceQuery.txt b/src/amuse_bonsai/deviceQuery.txt similarity index 100% rename from src/amuse/community/bonsai/deviceQuery.txt rename to src/amuse_bonsai/deviceQuery.txt diff --git a/src/amuse_bonsai/interface.py b/src/amuse_bonsai/interface.py new file mode 100644 index 0000000000..b32b74b204 --- /dev/null +++ b/src/amuse_bonsai/interface.py @@ -0,0 +1,303 @@ +import os.path +from amuse.community import * +from amuse.community.interface.gd import GravitationalDynamicsInterface +from amuse.community.interface.gd import GravitationalDynamics +from amuse.community.interface.gd import SinglePointGravityFieldInterface +from amuse.community.interface.gd import GravityFieldCode + +class BonsaiInterface(CodeInterface, + LiteratureReferencesMixIn, + GravitationalDynamicsInterface, + StoppingConditionInterface, + CodeWithDataDirectories, + SinglePointGravityFieldInterface): + + """ + .. [#] ADS:2012JCoPh.231.2825B (Bedorf J., Gaburov E., Portegies Zwart S., 2012, JCoPh, 231, 2825) + """ + + include_headers = ['worker_code.h', 'stopcond.h'] + + def name_of_worker(self,mode): + return 'bonsai_worker' + + def __init__(self, mode=None, **options): + CodeInterface.__init__(self, name_of_the_worker = self.name_of_worker(mode), **options) + LiteratureReferencesMixIn.__init__(self) + CodeWithDataDirectories.__init__(self) + self.set_src_directory( + os.path.join(self.amuse_root_directory, 'src', 'amuse_bonsai', 'src', '') + ) + + @legacy_function + def set_src_directory(): + function = LegacyFunctionSpecification() + function.addParameter('src_directory', dtype='string', direction=function.IN, + description = "The path to the Bonsai src directory.") + function.result_type = 'int32' + return function + + @legacy_function + def set_time_step(): + function = LegacyFunctionSpecification() + function.addParameter('time_step', dtype='float64', direction=function.IN, + description = "The current timestep for the system") + function.result_type = 'int32' + return function + + @legacy_function + def set_mass(): + """ + Update the mass of a particle. Mass is a scalar property of a particle. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle for which the state is to be updated. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('mass', dtype='float64', direction=function.IN, description = "The new mass of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found in the model and the information was set + -1 - ERROR + particle could not be found + """ + + return function + + @legacy_function + def set_state(): + """ + Update the current state of a particle. The *minimal* information of a stellar + dynamics particle (mass, position and velocity) is updated. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle for which the state is to be updated. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('mass', dtype='float64', direction=function.IN, description = "The new mass of the particle") + function.addParameter('radius', dtype='float64', direction=function.IN, description = "The new radius of the particle") + function.addParameter('x', dtype='float64', direction=function.IN, description = "The new position vector of the particle") + function.addParameter('y', dtype='float64', direction=function.IN, description = "The new position vector of the particle") + function.addParameter('z', dtype='float64', direction=function.IN, description = "The new position vector of the particle") + function.addParameter('vx', dtype='float64', direction=function.IN, description = "The new velocity vector of the particle") + function.addParameter('vy', dtype='float64', direction=function.IN, description = "The new velocity vector of the particle") + function.addParameter('vz', dtype='float64', direction=function.IN, description = "The new velocity vector of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found in the model and the information was set + -1 - ERROR + particle could not be found + """ + return function + + + @legacy_function + def set_position(): + """ + Update the position of a particle. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle for which the state is to be updated. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('x', dtype='float64', direction=function.IN, description = "The new position vector of the particle") + function.addParameter('y', dtype='float64', direction=function.IN, description = "The new position vector of the particle") + function.addParameter('z', dtype='float64', direction=function.IN, description = "The new position vector of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found in the model and the information was set + -1 - ERROR + particle could not be found + -2 - ERROR + code does not support updating of a particle + """ + return function + + @legacy_function + def set_velocity(): + """ + Set the velocity vector of a particle. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to get the state from. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('vx', dtype='float64', direction=function.IN, description = "The current x component of the velocity vector of the particle") + function.addParameter('vy', dtype='float64', direction=function.IN, description = "The current y component of the velocity vector of the particle") + function.addParameter('vz', dtype='float64', direction=function.IN, description = "The current z component of the velocity vector of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + current value was retrieved + -1 - ERROR + particle could not be found + -2 - ERROR + not yet implemented + """ + return function + + @legacy_function + def get_theta_for_tree(): + """ + Get theta, the opening angle for building the tree: between 0 and 1. + """ + function = LegacyFunctionSpecification() + function.addParameter('theta_for_tree', dtype='float64', direction=function.OUT, + description = "theta, the opening angle for building the tree: between 0 and 1") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_theta_for_tree(): + """ + Set theta, the opening angle for building the tree: between 0 and 1. + """ + function = LegacyFunctionSpecification() + function.addParameter('theta_for_tree', dtype='float64', direction=function.IN, + description = "theta, the opening angle for building the tree: between 0 and 1") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + @legacy_function + def get_eta(): + """ + Get eta, the block time-step parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('eta', dtype='float64', direction=function.OUT, + description = "Eta, time-step parameter") + function.result_type = 'int32' + return function + + @legacy_function + def set_eta(): + """ + Set eta, the block time-step parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('eta', dtype='float64', direction=function.IN, + description = "Eta, time-step parameter") + function.result_type = 'int32' + return function + +class Bonsai(GravitationalDynamics): + + def __init__(self, unit_converter = None, **options): + self.stopping_conditions = StoppingConditions(self) + + + legacy_interface = BonsaiInterface(**options) + GravitationalDynamics.__init__( + self, + legacy_interface, + unit_converter, + **options + ) + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_eps2", + "set_eps2", + "epsilon_squared", + "smoothing parameter for gravity calculations", + default_value = 0.05**2 | nbody_system.length**2 + ) + + handler.add_method_parameter( + "get_time_step", + "set_time_step", + "timestep", + "timestep for the system", + default_value = 1.0 / 64 | nbody_system.time + ) + + handler.add_method_parameter( + "get_eta", + "set_eta", + "timestep_parameter", + "timestep parameter for the block time-step", + default_value = 0.1 + ) + + handler.add_method_parameter( + "get_theta_for_tree", + "set_theta_for_tree", + "opening_angle", + "opening angle, theta, for building the tree: between 0 and 1", + default_value = 0.75 + ) + + handler.add_method_parameter( + "get_begin_time", + "set_begin_time", + "begin_time", + "model time to start the simulation at", + default_value = 0.0 | nbody_system.time + ) + self.stopping_conditions.define_parameters(handler) + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + handler.add_method( + "set_time", + (nbody_system.time,), + (handler.ERROR_CODE,) + ) + handler.add_method( + "set_time_step", + (nbody_system.time,), + (handler.ERROR_CODE,) + ) + handler.add_method( + "get_eps2", + (), + (nbody_system.length**2, handler.ERROR_CODE,) + ) + handler.add_method( + "get_time", + (), + (nbody_system.time, handler.ERROR_CODE,) + ) + handler.add_method( + "set_eps2", + (nbody_system.length**2,), + (handler.ERROR_CODE,) + ) + self.stopping_conditions.define_methods(handler) + + def define_particle_sets(self, handler): + GravitationalDynamics.define_particle_sets(self, handler) + + self.stopping_conditions.define_particle_set(handler) + + def define_errorcodes(self, handler): + handler.add_errorcode(-1, 'Unspecified, other error.') + handler.add_errorcode(-2, 'Called function is not implemented.') + handler.add_errorcode(-3, 'A particle with the given index was not found.') + handler.add_errorcode(-4, 'The tree has become too deep, consider the removal of far away particles to prevent a too large box.') + + + def define_state(self, handler): + GravitationalDynamics.define_state(self, handler) + + self.stopping_conditions.define_state(handler) + diff --git a/src/amuse/community/bonsai/interface.py-old b/src/amuse_bonsai/interface.py-old similarity index 100% rename from src/amuse/community/bonsai/interface.py-old rename to src/amuse_bonsai/interface.py-old diff --git a/src/amuse/community/bonsai/libraryInterface.cpp b/src/amuse_bonsai/libraryInterface.cpp similarity index 100% rename from src/amuse/community/bonsai/libraryInterface.cpp rename to src/amuse_bonsai/libraryInterface.cpp diff --git a/src/amuse_bonsai/packages/amuse-bonsai.amuse_deps b/src/amuse_bonsai/packages/amuse-bonsai.amuse_deps new file mode 100644 index 0000000000..58514f846c --- /dev/null +++ b/src/amuse_bonsai/packages/amuse-bonsai.amuse_deps @@ -0,0 +1 @@ +issue_1104 diff --git a/src/amuse/community/bonsai/src/CUDAkernels/build_tree.cu b/src/amuse_bonsai/src/CUDAkernels/build_tree.cu similarity index 100% rename from src/amuse/community/bonsai/src/CUDAkernels/build_tree.cu rename to src/amuse_bonsai/src/CUDAkernels/build_tree.cu diff --git a/src/amuse/community/bonsai/src/CUDAkernels/compute_properties.cu b/src/amuse_bonsai/src/CUDAkernels/compute_properties.cu similarity index 100% rename from src/amuse/community/bonsai/src/CUDAkernels/compute_properties.cu rename to src/amuse_bonsai/src/CUDAkernels/compute_properties.cu diff --git a/src/amuse/community/bonsai/src/CUDAkernels/compute_propertiesD.cu b/src/amuse_bonsai/src/CUDAkernels/compute_propertiesD.cu similarity index 100% rename from src/amuse/community/bonsai/src/CUDAkernels/compute_propertiesD.cu rename to src/amuse_bonsai/src/CUDAkernels/compute_propertiesD.cu diff --git a/src/amuse/community/bonsai/src/CUDAkernels/dev_approximate_gravity.cu b/src/amuse_bonsai/src/CUDAkernels/dev_approximate_gravity.cu similarity index 100% rename from src/amuse/community/bonsai/src/CUDAkernels/dev_approximate_gravity.cu rename to src/amuse_bonsai/src/CUDAkernels/dev_approximate_gravity.cu diff --git a/src/amuse/community/bonsai/src/CUDAkernels/dev_approximate_gravity_let.cu b/src/amuse_bonsai/src/CUDAkernels/dev_approximate_gravity_let.cu similarity index 100% rename from src/amuse/community/bonsai/src/CUDAkernels/dev_approximate_gravity_let.cu rename to src/amuse_bonsai/src/CUDAkernels/dev_approximate_gravity_let.cu diff --git a/src/amuse/community/bonsai/src/CUDAkernels/parallel.cu b/src/amuse_bonsai/src/CUDAkernels/parallel.cu similarity index 100% rename from src/amuse/community/bonsai/src/CUDAkernels/parallel.cu rename to src/amuse_bonsai/src/CUDAkernels/parallel.cu diff --git a/src/amuse/community/bonsai/src/CUDAkernels/scanKernels.cu b/src/amuse_bonsai/src/CUDAkernels/scanKernels.cu similarity index 100% rename from src/amuse/community/bonsai/src/CUDAkernels/scanKernels.cu rename to src/amuse_bonsai/src/CUDAkernels/scanKernels.cu diff --git a/src/amuse/community/bonsai/src/CUDAkernels/sortKernels.cu b/src/amuse_bonsai/src/CUDAkernels/sortKernels.cu similarity index 100% rename from src/amuse/community/bonsai/src/CUDAkernels/sortKernels.cu rename to src/amuse_bonsai/src/CUDAkernels/sortKernels.cu diff --git a/src/amuse/community/bonsai/src/CUDAkernels/support_kernels.cu b/src/amuse_bonsai/src/CUDAkernels/support_kernels.cu similarity index 100% rename from src/amuse/community/bonsai/src/CUDAkernels/support_kernels.cu rename to src/amuse_bonsai/src/CUDAkernels/support_kernels.cu diff --git a/src/amuse/community/bonsai/src/CUDAkernels/timestep.cu b/src/amuse_bonsai/src/CUDAkernels/timestep.cu similarity index 100% rename from src/amuse/community/bonsai/src/CUDAkernels/timestep.cu rename to src/amuse_bonsai/src/CUDAkernels/timestep.cu diff --git a/src/amuse/community/bonsai/src/Makefile b/src/amuse_bonsai/src/Makefile similarity index 100% rename from src/amuse/community/bonsai/src/Makefile rename to src/amuse_bonsai/src/Makefile diff --git a/src/amuse/community/bonsai/src/Makefile-full b/src/amuse_bonsai/src/Makefile-full similarity index 100% rename from src/amuse/community/bonsai/src/Makefile-full rename to src/amuse_bonsai/src/Makefile-full diff --git a/src/amuse/community/bonsai/src/include/my_cuda.h b/src/amuse_bonsai/src/include/my_cuda.h similarity index 100% rename from src/amuse/community/bonsai/src/include/my_cuda.h rename to src/amuse_bonsai/src/include/my_cuda.h diff --git a/src/amuse/community/bonsai/src/include/my_ocl.h b/src/amuse_bonsai/src/include/my_ocl.h similarity index 100% rename from src/amuse/community/bonsai/src/include/my_ocl.h rename to src/amuse_bonsai/src/include/my_ocl.h diff --git a/src/amuse/community/bonsai/src/include/node_specs.h b/src/amuse_bonsai/src/include/node_specs.h similarity index 100% rename from src/amuse/community/bonsai/src/include/node_specs.h rename to src/amuse_bonsai/src/include/node_specs.h diff --git a/src/amuse/community/bonsai/src/include/octree.h b/src/amuse_bonsai/src/include/octree.h similarity index 100% rename from src/amuse/community/bonsai/src/include/octree.h rename to src/amuse_bonsai/src/include/octree.h diff --git a/src/amuse/community/bonsai/src/include/peano.h b/src/amuse_bonsai/src/include/peano.h similarity index 100% rename from src/amuse/community/bonsai/src/include/peano.h rename to src/amuse_bonsai/src/include/peano.h diff --git a/src/amuse/community/bonsai/src/include/tipsydefs.h b/src/amuse_bonsai/src/include/tipsydefs.h similarity index 100% rename from src/amuse/community/bonsai/src/include/tipsydefs.h rename to src/amuse_bonsai/src/include/tipsydefs.h diff --git a/src/amuse/community/bonsai/src/src/build.cpp b/src/amuse_bonsai/src/src/build.cpp similarity index 100% rename from src/amuse/community/bonsai/src/src/build.cpp rename to src/amuse_bonsai/src/src/build.cpp diff --git a/src/amuse/community/bonsai/src/src/compute_properties.cpp b/src/amuse_bonsai/src/src/compute_properties.cpp similarity index 100% rename from src/amuse/community/bonsai/src/src/compute_properties.cpp rename to src/amuse_bonsai/src/src/compute_properties.cpp diff --git a/src/amuse/community/bonsai/src/src/gpu_iterate.cpp b/src/amuse_bonsai/src/src/gpu_iterate.cpp similarity index 100% rename from src/amuse/community/bonsai/src/src/gpu_iterate.cpp rename to src/amuse_bonsai/src/src/gpu_iterate.cpp diff --git a/src/amuse/community/bonsai/src/src/libraryInterface.cpp b/src/amuse_bonsai/src/src/libraryInterface.cpp similarity index 100% rename from src/amuse/community/bonsai/src/src/libraryInterface.cpp rename to src/amuse_bonsai/src/src/libraryInterface.cpp diff --git a/src/amuse/community/bonsai/src/src/load_kernels.cpp b/src/amuse_bonsai/src/src/load_kernels.cpp similarity index 100% rename from src/amuse/community/bonsai/src/src/load_kernels.cpp rename to src/amuse_bonsai/src/src/load_kernels.cpp diff --git a/src/amuse/community/bonsai/src/src/main.cpp b/src/amuse_bonsai/src/src/main.cpp similarity index 100% rename from src/amuse/community/bonsai/src/src/main.cpp rename to src/amuse_bonsai/src/src/main.cpp diff --git a/src/amuse/community/bonsai/src/src/octree.cpp b/src/amuse_bonsai/src/src/octree.cpp similarity index 100% rename from src/amuse/community/bonsai/src/src/octree.cpp rename to src/amuse_bonsai/src/src/octree.cpp diff --git a/src/amuse/community/bonsai/src/src/parallel.cpp b/src/amuse_bonsai/src/src/parallel.cpp similarity index 100% rename from src/amuse/community/bonsai/src/src/parallel.cpp rename to src/amuse_bonsai/src/src/parallel.cpp diff --git a/src/amuse/community/bonsai/src/src/sort_bodies.cpp b/src/amuse_bonsai/src/src/sort_bodies.cpp similarity index 100% rename from src/amuse/community/bonsai/src/src/sort_bodies.cpp rename to src/amuse_bonsai/src/src/sort_bodies.cpp diff --git a/src/amuse/community/bonsai/src/src/sort_bodies_gpu.cpp b/src/amuse_bonsai/src/src/sort_bodies_gpu.cpp similarity index 100% rename from src/amuse/community/bonsai/src/src/sort_bodies_gpu.cpp rename to src/amuse_bonsai/src/src/sort_bodies_gpu.cpp diff --git a/src/amuse/community/bonsai/src/src/sort_keys.cpp b/src/amuse_bonsai/src/src/sort_keys.cpp similarity index 100% rename from src/amuse/community/bonsai/src/src/sort_keys.cpp rename to src/amuse_bonsai/src/src/sort_keys.cpp diff --git a/src/amuse/community/bonsai2/Makefile b/src/amuse_bonsai2/Makefile similarity index 100% rename from src/amuse/community/bonsai2/Makefile rename to src/amuse_bonsai2/Makefile diff --git a/src/amuse/community/bonsai2/README.md b/src/amuse_bonsai2/README.md similarity index 100% rename from src/amuse/community/bonsai2/README.md rename to src/amuse_bonsai2/README.md diff --git a/src/amuse_bonsai2/__init__.py b/src/amuse_bonsai2/__init__.py new file mode 100644 index 0000000000..161effa423 --- /dev/null +++ b/src/amuse_bonsai2/__init__.py @@ -0,0 +1,2 @@ +# generated file +from .interface import Bonsai2 diff --git a/src/amuse/community/bonsai2/download.py b/src/amuse_bonsai2/download.py similarity index 100% rename from src/amuse/community/bonsai2/download.py rename to src/amuse_bonsai2/download.py diff --git a/src/amuse_bonsai2/interface.py b/src/amuse_bonsai2/interface.py new file mode 100644 index 0000000000..d048182eb0 --- /dev/null +++ b/src/amuse_bonsai2/interface.py @@ -0,0 +1,297 @@ +import os.path +from amuse.community import * +from amuse.community.interface.gd import GravitationalDynamicsInterface, GravitationalDynamics + +class Bonsai2Interface(CodeInterface, LiteratureReferencesMixIn, GravitationalDynamicsInterface, + StoppingConditionInterface, CodeWithDataDirectories): + """ + .. [#] ADS:2014hpcn.conf...54B (Bedorf J., et al., 2014, SC'14 proceedings, 54-65, https://doi.org/10.1109/SC.2014.10) + .. [#] ADS:2012JCoPh.231.2825B (Bedorf J., Gaburov E., Portegies Zwart S., 2012, JCoPh, 231, 2825) + """ + + include_headers = ['worker_code.h', 'stopcond.h'] + + def name_of_worker(self,mode): + return 'bonsai_worker' + + def __init__(self, mode=None, **options): + CodeInterface.__init__(self, name_of_the_worker = self.name_of_worker(mode), **options) + LiteratureReferencesMixIn.__init__(self) + CodeWithDataDirectories.__init__(self) + self.set_src_directory( + os.path.join(self.amuse_root_directory, 'src', 'amuse_bonsai2', 'src', '') + ) + + @legacy_function + def set_src_directory(): + function = LegacyFunctionSpecification() + function.addParameter('src_directory', dtype='string', direction=function.IN, + description = "The path to the Bonsai2 src directory.") + function.result_type = 'int32' + return function + + @legacy_function + def set_time_step(): + function = LegacyFunctionSpecification() + function.addParameter('time_step', dtype='float64', direction=function.IN, + description = "The current timestep for the system") + function.result_type = 'int32' + return function + + @legacy_function + def set_mass(): + """ + Update the mass of a particle. Mass is a scalar property of a particle. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle for which the state is to be updated. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('mass', dtype='float64', direction=function.IN, description = "The new mass of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found in the model and the information was set + -1 - ERROR + particle could not be found + """ + + return function + + @legacy_function + def set_state(): + """ + Update the current state of a particle. The *minimal* information of a stellar + dynamics particle (mass, position and velocity) is updated. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle for which the state is to be updated. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('mass', dtype='float64', direction=function.IN, description = "The new mass of the particle") + function.addParameter('radius', dtype='float64', direction=function.IN, description = "The new radius of the particle") + function.addParameter('x', dtype='float64', direction=function.IN, description = "The new position vector of the particle") + function.addParameter('y', dtype='float64', direction=function.IN, description = "The new position vector of the particle") + function.addParameter('z', dtype='float64', direction=function.IN, description = "The new position vector of the particle") + function.addParameter('vx', dtype='float64', direction=function.IN, description = "The new velocity vector of the particle") + function.addParameter('vy', dtype='float64', direction=function.IN, description = "The new velocity vector of the particle") + function.addParameter('vz', dtype='float64', direction=function.IN, description = "The new velocity vector of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found in the model and the information was set + -1 - ERROR + particle could not be found + """ + return function + + + @legacy_function + def set_position(): + """ + Update the position of a particle. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle for which the state is to be updated. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('x', dtype='float64', direction=function.IN, description = "The new position vector of the particle") + function.addParameter('y', dtype='float64', direction=function.IN, description = "The new position vector of the particle") + function.addParameter('z', dtype='float64', direction=function.IN, description = "The new position vector of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found in the model and the information was set + -1 - ERROR + particle could not be found + -2 - ERROR + code does not support updating of a particle + """ + return function + + @legacy_function + def set_velocity(): + """ + Set the velocity vector of a particle. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to get the state from. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('vx', dtype='float64', direction=function.IN, description = "The current x component of the velocity vector of the particle") + function.addParameter('vy', dtype='float64', direction=function.IN, description = "The current y component of the velocity vector of the particle") + function.addParameter('vz', dtype='float64', direction=function.IN, description = "The current z component of the velocity vector of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + current value was retrieved + -1 - ERROR + particle could not be found + -2 - ERROR + not yet implemented + """ + return function + + @legacy_function + def get_theta_for_tree(): + """ + Get theta, the opening angle for building the tree: between 0 and 1. + """ + function = LegacyFunctionSpecification() + function.addParameter('theta_for_tree', dtype='float64', direction=function.OUT, + description = "theta, the opening angle for building the tree: between 0 and 1") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_theta_for_tree(): + """ + Set theta, the opening angle for building the tree: between 0 and 1. + """ + function = LegacyFunctionSpecification() + function.addParameter('theta_for_tree', dtype='float64', direction=function.IN, + description = "theta, the opening angle for building the tree: between 0 and 1") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + +# @legacy_function +# def get_eta(): +# """ +# Get eta, the block time-step parameter. +# """ +# function = LegacyFunctionSpecification() +# function.addParameter('eta', dtype='float64', direction=function.OUT, +# description = "Eta, time-step parameter") +# function.result_type = 'int32' +# return function +# +# @legacy_function +# def set_eta(): +# """ +# Set eta, the block time-step parameter. +# """ +# function = LegacyFunctionSpecification() +# function.addParameter('eta', dtype='float64', direction=function.IN, +# description = "Eta, time-step parameter") +# function.result_type = 'int32' +# return function + +class Bonsai2(GravitationalDynamics): + + def __init__(self, unit_converter = None, **options): + self.stopping_conditions = StoppingConditions(self) + + + legacy_interface = Bonsai2Interface(**options) + GravitationalDynamics.__init__( + self, + legacy_interface, + unit_converter, + **options + ) + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_eps2", + "set_eps2", + "epsilon_squared", + "smoothing parameter for gravity calculations", + default_value = 0.05**2 | nbody_system.length**2 + ) + + handler.add_method_parameter( + "get_time_step", + "set_time_step", + "timestep", + "timestep for the system", + default_value = 1.0 / 64 | nbody_system.time + ) + +# handler.add_method_parameter( +# "get_eta", +# "set_eta", +# "timestep_parameter", +# "timestep parameter for the block time-step", +# default_value = 0.1 +# ) + + handler.add_method_parameter( + "get_theta_for_tree", + "set_theta_for_tree", + "opening_angle", + "opening angle, theta, for building the tree: between 0 and 1", + default_value = 0.75 + ) + + handler.add_method_parameter( + "get_begin_time", + "set_begin_time", + "begin_time", + "model time to start the simulation at", + default_value = 0.0 | nbody_system.time + ) + self.stopping_conditions.define_parameters(handler) + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + handler.add_method( + "set_time", + (nbody_system.time,), + (handler.ERROR_CODE,) + ) + handler.add_method( + "set_time_step", + (nbody_system.time,), + (handler.ERROR_CODE,) + ) + handler.add_method( + "get_eps2", + (), + (nbody_system.length**2, handler.ERROR_CODE,) + ) + handler.add_method( + "get_time", + (), + (nbody_system.time, handler.ERROR_CODE,) + ) + handler.add_method( + "set_eps2", + (nbody_system.length**2,), + (handler.ERROR_CODE,) + ) + self.stopping_conditions.define_methods(handler) + + def define_particle_sets(self, handler): + GravitationalDynamics.define_particle_sets(self, handler) + + self.stopping_conditions.define_particle_set(handler) + + def define_errorcodes(self, handler): + handler.add_errorcode(-1, 'Unspecified, other error.') + handler.add_errorcode(-2, 'Called function is not implemented.') + handler.add_errorcode(-3, 'A particle with the given index was not found.') + handler.add_errorcode(-4, 'The tree has become too deep, consider the removal of far away particles to prevent a too large box.') + + + def define_state(self, handler): + GravitationalDynamics.define_state(self, handler) + + self.stopping_conditions.define_state(handler) + diff --git a/src/amuse/community/bonsai2/libraryInterface.cpp b/src/amuse_bonsai2/libraryInterface.cpp similarity index 100% rename from src/amuse/community/bonsai2/libraryInterface.cpp rename to src/amuse_bonsai2/libraryInterface.cpp diff --git a/src/amuse_brutus/Makefile b/src/amuse_brutus/Makefile new file mode 100644 index 0000000000..e2be1bebb6 --- /dev/null +++ b/src/amuse_brutus/Makefile @@ -0,0 +1,74 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library +DEPFLAGS += $(STOPCOND_CFLAGS) $(GMP_FLAGS) $(MPFR_FLAGS) + +CFLAGS += $(DEPFLAGS) + +LDLIBS += $(STOPCOND_LIBS) $(GMP_LIBS) $(MPFR_LIBS) + + +CODELIB = src/libbrutus.a + + +.PHONY: $(CODELIB) +$(CODELIB): + $(MAKE) -C src -j $(CPU_COUNT) all CFLAGS='$(CFLAGS) -I../mpfrc++ -Wall' + + +# Building the workers +brutus_worker.h: interface.py + amusifier --type=h interface.py BrutusInterface -o $@ + +brutus_worker.cc: interface.py + amusifier --type=c interface.py BrutusInterface -o $@ + +interface.o: interface.cc # $(CODELIB) + $(MPICXX) -c -o $@ $(CFLAGS) -Isrc -Impfrc++ $< + +brutus_worker.o: brutus_worker.cc brutus_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + +brutus_worker: brutus_worker.o interface.o $(CODELIB) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + + +# Which packages contain which workers? +amuse-brutus_contains: brutus_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + diff --git a/src/amuse_brutus/__init__.py b/src/amuse_brutus/__init__.py new file mode 100644 index 0000000000..9271de0103 --- /dev/null +++ b/src/amuse_brutus/__init__.py @@ -0,0 +1 @@ +from .interface import Brutus diff --git a/src/amuse_brutus/interface.cc b/src/amuse_brutus/interface.cc new file mode 100644 index 0000000000..5d2efc4774 --- /dev/null +++ b/src/amuse_brutus/interface.cc @@ -0,0 +1,682 @@ +//////////////////////////////////////////////////////// +// Includes +//////////////////////////////////////////////////////// +#include + +#include +#include +#include +#include + +#include "Brutus.h" + +//////////////////////////////////////////////////////// +// Declare global variables +//////////////////////////////////////////////////////// +std::ofstream odata; + +int particle_id_counter = 0; + +int numBits = 64; +int numDigits = numBits/4; + +std::string out_directory; +std::map local_index_map; + +/* + * We need this result_strings array to ensure that + * C++ strings are not reclaimed before the function ends + */ +std::string result_strings[10]; + +Brutus *brutus = NULL; + +mpreal t_begin = "0"; +mpreal eta = "0.24"; +mpreal t = "0"; + +mpreal epsilon = "1e-6"; // Bulirsch-Stoer tolerance + +std::vector data, data_radius; + +//////////////////////////////////////////////////////// +// Amuse interface functions +//////////////////////////////////////////////////////// + +extern "C" { + +int initialize_code() { + odata.open("temp.log"); + + mpreal::set_default_prec(numBits); + + brutus = new Brutus(); + + particle_id_counter = 0; + data.clear(); + data_radius.clear(); + + t_begin = "0"; + t = t_begin; + + return 0; +} + +// functions with "_string" assign strings to mpreals, and without "_string" assign doubles to mpreals + +int new_particle_string(int *particle_identifier, char* mass, + char* x, char* y, char* z, char* vx, char* vy, char* vz, char* radius) { + + data.push_back(mass); + data.push_back(x); + data.push_back(y); + data.push_back(z); + data.push_back(vx); + data.push_back(vy); + data.push_back(vz); + + data_radius.push_back(radius); + + *particle_identifier = particle_id_counter; + particle_id_counter++; + + return 0; +} +int new_particle_float64(int *particle_identifier, double mass, + double x, double y, double z, double vx, double vy, double vz, double radius) { + + data.push_back( (mpreal)mass ); + data.push_back( (mpreal)x ); + data.push_back( (mpreal)y ); + data.push_back( (mpreal)z ); + data.push_back( (mpreal)vx ); + data.push_back( (mpreal)vy ); + data.push_back( (mpreal)vz ); + + data_radius.push_back( (mpreal)radius ); + + *particle_identifier = particle_id_counter; + particle_id_counter++; + + return 0; +} + +int commit_particles() { + brutus->set_data(data); + + int numStar = data.size()/7; + brutus->setup(); + + return 0; +} + +// Begin time +int set_t_begin_string(char* tb) { + t_begin = tb; + return 0; +} +int get_t_begin_string(char **tb) { + result_strings[0] = t_begin.toString(); + *tb = (char*) result_strings[0].c_str(); + return 0; +} +int set_t_begin(double tb) { + t_begin = (mpreal)tb; + return 0; +} +int get_t_begin(double *tb) { + *tb = t_begin.toDouble(); + return 0; +} + +int set_begin_time(double input) { + t_begin = (mpreal)input; + return 0; +} +int get_begin_time(double * output) { + *output = t_begin.toDouble(); + return 0; +} + +// Timestep parameter, eta +int set_eta_string(char* myeta) { + eta = myeta; + brutus->set_eta(eta); + return 0; +} +int get_eta_string(char **myeta) { + result_strings[0] = eta.toString(); + *myeta = (char*) result_strings[0].c_str(); + return 0; +} +int set_eta(double myeta) { + eta = (mpreal)myeta; + brutus->set_eta(eta); + return 0; +} +int get_eta(double *myeta) { + *myeta = eta.toDouble(); + return 0; +} + +int get_time_step(double* dtt){ + *dtt = eta.toDouble(); + return 0; +} + +// Time +int set_t_string(char* tt) { + t = tt; + return 0; +} +int get_t_string(char **tt) { + result_strings[0] = t.toString(); + *tt = (char*) result_strings[0].c_str(); + return 0; +} +int set_t(double tt) { + t = (mpreal)tt; + return 0; +} +int get_t(double *tt) { + *tt = t.toDouble(); + return 0; +} + +int get_time(double* time){ + *time = t.toDouble(); + return 0; +} + +// Bulirsch-Stoer tolerance, epsilon +// internally epsilon is mpreal, for the interface (and in practice) a double bs_tolerance is enough +int set_bs_tolerance_string(char *bs_tolerance) { + epsilon = bs_tolerance; + brutus->set_tolerance(epsilon); + return 0; +} +int get_bs_tolerance_string(char **bs_tolerance) { + result_strings[0] = epsilon.toString(); + *bs_tolerance = (char*) result_strings[0].c_str(); + return 0; +} +int set_bs_tolerance(double bs_tolerance) { + +odata << t << ": changing e from " << epsilon << ", to " << bs_tolerance << std::endl; + + epsilon = (mpreal) bs_tolerance; + brutus->set_tolerance(epsilon); + +odata << epsilon << " " << brutus->get_tolerance() << std::endl; + + return 0; +} +int get_bs_tolerance(double *bs_tolerance) { + *bs_tolerance = epsilon.toDouble(); + return 0; +} +// Word-length, numBits in mantissa +int set_word_length(int mynumBits) { +odata << t << ": changing L from " << numBits << ", to " << mynumBits << std::endl; + + numBits = mynumBits; + mpreal::set_default_prec(numBits); + numDigits = (int)abs(log10( pow("2.0", -numBits) )).toLong(); + brutus->set_numBits(numBits); + +odata << numBits << " " << brutus->get_numBits() << std::endl; + + return 0; +} +int get_word_length(int *mynumBits) { + *mynumBits = numBits; + return 0; +} + +int set_eps2(double eps2) { + return 0; +} +int get_eps2(double *eps2) { + return 0; +} + +int commit_parameters() { + //brutus = new Brutus(t_begin, data, epsilon, numBits); + + //Brutus br(t_begin, data, epsilon, numBits); + //brutus = &br; + //brutus = new Brutus(t_begin, data, epsilon, numBits); + + //brutus->set_t_begin(t_begin); + //brutus->set_tolerance(epsilon); + //brutus->set_numBits(numBits); + return 0; +} +int recommit_parameters() { + return commit_parameters(); +} + +// Get/set particle properties +std::string mass_string; +int get_mass_string(int id, char **mass) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + mass_string = data[id*7+0].toString(); + *mass = (char*) mass_string.c_str(); + return 0; +} +int set_mass_string(int id, char *mass) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + data[id*7+0] = mass; + return 0; +} +int get_mass(int id, double* mass) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + *mass = data[id*7+0].toDouble(); + return 0; +} +int set_mass(int id, double mass) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + data[id*7+0] = (mpreal)mass; + return 0; +} +std::string position_string_x; +std::string position_string_y; +std::string position_string_z; +int get_position_string(int id, char **x, char **y, char **z) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + position_string_x = data[id*7+1].toString(); + position_string_y = data[id*7+2].toString(); + position_string_z = data[id*7+3].toString(); + *x = (char*) position_string_x.c_str(); + *y = (char*) position_string_y.c_str(); + *z = (char*) position_string_z.c_str(); + return 0; +} +int set_position_string(int id, char *x, char *y, char *z) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + data[id*7+1] = x; + data[id*7+2] = y; + data[id*7+3] = z; + return 0; +} +int get_position(int id, double* x, double* y, double* z) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + *x = data[id*7+1].toDouble(); + *y = data[id*7+2].toDouble(); + *z = data[id*7+3].toDouble(); + return 0; +} +int set_position(int id, double x, double y, double z) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + data[id*7+1] = (mpreal)x; + data[id*7+2] = (mpreal)y; + data[id*7+3] = (mpreal)z; + return 0; +} + +std::string velocity_string_vx; +std::string velocity_string_vy; +std::string velocity_string_vz; +int get_velocity_string(int id, char **vx, char **vy, char **vz) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + velocity_string_vx = data[id*7+4].toString(); + velocity_string_vy = data[id*7+5].toString(); + velocity_string_vz = data[id*7+6].toString(); + *vx = (char*) velocity_string_vx.c_str(); + *vy = (char*) velocity_string_vy.c_str(); + *vz = (char*) velocity_string_vz.c_str(); + return 0; +} +int set_velocity_string(int id, char* vx, char* vy, char* vz) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + data[id*7+4] = vx; + data[id*7+5] = vy; + data[id*7+6] = vz; + return 0; +} +int get_velocity(int id, double* vx, double* vy, double* vz) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + *vx = data[id*7+4].toDouble(); + *vy = data[id*7+5].toDouble(); + *vz = data[id*7+6].toDouble(); + return 0; +} +int set_velocity(int id, double vx, double vy, double vz) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + data[id*7+4] = (mpreal)vx; + data[id*7+5] = (mpreal)vy; + data[id*7+6] = (mpreal)vz; + return 0; +} + +std::string get_state_strings_m; +std::string get_state_strings_x; +std::string get_state_strings_y; +std::string get_state_strings_z; +std::string get_state_strings_vx; +std::string get_state_strings_vy; +std::string get_state_strings_vz; +std::string get_state_strings_r; +int get_state_string(int id, char** m, char** x, char** y, char** z, char** vx, char** vy, char** vz, char** radius) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + get_state_strings_m=data[id*7+0].toString(); + get_state_strings_x=data[id*7+1].toString(); + get_state_strings_y=data[id*7+2].toString(); + get_state_strings_z=data[id*7+3].toString(); + get_state_strings_vx=data[id*7+4].toString(); + get_state_strings_vy=data[id*7+5].toString(); + get_state_strings_vz=data[id*7+6].toString(); + get_state_strings_r= data_radius[id].toString(); + *m = (char*) get_state_strings_m.c_str(); + *x = (char*) get_state_strings_x.c_str(); + *y = (char*) get_state_strings_y.c_str(); + *z = (char*) get_state_strings_z.c_str(); + *vx = (char*) get_state_strings_vx.c_str(); + *vy = (char*) get_state_strings_vy.c_str(); + *vz = (char*) get_state_strings_vz.c_str(); + *radius = (char*) get_state_strings_r.c_str(); + return 0; +} +int set_state_string(int id, char* m, char* x, char* y, char* z, char* vx, char* vy, char* vz, char* radius) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + data_radius[id] = radius; + data[id*7+0] = m; + data[id*7+1] = x; + data[id*7+2] = y; + data[id*7+3] = z; + data[id*7+4] = vx; + data[id*7+5] = vy; + data[id*7+6] = vz; + return 0; +} +int get_state(int id, double* m, double* x, double* y, double* z, double* vx, double* vy, double* vz, double* radius) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + *radius = data_radius[id].toDouble(); + *m = data[id*7+0].toDouble(); + *x = data[id*7+1].toDouble(); + *y = data[id*7+2].toDouble(); + *z = data[id*7+3].toDouble(); + *vx = data[id*7+4].toDouble(); + *vy = data[id*7+5].toDouble(); + *vz = data[id*7+6].toDouble(); + return 0; +} +int set_state(int id, double m, double x, double y, double z, double vx, double vy, double vz, double radius) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + data_radius[id] = (mpreal)radius; + data[id*7+0] = (mpreal)m; + data[id*7+1] = (mpreal)x; + data[id*7+2] = (mpreal)y; + data[id*7+3] = (mpreal)z; + data[id*7+4] = (mpreal)vx; + data[id*7+5] = (mpreal)vy; + data[id*7+6] = (mpreal)vz; + return 0; +} + +std::string radius_string; +int get_radius_string(int id, char** radius){ + if (id < 0 || id >= particle_id_counter){ + return -1; + } + radius_string = data_radius[id].toString(); + *radius = (char*) radius_string.c_str(); + return 0; +} +int set_radius_string(int id, char* radius) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + data_radius[id] = radius; + return 0; +} +int get_radius(int id, double* radius){ + if (id < 0 || id >= particle_id_counter){ + return -1; + } + *radius = data_radius[id].toDouble(); + return 0; +} +int set_radius(int id, double radius) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + data_radius[id] = (mpreal)radius; + return 0; +} + +// Evolve +int evolve_model(double t_end) { + brutus->evolve((mpreal)t_end); + t = (mpreal)t_end; + data = brutus->get_data(); + return 0; +} + +int synchronize_model() { + return 0; +} +int cleanup_code() { + odata.close(); + delete brutus; + particle_id_counter = 0; + return 0; +} + +int delete_particle(int id) { + return -2; +} +int recommit_particles() { + return -2; +} + +int set_brutus_output_directory(char *output_directory){ + out_directory = std::string(output_directory); + if(out_directory.length() > 0){ + if(*out_directory.rbegin() != '/'){ + out_directory.append("/"); + } + } + return 0; +} +int get_brutus_output_directory(char **output_directory){ + *output_directory = (char*) out_directory.c_str(); + return 0; +} + +int get_potential(int id, double* pot){return -2;} +int get_gravity_at_point(double m, double x, double y, double z, double* rx, double* ry, double* rz){return -2;} +int get_number_of_particles(int* N){return -2;} +int get_potential_at_point(double m, double x, double y, double z, double* p){return -2;} +int get_total_radius(double* R){return -2;} +int get_index_of_first_particle(int* id){return -2;} +int get_index_of_next_particle(int id, int* idnext){return -2;} + +std::string total_mass_string; +int get_total_mass_string(char **M){ + int N = data.size()/7; + mpreal Mtot = "0"; + for(int i=0; i rcm(3,"0"); + for(int i=0; i vcm(3,"0"); + for(int i=0; i mpmath.mp.prec): + mpmath.mp.prec=len_ + + + def initialize_code(self): + result = self.overridden().initialize_code() + self.parameters.brutus_output_directory = self.output_directory + return result + + def get_potential_energy_p_si(self): + self.adjust_prec() + a=self.convert_nbody.to_si(nbody_system.energy).number + b=mpmath.mpf(self.get_potential_energy_string())*a + return b #* self.convert_nbody.to_si(nbody_system.energy).unit + + def get_total_energy_p_si(self): + self.adjust_prec() + a=self.convert_nbody.to_si(nbody_system.energy).number + b=mpmath.mpf(self.get_total_energy_string())*a + return b #* self.convert_nbody.to_si(nbody_system.energy).unit + + def get_kinetic_energy_p_si(self): + self.adjust_prec() + a=self.convert_nbody.to_si(nbody_system.energy).number + b=mpmath.mpf(self.get_kinetic_energy_string())*a + return b #* self.convert_nbody.to_si(nbody_system.energy).unit + + def get_total_mass_p_si(self): + self.adjust_prec() + a=self.convert_nbody.to_si(nbody_system.mass).number + b=mpmath.mpf(self.get_total_mass_string())*a + return b #* self.convert_nbody.to_si(nbody_system.energy).unit + + def get_mass_p_si(self,index): + self.adjust_prec() + a=self.convert_nbody.to_si(nbody_system.mass).number + b=mpmath.mpf(self.get_mass_string(index))*a + return b #* self.convert_nbody.to_si(nbody_system.energy).unit + + def get_radius_p_si(self,index): + self.adjust_prec() + a=self.convert_nbody.to_si(nbody_system.length).number + b=mpmath.mpf(self.get_radius_string(index))*a + return b #* self.convert_nbody.to_si(nbody_system.energy).unit + + def get_time_p_si(self): + self.adjust_prec() + return mpmath.mpf(self.get_time().number) + + def get_velocity_p_si(self,index): + self.adjust_prec() + a=self.convert_nbody.to_si(nbody_system.speed).number + b=mpmath.matrix(self.get_velocity_string(index))*a + return b #* self.convert_nbody.to_si(nbody_system.energy).unit + + def get_position_p_si(self,index): + self.adjust_prec() + a=self.convert_nbody.to_si(nbody_system.length).number + b=mpmath.matrix(self.get_position_string(index))*a + return b #* self.convert_nbody.to_si(nbody_system.energy).unit + + def new_particle_p_si(self,m,x,y,z,vx,vy,vz,radius): + self.adjust_prec() + um=self.convert_nbody.to_si(nbody_system.mass).number + ul=self.convert_nbody.to_si(nbody_system.length).number + us=self.convert_nbody.to_si(nbody_system.speed).number + return self.new_particle_string(str(m/um) ,str(x/ul) , + str(y/ul) ,str(z/ul) , + str(vx/us) ,str(vy/us) , + str(vz/us) ,str(radius/ul)) + + def set_state_p_si(self,index,m,x,y,z,vx,vy,vz,radius): + self.adjust_prec() + um=self.convert_nbody.to_si(nbody_system.mass).number + ul=self.convert_nbody.to_si(nbody_system.length).number + us=self.convert_nbody.to_si(nbody_system.speed).number + return self.set_state_string(index ,str(m/um) ,str(x/ul) , + str(y/ul) ,str(z/ul) , + str(vx/us) ,str(vy/us) , + str(vz/us) ,str(radius/ul)) + + def set_mass_p_si(self,index,m): + self.adjust_prec() + um=self.convert_nbody.to_si(nbody_system.mass).number + self.set_mass_string(index ,str(m/um)) + + def set_radius_p_si(self,index,radius): + self.adjust_prec() + ul=self.convert_nbody.to_si(nbody_system.length).number + self.set_radius_string(index ,str(radius/ul)) + + + def set_position_p_si(self,index,x,y,z): + self.adjust_prec() + ul=self.convert_nbody.to_si(nbody_system.length).number + self.set_position_string(index ,str(x/ul) ,str(y/ul) ,str(z/ul)) + + def set_velocity_p_si(self,index,vx,vy,vz): + self.adjust_prec() + us=self.convert_nbody.to_si(nbody_system.speed).number + self.set_velocity_string(index ,str(vx/us) ,str(vy/us) ,str(vz/us)) + + + def get_state_p_si(self,index): + self.adjust_prec() + b=mpmath.matrix(self.get_state_string(index)) + a=self.convert_nbody.to_si(nbody_system.mass).number + b[0]=b[0]*a + a=self.convert_nbody.to_si(nbody_system.length).number + b[1]=b[1]*a + b[2]=b[2]*a + b[3]=b[3]*a + a=self.convert_nbody.to_si(nbody_system.speed).number + b[4]=b[4]*a + b[5]=b[5]*a + b[6]=b[6]*a + a=self.convert_nbody.to_si(nbody_system.length).number + b[7]=b[7]*a + return b #* self.convert_nbody.to_si(nbody_system.energy).unit + + def define_parameters(self, handler): + GravitationalDynamics.define_parameters(self, handler) + self.stopping_conditions.define_parameters(handler) + + handler.add_method_parameter( + "get_bs_tolerance", + "set_bs_tolerance", + "bs_tolerance", + "Error tolerance of the Bulirsch-Stoer integrator", + default_value = 1.0e-8 + ) + + handler.add_method_parameter( + "get_word_length", + "set_word_length", + "word_length", + "The word length, or number of bits for the mantissa, used for the arbitrary precision calculations (#digits = log10(2**# bits) ", + default_value = 72 + ) + + handler.add_method_parameter( + "get_eta", + "set_eta", + "dt_param", + "dt_param, the time-step parameter for the adaptive time-step criterion", + default_value = 0.24 + ) + + handler.add_method_parameter( + "get_brutus_output_directory", + "set_brutus_output_directory", + "brutus_output_directory", + "Path to the directory where Brutus stores its output", + default_value = "./" + ) + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + self.stopping_conditions.define_methods(handler) + + handler.add_method("get_bs_tolerance", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_bs_tolerance", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) + + handler.add_method("get_word_length", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_word_length", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) + + handler.add_method("get_eta", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_eta", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) + + handler.add_method("get_brutus_output_directory", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_brutus_output_directory", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) + + def define_particle_sets(self, handler): + GravitationalDynamics.define_particle_sets(self, handler) + self.stopping_conditions.define_particle_set(handler) + + diff --git a/src/amuse/community/brutus/mpfrc++/copying.txt b/src/amuse_brutus/mpfrc++/copying.txt similarity index 100% rename from src/amuse/community/brutus/mpfrc++/copying.txt rename to src/amuse_brutus/mpfrc++/copying.txt diff --git a/src/amuse/community/brutus/mpfrc++/mpreal.h b/src/amuse_brutus/mpfrc++/mpreal.h similarity index 100% rename from src/amuse/community/brutus/mpfrc++/mpreal.h rename to src/amuse_brutus/mpfrc++/mpreal.h diff --git a/src/amuse_brutus/packages/amuse-brutus.amuse_deps b/src/amuse_brutus/packages/amuse-brutus.amuse_deps new file mode 100644 index 0000000000..b4558353a7 --- /dev/null +++ b/src/amuse_brutus/packages/amuse-brutus.amuse_deps @@ -0,0 +1 @@ +c c++ mpi gmp mpfr diff --git a/src/amuse_brutus/packages/amuse-brutus/amuse_brutus b/src/amuse_brutus/packages/amuse-brutus/amuse_brutus new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_brutus/packages/amuse-brutus/amuse_brutus @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_brutus/packages/amuse-brutus/pyproject.toml b/src/amuse_brutus/packages/amuse-brutus/pyproject.toml new file mode 100644 index 0000000000..ffdafbc2b4 --- /dev/null +++ b/src/amuse_brutus/packages/amuse-brutus/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-brutus" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_brutus/**/*.py"] +exclude = [ + "amuse_brutus/packages", + "amuse_brutus/support", + "amuse_brutus/src", + "amuse_brutus/tests" + ] +artifacts = ["amuse_brutus/brutus_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_brutus/tests/"] + +testpaths = ["amuse_brutus/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/brutus/src/Brutus.cpp b/src/amuse_brutus/src/Brutus.cpp similarity index 100% rename from src/amuse/community/brutus/src/Brutus.cpp rename to src/amuse_brutus/src/Brutus.cpp diff --git a/src/amuse/community/brutus/src/Brutus.h b/src/amuse_brutus/src/Brutus.h similarity index 100% rename from src/amuse/community/brutus/src/Brutus.h rename to src/amuse_brutus/src/Brutus.h diff --git a/src/amuse/community/brutus/src/Bulirsch_Stoer.cpp b/src/amuse_brutus/src/Bulirsch_Stoer.cpp old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/brutus/src/Bulirsch_Stoer.cpp rename to src/amuse_brutus/src/Bulirsch_Stoer.cpp diff --git a/src/amuse/community/brutus/src/Bulirsch_Stoer.h b/src/amuse_brutus/src/Bulirsch_Stoer.h old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/brutus/src/Bulirsch_Stoer.h rename to src/amuse_brutus/src/Bulirsch_Stoer.h diff --git a/src/amuse/community/brutus/src/Cluster.cpp b/src/amuse_brutus/src/Cluster.cpp old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/brutus/src/Cluster.cpp rename to src/amuse_brutus/src/Cluster.cpp diff --git a/src/amuse/community/brutus/src/Cluster.h b/src/amuse_brutus/src/Cluster.h old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/brutus/src/Cluster.h rename to src/amuse_brutus/src/Cluster.h diff --git a/src/amuse/community/brutus/src/Star.cpp b/src/amuse_brutus/src/Star.cpp old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/brutus/src/Star.cpp rename to src/amuse_brutus/src/Star.cpp diff --git a/src/amuse/community/brutus/src/Star.h b/src/amuse_brutus/src/Star.h old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/brutus/src/Star.h rename to src/amuse_brutus/src/Star.h diff --git a/src/amuse/community/brutus/src/main.cpp b/src/amuse_brutus/src/main.cpp old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/brutus/src/main.cpp rename to src/amuse_brutus/src/main.cpp diff --git a/src/amuse/community/brutus/src/makefile b/src/amuse_brutus/src/makefile old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/brutus/src/makefile rename to src/amuse_brutus/src/makefile diff --git a/src/amuse_brutus/support/aclocal.m4 b/src/amuse_brutus/support/aclocal.m4 new file mode 100644 index 0000000000..1b1243d9fa --- /dev/null +++ b/src/amuse_brutus/support/aclocal.m4 @@ -0,0 +1,21 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/gmp.m4]) +m4_include([shared/m4/mpfr.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_brutus/support/config.mk.in b/src/amuse_brutus/support/config.mk.in new file mode 100644 index 0000000000..99daf4593b --- /dev/null +++ b/src/amuse_brutus/support/config.mk.in @@ -0,0 +1,32 @@ +# Compilers +CC = @CC@ +CXX = @CXX@ + +MPICC = @MPICC@ +MPICXX = @MPICXX@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ + + +# General flags and libraries +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +STOPCOND_CFLAGS = @STOPCOND_CFLAGS@ +STOPCOND_LIBS = @STOPCOND_LIBS@ + +FOUND_GMP= @FOUND_GMP@ +GMP_FLAGS = @GMP_FLAGS@ +GMP_LIBS = @GMP_LIBS@ + +FOUND_MPFR = @FOUND_MPFR@ +MPFR_FLAGS = @MPFR_FLAGS@ +MPFR_LIBS = @MPFR_LIBS@ diff --git a/src/amuse_brutus/support/configure b/src/amuse_brutus/support/configure new file mode 100755 index 0000000000..43e0789ab7 --- /dev/null +++ b/src/amuse_brutus/support/configure @@ -0,0 +1,7896 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-brutus 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-brutus' +PACKAGE_TARNAME='amuse-brutus' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-brutus 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_STDIO_H +# include +#endif +#ifdef HAVE_STDLIB_H +# include +#endif +#ifdef HAVE_STRING_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_header_c_list= +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +MPFR_FLAGS +FOUND_MPFR +MPFR_LIBS +MPFR_CFLAGS +GMP_FLAGS +FOUND_GMP +GMP_LIBS +GMP_CFLAGS +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +FOUND_STOPCOND +STOPCOND_LIBS +STOPCOND_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +RANLIB +AR +target_os +target_vendor +target_cpu +target +ac_ct_CXX +CXXFLAGS +CXX +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +with_gmp +with_mpfr +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCOND_CFLAGS +STOPCOND_LIBS +MPICC +GMP_CFLAGS +GMP_LIBS +MPFR_CFLAGS +MPFR_LIBS +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-brutus 1.0 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/amuse-brutus] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-brutus 1.0:";; + esac + cat <<\_ACEOF + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gmp=PFX Prefix where GMP has been installed + --with-mpfr=PFX Prefix where MPFR has been installed + +Some influential environment variables: + 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 + CXX C++ compiler command + CXXFLAGS C++ compiler flags + 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 + STOPCOND_CFLAGS + C compiler flags for STOPCOND, overriding pkg-config + STOPCOND_LIBS + linker flags for STOPCOND, overriding pkg-config + MPICC MPI C compiler command + GMP_CFLAGS C compiler flags for GMP, overriding pkg-config + GMP_LIBS linker flags for GMP, overriding pkg-config + MPFR_CFLAGS C compiler flags for MPFR, overriding pkg-config + MPFR_LIBS linker flags for MPFR, overriding pkg-config + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-brutus configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func + +# ac_fn_cxx_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_cxx_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_header_compile +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-brutus $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + +as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" +as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" +as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" +as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" +as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" +as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" +as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" +as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" +as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Set the worker language + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find AMUSE libraries + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCOND_CFLAGS" + amuse_save_LIB_LIBS="$STOPCOND_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing is_condition_enabled" >&5 +printf %s "checking for library containing is_condition_enabled... " >&6; } +if test ${ac_cv_search_is_condition_enabled+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char is_condition_enabled (); +int +main (void) +{ +return is_condition_enabled (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcond +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_is_condition_enabled=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_is_condition_enabled+y} +then : + break +fi +done +if test ${ac_cv_search_is_condition_enabled+y} +then : + +else $as_nop + ac_cv_search_is_condition_enabled=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_is_condition_enabled" >&5 +printf "%s\n" "$ac_cv_search_is_condition_enabled" >&6; } +ac_res=$ac_cv_search_is_condition_enabled +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCOND="yes" + STOPCOND_LIBS="$LIBS" + STOPCOND_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCOND" >&5 +printf %s "checking for STOPCOND... " >&6; } + +if test -n "$STOPCOND_CFLAGS"; then + pkg_cv_STOPCOND_CFLAGS="$STOPCOND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_CFLAGS=`$PKG_CONFIG --cflags "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCOND_LIBS"; then + pkg_cv_STOPCOND_LIBS="$STOPCOND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_LIBS=`$PKG_CONFIG --libs "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcond" 2>&1` + else + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcond" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCOND_PKG_ERRORS" >&5 + + + FOUND_STOPCOND="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCOND="no" + +else + STOPCOND_CFLAGS=$pkg_cv_STOPCOND_CFLAGS + STOPCOND_LIBS=$pkg_cv_STOPCOND_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCOND="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCOND}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCOND_CFLAGS="${STOPCOND_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCOND_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCOND_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +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 + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + +ac_header= ac_cache= +for ac_item in $ac_header_c_list +do + if test $ac_cache; then + ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" + if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then + printf "%s\n" "#define $ac_item 1" >> confdefs.h + fi + ac_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item + fi +done + + + + + + + + +if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes +then : + +printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h + +fi + + +# Check whether --with-gmp was given. +if test ${with_gmp+y} +then : + withval=$with_gmp; + test "$withval" = no && { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: gmp is a required package for some modules" >&5 +printf "%s\n" "$as_me: WARNING: gmp is a required package for some modules" >&2;} + test "$withval" = yes || gmp_prefix="$withval" + with_gmp=yes +else $as_nop + with_gmp=yes + +fi + + + if test "x$with_gmp" != xno +then : + + #user override + if test "x$GMP_LIBS" != x +then : + + have_gmp=yes + FOUND_GMP="yes" + +else $as_nop + + + + + saved_LIBS="$LIBS" + saved_CXXFLAGS="$CXXFLAGS" + GMP_LIBS="" + GMP_FLAGS="" + FOUND_GMP="no" + if test x$gmp_prefix == x; then + if test x$PREFIX != x; then + gmp_prefix=$PREFIX + fi + fi + if test x$gmp_prefix != x; then + ac_gmp_CFLAGS="-I$gmp_prefix/include" + ac_gmp_LDOPTS="-L$gmp_prefix/lib" + + + save_CFLAGS="$CFLAGS" + save_CPPFLAGS="$CPPFLAGS" + CFLAGS="$ac_gmp_CFLAGS $save_CFLAGS" + CPPFLAGS="$ac_gmp_CFLAGS $save_CPPFLAGS" + ac_fn_c_check_header_compile "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" +if test "x$ac_cv_header_gmp_h" = xyes +then : + GMP_FLAGS="$ac_gmp_CFLAGS" + FOUND_GMP="yes" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (gmp.h) of the library GMP in $gmp_prefix/include." >&5 +printf "%s\n" "$as_me: WARNING: Cannot find headers (gmp.h) of the library GMP in $gmp_prefix/include." >&2;} + +fi + + CFLAGS="$save_CFLAGS" + CPPFLAGS="$save_CPPFLAGS" + + if test x$FOUND_GMP == xyes; then + save_LIBS="$LIBS" + LIBS="$ac_gmp_LDOPTS -lgmp $save_LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __gmpz_init in -lgmp" >&5 +printf %s "checking for __gmpz_init in -lgmp... " >&6; } +if test ${ac_cv_lib_gmp___gmpz_init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgmp $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. */ +char __gmpz_init (); +int +main (void) +{ +return __gmpz_init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_gmp___gmpz_init=yes +else $as_nop + ac_cv_lib_gmp___gmpz_init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp___gmpz_init" >&5 +printf "%s\n" "$ac_cv_lib_gmp___gmpz_init" >&6; } +if test "x$ac_cv_lib_gmp___gmpz_init" = xyes +then : + GMP_LIBS="$ac_gmp_LDOPTS -lgmp" +else $as_nop + FOUND_GMP="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libgmp : library missing. (Cannot find symbol gmpz_init) in $gmp_prefix. Check if libgmp is installed and if the version is correct" >&5 +printf "%s\n" "$as_me: WARNING: libgmp : library missing. (Cannot find symbol gmpz_init) in $gmp_prefix. Check if libgmp is installed and if the version is correct" >&2;} + +fi + + LIBS="$save_LIBS" + fi + fi + if test x$FOUND_GMP != xyes; then + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GMP" >&5 +printf %s "checking for GMP... " >&6; } + +if test -n "$GMP_CFLAGS"; then + pkg_cv_GMP_CFLAGS="$GMP_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmp >= 3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gmp >= 3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GMP_CFLAGS=`$PKG_CONFIG --cflags "gmp >= 3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$GMP_LIBS"; then + pkg_cv_GMP_LIBS="$GMP_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmp >= 3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gmp >= 3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GMP_LIBS=`$PKG_CONFIG --libs "gmp >= 3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + GMP_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gmp >= 3" 2>&1` + else + GMP_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gmp >= 3" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$GMP_PKG_ERRORS" >&5 + + + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + +else + GMP_CFLAGS=$pkg_cv_GMP_CFLAGS + GMP_LIBS=$pkg_cv_GMP_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + GMP_FLAGS="$GMP_FLAGS" + GMP_LIBS="$GMP_LIBS" + FOUND_GMP=yes + +fi + + fi + + if test x$FOUND_GMP != xyes; then + ac_fn_c_check_header_compile "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" +if test "x$ac_cv_header_gmp_h" = xyes +then : + GMP_FLAGS="" + FOUND_GMP="yes" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (gmp.h) of the library GMP." >&5 +printf "%s\n" "$as_me: WARNING: Cannot find headers (gmp.h) of the library GMP." >&2;} + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __gmpz_init in -lgmp" >&5 +printf %s "checking for __gmpz_init in -lgmp... " >&6; } +if test ${ac_cv_lib_gmp___gmpz_init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgmp $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. */ +char __gmpz_init (); +int +main (void) +{ +return __gmpz_init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_gmp___gmpz_init=yes +else $as_nop + ac_cv_lib_gmp___gmpz_init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp___gmpz_init" >&5 +printf "%s\n" "$ac_cv_lib_gmp___gmpz_init" >&6; } +if test "x$ac_cv_lib_gmp___gmpz_init" = xyes +then : + GMP_LIBS="-lgmp" +else $as_nop + + FOUND_GMP="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libgmp : library missing. (Cannot find symbol gmpz_init). Check if libgmp is installed and if the version is correct" >&5 +printf "%s\n" "$as_me: WARNING: libgmp : library missing. (Cannot find symbol gmpz_init). Check if libgmp is installed and if the version is correct" >&2;} + +fi + + fi + + + +fi + +fi + + + + + + + + +# Check whether --with-mpfr was given. +if test ${with_mpfr+y} +then : + withval=$with_mpfr; + test "$withval" = no && { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: mpfr is a required package for some modules" >&5 +printf "%s\n" "$as_me: WARNING: mpfr is a required package for some modules" >&2;} + test "$withval" = yes || mpfr_prefix="$withval" + with_mpfr=yes +else $as_nop + with_mpfr=yes + +fi + + + if test "x$with_mpfr" != xno +then : + + #user override + if test "x$MPFR_LIBS" != x +then : + + have_mpfr=yes + FOUND_MPFR="yes" + +else $as_nop + + + + + saved_LIBS="$LIBS" + saved_CXXFLAGS="$CXXFLAGS" + MPFR_LIBS="" + MPFR_FLAGS="" + FOUND_MPFR="no" + if test x$mpfr_prefix == x; then + if test x$PREFIX != x; then + mpfr_prefix=$PREFIX + fi + fi + if test x$mpfr_prefix != x; then + ac_mpfr_CFLAGS="-I$mpfr_prefix/include" + ac_mpfr_LDOPTS="-L$mpfr_prefix/lib" + + + save_CFLAGS="$CFLAGS" + save_CPPFLAGS="$CPPFLAGS" + CFLAGS="$ac_mpfr_CFLAGS $save_CFLAGS" + CPPFLAGS="$ac_mpfr_CFLAGS $save_CPPFLAGS" + + cache_var=ac_cv_header_mpfr_h + ac_fn_c_check_header_compile "$LINENO" "mpfr.h" "ac_cv_header_mpfr_h" "$ac_includes_default" +if test "x$ac_cv_header_mpfr_h" = xyes +then : + MPFR_FLAGS="$ac_mpfr_CFLAGS" + FOUND_MPFR="yes" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (mpfr.h) of the library MPFR in $mpfr_prefix/include." >&5 +printf "%s\n" "$as_me: WARNING: Cannot find headers (mpfr.h) of the library MPFR in $mpfr_prefix/include." >&2;} + +fi + + $as_unset $cache_var + CFLAGS="$save_CFLAGS" + CPPFLAGS="$save_CPPFLAGS" + + if test x$FOUND_MPFR == xyes; then + save_LIBS="$LIBS" + LIBS="$ac_mpfr_LDOPTS -lmpfr $save_LIBS" + + cache_var=ac_cv_lib_mpfr_mpfr_init + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpfr_init in -lmpfr" >&5 +printf %s "checking for mpfr_init in -lmpfr... " >&6; } +if test ${ac_cv_lib_mpfr_mpfr_init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpfr $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. */ +char mpfr_init (); +int +main (void) +{ +return mpfr_init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpfr_mpfr_init=yes +else $as_nop + ac_cv_lib_mpfr_mpfr_init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_mpfr_init" >&5 +printf "%s\n" "$ac_cv_lib_mpfr_mpfr_init" >&6; } +if test "x$ac_cv_lib_mpfr_mpfr_init" = xyes +then : + MPFR_LIBS="$ac_mpfr_LDOPTS -lmpfr" +else $as_nop + FOUND_MPFR="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libmpfr : library missing. (Cannot find symbol mpfr_init) in $mpfr_prefix. Check if libmpfr is installed and if the version is correct" >&5 +printf "%s\n" "$as_me: WARNING: libmpfr : library missing. (Cannot find symbol mpfr_init) in $mpfr_prefix. Check if libmpfr is installed and if the version is correct" >&2;} + +fi + + LIBS="$save_LIBS" + $as_unset $cache_var + fi + fi + if test x$FOUND_MPFR != xyes; then + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPFR" >&5 +printf %s "checking for MPFR... " >&6; } + +if test -n "$MPFR_CFLAGS"; then + pkg_cv_MPFR_CFLAGS="$MPFR_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mpfr >= 3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "mpfr >= 3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_MPFR_CFLAGS=`$PKG_CONFIG --cflags "mpfr >= 3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$MPFR_LIBS"; then + pkg_cv_MPFR_LIBS="$MPFR_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mpfr >= 3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "mpfr >= 3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_MPFR_LIBS=`$PKG_CONFIG --libs "mpfr >= 3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + MPFR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "mpfr >= 3" 2>&1` + else + MPFR_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "mpfr >= 3" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$MPFR_PKG_ERRORS" >&5 + + + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + +else + MPFR_CFLAGS=$pkg_cv_MPFR_CFLAGS + MPFR_LIBS=$pkg_cv_MPFR_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + MPFR_FLAGS="$MPFR_FLAGS" + MPFR_LIBS="$MPFR_LIBS" + FOUND_MPFR=yes + +fi + + fi + + if test x$FOUND_MPFR != xyes; then + ac_fn_c_check_header_compile "$LINENO" "mpfr.h" "ac_cv_header_mpfr_h" "$ac_includes_default" +if test "x$ac_cv_header_mpfr_h" = xyes +then : + MPFR_FLAGS="" + FOUND_MPFR="yes" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (mpfr.h) of the library MPFR." >&5 +printf "%s\n" "$as_me: WARNING: Cannot find headers (mpfr.h) of the library MPFR." >&2;} + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpfr_init in -lmpfr" >&5 +printf %s "checking for mpfr_init in -lmpfr... " >&6; } +if test ${ac_cv_lib_mpfr_mpfr_init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpfr $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. */ +char mpfr_init (); +int +main (void) +{ +return mpfr_init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpfr_mpfr_init=yes +else $as_nop + ac_cv_lib_mpfr_mpfr_init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_mpfr_init" >&5 +printf "%s\n" "$ac_cv_lib_mpfr_mpfr_init" >&6; } +if test "x$ac_cv_lib_mpfr_mpfr_init" = xyes +then : + MPFR_LIBS="-lmpfr" +else $as_nop + + FOUND_MPFR="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libmpfr : library missing. (Cannot find symbol mpfr_init). Check if libmpfr is installed and if the version is correct" >&5 +printf "%s\n" "$as_me: WARNING: libmpfr : library missing. (Cannot find symbol mpfr_init). Check if libmpfr is installed and if the version is correct" >&2;} + +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 + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + + + +# Check whether --with-gmp was given. +if test ${with_gmp+y} +then : + withval=$with_gmp; + test "$withval" = no && { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: gmp is a required package for some modules" >&5 +printf "%s\n" "$as_me: WARNING: gmp is a required package for some modules" >&2;} + test "$withval" = yes || gmp_prefix="$withval" + with_gmp=yes +else $as_nop + with_gmp=yes + +fi + + + if test "x$with_gmp" != xno +then : + + #user override + if test "x$GMP_LIBS" != x +then : + + have_gmp=yes + FOUND_GMP="yes" + +else $as_nop + + + + + saved_LIBS="$LIBS" + saved_CXXFLAGS="$CXXFLAGS" + GMP_LIBS="" + GMP_FLAGS="" + FOUND_GMP="no" + if test x$gmp_prefix == x; then + if test x$PREFIX != x; then + gmp_prefix=$PREFIX + fi + fi + if test x$gmp_prefix != x; then + ac_gmp_CFLAGS="-I$gmp_prefix/include" + ac_gmp_LDOPTS="-L$gmp_prefix/lib" + + + save_CFLAGS="$CFLAGS" + save_CPPFLAGS="$CPPFLAGS" + CFLAGS="$ac_gmp_CFLAGS $save_CFLAGS" + CPPFLAGS="$ac_gmp_CFLAGS $save_CPPFLAGS" + ac_fn_cxx_check_header_compile "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" +if test "x$ac_cv_header_gmp_h" = xyes +then : + GMP_FLAGS="$ac_gmp_CFLAGS" + FOUND_GMP="yes" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (gmp.h) of the library GMP in $gmp_prefix/include." >&5 +printf "%s\n" "$as_me: WARNING: Cannot find headers (gmp.h) of the library GMP in $gmp_prefix/include." >&2;} + +fi + + CFLAGS="$save_CFLAGS" + CPPFLAGS="$save_CPPFLAGS" + + if test x$FOUND_GMP == xyes; then + save_LIBS="$LIBS" + LIBS="$ac_gmp_LDOPTS -lgmp $save_LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __gmpz_init in -lgmp" >&5 +printf %s "checking for __gmpz_init in -lgmp... " >&6; } +if test ${ac_cv_lib_gmp___gmpz_init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgmp $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int __gmpz_init (); +} +int +main (void) +{ +return conftest::__gmpz_init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_gmp___gmpz_init=yes +else $as_nop + ac_cv_lib_gmp___gmpz_init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp___gmpz_init" >&5 +printf "%s\n" "$ac_cv_lib_gmp___gmpz_init" >&6; } +if test "x$ac_cv_lib_gmp___gmpz_init" = xyes +then : + GMP_LIBS="$ac_gmp_LDOPTS -lgmp" +else $as_nop + FOUND_GMP="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libgmp : library missing. (Cannot find symbol gmpz_init) in $gmp_prefix. Check if libgmp is installed and if the version is correct" >&5 +printf "%s\n" "$as_me: WARNING: libgmp : library missing. (Cannot find symbol gmpz_init) in $gmp_prefix. Check if libgmp is installed and if the version is correct" >&2;} + +fi + + LIBS="$save_LIBS" + fi + fi + if test x$FOUND_GMP != xyes; then + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GMP" >&5 +printf %s "checking for GMP... " >&6; } + +if test -n "$GMP_CFLAGS"; then + pkg_cv_GMP_CFLAGS="$GMP_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmp >= 3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gmp >= 3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GMP_CFLAGS=`$PKG_CONFIG --cflags "gmp >= 3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$GMP_LIBS"; then + pkg_cv_GMP_LIBS="$GMP_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmp >= 3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gmp >= 3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GMP_LIBS=`$PKG_CONFIG --libs "gmp >= 3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + GMP_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gmp >= 3" 2>&1` + else + GMP_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gmp >= 3" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$GMP_PKG_ERRORS" >&5 + + + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + +else + GMP_CFLAGS=$pkg_cv_GMP_CFLAGS + GMP_LIBS=$pkg_cv_GMP_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + GMP_FLAGS="$GMP_FLAGS" + GMP_LIBS="$GMP_LIBS" + FOUND_GMP=yes + +fi + + fi + + if test x$FOUND_GMP != xyes; then + ac_fn_cxx_check_header_compile "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" +if test "x$ac_cv_header_gmp_h" = xyes +then : + GMP_FLAGS="" + FOUND_GMP="yes" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (gmp.h) of the library GMP." >&5 +printf "%s\n" "$as_me: WARNING: Cannot find headers (gmp.h) of the library GMP." >&2;} + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __gmpz_init in -lgmp" >&5 +printf %s "checking for __gmpz_init in -lgmp... " >&6; } +if test ${ac_cv_lib_gmp___gmpz_init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgmp $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int __gmpz_init (); +} +int +main (void) +{ +return conftest::__gmpz_init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_gmp___gmpz_init=yes +else $as_nop + ac_cv_lib_gmp___gmpz_init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp___gmpz_init" >&5 +printf "%s\n" "$ac_cv_lib_gmp___gmpz_init" >&6; } +if test "x$ac_cv_lib_gmp___gmpz_init" = xyes +then : + GMP_LIBS="-lgmp" +else $as_nop + + FOUND_GMP="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libgmp : library missing. (Cannot find symbol gmpz_init). Check if libgmp is installed and if the version is correct" >&5 +printf "%s\n" "$as_me: WARNING: libgmp : library missing. (Cannot find symbol gmpz_init). Check if libgmp is installed and if the version is correct" >&2;} + +fi + + fi + + + +fi + +fi + + + + + + + + +# Check whether --with-mpfr was given. +if test ${with_mpfr+y} +then : + withval=$with_mpfr; + test "$withval" = no && { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: mpfr is a required package for some modules" >&5 +printf "%s\n" "$as_me: WARNING: mpfr is a required package for some modules" >&2;} + test "$withval" = yes || mpfr_prefix="$withval" + with_mpfr=yes +else $as_nop + with_mpfr=yes + +fi + + + if test "x$with_mpfr" != xno +then : + + #user override + if test "x$MPFR_LIBS" != x +then : + + have_mpfr=yes + FOUND_MPFR="yes" + +else $as_nop + + + + + saved_LIBS="$LIBS" + saved_CXXFLAGS="$CXXFLAGS" + MPFR_LIBS="" + MPFR_FLAGS="" + FOUND_MPFR="no" + if test x$mpfr_prefix == x; then + if test x$PREFIX != x; then + mpfr_prefix=$PREFIX + fi + fi + if test x$mpfr_prefix != x; then + ac_mpfr_CFLAGS="-I$mpfr_prefix/include" + ac_mpfr_LDOPTS="-L$mpfr_prefix/lib" + + + save_CFLAGS="$CFLAGS" + save_CPPFLAGS="$CPPFLAGS" + CFLAGS="$ac_mpfr_CFLAGS $save_CFLAGS" + CPPFLAGS="$ac_mpfr_CFLAGS $save_CPPFLAGS" + + cache_var=ac_cv_header_mpfr_h + ac_fn_cxx_check_header_compile "$LINENO" "mpfr.h" "ac_cv_header_mpfr_h" "$ac_includes_default" +if test "x$ac_cv_header_mpfr_h" = xyes +then : + MPFR_FLAGS="$ac_mpfr_CFLAGS" + FOUND_MPFR="yes" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (mpfr.h) of the library MPFR in $mpfr_prefix/include." >&5 +printf "%s\n" "$as_me: WARNING: Cannot find headers (mpfr.h) of the library MPFR in $mpfr_prefix/include." >&2;} + +fi + + $as_unset $cache_var + CFLAGS="$save_CFLAGS" + CPPFLAGS="$save_CPPFLAGS" + + if test x$FOUND_MPFR == xyes; then + save_LIBS="$LIBS" + LIBS="$ac_mpfr_LDOPTS -lmpfr $save_LIBS" + + cache_var=ac_cv_lib_mpfr_mpfr_init + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpfr_init in -lmpfr" >&5 +printf %s "checking for mpfr_init in -lmpfr... " >&6; } +if test ${ac_cv_lib_mpfr_mpfr_init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpfr $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int mpfr_init (); +} +int +main (void) +{ +return conftest::mpfr_init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpfr_mpfr_init=yes +else $as_nop + ac_cv_lib_mpfr_mpfr_init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_mpfr_init" >&5 +printf "%s\n" "$ac_cv_lib_mpfr_mpfr_init" >&6; } +if test "x$ac_cv_lib_mpfr_mpfr_init" = xyes +then : + MPFR_LIBS="$ac_mpfr_LDOPTS -lmpfr" +else $as_nop + FOUND_MPFR="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libmpfr : library missing. (Cannot find symbol mpfr_init) in $mpfr_prefix. Check if libmpfr is installed and if the version is correct" >&5 +printf "%s\n" "$as_me: WARNING: libmpfr : library missing. (Cannot find symbol mpfr_init) in $mpfr_prefix. Check if libmpfr is installed and if the version is correct" >&2;} + +fi + + LIBS="$save_LIBS" + $as_unset $cache_var + fi + fi + if test x$FOUND_MPFR != xyes; then + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPFR" >&5 +printf %s "checking for MPFR... " >&6; } + +if test -n "$MPFR_CFLAGS"; then + pkg_cv_MPFR_CFLAGS="$MPFR_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mpfr >= 3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "mpfr >= 3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_MPFR_CFLAGS=`$PKG_CONFIG --cflags "mpfr >= 3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$MPFR_LIBS"; then + pkg_cv_MPFR_LIBS="$MPFR_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mpfr >= 3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "mpfr >= 3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_MPFR_LIBS=`$PKG_CONFIG --libs "mpfr >= 3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + MPFR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "mpfr >= 3" 2>&1` + else + MPFR_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "mpfr >= 3" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$MPFR_PKG_ERRORS" >&5 + + + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + +else + MPFR_CFLAGS=$pkg_cv_MPFR_CFLAGS + MPFR_LIBS=$pkg_cv_MPFR_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + MPFR_FLAGS="$MPFR_FLAGS" + MPFR_LIBS="$MPFR_LIBS" + FOUND_MPFR=yes + +fi + + fi + + if test x$FOUND_MPFR != xyes; then + ac_fn_cxx_check_header_compile "$LINENO" "mpfr.h" "ac_cv_header_mpfr_h" "$ac_includes_default" +if test "x$ac_cv_header_mpfr_h" = xyes +then : + MPFR_FLAGS="" + FOUND_MPFR="yes" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (mpfr.h) of the library MPFR." >&5 +printf "%s\n" "$as_me: WARNING: Cannot find headers (mpfr.h) of the library MPFR." >&2;} + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpfr_init in -lmpfr" >&5 +printf %s "checking for mpfr_init in -lmpfr... " >&6; } +if test ${ac_cv_lib_mpfr_mpfr_init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpfr $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int mpfr_init (); +} +int +main (void) +{ +return conftest::mpfr_init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpfr_mpfr_init=yes +else $as_nop + ac_cv_lib_mpfr_mpfr_init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_mpfr_init" >&5 +printf "%s\n" "$ac_cv_lib_mpfr_mpfr_init" >&6; } +if test "x$ac_cv_lib_mpfr_mpfr_init" = xyes +then : + MPFR_LIBS="-lmpfr" +else $as_nop + + FOUND_MPFR="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libmpfr : library missing. (Cannot find symbol mpfr_init). Check if libmpfr is installed and if the version is correct" >&5 +printf "%s\n" "$as_me: WARNING: libmpfr : library missing. (Cannot find symbol mpfr_init). Check if libmpfr is installed and if the version is correct" >&2;} + +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 + + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-brutus $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-brutus config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_brutus/support/configure.ac b/src/amuse_brutus/support/configure.ac new file mode 100644 index 0000000000..f53bbbcc65 --- /dev/null +++ b/src/amuse_brutus/support/configure.ac @@ -0,0 +1,47 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-brutus], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Set the worker language +AC_PROG_CC() +AC_PROG_CXX() + + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find AMUSE libraries +AMUSE_LIB_STOPCOND() + + +# Find external dependencies +AC_LANG_PUSH([C]) +AX_MPI() +AX_GMP() +AX_MPFR() +AC_LANG_POP([C]) + +AC_LANG_PUSH([C++]) +AX_MPI() +AX_GMP() +AX_MPFR() +AC_LANG_POP([C++]) + + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_brutus/support/shared b/src/amuse_brutus/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_brutus/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_brutus.py b/src/amuse_brutus/tests/test_brutus.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_brutus.py rename to src/amuse_brutus/tests/test_brutus.py index 17440d59b3..382b365830 100644 --- a/src/amuse/test/suite/codes_tests/test_brutus.py +++ b/src/amuse_brutus/tests/test_brutus.py @@ -3,11 +3,11 @@ import math from amuse.community import * -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI from amuse.units import units, nbody_system, constants from amuse.datamodel import Particles -from amuse.community.brutus.interface import BrutusInterface, Brutus +from amuse_brutus.interface import BrutusInterface, Brutus import random diff --git a/src/amuse_bse/Makefile b/src/amuse_bse/Makefile new file mode 100644 index 0000000000..4963656fe7 --- /dev/null +++ b/src/amuse_bse/Makefile @@ -0,0 +1,61 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + +# Building the code into a static library +FCFLAGS += $(FORSOCKETS_CFLAGS) +LDLIBS += $(FORSOCKETS_LIBS) $(LIBS) + +BSEOBJ = src/comenv.o src/corerd.o src/deltat.o src/dgcore.o \ + src/evolv2.o src/gntage.o src/hrdiag.o src/instar.o \ + src/kick.o src/mix.o src/mlwind.o src/mrenv.o \ + src/ran3.o src/rl.o src/star.o src/zcnsts.o src/zfuncs.o + +# Building the workers +bse_worker.f90: interface.py + amusifier --type=f90 interface.py BSEInterface -o $@ + +bse_worker.o: bse_worker.f90 + $(MPIFC) -c $(FCFLAGS) $< + +%.o: %.f + $(FC) -c -o $@ $(FCFLAGS) $< + +bse_worker: interface.o bse_worker.o $(BSEOBJ) + $(MPIFC) -o bse_worker $(LDFLAGS) $^ $(LDLIBS) + + +# Which packages contain which workers? +amuse-bse_contains: bse_worker + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + rm -rf *.o src/*.o *worker* *.mod + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + diff --git a/src/amuse/community/bse/README b/src/amuse_bse/README similarity index 100% rename from src/amuse/community/bse/README rename to src/amuse_bse/README diff --git a/src/amuse_bse/__init__.py b/src/amuse_bse/__init__.py new file mode 100644 index 0000000000..7a3b06911d --- /dev/null +++ b/src/amuse_bse/__init__.py @@ -0,0 +1 @@ +from .interface import Bse diff --git a/src/amuse/community/bse/interface.f b/src/amuse_bse/interface.f similarity index 100% rename from src/amuse/community/bse/interface.f rename to src/amuse_bse/interface.f diff --git a/src/amuse_bse/interface.py b/src/amuse_bse/interface.py new file mode 100644 index 0000000000..4edad8aa17 --- /dev/null +++ b/src/amuse_bse/interface.py @@ -0,0 +1,644 @@ +from amuse.community import * +from amuse.units import units +from amuse.units import constants +from amuse.units.quantities import Quantity +from amuse.community.interface import common + +from amuse.datamodel import Particles +from amuse.datamodel import ParticlesSubset + +import numpy + +class BSEInterface(CodeInterface, common.CommonCodeInterface , LiteratureReferencesMixIn): + """ + Binary evolution is performed by the **rapid** binary-star evolution (BSE) + algorithm. Circularization of eccentric orbits and synchronization of stellar + rotation with the orbital motion owing to tidal interaction is modelled in detail. + Angular momentum loss mechanisms, such as gravitational radiation and magnetic + braking, are also modelled. Wind accretion, where the secondary may accrete some + of the material lost from the primary in a wind, is allowed with the necessary + adjustments made to the orbital parameters in the event of any mass variations. + Mass transfer also occurs if either star fills its Roche lobe and may proceed on a + nuclear, thermal or dynamical time-scale. In the latter regime, the radius of the + primary increases in response to mass-loss at a faster rate than the Roche-lobe of + the star. Stars with deep surface convection zones and degenerate stars are + unstable to such dynamical time-scale mass loss unless the mass ratio of the system + is less than some critical value. The outcome is a common-envelope event if the + primary is a giant star. This results in merging or formation of a close binary, or + a direct merging if the primary is a white dwarf or low-mass main-sequence star. On + the other hand, mass transfer on a nuclear or thermal time-scale is assumed to be a + steady process. Prescriptions to determine the type and rate of mass transfer, the + response of the secondary to accretion and the outcome of any merger events are in + place in BSE and the details can be found in the BSE paper: + + .. [#] ADS:2002MNRAS.329..897H (Hurley J.R., Tout C.A., & Pols O.R., 2002, MNRAS, 329, 897) + .. [#] ADS:2000MNRAS.315..543H (Hurley J.R., Pols O.R., Tout C.A., 2000, MNRAS, 315, 543) + """ + def __init__(self, **options): + CodeInterface.__init__(self, name_of_the_worker="bse_worker", **options) + LiteratureReferencesMixIn.__init__(self) + + @legacy_function + def initialize(): + function = LegacyFunctionSpecification() + function.addParameter('z_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('neta_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('bwind_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('hewind_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('alpha1_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('CElambda_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('ceflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('tflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('ifflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('wdflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('bhflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('nsflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('mxns_in', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('idum_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('pts1_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('pts2_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('pts3_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('sigma_in', dtype='d', direction=function.IN, unit = units.km / units.s) + function.addParameter('beta_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('xi_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('acc2_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('epsnov_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('eddfac_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('gamma_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('status', dtype='i', direction=function.OUT, unit = NO_UNIT) + return function + + @legacy_function + def evolve_binary(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('type1', dtype='i', direction=function.INOUT, unit = units.stellar_type) + function.addParameter('type2', dtype='i', direction=function.INOUT, unit = units.stellar_type) + function.addParameter('initial_mass1', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('initial_mass2', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('mass1', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('mass2', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('radius1', dtype='d', direction=function.INOUT, unit = units.RSun) + function.addParameter('radius2', dtype='d', direction=function.INOUT, unit = units.RSun) + function.addParameter('luminosity1', dtype='d', direction=function.INOUT, unit = units.LSun) + function.addParameter('luminosity2', dtype='d', direction=function.INOUT, unit = units.LSun) + function.addParameter('core_mass1', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('core_mass2', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('core_radius1', dtype='d', direction=function.INOUT, unit = units.RSun) + function.addParameter('core_radius2', dtype='d', direction=function.INOUT, unit = units.RSun) + function.addParameter('convective_envelope_mass1', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('convective_envelope_mass2', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('convective_envelope_radius1', dtype='d', direction=function.INOUT, unit = units.RSun) + function.addParameter('convective_envelope_radius2', dtype='d', direction=function.INOUT, unit = units.RSun) + function.addParameter('spin1', dtype='d', direction=function.INOUT, unit = NO_UNIT) + function.addParameter('spin2', dtype='d', direction=function.INOUT, unit = NO_UNIT) + function.addParameter('epoch1', dtype='d', direction=function.INOUT, unit = units.Myr) + function.addParameter('epoch2', dtype='d', direction=function.INOUT, unit = units.Myr) + function.addParameter('MS_lifetime1', dtype='d', direction=function.INOUT, unit = units.Myr) + function.addParameter('MS_lifetime2', dtype='d', direction=function.INOUT, unit = units.Myr) + function.addParameter('age', dtype='d', direction=function.INOUT, unit = units.Myr) + function.addParameter('orbital_period', dtype='d', direction=function.INOUT, unit = units.day) + function.addParameter('eccentricity', dtype='d', direction=function.INOUT, unit = NO_UNIT) + function.addParameter('end_time', dtype='d', direction=function.INOUT, unit = units.Myr) + return function + + @legacy_function + def get_time_step(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('type1', dtype='i', direction=function.IN, unit = units.stellar_type) + function.addParameter('type2', dtype='i', direction=function.IN, unit = units.stellar_type) + function.addParameter('initial_mass1', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('initial_mass2', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('mass1', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('mass2', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('MS_lifetime1', dtype='d', direction=function.IN, unit = units.Myr) + function.addParameter('MS_lifetime2', dtype='d', direction=function.IN, unit = units.Myr) + function.addParameter('epoch1', dtype='d', direction=function.IN, unit = units.Myr) + function.addParameter('epoch2', dtype='d', direction=function.IN, unit = units.Myr) + function.addParameter('age', dtype='d', direction=function.IN, unit = units.Myr) + function.addParameter('time_step', dtype='d', direction=function.OUT, unit = units.Myr) + + return function + + def get_time_step_for_binary(self, binary): + + current_values = {} + current_values['type1'] = binary.type1.value_in(units.stellar_type) + current_values['type2'] = binary.type2.value_in(units.stellar_type) + current_values['initial_mass1'] = binary.initial_mass1.value_in(units.MSun) + current_values['initial_mass2'] = binary.initial_mass2.value_in(units.MSun) + current_values['mass1'] = binary.mass1.value_in(units.MSun) + current_values['mass2'] = binary.mass2.value_in(units.MSun) + current_values['MS_lifetime1'] = binary.MS_lifetime1.value_in(units.Myr) + current_values['MS_lifetime2'] = binary.MS_lifetime2.value_in(units.Myr) + current_values['epoch1'] = binary.epoch1.value_in(units.Myr) + current_values['epoch2'] = binary.epoch2.value_in(units.Myr) + current_values['age'] = binary.age.value_in(units.Myr) + + result = self.get_time_step(**current_values) + + return result | units.Myr + + + def evolve_particle(self, particle, time_end): + t = particle.current_time + if particle.stellar_type == 15: + return + while t < time_end: + t0 = t + t = t0 + self.get_time_step_for_binary(particle) + if t > time_end: + t = time_end + self.evolve_star(particle, t) + t1 = particle.current_time + dt = t1 - t0 + t0 = t1 + if dt.value_in(units.Myr) == 0.0: + #print t, t0, t1, dt, "BREAK BREAK BREAK!" + return + if particle.stellar_type == 15: + return + + def initialize_code(self): + return 0 + + def commit_parameters(self): + return 0 + + def recommit_parameters(self): + return 0 + + def cleanup_code(self): + return 0 + + def commit_particles(self): + return 0 + + + + +class BSEStars(Particles): + + def __init__(self, code_interface, storage = None): + Particles.__init__(self, storage = storage) + self._private.code_interface = code_interface + self.add_calculated_attribute("temperature", self.calculate_effective_temperature, ["luminosity", "radius"]) + + def calculate_effective_temperature(self, luminosity, radius): + return ((luminosity/(constants.four_pi_stefan_boltzmann*radius**2))**.25).in_(units.K) + + def add_particles_to_store(self, keys, attributes = [], values = []): + if len(keys) == 0: + return + + all_attributes = [] + all_attributes.extend(attributes) + all_values = [] + all_values.extend(values) + + mapping_from_attribute_to_default_value = { + "stellar_type" : 1 | units.stellar_type, + "radius": 0 | units.RSun, + "luminosity": 0 | units.LSun, + "core_mass": 0 | units.MSun, + "core_radius": 0 | units.RSun, + "convective_envelope_mass": 0 | units.MSun, + "convective_envelope_radius": 0 | units.RSun, + "epoch": 0 | units.Myr, + "spin": 0 | units.none, + "main_sequence_lifetime": 0 | units.Myr, + "age": 0 | units.Myr, + "stellar_type": 0 | units.stellar_type #units.stellar_type("Main Sequence star"), + } + + given_attributes = set(attributes) + + if not "initial_mass" in given_attributes: + index_of_mass_attibute = attributes.index("mass") + all_attributes.append("initial_mass") + all_values.append(values[index_of_mass_attibute] * 1.0) + + for attribute, default_value in mapping_from_attribute_to_default_value.items(): + if not attribute in given_attributes: + all_attributes.append(attribute) + all_values.append(default_value.as_vector_with_length(len(keys))) + + super(BSEStars, self).add_particles_to_store(keys, all_attributes, all_values) + + + def get_defined_attribute_names(self): + return ["mass", "radius"] + +class BSEBinaries(Particles): + + def __init__(self, code_interface, storage = None): + Particles.__init__(self, storage = storage) + self._private.code_interface = code_interface + + def add_particles_to_store(self, keys, attributes = [], values = []): + if len(keys) == 0: + return + + given_attributes = set(attributes) + + if not "child1" in given_attributes: + raise Exception("a binary must always have a child1 attribute") + + if not "child2" in given_attributes: + raise Exception("a binary must always have a child2 attribute") + + all_attributes = [] + all_values = [] + for attribute, value in zip(attributes, values): + all_attributes.append(attribute) + if attribute == 'child1' or attribute == 'child2': + value = value.copy_with_link_transfer(None, self._private.code_interface.particles) + all_values.append(value) + else: + all_values.append(value) + + mapping_from_attribute_to_default_value = { + "eccentricity": 0.0 | units.none, + "age": 0 | units.Myr + } + + + + for attribute, default_value in mapping_from_attribute_to_default_value.items(): + if not attribute in given_attributes: + all_attributes.append(attribute) + all_values.append(default_value.as_vector_with_length(len(keys))) + + super(BSEBinaries, self).add_particles_to_store(keys, all_attributes, all_values) + + added_particles = ParticlesSubset(self, keys) + self._private.code_interface._evolve_binaries(added_particles, 1e-08 | units.yr) + + def get_defined_attribute_names(self): + return ["eccentricity", "orbital_period", "age", "child1", "child2"] + +class BSE(common.CommonCode): + + def __init__(self, **options): + InCodeComponentImplementation.__init__(self, BSEInterface(**options), **options) + + self.model_time = 0.0 | units.yr + + + def define_parameters(self, handler): + + handler.add_caching_parameter( + "initialize", + "z_in", + "metallicity", + "Metallicity of all stars", + 0.02 + ) + + handler.add_caching_parameter( + "initialize", + "neta_in", + "reimers_mass_loss_coefficient", + "Reimers mass-loss coefficient (neta*4x10^-13; 0.5 normally)", + 0.5 + ) + + handler.add_caching_parameter( + "initialize", + "bwind_in", + "binary_enhanced_mass_loss_parameter", + "The binary enhanced mass loss parameter (inactive for single).", + 0.0 + ) + + handler.add_caching_parameter( + "initialize", + "hewind_in", + "helium_star_mass_loss_factor", + "Helium star mass loss factor", + 1.0 + ) + + handler.add_caching_parameter( + "initialize", + "alpha1_in", + "common_envelope_efficiency", + "The common-envelope efficiency parameter", + 1.0 + ) + + handler.add_caching_parameter( + "initialize", + "CElambda_in", + "common_envelope_binding_energy_factor", + "The binding energy factor for common envelope evolution", + 0.5 + ) + + handler.add_caching_parameter( + "initialize", + "ceflag_in", + "common_envelope_model_flag", + "ceflag > 0 activates spin-energy correction in common-envelope. ceflag = 3 activates de Kool common-envelope model (0).", + 0 + ) + + handler.add_caching_parameter( + "initialize", + "tflag_in", + "tidal_circularisation_flag", + "tflag > 0 activates tidal circularisation (1).", + 1 + ) + + handler.add_caching_parameter( + "initialize", + "ifflag_in", + "white_dwarf_IFMR_flag", + "ifflag > 0 uses white dwarf IFMR (initial-final mass relation) of HPE, 1995, MNRAS, 272, 800 (0).", + 0 + ) + + handler.add_caching_parameter( + "initialize", + "wdflag_in", + "white_dwarf_cooling_flag", + "wdflag > 0 uses modified-Mestel cooling for WDs (0).", + 1 + ) + + handler.add_caching_parameter( + "initialize", + "bhflag_in", + "black_hole_kick_flag", + "bhflag > 0 allows velocity kick at BH formation (0).", + 0 + ) + + handler.add_caching_parameter( + "initialize", + "nsflag_in", + "neutron_star_mass_flag", + "nsflag > 0 takes NS/BH mass from Belczynski et al. 2002, ApJ, 572, 407 (1).", + 1 + ) + + handler.add_caching_parameter( + "initialize", + "mxns_in", + "maximum_neutron_star_mass", + "The maximum neutron star mass (1.8, nsflag=0; 3.0, nsflag=1).", + 3.0 | units.MSun + ) + + handler.add_caching_parameter( + "initialize", + "idum_in", + "SN_kick_random_seed", + "The random number seed used in the kick routine.", + 29769 + ) + + handler.add_caching_parameter( + "initialize", + "pts1_in", + "fractional_time_step_1", + "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: MS (0.05)", + 0.05 + ) + + handler.add_caching_parameter( + "initialize", + "pts2_in", + "fractional_time_step_2", + "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: GB, CHeB, AGB, HeGB (0.01)", + 0.01 + ) + + handler.add_caching_parameter( + "initialize", + "pts3_in", + "fractional_time_step_3", + "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: HG, HeMS (0.02)", + 0.02 + ) + + handler.add_caching_parameter( + "initialize", + "sigma_in", + "SN_kick_speed_dispersion", + "The dispersion in the Maxwellian for the SN kick speed (190 km/s).", + 190.0 | units.km / units.s + ) + + handler.add_caching_parameter( + "initialize", + "beta_in", + "wind_velocity_factor", + "The wind velocity factor: proportional to vwind**2 (1/8).", + 0.125 + ) + + handler.add_caching_parameter( + "initialize", + "xi_in", + "wind_accretion_efficiency", + "The wind accretion efficiency factor (1.0).", + 1.0 + ) + + handler.add_caching_parameter( + "initialize", + "acc2_in", + "wind_accretion_factor", + "The Bondi-Hoyle wind accretion factor (3/2).", + 1.5 + ) + + handler.add_caching_parameter( + "initialize", + "epsnov_in", + "nova_retained_accreted_matter_fraction", + "The fraction of accreted matter retained in nova eruption (0.001).", + 0.001 + ) + + handler.add_caching_parameter( + "initialize", + "eddfac_in", + "Eddington_mass_transfer_limit_factor", + "The Eddington limit factor for mass transfer (1.0).", + 1.0 + ) + + handler.add_caching_parameter( + "initialize", + "gamma_in", + "Roche_angular_momentum_factor", + "The angular momentum factor for mass lost during Roche (-1.0). ", + -1.0 + ) + + + def define_state(self, handler): + common.CommonCode.define_state(self, handler) + handler.add_transition('INITIALIZED','RUN','commit_parameters') + handler.add_method('RUN', 'evolve_binary') + + handler.add_method('RUN','before_get_parameter') + handler.add_method('RUN','before_set_parameter') + + + + + def define_particle_sets(self, handler): + handler.define_inmemory_set('particles', BSEStars) + handler.define_inmemory_set('binaries', BSEBinaries) + + handler.add_attribute( + 'binaries', + 'time_step', + '_get_time_step', + ('child1', 'child2', 'age') + #('child1', 'type2', + # 'initial_mass1', 'initial_mass2', + # 'mass1', 'mass2', + # 'MS_lifetime1', 'MS_lifetime2', + # 'epoch1', 'epoch2', + #'age') + ) + + def _get_time_step(self, child1, child2, age): + child1 = child1.as_set() + child2 = child2.as_set() + return self.get_time_step( + child1.stellar_type, child2.stellar_type, + child1.initial_mass, child2.initial_mass, + child1.mass, child2.mass, + child1.age, child2.age, + child1.epoch, child2.epoch, + age + ) + + def orbital_period_to_semi_major_axis(self, orbital_period, mass1, mass2): + mu = (mass1 + mass2) * constants.G + return (((orbital_period / (2.0 * numpy.pi))**2)*mu)**(1.0/3.0) + + def semi_major_axis_to_orbital_period(self, semi_major_axis, mass1, mass2): + mu = (mass1 + mass2) * constants.G + return 2.0 * numpy.pi * ((semi_major_axis**3/mu)**0.5) + + def _evolve_binaries(self, particles, end_time): + binary_attributes = ( + "age", + "semi_major_axis", + "eccentricity" + ) + + single_attributes = ( + "stellar_type", + "initial_mass", + "mass", + "radius", + "luminosity", + "core_mass", + "core_radius", + "convective_envelope_mass", + "convective_envelope_radius", + "spin", + "epoch", + "age", + ) + + children1 = particles.child1.as_set() + children2 = particles.child2.as_set() + children1_arguments = children1.get_values_in_store(children1.get_all_indices_in_store(), single_attributes) + children2_arguments = children2.get_values_in_store(children2.get_all_indices_in_store(), single_attributes) + + binaries_arguments = particles.get_values_in_store(particles.get_all_indices_in_store(), binary_attributes) + + binaries_arguments[1] = self.semi_major_axis_to_orbital_period(binaries_arguments[1] , children1_arguments[2], children2_arguments[2]) + + arguments = [] + for argument1, argument2 in zip(children1_arguments, children2_arguments): + arguments.append(argument1) + arguments.append(argument2) + + arguments.extend(binaries_arguments) + arguments.append(end_time.as_vector_with_length(len(particles))) + + result = self.evolve_binary(*arguments) + + result[-3] = self.orbital_period_to_semi_major_axis(result[-3] , result[4], result[5]) + + + children1_results = [] + children2_results = [] + index = 0 + for dummy in range(len(children1_arguments)): + children1_results.append(result[index]) + index += 1 + children2_results.append(result[index]) + index += 1 + + children1.set_values_in_store(children1.get_all_indices_in_store(), single_attributes, children1_results) + children2.set_values_in_store(children2.get_all_indices_in_store(), single_attributes, children2_results) + particles.set_values_in_store(particles.get_all_indices_in_store(), binary_attributes, result[index:]) + + + def evolve_model(self, end_time = None, keep_synchronous = True): + if not keep_synchronous: + self._evolve_binaries(self.binaries, self.binaries.time_step + self.binaries.age) + return + + if end_time is None: + end_time = self.model_time + min(self.binaries.time_step) + self._evolve_binaries(self.binaries, end_time - self.model_time + self.binaries.age) + self.model_time = end_time + + def commit_particles(self): + pass + + def update_time_steps(self): + pass + + def commit_parameters(self): + self.parameters.send_cached_parameters_to_code() + self.overridden().commit_parameters() + + def initialize_module_with_current_parameters(self): + self.commit_parameters() + + def initialize_module_with_default_parameters(self): + """ + * neta is the Reimers mass-loss coefficent (neta*4x10^-13; 0.5 normally). + * bwind is the binary enhanced mass loss parameter (inactive for single). + * hewind is a helium star mass loss factor (1.0 normally). + * sigma is the dispersion in the Maxwellian for the SN kick speed (190 km/s). + * + * ifflag > 0 uses WD IFMR of HPE, 1995, MNRAS, 272, 800 (0). + * wdflag > 0 uses modified-Mestel cooling for WDs (0). + * bhflag > 0 allows velocity kick at BH formation (0). + * nsflag > 0 takes NS/BH mass from Belczynski et al. 2002, ApJ, 572, 407 (1). + * mxns is the maximum NS mass (1.8, nsflag=0; 3.0, nsflag=1). + * idum is the random number seed used in the kick routine. + * + * Next come the parameters that determine the timesteps chosen in each + * evolution phase: + * pts1 - MS (0.05) + * pts2 - GB, CHeB, AGB, HeGB (0.01) + * pts3 - HG, HeMS (0.02) + * as decimal fractions of the time taken in that phase. + """ + self.parameters.set_defaults() + self.commit_parameters() + + + + + + + + +Bse = BSE diff --git a/src/amuse_bse/packages/amuse-bse.amuse_deps b/src/amuse_bse/packages/amuse-bse.amuse_deps new file mode 100644 index 0000000000..b9708b0020 --- /dev/null +++ b/src/amuse_bse/packages/amuse-bse.amuse_deps @@ -0,0 +1 @@ +fortran mpi diff --git a/src/amuse_bse/packages/amuse-bse/amuse_bse b/src/amuse_bse/packages/amuse-bse/amuse_bse new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_bse/packages/amuse-bse/amuse_bse @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_bse/packages/amuse-bse/pyproject.toml b/src/amuse_bse/packages/amuse-bse/pyproject.toml new file mode 100644 index 0000000000..7c9a9eb0bf --- /dev/null +++ b/src/amuse_bse/packages/amuse-bse/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-bse" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_bse/**/*.py"] +exclude = [ + "amuse_bse/packages", + "amuse_bse/support", + "amuse_bse/src", + "amuse_bse/tests" + ] +artifacts = ["amuse_bse/bse_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_bse/tests/"] + +testpaths = ["amuse_bse/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/bse/src/Makefile b/src/amuse_bse/src/Makefile similarity index 100% rename from src/amuse/community/bse/src/Makefile rename to src/amuse_bse/src/Makefile diff --git a/src/amuse/community/bse/src/README_BSE b/src/amuse_bse/src/README_BSE similarity index 100% rename from src/amuse/community/bse/src/README_BSE rename to src/amuse_bse/src/README_BSE diff --git a/src/amuse/community/bse/src/README_SSE b/src/amuse_bse/src/README_SSE similarity index 100% rename from src/amuse/community/bse/src/README_SSE rename to src/amuse_bse/src/README_SSE diff --git a/src/amuse/community/bse/src/binaries.in b/src/amuse_bse/src/binaries.in similarity index 100% rename from src/amuse/community/bse/src/binaries.in rename to src/amuse_bse/src/binaries.in diff --git a/src/amuse/community/bse/src/binary.in b/src/amuse_bse/src/binary.in similarity index 100% rename from src/amuse/community/bse/src/binary.in rename to src/amuse_bse/src/binary.in diff --git a/src/amuse/community/bse/src/bse.f b/src/amuse_bse/src/bse.f similarity index 100% rename from src/amuse/community/bse/src/bse.f rename to src/amuse_bse/src/bse.f diff --git a/src/amuse/community/bse/src/comenv.f b/src/amuse_bse/src/comenv.f similarity index 100% rename from src/amuse/community/bse/src/comenv.f rename to src/amuse_bse/src/comenv.f diff --git a/src/amuse/community/bse/src/const_bse.h b/src/amuse_bse/src/const_bse.h similarity index 100% rename from src/amuse/community/bse/src/const_bse.h rename to src/amuse_bse/src/const_bse.h diff --git a/src/amuse/community/bse/src/corerd.f b/src/amuse_bse/src/corerd.f similarity index 100% rename from src/amuse/community/bse/src/corerd.f rename to src/amuse_bse/src/corerd.f diff --git a/src/amuse/community/bse/src/deltat.f b/src/amuse_bse/src/deltat.f similarity index 100% rename from src/amuse/community/bse/src/deltat.f rename to src/amuse_bse/src/deltat.f diff --git a/src/amuse/community/bse/src/dgcore.f b/src/amuse_bse/src/dgcore.f similarity index 100% rename from src/amuse/community/bse/src/dgcore.f rename to src/amuse_bse/src/dgcore.f diff --git a/src/amuse/community/bse/src/evolv1.f b/src/amuse_bse/src/evolv1.f similarity index 100% rename from src/amuse/community/bse/src/evolv1.f rename to src/amuse_bse/src/evolv1.f diff --git a/src/amuse/community/bse/src/evolv2.f b/src/amuse_bse/src/evolv2.f similarity index 100% rename from src/amuse/community/bse/src/evolv2.f rename to src/amuse_bse/src/evolv2.f diff --git a/src/amuse/community/bse/src/evolve.in b/src/amuse_bse/src/evolve.in similarity index 100% rename from src/amuse/community/bse/src/evolve.in rename to src/amuse_bse/src/evolve.in diff --git a/src/amuse/community/bse/src/gntage.f b/src/amuse_bse/src/gntage.f similarity index 100% rename from src/amuse/community/bse/src/gntage.f rename to src/amuse_bse/src/gntage.f diff --git a/src/amuse/community/bse/src/hrdiag.f b/src/amuse_bse/src/hrdiag.f similarity index 100% rename from src/amuse/community/bse/src/hrdiag.f rename to src/amuse_bse/src/hrdiag.f diff --git a/src/amuse/community/bse/src/instar.f b/src/amuse_bse/src/instar.f similarity index 100% rename from src/amuse/community/bse/src/instar.f rename to src/amuse_bse/src/instar.f diff --git a/src/amuse/community/bse/src/kick.f b/src/amuse_bse/src/kick.f similarity index 100% rename from src/amuse/community/bse/src/kick.f rename to src/amuse_bse/src/kick.f diff --git a/src/amuse/community/bse/src/mix.f b/src/amuse_bse/src/mix.f similarity index 100% rename from src/amuse/community/bse/src/mix.f rename to src/amuse_bse/src/mix.f diff --git a/src/amuse/community/bse/src/mlwind.f b/src/amuse_bse/src/mlwind.f similarity index 100% rename from src/amuse/community/bse/src/mlwind.f rename to src/amuse_bse/src/mlwind.f diff --git a/src/amuse/community/bse/src/mrenv.f b/src/amuse_bse/src/mrenv.f similarity index 100% rename from src/amuse/community/bse/src/mrenv.f rename to src/amuse_bse/src/mrenv.f diff --git a/src/amuse/community/bse/src/popbin.f b/src/amuse_bse/src/popbin.f similarity index 100% rename from src/amuse/community/bse/src/popbin.f rename to src/amuse_bse/src/popbin.f diff --git a/src/amuse/community/bse/src/ran3.f b/src/amuse_bse/src/ran3.f similarity index 100% rename from src/amuse/community/bse/src/ran3.f rename to src/amuse_bse/src/ran3.f diff --git a/src/amuse/community/bse/src/rl.f b/src/amuse_bse/src/rl.f similarity index 100% rename from src/amuse/community/bse/src/rl.f rename to src/amuse_bse/src/rl.f diff --git a/src/amuse/community/bse/src/sse.f b/src/amuse_bse/src/sse.f similarity index 100% rename from src/amuse/community/bse/src/sse.f rename to src/amuse_bse/src/sse.f diff --git a/src/amuse/community/bse/src/star.f b/src/amuse_bse/src/star.f similarity index 100% rename from src/amuse/community/bse/src/star.f rename to src/amuse_bse/src/star.f diff --git a/src/amuse/community/bse/src/zcnsts.f b/src/amuse_bse/src/zcnsts.f similarity index 100% rename from src/amuse/community/bse/src/zcnsts.f rename to src/amuse_bse/src/zcnsts.f diff --git a/src/amuse/community/bse/src/zdata.h b/src/amuse_bse/src/zdata.h similarity index 100% rename from src/amuse/community/bse/src/zdata.h rename to src/amuse_bse/src/zdata.h diff --git a/src/amuse/community/bse/src/zfuncs.f b/src/amuse_bse/src/zfuncs.f similarity index 100% rename from src/amuse/community/bse/src/zfuncs.f rename to src/amuse_bse/src/zfuncs.f diff --git a/src/amuse_bse/support/aclocal.m4 b/src/amuse_bse/support/aclocal.m4 new file mode 100644 index 0000000000..8161803730 --- /dev/null +++ b/src/amuse_bse/support/aclocal.m4 @@ -0,0 +1,20 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/fortran.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_bse/support/config.mk.in b/src/amuse_bse/support/config.mk.in new file mode 100644 index 0000000000..a643cabdc5 --- /dev/null +++ b/src/amuse_bse/support/config.mk.in @@ -0,0 +1,13 @@ +# Compilers +FC = @FC@ +MPIFC = @MPIFC@ + +CPU_COUNT = @CPU_COUNT@ + +# General flags and libraries +FCFLAGS = @FCFLAGS@ +LDFLAGS = @LDFLAGS@ + +# AMUSE framework libraries +FORSOCKETS_LIBS = @FORSOCKETS_LIBS@ +FORSOCKETS_CFLAGS = @FORSOCKETS_CFLAGS@ \ No newline at end of file diff --git a/src/amuse_bse/support/configure b/src/amuse_bse/support/configure new file mode 100755 index 0000000000..ce6a11a1cd --- /dev/null +++ b/src/amuse_bse/support/configure @@ -0,0 +1,5751 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-bse 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-bse' +PACKAGE_TARNAME='amuse-bse' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-bse 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPILIBS +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CPPFLAGS +CFLAGS +CC +OBJEXT +EXEEXT +ac_ct_FC +LDFLAGS +FCFLAGS +FC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +FC +FCFLAGS +LDFLAGS +LIBS +CC +CFLAGS +CPPFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS +MPIFC' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-bse 1.0 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/amuse-bse] + --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 amuse-bse 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + FC Fortran compiler command + FCFLAGS Fortran 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 + CC C compiler command + CFLAGS C compiler flags + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + 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 + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + MPIFC MPI Fortran compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-bse configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-bse $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set the worker language +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the Fortran compiler works" >&5 +printf %s "checking whether the Fortran compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "Fortran compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler default output file name" >&5 +printf %s "checking for Fortran compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat > conftest.$ac_ext <<_ACEOF + program main + open(unit=9,file='conftest.out') + close(unit=9) + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run Fortran compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +fi +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +fi + +fi + + + ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + +# Find external dependencies +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-bse $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-bse config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_bse/support/configure.ac b/src/amuse_bse/support/configure.ac new file mode 100644 index 0000000000..daa74aff4e --- /dev/null +++ b/src/amuse_bse/support/configure.ac @@ -0,0 +1,31 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-bse], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set the worker language +AC_LANG([Fortran]) + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + +# Find AMUSE libraries +AMUSE_LIB_FORSOCKETS() + +# Find external dependencies +AC_LANG_PUSH([Fortran]) +AX_MPI() +AC_LANG_POP([Fortran]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_bse/support/shared b/src/amuse_bse/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_bse/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_bse.py b/src/amuse_bse/tests/test_bse.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_bse.py rename to src/amuse_bse/tests/test_bse.py index da464514e2..9f75a715b3 100644 --- a/src/amuse/test/suite/codes_tests/test_bse.py +++ b/src/amuse_bse/tests/test_bse.py @@ -1,6 +1,6 @@ -from amuse.community.bse.interface import BSE, BSEInterface +from amuse_bse.interface import BSE, BSEInterface -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI from amuse.units import units from amuse.units import constants from amuse.datamodel import Particles diff --git a/src/amuse_capreole/Makefile b/src/amuse_capreole/Makefile new file mode 100644 index 0000000000..ee9db3dcb6 --- /dev/null +++ b/src/amuse_capreole/Makefile @@ -0,0 +1,73 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library +FCFLAGS += $(FORSOCKETS_CFLAGS) -fallow-argument-mismatch + +LDLIBS += $(STOPCOND_LIBS) $(FORSOCKETS_LIBS) + + +CODELIB = src/libcapreole_mpi.a + +.PHONY: $(CODELIB) +$(CODELIB): + $(MAKE) -C src -j 1 amuse_interface_mpi F90FLAGS1="$(FCFLAGS)" FC="$(FC)" + + +# Building the workers +capreole_worker.f90: interface.py + amusifier --type=f90 interface.py -i amuse.community.interface.stopping_conditions.StoppingConditionInterface CapreoleInterface -o $@ + +capreole_worker.o: capreole_worker.f90 + $(MPIFC) -c -o$@ $(FCFLAGS) $< + +interface.o: interface.F90 $(CODELIB) + $(FC) -c -o $@ $(FCFLAGS) -I./src/ -DMPI $< + +capreole_worker: interface.o capreole_worker.o $(CODELIB) + $(MPIFC) -o $@ $(LDFLAGS) $^ $(LDLIBS) + + +# Which packages contain which workers? +amuse-capreole_contains: capreole_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: +ifneq ($(CI),) + cd packages/$* && pytest -k noci +else + cd packages/$* && pytest +endif + + + +# Cleaning up +.PHONY: clean +clean: + -$(MAKE) -C src clean + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + diff --git a/src/amuse_capreole/__init__.py b/src/amuse_capreole/__init__.py new file mode 100644 index 0000000000..b7bcfe5701 --- /dev/null +++ b/src/amuse_capreole/__init__.py @@ -0,0 +1 @@ +from .interface import Capreole diff --git a/src/amuse/community/capreole/interface.F90 b/src/amuse_capreole/interface.F90 similarity index 100% rename from src/amuse/community/capreole/interface.F90 rename to src/amuse_capreole/interface.F90 diff --git a/src/amuse_capreole/interface.py b/src/amuse_capreole/interface.py new file mode 100644 index 0000000000..6f6d8cf72d --- /dev/null +++ b/src/amuse_capreole/interface.py @@ -0,0 +1,858 @@ +from amuse.community import * +from amuse.community.interface.hydro import HydrodynamicsInterface +from amuse.community.interface.common import CommonCode +from amuse.units.generic_unit_system import * + + +class CapreoleInterface( + CodeInterface, + HydrodynamicsInterface, + StoppingConditionInterface, + LiteratureReferencesMixIn +): + """ + Capreole is a grid-based astrophysical hydrodynamics code developed by + Garrelt Mellema. It works in one, two dimensions, and three spatial + dimensions and is programmed in Fortran 90. It is parallelized with MPI. + For the hydrodynamics it relies on the Roe-Eulderink-Mellema (REM) solver, + which is an approximate Riemann solver for arbitrary metrics. It can solve + different hydrodynamics problems. Capreole has run on single processors, + but also on massively parallel systems (e.g. 512 processors on a + BlueGene/L). + + The reference for Capreole (original version): + .. [#] ADS:1991A&A...252..718M (Mellema, Eulderink & Icke 1991, A&A 252, 718) + """ + + + def __init__(self, number_of_workers = 1, **options): + CodeInterface.__init__(self, self.name_of_the_worker(number_of_workers),number_of_workers = number_of_workers, **options) + LiteratureReferencesMixIn.__init__(self) + + def name_of_the_worker(self, number_of_workers): + return 'capreole_worker' + + @legacy_function + def setup_mesh(): + function = LegacyFunctionSpecification() + function.addParameter('nmeshx', dtype='i', direction=function.IN) + function.addParameter('nmeshy', dtype='i', direction=function.IN) + function.addParameter('nmeshz', dtype='i', direction=function.IN) + function.addParameter('xlength', dtype='d', direction=function.IN) + function.addParameter('ylength', dtype='d', direction=function.IN) + function.addParameter('zlength', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + + @legacy_function + def initialize_grid(): + function = LegacyFunctionSpecification() + #function.addParameter('time', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def set_boundary(): + function = LegacyFunctionSpecification() + for x in ["xbound1","xbound2","ybound1","ybound2","zbound1","zbound2"]: + function.addParameter(x, dtype='string', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def set_boundary_innerxstate(): + function = LegacyFunctionSpecification() + for x in ["rho_in","rhvx_in","rhvy_in","rhvz_in","en_in"]: + function.addParameter(x, dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def set_boundary_outerxstate(): + function = LegacyFunctionSpecification() + for x in ["rho_in","rhvx_in","rhvy_in","rhvz_in","en_in"]: + function.addParameter(x, dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def set_boundary_innerystate(): + function = LegacyFunctionSpecification() + for x in ["rho_in","rhvx_in","rhvy_in","rhvz_in","en_in"]: + function.addParameter(x, dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def set_boundary_outerystate(): + function = LegacyFunctionSpecification() + for x in ["rho_in","rhvx_in","rhvy_in","rhvz_in","en_in"]: + function.addParameter(x, dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def set_boundary_innerzstate(): + function = LegacyFunctionSpecification() + for x in ["rho_in","rhvx_in","rhvy_in","rhvz_in","en_in"]: + function.addParameter(x, dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def set_boundary_outerzstate(): + function = LegacyFunctionSpecification() + for x in ["rho_in","rhvx_in","rhvy_in","rhvz_in","en_in"]: + function.addParameter(x, dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + + @legacy_function + def set_grid_state(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + for x in ['rho','rhovx','rhovy','rhovz','en']: + function.addParameter(x, dtype='d', direction=function.IN) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def get_grid_state(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + for x in ['rho','rhovx','rhovy','rhovz','en']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + return function + + + @legacy_function + def set_gravity_field(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + for x in ['f_x','f_y','f_z']: + function.addParameter(x, dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_gravity_field(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + for x in ['f_x','f_y','f_z']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + + @legacy_function + def evolve_model(): + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_time(): + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + + @legacy_function + def get_position_of_index(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + for x in ['x','y','z']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def get_index_of_position(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['x','y','z']: + function.addParameter(x, dtype='d', direction=function.IN) + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.OUT) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + return function + + + + + @legacy_function + def get_mesh_size(): + function = LegacyFunctionSpecification() + function.addParameter('nmeshx', dtype='i', direction=function.OUT) + function.addParameter('nmeshy', dtype='i', direction=function.OUT) + function.addParameter('nmeshz', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + def get_index_range_inclusive(self): + ni,nj,nk,error = self.get_mesh_size() + return (1, ni, 1, nj, 1, nk) + + + @legacy_function + def get_grid_momentum_density(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + for x in ['rhovx','rhovy','rhovz']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def get_grid_density(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + for x in ['rho',]: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + return function + + + + @legacy_function + def get_grid_energy_density(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + for x in ['energy']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + return function + + + def get_number_of_grids(): + return (0,1) + + + set_grid_energy_density = None + set_grid_density = None + set_grid_momentum_density = None + + + + @legacy_function + def get_boundary_index_range_inclusive(): + function = LegacyFunctionSpecification() + function.addParameter('index_of_boundary', dtype='i', direction=function.IN) + function.addParameter('minx', dtype='i', direction=function.OUT) + function.addParameter('maxx', dtype='i', direction=function.OUT) + function.addParameter('miny', dtype='i', direction=function.OUT) + function.addParameter('maxy', dtype='i', direction=function.OUT) + function.addParameter('minz', dtype='i', direction=function.OUT) + function.addParameter('maxz', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_boundary_state(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + for x in ['rho','rhovx','rhovy','rhovz','en']: + function.addParameter(x, dtype='d', direction=function.IN) + function.addParameter('index_of_boundary', dtype='i', direction=function.IN, default = 1) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def get_boundary_state(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + function.addParameter('index_of_boundary', dtype='i', direction=function.IN, default = 1) + for x in ['rho','rhovx','rhovy','rhovz','en']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + return function + + + @legacy_function + def get_boundary_position_of_index(): + """ + Retrieves the x, y and z position of the center of + the cell with coordinates i, j, k + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + function.addParameter('index_of_boundary', dtype='i', direction=function.IN, default = 1) + for x in ['x','y','z']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def set_parallel_decomposition(): + """Set the number of processes per dimension, the + total number of available processors must be + nx * ny * nz + """ + function = LegacyFunctionSpecification() + for x in ['nx','ny','nz']: + function.addParameter(x, dtype='i', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_parallel_decomposition(): + """Retrieves the number of processes per dimension, the + total number of available processors must be + nx * ny * nz + """ + function = LegacyFunctionSpecification() + for x in ['nx','ny','nz']: + function.addParameter(x, dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_timestep(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_timestep(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def set_gamma(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_gamma(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_hydro_state_at_point(): + function = LegacyFunctionSpecification() + for x in ['x','y','z']: + function.addParameter(x, dtype='d', direction=function.IN) + for x in ['vx','vy','vz']: + function.addParameter(x, dtype='d', direction=function.IN, default = 0) + for x in ['rho','rhovx','rhovy','rhovz','rhoe']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('npoints', dtype='i', direction=function.LENGTH) + function.result_type = 'i' + function.must_handle_array = True + return function + + +class GLCapreoleInterface(CapreoleInterface): + def __init__(self, **options): + CodeInterface.__init__(self,name_of_the_worker = 'capreole_worker_gl', **options) + + @legacy_function + def viewer(): + function = LegacyFunctionSpecification() + return function + + +class Capreole(CommonCode): + + def __init__(self, unit_converter = None, **options): + self.unit_converter = unit_converter + self.stopping_conditions = StoppingConditions(self) + + CommonCode.__init__(self, CapreoleInterface(**options), **options) + + + def define_converter(self, handler): + if not self.unit_converter is None: + handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) + + def define_properties(self, handler): + handler.add_property('get_time', public_name = "model_time") + + def define_methods(self, handler): + handler.add_method('evolve_model', (time,), (handler.ERROR_CODE,)) + handler.add_method( + 'get_position_of_index', + (handler.INDEX, handler.INDEX, handler.INDEX,), + (length, length, length, handler.ERROR_CODE,) + ) + + density = mass / (length**3) + momentum_density = mass / (time * (length**2)) + energy_density = mass / ((time**2) * length) + acceleration = length / time ** 2 + + handler.add_method( + 'set_grid_state', + (handler.INDEX, handler.INDEX, handler.INDEX, + density, momentum_density, momentum_density, momentum_density, energy_density, + ), + (handler.ERROR_CODE,) + ) + handler.add_method( + 'get_grid_state', + (handler.INDEX, handler.INDEX, handler.INDEX), + (density, momentum_density, momentum_density, momentum_density, energy_density, + handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_grid_density', + (handler.INDEX, handler.INDEX, handler.INDEX), + (density, + handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_grid_momentum_density', + (handler.INDEX, handler.INDEX, handler.INDEX), + (momentum_density, momentum_density, momentum_density, + handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_grid_energy_density', + (handler.INDEX, handler.INDEX, handler.INDEX), + (energy_density, + handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_gravity_field', + (handler.INDEX, handler.INDEX, handler.INDEX), + (acceleration, acceleration, acceleration, + handler.ERROR_CODE,) + ) + handler.add_method( + 'set_gravity_field', + (handler.INDEX, handler.INDEX, handler.INDEX, + acceleration, acceleration, acceleration,), + (handler.ERROR_CODE,) + ) + handler.add_method( + 'get_time', + (), + (time, handler.ERROR_CODE,) + ) + + handler.add_method( + 'setup_mesh', + (handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, length, length, length,), + (handler.ERROR_CODE,) + ) + handler.add_method( + 'set_boundary', + (handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT,), + (handler.ERROR_CODE,) + ) + handler.add_method( + 'set_parallel_decomposition', + (handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT), + (handler.ERROR_CODE,) + ) + + handler.add_method( + 'set_boundary_state', + (handler.INDEX, handler.INDEX, handler.INDEX, + density, momentum_density, momentum_density, momentum_density, energy_density, + handler.INDEX), + (handler.ERROR_CODE,) + ) + handler.add_method( + 'get_boundary_state', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + (density, momentum_density, momentum_density, momentum_density, energy_density, + handler.ERROR_CODE,) + ) + handler.add_method( + 'get_boundary_position_of_index', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + (length, length, length, handler.ERROR_CODE,) + ) + handler.add_method( + 'get_boundary_index_range_inclusive', + (handler.INDEX), + (handler.NO_UNIT, handler.NO_UNIT,handler.NO_UNIT, handler.NO_UNIT,handler.NO_UNIT, handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_timestep", + (), + (time, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_timestep", + (time, ), + (handler.ERROR_CODE,) + ) + handler.add_method( + 'get_hydro_state_at_point', + (generic_unit_system.length, generic_unit_system.length, generic_unit_system.length, + generic_unit_system.speed, generic_unit_system.speed, generic_unit_system.speed), + (generic_unit_system.density, generic_unit_system.momentum_density, generic_unit_system.momentum_density, + generic_unit_system.momentum_density, generic_unit_system.energy_density, handler.ERROR_CODE) + ) + + self.stopping_conditions.define_methods(handler) + + def define_particle_sets(self, handler): + handler.define_grid('grid') + handler.set_grid_range('grid', 'get_index_range_inclusive') + handler.add_getter('grid', 'get_position_of_index', names=('x','y','z')) + + handler.add_getter('grid', 'get_grid_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) + handler.add_setter('grid', 'set_grid_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) + + handler.add_getter('grid', 'get_grid_density', names=('rho',)) + handler.add_getter('grid', 'get_grid_momentum_density', names=('rhovx','rhovy','rhovz')) + handler.add_getter('grid', 'get_grid_energy_density', names=('energy',)) + + handler.define_grid('acceleration_grid') + handler.set_grid_range('acceleration_grid', 'get_index_range_inclusive') + handler.add_getter('acceleration_grid', 'get_position_of_index', names=('x','y','z')) + handler.add_setter('acceleration_grid', 'set_gravity_field', names=('ax','ay','az')) + handler.add_getter('acceleration_grid', 'get_gravity_field', names=('ax','ay','az')) + + #handler.add_setter('grid', 'set_momentum_density', names=('rhovx','rhovy','rhovz')) + #handler.add_setter('grid', 'set_density', names=('rho',)) + #handler.add_setter('grid', 'set_energy_density', names=('energy',)) + + + + def define_parameters(self, handler): + + handler.add_method_parameter( + "get_gamma", + "set_gamma", + "gamma", + "ratio of specific heats used in equation of state", + default_value = 1.6666666666666667 + ) + + handler.add_caching_parameter( + "set_boundary", + "xbound1", + "xbound1", + "boundary conditions on first (inner, left) X boundary", + "reflective", + ) + handler.add_caching_parameter( + "set_boundary", + "xbound2", + "xbound2", + "boundary conditions on second (outer, right) X boundary", + "reflective", + ) + + handler.add_caching_parameter( + "set_boundary", + "ybound1", + "ybound1", + "boundary conditions on first (inner, front) Y boundary", + "reflective", + ) + + + handler.add_caching_parameter( + "set_boundary", + "ybound2", + "ybound2", + "boundary conditions on second (outer, back) Y boundary", + "reflective", + ) + + handler.add_caching_parameter( + "set_boundary", + "zbound1", + "zbound1", + "boundary conditions on first (inner, bottom) Z boundary", + "reflective", + ) + + + handler.add_caching_parameter( + "set_boundary", + "zbound2", + "zbound2", + "boundary conditions on second (outer, top) Z boundary", + "reflective", + ) + + + + handler.add_vector_parameter( + "x_boundary_conditions", + "boundary conditions for the X directorion", + ("xbound1", "xbound2") + ) + + + handler.add_vector_parameter( + "y_boundary_conditions", + "boundary conditions for the Y directorion", + ("ybound1", "ybound2") + ) + + + handler.add_vector_parameter( + "z_boundary_conditions", + "boundary conditions for the Z directorion", + ("zbound1", "zbound2") + ) + handler.add_caching_parameter( + "set_parallel_decomposition", + "nx", + "nproc_x", + "number of processors for the x direction", + 0, + ) + handler.add_caching_parameter( + "set_parallel_decomposition", + "ny", + "nproc_y", + "number of processors for the y direction", + 0, + ) + handler.add_caching_parameter( + "set_parallel_decomposition", + "nz", + "nproc_z", + "number of processors for the z direction", + 0, + ) + + handler.add_vector_parameter( + "parallel_decomposition", + "number of processors for each dimensions", + ("nproc_x", "nproc_y", "nproc_z") + ) + + + handler.add_caching_parameter( + "setup_mesh", + "nmeshx", + "nx", + "number of cells in the x direction", + 10, + ) + + + handler.add_caching_parameter( + "setup_mesh", + "nmeshy", + "ny", + "number of cells in the y direction", + 10, + ) + + + handler.add_caching_parameter( + "setup_mesh", + "nmeshz", + "nz", + "number of cells in the z direction", + 10, + ) + + handler.add_caching_parameter( + "setup_mesh", + "xlength", + "length_x", + "length of model in the x direction", + 10 | length, + ) + handler.add_caching_parameter( + "setup_mesh", + "ylength", + "length_y", + "length of model in the x direction", + 10 | length, + ) + handler.add_caching_parameter( + "setup_mesh", + "zlength", + "length_z", + "length of model in the z direction", + 10 | length, + ) + + handler.add_vector_parameter( + "mesh_size", + "number of cells in the x, y and z directions", + ("nx", "ny", "nz") + ) + + handler.add_vector_parameter( + "mesh_length", + "length of the model in the x, y and z directions", + ("length_x", "length_y", "length_z") + ) + + + + + self.stopping_conditions.define_parameters(handler) + + def get_index_range_inclusive(self): + """ + Returns the min and max values of indices in each + direction. The range is inclusive, the min index + and max index both exist and can be queried. + The total number of cells in one direction + is max - min + 1. + """ + nx, ny, nz = self.get_mesh_size() + return (1, nx, 1, ny, 1, nz) + + + def commit_parameters(self): + self.parameters.send_cached_parameters_to_code() + self.overridden().commit_parameters() + + def itergrids(self): + yield self.grid + + + + def define_state(self, handler): + CommonCode.define_state(self, handler) + #handler.add_transition('END', 'INITIALIZED', 'initialize_code', False) + + handler.add_method('INITIALIZED', 'set_parallel_decomposition') + handler.add_transition('INITIALIZED','EDIT','commit_parameters') + handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False) + handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False) + handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters') + handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') + handler.add_method('RUN', 'before_get_parameter') + handler.add_method('EDIT', 'before_get_parameter') + + handler.add_transition('EDIT', 'RUN', 'initialize_grid') + handler.add_method('RUN', 'evolve_model') + handler.add_method('RUN', 'get_hydro_state_at_point') + + for state in ['EDIT', 'RUN']: + for methodname in [ + 'get_grid_state', + 'set_grid_state', + 'get_grid_density', + 'set_grid_density', + 'set_grid_energy_density', + 'get_grid_energy_density', + 'get_grid_momentum_density', + 'set_grid_momentum_density', + 'get_position_of_index', + 'get_index_of_position', + 'set_grid_scalar', + 'get_grid_scalar', + 'get_mesh_size', + 'set_gravity_field', + 'get_gravity_field', + 'get_boundary_state', + 'set_boundary_state', + 'get_boundary_position_of_index', + 'get_boundary_index_range_inclusive' + ]: + handler.add_method(state, methodname) + self.stopping_conditions.define_state(handler) + + + def specify_boundary_grid(self, definition, index_of_boundary, index_of_grid = 1): + definition.set_grid_range('get_boundary_index_range_inclusive') + + definition.add_getter('get_boundary_position_of_index', names=('x','y','z')) + + definition.add_getter('get_boundary_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) + definition.add_setter('set_boundary_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) + + definition.define_extra_keywords({'index_of_boundary': index_of_boundary}) + + BOUNDARY_NAME_TO_INDEX = { + 'xbound1': 1, + 'xbound2': 2, + 'ybound1': 3, + 'ybound2': 4, + 'zbound1': 5, + 'zbound2': 6, + } + def get_boundary_grid(self, name): + if not name in self.BOUNDARY_NAME_TO_INDEX: + raise Exception("boundary name is not known {0}".format(name)) + index_of_boundary = self.BOUNDARY_NAME_TO_INDEX[name] + + return self._create_new_grid(self.specify_boundary_grid, index_of_boundary = index_of_boundary, index_of_grid = 1) + + + + def get_extended_grid(self, index_of_grid = 1): + return self._create_new_grid(self.sepecify_extended_grid, index_of_grid = index_of_grid) + + def get_index_range_extended(self, index_of_grid = 1): + i0,i1, j0,j1, k0,k1 = self.get_index_range_inclusive() + dj = 2 if j1 > j0 else 0 + dk = 2 if k1 > k0 else 0 + return i0-2, i1+2, j0-dj, j0+dj, k0-dk, k1+dk + + def sepecify_extended_grid(self, definition, index_of_grid = 1): + + definition.set_grid_range('get_index_range_extended') + definition.add_getter('get_position_of_index', names=('x','y','z')) + + definition.add_getter('get_grid_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) + definition.add_setter('set_grid_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) + + definition.add_getter('get_grid_density', names=('rho',)) + definition.add_getter('get_grid_momentum_density', names=('rhovx','rhovy','rhovz')) + definition.add_getter('get_grid_energy_density', names=('energy',)) + + diff --git a/src/amuse_capreole/packages/amuse-capreole.amuse_deps b/src/amuse_capreole/packages/amuse-capreole.amuse_deps new file mode 100644 index 0000000000..b9708b0020 --- /dev/null +++ b/src/amuse_capreole/packages/amuse-capreole.amuse_deps @@ -0,0 +1 @@ +fortran mpi diff --git a/src/amuse_capreole/packages/amuse-capreole/amuse_capreole b/src/amuse_capreole/packages/amuse-capreole/amuse_capreole new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_capreole/packages/amuse-capreole/amuse_capreole @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_capreole/packages/amuse-capreole/pyproject.toml b/src/amuse_capreole/packages/amuse-capreole/pyproject.toml new file mode 100644 index 0000000000..a13cb607e6 --- /dev/null +++ b/src/amuse_capreole/packages/amuse-capreole/pyproject.toml @@ -0,0 +1,47 @@ +[project] +name = "amuse-capreole" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_capreole/**/*.py"] +exclude = [ + "amuse_capreole/packages", + "amuse_capreole/support", + "amuse_capreole/src", + "amuse_capreole/tests" + ] +artifacts = ["amuse_capreole/capreole_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_capreole/tests/"] + +testpaths = ["amuse_capreole/tests"] + +# Test the installed package. +# +# Disable test26 because it requires more resources than are available on the CI and +# on some ordinary machines and MPI settings, causing it to fail. +addopts = "--import-mode=append -k 'not test26'" + diff --git a/src/amuse/community/capreole/readme.txt b/src/amuse_capreole/readme.txt similarity index 100% rename from src/amuse/community/capreole/readme.txt rename to src/amuse_capreole/readme.txt diff --git a/src/amuse/community/capreole/src/Doxyfile b/src/amuse_capreole/src/Doxyfile similarity index 100% rename from src/amuse/community/capreole/src/Doxyfile rename to src/amuse_capreole/src/Doxyfile diff --git a/src/amuse/community/capreole/src/Makefile b/src/amuse_capreole/src/Makefile similarity index 100% rename from src/amuse/community/capreole/src/Makefile rename to src/amuse_capreole/src/Makefile diff --git a/src/amuse/community/capreole/src/abundances.f90 b/src/amuse_capreole/src/abundances.f90 similarity index 100% rename from src/amuse/community/capreole/src/abundances.f90 rename to src/amuse_capreole/src/abundances.f90 diff --git a/src/amuse/community/capreole/src/ah3out.F90 b/src/amuse_capreole/src/ah3out.F90 similarity index 100% rename from src/amuse/community/capreole/src/ah3out.F90 rename to src/amuse_capreole/src/ah3out.F90 diff --git a/src/amuse/community/capreole/src/amuse_atomic.f90 b/src/amuse_capreole/src/amuse_atomic.f90 similarity index 100% rename from src/amuse/community/capreole/src/amuse_atomic.f90 rename to src/amuse_capreole/src/amuse_atomic.f90 diff --git a/src/amuse/community/capreole/src/amuse_cart-coords.F90 b/src/amuse_capreole/src/amuse_cart-coords.F90 similarity index 100% rename from src/amuse/community/capreole/src/amuse_cart-coords.F90 rename to src/amuse_capreole/src/amuse_cart-coords.F90 diff --git a/src/amuse/community/capreole/src/amuse_helpers.F90 b/src/amuse_capreole/src/amuse_helpers.F90 similarity index 99% rename from src/amuse/community/capreole/src/amuse_helpers.F90 rename to src/amuse_capreole/src/amuse_helpers.F90 index f9e7758aa4..455efd1fa0 100644 --- a/src/amuse/community/capreole/src/amuse_helpers.F90 +++ b/src/amuse_capreole/src/amuse_helpers.F90 @@ -708,7 +708,7 @@ function check_boundaries() result(ret) endif if(domainboundaryconditions(i,1).NE.PERIODIC.AND. & domainboundaryconditions(i,2).EQ.PERIODIC) then - ret=-2 + ret=-1 return endif #endif diff --git a/src/amuse/community/capreole/src/amuse_mesh.F90 b/src/amuse_capreole/src/amuse_mesh.F90 similarity index 100% rename from src/amuse/community/capreole/src/amuse_mesh.F90 rename to src/amuse_capreole/src/amuse_mesh.F90 diff --git a/src/amuse/community/capreole/src/amuse_mpi.F90 b/src/amuse_capreole/src/amuse_mpi.F90 similarity index 100% rename from src/amuse/community/capreole/src/amuse_mpi.F90 rename to src/amuse_capreole/src/amuse_mpi.F90 diff --git a/src/amuse/community/capreole/src/amuse_problem.F90 b/src/amuse_capreole/src/amuse_problem.F90 similarity index 100% rename from src/amuse/community/capreole/src/amuse_problem.F90 rename to src/amuse_capreole/src/amuse_problem.F90 diff --git a/src/amuse/community/capreole/src/atomic.f90 b/src/amuse_capreole/src/atomic.f90 similarity index 100% rename from src/amuse/community/capreole/src/atomic.f90 rename to src/amuse_capreole/src/atomic.f90 diff --git a/src/amuse/community/capreole/src/boundary.F90 b/src/amuse_capreole/src/boundary.F90 similarity index 100% rename from src/amuse/community/capreole/src/boundary.F90 rename to src/amuse_capreole/src/boundary.F90 diff --git a/src/amuse/community/capreole/src/capreole.F90 b/src/amuse_capreole/src/capreole.F90 similarity index 100% rename from src/amuse/community/capreole/src/capreole.F90 rename to src/amuse_capreole/src/capreole.F90 diff --git a/src/amuse/community/capreole/src/cart-amuse.F90 b/src/amuse_capreole/src/cart-amuse.F90 similarity index 100% rename from src/amuse/community/capreole/src/cart-amuse.F90 rename to src/amuse_capreole/src/cart-amuse.F90 diff --git a/src/amuse/community/capreole/src/cart-coords.F90 b/src/amuse_capreole/src/cart-coords.F90 similarity index 100% rename from src/amuse/community/capreole/src/cart-coords.F90 rename to src/amuse_capreole/src/cart-coords.F90 diff --git a/src/amuse/community/capreole/src/cart-routines.f90 b/src/amuse_capreole/src/cart-routines.f90 similarity index 100% rename from src/amuse/community/capreole/src/cart-routines.f90 rename to src/amuse_capreole/src/cart-routines.f90 diff --git a/src/amuse/community/capreole/src/cgsastroconstants.f90 b/src/amuse_capreole/src/cgsastroconstants.f90 similarity index 100% rename from src/amuse/community/capreole/src/cgsastroconstants.f90 rename to src/amuse_capreole/src/cgsastroconstants.f90 diff --git a/src/amuse/community/capreole/src/cgsconstants.f90 b/src/amuse_capreole/src/cgsconstants.f90 similarity index 100% rename from src/amuse/community/capreole/src/cgsconstants.f90 rename to src/amuse_capreole/src/cgsconstants.f90 diff --git a/src/amuse/community/capreole/src/cgsphotoconstants.f90 b/src/amuse_capreole/src/cgsphotoconstants.f90 similarity index 100% rename from src/amuse/community/capreole/src/cgsphotoconstants.f90 rename to src/amuse_capreole/src/cgsphotoconstants.f90 diff --git a/src/amuse/community/capreole/src/clocks.f90 b/src/amuse_capreole/src/clocks.f90 similarity index 100% rename from src/amuse/community/capreole/src/clocks.f90 rename to src/amuse_capreole/src/clocks.f90 diff --git a/src/amuse/community/capreole/src/evolve.F90 b/src/amuse_capreole/src/evolve.F90 similarity index 100% rename from src/amuse/community/capreole/src/evolve.F90 rename to src/amuse_capreole/src/evolve.F90 diff --git a/src/amuse/community/capreole/src/file_admin.f90 b/src/amuse_capreole/src/file_admin.f90 similarity index 100% rename from src/amuse/community/capreole/src/file_admin.f90 rename to src/amuse_capreole/src/file_admin.f90 diff --git a/src/amuse/community/capreole/src/fthread.f b/src/amuse_capreole/src/fthread.f similarity index 100% rename from src/amuse/community/capreole/src/fthread.f rename to src/amuse_capreole/src/fthread.f diff --git a/src/amuse/community/capreole/src/glcapreole.F90 b/src/amuse_capreole/src/glcapreole.F90 similarity index 100% rename from src/amuse/community/capreole/src/glcapreole.F90 rename to src/amuse_capreole/src/glcapreole.F90 diff --git a/src/amuse/community/capreole/src/hydro.F90 b/src/amuse_capreole/src/hydro.F90 similarity index 100% rename from src/amuse/community/capreole/src/hydro.F90 rename to src/amuse_capreole/src/hydro.F90 diff --git a/src/amuse/community/capreole/src/integrate-strang.F90 b/src/amuse_capreole/src/integrate-strang.F90 similarity index 100% rename from src/amuse/community/capreole/src/integrate-strang.F90 rename to src/amuse_capreole/src/integrate-strang.F90 diff --git a/src/amuse/community/capreole/src/lof-2.2.f90 b/src/amuse_capreole/src/lof-2.2.f90 similarity index 100% rename from src/amuse/community/capreole/src/lof-2.2.f90 rename to src/amuse_capreole/src/lof-2.2.f90 diff --git a/src/amuse/community/capreole/src/mathconstants.f90 b/src/amuse_capreole/src/mathconstants.f90 similarity index 100% rename from src/amuse/community/capreole/src/mathconstants.f90 rename to src/amuse_capreole/src/mathconstants.f90 diff --git a/src/amuse/community/capreole/src/mesh.F90 b/src/amuse_capreole/src/mesh.F90 similarity index 100% rename from src/amuse/community/capreole/src/mesh.F90 rename to src/amuse_capreole/src/mesh.F90 diff --git a/src/amuse/community/capreole/src/mpi.F90 b/src/amuse_capreole/src/mpi.F90 similarity index 100% rename from src/amuse/community/capreole/src/mpi.F90 rename to src/amuse_capreole/src/mpi.F90 diff --git a/src/amuse/community/capreole/src/no_ionic.f90 b/src/amuse_capreole/src/no_ionic.f90 similarity index 100% rename from src/amuse/community/capreole/src/no_ionic.f90 rename to src/amuse_capreole/src/no_ionic.f90 diff --git a/src/amuse/community/capreole/src/no_mpi.F90 b/src/amuse_capreole/src/no_mpi.F90 similarity index 100% rename from src/amuse/community/capreole/src/no_mpi.F90 rename to src/amuse_capreole/src/no_mpi.F90 diff --git a/src/amuse/community/capreole/src/noscaling.f90 b/src/amuse_capreole/src/noscaling.f90 similarity index 100% rename from src/amuse/community/capreole/src/noscaling.f90 rename to src/amuse_capreole/src/noscaling.f90 diff --git a/src/amuse/community/capreole/src/precision.f90 b/src/amuse_capreole/src/precision.f90 similarity index 100% rename from src/amuse/community/capreole/src/precision.f90 rename to src/amuse_capreole/src/precision.f90 diff --git a/src/amuse/community/capreole/src/protection2.F90 b/src/amuse_capreole/src/protection2.F90 similarity index 100% rename from src/amuse/community/capreole/src/protection2.F90 rename to src/amuse_capreole/src/protection2.F90 diff --git a/src/amuse/community/capreole/src/pt.c b/src/amuse_capreole/src/pt.c similarity index 100% rename from src/amuse/community/capreole/src/pt.c rename to src/amuse_capreole/src/pt.c diff --git a/src/amuse/community/capreole/src/pt.h b/src/amuse_capreole/src/pt.h similarity index 100% rename from src/amuse/community/capreole/src/pt.h rename to src/amuse_capreole/src/pt.h diff --git a/src/amuse/community/capreole/src/ptf77.c b/src/amuse_capreole/src/ptf77.c similarity index 100% rename from src/amuse/community/capreole/src/ptf77.c rename to src/amuse_capreole/src/ptf77.c diff --git a/src/amuse/community/capreole/src/roesol-adv.f90 b/src/amuse_capreole/src/roesol-adv.f90 similarity index 100% rename from src/amuse/community/capreole/src/roesol-adv.f90 rename to src/amuse_capreole/src/roesol-adv.f90 diff --git a/src/amuse/community/capreole/src/sizes.f90 b/src/amuse_capreole/src/sizes.f90 similarity index 100% rename from src/amuse/community/capreole/src/sizes.f90 rename to src/amuse_capreole/src/sizes.f90 diff --git a/src/amuse/community/capreole/src/string.f90 b/src/amuse_capreole/src/string.f90 similarity index 100% rename from src/amuse/community/capreole/src/string.f90 rename to src/amuse_capreole/src/string.f90 diff --git a/src/amuse/community/capreole/src/time.F90 b/src/amuse_capreole/src/time.F90 similarity index 100% rename from src/amuse/community/capreole/src/time.F90 rename to src/amuse_capreole/src/time.F90 diff --git a/src/amuse/community/capreole/src/viewer.f90 b/src/amuse_capreole/src/viewer.f90 similarity index 100% rename from src/amuse/community/capreole/src/viewer.f90 rename to src/amuse_capreole/src/viewer.f90 diff --git a/src/amuse_capreole/support/aclocal.m4 b/src/amuse_capreole/support/aclocal.m4 new file mode 100644 index 0000000000..8161803730 --- /dev/null +++ b/src/amuse_capreole/support/aclocal.m4 @@ -0,0 +1,20 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/fortran.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_capreole/support/config.mk.in b/src/amuse_capreole/support/config.mk.in new file mode 100644 index 0000000000..7cff596027 --- /dev/null +++ b/src/amuse_capreole/support/config.mk.in @@ -0,0 +1,25 @@ +# Compilers +FC = @FC@ + +MPIFC = @MPIFC@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ + + +# General flags and libraries +FCFLAGS = @FCFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +STOPCOND_CFLAGS = @STOPCOND_CFLAGS@ +STOPCOND_LIBS = @STOPCOND_LIBS@ + +FORSOCKETS_CFLAGS = @FORSOCKETS_CFLAGS@ +FORSOCKETS_LIBS = @FORSOCKETS_LIBS@ diff --git a/src/amuse_capreole/support/configure b/src/amuse_capreole/support/configure new file mode 100755 index 0000000000..bc147a4f0d --- /dev/null +++ b/src/amuse_capreole/support/configure @@ -0,0 +1,6220 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-capreole 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-capreole' +PACKAGE_TARNAME='amuse-capreole' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-capreole 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPILIBS +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +FOUND_STOPCOND +STOPCOND_LIBS +STOPCOND_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CPPFLAGS +CFLAGS +CC +RANLIB +AR +target_os +target_vendor +target_cpu +target +OBJEXT +EXEEXT +ac_ct_FC +LDFLAGS +FCFLAGS +FC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +FC +FCFLAGS +LDFLAGS +LIBS +CC +CFLAGS +CPPFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCOND_CFLAGS +STOPCOND_LIBS +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS +MPIFC' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-capreole 1.0 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/amuse-capreole] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-capreole 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + FC Fortran compiler command + FCFLAGS Fortran 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 + CC C compiler command + CFLAGS C compiler flags + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + 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 + STOPCOND_CFLAGS + C compiler flags for STOPCOND, overriding pkg-config + STOPCOND_LIBS + linker flags for STOPCOND, overriding pkg-config + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + MPIFC MPI Fortran compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-capreole configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-capreole $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Set the worker language +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the Fortran compiler works" >&5 +printf %s "checking whether the Fortran compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "Fortran compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler default output file name" >&5 +printf %s "checking for Fortran compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat > conftest.$ac_ext <<_ACEOF + program main + open(unit=9,file='conftest.out') + close(unit=9) + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run Fortran compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +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 + + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCOND_CFLAGS" + amuse_save_LIB_LIBS="$STOPCOND_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing is_condition_enabled" >&5 +printf %s "checking for library containing is_condition_enabled... " >&6; } +if test ${ac_cv_search_is_condition_enabled+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char is_condition_enabled (); +int +main (void) +{ +return is_condition_enabled (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcond +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_is_condition_enabled=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_is_condition_enabled+y} +then : + break +fi +done +if test ${ac_cv_search_is_condition_enabled+y} +then : + +else $as_nop + ac_cv_search_is_condition_enabled=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_is_condition_enabled" >&5 +printf "%s\n" "$ac_cv_search_is_condition_enabled" >&6; } +ac_res=$ac_cv_search_is_condition_enabled +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCOND="yes" + STOPCOND_LIBS="$LIBS" + STOPCOND_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCOND" >&5 +printf %s "checking for STOPCOND... " >&6; } + +if test -n "$STOPCOND_CFLAGS"; then + pkg_cv_STOPCOND_CFLAGS="$STOPCOND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_CFLAGS=`$PKG_CONFIG --cflags "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCOND_LIBS"; then + pkg_cv_STOPCOND_LIBS="$STOPCOND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_LIBS=`$PKG_CONFIG --libs "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcond" 2>&1` + else + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcond" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCOND_PKG_ERRORS" >&5 + + + FOUND_STOPCOND="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCOND="no" + +else + STOPCOND_CFLAGS=$pkg_cv_STOPCOND_CFLAGS + STOPCOND_LIBS=$pkg_cv_STOPCOND_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCOND="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCOND}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCOND_CFLAGS="${STOPCOND_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCOND_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCOND_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-capreole $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-capreole config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_capreole/support/configure.ac b/src/amuse_capreole/support/configure.ac new file mode 100644 index 0000000000..8a1b0794f4 --- /dev/null +++ b/src/amuse_capreole/support/configure.ac @@ -0,0 +1,39 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-capreole], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Set the worker language +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find AMUSE libraries +AMUSE_LIB_STOPCOND() +AMUSE_LIB_FORSOCKETS() + + +# Find external dependencies +AC_LANG_PUSH([Fortran]) +AX_MPI() +AC_LANG_POP([Fortran]) + + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_capreole/support/shared b/src/amuse_capreole/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_capreole/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_capreole.py b/src/amuse_capreole/tests/test_capreole.py similarity index 98% rename from src/amuse/test/suite/codes_tests/test_capreole.py rename to src/amuse_capreole/tests/test_capreole.py index afedd08749..ad26f4322e 100644 --- a/src/amuse/test/suite/codes_tests/test_capreole.py +++ b/src/amuse_capreole/tests/test_capreole.py @@ -3,9 +3,9 @@ import numpy -from amuse.test.amusetest import TestWithMPI -from amuse.community.capreole.interface import CapreoleInterface -from amuse.community.capreole.interface import Capreole +from amuse.support.testing.amusetest import TestWithMPI +from amuse_capreole.interface import CapreoleInterface +from amuse_capreole.interface import Capreole from amuse.units import generic_unit_system from amuse.units import generic_unit_converter from amuse.units import units @@ -169,25 +169,28 @@ def test7(self): def test8(self): instance = CapreoleInterface() instance.initialize_code() - err = instance.set_boundary("periodic", "reflective", - "periodic", "reflective", - "periodic", "reflective") + err = instance.set_boundary( + "periodic", "reflective", + "periodic", "reflective", + "periodic", "reflective") self.assertEqual(err, -1) instance.stop() instance = CapreoleInterface() instance.initialize_code() - err = instance.set_boundary("reflective", "periodic", - "periodic", "reflective", - "periodic", "reflective") - self.assertEqual(err, -2) + err = instance.set_boundary( + "reflective", "periodic", + "periodic", "reflective", + "periodic", "reflective") + self.assertEqual(err, -1) instance.stop() instance = CapreoleInterface() instance.initialize_code() - err = instance.set_boundary("periodic", "periodic", - "periodic", "periodic", - "periodic", "periodic") + err = instance.set_boundary( + "periodic", "periodic", + "periodic", "periodic", + "periodic", "periodic") self.assertEqual(err, 0) instance.stop() @@ -531,6 +534,7 @@ def test19(self): results = [] instance = self.new_instance(CapreoleInterface) instance.initialize_code() + instance.setup_mesh(10, 30, 10, 100.0, 300.0, 100.0) instance.commit_parameters() nx, ny, nz, error = instance.get_parallel_decomposition() self.assertEqual(error, 0) @@ -540,7 +544,7 @@ def test19(self): error = instance.set_parallel_decomposition(2, 1, 1) self.assertEqual(error, -1) - def test20(self): + def test20_noci(self): results = [] instance = self.new_instance(CapreoleInterface, number_of_workers=4) instance.initialize_code() @@ -627,7 +631,7 @@ def test22(self): self.assertAlmostRelativeEquals(rhovz, 4.0 * (i+1)) self.assertAlmostRelativeEquals(rhoen, 5.0 * (i+1)) - def test23(self): + def test23_noci(self): results = [] instance = self.new_instance(CapreoleInterface, number_of_workers=3) instance.initialize_code() @@ -663,7 +667,7 @@ def test23(self): self.assertAlmostRelativeEquals(rhovz, 4.0 * (i+1)) self.assertAlmostRelativeEquals(rhoen, 5.0 * (i+1)) - def test24(self): + def test24_noci(self): results = [] instance = self.new_instance(CapreoleInterface, number_of_workers=3) instance.initialize_code() @@ -699,7 +703,7 @@ def test24(self): self.assertAlmostRelativeEquals(rhovz, 4.0 * (i+1)) self.assertAlmostRelativeEquals(rhoen, 5.0 * (i+1)) - def test25(self): + def test25_noci(self): results = [] instance = self.new_instance(CapreoleInterface, number_of_workers=3) instance.initialize_code() @@ -735,7 +739,7 @@ def test25(self): self.assertAlmostRelativeEquals(rhovz, 4.0 * (i+1)) self.assertAlmostRelativeEquals(rhoen, 5.0 * (i+1)) - def test26(self): + def test26_noci(self): results = [] instance = self.new_instance(CapreoleInterface, number_of_workers=9) instance.initialize_code() @@ -818,7 +822,7 @@ def test29(self): instance = CapreoleInterface(number_of_workers=1) self.check_extended_grid(instance) - def xtest30(self): + def xtest30_noci(self): print("Broken as capreole cannot do periodic boundaries with multiple workers!") instance = CapreoleInterface(redirection="none", number_of_workers=8) self.check_extended_grid(instance) @@ -1686,7 +1690,7 @@ def test13(self): self.assertAlmostRelativeEquals(rho, x + (20 * (y-0.5)) | generic_unit_system.density) - def test14(self): + def test14_noci(self): instance = self.new_instance(Capreole, number_of_workers=3) instance.parameters.x_boundary_conditions = ("periodic", "periodic") diff --git a/src/amuse_etics/Makefile b/src/amuse_etics/Makefile new file mode 100644 index 0000000000..480e9a2392 --- /dev/null +++ b/src/amuse_etics/Makefile @@ -0,0 +1,72 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library +DEPFLAGS += $(CUDA_FLAGS) +CXXFLAGS += $(DEPFLAGS) -Wall +LDFLAGS += $(CUDA_LDFLAGS) +LDLIBS += -lcudart + +CODELIB = src/libetics.a + +src/config.mk: + cd src && ../src/configure + +.PHONY: $(CODELIB) +$(CODELIB): src/config.mk + $(MAKE) -C src -j $(CPU_COUNT) libetics.a + + +# Building the workers +etics_worker.h: interface.py + amusifier --type=H interface.py EticsInterface -o $@ + +etics_worker.cc: interface.py + amusifier --type=c interface.py EticsInterface -o $@ + +etics_worker.o: etics_worker.cc etics_worker.h + $(MPICXX) -c -o $@ $(CXXFLAGS) $< + +etics_cuda_worker: interface.o etics_worker.o $(CODELIB) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +%.o: %.cu + $(NVCC) -o $@ -c -Xcompiler="$(CXXFLAGS)" $< + +# Which packages contain which workers? +amuse-etics-cuda_contains: etics_cuda_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + -$(MAKE) -C src clean + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_etics/README.md b/src/amuse_etics/README.md new file mode 100644 index 0000000000..2d24edf344 --- /dev/null +++ b/src/amuse_etics/README.md @@ -0,0 +1,102 @@ +ETICS +===== + +This is ETICS (Expansion Techniques In Collisionless Systems), a GPU (currently +**CUDA only**) N-body code which uses series expansion to calculate the +gravitational field. See more details in this publication: + +Meiron, Y., Li, B., Holley-Bockelmann, K., & Spurzem, R. 2014, ApJ, 792, 98 + +http://adsabs.harvard.edu/abs/2014ApJ...792...98M + + +What's inside +------------- + +- ETICS standalone program +- ETICS static library +- ETICS module for AMUSE + + +Prerequisites +------------- + +- CUDA (>= 6; mandatory) +- HDF5 (optional) +- Boost (optional) +- AMUSE (mandatory only for AMUSE module) + +To disable HDF5 [insert explanation here] +To disable Boost [insert explanation here] + + +Compilation +----------- + +### Standalone program + + make standalone + +builds in `src/`. + + +### Static library + + make library + +builds in `src/`. + + +### AMUSE module + + make install-amuse-etics-cuda + +builds in top level directory. The whole `etics` directory has to be placed (or +linked) as: + + src/amuse_etics/src + + +How to use +---------- + +The `file.ini` is a self-explanatory input file; if compiled without Boost, fill +in the relevant variables in file `noboost.inc` which is compiled into the +executable (any change of parameters requires re-compilation). Start simulation +with: + + ./etics file.ini + +Any input file name is acceptable. + + +Known issues +------------ + +* No MEX + +The MEX (Multipole Expansion) method is not available in this version; thus, the +SCF (Self-Consistent Field) method is the only expansion technique available. +The ETICS program has been heavily restructured and the MEX routines are no +longer compatible. Hopefully this will be fixed. + +* Hardcoded launch configuration + +For at least one of the CUDA kernels, for various reasons, it seems that "brute +force" search is needed to find the optimal launch configuration. Currently it +is hardcoded, and a primitive search routine is provided. + +* Problem for particles with |θ| << 1 + +Due to using an unstable recursion relation to calculate the Associated Legendre +polynomials, particles in a narrow cone around the z-axis cannot be considered +accurately. This means that they give an erroneous contribution to the +gravitational field and also are assigned erroneous force and potential. The +size of this cone increases with the angular term of the expansion. To partly +solve this, the current (ugly) fix is to only consider particles with cos(θ) > +0.999 at the monopole level. This is not so bad because the monopole is always +the most dominant term (and is error free) and the number of particles in this +cone is small and they are transient (i.e. they come out of it usually in a +small number of steps). A somewhat better solution is to make this arbitrary +cutoff of 0.999 l-dependent, and an even better solution would be to use an +asymptotic expression for the Associated Legendre polynomials. diff --git a/src/amuse_etics/__init__.py b/src/amuse_etics/__init__.py new file mode 100644 index 0000000000..56e18f0b9c --- /dev/null +++ b/src/amuse_etics/__init__.py @@ -0,0 +1,2 @@ +# generated file +from .interface import Etics diff --git a/src/amuse/community/etics/format-convert.py b/src/amuse_etics/format-convert.py similarity index 100% rename from src/amuse/community/etics/format-convert.py rename to src/amuse_etics/format-convert.py diff --git a/src/amuse/community/etics/interface.cu b/src/amuse_etics/interface.cu similarity index 100% rename from src/amuse/community/etics/interface.cu rename to src/amuse_etics/interface.cu diff --git a/src/amuse_etics/interface.py b/src/amuse_etics/interface.py new file mode 100644 index 0000000000..e939de3f3d --- /dev/null +++ b/src/amuse_etics/interface.py @@ -0,0 +1,159 @@ +from amuse.community import * +from amuse.community.interface.gd import GravitationalDynamics +from amuse.community.interface.gd import GravitationalDynamicsInterface + +class EticsInterface(CodeInterface, GravitationalDynamicsInterface, LiteratureReferencesMixIn): + """ + .. [#] ADS:2014ApJ...792...98M (Meiron, Y., Li, B., Holley-Bockelmann, K., & Spurzem, R. 2014, ApJ, 792, 98) + """ + + include_headers = ['etics_worker.h'] + + def __init__(self, **keyword_arguments): + CodeInterface.__init__(self, name_of_the_worker='etics_worker', **keyword_arguments) + LiteratureReferencesMixIn.__init__(self) + + @legacy_function + def new_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT) + function.addParameter('mass', dtype='float64', direction=function.IN, + description = 'The mass of the particle') + function.addParameter('x', dtype='float64', direction=function.IN, + description = 'The initial position vector of the particle') + function.addParameter('y', dtype='float64', direction=function.IN, + description = 'The initial position vector of the particle') + function.addParameter('z', dtype='float64', direction=function.IN, + description = 'The initial position vector of the particle') + function.addParameter('vx', dtype='float64', direction=function.IN, + description = 'The initial velocity vector of the particle') + function.addParameter('vy', dtype='float64', direction=function.IN, + description = 'The initial velocity vector of the particle') + function.addParameter('vz', dtype='float64', direction=function.IN, + description = 'The initial velocity vector of the particle') + function.addParameter('radius', dtype='float64', direction=function.IN, + description = 'The radius of the particle', default = 0) + function.result_type = 'int32' + return function + + @legacy_function + def set_state(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('mass', dtype='float64', direction=function.IN, + description = 'The mass of the particle') + function.addParameter('radius', dtype='float64', direction=function.IN, + description = 'The radius of the particle') + function.addParameter('x', dtype='float64', direction=function.IN, + description = 'The initial position vector of the particle') + function.addParameter('y', dtype='float64', direction=function.IN, + description = 'The initial position vector of the particle') + function.addParameter('z', dtype='float64', direction=function.IN, + description = 'The initial position vector of the particle') + function.addParameter('vx', dtype='float64', direction=function.IN, + description = 'The initial velocity vector of the particle') + function.addParameter('vy', dtype='float64', direction=function.IN, + description = 'The initial velocity vector of the particle') + function.addParameter('vz', dtype='float64', direction=function.IN, + description = 'The initial velocity vector of the particle') + function.result_type = 'int32' + return function + + @legacy_function + def get_state(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('mass', dtype='float64', direction=function.OUT, + description = 'The mass of the particle') + function.addParameter('radius', dtype='float64', direction=function.OUT, + description = 'The radius of the particle') + function.addParameter('x', dtype='float64', direction=function.OUT, + description = 'The initial position vector of the particle') + function.addParameter('y', dtype='float64', direction=function.OUT, + description = 'The initial position vector of the particle') + function.addParameter('z', dtype='float64', direction=function.OUT, + description = 'The initial position vector of the particle') + function.addParameter('vx', dtype='float64', direction=function.OUT, + description = 'The initial velocity vector of the particle') + function.addParameter('vy', dtype='float64', direction=function.OUT, + description = 'The initial velocity vector of the particle') + function.addParameter('vz', dtype='float64', direction=function.OUT, + description = 'The initial velocity vector of the particle') + function.result_type = 'int32' + return function + + @legacy_function + def evolve_model(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('dt', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_number_of_particles(): + function = LegacyFunctionSpecification() + function.addParameter('number_of_particles', dtype='int32', direction=function.OUT, description = 'number of particles') + function.result_type = 'int32' + return function + + @legacy_function + def set_time_step(): + function = LegacyFunctionSpecification() + function.addParameter('time_step', dtype='float64', direction=function.IN, description = 'time step') + function.result_type = 'int32' + return function + + @legacy_function + def update_force_potential_arrays(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('dt', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + +class Etics(GravitationalDynamics): + def __init__(self, convert_nbody = None, **keyword_arguments): + legacy_interface = EticsInterface(**keyword_arguments) + GravitationalDynamics.__init__(self, legacy_interface, convert_nbody, **keyword_arguments) + + def define_parameters(self, handler): + handler.add_method_parameter( + 'get_begin_time', + 'set_begin_time', + 'begin_time', + 'model time to start the simulation at', + default_value = 0.0 | nbody_system.time + ) + handler.add_method_parameter( + 'get_time_step', + 'set_time_step', + 'time_step', + 'constant timestep for iteration', + default_value = 0.001953125 | nbody_system.time + ) + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + # Define some shortcuts for better readability. + M = nbody_system.mass + L = nbody_system.length + V = nbody_system.speed + T = nbody_system.time + handler.add_method('new_particle', (M,L,L,L,V,V,V,L), (handler.INDEX, handler.ERROR_CODE)) + handler.add_method('set_state', (handler.INDEX, M,L,L,L,L,V,V,V), (handler.ERROR_CODE)) + handler.add_method('get_state', (handler.INDEX), (M,L,L,L,L,V,V,V, handler.ERROR_CODE)) + handler.add_method('set_time_begin', (T), (handler.ERROR_CODE)) + handler.add_method('get_time_begin', (), (T, handler.ERROR_CODE)) + handler.add_method('get_number_of_particles', (), (units.none, handler.ERROR_CODE)) + handler.add_method('get_time_step', (), (T, handler.ERROR_CODE)) + handler.add_method('set_time_step', (T), (handler.ERROR_CODE)) + handler.add_method('update_force_potential_arrays', (T), (handler.ERROR_CODE)) + + def define_particle_sets(self, handler): + GravitationalDynamics.define_particle_sets(self, handler) + + diff --git a/src/amuse_etics/packages/amuse-etics-cuda.amuse_deps b/src/amuse_etics/packages/amuse-etics-cuda.amuse_deps new file mode 100644 index 0000000000..1738fe0417 --- /dev/null +++ b/src/amuse_etics/packages/amuse-etics-cuda.amuse_deps @@ -0,0 +1 @@ +c++ mpi cuda hdf5 diff --git a/src/amuse_etics/packages/amuse-etics-cuda/amuse_etics b/src/amuse_etics/packages/amuse-etics-cuda/amuse_etics new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_etics/packages/amuse-etics-cuda/amuse_etics @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_etics/packages/amuse-etics-cuda/pyproject.toml b/src/amuse_etics/packages/amuse-etics-cuda/pyproject.toml new file mode 100644 index 0000000000..6156505c36 --- /dev/null +++ b/src/amuse_etics/packages/amuse-etics-cuda/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-etics-cuda" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_etics/**/*.py"] +exclude = [ + "amuse_etics/packages", + "amuse_etics/support", + "amuse_etics/src", + "amuse_etics/tests" + ] +artifacts = ["amuse_etics/etics_cuda_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_etics/tests/"] + +testpaths = ["amuse_etics/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse_etics/src/.gitignore b/src/amuse_etics/src/.gitignore new file mode 100644 index 0000000000..50e064ab5e --- /dev/null +++ b/src/amuse_etics/src/.gitignore @@ -0,0 +1,4 @@ +Makefile +config.h +*.o +*.a diff --git a/src/amuse_etics/src/Makefile.in b/src/amuse_etics/src/Makefile.in new file mode 100644 index 0000000000..6eb5d6909b --- /dev/null +++ b/src/amuse_etics/src/Makefile.in @@ -0,0 +1,67 @@ +CXX = @CXX@ +METHOD = SCF +LMAX ?= 6 +NMAX ?= 10 + +GPU_ARCH = @GPU_ARCH@ +NVCC = @NVCC@ + +BOOSTINC = @BOOSTINC@ +ifeq ($(BOOSTINC), NOBOOST) + BOOST = -DNOBOOST +else + BOOST = -I$(BOOSTINC) +endif + +LDFLAGS = -L@CUDA_ROOT@/lib64 @LDFLAGS@ +CXXFLAGS = @CXXFLAGS@ +LIBS = -lm @LIBS@ +# LIBS should get at least -lcuda -lcudart -lcudadevrt from the configure script +CPPFLAGS = -D$(METHOD) -DLMAX=$(LMAX) -DNMAX=$(NMAX) $(BOOST) @CPPFLAGS@ +ifneq ($(GPU_ARCH),) +CUDAFLAGS = -arch=sm_$(GPU_ARCH) +endif +STATICLIBS = @STATICLIBS@ + +CODELIB = libetics.a + +# object files needed for the library and the standalone +CODEOBJS1 = integrate.o mathaux.o scf.o ic.o + +# object files only needed for the standalone +CODEOBJS2 = io.o main.o + +AR = ar ruv +RANLIB = ranlib + +all: $(CODELIB) standalone + +clean: + $(RM) *.o *.a etics + +$(CODELIB): $(CODEOBJS1) + $(NVCC) $(CUDAFLAGS) -dlink $(CODEOBJS1) -o dlink.o + $(AR) $@ $(CODEOBJS1) dlink.o + $(RANLIB) $@ + +library: $(CODELIB) + +standalone: $(CODEOBJS1) $(CODEOBJS2) + $(NVCC) $(CUDAFLAGS) -dlink $(CODEOBJS1) $(CODEOBJS2) -o dlink.o + $(CXX) $(CXXFLAGS) -o etics $(CODEOBJS1) $(CODEOBJS2) dlink.o $(STATICLIBS) $(LDFLAGS) $(LIBS) + +scf-optimize-lc: mathaux.o scf.o scf-optimize-lc.o ic.o + $(NVCC) $(CUDAFLAGS) -dlink mathaux.o scf.o scf-optimize-lc.o ic.o -o dlink.o + $(CXX) $(CXXFLAGS) -o scf-optimize-lc mathaux.o scf.o scf-optimize-lc.o ic.o dlink.o $(STATICLIBS) $(LDFLAGS) $(LIBS) + +.SUFFIXES: .cu .cpp .o + +# only io.cpp should be compiled with all the weird HDF5 flags +io.o: io.cpp + $(CXX) $(CPPFLAGS) -I@HDF5_ROOT@/include $(CXXFLAGS) -c -o io.o io.cpp + +.cu.o: $< + $(NVCC) $(CUDAFLAGS) $(CPPFLAGS) -Xcompiler "$(CXXFLAGS)" -dc -o $@ $< + +.cpp.o: $< + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $< diff --git a/src/amuse/community/etics/src/common.hpp b/src/amuse_etics/src/common.hpp similarity index 100% rename from src/amuse/community/etics/src/common.hpp rename to src/amuse_etics/src/common.hpp diff --git a/src/amuse/community/etics/src/config.h.in b/src/amuse_etics/src/config.h.in similarity index 84% rename from src/amuse/community/etics/src/config.h.in rename to src/amuse_etics/src/config.h.in index b9e227a0d4..321fe86c26 100644 --- a/src/amuse/community/etics/src/config.h.in +++ b/src/amuse_etics/src/config.h.in @@ -15,12 +15,12 @@ /* Define to 1 if you have the `cudart' library (-lcudart). */ #undef HAVE_LIBCUDART -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H +/* Define to 1 if you have the header file. */ +#undef HAVE_STDIO_H + /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H @@ -57,5 +57,7 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION -/* Define to 1 if you have the ANSI C header files. */ +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ #undef STDC_HEADERS diff --git a/src/amuse_etics/src/configure b/src/amuse_etics/src/configure new file mode 100755 index 0000000000..5426d9850a --- /dev/null +++ b/src/amuse_etics/src/configure @@ -0,0 +1,6107 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for etics 1.0.0. +# +# Report bugs to . +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and sahmes@gmail.com +$0: about your system, including any error possibly output +$0: before this message. Then install a modern shell, or +$0: manually run the script under such a shell if you do +$0: 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_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='etics' +PACKAGE_TARNAME='etics' +PACKAGE_VERSION='1.0.0' +PACKAGE_STRING='etics 1.0.0' +PACKAGE_BUGREPORT='sahmes@gmail.com' +PACKAGE_URL='' + +ac_unique_file="ic.hpp" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_STDIO_H +# include +#endif +#ifdef HAVE_STDLIB_H +# include +#endif +#ifdef HAVE_STRING_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_header_cxx_list= +ac_subst_vars='LTLIBOBJS +LIBOBJS +BOOSTINC +HDF5_ROOT +STATICLIBS +GPU_ARCH +CUDA_ROOT +H5CXX +MPICXX +ac_ct_CC +CFLAGS +CC +SED +NVCC +RANLIB +OBJEXT +EXEEXT +ac_ct_CXX +CPPFLAGS +LDFLAGS +CXXFLAGS +CXX +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 +with_a00000 +with_cuda +with_mpi +with_boost +with_gpu_arch +' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CC +CFLAGS' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 etics 1.0.0 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/etics] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of etics 1.0.0:";; + esac + cat <<\_ACEOF + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + + For the following --with-xxx options, you can specify the root directory of + these special packages that may be installed in unusual locations. + + --with-xxx=DIR - Specify only the directory which contains the + include/ and lib/ subdirectories + + --with-cuda=DIR CUDA installation directory + --with-mpi=DIR MPI installation directory + --with-boost=DIR BOOST installation directory + --with-gpu-arch=ARCH Specify device architechture + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS 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 + CC C compiler command + CFLAGS C compiler flags + +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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +etics configure 1.0.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_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_cxx_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_header_compile +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 etics $as_me 1.0.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +as_fn_append ac_header_cxx_list " stdio.h stdio_h HAVE_STDIO_H" +as_fn_append ac_header_cxx_list " stdlib.h stdlib_h HAVE_STDLIB_H" +as_fn_append ac_header_cxx_list " string.h string_h HAVE_STRING_H" +as_fn_append ac_header_cxx_list " inttypes.h inttypes_h HAVE_INTTYPES_H" +as_fn_append ac_header_cxx_list " stdint.h stdint_h HAVE_STDINT_H" +as_fn_append ac_header_cxx_list " strings.h strings_h HAVE_STRINGS_H" +as_fn_append ac_header_cxx_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" +as_fn_append ac_header_cxx_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" +as_fn_append ac_header_cxx_list " unistd.h unistd_h HAVE_UNISTD_H" +# 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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a rudimentary and experimental configure script!" >&5 +printf "%s\n" "$as_me: WARNING: This is a rudimentary and experimental configure script!" >&2;} + + +ac_config_headers="$ac_config_headers config.h" + + + +if test -z $CXXFLAGS +then : + CXXFLAGS="-O3" +fi + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 +printf %s "checking whether the C++ compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 +printf %s "checking for C++ compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + + +# We are going to politely ignore the GNU standards and explicitly ask the user +# to specify unusual installation locations using the --with commands. + + +# Check whether --with-a00000 was given. +if test ${with_a00000+y} +then : + withval=$with_a00000; +fi + + + +# Check whether --with-cuda was given. +if test ${with_cuda+y} +then : + withval=$with_cuda; CUDA_ROOT="$withval" + +fi + +if test "$CUDA_ROOT" == "no" +then : + as_fn_error $? "This package needs CUDA" "$LINENO" 5 +fi + + +# Check whether --with-mpi was given. +if test ${with_mpi+y} +then : + withval=$with_mpi; MPI_ROOT="$withval" + +fi + + + +# Check whether --with-boost was given. +if test ${with_boost+y} +then : + withval=$with_boost; BOOST_ROOT="$withval" + +fi + + + +# Check whether --with-gpu-arch was given. +if test ${with_gpu_arch+y} +then : + withval=$with_gpu_arch; GPU_ARCH="$withval" + +fi + + +# Some macros to help the script to detect libraries in unusual locations + + + + + + + + + + +# Check CUDA +if test -z $CUDA_ROOT +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$NVCC"; then + ac_cv_prog_NVCC="$NVCC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_NVCC="nvcc" + printf "%s\n" "$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_NVCC" && ac_cv_prog_NVCC="no" +fi +fi +NVCC=$ac_cv_prog_NVCC +if test -n "$NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NVCC" >&5 +printf "%s\n" "$NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + if test "$NVCC" == "no" +then : + as_fn_error $? "This package needs CUDA" "$LINENO" 5 +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +printf %s "checking for a sed that does not truncate output... " >&6; } +if test ${ac_cv_path_SED+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '' >> "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +printf "%s\n" "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + + CUDA_ROOT=`which nvcc | sed 's:/bin/nvcc$::'` + +fi + +else $as_nop + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$NVCC"; then + ac_cv_prog_NVCC="$NVCC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $CUDA_ROOT/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_NVCC="$CUDA_ROOT/bin/nvcc" + printf "%s\n" "$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_NVCC" && ac_cv_prog_NVCC="no" +fi +fi +NVCC=$ac_cv_prog_NVCC +if test -n "$NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NVCC" >&5 +printf "%s\n" "$NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + if test "$NVCC" == "no" +then : + as_fn_error $? "No nvcc executable was found in $CUDA_ROOT/bin" "$LINENO" 5 +fi + +fi + + + LDFLAGS_temporary_storage=$LDFLAGS + LDFLAGS="-L$CUDA_ROOT/lib64 $LDFLAGS" + + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lcuda" >&5 +printf %s "checking for main in -lcuda... " >&6; } +if test ${ac_cv_lib_cuda_main+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcuda $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +int +main (void) +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_cuda_main=yes +else $as_nop + ac_cv_lib_cuda_main=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cuda_main" >&5 +printf "%s\n" "$ac_cv_lib_cuda_main" >&6; } +if test "x$ac_cv_lib_cuda_main" = xyes +then : + printf "%s\n" "#define HAVE_LIBCUDA 1" >>confdefs.h + + LIBS="-lcuda $LIBS" + +else $as_nop + as_fn_error $? "Error while checking for libcuda" "$LINENO" 5 +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lcudart" >&5 +printf %s "checking for main in -lcudart... " >&6; } +if test ${ac_cv_lib_cudart_main+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcudart $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +int +main (void) +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_cudart_main=yes +else $as_nop + ac_cv_lib_cudart_main=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cudart_main" >&5 +printf "%s\n" "$ac_cv_lib_cudart_main" >&6; } +if test "x$ac_cv_lib_cudart_main" = xyes +then : + printf "%s\n" "#define HAVE_LIBCUDART 1" >>confdefs.h + + LIBS="-lcudart $LIBS" + +else $as_nop + as_fn_error $? "Error while checking for libcudart" "$LINENO" 5 +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lcudadevrt" >&5 +printf %s "checking for main in -lcudadevrt... " >&6; } +if test ${ac_cv_lib_cudadevrt_main+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcudadevrt $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +int +main (void) +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_cudadevrt_main=yes +else $as_nop + ac_cv_lib_cudadevrt_main=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cudadevrt_main" >&5 +printf "%s\n" "$ac_cv_lib_cudadevrt_main" >&6; } +if test "x$ac_cv_lib_cudadevrt_main" = xyes +then : + printf "%s\n" "#define HAVE_LIBCUDADEVRT 1" >>confdefs.h + + LIBS="-lcudadevrt $LIBS" + +else $as_nop + as_fn_error $? "Error while checking for cudadevrt" "$LINENO" 5 +fi + + + LDFLAGS=$LDFLAGS_temporary_storage + + +# Check MPI +# AS_IF([test -z $MPI_ROOT], +# [ +# AC_CHECK_LIB([mpi], [main], [], +# [ +# AS_UNSET([ac_cv_lib_mpi_main]) +# AC_CHECK_PROG([MPICC], [mpicc], [mpicc], [:]) +# AS_IF([test "$MPICC" == :], [AC_MSG_ERROR([This package needs MPI])], +# [ +# AC_PROG_SED +# AC_MSG_NOTICE([MPICC executable found, trying to find library nearby]) +# MPI_ROOT=`which mpicc | sed 's:/bin/mpicc$::'` +# AX_LDFLAGS_PUSH([-L$MPI_ROOT/lib]) +# AC_CHECK_LIB([mpi], [main], [], [AC_MSG_ERROR([This package needs MPI])]) +# AX_LDFLAGS_POP +# ]) +# ]) +# ], +# [ +# AX_LDFLAGS_PUSH([-L$MPI_ROOT/lib]) +# AC_CHECK_LIB([mpi], [main], [], [AC_MSG_ERROR([No compatible MPI library was found in $MPI_ROOT/lib])]) +# AX_LDFLAGS_POP +# ]) + + +if test -z $MPI_ROOT +then : + + # Extract the first word of "mpic++", so it can be a program name with args. +set dummy mpic++; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="mpic++" + printf "%s\n" "$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_MPICXX" && ac_cv_prog_MPICXX="no" +fi +fi +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + if test "$MPICXX" == "no" +then : + as_fn_error $? "This package needs MPI (not really but this configure script does)" "$LINENO" 5 +fi + +else $as_nop + + # Extract the first word of "mpic++", so it can be a program name with args. +set dummy mpic++; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $MPI_ROOT/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$MPI_ROOT/bin/mpic++" + printf "%s\n" "$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_MPICXX" && ac_cv_prog_MPICXX="no" +fi +fi +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + if test "$MPICXX" == "no" +then : + as_fn_error $? "Cound not find MPI compiler in $MPI_ROOT/bin" "$LINENO" 5 +fi + +fi + +if test -z $HDF5_ROOT +then : + + # Extract the first word of "h5c++", so it can be a program name with args. +set dummy h5c++; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_H5CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$H5CXX"; then + ac_cv_prog_H5CXX="$H5CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_H5CXX="h5c++" + printf "%s\n" "$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_H5CXX" && ac_cv_prog_H5CXX="no" +fi +fi +H5CXX=$ac_cv_prog_H5CXX +if test -n "$H5CXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $H5CXX" >&5 +printf "%s\n" "$H5CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + if test "$H5CXX" == "no" +then : + as_fn_error $? "This package needs HDF5 (not really but this configure script does)" "$LINENO" 5 +fi + HDF5_ROOT=`which h5c++ | sed 's:/bin/h5c++$::'` + +else $as_nop + + # Extract the first word of "h5c++", so it can be a program name with args. +set dummy h5c++; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_H5CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$H5CXX"; then + ac_cv_prog_H5CXX="$H5CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $HDF5_ROOT/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_H5CXX="$HDF5_ROOT/bin/h5c++" + printf "%s\n" "$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_H5CXX" && ac_cv_prog_H5CXX="no" +fi +fi +H5CXX=$ac_cv_prog_H5CXX +if test -n "$H5CXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $H5CXX" >&5 +printf "%s\n" "$H5CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + if test "$H5CXX" == "no" +then : + as_fn_error $? "Cound not find HDF5 compiler in $HDF5_ROOT/bin" "$LINENO" 5 +fi + +fi + + +# # Check HDF5 +# AS_IF([test -z $HDF5_ROOT], +# [ +# AC_CHECK_LIB([hdf5], [main], [], +# [ +# AS_UNSET([ac_cv_lib_hdf5_main]) +# AC_CHECK_PROG([HDF5CC], [h5cc], [h5cc], [:]) +# AS_IF([test "$HDF5CC" == :], [AC_MSG_ERROR([This package needs HDF5])], +# [ +# AC_PROG_SED +# AC_MSG_NOTICE([H5CC executable found, trying to find library nearby]) +# HDF5_ROOT=`which h5cc | sed 's:/bin/h5cc$::'` +# AC_MSG_NOTICE([XXXXX $HDF5_ROOT]) +# # AX_LDFLAGS_PUSH([dgsfgdfgd /home/ymeiron/local/lib/libhdf5.a]) +# # AC_CHECK_LIB([hdf5], [main], [], [AC_MSG_ERROR([This package needs HDF5])]) +# # AX_LDFLAGS_POP +# ]) +# ]) +# ], +# [ +# AX_LDFLAGS_PUSH([-L$HDF5_ROOT/lib]) +# AC_CHECK_LIB([hdf5], [main], [], [AC_MSG_ERROR([No compatible HDF5 library was found in $HDF5_ROOT/lib])]) +# AX_LDFLAGS_POP +# ]) + + + +H5CXX_SHOW=`h5c++ -show` +MPICXX_SHOW=`mpic++ -show` + +MPICXX_COMPILER=`echo $MPICXX_SHOW | awk '{print $1;}'` +MPICXX_COMPILER=`which ${MPICXX_COMPILER}` + +H5CXX_COMPILER=`echo $H5CXX_SHOW | awk '{print $1;}'` +H5CXX_COMPILER=`which ${H5CXX_COMPILER}` + +H5CXX_SHOW=`echo "$H5CXX_SHOW" | cut -d " " -f2-` +MPICXX_SHOW=`echo "$MPICXX_SHOW" | cut -d " " -f2-` + +if test $MPICXX_COMPILER == $H5CXX_COMPILER +then : + +else $as_nop + as_fn_error $? "mpic++ and h5c++ seem to wrap different compilers!" "$LINENO" 5 +fi +if test $MPICXX_COMPILER == `which $CXX` +then : + +else $as_nop + as_fn_error $? "mpic++ and h5c++ seem to wrap a different compiler than the requested $CXX" "$LINENO" 5 +fi + +# MPICXX_SHOW_UNIQUE="" +# for OPTION in $MPICXX_SHOW +# do +# if test "${H5CXX_SHOW/$OPTION}" == "$H5CXX_SHOW"; then +# MPICXX_SHOW_UNIQUE="$MPICXX_SHOW_UNIQUE $OPTION" +# fi +# done +MPICXX_SHOW_UNIQUE=$MPICXX_SHOW + +CPPFLAGS=`echo $H5CXX_SHOW $MPICXX_SHOW_UNIQUE | grep -o '\-[DI]\S\+' | tr '\n' ' ' | sed -e 's/\ \+/\ /g'`" "$CPPFLAGS +LDFLAGS=`echo $H5CXX_SHOW $MPICXX_SHOW_UNIQUE | grep -o '\-L\S\+\|\-Wl\S\+' | tr '\n' ' ' | sed -e 's/\ \+/\ /g'`" "$LDFLAGS +LIBS=`echo $H5CXX_SHOW $MPICXX_SHOW_UNIQUE | grep -o '\-l\S\+' | tr '\n' ' ' | sed -e 's/\ \+/\ /g'`" "$LIBS +STATICLIBS=`echo $H5CXX_SHOW $MPICXX_SHOW_UNIQUE | grep -o '\s[^-].\+' | tr '\n' ' ' | sed -e 's/\ \+/\ /g'`" "$STATICLIBS + +KNOWNFLAGS="$CPPFLAGS $LDFLAGS $LIBS $STATICLIBS" +ALLOPTIONS="$H5CXX_SHOW $MPICXX_SHOW_UNIQUE" +for OPTION in $ALLOPTIONS +do + if test "${KNOWNFLAGS/$OPTION}" == "$KNOWNFLAGS"; then + CXXFLAGS="$CXXFLAGS $OPTION" + fi +done + + +# echo -e "$CXX \n $CPPFLAGS $LDFLAGS $STATICLIBS $LIBS $CXXFLAGS" | tr '\n' ' ' | sed -e 's/\ \+/\ /g' + + +# Check BOOST +CONFIGSCRIPT_HAVE_BOOST="no" +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +ac_header= ac_cache= +for ac_item in $ac_header_cxx_list +do + if test $ac_cache; then + ac_fn_cxx_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" + if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then + printf "%s\n" "#define $ac_item 1" >> confdefs.h + fi + ac_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item + fi +done + + + + + + + + +if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes +then : + +printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h + +fi +if test -z $BOOST_ROOT +then : + + ac_fn_cxx_check_header_compile "$LINENO" "boost/version.hpp" "ac_cv_header_boost_version_hpp" "$ac_includes_default" +if test "x$ac_cv_header_boost_version_hpp" = xyes +then : + + +printf "%s\n" "#define HAVE_BOOST 1" >>confdefs.h + + CONFIGSCRIPT_HAVE_BOOST="yes" + +fi + + +else $as_nop + + if test "$BOOST_ROOT" != "no" +then : + + + CPPFLAGS_temporary_storage=$CPPFLAGS + CPPFLAGS="-I$BOOST_ROOT $CPPFLAGS" + + ac_fn_cxx_check_header_compile "$LINENO" "boost/version.hpp" "ac_cv_header_boost_version_hpp" "$ac_includes_default" +if test "x$ac_cv_header_boost_version_hpp" = xyes +then : + + +printf "%s\n" "#define HAVE_BOOST 1" >>confdefs.h + + CONFIGSCRIPT_HAVE_BOOST="yes" + +else $as_nop + + as_fn_error $? "Cound not find BOOST headers in $BOOST_ROOT" "$LINENO" 5 + +fi + + + CPPFLAGS=$CPPFLAGS_temporary_storage + + +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 "$CONFIGSCRIPT_HAVE_BOOST" == "yes" +then : + BOOSTINC=$BOOST_ROOT +else $as_nop + BOOSTINC="NOBOOST" +fi + + + + + + + + +ac_config_files="$ac_config_files Makefile" + + + +echo "CPPFLAGS=$CPPFLAGS" +echo "CXXFLAGS=$CXXFLAGS" +echo "LDFLAGS=$LDFLAGS" +echo "LIBS=$LIBS" +echo "STATICLIBS=$STATICLIBS" + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: printing summary + +Compilers: +---------- + C++ compiler: $CXX + CUDA compiler: $NVCC + +Libraries: +---------- + boost: $CONFIGSCRIPT_HAVE_BOOST + cuda: yes + hdf5: yes + mpi: yes + +Parameters: +----------- + GPU architechture: $GPU_ARCH +" >&5 +printf "%s\n" "$as_me: printing summary + +Compilers: +---------- + C++ compiler: $CXX + CUDA compiler: $NVCC + +Libraries: +---------- + boost: $CONFIGSCRIPT_HAVE_BOOST + cuda: yes + hdf5: yes + mpi: yes + +Parameters: +----------- + GPU architechture: $GPU_ARCH +" >&6;} + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 etics $as_me 1.0.0, which was +generated by GNU Autoconf 2.71. 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 +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +etics config.status 1.0.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$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=`printf "%s\n" "$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 ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + + *) 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+y} || CONFIG_FILES=$config_files + test ${CONFIG_HEADERS+y} || 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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + { + printf "%s\n" "/* $configure_input */" >&1 \ + && 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +printf "%s\n" "$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 + printf "%s\n" "/* $configure_input */" >&1 \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi + ;; + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + diff --git a/src/amuse_etics/src/configure.ac b/src/amuse_etics/src/configure.ac new file mode 100644 index 0000000000..a870e8348f --- /dev/null +++ b/src/amuse_etics/src/configure.ac @@ -0,0 +1,281 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +### TODO handle --without-mpi and --without-hdf5 + +AC_PREREQ([2.69]) +AC_INIT([etics], [1.0.0], [sahmes@gmail.com]) + +AC_MSG_WARN([This is a rudimentary and experimental configure script!]) + +AC_CONFIG_SRCDIR([ic.hpp]) +AC_CONFIG_HEADERS([config.h]) + + +AS_IF([test -z $CXXFLAGS], [CXXFLAGS="-O3"]) +AC_PROG_CXX +AC_PROG_RANLIB + +# We are going to politely ignore the GNU standards and explicitly ask the user +# to specify unusual installation locations using the --with commands. + +AC_ARG_WITH([a00000], +[ + For the following --with-xxx options, you can specify the root directory of + these special packages that may be installed in unusual locations. + + --with-xxx=DIR - Specify only the directory which contains the + include/ and lib/ subdirectories +]) + +AC_ARG_WITH( + [cuda], + [AS_HELP_STRING([--with-cuda=DIR], [CUDA installation directory])], + [CUDA_ROOT="$withval"] +) +AS_IF([test "$CUDA_ROOT" == "no"], [AC_MSG_ERROR([This package needs CUDA])]) + +AC_ARG_WITH( + [mpi], + [AS_HELP_STRING([--with-mpi=DIR], [MPI installation directory])], + [MPI_ROOT="$withval"] +) + +AC_ARG_WITH( + [boost], + [AS_HELP_STRING([--with-boost=DIR], [BOOST installation directory])], + [BOOST_ROOT="$withval"] +) + +AC_ARG_WITH( + [gpu-arch], + [AS_HELP_STRING([--with-gpu-arch=ARCH], [Specify device architechture])], + [GPU_ARCH="$withval"] +) + +# Some macros to help the script to detect libraries in unusual locations + +AC_DEFUN([AX_LDFLAGS_PUSH], [ + LDFLAGS_temporary_storage=$LDFLAGS + LDFLAGS="$1 $LDFLAGS" +]) + +AC_DEFUN([AX_LDFLAGS_POP], [ + LDFLAGS=$LDFLAGS_temporary_storage +]) + +AC_DEFUN([AX_CPPFLAGS_PUSH], [ + CPPFLAGS_temporary_storage=$CPPFLAGS + CPPFLAGS="$1 $CPPFLAGS" +]) + +AC_DEFUN([AX_CPPFLAGS_POP], [ + CPPFLAGS=$CPPFLAGS_temporary_storage +]) + + +# Check CUDA +AS_IF([test -z $CUDA_ROOT], +[ + AC_CHECK_PROG([NVCC], [nvcc], [nvcc], [no]) + AS_IF([test "$NVCC" == "no"], [AC_MSG_ERROR([This package needs CUDA])], + [ + AC_PROG_SED + CUDA_ROOT=`which nvcc | sed 's:/bin/nvcc$::'` + ]) +], +[ + AC_CHECK_PROG([NVCC], [nvcc], [$CUDA_ROOT/bin/nvcc], [no], [$CUDA_ROOT/bin]) + AS_IF([test "$NVCC" == "no"], [AC_MSG_ERROR([No nvcc executable was found in $CUDA_ROOT/bin])]) +]) + +AX_LDFLAGS_PUSH([-L$CUDA_ROOT/lib64]) +AC_CHECK_LIB([cuda], [main], [], [AC_MSG_ERROR([Error while checking for libcuda])]) +AC_CHECK_LIB([cudart], [main], [], [AC_MSG_ERROR([Error while checking for libcudart])]) +AC_CHECK_LIB([cudadevrt], [main], [], [AC_MSG_ERROR([Error while checking for cudadevrt])]) +AX_LDFLAGS_POP + +# Check MPI +# AS_IF([test -z $MPI_ROOT], +# [ +# AC_CHECK_LIB([mpi], [main], [], +# [ +# AS_UNSET([ac_cv_lib_mpi_main]) +# AC_CHECK_PROG([MPICC], [mpicc], [mpicc], [:]) +# AS_IF([test "$MPICC" == :], [AC_MSG_ERROR([This package needs MPI])], +# [ +# AC_PROG_SED +# AC_MSG_NOTICE([MPICC executable found, trying to find library nearby]) +# MPI_ROOT=`which mpicc | sed 's:/bin/mpicc$::'` +# AX_LDFLAGS_PUSH([-L$MPI_ROOT/lib]) +# AC_CHECK_LIB([mpi], [main], [], [AC_MSG_ERROR([This package needs MPI])]) +# AX_LDFLAGS_POP +# ]) +# ]) +# ], +# [ +# AX_LDFLAGS_PUSH([-L$MPI_ROOT/lib]) +# AC_CHECK_LIB([mpi], [main], [], [AC_MSG_ERROR([No compatible MPI library was found in $MPI_ROOT/lib])]) +# AX_LDFLAGS_POP +# ]) + + +AS_IF([test -z $MPI_ROOT], +[ + AC_CHECK_PROG([MPICXX], [mpic++], [mpic++], [no]) + AS_IF([test "$MPICXX" == "no"], [AC_MSG_ERROR([This package needs MPI (not really but this configure script does)])]) +], +[ + AC_CHECK_PROG([MPICXX], [mpic++], [$MPI_ROOT/bin/mpic++], [no], [$MPI_ROOT/bin]) + AS_IF([test "$MPICXX" == "no"], [AC_MSG_ERROR([Cound not find MPI compiler in $MPI_ROOT/bin])]) +]) + +AS_IF([test -z $HDF5_ROOT], +[ + AC_CHECK_PROG([H5CXX], [h5c++], [h5c++], [no]) + AS_IF([test "$H5CXX" == "no"], [AC_MSG_ERROR([This package needs HDF5 (not really but this configure script does)])]) + HDF5_ROOT=`which h5c++ | sed 's:/bin/h5c++$::'` +], +[ + AC_CHECK_PROG([H5CXX], [h5c++], [$HDF5_ROOT/bin/h5c++], [no], [$HDF5_ROOT/bin]) + AS_IF([test "$H5CXX" == "no"], [AC_MSG_ERROR([Cound not find HDF5 compiler in $HDF5_ROOT/bin])]) +]) + + +# # Check HDF5 +# AS_IF([test -z $HDF5_ROOT], +# [ +# AC_CHECK_LIB([hdf5], [main], [], +# [ +# AS_UNSET([ac_cv_lib_hdf5_main]) +# AC_CHECK_PROG([HDF5CC], [h5cc], [h5cc], [:]) +# AS_IF([test "$HDF5CC" == :], [AC_MSG_ERROR([This package needs HDF5])], +# [ +# AC_PROG_SED +# AC_MSG_NOTICE([H5CC executable found, trying to find library nearby]) +# HDF5_ROOT=`which h5cc | sed 's:/bin/h5cc$::'` +# AC_MSG_NOTICE([XXXXX $HDF5_ROOT]) +# # AX_LDFLAGS_PUSH([dgsfgdfgd /home/ymeiron/local/lib/libhdf5.a]) +# # AC_CHECK_LIB([hdf5], [main], [], [AC_MSG_ERROR([This package needs HDF5])]) +# # AX_LDFLAGS_POP +# ]) +# ]) +# ], +# [ +# AX_LDFLAGS_PUSH([-L$HDF5_ROOT/lib]) +# AC_CHECK_LIB([hdf5], [main], [], [AC_MSG_ERROR([No compatible HDF5 library was found in $HDF5_ROOT/lib])]) +# AX_LDFLAGS_POP +# ]) + + + +H5CXX_SHOW=`h5c++ -show` +MPICXX_SHOW=`mpic++ -show` + +MPICXX_COMPILER=`echo $MPICXX_SHOW | awk '{print $1;}'` +MPICXX_COMPILER=`which ${MPICXX_COMPILER}` + +H5CXX_COMPILER=`echo $H5CXX_SHOW | awk '{print $1;}'` +H5CXX_COMPILER=`which ${H5CXX_COMPILER}` + +H5CXX_SHOW=`echo "$H5CXX_SHOW" | cut -d " " -f2-` +MPICXX_SHOW=`echo "$MPICXX_SHOW" | cut -d " " -f2-` + +AS_IF([test $MPICXX_COMPILER == $H5CXX_COMPILER], [], [AC_MSG_ERROR([mpic++ and h5c++ seem to wrap different compilers!])]) +AS_IF([test $MPICXX_COMPILER == `which $CXX`], [], [AC_MSG_ERROR([mpic++ and h5c++ seem to wrap a different compiler than the requested $CXX])]) + +# MPICXX_SHOW_UNIQUE="" +# for OPTION in $MPICXX_SHOW +# do +# if test "${H5CXX_SHOW/$OPTION}" == "$H5CXX_SHOW"; then +# MPICXX_SHOW_UNIQUE="$MPICXX_SHOW_UNIQUE $OPTION" +# fi +# done +MPICXX_SHOW_UNIQUE=$MPICXX_SHOW + +CPPFLAGS=`echo $H5CXX_SHOW $MPICXX_SHOW_UNIQUE | grep -o '\-[[DI]]\S\+' | tr '\n' ' ' | sed -e 's/\ \+/\ /g'`" "$CPPFLAGS +LDFLAGS=`echo $H5CXX_SHOW $MPICXX_SHOW_UNIQUE | grep -o '\-L\S\+\|\-Wl\S\+' | tr '\n' ' ' | sed -e 's/\ \+/\ /g'`" "$LDFLAGS +LIBS=`echo $H5CXX_SHOW $MPICXX_SHOW_UNIQUE | grep -o '\-l\S\+' | tr '\n' ' ' | sed -e 's/\ \+/\ /g'`" "$LIBS +STATICLIBS=`echo $H5CXX_SHOW $MPICXX_SHOW_UNIQUE | grep -o '\s[[^-]].\+' | tr '\n' ' ' | sed -e 's/\ \+/\ /g'`" "$STATICLIBS + +KNOWNFLAGS="$CPPFLAGS $LDFLAGS $LIBS $STATICLIBS" +ALLOPTIONS="$H5CXX_SHOW $MPICXX_SHOW_UNIQUE" +for OPTION in $ALLOPTIONS +do + if test "${KNOWNFLAGS/$OPTION}" == "$KNOWNFLAGS"; then + CXXFLAGS="$CXXFLAGS $OPTION" + fi +done + + +# echo -e "$CXX \n $CPPFLAGS $LDFLAGS $STATICLIBS $LIBS $CXXFLAGS" | tr '\n' ' ' | sed -e 's/\ \+/\ /g' + + +# Check BOOST +CONFIGSCRIPT_HAVE_BOOST="no" +AC_LANG_PUSH([C++]) +AS_IF([test -z $BOOST_ROOT], +[ + AC_CHECK_HEADER([boost/version.hpp], + [ + AC_DEFINE([HAVE_BOOST], [1], [Define to 1 if you have the boost libraries.]) + CONFIGSCRIPT_HAVE_BOOST="yes" + ]) +], +[ + AS_IF([test "$BOOST_ROOT" != "no"], + [ + AX_CPPFLAGS_PUSH([-I$BOOST_ROOT]) + AC_CHECK_HEADER([boost/version.hpp], + [ + AC_DEFINE([HAVE_BOOST], [1], [Define to 1 if you have the boost libraries.]) + CONFIGSCRIPT_HAVE_BOOST="yes" + ], + [ + AC_MSG_ERROR([Cound not find BOOST headers in $BOOST_ROOT]) + ]) + AX_CPPFLAGS_POP + ]) +]) +AC_LANG_POP([C++]) + +AS_IF([test "$CONFIGSCRIPT_HAVE_BOOST" == "yes"], [BOOSTINC=$BOOST_ROOT], [BOOSTINC="NOBOOST"]) + + +AC_SUBST([CUDA_ROOT]) +AC_SUBST([NVCC]) +AC_SUBST([GPU_ARCH]) +AC_SUBST([STATICLIBS]) +AC_SUBST([HDF5_ROOT]) +AC_SUBST([BOOSTINC]) +AC_CONFIG_FILES([Makefile]) + + +echo "CPPFLAGS=$CPPFLAGS" +echo "CXXFLAGS=$CXXFLAGS" +echo "LDFLAGS=$LDFLAGS" +echo "LIBS=$LIBS" +echo "STATICLIBS=$STATICLIBS" + + + +AC_MSG_NOTICE([printing summary + +Compilers: +---------- + C++ compiler: $CXX + CUDA compiler: $NVCC + +Libraries: +---------- + boost: $CONFIGSCRIPT_HAVE_BOOST + cuda: yes + hdf5: yes + mpi: yes + +Parameters: +----------- + GPU architechture: $GPU_ARCH +]) + +AC_OUTPUT diff --git a/src/amuse/community/etics/src/file.ini b/src/amuse_etics/src/file.ini similarity index 100% rename from src/amuse/community/etics/src/file.ini rename to src/amuse_etics/src/file.ini diff --git a/src/amuse/community/etics/src/ic.cpp b/src/amuse_etics/src/ic.cpp similarity index 100% rename from src/amuse/community/etics/src/ic.cpp rename to src/amuse_etics/src/ic.cpp diff --git a/src/amuse/community/etics/src/ic.hpp b/src/amuse_etics/src/ic.hpp similarity index 100% rename from src/amuse/community/etics/src/ic.hpp rename to src/amuse_etics/src/ic.hpp diff --git a/src/amuse/community/etics/src/integrate.cu b/src/amuse_etics/src/integrate.cu similarity index 100% rename from src/amuse/community/etics/src/integrate.cu rename to src/amuse_etics/src/integrate.cu diff --git a/src/amuse/community/etics/src/integrate.hpp b/src/amuse_etics/src/integrate.hpp similarity index 100% rename from src/amuse/community/etics/src/integrate.hpp rename to src/amuse_etics/src/integrate.hpp diff --git a/src/amuse/community/etics/src/io.cpp b/src/amuse_etics/src/io.cpp similarity index 100% rename from src/amuse/community/etics/src/io.cpp rename to src/amuse_etics/src/io.cpp diff --git a/src/amuse/community/etics/src/io.hpp b/src/amuse_etics/src/io.hpp similarity index 100% rename from src/amuse/community/etics/src/io.hpp rename to src/amuse_etics/src/io.hpp diff --git a/src/amuse/community/etics/src/main.cu b/src/amuse_etics/src/main.cu similarity index 100% rename from src/amuse/community/etics/src/main.cu rename to src/amuse_etics/src/main.cu diff --git a/src/amuse/community/etics/src/mathaux.cu b/src/amuse_etics/src/mathaux.cu similarity index 100% rename from src/amuse/community/etics/src/mathaux.cu rename to src/amuse_etics/src/mathaux.cu diff --git a/src/amuse/community/etics/src/mathaux.hpp b/src/amuse_etics/src/mathaux.hpp similarity index 100% rename from src/amuse/community/etics/src/mathaux.hpp rename to src/amuse_etics/src/mathaux.hpp diff --git a/src/amuse/community/etics/src/noboost.inc b/src/amuse_etics/src/noboost.inc similarity index 100% rename from src/amuse/community/etics/src/noboost.inc rename to src/amuse_etics/src/noboost.inc diff --git a/src/amuse/community/etics/src/scf-optimize-lc.cu b/src/amuse_etics/src/scf-optimize-lc.cu similarity index 100% rename from src/amuse/community/etics/src/scf-optimize-lc.cu rename to src/amuse_etics/src/scf-optimize-lc.cu diff --git a/src/amuse/community/etics/src/scf.cu b/src/amuse_etics/src/scf.cu similarity index 100% rename from src/amuse/community/etics/src/scf.cu rename to src/amuse_etics/src/scf.cu diff --git a/src/amuse/community/etics/src/scf.hpp b/src/amuse_etics/src/scf.hpp similarity index 100% rename from src/amuse/community/etics/src/scf.hpp rename to src/amuse_etics/src/scf.hpp diff --git a/src/amuse_etics/support/aclocal.m4 b/src/amuse_etics/support/aclocal.m4 new file mode 100644 index 0000000000..4d5a39444b --- /dev/null +++ b/src/amuse_etics/support/aclocal.m4 @@ -0,0 +1,19 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_cuda.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_lib_hdf5.m4]) +m4_include([shared/m4/ax_mpi.m4]) diff --git a/src/amuse_etics/support/config.mk.in b/src/amuse_etics/support/config.mk.in new file mode 100644 index 0000000000..b9e497270e --- /dev/null +++ b/src/amuse_etics/support/config.mk.in @@ -0,0 +1,31 @@ +# Compilers +CXX = @CXX@ +MPICXX = @MPICXX@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ + + +# General flags and libraries +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# External dependencies +CUDA_TK = @CUDA_TK@ +NVCC = @NVCC@ +CUDA_FLAGS = @CUDA_FLAGS@ +CUDA_LDFLAGS = @CUDA_LDFLAGS@ + +HDF5_VERSION = @HDF5_VERSION@ +HDF5_CFLAGS = @HDF5_CFLAGS@ +HDF5_CPPFLAGS = @HDF5_CPPFLAGS@ +HDF5_LIBS = @HDF5_LIBS@ +HDF5_FLIBS = @HDF5_FLIBS@ + + diff --git a/src/amuse_etics/support/configure b/src/amuse_etics/support/configure new file mode 100755 index 0000000000..8e16c753d6 --- /dev/null +++ b/src/amuse_etics/support/configure @@ -0,0 +1,7841 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-etics 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-etics' +PACKAGE_TARNAME='amuse-etics' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-etics 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_STDIO_H +# include +#endif +#ifdef HAVE_STDLIB_H +# include +#endif +#ifdef HAVE_STRING_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_header_c_list= +ac_subst_vars='LTLIBOBJS +LIBOBJS +HDF5_TYPE +HDF5_FLIBS +HDF5_FFLAGS +HDF5_FC +HDF5_LIBS +HDF5_LDFLAGS +HDF5_CPPFLAGS +HDF5_CFLAGS +HDF5_CC +HDF5_VERSION +H5FC +H5CC +AWK +SED +CUDA_LDFLAGS +CUDA_FLAGS +NVCC +CUDA_TK +ac_ct_CC +CFLAGS +CC +amuse_cuda_verify_NVCC +MPILIBS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +RANLIB +AR +target_os +target_vendor +target_cpu +target +OBJEXT +EXEEXT +ac_ct_CXX +CPPFLAGS +LDFLAGS +CXXFLAGS +CXX +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +with_hdf5 +' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +MPICXX +CC +CFLAGS' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-etics 1.0 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/amuse-etics] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-etics 1.0:";; + esac + cat <<\_ACEOF + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-hdf5=yes/no/PATH location of h5cc or h5pcc for HDF5 configuration + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS 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 + MPICXX MPI C++ compiler command + CC C compiler command + CFLAGS C compiler flags + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-etics configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-etics $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" +as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" +as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" +as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" +as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" +as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" +as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" +as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" +as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 +printf %s "checking whether the C++ compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 +printf %s "checking for C++ compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find external dependencies +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + + + 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 x"$CUDA_TK" != x +then : + + # User set CUDA_TK, verify and use it if it works + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d $CUDA_TK +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $CUDA_TK/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x$CUDA_TK" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in $CUDA_TK/include" + amuse_cuda_flags="-I$CUDA_TK/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x$CUDA_TK" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in $CUDA_TK/lib" + amuse_cuda_verify_msg64="for libcudart in $CUDA_TK/lib64" + amuse_cuda_ldflags="-L$CUDA_TK/lib" + amuse_cuda_ldflags64="-L$CUDA_TK/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$CUDA_TK" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $CUDA_TK does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: $CUDA_TK does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + + if test x"$NVCC" = x +then : + + as_fn_error $? "CUDA_TK is set, but there is no nvcc in $CUDA_TK/bin. Please set CUDA_TK to the CUDA installation directory, or unset it to autodetect." "$LINENO" 5 + +fi + +else $as_nop + + # CUDA_TK not set, try to discover CUDA via PATH + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + # Got nvcc, verify that we have the rest too + amuse_cuda_verify_ctk_rel=$(dirname -- "$amuse_cuda_verify_NVCC")/.. + # Canonicalise path portably so that it looks nicer + amuse_cuda_verify_CUDA_TK=$(test -d "$amuse_cuda_verify_ctk_rel" && CDPATH= cd -P -- "$amuse_cuda_verify_ctk_rel" && pwd -P) + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in /include" + amuse_cuda_flags="-I/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in /lib" + amuse_cuda_verify_msg64="for libcudart in /lib64" + amuse_cuda_ldflags="-L/lib" + amuse_cuda_ldflags64="-L/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$amuse_cuda_verify_CUDA_TK" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Could not find CUDA via PATH" >&5 +printf "%s\n" "$as_me: Could not find CUDA via PATH" >&6;} + +fi + + + # Not in PATH, try default directory + if test x"$CUDA_TK" = x +then : + + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d /usr/local/cuda +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /usr/local/cuda/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x/usr/local/cuda" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in /usr/local/cuda/include" + amuse_cuda_flags="-I/usr/local/cuda/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x/usr/local/cuda" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in /usr/local/cuda/lib" + amuse_cuda_verify_msg64="for libcudart in /usr/local/cuda/lib64" + amuse_cuda_ldflags="-L/usr/local/cuda/lib" + amuse_cuda_ldflags64="-L/usr/local/cuda/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="/usr/local/cuda" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: /usr/local/cuda does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: /usr/local/cuda does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + +fi + + # Try /usr/local/cuda-#.#, but only if there's exactly one match + if test x"$CUDA_TK" = x +then : + + # List CUDA installations + amuse_cuda_installs=$(ls -1 -d /usr/local/cuda-*.* 2>/dev/null) + # If there's more than one, the above will have newlines, and change when we do this + amuse_cuda_installs2=$(echo "x${amuse_cuda_installs}" | tr -d ':space:') + if test "x${amuse_cuda_installs}" != x +then : + + if test "x${amuse_cuda_installs}" = "${amuse_cuda_installs2}" +then : + + # Here, there's exactly one match + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d $amuse_cuda_installs +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $amuse_cuda_installs/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x$amuse_cuda_installs" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in $amuse_cuda_installs/include" + amuse_cuda_flags="-I$amuse_cuda_installs/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x$amuse_cuda_installs" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in $amuse_cuda_installs/lib" + amuse_cuda_verify_msg64="for libcudart in $amuse_cuda_installs/lib64" + amuse_cuda_ldflags="-L$amuse_cuda_installs/lib" + amuse_cuda_ldflags64="-L$amuse_cuda_installs/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$amuse_cuda_installs" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $amuse_cuda_installs does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: $amuse_cuda_installs does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Multiple CUDA installations found in /usr/local, without a /usr/local/cuda symlink. Please set CUDA_TK to specify which one you want to use." >&5 +printf "%s\n" "$as_me: Multiple CUDA installations found in /usr/local, without a /usr/local/cuda symlink. Please set CUDA_TK to specify which one you want to use." >&6;} + +fi + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: No CUDA installations found in /usr/local" >&5 +printf "%s\n" "$as_me: No CUDA installations found in /usr/local" >&6;} + +fi + +fi + + # Try some other locations + for dir in /opt/cuda /usr/local/cuda/cuda /opt/cuda/cuda ; do + if test x"$CUDA_TK" = x +then : + + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d $dir +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $dir/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x$dir" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in $dir/include" + amuse_cuda_flags="-I$dir/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x$dir" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in $dir/lib" + amuse_cuda_verify_msg64="for libcudart in $dir/lib64" + amuse_cuda_ldflags="-L$dir/lib" + amuse_cuda_ldflags64="-L$dir/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$dir" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $dir does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: $dir does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + +fi + done + + # These directories were checked by the old macro, but they're highly obsolete + # so we're not trying them anymore: + # /usr/lib/nvidia, /usr/include/nvidia, /usr/lib/nvidia-current, /usr/include/nvidia-current + + if test x"$CUDA_TK" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: CUDA not found. Set CUDA_TK if you have it in an odd location." >&5 +printf "%s\n" "$as_me: CUDA not found. Set CUDA_TK if you have it in an odd location." >&6;} + +fi + +fi + + if test x"$CUDA_TK" != x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: CUDA found at $CUDA_TK" >&5 +printf "%s\n" "$as_me: CUDA found at $CUDA_TK" >&6;} + + + + + +fi + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +printf %s "checking for a sed that does not truncate output... " >&6; } +if test ${ac_cv_path_SED+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '' >> "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +printf "%s\n" "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AWK+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_AWK="$ac_prog" + printf "%s\n" "$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 +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +printf "%s\n" "$AWK" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$AWK" && break +done + +ac_header= ac_cache= +for ac_item in $ac_header_c_list +do + if test $ac_cache; then + ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" + if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then + printf "%s\n" "#define $ac_item 1" >> confdefs.h + fi + ac_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item + fi +done + + + + + + + + +if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes +then : + +printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h + +fi + + + + + + +if test "" = "" ; then + : # Recognized value +elif test "" = "serial" ; then + : # Recognized value +elif test "" = "parallel"; then + : # Recognized value +else + as_fn_error $? " +Unrecognized value for AX_LIB_HDF5 within configure.ac. +If supplied, argument 1 must be either 'serial' or 'parallel'. +" "$LINENO" 5 +fi + + +# Check whether --with-hdf5 was given. +if test ${with_hdf5+y} +then : + withval=$with_hdf5; if test "$withval" = "no"; then + with_hdf5="no" + elif test "$withval" = "yes"; then + with_hdf5="yes" + else + with_hdf5="yes" + H5CC="$withval" + fi +else $as_nop + with_hdf5="yes" + +fi + + +HDF5_CC="" +HDF5_VERSION="" +HDF5_CFLAGS="" +HDF5_CPPFLAGS="" +HDF5_LDFLAGS="" +HDF5_LIBS="" +HDF5_FC="" +HDF5_FFLAGS="" +HDF5_FLIBS="" +HDF5_TYPE="" + +if test "$with_hdf5" = "yes"; then + if test -z "$H5CC"; then + for ac_prog in h5cc h5pcc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_H5CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $H5CC in + [\\/]* | ?:[\\/]*) + ac_cv_path_H5CC="$H5CC" # 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_H5CC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +H5CC=$ac_cv_path_H5CC +if test -n "$H5CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $H5CC" >&5 +printf "%s\n" "$H5CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$H5CC" && break +done + + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Using provided HDF5 C wrapper" >&5 +printf %s "checking Using provided HDF5 C wrapper... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $H5CC" >&5 +printf "%s\n" "$H5CC" >&6; } + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for HDF5 type" >&5 +printf %s "checking for HDF5 type... " >&6; } + case $H5CC in #( + *h5pcc) : + HDF5_TYPE=parallel ;; #( + *h5cc) : + HDF5_TYPE=serial ;; #( + *) : + HDF5_TYPE=neither ;; +esac + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $HDF5_TYPE" >&5 +printf "%s\n" "$HDF5_TYPE" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for HDF5 libraries" >&5 +printf %s "checking for HDF5 libraries... " >&6; } + if test ! -f "$H5CC" || test ! -x "$H5CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: +Unable to locate HDF5 compilation helper scripts 'h5cc' or 'h5pcc'. +Please specify --with-hdf5= as the full path to h5cc or h5pcc. +HDF5 support is being disabled (equivalent to --with-hdf5=no). +" >&5 +printf "%s\n" "$as_me: WARNING: +Unable to locate HDF5 compilation helper scripts 'h5cc' or 'h5pcc'. +Please specify --with-hdf5= as the full path to h5cc or h5pcc. +HDF5 support is being disabled (equivalent to --with-hdf5=no). +" >&2;} + with_hdf5="no" + with_hdf5_fortran="no" + else + HDF5_SHOW=$(eval $H5CC -show) + + HDF5_CC=$(eval $H5CC -show | head -n 1 | $AWK '{print $1}') + if test "$HDF5_CC" = "ccache"; then + HDF5_CC=$(eval $H5CC -show | head -n 1 | $AWK '{print $2}') + fi + + + HDF5_VERSION=$(eval $H5CC -showconfig | $GREP 'HDF5 Version:' \ + | $AWK '{print $3}') + + HDF5_tmp_flags=$(eval $H5CC -showconfig \ + | $GREP 'FLAGS\|Extra libraries:' \ + | $AWK -F: '{printf("%s "), $2}' ) + + HDF5_tmp_inst=$(eval $H5CC -showconfig \ + | $GREP 'Installation point:' \ + | $AWK '{print $NF}' ) + + HDF5_CPPFLAGS="-I${HDF5_tmp_inst}/include" + + for arg in $HDF5_SHOW $HDF5_tmp_flags ; do + case "$arg" in + -I*) echo $HDF5_CPPFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ + || HDF5_CPPFLAGS="$HDF5_CPPFLAGS $arg" + ;; + -L*) echo $HDF5_LDFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ + || HDF5_LDFLAGS="$HDF5_LDFLAGS $arg" + ;; + -l*) echo $HDF5_LIBS | $GREP -e "$arg" 2>&1 >/dev/null \ + || HDF5_LIBS="$HDF5_LIBS $arg" + ;; + esac + done + + HDF5_LIBS="-lhdf5 $HDF5_LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (version $HDF5_VERSION)" >&5 +printf "%s\n" "yes (version $HDF5_VERSION)" >&6; } + + 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 + + ax_lib_hdf5_save_CC=$CC + ax_lib_hdf5_save_CPPFLAGS=$CPPFLAGS + ax_lib_hdf5_save_LIBS=$LIBS + ax_lib_hdf5_save_LDFLAGS=$LDFLAGS + CC=$HDF5_CC + CPPFLAGS=$HDF5_CPPFLAGS + LIBS=$HDF5_LIBS + LDFLAGS=$HDF5_LDFLAGS + ac_fn_c_check_header_compile "$LINENO" "hdf5.h" "ac_cv_header_hdf5_h" "$ac_includes_default" +if test "x$ac_cv_header_hdf5_h" = xyes +then : + ac_cv_hadf5_h=yes +else $as_nop + ac_cv_hadf5_h=no +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for H5Fcreate in -lhdf5" >&5 +printf %s "checking for H5Fcreate in -lhdf5... " >&6; } +if test ${ac_cv_lib_hdf5_H5Fcreate+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lhdf5 $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. */ +char H5Fcreate (); +int +main (void) +{ +return H5Fcreate (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_hdf5_H5Fcreate=yes +else $as_nop + ac_cv_lib_hdf5_H5Fcreate=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hdf5_H5Fcreate" >&5 +printf "%s\n" "$ac_cv_lib_hdf5_H5Fcreate" >&6; } +if test "x$ac_cv_lib_hdf5_H5Fcreate" = xyes +then : + ac_cv_libhdf5=yes +else $as_nop + ac_cv_libhdf5=no +fi + + if test "$ac_cv_hadf5_h" = "no" && test "$ac_cv_libhdf5" = "no" ; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unable to compile HDF5 test program" >&5 +printf "%s\n" "$as_me: WARNING: Unable to compile HDF5 test program" >&2;} + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lhdf5_hl" >&5 +printf %s "checking for main in -lhdf5_hl... " >&6; } +if test ${ac_cv_lib_hdf5_hl_main+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lhdf5_hl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +int +main (void) +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_hdf5_hl_main=yes +else $as_nop + ac_cv_lib_hdf5_hl_main=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hdf5_hl_main" >&5 +printf "%s\n" "$ac_cv_lib_hdf5_hl_main" >&6; } +if test "x$ac_cv_lib_hdf5_hl_main" = xyes +then : + HDF5_LIBS="-lhdf5_hl $HDF5_LIBS" +fi +ac_cv_lib_hdf5_hl=ac_cv_lib_hdf5_hl_main + + + CC=$ax_lib_hdf5_save_CC + CPPFLAGS=$ax_lib_hdf5_save_CPPFLAGS + LIBS=$ax_lib_hdf5_save_LIBS + LDFLAGS=$ax_lib_hdf5_save_LDFLAGS + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for matching HDF5 Fortran wrapper" >&5 +printf %s "checking for matching HDF5 Fortran wrapper... " >&6; } + H5FC=$(eval echo -n $H5CC | $SED -n 's/cc$/fc/p') + if test -x "$H5FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $H5FC" >&5 +printf "%s\n" "$H5FC" >&6; } + with_hdf5_fortran="yes" + + + for arg in `$H5FC -show` + do + case "$arg" in #( + -I*) echo $HDF5_FFLAGS | $GREP -e "$arg" >/dev/null \ + || HDF5_FFLAGS="$HDF5_FFLAGS $arg" + ;;#( + -L*) echo $HDF5_FFLAGS | $GREP -e "$arg" >/dev/null \ + || HDF5_FFLAGS="$HDF5_FFLAGS $arg" + echo $HDF5_FFLAGS | $GREP -e "-I${arg#-L}" >/dev/null \ + || HDF5_FFLAGS="$HDF5_FFLAGS -I${arg#-L}" + ;; + esac + done + + for arg in $HDF5_LIBS + do + case "$arg" in #( + -lhdf5_hl) HDF5_FLIBS="$HDF5_FLIBS -lhdf5hl_fortran $arg" + ;; #( + -lhdf5) HDF5_FLIBS="$HDF5_FLIBS -lhdf5_fortran $arg" + ;; #( + *) HDF5_FLIBS="$HDF5_FLIBS $arg" + ;; + esac + done + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + with_hdf5_fortran="no" + fi + + + + + + + + + + + + +printf "%s\n" "#define HAVE_HDF5 1" >>confdefs.h + + 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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-etics $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-etics config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +AWK='$AWK' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_etics/support/configure.ac b/src/amuse_etics/support/configure.ac new file mode 100644 index 0000000000..32597bd3a5 --- /dev/null +++ b/src/amuse_etics/support/configure.ac @@ -0,0 +1,36 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-etics], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_CXX() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find external dependencies +AC_LANG_PUSH([C++]) + +AX_MPI() +AMUSE_CUDA() +AX_LIB_HDF5() + +AC_LANG_POP([C++]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_etics/support/shared b/src/amuse_etics/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_etics/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse_etics/tests/test_etics.py b/src/amuse_etics/tests/test_etics.py new file mode 100644 index 0000000000..f383bce205 --- /dev/null +++ b/src/amuse_etics/tests/test_etics.py @@ -0,0 +1,14 @@ +from amuse_etics.interface import Etics, EticsInterface + + +class TestTests: + """Dummy test class to avoid failure. + + Pytest fails the tests if it doesn't find any. Etics doesn't have any tests yet, so + here's a dummy test to avoid the CI failing. + + Of course ideally there would be some actual tests, so please add some if you can. + """ + + def test_dummy(self): + pass diff --git a/src/amuse_evtwin/Makefile b/src/amuse_evtwin/Makefile new file mode 100644 index 0000000000..d14c95bbc6 --- /dev/null +++ b/src/amuse_evtwin/Makefile @@ -0,0 +1,75 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + +# Building the code into a static library +FCFLAGS += $(FORSOCKETS_CFLAGS) -cpp +LDFLAGS += +LDLIBS += $(FORSOCKETS_LIBS) + +SRCDIR = src/trunk +CODELIB=$(SRCDIR)/lib/libtwin.a $(SRCDIR)/lib/libtwincore.a +CMAKE_DEPS = $(SRCDIR)/CMakeLists.txt $(SRCDIR)/cmake/CompilerFlags.cmake $(SRCDIR)/cmake/FileList.cmake +CMAKE_GENERATOR ?= Unix Makefiles + + +build: + mkdir -p build + +build/Makefile: $(CMAKE_DEPS) | build + cd build && FC="$(FC) $(FCFLAGS)" cmake ../src/trunk -DCMAKE_Fortran_FLAGS:STRING="$(FCFLAGS)" -G "$(CMAKE_GENERATOR)" -DWANT_MKMERGERMOD=0 -DWANT_LIBRARY=1 + +.PHONY: $(CODELIB) +$(CODELIB) &: build/Makefile + $(MAKE) -C build -j 1 all + +# Building the workers +evtwin_worker.f90: interface.py + amusifier --type=f90 interface.py EVtwinInterface -o $@ + +evtwin_worker.o: evtwin_worker.f90 $(CODELIB) + $(MPIFC) -c $(FCFLAGS) -Ibuild $< + +evtwin_worker: evtwin_worker.o $(SRCDIR)/code/libint.o $(CODELIB) + $(MPIFC) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +%.o: %.f90 + $(FC) -c -o $@ $(FCFLAGS) -Ibuild $< + + +# Which packages contain which workers? +amuse-evtwin_contains: evtwin_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + rm -rf build + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + diff --git a/src/amuse_evtwin/__init__.py b/src/amuse_evtwin/__init__.py new file mode 100644 index 0000000000..209adc77c0 --- /dev/null +++ b/src/amuse_evtwin/__init__.py @@ -0,0 +1 @@ +from .interface import Evtwin diff --git a/src/amuse/community/evtwin/data/README.txt b/src/amuse_evtwin/data/README.txt similarity index 100% rename from src/amuse/community/evtwin/data/README.txt rename to src/amuse_evtwin/data/README.txt diff --git a/src/amuse/community/evtwin/data/input/input/COtables/COtables_z00001 b/src/amuse_evtwin/data/input/input/COtables/COtables_z00001 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/COtables/COtables_z00001 rename to src/amuse_evtwin/data/input/input/COtables/COtables_z00001 diff --git a/src/amuse/community/evtwin/data/input/input/COtables/COtables_z00003 b/src/amuse_evtwin/data/input/input/COtables/COtables_z00003 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/COtables/COtables_z00003 rename to src/amuse_evtwin/data/input/input/COtables/COtables_z00003 diff --git a/src/amuse/community/evtwin/data/input/input/COtables/COtables_z0001 b/src/amuse_evtwin/data/input/input/COtables/COtables_z0001 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/COtables/COtables_z0001 rename to src/amuse_evtwin/data/input/input/COtables/COtables_z0001 diff --git a/src/amuse/community/evtwin/data/input/input/COtables/COtables_z0003 b/src/amuse_evtwin/data/input/input/COtables/COtables_z0003 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/COtables/COtables_z0003 rename to src/amuse_evtwin/data/input/input/COtables/COtables_z0003 diff --git a/src/amuse/community/evtwin/data/input/input/COtables/COtables_z001 b/src/amuse_evtwin/data/input/input/COtables/COtables_z001 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/COtables/COtables_z001 rename to src/amuse_evtwin/data/input/input/COtables/COtables_z001 diff --git a/src/amuse/community/evtwin/data/input/input/COtables/COtables_z002 b/src/amuse_evtwin/data/input/input/COtables/COtables_z002 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/COtables/COtables_z002 rename to src/amuse_evtwin/data/input/input/COtables/COtables_z002 diff --git a/src/amuse/community/evtwin/data/input/input/COtables/COtables_z003 b/src/amuse_evtwin/data/input/input/COtables/COtables_z003 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/COtables/COtables_z003 rename to src/amuse_evtwin/data/input/input/COtables/COtables_z003 diff --git a/src/amuse/community/evtwin/data/input/input/COtables/COtables_z004 b/src/amuse_evtwin/data/input/input/COtables/COtables_z004 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/COtables/COtables_z004 rename to src/amuse_evtwin/data/input/input/COtables/COtables_z004 diff --git a/src/amuse/community/evtwin/data/input/input/COtables/COtables_z006 b/src/amuse_evtwin/data/input/input/COtables/COtables_z006 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/COtables/COtables_z006 rename to src/amuse_evtwin/data/input/input/COtables/COtables_z006 diff --git a/src/amuse/community/evtwin/data/input/input/COtables/COtables_z008 b/src/amuse_evtwin/data/input/input/COtables/COtables_z008 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/COtables/COtables_z008 rename to src/amuse_evtwin/data/input/input/COtables/COtables_z008 diff --git a/src/amuse/community/evtwin/data/input/input/COtables/COtables_z01 b/src/amuse_evtwin/data/input/input/COtables/COtables_z01 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/COtables/COtables_z01 rename to src/amuse_evtwin/data/input/input/COtables/COtables_z01 diff --git a/src/amuse/community/evtwin/data/input/input/COtables/COtables_z02 b/src/amuse_evtwin/data/input/input/COtables/COtables_z02 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/COtables/COtables_z02 rename to src/amuse_evtwin/data/input/input/COtables/COtables_z02 diff --git a/src/amuse/community/evtwin/data/input/input/COtables/COtables_z03 b/src/amuse_evtwin/data/input/input/COtables/COtables_z03 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/COtables/COtables_z03 rename to src/amuse_evtwin/data/input/input/COtables/COtables_z03 diff --git a/src/amuse/community/evtwin/data/input/input/COtables/COtables_z04 b/src/amuse_evtwin/data/input/input/COtables/COtables_z04 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/COtables/COtables_z04 rename to src/amuse_evtwin/data/input/input/COtables/COtables_z04 diff --git a/src/amuse/community/evtwin/data/input/input/COtables/COtables_z05 b/src/amuse_evtwin/data/input/input/COtables/COtables_z05 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/COtables/COtables_z05 rename to src/amuse_evtwin/data/input/input/COtables/COtables_z05 diff --git a/src/amuse/community/evtwin/data/input/input/amuse/README b/src/amuse_evtwin/data/input/input/amuse/README similarity index 100% rename from src/amuse/community/evtwin/data/input/input/amuse/README rename to src/amuse_evtwin/data/input/input/amuse/README diff --git a/src/amuse/community/evtwin/data/input/input/amuse/init.dat b/src/amuse_evtwin/data/input/input/amuse/init.dat similarity index 100% rename from src/amuse/community/evtwin/data/input/input/amuse/init.dat rename to src/amuse_evtwin/data/input/input/amuse/init.dat diff --git a/src/amuse/community/evtwin/data/input/input/amuse/init_twin.dat b/src/amuse_evtwin/data/input/input/amuse/init_twin.dat similarity index 100% rename from src/amuse/community/evtwin/data/input/input/amuse/init_twin.dat rename to src/amuse_evtwin/data/input/input/amuse/init_twin.dat diff --git a/src/amuse/community/evtwin/data/input/input/lt2ubv.dat b/src/amuse_evtwin/data/input/input/lt2ubv.dat similarity index 100% rename from src/amuse/community/evtwin/data/input/input/lt2ubv.dat rename to src/amuse_evtwin/data/input/input/lt2ubv.dat diff --git a/src/amuse/community/evtwin/data/input/input/metals/ipolop.f b/src/amuse_evtwin/data/input/input/metals/ipolop.f similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/ipolop.f rename to src/amuse_evtwin/data/input/input/metals/ipolop.f diff --git a/src/amuse/community/evtwin/data/input/input/metals/ipolop.f90 b/src/amuse_evtwin/data/input/input/metals/ipolop.f90 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/ipolop.f90 rename to src/amuse_evtwin/data/input/input/metals/ipolop.f90 diff --git a/src/amuse/community/evtwin/data/input/input/metals/z0/phys.z0 b/src/amuse_evtwin/data/input/input/metals/z0/phys.z0 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z0/phys.z0 rename to src/amuse_evtwin/data/input/input/metals/z0/phys.z0 diff --git a/src/amuse/community/evtwin/data/input/input/metals/z0/phys_a04.z0 b/src/amuse_evtwin/data/input/input/metals/z0/phys_a04.z0 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z0/phys_a04.z0 rename to src/amuse_evtwin/data/input/input/metals/z0/phys_a04.z0 diff --git a/src/amuse/community/evtwin/data/input/input/metals/z0001/phys.z0001 b/src/amuse_evtwin/data/input/input/metals/z0001/phys.z0001 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z0001/phys.z0001 rename to src/amuse_evtwin/data/input/input/metals/z0001/phys.z0001 diff --git a/src/amuse/community/evtwin/data/input/input/metals/z0001/phys_a04.z0001 b/src/amuse_evtwin/data/input/input/metals/z0001/phys_a04.z0001 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z0001/phys_a04.z0001 rename to src/amuse_evtwin/data/input/input/metals/z0001/phys_a04.z0001 diff --git a/src/amuse/community/evtwin/data/input/input/metals/z0001/zams0001_start.mod b/src/amuse_evtwin/data/input/input/metals/z0001/zams0001_start.mod similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z0001/zams0001_start.mod rename to src/amuse_evtwin/data/input/input/metals/z0001/zams0001_start.mod diff --git a/src/amuse/community/evtwin/data/input/input/metals/z0003/phys.z0003 b/src/amuse_evtwin/data/input/input/metals/z0003/phys.z0003 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z0003/phys.z0003 rename to src/amuse_evtwin/data/input/input/metals/z0003/phys.z0003 diff --git a/src/amuse/community/evtwin/data/input/input/metals/z0003/phys_a04.z0003 b/src/amuse_evtwin/data/input/input/metals/z0003/phys_a04.z0003 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z0003/phys_a04.z0003 rename to src/amuse_evtwin/data/input/input/metals/z0003/phys_a04.z0003 diff --git a/src/amuse/community/evtwin/data/input/input/metals/z0003/zams0003_start.mod b/src/amuse_evtwin/data/input/input/metals/z0003/zams0003_start.mod similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z0003/zams0003_start.mod rename to src/amuse_evtwin/data/input/input/metals/z0003/zams0003_start.mod diff --git a/src/amuse/community/evtwin/data/input/input/metals/z001/phys.z001 b/src/amuse_evtwin/data/input/input/metals/z001/phys.z001 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z001/phys.z001 rename to src/amuse_evtwin/data/input/input/metals/z001/phys.z001 diff --git a/src/amuse/community/evtwin/data/input/input/metals/z001/phys_a04.z001 b/src/amuse_evtwin/data/input/input/metals/z001/phys_a04.z001 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z001/phys_a04.z001 rename to src/amuse_evtwin/data/input/input/metals/z001/phys_a04.z001 diff --git a/src/amuse/community/evtwin/data/input/input/metals/z001/zams001_start.mod b/src/amuse_evtwin/data/input/input/metals/z001/zams001_start.mod similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z001/zams001_start.mod rename to src/amuse_evtwin/data/input/input/metals/z001/zams001_start.mod diff --git a/src/amuse/community/evtwin/data/input/input/metals/z002/phys.z002 b/src/amuse_evtwin/data/input/input/metals/z002/phys.z002 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z002/phys.z002 rename to src/amuse_evtwin/data/input/input/metals/z002/phys.z002 diff --git a/src/amuse/community/evtwin/data/input/input/metals/z002/phys_a04.z002 b/src/amuse_evtwin/data/input/input/metals/z002/phys_a04.z002 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z002/phys_a04.z002 rename to src/amuse_evtwin/data/input/input/metals/z002/phys_a04.z002 diff --git a/src/amuse/community/evtwin/data/input/input/metals/z004/phys.z004 b/src/amuse_evtwin/data/input/input/metals/z004/phys.z004 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z004/phys.z004 rename to src/amuse_evtwin/data/input/input/metals/z004/phys.z004 diff --git a/src/amuse/community/evtwin/data/input/input/metals/z004/phys_a04.z004 b/src/amuse_evtwin/data/input/input/metals/z004/phys_a04.z004 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z004/phys_a04.z004 rename to src/amuse_evtwin/data/input/input/metals/z004/phys_a04.z004 diff --git a/src/amuse/community/evtwin/data/input/input/metals/z004/zams004_start.mod b/src/amuse_evtwin/data/input/input/metals/z004/zams004_start.mod similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z004/zams004_start.mod rename to src/amuse_evtwin/data/input/input/metals/z004/zams004_start.mod diff --git a/src/amuse/community/evtwin/data/input/input/metals/z01/phys.z01 b/src/amuse_evtwin/data/input/input/metals/z01/phys.z01 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z01/phys.z01 rename to src/amuse_evtwin/data/input/input/metals/z01/phys.z01 diff --git a/src/amuse/community/evtwin/data/input/input/metals/z01/phys_a04.z01 b/src/amuse_evtwin/data/input/input/metals/z01/phys_a04.z01 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z01/phys_a04.z01 rename to src/amuse_evtwin/data/input/input/metals/z01/phys_a04.z01 diff --git a/src/amuse/community/evtwin/data/input/input/metals/z01/zams01_start.mod b/src/amuse_evtwin/data/input/input/metals/z01/zams01_start.mod similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z01/zams01_start.mod rename to src/amuse_evtwin/data/input/input/metals/z01/zams01_start.mod diff --git a/src/amuse/community/evtwin/data/input/input/metals/z02/phys.z02 b/src/amuse_evtwin/data/input/input/metals/z02/phys.z02 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z02/phys.z02 rename to src/amuse_evtwin/data/input/input/metals/z02/phys.z02 diff --git a/src/amuse/community/evtwin/data/input/input/metals/z02/phys_a04.z02 b/src/amuse_evtwin/data/input/input/metals/z02/phys_a04.z02 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z02/phys_a04.z02 rename to src/amuse_evtwin/data/input/input/metals/z02/phys_a04.z02 diff --git a/src/amuse/community/evtwin/data/input/input/metals/z02/zams02_start.mod b/src/amuse_evtwin/data/input/input/metals/z02/zams02_start.mod similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z02/zams02_start.mod rename to src/amuse_evtwin/data/input/input/metals/z02/zams02_start.mod diff --git a/src/amuse/community/evtwin/data/input/input/metals/z03/phys.z03 b/src/amuse_evtwin/data/input/input/metals/z03/phys.z03 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z03/phys.z03 rename to src/amuse_evtwin/data/input/input/metals/z03/phys.z03 diff --git a/src/amuse/community/evtwin/data/input/input/metals/z03/phys_a04.z03 b/src/amuse_evtwin/data/input/input/metals/z03/phys_a04.z03 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z03/phys_a04.z03 rename to src/amuse_evtwin/data/input/input/metals/z03/phys_a04.z03 diff --git a/src/amuse/community/evtwin/data/input/input/metals/z03/zams03_start.mod b/src/amuse_evtwin/data/input/input/metals/z03/zams03_start.mod similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z03/zams03_start.mod rename to src/amuse_evtwin/data/input/input/metals/z03/zams03_start.mod diff --git a/src/amuse/community/evtwin/data/input/input/metals/z04/phys.z04 b/src/amuse_evtwin/data/input/input/metals/z04/phys.z04 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z04/phys.z04 rename to src/amuse_evtwin/data/input/input/metals/z04/phys.z04 diff --git a/src/amuse/community/evtwin/data/input/input/metals/z04/phys_a04.z04 b/src/amuse_evtwin/data/input/input/metals/z04/phys_a04.z04 similarity index 100% rename from src/amuse/community/evtwin/data/input/input/metals/z04/phys_a04.z04 rename to src/amuse_evtwin/data/input/input/metals/z04/phys_a04.z04 diff --git a/src/amuse/community/evtwin/data/input/input/mutate.dat b/src/amuse_evtwin/data/input/input/mutate.dat similarity index 100% rename from src/amuse/community/evtwin/data/input/input/mutate.dat rename to src/amuse_evtwin/data/input/input/mutate.dat diff --git a/src/amuse/community/evtwin/data/input/input/nrates.dat b/src/amuse_evtwin/data/input/input/nrates.dat similarity index 100% rename from src/amuse/community/evtwin/data/input/input/nrates.dat rename to src/amuse_evtwin/data/input/input/nrates.dat diff --git a/src/amuse/community/evtwin/data/input/input/nucdata.dat b/src/amuse_evtwin/data/input/input/nucdata.dat similarity index 100% rename from src/amuse/community/evtwin/data/input/input/nucdata.dat rename to src/amuse_evtwin/data/input/input/nucdata.dat diff --git a/src/amuse/community/evtwin/data/input/input/physinfo.dat b/src/amuse_evtwin/data/input/input/physinfo.dat similarity index 100% rename from src/amuse/community/evtwin/data/input/input/physinfo.dat rename to src/amuse_evtwin/data/input/input/physinfo.dat diff --git a/src/amuse/community/evtwin/data/input/input/poly32.dat b/src/amuse_evtwin/data/input/input/poly32.dat similarity index 100% rename from src/amuse/community/evtwin/data/input/input/poly32.dat rename to src/amuse_evtwin/data/input/input/poly32.dat diff --git a/src/amuse/community/evtwin/data/input/input/rates.dat b/src/amuse_evtwin/data/input/input/rates.dat similarity index 100% rename from src/amuse/community/evtwin/data/input/input/rates.dat rename to src/amuse_evtwin/data/input/input/rates.dat diff --git a/src/amuse/community/evtwin/data/input/input/zahb.dat b/src/amuse_evtwin/data/input/input/zahb.dat similarity index 100% rename from src/amuse/community/evtwin/data/input/input/zahb.dat rename to src/amuse_evtwin/data/input/input/zahb.dat diff --git a/src/amuse/community/evtwin/data/input/input/zahb02.mod b/src/amuse_evtwin/data/input/input/zahb02.mod similarity index 100% rename from src/amuse/community/evtwin/data/input/input/zahb02.mod rename to src/amuse_evtwin/data/input/input/zahb02.mod diff --git a/src/amuse/community/evtwin/data/input/input/zams/zams02.mas b/src/amuse_evtwin/data/input/input/zams/zams02.mas similarity index 100% rename from src/amuse/community/evtwin/data/input/input/zams/zams02.mas rename to src/amuse_evtwin/data/input/input/zams/zams02.mas diff --git a/src/amuse/community/evtwin/data/input/input/zams/zams02.mod b/src/amuse_evtwin/data/input/input/zams/zams02.mod similarity index 100% rename from src/amuse/community/evtwin/data/input/input/zams/zams02.mod rename to src/amuse_evtwin/data/input/input/zams/zams02.mod diff --git a/src/amuse/community/evtwin/data/input/input/zams/zams02.out b/src/amuse_evtwin/data/input/input/zams/zams02.out similarity index 100% rename from src/amuse/community/evtwin/data/input/input/zams/zams02.out rename to src/amuse_evtwin/data/input/input/zams/zams02.out diff --git a/src/amuse/community/evtwin/data/input/input/zams_start.mas b/src/amuse_evtwin/data/input/input/zams_start.mas similarity index 100% rename from src/amuse/community/evtwin/data/input/input/zams_start.mas rename to src/amuse_evtwin/data/input/input/zams_start.mas diff --git a/src/amuse/community/evtwin/data/input/input/zams_start.out b/src/amuse_evtwin/data/input/input/zams_start.out similarity index 100% rename from src/amuse/community/evtwin/data/input/input/zams_start.out rename to src/amuse_evtwin/data/input/input/zams_start.out diff --git a/src/amuse_evtwin/interface.py b/src/amuse_evtwin/interface.py new file mode 100644 index 0000000000..a258c13fc0 --- /dev/null +++ b/src/amuse_evtwin/interface.py @@ -0,0 +1,886 @@ +import os.path +from amuse.support import exceptions +from amuse.community import * +from amuse.community.interface.se import StellarEvolution, StellarEvolutionInterface, \ + InternalStellarStructure, InternalStellarStructureInterface + +from amuse.support.interface import InCodeComponentImplementation +from amuse.support.options import OptionalAttributes, option + + +class EVtwinInterface(CodeInterface, LiteratureReferencesMixIn, StellarEvolutionInterface, + InternalStellarStructureInterface, + CodeWithDataDirectories): + """ + Evtwin is based on Peter Eggleton's stellar evolution code, and solves + the differential equations that apply to the interior of a star. Therefore + it is more accurate, but also much slower than the analytic fits-based + SSE legacy code, that has the same origin. + The work-around for the helium flash is not yet implemented in the AMUSE + interface to evtwin. Currently only solar metallicity. + + .. [#] ADS:1971MNRAS.151..351E ** (Eggleton, P.P. 1971, MNRAS, 151, 351: + .. [#] ... "The evolution of low mass stars") + .. [#] ADS:2008A&A...488.1007G ** (Glebbeek, Pols & Hurley, 2008 A&A + .. [#] ... (for enhancements to the solver)) + .. [#] ADS:1972MNRAS.156..361E (Eggleton, P.P. 1972, MNRAS, 156, 361: + .. [#] ... "Composition changes during stellar evolution") + .. [#] ADS:1973MNRAS.163..279E (Eggleton, P.P. 1973, MNRAS, 163, 279: + .. [#] ... "A numerical treatment of double shell source stars") + .. [#] ADS:1973A&A....23..325E (Eggleton, P.P., Faulkner, J., & Flannery, B.P. 1973, A&A, 23, 325: + .. [#] ... "An Approximate Equation of State for Stellar Material") + .. [#] ADS:1994MNRAS.270..121H (Han, Z., Podsiadlowski, P., & Eggleton, P.P. 1994, MNRAS, 270, 121: + .. [#] ... "A Possible Criterion for Envelope Ejection in Asymptotic Giant Branch or First Giant Branch Stars") + .. [#] ADS:1995MNRAS.274..964P (Pols, O.R., Tout, C.A., Eggleton, P.P., & Han, Z. 1995, MNRAS, 274, 964: + .. [#] ... "Approximate input physics for stellar modelling") + .. [#] ADS:2001ASPC..229..157E (Eggleton, P.P. 2001, Evolution of Binary and Multiple Star Systems, 229, 157: + .. [#] ... "The Braking of Wind") + .. [#] ADS:2001ApJ...552..664N (Nelson, C.A., & Eggleton, P.P. 2001, ApJ, 552, 664: + .. [#] ... "A Complete Survey of Case A Binary Evolution with Comparison to Observed Algol-type Systems") + .. [#] ADS:2002ApJ...575..461E (Eggleton, P.P., & Kiseleva-Eggleton, L. 2002, ApJ, 575, 461: + .. [#] ... "The Evolution of Cool Algols") + .. [#] ADS:2007A&A...464L..57S (Stancliffe, Glebbeek, Izzard & Pols, 2007 A&A + .. [#] ... (for thermohaline mixing)) + .. [#] ADS:2004MNRAS.348..201E (Eldridge & Tout, 2004 MNRAS 348 + .. [#] ... (for the OPAL 1996 opacity tables)) + """ + use_modules = ['twinlib', 'import'] + + def __init__(self, **options): + CodeInterface.__init__(self, name_of_the_worker="evtwin_worker", **options) + LiteratureReferencesMixIn.__init__(self) + CodeWithDataDirectories.__init__(self) + + set_mass_fraction_of_species_at_zone = None + set_radius_at_zone = None + set_density_at_zone = None + set_temperature_at_zone = None + + @legacy_function + def new_zams_star(): + """ + Define a new star in the code: a zero-age main sequence star with the given mass. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.OUT) + function.addParameter('mass', dtype='float64', unit=units.MSun, direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def new_prems_star(): + """ + Define a new star in the code: a pre-main-sequence star with the given mass. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.OUT) + function.addParameter('mass', dtype='float64', unit=units.MSun, direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def new_star_from_file(): + """ + Define a new star in the code: read the model from file. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.OUT) + function.addParameter('filename', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + def new_particle_with_internal_structure(self, internal_structure, age_tag): + if len(internal_structure) > 1: + raise exceptions.AmuseException("Can only add one particle with internal structure at a time.") + internal_structure = internal_structure[0] + self.new_stellar_model( + internal_structure.mass[::-1].value_in(units.MSun), + internal_structure.radius[::-1].value_in(units.RSun), + internal_structure.rho[::-1].value_in(units.g / units.cm**3), + internal_structure.pressure[::-1].value_in(units.barye), + internal_structure.X_H[::-1], + internal_structure.X_He[::-1], + internal_structure.X_C[::-1], + internal_structure.X_N[::-1], + internal_structure.X_O[::-1], + internal_structure.X_Ne[::-1], + internal_structure.X_Mg[::-1], + internal_structure.X_Si[::-1], + internal_structure.X_Fe[::-1] + ) + return self.finalize_stellar_model(age_tag) + + def new_particle_method(self, mass=None, pms=False, internal_structure=None, filename=None, age_tag=0): + if not filename is None: + return self.new_star_from_file(filename) + if not internal_structure is None: + return self.new_particle_with_internal_structure(internal_structure, age_tag) + if pms: + return self.new_prems_star(mass) + else: + return self.new_zams_star(mass) + new_particle = None + + @legacy_function + def get_maximum_number_of_stars(): + """ + Retrieve the maximum number of stars that can be + handled by this instance. + """ + function = LegacyFunctionSpecification() + function.addParameter('maximum_number_of_stars', dtype='int32', direction=function.OUT, + description = "The current value of the maximum number of stars") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value of was retrieved + """ + return function + + + @legacy_function + def set_maximum_number_of_stars(): + """ + Update the maximum number of stars that can be + handled by this instance. Need to set this number + before calling :method:`initialize_code`. Cannot be + changed once initialize_code has been called. + """ + function = LegacyFunctionSpecification() + function.addParameter('maximum_number_of_stars', dtype='int32', direction=function.IN, + description = "The new value of the maximum number of stars.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value was set + -1 - ERROR + The code cannot update the maximum number of stars + """ + return function + + @legacy_function + def set_ev_path(): + """ + Update the path to the EVtwin database. + """ + function = LegacyFunctionSpecification() + function.addParameter('path', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_max_age_stop_condition(): + """ + Retrieve the current maximum age stop condition of this instance (in years). + Evolution will stop once the star has reached this maximum age. + """ + function = LegacyFunctionSpecification() + function.addParameter('max_age_stop_condition', dtype='float64', direction=function.OUT, unit=units.yr) + function.result_type = 'int32' + return function + + @legacy_function + def set_max_age_stop_condition(): + """ + Set the new maximum age stop condition of this instance (in years). + Evolution will stop once the star has reached this maximum age. + This needs to be set after calling :method:`initialize_code`. It will + be overridden by initialize_code otherwise. + """ + function = LegacyFunctionSpecification() + function.addParameter('max_age_stop_condition', dtype='float64', direction=function.IN, unit=units.yr) + function.result_type = 'int32' + return function + + @legacy_function + def get_min_timestep_stop_condition(): + """ + Retrieve the current minimum timestep stop condition of this instance (in seconds). + Evolution will stop if the timestep required by the solver in order to converge + has decreased below this minimum timestep. + """ + function = LegacyFunctionSpecification() + function.addParameter('min_timestep', dtype='float64', direction=function.OUT, unit=units.s) + function.result_type = 'int32' + return function + + @legacy_function + def set_min_timestep_stop_condition(): + """ + Set the new minimum timestep stop condition of this instance (in seconds). + Evolution will stop if the timestep required by the solver in order to converge + has decreased below this minimum timestep. + This needs to be set after calling :method:`initialize_code`. It will + be overridden by initialize_code otherwise. + """ + function = LegacyFunctionSpecification() + function.addParameter('min_timestep', dtype='float64', direction=function.IN, unit=units.s) + function.result_type = 'int32' + return function + + @legacy_function + def get_convective_overshoot_parameter(): + """ + Retrieve the current value of the convective overshoot parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('convective_overshoot_parameter', dtype='float64', direction=function.OUT + , description="The current value of the convective overshoot parameter.") + function.result_type = 'int32' + return function + + @legacy_function + def set_convective_overshoot_parameter(): + """ + Set the value of the convective overshoot parameter. + This needs to be set after calling :method:`initialize_code`. It will + be overridden by initialize_code otherwise. + """ + function = LegacyFunctionSpecification() + function.addParameter('convective_overshoot_parameter', dtype='float64', direction=function.IN + , description="The new value of the convective overshoot parameter.") + function.result_type = 'int32' + return function + + @legacy_function + def get_mixing_length_ratio(): + """ + Retrieve the current value of the mixing length ratio. + """ + function = LegacyFunctionSpecification() + function.addParameter('mixing_length_ratio', dtype='float64', direction=function.OUT + , description="The current value of the mixing length ratio.") + function.result_type = 'int32' + return function + + @legacy_function + def set_mixing_length_ratio(): + """ + Set the value of the mixing length ratio. + This needs to be set after calling :method:`initialize_code`. It will + be overridden by initialize_code otherwise. + """ + function = LegacyFunctionSpecification() + function.addParameter('mixing_length_ratio', dtype='float64', direction=function.IN + , description="The new value of the mixing length ratio.") + function.result_type = 'int32' + return function + + @legacy_function + def get_semi_convection_efficiency(): + """ + Retrieve the current value of the efficiency of semi-convection, + after Langer, Sugimoto & Fricke 1983 (A&A). + """ + function = LegacyFunctionSpecification() + function.addParameter('semi_convection_efficiency', dtype='float64', direction=function.OUT + , description="The current value of the efficiency of semi-convection.") + function.result_type = 'int32' + return function + + @legacy_function + def set_semi_convection_efficiency(): + """ + Set the value of the efficiency of semi-convection, + after Langer, Sugimoto & Fricke 1983 (A&A). + This needs to be set after calling :method:`initialize_code`. It will + be overridden by initialize_code otherwise. + """ + function = LegacyFunctionSpecification() + function.addParameter('semi_convection_efficiency', dtype='float64', direction=function.IN + , description="The new value of the efficiency of semi-convection.") + function.result_type = 'int32' + return function + + @legacy_function + def get_thermohaline_efficiency(): + """ + Retrieve the current value of the thermohaline mixing parameter, + probably only important for binaries and collision remnants. + """ + function = LegacyFunctionSpecification() + function.addParameter('thermohaline_mixing_parameter', dtype='float64', direction=function.OUT + , description="The current value of the thermohaline mixing parameter.") + function.result_type = 'int32' + return function + + @legacy_function + def set_thermohaline_efficiency(): + """ + Set the value of the thermohaline mixing parameter, + probably only important for binaries and collision remnants. + This needs to be set after calling :method:`initialize_code`. It will + be overridden by initialize_code otherwise. + """ + function = LegacyFunctionSpecification() + function.addParameter('thermohaline_mixing_parameter', dtype='float64', direction=function.IN + , description="The new value of the thermohaline mixing parameter.") + function.result_type = 'int32' + return function + + @legacy_function + def get_number_of_ionization_elements(): + """ + Retrieve the current number of elements used for ionization of this instance. + With the default value (2), only the ionization of H and He are taken into account + in the EoS. For values 3, 4, 5, 6, 7, 8, 9: + the elements: C, N, O, Ne,Mg,Si,Fe are also included. Don't try 9. + """ + function = LegacyFunctionSpecification() + function.addParameter('number_of_ionization_elements', dtype='int32', direction=function.OUT + , description="The current number of elements used for ionization in EoS solver of this instance.") + function.result_type = 'int32' + return function + + @legacy_function + def set_number_of_ionization_elements(): + """ + Set the new number of elements used for ionization of this instance. + With the default value (2), only the ionization of H and He are taken into account + in the EoS. For values 3, 4, 5, 6, 7, 8, 9: + the elements: C, N, O, Ne,Mg,Si,Fe are also included. Don't try 9. + This needs to be set after calling :method:`initialize_code`. It will + be overridden by initialize_code otherwise. + """ + function = LegacyFunctionSpecification() + function.addParameter('number_of_ionization_elements', dtype='int32', direction=function.IN + , description="The new number of elements used for ionization in EoS solver of this instance.") + function.result_type = 'int32' + return function + + @legacy_function + def get_manual_mass_transfer_rate(): + """ + Retrieve the current user-specified mass transfer rate of the star. (negative for winds, positive for accretion) + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) + function.addParameter('mass_change', dtype='float64', unit=units.MSun/units.yr, direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_manual_mass_transfer_rate(): + """ + Set a new user-specified mass transfer rate of the star. (negative for winds, positive for accretion) + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) + function.addParameter('mass_change', dtype='float64', unit=units.MSun/units.yr, direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_wind_multiplier(): + """ + Stellar wind switch: can be modulated between 0.0 (no wind) and 1.0 (full strength) + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) + function.addParameter('wind_multiplier', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_wind_multiplier(): + """ + Stellar wind switch: can be modulated between 0.0 (no wind) and 1.0 (full strength) + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) + function.addParameter('wind_multiplier', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_AGB_wind_setting(): + """ + Retrieve the current AGB wind setting of this instance (1 or 2). + (1) means use Wachter et al. (AGB) mass loss prescription. + (2) means use Vasiliadis & Wood (AGB) mass loss rate. + """ + function = LegacyFunctionSpecification() + function.addParameter('AGB_wind_setting', dtype='int32', direction=function.OUT + , description="The current AGB wind setting of this instance.") + function.result_type = 'int32' + return function + + @legacy_function + def set_AGB_wind_setting(): + """ + Set the new AGB wind setting of this instance (1 or 2). + (1) means use Wachter et al. (AGB) mass loss prescription. + (2) means use Vasiliadis & Wood (AGB) mass loss rate. + This needs to be set after calling :method:`initialize_code`. It will + be overridden by initialize_code otherwise. + """ + function = LegacyFunctionSpecification() + function.addParameter('AGB_wind_setting', dtype='int32', direction=function.IN + , description="The new AGB wind setting of this instance.") + function.result_type = 'int32' + return function + + @legacy_function + def get_RGB_wind_setting(): + """ + Retrieve the current RGB wind setting of this instance. + (positive) means use Schroeder & Cuntz mass loss prescription. + (negative) means use Reimers mass loss rate. (0) means none. + The absolute value is used as efficiency factor. + """ + function = LegacyFunctionSpecification() + function.addParameter('RGB_wind_setting', dtype='float64', direction=function.OUT + , description="The current RGB wind setting of this instance.") + function.result_type = 'int32' + return function + + @legacy_function + def set_RGB_wind_setting(): + """ + Set the new RGB wind setting of this instance. + (positive) means use Schroeder & Cuntz mass loss prescription. + (negative) means use Reimers mass loss rate. (0) means none. + The absolute value is used as efficiency factor. + This needs to be set after calling :method:`initialize_code`. It will + be overridden by initialize_code otherwise. + """ + function = LegacyFunctionSpecification() + function.addParameter('RGB_wind_setting', dtype='float64', direction=function.IN + , description="The new RGB wind setting of this instance.") + function.result_type = 'int32' + return function + + @legacy_function + def get_Ostar_wind_setting(): + """ + Retrieve the current wind setting for O/B stars, i.e. the efficiency + factor of the Vink et al. wind prescription. + """ + function = LegacyFunctionSpecification() + function.addParameter('Ostar_wind_setting', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_Ostar_wind_setting(): + """ + Set the new wind setting for O/B stars, i.e. the efficiency + factor of the Vink et al. wind prescription. + """ + function = LegacyFunctionSpecification() + function.addParameter('Ostar_wind_setting', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_verbosity(): + function = LegacyFunctionSpecification() + function.addParameter('verbosity', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + @legacy_function + def set_verbosity(): + function = LegacyFunctionSpecification() + function.addParameter('verbosity', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_spin(): + """ + Retrieve the current spin period (in days) of this star. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the stellar type of") + function.addParameter('spin', dtype='float64', direction=function.OUT + , description="The current spin period (in days) of this star.") + function.result_type = 'int32' + return function + +#~ @legacy_function +#~ def get_mass_transfer_rate(): +#~ """ +#~ Retrieve the current mass transfer of the star to the other star. +#~ """ +#~ function = LegacyFunctionSpecification() +#~ function.can_handle_array = True +#~ function.addParameter('index_of_the_star', dtype='int32', direction=function.IN +#~ , description="The index of the star to get the value of") +#~ function.addParameter('value', dtype='float64', direction=function.OUT +#~ , description="The mass transfer of the star to the other star.") +#~ function.result_type = 'int32' +#~ function.result_doc = """ +#~ 0 - OK +#~ The value has been retrieved. +#~ -1 - ERROR +#~ A star with the given index was not found. +#~ """ +#~ return function + + + + @legacy_function + def get_wind_mass_loss_rate(): + """ + Retrieve the current mass loss rate of the star due to stellar wind. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('value', dtype='float64', direction=function.OUT + , description="The mass loss rate of the star due to stellar wind.") + function.result_type = 'int32' + return function + + @legacy_function + def new_stellar_model(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('mass', dtype='float64', unit=units.MSun, direction=function.IN) + function.addParameter('radius', dtype='float64', unit=units.RSun, direction=function.IN) + function.addParameter('rho', dtype='float64', unit=units.g / units.cm**3, direction=function.IN) + function.addParameter('pressure', dtype='float64', unit=units.barye, direction=function.IN) + for par in ['X_H', 'X_He', 'X_C', 'X_N', 'X_O', 'X_Ne', 'X_Mg', 'X_Si', 'X_Fe']: + function.addParameter(par, dtype='float64', direction=function.IN) + function.addParameter('n', 'int32', function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def finalize_stellar_model(): + """ + Finalize the new star model defined by 'new_stellar_model'. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.OUT) + function.addParameter('age_tag', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_import_model_entropy_accuracy(): + """ + Retrieve the current value of the entropy accuracy required for convergence, + used when importing stellar (merger) models. + """ + function = LegacyFunctionSpecification() + function.addParameter('import_model_entropy_accuracy', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + @legacy_function + def set_import_model_entropy_accuracy(): + function = LegacyFunctionSpecification() + function.addParameter('import_model_entropy_accuracy', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_import_model_entropy_force(): + """ + Retrieve the current value of entropy_force, used when importing stellar + (merger) models. It indicates how hard EVtwin tries to match the entropy profile. + Higher values give better agreement, but may be harder to evolve succesfully. + """ + function = LegacyFunctionSpecification() + function.addParameter('import_model_entropy_force', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + @legacy_function + def set_import_model_entropy_force(): + function = LegacyFunctionSpecification() + function.addParameter('import_model_entropy_force', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + + @legacy_function + def get_stellar_model_element(): + """ + Return properties of the stellar model at a specific zone. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_zone', dtype='int32', direction=function.IN, + description="The index of the zone to get the values of") + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN, + description="The index of the star to get the values of") + for par in ['d_mass', 'mass', 'radius', 'density', 'pressure', + 'entropy', 'temperature', 'luminosity', 'molecular_weight', 'X_H', + 'X_He', 'X_C', 'X_N', 'X_O', 'X_Ne', 'X_Mg', 'X_Si', 'X_Fe']: + function.addParameter(par, dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def write_star_to_file(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) + function.addParameter('filename', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + + +class EVtwin(StellarEvolution, InternalStellarStructure): + + def __init__(self, **options): + InCodeComponentImplementation.__init__(self, EVtwinInterface(**options), **options) + self.model_time = 0.0 | units.yr + + def define_parameters(self, handler): + StellarEvolution.define_parameters(self,handler) + handler.add_boolean_parameter( + "get_verbosity", + "set_verbosity", + "verbosity", + "The level of terminal output, verbose or not.", + default_value = False + ) + + handler.add_method_parameter( + "get_maximum_number_of_stars", + "set_maximum_number_of_stars", + "maximum_number_of_stars", + "Maximum number of stars that can be allocated", + default_value = 10 + ) + + handler.add_method_parameter( + "get_metallicity", + "set_metallicity", + "metallicity", + "Metallicity of all stats", + default_value = 0.02 + ) + + handler.add_method_parameter( + None, + "set_ev_path", + "path_to_data", + "Path to the data directory", + default_value = self.data_directory + ) + + handler.add_method_parameter( + "get_max_age_stop_condition", + "set_max_age_stop_condition", + "max_age_stop_condition", + "The maximum age stop condition of this instance.", + default_value = 1.0e12 | units.yr + ) + + handler.add_method_parameter( + "get_min_timestep_stop_condition", + "set_min_timestep_stop_condition", + "min_timestep_stop_condition", + "The minimum timestep stop condition of this instance.", + default_value = 1.0e6 | units.s + ) + + handler.add_method_parameter( + "get_number_of_ionization_elements", + "set_number_of_ionization_elements", + "number_of_ionization_elements", + "The number of elements used for ionization in EoS solver of this instance.", + default_value = 2 + ) + + handler.add_method_parameter( + "get_convective_overshoot_parameter", + "set_convective_overshoot_parameter", + "convective_overshoot_parameter", + "The convective overshoot parameter.", + default_value = 0.12 + ) + + handler.add_method_parameter( + "get_mixing_length_ratio", + "set_mixing_length_ratio", + "mixing_length_ratio", + "The mixing-length ratio (alpha).", + default_value = 2.0 + ) + + handler.add_method_parameter( + "get_semi_convection_efficiency", + "set_semi_convection_efficiency", + "semi_convection_efficiency", + "The efficiency of semi-convection, after Langer, Sugimoto & Fricke 1983 (A&A).", + default_value = 0.04 + ) + + handler.add_method_parameter( + "get_thermohaline_efficiency", + "set_thermohaline_efficiency", + "thermohaline_efficiency", + "The thermohaline mixing parameter, probably only important for binaries and collision remnants.", + default_value = 1.0 + ) + + handler.add_method_parameter( + "get_AGB_wind_setting", + "set_AGB_wind_setting", + "AGB_wind_setting", + "The AGB wind setting: (1, 2) for (Wachter&al, Vasiliadis&Wood) mass loss.", + default_value = 1 + ) + + handler.add_method_parameter( + "get_RGB_wind_setting", + "set_RGB_wind_setting", + "RGB_wind_setting", + "The RGB wind setting: (positive, negative, 0) for (Schroeder&Cuntz, Reimers, none) mass loss.", + default_value = 1.0 + ) + + handler.add_method_parameter( + "get_Ostar_wind_setting", + "set_Ostar_wind_setting", + "OB_wind_setting", + "The wind setting for O/B stars, i.e. the efficiency factor of the Vink et al. wind prescription", + default_value = 1.0 + ) + + handler.add_method_parameter( + "get_import_model_entropy_accuracy", + "set_import_model_entropy_accuracy", + "import_model_entropy_accuracy", + "The entropy accuracy required for convergence, used when importing stellar (merger) models.", + default_value = 1.0e-4 + ) + + handler.add_method_parameter( + "get_import_model_entropy_force", + "set_import_model_entropy_force", + "import_model_entropy_force", + "The current value of entropy_force, used when importing stellar (merger) models." + " It indicates how hard EVtwin tries to match the entropy profile." + " Higher values give better agreement, but may be harder to evolve succesfully.", + default_value = 20.0 + ) + + def define_particle_sets(self, handler): + handler.define_set('particles', 'index_of_the_star') + handler.set_new('particles', 'new_particle_method') + handler.set_delete('particles', 'delete_star') + + handler.add_getter('particles', 'get_radius', names = ('radius',)) + handler.add_getter('particles', 'get_stellar_type', names = ('stellar_type',)) + handler.add_getter('particles', 'get_mass', names = ('mass',)) + handler.add_getter('particles', 'get_age', names = ('age',)) + handler.add_getter('particles', 'get_time_step', names = ('time_step',)) + handler.add_getter('particles', 'get_spin', names = ('spin',)) + handler.add_getter('particles', 'get_luminosity', names = ('luminosity',)) + handler.add_getter('particles', 'get_temperature', names = ('temperature',)) + handler.add_getter('particles', 'get_manual_mass_transfer_rate', names = ('mass_transfer_rate',)) + handler.add_setter('particles', 'set_manual_mass_transfer_rate', names = ('mass_transfer_rate',)) + + handler.add_method('particles', 'evolve_one_step') + handler.add_method('particles', 'evolve_for') + InternalStellarStructure.define_particle_sets(self, handler, set_name = 'particles') + handler.add_method('particles', 'get_stellar_model', 'get_internal_structure') + handler.add_method('particles', 'write_star_to_file') + + def define_state(self, handler): + StellarEvolution.define_state(self, handler) + handler.add_method('EDIT', 'new_particle_method') + handler.add_method('UPDATE', 'new_particle_method') + handler.add_transition('RUN', 'UPDATE', 'new_particle_method', False) + + def define_errorcodes(self, handler): + handler.add_errorcode(5, 'Age greater than maximum age limit.') + handler.add_errorcode(2, 'BACKUP -- tstep reduced below limit; quit') + InternalStellarStructure.define_errorcodes(self, handler) + + def define_methods(self, handler): + InternalStellarStructure.define_methods(self, handler) + StellarEvolution.define_methods(self, handler) + handler.add_method( + "new_particle_method", + (units.MSun, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, units.yr), + (handler.INDEX, handler.ERROR_CODE) + ) + handler.add_method( + "get_mass_transfer_rate", + (handler.INDEX,), + (units.MSun/units.yr, handler.ERROR_CODE,) + ) + handler.add_method( + "get_wind_mass_loss_rate", + (handler.INDEX,), + (units.MSun/units.yr, handler.ERROR_CODE,) + ) + handler.add_method( + "get_spin", + (handler.INDEX,), + (units.day, handler.ERROR_CODE,) + ) + handler.add_method( + "finalize_stellar_model", + (units.yr,), + (handler.INDEX, handler.ERROR_CODE,) + ) + handler.add_method( + "get_stellar_model_element", + (handler.INDEX, handler.INDEX,), + (units.MSun, units.MSun, units.RSun, units.g / units.cm**3, units.barye, + handler.NO_UNIT, units.K, units.LSun, units.amu, + handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, + handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.ERROR_CODE) + ) + + def initialize_module_with_default_parameters(self): + self.initialize_code() + self.commit_parameters() + + def initialize_module_with_current_parameters(self): + self.commit_parameters() + + def setup_particles(self, particles): + self.particles.add_particles(particles) + + def commit_parameters(self): + self.parameters.send_not_set_parameters_to_code() + self.parameters.send_cached_parameters_to_code() + self.overridden().commit_parameters() + + def get_stellar_model(self, index_of_the_star): + if hasattr(index_of_the_star, '__iter__'): + return [self._create_new_grid(self._specify_stellar_model, index_of_the_star = x) for x in index_of_the_star] + else: + return self._create_new_grid(self._specify_stellar_model, index_of_the_star = index_of_the_star) + + def get_range_in_zones(self, index_of_the_star): + """ + Returns the inclusive range of defined zones/mesh-cells of the star. + """ + return (1, self.get_number_of_zones(index_of_the_star)) + + def _specify_stellar_model(self, definition, index_of_the_star = 0): + definition.set_grid_range('get_range_in_zones') + definition.add_getter('get_stellar_model_element', names=('d_mass', 'mass', 'radius', + 'rho', 'pressure', 'entropy', 'temperature', 'luminosity', 'molecular_weight', + 'X_H', 'X_He', 'X_C', 'X_N', 'X_O', 'X_Ne', 'X_Mg', 'X_Si', 'X_Fe')) + definition.define_extra_keywords({'index_of_the_star':index_of_the_star}) + + def new_particle_from_model(self, internal_structure, current_age=0|units.Myr, key=None): + tmp_star = datamodel.Particle(key=key) + tmp_star.internal_structure = internal_structure + tmp_star.age_tag = current_age + return self.particles.add_particle(tmp_star) + + + +Evtwin = EVtwin diff --git a/src/amuse_evtwin/packages/amuse-evtwin.amuse_deps b/src/amuse_evtwin/packages/amuse-evtwin.amuse_deps new file mode 100644 index 0000000000..1a24adc9bd --- /dev/null +++ b/src/amuse_evtwin/packages/amuse-evtwin.amuse_deps @@ -0,0 +1 @@ +fortran cmake mpi diff --git a/src/amuse_evtwin/packages/amuse-evtwin/amuse_evtwin b/src/amuse_evtwin/packages/amuse-evtwin/amuse_evtwin new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_evtwin/packages/amuse-evtwin/amuse_evtwin @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_evtwin/packages/amuse-evtwin/pyproject.toml b/src/amuse_evtwin/packages/amuse-evtwin/pyproject.toml new file mode 100644 index 0000000000..930b260376 --- /dev/null +++ b/src/amuse_evtwin/packages/amuse-evtwin/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-evtwin" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_evtwin/**/*.py"] +exclude = [ + "amuse_evtwin/packages", + "amuse_evtwin/support", + "amuse_evtwin/src", + "amuse_evtwin/tests" + ] +artifacts = ["amuse_evtwin/evtwin_worker", "amuse_evtwin/data/"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_evtwin/tests/"] + +testpaths = ["amuse_evtwin/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse_evtwin/src/trunk/CMakeLists.txt b/src/amuse_evtwin/src/trunk/CMakeLists.txt new file mode 100644 index 0000000000..d33e953244 --- /dev/null +++ b/src/amuse_evtwin/src/trunk/CMakeLists.txt @@ -0,0 +1,190 @@ +cmake_minimum_required(VERSION 3.5 FATAL_ERROR) + +# Set build type. Do this *before* we set the project name +if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING + "Choose the type of build, options are: None Debug Release RelWithDebInfo Profile." + FORCE) +endif(NOT CMAKE_BUILD_TYPE) +set(CMAKE_CONFIGURATION_TYPES "${CMAKE_BUILD_TYPE}" CACHE INTERNAL "internal") + +project(TWIN Fortran) + +include(CMakeDependentOption) + +# Various options that we may want to enable +option(WANT_ASSERT "Use assertions (run-time sanity checks; requires preprocessor)" off) +option(WANT_OPENMP "Use OpenMP parallelisation (experimental)" off) +option(WANT_AUTOPARALLEL "Use the auto-paralleliser to parallelise the code (experimental)" off) +option(WANT_SSE42 "Enable generation of SSE4.2 code" on) +option(WANT_HOST_OPT "Enable host-specific optimisation. Choose only when compiling and running on the same machine! Overrides WANT_SSE42" off) +option(WANT_IPO "Inter-procedural optimisation" off) +option(WANT_O3 "Use O3 optimisations rather than O2. May be unsafe" off) +option(WANT_STATIC "Generate statically linked executable" off) +option(WANT_CHECKS "Activate runtime checks (array bounds, NaNs)" off) +option(WANT_WARNINGS "Issue compile-time warnings" on) +option(WANT_STRICT_WARNINGS "Issue strict compile-time warnings (for development)" off) +option(WANT_LIBRARY "Compile the code as a library" on) +option(WANT_STRICT_FLOATS "Enable strict floating point calculations" off) +option(WANT_PROFILING "Compile the code with profiling symbols" off) +#cmake_dependent_option(WANT_MKMERGERMOD "Create merger import utility" on "WANT_LIBRARY" off) +option(WANT_MKMERGERMOD "Create merger import utility" off) +cmake_dependent_option(WANT_DYNAMIC_LIBRARY "Create dynamic (.so) library" on "WANT_LIBRARY" off) + +# Search in the `cmake' directory for additional CMake modules. +list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) + +# Main evolution code source files +include(FileList) + +# Set FORTRAN compiler flags +include(CompilerFlags) + +# Tell CMake the source won't be available until build time. +SET_SOURCE_FILES_PROPERTIES(${CMAKE_SOURCE_DIR}/code/svn_version.f90 PROPERTIES GENERATED 1) +SET_SOURCE_FILES_PROPERTIES(${CMAKE_SOURCE_DIR}/code/installation_path.f90 PROPERTIES GENERATED 1) + +# SVN version generator +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_SOURCE_DIR}/code/svn_version.f90 + COMMAND ${CMAKE_SOURCE_DIR}/detect_svn_version.pl ${CMAKE_SOURCE_DIR} + DEPENDS ${TWIN_SRC_FILES} +) +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_SOURCE_DIR}/code/installation_path.f90 + COMMAND ${CMAKE_SOURCE_DIR}/set_standard_path.pl ${CMAKE_SOURCE_DIR} ${CMAKE_INSTALL_PREFIX} +) + +# Code library +add_library ("twincore" STATIC ${TWIN_SRC_FILES}) +set_target_properties(twincore PROPERTIES COMPILE_FLAGS "-fPIC" ) + +# We need to changed the flags passed to ranlib on OS X, or we get +# undefined references for all symbols. +if(APPLE) + set(CMAKE_Fortran_ARCHIVE_FINISH " -c ") +endif(APPLE) + +if (WANT_LIBRARY) + if (WANT_DYNAMIC_LIBRARY) + add_library ("dynamic_twin" SHARED ${TWIN_SRC_FILES} ${TWIN_LIBRARY_FILES}) + set_target_properties(dynamic_twin PROPERTIES OUTPUT_NAME "twin") + endif(WANT_DYNAMIC_LIBRARY) + add_library ("twin" STATIC ${TWIN_LIBRARY_FILES}) + target_link_libraries("twin" twincore) + + add_executable ("twintest" code/twin.f90) + target_link_libraries("twintest" twin) + set_target_properties(twintest PROPERTIES OUTPUT_NAME "twin") +endif (WANT_LIBRARY) + +# Main TWIN executable +#add_executable ("ev" ${TWIN_SRC_FILES} code/svn_version.f90 code/ev_main.f90) +add_executable ("ev" code/svn_version.f90 code/ev_main.f90) +target_link_libraries("ev" twincore) + +# Merger import utility +if(WANT_MKMERGERMOD) + add_executable ("mkmergermod" code/mkmergermod.f90) + target_link_libraries("mkmergermod" twin) +endif(WANT_MKMERGERMOD) + +# Installation targets +install (TARGETS "ev" RUNTIME DESTINATION "bin") +install (FILES "${CMAKE_SOURCE_DIR}/input/nrates.dat" DESTINATION "stars/input/") +install (FILES "${CMAKE_SOURCE_DIR}/input/nucdata.dat" DESTINATION "stars/input/") +install (FILES "${CMAKE_SOURCE_DIR}/input/rates.dat" DESTINATION "stars/input/") +install (FILES "${CMAKE_SOURCE_DIR}/input/mutate.dat" DESTINATION "stars/input/") +install (FILES "${CMAKE_SOURCE_DIR}/input/physinfo.dat" DESTINATION "stars/input/") +install (FILES "${CMAKE_SOURCE_DIR}/input/zahb.dat" DESTINATION "stars/input/") +install (FILES "${CMAKE_SOURCE_DIR}/input/zahb02.mod" DESTINATION "stars/input/") +install (FILES "${CMAKE_SOURCE_DIR}/input/nrates.dat" DESTINATION "stars/input/") +install (FILES "${CMAKE_SOURCE_DIR}/input/lt2ubv.dat" DESTINATION "stars/input/") +install (FILES "${CMAKE_SOURCE_DIR}/input/poly32.dat" DESTINATION "stars/input/") + +install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z00001" DESTINATION "stars/input/COtables/") +install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z00003" DESTINATION "stars/input/COtables/") +install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z0001" DESTINATION "stars/input/COtables/") +install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z0003" DESTINATION "stars/input/COtables/") +install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z001" DESTINATION "stars/input/COtables/") +install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z002" DESTINATION "stars/input/COtables/") +install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z003" DESTINATION "stars/input/COtables/") +install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z004" DESTINATION "stars/input/COtables/") +install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z006" DESTINATION "stars/input/COtables/") +install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z008" DESTINATION "stars/input/COtables/") +install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z01" DESTINATION "stars/input/COtables/") +install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z02" DESTINATION "stars/input/COtables/") +install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z03" DESTINATION "stars/input/COtables/") +install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z04" DESTINATION "stars/input/COtables/") +install (FILES "${CMAKE_SOURCE_DIR}/input/COtables/COtables_z05" DESTINATION "stars/input/COtables/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z0/phys.z0" DESTINATION "stars/input/metals/z0/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z0/phys_a04.z0" DESTINATION "stars/input/metals/z0/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z0001/phys.z0001" DESTINATION "stars/input/metals/z0001/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z0001/phys_a04.z0001" DESTINATION "stars/input/metals/z0001/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z0001/zams0001_start.mod" DESTINATION "stars/input/metals/z0001/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z0003/phys.z0003" DESTINATION "stars/input/metals/z0003/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z0003/phys_a04.z0003" DESTINATION "stars/input/metals/z0003/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z0003/zams0003_start.mod" DESTINATION "stars/input/metals/z0003/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z001/phys.z001" DESTINATION "stars/input/metals/z001/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z001/phys_a04.z001" DESTINATION "stars/input/metals/z001/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z001/zams001_start.mod" DESTINATION "stars/input/metals/z001/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z002/phys.z002" DESTINATION "stars/input/metals/z002/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z002/phys_a04.z002" DESTINATION "stars/input/metals/z002/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z004/phys.z004" DESTINATION "stars/input/metals/z004/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z004/phys_a04.z004" DESTINATION "stars/input/metals/z004/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z004/zams004_start.mod" DESTINATION "stars/input/metals/z004/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z01/phys.z01" DESTINATION "stars/input/metals/z01/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z01/phys_a04.z01" DESTINATION "stars/input/metals/z01/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z01/zams01_start.mod" DESTINATION "stars/input/metals/z01/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z02/phys.z02" DESTINATION "stars/input/metals/z02/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z02/phys_a04.z02" DESTINATION "stars/input/metals/z02/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z02/zams02_start.mod" DESTINATION "stars/input/metals/z02/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z03/phys.z03" DESTINATION "stars/input/metals/z03/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z03/phys_a04.z03" DESTINATION "stars/input/metals/z03/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z03/zams03_start.mod" DESTINATION "stars/input/metals/z03/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z04/phys.z04" DESTINATION "stars/input/metals/z04/") +install (FILES "${CMAKE_SOURCE_DIR}/input/metals/z04/phys_a04.z04" DESTINATION "stars/input/metals/z04/") +install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams02.mas" DESTINATION "stars/input/zams/") +install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams02.mod" DESTINATION "stars/input/zams/") +install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams02.out" DESTINATION "stars/input/zams/") + +install (FILES "${CMAKE_SOURCE_DIR}/stars_standards/init.dat" DESTINATION "stars/stars_standards/") +install (FILES "${CMAKE_SOURCE_DIR}/stars_standards/init.run" DESTINATION "stars/stars_standards/") +install (FILES "${CMAKE_SOURCE_DIR}/stars_standards/init_twin.dat" DESTINATION "stars/stars_standards/") +install (FILES "${CMAKE_SOURCE_DIR}/stars_standards/init_binary.dat" DESTINATION "stars/stars_standards/") + +#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams0001.mas" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams0001.mod" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams0001.out" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams0003.mas" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams0003.mod" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams0003.out" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams001.mas" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams001.mod" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams001.out" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams004.mas" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams004.mod" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams004.out" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams01.mas" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams01.mod" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams01.out" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams016.mas" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams016.mod" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams016.out" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams03.mas" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams03.mod" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zams/zams03.out" DESTINATION "stars/input/") + +#install (FILES "${CMAKE_SOURCE_DIR}/input/zahb001.mod" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zahb004.mod" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zahb0001.mod" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zahb002.mod" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zahb006.mod" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zahb0003.mod" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zahb003.mod" DESTINATION "stars/input/") +#install (FILES "${CMAKE_SOURCE_DIR}/input/zahb008.mod" DESTINATION "stars/input/") + +# Place the executable in code/ in the top-level STARS directory, for +# historical reasons. +set(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/code) +set(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/lib) diff --git a/src/amuse/community/evtwin/src/trunk/Doxyfile b/src/amuse_evtwin/src/trunk/Doxyfile similarity index 100% rename from src/amuse/community/evtwin/src/trunk/Doxyfile rename to src/amuse_evtwin/src/trunk/Doxyfile diff --git a/src/amuse/community/evtwin/src/trunk/README b/src/amuse_evtwin/src/trunk/README similarity index 100% rename from src/amuse/community/evtwin/src/trunk/README rename to src/amuse_evtwin/src/trunk/README diff --git a/src/amuse/community/evtwin/src/trunk/TODO b/src/amuse_evtwin/src/trunk/TODO similarity index 100% rename from src/amuse/community/evtwin/src/trunk/TODO rename to src/amuse_evtwin/src/trunk/TODO diff --git a/src/amuse/community/evtwin/src/trunk/cmake/CompilerFlags.cmake b/src/amuse_evtwin/src/trunk/cmake/CompilerFlags.cmake similarity index 100% rename from src/amuse/community/evtwin/src/trunk/cmake/CompilerFlags.cmake rename to src/amuse_evtwin/src/trunk/cmake/CompilerFlags.cmake diff --git a/src/amuse/community/evtwin/src/trunk/cmake/FileList.cmake b/src/amuse_evtwin/src/trunk/cmake/FileList.cmake similarity index 100% rename from src/amuse/community/evtwin/src/trunk/cmake/FileList.cmake rename to src/amuse_evtwin/src/trunk/cmake/FileList.cmake diff --git a/src/amuse/community/evtwin/src/trunk/code/accretion_abundances.f90 b/src/amuse_evtwin/src/trunk/code/accretion_abundances.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/accretion_abundances.f90 rename to src/amuse_evtwin/src/trunk/code/accretion_abundances.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/allocate.f90 b/src/amuse_evtwin/src/trunk/code/allocate.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/allocate.f90 rename to src/amuse_evtwin/src/trunk/code/allocate.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/assert.f90 b/src/amuse_evtwin/src/trunk/code/assert.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/assert.f90 rename to src/amuse_evtwin/src/trunk/code/assert.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/assert.h b/src/amuse_evtwin/src/trunk/code/assert.h similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/assert.h rename to src/amuse_evtwin/src/trunk/code/assert.h diff --git a/src/amuse/community/evtwin/src/trunk/code/atomic_data.f90 b/src/amuse_evtwin/src/trunk/code/atomic_data.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/atomic_data.f90 rename to src/amuse_evtwin/src/trunk/code/atomic_data.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/begin.f90 b/src/amuse_evtwin/src/trunk/code/begin.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/begin.f90 rename to src/amuse_evtwin/src/trunk/code/begin.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/binary_history.f90 b/src/amuse_evtwin/src/trunk/code/binary_history.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/binary_history.f90 rename to src/amuse_evtwin/src/trunk/code/binary_history.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/cbrt.f90 b/src/amuse_evtwin/src/trunk/code/cbrt.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/cbrt.f90 rename to src/amuse_evtwin/src/trunk/code/cbrt.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/constants.f90 b/src/amuse_evtwin/src/trunk/code/constants.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/constants.f90 rename to src/amuse_evtwin/src/trunk/code/constants.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/control.f90 b/src/amuse_evtwin/src/trunk/code/control.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/control.f90 rename to src/amuse_evtwin/src/trunk/code/control.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/current_model_properties.f90 b/src/amuse_evtwin/src/trunk/code/current_model_properties.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/current_model_properties.f90 rename to src/amuse_evtwin/src/trunk/code/current_model_properties.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/diffusion.f90 b/src/amuse_evtwin/src/trunk/code/diffusion.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/diffusion.f90 rename to src/amuse_evtwin/src/trunk/code/diffusion.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/diffusion_coefficients.f90 b/src/amuse_evtwin/src/trunk/code/diffusion_coefficients.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/diffusion_coefficients.f90 rename to src/amuse_evtwin/src/trunk/code/diffusion_coefficients.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/distort.f90 b/src/amuse_evtwin/src/trunk/code/distort.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/distort.f90 rename to src/amuse_evtwin/src/trunk/code/distort.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/eostate.f90 b/src/amuse_evtwin/src/trunk/code/eostate.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/eostate.f90 rename to src/amuse_evtwin/src/trunk/code/eostate.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/eostate_cache.f90 b/src/amuse_evtwin/src/trunk/code/eostate_cache.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/eostate_cache.f90 rename to src/amuse_evtwin/src/trunk/code/eostate_cache.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/eostate_types.f90 b/src/amuse_evtwin/src/trunk/code/eostate_types.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/eostate_types.f90 rename to src/amuse_evtwin/src/trunk/code/eostate_types.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/ev_main.f90 b/src/amuse_evtwin/src/trunk/code/ev_main.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/ev_main.f90 rename to src/amuse_evtwin/src/trunk/code/ev_main.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/explicit_functions.f90 b/src/amuse_evtwin/src/trunk/code/explicit_functions.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/explicit_functions.f90 rename to src/amuse_evtwin/src/trunk/code/explicit_functions.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/export.f90 b/src/amuse_evtwin/src/trunk/code/export.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/export.f90 rename to src/amuse_evtwin/src/trunk/code/export.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/extra_solver.f90 b/src/amuse_evtwin/src/trunk/code/extra_solver.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/extra_solver.f90 rename to src/amuse_evtwin/src/trunk/code/extra_solver.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/extrapolate_dh.f90 b/src/amuse_evtwin/src/trunk/code/extrapolate_dh.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/extrapolate_dh.f90 rename to src/amuse_evtwin/src/trunk/code/extrapolate_dh.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/fcompare.f90 b/src/amuse_evtwin/src/trunk/code/fcompare.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/fcompare.f90 rename to src/amuse_evtwin/src/trunk/code/fcompare.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/fgb2hb.f90 b/src/amuse_evtwin/src/trunk/code/fgb2hb.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/fgb2hb.f90 rename to src/amuse_evtwin/src/trunk/code/fgb2hb.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/file_exists.f90 b/src/amuse_evtwin/src/trunk/code/file_exists.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/file_exists.f90 rename to src/amuse_evtwin/src/trunk/code/file_exists.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/filenames.f90 b/src/amuse_evtwin/src/trunk/code/filenames.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/filenames.f90 rename to src/amuse_evtwin/src/trunk/code/filenames.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/ieee_arithmetic_stub.f90 b/src/amuse_evtwin/src/trunk/code/ieee_arithmetic_stub.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/ieee_arithmetic_stub.f90 rename to src/amuse_evtwin/src/trunk/code/ieee_arithmetic_stub.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/import.f90 b/src/amuse_evtwin/src/trunk/code/import.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/import.f90 rename to src/amuse_evtwin/src/trunk/code/import.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/indices.f90 b/src/amuse_evtwin/src/trunk/code/indices.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/indices.f90 rename to src/amuse_evtwin/src/trunk/code/indices.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/initdat.f90 b/src/amuse_evtwin/src/trunk/code/initdat.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/initdat.f90 rename to src/amuse_evtwin/src/trunk/code/initdat.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/initrun.f90 b/src/amuse_evtwin/src/trunk/code/initrun.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/initrun.f90 rename to src/amuse_evtwin/src/trunk/code/initrun.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/interpolate.f90 b/src/amuse_evtwin/src/trunk/code/interpolate.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/interpolate.f90 rename to src/amuse_evtwin/src/trunk/code/interpolate.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/ionisation.f90 b/src/amuse_evtwin/src/trunk/code/ionisation.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/ionisation.f90 rename to src/amuse_evtwin/src/trunk/code/ionisation.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/libint.f90 b/src/amuse_evtwin/src/trunk/code/libint.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/libint.f90 rename to src/amuse_evtwin/src/trunk/code/libint.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/library.f90 b/src/amuse_evtwin/src/trunk/code/library.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/library.f90 rename to src/amuse_evtwin/src/trunk/code/library.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/load_atomic_data.f90 b/src/amuse_evtwin/src/trunk/code/load_atomic_data.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/load_atomic_data.f90 rename to src/amuse_evtwin/src/trunk/code/load_atomic_data.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/load_star_model.f90 b/src/amuse_evtwin/src/trunk/code/load_star_model.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/load_star_model.f90 rename to src/amuse_evtwin/src/trunk/code/load_star_model.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/lt2ubv.f90 b/src/amuse_evtwin/src/trunk/code/lt2ubv.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/lt2ubv.f90 rename to src/amuse_evtwin/src/trunk/code/lt2ubv.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/massloss.f90 b/src/amuse_evtwin/src/trunk/code/massloss.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/massloss.f90 rename to src/amuse_evtwin/src/trunk/code/massloss.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/menc.f90 b/src/amuse_evtwin/src/trunk/code/menc.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/menc.f90 rename to src/amuse_evtwin/src/trunk/code/menc.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/mesh.f90 b/src/amuse_evtwin/src/trunk/code/mesh.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/mesh.f90 rename to src/amuse_evtwin/src/trunk/code/mesh.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/mkmergermod.f90 b/src/amuse_evtwin/src/trunk/code/mkmergermod.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/mkmergermod.f90 rename to src/amuse_evtwin/src/trunk/code/mkmergermod.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/ms2bss.f90 b/src/amuse_evtwin/src/trunk/code/ms2bss.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/ms2bss.f90 rename to src/amuse_evtwin/src/trunk/code/ms2bss.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/muse/twinmuse.c b/src/amuse_evtwin/src/trunk/code/muse/twinmuse.c similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/muse/twinmuse.c rename to src/amuse_evtwin/src/trunk/code/muse/twinmuse.c diff --git a/src/amuse/community/evtwin/src/trunk/code/muse/twinmuse.i b/src/amuse_evtwin/src/trunk/code/muse/twinmuse.i similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/muse/twinmuse.i rename to src/amuse_evtwin/src/trunk/code/muse/twinmuse.i diff --git a/src/amuse/community/evtwin/src/trunk/code/neutrinos.f90 b/src/amuse_evtwin/src/trunk/code/neutrinos.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/neutrinos.f90 rename to src/amuse_evtwin/src/trunk/code/neutrinos.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/nremesh.f90 b/src/amuse_evtwin/src/trunk/code/nremesh.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/nremesh.f90 rename to src/amuse_evtwin/src/trunk/code/nremesh.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/nucleosynthesis.f90 b/src/amuse_evtwin/src/trunk/code/nucleosynthesis.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/nucleosynthesis.f90 rename to src/amuse_evtwin/src/trunk/code/nucleosynthesis.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/opacity.f90 b/src/amuse_evtwin/src/trunk/code/opacity.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/opacity.f90 rename to src/amuse_evtwin/src/trunk/code/opacity.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/opacity_co.f90 b/src/amuse_evtwin/src/trunk/code/opacity_co.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/opacity_co.f90 rename to src/amuse_evtwin/src/trunk/code/opacity_co.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/opacity_spline.f90 b/src/amuse_evtwin/src/trunk/code/opacity_spline.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/opacity_spline.f90 rename to src/amuse_evtwin/src/trunk/code/opacity_spline.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/output_properties.f90 b/src/amuse_evtwin/src/trunk/code/output_properties.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/output_properties.f90 rename to src/amuse_evtwin/src/trunk/code/output_properties.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/plotvariables.f90 b/src/amuse_evtwin/src/trunk/code/plotvariables.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/plotvariables.f90 rename to src/amuse_evtwin/src/trunk/code/plotvariables.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/poly32.f90 b/src/amuse_evtwin/src/trunk/code/poly32.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/poly32.f90 rename to src/amuse_evtwin/src/trunk/code/poly32.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/polytrope.f90 b/src/amuse_evtwin/src/trunk/code/polytrope.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/polytrope.f90 rename to src/amuse_evtwin/src/trunk/code/polytrope.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/print_status.f90 b/src/amuse_evtwin/src/trunk/code/print_status.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/print_status.f90 rename to src/amuse_evtwin/src/trunk/code/print_status.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/printb_global_variables.f90 b/src/amuse_evtwin/src/trunk/code/printb_global_variables.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/printb_global_variables.f90 rename to src/amuse_evtwin/src/trunk/code/printb_global_variables.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/prtoft.f90 b/src/amuse_evtwin/src/trunk/code/prtoft.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/prtoft.f90 rename to src/amuse_evtwin/src/trunk/code/prtoft.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/pruner.f90 b/src/amuse_evtwin/src/trunk/code/pruner.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/pruner.f90 rename to src/amuse_evtwin/src/trunk/code/pruner.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/radiative_acceleration.f90 b/src/amuse_evtwin/src/trunk/code/radiative_acceleration.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/radiative_acceleration.f90 rename to src/amuse_evtwin/src/trunk/code/radiative_acceleration.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/reaction_rate_data.f90 b/src/amuse_evtwin/src/trunk/code/reaction_rate_data.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/reaction_rate_data.f90 rename to src/amuse_evtwin/src/trunk/code/reaction_rate_data.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/real_kind.f90 b/src/amuse_evtwin/src/trunk/code/real_kind.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/real_kind.f90 rename to src/amuse_evtwin/src/trunk/code/real_kind.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/remesh.f90 b/src/amuse_evtwin/src/trunk/code/remesh.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/remesh.f90 rename to src/amuse_evtwin/src/trunk/code/remesh.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/roche.f90 b/src/amuse_evtwin/src/trunk/code/roche.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/roche.f90 rename to src/amuse_evtwin/src/trunk/code/roche.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/semi_implicit.f90 b/src/amuse_evtwin/src/trunk/code/semi_implicit.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/semi_implicit.f90 rename to src/amuse_evtwin/src/trunk/code/semi_implicit.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/semi_implicit_variables.f90 b/src/amuse_evtwin/src/trunk/code/semi_implicit_variables.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/semi_implicit_variables.f90 rename to src/amuse_evtwin/src/trunk/code/semi_implicit_variables.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/settings.f90 b/src/amuse_evtwin/src/trunk/code/settings.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/settings.f90 rename to src/amuse_evtwin/src/trunk/code/settings.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/solver.f90 b/src/amuse_evtwin/src/trunk/code/solver.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/solver.f90 rename to src/amuse_evtwin/src/trunk/code/solver.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/solver_global.f90 b/src/amuse_evtwin/src/trunk/code/solver_global.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/solver_global.f90 rename to src/amuse_evtwin/src/trunk/code/solver_global.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/stars_structure_equations.f90 b/src/amuse_evtwin/src/trunk/code/stars_structure_equations.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/stars_structure_equations.f90 rename to src/amuse_evtwin/src/trunk/code/stars_structure_equations.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/stars_structure_functions.f90 b/src/amuse_evtwin/src/trunk/code/stars_structure_functions.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/stars_structure_functions.f90 rename to src/amuse_evtwin/src/trunk/code/stars_structure_functions.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/starting_values.f90 b/src/amuse_evtwin/src/trunk/code/starting_values.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/starting_values.f90 rename to src/amuse_evtwin/src/trunk/code/starting_values.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/step.f90 b/src/amuse_evtwin/src/trunk/code/step.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/step.f90 rename to src/amuse_evtwin/src/trunk/code/step.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/stopping.f90 b/src/amuse_evtwin/src/trunk/code/stopping.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/stopping.f90 rename to src/amuse_evtwin/src/trunk/code/stopping.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/structure_variables.f90 b/src/amuse_evtwin/src/trunk/code/structure_variables.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/structure_variables.f90 rename to src/amuse_evtwin/src/trunk/code/structure_variables.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/test_variables.f90 b/src/amuse_evtwin/src/trunk/code/test_variables.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/test_variables.f90 rename to src/amuse_evtwin/src/trunk/code/test_variables.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/twin.f90 b/src/amuse_evtwin/src/trunk/code/twin.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/twin.f90 rename to src/amuse_evtwin/src/trunk/code/twin.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/update.f90 b/src/amuse_evtwin/src/trunk/code/update.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/update.f90 rename to src/amuse_evtwin/src/trunk/code/update.f90 diff --git a/src/amuse/community/evtwin/src/trunk/code/write_input_model.f90 b/src/amuse_evtwin/src/trunk/code/write_input_model.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/code/write_input_model.f90 rename to src/amuse_evtwin/src/trunk/code/write_input_model.f90 diff --git a/src/amuse/community/evtwin/src/trunk/detect_svn_version.pl b/src/amuse_evtwin/src/trunk/detect_svn_version.pl similarity index 100% rename from src/amuse/community/evtwin/src/trunk/detect_svn_version.pl rename to src/amuse_evtwin/src/trunk/detect_svn_version.pl diff --git a/src/amuse/community/evtwin/src/trunk/doc/dictionary.tex b/src/amuse_evtwin/src/trunk/doc/dictionary.tex similarity index 100% rename from src/amuse/community/evtwin/src/trunk/doc/dictionary.tex rename to src/amuse_evtwin/src/trunk/doc/dictionary.tex diff --git a/src/amuse/community/evtwin/src/trunk/doc/iomanual.pdf b/src/amuse_evtwin/src/trunk/doc/iomanual.pdf similarity index 100% rename from src/amuse/community/evtwin/src/trunk/doc/iomanual.pdf rename to src/amuse_evtwin/src/trunk/doc/iomanual.pdf diff --git a/src/amuse/community/evtwin/src/trunk/doc/writeup.ps b/src/amuse_evtwin/src/trunk/doc/writeup.ps similarity index 100% rename from src/amuse/community/evtwin/src/trunk/doc/writeup.ps rename to src/amuse_evtwin/src/trunk/doc/writeup.ps diff --git a/src/amuse/community/evtwin/src/trunk/doc/writeupfig.pdf b/src/amuse_evtwin/src/trunk/doc/writeupfig.pdf similarity index 100% rename from src/amuse/community/evtwin/src/trunk/doc/writeupfig.pdf rename to src/amuse_evtwin/src/trunk/doc/writeupfig.pdf diff --git a/src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z00001 b/src/amuse_evtwin/src/trunk/input/COtables/COtables_z00001 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z00001 rename to src/amuse_evtwin/src/trunk/input/COtables/COtables_z00001 diff --git a/src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z00003 b/src/amuse_evtwin/src/trunk/input/COtables/COtables_z00003 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z00003 rename to src/amuse_evtwin/src/trunk/input/COtables/COtables_z00003 diff --git a/src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z0001 b/src/amuse_evtwin/src/trunk/input/COtables/COtables_z0001 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z0001 rename to src/amuse_evtwin/src/trunk/input/COtables/COtables_z0001 diff --git a/src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z0003 b/src/amuse_evtwin/src/trunk/input/COtables/COtables_z0003 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z0003 rename to src/amuse_evtwin/src/trunk/input/COtables/COtables_z0003 diff --git a/src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z001 b/src/amuse_evtwin/src/trunk/input/COtables/COtables_z001 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z001 rename to src/amuse_evtwin/src/trunk/input/COtables/COtables_z001 diff --git a/src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z002 b/src/amuse_evtwin/src/trunk/input/COtables/COtables_z002 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z002 rename to src/amuse_evtwin/src/trunk/input/COtables/COtables_z002 diff --git a/src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z003 b/src/amuse_evtwin/src/trunk/input/COtables/COtables_z003 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z003 rename to src/amuse_evtwin/src/trunk/input/COtables/COtables_z003 diff --git a/src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z004 b/src/amuse_evtwin/src/trunk/input/COtables/COtables_z004 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z004 rename to src/amuse_evtwin/src/trunk/input/COtables/COtables_z004 diff --git a/src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z006 b/src/amuse_evtwin/src/trunk/input/COtables/COtables_z006 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z006 rename to src/amuse_evtwin/src/trunk/input/COtables/COtables_z006 diff --git a/src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z008 b/src/amuse_evtwin/src/trunk/input/COtables/COtables_z008 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z008 rename to src/amuse_evtwin/src/trunk/input/COtables/COtables_z008 diff --git a/src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z01 b/src/amuse_evtwin/src/trunk/input/COtables/COtables_z01 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z01 rename to src/amuse_evtwin/src/trunk/input/COtables/COtables_z01 diff --git a/src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z02 b/src/amuse_evtwin/src/trunk/input/COtables/COtables_z02 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z02 rename to src/amuse_evtwin/src/trunk/input/COtables/COtables_z02 diff --git a/src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z03 b/src/amuse_evtwin/src/trunk/input/COtables/COtables_z03 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z03 rename to src/amuse_evtwin/src/trunk/input/COtables/COtables_z03 diff --git a/src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z04 b/src/amuse_evtwin/src/trunk/input/COtables/COtables_z04 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z04 rename to src/amuse_evtwin/src/trunk/input/COtables/COtables_z04 diff --git a/src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z05 b/src/amuse_evtwin/src/trunk/input/COtables/COtables_z05 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/COtables/COtables_z05 rename to src/amuse_evtwin/src/trunk/input/COtables/COtables_z05 diff --git a/src/amuse/community/evtwin/src/trunk/input/amuse/README b/src/amuse_evtwin/src/trunk/input/amuse/README similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/amuse/README rename to src/amuse_evtwin/src/trunk/input/amuse/README diff --git a/src/amuse/community/evtwin/src/trunk/input/amuse/init.dat b/src/amuse_evtwin/src/trunk/input/amuse/init.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/amuse/init.dat rename to src/amuse_evtwin/src/trunk/input/amuse/init.dat diff --git a/src/amuse/community/evtwin/src/trunk/input/amuse/init_twin.dat b/src/amuse_evtwin/src/trunk/input/amuse/init_twin.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/amuse/init_twin.dat rename to src/amuse_evtwin/src/trunk/input/amuse/init_twin.dat diff --git a/src/amuse/community/evtwin/src/trunk/input/lt2ubv.dat b/src/amuse_evtwin/src/trunk/input/lt2ubv.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/lt2ubv.dat rename to src/amuse_evtwin/src/trunk/input/lt2ubv.dat diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/ipolop.f b/src/amuse_evtwin/src/trunk/input/metals/ipolop.f similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/ipolop.f rename to src/amuse_evtwin/src/trunk/input/metals/ipolop.f diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/ipolop.f90 b/src/amuse_evtwin/src/trunk/input/metals/ipolop.f90 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/ipolop.f90 rename to src/amuse_evtwin/src/trunk/input/metals/ipolop.f90 diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z0/phys.z0 b/src/amuse_evtwin/src/trunk/input/metals/z0/phys.z0 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z0/phys.z0 rename to src/amuse_evtwin/src/trunk/input/metals/z0/phys.z0 diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z0/phys_a04.z0 b/src/amuse_evtwin/src/trunk/input/metals/z0/phys_a04.z0 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z0/phys_a04.z0 rename to src/amuse_evtwin/src/trunk/input/metals/z0/phys_a04.z0 diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z0001/phys.z0001 b/src/amuse_evtwin/src/trunk/input/metals/z0001/phys.z0001 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z0001/phys.z0001 rename to src/amuse_evtwin/src/trunk/input/metals/z0001/phys.z0001 diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z0001/phys_a04.z0001 b/src/amuse_evtwin/src/trunk/input/metals/z0001/phys_a04.z0001 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z0001/phys_a04.z0001 rename to src/amuse_evtwin/src/trunk/input/metals/z0001/phys_a04.z0001 diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z0001/zams0001_start.mod b/src/amuse_evtwin/src/trunk/input/metals/z0001/zams0001_start.mod similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z0001/zams0001_start.mod rename to src/amuse_evtwin/src/trunk/input/metals/z0001/zams0001_start.mod diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z0003/phys.z0003 b/src/amuse_evtwin/src/trunk/input/metals/z0003/phys.z0003 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z0003/phys.z0003 rename to src/amuse_evtwin/src/trunk/input/metals/z0003/phys.z0003 diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z0003/phys_a04.z0003 b/src/amuse_evtwin/src/trunk/input/metals/z0003/phys_a04.z0003 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z0003/phys_a04.z0003 rename to src/amuse_evtwin/src/trunk/input/metals/z0003/phys_a04.z0003 diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z0003/zams0003_start.mod b/src/amuse_evtwin/src/trunk/input/metals/z0003/zams0003_start.mod similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z0003/zams0003_start.mod rename to src/amuse_evtwin/src/trunk/input/metals/z0003/zams0003_start.mod diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z001/phys.z001 b/src/amuse_evtwin/src/trunk/input/metals/z001/phys.z001 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z001/phys.z001 rename to src/amuse_evtwin/src/trunk/input/metals/z001/phys.z001 diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z001/phys_a04.z001 b/src/amuse_evtwin/src/trunk/input/metals/z001/phys_a04.z001 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z001/phys_a04.z001 rename to src/amuse_evtwin/src/trunk/input/metals/z001/phys_a04.z001 diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z001/zams001_start.mod b/src/amuse_evtwin/src/trunk/input/metals/z001/zams001_start.mod similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z001/zams001_start.mod rename to src/amuse_evtwin/src/trunk/input/metals/z001/zams001_start.mod diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z002/phys.z002 b/src/amuse_evtwin/src/trunk/input/metals/z002/phys.z002 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z002/phys.z002 rename to src/amuse_evtwin/src/trunk/input/metals/z002/phys.z002 diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z002/phys_a04.z002 b/src/amuse_evtwin/src/trunk/input/metals/z002/phys_a04.z002 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z002/phys_a04.z002 rename to src/amuse_evtwin/src/trunk/input/metals/z002/phys_a04.z002 diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z004/phys.z004 b/src/amuse_evtwin/src/trunk/input/metals/z004/phys.z004 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z004/phys.z004 rename to src/amuse_evtwin/src/trunk/input/metals/z004/phys.z004 diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z004/phys_a04.z004 b/src/amuse_evtwin/src/trunk/input/metals/z004/phys_a04.z004 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z004/phys_a04.z004 rename to src/amuse_evtwin/src/trunk/input/metals/z004/phys_a04.z004 diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z004/zams004_start.mod b/src/amuse_evtwin/src/trunk/input/metals/z004/zams004_start.mod similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z004/zams004_start.mod rename to src/amuse_evtwin/src/trunk/input/metals/z004/zams004_start.mod diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z01/phys.z01 b/src/amuse_evtwin/src/trunk/input/metals/z01/phys.z01 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z01/phys.z01 rename to src/amuse_evtwin/src/trunk/input/metals/z01/phys.z01 diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z01/phys_a04.z01 b/src/amuse_evtwin/src/trunk/input/metals/z01/phys_a04.z01 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z01/phys_a04.z01 rename to src/amuse_evtwin/src/trunk/input/metals/z01/phys_a04.z01 diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z01/zams01_start.mod b/src/amuse_evtwin/src/trunk/input/metals/z01/zams01_start.mod similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z01/zams01_start.mod rename to src/amuse_evtwin/src/trunk/input/metals/z01/zams01_start.mod diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z02/phys.z02 b/src/amuse_evtwin/src/trunk/input/metals/z02/phys.z02 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z02/phys.z02 rename to src/amuse_evtwin/src/trunk/input/metals/z02/phys.z02 diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z02/phys_a04.z02 b/src/amuse_evtwin/src/trunk/input/metals/z02/phys_a04.z02 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z02/phys_a04.z02 rename to src/amuse_evtwin/src/trunk/input/metals/z02/phys_a04.z02 diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z02/zams02_start.mod b/src/amuse_evtwin/src/trunk/input/metals/z02/zams02_start.mod similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z02/zams02_start.mod rename to src/amuse_evtwin/src/trunk/input/metals/z02/zams02_start.mod diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z03/phys.z03 b/src/amuse_evtwin/src/trunk/input/metals/z03/phys.z03 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z03/phys.z03 rename to src/amuse_evtwin/src/trunk/input/metals/z03/phys.z03 diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z03/phys_a04.z03 b/src/amuse_evtwin/src/trunk/input/metals/z03/phys_a04.z03 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z03/phys_a04.z03 rename to src/amuse_evtwin/src/trunk/input/metals/z03/phys_a04.z03 diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z03/zams03_start.mod b/src/amuse_evtwin/src/trunk/input/metals/z03/zams03_start.mod similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z03/zams03_start.mod rename to src/amuse_evtwin/src/trunk/input/metals/z03/zams03_start.mod diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z04/phys.z04 b/src/amuse_evtwin/src/trunk/input/metals/z04/phys.z04 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z04/phys.z04 rename to src/amuse_evtwin/src/trunk/input/metals/z04/phys.z04 diff --git a/src/amuse/community/evtwin/src/trunk/input/metals/z04/phys_a04.z04 b/src/amuse_evtwin/src/trunk/input/metals/z04/phys_a04.z04 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/metals/z04/phys_a04.z04 rename to src/amuse_evtwin/src/trunk/input/metals/z04/phys_a04.z04 diff --git a/src/amuse/community/evtwin/src/trunk/input/mutate.dat b/src/amuse_evtwin/src/trunk/input/mutate.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/mutate.dat rename to src/amuse_evtwin/src/trunk/input/mutate.dat diff --git a/src/amuse/community/evtwin/src/trunk/input/nrates.dat b/src/amuse_evtwin/src/trunk/input/nrates.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/nrates.dat rename to src/amuse_evtwin/src/trunk/input/nrates.dat diff --git a/src/amuse/community/evtwin/src/trunk/input/nucdata.dat b/src/amuse_evtwin/src/trunk/input/nucdata.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/nucdata.dat rename to src/amuse_evtwin/src/trunk/input/nucdata.dat diff --git a/src/amuse/community/evtwin/src/trunk/input/physinfo.dat b/src/amuse_evtwin/src/trunk/input/physinfo.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/physinfo.dat rename to src/amuse_evtwin/src/trunk/input/physinfo.dat diff --git a/src/amuse/community/evtwin/src/trunk/input/poly32.dat b/src/amuse_evtwin/src/trunk/input/poly32.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/poly32.dat rename to src/amuse_evtwin/src/trunk/input/poly32.dat diff --git a/src/amuse/community/evtwin/src/trunk/input/rates.dat b/src/amuse_evtwin/src/trunk/input/rates.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/rates.dat rename to src/amuse_evtwin/src/trunk/input/rates.dat diff --git a/src/amuse/community/evtwin/src/trunk/input/zahb.dat b/src/amuse_evtwin/src/trunk/input/zahb.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/zahb.dat rename to src/amuse_evtwin/src/trunk/input/zahb.dat diff --git a/src/amuse/community/evtwin/src/trunk/input/zahb02.mod b/src/amuse_evtwin/src/trunk/input/zahb02.mod similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/zahb02.mod rename to src/amuse_evtwin/src/trunk/input/zahb02.mod diff --git a/src/amuse/community/evtwin/src/trunk/input/zams/zams02.mas b/src/amuse_evtwin/src/trunk/input/zams/zams02.mas similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/zams/zams02.mas rename to src/amuse_evtwin/src/trunk/input/zams/zams02.mas diff --git a/src/amuse/community/evtwin/src/trunk/input/zams/zams02.mod b/src/amuse_evtwin/src/trunk/input/zams/zams02.mod similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/zams/zams02.mod rename to src/amuse_evtwin/src/trunk/input/zams/zams02.mod diff --git a/src/amuse/community/evtwin/src/trunk/input/zams/zams02.out b/src/amuse_evtwin/src/trunk/input/zams/zams02.out similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/zams/zams02.out rename to src/amuse_evtwin/src/trunk/input/zams/zams02.out diff --git a/src/amuse/community/evtwin/src/trunk/input/zams_start.mas b/src/amuse_evtwin/src/trunk/input/zams_start.mas similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/zams_start.mas rename to src/amuse_evtwin/src/trunk/input/zams_start.mas diff --git a/src/amuse/community/evtwin/src/trunk/input/zams_start.out b/src/amuse_evtwin/src/trunk/input/zams_start.out similarity index 100% rename from src/amuse/community/evtwin/src/trunk/input/zams_start.out rename to src/amuse_evtwin/src/trunk/input/zams_start.out diff --git a/src/amuse/community/evtwin/src/trunk/run/01-zams/01-ZAMS.README b/src/amuse_evtwin/src/trunk/run/01-zams/01-ZAMS.README similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/01-zams/01-ZAMS.README rename to src/amuse_evtwin/src/trunk/run/01-zams/01-ZAMS.README diff --git a/src/amuse/community/evtwin/src/trunk/run/01-zams/ev_zams b/src/amuse_evtwin/src/trunk/run/01-zams/ev_zams similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/01-zams/ev_zams rename to src/amuse_evtwin/src/trunk/run/01-zams/ev_zams diff --git a/src/amuse/community/evtwin/src/trunk/run/01-zams/init.dat b/src/amuse_evtwin/src/trunk/run/01-zams/init.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/01-zams/init.dat rename to src/amuse_evtwin/src/trunk/run/01-zams/init.dat diff --git a/src/amuse/community/evtwin/src/trunk/run/01-zams/init.run b/src/amuse_evtwin/src/trunk/run/01-zams/init.run similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/01-zams/init.run rename to src/amuse_evtwin/src/trunk/run/01-zams/init.run diff --git a/src/amuse/community/evtwin/src/trunk/run/01-zams/zams_start.out b/src/amuse_evtwin/src/trunk/run/01-zams/zams_start.out similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/01-zams/zams_start.out rename to src/amuse_evtwin/src/trunk/run/01-zams/zams_start.out diff --git a/src/amuse/community/evtwin/src/trunk/run/02-single/02-Singles.README b/src/amuse_evtwin/src/trunk/run/02-single/02-Singles.README similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/02-single/02-Singles.README rename to src/amuse_evtwin/src/trunk/run/02-single/02-Singles.README diff --git a/src/amuse/community/evtwin/src/trunk/run/02-single/init.dat b/src/amuse_evtwin/src/trunk/run/02-single/init.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/02-single/init.dat rename to src/amuse_evtwin/src/trunk/run/02-single/init.dat diff --git a/src/amuse/community/evtwin/src/trunk/run/02-single/init.run_grid b/src/amuse_evtwin/src/trunk/run/02-single/init.run_grid similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/02-single/init.run_grid rename to src/amuse_evtwin/src/trunk/run/02-single/init.run_grid diff --git a/src/amuse/community/evtwin/src/trunk/run/02-single/init.run_m4 b/src/amuse_evtwin/src/trunk/run/02-single/init.run_m4 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/02-single/init.run_m4 rename to src/amuse_evtwin/src/trunk/run/02-single/init.run_m4 diff --git a/src/amuse/community/evtwin/src/trunk/run/03-solar/03-Solar.README b/src/amuse_evtwin/src/trunk/run/03-solar/03-Solar.README similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/03-solar/03-Solar.README rename to src/amuse_evtwin/src/trunk/run/03-solar/03-Solar.README diff --git a/src/amuse/community/evtwin/src/trunk/run/03-solar/init.dat b/src/amuse_evtwin/src/trunk/run/03-solar/init.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/03-solar/init.dat rename to src/amuse_evtwin/src/trunk/run/03-solar/init.dat diff --git a/src/amuse/community/evtwin/src/trunk/run/03-solar/init.run b/src/amuse_evtwin/src/trunk/run/03-solar/init.run similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/03-solar/init.run rename to src/amuse_evtwin/src/trunk/run/03-solar/init.run diff --git a/src/amuse/community/evtwin/src/trunk/run/03-solar/init.run_2 b/src/amuse_evtwin/src/trunk/run/03-solar/init.run_2 similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/03-solar/init.run_2 rename to src/amuse_evtwin/src/trunk/run/03-solar/init.run_2 diff --git a/src/amuse/community/evtwin/src/trunk/run/04-lmxb/04-CV+LMXB.README b/src/amuse_evtwin/src/trunk/run/04-lmxb/04-CV+LMXB.README similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/04-lmxb/04-CV+LMXB.README rename to src/amuse_evtwin/src/trunk/run/04-lmxb/04-CV+LMXB.README diff --git a/src/amuse/community/evtwin/src/trunk/run/04-lmxb/init.dat b/src/amuse_evtwin/src/trunk/run/04-lmxb/init.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/04-lmxb/init.dat rename to src/amuse_evtwin/src/trunk/run/04-lmxb/init.dat diff --git a/src/amuse/community/evtwin/src/trunk/run/04-lmxb/init.run_CV b/src/amuse_evtwin/src/trunk/run/04-lmxb/init.run_CV similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/04-lmxb/init.run_CV rename to src/amuse_evtwin/src/trunk/run/04-lmxb/init.run_CV diff --git a/src/amuse/community/evtwin/src/trunk/run/04-lmxb/init.run_LMXB b/src/amuse_evtwin/src/trunk/run/04-lmxb/init.run_LMXB similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/04-lmxb/init.run_LMXB rename to src/amuse_evtwin/src/trunk/run/04-lmxb/init.run_LMXB diff --git a/src/amuse/community/evtwin/src/trunk/run/05-cons/05-ConsBins.README b/src/amuse_evtwin/src/trunk/run/05-cons/05-ConsBins.README similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/05-cons/05-ConsBins.README rename to src/amuse_evtwin/src/trunk/run/05-cons/05-ConsBins.README diff --git a/src/amuse/community/evtwin/src/trunk/run/05-cons/init.dat b/src/amuse_evtwin/src/trunk/run/05-cons/init.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/05-cons/init.dat rename to src/amuse_evtwin/src/trunk/run/05-cons/init.dat diff --git a/src/amuse/community/evtwin/src/trunk/run/05-cons/init.run_b b/src/amuse_evtwin/src/trunk/run/05-cons/init.run_b similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/05-cons/init.run_b rename to src/amuse_evtwin/src/trunk/run/05-cons/init.run_b diff --git a/src/amuse/community/evtwin/src/trunk/run/05-cons/init.run_grid b/src/amuse_evtwin/src/trunk/run/05-cons/init.run_grid similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/05-cons/init.run_grid rename to src/amuse_evtwin/src/trunk/run/05-cons/init.run_grid diff --git a/src/amuse/community/evtwin/src/trunk/run/06-noncons/06-NonConsBins.README b/src/amuse_evtwin/src/trunk/run/06-noncons/06-NonConsBins.README similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/06-noncons/06-NonConsBins.README rename to src/amuse_evtwin/src/trunk/run/06-noncons/06-NonConsBins.README diff --git a/src/amuse/community/evtwin/src/trunk/run/06-noncons/init.dat b/src/amuse_evtwin/src/trunk/run/06-noncons/init.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/06-noncons/init.dat rename to src/amuse_evtwin/src/trunk/run/06-noncons/init.dat diff --git a/src/amuse/community/evtwin/src/trunk/run/06-noncons/init.run_b b/src/amuse_evtwin/src/trunk/run/06-noncons/init.run_b similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/06-noncons/init.run_b rename to src/amuse_evtwin/src/trunk/run/06-noncons/init.run_b diff --git a/src/amuse/community/evtwin/src/trunk/run/06-noncons/init.run_grid b/src/amuse_evtwin/src/trunk/run/06-noncons/init.run_grid similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/06-noncons/init.run_grid rename to src/amuse_evtwin/src/trunk/run/06-noncons/init.run_grid diff --git a/src/amuse/community/evtwin/src/trunk/run/07-zahb/07-ZAHB-ZAHeMS.README b/src/amuse_evtwin/src/trunk/run/07-zahb/07-ZAHB-ZAHeMS.README similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/07-zahb/07-ZAHB-ZAHeMS.README rename to src/amuse_evtwin/src/trunk/run/07-zahb/07-ZAHB-ZAHeMS.README diff --git a/src/amuse/community/evtwin/src/trunk/run/07-zahb/init.dat_a b/src/amuse_evtwin/src/trunk/run/07-zahb/init.dat_a similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/07-zahb/init.dat_a rename to src/amuse_evtwin/src/trunk/run/07-zahb/init.dat_a diff --git a/src/amuse/community/evtwin/src/trunk/run/07-zahb/init.dat_b b/src/amuse_evtwin/src/trunk/run/07-zahb/init.dat_b similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/07-zahb/init.dat_b rename to src/amuse_evtwin/src/trunk/run/07-zahb/init.dat_b diff --git a/src/amuse/community/evtwin/src/trunk/run/07-zahb/init.dat_c b/src/amuse_evtwin/src/trunk/run/07-zahb/init.dat_c similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/07-zahb/init.dat_c rename to src/amuse_evtwin/src/trunk/run/07-zahb/init.dat_c diff --git a/src/amuse/community/evtwin/src/trunk/run/07-zahb/init.mas_c b/src/amuse_evtwin/src/trunk/run/07-zahb/init.mas_c similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/07-zahb/init.mas_c rename to src/amuse_evtwin/src/trunk/run/07-zahb/init.mas_c diff --git a/src/amuse/community/evtwin/src/trunk/run/07-zahb/init.run_a b/src/amuse_evtwin/src/trunk/run/07-zahb/init.run_a similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/07-zahb/init.run_a rename to src/amuse_evtwin/src/trunk/run/07-zahb/init.run_a diff --git a/src/amuse/community/evtwin/src/trunk/run/07-zahb/init.run_b b/src/amuse_evtwin/src/trunk/run/07-zahb/init.run_b similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/07-zahb/init.run_b rename to src/amuse_evtwin/src/trunk/run/07-zahb/init.run_b diff --git a/src/amuse/community/evtwin/src/trunk/run/07-zahb/init.run_c b/src/amuse_evtwin/src/trunk/run/07-zahb/init.run_c similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/07-zahb/init.run_c rename to src/amuse_evtwin/src/trunk/run/07-zahb/init.run_c diff --git a/src/amuse/community/evtwin/src/trunk/run/08-wd/08-HeWD,COWD.README b/src/amuse_evtwin/src/trunk/run/08-wd/08-HeWD,COWD.README similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/08-wd/08-HeWD,COWD.README rename to src/amuse_evtwin/src/trunk/run/08-wd/08-HeWD,COWD.README diff --git a/src/amuse/community/evtwin/src/trunk/run/08-wd/init.dat_a b/src/amuse_evtwin/src/trunk/run/08-wd/init.dat_a similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/08-wd/init.dat_a rename to src/amuse_evtwin/src/trunk/run/08-wd/init.dat_a diff --git a/src/amuse/community/evtwin/src/trunk/run/08-wd/init.dat_b b/src/amuse_evtwin/src/trunk/run/08-wd/init.dat_b similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/08-wd/init.dat_b rename to src/amuse_evtwin/src/trunk/run/08-wd/init.dat_b diff --git a/src/amuse/community/evtwin/src/trunk/run/08-wd/init.dat_c b/src/amuse_evtwin/src/trunk/run/08-wd/init.dat_c similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/08-wd/init.dat_c rename to src/amuse_evtwin/src/trunk/run/08-wd/init.dat_c diff --git a/src/amuse/community/evtwin/src/trunk/run/08-wd/init.dat_d b/src/amuse_evtwin/src/trunk/run/08-wd/init.dat_d similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/08-wd/init.dat_d rename to src/amuse_evtwin/src/trunk/run/08-wd/init.dat_d diff --git a/src/amuse/community/evtwin/src/trunk/run/08-wd/init.run_a b/src/amuse_evtwin/src/trunk/run/08-wd/init.run_a similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/08-wd/init.run_a rename to src/amuse_evtwin/src/trunk/run/08-wd/init.run_a diff --git a/src/amuse/community/evtwin/src/trunk/run/08-wd/init.run_b b/src/amuse_evtwin/src/trunk/run/08-wd/init.run_b similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/08-wd/init.run_b rename to src/amuse_evtwin/src/trunk/run/08-wd/init.run_b diff --git a/src/amuse/community/evtwin/src/trunk/run/08-wd/init.run_c b/src/amuse_evtwin/src/trunk/run/08-wd/init.run_c similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/08-wd/init.run_c rename to src/amuse_evtwin/src/trunk/run/08-wd/init.run_c diff --git a/src/amuse/community/evtwin/src/trunk/run/08-wd/init.run_d b/src/amuse_evtwin/src/trunk/run/08-wd/init.run_d similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/08-wd/init.run_d rename to src/amuse_evtwin/src/trunk/run/08-wd/init.run_d diff --git a/src/amuse/community/evtwin/src/trunk/run/09-prems/09-PreZAMS.README b/src/amuse_evtwin/src/trunk/run/09-prems/09-PreZAMS.README similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/09-prems/09-PreZAMS.README rename to src/amuse_evtwin/src/trunk/run/09-prems/09-PreZAMS.README diff --git a/src/amuse/community/evtwin/src/trunk/run/09-prems/init.dat_a b/src/amuse_evtwin/src/trunk/run/09-prems/init.dat_a similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/09-prems/init.dat_a rename to src/amuse_evtwin/src/trunk/run/09-prems/init.dat_a diff --git a/src/amuse/community/evtwin/src/trunk/run/09-prems/init.dat_b b/src/amuse_evtwin/src/trunk/run/09-prems/init.dat_b similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/09-prems/init.dat_b rename to src/amuse_evtwin/src/trunk/run/09-prems/init.dat_b diff --git a/src/amuse/community/evtwin/src/trunk/run/09-prems/init.dat_c b/src/amuse_evtwin/src/trunk/run/09-prems/init.dat_c similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/09-prems/init.dat_c rename to src/amuse_evtwin/src/trunk/run/09-prems/init.dat_c diff --git a/src/amuse/community/evtwin/src/trunk/run/09-prems/init.run_a b/src/amuse_evtwin/src/trunk/run/09-prems/init.run_a similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/09-prems/init.run_a rename to src/amuse_evtwin/src/trunk/run/09-prems/init.run_a diff --git a/src/amuse/community/evtwin/src/trunk/run/09-prems/init.run_b b/src/amuse_evtwin/src/trunk/run/09-prems/init.run_b similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/09-prems/init.run_b rename to src/amuse_evtwin/src/trunk/run/09-prems/init.run_b diff --git a/src/amuse/community/evtwin/src/trunk/run/09-prems/init.run_c b/src/amuse_evtwin/src/trunk/run/09-prems/init.run_c similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/09-prems/init.run_c rename to src/amuse_evtwin/src/trunk/run/09-prems/init.run_c diff --git a/src/amuse/community/evtwin/src/trunk/run/10-twin/10-TWIN.noncontact.README b/src/amuse_evtwin/src/trunk/run/10-twin/10-TWIN.noncontact.README similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/10-twin/10-TWIN.noncontact.README rename to src/amuse_evtwin/src/trunk/run/10-twin/10-TWIN.noncontact.README diff --git a/src/amuse/community/evtwin/src/trunk/run/10-twin/init.dat b/src/amuse_evtwin/src/trunk/run/10-twin/init.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/10-twin/init.dat rename to src/amuse_evtwin/src/trunk/run/10-twin/init.dat diff --git a/src/amuse/community/evtwin/src/trunk/run/10-twin/init.dat_b b/src/amuse_evtwin/src/trunk/run/10-twin/init.dat_b similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/10-twin/init.dat_b rename to src/amuse_evtwin/src/trunk/run/10-twin/init.dat_b diff --git a/src/amuse/community/evtwin/src/trunk/run/10-twin/init.run_BY b/src/amuse_evtwin/src/trunk/run/10-twin/init.run_BY similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/10-twin/init.run_BY rename to src/amuse_evtwin/src/trunk/run/10-twin/init.run_BY diff --git a/src/amuse/community/evtwin/src/trunk/run/10-twin/init.run_RZ b/src/amuse_evtwin/src/trunk/run/10-twin/init.run_RZ similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/10-twin/init.run_RZ rename to src/amuse_evtwin/src/trunk/run/10-twin/init.run_RZ diff --git a/src/amuse/community/evtwin/src/trunk/run/10-twin/init.run_ZH b/src/amuse_evtwin/src/trunk/run/10-twin/init.run_ZH similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/10-twin/init.run_ZH rename to src/amuse_evtwin/src/trunk/run/10-twin/init.run_ZH diff --git a/src/amuse/community/evtwin/src/trunk/run/10-twin/init.run_b b/src/amuse_evtwin/src/trunk/run/10-twin/init.run_b similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/10-twin/init.run_b rename to src/amuse_evtwin/src/trunk/run/10-twin/init.run_b diff --git a/src/amuse/community/evtwin/src/trunk/run/11-contact/11-TWIN.contact.README b/src/amuse_evtwin/src/trunk/run/11-contact/11-TWIN.contact.README similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/11-contact/11-TWIN.contact.README rename to src/amuse_evtwin/src/trunk/run/11-contact/11-TWIN.contact.README diff --git a/src/amuse/community/evtwin/src/trunk/run/11-contact/init.dat b/src/amuse_evtwin/src/trunk/run/11-contact/init.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/11-contact/init.dat rename to src/amuse_evtwin/src/trunk/run/11-contact/init.dat diff --git a/src/amuse/community/evtwin/src/trunk/run/11-contact/init.run b/src/amuse_evtwin/src/trunk/run/11-contact/init.run similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/11-contact/init.run rename to src/amuse_evtwin/src/trunk/run/11-contact/init.run diff --git a/src/amuse/community/evtwin/src/trunk/run/12-nucsyn/README b/src/amuse_evtwin/src/trunk/run/12-nucsyn/README similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/12-nucsyn/README rename to src/amuse_evtwin/src/trunk/run/12-nucsyn/README diff --git a/src/amuse/community/evtwin/src/trunk/run/12-nucsyn/init.dat b/src/amuse_evtwin/src/trunk/run/12-nucsyn/init.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/12-nucsyn/init.dat rename to src/amuse_evtwin/src/trunk/run/12-nucsyn/init.dat diff --git a/src/amuse/community/evtwin/src/trunk/run/12-nucsyn/init.mod b/src/amuse_evtwin/src/trunk/run/12-nucsyn/init.mod similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/12-nucsyn/init.mod rename to src/amuse_evtwin/src/trunk/run/12-nucsyn/init.mod diff --git a/src/amuse/community/evtwin/src/trunk/run/12-nucsyn/init.run b/src/amuse_evtwin/src/trunk/run/12-nucsyn/init.run similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/12-nucsyn/init.run rename to src/amuse_evtwin/src/trunk/run/12-nucsyn/init.run diff --git a/src/amuse/community/evtwin/src/trunk/run/13-gravset/README b/src/amuse_evtwin/src/trunk/run/13-gravset/README similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/13-gravset/README rename to src/amuse_evtwin/src/trunk/run/13-gravset/README diff --git a/src/amuse/community/evtwin/src/trunk/run/13-gravset/init.dat b/src/amuse_evtwin/src/trunk/run/13-gravset/init.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/13-gravset/init.dat rename to src/amuse_evtwin/src/trunk/run/13-gravset/init.dat diff --git a/src/amuse/community/evtwin/src/trunk/run/13-gravset/init.run b/src/amuse_evtwin/src/trunk/run/13-gravset/init.run similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/13-gravset/init.run rename to src/amuse_evtwin/src/trunk/run/13-gravset/init.run diff --git a/src/amuse/community/evtwin/src/trunk/run/14-polytrope/README b/src/amuse_evtwin/src/trunk/run/14-polytrope/README similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/14-polytrope/README rename to src/amuse_evtwin/src/trunk/run/14-polytrope/README diff --git a/src/amuse/community/evtwin/src/trunk/run/14-polytrope/init.dat b/src/amuse_evtwin/src/trunk/run/14-polytrope/init.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/14-polytrope/init.dat rename to src/amuse_evtwin/src/trunk/run/14-polytrope/init.dat diff --git a/src/amuse/community/evtwin/src/trunk/run/14-polytrope/init.run b/src/amuse_evtwin/src/trunk/run/14-polytrope/init.run similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/14-polytrope/init.run rename to src/amuse_evtwin/src/trunk/run/14-polytrope/init.run diff --git a/src/amuse/community/evtwin/src/trunk/run/evolve b/src/amuse_evtwin/src/trunk/run/evolve similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/evolve rename to src/amuse_evtwin/src/trunk/run/evolve diff --git a/src/amuse/community/evtwin/src/trunk/run/make_zahb_model/Makefile b/src/amuse_evtwin/src/trunk/run/make_zahb_model/Makefile similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/make_zahb_model/Makefile rename to src/amuse_evtwin/src/trunk/run/make_zahb_model/Makefile diff --git a/src/amuse/community/evtwin/src/trunk/run/make_zahb_model/README b/src/amuse_evtwin/src/trunk/run/make_zahb_model/README similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/make_zahb_model/README rename to src/amuse_evtwin/src/trunk/run/make_zahb_model/README diff --git a/src/amuse/community/evtwin/src/trunk/run/make_zahb_model/m225.dat b/src/amuse_evtwin/src/trunk/run/make_zahb_model/m225.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/make_zahb_model/m225.dat rename to src/amuse_evtwin/src/trunk/run/make_zahb_model/m225.dat diff --git a/src/amuse/community/evtwin/src/trunk/run/make_zahb_model/m225.run b/src/amuse_evtwin/src/trunk/run/make_zahb_model/m225.run similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/make_zahb_model/m225.run rename to src/amuse_evtwin/src/trunk/run/make_zahb_model/m225.run diff --git a/src/amuse/community/evtwin/src/trunk/run/make_zahb_model/relax.dat b/src/amuse_evtwin/src/trunk/run/make_zahb_model/relax.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/make_zahb_model/relax.dat rename to src/amuse_evtwin/src/trunk/run/make_zahb_model/relax.dat diff --git a/src/amuse/community/evtwin/src/trunk/run/make_zahb_model/relax.run b/src/amuse_evtwin/src/trunk/run/make_zahb_model/relax.run similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/make_zahb_model/relax.run rename to src/amuse_evtwin/src/trunk/run/make_zahb_model/relax.run diff --git a/src/amuse/community/evtwin/src/trunk/run/make_zahb_model/strip.dat b/src/amuse_evtwin/src/trunk/run/make_zahb_model/strip.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/make_zahb_model/strip.dat rename to src/amuse_evtwin/src/trunk/run/make_zahb_model/strip.dat diff --git a/src/amuse/community/evtwin/src/trunk/run/make_zahb_model/strip.run b/src/amuse_evtwin/src/trunk/run/make_zahb_model/strip.run similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/make_zahb_model/strip.run rename to src/amuse_evtwin/src/trunk/run/make_zahb_model/strip.run diff --git a/src/amuse/community/evtwin/src/trunk/run/make_zahb_model/test.dat b/src/amuse_evtwin/src/trunk/run/make_zahb_model/test.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/make_zahb_model/test.dat rename to src/amuse_evtwin/src/trunk/run/make_zahb_model/test.dat diff --git a/src/amuse/community/evtwin/src/trunk/run/make_zahb_model/test.run b/src/amuse_evtwin/src/trunk/run/make_zahb_model/test.run similarity index 100% rename from src/amuse/community/evtwin/src/trunk/run/make_zahb_model/test.run rename to src/amuse_evtwin/src/trunk/run/make_zahb_model/test.run diff --git a/src/amuse/community/evtwin/src/trunk/set_standard_path.pl b/src/amuse_evtwin/src/trunk/set_standard_path.pl similarity index 100% rename from src/amuse/community/evtwin/src/trunk/set_standard_path.pl rename to src/amuse_evtwin/src/trunk/set_standard_path.pl diff --git a/src/amuse/community/evtwin/src/trunk/stars_standards/000_Readme.txt b/src/amuse_evtwin/src/trunk/stars_standards/000_Readme.txt similarity index 100% rename from src/amuse/community/evtwin/src/trunk/stars_standards/000_Readme.txt rename to src/amuse_evtwin/src/trunk/stars_standards/000_Readme.txt diff --git a/src/amuse/community/evtwin/src/trunk/stars_standards/init.dat b/src/amuse_evtwin/src/trunk/stars_standards/init.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/stars_standards/init.dat rename to src/amuse_evtwin/src/trunk/stars_standards/init.dat diff --git a/src/amuse/community/evtwin/src/trunk/stars_standards/init.run b/src/amuse_evtwin/src/trunk/stars_standards/init.run similarity index 100% rename from src/amuse/community/evtwin/src/trunk/stars_standards/init.run rename to src/amuse_evtwin/src/trunk/stars_standards/init.run diff --git a/src/amuse/community/evtwin/src/trunk/stars_standards/init_binary.dat b/src/amuse_evtwin/src/trunk/stars_standards/init_binary.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/stars_standards/init_binary.dat rename to src/amuse_evtwin/src/trunk/stars_standards/init_binary.dat diff --git a/src/amuse/community/evtwin/src/trunk/stars_standards/init_twin.dat b/src/amuse_evtwin/src/trunk/stars_standards/init_twin.dat similarity index 100% rename from src/amuse/community/evtwin/src/trunk/stars_standards/init_twin.dat rename to src/amuse_evtwin/src/trunk/stars_standards/init_twin.dat diff --git a/src/amuse/community/evtwin/src/trunk/tools/continue.sh b/src/amuse_evtwin/src/trunk/tools/continue.sh similarity index 100% rename from src/amuse/community/evtwin/src/trunk/tools/continue.sh rename to src/amuse_evtwin/src/trunk/tools/continue.sh diff --git a/src/amuse/community/evtwin/src/trunk/tools/evolve b/src/amuse_evtwin/src/trunk/tools/evolve similarity index 100% rename from src/amuse/community/evtwin/src/trunk/tools/evolve rename to src/amuse_evtwin/src/trunk/tools/evolve diff --git a/src/amuse/community/evtwin/src/trunk/tools/evolve.sh b/src/amuse_evtwin/src/trunk/tools/evolve.sh similarity index 100% rename from src/amuse/community/evtwin/src/trunk/tools/evolve.sh rename to src/amuse_evtwin/src/trunk/tools/evolve.sh diff --git a/src/amuse/community/evtwin/src/trunk/tools/ltg2ubv.pl b/src/amuse_evtwin/src/trunk/tools/ltg2ubv.pl similarity index 100% rename from src/amuse/community/evtwin/src/trunk/tools/ltg2ubv.pl rename to src/amuse_evtwin/src/trunk/tools/ltg2ubv.pl diff --git a/src/amuse/community/evtwin/src/trunk/tools/monitor.sh b/src/amuse_evtwin/src/trunk/tools/monitor.sh similarity index 100% rename from src/amuse/community/evtwin/src/trunk/tools/monitor.sh rename to src/amuse_evtwin/src/trunk/tools/monitor.sh diff --git a/src/amuse/community/evtwin/src/trunk/tools/nucsyn_abund.pl b/src/amuse_evtwin/src/trunk/tools/nucsyn_abund.pl similarity index 100% rename from src/amuse/community/evtwin/src/trunk/tools/nucsyn_abund.pl rename to src/amuse_evtwin/src/trunk/tools/nucsyn_abund.pl diff --git a/src/amuse/community/evtwin/src/trunk/tools/removeNaN.sh b/src/amuse_evtwin/src/trunk/tools/removeNaN.sh similarity index 100% rename from src/amuse/community/evtwin/src/trunk/tools/removeNaN.sh rename to src/amuse_evtwin/src/trunk/tools/removeNaN.sh diff --git a/src/amuse/community/evtwin/src/trunk/tools/sequence.sh b/src/amuse_evtwin/src/trunk/tools/sequence.sh similarity index 100% rename from src/amuse/community/evtwin/src/trunk/tools/sequence.sh rename to src/amuse_evtwin/src/trunk/tools/sequence.sh diff --git a/src/amuse_evtwin/support/aclocal.m4 b/src/amuse_evtwin/support/aclocal.m4 new file mode 100644 index 0000000000..a0863e8de2 --- /dev/null +++ b/src/amuse_evtwin/support/aclocal.m4 @@ -0,0 +1,19 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/fortran.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_evtwin/support/config.mk.in b/src/amuse_evtwin/support/config.mk.in new file mode 100644 index 0000000000..15a053dd5e --- /dev/null +++ b/src/amuse_evtwin/support/config.mk.in @@ -0,0 +1,14 @@ +FC = @FC@ +MPIFC = @MPIFC@ + +FCFLAGS = @FCFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + +AR = @AR@ +RANLIB = @RANLIB@ + +FORSOCKETS_CFLAGS = @FORSOCKETS_CFLAGS@ +FORSOCKETS_LIBS = @FORSOCKETS_LIBS@ + diff --git a/src/amuse_evtwin/support/configure b/src/amuse_evtwin/support/configure new file mode 100755 index 0000000000..d620b5df1b --- /dev/null +++ b/src/amuse_evtwin/support/configure @@ -0,0 +1,5761 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-evtwin 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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" + if (eval "$as_required") 2>/dev/null +then : + as_have_required=yes +else $as_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-evtwin' +PACKAGE_TARNAME='amuse-evtwin' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-evtwin 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPILIBS +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CPPFLAGS +CFLAGS +CC +RANLIB +AR +target_os +target_vendor +target_cpu +target +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +OBJEXT +EXEEXT +ac_ct_FC +LDFLAGS +FCFLAGS +FC +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +FC +FCFLAGS +LDFLAGS +LIBS +CC +CFLAGS +CPPFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS +MPIFC' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-evtwin 1.0 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/amuse-evtwin] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-evtwin 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + FC Fortran compiler command + FCFLAGS Fortran 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 + CC C compiler command + CFLAGS C compiler flags + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + 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 + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + MPIFC MPI Fortran compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-evtwin configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-evtwin $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + + +# Find the compiler(s) +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the Fortran compiler works" >&5 +printf %s "checking whether the Fortran compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "Fortran compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler default output file name" >&5 +printf %s "checking for Fortran compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat > conftest.$ac_ext <<_ACEOF + program main + open(unit=9,file='conftest.out') + close(unit=9) + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run Fortran compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +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 + + + + +# Find tools for creating static libraries + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-evtwin $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-evtwin config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + diff --git a/src/amuse_evtwin/support/configure.ac b/src/amuse_evtwin/support/configure.ac new file mode 100644 index 0000000000..a992e54fc3 --- /dev/null +++ b/src/amuse_evtwin/support/configure.ac @@ -0,0 +1,36 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-evtwin], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + + +# Find the compiler(s) +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find AMUSE libraries +AMUSE_LIB_FORSOCKETS() + + +AC_LANG_PUSH([Fortran]) + +AX_MPI() + +AC_LANG_POP([Fortran]) + + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT diff --git a/src/amuse_evtwin/support/shared b/src/amuse_evtwin/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_evtwin/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_evtwin.py b/src/amuse_evtwin/tests/test_evtwin.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_evtwin.py rename to src/amuse_evtwin/tests/test_evtwin.py index e41bee88a9..e41e003794 100644 --- a/src/amuse/test/suite/codes_tests/test_evtwin.py +++ b/src/amuse_evtwin/tests/test_evtwin.py @@ -1,10 +1,10 @@ -from amuse.test.amusetest import TestWithMPI, get_path_to_results +from amuse.support.testing.amusetest import TestWithMPI, get_path_to_results import sys import os.path from numpy import pi, arange import numpy.random -from amuse.community.evtwin.interface import EVtwin, EVtwinInterface +from amuse_evtwin.interface import EVtwin, EVtwinInterface from amuse.support.exceptions import AmuseException from amuse.units import nbody_system, units @@ -437,7 +437,7 @@ def test4(self): end_time=2*max_age, expected_message=( "Error when calling 'evolve_for' of a " - "'', " + "'EVtwin', " "errorcode is 5, error is 'Age greater than maximum " "age limit.'" ) diff --git a/src/amuse_fastkick/.gitignore b/src/amuse_fastkick/.gitignore new file mode 100644 index 0000000000..5cc025d9a7 --- /dev/null +++ b/src/amuse_fastkick/.gitignore @@ -0,0 +1,3 @@ +*.co +*.o + diff --git a/src/amuse_fastkick/Makefile b/src/amuse_fastkick/Makefile new file mode 100644 index 0000000000..2fe219594a --- /dev/null +++ b/src/amuse_fastkick/Makefile @@ -0,0 +1,79 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + +DEPFLAGS += $(CUDA_FLAGS) + +CXXFLAGS += $(DEPFLAGS) + +LDFLAGS += $(CUDA_LDFLAGS) + + +# Building the workers +fastkick_worker.h: interface.py + amusifier --type=h interface.py FastKickInterface -o $@ + +fastkick_worker.cc: interface.py + amusifier --type=c interface.py FastKickInterface -o $@ + +fastkick_worker.o: fastkick_worker.cc fastkick_worker.h + $(MPICXX) -c -o $@ $(CXXFLAGS) $< + +fastkick_worker: interface.o fastkick_worker.o + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +fastkick_cuda_worker: interface.co cuda_fastkick.co fastkick_worker.o + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) -lcudart + +interface.o interface.co: fastkick_worker.h + +%.o: %.cc + $(MPICXX) -o $@ -c $(CXXFLAGS) $< + +%.co: %.cc + $(MPICXX) -o $@ -c $(CXXFLAGS) -DGPU $< + +%.co: %.cu + $(NVCC) $(NVCCFLAGS) -DGPU -Xcompiler "$(CXXFLAGS)" -c $< -o $@ + + +# Which packages contain which workers? +amuse-fastkick_contains: fastkick_worker + +amuse-fastkick-cuda_contains: fastkick_cuda_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: +ifneq ($(CI),) + cd packages/$* && pytest -k 'not noci' +else + cd packages/$* && pytest +endif + + +# Cleaning up +.PHONY: clean +clean: + rm -rf *.o *.co *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_fastkick/__init__.py b/src/amuse_fastkick/__init__.py new file mode 100644 index 0000000000..d70667fb3d --- /dev/null +++ b/src/amuse_fastkick/__init__.py @@ -0,0 +1 @@ +from .interface import Fastkick diff --git a/src/amuse/community/fastkick/cuda_fastkick.cu b/src/amuse_fastkick/cuda_fastkick.cu similarity index 100% rename from src/amuse/community/fastkick/cuda_fastkick.cu rename to src/amuse_fastkick/cuda_fastkick.cu diff --git a/src/amuse/community/fastkick/cuda_fastkick.h b/src/amuse_fastkick/cuda_fastkick.h similarity index 100% rename from src/amuse/community/fastkick/cuda_fastkick.h rename to src/amuse_fastkick/cuda_fastkick.h diff --git a/src/amuse_fastkick/interface.cc b/src/amuse_fastkick/interface.cc new file mode 100644 index 0000000000..09e56707f4 --- /dev/null +++ b/src/amuse_fastkick/interface.cc @@ -0,0 +1,335 @@ +#ifndef NOMPI +#include +#endif + +#include +#include +#include +#include +#include "fastkick_worker.h" + +#ifdef GPU +#include "cuda_fastkick.h" +#endif + + +using namespace std; + +#ifndef NOMPI +int mpi_rank = 0; +int mpi_size = 1; +#endif + +int n_local, n_total, offset; +vector m, x, y, z; // Only contains particles assigned to this process +vector m_all, x_all, y_all, z_all; + + +// Control parameters: + +double eps2 = 0; + + +int handle_result(int result){ + int local_result = result; +#ifndef NOMPI + if (mpi_rank) { + MPI_Reduce(&local_result, NULL, 1, MPI_INT, MPI_SUM, 0, MPI_COMM_WORLD); + } else { + MPI_Reduce(MPI_IN_PLACE, &local_result, 1, MPI_INT, MPI_SUM, 0, MPI_COMM_WORLD); + } +#endif + return local_result; +} + +int initialize_code() { + cerr << "initialize_code" << endl; +#ifndef NOMPI + int error; + error = handle_result(MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank)); + if(error) { + cerr << "MPI_Comm_rank returned: " << error << endl; + return -1; + } + error = handle_result(MPI_Comm_size(MPI_COMM_WORLD, &mpi_size)); + if(error) { + cerr << "MPI_Comm_size returned: " << error << endl; + return -1; + } +#endif + n_total = 0; + n_local = 0; +#ifdef GPU + return handle_result(cuda_initialize_code()); +#else + return 0; +#endif +} + +int commit_parameters() { + cerr << "commit_parameters" << endl; + return 0; +} +int recommit_parameters() { + return 0; +} +int commit_particles() { + cerr << "commit_particles" << endl; + n_total = m_all.size(); +#ifdef NOMPI + n_local = n_total; + m = m_all; + x = x_all; + y = y_all; + z = z_all; +#else + n_local = n_total / mpi_size + (n_total % mpi_size > mpi_rank); + offset = (n_total / mpi_size) * mpi_rank + min(n_total % mpi_size, mpi_rank); + m.assign(m_all.begin()+offset, m_all.begin()+offset+n_local); + x.assign(x_all.begin()+offset, x_all.begin()+offset+n_local); + y.assign(y_all.begin()+offset, y_all.begin()+offset+n_local); + z.assign(z_all.begin()+offset, z_all.begin()+offset+n_local); +#endif +#ifdef GPU + int result = handle_result(cuda_commit_particles(m, x, y, z)); +#else + int result = 0; +#endif + cerr << "commit_particles done" << endl; + return result; +} + +int recommit_particles() { + cerr << "recommit_particles" << endl; +#ifdef GPU + int result = handle_result(cuda_cleanup_code()); + if (result < 0) { + cerr << "recommit_particles: cuda_cleanup_code returned: " << result << endl; + return result; + } +#endif + return commit_particles(); +} + +int get_eps2(double *_epsilon_squared){ + *_epsilon_squared = eps2; + return 0; +} +int set_eps2(double _epsilon_squared){ + eps2 = _epsilon_squared; + return 0; +} + +int cleanup_code() { + m.clear(); + x.clear(); + y.clear(); + z.clear(); + m_all.clear(); + x_all.clear(); + y_all.clear(); + z_all.clear(); +#ifdef GPU + return handle_result(cuda_cleanup_code()); +#else + return 0; +#endif +} + +int new_particle(int *id, double *mass_in, double *x_in, double *y_in, double *z_in, int length) { + int i, next_id = m_all.size(); + for (i=0; i m_all.size()) { + return -1; + } + out[i] = m_all[id[i]]; + } + return 0; +} +int set_mass(int *id, double * in, int length) { + int i; + for (i=0; i m_all.size()) { + return -1; + } + m_all[id[i]] = in[i]; + } + return 0; +} + +int local_get_potential_at_point(double *eps_in, double *x_in, double *y_in, double *z_in, + double *phi, int length){ +#ifdef GPU + int result = handle_result(cuda_get_potential_at_point(eps2, eps_in, x_in, y_in, z_in, phi, length)); +#else + int result = 0; + double dx, dy, dz, r; + double dr2, eps2_total; + for (int j = 0; j < length; j++) { + eps2_total = eps2 + eps_in[j]*eps_in[j]; + phi[j] = 0; + for (int i = 0; i < n_local; i++) { + dx = x[i] - x_in[j]; + dy = y[i] - y_in[j]; + dz = z[i] - z_in[j]; + dr2 = dx*dx + dy*dy + dz*dz; + if (dr2 > 0 && m[i] > 0) { + r = sqrt(dr2 + eps2_total); + phi[j] -= m[i]/r; + } + } + } +#endif + return result; +} + +int get_potential_at_point(double *eps_in, double *x_in, double *y_in, double *z_in, + double *phi, int length){ + int result = local_get_potential_at_point(eps_in, x_in, y_in, z_in, phi, length); +#ifndef NOMPI + if (mpi_rank) { + MPI_Reduce(phi, NULL, length, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); + } else { + MPI_Reduce(MPI_IN_PLACE, phi, length, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); + } +#endif + return result; +} + +int get_gravity_at_point(double *eps_in, double *x_in, double *y_in, double *z_in, + double *ax, double *ay, double *az, int length){ + double dx, dy, dz, r2, tmp; + +#ifdef GPU + cerr << "get_gravity_at_point: start cuda_get_gravity_at_point with " << length << " points and " << n_local << " particles." << endl; + int result = handle_result(cuda_get_gravity_at_point(eps2, eps_in, x_in, y_in, z_in, ax, ay, az, length)); +#else + double dr2, eps2_total; + for (int j = 0; j < length; j++) { + eps2_total = eps2 + eps_in[j]*eps_in[j]; + ax[j] = 0; + ay[j] = 0; + az[j] = 0; + for (int i = 0; i < n_local; i++) { + dx = x[i] - x_in[j]; + dy = y[i] - y_in[j]; + dz = z[i] - z_in[j]; + dr2 = dx*dx + dy*dy + dz*dz; + if (dr2 > 0) { + r2 = dr2 + eps2_total; + tmp = m[i] / (r2 * sqrt(r2)); + ax[j] += tmp * dx; + ay[j] += tmp * dy; + az[j] += tmp * dz; + } + } + } +#endif + +#ifndef NOMPI + if (mpi_rank) { + MPI_Reduce(ax, NULL, length, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); + MPI_Reduce(ay, NULL, length, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); + MPI_Reduce(az, NULL, length, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); + } else { + MPI_Reduce(MPI_IN_PLACE, ax, length, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); + MPI_Reduce(MPI_IN_PLACE, ay, length, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); + MPI_Reduce(MPI_IN_PLACE, az, length, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); + } +#endif + +#ifdef GPU + return result; +#else + return 0; +#endif +} + +int get_potential_energy(double *potential_energy){ + cerr << "get_potential_energy" << endl; + int i; + + // First calculate local potential energy: +#ifdef GPU + int result = handle_result(cuda_get_potential_energy(eps2, potential_energy)); + if (result < 0) return -1; +#else + double dx, dy, dz, dr2, r; + *potential_energy = 0; + for (int j = 1; j < n_local; j++) { + for (i = 0; i < j; i++) { + dx = x[i] - x[j]; + dy = y[i] - y[j]; + dz = z[i] - z[j]; + dr2 = dx*dx + dy*dy + dz*dz; + r = sqrt(dr2 + eps2); + *potential_energy -= m[i]*m[j]/r; + } + } +#endif + +// Now calculate contributions to the potential energy from particles on other processes +#ifndef NOMPI + int n_others = n_total - n_local; + if (n_others > 0){ + double *eps_in = new double[n_others]; + double *x_in = new double[n_others]; + double *y_in = new double[n_others]; + double *z_in = new double[n_others]; + double *mass_others = new double[n_others]; + double *phi = new double[n_others]; + for (i = 0; i < offset; i++) { + eps_in[i] = 0; + x_in[i] = x_all[i]; + y_in[i] = y_all[i]; + z_in[i] = z_all[i]; + mass_others[i] = m_all[i]; + } + int j = offset; + for (i = offset+n_local; i < n_total; i++, j++) { + eps_in[j] = 0; + x_in[j] = x_all[i]; + y_in[j] = y_all[i]; + z_in[j] = z_all[i]; + mass_others[j] = m_all[i]; + } + int result = local_get_potential_at_point(eps_in, x_in, y_in, z_in, phi, n_others); + if (result < 0) return -1; + double potential_energy_others = 0; + for (i = 0; i < n_others; i++) { + potential_energy_others += mass_others[i]*phi[i]; + } + *potential_energy += 0.5 * potential_energy_others; + delete[] eps_in; + delete[] x_in; + delete[] y_in; + delete[] z_in; + delete[] mass_others; + delete[] phi; + } + + if (mpi_rank) { + MPI_Reduce(potential_energy, NULL, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); + } else { + MPI_Reduce(MPI_IN_PLACE, potential_energy, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); + } +#endif + cerr << "get_potential_energy done" << endl; + return 0; +} + diff --git a/src/amuse_fastkick/interface.py b/src/amuse_fastkick/interface.py new file mode 100644 index 0000000000..8a0bc27418 --- /dev/null +++ b/src/amuse_fastkick/interface.py @@ -0,0 +1,253 @@ +from amuse.community import * +#~from amuse.community.interface.gd import GravitationalDynamics +from amuse.community.interface.gd import GravityFieldCode, GravityFieldInterface +from amuse.community.interface.common import CommonCodeInterface, CommonCode + + +class FastKickInterface(CodeInterface, CommonCodeInterface, GravityFieldInterface): + """ + """ + include_headers = ['fastkick_worker.h'] + + MODE_CPU = 'cpu' + MODE_GPU = 'gpu' + + def __init__(self, mode=MODE_CPU, **options): + CodeInterface.__init__(self, name_of_the_worker=self.get_name_of_the_worker(mode), **options) + + def get_name_of_the_worker(self, mode): + if mode == self.MODE_CPU: + return "fastkick_worker" + if mode == self.MODE_GPU: + return "fastkick_cuda_worker" + else: + return "fastkick_worker" + + @legacy_function + def new_particle(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT) + function.addParameter('mass', dtype='float64', direction=function.IN, description = "The mass of the particle") + function.addParameter('x', dtype='float64', direction=function.IN, description = "The initial position vector of the particle") + function.addParameter('y', dtype='float64', direction=function.IN, description = "The initial position vector of the particle") + function.addParameter('z', dtype='float64', direction=function.IN, description = "The initial position vector of the particle") + function.addParameter('npoints', dtype='i', direction=function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def delete_particle(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('npoints', dtype='i', direction=function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def commit_particles(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + @legacy_function + def recommit_particles(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + @legacy_function + def get_eps2(): + function = LegacyFunctionSpecification() + function.addParameter('epsilon_squared', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_eps2(): + function = LegacyFunctionSpecification() + function.addParameter('epsilon_squared', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_potential_energy(): + function = LegacyFunctionSpecification() + function.addParameter('potential_energy', dtype='float64', direction=function.OUT, unit=nbody_system.energy) + function.result_type = 'int32' + return function + + + @legacy_function + def get_mass(): + """ + Retrieve the mass of a particle. Mass is a scalar property of a particle, + this function has one OUT argument. + """ + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to get the state from. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('mass', dtype='float64', direction=function.OUT, description = "The current mass of the particle") + function.addParameter('npoints', dtype='i', direction=function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + function.result_doc = """ + 0 - OK + particle was removed from the model + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def set_mass(): + """ + Update the mass of a particle. Mass is a scalar property of a particle. + """ + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle for which the state is to be updated. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('mass', dtype='float64', direction=function.IN, description = "The new mass of the particle") + function.addParameter('npoints', dtype='i', direction=function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + function.result_doc = """ + 0 - OK + particle was found in the model and the information was set + -1 - ERROR + particle could not be found + -2 - ERROR + code does not support updating of a particle + """ + return function + + + + +class FastKickDoc(object): + + def __get__(self, instance, owner): + return instance.legacy_doc+"\n\n"+instance.parameters.__doc__ + + +class FastKick(CommonCode, GravityFieldCode): + + __doc__ = FastKickDoc() + + def __init__(self, unit_converter = None, **options): + self.unit_converter = unit_converter + legacy_interface = FastKickInterface(**options) + self.legacy_doc = legacy_interface.__doc__ + CommonCode.__init__(self, legacy_interface, **options) + + def define_methods(self, handler): + CommonCode.define_methods(self, handler) + handler.add_method("new_particle", [nbody_system.mass] + [nbody_system.length]*3, + (handler.INDEX, handler.ERROR_CODE)) + handler.add_method( + "get_eps2", + (), + (nbody_system.length * nbody_system.length, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_eps2", + (nbody_system.length * nbody_system.length, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "set_mass", + ( + handler.NO_UNIT, + nbody_system.mass, + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_mass", + ( + handler.NO_UNIT, + ), + ( + nbody_system.mass, + handler.ERROR_CODE + ) + ) + def define_state(self, handler): + CommonCode.define_state(self, handler) + handler.add_transition('END', 'INITIALIZED', 'initialize_code', False) + handler.add_transition('INITIALIZED', 'EDIT', 'commit_parameters') + handler.add_transition('RUN', 'CHANGE_PARAMETERS_RUN', 'before_set_parameter', False) + handler.add_transition('EDIT', 'CHANGE_PARAMETERS_EDIT', 'before_set_parameter', False) + handler.add_transition('UPDATE', 'CHANGE_PARAMETERS_UPDATE', 'before_set_parameter', False) + handler.add_transition('CHANGE_PARAMETERS_RUN', 'RUN', 'recommit_parameters') + handler.add_transition('CHANGE_PARAMETERS_EDIT', 'EDIT', 'recommit_parameters') + handler.add_transition('CHANGE_PARAMETERS_UPDATE', 'UPDATE', 'recommit_parameters') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_UPDATE', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') + handler.add_method('CHANGE_PARAMETERS_UPDATE', 'before_get_parameter') + handler.add_method('RUN', 'before_get_parameter') + handler.add_method('EDIT', 'before_get_parameter') + handler.add_method('UPDATE','before_get_parameter') + + handler.add_method('EDIT', 'new_particle') + handler.add_method('EDIT', 'delete_particle') + handler.add_method('UPDATE', 'new_particle') + handler.add_method('UPDATE', 'delete_particle') + handler.add_transition('EDIT', 'RUN', 'commit_particles') + handler.add_transition('RUN', 'UPDATE', 'new_particle', False) + handler.add_transition('RUN', 'UPDATE', 'delete_particle', False) + handler.add_transition('UPDATE', 'RUN', 'recommit_particles') + + GravityFieldCode.define_state(self, handler) + handler.add_method('RUN', 'get_potential_energy') + + def define_converter(self, handler): + if not self.unit_converter is None: + handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) + + def commit_parameters(self): + self.parameters.send_not_set_parameters_to_code() + self.parameters.send_cached_parameters_to_code() + self.overridden().commit_parameters() + + def cleanup_code(self): + self.overridden().cleanup_code() + handler = self.get_handler('PARTICLES') + handler._cleanup_instances() + + def reset(self): + parameters = self.parameters.copy() + self.cleanup_code() + self.initialize_code() + self.parameters.reset_from_memento(parameters) + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_eps2", + "set_eps2", + "epsilon_squared", + "smoothing parameter for gravity calculations", + default_value = 0.0 | nbody_system.length * nbody_system.length + ) + + def define_particle_sets(self, handler): + handler.define_set('particles', 'index_of_the_particle') + handler.set_new('particles', 'new_particle') + handler.set_delete('particles', 'delete_particle') + handler.add_setter('particles', 'set_mass') + handler.add_getter('particles', 'get_mass', names = ('mass',)) + + def define_properties(self, handler): + handler.add_property("get_potential_energy") + + +Fastkick = FastKick diff --git a/src/amuse_fastkick/packages/amuse-fastkick-cuda.amuse_deps b/src/amuse_fastkick/packages/amuse-fastkick-cuda.amuse_deps new file mode 100644 index 0000000000..fd6c588995 --- /dev/null +++ b/src/amuse_fastkick/packages/amuse-fastkick-cuda.amuse_deps @@ -0,0 +1 @@ +c++ mpi cuda diff --git a/src/amuse_fastkick/packages/amuse-fastkick-cuda/amuse_fastkick b/src/amuse_fastkick/packages/amuse-fastkick-cuda/amuse_fastkick new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_fastkick/packages/amuse-fastkick-cuda/amuse_fastkick @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_fastkick/packages/amuse-fastkick-cuda/pyproject.toml b/src/amuse_fastkick/packages/amuse-fastkick-cuda/pyproject.toml new file mode 100644 index 0000000000..fb466723d1 --- /dev/null +++ b/src/amuse_fastkick/packages/amuse-fastkick-cuda/pyproject.toml @@ -0,0 +1,40 @@ +[project] +name = "amuse-fastkick-cuda" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework", + "amuse-fastkick" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_fastkick"] +exclude = ["amuse_fastkick/*"] +artifacts = ["amuse_fastkick/fastkick_cuda_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_fastkick/tests/"] + +testpaths = ["amuse_fastkick/tests"] + +# Test the installed package, and only GPU tests. +addopts = "--import-mode=append -k TestFastKickGPU" + diff --git a/src/amuse_fastkick/packages/amuse-fastkick.amuse_deps b/src/amuse_fastkick/packages/amuse-fastkick.amuse_deps new file mode 100644 index 0000000000..c125c5ece8 --- /dev/null +++ b/src/amuse_fastkick/packages/amuse-fastkick.amuse_deps @@ -0,0 +1 @@ +c++ mpi diff --git a/src/amuse_fastkick/packages/amuse-fastkick/amuse_fastkick b/src/amuse_fastkick/packages/amuse-fastkick/amuse_fastkick new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_fastkick/packages/amuse-fastkick/amuse_fastkick @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_fastkick/packages/amuse-fastkick/pyproject.toml b/src/amuse_fastkick/packages/amuse-fastkick/pyproject.toml new file mode 100644 index 0000000000..0d8a66dee0 --- /dev/null +++ b/src/amuse_fastkick/packages/amuse-fastkick/pyproject.toml @@ -0,0 +1,44 @@ +[project] +name = "amuse-fastkick" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_fastkick/**/*.py"] +exclude = [ + "amuse_fastkick/packages", + "amuse_fastkick/support", + "amuse_fastkick/src", + "amuse_fastkick/tests" + ] +artifacts = ["amuse_fastkick/fastkick_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_fastkick/tests/"] + +testpaths = ["amuse_fastkick/tests"] + +# Test the installed package, and only CPU tests +addopts = "--import-mode=append -k 'not TestFastKickGPU'" + diff --git a/src/amuse_fastkick/support/aclocal.m4 b/src/amuse_fastkick/support/aclocal.m4 new file mode 100644 index 0000000000..d034c07f77 --- /dev/null +++ b/src/amuse_fastkick/support/aclocal.m4 @@ -0,0 +1,18 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_cuda.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) diff --git a/src/amuse_fastkick/support/config.mk.in b/src/amuse_fastkick/support/config.mk.in new file mode 100644 index 0000000000..0be2e9b2de --- /dev/null +++ b/src/amuse_fastkick/support/config.mk.in @@ -0,0 +1,18 @@ +# Compilers +CXX = @CXX@ +MPICXX = @MPICXX@ + +CPU_COUNT = @CPU_COUNT@ + +# General flags and libraries +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + +# External dependencies +CUDA_TK = @CUDA_TK@ +NVCC = @NVCC@ +CUDA_FLAGS = @CUDA_FLAGS@ +CUDA_LDFLAGS = @CUDA_LDFLAGS@ + diff --git a/src/amuse_fastkick/support/configure b/src/amuse_fastkick/support/configure new file mode 100755 index 0000000000..cb3f6b9edc --- /dev/null +++ b/src/amuse_fastkick/support/configure @@ -0,0 +1,6990 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-fastkick 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-fastkick' +PACKAGE_TARNAME='amuse-fastkick' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-fastkick 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +CUDA_LDFLAGS +CUDA_FLAGS +NVCC +CUDA_TK +ac_ct_CC +CFLAGS +CC +amuse_cuda_verify_NVCC +MPILIBS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +OBJEXT +EXEEXT +ac_ct_CXX +CPPFLAGS +LDFLAGS +CXXFLAGS +CXX +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +MPICXX +CC +CFLAGS' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-fastkick 1.0 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/amuse-fastkick] + --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 amuse-fastkick 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS 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 + MPICXX MPI C++ compiler command + CC C compiler command + CFLAGS C compiler flags + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-fastkick configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-fastkick $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 +printf %s "checking whether the C++ compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 +printf %s "checking for C++ compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +# Find external dependencies +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + + + 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 x"$CUDA_TK" != x +then : + + # User set CUDA_TK, verify and use it if it works + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d $CUDA_TK +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $CUDA_TK/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x$CUDA_TK" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in $CUDA_TK/include" + amuse_cuda_flags="-I$CUDA_TK/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x$CUDA_TK" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in $CUDA_TK/lib" + amuse_cuda_verify_msg64="for libcudart in $CUDA_TK/lib64" + amuse_cuda_ldflags="-L$CUDA_TK/lib" + amuse_cuda_ldflags64="-L$CUDA_TK/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$CUDA_TK" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $CUDA_TK does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: $CUDA_TK does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + + if test x"$NVCC" = x +then : + + as_fn_error $? "CUDA_TK is set, but there is no nvcc in $CUDA_TK/bin. Please set CUDA_TK to the CUDA installation directory, or unset it to autodetect." "$LINENO" 5 + +fi + +else $as_nop + + # CUDA_TK not set, try to discover CUDA via PATH + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + # Got nvcc, verify that we have the rest too + amuse_cuda_verify_ctk_rel=$(dirname -- "$amuse_cuda_verify_NVCC")/.. + # Canonicalise path portably so that it looks nicer + amuse_cuda_verify_CUDA_TK=$(test -d "$amuse_cuda_verify_ctk_rel" && CDPATH= cd -P -- "$amuse_cuda_verify_ctk_rel" && pwd -P) + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in /include" + amuse_cuda_flags="-I/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in /lib" + amuse_cuda_verify_msg64="for libcudart in /lib64" + amuse_cuda_ldflags="-L/lib" + amuse_cuda_ldflags64="-L/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$amuse_cuda_verify_CUDA_TK" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Could not find CUDA via PATH" >&5 +printf "%s\n" "$as_me: Could not find CUDA via PATH" >&6;} + +fi + + + # Not in PATH, try default directory + if test x"$CUDA_TK" = x +then : + + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d /usr/local/cuda +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /usr/local/cuda/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x/usr/local/cuda" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in /usr/local/cuda/include" + amuse_cuda_flags="-I/usr/local/cuda/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x/usr/local/cuda" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in /usr/local/cuda/lib" + amuse_cuda_verify_msg64="for libcudart in /usr/local/cuda/lib64" + amuse_cuda_ldflags="-L/usr/local/cuda/lib" + amuse_cuda_ldflags64="-L/usr/local/cuda/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="/usr/local/cuda" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: /usr/local/cuda does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: /usr/local/cuda does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + +fi + + # Try /usr/local/cuda-#.#, but only if there's exactly one match + if test x"$CUDA_TK" = x +then : + + # List CUDA installations + amuse_cuda_installs=$(ls -1 -d /usr/local/cuda-*.* 2>/dev/null) + # If there's more than one, the above will have newlines, and change when we do this + amuse_cuda_installs2=$(echo "x${amuse_cuda_installs}" | tr -d ':space:') + if test "x${amuse_cuda_installs}" != x +then : + + if test "x${amuse_cuda_installs}" = "${amuse_cuda_installs2}" +then : + + # Here, there's exactly one match + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d $amuse_cuda_installs +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $amuse_cuda_installs/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x$amuse_cuda_installs" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in $amuse_cuda_installs/include" + amuse_cuda_flags="-I$amuse_cuda_installs/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x$amuse_cuda_installs" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in $amuse_cuda_installs/lib" + amuse_cuda_verify_msg64="for libcudart in $amuse_cuda_installs/lib64" + amuse_cuda_ldflags="-L$amuse_cuda_installs/lib" + amuse_cuda_ldflags64="-L$amuse_cuda_installs/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$amuse_cuda_installs" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $amuse_cuda_installs does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: $amuse_cuda_installs does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Multiple CUDA installations found in /usr/local, without a /usr/local/cuda symlink. Please set CUDA_TK to specify which one you want to use." >&5 +printf "%s\n" "$as_me: Multiple CUDA installations found in /usr/local, without a /usr/local/cuda symlink. Please set CUDA_TK to specify which one you want to use." >&6;} + +fi + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: No CUDA installations found in /usr/local" >&5 +printf "%s\n" "$as_me: No CUDA installations found in /usr/local" >&6;} + +fi + +fi + + # Try some other locations + for dir in /opt/cuda /usr/local/cuda/cuda /opt/cuda/cuda ; do + if test x"$CUDA_TK" = x +then : + + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d $dir +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $dir/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x$dir" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in $dir/include" + amuse_cuda_flags="-I$dir/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x$dir" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in $dir/lib" + amuse_cuda_verify_msg64="for libcudart in $dir/lib64" + amuse_cuda_ldflags="-L$dir/lib" + amuse_cuda_ldflags64="-L$dir/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$dir" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $dir does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: $dir does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + +fi + done + + # These directories were checked by the old macro, but they're highly obsolete + # so we're not trying them anymore: + # /usr/lib/nvidia, /usr/include/nvidia, /usr/lib/nvidia-current, /usr/include/nvidia-current + + if test x"$CUDA_TK" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: CUDA not found. Set CUDA_TK if you have it in an odd location." >&5 +printf "%s\n" "$as_me: CUDA not found. Set CUDA_TK if you have it in an odd location." >&6;} + +fi + +fi + + if test x"$CUDA_TK" != x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: CUDA found at $CUDA_TK" >&5 +printf "%s\n" "$as_me: CUDA found at $CUDA_TK" >&6;} + + + + + +fi + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-fastkick $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-fastkick config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_fastkick/support/configure.ac b/src/amuse_fastkick/support/configure.ac new file mode 100644 index 0000000000..f8e7f9dc45 --- /dev/null +++ b/src/amuse_fastkick/support/configure.ac @@ -0,0 +1,27 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-fastkick], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_CXX() + +# Find external dependencies +AC_LANG_PUSH([C++]) + +AX_MPI() +AMUSE_CUDA() + +AC_LANG_POP([C++]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_fastkick/support/shared b/src/amuse_fastkick/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_fastkick/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_fastkick.py b/src/amuse_fastkick/tests/test_fastkick.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_fastkick.py rename to src/amuse_fastkick/tests/test_fastkick.py index 8ca4ab49ad..8d123ada3e 100644 --- a/src/amuse/test/suite/codes_tests/test_fastkick.py +++ b/src/amuse_fastkick/tests/test_fastkick.py @@ -6,8 +6,8 @@ from amuse.ic.plummer import new_plummer_model from amuse.couple.bridge import Bridge, CalculateFieldForCodesUsingReinitialize -from amuse.test.amusetest import TestWithMPI -from amuse.community.fastkick.interface import FastKickInterface, FastKick +from amuse.support.testing.amusetest import TestWithMPI +from amuse_fastkick.interface import FastKickInterface, FastKick class TestFastKickInterface(TestWithMPI): @@ -202,7 +202,7 @@ def test5(self): instance.stop() self.assertEqual(instance.get_name_of_current_state(), 'STOPPED') - def test6(self): + def test6_noci(self): plummer = new_plummer_model(100) points = new_plummer_model(73) instance = self.new_fastkick_instance(number_of_workers=1) diff --git a/src/amuse_fi/Makefile b/src/amuse_fi/Makefile new file mode 100644 index 0000000000..90e4a35fe8 --- /dev/null +++ b/src/amuse_fi/Makefile @@ -0,0 +1,138 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library + +## Flags +DEPFLAGS += $(STOPCOND_CFLAGS) $(FORSOCKETS_CFLAGS) + +CFLAGS += $(DEPFLAGS) +FCFLAGS += $(DEPFLAGS) -fdefault-real-8 -ffree-line-length-256 -frecord-marker=4 + +LDFLAGS += + +LDLIBS += $(STOPCOND_LIBS) $(FORSOCKETS_LIBS) $(FFTW_LIBS) -lm + +# The code build uses FFLAGS rather than FCFLAGS, and so does Conda +CODE_MAKE_ARGS = FFLAGS="-I. $(FFLAGS) $(FCFLAGS)" FC="$(FC)" VPATH=../src +CODE_MAKE_ARGS_MP = FFLAGS="-I. $(FFLAGS) $(FCFLAGS) $(OPENMP_FFLAGS)" FC="$(FC)" VPATH="../src" +CODE_MAKE_ARGS_PERIODIC = FFLAGS="-I. $(FFLAGS) $(FCFLAGS) $(FFTW_FLAGS)" FC="$(FC)" VPATH=../src + + +## Sources and targets +FILIB := libfi.a +MAPLIB := libmap.a + + +## Building libfi.a plain, with mp and with periodic boundary conditions +build build_mp build_periodic: + mkdir -p $@ + +%/globals.h: src/globals_template.h | % + cp $< $@ + +build_periodic/globals.h: src/globals_template.h | build_periodic + cp $< $@ + patch $@ muse_dynamics_interface.txt + +muse_dynamics_interface_gl: muse_interface.f90 muse_interface_gl.f90 \ + $(FILES) hash.o muse_helpers.o fthread.o stars3d.o libpt.a + @echo $(F2PY) -c $(F2PYFLAGS) -m $@# $^ \ + $(LIBS) $(ELIBS) $(GLLIB) $(X11_OPTIONS) \ + $(THREAD_OPTIONS) $(X11LIB) > muse_dynamics_interface_gl.txt + +muse_sph_interface: muse_interface.f90 $(FILES) hash.o muse_helpers.o +# $(F2PY) -c $(F2PYFLAGS) -m $@0 $^ $(LIBS) $(ELIBS) + @echo $(F2PY) -c $(F2PYFLAGS) -m $@# $^ \ + $(LIBS) $(ELIBS) > muse_sph_interface.txt + +muse_sph_interface_gl: muse_interface.f90 muse_interface_gl.f90 \ + $(FILES) hash.o muse_helpers.o fthread.o stars3d.o libpt.a + @echo $(F2PY) -c $(F2PYFLAGS) -m $@# $^ \ + $(LIBS) $(ELIBS) $(GLLIB) $(X11_OPTIONS) \ + $(THREAD_OPTIONS) $(X11LIB) > muse_sph_interface_gl.txt + +objects: $(FILES) $(SFILES) + +libpt.a: pt.o ptf77.o pt.h + ar crs libpt.a pt.o ptf77.o + +gl: fi_viewer.o libpt.a fthread.o + +clean: + rm -f *.o *.mod libpt.a libfi.a *.bck *.so *.pyc + rm -f muse_dynamics_interface.txt muse_dynamics_interface_gl.txt + rm -f muse_sph_interface.txt muse_sph_interface_gl.txt + +purge: clean + rm -f $(APPS) + +install: $(APPS) clean + cp $(APPS) ../bin + rm -f $(APPS) + diff --git a/src/amuse/community/fi/src/blackhole.f90 b/src/amuse_fi/src/blackhole.f90 similarity index 100% rename from src/amuse/community/fi/src/blackhole.f90 rename to src/amuse_fi/src/blackhole.f90 diff --git a/src/amuse/community/fi/src/buildnearlist.f90 b/src/amuse_fi/src/buildnearlist.f90 similarity index 100% rename from src/amuse/community/fi/src/buildnearlist.f90 rename to src/amuse_fi/src/buildnearlist.f90 diff --git a/src/amuse/community/fi/src/buildtree.f90 b/src/amuse_fi/src/buildtree.f90 similarity index 100% rename from src/amuse/community/fi/src/buildtree.f90 rename to src/amuse_fi/src/buildtree.f90 diff --git a/src/amuse/community/fi/src/clean.f90 b/src/amuse_fi/src/clean.f90 similarity index 100% rename from src/amuse/community/fi/src/clean.f90 rename to src/amuse_fi/src/clean.f90 diff --git a/src/amuse/community/fi/src/combine_simple.f90 b/src/amuse_fi/src/combine_simple.f90 similarity index 100% rename from src/amuse/community/fi/src/combine_simple.f90 rename to src/amuse_fi/src/combine_simple.f90 diff --git a/src/amuse/community/fi/src/coolcurve.f90 b/src/amuse_fi/src/coolcurve.f90 similarity index 100% rename from src/amuse/community/fi/src/coolcurve.f90 rename to src/amuse_fi/src/coolcurve.f90 diff --git a/src/amuse/community/fi/src/cooling.f90 b/src/amuse_fi/src/cooling.f90 similarity index 100% rename from src/amuse/community/fi/src/cooling.f90 rename to src/amuse_fi/src/cooling.f90 diff --git a/src/amuse/community/fi/src/density.f90 b/src/amuse_fi/src/density.f90 similarity index 100% rename from src/amuse/community/fi/src/density.f90 rename to src/amuse_fi/src/density.f90 diff --git a/src/amuse/community/fi/src/diagnostics.f90 b/src/amuse_fi/src/diagnostics.f90 similarity index 100% rename from src/amuse/community/fi/src/diagnostics.f90 rename to src/amuse_fi/src/diagnostics.f90 diff --git a/src/amuse/community/fi/src/elements.f90 b/src/amuse_fi/src/elements.f90 similarity index 100% rename from src/amuse/community/fi/src/elements.f90 rename to src/amuse_fi/src/elements.f90 diff --git a/src/amuse/community/fi/src/entdot.f90 b/src/amuse_fi/src/entdot.f90 similarity index 100% rename from src/amuse/community/fi/src/entdot.f90 rename to src/amuse_fi/src/entdot.f90 diff --git a/src/amuse/community/fi/src/ethstep.f90 b/src/amuse_fi/src/ethstep.f90 similarity index 100% rename from src/amuse/community/fi/src/ethstep.f90 rename to src/amuse_fi/src/ethstep.f90 diff --git a/src/amuse/community/fi/src/extern_dummy.f90 b/src/amuse_fi/src/extern_dummy.f90 similarity index 100% rename from src/amuse/community/fi/src/extern_dummy.f90 rename to src/amuse_fi/src/extern_dummy.f90 diff --git a/src/amuse/community/fi/src/extract.f90 b/src/amuse_fi/src/extract.f90 similarity index 100% rename from src/amuse/community/fi/src/extract.f90 rename to src/amuse_fi/src/extract.f90 diff --git a/src/amuse/community/fi/src/fcco.f90 b/src/amuse_fi/src/fcco.f90 similarity index 100% rename from src/amuse/community/fi/src/fcco.f90 rename to src/amuse_fi/src/fcco.f90 diff --git a/src/amuse/community/fi/src/feedback.f90 b/src/amuse_fi/src/feedback.f90 similarity index 100% rename from src/amuse/community/fi/src/feedback.f90 rename to src/amuse_fi/src/feedback.f90 diff --git a/src/amuse/community/fi/src/fftw3.f b/src/amuse_fi/src/fftw3.f similarity index 100% rename from src/amuse/community/fi/src/fftw3.f rename to src/amuse_fi/src/fftw3.f diff --git a/src/amuse/community/fi/src/fi.f90 b/src/amuse_fi/src/fi.f90 similarity index 100% rename from src/amuse/community/fi/src/fi.f90 rename to src/amuse_fi/src/fi.f90 diff --git a/src/amuse/community/fi/src/fi_viewer.f90 b/src/amuse_fi/src/fi_viewer.f90 similarity index 100% rename from src/amuse/community/fi/src/fi_viewer.f90 rename to src/amuse_fi/src/fi_viewer.f90 diff --git a/src/amuse/community/fi/src/fixedhalo.f90 b/src/amuse_fi/src/fixedhalo.f90 similarity index 100% rename from src/amuse/community/fi/src/fixedhalo.f90 rename to src/amuse_fi/src/fixedhalo.f90 diff --git a/src/amuse/community/fi/src/fthread.f b/src/amuse_fi/src/fthread.f similarity index 100% rename from src/amuse/community/fi/src/fthread.f rename to src/amuse_fi/src/fthread.f diff --git a/src/amuse/community/fi/src/fuvflux.f90 b/src/amuse_fi/src/fuvflux.f90 similarity index 100% rename from src/amuse/community/fi/src/fuvflux.f90 rename to src/amuse_fi/src/fuvflux.f90 diff --git a/src/amuse/community/fi/src/glfi.f90 b/src/amuse_fi/src/glfi.f90 similarity index 100% rename from src/amuse/community/fi/src/glfi.f90 rename to src/amuse_fi/src/glfi.f90 diff --git a/src/amuse/community/fi/src/globals_template.h b/src/amuse_fi/src/globals_template.h similarity index 100% rename from src/amuse/community/fi/src/globals_template.h rename to src/amuse_fi/src/globals_template.h diff --git a/src/amuse/community/fi/src/gravity.f90 b/src/amuse_fi/src/gravity.f90 similarity index 100% rename from src/amuse/community/fi/src/gravity.f90 rename to src/amuse_fi/src/gravity.f90 diff --git a/src/amuse/community/fi/src/gravsum.f90 b/src/amuse_fi/src/gravsum.f90 similarity index 100% rename from src/amuse/community/fi/src/gravsum.f90 rename to src/amuse_fi/src/gravsum.f90 diff --git a/src/amuse/community/fi/src/hash.f90 b/src/amuse_fi/src/hash.f90 similarity index 100% rename from src/amuse/community/fi/src/hash.f90 rename to src/amuse_fi/src/hash.f90 diff --git a/src/amuse/community/fi/src/heating.f90 b/src/amuse_fi/src/heating.f90 similarity index 100% rename from src/amuse/community/fi/src/heating.f90 rename to src/amuse_fi/src/heating.f90 diff --git a/src/amuse/community/fi/src/heco.f90 b/src/amuse_fi/src/heco.f90 similarity index 100% rename from src/amuse/community/fi/src/heco.f90 rename to src/amuse_fi/src/heco.f90 diff --git a/src/amuse/community/fi/src/hicube.f90 b/src/amuse_fi/src/hicube.f90 similarity index 100% rename from src/amuse/community/fi/src/hicube.f90 rename to src/amuse_fi/src/hicube.f90 diff --git a/src/amuse/community/fi/src/image b/src/amuse_fi/src/image similarity index 100% rename from src/amuse/community/fi/src/image rename to src/amuse_fi/src/image diff --git a/src/amuse/community/fi/src/init.f90 b/src/amuse_fi/src/init.f90 similarity index 100% rename from src/amuse/community/fi/src/init.f90 rename to src/amuse_fi/src/init.f90 diff --git a/src/amuse/community/fi/src/io-old.f b/src/amuse_fi/src/io-old.f similarity index 100% rename from src/amuse/community/fi/src/io-old.f rename to src/amuse_fi/src/io-old.f diff --git a/src/amuse/community/fi/src/io.f90 b/src/amuse_fi/src/io.f90 similarity index 100% rename from src/amuse/community/fi/src/io.f90 rename to src/amuse_fi/src/io.f90 diff --git a/src/amuse/community/fi/src/io2.f90 b/src/amuse_fi/src/io2.f90 similarity index 100% rename from src/amuse/community/fi/src/io2.f90 rename to src/amuse_fi/src/io2.f90 diff --git a/src/amuse/community/fi/src/ionize.f90 b/src/amuse_fi/src/ionize.f90 similarity index 100% rename from src/amuse/community/fi/src/ionize.f90 rename to src/amuse_fi/src/ionize.f90 diff --git a/src/amuse/community/fi/src/makemap.f90 b/src/amuse_fi/src/makemap.f90 similarity index 100% rename from src/amuse/community/fi/src/makemap.f90 rename to src/amuse_fi/src/makemap.f90 diff --git a/src/amuse/community/fi/src/makemapmod.f90 b/src/amuse_fi/src/makemapmod.f90 similarity index 100% rename from src/amuse/community/fi/src/makemapmod.f90 rename to src/amuse_fi/src/makemapmod.f90 diff --git a/src/amuse/community/fi/src/map_helpers.f90 b/src/amuse_fi/src/map_helpers.f90 similarity index 100% rename from src/amuse/community/fi/src/map_helpers.f90 rename to src/amuse_fi/src/map_helpers.f90 diff --git a/src/amuse/community/fi/src/mem.f90 b/src/amuse_fi/src/mem.f90 similarity index 100% rename from src/amuse/community/fi/src/mem.f90 rename to src/amuse_fi/src/mem.f90 diff --git a/src/amuse/community/fi/src/molecules.f90 b/src/amuse_fi/src/molecules.f90 similarity index 100% rename from src/amuse/community/fi/src/molecules.f90 rename to src/amuse_fi/src/molecules.f90 diff --git a/src/amuse/community/fi/src/muse_helpers.f90 b/src/amuse_fi/src/muse_helpers.f90 similarity index 100% rename from src/amuse/community/fi/src/muse_helpers.f90 rename to src/amuse_fi/src/muse_helpers.f90 diff --git a/src/amuse/community/fi/src/muse_interface.f90 b/src/amuse_fi/src/muse_interface.f90 similarity index 100% rename from src/amuse/community/fi/src/muse_interface.f90 rename to src/amuse_fi/src/muse_interface.f90 diff --git a/src/amuse/community/fi/src/muse_interface_gl.f90 b/src/amuse_fi/src/muse_interface_gl.f90 similarity index 100% rename from src/amuse/community/fi/src/muse_interface_gl.f90 rename to src/amuse_fi/src/muse_interface_gl.f90 diff --git a/src/amuse/community/fi/src/muse_io2_stub.f90 b/src/amuse_fi/src/muse_io2_stub.f90 similarity index 100% rename from src/amuse/community/fi/src/muse_io2_stub.f90 rename to src/amuse_fi/src/muse_io2_stub.f90 diff --git a/src/amuse/community/fi/src/muse_io_stub.f90 b/src/amuse_fi/src/muse_io_stub.f90 similarity index 100% rename from src/amuse/community/fi/src/muse_io_stub.f90 rename to src/amuse_fi/src/muse_io_stub.f90 diff --git a/src/amuse/community/fi/src/pmgrav.f90 b/src/amuse_fi/src/pmgrav.f90 similarity index 100% rename from src/amuse/community/fi/src/pmgrav.f90 rename to src/amuse_fi/src/pmgrav.f90 diff --git a/src/amuse/community/fi/src/ppread.f90 b/src/amuse_fi/src/ppread.f90 similarity index 100% rename from src/amuse/community/fi/src/ppread.f90 rename to src/amuse_fi/src/ppread.f90 diff --git a/src/amuse/community/fi/src/project.f90 b/src/amuse_fi/src/project.f90 similarity index 100% rename from src/amuse/community/fi/src/project.f90 rename to src/amuse_fi/src/project.f90 diff --git a/src/amuse/community/fi/src/pt.c b/src/amuse_fi/src/pt.c similarity index 100% rename from src/amuse/community/fi/src/pt.c rename to src/amuse_fi/src/pt.c diff --git a/src/amuse/community/fi/src/pt.h b/src/amuse_fi/src/pt.h similarity index 100% rename from src/amuse/community/fi/src/pt.h rename to src/amuse_fi/src/pt.h diff --git a/src/amuse/community/fi/src/ptf77.c b/src/amuse_fi/src/ptf77.c similarity index 100% rename from src/amuse/community/fi/src/ptf77.c rename to src/amuse_fi/src/ptf77.c diff --git a/src/amuse/community/fi/src/random.f90 b/src/amuse_fi/src/random.f90 similarity index 100% rename from src/amuse/community/fi/src/random.f90 rename to src/amuse_fi/src/random.f90 diff --git a/src/amuse/community/fi/src/readparam.f90 b/src/amuse_fi/src/readparam.f90 similarity index 100% rename from src/amuse/community/fi/src/readparam.f90 rename to src/amuse_fi/src/readparam.f90 diff --git a/src/amuse/community/fi/src/rgabe.f90 b/src/amuse_fi/src/rgabe.f90 similarity index 100% rename from src/amuse/community/fi/src/rgabe.f90 rename to src/amuse_fi/src/rgabe.f90 diff --git a/src/amuse/community/fi/src/rgabe2.f90 b/src/amuse_fi/src/rgabe2.f90 similarity index 100% rename from src/amuse/community/fi/src/rgabe2.f90 rename to src/amuse_fi/src/rgabe2.f90 diff --git a/src/amuse/community/fi/src/rgadget.f90 b/src/amuse_fi/src/rgadget.f90 similarity index 100% rename from src/amuse/community/fi/src/rgadget.f90 rename to src/amuse_fi/src/rgadget.f90 diff --git a/src/amuse/community/fi/src/rsimple.f90 b/src/amuse_fi/src/rsimple.f90 similarity index 100% rename from src/amuse/community/fi/src/rsimple.f90 rename to src/amuse_fi/src/rsimple.f90 diff --git a/src/amuse/community/fi/src/search.f90 b/src/amuse_fi/src/search.f90 similarity index 100% rename from src/amuse/community/fi/src/search.f90 rename to src/amuse_fi/src/search.f90 diff --git a/src/amuse/community/fi/src/sfh.f90 b/src/amuse_fi/src/sfh.f90 similarity index 100% rename from src/amuse/community/fi/src/sfh.f90 rename to src/amuse_fi/src/sfh.f90 diff --git a/src/amuse/community/fi/src/sfh2.f90 b/src/amuse_fi/src/sfh2.f90 similarity index 100% rename from src/amuse/community/fi/src/sfh2.f90 rename to src/amuse_fi/src/sfh2.f90 diff --git a/src/amuse/community/fi/src/sfh3.f90 b/src/amuse_fi/src/sfh3.f90 similarity index 100% rename from src/amuse/community/fi/src/sfh3.f90 rename to src/amuse_fi/src/sfh3.f90 diff --git a/src/amuse/community/fi/src/sfinfo.f90 b/src/amuse_fi/src/sfinfo.f90 similarity index 100% rename from src/amuse/community/fi/src/sfinfo.f90 rename to src/amuse_fi/src/sfinfo.f90 diff --git a/src/amuse/community/fi/src/snapreader.f90 b/src/amuse_fi/src/snapreader.f90 similarity index 100% rename from src/amuse/community/fi/src/snapreader.f90 rename to src/amuse_fi/src/snapreader.f90 diff --git a/src/amuse/community/fi/src/snapviewer.f90 b/src/amuse_fi/src/snapviewer.f90 similarity index 100% rename from src/amuse/community/fi/src/snapviewer.f90 rename to src/amuse_fi/src/snapviewer.f90 diff --git a/src/amuse/community/fi/src/sort.f90 b/src/amuse_fi/src/sort.f90 similarity index 100% rename from src/amuse/community/fi/src/sort.f90 rename to src/amuse_fi/src/sort.f90 diff --git a/src/amuse/community/fi/src/sphray_io.f90 b/src/amuse_fi/src/sphray_io.f90 similarity index 100% rename from src/amuse/community/fi/src/sphray_io.f90 rename to src/amuse_fi/src/sphray_io.f90 diff --git a/src/amuse/community/fi/src/starprop.f90 b/src/amuse_fi/src/starprop.f90 similarity index 100% rename from src/amuse/community/fi/src/starprop.f90 rename to src/amuse_fi/src/starprop.f90 diff --git a/src/amuse/community/fi/src/stars3d.f90 b/src/amuse_fi/src/stars3d.f90 similarity index 100% rename from src/amuse/community/fi/src/stars3d.f90 rename to src/amuse_fi/src/stars3d.f90 diff --git a/src/amuse/community/fi/src/stellar.f90 b/src/amuse_fi/src/stellar.f90 similarity index 100% rename from src/amuse/community/fi/src/stellar.f90 rename to src/amuse_fi/src/stellar.f90 diff --git a/src/amuse/community/fi/src/stepsystem.f90 b/src/amuse_fi/src/stepsystem.f90 similarity index 100% rename from src/amuse/community/fi/src/stepsystem.f90 rename to src/amuse_fi/src/stepsystem.f90 diff --git a/src/amuse/community/fi/src/tidalsum.f90 b/src/amuse_fi/src/tidalsum.f90 similarity index 100% rename from src/amuse/community/fi/src/tidalsum.f90 rename to src/amuse_fi/src/tidalsum.f90 diff --git a/src/amuse/community/fi/src/timestep.f90 b/src/amuse_fi/src/timestep.f90 similarity index 100% rename from src/amuse/community/fi/src/timestep.f90 rename to src/amuse_fi/src/timestep.f90 diff --git a/src/amuse/community/fi/src/togabe.f90 b/src/amuse_fi/src/togabe.f90 similarity index 100% rename from src/amuse/community/fi/src/togabe.f90 rename to src/amuse_fi/src/togabe.f90 diff --git a/src/amuse/community/fi/src/togabe2.f90 b/src/amuse_fi/src/togabe2.f90 similarity index 100% rename from src/amuse/community/fi/src/togabe2.f90 rename to src/amuse_fi/src/togabe2.f90 diff --git a/src/amuse/community/fi/src/tosimple.f90 b/src/amuse_fi/src/tosimple.f90 similarity index 100% rename from src/amuse/community/fi/src/tosimple.f90 rename to src/amuse_fi/src/tosimple.f90 diff --git a/src/amuse/community/fi/src/tosimplex.f90 b/src/amuse_fi/src/tosimplex.f90 similarity index 100% rename from src/amuse/community/fi/src/tosimplex.f90 rename to src/amuse_fi/src/tosimplex.f90 diff --git a/src/amuse/community/fi/src/treewalk.f90 b/src/amuse_fi/src/treewalk.f90 similarity index 100% rename from src/amuse/community/fi/src/treewalk.f90 rename to src/amuse_fi/src/treewalk.f90 diff --git a/src/amuse/community/fi/src/update_tree.f90 b/src/amuse_fi/src/update_tree.f90 similarity index 100% rename from src/amuse/community/fi/src/update_tree.f90 rename to src/amuse_fi/src/update_tree.f90 diff --git a/src/amuse/community/fi/src/util.f90 b/src/amuse_fi/src/util.f90 similarity index 100% rename from src/amuse/community/fi/src/util.f90 rename to src/amuse_fi/src/util.f90 diff --git a/src/amuse/community/fi/src/varia.f90 b/src/amuse_fi/src/varia.f90 similarity index 100% rename from src/amuse/community/fi/src/varia.f90 rename to src/amuse_fi/src/varia.f90 diff --git a/src/amuse_fi/support/aclocal.m4 b/src/amuse_fi/support/aclocal.m4 new file mode 100644 index 0000000000..329eb0f3fe --- /dev/null +++ b/src/amuse_fi/support/aclocal.m4 @@ -0,0 +1,21 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/fftw.m4]) +m4_include([shared/m4/fortran.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_fi/support/config.mk.in b/src/amuse_fi/support/config.mk.in new file mode 100644 index 0000000000..4f6128c24f --- /dev/null +++ b/src/amuse_fi/support/config.mk.in @@ -0,0 +1,36 @@ +# Compilers +CC = @CC@ +FC = @FC@ + +MPIFC = @MPIFC@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ + + +# General flags and libraries +CFLAGS = @CFLAGS@ +FCFLAGS = @FCFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +STOPCOND_CFLAGS = @STOPCOND_CFLAGS@ +STOPCOND_LIBS = @STOPCOND_LIBS@ + +FORSOCKETS_CFLAGS = @FORSOCKETS_CFLAGS@ +FORSOCKETS_LIBS = @FORSOCKETS_LIBS@ + + +# External dependencies +OPENMP_FCLAGS = @OPENMP_FCFLAGS@ + +FOUND_FFTW = @FOUND_FFTW@ +FFTW_FLAGS = @FFTW_FLAGS@ +FFTW_LIBS = @FFTW_LIBS@ + diff --git a/src/amuse_fi/support/configure b/src/amuse_fi/support/configure new file mode 100755 index 0000000000..deb9e5259c --- /dev/null +++ b/src/amuse_fi/support/configure @@ -0,0 +1,6767 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-fi 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-fi' +PACKAGE_TARNAME='amuse-fi' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-fi 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_STDIO_H +# include +#endif +#ifdef HAVE_STDLIB_H +# include +#endif +#ifdef HAVE_STRING_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_header_fc_list= +ac_subst_vars='LTLIBOBJS +LIBOBJS +FFTW_FLAGS +FOUND_FFTW +FFTW_LIBS +FFTW_CFLAGS +OPENMP_FCFLAGS +MPILIBS +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +FOUND_STOPCOND +STOPCOND_LIBS +STOPCOND_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +RANLIB +AR +target_os +target_vendor +target_cpu +target +ac_ct_FC +FCFLAGS +FC +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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_openmp +with_fftw +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +FC +FCFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCOND_CFLAGS +STOPCOND_LIBS +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS +MPIFC +FFTW_CFLAGS +FFTW_LIBS' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-fi 1.0 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/amuse-fi] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-fi 1.0:";; + 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] + --disable-openmp do not use OpenMP + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-fftw=PFX Prefix where FFTW has been installed + +Some influential environment variables: + 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 + FC Fortran compiler command + FCFLAGS Fortran compiler flags + 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 + STOPCOND_CFLAGS + C compiler flags for STOPCOND, overriding pkg-config + STOPCOND_LIBS + linker flags for STOPCOND, overriding pkg-config + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + MPIFC MPI Fortran compiler command + FFTW_CFLAGS C compiler flags for FFTW, overriding pkg-config + FFTW_LIBS linker flags for FFTW, overriding pkg-config + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-fi configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_fc_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_fc_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF +$4 +#include <$2> +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_fc_check_header_compile +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-fi $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +as_fn_append ac_header_fc_list " stdio.h stdio_h HAVE_STDIO_H" +as_fn_append ac_header_fc_list " stdlib.h stdlib_h HAVE_STDLIB_H" +as_fn_append ac_header_fc_list " string.h string_h HAVE_STRING_H" +as_fn_append ac_header_fc_list " inttypes.h inttypes_h HAVE_INTTYPES_H" +as_fn_append ac_header_fc_list " stdint.h stdint_h HAVE_STDINT_H" +as_fn_append ac_header_fc_list " strings.h strings_h HAVE_STRINGS_H" +as_fn_append ac_header_fc_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" +as_fn_append ac_header_fc_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" +as_fn_append ac_header_fc_list " unistd.h unistd_h HAVE_UNISTD_H" + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +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 + + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find AMUSE libraries + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCOND_CFLAGS" + amuse_save_LIB_LIBS="$STOPCOND_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing is_condition_enabled" >&5 +printf %s "checking for library containing is_condition_enabled... " >&6; } +if test ${ac_cv_search_is_condition_enabled+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char is_condition_enabled (); +int +main (void) +{ +return is_condition_enabled (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcond +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_is_condition_enabled=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_is_condition_enabled+y} +then : + break +fi +done +if test ${ac_cv_search_is_condition_enabled+y} +then : + +else $as_nop + ac_cv_search_is_condition_enabled=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_is_condition_enabled" >&5 +printf "%s\n" "$ac_cv_search_is_condition_enabled" >&6; } +ac_res=$ac_cv_search_is_condition_enabled +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCOND="yes" + STOPCOND_LIBS="$LIBS" + STOPCOND_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCOND" >&5 +printf %s "checking for STOPCOND... " >&6; } + +if test -n "$STOPCOND_CFLAGS"; then + pkg_cv_STOPCOND_CFLAGS="$STOPCOND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_CFLAGS=`$PKG_CONFIG --cflags "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCOND_LIBS"; then + pkg_cv_STOPCOND_LIBS="$STOPCOND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_LIBS=`$PKG_CONFIG --libs "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcond" 2>&1` + else + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcond" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCOND_PKG_ERRORS" >&5 + + + FOUND_STOPCOND="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCOND="no" + +else + STOPCOND_CFLAGS=$pkg_cv_STOPCOND_CFLAGS + STOPCOND_LIBS=$pkg_cv_STOPCOND_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCOND="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCOND}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCOND_CFLAGS="${STOPCOND_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCOND_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCOND_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + +if test -e penmp || test -e mp; then + as_fn_error $? "AC_OPENMP clobbers files named 'mp' and 'penmp'. Aborting configure because one of these files already exists." "$LINENO" 5 +fi +# Check whether --enable-openmp was given. +if test ${enable_openmp+y} +then : + enableval=$enable_openmp; +fi + + OPENMP_FCFLAGS= + if test "$enable_openmp" != no; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $FC option to support OpenMP" >&5 +printf %s "checking for $FC option to support OpenMP... " >&6; } +if test ${ac_cv_prog_fc_openmp+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_fc_openmp='not found' + for ac_option in '' -fopenmp -xopenmp -openmp -mp -omp -qsmp=omp -homp \ + -Popenmp --openmp; do + + ac_save_FCFLAGS=$FCFLAGS + FCFLAGS="$FCFLAGS $ac_option" + cat > conftest.$ac_ext <<_ACEOF + + program main + implicit none +!$ integer tid + tid = 42 + call omp_set_num_threads(2) + end + +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + cat > conftest.$ac_ext <<_ACEOF + + program main + implicit none +!$ integer tid + tid = 42 + call omp_set_num_threads(2) + end + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_prog_fc_openmp=$ac_option +else $as_nop + ac_cv_prog_fc_openmp='unsupported' +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + FCFLAGS=$ac_save_FCFLAGS + + if test "$ac_cv_prog_fc_openmp" != 'not found'; then + break + fi + done + if test "$ac_cv_prog_fc_openmp" = 'not found'; then + ac_cv_prog_fc_openmp='unsupported' + elif test "$ac_cv_prog_fc_openmp" = ''; then + ac_cv_prog_fc_openmp='none needed' + fi + rm -f penmp mp +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_openmp" >&5 +printf "%s\n" "$ac_cv_prog_fc_openmp" >&6; } + if test "$ac_cv_prog_fc_openmp" != 'unsupported' && \ + test "$ac_cv_prog_fc_openmp" != 'none needed'; then + OPENMP_FCFLAGS="$ac_cv_prog_fc_openmp" + fi + fi + + + +ac_header= ac_cache= +for ac_item in $ac_header_fc_list +do + if test $ac_cache; then + ac_fn_fc_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" + if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then + printf "%s\n" "#define $ac_item 1" >> confdefs.h + fi + ac_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item + fi +done + + + + + + + + +if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes +then : + +printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h + +fi + + +# Check whether --with-fftw was given. +if test ${with_fftw+y} +then : + withval=$with_fftw; + test "$withval" = no && { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: fftw is a required package for some modules" >&5 +printf "%s\n" "$as_me: WARNING: fftw is a required package for some modules" >&2;} + test "$withval" = yes || fftw_prefix="$withval" + with_fftw=yes +else $as_nop + with_fftw=yes + +fi + + + if test "x$with_fftw" != xno +then : + + #user override + if test "x$FFTW_LIBS" != x && test "x$FFTW_FLAGS" != x +then : + + have_fftw=yes + FOUND_FFTW="yes" + +else $as_nop + + saved_LIBS="$LIBS" + saved_CXXFLAGS="$CXXFLAGS" + FFTW_LIBS="" + FFTW_FLAGS="" + FOUND_FFTW="no" + if test x$fftw_prefix == x; then + if test x$PREFIX != x; then + fftw_prefix=$PREFIX + fi + fi + if test x$fftw_prefix != x; then + ac_FFTW_CFLAGS="-I$fftw_prefix/include" + ac_FFTW_LDOPTS="-L$fftw_prefix/lib" + + + save_CFLAGS="$CFLAGS" + save_CPPFLAGS="$CPPFLAGS" + CFLAGS="$ac_FFTW_CFLAGS $save_CFLAGS" + CPPFLAGS="$ac_FFTW_CFLAGS $save_CPPFLAGS" + ac_fn_fc_check_header_compile "$LINENO" "fftw3.h" "ac_cv_header_fftw3_h" "$ac_includes_default" +if test "x$ac_cv_header_fftw3_h" = xyes +then : + FFTW_FLAGS="$ac_FFTW_CFLAGS" + FOUND_FFTW="yes" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (fftw3.h) of the library FFTW in $fftw_prefix/include." >&5 +printf "%s\n" "$as_me: WARNING: Cannot find headers (fftw3.h) of the library FFTW in $fftw_prefix/include." >&2;} + +fi + + CFLAGS="$save_CFLAGS" + CPPFLAGS="$save_CPPFLAGS" + + save_LIBS="$LIBS" + LIBS="$ac_FFTW_LDOPTS -lfftw3 -lfftw3_threads $save_LIBS" + + cache_var=ac_cv_lib_fftw3_fftw_plan_dft_r2c + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fftw_plan_dft_r2c in -lfftw3" >&5 +printf %s "checking for fftw_plan_dft_r2c in -lfftw3... " >&6; } +if test ${ac_cv_lib_fftw3_fftw_plan_dft_r2c+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfftw3 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call fftw_plan_dft_r2c + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fftw3_fftw_plan_dft_r2c=yes +else $as_nop + ac_cv_lib_fftw3_fftw_plan_dft_r2c=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&5 +printf "%s\n" "$ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&6; } +if test "x$ac_cv_lib_fftw3_fftw_plan_dft_r2c" = xyes +then : + FFTW_LIBS="$ac_FFTW_LDOPTS -lfftw3 -lfftw3_threads" +else $as_nop + FOUND_FFTW="no" + +fi + + $as_unset $cache_var + if test x$FOUND_FFTW != xyes; then + LIBS="$ac_FFTW_LDOPTS -lfftw3 -lfftw3_threads -lm $save_LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fftw_plan_dft_r2c in -lfftw3" >&5 +printf %s "checking for fftw_plan_dft_r2c in -lfftw3... " >&6; } +if test ${ac_cv_lib_fftw3_fftw_plan_dft_r2c+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfftw3 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call fftw_plan_dft_r2c + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fftw3_fftw_plan_dft_r2c=yes +else $as_nop + ac_cv_lib_fftw3_fftw_plan_dft_r2c=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&5 +printf "%s\n" "$ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&6; } +if test "x$ac_cv_lib_fftw3_fftw_plan_dft_r2c" = xyes +then : + FOUND_FFTW="yes" + FFTW_LIBS="$ac_FFTW_LDOPTS -lfftw3 -lfftw3_threads -lm" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libfftw3 : library missing. (Cannot find symbol fftw_plan_dft_r2c) in $fftw_prefix. Check if libfftw3 is installed and if the version is correct" >&5 +printf "%s\n" "$as_me: WARNING: libfftw3 : library missing. (Cannot find symbol fftw_plan_dft_r2c) in $fftw_prefix. Check if libfftw3 is installed and if the version is correct" >&2;} + +fi + + $as_unset $cache_var + fi + LIBS="$save_LIBS" + fi + + if test x$FOUND_FFTW != xyes; then + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FFTW" >&5 +printf %s "checking for FFTW... " >&6; } + +if test -n "$FFTW_CFLAGS"; then + pkg_cv_FFTW_CFLAGS="$FFTW_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fftw3 >= 3.2\""; } >&5 + ($PKG_CONFIG --exists --print-errors "fftw3 >= 3.2") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FFTW_CFLAGS=`$PKG_CONFIG --cflags "fftw3 >= 3.2" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FFTW_LIBS"; then + pkg_cv_FFTW_LIBS="$FFTW_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fftw3 >= 3.2\""; } >&5 + ($PKG_CONFIG --exists --print-errors "fftw3 >= 3.2") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FFTW_LIBS=`$PKG_CONFIG --libs "fftw3 >= 3.2" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FFTW_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "fftw3 >= 3.2" 2>&1` + else + FFTW_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "fftw3 >= 3.2" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FFTW_PKG_ERRORS" >&5 + + + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + +else + FFTW_CFLAGS=$pkg_cv_FFTW_CFLAGS + FFTW_LIBS=$pkg_cv_FFTW_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FFTW_FLAGS="$FFTW_CFLAGS" + FFTW_LIBS="$FFTW_LIBS -lfftw3_threads" + FOUND_FFTW=yes + +fi + fi + + if test x$FOUND_FFTW != xyes; then + ac_fn_fc_check_header_compile "$LINENO" "fftw3.h" "ac_cv_header_fftw3_h" "$ac_includes_default" +if test "x$ac_cv_header_fftw3_h" = xyes +then : + FFTW_FLAGS="" + FOUND_FFTW="yes" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (fftw3.h) of the library FFTW in $fftw_prefix/include." >&5 +printf "%s\n" "$as_me: WARNING: Cannot find headers (fftw3.h) of the library FFTW in $fftw_prefix/include." >&2;} + +fi + + cache_var=ac_cv_lib_fftw3_fftw_plan_dft_r2c + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fftw_plan_dft_r2c in -lfftw3" >&5 +printf %s "checking for fftw_plan_dft_r2c in -lfftw3... " >&6; } +if test ${ac_cv_lib_fftw3_fftw_plan_dft_r2c+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfftw3 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call fftw_plan_dft_r2c + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fftw3_fftw_plan_dft_r2c=yes +else $as_nop + ac_cv_lib_fftw3_fftw_plan_dft_r2c=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&5 +printf "%s\n" "$ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&6; } +if test "x$ac_cv_lib_fftw3_fftw_plan_dft_r2c" = xyes +then : + FFTW_LIBS="-lfftw3 -lfftw3_threads" +else $as_nop + FOUND_FFTW="no" + +fi + + $as_unset $cache_var + + if test x$FOUND_FFTW != xyes; then + + save_LIBS="$LIBS" + LIBS="-lfftw3_threads -lm $save_LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fftw_plan_dft_r2c in -lfftw3" >&5 +printf %s "checking for fftw_plan_dft_r2c in -lfftw3... " >&6; } +if test ${ac_cv_lib_fftw3_fftw_plan_dft_r2c+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfftw3 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call fftw_plan_dft_r2c + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fftw3_fftw_plan_dft_r2c=yes +else $as_nop + ac_cv_lib_fftw3_fftw_plan_dft_r2c=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&5 +printf "%s\n" "$ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&6; } +if test "x$ac_cv_lib_fftw3_fftw_plan_dft_r2c" = xyes +then : + FOUND_FFTW="yes" + FFTW_LIBS="$ac_FFTW_LDOPTS -lfftw3 -lfftw3_threads -lm" +else $as_nop + FOUND_FFTW="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libfftw3 : library missing. (Cannot find symbol fftw_plan_dft_r2c) in $fftw_prefix. Check if libfftw3 is installed and if the version is correct" >&5 +printf "%s\n" "$as_me: WARNING: libfftw3 : library missing. (Cannot find symbol fftw_plan_dft_r2c) in $fftw_prefix. Check if libfftw3 is installed and if the version is correct" >&2;} + +fi + + LIBS="$save_LIBS" + 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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-fi $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-fi config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_fi/support/configure.ac b/src/amuse_fi/support/configure.ac new file mode 100644 index 0000000000..ac21b776f7 --- /dev/null +++ b/src/amuse_fi/support/configure.ac @@ -0,0 +1,46 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-fi], [1.0]) + + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_CC() + +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find AMUSE libraries +AMUSE_LIB_STOPCOND() +AMUSE_LIB_FORSOCKETS() + + +# Find external dependencies +AC_LANG_PUSH([Fortran]) + +AX_MPI() +AC_OPENMP() +AC_SUBST([OPENMP_FCFLAGS]) +AX_FFTW() + +AC_LANG_POP([Fortran]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_fi/support/shared b/src/amuse_fi/support/shared new file mode 120000 index 0000000000..213977b504 --- /dev/null +++ b/src/amuse_fi/support/shared @@ -0,0 +1 @@ +../../../support/shared/ \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_fi.py b/src/amuse_fi/tests/test_fi.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_fi.py rename to src/amuse_fi/tests/test_fi.py index ee7d9a1d8e..38453f2f15 100644 --- a/src/amuse/test/suite/codes_tests/test_fi.py +++ b/src/amuse_fi/tests/test_fi.py @@ -2,9 +2,9 @@ import sys import numpy import time -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI -from amuse.community.fi.interface import FiInterface, Fi +from amuse_fi.interface import FiInterface, Fi from amuse.ext.evrard_test import new_evrard_gas_sphere, MakeEvrardTest from amuse.ext.spherical_model import new_uniform_spherical_particle_distribution from amuse.units import nbody_system diff --git a/src/amuse/community/flash/Makefile b/src/amuse_flash/Makefile similarity index 100% rename from src/amuse/community/flash/Makefile rename to src/amuse_flash/Makefile diff --git a/src/amuse_flash/__init__.py b/src/amuse_flash/__init__.py new file mode 100644 index 0000000000..e24633162d --- /dev/null +++ b/src/amuse_flash/__init__.py @@ -0,0 +1 @@ +from .interface import Flash diff --git a/src/amuse/community/flash/interface.F90 b/src/amuse_flash/interface.F90 similarity index 100% rename from src/amuse/community/flash/interface.F90 rename to src/amuse_flash/interface.F90 diff --git a/src/amuse_flash/interface.py b/src/amuse_flash/interface.py new file mode 100644 index 0000000000..7bdc51d124 --- /dev/null +++ b/src/amuse_flash/interface.py @@ -0,0 +1,1223 @@ +from amuse.community import * +from amuse.community.interface.hydro import HydrodynamicsInterface +from amuse.support.options import OptionalAttributes, option +from amuse.units import generic_unit_system +from amuse.units import si +from amuse.community.interface.common import CommonCode +import numpy as np +import os + +length = generic_unit_system.length +time = generic_unit_system.time +mass = generic_unit_system.mass +speed = generic_unit_system.speed +density = generic_unit_system.density +momentum = generic_unit_system.momentum_density +energy = generic_unit_system.energy_density +potential_energy = generic_unit_system.energy +magnetic_field = generic_unit_system.mass / generic_unit_system.current / generic_unit_system.time ** 2 +acc = generic_unit_system.acceleration +potential = generic_unit_system.potential + +class FlashInterface(CodeInterface, HydrodynamicsInterface): + + use_modules = ['flash_run'] + + include_headers = ['worker_code.h'] + + def __init__(self, **keyword_arguments): + CodeInterface.__init__(self, name_of_the_worker="flash_worker", **keyword_arguments) + + + @legacy_function + def initialize_code(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + @legacy_function + def cleanup_code(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + @legacy_function + def evolve_model(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='d', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_grid_state(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k', 'index_of_grid', 'nproc']: + function.addParameter(x, dtype='i', direction=function.IN) + for x in ['rho','rhovx', 'rhovy', 'rhovz', 'rhoen']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('ngridpoints', dtype='i', direction=function.LENGTH) + function.result_type='int32' + return function + + @legacy_function + def set_grid_state(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k', 'index_of_grid', 'nproc']: + function.addParameter(x, dtype='i', direction=function.IN) + for x in ['rho','rhovx', 'rhovy', 'rhovz', 'rhoen']: + function.addParameter(x, dtype='d', direction=function.IN) + function.addParameter('ngridpoints', dtype='i', direction=function.LENGTH) + function.result_type='int32' + return function + + @legacy_function + def get_grid_momentum_density(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k', 'index_of_grid', 'nproc']: + function.addParameter(x, dtype='i', direction=function.IN) + for x in ['rhovx', 'rhovy', 'rhovz']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('ngridpoints', dtype='i', direction=function.LENGTH) + function.result_type='int32' + return function + + @legacy_function + def set_grid_momentum_density(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k', 'index_of_grid','nproc']: + function.addParameter(x, dtype='i', direction=function.IN) + for x in ['rhovx', 'rhovy', 'rhovz']: + function.addParameter(x, dtype='d', direction=function.IN) + function.addParameter('ngridpoints', dtype='i', direction=function.LENGTH) + function.result_type='int32' + return function + + @legacy_function + def get_grid_velocity(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + for x in ['i','j','k', 'index_of_grid','nproc']: + function.addParameter(x, dtype='i', direction=function.IN) + for x in ['vx', 'vy', 'vz']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('ngridpoints', dtype='i', direction=function.LENGTH) + function.result_type='int32' + return function + + @legacy_function + def set_grid_velocity(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + for x in ['i','j','k', 'index_of_grid','nproc']: + function.addParameter(x, dtype='i', direction=function.IN) + for x in ['vx', 'vy', 'vz']: + function.addParameter(x, dtype='d', direction=function.IN) + function.addParameter('ngridpoints', dtype='i', direction=function.LENGTH) + function.result_type='int32' + return function + + @legacy_function + def get_grid_energy_density(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k', 'index_of_grid','nproc']: + function.addParameter(x, dtype='i', direction=function.IN) + function.addParameter('rhoen', dtype='d', direction=function.OUT) + function.addParameter('ngridpoints', dtype='i', direction=function.LENGTH) + function.result_type='int32' + return function + + @legacy_function + def set_grid_energy_density(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k', 'index_of_grid','nproc']: + function.addParameter(x, dtype='i', direction=function.IN) + function.addParameter('rhoen', dtype='d', direction=function.IN) + function.addParameter('ngridpoints', dtype='i', direction=function.LENGTH) + function.result_type='int32' + return function + + @legacy_function + def get_grid_density(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k', 'index_of_grid','nproc']: + function.addParameter(x, dtype='i', direction=function.IN) + function.addParameter('rho', dtype='d', direction=function.OUT) + function.addParameter('ngridpoints', dtype='i', direction=function.LENGTH) + function.result_type='int32' + return function + + @legacy_function + def set_grid_density(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k', 'index_of_grid','nproc']: + function.addParameter(x, dtype='i', direction=function.IN) + function.addParameter('rho', dtype='d', direction=function.IN) + function.addParameter('ngridpoints', dtype='i', direction=function.LENGTH) + function.result_type='int32' + return function + + @legacy_function + def get_potential(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + for x in ['i','j','k', 'index_of_grid']: + function.addParameter(x, dtype='i', direction=function.IN) + function.addParameter('potential', dtype='d', direction=function.OUT) + function.result_type='int32' + return function + + @legacy_function + def get_potential_at_point(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['eps','x','y','z']: + function.addParameter(x, dtype='d', direction=function.IN) + function.addParameter('gpot', dtype='d', direction=function.OUT) + function.addParameter('nparts', dtype='i', direction=function.LENGTH) + function.result_type='int32' + return function + + @legacy_function + def get_gravity_at_point(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['eps','x','y','z']: + function.addParameter(x, dtype='d', direction=function.IN) + for x in ['gax','gay','gaz']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('nparts',dtype='i',direction=function.LENGTH) + function.result_type='int32' + return function + + @legacy_function + def get_number_of_grids(): + function = LegacyFunctionSpecification() + function.addParameter('nproc', dtype='int32', direction=function.IN) + function.addParameter('n', dtype='int32', direction=function.OUT) + function.result_type='int32' + return function + + @legacy_function + def get_grid_range(): + function = LegacyFunctionSpecification() + for x in ['nx','ny','nz']: + function.addParameter(x, dtype='int32', direction=function.OUT) + function.addParameter('index_of_grid', dtype='int32', direction=function.IN) + function.addParameter('nproc', dtype='int32', direction=function.IN) + function.result_type='int32' + return function + + @legacy_function + def get_position_of_index(): + """ + Retrieves the x, y and z position of the center of + the cell with coordinates i, j, k in the grid specified + by the index_of_grid + """ + function = LegacyFunctionSpecification() + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) + function.addParameter('Proc_ID', dtype='i', direction=function.IN, default = 0) + for x in ['x','y','z']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_index_of_position(): + """ + Retrieves the i,j and k index of the grid cell containing the + given x, y and z position, the index of the grid and the local + processor number on which this grid resides. + """ + function = LegacyFunctionSpecification() + for x in ['x','y','z']: + function.addParameter(x, dtype='d', direction=function.IN) + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.OUT) + function.addParameter('index_of_grid', dtype='i', direction=function.OUT) + function.addParameter('Proc_ID', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_leaf_indices(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('dummy', dtype='i', direction=function.IN) + function.addParameter('ind', dtype='i', direction=function.OUT) + function.addParameter('ret_cnt', dtype='i', direction=function.OUT) + function.addParameter('num_of_blks', dtype='i', direction=function.OUT) + function.addParameter('nparts',dtype='i', direction=function.LENGTH) + function.result_type='i' + return function + + @legacy_function + def get_max_refinement(): + function = LegacyFunctionSpecification() + function.addParameter('max_refine', dtype='int32', direction=function.OUT) + function.result_type='i' + return function + + @legacy_function + def set_timestep(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='d', direction=function.IN) + function.result_type='i' + return function + + @legacy_function + def get_timestep(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='d', direction=function.OUT) + function.result_type='i' + return function + + @legacy_function + def set_end_time(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='d', direction=function.IN, default=0.0) + function.result_type='i' + return function + + @legacy_function + def get_time(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='d', direction=function.OUT) + function.result_type='i' + return function + + @legacy_function + def get_end_time(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='d', direction=function.OUT) + function.result_type='i' + return function + + @legacy_function + def set_max_num_steps(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type='i' + return function + + @legacy_function + def get_max_num_steps(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type='i' + return function + + @legacy_function + def set_begin_iter_step(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN, default=1) + function.result_type='i' + return function + + @legacy_function + def get_begin_iter_step(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type='i' + return function + + @legacy_function + def initialize_restart(): + function = LegacyFunctionSpecification() + function.result_type='i' + return function + + @legacy_function + def get_restart(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='b', direction=function.OUT) + function.result_type='i' + return function + + @legacy_function + def set_restart(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='b', direction=function.IN) + function.result_type='i' + return function + + @legacy_function + def get_hydro_state_at_point(): + function = LegacyFunctionSpecification() + for x in ['x','y','z']: + function.addParameter(x, dtype='d', direction=function.IN) + for x in ['vx','vy','vz']: + function.addParameter(x, dtype='d', direction=function.IN, default = 0) + for x in ['rho','rhovx','rhovy','rhovz','rhoen']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + # This needs to look like "get_grid_density" etc etc. + @legacy_function + def get_cell_volume(): + function = LegacyFunctionSpecification() + for x in ['block','i','j','k']: + function.addParameter(x, dtype='int32', direction=function.IN) + function.addParameter('vol', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_number_of_procs(): + function = LegacyFunctionSpecification() + function.addParameter('n', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_all_local_num_grids(): + function = LegacyFunctionSpecification() + function.must_handle_array=True + function.addParameter('num_grids_array', dtype='i', direction=function.INOUT) + function.addParameter('nprocs', dtype='i', direction=function.LENGTH) + function.result_type = 'i' + return function + + # WORK IN PROGRESS!!!! + #@legacy_function + #def get_data_all_local_blks(): + #function = LegacyFunctionSpecification() + #function.must_handle_array = True + #function.addParameter('data_array', dtype='d', direction=function.INOUT) + #function.addParameter('numcells', dtype='i', direction=function.LENGTH) + #function.result_type = 'i' + #return function + + @legacy_function + def get_1blk_cell_coords(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('axis', dtype='i', direction=function.IN) + function.addParameter('blockID', dtype='i', direction=function.IN) + function.addParameter('limits', dtype='i', direction=function.IN) + function.addParameter('coords', dtype='d', direction=function.OUT) + function.addParameter('nparts', dtype='i', direction=function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def kick_grid(): + function = LegacyFunctionSpecification() + function.addParameter('dt', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def kick_block(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['accel_x', 'accel_y', 'accel_z']: + function.addParameter(x, dtype='d', direction=function.IN) + function.addParameter('blockID', dtype='i', direction=function.IN) + function.addParameter('block_arr', dtype='i', direction=function.IN) + function.addParameter('limits', dtype='i', direction=function.IN) + function.addParameter('dt', dtype='d', direction=function.IN) + function.addParameter('nparts', dtype='i', direction=function.LENGTH) + function.result_type='i' + return function + +######################################## +# Particle Stuff +######################################## + + @legacy_function + def get_number_of_particles(): + function = LegacyFunctionSpecification() + function.addParameter('n', dtype='int32', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_accel_gas_on_particles(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('eps', dtype='d', direction=function.IN) + for x in ['x','y','z']: + function.addParameter(x, dtype='d', direction=function.IN) + for x in ['ax','ay','az']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('nparts',dtype='i',direction=function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def get_num_part_prop(): + function = LegacyFunctionSpecification() + function.addParameter('n', dtype='int32', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_particle_position_array(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('tags', dtype='d', direction=function.IN,unit=NO_UNIT) + for x in ['x','y','z']: + function.addParameter(x, dtype='d', direction=function.OUT, unit=length) + function.addParameter('nparts',dtype='i',direction=function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def set_particle_position(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('tags', dtype='d', direction=function.IN, unit=NO_UNIT) + for x in ['x','y','z']: + function.addParameter(x, dtype='d', direction=function.IN, unit=length) + function.addParameter('nparts',dtype='i',direction=function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def set_particle_velocity(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('tags', dtype='d', direction=function.IN, unit=NO_UNIT) + for x in ['vx','vy','vz']: + function.addParameter(x, dtype='d', direction=function.IN, unit=speed) + function.addParameter('nparts',dtype='i',direction=function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def get_particle_velocity_array(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('tags', dtype='d', direction=function.IN, unit=NO_UNIT) + for x in ['vx','vy','vz']: + function.addParameter(x, dtype='d', direction=function.OUT, unit=speed) + function.addParameter('nparts',dtype='i',direction=function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def make_sink(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['x','y','z']: + function.addParameter(x, dtype='d', direction=function.IN) + function.addParameter('tags', dtype='d', direction=function.OUT) + function.addParameter('nparts',dtype='i',direction=function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def set_particle_mass(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('tags', dtype='d', direction=function.IN) + function.addParameter('mass', dtype='d', direction=function.IN) + function.addParameter('nparts',dtype='i',direction=function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def get_particle_mass(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('tags', dtype='d', direction=function.IN) + function.addParameter('mass', dtype='d', direction=function.OUT) + function.addParameter('nparts',dtype='i',direction=function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def get_particle_gpot(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('n', dtype='int32', direction=function.IN) + function.addParameter('gpot', dtype='d', direction=function.OUT) + function.addParameter('nparts',dtype='i',direction=function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def set_particle_gpot(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('tags', dtype='d', direction=function.IN) + function.addParameter('gpot', dtype='d', direction=function.IN) + function.addParameter('nparts',dtype='i',direction=function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def get_particle_tags(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('n', dtype='int32', direction=function.IN) + function.addParameter('tags', dtype='d', direction=function.OUT) + function.addParameter('nparts', dtype='i', direction=function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def get_particle_proc(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('n', dtype='int32', direction=function.IN) + function.addParameter('procs', dtype='int32', direction=function.OUT) + function.addParameter('nparts', dtype='i', direction=function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def get_particle_block(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('n', dtype='int32', direction=function.IN) + function.addParameter('blocks', dtype='int32', direction=function.OUT) + function.addParameter('nparts', dtype='i', direction=function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def get_new_tags(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('new_tags_length', dtype = 'i', direction=function.IN) + function.addParameter('new_tags_array', dtype = 'i', direction=function.OUT) + function.addParameter('nparts', dtype = 'i', direction=function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def get_number_of_new_tags(): + function = LegacyFunctionSpecification() + function.addParameter('new_tag_num', dtype = 'int32', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def clear_new_tags(): + function = LegacyFunctionSpecification() + function.result_type = 'i' + return function + + @legacy_function + def particles_gather(): + function = LegacyFunctionSpecification() + function.result_type = 'i' + return function + +# @legacy_function +# def make_particle_tree(): +# function = LegacyFunctionSpecification() +# function.result_type = 'i' +# return function + + +######################## +# IO Stuff +######################## + + @legacy_function + def write_chpt(): + function = LegacyFunctionSpecification() + function.result_type = 'i' + return function + +############################################### +# Default implemenation made by build.py - Josh +############################################### + +#class Flash(InCodeComponentImplementation): + +# def __init__(self, unit_converter = None, **options): +# InCodeComponentImplementation.__init__(self, FlashInterface(**options), **options) + +# handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) + +##################################################### +# Attempt to copy amrvac's class implemenation, working so far! - Josh +##################################################### + +class Flash(CommonCode): + + + + def __init__(self, unit_converter = None, **options): + self.unit_converter = unit_converter + self.stopping_conditions = StoppingConditions(self) + + CommonCode.__init__(self, FlashInterface(**options), **options) + +# self.set_parameters_filename(self.default_parameters_filename) + + def define_converter(self, handler): + if self.unit_converter is None: + return + + handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) + + + def get_index_range_inclusive(self, index_of_grid = 1, nproc=0): + nx, ny, nz = self.get_grid_range(index_of_grid, nproc) + + return (0, nx-1, 0, ny-1, 0, nz-1) + + def get_particle_position(self, tags): + + [x, y, z] = self.get_particle_position_array(tags) + + pos_array = np.array([x.value_in(units.cm), y.value_in(units.cm), + z.value_in(units.cm)]).transpose() | units.cm + + if (hasattr(x,"__len__") == False): + + pos_array = pos_array.flatten() + + return pos_array + + def get_particle_velocity(self, tags): + + [x, y, z] = self.get_particle_velocity_array(tags) + + vel_array = np.array([x.value_in(units.cm / units.s), y.value_in(units.cm / units.s), + z.value_in(units.cm / units.s)]).transpose() | units.cm / units.s + + if (hasattr(x,"__len__") == False): + + vel_array = vel_array.flatten() + + return vel_array + + def define_methods(self, handler): + + #length = units.cm + #time = units.s + #mass = units.g + #speed = units.cm*units.s**-1 + #density = units.g*units.cm**-3 + #momentum = density*speed + #energy = units.cm**2*units.g*units.s**-2 + #potential_energy = energy + #magnetic_field = units.g*0.1*units.C**-1*units.s**-1 + #acc = units.cm*units.s**-2 + +### These two are included in CommonCode + + #handler.add_method( + #'initialize_code', + #(), + #(handler.ERROR_CODE) + #) + + + #handler.add_method( + #'cleanup_code', + #(), + #(handler.ERROR_CODE) + #) + + handler.add_method( + 'evolve_model', + (time,), + (handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_position_of_index', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + (length, length, length, handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_index_of_position', + (length, length, length), + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, + handler.INDEX, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_max_refinement", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_grid_state', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + (density, momentum, momentum, momentum, energy, + handler.ERROR_CODE,) + ) + + handler.add_method( + 'set_grid_state', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, + density, momentum, momentum, momentum, energy), + (handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_grid_energy_density', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + ( energy, + handler.ERROR_CODE,) + ) + + handler.add_method( + 'set_grid_energy_density', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, + energy), + (handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_grid_density', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + (density, + handler.ERROR_CODE,) + ) + + handler.add_method( + 'set_grid_density', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, + density), + (handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_grid_momentum_density', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + (momentum, momentum, momentum, + handler.ERROR_CODE,) + ) + + handler.add_method( + 'set_grid_momentum_density', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, + momentum, momentum, momentum), + (handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_grid_velocity', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + (speed, speed, speed, + handler.ERROR_CODE,) + ) + + handler.add_method( + 'set_grid_velocity', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX, + speed, speed, speed), + (handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_potential', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + (potential, handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_potential_at_point', + (length, length, length, length), + (potential, handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_gravity_at_point', + (length, length, length, length), + (acc, acc, acc, handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_cell_volume', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + (length**3, handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_number_of_procs', + (), + (handler.NO_UNIT, handler.ERROR_CODE) + ) + + handler.add_method( + 'get_all_local_num_grids', + (handler.INDEX), + (handler.INDEX, handler.ERROR_CODE) + ) + + handler.add_method( + 'get_data_all_local_blks', + (handler.NO_UNIT), + (handler.NO_UNIT, handler.ERROR_CODE) + ) + + handler.add_method( + 'get_1blk_cell_coords', + (handler.NO_UNIT,handler.NO_UNIT,handler.NO_UNIT), + (length, handler.ERROR_CODE) + ) + + handler.add_method( + 'get_leaf_indices', + (handler.NO_UNIT), + (handler.NO_UNIT, handler.INDEX, handler.INDEX, handler.ERROR_CODE) + ) + + handler.add_method( + 'kick_grid', + (time), + (handler.ERROR_CODE,) + ) + handler.add_method( + 'kick_block', + (acc, acc, acc, handler.INDEX, handler.INDEX, handler.NO_UNIT, time), + (handler.ERROR_CODE) + ) + + handler.add_method( + "get_timestep", + (), + (time, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_timestep", + (time), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_end_time", + (), + (time, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_end_time", + (time, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_time', + (), + (time, handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_max_num_steps', + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + 'set_max_num_steps', + (handler.NO_UNIT,), + (handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_restart', + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + 'set_restart', + (handler.NO_UNIT,), + (handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_hydro_state_at_point', + (length, length, length, + speed, speed, speed), + (density, momentum, momentum, + momentum, energy, handler.ERROR_CODE) + ) + + handler.add_method( + 'get_number_of_particles', + (), + (handler.NO_UNIT,handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_accel_gas_on_particles', + (length,length,length,length), + (acc,acc,acc, handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_num_part_prop', + (), + (handler.NO_UNIT,handler.ERROR_CODE) + ) + + ### I'm implementing this with my own defined function + ### so that the structure of the array return looks + ### right. + + #handler.add_method( + #'get_particle_position', + #(handler.NO_UNIT), + #(length, length, length, handler.ERROR_CODE) + #) + + handler.add_method( + 'set_particle_position', + (handler.NO_UNIT, length, length, length), + (handler.ERROR_CODE) + ) + + ### Same as above. + + #handler.add_method( + #'get_particle_velocity', + #(handler.NO_UNIT), + #(speed, speed, speed, handler.ERROR_CODE) + #) + + handler.add_method( + 'set_particle_velocity', + (handler.NO_UNIT, speed, speed, speed), + (handler.ERROR_CODE) + ) + + handler.add_method( + 'make_sink', + (length, length, length), + (handler.NO_UNIT, handler.ERROR_CODE) + ) + + handler.add_method( + 'get_particle_mass', + (handler.INDEX), + (mass, handler.ERROR_CODE) + ) + + handler.add_method( + 'set_particle_mass', + (handler.INDEX, mass), + (handler.ERROR_CODE) + ) + + handler.add_method( + 'get_particle_gpot', + (handler.INDEX), + (potential, handler.ERROR_CODE) + ) + + handler.add_method( + 'set_particle_gpot', + (handler.NO_UNIT, potential), + (handler.ERROR_CODE) + ) + + handler.add_method( + 'get_particle_tags', + (handler.INDEX), + (handler.NO_UNIT, handler.ERROR_CODE) + ) + + handler.add_method( + 'get_particle_proc', + (handler.INDEX), + (handler.NO_UNIT, handler.ERROR_CODE) + ) + + handler.add_method( + 'get_particle_block', + (handler.INDEX), + (handler.INDEX, handler.ERROR_CODE) + ) + + handler.add_method( + 'write_chpt', + (), + (handler.ERROR_CODE) + ) + + handler.add_method( + 'get_new_tags', + (handler.NO_UNIT), + (handler.NO_UNIT, handler.ERROR_CODE) + ) + + handler.add_method( + 'get_number_of_new_tags', + (), + (handler.NO_UNIT, handler.ERROR_CODE) + ) + + handler.add_method( + 'clear_new_tags', + (), + (handler.ERROR_CODE) + ) + + handler.add_method( + 'particles_gather', + (), + (handler.ERROR_CODE) + ) + +# handler.add_method( +# 'make_particle_tree', +# (), +# (handler.ERROR_CODE) +# ) + + def specify_grid(self, definition, index_of_grid = 1, nproc=0): + definition.set_grid_range('get_index_range_inclusive') + + definition.add_getter('get_position_of_index', names=('x','y','z')) + + definition.add_getter('get_grid_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) + definition.add_setter('set_grid_state', names=('rho', 'rhovx','rhovy','rhovz','energy')) + + definition.add_getter('get_grid_density', names=('rho')) + definition.add_setter('set_grid_density', names=('rho')) + +# if self.mode == self.MODE_SCALAR: +# definition.add_getter('get_grid_scalar', names=('scalar',)) +# definition.add_setter('set_grid_scalar', names=('scalar',)) + + definition.add_getter('get_grid_momentum_density', names=('rhovx','rhovy','rhovz')) + definition.add_setter('set_grid_momentum_density', names=('rhovx','rhovy','rhovz')) + + #definition.add_getter('get_grid_velocity', names=('vx','vy','vz')) + #definition.add_setter('set_grid_velocity', names=('vx','vy','vz')) + + definition.add_getter('get_grid_energy_density', names=('energy',)) + definition.add_setter('set_grid_energy_density', names=('energy',)) + + +# definition.add_getter('get_grid_gravitational_potential', names=('gravitational_potential',)) +# definition.add_getter('get_grid_gravitational_acceleration', names=('gravitational_acceleration_x','gravitational_acceleration_y','gravitational_acceleration_z',)) + +# definition.add_getter('get_grid_acceleration', names=('ax','ay','az')) +# definition.add_setter('set_grid_acceleration', names=('ax','ay','az')) + + definition.define_extra_keywords({'index_of_grid':index_of_grid,'nproc':nproc}) + + @property + def grid(self): + return self._create_new_grid(self.specify_grid, index_of_grid = 1, nproc=0) + + + + # Define an handler that returns a list of all the blocks in the simulation. + # This iterates over all processors and then loops over the blocks on the local processors. + def itergrids(self): + m = self.get_number_of_procs() + + for x in range(m): # Loop over processors. + n = self.get_number_of_grids(x) + #n = max(num_grids) + #print "N =",n, "X =",x + for y in range(1, n+1): # Loop over blocks. + yield self._create_new_grid(self.specify_grid, index_of_grid = y, nproc=x) + + + def define_state(self, handler): + CommonCode.define_state(self, handler) + handler.add_transition('END', 'INITIALIZED', 'initialize_code', False) + + handler.add_transition('INITIALIZED','EDIT','commit_parameters') + handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False) + handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False) + handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters') + handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') + handler.add_method('RUN', 'before_get_parameter') + handler.add_method('EDIT', 'before_get_parameter') + + handler.add_transition('EDIT', 'RUN', 'initialize_grid') + handler.add_method('RUN', 'evolve_model') + handler.add_method('RUN', 'get_hydro_state_at_point') + + for state in ['EDIT', 'RUN']: + for methodname in [ + 'get_grid_state', + 'set_grid_state', + 'get_potential_at_point', + 'get_potential', + 'get_gravity_at_point', +# 'set_potential', + 'get_grid_density', + 'set_grid_density', + 'set_grid_energy_density', + 'get_grid_energy_density', + 'get_grid_momentum_density', + 'set_grid_momentum_density', + 'get_grid_velocity', + 'set_grid_velocity', + 'get_position_of_index', + 'get_index_of_position', + 'get_max_refinement', +# 'set_grid_scalar', +# 'get_grid_scalar', + 'get_number_of_grids', + 'get_index_range_inclusive', + 'get_cell_volume', + 'get_number_of_procs', + 'get_all_local_num_grids', + 'get_data_all_local_blks', + 'get_1blk_cell_coords', + 'get_leaf_indices', + 'kick_grid', + 'kick_block', +# 'get_boundary_state', +# 'set_boundary_state', +# 'get_boundary_position_if_index', +# 'get_boundary_index_range_inclusive', + 'get_timestep', + 'set_timestep', + 'get_end_time', + 'set_end_time', + 'get_time', + 'get_max_num_steps', + 'set_max_num_steps', + 'get_restart', + 'get_number_of_particles', + 'get_accel_gas_on_particles', + 'get_particle_position', + 'set_particle_position', + 'get_particle_velocity', + 'set_particle_velocity', + 'make_sink', + 'get_particle_mass', + 'set_particle_mass', + 'set_particle_gpot', + 'get_particle_gpot', + 'get_particle_tags', + 'get_particle_proc', + 'get_particle_block', + 'get_new_tags', + 'get_number_of_new_tags', + 'clear_new_tags', + 'particles_gather', + #'make_particle_tree', + 'write_chpt' + ]: + handler.add_method(state, methodname) + diff --git a/src/amuse_fractalcluster/Makefile b/src/amuse_fractalcluster/Makefile new file mode 100644 index 0000000000..62423743c4 --- /dev/null +++ b/src/amuse_fractalcluster/Makefile @@ -0,0 +1,67 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + +# Building the code into a static library +FFLAGS += $(FORSOCKETS_CFLAGS) +LDLIBS += $(FORSOCKETS_LIBS) + +FFLAGS += -fdefault-real-8 -cpp -fallow-argument-mismatch + +CODELIB=src/libfractal.a + + +# Building the workers +%.o: %.f90 + $(FC) $(FFLAGS) -I./src/ -c -o $@ $< + +interface.o: $(CODELIB) + +$(CODELIB): src/*.f90 + $(MAKE) -C src amuse_interface FFLAGS="$(FFLAGS)" + +fractalcluster_worker.f90: interface.py + amusifier --type=f90 interface.py FractalClusterInterface -o $@ + +fractalcluster_worker.o: fractalcluster_worker.f90 + $(MPIFC) -c $(FFLAGS) $< + +fractalcluster_worker: fractalcluster_worker.o interface.o $(CODELIB) + $(MPIFC) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +# Which packages contain which workers? +amuse-fractalcluster_contains: fractalcluster_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + diff --git a/src/amuse_fractalcluster/__init__.py b/src/amuse_fractalcluster/__init__.py new file mode 100644 index 0000000000..1a9ece5559 --- /dev/null +++ b/src/amuse_fractalcluster/__init__.py @@ -0,0 +1 @@ +from .interface import Fractalcluster diff --git a/src/amuse/community/fractalcluster/interface.f90 b/src/amuse_fractalcluster/interface.f90 similarity index 100% rename from src/amuse/community/fractalcluster/interface.f90 rename to src/amuse_fractalcluster/interface.f90 diff --git a/src/amuse_fractalcluster/interface.py b/src/amuse_fractalcluster/interface.py new file mode 100644 index 0000000000..717d69e91f --- /dev/null +++ b/src/amuse_fractalcluster/interface.py @@ -0,0 +1,278 @@ +import numpy +import os.path +from amuse.community import * +from amuse.datamodel import Particles +from amuse import datamodel +from amuse.units import nbody_system +from amuse.community.interface.common import CommonCodeInterface, CommonCode + +class FractalClusterInterface(CodeInterface, LiteratureReferencesMixIn): + """ + makes fractal of nstar particles of dimension fdim, using ndiv + subunits forcing the number of cells if force=.true. + + reference: + .. [#] ADS:2004A&A...413..929G (Simon Goodwin & Ant Whitworth (2004, A&A, 413, 929)) + """ + + def __init__(self, **options): + CodeInterface.__init__(self, name_of_the_worker = self.name_of_the_worker(), **options) + LiteratureReferencesMixIn.__init__(self) + + def name_of_the_worker(self): + return 'fractalcluster_worker' + + @legacy_function + def get_state(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['x','y','z','vx','vy','vz']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('nstar', dtype='i', direction=function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def generate_particles(): + function = LegacyFunctionSpecification() + function.result_type = 'i' + return function + + @legacy_function + def get_fractal_dimension(): + function = LegacyFunctionSpecification() + function.addParameter('fdim', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + @legacy_function + def set_fractal_dimension(): + function = LegacyFunctionSpecification() + function.addParameter('fdim', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_random_seed(): + function = LegacyFunctionSpecification() + function.addParameter('seed', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + @legacy_function + def set_random_seed(): + function = LegacyFunctionSpecification() + function.addParameter('seed', dtype='i', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_nstar(): + function = LegacyFunctionSpecification() + function.addParameter('nstar', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + @legacy_function + def set_nstar(): + function = LegacyFunctionSpecification() + function.addParameter('nstar', dtype='i', direction=function.IN) + function.result_type = 'i' + return function + + new_particle = None + + def delete_particle(self, index_of_the_particle): + return 0 + + @legacy_function + def get_number_of_particles_updated(): + """ + Return the number of particles added during the last generate_particles. + """ + function = LegacyFunctionSpecification() + function.addParameter('number_of_particles', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + + +class FractalCluster(CommonCode): + + def __init__(self, unit_converter=None, **options): + self.unit_converter = unit_converter + InCodeComponentImplementation.__init__(self, FractalClusterInterface(**options), **options) + + def initialize_code(self): + pass + + def cleanup_code(self): + pass + + def commit_parameters(self): + pass + + def recommit_parameters(self): + pass + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_nstar", + "set_nstar", + "number_of_particles", + "the number of particles to be generated in the model", + default_value = 0 + ) + + handler.add_method_parameter( + "get_fractal_dimension", + "set_fractal_dimension", + "fractal_dimension", + "the fractal dimension of the spatial particle distribution", + default_value = 1.6 + ) + + handler.add_method_parameter( + "get_random_seed", + "set_random_seed", + "random_seed", + "the initial seed to be used by the random number generator", + default_value = 1234321 + ) + + def define_methods(self, handler): + CommonCode.define_methods(self, handler) + handler.add_method("generate_particles", (), (handler.ERROR_CODE,)) + handler.add_method("get_number_of_particles_updated", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + + handler.add_method("get_state", (handler.INDEX,), + [nbody_system.length]*3 + [nbody_system.speed]*3 + [handler.ERROR_CODE] + ) + + handler.add_method("get_target_number_of_particles", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_target_number_of_particles", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) + + handler.add_method("get_fractal_dimension", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_fractal_dimension", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) + + handler.add_method("get_random_seed", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_random_seed", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) + + def define_converter(self, handler): + if not self.unit_converter is None: + handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) + + def define_particle_sets(self, handler): + handler.define_set('particles', 'index_of_the_particle') + handler.set_new('particles', 'new_particle') + handler.set_delete('particles', 'delete_particle') + handler.add_getter('particles', 'get_state') + + def define_state(self, handler): + CommonCode.define_state(self, handler) + handler.add_transition('INITIALIZED','EDIT','commit_parameters') + handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False) + handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') + + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') + + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') + handler.add_method('RUN', 'before_get_parameter') + handler.add_method('EDIT', 'before_get_parameter') + + handler.add_transition('EDIT', 'RUN', 'generate_particles', False) + handler.add_transition('RUN', 'EDIT', 'clear_particle_set') + handler.add_method('EDIT', 'get_number_of_particles_updated') + handler.add_method('RUN', 'get_number_of_particles_updated') + handler.add_method('RUN', 'get_state') + + def generate_particles(self): + result = self.overridden().generate_particles() + self.update_particle_set() + + def update_particle_set(self): + """ + update the particle set after changes in the code + + this implementation needs to move to the + amuse.datamodel.incode_storage module, as + it uses a lot of internal methods and info! + """ + number_of_updated_particles = self.get_number_of_particles_updated() + if number_of_updated_particles: + self.particles._private.attribute_storage._add_indices( + list(range(1, number_of_updated_particles+1)) + ) + + def clear_particle_set(self): + if len(self.particles): + self.particles.remove_particles(self.particles) + + + +class MakeFractalCluster(object): + + def __init__(self, N=None, convert_nbody=None, masses=None, do_scale=True, + random_seed=None, fractal_dimension=1.6, virial_ratio=0.5, verbose=False, match_N=True): + if masses is None: + if N is None: + raise exceptions.AmuseException("Either keyword argument 'N' (number of particles) or " + "'masses' (vector quantity with mass of each particle) is required.") + self.masses = numpy.ones(N) / N | nbody_system.mass + self.N = N + else: + if not N is None and len(masses) != N: + print("warning: provided mass array not equal to masses") + self.masses = masses / masses.sum() | nbody_system.mass + self.N = len(masses) + + self.convert_nbody=convert_nbody + self.do_scale=do_scale + self.random_seed=random_seed + self.fractal_dimension=fractal_dimension + self.virial_ratio=virial_ratio + self.verbose=verbose + self.match_N=match_N + + def new_model(self): + generator = FractalCluster(redirection=("none" if self.verbose else "null")) + generator.parameters.number_of_particles = self.N + generator.parameters.fractal_dimension = self.fractal_dimension + if self.random_seed is not None: + generator.parameters.random_seed = self.random_seed + generator.generate_particles() + if self.match_N: + while len(generator.particles)/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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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" + if (eval "$as_required") 2>/dev/null +then : + as_have_required=yes +else $as_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-fractalcluster' +PACKAGE_TARNAME='amuse-fractalcluster' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-fractalcluster 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CPPFLAGS +CFLAGS +CC +MPILIBS +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +OBJEXT +EXEEXT +ac_ct_FC +LDFLAGS +FCFLAGS +FC +RANLIB +AR +target_os +target_vendor +target_cpu +target +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +FC +FCFLAGS +LDFLAGS +LIBS +MPIFC +CC +CFLAGS +CPPFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-fractalcluster 1.0 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/amuse-fractalcluster] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-fractalcluster 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + FC Fortran compiler command + FCFLAGS Fortran 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 + MPIFC MPI Fortran compiler command + CC C compiler command + CFLAGS C compiler flags + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + 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 + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-fractalcluster configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-fractalcluster $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Find tools for creating static libraries + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find the compiler +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the Fortran compiler works" >&5 +printf %s "checking whether the Fortran compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "Fortran compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler default output file name" >&5 +printf %s "checking for Fortran compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat > conftest.$ac_ext <<_ACEOF + program main + open(unit=9,file='conftest.out') + close(unit=9) + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run Fortran compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + +# Find MPI + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +fi + +fi + + + ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +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 + + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-fractalcluster $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-fractalcluster config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_fractalcluster/support/configure.ac b/src/amuse_fractalcluster/support/configure.ac new file mode 100644 index 0000000000..ce116c9117 --- /dev/null +++ b/src/amuse_fractalcluster/support/configure.ac @@ -0,0 +1,35 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-fractalcluster], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find the compiler +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + +AC_LANG_PUSH([Fortran]) + +# Find MPI +AX_MPI() + +# Find AMUSE libraries +AMUSE_LIB_FORSOCKETS() + +AC_LANG_POP([Fortran]) + + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_fractalcluster/support/shared b/src/amuse_fractalcluster/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_fractalcluster/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse_fractalcluster/tests/test_fractalcluster.py b/src/amuse_fractalcluster/tests/test_fractalcluster.py new file mode 100644 index 0000000000..5a51399c18 --- /dev/null +++ b/src/amuse_fractalcluster/tests/test_fractalcluster.py @@ -0,0 +1,78 @@ +from amuse.support.testing import amusetest +from amuse.units import units, nbody_system, constants + +from amuse.ic.fractalcluster import new_fractal_cluster_model + + +class TestFractalCluster(amusetest.TestCase): + + def test1(self): + print("First test: making a fractal cluster.") + target_number_of_particles = 100 + parts = new_fractal_cluster_model(N=target_number_of_particles) + self.assertEqual(len(parts), 100) + + def test2(self): + print("test 2: test energy.") + target_number_of_particles = 100 + parts = new_fractal_cluster_model(N=target_number_of_particles) + ek = parts.kinetic_energy() + ep = parts.potential_energy(G=nbody_system.G) + self.assertAlmostEqual(ek/abs(ep), 0.5, 12) + self.assertAlmostRelativeEqual(ep, -0.5 | nbody_system.energy, 12) + + def test3(self): + print("test 3: test energy physical units.") + target_number_of_particles = 100 + convert_nbody = nbody_system.nbody_to_si(1000 | units.MSun, 1 | units.parsec) + parts = new_fractal_cluster_model(N=target_number_of_particles, convert_nbody=convert_nbody) + ek = parts.kinetic_energy() + ep = parts.potential_energy() + self.assertAlmostEqual(ek/abs(ep), 0.5, 12) + self.assertAlmostRelativeEqual(ep, -0.5 * constants.G * (1000 | units.MSun)**2 / (1.0 | units.parsec), 12) + + def test4(self): + print("Test with masses") + target_number_of_particles = 100 + masses = (range(1, 11) | units.MSun) * 1.0 + convert_nbody = nbody_system.nbody_to_si(1000 | units.MSun, 1 | units.parsec) + particles = new_fractal_cluster_model(masses=masses, convert_nbody=convert_nbody, do_scale=True) + + ek = particles.kinetic_energy() + ep = particles.potential_energy() + self.assertEqual(len(particles), 10) + self.assertAlmostEqual(particles.total_mass(), 1000 | units.MSun) # Note: total_mass == converter's mass unit! + self.assertAlmostEqual(masses.sum(), 55 | units.MSun) # Note: total_mass != masses.sum() + self.assertAlmostEqual(particles.center_of_mass(), [0, 0, 0] | units.parsec) + self.assertAlmostEqual(particles.center_of_mass_velocity(), [0, 0, 0] | units.km / units.s) + self.assertAlmostEqual(ek/ep, -0.5, 12) + self.assertAlmostRelativeEqual(ek, (0.25 * constants.G * (1000 | units.MSun)**2 / (1.0 | units.parsec)).as_quantity_in(ek.unit), 12) + + def test5(self): + print("Test with masses, with correct mass unit in converter") + target_number_of_particles = 100 + masses = (range(1, 11) | units.MSun) * 1.0 + convert_nbody = nbody_system.nbody_to_si(masses.sum(), 1 | units.parsec) + particles = new_fractal_cluster_model(masses=masses, convert_nbody=convert_nbody, do_scale=True) + + ek = particles.kinetic_energy() + ep = particles.potential_energy() + self.assertEqual(len(particles), 10) + self.assertAlmostEqual(particles.total_mass(), 55 | units.MSun) # Note: total_mass == converter's mass unit! + self.assertAlmostEqual(particles.center_of_mass(), [0, 0, 0] | units.parsec) + self.assertAlmostEqual(particles.center_of_mass_velocity(), [0, 0, 0] | units.km / units.s) + self.assertAlmostEqual(ek/ep, -0.5, 12) + self.assertAlmostRelativeEqual(ek, (0.25 * constants.G * (55 | units.MSun)**2 / (1.0 | units.parsec)).as_quantity_in(ek.unit), 12) + + def test6(self): + print("Test fractal dimension.") + number_of_particles = 1000 + for target_fractal_dimension in [1.6, 2.0, 2.5, 3.0]: + particles = new_fractal_cluster_model( + N=number_of_particles, + fractal_dimension=target_fractal_dimension, + do_scale=False, random_seed=1234321) + self.assertAlmostRelativeEquals(particles.box_counting_dimension(), + target_fractal_dimension, 1) + self.assertAlmostRelativeEquals(particles.correlation_dimension(), + target_fractal_dimension, 1) diff --git a/src/amuse_gadget2/Makefile b/src/amuse_gadget2/Makefile new file mode 100644 index 0000000000..43aee04791 --- /dev/null +++ b/src/amuse_gadget2/Makefile @@ -0,0 +1,100 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library +DEPFLAGS += $(STOPCONDMPI_CFLAGS) $(AMUSE_MPI_CFLAGS) $(GSL_FLAGS) + +CFLAGS += $(DEPFLAGS) +CXXFLAGS += $(DEPFLAGS) + +LDLIBS += $(STOPCONDMPI_LIBS) $(AMUSE_MPI_LIBS) $(GSL_LIBS) + +CODELIB = libgadget.a + +build_%: + mkdir -p $@ + +build_%/makefile_options: makefile_options_% | build_% + cp makefile_options_$* $@ + +build_%/$(CODELIB) build_%/allvars.o &: build_%/makefile_options FORCE + $(MAKE) -C build_$* -f ../src/Makefile -j $(CPU_COUNT) all VPATH=../src + + +# Load code configuration +OPT := +include makefile_options_normal +OPT_normal := $(OPT) + +OPT := +include makefile_options_nogravity +OPT_nogravity := $(OPT) + +OPT := +include makefile_options_periodic +OPT_periodic := $(OPT) + +OPT := +include makefile_options_periodic_nogravity +OPT_periodic_nogravity := $(OPT) + + +# Building the workers + +gadget2_worker.h: interface.py + amusifier --type=h interface.py Gadget2Interface -o $@ + +gadget2_worker.cc: interface.py gadget2_worker.h + amusifier --type=c interface.py Gadget2Interface -o $@ + +gadget2_worker.o: gadget2_worker.cc gadget2_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + +gadget2_%_worker: gadget2_worker.o interface_%.o build_%/$(CODELIB) build_%/allvars.o + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +interface_%.o: interface.cc makefile_options_% gadget2_worker.h + $(MPICXX) -c $(CXXFLAGS) -DTOOLBOX $(OPT_$*) $< -o $@ + + +# Which packages contain which workers? +amuse-gadget2_contains: gadget2_normal_worker gadget2_nogravity_worker gadget2_periodic_worker gadget2_periodic_nogravity_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *.o *.mod *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + +# .PHONY doesn't work for pattern rules, so we do it the old-fashioned way +FORCE: + diff --git a/src/amuse/community/gadget2/README b/src/amuse_gadget2/README similarity index 100% rename from src/amuse/community/gadget2/README rename to src/amuse_gadget2/README diff --git a/src/amuse_gadget2/__init__.py b/src/amuse_gadget2/__init__.py new file mode 100644 index 0000000000..8458569605 --- /dev/null +++ b/src/amuse_gadget2/__init__.py @@ -0,0 +1 @@ +from .interface import Gadget2 diff --git a/src/amuse_gadget2/interface.cc b/src/amuse_gadget2/interface.cc new file mode 100644 index 0000000000..c80cbbcef4 --- /dev/null +++ b/src/amuse_gadget2/interface.cc @@ -0,0 +1,2829 @@ +#ifndef NOMPI +#include +#include +#endif +#include +#include +#include +#include +#include +#include "interface.h" +#include "gadget2_worker.h" +//AMUSE STOPPING CONDITIONS +#include "stopcond.h" + +using namespace std; + +const bool debug = false; + +bool particles_initialized = false; +bool outfiles_opened = false; +bool global_quantities_of_system_up_to_date = false; +bool potential_energy_also_up_to_date = false; +bool density_up_to_date = false; +bool particle_map_up_to_date = false; +bool interpret_kicks_as_feedback = false; +bool interpret_heat_as_feedback = true; +long long particle_id_counter = 0; +long long dm_particles_in_buffer = 0; +long long sph_particles_in_buffer = 0; +long long index_of_highest_mapped_particle = 0; +map dm_states; +map sph_states; +map local_index_map; + +double redshift_begin_parameter = 20.0; +double redshift_max_parameter = 0.0; + +// general interface functions: + +void set_default_parameters(){ + // parameters that can be changed from AMUSE + All.TimeLimitCPU = 36000; + All.ComovingIntegrationOn = 0; + All.TypeOfTimestepCriterion = 0; +#ifdef PERIODIC + All.PeriodicBoundariesOn = 1; +#else + All.PeriodicBoundariesOn = 0; +#endif + All.Time = 0.0; + All.TimeBegin = 0.0; + All.TimeMax = 100.0; + All.Omega0 = 0; + All.OmegaLambda = 0; + All.OmegaBaryon = 0; + All.HubbleParam = 0.7; + All.BoxSize = 1.0; + All.TimeBetStatistics = 0.1; + All.ErrTolIntAccuracy = 0.025; + All.CourantFac = 0.15; + All.MaxSizeTimestep = 0.01; + All.MinSizeTimestep = 0.0; + All.ErrTolTheta = 0.5; + All.TypeOfOpeningCriterion = 1; + All.ErrTolForceAcc = 0.005; + All.TreeDomainUpdateFrequency = 0.05; + All.DesNumNgb = 50; + All.MaxNumNgbDeviation = 5.; + All.ArtBulkViscConst = 0.5; + All.ArtBulkViscBeta = 1.; + All.MinGasTemp = 0; + All.UnitLength_in_cm = 3.085678e21; + All.UnitMass_in_g = 1.989e43; + All.UnitVelocity_in_cm_per_s = 1e5; + All.UnitTime_in_s = All.UnitLength_in_cm / All.UnitVelocity_in_cm_per_s; + All.MinGasHsmlFractional = 0.0; + All.SofteningGas = 0.01; + All.SofteningHalo = 0.01; + All.SofteningGasMaxPhys = 0.0; + All.SofteningHaloMaxPhys = 0.0; + set_softenings(); + strcpy(All.OutputDir, "."); + strcpy(All.EnergyFile, "energy.txt"); + strcpy(All.InfoFile, "info.txt"); + strcpy(All.TimingsFile, "timings.txt"); + strcpy(All.CpuFile, "cpu.txt"); + + // parameters that are fixed for AMUSE: + All.PartAllocFactor = 1.5; // Memory allocation parameter + All.TreeAllocFactor = 0.8; // Memory allocation parameter + All.BufferSize = 25; // Memory allocation parameter + All.ResubmitOn = 0; // Keep this turned off! + All.OutputListOn = 0; // Keep this turned off! + All.GravityConstantInternal = 0; // Keep this turned off! + + // parameters that are unused for AMUSE: + strcpy(All.InitCondFile, ""); + strcpy(All.RestartFile, ""); + strcpy(All.SnapshotFileBase, ""); + strcpy(All.OutputListFilename, ""); + strcpy(All.ResubmitCommand, ""); + All.ICFormat = 1; + All.SnapFormat = 1; + All.TimeBetSnapshot = 100.0; + All.TimeOfFirstSnapshot = 100.0; + All.CpuTimeBetRestartFile = 36000.0; + All.NumFilesPerSnapshot = 1; + All.NumFilesWrittenInParallel = 1; + All.InitGasTemp = 0; + All.MaxRMSDisplacementFac = 0.2; // parameter for PM; PM is currently not supported +} + +int initialize_code(){ + double t0, t1; +#ifndef NOMPI + get_comm_world(&GADGET_WORLD); + MPI_Comm_rank(GADGET_WORLD, &ThisTask); + MPI_Comm_size(GADGET_WORLD, &NTask); +#else + ThisTask = 0; + NTask = 1; +#endif + for(PTask = 0; NTask > (1 << PTask); PTask++); + RestartFlag = All.TotNumPart = All.TotN_gas = 0; + All.CPU_TreeConstruction = All.CPU_TreeWalk = All.CPU_Gravity = All.CPU_Potential = All.CPU_Domain = + All.CPU_Snapshot = All.CPU_Total = All.CPU_CommSum = All.CPU_Imbalance = All.CPU_Hydro = + All.CPU_HydCompWalk = All.CPU_HydCommSumm = All.CPU_HydImbalance = + All.CPU_EnsureNgb = All.CPU_Predict = All.CPU_TimeLine = All.CPU_PM = All.CPU_Peano = 0; + CPUThisRun = 0; + t0 = second(); + if(ThisTask == 0){ + printf("\nThis is Gadget, version `%s'.\n", GADGETVERSION); + printf("\nRunning on %d processors.\n", NTask); + } + + t1 = second(); + CPUThisRun += timediff(t0, t1); + All.CPU_Total += timediff(t0, t1); + + //AMUSE STOPPING CONDITIONS SUPPORT + set_support_for_condition(NUMBER_OF_STEPS_DETECTION); + set_support_for_condition(DENSITY_LIMIT_DETECTION); + set_support_for_condition(INTERNAL_ENERGY_LIMIT_DETECTION); + mpi_setup_stopping_conditions(); + + set_default_parameters(); + return 0; +} + +int cleanup_code(){ + if (outfiles_opened) + close_outputfiles(); + if (particles_initialized){ + free_memory(); + ngb_treefree(); + force_treefree(); + } + return 0; +} + + +int check_parameters(){ +#ifndef NOMPI + MPI_Bcast(&All, sizeof(struct global_data_all_processes), MPI_BYTE, 0, GADGET_WORLD); +#endif + if (ThisTask){ + return 0; + } + if(sizeof(long long) != 8){ + printf("\nType `long long' is not 64 bit on this platform. Stopping.\n\n"); + return -4; + } + if(sizeof(int) != 4){ + printf("\nType `int' is not 32 bit on this platform. Stopping.\n\n"); + return -4; + } + if(sizeof(float) != 4){ + printf("\nType `float' is not 32 bit on this platform. Stopping.\n\n"); + return -4; + } + if(sizeof(double) != 8){ + printf("\nType `double' is not 64 bit on this platform. Stopping.\n\n"); + return -4; + } + if(All.NumFilesWrittenInParallel < 1){ + printf("NumFilesWrittenInParallel MUST be at least 1\n"); + return -4; + } + if(All.NumFilesWrittenInParallel > NTask){ + printf("NumFilesWrittenInParallel MUST be smaller than number of processors\n"); + return -4; + } +#ifdef PERIODIC + if(All.PeriodicBoundariesOn == 0){ + printf("Code was compiled with periodic boundary conditions switched on.\n"); + printf("You must set `PeriodicBoundariesOn=1', or recompile the code.\n"); + return -4; + } +#else + if(All.PeriodicBoundariesOn == 1){ + printf("Code was compiled with periodic boundary conditions switched off.\n"); + printf("You must set `PeriodicBoundariesOn=0', or recompile the code.\n"); + return -4; + } +#endif + if(All.TypeOfTimestepCriterion >= 1){ + printf("The specified timestep criterion\n"); + printf("is not valid\n"); + return -4; + } +#if defined(LONG_X) || defined(LONG_Y) || defined(LONG_Z) +#ifndef NOGRAVITY + printf("Code was compiled with LONG_X/Y/Z, but not with NOGRAVITY.\n"); + printf("Stretched periodic boxes are not implemented for gravity yet.\n"); + return -4; +#endif +#endif + cout << "Parameters successfully committed." << endl << flush; + return 0; +} + +int commit_parameters(){ + allocate_commbuffers(); /* ... allocate buffer-memory for particle + exchange during force computation */ + set_units(); +#if defined(PERIODIC) && (!defined(PMGRID) || defined(FORCETEST)) + ewald_init(); +#endif + random_generator = gsl_rng_alloc(gsl_rng_ranlxd1); + gsl_rng_set(random_generator, 42); /* start-up seed */ +#ifdef PMGRID + long_range_init(); +#endif + set_random_numbers(); + + for(int i = 0; i < 6; i++) + All.MassTable[i] = 0; + + if(All.ComovingIntegrationOn){ + All.TimeBegin = 1.0 / (1.0 + redshift_begin_parameter); + All.TimeMax = 1.0 / (1.0 + redshift_max_parameter); + All.Timebase_interval = (log(All.TimeMax) - log(All.TimeBegin)) / TIMEBASE; + }else{ + All.Timebase_interval = (All.TimeMax - All.TimeBegin) / TIMEBASE; + } + All.Time = All.TimeBegin; + All.Ti_Current = 0; + All.NumCurrentTiStep = 0; /* setup some counters */ + All.SnapshotFileCount = 0; + All.TotNumOfForces = All.NumForcesSinceLastDomainDecomp = 0; + All.TimeLastStatistics = All.TimeBegin - All.TimeBetStatistics; +#ifdef PMGRID + All.PM_Ti_endstep = All.PM_Ti_begstep = 0; +#endif +#ifdef FLEXSTEPS + All.PresentMinStep = TIMEBASE; +#endif + All.Ti_nextoutput = -1; // find_next_outputtime(All.Ti_Current); + open_outputfiles(); + outfiles_opened = true; + return check_parameters(); +} +int recommit_parameters(){ + return check_parameters(); +} + +int commit_particles(){ + double t0, t1; + int i, j; +#ifndef ISOTHERM_EQS + double a3; +#endif + double a, a_inv; + if (All.ComovingIntegrationOn) { + a = All.Time; + a_inv = 1.0 / All.Time; + } else { + a = a_inv = 1; + } + + t0 = second(); + All.TotNumPart = dm_particles_in_buffer + sph_particles_in_buffer; + All.TotN_gas = sph_particles_in_buffer; + All.MaxPart = All.PartAllocFactor * (All.TotNumPart / NTask); /* sets the maximum number of particles that may */ + All.MaxPartSph = All.PartAllocFactor * (All.TotN_gas / NTask); /* sets the maximum number of particles that may + reside on a processor */ + NumPart = dm_states.size()+sph_states.size(); + N_gas = sph_states.size(); + allocate_memory(); + + // initialize sph particles + i = 0; + for (map::iterator state_iter = sph_states.begin(); + state_iter != sph_states.end(); state_iter++, i++){ + P[i].ID = (*state_iter).first; + P[i].Mass = (*state_iter).second.mass; + P[i].Pos[0] = (*state_iter).second.x * a_inv; + P[i].Pos[1] = (*state_iter).second.y * a_inv; + P[i].Pos[2] = (*state_iter).second.z * a_inv; + P[i].Vel[0] = (*state_iter).second.vx * a; + P[i].Vel[1] = (*state_iter).second.vy * a; + P[i].Vel[2] = (*state_iter).second.vz * a; + P[i].Type = 0; // SPH particles (dark matter particles have type 1) + SphP[i].Entropy = (*state_iter).second.u; + SphP[i].Density = -1; + SphP[i].Hsml = 0; +#ifdef MORRIS97VISC + SphP[i].Alpha = (*state_iter).second.alpha; + SphP[i].DAlphaDt = (*state_iter).second.dalphadt; +#endif + } + sph_states.clear(); + + // initialize dark matter particles + i = N_gas; + for (map::iterator state_iter = dm_states.begin(); + state_iter != dm_states.end(); state_iter++, i++){ + P[i].ID = (*state_iter).first; + P[i].Mass = (*state_iter).second.mass; + P[i].Pos[0] = (*state_iter).second.x * a_inv; + P[i].Pos[1] = (*state_iter).second.y * a_inv; + P[i].Pos[2] = (*state_iter).second.z * a_inv; + P[i].Vel[0] = (*state_iter).second.vx * a; + P[i].Vel[1] = (*state_iter).second.vy * a; + P[i].Vel[2] = (*state_iter).second.vz * a; + P[i].Type = 1; // dark matter particles (SPH particles have type 0) + } + dm_states.clear(); + All.TimeBegin += All.Ti_Current * All.Timebase_interval; + All.Ti_Current = 0; + All.Time = All.TimeBegin; + set_softenings(); + for(i = 0; i < NumPart; i++){ /* start-up initialization */ + for(j = 0; j < 3; j++) + P[i].GravAccel[j] = 0; +#ifdef PMGRID + for(j = 0; j < 3; j++) + P[i].GravPM[j] = 0; +#endif + P[i].Ti_endstep = 0; + P[i].Ti_begstep = 0; + P[i].OldAcc = 0; + P[i].GravCost = 1; + P[i].Potential = 0; + } +#ifdef FLEXSTEPS + for(i = 0; i < NumPart; i++) /* start-up initialization */ + P[i].FlexStepGrp = (int) (TIMEBASE * get_random_number(P[i].ID)); +#endif + for(i = 0; i < N_gas; i++){ /* initialize sph_properties */ + for(j = 0; j < 3; j++){ + SphP[i].VelPred[j] = P[i].Vel[j]; + SphP[i].HydroAccel[j] = 0; + } + SphP[i].DtEntropy = 0; +#ifdef TIMESTEP_UPDATE + SphP[i].FeedbackFlag = 0; + for(j = 0; j < 3; j++) + SphP[i].FeedAccel[j] = 0; +#endif + } + + if((All.MaxPart < 1000)){ + if (ThisTask == 0){ + cout << "Gadget takes "<< All.PartAllocFactor << " times the number of particles on a processors as a maximum."<first; +#ifndef NOMPI + MPI_Allreduce(MPI_IN_PLACE, &index_of_highest_mapped_particle, 1, MPI_LONG_LONG_INT, MPI_MAX, GADGET_WORLD); +#endif + ngb_treebuild(); /* will build tree */ + setup_smoothinglengths(); + TreeReconstructFlag = 1; + /* at this point, the entropy variable normally contains the + * internal energy, read in from the initial conditions file, unless the file + * explicitly signals that the initial conditions contain the entropy directly. + * Once the density has been computed, we can convert thermal energy to entropy. + */ +#ifndef ISOTHERM_EQS + if(All.ComovingIntegrationOn){a3 = All.Time * All.Time * All.Time;}else{a3 = 1;} + for(i = 0; i < N_gas; i++) + SphP[i].Entropy = GAMMA_MINUS1 * SphP[i].Entropy / pow(SphP[i].Density / a3, GAMMA_MINUS1); +#endif +#ifdef PMGRID + long_range_init_regionsize(); +#endif + if(All.ComovingIntegrationOn) + init_drift_table(); + t1 = second(); + CPUThisRun += timediff(t0, t1); + All.CPU_Total += timediff(t0, t1); + + particles_initialized = true; + if (ThisTask == 0){ + cout << flush; + } + return 0; +} + +void push_particle_data_on_state_vectors(){ + map::iterator iter; + int i; + double a_inv, a; +#ifndef ISOTHERM_EQS + double a3; + if(All.ComovingIntegrationOn){a3 = All.Time * All.Time * All.Time;}else{a3 = 1;} + if (!density_up_to_date){ + density(); + density_up_to_date = true; + } +#endif + if (All.ComovingIntegrationOn) { + a = All.Time; + a_inv = 1.0 / All.Time; + } else { + a = a_inv = 1; + } + for (iter = local_index_map.begin(); iter != local_index_map.end(); iter++){ + i = (*iter).second; + if (P[i].Type == 0){ + // store sph particle data + sph_state state; + state.mass = P[i].Mass; + state.x = P[i].Pos[0] * a; + state.y = P[i].Pos[1] * a; + state.z = P[i].Pos[2] * a; + state.vx = P[i].Vel[0] * a_inv; + state.vy = P[i].Vel[1] * a_inv; + state.vz = P[i].Vel[2] * a_inv; +#ifdef ISOTHERM_EQS + state.u = SphP[i].Entropy; +#else + state.u = SphP[i].Entropy * pow(SphP[i].Density / a3, GAMMA_MINUS1) / GAMMA_MINUS1; +#endif + +#ifdef MORRIS97VISC + state.alpha = SphP[i].Alpha; + state.dalphadt = SphP[i].DAlphaDt; +#endif + + + sph_states.insert(std::pair(P[i].ID, state)); + } else { + // store dark matter particle data + dynamics_state state; + state.mass = P[i].Mass; + state.x = P[i].Pos[0] * a; + state.y = P[i].Pos[1] * a; + state.z = P[i].Pos[2] * a; + state.vx = P[i].Vel[0] * a_inv; + state.vy = P[i].Vel[1] * a_inv; + state.vz = P[i].Vel[2] * a_inv; + dm_states.insert(std::pair(P[i].ID, state)); + } + } +} + +int recommit_particles(){ + if (particles_initialized){ + push_particle_data_on_state_vectors(); + free_memory(); + ngb_treefree(); + force_treefree(); + } + + return commit_particles(); +} + +bool drift_to_t_end(int ti_end){ + bool done; + int n, min, min_glob, flag, *temp; + double timeold; + double t0, t1; + t0 = second(); + timeold = All.Time; + for(n = 1, min = P[0].Ti_endstep; n < NumPart; n++){ + if(min > P[n].Ti_endstep){ + min = P[n].Ti_endstep; + } + } +#ifndef NOMPI + MPI_Allreduce(&min, &min_glob, 1, MPI_INT, MPI_MIN, GADGET_WORLD); +#else + min_glob = min; +#endif + /* We check whether this is a full step where all particles are synchronized */ + flag = 1; + for(n = 0; n < NumPart; n++) + if(P[n].Ti_endstep > min_glob) + flag = 0; +#ifndef NOMPI + MPI_Allreduce(&flag, &Flag_FullStep, 1, MPI_INT, MPI_MIN, GADGET_WORLD); +#else + Flag_FullStep = flag; +#endif +#ifdef PMGRID + if(min_glob >= All.PM_Ti_endstep){ + min_glob = All.PM_Ti_endstep; + Flag_FullStep = 1; + } +#endif + /* Determine 'NumForceUpdate', i.e. the number of particles on this processor that are going to be active */ + for(n = 0, NumForceUpdate = 0; n < NumPart; n++){ + if(P[n].Ti_endstep == min_glob) +#ifdef SELECTIVE_NO_GRAVITY + if(!((1 << P[n].Type) & (SELECTIVE_NO_GRAVITY))) +#endif + NumForceUpdate++; + } + /* note: NumForcesSinceLastDomainDecomp has type "long long" */ + temp = (int*) malloc(NTask * sizeof(int)); + +#ifndef NOMPI + MPI_Allgather(&NumForceUpdate, 1, MPI_INT, temp, 1, MPI_INT, GADGET_WORLD); +#else + temp[0] = NumForceUpdate; +#endif + for(n = 0; n < NTask; n++) + All.NumForcesSinceLastDomainDecomp += temp[n]; + free(temp); + t1 = second(); + All.CPU_Predict += timediff(t0, t1); + if (min_glob >= ti_end){ + min_glob = ti_end; + done = true; + } else { + done = false; + } + move_particles(All.Ti_Current, min_glob); + All.Ti_Current = min_glob; + if(All.ComovingIntegrationOn) + All.Time = All.TimeBegin * exp(All.Ti_Current * All.Timebase_interval); + else + All.Time = All.TimeBegin + All.Ti_Current * All.Timebase_interval; + All.TimeStep = All.Time - timeold; + return done; +} + +bool check_density_stopping_condition(){ + int stopping_condition_is_set; + double minimum_density_parameter, maximum_density_parameter; + get_stopping_condition_minimum_density_parameter(&minimum_density_parameter); + get_stopping_condition_maximum_density_parameter(&maximum_density_parameter); + for (int i=0; i maximum_density_parameter)) { + int stopping_index = next_index_for_stopping_condition(); + if (stopping_index >= 0) { + cout << "set_stopping_condition_info returned: " << + set_stopping_condition_info(stopping_index, DENSITY_LIMIT_DETECTION) << endl; + cout << "set_stopping_condition_particle_index returned: " << + set_stopping_condition_particle_index(stopping_index, 0, P[i].ID) << endl; + } + } + } + + mpi_collect_stopping_conditions(); + is_stopping_condition_set(DENSITY_LIMIT_DETECTION, &stopping_condition_is_set); + return stopping_condition_is_set; +} +bool check_internal_energy_stopping_condition(){ + int stopping_condition_is_set; + double internal_energy; + double minimum_internal_energy_parameter, maximum_internal_energy_parameter; + get_stopping_condition_minimum_internal_energy_parameter(&minimum_internal_energy_parameter); + get_stopping_condition_maximum_internal_energy_parameter(&maximum_internal_energy_parameter); + +#ifndef ISOTHERM_EQS + double a3; + if(All.ComovingIntegrationOn){a3 = All.Time * All.Time * All.Time;}else{a3 = 1;} +#endif + + for (int i=0; i maximum_internal_energy_parameter)) { + int stopping_index = next_index_for_stopping_condition(); + if (stopping_index > 0) { + cout << "set_stopping_condition_info returned: " << + set_stopping_condition_info(stopping_index, INTERNAL_ENERGY_LIMIT_DETECTION) << endl; + cout << "set_stopping_condition_particle_index returned: " << + set_stopping_condition_particle_index(stopping_index, 0, P[i].ID) << endl; + } + } + } + + mpi_collect_stopping_conditions(); + is_stopping_condition_set(INTERNAL_ENERGY_LIMIT_DETECTION, &stopping_condition_is_set); + return stopping_condition_is_set; +} + + +int evolve_model_generic(double t_end){ + bool done; + double t0, t1; + int Ti_end, stopflag = 0; + // AMUSE STOPPING CONDITIONS + int is_number_of_steps_detection_enabled; + int is_density_limit_detection_enabled; + int is_internal_energy_limit_detection_enabled; + int max_number_of_steps; + int number_of_steps_innerloop = 0; + + reset_stopping_conditions(); + is_stopping_condition_enabled(NUMBER_OF_STEPS_DETECTION, + &is_number_of_steps_detection_enabled); + is_stopping_condition_enabled(DENSITY_LIMIT_DETECTION, + &is_density_limit_detection_enabled); + is_stopping_condition_enabled(INTERNAL_ENERGY_LIMIT_DETECTION, + &is_internal_energy_limit_detection_enabled); + get_stopping_condition_number_of_steps_parameter(&max_number_of_steps); + + // ....... + + if (t_end > All.TimeMax) + return -7; + ZeroTimestepEncountered = 0; + if(All.ComovingIntegrationOn){ + Ti_end = log(t_end / All.TimeBegin) / All.Timebase_interval; + } else { + Ti_end = (t_end - All.TimeBegin) / All.Timebase_interval; + } + if (Ti_end >= All.Ti_Current){ + global_quantities_of_system_up_to_date = density_up_to_date = false; + done = drift_to_t_end(Ti_end); /* find next synchronization point and drift particles to MIN(this time, t_end). */ + while (!done && All.Ti_Current < TIMEBASE && All.Time <= All.TimeMax) { + t0 = second(); + every_timestep_stuff(); /* write some info to log-files */ + domain_Decomposition(); /* do domain decomposition if needed */ + particle_map_up_to_date = false; + compute_accelerations(0); /* compute accelerations for + * the particles that are to be advanced */ + + // AMUSE stopping conditions: density and internal energy check + // After compute_accelerations(), SPH particle densities are up to date + if (is_density_limit_detection_enabled) { + if (check_density_stopping_condition()) break; + } + if (is_internal_energy_limit_detection_enabled) { + if (check_internal_energy_stopping_condition()) break; + } + + /* check whether we want a full energy statistics */ + if((All.Time - All.TimeLastStatistics) >= All.TimeBetStatistics) { +#ifdef COMPUTE_POTENTIAL_ENERGY + compute_potential(); +#endif + energy_statistics(); /* compute and output energy statistics */ + All.TimeLastStatistics += All.TimeBetStatistics; + } + advance_and_find_timesteps(); /* 'kick' active particles in + * momentum space and compute new + * timesteps for them */ + done = drift_to_t_end(Ti_end); + All.NumCurrentTiStep++; + + /* Check whether we need to interrupt the run */ +#ifndef NOMPI + MPI_Allreduce(MPI_IN_PLACE, &ZeroTimestepEncountered, 1, MPI_INT, MPI_MAX, GADGET_WORLD); +#endif + if(ZeroTimestepEncountered) + return -8; + + if(ThisTask == 0) { + /* are we running out of CPU-time ? If yes, interrupt run. */ + if(CPUThisRun > 0.85 * All.TimeLimitCPU){ + printf("reaching time-limit. stopping.\n"); + stopflag = 2; + } + } +#ifndef NOMPI + MPI_Bcast(&stopflag, 1, MPI_INT, 0, GADGET_WORLD); +#endif + if(stopflag) + return -5; + + t1 = second(); + All.CPU_Total += timediff(t0, t1); + CPUThisRun += timediff(t0, t1); + // + if(is_number_of_steps_detection_enabled) { + number_of_steps_innerloop++; + if(number_of_steps_innerloop > max_number_of_steps) { + int stopping_index = next_index_for_stopping_condition(); + set_stopping_condition_info(stopping_index, NUMBER_OF_STEPS_DETECTION); + } + } + if (set_conditions & enabled_conditions) { + break; + } + } + } else { + return -6; + } + if (ThisTask == 0) + cout << flush; + if (All.Ti_Current > TIMEBASE || All.Time > All.TimeMax) + return -7; + return 0; +} +int evolve_to_redshift(double redshift){ + if (!All.ComovingIntegrationOn) {return -9;} + return evolve_model_generic(1.0 / (1.0 + redshift)); +} +int evolve_model(double t_end){ + if (All.ComovingIntegrationOn) {return -9;} + return evolve_model_generic(t_end); +} + +int synchronize_model() { + return 0; +} + +int construct_tree_if_needed(void){ + double tstart, tend; + if (!particles_initialized) + return -1; + tstart = second(); + if (TreeReconstructFlag){ + if(ThisTask == 0) + printf("Tree construction.\n"); + force_treebuild(NumPart); + TreeReconstructFlag = 0; + if(ThisTask == 0) + printf("Tree construction done.\n"); + } + tend = second(); + All.CPU_TreeConstruction += timediff(tstart, tend); + return 0; +} + +int new_dm_particle(int *id, double mass, double x, double y, double z, double vx, double vy, double vz){ + particle_id_counter++; + if (ThisTask == 0) + *id = particle_id_counter; + + // Divide the particles equally over all Tasks, Gadget will redistribute them later. + if (ThisTask == (dm_particles_in_buffer % NTask)){ + dynamics_state state; + state.mass = mass; + state.x = x; + state.y = y; + state.z = z; + state.vx = vx; + state.vy = vy; + state.vz = vz; + dm_states.insert(std::pair(particle_id_counter, state)); + } + dm_particles_in_buffer++; + return 0; +} + +int new_sph_particle(int *id, double mass, double x, double y, double z, double vx, double vy, double vz, double u){ + particle_id_counter++; + if (ThisTask == 0) + *id = particle_id_counter; + + // Divide the sph particles equally over all Tasks, Gadget will redistribute them later. + if (ThisTask == (sph_particles_in_buffer % NTask)){ + sph_state state; + state.mass = mass; + state.x = x; + state.y = y; + state.z = z; + state.vx = vx; + state.vy = vy; + state.vz = vz; + state.u = u; +#ifdef MORRIS97VISC + state.alpha = All.ArtBulkViscConst; + state.dalphadt = 0; +#endif + sph_states.insert(std::pair(particle_id_counter, state)); + } + sph_particles_in_buffer++; + return 0; +} + +int delete_particle(int id){ + int found = 0; + map::iterator it; + map::iterator dyn_it; + map::iterator sph_it; + + if (!particle_map_up_to_date) + update_particle_map(); + + it = local_index_map.find(id); + if (it != local_index_map.end()){ + local_index_map.erase(it); + found = 1 + P[(*it).second].Type; // 1 for sph; 2 for dm + } +#ifndef NOMPI + MPI_Allreduce(MPI_IN_PLACE, &found, 1, MPI_INT, MPI_MAX, GADGET_WORLD); +#endif + if (found){ + if (found == 2) + dm_particles_in_buffer--; + else + sph_particles_in_buffer--; + return 0; + } + + dyn_it = dm_states.find(id); + if (dyn_it != dm_states.end()){ + dm_states.erase(dyn_it); + found = 1; + } +#ifndef NOMPI + MPI_Allreduce(MPI_IN_PLACE, &found, 1, MPI_INT, MPI_LOR, GADGET_WORLD); +#endif + if (found){ + dm_particles_in_buffer--; + return 0; + } + + sph_it = sph_states.find(id); + if (sph_it != sph_states.end()){ + sph_states.erase(sph_it); + found = 1; + } +#ifndef NOMPI + MPI_Allreduce(MPI_IN_PLACE, &found, 1, MPI_INT, MPI_LOR, GADGET_WORLD); +#endif + if (found){ + sph_particles_in_buffer--; + return 0; + } + return -3; +} + +// parameter getters/setters: + +int get_time_step(double *timestep){ + if (ThisTask) {return 0;} + *timestep = All.TimeStep; + return 0; +} +int set_time_step(double timestep){ + if (ThisTask) {return 0;} + return -2; +} +int get_epsilon(double *epsilon){ + if (ThisTask) {return 0;} + set_softenings(); + *epsilon = All.SofteningTable[1]; + return 0; +} +int set_epsilon(double epsilon){ + All.SofteningHalo = epsilon; + set_softenings(); + return 0; +} +int get_eps2(double *epsilon_squared){ + if (ThisTask) {return 0;} + return -2; +} +int set_eps2(double epsilon_squared){ + if (ThisTask) {return 0;} + return -2; +} +int get_epsgas(double *gas_epsilon){ + if (ThisTask) {return 0;} + set_softenings(); + *gas_epsilon = All.SofteningTable[0]; + return 0; +} +int set_epsgas(double gas_epsilon){ + All.SofteningGas = gas_epsilon; + set_softenings(); + return 0; +} +int get_unit_mass(double *code_mass_unit){ + if (ThisTask) {return 0;} + *code_mass_unit = All.UnitMass_in_g; + return 0; +} +int set_unit_mass(double code_mass_unit){ + All.UnitMass_in_g = code_mass_unit; + return 0; +} +int get_unit_length(double *code_length_unit){ + if (ThisTask) {return 0;} + *code_length_unit = All.UnitLength_in_cm; + return 0; +} +int set_unit_length(double code_length_unit){ + All.UnitLength_in_cm = code_length_unit; + return 0; +} +int get_unit_time(double *code_time_unit){ + if (ThisTask) {return 0;} + *code_time_unit = All.UnitTime_in_s; + return 0; +} +int set_unit_time(double code_time_unit){ + All.UnitVelocity_in_cm_per_s = All.UnitLength_in_cm / code_time_unit; + All.UnitTime_in_s = code_time_unit; + return 0; +} +int get_unit_velocity(double *code_velocity_unit){ + if (ThisTask) {return 0;} + *code_velocity_unit = All.UnitVelocity_in_cm_per_s; + return 0; +} +int set_unit_velocity(double code_velocity_unit){ + All.UnitVelocity_in_cm_per_s = code_velocity_unit; + All.UnitTime_in_s = All.UnitLength_in_cm / All.UnitVelocity_in_cm_per_s; + return 0; +} + +int get_gadget_output_directory(char **output_directory){ + if (ThisTask) {return 0;} + *output_directory = All.OutputDir; + return 0; +} +int get_viscosity_switch(char **viscosity_switch){ + if (ThisTask) {return 0;} +#ifdef MONAGHAN83VISC + *viscosity_switch = (char *)"Monaghan & Gingold 1983"; +#elif MORRIS97VISC + *viscosity_switch = (char *)"Morris & Monaghan 1997"; +#else + *viscosity_switch = (char *)"standard Gadget2 viscosity"; +#endif + return 0; +} + +int set_gadget_output_directory(char *output_directory){ + int length = strlen(output_directory); + if (length >= MAXLEN_FILENAME) + return -1; + strcpy(All.OutputDir, output_directory); +#ifdef WIN32 + const char sep[] = "\\"; +#else + const char sep[] = "/"; +#endif // WIN32 + if(length > 0) { + if(All.OutputDir[length - 1] != sep[0]) { + strcat(All.OutputDir, sep); + } + } + return 0; +} +int get_nogravity(int *no_gravity_flag){ + if (ThisTask) {return 0;} +#ifdef NOGRAVITY + *no_gravity_flag = 1; +#else + *no_gravity_flag = 0; +#endif + return 0; +} +int get_gdgop(int *gadget_cell_opening_flag){ + if (ThisTask) {return 0;} + *gadget_cell_opening_flag = All.TypeOfOpeningCriterion; + return 0; +} +int set_gdgop(int gadget_cell_opening_flag){ + All.TypeOfOpeningCriterion = gadget_cell_opening_flag; + return 0; +} +int get_isotherm(int *isothermal_flag){ + if (ThisTask) {return 0;} +#ifdef ISOTHERM_EQS + *isothermal_flag = 1; +#else + *isothermal_flag = 0; +#endif + return 0; +} +int get_eps_is_h(int *eps_is_h_flag){ + if (ThisTask) {return 0;} +#if defined(ADAPTIVE_GRAVSOFT_FORGAS) && defined(UNEQUALSOFTENINGS) + *eps_is_h_flag = 1; +#else + *eps_is_h_flag = 0; +#endif + return 0; +} +int get_nsmooth(int *nsmooth){ + if (ThisTask) {return 0;} + *nsmooth = All.DesNumNgb; + return 0; +} +int set_nsmooth(int nsmooth){ + All.DesNumNgb = nsmooth; + return 0; +} +int get_bh_tol(double *opening_angle){ + if (ThisTask) {return 0;} + *opening_angle = All.ErrTolTheta; + return 0; +} +int set_bh_tol(double opening_angle){ + All.ErrTolTheta = opening_angle; + return 0; +} +int get_gdgtol(double *gadget_cell_opening_constant){ + if (ThisTask) {return 0;} + *gadget_cell_opening_constant = All.ErrTolForceAcc; + return 0; +} +int set_gdgtol(double gadget_cell_opening_constant){ + All.ErrTolForceAcc = gadget_cell_opening_constant; + return 0; +} +int get_gamma(double *gamma){ + if (ThisTask) {return 0;} + *gamma = GAMMA; + return 0; +} +int get_alpha(double *artificial_viscosity_alpha){ + if (ThisTask) {return 0;} + *artificial_viscosity_alpha = All.ArtBulkViscConst; + return 0; +} +int set_alpha(double artificial_viscosity_alpha){ + All.ArtBulkViscConst = artificial_viscosity_alpha; + return 0; +} +int get_beta(double *artificial_viscosity_beta){ + if (ThisTask) {return 0;} + *artificial_viscosity_beta = All.ArtBulkViscBeta; + return 0; +} +int set_beta(double artificial_viscosity_beta){ + All.ArtBulkViscBeta = artificial_viscosity_beta; + return 0; +} +int get_courant(double *courant){ + if (ThisTask) {return 0;} + *courant = All.CourantFac*2.0; + return 0; +} +int set_courant(double courant){ + All.CourantFac = courant/2.0; + return 0; +} +int get_nsmtol(double *n_neighbour_tol){ + if (ThisTask) {return 0;} + *n_neighbour_tol = All.MaxNumNgbDeviation / All.DesNumNgb; + return 0; +} +int set_nsmtol(double n_neighbour_tol){ + All.MaxNumNgbDeviation = n_neighbour_tol * All.DesNumNgb; + return 0; +} + +int get_energy_file(char **energy_file){ + if (ThisTask) {return 0;} + *energy_file = All.EnergyFile; + return 0; +} +int set_energy_file(char *energy_file){ + strcpy(All.EnergyFile, energy_file); + return 0; +} +int get_info_file(char **info_file){ + if (ThisTask) {return 0;} + *info_file = All.InfoFile; + return 0; +} +int set_info_file(char *info_file){ + strcpy(All.InfoFile, info_file); + return 0; +} +int get_timings_file(char **timings_file){ + if (ThisTask) {return 0;} + *timings_file = All.TimingsFile; + return 0; +} +int set_timings_file(char *timings_file){ + strcpy(All.TimingsFile, timings_file); + return 0; +} +int get_cpu_file(char **cpu_file){ + if (ThisTask) {return 0;} + *cpu_file = All.CpuFile; + return 0; +} +int set_cpu_file(char *cpu_file){ + strcpy(All.CpuFile, cpu_file); + return 0; +} + +int get_time_limit_cpu(double *time_limit_cpu){ + if (ThisTask) {return 0;} + *time_limit_cpu = All.TimeLimitCPU; + return 0; +} +int set_time_limit_cpu(double time_limit_cpu){ + All.TimeLimitCPU = time_limit_cpu; + return 0; +} +int get_comoving_integration_flag(bool *comoving_integration_flag){ + if (ThisTask) {return 0;} + *comoving_integration_flag = All.ComovingIntegrationOn; + return 0; +} +int set_comoving_integration_flag(bool comoving_integration_flag){ + All.ComovingIntegrationOn = comoving_integration_flag; + return 0; +} +int get_type_of_timestep_criterion(int *type_of_timestep_criterion){ + if (ThisTask) {return 0;} + *type_of_timestep_criterion = All.TypeOfTimestepCriterion; + return 0; +} +int set_type_of_timestep_criterion(int type_of_timestep_criterion){ + All.TypeOfTimestepCriterion = type_of_timestep_criterion; + return 0; +} +int get_begin_time(double *time_begin){ + if (ThisTask) {return 0;} + *time_begin = All.TimeBegin; + return 0; +} +int set_begin_time(double time_begin){ + All.TimeBegin = time_begin; + return 0; +} +int get_time_max(double *time_max){ + if (ThisTask) {return 0;} + *time_max = All.TimeMax; + return 0; +} +int set_time_max(double time_max){ + All.TimeMax = time_max; + return 0; +} +int get_redshift_begin(double *redshift_begin){ + if (ThisTask) {return 0;} + *redshift_begin = redshift_begin_parameter; + return 0; +} +int set_redshift_begin(double redshift_begin){ + redshift_begin_parameter = redshift_begin; + return 0; +} +int get_redshift_max(double *redshift_max){ + if (ThisTask) {return 0;} + *redshift_max = redshift_max_parameter; + return 0; +} +int set_redshift_max(double redshift_max){ + redshift_max_parameter = redshift_max; + return 0; +} +int get_omega_zero(double *omega_zero){ + if (ThisTask) {return 0;} + *omega_zero = All.Omega0; + return 0; +} +int set_omega_zero(double omega_zero){ + All.Omega0 = omega_zero; + return 0; +} +int get_omega_lambda(double *omega_lambda){ + if (ThisTask) {return 0;} + *omega_lambda = All.OmegaLambda; + return 0; +} +int set_omega_lambda(double omega_lambda){ + All.OmegaLambda = omega_lambda; + return 0; +} +int get_omega_baryon(double *omega_baryon){ + if (ThisTask) {return 0;} + *omega_baryon = All.OmegaBaryon; + return 0; +} +int set_omega_baryon(double omega_baryon){ + All.OmegaBaryon = omega_baryon; + return 0; +} +int get_hubble_param(double *hubble_param){ + if (ThisTask) {return 0;} + *hubble_param = All.HubbleParam; + return 0; +} +int set_hubble_param(double hubble_param){ + All.HubbleParam = hubble_param; + return 0; +} +int get_err_tol_int_accuracy(double *err_tol_int_accuracy){ + if (ThisTask) {return 0;} + *err_tol_int_accuracy = All.ErrTolIntAccuracy; + return 0; +} +int set_err_tol_int_accuracy(double err_tol_int_accuracy){ + All.ErrTolIntAccuracy = err_tol_int_accuracy; + return 0; +} +int get_max_size_timestep(double *max_size_timestep){ + if (ThisTask) {return 0;} + *max_size_timestep = All.MaxSizeTimestep; + return 0; +} +int set_max_size_timestep(double max_size_timestep){ + All.MaxSizeTimestep = max_size_timestep; + return 0; +} +int get_min_size_timestep(double *min_size_timestep){ + if (ThisTask) {return 0;} + *min_size_timestep = All.MinSizeTimestep; + return 0; +} +int set_min_size_timestep(double min_size_timestep){ + All.MinSizeTimestep = min_size_timestep; + return 0; +} +int get_tree_domain_update_frequency(double *tree_domain_update_frequency){ + if (ThisTask) {return 0;} + *tree_domain_update_frequency = All.TreeDomainUpdateFrequency; + return 0; +} +int set_tree_domain_update_frequency(double tree_domain_update_frequency){ + All.TreeDomainUpdateFrequency = tree_domain_update_frequency; + return 0; +} +int get_time_between_statistics(double *time_between_statistics){ + if (ThisTask) {return 0;} + *time_between_statistics = All.TimeBetStatistics; + return 0; +} +int set_time_between_statistics(double time_between_statistics){ + All.TimeBetStatistics = time_between_statistics; + return 0; +} +int get_min_gas_temp(double *min_gas_temp){ + if (ThisTask) {return 0;} + *min_gas_temp = All.MinGasTemp; + return 0; +} +int set_min_gas_temp(double min_gas_temp){ + All.MinGasTemp = min_gas_temp; + return 0; +} +int get_min_gas_hsmooth_fractional(double *min_gas_hsmooth_fractional){ + if (ThisTask) {return 0;} + *min_gas_hsmooth_fractional = All.MinGasHsmlFractional; + return 0; +} +int set_min_gas_hsmooth_fractional(double min_gas_hsmooth_fractional){ + All.MinGasHsmlFractional = min_gas_hsmooth_fractional; + return 0; +} +int get_softening_gas_max_phys(double *softening_gas_max_phys){ + if (ThisTask) {return 0;} + *softening_gas_max_phys = All.SofteningGasMaxPhys; + return 0; +} +int set_softening_gas_max_phys(double softening_gas_max_phys){ + All.SofteningGasMaxPhys = softening_gas_max_phys; + return 0; +} +int get_softening_halo_max_phys(double *softening_halo_max_phys){ + if (ThisTask) {return 0;} + *softening_halo_max_phys = All.SofteningHaloMaxPhys; + return 0; +} +int set_softening_halo_max_phys(double softening_halo_max_phys){ + All.SofteningHaloMaxPhys = softening_halo_max_phys; + return 0; +} + +int get_box_size(double *value) +{ + if (ThisTask) {return 0;} + *value = All.BoxSize; + return 0; +} + +int set_box_size(double value) +{ + All.BoxSize = value; + return 0; +} + +int get_periodic_boundaries_flag(bool *value) +{ + if (ThisTask) {return 0;} + *value = All.PeriodicBoundariesOn; + return 0; +} + +int set_periodic_boundaries_flag(bool value) +{ +// All.PeriodicBoundariesOn is read only because compile time determined + return -2; +} + +int get_interpret_kicks_as_feedback_flag(bool *value) +{ + if (ThisTask) {return 0;} + *value = interpret_kicks_as_feedback; + return 0; +} + +int set_interpret_kicks_as_feedback_flag(bool value) +{ + interpret_kicks_as_feedback = value; + return 0; +} + +int get_interpret_heat_as_feedback_flag(bool *value) { + if (ThisTask) {return 0;} + *value = interpret_heat_as_feedback; + return 0; +} + +int set_interpret_heat_as_feedback_flag(bool value) { + interpret_heat_as_feedback = value; + return 0; +} + + +// particle property getters/setters: (will only work after commit_particles() is called) + +int get_index_of_first_particle(int *index_of_the_particle){ + return get_index_of_next_particle(0, index_of_the_particle); +} +int get_index_of_next_particle(int index_of_the_particle, int *index_of_the_next_particle){ + map::iterator it; + long long next_local_index = 0; + + if (!particles_initialized) + return -1; + + if (!particle_map_up_to_date) + update_particle_map(); + + it = local_index_map.lower_bound(index_of_the_particle + 1); + if (it != local_index_map.end()){ + next_local_index = (*it).first; + } else { + next_local_index = index_of_highest_mapped_particle + 1; + } + + if (ThisTask == 0){ +#ifndef NOMPI + MPI_Reduce(MPI_IN_PLACE, &next_local_index, 1, MPI_LONG_LONG_INT, MPI_MIN, 0, GADGET_WORLD); +#endif + *index_of_the_next_particle = next_local_index; + if (next_local_index < index_of_highest_mapped_particle){ + return 0; + } else if (next_local_index == index_of_highest_mapped_particle){ + return 1; + } else { + return -1; + } + } else { +#ifndef NOMPI + MPI_Reduce(&next_local_index, NULL, 1, MPI_LONG_LONG_INT, MPI_MIN, 0, GADGET_WORLD); +#endif + return 0; + } +} + +void update_particle_map(void){ + local_index_map.clear(); + for(int i = 0; i < NumPart; i++) { + local_index_map.insert(std::pair(P[i].ID, i)); + } + particle_map_up_to_date = true; +} +int found_particle(int index_of_the_particle, int *local_index){ + map::iterator it; + + if (!particles_initialized || index_of_the_particle < 1 || + index_of_the_particle > index_of_highest_mapped_particle) + return 0; + + if (!particle_map_up_to_date) + update_particle_map(); + + it = local_index_map.find(index_of_the_particle); + if (it != local_index_map.end()){ + *local_index = (*it).second; + return 1; + } + return 0; +} + +int get_mass(int *index, double *mass, int length){ + int errors = 0; + double *buffer = new double[length]; + int *count = new int[length]; + int local_index; + + for (int i = 0; i < length; i++){ + if(found_particle(index[i], &local_index)){ + count[i] = 1; + buffer[i] = P[local_index].Mass; + } else { + count[i] = 0; + buffer[i] = 0; + } + } + if(ThisTask) { +#ifndef NOMPI + MPI_Reduce(buffer, NULL, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + } else { +#ifndef NOMPI + MPI_Reduce(MPI_IN_PLACE, buffer, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + for (int i = 0; i < length; i++){ + if (count[i] != 1){ + errors++; + mass[i] = 0; + } else + mass[i] = buffer[i]; + } + } + delete[] buffer; + delete[] count; + if (errors){ + cout << "Number of particles not found: " << errors << endl; + return -3; + } + return 0; +} + +int check_counts_and_free(int *count, int length){ + int errors = 0; + if(ThisTask) { +#ifndef NOMPI + MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + delete[] count; + return 0; + } else { +#ifndef NOMPI + MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + for (int i = 0; i < length; i++){ + if (count[i] != 1) + errors++; + } + } + delete[] count; + if (errors){ + cout << "Number of particles not found: " << errors << endl; + return -3; + } + return 0; +} + +int set_mass(int *index, double *mass, int length){ + int *count = new int[length]; + int local_index; + + for (int i = 0; i < length; i++){ + if(found_particle(index[i], &local_index)){ + P[local_index].Mass = mass[i]; + count[i] = 1; + } else count[i] = 0; + } + global_quantities_of_system_up_to_date = false; + return check_counts_and_free(count, length); +} + +int get_radius(int index, double *radius){ + return -2; +} + +int set_radius(int index, double radius){ + return -2; +} + +int get_position_comoving(int *index, double *x, double *y, double *z, int length){ + int errors = 0; + double *buffer = new double[length*3]; + int *count = new int[length]; + int local_index; +#ifdef PERIODIC + double boxSize = All.BoxSize; + double boxHalf = 0.5 * All.BoxSize; +#endif + + for (int i = 0; i < length; i++){ + if(found_particle(index[i], &local_index)){ + count[i] = 1; + buffer[i] = P[local_index].Pos[0]; + buffer[i+length] = P[local_index].Pos[1]; + buffer[i+2*length] = P[local_index].Pos[2]; + } else { + count[i] = 0; + buffer[i] = 0; + buffer[i+length] = 0; + buffer[i+2*length] = 0; + } + } + if(ThisTask) { +#ifndef NOMPI + MPI_Reduce(buffer, NULL, length*3, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + } else { +#ifndef NOMPI + MPI_Reduce(MPI_IN_PLACE, buffer, length*3, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif +#ifdef PERIODIC + for (int i = 0; i < 3*length; i++){ + if (buffer[i] > boxHalf){ + buffer[i] -= boxSize; + } + } +#endif + for (int i = 0; i < length; i++){ + if (count[i] != 1){ + errors++; + x[i] = 0; + y[i] = 0; + z[i] = 0; + } else { + x[i] = buffer[i]; + y[i] = buffer[i+length]; + z[i] = buffer[i+2*length]; + } + } + } + delete[] buffer; + delete[] count; + if (errors){ + cout << "Number of particles not found: " << errors << endl; + return -3; + } + return 0; +} +int get_position(int *index, double *x, double *y, double *z, int length){ + int result = get_position_comoving(index, x, y, z, length); + if(ThisTask == 0 && All.ComovingIntegrationOn) { + for (int i = 0; i < length; i++){ + x[i] *= All.Time; + y[i] *= All.Time; + z[i] *= All.Time; + } + } + return result; +} + +int set_position_comoving(int *index, double *x, double *y, double *z, int length){ + int *count = new int[length]; + int local_index; + + for (int i = 0; i < length; i++){ + if(found_particle(index[i], &local_index)){ + P[local_index].Pos[0] = x[i]; + P[local_index].Pos[1] = y[i]; + P[local_index].Pos[2] = z[i]; + count[i] = 1; + } else count[i] = 0; + } + global_quantities_of_system_up_to_date = false; + return check_counts_and_free(count, length); +} +int set_position(int *index, double *x, double *y, double *z, int length){ + if(All.ComovingIntegrationOn) { + double a_inv = 1.0 / All.Time; + for (int i = 0; i < length; i++){ + x[i] *= a_inv; + y[i] *= a_inv; + z[i] *= a_inv; + } + } + return set_position_comoving(index, x, y, z, length); +} + +int get_velocity_gadget_u(int *index, double *vx, double *vy, double *vz, int length){ + int errors = 0; + double *buffer = new double[length*3]; + int *count = new int[length]; + int local_index; + + for (int i = 0; i < length; i++){ + if(found_particle(index[i], &local_index)){ + count[i] = 1; + buffer[i] = P[local_index].Vel[0]; + buffer[i+length] = P[local_index].Vel[1]; + buffer[i+2*length] = P[local_index].Vel[2]; + } else { + count[i] = 0; + buffer[i] = 0; + buffer[i+length] = 0; + buffer[i+2*length] = 0; + } + } + if(ThisTask) { +#ifndef NOMPI + MPI_Reduce(buffer, NULL, length*3, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + } else { +#ifndef NOMPI + MPI_Reduce(MPI_IN_PLACE, buffer, length*3, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + for (int i = 0; i < length; i++){ + if (count[i] != 1){ + errors++; + vx[i] = 0; + vy[i] = 0; + vz[i] = 0; + } else { + vx[i] = buffer[i]; + vy[i] = buffer[i+length]; + vz[i] = buffer[i+2*length]; + } + } + } + delete[] buffer; + delete[] count; + if (errors){ + cout << "Number of particles not found: " << errors << endl; + return -3; + } + return 0; +} +int get_velocity_comoving(int *index, double *vx, double *vy, double *vz, int length){ + int result = get_velocity_gadget_u(index, vx, vy, vz, length); + if(ThisTask == 0 && All.ComovingIntegrationOn) { + double a2_inv = 1.0 / (All.Time * All.Time); + for (int i = 0; i < length; i++){ + vx[i] *= a2_inv; + vy[i] *= a2_inv; + vz[i] *= a2_inv; + } + } + return result; +} +int get_velocity(int *index, double *vx, double *vy, double *vz, int length){ + int result = get_velocity_gadget_u(index, vx, vy, vz, length); + if(ThisTask == 0 && All.ComovingIntegrationOn) { + double a_inv = 1.0 / All.Time; + for (int i = 0; i < length; i++){ + vx[i] *= a_inv; + vy[i] *= a_inv; + vz[i] *= a_inv; + } + } + return result; +} + +int set_velocity_gadget_u(int *index, double *vx, double *vy, double *vz, int length){ + int *count = new int[length]; + int local_index; + + for (int i = 0; i < length; i++){ + if(found_particle(index[i], &local_index)){ + P[local_index].Vel[0] = vx[i]; + P[local_index].Vel[1] = vy[i]; + P[local_index].Vel[2] = vz[i]; + count[i] = 1; +#ifdef TIMESTEP_UPDATE + if (interpret_kicks_as_feedback && P[local_index].Type == 0) { + SphP[local_index].FeedbackFlag = 2; + } +#endif +#ifdef TIMESTEP_LIMITER + if(interpret_kicks_as_feedback && P[local_index].Type == 0 && P[local_index].Ti_endstep != All.Ti_Current) { + make_it_active(local_index); + } +#endif + } else count[i] = 0; + } + global_quantities_of_system_up_to_date = false; + return check_counts_and_free(count, length); +} +int set_velocity_comoving(int *index, double *vx, double *vy, double *vz, int length){ + if(All.ComovingIntegrationOn) { + double a2 = All.Time * All.Time; + for (int i = 0; i < length; i++){ + vx[i] *= a2; + vy[i] *= a2; + vz[i] *= a2; + } + } + return set_velocity_gadget_u(index, vx, vy, vz, length); +} +int set_velocity(int *index, double *vx, double *vy, double *vz, int length){ + if(All.ComovingIntegrationOn) { + for (int i = 0; i < length; i++){ + vx[i] *= All.Time; + vy[i] *= All.Time; + vz[i] *= All.Time; + } + } + return set_velocity_gadget_u(index, vx, vy, vz, length); +} + +int get_state_gadget(int *index, double *mass, double *x, double *y, double *z, double *vx, double *vy, double *vz, int length) { + int errors = 0; + double *buffer = new double[length*7]; + int *count = new int[length]; + int local_index; +#ifdef PERIODIC + double boxSize = All.BoxSize; + double boxHalf = 0.5 * All.BoxSize; +#endif + + for (int i = 0; i < length; i++){ + if(found_particle(index[i], &local_index)){ + count[i] = 1; + buffer[i] = P[local_index].Mass; + buffer[i+length] = P[local_index].Pos[0]; + buffer[i+2*length] = P[local_index].Pos[1]; + buffer[i+3*length] = P[local_index].Pos[2]; + buffer[i+4*length] = P[local_index].Vel[0]; + buffer[i+5*length] = P[local_index].Vel[1]; + buffer[i+6*length] = P[local_index].Vel[2]; + } else { + count[i] = 0; + buffer[i] = 0; + buffer[i+length] = 0; + buffer[i+2*length] = 0; + buffer[i+3*length] = 0; + buffer[i+4*length] = 0; + buffer[i+5*length] = 0; + buffer[i+6*length] = 0; + } + } + if(ThisTask) { +#ifndef NOMPI + MPI_Reduce(buffer, NULL, length*7, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + } else { +#ifndef NOMPI + MPI_Reduce(MPI_IN_PLACE, buffer, length*7, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif +#ifdef PERIODIC + for (int i = length; i < 4*length; i++){ + if (buffer[i] > boxHalf){ + buffer[i] -= boxSize; + } + } +#endif + for (int i = 0; i < length; i++){ + if (count[i] != 1){ + errors++; + mass[i] = 0; + x[i] = 0; + y[i] = 0; + z[i] = 0; + vx[i] = 0; + vy[i] = 0; + vz[i] = 0; + } else { + mass[i] = buffer[i]; + x[i] = buffer[i+length]; + y[i] = buffer[i+2*length]; + z[i] = buffer[i+3*length]; + vx[i] = buffer[i+4*length]; + vy[i] = buffer[i+5*length]; + vz[i] = buffer[i+6*length]; + } + } + } + delete[] buffer; + delete[] count; + if (errors){ + cout << "Number of particles not found: " << errors << endl; + return -3; + } + return 0; +} +int get_state_comoving(int *index, double *mass, double *x, double *y, double *z, double *vx, double *vy, double *vz, int length) { + int result = get_state_gadget(index, mass, x, y, z, vx, vy, vz, length); + if(ThisTask == 0 && All.ComovingIntegrationOn) { + double a2_inv = 1.0 / (All.Time * All.Time); + for (int i = 0; i < length; i++){ + vx[i] *= a2_inv; + vy[i] *= a2_inv; + vz[i] *= a2_inv; + } + } + return result; +} +int get_state(int *index, double *mass, double *x, double *y, double *z, double *vx, double *vy, double *vz, int length) { + int result = get_state_gadget(index, mass, x, y, z, vx, vy, vz, length); + if(ThisTask == 0 && All.ComovingIntegrationOn) { + double a_inv = 1.0 / All.Time; + for (int i = 0; i < length; i++){ + x[i] *= All.Time; + y[i] *= All.Time; + z[i] *= All.Time; + vx[i] *= a_inv; + vy[i] *= a_inv; + vz[i] *= a_inv; + } + } + return result; +} + +int set_state_gadget(int *index, double *mass, double *x, double *y, double *z, double *vx, double *vy, double *vz, int length){ + int *count = new int[length]; + int local_index; + + for (int i = 0; i < length; i++){ + if(found_particle(index[i], &local_index)){ + P[local_index].Mass = mass[i]; + P[local_index].Pos[0] = x[i]; + P[local_index].Pos[1] = y[i]; + P[local_index].Pos[2] = z[i]; + P[local_index].Vel[0] = vx[i]; + P[local_index].Vel[1] = vy[i]; + P[local_index].Vel[2] = vz[i]; + count[i] = 1; +#ifdef TIMESTEP_UPDATE + if (interpret_kicks_as_feedback && P[local_index].Type == 0) { + SphP[local_index].FeedbackFlag = 2; + } +#endif +#ifdef TIMESTEP_LIMITER + if(interpret_kicks_as_feedback && P[local_index].Type == 0 && P[local_index].Ti_endstep != All.Ti_Current) { + make_it_active(local_index); + } +#endif + } else count[i] = 0; + } + global_quantities_of_system_up_to_date = false; + return check_counts_and_free(count, length); +} +int set_state_comoving(int *index, double *mass, double *x, double *y, double *z, double *vx, double *vy, double *vz, int length){ + if(All.ComovingIntegrationOn) { + double a2 = All.Time * All.Time; + for (int i = 0; i < length; i++){ + vx[i] *= a2; + vy[i] *= a2; + vz[i] *= a2; + } + } + return set_state_gadget(index, mass, x, y, z, vx, vy, vz, length); +} +int set_state(int *index, double *mass, double *x, double *y, double *z, double *vx, double *vy, double *vz, int length){ + if(All.ComovingIntegrationOn) { + double a_inv = 1.0 / All.Time; + for (int i = 0; i < length; i++){ + x[i] *= a_inv; + y[i] *= a_inv; + z[i] *= a_inv; + vx[i] *= All.Time; + vy[i] *= All.Time; + vz[i] *= All.Time; + } + } + return set_state_gadget(index, mass, x, y, z, vx, vy, vz, length); +} + +int get_state_sph_gadget(int *index, double *mass, double *x, double *y, double *z, double *vx, double *vy, double *vz, double *internal_energy, int length) { + int errors = 0; + double *buffer = new double[length*8]; + int *count = new int[length]; + int local_index; +#ifdef PERIODIC + double boxSize = All.BoxSize; + double boxHalf = 0.5 * All.BoxSize; +#endif +#ifndef ISOTHERM_EQS + double a3; + + if (!density_up_to_date){ + density(); + density_up_to_date = true; + } + if(All.ComovingIntegrationOn){a3 = All.Time * All.Time * All.Time;}else{a3 = 1;} +#endif + for (int i = 0; i < length; i++){ + if(found_particle(index[i], &local_index) && P[local_index].Type == 0){ + count[i] = 1; + buffer[i] = P[local_index].Mass; + buffer[i+length] = P[local_index].Pos[0]; + buffer[i+2*length] = P[local_index].Pos[1]; + buffer[i+3*length] = P[local_index].Pos[2]; + buffer[i+4*length] = P[local_index].Vel[0]; + buffer[i+5*length] = P[local_index].Vel[1]; + buffer[i+6*length] = P[local_index].Vel[2]; +#ifdef ISOTHERM_EQS + buffer[i+7*length] = SphP[local_index].Entropy; +#else + buffer[i+7*length] = SphP[local_index].Entropy * + pow(SphP[local_index].Density / a3, GAMMA_MINUS1) / GAMMA_MINUS1; +#endif + } else { + count[i] = 0; + buffer[i] = 0; + buffer[i+length] = 0; + buffer[i+2*length] = 0; + buffer[i+3*length] = 0; + buffer[i+4*length] = 0; + buffer[i+5*length] = 0; + buffer[i+6*length] = 0; + buffer[i+7*length] = 0; + } + } + if(ThisTask) { +#ifndef NOMPI + MPI_Reduce(buffer, NULL, length*8, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + } else { +#ifndef NOMPI + MPI_Reduce(MPI_IN_PLACE, buffer, length*8, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif +#ifdef PERIODIC + for (int i = length; i < 4*length; i++){ + if (buffer[i] > boxHalf){ + buffer[i] -= boxSize; + } + } +#endif + for (int i = 0; i < length; i++){ + if (count[i] != 1){ + errors++; + mass[i] = 0; + x[i] = 0; + y[i] = 0; + z[i] = 0; + vx[i] = 0; + vy[i] = 0; + vz[i] = 0; + internal_energy[i] = 0; + } else { + mass[i] = buffer[i]; + x[i] = buffer[i+length]; + y[i] = buffer[i+2*length]; + z[i] = buffer[i+3*length]; + vx[i] = buffer[i+4*length]; + vy[i] = buffer[i+5*length]; + vz[i] = buffer[i+6*length]; + internal_energy[i] = buffer[i+7*length]; + } + } + } + delete[] buffer; + delete[] count; + if (errors){ + cout << "Number of particles not found: " << errors << endl; + return -3; + } + return 0; +} +int get_state_sph(int *index, double *mass, double *x, double *y, double *z, double *vx, double *vy, double *vz, double *internal_energy, int length) { + int result = get_state_sph_gadget(index, mass, x, y, z, vx, vy, vz, internal_energy, length); + if(ThisTask == 0 && All.ComovingIntegrationOn) { + double a_inv = 1.0 / All.Time; + for (int i = 0; i < length; i++){ + x[i] *= All.Time; + y[i] *= All.Time; + z[i] *= All.Time; + vx[i] *= a_inv; + vy[i] *= a_inv; + vz[i] *= a_inv; + } + } + return result; +} + +int set_state_sph_gadget(int *index, double *mass, double *x, double *y, double *z, + double *vx, double *vy, double *vz, double *internal_energy, int length){ + int *count = new int[length]; + int local_index; +#ifndef ISOTHERM_EQS + double a3; + + if (!density_up_to_date){ + density(); + density_up_to_date = true; + } + if(All.ComovingIntegrationOn){a3 = All.Time * All.Time * All.Time;}else{a3 = 1;} +#endif + for (int i = 0; i < length; i++){ + if(found_particle(index[i], &local_index) && P[local_index].Type == 0){ + P[local_index].Mass = mass[i]; + P[local_index].Pos[0] = x[i]; + P[local_index].Pos[1] = y[i]; + P[local_index].Pos[2] = z[i]; + P[local_index].Vel[0] = vx[i]; + P[local_index].Vel[1] = vy[i]; + P[local_index].Vel[2] = vz[i]; +#ifdef ISOTHERM_EQS + SphP[local_index].Entropy = internal_energy[i]; +#else + SphP[local_index].Entropy = GAMMA_MINUS1 * internal_energy[i] / + pow(SphP[local_index].Density / a3, GAMMA_MINUS1); +#endif + count[i] = 1; +#ifdef TIMESTEP_UPDATE + if (interpret_heat_as_feedback || interpret_kicks_as_feedback) { + SphP[local_index].FeedbackFlag = 2; + } +#endif +#ifdef TIMESTEP_LIMITER + if ((interpret_heat_as_feedback || interpret_kicks_as_feedback) && + P[local_index].Ti_endstep != All.Ti_Current) { + make_it_active(local_index); + } +#endif + } else count[i] = 0; + } + global_quantities_of_system_up_to_date = false; + return check_counts_and_free(count, length); +} +int set_state_sph(int *index, double *mass, double *x, double *y, double *z, + double *vx, double *vy, double *vz, double *internal_energy, int length){ + if(All.ComovingIntegrationOn) { + double a_inv = 1.0 / All.Time; + for (int i = 0; i < length; i++){ + x[i] *= a_inv; + y[i] *= a_inv; + z[i] *= a_inv; + vx[i] *= All.Time; + vy[i] *= All.Time; + vz[i] *= All.Time; + } + } + return set_state_sph_gadget(index, mass, x, y, z, vx, vy, vz, internal_energy, length); +} + +int get_acceleration_comoving(int *index, double * ax, double * ay, double * az, int length){ + int errors = 0; + double *buffer = new double[length*3]; + int *count = new int[length]; + int local_index; + + for (int i = 0; i < length; i++){ + if(found_particle(index[i], &local_index)){ + count[i] = 1; + buffer[i] = P[local_index].GravAccel[0]; + buffer[i+length] = P[local_index].GravAccel[1]; + buffer[i+2*length] = P[local_index].GravAccel[2]; + if(P[local_index].Type == 0){ + buffer[i] += SphP[local_index].HydroAccel[0]; + buffer[i+length] += SphP[local_index].HydroAccel[1]; + buffer[i+2*length] += SphP[local_index].HydroAccel[2]; + } + } else { + count[i] = 0; + buffer[i] = 0; + buffer[i+length] = 0; + buffer[i+2*length] = 0; + } + } + if(ThisTask) { +#ifndef NOMPI + MPI_Reduce(buffer, NULL, length*3, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + } else { +#ifndef NOMPI + MPI_Reduce(MPI_IN_PLACE, buffer, length*3, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + for (int i = 0; i < length; i++){ + if (count[i] != 1){ + errors++; + ax[i] = 0; + ay[i] = 0; + az[i] = 0; + } else { + ax[i] = buffer[i]; + ay[i] = buffer[i+length]; + az[i] = buffer[i+2*length]; + } + } + } + delete[] buffer; + delete[] count; + if (errors){ + cout << "Number of particles not found: " << errors << endl; + return -3; + } + return 0; +} +int get_acceleration(int *index, double * ax, double * ay, double * az, int length){ + int result = get_acceleration_comoving(index, ax, ay, az, length); + if(ThisTask == 0 && All.ComovingIntegrationOn) { + for (int i = 0; i < length; i++){ + ax[i] *= All.Time; + ay[i] *= All.Time; + az[i] *= All.Time; + } + } + return result; +} + +int get_internal_energy(int *index, double *internal_energy, int length){ + int errors = 0; + double *buffer = new double[length]; + int *count = new int[length]; + int local_index; +#ifndef ISOTHERM_EQS + double a3; + + if(All.ComovingIntegrationOn){a3 = All.Time * All.Time * All.Time;}else{a3 = 1;} + if (!density_up_to_date){ + density(); + density_up_to_date = true; + } +#endif + for (int i = 0; i < length; i++){ + if(found_particle(index[i], &local_index) && P[local_index].Type == 0){ + count[i] = 1; +#ifdef ISOTHERM_EQS + buffer[i] = SphP[local_index].Entropy; +#else + buffer[i] = SphP[local_index].Entropy * + pow(SphP[local_index].Density / a3, GAMMA_MINUS1) / GAMMA_MINUS1; +#endif + } else { + count[i] = 0; + buffer[i] = 0; + } + } + if(ThisTask) { +#ifndef NOMPI + MPI_Reduce(buffer, NULL, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + } else { +#ifndef NOMPI + MPI_Reduce(MPI_IN_PLACE, buffer, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + for (int i = 0; i < length; i++){ + if (count[i] != 1){ + errors++; + internal_energy[i] = 0; + } else + internal_energy[i] = buffer[i]; + } + } + delete[] buffer; + delete[] count; + if (errors){ + cout << "Number of particles not found: " << errors << endl; + return -3; + } + return 0; +} + +int set_internal_energy(int *index, double *internal_energy, int length){ + int *count = new int[length]; + int local_index; +#ifndef ISOTHERM_EQS + double a3; + + if(All.ComovingIntegrationOn){a3 = All.Time * All.Time * All.Time;}else{a3 = 1;} + if (!density_up_to_date){ + density(); + density_up_to_date = true; + } +#endif + for (int i = 0; i < length; i++){ + if(found_particle(index[i], &local_index) && P[local_index].Type == 0){ +#ifdef ISOTHERM_EQS + SphP[local_index].Entropy = internal_energy[i]; +#else + SphP[local_index].Entropy = GAMMA_MINUS1 * internal_energy[i] / + pow(SphP[local_index].Density / a3, GAMMA_MINUS1); +#endif + count[i] = 1; +#ifdef TIMESTEP_UPDATE + if (interpret_heat_as_feedback) { + SphP[local_index].FeedbackFlag = 2; + } +#endif +#ifdef TIMESTEP_LIMITER + if(interpret_heat_as_feedback && P[local_index].Ti_endstep != All.Ti_Current) { + make_it_active(local_index); + } +#endif + } else count[i] = 0; + } + global_quantities_of_system_up_to_date = false; + return check_counts_and_free(count, length); +} + +int get_smoothing_length_comoving(int *index, double *smoothing_length, int length){ + int errors = 0; + double *buffer = new double[length]; + int *count = new int[length]; + int local_index; + + if (!density_up_to_date){ + density(); + density_up_to_date = true; + } + + for (int i = 0; i < length; i++){ + if(found_particle(index[i], &local_index) && P[local_index].Type == 0){ + count[i] = 1; + buffer[i] = SphP[local_index].Hsml; + } else { + count[i] = 0; + buffer[i] = 0; + } + } + if(ThisTask) { +#ifndef NOMPI + MPI_Reduce(buffer, NULL, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + } else { +#ifndef NOMPI + MPI_Reduce(MPI_IN_PLACE, buffer, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + for (int i = 0; i < length; i++){ + if (count[i] != 1){ + errors++; + smoothing_length[i] = 0; + } else + smoothing_length[i] = buffer[i]; + } + } + delete[] buffer; + delete[] count; + if (errors){ + cout << "Number of particles not found: " << errors << endl; + return -3; + } + return 0; +} +int get_smoothing_length(int *index, double *smoothing_length, int length){ + int result = get_smoothing_length_comoving(index, smoothing_length, length); + if(ThisTask == 0 && All.ComovingIntegrationOn) { + for (int i = 0; i < length; i++){ + smoothing_length[i] *= All.Time; + } + } + return result; +} + + +int get_alpha_visc(int *index, double *alpha_visc, int length){ + int errors = 0; + double *buffer = new double[length]; + int *count = new int[length]; + int local_index; + + for (int i = 0; i < length; i++){ + if(found_particle(index[i], &local_index) && P[local_index].Type == 0){ + count[i] = 1; +#ifdef MORRIS97VISC + buffer[i] = SphP[local_index].Alpha; +#else + buffer[i] = All.ArtBulkViscConst; +#endif + } else { + count[i] = 0; + buffer[i] = 0; + } + } + if(ThisTask) { +#ifndef NOMPI + MPI_Reduce(buffer, NULL, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + } else { +#ifndef NOMPI + MPI_Reduce(MPI_IN_PLACE, buffer, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + for (int i = 0; i < length; i++){ + if (count[i] != 1){ + errors++; + alpha_visc[i] = 0; + } else + alpha_visc[i] = buffer[i]; + } + } + delete[] buffer; + delete[] count; + if (errors){ + cout << "Number of particles not found: " << errors << endl; + return -3; + } + return 0; +} + +int get_dalphadt_visc(int *index, double *dalphadt_visc, int length){ + int errors = 0; + double *buffer = new double[length]; + int *count = new int[length]; + int local_index; + + for (int i = 0; i < length; i++){ + if(found_particle(index[i], &local_index) && P[local_index].Type == 0){ + count[i] = 1; +#ifdef MORRIS97VISC + buffer[i] = SphP[local_index].DAlphaDt; +#else + buffer[i] = 0; +#endif + } else { + count[i] = 0; + buffer[i] = 0; + } + } + if(ThisTask) { +#ifndef NOMPI + MPI_Reduce(buffer, NULL, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + } else { +#ifndef NOMPI + MPI_Reduce(MPI_IN_PLACE, buffer, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + for (int i = 0; i < length; i++){ + if (count[i] != 1){ + errors++; + dalphadt_visc[i] = 0; + } else + dalphadt_visc[i] = buffer[i]; + } + } + delete[] buffer; + delete[] count; + if (errors){ + cout << "Number of particles not found: " << errors << endl; + return -3; + } + return 0; +} + + + + +int get_density_comoving(int *index, double *density_out, int length){ + int errors = 0; + double *buffer = new double[length]; + int *count = new int[length]; + int local_index; + double a3; + + if(All.ComovingIntegrationOn){a3 = All.Time * All.Time * All.Time;}else{a3 = 1;} + if (!density_up_to_date){ + density(); + density_up_to_date = true; + } + + for (int i = 0; i < length; i++){ + if(found_particle(index[i], &local_index) && P[local_index].Type == 0){ + count[i] = 1; + buffer[i] = SphP[local_index].Density / a3; + } else { + count[i] = 0; + buffer[i] = 0; + } + } + if(ThisTask) { +#ifndef NOMPI + MPI_Reduce(buffer, NULL, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + } else { +#ifndef NOMPI + MPI_Reduce(MPI_IN_PLACE, buffer, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + for (int i = 0; i < length; i++){ + if (count[i] != 1){ + errors++; + density_out[i] = 0; + } else + density_out[i] = buffer[i]; + } + } + delete[] buffer; + delete[] count; + if (errors){ + cout << "Number of particles not found: " << errors << endl; + return -3; + } + return 0; +} +int get_density(int *index, double *density_out, int length){ + int result = get_density_comoving(index, density_out, length); + if(ThisTask == 0 && All.ComovingIntegrationOn) { + double a3_inv = 1.0 / (All.Time * All.Time * All.Time); + for (int i = 0; i < length; i++){ + density_out[i] *= a3_inv; + } + } + return result; +} + +int get_pressure_comoving(int *index, double *pressure_out, int length){ + int errors = 0; + double *buffer = new double[length]; + int *count = new int[length]; + int local_index; + double a; + + if(All.ComovingIntegrationOn){a = All.Time;}else{a = 1;} + if (!density_up_to_date){ + density(); + density_up_to_date = true; + } + + for (int i = 0; i < length; i++){ + if(found_particle(index[i], &local_index) && P[local_index].Type == 0){ + count[i] = 1; + buffer[i] = SphP[local_index].Pressure / a; + } else { + count[i] = 0; + buffer[i] = 0; + } + } + if(ThisTask) { +#ifndef NOMPI + MPI_Reduce(buffer, NULL, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + } else { +#ifndef NOMPI + MPI_Reduce(MPI_IN_PLACE, buffer, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + for (int i = 0; i < length; i++){ + if (count[i] != 1){ + errors++; + pressure_out[i] = 0; + } else + pressure_out[i] = buffer[i]; + } + } + delete[] buffer; + delete[] count; + if (errors){ + cout << "Number of particles not found: " << errors << endl; + return -3; + } + return 0; +} +int get_pressure(int *index, double *pressure_out, int length){ + int result = get_pressure_comoving(index, pressure_out, length); + if(ThisTask == 0 && All.ComovingIntegrationOn) { + double a_inv = 1.0 / All.Time; + for (int i = 0; i < length; i++){ + pressure_out[i] *= a_inv; + } + } + return result; +} + +int get_d_internal_energy_dt(int *index, double *d_internal_energy_dt_out, int length){ + int errors = 0; + double *buffer = new double[length]; + int *count = new int[length]; + int local_index; + + double hubble; + if (All.ComovingIntegrationOn){ + hubble = All.Hubble * sqrt(All.Omega0 / (All.Time * All.Time * All.Time) + + (1 - All.Omega0 - All.OmegaLambda) / (All.Time * All.Time) + All.OmegaLambda); + } else { + hubble = 1; + } + +#ifndef ISOTHERM_EQS + //~double a3; + //~if(All.ComovingIntegrationOn){a3 = All.Time * All.Time * All.Time;}else{a3 = 1;} + if (!density_up_to_date){ + density(); + density_up_to_date = true; + } +#endif + for (int i = 0; i < length; i++){ + if(found_particle(index[i], &local_index) && P[local_index].Type == 0){ + count[i] = 1; +#ifdef ISOTHERM_EQS + buffer[i] = SphP[local_index].DtEntropy * hubble; +#else + buffer[i] = - SphP[local_index].Pressure * SphP[local_index].DivVel / + SphP[local_index].Density * hubble; +#endif + } else { + count[i] = 0; + buffer[i] = 0; + } + } + if(ThisTask) { +#ifndef NOMPI + MPI_Reduce(buffer, NULL, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + } else { +#ifndef NOMPI + MPI_Reduce(MPI_IN_PLACE, buffer, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + for (int i = 0; i < length; i++){ + if (count[i] != 1){ + errors++; + d_internal_energy_dt_out[i] = 0; + } else + d_internal_energy_dt_out[i] = buffer[i]; + } + } + delete[] buffer; + delete[] count; + if (errors){ + cout << "Number of particles not found: " << errors << endl; + return -3; + } + return 0; +} + +int get_n_neighbours(int *index, double *n_neighbours, int length){ + int errors = 0; + double *buffer = new double[length]; + int *count = new int[length]; + int local_index; + + if (!density_up_to_date){ + density(); + density_up_to_date = true; + } + + for (int i = 0; i < length; i++){ + if(found_particle(index[i], &local_index) && P[local_index].Type == 0){ + count[i] = 1; + buffer[i] = SphP[local_index].NumNgb; + } else { + count[i] = 0; + buffer[i] = 0; + } + } + if(ThisTask) { +#ifndef NOMPI + MPI_Reduce(buffer, NULL, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + } else { +#ifndef NOMPI + MPI_Reduce(MPI_IN_PLACE, buffer, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + for (int i = 0; i < length; i++){ + if (count[i] != 1){ + errors++; + n_neighbours[i] = 0; + } else + n_neighbours[i] = buffer[i]; + } + } + delete[] buffer; + delete[] count; + if (errors){ + cout << "Number of particles not found: " << errors << endl; + return -3; + } + return 0; +} +int get_epsilon_dm_part(int *index, double *epsilon, int length){ + set_softenings(); + if (ThisTask) {return 0;} + double a; + if (All.ComovingIntegrationOn) {a = All.Time;} else {a = 1;} + for (int i = 0; i < length; i++){ + epsilon[i] = a * All.SofteningTable[1]; + } + return 0; +} +int get_epsilon_gas_part(int *index, double *epsilon, int length){ +#if defined(ADAPTIVE_GRAVSOFT_FORGAS) && defined(UNEQUALSOFTENINGS) + return get_smoothing_length(index, epsilon, length); +#else + set_softenings(); + if (ThisTask) {return 0;} + double a; + if (All.ComovingIntegrationOn) {a = All.Time;} else {a = 1;} + for (int i = 0; i < length; i++){ + epsilon[i] = a * All.SofteningTable[0]; + } + return 0; +#endif +} + + + +// simulation property getters: + +void update_global_quantities(bool do_potential){ + if (do_potential) { + compute_potential(); + potential_energy_also_up_to_date = true; + } else {potential_energy_also_up_to_date = false;} + compute_global_quantities_of_system(); + global_quantities_of_system_up_to_date = true; +} +int get_time(double *time){ + if (ThisTask) {return 0;} + if (All.ComovingIntegrationOn) {return -9;} + *time = All.Time; + return 0; +} + + +int get_redshift(double *redshift){ + if (ThisTask) {return 0;} + if (!All.ComovingIntegrationOn) {return -9;} + *redshift = 1.0 / All.Time - 1.0; + return 0; +} +int get_total_radius(double *radius){ + double r_squared, local_max = 0; + int i, j; + + if (!global_quantities_of_system_up_to_date) + update_global_quantities(false); + for (i = 0; i < NumPart; i++){ + for (r_squared = 0, j = 0; j < 3; j++) + r_squared += (SysState.CenterOfMass[j]-P[i].Pos[j])*(SysState.CenterOfMass[j]-P[i].Pos[j]); + if (r_squared > local_max) + local_max = r_squared; + } + + if(ThisTask) { +#ifndef NOMPI + MPI_Reduce(&local_max, NULL, 1, MPI_DOUBLE, MPI_MAX, 0, GADGET_WORLD); +#endif + } else { +#ifndef NOMPI + MPI_Reduce(MPI_IN_PLACE, &local_max, 1, MPI_DOUBLE, MPI_MAX, 0, GADGET_WORLD); +#endif + if (All.ComovingIntegrationOn){ + *radius = All.Time * sqrt(local_max); + } else { + *radius = sqrt(local_max); + } + } + return 0; +} + +int get_total_mass(double *mass){ + if (!global_quantities_of_system_up_to_date) + update_global_quantities(false); + if (ThisTask) {return 0;} + *mass = SysState.Mass; + return 0; +} + +int get_potential(int *index, double *potential, int length) { + int errors = 0; + double *buffer = new double[length]; + int *count = new int[length]; + int local_index; + + if (!potential_energy_also_up_to_date) { + compute_potential(); + potential_energy_also_up_to_date = true; + } + + for (int i = 0; i < length; i++) { + if (found_particle(index[i], &local_index)) { + count[i] = 1; + buffer[i] = P[local_index].Potential; + } else { + count[i] = 0; + buffer[i] = 0; + } + } + + if (ThisTask) { +#ifndef NOMPI + MPI_Reduce(buffer, NULL, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(count, NULL, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + } else { +#ifndef NOMPI + MPI_Reduce(MPI_IN_PLACE, buffer, length, MPI_DOUBLE, MPI_SUM, 0, GADGET_WORLD); + MPI_Reduce(MPI_IN_PLACE, count, length, MPI_INT, MPI_SUM, 0, GADGET_WORLD); +#endif + double a2; + if (All.ComovingIntegrationOn) {a2 = All.Time * All.Time;} else {a2 = 1;} + for (int i = 0; i < length; i++) { + if (count[i] != 1){ + errors++; + potential[i] = 0; + } else { + potential[i] = a2 * buffer[i]; + } + } + } + delete[] buffer; + delete[] count; + if (errors) { + cout << "Number of particles not found: " << errors << endl; + return -3; + } + return 0; +} + +int get_kinetic_energy(double *kinetic_energy){ + if (!global_quantities_of_system_up_to_date) + update_global_quantities(false); + if (ThisTask) {return 0;} + *kinetic_energy = SysState.EnergyKin; + return 0; +} +int get_potential_energy(double *potential_energy){ + if (!(global_quantities_of_system_up_to_date && potential_energy_also_up_to_date)) + update_global_quantities(true); + if (ThisTask) {return 0;} + *potential_energy = SysState.EnergyPot; + return 0; +} +int get_thermal_energy(double *thermal_energy){ + if (!global_quantities_of_system_up_to_date) + update_global_quantities(false); + if (ThisTask) {return 0;} + *thermal_energy = SysState.EnergyInt; + return 0; +} +int get_number_of_particles(int *number_of_particles){ + if (ThisTask) {return 0;} + *number_of_particles = All.TotNumPart; + return 0; +} +int get_center_of_mass_position(double *x, double *y, double *z){ +#ifdef PERIODIC + return -2; +#endif + if (!global_quantities_of_system_up_to_date) + update_global_quantities(false); + if (ThisTask) {return 0;} + double a; + if (All.ComovingIntegrationOn) {a = All.Time;} else {a = 1;} + *x = a * SysState.CenterOfMass[0]; + *y = a * SysState.CenterOfMass[1]; + *z = a * SysState.CenterOfMass[2]; + return 0; +} +int get_center_of_mass_velocity(double * vx, double * vy, double * vz){ + if (!global_quantities_of_system_up_to_date) + update_global_quantities(false); + if (ThisTask) {return 0;} + double a_inv; + if (All.ComovingIntegrationOn) {a_inv = 1.0 / All.Time;} else {a_inv = 1;} + *vx = a_inv * SysState.Momentum[0]/SysState.Mass; + *vy = a_inv * SysState.Momentum[1]/SysState.Mass; + *vz = a_inv * SysState.Momentum[2]/SysState.Mass; + return 0; +} +int get_gravity_at_point(double eps, double x, double y, double z, double *forcex, double *forcey, double *forcez){ + return -2; +} +int get_potential_at_point(double eps, double x, double y, double z, double * phi){ + return -2; +} +int get_hydro_state_at_point(double x, double y, double z, double vx, double vy, double vz, + double * rho, double * rhovx, double * rhovy, double * rhovz, double * rhoe){ + FLOAT pos[3], vel[3]; + FLOAT h_out, ngb_out, dhsml_out, rho_out, rhov_out[3], rhov2_out, rhoe_out; + int error; + double a, a_inv, a3_inv, a4_inv, a5_inv; + if (All.ComovingIntegrationOn) { + a = All.Time; + a_inv = 1.0 / All.Time; + a3_inv = a_inv * a_inv * a_inv; + a4_inv = a3_inv * a_inv; + a5_inv = a4_inv * a_inv; + } else { + a = a_inv = a3_inv = a4_inv = a5_inv = 1; + } + + error = construct_tree_if_needed(); + if (error) {return error;} + + pos[0] = a_inv * x; + pos[1] = a_inv * y; + pos[2] = a_inv * z; +#ifdef PERIODIC + for (int i = 0; i < 3; i++){ + if (pos[i] < 0.0){ + pos[i] += All.BoxSize; + } + } +#endif + vel[0] = a * vx; + vel[1] = a * vy; + vel[2] = a * vz; + hydro_state_at_point(pos, vel, &h_out, &ngb_out, &dhsml_out, &rho_out, rhov_out, &rhov2_out, &rhoe_out); + if (ThisTask) {return 0;} + *rho = rho_out * a3_inv; + *rhovx = rhov_out[0] * a4_inv; + *rhovy = rhov_out[1] * a4_inv; + *rhovz = rhov_out[2] * a4_inv; +#ifdef ISOTHERM_EQS + *rhoe = a3_inv * rhoe_out + a5_inv * 0.5*(rhov_out[0]*rhov_out[0] + rhov_out[1]*rhov_out[1] + rhov_out[2]*rhov_out[2]) / rho_out; +#else + *rhoe = a3_inv * rhoe_out * (pow(rho_out * a3_inv, GAMMA_MINUS1) / GAMMA_MINUS1) + a5_inv * 0.5*rhov2_out; +#endif + return 0; +} diff --git a/src/amuse/community/gadget2/interface.h b/src/amuse_gadget2/interface.h similarity index 100% rename from src/amuse/community/gadget2/interface.h rename to src/amuse_gadget2/interface.h diff --git a/src/amuse_gadget2/interface.py b/src/amuse_gadget2/interface.py new file mode 100644 index 0000000000..584a6b277f --- /dev/null +++ b/src/amuse_gadget2/interface.py @@ -0,0 +1,2570 @@ +import os +import numpy + +from amuse.community.interface.gd import GravitationalDynamicsInterface +from amuse.community.interface.gd import GravitationalDynamics +from amuse.community.interface.gd import SinglePointGravityFieldInterface +from amuse.community.interface.gd import GravityFieldCode +from amuse.community import * +from amuse.support.options import option + +class Gadget2Interface( + CodeInterface, + GravitationalDynamicsInterface, + LiteratureReferencesMixIn, + StoppingConditionInterface, + SinglePointGravityFieldInterface, + CodeWithDataDirectories + ): + """ + GADGET-2 computes gravitational forces with a hierarchical tree + algorithm (optionally in combination with a particle-mesh + scheme for long-range gravitational forces, currently not + supported from the AMUSE interface) and represents fluids by + means of smoothed particle hydrodynamics (SPH). The code can + be used for studies of isolated systems, or for simulations + that include the cosmological expansion of space, both with + or without periodic boundary conditions. In all these types + of simulations, GADGET follows the evolution of a self- + gravitating collisionless N-body system, and allows gas + dynamics to be optionally included. Both the force computation + and the time stepping of GADGET are fully adaptive, with a + dynamic range which is, in principle, unlimited. + + The relevant references are: + .. [#] ADS:2005MNRAS.364.1105S (Springel V., 2005, MNRAS, 364, 1105 (GADGET-2)) + .. [#] ADS:2001NewA....6...79S (Springel V., Yoshida N., White S. D. M., 2001, New Astronomy, 6, 51 (GADGET-1)) + .. [#] ADS:2012MNRAS.419..465D (Durier F., Dalla Vecchia C., 2012, MNRAS (Time integration scheme fix)) + """ + include_headers = ['interface.h', 'gadget2_worker.h', 'stopcond.h'] + + MODE_NORMAL = 'normal' + MODE_PERIODIC_BOUNDARIES = 'periodic' + MODE_PERIODIC_NOGRAVITY = 'periodic_nogravity' + MODE_NOGRAVITY = 'nogravity' + + def __init__(self, mode = MODE_NORMAL, **options): + CodeInterface.__init__(self, name_of_the_worker = self.name_of_the_worker(mode), **options) + LiteratureReferencesMixIn.__init__(self) + CodeWithDataDirectories.__init__(self) + + def name_of_the_worker(self, mode): + return f'gadget2_{mode}_worker' + + @legacy_function + def new_dm_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT) + for x in ['mass','x','y','z','vx','vy','vz']: + function.addParameter(x, dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + def new_particle(self, mass, x, y, z, vx, vy, vz): + return self.new_dm_particle(mass, x, y, z, vx, vy, vz) + + @legacy_function + def new_sph_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT) + for x in ['mass','x','y','z','vx','vy','vz','u']: + function.addParameter(x, dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_state(): + """ + Retrieve the current state of a particle. The *minimal* information of a stellar + dynamics particle (mass, position and velocity) is returned. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to get the state from. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('mass', dtype='float64', direction=function.OUT, description = "The current mass of the particle") + function.addParameter('x', dtype='float64', direction=function.OUT, description = "The current position vector of the particle") + function.addParameter('y', dtype='float64', direction=function.OUT, description = "The current position vector of the particle") + function.addParameter('z', dtype='float64', direction=function.OUT, description = "The current position vector of the particle") + function.addParameter('vx', dtype='float64', direction=function.OUT, description = "The current velocity vector of the particle") + function.addParameter('vy', dtype='float64', direction=function.OUT, description = "The current velocity vector of the particle") + function.addParameter('vz', dtype='float64', direction=function.OUT, description = "The current velocity vector of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found in the model and the information was retrieved + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def get_potential(): + """ + Retrieve the current potential of a particle. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to get the potential from. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('Potential', dtype='float64', direction=function.OUT, description = "The current potential of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found in the model and the information was retrieved + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def set_state(): + """ + Update the current state of a particle. The *minimal* information of a stellar + dynamics particle (mass, position and velocity) is updated. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle for which the state is to be updated. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('mass', dtype='float64', direction=function.IN, description = "The new mass of the particle") + function.addParameter('x', dtype='float64', direction=function.IN, description = "The new position vector of the particle") + function.addParameter('y', dtype='float64', direction=function.IN, description = "The new position vector of the particle") + function.addParameter('z', dtype='float64', direction=function.IN, description = "The new position vector of the particle") + function.addParameter('vx', dtype='float64', direction=function.IN, description = "The new velocity vector of the particle") + function.addParameter('vy', dtype='float64', direction=function.IN, description = "The new velocity vector of the particle") + function.addParameter('vz', dtype='float64', direction=function.IN, description = "The new velocity vector of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found in the model and the information was set + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def get_mass(): + """ + Retrieve the mass of a particle. Mass is a scalar property of a particle, + this function has one OUT argument. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to get the state from. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('mass', dtype='float64', direction=function.OUT, description = "The current mass of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was removed from the model + -1 - ERROR + particle could not be found + """ + return function + @legacy_function + def set_mass(): + """ + Update the mass of a particle. Mass is a scalar property of a particle. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle for which the state is to be updated. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('mass', dtype='float64', direction=function.IN, description = "The new mass of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found in the model and the information was set + -1 - ERROR + particle could not be found + -2 - ERROR + code does not support updating of a particle + """ + return function + @legacy_function + def get_position(): + """ + Retrieve the position vector of a particle. Position is a vector property, + this function has 3 OUT arguments. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to get the state from. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('x', dtype='float64', direction=function.OUT, description = "The current position vector of the particle") + function.addParameter('y', dtype='float64', direction=function.OUT, description = "The current position vector of the particle") + function.addParameter('z', dtype='float64', direction=function.OUT, description = "The current position vector of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + current value was retrieved + -1 - ERROR + particle could not be found + -2 - ERROR + not yet implemented + """ + return function + @legacy_function + def set_position(): + """ + Update the position of a particle. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle for which the state is to be updated. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('x', dtype='float64', direction=function.IN, description = "The new position vector of the particle") + function.addParameter('y', dtype='float64', direction=function.IN, description = "The new position vector of the particle") + function.addParameter('z', dtype='float64', direction=function.IN, description = "The new position vector of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found in the model and the information was set + -1 - ERROR + particle could not be found + -2 - ERROR + code does not support updating of a particle + """ + return function + @legacy_function + def get_velocity(): + """ + Retrieve the velocity vector of a particle. Position is a vector property, + this function has 3 OUT arguments. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to get the velocity from. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('vx', dtype='float64', direction=function.OUT, description = "The current x component of the position vector of the particle") + function.addParameter('vy', dtype='float64', direction=function.OUT, description = "The current y component of the position vector of the particle") + function.addParameter('vz', dtype='float64', direction=function.OUT, description = "The current z component of the position vector of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + current value was retrieved + -1 - ERROR + particle could not be found + -2 - ERROR + not yet implemented + """ + return function + @legacy_function + def set_velocity(): + """ + Set the velocity vector of a particle. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to get the state from. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('vx', dtype='float64', direction=function.IN, description = "The current x component of the velocity vector of the particle") + function.addParameter('vy', dtype='float64', direction=function.IN, description = "The current y component of the velocity vector of the particle") + function.addParameter('vz', dtype='float64', direction=function.IN, description = "The current z component of the velocity vector of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + current value was retrieved + -1 - ERROR + particle could not be found + -2 - ERROR + not yet implemented + """ + return function + @legacy_function + def get_acceleration(): + """ + Retrieve the acceleration vector of a particle. Second time derivative of the position. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to get the state from. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('ax', dtype='float64', direction=function.OUT, description = "The current position vector of the particle") + function.addParameter('ay', dtype='float64', direction=function.OUT, description = "The current position vector of the particle") + function.addParameter('az', dtype='float64', direction=function.OUT, description = "The current position vector of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + current value was retrieved + -1 - ERROR + particle could not be found + -2 - ERROR + not yet implemented + """ + return function + + @legacy_function + def get_state_sph(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to get the state from. This index must have been returned by an earlier call to :meth:`new_particle`") + for x in ['mass','x','y','z','vx','vy','vz','u']: + function.addParameter(x, dtype='float64', direction=function.OUT) + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def set_state_sph(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle for which the state is to be updated. This index must have been returned by an earlier call to :meth:`new_particle`") + for x in ['mass','x','y','z','vx','vy','vz','u']: + function.addParameter(x, dtype='float64', direction=function.IN) + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_internal_energy(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('u', dtype='float64', direction=function.OUT) + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def set_internal_energy(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('u', dtype='float64', direction=function.IN) + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_smoothing_length(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('h_smooth', dtype='float64', direction=function.OUT) + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_alpha_visc(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, description="alpha_SPH, the artificial viscosity of a particle") + function.addParameter('alpha', dtype='float64', direction=function.OUT) + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_dalphadt_visc(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, description="dalpha/dt, the rate of change with time of the artificial viscosity parameter alpha_SPH") + function.addParameter('dalphadt', dtype='float64', direction=function.OUT) + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_density(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('rho', dtype='float64', direction=function.OUT) + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_pressure(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('pressure', dtype='float64', direction=function.OUT) + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_d_internal_energy_dt(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('du_dt', dtype='float64', direction=function.OUT) + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_n_neighbours(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('num_neighbours', dtype='float64', direction=function.OUT) + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_thermal_energy(): + function = LegacyFunctionSpecification() + function.addParameter('thermal_energy', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_epsilon_dm_part(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('radius', dtype='float64', direction=function.OUT) + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_epsilon_gas_part(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('radius', dtype='float64', direction=function.OUT) + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + return function + + + +# setting/ getting parameters + @legacy_function + def set_time_step(): + """ timestep (code units)""" + function = LegacyFunctionSpecification() + function.addParameter('time_step', dtype='float64', direction=function.IN, + description = "The current model timestep") + function.result_type = 'int32' + return function + + @legacy_function + def get_epsilon(): + """Get epsilon, a softening parameter for gravitational potentials with point particles.""" + function = LegacyFunctionSpecification() + function.addParameter('epsilon', dtype='float64', direction=function.OUT, + description = "epsilon, a softening parameter for gravitational potentials with point particles") + function.result_type = 'int32' + return function + + @legacy_function + def set_epsilon(): + """Set epsilon, a softening parameter for gravitational potentials with point particles.""" + function = LegacyFunctionSpecification() + function.addParameter('epsilon', dtype='float64', direction=function.IN, + description = "epsilon, a softening parameter for gravitational potentials with point particles") + function.result_type = 'int32' + return function + + def set_epsilon_squared(self,epsilon_squared): + return self.set_epsilon(epsilon_squared**0.5) + + def get_epsilon_squared(self): + epsilon, err = self.get_epsilon() + return epsilon**2, err + + @legacy_function + def get_gadget_output_directory(): + function = LegacyFunctionSpecification() + function.addParameter('gadget_output_directory', dtype='string', direction=function.OUT, + description = "The path to the Gadget-2 OutputDir.") + function.result_type = 'int32' + return function + + + @legacy_function + def get_viscosity_switch(): + function = LegacyFunctionSpecification() + function.addParameter('viscosity_switch', dtype='string', direction=function.OUT, + description = "The viscosity switch used by Gadget2.") + function.result_type = 'int32' + return function + + @legacy_function + def set_gadget_output_directory(): + function = LegacyFunctionSpecification() + function.addParameter('gadget_output_directory', dtype='string', direction=function.IN, + description = "The path to the Gadget-2 OutputDir.") + function.result_type = 'int32' + return function + + @legacy_function + def get_unit_mass(): + """Get the code mass unit (in g/h, default: 1.989e43 g = 10^10 MSun).""" + function = LegacyFunctionSpecification() + function.addParameter('code_mass_unit', dtype='float64', direction=function.OUT, + description = "The code mass unit (in g/h, default: 1.989e43 g = 10^10 MSun).") + function.result_type = 'int32' + return function + + @legacy_function + def set_unit_mass(): + """Set the code mass unit (in g/h, default: 1.989e43 g = 10^10 MSun).""" + function = LegacyFunctionSpecification() + function.addParameter('code_mass_unit', dtype='float64', direction=function.IN, + description = "The code mass unit (in g/h, default: 1.989e43 g = 10^10 MSun).") + function.result_type = 'int32' + return function + + @legacy_function + def get_unit_length(): + """Get the code length unit (in cm/h, default: 3.085678e21 cm = 1 kpc).""" + function = LegacyFunctionSpecification() + function.addParameter('code_length_unit', dtype='float64', direction=function.OUT, + description = "The code length unit (in cm/h, default: 3.085678e21 cm = 1 kpc).") + function.result_type = 'int32' + return function + + @legacy_function + def set_unit_length(): + """Set the code length unit (in cm/h, default: 3.085678e21 cm = 1 kpc).""" + function = LegacyFunctionSpecification() + function.addParameter('code_length_unit', dtype='float64', direction=function.IN, + description = "The code length unit (in cm/h, default: 3.085678e21 cm = 1 kpc).") + function.result_type = 'int32' + return function + + @legacy_function + def get_unit_time(): + """Get the code time unit (in s/h, default: 3.085678e16 s = (1 kpc) / (1 km/s) ~ 0.9778 Gyr). Implicitly changes velocity unit.""" + function = LegacyFunctionSpecification() + function.addParameter('code_time_unit', dtype='float64', direction=function.OUT, + description = "The code time unit (in s/h, default: 3.085678e16 s = (1 kpc) / (1 km/s) ~ 0.9778 Gyr).") + function.result_type = 'int32' + return function + + @legacy_function + def set_unit_time(): + """Set the code time unit (in s/h, default: 3.085678e16 s = (1 kpc) / (1 km/s) ~ 0.9778 Gyr).""" + function = LegacyFunctionSpecification() + function.addParameter('code_time_unit', dtype='float64', direction=function.IN, + description = "The code time unit (in s/h, default: 3.085678e16 s = (1 kpc) / (1 km/s) ~ 0.9778 Gyr).") + function.result_type = 'int32' + return function + + @legacy_function + def get_unit_velocity(): + """Get the code velocity unit (in s/h, default: 3.085678e16 s = (1 kpc) / (1 km/s) ~ 0.9778 Gyr).""" + function = LegacyFunctionSpecification() + function.addParameter('code_velocity_unit', dtype='float64', direction=function.OUT, + description = "The code velocity unit (in s/h, default: 3.085678e16 s = (1 kpc) / (1 km/s) ~ 0.9778 Gyr).") + function.result_type = 'int32' + return function + + @legacy_function + def set_unit_velocity(): + """Set the code velocity unit (in s/h, default: 3.085678e16 s = (1 kpc) / (1 km/s) ~ 0.9778 Gyr).""" + function = LegacyFunctionSpecification() + function.addParameter('code_velocity_unit', dtype='float64', direction=function.IN, + description = "The code velocity unit (in s/h, default: 3.085678e16 s = (1 kpc) / (1 km/s) ~ 0.9778 Gyr).") + function.result_type = 'int32' + return function + + @legacy_function + def get_nogravity(): + """ get_nogravity(): get no-gravity flag. True means: gravitational forces are switched of for all particles + (read-only: makefile option NOGRAVITY).""" + function = LegacyFunctionSpecification() + function.addParameter('no_gravity_flag', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_gdgop(): + """ set_gdgop([0,1]): use of gadget cell opening criterion if 1 """ + function = LegacyFunctionSpecification() + function.addParameter('gadget_cell_opening_flag', dtype='i', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_gdgop(): + """ get_gdgop(): use of gadget cell opening criterion if 1 """ + function = LegacyFunctionSpecification() + function.addParameter('gadget_cell_opening_flag', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_epsgas(): + """ gas grav smoothing eps""" + function = LegacyFunctionSpecification() + function.addParameter('gas_epsilon', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_epsgas(): + """ gas grav smoothing eps""" + function = LegacyFunctionSpecification() + function.addParameter('gas_epsilon', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_isotherm(): + """(default: False) + True means: isothermal gas (read-only: makefile option ISOTHERM_EQS). + """ + function = LegacyFunctionSpecification() + function.addParameter('isothermal_flag', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_eps_is_h(): + """ get_eps_is_h(): gas particles grav. eps to SPH h if 1""" + function = LegacyFunctionSpecification() + function.addParameter('eps_is_h_flag', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_nsmooth(): + """ target number of SPH neighbours""" + function = LegacyFunctionSpecification() + function.addParameter('nsmooth', dtype='i', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_nsmooth(): + """ target number of SPH neighbours""" + function = LegacyFunctionSpecification() + function.addParameter('nsmooth', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_bh_tol(): + """ Barnes Hut opening angle parameter (unitless, 0.5) """ + function = LegacyFunctionSpecification() + function.addParameter('bh_tol', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_bh_tol(): + """ Barnes Hut opening angle parameter (unitless, 0.5) """ + function = LegacyFunctionSpecification() + function.addParameter('bh_tol', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_gdgtol(): + """ Gadget cell openings criterion parameter (unitless, .005) """ + function = LegacyFunctionSpecification() + function.addParameter('gdgtol', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_gdgtol(): + """ Gadget cell openings criterion parameter (unitless, .005) """ + function = LegacyFunctionSpecification() + function.addParameter('gdgtol', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_gamma(): + """ gas polytropic index (1.666667) """ + function = LegacyFunctionSpecification() + function.addParameter('gamma', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_alpha(): + """ SPH artificial viscosity alpha parameter (0.5) """ + function = LegacyFunctionSpecification() + function.addParameter('alpha', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_alpha(): + """ SPH artificial viscosity alpha parameter (0.5) """ + function = LegacyFunctionSpecification() + function.addParameter('alpha', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_beta(): + """ SPH artificial viscosity beta parameter (2*viscosity alpha parameter) """ + function = LegacyFunctionSpecification() + function.addParameter('beta', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_beta(): + """ SPH artificial viscosity beta parameter (2*viscosity alpha parameter) """ + function = LegacyFunctionSpecification() + function.addParameter('beta', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_courant(): + """ SPH courant condition parameter (0.3) """ + function = LegacyFunctionSpecification() + function.addParameter('courant', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_courant(): + """ SPH courant condition parameter (0.3) """ + function = LegacyFunctionSpecification() + function.addParameter('courant', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_nsmtol(): + """ fractional tolerance in number of SPH neighbours """ + function = LegacyFunctionSpecification() + function.addParameter('n_neighbour_tol', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_nsmtol(): + """ fractional tolerance in number of SPH neighbours """ + function = LegacyFunctionSpecification() + function.addParameter('n_neighbour_tol', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_energy_file(): + function = LegacyFunctionSpecification() + function.addParameter('energy_file', dtype='string', direction=function.OUT, + description = "The path to the Gadget-2 energy statistics output file.") + function.result_type = 'int32' + return function + @legacy_function + def set_energy_file(): + function = LegacyFunctionSpecification() + function.addParameter('energy_file', dtype='string', direction=function.IN, + description = "The path to the Gadget-2 energy statistics output file.") + function.result_type = 'int32' + return function + + @legacy_function + def get_info_file(): + function = LegacyFunctionSpecification() + function.addParameter('info_file', dtype='string', direction=function.OUT, + description = "The path to the Gadget-2 info output file.") + function.result_type = 'int32' + return function + @legacy_function + def set_info_file(): + function = LegacyFunctionSpecification() + function.addParameter('info_file', dtype='string', direction=function.IN, + description = "The path to the Gadget-2 info output file.") + function.result_type = 'int32' + return function + + @legacy_function + def get_timings_file(): + function = LegacyFunctionSpecification() + function.addParameter('timings_file', dtype='string', direction=function.OUT, + description = "The path to the Gadget-2 timings output file.") + function.result_type = 'int32' + return function + @legacy_function + def set_timings_file(): + function = LegacyFunctionSpecification() + function.addParameter('timings_file', dtype='string', direction=function.IN, + description = "The path to the Gadget-2 timings output file.") + function.result_type = 'int32' + return function + + @legacy_function + def get_cpu_file(): + function = LegacyFunctionSpecification() + function.addParameter('cpu_file', dtype='string', direction=function.OUT, + description = "The path to the Gadget-2 cpu statistics output file.") + function.result_type = 'int32' + return function + @legacy_function + def set_cpu_file(): + function = LegacyFunctionSpecification() + function.addParameter('cpu_file', dtype='string', direction=function.IN, + description = "The path to the Gadget-2 cpu statistics output file.") + function.result_type = 'int32' + return function + + @legacy_function + def get_time_limit_cpu(): + function = LegacyFunctionSpecification() + function.addParameter('time_limit_cpu', dtype='d', direction=function.OUT, + description = "The cpu-time limit. Gadget2 will stop once 85% of this (wall-clock) time has passed.") + function.result_type = 'i' + return function + @legacy_function + def set_time_limit_cpu(): + function = LegacyFunctionSpecification() + function.addParameter('time_limit_cpu', dtype='d', direction=function.IN, + description = "The cpu-time limit. Gadget2 will stop once 85% of this (wall-clock) time has passed.") + function.result_type = 'i' + return function + + @legacy_function + def get_comoving_integration_flag(): + function = LegacyFunctionSpecification() + function.addParameter('comoving_integration_flag', dtype='bool', direction=function.OUT, + description = "Flag to do a cosmological run with comoving coordinates.") + function.result_type = 'i' + return function + @legacy_function + def set_comoving_integration_flag(): + function = LegacyFunctionSpecification() + function.addParameter('comoving_integration_flag', dtype='bool', direction=function.IN, + description = "Flag to do a cosmological run with comoving coordinates.") + function.result_type = 'i' + return function + + @legacy_function + def get_type_of_timestep_criterion(): + function = LegacyFunctionSpecification() + function.addParameter('type_of_timestep_criterion', dtype='i', direction=function.OUT, + description = "Timestep criterion to use. Can only be zero: timestep proportional to acceleration^-0.5") + function.result_type = 'i' + return function + @legacy_function + def set_type_of_timestep_criterion(): + function = LegacyFunctionSpecification() + function.addParameter('type_of_timestep_criterion', dtype='i', direction=function.IN, + description = "Timestep criterion to use. Can only be zero: timestep proportional to acceleration^-0.5") + function.result_type = 'i' + return function + + + + @legacy_function + def get_time_max(): + function = LegacyFunctionSpecification() + function.addParameter('time_max', dtype='d', direction=function.OUT, + description = "The time at the end of the run.") + function.result_type = 'i' + return function + @legacy_function + def set_time_max(): + function = LegacyFunctionSpecification() + function.addParameter('time_max', dtype='d', direction=function.IN, + description = "The time at the end of the run.") + function.result_type = 'i' + return function + + @legacy_function + def evolve_to_redshift(): + function = LegacyFunctionSpecification() + function.addParameter('redshift', dtype='d', direction=function.IN, + description = "Model redshift to evolve to (for cosmological integrations).") + function.result_type = 'i' + return function + + @legacy_function + def get_redshift(): + function = LegacyFunctionSpecification() + function.addParameter('redshift', dtype='d', direction=function.OUT, + description = "The current redshift (for cosmological integrations).") + function.result_type = 'i' + return function + + @legacy_function + def get_redshift_begin(): + function = LegacyFunctionSpecification() + function.addParameter('redshift_begin', dtype='d', direction=function.OUT, + description = "The redshift at the start of the run.") + function.result_type = 'i' + return function + @legacy_function + def set_redshift_begin(): + function = LegacyFunctionSpecification() + function.addParameter('redshift_begin', dtype='d', direction=function.IN, + description = "The redshift at the start of the run.") + function.result_type = 'i' + return function + + @legacy_function + def get_redshift_max(): + function = LegacyFunctionSpecification() + function.addParameter('redshift_max', dtype='d', direction=function.OUT, + description = "The redshift at the end of the run.") + function.result_type = 'i' + return function + @legacy_function + def set_redshift_max(): + function = LegacyFunctionSpecification() + function.addParameter('redshift_max', dtype='d', direction=function.IN, + description = "The redshift at the end of the run.") + function.result_type = 'i' + return function + + @legacy_function + def get_omega_zero(): + function = LegacyFunctionSpecification() + function.addParameter('omega_zero', dtype='d', direction=function.OUT, + description = "Cosmological matter density parameter in units of the critical density at z=0.") + function.result_type = 'i' + return function + @legacy_function + def set_omega_zero(): + function = LegacyFunctionSpecification() + function.addParameter('omega_zero', dtype='d', direction=function.IN, + description = "Cosmological matter density parameter in units of the critical density at z=0.") + function.result_type = 'i' + return function + + @legacy_function + def get_omega_lambda(): + function = LegacyFunctionSpecification() + function.addParameter('omega_lambda', dtype='d', direction=function.OUT, + description = "Cosmological vacuum energy density parameter in units of the critical density at z=0.") + function.result_type = 'i' + return function + @legacy_function + def set_omega_lambda(): + function = LegacyFunctionSpecification() + function.addParameter('omega_lambda', dtype='d', direction=function.IN, + description = "Cosmological vacuum energy density parameter in units of the critical density at z=0.") + function.result_type = 'i' + return function + + @legacy_function + def get_omega_baryon(): + function = LegacyFunctionSpecification() + function.addParameter('omega_baryon', dtype='d', direction=function.OUT, + description = "Cosmological baryonic density parameter in units of the critical density at z=0.") + function.result_type = 'i' + return function + @legacy_function + def set_omega_baryon(): + function = LegacyFunctionSpecification() + function.addParameter('omega_baryon', dtype='d', direction=function.IN, + description = "Cosmological baryonic density parameter in units of the critical density at z=0.") + function.result_type = 'i' + return function + + @legacy_function + def get_hubble_param(): + function = LegacyFunctionSpecification() + function.addParameter('hubble_param', dtype='d', direction=function.OUT, + description = "The cosmological Hubble parameter.") + function.result_type = 'i' + return function + @legacy_function + def set_hubble_param(): + function = LegacyFunctionSpecification() + function.addParameter('hubble_param', dtype='d', direction=function.IN, + description = "The cosmological Hubble parameter.") + function.result_type = 'i' + return function + + @legacy_function + def get_err_tol_int_accuracy(): + function = LegacyFunctionSpecification() + function.addParameter('err_tol_int_accuracy', dtype='d', direction=function.OUT, + description = "Accuracy parameter used in timestep criterion. Actual timesteps are proportional to err_tol_int_accuracy^0.5") + function.result_type = 'i' + return function + @legacy_function + def set_err_tol_int_accuracy(): + function = LegacyFunctionSpecification() + function.addParameter('err_tol_int_accuracy', dtype='d', direction=function.IN, + description = "Accuracy parameter used in timestep criterion. Actual timesteps are proportional to err_tol_int_accuracy^0.5") + function.result_type = 'i' + return function + + @legacy_function + def get_max_size_timestep(): + function = LegacyFunctionSpecification() + function.addParameter('max_size_timestep', dtype='d', direction=function.OUT, + description = "The maximum size of the timestep a particle may take.") + function.result_type = 'i' + return function + @legacy_function + def set_max_size_timestep(): + function = LegacyFunctionSpecification() + function.addParameter('max_size_timestep', dtype='d', direction=function.IN, + description = "The maximum size of the timestep a particle may take.") + function.result_type = 'i' + return function + + @legacy_function + def get_min_size_timestep(): + function = LegacyFunctionSpecification() + function.addParameter('min_size_timestep', dtype='d', direction=function.OUT, + description = "The minimum size of the timestep a particle may take.") + function.result_type = 'i' + return function + @legacy_function + def set_min_size_timestep(): + function = LegacyFunctionSpecification() + function.addParameter('min_size_timestep', dtype='d', direction=function.IN, + description = "The minimum size of the timestep a particle may take.") + function.result_type = 'i' + return function + + @legacy_function + def get_tree_domain_update_frequency(): + function = LegacyFunctionSpecification() + function.addParameter('tree_domain_update_frequency', dtype='d', direction=function.OUT, + description = "The frequency with which the tree and domain decomposition are fully updated, in terms of (# force computations / # particles).") + function.result_type = 'i' + return function + @legacy_function + def set_tree_domain_update_frequency(): + function = LegacyFunctionSpecification() + function.addParameter('tree_domain_update_frequency', dtype='d', direction=function.IN, + description = "The frequency with which the tree and domain decomposition are fully updated, in terms of (# force computations / # particles).") + function.result_type = 'i' + return function + + @legacy_function + def get_time_between_statistics(): + function = LegacyFunctionSpecification() + function.addParameter('time_between_statistics', dtype='d', direction=function.OUT, + description = "The time between statistics output written to the output files.") + function.result_type = 'i' + return function + @legacy_function + def set_time_between_statistics(): + function = LegacyFunctionSpecification() + function.addParameter('time_between_statistics', dtype='d', direction=function.IN, + description = "The time between statistics output written to the output files.") + function.result_type = 'i' + return function + + @legacy_function + def get_min_gas_temp(): + function = LegacyFunctionSpecification() + function.addParameter('min_gas_temp', dtype='d', direction=function.OUT, + description = "The minimum temperature of gas particles.") + function.result_type = 'i' + return function + @legacy_function + def set_min_gas_temp(): + function = LegacyFunctionSpecification() + function.addParameter('min_gas_temp', dtype='d', direction=function.IN, + description = "The minimum temperature of gas particles.") + function.result_type = 'i' + return function + + @legacy_function + def get_min_gas_hsmooth_fractional(): + function = LegacyFunctionSpecification() + function.addParameter('min_gas_hsmooth_fractional', dtype='d', direction=function.OUT, + description = "The minimum smoothing length of gas particles relative to their softening lengths.") + function.result_type = 'i' + return function + @legacy_function + def set_min_gas_hsmooth_fractional(): + function = LegacyFunctionSpecification() + function.addParameter('min_gas_hsmooth_fractional', dtype='d', direction=function.IN, + description = "The minimum smoothing length of gas particles relative to their softening lengths.") + function.result_type = 'i' + return function + + @legacy_function + def get_softening_gas_max_phys(): + function = LegacyFunctionSpecification() + function.addParameter('softening_gas_max_phys', dtype='d', direction=function.OUT, + description = "The maximum physical softening of gas particles for comoving integrations.") + function.result_type = 'i' + return function + @legacy_function + def set_softening_gas_max_phys(): + function = LegacyFunctionSpecification() + function.addParameter('softening_gas_max_phys', dtype='d', direction=function.IN, + description = "The maximum physical softening of gas particles for comoving integrations.") + function.result_type = 'i' + return function + + @legacy_function + def get_softening_halo_max_phys(): + function = LegacyFunctionSpecification() + function.addParameter('softening_halo_max_phys', dtype='d', direction=function.OUT, + description = "The maximum physical softening of dm particles for comoving integrations.") + function.result_type = 'i' + return function + @legacy_function + def set_softening_halo_max_phys(): + function = LegacyFunctionSpecification() + function.addParameter('softening_halo_max_phys', dtype='d', direction=function.IN, + description = "The maximum physical softening of dm particles for comoving integrations.") + function.result_type = 'i' + return function + + @legacy_function + def set_periodic_boundaries_flag(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_periodic_boundaries_flag(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_interpret_kicks_as_feedback_flag(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_interpret_kicks_as_feedback_flag(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_interpret_heat_as_feedback_flag(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_interpret_heat_as_feedback_flag(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_box_size(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_box_size(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_hydro_state_at_point(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + for x in ['x','y','z']: + function.addParameter(x, dtype='d', direction=function.IN) + for x in ['vx','vy','vz']: + function.addParameter(x, dtype='d', direction=function.IN, default = 0) + for x in ['rho','rhovx','rhovy','rhovz','rhoe']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + +class Gadget2Doc(object): + + def __get__(self, instance, owner): + return instance.legacy_interface.__doc__+"\n\n"+instance.parameters.__doc__ + +class Gadget2(GravitationalDynamics, GravityFieldCode): + + __doc__ = Gadget2Doc() + + def __init__(self, unit_converter = None, mode = 'normal', **options): + self.mode = mode + legacy_interface = Gadget2Interface(mode = mode, **options) + + if unit_converter is None: + unit_converter = ConvertBetweenGenericAndSiUnits( + 3.085678e21 | units.cm, # 1.0 kpc + 1.989e43 | units.g, # 1.0e10 solar masses + 1e5 | units.cm / units.s) # 1 km/sec + + self.stopping_conditions = StoppingConditions(self) + + GravitationalDynamics.__init__( + self, + legacy_interface, + unit_converter, + **options + ) + + def initialize_code(self): + result = self.overridden().initialize_code() + self.parameters.gadget_output_directory = self.get_output_directory() + # The code's units are read-only, and set here to ensure they always match with the unit_converter + self.set_unit_mass(self.unit_converter.to_si(generic_unit_system.mass).value_in(units.g)) + self.set_unit_length(self.unit_converter.to_si(generic_unit_system.length).value_in(units.cm)) + self.set_unit_time(self.unit_converter.to_si(generic_unit_system.time).value_in(units.s)) + return result + + def commit_parameters(self): + if self.parameters.comoving_integration_flag: + h = self.parameters.hubble_parameter + self.set_unit_mass(self.unit_converter.to_si(generic_unit_system.mass).value_in(units.g/h)) + self.set_unit_length(self.unit_converter.to_si(generic_unit_system.length).value_in(units.cm/h)) + self.set_unit_time(self.unit_converter.to_si(generic_unit_system.time).value_in(units.s/h)) + handler=self.get_handler("PARTICLES") + self.define_additional_particle_attributes(handler) + return self.overridden().commit_parameters() + + + def define_properties(self, handler): + handler.add_property("get_kinetic_energy") + handler.add_property("get_potential_energy") + handler.add_property("get_thermal_energy") + handler.add_property("get_total_radius") + handler.add_property("get_center_of_mass_position") + handler.add_property("get_center_of_mass_velocity") + handler.add_property("get_total_mass") + handler.add_property('get_time', public_name = "model_time") + handler.add_property('get_redshift', public_name = "model_redshift") + + def define_state(self, handler): + GravitationalDynamics.define_state(self, handler) + GravityFieldCode.define_state(self, handler) + + handler.add_method('EDIT', 'before_new_set_instance') + handler.add_method('EDIT', 'new_dm_particle') + handler.add_method('UPDATE', 'new_dm_particle') + handler.add_transition('RUN', 'UPDATE', 'new_dm_particle', False) + handler.add_method('EDIT', 'new_sph_particle') + handler.add_method('UPDATE', 'new_sph_particle') + handler.add_transition('RUN', 'UPDATE', 'new_sph_particle', False) + handler.add_transition('RUN', 'EVOLVED', 'evolve_to_redshift', False) + handler.add_method('EVOLVED', 'evolve_to_redshift') + handler.add_method('RUN', 'get_state_sph') + handler.add_method('RUN', 'get_acceleration') + handler.add_method('RUN', 'get_internal_energy') + handler.add_method('RUN', 'get_smoothing_length') + handler.add_method('RUN', 'get_density') + handler.add_method('RUN', 'get_alpha_visc') + handler.add_method('RUN', 'get_dalphadt_visc') + handler.add_method('RUN', 'get_pressure') + handler.add_method('RUN', 'get_d_internal_energy_dt') + handler.add_method('RUN', 'get_n_neighbours') + handler.add_method('RUN', 'get_epsilon_dm_part') + handler.add_method('RUN', 'get_epsilon_gas_part') + handler.add_method('RUN', 'set_state') + handler.add_method('RUN', 'set_state_sph') + handler.add_method('RUN', 'set_mass') + handler.add_method('RUN', 'set_position') + handler.add_method('RUN', 'set_velocity') + handler.add_method('RUN', 'set_internal_energy') + + handler.add_method('RUN', 'get_kinetic_energy') + handler.add_method('RUN', 'get_potential_energy') + handler.add_method('RUN', 'get_thermal_energy') + handler.add_method('RUN', 'get_total_radius') + handler.add_method('RUN', 'get_center_of_mass_position') + handler.add_method('RUN', 'get_center_of_mass_velocity') + handler.add_method('RUN', 'get_total_mass') + handler.add_method('RUN', 'get_hydro_state_at_point') + + + self.stopping_conditions.define_state(handler) + + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_epsilon_squared", + "set_epsilon_squared", + "epsilon_squared", + "smoothing parameter for gravity calculations", + default_value = 0.0001 | generic_unit_system.length * generic_unit_system.length + ) + + handler.add_method_parameter( + "get_time_step", + None, + "timestep", + "timestep for system, Gadget2 calculates this by itself, based on particle acceleration.", + default_value = 1.0 | generic_unit_system.time + ) + + handler.add_boolean_parameter( + "get_nogravity", + None, + "no_gravity_flag", + "No-gravity flag. True means: gravitational forces are switched of for all particles " + "(read-only: makefile option NOGRAVITY).", + False + ) + + handler.add_boolean_parameter( + "get_gdgop", + "set_gdgop", + "gadget_cell_opening_flag", + "Gadget-cell-opening flag. True means: use of Gadget cell opening criterion; Barnes-Hut otherwise", + True + ) + + handler.add_boolean_parameter( + "get_isotherm", + None, + "isothermal_flag", + "Isothermal flag. True means: isothermal gas, u is interpreted as c_s^2 " + "(read-only: makefile option ISOTHERM_EQS).", + False + ) + + handler.add_boolean_parameter( + "get_eps_is_h", + None, + "eps_is_h_flag", + "Eps-is-h flag. True means: set gas particles gravitational epsilon to h (SPH smoothing length) " + "(read-only: makefile option ADAPTIVE_GRAVSOFT_FORGAS).", + False + ) + + handler.add_method_parameter( + "get_nsmooth", + "set_nsmooth", + "n_smooth", + "The target number of SPH neighbours.", + default_value = 50 + ) + + handler.add_method_parameter( + "get_unit_mass", + None, + "code_mass_unit", + "The code mass unit (in g/h, 1.989e43 g = 10^10 MSun standard).", + default_value = 1.989e43 | units.g + ) + + handler.add_method_parameter( + "get_unit_length", + None, + "code_length_unit", + "The code length unit (in cm/h, 3.085678e21 cm = 1 kpc standard).", + default_value = 3.085678e21 | units.cm + ) + + handler.add_method_parameter( + "get_unit_time", + None, + "code_time_unit", + "The code time unit (in s/h, default: 3.085678e16 s = (1 kpc) / (1 km/s) ~ 0.9778 Gyr).", + default_value = 3.085678e16 | units.s + ) + + handler.add_method_parameter( + "get_unit_velocity", + None, + "code_velocity_unit", + "The code velocity unit (in cm/s, default: 1e5 cm/s = 1 km/s).", + default_value = 1e5 | units.cm / units.s + ) + + + handler.add_method_parameter( + "get_bh_tol", + "set_bh_tol", + "opening_angle", + "Opening angle, theta, for building the tree: between 0 and 1 (unitless, 0.5).", + default_value = 0.5 + ) + + handler.add_method_parameter( + "get_gdgtol", + "set_gdgtol", + "gadget_cell_opening_constant", + "Gadget-cell-openings criterion parameter (unitless, 0.005)", + default_value = 0.005 + ) + + handler.add_method_parameter( + "get_epsgas", + "set_epsgas", + "gas_epsilon", + "The gas gravitational smoothing epsilon.", + default_value = 0.01 | generic_unit_system.length + ) + + handler.add_method_parameter( + "get_gamma", + None, + "polytropic_index_gamma", + "gas polytropic index (1.6666667 or 1 for isothermal" + "(read-only: makefile option ISOTHERM_EQS).", + default_value = (5.0/3) + ) + + handler.add_method_parameter( + "get_alpha", + "set_alpha", + "artificial_viscosity_alpha", + "SPH artificial viscosity alpha parameter (0.5)", + default_value = 0.5 + ) + + + handler.add_method_parameter( + "get_beta", + "set_beta", + "artificial_viscosity_beta", + "SPH artificial viscosity beta parameter (2*viscosity alpha parameter)", + default_value = 1.0 + ) + + handler.add_method_parameter( + "get_courant", + "set_courant", + "courant", + "SPH courant condition parameter (0.3). Note that we follow conventional smoothing length " + "definitions, implying a factor 2 difference with Gadget's CourantFac parameter", + default_value = 0.3 + ) + + handler.add_method_parameter( + "get_nsmtol", + "set_nsmtol", + "n_smooth_tol", + "fractional tolerance in number of SPH neighbours", + default_value = 0.1 + ) + + handler.add_method_parameter( + "get_gadget_output_directory", + "set_gadget_output_directory", + "gadget_output_directory", + "Name of the Gadget-2 OutputDir", + default_value = "" + ) + + handler.add_method_parameter( + "get_viscosity_switch", + None, + "viscosity_switch", + "Viscosity switch used by Gadget2", + default_value = "standard Gadget2 viscosity" + ) + + + handler.add_method_parameter( + "get_energy_file", + "set_energy_file", + "energy_file", + "The path to the Gadget-2 energy statistics output file.", + default_value = "energy.txt" + ) + + handler.add_method_parameter( + "get_info_file", + "set_info_file", + "info_file", + "The path to the Gadget-2 info output file.", + default_value = "info.txt" + ) + + handler.add_method_parameter( + "get_timings_file", + "set_timings_file", + "timings_file", + "The path to the Gadget-2 timings output file.", + default_value = "timings.txt" + ) + + handler.add_method_parameter( + "get_cpu_file", + "set_cpu_file", + "cpu_file", + "The path to the Gadget-2 cpu statistics output file.", + default_value = "cpu.txt" + ) + + handler.add_method_parameter( + "get_time_limit_cpu", + "set_time_limit_cpu", + "time_limit_cpu", + "The cpu-time limit. Gadget2 will stop once 85% of this (wall-clock) time has passed.", + default_value = 36000 | units.s + ) + + handler.add_boolean_parameter( + "get_comoving_integration_flag", + "set_comoving_integration_flag", + "comoving_integration_flag", + "Flag to do a cosmological run with comoving coordinates.", + False + ) + + handler.add_method_parameter( + "get_type_of_timestep_criterion", + "set_type_of_timestep_criterion", + "type_of_timestep_criterion", + "Timestep criterion to use. Can only be zero: timestep proportional to acceleration^-0.5", + default_value = 0 + ) + + handler.add_method_parameter( + "get_begin_time", + "set_begin_time", + "begin_time", + "model time to start the simulation at", + default_value = 0.0 | nbody_system.time + ) + + handler.add_method_parameter( + "get_time_max", + "set_time_max", + "time_max", + "The time at the end of the run.", + default_value = 100.0 | generic_unit_system.time + ) + + handler.add_method_parameter( + "get_redshift_begin", + "set_redshift_begin", + "redshift_begin", + "The redshift at the start of the run.", + default_value = 20.0 + ) + + handler.add_method_parameter( + "get_redshift_max", + "set_redshift_max", + "redshift_max", + "The redshift at the end of the run.", + default_value = 0.0 + ) + + handler.add_method_parameter( + "get_omega_zero", + "set_omega_zero", + "omega_zero", + "Cosmological matter density parameter in units of the critical density at z=0.", + default_value = 0.0 + ) + + handler.add_method_parameter( + "get_omega_lambda", + "set_omega_lambda", + "omega_lambda", + "Cosmological vacuum energy density parameter in units of the critical density at z=0.", + default_value = 0.0 + ) + + handler.add_method_parameter( + "get_omega_baryon", + "set_omega_baryon", + "omega_baryon", + "Cosmological baryonic density parameter in units of the critical density at z=0.", + default_value = 0.0 + ) + + handler.add_method_parameter( + "get_hubble_param", + "set_hubble_param", + "hubble_parameter", + "The cosmological Hubble parameter, value of Hubble constant in units of 100 km/s / Mpc.", + default_value = 0.7 + ) + + handler.add_method_parameter( + "get_err_tol_int_accuracy", + "set_err_tol_int_accuracy", + "timestep_accuracy_parameter", + "Accuracy parameter used in timestep criterion. Actual timesteps are proportional to err_tol_int_accuracy^0.5", + default_value = 0.025 + ) + + handler.add_method_parameter( + "get_max_size_timestep", + "set_max_size_timestep", + "max_size_timestep", + "The maximum size of the timestep a particle may take.", + default_value = 0.01 | generic_unit_system.time + ) + + handler.add_method_parameter( + "get_min_size_timestep", + "set_min_size_timestep", + "min_size_timestep", + "The minimum size of the timestep a particle may take.", + default_value = 0.0 | generic_unit_system.time + ) + + handler.add_method_parameter( + "get_tree_domain_update_frequency", + "set_tree_domain_update_frequency", + "tree_domain_update_frequency", + "The frequency with which the tree and domain decomposition are fully updated, in terms of (# force computations / # particles).", + default_value = 0.05 + ) + + handler.add_method_parameter( + "get_time_between_statistics", + "set_time_between_statistics", + "time_between_statistics", + "The time between statistics output written to the output files.", + default_value = 0.1 | generic_unit_system.time + ) + + handler.add_method_parameter( + "get_min_gas_temp", + "set_min_gas_temp", + "min_gas_temp", + "The minimum temperature of gas particles.", + default_value = 0.0 | units.K + ) + + handler.add_method_parameter( + "get_min_gas_hsmooth_fractional", + "set_min_gas_hsmooth_fractional", + "min_gas_hsmooth_fractional", + "The minimum smoothing length of gas particles relative to their softening lengths.", + default_value = 0.0 + ) + + handler.add_method_parameter( + "get_softening_gas_max_phys", + "set_softening_gas_max_phys", + "softening_gas_max_phys", + "The maximum physical softening of gas particles for comoving integrations.", + default_value = 0.0 | generic_unit_system.length + ) + + handler.add_method_parameter( + "get_softening_halo_max_phys", + "set_softening_halo_max_phys", + "softening_halo_max_phys", + "The maximum physical softening of dm particles for comoving integrations.", + default_value = 0.0 | generic_unit_system.length + ) + + handler.add_method_parameter( + "get_box_size", + "set_box_size", + "periodic_box_size", + "The size of the box in case of periodic boundary conditions.", + default_value = 1.0 | generic_unit_system.length + ) + + handler.add_boolean_parameter( + "get_periodic_boundaries_flag", + None, + "periodic_boundaries_flag", + "Periodic boundaries flag. Read-only. True means: use periodic boundary conditions", + False + ) + + handler.add_boolean_parameter( + "get_interpret_kicks_as_feedback_flag", + "set_interpret_kicks_as_feedback_flag", + "interpret_kicks_as_feedback", + "Flag telling Gadget2 whether to interpret external changes to particles' velocities as feedback (for timestepping).", + False + ) + + handler.add_boolean_parameter( + "get_interpret_heat_as_feedback_flag", + "set_interpret_heat_as_feedback_flag", + "interpret_heat_as_feedback", + "Flag telling Gadget2 whether to interpret external changes to particles' internal energy as feedback (for timestepping).", + True + ) + + self.stopping_conditions.define_parameters(handler) + + + def define_particle_sets(self, handler): + handler.define_super_set('particles', ['dm_particles','gas_particles'], + index_to_default_set = 0) + + handler.define_set('dm_particles', 'index_of_the_particle') + handler.set_new('dm_particles', 'new_dm_particle') + handler.set_delete('dm_particles', 'delete_particle') + handler.add_setter('dm_particles', 'set_state') + handler.add_getter('dm_particles', 'get_state') + handler.add_setter('dm_particles', 'set_mass') + handler.add_getter('dm_particles', 'get_mass', names = ('mass',)) + handler.add_setter('dm_particles', 'set_position') + handler.add_getter('dm_particles', 'get_position') + handler.add_setter('dm_particles', 'set_velocity') + handler.add_getter('dm_particles', 'get_velocity') + handler.add_getter('dm_particles', 'get_acceleration') + handler.add_getter('dm_particles', 'get_epsilon_dm_part', names = ('radius',)) + handler.add_getter('dm_particles', 'get_epsilon_dm_part', names = ('epsilon',)) + + handler.define_set('gas_particles', 'index_of_the_particle',state_guard="before_new_set_instance") + handler.set_new('gas_particles', 'new_sph_particle') + handler.set_delete('gas_particles', 'delete_particle') + handler.add_setter('gas_particles', 'set_state_sph') + handler.add_getter('gas_particles', 'get_state_sph') + handler.add_setter('gas_particles', 'set_mass') + handler.add_getter('gas_particles', 'get_mass', names = ('mass',)) + handler.add_setter('gas_particles', 'set_position') + handler.add_getter('gas_particles', 'get_position') + handler.add_setter('gas_particles', 'set_velocity') + handler.add_getter('gas_particles', 'get_velocity') + handler.add_getter('gas_particles', 'get_acceleration') + handler.add_setter('gas_particles', 'set_internal_energy') + handler.add_getter('gas_particles', 'get_internal_energy') + handler.add_getter('gas_particles', 'get_smoothing_length') + handler.add_getter('gas_particles', 'get_density', names = ('rho',)) + handler.add_getter('gas_particles', 'get_density', names = ('density',)) + handler.add_getter('gas_particles', 'get_pressure') + handler.add_getter('gas_particles', 'get_d_internal_energy_dt') + handler.add_getter('gas_particles', 'get_n_neighbours') + handler.add_getter('gas_particles', 'get_epsilon_gas_part', names = ('radius',)) + handler.add_getter('gas_particles', 'get_epsilon_gas_part', names = ('epsilon',)) + + self.stopping_conditions.define_particle_set(handler) + + def define_additional_particle_attributes(self, handler): + if self.parameters.viscosity_switch=="Morris & Monaghan 1997": + handler.add_getter('gas_particles', 'get_alpha_visc', names = ('viscosity_alpha',)) + handler.add_getter('gas_particles', 'get_dalphadt_visc', names = ('viscosity_dalphadt',)) + + def define_errorcodes(self, handler): + handler.add_errorcode(-1, 'Unspecified, other error.') + handler.add_errorcode(-2, 'Called function is not implemented.') + handler.add_errorcode(-3, 'A particle with the given index was not found.') + handler.add_errorcode(-4, 'Parameter check failed.') + handler.add_errorcode(-5, 'CPU-time limit reached.') + handler.add_errorcode(-6, "Can't evolve backwards in time.") + handler.add_errorcode(-7, "Can't evolve further than time_max.") + handler.add_errorcode(-8, "A particle was assigned a timestep of size zero. The code_time_unit used may be too large.") + handler.add_errorcode(-9, "This function should not be used with the current value of comoving_integration_flag") + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + handler.add_method('evolve_model', (generic_unit_system.time,), ( handler.ERROR_CODE, )) + handler.add_method('evolve_to_redshift', (handler.NO_UNIT,), ( handler.ERROR_CODE, )) + handler.add_method( + "new_particle", + ( + generic_unit_system.mass, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.speed, + ), + ( + handler.INDEX, + handler.ERROR_CODE, + ) + ) + handler.add_method( + "delete_particle", + ( + handler.NO_UNIT, + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + "get_state", + ( + handler.NO_UNIT, + ), + ( + generic_unit_system.mass, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.speed, + handler.ERROR_CODE + ) + ) + handler.add_method( + "set_state", + ( + handler.NO_UNIT, + generic_unit_system.mass, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.speed, + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "set_mass", + ( + handler.NO_UNIT, + generic_unit_system.mass, + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_mass", + ( + handler.NO_UNIT, + ), + ( + generic_unit_system.mass, + handler.ERROR_CODE + ) + ) + handler.add_method( + "set_radius", + ( + handler.NO_UNIT, + generic_unit_system.length, + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_radius", + ( + handler.NO_UNIT, + ), + ( + generic_unit_system.length, + handler.ERROR_CODE + ) + ) + handler.add_method( + "set_position", + ( + handler.NO_UNIT, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_position", + ( + handler.NO_UNIT, + ), + ( + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + handler.ERROR_CODE + ) + ) + handler.add_method( + "set_velocity", + ( + handler.INDEX, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.speed, + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_velocity", + ( + handler.INDEX, + ), + ( + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.speed, + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_acceleration", + ( + handler.INDEX, + ), + ( + generic_unit_system.acceleration, + generic_unit_system.acceleration, + generic_unit_system.acceleration, + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_potential", + ( + handler.NO_UNIT, + ), + ( + generic_unit_system.potential, + handler.ERROR_CODE + ) + ) + handler.add_method( + "new_dm_particle", + ( + generic_unit_system.mass, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.speed, + ), + ( + handler.INDEX, + handler.ERROR_CODE, + ) + ) + handler.add_method( + "new_sph_particle", + ( + generic_unit_system.mass, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.specific_energy, + ), + ( + handler.INDEX, + handler.ERROR_CODE, + ) + ) + handler.add_method( + "get_state_sph", + ( + handler.INDEX, + ), + ( + generic_unit_system.mass, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.specific_energy, + handler.ERROR_CODE + ) + ) + handler.add_method( + "set_state_sph", + ( + handler.INDEX, + generic_unit_system.mass, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.specific_energy, + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + "set_internal_energy", + ( + handler.INDEX, + generic_unit_system.specific_energy, + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + "get_internal_energy", + ( + handler.INDEX, + ), + ( + generic_unit_system.specific_energy, + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_smoothing_length", + (handler.INDEX,), + (generic_unit_system.length, handler.ERROR_CODE) + ) + handler.add_method( + "get_density", + (handler.INDEX,), + (generic_unit_system.density, handler.ERROR_CODE) + ) + handler.add_method( + "get_pressure", + (handler.INDEX,), + (generic_unit_system.pressure, handler.ERROR_CODE) + ) + handler.add_method( + "get_d_internal_energy_dt", + (handler.INDEX,), + (generic_unit_system.specific_energy / generic_unit_system.time, handler.ERROR_CODE) + ) + handler.add_method( + "get_n_neighbours", + (handler.INDEX,), + (handler.NO_UNIT, handler.ERROR_CODE) + ) + handler.add_method( + "get_epsilon_dm_part", + (handler.INDEX,), + (generic_unit_system.length, handler.ERROR_CODE) + ) + handler.add_method( + "get_epsilon_gas_part", + (handler.INDEX,), + (generic_unit_system.length, handler.ERROR_CODE) + ) + + + handler.add_method( + 'get_hydro_state_at_point', + (generic_unit_system.length, generic_unit_system.length, generic_unit_system.length, + generic_unit_system.speed, generic_unit_system.speed, generic_unit_system.speed), + (generic_unit_system.density, generic_unit_system.momentum_density, generic_unit_system.momentum_density, + generic_unit_system.momentum_density, generic_unit_system.energy_density, handler.ERROR_CODE) + ) + + handler.add_method( + "get_epsilon_squared", + (), + (generic_unit_system.length * generic_unit_system.length, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_epsilon_squared", + (generic_unit_system.length * generic_unit_system.length, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_time_step", + (), + (generic_unit_system.time, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_nsmooth", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_nsmooth", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_unit_mass", + (), + (units.g, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_unit_length", + (), + (units.cm, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_unit_time", + (), + (units.s, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_unit_velocity", + (), + (units.cm / units.s, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_bh_tol", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_bh_tol", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_gdgtol", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_gdgtol", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_epsgas", + (), + (generic_unit_system.length, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_epsgas", + (generic_unit_system.length, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_gamma", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_alpha", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_alpha", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + + handler.add_method( + "get_beta", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_beta", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + + handler.add_method( + "get_courant", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_courant", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_nsmtol", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_nsmtol", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_gadget_output_directory", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_gadget_output_directory", + (handler.NO_UNIT,), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_energy_file", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_energy_file", + (handler.NO_UNIT,), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_info_file", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_info_file", + (handler.NO_UNIT,), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_timings_file", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_timings_file", + (handler.NO_UNIT,), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_cpu_file", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_cpu_file", + (handler.NO_UNIT,), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_time_limit_cpu", + (), + (units.s, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_time_limit_cpu", + (units.s, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_type_of_timestep_criterion", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_type_of_timestep_criterion", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + + handler.add_method( + "get_begin_time", + (), + (generic_unit_system.time, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_begin_time", + (generic_unit_system.time, ), + (handler.ERROR_CODE,) + ) + + + handler.add_method( + "get_time_max", + (), + (generic_unit_system.time, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_time_max", + (generic_unit_system.time, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_redshift_begin", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_redshift_begin", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_redshift_max", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_redshift_max", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_omega_zero", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_omega_zero", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_omega_lambda", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_omega_lambda", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_omega_baryon", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_omega_baryon", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_hubble_param", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_hubble_param", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_err_tol_int_accuracy", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_err_tol_int_accuracy", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_max_size_timestep", + (), + (generic_unit_system.time, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_max_size_timestep", + (generic_unit_system.time, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_min_size_timestep", + (), + (generic_unit_system.time, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_min_size_timestep", + (generic_unit_system.time, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_tree_domain_update_frequency", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_tree_domain_update_frequency", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_time_between_statistics", + (), + (generic_unit_system.time, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_time_between_statistics", + (generic_unit_system.time, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_min_gas_temp", + (), + (units.K, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_min_gas_temp", + (units.K, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_min_gas_hsmooth_fractional", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_min_gas_hsmooth_fractional", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_softening_gas_max_phys", + (), + (generic_unit_system.length, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_softening_gas_max_phys", + (generic_unit_system.length, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_softening_halo_max_phys", + (), + (generic_unit_system.length, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_softening_halo_max_phys", + (generic_unit_system.length, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_box_size", + (), + (generic_unit_system.length, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_box_size", + (generic_unit_system.length, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_kinetic_energy", + (), + (generic_unit_system.energy, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_potential_energy", + (), + (generic_unit_system.energy, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_thermal_energy", + (), + (generic_unit_system.energy, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_total_radius", + (), + (generic_unit_system.length, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_center_of_mass_position", + (), + (generic_unit_system.length,generic_unit_system.length,generic_unit_system.length, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_center_of_mass_velocity", + (), + (generic_unit_system.speed,generic_unit_system.speed,generic_unit_system.speed, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_total_mass", + (), + (generic_unit_system.mass, handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_time', + (), + (generic_unit_system.time, handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_redshift', + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + self.stopping_conditions.define_methods(handler) diff --git a/src/amuse/community/gadget2/makefile_options_nogravity b/src/amuse_gadget2/makefile_options_nogravity similarity index 100% rename from src/amuse/community/gadget2/makefile_options_nogravity rename to src/amuse_gadget2/makefile_options_nogravity diff --git a/src/amuse/community/gadget2/makefile_options_normal b/src/amuse_gadget2/makefile_options_normal similarity index 100% rename from src/amuse/community/gadget2/makefile_options_normal rename to src/amuse_gadget2/makefile_options_normal diff --git a/src/amuse/community/gadget2/makefile_options_periodic b/src/amuse_gadget2/makefile_options_periodic similarity index 100% rename from src/amuse/community/gadget2/makefile_options_periodic rename to src/amuse_gadget2/makefile_options_periodic diff --git a/src/amuse/community/gadget2/makefile_options_periodic_nogravity b/src/amuse_gadget2/makefile_options_periodic_nogravity similarity index 100% rename from src/amuse/community/gadget2/makefile_options_periodic_nogravity rename to src/amuse_gadget2/makefile_options_periodic_nogravity diff --git a/src/amuse_gadget2/packages/amuse-gadget2.amuse_deps b/src/amuse_gadget2/packages/amuse-gadget2.amuse_deps new file mode 100644 index 0000000000..a9abd6a4f8 --- /dev/null +++ b/src/amuse_gadget2/packages/amuse-gadget2.amuse_deps @@ -0,0 +1 @@ +c mpi gsl diff --git a/src/amuse_gadget2/packages/amuse-gadget2/.gitignore b/src/amuse_gadget2/packages/amuse-gadget2/.gitignore new file mode 100644 index 0000000000..6d8859383f --- /dev/null +++ b/src/amuse_gadget2/packages/amuse-gadget2/.gitignore @@ -0,0 +1,2 @@ +__amuse_code_output + diff --git a/src/amuse_gadget2/packages/amuse-gadget2/amuse_gadget2 b/src/amuse_gadget2/packages/amuse-gadget2/amuse_gadget2 new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_gadget2/packages/amuse-gadget2/amuse_gadget2 @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_gadget2/packages/amuse-gadget2/pyproject.toml b/src/amuse_gadget2/packages/amuse-gadget2/pyproject.toml new file mode 100644 index 0000000000..b2cefe2e98 --- /dev/null +++ b/src/amuse_gadget2/packages/amuse-gadget2/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-gadget2" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_gadget2/**/*.py"] +exclude = [ + "amuse_gadget2/packages", + "amuse_gadget2/support", + "amuse_gadget2/src", + "amuse_gadget2/tests" + ] +artifacts = ["amuse_gadget2/gadget2_*_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_gadget2/tests/"] + +testpaths = ["amuse_gadget2/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/gadget2/src/Doxyfile b/src/amuse_gadget2/src/Doxyfile similarity index 100% rename from src/amuse/community/gadget2/src/Doxyfile rename to src/amuse_gadget2/src/Doxyfile diff --git a/src/amuse/community/gadget2/src/Makefile b/src/amuse_gadget2/src/Makefile similarity index 100% rename from src/amuse/community/gadget2/src/Makefile rename to src/amuse_gadget2/src/Makefile diff --git a/src/amuse/community/gadget2/src/accel.c b/src/amuse_gadget2/src/accel.c similarity index 100% rename from src/amuse/community/gadget2/src/accel.c rename to src/amuse_gadget2/src/accel.c diff --git a/src/amuse/community/gadget2/src/allocate.c b/src/amuse_gadget2/src/allocate.c similarity index 100% rename from src/amuse/community/gadget2/src/allocate.c rename to src/amuse_gadget2/src/allocate.c diff --git a/src/amuse/community/gadget2/src/allvars.c b/src/amuse_gadget2/src/allvars.c similarity index 100% rename from src/amuse/community/gadget2/src/allvars.c rename to src/amuse_gadget2/src/allvars.c diff --git a/src/amuse/community/gadget2/src/allvars.h b/src/amuse_gadget2/src/allvars.h similarity index 100% rename from src/amuse/community/gadget2/src/allvars.h rename to src/amuse_gadget2/src/allvars.h diff --git a/src/amuse/community/gadget2/src/begrun.c b/src/amuse_gadget2/src/begrun.c similarity index 100% rename from src/amuse/community/gadget2/src/begrun.c rename to src/amuse_gadget2/src/begrun.c diff --git a/src/amuse/community/gadget2/src/density.c b/src/amuse_gadget2/src/density.c similarity index 100% rename from src/amuse/community/gadget2/src/density.c rename to src/amuse_gadget2/src/density.c diff --git a/src/amuse/community/gadget2/src/density_at_pos.c b/src/amuse_gadget2/src/density_at_pos.c similarity index 100% rename from src/amuse/community/gadget2/src/density_at_pos.c rename to src/amuse_gadget2/src/density_at_pos.c diff --git a/src/amuse/community/gadget2/src/domain.c b/src/amuse_gadget2/src/domain.c similarity index 100% rename from src/amuse/community/gadget2/src/domain.c rename to src/amuse_gadget2/src/domain.c diff --git a/src/amuse/community/gadget2/src/driftfac.c b/src/amuse_gadget2/src/driftfac.c similarity index 100% rename from src/amuse/community/gadget2/src/driftfac.c rename to src/amuse_gadget2/src/driftfac.c diff --git a/src/amuse/community/gadget2/src/endrun.c b/src/amuse_gadget2/src/endrun.c similarity index 100% rename from src/amuse/community/gadget2/src/endrun.c rename to src/amuse_gadget2/src/endrun.c diff --git a/src/amuse/community/gadget2/src/forcetree.c b/src/amuse_gadget2/src/forcetree.c similarity index 100% rename from src/amuse/community/gadget2/src/forcetree.c rename to src/amuse_gadget2/src/forcetree.c diff --git a/src/amuse/community/gadget2/src/global.c b/src/amuse_gadget2/src/global.c similarity index 100% rename from src/amuse/community/gadget2/src/global.c rename to src/amuse_gadget2/src/global.c diff --git a/src/amuse/community/gadget2/src/gravtree.c b/src/amuse_gadget2/src/gravtree.c similarity index 100% rename from src/amuse/community/gadget2/src/gravtree.c rename to src/amuse_gadget2/src/gravtree.c diff --git a/src/amuse/community/gadget2/src/gravtree_forcetest.c b/src/amuse_gadget2/src/gravtree_forcetest.c similarity index 100% rename from src/amuse/community/gadget2/src/gravtree_forcetest.c rename to src/amuse_gadget2/src/gravtree_forcetest.c diff --git a/src/amuse/community/gadget2/src/hydra.c b/src/amuse_gadget2/src/hydra.c similarity index 100% rename from src/amuse/community/gadget2/src/hydra.c rename to src/amuse_gadget2/src/hydra.c diff --git a/src/amuse/community/gadget2/src/init.c b/src/amuse_gadget2/src/init.c similarity index 100% rename from src/amuse/community/gadget2/src/init.c rename to src/amuse_gadget2/src/init.c diff --git a/src/amuse/community/gadget2/src/io.c b/src/amuse_gadget2/src/io.c similarity index 100% rename from src/amuse/community/gadget2/src/io.c rename to src/amuse_gadget2/src/io.c diff --git a/src/amuse/community/gadget2/src/longrange.c b/src/amuse_gadget2/src/longrange.c similarity index 100% rename from src/amuse/community/gadget2/src/longrange.c rename to src/amuse_gadget2/src/longrange.c diff --git a/src/amuse/community/gadget2/src/main.c b/src/amuse_gadget2/src/main.c similarity index 100% rename from src/amuse/community/gadget2/src/main.c rename to src/amuse_gadget2/src/main.c diff --git a/src/amuse/community/gadget2/src/makefile_options b/src/amuse_gadget2/src/makefile_options similarity index 100% rename from src/amuse/community/gadget2/src/makefile_options rename to src/amuse_gadget2/src/makefile_options diff --git a/src/amuse/community/gadget2/src/ngb.c b/src/amuse_gadget2/src/ngb.c similarity index 100% rename from src/amuse/community/gadget2/src/ngb.c rename to src/amuse_gadget2/src/ngb.c diff --git a/src/amuse/community/gadget2/src/peano.c b/src/amuse_gadget2/src/peano.c similarity index 100% rename from src/amuse/community/gadget2/src/peano.c rename to src/amuse_gadget2/src/peano.c diff --git a/src/amuse/community/gadget2/src/pm_nonperiodic.c b/src/amuse_gadget2/src/pm_nonperiodic.c similarity index 100% rename from src/amuse/community/gadget2/src/pm_nonperiodic.c rename to src/amuse_gadget2/src/pm_nonperiodic.c diff --git a/src/amuse/community/gadget2/src/pm_periodic.c b/src/amuse_gadget2/src/pm_periodic.c similarity index 100% rename from src/amuse/community/gadget2/src/pm_periodic.c rename to src/amuse_gadget2/src/pm_periodic.c diff --git a/src/amuse/community/gadget2/src/potential.c b/src/amuse_gadget2/src/potential.c similarity index 100% rename from src/amuse/community/gadget2/src/potential.c rename to src/amuse_gadget2/src/potential.c diff --git a/src/amuse/community/gadget2/src/predict.c b/src/amuse_gadget2/src/predict.c similarity index 100% rename from src/amuse/community/gadget2/src/predict.c rename to src/amuse_gadget2/src/predict.c diff --git a/src/amuse/community/gadget2/src/proto.h b/src/amuse_gadget2/src/proto.h similarity index 100% rename from src/amuse/community/gadget2/src/proto.h rename to src/amuse_gadget2/src/proto.h diff --git a/src/amuse/community/gadget2/src/read_ic.c b/src/amuse_gadget2/src/read_ic.c similarity index 100% rename from src/amuse/community/gadget2/src/read_ic.c rename to src/amuse_gadget2/src/read_ic.c diff --git a/src/amuse/community/gadget2/src/restart.c b/src/amuse_gadget2/src/restart.c similarity index 100% rename from src/amuse/community/gadget2/src/restart.c rename to src/amuse_gadget2/src/restart.c diff --git a/src/amuse/community/gadget2/src/run.c b/src/amuse_gadget2/src/run.c similarity index 100% rename from src/amuse/community/gadget2/src/run.c rename to src/amuse_gadget2/src/run.c diff --git a/src/amuse/community/gadget2/src/sigvel.c b/src/amuse_gadget2/src/sigvel.c similarity index 100% rename from src/amuse/community/gadget2/src/sigvel.c rename to src/amuse_gadget2/src/sigvel.c diff --git a/src/amuse/community/gadget2/src/system.c b/src/amuse_gadget2/src/system.c similarity index 100% rename from src/amuse/community/gadget2/src/system.c rename to src/amuse_gadget2/src/system.c diff --git a/src/amuse/community/gadget2/src/tags.h b/src/amuse_gadget2/src/tags.h similarity index 100% rename from src/amuse/community/gadget2/src/tags.h rename to src/amuse_gadget2/src/tags.h diff --git a/src/amuse/community/gadget2/src/timestep.c b/src/amuse_gadget2/src/timestep.c similarity index 100% rename from src/amuse/community/gadget2/src/timestep.c rename to src/amuse_gadget2/src/timestep.c diff --git a/src/amuse/community/gadget2/src/timestep_limit.c b/src/amuse_gadget2/src/timestep_limit.c similarity index 100% rename from src/amuse/community/gadget2/src/timestep_limit.c rename to src/amuse_gadget2/src/timestep_limit.c diff --git a/src/amuse_gadget2/support/aclocal.m4 b/src/amuse_gadget2/support/aclocal.m4 new file mode 100644 index 0000000000..b8249c1acd --- /dev/null +++ b/src/amuse_gadget2/support/aclocal.m4 @@ -0,0 +1,20 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/gsl.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_gadget2/support/config.mk.in b/src/amuse_gadget2/support/config.mk.in new file mode 100644 index 0000000000..519f6cfb3f --- /dev/null +++ b/src/amuse_gadget2/support/config.mk.in @@ -0,0 +1,34 @@ +# Compilers +CC = @CC@ +CXX = @CXX@ + +MPICC = @MPICC@ +MPICXX = @MPICXX@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ + + +# General flags and libraries +CFLAGS = @CFLAGS@ +CXXFLAGS = @CXXFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +STOPCONDMPI_CFLAGS = @STOPCONDMPI_CFLAGS@ +STOPCONDMPI_LIBS = @STOPCONDMPI_LIBS@ + +AMUSE_MPI_CFLAGS = @AMUSE_MPI_CFLAGS@ +AMUSE_MPI_LIBS = @AMUSE_MPI_LIBS@ + + +# External dependencies +GSL_FLAGS = @GSL_FLAGS@ +GSL_LIBS = @GSL_LIBS@ + diff --git a/src/amuse_gadget2/support/configure b/src/amuse_gadget2/support/configure new file mode 100755 index 0000000000..ac7851b3ee --- /dev/null +++ b/src/amuse_gadget2/support/configure @@ -0,0 +1,7233 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-gadget2 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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'" + +as_awk_strverscmp=' + # Use only awk features that work with 7th edition Unix awk (1978). + # My, what an old awk you have, Mr. Solaris! + END { + while (length(v1) && length(v2)) { + # Set d1 to be the next thing to compare from v1, and likewise for d2. + # Normally this is a single character, but if v1 and v2 contain digits, + # compare them as integers and fractions as strverscmp does. + if (v1 ~ /^[0-9]/ && v2 ~ /^[0-9]/) { + # Split v1 and v2 into their leading digit string components d1 and d2, + # and advance v1 and v2 past the leading digit strings. + for (len1 = 1; substr(v1, len1 + 1) ~ /^[0-9]/; len1++) continue + for (len2 = 1; substr(v2, len2 + 1) ~ /^[0-9]/; len2++) continue + d1 = substr(v1, 1, len1); v1 = substr(v1, len1 + 1) + d2 = substr(v2, 1, len2); v2 = substr(v2, len2 + 1) + if (d1 ~ /^0/) { + if (d2 ~ /^0/) { + # Compare two fractions. + while (d1 ~ /^0/ && d2 ~ /^0/) { + d1 = substr(d1, 2); len1-- + d2 = substr(d2, 2); len2-- + } + if (len1 != len2 && ! (len1 && len2 && substr(d1, 1, 1) == substr(d2, 1, 1))) { + # The two components differ in length, and the common prefix + # contains only leading zeros. Consider the longer to be less. + d1 = -len1 + d2 = -len2 + } else { + # Otherwise, compare as strings. + d1 = "x" d1 + d2 = "x" d2 + } + } else { + # A fraction is less than an integer. + exit 1 + } + } else { + if (d2 ~ /^0/) { + # An integer is greater than a fraction. + exit 2 + } else { + # Compare two integers. + d1 += 0 + d2 += 0 + } + } + } else { + # The normal case, without worrying about digits. + d1 = substr(v1, 1, 1); v1 = substr(v1, 2) + d2 = substr(v2, 1, 1); v2 = substr(v2, 2) + } + if (d1 < d2) exit 1 + if (d1 > d2) exit 2 + } + # Beware Solaris /usr/xgp4/bin/awk (at least through Solaris 10), + # which mishandles some comparisons of empty strings to integers. + if (length(v2)) exit 1 + if (length(v1)) exit 2 + } +' + +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='amuse-gadget2' +PACKAGE_TARNAME='amuse-gadget2' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-gadget2 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +GSL_CONFIG +GSL_LIBS +GSL_CFLAGS +GSL_FLAGS +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +FOUND_AMUSE_MPI +AMUSE_MPI_LIBS +AMUSE_MPI_CFLAGS +FOUND_STOPCONDMPI +STOPCONDMPI_LIBS +STOPCONDMPI_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +RANLIB +AR +target_os +target_vendor +target_cpu +target +ac_ct_CXX +CXXFLAGS +CXX +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +with_gsl_prefix +with_gsl_exec_prefix +enable_gsltest +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCONDMPI_CFLAGS +STOPCONDMPI_LIBS +AMUSE_MPI_CFLAGS +AMUSE_MPI_LIBS +MPICC +GSL_CFLAGS +GSL_LIBS +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-gadget2 1.0 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/amuse-gadget2] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-gadget2 1.0:";; + 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] + --disable-gsltest Do not try to compile and run a test GSL program + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gsl-prefix=PFX Prefix where GSL is installed (optional) + --with-gsl-exec-prefix=PFX Exec prefix where GSL is installed (optional) + +Some influential environment variables: + 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 + CXX C++ compiler command + CXXFLAGS C++ compiler flags + 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 + STOPCONDMPI_CFLAGS + C compiler flags for STOPCONDMPI, overriding pkg-config + STOPCONDMPI_LIBS + linker flags for STOPCONDMPI, overriding pkg-config + AMUSE_MPI_CFLAGS + C compiler flags for AMUSE_MPI, overriding pkg-config + AMUSE_MPI_LIBS + linker flags for AMUSE_MPI, overriding pkg-config + MPICC MPI C compiler command + GSL_CFLAGS C compiler flags for GSL, overriding pkg-config + GSL_LIBS linker flags for GSL, overriding pkg-config + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-gadget2 configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-gadget2 $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + +# Find AMUSE libraries + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCONDMPI_CFLAGS" + amuse_save_LIB_LIBS="$STOPCONDMPI_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing get_set_conditions_" >&5 +printf %s "checking for library containing get_set_conditions_... " >&6; } +if test ${ac_cv_search_get_set_conditions_+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char get_set_conditions_ (); +int +main (void) +{ +return get_set_conditions_ (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcondmpi +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_get_set_conditions_=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_get_set_conditions_+y} +then : + break +fi +done +if test ${ac_cv_search_get_set_conditions_+y} +then : + +else $as_nop + ac_cv_search_get_set_conditions_=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_get_set_conditions_" >&5 +printf "%s\n" "$ac_cv_search_get_set_conditions_" >&6; } +ac_res=$ac_cv_search_get_set_conditions_ +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCONDMPI="yes" + STOPCONDMPI_LIBS="$LIBS" + STOPCONDMPI_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCONDMPI" >&5 +printf %s "checking for STOPCONDMPI... " >&6; } + +if test -n "$STOPCONDMPI_CFLAGS"; then + pkg_cv_STOPCONDMPI_CFLAGS="$STOPCONDMPI_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcondmpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcondmpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCONDMPI_CFLAGS=`$PKG_CONFIG --cflags "stopcondmpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCONDMPI_LIBS"; then + pkg_cv_STOPCONDMPI_LIBS="$STOPCONDMPI_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcondmpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcondmpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCONDMPI_LIBS=`$PKG_CONFIG --libs "stopcondmpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCONDMPI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcondmpi" 2>&1` + else + STOPCONDMPI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcondmpi" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCONDMPI_PKG_ERRORS" >&5 + + + FOUND_STOPCONDMPI="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCONDMPI="no" + +else + STOPCONDMPI_CFLAGS=$pkg_cv_STOPCONDMPI_CFLAGS + STOPCONDMPI_LIBS=$pkg_cv_STOPCONDMPI_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCONDMPI="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCONDMPI}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCONDMPI_CFLAGS="${STOPCONDMPI_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCONDMPI_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCONDMPI_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$AMUSE_MPI_CFLAGS" + amuse_save_LIB_LIBS="$AMUSE_MPI_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing get_comm_world" >&5 +printf %s "checking for library containing get_comm_world... " >&6; } +if test ${ac_cv_search_get_comm_world+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char get_comm_world (); +int +main (void) +{ +return get_comm_world (); + ; + return 0; +} +_ACEOF +for ac_lib in '' amuse_mpi +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_get_comm_world=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_get_comm_world+y} +then : + break +fi +done +if test ${ac_cv_search_get_comm_world+y} +then : + +else $as_nop + ac_cv_search_get_comm_world=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_get_comm_world" >&5 +printf "%s\n" "$ac_cv_search_get_comm_world" >&6; } +ac_res=$ac_cv_search_get_comm_world +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_AMUSE_MPI="yes" + AMUSE_MPI_LIBS="$LIBS" + AMUSE_MPI_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for AMUSE_MPI" >&5 +printf %s "checking for AMUSE_MPI... " >&6; } + +if test -n "$AMUSE_MPI_CFLAGS"; then + pkg_cv_AMUSE_MPI_CFLAGS="$AMUSE_MPI_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"amuse_mpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "amuse_mpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_AMUSE_MPI_CFLAGS=`$PKG_CONFIG --cflags "amuse_mpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$AMUSE_MPI_LIBS"; then + pkg_cv_AMUSE_MPI_LIBS="$AMUSE_MPI_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"amuse_mpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "amuse_mpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_AMUSE_MPI_LIBS=`$PKG_CONFIG --libs "amuse_mpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + AMUSE_MPI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "amuse_mpi" 2>&1` + else + AMUSE_MPI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "amuse_mpi" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$AMUSE_MPI_PKG_ERRORS" >&5 + + + FOUND_AMUSE_MPI="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_AMUSE_MPI="no" + +else + AMUSE_MPI_CFLAGS=$pkg_cv_AMUSE_MPI_CFLAGS + AMUSE_MPI_LIBS=$pkg_cv_AMUSE_MPI_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_AMUSE_MPI="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_AMUSE_MPI}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + AMUSE_MPI_CFLAGS="${AMUSE_MPI_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + AMUSE_MPI_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + AMUSE_MPI_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +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 + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + + + +# Check whether --with-gsl-prefix was given. +if test ${with_gsl_prefix+y} +then : + withval=$with_gsl_prefix; gsl_prefix="$withval" +else $as_nop + gsl_prefix="" +fi + + +# Check whether --with-gsl-exec-prefix was given. +if test ${with_gsl_exec_prefix+y} +then : + withval=$with_gsl_exec_prefix; gsl_exec_prefix="$withval" +else $as_nop + gsl_exec_prefix="" +fi + +# Check whether --enable-gsltest was given. +if test ${enable_gsltest+y} +then : + enableval=$enable_gsltest; +else $as_nop + enable_gsltest=yes +fi + + + if test "x${GSL_CONFIG+set}" != xset ; then + if test "x$gsl_prefix" != x ; then + GSL_CONFIG="$gsl_prefix/bin/gsl-config" + fi + if test "x$gsl_exec_prefix" != x ; then + GSL_CONFIG="$gsl_exec_prefix/bin/gsl-config" + fi + fi + + + if test "x${GSL_CONFIG+set}" == xset ; then + if test -x "${GSL_CONFIG}" ; then + gsl_config_exists=yes + else + gsl_config_exists=no + fi + fi + FOUND_GSL=no + if test "x$GSL_CFLAGS" != x ; then + if test "x$GSL_LIBS" != x ; then + GSL_FLAGS="$GSL_CFLAGS" + GSL_LIBS="$GSL_LIBS" + FOUND_GSL=yes + + fi + fi + if test "$FOUND_GSL" = "no"; then + if test "x$gsl_config_exists" != xyes ; then + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GSL" >&5 +printf %s "checking for GSL... " >&6; } + +if test -n "$GSL_CFLAGS"; then + pkg_cv_GSL_CFLAGS="$GSL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gsl >= 1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gsl >= 1.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GSL_CFLAGS=`$PKG_CONFIG --cflags "gsl >= 1.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$GSL_LIBS"; then + pkg_cv_GSL_LIBS="$GSL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gsl >= 1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gsl >= 1.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GSL_LIBS=`$PKG_CONFIG --libs "gsl >= 1.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + GSL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gsl >= 1.0" 2>&1` + else + GSL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gsl >= 1.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$GSL_PKG_ERRORS" >&5 + + + + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + + +else + GSL_CFLAGS=$pkg_cv_GSL_CFLAGS + GSL_LIBS=$pkg_cv_GSL_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + GSL_FLAGS="$GSL_CFLAGS" + GSL_LIBS="$GSL_LIBS" + FOUND_GSL=yes + + + FOUND_GSL=yes + +fi + fi + fi + if test "$FOUND_GSL" = "no"; then + # Extract the first word of "gsl-config", so it can be a program name with args. +set dummy gsl-config; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_GSL_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $GSL_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_GSL_CONFIG="$GSL_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_GSL_CONFIG="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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_GSL_CONFIG" && ac_cv_path_GSL_CONFIG="no" + ;; +esac +fi +GSL_CONFIG=$ac_cv_path_GSL_CONFIG +if test -n "$GSL_CONFIG"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GSL_CONFIG" >&5 +printf "%s\n" "$GSL_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + min_gsl_version=1.0 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GSL - version >= $min_gsl_version" >&5 +printf %s "checking for GSL - version >= $min_gsl_version... " >&6; } + no_gsl="" + if test "$GSL_CONFIG" = "no" ; then + no_gsl=yes + else + GSL_FLAGS=`$GSL_CONFIG --cflags` + GSL_LIBS=`$GSL_CONFIG --libs` + + gsl_version=`$GSL_CONFIG --version` + as_arg_v1=$gsl_version +as_arg_v2=$min_gsl_version +awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null +case $? in #( + 1) : + no_gsl=yes ;; #( + 0) : + ;; #( + 2) : + ;; #( + *) : + ;; +esac + fi + if test "x$no_gsl" = x ; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + FOUND_GSL=yes + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + if test "$GSL_CONFIG" = "no" ; then + echo "*** The gsl-config script installed by GSL could not be found" + echo "*** If GSL was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the GSL_CONFIG environment variable to the" + echo "*** full path to gsl-config." + else + if test -f conf.gsltest ; then + : + else + echo "*** Could not run GSL test program, checking why..." + CFLAGS="$CFLAGS $GSL_FLAGS" + LIBS="$LIBS $GSL_LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +int +main (void) +{ + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding GSL or finding the wrong" + echo "*** version of GSL. If it is not finding GSL, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" +else $as_nop + echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means GSL was incorrectly installed" + echo "*** or that you have moved GSL since it was installed. In the latter case, you" + echo "*** may want to edit the gsl-config script: $GSL_CONFIG" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + # GSL_FLAGS="" + # GSL_LIBS="" + : + fi + + fi + + + rm -f conf.gsltest + + +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=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-gadget2 $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-gadget2 config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_gadget2/support/configure.ac b/src/amuse_gadget2/support/configure.ac new file mode 100644 index 0000000000..a7d5dcc9e5 --- /dev/null +++ b/src/amuse_gadget2/support/configure.ac @@ -0,0 +1,43 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-gadget2], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_CC() +AC_PROG_CXX() + + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + +# Find AMUSE libraries +AMUSE_LIB_STOPCONDMPI() +AMUSE_LIB_AMUSE_MPI() + + +# Find external dependencies +AC_LANG_PUSH([C]) +AX_MPI() +AX_PATH_GSL(1.0, [FOUND_GSL=yes]) +AC_LANG_POP([C]) + +AC_LANG_PUSH([C++]) +AX_MPI() +AC_LANG_POP([C++]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_gadget2/support/shared b/src/amuse_gadget2/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_gadget2/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_gadget2.py b/src/amuse_gadget2/tests/test_gadget2.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_gadget2.py rename to src/amuse_gadget2/tests/test_gadget2.py index 8a2db093d5..f5ef0d9341 100644 --- a/src/amuse/test/suite/codes_tests/test_gadget2.py +++ b/src/amuse_gadget2/tests/test_gadget2.py @@ -1,8 +1,8 @@ import numpy import os.path -from amuse.test.amusetest import TestWithMPI -from amuse.community.gadget2.interface import Gadget2Interface, Gadget2 +from amuse.support.testing.amusetest import TestWithMPI +from amuse_gadget2.interface import Gadget2Interface, Gadget2 from amuse.ext.evrard_test import MakeEvrardTest, new_evrard_gas_sphere, body_centered_grid_unit_cube from amuse.ext.spherical_model import new_uniform_spherical_particle_distribution from amuse.support.exceptions import AmuseException @@ -360,7 +360,7 @@ def test10(self): class TestGadget2(TestWithMPI): - classname = "" + classname = "Gadget2" UnitLength = 3.085678e21 | units.cm # ~ 1.0 kpc UnitMass = 1.989e43 | units.g # 1.0e10 solar masses @@ -378,7 +378,7 @@ def test1(self): instance = Gadget2(self.default_converter, **default_options) instance.initialize_code() self.assertTrue( - os.path.join("__amuse_code_output", "gadget2") + os.path.join("__amuse_code_output", "amuse_gadget2") in str(instance.parameters.gadget_output_directory) ) instance.commit_parameters() diff --git a/src/amuse_galactics/.gitignore b/src/amuse_galactics/.gitignore new file mode 100644 index 0000000000..1269488f7f --- /dev/null +++ b/src/amuse_galactics/.gitignore @@ -0,0 +1 @@ +data diff --git a/src/amuse_galactics/Makefile b/src/amuse_galactics/Makefile new file mode 100644 index 0000000000..d57841e6bf --- /dev/null +++ b/src/amuse_galactics/Makefile @@ -0,0 +1,72 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a set of binaries +CFLAGS += $(DEPFLAGS) +FCFLAGS += -ffixed-line-length-0 -fno-backslash -fallow-argument-mismatch + +EXENAMES := dbh genhalo genbulge getfreqs gendisk diskdf toascii +GASEXENAMES := $(EXENAMES) gengas + +EXES := $(patsubst %,data/bin/%,$(EXENAMES)) +GASEXES := $(patsubst %,data/gbin/%,$(GASEXENAMES)) + +data/bin: + mkdir -p data/bin + +data/gbin: + mkdir -p data/gbin + +$(EXES) &: | data/bin + $(MAKE) -C src/src all CC="$(CC)" CFLAGS="$(CFLAGS)" F77="$(FC)" FFLAGS="$(FCFLAGS)" PGSTUB=1 + $(MAKE) -C src/src install + $(MAKE) -C src/potsrc all CC="$(CC)" CFLAGS="$(CFLAGS)" F77="$(FC)" FFLAGS="$(FCFLAGS)" PGSTUB=1 + $(MAKE) -C src/potsrc install + cp src/bin/* data/bin/ + +$(GASEXES) &: | data/gbin + $(MAKE) -C gas_src/src all CC="$(CC)" CFLAGS="$(CFLAGS)" F77="$(FC)" FFLAGS="$(FCFLAGS)" FFLAGS2="$(FCFLAGS)" PGSTUB=1 + $(MAKE) -C gas_src/src install + cp gas_src/bin/* data/gbin/ + + +# Which packages contain which (pseudo-)workers? +amuse-galactics_contains: $(EXES) $(GASEXES) + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src/src clean + $(MAKE) -C src/potsrc clean + $(MAKE) -C gas_src/src clean + rm -rf packages/amuse-galactics/interface packages/amuse-galactics/__amuse_code_output + rm -rf *worker* data + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_galactics/__init__.py b/src/amuse_galactics/__init__.py new file mode 100644 index 0000000000..ed1477771b --- /dev/null +++ b/src/amuse_galactics/__init__.py @@ -0,0 +1,2 @@ +# generated file +from amuse_galactics.interface import Galactics diff --git a/src/amuse_galactics/gas_interface.py b/src/amuse_galactics/gas_interface.py new file mode 100644 index 0000000000..7c88aebae2 --- /dev/null +++ b/src/amuse_galactics/gas_interface.py @@ -0,0 +1,795 @@ +import os +import sys +import os.path +import pickle +import random +import numpy +import hashlib +from subprocess import Popen, PIPE + +from amuse.units.core import * +from amuse.community import * +from amuse.community.interface.common import CommonCode, CommonCodeInterface +from amuse.support.options import option +from amuse.rfi.core import PythonCodeInterface + +# KD95 = 1995MNRAS.277.1341K + +parameters={ + "halo_type_parameter": dict(dtype="int32", default=3 ,description="type of halo 0=no,1=KD95,2=fixed (file),3=spherical df"), + "halo_scale_radius": dict(dtype="float64", default=13.7 | nbody_system.length ,description="halo scale parameter"), + "halo_virial_radius": dict(dtype="float64", default=40. | nbody_system.length ,description="halo 'virial' radius, beyond this the density is tapered smoothly"), + "halo_density_parameter": dict(dtype="float64", default=0.01 | nbody_system.density ,description="halo density parameter"), + "halo_einasto_nindex": dict(dtype="float64", default=5. ,description="einasto profile n-index"), + "halo_einasto_mass": dict(dtype="float64", default=400. ,description="einasto profile total mass"), + "halo_central_potential": dict(dtype="float64", default=-28. | nbody_system.potential ,description="KD95 central potential"), + "halo_v0": dict(dtype="float64", default=2.5 | nbody_system.speed ,description="KD95 v0 parameter"), + "halo_q": dict(dtype="float64", default=1. ,description="KD95 q parameter"), + "halo_coreparam": dict(dtype="float64", default=0.0 ,description="KD95 core parameter"), + "halo_Ra": dict(dtype="float64", default=4.| nbody_system.length ,description="KD95 Ra parameter"), + "disk_type_parameter": dict(dtype="int32", default=3 ,description="type of disk (0=no,1=KD95,2=gas disk,3=KD95 + gas)"), + "disk_mass": dict(dtype="float64", default=50. ,description="(approx) stellar disk mass"), + "disk_scale_length": dict(dtype="float64", default=3. | nbody_system.length,description="stellar disk exponential scale length"), + "disk_outer_radius": dict(dtype="float64", default=13. | nbody_system.length,description="stellar disk outer radius"), + "disk_scale_height": dict(dtype="float64", default=0.6 | nbody_system.length,description="stellar disk scale height"), + "disk_truncation_dr": dict(dtype="float64", default=1. | nbody_system.length,description="stellar disk truncation width"), + "gas_disk_mass": dict(dtype="float64", default=5. ,description="gas disk mass"), + "gas_disk_scale_length": dict(dtype="float64", default=3. | nbody_system.length,description="gas disk scale length (1/r profile)"), + "gas_disk_outer_radius": dict(dtype="float64", default=26. | nbody_system.length,description="gas disk outer radius"), + "gas_disk_truncation_dr": dict(dtype="float64", default=1. | nbody_system.length,description="gas disk truncation width"), + "gas_disk_sound_speed": dict(dtype="float64", default=0.12 | nbody_system.speed ,description="gas disk sound speed"), + "gas_disk_gamma": dict(dtype="float64", default=1. ,description="gas disk polytropic index"), + "gas_disk_number_of_radial_bins": dict(dtype="int32", default=50 ,description="gas disk nr of radial bins"), + "gas_disk_max_z": dict(dtype="float64", default=5. | nbody_system.length,description="gas disk max z of grid"), + "bulge_type_parameter": dict(dtype="int32", default=3 ,description="type of bulge (0=no, 1=KD95 (untested), 3=spherical df)"), + "bulge_cutoff_potential": dict(dtype="float64", default= -20 | nbody_system.potential ,description="KD95 cutoff potential"), + "bulge_velocity_dispersion": dict(dtype="float64", default= 1. | nbody_system.speed ,description="KD95 velocity dispersion"), + "bulge_scale_radius": dict(dtype="float64", default=0.8 | nbody_system.length,description="bulge scale radius"), + "bulge_cutoff_radius": dict(dtype="float64", default=7. | nbody_system.length,description="bulge cutoff radius"), + "bulge_density_parameter": dict(dtype="float64", default=5.5 | nbody_system.density,description="bulge density parameter"), + "radial_grid_delta_r": dict(dtype="float64", default=0.025 | nbody_system.length,description="radial grid cell size"), + "number_of_grid_intervals": dict(dtype="int32", default=20000 ,description="number of radial grid points"), + "order_of_multipole_expansion": dict(dtype="int32", default=12 ,description="order of multipole expansion"), + "disk_central_radial_vdisp_over_z_vdisp": dict(dtype="float64", default=1. ,description="disk central rdial velocity dispersion in units of z dispersion"), + "disk_scale_length_of_radial_vdisp": dict(dtype="float64", default=3. | nbody_system.length ,description="scale length of radial vel dispersion"), + "number_of_radial_steps_correction_fns": dict(dtype="int32", default=200 ,description="number of radial steps correction functions"), + "number_of_iterations": dict(dtype="int32", default=12 ,description="number of diskdf iterations"), + "halo_streaming_fraction": dict(dtype="float64", default=0.5 ,description="halo streaming factor (to impose rotation, 0.5 is no rotation)"), + "halo_number_of_particles": dict(dtype="int32", default=10000 ,description="number of particles in halo"), + "halo_random_seed": dict(dtype="int64", default=0 ,description="halo random seed"), + "halo_do_center_flag": dict(dtype="bool", default=False ,description="whether to independently center halo"), + "bulge_streaming_fraction": dict(dtype="float64", default=0.5 ,description="bulge streaming fraction (to impose rotation)"), + "bulge_number_of_particles": dict(dtype="int32", default=1000 ,description="number of bulge particles"), + "bulge_random_seed": dict(dtype="int64", default=12345678 ,description="bulge random seed"), + "bulge_do_center_flag": dict(dtype="bool", default=False ,description="whether to independently center bulge "), + "disk_number_of_particles": dict(dtype="int32", default=1000 ,description="stellar disk number of particles"), + "disk_random_seed": dict(dtype="int64", default=98765432 ,description="stellar disk random seed"), + "disk_do_center_flag": dict(dtype="bool", default=False ,description="whether to independently center the stellar disk"), + "gas_disk_number_of_particles": dict(dtype="int32", default=1000 ,description="number of gas particles"), + "gas_disk_velocity_dispersion": dict(dtype="float64", default=0. ,description="velocity dispersion of gas particles"), + "gas_disk_random_seed": dict(dtype="int64", default=543212345 ,description="random seed for gas disk"), + "reuse_cached_model" : dict(dtype="bool", default=True, description="if True reuse cached preexisting model with the same parameters"), +} + +class GaslactICsImplementation(object): + + def __init__(self): + self._output_directory = "./" + self._particles_generated = False + self._particle_data = numpy.array([]) + self._bin_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data", "gbin") + + def get_output_path(self, output_directory): + output_directory.value = self._output_directory + return 0 + + def set_output_path(self, output_directory): + self._output_directory = output_directory + return 0 + + def set_src_bin_path(self, src_bin_path): + self._bin_path = src_bin_path + return 0 + + def initialize_code(self): + self.set_default_parameter_values() + return 0 + + #parameter getters & setters + for par in parameters: + exec("def get_"+par+"(self, value): value.value = self._"+par+"; return 0") + exec("def set_"+par+"(self, value): self._"+par+" = value; return 0") + + def set_default_parameter_values(self): + for par in parameters: + if hasattr(parameters[par]["default"],"unit"): + exec("self._"+par+"=parameters[par]['default'].number") + else: + exec("self._"+par+"=parameters[par]['default']") + + def cleanup_code(self): + return 0 + + def generate_in_dbh_string(self): + in_dbh=[] + + in_dbh.append( str(self._halo_type_parameter) ) + if self._halo_type_parameter==1: + in_dbh.append( str(self._halo_central_potential)+" "+ + str(self._halo_v0)+" "+ + str(self._halo_q)+" "+ + str(self._halo_coreparam)+" "+ + str(self._halo_Ra) ) + if self._halo_type_parameter==3: + in_dbh.append( str(self._halo_scale_radius)+" "+str(self._halo_virial_radius)+" "+str(self._halo_density_parameter) ) + + in_dbh.append(str(self._disk_type_parameter)) + if self._disk_type_parameter in [1,3]: + in_dbh.append( str(self._disk_mass)+" "+ + str(self._disk_scale_length)+" "+ + str(self._disk_outer_radius)+" "+ + str(self._disk_scale_height)+" "+ + str(self._disk_truncation_dr) ) + if self._disk_type_parameter in [2,3]: + in_dbh.append( str(self._gas_disk_mass)+" "+ + str(self._gas_disk_scale_length)+" "+ + str(self._gas_disk_outer_radius)+" "+ + str(self._gas_disk_truncation_dr) ) + in_dbh.append( str(self._gas_disk_sound_speed)+" "+ + str(self._gas_disk_gamma)+" "+ + str(self._gas_disk_number_of_radial_bins)+" "+ + str(self._gas_disk_max_z) ) + + in_dbh.append(str(self._bulge_type_parameter)) + if self._bulge_type_parameter==1: + in_dbh.append( str(self._bulge_density_parameter)+" "+ + str(self._bulge_cutoff_potential)+" "+ + str(self._bulge_velocity_dispersion) ) + if self._bulge_type_parameter==3: + in_dbh.append( str(self._bulge_scale_radius)+" "+ + str(self._bulge_cutoff_radius)+" "+ + str(self._bulge_density_parameter) ) + + in_dbh.append( str(self._radial_grid_delta_r)+" "+ + str(self._number_of_grid_intervals) ) + in_dbh.append( str(self._order_of_multipole_expansion)) + in_dbh.append( "") + + in_dbh="\n".join(in_dbh) + +# print "in_dbh:\n", in_dbh + return in_dbh + + def generate_in_diskdf_string(self): + in_diskdf=[] + + in_diskdf.append( str(self._disk_central_radial_vdisp_over_z_vdisp)+" "+str(self._disk_scale_length_of_radial_vdisp)) + in_diskdf.append( str(self._number_of_radial_steps_correction_fns)) + in_diskdf.append( str(self._number_of_iterations)) + + in_diskdf.append("diskdf.ps/ps") + + in_diskdf="\n".join(in_diskdf) +# print "in_diskdf:\n", in_diskdf + return in_diskdf + + def generate_in_halo_string(self): + in_halo = "{0:.15}\n".format(self._halo_streaming_fraction) + in_halo += "{0}\n".format(self._halo_number_of_particles) + in_halo += "{0}\n".format(self._halo_random_seed) + in_halo += "{0}\n".format(1 if self._halo_do_center_flag else 0) + in_halo += "dbh.dat\n" +# print "in_halo:\n", in_halo + return in_halo + + def generate_in_bulge_string(self): + in_bulge = "{0:.15}\n".format(self._bulge_streaming_fraction) + in_bulge += "{0}\n".format(self._bulge_number_of_particles) + in_bulge += "{0}\n".format(self._bulge_random_seed) + in_bulge += "{0}\n".format(1 if self._bulge_do_center_flag else 0) + in_bulge += "dbh.dat\n" +# print "in_bulge:\n", in_bulge + return in_bulge + + def generate_in_disk_string(self): + in_disk = "{0}\n".format(self._disk_number_of_particles) + in_disk += "{0}\n".format(self._disk_random_seed) + in_disk += "{0}\n".format(1 if self._disk_do_center_flag else 0) + in_disk += "dbh.dat\n" +# print "in_disk:\n", in_disk + return in_disk + + def generate_in_gas_string(self): + in_gas = "{0}\n".format(self._gas_disk_number_of_particles) + in_gas += "{0}\n0.\n".format(self._gas_disk_velocity_dispersion) + in_gas += "{0}\n".format(self._gas_disk_random_seed) +# print "in_gas:\n", in_gas + return in_gas + + def _new_dbh_dir(self, data_directory,in_dbh,in_diskdf): + if not os.path.exists(data_directory): + os.makedirs(data_directory) +# with open(os.path.join(data_directory, "in.gendenspsi"), "w") as f: +# f.write("2000 40\n") + # for clarity, also store the used input parameters in this directory: + with open(os.path.join(data_directory, "in.dbh"), "w") as f: + f.write(in_dbh) + with open(os.path.join(data_directory, "in.diskdf"), "w") as f: + f.write(in_diskdf) + # remove finished-step files + for f in ['dbh.finished','getfreqs.finished','diskdf.finished']: + try: + os.remove(os.path.join( data_directory, f)) + except: + pass + + def _data_directory(self,in_dbh,in_diskdf): + modelhash=hashlib.sha1((in_dbh+in_diskdf).encode()).hexdigest() + return os.path.join(self._output_directory, "model_"+modelhash) + + def model_present(self,model_present): + in_dbh = self.generate_in_dbh_string() + in_diskdf = self.generate_in_diskdf_string() + data_directory=self._data_directory(in_dbh,in_diskdf) + model_present.value=self._directory_contains_valid_model(data_directory) + return 0 + + def _directory_contains_valid_model(self,data_directory): + if os.path.exists(os.path.join( data_directory)) and \ + os.path.exists(os.path.join( data_directory, 'dbh.dat')) and \ + os.path.exists(os.path.join( data_directory, 'dbh.finished')) and \ + os.path.exists(os.path.join( data_directory, 'getfreqs.finished')) and \ + (os.path.exists(os.path.join( data_directory, 'diskdf.finished')) or self._disk_type_parameter in [0,2]): + return True + else: + return False + + def _location_dbh_dat(self, in_dbh,in_diskdf): + data_directory=self._data_directory(in_dbh,in_diskdf) + + if self._directory_contains_valid_model(data_directory) and self._reuse_cached_model: + is_new = False + else: + is_new = True + self._new_dbh_dir(data_directory,in_dbh,in_diskdf) + return data_directory, is_new + + def commit_parameters(self): + try: + in_dbh = self.generate_in_dbh_string() + in_diskdf = self.generate_in_diskdf_string() + dbh_dir, is_new = self._location_dbh_dat(in_dbh, in_diskdf) + self._cwd = dbh_dir + if not is_new: + return 0 + print("Writing output to:", self._cwd) + + print("\n running dbh \n\n") + + proc=Popen([os.path.join(self._bin_path, "dbh")], + cwd = self._cwd, stdin = PIPE, stdout = sys.stdout, stderr = sys.stderr) + proc.communicate(in_dbh.encode()) + if proc.returncode==0: + open(os.path.join(dbh_dir,"dbh.finished"),'a').close() + else: + raise Exception("dbh fail") + + print("\n running getfreqs \n\n") + + proc=Popen([os.path.join(self._bin_path, "getfreqs")], + cwd = self._cwd, stdin = PIPE, stdout = sys.stdout, stderr = sys.stderr) + proc.communicate() + if proc.returncode==0: + open(os.path.join(dbh_dir,"getfreqs.finished"),'a').close() + else: + raise Exception("getfreqs fail") + + print("\n running diskdf \n\n") + + if self._disk_type_parameter in [1,3]: + proc=Popen([os.path.join(self._bin_path, "diskdf")], + cwd = self._cwd, stdin = PIPE, stdout = sys.stdout, stderr = sys.stderr) + proc.communicate(in_diskdf.encode()) + if proc.returncode==0: + open(os.path.join(dbh_dir,"diskdf.finished"),'a').close() + else: + raise Exception("diskdf fail") + + return 0 + except Exception as ex: + print("Exception occurred in commit_parameters:", ex) + return -1 + + def recommit_parameters(self): + return self.commit_parameters() + + def get_number_of_particles_updated(self, number_of_particles_updated,number_of_gas_particles_updated): + if self._particles_generated: + number_of_particles_updated.value = self._number_of_particles_updated + number_of_gas_particles_updated.value = self._number_of_gas_particles_updated + self._particles_generated = False + else: + number_of_particles_updated.value = 0 + return 0 + + def generate_particles(self): + try: + if self._disk_type_parameter in [1,3] and self._disk_number_of_particles>0: + in_disk = self.generate_in_disk_string() + process = Popen([os.path.join(self._bin_path, "gendisk")], + cwd = self._cwd, stdin = PIPE, stdout = PIPE, stderr = PIPE) + out,err=process.communicate(in_disk.encode()) + if process.returncode != 0: + print("error:", err) + return -2 + print(err ," ****") + disk_data=numpy.frombuffer(out,dtype="float32") + else: + disk_data=numpy.array([]) + + if self._disk_type_parameter in [2,3] and self._gas_disk_number_of_particles>0: + in_gas = self.generate_in_gas_string() + process = Popen([os.path.join(self._bin_path, "gengas")], + cwd = self._cwd, stdin = PIPE, stdout = PIPE, stderr = PIPE) + out,err=process.communicate(in_gas.encode()) + if process.returncode != 0: + print("error:", err) + return -2 + gas_data=numpy.frombuffer(out,dtype="float32") + else: + gas_data=numpy.array([]) + + if self._bulge_type_parameter in [1,3] and self._bulge_number_of_particles>0: + in_bulge = self.generate_in_bulge_string() + process = Popen([os.path.join(self._bin_path, "genbulge")], + cwd = self._cwd, stdin = PIPE, stdout = PIPE, stderr = PIPE) + out,err=process.communicate(in_bulge.encode()) + if process.returncode != 0: + print("error:", err) + return -3 + bulge_data=numpy.frombuffer(out,dtype="float32") + else: + bulge_data=numpy.array([]) + + if self._halo_type_parameter in [1,3] and self._halo_number_of_particles>0: + in_halo = self.generate_in_halo_string() + process = Popen([os.path.join(self._bin_path, "genhalo")], + cwd = self._cwd, stdin = PIPE, stdout = PIPE, stderr = PIPE) + out, err = process.communicate(in_halo.encode()) + if process.returncode != 0: + print("error:", err) + return -4 + halo_data=numpy.frombuffer(out,dtype="float32") + else: + halo_data=numpy.array([]) + + self._number_of_particles_updated = len(gas_data)//8+(len(halo_data)+len(bulge_data)+len(disk_data))//7 + self._number_of_gas_particles_updated = len(gas_data)//8 + self._number_of_halo_particles=len(halo_data)//7 + self._number_of_bulge_particles=len(bulge_data)//7 + self._number_of_disk_particles=len(disk_data)//7 + self._number_of_gas_particles=len(gas_data)//8 + gas_posdata=gas_data[8*numpy.arange(self._number_of_gas_particles*7)//7] + + gammafactor=1. if self._gas_disk_gamma==1 else 1/self._gas_disk_gamma/(self._gas_disk_gamma-1) + self._gas_internal_energy=gammafactor*gas_data[8*numpy.arange(self._number_of_gas_particles)+7]**2 + data=numpy.concatenate((gas_posdata,disk_data,bulge_data,halo_data)) + self._particle_data = numpy.reshape(data,( self._number_of_particles_updated,7)) + self._particles_generated = True + return 0 + except Exception as ex: + print("Exception occurred in generate_particles:", ex) + return -1 + + def get_number_of_particles(self,nhalo,nbulge,ndisk,ngas): + try: + nhalo.value=self._number_of_halo_particles + nbulge.value=self._number_of_bulge_particles + ndisk.value=self._number_of_disk_particles + ngas.value=self._number_of_gas_particles + return 0 + except: + return -1 + + def get_mass(self, index_of_the_particle, mass, length): + try: + mass.value = self._particle_data[index_of_the_particle, 0] + return 0 + except: + return -1 + + def get_position(self, index_of_the_particle, x, y, z, length): + try: + x.value = self._particle_data[index_of_the_particle, 1] + y.value = self._particle_data[index_of_the_particle, 2] + z.value = self._particle_data[index_of_the_particle, 3] + return 0 + except: + return -1 + + def get_velocity(self, index_of_the_particle, vx, vy, vz, length): + try: + vx.value = self._particle_data[index_of_the_particle, 4] + vy.value = self._particle_data[index_of_the_particle, 5] + vz.value = self._particle_data[index_of_the_particle, 6] + return 0 + except: + return -1 + + def get_internal_energy(self, index_of_the_particle, u, length): + try: + u.value = self._gas_internal_energy[index_of_the_particle] + return 0 + except: + return -1 + +class GaslactICsInterface(PythonCodeInterface, CommonCodeInterface, LiteratureReferencesMixIn, + CodeWithDataDirectories): + """ + GaslactICs is a variant of GalactICs which allows for the inclusion of a gas + disk. It generates self-consistent disc-bulge-halo-gas galaxy models. + The bulge and halo distribution functions (DFs) are functions of E and L_z + only. The halo's flattening and rotation can be specified. The disc DF is a + function of E and L_z and a third 'integral', E_z, the vertical energy, + which is approximately conserved in a warm disc with vertical extent. A + simulation of a sample model shows that in practice the models are very + close to equilibrium, making them ideal for experiments on instabilities in + galactic discs. + + Relevant references: + .. [#] Kuijken K., Dubinski J., 1995, MNRAS, 277, 1341 (original version) + .. [#] Widrow L.M., Dubinski J., 2005, ApJ, 631, 838 (2nd version) + .. [#] Widrow L.M., Pym B., Dubinski J., 2008, ApJ, 679, 1239 (current version) + .. [#] Pelupessy, F. I. et al., 2013, The Astrophysical Multipurpose Software Environment, + Astronomy and Astrophysics 557, 84 [2013A&A...557A..84P] (gas version) + """ + + def __init__(self, **options): + PythonCodeInterface.__init__(self, GaslactICsImplementation, **options) + LiteratureReferencesMixIn.__init__(self) + CodeWithDataDirectories.__init__(self) + + def _check_if_worker_is_up_to_date(self): + if not os.path.exists(os.path.join(GaslactICsImplementation()._bin_path, "dbh")): + raise exceptions.CodeException( + "The worker code of the '{0}' interface class is not up to date.\n" + "Please do a 'make clean; make' in the root directory.".format(type(self).__name__)) + + @option(type="string", sections=('data',)) + def output_data_root_directory(self): + """ + The root directory of the output data, + read - write directory + """ + return os.path.join(get_amuse_root_dir(), 'data') + + def get_output_directory(self): + """ + Returns the root name of the directory to use by the + application to store it's output / temporary files in. + """ + return os.path.join(self.output_data_root_directory, 'gaslactics', 'output') + + new_particle = None + + def delete_particle(self, index_of_the_particle): + return 0 + + @legacy_function + def get_output_path(): + function = LegacyFunctionSpecification() + function.addParameter('output_directory', dtype='string', direction=function.OUT, + description = "The path to the output directory.") + function.result_type = 'int32' + return function + + @legacy_function + def set_output_path(): + function = LegacyFunctionSpecification() + function.addParameter('output_directory', dtype='string', direction=function.IN, + description = "The path to the output directory.") + function.result_type = 'int32' + return function + + #parameter getters & setters + # boolean parameters + for par in parameters: + dtype=parameters[par]["dtype"] + if hasattr(parameters[par]["default"],"unit"): + unit=parameters[par]["default"].unit.reference_string() + else: + unit="None" + exec("@legacy_function\ndef get_"+par+"():\n function = LegacyFunctionSpecification()\n" + " function.addParameter('value', dtype='"+dtype+"', direction=function.OUT, unit="+unit+")\n" + " function.result_type = 'int32'\n return function") + exec("@legacy_function\ndef set_"+par+"():\n function = LegacyFunctionSpecification()\n" + " function.addParameter('value', dtype='"+dtype+"', direction=function.IN, unit="+unit+")\n" + " function.result_type = 'int32'\n return function") + + def invoke_state_change2(self): + pass + + def invoke_state_change_updated(self): + pass + + @legacy_function + def generate_particles(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + @legacy_function + def get_number_of_particles_updated(): + """ + Return the number of particles added during the last generate_particles. + """ + function = LegacyFunctionSpecification() + function.addParameter('number_of_particles_updated', dtype='int32', direction=function.OUT) + function.addParameter('number_of_gas_particles_updated', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_number_of_particles(): + """ + Return the number of halo/bulge/disk particles of the last generate_particles. + """ + function = LegacyFunctionSpecification() + function.addParameter('number_of_halo_particles', dtype='int32', direction=function.OUT) + function.addParameter('number_of_bulge_particles', dtype='int32', direction=function.OUT) + function.addParameter('number_of_disk_particles', dtype='int32', direction=function.OUT) + function.addParameter('number_of_gas_particles', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_mass(): + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('mass', dtype='float64', direction=function.OUT, description = "The current mass of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + @legacy_function + def get_position(): + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('x', dtype='float64', direction=function.OUT, description = "The current x component of the position vector of the particle") + function.addParameter('y', dtype='float64', direction=function.OUT, description = "The current y component of the position vector of the particle") + function.addParameter('z', dtype='float64', direction=function.OUT, description = "The current z component of the position vector of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + @legacy_function + def get_velocity(): + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('vx', dtype='float64', direction=function.OUT, description = "The current x component of the velocity vector of the particle") + function.addParameter('vy', dtype='float64', direction=function.OUT, description = "The current y component of the velocity vector of the particle") + function.addParameter('vz', dtype='float64', direction=function.OUT, description = "The current z component of the velocity vector of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + @legacy_function + def get_internal_energy(): + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('u', dtype='float64', direction=function.OUT, + description = "internal energy of gas particle", unit=nbody_system.speed**2) + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + @legacy_function + def model_present(): + """ + Return whether a valid galaxy model is present. + """ + function = LegacyFunctionSpecification() + function.addParameter('model_present', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + +class GaslactICs(CommonCode): + + def __init__(self, unit_converter = None, **options): + self.unit_converter = unit_converter + InCodeComponentImplementation.__init__(self, GaslactICsInterface(**options), **options) + + def initialize_code(self): + result = self.overridden().initialize_code() + self.parameters.set_defaults() + self.ensure_data_directory_exists(self.get_output_directory()) + self.parameters.output_directory = self.get_output_directory() + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_output_path", + "set_output_path", + "output_directory", + "The path to the output directory", + default_value = "./" + ) + + # boolean parameters + for par in parameters: + if parameters[par]["dtype"]=="bool": + handler.add_boolean_parameter( + "get_"+par, + "set_"+par, + par, + parameters[par]["description"], + default_value=parameters[par]["default"] + ) + else: + handler.add_method_parameter( + "get_"+par, + "set_"+par, + par, + parameters[par]["description"], + default_value=parameters[par]["default"] + ) + + def define_methods(self, handler): + CommonCode.define_methods(self, handler) + handler.add_method("generate_particles", (), (handler.ERROR_CODE,)) + handler.add_method("get_number_of_particles_updated", (), (handler.NO_UNIT,handler.NO_UNIT, handler.ERROR_CODE,)) + + handler.add_method("get_mass", (handler.INDEX,), + (nbody_system.mass, handler.ERROR_CODE) + ) + handler.add_method("get_position", (handler.INDEX,), + (nbody_system.length, nbody_system.length, nbody_system.length, handler.ERROR_CODE) + ) + handler.add_method("get_velocity", (handler.INDEX,), + (nbody_system.speed, nbody_system.speed, nbody_system.speed, handler.ERROR_CODE) + ) + + handler.add_method("get_output_path", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_output_path", (handler.NO_UNIT,), (handler.ERROR_CODE,)) + + for par in parameters: + if hasattr(parameters[par]["default"],"unit"): + unit=parameters[par]["default"].unit + else: + unit=handler.NO_UNIT + handler.add_method("get_"+par, (), (unit, handler.ERROR_CODE,)) + handler.add_method("set_"+par, (unit, ), (handler.ERROR_CODE,)) + + def define_converter(self, handler): + if not self.unit_converter is None: + handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) + + def define_particle_sets(self, handler): + handler.define_set('particles', 'index_of_the_particle') + handler.set_new('particles', 'new_particle') + handler.set_delete('particles', 'delete_particle') + handler.add_getter('particles', 'get_mass') + handler.add_getter('particles', 'get_position') + handler.add_getter('particles', 'get_velocity') + + handler.define_set('gas_particles', 'index_of_the_particle') + handler.set_new('gas_particles', 'new_particle') + handler.set_delete('gas_particles', 'delete_particle') + handler.add_getter('gas_particles', 'get_mass') + handler.add_getter('gas_particles', 'get_position') + handler.add_getter('gas_particles', 'get_velocity') + handler.add_getter('gas_particles', 'get_internal_energy') + + def define_state(self, handler): + CommonCode.define_state(self, handler) + handler.add_transition('INITIALIZED','EDIT','commit_parameters') + handler.add_transition('RUN','PARAMETER_CHANGE_A','invoke_state_change2') + handler.add_transition('EDIT','PARAMETER_CHANGE_B','invoke_state_change2') + handler.add_transition('PARAMETER_CHANGE_A','RUN','recommit_parameters') + handler.add_transition('PARAMETER_CHANGE_B','EDIT','recommit_parameters') + handler.add_transition('EDIT', 'UPDATE', 'generate_particles', False) + handler.add_transition('UPDATE', 'RUN', 'update_particle_set') + handler.add_transition('RUN', 'EDIT', 'clear_particle_set') + handler.add_method('RUN', 'invoke_state_change_updated') + handler.add_method('EDIT', 'get_number_of_particles_updated') + handler.add_method('UPDATE', 'get_number_of_particles_updated') + handler.add_method('RUN', 'get_number_of_particles_updated') + handler.add_method('RUN', 'get_mass') + handler.add_method('RUN', 'get_position') + handler.add_method('RUN', 'get_velocity') + + def define_state(self, handler): + CommonCode.define_state(self, handler) + + handler.add_transition('INITIALIZED','EDIT','commit_parameters') + handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False) + handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False) + handler.add_transition('UPDATE','CHANGE_PARAMETERS_UPDATE','before_set_parameter', False) + handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters') + handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') + handler.add_transition('CHANGE_PARAMETERS_UPDATE','UPDATE','recommit_parameters') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_UPDATE','before_set_parameter') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'model_present') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'model_present') + handler.add_method('CHANGE_PARAMETERS_UPDATE','model_present') + handler.add_method('INITIALIZED','model_present') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') + handler.add_method('CHANGE_PARAMETERS_UPDATE','before_get_parameter') + handler.add_method('RUN', 'before_get_parameter') + handler.add_method('EDIT', 'before_get_parameter') + handler.add_method('UPDATE','before_get_parameter') + + handler.add_transition('EDIT', 'UPDATE', 'generate_particles', False) + handler.add_transition('UPDATE', 'RUN', 'update_particle_set') + handler.add_transition('RUN', 'EDIT', 'clear_particle_set') + handler.add_method('RUN', 'invoke_state_change_updated') + handler.add_method('EDIT', 'get_number_of_particles_updated') + handler.add_method('UPDATE', 'get_number_of_particles_updated') + handler.add_method('RUN', 'get_number_of_particles_updated') + handler.add_method('RUN', 'get_number_of_particles') + handler.add_method('RUN', 'get_mass') + handler.add_method('RUN', 'get_position') + handler.add_method('RUN', 'get_velocity') + handler.add_method('RUN', 'get_internal_energy') + + def commit_parameters(self): + if not self.model_present(): + print("generating galaxy model, this may take a while...") + self.overridden().commit_parameters() + + def recommit_parameters(self): + if not self.model_present(): + print("(re)generating galaxy model, this may take a while...") + self.overridden().recommit_parameters() + + def generate_particles(self): + result = self.overridden().generate_particles() + self.invoke_state_change_updated() + + def update_particle_set(self): + """ + update the particle set after changes in the code + + this implementation needs to move to the + amuse.datamodel.incode_storage module, as + it uses a lot of internal methods and info! + """ + number_of_updated_particles,number_of_updated_gas_particles = self.get_number_of_particles_updated() + if number_of_updated_particles: + self.particles._private.attribute_storage._add_indices( + list(range(number_of_updated_gas_particles,number_of_updated_particles)) + ) # this should generate disjoint sets (gas_particles not in particles) + if number_of_updated_gas_particles: + self.gas_particles._private.attribute_storage._add_indices( + list(range(number_of_updated_gas_particles)) + ) + + def clear_particle_set(self): + if len(self.particles): + self.particles.remove_particles(self.particles) + if len(self.gas_particles): + self.gas_particles.remove_particles(self.gas_particles) + + @property + def halo_particles(self): + nhalo,nbulge,ndisk,ngas=self.get_number_of_particles() + return self.particles[ngas+ndisk+nbulge:] + + @property + def bulge_particles(self): + nhalo,nbulge,ndisk,ngas=self.get_number_of_particles() + return self.particles[ngas+ndisk:ngas+ndisk+nbulge] + + @property + def disk_particles(self): + nhalo,nbulge,ndisk,ngas=self.get_number_of_particles() + return self.particles[ngas:ngas+ndisk] diff --git a/src/amuse_galactics/gas_src/bin/.gitignore b/src/amuse_galactics/gas_src/bin/.gitignore new file mode 100644 index 0000000000..d6b7ef32c8 --- /dev/null +++ b/src/amuse_galactics/gas_src/bin/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/src/amuse_galactics/gas_src/src/Makefile b/src/amuse_galactics/gas_src/src/Makefile new file mode 100644 index 0000000000..fe81c7f884 --- /dev/null +++ b/src/amuse_galactics/gas_src/src/Makefile @@ -0,0 +1,130 @@ +#Makefile for particle generators of the combined df - June 8/94 - JJD +# +.f.o: + $(FC) $(FFLAGS) -c $*.f + +PGSTUB ?= 0 + +ifeq ($(PGSTUB),0) +PGPLOTLIBS=-L/usr/X11/lib/ -lX11 -L${PGPLOT_DIR} -lpgplot +else +PGPLOTLIBS=pgstub.o +endif + + +ALLFILES= dbh genhalo genbulge gendisk diskdf \ + getfreqs vcirc plothalo plotforce gengas toascii + +INSTALLEDFILES = $(patsubst %,../bin/%,$(ALLFILES)) + +#FFLAGS = -O -extend_source +#CFLAGS = -O2 -DRINGASCII -DASCII -DTP +#LIBS = -lm -lots -lfor +FFLAGS ?= -132 -O2 -ip -nofor-main +FFLAGS2 ?= -O2 -ip + + +CXX_VERSION := $(shell $(CXX) --version) +ifeq ($(findstring clang, $(CXX_VERSION)),clang) + GENLIBS = -lc++ +else + GENLIBS = -lstdc++ +endif + + +all: pgstub.o $(ALLFILES) + +%.o: %.f90 + $(FC) $(FFLAGS2) -g -c -o $@ $< + +%.o: %.f + $(FC) $(FFLAGS) -g -c -o $@ $< + +dbh: dbh.o dbhplot.o polardens.o bulgepotential.o totdens.o halopotential.o \ + pot.o thickdisk2.o diskdens.o dens.o appdiskpot.o plgndr1.o bulgedenspsi.o densrpsi.o \ + polarbulgedens.o polarhalodens.o appdiskdens.o halodens.o erfcen.o \ + modstamp.o fixedhalopot.o sphericaldf_nfw.o bessj01.o \ + erfcc.o bulgedens.o fixedbulgepot.o sphericaldf_hernquist.o alldens.o + $(FC) $(FFLAGS) -o $@ $^ $(LIBS) $(PGPLOTLIBS) + +genhalo: genhalo.o readmassrad.o query.o ran1.o prng_engine_wrapper.o readharmfile.o pot.o \ + halodens.o appdiskpot.o plgndr1.o densrpsi.o erfcen.o fixedhalopot.o thickdisk2.o \ + bessj01.o erfcc.o sphericaldf_nfw.o diskdens.o \ + fixedbulgepot.o sphericaldf_hernquist.o alldens.o + $(FC) $(FFLAGS) -o $@ $^ $(LIBS) $(GENLIBS) + +genbulge: genbulge.o readmassrad.o query.o ran1.o prng_engine_wrapper.o readharmfile.o pot.o \ + bulgedens.o appdiskpot.o plgndr1.o bulgedenspsi.o erfcen.o \ + fixedhalopot.o thickdisk2.o bessj01.o erfcc.o sphericaldf_nfw.o \ + bulgedens.o fixedbulgepot.o sphericaldf_hernquist.o diskdens.o alldens.o + $(FC) $(FFLAGS) -o $@ $^ $(LIBS) $(GENLIBS) + +gendisk: gendisk.o ran1.o prng_engine_wrapper.o query.o readdiskdf.o golden.o simpson.o diskdf5ez.o \ + diskdensf.o readharmfile.o sigr2.o sigz2.o omekap.o diskdens.o \ + splined.o splintd.o diskdf3ez.o diskdenspsi.o pot.o fnamidden.o \ + appdiskpot.o plgndr1.o rcirc.o fixedhalopot.o \ + thickdisk2.o bessj01.o erfcc.o sphericaldf_nfw.o \ + fixedbulgepot.o sphericaldf_hernquist.o alldens.o + $(FC) $(FFLAGS) -o $@ $^ $(LIBS) $(GENLIBS) + +gengas: readharmfile.o diskinfo.o thickdisk2.o bessj01.o erfcc.o gasdisk3.o \ + diskdens.o sphericaldf_nfw.o bessj01.o erfcc.o pot.o force.o query.o \ + fixedhalopot.o appdiskpot.o plgndr1.o appdiskforce.o gengas.o \ + fixedbulgepot.o sphericaldf_hernquist.o alldens.o prng_engine_wrapper.o + $(FC) $(FFLAGS) -o $@ $^ $(LIBS) $(GENLIBS) + +diskdf: diskdf.o diskdf5intez.o diskdensf.o splintd.o splined.o readharmfile.o \ + sigr2.o sigz2.o omekap.o pot.o diskdf3intez.o appdiskpot.o plgndr1.o \ + fnamidden.o rcirc.o diskdens.o modstamp.o fixedhalopot.o \ + thickdisk2.o bessj01.o erfcc.o sphericaldf_nfw.o \ + fixedbulgepot.o sphericaldf_hernquist.o alldens.o + $(FC) $(FFLAGS) $(LIBS) $(GENLIBS) -o $@ $^ $(PGPLOTLIBS) + +getfreqs: newfreqs.o pot.o appdiskpot.o plgndr1.o erfcen.o thickdisk2.o bessj01.o \ + erfcc.o fixedhalopot.o\ + fixedbulgepot.o + $(FC) $(FFLAGS) $(LIBS) -o $@ $^ + +#tobinary: tobinary.o +# $(FC) $(CFLAGS) $(LIBS) -o $@ $^ + +vcirc: vcirc.o query.o readharmfile.o force.o appdiskforce.o bessj01.o erfcc.o\ + appdiskpot.o plgndr1.o sphericaldf_nfw.o diskdens.o fixedhalopot.o \ + thickdisk2.o pot.o fixedbulgepot.o sphericaldf_hernquist.o alldens.o + $(FC) $(FFLAGS) $(LIBS) -o $@ $^ + +plothalo: plothalo.o contourden.o readdiskdf.o diskdens.o halodens.o bulgedens.o \ + bulgedenspsi.o diskdensf.o readharmfile.o sigr2.o densrpsi.o omekap.o pot.o \ + splined.o appdiskpot.o splintd.o diskdenspsi.o erfcen.o plgndr1.o modstamp.o \ + thickdisk2.o sphericaldf_nfw.o fixedhalopot.o bessj01.o erfcc.o \ + bulgedens.o fixedbulgepot.o sphericaldf_hernquist.o alldens.o + $(FC) $(FFLAGS2) -o $@ $^ $(LIBS) $(PGPLOTLIBS) + +plotforce: plotforce.o readharmfile.o readdiskdf.o force.o appdiskforce.o appdiskpot.o \ + diskdensf.o sigr2.o omekap.o plgndr1.o diskdens.o splined.o splintd.o diskdenspsi.o \ + pot.o modstamp.o fixedhalopot.o sphericaldf_nfw.o thickdisk2.o bessj01.o \ + fixedbulgepot.o sphericaldf_hernquist.o erfcc.o alldens.o + $(FC) $(FFLAGS) $(LIBS) -o $@ $^ $(PGPLOTLIBS) + +testgas: testgas.o ran1.o prng_engine_wrapper.o readharmfile.o pot.o \ + halodens.o appdiskpot.o plgndr1.o densrpsi.o erfcen.o fixedhalopot.o thickdisk2.o \ + bessj01.o erfcc.o sphericaldf_nfw.o diskdens.o \ + fixedbulgepot.o sphericaldf_hernquist.o alldens.o + $(FC) $(CFLAGS) -o $@ $^ $(LIBS) + +toascii: toascii.o + $(CC) $(CFLAGS) toascii.o -o toascii $(LIBS) + + +clean: + rm -f *.o *.mod *.bck + rm -f $(ALLFILES) + rm -f $(INSTALLEDFILES) + +purge: clean + +install: all + cp -f $(ALLFILES) ../bin + +#flatdiskpot.o: flatdiskpot.cc +# g++ -I/software/local/include diff --git a/src/amuse/community/galactics/gas_src/src/alldens.f b/src/amuse_galactics/gas_src/src/alldens.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/alldens.f rename to src/amuse_galactics/gas_src/src/alldens.f diff --git a/src/amuse/community/galactics/gas_src/src/appdiskdens.f b/src/amuse_galactics/gas_src/src/appdiskdens.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/appdiskdens.f rename to src/amuse_galactics/gas_src/src/appdiskdens.f diff --git a/src/amuse/community/galactics/gas_src/src/appdiskforce.f b/src/amuse_galactics/gas_src/src/appdiskforce.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/appdiskforce.f rename to src/amuse_galactics/gas_src/src/appdiskforce.f diff --git a/src/amuse/community/galactics/gas_src/src/appdiskpot.f b/src/amuse_galactics/gas_src/src/appdiskpot.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/appdiskpot.f rename to src/amuse_galactics/gas_src/src/appdiskpot.f diff --git a/src/amuse/community/galactics/gas_src/src/bessj01.f b/src/amuse_galactics/gas_src/src/bessj01.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/bessj01.f rename to src/amuse_galactics/gas_src/src/bessj01.f diff --git a/src/amuse/community/galactics/gas_src/src/bulgedens.f b/src/amuse_galactics/gas_src/src/bulgedens.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/bulgedens.f rename to src/amuse_galactics/gas_src/src/bulgedens.f diff --git a/src/amuse/community/galactics/gas_src/src/bulgedenspsi.f b/src/amuse_galactics/gas_src/src/bulgedenspsi.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/bulgedenspsi.f rename to src/amuse_galactics/gas_src/src/bulgedenspsi.f diff --git a/src/amuse/community/galactics/gas_src/src/bulgepotential.f b/src/amuse_galactics/gas_src/src/bulgepotential.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/bulgepotential.f rename to src/amuse_galactics/gas_src/src/bulgepotential.f diff --git a/src/amuse/community/galactics/gas_src/src/contourden.f b/src/amuse_galactics/gas_src/src/contourden.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/contourden.f rename to src/amuse_galactics/gas_src/src/contourden.f diff --git a/src/amuse/community/galactics/gas_src/src/dbh.f b/src/amuse_galactics/gas_src/src/dbh.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/dbh.f rename to src/amuse_galactics/gas_src/src/dbh.f diff --git a/src/amuse/community/galactics/gas_src/src/dbhplot.f b/src/amuse_galactics/gas_src/src/dbhplot.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/dbhplot.f rename to src/amuse_galactics/gas_src/src/dbhplot.f diff --git a/src/amuse/community/galactics/gas_src/src/dens.f b/src/amuse_galactics/gas_src/src/dens.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/dens.f rename to src/amuse_galactics/gas_src/src/dens.f diff --git a/src/amuse/community/galactics/gas_src/src/densrpsi.f b/src/amuse_galactics/gas_src/src/densrpsi.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/densrpsi.f rename to src/amuse_galactics/gas_src/src/densrpsi.f diff --git a/src/amuse/community/galactics/gas_src/src/diskdens.f b/src/amuse_galactics/gas_src/src/diskdens.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/diskdens.f rename to src/amuse_galactics/gas_src/src/diskdens.f diff --git a/src/amuse/community/galactics/gas_src/src/diskdensf.f b/src/amuse_galactics/gas_src/src/diskdensf.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/diskdensf.f rename to src/amuse_galactics/gas_src/src/diskdensf.f diff --git a/src/amuse/community/galactics/gas_src/src/diskdenspsi.f b/src/amuse_galactics/gas_src/src/diskdenspsi.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/diskdenspsi.f rename to src/amuse_galactics/gas_src/src/diskdenspsi.f diff --git a/src/amuse/community/galactics/gas_src/src/diskdf.f b/src/amuse_galactics/gas_src/src/diskdf.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/diskdf.f rename to src/amuse_galactics/gas_src/src/diskdf.f diff --git a/src/amuse/community/galactics/gas_src/src/diskdf3ez.f b/src/amuse_galactics/gas_src/src/diskdf3ez.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/diskdf3ez.f rename to src/amuse_galactics/gas_src/src/diskdf3ez.f diff --git a/src/amuse/community/galactics/gas_src/src/diskdf3intez.f b/src/amuse_galactics/gas_src/src/diskdf3intez.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/diskdf3intez.f rename to src/amuse_galactics/gas_src/src/diskdf3intez.f diff --git a/src/amuse/community/galactics/gas_src/src/diskdf5ez.f b/src/amuse_galactics/gas_src/src/diskdf5ez.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/diskdf5ez.f rename to src/amuse_galactics/gas_src/src/diskdf5ez.f diff --git a/src/amuse/community/galactics/gas_src/src/diskdf5intez.f b/src/amuse_galactics/gas_src/src/diskdf5intez.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/diskdf5intez.f rename to src/amuse_galactics/gas_src/src/diskdf5intez.f diff --git a/src/amuse/community/galactics/gas_src/src/diskinfo.f b/src/amuse_galactics/gas_src/src/diskinfo.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/diskinfo.f rename to src/amuse_galactics/gas_src/src/diskinfo.f diff --git a/src/amuse/community/galactics/gas_src/src/erfcc.f b/src/amuse_galactics/gas_src/src/erfcc.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/erfcc.f rename to src/amuse_galactics/gas_src/src/erfcc.f diff --git a/src/amuse/community/galactics/gas_src/src/erfcen.f b/src/amuse_galactics/gas_src/src/erfcen.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/erfcen.f rename to src/amuse_galactics/gas_src/src/erfcen.f diff --git a/src/amuse/community/galactics/gas_src/src/fixedbulgepot.f b/src/amuse_galactics/gas_src/src/fixedbulgepot.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/fixedbulgepot.f rename to src/amuse_galactics/gas_src/src/fixedbulgepot.f diff --git a/src/amuse/community/galactics/gas_src/src/fixedhalopot.f b/src/amuse_galactics/gas_src/src/fixedhalopot.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/fixedhalopot.f rename to src/amuse_galactics/gas_src/src/fixedhalopot.f diff --git a/src/amuse/community/galactics/gas_src/src/flatdiskpot.cc b/src/amuse_galactics/gas_src/src/flatdiskpot.cc similarity index 100% rename from src/amuse/community/galactics/gas_src/src/flatdiskpot.cc rename to src/amuse_galactics/gas_src/src/flatdiskpot.cc diff --git a/src/amuse/community/galactics/gas_src/src/fnamidden.f b/src/amuse_galactics/gas_src/src/fnamidden.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/fnamidden.f rename to src/amuse_galactics/gas_src/src/fnamidden.f diff --git a/src/amuse/community/galactics/gas_src/src/force.f b/src/amuse_galactics/gas_src/src/force.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/force.f rename to src/amuse_galactics/gas_src/src/force.f diff --git a/src/amuse/community/galactics/gas_src/src/gasdisk3.f90 b/src/amuse_galactics/gas_src/src/gasdisk3.f90 similarity index 100% rename from src/amuse/community/galactics/gas_src/src/gasdisk3.f90 rename to src/amuse_galactics/gas_src/src/gasdisk3.f90 diff --git a/src/amuse_galactics/gas_src/src/genbulge.c b/src/amuse_galactics/gas_src/src/genbulge.c new file mode 100644 index 0000000000..c47e771b71 --- /dev/null +++ b/src/amuse_galactics/gas_src/src/genbulge.c @@ -0,0 +1,212 @@ +#include "main.h" +#include "main_common.h" +#include "query.h" +#include "readharmfile.h" +#include "readmassrad.h" + +float Fbulge1(float E, float psi0); +float Fbulge(float E, float psi0); + +// random skip factor, must be larger than the number of random draws per particle +#define SKIP 100000 + +int main(int argc, char **argv) +{ + int i, j, k, nobj=10000; + long long lseed=0; + int seed= -123; + int icofm=1; + float q=0.9, rtrunc=5.0; + float rhoran, massapp; + float x, y, z, vx, vy, v, v2, R, vmax, vmax2; + float phi, cph, sph, cth, sth, vR, vp, vz; + float E, Lz, rad, rad2; + float f0, frand, fmax, psi; + float ran1(); + void ran_seed(); + float t, mass; + float dr; + float u1, v1, u1max, v1max; + float xcm, ycm, zcm, vxcm, vycm, vzcm; + float zip = 0.0, psi0; + float rhomax=0.15, rhomin, rhotst; + float rhomax1; + float stream=0.5; + float bulgedens_(), pot_(); + char harmfile[40]; + FILE *outfile; + + + fprintf(stderr,"The Bulge\n"); + (void) strcpy(harmfile,"dbh.dat"); + fquery("Enter streaming fraction",&stream); + iquery("Enter the number of particles",&nobj); + llquery("Enter negative integer seed",&lseed); + iquery("Center particles (0=no, 1=yes)",&icofm); + cquery("Enter harmonics file",harmfile); + + readmassrad(); + readharmfile_(harmfile,&gparam); + psicutb = gparam.psicut; sigb2 = gparam.sigbulge; rho1 = gparam.rho1; +// sigb2 = sigb*sigb; + psi0=gparam.psi0; + fbulgeconst = rho1/pow(2.0*M_PI*sigb2,1.5); + bulgeflag=gparam.ibulgeflag; + mass = bulgemass/nobj; + rtrunc = bulgeedge; + u1max = rtrunc; + v1max = 0.5*M_PI; + + R=0;z=0; +// psi0=pot_(&R,&z); + fprintf(stderr,"psi0 %f %f %f\n",psi0,sigb2,psicutb); + fflush(stderr); + + r = (phase *) calloc(nobj,sizeof(phase)); + +/* Find maximum of rho*r^2 */ + dr = rtrunc/100; + rhomax1 = 0.0; + for(i=0; i<100; i++) { + float z, rcyl, rhocur; + rcyl = i*dr; + z = 0; + rhocur = bulgedens_(&rcyl,&z); + rhocur *= (rcyl*rcyl); + if( rhocur > rhomax1 ) + rhomax1 = rhocur; + } + fprintf(stderr,"rhomax1 = %g\n",rhomax1); + rhomax = 1.5*rhomax1; + rhomin = 1.0e-10*rhomax; /* define density contour cutoff */ + + fprintf(stderr,"Calculating bulge particles positions and velocities\n"); + if(lseed<0) lseed=-lseed; + ran_seed(SKIP*lseed); + for(i=0; i rhotst ) + continue; + phi = 2.0*M_PI*ran1(&seed); + x = R*cos(phi); + y = R*sin(phi); + + psi = pot_(&R,&z); +// vmax2 = -2.0*(psi-psi0-psicutb); + vmax2=-2*psi; + vmax = sqrt(vmax2); + fmax = Fbulge(psi,psi0); + f0 = 0.0; frand = 1.0; /* dummy starters */ + j = 0; + while( frand > f0 ) { + /* select a random speed < the escape speed */ + + v2 = 1.1*vmax2; + while( v2 > vmax2 ) { + vx = 2*vmax*(ran1(&seed) - 0.5); + vy = 2*vmax*(ran1(&seed) - 0.5); + vz = 2*vmax*(ran1(&seed) - 0.5); + v2 = vx*vx + vy*vy + vz*vz; + } + E = 0.5*v2 + psi; + f0 = Fbulge(E,psi0); + frand = fmax*ran1(&seed); + j++; + } + +/* Streaming of the bulge */ + vR = (vx*x + vy*y)/R; + vp = (-vx*y + vy*x)/R; + if( ran1(&seed) < stream ) + vp = fabs(vp); + else + vp = -fabs(vp); + vx = (vR*x - vp*y)/R; + vy = (vR*y + vp*x)/R; + + r[i].x = (float) x; + r[i].y = (float) y; + r[i].z = (float) z; + r[i].vx = (float)vx; + r[i].vy = (float)vy; + r[i].vz = (float)vz; + i++;ran_seed(SKIP*(lseed + i)); + if( i % 1000 == 0 ) fprintf(stderr,"."); + } + fprintf(stderr,"\n"); + + if( icofm ) { + xcm = ycm =zcm = vxcm =vycm =vzcm = 0; + for(i=0; i psicutb ) + return 0.0; + + f0 = exp(-(E-psi0-psicutb)/sigb2)-1; + + return f0; +} + +float Fbulge(float E, float psi0) +{ + float fbulge3_(); + if(bulgeflag == 1) return Fbulge1(E,psi0); + if(bulgeflag == 3) return fbulge3_(&E,&psi0); + printf("error2\n"); + exit(1); +} + diff --git a/src/amuse_galactics/gas_src/src/gendisk.c b/src/amuse_galactics/gas_src/src/gendisk.c new file mode 100644 index 0000000000..060a36b06f --- /dev/null +++ b/src/amuse_galactics/gas_src/src/gendisk.c @@ -0,0 +1,384 @@ +#include "main.h" +#include "main_common.h" +#include "omekap.h" +#include "query.h" +#include "readdiskdf.h" + +// random skip factor, must be larger than the number of random draws per particle +#define SKIP 100000 + +float rad; +float Rc, zc; + +int main(int argc, char **argv) +{ + int i, j, k, nobj=10000; + int seed= -123; + long long lseed=0; + int icofm=1; + float q=0.9, rtrunc=5.0; + float rhoran, massapp; + float x, y, z, vx, vy, v, v2, R, vmax, vmax2; + float phi, cph, sph, cth, sth, vR, vp, vz; + float E, Lz, rad, rad2; + float f0, frand, fmax, fmax1, vphimax1, psi, fnorm; + float Fdisk(); + float ran1(); + void ran_seed(); + float invu(); + float dr, rhomax1; + float t, mass; + float u1, v1, u1max, v1max; + float xcm, ycm, zcm, vxcm, vycm, vzcm; + float zip = 0.0, psi0; + float rhomax=0.15, rhomin, rhotst; + float rhoguess, zcon; + float stream=0.5; + float con, routdisk, drtrunc; + float omega, kappa; + float dv, v0; + float broadcon=1.0; + float diskdensf_(), sigr2_(), sigz2_(); + float FindMax(), FindMax1(), Fmax(); + float simpson(), massring(); + FILE *rhoout; + FILE *errfile; + FILE *outfile; + char harmfile[40]; + + errfile = fopen("errmsg.dat","w"); + strcpy(harmfile,"dbh.dat"); + iquery("Enter the number of particles",&nobj); +/* fquery("Enter distribution broadening constant",&broadcon); */ + llquery("Enter negative integer seed",&lseed); + iquery("Center the simulation (0=no,1=yes)",&icofm); + cquery("Enter harmonics file",harmfile); + + r = (phase *) calloc(nobj,sizeof(phase)); + +/* readmassrad(); */ + readdiskdf_(harmfile,&gparam); + mdisk = gparam.mdisk; rdisk = gparam.rdisk; zdisk = gparam.zdisk; + routdisk = gparam.routdisk; drtrunc = gparam.drtrunc; + rd = 1.2*rdisk; + zd = 1.2*zdisk; + rtrunc = (routdisk + 2.0*drtrunc); + + diskmass = 4.0*M_PI*simpson(massring,0.0,rtrunc,128); + mass = diskmass/nobj; + dr = rtrunc/100.; + rhomax = 0.0; + rhoout = fopen("rhotst.dat","w"); + for(i=0; i<100; i++) { + R = i*dr; + z = 0.0; + rhoguess = exp(-R/rd); + rhotst = diskdensf_(&R,&z); + rhotst /= rhoguess; + if( rhotst > rhomax ) rhomax = rhotst; + fprintf(rhoout,"%g %g\n",R, rhotst); + } + rhomin = 0.0; + rhomax *=1.2; + + fprintf(stderr,"Calculating disk positions and velocities\n"); + if(lseed<0) lseed=-lseed; + ran_seed(SKIP*lseed); + for(i=0, j=0, k=0; i=1.); + R = rd*invu(u1); + + z = zd*atanh(v1); + + zcon = cosh(z/zd); + rhoguess = exp(-R/rd)/(zcon*zcon); +/* Guess at the approximate functional form of the density */ + + rhotst = diskdensf_(&R,&z); + + rhotst /= rhoguess; + + k++; + if( rhotst < rhomin ) + continue; + + rhoran = (rhomax - rhomin)*ran1(&seed); + if( rhoran > rhotst ) + continue; + phi = 2.0*M_PI*ran1(&seed); + x = R*cos(phi); + y = R*sin(phi); + + omekap_(&R, &omega, &kappa); + vphimax = omega*R; + + vsigR = sqrt(sigr2_(&R)); + vsigp = kappa/(2.0*omega)*vsigR; + vsigz = sqrt(sigz2_(&R)); +/* + fmax = Fdisk(0.0,vphimax,0.0,R,z); + fprintf(stderr,"%g %g %g\n",vphimax, fmax, vsigp); + fmax = 1.1*FindMax(R,z,&vphimax); + fprintf(stderr,"%g %g\n",vphimax, fmax); + fmax = Fmax(R,z,0.0,0.0,4.0*vsigp,&vphimax); + fprintf(stderr,"%g %g\n",vphimax, fmax); +*/ +/* + vphimax1 = vphimax; + fmax1 = 1.1*FindMax1(R,z,&vphimax1); + fprintf(stderr,"R %g z %g %g %g %g %g\n",R,z,vphimax1, fmax1, vphimax, fmax); +*/ + fmax = 1.1*FindMax(R,z,&vphimax); + f0 = 0.0; frand = 1.0; /* dummy starters */ + while( frand > f0 ) { + float f1; + float gr, gp, gz, g2; + + g2 = 999.; + while( g2 > 1.0) { + gr = 8.0*(ran1(&seed) - 0.5); + gp = 16.0*(ran1(&seed) - 0.5); + gz = 8.0*(ran1(&seed) - 0.5); + g2 = gr*gr/16. + gp*gp/64. + gz*gz/16.; + } + + vR = broadcon*vsigR*gr; + vp = vphimax + broadcon*vsigp*gp; + vz = broadcon*vsigz*gz; + + f0 = Fdisk(vR, vp, vz, R, z); + frand = fmax*ran1(&seed); + if( f0 > fmax ) { + float vpmax; + fprintf(errfile,"f0 > fmax at R=%g z=%g\nvr=%g vp=%g, vz=%g vphimax=%g f0=%g, fmax=%g\n", + R,z, + vR*broadcon/vsigR, + (vp - vphimax)*broadcon/vsigp, + vz*broadcon/vsigz, vphimax, f0, fmax); +/* + vpmax = vphimax; + fprintf(errfile,"fmax is %g at true vmax %g guess %g\n",Fmax(R,z,0.0,0.0,4.0*vsigp,&vpmax), vpmax, vphimax); + fprintf(errfile,"guess fmax %g f0 %g vp %g\n",fmax,f0,vp); +*/ + fflush(errfile); + } + j++; + } + + cph = x/R; sph = y/R; + vx = vR*cph - vp*sph; + vy = vR*sph + vp*cph; + /* vz stays the same */ + + r[i].x = (float) x; + r[i].y = (float) y; + r[i].z = (float) z; + r[i].vx = (float)vx; + r[i].vy = (float)vy; + r[i].vz = (float)vz; + i++; ran_seed(SKIP*(lseed+i)); + if( i % 1000 == 0 ) { + fprintf(stderr,"."); + fflush(stderr); + } + } + fprintf(stderr,"\n"); + fprintf(stderr,"number of density trials %d\n",k); + fprintf(stderr,"number of velocity trials %d\n",j); + + if( icofm ) { + xcm = ycm =zcm = vxcm =vycm =vzcm = 0; + for(i=0; i eps); i++) { + rnew = rg - (-(1.0 + rg)*exp(-rg) - u) + /(rg*exp(-rg)); + dr = fabs(rnew - rg); + rg = rnew; + } + if( i == 20 ) fprintf(stderr,"Warning R did not converge\n"); + return (float) rg; +} + +/* A approximate estimate of the local maximum of the distribution function */ +float Fmax(R,z,vR,vz,vlimit, vpmax) +float R, z, vR, vz; +float *vpmax, vlimit; +{ + int i; + float v, dv, fmax, vmax, v0; + float Fdisk(); + + dv = 2.0*vlimit/100; + v0 = *vpmax - 50*dv; + fmax = Fdisk(vR, v0, vz, R, z); + for(i=0; i<100; i++) { + float ftry, vtry; + + vtry = v0 + i*dv; + ftry = Fdisk(vR, vtry, vz, R, z); + if( ftry > fmax ) { + fmax = ftry; + vmax = vtry; + } + } + *vpmax = vmax; + + return fmax; +} + +float FindMax1(R,z,vpmax) +float R, z, *vpmax; +{ + int upflag, flag; + float dv, vpm, vpmold, v0, v1; + float f0, f1, ftmp, fmid; + float Fdisk(); + + dv = 0.1*vsigp; + vpm = *vpmax; + v0 = vpm - dv; + v1 = vpm + dv; + + f0 = Fdisk(0.0,v0,0.0,R,z); + fmid = Fdisk(0.0,vpm,0.0,R,z); + f1 = Fdisk(0.0,v1,0.0,R,z); + if( fmid >= f0 && fmid >= f1 ) + return fmid; + + if( f0 > f1 ) { + ftmp = f0; + f0 = f1; + f1 = ftmp; + v1 = v0; + dv = -dv; + } + vpm = v1; + + flag = 1; + while( flag ) { + + dv *= 2.0; + vpmold = vpm; + vpm += dv; + f0 = f1; + f1 = Fdisk(0.0,vpm,0.0,R,z); + flag = (f1 > f0); + } + *vpmax = vpmold; + return f0; +} + +float FindMax(R,z,vpmax) +float R, z, *vpmax; +{ + float vpm; + float v0, v1; + float eps=0.01; + float fmax, golden(), fgold(); + + Rc = R; zc = z; + + vpm = *vpmax; + v0 = *vpmax - 3.0*vsigp; + v1 = *vpmax + 3.0*vsigp; +/* + f0 = Fdisk(0.0,v0,0.0,R,z); + f1 = Fdisk(0.0,v1,0.0,R,z); + fm = Fdisk(0.0,vpm,0.0,R,z); +*/ + + fmax = -golden(v0,vpm,v1, fgold, eps, vpmax); + + return fmax; + +} + +float fgold(vp) +float vp; +{ + float R, z; + + R = Rc; z = zc; + return( -Fdisk(0.0,vp,0.0,R,z) ); +} + +float massring(r) +float r; +{ + float denz(); + float simpson(); + + rad = r; + return( rad*simpson(denz,0.0,5.0*zdisk,128) ); +} + +float denz(z) +float z; +{ + float z0; + float diskdensf_(); + + z0 = z; + return diskdensf_(&rad, &z0); +} + diff --git a/src/amuse/community/galactics/gas_src/src/gengas.c b/src/amuse_galactics/gas_src/src/gengas.c similarity index 95% rename from src/amuse/community/galactics/gas_src/src/gengas.c rename to src/amuse_galactics/gas_src/src/gengas.c index 7362ce87a5..a450496d79 100644 --- a/src/amuse/community/galactics/gas_src/src/gengas.c +++ b/src/amuse_galactics/gas_src/src/gengas.c @@ -1,9 +1,11 @@ #include "main.h" +#include "main_common.h" +#include "query.h" void generate_gas_(int *nobj, float* vdisp, long long * seed, float *m,float *x,float *y,float *z,float *vx,float *vy,float *vz, float *cs); -main(int argc,char** argv) +int main(int argc,char** argv) { int i, j, k, nobj=10000; long long lseed=0; diff --git a/src/amuse_galactics/gas_src/src/genhalo.c b/src/amuse_galactics/gas_src/src/genhalo.c new file mode 100644 index 0000000000..292d86be4e --- /dev/null +++ b/src/amuse_galactics/gas_src/src/genhalo.c @@ -0,0 +1,228 @@ +#include "main.h" +#include "main_common.h" +#include "query.h" + +#include "readharmfile.h" +#include "readmassrad.h" + + +float Fhalo(float E, float lz); + +// random skip factor, must be larger than the number of random draws per particle +#define SKIP 100000 + +int main(int argc, char **argv) +{ + int i, j, k, nobj=10000; + long long lseed=0; + int seed= -123; + float q=0.9, rtrunc=5.0; + float rhoran, massapp; + float x, y, z, vx, vy, v, v2, R, vmax, vmax2; + float phi, cph, sph, cth, sth, vR, vp, vz; + float E, Lz, rad, rad2; + float f0, frand, fmax, psi; + float halodens_(), pot_(); + float ran1(); + void ran_seed(); + float dr, rhomax1; + float t, mass; + float u1, v1, u1max, v1max; + float xcm, ycm, zcm, vxcm, vycm, vzcm; + float zip = 0.0, psi0; + float rhomax=0.15, rhomin, rhotst; + float stream=0.5, massfrac=1.0; + int icofm=1; + char harmfile[60]; + FILE *outfile; + strcpy(harmfile,"dbh.dat"); + fquery("Enter streaming fraction",&stream); + iquery("Enter the number of particles",&nobj); + llquery("Enter negative integer seed",&lseed); + iquery("Center particles (0=no, 1=yes)",&icofm); + cquery("Enter harmonics file",harmfile); + + readmassrad(); /* reads in mass and truncation radius of components */ + readharmfile_(harmfile,&gparam); + A = gparam.A; B = gparam.B; C = gparam.C; + v0 = gparam.v0; q = gparam.q; psi0 = gparam.psi0; + v02 = v0*v0;haloflag=gparam.ihaloflag; + + fprintf(stderr,"flags: %d %d %d\n", + gparam.idiskflag,gparam.ibulgeflag,gparam.ihaloflag); + + rtrunc = haloedge; mass = halomass/nobj; + fprintf(stderr,"haloedge: %g\n",haloedge); + u1max = rtrunc; + v1max = 0.5*M_PI; + + r = (phase *) calloc(nobj,sizeof(phase)); + +/* Find maximum of rho*r^2 */ + dr = rtrunc/100; + rhomax1 = 0.0; +/* check the R-axis first */ + for(i=0; i<100; i++) { + float z, rcyl, rhocur; + rcyl = i*dr; + z = 0; + rhocur = halodens_(&rcyl,&z); + rhocur *= (rcyl*rcyl); + if( rhocur > rhomax1 ) + rhomax1 = rhocur; + } + fprintf(stderr,"rhomax on R-axis is %g\n",rhomax1); +/* then check the z-axis */ + for(i=0; i<100; i++) { + float z, rcyl, rhocur; + rcyl = 0; + z = i*dr; + rhocur = halodens_(&rcyl,&z); + rhocur *= (z*z); + if( rhocur > rhomax1 ) + rhomax1 = rhocur; + } + fprintf(stderr,"rhomax1 = %g\n",rhomax1); + rhomax = 1.5*rhomax1; + rhomin = 1.0e-10*rhomax; /* define density contour cutoff */ + fprintf(stderr,"rhomin, rhomax: %g %g\n",rhomin,rhomax); + + fprintf(stderr,"Calculating halo positions and velocities\n"); + if(lseed<0) lseed=-lseed; + ran_seed(SKIP*lseed); + for(i=0; i 4*haloedge*haloedge) + continue; + + rhotst = halodens_(&R,&z); + rhotst = rhotst*(R*R + z*z); + + j++; + if( rhotst < rhomin ) + continue; + if(z> 100000.) printf("v1, rhotst: %g %g\n",z,rhotst); + + + rhoran = (rhomax - rhomin)*ran1(&seed); + if( rhoran > rhotst ) + continue; + phi = 2.0*M_PI*ran1(&seed); + x = R*cos(phi); + y = R*sin(phi); + + psi = pot_(&R,&z); + psi = -psi; + + vmax2 = 2*psi; + vmax = sqrt(vmax2); + fmax = 1.1*Fhalo(psi,0.0); + f0 = 0.0; frand = 1.0; /* dummy starters */ + j = 0; + while( frand > f0 ) { + + /* select a random speed <3x the circular speed */ + + v2 = 1.1*2.0*psi; + while( v2 > vmax2 ) { + vR = 2*vmax*(ran1(&seed) - 0.5); + vp = 2*vmax*(ran1(&seed) - 0.5); + vz = 2*vmax*(ran1(&seed) - 0.5); + v2 = vR*vR + vp*vp + vz*vz; + } + E = psi - 0.5*v2; + Lz = R*vp; + f0 = Fhalo(E,Lz); + frand = fmax*ran1(&seed); + j++; + } + + if( ran1(&seed) < stream ) + vp = fabs(vp); + else + vp = -fabs(vp); + + cph = x/R; sph = y/R; + vx = vR*cph - vp*sph; + vy = vR*sph + vp*cph; + /* vz stays the same */ + + r[i].x = (float) x; + r[i].y = (float) y; + r[i].z = (float) z; + r[i].vx = (float)vx; + r[i].vy = (float)vy; + r[i].vz = (float)vz; + i++;ran_seed(SKIP*(lseed+i)); + if( i % 1000 == 0 ) fprintf(stderr,"."); + } + fprintf(stderr,"\n"); + + if( icofm ) { + xcm = ycm =zcm = vxcm =vycm =vzcm = 0; + for(i=0; i +#include +#include +#include +#define GCON 6.349363592e-2 /* (2.0*pi)^(-3/2) */ + +/* Generate a distribution which follows an oblate logarithmic potential */ + +typedef struct { + float x, y, z, vx, vy, vz; +} phase; + +typedef struct { + float A; + float B; + float C; + float v0; + float q; + float psi0; + float psicut; + float rho1; + float sigbulge; + float mdisk; + float rdisk; + float zdisk; + float routdisk; + float drtrunc; + float potcor; + int idiskflag; + int ibulgeflag; + int ihaloflag; +} galaxy; + +phase *r; +galaxy gparam; + +#endif + diff --git a/src/amuse_galactics/gas_src/src/main_common.h b/src/amuse_galactics/gas_src/src/main_common.h new file mode 100644 index 0000000000..6fad04c9b7 --- /dev/null +++ b/src/amuse_galactics/gas_src/src/main_common.h @@ -0,0 +1,24 @@ +#ifndef GALACTICS_MAIN_COMMON_H +#define GALACTICS_MAIN_COMMON_H + +/* Common global variables used by all executables */ + +/* Disk Constants */ +float mdisk, rdisk, zdisk; +float rd, zd; +float vsigR, vsigp, vsigz, vphimax; +float diskmass, diskedge; + +/* Bulge Constants */ +float rho1=100, sigb=0.3, sigb2, psicutb= -1.0, fbulgeconst; +float bulgemass, bulgeedge; +int bulgeflag; + + +/* Halo Constants */ +float A, B, C, D1, D2, D3, q2, v0, v02; +float halomass, haloedge; +int haloflag; + +#endif + diff --git a/src/amuse/community/galactics/gas_src/src/modstamp.f b/src/amuse_galactics/gas_src/src/modstamp.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/modstamp.f rename to src/amuse_galactics/gas_src/src/modstamp.f diff --git a/src/amuse/community/galactics/gas_src/src/newfreqs.f b/src/amuse_galactics/gas_src/src/newfreqs.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/newfreqs.f rename to src/amuse_galactics/gas_src/src/newfreqs.f diff --git a/src/amuse/community/galactics/gas_src/src/omekap.f b/src/amuse_galactics/gas_src/src/omekap.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/omekap.f rename to src/amuse_galactics/gas_src/src/omekap.f diff --git a/src/amuse_galactics/gas_src/src/omekap.h b/src/amuse_galactics/gas_src/src/omekap.h new file mode 100644 index 0000000000..a0f4f3fb7e --- /dev/null +++ b/src/amuse_galactics/gas_src/src/omekap.h @@ -0,0 +1,7 @@ +#ifndef GALACTICS_OMEKAP_H +#define GALACTICS_OMEKAP_H + +void omekap_(float *R, float *omega, float *kappa); + +#endif + diff --git a/src/amuse/community/galactics/gas_src/src/pgstub.f b/src/amuse_galactics/gas_src/src/pgstub.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/pgstub.f rename to src/amuse_galactics/gas_src/src/pgstub.f diff --git a/src/amuse/community/galactics/gas_src/src/plgndr1.f b/src/amuse_galactics/gas_src/src/plgndr1.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/plgndr1.f rename to src/amuse_galactics/gas_src/src/plgndr1.f diff --git a/src/amuse/community/galactics/gas_src/src/plotforce.f b/src/amuse_galactics/gas_src/src/plotforce.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/plotforce.f rename to src/amuse_galactics/gas_src/src/plotforce.f diff --git a/src/amuse/community/galactics/gas_src/src/plothalo.f b/src/amuse_galactics/gas_src/src/plothalo.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/plothalo.f rename to src/amuse_galactics/gas_src/src/plothalo.f diff --git a/src/amuse/community/galactics/gas_src/src/polarbulgedens.f b/src/amuse_galactics/gas_src/src/polarbulgedens.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/polarbulgedens.f rename to src/amuse_galactics/gas_src/src/polarbulgedens.f diff --git a/src/amuse/community/galactics/gas_src/src/polardens.f b/src/amuse_galactics/gas_src/src/polardens.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/polardens.f rename to src/amuse_galactics/gas_src/src/polardens.f diff --git a/src/amuse/community/galactics/gas_src/src/polarhalodens.f b/src/amuse_galactics/gas_src/src/polarhalodens.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/polarhalodens.f rename to src/amuse_galactics/gas_src/src/polarhalodens.f diff --git a/src/amuse/community/galactics/gas_src/src/pot.f b/src/amuse_galactics/gas_src/src/pot.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/pot.f rename to src/amuse_galactics/gas_src/src/pot.f diff --git a/src/amuse/community/galactics/gas_src/src/prng_engine.hpp b/src/amuse_galactics/gas_src/src/prng_engine.hpp similarity index 100% rename from src/amuse/community/galactics/gas_src/src/prng_engine.hpp rename to src/amuse_galactics/gas_src/src/prng_engine.hpp diff --git a/src/amuse/community/galactics/gas_src/src/prng_engine_wrapper.cpp b/src/amuse_galactics/gas_src/src/prng_engine_wrapper.cpp similarity index 100% rename from src/amuse/community/galactics/gas_src/src/prng_engine_wrapper.cpp rename to src/amuse_galactics/gas_src/src/prng_engine_wrapper.cpp diff --git a/src/amuse_galactics/gas_src/src/query.c b/src/amuse_galactics/gas_src/src/query.c new file mode 100644 index 0000000000..81c32a4b1d --- /dev/null +++ b/src/amuse_galactics/gas_src/src/query.c @@ -0,0 +1,95 @@ +/* + * This file contains four functions for prompting single value input, + * one for each of the data types char, int, float and double. + * The functions are cquery, iquery, fquery and dquery. + * Each function has two arguments: a prompt and a pointer variable of the + * appropriate data type. + * The function will display the prompt (e.g. "Enter x") and a default + * value. The user can either enter a new value or accept the default + * by hitting a return. + * + * Example + * main() + * { + * char a[50]; + * float x=5; + * + * strcpy(a,"hello there"); + * cquery("Enter a phrase",a); + * fquery("Enter the value to be squared",&x); + * fprintf(stdout,"%s %g squared = %g\n",a,x*x); + * } + */ +#include +#include +#include + +void cquery(char *prompt, char *c) +{ + char *p, line[100], newprompt[200]; + fprintf(stderr, "%s [%s]: ", prompt, c); + fgets(line, 80, stdin); + if (*line != '\n') + { + for (p=line; *p != '\n' && *p != '#'; p++); + if ( *p == '#' ) { + p--; + while ( *p == ' ' || *p == '\t' ) p--; + p++; + } + *p = '\0'; + + strcpy(c, line); + } +} + +void dquery(char *prompt, double *d) +{ + char *p, line[100]; + fprintf(stderr, "%s [%g]: ", prompt, *d); + fgets(line, 80, stdin); + if (*line != '\n') + { + for (p=line; *p !='\n' && *p !='#'; p++); + *p = '\0'; + *d = atof(line); + } +} + +void fquery(char *prompt, float *f) +{ + char *p, line[100]; + fprintf(stderr, "%s [%g]: ", prompt, *f); + fgets(line, 80, stdin); + if (*line != '\n') + { + for (p=line; *p!='\n' && *p!='#'; p++); + *p = '\0'; + *f = (float) atof(line); + } +} + +void iquery(char *prompt, int *i) +{ + char *p, line[100]; + fprintf(stderr, "%s [%d]: ", prompt, *i); + fgets(line,80,stdin); + if (*line != '\n') + { + for (p=line; *p !='\n' && *p !='#'; p++); + *p = '\0'; + *i = atoi(line); + } +} + +void llquery(char *prompt, long long *i) +{ + char line[100]; + fprintf(stderr, "%s [%lld]: ", prompt, *i); + fgets(line, 100, stdin); + if (*line != '\n') + { + sscanf(line,"%lld", i); + } +} + diff --git a/src/amuse_galactics/gas_src/src/query.h b/src/amuse_galactics/gas_src/src/query.h new file mode 100644 index 0000000000..c8c2c7c2b4 --- /dev/null +++ b/src/amuse_galactics/gas_src/src/query.h @@ -0,0 +1,15 @@ +#ifndef GALACTICS_QUERY_H +#define GALACTICS_QUERY_H + +void cquery(char *prompt, char *c); + +void dquery(char *prompt, double *d); + +void fquery(char *prompt, float *f); + +void iquery(char *prompt, int *i); + +void llquery(char *prompt, long long *i); + +#endif + diff --git a/src/amuse/community/galactics/gas_src/src/ran1.c b/src/amuse_galactics/gas_src/src/ran1.c similarity index 100% rename from src/amuse/community/galactics/gas_src/src/ran1.c rename to src/amuse_galactics/gas_src/src/ran1.c diff --git a/src/amuse/community/galactics/gas_src/src/rcirc.f b/src/amuse_galactics/gas_src/src/rcirc.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/rcirc.f rename to src/amuse_galactics/gas_src/src/rcirc.f diff --git a/src/amuse/community/galactics/gas_src/src/readdiskdf.f b/src/amuse_galactics/gas_src/src/readdiskdf.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/readdiskdf.f rename to src/amuse_galactics/gas_src/src/readdiskdf.f diff --git a/src/amuse_galactics/gas_src/src/readdiskdf.h b/src/amuse_galactics/gas_src/src/readdiskdf.h new file mode 100644 index 0000000000..9bd729f82f --- /dev/null +++ b/src/amuse_galactics/gas_src/src/readdiskdf.h @@ -0,0 +1,7 @@ +#ifndef GALACTICS_READDISKDF_H +#define GALACTICS_READDISKDF_H + +void readdiskdf_(char *harmfile, galaxy *gparam); + +#endif + diff --git a/src/amuse/community/galactics/gas_src/src/readharmfile.f b/src/amuse_galactics/gas_src/src/readharmfile.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/readharmfile.f rename to src/amuse_galactics/gas_src/src/readharmfile.f diff --git a/src/amuse_galactics/gas_src/src/readharmfile.h b/src/amuse_galactics/gas_src/src/readharmfile.h new file mode 100644 index 0000000000..2b8121073c --- /dev/null +++ b/src/amuse_galactics/gas_src/src/readharmfile.h @@ -0,0 +1,11 @@ +#ifndef GALACTICS_READHARMFILE_H +#define GALACTICS_READHARMFILE_H + +/* C header for the Fortran-implemented readharmfile function */ + +#include "main.h" + +void readharmfile_(char *file, galaxy *gparam); + +#endif + diff --git a/src/amuse_galactics/gas_src/src/readmassrad.c b/src/amuse_galactics/gas_src/src/readmassrad.c new file mode 100644 index 0000000000..2fde2e5f80 --- /dev/null +++ b/src/amuse_galactics/gas_src/src/readmassrad.c @@ -0,0 +1,22 @@ +#include +#include + +extern float diskmass, diskedge; +extern float bulgemass, bulgeedge; +extern float halomass, haloedge; + +void readmassrad() +{ + FILE *mrfile; + + if( !(mrfile = fopen("mr.dat","r")) ) { + fprintf(stderr,"Cannot open file mr.dat - contains component masses\n"); + exit(1); + } + + fscanf(mrfile,"%f %f\n",&diskmass,&diskedge); + fscanf(mrfile,"%f %f\n",&bulgemass,&bulgeedge); + fscanf(mrfile,"%f %f\n",&halomass,&haloedge); + fclose(mrfile); +} + diff --git a/src/amuse_galactics/gas_src/src/readmassrad.h b/src/amuse_galactics/gas_src/src/readmassrad.h new file mode 100644 index 0000000000..3a1c8433bb --- /dev/null +++ b/src/amuse_galactics/gas_src/src/readmassrad.h @@ -0,0 +1,7 @@ +#ifndef GALACTICS_READMASSRAD_H +#define GALACTICS_READMASSRAD_H + +void readmassrad(); + +#endif + diff --git a/src/amuse/community/galactics/gas_src/src/sigr2.f b/src/amuse_galactics/gas_src/src/sigr2.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/sigr2.f rename to src/amuse_galactics/gas_src/src/sigr2.f diff --git a/src/amuse/community/galactics/gas_src/src/sigz2.f b/src/amuse_galactics/gas_src/src/sigz2.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/sigz2.f rename to src/amuse_galactics/gas_src/src/sigz2.f diff --git a/src/amuse/community/galactics/gas_src/src/simpson.c b/src/amuse_galactics/gas_src/src/simpson.c similarity index 100% rename from src/amuse/community/galactics/gas_src/src/simpson.c rename to src/amuse_galactics/gas_src/src/simpson.c diff --git a/src/amuse/community/galactics/gas_src/src/sphericaldf_burkert.f90 b/src/amuse_galactics/gas_src/src/sphericaldf_burkert.f90 similarity index 100% rename from src/amuse/community/galactics/gas_src/src/sphericaldf_burkert.f90 rename to src/amuse_galactics/gas_src/src/sphericaldf_burkert.f90 diff --git a/src/amuse/community/galactics/gas_src/src/sphericaldf_einasto.f90 b/src/amuse_galactics/gas_src/src/sphericaldf_einasto.f90 similarity index 100% rename from src/amuse/community/galactics/gas_src/src/sphericaldf_einasto.f90 rename to src/amuse_galactics/gas_src/src/sphericaldf_einasto.f90 diff --git a/src/amuse/community/galactics/gas_src/src/sphericaldf_hernquist.f90 b/src/amuse_galactics/gas_src/src/sphericaldf_hernquist.f90 similarity index 100% rename from src/amuse/community/galactics/gas_src/src/sphericaldf_hernquist.f90 rename to src/amuse_galactics/gas_src/src/sphericaldf_hernquist.f90 diff --git a/src/amuse/community/galactics/gas_src/src/sphericaldf_nfw.f90 b/src/amuse_galactics/gas_src/src/sphericaldf_nfw.f90 similarity index 100% rename from src/amuse/community/galactics/gas_src/src/sphericaldf_nfw.f90 rename to src/amuse_galactics/gas_src/src/sphericaldf_nfw.f90 diff --git a/src/amuse/community/galactics/gas_src/src/splined.f b/src/amuse_galactics/gas_src/src/splined.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/splined.f rename to src/amuse_galactics/gas_src/src/splined.f diff --git a/src/amuse/community/galactics/gas_src/src/splintd.f b/src/amuse_galactics/gas_src/src/splintd.f similarity index 100% rename from src/amuse/community/galactics/gas_src/src/splintd.f rename to src/amuse_galactics/gas_src/src/splintd.f diff --git a/src/amuse/community/galactics/gas_src/src/testgas.f90 b/src/amuse_galactics/gas_src/src/testgas.f90 similarity index 100% rename from src/amuse/community/galactics/gas_src/src/testgas.f90 rename to src/amuse_galactics/gas_src/src/testgas.f90 diff --git a/src/amuse/community/galactics/gas_src/src/thickdisk2.f90 b/src/amuse_galactics/gas_src/src/thickdisk2.f90 similarity index 100% rename from src/amuse/community/galactics/gas_src/src/thickdisk2.f90 rename to src/amuse_galactics/gas_src/src/thickdisk2.f90 diff --git a/src/amuse_galactics/gas_src/src/toascii.c b/src/amuse_galactics/gas_src/src/toascii.c new file mode 100644 index 0000000000..8b8bda6599 --- /dev/null +++ b/src/amuse_galactics/gas_src/src/toascii.c @@ -0,0 +1,32 @@ +#include +#include +#include + + +int main(int argc, char **argv) +{ + int i, nobj; + float r[7]; + FILE *rvfile; + + if( argc == 2 ) { + if( !(rvfile = fopen(argv[1],"r")) ) { + fprintf(stderr,"can't open %s\n",argv[1]); + } + } + else { + fprintf(stderr,"usage: toascii binary_rvfile > ascii_rvfile\n"); + exit(0); + } + + fseek(rvfile,0,2); nobj = ftell(rvfile)/28; fseek(rvfile,0,0); + + fprintf(stdout,"%d\n",nobj); + for(i=0; i +#include +#include + +#include "readharmfile.h" + + +void plotv(float *rp, float *vp, int line, char *file); + +float ra[1000], va[1000]; +float rh[1000], vh[1000]; +float rd[1000], vd[1000]; +float rb[1000], vb[1000]; +float A, B, C, D1, D2, D3, q2, v0, v02, psi0; +float rho1=100, sigb=0.3, sigb2, psicutb= -1.0, fbulgeconst; +float rscale=.15, vscale=.8164866, mscale=0.1; + + +int main(int argc, char **argv) { + fprintf(stderr, "Sorry, this code is broken.\n"); + exit(1); +} + +/* This is broken, because readharmfile_ does not take that many parameters in + * this version of the code. To be fixed, if there's interest, disabled for now. + */ + +/* + +int main(int argc, char **argv) +{ + int i; + float dr; + char harmfile[80]; + + if( argc != 3 ) { + fprintf(stderr,"usage: vtst r_scale mass_scale > vr.p\n"); + exit(0); + } + rscale = atof(argv[1]); + mscale = atof(argv[2]); + vscale = sqrt(mscale/rscale); +#ifdef PGPLOT + pgbegin(0,"vr.p",1,1); + pgscf(2); + pgsetc(1.5); + pgenv(0.0,10.,0.0,1.0,0,0); + pglabel("R","V",""); +#endif + plotv(ra,va,1,"dbh.dat"); + plotv(rb,vb,2,"b.dat"); + plotv(rh,vh,3,"h.dat"); + for(i=0; i<1000; i++) { + vd[i] = sqrt(va[i]*va[i] - vb[i]*vb[i] - vh[i]*vh[i]); + rd[i] = ra[i]; + fprintf(stdout,"%g %g %g %g %g\n",rd[i],vd[i],vb[i],vh[i],va[i]); + } +#ifdef PGPLOT + pgsls(4); + pgline(1000,rd,vd); + + pgend(); +#endif +} + +void plotv(float *rp, float *vp, int line, char *file) +{ + int i; + float dr; + float v02; + float q; + float rad, z, fr, fz, pot; + + readharmfile_(file,&A,&B,&C,&v0,&q,&psi0); + v02 = v0*v0; + + dr = .05; + for(i=0; i<1000; i++) { + rad = i*dr; + z = 0.0; + force_(&rad,&z,&fr,&fz,&pot); + rp[i] = rad; + vp[i] = sqrt(-rp[i]*fr); + rp[i] *= rscale; + vp[i] *= vscale; + } +#ifdef PGPLOT + pgsls(line); + pgline(1000,rp,vp); +#endif +} + +*/ + diff --git a/src/amuse_galactics/interface.py b/src/amuse_galactics/interface.py new file mode 100644 index 0000000000..7faa7461a7 --- /dev/null +++ b/src/amuse_galactics/interface.py @@ -0,0 +1,927 @@ +import os +import os.path +import pickle +import random +import numpy +import hashlib +from amuse.community import * +from amuse.community.interface.common import CommonCode, CommonCodeInterface +from amuse_galactics.gas_interface import GaslactICs, GaslactICsInterface + +from amuse.support.options import option +from subprocess import Popen, PIPE + +from amuse.rfi.core import PythonCodeInterface + + +class GalactICsImplementation(object): + + def __init__(self): + self._output_directory = "./" + self._particles_generated = False + self._particle_data = numpy.array([]) + self._bin_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data", "bin") + + + def get_output_path(self, output_directory): + output_directory.value = self._output_directory + return 0 + + def set_output_path(self, output_directory): + self._output_directory = output_directory + return 0 + + def set_src_bin_path(self, src_bin_path): + self._bin_path = src_bin_path + return 0 + + def initialize_code(self): + self.set_default_parameter_values() + return 0 + + #parameter getters & setters + for par in ["_generate_halo_flag", "_halo_outer_radius", "_scale_velocity", + "_scale_radius", "_truncation_delta_r", "_inner_cusp_slope", "_outer_slope", + "_generate_disk_flag", "_disk_mass", "_disk_scale_length", "_disk_outer_radius", + "_disk_scale_height_sech2", "_disk_truncation_dr", "_generate_bulge_flag", + "_Sersic_index_n", "_bulge_velocity", "_bulge_scale_radius", "_radial_grid_delta_r", + "_number_of_grid_intervals", "_order_of_multipole_expansion", + "_central_radial_vel_dispersion", "_scale_length_of_sigR2", + "_number_of_radial_steps_correction_fns", "_number_of_iterations", + "_halo_streaming_fraction", "_halo_number_of_particles", "_halo_random_seed", + "_halo_do_center_flag", "_bulge_streaming_fraction", "_bulge_number_of_particles", + "_bulge_random_seed", "_bulge_do_center_flag", "_disk_number_of_particles", + "_disk_random_seed", "_disk_do_center_flag"]: + exec("def get"+par+"(self, value): value.value = self."+par+"; return 0") + exec("def set"+par+"(self, value): self."+par+" = value; return 0") + + def set_default_parameter_values(self): + # Halo parameters: + # do you want a halo (y or n) + self._generate_halo_flag = True + self._halo_outer_radius = 300.0 + self._scale_velocity = 3.26331115 + self._scale_radius = 6.06699419 + self._truncation_delta_r = 100.0 + self._inner_cusp_slope = 1.0 + self._outer_slope = 2.3 + + # Disk parameters: + # do you want a disk (y or n) + self._generate_disk_flag = True + self._disk_mass = 25.0 + self._disk_scale_length = 5.8097949 + self._disk_outer_radius = 40.5 + self._disk_scale_height_sech2 = 0.5 + self._disk_truncation_dr = 1.5 + + # Bulge parameters: + # do you want a Sersic bulge (y or n) + self._generate_bulge_flag = True + self._Sersic_index_n = 0.937324703 + self._ppp_ = -1.0 + self._bulge_velocity = 3.21182013 + self._bulge_scale_radius = 1.50395405 + + # do you want a blackhole (y or n) (NOT SUPPORTED IN THIS VERSION) + #n + self._radial_grid_delta_r = 0.01 + self._number_of_grid_intervals = 90000 + self._order_of_multipole_expansion = 10 + # order of multipole expansion - even number - should be l=10 for models + # with disks - l=0 for purely spherical models without a disk + + # parameters for in.diskdf + self._central_radial_vel_dispersion = 0.73 # central radial vel dispersion (in vzdisp) + self._scale_length_of_sigR2 = 5.8097949 # scale length of sig_r^2 + self._number_of_radial_steps_correction_fns = 10 # number of intervals for correction functions (min. 6) + self._number_of_iterations = 50 + #self._psfile = "psfile" # doesn't seem to be used... + + # parameters for in.halo + self._halo_streaming_fraction = 0.50 # [0.0, 1.0]; 0.5 means no net rotation + self._halo_number_of_particles = 200000 + self._halo_random_seed = -1 + self._halo_do_center_flag = True + # parameters for in.bulge + self._bulge_streaming_fraction = 0.80 # [0.0, 1.0]; 0.5 means no net rotation + self._bulge_number_of_particles = 50000 + self._bulge_random_seed = -1 + self._bulge_do_center_flag = True + # parameters for in.disk + self._disk_number_of_particles = 100000 + self._disk_random_seed = -1 + self._disk_do_center_flag = True + + def cleanup_code(self): + return 0 + + def generate_in_dbh_string(self): + if self._generate_halo_flag: + in_dbh = "y\n" + in_dbh += "{0:.15} ".format(self._halo_outer_radius) + in_dbh += "{0:.15} ".format(self._scale_velocity) + in_dbh += "{0:.15} ".format(self._scale_radius) + in_dbh += "{0:.15} ".format(self._truncation_delta_r) + in_dbh += "{0:.15} ".format(self._inner_cusp_slope) + in_dbh += "{0:.15}\n".format(self._outer_slope) + else: + in_dbh = "n\n" + + if self._generate_disk_flag: + in_dbh += "y\n" + in_dbh += "{0:.15} ".format(self._disk_mass) + in_dbh += "{0:.15} ".format(self._disk_scale_length) + in_dbh += "{0:.15} ".format(self._disk_outer_radius) + in_dbh += "{0:.15} ".format(self._disk_scale_height_sech2) + in_dbh += "{0:.15}\n".format(self._disk_truncation_dr) + else: + in_dbh += "n\n" + + if self._generate_bulge_flag: + in_dbh += "y\n" + in_dbh += "{0:.15} ".format(self._Sersic_index_n) + in_dbh += "{0:.15} ".format(self._ppp_) + in_dbh += "{0:.15} ".format(self._bulge_velocity) + in_dbh += "{0:.15}\n".format(self._bulge_scale_radius) + else: + in_dbh += "n\n" + + in_dbh += "n\n" + in_dbh += "{0:.15} ".format(self._radial_grid_delta_r) + in_dbh += "{0}\n".format(self._number_of_grid_intervals) + in_dbh += "{0}\n".format(self._order_of_multipole_expansion) + return in_dbh + + def generate_in_diskdf_string(self): + in_diskdf = "{0:.15} ".format(self._central_radial_vel_dispersion) # central radial vel dispersion (in vzdisp) + in_diskdf += "{0:.15}\n".format(self._scale_length_of_sigR2) # scale length of sig_r^2 + in_diskdf += "{0}\n".format(self._number_of_radial_steps_correction_fns) # number of intervals for correction functions (min. 6) + in_diskdf += "{0}\n".format(self._number_of_iterations) + #in_diskdf += "{0}\n".format(self._psfile) # doesn't seem to be used... + return in_diskdf + + def generate_in_halo_string(self): + in_halo = "{0:.15}\n".format(self._halo_streaming_fraction) + in_halo += "{0}\n".format(self._halo_number_of_particles) + in_halo += "{0}\n".format(self._halo_random_seed) + in_halo += "{0}\n".format(1 if self._halo_do_center_flag else 0) + return in_halo + + def generate_in_bulge_string(self): + in_bulge = "{0:.15}\n".format(self._bulge_streaming_fraction) + in_bulge += "{0}\n".format(self._bulge_number_of_particles) + in_bulge += "{0}\n".format(self._bulge_random_seed) + in_bulge += "{0}\n".format(1 if self._bulge_do_center_flag else 0) + return in_bulge + + def generate_in_disk_string(self): + in_disk = "{0}\n".format(self._disk_number_of_particles) + in_disk += "{0}\n".format(self._disk_random_seed) + in_disk += "{0}\n".format(1 if self._disk_do_center_flag else 0) + return in_disk + + def _new_dbh_dir(self, data_directory,in_dbh,in_diskdf): + if not os.path.exists(data_directory): + os.makedirs(data_directory) + with open(os.path.join(data_directory, "in.gendenspsi"), "w") as f: + f.write("2000 40\n") + # for clarity, also store the used input parameters in this directory: + with open(os.path.join(data_directory, "in.dbh"), "w") as f: + f.write(in_dbh) + with open(os.path.join(data_directory, "in.diskdf"), "w") as f: + f.write(in_diskdf) + # remove finished-step files + for f in ['dbh.finished','getfreqs.finished','diskdf.finished']: + try: + os.remove(os.path.join( data_directory, f)) + except: + pass + + def _data_directory(self,in_dbh,in_diskdf): + modelhash=hashlib.sha1((in_dbh+in_diskdf).encode()).hexdigest() + return os.path.join(self._output_directory, "model_"+modelhash) + + def model_present(self,x): + in_dbh = self.generate_in_dbh_string() + in_diskdf = self.generate_in_diskdf_string() + data_directory=self._data_directory(in_dbh,in_diskdf) + x.value=self._directory_contains_valid_model(data_directory) + return 0 + + def _directory_contains_valid_model(self,data_directory): + if os.path.exists(os.path.join( data_directory)) and \ + os.path.exists(os.path.join( data_directory, 'dbh.dat')) and \ + os.path.exists(os.path.join( data_directory, 'dbh.finished')) and \ + os.path.exists(os.path.join( data_directory, 'getfreqs.finished')) and \ + (os.path.exists(os.path.join( data_directory, 'diskdf.finished')) or not self._generate_disk_flag): + return True + else: + return False + + def _location_dbh_dat(self, in_dbh,in_diskdf): + data_directory=self._data_directory(in_dbh,in_diskdf) + + if self._directory_contains_valid_model(data_directory): + is_new = False + else: + is_new = True + self._new_dbh_dir(data_directory,in_dbh,in_diskdf) + return data_directory, is_new + + def commit_parameters(self): + try: + in_dbh = self.generate_in_dbh_string() + in_diskdf = self.generate_in_diskdf_string() + dbh_dir, is_new = self._location_dbh_dat(in_dbh, in_diskdf) + self._cwd = dbh_dir + print(dbh_dir) + if not is_new: + return 0 + print("Writing output to:", self._cwd) + + proc=Popen([os.path.join(self._bin_path, "dbh")], + cwd = self._cwd, stdin = PIPE, stdout = PIPE, stderr = PIPE) + stdout,stderr=proc.communicate(in_dbh.encode('UTF-8')) + print("(stdout, stderr) =", stdout,stderr) + if proc.returncode==0: + open(os.path.join(dbh_dir,"dbh.finished"),'a').close() + + proc=Popen([os.path.join(self._bin_path, "getfreqs")], + cwd = self._cwd, stdin = PIPE, stdout = PIPE, stderr = PIPE) + stdout,stderr=proc.communicate() + print("(stdout, stderr) =", stdout,stderr) + if proc.returncode==0: + open(os.path.join(dbh_dir,"getfreqs.finished"),'a').close() + + if self._generate_disk_flag: + proc=Popen([os.path.join(self._bin_path, "diskdf")], + cwd = self._cwd, stdin = PIPE, stdout = PIPE, stderr = PIPE) + stdout,stderr=proc.communicate(in_diskdf.encode('UTF-8')) + print("(stdout, stderr) =", stdout,stderr) + if proc.returncode==0: + open(os.path.join(dbh_dir,"diskdf.finished"),'a').close() + + return 0 + except Exception as ex: + print("Exception occurred in commit_parameters:", ex) + raise + + def recommit_parameters(self): + return self.commit_parameters() + + def get_number_of_particles_updated(self, number_of_particles_updated): + if self._particles_generated: + number_of_particles_updated.value = self._number_of_particles_updated + self._particles_generated = False + else: + number_of_particles_updated.value = 0 + return 0 + + def generate_particles(self): + try: + if self._generate_disk_flag: + in_disk = self.generate_in_disk_string() + process = Popen([os.path.join(self._bin_path, "gendisk")], + cwd = self._cwd, stdin = PIPE, stdout = PIPE, stderr = PIPE) + out,err=process.communicate(in_disk.encode('UTF-8')) + if process.returncode != 0: + print("error:", err) + return -2 + disk_data=numpy.frombuffer(out,dtype="float32") + else: + disk_data=numpy.array([]) + + if self._generate_bulge_flag: + in_bulge = self.generate_in_bulge_string() + process = Popen([os.path.join(self._bin_path, "genbulge")], + cwd = self._cwd, stdin = PIPE, stdout = PIPE, stderr = PIPE) + out,err=process.communicate(in_bulge.encode('UTF-8')) + if process.returncode != 0: + print("error:", err) + return -3 + bulge_data=numpy.frombuffer(out,dtype="float32") + else: + bulge_data=numpy.array([]) + + if self._generate_halo_flag: + in_halo = self.generate_in_halo_string() + process = Popen([os.path.join(self._bin_path, "genhalo")], + cwd = self._cwd, stdin = PIPE, stdout = PIPE, stderr = PIPE) + out, err = process.communicate(in_halo.encode('UTF-8')) + if process.returncode != 0: + print("error:", err) + return -4 + halo_data=numpy.frombuffer(out,dtype="float32") + else: + halo_data=numpy.array([]) + + self._number_of_particles_updated = (len(halo_data)+len(bulge_data)+len(disk_data))//7 + self._number_of_halo_particles=len(halo_data)//7 + self._number_of_bulge_particles=len(bulge_data)//7 + self._number_of_disk_particles=len(disk_data)//7 + data=numpy.concatenate((disk_data,bulge_data,halo_data)) + self._particle_data = numpy.reshape(data,( self._number_of_particles_updated,7)) + self._particles_generated = True + return 0 + except Exception as ex: + print("Exception occurred in generate_particles:", ex) + return -1 + + def get_number_of_particles(self,nhalo,nbulge,ndisk): + try: + nhalo.value=self._number_of_halo_particles + nbulge.value=self._number_of_bulge_particles + ndisk.value=self._number_of_disk_particles + return 0 + except: + return -1 + + def get_mass(self, index_of_the_particle, mass, length): + try: + mass.value = self._particle_data[index_of_the_particle, 0] + return 0 + except: + return -1 + + def get_position(self, index_of_the_particle, x, y, z, length): + try: + x.value = self._particle_data[index_of_the_particle, 1] + y.value = self._particle_data[index_of_the_particle, 2] + z.value = self._particle_data[index_of_the_particle, 3] + return 0 + except: + return -1 + + def get_velocity(self, index_of_the_particle, vx, vy, vz, length): + try: + vx.value = self._particle_data[index_of_the_particle, 4] + vy.value = self._particle_data[index_of_the_particle, 5] + vz.value = self._particle_data[index_of_the_particle, 6] + return 0 + except: + return -1 + + + +class GalactICsInterface(PythonCodeInterface, CommonCodeInterface, LiteratureReferencesMixIn, + CodeWithDataDirectories): + """ + GalactICs allows to generate self-consistent disc-bulge-halo galaxy models. + The bulge and halo distribution functions (DFs) are functions of E and L_z + only. The halo's flattening and rotation can be specified. The disc DF is a + function of E and L_z and a third 'integral', E_z, the vertical energy, + which is approximately conserved in a warm disc with vertical extent. A + simulation of a sample model shows that in practice the models are very + close to equilibrium, making them ideal for experiments on instabilities in + galactic discs. + + Relevant references: + .. [#] Kuijken K., Dubinski J., 1995, MNRAS, 277, 1341 (original version) + .. [#] Widrow L.M., Dubinski J., 2005, ApJ, 631, 838 (2nd version) + .. [#] Widrow L.M., Pym B., Dubinski J., 2008, ApJ, 679, 1239 (current version) + """ + + def __init__(self, **options): + PythonCodeInterface.__init__(self, GalactICsImplementation, **options) + LiteratureReferencesMixIn.__init__(self) + CodeWithDataDirectories.__init__(self) + + def _check_if_worker_is_up_to_date(self): + if not os.path.exists(os.path.join(GalactICsImplementation()._bin_path, "dbh")): + raise exceptions.CodeException( + "The worker code of the '{0}' interface class is not up to date.\n" + "Please do a 'make clean; make' in the root directory.".format(type(self).__name__)) + + @property + def must_start_worker(self): + return True + + new_particle = None + + def delete_particle(self, index_of_the_particle): + return 0 + + @legacy_function + def get_output_path(): + function = LegacyFunctionSpecification() + function.addParameter('output_directory', dtype='string', direction=function.OUT, + description = "The path to the output directory.") + function.result_type = 'int32' + return function + + @legacy_function + def set_output_path(): + function = LegacyFunctionSpecification() + function.addParameter('output_directory', dtype='string', direction=function.IN, + description = "The path to the output directory.") + function.result_type = 'int32' + return function + + @legacy_function + def set_src_bin_path(): + function = LegacyFunctionSpecification() + function.addParameter('src_bin_path', dtype='string', direction=function.IN, + description = "The path to the Galactics binaries.") + function.result_type = 'int32' + return function + + #parameter getters & setters + # boolean parameters + for par in ["_generate_halo_flag", "_generate_disk_flag", "_generate_bulge_flag", + "_halo_do_center_flag", "_bulge_do_center_flag", "_disk_do_center_flag"]: + exec("@legacy_function\ndef get"+par+"():\n function = LegacyFunctionSpecification()\n" + " function.addParameter('value', dtype='bool', direction=function.OUT)\n" + " function.result_type = 'int32'\n return function") + exec("@legacy_function\ndef set"+par+"():\n function = LegacyFunctionSpecification()\n" + " function.addParameter('value', dtype='bool', direction=function.IN)\n" + " function.result_type = 'int32'\n return function") + + # integer parameters + for par in [ "_number_of_grid_intervals", "_order_of_multipole_expansion", + "_number_of_radial_steps_correction_fns", "_number_of_iterations", + "_halo_number_of_particles", "_halo_random_seed", + "_bulge_number_of_particles", "_bulge_random_seed", + "_disk_number_of_particles", "_disk_random_seed"]: + exec("@legacy_function\ndef get"+par+"():\n function = LegacyFunctionSpecification()\n" + " function.addParameter('value', dtype='int32', direction=function.OUT)\n" + " function.result_type = 'int32'\n return function") + exec("@legacy_function\ndef set"+par+"():\n function = LegacyFunctionSpecification()\n" + " function.addParameter('value', dtype='int32', direction=function.IN)\n" + " function.result_type = 'int32'\n return function") + + # float parameters + for par in ["_halo_outer_radius", "_scale_velocity", "_scale_radius", + "_truncation_delta_r", "_inner_cusp_slope", "_outer_slope", + "_disk_mass", "_disk_scale_length", "_disk_outer_radius", + "_disk_scale_height_sech2", "_disk_truncation_dr", "_Sersic_index_n", + "_bulge_velocity", "_bulge_scale_radius", "_radial_grid_delta_r", + "_central_radial_vel_dispersion", "_scale_length_of_sigR2", + "_halo_streaming_fraction", "_bulge_streaming_fraction"]: + exec("@legacy_function\ndef get"+par+"():\n function = LegacyFunctionSpecification()\n" + " function.addParameter('value', dtype='float64', direction=function.OUT)\n" + " function.result_type = 'int32'\n return function") + exec("@legacy_function\ndef set"+par+"():\n function = LegacyFunctionSpecification()\n" + " function.addParameter('value', dtype='float64', direction=function.IN)\n" + " function.result_type = 'int32'\n return function") + + def invoke_state_change2(self): + pass + + def invoke_state_change_updated(self): + pass + + @legacy_function + def generate_particles(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + @legacy_function + def get_number_of_particles_updated(): + """ + Return the number of particles added during the last generate_particles. + """ + function = LegacyFunctionSpecification() + function.addParameter('number_of_particles_updated', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_number_of_particles(): + """ + Return the number of halo/bulge/disk particles of the last generate_particles. + """ + function = LegacyFunctionSpecification() + function.addParameter('number_of_halo_particles', dtype='int32', direction=function.OUT) + function.addParameter('number_of_bulge_particles', dtype='int32', direction=function.OUT) + function.addParameter('number_of_disk_particles', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_mass(): + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('mass', dtype='float64', direction=function.OUT, description = "The current mass of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + @legacy_function + def get_position(): + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('x', dtype='float64', direction=function.OUT, description = "The current x component of the position vector of the particle") + function.addParameter('y', dtype='float64', direction=function.OUT, description = "The current y component of the position vector of the particle") + function.addParameter('z', dtype='float64', direction=function.OUT, description = "The current z component of the position vector of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + @legacy_function + def get_velocity(): + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('vx', dtype='float64', direction=function.OUT, description = "The current x component of the velocity vector of the particle") + function.addParameter('vy', dtype='float64', direction=function.OUT, description = "The current y component of the velocity vector of the particle") + function.addParameter('vz', dtype='float64', direction=function.OUT, description = "The current z component of the velocity vector of the particle") + function.addParameter('length', 'int32', function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + @legacy_function + def model_present(): + """ + Return whether a valid galaxy model is present. + """ + function = LegacyFunctionSpecification() + function.addParameter('model_present', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + + def get_code_src_directory(self): + return os.path.join(os.path.dirname(os.path.normpath(os.path.abspath(__file__))),'src') + + +class GalactICs(CommonCode): + + def __init__(self, unit_converter = None, **options): + self.unit_converter = unit_converter + InCodeComponentImplementation.__init__(self, GalactICsInterface(**options), **options) + + def initialize_code(self): + result = self.overridden().initialize_code() + self.parameters.set_defaults() + self.parameters.output_directory = self.get_output_directory() + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_output_path", + "set_output_path", + "output_directory", + "The path to the output directory", + default_value = "./" + ) + + # boolean parameters + for par in ["generate_halo_flag", "generate_disk_flag", "generate_bulge_flag"]: + handler.add_boolean_parameter( + "get_"+par, + "set_"+par, + par, + "Flag specifying whether to generate a "+par[9:-5], + True + ) + for par in ["halo_do_center_flag", "bulge_do_center_flag", "disk_do_center_flag"]: + handler.add_boolean_parameter( + "get_"+par, + "set_"+par, + par, + "Flag specifying whether to center the "+par[:-15]+" at the origin", + True + ) + + # integer parameters + handler.add_method_parameter( + "get_number_of_grid_intervals", + "set_number_of_grid_intervals", + "number_of_grid_intervals", + "Number of gridpoints in the radial direction", + default_value = 90000 + ) + handler.add_method_parameter( + "get_order_of_multipole_expansion", + "set_order_of_multipole_expansion", + "order_of_multipole_expansion", + "order of multipole expansion - even number - should be l=10 for models with disks - l=0 for purely spherical models without a disk", + default_value = 10 + ) + handler.add_method_parameter( + "get_number_of_radial_steps_correction_fns", + "set_number_of_radial_steps_correction_fns", + "number_of_radial_steps_correction_fns_disk_df", + "The number of intervals for correction functions (min. 6); used in calculation of the DF of the disk", + default_value = 10 + ) + handler.add_method_parameter( + "get_number_of_iterations", + "set_number_of_iterations", + "number_of_iterations_disk_df", + "The number of iterations in calculation of the DF of the disk", + default_value = 50 + ) + handler.add_method_parameter( + "get_halo_number_of_particles", + "set_halo_number_of_particles", + "halo_number_of_particles", + "The number of halo particles to generate", + default_value = 200000 + ) + handler.add_method_parameter( + "get_bulge_number_of_particles", + "set_bulge_number_of_particles", + "bulge_number_of_particles", + "The number of bulge particles to generate", + default_value = 50000 + ) + handler.add_method_parameter( + "get_disk_number_of_particles", + "set_disk_number_of_particles", + "disk_number_of_particles", + "The number of disk particles to generate", + default_value = 100000 + ) + handler.add_method_parameter( + "get_halo_random_seed", + "set_halo_random_seed", + "halo_random_seed", + "The seed to the random number generator used to generate the halo particles", + default_value = -1 + ) + handler.add_method_parameter( + "get_bulge_random_seed", + "set_bulge_random_seed", + "bulge_random_seed", + "The seed to the random number generator used to generate the bulge particles", + default_value = -1 + ) + handler.add_method_parameter( + "get_disk_random_seed", + "set_disk_random_seed", + "disk_random_seed", + "The seed to the random number generator used to generate the disk particles", + default_value = -1 + ) + + # float parameters + handler.add_method_parameter( + "get_halo_outer_radius", + "set_halo_outer_radius", + "halo_outer_radius", + "The halo is smoothly truncated at this radius", + default_value = 300.0 | nbody_system.length + ) + handler.add_method_parameter( + "get_scale_velocity", + "set_scale_velocity", + "halo_scale_velocity", + "The velocity scale of the halo", + default_value = 3.26331115 | nbody_system.speed + ) + handler.add_method_parameter( + "get_scale_radius", + "set_scale_radius", + "halo_scale_radius", + "The length scale of the halo", + default_value = 6.06699419 | nbody_system.length + ) + handler.add_method_parameter( + "get_truncation_delta_r", + "set_truncation_delta_r", + "halo_truncation_width", + "The width of the smooth truncation at halo_outer_radius", + default_value = 100.0 | nbody_system.length + ) + handler.add_method_parameter( + "get_inner_cusp_slope", + "set_inner_cusp_slope", + "halo_inner_cusp_slope", + "The slope of inner cusp of the halo density profile", + default_value = 1.0 + ) + handler.add_method_parameter( + "get_outer_slope", + "set_outer_slope", + "halo_outer_slope", + "The outer slope of the halo density profile", + default_value = 2.3 + ) + handler.add_method_parameter( + "get_disk_mass", + "set_disk_mass", + "disk_mass", + "The mass of the disk", + default_value = 25.0 | nbody_system.mass + ) + handler.add_method_parameter( + "get_disk_scale_length", + "set_disk_scale_length", + "disk_scale_length", + "The length scale of the disk", + default_value = 5.8097949 | nbody_system.length + ) + handler.add_method_parameter( + "get_disk_outer_radius", + "set_disk_outer_radius", + "disk_outer_radius", + "The disk is smoothly truncated at this radius", + default_value = 40.5 | nbody_system.length + ) + handler.add_method_parameter( + "get_disk_scale_height_sech2", + "set_disk_scale_height_sech2", + "disk_scale_height_sech2", + "The vertical scale length of the disk. The disk falls off as sech^2 in the z-direction.", + default_value = 0.5 | nbody_system.length + ) + handler.add_method_parameter( + "get_disk_truncation_dr", + "set_disk_truncation_dr", + "disk_truncation_width", + "The width of the smooth truncation at disk_outer_radius", + default_value = 1.5 | nbody_system.length + ) + handler.add_method_parameter( + "get_Sersic_index_n", + "set_Sersic_index_n", + "Sersic_index", + "The Sersic index of the bulge (1.0 for a classical bulge)", + default_value = 0.937324703 + ) + handler.add_method_parameter( + "get_bulge_velocity", + "set_bulge_velocity", + "bulge_scale_velocity", + "The velocity scale of the bulge", + default_value = 3.21182013 | nbody_system.speed + ) + handler.add_method_parameter( + "get_bulge_scale_radius", + "set_bulge_scale_radius", + "bulge_scale_radius", + "The length scale of the bulge", + default_value = 1.50395405 | nbody_system.length + ) + handler.add_method_parameter( + "get_radial_grid_delta_r", + "set_radial_grid_delta_r", + "radial_grid_delta_r", + "Spacing of the grid in the radial direction", + default_value = 0.01 | nbody_system.length + ) + handler.add_method_parameter( + "get_central_radial_vel_dispersion", + "set_central_radial_vel_dispersion", + "disk_central_radial_velocity_dispersion", + "The velocity dispersion of the disk in the radial direction at the center (in units of vertical velocity dispersion)", + default_value = 0.73 + ) + handler.add_method_parameter( + "get_scale_length_of_sigR2", + "set_scale_length_of_sigR2", + "disk_scale_length_of_sigR2", + "The length scale of the exponential decline of the velocity dispersion of the disk in the radial direction.", + default_value = 5.8097949 | nbody_system.length + ) + handler.add_method_parameter( + "get_halo_streaming_fraction", + "set_halo_streaming_fraction", + "halo_streaming_fraction", + "Control for rotating halo: distribution function is split in positive and negative angular momentum, and recombined with this parameter (F = aF+ + (1-a)F-); 0.5 means no rotation", + default_value = 0.50 + ) + handler.add_method_parameter( + "get_bulge_streaming_fraction", + "set_bulge_streaming_fraction", + "bulge_streaming_fraction", + "Control for rotating bulge: distribution function is split in positive and negative angular momentum, and recombined with this parameter (F = aF+ + (1-a)F-); 0.5 means no rotation", + default_value = 0.80 + ) + + def define_methods(self, handler): + CommonCode.define_methods(self, handler) + handler.add_method("generate_particles", (), (handler.ERROR_CODE,)) + handler.add_method("get_number_of_particles_updated", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + + handler.add_method("get_mass", (handler.INDEX,), + (nbody_system.mass, handler.ERROR_CODE) + ) + handler.add_method("get_position", (handler.INDEX,), + (nbody_system.length, nbody_system.length, nbody_system.length, handler.ERROR_CODE) + ) + handler.add_method("get_velocity", (handler.INDEX,), + (nbody_system.speed, nbody_system.speed, nbody_system.speed, handler.ERROR_CODE) + ) + + handler.add_method("get_output_path", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_output_path", (handler.NO_UNIT,), (handler.ERROR_CODE,)) + + for par in ["_number_of_grid_intervals", "_order_of_multipole_expansion", + "_number_of_radial_steps_correction_fns", "_number_of_iterations", + "_halo_number_of_particles", "_halo_random_seed", + "_bulge_number_of_particles", "_bulge_random_seed", + "_disk_number_of_particles", "_disk_random_seed", + "_inner_cusp_slope", "_outer_slope", "_Sersic_index_n", "_central_radial_vel_dispersion", + "_halo_streaming_fraction", "_bulge_streaming_fraction"]: + handler.add_method("get"+par, (), (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set"+par, (handler.NO_UNIT, ), (handler.ERROR_CODE,)) + + for par in ["_halo_outer_radius", "_scale_radius", "_truncation_delta_r", + "_disk_scale_length", "_disk_outer_radius", "_disk_scale_height_sech2", + "_disk_truncation_dr", "_bulge_scale_radius", "_radial_grid_delta_r", + "_scale_length_of_sigR2"]: + handler.add_method("get"+par, (), (nbody_system.length, handler.ERROR_CODE,)) + handler.add_method("set"+par, (nbody_system.length, ), (handler.ERROR_CODE,)) + + for par in ["_scale_velocity", "_bulge_velocity"]: + handler.add_method("get"+par, (), (nbody_system.speed, handler.ERROR_CODE,)) + handler.add_method("set"+par, (nbody_system.speed, ), (handler.ERROR_CODE,)) + + handler.add_method("get_disk_mass", (), (nbody_system.mass, handler.ERROR_CODE,)) + handler.add_method("set_disk_mass", (nbody_system.mass, ), (handler.ERROR_CODE,)) + + def define_converter(self, handler): + if not self.unit_converter is None: + handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) + + def define_particle_sets(self, handler): + handler.define_set('particles', 'index_of_the_particle') + handler.set_new('particles', 'new_particle') + handler.set_delete('particles', 'delete_particle') + handler.add_getter('particles', 'get_mass') + handler.add_getter('particles', 'get_position') + handler.add_getter('particles', 'get_velocity') + + def define_state(self, handler): + CommonCode.define_state(self, handler) + + handler.add_transition('INITIALIZED','EDIT','commit_parameters') + handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False) + handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False) + handler.add_transition('UPDATE','CHANGE_PARAMETERS_UPDATE','before_set_parameter', False) + handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters') + handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') + handler.add_transition('CHANGE_PARAMETERS_UPDATE','UPDATE','recommit_parameters') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_UPDATE','before_set_parameter') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'model_present') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'model_present') + handler.add_method('CHANGE_PARAMETERS_UPDATE','model_present') + handler.add_method('INITIALIZED','model_present') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') + handler.add_method('CHANGE_PARAMETERS_UPDATE','before_get_parameter') + handler.add_method('RUN', 'before_get_parameter') + handler.add_method('EDIT', 'before_get_parameter') + handler.add_method('UPDATE','before_get_parameter') + + handler.add_transition('EDIT', 'UPDATE', 'generate_particles', False) + handler.add_transition('UPDATE', 'RUN', 'update_particle_set') + handler.add_transition('RUN', 'EDIT', 'clear_particle_set') + handler.add_method('RUN', 'invoke_state_change_updated') + handler.add_method('EDIT', 'get_number_of_particles_updated') + handler.add_method('UPDATE', 'get_number_of_particles_updated') + handler.add_method('RUN', 'get_number_of_particles_updated') + handler.add_method('RUN', 'get_number_of_particles') + handler.add_method('RUN', 'get_mass') + handler.add_method('RUN', 'get_position') + handler.add_method('RUN', 'get_velocity') + + def generate_particles(self): + result = self.overridden().generate_particles() + self.invoke_state_change_updated() + + def update_particle_set(self): + """ + update the particle set after changes in the code + + this implementation needs to move to the + amuse.datamodel.incode_storage module, as + it uses a lot of internal methods and info! + """ + number_of_updated_particles = self.get_number_of_particles_updated() + if number_of_updated_particles: + self.particles._private.attribute_storage._add_indices( + list(range(number_of_updated_particles)) + ) + + def clear_particle_set(self): + if len(self.particles): + self.particles.remove_particles(self.particles) + + @property + def halo_particles(self): + nhalo,nbulge,ndisk=self.get_number_of_particles() + return self.particles[ndisk+nbulge:] + + @property + def bulge_particles(self): + nhalo,nbulge,ndisk=self.get_number_of_particles() + return self.particles[ndisk:ndisk+nbulge] + + @property + def disk_particles(self): + nhalo,nbulge,ndisk=self.get_number_of_particles() + return self.particles[:ndisk] + + +Galactics = GalactICs diff --git a/src/amuse_galactics/packages/amuse-galactics.amuse_deps b/src/amuse_galactics/packages/amuse-galactics.amuse_deps new file mode 100644 index 0000000000..9b6deb1dd7 --- /dev/null +++ b/src/amuse_galactics/packages/amuse-galactics.amuse_deps @@ -0,0 +1 @@ +c fortran mpi diff --git a/src/amuse_galactics/packages/amuse-galactics/.gitignore b/src/amuse_galactics/packages/amuse-galactics/.gitignore new file mode 100644 index 0000000000..a4f56be4e7 --- /dev/null +++ b/src/amuse_galactics/packages/amuse-galactics/.gitignore @@ -0,0 +1,3 @@ +__amuse_code_output +interface + diff --git a/src/amuse_galactics/packages/amuse-galactics/amuse_galactics b/src/amuse_galactics/packages/amuse-galactics/amuse_galactics new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_galactics/packages/amuse-galactics/amuse_galactics @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_galactics/packages/amuse-galactics/pyproject.toml b/src/amuse_galactics/packages/amuse-galactics/pyproject.toml new file mode 100644 index 0000000000..d42f3d56ba --- /dev/null +++ b/src/amuse_galactics/packages/amuse-galactics/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-galactics" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = [ + "amuse_galactics/**/*.py", "amuse_galactics/data"] +exclude = [ + "amuse_galactics/packages", + "amuse_galactics/support", + "amuse_galactics/src", + "amuse_galactics/tests" + ] + +[tool.pytest.ini_options] +pythonpath = ["amuse_galactics/tests/"] + +testpaths = ["amuse_galactics/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/galactics/src/README.install b/src/amuse_galactics/src/README.install similarity index 100% rename from src/amuse/community/galactics/src/README.install rename to src/amuse_galactics/src/README.install diff --git a/src/amuse_galactics/src/bin/.gitignore b/src/amuse_galactics/src/bin/.gitignore new file mode 100644 index 0000000000..d6b7ef32c8 --- /dev/null +++ b/src/amuse_galactics/src/bin/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/src/amuse/community/galactics/src/models/M31a/Makefile b/src/amuse_galactics/src/models/M31a/Makefile similarity index 100% rename from src/amuse/community/galactics/src/models/M31a/Makefile rename to src/amuse_galactics/src/models/M31a/Makefile diff --git a/src/amuse/community/galactics/src/models/M31a/in.bulge b/src/amuse_galactics/src/models/M31a/in.bulge similarity index 100% rename from src/amuse/community/galactics/src/models/M31a/in.bulge rename to src/amuse_galactics/src/models/M31a/in.bulge diff --git a/src/amuse/community/galactics/src/models/M31a/in.dbh b/src/amuse_galactics/src/models/M31a/in.dbh similarity index 100% rename from src/amuse/community/galactics/src/models/M31a/in.dbh rename to src/amuse_galactics/src/models/M31a/in.dbh diff --git a/src/amuse/community/galactics/src/models/M31a/in.disk b/src/amuse_galactics/src/models/M31a/in.disk similarity index 100% rename from src/amuse/community/galactics/src/models/M31a/in.disk rename to src/amuse_galactics/src/models/M31a/in.disk diff --git a/src/amuse/community/galactics/src/models/M31a/in.diskdf b/src/amuse_galactics/src/models/M31a/in.diskdf similarity index 100% rename from src/amuse/community/galactics/src/models/M31a/in.diskdf rename to src/amuse_galactics/src/models/M31a/in.diskdf diff --git a/src/amuse/community/galactics/src/models/M31a/in.gendenspsi b/src/amuse_galactics/src/models/M31a/in.gendenspsi similarity index 100% rename from src/amuse/community/galactics/src/models/M31a/in.gendenspsi rename to src/amuse_galactics/src/models/M31a/in.gendenspsi diff --git a/src/amuse/community/galactics/src/models/M31a/in.halo b/src/amuse_galactics/src/models/M31a/in.halo similarity index 100% rename from src/amuse/community/galactics/src/models/M31a/in.halo rename to src/amuse_galactics/src/models/M31a/in.halo diff --git a/src/amuse/community/galactics/src/models/M31b/Makefile b/src/amuse_galactics/src/models/M31b/Makefile similarity index 100% rename from src/amuse/community/galactics/src/models/M31b/Makefile rename to src/amuse_galactics/src/models/M31b/Makefile diff --git a/src/amuse/community/galactics/src/models/M31b/in.bulge b/src/amuse_galactics/src/models/M31b/in.bulge similarity index 100% rename from src/amuse/community/galactics/src/models/M31b/in.bulge rename to src/amuse_galactics/src/models/M31b/in.bulge diff --git a/src/amuse/community/galactics/src/models/M31b/in.dbh b/src/amuse_galactics/src/models/M31b/in.dbh similarity index 100% rename from src/amuse/community/galactics/src/models/M31b/in.dbh rename to src/amuse_galactics/src/models/M31b/in.dbh diff --git a/src/amuse/community/galactics/src/models/M31b/in.disk b/src/amuse_galactics/src/models/M31b/in.disk similarity index 100% rename from src/amuse/community/galactics/src/models/M31b/in.disk rename to src/amuse_galactics/src/models/M31b/in.disk diff --git a/src/amuse/community/galactics/src/models/M31b/in.diskdf b/src/amuse_galactics/src/models/M31b/in.diskdf similarity index 100% rename from src/amuse/community/galactics/src/models/M31b/in.diskdf rename to src/amuse_galactics/src/models/M31b/in.diskdf diff --git a/src/amuse/community/galactics/src/models/M31b/in.gendenspsi b/src/amuse_galactics/src/models/M31b/in.gendenspsi similarity index 100% rename from src/amuse/community/galactics/src/models/M31b/in.gendenspsi rename to src/amuse_galactics/src/models/M31b/in.gendenspsi diff --git a/src/amuse/community/galactics/src/models/M31b/in.halo b/src/amuse_galactics/src/models/M31b/in.halo similarity index 100% rename from src/amuse/community/galactics/src/models/M31b/in.halo rename to src/amuse_galactics/src/models/M31b/in.halo diff --git a/src/amuse/community/galactics/src/models/M31c/Makefile b/src/amuse_galactics/src/models/M31c/Makefile similarity index 100% rename from src/amuse/community/galactics/src/models/M31c/Makefile rename to src/amuse_galactics/src/models/M31c/Makefile diff --git a/src/amuse/community/galactics/src/models/M31c/ics.job b/src/amuse_galactics/src/models/M31c/ics.job similarity index 100% rename from src/amuse/community/galactics/src/models/M31c/ics.job rename to src/amuse_galactics/src/models/M31c/ics.job diff --git a/src/amuse/community/galactics/src/models/M31c/in.bulge b/src/amuse_galactics/src/models/M31c/in.bulge similarity index 100% rename from src/amuse/community/galactics/src/models/M31c/in.bulge rename to src/amuse_galactics/src/models/M31c/in.bulge diff --git a/src/amuse/community/galactics/src/models/M31c/in.dbh b/src/amuse_galactics/src/models/M31c/in.dbh similarity index 100% rename from src/amuse/community/galactics/src/models/M31c/in.dbh rename to src/amuse_galactics/src/models/M31c/in.dbh diff --git a/src/amuse/community/galactics/src/models/M31c/in.disk b/src/amuse_galactics/src/models/M31c/in.disk similarity index 100% rename from src/amuse/community/galactics/src/models/M31c/in.disk rename to src/amuse_galactics/src/models/M31c/in.disk diff --git a/src/amuse/community/galactics/src/models/M31c/in.diskdf b/src/amuse_galactics/src/models/M31c/in.diskdf similarity index 100% rename from src/amuse/community/galactics/src/models/M31c/in.diskdf rename to src/amuse_galactics/src/models/M31c/in.diskdf diff --git a/src/amuse/community/galactics/src/models/M31c/in.gendenspsi b/src/amuse_galactics/src/models/M31c/in.gendenspsi similarity index 100% rename from src/amuse/community/galactics/src/models/M31c/in.gendenspsi rename to src/amuse_galactics/src/models/M31c/in.gendenspsi diff --git a/src/amuse/community/galactics/src/models/M31c/in.halo b/src/amuse_galactics/src/models/M31c/in.halo similarity index 100% rename from src/amuse/community/galactics/src/models/M31c/in.halo rename to src/amuse_galactics/src/models/M31c/in.halo diff --git a/src/amuse/community/galactics/src/models/NFW/Makefile b/src/amuse_galactics/src/models/NFW/Makefile similarity index 100% rename from src/amuse/community/galactics/src/models/NFW/Makefile rename to src/amuse_galactics/src/models/NFW/Makefile diff --git a/src/amuse/community/galactics/src/models/NFW/in.bulge b/src/amuse_galactics/src/models/NFW/in.bulge similarity index 100% rename from src/amuse/community/galactics/src/models/NFW/in.bulge rename to src/amuse_galactics/src/models/NFW/in.bulge diff --git a/src/amuse/community/galactics/src/models/NFW/in.dbh b/src/amuse_galactics/src/models/NFW/in.dbh similarity index 100% rename from src/amuse/community/galactics/src/models/NFW/in.dbh rename to src/amuse_galactics/src/models/NFW/in.dbh diff --git a/src/amuse/community/galactics/src/models/NFW/in.disk b/src/amuse_galactics/src/models/NFW/in.disk similarity index 100% rename from src/amuse/community/galactics/src/models/NFW/in.disk rename to src/amuse_galactics/src/models/NFW/in.disk diff --git a/src/amuse/community/galactics/src/models/NFW/in.diskdf b/src/amuse_galactics/src/models/NFW/in.diskdf similarity index 100% rename from src/amuse/community/galactics/src/models/NFW/in.diskdf rename to src/amuse_galactics/src/models/NFW/in.diskdf diff --git a/src/amuse/community/galactics/src/models/NFW/in.gendenspsi b/src/amuse_galactics/src/models/NFW/in.gendenspsi similarity index 100% rename from src/amuse/community/galactics/src/models/NFW/in.gendenspsi rename to src/amuse_galactics/src/models/NFW/in.gendenspsi diff --git a/src/amuse/community/galactics/src/models/NFW/in.halo b/src/amuse_galactics/src/models/NFW/in.halo similarity index 100% rename from src/amuse/community/galactics/src/models/NFW/in.halo rename to src/amuse_galactics/src/models/NFW/in.halo diff --git a/src/amuse/community/galactics/src/models/README.parameters b/src/amuse_galactics/src/models/README.parameters similarity index 100% rename from src/amuse/community/galactics/src/models/README.parameters rename to src/amuse_galactics/src/models/README.parameters diff --git a/src/amuse/community/galactics/src/models/Sersic/.smhist b/src/amuse_galactics/src/models/Sersic/.smhist similarity index 100% rename from src/amuse/community/galactics/src/models/Sersic/.smhist rename to src/amuse_galactics/src/models/Sersic/.smhist diff --git a/src/amuse/community/galactics/src/models/Sersic/Makefile b/src/amuse_galactics/src/models/Sersic/Makefile similarity index 100% rename from src/amuse/community/galactics/src/models/Sersic/Makefile rename to src/amuse_galactics/src/models/Sersic/Makefile diff --git a/src/amuse/community/galactics/src/models/Sersic/in.bulge b/src/amuse_galactics/src/models/Sersic/in.bulge similarity index 100% rename from src/amuse/community/galactics/src/models/Sersic/in.bulge rename to src/amuse_galactics/src/models/Sersic/in.bulge diff --git a/src/amuse/community/galactics/src/models/Sersic/in.dbh b/src/amuse_galactics/src/models/Sersic/in.dbh similarity index 100% rename from src/amuse/community/galactics/src/models/Sersic/in.dbh rename to src/amuse_galactics/src/models/Sersic/in.dbh diff --git a/src/amuse/community/galactics/src/models/Sersic/in.gendenspsi b/src/amuse_galactics/src/models/Sersic/in.gendenspsi similarity index 100% rename from src/amuse/community/galactics/src/models/Sersic/in.gendenspsi rename to src/amuse_galactics/src/models/Sersic/in.gendenspsi diff --git a/src/amuse/community/galactics/src/models/Sersic/in.halo b/src/amuse_galactics/src/models/Sersic/in.halo similarity index 100% rename from src/amuse/community/galactics/src/models/Sersic/in.halo rename to src/amuse_galactics/src/models/Sersic/in.halo diff --git a/src/amuse/community/galactics/src/potsrc/Makefile b/src/amuse_galactics/src/potsrc/Makefile similarity index 100% rename from src/amuse/community/galactics/src/potsrc/Makefile rename to src/amuse_galactics/src/potsrc/Makefile diff --git a/src/amuse/community/galactics/src/potsrc/README.install b/src/amuse_galactics/src/potsrc/README.install similarity index 100% rename from src/amuse/community/galactics/src/potsrc/README.install rename to src/amuse_galactics/src/potsrc/README.install diff --git a/src/amuse/community/galactics/src/potsrc/appdiskforce.f b/src/amuse_galactics/src/potsrc/appdiskforce.f similarity index 100% rename from src/amuse/community/galactics/src/potsrc/appdiskforce.f rename to src/amuse_galactics/src/potsrc/appdiskforce.f diff --git a/src/amuse/community/galactics/src/potsrc/appdiskpot.f b/src/amuse_galactics/src/potsrc/appdiskpot.f similarity index 100% rename from src/amuse/community/galactics/src/potsrc/appdiskpot.f rename to src/amuse_galactics/src/potsrc/appdiskpot.f diff --git a/src/amuse/community/galactics/src/potsrc/checkvirial.c b/src/amuse_galactics/src/potsrc/checkvirial.c similarity index 92% rename from src/amuse/community/galactics/src/potsrc/checkvirial.c rename to src/amuse_galactics/src/potsrc/checkvirial.c index f952a08794..6bface2dd3 100644 --- a/src/amuse/community/galactics/src/potsrc/checkvirial.c +++ b/src/amuse_galactics/src/potsrc/checkvirial.c @@ -2,9 +2,9 @@ #include #include -main(argc,argv) -int argc; -char **argv; +#include "rigidpot.h" + +int main(int argc, char **argv) { float m, x, y, z, vx, vy, vz, ax, ay, az, pot; @@ -35,6 +35,6 @@ char **argv; pe += (double) (0.5*m*pot); } fprintf(stderr,"T %g W %g -2T/W %g\n",ke,pe,-2*ke/pe); - exit(0); + return 0; } diff --git a/src/amuse/community/galactics/src/potsrc/common.h b/src/amuse_galactics/src/potsrc/common.h similarity index 100% rename from src/amuse/community/galactics/src/potsrc/common.h rename to src/amuse_galactics/src/potsrc/common.h diff --git a/src/amuse/community/galactics/src/potsrc/commonblocks.h b/src/amuse_galactics/src/potsrc/commonblocks.h similarity index 100% rename from src/amuse/community/galactics/src/potsrc/commonblocks.h rename to src/amuse_galactics/src/potsrc/commonblocks.h diff --git a/src/amuse/community/galactics/src/potsrc/energysort.c b/src/amuse_galactics/src/potsrc/energysort.c similarity index 93% rename from src/amuse/community/galactics/src/potsrc/energysort.c rename to src/amuse_galactics/src/potsrc/energysort.c index 100ddccda4..bf3f2695e6 100644 --- a/src/amuse/community/galactics/src/potsrc/energysort.c +++ b/src/amuse_galactics/src/potsrc/energysort.c @@ -2,6 +2,9 @@ #include #include +#include "rigidpot.h" + + typedef struct { float m, x, y, z, vx, vy, vz; } phase; @@ -9,9 +12,7 @@ typedef struct { int *indx; double *be; -main(argc,argv) -int argc; -char **argv; +int main(int argc, char **argv) { int i, j, nobj; @@ -64,13 +65,13 @@ char **argv; } fwrite(r0,sizeof(phase),nobj,stdout); - exit(0); + return 0; } -int cmp(a,b) -int *a, *b; +int cmp(int *a, int *b) { if( be[*a] > be[*b]) return 1; if( be[*a] < be[*b]) return -1; return 0; } + diff --git a/src/amuse/community/galactics/src/potsrc/equivalence.h b/src/amuse_galactics/src/potsrc/equivalence.h similarity index 100% rename from src/amuse/community/galactics/src/potsrc/equivalence.h rename to src/amuse_galactics/src/potsrc/equivalence.h diff --git a/src/amuse/community/galactics/src/potsrc/extern.h b/src/amuse_galactics/src/potsrc/extern.h similarity index 100% rename from src/amuse/community/galactics/src/potsrc/extern.h rename to src/amuse_galactics/src/potsrc/extern.h diff --git a/src/amuse/community/galactics/src/potsrc/force.f b/src/amuse_galactics/src/potsrc/force.f similarity index 100% rename from src/amuse/community/galactics/src/potsrc/force.f rename to src/amuse_galactics/src/potsrc/force.f diff --git a/src/amuse_galactics/src/potsrc/force.h b/src/amuse_galactics/src/potsrc/force.h new file mode 100644 index 0000000000..13ef8c7eff --- /dev/null +++ b/src/amuse_galactics/src/potsrc/force.h @@ -0,0 +1,7 @@ +#ifndef GALACTICS_FORCE_H +#define GALACTICS_FORCE_H + +void force_(float *r0, float *z0, float *ar0, float *az0, float *pot0); + +#endif + diff --git a/src/amuse/community/galactics/src/potsrc/parameters.h b/src/amuse_galactics/src/potsrc/parameters.h similarity index 100% rename from src/amuse/community/galactics/src/potsrc/parameters.h rename to src/amuse_galactics/src/potsrc/parameters.h diff --git a/src/amuse/community/galactics/src/potsrc/plgndr1.f b/src/amuse_galactics/src/potsrc/plgndr1.f similarity index 100% rename from src/amuse/community/galactics/src/potsrc/plgndr1.f rename to src/amuse_galactics/src/potsrc/plgndr1.f diff --git a/src/amuse/community/galactics/src/potsrc/readharmfile.f b/src/amuse_galactics/src/potsrc/readharmfile.f similarity index 100% rename from src/amuse/community/galactics/src/potsrc/readharmfile.f rename to src/amuse_galactics/src/potsrc/readharmfile.f diff --git a/src/amuse_galactics/src/potsrc/readharmfile.h b/src/amuse_galactics/src/potsrc/readharmfile.h new file mode 100644 index 0000000000..5a6a0bf49c --- /dev/null +++ b/src/amuse_galactics/src/potsrc/readharmfile.h @@ -0,0 +1,10 @@ +#ifndef GALACTICS_READHARMFILE_H +#define GALACTICS_READHARMFILE_H + +/* C header for the Fortran-implemented readharmfile function */ + +void readharmfile_(char *file); +void fixpot_(); + +#endif + diff --git a/src/amuse/community/galactics/src/potsrc/rigidpot.c b/src/amuse_galactics/src/potsrc/rigidpot.c similarity index 90% rename from src/amuse/community/galactics/src/potsrc/rigidpot.c rename to src/amuse_galactics/src/potsrc/rigidpot.c index e0ff799b4e..44b2e773b4 100644 --- a/src/amuse/community/galactics/src/potsrc/rigidpot.c +++ b/src/amuse_galactics/src/potsrc/rigidpot.c @@ -2,6 +2,9 @@ #include #include +#include "force.h" +#include "readharmfile.h" + void InitRigidPotential(potname) char *potname; { diff --git a/src/amuse_galactics/src/potsrc/rigidpot.h b/src/amuse_galactics/src/potsrc/rigidpot.h new file mode 100644 index 0000000000..bb71497d1b --- /dev/null +++ b/src/amuse_galactics/src/potsrc/rigidpot.h @@ -0,0 +1,9 @@ +#ifndef GALACTICS_RIGIDPOT_H +#define GALACTICS_RIGIDPOT_H + +void InitRigidPotential(char * potname); + +void getforce(float x, float y, float z, float *ax, float *ay, float *az, float *pot); + +#endif + diff --git a/src/amuse/community/galactics/src/potsrc/testforce.c b/src/amuse_galactics/src/potsrc/testforce.c similarity index 90% rename from src/amuse/community/galactics/src/potsrc/testforce.c rename to src/amuse_galactics/src/potsrc/testforce.c index 2a5d0637d6..fff0c0a345 100644 --- a/src/amuse/community/galactics/src/potsrc/testforce.c +++ b/src/amuse_galactics/src/potsrc/testforce.c @@ -2,9 +2,9 @@ #include #include -main(argc,argv) -int argc; -char **argv; +#include "rigidpot.h" + +int main(int argc, char **argv) { float x, y, z, ax, ay, az, pot; @@ -34,4 +34,5 @@ exit(0); fprintf(stdout,"ax ay az %g %g %g\n",ax,ay,az); fprintf(stdout,"pot %g\n",pot); + return 0; } diff --git a/src/amuse/community/galactics/src/potsrc/testp.c b/src/amuse_galactics/src/potsrc/testp.c similarity index 95% rename from src/amuse/community/galactics/src/potsrc/testp.c rename to src/amuse_galactics/src/potsrc/testp.c index 6bb9e41112..cde208bc0a 100644 --- a/src/amuse/community/galactics/src/potsrc/testp.c +++ b/src/amuse_galactics/src/potsrc/testp.c @@ -2,9 +2,7 @@ #include #include -main(argc,argv) -int argc; -char **argv; +int main(int argc, char **argv) { int i, nobj; @@ -48,3 +46,4 @@ char **argv; fprintf(stdout,"pot %g\n",pot); } + diff --git a/src/amuse_galactics/src/potsrc/vcirc.c b/src/amuse_galactics/src/potsrc/vcirc.c new file mode 100644 index 0000000000..803d75239f --- /dev/null +++ b/src/amuse_galactics/src/potsrc/vcirc.c @@ -0,0 +1,67 @@ +#include +#include +#include + +#include "force.h" +#include "rigidpot.h" + +void plotv(float *rp, float *vp, int line, char *file); + +float ra[10000], va[10000]; +float rh[10000], vh[10000]; +float rd0[10000], vd[10000], vd0[10000]; +float rb[10000], vb[10000]; + + +int main(int argc, char **argv) +{ + int i; + float dr; + char harmfile[80]; + FILE *vrfile; + + plotv(ra,va,1,"dbh.dat"); + plotv(rb,vb,2,"b.dat"); + plotv(rh,vh,3,"h.dat"); +/* + plotv(rd0,vd0,4,"d.dat"); +*/ + for(i=0; i<5000; i++) { + float vd2; + vd2 = (va[i]*va[i] - vb[i]*vb[i] - vh[i]*vh[i]); + if( vd2 > 0 ) { + vd[i] = sqrt(va[i]*va[i] - vb[i]*vb[i] - vh[i]*vh[i]); + } + else { + vd[i] = 0; + } + rd0[i] = ra[i]; + fprintf(stdout,"%g %g %g %g %g\n",rd0[i],vd[i],vb[i],vh[i],va[i]); + } + return 0; +} + +void plotv(float *rp, float *vp, int line, char *file) +{ + int i; + float dr; + float q; + float rad, z, fr, fz, pot; + + InitRigidPotential(file); + + dr = 0.1; + for(i=0; i<5000; i++) { + rad = i*dr; + z = 0.0; + force_(&rad,&z,&fr,&fz,&pot); + if( fr > 0 ) fr = 0; + rp[i] = rad; + vp[i] = sqrt(-rp[i]*fr); + } +#ifdef PGPLOT + pgsls(line); + pgline(1000,rp,vp); +#endif +} + diff --git a/src/amuse_galactics/src/src/Makefile b/src/amuse_galactics/src/src/Makefile new file mode 100644 index 0000000000..4acde5def4 --- /dev/null +++ b/src/amuse_galactics/src/src/Makefile @@ -0,0 +1,130 @@ +#Makefile for particle generators of the combined df - June 8/94 - JJD +# +.f.o: + $(F77) $(FFLAGS) -c $*.f + +F77?=gfortran +CC?=gcc +#F77=ifort +#CC=icc +#CFLAGS = -O3 +#CFLAGS = -O -DRINGASCII -DASCII +LIBS = -lm -ldl +#These flags for SunOS: +#FFLAGS = -e -C -O +#FLIBS = -L/usr/X11/lib/ -lX11 -lpgplot + +#Replace FFLAGS and FLIBS above with the following for linux: +#FFLAGS = -ffixed-line-length-0 -O -fno-backslash +#FFLAGS += -O3 -132 -nofor-main +#FLIBS = -L/usr/X11R6/lib64/ -lX11 +#FLIBS = -L/usr/X11R6/lib/ -lX11 +FLIBS = -ldl + +ICPROGS= dbh genhalo genbulge getfreqs gendisk diskdf toascii + +#FFLAGS = -O -extend_source +#CFLAGS = -O2 -DRINGASCII -DASCII -DTP +#LIBS = -lm -lots -lfor + + +CXX_VERSION := $(shell $(CXX) --version) +ifeq ($(findstring clang, $(CXX_VERSION)),clang) + GENLIBS = -lc++ -ldl +else + GENLIBS = -lstdc++ -ldl +endif + + + +all: ics parallel + +ics: $(ICPROGS) + +dbh: dbh.o polardens.o bulgepotential.o totdens.o halopotential.o pot.o diskdens.o dens.o appdiskpot.o plgndr1.o bulgedenspsi.o halodenspsi.o gendenspsihalo.o gendenspsibulge.o polarbulgedens.o polarhalodens.o appdiskdens.o halodens.o dfhalo.o dfbulge.o erfcen.o modstamp.o force.o appdiskforce.o gendf.o getpsi.o dpolardens.o diskpotentialestimate.o halopotentialestimate.o nfwprofiles.o sersicprofiles.o + $(F77) $(FFLAGS) $(FLIBS) dbh.o polardens.o bulgepotential.o totdens.o halopotential.o pot.o diskdens.o dens.o appdiskpot.o plgndr1.o bulgedenspsi.o halodenspsi.o gendenspsihalo.o gendenspsibulge.o polarbulgedens.o polarhalodens.o appdiskdens.o halodens.o dfhalo.o dfbulge.o erfcen.o modstamp.o force.o appdiskforce.o gendf.o getpsi.o dpolardens.o diskpotentialestimate.o halopotentialestimate.o nfwprofiles.o sersicprofiles.o -o dbh + +omegakappa: omegakappa.o polardens.o bulgepotential.o totdens.o halopotential.o pot.o diskdens.o dens.o appdiskpot.o plgndr1.o bulgedenspsi.o halodenspsi.o gendenspsihalo.o gendenspsibulge.o polarbulgedens.o polarhalodens.o appdiskdens.o halodens.o dfhalo.o dfbulge.o erfcen.o modstamp.o force.o appdiskforce.o splined.o splintd.o + $(F77) $(FFLAGS) $(FLIBS) omegakappa.o polardens.o bulgepotential.o totdens.o halopotential.o pot.o diskdens.o dens.o appdiskpot.o plgndr1.o bulgedenspsi.o halodenspsi.o gendenspsihalo.o gendenspsibulge.o polarbulgedens.o polarhalodens.o appdiskdens.o halodens.o dfhalo.o dfbulge.o erfcen.o modstamp.o force.o appdiskforce.o splined.o splintd.o -o omegakappa + +gendisk: gendisk.o ran1.o prng_engine_wrapper.o query.o \ + appdiskforce.o force.o velocityfactors.o readdiskdf.o golden.o simpson.o diskdf5ez.o diskdensf.o readharmfile.o sigr2.o sigz2.o omekap.o diskdens.o splined.o splintd.o diskdf3ez.o diskdenspsi.o pot.o fnamidden.o appdiskpot.o plgndr1.o rcirc.o getpsi.o sersicprofiles.o + $(F77) $(FFLAGS) gendisk.o ran1.o prng_engine_wrapper.o query.o appdiskforce.o force.o velocityfactors.o diskdf5ez.o diskdensf.o readharmfile.o sigr2.o sigz2.o omekap.o diskdens.o splined.o splintd.o diskdf3ez.o diskdenspsi.o pot.o fnamidden.o appdiskpot.o plgndr1.o rcirc.o getpsi.o readdiskdf.o golden.o simpson.o sersicprofiles.o -o gendisk $(GENLIBS) + +genbulge: genbulge.o readmassrad.o query.o ran1.o prng_engine_wrapper.o readharmfile.o pot.o dfbulge.o dfhalo.o appdiskpot.o plgndr1.o bulgedenspsi.o readdenspsi.o erfcen.o getpsi.o sersicprofiles.o force.o appdiskforce.o + $(F77) $(FFLAGS) genbulge.o readmassrad.o query.o ran1.o prng_engine_wrapper.o readharmfile.o pot.o dfbulge.o dfhalo.o appdiskpot.o plgndr1.o bulgedenspsi.o readdenspsi.o erfcen.o getpsi.o sersicprofiles.o force.o appdiskforce.o -o genbulge $(GENLIBS) + +genhalo: genhalo.o readmassrad.o dfcorrection.o query.o ran1.o prng_engine_wrapper.o readharmfile.o pot.o halodens.o dfhalo.o dfbulge.o appdiskpot.o plgndr1.o halodenspsi.o readdenspsi.o erfcen.o getpsi.o sersicprofiles.o force.o appdiskforce.o + $(F77) $(FFLAGS) genhalo.o readmassrad.o dfcorrection.o query.o ran1.o prng_engine_wrapper.o readharmfile.o appdiskpot.o plgndr1.o halodenspsi.o readdenspsi.o pot.o halodens.o dfhalo.o dfbulge.o erfcen.o getpsi.o sersicprofiles.o force.o appdiskforce.o -o genhalo $(GENLIBS) + + +diskdf: diskdf.o diskdf5intez.o diskdensf.o splintd.o splined.o readharmfile.o sigr2.o sigz2.o omekap.o pot.o diskdf3intez.o appdiskpot.o plgndr1.o fnamidden.o rcirc.o diskdens.o modstamp.o + $(F77) $(FFLAGS) $(FLIBS) diskdf.o diskdf5intez.o diskdf3intez.o appdiskpot.o plgndr1.o diskdensf.o splintd.o splined.o readharmfile.o sigr2.o sigz2.o fnamidden.o rcirc.o diskdens.o omekap.o pot.o modstamp.o -o diskdf + +getfreqs: getfreqs.o pot.o appdiskpot.o plgndr1.o erfcen.o + $(F77) $(FFLAGS) $(FLIBS) getfreqs.o pot.o appdiskpot.o plgndr1.o erfcen.o -o getfreqs + +toascii: toascii.o + $(CC) $(CFLAGS) toascii.o -o toascii $(LIBS) + +#Parallel versions + +MPICC?=mpicc +MPIFC?=mpif90 +MPIF77=$(MPIFC) + +PARPROGS=pgendisk pgenhalo pgenbulge +parallel: $(PARPROGS) + +pgendisk.o: pgendisk.c + $(MPICC) $(CFLAGS) -c pgendisk.c + +pgenbulge.o: pgenbulge.c + $(MPICC) $(CFLAGS) -c pgenbulge.c + +pgenhalo.o: pgenhalo.c + $(MPICC) $(CFLAGS) -c pgenhalo.c + + +pgendisk: pgendisk.o ran1.o prng_engine_wrapper.o query.o appdiskforce.o force.o velocityfactors.o \ +readdiskdf.o golden.o simpson.o diskdf5ez.o diskdensf.o readharmfile.o \ +sigr2.o sigz2.o omekap.o diskdens.o splined.o splintd.o diskdf3ez.o \ +diskdenspsi.o pot.o fnamidden.o appdiskpot.o plgndr1.o rcirc.o getpsi.o \ +sersicprofiles.o + $(MPIF77) $(FFLAGS) pgendisk.o ran1.o prng_engine_wrapper.o query.o appdiskforce.o force.o \ +velocityfactors.o diskdf5ez.o diskdensf.o readharmfile.o sigr2.o sigz2.o \ +omekap.o diskdens.o splined.o splintd.o diskdf3ez.o diskdenspsi.o pot.o \ +fnamidden.o appdiskpot.o plgndr1.o rcirc.o getpsi.o readdiskdf.o golden.o \ +simpson.o sersicprofiles.o -o pgendisk $(GENLIBS) + +pgenbulge: pgenbulge.o readmassrad.o query.o ran1.o prng_engine_wrapper.o readharmfile.o pot.o dfbulge.o dfhalo.o appdiskpot.o plgndr1.o bulgedenspsi.o readdenspsi.o erfcen.o getpsi.o sersicprofiles.o force.o appdiskforce.o + $(MPIF77) $(FFLAGS) pgenbulge.o readmassrad.o query.o ran1.o prng_engine_wrapper.o \ +readharmfile.o pot.o dfbulge.o dfhalo.o appdiskpot.o plgndr1.o \ +bulgedenspsi.o readdenspsi.o erfcen.o getpsi.o sersicprofiles.o force.o \ +appdiskforce.o -o pgenbulge $(GENLIBS) + +pgenhalo: pgenhalo.o readmassrad.o dfcorrection.o query.o ran1.o prng_engine_wrapper.o readharmfile.o pot.o halodens.o dfhalo.o dfbulge.o appdiskpot.o plgndr1.o halodenspsi.o readdenspsi.o erfcen.o getpsi.o sersicprofiles.o force.o appdiskforce.o + $(MPIF77) $(FFLAGS) pgenhalo.o readmassrad.o dfcorrection.o query.o \ +ran1.o prng_engine_wrapper.o readharmfile.o appdiskpot.o plgndr1.o halodenspsi.o readdenspsi.o \ +pot.o halodens.o dfhalo.o dfbulge.o erfcen.o getpsi.o sersicprofiles.o \ +force.o appdiskforce.o -o pgenhalo $(GENLIBS) + + +clean: + rm -f *.o $(ICPROGS) $(PARPROGS) + (cd ../bin; rm -f *.o $(ICPROGS) $(PARPROGS)) + +install: + cp -f $(ICPROGS) $(PARPROGS) ../bin + + +readmassrad.o: readmassrad.c +simpson.o: simpson.c +ran1.o: ran1.c +#prng_engine_wrapper.o: CXXFLAGS+=-std=c++0x +prng_engine_wrapper.o: prng_engine_wrapper.cpp prng_engine.hpp + +query.o: query.c +golden.o: golden.c +tobinary.o: tobinary.c +centre1.o: centre1.c diff --git a/src/amuse/community/galactics/src/src/appdiskdens.f b/src/amuse_galactics/src/src/appdiskdens.f similarity index 100% rename from src/amuse/community/galactics/src/src/appdiskdens.f rename to src/amuse_galactics/src/src/appdiskdens.f diff --git a/src/amuse/community/galactics/src/src/appdiskforce.f b/src/amuse_galactics/src/src/appdiskforce.f similarity index 100% rename from src/amuse/community/galactics/src/src/appdiskforce.f rename to src/amuse_galactics/src/src/appdiskforce.f diff --git a/src/amuse/community/galactics/src/src/appdiskpot.f b/src/amuse_galactics/src/src/appdiskpot.f similarity index 100% rename from src/amuse/community/galactics/src/src/appdiskpot.f rename to src/amuse_galactics/src/src/appdiskpot.f diff --git a/src/amuse/community/galactics/src/src/bulgedenspsi.f b/src/amuse_galactics/src/src/bulgedenspsi.f similarity index 100% rename from src/amuse/community/galactics/src/src/bulgedenspsi.f rename to src/amuse_galactics/src/src/bulgedenspsi.f diff --git a/src/amuse/community/galactics/src/src/bulgepotential.f b/src/amuse_galactics/src/src/bulgepotential.f similarity index 100% rename from src/amuse/community/galactics/src/src/bulgepotential.f rename to src/amuse_galactics/src/src/bulgepotential.f diff --git a/src/amuse/community/galactics/src/src/commonblocks b/src/amuse_galactics/src/src/commonblocks similarity index 100% rename from src/amuse/community/galactics/src/src/commonblocks rename to src/amuse_galactics/src/src/commonblocks diff --git a/src/amuse/community/galactics/src/src/dbh.f b/src/amuse_galactics/src/src/dbh.f similarity index 100% rename from src/amuse/community/galactics/src/src/dbh.f rename to src/amuse_galactics/src/src/dbh.f diff --git a/src/amuse/community/galactics/src/src/dens.f b/src/amuse_galactics/src/src/dens.f similarity index 100% rename from src/amuse/community/galactics/src/src/dens.f rename to src/amuse_galactics/src/src/dens.f diff --git a/src/amuse/community/galactics/src/src/dfbulge.f b/src/amuse_galactics/src/src/dfbulge.f similarity index 100% rename from src/amuse/community/galactics/src/src/dfbulge.f rename to src/amuse_galactics/src/src/dfbulge.f diff --git a/src/amuse/community/galactics/src/src/dfcorrection.f b/src/amuse_galactics/src/src/dfcorrection.f similarity index 100% rename from src/amuse/community/galactics/src/src/dfcorrection.f rename to src/amuse_galactics/src/src/dfcorrection.f diff --git a/src/amuse/community/galactics/src/src/dfhalo.f b/src/amuse_galactics/src/src/dfhalo.f similarity index 100% rename from src/amuse/community/galactics/src/src/dfhalo.f rename to src/amuse_galactics/src/src/dfhalo.f diff --git a/src/amuse/community/galactics/src/src/diskdens.f b/src/amuse_galactics/src/src/diskdens.f similarity index 100% rename from src/amuse/community/galactics/src/src/diskdens.f rename to src/amuse_galactics/src/src/diskdens.f diff --git a/src/amuse/community/galactics/src/src/diskdensf.f b/src/amuse_galactics/src/src/diskdensf.f similarity index 100% rename from src/amuse/community/galactics/src/src/diskdensf.f rename to src/amuse_galactics/src/src/diskdensf.f diff --git a/src/amuse/community/galactics/src/src/diskdenspsi.f b/src/amuse_galactics/src/src/diskdenspsi.f similarity index 100% rename from src/amuse/community/galactics/src/src/diskdenspsi.f rename to src/amuse_galactics/src/src/diskdenspsi.f diff --git a/src/amuse/community/galactics/src/src/diskdf.f b/src/amuse_galactics/src/src/diskdf.f similarity index 100% rename from src/amuse/community/galactics/src/src/diskdf.f rename to src/amuse_galactics/src/src/diskdf.f diff --git a/src/amuse/community/galactics/src/src/diskdf3ez.f b/src/amuse_galactics/src/src/diskdf3ez.f similarity index 100% rename from src/amuse/community/galactics/src/src/diskdf3ez.f rename to src/amuse_galactics/src/src/diskdf3ez.f diff --git a/src/amuse/community/galactics/src/src/diskdf3intez.f b/src/amuse_galactics/src/src/diskdf3intez.f similarity index 100% rename from src/amuse/community/galactics/src/src/diskdf3intez.f rename to src/amuse_galactics/src/src/diskdf3intez.f diff --git a/src/amuse/community/galactics/src/src/diskdf5ez.f b/src/amuse_galactics/src/src/diskdf5ez.f similarity index 100% rename from src/amuse/community/galactics/src/src/diskdf5ez.f rename to src/amuse_galactics/src/src/diskdf5ez.f diff --git a/src/amuse/community/galactics/src/src/diskdf5intez.f b/src/amuse_galactics/src/src/diskdf5intez.f similarity index 100% rename from src/amuse/community/galactics/src/src/diskdf5intez.f rename to src/amuse_galactics/src/src/diskdf5intez.f diff --git a/src/amuse/community/galactics/src/src/diskpotentialestimate.f b/src/amuse_galactics/src/src/diskpotentialestimate.f similarity index 100% rename from src/amuse/community/galactics/src/src/diskpotentialestimate.f rename to src/amuse_galactics/src/src/diskpotentialestimate.f diff --git a/src/amuse/community/galactics/src/src/dpolardens.f b/src/amuse_galactics/src/src/dpolardens.f similarity index 100% rename from src/amuse/community/galactics/src/src/dpolardens.f rename to src/amuse_galactics/src/src/dpolardens.f diff --git a/src/amuse/community/galactics/src/src/equivalence b/src/amuse_galactics/src/src/equivalence similarity index 100% rename from src/amuse/community/galactics/src/src/equivalence rename to src/amuse_galactics/src/src/equivalence diff --git a/src/amuse/community/galactics/src/src/erfcen.f b/src/amuse_galactics/src/src/erfcen.f similarity index 100% rename from src/amuse/community/galactics/src/src/erfcen.f rename to src/amuse_galactics/src/src/erfcen.f diff --git a/src/amuse/community/galactics/src/src/errmsg.dat b/src/amuse_galactics/src/src/errmsg.dat similarity index 100% rename from src/amuse/community/galactics/src/src/errmsg.dat rename to src/amuse_galactics/src/src/errmsg.dat diff --git a/src/amuse/community/galactics/src/src/fnamidden.f b/src/amuse_galactics/src/src/fnamidden.f similarity index 100% rename from src/amuse/community/galactics/src/src/fnamidden.f rename to src/amuse_galactics/src/src/fnamidden.f diff --git a/src/amuse/community/galactics/src/src/force.f b/src/amuse_galactics/src/src/force.f similarity index 100% rename from src/amuse/community/galactics/src/src/force.f rename to src/amuse_galactics/src/src/force.f diff --git a/src/amuse_galactics/src/src/genbulge.c b/src/amuse_galactics/src/src/genbulge.c new file mode 100644 index 0000000000..3d45db27bd --- /dev/null +++ b/src/amuse_galactics/src/src/genbulge.c @@ -0,0 +1,207 @@ +#include "main.h" +#include "query.h" +#include "readdenspsi.h" +#include "readharmfile.h" +#include "readmassrad.h" + +// random skip factor, must be larger than the number of random draws per particle +#define SKIP 100000 + +int main(int argc, char **argv) +{ + int i, j, k, nobj=10000; + long long lseed=0; + int seed= -123; + int nrtrunc; + float rtrunc, rtrunc1; + float rhoran, massapp; + float x, y, z, vx, vy, v, v2, R, vmax, vmax2; + float phi, cph, sph, cth, sth, vR, vp, vz; + float E, rad, rad2; + float f0, frand, fmax, psi; + float dfbulge_(), bulgedens_(), pot_(); + float ran1(); + void ran_seed(); + float dr, rhomax1; + float t, mass; + float u1, v1, u1max, v1max; + float xcm, ycm, zcm, vxcm, vycm, vzcm; + float zip = 0.0; + float rhomax, rhomin, rhotst; + float rhocur, rcyl; + float fr, fz; + float stream=0.5; + float psid,psic,nnn; + float dfmax; + float b, c, d, int_const, sig2, aeff; + float v02, vb2, coef1, coef2; + int icofm=1; + int jj; + FILE *rhoout; + char harmfile[80]; + float fcut_bulge, fcut_halo; + float kinetic, potential; + + strcpy(harmfile,"dbh.dat"); + fquery("Enter streaming fraction",&stream); + iquery("Enter the number of particles",&nobj); + llquery("Enter negative integer seed",&lseed); + iquery("Center particles (0=no, 1=yes)",&icofm); + readmassrad(); /* reads in mass and truncation radius of components */ + readharmfile_(harmfile,&gparam,&cparam,&bparam); + readdenspsibulge_(); + + chalo = gparam.chalo; v0 = gparam.v0; a = gparam.a; + nnn = gparam.nnn; v0bulge=gparam.v0bulge; + psi0 = gparam.psi0; haloconst = gparam.haloconst; + + psic = cparam.psic; psid = cparam.psid; + + fcut_bulge = dfbulge_(&psic); + fcut_bulge = 0.; + + rtrunc = bulgeedge; + mass = bulgemass/nobj; + sig2 = psi0; + u1max = rtrunc; + v1max = 0.5*M_PI; + + r = (phase *) calloc(nobj,sizeof(phase)); + +/* `Find maximum of rho*r^2 */ + rhoout = fopen("rhobulge.dat","w"); + + nrtrunc = 10000; + dr = rtrunc/nrtrunc; + rhomax1 = 0.0; + for(i=1; i rhomax1 ) + rhomax1 = rhocur; + } + fprintf(stderr,"rhomax on R-axis is %g\n",rhomax1); + j = 0; + for(i=1; i rhomax1 ) + rhomax1 = rhocur; + } + fprintf(stderr,"rhomax1 = %g\n",rhomax1); + rhomax = 1.2*rhomax1; + rhomin = 1.0e-10*rhomax; + + kinetic = potential = 0.; + + fprintf(stderr,"Calculating bulge positions and velocities\n"); + if(lseed<0) lseed=-lseed; + ran_seed(SKIP*lseed); + for(i=0; i rhotst ) + continue; + phi = 2.0*M_PI*ran1(&seed); + x = R*cos(phi); + y = R*sin(phi); + psi = pot_(&R,&z); + if (psi < psic) + continue; + vmax2 = 2*(psi-psic); + vmax = sqrt(vmax2); + f0 = 0.0; frand = 1.0; /* dummy starters */ + j = 0; + fmax = dfbulge_(&psi) - fcut_bulge; + while( frand > f0 ) { + v2 = 1.1*vmax2; + while( v2 > vmax2 ) { + vR = 2*vmax*(ran1(&seed) - 0.5); + vp = 2*vmax*(ran1(&seed) - 0.5); + vz = 2*vmax*(ran1(&seed) - 0.5); + v2 = vR*vR + vp*vp + vz*vz; + E = psi - 0.5*v2; + } + f0 = dfbulge_(&E)-fcut_bulge; + frand = fmax*ran1(&seed); + if( j > 10000 ) { + fprintf(stderr,"j > 10000 E=%g psic=%g psi=%g frand=%g fmax=%g f0=%g\n", + E,psic,psi,frand,fmax,f0); + goto restart; + } + j++; + } + + if( ran1(&seed) < stream ) + vp = fabs(vp); + else + vp = -fabs(vp); + + cph = x/R; sph = y/R; + vx = vR*cph - vp*sph; + vy = vR*sph + vp*cph; + + r[i].x = (float) x; + r[i].y = (float) y; + r[i].z = (float) z; + r[i].vx = (float)vx; + r[i].vy = (float)vy; + r[i].vz = (float)vz; + i++;ran_seed(SKIP*(lseed + i)); + if( i % 1000 == 0 ) fprintf(stderr,"."); + } + fprintf(stderr,"\n"); + + if( icofm ) { + xcm = ycm =zcm = vxcm =vycm =vzcm = 0; + for(i=0; i rhomax ) rhomax = rhotst; + // fprintf(rhoout,"%g %g\n",R, rhotst); + } + rhomin = 0.0; + rhomax *=1.2; + + kinetic = potential = 0.; + + fprintf(stderr,"Calculating disk positions and velocities seed=%d\n",seed); + if(lseed<0) lseed=-lseed; + ran_seed(SKIP*lseed); + for(i=0, j=0, k=0; i rtrunc) { + u1 = -ran1(&seed); + do { + v1 = 2.0*(ran1(&seed) - 0.5); + } while(v1<=-1. || v1>=1.); + R = rd*invu(u1); + z = zd*atanh(v1); + } + zcon = cosh(z/zd); + rhoguess = exp(-R/rd)/(zcon*zcon); + rhotst = diskdensf_(&R,&z); + rhotst /= rhoguess; + + k++; + if( rhotst < rhomin ) + continue; + + rhoran = (rhomax - rhomin)*ran1(&seed); + if( rhoran > rhotst ) + continue; + phi = 2.0*M_PI*ran1(&seed); + x = R*cos(phi); + y = R*sin(phi); + omekap_(&R, &omega, &kappa); + vphimax = omega*R; + vsigR = sqrt(sigr2_(&R)); + vsigp = kappa/(2.0*omega)*vsigR; + vsigz = sqrt(sigz2_(&R)); + vphimaxold = vphimax; + fmax = 1.1*FindMax1(R,z,&vphimax); + fprintf(rhoout,"%d %g %g %g %g\n",i,fmax,R,z,vphimax); + } + vphimax = vphimaxold; + + f0 = 0.0; frand = 1.0; /* dummy starters */ + while( frand > f0 ) { + g2 = 999.; + while( g2 > 1.0) { + gr = 8.0*(ran1(&seed) - 0.5); + gp = 16.0*(ran1(&seed) - 0.5); + gz = 8.0*(ran1(&seed) - 0.5); + g2 = gr*gr/16. + gp*gp/64. + gz*gz/16.; + } + vR = broadcon*vsigR*gr; + vp = vphimax + broadcon*vsigp*gp; + vz = broadcon*vsigz*gz; + + f0 = Fdisk(vR, vp, vz, R, z); + frand = fmax*ran1(&seed); + if( f0 > fmax ) { + float vpmax; + fprintf(errfile,"f0 > fmax at R=%g z=%g\nvr=%g vp=%g, vz=%g vphimax=%g f0=%g, fmax=%g\n", + R,z, + vR*broadcon/vsigR, + (vp - vphimax)*broadcon/vsigp, + vz*broadcon/vsigz, vphimax, f0, fmax); + fflush(errfile); + } + j++; + } + vphimax = vp - broadcon*vsigp*gp; + vp = vphimax + broadcon*vsigp*gp; + cph = x/R; sph = y/R; + vx = vR*cph - vp*sph; + vy = vR*sph + vp*cph; + + r[i].x = (float) x; + r[i].y = (float) y; + r[i].z = (float) z; + r[i].vx = (float)vx; + r[i].vy = (float)vy; + r[i].vz = (float)vz; + i++;ran_seed(SKIP*(lseed + i)); + if( i % 1000 == 0 ) { + fprintf(stderr,"."); + fflush(stderr); + } + } + fprintf(stderr,"\n"); + fprintf(stderr,"number of density trials %d\n",k); + fprintf(stderr,"number of velocity trials %d\n",j); + if( icofm ) { + xcm = ycm =zcm = vxcm =vycm =vzcm = 0; + for(i=0; i eps); i++) { + rnew = rg - (-(1.0 + rg)*exp(-rg) - u) + /(rg*exp(-rg)); + dr = fabs(rnew - rg); + rg = rnew; + } + if( i == 20 ) fprintf(stderr,"Warning R did not converge\n"); + return (float) rg; +} + +/* A approximate estimate of the local maximum of the distribution function */ + +float Fmax(R,z,vR,vz,vlimit, vpmax) + float R, z, vR, vz; + float *vpmax, vlimit; +{ + int i; + float v, dv, fmax, vmax, v0; + float Fdisk(); + + dv = 2.0*vlimit/100; + v0 = *vpmax - 50*dv; + fmax = Fdisk(vR, v0, vz, R, z); + for(i=0; i<100; i++) { + float ftry, vtry; + + vtry = v0 + i*dv; + ftry = Fdisk(vR, vtry, vz, R, z); + if( ftry > fmax ) { + fmax = ftry; + vmax = vtry; + } + } + *vpmax = vmax; + + return fmax; +} + +float FindMax1(R,z,vpmax) + + float R, z, *vpmax; +{ + int upflag, flag; + float dv, vpm, vpmold, v0, v1; + float f0, f1, ftmp, fmid; + float Fdisk(); + float zero; + + zero = 0.0; + dv = 0.1*vsigp; + vpm = *vpmax; + v0 = vpm - dv; + v1 = vpm + dv; + + f0 = Fdisk(0.0,v0,0.0,R,z); + fmid = Fdisk(0.0,vpm,0.0,R,z); + f1 = Fdisk(0.0,v1,0.0,R,z); + if( fmid >= f0 && fmid >= f1 ) + return fmid; + + if( f0 > f1 ) { + ftmp = f0; + f0 = f1; + f1 = ftmp; + v1 = v0; + dv = -dv; + } + vpm = v1; + + flag = 1; + while( flag ) { + + dv *= 2.0; + vpmold = vpm; + vpm += dv; + f0 = f1; + f1 = Fdisk(0.0,vpm,0.0,R,z); + flag = (f1 > f0); + } + *vpmax = vpmold; + return f0; +} + +float FindMax(R,z,vpmax) + float R, z, *vpmax; +{ + float vpm; + float v0, v1; + float eps=0.01; + float fmax, golden(), fgold(); + + Rc = R; zc = z; + + vpm = *vpmax; + v0 = *vpmax - 3.0*vsigp; + v1 = *vpmax + 3.0*vsigp; + fmax = -golden(v0,vpm,v1, fgold, eps, vpmax); + + return fmax; + +} + +float fgold(vp) + float vp; +{ + float R, z; + float zero; + zero = 0.0; + R = Rc; z = zc; + return( -Fdisk(0.0,vp,0.0,R,z) ); +} + +float massring(r) + float r; +{ + float denz(); + float simpson(); + + rad = r; + return( rad*simpson(denz,0.0,5.0*zdisk,128) ); +} + +float denz(z) + float z; +{ + float z0; + float diskdensf_(); + + z0 = z; + return diskdensf_(&rad, &z0); +} + diff --git a/src/amuse_galactics/src/src/genhalo.c b/src/amuse_galactics/src/src/genhalo.c new file mode 100644 index 0000000000..dbcaecfce4 --- /dev/null +++ b/src/amuse_galactics/src/src/genhalo.c @@ -0,0 +1,205 @@ +#include "main.h" +#include "query.h" +#include "readharmfile.h" +#include "readmassrad.h" +#include "readdenspsi.h" + +// random skip factor, must be larger than the number of random draws per particle +#define SKIP 100000 + +int main(int argc, char **argv) +{ + int i, j, k, nobj=10000; + long long lseed=0; + int seed= -123; + int nrtrunc; + float rtrunc; + float rhoran, massapp; + float x, y, z, vx, vy, v, v2, R, vmax, vmax2; + float phi, cph, sph, cth, sth, vR, vp, vz; + float E, rad, rad2; + float f0, frand, fmax, psi; + float fr, fz; + float dfhalo_(), halodens_(), pot_(); + float ran1(); + void ran_seed(); + float dr, rhomax1; + float t, mass; + float u1, v1, u1max, v1max; + float xcm, ycm, zcm, vxcm, vycm, vzcm; + float zip = 0.0; + float rhomax, rhomin, rhotst; + float rhocur, rcyl; + float stream=0.5; + float psid,psic,nnn; + float dfmax; + float b, c, d, int_const, sig2, aeff; + float v02, vb2, coef1, coef2; + int icofm=1; + int jj; + char harmfile[80]; + float fcut_halo, fcut_bulge; + float kinetic, potential; + + strcpy(harmfile,"dbh.dat"); + fquery("Enter streaming fraction",&stream); + iquery("Enter the number of particles",&nobj); + llquery("Enter negative integer seed",&lseed); + iquery("Center particles (0=no, 1=yes)",&icofm); + readmassrad(); /* reads in mass and truncation radius of components */ + readharmfile_(harmfile,&gparam,&cparam,&bparam); + readdenspsihalo_(); + + chalo = gparam.chalo; v0 = gparam.v0; a = gparam.a; + psi0 = gparam.psi0; + + psic = cparam.psic; psid = cparam.psid; + + // fcut_halo = bparam.fcut_halo; fcut_bulge = bparam.fcut_bulge; + + fcut_halo = dfhalo_(&psic); + // fcut_halo = 0.; + + rtrunc = haloedge; + mass = halomass/nobj; + sig2 = psi0; + u1max = rtrunc; + v1max = 0.5*M_PI; + + r = (phase *) calloc(nobj,sizeof(phase)); + +/* `Find maximum of rho*r^2 */ + + nrtrunc = 10000; + dr = rtrunc/nrtrunc; + rhomax1 = 0.0; + for(i=1; i rhomax1 ) + rhomax1 = rhocur; + } + j = 0; + for(i=1; i rhomax1 ) + rhomax1 = rhocur; + } + fprintf(stderr,"rhomax1 = %g\n",rhomax1); + + rhomax = 1.5*rhomax1; + rhomin = 1.0e-10*rhomax; + + kinetic = potential = 0.; + + fprintf(stderr,"Calculating halo positions and velocities\n"); + if(lseed<0) lseed=-lseed; + ran_seed(SKIP*lseed); + for(i=0; i rhotst ) + continue; + phi = 2.0*M_PI*ran1(&seed); + x = R*cos(phi); + y = R*sin(phi); + psi = pot_(&R,&z); + if (psi < psic) + continue; + vmax2 = 2*(psi-psic); + vmax = sqrt(vmax2); + f0 = 0.0; frand = 1.0; /* dummy starters */ + j = 0; + fmax = dfhalo_(&psi) - fcut_halo; + while( frand > f0 ) { + v2 = 1.1*vmax2; + while( v2 > vmax2 ) { + vR = 2*vmax*(ran1(&seed) - 0.5); + vp = 2*vmax*(ran1(&seed) - 0.5); + vz = 2*vmax*(ran1(&seed) - 0.5); + v2 = vR*vR + vp*vp + vz*vz; + E = psi - 0.5*v2; + } + f0 = dfhalo_(&E)-fcut_halo; + frand = fmax*ran1(&seed); + if( j>10000 ) { + fprintf(stderr,"j>10000 - E=%g psi=%g frand=%g f0=%g\n", + E,psi,frand,f0); + goto restart; + } + j++; + } + + if( ran1(&seed) < stream ) + vp = fabs(vp); + else + vp = -fabs(vp); + + cph = x/R; sph = y/R; + vx = vR*cph - vp*sph; + vy = vR*sph + vp*cph; + + r[i].x = (float) x; + r[i].y = (float) y; + r[i].z = (float) z; + r[i].vx = (float)vx; + r[i].vy = (float)vy; + r[i].vz = (float)vz; + i++;ran_seed(SKIP*(lseed + i)); + if( i % 1000 == 0 ) fprintf(stderr,"."); + } + fprintf(stderr,"\n"); + + if( icofm ) { + xcm = ycm =zcm = vxcm =vycm =vzcm = 0; + for(i=0; i +#include +#include +#include +#define GCON 6.349363592e-2 /* (2.0*pi)^(-3/2) */ + +/* Generate a distribution which follows an oblate logarithmic potential */ + +typedef struct { + float x, y, z, vx, vy, vz; +} phase; + +typedef struct { + float chalo; + float v0; + float a; + float nnn; + float v0bulge; + float abulge; + float psi0; + float haloconst; + float bulgeconst; + float mdisk; + float rdisk; + float zdisk; + float outdisk; + float drtrunc; + float potcor; +} galaxy; + +galaxy gparam; + +typedef struct { + float psic; + float psid; +} energytable; + +energytable cparam; + +typedef struct { + float fcut_halo; + float fcut_bulge; +} dfcutoff; + +dfcutoff bparam; + +phase *r; + + +/* Disk Constants */ +float mdisk, rdisk, zdisk, outdisk, drtrunc; +float rd, zd; +float vsigR, vsigp, vsigz, vphimax; +float diskmass, diskedge; + +/* Bulge Constants */ +float nnn, v0bulge, abulge, bulgeconst; +float bulgemass, bulgeedge; +float psic, psid; +float fcut_halo; + +/* Halo Constants */ + +float chalo, v0, a, haloconst, v02, psi0; +float halomass, haloedge; +float fcut_bulge; + +/* Blackhole Constants */ +float bhmass, bhsoft; + +#endif + diff --git a/src/amuse/community/galactics/src/src/modstamp.f b/src/amuse_galactics/src/src/modstamp.f similarity index 100% rename from src/amuse/community/galactics/src/src/modstamp.f rename to src/amuse_galactics/src/src/modstamp.f diff --git a/src/amuse/community/galactics/src/src/nfwprofiles.f b/src/amuse_galactics/src/src/nfwprofiles.f similarity index 100% rename from src/amuse/community/galactics/src/src/nfwprofiles.f rename to src/amuse_galactics/src/src/nfwprofiles.f diff --git a/src/amuse/community/galactics/src/src/omekap.f b/src/amuse_galactics/src/src/omekap.f similarity index 100% rename from src/amuse/community/galactics/src/src/omekap.f rename to src/amuse_galactics/src/src/omekap.f diff --git a/src/amuse_galactics/src/src/omekap.h b/src/amuse_galactics/src/src/omekap.h new file mode 100644 index 0000000000..a0f4f3fb7e --- /dev/null +++ b/src/amuse_galactics/src/src/omekap.h @@ -0,0 +1,7 @@ +#ifndef GALACTICS_OMEKAP_H +#define GALACTICS_OMEKAP_H + +void omekap_(float *R, float *omega, float *kappa); + +#endif + diff --git a/src/amuse/community/galactics/src/src/parameters b/src/amuse_galactics/src/src/parameters similarity index 100% rename from src/amuse/community/galactics/src/src/parameters rename to src/amuse_galactics/src/src/parameters diff --git a/src/amuse/community/galactics/src/src/pgenbulge.c b/src/amuse_galactics/src/src/pgenbulge.c similarity index 98% rename from src/amuse/community/galactics/src/src/pgenbulge.c rename to src/amuse_galactics/src/src/pgenbulge.c index 5d4e815680..0c3d7b883a 100644 --- a/src/amuse/community/galactics/src/src/pgenbulge.c +++ b/src/amuse_galactics/src/src/pgenbulge.c @@ -1,4 +1,7 @@ #include "main.h" +#include "readdenspsi.h" +#include "readharmfile.h" +#include "readmassrad.h" // random skip factor, must be larger than the number of random draws per particle #define SKIP 100000 @@ -7,9 +10,7 @@ #include #endif -main(argc,argv) -int argc; -char **argv; +int main(int argc, char **argv) { int i, j, k, nobj=10000; long long lseed=0; @@ -263,6 +264,6 @@ char **argv; #ifndef NOMPI MPI_Finalize(); #endif - exit(0); + return 0; } diff --git a/src/amuse/community/galactics/src/src/pgendisk.c b/src/amuse_galactics/src/src/pgendisk.c similarity index 92% rename from src/amuse/community/galactics/src/src/pgendisk.c rename to src/amuse_galactics/src/src/pgendisk.c index ee20a2bffa..d78416b996 100644 --- a/src/amuse/community/galactics/src/src/pgendisk.c +++ b/src/amuse_galactics/src/src/pgendisk.c @@ -1,4 +1,9 @@ #include "main.h" +#include "golden.h" +#include "omekap.h" +#include "readdiskdf.h" +#include "simpson.h" + #ifndef NOMPI #include #endif @@ -6,12 +11,17 @@ // random skip factor, must be larger than the number of random draws per particle #define SKIP 100000 +float Fdisk(float vr, float vp, float vz, float R, float z); +float invu(float u); +float FindMax1(float R, float z, float *vpmax); +float fgold(float vp); +float denz(float z); +float massring(float r); + float rad; float Rc, zc; -main(argc,argv) -int argc; -char **argv; +int main(int argc, char **argv) { int i, j, k, nobj=10000; long long lseed=0; @@ -25,10 +35,8 @@ char **argv; float E, Lz, rad, rad2; float f0, frand, fmax, fmax1, vphimax1, psi, fnorm; float fr; - float Fdisk(); float ran1(); void ran_seed(); - float invu(); float dr, rhomax1; float t, mass; float u1, v1, u1max, v1max; @@ -45,8 +53,6 @@ char **argv; float f1; float gr, gp, gz, g2; float diskdensf_(), sigr2_(), sigz2_(), pot(); - float FindMax(), FindMax1(), Fmax(); - float simpson(), massring(); float force_(); float rcirc_(); float vcirc, rpot, fz; @@ -278,11 +284,10 @@ char **argv; #ifndef NOMPI MPI_Finalize(); #endif - exit(0); + return 0; } -float Fdisk(vr, vp, vz, R, z) -float vr, vp, vz, R, z; +float Fdisk(float vr, float vp, float vz, float R, float z) { float vr0, vp0, vz0, R0, z0; float diskdf5ez_(); @@ -291,8 +296,7 @@ float vr, vp, vz, R, z; return diskdf5ez_(&vr0, &vp0, &vz0, &R0, &z0); } -float invu(u) - float u; +float invu(float u) { /* invert the u function to find R */ int i; @@ -313,13 +317,10 @@ float invu(u) /* A approximate estimate of the local maximum of the distribution function */ -float Fmax(R,z,vR,vz,vlimit, vpmax) - float R, z, vR, vz; - float *vpmax, vlimit; +float Fmax(float R, float z, float vR, float vz, float vlimit, float *vpmax) { int i; float v, dv, fmax, vmax, v0; - float Fdisk(); dv = 2.0*vlimit/100; v0 = *vpmax - 50*dv; @@ -339,14 +340,11 @@ float Fmax(R,z,vR,vz,vlimit, vpmax) return fmax; } -float FindMax1(R,z,vpmax) - - float R, z, *vpmax; +float FindMax1(float R, float z, float *vpmax) { int upflag, flag; float dv, vpm, vpmold, v0, v1; float f0, f1, ftmp, fmid; - float Fdisk(); float zero; zero = 0.0; @@ -384,13 +382,12 @@ float FindMax1(R,z,vpmax) return f0; } -float FindMax(R,z,vpmax) - float R, z, *vpmax; +float FindMax(float R, float z, float *vpmax) { float vpm; float v0, v1; float eps=0.01; - float fmax, golden(), fgold(); + float fmax; Rc = R; zc = z; @@ -403,8 +400,7 @@ float FindMax(R,z,vpmax) } -float fgold(vp) - float vp; +float fgold(float vp) { float R, z; float zero; @@ -413,18 +409,13 @@ float fgold(vp) return( -Fdisk(0.0,vp,0.0,R,z) ); } -float massring(r) - float r; +float massring(float r) { - float denz(); - float simpson(); - rad = r; return( rad*simpson(denz,0.0,5.0*zdisk,128) ); } -float denz(z) - float z; +float denz(float z) { float z0; float diskdensf_(); diff --git a/src/amuse/community/galactics/src/src/pgenhalo.c b/src/amuse_galactics/src/src/pgenhalo.c similarity index 98% rename from src/amuse/community/galactics/src/src/pgenhalo.c rename to src/amuse_galactics/src/src/pgenhalo.c index 3f5a6aa694..4299dc6f1a 100644 --- a/src/amuse/community/galactics/src/src/pgenhalo.c +++ b/src/amuse_galactics/src/src/pgenhalo.c @@ -1,4 +1,8 @@ #include "main.h" +#include "readdenspsi.h" +#include "readharmfile.h" +#include "readmassrad.h" + #ifndef NOMPI #include #endif @@ -6,9 +10,7 @@ // random skip factor, must be larger than the number of random draws per particle #define SKIP 100000 -main(argc,argv) -int argc; -char **argv; +int main(int argc, char **argv) { int i, j, k, nobj=10000; long long lseed=0; @@ -259,6 +261,6 @@ char **argv; #ifndef NOMPI MPI_Finalize(); #endif - exit(0); + return 0; } diff --git a/src/amuse/community/galactics/src/src/plgndr1.f b/src/amuse_galactics/src/src/plgndr1.f similarity index 100% rename from src/amuse/community/galactics/src/src/plgndr1.f rename to src/amuse_galactics/src/src/plgndr1.f diff --git a/src/amuse/community/galactics/src/src/polarbulgedens.f b/src/amuse_galactics/src/src/polarbulgedens.f similarity index 100% rename from src/amuse/community/galactics/src/src/polarbulgedens.f rename to src/amuse_galactics/src/src/polarbulgedens.f diff --git a/src/amuse/community/galactics/src/src/polardens.f b/src/amuse_galactics/src/src/polardens.f similarity index 100% rename from src/amuse/community/galactics/src/src/polardens.f rename to src/amuse_galactics/src/src/polardens.f diff --git a/src/amuse/community/galactics/src/src/polarhalodens.f b/src/amuse_galactics/src/src/polarhalodens.f similarity index 100% rename from src/amuse/community/galactics/src/src/polarhalodens.f rename to src/amuse_galactics/src/src/polarhalodens.f diff --git a/src/amuse/community/galactics/src/src/pot.f b/src/amuse_galactics/src/src/pot.f similarity index 100% rename from src/amuse/community/galactics/src/src/pot.f rename to src/amuse_galactics/src/src/pot.f diff --git a/src/amuse/community/galactics/src/src/prng_engine.hpp b/src/amuse_galactics/src/src/prng_engine.hpp similarity index 100% rename from src/amuse/community/galactics/src/src/prng_engine.hpp rename to src/amuse_galactics/src/src/prng_engine.hpp diff --git a/src/amuse/community/galactics/src/src/prng_engine_wrapper.cpp b/src/amuse_galactics/src/src/prng_engine_wrapper.cpp similarity index 100% rename from src/amuse/community/galactics/src/src/prng_engine_wrapper.cpp rename to src/amuse_galactics/src/src/prng_engine_wrapper.cpp diff --git a/src/amuse_galactics/src/src/query.c b/src/amuse_galactics/src/src/query.c new file mode 100644 index 0000000000..d861c8d4f2 --- /dev/null +++ b/src/amuse_galactics/src/src/query.c @@ -0,0 +1,85 @@ +/* + * This file contains four functions for prompting single value input, + * one for each of the data types char, int, float and double. + * The functions are cquery, iquery, fquery and dquery. + * Each function has two arguments: a prompt and a pointer variable of the + * appropriate data type. + * The function will display the prompt (e.g. "Enter x") and a default + * value. The user can either enter a new value or accept the default + * by hitting a return. + * + * Example + * main() + * { + * char a[50]; + * float x=5; + * + * strcpy(a,"hello there"); + * cquery("Enter a phrase",a); + * fquery("Enter the value to be squared",&x); + * fprintf(stdout,"%s %g squared = %g\n",a,x*x); + * } + */ + +#include +#include +#include + +void cquery(char *prompt, char *c) +{ + char *p, line[100]; + fprintf(stderr, "%s [%s]: ", prompt, c); + fgets(line, 100, stdin); + if(*line != '\n') + { + /* overwrite what the user just typed with zeros and then copy?!! */ + for(p=line; *p != '\n'; p++); + *p = '\0'; + strcpy(c, line); + } +} + +void dquery(char *prompt, double *d) +{ + char line[100]; + fprintf(stderr, "%s [%g]: ", prompt, *d); + fgets(line, 100, stdin); + if(*line != '\n') + { + sscanf(line, "%lf", d); + } +} + +void fquery(char *prompt, float *f) +{ + char line[100]; + fprintf(stderr, "%s [%g]: ", prompt, *f); + fgets(line, 100, stdin); + if(*line != '\n') + { + sscanf(line, "%e", f); + } +} + +void iquery(char *prompt, int *i) +{ + char line[100]; + fprintf(stderr, "%s [%d]: ", prompt, *i); + fgets(line, 100, stdin); + if(*line != '\n') + { + sscanf(line, "%d", i); + } +} + +void llquery(char *prompt, long long *i) +{ + char line[100]; + fprintf(stderr, "%s [%lld]: ", prompt, *i); + fgets(line, 100, stdin); + if(*line != '\n') + { + sscanf(line, "%lld", i); + } +} + diff --git a/src/amuse_galactics/src/src/query.h b/src/amuse_galactics/src/src/query.h new file mode 100644 index 0000000000..c8c2c7c2b4 --- /dev/null +++ b/src/amuse_galactics/src/src/query.h @@ -0,0 +1,15 @@ +#ifndef GALACTICS_QUERY_H +#define GALACTICS_QUERY_H + +void cquery(char *prompt, char *c); + +void dquery(char *prompt, double *d); + +void fquery(char *prompt, float *f); + +void iquery(char *prompt, int *i); + +void llquery(char *prompt, long long *i); + +#endif + diff --git a/src/amuse/community/galactics/src/src/ran1.c b/src/amuse_galactics/src/src/ran1.c similarity index 100% rename from src/amuse/community/galactics/src/src/ran1.c rename to src/amuse_galactics/src/src/ran1.c diff --git a/src/amuse/community/galactics/src/src/rcirc.f b/src/amuse_galactics/src/src/rcirc.f similarity index 100% rename from src/amuse/community/galactics/src/src/rcirc.f rename to src/amuse_galactics/src/src/rcirc.f diff --git a/src/amuse/community/galactics/src/src/readdenspsi.f b/src/amuse_galactics/src/src/readdenspsi.f similarity index 100% rename from src/amuse/community/galactics/src/src/readdenspsi.f rename to src/amuse_galactics/src/src/readdenspsi.f diff --git a/src/amuse_galactics/src/src/readdenspsi.h b/src/amuse_galactics/src/src/readdenspsi.h new file mode 100644 index 0000000000..61cbfb0246 --- /dev/null +++ b/src/amuse_galactics/src/src/readdenspsi.h @@ -0,0 +1,10 @@ +#ifndef GALACTICS_READDENSPSI_H +#define GALACTICS_READDENSPSI_H + +/* C header file for Fortran functions in readdenspsi.h */ + +void readdenspsibulge_(); +void readdenspsihalo_(); + +#endif + diff --git a/src/amuse/community/galactics/src/src/readdiskdf.f b/src/amuse_galactics/src/src/readdiskdf.f similarity index 100% rename from src/amuse/community/galactics/src/src/readdiskdf.f rename to src/amuse_galactics/src/src/readdiskdf.f diff --git a/src/amuse_galactics/src/src/readdiskdf.h b/src/amuse_galactics/src/src/readdiskdf.h new file mode 100644 index 0000000000..9bd729f82f --- /dev/null +++ b/src/amuse_galactics/src/src/readdiskdf.h @@ -0,0 +1,7 @@ +#ifndef GALACTICS_READDISKDF_H +#define GALACTICS_READDISKDF_H + +void readdiskdf_(char *harmfile, galaxy *gparam); + +#endif + diff --git a/src/amuse/community/galactics/src/src/readharmfile.f b/src/amuse_galactics/src/src/readharmfile.f similarity index 99% rename from src/amuse/community/galactics/src/src/readharmfile.f rename to src/amuse_galactics/src/src/readharmfile.f index c4adfd9794..f018141aa9 100644 --- a/src/amuse/community/galactics/src/src/readharmfile.f +++ b/src/amuse_galactics/src/src/readharmfile.f @@ -94,7 +94,7 @@ subroutine readharmfile(filename,ibuf1,jbuf1,kbuf1) do i=1,15 ibuf1(i) = ibuf(i) enddo - do j=1,3 + do j=1,2 jbuf1(j) = jbuf(j) enddo do k=1,1 diff --git a/src/amuse_galactics/src/src/readharmfile.h b/src/amuse_galactics/src/src/readharmfile.h new file mode 100644 index 0000000000..48428980f0 --- /dev/null +++ b/src/amuse_galactics/src/src/readharmfile.h @@ -0,0 +1,11 @@ +#ifndef GALACTICS_READHARMFILE_H +#define GALACTICS_READHARMFILE_H + +/* C header for the Fortran-implemented readharmfile function */ + +#include "main.h" + +void readharmfile_(char *file, galaxy *gparam, energytable *cparam, dfcutoff *bparam); + +#endif + diff --git a/src/amuse_galactics/src/src/readmassrad.c b/src/amuse_galactics/src/src/readmassrad.c new file mode 100644 index 0000000000..644b80c7a2 --- /dev/null +++ b/src/amuse_galactics/src/src/readmassrad.c @@ -0,0 +1,21 @@ +#include +#include + +extern float diskmass, diskedge; +extern float bulgemass, bulgeedge; +extern float halomass, haloedge; + +void readmassrad() +{ + FILE *mrfile; + + if( !(mrfile = fopen("mr.dat","r")) ) { + fprintf(stderr,"Cannot open file mr.dat - contains component masses\n"); + exit(1); + } + + fscanf(mrfile,"%f %f\n",&diskmass,&diskedge); + fscanf(mrfile,"%f %f\n",&bulgemass,&bulgeedge); + fscanf(mrfile,"%f %f\n",&halomass,&haloedge); + fclose(mrfile); +} diff --git a/src/amuse_galactics/src/src/readmassrad.h b/src/amuse_galactics/src/src/readmassrad.h new file mode 100644 index 0000000000..3a1c8433bb --- /dev/null +++ b/src/amuse_galactics/src/src/readmassrad.h @@ -0,0 +1,7 @@ +#ifndef GALACTICS_READMASSRAD_H +#define GALACTICS_READMASSRAD_H + +void readmassrad(); + +#endif + diff --git a/src/amuse/community/galactics/src/src/sersicprofiles.f b/src/amuse_galactics/src/src/sersicprofiles.f similarity index 100% rename from src/amuse/community/galactics/src/src/sersicprofiles.f rename to src/amuse_galactics/src/src/sersicprofiles.f diff --git a/src/amuse/community/galactics/src/src/sigr2.f b/src/amuse_galactics/src/src/sigr2.f similarity index 100% rename from src/amuse/community/galactics/src/src/sigr2.f rename to src/amuse_galactics/src/src/sigr2.f diff --git a/src/amuse/community/galactics/src/src/sigz2.f b/src/amuse_galactics/src/src/sigz2.f similarity index 100% rename from src/amuse/community/galactics/src/src/sigz2.f rename to src/amuse_galactics/src/src/sigz2.f diff --git a/src/amuse/community/galactics/src/src/simpson.c b/src/amuse_galactics/src/src/simpson.c similarity index 84% rename from src/amuse/community/galactics/src/src/simpson.c rename to src/amuse_galactics/src/src/simpson.c index fd2ad6322f..03afc7e6b3 100644 --- a/src/amuse/community/galactics/src/src/simpson.c +++ b/src/amuse_galactics/src/src/simpson.c @@ -2,10 +2,7 @@ /* x0, xn - limits of integrand n - number of divisions used in Simpson's rule */ -float simpson(fcn,x0,xn,n) -float (*fcn)(); -float x0, xn; -int n; +float simpson(float (*fcn)(float), float x0, float xn, int n) { int i; float dx, x, sum; @@ -18,3 +15,4 @@ int n; } return(sum*dx/3.0); } + diff --git a/src/amuse_galactics/src/src/simpson.h b/src/amuse_galactics/src/src/simpson.h new file mode 100644 index 0000000000..1f3a38a0f0 --- /dev/null +++ b/src/amuse_galactics/src/src/simpson.h @@ -0,0 +1,11 @@ +#ifndef GALACTICS_SIMPSON_H +#define GALACTICS_SIMPSON_H + +/* Integrate the function 'fcn' using Simpson's rule */ +/* x0, xn - limits of integrand + n - number of divisions used in Simpson's rule */ + +float simpson(float (*fcn)(float), float x0, float xn, int n); + +#endif + diff --git a/src/amuse/community/galactics/src/src/splined.f b/src/amuse_galactics/src/src/splined.f similarity index 100% rename from src/amuse/community/galactics/src/src/splined.f rename to src/amuse_galactics/src/src/splined.f diff --git a/src/amuse/community/galactics/src/src/splintd.f b/src/amuse_galactics/src/src/splintd.f similarity index 100% rename from src/amuse/community/galactics/src/src/splintd.f rename to src/amuse_galactics/src/src/splintd.f diff --git a/src/amuse_galactics/src/src/toascii.c b/src/amuse_galactics/src/src/toascii.c new file mode 100644 index 0000000000..7267ea295a --- /dev/null +++ b/src/amuse_galactics/src/src/toascii.c @@ -0,0 +1,32 @@ +#include +#include +#include + +int main(int argc, char **argv) +{ + int i, nobj; + float r[7]; + FILE *rvfile; + + if( argc == 2 ) { + if( !(rvfile = fopen(argv[1],"r")) ) { + fprintf(stderr,"can't open %s\n",argv[1]); + } + } + else { + fprintf(stderr,"usage: toascii binary_rvfile > ascii_rvfile\n"); + exit(0); + } + + fseek(rvfile,0,2); nobj = ftell(rvfile)/28; fseek(rvfile,0,0); + + fprintf(stdout,"%d\n",nobj); + for(i=0; i/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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-galactics' +PACKAGE_TARNAME='amuse-galactics' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-galactics 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +ac_ct_FC +FCFLAGS +FC +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +FC +FCFLAGS' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-galactics 1.0 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/amuse-galactics] + --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 amuse-galactics 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + 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 + FC Fortran compiler command + FCFLAGS Fortran compiler flags + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-galactics configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-galactics $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +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 + + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-galactics $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-galactics config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_galactics/support/configure.ac b/src/amuse_galactics/support/configure.ac new file mode 100644 index 0000000000..7d7adfbb5c --- /dev/null +++ b/src/amuse_galactics/support/configure.ac @@ -0,0 +1,21 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-galactics], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_CC() +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_galactics/support/shared b/src/amuse_galactics/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_galactics/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_galactics.py b/src/amuse_galactics/tests/test_galactics.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_galactics.py rename to src/amuse_galactics/tests/test_galactics.py index 1f44657806..5cb897e423 100644 --- a/src/amuse/test/suite/codes_tests/test_galactics.py +++ b/src/amuse_galactics/tests/test_galactics.py @@ -3,9 +3,9 @@ import numpy import platform from amuse.community import * -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI -from amuse.community.galactics.interface import GalactICsInterface, GalactICs +from amuse_galactics.interface import GalactICsInterface, GalactICs # Change the default for some GalactICs(-Interface) keyword arguments: default_options = dict() diff --git a/src/amuse_galaxia/Makefile b/src/amuse_galaxia/Makefile new file mode 100644 index 0000000000..b191764780 --- /dev/null +++ b/src/amuse_galaxia/Makefile @@ -0,0 +1,57 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + +# Building the code into a static library +FFLAGS += $(FORSOCKETS_CFLAGS) +LDLIBS += $(FORSOCKETS_LIBS) + +LDLIBS += $(LAPACK_LIBS) $(BLAS_LIBS) #-lblas + +# Building the workers +interface.o: interface.f90 + $(FC) $(FFLAGS) $(LDLIBS) -c -o $@ $< + +galaxia_worker.f90: interface.py + amusifier --type=f90 interface.py BarAndSpiralsInterface -o $@ + +galaxia_worker.o: galaxia_worker.f90 interface.o + $(MPIFC) -c $(FFLAGS) $< + +galaxia_worker: galaxia_worker.o interface.o + $(MPIFC) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +# Which packages contain which workers? +amuse-galaxia_contains: galaxia_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache \ No newline at end of file diff --git a/src/amuse_galaxia/__init__.py b/src/amuse_galaxia/__init__.py new file mode 100644 index 0000000000..70239c6156 --- /dev/null +++ b/src/amuse_galaxia/__init__.py @@ -0,0 +1 @@ +from .interface import Galaxia diff --git a/src/amuse/community/galaxia/interface.f90 b/src/amuse_galaxia/interface.f90 similarity index 100% rename from src/amuse/community/galaxia/interface.f90 rename to src/amuse_galaxia/interface.f90 diff --git a/src/amuse_galaxia/interface.py b/src/amuse_galaxia/interface.py new file mode 100644 index 0000000000..c04a96a45f --- /dev/null +++ b/src/amuse_galaxia/interface.py @@ -0,0 +1,1298 @@ +""" +Interface Definition for the galaxy models +""" +from amuse.units import units +from amuse.community import CodeInterface +from amuse.community.interface.common import CommonCodeInterface, CommonCode +from amuse.community.interface.gd import GravityFieldCode + +from amuse.rfi.core import legacy_function +from amuse.rfi.core import LegacyFunctionSpecification + +# note: angle units can be added (unit.rad) - however breaks current scripts + + +class BarAndSpiralsInterface(CodeInterface, CommonCodeInterface): + """ + Galactic model of the Milky Way. The components of the Galaxy are: + + -- Axisymmetric part -- + The axisymmetric component of the Galaxy has a bulge, disk and a dark matter halo. + the potentials and parameters associated with them are taken from + Allen & Santillan (1991). In this code, the parameters of + the axisymmetric part of the Galaxy are defined as: + + CENTRAL BULGE (spherical potential) + mass_bulge: mass of the bulge + b_bulge: scale height + + DISK(Miyamoto-Nagai potential) + mass_disk: mass of the disk + a_disk: scale lenght + b_disk: scale height + + DARK MATTER HALO (logaritmic potential) + mass_halo: mass of the halo + a_halo: scale lenght + + -- Central bar--- + The central bar of the Milky Way is modelled as a Ferrers bar + with n=1 ( Romero-Gomez et al. 2007, A&A, 472, 63R; Romero-Gomez et al. 2011, MNRAS, 418, 1176R and references therein) + + The parameters to set the bar potential are: + bar_contribution= True (default: false) + + The parameters of the bar that can be set in the code are: + aaxis_bar: semi-major axis of the bar + axis_ratio_bar: b/a + bar_phase: initial orientation of the bar + mass_bar: mass of the bar + nbt: number of revolutions to obtain a bar. This is used to set an adiabatic growing bar (default: 0, bar already present in the potential) + omega_bar: Pattern speed of the bar + tgrowth_bar: if nbt is not 0, growing time of the bar. This value can be only obtained + + -- Spiral arms-- + There are two models for the spiral arms, 2D TWA and 3D CG02 + + The parameters to set the spiral arm potential are: + spiral_contribution= True (default: false) + spiral_phase: Initial orientation of the arms + rsigma: scale lenght of the spiral arms. + m: number of arms + + -- 2D TWA-- + the Tight Winding Approximation. The model and default parameters are set + according to locus 2 in Antoja et al. 2011, MNRAS, 418, 1423A. + + The parameters of the TWA model that can be set in the code are: + amplitude: amplitude of the perturbation + rsp: starting radius of the spiral locus + + -- 3D spiral arms, Cox & Gomez 2002 (CG02) + Model from Cox & Gomez 2002, ApJS, 142, 261 + + The parameters to set this spiral arm model are: + spiral_model=1 (default:0 = 2D TWA) + + The parameters of the CG02 potential that can be set are: + fiducial_radius + scale_height + spiral_density_amplitude + + --Transient spirals-- + By now the prescription is to have several non overlapping + spiral events. The transient spirals only can be set when the bar potential is also set. + + Parameters: + transient_spiral= True (default: false) + sigma_s: duration of the transient event + t_sim: total simulation time + + """ + + use_modules = ['BarAndSpiralsInterface'] + + def __init__(self, **options): + CodeInterface.__init__(self, name_of_the_worker="galaxia_worker", **options) + + @legacy_function + def get_gravity_at_point(): + """ + Get the gravitational acceleration at the given points. To calculate the force on + bodies at those points, multiply with the mass of the bodies + """ + function = LegacyFunctionSpecification() + for x in ['eps', 'x', 'y', 'z']: + function.addParameter(x, dtype='float64', direction=function.IN, unit=units.kpc) + for x in ['ax', 'ay', 'az']: + function.addParameter( + x, + dtype='float64', + direction=function.OUT, + unit=100*units.km**2 * units.s**-2/units.kpc + ) + function.addParameter('npoints', dtype='i', direction=function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + @legacy_function + def get_potential_at_point(): + """ + Determine the gravitational potential on any given point + """ + function = LegacyFunctionSpecification() + for x in ['eps', 'x', 'y', 'z']: + function.addParameter( + x, + dtype='float64', + direction=function.IN, + unit=units.kpc + ) + for x in ['phi']: + function.addParameter( + x, + dtype='float64', + direction=function.OUT, + unit=100*units.km**2 * units.s**-2 + ) + function.addParameter('npoints', dtype='i', direction=function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + @legacy_function + def get_local_density(): + """ + Retrieve the local stellar density at a given point + """ + function = LegacyFunctionSpecification() + function.addParameter('t', dtype='float64', direction=function.IN, description="time", unit=97781310.5721*units.yr) + function.addParameter('x', dtype='float64', direction=function.IN, description="x position", unit=units.kpc) + function.addParameter('y', dtype='float64', direction=function.IN, description="y position", unit=units.kpc) + function.addParameter('z', dtype='float64', direction=function.IN, description="z position", unit=units.kpc) + function.addParameter('density', dtype='float64', direction=function.OUT, description="local density", unit=2.32e7*units.MSun/units.kpc**3) + function.addParameter('npoints', dtype='i', direction=function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + @legacy_function + def get_velcirc(): + """ + Retrieve the circular velocity due to the axisymmetric potetial at a given point + """ + function = LegacyFunctionSpecification() + function.addParameter('x', dtype='float64', direction=function.IN, description="x position", unit=units.kpc) + function.addParameter('y', dtype='float64', direction=function.IN, description="y position", unit=units.kpc) + function.addParameter('z', dtype='float64', direction=function.IN, description="z position", unit=units.kpc) + function.addParameter('vel_circ', dtype='float64', direction=function.OUT, description="circular velocity", unit=10*units.km/units.s) + function.addParameter('npoints', dtype='i', direction=function.LENGTH) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def get_epifreq(): + """ + Retrieve the epicyclic frequency due to the axisymmetric potetial at a given point + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('x', dtype='float64', direction=function.IN, description="x position", unit=units.kpc) + function.addParameter('y', dtype='float64', direction=function.IN, description="y position", unit=units.kpc) + function.addParameter('z', dtype='float64', direction=function.IN, description="z position", unit=units.kpc) + function.addParameter('k', dtype='float64', direction=function.OUT, description="epicyclic freq", unit=10*units.kms) + function.addParameter('npoints', dtype='i', direction=function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_spiral_density(): + """ + Retrieve the density of the 3D spiral arms at a given point + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('x', dtype='float64', direction=function.IN, description="x position", unit=units.kpc) + function.addParameter('y', dtype='float64', direction=function.IN, description="y position", unit=units.kpc) + function.addParameter('z', dtype='float64', direction=function.IN, description="z position", unit=units.kpc) + function.addParameter('dens', dtype='float64', direction=function.OUT, description="epicyclic freq", unit=2.32e7*units.MSun/units.kpc**3) + function.addParameter('npoints', dtype='i', direction=function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_tidal_tensor(): + """ + Retrieve the second derivatives of the total force at a given point + and at a given time. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('t', dtype='float64', direction=function.IN, description="time", unit=97781310.5721*units.yr) + function.addParameter('x', dtype='float64', direction=function.IN, description="x position", unit=units.kpc) + function.addParameter('y', dtype='float64', direction=function.IN, description="y position", unit=units.kpc) + function.addParameter('z', dtype='float64', direction=function.IN, description="z position", unit=units.kpc) + function.addParameter('Fxx', dtype='float64', direction=function.OUT, description="fxx", unit=100*units.kms**2/units.kpc**2) + function.addParameter('Fyx', dtype='float64', direction=function.OUT, description="fyx", unit=100*units.kms**2/units.kpc**2) + function.addParameter('Fzx', dtype='float64', direction=function.OUT, description="fzx", unit=100*units.kms**2/units.kpc**2) + function.addParameter('Fxy', dtype='float64', direction=function.OUT, description="fxy", unit=100*units.kms**2/units.kpc**2) + function.addParameter('Fyy', dtype='float64', direction=function.OUT, description="fyy", unit=100*units.kms**2/units.kpc**2) + function.addParameter('Fzy', dtype='float64', direction=function.OUT, description="fzy", unit=100*units.kms**2/units.kpc**2) + function.addParameter('Fxz', dtype='float64', direction=function.OUT, description="fxz", unit=100*units.kms**2/units.kpc**2) + function.addParameter('Fyz', dtype='float64', direction=function.OUT, description="fyz", unit=100*units.kms**2/units.kpc**2) + function.addParameter('Fzz', dtype='float64', direction=function.OUT, description="fzz", unit=100*units.kms**2/units.kpc**2) + + function.addParameter('npoints', dtype='i', direction=function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_eigen_values(): + """ + Retrieve the eigen values of the tidal tensor. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('t', dtype='float64', direction=function.IN, description="time", unit=97781310.5721*units.yr) + function.addParameter('x', dtype='float64', direction=function.IN, description="x position", unit=units.kpc) + function.addParameter('y', dtype='float64', direction=function.IN, description="y position", unit=units.kpc) + function.addParameter('z', dtype='float64', direction=function.IN, description="z position", unit=units.kpc) + function.addParameter('lambda1', dtype='float64', direction=function.OUT, description="eigen values", unit=100*units.kms**2/units.kpc**2) + function.addParameter('lambda2', dtype='float64', direction=function.OUT, description="eigen values", unit=100*units.kms**2/units.kpc**2) + function.addParameter('lambda3', dtype='float64', direction=function.OUT, description="eigen values", unit=100*units.kms**2/units.kpc**2) + function.addParameter('npoints', dtype='i', direction=function.LENGTH) + function.result_type = 'int32' + + return function + + @legacy_function + def get_tidal_radius(): + """ + Retrieve the tidal radius of a star cluster + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('t', dtype='float64', direction=function.IN, description="time", unit=97781310.5721*units.yr) + function.addParameter('x', dtype='float64', direction=function.IN, description="x position", unit=units.kpc) + function.addParameter('y', dtype='float64', direction=function.IN, description="y position", unit=units.kpc) + function.addParameter('z', dtype='float64', direction=function.IN, description="z position", unit=units.kpc) + function.addParameter('mc', dtype='float64', direction=function.IN, description="initial cluster mass", unit=2.32e7*units.MSun) + function.addParameter('rt', dtype='float64', direction=function.OUT, description="tidal radius", unit=units.kpc) + + function.addParameter('npoints', dtype='i', direction=function.LENGTH) + function.result_type = 'int32' + return function + + # The following functions set the constants from Amuse + + @legacy_function + def set_time(): + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='float64', direction=function.IN, unit=97781310.5721*units.yr) + function.result_type = 'int32' + return function + + @legacy_function + def get_time(): + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='float64', direction=function.OUT, unit=97781310.5721*units.yr) + function.result_type = 'int32' + return function + + @legacy_function + def get_omega_sys(): + function = LegacyFunctionSpecification() + function.addParameter('omega_system', dtype='float64', direction=function.OUT, unit=10*units.km/(units.s*units.kpc)) + function.result_type = 'int32' + return function + + @legacy_function + def get_initial_phase(): + function = LegacyFunctionSpecification() + function.addParameter('initial_phase', dtype='float64', direction=function.OUT) # unit=units.rad + function.result_type = 'int32' + return function + + @legacy_function + def get_flag(): + function = LegacyFunctionSpecification() + function.addParameter('xflag', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_flag(): + function = LegacyFunctionSpecification() + function.addParameter('xflag', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + # BAR + @legacy_function + def set_bar_phase(): + function = LegacyFunctionSpecification() + function.addParameter('bar_phase', dtype='float64', direction=function.IN) # unit=units.rad + function.result_type = 'int32' + return function + + @legacy_function + def get_bar_phase(): + function = LegacyFunctionSpecification() + function.addParameter('bar_phase', dtype='float64', direction=function.OUT) # unit=units.rad + function.result_type = 'int32' + return function + + @legacy_function + def set_mass_bar(): + function = LegacyFunctionSpecification() + function.addParameter('mass_bar', dtype='float64', direction=function.IN, unit=2.32e7*units.MSun) + function.result_type = 'int32' + return function + + @legacy_function + def get_mass_bar(): + function = LegacyFunctionSpecification() + function.addParameter('mass_bar', dtype='float64', direction=function.OUT, unit=2.32e7*units.MSun) + function.result_type = 'int32' + return function + + @legacy_function + def set_aaxis_bar(): + function = LegacyFunctionSpecification() + function.addParameter('aaxis_bar', dtype='float64', direction=function.IN, unit=units.kpc) + function.result_type = 'int32' + return function + + @legacy_function + def get_aaxis_bar(): + function = LegacyFunctionSpecification() + function.addParameter('aaxis_bar', dtype='float64', direction=function.OUT, unit=units.kpc) + function.result_type = 'int32' + return function + + @legacy_function + def set_caxis_bar(): + function = LegacyFunctionSpecification() + function.addParameter('caxis_bar', dtype='float64', direction=function.IN, unit=units.kpc) + function.result_type = 'int32' + return function + + @legacy_function + def get_caxis_bar(): + function = LegacyFunctionSpecification() + function.addParameter('caxis_bar', dtype='float64', direction=function.OUT, unit=units.kpc) + function.result_type = 'int32' + return function + + @legacy_function + def set_axis_ratio_bar(): + function = LegacyFunctionSpecification() + function.addParameter('axis_ratio_bar', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_axis_ratio_bar(): + function = LegacyFunctionSpecification() + function.addParameter('axis_ratio_bar', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_omega_bar(): + function = LegacyFunctionSpecification() + function.addParameter('omega_bar', dtype='float64', direction=function.IN, unit=10.*units.km/(units.s*units.kpc)) + function.result_type = 'int32' + return function + + @legacy_function + def get_omega_bar(): + function = LegacyFunctionSpecification() + function.addParameter('omega_bar', dtype='float64', direction=function.OUT, unit=10.*units.km/(units.s*units.kpc)) + function.result_type = 'int32' + return function + + @legacy_function + def set_nbt(): + function = LegacyFunctionSpecification() + function.addParameter('nbt', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_nbt(): + function = LegacyFunctionSpecification() + function.addParameter('nbt', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_tin(): + function = LegacyFunctionSpecification() + function.addParameter('Tin', dtype='float64', direction=function.IN, unit=97781310.5721*units.yr) + function.result_type = 'int32' + return function + + @legacy_function + def get_tin(): + function = LegacyFunctionSpecification() + function.addParameter('Tin', dtype='float64', direction=function.OUT, unit=97781310.5721*units.yr) + function.result_type = 'int32' + return function + + + @legacy_function + def get_tgrowth(): + function = LegacyFunctionSpecification() + function.addParameter('tgrowth_bar', dtype='float64', direction=function.OUT, unit=97781310.5721*units.yr) + function.result_type = 'int32' + return function + + # SPIRAL + @legacy_function + def set_spiral_phase(): + function = LegacyFunctionSpecification() + function.addParameter('spiral_phase', dtype='float64', direction=function.IN) # unit=units.rad + function.result_type = 'int32' + return function + + @legacy_function + def get_spiral_phase(): + function = LegacyFunctionSpecification() + function.addParameter('spiral_phase', dtype='float64', direction=function.OUT) # unit=units.rad + function.result_type = 'int32' + return function + + @legacy_function + def set_m(): + function = LegacyFunctionSpecification() + function.addParameter('m', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_m(): + function = LegacyFunctionSpecification() + function.addParameter('m', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_tan_pitch_angle(): + function = LegacyFunctionSpecification() + function.addParameter('tan_pitch_angle', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_tan_pitch_angle(): + function = LegacyFunctionSpecification() + function.addParameter('tan_pitch_angle', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_r_sigma(): + function = LegacyFunctionSpecification() + function.addParameter('r_sigma', dtype='float64', direction=function.IN, unit=units.kpc) + function.result_type = 'int32' + return function + + @legacy_function + def get_r_sigma(): + function = LegacyFunctionSpecification() + function.addParameter('r_sigma', dtype='float64', direction=function.OUT, unit=units.kpc) + function.result_type = 'int32' + return function + + @legacy_function + def set_omega_spiral(): + function = LegacyFunctionSpecification() + function.addParameter('omega_spiral', dtype='float64', direction=function.IN, unit=10*units.kms/units.kpc) + function.result_type = 'int32' + return function + + @legacy_function + def get_omega_spiral(): + function = LegacyFunctionSpecification() + function.addParameter('omega_spiral', dtype='float64', direction=function.OUT, unit=10*units.kms/units.kpc) + function.result_type = 'int32' + return function + + # TWA + + @legacy_function + def set_N(): + function = LegacyFunctionSpecification() + function.addParameter('N', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_N(): + function = LegacyFunctionSpecification() + function.addParameter('N', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_rsp(): + function = LegacyFunctionSpecification() + function.addParameter('rsp', dtype='float64', direction=function.IN, unit=units.kpc) + function.result_type = 'int32' + return function + + @legacy_function + def get_rsp(): + function = LegacyFunctionSpecification() + function.addParameter('rsp', dtype='float64', direction=function.OUT, unit=units.kpc) + function.result_type = 'int32' + return function + + @legacy_function + def set_amplitude(): + function = LegacyFunctionSpecification() + function.addParameter('amplitude', dtype='float64', direction=function.IN, unit=100*units.kms**2/units.kpc) + function.result_type = 'int32' + return function + + @legacy_function + def get_amplitude(): + function = LegacyFunctionSpecification() + function.addParameter('amplitude', dtype='float64', direction=function.OUT, unit=100*units.kms**2/units.kpc) + function.result_type = 'int32' + return function + + # CG02 spiral arms + @legacy_function + def set_spiral_density_amplitude(): + """ + CG02 model spiral arms density amplitude, measured at fiducial radius + rho_0 in eqn(1--3) of CG02 + """ + function = LegacyFunctionSpecification() + function.addParameter('spiral_density_amplitude', dtype='float64', + direction=function.IN, unit=2.32e7*units.MSun/units.kpc**3, + description='CG02 model spiral arms density amplitude, measured at fiducial radius') + function.result_type = 'int32' + return function + + @legacy_function + def get_spiral_density_amplitude(): + """ + CG02 model spiral arms density amplitude, measured at fiducial radius + rho_0 in eqn(1--3) of CG02 + """ + function = LegacyFunctionSpecification() + function.addParameter('spiral_density_amplitude', dtype='float64', + direction=function.OUT, unit=2.32e7*units.MSun/units.kpc**3, + description='CG02 model spiral arms density amplitude, measured at fiducial radius') + function.result_type = 'int32' + return function + + @legacy_function + def set_fiducial_radius(): + """ + CG02 model fiducial radius where the density amplitude and initial phase are measured + R_0 in eqn(1--3) of CG02 + """ + function = LegacyFunctionSpecification() + function.addParameter('fiducial_radius', dtype='float64', direction=function.IN, unit=units.kpc, + description='CG02 model fiducial radius where the density amplitude and initial phase are measured') + function.result_type = 'int32' + return function + + @legacy_function + def get_fiducial_radius(): + """ + CG02 model fiducial radius where the density amplitude and initial phase are measured + R_0 in eqn(1--3) of CG02 + """ + function = LegacyFunctionSpecification() + function.addParameter('fiducial_radius', dtype='float64', direction=function.OUT, unit=units.kpc, + description='CG02 model fiducial radius where the density amplitude and initial phase are measured') + function.result_type = 'int32' + return function + + @legacy_function + def set_scale_height(): + """ + CG02 model spiral arms scale height + H in eqn(1) of CG02 + """ + function = LegacyFunctionSpecification() + function.addParameter('scale_height', dtype='float64', + direction=function.IN, unit=units.kpc, + description='CG02 model spiral arms scale height') + function.result_type = 'int32' + return function + + @legacy_function + def get_scale_height(): + """ + CG02 model spiral arms scale height + H in eqn(1) of CG02 + """ + function = LegacyFunctionSpecification() + function.addParameter('scale_height', dtype='float64', + direction=function.OUT, unit=units.kpc, + description='CG02 model spiral arms scale height') + function.result_type = 'int32' + return function + + # transcient spirals + + @legacy_function + def set_t_sim(): + function = LegacyFunctionSpecification() + function.addParameter('t_sim', dtype='float64', direction=function.IN, unit=97781310.5721*units.yr) + function.result_type = 'int32' + return function + + @legacy_function + def get_t_sim(): + function = LegacyFunctionSpecification() + function.addParameter('t_sim', dtype='float64', direction=function.OUT, unit=97781310.5721*units.yr) + function.result_type = 'int32' + return function + + @legacy_function + def set_sigma_s(): + function = LegacyFunctionSpecification() + function.addParameter('sigma_s', dtype='float64', direction=function.IN, unit=97781310.5721*units.yr) + function.result_type = 'int32' + return function + + @legacy_function + def get_sigma_s(): + function = LegacyFunctionSpecification() + function.addParameter('sigma_s', dtype='float64', direction=function.OUT, unit=97781310.5721*units.yr) + function.result_type = 'int32' + return function + + @legacy_function + def set_omega_spiral2(): + function = LegacyFunctionSpecification() + function.addParameter('omega_spiral2', dtype='float64', direction=function.IN, unit=10.*units.km/(units.s*units.kpc)) + function.result_type = 'int32' + return function + + @legacy_function + def get_omega_spiral2(): + function = LegacyFunctionSpecification() + function.addParameter('omega_spiral2', dtype='float64', direction=function.OUT, unit=10.*units.km/(units.s*units.kpc)) + function.result_type = 'int32' + return function + + @legacy_function + def set_amplitude2(): + function = LegacyFunctionSpecification() + function.addParameter('amplitude2', dtype='float64', direction=function.IN, unit=100*units.kms**2/units.kpc) + function.result_type = 'int32' + return function + + @legacy_function + def get_amplitude2(): + function = LegacyFunctionSpecification() + function.addParameter('amplitude2', dtype='float64', direction=function.OUT, unit=100*units.kms**2/units.kpc) + function.result_type = 'int32' + return function + + @legacy_function + def set_tan_pitch_angle2(): + function = LegacyFunctionSpecification() + function.addParameter('tan_pitch_angle2', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_tan_pitch_angle2(): + function = LegacyFunctionSpecification() + function.addParameter('tan_pitch_angle2', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_m2(): + function = LegacyFunctionSpecification() + function.addParameter('m2', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_m2(): + function = LegacyFunctionSpecification() + function.addParameter('m2', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_phi21(): + function = LegacyFunctionSpecification() + function.addParameter('phi21_spiral', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_phi21(): + function = LegacyFunctionSpecification() + function.addParameter('phi21_spiral', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + # _____________________ AXI_____________________________________________ + @legacy_function + def set_mass_bulge(): + function = LegacyFunctionSpecification() + function.addParameter('mass_bulge', dtype='float64', direction=function.IN, unit=2.32e7*units.MSun) + function.result_type = 'int32' + return function + + @legacy_function + def get_mass_bulge(): + function = LegacyFunctionSpecification() + function.addParameter('mass_bulge', dtype='float64', direction=function.OUT, unit=2.32e7*units.MSun) + function.result_type = 'int32' + return function + + @legacy_function + def set_b_bulge(): + function = LegacyFunctionSpecification() + function.addParameter('b_bulge', dtype='float64', direction=function.IN, unit=units.kpc) + function.result_type = 'int32' + return function + + @legacy_function + def get_b_bulge(): + function = LegacyFunctionSpecification() + function.addParameter('b_bulge', dtype='float64', direction=function.OUT, unit=units.kpc) + function.result_type = 'int32' + return function + + @legacy_function + def set_mass_disk(): + function = LegacyFunctionSpecification() + function.addParameter('mass_disk', dtype='float64', direction=function.IN, unit=2.32e7*units.MSun) + function.result_type = 'int32' + return function + + @legacy_function + def get_mass_disk(): + function = LegacyFunctionSpecification() + function.addParameter('mass_disk', dtype='float64', direction=function.OUT, unit=2.32e7*units.MSun) + function.result_type = 'int32' + return function + + @legacy_function + def set_a_disk(): + function = LegacyFunctionSpecification() + function.addParameter('a_disk', dtype='float64', direction=function.IN, unit=units.kpc) + function.result_type = 'int32' + return function + + @legacy_function + def get_a_disk(): + function = LegacyFunctionSpecification() + function.addParameter('a_disk', dtype='float64', direction=function.OUT, unit=units.kpc) + function.result_type = 'int32' + return function + + @legacy_function + def set_b_disk(): + function = LegacyFunctionSpecification() + function.addParameter('b_disk', dtype='float64', direction=function.IN, unit=units.kpc) + function.result_type = 'int32' + return function + + @legacy_function + def get_b_disk(): + function = LegacyFunctionSpecification() + function.addParameter('b_disk', dtype='float64', direction=function.OUT, unit=units.kpc) + function.result_type = 'int32' + return function + + @legacy_function + def set_mass_halo(): + function = LegacyFunctionSpecification() + function.addParameter('mass_halo', dtype='float64', direction=function.IN, unit=2.32e7*units.MSun) + function.result_type = 'int32' + return function + + @legacy_function + def get_mass_halo(): + function = LegacyFunctionSpecification() + function.addParameter('mass_halo', dtype='float64', direction=function.OUT, unit=2.32e7*units.MSun) + function.result_type = 'int32' + return function + + @legacy_function + def set_a_halo(): + function = LegacyFunctionSpecification() + function.addParameter('a_halo', dtype='float64', direction=function.IN, unit=units.kpc) + function.result_type = 'int32' + return function + + @legacy_function + def get_a_halo(): + function = LegacyFunctionSpecification() + function.addParameter('a_halo', dtype='float64', direction=function.OUT, unit=units.kpc) + function.result_type = 'int32' + return function + + # The following function sets the force of the spiral TWA or bar + + @legacy_function + def set_spiral_contribution(): + function = LegacyFunctionSpecification() + function.addParameter('spiral_contribution', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_spiral_contribution(): + function = LegacyFunctionSpecification() + function.addParameter('spiral_contribution', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_spiral_model(): + """ + set model of spiral arms + 0 -- TWA (2D) + 1 -- Cox and Gomez (3D) + 2 -- Lepine (2D) + """ + function = LegacyFunctionSpecification() + function.addParameter('spiral_model', dtype='int32', direction=function.IN, + description='model of spiral arms (default: 0; TWA 2D arms)') + function.result_type = 'int32' + return function + + @legacy_function + def get_spiral_model(): + """ + set model of spiral arms + 0 -- TWA (2D) + 1 -- Cox and Gomez (3D) + 2 -- Lepine (2D) + """ + function = LegacyFunctionSpecification() + function.addParameter('spiral_model', dtype='int32', direction=function.OUT, + description='model of spiral arms (default: 0; TWA 2D arms)') + function.result_type = 'int32' + return function + + @legacy_function + def set_bar_contribution(): + function = LegacyFunctionSpecification() + function.addParameter('bar_contribution', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_bar_contribution(): + function = LegacyFunctionSpecification() + function.addParameter('bar_contribution', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_transient_spiral(): + function = LegacyFunctionSpecification() + function.addParameter('transient_spiral', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_transient_spiral(): + function = LegacyFunctionSpecification() + function.addParameter('transient_spiral', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + def before_set_parameter(self): + pass + + def before_get_parameter(self): + pass + + +class BarAndSpiralsDoc(object): + def __get__(self, instance, owner): + return instance.interface_doc+"\n\n"+instance.parameters.__doc__ + + +class BarAndSpirals3D(CommonCode, GravityFieldCode): + NBODY = object() + + __doc__ = BarAndSpiralsDoc() + + def __init__(self, unit_converter=None, **options): + self.unit_converter = unit_converter + legacy_interface = BarAndSpiralsInterface(**options) + self.interface_doc = legacy_interface.__doc__ + CommonCode.__init__(self, legacy_interface, **options) + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_time", + "set_time", + "time", + "Evolution time in the model", + default_value=0 | 97781310.5721*units.yr + ) + + handler.add_method_parameter( + "get_omega_sys", + None, + "omega_system", + "pattern speed of the system", + default_value=0 | 10*units.km/(units.s*units.kpc) + ) + + handler.add_method_parameter( + "get_initial_phase", + None, + "initial_phase", + "phase of the system. To convert between inertial and rotating frames", + default_value=0 # | units.rad + ) + handler.add_method_parameter( + "get_flag", + "set_flag", + "xflag", + "flag for the ref system to compute tidal tensor. 1-> corrotating sys, 2-> inertial sys", + default_value=0 + ) + + # BAR + handler.add_method_parameter( + "get_bar_phase", + "set_bar_phase", + "bar_phase", + "Initial phase of the bar", + default_value=0 # | units.rad + ) + + handler.add_method_parameter( + "get_mass_bar", + "set_mass_bar", + "mass_bar", + "The mass of the bar in the model", + default_value=431 | 2.32e7*units.MSun + ) + + handler.add_method_parameter( + "get_aaxis_bar", + "set_aaxis_bar", + "aaxis_bar", + "The semimajor axis of the bar in the model", + default_value=3.13 | units.kpc + ) + + handler.add_method_parameter( + "get_axis_ratio_bar", + "set_axis_ratio_bar", + "axis_ratio_bar", + "b/a of the bar", + default_value=0.32 + ) + + handler.add_method_parameter( + "get_caxis_bar", + "set_caxis_bar", + "caxis_bar", + "The vertical axis of the bar in the model", + default_value=0 | units.kpc + ) + + handler.add_method_parameter( + "get_omega_bar", + "set_omega_bar", + "omega_bar", + "The pattern speed of the bar in the model", + default_value=5 | 10.*units.km/(units.s*units.kpc) + ) + + handler.add_method_parameter( + "get_nbt", + "set_nbt", + "nbt", + "The number of rotations over which bar in the model grows. This is to set tgrow.", + default_value=0 + ) + + handler.add_method_parameter( + "get_tin", + "set_tin", + "Tin", + "Bar formation start time. (takes nbt bar rotations). Bar forms from bulge mass.", + default_value=0 + ) + + handler.add_method_parameter( + "get_tgrowth", + None, + "tgrowth_bar", + "Growing time of the bar", + default_value=0 | 97781310.5721*units.yr + ) + + # SPIRAL + handler.add_method_parameter( + "get_spiral_phase", + "set_spiral_phase", + "spiral_phase", + "Initial phase of the spiral arms", + default_value=0 # | units.rad + ) + + handler.add_method_parameter( + "get_N", + "set_N", + "N", + "How sharply spiral change to bar in the central region", + default_value=100 + ) + + handler.add_method_parameter( + "get_tan_pitch_angle", + "set_tan_pitch_angle", + "tan_pitch_angle", + " tangent of the pitch angle", + default_value=0.277 + ) + + handler.add_method_parameter( + "get_rsp", + "set_rsp", + "rsp", + "radius when the spiral starts", + default_value=1.5 | units.kpc + ) + + handler.add_method_parameter( + "get_amplitude", + "set_amplitude", + "amplitude", + "Amplitude of the perturbation", + default_value=8.5 | 100*units.kms**2/units.kpc + ) + + handler.add_method_parameter( + "get_r_sigma", + "set_r_sigma", + "r_sigma", + "scalelength rsigma of the spiral arms", + default_value=2.5 | units.kpc + ) + + handler.add_method_parameter( + "get_omega_spiral", + "set_omega_spiral", + "omega_spiral", + "Pattern speed of the spiral", + default_value=2. | 10.*units.kms/units.kpc + ) + + handler.add_method_parameter( + "get_m", + "set_m", + "m", + "Number of spirals", + default_value=2 + ) + + # CG02 3D spiral model + # default values set as in onriginal CG02 paper + + handler.add_method_parameter( + "get_spiral_density_amplitude", + "set_spiral_density_amplitude", + "spiral_density_amplitude", + "CG02 model spiral arms density amplitude", + default_value=1.35633 | 2.32e7*units.MSun/units.kpc**3 + ) + + handler.add_method_parameter( + "get_fiducial_radius", + "set_fiducial_radius", + "fiducial_radius", + "CG02 spiral arms fiducial radius", + default_value=8.0 | units.kpc + ) + + handler.add_method_parameter( + "get_scale_height", + "set_scale_height", + "scale_height", + "CG02 spiral arms scale height", + default_value=0.18 | units.kpc + ) + + # transcient structure + + handler.add_method_parameter( + "get_sigma_s", + "set_sigma_s", + "sigma_s", + "Duration of the sp force", + default_value=1.02269032206 | 97781310.5721*units.yr + ) + + handler.add_method_parameter( + "get_t_sim", + "set_t_sim", + "t_sim", + "simulation time", + default_value=47.0437548146 | 97781310.5721*units.yr + ) + + # LEPINE MODEL + handler.add_method_parameter( + "get_spiral_model", + "set_spiral_model", + "spiral_model", + "0 is TWA, 1 is C&G, 2 is Lepine ", + default_value=0 + ) + + handler.add_method_parameter( + "get_omega_spiral2", + "set_omega_spiral2", + "omega_spiral2", + "Pattern speed of the second SA ", + default_value=2. | 10.*units.kms/units.kpc + ) + + handler.add_method_parameter( + "get_amplitude2", + "set_amplitude2", + "amplitude2", + "Amplitude of the second SA pattern", + default_value=6.8 | 100*units.kms**2/units.kpc + ) + + handler.add_method_parameter( + "get_tan_pitch_angle2", + "set_tan_pitch_angle2", + "tan_pitch_angle2", + " tangent of the pitch angle second SA pattern", + default_value=-0.1227845 + ) + + handler.add_method_parameter( + "get_m2", + "set_m2", + "m2", + "Number of spirals of the second SA pattern", + default_value=2 + ) + + handler.add_method_parameter( + "get_phi21", + "set_phi21", + "phi21_spiral", + "Initial phase of the second pattern with respect to the primarly one", + default_value=-3.49065850399 + ) + + # AXI + handler.add_method_parameter( + "get_mass_bulge", + "set_mass_bulge", + "mass_bulge", + "mass of the total central component in the model", + default_value=606 | 2.32e7*units.MSun + ) + + handler.add_method_parameter( + "get_b_bulge", + "set_b_bulge", + "b_bulge", + "b constant of the bulge's potential", + default_value=0.3873 | units.kpc + ) + + handler.add_method_parameter( + "get_mass_disk", + "set_mass_disk", + "mass_disk", + "The mass of the disk in the model", + default_value=3690 | 2.32e7*units.MSun + ) + + handler.add_method_parameter( + "get_a_disk", + "set_a_disk", + "a_disk", + "The constant a in the potential of the disk", + default_value=5.3178 | units.kpc + ) + + handler.add_method_parameter( + "get_b_disk", + "set_b_disk", + "b_disk", + "The constant b in the potential of the disk", + default_value=0.25 | units.kpc + ) + + handler.add_method_parameter( + "get_mass_halo", + "set_mass_halo", + "mass_halo", + "The mass of the dark matter halo in the model", + default_value=4615 | 2.32e7*units.MSun + ) + + handler.add_method_parameter( + "get_a_halo", + "set_a_halo", + "a_halo", + "The constant a in the potential of the dark matter halo", + default_value=12.0 | units.kpc + ) + + handler.add_boolean_parameter( + "get_spiral_contribution", + "set_spiral_contribution", + "spiral_contribution", + "Flag whether to include a spiral in the model", + False + ) + handler.add_boolean_parameter( + "get_bar_contribution", + "set_bar_contribution", + "bar_contribution", + "Flag whether to include a bar in the model", + False + ) + + handler.add_boolean_parameter( + "get_transient_spiral", + "set_transient_spiral", + "transient_spiral", + "Flag whether to include transient spirals in the model", + False + ) + + def define_state(self, handler): + CommonCode.define_state(self, handler) + handler.add_transition('INITIALIZED', 'RUN', 'commit_parameters') + handler.add_transition('RUN', 'CHANGE_PARAMETERS_RUN', 'before_set_parameter', False) + handler.add_transition('CHANGE_PARAMETERS_RUN', 'RUN', 'recommit_parameters') + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') + handler.add_method('RUN', 'before_get_parameter') + GravityFieldCode.define_state(self, handler) + handler.add_method('RUN', 'get_local_density') + handler.add_method('RUN', 'get_velcirc') + handler.add_method('RUN', 'get_epifreq') + handler.add_method('RUN', 'get_spiral_density') + handler.add_method('RUN', 'get_tidal_tensor') + handler.add_method('RUN', 'get_eigen_values') + handler.add_method('RUN', 'get_tidal_radius') + + def before_set_parameter(self): + pass + + def before_get_parameter(self): + pass + + def evolve_model(self, t_end): + self.parameters.time = t_end + + @property + def model_time(self): + return self.parameters.time + + def get_density_at_point(self, x, y, z): + return self.get_local_density(self.parameters.time, x, y, z) + + +Barandspirals3d = BarAndSpirals3D +Galaxia = BarAndSpirals3D diff --git a/src/amuse_galaxia/packages/amuse-galaxia.amuse_deps b/src/amuse_galaxia/packages/amuse-galaxia.amuse_deps new file mode 100644 index 0000000000..542bb7e832 --- /dev/null +++ b/src/amuse_galaxia/packages/amuse-galaxia.amuse_deps @@ -0,0 +1 @@ +fortran mpi blas lapack diff --git a/src/amuse_galaxia/packages/amuse-galaxia/amuse_galaxia b/src/amuse_galaxia/packages/amuse-galaxia/amuse_galaxia new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_galaxia/packages/amuse-galaxia/amuse_galaxia @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_galaxia/packages/amuse-galaxia/pyproject.toml b/src/amuse_galaxia/packages/amuse-galaxia/pyproject.toml new file mode 100644 index 0000000000..614b8854a6 --- /dev/null +++ b/src/amuse_galaxia/packages/amuse-galaxia/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-galaxia" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_galaxia/**/*.py"] +exclude = [ + "amuse_galaxia/packages", + "amuse_galaxia/support", + "amuse_galaxia/src", + "amuse_galaxia/tests" + ] +artifacts = ["amuse_galaxia/galaxia_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_galaxia/tests/"] + +testpaths = ["amuse_galaxia/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse_galaxia/support/aclocal.m4 b/src/amuse_galaxia/support/aclocal.m4 new file mode 100644 index 0000000000..77af8846d8 --- /dev/null +++ b/src/amuse_galaxia/support/aclocal.m4 @@ -0,0 +1,21 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_blas.m4]) +m4_include([shared/m4/ax_lapack.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/fortran.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_galaxia/support/config.mk.in b/src/amuse_galaxia/support/config.mk.in new file mode 100644 index 0000000000..3ef0c2908f --- /dev/null +++ b/src/amuse_galaxia/support/config.mk.in @@ -0,0 +1,13 @@ +FC = @FC@ +MPIFC = @MPIFC@ + +FFLAGS = @FFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + +FORSOCKETS_CFLAGS = @FORSOCKETS_CFLAGS@ +FORSOCKETS_LIBS = @FORSOCKETS_LIBS@ + +BLAS_LIBS = @BLAS_LIBS@ +LAPACK_LIBS = @LAPACK_LIBS@ diff --git a/src/amuse_galaxia/support/configure b/src/amuse_galaxia/support/configure new file mode 100755 index 0000000000..807a83c621 --- /dev/null +++ b/src/amuse_galaxia/support/configure @@ -0,0 +1,8002 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-galaxia 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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" + if (eval "$as_required") 2>/dev/null +then : + as_have_required=yes +else $as_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-galaxia' +PACKAGE_TARNAME='amuse-galaxia' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-galaxia 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPILIBS +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +LAPACK_LIBS +BLAS_LIBS +FLIBS +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +ac_ct_F77 +F77 +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CPPFLAGS +CFLAGS +CC +OBJEXT +EXEEXT +ac_ct_FC +LDFLAGS +FCFLAGS +FC +FFLAGS +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 +with_blas +with_lapack +' + ac_precious_vars='build_alias +host_alias +target_alias +FC +FCFLAGS +LDFLAGS +LIBS +CC +CFLAGS +CPPFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS +F77 +FFLAGS +MPIFC' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-galaxia 1.0 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/amuse-galaxia] + --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 amuse-galaxia 1.0:";; + esac + cat <<\_ACEOF + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-blas= use BLAS library + --with-lapack= use LAPACK library + +Some influential environment variables: + FC Fortran compiler command + FCFLAGS Fortran 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 + CC C compiler command + CFLAGS C compiler flags + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + 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 + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + MPIFC MPI Fortran compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-galaxia configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_f77_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_f77_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_f77_try_compile + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 + +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-galaxia $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Find the compiler +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the Fortran compiler works" >&5 +printf %s "checking whether the Fortran compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "Fortran compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler default output file name" >&5 +printf %s "checking for Fortran compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat > conftest.$ac_ext <<_ACEOF + program main + open(unit=9,file='conftest.out') + close(unit=9) + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run Fortran compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +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 + + + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + +# The AX_LAPACK macro (which also calls AX_BLAS) is designed to be called by a C wrapper +# So, we need to do this is order to detect blas/lapack even if we have a pure fortran code +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=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_F77+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_F77="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $F77" >&5 +printf "%s\n" "$F77" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_F77+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_F77="$ac_prog" + printf "%s\n" "$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_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_F77" >&5 +printf "%s\n" "$ac_ct_F77" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 77 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran 77" >&5 +printf %s "checking whether the compiler supports GNU Fortran 77... " >&6; } +if test ${ac_cv_f77_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_f77_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_f77_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+y} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $F77 accepts -g" >&5 +printf %s "checking whether $F77 accepts -g... " >&6; } +if test ${ac_cv_prog_f77_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_f77_try_compile "$LINENO" +then : + ac_cv_prog_f77_g=yes +else $as_nop + ac_cv_prog_f77_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_f77_g" >&5 +printf "%s\n" "$ac_cv_prog_f77_g" >&6; } +if test $ac_test_FFLAGS; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + G77=yes +else + G77= +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 + + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to get verbose linking output from $F77" >&5 +printf %s "checking how to get verbose linking output from $F77... " >&6; } +if test ${ac_cv_prog_f77_v+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_f77_try_compile "$LINENO" +then : + ac_cv_prog_f77_v= +# Try some options frequently used verbose output +for ac_verb in -v -verbose --verbose -V -\#\#\#; do + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF + +# Compile and link our simple test program by passing a flag (argument +# 1 to this macro) to the Fortran compiler in order to get +# "verbose" output that we can then parse for the Fortran linker +# flags. +ac_save_FFLAGS=$FFLAGS +FFLAGS="$FFLAGS $ac_verb" +eval "set x $ac_link" +shift +printf "%s\n" "$as_me:${as_lineno-$LINENO}: $*" >&5 +# gfortran 4.3 outputs lines setting COLLECT_GCC_OPTIONS, COMPILER_PATH, +# LIBRARY_PATH; skip all such settings. +ac_f77_v_output=`eval $ac_link 5>&1 2>&1 | + sed '/^Driving:/d; /^Configured with:/d; + '"/^[_$as_cr_Letters][_$as_cr_alnum]*=/d"` +printf "%s\n" "$ac_f77_v_output" >&5 +FFLAGS=$ac_save_FFLAGS + +rm -rf conftest* + +# On HP/UX there is a line like: "LPATH is: /foo:/bar:/baz" where +# /foo, /bar, and /baz are search directories for the Fortran linker. +# Here, we change these into -L/foo -L/bar -L/baz (and put it first): +ac_f77_v_output="`echo $ac_f77_v_output | + grep 'LPATH is:' | + sed 's|.*LPATH is\(: *[^ ]*\).*|\1|;s|: */| -L/|g'` $ac_f77_v_output" + +# FIXME: we keep getting bitten by quoted arguments; a more general fix +# that detects unbalanced quotes in FLIBS should be implemented +# and (ugh) tested at some point. +case $ac_f77_v_output in + # With xlf replace commas with spaces, + # and remove "-link" and closing parenthesis. + *xlfentry*) + ac_f77_v_output=`echo $ac_f77_v_output | + sed ' + s/,/ /g + s/ -link / /g + s/) *$// + ' + ` ;; + + # With Intel ifc, ignore the quoted -mGLOB_options_string stuff (quoted + # $LIBS confuse us, and the libraries appear later in the output anyway). + *mGLOB_options_string*) + ac_f77_v_output=`echo $ac_f77_v_output | sed 's/"-mGLOB[^"]*"/ /g'` ;; + + # Portland Group compiler has singly- or doubly-quoted -cmdline argument + # Singly-quoted arguments were reported for versions 5.2-4 and 6.0-4. + # Doubly-quoted arguments were reported for "PGF90/x86 Linux/x86 5.0-2". + *-cmdline\ * | *-ignore\ * | *-def\ *) + ac_f77_v_output=`echo $ac_f77_v_output | sed "\ + s/-cmdline *'[^']*'/ /g; s/-cmdline *\"[^\"]*\"/ /g + s/-ignore *'[^']*'/ /g; s/-ignore *\"[^\"]*\"/ /g + s/-def *'[^']*'/ /g; s/-def *\"[^\"]*\"/ /g"` ;; + + # If we are using fort77 (the f2c wrapper) then filter output and delete quotes. + *fort77*f2c*gcc*) + ac_f77_v_output=`echo "$ac_f77_v_output" | sed -n ' + /:[ ]\+Running[ ]\{1,\}"gcc"/{ + /"-c"/d + /[.]c"*/d + s/^.*"gcc"/"gcc"/ + s/"//gp + }'` ;; + + # If we are using Cray Fortran then delete quotes. + *cft90*) + ac_f77_v_output=`echo $ac_f77_v_output | sed 's/"//g'` ;; +esac + + + # look for -l* and *.a constructs in the output + for ac_arg in $ac_f77_v_output; do + case $ac_arg in + [\\/]*.a | ?:[\\/]*.a | -[lLRu]*) + ac_cv_prog_f77_v=$ac_verb + break 2 ;; + esac + done +done +if test -z "$ac_cv_prog_f77_v"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot determine how to obtain linking information from $F77" >&5 +printf "%s\n" "$as_me: WARNING: cannot determine how to obtain linking information from $F77" >&2;} +fi +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: compilation failed" >&5 +printf "%s\n" "$as_me: WARNING: compilation failed" >&2;} +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_f77_v" >&5 +printf "%s\n" "$ac_cv_prog_f77_v" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 77 libraries of $F77" >&5 +printf %s "checking for Fortran 77 libraries of $F77... " >&6; } +if test ${ac_cv_f77_libs+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$FLIBS" != "x"; then + ac_cv_f77_libs="$FLIBS" # Let the user override the test. +else + +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF + +# Compile and link our simple test program by passing a flag (argument +# 1 to this macro) to the Fortran compiler in order to get +# "verbose" output that we can then parse for the Fortran linker +# flags. +ac_save_FFLAGS=$FFLAGS +FFLAGS="$FFLAGS $ac_cv_prog_f77_v" +eval "set x $ac_link" +shift +printf "%s\n" "$as_me:${as_lineno-$LINENO}: $*" >&5 +# gfortran 4.3 outputs lines setting COLLECT_GCC_OPTIONS, COMPILER_PATH, +# LIBRARY_PATH; skip all such settings. +ac_f77_v_output=`eval $ac_link 5>&1 2>&1 | + sed '/^Driving:/d; /^Configured with:/d; + '"/^[_$as_cr_Letters][_$as_cr_alnum]*=/d"` +printf "%s\n" "$ac_f77_v_output" >&5 +FFLAGS=$ac_save_FFLAGS + +rm -rf conftest* + +# On HP/UX there is a line like: "LPATH is: /foo:/bar:/baz" where +# /foo, /bar, and /baz are search directories for the Fortran linker. +# Here, we change these into -L/foo -L/bar -L/baz (and put it first): +ac_f77_v_output="`echo $ac_f77_v_output | + grep 'LPATH is:' | + sed 's|.*LPATH is\(: *[^ ]*\).*|\1|;s|: */| -L/|g'` $ac_f77_v_output" + +# FIXME: we keep getting bitten by quoted arguments; a more general fix +# that detects unbalanced quotes in FLIBS should be implemented +# and (ugh) tested at some point. +case $ac_f77_v_output in + # With xlf replace commas with spaces, + # and remove "-link" and closing parenthesis. + *xlfentry*) + ac_f77_v_output=`echo $ac_f77_v_output | + sed ' + s/,/ /g + s/ -link / /g + s/) *$// + ' + ` ;; + + # With Intel ifc, ignore the quoted -mGLOB_options_string stuff (quoted + # $LIBS confuse us, and the libraries appear later in the output anyway). + *mGLOB_options_string*) + ac_f77_v_output=`echo $ac_f77_v_output | sed 's/"-mGLOB[^"]*"/ /g'` ;; + + # Portland Group compiler has singly- or doubly-quoted -cmdline argument + # Singly-quoted arguments were reported for versions 5.2-4 and 6.0-4. + # Doubly-quoted arguments were reported for "PGF90/x86 Linux/x86 5.0-2". + *-cmdline\ * | *-ignore\ * | *-def\ *) + ac_f77_v_output=`echo $ac_f77_v_output | sed "\ + s/-cmdline *'[^']*'/ /g; s/-cmdline *\"[^\"]*\"/ /g + s/-ignore *'[^']*'/ /g; s/-ignore *\"[^\"]*\"/ /g + s/-def *'[^']*'/ /g; s/-def *\"[^\"]*\"/ /g"` ;; + + # If we are using fort77 (the f2c wrapper) then filter output and delete quotes. + *fort77*f2c*gcc*) + ac_f77_v_output=`echo "$ac_f77_v_output" | sed -n ' + /:[ ]\+Running[ ]\{1,\}"gcc"/{ + /"-c"/d + /[.]c"*/d + s/^.*"gcc"/"gcc"/ + s/"//gp + }'` ;; + + # If we are using Cray Fortran then delete quotes. + *cft90*) + ac_f77_v_output=`echo $ac_f77_v_output | sed 's/"//g'` ;; +esac + + + +ac_cv_f77_libs= + +# Save positional arguments (if any) +ac_save_positional="$@" + +set X $ac_f77_v_output +while test $# != 1; do + shift + ac_arg=$1 + case $ac_arg in + [\\/]*.a | ?:[\\/]*.a) + ac_exists=false + for ac_i in $ac_cv_f77_libs; do + if test x"$ac_arg" = x"$ac_i"; then + ac_exists=true + break + fi + done + + if test x"$ac_exists" = xtrue +then : + +else $as_nop + ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" +fi + ;; + -bI:*) + ac_exists=false + for ac_i in $ac_cv_f77_libs; do + if test x"$ac_arg" = x"$ac_i"; then + ac_exists=true + break + fi + done + + if test x"$ac_exists" = xtrue +then : + +else $as_nop + if test "$ac_compiler_gnu" = yes; then + for ac_link_opt in $ac_arg; do + ac_cv_f77_libs="$ac_cv_f77_libs -Xlinker $ac_link_opt" + done +else + ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" +fi +fi + ;; + # Ignore these flags. + -lang* | -lcrt*.o | -lc | -lgcc* | -lSystem | -libmil | -little \ + |-LANG:=* | -LIST:* | -LNO:* | -link) + ;; + -lkernel32) + # Ignore this library only on Windows-like systems. + case $host_os in + cygwin* | msys* ) ;; + *) + ac_exists=false + for ac_i in $ac_cv_f77_libs; do + if test x"$ac_arg" = x"$ac_i"; then + ac_exists=true + break + fi + done + + if test x"$ac_exists" = xtrue +then : + +else $as_nop + ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" +fi + ;; + esac + ;; + -[LRuYz]) + # These flags, when seen by themselves, take an argument. + # We remove the space between option and argument and re-iterate + # unless we find an empty arg or a new option (starting with -) + case $2 in + "" | -*);; + *) + ac_arg="$ac_arg$2" + shift; shift + set X $ac_arg "$@" + ;; + esac + ;; + -YP,*) + for ac_j in `printf "%s\n" "$ac_arg" | sed -e 's/-YP,/-L/;s/:/ -L/g'`; do + ac_exists=false + for ac_i in $ac_cv_f77_libs; do + if test x"$ac_j" = x"$ac_i"; then + ac_exists=true + break + fi + done + + if test x"$ac_exists" = xtrue +then : + +else $as_nop + ac_arg="$ac_arg $ac_j" + ac_cv_f77_libs="$ac_cv_f77_libs $ac_j" +fi + done + ;; + -[lLR]*) + ac_exists=false + for ac_i in $ac_cv_f77_libs; do + if test x"$ac_arg" = x"$ac_i"; then + ac_exists=true + break + fi + done + + if test x"$ac_exists" = xtrue +then : + +else $as_nop + ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" +fi + ;; + -zallextract*| -zdefaultextract) + ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" + ;; + -mllvm) ${2+shift};; # Defend against 'clang -mllvm -loopopt=0'. + # Ignore everything else. + esac +done +# restore positional arguments +set X $ac_save_positional; shift + +# We only consider "LD_RUN_PATH" on Solaris systems. If this is seen, +# then we insist that the "run path" must be an absolute path (i.e. it +# must begin with a "/"). +case `(uname -sr) 2>/dev/null` in + "SunOS 5"*) + ac_ld_run_path=`printf "%s\n" "$ac_f77_v_output" | + sed -n 's,^.*LD_RUN_PATH *= *\(/[^ ]*\).*$,-R\1,p'` + test "x$ac_ld_run_path" != x && + if test "$ac_compiler_gnu" = yes; then + for ac_link_opt in $ac_ld_run_path; do + ac_cv_f77_libs="$ac_cv_f77_libs -Xlinker $ac_link_opt" + done +else + ac_cv_f77_libs="$ac_cv_f77_libs $ac_ld_run_path" +fi + ;; +esac +fi # test "x$[]_AC_LANG_PREFIX[]LIBS" = "x" + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_libs" >&5 +printf "%s\n" "$ac_cv_f77_libs" >&6; } +FLIBS="$ac_cv_f77_libs" + + +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=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dummy main to link with Fortran 77 libraries" >&5 +printf %s "checking for dummy main to link with Fortran 77 libraries... " >&6; } +if test ${ac_cv_f77_dummy_main+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_f77_dm_save_LIBS=$LIBS + LIBS="$LIBS $FLIBS" + ac_fortran_dm_var=F77_DUMMY_MAIN + 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 + + # First, try linking without a dummy main: + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_fortran_dummy_main=none +else $as_nop + ac_cv_fortran_dummy_main=unknown +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test $ac_cv_fortran_dummy_main = unknown; then + for ac_func in MAIN__ MAIN_ __main MAIN _MAIN __MAIN main_ main__ _main; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define $ac_fortran_dm_var $ac_func +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_fortran_dummy_main=$ac_func; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + done + fi + ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + ac_cv_f77_dummy_main=$ac_cv_fortran_dummy_main + rm -rf conftest* + LIBS=$ac_f77_dm_save_LIBS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_dummy_main" >&5 +printf "%s\n" "$ac_cv_f77_dummy_main" >&6; } +F77_DUMMY_MAIN=$ac_cv_f77_dummy_main +if test "$F77_DUMMY_MAIN" != unknown +then : + if test $F77_DUMMY_MAIN != none; then + +printf "%s\n" "#define F77_DUMMY_MAIN $F77_DUMMY_MAIN" >>confdefs.h + + if test "x$ac_cv_fc_dummy_main" = "x$ac_cv_f77_dummy_main"; then + +printf "%s\n" "#define FC_DUMMY_MAIN_EQ_F77 1" >>confdefs.h + + fi +fi +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "linking to Fortran libraries from C fails +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 + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 77 name-mangling scheme" >&5 +printf %s "checking for Fortran 77 name-mangling scheme... " >&6; } +if test ${ac_cv_f77_mangling+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + subroutine foobar() + return + end + subroutine foo_bar() + return + end +_ACEOF +if ac_fn_f77_try_compile "$LINENO" +then : + mv conftest.$ac_objext cfortran_test.$ac_objext + + ac_save_LIBS=$LIBS + LIBS="cfortran_test.$ac_objext $LIBS $FLIBS" + + 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_success=no + for ac_foobar in foobar FOOBAR; do + for ac_underscore in "" "_"; do + ac_func="$ac_foobar$ac_underscore" + 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. */ +char $ac_func (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_success=yes; break 2 +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + done + done + ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + if test "$ac_success" = "yes"; then + case $ac_foobar in + foobar) + ac_case=lower + ac_foo_bar=foo_bar + ;; + FOOBAR) + ac_case=upper + ac_foo_bar=FOO_BAR + ;; + esac + + 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_success_extra=no + for ac_extra in "" "_"; do + ac_func="$ac_foo_bar$ac_underscore$ac_extra" + 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. */ +char $ac_func (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_success_extra=yes; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + done + ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + if test "$ac_success_extra" = "yes"; then + ac_cv_f77_mangling="$ac_case case" + if test -z "$ac_underscore"; then + ac_cv_f77_mangling="$ac_cv_f77_mangling, no underscore" + else + ac_cv_f77_mangling="$ac_cv_f77_mangling, underscore" + fi + if test -z "$ac_extra"; then + ac_cv_f77_mangling="$ac_cv_f77_mangling, no extra underscore" + else + ac_cv_f77_mangling="$ac_cv_f77_mangling, extra underscore" + fi + else + ac_cv_f77_mangling="unknown" + fi + else + ac_cv_f77_mangling="unknown" + fi + + LIBS=$ac_save_LIBS + rm -rf conftest* + rm -f cfortran_test* +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compile a simple Fortran program +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_mangling" >&5 +printf "%s\n" "$ac_cv_f77_mangling" >&6; } + +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 + + + + + +ax_blas_ok=no + + +# Check whether --with-blas was given. +if test ${with_blas+y} +then : + withval=$with_blas; +fi + +case $with_blas in + yes | "") ;; + no) ax_blas_ok=disable ;; + -* | */* | *.a | *.so | *.so.* | *.dylib | *.dylib.* | *.o) + BLAS_LIBS="$with_blas" + ;; + *) BLAS_LIBS="-l$with_blas" ;; +esac + +# Get fortran linker names of BLAS functions to check for. +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +case $ac_cv_f77_mangling in + upper*) ac_val="SGEMM" ;; + lower*) ac_val="sgemm" ;; + *) ac_val="unknown" ;; +esac +case $ac_cv_f77_mangling in *," underscore"*) ac_val="$ac_val"_ ;; esac + +sgemm="$ac_val" + +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=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +case $ac_cv_f77_mangling in + upper*) ac_val="DGEMM" ;; + lower*) ac_val="dgemm" ;; + *) ac_val="unknown" ;; +esac +case $ac_cv_f77_mangling in *," underscore"*) ac_val="$ac_val"_ ;; esac + +dgemm="$ac_val" + +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 + + +ax_blas_save_LIBS="$LIBS" +LIBS="$LIBS $FLIBS" + +# First, check BLAS_LIBS environment variable +if test $ax_blas_ok = no; then +if test "x$BLAS_LIBS" != x; then + save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in $BLAS_LIBS" >&5 +printf %s "checking for $sgemm in $BLAS_LIBS... " >&6; } + 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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ax_blas_ok=yes +else $as_nop + BLAS_LIBS="" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_blas_ok" >&5 +printf "%s\n" "$ax_blas_ok" >&6; } + LIBS="$save_LIBS" +fi +fi + +# BLAS linked to by default? (happens on some supercomputers) +if test $ax_blas_ok = no; then + save_LIBS="$LIBS"; LIBS="$LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $sgemm is being linked in already" >&5 +printf %s "checking if $sgemm is being linked in already... " >&6; } + 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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ax_blas_ok=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_blas_ok" >&5 +printf "%s\n" "$ax_blas_ok" >&6; } + LIBS="$save_LIBS" +fi + +# BLAS in OpenBLAS library? (http://xianyi.github.com/OpenBLAS/) +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_openblas_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lopenblas" >&5 +printf %s "checking for $sgemm in -lopenblas... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lopenblas $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes + BLAS_LIBS="-lopenblas" +fi + +fi + +# BLAS in ATLAS library? (http://math-atlas.sourceforge.net/) +if test $ax_blas_ok = no; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ATL_xerbla in -latlas" >&5 +printf %s "checking for ATL_xerbla in -latlas... " >&6; } +if test ${ac_cv_lib_atlas_ATL_xerbla+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-latlas $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. */ +char ATL_xerbla (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return ATL_xerbla (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_atlas_ATL_xerbla=yes +else $as_nop + ac_cv_lib_atlas_ATL_xerbla=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_atlas_ATL_xerbla" >&5 +printf "%s\n" "$ac_cv_lib_atlas_ATL_xerbla" >&6; } +if test "x$ac_cv_lib_atlas_ATL_xerbla" = xyes +then : + as_ac_Lib=`printf "%s\n" "ac_cv_lib_f77blas_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lf77blas" >&5 +printf %s "checking for $sgemm in -lf77blas... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lf77blas -latlas $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cblas_dgemm in -lcblas" >&5 +printf %s "checking for cblas_dgemm in -lcblas... " >&6; } +if test ${ac_cv_lib_cblas_cblas_dgemm+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcblas -lf77blas -latlas $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. */ +char cblas_dgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return cblas_dgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_cblas_cblas_dgemm=yes +else $as_nop + ac_cv_lib_cblas_cblas_dgemm=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cblas_cblas_dgemm" >&5 +printf "%s\n" "$ac_cv_lib_cblas_cblas_dgemm" >&6; } +if test "x$ac_cv_lib_cblas_cblas_dgemm" = xyes +then : + ax_blas_ok=yes + BLAS_LIBS="-lcblas -lf77blas -latlas" +fi + +fi + +fi + +fi + +# BLAS in PhiPACK libraries? (requires generic BLAS lib, too) +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_blas_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lblas" >&5 +printf %s "checking for $sgemm in -lblas... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lblas $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + as_ac_Lib=`printf "%s\n" "ac_cv_lib_dgemm_$dgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $dgemm in -ldgemm" >&5 +printf %s "checking for $dgemm in -ldgemm... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldgemm -lblas $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. */ +char $dgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $dgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + as_ac_Lib=`printf "%s\n" "ac_cv_lib_sgemm_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lsgemm" >&5 +printf %s "checking for $sgemm in -lsgemm... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsgemm -lblas $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes; BLAS_LIBS="-lsgemm -ldgemm -lblas" +fi + +fi + +fi + +fi + +# BLAS in Intel MKL library? +if test $ax_blas_ok = no; then + # MKL for gfortran + if test x"$ac_cv_fc_compiler_gnu" = xyes; then + # 64 bit + if test $host_cpu = x86_64; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_mkl_gf_lp64_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lmkl_gf_lp64" >&5 +printf %s "checking for $sgemm in -lmkl_gf_lp64... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmkl_gf_lp64 -lmkl_gf_lp64 -lmkl_sequential -lmkl_core -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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes;BLAS_LIBS="-lmkl_gf_lp64 -lmkl_sequential -lmkl_core -lpthread" +fi + + # 32 bit + elif test $host_cpu = i686; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_mkl_gf_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lmkl_gf" >&5 +printf %s "checking for $sgemm in -lmkl_gf... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmkl_gf -lmkl_gf -lmkl_sequential -lmkl_core -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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes;BLAS_LIBS="-lmkl_gf -lmkl_sequential -lmkl_core -lpthread" +fi + + fi + # MKL for other compilers (Intel, PGI, ...?) + else + # 64-bit + if test $host_cpu = x86_64; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_mkl_intel_lp64_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lmkl_intel_lp64" >&5 +printf %s "checking for $sgemm in -lmkl_intel_lp64... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmkl_intel_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes;BLAS_LIBS="-lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread" +fi + + # 32-bit + elif test $host_cpu = i686; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_mkl_intel_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lmkl_intel" >&5 +printf %s "checking for $sgemm in -lmkl_intel... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmkl_intel -lmkl_intel -lmkl_sequential -lmkl_core -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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes;BLAS_LIBS="-lmkl_intel -lmkl_sequential -lmkl_core -lpthread" +fi + + fi + fi +fi +# Old versions of MKL +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_mkl_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lmkl" >&5 +printf %s "checking for $sgemm in -lmkl... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmkl -lguide -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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes;BLAS_LIBS="-lmkl -lguide -lpthread" +fi + +fi + +# BLAS in Apple vecLib library? +if test $ax_blas_ok = no; then + save_LIBS="$LIBS"; LIBS="-framework vecLib $LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -framework vecLib" >&5 +printf %s "checking for $sgemm in -framework vecLib... " >&6; } + 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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ax_blas_ok=yes;BLAS_LIBS="-framework vecLib" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_blas_ok" >&5 +printf "%s\n" "$ax_blas_ok" >&6; } + LIBS="$save_LIBS" +fi + +# BLAS in Alpha CXML library? +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_cxml_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lcxml" >&5 +printf %s "checking for $sgemm in -lcxml... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcxml $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes;BLAS_LIBS="-lcxml" +fi + +fi + +# BLAS in Alpha DXML library? (now called CXML, see above) +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_dxml_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -ldxml" >&5 +printf %s "checking for $sgemm in -ldxml... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldxml $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes;BLAS_LIBS="-ldxml" +fi + +fi + +# BLAS in Sun Performance library? +if test $ax_blas_ok = no; then + if test "x$GCC" != xyes; then # only works with Sun CC + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for acosp in -lsunmath" >&5 +printf %s "checking for acosp in -lsunmath... " >&6; } +if test ${ac_cv_lib_sunmath_acosp+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsunmath $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. */ +char acosp (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return acosp (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_sunmath_acosp=yes +else $as_nop + ac_cv_lib_sunmath_acosp=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sunmath_acosp" >&5 +printf "%s\n" "$ac_cv_lib_sunmath_acosp" >&6; } +if test "x$ac_cv_lib_sunmath_acosp" = xyes +then : + as_ac_Lib=`printf "%s\n" "ac_cv_lib_sunperf_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lsunperf" >&5 +printf %s "checking for $sgemm in -lsunperf... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsunperf -lsunmath $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + BLAS_LIBS="-xlic_lib=sunperf -lsunmath" + ax_blas_ok=yes +fi + +fi + + fi +fi + +# BLAS in SCSL library? (SGI/Cray Scientific Library) +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_scs_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lscs" >&5 +printf %s "checking for $sgemm in -lscs... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lscs $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes; BLAS_LIBS="-lscs" +fi + +fi + +# BLAS in SGIMATH library? +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_complib.sgimath_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lcomplib.sgimath" >&5 +printf %s "checking for $sgemm in -lcomplib.sgimath... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcomplib.sgimath $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes; BLAS_LIBS="-lcomplib.sgimath" +fi + +fi + +# BLAS in IBM ESSL library? (requires generic BLAS lib, too) +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_blas_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lblas" >&5 +printf %s "checking for $sgemm in -lblas... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lblas $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + as_ac_Lib=`printf "%s\n" "ac_cv_lib_essl_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lessl" >&5 +printf %s "checking for $sgemm in -lessl... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lessl -lblas $FLIBS $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes; BLAS_LIBS="-lessl -lblas" +fi + +fi + +fi + +# Generic BLAS library? +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_blas_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lblas" >&5 +printf %s "checking for $sgemm in -lblas... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lblas $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes; BLAS_LIBS="-lblas" +fi + +fi + + + +LIBS="$ax_blas_save_LIBS" + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$ax_blas_ok" = xyes; then + +printf "%s\n" "#define HAVE_BLAS 1" >>confdefs.h + + : +else + ax_blas_ok=no + +fi + + + +ax_lapack_ok=no + + +# Check whether --with-lapack was given. +if test ${with_lapack+y} +then : + withval=$with_lapack; +fi + +case $with_lapack in + yes | "") ;; + no) ax_lapack_ok=disable ;; + -* | */* | *.a | *.so | *.so.* | *.dylib | *.dylib.* | *.o) + LAPACK_LIBS="$with_lapack" + ;; + *) LAPACK_LIBS="-l$with_lapack" ;; +esac + +# Get fortran linker name of LAPACK function to check for. +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +case $ac_cv_f77_mangling in + upper*) ac_val="CHEEV" ;; + lower*) ac_val="cheev" ;; + *) ac_val="unknown" ;; +esac +case $ac_cv_f77_mangling in *," underscore"*) ac_val="$ac_val"_ ;; esac + +cheev="$ac_val" + +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 + + +# We cannot use LAPACK if BLAS is not found +if test "x$ax_blas_ok" != xyes; then + ax_lapack_ok=noblas + LAPACK_LIBS="" +fi + +# First, check LAPACK_LIBS environment variable +if test "x$LAPACK_LIBS" != x; then + save_LIBS="$LIBS"; LIBS="$LAPACK_LIBS $BLAS_LIBS $LIBS $FLIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $cheev in $LAPACK_LIBS" >&5 +printf %s "checking for $cheev in $LAPACK_LIBS... " >&6; } + 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. */ +char $cheev (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $cheev (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ax_lapack_ok=yes +else $as_nop + LAPACK_LIBS="" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_lapack_ok" >&5 +printf "%s\n" "$ax_lapack_ok" >&6; } + LIBS="$save_LIBS" + if test $ax_lapack_ok = no; then + LAPACK_LIBS="" + fi +fi + +# LAPACK linked to by default? (is sometimes included in BLAS lib) +if test $ax_lapack_ok = no; then + save_LIBS="$LIBS"; LIBS="$LIBS $BLAS_LIBS $FLIBS" + as_ac_var=`printf "%s\n" "ac_cv_func_$cheev" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$cheev" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes" +then : + ax_lapack_ok=yes +fi + + LIBS="$save_LIBS" +fi + +# Generic LAPACK library? +for lapack in lapack lapack_rs6k; do + if test $ax_lapack_ok = no; then + save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS" + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$lapack""_$cheev" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $cheev in -l$lapack" >&5 +printf %s "checking for $cheev in -l$lapack... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-l$lapack $FLIBS $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. */ +char $cheev (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $cheev (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_lapack_ok=yes; LAPACK_LIBS="-l$lapack" +fi + + LIBS="$save_LIBS" + fi +done + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$ax_lapack_ok" = xyes; then + +printf "%s\n" "#define HAVE_LAPACK 1" >>confdefs.h + + : +else + ax_lapack_ok=no + +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + +# Find MPI + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-galaxia $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-galaxia config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + diff --git a/src/amuse_galaxia/support/configure.ac b/src/amuse_galaxia/support/configure.ac new file mode 100644 index 0000000000..9f1d82ee23 --- /dev/null +++ b/src/amuse_galaxia/support/configure.ac @@ -0,0 +1,31 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-galaxia], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Find the compiler +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + +# Find AMUSE libraries +AMUSE_LIB_FORSOCKETS() + +# The AX_LAPACK macro (which also calls AX_BLAS) is designed to be called by a C wrapper +# So, we need to do this is order to detect blas/lapack even if we have a pure fortran code +AC_LANG_PUSH([C]) +AX_LAPACK() +AC_LANG_POP([C]) + +AC_LANG_PUSH([Fortran]) + +# Find MPI +AX_MPI() + +AC_LANG_POP([Fortran]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT diff --git a/src/amuse_galaxia/support/shared b/src/amuse_galaxia/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_galaxia/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_galaxia.py b/src/amuse_galaxia/tests/test_galaxia.py similarity index 84% rename from src/amuse/test/suite/codes_tests/test_galaxia.py rename to src/amuse_galaxia/tests/test_galaxia.py index a4741c7d2b..7e15297b38 100644 --- a/src/amuse/test/suite/codes_tests/test_galaxia.py +++ b/src/amuse_galaxia/tests/test_galaxia.py @@ -1,7 +1,7 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import units, nbody_system, constants -from amuse.community.galaxia.interface import BarAndSpirals3D +from amuse_galaxia.interface import BarAndSpirals3D class TestBarAndSpirals3D(amusetest.TestCase): diff --git a/src/amuse/community/hacs64/Makefile b/src/amuse_hacs64/Makefile similarity index 100% rename from src/amuse/community/hacs64/Makefile rename to src/amuse_hacs64/Makefile diff --git a/src/amuse_hacs64/__init__.py b/src/amuse_hacs64/__init__.py new file mode 100644 index 0000000000..8fc22e685b --- /dev/null +++ b/src/amuse_hacs64/__init__.py @@ -0,0 +1,2 @@ +# generated file +from .interface import Hacs64 diff --git a/src/amuse/community/hacs64/interface.cc b/src/amuse_hacs64/interface.cc similarity index 100% rename from src/amuse/community/hacs64/interface.cc rename to src/amuse_hacs64/interface.cc diff --git a/src/amuse_hacs64/interface.py b/src/amuse_hacs64/interface.py new file mode 100644 index 0000000000..0fc628b0d7 --- /dev/null +++ b/src/amuse_hacs64/interface.py @@ -0,0 +1,356 @@ +from amuse.community import * +from amuse.community.interface.gd import GravitationalDynamics +from amuse.community.interface.gd import GravitationalDynamicsInterface + +# *** This script, together with the defaults in +# *** GravitationalDynamicsInterface, will be used to generate both +# *** the header file interface.h and the stub interface.cc. Since +# *** interface.cc has been hand-coded to implement the details, +# *** MAKE SURE TO SAVE IT SOMEWHERE, as build.py can overwrite it! + +class Hacs64Interface(CodeInterface, GravitationalDynamicsInterface, StoppingConditionInterface): + """ + HACS64, GPU-accelerated Hermite Ahmad-Cohen Scheme + 6th order irregular & 4th order regular step + """ + + # Interface specification. + + include_headers = ['interface.h', 'stopcond.h'] + + MODE_GPU = 'gpu' + MODE_CPU = 'cpu' + + def __init__(self, mode = MODE_CPU, **options): + CodeInterface.__init__( + self, + name_of_the_worker=self.name_of_the_muse_worker(mode), + **options + ) + + # Inheritance from GravitationalDynamicsInterface means that + # functions in the standard interface don't need to be defined. + # See interface.py.2 for a laboriously hand-coded version written + # before I discovered this fact! (Steve McMillan, 10/10) + + # Additional functions defined here will be reflected in + # interface.h and must be provided in interface.cc in order for + # ph4_worker to build. + + # The following functions aren't defined in the default interface: + + def name_of_the_muse_worker(self, mode): + if mode == self.MODE_CPU: + return 'hacs64_worker' + elif mode == self.MODE_GPU: + return 'hacs64_worker_gpu' + else: + return 'hacs64_worker' + + @legacy_function + def get_number_of_particles_updated(): + """ + Return the number of particles added or deleted during the last evolve. + """ + function = LegacyFunctionSpecification() + function.addParameter('index', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_id_of_updated_particle(): + """ + Return the number of particles added or deleted during the last evolve. + """ + function = LegacyFunctionSpecification() + function.addParameter('index_of_update', dtype='int32', + direction=function.IN, + description = 'index in the updated particles list') + function.addParameter('index_of_particle', dtype='int32', + direction=function.OUT) + function.addParameter('kind_of_update', dtype='int32', + direction=function.OUT, + description = 'kind of update (2, addition), (1, deletion)') + function.can_handle_array = True + function.result_type = 'int32' + return function + + @legacy_function + def set_nmax(): + """ + Set the current time step parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('nmax', dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_nmax(): + """ + Set the current system time step parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('nmax', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_dtmax(): + """ + Set the current time step parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('dtmax', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_dtmax(): + """ + Set the current system time step parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('dtmax', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_h2max(): + """ + Set the current time step parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('h2max', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_h2max(): + """ + Set the current system time step parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('h2max', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_eta_reg(): + """ + Set the current time step parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('eta_reg', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_eta_reg(): + """ + Set the current system time step parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('eta_reg', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_eta_irr(): + """ + Set the current time step parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('eta_irr', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_eta_irr(): + """ + Set the current system time step parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('eta_irr', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + + +class Hacs64(GravitationalDynamics): + + # The actual module. + + def __init__(self, convert_nbody = None, **keyword_arguments): + + legacy_interface = Hacs64Interface(**keyword_arguments) + + self.stopping_conditions = StoppingConditions(self) + + GravitationalDynamics.__init__(self, + legacy_interface, + convert_nbody, + **keyword_arguments) + + def define_parameters(self, handler): + + # Set/get parameters specific to the module, not part of the + # standard interface. Accessors used here must be defined + # above and reflected in interface.cc. Python access is + # (e.g.) + # + # ph4.parameters.timestep_parameter = xxx + + handler.add_method_parameter( + "get_nmax", # getter name in interface.cc + "set_nmax", # setter name in interface.cc + "nmax", # python parameter name + "maximal number of particles", # description + default_value = -1 # default + ) + + handler.add_method_parameter( + "get_dtmax", # getter name in interface.cc + "set_dtmax", # setter name in interface.cc + "dtmax", # python parameter name + "maximal timestep", # description + default_value = 0.0625 | nbody_system.time # default + ) + + handler.add_method_parameter( + "get_h2max", # getter name in interface.cc + "set_h2max", # setter name in interface.cc + "h2max", # python parameter name + "maximal neighbour radius squared", # description + default_value = 0.5 | nbody_system.length*nbody_system.length # default + ) + + handler.add_method_parameter( + "get_eta_reg", # getter name in interface.cc + "set_eta_reg", # setter name in interface.cc + "eta_reg", # python parameter name + "regular timestep parameter", # description + default_value = 0.1 # default + ) + + handler.add_method_parameter( + "get_eta_irr", # getter name in interface.cc + "set_eta_irr", # setter name in interface.cc + "eta_irr", # python parameter name + "irregular timestep parameter", # description + default_value = 0.6 + ) + + handler.add_method_parameter( + "get_eps2", # already defined in standard interface + "set_eps2", # already defined in standard interface + "eps2", # python parameter name + "smoothing parameter for gravity calculations", + default_value = 0.0 | nbody_system.length * nbody_system.length + ) + + handler.add_method_parameter( + "get_begin_time", + "set_begin_time", + "begin_time", + "model time to start the simulation at", + default_value = 0.0 | nbody_system.time + ) + + self.stopping_conditions.define_parameters(handler) + + def update_particle_set(self): + """ + update the particle set after changes in the code + + this implementation needs to move to the + amuse.datamodel.incode_storage module, as + it uses a lot of internal methods and info! + + """ + number_of_updated_particles = self.get_number_of_particles_updated() + + if number_of_updated_particles == 0: + return + + indices_in_update_list = list(range(number_of_updated_particles)) + particle_indices, updates = self.get_id_of_updated_particle(indices_in_update_list) + + incode_storage = self.particles._private.attribute_storage + + indices_to_remove = [] + indices_to_add = [] + for index, status in zip(particle_indices, updates): + if status == 1: # deletion + indices_to_remove.append(index) + elif status == 2: # addition + indices_to_add.append(index) + + print('') + print("indices_to_remove:", indices_to_remove) + print("indices_to_add:", indices_to_add) + + if len(indices_to_remove) > 0: + incode_storage._remove_indices(indices_to_remove) + if len(indices_to_add) > 0: + incode_storage._add_indices(indices_to_add) + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + + # Similarly, we can add module-specific methods, if desired. + # See hermite0/interface.py for examples. + + handler.add_method("get_nmax", (), + (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_nmax", (handler.NO_UNIT, ), + (handler.ERROR_CODE,)) + + handler.add_method("get_dtmax", (), + (nbody_system.time, handler.ERROR_CODE,)) + handler.add_method("set_dtmax", (nbody_system.time, ), + (handler.ERROR_CODE,)) + + handler.add_method("get_h2max", (), + (nbody_system.length*nbody_system.length, handler.ERROR_CODE,)) + handler.add_method("set_h2max", (nbody_system.length*nbody_system.length, ), + (handler.ERROR_CODE,)) + + handler.add_method("get_eta_irr", (), + (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_eta_irr", (handler.NO_UNIT, ), + (handler.ERROR_CODE,)) + + handler.add_method("get_eta_reg", (), + (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_eta_reg", (handler.NO_UNIT, ), + (handler.ERROR_CODE,)) + + handler.add_method("get_eps2", (), + (nbody_system.length * nbody_system.length, handler.ERROR_CODE,)) + handler.add_method("set_eps2", (nbody_system.length * nbody_system.length, ), + (handler.ERROR_CODE,)) + + self.stopping_conditions.define_methods(handler) + + + def define_particle_sets(self, handler): + GravitationalDynamics.define_particle_sets(self, handler) + + self.stopping_conditions.define_particle_set(handler) + + def define_state(self, handler): + GravitationalDynamics.define_state(self, handler) + + self.stopping_conditions.define_state(handler) diff --git a/src/amuse_hacs64/packages/amuse-hacs64/amuse-hacs64-cuda.amuse_deps b/src/amuse_hacs64/packages/amuse-hacs64/amuse-hacs64-cuda.amuse_deps new file mode 100644 index 0000000000..e9059f80d1 --- /dev/null +++ b/src/amuse_hacs64/packages/amuse-hacs64/amuse-hacs64-cuda.amuse_deps @@ -0,0 +1 @@ +issue_1106 diff --git a/src/amuse_hacs64/packages/amuse-hacs64/amuse_hacs64 b/src/amuse_hacs64/packages/amuse-hacs64/amuse_hacs64 new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_hacs64/packages/amuse-hacs64/amuse_hacs64 @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse/community/hacs64/src/Energy.h b/src/amuse_hacs64/src/Energy.h similarity index 100% rename from src/amuse/community/hacs64/src/Energy.h rename to src/amuse_hacs64/src/Energy.h diff --git a/src/amuse/community/hacs64/src/Makefile b/src/amuse_hacs64/src/Makefile similarity index 100% rename from src/amuse/community/hacs64/src/Makefile rename to src/amuse_hacs64/src/Makefile diff --git a/src/amuse/community/hacs64/src/Makefile.cpu b/src/amuse_hacs64/src/Makefile.cpu similarity index 100% rename from src/amuse/community/hacs64/src/Makefile.cpu rename to src/amuse_hacs64/src/Makefile.cpu diff --git a/src/amuse/community/hacs64/src/Makefile.gpu b/src/amuse_hacs64/src/Makefile.gpu similarity index 100% rename from src/amuse/community/hacs64/src/Makefile.gpu rename to src/amuse_hacs64/src/Makefile.gpu diff --git a/src/amuse/community/hacs64/src/NGBlist.h b/src/amuse_hacs64/src/NGBlist.h similarity index 100% rename from src/amuse/community/hacs64/src/NGBlist.h rename to src/amuse_hacs64/src/NGBlist.h diff --git a/src/amuse/community/hacs64/src/ON_neib/boundary.h b/src/amuse_hacs64/src/ON_neib/boundary.h similarity index 100% rename from src/amuse/community/hacs64/src/ON_neib/boundary.h rename to src/amuse_hacs64/src/ON_neib/boundary.h diff --git a/src/amuse/community/hacs64/src/ON_neib/direct.cpp b/src/amuse_hacs64/src/ON_neib/direct.cpp similarity index 100% rename from src/amuse/community/hacs64/src/ON_neib/direct.cpp rename to src/amuse_hacs64/src/ON_neib/direct.cpp diff --git a/src/amuse/community/hacs64/src/ON_neib/gen_table.c b/src/amuse_hacs64/src/ON_neib/gen_table.c similarity index 100% rename from src/amuse/community/hacs64/src/ON_neib/gen_table.c rename to src/amuse_hacs64/src/ON_neib/gen_table.c diff --git a/src/amuse/community/hacs64/src/ON_neib/key_table b/src/amuse_hacs64/src/ON_neib/key_table similarity index 100% rename from src/amuse/community/hacs64/src/ON_neib/key_table rename to src/amuse_hacs64/src/ON_neib/key_table diff --git a/src/amuse/community/hacs64/src/ON_neib/main.cpp b/src/amuse_hacs64/src/ON_neib/main.cpp similarity index 100% rename from src/amuse/community/hacs64/src/ON_neib/main.cpp rename to src/amuse_hacs64/src/ON_neib/main.cpp diff --git a/src/amuse/community/hacs64/src/ON_neib/morton_key.h b/src/amuse_hacs64/src/ON_neib/morton_key.h similarity index 100% rename from src/amuse/community/hacs64/src/ON_neib/morton_key.h rename to src/amuse_hacs64/src/ON_neib/morton_key.h diff --git a/src/amuse/community/hacs64/src/ON_neib/node.h b/src/amuse_hacs64/src/ON_neib/node.h similarity index 100% rename from src/amuse/community/hacs64/src/ON_neib/node.h rename to src/amuse_hacs64/src/ON_neib/node.h diff --git a/src/amuse/community/hacs64/src/ON_neib/particle.h b/src/amuse_hacs64/src/ON_neib/particle.h similarity index 100% rename from src/amuse/community/hacs64/src/ON_neib/particle.h rename to src/amuse_hacs64/src/ON_neib/particle.h diff --git a/src/amuse/community/hacs64/src/ON_neib/vector3.h b/src/amuse_hacs64/src/ON_neib/vector3.h similarity index 100% rename from src/amuse/community/hacs64/src/ON_neib/vector3.h rename to src/amuse_hacs64/src/ON_neib/vector3.h diff --git a/src/amuse/community/hacs64/src/ON_neib/wtime.h b/src/amuse_hacs64/src/ON_neib/wtime.h similarity index 100% rename from src/amuse/community/hacs64/src/ON_neib/wtime.h rename to src/amuse_hacs64/src/ON_neib/wtime.h diff --git a/src/amuse/community/hacs64/src/Scheduler.h b/src/amuse_hacs64/src/Scheduler.h similarity index 100% rename from src/amuse/community/hacs64/src/Scheduler.h rename to src/amuse_hacs64/src/Scheduler.h diff --git a/src/amuse/community/hacs64/src/Timer.h b/src/amuse_hacs64/src/Timer.h similarity index 100% rename from src/amuse/community/hacs64/src/Timer.h rename to src/amuse_hacs64/src/Timer.h diff --git a/src/amuse/community/hacs64/src/hacs4_force.h b/src/amuse_hacs64/src/hacs4_force.h similarity index 100% rename from src/amuse/community/hacs64/src/hacs4_force.h rename to src/amuse_hacs64/src/hacs4_force.h diff --git a/src/amuse/community/hacs64/src/hacs64.h b/src/amuse_hacs64/src/hacs64.h similarity index 100% rename from src/amuse/community/hacs64/src/hacs64.h rename to src/amuse_hacs64/src/hacs64.h diff --git a/src/amuse/community/hacs64/src/hacs64_amuse.cpp b/src/amuse_hacs64/src/hacs64_amuse.cpp similarity index 100% rename from src/amuse/community/hacs64/src/hacs64_amuse.cpp rename to src/amuse_hacs64/src/hacs64_amuse.cpp diff --git a/src/amuse/community/hacs64/src/hacs64_particle.h b/src/amuse_hacs64/src/hacs64_particle.h similarity index 100% rename from src/amuse/community/hacs64/src/hacs64_particle.h rename to src/amuse_hacs64/src/hacs64_particle.h diff --git a/src/amuse/community/hacs64/src/hacs6_force.h b/src/amuse_hacs64/src/hacs6_force.h similarity index 100% rename from src/amuse/community/hacs64/src/hacs6_force.h rename to src/amuse_hacs64/src/hacs6_force.h diff --git a/src/amuse/community/hacs64/src/hacsf6.cpp b/src/amuse_hacs64/src/hacsf6.cpp similarity index 100% rename from src/amuse/community/hacs64/src/hacsf6.cpp rename to src/amuse_hacs64/src/hacsf6.cpp diff --git a/src/amuse/community/hacs64/src/integrate.cpp b/src/amuse_hacs64/src/integrate.cpp similarity index 100% rename from src/amuse/community/hacs64/src/integrate.cpp rename to src/amuse_hacs64/src/integrate.cpp diff --git a/src/amuse/community/hacs64/src/irrf6.cpp b/src/amuse_hacs64/src/irrf6.cpp similarity index 100% rename from src/amuse/community/hacs64/src/irrf6.cpp rename to src/amuse_hacs64/src/irrf6.cpp diff --git a/src/amuse/community/hacs64/src/irrf6.h b/src/amuse_hacs64/src/irrf6.h similarity index 100% rename from src/amuse/community/hacs64/src/irrf6.h rename to src/amuse_hacs64/src/irrf6.h diff --git a/src/amuse/community/hacs64/src/kdtree.cpp b/src/amuse_hacs64/src/kdtree.cpp similarity index 100% rename from src/amuse/community/hacs64/src/kdtree.cpp rename to src/amuse_hacs64/src/kdtree.cpp diff --git a/src/amuse/community/hacs64/src/kdtree.h b/src/amuse_hacs64/src/kdtree.h similarity index 100% rename from src/amuse/community/hacs64/src/kdtree.h rename to src/amuse_hacs64/src/kdtree.h diff --git a/src/amuse/community/hacs64/src/localassert.h b/src/amuse_hacs64/src/localassert.h similarity index 100% rename from src/amuse/community/hacs64/src/localassert.h rename to src/amuse_hacs64/src/localassert.h diff --git a/src/amuse/community/hacs64/src/regf4.cpp b/src/amuse_hacs64/src/regf4.cpp similarity index 100% rename from src/amuse/community/hacs64/src/regf4.cpp rename to src/amuse_hacs64/src/regf4.cpp diff --git a/src/amuse/community/hacs64/src/regf4.h b/src/amuse_hacs64/src/regf4.h similarity index 100% rename from src/amuse/community/hacs64/src/regf4.h rename to src/amuse_hacs64/src/regf4.h diff --git a/src/amuse/community/hacs64/src/regf4_cu/cuda_pointer.h b/src/amuse_hacs64/src/regf4_cu/cuda_pointer.h similarity index 100% rename from src/amuse/community/hacs64/src/regf4_cu/cuda_pointer.h rename to src/amuse_hacs64/src/regf4_cu/cuda_pointer.h diff --git a/src/amuse/community/hacs64/src/regf4_cu/cutil.h b/src/amuse_hacs64/src/regf4_cu/cutil.h similarity index 100% rename from src/amuse/community/hacs64/src/regf4_cu/cutil.h rename to src/amuse_hacs64/src/regf4_cu/cutil.h diff --git a/src/amuse/community/hacs64/src/regf4_cu/dev_regf4.cu b/src/amuse_hacs64/src/regf4_cu/dev_regf4.cu similarity index 100% rename from src/amuse/community/hacs64/src/regf4_cu/dev_regf4.cu rename to src/amuse_hacs64/src/regf4_cu/dev_regf4.cu diff --git a/src/amuse/community/hacs64/src/regf4_cu/regf4.cu b/src/amuse_hacs64/src/regf4_cu/regf4.cu similarity index 100% rename from src/amuse/community/hacs64/src/regf4_cu/regf4.cu rename to src/amuse_hacs64/src/regf4_cu/regf4.cu diff --git a/src/amuse/community/hacs64/src/regf6.cpp b/src/amuse_hacs64/src/regf6.cpp similarity index 100% rename from src/amuse/community/hacs64/src/regf6.cpp rename to src/amuse_hacs64/src/regf6.cpp diff --git a/src/amuse/community/hacs64/src/regf6.h b/src/amuse_hacs64/src/regf6.h similarity index 100% rename from src/amuse/community/hacs64/src/regf6.h rename to src/amuse_hacs64/src/regf6.h diff --git a/src/amuse/community/hacs64/src/vector3.h b/src/amuse_hacs64/src/vector3.h similarity index 100% rename from src/amuse/community/hacs64/src/vector3.h rename to src/amuse_hacs64/src/vector3.h diff --git a/src/amuse/community/hacs64/test_hacs.py b/src/amuse_hacs64/test_hacs.py similarity index 100% rename from src/amuse/community/hacs64/test_hacs.py rename to src/amuse_hacs64/test_hacs.py diff --git a/src/amuse/community/hacs64/test_multiples.py b/src/amuse_hacs64/test_multiples.py similarity index 100% rename from src/amuse/community/hacs64/test_multiples.py rename to src/amuse_hacs64/test_multiples.py diff --git a/src/amuse_halogen/Makefile b/src/amuse_halogen/Makefile new file mode 100644 index 0000000000..ca9ac8b78a --- /dev/null +++ b/src/amuse_halogen/Makefile @@ -0,0 +1,66 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + +# Building the code into a static library +LDLIBS += -lm + +CODELIB = src/libhalogen.a + +.PHONY: $(CODELIB) +$(CODELIB): + $(MAKE) -C src -j $(CPU_COUNT) all CC='$(CC)' + +interface.o: interface.cc halogen_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + +# Building the workers +halogen_worker.h: interface.py + amusifier --type=h interface.py HalogenInterface -o $@ + +halogen_worker.cc: interface.py + amusifier --type=c interface.py HalogenInterface -o $@ + +halogen_worker.o: halogen_worker.cc halogen_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + +halogen_worker: halogen_worker.o interface.o $(CODELIB) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + + +# Which packages contain which workers? +amuse-halogen_contains: halogen_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + diff --git a/src/amuse_halogen/__init__.py b/src/amuse_halogen/__init__.py new file mode 100644 index 0000000000..9351926392 --- /dev/null +++ b/src/amuse_halogen/__init__.py @@ -0,0 +1,2 @@ +# generated file +from .interface import Halogen diff --git a/src/amuse_halogen/interface.cc b/src/amuse_halogen/interface.cc new file mode 100644 index 0000000000..dc91798e9e --- /dev/null +++ b/src/amuse_halogen/interface.cc @@ -0,0 +1,444 @@ +#include "interface.h" +#include "halogen_worker.h" +#define MAXLEN_PATH 250 + +// Default parameters: +INT randomseed = 42; + +// Other globals: +INT outputgridr, outputgriddf; +DOUBLE t0, t1, t2, t3, t4, t5, t6, t7; +PARTICLE *bh; +SI *halo; +GI *gi; +CHAR FILENAME[STRINGSIZE + MAXLEN_PATH + 20], INPUTNAME[STRINGSIZE + MAXLEN_PATH]; +FILE *file; + +int commit_parameters_result; +double input_cutoff_radius = -1; +bool particles_generated = false; +bool write_output = false; +CHAR output_path[MAXLEN_PATH]; /*!< output directory of the code */ +CHAR output_basename[STRINGSIZE]; /*!< basename of output files */ + +/* + * Interface code for the stripped-down version of HALOGEN for the AMUSE project + */ + +int initialize_code(){ + t0 = ((DOUBLE) clock())/((DOUBLE) CLOCKS_PER_SEC); + initialise_fixed_structures(&bh, &halo, &gi); + set_standard_values_for_parameters(&outputgridr, &outputgriddf, gi, halo); + halo->p = NULL; + strcpy(output_path, "./"); + strcpy(output_basename, "halogen"); + strcpy(INPUTNAME, output_path); + strcat(INPUTNAME, output_basename); + initialise_black_hole(bh); + initialise_parameters(halo); + return 0; +} + +int cleanup_code(){ + free(bh); + free(halo->sp); + free(halo->griddf); + free(halo->p); + free(halo); + free(gi->stuff); + free(gi->gridr); + free(gi); + return 0; +} + +int commit_parameters(){ + commit_parameters_result = 0; + fprintf(stderr,"Checking parameters, calculating halo properties and initialising grid in r... \n"); + srand48(randomseed); + halo->sp->rcutoff = input_cutoff_radius; + + /* + ** Check main input parameters + */ + + if (strcmp(INPUTNAME, "none") == 0) { + fprintf(stderr,"You have not set a name for the output model.\n"); + usage(); + } + if ((NGRIDR-1) % (NGRIDDF-1) != 0) { + fprintf(stderr,"Bad choice of NGRIDR and NGRIDDF!\n"); + fprintf(stderr,"These numbers have to fulfill the condition (NGRIDR-1) mod (NGRIDDF-1) == 0.\n"); + usage(); + } + + check_main_parameters(halo); + if (commit_parameters_result) return commit_parameters_result; + calculate_parameters(gi,halo); + if (commit_parameters_result) return commit_parameters_result; + initialise_all_grids(gi, bh, halo, outputgridr, outputgriddf, t0, &t1, FILENAME, INPUTNAME); + if (commit_parameters_result) return commit_parameters_result; + initialise_structure(gi,halo); + t2 = ((DOUBLE) clock())/((DOUBLE) CLOCKS_PER_SEC); + fprintf(stderr,"Done in " OFD1 " seconds.\n",t2-t1); + return commit_parameters_result; +} + +int recommit_parameters(){ + free(halo->p); + return commit_parameters(); +} + +int generate_particles(){ + INT i, j, index; + + // Set particle positions + fprintf(stderr,"Setting particle positions... \n"); + set_positions(halo); + + // Set particle velocities + t3 = ((DOUBLE) clock())/((DOUBLE) CLOCKS_PER_SEC); + fprintf(stderr,"Done in " OFD1 " seconds.\nSetting particle velocities... \n",t3-t2); + set_velocities(gi,halo); + + // Set remaining attributes + t4 = ((DOUBLE) clock())/((DOUBLE) CLOCKS_PER_SEC); + fprintf(stderr,"Done in " OFD1 " seconds.\nSetting remaining particle attributes... \n",t4-t3); + set_attributes(gi,halo); + + // Calculate a few things and do center of mass correction + t5 = ((DOUBLE) clock())/((DOUBLE) CLOCKS_PER_SEC); + fprintf(stderr,"Done in " OFD1 " seconds\nCalculating a few things, doing mass scaling and correct center of mass position and velocity... \n",t5-t4); + double_particles(halo); + calculate_stuff(gi,bh,halo); + + // Write Output + if (write_output) { + t6 = ((DOUBLE) clock())/((DOUBLE) CLOCKS_PER_SEC); + fprintf(stderr,"Done in " OFD1 " seconds\nWriting Output... \n",t6-t5); + + sprintf(FILENAME,"%s.IC.ascii",INPUTNAME); + file = fopen(FILENAME,"w"); + + index = 1; + if (bh->mass != 0) { + assert(fprintf(file,OFI1" ",index) > 0); + assert(fprintf(file,OFD5" ",bh->mass) > 0); + for (j = 0; j < 3; j++) { + assert(fprintf(file,OFD6" ",bh->r[j+1]) > 0); + } + for (j = 0; j < 3; j++) { + assert(fprintf(file,OFD6" ",bh->v[j+1]) > 0); + } + assert(fprintf(file,"\n") > 0); + index++; + } + for (i = 0; i < halo->N; i++) { + assert(fprintf(file,OFI1" ",index) > 0); + assert(fprintf(file,OFD5" ",halo->p[i].mass) > 0); + for (j = 0; j < 3; j++) { + assert(fprintf(file,OFD6" ",halo->p[i].r[j+1]) > 0); + } + for (j = 0; j < 3; j++) { + assert(fprintf(file,OFD6" ",halo->p[i].v[j+1]) > 0); + } + assert(fprintf(file,"\n") > 0); + index++; + } + fclose(file); + + /* + ** Print some output in file + */ + + sprintf(FILENAME,"%s.out",INPUTNAME); + file = fopen(FILENAME,"w"); + assert(file != NULL); + fprintf(file,"HALOGEN4MUSE by Marcel Zemp / Version 30. August 2007\n\n"); + fprintf(file,"Command line\n\n"); + //for (i = 0; i < argc; i++) fprintf(file,"%s ",argv[i]); + fprintf(file,"N/A (executed by AMUSE)"); + fprintf(file,"\n\n"); + fprintf(file,"Model properties\n\n"); + fprintf(file,"alpha = " OFD1 "\n",halo->sp->alpha); + fprintf(file,"beta = " OFD1 "\n",halo->sp->beta); + fprintf(file,"gamma = " OFD1 "\n",halo->sp->gamma); + fprintf(file,"rho0 = " OFD3 " MU LU^-3\n",halo->sp->rho0); + fprintf(file,"\n"); + if (bh->mass > 0) { + fprintf(file,"MBH = " OFD3 " MU\n",bh->mass); + fprintf(file,"\n"); + } + fprintf(file,"rs = " OFD3 " LU\n",halo->sp->rs); + fprintf(file,"rhalf = " OFD3 " LU\n",halo->sp->rhalf); + fprintf(file,"rvir = " OFD3 " LU\n",halo->sp->rvir); + fprintf(file,"rinner = " OFD3 " LU\n",gi->rinner); + fprintf(file,"router = " OFD3 " LU\n",gi->router); + if (halo->sp->rcutoff != SBI) { + fprintf(file,"rcutoff = " OFD3 " LU\n",halo->sp->rcutoff); + fprintf(file,"rdecay = " OFD3 " LU\n",halo->sp->rdecay); + } + fprintf(file,"\n"); + fprintf(file,"M(rs) = " OFD3 " MU\n",Menc(halo->sp->rs,gi)); + fprintf(file,"M(rhalf) = " OFD3 " MU\n",Menc(halo->sp->rhalf,gi)); + fprintf(file,"M(rvir) = " OFD3 " MU\n",Menc(halo->sp->rvir,gi)); + fprintf(file,"M(rinner) = " OFD3 " MU\n",Menc(gi->rinner,gi)); + fprintf(file,"M(router) = " OFD3 " MU\n",Menc(gi->router,gi)); + if (halo->sp->rcutoff != SBI) { + fprintf(file,"M(rcutoff) = " OFD3 " MU\n",Menc(halo->sp->rcutoff,gi)); + } + fprintf(file,"\n"); + fprintf(file,"Sampling properties\n\n"); + fprintf(file,"|Cr| = " OFD3 " MU Cr = (" OFD4 ", " OFD4 ", " OFD4 ") MU\n",gi->stuff->Cr[0],gi->stuff->Cr[1],gi->stuff->Cr[2],gi->stuff->Cr[3]); + fprintf(file,"|Cv| = " OFD3 " MU TU^-1 Cv = (" OFD4 ", " OFD4 ", " OFD4 ") MU TU^-1\n",gi->stuff->Cv[0],gi->stuff->Cv[1],gi->stuff->Cv[2],gi->stuff->Cv[3]); + fprintf(file,"\n"); + fprintf(file,"Etot = " OFD4 " MU LU^2 TU^-2\n",gi->stuff->Etot); + fprintf(file,"Ekin = " OFD4 " MU LU^2 TU^-2\n",gi->stuff->Ekin); + fprintf(file,"Epot = " OFD4 " MU LU^2 TU^-2\n",gi->stuff->Epot); + fprintf(file,"Rvir = |2*Ekin/Epot| = %g\n",fabs(2*gi->stuff->Ekin/gi->stuff->Epot)); + fprintf(file,"\n"); + fprintf(file,"Ntot = " OFD3 " = " OFI1 "\n",(DOUBLE)gi->stuff->N,gi->stuff->N); + fprintf(file,"rimp = " OFD3 " LU\n",halo->rimp); + fprintf(file,"r1 = " OFD3 " LU\n",halo->r1); + fprintf(file,"r100 = " OFD3 " LU\n",halo->r100); + fprintf(file,"Mtheo = " OFD3 " MU\n",bh->mass + halo->sp->M); + fprintf(file,"Msamp = " OFD3 " MU\n",gi->stuff->Mp); + fprintf(file,"(Msamp-Mtheo)/Mtheo = " OFD3 "\n",gi->stuff->Mp/(bh->mass + halo->sp->M)-1.0); + fprintf(file,"Random seed = " OFI1 "\n",randomseed); + fprintf(file,"\n"); + fprintf(file,"Times for individual steps\n\n"); + fprintf(file,"Calculation of halo properties and initialisation of grid in r: " OFD1 " seconds.\n",t1-t0); + fprintf(file,"Initialisation of grid for distribution function: " OFD1 " seconds.\n",t2-t1); + fprintf(file,"Setting particle positions: " OFD1 " seconds\n",t3-t2); + fprintf(file,"Setting particle velocities: " OFD1 " seconds\n",t4-t3); + fprintf(file,"Setting remaining particle attributes: " OFD1 " seconds\n",t5-t4); + fprintf(file,"Calculating a few things and correct center of mass: " OFD1 " seconds\n",t6-t5); + t7 = ((DOUBLE) clock())/((DOUBLE) CLOCKS_PER_SEC); + fprintf(file,"Writing output: " OFD1 " seconds\n",t7-t6); + fprintf(file,"Total time: " OFD1 " seconds\n",t7-t0); + fclose(file); + } else { // in case no output is written + t6 = t5; + t7 = ((DOUBLE) clock())/((DOUBLE) CLOCKS_PER_SEC); + } + + fprintf(stderr,"Done in " OFD1 " seconds\nTotal time needed was " OFD1 " seconds\n",t7-t6,t7-t0); + + particles_generated = true; + return 0; +} + +int get_number_of_particles_updated(int *number_of_particles_updated){ + if (!particles_generated) + *number_of_particles_updated = 0; + else { + if (bh->mass > 0) + *number_of_particles_updated = halo->N0 + 1; + else + *number_of_particles_updated = halo->N0; + particles_generated = false; + } + return 0; +} + +int get_mass(int index_of_the_particle, double *mass){ + if (index_of_the_particle >= halo->N0){ + if (index_of_the_particle == halo->N0 && bh->mass > 0){ + *mass = bh->mass; + return 0; + } else return -1; + } + *mass = halo->p[index_of_the_particle].mass; + return 0; +} + +int get_position(int index_of_the_particle, double *x, double *y, double *z){ + if (index_of_the_particle >= halo->N0){ + if (index_of_the_particle == halo->N0 && bh->mass > 0){ + *x = bh->r[1]; + *y = bh->r[2]; + *z = bh->r[3]; + return 0; + } else return -1; + } + *x = halo->p[index_of_the_particle].r[1]; + *y = halo->p[index_of_the_particle].r[2]; + *z = halo->p[index_of_the_particle].r[3]; + return 0; +} + +int get_velocity(int index_of_the_particle, double *vx, double *vy, double *vz){ + if (index_of_the_particle >= halo->N0){ + if (index_of_the_particle == halo->N0 && bh->mass > 0){ + *vx = bh->v[1]; + *vy = bh->v[2]; + *vz = bh->v[3]; + return 0; + } else return -1; + } + *vx = halo->p[index_of_the_particle].v[1]; + *vy = halo->p[index_of_the_particle].v[2]; + *vz = halo->p[index_of_the_particle].v[3]; + return 0; +} + + +// Parameters + +int get_model_alpha(double *model_alpha){ + *model_alpha = halo->sp->alpha; + return 0; +} +int set_model_alpha(double model_alpha){ + halo->sp->alpha = model_alpha; + return 0; +} + +int get_model_beta(double *model_beta){ + *model_beta = halo->sp->beta; + return 0; +} +int set_model_beta(double model_beta){ + halo->sp->beta = model_beta; + return 0; +} + +int get_model_gamma(double *model_gamma){ + *model_gamma = halo->sp->gamma; + return 0; +} +int set_model_gamma(double model_gamma){ + halo->sp->gamma = model_gamma; + return 0; +} + +int get_total_mass(double *total_mass){ + *total_mass = halo->sp->M; + return 0; +} +int set_total_mass(double total_mass){ + halo->sp->M = total_mass; + return 0; +} + +int get_scale_radius(double *scale_radius){ + *scale_radius = halo->sp->rs; + return 0; +} +int set_scale_radius(double scale_radius){ + halo->sp->rs = scale_radius; + return 0; +} + +int get_cutoff_radius(double *cutoff_radius){ + *cutoff_radius = input_cutoff_radius; + return 0; +} +int set_cutoff_radius(double cutoff_radius){ + input_cutoff_radius = cutoff_radius; + return 0; +} + +int get_target_number_of_particles(int *target_number_of_particles){ + *target_number_of_particles = halo->N0; + return 0; +} +int set_target_number_of_particles(int target_number_of_particles){ + halo->N0 = target_number_of_particles; + return 0; +} + +int get_black_hole_mass(double *black_hole_mass){ + *black_hole_mass = bh->mass; + return 0; +} +int set_black_hole_mass(double black_hole_mass){ + bh->mass = black_hole_mass; + return 0; +} + +int get_random_seed(int *random_seed_out){ + *random_seed_out = randomseed; + return 0; +} +int set_random_seed(int random_seed_in){ + randomseed = random_seed_in; + return 0; +} + +int get_do_exact_virial_radius_flag(int *do_exact_virial_radius_flag){ + *do_exact_virial_radius_flag = gi->dorvirexact; + return 0; +} +int set_do_exact_virial_radius_flag(int do_exact_virial_radius_flag){ + if (do_exact_virial_radius_flag) { + gi->dorvirexact = 1; + } else { + gi->dorvirexact = 0; + } + return 0; +} + +int get_outputgridr_flag(int *outputgridr_flag){ + *outputgridr_flag = (int) outputgridr; + return 0; +} +int set_outputgridr_flag(int outputgridr_flag){ + if (outputgridr_flag) { + outputgridr = true; + } else { + outputgridr = false; + } + return 0; +} +int get_outputgriddf_flag(int *outputgriddf_flag){ + *outputgriddf_flag = (int) outputgriddf; + return 0; +} +int set_outputgriddf_flag(int outputgriddf_flag){ + if (outputgriddf_flag) { + outputgriddf = true; + } else { + outputgriddf = false; + } + return 0; +} + +int get_write_output_flag(int *write_output_flag){ + *write_output_flag = (int) write_output; + return 0; +} +int set_write_output_flag(int write_output_flag){ + if (write_output_flag) { + write_output = true; + } else { + write_output = false; + } + return 0; +} +int get_output_basename(char **output_basename_out){ + *output_basename_out = output_basename; + return 0; +} +int set_output_basename(char *output_basename_in){ + if (strlen(output_basename_in) >= STRINGSIZE) + return -1; + strcpy(output_basename, output_basename_in); + strcpy(INPUTNAME, output_path); + strcat(INPUTNAME, output_basename); + return 0; +} +int get_output_path(char **output_path_out){ + *output_path_out = output_path; + return 0; +} +int set_output_path(char *output_path_in){ + int length = strlen(output_path_in); + if (length >= MAXLEN_PATH) + return -1; + strcpy(output_path, output_path_in); + if (length > 0 && output_path[length - 1] != '/') + strcat(output_path, "/"); + strcpy(INPUTNAME, output_path); + strcat(INPUTNAME, output_basename); + return 0; +} diff --git a/src/amuse/community/halogen/interface.h b/src/amuse_halogen/interface.h similarity index 100% rename from src/amuse/community/halogen/interface.h rename to src/amuse_halogen/interface.h diff --git a/src/amuse_halogen/interface.py b/src/amuse_halogen/interface.py new file mode 100644 index 0000000000..e9e27989b9 --- /dev/null +++ b/src/amuse_halogen/interface.py @@ -0,0 +1,554 @@ +import os.path +from amuse.community import * +from amuse.community.interface.common import CommonCodeInterface, CommonCode +from amuse.support.options import option + +class HalogenInterface(CodeInterface, CommonCodeInterface, LiteratureReferencesMixIn, + CodeWithDataDirectories): + """ + This is a stripped-down version of Halogen, developed during the Modest 7a workshop + in Split, Croatia, in August 2007. This version can be used for generating + single-mass initial conditions. + + Halogen allows to generate spherical structures from the alpha-beta-gamma-model + family with an isotropic velocity tensor. Particles are sampled self-consistently + from the distribution function of the models. + + Relevant references: + .. [#] ADS:2008MNRAS.386.1543Z (Zemp M., Moore B., Stadel J., Carollo C.M. & Madau P. 2008, MNRAS, 386, 1543) + """ + + include_headers = ['halogen_worker.h'] + + def __init__(self, **keyword_arguments): + CodeInterface.__init__(self, name_of_the_worker="halogen_worker", **keyword_arguments) + LiteratureReferencesMixIn.__init__(self) + CodeWithDataDirectories.__init__(self) + + @legacy_function + def generate_particles(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + new_particle = None + + def delete_particle(self, index_of_the_particle): + return 0 + + def invoke_state_change2(self): + pass + + def invoke_state_change_updated(self): + pass + + @legacy_function + def get_number_of_particles_updated(): + """ + Return the number of particles added during the last generate_particles. + """ + function = LegacyFunctionSpecification() + function.addParameter('index', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_mass(): + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('mass', dtype='float64', direction=function.OUT, description = "The current mass of the particle") + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def get_position(): + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('x', dtype='float64', direction=function.OUT, description = "The current x component of the position vector of the particle") + function.addParameter('y', dtype='float64', direction=function.OUT, description = "The current y component of the position vector of the particle") + function.addParameter('z', dtype='float64', direction=function.OUT, description = "The current z component of the position vector of the particle") + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def get_velocity(): + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('vx', dtype='float64', direction=function.OUT, description = "The current x component of the velocity vector of the particle") + function.addParameter('vy', dtype='float64', direction=function.OUT, description = "The current y component of the velocity vector of the particle") + function.addParameter('vz', dtype='float64', direction=function.OUT, description = "The current z component of the velocity vector of the particle") + function.result_type = 'int32' + function.can_handle_array = True + return function + + + @legacy_function + def get_model_alpha(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_model_alpha(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_model_beta(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_model_beta(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_model_gamma(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_model_gamma(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_total_mass(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_total_mass(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_scale_radius(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_scale_radius(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_cutoff_radius(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_cutoff_radius(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_target_number_of_particles(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_target_number_of_particles(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_black_hole_mass(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_black_hole_mass(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_random_seed(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_random_seed(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_do_exact_virial_radius_flag(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_do_exact_virial_radius_flag(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_outputgridr_flag(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_outputgridr_flag(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_outputgriddf_flag(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_outputgriddf_flag(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_write_output_flag(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_write_output_flag(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_output_path(): + function = LegacyFunctionSpecification() + function.addParameter('output_directory', dtype='string', direction=function.OUT, + description = "The path to the output directory.") + function.result_type = 'int32' + return function + + @legacy_function + def set_output_path(): + function = LegacyFunctionSpecification() + function.addParameter('output_directory', dtype='string', direction=function.IN, + description = "The path to the output directory.") + function.result_type = 'int32' + return function + + @legacy_function + def get_output_basename(): + function = LegacyFunctionSpecification() + function.addParameter('output_basename', dtype='string', direction=function.OUT, + description = "The basename of output files.") + function.result_type = 'int32' + return function + + @legacy_function + def set_output_basename(): + function = LegacyFunctionSpecification() + function.addParameter('output_basename', dtype='string', direction=function.IN, + description = "The basename of output files.") + function.result_type = 'int32' + return function + + + + +class Halogen(CommonCode): + + def __init__(self, unit_converter = None, **options): + self.unit_converter = unit_converter + InCodeComponentImplementation.__init__(self, HalogenInterface(**options), **options) + + def initialize_code(self): + result = self.overridden().initialize_code() + self.parameters.set_defaults() + self.parameters.output_directory = self.get_output_directory() + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_model_alpha", + "set_model_alpha", + "alpha", + "alpha parameter in density profile (see src/amuse_halogen/src/doc for details)", + default_value = -1.0 + ) + + handler.add_method_parameter( + "get_model_beta", + "set_model_beta", + "beta", + "beta parameter in density profile (see src/amuse_halogen/src/doc for details)", + default_value = -1.0 + ) + + handler.add_method_parameter( + "get_model_gamma", + "set_model_gamma", + "gamma", + "gamma parameter in density profile (see src/amuse_halogen/src/doc for details)", + default_value = -1.0 + ) + + handler.add_method_parameter( + "get_total_mass", + "set_total_mass", + "total_mass", + "the total mass of the model", + default_value = 1.0 | nbody_system.mass + ) + + handler.add_method_parameter( + "get_scale_radius", + "set_scale_radius", + "scale_radius", + "the scale radius of the density profile (see src/amuse_halogen/src/doc for details)", + default_value = 1.0 | nbody_system.length + ) + + handler.add_method_parameter( + "get_cutoff_radius", + "set_cutoff_radius", + "cutoff_radius", + "the cutoff radius of the density profile (see src/amuse_halogen/src/doc for details)", + default_value = -1.0 | nbody_system.length + ) + + handler.add_method_parameter( + "get_target_number_of_particles", + "set_target_number_of_particles", + "number_of_particles", + "the number of particles to be generated in the model", + default_value = -1 + ) + + handler.add_method_parameter( + "get_black_hole_mass", + "set_black_hole_mass", + "black_hole_mass", + "the mass of the central black hole", + default_value = 0.0 | nbody_system.mass + ) + + handler.add_method_parameter( + "get_random_seed", + "set_random_seed", + "random_seed", + "the initial seed to be used by the random number generator", + default_value = 42 + ) + + handler.add_boolean_parameter( + "get_do_exact_virial_radius_flag", + "set_do_exact_virial_radius_flag", + "do_exact_virial_radius_flag", + "Flag specifying whether to calculate the virial radius exactly via N^2 sum - Warning: time consuming for large N!", + False + ) + + handler.add_boolean_parameter( + "get_outputgridr_flag", + "set_outputgridr_flag", + "outputgridr_flag", + "Flag specifying whether to write a file outputting grid in r", + False + ) + + handler.add_boolean_parameter( + "get_outputgriddf_flag", + "set_outputgriddf_flag", + "outputgriddf_flag", + "Flag specifying whether to write a file outputting grid for distribution function", + False + ) + + handler.add_boolean_parameter( + "get_write_output_flag", + "set_write_output_flag", + "write_output_flag", + "Flag specifying whether to write the model and a log to file", + False + ) + + handler.add_method_parameter( + "get_output_path", + "set_output_path", + "output_directory", + "The path to the output directory", + default_value = "./" + ) + + handler.add_method_parameter( + "get_output_basename", + "set_output_basename", + "output_basename", + "The basename of output files", + default_value = "halogen" + ) + + def define_errorcodes(self, handler): + handler.add_errorcode(-1, 'Unspecified, other error.') + handler.add_errorcode(-2, 'Missing or bad parameter for halo (see src/amuse_halogen/src/doc for details on required parameters).') + + def define_methods(self, handler): + CommonCode.define_methods(self, handler) + handler.add_method("generate_particles", (), (handler.ERROR_CODE,)) + handler.add_method("get_number_of_particles_updated", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + + handler.add_method("get_mass", (handler.INDEX,), + (nbody_system.mass, handler.ERROR_CODE) + ) + handler.add_method("get_position", (handler.INDEX,), + (nbody_system.length, nbody_system.length, nbody_system.length, handler.ERROR_CODE) + ) + handler.add_method("get_velocity", (handler.INDEX,), + (nbody_system.speed, nbody_system.speed, nbody_system.speed, handler.ERROR_CODE) + ) + + handler.add_method("get_model_alpha", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_model_alpha", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) + + handler.add_method("get_model_beta", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_model_beta", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) + + handler.add_method("get_model_gamma", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_model_gamma", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) + + handler.add_method("get_total_mass", (), (nbody_system.mass, handler.ERROR_CODE,)) + handler.add_method("set_total_mass", (nbody_system.mass, ), (handler.ERROR_CODE,)) + + handler.add_method("get_scale_radius", (), (nbody_system.length, handler.ERROR_CODE,)) + handler.add_method("set_scale_radius", (nbody_system.length, ), (handler.ERROR_CODE,)) + + handler.add_method("get_cutoff_radius", (), (nbody_system.length, handler.ERROR_CODE,)) + handler.add_method("set_cutoff_radius", (nbody_system.length, ), (handler.ERROR_CODE,)) + + handler.add_method("get_target_number_of_particles", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_target_number_of_particles", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) + + handler.add_method("get_black_hole_mass", (), (nbody_system.mass, handler.ERROR_CODE,)) + handler.add_method("set_black_hole_mass", (nbody_system.mass, ), (handler.ERROR_CODE,)) + + handler.add_method("get_random_seed", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_random_seed", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) + + handler.add_method("get_output_path", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_output_path", (handler.NO_UNIT,), (handler.ERROR_CODE,)) + + handler.add_method("get_output_basename", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_output_basename", (handler.NO_UNIT,), (handler.ERROR_CODE,)) + + def define_converter(self, handler): + if not self.unit_converter is None: + handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) + + def define_particle_sets(self, handler): + handler.define_set('particles', 'index_of_the_particle') + handler.set_new('particles', 'new_particle') + handler.set_delete('particles', 'delete_particle') + handler.add_getter('particles', 'get_mass') + handler.add_getter('particles', 'get_position') + handler.add_getter('particles', 'get_velocity') + + def define_state(self, handler): + CommonCode.define_state(self, handler) + handler.add_transition('INITIALIZED','EDIT','commit_parameters') + handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False) + handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False) + handler.add_transition('UPDATE','CHANGE_PARAMETERS_UPDATE','before_set_parameter', False) + handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters') + handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') + handler.add_transition('CHANGE_PARAMETERS_UPDATE','UPDATE','recommit_parameters') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_UPDATE','before_set_parameter') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') + handler.add_method('CHANGE_PARAMETERS_UPDATE','before_get_parameter') + handler.add_method('RUN', 'before_get_parameter') + handler.add_method('EDIT', 'before_get_parameter') + handler.add_method('UPDATE','before_get_parameter') + + handler.add_transition('EDIT', 'UPDATE', 'generate_particles', False) + handler.add_transition('UPDATE', 'RUN', 'update_particle_set') + handler.add_transition('RUN', 'EDIT', 'clear_particle_set') + handler.add_method('RUN', 'invoke_state_change_updated') + handler.add_method('EDIT', 'get_number_of_particles_updated') + handler.add_method('UPDATE', 'get_number_of_particles_updated') + handler.add_method('RUN', 'get_number_of_particles_updated') + handler.add_method('RUN', 'get_mass') + handler.add_method('RUN', 'get_position') + handler.add_method('RUN', 'get_velocity') + + def generate_particles(self): + result = self.overridden().generate_particles() + self.invoke_state_change_updated() + + def update_particle_set(self): + """ + update the particle set after changes in the code + + this implementation needs to move to the + amuse.datamodel.incode_storage module, as + it uses a lot of internal methods and info! + """ + number_of_updated_particles = self.get_number_of_particles_updated() + if number_of_updated_particles: + self.particles._private.attribute_storage._add_indices( + list(range(number_of_updated_particles)) + ) + + def clear_particle_set(self): + if len(self.particles): + self.particles.remove_particles(self.particles) + + diff --git a/src/amuse_halogen/packages/amuse-halogen.amuse_deps b/src/amuse_halogen/packages/amuse-halogen.amuse_deps new file mode 100644 index 0000000000..c56cfa06a6 --- /dev/null +++ b/src/amuse_halogen/packages/amuse-halogen.amuse_deps @@ -0,0 +1 @@ +c c++ mpi diff --git a/src/amuse_halogen/packages/amuse-halogen/amuse_halogen b/src/amuse_halogen/packages/amuse-halogen/amuse_halogen new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_halogen/packages/amuse-halogen/amuse_halogen @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_halogen/packages/amuse-halogen/pyproject.toml b/src/amuse_halogen/packages/amuse-halogen/pyproject.toml new file mode 100644 index 0000000000..29aa5768d6 --- /dev/null +++ b/src/amuse_halogen/packages/amuse-halogen/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-halogen" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_halogen/**/*.py"] +exclude = [ + "amuse_halogen/packages", + "amuse_halogen/support", + "amuse_halogen/src", + "amuse_halogen/tests" + ] +artifacts = ["amuse_halogen/halogen_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_halogen/tests/"] + +testpaths = ["amuse_halogen/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/halogen/src/Makefile b/src/amuse_halogen/src/Makefile similarity index 100% rename from src/amuse/community/halogen/src/Makefile rename to src/amuse_halogen/src/Makefile diff --git a/src/amuse/community/halogen/src/definitions.h b/src/amuse_halogen/src/definitions.h similarity index 100% rename from src/amuse/community/halogen/src/definitions.h rename to src/amuse_halogen/src/definitions.h diff --git a/src/amuse/community/halogen/src/doc/HALOGEN4MUSE.pdf b/src/amuse_halogen/src/doc/HALOGEN4MUSE.pdf similarity index 100% rename from src/amuse/community/halogen/src/doc/HALOGEN4MUSE.pdf rename to src/amuse_halogen/src/doc/HALOGEN4MUSE.pdf diff --git a/src/amuse/community/halogen/src/doc/HALOGEN4MUSE.tex b/src/amuse_halogen/src/doc/HALOGEN4MUSE.tex similarity index 100% rename from src/amuse/community/halogen/src/doc/HALOGEN4MUSE.tex rename to src/amuse_halogen/src/doc/HALOGEN4MUSE.tex diff --git a/src/amuse/community/halogen/src/drand48.c b/src/amuse_halogen/src/drand48.c similarity index 100% rename from src/amuse/community/halogen/src/drand48.c rename to src/amuse_halogen/src/drand48.c diff --git a/src/amuse/community/halogen/src/functions.c b/src/amuse_halogen/src/functions.c similarity index 100% rename from src/amuse/community/halogen/src/functions.c rename to src/amuse_halogen/src/functions.c diff --git a/src/amuse/community/halogen/src/functions.h b/src/amuse_halogen/src/functions.h similarity index 100% rename from src/amuse/community/halogen/src/functions.h rename to src/amuse_halogen/src/functions.h diff --git a/src/amuse/community/halogen/src/halogen4muse.c b/src/amuse_halogen/src/halogen4muse.c similarity index 100% rename from src/amuse/community/halogen/src/halogen4muse.c rename to src/amuse_halogen/src/halogen4muse.c diff --git a/src/amuse/community/halogen/src/routines.c b/src/amuse_halogen/src/routines.c similarity index 100% rename from src/amuse/community/halogen/src/routines.c rename to src/amuse_halogen/src/routines.c diff --git a/src/amuse/community/halogen/src/routines.h b/src/amuse_halogen/src/routines.h similarity index 100% rename from src/amuse/community/halogen/src/routines.h rename to src/amuse_halogen/src/routines.h diff --git a/src/amuse_halogen/support/aclocal.m4 b/src/amuse_halogen/support/aclocal.m4 new file mode 100644 index 0000000000..e4cc83766d --- /dev/null +++ b/src/amuse_halogen/support/aclocal.m4 @@ -0,0 +1,17 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) diff --git a/src/amuse_halogen/support/config.mk.in b/src/amuse_halogen/support/config.mk.in new file mode 100644 index 0000000000..fd32e0a2ea --- /dev/null +++ b/src/amuse_halogen/support/config.mk.in @@ -0,0 +1,15 @@ +# Compilers +CC = @CC@ +CXX = @CXX@ + +MPICC = @MPICC@ +MPICXX = @MPICXX@ + +CPU_COUNT = @CPU_COUNT@ + +# General flags and libraries +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + diff --git a/src/amuse_halogen/support/configure b/src/amuse_halogen/support/configure new file mode 100755 index 0000000000..5da27097b3 --- /dev/null +++ b/src/amuse_halogen/support/configure @@ -0,0 +1,6045 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-halogen 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-halogen' +PACKAGE_TARNAME='amuse-halogen' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-halogen 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +ac_ct_CXX +CXXFLAGS +CXX +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +MPICC +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-halogen 1.0 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/amuse-halogen] + --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 amuse-halogen 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + 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 + CXX C++ compiler command + CXXFLAGS C++ compiler flags + MPICC MPI C compiler command + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-halogen configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-halogen $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +# Find external dependencies +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 + + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-halogen $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-halogen config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_halogen/support/configure.ac b/src/amuse_halogen/support/configure.ac new file mode 100644 index 0000000000..6208f2d81b --- /dev/null +++ b/src/amuse_halogen/support/configure.ac @@ -0,0 +1,30 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-halogen], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_CC() +AC_PROG_CXX() + +# Find external dependencies +AC_LANG_PUSH([C]) +AX_MPI() +AC_LANG_POP([C]) + +AC_LANG_PUSH([C++]) +AX_MPI() +AC_LANG_POP([C++]) + + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_halogen/support/shared b/src/amuse_halogen/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_halogen/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_halogen.py b/src/amuse_halogen/tests/test_halogen.py similarity index 95% rename from src/amuse/test/suite/codes_tests/test_halogen.py rename to src/amuse_halogen/tests/test_halogen.py index bf4ea5a645..dd3fe61085 100644 --- a/src/amuse/test/suite/codes_tests/test_halogen.py +++ b/src/amuse_halogen/tests/test_halogen.py @@ -2,9 +2,9 @@ import numpy import subprocess from amuse.community import * -from amuse.test.amusetest import TestWithMPI -from amuse.community.halogen.interface import HalogenInterface, Halogen -import amuse.community.halogen +from amuse.support.testing.amusetest import TestWithMPI +from amuse_halogen.interface import HalogenInterface, Halogen +import amuse_halogen # Change the default for some Halogen(-Interface) keyword arguments: default_options = dict() @@ -127,7 +127,7 @@ def test4(self): self.assertEqual(instance.generate_particles(), 0) self.assertTrue(os.path.exists(outputfile)) - halogen4muse_path = os.path.join(os.path.dirname(amuse.community.halogen.__file__), 'src', 'halogen4muse') + halogen4muse_path = os.path.join(os.path.dirname(amuse_halogen.__file__), 'src', 'halogen4muse') if not os.path.exists(halogen4muse_path) or not os.access(halogen4muse_path, os.X_OK): return @@ -357,21 +357,21 @@ def test7(self): instance = Halogen(**default_options) instance.initialize_code() self.assertRaises(exceptions.AmuseException, instance.commit_parameters, expected_message="Error when calling 'commit_parameters' of a 'Halogen', errorcode is -2, error is " - "'Missing or bad parameter for halo (see amuse/community/halogen/src/doc for details on required parameters).'") + "'Missing or bad parameter for halo (see src/amuse_halogen/src/doc for details on required parameters).'") instance.parameters.alpha = 2.0 instance.parameters.beta = 5.0 instance.parameters.gamma = 5.0 instance.parameters.number_of_particles = number_of_particles instance.parameters.random_seed = 1 self.assertRaises(exceptions.AmuseException, instance.commit_parameters, expected_message="Error when calling 'commit_parameters' of a 'Halogen', errorcode is -2, error is " - "'Missing or bad parameter for halo (see amuse/community/halogen/src/doc for details on required parameters).'") + "'Missing or bad parameter for halo (see src/amuse_halogen/src/doc for details on required parameters).'") instance.parameters.gamma = -0.5 self.assertRaises(exceptions.AmuseException, instance.commit_parameters, expected_message="Error when calling 'commit_parameters' of a 'Halogen', errorcode is -2, error is " - "'Missing or bad parameter for halo (see amuse/community/halogen/src/doc for details on required parameters).'") + "'Missing or bad parameter for halo (see src/amuse_halogen/src/doc for details on required parameters).'") instance.parameters.gamma = 0.0 instance.parameters.beta = 2.0 self.assertRaises(exceptions.AmuseException, instance.commit_parameters, expected_message="Error when calling 'commit_parameters' of a 'Halogen', errorcode is -2, error is " - "'Missing or bad parameter for halo (see amuse/community/halogen/src/doc for details on required parameters).'") + "'Missing or bad parameter for halo (see src/amuse_halogen/src/doc for details on required parameters).'") instance.parameters.beta = 5.0 instance.commit_parameters() diff --git a/src/amuse_hermite/Makefile b/src/amuse_hermite/Makefile new file mode 100644 index 0000000000..029fa4e71e --- /dev/null +++ b/src/amuse_hermite/Makefile @@ -0,0 +1,70 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + +# Building the code into a static library +DEPFLAGS += $(STOPCONDMPI_CFLAGS) $(AMUSE_MPI_CFLAGS) + +CFLAGS += $(DEPFLAGS) + +LDFLAGS += + +LDLIBS += -lm $(STOPCONDMPI_LIBS) $(AMUSE_MPI_LIBS) + + +# Building the workers +hermite_worker.h: interface.py + amusifier --type=h -i amuse.community.interface.stopping_conditions.StoppingConditionInterface interface.py HermiteInterface -o $@ + +hermite_worker.cc: interface.py + amusifier --type=c interface.py HermiteInterface -o $@ + +hermite_worker.o: hermite_worker.cc hermite_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + +hermite_worker: hermite_worker.o interface.o + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +%.o: %.cc + $(MPICXX) -c $(CFLAGS) -o $@ $< + +# Which packages contain which workers? +amuse-hermite_contains: hermite_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: +ifneq ($(CI),) + cd packages/$* && pytest -k 'not noci' +else + cd packages/$* && pytest +endif + + + +# Cleaning up +.PHONY: clean +clean: + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + diff --git a/src/amuse_hermite/__init__.py b/src/amuse_hermite/__init__.py new file mode 100644 index 0000000000..2cf9d09961 --- /dev/null +++ b/src/amuse_hermite/__init__.py @@ -0,0 +1 @@ +from .interface import Hermite diff --git a/src/amuse_hermite/interface.cc b/src/amuse_hermite/interface.cc new file mode 100644 index 0000000000..e51373f4c0 --- /dev/null +++ b/src/amuse_hermite/interface.cc @@ -0,0 +1,1757 @@ +//============================================================================= +// +// N-body integration module with shared but variable time step +// (the same for all particles but its size changing in time), +// using the Hermite integration scheme. +// +// ref.: Hut, P., Makino, J. & McMillan, S., 1995, +// Astrophysical Journal Letters 443, L93-L96. +// +// All module functions are included in this file. +//_____________________________________________________________________________ +// +// version 1: Jan 2002 Piet Hut, Jun Makino +// version 2: Mar 2006 Jun Makino, Steve McMillan +// version 3: Jan 2007 Steve McMillan (MODEST-7b) +// version 3a: Aug 2007 Steve McMillan (MODEST-7a) +//============================================================================= + +#ifndef NOMPI +#include +#endif + +#include +#include +#include +#include +#include + +#include "hermite_worker.h" + +#include +#include +#include +#include + + +// AMUSE STOPPING CONDITIONS SUPPORT +#include +#include + +#ifndef NOMPI +#include +static MPI_Comm WORLD; +#endif + +using namespace std; +typedef double real; + +#include "vec3.h" // borrowed from starlab + +#define PR(x) *sout << #x << " = " << x << " " << flush +#define PRC(x) *sout << #x << " = " << x << ", " << flush +#define PRL(x) *sout << #x << " = " << x << endl << flush + + + +// (Global!) static data: + +const int NDIM = 3; // number of spatial dimensions + +/*------------- MPI data ---------------------*/ +static int mpi_rank = 0; +static int mpi_size = 1; +/*------------- MPI data ---------------------*/ + +// N-body data: + + +static real t = 0; +static real t_evolve = t; // Time requested by evolve. Control returns + // when t <= t_evolve and t + dt > t_evolve, + // and this is assumed when the state of the + // system is computed by extrapolation. +static real t_wanted = 0; +static double begin_time = 0; +static double end_time_accuracy_factor = 0.0; + +static vector ident; +static vector mass, radius, potential; +static vector pos, vel, acc, jerk; +static vector acc_reduced, jerk_reduced; +static vector potential_reduced; + +// Control parameters: + +const real DT_PARAM = 0.03; +const real DT_DIA = 1; + +static real dt_param = DT_PARAM; // control parameter to determine time step size +static real dt_dia = DT_DIA; // time interval between diagnostic output + +static bool x_flag = false; // set true for serious debugging only! +static bool is_time_reversed_allowed = false; + +static int nsteps = 0; // number of integration time steps completed +static real einit = 0; // initial total energy of the system +static bool init_flag = false; +static real t_dia = 0; +static real eps2 = 0; + +static bool flag_collision = true; +static bool reeval = false; +static bool test_mode = false; +static ostream* sout = &cout; + +static real potential_energy = 0.0; + +// Accessors for use by the C++ main driver only: + +//void set_t(real tt) {t = tt;} +//void set_dt_param(real dt) {dt_param = dt;} +//void set_dt_dia(real dt) {dt_dia = dt;} +//void set_eps(real eps) {eps2 = eps*eps;} + +int get_eps2(double *_epsilon_squared){ + *_epsilon_squared = eps2; + return 0; +} +int set_eps2(double _epsilon_squared){ + eps2 = _epsilon_squared; + return 0; +} +int get_dt_dia(double *_dt_dia){ + *_dt_dia = dt_dia; + return 0; +} +int set_dt_dia(double _dt_dia){ + dt_dia = _dt_dia; + return 0; +} + +int get_is_time_reversed_allowed(bool *value){ + *value = is_time_reversed_allowed; + return 0; +} +int set_is_time_reversed_allowed(bool value){ + is_time_reversed_allowed = value; + return 0; +} + + +int get_dt_param(double *_dt_param) +{ + *_dt_param = dt_param; + return 0; +} +int set_dt_param(double _dt_param) +{ + dt_param = _dt_param; + return 0; +} +int get_time(double *_t) +{ + *_t = t; + return 0; +} + + +int set_begin_time(double input) { + begin_time = input; + return 0; +} + +int get_begin_time(double * output) { + *output = begin_time; + return 0; +} + + +// (Most of) the original code (some arguments replaced by global data): + +//----------------------------------------------------------------------------- +// write_diagnostics -- writes diagnostics on the output stream cout: +// current time; total mass; number of +// integration steps so far; kinetic, +// potential, and total energy; absolute and +// relative energy errors since the start of +// the run. If x_flag (x for eXtra data) is +// true, all internal data are dumped for each +// particle (mass, position, velocity, +// acceleration, and jerk). +// +// Note: the kinetic energy is calculated here, while the potential +// energy is calculated in the function get_acc_jerk_pot_coll(). +//----------------------------------------------------------------------------- + +void write_diagnostics(real epot, ostream& s = cout) +{ + int n = ident.size(); + real total_mass = 0; + real ekin = 0; // kinetic energy + for (int i = 0; i < n ; i++) { + total_mass += mass[i]; + for (int k = 0; k < NDIM ; k++) + ekin += 0.5 * mass[i] * vel[i][k] * vel[i][k]; + } + + real etot = ekin + epot; // total energy + + if (!init_flag) // on first pass, set + { + einit = etot; // the initial energy + init_flag = true; + return; // suppress initial output + } + + s << " internal diagnostics at time t = " << t + << " after " << nsteps << " steps" + << endl + << " total mass = " << total_mass + << " initial energy E_init = " << einit << endl + << " E_kin = " << ekin + << " E_pot = " << epot + << " E_tot = " << etot << endl; + s << " " + << "absolute energy error E_tot - E_init = " + << etot - einit << endl; + s << " " + << "relative energy error (E_tot - E_init) / E_init = " + << (etot - einit) / einit << endl; + + if (x_flag) + { + s << " system dump, n = " << n << endl; + for (int i = 0; i < n ; i++) + { + s << " data for particle " << ident[i] + << ": " << endl; + s << " "; s << mass[i] << endl; + s << " "; s << radius[i] << endl; + s << " "; + for (int k = 0; k < NDIM; k++) + { + s << ' ' << pos[i][k]; + } + s << endl; + s << " "; + for (int k = 0; k < NDIM; k++) + { + s << ' ' << vel[i][k]; + } + s << endl; + s << " "; + for (int k = 0; k < NDIM; k++) + { + s << ' ' << acc[i][k]; + } + s << endl; + s << " "; + for (int k = 0; k < NDIM; k++) + { + s << ' ' << jerk[i][k]; + } + s << endl; + } + } +} + +//----------------------------------------------------------------------------- +// predict_step -- take the first approximation of one Hermite integration +// step, advancing the positions and velocities through a +// Taylor series development up to the order of the jerks. +// Note that all pos and vel are overwritten. +//----------------------------------------------------------------------------- + +void predict_step(real dt) +{ + if (!is_time_reversed_allowed && dt <= 0) return; + + int n = ident.size(); + for (int i = 0; i < n ; i++) + { + for (int k = 0; k < NDIM ; k++) + { + pos[i][k] += vel[i][k]*dt + acc[i][k]*dt*dt/2 + + jerk[i][k]*dt*dt*dt/6; + vel[i][k] += acc[i][k]*dt + jerk[i][k]*dt*dt/2; + } + } +} + +//----------------------------------------------------------------------------- +// get_acc_jerk_pot_coll -- calculate accelerations and jerks, and as +// side effect also calculates potential energy +// and the time scale coll_time for significant +// changes in local configurations to occur. +// __ __ +// | --> --> | +// M M | r . v | +// --> j --> --> j | --> ji ji --> | +// a == -------- r ; j == -------- | v - 3 --------- r | +// ji |--> |3 ji ji |--> |3 | ji |--> |2 ji | +// | r | | r | | | r | | +// | ji | | ji | |__ | ji | __| + +// Note: it would be cleaner to calculate potential energy and +// collision time in a separate function. However, the current +// function is by far the most time consuming part of the whole +// program, with a double loop over all particles that is executed +// every time step. Splitting off some of the work to another +// function would significantly increase the total computer time +// (by an amount close to a factor two). +// +// With softening, the r^3 in the denominator becomes (r^2 + e^2)^{1.5}. +// +// We determine the values of all four quantities of interest by +// walking through the system in a double {i,j} loop. The first +// three, acceleration, jerk, and potential energy, are calculated by +// adding successive terms; the last, the estimate for the collision +// time, is found by determining the minimum value over all particle +// pairs and over the two choices of collision time, +// position/velocity and sqrt(position/acceleration), where position +// and velocity indicate their relative values between the two +// particles, while acceleration indicates their pairwise +// acceleration. At the start, the first three quantities are set to +// zero, to prepare for accumulation, while the last one is set to a +// very large number, to prepare for minimization. +// +// The integration loops only over half of the pairs, with j > i, +// since the contributions to the acceleration and jerk of particle j +// on particle i are the same as those of particle i on particle j, +// apart from a minus sign and a different mass factor. +//----------------------------------------------------------------------------- + +static int id_coll_primary = -1, id_coll_secondary = -1; + +inline int mpi_distribute_data(int n) { + +#ifndef NOMPI + MPI_Bcast(&n, 1, MPI_INTEGER, 0, WORLD); + + if(mpi_rank) { + vel.resize(n+1); + pos.resize(n+1); + acc.resize(n+1); + jerk.resize(n+1); + potential.resize(n+1, 0.0); + ident.resize(n+1); + mass.resize(n+1, 0.0); + radius.resize(n+1, 0.0); + } + + + MPI_Bcast(&vel[0], n * 3, MPI_DOUBLE, 0, WORLD); + MPI_Bcast(&pos[0], n * 3, MPI_DOUBLE, 0, WORLD); + MPI_Bcast(&mass[0], n, MPI_DOUBLE, 0, WORLD); + MPI_Bcast(&radius[0], n, MPI_DOUBLE, 0, WORLD); + MPI_Bcast(&ident[0], n, MPI_INTEGER, 0, WORLD); + + mpi_distribute_stopping_conditions(); +#endif + + return n; +} + +inline void mpi_collect_data(int n, real *epot, real *coll_time_q_out, real coll_time_q_in) { + +#ifndef NOMPI + real summed = 0.0; + MPI_Reduce(&coll_time_q_in, &summed, 1, MPI_DOUBLE, MPI_MIN, 0, WORLD); + *coll_time_q_out = summed; + + summed = 0.0; + MPI_Reduce(epot, &summed, 1, MPI_DOUBLE, MPI_SUM, 0, WORLD); + *epot = summed; + + if(!mpi_rank) { + acc_reduced.resize(n+1); + jerk_reduced.resize(n+1); + potential_reduced.resize(n+1); + } + + MPI_Reduce(&acc[0], &acc_reduced[0], n * 3, MPI_DOUBLE, MPI_SUM, 0, WORLD); + MPI_Reduce(&jerk[0], &jerk_reduced[0], n * 3, MPI_DOUBLE, MPI_SUM, 0, WORLD); + MPI_Reduce(&potential[0], &potential_reduced[0], n, MPI_DOUBLE, MPI_SUM, 0, WORLD); + + if(!mpi_rank) { + acc = acc_reduced; + jerk = jerk_reduced; + potential = potential_reduced; + } + + mpi_collect_stopping_conditions(); +#endif +} + +void get_acc_jerk_pot_coll(real *epot, real *coll_time) +{ + int n = 0; + int error; + int is_collision_detection_enabled; + if(mpi_rank == 0){ + n = ident.size(); + } + *coll_time = 0.0; + n = mpi_distribute_data(n); + + for (int i = 0; i < n ; i++) + { + for (int k = 0; k < NDIM ; k++) + { + acc[i][k] = jerk[i][k] = 0; + } + potential[i]= 0; + } + + *epot = 0; + const real VERY_LARGE_NUMBER = 1e300; + real coll_time_q = VERY_LARGE_NUMBER; // collision time to 4th power + real coll_est_q; // collision time scale estimate + // to 4th power (quartic) + id_coll_primary = id_coll_secondary = -1; + + reset_stopping_conditions(); + //int npart = n / mpi_size; + //int nleft = n % mpi_size; + //if(mpi_rank == mpi_size - 1) {iend = n;} + //cerr << istart <<", "< coll_est_q) + { + coll_time_q = coll_est_q; + } + // Second collision time estimate is based on free fall. + + real da2 = 0; // da2 becomes the + for (int k = 0; k < NDIM ; k++) // square of the + { + da2 += da[k] * da[k]; // pairwise accel- + } + real mij = mass[i] + mass[j]; // eration between + da2 *= mij * mij; // particles i and j + + coll_est_q = r2/da2; + if (coll_time_q > coll_est_q) + { + coll_time_q = coll_est_q; + } + } + } + mpi_collect_data(n, epot, &coll_time_q, coll_time_q); + + // from q for quartic back + *coll_time = sqrt(sqrt(coll_time_q)); // to linear collision time +} + +//----------------------------------------------------------------------------- +// correct_step -- take one iteration to improve the new values of +// position and velocities, constructing a higher-order +// Taylor series from the terms up to jerk at the +// beginning and the end of the time step. This symmetric +// formulation is not the original one from Makino and +// Aarseth; it comes from ACS (Hut & Makino). +//----------------------------------------------------------------------------- + +void correct_step(const real old_pos[][NDIM], const real old_vel[][NDIM], + const real old_acc[][NDIM], const real old_jerk[][NDIM], + real dt) +{ + int n = ident.size(); + for (int i = 0; i < n ; i++) + { + for (int k = 0; k < NDIM ; k++) + { + vel[i][k] = old_vel[i][k] + (old_acc[i][k] + acc[i][k])*dt/2 + + (old_jerk[i][k] - jerk[i][k])*dt*dt/12; + pos[i][k] = old_pos[i][k] + (old_vel[i][k] + vel[i][k])*dt/2 + + (old_acc[i][k] - acc[i][k])*dt*dt/12; + } + } +} + +//----------------------------------------------------------------------------- +// evolve_step -- take one integration step for an N-body system, using +// the Hermite algorithm. +//----------------------------------------------------------------------------- + +void evolve_step(real dt, real *epot, real *coll_time) +{ + int n = ident.size(); + real (* old_pos)[NDIM] = new real[n][NDIM]; + real (* old_vel)[NDIM] = new real[n][NDIM]; + real (* old_acc)[NDIM] = new real[n][NDIM]; + real (* old_jerk)[NDIM] = new real[n][NDIM]; + + for (int i = 0; i < n ; i++) + { + for (int k = 0; k < NDIM ; k++) + { + old_pos[i][k] = pos[i][k]; + old_vel[i][k] = vel[i][k]; + old_acc[i][k] = acc[i][k]; + old_jerk[i][k] = jerk[i][k]; + } + } + + predict_step(dt); + get_acc_jerk_pot_coll(epot, coll_time); + +/***** + * put back in previous positions if a collision was detected + * for experiment, need to remove + if(set_conditions & enabled_conditions) { + for (int i = 0; i < n ; i++) + { + for (int k = 0; k < NDIM ; k++) + { + pos[i][k] = old_pos[i][k]; + vel[i][k] = old_vel[i][k]; + acc[i][k] = old_acc[i][k]; + jerk[i][k] = old_jerk[i][k]; + } + } + delete[] old_pos; + delete[] old_vel; + delete[] old_acc; + delete[] old_jerk; + return; + } + * + ****/ + correct_step(old_pos, old_vel, old_acc, old_jerk, dt); + + if (reeval) + { + get_acc_jerk_pot_coll(epot, coll_time); + } + t += dt; + t_evolve = t; + + delete[] old_pos; + delete[] old_vel; + delete[] old_acc; + delete[] old_jerk; +} + + +real calculate_step(real coll_time) +{ + // Determine the new system time step from coll_time. + + real step = dt_param; + if (!test_mode) + { + + step *= coll_time; +#if 0 + // Round down to the next power of 2. + + real step2 = 1; + while (step2 > step) step2 /= 2; + step = step2; +#endif + } + + return step; +} + +void compute_nn() +{ + // For debugging only. + + real rijmin2 = 1.e30; + int imin = -1, jmin = -1; + int n = ident.size(); + + for (int i = 0; i < n-1; i++) + { + for (int j = i+1; j < n; j++) + { + real rij2 = 0; + for (int k = 0; k < NDIM; k++) + { + real dx = pos[i][k]-pos[j][k]; + rij2+=dx*dx; + } + if (rij2 <= rijmin2) + { + rijmin2 = rij2; + imin = i; + jmin = j; + } + } + } + + real rsum = radius[imin]+radius[jmin]; + + if (rsum <= 0) + { + rsum = 1; + } + real rijmin = sqrt(rijmin2); + *sout << "closest: " << ident[imin] << " " << ident[jmin] + << " " << rijmin << " " << rijmin/rsum << endl << flush; +} + +// New/modified integrator code: + +//----------------------------------------------------------------------------- +// evolve_system -- integrate an N-body system to time t_end. +// Diagnostics are sent to cout every time interval dt_dia. +// +// Note: the integration time step, shared by all particles at any given time, +// is variable. Before each integration step we use coll_time (short +// for collision time, an estimate of the time scale for any significant +// change in configuration to happen), multiplying it by dt_param (the +// accuracy parameter governing the size of dt in units of coll_time), +// to obtain the new time step size. +// +// Before moving any particles, we start with an initial diagnostics output +// and snapshot output if desired. In order to write the diagnostics, we +// first have to calculate the potential energy, with get_acc_jerk_pot_coll(). +// That function also calculates accelerations, jerks, and an estimate for the +// collision time scale, all of which are needed before we can enter the main +// integration loop below. +// +// The main loop takes as many integration time steps as needed to +// reach the next output time, does the output required, then +// continues taking integration steps and invoking output in this way +// until the final time is reached, which triggers a `break' out of +// the infinite loop set up with `while(true)'. +// +//----------------------------------------------------------------------------- + +int evolve_system(real t_end) +{ + real epot; // potential energy of the n-body system + real coll_time; // collision (close encounter) time scale + int nest_err = 0; // error of subprocedure + int must_run = 1; + + int is_number_of_steps_detection_enabled; + int is_out_of_box_detection_enabled; + int number_of_steps_innerloop = 0; + int max_number_of_steps; + double box_size; + double sqr_distance_wrt_origin; + double total, center_of_mass[NDIM]; + int error; + int n = ident.size();//no particles + int n_particles_out_of_box = 0; + int i, k; + // May be overkill to compute acc and jerk at start and end of + // this routine, as usually the stars won't have changed on + // return. This way, however, we can guarantee that the particles + // can be extrapolated when the interface calls for positions and + // velocities. + +#ifndef NOMPI + MPI_Bcast(&must_run, 1, MPI_INTEGER, 0, WORLD); +#endif + + get_acc_jerk_pot_coll(&epot, &coll_time); + + bool is_time_reversed = false; + + if(t_end < t && is_time_reversed_allowed) { + is_time_reversed = true; + } + + real dt = calculate_step(coll_time); + + if(is_time_reversed) { + dt *= -1; + } + + //std::cout<<"t"< t_end) { + dt = t_end - t; + } + else if(is_time_reversed && t_end < t && t_end > t + dt ) { + dt = t_end - t; + } + } + if(n <= 1) {dt = t_end - t;} + //std::cout<<"t0"< t_end + (end_time_accuracy_factor * dt)) + || + + (is_time_reversed && t_end - (end_time_accuracy_factor * dt) > t + dt ) + ) + { + must_run = 0; +#ifndef NOMPI + MPI_Bcast(&must_run, 1, MPI_INTEGER, 0, WORLD); +#endif + return -1; + + } + + + // AMUSE STOPPING CONDITIONS + time_t starttime, currenttime; + time(&starttime); + + int timeout_detection; + // + error = is_stopping_condition_enabled(TIMEOUT_DETECTION, + &timeout_detection); + error = is_stopping_condition_enabled(NUMBER_OF_STEPS_DETECTION, + &is_number_of_steps_detection_enabled); + error = is_stopping_condition_enabled(OUT_OF_BOX_DETECTION, + &is_out_of_box_detection_enabled); + get_stopping_condition_number_of_steps_parameter(&max_number_of_steps); + get_stopping_condition_out_of_box_parameter(&box_size); + + double box_size_squared = box_size*box_size; + // AMUSE STOPPING CONDITIONS + double t_before = -1; + while (true) { + while ( + (!is_time_reversed && t < t_dia && t + dt <= t_end + (end_time_accuracy_factor*dt)) + || + (is_time_reversed && t_end - (end_time_accuracy_factor*dt) < t + dt ) + ) { + + #ifndef NOMPI + MPI_Bcast(&must_run, 1, MPI_INTEGER, 0, WORLD); + #endif + + evolve_step(dt, &epot, &coll_time); // sets t, t_evolve + + dt = calculate_step(coll_time); + + + if (n == 1) { + dt = t_end - t; + } + + if(is_time_reversed) { + dt *= -1; + } + + //std::cout<<"t1"< t_end) + || + (is_time_reversed && end_time_accuracy_factor == 0.0 && t_end < t && t_end > t + dt ) + ) { + dt = t_end - t; + } + if(((t + dt) / t) - 1 < 1e-12) { + break; + } + //std::cout<<"t2"< timeout_parameter) { + int stopping_index = next_index_for_stopping_condition(); + set_stopping_condition_info(stopping_index, TIMEOUT_DETECTION); + } + } + + if(is_number_of_steps_detection_enabled) { + number_of_steps_innerloop++; + if (number_of_steps_innerloop > max_number_of_steps) { + int stopping_index = next_index_for_stopping_condition(); + set_stopping_condition_info(stopping_index, + NUMBER_OF_STEPS_DETECTION); + } + } + if (is_out_of_box_detection_enabled) { + for (k = 0; k < NDIM; k++) { + center_of_mass[k] = 0.0; + } + if(use_center_of_mass_parameter) { + total = 0.0; + for (i = 0; i < n; i++) { + for (k = 0; k < NDIM; k++) { + center_of_mass[k] += mass[i] * pos[i][k]; + } + total += mass[i]; + } + for (k = 0; k < NDIM; k++) { + center_of_mass[k] /= total; + } + } + + for (i = 0; i < n; i++) { + sqr_distance_wrt_origin = 0.0; + for (k = 0; k < NDIM; k++) { + double dx = (pos[i][k] - center_of_mass[k]); + sqr_distance_wrt_origin += dx*dx; + } + if (sqr_distance_wrt_origin > box_size_squared) { + int stopping_index = next_index_for_stopping_condition(); + if(stopping_index >= 0){ + set_stopping_condition_info(stopping_index, OUT_OF_BOX_DETECTION); + set_stopping_condition_particle_index(stopping_index, 0, ident[i]); + } else { + printf("Run out of storable out of box events\n"); + } + } + } + } + + if(set_conditions & enabled_conditions) { + break; + } + } + + if (t >= t_dia) { + write_diagnostics(epot, *sout); + t_dia += dt_dia; + } + + //is_stopping_condition_set??? + if (set_conditions & enabled_conditions) { + break; + } + + if ( + (!is_time_reversed && t + dt >= t_end + (end_time_accuracy_factor * dt)) + || + (is_time_reversed && t_end - (end_time_accuracy_factor * dt) >= t + dt ) + ) { + break; + } + } + + if (!(set_conditions & enabled_conditions)) + { + +#ifndef NOMPI + MPI_Bcast(&must_run, 1, MPI_INTEGER, 0, WORLD); +#endif + get_acc_jerk_pot_coll(&epot, &coll_time); + dt = calculate_step(coll_time); + if(is_time_reversed) { + dt *= -1; + } + t_evolve = t; + } else { + t_evolve = t; + } + + // Note: On exit, under all circumstances, the system is + // synchronized at time t, with t <= t_evolve < t + dt. If a + // collision has been detected, we return with t_evolve = t; + // otherwise, we set t_evolve = t_end. + + + must_run = 0; +#ifndef NOMPI + MPI_Bcast(&must_run, 1, MPI_INTEGER, 0, WORLD); +#endif + + return nest_err; +} + +int get_n_steps() +{ + return nsteps; +} + + +static int max_identifier = 0; + +int cleanup_code() +{ + reset_stopping_conditions(); + + ident.clear(); + vel.clear(); + pos.clear(); + mass.clear(); + acc.clear(); + jerk.clear(); + potential.clear(); + radius.clear(); + + acc_reduced.clear(); + jerk_reduced.clear(); + potential_reduced.clear(); + + begin_time = 0.0; + max_identifier = 0; + nsteps = 0; + dt_param = DT_PARAM; // control parameter to determine time step size + dt_dia = DT_DIA; // time interval between diagnostic output + + x_flag = false; // set true for serious debugging only! + is_time_reversed_allowed = false; + + einit = 0; // initial total energy of the system + max_identifier = 0; + init_flag = false; + t_dia = 0; + eps2 = 0; + + id_coll_primary = -1; + id_coll_secondary = -1; + + flag_collision = true; + reeval = false; + test_mode = false; + + potential_energy = 0.0; + t = 0; + t_evolve = t; + t_wanted = 0; + begin_time = 0; + end_time_accuracy_factor = 0.5; + + return 0; +} + + + +int new_particle(int *id, double _mass, + double x, double y, double z, + double vx, double vy, double vz, double _radius) +// add d to the dynamical system +// cello, proj 1 +// make test, not done yet +{ + + if(mpi_rank) { // calculate only on the root mpi process, not on others + return 0; + } + + int new_element; + + // Always add to the end of the list. + // Allways at the end anyway + + new_element = max_identifier++; + + ident.push_back(new_element); // generally want to specify id + mass.push_back(_mass); + radius.push_back(_radius); + pos.push_back(vec(x, y, z)); + vel.push_back(vec(vx, vy, vz)); + acc.push_back(vec(0,0,0)); + jerk.push_back(vec(0,0,0)); + potential.push_back(0); + + *id = new_element; + + //return ident.size(); + return 0; +} + +int delete_particle(int id) +{ + + if(mpi_rank) { // calculate only on the root mpi process, not on others + return 0; + } + + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + + if (i < ident.size()) + { + ident.erase(ident.begin()+i); + mass.erase(mass.begin()+i); + radius.erase(radius.begin()+i); + pos.erase(pos.begin()+i); + vel.erase(vel.begin()+i); + acc.erase(acc.begin()+i); + jerk.erase(jerk.begin()+i); + potential.erase(potential.begin()+i); + return 0; + } + else + { + return -1; + } +} + + +/* +int remove_particle(int id) // remove id from the dynamical system +{ + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + if (i < ident.size()) { + ident.erase(ident.begin()+i); + mass.erase(mass.begin()+i); + radius.erase(radius.begin()+i); + pos.erase(pos.begin()+i); + vel.erase(vel.begin()+i); + acc.erase(acc.begin()+i); + jerk.erase(jerk.begin()+i); + } + return ident.size(); // deletion never leaves empty space +} +*/ + +int get_state(int id, double *_mass, double *x, double *y, double *z, + double *vx, double *vy, double *vz, double *_radius) +// cello, proj1 changed return type void-->int, only OK no errors yet? +// todo: replace find fction. +{ + if(mpi_rank) {return 0;} + //*id_out = -1; + + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + + if (i < (int) ident.size()) + { + vec position = pos[i]; + vec velocity = vel[i]; + + //*id_out = id; + *_mass = mass[i]; + *_radius = radius[i]; + *x = position[0]; + *y = position[1]; + *z = position[2]; + *vx = velocity[0]; + *vy = velocity[1]; + *vz = velocity[2]; + return 0; + } + else + { + return -1; + } +} + +int set_state(int id, double _mass, double x, double y, double z, + double vx, double vy, double vz, double _radius) +//cello, proj1, +{ + if(mpi_rank) {return 0;} + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + + if (i < ident.size()) + { + mass[i] = _mass; + radius[i] = _radius; + pos[i] = vec(x,y,z); + vel[i] = vec(vx, vy, vz); + return 0; + } + else + { + return -1; + } + +} + +int get_mass(int id, double *_mass) +//cello, proj1, +{ + if(mpi_rank) {return 0;} + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + if (i < ident.size()) + { + *_mass = mass[i]; + return 0; + } + else + { + return -1; + } +} + +int set_mass(int id, double _mass) +{ + if(mpi_rank) {return 0;} + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + if (i < ident.size()) + { + mass[i] = _mass; + return 0; + } else + return -1; +} + +int get_radius(int id, double *_radius) +{ + if(mpi_rank) {return 0;} + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + //cerr << "hermite0: get_radius: "; PRC(id); PRL(i); cerr << flush; + if (i < ident.size()) + { + *_radius = radius[i]; + return 0; + } + else + { + return -1; + } +} + +int set_radius(int id, double _radius) +{ + if(mpi_rank) {return 0;} + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + if (i < ident.size()) + { + radius[i] = _radius;; + return 0; + } + else + { + return -1; + } +} + +int get_position(int id, double *x, double *y, double *z) +{ + if(mpi_rank) {return 0;} + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + if (i < ident.size()) + { + *x = pos[i][0]; + *y = pos[i][1]; + *z = pos[i][2]; + return 0; + } + else + { + return -2; + } +} + +int set_position(int id, double x, double y, double z) +{ + if(mpi_rank) {return 0;} + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + if (i < ident.size()) + { + pos[i] = vec(x, y, z); + return 0; + } + else + { + return -1; + } +} + +int get_velocity(int id, double *vx, double *vy, double *vz) +{ + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + if (i < ident.size()) + { + *vx = vel[i][0]; + *vy = vel[i][1]; + *vz = vel[i][2]; + return 0; + } + else + { + return -2; + } +} + +int set_velocity(int id, double vx, double vy, double vz) +{ + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + + if (i < ident.size()) + { + vel[i] = vec(vx,vy,vz); + return 0; + } + else + { + return -1; + } + return 0; +} + +int get_acceleration(int id, double *ax, double *ay, double *az) +{ + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + if (i < ident.size()) + { + *ax = acc[i][0]; + *ay = acc[i][1]; + *az = acc[i][2]; + return 0; + } + else + { + return -2; + } +} + +int evolve_not_on_root() { + +#ifndef NOMPI + int must_run = 1; + int mpi_error = MPI_Bcast(&must_run, 1, MPI_INTEGER, 0, WORLD); + if(mpi_error) { + return -1; + } + while(must_run) { + real epot, coll_time; + get_acc_jerk_pot_coll(&epot, &coll_time); + int mpi_error = MPI_Bcast(&must_run, 1, MPI_INTEGER, 0, WORLD); + if(mpi_error) { + return -1; + } + } +#endif + return 0; +} + +int evolve_model(double t_end) +{ + if(mpi_rank) { + evolve_not_on_root(); + } else { + evolve_system(t_end); + } + return 0; +} + + +int initialize_code() +{ + begin_time = 0.0; + is_time_reversed_allowed = false; + initialize_stopping_conditions(); + +#ifndef NOMPI + get_comm_world(&WORLD); + mpi_set_communicator(&WORLD); + + int error = 0; + error = MPI_Comm_rank(WORLD, &mpi_rank); + if(error) { + cerr << error << endl; + return -1; + } + error = MPI_Comm_size(WORLD, &mpi_size); + if(error) { + cerr << error << endl; + return -1; + } +#else + mpi_rank = 0; + mpi_size = 1; +#endif + //cerr <<"mpi rank: "< 0) + { + for (int i = 0; i < n ; i++) + { + for (int k = 0; k < NDIM ; k++) + { + save_pos[i][k] = pos[i][k]; + save_vel[i][k] = vel[i][k]; + } + } + predict_step(t_evolve-t); + } + } + real epot, coll_time; + get_acc_jerk_pot_coll(&potential_energy, &coll_time); + if(mpi_rank == 0) { + if (dt > 0) + { + for (int i = 0; i < n ; i++) + { + for (int k = 0; k < NDIM ; k++) + { + pos[i][k] = save_pos[i][k]; + vel[i][k] = save_vel[i][k]; + } + } + } + delete[] save_pos; + delete[] save_vel; + } + *value = potential_energy; + + return 0; +} + +int get_potential(int id, double *value) +{ + if(mpi_rank) {return 0;} + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + if (i < ident.size()) + { + *value = potential[i]; + return 0; + } + else + { + *value = 0.0; + return -1; + } +} + +int get_potential_at_point(double eps, double x, double y, double z, double *phi) +{ + if(mpi_rank) { // calculate only on the root mpi process, not on others + return 0; + } + int n = ident.size(); + double rx,ry,rz,r; + *phi = 0.0; + + for (int i = 0; i< n; i++) + { + rx = pos[i][0]-x; + ry = pos[i][1]-y; + rz = pos[i][2]-z; + r = sqrt(rx*rx+ry*ry+rz*rz + eps2); + *phi -= mass[i]/r; + } + + return 0; +} + +int get_gravity_at_point( + double eps, + double x,double y, double z, + double *ax, double *ay, double *az + ) +{ + if(mpi_rank) { // calculate only on the root mpi process, not on others + return 0; + } + int n = ident.size(); + double rx, ry, rz, r3, r2, r, F; + + *ax = 0; + *ay = 0; + *az = 0; + + for (int i = 0; i 1.0) { + return -1; + } + end_time_accuracy_factor = value; + return 0; +} +int get_end_time_accuracy_factor(double * value) +{ + *value = end_time_accuracy_factor; + return 0; +} diff --git a/src/amuse/community/hermite/interface.h b/src/amuse_hermite/interface.h similarity index 100% rename from src/amuse/community/hermite/interface.h rename to src/amuse_hermite/interface.h diff --git a/src/amuse_hermite/interface.py b/src/amuse_hermite/interface.py new file mode 100644 index 0000000000..04075f1aeb --- /dev/null +++ b/src/amuse_hermite/interface.py @@ -0,0 +1,346 @@ +from amuse.community import * +from amuse.community.interface.gd import GravitationalDynamicsInterface +from amuse.community.interface.gd import GravitationalDynamics +from amuse.community.interface.gd import SinglePointGravityFieldInterface +from amuse.community.interface.gd import GravityFieldCode + +class HermiteInterface(CodeInterface, + LiteratureReferencesMixIn, + GravitationalDynamicsInterface, + StoppingConditionInterface, + SinglePointGravityFieldInterface): + """ + N-body integration module with shared but variable time step + (the same for all particles but its size changing in time), + using the Hermite integration scheme. + + + .. [#] ADS:1995ApJ...443L..93H (Hut, P., Makino, J. & McMillan, S., *Astrophysical Journal Letters* , **443**, L93-L96 (1995)) + """ + include_headers = ['hermite_worker.h', 'stopcond.h'] + + def __init__(self, **options): + CodeInterface.__init__(self, name_of_the_worker="hermite_worker", + **options) + LiteratureReferencesMixIn.__init__(self) + + def reinitialize_particles(self): + self.recommit_particles() + + @legacy_function + def get_dt_dia(): + """ + Get the time interval between diagnostics output. + """ + function = LegacyFunctionSpecification() + function.addParameter('dt_dia', dtype='float64', + direction=function.OUT, + description = "time interval between diagnostic outputs") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_dt_dia(): + """ + Set the time interval between diagnostics output. + """ + function = LegacyFunctionSpecification() + function.addParameter('dt_dia', dtype='float64', + direction=function.IN, + description = "the time interval between diagnostics output") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + @legacy_function + def get_dt_param(): + """ + Get the timestep scaling factor. + """ + function = LegacyFunctionSpecification() + function.addParameter('dt_param', dtype='float64', + direction=function.OUT, + description = "the timestep scaling factor") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_dt_param(): + """ + Set the timestep scaling factor. + """ + function = LegacyFunctionSpecification() + function.addParameter('dt_param', dtype='float64', + direction=function.IN, + description = "the timestep scaling factor") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + @legacy_function + def get_is_time_reversed_allowed(): + """ + If time reversed is allowed for this code, the code will + calculate backwards in time if the endtime given in + evolve_model is less than the system time. + """ + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_is_time_reversed_allowed(): + """ + If time reversed is allowed for this code, the code will + calculate backwards in time if the endtime given in + evolve_model is less than the system time. + """ + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + @legacy_function + def get_time(): + """ + Get the current simulation time. + """ + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='float64', + direction=function.OUT, + description = "the current simulation time") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def get_end_time_accuracy_factor(): + """ + Get the end time accuracy factor: + < 0 will stop between factor * dt befor the end time and the end time + 0 will stop at exactly the end time + > 0 will stop between the end time and factor * dt after the end time + """ + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_end_time_accuracy_factor(): + """ + Set the end time accuracy factor + """ + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + +class HermiteDoc(object): + + def __get__(self, instance, owner): + return instance.legacy_doc+"\n\n"+instance.parameters.__doc__ + + +class Hermite(GravitationalDynamics, GravityFieldCode): + + __doc__ = HermiteDoc() + __interface__ = HermiteInterface + + def __init__(self, convert_nbody = None, **options): + self.stopping_conditions = StoppingConditions(self) + + legacy_interface = self.__interface__(**options) + self.legacy_doc = legacy_interface.__doc__ + + GravitationalDynamics.__init__( + self, + legacy_interface, + convert_nbody, + **options + ) + + def define_state(self, handler): + GravitationalDynamics.define_state(self, handler) + GravityFieldCode.define_state(self, handler) + self.stopping_conditions.define_state(handler) + + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_eps2", + "set_eps2", + "epsilon_squared", + "smoothing parameter for gravity calculations", + default_value = 0.0 | nbody_system.length * nbody_system.length + ) + handler.add_method_parameter( + "get_dt_param", + "set_dt_param", + "dt_param", + "timestep scaling factor", + default_value = 0.03 + ) + handler.add_method_parameter( + "get_end_time_accuracy_factor", + "set_end_time_accuracy_factor", + "end_time_accuracy_factor", + """ + Get the end time accuracy factor: + < 0.0 will stop on or before the end time (larger factor, more before) + 0.0 will stop at exactly the end time + > 0.0 will stop on or after the end time + + Valid factors are between -1.0 and 1.0 + """, + default_value = 0.0 + ) + handler.add_method_parameter( + "get_dt_dia", + "set_dt_dia", + "dt_dia", + "time interval between diagnostics output", + default_value = 1.0 | nbody_system.time + ) + handler.add_method_parameter( + "get_is_time_reversed_allowed", + "set_is_time_reversed_allowed", + "is_time_reversed_allowed", + "if True will calculate back in time when evolve_model end time is less than systemtime", + default_value = False + ) + + handler.add_method_parameter( + "get_begin_time", + "set_begin_time", + "begin_time", + "model time to start the simulation at", + default_value = 0.0 | nbody_system.time + ) + + self.stopping_conditions.define_parameters(handler) + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + + handler.add_method( + "get_eps2", + (), + (nbody_system.length * nbody_system.length, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_eps2", + (nbody_system.length * nbody_system.length, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_dt_param", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_dt_param", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_dt_dia", + (), + (nbody_system.time, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_dt_dia", + (nbody_system.time, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_time", + (), + (nbody_system.time, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_time", + (nbody_system.time, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_pair_detect_factor", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_pair_detect_factor", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + self.stopping_conditions.define_methods(handler) + + def define_particle_sets(self, handler): + GravitationalDynamics.define_particle_sets(self, handler) + + self.stopping_conditions.define_particle_set(handler) diff --git a/src/amuse_hermite/packages/amuse-hermite.amuse_deps b/src/amuse_hermite/packages/amuse-hermite.amuse_deps new file mode 100644 index 0000000000..c125c5ece8 --- /dev/null +++ b/src/amuse_hermite/packages/amuse-hermite.amuse_deps @@ -0,0 +1 @@ +c++ mpi diff --git a/src/amuse_hermite/packages/amuse-hermite/amuse_hermite b/src/amuse_hermite/packages/amuse-hermite/amuse_hermite new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_hermite/packages/amuse-hermite/amuse_hermite @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_hermite/packages/amuse-hermite/pyproject.toml b/src/amuse_hermite/packages/amuse-hermite/pyproject.toml new file mode 100644 index 0000000000..862cb9d289 --- /dev/null +++ b/src/amuse_hermite/packages/amuse-hermite/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-hermite" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_hermite/**/*.py"] +exclude = [ + "amuse_hermite/packages", + "amuse_hermite/support", + "amuse_hermite/src", + "amuse_hermite/tests" + ] +artifacts = ["amuse_hermite/hermite_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_hermite/tests/", "../../../tests"] + +testpaths = ["amuse_hermite/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse_hermite/support/aclocal.m4 b/src/amuse_hermite/support/aclocal.m4 new file mode 100644 index 0000000000..019884c26e --- /dev/null +++ b/src/amuse_hermite/support/aclocal.m4 @@ -0,0 +1,18 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_hermite/support/config.mk.in b/src/amuse_hermite/support/config.mk.in new file mode 100644 index 0000000000..bfa8f7573f --- /dev/null +++ b/src/amuse_hermite/support/config.mk.in @@ -0,0 +1,18 @@ +# Compilers +CXX = @CXX@ + +MPICXX = @MPICXX@ + +# General flags and libraries +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +STOPCONDMPI_CFLAGS = @STOPCONDMPI_CFLAGS@ +STOPCONDMPI_LIBS = @STOPCONDMPI_LIBS@ + +AMUSE_MPI_CFLAGS = @AMUSE_MPI_CFLAGS@ +AMUSE_MPI_LIBS = @AMUSE_MPI_LIBS@ diff --git a/src/amuse_hermite/support/configure b/src/amuse_hermite/support/configure new file mode 100755 index 0000000000..86d7b5d986 --- /dev/null +++ b/src/amuse_hermite/support/configure @@ -0,0 +1,5879 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-hermite 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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" + if (eval "$as_required") 2>/dev/null +then : + as_have_required=yes +else $as_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-hermite' +PACKAGE_TARNAME='amuse-hermite' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-hermite 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPILIBS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +FOUND_AMUSE_MPI +AMUSE_MPI_LIBS +AMUSE_MPI_CFLAGS +FOUND_STOPCONDMPI +STOPCONDMPI_LIBS +STOPCONDMPI_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CFLAGS +CC +OBJEXT +EXEEXT +ac_ct_CXX +CPPFLAGS +LDFLAGS +CXXFLAGS +CXX +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CC +CFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCONDMPI_CFLAGS +STOPCONDMPI_LIBS +AMUSE_MPI_CFLAGS +AMUSE_MPI_LIBS +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-hermite 1.0 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/amuse-hermite] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-hermite 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS 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 + CC C compiler command + CFLAGS C compiler flags + 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 + STOPCONDMPI_CFLAGS + C compiler flags for STOPCONDMPI, overriding pkg-config + STOPCONDMPI_LIBS + linker flags for STOPCONDMPI, overriding pkg-config + AMUSE_MPI_CFLAGS + C compiler flags for AMUSE_MPI, overriding pkg-config + AMUSE_MPI_LIBS + linker flags for AMUSE_MPI, overriding pkg-config + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-hermite configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-hermite $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +# 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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set the worker language + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 +printf %s "checking whether the C++ compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 +printf %s "checking for C++ compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCONDMPI_CFLAGS" + amuse_save_LIB_LIBS="$STOPCONDMPI_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing get_set_conditions_" >&5 +printf %s "checking for library containing get_set_conditions_... " >&6; } +if test ${ac_cv_search_get_set_conditions_+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char get_set_conditions_ (); +int +main (void) +{ +return get_set_conditions_ (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcondmpi +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_get_set_conditions_=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_get_set_conditions_+y} +then : + break +fi +done +if test ${ac_cv_search_get_set_conditions_+y} +then : + +else $as_nop + ac_cv_search_get_set_conditions_=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_get_set_conditions_" >&5 +printf "%s\n" "$ac_cv_search_get_set_conditions_" >&6; } +ac_res=$ac_cv_search_get_set_conditions_ +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCONDMPI="yes" + STOPCONDMPI_LIBS="$LIBS" + STOPCONDMPI_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCONDMPI" >&5 +printf %s "checking for STOPCONDMPI... " >&6; } + +if test -n "$STOPCONDMPI_CFLAGS"; then + pkg_cv_STOPCONDMPI_CFLAGS="$STOPCONDMPI_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcondmpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcondmpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCONDMPI_CFLAGS=`$PKG_CONFIG --cflags "stopcondmpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCONDMPI_LIBS"; then + pkg_cv_STOPCONDMPI_LIBS="$STOPCONDMPI_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcondmpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcondmpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCONDMPI_LIBS=`$PKG_CONFIG --libs "stopcondmpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCONDMPI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcondmpi" 2>&1` + else + STOPCONDMPI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcondmpi" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCONDMPI_PKG_ERRORS" >&5 + + + FOUND_STOPCONDMPI="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCONDMPI="no" + +else + STOPCONDMPI_CFLAGS=$pkg_cv_STOPCONDMPI_CFLAGS + STOPCONDMPI_LIBS=$pkg_cv_STOPCONDMPI_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCONDMPI="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCONDMPI}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCONDMPI_CFLAGS="${STOPCONDMPI_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCONDMPI_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCONDMPI_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$AMUSE_MPI_CFLAGS" + amuse_save_LIB_LIBS="$AMUSE_MPI_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing get_comm_world" >&5 +printf %s "checking for library containing get_comm_world... " >&6; } +if test ${ac_cv_search_get_comm_world+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char get_comm_world (); +int +main (void) +{ +return get_comm_world (); + ; + return 0; +} +_ACEOF +for ac_lib in '' amuse_mpi +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_get_comm_world=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_get_comm_world+y} +then : + break +fi +done +if test ${ac_cv_search_get_comm_world+y} +then : + +else $as_nop + ac_cv_search_get_comm_world=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_get_comm_world" >&5 +printf "%s\n" "$ac_cv_search_get_comm_world" >&6; } +ac_res=$ac_cv_search_get_comm_world +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_AMUSE_MPI="yes" + AMUSE_MPI_LIBS="$LIBS" + AMUSE_MPI_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for AMUSE_MPI" >&5 +printf %s "checking for AMUSE_MPI... " >&6; } + +if test -n "$AMUSE_MPI_CFLAGS"; then + pkg_cv_AMUSE_MPI_CFLAGS="$AMUSE_MPI_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"amuse_mpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "amuse_mpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_AMUSE_MPI_CFLAGS=`$PKG_CONFIG --cflags "amuse_mpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$AMUSE_MPI_LIBS"; then + pkg_cv_AMUSE_MPI_LIBS="$AMUSE_MPI_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"amuse_mpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "amuse_mpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_AMUSE_MPI_LIBS=`$PKG_CONFIG --libs "amuse_mpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + AMUSE_MPI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "amuse_mpi" 2>&1` + else + AMUSE_MPI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "amuse_mpi" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$AMUSE_MPI_PKG_ERRORS" >&5 + + + FOUND_AMUSE_MPI="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_AMUSE_MPI="no" + +else + AMUSE_MPI_CFLAGS=$pkg_cv_AMUSE_MPI_CFLAGS + AMUSE_MPI_LIBS=$pkg_cv_AMUSE_MPI_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_AMUSE_MPI="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_AMUSE_MPI}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + AMUSE_MPI_CFLAGS="${AMUSE_MPI_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + AMUSE_MPI_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + AMUSE_MPI_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + +# find mpi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-hermite $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-hermite config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + diff --git a/src/amuse_hermite/support/configure.ac b/src/amuse_hermite/support/configure.ac new file mode 100644 index 0000000000..45716c3c87 --- /dev/null +++ b/src/amuse_hermite/support/configure.ac @@ -0,0 +1,23 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-hermite], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set the worker language +AC_PROG_CXX() + +# Find AMUSE libraries +AMUSE_LIB_STOPCONDMPI() +AMUSE_LIB_AMUSE_MPI() + +# find mpi +AC_LANG_PUSH([C++]) +AX_MPI() +AC_LANG_POP([C++]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT diff --git a/src/amuse_hermite/support/shared b/src/amuse_hermite/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_hermite/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_hermite.py b/src/amuse_hermite/tests/test_hermite.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_hermite.py rename to src/amuse_hermite/tests/test_hermite.py index 3d5cc39e97..964c0819b8 100644 --- a/src/amuse/test/suite/codes_tests/test_hermite.py +++ b/src/amuse_hermite/tests/test_hermite.py @@ -1,10 +1,10 @@ -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI import os import sys import numpy import math -from amuse.community.hermite.interface import HermiteInterface, Hermite +from amuse_hermite.interface import HermiteInterface, Hermite from amuse.units import nbody_system from amuse.units import units @@ -12,7 +12,7 @@ from amuse.ic import plummer from amuse.ic.plummer import new_plummer_model -from amuse.test.suite.codes_tests.gd_tests import ( +from codes_tests.gd_tests import ( _TestGravitationalDynamicsInterface, ) try: @@ -484,7 +484,7 @@ def test12(self): self.assertAlmostEqual(instance.stopping_conditions.out_of_box_detection.particles(0).x, 1.0 | nbody_system.length, 3) instance.stop() - def test13(self): + def test13_noci(self): particles = plummer.new_plummer_model(31) instance = Hermite(number_of_workers=1) # , debugger="xterm") diff --git a/src/amuse/community/hermite/vec3.h b/src/amuse_hermite/vec3.h similarity index 100% rename from src/amuse/community/hermite/vec3.h rename to src/amuse_hermite/vec3.h diff --git a/src/amuse/community/mmc/amuselib/__init__.py b/src/amuse_hermite0/__init__.py similarity index 100% rename from src/amuse/community/mmc/amuselib/__init__.py rename to src/amuse_hermite0/__init__.py diff --git a/src/amuse_hermite0/interface.py b/src/amuse_hermite0/interface.py new file mode 100644 index 0000000000..cf078a328e --- /dev/null +++ b/src/amuse_hermite0/interface.py @@ -0,0 +1,6 @@ +from amuse.community import * +from amuse.community.interface.gd import GravitationalDynamicsInterface +from amuse.community.interface.gd import GravitationalDynamics +from amuse.community.interface.gd import SinglePointGravityFieldInterface +from amuse.community.interface.gd import GravityFieldCode +from amuse.community.hermite.interface import * diff --git a/src/amuse_hermite_grx/.gitignore b/src/amuse_hermite_grx/.gitignore new file mode 100644 index 0000000000..768c2cf79a --- /dev/null +++ b/src/amuse_hermite_grx/.gitignore @@ -0,0 +1,2 @@ +hermite_grx.tar.gz + diff --git a/src/amuse_hermite_grx/Makefile b/src/amuse_hermite_grx/Makefile new file mode 100644 index 0000000000..c72c752e81 --- /dev/null +++ b/src/amuse_hermite_grx/Makefile @@ -0,0 +1,86 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Downloading the code +VERSION = c69fa0af018adbbd13d30a7e853c0179b8afbf7f + +hermite_grx.tar.gz: + $(DOWNLOAD) https://github.com/amusecode/Hermite_GRX/archive/$(VERSION).tar.gz >$@ + +src: + mkdir -p src + +src/Hermite_GRX: | hermite_grx.tar.gz src + tar xf hermite_grx.tar.gz + mv Hermite_GRX-$(VERSION) $@ + + +# Building the code into a static library +DEPFLAGS += $(STOPCOND_CFLAGS) +CFLAGS += $(DEPFLAGS) -pthread +LDFLAGS += -pthread + +LDLIBS += $(STOPCOND_LIBS) + +CODELIB = src/Hermite_GRX/src/libhermite_grx.a + + +.PHONY: $(CODELIB) +$(CODELIB): | src/Hermite_GRX + $(MAKE) -C src/Hermite_GRX/src -j $(CPU_COUNT) all CC_FLAGS='$(CFLAGS)' LD_FLAGS='$(LD_FLAGS)' + + +# Building the workers +hermite_grx_worker.h: interface.py + amusifier --type=H -i amuse.community.interface.stopping_conditions.StoppingConditionInterface interface.py HermiteGRXInterface -o $@ + +hermite_grx_worker.cc: interface.py + amusifier --type=c interface.py HermiteGRXInterface -o $@ + +hermite_grx_worker.o: hermite_grx_worker.cc hermite_grx_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + +hermite_grx_worker: interface.o hermite_grx_worker.o $(CODELIB) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +interface.o: interface.cc | src/Hermite_GRX + $(MPICXX) -o $@ -c $(CFLAGS) $< + + +# Which packages contain which workers? +amuse-hermite-grx_contains: hermite_grx_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + -$(MAKE) -C src/Hermite_GRX/src clean + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_hermite_grx/__init__.py b/src/amuse_hermite_grx/__init__.py new file mode 100644 index 0000000000..9f33442ba6 --- /dev/null +++ b/src/amuse_hermite_grx/__init__.py @@ -0,0 +1 @@ +from .interface import Hermitegrx diff --git a/src/amuse/community/hermite_grx/interface.cc b/src/amuse_hermite_grx/interface.cc old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/hermite_grx/interface.cc rename to src/amuse_hermite_grx/interface.cc diff --git a/src/amuse_hermite_grx/interface.py b/src/amuse_hermite_grx/interface.py new file mode 100644 index 0000000000..0e2cfae995 --- /dev/null +++ b/src/amuse_hermite_grx/interface.py @@ -0,0 +1,604 @@ +from amuse.community import * +from amuse.community.interface.gd import * +from amuse.community.interface.stopping_conditions import * + + +class HermitegrxInterface( + CodeInterface, GravitationalDynamicsInterface, StoppingConditionInterface +): + include_headers = ["hermite_grx_worker.h", "stopcond.h"] + + def __init__(self, **keyword_arguments): + CodeInterface.__init__( + self, name_of_the_worker="hermite_grx_worker", **keyword_arguments + ) + self.initialize_code() + + def reinitialize_particles(self): + self.recommit_particles() + + @legacy_function + def get_dt_param(): + """ + Get the timestep scaling factor. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "dt_param", + dtype="float64", + direction=function.OUT, + description="the timestep scaling factor", + ) + function.result_type = "int32" + return function + + @legacy_function + def set_dt_param(): + """ + Set the timestep scaling factor. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "dt_param", + dtype="float64", + direction=function.IN, + description="the timestep scaling factor", + ) + function.result_type = "int32" + return function + + @legacy_function + def get_time(): + """ + Get the current simulation time. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "time", + dtype="float64", + direction=function.OUT, + description="the current simulation time", + ) + function.result_type = "int32" + return function + + @legacy_function + def set_time(): + """ + Set the current simulation time. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "time", + dtype="float64", + direction=function.IN, + description="the current simulation time", + ) + function.result_type = "int32" + return function + + @legacy_function + def get_light_speed(): + """ + Get the speed of light. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "lightspeed", + dtype="float64", + direction=function.OUT, + description="the current speed of light", + ) + function.result_type = "int32" + return function + + @legacy_function + def set_light_speed(): + """ + Set the speed of light. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "lightspeed", + dtype="float64", + direction=function.IN, + description="the current speed of light", + ) + function.result_type = "int32" + return function + + @legacy_function + def get_integrator(): + """ + Get the current integrator. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "integrator", + dtype="string", + direction=function.OUT, + description="the current integrator", + ) + function.result_type = "int32" + return function + + @legacy_function + def set_integrator(): + """ + Set the current force calculator. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "integrator", + dtype="string", + direction=function.IN, + description="the current integrator", + ) + function.result_type = "int32" + return function + + @legacy_function + def get_perturbation(): + """ + Get the current perturbation. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "interaction", + dtype="string", + direction=function.OUT, + description="the current perturbation", + ) + function.result_type = "int32" + return function + + @legacy_function + def set_perturbation(): + """ + Set the current perturbation. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "interaction", + dtype="string", + direction=function.IN, + description="the current perturbation", + ) + function.result_type = "int32" + return function + + @legacy_function + def get_num_threads(): + """ + Get the number of threads. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "num_threads", + dtype="int32", + direction=function.OUT, + description="the number of threads", + ) + function.result_type = "int32" + return function + + @legacy_function + def set_num_threads(): + """ + Set the number of threads. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "num_threads", + dtype="int32", + direction=function.IN, + description="the number of threads", + ) + function.result_type = "int32" + return function + + @legacy_function + def get_total_energy_with(): + """ + Get the total energy. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "type", + dtype="string", + direction=function.IN, + description="the perturbation with which to calculate", + ) + function.addParameter( + "etot", + dtype="float64", + direction=function.OUT, + description="the current total energy", + ) + function.result_type = "int32" + return function + + @legacy_function + def get_total_linear_momentum_with(): + """ + Get the total linear momentum. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "type", + dtype="string", + direction=function.IN, + description="the perturbation with which to calculate", + ) + function.addParameter( + "px", + dtype="float64", + direction=function.OUT, + description="the momentum in x", + ) + function.addParameter( + "py", + dtype="float64", + direction=function.OUT, + description="the momentum in y", + ) + function.addParameter( + "pz", + dtype="float64", + direction=function.OUT, + description="the momentum in z", + ) + function.result_type = "int32" + return function + + @legacy_function + def new_large_particle(): + """ + Add a new black hole particle. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + "id", dtype="int32", direction=function.OUT, description="the identifier" + ) + function.addParameter( + "mass", dtype="float64", direction=function.IN, description="the mass" + ) + function.addParameter( + "x", dtype="float64", direction=function.IN, description="the x position" + ) + function.addParameter( + "y", dtype="float64", direction=function.IN, description="the y position" + ) + function.addParameter( + "z", dtype="float64", direction=function.IN, description="the z position" + ) + function.addParameter( + "vx", dtype="float64", direction=function.IN, description="the x velocity" + ) + function.addParameter( + "vy", dtype="float64", direction=function.IN, description="the y velocity" + ) + function.addParameter( + "vz", dtype="float64", direction=function.IN, description="the z velocity" + ) + function.addParameter( + "radius", dtype="float64", direction=function.IN, description="the radius" + ) + function.result_type = "int32" + return function + + @legacy_function + def new_small_particle(): + """ + Add a new star particle. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + "id", dtype="int32", direction=function.OUT, description="the identifier" + ) + function.addParameter( + "mass", dtype="float64", direction=function.IN, description="the mass" + ) + function.addParameter( + "x", dtype="float64", direction=function.IN, description="the x position" + ) + function.addParameter( + "y", dtype="float64", direction=function.IN, description="the y position" + ) + function.addParameter( + "z", dtype="float64", direction=function.IN, description="the z position" + ) + function.addParameter( + "vx", dtype="float64", direction=function.IN, description="the x velocity" + ) + function.addParameter( + "vy", dtype="float64", direction=function.IN, description="the y velocity" + ) + function.addParameter( + "vz", dtype="float64", direction=function.IN, description="the z velocity" + ) + function.addParameter( + "radius", dtype="float64", direction=function.IN, description="the radius" + ) + function.result_type = "int32" + return function + + @legacy_function + def get_jerk(): + """ + Retrieve the jerk vector of a particle. Third time derivative + of the position. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "index_of_the_particle", + dtype="int32", + direction=function.IN, + description=( + "Index of the particle to get the state from. This index must " + "have been returned by an earlier call to :meth:`new_particle`" + ), + ) + function.addParameter( + "jx", + dtype="float64", + direction=function.OUT, + description="The current jerk vector of the particle", + ) + function.addParameter( + "jy", + dtype="float64", + direction=function.OUT, + description="The current jerk vector of the particle", + ) + function.addParameter( + "jz", + dtype="float64", + direction=function.OUT, + description="The current jerk vector of the particle", + ) + function.result_type = "int32" + function.can_handle_array = True + function.result_doc = """ + 0 - OK + current value was retrieved + -1 - ERROR + particle could not be found + -2 - ERROR + not yet implemented + """ + return function + + @legacy_function + def set_jerk(): + """ + Update the jerk of a particle. + *Defined for symetry with the get_acceleration function.* + *Should be removed if physaccily unsound* + *Maybe moved to snapshot support functionality* + """ + function = LegacyFunctionSpecification() + function.addParameter( + "index_of_the_particle", + dtype="int32", + direction=function.IN, + description=( + "Index of the particle for which the state is to be updated. " + "This index must have been returned by an earlier call to " + ":meth:`new_particle`" + ), + ) + function.addParameter( + "ax", + dtype="float64", + direction=function.IN, + description="The new jerk vector of the particle", + ) + function.addParameter( + "ay", + dtype="float64", + direction=function.IN, + description="The new jerk vector of the particle", + ) + function.addParameter( + "az", + dtype="float64", + direction=function.IN, + description="The new jerk vector of the particle", + ) + function.result_type = "int32" + function.can_handle_array = True + function.result_doc = """ + 0 - OK + particle was found in the model and the information was set + -1 - ERROR + particle could not be found + -2 - ERROR + code does not support updating of a particle + -3 - ERROR + not yet implemented + """ + return function + + +class Hermitegrx(GravitationalDynamics): + def __init__(self, convert_nbody=None, **options): + self.stopping_conditions = StoppingConditions(self) + + legacy_interface = HermitegrxInterface(**options) + GravitationalDynamics.__init__(self, legacy_interface, convert_nbody, **options) + + def define_state(self, object): + GravitationalDynamics.define_state(self, object) + + def define_parameters(self, object): + object.add_method_parameter( + "get_eps2", + "set_eps2", + "epsilon_squared", + "smoothing parameter for gravity calculations", + default_value=0.0 | nbody_system.length ** 2, + ) + object.add_method_parameter( + "get_dt_param", + "set_dt_param", + "dt_param", + "timestep scaling factor", + default_value=0.03, + ) + object.add_method_parameter( + "get_light_speed", + "set_light_speed", + "light_speed", + "the speed of light", + default_value=1 | nbody_system.speed, + ) + object.add_method_parameter( + "get_integrator", + "set_integrator", + "integrator", + "the integrator", + default_value="Hermite", + ) + object.add_method_parameter( + "get_perturbation", + "set_perturbation", + "perturbation", + "the perturbation", + default_value="None", + ) + object.add_method_parameter( + "get_num_threads", + "set_num_threads", + "num_threads", + "the number of threads", + default_value=1, + ) + + self.stopping_conditions.define_parameters(object) + + def define_methods(self, object): + GravitationalDynamics.define_methods(self, object) + + momentum = nbody_system.speed * nbody_system.mass + + object.add_method( + "get_eps2", (), (nbody_system.length ** 2, object.ERROR_CODE,) + ) + object.add_method("set_eps2", (nbody_system.length ** 2,), (object.ERROR_CODE,)) + object.add_method("get_dt_param", (), (object.NO_UNIT, object.ERROR_CODE,)) + object.add_method("set_dt_param", (object.NO_UNIT,), (object.ERROR_CODE,)) + object.add_method("get_time", (), (nbody_system.time, object.ERROR_CODE,)) + object.add_method("set_time", (nbody_system.time,), (object.ERROR_CODE,)) + object.add_method( + "get_light_speed", (), (nbody_system.speed, object.ERROR_CODE,) + ) + object.add_method( + "set_light_speed", (nbody_system.speed,), (object.ERROR_CODE,) + ) + object.add_method( + "get_total_energy_with", + (object.NO_UNIT), + (nbody_system.energy, object.ERROR_CODE,), + ) + object.add_method( + "get_total_linear_momentum_with", + (object.NO_UNIT), + (momentum, momentum, momentum, object.ERROR_CODE,), + ) + object.add_method( + "new_large_particle", + ( + nbody_system.mass, + nbody_system.length, + nbody_system.length, + nbody_system.length, + nbody_system.speed, + nbody_system.speed, + nbody_system.speed, + nbody_system.length, + ), + (object.INDEX, object.ERROR_CODE), + ) + object.add_method( + "new_small_particle", + ( + nbody_system.mass, + nbody_system.length, + nbody_system.length, + nbody_system.length, + nbody_system.speed, + nbody_system.speed, + nbody_system.speed, + nbody_system.length, + ), + (object.INDEX, object.ERROR_CODE), + ) + object.add_method( + "get_acceleration", + (object.NO_UNIT,), + ( + nbody_system.acceleration, + nbody_system.acceleration, + nbody_system.acceleration, + object.ERROR_CODE, + ), + ) + object.add_method( + "get_jerk", + (object.NO_UNIT,), + ( + nbody_system.length / nbody_system.time ** 3, + nbody_system.length / nbody_system.time ** 3, + nbody_system.length / nbody_system.time ** 3, + object.ERROR_CODE, + ), + ) + + self.stopping_conditions.define_methods(object) + + def define_particle_sets(self, object): + object.define_super_set( + "particles", ["large_particles", "small_particles"], index_to_default_set=1 + ) + + object.define_set("large_particles", "index_of_the_particle") + object.set_new("large_particles", "new_large_particle") + object.set_delete("large_particles", "delete_particle") + object.add_setter("large_particles", "set_state") + object.add_getter("large_particles", "get_state") + object.add_setter("large_particles", "set_mass") + object.add_getter("large_particles", "get_mass", names=("mass",)) + object.add_setter("large_particles", "set_position") + object.add_getter("large_particles", "get_position") + object.add_setter("large_particles", "set_velocity") + object.add_getter("large_particles", "get_velocity") + object.add_setter("large_particles", "set_radius") + object.add_getter("large_particles", "get_radius") + object.add_getter("large_particles", "get_acceleration") + object.add_getter("large_particles", "get_jerk") + + object.define_set("small_particles", "index_of_the_particle") + object.set_new("small_particles", "new_small_particle") + object.set_delete("small_particles", "delete_particle") + object.add_setter("small_particles", "set_state") + object.add_getter("small_particles", "get_state") + object.add_setter("small_particles", "set_mass") + object.add_getter("small_particles", "get_mass", names=("mass",)) + object.add_setter("small_particles", "set_position") + object.add_getter("small_particles", "get_position") + object.add_setter("small_particles", "set_velocity") + object.add_getter("small_particles", "get_velocity") + object.add_setter("small_particles", "set_radius") + object.add_getter("small_particles", "get_radius") + object.add_getter("small_particles", "get_acceleration") + object.add_getter("small_particles", "get_jerk") + + self.stopping_conditions.define_particle_set(object) + + +# for backwards compatibility reasons +HermiteGRXInterface = HermitegrxInterface +HermiteGRX = Hermitegrx diff --git a/src/amuse_hermite_grx/packages/amuse-hermite-grx.amuse_deps b/src/amuse_hermite_grx/packages/amuse-hermite-grx.amuse_deps new file mode 100644 index 0000000000..f7dca29267 --- /dev/null +++ b/src/amuse_hermite_grx/packages/amuse-hermite-grx.amuse_deps @@ -0,0 +1 @@ +c++ download mpi diff --git a/src/amuse_hermite_grx/packages/amuse-hermite-grx/amuse_hermite_grx b/src/amuse_hermite_grx/packages/amuse-hermite-grx/amuse_hermite_grx new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_hermite_grx/packages/amuse-hermite-grx/amuse_hermite_grx @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_hermite_grx/packages/amuse-hermite-grx/pyproject.toml b/src/amuse_hermite_grx/packages/amuse-hermite-grx/pyproject.toml new file mode 100644 index 0000000000..eb468ed9bf --- /dev/null +++ b/src/amuse_hermite_grx/packages/amuse-hermite-grx/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-hermite-grx" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_hermite_grx/**/*.py"] +exclude = [ + "amuse_hermite_grx/packages", + "amuse_hermite_grx/support", + "amuse_hermite_grx/src", + "amuse_hermite_grx/tests" + ] +artifacts = ["amuse_hermite_grx/hermite_grx_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_hermite_grx/tests/"] + +testpaths = ["amuse_hermite_grx/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse_hermite_grx/support/aclocal.m4 b/src/amuse_hermite_grx/support/aclocal.m4 new file mode 100644 index 0000000000..db9a4969a6 --- /dev/null +++ b/src/amuse_hermite_grx/support/aclocal.m4 @@ -0,0 +1,20 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_download.m4]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_hermite_grx/support/config.mk.in b/src/amuse_hermite_grx/support/config.mk.in new file mode 100644 index 0000000000..1730832fd3 --- /dev/null +++ b/src/amuse_hermite_grx/support/config.mk.in @@ -0,0 +1,21 @@ +# Compilers +CXX = @CXX@ +MPICXX = @MPICXX@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ +DOWNLOAD = @DOWNLOAD@ +TAR = @TAR@ + +# General flags and libraries +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ +LIBS = @LIBS@ + +# AMUSE framework libraries +STOPCOND_CFLAGS = @STOPCOND_CFLAGS@ +STOPCOND_LIBS = @STOPCOND_LIBS@ + diff --git a/src/amuse_hermite_grx/support/configure b/src/amuse_hermite_grx/support/configure new file mode 100755 index 0000000000..1df350d85e --- /dev/null +++ b/src/amuse_hermite_grx/support/configure @@ -0,0 +1,6799 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-hermite_grx 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-hermite_grx' +PACKAGE_TARNAME='amuse-hermite_grx' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-hermite_grx 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPILIBS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +FOUND_STOPCOND +STOPCOND_LIBS +STOPCOND_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CFLAGS +CC +GUNZIP +TAR +DOWNLOAD +CURL +WGET +RANLIB +AR +target_os +target_vendor +target_cpu +target +OBJEXT +EXEEXT +ac_ct_CXX +CPPFLAGS +LDFLAGS +CXXFLAGS +CXX +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CC +CFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCOND_CFLAGS +STOPCOND_LIBS +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-hermite_grx 1.0 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/amuse-hermite_grx] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-hermite_grx 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS 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 + CC C compiler command + CFLAGS C compiler flags + 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 + STOPCOND_CFLAGS + C compiler flags for STOPCOND, overriding pkg-config + STOPCOND_LIBS + linker flags for STOPCOND, overriding pkg-config + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-hermite_grx configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-hermite_grx $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 +printf %s "checking whether the C++ compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 +printf %s "checking for C++ compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find tools to download and unpack with + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}wget", so it can be a program name with args. +set dummy ${ac_tool_prefix}wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$WGET"; then + ac_cv_prog_WGET="$WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="${ac_tool_prefix}wget" + printf "%s\n" "$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 +WGET=$ac_cv_prog_WGET +if test -n "$WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $WGET" >&5 +printf "%s\n" "$WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_WGET"; then + ac_ct_WGET=$WGET + # Extract the first word of "wget", so it can be a program name with args. +set dummy wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_WGET"; then + ac_cv_prog_ac_ct_WGET="$ac_ct_WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="wget" + printf "%s\n" "$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_WGET=$ac_cv_prog_ac_ct_WGET +if test -n "$ac_ct_WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WGET" >&5 +printf "%s\n" "$ac_ct_WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_WGET" = x; then + WGET="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + WGET=$ac_ct_WGET + fi +else + WGET="$ac_cv_prog_WGET" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}curl", so it can be a program name with args. +set dummy ${ac_tool_prefix}curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CURL"; then + ac_cv_prog_CURL="$CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="${ac_tool_prefix}curl" + printf "%s\n" "$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 +CURL=$ac_cv_prog_CURL +if test -n "$CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CURL" >&5 +printf "%s\n" "$CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CURL"; then + ac_ct_CURL=$CURL + # Extract the first word of "curl", so it can be a program name with args. +set dummy curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CURL"; then + ac_cv_prog_ac_ct_CURL="$ac_ct_CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="curl" + printf "%s\n" "$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_CURL=$ac_cv_prog_ac_ct_CURL +if test -n "$ac_ct_CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CURL" >&5 +printf "%s\n" "$ac_ct_CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CURL" = x; then + CURL="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CURL=$ac_ct_CURL + fi +else + CURL="$ac_cv_prog_CURL" +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a wget or curl to download files with" >&5 +printf %s "checking for a wget or curl to download files with... " >&6; } + if test "x$WGET" != "x" + then + # The MESA SDK server rejects wget, this is the official work-around + DOWNLOAD="$WGET --progress=bar:force:noscroll --user-agent='' -O -" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + if test "x$CURL" != "x" + then + DOWNLOAD="$CURL -L" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + fi + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}tar", so it can be a program name with args. +set dummy ${ac_tool_prefix}tar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_TAR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$TAR"; then + ac_cv_prog_TAR="$TAR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_TAR="${ac_tool_prefix}tar" + printf "%s\n" "$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 +TAR=$ac_cv_prog_TAR +if test -n "$TAR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $TAR" >&5 +printf "%s\n" "$TAR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_TAR"; then + ac_ct_TAR=$TAR + # Extract the first word of "tar", so it can be a program name with args. +set dummy tar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_TAR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_TAR"; then + ac_cv_prog_ac_ct_TAR="$ac_ct_TAR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_TAR="tar" + printf "%s\n" "$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_TAR=$ac_cv_prog_ac_ct_TAR +if test -n "$ac_ct_TAR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_TAR" >&5 +printf "%s\n" "$ac_ct_TAR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_TAR" = x; then + TAR="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + TAR=$ac_ct_TAR + fi +else + TAR="$ac_cv_prog_TAR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gunzip", so it can be a program name with args. +set dummy ${ac_tool_prefix}gunzip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_GUNZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$GUNZIP"; then + ac_cv_prog_GUNZIP="$GUNZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_GUNZIP="${ac_tool_prefix}gunzip" + printf "%s\n" "$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 +GUNZIP=$ac_cv_prog_GUNZIP +if test -n "$GUNZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GUNZIP" >&5 +printf "%s\n" "$GUNZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_GUNZIP"; then + ac_ct_GUNZIP=$GUNZIP + # Extract the first word of "gunzip", so it can be a program name with args. +set dummy gunzip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_GUNZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_GUNZIP"; then + ac_cv_prog_ac_ct_GUNZIP="$ac_ct_GUNZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_GUNZIP="gunzip" + printf "%s\n" "$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_GUNZIP=$ac_cv_prog_ac_ct_GUNZIP +if test -n "$ac_ct_GUNZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GUNZIP" >&5 +printf "%s\n" "$ac_ct_GUNZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_GUNZIP" = x; then + GUNZIP="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + GUNZIP=$ac_ct_GUNZIP + fi +else + GUNZIP="$ac_cv_prog_GUNZIP" +fi + + + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCOND_CFLAGS" + amuse_save_LIB_LIBS="$STOPCOND_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing is_condition_enabled" >&5 +printf %s "checking for library containing is_condition_enabled... " >&6; } +if test ${ac_cv_search_is_condition_enabled+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char is_condition_enabled (); +int +main (void) +{ +return is_condition_enabled (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcond +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_is_condition_enabled=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_is_condition_enabled+y} +then : + break +fi +done +if test ${ac_cv_search_is_condition_enabled+y} +then : + +else $as_nop + ac_cv_search_is_condition_enabled=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_is_condition_enabled" >&5 +printf "%s\n" "$ac_cv_search_is_condition_enabled" >&6; } +ac_res=$ac_cv_search_is_condition_enabled +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCOND="yes" + STOPCOND_LIBS="$LIBS" + STOPCOND_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCOND" >&5 +printf %s "checking for STOPCOND... " >&6; } + +if test -n "$STOPCOND_CFLAGS"; then + pkg_cv_STOPCOND_CFLAGS="$STOPCOND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_CFLAGS=`$PKG_CONFIG --cflags "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCOND_LIBS"; then + pkg_cv_STOPCOND_LIBS="$STOPCOND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_LIBS=`$PKG_CONFIG --libs "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcond" 2>&1` + else + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcond" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCOND_PKG_ERRORS" >&5 + + + FOUND_STOPCOND="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCOND="no" + +else + STOPCOND_CFLAGS=$pkg_cv_STOPCOND_CFLAGS + STOPCOND_LIBS=$pkg_cv_STOPCOND_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCOND="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCOND}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCOND_CFLAGS="${STOPCOND_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCOND_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCOND_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-hermite_grx $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-hermite_grx config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_hermite_grx/support/configure.ac b/src/amuse_hermite_grx/support/configure.ac new file mode 100644 index 0000000000..b77221fbed --- /dev/null +++ b/src/amuse_hermite_grx/support/configure.ac @@ -0,0 +1,44 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-hermite_grx], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_CXX() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find tools to download and unpack with +AMUSE_DOWNLOAD() +AC_CHECK_TOOL(TAR, tar) +AC_CHECK_TOOL(GUNZIP, gunzip) + + +# Find AMUSE libraries +AMUSE_LIB_STOPCOND() + + +# Find external dependencies +AC_LANG_PUSH([C++]) + +AX_MPI() + +AC_LANG_POP([C++]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_hermite_grx/support/shared b/src/amuse_hermite_grx/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_hermite_grx/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse_hermite_grx/tests/test_hermite_grx.py b/src/amuse_hermite_grx/tests/test_hermite_grx.py new file mode 100644 index 0000000000..7684f8cfeb --- /dev/null +++ b/src/amuse_hermite_grx/tests/test_hermite_grx.py @@ -0,0 +1,14 @@ +from amuse_hermite_grx.interface import HermiteGRX, HermiteGRXInterface + + +class TestTests: + """Dummy test class to avoid failure. + + Pytest fails the tests if it doesn't find any. Hermite GRX doesn't have any tests + yet, so here's a dummy test to avoid the CI failing. + + Of course ideally there would be some actual tests, so please add some if you can. + """ + + def test_dummy(self): + pass diff --git a/src/amuse_higpus/Makefile b/src/amuse_higpus/Makefile new file mode 100644 index 0000000000..a61ca1eb8f --- /dev/null +++ b/src/amuse_higpus/Makefile @@ -0,0 +1,78 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + +# Building the code into a static library +DEPFLAGS += $(OPENMP_CXXFLAGS) $(CUDA_FLAGS) +CXXFLAGS += -O3 -Wall -DCHECK_ERRORS $(DEPFLAGS) + +# Custom options, should really be run-time +# CXXFLAGS += -DCHECK_TIMES -DPLUMMER -DUNROLL -DGPUCORR -DGALAXY + +NVCCFLAGS := -O3 -Xcompiler "$(CXXFLAGS) $(MPI_CXXFLAGS)" -Ilib + +LDFLAGS += $(OPENMP_CXXFLAGS) $(CUDA_LDFLAGS) + +LDLIBS += -lcudart + +CODELIB = src/libhigpus.a + +.PHONY: $(CODELIB) +$(CODELIB): + $(MAKE) -C src -j $(CPU_COUNT) all NVCC="$(NVCC)" NVCCFLAGS='$(NVCCFLAGS)' CXX="$(MPICXX)" + + +# Building the workers +higpus_cuda_worker.h: interface.py + amusifier --type=H interface.py HiGPUsInterface -o $@ + +higpus_cuda_worker.cc: interface.py + amusifier --type=c interface.py HiGPUsInterface -o $@ + +higpus_cuda_worker.o: higpus_cuda_worker.cc higpus_cuda_worker.h + $(MPICXX) -c -o $@ $(CXXFLAGS) $< + +higpus_cuda_worker: higpus_cuda_worker.o interface.o $(CODELIB) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +%.o: %.cc + $(MPICXX) -o $@ -c $(CXXFLAGS) $< + + +# Which packages contain which workers? +amuse-higpus-cuda_contains: higpus_cuda_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *.o *worker* + rm -rf packages/amuse-higpus-cuda/.pytest_cache + rm -rf packages/amuse-higpus-cuda/__amuse_code_output + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_higpus/__init__.py b/src/amuse_higpus/__init__.py new file mode 100644 index 0000000000..351cd91582 --- /dev/null +++ b/src/amuse_higpus/__init__.py @@ -0,0 +1,2 @@ +# generated file +from .interface import Higpus diff --git a/src/amuse/community/higpus/interface.cc b/src/amuse_higpus/interface.cc similarity index 100% rename from src/amuse/community/higpus/interface.cc rename to src/amuse_higpus/interface.cc diff --git a/src/amuse_higpus/interface.py b/src/amuse_higpus/interface.py new file mode 100644 index 0000000000..d939db8185 --- /dev/null +++ b/src/amuse_higpus/interface.py @@ -0,0 +1,877 @@ +import os + +from amuse.community import * +from amuse.community.interface.gd import GravitationalDynamics +from amuse.community.interface.gd import GravitationalDynamicsInterface + +class HiGPUsInterface(CodeInterface, + GravitationalDynamicsInterface, + LiteratureReferencesMixIn, + CodeWithDataDirectories + ): + + + """ + HiGPUs is a parallel direct N-body code based on a 6th order Hermite integrator. It uses, at the same time, MPI, OpenMP and CUDA + libraries to fully exploit all the capabilities offered by hybrid supercomputing platforms. Moreover, it is implemented using block + time steps such to be able to deal with stiff problems like highly collisional gravitational N-body + problems. + + NOTE_1: the code works with nbody units ( G = 1 ): please check the parameters, more info are given in the README file + NOTE_2: the evolve method requires an input time (in nbody units) greater than or equal of the maximum time step ( 't' > or = 'max_step') + NOTE_3: the code only seems to work when the number of particles is a power of 2 + + + .. [#] ADS:2013JCoPh.236..580C (R. Capuzzo-Dolcetta, M. Spera, D.Punzo, *Journal of Computational Physics*, Volume 236, 1 March 2013, Pages 580-593: + .. [#] ... 'A fully parallel, high precision, N-body code running on hybrid computing platforms') + """ + + + include_headers = ['higpus_cuda_worker.h'] + + def __init__(self, **keyword_arguments): + CodeInterface.__init__(self, name_of_the_worker="higpus_cuda_worker", **keyword_arguments) + LiteratureReferencesMixIn.__init__(self) + CodeWithDataDirectories.__init__(self) + + + + @legacy_function + def echo_int(): + function = LegacyFunctionSpecification() + function.addParameter('int_in', dtype='int32', direction=function.IN) + function.addParameter('int_out', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def new_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT) + function.addParameter('mass', dtype='float64', direction=function.IN, + description = "The mass of the particle") + function.addParameter('x', dtype='float64', direction=function.IN, + description = "The initial position vector of the particle") + function.addParameter('y', dtype='float64', direction=function.IN, + description = "The initial position vector of the particle") + function.addParameter('z', dtype='float64', direction=function.IN, + description = "The initial position vector of the particle") + function.addParameter('vx', dtype='float64', direction=function.IN, + description = "The initial velocity vector of the particle") + function.addParameter('vy', dtype='float64', direction=function.IN, + description = "The initial velocity vector of the particle") + function.addParameter('vz', dtype='float64', direction=function.IN, + description = "The initial velocity vector of the particle") + function.addParameter('radius', dtype='float64', direction=function.IN, + description = "The radius of the particle", default = 0) + function.result_type = 'int32' + return function + + @legacy_function + def set_state(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('mass', dtype='float64', direction=function.IN, + description = "The mass of the particle") + function.addParameter('radius', dtype='float64', direction=function.IN, + description = "The radius of the particle") + function.addParameter('x', dtype='float64', direction=function.IN, + description = "The initial position vector of the particle") + function.addParameter('y', dtype='float64', direction=function.IN, + description = "The initial position vector of the particle") + function.addParameter('z', dtype='float64', direction=function.IN, + description = "The initial position vector of the particle") + function.addParameter('vx', dtype='float64', direction=function.IN, + description = "The initial velocity vector of the particle") + function.addParameter('vy', dtype='float64', direction=function.IN, + description = "The initial velocity vector of the particle") + function.addParameter('vz', dtype='float64', direction=function.IN, + description = "The initial velocity vector of the particle") + function.result_type = 'int32' + return function + + @legacy_function + def get_state(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('mass', dtype='float64', direction=function.OUT, + description = "The mass of the particle") + function.addParameter('radius', dtype='float64', direction=function.OUT, + description = "The radius of the particle") + function.addParameter('x', dtype='float64', direction=function.OUT, + description = "The initial position vector of the particle") + function.addParameter('y', dtype='float64', direction=function.OUT, + description = "The initial position vector of the particle") + function.addParameter('z', dtype='float64', direction=function.OUT, + description = "The initial position vector of the particle") + function.addParameter('vx', dtype='float64', direction=function.OUT, + description = "The initial velocity vector of the particle") + function.addParameter('vy', dtype='float64', direction=function.OUT, + description = "The initial velocity vector of the particle") + function.addParameter('vz', dtype='float64', direction=function.OUT, + description = "The initial velocity vector of the particle") + function.result_type = 'int32' + return function + + @legacy_function + def evolve_model(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('dt', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + + @legacy_function + def set_eta6(): + function = LegacyFunctionSpecification() + function.addParameter('eta6', dtype='float64', direction=function.IN, description = "eta parameter of time steps.") + function.result_type = 'int32' + return function + + @legacy_function + def get_eta6(): + function = LegacyFunctionSpecification() + function.addParameter('eta6', dtype='float64', direction=function.OUT, description = "eta parameter of time steps.") + function.result_type = 'int32' + return function + + @legacy_function + def set_eta4(): + function = LegacyFunctionSpecification() + function.addParameter('eta4', dtype='float64', direction=function.IN, description = "eta parameter of time steps.") + function.result_type = 'int32' + return function + + @legacy_function + def get_eta4(): + function = LegacyFunctionSpecification() + function.addParameter('eta4', dtype='float64', direction=function.OUT, description = "eta parameter of time steps.") + function.result_type = 'int32' + return function + + @legacy_function + def set_eps(): + function = LegacyFunctionSpecification() + function.addParameter('eps', dtype='float64', direction=function.IN, description = "softening parameter.") + function.result_type = 'int32' + return function + + @legacy_function + def get_eps(): + function = LegacyFunctionSpecification() + function.addParameter('eps', dtype='float64', direction=function.OUT, description = "softening parameter.") + function.result_type = 'int32' + return function + + + @legacy_function + def set_Galaxy_core(): + function = LegacyFunctionSpecification() + function.addParameter('Galaxy_core', dtype='float64', direction=function.IN, description = "radius parameter for Galaxy potential.") + function.result_type = 'int32' + return function + + @legacy_function + def get_Galaxy_core(): + function = LegacyFunctionSpecification() + function.addParameter('Galaxy_core', dtype='float64', direction=function.OUT, description = "radius parameter for Galaxy potential.") + function.result_type = 'int32' + return function + + @legacy_function + def set_Galaxy_mass(): + function = LegacyFunctionSpecification() + function.addParameter('Galaxy_mass', dtype='float64', direction=function.IN, description = "analytical mass of the Galaxy potential.") + function.result_type = 'int32' + return function + + @legacy_function + def get_Galaxy_mass(): + function = LegacyFunctionSpecification() + function.addParameter('Galaxy_mass', dtype='float64', direction=function.OUT, description = "analytical mass of the Galaxy potential.") + function.result_type = 'int32' + return function + + @legacy_function + def set_Plummer_core(): + function = LegacyFunctionSpecification() + function.addParameter('Plummer_core', dtype='float64', direction=function.IN, description = "radius parameter for plummer potential.") + function.result_type = 'int32' + return function + + @legacy_function + def get_Plummer_core(): + function = LegacyFunctionSpecification() + function.addParameter('Plummer_core', dtype='float64', direction=function.OUT, description = "radius parameter for plummer potential.") + function.result_type = 'int32' + return function + + @legacy_function + def set_Plummer_mass(): + function = LegacyFunctionSpecification() + function.addParameter('Plummer_mass', dtype='float64', direction=function.IN, description = "analytical mass of the plummer potential.") + function.result_type = 'int32' + return function + + @legacy_function + def get_Plummer_mass(): + function = LegacyFunctionSpecification() + function.addParameter('Plummer_mass', dtype='float64', direction=function.OUT, description = "analytical mass of the plummer potential.") + function.result_type = 'int32' + return function + + @legacy_function + def set_number_of_GPU(): + function = LegacyFunctionSpecification() + function.addParameter('number_of_GPU', dtype='int32', direction=function.IN, description = "number of GPU.") + function.result_type = 'int32' + return function + + @legacy_function + def get_number_of_GPU(): + function = LegacyFunctionSpecification() + function.addParameter('number_of_GPU', dtype='int32', direction=function.OUT, description = "number of GPU.") + function.result_type = 'int32' + return function + + @legacy_function + def set_number_of_Threads(): + function = LegacyFunctionSpecification() + function.addParameter('number_of_Threads', dtype='int32', direction=function.IN, description = "number of Threads per block.") + function.result_type = 'int32' + return function + + @legacy_function + def get_number_of_Threads(): + function = LegacyFunctionSpecification() + function.addParameter('number_of_Threads', dtype='int32', direction=function.OUT, description = "number of Threads per block.") + function.result_type = 'int32' + return function + + @legacy_function + def set_number_of_Print(): + function = LegacyFunctionSpecification() + function.addParameter('number_of_Print', dtype='int32', direction=function.IN, description = "number of total file to print.") + function.result_type = 'int32' + return function + + @legacy_function + def get_number_of_Print(): + function = LegacyFunctionSpecification() + function.addParameter('number_of_Print', dtype='int32', direction=function.OUT, description = "number of total file to print.") + function.result_type = 'int32' + return function + + @legacy_function + def get_number_of_particles(): + function = LegacyFunctionSpecification() + function.addParameter('number_of_particles', dtype='int32', direction=function.OUT, description = "number of particles.") + function.result_type = 'int32' + return function + + @legacy_function + def set_DTPrint(): + function = LegacyFunctionSpecification() + function.addParameter('DTPrint', dtype='float64', direction=function.IN, description = "unit time of snapshot.") + function.result_type = 'int32' + return function + + @legacy_function + def get_DTPrint(): + function = LegacyFunctionSpecification() + function.addParameter('DTPrint', dtype='float64', direction=function.OUT, description = "unit time of snapshot.") + function.result_type = 'int32' + return function + + @legacy_function + def set_max_time_step(): + function = LegacyFunctionSpecification() + function.addParameter('max_time_step', dtype='float64', direction=function.IN, description = "exponent of the maximum time step used.") + function.result_type = 'int32' + return function + + @legacy_function + def get_max_time_step(): + function = LegacyFunctionSpecification() + function.addParameter('max_time_step', dtype='float64', direction=function.OUT, description = "maximum time step used.") + function.result_type = 'int32' + return function + + @legacy_function + def set_min_time_step(): + function = LegacyFunctionSpecification() + function.addParameter('min_time_step', dtype='float64', direction=function.IN, description = "exponent of the minimum time step used.") + function.result_type = 'int32' + return function + + @legacy_function + def get_min_time_step(): + function = LegacyFunctionSpecification() + function.addParameter('min_time_step', dtype='float64', direction=function.OUT, description = "minimum time step used.") + function.result_type = 'int32' + return function + + @legacy_function + def set_gpu_name(): + function = LegacyFunctionSpecification() + function.addParameter('gpu_name', dtype='string', direction=function.IN, description = "name of the GPU used.") + function.result_type = 'int32' + return function + + @legacy_function + def get_gpu_name(): + function = LegacyFunctionSpecification() + function.addParameter('gpu_name', dtype='string', direction=function.OUT, description = "name of the GPU used.") + function.result_type = 'int32' + return function + + @legacy_function + def set_output_path_name(): + function = LegacyFunctionSpecification() + function.addParameter('output_path_name', dtype='string', direction=function.IN, description = "name of the path where higpus output will be stored.") + function.result_type = 'int32' + return function + + @legacy_function + def get_output_path_name(): + function = LegacyFunctionSpecification() + function.addParameter('output_path_name', dtype='string', direction=function.OUT, description = "name of the path where higpus output will be stored.") + function.result_type = 'int32' + return function + + + +class HiGPUs(GravitationalDynamics): + + def __init__(self, convert_nbody = None, **keyword_arguments): + legacy_interface = HiGPUsInterface(**keyword_arguments) + + GravitationalDynamics.__init__(self, + legacy_interface, + convert_nbody, + **keyword_arguments) + + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_eta4", + "set_eta4", + "eta4", + "timestep parameter", + default_value = 0.01 + ) + + handler.add_method_parameter( + "get_eta6", + "set_eta6", + "eta6", + "timestep parameter", + default_value = 0.4 + ) + + handler.add_method_parameter( + "get_eps", + "set_eps", + "eps", + "softening", + default_value = 0.001 | nbody_system.length + ) + + + handler.add_method_parameter( + "get_begin_time", + "set_begin_time", + "begin_time", + "model time to start the simulation at", + default_value = 0.0 | nbody_system.time + ) + + handler.add_method_parameter( + "get_Plummer_core", + "set_Plummer_core", + "r_core_plummer", + "radius of Plummer potential", + default_value = 0.0 | nbody_system.length + ) + + handler.add_method_parameter( + "get_Plummer_mass", + "set_Plummer_mass", + "mass_plummer", + "mass of Galaxy potential", + default_value = 0.0 | nbody_system.mass + ) + + handler.add_method_parameter( + "get_Galaxy_core", + "set_Galaxy_core", + "r_scale_galaxy", + "sclae radius of the Galaxy potential", + default_value = 0.0 | nbody_system.length + ) + + handler.add_method_parameter( + "get_Galaxy_mass", + "set_Galaxy_mass", + "mass_galaxy", + "mass of Plummer potential", + default_value = 0.0 | nbody_system.mass + ) + + handler.add_method_parameter( + "get_number_of_Threads", + "set_number_of_Threads", + "Threads", + "Threads per block", + default_value = 128 + ) + + handler.add_method_parameter( + "get_number_of_Print", + "set_number_of_Print", + "n_Print", + "start number to print file", + default_value = 1000000 + ) + + handler.add_method_parameter( + "get_DTPrint", + "set_DTPrint", + "dt_Print", + "time for snapshot", + default_value = 1000000.0 | nbody_system.time + ) + + handler.add_method_parameter( + "get_max_time_step", + "set_max_time_step", + "max_step", + "power of 2 for maximum time step", + default_value = pow(2.,-3.0) | nbody_system.time + ) + + handler.add_method_parameter( + "get_min_time_step", + "set_min_time_step", + "min_step", + "power of 2 for minmum time step", + default_value = pow(2.,-30.0) | nbody_system.time + ) + + handler.add_method_parameter( + "get_gpu_name", + "set_gpu_name", + "gpu_name", + "gpu name", + default_value = "" + ) + + handler.add_method_parameter( + "get_output_path_name", + "set_output_path_name", + "output_path_name", + "output path name", + default_value = "./data/" + ) + + handler.add_method_parameter( + "get_number_of_GPU", + "set_number_of_GPU", + "n_gpu", + "number of gpus per node", + default_value = 1 + ) + + + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + handler.add_method( + "new_particle", + ( + nbody_system.mass, + nbody_system.length, + nbody_system.length, + nbody_system.length, + nbody_system.speed, + nbody_system.speed, + nbody_system.speed, + nbody_system.length, + ), + ( + handler.INDEX, + handler.ERROR_CODE + ) + ) + handler.add_method( + "set_state", + ( + handler.INDEX, + nbody_system.mass, + nbody_system.length, + nbody_system.length, + nbody_system.length, + nbody_system.length, + nbody_system.speed, + nbody_system.speed, + nbody_system.speed, + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_state", + ( + handler.INDEX + ), + ( + nbody_system.mass, + nbody_system.length, + nbody_system.length, + nbody_system.length, + nbody_system.length, + nbody_system.speed, + nbody_system.speed, + nbody_system.speed, + handler.ERROR_CODE + ) + ) + handler.add_method( + "set_time_begin", + ( + nbody_system.time + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_time_begin", + (), + ( + nbody_system.time, + handler.ERROR_CODE + ) + ) + handler.add_method( + "set_Plummer_core", + ( + nbody_system.length + ), + ( + handler.ERROR_CODE + ) + ) + + handler.add_method( + "get_Plummer_core", + (), + ( + nbody_system.length, + handler.ERROR_CODE + ) + ) + + handler.add_method( + "set_Plummer_mass", + ( + nbody_system.mass + ), + ( + handler.ERROR_CODE + ) + ) + + handler.add_method( + "get_Plummer_mass", + (), + ( + nbody_system.mass, + handler.ERROR_CODE + ) + ) + + handler.add_method( + "set_Galaxy_core", + ( + nbody_system.length + ), + ( + handler.ERROR_CODE + ) + ) + + handler.add_method( + "get_Galaxy_core", + (), + ( + nbody_system.length, + handler.ERROR_CODE + ) + ) + + handler.add_method( + "set_Galaxy_mass", + ( + nbody_system.mass + ), + ( + handler.ERROR_CODE + ) + ) + + handler.add_method( + "get_Galaxy_mass", + (), + ( + nbody_system.mass, + handler.ERROR_CODE + ) + ) + + handler.add_method( + "set_eps", + ( + nbody_system.length + ), + ( + handler.ERROR_CODE + ) + ) + + handler.add_method( + "get_eps", + (), + ( + nbody_system.length, + handler.ERROR_CODE + ) + ) + + + handler.add_method( + "set_eta6", + ( + handler.NO_UNIT + ), + ( + handler.ERROR_CODE + ) + ) + + handler.add_method( + "get_eta6", + (), + ( + handler.NO_UNIT, + handler.ERROR_CODE + ) + ) + + handler.add_method( + "set_eta4", + ( + handler.NO_UNIT + ), + ( + handler.ERROR_CODE + ) + ) + + handler.add_method( + "get_eta4", + (), + ( + handler.NO_UNIT, + handler.ERROR_CODE + ) + ) + + + handler.add_method( + "set_number_of_GPU", + ( + handler.NO_UNIT + ), + ( + handler.ERROR_CODE + ) + ) + + handler.add_method( + "get_number_of_GPU", + (), + ( + handler.NO_UNIT, + handler.ERROR_CODE + ) + ) + + handler.add_method( + "get_number_of_particles", + (), + ( + handler.NO_UNIT, + handler.ERROR_CODE + ) + ) + + + handler.add_method( + "set_number_of_Threads", + ( + handler.NO_UNIT + ), + ( + handler.ERROR_CODE + ) + ) + + handler.add_method( + "get_number_of_Threads", + (), + ( + handler.NO_UNIT, + handler.ERROR_CODE + ) + ) + + handler.add_method( + "set_number_of_Print", + ( + handler.NO_UNIT + ), + ( + handler.ERROR_CODE + ) + ) + + handler.add_method( + "get_number_of_Print", + (), + ( + handler.NO_UNIT, + handler.ERROR_CODE + ) + ) + + handler.add_method( + "set_DTPrint", + ( + nbody_system.time + ), + ( + handler.ERROR_CODE + ) + ) + + handler.add_method( + "get_DTPrint", + (), + ( + nbody_system.time, + handler.ERROR_CODE + ) + ) + + handler.add_method( + "set_max_time_step", + ( + nbody_system.time + ), + ( + handler.ERROR_CODE + ) + ) + + handler.add_method( + "get_max_time_step", + (), + ( + nbody_system.time, + handler.ERROR_CODE + ) + ) + + handler.add_method( + "set_min_time_step", + ( + nbody_system.time + ), + ( + handler.ERROR_CODE + ) + ) + + handler.add_method( + "get_min_time_step", + (), + ( + nbody_system.time, + handler.ERROR_CODE + ) + ) + + handler.add_method( + "set_gpu_name", + ( + handler.NO_UNIT + ), + ( + handler.ERROR_CODE + ) + ) + + handler.add_method( + "get_gpu_name", + (), + ( + handler.NO_UNIT, + handler.ERROR_CODE + ) + ) + + handler.add_method( + "set_output_path_name", + ( + handler.NO_UNIT + ), + ( + handler.ERROR_CODE + ) + ) + + handler.add_method( + "get_output_path_name", + (), + ( + handler.NO_UNIT, + handler.ERROR_CODE + ) + ) + + + def define_particle_sets(self, handler): + GravitationalDynamics.define_particle_sets(self, handler) + + def initialize_code(self): + self.overridden().initialize_code() + self.parameters.send_not_set_parameters_to_code() + + self.parameters.output_path_name=self.output_directory + + def commit_particles(self): + n=len(self.particles) + if (n & (n-1) != 0): + raise Exception(f"Higpus needs a power of two number of particles not {n}, try padding with zero mass particles") + + self.overridden().commit_particles() + + +Higpus = HiGPUs diff --git a/src/amuse_higpus/packages/amuse-higpus-cuda.amuse_deps b/src/amuse_higpus/packages/amuse-higpus-cuda.amuse_deps new file mode 100644 index 0000000000..5a5cf396e6 --- /dev/null +++ b/src/amuse_higpus/packages/amuse-higpus-cuda.amuse_deps @@ -0,0 +1 @@ +c++ mpi openmp cuda diff --git a/src/amuse_higpus/packages/amuse-higpus-cuda/amuse_higpus b/src/amuse_higpus/packages/amuse-higpus-cuda/amuse_higpus new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_higpus/packages/amuse-higpus-cuda/amuse_higpus @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_higpus/packages/amuse-higpus-cuda/pyproject.toml b/src/amuse_higpus/packages/amuse-higpus-cuda/pyproject.toml new file mode 100644 index 0000000000..e995948611 --- /dev/null +++ b/src/amuse_higpus/packages/amuse-higpus-cuda/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-higpus-cuda" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_higpus/**/*.py"] +exclude = [ + "amuse_higpus/packages", + "amuse_higpus/support", + "amuse_higpus/src", + "amuse_higpus/tests" + ] +artifacts = ["amuse_higpus/higpus_cuda_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_higpus/tests/"] + +testpaths = ["amuse_higpus/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/higpus/src/Makefile b/src/amuse_higpus/src/Makefile similarity index 100% rename from src/amuse/community/higpus/src/Makefile rename to src/amuse_higpus/src/Makefile diff --git a/src/amuse/community/higpus/src/Readme_of_HiGPUs.pdf b/src/amuse_higpus/src/Readme_of_HiGPUs.pdf similarity index 100% rename from src/amuse/community/higpus/src/Readme_of_HiGPUs.pdf rename to src/amuse_higpus/src/Readme_of_HiGPUs.pdf diff --git a/src/amuse/community/higpus/src/docs/AMD_Accelerated_Parallel_Processing_OpenCL_Programming_Guide.pdf b/src/amuse_higpus/src/docs/AMD_Accelerated_Parallel_Processing_OpenCL_Programming_Guide.pdf similarity index 100% rename from src/amuse/community/higpus/src/docs/AMD_Accelerated_Parallel_Processing_OpenCL_Programming_Guide.pdf rename to src/amuse_higpus/src/docs/AMD_Accelerated_Parallel_Processing_OpenCL_Programming_Guide.pdf diff --git a/src/amuse/community/higpus/src/docs/CUDA_C_Programming_Guide.pdf b/src/amuse_higpus/src/docs/CUDA_C_Programming_Guide.pdf similarity index 100% rename from src/amuse/community/higpus/src/docs/CUDA_C_Programming_Guide.pdf rename to src/amuse_higpus/src/docs/CUDA_C_Programming_Guide.pdf diff --git a/src/amuse/community/higpus/src/docs/Compute_Capability.pdf b/src/amuse_higpus/src/docs/Compute_Capability.pdf similarity index 100% rename from src/amuse/community/higpus/src/docs/Compute_Capability.pdf rename to src/amuse_higpus/src/docs/Compute_Capability.pdf diff --git a/src/amuse/community/higpus/src/docs/HiGpus_PAPER b/src/amuse_higpus/src/docs/HiGpus_PAPER similarity index 100% rename from src/amuse/community/higpus/src/docs/HiGpus_PAPER rename to src/amuse_higpus/src/docs/HiGpus_PAPER diff --git a/src/amuse/community/higpus/src/exec/input_param.txt b/src/amuse_higpus/src/exec/input_param.txt similarity index 100% rename from src/amuse/community/higpus/src/exec/input_param.txt rename to src/amuse_higpus/src/exec/input_param.txt diff --git a/src/amuse/community/higpus/src/exec/random.dat b/src/amuse_higpus/src/exec/random.dat similarity index 100% rename from src/amuse/community/higpus/src/exec/random.dat rename to src/amuse_higpus/src/exec/random.dat diff --git a/src/amuse/community/higpus/src/lib/functions.h b/src/amuse_higpus/src/lib/functions.h similarity index 100% rename from src/amuse/community/higpus/src/lib/functions.h rename to src/amuse_higpus/src/lib/functions.h diff --git a/src/amuse/community/higpus/src/lib/kernel.h b/src/amuse_higpus/src/lib/kernel.h similarity index 100% rename from src/amuse/community/higpus/src/lib/kernel.h rename to src/amuse_higpus/src/lib/kernel.h diff --git a/src/amuse/community/higpus/src/lib/mpi_types.h b/src/amuse_higpus/src/lib/mpi_types.h similarity index 100% rename from src/amuse/community/higpus/src/lib/mpi_types.h rename to src/amuse_higpus/src/lib/mpi_types.h diff --git a/src/amuse/community/higpus/src/lib/my_errors.h b/src/amuse_higpus/src/lib/my_errors.h similarity index 100% rename from src/amuse/community/higpus/src/lib/my_errors.h rename to src/amuse_higpus/src/lib/my_errors.h diff --git a/src/amuse/community/higpus/src/lib/types.h b/src/amuse_higpus/src/lib/types.h similarity index 100% rename from src/amuse/community/higpus/src/lib/types.h rename to src/amuse_higpus/src/lib/types.h diff --git a/src/amuse/community/higpus/src/lib/utilis.h b/src/amuse_higpus/src/lib/utilis.h similarity index 100% rename from src/amuse/community/higpus/src/lib/utilis.h rename to src/amuse_higpus/src/lib/utilis.h diff --git a/src/amuse/community/higpus/src/src/cuda/allreduce.cu b/src/amuse_higpus/src/src/cuda/allreduce.cu similarity index 100% rename from src/amuse/community/higpus/src/src/cuda/allreduce.cu rename to src/amuse_higpus/src/src/cuda/allreduce.cu diff --git a/src/amuse/community/higpus/src/src/cuda/corrector.cu b/src/amuse_higpus/src/src/cuda/corrector.cu similarity index 100% rename from src/amuse/community/higpus/src/src/cuda/corrector.cu rename to src/amuse_higpus/src/src/cuda/corrector.cu diff --git a/src/amuse/community/higpus/src/src/cuda/cpu_func.cu b/src/amuse_higpus/src/src/cuda/cpu_func.cu similarity index 100% rename from src/amuse/community/higpus/src/src/cuda/cpu_func.cu rename to src/amuse_higpus/src/src/cuda/cpu_func.cu diff --git a/src/amuse/community/higpus/src/src/cuda/cuda_kernels.cu b/src/amuse_higpus/src/src/cuda/cuda_kernels.cu similarity index 100% rename from src/amuse/community/higpus/src/src/cuda/cuda_kernels.cu rename to src/amuse_higpus/src/src/cuda/cuda_kernels.cu diff --git a/src/amuse/community/higpus/src/src/cuda/cudainit.cu b/src/amuse_higpus/src/src/cuda/cudainit.cu similarity index 95% rename from src/amuse/community/higpus/src/src/cuda/cudainit.cu rename to src/amuse_higpus/src/src/cuda/cudainit.cu index d6b0a57b15..8860c6bd78 100644 --- a/src/amuse/community/higpus/src/src/cuda/cudainit.cu +++ b/src/amuse_higpus/src/src/cuda/cudainit.cu @@ -84,6 +84,9 @@ HostError CudaInit(unsigned int *M, int NGPU, int rank, string gpu_name, const b else return HNoDouble; } + else { + *M = properties[to_use[0]].multiProcessorCount * properties[to_use[0]].maxThreadsPerMultiProcessor; + } cout<<" Maximum number of parallel threads on the gpu : "<<*M</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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-higpus-cuda' +PACKAGE_TARNAME='amuse-higpus-cuda' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-higpus-cuda 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +CUDA_LDFLAGS +CUDA_FLAGS +NVCC +CUDA_TK +ac_ct_CC +CFLAGS +CC +amuse_cuda_verify_NVCC +OPENMP_CXXFLAGS +MPILIBS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +RANLIB +AR +target_os +target_vendor +target_cpu +target +OBJEXT +EXEEXT +ac_ct_CXX +CPPFLAGS +LDFLAGS +CXXFLAGS +CXX +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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_openmp +' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +MPICXX +CC +CFLAGS' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-higpus-cuda 1.0 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/amuse-higpus-cuda] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-higpus-cuda 1.0:";; + 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] + --disable-openmp do not use OpenMP + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS 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 + MPICXX MPI C++ compiler command + CC C compiler command + CFLAGS C compiler flags + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-higpus-cuda configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-higpus-cuda $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 +printf %s "checking whether the C++ compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 +printf %s "checking for C++ compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find external dependencies +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + + +if test -e penmp || test -e mp; then + as_fn_error $? "AC_OPENMP clobbers files named 'mp' and 'penmp'. Aborting configure because one of these files already exists." "$LINENO" 5 +fi +# Check whether --enable-openmp was given. +if test ${enable_openmp+y} +then : + enableval=$enable_openmp; +fi + + OPENMP_CXXFLAGS= + if test "$enable_openmp" != no; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to support OpenMP" >&5 +printf %s "checking for $CXX option to support OpenMP... " >&6; } +if test ${ac_cv_prog_cxx_openmp+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_openmp='not found' + for ac_option in '' -fopenmp -xopenmp -openmp -mp -omp -qsmp=omp -homp \ + -Popenmp --openmp; do + + ac_save_CXXFLAGS=$CXXFLAGS + CXXFLAGS="$CXXFLAGS $ac_option" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef _OPENMP +#error "OpenMP not supported" +#endif +#include +int main (void) { return omp_get_num_threads (); } + +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef _OPENMP +#error "OpenMP not supported" +#endif +#include +int main (void) { return omp_get_num_threads (); } + +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_prog_cxx_openmp=$ac_option +else $as_nop + ac_cv_prog_cxx_openmp='unsupported' +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + CXXFLAGS=$ac_save_CXXFLAGS + + if test "$ac_cv_prog_cxx_openmp" != 'not found'; then + break + fi + done + if test "$ac_cv_prog_cxx_openmp" = 'not found'; then + ac_cv_prog_cxx_openmp='unsupported' + elif test "$ac_cv_prog_cxx_openmp" = ''; then + ac_cv_prog_cxx_openmp='none needed' + fi + rm -f penmp mp +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_openmp" >&5 +printf "%s\n" "$ac_cv_prog_cxx_openmp" >&6; } + if test "$ac_cv_prog_cxx_openmp" != 'unsupported' && \ + test "$ac_cv_prog_cxx_openmp" != 'none needed'; then + OPENMP_CXXFLAGS="$ac_cv_prog_cxx_openmp" + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + + + 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 x"$CUDA_TK" != x +then : + + # User set CUDA_TK, verify and use it if it works + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d $CUDA_TK +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $CUDA_TK/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x$CUDA_TK" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in $CUDA_TK/include" + amuse_cuda_flags="-I$CUDA_TK/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x$CUDA_TK" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in $CUDA_TK/lib" + amuse_cuda_verify_msg64="for libcudart in $CUDA_TK/lib64" + amuse_cuda_ldflags="-L$CUDA_TK/lib" + amuse_cuda_ldflags64="-L$CUDA_TK/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$CUDA_TK" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $CUDA_TK does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: $CUDA_TK does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + + if test x"$NVCC" = x +then : + + as_fn_error $? "CUDA_TK is set, but there is no nvcc in $CUDA_TK/bin. Please set CUDA_TK to the CUDA installation directory, or unset it to autodetect." "$LINENO" 5 + +fi + +else $as_nop + + # CUDA_TK not set, try to discover CUDA via PATH + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + # Got nvcc, verify that we have the rest too + amuse_cuda_verify_ctk_rel=$(dirname -- "$amuse_cuda_verify_NVCC")/.. + # Canonicalise path portably so that it looks nicer + amuse_cuda_verify_CUDA_TK=$(test -d "$amuse_cuda_verify_ctk_rel" && CDPATH= cd -P -- "$amuse_cuda_verify_ctk_rel" && pwd -P) + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in /include" + amuse_cuda_flags="-I/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in /lib" + amuse_cuda_verify_msg64="for libcudart in /lib64" + amuse_cuda_ldflags="-L/lib" + amuse_cuda_ldflags64="-L/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$amuse_cuda_verify_CUDA_TK" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Could not find CUDA via PATH" >&5 +printf "%s\n" "$as_me: Could not find CUDA via PATH" >&6;} + +fi + + + # Not in PATH, try default directory + if test x"$CUDA_TK" = x +then : + + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d /usr/local/cuda +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /usr/local/cuda/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x/usr/local/cuda" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in /usr/local/cuda/include" + amuse_cuda_flags="-I/usr/local/cuda/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x/usr/local/cuda" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in /usr/local/cuda/lib" + amuse_cuda_verify_msg64="for libcudart in /usr/local/cuda/lib64" + amuse_cuda_ldflags="-L/usr/local/cuda/lib" + amuse_cuda_ldflags64="-L/usr/local/cuda/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="/usr/local/cuda" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: /usr/local/cuda does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: /usr/local/cuda does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + +fi + + # Try /usr/local/cuda-#.#, but only if there's exactly one match + if test x"$CUDA_TK" = x +then : + + # List CUDA installations + amuse_cuda_installs=$(ls -1 -d /usr/local/cuda-*.* 2>/dev/null) + # If there's more than one, the above will have newlines, and change when we do this + amuse_cuda_installs2=$(echo "x${amuse_cuda_installs}" | tr -d ':space:') + if test "x${amuse_cuda_installs}" != x +then : + + if test "x${amuse_cuda_installs}" = "${amuse_cuda_installs2}" +then : + + # Here, there's exactly one match + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d $amuse_cuda_installs +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $amuse_cuda_installs/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x$amuse_cuda_installs" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in $amuse_cuda_installs/include" + amuse_cuda_flags="-I$amuse_cuda_installs/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x$amuse_cuda_installs" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in $amuse_cuda_installs/lib" + amuse_cuda_verify_msg64="for libcudart in $amuse_cuda_installs/lib64" + amuse_cuda_ldflags="-L$amuse_cuda_installs/lib" + amuse_cuda_ldflags64="-L$amuse_cuda_installs/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$amuse_cuda_installs" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $amuse_cuda_installs does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: $amuse_cuda_installs does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Multiple CUDA installations found in /usr/local, without a /usr/local/cuda symlink. Please set CUDA_TK to specify which one you want to use." >&5 +printf "%s\n" "$as_me: Multiple CUDA installations found in /usr/local, without a /usr/local/cuda symlink. Please set CUDA_TK to specify which one you want to use." >&6;} + +fi + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: No CUDA installations found in /usr/local" >&5 +printf "%s\n" "$as_me: No CUDA installations found in /usr/local" >&6;} + +fi + +fi + + # Try some other locations + for dir in /opt/cuda /usr/local/cuda/cuda /opt/cuda/cuda ; do + if test x"$CUDA_TK" = x +then : + + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d $dir +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $dir/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x$dir" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in $dir/include" + amuse_cuda_flags="-I$dir/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x$dir" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in $dir/lib" + amuse_cuda_verify_msg64="for libcudart in $dir/lib64" + amuse_cuda_ldflags="-L$dir/lib" + amuse_cuda_ldflags64="-L$dir/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$dir" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $dir does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: $dir does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + +fi + done + + # These directories were checked by the old macro, but they're highly obsolete + # so we're not trying them anymore: + # /usr/lib/nvidia, /usr/include/nvidia, /usr/lib/nvidia-current, /usr/include/nvidia-current + + if test x"$CUDA_TK" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: CUDA not found. Set CUDA_TK if you have it in an odd location." >&5 +printf "%s\n" "$as_me: CUDA not found. Set CUDA_TK if you have it in an odd location." >&6;} + +fi + +fi + + if test x"$CUDA_TK" != x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: CUDA found at $CUDA_TK" >&5 +printf "%s\n" "$as_me: CUDA found at $CUDA_TK" >&6;} + + + + + +fi + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_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 + + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-higpus-cuda $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-higpus-cuda config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_higpus/support/configure.ac b/src/amuse_higpus/support/configure.ac new file mode 100644 index 0000000000..f25ad5da6c --- /dev/null +++ b/src/amuse_higpus/support/configure.ac @@ -0,0 +1,40 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-higpus-cuda], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_CXX() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find external dependencies +AC_LANG_PUSH([C++]) + +AX_MPI() + +AC_OPENMP() +AC_SUBST(OPENMP_CXXFLAGS) + +AMUSE_CUDA() + +AC_LANG_POP([C++]) + + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_higpus/support/shared b/src/amuse_higpus/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_higpus/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_higpus.py b/src/amuse_higpus/tests/test_higpus.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_higpus.py rename to src/amuse_higpus/tests/test_higpus.py index 75a5491c77..6e286c7db1 100644 --- a/src/amuse/test/suite/codes_tests/test_higpus.py +++ b/src/amuse_higpus/tests/test_higpus.py @@ -1,10 +1,10 @@ import numpy -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI from amuse.units import nbody_system from amuse.units import units from amuse import datamodel -from amuse.community.higpus.interface import HiGPUsInterface, HiGPUs +from amuse_higpus.interface import HiGPUsInterface, HiGPUs from amuse.ic.plummer import new_plummer_model diff --git a/src/amuse_hop/Makefile b/src/amuse_hop/Makefile new file mode 100644 index 0000000000..c837b6f18c --- /dev/null +++ b/src/amuse_hop/Makefile @@ -0,0 +1,66 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + +# Building the code into a static library +CFLAGS += -DDIFFERENT_MASSES + +CODELIB = src/libhop.a + +.PHONY: $(CODELIB) +$(CODELIB): + $(MAKE) -C src -j $(CPU_COUNT) all CFLAGS="$(CFLAGS)" + + +# Building the workers +hop_worker.h: interface.py + amusifier --type=h interface.py HopInterface -o $@ + +hop_worker.cc: interface.py + amusifier --type=c interface.py HopInterface -o $@ + +hop_worker.o: hop_worker.cc hop_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + +hop_worker: hop_worker.o interface.o $(CODELIB) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +interface.o: interface.cc hop_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + + +# Which packages contain which workers? +amuse-hop_contains: hop_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_hop/__init__.py b/src/amuse_hop/__init__.py new file mode 100644 index 0000000000..3c195c778a --- /dev/null +++ b/src/amuse_hop/__init__.py @@ -0,0 +1,2 @@ +# generated file +from .interface import Hop diff --git a/src/amuse_hop/interface.cc b/src/amuse_hop/interface.cc new file mode 100644 index 0000000000..c48da0d2da --- /dev/null +++ b/src/amuse_hop/interface.cc @@ -0,0 +1,852 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +extern "C" { + #include "src/kd.h" + #include "src/smooth.h" + void smDensityTH(SMX smx,int pi,int nSmooth,int *pList,float *fList); + void smHop(SMX smx,int pi,int nSmooth,int *pList,float *fList); + void FindGroups(SMX smx); + void SortGroups(SMX smx); + void MergeGroupsHash(SMX smx); + void ReSizeSMX(SMX smx, int nSmooth); + void PrepareKD(KD kd); +} +#include "hop_worker.h" + +#define INFORM(string) printf(string); fflush(stdout) + +#ifndef HUGE +#define HUGE 3.40282e+38 +#endif + +class AmuseParticle{ + +public: + int index; + double mass,x,y,z, density; + int group, neighbor; + + AmuseParticle(int index, double mass, double x, double y, double z):index(index), mass(mass),x(x), y(y), z(z), density(-1.0), group(-1), neighbor(-1) { + } + AmuseParticle(const AmuseParticle & original): + index(original.index), mass(original.mass), x(original.x), y(original.y), z(original.z), density(original.density), group(original.group), neighbor(original.neighbor) { + } +}; + +typedef std::map ParticlesMap; +typedef std::map::iterator ParticlesMapIterator; + +typedef std::vector ParticlesList; +typedef std::vector::iterator ParticlesListIterator; + + +bool debug = true; + +int highest_index = 0; +ParticlesMap particlesMap; + +/* hop structs */ +KD gkd; +SMX gsmx; + +/* hop parameters */ +int nBucket,nSmooth; +float fPeriod[3]; +int nDens,nHop,nMerge; +float fDensThresh; +int nMethod; + +double outer_densthresh = -1.0; +double saddle_densthresh = -1.0; +double peak_densthresh = -1.0; +int relative_saddle_density_threshold = 0; +double saddle_density_threshold_factor = 0.80; + +int weakly_connected; // used when merging to store which of the two is less strong connected to another one +int nGroups_before_regroup; +int nGroups_after_regroup = -1; + +/* control variables */ +int bDensity = 0; +int bHopDone = 0; +int bNeighborsFound = 0; + +int ReadPositions(KD &kd){ + std::size_t n = particlesMap.size(); + kd->nActive = n; + if (n == 0) return -5; + + kd->p = (PARTICLE *)malloc(kd->nActive*sizeof(PARTICLE)); + + ParticlesMapIterator i; + int c = 0; + INFORM("Reading Positions...\n"); + for (i = particlesMap.begin(); i != particlesMap.end(); i++) { + AmuseParticle * p = (*i).second; + kd->p[c].fMass = p->mass; + kd->p[c].r[0] = p->x; + kd->p[c].r[1] = p->y; + kd->p[c].r[2] = p->z; + c++; + } + return 0; +} + +int ReadDensities(SMX &smx){ + ParticlesMapIterator i; + int j; + INFORM("Reading Densities...\n"); + for (i=particlesMap.begin(), j=0; i != particlesMap.end(); i++, j++) { + if (i->second->density < 0) { + INFORM("Encountered negative density\n"); + return -4; + } + smx->kd->p[j].fDensity = i->second->density; + } + return 0; +} + +int InitHop(KD &kd, SMX &smx, int bDens){ + INFORM("\nInitialising Hop...\n"); + if (nHop<0) nHop=nDens; + if (bDens==0) nSmooth = nHop+1; + else nSmooth = nDens+1; + /* When smSmooth() is asked for nSmooth particles, it seems to + generally return nSmooth-1 particles, including primary itself. + Hence, when we want nDens or nSmooth particles (including the + primary) we should ask for one more. By convention, I've chosen + to have nMerge reflect the number *not* including the primary, + so in this case we need to ask for two more! */ + + kdInit(&kd,nBucket); + if (ReadPositions(kd) != 0) { + INFORM("\nReadPositions error: no particles\n"); + return -5; + } + if (nHop > kd->nActive) { + printf("\nnHop: %d, kd->nActive: %d\n", nHop, kd->nActive); + INFORM("number_of_hops too large\n"); + INFORM("(should be less than total number of particles)\n"); + return -5; + } + if (nDens > kd->nActive) { + printf("\nnDens: %d, kd->nActive: %d\n", nDens, kd->nActive); + INFORM("number_of_neighbors_for_local_density too large\n"); + INFORM("(should be less than total number of particles)\n"); + return -5; + } + if (nSmooth > kd->nActive) { + printf("\nnSmooth: %d, kd->nActive: %d\n", nSmooth, kd->nActive); + INFORM("nSmooth too large, related to number_of_neighbors_for_local_density and number_of_hops\n"); + INFORM("(should be less than total number of particles)\n"); + return -5; + } + if (nBucket > kd->nActive) { + printf("\nnBucket: %d, kd->nActive: %d\n", nBucket, kd->nActive); + INFORM("number_of_buckets too large\n"); + return -5; + } + if (nMerge > kd->nActive) { + printf("\nnMerge: %d, kd->nActive: %d\n", nMerge, kd->nActive); + INFORM("nMerge too large\n"); + return -5; + } + + PrepareKD(kd); + smInit(&smx,kd,nSmooth,fPeriod); + smx->nHop = nHop; + smx->nDens = nDens; + smx->nMerge = nMerge; + smx->nGroups = 0; + smx->fDensThresh = fDensThresh; + + if ((bDens == 0) && (ReadDensities(smx) != 0)) return -4; + + INFORM("Building Tree...\n"); + kdBuildTree(kd); + bHopDone = 0; + return 0; +} + + +/* parameters */ +int set_nBucket(int value){ + nBucket = value; + return 0; +} +int get_nBucket(int * value){ + *value = nBucket; + return 0; +} + +int set_nDens(int value){ + nDens = value; + return 0; +} +int get_nDens(int * value){ + *value = nDens; + return 0; +} + +int set_nHop(int value){ + if (value < nMerge +1) return -1; + nHop = value; + return 0; +} +int get_nHop(int * value){ + *value = nHop; + return 0; +} + +int set_fDensThresh(double value){ + fDensThresh = value; + return 0; +} +int get_fDensThresh(double * value){ + *value = fDensThresh; + return 0; +} + +int set_saddle_densthresh(double value){ + saddle_densthresh = value; + return 0; +} +int get_saddle_densthresh(double *value){ + *value = saddle_densthresh; + return 0; +} + +int set_peak_densthresh(double value){ + peak_densthresh = value; + return 0; +} +int get_peak_densthresh(double *value){ + *value = peak_densthresh; + return 0; +} + +int set_saddle_density_threshold_factor(double value){ + saddle_density_threshold_factor = value; + return 0; +} +int get_saddle_density_threshold_factor(double *value){ + *value = saddle_density_threshold_factor; + return 0; +} +int set_relative_saddle_density_threshold(int value){ + relative_saddle_density_threshold = value; + return 0; +} +int get_relative_saddle_density_threshold(int *value){ + *value = relative_saddle_density_threshold; + return 0; +} + +int set_fPeriod(double x, double y, double z){ + fPeriod[0] = x; + fPeriod[1] = y; + fPeriod[2] = z; + return 0; +} + +int get_fPeriod(double * x, double * y, double * z){ + *x = fPeriod[0]; + *y = fPeriod[1]; + *z = fPeriod[2]; + return 0; +} + +int set_nMerge(int value){ + if (value > nHop -1) return -1; + nMerge = value; + return 0; +} +int get_nMerge(int *value){ + *value = nMerge; + return 0; +} + +int set_density_method(int value){ + switch (value) { + case 0: + case 1: + case 2: + nMethod = value; + return 0; + default: + return -1; + } +} + +int get_density_method(int * value){ + *value = nMethod; + return 0; +} + +int initialize_code() { + INFORM("\nInitialising Parameters...\n"); + nBucket = 16; + nSmooth = 64; + nDens = 64; + nHop = -1; + fDensThresh = -1.0; + nMethod = 0; + for (int j=0;j<3;++j) fPeriod[j] = HUGE; + nMerge = 4; + return 0; +} + +int cleanup_code() +{ + return 0; +} + +int commit_parameters() { + if (outer_densthresh < 0.0) { + outer_densthresh = fDensThresh; + } + if (saddle_densthresh < 0.0) { + saddle_densthresh = 1.75 * outer_densthresh; + } + if (peak_densthresh < 0.0) { + peak_densthresh = saddle_densthresh > 2.0*outer_densthresh ? saddle_densthresh : 2.0*outer_densthresh; + } + printf("outer_densthresh %f, saddle_densthresh %f, peak_densthresh %f\n", outer_densthresh, saddle_densthresh, peak_densthresh); + return 0; +} + +int recommit_parameters() { + return commit_parameters(); +} + +/* densities */ +int calculate_densities() { + KD kd; + SMX smx; + ParticlesList particles_as_list; + + int init_error = InitHop(kd, smx, 1); + if (init_error != 0) return init_error; + + INFORM("Finding Densities...\n"); + switch (nMethod) { + case 1: smSmooth(smx,smDensitySym); break; + case 2: smSmooth(smx,smDensityTH); break; + default: smSmooth(smx,smDensity); + } + INFORM("Storing Results..."); + ParticlesMapIterator i; + int c = 0; + for (i = particlesMap.begin(); i != particlesMap.end(); i++) { + AmuseParticle * p = (*i).second; + particles_as_list.push_back(p); + } + + for (c = 0; c < particles_as_list.size(); c++) { + AmuseParticle * p = particles_as_list[kd->p[c].iOrder]; + p->mass=kd->p[c].fMass; + p->x=kd->p[c].r[0]; + p->y=kd->p[c].r[1]; + p->z=kd->p[c].r[2]; + p->density = kd->p[c].fDensity; + } + + gkd = kd; + gsmx = smx; + + INFORM("Done!\n"); + + return 0; +} + +bool compare_boundaries(const Boundary &a, const Boundary &b) { + return a.fDensity < b.fDensity; +} +bool is_weakly_connected(const Boundary &boundary) { + return (boundary.nGroup1 == weakly_connected) || (boundary.nGroup2 == weakly_connected); +} + +void merge_groups(int g1, int g2, + std::vector*> &merge_priorities, + std::vector &group_peak_density, + std::vector &id_from_index, int index_from_id[]) { + std::vector::iterator it1, it2; + int target_group1, target_group2; + bool have_common_neighbour; + int index1 = index_from_id[g1]; + int index2 = index_from_id[g2]; + + if (debug) { + for (int j=0; j < merge_priorities.size(); j++) { + printf("\nGROUP %d, boundaries:\n", id_from_index[j]); + for (it1 = merge_priorities[j]->begin(); it1 != merge_priorities[j]->end(); it1++) { + printf("%d %d %f\n", it1->nGroup1, it1->nGroup2, it1->fDensity); + } + } + } + for (it2 = merge_priorities[index2]->begin(); it2 < merge_priorities[index2]->end(); it2++) { + have_common_neighbour = false; + target_group2 = (it2->nGroup1 == g2) ? it2->nGroup2 : it2->nGroup1; + if (target_group2 == g1) { // This is the connection between the two merging groups: no longer needed + continue; + } + + // Check if group 1 already is connected to target_group2, i.e. they have a neighbour in common: + it1 = merge_priorities[index1]->begin(); + while (!have_common_neighbour && (it1 < merge_priorities[index1]->end())) { + target_group1 = (it1->nGroup1 == g1) ? it1->nGroup2 : it1->nGroup1; + if (target_group1 == target_group2) { // merging groups share a neighbour + have_common_neighbour = true; + } else { + it1++; + } + } + if (have_common_neighbour) { // Yes: replace with best connection + if (it1->fDensity < it2->fDensity) { + it1->fDensity = it2->fDensity; + // make sure the ordering is maintained: + while ((it1+1 < merge_priorities[index1]->end()) && (it1->fDensity > (it1+1)->fDensity)) { + std::iter_swap(it1, it1+1); + it1++; + } + weakly_connected = g1; + } else { + weakly_connected = g2; + } + // also remove the weaker connection from the merge priority vector of target_group: + merge_priorities[index_from_id[target_group1]]->erase( + std::remove_if( + merge_priorities[index_from_id[target_group1]]->begin(), + merge_priorities[index_from_id[target_group1]]->end(), + is_weakly_connected + ), merge_priorities[index_from_id[target_group1]]->end() + ); + } else { // No: insert this new connection + merge_priorities[index1]->insert( + std::lower_bound( + merge_priorities[index1]->begin(), + merge_priorities[index1]->end(), + *it2, + compare_boundaries + ), + *it2 + ); + } + } + // All connections are now stored on merge_priorities[index1], so we can remove merge_priorities[index2] + delete merge_priorities[index2]; // Free the vector with boundaries, + merge_priorities.erase(merge_priorities.begin() + index2); // and remove the reference to it. + // make sure the other vectors still match + if (group_peak_density[index2] > group_peak_density[index1]) { + group_peak_density[index1] = group_peak_density[index2]; + } + group_peak_density.erase(group_peak_density.begin() + index2); + id_from_index.erase(id_from_index.begin() + index2); + index_from_id[g2] = -1; + for (int i = g2 + 1; i < nGroups_before_regroup; i++) { + index_from_id[i]--; + } + + // Now update all boundaries in merge_priorities from g2 to g1 + std::vector*>::iterator it_group; + for (it_group = merge_priorities.begin(); it_group < merge_priorities.end(); it_group++) { + for (it1 = (*it_group)->begin(); it1 < (*it_group)->end(); it1++) { + if (it1->nGroup1 == g2) { + it1->nGroup1 = g1; + } else if (it1->nGroup2 == g2) { + it1->nGroup2 = g1; + } + } + } +} + +int regroup() { + int nGroups = gsmx->nGroups; + + std::vector*> merge_priorities(nGroups); + std::vector::iterator it; + std::vector group_peak_density(nGroups); + + // to go from index in the vectors (which decrease in size due to merging) to group id + std::vector id_from_index(nGroups); + int *index_from_id = new int[nGroups]; // and vice versa + int *new_group_id = new int[nGroups]; // to go from old to new group id + Boundary *boundary; + double d_tmp, d_saddle_tmp; + int j, i; + + nGroups_before_regroup = nGroups; + + // Create a vector of (pointers to) vectors containing, for each group, the boundaries + // it has with other groups, sorted in ascending order of saddle density. + for (j=0; j < nGroups; j++) { + merge_priorities[j] = new std::vector; + + group_peak_density[j] = gsmx->kd->p[gsmx->densestingroup[j]].fDensity; + index_from_id[j] = j; + id_from_index[j] = j; + new_group_id[j] = j; + } + for (j=0, boundary=gsmx->hash; j < gsmx->nHashLength; j++, boundary++){ + if (boundary->nGroup1 >= 0) { + merge_priorities[boundary->nGroup1]->insert( + std::lower_bound( + merge_priorities[boundary->nGroup1]->begin(), + merge_priorities[boundary->nGroup1]->end(), + *boundary, + compare_boundaries + ), + *boundary + ); + merge_priorities[boundary->nGroup2]->insert( + std::lower_bound( + merge_priorities[boundary->nGroup2]->begin(), + merge_priorities[boundary->nGroup2]->end(), + *boundary, + compare_boundaries + ), + *boundary + ); + } + } + if (debug) { + for (j=0; j < nGroups; j++) { + printf("\nGROUP %d, boundaries:\n", j); + for (it = merge_priorities[j]->begin(); it != merge_priorities[j]->end(); it++) { + printf("%d %d %f\n", it->nGroup1, it->nGroup2, it->fDensity); + } + } + } + + // Merge proper groups + int this_group, target_group, index; + j=0; + while (j < nGroups) { + //~for (j=0; j < nGroups; j++) { // For each group... + this_group = id_from_index[j]; + if (debug) printf("\nMerge proper groups, with group1: %d\n", this_group); + if (group_peak_density[j] > peak_densthresh) { // is this group a proper group? + it = merge_priorities[j]->begin(); + while (it != merge_priorities[j]->end()) { + target_group = (it->nGroup1 == this_group) ? it->nGroup2 : it->nGroup1; + index = index_from_id[target_group]; + if (group_peak_density[index] > peak_densthresh) { // is the target group also a proper group? + d_tmp = it->fDensity; + it = merge_priorities[j]->erase(it); + if (relative_saddle_density_threshold) { + d_saddle_tmp = saddle_density_threshold_factor * std::min(group_peak_density[j], group_peak_density[index]); + } else { + d_saddle_tmp = saddle_densthresh; + } + if (d_tmp > d_saddle_tmp) { // and boundary density high enough? ==> merge groups: + if (debug) printf("merging proper groups %d and %d (original size %d)\n", this_group, target_group, merge_priorities[j]->size()); + merge_groups( + this_group, target_group, + merge_priorities, group_peak_density, id_from_index, index_from_id); + if (debug) printf("merged proper groups %d and %d (new size %d)\n", this_group, target_group, merge_priorities[j]->size()); + nGroups--; + for (i = 0; i < nGroups_before_regroup; i++) { + if (new_group_id[i] == target_group) { + new_group_id[i] = this_group; + } + } + it = merge_priorities[j]->begin(); // merge_priorities[j] has changed -> start over + } + } else { // the target group is not a proper group. Deal with fringe groups later: + it++; + } + } + } + j++; + } + + // Merge fringe groups + bool changes = true; + Boundary next_boundary; + while (changes) { + changes = false; + for (j=0; j < nGroups; j++) { + if (merge_priorities[j]->size() > 0) { + this_group = id_from_index[j]; + next_boundary = merge_priorities[j]->back(); // top merge priority for this group + target_group = (next_boundary.nGroup1 == this_group) ? next_boundary.nGroup2 : next_boundary.nGroup1; + next_boundary = merge_priorities[index_from_id[target_group]]->back(); // top merge priority for this group's top target + int targets_target_group = (next_boundary.nGroup1 == target_group) ? next_boundary.nGroup2 : next_boundary.nGroup1; + + // Merging not allowed between proper groups separated by density below saddle density + if ((group_peak_density[index_from_id[target_group]] > peak_densthresh) && + (group_peak_density[j] > peak_densthresh)) { + merge_priorities[j]->pop_back(); + } else if (targets_target_group == this_group) { // Groups exchanged vows... + merge_priorities[j]->pop_back(); + if (debug) printf("merging fringe groups %d and %d\n", this_group, target_group); + merge_groups( // and shall be one flesh + this_group, target_group, + merge_priorities, group_peak_density, id_from_index, index_from_id); + for (i = 0; i < nGroups_before_regroup; i++) { + if (new_group_id[i] == target_group) { + new_group_id[i] = this_group; + } + } + nGroups--; + changes = true; + } + } + } + } + + // Reindex the new group ids to ids starting at 0, increment 1 + int *reindexed_new_group_id = new int[nGroups_before_regroup+1]; // +1 for particles not in any group + int *reindexer = new int[nGroups_before_regroup]; // to go from new group id to reindexed new group id + for (i = 0; i < nGroups_before_regroup; i++) { + reindexer[i] = -1; // default, means will be dropped (for fringe groups that do not belong to any proper group) + } + int tmp_id, id_counter = 0; + for (i = 0; i < nGroups_before_regroup; i++) { + tmp_id = new_group_id[i]; + if ((reindexer[tmp_id] == -1) && (group_peak_density[index_from_id[tmp_id]] > peak_densthresh)) { + reindexer[tmp_id] = id_counter++; // Post increment, next new group will get this id incremented by one + } + } + reindexed_new_group_id[0] = -1; // for particles not in any group + for (i = 0; i < nGroups_before_regroup; i++) { + reindexed_new_group_id[i+1] = reindexer[new_group_id[i]]; + } + + // Apply results + ParticlesMapIterator it_p; + AmuseParticle *p; + for (it_p = particlesMap.begin(); it_p != particlesMap.end(); it_p++) { + p = (*it_p).second; + p->group = reindexed_new_group_id[p->group+1]; + } + nGroups_after_regroup = id_counter; + + for (i=0; i=nSmooth) { + nSmooth = nHop+1; + ReSizeSMX(smx,nSmooth); + } + smSmooth(smx,smHop); + + int c = 0; + ParticlesMapIterator i; + for (i = particlesMap.begin(); i != particlesMap.end(); i++) { + AmuseParticle * p = (*i).second; + p->neighbor = -1 - smx->kd->p[c].iHop; + c++; + } + + INFORM("Grouping...\n"); + FindGroups(smx); + SortGroups(smx); + + INFORM("Merging Groups...\n"); + MergeGroupsHash(smx); + + kdOrder(kd); + + INFORM("Storing Results..."); + c = 0; + for (i = particlesMap.begin(); i != particlesMap.end(); i++) { + AmuseParticle * p = (*i).second; + p->group = smx->kd->p[c].iHop; + c++; + } + + gkd = kd; + gsmx = smx; + + regroup(); + + bHopDone = 1; + + INFORM("Done!\n"); + + return 0; +} + +int new_particle(int * index_of_the_particle, double mass, double x, double y, double z) { + *index_of_the_particle = highest_index; + AmuseParticle * p = new AmuseParticle(highest_index, mass, x, y, z); + particlesMap[highest_index] = p; + highest_index++; + return 0; +} + +int delete_particle(int index_of_the_particle) { + ParticlesMapIterator it; + it = particlesMap.find(index_of_the_particle); + if (it == particlesMap.end()){ + return -3; + } + delete it->second; + particlesMap.erase(it); + return 0; +} + +int get_number_of_particles(int *value) { + *value = (int) particlesMap.size(); + return 0; +} + +int set_density(int index_of_the_particle, double density) { + ParticlesMapIterator it; + it = particlesMap.find(index_of_the_particle); + if (it == particlesMap.end()){ + return -3; + } + it->second->density = density; + return 0; +} + +int get_density(int index_of_the_particle, double *density) { + ParticlesMapIterator it; + it = particlesMap.find(index_of_the_particle); + if (it == particlesMap.end()){ + return -3; + } + *density = it->second->density; + return 0; +} + +int set_position(int index_of_the_particle, double x, double y, double z) { + ParticlesMapIterator it; + it = particlesMap.find(index_of_the_particle); + if (it == particlesMap.end()){ + return -3; + } + it->second->x = x; + it->second->y = y; + it->second->z = z; + return 0; +} + +int get_position(int index_of_the_particle, double *x, double *y, double *z) { + ParticlesMapIterator it; + it = particlesMap.find(index_of_the_particle); + if (it == particlesMap.end()){ + return -3; + } + *x = it->second->x; + *y = it->second->y; + *z = it->second->z; + return 0; +} + +int get_mass(int index_of_the_particle, double *mass) { + ParticlesMapIterator it; + it = particlesMap.find(index_of_the_particle); + if (it == particlesMap.end()){ + return -3; + } + *mass = it->second->mass; + return 0; +} + +int get_densest_neighbor(int index_of_the_particle, int * index_of_densest_neighbor) { + ParticlesMapIterator it; + it = particlesMap.find(index_of_the_particle); + if (it == particlesMap.end()){ + return -3; + } + *index_of_densest_neighbor = it->second->neighbor; + return 0; +} + +int get_group_id(int index_of_the_particle, int * group_id) { + ParticlesMapIterator it; + it = particlesMap.find(index_of_the_particle); + if (it == particlesMap.end()){ + return -3; + } + *group_id = it->second->group; + return 0; +} + +int get_densest_particle_in_group(int group_id, int * index_of_the_particle) { + if (!bHopDone) return -1; + if(group_id > gsmx->nGroups) return -1; + *index_of_the_particle = gsmx->densestingroup[group_id]; + return 0; +} + +int get_number_of_particles_in_group(int group_id, int * number_of_particles) { + if (!bHopDone) return -1; + if(group_id >= gsmx->nGroups) return -1; + *number_of_particles = gsmx->nmembers[group_id]; + return 0; +} + +int get_average_boundary_density_of_groups(int first_group_id, int second_group_id, double * boundary_density) { + if (!bHopDone) return -1; + if(first_group_id > gsmx->nGroups) return -1; + if(second_group_id > gsmx->nGroups) return -1; + + Boundary *hp; + hp=gsmx->hash; + for (int j=0;jnHashLength; j++) { + if (hp->nGroup1 == first_group_id && hp->nGroup2 == second_group_id) { + *boundary_density = hp->fDensity; + return 0; + } + else if (hp->nGroup1 == second_group_id && hp->nGroup2 == first_group_id) { + *boundary_density = hp->fDensity; + return 0; + } + hp++; + } +// printf("No boundary exists between groups %4d and %4d.\n", first_group_id, second_group_id); + return -2; +} + +int get_number_of_groups(int * number_of_groups) { + if (!bHopDone) return -1; + *number_of_groups = nGroups_after_regroup; + return 0; +} + +int get_number_of_particles_outside_groups(int * number_of_particles) { + if (!bHopDone) return -1; + *number_of_particles = gsmx->nmembers[gsmx->nGroups]; + return 0; +} + +int show_parameters(){ + printf("Printing Parameters...\n"); + printf("nBucket:\t%d\nfPeriod x:\t%f\nfPeriod y:\t%f\nfPeriod z:\t%f\nnDens:\t%d\nnHop:\t%d\nnMerge:\t%d\nfDensThresh:\t%f\nnMethod:\t%d\n", + nBucket, fPeriod[0],fPeriod[1],fPeriod[2], nDens, nHop, nMerge, fDensThresh, nMethod); + return 0; +} + + + + + + + + diff --git a/src/amuse_hop/interface.py b/src/amuse_hop/interface.py new file mode 100644 index 0000000000..6c98c842a9 --- /dev/null +++ b/src/amuse_hop/interface.py @@ -0,0 +1,994 @@ +''' +This is the interface file for the HOP group-finding algorithm. HOP starts by determining +the densest neighbor of each particle (which can be the particle proper). The algorithm +then groups particles together by jumping from densest neighbor to densest neighbor until +a density peak is reached. + +core HOP algorithm functions: +calculate_densities() + - calculates densities +do_hop() + - determines densest neighbors then groups the particles and calculates boundaries + between groups +''' + + +from amuse.units import generic_unit_system +from amuse.community import * +from amuse.community.interface.common import CommonCodeInterface, CommonCode + +class HopInterface(CodeInterface, CommonCodeInterface, LiteratureReferencesMixIn): + ''' + .. [#] ADS:1998ApJ...498..137E (Eisenstein, DJ, Hut, P, ApJ 498 (1998): + .. [#] ... HOP: A new group-finding algorithm for N-body simulations) + ''' + include_headers = ['hop_worker.h'] + + def __init__(self, **keyword_arguments): + CodeInterface.__init__(self, name_of_the_worker="hop_worker", **keyword_arguments) + LiteratureReferencesMixIn.__init__(self) + + @legacy_function + def new_particle(): + ''' + Add a new particle with the specified position. + Returns the particle index of the new particle as an integer (note zero offset). + ''' + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT, + description='index of the particle') + function.addParameter('mass', dtype='float64', direction=function.IN, + description='mass of the particle') + function.addParameter('x', dtype='float64', direction=function.IN, + description='particle position on x-axis') + function.addParameter('y', dtype='float64', direction=function.IN, + description='particle position on y-axis') + function.addParameter('z', dtype='float64', direction=function.IN, + description='particle position on z-axis') + function.result_type = 'int32' + return function + + @legacy_function + def delete_particle(): + ''' + Remove a particle. + ''' + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description='index of the particle to be removed') + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found and removed + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def get_position(): + ''' + Retrieve the position of a particle. + ''' + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description='index of a particle') + function.addParameter('x', dtype='float64', direction=function.OUT, + description = 'particle position on x-axis') + function.addParameter('y', dtype='float64', direction=function.OUT, + description = 'particle position on y-axis') + function.addParameter('z', dtype='float64', direction=function.OUT, + description = 'particle position on z-axis') + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found and its position returned + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def get_mass(): + ''' + Retrieve the position of a particle. + ''' + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description='index of a particle') + function.addParameter('mass', dtype='float64', direction=function.OUT, + description = 'particle position on x-axis') + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found and its position returned + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def set_position(): + ''' + Set the position of a particle. + ''' + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description='index of a particle') + function.addParameter('x', dtype='float64', direction=function.IN, + description = 'particle position on x-axis') + function.addParameter('y', dtype='float64', direction=function.IN, + description = 'particle position on y-axis') + function.addParameter('z', dtype='float64', direction=function.IN, + description = 'particle position on z-axis') + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found and its position altered + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def get_density(): + ''' + Retrieve the density of a particle. + ''' + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description='index of a particle') + function.addParameter('density', dtype='float64', direction=function.OUT, + description='the density of the specified particle') + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found and its density returned + -1 - ERROR + particle could not be found, unphysical density encountered + or density was not yet calculated + """ + return function + + @legacy_function + def set_density(): + ''' + Set the density of a particle. + ''' + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description='index of a particle') + function.addParameter('density', dtype='float64', direction=function.IN, + description='the density of the specified particle') + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found and its density altered + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def get_densest_neighbor(): + ''' + Retrieve the particle index of the densest neighbor of a particle. + ''' + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description='index of a particle') + function.addParameter('index_of_densest_neighbor', dtype='int32', direction=function.OUT, + description='particle index of the densest neighbor of the specified particle') + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found and its densest neighbor index returned + -1 - ERROR + particle could not be found or its densest neighbor was not yet determined + """ + return function + + @legacy_function + def get_group_id(): + ''' + Retrieve the group ID of a particle (-1 for ungrouped particles). + ''' + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description='index of a particle') + function.addParameter('group_id', dtype='int32', direction=function.OUT, + description='group id of the group which the specified particle is a part of (-1 for ungrouped particles)') + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found and its group id returned + -1 - ERROR + particle could not be found or it was not part of a group + """ + return function + + @legacy_function + def get_number_of_particles(): + ''' + Retrieve the number of particles in the HopInstance. + ''' + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('value', dtype='int32', direction=function.OUT, + description='the total number of particles') + function.result_type = 'int32' + return function + + @legacy_function + def calculate_densities(): + ''' + Calculate the densities of the particles in the HopInstance. + Use set_density_method() to specify the density calculation + method (DEFAULT: gather-scatter cubic spline). + ''' + function = LegacyFunctionSpecification() + function.result_type = 'int32' + function.result_doc = ''' + 0 - OK + calculating densities successful + -1 - ERROR + no particles or parameter values too high (higher than number of partcles) + ''' + return function + + @legacy_function + def do_hop(): + ''' + Find the densest neighbors, then group the particles. do_hop() assigns + group ids to particles, starting with 0 for the largest group. + ''' + function = LegacyFunctionSpecification() + function.result_type = 'int32' + function.result_doc = ''' + 0 - OK + hop successful + -1 - ERROR + no particles or unphysical density encountered when reading densities or + parameter values too high (higher than number of particles) + ''' + return function + + @legacy_function + def get_densest_particle_in_group(): + ''' + Retrieve the particle index of the densest particle in a group. + (Requires do_hop() to be done first.) + ''' + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('group_id', dtype='int32', direction=function.IN, + description='group identification number') + function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT, + description='particle index of the particle with highest density in specified group') + function.result_type = 'int32' + function.result_doc = ''' + 0 - OK + group was found and index of densest particle returned + -1 - ERROR + group could not be found + ''' + return function + + @legacy_function + def get_number_of_particles_in_group(): + ''' + Retrieve the number of particles in a group. + ''' + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('group_id', dtype='int32', direction=function.IN, + description='group identification number') + function.addParameter('number_of_particles', dtype='int32', direction=function.OUT, + description='number of particles in the specified group') + function.result_type = 'int32' + function.result_doc = ''' + 0 - OK + group was found and the number of particles in the group returned + -1 - ERROR + group could not be found + ''' + return function + + @legacy_function + def get_average_boundary_density_of_groups(): + ''' + Retrieve the average density of the boundary between two groups. + (This is O(n_groups) so it might take a while to retrieve.) + (Requires do_hop() to be done first.) + ''' + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('first_group_id', dtype='int32', direction=function.IN, + description='identification number of the first group') + function.addParameter('second_group_id', dtype='int32', direction=function.IN, + description='identification number of the second group') + function.addParameter('boundary_density', dtype='float64', direction=function.OUT, + description='average density at the boundary between specified groups') + function.result_type = 'int32' + function.result_doc = ''' + 0 - OK + both groups were found and the average density of their boundary returned + -1 - ERROR + one of the groups could not be found + -2 - ERROR + the groups did not share a boundary + ''' + return function + + @legacy_function + def get_number_of_groups(): + ''' + Retrieve the number of groups in the HopInstance. + (Requires do_hop() to be done first.) + ''' + function = LegacyFunctionSpecification() + function.addParameter('number_of_groups', dtype='int32', direction=function.OUT, + description='the number of groups found by do_hop()') + function.result_type = 'int32' + function.result_doc = ''' + 0 - OK + number of groups found by hop returned + -1 - ERROR + do_hop was not run first + ''' + return function + + @legacy_function + def get_number_of_particles_outside_groups(): + ''' + Retrieve the number of particles that do not belong to a group. + (Requires do_hop() to be done first.) + ''' + function = LegacyFunctionSpecification() + function.addParameter('number_of_particles', dtype='int32', direction=function.OUT, + description='the number of particles that were not assigned a group id by do_hop()') + function.result_type = 'int32' + return function + + @legacy_function + def set_nBucket(): + ''' + Set nBucket, to tune the performance of the kd-tree search. + DEFAULT: 16 + ''' + function = LegacyFunctionSpecification() + function.addParameter('value', dtype = 'int32', direction=function.IN, + description='the value of nBucket affects the performance of the kd-tree search (DEFAULT: 16)') + function.result_type = 'int32' + return function + + @legacy_function + def get_nBucket(): + ''' + Return the bucket parameter to tune the performance of the kd-tree search. + DEFAULT: 16 + ''' + function = LegacyFunctionSpecification() + function.addParameter('value', dtype = 'int32', direction=function.OUT, + description='the value of nBucket affects the performance of the kd-tree search (DEFAULT: 16)') + function.result_type = 'int32' + return function + + @legacy_function + def set_nDens(): + ''' + Set nDens, the number of particles to smooth over when calculating densities. + DEFAULT: 64 + ''' + function = LegacyFunctionSpecification() + function.addParameter('value', dtype = 'int32', direction=function.IN, + description='the value of nDens, the number of particles to smooth over when calculating densities (DEFAULT: 64)') + function.result_type = 'int32' + return function + + @legacy_function + def get_nDens(): + ''' + Return the number of particles to smooth over when calculating densities. + DEFAULT: 64 + ''' + function = LegacyFunctionSpecification() + function.addParameter('value', dtype = 'int32', direction=function.OUT, + description='the value of nDens, the number of particles to smooth over when calculating densities (DEFAULT: 64)') + function.result_type = 'int32' + return function + + @legacy_function + def set_nHop(): + ''' + Set nHop, the number of particles over which to look for density maximum. + DEFAULT: 64 + (minimum allowed value of nHop is nMerge+1) + ''' + function = LegacyFunctionSpecification() + function.addParameter('value', dtype = 'int32', direction=function.IN, + description='the value of nHop, the number of particles over which to look for density maximum (DEFAULT: 64)') + function.result_type = 'int32' + function.result_doc = ''' + 0 - OK + nHop was set + -1 - ERROR + requested value for nHop was too low + ''' + return function + @legacy_function + def get_nHop(): + ''' + Return the number of particles over which to look for density maximum. + DEFAULT: 64 + (minimum allowed value of nHop is nMerge+1) + ''' + function = LegacyFunctionSpecification() + function.addParameter('value', dtype = 'int32', direction=function.OUT, + description='the value of nHop, the number of particles over which to look for density maximum (DEFAULT: 64)') + function.result_type = 'int32' + function.result_doc = ''' + 0 - OK + nHop was set + -1 - ERROR + requested value for nHop was too low + ''' + return function + + + @legacy_function + def set_fDensThresh(): + ''' + Set fDensThresh, the density below which particles are not assigned to any group. + DEFAULT: -1.0 (no threshold) + ''' + function = LegacyFunctionSpecification() + function.addParameter('value', dtype = 'float64', direction=function.IN, + description='value of fDensThresh, the minimum density of grouped particles (DEFAULT: no minimum)', + unit = generic_unit_system.density) + function.result_type = 'int32' + return function + @legacy_function + def get_fDensThresh(): + ''' + Return the density below which particles are not assigned to any group. + DEFAULT: -1.0 (no threshold) + ''' + function = LegacyFunctionSpecification() + function.addParameter('value', dtype = 'float64', direction=function.OUT, + description='value of fDensThresh, the minimum density of grouped particles (DEFAULT: no minimum)', + unit = generic_unit_system.density) + function.result_type = 'int32' + return function + @legacy_function + def set_saddle_densthresh(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype = 'float64', direction=function.IN, + description='For two groups to merge, the density at their boundary must ' + 'exceed this threshold (DEFAULT: 1.75 * outer_density_threshold)', + unit = generic_unit_system.density) + function.result_type = 'int32' + return function + @legacy_function + def get_saddle_densthresh(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype = 'float64', direction=function.OUT, + description='For two groups to merge, the density at their boundary must ' + 'exceed this threshold (DEFAULT: 1.75 * outer_density_threshold)', + unit = generic_unit_system.density) + function.result_type = 'int32' + return function + @legacy_function + def set_peak_densthresh(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype = 'float64', direction=function.IN, + description='Groups with density below this threshold (fringe groups) are ' + 'attached to other (proper) groups, or dropped (DEFAULT: max(d_saddle, 2.0 * d_outer))', + unit = generic_unit_system.density) + function.result_type = 'int32' + return function + @legacy_function + def get_peak_densthresh(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype = 'float64', direction=function.OUT, + description='Groups with density below this threshold (fringe groups) are ' + 'attached to other (proper) groups, or dropped (DEFAULT: max(d_saddle, 2.0 * d_outer))', + unit = generic_unit_system.density) + function.result_type = 'int32' + return function + + @legacy_function + def set_saddle_density_threshold_factor(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype = 'float64', direction=function.IN, + description='For two groups to merge, the density at their boundary must ' + 'exceed this factor times the lowest of the two peak densities (set relative_saddle_density_threshold to True)', + unit = NO_UNIT) + function.result_type = 'int32' + return function + @legacy_function + def get_saddle_density_threshold_factor(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype = 'float64', direction=function.OUT, + description='For two groups to merge, the density at their boundary must ' + 'exceed this factor times the lowest of the two peak densities (set relative_saddle_density_threshold to True)', + unit = NO_UNIT) + function.result_type = 'int32' + return function + @legacy_function + def set_relative_saddle_density_threshold(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype = 'int32', direction=function.IN, + description="Flag to use a saddle-density-threshold relative to the lowest peak density, " + "instead of the absolute saddle_density_threshold", + unit = NO_UNIT) + function.result_type = 'int32' + return function + @legacy_function + def get_relative_saddle_density_threshold(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype = 'int32', direction=function.OUT, + description="Flag to use a saddle-density-threshold relative to the lowest peak density, " + "instead of the absolute saddle_density_threshold", + unit = NO_UNIT) + function.result_type = 'int32' + return function + + + @legacy_function + def set_fPeriod(): + ''' + Set the x, y and z periodicity of the simulation box. + DEFAULT: infinite + ''' + function = LegacyFunctionSpecification() + function.addParameter('x', dtype = 'float64', direction=function.IN, + description='periodicity in x direction') + function.addParameter('y', dtype = 'float64', direction=function.IN, + description='periodicity in y direction') + function.addParameter('z', dtype = 'float64', direction=function.IN, + description='periodicity in z direction') + function.result_type = 'int32' + return function + + @legacy_function + def get_fPeriod(): + ''' + Get the x, y and z periodicity of the simulation box. + DEFAULT: infinite + ''' + function = LegacyFunctionSpecification() + function.addParameter('x', dtype = 'float64', direction=function.OUT, + description='periodicity in x direction') + function.addParameter('y', dtype = 'float64', direction=function.OUT, + description='periodicity in y direction') + function.addParameter('z', dtype = 'float64', direction=function.OUT, + description='periodicity in z direction') + function.result_type = 'int32' + return function + + @legacy_function + def set_nMerge(): + ''' + Set nMerge, the number of particles to catalogue group boundaries. + DEFAULT: 4 + (maximum allowed value of nMerge is nHop-1) + ''' + function = LegacyFunctionSpecification() + function.addParameter('value', dtype = 'int32', direction=function.IN, + description='the value of nMerge, the numbder of particles catalogue group boundaries') + function.result_type = 'int32' + function.result_doc = ''' + 0 - OK + nMerge was set + -1 - ERROR + requested value for nMerge was too high + ''' + return function + + @legacy_function + def get_nMerge(): + ''' + Return the number of particles to catalogue group boundaries. + DEFAULT: 4 + (maximum allowed value of nMerge is nHop-1) + ''' + function = LegacyFunctionSpecification() + function.addParameter('value', dtype = 'int32', direction=function.OUT, + description='the value of nMerge, the numbder of particles catalogue group boundaries') + function.result_type = 'int32' + function.result_doc = ''' + 0 - OK + nMerge was set + -1 - ERROR + requested value for nMerge was too high + ''' + return function + + @legacy_function + def set_density_method(): + ''' + Set the density calculation method used by calculate_densities(). + 0 - gather-scatter cubic spline kernel (DEFAULT) + 1 - gather-only cubic spline kernal + 2 - tophat kernal + ''' + function = LegacyFunctionSpecification() + function.addParameter('value', dtype = 'int32', direction=function.IN, + description='value representing the density calculation method (DEFAULT: 0; gather scatter cubic spline)') + function.result_type = 'int32' + function.result_doc = ''' + 0 - OK + density method set + -1 - ERROR + invalid density method requested + ''' + return function + + @legacy_function + def get_density_method(): + ''' + Get the density calculation method used by calculate_densities(). + 0 - gather-scatter cubic spline kernel (DEFAULT) + 1 - gather-only cubic spline kernal + 2 - tophat kernal + ''' + function = LegacyFunctionSpecification() + function.addParameter('value', dtype = 'int32', direction=function.OUT, + description='value representing the density calculation method (DEFAULT: 0; gather scatter cubic spline)') + function.result_type = 'int32' + function.result_doc = ''' + 0 - OK + density method set + -1 - ERROR + invalid density method requested + ''' + return function + + @legacy_function + def show_parameters(): + ''' + Print all parameters and their values. + ''' + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + def commit_particles(self): + pass + + def recommit_particles(self): + pass + + + +class Hop(CommonCode): + + def __init__(self, unit_converter = None, **options): + + self.unit_converter = unit_converter + + InCodeComponentImplementation.__init__(self, HopInterface(**options), **options) + + def define_converter(self, handler): + if self.unit_converter is None: + return + handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) + + def define_errorcodes(self, handler): + handler.add_errorcode(-1, 'Something went wrong...') + handler.add_errorcode(-2, 'Not implemented.') + handler.add_errorcode(-3, 'A particle with the given index was not found.') + handler.add_errorcode(-4, 'Negative density encountered.') + handler.add_errorcode(-5, 'Too few particles.') + + def define_methods(self, builder): + + builder.add_method( + 'new_particle', + (generic_unit_system.mass, generic_unit_system.length, generic_unit_system.length, generic_unit_system.length,), + (builder.INDEX, builder.ERROR_CODE) + ) + + builder.add_method( + 'delete_particle', + (builder.INDEX,), + (builder.ERROR_CODE) + ) + + builder.add_method( + 'get_position', + (builder.INDEX,), + (generic_unit_system.length, generic_unit_system.length, generic_unit_system.length, builder.ERROR_CODE), + public_name = 'get_position' + ) + + builder.add_method( + 'set_position', + (builder.INDEX, generic_unit_system.length, generic_unit_system.length, generic_unit_system.length,), + (builder.ERROR_CODE), + public_name = 'set_position' + ) + + builder.add_method( + 'get_density', + (builder.INDEX,), + (generic_unit_system.density, builder.ERROR_CODE) + ) + + builder.add_method( + 'get_mass', + (builder.INDEX,), + (generic_unit_system.mass, builder.ERROR_CODE) + ) + + builder.add_method( + 'set_density', + (builder.INDEX, generic_unit_system.density,), + (builder.ERROR_CODE) + ) + + builder.add_method( + 'get_densest_neighbor', + (builder.INDEX,), + (builder.INDEX, builder.ERROR_CODE) + ) + + builder.add_method( + 'get_group_id', + (builder.INDEX,), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + 'get_number_of_particles', + (), + (builder.INDEX, builder.ERROR_CODE) + ) + + builder.add_method( + 'calculate_densities', + (), + (builder.ERROR_CODE) + ) + + builder.add_method( + 'do_hop', + (), + (builder.ERROR_CODE) + ) + + builder.add_method( + 'get_densest_particle_in_group', + (builder.INDEX,), + (builder.INDEX, builder.ERROR_CODE) + ) + + builder.add_method( + 'get_number_of_particles_in_group', + (builder.INDEX,), + (builder.INDEX, builder.ERROR_CODE) + ) + + builder.add_method( + 'get_average_boundary_density_of_groups', + (builder.INDEX, builder.INDEX,), + (generic_unit_system.density, builder.ERROR_CODE) + ) + + builder.add_method( + 'get_number_of_groups', + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + 'get_number_of_particles_outside_groups', + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + 'show_parameters', + (), + (builder.ERROR_CODE) + ) + + builder.add_method( + "get_nHop", + (), + (builder.NO_UNIT, builder.ERROR_CODE,) + ) + + builder.add_method( + "set_nHop", + (builder.NO_UNIT, ), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_nDens", + (), + (builder.NO_UNIT, builder.ERROR_CODE,) + ) + + builder.add_method( + "set_nDens", + (builder.NO_UNIT, ), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_nBucket", + (), + (builder.NO_UNIT, builder.ERROR_CODE,) + ) + + builder.add_method( + "set_nBucket", + (builder.NO_UNIT, ), + (builder.ERROR_CODE,) + ) + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_fDensThresh", + "set_fDensThresh", + "outer_density_threshold", + "the density below which particles are not assigned to any group", + default_value = -1.0 | generic_unit_system.density + ) + handler.add_method_parameter( + "get_saddle_densthresh", + "set_saddle_densthresh", + "saddle_density_threshold", + "For two groups to merge, the density at their boundary must exceed this " + "threshold (DEFAULT: 1.75 * outer_density_threshold)", + default_value = -1.0 | generic_unit_system.density + ) + handler.add_method_parameter( + "get_peak_densthresh", + "set_peak_densthresh", + "peak_density_threshold", + "Groups with density below this threshold (fringe groups) are attached to " + "other (proper) groups, or dropped (DEFAULT: max(saddle_density_threshold, 2.0 * outer_density_threshold))", + default_value = -1.0 | generic_unit_system.density + ) + handler.add_method_parameter( + "get_saddle_density_threshold_factor", + "set_saddle_density_threshold_factor", + "saddle_density_threshold_factor", + "For two groups to merge, the density at their boundary must exceed this " + "factor times the lowest of the two peak densities (set relative_saddle_density_threshold to True)", + default_value = 0.80 + ) + handler.add_boolean_parameter( + "get_relative_saddle_density_threshold", + "set_relative_saddle_density_threshold", + "relative_saddle_density_threshold", + "Flag to use a saddle-density-threshold relative to the lowest peak density, " + "instead of the absolute saddle_density_threshold", + False + ) + + handler.add_method_parameter( + "get_nHop", + "set_nHop", + "number_of_neighbors_for_hop", + "The number of neighbors to search for local density maximum (search is performed iteratively until a true maximum is found)", + default_value = 64 + ) + + handler.add_method_parameter( + "get_density_method", + "set_density_method", + "density_method", + "method used for density computation (0,1,2 = gather-scatter spline, gather spline, tophat)", + default_value = 0 + ) + + + handler.add_method_parameter( + "get_nDens", + "set_nDens", + "number_of_neighbors_for_local_density", + "Return the number of particles to smooth over when calculating densities.", + default_value = 64 + ) + + handler.add_method_parameter( + "get_nBucket", + "set_nBucket", + "number_of_buckets", + "Return the bucket parameter to tune the performance of the kd-tree search.", + default_value = 16 + ) + + handler.add_method_parameter( + "get_nMerge", + "set_nMerge", + "number_of_particles_per_group_pair_boundary", + "The number of (densest) particles per boundary between each pair of groups, for merging.", + default_value = 4 + ) + + def define_particle_sets(self, builder): + builder.define_set('particles', 'index_of_the_particle') + builder.set_new('particles', 'new_particle') + builder.set_delete('particles', 'delete_particle') + builder.add_setter('particles', 'set_position') + builder.add_setter('particles', 'set_density', names=('density',)) + builder.add_getter('particles', 'get_position') + builder.add_getter('particles', 'get_density', names=('density',)) + builder.add_getter('particles', 'get_mass', names=('mass',)) + #builder.add_getter('particles', 'get_densest_neighbor') + builder.add_getter('particles', 'get_group_id', names=('group_id',)) + + def define_state(self, handler): + CommonCode.define_state(self, handler) + handler.add_transition('INITIALIZED','EDIT','commit_parameters') + handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False) + handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False) + handler.add_transition('UPDATE','CHANGE_PARAMETERS_UPDATE','before_set_parameter', False) + handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters') + handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') + handler.add_transition('CHANGE_PARAMETERS_UPDATE','UPDATE','recommit_parameters') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_UPDATE','before_set_parameter') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') + handler.add_method('CHANGE_PARAMETERS_UPDATE','before_get_parameter') + handler.add_method('RUN', 'before_get_parameter') + handler.add_method('EDIT', 'before_get_parameter') + handler.add_method('UPDATE','before_get_parameter') + + handler.add_method('EDIT', 'new_particle') + handler.add_method('EDIT', 'delete_particle') + handler.add_method('UPDATE', 'new_particle') + handler.add_method('UPDATE', 'delete_particle') + handler.add_transition('EDIT', 'RUN', 'commit_particles') + handler.add_transition('RUN', 'UPDATE', 'new_particle', False) + handler.add_transition('RUN', 'UPDATE', 'delete_particle', False) + handler.add_transition('UPDATE', 'RUN', 'recommit_particles') + handler.add_method('RUN', 'calculate_densities') + handler.add_method('RUN', 'do_hop') + handler.add_method('RUN', 'get_mass') + handler.add_method('RUN', 'get_position') + handler.add_method('RUN', 'get_density') + handler.add_method('RUN', 'get_group_id') + + def no_group(self): + return self.particles.select(lambda group_id: group_id == -1, ["group_id"]) + + def groups(self): + number_of_groups = self.get_number_of_groups() + group_id = self.particles.group_id + + for index in range(number_of_groups): + result = self.particles[group_id == index] + result.add_function_attribute('id_of_group', lambda particles: particles[0].group_id) + #result.add_function_attribute('get_density_of_group', lambda particles: self.get_group_density(particles.id_of_group())) + yield result + + + + + + + + + + + diff --git a/src/amuse_hop/packages/amuse-hop.amuse_deps b/src/amuse_hop/packages/amuse-hop.amuse_deps new file mode 100644 index 0000000000..77447f1e85 --- /dev/null +++ b/src/amuse_hop/packages/amuse-hop.amuse_deps @@ -0,0 +1 @@ +c mpi diff --git a/src/amuse_hop/packages/amuse-hop/amuse_hop b/src/amuse_hop/packages/amuse-hop/amuse_hop new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_hop/packages/amuse-hop/amuse_hop @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_hop/packages/amuse-hop/pyproject.toml b/src/amuse_hop/packages/amuse-hop/pyproject.toml new file mode 100644 index 0000000000..b15ddbc0f0 --- /dev/null +++ b/src/amuse_hop/packages/amuse-hop/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-hop" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_hop/**/*.py"] +exclude = [ + "amuse_hop/packages", + "amuse_hop/support", + "amuse_hop/src", + "amuse_hop/tests" + ] +artifacts = ["amuse_hop/hop_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_hop/tests/"] + +testpaths = ["amuse_hop/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/hop/src/Makefile b/src/amuse_hop/src/Makefile similarity index 100% rename from src/amuse/community/hop/src/Makefile rename to src/amuse_hop/src/Makefile diff --git a/src/amuse/community/hop/src/hop.c b/src/amuse_hop/src/hop.c similarity index 100% rename from src/amuse/community/hop/src/hop.c rename to src/amuse_hop/src/hop.c diff --git a/src/amuse/community/hop/src/kd.c b/src/amuse_hop/src/kd.c similarity index 100% rename from src/amuse/community/hop/src/kd.c rename to src/amuse_hop/src/kd.c diff --git a/src/amuse/community/hop/src/kd.h b/src/amuse_hop/src/kd.h similarity index 100% rename from src/amuse/community/hop/src/kd.h rename to src/amuse_hop/src/kd.h diff --git a/src/amuse/community/hop/src/regroup.c b/src/amuse_hop/src/regroup.c similarity index 100% rename from src/amuse/community/hop/src/regroup.c rename to src/amuse_hop/src/regroup.c diff --git a/src/amuse/community/hop/src/slice.c b/src/amuse_hop/src/slice.c similarity index 100% rename from src/amuse/community/hop/src/slice.c rename to src/amuse_hop/src/slice.c diff --git a/src/amuse/community/hop/src/slice.h b/src/amuse_hop/src/slice.h similarity index 100% rename from src/amuse/community/hop/src/slice.h rename to src/amuse_hop/src/slice.h diff --git a/src/amuse/community/hop/src/smooth.c b/src/amuse_hop/src/smooth.c similarity index 99% rename from src/amuse/community/hop/src/smooth.c rename to src/amuse_hop/src/smooth.c index 577656f290..1690693529 100644 --- a/src/amuse/community/hop/src/smooth.c +++ b/src/amuse_hop/src/smooth.c @@ -23,6 +23,7 @@ the case of equal mass particles. */ #include #include "smooth.h" #include "kd.h" +#include #define IMARK 1 /* All particles are marked to be included */ #define INFORM(string) printf(string); fflush(stdout) diff --git a/src/amuse/community/hop/src/smooth.h b/src/amuse_hop/src/smooth.h similarity index 100% rename from src/amuse/community/hop/src/smooth.h rename to src/amuse_hop/src/smooth.h diff --git a/src/amuse_hop/support/aclocal.m4 b/src/amuse_hop/support/aclocal.m4 new file mode 100644 index 0000000000..5fea1010bd --- /dev/null +++ b/src/amuse_hop/support/aclocal.m4 @@ -0,0 +1,19 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_hop/support/config.mk.in b/src/amuse_hop/support/config.mk.in new file mode 100644 index 0000000000..1d2619275a --- /dev/null +++ b/src/amuse_hop/support/config.mk.in @@ -0,0 +1,19 @@ +# Compilers +CC = @CC@ +CXX = @CXX@ + +MPICC = @MPICC@ +MPICXX = @MPICXX@ + +CPU_COUNT = @CPU_COUNT@ + +# General flags and libraries +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +AMUSE_MPI_CFLAGS = @AMUSE_MPI_CFLAGS@ +AMUSE_MPI_LIBS = @AMUSE_MPI_LIBS@ diff --git a/src/amuse_hop/support/configure b/src/amuse_hop/support/configure new file mode 100755 index 0000000000..bc78559128 --- /dev/null +++ b/src/amuse_hop/support/configure @@ -0,0 +1,6617 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-hop 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-hop' +PACKAGE_TARNAME='amuse-hop' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-hop 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +FOUND_AMUSE_MPI +AMUSE_MPI_LIBS +AMUSE_MPI_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CXX +CXXFLAGS +CXX +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +AMUSE_MPI_CFLAGS +AMUSE_MPI_LIBS +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS +MPICC +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-hop 1.0 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/amuse-hop] + --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 amuse-hop 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + 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 + CXX C++ compiler command + CXXFLAGS C++ compiler flags + 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 + AMUSE_MPI_CFLAGS + C compiler flags for AMUSE_MPI, overriding pkg-config + AMUSE_MPI_LIBS + linker flags for AMUSE_MPI, overriding pkg-config + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + MPICC MPI C compiler command + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-hop configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-hop $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Set the worker language + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +# Find AMUSE libraries + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$AMUSE_MPI_CFLAGS" + amuse_save_LIB_LIBS="$AMUSE_MPI_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing get_comm_world" >&5 +printf %s "checking for library containing get_comm_world... " >&6; } +if test ${ac_cv_search_get_comm_world+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char get_comm_world (); +int +main (void) +{ +return get_comm_world (); + ; + return 0; +} +_ACEOF +for ac_lib in '' amuse_mpi +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_get_comm_world=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_get_comm_world+y} +then : + break +fi +done +if test ${ac_cv_search_get_comm_world+y} +then : + +else $as_nop + ac_cv_search_get_comm_world=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_get_comm_world" >&5 +printf "%s\n" "$ac_cv_search_get_comm_world" >&6; } +ac_res=$ac_cv_search_get_comm_world +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_AMUSE_MPI="yes" + AMUSE_MPI_LIBS="$LIBS" + AMUSE_MPI_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for AMUSE_MPI" >&5 +printf %s "checking for AMUSE_MPI... " >&6; } + +if test -n "$AMUSE_MPI_CFLAGS"; then + pkg_cv_AMUSE_MPI_CFLAGS="$AMUSE_MPI_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"amuse_mpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "amuse_mpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_AMUSE_MPI_CFLAGS=`$PKG_CONFIG --cflags "amuse_mpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$AMUSE_MPI_LIBS"; then + pkg_cv_AMUSE_MPI_LIBS="$AMUSE_MPI_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"amuse_mpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "amuse_mpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_AMUSE_MPI_LIBS=`$PKG_CONFIG --libs "amuse_mpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + AMUSE_MPI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "amuse_mpi" 2>&1` + else + AMUSE_MPI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "amuse_mpi" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$AMUSE_MPI_PKG_ERRORS" >&5 + + + FOUND_AMUSE_MPI="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_AMUSE_MPI="no" + +else + AMUSE_MPI_CFLAGS=$pkg_cv_AMUSE_MPI_CFLAGS + AMUSE_MPI_LIBS=$pkg_cv_AMUSE_MPI_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_AMUSE_MPI="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_AMUSE_MPI}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + AMUSE_MPI_CFLAGS="${AMUSE_MPI_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + AMUSE_MPI_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + AMUSE_MPI_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +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 + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-hop $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-hop config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_hop/support/configure.ac b/src/amuse_hop/support/configure.ac new file mode 100644 index 0000000000..29989d23af --- /dev/null +++ b/src/amuse_hop/support/configure.ac @@ -0,0 +1,35 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-hop], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Set the worker language +AC_PROG_CC() +AC_PROG_CXX() + +# Find AMUSE libraries +AMUSE_LIB_AMUSE_MPI() +AMUSE_LIB_FORSOCKETS() + + +# Find external dependencies +AC_LANG_PUSH([C]) +AX_MPI() +AC_LANG_POP([C]) + +AC_LANG_PUSH([C++]) +AX_MPI() +AC_LANG_POP([C++]) + + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_hop/support/shared b/src/amuse_hop/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_hop/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_hop.py b/src/amuse_hop/tests/test_hop.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_hop.py rename to src/amuse_hop/tests/test_hop.py index a5393e1d29..1f1afb18bd 100644 --- a/src/amuse/test/suite/codes_tests/test_hop.py +++ b/src/amuse_hop/tests/test_hop.py @@ -1,12 +1,12 @@ import numpy from numpy import random -from amuse.test.amusetest import get_path_to_results, TestCase +from amuse.support.testing.amusetest import get_path_to_results, TestCase from amuse.units import units, nbody_system from amuse.support.exceptions import AmuseException from amuse.datamodel.particles import Particles from amuse.ic.plummer import new_plummer_model -from amuse.community.hop.interface import HopInterface, Hop +from amuse_hop.interface import HopInterface, Hop class TestHopInterface(TestCase): diff --git a/src/amuse_huayno/.gitignore b/src/amuse_huayno/.gitignore new file mode 100644 index 0000000000..1b2211df07 --- /dev/null +++ b/src/amuse_huayno/.gitignore @@ -0,0 +1 @@ +build* diff --git a/src/amuse_huayno/Makefile b/src/amuse_huayno/Makefile new file mode 100644 index 0000000000..002f8889a0 --- /dev/null +++ b/src/amuse_huayno/Makefile @@ -0,0 +1,112 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library +DEPFLAGS += $(STOPCOND_CFLAGS) +CFLAGS += $(DEPFLAGS) + +CFLAGS_CODELIB = $(CFLAGS) -std=gnu99 + +LDLIBS += -lm $(STOPCOND_LIBS) + +CODELIB = libhuayno.a # relative to build dir +CODELIB_OPENCL = build_opencl/libhuayno_cl.a + +build: + mkdir build + +build_%: + mkdir build_$* + +.PHONY: build/$(CODELIB) +build/$(CODELIB): src/Makefile | build + $(MAKE) -C build -j $(CPU_COUNT) -f ../src/Makefile all VPATH=../src CFLAGS="$(CFLAGS_CODELIB)" CXXFLAGS="$(CXXFLAGS)" + +.PHONY: build_openmp/$(CODELIB) +build_openmp/$(CODELIB): src/Makefile | build_openmp + $(MAKE) -C build_openmp -j $(CPU_COUNT) -f ../src/Makefile all VPATH=../src CFLAGS="$(CFLAGS_CODELIB) $(OPENMP_CFLAGS)" CXXFLAGS="$(CXXFLAGS) $(OPENMP_CXXFLAGS)" + +.PHONY: $(CODELIB_OPENCL) +$(CODELIB_OPENCL): src/Makefile | build_opencl + $(MAKE) -C build_opencl -j $(CPU_COUNT) -f ../src/Makefile libhuayno_cl.a VPATH=../src CFLAGS="$(CFLAGS_CODELIB) $(OPENCL_CFLAGS) -DEVOLVE_OPENCL -I." CXXFLAGS="$(CXXFLAGS)" LIBS="$(OPENCL_LIBS)" + + +interface.o: interface.c + $(MPICC) -Isrc -c -o $@ $(CFLAGS) $< + + +interface_openmp.o: interface.c + $(MPICC) -Isrc -c -o $@ $(CFLAGS) $(OPENMP_CFLAGS) $< + + +# Building the workers +huayno_worker.h: interface.py + amusifier --type=h interface.py HuaynoInterface -o $@ + +huayno_worker.cc: interface.py + amusifier --type=c interface.py HuaynoInterface -o $@ + +huayno_worker.o: huayno_worker.cc huayno_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + +huayno_openmp_worker.o: huayno_worker.cc huayno_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $(OPENMP_CFLAGS) $< + +huayno_opencl_worker.o: huayno_worker.cc huayno_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) -DEVOLVE_OPENCL $(OPENCL_CFLAGS) $< + + +huayno_worker: huayno_worker.o interface.o build/$(CODELIB) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +huayno_openmp_worker: huayno_openmp_worker.o interface_openmp.o build_openmp/$(CODELIB) + $(MPICXX) -o $@ $(LDFLAGS) $(OPENMP_CFLAGS) $^ $(LDLIBS) + +huayno_opencl_worker: huayno_opencl_worker.o interface.o $(CODELIB_OPENCL) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) $(OPENCL_LIBS) + + +# Which packages contain which workers? +amuse-huayno_contains: huayno_worker + +amuse-huayno-openmp_contains: huayno_openmp_worker + +amuse-huayno-opencl_contains: huayno_opencl_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *.o *worker* + rm -rf build* + +.PHONY: distclean +distclean: clean + -$(MAKE) -C src distclean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + diff --git a/src/amuse_huayno/__init__.py b/src/amuse_huayno/__init__.py new file mode 100644 index 0000000000..f6e111a9cb --- /dev/null +++ b/src/amuse_huayno/__init__.py @@ -0,0 +1 @@ +from .interface import Huayno diff --git a/src/amuse/community/huayno/interface.c b/src/amuse_huayno/interface.c similarity index 100% rename from src/amuse/community/huayno/interface.c rename to src/amuse_huayno/interface.c diff --git a/src/amuse_huayno/interface.py b/src/amuse_huayno/interface.py new file mode 100644 index 0000000000..4db1e89b45 --- /dev/null +++ b/src/amuse_huayno/interface.py @@ -0,0 +1,400 @@ +from amuse.community import * +from amuse.community.interface.gd import GravitationalDynamicsInterface,GravityFieldInterface +from amuse.community.interface.gd import GravitationalDynamics,GravityFieldCode + +class HuaynoInterface(CodeInterface, + LiteratureReferencesMixIn, + GravitationalDynamicsInterface, + StoppingConditionInterface, + GravityFieldInterface): + """ + HUAYNO is a code to solve the astrophysical N-body problem. It uses + recursive Hamiltonian splitting to generate multiple-timestep integrators + which conserve momentum to machine precision. A number of different + integrators are available. The code has been developed within the + AMUSE environment. It can make use of GPUs - for this an OpenCL + version can be compiled. + + .. [#] ADS:2012NewA...17..711P (Pelupessy, Federico I.; J\"anes, J\"urgen; Portegies Zwart, Simon, New Astronomy, Volume 17, Issue 8, p. 711-719) + .. [#] ADS:2014A&A...570A..20J (J\"anes, J\"urgen; Pelupessy, Federico I.; Portegies Zwart, Simon, A&A, Volume 570, October 2014 (for CC, OK methods)) + """ + include_headers = ['huayno_worker.h'] + + MODE_OPENCL='opencl' + MODE_OPENMP='openmp' + + def name_of_worker(self,mode): + if mode==self.MODE_OPENCL: + return 'huayno_opencl_worker' + if mode==self.MODE_OPENMP: + return 'huayno_openmp_worker' + return 'huayno_worker' + + def __init__(self, mode=None, **options): + CodeInterface.__init__(self, name_of_the_worker = self.name_of_worker(mode), **options) + LiteratureReferencesMixIn.__init__(self) + + @legacy_function + def get_time(): + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + + @legacy_function + def commit_particles(): + function = LegacyFunctionSpecification() + function.result_type = 'i' + return function + + @legacy_function + def get_kinetic_energy(): + function = LegacyFunctionSpecification() + function.addParameter('kinetic_energy', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_potential_energy(): + function = LegacyFunctionSpecification() + function.addParameter('potential_energy', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def initialize_code(): + function = LegacyFunctionSpecification() + function.result_type = 'i' + return function + + @legacy_function + def evolve_model(): + function = LegacyFunctionSpecification() + function.addParameter('time_end', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_timestep_parameter(): + function = LegacyFunctionSpecification() + function.addParameter('time_param', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_timestep_parameter(): + function = LegacyFunctionSpecification() + function.addParameter('time_param', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_timestep(): + function = LegacyFunctionSpecification() + function.addParameter('timestep', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_timestep(): + function = LegacyFunctionSpecification() + function.addParameter('timestep', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_verbosity_parameter(): + function = LegacyFunctionSpecification() + function.addParameter('verbosity', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_verbosity_parameter(): + function = LegacyFunctionSpecification() + function.addParameter('verbosity', dtype='i', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_number_of_particles(): + function = LegacyFunctionSpecification() + function.addParameter('number_of_particles', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_inttype_parameter(): + function = LegacyFunctionSpecification() + function.addParameter('inttype', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_inttype_parameter(): + function = LegacyFunctionSpecification() + function.addParameter('inttype', dtype='i', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_eps2_parameter(): + function = LegacyFunctionSpecification() + function.addParameter('eps2', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_eps2_parameter(): + function = LegacyFunctionSpecification() + function.addParameter('eps2', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_accel_zero_mass_parameter(): + function = LegacyFunctionSpecification() + function.addParameter('accelerate_zero_mass', dtype='b', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_accel_zero_mass_parameter(): + function = LegacyFunctionSpecification() + function.addParameter('accelerate_zero_mass', dtype='b', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_opencl_device_type(): + function = LegacyFunctionSpecification() + function.addParameter('opencl_device_type', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_opencl_device_type(): + function = LegacyFunctionSpecification() + function.addParameter('opencl_device_type', dtype='i', direction=function.IN) + function.result_type = 'i' + return function + + + def set_eps2(self, e): + return self.set_eps2_parameter(e) + + def get_eps2(self): + return self.get_eps2_parameter() + + @legacy_function + def get_evolve_statistics(): + function = LegacyFunctionSpecification() + function.addParameter('ttot', dtype='int64', direction=function.OUT) + function.addParameter('ktot', dtype='int64', direction=function.OUT) + function.addParameter('dtot', dtype='int64', direction=function.OUT) + function.addParameter('tstot', dtype='int64', direction=function.OUT) + function.addParameter('kstot', dtype='int64', direction=function.OUT) + function.addParameter('dstot', dtype='int64', direction=function.OUT) + function.result_type = 'i' + return function + +class Huayno(GravitationalDynamics,GravityFieldCode): + + __interface__ = HuaynoInterface + + class inttypes(object): + """ + CONSTANT# = constant global timestep, of different order + SHARED# = shared, but varying global timestep, of different order + SHARED#_COLLISION = shared, but varying global timestep, of different order with collision detection + CC_.. = various variant of connected component (termination with KEPLER or Bulirsch-stoer, see paper Janes + CCC_... = with centering of subsys + OK = Optimal Kick (see paper Janes) + PASS, HOLD, BRIDGE and variants= momentum conserving individual timestepping see paper Pelupessy + NAIVE = naive implementation of individual timestepping + others are experimental, testing, development + """ + @classmethod + def _list(cls): + return set([x for x in cls.__dict__.keys() if not x.startswith('_')]) + + all_inttypes=dict(CONSTANT = 0, SHARED2 = 1, PASS_KDK = 2, HOLD_KDK = 3, BRIDGE_KDK = 4, + EXTRAPOLATE = 5, PASS_DKD = 7, HOLD_DKD = 8, PPASS_DKD = 9, BRIDGE_DKD = 10, + CC = 11, CC_KEPLER = 12, OK = 13, KEPLER = 14, SHARED4 = 15, FOURTH_M4 = 16, FOURTH_M5 = 17, + SHARED6 = 18, SHARED8 = 19, SHARED10 = 20, SHAREDBS = 21, CCC = 22, CCC_KEPLER = 23, + CC_BS = 24, CCC_BS = 25, BS_CC_KEPLER = 26, CC_BSA = 27, CCC_BSA = 28, SHARED2_COLLISIONS = 29, + SHARED4_COLLISIONS = 30, SHARED6_COLLISIONS = 31, SHARED8_COLLISIONS = 32, + SHARED10_COLLISIONS = 33, CONSTANT2 = 34, CONSTANT4 = 35, CONSTANT6 = 36, + CONSTANT8 = 37, CONSTANT10 = 38, ERROR_CONTROL=39, CC_SHARED10=40, CCC_SHARED10=41) + + for key, val in all_inttypes.items(): + setattr(inttypes, key, val) + + def __init__(self, convert_nbody = None, **options): + self.stopping_conditions = StoppingConditions(self) + legacy_interface = self.__interface__(**options) +# self.legacy_doc = legacy_interface.__doc__ + + GravitationalDynamics.__init__( + self, + legacy_interface, + convert_nbody, + **options + ) + + def set_integrator(self, name): + return self.set_inttype_parameter(self.all_inttypes[name]) + + def get_integrator(self): + value= self.get_inttype_parameter() + for key, index in self.all_inttypes.items(): + if value == index: + return key + return "unknown" + + def define_parameters(self, handler): + + self.stopping_conditions.define_parameters(handler) + + handler.add_method_parameter( + "get_eps2", + "set_eps2", + "epsilon_squared", + "smoothing parameter for gravity calculations", + default_value = 0.0 | nbody_system.length * nbody_system.length + ) + + handler.add_method_parameter( + "get_timestep_parameter", + "set_timestep_parameter", + "timestep_parameter", + "timestep parameter for gravity calculations", + default_value = 0.03 + ) + + handler.add_method_parameter( + "get_timestep", + "set_timestep", + "timestep", + "timestep for evolve calls", + default_value = 0.0 | nbody_system.time + ) + + handler.add_method_parameter( + "get_verbosity_parameter", + "set_verbosity_parameter", + "verbosity_parameter", + "verbosity parameter (0 mean silent)", + default_value = 0 + ) + + handler.add_boolean_parameter( + "get_accel_zero_mass_parameter", + "set_accel_zero_mass_parameter", + "accelerate_zero_mass", + "accelerate zero mass particle interactions (should always be true, except for testing)", + default_value = True + ) + + inttypes=sorted([(getattr(self.inttypes,t),t ) + for i,t in enumerate(sorted(self.inttypes._list()))]) + + handler.add_method_parameter( + "get_inttype_parameter", + "set_inttype_parameter", + "inttype_parameter", + "integrator method to use, this can be one of: "+ + ",".join( ["{0}={1}".format(i, t) for i,t in inttypes]), + #~ default_value = 8 + ) + + handler.add_method_parameter( + "get_integrator", + "set_integrator", + "integrator", + "integrator method to use, this can be one of: "+ + ",".join( ["{0}".format(t) for i,t in inttypes]), + #~ default_value="HOLD_DKD" + ) + + handler.add_method_parameter( + "get_begin_time", + "set_begin_time", + "begin_time", + "model time to start the simulation at", + default_value = 0.0 | nbody_system.time + ) + + handler.add_method_parameter( + "get_opencl_device_type", + "set_opencl_device_type", + "opencl_device_type", + "set preferred OpenCL device type (0=default, 1=cpu, 2=gpu)", + default_value = 2 + ) + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + + handler.add_method( + "get_eps2", + (), + (nbody_system.length * nbody_system.length, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_eps2", + (nbody_system.length * nbody_system.length, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_timestep_parameter", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_timestep_parameter", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_timestep", + (), + (nbody_system.time, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_timestep", + (nbody_system.time, ), + (handler.ERROR_CODE,) + ) + + + handler.add_method( + "get_inttype_parameter", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_inttype_parameter", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + self.stopping_conditions.define_methods(handler) + + def define_particle_sets(self, handler): + GravitationalDynamics.define_particle_sets(self, handler) + self.stopping_conditions.define_particle_set(handler) + + def define_state(self, handler): + GravitationalDynamics.define_state(self, handler) + + handler.add_method('RUN', 'get_kinetic_energy') + handler.add_method('RUN', 'get_potential_energy') + + self.stopping_conditions.define_state(handler) diff --git a/src/amuse_huayno/packages/amuse-huayno-opencl.amuse_deps b/src/amuse_huayno/packages/amuse-huayno-opencl.amuse_deps new file mode 100644 index 0000000000..6555664b8d --- /dev/null +++ b/src/amuse_huayno/packages/amuse-huayno-opencl.amuse_deps @@ -0,0 +1 @@ +c c++ mpi opencl diff --git a/src/amuse_huayno/packages/amuse-huayno-opencl/amuse_huayno b/src/amuse_huayno/packages/amuse-huayno-opencl/amuse_huayno new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_huayno/packages/amuse-huayno-opencl/amuse_huayno @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_huayno/packages/amuse-huayno-opencl/pyproject.toml b/src/amuse_huayno/packages/amuse-huayno-opencl/pyproject.toml new file mode 100644 index 0000000000..e06a204652 --- /dev/null +++ b/src/amuse_huayno/packages/amuse-huayno-opencl/pyproject.toml @@ -0,0 +1,40 @@ +[project] +name = "amuse-huayno-opencl" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework", + "amuse-huayno" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_huayno"] +exclude = ["amuse_huayno/*"] +artifacts = ["amuse_huayno/huayno_opencl_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_huayno/tests/"] + +testpaths = ["amuse_huayno/tests"] + +# Test the installed package, and only OpenCL tests +addopts = "--import-mode=append -k opencl" + diff --git a/src/amuse_huayno/packages/amuse-huayno-openmp.amuse_deps b/src/amuse_huayno/packages/amuse-huayno-openmp.amuse_deps new file mode 100644 index 0000000000..836805960f --- /dev/null +++ b/src/amuse_huayno/packages/amuse-huayno-openmp.amuse_deps @@ -0,0 +1 @@ +c c++ mpi openmp diff --git a/src/amuse_huayno/packages/amuse-huayno-openmp/amuse_huayno b/src/amuse_huayno/packages/amuse-huayno-openmp/amuse_huayno new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_huayno/packages/amuse-huayno-openmp/amuse_huayno @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_huayno/packages/amuse-huayno-openmp/pyproject.toml b/src/amuse_huayno/packages/amuse-huayno-openmp/pyproject.toml new file mode 100644 index 0000000000..9c0b2dd79e --- /dev/null +++ b/src/amuse_huayno/packages/amuse-huayno-openmp/pyproject.toml @@ -0,0 +1,40 @@ +[project] +name = "amuse-huayno-openmp" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework", + "amuse-huayno" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_huayno"] +exclude = ["amuse_huayno/*"] +artifacts = ["amuse_huayno/huayno_openmp_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_huayno/tests/"] + +testpaths = ["amuse_huayno/tests"] + +# Test the installed package, and only OpenMP tests. +addopts = "--import-mode=append -k openmp" + diff --git a/src/amuse_huayno/packages/amuse-huayno.amuse_deps b/src/amuse_huayno/packages/amuse-huayno.amuse_deps new file mode 100644 index 0000000000..c56cfa06a6 --- /dev/null +++ b/src/amuse_huayno/packages/amuse-huayno.amuse_deps @@ -0,0 +1 @@ +c c++ mpi diff --git a/src/amuse_huayno/packages/amuse-huayno/amuse_huayno b/src/amuse_huayno/packages/amuse-huayno/amuse_huayno new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_huayno/packages/amuse-huayno/amuse_huayno @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_huayno/packages/amuse-huayno/pyproject.toml b/src/amuse_huayno/packages/amuse-huayno/pyproject.toml new file mode 100644 index 0000000000..66a1bfc4c9 --- /dev/null +++ b/src/amuse_huayno/packages/amuse-huayno/pyproject.toml @@ -0,0 +1,44 @@ +[project] +name = "amuse-huayno" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_huayno/**/*.py"] +exclude = [ + "amuse_huayno/packages", + "amuse_huayno/support", + "amuse_huayno/src", + "amuse_huayno/tests" + ] +artifacts = ["amuse_huayno/huayno_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_huayno/tests/"] + +testpaths = ["amuse_huayno/tests"] + +# Test the installed package, and only default CPU tests. +addopts = "--import-mode=append -k 'not opencl and not openmp'" + diff --git a/src/amuse/community/huayno/readme.txt b/src/amuse_huayno/readme.txt similarity index 100% rename from src/amuse/community/huayno/readme.txt rename to src/amuse_huayno/readme.txt diff --git a/src/amuse_huayno/src/Makefile b/src/amuse_huayno/src/Makefile new file mode 100644 index 0000000000..e4a8533f22 --- /dev/null +++ b/src/amuse_huayno/src/Makefile @@ -0,0 +1,50 @@ +MPICXX ?= mpicxx +MPICC ?= mpicc + +OPENMP_CFLAGS?= -fopenmp + +ifneq (,$(findstring xlc, $(notdir $(CC)))) +CFLAGS += -qlanglvl=extc99 +else +CFLAGS += -std=gnu99 +endif +LIBS += -lm +#~ INCLUDE = + +AR = ar ruv +RANLIB = ranlib +RM = rm + +#--------------------------------------------- + +OBJS = evolve.o evolve_shared.o evolve_sf.o evolve_cc.o \ + evolve_ok.o evolve_kepler.o universal_variable_kepler.o evolve_bs.o \ + evolve_shared_collisions.o evolve_error_control.o simple_map.o simple_hash.o + +all: libhuayno.a + +clean: + rm -f *.o *.bck *.pyc *.clh + +distclean: clean + +libhuayno.a: $(OBJS) + $(RM) -f $@ + $(AR) $@ $(OBJS) + $(RANLIB) $@ + +libhuayno_cl.a: $(OBJS) evolve_cl.o + $(RM) -f $@ + $(AR) $@ $(OBJS) evolve_cl.o + $(RANLIB) $@ + +evolve_cl.o: evolve_kern.clh + +.cc.o: $< + $(CXX) $(CXXFLAGS) $(SC_FLAGS) $(INCLUDE) -c -o $@ $< + +.c.o: $< + $(CC) $(CFLAGS) $(SC_FLAGS) $(INCLUDE) -c -o $@ $< + +%.clh: %.cl + awk 'BEGIN{print "const char *srcstr=" } {if(substr($$0,length($0))=="\\"){$$0=$$0"\\"};print "\""$$0"\\n\""} END{print ";"}' $< > $@ diff --git a/src/amuse/community/huayno/src/common.h b/src/amuse_huayno/src/common.h similarity index 100% rename from src/amuse/community/huayno/src/common.h rename to src/amuse_huayno/src/common.h diff --git a/src/amuse/community/huayno/src/evolve.c b/src/amuse_huayno/src/evolve.c similarity index 100% rename from src/amuse/community/huayno/src/evolve.c rename to src/amuse_huayno/src/evolve.c diff --git a/src/amuse/community/huayno/src/evolve.h b/src/amuse_huayno/src/evolve.h similarity index 100% rename from src/amuse/community/huayno/src/evolve.h rename to src/amuse_huayno/src/evolve.h diff --git a/src/amuse/community/huayno/src/evolve_bs.c b/src/amuse_huayno/src/evolve_bs.c similarity index 100% rename from src/amuse/community/huayno/src/evolve_bs.c rename to src/amuse_huayno/src/evolve_bs.c diff --git a/src/amuse/community/huayno/src/evolve_bs.h b/src/amuse_huayno/src/evolve_bs.h similarity index 100% rename from src/amuse/community/huayno/src/evolve_bs.h rename to src/amuse_huayno/src/evolve_bs.h diff --git a/src/amuse/community/huayno/src/evolve_cc.c b/src/amuse_huayno/src/evolve_cc.c similarity index 100% rename from src/amuse/community/huayno/src/evolve_cc.c rename to src/amuse_huayno/src/evolve_cc.c diff --git a/src/amuse/community/huayno/src/evolve_cc.h b/src/amuse_huayno/src/evolve_cc.h similarity index 100% rename from src/amuse/community/huayno/src/evolve_cc.h rename to src/amuse_huayno/src/evolve_cc.h diff --git a/src/amuse/community/huayno/src/evolve_cl.c b/src/amuse_huayno/src/evolve_cl.c similarity index 100% rename from src/amuse/community/huayno/src/evolve_cl.c rename to src/amuse_huayno/src/evolve_cl.c diff --git a/src/amuse/community/huayno/src/evolve_cl.h b/src/amuse_huayno/src/evolve_cl.h similarity index 100% rename from src/amuse/community/huayno/src/evolve_cl.h rename to src/amuse_huayno/src/evolve_cl.h diff --git a/src/amuse/community/huayno/src/evolve_error_control.c b/src/amuse_huayno/src/evolve_error_control.c similarity index 100% rename from src/amuse/community/huayno/src/evolve_error_control.c rename to src/amuse_huayno/src/evolve_error_control.c diff --git a/src/amuse/community/huayno/src/evolve_error_control.h b/src/amuse_huayno/src/evolve_error_control.h similarity index 100% rename from src/amuse/community/huayno/src/evolve_error_control.h rename to src/amuse_huayno/src/evolve_error_control.h diff --git a/src/amuse/community/huayno/src/evolve_kepler.c b/src/amuse_huayno/src/evolve_kepler.c similarity index 100% rename from src/amuse/community/huayno/src/evolve_kepler.c rename to src/amuse_huayno/src/evolve_kepler.c diff --git a/src/amuse/community/huayno/src/evolve_kepler.h b/src/amuse_huayno/src/evolve_kepler.h similarity index 100% rename from src/amuse/community/huayno/src/evolve_kepler.h rename to src/amuse_huayno/src/evolve_kepler.h diff --git a/src/amuse/community/huayno/src/evolve_kern.cl b/src/amuse_huayno/src/evolve_kern.cl similarity index 100% rename from src/amuse/community/huayno/src/evolve_kern.cl rename to src/amuse_huayno/src/evolve_kern.cl diff --git a/src/amuse/community/huayno/src/evolve_ok.c b/src/amuse_huayno/src/evolve_ok.c similarity index 100% rename from src/amuse/community/huayno/src/evolve_ok.c rename to src/amuse_huayno/src/evolve_ok.c diff --git a/src/amuse/community/huayno/src/evolve_ok.h b/src/amuse_huayno/src/evolve_ok.h similarity index 100% rename from src/amuse/community/huayno/src/evolve_ok.h rename to src/amuse_huayno/src/evolve_ok.h diff --git a/src/amuse/community/huayno/src/evolve_sf.c b/src/amuse_huayno/src/evolve_sf.c similarity index 100% rename from src/amuse/community/huayno/src/evolve_sf.c rename to src/amuse_huayno/src/evolve_sf.c diff --git a/src/amuse/community/huayno/src/evolve_sf.h b/src/amuse_huayno/src/evolve_sf.h similarity index 100% rename from src/amuse/community/huayno/src/evolve_sf.h rename to src/amuse_huayno/src/evolve_sf.h diff --git a/src/amuse/community/huayno/src/evolve_shared.c b/src/amuse_huayno/src/evolve_shared.c similarity index 100% rename from src/amuse/community/huayno/src/evolve_shared.c rename to src/amuse_huayno/src/evolve_shared.c diff --git a/src/amuse/community/huayno/src/evolve_shared.h b/src/amuse_huayno/src/evolve_shared.h similarity index 100% rename from src/amuse/community/huayno/src/evolve_shared.h rename to src/amuse_huayno/src/evolve_shared.h diff --git a/src/amuse/community/huayno/src/evolve_shared_collisions.c b/src/amuse_huayno/src/evolve_shared_collisions.c similarity index 100% rename from src/amuse/community/huayno/src/evolve_shared_collisions.c rename to src/amuse_huayno/src/evolve_shared_collisions.c diff --git a/src/amuse/community/huayno/src/evolve_shared_collisions.h b/src/amuse_huayno/src/evolve_shared_collisions.h similarity index 100% rename from src/amuse/community/huayno/src/evolve_shared_collisions.h rename to src/amuse_huayno/src/evolve_shared_collisions.h diff --git a/src/amuse/community/huayno/src/integrators_shared.h b/src/amuse_huayno/src/integrators_shared.h similarity index 100% rename from src/amuse/community/huayno/src/integrators_shared.h rename to src/amuse_huayno/src/integrators_shared.h diff --git a/src/amuse/community/huayno/src/simple_hash.c b/src/amuse_huayno/src/simple_hash.c similarity index 100% rename from src/amuse/community/huayno/src/simple_hash.c rename to src/amuse_huayno/src/simple_hash.c diff --git a/src/amuse/community/huayno/src/simple_hash.h b/src/amuse_huayno/src/simple_hash.h similarity index 100% rename from src/amuse/community/huayno/src/simple_hash.h rename to src/amuse_huayno/src/simple_hash.h diff --git a/src/amuse/community/huayno/src/simple_map.c b/src/amuse_huayno/src/simple_map.c similarity index 100% rename from src/amuse/community/huayno/src/simple_map.c rename to src/amuse_huayno/src/simple_map.c diff --git a/src/amuse/community/huayno/src/simple_map.h b/src/amuse_huayno/src/simple_map.h similarity index 100% rename from src/amuse/community/huayno/src/simple_map.h rename to src/amuse_huayno/src/simple_map.h diff --git a/src/amuse/community/huayno/src/universal_kepler_solver.h b/src/amuse_huayno/src/universal_kepler_solver.h similarity index 100% rename from src/amuse/community/huayno/src/universal_kepler_solver.h rename to src/amuse_huayno/src/universal_kepler_solver.h diff --git a/src/amuse/community/huayno/src/universal_variable_kepler.c b/src/amuse_huayno/src/universal_variable_kepler.c similarity index 100% rename from src/amuse/community/huayno/src/universal_variable_kepler.c rename to src/amuse_huayno/src/universal_variable_kepler.c diff --git a/src/amuse/community/huayno/src/universal_variable_kepler.h b/src/amuse_huayno/src/universal_variable_kepler.h similarity index 100% rename from src/amuse/community/huayno/src/universal_variable_kepler.h rename to src/amuse_huayno/src/universal_variable_kepler.h diff --git a/src/amuse_huayno/support/aclocal.m4 b/src/amuse_huayno/support/aclocal.m4 new file mode 100644 index 0000000000..749df6c00d --- /dev/null +++ b/src/amuse_huayno/support/aclocal.m4 @@ -0,0 +1,21 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_opencl.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/ax_openmp.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_huayno/support/config.mk.in b/src/amuse_huayno/support/config.mk.in new file mode 100644 index 0000000000..ef8493c301 --- /dev/null +++ b/src/amuse_huayno/support/config.mk.in @@ -0,0 +1,33 @@ +# Compilers +CC = @CC@ +CXX = @CXX@ + +MPICC = @MPICC@ +MPICXX = @MPICXX@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ + + +# General flags and libraries +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +STOPCOND_CFLAGS = @STOPCOND_CFLAGS@ +STOPCOND_LIBS = @STOPCOND_LIBS@ + + +# External dependencies +OPENMP_CFLAGS = @OPENMP_CFLAGS@ +OPENMP_CXXFLAGS = @OPENMP_CXXFLAGS@ + +FOUND_OPENCL = @FOUND_OPENCL@ +OPENCL_CFLAGS = @OPENCL_CFLAGS@ +OPENCL_LIBS = @OPENCL_LIBS@ diff --git a/src/amuse_huayno/support/configure b/src/amuse_huayno/support/configure new file mode 100755 index 0000000000..149f872a13 --- /dev/null +++ b/src/amuse_huayno/support/configure @@ -0,0 +1,6922 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-huayno 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-huayno' +PACKAGE_TARNAME='amuse-huayno' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-huayno 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +OPENMP_CXXFLAGS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +OPENCL_LIBS +OPENCL_CFLAGS +FOUND_OPENCL +OPENMP_CFLAGS +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +FOUND_STOPCOND +STOPCOND_LIBS +STOPCOND_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +RANLIB +AR +target_os +target_vendor +target_cpu +target +ac_ct_CXX +CXXFLAGS +CXX +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCOND_CFLAGS +STOPCOND_LIBS +MPICC +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-huayno 1.0 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/amuse-huayno] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-huayno 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + 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 + CXX C++ compiler command + CXXFLAGS C++ compiler flags + 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 + STOPCOND_CFLAGS + C compiler flags for STOPCOND, overriding pkg-config + STOPCOND_LIBS + linker flags for STOPCOND, overriding pkg-config + MPICC MPI C compiler command + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-huayno configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-huayno $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Set the worker language + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + +# Find AMUSE libraries + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCOND_CFLAGS" + amuse_save_LIB_LIBS="$STOPCOND_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing is_condition_enabled" >&5 +printf %s "checking for library containing is_condition_enabled... " >&6; } +if test ${ac_cv_search_is_condition_enabled+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char is_condition_enabled (); +int +main (void) +{ +return is_condition_enabled (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcond +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_is_condition_enabled=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_is_condition_enabled+y} +then : + break +fi +done +if test ${ac_cv_search_is_condition_enabled+y} +then : + +else $as_nop + ac_cv_search_is_condition_enabled=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_is_condition_enabled" >&5 +printf "%s\n" "$ac_cv_search_is_condition_enabled" >&6; } +ac_res=$ac_cv_search_is_condition_enabled +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCOND="yes" + STOPCOND_LIBS="$LIBS" + STOPCOND_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCOND" >&5 +printf %s "checking for STOPCOND... " >&6; } + +if test -n "$STOPCOND_CFLAGS"; then + pkg_cv_STOPCOND_CFLAGS="$STOPCOND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_CFLAGS=`$PKG_CONFIG --cflags "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCOND_LIBS"; then + pkg_cv_STOPCOND_LIBS="$STOPCOND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_LIBS=`$PKG_CONFIG --libs "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcond" 2>&1` + else + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcond" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCOND_PKG_ERRORS" >&5 + + + FOUND_STOPCOND="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCOND="no" + +else + STOPCOND_CFLAGS=$pkg_cv_STOPCOND_CFLAGS + STOPCOND_LIBS=$pkg_cv_STOPCOND_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCOND="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCOND}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCOND_CFLAGS="${STOPCOND_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCOND_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCOND_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + +# Find external dependencies +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 + + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OpenMP flag of C compiler" >&5 +printf %s "checking for OpenMP flag of C compiler... " >&6; } +if test ${ax_cv_c_openmp+y} +then : + printf %s "(cached) " >&6 +else $as_nop + saveCFLAGS=$CFLAGS +ax_cv_c_openmp=unknown +# Flags to try: -fopenmp (gcc), -mp (SGI & PGI), +# -qopenmp (icc>=15), -openmp (icc), +# -xopenmp (Sun), -omp (Tru64), +# -qsmp=omp (AIX), +# none +ax_openmp_flags="-fopenmp -openmp -qopenmp -mp -xopenmp -omp -qsmp=omp none" +if test "x$OPENMP_CFLAGS" != x; then + ax_openmp_flags="$OPENMP_CFLAGS $ax_openmp_flags" +fi +for ax_openmp_flag in $ax_openmp_flags; do + case $ax_openmp_flag in + none) CFLAGS=$saveC ;; + *) CFLAGS="$saveCFLAGS $ax_openmp_flag" ;; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include + +static void +parallel_fill(int * data, int n) +{ + int i; +#pragma omp parallel for + for (i = 0; i < n; ++i) + data[i] = i; +} + +int +main() +{ + int arr[100000]; + omp_set_num_threads(2); + parallel_fill(arr, 100000); + return 0; +} + +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ax_cv_c_openmp=$ax_openmp_flag; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +done +CFLAGS=$saveCFLAGS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_openmp" >&5 +printf "%s\n" "$ax_cv_c_openmp" >&6; } +if test "x$ax_cv_c_openmp" = "xunknown"; then + : +else + if test "x$ax_cv_c_openmp" != "xnone"; then + OPENMP_CFLAGS=$ax_cv_c_openmp + fi + +printf "%s\n" "#define HAVE_OPENMP 1" >>confdefs.h + +fi + + + + amuse_save_CFLAGS="$CFLAGS" + amuse_save_LIBS="$LIBS" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OpenCL" >&5 +printf %s "checking for OpenCL... " >&6; } + + # If the user overrode the variables, then we'll use what they set and verify that + # it works. + if test "x$OPENCL_CFLAGS" != "x" +then : + + amuse_user_OPENCL_CFLAGS="$OPENCL_CFLAGS" + CFLAGS="$OPENCL_CFLAGS $CFLAGS" + +fi + if test "x$OPENCL_LIBS" != "x" +then : + + amuse_user_OPENCL_LIBS="$OPENCL_LIBS" + LIBS="$OPENCL_LIBS $LIBS" + +fi + + # We only use OpenCL from C, in huayno + 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 + + + # Search for the headers + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #if defined(__APPLE__) || defined(__MACOSX) + #include + #else + #include + #endif + +int +main (void) +{ +clFinish(0) + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + # Search for the library as well + LIBS="-lOpenCL $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #if defined(__APPLE__) || defined(__MACOSX) + #include + #else + #include + #endif + +int +main (void) +{ +clFinish(0) + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + FOUND_OPENCL="yes" + OPENCL_LIBS="-lOpenCL" + OPENCL_CFLAGS="" + +else $as_nop + + FOUND_OPENCL="no" + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +else $as_nop + + FOUND_OPENCL="no" + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + 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 + + + LIBS="$amuse_save_LIBS" + CFLAGS="$amuse_save_CFLAGS" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FOUND_OPENCL" >&5 +printf "%s\n" "$FOUND_OPENCL" >&6; } + + + + + + +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=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OpenMP flag of C++ compiler" >&5 +printf %s "checking for OpenMP flag of C++ compiler... " >&6; } +if test ${ax_cv_cxx_openmp+y} +then : + printf %s "(cached) " >&6 +else $as_nop + saveCXXFLAGS=$CXXFLAGS +ax_cv_cxx_openmp=unknown +# Flags to try: -fopenmp (gcc), -mp (SGI & PGI), +# -qopenmp (icc>=15), -openmp (icc), +# -xopenmp (Sun), -omp (Tru64), +# -qsmp=omp (AIX), +# none +ax_openmp_flags="-fopenmp -openmp -qopenmp -mp -xopenmp -omp -qsmp=omp none" +if test "x$OPENMP_CXXFLAGS" != x; then + ax_openmp_flags="$OPENMP_CXXFLAGS $ax_openmp_flags" +fi +for ax_openmp_flag in $ax_openmp_flags; do + case $ax_openmp_flag in + none) CXXFLAGS=$saveCXX ;; + *) CXXFLAGS="$saveCXXFLAGS $ax_openmp_flag" ;; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include + +static void +parallel_fill(int * data, int n) +{ + int i; +#pragma omp parallel for + for (i = 0; i < n; ++i) + data[i] = i; +} + +int +main() +{ + int arr[100000]; + omp_set_num_threads(2); + parallel_fill(arr, 100000); + return 0; +} + +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ax_cv_cxx_openmp=$ax_openmp_flag; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +done +CXXFLAGS=$saveCXXFLAGS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_openmp" >&5 +printf "%s\n" "$ax_cv_cxx_openmp" >&6; } +if test "x$ax_cv_cxx_openmp" = "xunknown"; then + : +else + if test "x$ax_cv_cxx_openmp" != "xnone"; then + OPENMP_CXXFLAGS=$ax_cv_cxx_openmp + fi + +printf "%s\n" "#define HAVE_OPENMP 1" >>confdefs.h + +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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-huayno $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-huayno config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_huayno/support/configure.ac b/src/amuse_huayno/support/configure.ac new file mode 100644 index 0000000000..35b79826dc --- /dev/null +++ b/src/amuse_huayno/support/configure.ac @@ -0,0 +1,48 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-huayno], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Set the worker language +AC_PROG_CC() +AC_PROG_CXX() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + +# Find AMUSE libraries +AMUSE_LIB_STOPCOND() + +# Find external dependencies +AC_LANG_PUSH([C]) + +AX_MPI() +AX_OPENMP() +AC_SUBST(OPENMP_CFLAGS) +AMUSE_OPENCL() + +AC_LANG_POP([C]) + +AC_LANG_PUSH([C++]) + +AX_MPI() +AX_OPENMP() +AC_SUBST(OPENMP_CXXFLAGS) + +AC_LANG_POP([C++]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_huayno/support/shared b/src/amuse_huayno/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_huayno/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_huayno.py b/src/amuse_huayno/tests/test_huayno.py similarity index 97% rename from src/amuse/test/suite/codes_tests/test_huayno.py rename to src/amuse_huayno/tests/test_huayno.py index 85cc10b9e5..95c0eddfa3 100644 --- a/src/amuse/test/suite/codes_tests/test_huayno.py +++ b/src/amuse_huayno/tests/test_huayno.py @@ -1,10 +1,10 @@ -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI import os import sys import numpy import math -from amuse.community.huayno.interface import HuaynoInterface, Huayno +from amuse_huayno.interface import HuaynoInterface, Huayno from amuse.units import nbody_system from amuse.units import units, constants @@ -498,29 +498,35 @@ def test14c(self): print(sha.hexdigest()) print("0af7eaea472989ea4be1bb0e2b8633d6b9af41e4") - def test15(self): + def do_test15(self, mode): + try: + instance = Huayno(mode=mode, number_of_workers=1) # , debugger="xterm") + except: + self.skip(f"Could not create huayno with mode={mode}, not installed?") + particles = plummer.new_plummer_model(512) expected_positions = None - for mode in ["cpu", "openmp", "opencl"]: - try: - instance = Huayno(mode=mode, number_of_workers=1) # , debugger="xterm") - except: - print("Running huayno with mode=", mode, " was unsuccessful.") - continue - else: - print("Running huayno with mode=", mode, "... ") - instance.initialize_code() - instance.parameters.epsilon_squared = 0.01 | nbody_system.length ** 2 - instance.particles.add_particles(particles) + instance.initialize_code() + instance.parameters.epsilon_squared = 0.01 | nbody_system.length ** 2 + instance.particles.add_particles(particles) - instance.evolve_model(0.2 | nbody_system.time) - instance.synchronize_model() - if expected_positions is None: - expected_positions = instance.particles.position - else: - self.assertAlmostRelativeEquals(expected_positions, instance.particles.position, 8) - instance.stop() + instance.evolve_model(0.2 | nbody_system.time) + instance.synchronize_model() + if expected_positions is None: + expected_positions = instance.particles.position + else: + self.assertAlmostRelativeEquals(expected_positions, instance.particles.position, 8) + instance.stop() + + def test15_cpu(self): + self.do_test15("cpu") + + def test15_openmp(self): + self.do_test15("openmp") + + def test15_opencl(self): + self.do_test15("opencl") def test16(self): instance = Huayno() diff --git a/src/amuse_kepler/Makefile b/src/amuse_kepler/Makefile new file mode 100644 index 0000000000..0bdbc3d209 --- /dev/null +++ b/src/amuse_kepler/Makefile @@ -0,0 +1,68 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + +# Building the code into a static library +CFLAGS += -Isrc + +CODELIB = src/libkepler.a + + +# Building the code lib +.PHONY: $(CODELIB) +$(CODELIB): + $(MAKE) -C src -j $(CPU_COUNT) all CXX='$(MPICXX)' + +# Building the workers +kepler_worker.h: interface.py + amusifier --type=h interface.py KeplerInterface -o $@ + +kepler_worker.cc: interface.py + amusifier --type=c interface.py KeplerInterface -o $@ + +kepler_worker.o: kepler_worker.cc kepler_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + +kepler_worker: kepler_worker.o interface.o $(CODELIB) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +%.o: %.cc + $(MPICXX) -c $(CFLAGS) $< + + +# Which packages contain which workers? +amuse-kepler_contains: kepler_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + diff --git a/src/amuse_kepler/__init__.py b/src/amuse_kepler/__init__.py new file mode 100644 index 0000000000..0b2537444b --- /dev/null +++ b/src/amuse_kepler/__init__.py @@ -0,0 +1 @@ +from .interface import Kepler diff --git a/src/amuse_kepler/interface.cc b/src/amuse_kepler/interface.cc new file mode 100644 index 0000000000..67d1c3e7c9 --- /dev/null +++ b/src/amuse_kepler/interface.cc @@ -0,0 +1,447 @@ +#include "stdinc.h" +#include "kepler.h" +#include "kepler_worker.h" + +static kepler *k; + +int initialize_code() +{ + if (k) delete k; + k = new kepler; + if (!k) return -1; + return 0; +} + +int commit_parameters() +{ + return 0; +} + +int recommit_parameters() +{ + return 0; +} + +int cleanup_code() +{ + return 0; +} + +int initialize_from_dyn(double mass, + double x, double y, double z, + double vx, double vy, double vz, + double time) +{ + k->set_time(time); + k->set_total_mass(mass); + k->set_rel_pos(vec(x,y,z)); + k->set_rel_vel(vec(vx,vy,vz)); + k->initialize_from_pos_and_vel(); + return 0; +} + +int initialize_from_elements(double mass, double semi, double ecc, + double mean_anomaly, double time, + double periastron, int random_orientation) +{ + // Standard orbit will be in the x-y plane, with long axis along + // x. However, we can set the orientation separately, before or + // after calling this function. The code here is based on that + // found in Starlab::make_standard_kepler(). The mean anomaly on + // entry is usually taken to be 0 (i.e. periapsis) at the + // specified time (default 0), unless the orbit is linear. + // + // Note that ecc = 1 is a special case that requires periastron + // also to be set. In that case, the sign of semi determines + // whether the orbit is bound or unbound. + + k->set_time(time); + k->set_total_mass(mass); + k->set_semi_major_axis(semi); + k->set_eccentricity(ecc); + k->set_periastron(periastron); + k->set_mean_anomaly(mean_anomaly); + + if (random_orientation) + set_random_orientation(*k, 0); + + k->initialize_from_shape_and_phase(); + + return 0; +} + +int transform_to_time(double time) +{ + k->transform_to_time(time); + return 0; +} + +// All advance/return functions should check the allowability of the +// command and return the appropriate status. The kepler functions +// will produce warning messages and do something, but won't return an +// error indicator. + +int advance_to_radius(double radius) +{ + k->advance_to_radius(radius); + return 0; +} + +int return_to_radius(double radius) +{ + k->return_to_radius(radius); + return 0; +} + +int advance_to_periastron() +{ + k->advance_to_periastron(); + return 0; +} + +int advance_to_apastron() +{ + k->advance_to_apastron(); + return 0; +} + +int return_to_periastron() +{ + k->return_to_periastron(); + return 0; +} + +int return_to_apastron() +{ + k->return_to_apastron(); + return 0; +} + +int get_total_mass(double * mass) +{ + *mass = k->get_total_mass(); + return 0; +} + +int get_time(double * time) +{ + *time = k->get_time(); + return 0; +} + +int get_period(double * period) +{ + *period = k->get_period(); + return 0; +} + +int get_elements(double * semi, double * ecc) +{ + *semi = k->get_semi_major_axis(); + *ecc = k->get_eccentricity(); + return 0; +} + +int get_integrals(double * energy, double * angular_momentum) +{ + *energy = k->get_energy(); + *angular_momentum = k->get_angular_momentum(); + return 0; +} + +int get_separation_vector(double * x, double * y, double * z) +{ + vec r = k->get_rel_pos(); + *x = r[0]; + *y = r[1]; + *z = r[2]; + return 0; +} + +int get_separation(double * r) +{ + *r = k->get_separation(); + return 0; +} + +int set_periastron(double p) +{ + k->set_periastron(p); + return 0; +} + +int get_periastron(double * p) +{ + *p = k->get_periastron(); + return 0; +} + +int get_apastron(double * a) +{ + *a = k->get_apastron(); + return 0; +} + +int get_velocity_vector(double * vx, double * vy, double * vz) +{ + vec v = k->get_rel_vel(); + *vx = v[0]; + *vy = v[1]; + *vz = v[2]; + return 0; +} + +int get_angles(double * mean_anomaly, double * true_anomaly) +{ + *mean_anomaly = k->get_mean_anomaly(); + *true_anomaly = k->get_true_anomaly(); + return 0; +} + +// Remains TBD if this is actually the best way to handle orbit orientation. + +#define TOL 1.e-10 + +int set_longitudinal_unit_vector(double x, double y, double z) +{ + vec l = k->get_longitudinal_unit_vector(); + vec t = k->get_transverse_unit_vector(); + vec n = k->get_normal_unit_vector(); + real r = sqrt(x*x+y*y+z*z); + if (r <= 0) return -1; + l = vec(x,y,z)/r; + //if (fabs(l*n) < TOL*abs(l)*abs(n)) t = n^l; // no side effect + k->set_orientation(l, t, n); + return 0; +} + +int set_transverse_unit_vector(double x, double y, double z) +{ + vec l = k->get_longitudinal_unit_vector(); + vec t = k->get_transverse_unit_vector(); + vec n = k->get_normal_unit_vector(); + real r = sqrt(x*x+y*y+z*z); + if (r <= 0) return -1; + t = vec(x,y,z)/r; + //if (fabs(t*n) < TOL*abs(t)*abs(n)) t = n^t; // no side effect + k->set_orientation(l, t, n); + return 0; +} + +int set_normal_unit_vector(double x, double y, double z) +{ + vec l = k->get_longitudinal_unit_vector(); + vec t = k->get_transverse_unit_vector(); + vec n = k->get_normal_unit_vector(); + real r = sqrt(x*x+y*y+z*z); + if (r <= 0) return -1; + n = vec(x,y,z)/r; + //if (fabs(l*n) < TOL*abs(l)*abs(n)) t = n^l; // no side effect + k->set_orientation(l, t, n); + return 0; +} + +int get_longitudinal_unit_vector(double * x, double * y, double * z) +{ + vec l = k->get_longitudinal_unit_vector(); + *x = l[0]; + *y = l[1]; + *z = l[2]; + return 0; +} + +int get_transverse_unit_vector(double * x, double * y, double * z) +{ + vec t = k->get_transverse_unit_vector(); + *x = t[0]; + *y = t[1]; + *z = t[2]; + return 0; +} + +int get_normal_unit_vector(double * x, double * y, double * z) +{ + vec n = k->get_normal_unit_vector(); + *x = n[0]; + *y = n[1]; + *z = n[2]; + return 0; +} + +int print_all() +{ + k->print_all(); + return 0; +} + +//-------------------------------------------------------------------- +// From Amanda Benson: Extra code to initialize a 3-body encounter, +// which is too slow in python relative to the cost of a typical +// 3-body scattering. + +static void set_inner_orbit(real ecc) +{ + real mass = 1; // standard assumption from + real semi = 1; // Hut & Bahcall 1983 + k->align_with_axes(1); + real mean_an = 2*M_PI*randinter(0, 1); + initialize_from_elements(mass, semi, ecc, mean_an, 0.0, 0.0, 0); + cout << "inner "; PRC(semi); PRL(ecc); +} + +static void set_outer_orbit(real m, real M, + real v_inf, real impact_parameter, + int planar) +{ + real mtotal = 1 + M; + + // Multiply the incoming velocity by the critical value (see Hut & + // Bahcall 1983). + + v_inf *= sqrt((1-m)*m*mtotal/M); + real energy3 = 0.5*v_inf*v_inf; + cout << "m1, m2, m3 = " << 1-m << " " << m << " " << M << endl << flush; + PRC(v_inf); PRC(energy3); PRL(impact_parameter); + + real semi, ang_mom3, ecc, periastron; + if (energy3 > 0) { + semi = -0.5*mtotal/energy3; + ang_mom3 = impact_parameter*v_inf; + ecc = sqrt(1+2*energy3*pow(ang_mom3/mtotal, 2)); + periastron = -semi*fmax(ecc-1, 0.0); // not used + } else { + semi = 0; // not used + ecc = 1; + periastron = impact_parameter; + } + + // Orientation: + + vec longitudinal(1,0,0), transverse(0,1,0), normal(0,0,1); + if (planar < 0) { + transverse = -transverse; + normal = -normal; + } else if (planar == 0) { + real costheta = randinter(-1, 1); + real sintheta = sqrt(fmax(0., 1-pow(costheta, 2))); + real phi = 2*M_PI*randinter(-1, 1); + longitudinal = vec(sintheta*cos(phi), sintheta*sin(phi), costheta); + vec temp(1,0,0); + if (abs(longitudinal[0]) > 0.5) temp = vec(0,1,0); + transverse = longitudinal^temp; + transverse /= abs(transverse); + normal = longitudinal^transverse; + + real psi = randinter(0,2*M_PI); + real cospsi = cos(psi); + real sinpsi = sin(psi); + normal = cospsi*normal + sinpsi*transverse; + transverse = normal^longitudinal; + } + k->set_orientation(longitudinal, transverse, normal); + + real time = 0; + real mean_anomaly = 0; + if (periastron == 0) mean_anomaly = -1.e-3; + PRL(mean_anomaly); + + cout << "outer "; PRC(semi); PRL(ecc); + initialize_from_elements(mtotal, semi, ecc, mean_anomaly, + time, periastron, 0); + PRL(k->get_normal_unit_vector()); + PRL(k->get_periastron()); + // k->print_all(); +} + +int set_random(int seed) +{ + // cout << "set_random: seed = " << seed << endl; + srandinter(seed, 0); // kepler built-in + return 0; +} + +int get_random(int *seed) +{ + *seed = getrandinter(); + return 0; +} + +// Binary scattering in standard (Hut & Bahcall 1983) units. Binary +// mass = 1, semimajor axis = 1, t = 0 at pericenter if appropriate. + +int make_binary_scattering(real m, real ecc, + real M, real v_inf, real impact_parameter, + real gamma, int planar, + double * time, + double * m1, double * m2, double * m3, + double * x1, double * x2, double * x3, + double * y1, double * y2, double * y3, + double * z1, double * z2, double * z3, + double * vx1, double * vx2, double * vx3, + double * vy1, double * vy2, double * vy3, + double * vz1, double * vz2, double * vz3) +{ + // Inner orbit (1,2). + + *m1 = 1 - m; + *m2 = m; + + set_inner_orbit(ecc); + vec rel_pos = k->get_rel_pos(); + vec rel_vel = k->get_rel_vel(); + vec pos1 = -m*rel_pos; + vec pos2 = (1-m)*rel_pos; + vec vel1 = -m*rel_vel; + vec vel2 = (1-m)*rel_vel; + + // Outer orbit ((1,2),3). + + *m3 = M; + + set_outer_orbit(m, M, v_inf, impact_parameter, planar); + // cout << "----------" << endl << flush; + // k->print_all(); + k->return_to_radius(pow(gamma/M, -1./3)); + // cout << "----------" << endl << flush; + // k->print_all(); + // cout << "----------" << endl << flush; + *time = k->get_time(); + + rel_pos = k->get_rel_pos(); + rel_vel = k->get_rel_vel(); + real f = M/(1+M); + vec pos12 = -f*rel_pos, pos3 = (1-f)*rel_pos; + vec vel12 = -f*rel_vel, vel3 = (1-f)*rel_vel; + + PRC(k->get_separation()); PRL(k->get_time()); + + pos1 += pos12; + pos2 += pos12; + vel1 += vel12; + vel2 += vel12; + + PRL(*time); + + // Remaining return arguments: + + *x1 = pos1[0]; + *x2 = pos2[0]; + *x3 = pos3[0]; + *y1 = pos1[1]; + *y2 = pos2[1]; + *y3 = pos3[1]; + *z1 = pos1[2]; + *z2 = pos2[2]; + *z3 = pos3[2]; + *vx1 = vel1[0]; + *vx2 = vel2[0]; + *vx3 = vel3[0]; + *vy1 = vel1[1]; + *vy2 = vel2[1]; + *vy3 = vel3[1]; + *vz1 = vel1[2]; + *vz2 = vel2[2]; + *vz3 = vel3[2]; + + return 0; +} diff --git a/src/amuse_kepler/interface.py b/src/amuse_kepler/interface.py new file mode 100644 index 0000000000..3907ab152f --- /dev/null +++ b/src/amuse_kepler/interface.py @@ -0,0 +1,724 @@ +from amuse.community import * +from amuse.community.interface.common import CommonCodeInterface, CommonCode +from amuse.support.options import option +from amuse.units import units +import os.path + +class KeplerInterface(CodeInterface, + CommonCodeInterface): + """ + Kepler orbit manipulation functions, imported from Starlab. + Initialize an orbit from mass, pos, and vel, or mass, semi-major + axis and eccentricity, and allow the user to manipulate the + resulting structure. Most Starlab functionality is currently + exposed. + """ + + # Interface specification. + + include_headers = ['kepler_worker.h'] + + def __init__(self, **options): + CodeInterface.__init__(self, + name_of_the_worker = "kepler_worker", + **options) + + @legacy_function + def initialize_from_dyn(): + """ + Initialize a new kepler system. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('mass', dtype='float64', direction=function.IN, + unit = nbody_system.mass) + function.addParameter('x', dtype='float64', direction=function.IN, + unit = nbody_system.length) + function.addParameter('y', dtype='float64', direction=function.IN, + unit = nbody_system.length) + function.addParameter('z', dtype='float64', direction=function.IN, + unit = nbody_system.length) + function.addParameter('vx', dtype='float64', direction=function.IN, + unit = nbody_system.speed) + function.addParameter('vy', dtype='float64', direction=function.IN, + unit = nbody_system.speed) + function.addParameter('vz', dtype='float64', direction=function.IN, + unit = nbody_system.speed) + function.addParameter('time', dtype='float64', direction=function.IN, + default = 0, unit = nbody_system.time) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + new kepler was created + -1 - ERROR + kepler could not be created""" + return function + + @legacy_function + def initialize_from_elements(): + """ + Initialize a new kepler system. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('mass', dtype='float64', direction=function.IN, + unit = nbody_system.mass) + function.addParameter('semi', dtype='float64', direction=function.IN, + unit = nbody_system.length) + function.addParameter('ecc', dtype='float64', direction=function.IN, + unit = NO_UNIT) + function.addParameter('mean_anomaly', + dtype='float64', direction=function.IN, + default = 0, unit = NO_UNIT) + function.addParameter('time', dtype='float64', direction=function.IN, + default = 0, unit = nbody_system.time) + function.addParameter('periastron', + dtype='float64', direction=function.IN, + default = 0, unit = nbody_system.length) + function.addParameter('random_orientation', + dtype='int32', direction=function.IN, + default = 0, unit = NO_UNIT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + new kepler was created + -1 - ERROR + kepler could not be created""" + return function + + @legacy_function + def transform_to_time(): + """ + Transform the kepler system to the specified time. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('time', dtype='float64', direction=function.IN, + unit = nbody_system.time) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + transform to time OK + -1 - ERROR + could not transform to time""" + return function + + @legacy_function + def advance_to_radius(): + """ + Evolve the kepler system forward in time to the specified radius. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('radius', dtype='float64', direction=function.IN, + unit = nbody_system.length) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + advance to radius OK + -1 - ERROR + could not advance to radius""" + return function + + @legacy_function + def return_to_radius(): + """ + Evolve the kepler system backward in time to the specified radius. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('radius', dtype='float64', direction=function.IN, + unit = nbody_system.length) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + return to radius OK + -1 - ERROR + could not return to radius""" + return function + + @legacy_function + def advance_to_periastron(): + """ + Evolve the kepler system forward in time to the next periastron. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + advance to periastron OK + -1 - ERROR + could not advance to periastron""" + return function + + @legacy_function + def advance_to_apastron(): + """ + Evolve the kepler system forward in time to the next apastron. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + advance to apastron OK + -1 - ERROR + could not advance to apastron""" + return function + + @legacy_function + def return_to_periastron(): + """ + Evolve the kepler system backward in time to the previous periastron. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + return to periastron OK + -1 - ERROR + could not return to periastron""" + return function + + @legacy_function + def return_to_apastron(): + """ + Evolve the kepler system backward in time to the previous apastron. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + return to apastron OK + -1 - ERROR + could not return to apastron""" + return function + + @legacy_function + def get_total_mass(): + """ + Return the total mass (remind the user) of the system. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('mass', dtype='float64', direction=function.OUT, + unit = nbody_system.mass) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + get mass OK + -1 - ERROR + could not get mass""" + return function + + @legacy_function + def get_time(): + """ + Return the current time of the system. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('time', dtype='float64', direction=function.OUT, + unit = nbody_system.time) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + get time OK + -1 - ERROR + could not get time""" + return function + + @legacy_function + def get_period(): + """ + Return the periodof the system. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('period', dtype='float64', direction=function.OUT, + unit = nbody_system.time) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + get period OK + -1 - ERROR + could not get period""" + return function + + @legacy_function + def get_elements(): + """ + Return the orbital elements (a,e) of the system. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('semi', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.addParameter('ecc', dtype='float64', direction=function.OUT, + unit = NO_UNIT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + get elements OK + -1 - ERROR + could not get elements""" + return function + + @legacy_function + def get_integrals(): + """ + Return the total energy and angular momentum of the system. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('energy', dtype='float64', direction=function.OUT, + unit = nbody_system.speed*nbody_system.speed) + function.addParameter('angular_momentum', + dtype='float64', direction=function.OUT, + unit = nbody_system.length*nbody_system.speed) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + get integrals OK + -1 - ERROR + could not get integrals""" + return function + + @legacy_function + def get_separation_vector(): + """ + Return the current separation vector (x,y,z) of the system. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('x', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.addParameter('y', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.addParameter('z', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + get separation vector OK + -1 - ERROR + could not get separation vector""" + return function + + @legacy_function + def get_separation(): + """ + Return the current separation r of the system. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('r', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + get separation OK + -1 - ERROR + could not get separation""" + return function + + @legacy_function + def set_periastron(): + """ + Set the current periastron of the system (initialization only). + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('peri', dtype='float64', direction=function.IN, + unit = nbody_system.length) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + set periastron OK + -1 - ERROR + could not set periastron""" + return function + + @legacy_function + def get_periastron(): + """ + Return the current periastron of the system. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('peri', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + get periastron OK + -1 - ERROR + could not get periastron""" + return function + + @legacy_function + def get_apastron(): + """ + Return the current apastron of the system. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('apo', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + get apastron OK + -1 - ERROR + could not get apastron""" + return function + + @legacy_function + def get_velocity_vector(): + """ + Return the current relative velocity vector (x,y,z) of the system. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('vx', dtype='float64', direction=function.OUT, + unit = nbody_system.speed) + function.addParameter('vy', dtype='float64', direction=function.OUT, + unit = nbody_system.speed) + function.addParameter('vz', dtype='float64', direction=function.OUT, + unit = nbody_system.speed) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + get velocity vector OK + -1 - ERROR + could not get velocity vector""" + return function + + @legacy_function + def get_angles(): + """ + Return the current mean and true anomalies of the system. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('true_anomaly', + dtype='float64', direction=function.OUT) + function.addParameter('mean_anomaly', + dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + get angles OK + -1 - ERROR + could not get angles""" + return function + + @legacy_function + def set_longitudinal_unit_vector(): + """ + Set the longitudinal unit vector of the system. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('vx', dtype='float64', direction=function.IN) + function.addParameter('vy', dtype='float64', direction=function.IN) + function.addParameter('vz', dtype='float64', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + set vector OK + -1 - ERROR + could not set vector""" + return function + + @legacy_function + def set_normal_unit_vector(): + """ + Set the normal unit vector of the system. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('vx', dtype='float64', direction=function.IN) + function.addParameter('vy', dtype='float64', direction=function.IN) + function.addParameter('vz', dtype='float64', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + set vector OK + -1 - ERROR + could not set vector""" + return function + + @legacy_function + def get_longitudinal_unit_vector(): + """ + Return the longitudinal unit vector of the system. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('vx', dtype='float64', direction=function.OUT) + function.addParameter('vy', dtype='float64', direction=function.OUT) + function.addParameter('vz', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + get vector OK + -1 - ERROR + could not get vector""" + return function + + @legacy_function + def get_transverse_unit_vector(): + """ + Return the transverse unit vector of the system. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('vx', dtype='float64', direction=function.OUT) + function.addParameter('vy', dtype='float64', direction=function.OUT) + function.addParameter('vz', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + get vector OK + -1 - ERROR + could not get vector""" + return function + + @legacy_function + def set_transverse_unit_vector(): + """ + Set the transverse unit vector of the system (tangent on longitudal uv). + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('vx', dtype='float64', direction=function.IN) + function.addParameter('vy', dtype='float64', direction=function.IN) + function.addParameter('vz', dtype='float64', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + set vector OK + -1 - ERROR + could not set vector""" + return function + + @legacy_function + def get_normal_unit_vector(): + """ + Return the normal unit vector of the system. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('vx', dtype='float64', direction=function.OUT) + function.addParameter('vy', dtype='float64', direction=function.OUT) + function.addParameter('vz', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + get vector OK + -1 - ERROR + could not get vector""" + return function + + @legacy_function + def print_all(): + """ + Print a kepler system. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + kepler was printed + -1 - ERROR + kepler could not be printed""" + return function + + @legacy_function + def set_random(): + """ + Set the random seed for kepler functions. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('seed', dtype='int32', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + seed was initialized + -1 - ERROR + error occurred""" + return function + + @legacy_function + def get_random(): + """ + Return the random seed for kepler functions. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + function.addParameter('seed', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + seed was returned + -1 - ERROR + error occurred""" + return function + + @legacy_function + def make_binary_scattering(): + """ + Return a three-body scattering configuration (much faster than python). + """ + function = LegacyFunctionSpecification() + function.can_handle_array = False + + function.addParameter('m', dtype='float64', direction=function.IN, + unit = nbody_system.mass) + function.addParameter('ecc', dtype='float64', direction=function.IN, + unit = NO_UNIT) + function.addParameter('M', dtype='float64', direction=function.IN, + unit = nbody_system.mass) + function.addParameter('v_inf', dtype='float64', direction=function.IN, + unit = nbody_system.speed) + function.addParameter('impact_parameter', dtype='float64', + direction=function.IN, + unit = nbody_system.length) + function.addParameter('gamma', dtype='float64', direction=function.IN, + unit = NO_UNIT) + function.addParameter('planar', dtype='int32', direction=function.IN, + unit = NO_UNIT) + + function.addParameter('time', dtype='float64', direction=function.OUT, + unit = nbody_system.time) + function.addParameter('m1', dtype='float64', direction=function.OUT, + unit = nbody_system.mass) + function.addParameter('m2', dtype='float64', direction=function.OUT, + unit = nbody_system.mass) + function.addParameter('m3', dtype='float64', direction=function.OUT, + unit = nbody_system.mass) + function.addParameter('x1', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.addParameter('x2', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.addParameter('x3', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.addParameter('y1', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.addParameter('y2', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.addParameter('y3', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.addParameter('z1', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.addParameter('z2', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.addParameter('z3', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.addParameter('vx1', dtype='float64', direction=function.OUT, + unit = nbody_system.speed) + function.addParameter('vx2', dtype='float64', direction=function.OUT, + unit = nbody_system.speed) + function.addParameter('vx3', dtype='float64', direction=function.OUT, + unit = nbody_system.speed) + function.addParameter('vy1', dtype='float64', direction=function.OUT, + unit = nbody_system.speed) + function.addParameter('vy2', dtype='float64', direction=function.OUT, + unit = nbody_system.speed) + function.addParameter('vy3', dtype='float64', direction=function.OUT, + unit = nbody_system.speed) + function.addParameter('vz1', dtype='float64', direction=function.OUT, + unit = nbody_system.speed) + function.addParameter('vz2', dtype='float64', direction=function.OUT, + unit = nbody_system.speed) + function.addParameter('vz3', dtype='float64', direction=function.OUT, + unit = nbody_system.speed) + + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + legal scattering configuration + -1 - ERROR + problem""" + return function + +class Kepler(CommonCode): + + __interface__ = KeplerInterface + + + def __init__(self, unit_converter = None, **options): + self.unit_converter = unit_converter + + CommonCode.__init__(self, + self.__interface__(**options), + **options) + + def define_converter(self, handler): + if not self.unit_converter is None: + handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) + + def define_methods(self, handler): + CommonCode.define_methods(self, handler) + + def initialize_from_particles(self, particles): + if not len(particles) == 2: + raise Exception('The kepler code can only be initialized from a particle set with 2 particles') + + total_mass = particles[0].mass + particles[1].mass + rel_position = particles[0].position - particles[1].position + rel_velocity = particles[0].velocity - particles[1].velocity + self.center_of_mass_position = particles.center_of_mass() + self.center_of_mass_velocity = particles.center_of_mass_velocity() + self.initialize_from_dyn( + total_mass, + rel_position[0],rel_position[1],rel_position[2], + rel_velocity[0],rel_velocity[1],rel_velocity[2] + ) + self.particles = particles.copy() + + + def define_state(self, handler): + CommonCode.define_state(self, handler) + for method_name in [ + 'initialize_from_dyn', + 'initialize_from_elements', + 'transform_to_time', + 'advance_to_radius', + 'return_to_radius', + 'advance_to_periastron', + 'advance_to_apastron', + 'return_to_periastron', + 'return_to_apastron', + 'get_total_mass', + 'get_time', + 'get_period', + 'get_elements', + 'get_integrals', + 'get_separation_vector', + 'get_separation', + 'set_periastron', + 'get_periastron', + 'get_apastron', + 'get_velocity_vector', + 'get_angles', + 'set_longitudinal_unit_vector', + 'set_normal_unit_vector', + 'get_longitudinal_unit_vector', + 'get_transverse_unit_vector', + 'set_transverse_unit_vector', + 'get_normal_unit_vector', + 'print_all', + 'set_random', + 'get_random', + 'make_binary_scattering']: + handler.add_method('!UNINITIALIZED!END', method_name) + + + diff --git a/src/amuse_kepler/packages/amuse-kepler.amuse_deps b/src/amuse_kepler/packages/amuse-kepler.amuse_deps new file mode 100644 index 0000000000..c125c5ece8 --- /dev/null +++ b/src/amuse_kepler/packages/amuse-kepler.amuse_deps @@ -0,0 +1 @@ +c++ mpi diff --git a/src/amuse_kepler/packages/amuse-kepler/amuse_kepler b/src/amuse_kepler/packages/amuse-kepler/amuse_kepler new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_kepler/packages/amuse-kepler/amuse_kepler @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_kepler/packages/amuse-kepler/pyproject.toml b/src/amuse_kepler/packages/amuse-kepler/pyproject.toml new file mode 100644 index 0000000000..75d3a345a8 --- /dev/null +++ b/src/amuse_kepler/packages/amuse-kepler/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-kepler" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_kepler/**/*.py"] +exclude = [ + "amuse_kepler/packages", + "amuse_kepler/support", + "amuse_kepler/src", + "amuse_kepler/tests" + ] +artifacts = ["amuse_kepler/kepler_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_kepler/tests/"] + +testpaths = ["amuse_kepler/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse_kepler/src/Makefile b/src/amuse_kepler/src/Makefile new file mode 100644 index 0000000000..dcb1cd3ba3 --- /dev/null +++ b/src/amuse_kepler/src/Makefile @@ -0,0 +1,49 @@ + +# Makefile to build the libkepler.a library. + +# Optimization may cause failure on some systems. Replace by -O0 in +# that case. + +AMUSE_DIR?=../../../../.. +OPT = # -O4 don't use O4 but O2 or something + +GPU = -DGPU +CXX ?= mpicxx +MPICXX ?= mpicxx +CFLAGS += $(OPT) +CXXFLAGS = $(CFLAGS) + +CODELIB = libkepler.a + +CODEOBJS = kepler-lib.o hdyn.o util.o + +AR = ar ruv +RANLIB = ranlib +RM = rm + + +%.o : %.cc + $(CXX) $(CXXFLAGS) -c -o $@ $^ + +all: $(CODELIB) + +$(CODELIB): $(CODEOBJS) + $(RM) -f $@ + $(AR) $@ $(CODEOBJS) + $(RANLIB) $@ + +.cc.o: $< + $(CXX) $(CXXFLAGS) -c -o $@ $< + +#----------------------------------------------------------------------- + +kepler-lib.o: kepler.cc + $(MPICXX) $(CFLAGS) -c kepler.cc -o kepler-lib.o + +#----------------------------------------------------------------------- + +tar: + tar czf kepler.tgz Makefile.kepler *.h *.cc + +clean: + $(RM) -r -f *.o *~ *.tgz *.a diff --git a/src/amuse_kepler/src/hdyn.cc b/src/amuse_kepler/src/hdyn.cc new file mode 120000 index 0000000000..10d00094da --- /dev/null +++ b/src/amuse_kepler/src/hdyn.cc @@ -0,0 +1 @@ +../../amuse_ph4/src/hdyn.cc \ No newline at end of file diff --git a/src/amuse_kepler/src/hdyn.h b/src/amuse_kepler/src/hdyn.h new file mode 120000 index 0000000000..0e846acc4c --- /dev/null +++ b/src/amuse_kepler/src/hdyn.h @@ -0,0 +1 @@ +../../amuse_ph4/src/hdyn.h \ No newline at end of file diff --git a/src/amuse_kepler/src/kepler.cc b/src/amuse_kepler/src/kepler.cc new file mode 120000 index 0000000000..f1eafe167a --- /dev/null +++ b/src/amuse_kepler/src/kepler.cc @@ -0,0 +1 @@ +../../amuse_ph4/src/kepler.cc \ No newline at end of file diff --git a/src/amuse_kepler/src/kepler.h b/src/amuse_kepler/src/kepler.h new file mode 120000 index 0000000000..d75b9ccddd --- /dev/null +++ b/src/amuse_kepler/src/kepler.h @@ -0,0 +1 @@ +../../amuse_ph4/src/kepler.h \ No newline at end of file diff --git a/src/amuse_kepler/src/stdinc.h b/src/amuse_kepler/src/stdinc.h new file mode 120000 index 0000000000..2f76fd6b84 --- /dev/null +++ b/src/amuse_kepler/src/stdinc.h @@ -0,0 +1 @@ +../../amuse_ph4/src/stdinc.h \ No newline at end of file diff --git a/src/amuse_kepler/src/util.cc b/src/amuse_kepler/src/util.cc new file mode 120000 index 0000000000..9895e72885 --- /dev/null +++ b/src/amuse_kepler/src/util.cc @@ -0,0 +1 @@ +../../amuse_ph4/src/util.cc \ No newline at end of file diff --git a/src/amuse_kepler/src/vec.h b/src/amuse_kepler/src/vec.h new file mode 120000 index 0000000000..3fb1720420 --- /dev/null +++ b/src/amuse_kepler/src/vec.h @@ -0,0 +1 @@ +../../amuse_ph4/src/vec.h \ No newline at end of file diff --git a/src/amuse_kepler/support/aclocal.m4 b/src/amuse_kepler/support/aclocal.m4 new file mode 100644 index 0000000000..e4cc83766d --- /dev/null +++ b/src/amuse_kepler/support/aclocal.m4 @@ -0,0 +1,17 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) diff --git a/src/amuse_kepler/support/config.mk.in b/src/amuse_kepler/support/config.mk.in new file mode 100644 index 0000000000..44f2e0935e --- /dev/null +++ b/src/amuse_kepler/support/config.mk.in @@ -0,0 +1,12 @@ +# Compilers +CXX = @CXX@ + +MPICXX = @MPICXX@ + +CPU_COUNT = @CPU_COUNT@ + +# General flags and libraries +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + diff --git a/src/amuse_kepler/support/configure b/src/amuse_kepler/support/configure new file mode 100755 index 0000000000..1d6d80087d --- /dev/null +++ b/src/amuse_kepler/support/configure @@ -0,0 +1,4600 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-kepler 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-kepler' +PACKAGE_TARNAME='amuse-kepler' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-kepler 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPILIBS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +OBJEXT +EXEEXT +ac_ct_CXX +CPPFLAGS +LDFLAGS +CXXFLAGS +CXX +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-kepler 1.0 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/amuse-kepler] + --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 amuse-kepler 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS 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 + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-kepler configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-kepler $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Set the worker language + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 +printf %s "checking whether the C++ compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 +printf %s "checking for C++ compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +# Find mpi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-kepler $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-kepler config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_kepler/support/configure.ac b/src/amuse_kepler/support/configure.ac new file mode 100644 index 0000000000..2aedf24f9f --- /dev/null +++ b/src/amuse_kepler/support/configure.ac @@ -0,0 +1,24 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-kepler], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Set the worker language +AC_PROG_CXX() + +# Find mpi +AC_LANG_PUSH([C++]) +AX_MPI() +AC_LANG_POP([C++]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_kepler/support/shared b/src/amuse_kepler/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_kepler/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse_kepler/tests/test_kepler.py b/src/amuse_kepler/tests/test_kepler.py new file mode 100644 index 0000000000..73f2d0f667 --- /dev/null +++ b/src/amuse_kepler/tests/test_kepler.py @@ -0,0 +1,92 @@ +import sys +import unittest +import numpy +import random +import collections +import getopt +import os + +from amuse.units import nbody_system +from amuse.units import units +from amuse_kepler.interface import Kepler + +from amuse import datamodel +from amuse.datamodel import particle_attributes +from amuse.rfi.core import is_mpd_running + +def test1(): + mass = 1 | nbody_system.mass + semi = 1 | nbody_system.length + ecc = 0.5 + time = 5.0 | nbody_system.time + run_kepler(mass, semi, ecc, time) + +def run_kepler(mass, semi, ecc, time): + + kep = Kepler(redirection='none') + kep.initialize_code() + + kep.set_longitudinal_unit_vector(1.0, 1.0, + 0.0) + kep.initialize_from_elements(mass, semi, ecc) + a,e = kep.get_elements() + p = kep.get_periastron() + print("elements:", a, e, p) + kep.transform_to_time(time) + x,y,z = kep.get_separation_vector() + print("separation:", x,y,z) + x,y,z = kep.get_longitudinal_unit_vector() + print("longitudinal:", x,y,z) + + pos = [1, 0, 0] | nbody_system.length + vel = [0, 0.5, 0] | nbody_system.speed + kep.initialize_from_dyn(mass, pos[0], pos[1], pos[2], + vel[0], vel[1], vel[2]) + a,e = kep.get_elements() + p = kep.get_periastron() + print("elements:", a, e, p) + kep.transform_to_time(time) + x,y,z = kep.get_separation_vector() + print("separation:", x,y,z) + x,y,z = kep.get_velocity_vector() + print("velocity:", x,y,z) + x,y,z = kep.get_longitudinal_unit_vector() + print("longitudinal:", x,y,z) + + kep.set_random(42) + kep.make_binary_scattering(0.5 | nbody_system.mass, + 0.5, + 0.5 | nbody_system.mass, + 0.0 | nbody_system.speed, + 0.0 | nbody_system.length, + 1.e-6, + 0) + kep.stop() + +if __name__ == '__main__': + + mass = 1 | nbody_system.mass + semi = 1 | nbody_system.length + ecc = 0.5 + time = 5.0 | nbody_system.time + + try: + opts, args = getopt.getopt(sys.argv[1:], "a:e:m:t:") + except getopt.GetoptError as err: + print(str(err)) + sys.exit(1) + + for o, a in opts: + if o == "-a": + semi = float(a) | nbody_system.length + elif o == "-e": + ecc = float(a) + elif o == "-m": + time = float(a) | nbody_system.mass + elif o == "-t": + time = float(a) | nbody_system.time + else: + print("unexpected argument", o) + + assert is_mpd_running() + run_kepler(mass, semi, ecc, time) diff --git a/src/amuse_kepler_orbiters/Makefile b/src/amuse_kepler_orbiters/Makefile new file mode 100644 index 0000000000..7273e81f3a --- /dev/null +++ b/src/amuse_kepler_orbiters/Makefile @@ -0,0 +1,67 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + +# Building the code into a static library +CFLAGS += -Isrc + +CODELIB = src/libkepler.a + + +# Building the code lib +.PHONY: $(CODELIB) +$(CODELIB): + $(MAKE) -C src -j $(CPU_COUNT) all CXX='$(MPICXX)' + +# Building the workers +keplerorbiters_worker.h: interface.py + amusifier --type=h interface.py KeplerInterface -o $@ + +keplerorbiters_worker.cc: interface.py + amusifier --type=c interface.py KeplerInterface -o $@ + +keplerorbiters_worker.o: keplerorbiters_worker.cc keplerorbiters_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + +keplerorbiters_worker: keplerorbiters_worker.o interface.o $(CODELIB) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +%.o: %.cc + $(MPICXX) -c $(CFLAGS) $< + + +# Which packages contain which workers? +amuse-kepler-orbiters_contains: keplerorbiters_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_kepler_orbiters/__init__.py b/src/amuse_kepler_orbiters/__init__.py new file mode 100644 index 0000000000..145e48de3a --- /dev/null +++ b/src/amuse_kepler_orbiters/__init__.py @@ -0,0 +1 @@ +from .interface import Kepler_orbiters diff --git a/src/amuse_kepler_orbiters/interface.cc b/src/amuse_kepler_orbiters/interface.cc new file mode 100644 index 0000000000..ca22ce99e7 --- /dev/null +++ b/src/amuse_kepler_orbiters/interface.cc @@ -0,0 +1,462 @@ +#include +#include + +extern "C" { +#include "src/universal_kepler_solver.h" +} + +extern "C" { +#include "src/universal_variable_kepler.h" +} + +#include "keplerorbiters_worker.h" + +using namespace std; + + +typedef struct { + double mass; /// mass + double x, y, z; /// position + double vx, vy, vz; /// velocity +} dynamics_state; + +static double simtime; +static map kmap; +static int kcounter=1; + +static double central_mass=0.; +static double central_radius=0.; +static double central_x=0.,central_y=0.,central_z=0.; +static double central_vx=0.,central_vy=0.,central_vz=0.; +static int central_id=-1; + +static double eps2=0; + +static int method=0; + +int initialize_code() +{ + return 0; +} + +int commit_parameters() +{ + return 0; +} + +int commit_particles() +{ + return 0; +} + +int recommit_particles() +{ + return 0; +} + +int synchronize_model() +{ + return 0; +} + +int recommit_parameters() +{ + return 0; +} + +int cleanup_code() +{ + return 0; +} + +int get_acceleration(int particle_identifier, double *ax, double *ay, double *az) { + return -2; // Not implemented +} +int get_potential(int id,double *p){ + return -2; // Not implemented +} + +int set_central_mass(int id, double m) +{ + if(id!=0) return -1; + central_mass=m; + return 0; +} +int get_central_mass(int id, double *m) +{ + if(id!=0) return -1; + *m=central_mass; + return 0; +} + +int set_central_radius(int id, double m) +{ + if(id!=0) return -1; + central_radius=m; + return 0; +} +int get_central_radius(int id, double *m) +{ + if(id!=0) return -1; + *m=central_radius; + return 0; +} + + +int set_central_pos(int id,double x,double y,double z) +{ + if(id!=0) return -1; + central_x=x; + central_y=y; + central_z=z; + return 0; +} +int get_central_pos(int id,double *x,double *y,double *z) +{ + if(id!=0) return -1; + *x=central_x; + *y=central_y; + *z=central_z; + return 0; +} + +int set_central_vel(int id, double vx,double vy,double vz) +{ + if(id!=0) return -1; + central_vx=vx; + central_vy=vy; + central_vz=vz; + return 0; +} +int get_central_vel(int id,double *vx,double *vy,double *vz) +{ + if(id!=0) return -1; + *vx=central_vx; + *vy=central_vy; + *vz=central_vz; + return 0; +} + +int new_central_particle(int *id, double mass, + double x, double y, double z, + double vx, double vy, double vz,double r) +{ + if(central_id!=-1) return -1; + central_id=0; + *id=0; + central_mass=mass; + central_x=x; + central_y=y; + central_z=z; + central_vx=vx; + central_vy=vy; + central_vz=vz; + central_radius=r; + return 0; +} + +int delete_central_particle(int id) +{ + if(id!=0) return -1; + central_id=-1; + return 0; +} + +int set_eps2(double m){ eps2=m;return 0;} +int get_eps2(double *m){ *m=eps2;return 0;} + +int set_method(int m){ method=m;return 0;} +int get_method(int *m){ *m=method;return 0;} + +int get_time_step(double *m){ *m=0.;return 0;} + +int new_particle(int *id, double mass, + double x, double y, double z, + double vx, double vy, double vz,double r) +{ + dynamics_state *k = new dynamics_state; + k->mass=mass; + k->x=x; + k->y=y; + k->z=z; + k->vx=vx; + k->vy=vy; + k->vz=vz; + *id=kcounter++; + kmap.insert(kmap.end(), std::pair( *id, k)); + return 0; +} + +int delete_particle(int id) +{ + map::iterator iter = kmap.find(id); + + if (iter != kmap.end()){ + delete (*iter).second; + kmap.erase(iter); + } else { + return -3; + } + return 0; +} + +int get_state(int id, double *m, double *x, double *y, double *z, + double *vx, double *vy, double *vz,double *rad) +{ + map::iterator iter = kmap.find(id); + + if (iter != kmap.end()){ + dynamics_state *k=iter->second; + *m=k->mass; + *x = k->x; + *y = k->y; + *z = k->z; + *vx = k->vx; + *vy = k->vy; + *vz = k->vz; + *rad = 0.; + } else { + return -3; + } + return 0; +} + +int set_state(int id, double m, double x, double y, double z, + double vx, double vy, double vz,double r) +{ + map::iterator iter = kmap.find(id); + if (iter != kmap.end()){ + dynamics_state *k=iter->second; + k->mass=m; + k->x=x; + k->y=y; + k->z=z; + k->vx=vx; + k->vy=vy; + k->vz=vz; + } else { + return -3; + } + return 0; +} + +int set_mass(int id, double m) +{ + map::iterator iter = kmap.find(id); + if (iter != kmap.end()){ + dynamics_state *k=iter->second; + k->mass=m; + } else { + return -3; + } + return 0; +} + +int set_radius(int id, double r) +{ + map::iterator iter = kmap.find(id); + if (iter != kmap.end()){ + } else { + return -3; + } + return 0; +} + +int get_radius(int id, double *r) +{ + map::iterator iter = kmap.find(id); + if (iter != kmap.end()){ + *r=0; + } else { + return -3; + } + return 0; +} + +int set_position(int id, double x, double y, double z) +{ + map::iterator iter = kmap.find(id); + if (iter != kmap.end()){ + dynamics_state *k=iter->second; + k->x=x; + k->y=y; + k->z=z; + } else { + return -3; + } + return 0; +} + +int set_velocity(int id,double vx, double vy, double vz) +{ + map::iterator iter = kmap.find(id); + if (iter != kmap.end()){ + dynamics_state *k=iter->second; + k->vx=vx; + k->vy=vy; + k->vz=vz; + } else { + return -3; + } + return 0; +} + + + +int evolve_model(double tend) +{ + map::iterator iter; + int *keys= new int[kmap.size()]; + int i=0; + for(iter=kmap.begin(); iter!=kmap.end(); iter++) + { + keys[i]=iter->first; + i++; + } + + double new_x=central_x; + double new_y=central_y; + double new_z=central_z; + + new_x+=central_vx*(tend-simtime); + new_y+=central_vy*(tend-simtime); + new_z+=central_vz*(tend-simtime); + +#pragma omp parallel for + for(i=0;ix; + pos0[1] = d->y; + pos0[2] = d->z; + + vel0[0] = d->vx; + vel0[1] = d->vy; + vel0[2] = d->vz; + + dt = tend-simtime; + mu = central_mass + d->mass; + + if(method) + universal_variable_kepler_solver(dt, mu, pos0, vel0, pos, vel); + else + universal_kepler_solver(dt, mu, eps2, pos0[0], pos0[1], pos0[2], vel0[0], vel0[1], vel0[2], + &pos[0], &pos[1], &pos[2], &vel[0], &vel[1], &vel[2]); + + d->x = pos[0]+new_x; + d->y = pos[1]+new_y; + d->z = pos[2]+new_z; + d->vx = vel[0]+central_vx; + d->vy = vel[1]+central_vy; + d->vz = vel[2]+central_vz; + } + + central_x=new_x; + central_y=new_y; + central_z=new_z; + + simtime=tend; + + delete[] keys; + + return 0; +} + +int get_mass(int id, double *mass) +{ + map::iterator iter = kmap.find(id); + if (iter != kmap.end()){ + dynamics_state *k=iter->second; + *mass=k->mass; + } else { + return -3; + } + return 0; +} + +int get_time(double * t) +{ + *t = simtime; + return 0; +} + +int get_position(int id,double * x, double * y, double * z) +{ + map::iterator iter = kmap.find(id); + if (iter != kmap.end()){ + dynamics_state *k=iter->second; + *x = k->x; + *y = k->y; + *z = k->z; + } else { + return -3; + } + return 0; +} + +int get_velocity(int id, double * vx, double * vy, double * vz) +{ + map::iterator iter = kmap.find(id); + if (iter != kmap.end()){ + dynamics_state *k=iter->second; + *vx = k->vx; + *vy = k->vy; + *vz = k->vz; + } else { + return -3; + } + return 0; +} + + +int get_index_of_first_particle(int *particle_identifier) { + return -2; // Not implemented +} +int get_index_of_next_particle(int particle_identifier, int *next_particle_identifier) { + return -2; // Not implemented +} + +int get_indices_of_colliding_particles(int *index_of_particle1, int *index_of_particle2) { + return -2; // Not implemented +} + +// simulation property getters: +int get_total_mass(double *total_mass) { + return -2; // Not implemented +} +int get_total_radius(double *total_radius) { + return -2; // Not implemented +} + +int set_begin_time(double input) { + simtime=input; + return 0; +} + +int get_begin_time(double * output) { + return -2; // Not implemented +} + +int get_center_of_mass_position(double *x, double *y, double *z){ + return -2; // Not implemented +} +int get_center_of_mass_velocity(double *vx, double *vy, double *vz) { + return -2; // Not implemented +} +int get_kinetic_energy(double *kinetic_energy) { + return -2; // Not implemented +} +int get_potential_energy(double *potential_energy) { + return -2; // Not implemented +} +int get_number_of_particles(int *number_of_particles) { + *number_of_particles = kmap.size(); + return 0; +} + + diff --git a/src/amuse_kepler_orbiters/interface.py b/src/amuse_kepler_orbiters/interface.py new file mode 100644 index 0000000000..6ebc29230e --- /dev/null +++ b/src/amuse_kepler_orbiters/interface.py @@ -0,0 +1,316 @@ +from amuse.community import * +from amuse.community.interface.common import CommonCodeInterface, CommonCode +from amuse.community.interface.gd import GravitationalDynamicsInterface +from amuse.community.interface.gd import GravitationalDynamics, GravityFieldCode +from amuse.support.options import option +from amuse.units import units +from amuse.datamodel import Particles +import os.path + +class KeplerInterface(CodeInterface, + GravitationalDynamicsInterface): + """ + kepler_orbiters is a code to solve Kepler's equations for number of + two-body problems that share one of the bodies. It is Suited for problems + with a dominant central mass (e.g., planetary systems, debris disks). + + The orbits are initialized from mass, position, and velocity. + The shared body is represented by particle 'central_particle' and + defined as: + instance.central_particle.add_particles(central_particle) + and the other particles are 'orbiters': + instance.orbiters.add_particles(orbiters) + The postition and velocity vectors of the orbiters are integrated, while + these of the central particle stays fixed. + + The Kepler's equations are solved using universal variables with two + independent solvers provided and set by parameter 'method': + * solver from the SAKURA code (Goncalves Ferrari et al., 2014), default, + instance.parameters.method = 0 + * solver from the HUAYNO code (Pelupessy et al., 2012) + instance.parameters.method = 1 + + See the example kepler_orbiters_planets_around_sun.py. + + The relevant references are: + .. [#] ADS:2014MNRAS.440..719G (Goncalves Ferrari, Boekholt, Portegies Zwart; 2014 MNRAS, 440, 719 + .. [#] ... (SAKURA, method 0 -- default) + .. [#] ADS:2012NewA...17..711P (Pelupessy, Janes, Portegies Zwart; 2012, New Astronomy, 17, 711 + .. [#] ... (HUAYNO, method 1)) + """ + + include_headers = ['keplerorbiters_worker.h'] + + def __init__(self, **options): + CodeInterface.__init__(self, + name_of_the_worker = "keplerorbiters_worker", + **options) + + @legacy_function + def get_method(): + function = LegacyFunctionSpecification() + function.addParameter('method', dtype='i', direction=function.OUT, default=0) + function.result_type = 'int32' + return function + + @legacy_function + def set_method(): + function = LegacyFunctionSpecification() + function.addParameter('method', dtype='i', direction=function.IN, default=0) + function.result_type = 'int32' + return function + + @legacy_function + def get_central_mass(): + function = LegacyFunctionSpecification() + function.can_handle_array=True + function.addParameter('index_of_the_particle', dtype='i', direction=function.IN, default=0) + function.addParameter('mass', dtype='float64', direction=function.OUT, + unit = nbody_system.mass) + function.result_type = 'int32' + return function + + @legacy_function + def set_central_mass(): + function = LegacyFunctionSpecification() + function.can_handle_array=True + function.addParameter('index_of_the_particle', dtype='i', direction=function.IN) + function.addParameter('mass', dtype='float64', direction=function.IN, + unit = nbody_system.mass) + function.result_type = 'int32' + return function + + @legacy_function + def get_central_radius(): + function = LegacyFunctionSpecification() + function.can_handle_array=True + function.addParameter('index_of_the_particle', dtype='i', direction=function.IN, default=0) + function.addParameter('radius', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.result_type = 'int32' + return function + + @legacy_function + def set_central_radius(): + function = LegacyFunctionSpecification() + function.can_handle_array=True + function.addParameter('index_of_the_particle', dtype='i', direction=function.IN) + function.addParameter('radius', dtype='float64', direction=function.IN, + unit = nbody_system.length) + function.result_type = 'int32' + return function + + + @legacy_function + def get_central_pos(): + function = LegacyFunctionSpecification() + function.can_handle_array=True + function.addParameter('index_of_the_particle', dtype='i', direction=function.IN, default=0) + function.addParameter('x', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.addParameter('y', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.addParameter('z', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.result_type = 'int32' + return function + + @legacy_function + def set_central_pos(): + function = LegacyFunctionSpecification() + function.can_handle_array=True + function.addParameter('index_of_the_particle', dtype='i', direction=function.IN) + function.addParameter('x', dtype='float64', direction=function.IN, + unit = nbody_system.length) + function.addParameter('y', dtype='float64', direction=function.IN, + unit = nbody_system.length) + function.addParameter('z', dtype='float64', direction=function.IN, + unit = nbody_system.length) + function.result_type = 'int32' + return function + + @legacy_function + def get_central_vel(): + function = LegacyFunctionSpecification() + function.can_handle_array=True + function.addParameter('index_of_the_particle', dtype='i', direction=function.IN, default=0) + function.addParameter('vx', dtype='float64', direction=function.OUT, + unit = nbody_system.speed) + function.addParameter('vy', dtype='float64', direction=function.OUT, + unit = nbody_system.speed) + function.addParameter('vz', dtype='float64', direction=function.OUT, + unit = nbody_system.speed) + function.result_type = 'int32' + return function + + @legacy_function + def set_central_vel(): + function = LegacyFunctionSpecification() + function.can_handle_array=True + function.addParameter('index_of_the_particle', dtype='i', direction=function.IN) + function.addParameter('vx', dtype='float64', direction=function.IN, + unit = nbody_system.speed) + function.addParameter('vy', dtype='float64', direction=function.IN, + unit = nbody_system.speed) + function.addParameter('vz', dtype='float64', direction=function.IN, + unit = nbody_system.speed) + function.result_type = 'int32' + return function + + @legacy_function + def new_central_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array=True + function.addParameter('index_of_the_particle', dtype='i', direction=function.OUT) + function.addParameter('mass', dtype='float64', direction=function.IN, + unit = nbody_system.mass) + function.addParameter('x', dtype='float64', direction=function.IN, + unit = nbody_system.length) + function.addParameter('y', dtype='float64', direction=function.IN, + unit = nbody_system.length) + function.addParameter('z', dtype='float64', direction=function.IN, + unit = nbody_system.length) + function.addParameter('vx', dtype='float64', direction=function.IN, + unit = nbody_system.speed) + function.addParameter('vy', dtype='float64', direction=function.IN, + unit = nbody_system.speed) + function.addParameter('vz', dtype='float64', direction=function.IN, + unit = nbody_system.speed) + function.addParameter('radius', dtype='float64', direction=function.IN, + unit = nbody_system.length,default=0.) + function.result_type = 'int32' + return function + + @legacy_function + def delete_central_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array=True + function.addParameter('index_of_the_particle', dtype='i', direction=function.IN) + function.result_type = 'int32' + return function + + + def get_gravity_at_point(self,radius,x,y,z): + mass,err=self.get_central_mass() + xc,yc,zc,err=self.get_central_pos() + dr2=((x-xc)**2+(y-yc)**2+(z-zc)**2+radius**2) + dr=dr2**0.5 + ax=-mass*(x-xc)/(dr2*dr) + ay=-mass*(y-yc)/(dr2*dr) + az=-mass*(z-zc)/(dr2*dr) + return ax,ay,az + + def get_potential_at_point(self,radius,x,y,z): + mass,err=self.get_central_mass() + xc,yc,zc,err=self.get_central_pos() + dr2=((x-xc)**2+(y-yc)**2+(z-zc)**2+radius**2) + dr=dr2**0.5 + phi=-mass/dr + return phi + +class Kepler(GravitationalDynamics, GravityFieldCode): + + def __init__(self, unit_converter = None, **options): + self.unit_converter = unit_converter + + CommonCode.__init__(self, + KeplerInterface(**options), + **options) + + def define_converter(self, handler): + if not self.unit_converter is None: + handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) + + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_eps2", + "set_eps2", + "epsilon_squared", + "smoothing parameter for gravity calculations", + default_value = 0.0 | nbody_system.length * nbody_system.length + ) + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + handler.add_method( + "get_eps2", + (), + (nbody_system.length * nbody_system.length, handler.ERROR_CODE,) + ) + handler.add_method( + "set_eps2", + (nbody_system.length * nbody_system.length, ), + (handler.ERROR_CODE,) + ) + handler.add_method( + 'get_gravity_at_point', + ( + nbody_system.length, + nbody_system.length, + nbody_system.length, + nbody_system.length, + ), + ( + nbody_system.acceleration, + nbody_system.acceleration, + nbody_system.acceleration, + ) + ) + handler.add_method( + 'get_potential_at_point', + ( + nbody_system.length, + nbody_system.length, + nbody_system.length, + nbody_system.length, + ), + ( + nbody_system.potential, + ) + ) + + + def define_particle_sets(self, handler): + handler.define_super_set('particles', ['central_particle','orbiters'], + index_to_default_set = 1) + + handler.define_set('central_particle', 'index_of_the_particle') + handler.set_new('central_particle', 'new_central_particle') + handler.set_delete('central_particle', 'delete_central_particle') + handler.add_setter('central_particle', 'set_central_mass') + handler.add_getter('central_particle', 'get_central_mass') + handler.add_setter('central_particle', 'set_central_radius') + handler.add_getter('central_particle', 'get_central_radius') + handler.add_setter('central_particle', 'set_central_pos') + handler.add_getter('central_particle', 'get_central_pos') + handler.add_setter('central_particle', 'set_central_vel') + handler.add_getter('central_particle', 'get_central_vel') + + handler.define_set('orbiters', 'index_of_the_particle') + handler.set_new('orbiters', 'new_particle') + handler.set_delete('orbiters', 'delete_particle') + handler.add_setter('orbiters', 'set_state') + handler.add_getter('orbiters', 'get_state') + handler.add_setter('orbiters', 'set_mass') + handler.add_getter('orbiters', 'get_mass') + handler.add_setter('orbiters', 'set_position') + handler.add_getter('orbiters', 'get_position') + handler.add_setter('orbiters', 'set_velocity') + handler.add_getter('orbiters', 'get_velocity') + + + def get_gravity_at_point(self,radius,x,y,z): + xx=x-self.central_particle.x + yy=y-self.central_particle.y + zz=z-self.central_particle.z + return self.overridden().get_gravity_at_point(radius,xx,yy,zz) + + def get_potential_at_point(self,radius,x,y,z): + xx=x-self.central_particle.x + yy=y-self.central_particle.y + zz=z-self.central_particle.z + return self.overridden().get_potential_at_point(radius,xx,yy,zz) + + +Kepler_orbiters = Kepler diff --git a/src/amuse_kepler_orbiters/packages/amuse-kepler-orbiters.amuse_deps b/src/amuse_kepler_orbiters/packages/amuse-kepler-orbiters.amuse_deps new file mode 100644 index 0000000000..c125c5ece8 --- /dev/null +++ b/src/amuse_kepler_orbiters/packages/amuse-kepler-orbiters.amuse_deps @@ -0,0 +1 @@ +c++ mpi diff --git a/src/amuse_kepler_orbiters/packages/amuse-kepler-orbiters/amuse_kepler_orbiters b/src/amuse_kepler_orbiters/packages/amuse-kepler-orbiters/amuse_kepler_orbiters new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_kepler_orbiters/packages/amuse-kepler-orbiters/amuse_kepler_orbiters @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_kepler_orbiters/packages/amuse-kepler-orbiters/pyproject.toml b/src/amuse_kepler_orbiters/packages/amuse-kepler-orbiters/pyproject.toml new file mode 100644 index 0000000000..d0035e6503 --- /dev/null +++ b/src/amuse_kepler_orbiters/packages/amuse-kepler-orbiters/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-kepler-orbiters" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_kepler_orbiters/**/*.py"] +exclude = [ + "amuse_kepler_orbiters/packages", + "amuse_kepler_orbiters/support", + "amuse_kepler_orbiters/src", + "amuse_kepler_orbiters/tests" + ] +artifacts = ["amuse_kepler_orbiters/keplerorbiters_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_kepler_orbiters/tests/"] + +testpaths = ["amuse_kepler_orbiters/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/kepler_orbiters/src/Makefile b/src/amuse_kepler_orbiters/src/Makefile similarity index 100% rename from src/amuse/community/kepler_orbiters/src/Makefile rename to src/amuse_kepler_orbiters/src/Makefile diff --git a/src/amuse/community/kepler_orbiters/src/common.h b/src/amuse_kepler_orbiters/src/common.h similarity index 100% rename from src/amuse/community/kepler_orbiters/src/common.h rename to src/amuse_kepler_orbiters/src/common.h diff --git a/src/amuse/community/kepler_orbiters/src/universal_kepler_solver.h b/src/amuse_kepler_orbiters/src/universal_kepler_solver.h similarity index 100% rename from src/amuse/community/kepler_orbiters/src/universal_kepler_solver.h rename to src/amuse_kepler_orbiters/src/universal_kepler_solver.h diff --git a/src/amuse/community/kepler_orbiters/src/universal_variable_kepler.c b/src/amuse_kepler_orbiters/src/universal_variable_kepler.c similarity index 100% rename from src/amuse/community/kepler_orbiters/src/universal_variable_kepler.c rename to src/amuse_kepler_orbiters/src/universal_variable_kepler.c diff --git a/src/amuse/community/kepler_orbiters/src/universal_variable_kepler.h b/src/amuse_kepler_orbiters/src/universal_variable_kepler.h similarity index 100% rename from src/amuse/community/kepler_orbiters/src/universal_variable_kepler.h rename to src/amuse_kepler_orbiters/src/universal_variable_kepler.h diff --git a/src/amuse_kepler_orbiters/support/aclocal.m4 b/src/amuse_kepler_orbiters/support/aclocal.m4 new file mode 100644 index 0000000000..5fea1010bd --- /dev/null +++ b/src/amuse_kepler_orbiters/support/aclocal.m4 @@ -0,0 +1,19 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_kepler_orbiters/support/config.mk.in b/src/amuse_kepler_orbiters/support/config.mk.in new file mode 100644 index 0000000000..68ccbf704d --- /dev/null +++ b/src/amuse_kepler_orbiters/support/config.mk.in @@ -0,0 +1,17 @@ +# Compilers +CXX = @CXX@ + +MPICXX = @MPICXX@ + +CPU_COUNT = @CPU_COUNT@ + +# General flags and libraries +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +AMUSE_MPI_CFLAGS = @AMUSE_MPI_CFLAGS@ +AMUSE_MPI_LIBS = @AMUSE_MPI_LIBS@ diff --git a/src/amuse_kepler_orbiters/support/configure b/src/amuse_kepler_orbiters/support/configure new file mode 100755 index 0000000000..0a015145b3 --- /dev/null +++ b/src/amuse_kepler_orbiters/support/configure @@ -0,0 +1,6099 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-kepler_orbiters 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-kepler_orbiters' +PACKAGE_TARNAME='amuse-kepler_orbiters' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-kepler_orbiters 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPILIBS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +FOUND_AMUSE_MPI +AMUSE_MPI_LIBS +AMUSE_MPI_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CFLAGS +CC +OBJEXT +EXEEXT +ac_ct_CXX +CPPFLAGS +LDFLAGS +CXXFLAGS +CXX +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CC +CFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +AMUSE_MPI_CFLAGS +AMUSE_MPI_LIBS +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-kepler_orbiters 1.0 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/amuse-kepler_orbiters] + --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 amuse-kepler_orbiters 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS 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 + CC C compiler command + CFLAGS C compiler flags + 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 + AMUSE_MPI_CFLAGS + C compiler flags for AMUSE_MPI, overriding pkg-config + AMUSE_MPI_LIBS + linker flags for AMUSE_MPI, overriding pkg-config + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-kepler_orbiters configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-kepler_orbiters $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Set the worker language + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 +printf %s "checking whether the C++ compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 +printf %s "checking for C++ compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$AMUSE_MPI_CFLAGS" + amuse_save_LIB_LIBS="$AMUSE_MPI_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing get_comm_world" >&5 +printf %s "checking for library containing get_comm_world... " >&6; } +if test ${ac_cv_search_get_comm_world+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char get_comm_world (); +int +main (void) +{ +return get_comm_world (); + ; + return 0; +} +_ACEOF +for ac_lib in '' amuse_mpi +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_get_comm_world=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_get_comm_world+y} +then : + break +fi +done +if test ${ac_cv_search_get_comm_world+y} +then : + +else $as_nop + ac_cv_search_get_comm_world=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_get_comm_world" >&5 +printf "%s\n" "$ac_cv_search_get_comm_world" >&6; } +ac_res=$ac_cv_search_get_comm_world +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_AMUSE_MPI="yes" + AMUSE_MPI_LIBS="$LIBS" + AMUSE_MPI_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for AMUSE_MPI" >&5 +printf %s "checking for AMUSE_MPI... " >&6; } + +if test -n "$AMUSE_MPI_CFLAGS"; then + pkg_cv_AMUSE_MPI_CFLAGS="$AMUSE_MPI_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"amuse_mpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "amuse_mpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_AMUSE_MPI_CFLAGS=`$PKG_CONFIG --cflags "amuse_mpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$AMUSE_MPI_LIBS"; then + pkg_cv_AMUSE_MPI_LIBS="$AMUSE_MPI_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"amuse_mpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "amuse_mpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_AMUSE_MPI_LIBS=`$PKG_CONFIG --libs "amuse_mpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + AMUSE_MPI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "amuse_mpi" 2>&1` + else + AMUSE_MPI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "amuse_mpi" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$AMUSE_MPI_PKG_ERRORS" >&5 + + + FOUND_AMUSE_MPI="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_AMUSE_MPI="no" + +else + AMUSE_MPI_CFLAGS=$pkg_cv_AMUSE_MPI_CFLAGS + AMUSE_MPI_LIBS=$pkg_cv_AMUSE_MPI_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_AMUSE_MPI="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_AMUSE_MPI}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + AMUSE_MPI_CFLAGS="${AMUSE_MPI_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + AMUSE_MPI_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + AMUSE_MPI_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + +# find mpi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-kepler_orbiters $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-kepler_orbiters config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + diff --git a/src/amuse_kepler_orbiters/support/configure.ac b/src/amuse_kepler_orbiters/support/configure.ac new file mode 100644 index 0000000000..e4a6b46fa0 --- /dev/null +++ b/src/amuse_kepler_orbiters/support/configure.ac @@ -0,0 +1,26 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-kepler_orbiters], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Set the worker language +AC_PROG_CXX() + +# Find AMUSE libraries +AMUSE_LIB_AMUSE_MPI() + +# find mpi +AC_LANG_PUSH([C++]) +AX_MPI() +AC_LANG_POP([C++]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT diff --git a/src/amuse_kepler_orbiters/support/shared b/src/amuse_kepler_orbiters/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_kepler_orbiters/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse_kepler_orbiters/tests/test_kepler.py b/src/amuse_kepler_orbiters/tests/test_kepler.py new file mode 100644 index 0000000000..20474c78dd --- /dev/null +++ b/src/amuse_kepler_orbiters/tests/test_kepler.py @@ -0,0 +1,533 @@ +import numpy +import struct + +from amuse_kepler_orbiters.interface import Kepler + +from amuse.units import nbody_system +from amuse.units import units,constants + +from amuse.ic.plummer import new_plummer_model + +from amuse.datamodel import Particle + +#from matplotlib import pyplot + +import time + +from amuse.ext.orbital_elements import orbital_elements_from_binary,new_binary_from_orbital_elements + +def elements(starmass,x,y,z,vx,vy,vz,G=constants.G): + mu=G*starmass + r=(x**2+y**2+z**2)**0.5 + v2=(vx**2+vy**2+vz**2) + + e=v2/2-mu/r + + a=-mu/2/e + + hx=y*vz-z*vy + hy=z*vx-x*vz + hz=x*vy-y*vx + + rdotv=x*vx+y*vy+z*vz + + ex=v2*x/mu-rdotv*vx/mu-x/r + ey=v2*y/mu-rdotv*vy/mu-y/r + ez=v2*z/mu-rdotv*vz/mu-z/r + + h2=(hx**2+hy**2+hz**2) + + eps=(1-h2/mu/a)**0.5 + + return a,eps + +def test_kepler(N=10000, tend=1.| units.yr,method=0): + + numpy.random.seed(12345) + + conv=nbody_system.nbody_to_si(2.| units.MSun, 5.|units.AU) + + comets=new_plummer_model(N,conv) + + sun=Particle(mass=1.|units.MSun) + + sun.position=[0,0,0]|units.AU + sun.velocity=[0,0,0]|units.kms + + comets.mass*=0. + + code=Kepler(conv,redirection="none") + + code.set_method(method) + + code.central_particle.add_particle(sun) + code.orbiters.add_particles(comets) + + a0,eps0=elements(sun.mass,code.orbiters.x,code.orbiters.y,code.orbiters.z, + code.orbiters.vx,code.orbiters.vy,code.orbiters.vz) + + +# print code.orbiters.x[0] + print(orbital_elements_from_binary(code.particles[0:2],constants.G)) + + t1=time.time() + code.evolve_model(tend) + t2=time.time() + + print(orbital_elements_from_binary(code.particles[0:2],constants.G)) +# print code.orbiters.x[0] + + + + a,eps=elements(sun.mass,code.orbiters.x,code.orbiters.y,code.orbiters.z, + code.orbiters.vx,code.orbiters.vy,code.orbiters.vz) + + da=abs((a-a0)/a0) + deps=abs(eps-eps0)/eps0 + + dev=numpy.where(da > 0.00001)[0] + print(len(dev)) + + print(a0[dev].value_in(units.AU)) + print(eps0[dev]) + +# pyplot.plot(a0[dev].value_in(units.AU),eps0[dev],"ro") +# pyplot.plot(a[dev].value_in(units.AU),eps[dev],"g+") + + print("max da,deps:",da.max(), deps.max()) + + print("time:",t2-t1) + +# pyplot.show() + + return t2-t1,da.max(),deps.max() + +def test_kepler_almost_parabolic( tend=1,method=0): + code=Kepler(redirection="none") + + code.set_method(method) + + mass1=1.| nbody_system.mass + mass2=0| nbody_system.mass + semimajor_axis=1.|nbody_system.length + eccentricity=0.9999999 + p=2*numpy.pi*(semimajor_axis**3/nbody_system.G/mass1)**0.5 + tend=tend*p + print(tend) + parts=new_binary_from_orbital_elements( + mass1, + mass2, + semimajor_axis, + eccentricity = eccentricity, + true_anomaly = 0.0102121 + ) + + code.central_particle.add_particle(parts[0]) + code.orbiters.add_particle(parts[1]) + + a0,eps0=elements(mass1,code.orbiters.x,code.orbiters.y,code.orbiters.z, + code.orbiters.vx,code.orbiters.vy,code.orbiters.vz,G=nbody_system.G) + + print(orbital_elements_from_binary(code.particles[0:2])) + + t1=time.time() + code.evolve_model(tend) + t2=time.time() + + print(orbital_elements_from_binary(code.particles[0:2])) + + print(code.orbiters.position) + + a,eps=elements(mass1,code.orbiters.x,code.orbiters.y,code.orbiters.z, + code.orbiters.vx,code.orbiters.vy,code.orbiters.vz,G=nbody_system.G) + + da=abs((a-a0)/a0) + deps=abs(eps-eps0)/eps0 + + print(da,deps) + print("time:",t2-t1) + +def test_kepler_parabolic( tend=1,method=0, sign=+1): + code=Kepler(redirection="none") + + code.set_method(method) + + sun=Particle() + sun.mass=1. | nbody_system.mass + sun.x=0. | nbody_system.length + sun.y=0. | nbody_system.length + sun.z=0. | nbody_system.length + sun.vx=0. | nbody_system.speed + sun.vy=0. | nbody_system.speed + sun.vz=0. | nbody_system.speed + + comet=Particle() + comet.mass= 0 | nbody_system.mass + comet.x=1. | nbody_system.length + comet.y=0. | nbody_system.length + comet.z=0. | nbody_system.length + comet.vx=0. | nbody_system.speed + comet.vy=(1.0 + sign * 1.0e-10)*(2*nbody_system.G*sun.mass/comet.x)**0.5 + comet.vz=0. | nbody_system.speed + + tend=tend | nbody_system.time + print(tend) + + code.central_particle.add_particle(sun) + code.orbiters.add_particle(comet) + + a0,eps0=elements(sun.mass,code.orbiters.x,code.orbiters.y,code.orbiters.z, + code.orbiters.vx,code.orbiters.vy,code.orbiters.vz,G=nbody_system.G) + + print(orbital_elements_from_binary(code.particles[0:2])) + + t1=time.time() + code.evolve_model(tend) + t2=time.time() + + print(orbital_elements_from_binary(code.particles[0:2])) + + print(code.orbiters.position) + + a,eps=elements(sun.mass,code.orbiters.x,code.orbiters.y,code.orbiters.z, + code.orbiters.vx,code.orbiters.vy,code.orbiters.vz,G=nbody_system.G) + + da=abs((a-a0)/a0) + deps=abs(eps-eps0)/eps0 + + print(da,deps) + print("time:",t2-t1) + +def crash_test(method=1): + code=Kepler(redirection="none") + + code.set_method(method) + + smu=1.224744871391589 + mu=smu**2 + r0=2.787802728537455 + rv0=-0.9899959571994231 + alpha=0.01380749549277993 + smudt=2.809925892593303 + v02=(mu*(2/r0-alpha)) + vx=rv0 + vy=(v02-vx**2)**0.5 + + sun=Particle() + sun.mass=mu | nbody_system.mass + sun.x=0. | nbody_system.length + sun.y=0. | nbody_system.length + sun.z=0. | nbody_system.length + sun.vx=0. | nbody_system.speed + sun.vy=0. | nbody_system.speed + sun.vz=0. | nbody_system.speed + + comet=Particle() + comet.mass= 0 | nbody_system.mass + comet.x=r0| nbody_system.length + comet.y=0. | nbody_system.length + comet.z=0. | nbody_system.length + comet.vx=vx | nbody_system.speed + comet.vy=vy | nbody_system.speed + comet.vz=0. | nbody_system.speed + + tend=(smudt/smu) | nbody_system.time + print(tend) + + code.central_particle.add_particle(sun) + code.orbiters.add_particle(comet) + + a0,eps0=elements(sun.mass,code.orbiters.x,code.orbiters.y,code.orbiters.z, + code.orbiters.vx,code.orbiters.vy,code.orbiters.vz,G=nbody_system.G) + + print(orbital_elements_from_binary(code.particles[0:2])) + + t1=time.time() + code.evolve_model(tend) + t2=time.time() + + print(orbital_elements_from_binary(code.particles[0:2])) + + print(code.orbiters.position) + + a,eps=elements(sun.mass,code.orbiters.x,code.orbiters.y,code.orbiters.z, + code.orbiters.vx,code.orbiters.vy,code.orbiters.vz,G=nbody_system.G) + + da=abs((a-a0)/a0) + deps=abs(eps-eps0)/eps0 + + print(da,deps) + print("time:",t2-t1) + + +def crash_test2(method=1): + code=Kepler(redirection="none") + + code.set_method(method) + + """ + mu=struct.unpack('!d','3ff7ffffffffffff'.decode('hex'))[0] + dt=struct.unpack('!d','40025ab746b00001'.decode('hex'))[0] + pos1=struct.unpack('!d','bfed36dc82998ed4'.decode('hex'))[0] + pos2=struct.unpack('!d','40051297fc6e5256'.decode('hex'))[0] + pos3=struct.unpack('!d','0000000000000000'.decode('hex'))[0] + vel1=struct.unpack('!d','3fb09d8008ba33b9'.decode('hex'))[0] + vel2=struct.unpack('!d','bff06788b551b81d'.decode('hex'))[0] + vel3=struct.unpack('!d','0000000000000000'.decode('hex'))[0] + """ + mu=float.fromhex("0x1.8p+0") + dt=float.fromhex("0x1.25ab746bp+1") + pos1=float.fromhex("-0x1.d36dc82998ed4p-1") + pos2=float.fromhex("0x1.51297fc6e5256p+1") + pos3=float.fromhex("0x0p+0") + vel1=float.fromhex("0x1.09d8008ba33b9p-4") + vel2=float.fromhex("-0x1.06788b551b81ep+0") + vel3=float.fromhex("0x0p+0") + + sun=Particle() + sun.mass=mu | nbody_system.mass + sun.x=0. | nbody_system.length + sun.y=0. | nbody_system.length + sun.z=0. | nbody_system.length + sun.vx=0. | nbody_system.speed + sun.vy=0. | nbody_system.speed + sun.vz=0. | nbody_system.speed + + comet=Particle() + comet.mass= 0 | nbody_system.mass + comet.x=pos1 | nbody_system.length + comet.y=pos2 | nbody_system.length + comet.z=pos3 | nbody_system.length + comet.vx=vel1 | nbody_system.speed + comet.vy=vel2 | nbody_system.speed + comet.vz=vel3 | nbody_system.speed + + tend=dt | nbody_system.time + print(tend,mu) + + code.central_particle.add_particle(sun) + code.orbiters.add_particle(comet) + + a0,eps0=elements(sun.mass,code.orbiters.x,code.orbiters.y,code.orbiters.z, + code.orbiters.vx,code.orbiters.vy,code.orbiters.vz,G=nbody_system.G) + + print(orbital_elements_from_binary(code.particles[0:2])) + + t1=time.time() + code.evolve_model(tend) + t2=time.time() + + print(orbital_elements_from_binary(code.particles[0:2])) + + print(code.orbiters.position) + + a,eps=elements(sun.mass,code.orbiters.x,code.orbiters.y,code.orbiters.z, + code.orbiters.vx,code.orbiters.vy,code.orbiters.vz,G=nbody_system.G) + + da=abs((a-a0)/a0) + deps=abs(eps-eps0)/eps0 + + print(da,deps) + print("time:",t2-t1) + +def test_softening(method=1): + code=Kepler(redirection="none") + + code.set_method(method) + + dt=float.fromhex("0x1.67b39e372f04dp+4") + mu=float.fromhex("0x1.fffffffffffdfp-3") + e2=float.fromhex("0x1.0000000000003p+0") + pos1=float.fromhex("0x1.1b76542265052p-1") + pos2=float.fromhex("0x1.0c4dbda42097cp-6") + pos3=float.fromhex("0x1.54fd66cd1e212p-3") + vel1=float.fromhex("0x1.d6ef43d58ca7ep-2") + vel2=float.fromhex("0x1.7a85379e59794p-2") + vel3=float.fromhex("-0x1.5421044d1acffp-1") + + sun=Particle() + sun.mass=mu | nbody_system.mass + sun.x=0. | nbody_system.length + sun.y=0. | nbody_system.length + sun.z=0. | nbody_system.length + sun.vx=0. | nbody_system.speed + sun.vy=0. | nbody_system.speed + sun.vz=0. | nbody_system.speed + + comet=Particle() + comet.mass= 0 | nbody_system.mass + comet.x=pos1 | nbody_system.length + comet.y=pos2 | nbody_system.length + comet.z=pos3 | nbody_system.length + comet.vx=vel1 | nbody_system.speed + comet.vy=vel2 | nbody_system.speed + comet.vz=vel3 | nbody_system.speed + + tend=dt | nbody_system.time + print(tend,mu) + + code.central_particle.add_particle(sun) + code.orbiters.add_particle(comet) + + code.parameters.epsilon_squared = e2 | nbody_system.length**2 + + a0,eps0=elements(sun.mass,code.orbiters.x,code.orbiters.y,code.orbiters.z, + code.orbiters.vx,code.orbiters.vy,code.orbiters.vz,G=nbody_system.G) + + print(orbital_elements_from_binary(code.particles[0:2])) + + t1=time.time() + code.evolve_model(tend) + t2=time.time() + + print(orbital_elements_from_binary(code.particles[0:2])) + + print(code.orbiters.position) + + a,eps=elements(sun.mass,code.orbiters.x,code.orbiters.y,code.orbiters.z, + code.orbiters.vx,code.orbiters.vy,code.orbiters.vz,G=nbody_system.G) + + da=abs((a-a0)/a0) + deps=abs(eps-eps0)/eps0 + + print(da,deps) + print("time:",t2-t1) + +def t_linear(tend=1,N=100,method=0): + code=Kepler(redirection="none") + + code.set_method(method) + + mass=1. | nbody_system.mass + x=1. | nbody_system.length + vx=0 | nbody_system.speed + + e=0.5*vx**2-nbody_system.G*mass/x + + semimajor_axis=-nbody_system.G*mass/2/e + + p=2*numpy.pi*(semimajor_axis**3/nbody_system.G/mass)**0.5 + + print(semimajor_axis) + print(p) + + tend=tend*p + dt=p/N + + sun=Particle() + sun.mass=mass + sun.x=0. | nbody_system.length + sun.y=0. | nbody_system.length + sun.z=0. | nbody_system.length + sun.vx=0. | nbody_system.speed + sun.vy=0. | nbody_system.speed + sun.vz=0. | nbody_system.speed + + comet=Particle() + comet.mass= 0 | nbody_system.mass + comet.x=x + comet.y=0. | nbody_system.length + comet.z=0. | nbody_system.length + comet.vx=vx + comet.vy=0. | nbody_system.speed + comet.vz=0. | nbody_system.speed + + code.central_particle.add_particle(sun) + code.orbiters.add_particle(comet) + + a0,eps0=elements(sun.mass,code.orbiters.x,code.orbiters.y,code.orbiters.z, + code.orbiters.vx,code.orbiters.vy,code.orbiters.vz,G=nbody_system.G) + + print(orbital_elements_from_binary(code.particles[0:2])) + + #pyplot.ion() + #f=pyplot.figure(figsize=(8,6)) + #pyplot.show() + + tnow=0*tend + time=[] + xs=[] + while tnow$@ + +src/krome: krome.tar.gz + tar xf $< + mv tgrassi-krome-$(SHORT_VERSION) src/krome + + +# Building the code into a static library +DEPFLAGS += $(FORSOCKETS_CFLAGS) +FCFLAGS += $(DEPFLAGS) -Isrc -Isrc/krome/build + +LDLIBS += $(FORSOCKETS_LIBS) + +CODELIB = src/libchem.a + +.PHONY: $(CODELIB) +$(CODELIB): | src/krome + $(MAKE) -C src libchem.a + + +# Building the workers +krome_worker.f90: interface.py + amusifier --type=f90 interface.py KromeInterface -o $@ + +krome_worker.o: krome_worker.f90 + $(MPIFC) -c -o $@ $(FCFLAGS) $< + +krome_worker: interface.o krome_worker.o $(CODELIB) + $(MPIFC) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +%.o: %.f90 $(CODELIB) + $(MPIFC) -o $@ -c $(FCFLAGS) $< + + +# Which packages contain which workers? +amuse-krome_contains: krome_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *.o *.mod *worker* + +.PHONY: distclean +distclean: clean + $(MAKE) -C src distclean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_krome/__init__.py b/src/amuse_krome/__init__.py new file mode 100644 index 0000000000..abc2ff7d27 --- /dev/null +++ b/src/amuse_krome/__init__.py @@ -0,0 +1 @@ +from .interface import Krome diff --git a/src/amuse/community/krome/interface.f90 b/src/amuse_krome/interface.f90 similarity index 100% rename from src/amuse/community/krome/interface.f90 rename to src/amuse_krome/interface.f90 diff --git a/src/amuse_krome/interface.py b/src/amuse_krome/interface.py new file mode 100644 index 0000000000..66e0ecc1f9 --- /dev/null +++ b/src/amuse_krome/interface.py @@ -0,0 +1,293 @@ +import os.path +from amuse.community.interface.common import CommonCodeInterface, CommonCode +from amuse.community import * +from amuse.support.options import option + +#(Grevesse & Sauval, 1998, Space Sci. Rev. 85, 161) +solar_abundances= dict(H=1., + HE=.085, + C=3.31e-4, + N=8.3e-5, + O=6.76e-4, + Ne=1.2e-4, + SI=3.55e-5, + Fe=3.2e-5) + +class KromeInterface(CodeInterface, CommonCodeInterface, LiteratureReferencesMixIn): + """ + + KROME - a package to embed chemistry in astrophysical simulations + + .. [#] Grassi, T.; Bovino, S.; Schleicher, D. R. G.; Prieto, J.; Seifried, D.; Simoncini, E.; Gianturco, F. A., MNRAS, 439, 3, p.2386-2419 [2014MNRAS.439.2386G] + """ + + def __init__(self, **options): + CodeInterface.__init__(self, name_of_the_worker = self.name_of_the_worker(), **options) + LiteratureReferencesMixIn.__init__(self) + + def name_of_the_worker(self): + return 'krome_worker' + + @legacy_function + def commit_particles(): + function = LegacyFunctionSpecification() + function.result_type = 'i' + return function + + @legacy_function + def commit_parameters(): + function = LegacyFunctionSpecification() + function.result_type = 'i' + return function + + def recommit_parameters(): + return self.commit_parameters() + + @legacy_function + def recommit_particles(): + function = LegacyFunctionSpecification() + function.result_type = 'i' + return function + + @legacy_function + def new_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='int32', direction=function.OUT) + for x in ['number_density','temperature','ionrate']: + function.addParameter(x, dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def set_state(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['number_density','temperature','ionrate']: + function.addParameter(x, dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_state(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['number_density','temperature','ionrate']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_abundance(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + function.addParameter('aid', dtype='i', direction=function.IN) + function.addParameter('abundance', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_abundance(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + function.addParameter('aid', dtype='i', direction=function.IN) + function.addParameter('abundance', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_firstlast_abundance(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('first', dtype='i', direction=function.OUT) + function.addParameter('last', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_index_of_species(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('name', dtype='s', direction=function.IN) + function.addParameter('index', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_name_of_species(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index', dtype='i', direction=function.IN) + function.addParameter('name', dtype='s', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def evolve_model(): + function = LegacyFunctionSpecification() + function.addParameter('time_end', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_time(): + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def delete_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='int32', direction=function.IN) + function.result_type = 'i' + return function + +class Krome(CommonCode): + + def __init__(self,unit_converter = None, **options): + + if unit_converter is not None: + raise Exception("krome uses predefined units") + + InCodeComponentImplementation.__init__(self, KromeInterface(**options)) + first,last=self.get_firstlast_abundance() + self.species=dict() + for i in range(first,last+1): + self.species[self.get_name_of_species(i)]=i-1 +# self.set_data_directory(self.data_directory()) +# self.set_output_directory(self.output_directory()) + + def define_properties(self, handler): + handler.add_property('get_time', public_name = "model_time") + + def define_methods(self, handler): + CommonCode.define_methods(self, handler) + handler.add_method( + 'evolve_model', + ( + units.s, + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + "new_particle", + ( + units.cm**-3, + units.K, + units.s**-1, + ), + ( + handler.INDEX, + handler.ERROR_CODE, + ) + ) + handler.add_method( + "set_state", + ( + handler.NO_UNIT, + units.cm**-3, + units.K, + units.s**-1, + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + "get_state", + ( + handler.INDEX, + ), + ( + units.cm**-3, + units.K, + units.s**-1, + handler.ERROR_CODE, + ) + ) + handler.add_method( + "get_abundance", + ( + handler.INDEX, + handler.INDEX, + ), + ( + handler.NO_UNIT, + handler.ERROR_CODE, + ) + ) + handler.add_method( + "set_abundance", + ( + handler.INDEX, + handler.INDEX, + handler.NO_UNIT, + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + "delete_particle", + ( + handler.INDEX, + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + "get_firstlast_abundance", + ( + ), + ( + handler.NO_UNIT, + handler.NO_UNIT, + handler.ERROR_CODE, + ) + ) + handler.add_method( + "get_time", + ( + ), + ( + units.s, + handler.ERROR_CODE, + ) + ) + + def define_particle_sets(self, handler): + handler.define_set('particles', 'id') + handler.set_new('particles', 'new_particle') + handler.set_delete('particles', 'delete_particle') + handler.add_setter('particles', 'set_state') + handler.add_getter('particles', 'get_state') + handler.add_gridded_getter('particles', 'get_abundance','get_firstlast_abundance', names = ('abundances',)) + handler.add_gridded_setter('particles', 'set_abundance','get_firstlast_abundance', names = ('abundances',)) + + def define_state(self, handler): + CommonCode.define_state(self, handler) + handler.add_transition('INITIALIZED','EDIT','commit_parameters') + handler.add_transition('RUN','PARAMETER_CHANGE_A','invoke_state_change2') + handler.add_transition('EDIT','PARAMETER_CHANGE_B','invoke_state_change2') + handler.add_transition('PARAMETER_CHANGE_A','RUN','recommit_parameters') + handler.add_transition('PARAMETER_CHANGE_B','EDIT','recommit_parameters') + handler.add_method('EDIT', 'new_particle') + handler.add_method('EDIT', 'delete_particle') + handler.add_transition('EDIT', 'RUN', 'commit_particles') + handler.add_transition('RUN', 'UPDATE', 'new_particle', False) + handler.add_transition('RUN', 'UPDATE', 'delete_particle', False) + handler.add_transition('UPDATE', 'RUN', 'recommit_particles') + handler.add_method('RUN', 'evolve_model') + handler.add_method('RUN', 'get_state') + handler.add_method('RUN', 'get_abundance') + + diff --git a/src/amuse_krome/packages/amuse-krome.amuse_deps b/src/amuse_krome/packages/amuse-krome.amuse_deps new file mode 100644 index 0000000000..c1c23dbd8f --- /dev/null +++ b/src/amuse_krome/packages/amuse-krome.amuse_deps @@ -0,0 +1 @@ +fortran python download mpi diff --git a/src/amuse_krome/packages/amuse-krome/amuse_krome b/src/amuse_krome/packages/amuse-krome/amuse_krome new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_krome/packages/amuse-krome/amuse_krome @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_krome/packages/amuse-krome/pyproject.toml b/src/amuse_krome/packages/amuse-krome/pyproject.toml new file mode 100644 index 0000000000..82d4c013e8 --- /dev/null +++ b/src/amuse_krome/packages/amuse-krome/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-krome" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_krome/**/*.py"] +exclude = [ + "amuse_krome/packages", + "amuse_krome/support", + "amuse_krome/src", + "amuse_krome/tests" + ] +artifacts = ["amuse_krome/krome_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_krome/tests/"] + +testpaths = ["amuse_krome/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse_krome/src/Makefile b/src/amuse_krome/src/Makefile new file mode 100644 index 0000000000..cd7e5e74a2 --- /dev/null +++ b/src/amuse_krome/src/Makefile @@ -0,0 +1,35 @@ +OBJECTS = compact_chem_optimized.o +FC ?= gfortran +FFLAGS ?= -O2 + +LIBFILES= $(OBJECTS) hash.o amuse_helpers.o + +# krome makefile has changed to be ifort, with targets for gfortran +#~ KROME_OPTIONS=-unsafe -iRHS -n networks/react_COthin -compiler $(FC) -useN -clean +KROME_OPTIONS=-unsafe -iRHS -n networks/react_COthin -useN -clean -noVerbatimFile +# -compact + +FFLAGS += -ffree-line-length-none -fallow-argument-mismatch + +amuse_interface: libchem.a + +test: + +# note the hard change of fortran compiler and options +krome/build/krome: + cd krome && ./krome $(KROME_OPTIONS) + $(MAKE) -C krome/build/ fc="$(FC)" switch="$(FFLAGS)" + +libchem.a: krome/build/krome hash.o amuse_helpers.o + $(AR) crs $@ $(filter-out krome/build/test.o, $(wildcard krome/build/*.o)) hash.o amuse_helpers.o + +%.o: %.f90 krome/build/krome + $(FC) $(FFLAGS) -Ikrome/build/ -c -o $@ $< + +clean: + rm -f *.o *.mod + rm -f libchem.a + rm -f krome/build/* + +distclean: clean + rm -f libchem.a diff --git a/src/amuse/community/krome/src/amuse_helpers.f90 b/src/amuse_krome/src/amuse_helpers.f90 similarity index 100% rename from src/amuse/community/krome/src/amuse_helpers.f90 rename to src/amuse_krome/src/amuse_helpers.f90 diff --git a/src/amuse/community/krome/src/hash.f90 b/src/amuse_krome/src/hash.f90 similarity index 100% rename from src/amuse/community/krome/src/hash.f90 rename to src/amuse_krome/src/hash.f90 diff --git a/src/amuse_krome/support/aclocal.m4 b/src/amuse_krome/support/aclocal.m4 new file mode 100644 index 0000000000..a08907b9b2 --- /dev/null +++ b/src/amuse_krome/support/aclocal.m4 @@ -0,0 +1,21 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_download.m4]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/fortran.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_krome/support/config.mk.in b/src/amuse_krome/support/config.mk.in new file mode 100644 index 0000000000..a9e5734a46 --- /dev/null +++ b/src/amuse_krome/support/config.mk.in @@ -0,0 +1,27 @@ +# Compilers +FC = @FC@ + +MPIFC = @MPIFC@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ +DOWNLOAD = @DOWNLOAD@ + + +# General flags and libraries +FCFLAGS = @FCFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +FORSOCKETS_CFLAGS = @FORSOCKETS_CFLAGS@ +FORSOCKETS_LIBS = @FORSOCKETS_LIBS@ + + +# External dependencies + diff --git a/src/amuse_krome/support/configure b/src/amuse_krome/support/configure new file mode 100755 index 0000000000..a623465422 --- /dev/null +++ b/src/amuse_krome/support/configure @@ -0,0 +1,6242 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-krome 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-krome' +PACKAGE_TARNAME='amuse-krome' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-krome 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPILIBS +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CPPFLAGS +CFLAGS +CC +DOWNLOAD +CURL +WGET +RANLIB +AR +target_os +target_vendor +target_cpu +target +OBJEXT +EXEEXT +ac_ct_FC +LDFLAGS +FCFLAGS +FC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +FC +FCFLAGS +LDFLAGS +LIBS +CC +CFLAGS +CPPFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS +MPIFC' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-krome 1.0 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/amuse-krome] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-krome 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + FC Fortran compiler command + FCFLAGS Fortran 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 + CC C compiler command + CFLAGS C compiler flags + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + 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 + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + MPIFC MPI Fortran compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-krome configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-krome $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the Fortran compiler works" >&5 +printf %s "checking whether the Fortran compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "Fortran compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler default output file name" >&5 +printf %s "checking for Fortran compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat > conftest.$ac_ext <<_ACEOF + program main + open(unit=9,file='conftest.out') + close(unit=9) + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run Fortran compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +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 + + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + +# Find something to download things with + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}wget", so it can be a program name with args. +set dummy ${ac_tool_prefix}wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$WGET"; then + ac_cv_prog_WGET="$WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="${ac_tool_prefix}wget" + printf "%s\n" "$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 +WGET=$ac_cv_prog_WGET +if test -n "$WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $WGET" >&5 +printf "%s\n" "$WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_WGET"; then + ac_ct_WGET=$WGET + # Extract the first word of "wget", so it can be a program name with args. +set dummy wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_WGET"; then + ac_cv_prog_ac_ct_WGET="$ac_ct_WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="wget" + printf "%s\n" "$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_WGET=$ac_cv_prog_ac_ct_WGET +if test -n "$ac_ct_WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WGET" >&5 +printf "%s\n" "$ac_ct_WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_WGET" = x; then + WGET="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + WGET=$ac_ct_WGET + fi +else + WGET="$ac_cv_prog_WGET" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}curl", so it can be a program name with args. +set dummy ${ac_tool_prefix}curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CURL"; then + ac_cv_prog_CURL="$CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="${ac_tool_prefix}curl" + printf "%s\n" "$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 +CURL=$ac_cv_prog_CURL +if test -n "$CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CURL" >&5 +printf "%s\n" "$CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CURL"; then + ac_ct_CURL=$CURL + # Extract the first word of "curl", so it can be a program name with args. +set dummy curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CURL"; then + ac_cv_prog_ac_ct_CURL="$ac_ct_CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="curl" + printf "%s\n" "$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_CURL=$ac_cv_prog_ac_ct_CURL +if test -n "$ac_ct_CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CURL" >&5 +printf "%s\n" "$ac_ct_CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CURL" = x; then + CURL="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CURL=$ac_ct_CURL + fi +else + CURL="$ac_cv_prog_CURL" +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a wget or curl to download files with" >&5 +printf %s "checking for a wget or curl to download files with... " >&6; } + if test "x$WGET" != "x" + then + # The MESA SDK server rejects wget, this is the official work-around + DOWNLOAD="$WGET --progress=bar:force:noscroll --user-agent='' -O -" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + if test "x$CURL" != "x" + then + DOWNLOAD="$CURL -L" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + fi + + + + + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + + +# TODO: it looks like Krome can use Intel MKL, and conda-forge packages it + +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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-krome $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-krome config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_krome/support/configure.ac b/src/amuse_krome/support/configure.ac new file mode 100644 index 0000000000..1da9ed6b34 --- /dev/null +++ b/src/amuse_krome/support/configure.ac @@ -0,0 +1,44 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-krome], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + +# Find something to download things with +AMUSE_DOWNLOAD() + + +# Find AMUSE libraries +AMUSE_LIB_FORSOCKETS() + + +# Find external dependencies +AC_LANG_PUSH([Fortran]) + +AX_MPI() + +# TODO: it looks like Krome can use Intel MKL, and conda-forge packages it + +AC_LANG_POP([Fortran]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_krome/support/shared b/src/amuse_krome/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_krome/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_krome.py b/src/amuse_krome/tests/test_krome.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_krome.py rename to src/amuse_krome/tests/test_krome.py index e4381c186c..cb1e5c14c4 100644 --- a/src/amuse/test/suite/codes_tests/test_krome.py +++ b/src/amuse_krome/tests/test_krome.py @@ -1,8 +1,8 @@ import os.path import numpy -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI -from amuse.community.krome.interface import KromeInterface, Krome, solar_abundances +from amuse_krome.interface import KromeInterface, Krome, solar_abundances from amuse.units import units from amuse.datamodel import Particles diff --git a/src/amuse_mameclot/Makefile b/src/amuse_mameclot/Makefile new file mode 100644 index 0000000000..3ec82bd358 --- /dev/null +++ b/src/amuse_mameclot/Makefile @@ -0,0 +1,55 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the workers + +# mameclot is a stand-alone program that is run as a subprocess from interface.py, +# communicating via pipes. So no amusifier here and no static library either. + +CFLAGS += $(CUDA_FLAGS) +LDFLAGS += $(CUDA_LDFLAGS) + +mameclot_worker: + $(MAKE) -C src -j $(CPU_COUNT) CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" + cp src/mameclot mameclot_worker + + +# Which packages contain which workers? +amuse-mameclot_contains: mameclot_worker + +# There is some CUDA code here for a mameclot_cuda_worker, but it's not used by +# interface.py. For the future. - LV + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_mameclot/__init__.py b/src/amuse_mameclot/__init__.py new file mode 100644 index 0000000000..d0aea3a125 --- /dev/null +++ b/src/amuse_mameclot/__init__.py @@ -0,0 +1 @@ +from .interface import Mameclot diff --git a/src/amuse_mameclot/interface.py b/src/amuse_mameclot/interface.py new file mode 100644 index 0000000000..481ce7aee6 --- /dev/null +++ b/src/amuse_mameclot/interface.py @@ -0,0 +1,233 @@ +import numpy +import os + +from amuse.community import LiteratureReferencesMixIn +from amuse.datamodel import Particles,ParticlesWithUnitsConverted + +from subprocess import Popen, PIPE + +from amuse.units import units,nbody_system + +class mameclot(LiteratureReferencesMixIn): + """ + MAMECLOT: MAke ME a CLuster Or Two + + Construct initial conditions of 1 (or 2) cluster(s) for N-body simulations + + A 2 cluster system with orbit in the x-y plane is made if the mass ratio q>0 + Five equilibrium models are available, a cut-off radius can be provided + The velocities can be isotropic or radially anisotropic (a la Osipkov-Merritt) + Optional angular momentum by aligning the angular momentum vectors along z + System is scaled to N-body units with G = M = -4E = 1 (Heggie & Mathieu 1986) + In the case of a two-body system E = mu*e_orb + E_1 + E_2 (mu = reduced mass) + The 2-body orbit is computed from input q, e_hat and l_hat (and eta if q<1): + + e_hat = e_orb/0.5 + l_hat = l_orb/ + eta => defines the relative radii: r2/r1 = q^eta, for example: + eta=[-0.33/0/0.33/0.5] for equal [t_rh/r_h/rho_h/Sigma_h] + + Relevant references: + .. [#] Gieles, M., https://github.com/mgieles/mameclot + + :argument targetN: Number of particles + :argument convert_nbody: When given will convert the resulting set to SI units + :argument cluster_model: cluster model to generate ["Henon"] + :argument mass_ratio: mass ratio, zero means only 1 cluster [0] + :argument size_eta_parameter: eta, relative cluster sizes: r2/r1 = q^eta [0.333] + :argument imf: IMF [single mass] + :argument angular_momentum_signs: Angular momentum in z-direction, -, + or x ["xx"] + :argument fraction_of_max_rot_energy: Fraction of maximum rotational energy [1], + :argument OsipkovMerritt_anisotropy_radius_r0: Osipkov-Merritt anisotropy radius in units of r_0 [999] + :argument cutoff_radius_halfmass_radius: Cut-off radius in units of r_h [20] + :argument physical_radius: Physical scale [1| units.parsec] + :argument distance: Distance between 2 clusters in N-body units [20 | nbody_system.length] + :argument orbital_energy: Dimensionless orbital energy of two-cluster system [0] + :argument orbital_angular_momentum: Dimensionless orbital angular momentum two-cluster system [4] + :argument seed: random seed 123456 + """ + + available_cluster_models={"Dehnen" : 0, "Hernquist":1 ,"Jaffe":2,"Henon": 3, "Plummer" :4 } + available_imf_model={"single mass" : 0, "Kroupa" : 1} + angular_momentum_sign_key={"xx":0,"++":1,"+x":2,"+-":3,"x+":4,"x-":5,"--":-1,"-x":-2,"-+":-3} + + def __init__(self, targetN=10000, cluster_model="Henon", mass_ratio=0, size_eta_parameter=0.3333333, + imf="single mass", angular_momentum_signs="xx", fraction_of_max_rot_energy=1, + OsipkovMerritt_anisotropy_radius_r0=999,cutoff_radius_halfmass_radius=20,physical_radius=1| units.parsec, + distance=20 | nbody_system.length,orbital_energy=0,orbital_angular_momentum=0,seed=123456, + convert_to_physical=False): + + LiteratureReferencesMixIn.__init__(self) + + self._bin_path = os.path.dirname(os.path.abspath(__file__)) + self._particles=None + self.convert_to_physical=convert_to_physical + self._exec="mameclot_worker" + + self.targetN=targetN + self.cluster_model=cluster_model + self.mass_ratio=mass_ratio + self.size_eta_parameter=size_eta_parameter + self.imf=imf + self.angular_momentum_signs=angular_momentum_signs + self.fraction_of_max_rot_energy=fraction_of_max_rot_energy + self.OsipkovMerritt_anisotropy_radius_r0=OsipkovMerritt_anisotropy_radius_r0 + self.cutoff_radius_halfmass_radius=cutoff_radius_halfmass_radius + self.physical_radius=physical_radius + self.distance=distance + self.orbital_energy=orbital_energy + self.orbital_angular_momentum=orbital_angular_momentum + self.seed=seed + + def arguments(self): + arguments=[] + arguments.extend([ "-N", str(self.targetN) ]) + arguments.extend([ "-m", str(self.available_cluster_models[self.cluster_model]) ]) + arguments.extend([ "-q", str(self.mass_ratio) ]) + arguments.extend([ "-e", str(self.size_eta_parameter) ]) + arguments.extend([ "-i", str(self.available_imf_model[self.imf]) ]) + arguments.extend([ "-l", self.angular_momentum_signs ]) + arguments.extend([ "-f", str(self.fraction_of_max_rot_energy) ]) + arguments.extend([ "-a", str(self.OsipkovMerritt_anisotropy_radius_r0) ]) + arguments.extend([ "-c", str(self.cutoff_radius_halfmass_radius) ]) + arguments.extend([ "-r", str(self.physical_radius.value_in(units.parsec)) ]) + arguments.extend([ "-d", str(self.distance) ]) + arguments.extend([ "-E", str(self.orbital_energy) ]) + arguments.extend([ "-L", str(self.orbital_angular_momentum) ]) + arguments.extend([ "-s", str(self.seed) ]) + return arguments + + def make_model(self): + + call=[self._exec]+self.arguments() + + print(call) + + mameclot=Popen(call, stdout=PIPE,stderr=PIPE,executable=os.path.join(self._bin_path,self._exec)) + + (out,err)=mameclot.communicate() + + print(err) + + outsplit=out.decode().strip().split("\n") + errsplit=err.decode().strip().split("\n") + + if self.mass_ratio==0: + nline=errsplit[6].split() + mline=errsplit[7].split() + rline=errsplit[8].split() + N1=int(nline[2]) + N2=0 + mscale=(float(mline[4])/float(mline[2])) | units.MSun + rscale=(float(rline[4])/float(mline[2])) | units.parsec + else: + nline=errsplit[8].split() + n2line=errsplit[22].split() + mline=errsplit[9].split() + rline=errsplit[10].split() + N1=int(nline[2]) + N2=int(n2line[2]) + mscale=(float(mline[4])/float(mline[2])) | units.MSun + rscale=(float(rline[4])/float(mline[2])) | units.parsec + print(N1,N2) + + N=len( outsplit) + + parts=Particles(N) + + masses=numpy.zeros((N,)) + energy=numpy.zeros((N,)) + + position=numpy.zeros((N,3)) + velocity=numpy.zeros((N,3)) + + for i,line in enumerate(outsplit): + l=line.split() + masses[i]=float(l[0]) + position[i,0:3]=[float(l[1]),float(l[2]),float(l[3])] + velocity[i,0:3]=[float(l[4]),float(l[5]),float(l[6])] + energy[i]=float(l[7]) + + parts.mass=masses | nbody_system.mass + parts.position=position | nbody_system.length + parts.velocity=velocity | nbody_system.speed + parts.specific_energy=energy| nbody_system.specific_energy + + parts.move_to_center() + + if self.convert_to_physical: + print("mass scale:", mscale) + print("length scale:", rscale) + + convert_nbody=nbody_system.nbody_to_si(mscale,rscale) + parts = ParticlesWithUnitsConverted(parts, convert_nbody.as_converter_from_si_to_generic()) + parts = parts.copy() + + self._all=parts + self._cluster1=parts[:N1] + self._cluster2=parts[N1:] + + + @property + def result(self): + self.make_model() + return self._all + + @property + def result_split(self): + self.make_model() + return self._all,self._cluster1,self._cluster2 + +def new_mameclot_model(*args,**keyword_arguments): + """ + + MAMECLOT: MAke ME a CLuster Or Two + + Construct initial conditions of 1 (or 2) cluster(s) for N-body simulations + + A 2 cluster system with orbit in the x-y plane is made if the mass ratio q>0 + Five equilibrium models are available, a cut-off radius can be provided + The velocities can be isotropic or radially anisotropic (a la Osipkov-Merritt) + Optional angular momentum by aligning the angular momentum vectors along z + System is scaled to N-body units with G = M = -4E = 1 (Heggie & Mathieu 1986) + In the case of a two-body system E = mu*e_orb + E_1 + E_2 (mu = reduced mass) + The 2-body orbit is computed from input q, e_hat and l_hat (and eta if q<1): + + e_hat = e_orb/0.5 + l_hat = l_orb/ + eta => defines the relative radii: r2/r1 = q^eta, for example: + eta=[-0.33/0/0.33/0.5] for equal [t_rh/r_h/rho_h/Sigma_h] + + :argument targetN: Number of particles + :argument convert_nbody: When given will convert the resulting set to SI units + :argument cluster_model: cluster model to generate ["Henon"] + :argument mass_ratio: mass ratio, zero means only 1 cluster [0] + :argument size_eta_parameter:eta: Relative cluster sizes: r2/r1 = q^eta [0.333] + :argument imf: IMF ["single mass"] + :argument angular_momentum_signs: Angular momentum in z-direction, -, + or x ["xx"] + :argument fraction_of_max_rot_energy: Fraction of maximum rotational energy [1], + :argument OsipkovMerritt_anisotropy_radius_r0: Osipkov-Merritt anisotropy radius in units of r_0 [999] + :argument cutoff_radius_halfmass_radius: Cut-off radius in units of r_h [20] + :argument physical_radius: Physical scale [1| units.parsec] + :argument distance: Distance between 2 clusters in N-body units [20 | nbody_system.length] + :argument orbital_energy: Dimensionless orbital energy of two-cluster system [0] + :argument orbital_angular_momentum: Dimensionless orbital angular momentum two-cluster system [4] + :argument seed: random seed 123456 + """ + uc = mameclot(*args, **keyword_arguments) + return uc.result + +if __name__=="__main__": + from matplotlib import pyplot + + clusters,cluster1,cluster2=mameclot(mass_ratio=0.25,convert_to_physical=False).result_split + + print(cluster1.total_mass()) + print(len(cluster2)) + + pyplot.plot(cluster1.x.number,cluster1.y.number,"r.") + pyplot.plot(cluster2.x.number,cluster2.y.number,"g.") + pyplot.show() + + +Mameclot = mameclot diff --git a/src/amuse_mameclot/packages/amuse-mameclot.amuse_deps b/src/amuse_mameclot/packages/amuse-mameclot.amuse_deps new file mode 100644 index 0000000000..77447f1e85 --- /dev/null +++ b/src/amuse_mameclot/packages/amuse-mameclot.amuse_deps @@ -0,0 +1 @@ +c mpi diff --git a/src/amuse_mameclot/packages/amuse-mameclot/amuse_mameclot b/src/amuse_mameclot/packages/amuse-mameclot/amuse_mameclot new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_mameclot/packages/amuse-mameclot/amuse_mameclot @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_mameclot/packages/amuse-mameclot/pyproject.toml b/src/amuse_mameclot/packages/amuse-mameclot/pyproject.toml new file mode 100644 index 0000000000..1e0b445204 --- /dev/null +++ b/src/amuse_mameclot/packages/amuse-mameclot/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-mameclot" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_mameclot/**/*.py"] +exclude = [ + "amuse_mameclot/packages", + "amuse_mameclot/support", + "amuse_mameclot/src", + "amuse_mameclot/tests" + ] +artifacts = ["amuse_mameclot/mameclot_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_mameclot/tests/"] + +testpaths = ["amuse_mameclot/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/mameclot/src/COMPILE b/src/amuse_mameclot/src/COMPILE similarity index 100% rename from src/amuse/community/mameclot/src/COMPILE rename to src/amuse_mameclot/src/COMPILE diff --git a/src/amuse/community/mameclot/src/Makefile b/src/amuse_mameclot/src/Makefile similarity index 100% rename from src/amuse/community/mameclot/src/Makefile rename to src/amuse_mameclot/src/Makefile diff --git a/src/amuse/community/mameclot/src/README b/src/amuse_mameclot/src/README similarity index 100% rename from src/amuse/community/mameclot/src/README rename to src/amuse_mameclot/src/README diff --git a/src/amuse/community/mameclot/src/gpupot.cu b/src/amuse_mameclot/src/gpupot.cu similarity index 100% rename from src/amuse/community/mameclot/src/gpupot.cu rename to src/amuse_mameclot/src/gpupot.cu diff --git a/src/amuse/community/mameclot/src/mameclot.c b/src/amuse_mameclot/src/mameclot.c similarity index 100% rename from src/amuse/community/mameclot/src/mameclot.c rename to src/amuse_mameclot/src/mameclot.c diff --git a/src/amuse/community/mameclot/src/mameclot.h b/src/amuse_mameclot/src/mameclot.h similarity index 100% rename from src/amuse/community/mameclot/src/mameclot.h rename to src/amuse_mameclot/src/mameclot.h diff --git a/src/amuse/community/mameclot/src/pot.c b/src/amuse_mameclot/src/pot.c similarity index 100% rename from src/amuse/community/mameclot/src/pot.c rename to src/amuse_mameclot/src/pot.c diff --git a/src/amuse_mameclot/support/aclocal.m4 b/src/amuse_mameclot/support/aclocal.m4 new file mode 100644 index 0000000000..d034c07f77 --- /dev/null +++ b/src/amuse_mameclot/support/aclocal.m4 @@ -0,0 +1,18 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_cuda.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) diff --git a/src/amuse_mameclot/support/config.mk.in b/src/amuse_mameclot/support/config.mk.in new file mode 100644 index 0000000000..d81e01884f --- /dev/null +++ b/src/amuse_mameclot/support/config.mk.in @@ -0,0 +1,21 @@ +# Compilers +CC = @CC@ +MPICC = @MPICC@ +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ + +# General flags and libraries +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + +# External dependencies +CUDA_TK = @CUDA_TK@ +NVCC = @NVCC@ +CUDA_FLAGS = @CUDA_FLAGS@ +CUDA_LDFLAGS = @CUDA_LDFLAGS@ + diff --git a/src/amuse_mameclot/support/configure b/src/amuse_mameclot/support/configure new file mode 100755 index 0000000000..b142840e21 --- /dev/null +++ b/src/amuse_mameclot/support/configure @@ -0,0 +1,6561 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-mameclot 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-mameclot' +PACKAGE_TARNAME='amuse-mameclot' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-mameclot 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +CUDA_LDFLAGS +CUDA_FLAGS +NVCC +CUDA_TK +amuse_cuda_verify_NVCC +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +RANLIB +AR +target_os +target_vendor +target_cpu +target +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +MPICC' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-mameclot 1.0 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/amuse-mameclot] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-mameclot 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + 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 + MPICC MPI C compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-mameclot configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-mameclot $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find external dependencies +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 + + + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 x"$CUDA_TK" != x +then : + + # User set CUDA_TK, verify and use it if it works + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d $CUDA_TK +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $CUDA_TK/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x$CUDA_TK" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in $CUDA_TK/include" + amuse_cuda_flags="-I$CUDA_TK/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x$CUDA_TK" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in $CUDA_TK/lib" + amuse_cuda_verify_msg64="for libcudart in $CUDA_TK/lib64" + amuse_cuda_ldflags="-L$CUDA_TK/lib" + amuse_cuda_ldflags64="-L$CUDA_TK/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$CUDA_TK" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $CUDA_TK does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: $CUDA_TK does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + + if test x"$NVCC" = x +then : + + as_fn_error $? "CUDA_TK is set, but there is no nvcc in $CUDA_TK/bin. Please set CUDA_TK to the CUDA installation directory, or unset it to autodetect." "$LINENO" 5 + +fi + +else $as_nop + + # CUDA_TK not set, try to discover CUDA via PATH + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + # Got nvcc, verify that we have the rest too + amuse_cuda_verify_ctk_rel=$(dirname -- "$amuse_cuda_verify_NVCC")/.. + # Canonicalise path portably so that it looks nicer + amuse_cuda_verify_CUDA_TK=$(test -d "$amuse_cuda_verify_ctk_rel" && CDPATH= cd -P -- "$amuse_cuda_verify_ctk_rel" && pwd -P) + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in /include" + amuse_cuda_flags="-I/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in /lib" + amuse_cuda_verify_msg64="for libcudart in /lib64" + amuse_cuda_ldflags="-L/lib" + amuse_cuda_ldflags64="-L/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$amuse_cuda_verify_CUDA_TK" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Could not find CUDA via PATH" >&5 +printf "%s\n" "$as_me: Could not find CUDA via PATH" >&6;} + +fi + + + # Not in PATH, try default directory + if test x"$CUDA_TK" = x +then : + + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d /usr/local/cuda +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /usr/local/cuda/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x/usr/local/cuda" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in /usr/local/cuda/include" + amuse_cuda_flags="-I/usr/local/cuda/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x/usr/local/cuda" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in /usr/local/cuda/lib" + amuse_cuda_verify_msg64="for libcudart in /usr/local/cuda/lib64" + amuse_cuda_ldflags="-L/usr/local/cuda/lib" + amuse_cuda_ldflags64="-L/usr/local/cuda/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="/usr/local/cuda" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: /usr/local/cuda does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: /usr/local/cuda does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + +fi + + # Try /usr/local/cuda-#.#, but only if there's exactly one match + if test x"$CUDA_TK" = x +then : + + # List CUDA installations + amuse_cuda_installs=$(ls -1 -d /usr/local/cuda-*.* 2>/dev/null) + # If there's more than one, the above will have newlines, and change when we do this + amuse_cuda_installs2=$(echo "x${amuse_cuda_installs}" | tr -d ':space:') + if test "x${amuse_cuda_installs}" != x +then : + + if test "x${amuse_cuda_installs}" = "${amuse_cuda_installs2}" +then : + + # Here, there's exactly one match + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d $amuse_cuda_installs +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $amuse_cuda_installs/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x$amuse_cuda_installs" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in $amuse_cuda_installs/include" + amuse_cuda_flags="-I$amuse_cuda_installs/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x$amuse_cuda_installs" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in $amuse_cuda_installs/lib" + amuse_cuda_verify_msg64="for libcudart in $amuse_cuda_installs/lib64" + amuse_cuda_ldflags="-L$amuse_cuda_installs/lib" + amuse_cuda_ldflags64="-L$amuse_cuda_installs/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$amuse_cuda_installs" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $amuse_cuda_installs does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: $amuse_cuda_installs does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Multiple CUDA installations found in /usr/local, without a /usr/local/cuda symlink. Please set CUDA_TK to specify which one you want to use." >&5 +printf "%s\n" "$as_me: Multiple CUDA installations found in /usr/local, without a /usr/local/cuda symlink. Please set CUDA_TK to specify which one you want to use." >&6;} + +fi + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: No CUDA installations found in /usr/local" >&5 +printf "%s\n" "$as_me: No CUDA installations found in /usr/local" >&6;} + +fi + +fi + + # Try some other locations + for dir in /opt/cuda /usr/local/cuda/cuda /opt/cuda/cuda ; do + if test x"$CUDA_TK" = x +then : + + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d $dir +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $dir/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x$dir" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in $dir/include" + amuse_cuda_flags="-I$dir/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x$dir" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in $dir/lib" + amuse_cuda_verify_msg64="for libcudart in $dir/lib64" + amuse_cuda_ldflags="-L$dir/lib" + amuse_cuda_ldflags64="-L$dir/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$dir" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $dir does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: $dir does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + +fi + done + + # These directories were checked by the old macro, but they're highly obsolete + # so we're not trying them anymore: + # /usr/lib/nvidia, /usr/include/nvidia, /usr/lib/nvidia-current, /usr/include/nvidia-current + + if test x"$CUDA_TK" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: CUDA not found. Set CUDA_TK if you have it in an odd location." >&5 +printf "%s\n" "$as_me: CUDA not found. Set CUDA_TK if you have it in an odd location." >&6;} + +fi + +fi + + if test x"$CUDA_TK" != x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: CUDA found at $CUDA_TK" >&5 +printf "%s\n" "$as_me: CUDA found at $CUDA_TK" >&6;} + + + + + +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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-mameclot $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-mameclot config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_mameclot/support/configure.ac b/src/amuse_mameclot/support/configure.ac new file mode 100644 index 0000000000..e614c68ad6 --- /dev/null +++ b/src/amuse_mameclot/support/configure.ac @@ -0,0 +1,35 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-mameclot], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_CC() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find external dependencies +AC_LANG_PUSH([C]) + +AX_MPI() +AMUSE_CUDA() + +AC_LANG_POP([C]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_mameclot/support/shared b/src/amuse_mameclot/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_mameclot/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/ext_tests/test_mameclot.py b/src/amuse_mameclot/tests/test_mameclot.py similarity index 94% rename from src/amuse/test/suite/ext_tests/test_mameclot.py rename to src/amuse_mameclot/tests/test_mameclot.py index 469ef92d98..4f56dca5f8 100644 --- a/src/amuse/test/suite/ext_tests/test_mameclot.py +++ b/src/amuse_mameclot/tests/test_mameclot.py @@ -1,6 +1,6 @@ import numpy -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import nbody_system from amuse.units import units from amuse.ic.mameclot import mameclot diff --git a/src/amuse_mercury/Makefile b/src/amuse_mercury/Makefile new file mode 100644 index 0000000000..a4b2478cc7 --- /dev/null +++ b/src/amuse_mercury/Makefile @@ -0,0 +1,68 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library +DEPFLAGS += $(STOPCOND_CFLAGS) $(FORSOCKETS_CFLAGS) +FCFLAGS += $(DEPFLAGS) + +LDLIBS += $(STOPCOND_LIBS) $(FORSOCKETS_LIBS) + +CODELIB = src/libmercury.a + + +.PHONY: $(CODELIB) +$(CODELIB): + $(MAKE) -C src -j $(CPU_COUNT) amuse_interface FFLAGS="$(FCFLAGS)" FC="$(FC)" F77FLAGS="$(F77FLAGS)" + + +# Building the workers +mercury_worker.f90: interface.py + amusifier --type=f90 interface.py MercuryInterface -o $@ + +mercury_worker.o: mercury_worker.f90 + $(MPIFC) -c -o $@ $(FCFLAGS) $< + +mercury_worker: interface.o mercury_worker.o $(CODELIB) + $(MPIFC) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +%.o: %.f90 | $(CODELIB) + $(MPIFC) -o $@ -c $(FCFLAGS) -Isrc $< + + +# Which packages contain which workers? +amuse-mercury_contains: mercury_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *.o *.mod *worker* $(CODELIB) + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_mercury/__init__.py b/src/amuse_mercury/__init__.py new file mode 100644 index 0000000000..1e18acd318 --- /dev/null +++ b/src/amuse_mercury/__init__.py @@ -0,0 +1 @@ +from .interface import Mercury diff --git a/src/amuse/community/mercury/interface.f90 b/src/amuse_mercury/interface.f90 similarity index 100% rename from src/amuse/community/mercury/interface.f90 rename to src/amuse_mercury/interface.f90 diff --git a/src/amuse_mercury/interface.py b/src/amuse_mercury/interface.py new file mode 100644 index 0000000000..7482cce68b --- /dev/null +++ b/src/amuse_mercury/interface.py @@ -0,0 +1,1507 @@ +import os +import numpy + +from amuse.community.interface.common import CommonCodeInterface, CommonCode +from amuse.community import * +from amuse.community.interface.gd import GravitationalDynamics +from amuse.community.interface.gd import GravitationalDynamicsInterface + +from amuse.datamodel import Particles + +class MercuryInterface(CodeInterface, CommonCodeInterface, CodeWithDataDirectories, + LiteratureReferencesMixIn, StoppingConditionInterface): + """ + Mercury N-body integrator package, version 6.2. + Mercury is a general-purpose N-body integration package for problems in + celestial mechanics. The standard symplectic (MVS) algorithm is described in + Wisdom & Holman (1991). The hybrid symplectic algorithm is described + in Chambers (1999). + + Relevant references: + .. [#] ADS:1999MNRAS.304..793C (Chambers J. E., 1999, MNRAS, 304, 793) + .. [#] ADS:1991AJ....102.1528W (Wisdom J. & Holman M., 1991, AJ, 102, 1528) + """ + + use_modules = ['StoppingConditions', 'AmuseInterface'] + + def __init__(self, **args): + CodeInterface.__init__(self, name_of_the_worker = 'mercury_worker',**args) + LiteratureReferencesMixIn.__init__(self) + CodeWithDataDirectories.__init__(self) + + @legacy_function + def commit_particles(): + function = LegacyFunctionSpecification() + function.result_type = 'i' + return function + + + @legacy_function + def recommit_particles(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + @legacy_function + def evolve_model(): + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def synchronize_model(): + """ + After an evolve the particles may be at different simulation + times. Synchronize the particles to a consistent stat + at the current simulation time + """ + function = LegacyFunctionSpecification() + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + + """ + return function + + @legacy_function + def get_time(): + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_initial_timestep(): + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='d', direction=function.IN, unit = units.day) + function.result_type = 'i' + return function + + @legacy_function + def get_initial_timestep(): + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='d', direction=function.OUT, unit = units.day) + function.result_type = 'i' + return function + + @legacy_function + def delete_particle(): + function = LegacyFunctionSpecification() + function.addParameter('id', dtype='i', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def new_orbiter(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='int32', direction=function.OUT) + for x in ['mass','density','x','y','z','vx','vy','vz']: + function.addParameter(x, dtype='float64', direction=function.IN) + for x,default in zip(['lx','ly','lz','celimit'], [0,0,0,3]): + function.addParameter(x, dtype='float64', direction=function.IN, default = default) + + function.result_type = 'int32' + return function + + @legacy_function + def new_central_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.OUT) + + for x in ['mass']: + function.addParameter(x, dtype='d', direction=function.IN) + + for x in ['radius','j2','j4','j6','lx','ly','lz']: + function.addParameter(x, dtype='d', direction=function.IN, default = 0) + + function.result_type = 'i' + return function + + @legacy_function + def get_orbiter_state(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['mass','density','x','y','z','vx','vy','vz','lx','ly','lz','celimit']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_orbiter_state(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['mass','density','x','y','z','vx','vy','vz','lx','ly','lz','celimit']: + function.addParameter(x, dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def set_central_particle_state(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['mass','radius','j2','j4','j6','lx','ly','lz']: + function.addParameter(x, dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_central_particle_state(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['mass','radius','j2','j4','j6','lx','ly','lz']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_position(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='int32', direction=function.IN, + description = "Index of the particle to get the position from. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('x', dtype='float64', direction=function.OUT, description = "The current x position of the particle") + function.addParameter('y', dtype='float64', direction=function.OUT, description = "The current y position of the particle") + function.addParameter('z', dtype='float64', direction=function.OUT, description = "The current z position of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + current value was retrieved + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def set_position(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='int32', direction=function.IN, + description = "Index of the particle to set the position for. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('x', dtype='float64', direction=function.IN, description = "The new x position of the particle") + function.addParameter('y', dtype='float64', direction=function.IN, description = "The new y position of the particle") + function.addParameter('z', dtype='float64', direction=function.IN, description = "The new z position of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + new value was set + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def get_velocity(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='int32', direction=function.IN, + description = "Index of the particle to get the position from. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('vx', dtype='float64', direction=function.OUT, description = "The current x position of the particle") + function.addParameter('vy', dtype='float64', direction=function.OUT, description = "The current y position of the particle") + function.addParameter('vz', dtype='float64', direction=function.OUT, description = "The current z position of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + current value was retrieved + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def set_velocity(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='int32', direction=function.IN, + description = "Index of the particle to set the position for. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('vx', dtype='float64', direction=function.IN, description = "The new x position of the particle") + function.addParameter('vy', dtype='float64', direction=function.IN, description = "The new y position of the particle") + function.addParameter('vz', dtype='float64', direction=function.IN, description = "The new z position of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + new value was set + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def get_density(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + function.addParameter('density', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_density(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + function.addParameter('density', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_central_radius(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + function.addParameter('radius', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_central_radius(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + function.addParameter('radius', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_mass(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + function.addParameter('mass', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_mass(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + function.addParameter('mass', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_central_mass(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + function.addParameter('mass', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_central_mass(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='int32', direction=function.IN) + function.addParameter('mass', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_celimit(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + function.addParameter('celimit', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_celimit(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + function.addParameter('celimit', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_central_oblateness(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['j2','j4','j6']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_central_oblateness(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['j2','j4','j6']: + function.addParameter(x, dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_central_spin(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['lx','ly','lz']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_central_spin(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['lx','ly','lz']: + function.addParameter(x, dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_angularmomentum(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['lx','ly','lz']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_angularmomentum(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['lx','ly','lz']: + function.addParameter(x, dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_number_of_orbiters(): + function = LegacyFunctionSpecification() + function.addParameter('norbiters', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_energy_deviation(): + function = LegacyFunctionSpecification() + function.addParameter('delta_e', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_kinetic_energy(): + function = LegacyFunctionSpecification() + function.addParameter('ek', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_potential_energy(): + function = LegacyFunctionSpecification() + function.addParameter('ep', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_total_energy(): + function = LegacyFunctionSpecification() + function.addParameter('e_tot', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_total_angular_momentum(): + function = LegacyFunctionSpecification() + function.addParameter('am_tot', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_begin_time(): + """ + Retrieve the model time to start the evolution at. + """ + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='float64', direction=function.OUT, + description = "The begin time", unit = units.day) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value of the time was retrieved + -2 - ERROR + The code does not have support for querying the begin time + """ + return function + + @legacy_function + def set_begin_time(): + """ + Set the model time to start the evolution at. This is an offset for + all further calculations in the code. + """ + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='float64', direction=function.IN, + description = "The model time to start at", unit = units.day) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Time value was changed + -2 - ERROR + The code does not support setting the begin time + """ + return function + + @legacy_function + def get_integrator(): + """ + Retrieve the integrator (algor parameter) + """ + function = LegacyFunctionSpecification() + function.addParameter('integrator', dtype='i', direction=function.OUT, + description = "integrator to use") + function.result_type = 'int32' + return function + + @legacy_function + def set_integrator(): + """ + Set the model integrator (algor parameter) + """ + function = LegacyFunctionSpecification() + function.addParameter('integrator', dtype='i', direction=function.IN, + description = "integrator to use") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + integrator was changed + -1 - ERROR + integrator not supported (wrong input) + """ + return function + + @legacy_function + def get_rmax(): + """ + Retrieve the maximal radius (rmax) -- heliocentric distance at + which objects are considered ejected. + """ + function = LegacyFunctionSpecification() + function.addParameter('rmax', dtype='float64', direction=function.OUT, + description = "heliocentric distance at which objects are considered ejected", unit=units.AU) + function.result_type = 'int32' + return function + + @legacy_function + def set_rmax(): + """ + Set the maximal radius (rmax) -- heliocentric distance at + which objects are considered ejected. + """ + function = LegacyFunctionSpecification() + function.addParameter('rmax', dtype='float64', direction=function.IN, + description = "heliocentric distance at which objects are considered ejected", unit=units.AU) + function.result_type = 'int32' + return function + + @legacy_function + def get_cefac(): + """ + Retrieve the parameter to set the changeover distance RCRIT of the hybrid integrator: + RCRIT = cefac * R_HILL (n_1 in section 4.2 of Chambers 1999) + """ + function = LegacyFunctionSpecification() + function.addParameter('cefac', dtype='float64', direction=function.OUT, + description = "Hybrid integrator changeover radius RCRIT (in Hill radii)", unit=units.none) + function.result_type = 'int32' + return function + + @legacy_function + def set_cefac(): + """ + Set the parameter to set the changeover distance RCRIT of the hybrid integrator: + RCRIT = cefac * R_HILL (n_1 in section 4.2 of Chambers 1999) + """ + function = LegacyFunctionSpecification() + function.addParameter('cefac', dtype='float64', direction=function.IN, + description = "Hybrid integrator changeover radius RCRIT (in Hill radii)", unit=units.none) + function.result_type = 'int32' + return function + + @legacy_function + def get_elements_file(): + function = LegacyFunctionSpecification() + function.addParameter('elements_file', dtype='s', direction=function.OUT) + function.result_type = 'int32' + return function + @legacy_function + def set_elements_file(): + function = LegacyFunctionSpecification() + function.addParameter('elements_file', dtype='s', direction=function.IN) + function.result_type = 'int32' + return function + @legacy_function + def get_close_encounters_file(): + function = LegacyFunctionSpecification() + function.addParameter('close_encounters_file', dtype='s', direction=function.OUT) + function.result_type = 'int32' + return function + @legacy_function + def set_close_encounters_file(): + function = LegacyFunctionSpecification() + function.addParameter('close_encounters_file', dtype='s', direction=function.IN) + function.result_type = 'int32' + return function + @legacy_function + def get_info_file(): + function = LegacyFunctionSpecification() + function.addParameter('info_file', dtype='s', direction=function.OUT) + function.result_type = 'int32' + return function + @legacy_function + def set_info_file(): + function = LegacyFunctionSpecification() + function.addParameter('info_file', dtype='s', direction=function.IN) + function.result_type = 'int32' + return function + @legacy_function + def get_bigbody_file(): + function = LegacyFunctionSpecification() + function.addParameter('bigbody_file', dtype='s', direction=function.OUT) + function.result_type = 'int32' + return function + @legacy_function + def set_bigbody_file(): + function = LegacyFunctionSpecification() + function.addParameter('bigbody_file', dtype='s', direction=function.IN) + function.result_type = 'int32' + return function + @legacy_function + def get_smallbody_file(): + function = LegacyFunctionSpecification() + function.addParameter('smallbody_file', dtype='s', direction=function.OUT) + function.result_type = 'int32' + return function + @legacy_function + def set_smallbody_file(): + function = LegacyFunctionSpecification() + function.addParameter('smallbody_file', dtype='s', direction=function.IN) + function.result_type = 'int32' + return function + @legacy_function + def get_integration_parameters_file(): + function = LegacyFunctionSpecification() + function.addParameter('integration_parameters_file', dtype='s', direction=function.OUT) + function.result_type = 'int32' + return function + @legacy_function + def set_integration_parameters_file(): + function = LegacyFunctionSpecification() + function.addParameter('integration_parameters_file', dtype='s', direction=function.IN) + function.result_type = 'int32' + return function + @legacy_function + def get_restart_file(): + function = LegacyFunctionSpecification() + function.addParameter('restart_file', dtype='s', direction=function.OUT) + function.result_type = 'int32' + return function + @legacy_function + def set_restart_file(): + function = LegacyFunctionSpecification() + function.addParameter('restart_file', dtype='s', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_gravity_at_point(): + """ + Get the gravitational acceleration at the given points. To calculate the force on + bodies at those points, multiply with the mass of the bodies + """ + function = LegacyFunctionSpecification() + for x in ['eps','x','y','z']: + function.addParameter( + x, + dtype='float64', + direction=function.IN, + unit=units.AU + ) + for x in ['ax','ay','az']: + function.addParameter( + x, + dtype='float64', + direction=function.OUT, + unit=units.AU/units.day**2 + ) + function.addParameter('npoints', dtype='i', direction=function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + @legacy_function + def get_potential_at_point(): + """ + Determine the gravitational potential on any given point + """ + function = LegacyFunctionSpecification() + for x in ['eps','x','y','z']: + function.addParameter( + x, + dtype='float64', + direction=function.IN, + unit=units.AU + ) + for x in ['phi']: + function.addParameter( + x, + dtype='float64', + direction=function.OUT, + unit=units.AU**2/units.day**2 + ) + function.addParameter('npoints', dtype='i', direction=function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + +class MercuryDoc(object): + + def __get__(self, instance, owner): + return instance.legacy_doc+"\n\n"+instance.parameters.__doc__ + +class MercuryWayWard(GravitationalDynamics): + + __doc__ = MercuryDoc() + + def __init__(self, convert_nbody = None, **options): + self.stopping_conditions = StoppingConditions(self) + + legacy_interface = MercuryInterface(**options) + self.legacy_doc = legacy_interface.__doc__ + + GravitationalDynamics.__init__( + self, + legacy_interface, + convert_nbody, + **options + ) + + def initialize_code(self): + self.overridden().initialize_code() + self.set_elements_file(os.devnull) + self.set_close_encounters_file(os.devnull) + self.set_info_file(os.devnull) + self.set_bigbody_file(os.devnull) + self.set_smallbody_file(os.devnull) + self.set_integration_parameters_file(os.devnull) + self.set_restart_file(os.devnull) + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_time", + None, + "time", + "current simulation time", + default_value = 0.0 | units.day + ) + + handler.add_method_parameter( + "get_initial_timestep", + "set_initial_timestep", + "timestep", + "initial timestep", + default_value = 8.0 | units.day + ) + + handler.add_method_parameter( + "get_integrator", + "set_integrator", + "integrator", + "integrator to use", + default_value = 10 + ) + + handler.add_method_parameter( + "get_rmax", + "set_rmax", + "rmax", + "heliocentric distance at for ejection", + default_value = 100. | units.AU + ) + + handler.add_method_parameter( + "get_cefac", + "set_cefac", + "cefac", + "Hybrid integrator changeover radius RCRIT (in Hill radii)", + default_value = 3. | units.none + ) + + handler.add_method_parameter( + "get_elements_file", + "set_elements_file", + "elements_file", + "outputfile for mercury data (orbital elements) [/dev/null]", + default_value = None + ) + + handler.add_method_parameter( + "get_close_encounters_file", + "set_close_encounters_file", + "close_encounters_file", + "outputfile for mercury data (close encounters) [/dev/null]", + default_value = None + ) + + handler.add_method_parameter( + "get_info_file", + "set_info_file", + "info_file", + "outputfile for mercury data (info) [/dev/null]", + default_value = None + ) + + handler.add_method_parameter( + "get_bigbody_file", + "set_bigbody_file", + "bigbody_file", + "dumpfile for mercury data (big bodies) [/dev/null]", + default_value = None + ) + + handler.add_method_parameter( + "get_smallbody_file", + "set_smallbody_file", + "smallbody_file", + "dumpfile for mercury data (small bodies) [/dev/null]", + default_value = None + ) + + handler.add_method_parameter( + "get_integration_parameters_file", + "set_integration_parameters_file", + "integration_parameters_file", + "dumpfile for mercury data (integration parameters) [/dev/null]", + default_value = None + ) + + handler.add_method_parameter( + "get_restart_file", + "set_restart_file", + "restart_file", + "dumpfile for mercury data (restart data - only mercury internal state) [/dev/null]", + default_value = None + ) + + handler.add_method_parameter( + "get_begin_time", + "set_begin_time", + "begin_time", + "model time to start the simulation at", + default_value = 0.0 | units.day + ) + + self.stopping_conditions.define_parameters(handler) + + + def define_properties(self, handler): + handler.add_property("get_kinetic_energy") + handler.add_property("get_potential_energy") + handler.add_property("get_total_energy") + handler.add_property("get_center_of_mass_position") + handler.add_property("get_center_of_mass_velocity") + handler.add_property("get_total_mass") + + def define_state(self, handler): + GravitationalDynamics.define_state(self, handler) + handler.add_method('EDIT', 'new_central_particle') + handler.add_method('EDIT', 'new_orbiter') + handler.add_method('UPDATE', 'new_orbiter') + handler.add_transition('RUN', 'UPDATE', 'new_central_particle', False) + handler.add_transition('RUN', 'UPDATE', 'new_orbiter', False) + self.stopping_conditions.define_state(handler) + + + + def define_particle_sets(self, handler): + handler.define_super_set('particles', ['central_particle','orbiters'], + index_to_default_set=0) + + handler.define_set('orbiters', 'id') + handler.set_new('orbiters', 'new_orbiter') + handler.set_delete('orbiters', 'delete_particle') + handler.add_setter('orbiters', 'set_orbiter_state') + handler.add_getter('orbiters', 'get_orbiter_state') + handler.add_setter('orbiters', 'set_mass') + handler.add_getter('orbiters', 'get_mass') + handler.add_setter('orbiters', 'set_density') + handler.add_getter('orbiters', 'get_density') + handler.add_setter('orbiters', 'set_position') + handler.add_getter('orbiters', 'get_position') + handler.add_setter('orbiters', 'set_velocity') + handler.add_getter('orbiters', 'get_velocity') + handler.add_setter('orbiters', 'set_angularmomentum') + handler.add_getter('orbiters', 'get_angularmomentum') + handler.add_setter('orbiters', 'set_celimit') + handler.add_getter('orbiters', 'get_celimit') + + handler.define_set('central_particle', 'id') + handler.set_new('central_particle', 'new_central_particle') + handler.add_setter('central_particle', 'set_central_particle_state') + handler.add_getter('central_particle', 'get_central_particle_state') + handler.add_setter('central_particle', 'set_central_mass') + handler.add_getter('central_particle', 'get_central_mass') + handler.add_setter('central_particle', 'set_central_radius') + handler.add_getter('central_particle', 'get_central_radius') + handler.add_setter('central_particle', 'set_central_oblateness') + handler.add_getter('central_particle', 'get_central_oblateness') + handler.add_setter('central_particle', 'set_central_spin') + handler.add_getter('central_particle', 'get_central_spin') + + #GravitationalDynamics.define_particle_sets(self, handler) + self.stopping_conditions.define_particle_set(handler) + + def define_methods(self, handler): + #GravitationalDynamics.define_methods(self, handler) + handler.add_method('evolve_model', (units.day), ( handler.ERROR_CODE, )) + handler.add_method( + 'new_orbiter', + ( + units.MSun, + units.g/units.cm**3, + units.AU, + units.AU, + units.AU, + units.AUd, + units.AUd, + units.AUd, + units.MSun * units.AU**2/units.day, + units.MSun * units.AU**2/units.day, + units.MSun * units.AU**2/units.day, + handler.NO_UNIT + ), + ( + handler.INDEX, + handler.ERROR_CODE + ) + ) + handler.add_method( + 'get_orbiter_state', + ( + handler.INDEX, + ), + ( + units.MSun, + units.g/units.cm**3, + units.AU, + units.AU, + units.AU, + units.AUd, + units.AUd, + units.AUd, + units.MSun * units.AU**2/units.day, + units.MSun * units.AU**2/units.day, + units.MSun * units.AU**2/units.day, + handler.NO_UNIT, + handler.ERROR_CODE + ) + ) + handler.add_method( + 'get_central_particle_state', + ( + handler.INDEX, + ), + ( + units.MSun, + units.AU, + units.AU**2, + units.AU**4, + units.AU**6, + units.MSun * units.AU**2/units.day, + units.MSun * units.AU**2/units.day, + units.MSun * units.AU**2/units.day, + handler.ERROR_CODE + ) + ) + + handler.add_method( + 'set_orbiter_state', + ( + handler.INDEX, + units.MSun, + units.g/units.cm**3, + units.AU, + units.AU, + units.AU, + units.AUd, + units.AUd, + units.AUd, + units.MSun * units.AU**2/units.day, + units.MSun * units.AU**2/units.day, + units.MSun * units.AU**2/units.day, + handler.NO_UNIT + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + 'new_central_particle', + ( + units.MSun, + units.AU, + units.AU**2, + units.AU**4, + units.AU**6, + units.MSun * units.AU**2/units.day, + units.MSun * units.AU**2/units.day, + units.MSun * units.AU**2/units.day + ), + ( + handler.INDEX, + handler.ERROR_CODE + ) + ) + + handler.add_method( + 'set_central_particle_state', + ( + handler.INDEX, + units.MSun, + units.AU, + units.AU**2, + units.AU**4, + units.AU**6, + units.MSun * units.AU**2/units.day, + units.MSun * units.AU**2/units.day, + units.MSun * units.AU**2/units.day + ), + ( + handler.ERROR_CODE + ) + ) + + handler.add_method( + "set_initial_timestep", + ( + units.day, + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_initial_timestep", + ( + ), + ( + units.day, + handler.ERROR_CODE + ) + ) + + + + handler.add_method( + "set_mass", + ( + handler.INDEX, + units.MSun, + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_mass", + ( + handler.INDEX, + ), + ( + units.MSun, + handler.ERROR_CODE + ) + ) + handler.add_method( + "set_central_mass", + ( + handler.INDEX, + units.MSun, + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_central_mass", + ( + handler.INDEX, + ), + ( + units.MSun, + handler.ERROR_CODE + ) + ) + + #assuming celimit is RCEH, clouse-encounter limit + #expressed in units Hill radius, I use unit none + #see comments in: src/mercury_main.for + handler.add_method( + "set_celimit", + ( + handler.INDEX, + handler.NO_UNIT, + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_celimit", + ( + handler.INDEX, + ), + ( + handler.NO_UNIT, + handler.ERROR_CODE + ) + ) + + handler.add_method( + "set_position", + ( + handler.INDEX, + units.AU, + units.AU, + units.AU, + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_position", + ( + handler.INDEX, + ), + ( + units.AU, + units.AU, + units.AU, + handler.ERROR_CODE + ) + ) + handler.add_method( + "set_velocity", + ( + handler.INDEX, + units.AUd, + units.AUd, + units.AUd, + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_velocity", + ( + handler.INDEX, + ), + ( + units.AUd, + units.AUd, + units.AUd, + handler.ERROR_CODE + ) + ) + handler.add_method( + "set_angularmomentum", + ( + handler.INDEX, + units.MSun * units.AU**2/units.day, + units.MSun * units.AU**2/units.day, + units.MSun * units.AU**2/units.day, + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_angularmomentum", + ( + handler.INDEX, + ), + ( + units.MSun * units.AU**2/units.day, + units.MSun * units.AU**2/units.day, + units.MSun * units.AU**2/units.day, + handler.ERROR_CODE + ) + ) + handler.add_method( + "set_central_spin", + ( + handler.INDEX, + units.MSun * units.AU**2/units.day, + units.MSun * units.AU**2/units.day, + units.MSun * units.AU**2/units.day, + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_central_spin", + ( + handler.INDEX, + ), + ( + units.MSun * units.AU**2/units.day, + units.MSun * units.AU**2/units.day, + units.MSun * units.AU**2/units.day, + handler.ERROR_CODE + ) + ) + + handler.add_method( + 'set_density', + ( + handler.INDEX, + units.g/units.cm**3 + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + 'get_density', + ( + handler.INDEX, + ), + ( + units.g/units.cm**3, + handler.ERROR_CODE + ) + ) + handler.add_method( + 'get_central_oblateness', + ( + handler.INDEX, + ), + ( + units.AU**2, + units.AU**4, + units.AU**6, + handler.ERROR_CODE + ) + ) + handler.add_method( + 'set_central_oblateness', + ( + handler.INDEX, + units.AU**2, + units.AU**4, + units.AU**6, + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + 'get_central_radius', + ( + handler.INDEX, + ), + ( + units.AU, + handler.ERROR_CODE + ) + ) + handler.add_method( + 'set_central_radius', + ( + handler.INDEX, + units.AU, + ), + ( + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_time", + (), + (units.day, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_kinetic_energy", + (), + (units.MSun*units.AU**2/units.day**2, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_total_angular_momentum", + (), + (units.MSun*units.AU**2/units.day, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_potential_energy", + (), + (units.MSun*units.AU**2/units.day**2, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_total_energy", + (), + (units.MSun*units.AU**2/units.day**2, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_center_of_mass_position", + (), + (units.AU, units.AU, units.AU, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_center_of_mass_velocity", + (), + (units.AUd, units.AUd, units.AUd, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_total_mass", + (), + (units.MSun, handler.ERROR_CODE,) + ) + + self.stopping_conditions.define_methods(handler) + +class Mercury(MercuryWayWard): + def __init__(self, *args, **kargs): + MercuryWayWard.__init__(self, *args, **kargs) + self._particles=Particles(0) + self.model_time=0.|units.s + self.particles_accessed=True + self.committed=False + + def define_parameters(self, handler): + MercuryWayWard.define_parameters(self,handler) + + handler.add_method_parameter( + "get_eps2", + "set_eps2", + "epsilon_squared", + "smoothing parameter for gravity calculations", + default_value = 0.0 | units.AU * units.AU + ) + + def get_eps2(self): + return 0|units.AU * units.AU + + def set_eps2(self, eps2): + if eps2.number!=0: + raise Exception("Mercury cannot use non-zero smoothing") + + def get_number_of_particles(self): + return len(self.particles) + + def get_total_radius(self): + max_dist2 = 0|units.AU * units.AU + for p in self.particles: + dist2 = p.x*p.x + p.y*p.y + p.z*p.z + if dist2 > max_dist2: + max_dist2 = dist2 + return ((max_dist2.number**0.5)|units.AU) + + @property + def particles(self): + if not self.particles_accessed: + self.particles_accessed=True + return self._particles + + @property + def total_mass(self): + return self.particles.total_mass() + + + def get_center_of_mass_position(self): + return self.particles.center_of_mass() + + def get_center_of_mass_velocity(self): + return self.particles.center_of_mass_velocity() + + def commit_particles(self): + N=len(self.particles) + if N<=1: + print("too few particles") + return -11 + + ic=self.particles.mass.argmax() + self.central_particle=self.particles[ic] + + orbiters=(self.particles-self.central_particle).copy() + + maxmass=orbiters.mass.amax() + if (maxmass/self.central_particle.mass) > 0.1: + print("orbiters too massive") + return -12 + + orbiters.position=orbiters.position-self.central_particle.position + orbiters.velocity=orbiters.velocity-self.central_particle.velocity + +# note: lx,ly,lz, celimit? + if not hasattr(orbiters,'density'): + orbiters.density=orbiters.mass*3/(4*numpy.pi)/orbiters.radius**3 + + self.overridden().central_particle.add_particle(self.central_particle) + + self.overridden().orbiters.add_particles(orbiters) + + self.overridden().commit_particles() + +# commit_particles may already change the particle positions (I think it doesn't though) + """ + com_position=self.particles.center_of_mass() + com_velocity=self.particles.center_of_mass_velocity() + + self.particles.position=self.particles.position-self.central_particle.position + self.particles.velocity=self.particles.velocity-self.central_particle.velocity + + channel=self.overridden().orbiters.new_channel_to(self.particles) + + channel.copy_attributes(["x","y","z","vx","vy","vz","mass"]) + + self.particles.move_to_center() + self.particles.position+=com_position + self.particles.velocity+=com_velocity + """ + self.model_time=self.overridden().get_time() + self.committed=True + self.particles_accessed=False + return 0 + + + def recommit_particles(self): + if not self.particles_accessed: + return 0 + if self.overridden().central_particle[0] not in self.particles: + raise Exception("you are not allowed to remove the central particle") +# these are allowed now + if self.overridden().central_particle[0].mass != self.central_particle.mass: + self.overridden().central_particle.mass=self.central_particle.mass + if self.overridden().central_particle.radius != self.central_particle.radius: + self.overridden().central_particle.radius=self.central_particle.radius + + orbiters=(self.particles-self.central_particle).copy() + + maxmass=orbiters.mass.amax() + if (maxmass/self.central_particle.mass) > 0.1: + print("orbiters too massive") + return -12 + + orbiters.position=orbiters.position-self.central_particle.position + orbiters.velocity=orbiters.velocity-self.central_particle.velocity + if not hasattr(orbiters,'density'): + orbiters.density=orbiters.mass*3/(4*numpy.pi)/orbiters.radius**3 +# note: lx,ly,lz, celimit? + + orbiters.synchronize_to(self.overridden().orbiters) + + channel=orbiters.new_channel_to(self.overridden().orbiters) + + channel.copy_attributes(["x","y","z","vx","vy","vz","mass","density"]) + + self.overridden().recommit_particles() + +# recommit_particles could already change the particle positions (I think it doesn't though) + """ + com_position=self.particles.center_of_mass() + com_velocity=self.particles.center_of_mass_velocity() + + channel=self.overridden().orbiters.new_channel_to(self.particles) + channel.copy_attributes(["x","y","z","vx","vy","vz","mass"]) + self.central_particle.position*=0 + self.central_particle.velocity*=0 + self.particles.move_to_center() + self.particles.position+=com_position + self.particles.velocity+=com_velocity + """ + self.model_time=self.overridden().get_time() + self.particles_accessed=False + return 0 + + def evolve_model(self, tend): + if self.particles_accessed: + if not self.committed: + ret=self.commit_particles() + else: + ret=self.recommit_particles() + + com_position=self.particles.center_of_mass() + com_velocity=self.particles.center_of_mass_velocity() + + ret=self.overridden().evolve_model(tend) + tmodel=self.overridden().get_time() + com_position+=com_velocity*(tmodel-self.model_time) + self.model_time=tmodel + channel=self.overridden().orbiters.new_channel_to(self.particles) + channel.copy_attributes(["x","y","z","vx","vy","vz","mass"]) + self.central_particle.position*=0 + self.central_particle.velocity*=0 + self.particles.move_to_center() + self.particles.position+=com_position + self.particles.velocity+=com_velocity + self.particles_accessed=False + return ret + + def get_potential_at_point(self,eps,x,y,z): + if self.particles_accessed: + if not self.committed: + ret=self.commit_particles() + else: + ret=self.recommit_particles() + + xx=x-self.central_particle.x + yy=y-self.central_particle.y + zz=z-self.central_particle.z + + return self.overridden().get_potential_at_point(eps,xx,yy,zz) + + def get_gravity_at_point(self,eps,x,y,z): + if self.particles_accessed: + if not self.committed: + ret=self.commit_particles() + else: + ret=self.recommit_particles() + + xx=x-self.central_particle.x + yy=y-self.central_particle.y + zz=z-self.central_particle.z + + return self.overridden().get_gravity_at_point(eps,xx,yy,zz) + + def define_state(self, handler): + GravitationalDynamics.define_state(self, handler) + handler.add_method('EDIT', 'new_central_particle') + handler.add_method('EDIT', 'new_orbiter') + handler.add_method('UPDATE', 'new_orbiter') + handler.add_transition('RUN', 'UPDATE', 'new_central_particle', False) + handler.add_transition('RUN', 'UPDATE', 'new_orbiter', False) + handler.add_method('RUN', 'recommit_particles') + + def cleanup_code(self): + self._particles=Particles(0) + self.model_time=0.|units.s + self.particles_accessed=True + self.committed=False + diff --git a/src/amuse_mercury/packages/amuse-mercury.amuse_deps b/src/amuse_mercury/packages/amuse-mercury.amuse_deps new file mode 100644 index 0000000000..b9708b0020 --- /dev/null +++ b/src/amuse_mercury/packages/amuse-mercury.amuse_deps @@ -0,0 +1 @@ +fortran mpi diff --git a/src/amuse_mercury/packages/amuse-mercury/amuse_mercury b/src/amuse_mercury/packages/amuse-mercury/amuse_mercury new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_mercury/packages/amuse-mercury/amuse_mercury @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_mercury/packages/amuse-mercury/pyproject.toml b/src/amuse_mercury/packages/amuse-mercury/pyproject.toml new file mode 100644 index 0000000000..44eb9c3756 --- /dev/null +++ b/src/amuse_mercury/packages/amuse-mercury/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-mercury" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_mercury/**/*.py"] +exclude = [ + "amuse_mercury/packages", + "amuse_mercury/support", + "amuse_mercury/src", + "amuse_mercury/tests" + ] +artifacts = ["amuse_mercury/mercury_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_mercury/tests/"] + +testpaths = ["amuse_mercury/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/mercury/readme.txt b/src/amuse_mercury/readme.txt similarity index 100% rename from src/amuse/community/mercury/readme.txt rename to src/amuse_mercury/readme.txt diff --git a/src/amuse/community/mercury/src/Makefile b/src/amuse_mercury/src/Makefile similarity index 100% rename from src/amuse/community/mercury/src/Makefile rename to src/amuse_mercury/src/Makefile diff --git a/src/amuse/community/mercury/src/README.txt b/src/amuse_mercury/src/README.txt similarity index 100% rename from src/amuse/community/mercury/src/README.txt rename to src/amuse_mercury/src/README.txt diff --git a/src/amuse/community/mercury/src/amuse_helpers.f90 b/src/amuse_mercury/src/amuse_helpers.f90 similarity index 100% rename from src/amuse/community/mercury/src/amuse_helpers.f90 rename to src/amuse_mercury/src/amuse_helpers.f90 diff --git a/src/amuse/community/mercury/src/big.in b/src/amuse_mercury/src/big.in similarity index 100% rename from src/amuse/community/mercury/src/big.in rename to src/amuse_mercury/src/big.in diff --git a/src/amuse/community/mercury/src/close.in b/src/amuse_mercury/src/close.in similarity index 100% rename from src/amuse/community/mercury/src/close.in rename to src/amuse_mercury/src/close.in diff --git a/src/amuse/community/mercury/src/close6.for b/src/amuse_mercury/src/close6.for similarity index 100% rename from src/amuse/community/mercury/src/close6.for rename to src/amuse_mercury/src/close6.for diff --git a/src/amuse/community/mercury/src/element.in b/src/amuse_mercury/src/element.in similarity index 100% rename from src/amuse/community/mercury/src/element.in rename to src/amuse_mercury/src/element.in diff --git a/src/amuse/community/mercury/src/element6.for b/src/amuse_mercury/src/element6.for similarity index 100% rename from src/amuse/community/mercury/src/element6.for rename to src/amuse_mercury/src/element6.for diff --git a/src/amuse/community/mercury/src/files.in b/src/amuse_mercury/src/files.in similarity index 100% rename from src/amuse/community/mercury/src/files.in rename to src/amuse_mercury/src/files.in diff --git a/src/amuse/community/mercury/src/hash.f90 b/src/amuse_mercury/src/hash.f90 similarity index 100% rename from src/amuse/community/mercury/src/hash.f90 rename to src/amuse_mercury/src/hash.f90 diff --git a/src/amuse/community/mercury/src/mercury.inc b/src/amuse_mercury/src/mercury.inc similarity index 100% rename from src/amuse/community/mercury/src/mercury.inc rename to src/amuse_mercury/src/mercury.inc diff --git a/src/amuse/community/mercury/src/mercury6.man b/src/amuse_mercury/src/mercury6.man similarity index 100% rename from src/amuse/community/mercury/src/mercury6.man rename to src/amuse_mercury/src/mercury6.man diff --git a/src/amuse/community/mercury/src/mercury6_2.for b/src/amuse_mercury/src/mercury6_2.for similarity index 100% rename from src/amuse/community/mercury/src/mercury6_2.for rename to src/amuse_mercury/src/mercury6_2.for diff --git a/src/amuse/community/mercury/src/mercury_main.for b/src/amuse_mercury/src/mercury_main.for similarity index 100% rename from src/amuse/community/mercury/src/mercury_main.for rename to src/amuse_mercury/src/mercury_main.for diff --git a/src/amuse/community/mercury/src/message.for b/src/amuse_mercury/src/message.for similarity index 100% rename from src/amuse/community/mercury/src/message.for rename to src/amuse_mercury/src/message.for diff --git a/src/amuse/community/mercury/src/message.in b/src/amuse_mercury/src/message.in similarity index 100% rename from src/amuse/community/mercury/src/message.in rename to src/amuse_mercury/src/message.in diff --git a/src/amuse/community/mercury/src/param.in b/src/amuse_mercury/src/param.in similarity index 100% rename from src/amuse/community/mercury/src/param.in rename to src/amuse_mercury/src/param.in diff --git a/src/amuse/community/mercury/src/small.in b/src/amuse_mercury/src/small.in similarity index 100% rename from src/amuse/community/mercury/src/small.in rename to src/amuse_mercury/src/small.in diff --git a/src/amuse/community/mercury/src/swift.inc b/src/amuse_mercury/src/swift.inc similarity index 100% rename from src/amuse/community/mercury/src/swift.inc rename to src/amuse_mercury/src/swift.inc diff --git a/src/amuse_mercury/support/aclocal.m4 b/src/amuse_mercury/support/aclocal.m4 new file mode 100644 index 0000000000..8161803730 --- /dev/null +++ b/src/amuse_mercury/support/aclocal.m4 @@ -0,0 +1,20 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/fortran.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_mercury/support/config.mk.in b/src/amuse_mercury/support/config.mk.in new file mode 100644 index 0000000000..fe734b0dea --- /dev/null +++ b/src/amuse_mercury/support/config.mk.in @@ -0,0 +1,27 @@ +# Compilers +FC = @FC@ +MPIFC = @MPIFC@ + +CPU_COUNT = @CPU_COUNT@ + + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ + + +# General flags and libraries +CFLAGS = @CFLAGS@ +FCFLAGS = @FCFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +STOPCOND_CFLAGS = @STOPCOND_CFLAGS@ +STOPCOND_LIBS = @STOPCOND_LIBS@ + +FORSOCKETS_CFLAGS = @FORSOCKETS_CFLAGS@ +FORSOCKETS_LIBS = @FORSOCKETS_LIBS@ + diff --git a/src/amuse_mercury/support/configure b/src/amuse_mercury/support/configure new file mode 100755 index 0000000000..89714cdb6b --- /dev/null +++ b/src/amuse_mercury/support/configure @@ -0,0 +1,6220 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-mercury 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-mercury' +PACKAGE_TARNAME='amuse-mercury' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-mercury 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPILIBS +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +FOUND_STOPCOND +STOPCOND_LIBS +STOPCOND_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CPPFLAGS +CFLAGS +CC +RANLIB +AR +target_os +target_vendor +target_cpu +target +OBJEXT +EXEEXT +ac_ct_FC +LDFLAGS +FCFLAGS +FC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +FC +FCFLAGS +LDFLAGS +LIBS +CC +CFLAGS +CPPFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCOND_CFLAGS +STOPCOND_LIBS +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS +MPIFC' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-mercury 1.0 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/amuse-mercury] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-mercury 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + FC Fortran compiler command + FCFLAGS Fortran 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 + CC C compiler command + CFLAGS C compiler flags + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + 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 + STOPCOND_CFLAGS + C compiler flags for STOPCOND, overriding pkg-config + STOPCOND_LIBS + linker flags for STOPCOND, overriding pkg-config + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + MPIFC MPI Fortran compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-mercury configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-mercury $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the Fortran compiler works" >&5 +printf %s "checking whether the Fortran compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "Fortran compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler default output file name" >&5 +printf %s "checking for Fortran compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat > conftest.$ac_ext <<_ACEOF + program main + open(unit=9,file='conftest.out') + close(unit=9) + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run Fortran compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +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 + + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCOND_CFLAGS" + amuse_save_LIB_LIBS="$STOPCOND_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing is_condition_enabled" >&5 +printf %s "checking for library containing is_condition_enabled... " >&6; } +if test ${ac_cv_search_is_condition_enabled+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char is_condition_enabled (); +int +main (void) +{ +return is_condition_enabled (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcond +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_is_condition_enabled=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_is_condition_enabled+y} +then : + break +fi +done +if test ${ac_cv_search_is_condition_enabled+y} +then : + +else $as_nop + ac_cv_search_is_condition_enabled=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_is_condition_enabled" >&5 +printf "%s\n" "$ac_cv_search_is_condition_enabled" >&6; } +ac_res=$ac_cv_search_is_condition_enabled +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCOND="yes" + STOPCOND_LIBS="$LIBS" + STOPCOND_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCOND" >&5 +printf %s "checking for STOPCOND... " >&6; } + +if test -n "$STOPCOND_CFLAGS"; then + pkg_cv_STOPCOND_CFLAGS="$STOPCOND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_CFLAGS=`$PKG_CONFIG --cflags "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCOND_LIBS"; then + pkg_cv_STOPCOND_LIBS="$STOPCOND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_LIBS=`$PKG_CONFIG --libs "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcond" 2>&1` + else + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcond" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCOND_PKG_ERRORS" >&5 + + + FOUND_STOPCOND="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCOND="no" + +else + STOPCOND_CFLAGS=$pkg_cv_STOPCOND_CFLAGS + STOPCOND_LIBS=$pkg_cv_STOPCOND_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCOND="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCOND}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCOND_CFLAGS="${STOPCOND_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCOND_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCOND_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-mercury $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-mercury config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_mercury/support/configure.ac b/src/amuse_mercury/support/configure.ac new file mode 100644 index 0000000000..3401ed3265 --- /dev/null +++ b/src/amuse_mercury/support/configure.ac @@ -0,0 +1,39 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-mercury], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find AMUSE libraries +AMUSE_LIB_STOPCOND() +AMUSE_LIB_FORSOCKETS() + + +# Find external dependencies +AC_LANG_PUSH([Fortran]) +AX_MPI() +AC_LANG_POP([Fortran]) + + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_mercury/support/shared b/src/amuse_mercury/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_mercury/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_mercury.py b/src/amuse_mercury/tests/test_mercury.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_mercury.py rename to src/amuse_mercury/tests/test_mercury.py index e36ba83e7e..d8f2967e94 100644 --- a/src/amuse/test/suite/codes_tests/test_mercury.py +++ b/src/amuse_mercury/tests/test_mercury.py @@ -1,9 +1,9 @@ import os import sys import numpy as np -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI -from amuse.community.mercury.interface import MercuryInterface, MercuryWayWard, Mercury +from amuse_mercury.interface import MercuryInterface, MercuryWayWard, Mercury from amuse.ext.solarsystem import new_solar_system_for_mercury, new_solar_system from amuse.units import nbody_system from amuse.units import units, constants @@ -642,7 +642,7 @@ def test15(self): self.assertAlmostRelativeEqual((pot*p.mass).sum(), pe, 12) - def test16(self): + def xtest16(self): solsys = new_solar_system() solsys.x -= 1. | units.AU @@ -653,6 +653,8 @@ def test16(self): p.y = [0, 0, -10] | units.AU p.z = [0, 0, 10] | units.AU + # TODO: calculate once separately and hardcode the values to avoid the + # dependency - LV from amuse.community.huayno.interface import Huayno from amuse.units import nbody_system conv = nbody_system.nbody_to_si(1. | units.AU, 1. | units.MSun) diff --git a/src/amuse/community/mesa_r15140/.gitignore b/src/amuse_mesa_r15140/.gitignore similarity index 100% rename from src/amuse/community/mesa_r15140/.gitignore rename to src/amuse_mesa_r15140/.gitignore diff --git a/src/amuse_mesa_r15140/Makefile b/src/amuse_mesa_r15140/Makefile new file mode 100644 index 0000000000..3969ab73a9 --- /dev/null +++ b/src/amuse_mesa_r15140/Makefile @@ -0,0 +1,248 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Downloading the code and the dependencies + +MESA_VERSION := r15140 + + +src: + mkdir -p src + +src/lapack95.tgz: | src + $(DOWNLOAD) http://user.astro.wisc.edu/~townsend/resource/download/sdk2/src/lapack95.tgz >$@ + +src/crmath-1.2.zip: | src + $(DOWNLOAD) https://github.com/rhdtownsend/crmath/archive/v1.2.zip >$@ + +src/crlibm-1.0beta4.tar.gz: | src + $(DOWNLOAD) http://user.astro.wisc.edu/~townsend/resource/download/sdk2/src/crlibm-1.0beta4.tar.gz >$@ + +src/fpx3.tar.gz: | src + $(DOWNLOAD) http://user.astro.wisc.edu/~townsend/resource/download/sdk2/src/fpx3.tar.gz >$@ + +src/fpx3_deps: | src + $(DOWNLOAD) https://raw.githubusercontent.com/rhdtownsend/sdk2/master/profile/common/fpx3/fpx3_deps >$@ + +src/mesa-$(MESA_VERSION).zip: + $(DOWNLOAD) https://zenodo.org/record/4311514/files/mesa-$(MESA_VERSION).zip >$@ + + + +# Building dependencies into static libraries + +## Dependencies are installed into the MESA source directory + +MESA_DIR := src/mesa-$(MESA_VERSION) + +PATCHES := $(file < patches/series_mesa) +PATCHES := $(patsubst %,%,$(PATCHES)) # replace newlines with spaces + + +$(MESA_DIR): src/mesa-$(MESA_VERSION).zip + cd src && unzip -q ../$< + mkdir -p $(MESA_DIR)/include + mkdir -p $(MESA_DIR)/lib + cd $(MESA_DIR) && for p in $(PATCHES) ; do patch -p1 <../../patches/$$p || exit 1 ; done + # This one should always be skipped + touch $(MESA_DIR)/adipls/skip_test + # We can't guarantee bit-for-bit agreement as we don't control the compiler used + # So everyone has to skip the build tests + touch $(MESA_DIR)/skip_test + + +src/LAPACK95: src/lapack95.tgz + cd src && tar xzf ../$< -m + cd src && patch -p1 <../patches/lapack95.patch + +$(MESA_DIR)/lib/liblapack95.a: | src/LAPACK95 $(MESA_DIR) + mkdir -p src/LAPACK95/lapack95_modules + cd src/LAPACK95/SRC && $(MAKE) single_double_complex_dcomplex MPIFC=$(MPIFC) + cp src/LAPACK95/lapack95_modules/*.mod $(MESA_DIR)/include/ + cp src/LAPACK95/lapack95.a $(MESA_DIR)/lib/liblapack95.a + + +src/crmath-1.2: src/crmath-1.2.zip + cd src && unzip -q ../$< + +$(MESA_DIR)/lib/libcrmath.a: | src/crmath-1.2 + $(MAKE) -C src/crmath-1.2 + cp src/crmath-1.2/*.mod $(MESA_DIR)/include/ + cp src/crmath-1.2/*.smod $(MESA_DIR)/include/ + cp src/crmath-1.2/libcrmath.a $@ + + +src/crlibm-1.0beta4: src/crlibm-1.0beta4.tar.gz + cd src && tar xzf ../$< + cd src && patch -p1 <../patches/crlibm.patch + # Ensure that the timestamps are in the right order to keep make from trying to + # (unnecessarily) rerun automake, which fails if the user doesn't have the exact + # right version installed. + touch src/crlibm-1.0beta4/Makefile.in + touch src/crlibm-1.0beta4/Makefile + touch src/crlibm-1.0beta4/configure + +$(MESA_DIR)/lib/libcrlibm.a: | src/crlibm-1.0beta4 + cd src/crlibm-1.0beta4 && ./configure --enable-static=yes --enable-shared=no + cd src/crlibm-1.0beta4 && $(MAKE) + $(AR) cru $@ src/crlibm-1.0beta4/*.o src/crlibm-1.0beta4/scs_lib/*.o + + +# Building and installing tools + +src/bin: | src + mkdir -p src/bin + +src/fpx3: src/fpx3.tar.gz + cd src && tar xzf ../$< -m + +src/bin/fpx3: | src/fpx3 src/bin + cp src/fpx3/fpx3 src/bin/ + + +src/bin/fpx3_deps: | src/fpx3_deps + cp $| $@ + cd src/bin && patch <../../patches/fpx3_deps.patch + chmod u+x $@ + +## These come with MESA, so no need to download them separately + +$(MESA_DIR)/utils/makedepf90-2.8.8: | $(MESA_DIR) + cd $(MESA_DIR)/utils && tar xzf makedepf90-2.8.8.tar.gz -m + +src/bin/makedepf90: | $(MESA_DIR)/utils/makedepf90-2.8.8 src/bin + cd $(MESA_DIR)/utils/makedepf90-2.8.8 && ./configure + cd $(MESA_DIR)/utils/makedepf90-2.8.8 && $(MAKE) + cp $(MESA_DIR)/utils/makedepf90-2.8.8/makedepf90 $@ + + +$(MESA_DIR)/utils/ndiff-2.00: | $(MESA_DIR) + cd $(MESA_DIR)/utils && tar xzf ndiff-2.00.tar.gz -m + cp patches/ndiff-configure $(MESA_DIR)/utils/ndiff-2.00/configure + +src/bin/ndiff: | $(MESA_DIR)/utils/ndiff-2.00 src/bin + cd $(MESA_DIR)/utils/ndiff-2.00 && ./configure + cd $(MESA_DIR)/utils/ndiff-2.00 && $(MAKE) + cp $(MESA_DIR)/utils/ndiff-2.00/ndiff $@ + + +# Building MESA into a static library + +CODELIB := $(MESA_DIR)/lib/libstar.a + +MESA_DEPS := $(MESA_DIR)/lib/liblapack95.a +MESA_DEPS += $(MESA_DIR)/lib/libcrmath.a $(MESA_DIR)/lib/libcrlibm.a + +MESA_TOOLS := src/bin/fpx3 src/bin/fpx3_deps src/bin/makedepf90 src/bin/ndiff + +MESA_ENV := MESA_DIR=$(MESA_DIR) FC=$(FC) MPIFC=$(MPIFC) +MESA_ENV += CC=$(CC) MPICC=$(MPICC) OPENMP_FCFLAGS=$(OPENMP_FCFLAGS) +MESA_ENV += LAPACK_LIBS="$(LAPACK_LIBS)" BLAS_LIBS="$(BLAS_LIBS)" +MESA_ENV += HDF5_FFLAGS="$(HDF5_FFLAGS)" HDF5_LDFLAGS="$(HDF5_LDFLAGS)" + +export PATH := $(realpath .)/src/bin:$(PATH) + +.PHONY: $(CODELIB) +$(CODELIB): $(MESA_DEPS) $(MESA_TOOLS) | $(MESA_DIR) + cd $(MESA_DIR) && env $(MESA_ENV) ./install + +# Building the workers +DEPFLAGS += $(FORSOCKETS_CFLAGS) $(OPENMP_FFLAGS) +FCFLAGS += $(DEPFLAGS) -I$(MESA_DIR)/include -I$(MESA_DIR)/star/make +FCFLAGS += $(OPENMP_FCFLAGS) + +## AMUSE libraries +LDLIBS += $(FORSOCKETS_LIBS) + +## MESA libraries +LDFLAGS += $(OPENMP_FCFLAGS) -L$(realpath $(MESA_DIR))/lib $(HDF5_LDFLAGS) +LDLIBS += -lgyre -lionization -latm -lcolors -lstar_data -lnet -leos -lkap -lrates +LDLIBS += -lneu -lchem -linterp_2d -linterp_1d -lnum -lauto_diff -lmtx -lconst +LDLIBS += -lmath -lutils + +## MESA dependencies +LDLIBS += -lcrmath -lcrlibm -llapack95 +LDLIBS += $(LAPACK_LIBS) $(BLAS_LIBS) $(LIBS) $(FLIBS) +LDLIBS += -lhdf5_fortran -lhdf5 -lz -ldl + + +mesa_$(MESA_VERSION)_worker.f90: interface.py + amusifier --type=f90 interface.py MesaInterface -o $@ + +mesa_$(MESA_VERSION)_worker.o: mesa_$(MESA_VERSION)_worker.f90 + $(MPIFC) -c -o $@ $(FCFLAGS) $< + +mesa_$(MESA_VERSION)_worker: interface.o mesa_interface.o run_star_extras.o mesa_$(MESA_VERSION)_worker.o $(CODELIB) + $(MPIFC) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +%.o: %.f90 + $(MPIFC) -o $@ -c $(FCFLAGS) $< + +mesa_interface.o: run_star_extras.o $(CODELIB) + +interface.o: mesa_interface.o $(CODELIB) + +run_star_extras.o: $(CODELIB) + + +# Which packages contain which workers? +amuse-mesa-$(MESA_VERSION)_contains: mesa_$(MESA_VERSION)_worker + + +# Building and installing packages + +# MESA r15140 doesn't work with a non-develop install because it writes data all +# over the place. This is an ugly hack to inform the user of that and to have them +# install it using a develop install for the time being. +install_disabled: + @echo + @echo 'Error: MESA r15140 only works with a develop install.' + @echo + @echo 'Please use' + @echo + @echo ' ./setup develop amuse-mesa_r15140' + @echo + @echo 'to install it' + @echo + @exit 1 + +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: install_disabled %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean_local +clean_local: + rm -rf *.o *.mod *.smod *worker* + +.PHONY: clean +clean: clean_local + -$(MAKE) -C src/LAPACK95/SRC clean + -$(MAKE) -C src/crmath-1.2 clean + -$(MAKE) -C src/crlibm-1.0beta4 clean + -$(MAKE) -C src/mesa-r15140/utils/makedepf90-2.8.8 clean + rm -f src/bin/* + cd src/mesa-$(MESA_VERSION) && ./clean + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_mesa_r15140/STATUS.txt b/src/amuse_mesa_r15140/STATUS.txt new file mode 100644 index 0000000000..f2547b9fba --- /dev/null +++ b/src/amuse_mesa_r15140/STATUS.txt @@ -0,0 +1,9 @@ +This one is a bit tricky, and it's only somewhat working, so here are some notes. + +- The wrapper is currently set up to only work in develop mode, as it doesn't get the + data directories in the right way. +- The standard hatchling-based installation can't do develop installs. We need a + solution for that. This has a hack in it, but that's not going to be good to releas. +- The worker compiles, and the tests run against the hacked install, so at least the + wrapper build system has been replaced. + diff --git a/src/amuse/community/sakura/ggf/__init__.py b/src/amuse_mesa_r15140/__init__.py similarity index 100% rename from src/amuse/community/sakura/ggf/__init__.py rename to src/amuse_mesa_r15140/__init__.py diff --git a/src/amuse/community/mesa_r15140/examples/__init__.py b/src/amuse_mesa_r15140/examples/__init__.py similarity index 100% rename from src/amuse/community/mesa_r15140/examples/__init__.py rename to src/amuse_mesa_r15140/examples/__init__.py diff --git a/src/amuse/community/mesa_r15140/examples/basic.py b/src/amuse_mesa_r15140/examples/basic.py similarity index 100% rename from src/amuse/community/mesa_r15140/examples/basic.py rename to src/amuse_mesa_r15140/examples/basic.py diff --git a/src/amuse/community/mesa_r15140/examples/basic2.py b/src/amuse_mesa_r15140/examples/basic2.py similarity index 100% rename from src/amuse/community/mesa_r15140/examples/basic2.py rename to src/amuse_mesa_r15140/examples/basic2.py diff --git a/src/amuse/community/mesa_r15140/examples/controls.py b/src/amuse_mesa_r15140/examples/controls.py similarity index 100% rename from src/amuse/community/mesa_r15140/examples/controls.py rename to src/amuse_mesa_r15140/examples/controls.py diff --git a/src/amuse/community/mesa_r15140/examples/gyre.in b/src/amuse_mesa_r15140/examples/gyre.in similarity index 100% rename from src/amuse/community/mesa_r15140/examples/gyre.in rename to src/amuse_mesa_r15140/examples/gyre.in diff --git a/src/amuse/community/mesa_r15140/examples/gyre.py b/src/amuse_mesa_r15140/examples/gyre.py similarity index 100% rename from src/amuse/community/mesa_r15140/examples/gyre.py rename to src/amuse_mesa_r15140/examples/gyre.py diff --git a/src/amuse/community/mesa_r15140/examples/inlist b/src/amuse_mesa_r15140/examples/inlist similarity index 100% rename from src/amuse/community/mesa_r15140/examples/inlist rename to src/amuse_mesa_r15140/examples/inlist diff --git a/src/amuse/community/mesa_r15140/examples/inlist.py b/src/amuse_mesa_r15140/examples/inlist.py similarity index 100% rename from src/amuse/community/mesa_r15140/examples/inlist.py rename to src/amuse_mesa_r15140/examples/inlist.py diff --git a/src/amuse/community/mesa_r15140/examples/multi.py b/src/amuse_mesa_r15140/examples/multi.py similarity index 100% rename from src/amuse/community/mesa_r15140/examples/multi.py rename to src/amuse_mesa_r15140/examples/multi.py diff --git a/src/amuse/community/mesa_r15140/examples/new_model.py b/src/amuse_mesa_r15140/examples/new_model.py similarity index 100% rename from src/amuse/community/mesa_r15140/examples/new_model.py rename to src/amuse_mesa_r15140/examples/new_model.py diff --git a/src/amuse/community/mesa_r15140/examples/photo_load.py b/src/amuse_mesa_r15140/examples/photo_load.py similarity index 100% rename from src/amuse/community/mesa_r15140/examples/photo_load.py rename to src/amuse_mesa_r15140/examples/photo_load.py diff --git a/src/amuse/community/mesa_r15140/examples/plot.py b/src/amuse_mesa_r15140/examples/plot.py similarity index 100% rename from src/amuse/community/mesa_r15140/examples/plot.py rename to src/amuse_mesa_r15140/examples/plot.py diff --git a/src/amuse/community/mesa_r15140/examples/prems.py b/src/amuse_mesa_r15140/examples/prems.py similarity index 100% rename from src/amuse/community/mesa_r15140/examples/prems.py rename to src/amuse_mesa_r15140/examples/prems.py diff --git a/src/amuse/community/mesa_r15140/examples/purehe.py b/src/amuse_mesa_r15140/examples/purehe.py similarity index 100% rename from src/amuse/community/mesa_r15140/examples/purehe.py rename to src/amuse_mesa_r15140/examples/purehe.py diff --git a/src/amuse/community/mesa_r15140/examples/rotation.py b/src/amuse_mesa_r15140/examples/rotation.py similarity index 100% rename from src/amuse/community/mesa_r15140/examples/rotation.py rename to src/amuse_mesa_r15140/examples/rotation.py diff --git a/src/amuse/community/mesa_r15140/examples/save_and_load.py b/src/amuse_mesa_r15140/examples/save_and_load.py similarity index 100% rename from src/amuse/community/mesa_r15140/examples/save_and_load.py rename to src/amuse_mesa_r15140/examples/save_and_load.py diff --git a/src/amuse/community/mesa_r15140/examples/sun.py b/src/amuse_mesa_r15140/examples/sun.py similarity index 100% rename from src/amuse/community/mesa_r15140/examples/sun.py rename to src/amuse_mesa_r15140/examples/sun.py diff --git a/src/amuse/community/mesa_r15140/interface.f90 b/src/amuse_mesa_r15140/interface.f90 similarity index 100% rename from src/amuse/community/mesa_r15140/interface.f90 rename to src/amuse_mesa_r15140/interface.f90 diff --git a/src/amuse_mesa_r15140/interface.py b/src/amuse_mesa_r15140/interface.py new file mode 100644 index 0000000000..7364727912 --- /dev/null +++ b/src/amuse_mesa_r15140/interface.py @@ -0,0 +1,2191 @@ +import os +import numpy +import tempfile + +from amuse.units import units +from amuse.community import * +from amuse.community import ( + CodeInterface, LiteratureReferencesMixIn, + CodeWithDataDirectories, LegacyFunctionSpecification, legacy_function, + remote_function +) +from amuse.community.interface.se import ( + StellarEvolution, StellarEvolutionInterface, + InternalStellarStructure, InternalStellarStructureInterface +) + +from amuse.support.interface import InCodeComponentImplementation +from amuse.support.options import option + + +class MesaInterface( + CodeInterface, LiteratureReferencesMixIn, StellarEvolutionInterface, + InternalStellarStructureInterface, CodeWithDataDirectories +): + """ + The software project MESA (Modules for Experiments in Stellar Astrophysics, + http://mesa.sourceforge.net/) version 15140, aims to provide + state-of-the-art, robust, and efficient open source modules, usable singly + or in combination for a wide range of applications in stellar astrophysics. + The AMUSE interface to MESA can create and evolve stars using the MESA/STAR + module. All metallicities are supported, even the interesting case of Z=0. + The supported stellar mass range is from about 1M_jupiter to >100 Msun. + + References: + .. [#] ADS:2011ApJS..192....3P (Paxton, Bildsten, Dotter, Herwig, Lesaffre & Timmes 2011, ApJS) + .. [#] ADS:2013ApJS..208....4P (Paxton, Cantiello, Arras, Bildsten, Brown, Dotter, Mankovich, Montgomery, Stello, Timmes, Townsend, 2013, ApJS) + .. [#] ADS:2015ApJS..220...15P (Paxton, Marchant, Schwab, Bauer, Bildsten, Cantiello, Dessart, Farmer, Hu, Langer, Townsend, Townsley, Timmes, 2015, ApJS) + .. [#] ADS:2018ApJS..234...34P (Paxton, Schwab, Bauer, Bildsten, Blinnikov, Duffell, Farmer, Goldberg, Marchant, Sorokina, Thoul, Townsend, Timmes, 2018, ApJS) + .. [#] ADS:2019ApJS..243...10P (Paxton, Smolec, Schwab, Gautschy, Bildsten, Cantiello, Dotter, Farmer, Goldberg, Jermyn, Kanbur, Marchant, Thoul, Townsend, Wolf, Zhang, Timmes, 2019, ApJS) + .. [#] http://mesa.sourceforge.net/ + .. [#] https://docs.mesastar.org/en/latest/reference.html + """ + + use_modules = ['amuse_mesa'] + + # Needs to keep sync with interface.f90 + _CONTROL_NML = 0 + _STAR_JOB_NML = 1 + _EOS_NML = 2 + _KAP_NML = 3 + + # Set in mesa_interface.f90 + _M_CENTER = 0 + _R_CENTER = 1 + _L_CENTER = 2 + _V_CENTER = 3 + + def __init__(self, **options): + CodeInterface.__init__(self, name_of_the_worker="mesa_r15140_worker", **options) + LiteratureReferencesMixIn.__init__(self) + CodeWithDataDirectories.__init__(self) + self.mesa_version = "15140" + + @property + def default_path_to_inlist(self): + return '' + + @option(type="string", sections=('data')) + def default_path_to_MESA(self): + mesa_directory = os.path.dirname(__file__) + return os.path.join(mesa_directory, 'src', 'mesa-r15140') + + + @option(type="string", sections=('data')) + def default_path_to_MESA_data(self): + return os.path.join(self.default_path_to_MESA, 'data') + + @property + def default_tmp_dir(self): + """ + This must be unique for each MESA star being run a time, as a place MESA can write + temporay files to. + + It does not need persistance + """ + return tempfile.mkdtemp() + + @legacy_function + def set_MESA_paths(): + """ + Set the paths to the MESA inlist and data directories. + """ + function = LegacyFunctionSpecification() + function.addParameter( + 'inlist_path', dtype='string', direction=function.IN, + description="Path to the inlist file.") + function.addParameter( + 'mesa_dir', dtype='string', direction=function.IN, + description="Path to the MESA directory.") + function.addParameter( + 'mesa_data_dir', dtype='string', direction=function.IN, + description="Path to the MESA data directory. Normally this would be mesa_dir/data") + function.addParameter( + 'local_data_path', dtype='string', direction=function.IN, + description="Path to the data directory.") + function.addParameter( + 'gyre_in_filename', dtype='string', direction=function.IN, + description="Path to the gyre.in file.") + function.addParameter( + 'temp_dir', dtype='string', direction=function.IN, + description="Unique per-MESA temporary folder") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value was set + -1 - ERROR + Directory does not exist + """ + return function + + @remote_function + def get_maximum_number_of_stars(): + """ + Retrieve the maximum number of stars that can be + handled by this instance. + """ + returns (maximum_number_of_stars='i') + + @legacy_function + def new_pre_ms_particle(): + """ + Define a new pre-main-sequence star in the code. The star will start with the given mass. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.OUT + , description="The new index for the star. This index can be used to refer to this star in other functions") + function.addParameter('mass', dtype='float64', direction=function.IN + , description="The initial mass of the star") + function.addParameter('num_steps', dtype='int32', direction=function.IN, default=-1 + , description="Number of steps to take during pre-MS relaxation process. If negative uses MESA's default choice") + function.result_type = 'int32' + return function + + @legacy_function + def new_pure_he_particle(): + """ + Define a new pure He star in the code. The star will start with the given mass. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.OUT + , description="The new index for the star. This index can be used to refer to this star in other functions") + function.addParameter('mass', dtype='float64', direction=function.IN + , description="The initial mass of the star") + function.result_type = 'int32' + return function + + @legacy_function + def new_zams_particle(): + """ + Define a new ZAMS model with Z=0.02. The star will start with the given mass. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.OUT + , description="The new index for the star. This index can be used to refer to this star in other functions") + function.addParameter('mass', dtype='float64', direction=function.IN + , description="The initial mass of the star") + function.result_type = 'int32' + return function + + @legacy_function + def load_model(): + """ + Load a pre-built MESA model (.mod file) + """ + function = LegacyFunctionSpecification() + + function.addParameter('index_of_the_star', dtype='int32', direction=function.OUT + , description="The new index for the star. This index can be used to refer to this star in other functions") + function.addParameter('filename', dtype='string', direction=function.IN + , description="The filename of the model to load") + function.result_type = 'int32' + return function + + + @legacy_function + def load_photo(): + """ + Load a MESA snapshot (photo file) + """ + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_star', dtype='int32', direction=function.OUT + , description="The new index for the star. This index can be used to refer to this star in other functions") + function.addParameter('filename', dtype='string', direction=function.IN + , description="The filename of the photo to load") + function.result_type = 'int32' + return function + + + @remote_function + def save_photo(index_of_the_star='i', filename='s' ): + returns () + + @remote_function + def save_model(index_of_the_star='i', filename='s'): + returns () + + + @remote_function + def set_time_step(index_of_the_star='i', time_step='d' | units.s): + returns () + + @legacy_function + def get_time_step(): + """ + Retrieve the current time step + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('time_step', dtype='float64', direction=function.OUT + , description="Current timestep") + function.result_type = 'int32' + return function + + @legacy_function + def get_core_mass(): + """ + Retrieve the current core mass of the star, where hydrogen abundance is <= h1_boundary_limit + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('core_mass', dtype='float64', direction=function.OUT + , description="The current core mass of the star, where hydrogen abundance is <= h1_boundary_limit") + function.result_type = 'int32' + return function + + @remote_function(can_handle_array=True) + def get_mass_loss_rate(index_of_the_star='i'): + """ + Retrieve the current mass loss rate of the star. (positive for winds, negative for accretion) + """ + returns (mass_change='d' | units.MSun/units.julianyr) + + @remote_function(can_handle_array=True) + def get_manual_mass_transfer_rate(index_of_the_star='i'): + """ + Retrieve the current user-specified mass transfer rate of the star. (negative for winds, positive for accretion) + """ + returns (mass_change='d' | units.MSun/units.julianyr) + + @remote_function + def set_manual_mass_transfer_rate(index_of_the_star='i', mass_change='d' | units.MSun/units.julianyr): + """ + Set a new user-specified mass transfer rate of the star. (negative for winds, positive for accretion) + """ + return () + + @legacy_function + def get_id_of_species(): + """ + Retrieve the net_id of the chemical abundance variable of the star. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('species', dtype='string', direction=function.IN + , description="The name of the isotope to get the name id of") + function.addParameter('species_id', dtype='int32', direction=function.OUT + , description="The net_id of the chemical abundance variable of the star.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value was retrieved. + -1 - ERROR + A star with the given index was not found. + -2 - ERROR + The isotope was not found. + """ + return function + + @legacy_function + def get_mass_of_species(): + """ + Retrieve the mass number of the species. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('species', dtype='int32', direction=function.IN + , description="The species of the star to get the mass number of") + function.addParameter('species_mass', dtype='float64', direction=function.OUT + , description="The mass number of the chemical abundance variable of the star.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value was retrieved. + -1 - ERROR + A star with the given index was not found. + -2 - ERROR + The species was not found + """ + return function + + @legacy_function + def get_mass_fraction_of_species_at_zone(): + """ + Retrieve the mass number of the chemical abundance variable of the star at zone. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('species', dtype='int32', direction=function.IN + , description="The species of the star to get the mass number of") + function.addParameter('zone', dtype='int32', direction=function.IN + , description="The zone of the star to get the mass number of") + function.addParameter('species_mass', dtype='float64', direction=function.OUT + , description="The mass number of the chemical abundance variable of the star.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value was retrieved. + -1 - ERROR + A star with the given index was not found. + -2 - ERROR + The zone was not found + -3 - ERROR + The species was not found + """ + return function + + @legacy_function + def get_name_of_species(): + """ + Retrieve the name of the species given by the species id + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('species', dtype='int32', direction=function.IN + , description="The species of the star to get the mass number of") + function.addParameter('species_name', dtype='string', direction=function.OUT + , description="The name of the species.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value was retrieved. + -1 - ERROR + A star with the given index was not found. + -2 - ERROR + The species was not found + """ + return function + + @legacy_function + def get_max_age_stop_condition(): + """ + Retrieve the current maximum age stop condition of this instance (in years). + Evolution will stop once the star has reached this maximum age. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('max_age_stop_condition', dtype='float64', direction=function.OUT + , description="The current maximum age stop condition of this instance (in years).") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value was retrieved + -1 - ERROR + The code could not retrieve the value. + """ + return function + + @legacy_function + def set_max_age_stop_condition(): + """ + Set the new maximum age stop condition of this instance (in years). + Evolution will stop once the star has reached this maximum age. + """ + function = LegacyFunctionSpecification() + function.addParameter('max_age_stop_condition', dtype='float64', direction=function.IN + , description="The new maximum age stop condition of this instance (in years).") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + The code could not set the value. + """ + return function + + @legacy_function + def get_min_timestep_stop_condition(): + """ + Retrieve the current minimum timestep stop condition of this instance (in years). + Evolution will stop if the timestep required by the solver in order to converge + has decreased below this minimum timestep. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('min_timestep_stop_condition', dtype='float64', direction=function.OUT + , description="The current minimum timestep stop condition of this instance (in years).") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value was retrieved + -1 - ERROR + The code could not retrieve the value. + """ + return function + + @legacy_function + def set_min_timestep_stop_condition(): + """ + Set the new minimum timestep stop condition of this instance (in years). + Evolution will stop if the timestep required by the solver in order to converge + has decreased below this minimum timestep. + """ + function = LegacyFunctionSpecification() + function.addParameter('min_timestep_stop_condition', dtype='float64', direction=function.IN + , description="The new minimum timestep stop condition of this instance (in years).") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + The code could not set the value. + """ + return function + + @legacy_function + def get_max_iter_stop_condition(): + """ + Retrieve the current maximum number of iterations of this instance. (Negative means no maximum) + Evolution will stop after this number of iterations. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('max_iter_stop_condition', dtype='int32', direction=function.OUT + , description="The current maximum number of iterations of this instance.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value was retrieved + -1 - ERROR + The code could not retrieve the value. + """ + return function + + @legacy_function + def set_max_iter_stop_condition(): + """ + Set the new maximum number of iterations of this instance. (Negative means no maximum) + Evolution will stop after this number of iterations. + """ + function = LegacyFunctionSpecification() + function.addParameter('max_iter_stop_condition', dtype='int32', direction=function.IN + , description="The new maximum number of iterations of this instance.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + The code could not set the value. + """ + return function + + @legacy_function + def _get_opt(): + """ + Users should not call this directly + """ + function = LegacyFunctionSpecification() + function.name = 'get_opt' + function.can_handle_array=True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('type', dtype='int32', direction=function.IN + , description="Flag for which type of option to get") + function.addParameter('name', dtype='string', direction=function.IN + , description="Name of control parameter to get") + function.addParameter('value', dtype='string', direction=function.OUT + , description="The value of the parameter") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + The code could not set the value. + """ + return function + + @legacy_function + def _set_opt(): + """ + Users should not call this directly + """ + function = LegacyFunctionSpecification() + function.name = 'set_opt' + function.can_handle_array=True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('type', dtype='int32', direction=function.IN + , description="Flag for which type of option to get") + function.addParameter('name', dtype='string', direction=function.IN + , description="Name of control parameter to get") + function.addParameter('value', dtype='string', direction=function.IN + , description="The value of the parameter") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + The code could not set the value. + """ + return function + + def set_control(self, index_of_the_star, name, value): + """ + Sets a MESA control namelist value. + """ + v = self._val2str(value) + return self._set_opt(index_of_the_star, self._CONTROL_NML, name, v) + + def get_control(self, index_of_the_star, name): + """ + Gets a MESA control namelist value. + """ + v = self._get_opt(index_of_the_star, self._CONTROL_NML, name) + v['value'] = self._str2val(v['value']) + return v + + def set_star_job(self, index_of_the_star, name, value): + """ + Sets a MESA star_job namelist value. + """ + v = self._val2str(value) + return self._set_opt(index_of_the_star, self._STAR_JOB_NML, name, v) + + def get_star_job(self, index_of_the_star, name): + """ + Gets a MESA star_job namelist value. + """ + v = self._get_opt(index_of_the_star, self._STAR_JOB_NML, name) + v['value'] = self._str2val(v['value']) + return v + + def set_eos(self, index_of_the_star, name, value): + """ + Sets a MESA eos namelist value. + """ + v = self._val2str(value) + return self._set_opt(index_of_the_star, self._EOS_NML, name, v) + + def get_eos(self, index_of_the_star, name): + """ + Gets a MESA eos namelist value. + """ + v = self._get_opt(index_of_the_star, self._EOS_NML, name) + v['value'] = self._str2val(v['value']) + return v + + def set_kap(self, index_of_the_star, name, value): + """ + Sets a MESA kap namelist value. + """ + v = self._val2str(value) + return self._set_opt(index_of_the_star, self._KAP_NML, name, v) + + def get_kap(self, index_of_the_star, name): + """ + Gets a MESA kap namelist value. + """ + v = self._get_opt(index_of_the_star, self._KAP_NML, name) + v['value'] = self._str2val(v['value']) + return v + + def _val2str(self, value): + if isinstance(value, bool): + if value: + return '.true.' + else: + return '.false.' + elif isinstance(value, (int, float)): + return str(value) + else: + if '"' not in value and "'" not in value: + return '"'+str(value)+'"' + else: + return value + + def _str2val(self, value): + def process(val): + val = val.strip() + if '.true.' in val.lower() or val == 'T': + return True + elif '.false.' in val.lower() or val == 'F': + return False + try: + return int(val) + except ValueError: + pass + try: + return float(val) + except ValueError: + pass + return val + + if isinstance(value, (list, numpy.ndarray)): + result = numpy.array([process(i) for i in value]) + else: + result = process(value) + + return result + + @legacy_function + def set_mesa_value(): + """ + Sets a MESA variable given by name. If the variable is not an array then set zone=1 + + Not all variables are supported, addtional ones can be added to set_value() in mesa_interface.f90 + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('name', dtype='string', direction=function.IN + , description="Name of the variable to set") + function.addParameter('value', dtype='float64', direction=function.IN + , description="Value to set to") + function.addParameter('zone', dtype='int32', direction=function.IN + , description="Zone if setting array ( must between 1 and s%nz)") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + An error occured + -2 - ERROR + The zone is out of bounds + -3 - ERROR + The named variable does not exist + """ + return function + + @legacy_function + def get_mesa_value(): + """ + Gets a MESA variable given by name. If the variable is not an array then set zone=1 + + Not all variables are supported, addtional ones can be added to get_value() in mesa_interface.f90 + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('name', dtype='string', direction=function.IN + , description="Name of the variable to get") + function.addParameter('value', dtype='float64', direction=function.OUT + , description="Value which has be gotten") + function.addParameter('zone', dtype='int32', direction=function.IN + , description="Zone if getting from an array (must between 1 and s%nz)") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been gotten. + -1 - ERROR + An error occured + -2 - ERROR + The zone is out of bounds + -3 - ERROR + The named variable does not exist + """ + return function + + @legacy_function + def _get_center_value(): + """ + Gets one of the inner boundry conditions of mesa + """ + function = LegacyFunctionSpecification() + function.name = 'get_center_value' + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('name', dtype='int32', direction=function.IN + , description="Flag for which variable to get") + function.addParameter('value', dtype='float64', direction=function.OUT + , description="Value which has to be get") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been gotten. + -1 - ERROR + An error occured + -3 - ERROR + The named variable does not exist + """ + return function + + @legacy_function + def _set_center_value(): + """ + Sets one of the inner boundry conditions of mesa + """ + function = LegacyFunctionSpecification() + function.name = 'set_center_value' + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('name', dtype='int32', direction=function.IN + , description="Flag for which variable to set") + function.addParameter('value', dtype='float64', direction=function.IN + , description="Value which has to be set") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been gotten. + -1 - ERROR + An error occured + -3 - ERROR + The named variable does not exist + """ + return function + + def set_m_center(self, index_of_the_star, value): + """ + Sets the inner mass boundary + """ + return self._set_center_value(index_of_the_star, self._M_CENTER, value) + + def get_m_center(self, index_of_the_star): + """ + Gets the inner mass boundary + """ + return self._get_center_value(index_of_the_star, self._M_CENTER) + + def set_r_center(self, index_of_the_star, value): + """ + Sets the inner radius boundary + """ + return self._set_center_value(index_of_the_star, self._R_CENTER, value) + + def get_r_center(self, index_of_the_star): + """ + Gets the inner radius boundary + """ + return self._get_center_value(index_of_the_star, self._R_CENTER) + + def set_l_center(self, index_of_the_star, value ): + """ + Sets the inner luminosity boundary + """ + return self._set_center_value(index_of_the_star, self._L_CENTER, value) + + def get_l_center(self, index_of_the_star): + """ + Gets the inner luminosity boundary + """ + return self._get_center_value(index_of_the_star, self._L_CENTER) + + def set_v_center(self, index_of_the_star, value ): + """ + Sets the inner velocity boundary + """ + return self._set_center_value(index_of_the_star, self._V_CENTER, value) + + def get_v_center(self, index_of_the_star): + """ + Sets the inner velocity boundary + """ + return self._get_center_value(index_of_the_star, self._V_CENTER) + + @legacy_function + def new_stellar_model(): + """ + Define a new star model in the code. + Arrays should be in MESA order (surface =1 center=n) + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + for par in ['star_mass', 'dq', 'rho', 'temperature', + 'XH1', 'XHe3', 'XHe4', 'XC12', 'XN14', 'XO16', 'XNe20', 'XMg24', 'XSi28', 'XS32', + 'XAr36', 'XCa40', 'XTi44', 'XCr48', 'XFe52', 'XFe54', 'XFe56', 'XCr56', 'XNi56', + 'prot', 'neut']: + function.addParameter(par, dtype='float64', direction=function.IN) + function.addParameter('n', 'int32', function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def finalize_stellar_model(): + """ + Finalize the new star model defined by 'new_stellar_model'. + """ + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_star', dtype='int32', + direction=function.OUT, description="The new index for the star. " + "This index can be used to refer to this star in other functions") + function.addParameter('age_tag', dtype='float64', direction=function.IN, + description="The initial age of the star") + function.result_type = 'int32' + return function + + @remote_function(can_handle_array=True) + def get_profile_at_zone(index_of_the_star='i', zone='i', name='s'): + """ + Retrieve arbitary profile column at the specified zone/mesh-cell of the star. + """ + returns (value='d') + + @remote_function(can_handle_array=True) + def get_history(index_of_the_star='i', name='s'): + """ + Retrieve arbitary history column of the star. + """ + returns (value='d') + + @remote_function + def star_job_update(index_of_the_star='i'): + """ + After changing options in star_job this function must be called to make the changes to the star + """ + returns () + + @remote_function + def get_nuclear_network(index_of_the_star='i'): + """ + Retrieve the current nuclear network of the star. + """ + returns (net_name='s') + + @remote_function + def set_nuclear_network(index_of_the_star='i', net_name='s'): + """ + Set the current nuclear network of the star. + """ + returns () + + @remote_function(can_handle_array=True) + def get_age(index_of_the_star='i'): + """ + Retrieve the current age of the star + """ + returns (age='d' | units.julianyr) + + @remote_function + def set_age(index_of_the_star='i', new_age='d' | units.julianyr): + """ + Set the current age of the star + """ + returns () + + def get_radius_at_zone(self, index_of_the_star, zone): + return self.get_profile_at_zone(index_of_the_star, zone, 'radius') + + def get_temperature_at_zone(self, index_of_the_star, zone): + return self.get_profile_at_zone(index_of_the_star, zone, 'temperature') + + def get_density_at_zone(self, index_of_the_star, zone): + return self.get_profile_at_zone(index_of_the_star, zone, 'density') + + def get_pressure_at_zone(self, index_of_the_star, zone): + return self.get_profile_at_zone(index_of_the_star, zone, 'pressure') + + def get_mu_at_zone(self, index_of_the_star, zone): + return self.get_profile_at_zone(index_of_the_star, zone, 'mu') + + def get_mass_fraction_of_species_at_zone(self, index_of_the_star, species, zone): + res = self.get_name_of_species(index_of_the_star, species) + if all(numpy.atleast_1d(res['__result'])) == 0: + return self.get_profile_at_zone(index_of_the_star, zone, res['species_name']) + else: + return res['__result'] + + + def get_accrete_same_as_surface(self, index_of_the_star): + return self.get_control(index_of_the_star,'accrete_same_as_surface') + + + def set_accrete_same_as_surface(self, index_of_the_star, value): + return self.set_control(index_of_the_star,'accrete_same_as_surface', value) + + @legacy_function + def _get_gyre(): + """ + Get gyre data. Dont call this directly use get_gyre() + """ + function = LegacyFunctionSpecification() + function.name = 'get_gyre' + function.addParameter('index_of_the_star', dtype='int32', + direction=function.IN, description="The index for the star. ") + function.addParameter('mode_l', dtype='int32', + direction=function.IN, description="L mode to find (must match that in gyre.in) ") + function.addParameter('add_center_point', dtype='bool', direction=function.IN, + description="Whether to add center point") + function.addParameter('keep_surface_pointt', dtype='bool', direction=function.IN, + description="Whether to keep surface point") + function.addParameter('add_atmosphere', dtype='bool', direction=function.IN, + description="Whether to add atmosphere") + function.addParameter('fileout', dtype='string', direction=function.IN, + description="Filename to store data at each radial point") + function.result_type = 'int32' + return function + + def get_gyre(self, index_of_the_star, mode_l=0, + add_center_point=False, keep_surface_point=False, add_atmosphere=False): + """ + Get gyre data. + + This returns a list of dicts where each element of the list corresponds to one mode + + Each dict contains the pg,p,g and complex frequency for the mode as well as + arrays of r/R, xi_r, xi_h, and dwdx for the mode + + """ + + _, filename = tempfile.mkstemp() + + res = self._get_gyre(index_of_the_star, mode_l, + add_center_point, keep_surface_point, add_atmosphere, + filename) + + if res != 0: + os.remove(filename) + return res + + res = [] + with open(filename, 'r') as f: + while True: + line = f.readline() + if len(line) == 0: + break + + pg, p, g, nk, fr, fi = line.split() + nk = int(nk) + data = numpy.zeros((nk, 7)) + for i in range(nk): + data[i, :] = [float(j) for j in f.readline().split()] + + # Repack data into arrays with complex quantities + k = data[:, 0].astype('int') + r = data[:, 1] + xi_r = data[:, 2] + 1j*data[:, 3] + xi_h = data[:, 4] + 1j*data[:, 5] + dwdx = data[:, 6] + + res.append({'pg': int(pg), 'p': int(p), 'g': int(g), + 'freq': complex(float(fr), float(fi)), + 'r/R': r, 'xi_r': xi_r, 'xi_h': xi_h, 'dwdx': dwdx}) + + os.remove(filename) + return res + + + def get_mixing_length_ratio(self,index_of_the_star): + """ + Retrieve the current mixing_length_ratio of the star. + """ + return self.get_control(index_of_the_star,'mixing_length_alpha') + + def set_mixing_length_ratio(self,index_of_the_star, mixing_length_ratio): + """ + Sets the current mixing_length_ratio of the star. + """ + return self.set_control(index_of_the_star,'mixing_length_alpha',mixing_length_ratio) + + def get_semi_convection_efficiency(self,index_of_the_star): + """ + Retrieve the current semi_convection_efficiency of the star. + """ + return self.get_control(index_of_the_star,'alpha_semiconvection') + + def set_semi_convection_efficiency(self,index_of_the_star, semi_convection_efficiency): + """ + Sets the current semi_convection_efficiency of the star and turns on semiconvection. + """ + self.set_control(index_of_the_star,'use_Ledoux_criterion',True) + + return self.set_control(index_of_the_star,'alpha_semiconvection',semi_convection_efficiency) + + def get_RGB_wind_scheme(self, index_of_the_star): + """ + Retrieve the current RGB wind scheme + """ + return self.get_control(index_of_the_star,'cool_wind_RGB_scheme') + + def set_RGB_wind_scheme(self, index_of_the_star, cool_wind_RGB_scheme): + """ + Set the current RGB wind scheme + """ + return self.set_control(index_of_the_star,'cool_wind_RGB_scheme',cool_wind_RGB_scheme) + + + def get_AGB_wind_scheme(self, index_of_the_star): + """ + Retrieve the current AGB wind scheme + """ + return self.get_control(index_of_the_star,'cool_wind_AGB_scheme') + + def set_AGB_wind_scheme(self, index_of_the_star, cool_wind_AGB_scheme): + """ + Set the current RGB wind scheme + """ + return self.set_control(index_of_the_star,'cool_wind_AGB_scheme',cool_wind_AGB_scheme) + + + def get_reimers_wind_efficiency(self, index_of_the_star): + """ + Retrieve the current reimers_wind_efficiency + """ + return self.get_control(index_of_the_star,'reimers_scaling_factor') + + def set_reimers_wind_efficiency(self, index_of_the_star, reimers_wind_efficiency): + """ + Set the current reimers_wind_efficiency + """ + return self.set_control(index_of_the_star,'reimers_scaling_factor',reimers_wind_efficiency) + + + def get_blocker_wind_efficiency(self, index_of_the_star): + """ + Retrieve the current blocker_wind_efficiency + """ + return self.get_control(index_of_the_star,'blocker_scaling_factor') + + def set_blocker_wind_efficiency(self, index_of_the_star, blocker_wind_efficiency): + """ + Set the current blocker_wind_efficiency + """ + return self.set_control(index_of_the_star,'blocker_scaling_factor',blocker_wind_efficiency) + + + + def get_de_jager_wind_efficiency(self, index_of_the_star): + """ + Retrieve the current de_jager_wind_efficiency + """ + return self.get_control(index_of_the_star,'de_jager_scaling_factor') + + def set_de_jager_wind_efficiency(self, index_of_the_star, de_jager_wind_efficiency): + """ + Set the current de_jager_wind_efficiency + """ + return self.set_control(index_of_the_star,'de_jager_scaling_factor',de_jager_wind_efficiency) + + + + def get_dutch_wind_efficiency(self, index_of_the_star): + """ + Retrieve the current dutch_wind_efficiency + """ + return self.get_control(index_of_the_star,'dutch_scaling_factor') + + def set_dutch_wind_efficiency(self, index_of_the_star, dutch_wind_efficiency): + """ + Set the current dutch_wind_efficiency + """ + return self.set_control(index_of_the_star,'dutch_scaling_factor',dutch_wind_efficiency) + + + def get_accrete_composition_non_metals(self, index_of_the_star): + h1 = self.get_control(index_of_the_star,'accretion_h1') + h2 = self.get_control(index_of_the_star,'accretion_h2') + he3 = self.get_control(index_of_the_star,'accretion_he3') + he4 = self.get_control(index_of_the_star,'accretion_he4') + + return [{'h1':h1['value'], + 'h2': h2['value'], + 'he3': he3['value'], + 'he4': he4['value'], + }] + + def set_accrete_composition_non_metals(self,index_of_the_star,h1=0.0,h2=0.0,he3=0.0,he4=0.0): + self.set_control(index_of_the_star,'accretion_h1',h1) + self.set_control(index_of_the_star,'accretion_h2',h2) + self.set_control(index_of_the_star,'accretion_he3',he3) + return self.set_control(index_of_the_star,'accretion_he4',he4) + + def get_accrete_composition_metals_identifier(self, index_of_the_star): + return self.get_control(index_of_the_star,'accretion_zfracs') + + def set_accrete_composition_metals_identifier(self, index_of_the_star, zfracs): + return self.set_control(index_of_the_star,'accretion_zfracs',zfracs) + + def get_accrete_composition_metals(self, index_of_the_star): + result = {} + for element in ['li','be','b','c','n','o','f','ne','na','mg','al','si','p', + 's','cl','ar','k','ca','sc','ti','v','cr','mn','fe', + 'co','ni','cu','zn']: + r = self.get_control(index_of_the_star,f'z_fraction_{element}') + result[element] = r['value'] + + return result + + def set_accrete_composition_metals(self, index_of_the_star, **kwargs): + ''' + Sets the accretion composition based on the following elements: + + 'li','be','b','c','n','o','f','ne','na','mg','al','si','p' + 's','cl','ar','k','ca','sc','ti','v','cr','mn','fe', + 'co','ni','cu','zn' + + Thus to set the li accretion fraction to 1/2 then pass li=0.5 + + If an element is not set then its left with its current value + + These must sum to 1.0 (the total z fraction is set by setting the non_metals to the 1-Z value) + + ''' + + result = {} + for element,value in kwargs.items(): + if element not in ['li','be','b','c','n','o','f','ne','na','mg','al','si','p', + 's','cl','ar','k','ca','sc','ti','v','cr','mn','fe', + 'co','ni','cu','zn']: + raise ValueError(f"Bad element {element}") + r = self.set_control(index_of_the_star,f'z_fraction_{element}',value) + return r + + + @legacy_function + def solve_one_step(): + """ + Takes one step forward, but does not handle retries or redo's. + Must call solve_one_step_pre first and solve_one_step_post afterwards + """ + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('first_try', dtype='bool', direction=function.IN + , description="If this is the first attempt at taking this timestep") + function.addParameter('result', dtype='int32', direction=function.OUT + , description="What the star should do next (keep going, redo, retry, terminate)") + function.result_type = 'int32' + return function + + + @legacy_function + def solve_one_step_pre(): + """ + Prepares to takes one step forward, but does not handle retries or redo's. + Called before solve_one_step + """ + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('result', dtype='int32', direction=function.OUT + , description="What the star should do next (keep going, redo, retry, terminate)") + function.result_type = 'int32' + return function + + @legacy_function + def solve_one_step_post(): + """ + After taking one step forward cleanup the model, but does not handle retries or redo's. + Called after solve_one_step + """ + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('result', dtype='int32', direction=function.OUT + , description="What the star should do next (keep going, redo, retry, terminate)") + function.result_type = 'int32' + return function + + @legacy_function + def prepare_retry_step(): + """ + Prepares to retry a step with a new dt. + Does not actually take the step + """ + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('dt_next', dtype='float64', direction=function.IN + , description="New timestep to try") + function.addParameter('result', dtype='int32', direction=function.OUT + , description="What the star should do next (keep going, redo, retry, terminate)") + function.result_type = 'int32' + return function + + @legacy_function + def prepare_redo_step(): + """ + Prepares to redo a step (a step with the same dt but where you have changed other options like the mdot) + Does not actually take the step + """ + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('result', dtype='int32', direction=function.OUT + , description="What the star should do next (keep going, redo, retry, terminate)") + function.result_type = 'int32' + return function + + +class Mesa(StellarEvolution, InternalStellarStructure): + + def __init__(self, **options): + InCodeComponentImplementation.__init__(self, MesaInterface(**options), **options) + + output_dir = self.get_output_directory() + + if 'inlist' in options: + inlist = options['inlist'] + if not os.path.exists(inlist): + raise ValueError('Named inlist does not exist, maybe its in a different folder?') + else: + inlist = self.default_path_to_inlist + + if 'gyre_in' in options: + gyre_in = options['gyre_in'] + else: + gyre_in = '' + + self.set_MESA_paths( + inlist, + self.default_path_to_MESA, + self.default_path_to_MESA_data, + output_dir, + gyre_in, + self.default_tmp_dir + ) + self.model_time = 0.0 | units.julianyr + + self.mesa_version = "15140" + + def define_parameters(self, handler): + + handler.add_method_parameter( + "get_metallicity", + "set_metallicity", + "metallicity", + "Metallicity of all stars", + default_value=0.02 + ) + + handler.add_method_parameter( + "get_max_age_stop_condition", + "set_max_age_stop_condition", + "max_age_stop_condition", + "The maximum age stop condition of this instance.", + default_value=1.0e36 | units.julianyr + ) + + handler.add_method_parameter( + "get_min_timestep_stop_condition", + "set_min_timestep_stop_condition", + "min_timestep_stop_condition", + "The minimum timestep stop condition of this instance.", + default_value=1.0e-6 | units.s + ) + + handler.add_method_parameter( + "get_max_iter_stop_condition", + "set_max_iter_stop_condition", + "max_iter_stop_condition", + "The maximum number of iterations of this instance. (Negative means no maximum)", + default_value=-1111 + ) + + def define_particle_sets(self, handler): + + star_types = ['native_stars', 'pre_ms_stars', + 'pre_built_stars', 'pure_he_stars', + 'imported_stars','photo_stars', + ] + + handler.define_super_set('particles', star_types, + index_to_default_set=0) + + handler.define_set('imported_stars', 'index_of_the_star') + handler.set_new('imported_stars', 'finalize_stellar_model') + handler.set_delete('imported_stars', 'delete_star') + + handler.define_set('native_stars', 'index_of_the_star') + handler.set_new('native_stars', 'new_zams_particle') + handler.set_delete('native_stars', 'delete_star') + + handler.define_set('pre_ms_stars', 'index_of_the_star') + handler.set_new('pre_ms_stars', 'new_pre_ms_particle') + handler.set_delete('pre_ms_stars', 'delete_star') + + handler.define_set('pre_built_stars', 'index_of_the_star') + handler.set_new('pre_built_stars', 'load_model') + handler.set_delete('pre_built_stars', 'delete_star') + + handler.define_set('photo_stars', 'index_of_the_star') + handler.set_new('photo_stars', 'load_photo') + handler.set_delete('photo_stars', 'delete_star') + + handler.define_set('pure_he_stars', 'index_of_the_star') + handler.set_new('pure_he_stars', 'new_pure_he_particle') + handler.set_delete('pure_he_stars', 'delete_star') + + for particle_set_name in star_types: + handler.add_getter(particle_set_name, 'get_radius', names=('radius',)) + handler.add_getter(particle_set_name, 'get_stellar_type', names=('stellar_type',)) + handler.add_getter(particle_set_name, 'get_mass', names=('mass',)) + handler.add_setter(particle_set_name, 'set_mass', names=('mass',)) + handler.add_getter(particle_set_name, 'get_core_mass', names=('core_mass',)) + handler.add_getter(particle_set_name, 'get_mass_loss_rate', names=('wind',)) + handler.add_getter(particle_set_name, 'get_age', names=('age',)) + handler.add_setter(particle_set_name, 'set_age', names=('age',)) + handler.add_getter(particle_set_name, 'get_time_step', names=('time_step',)) + handler.add_setter(particle_set_name, 'set_time_step', names=('time_step',)) + handler.add_getter(particle_set_name, 'get_luminosity', names=('luminosity',)) + handler.add_getter(particle_set_name, 'get_temperature', names=('temperature',)) + + handler.add_getter(particle_set_name, 'get_manual_mass_transfer_rate', names=('mass_change',)) + handler.add_setter(particle_set_name, 'set_manual_mass_transfer_rate', names=('mass_change',)) + + handler.add_getter(particle_set_name, 'get_m_center', names=('m_center',)) + handler.add_setter(particle_set_name, 'set_m_center', names=('m_center',)) + handler.add_getter(particle_set_name, 'get_r_center', names=('r_center',)) + handler.add_setter(particle_set_name, 'set_r_center', names=('r_center',)) + handler.add_getter(particle_set_name, 'get_l_center', names=('l_center',)) + handler.add_setter(particle_set_name, 'set_l_center', names=('l_center',)) + handler.add_getter(particle_set_name, 'get_v_center', names=('v_center',)) + handler.add_setter(particle_set_name, 'set_v_center', names=('v_center',)) + + handler.add_method(particle_set_name, 'get_control') + handler.add_method(particle_set_name, 'set_control') + + handler.add_method(particle_set_name, 'get_star_job') + handler.add_method(particle_set_name, 'set_star_job') + handler.add_method(particle_set_name, 'star_job_update') + + handler.add_method(particle_set_name, 'get_eos') + handler.add_method(particle_set_name, 'set_eos') + handler.add_method(particle_set_name, 'get_kap') + handler.add_method(particle_set_name, 'set_kap') + + handler.add_method(particle_set_name, 'get_mesa_value') + handler.add_method(particle_set_name, 'set_mesa_value') + + handler.add_method(particle_set_name, 'get_extra_heat') + handler.add_method(particle_set_name, 'set_extra_heat') + + handler.add_method(particle_set_name, 'get_nuclear_network') + handler.add_method(particle_set_name, 'set_nuclear_network') + + handler.add_method(particle_set_name, 'evolve_one_step') + handler.add_method(particle_set_name, 'evolve_for') + + InternalStellarStructure.define_particle_sets( + self, + handler, + set_name=particle_set_name + ) + + handler.add_method(particle_set_name, 'get_mass_profile') + handler.add_method(particle_set_name, 'set_mass_profile') + handler.add_method(particle_set_name, 'get_cumulative_mass_profile') + handler.add_method(particle_set_name, 'get_luminosity_profile') + handler.add_method(particle_set_name, 'set_luminosity_profile') + handler.add_method(particle_set_name, 'get_entropy_profile') + handler.add_method(particle_set_name, 'get_thermal_energy_profile') + handler.add_method(particle_set_name, 'get_brunt_vaisala_frequency_squared_profile') + handler.add_method(particle_set_name, 'get_profile') + handler.add_method(particle_set_name, 'get_history') + handler.add_method(particle_set_name, 'get_mesa_value_profile') + handler.add_method(particle_set_name, 'set_mesa_value_profile') + + handler.add_method(particle_set_name, 'get_name_of_species') + handler.add_method(particle_set_name, 'get_mass_of_species') + handler.add_method(particle_set_name, 'get_masses_of_species') + handler.add_method(particle_set_name, 'get_mass_fraction_of_species_at_zone') + handler.add_method(particle_set_name, 'get_id_of_species') + + handler.add_method(particle_set_name, 'get_IDs_of_species') + handler.add_method(particle_set_name, 'get_gyre') + + handler.add_method(particle_set_name, 'get_accrete_same_as_surface') + handler.add_method(particle_set_name, 'set_accrete_same_as_surface') + + handler.add_method(particle_set_name, 'get_accrete_composition_non_metals') + handler.add_method(particle_set_name, 'set_accrete_composition_non_metals') + + handler.add_method(particle_set_name, 'get_accrete_composition_metals_identifier') + handler.add_method(particle_set_name, 'set_accrete_composition_metals_identifier') + + handler.add_method(particle_set_name, 'get_accrete_composition_metals') + handler.add_method(particle_set_name, 'set_accrete_composition_metals') + + handler.add_method(particle_set_name, 'save_photo') + handler.add_method(particle_set_name, 'save_model') + + handler.add_method(particle_set_name, 'get_RGB_wind_scheme') + handler.add_method(particle_set_name, 'set_RGB_wind_scheme') + handler.add_method(particle_set_name, 'get_AGB_wind_scheme') + handler.add_method(particle_set_name, 'set_AGB_wind_scheme') + + handler.add_method(particle_set_name, 'get_reimers_wind_efficiency') + handler.add_method(particle_set_name, 'set_reimers_wind_efficiency') + handler.add_method(particle_set_name, 'get_de_jager_wind_efficiency') + handler.add_method(particle_set_name, 'set_de_jager_wind_efficiency') + handler.add_method(particle_set_name, 'get_dutch_wind_efficiency') + handler.add_method(particle_set_name, 'set_dutch_wind_efficiency') + handler.add_method(particle_set_name, 'get_blocker_wind_efficiency') + handler.add_method(particle_set_name, 'set_blocker_wind_efficiency') + + handler.add_method(particle_set_name, 'solve_one_step') + handler.add_method(particle_set_name, 'solve_one_step_pre') + handler.add_method(particle_set_name, 'solve_one_step_post') + handler.add_method(particle_set_name, 'prepare_retry_step') + handler.add_method(particle_set_name, 'prepare_redo_step') + + + def define_state(self, handler): + StellarEvolution.define_state(self, handler) + handler.add_method('EDIT', 'new_pre_ms_particle') + handler.add_method('UPDATE', 'new_pre_ms_particle') + handler.add_transition('RUN', 'UPDATE', 'new_pre_ms_particle', False) + handler.add_transition('RUN', 'UPDATE', 'load_photo', False) + handler.add_method('EDIT', 'finalize_stellar_model') + handler.add_method('UPDATE', 'finalize_stellar_model') + handler.add_transition('RUN', 'UPDATE', 'finalize_stellar_model', False) + + def define_errorcodes(self, handler): + InternalStellarStructure.define_errorcodes(self, handler) + handler.add_errorcode(-1, 'Something went wrong...') + handler.add_errorcode(-4, 'Not implemented.') + handler.add_errorcode(-11, 'Evolve terminated: Unspecified stop condition reached.') + handler.add_errorcode(-12, 'Evolve terminated: Maximum age reached.') + handler.add_errorcode(-13, 'Evolve terminated: Maximum number of iterations reached.') + handler.add_errorcode(-15, 'Evolve terminated: Minimum timestep limit reached.') + handler.add_errorcode(-99, 'GYRE not configured for use') + + def define_methods(self, handler): + InternalStellarStructure.define_methods(self, handler) + StellarEvolution.define_methods(self, handler) + handler.add_method( + "new_pre_ms_particle", + (units.MSun, units.none), + (handler.INDEX, handler.ERROR_CODE) + ) + handler.add_method( + "new_zams_particle", + (units.MSun), + (handler.INDEX, handler.ERROR_CODE) + ) + handler.add_method( + "new_pure_he_particle", + (units.MSun), + (handler.INDEX, handler.ERROR_CODE) + ) + handler.add_method( + "load_model", + (handler.NO_UNIT), + (handler.INDEX, handler.ERROR_CODE) + ) + handler.add_method( + "load_photo", + (handler.NO_UNIT), + (handler.INDEX, handler.ERROR_CODE) + ) + handler.add_method( + "save_model", + (handler.INDEX,handler.NO_UNIT), + (handler.ERROR_CODE) + ) + handler.add_method( + "save_photo", + (handler.INDEX,handler.NO_UNIT), + (handler.ERROR_CODE) + ) + handler.add_method( + "set_time_step", + (handler.INDEX, units.s), + (handler.ERROR_CODE,) + ) + handler.add_method( + "get_time_step", + (handler.INDEX,), + (units.s, handler.ERROR_CODE,) + ) + handler.add_method( + "get_core_mass", + (handler.INDEX,), + (units.MSun, handler.ERROR_CODE,) + ) + handler.add_method( + "get_mass_loss_rate", + (handler.INDEX,), + (units.MSun / units.julianyr, handler.ERROR_CODE,) + ) + handler.add_method( + "get_manual_mass_transfer_rate", + (handler.INDEX,), + (units.MSun / units.julianyr, handler.ERROR_CODE,) + ) + handler.add_method( + "set_manual_mass_transfer_rate", + (handler.INDEX, units.MSun / units.julianyr), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_profile_at_zone", + (handler.INDEX, handler.NO_UNIT, handler.NO_UNIT), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + handler.add_method( + "get_history", + (handler.INDEX, handler.NO_UNIT), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_id_of_species", + (handler.INDEX, handler.NO_UNIT,), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + handler.add_method( + "get_mass_of_species", + (handler.INDEX, handler.NO_UNIT,), + (units.amu, handler.ERROR_CODE,) + ) + handler.add_method( + "new_stellar_model", + (units.MSun, handler.NO_UNIT, units.g / units.cm**3, units.K, + handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, + handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, + handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, + handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, + handler.NO_UNIT, + ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_star_age", + (handler.INDEX,), + (units.julianyr, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_star_age", + (handler.INDEX, units.julianyr), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_age", + (handler.INDEX,), + (units.julianyr, handler.ERROR_CODE,) + ) + + handler.add_method( + "evolve_for", + (handler.INDEX, units.julianyr), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_max_age_stop_condition", + (), + (units.julianyr, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_max_age_stop_condition", + (units.julianyr, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_min_timestep_stop_condition", + (), + (units.s, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_min_timestep_stop_condition", + (units.s, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_max_iter_stop_condition", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_max_iter_stop_condition", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_accrete_same_as_surface", + (handler.INDEX,), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_accrete_same_as_surface", + (handler.INDEX,handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_name_of_species", + (handler.INDEX, handler.NO_UNIT,), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + handler.add_method( + "get_kap", + (handler.INDEX, handler.NO_UNIT), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + handler.add_method( + "set_kap", + (handler.INDEX, handler.NO_UNIT, handler.NO_UNIT), + (handler.ERROR_CODE,) + ) + handler.add_method( + "get_eos", + (handler.INDEX, handler.NO_UNIT), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + handler.add_method( + "set_eos", + (handler.INDEX, handler.NO_UNIT, handler.NO_UNIT), + (handler.ERROR_CODE,) + ) + handler.add_method( + "get_control", + (handler.INDEX, handler.NO_UNIT), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + handler.add_method( + "set_control", + (handler.INDEX, handler.NO_UNIT, handler.NO_UNIT), + (handler.ERROR_CODE,) + ) + handler.add_method( + "get_star_job", + (handler.INDEX, handler.NO_UNIT), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + handler.add_method( + "set_star_job", + (handler.INDEX, handler.NO_UNIT, handler.NO_UNIT), + (handler.ERROR_CODE,) + ) + handler.add_method( + "star_job_update", + (handler.INDEX,), + (handler.ERROR_CODE,) + ) + handler.add_method( + "get_mesa_value", + (handler.INDEX, handler.NO_UNIT, handler.NO_UNIT), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + handler.add_method( + "set_mesa_value", + (handler.INDEX, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "set_age", + (handler.INDEX,), + (units.julianyr, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_age", + (handler.INDEX, units.julianyr), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_nuclear_network", + (handler.INDEX,), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_nuclear_network", + (handler.INDEX, handler.NO_UNIT), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "finalize_stellar_model", + (units.julianyr,), + (handler.INDEX, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_m_center", + (handler.INDEX,), + (units.MSun, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_m_center", + (handler.INDEX, units.MSun), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_r_center", + (handler.INDEX,), + (units.cm, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_r_center", + (handler.INDEX, units.cm), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_l_center", + (handler.INDEX,), + (units.erg/units.s, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_l_center", + (handler.INDEX, units.erg/units.s), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_v_center", + (handler.INDEX,), + (units.cm/units.s, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_v_center", + (handler.INDEX, units.cm/units.s), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_gyre", + (handler.INDEX, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT), + (handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT) + ) + + + handler.add_method( + "get_mixing_length_ratio", + (handler.INDEX,), + (handler.NO_UNIT,handler.ERROR_CODE) + ) + + handler.add_method( + "set_mixing_length_ratio", + (handler.INDEX, handler.NO_UNIT), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_semi_convection_efficiency", + (handler.INDEX,), + (handler.NO_UNIT,handler.ERROR_CODE) + ) + + handler.add_method( + "set_semi_convection_efficiency", + (handler.INDEX, handler.NO_UNIT), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_reimers_wind_efficiency", + (handler.INDEX,), + (handler.NO_UNIT,handler.ERROR_CODE) + ) + + handler.add_method( + "set_reimers_wind_efficiency", + (handler.INDEX, handler.NO_UNIT), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_dutch_wind_efficiency", + (handler.INDEX,), + (handler.NO_UNIT,handler.ERROR_CODE) + ) + + handler.add_method( + "set_dutch_wind_efficiency", + (handler.INDEX, handler.NO_UNIT), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_de_jager_wind_efficiency", + (handler.INDEX,), + (handler.NO_UNIT,handler.ERROR_CODE) + ) + + handler.add_method( + "set_de_jager_wind_efficiency", + (handler.INDEX, handler.NO_UNIT), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_blocker_wind_efficiency", + (handler.INDEX,), + (handler.NO_UNIT,handler.ERROR_CODE) + ) + + handler.add_method( + "set_blocker_wind_efficiency", + (handler.INDEX, handler.NO_UNIT), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "set_MESA_paths", + (handler.NO_UNIT,handler.NO_UNIT,handler.NO_UNIT,handler.NO_UNIT,handler.NO_UNIT,handler.NO_UNIT), + (handler.ERROR_CODE,) + ) + + + handler.add_method( + "get_accrete_composition_non_metals", + (handler.INDEX,), + (handler.NO_UNIT,handler.NO_UNIT,handler.NO_UNIT,handler.NO_UNIT) + ) + + handler.add_method( + "set_accrete_composition_non_metals", + (handler.INDEX,handler.NO_UNIT,handler.NO_UNIT,handler.NO_UNIT,handler.NO_UNIT), + (handler.ERROR_CODE) + ) + + handler.add_method( + "get_accrete_composition_metals_identifier", + (handler.INDEX,), + (handler.NO_UNIT,) + ) + + handler.add_method( + "set_accrete_composition_metals_identifier", + (handler.INDEX,handler.NO_UNIT), + (handler.ERROR_CODE) + ) + + handler.add_method( + "solve_one_step", + (handler.INDEX, handler.NO_UNIT), + (handler.NO_UNIT,handler.ERROR_CODE) + ) + + handler.add_method( + "solve_one_step_pre", + (handler.INDEX), + (handler.NO_UNIT,handler.ERROR_CODE) + ) + + handler.add_method( + "solve_one_step_post", + (handler.INDEX), + (handler.NO_UNIT,handler.ERROR_CODE) + ) + + handler.add_method( + "prepare_retry_step", + (handler.INDEX, units.s), + (handler.NO_UNIT,handler.ERROR_CODE) + ) + + handler.add_method( + "prepare_redo_step", + (handler.INDEX), + (handler.NO_UNIT,handler.ERROR_CODE) + ) + + def initialize_module_with_default_parameters(self): + self.parameters.set_defaults() + self.initialize_code() + + def initialize_module_with_current_parameters(self): + self.initialize_code() + + def commit_parameters(self): + self.parameters.send_not_set_parameters_to_code() + self.parameters.send_cached_parameters_to_code() + self.overridden().commit_parameters() + + def get_mass_profile(self, indices_of_the_stars, number_of_zones=None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying mass profiles") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + return self.get_profile(indices_of_the_stars, 'dq', number_of_zones) + + def get_cumulative_mass_profile(self, indices_of_the_stars, number_of_zones=None): + frac_profile = self.get_mass_profile(indices_of_the_stars, number_of_zones=number_of_zones) + return frac_profile.cumsum() + + def set_mass_profile(self, indices_of_the_stars, values, number_of_zones=None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Setting mass profiles") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + self._check_supplied_values(len(values), number_of_zones) + self.set_mass_fraction_at_zone([indices_of_the_stars]*number_of_zones, list(range(number_of_zones)) | units.none, values) + + def get_luminosity_profile(self, indices_of_the_stars, number_of_zones=None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying luminosity profiles") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + return self.get_profile(indices_of_the_stars, 'luminosity', number_of_zones) | units.LSun + + def set_luminosity_profile(self, indices_of_the_stars, values, number_of_zones=None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Setting luminosity profiles") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + self._check_supplied_values(len(values), number_of_zones) + self.set_luminosity_at_zone([indices_of_the_stars]*number_of_zones, list(range(number_of_zones)) | units.none, values) + + def get_entropy_profile(self, indices_of_the_stars, number_of_zones=None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying entropy profiles") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + + return self.get_profile(indices_of_the_stars, 'entropy', number_of_zones) | units.erg/units.K + + def get_thermal_energy_profile(self, indices_of_the_stars, number_of_zones=None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying thermal energy profiles") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + + return self.get_profile(indices_of_the_stars, 'energy', number_of_zones) | units.erg/units.s/units.g + + def get_temperature_profile(self, indices_of_the_stars, number_of_zones=None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying temperature profiles") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + + return self.get_profile(indices_of_the_stars, 'temperature', number_of_zones) | units.K + + def get_density_profile(self, indices_of_the_stars, number_of_zones=None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying density profiles") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + + return self.get_profile(indices_of_the_stars, 'density', number_of_zones) | units.g/(units.cm*units.cm*units.cm) + + def get_radius_profile(self, indices_of_the_stars, number_of_zones=None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying radius profiles") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + + return self.get_profile(indices_of_the_stars, 'radius', number_of_zones) | units.RSun + + def get_pressure_profile(self, indices_of_the_stars, number_of_zones=None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying pressure profiles") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + + return self.get_profile(indices_of_the_stars, 'pressure', number_of_zones) | units.g/(units.cm * units.s * units.s) + + def get_pressure_scale_height_profile(self, indices_of_the_stars, number_of_zones=None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying pressure scale height profiles") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + + return self.get_profile(indices_of_the_stars, 'pressure_scale_height', number_of_zones) | units.RSun + + def get_mu_profile(self, indices_of_the_stars, number_of_zones=None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying mu profiles") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + + return self.get_profile(indices_of_the_stars, 'mu', number_of_zones) | units.amu + + def get_brunt_vaisala_frequency_squared_profile(self, indices_of_the_stars, number_of_zones=None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying brunt-vaisala-frequency-squared profiles") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + + return self.get_profile(indices_of_the_stars, 'brunt_N2', number_of_zones) | units.none + + def get_IDs_of_species(self, indices_of_the_stars, number_of_species=None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying chemical abundance IDs") + if number_of_species is None: + number_of_species = self.get_number_of_species(indices_of_the_stars) + return list(range(1, number_of_species+1)) + + def get_profile(self, indices_of_the_stars, name, number_of_zones=None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying profiles") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + return self.get_profile_at_zone([indices_of_the_stars]*number_of_zones, list(range(number_of_zones)) | units.none, [name]*number_of_zones) + + def get_masses_of_species(self, indices_of_the_stars, number_of_species=None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying chemical abundance mass numbers") + if number_of_species is None: + number_of_species = self.get_number_of_species(indices_of_the_stars) + return self.get_mass_of_species( + [indices_of_the_stars]*number_of_species, + list(range(1, number_of_species+1)) + ) + + def get_extra_heat(self, indices_of_the_stars, number_of_zones=None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying extra_heat ") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + + return self.get_mesa_value([indices_of_the_stars]*number_of_zones, ['extra_heat']*number_of_zones, list(range(1, number_of_zones+1))) | units.erg/units.g/units.s + + def set_extra_heat(self, indices_of_the_stars, values , number_of_zones=None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Setting extra_heat ") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + + return self.set_mesa_value([indices_of_the_stars]*number_of_zones, ['extra_heat']*number_of_zones, values, list(range(1, number_of_zones+1))) + + def get_mesa_value_profile(self, indices_of_the_stars, name, number_of_zones=None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Querying generic mesa_get_value") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + + return self.get_mesa_value([indices_of_the_stars]*number_of_zones, [name]*number_of_zones, list(range(1, number_of_zones+1))) + + def set_mesa_value_profile(self, indices_of_the_stars, name, values , number_of_zones=None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string="Setting generic mesa_get_value") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + + return self.set_mesa_value([indices_of_the_stars]*number_of_zones, [name]*number_of_zones, values, list(range(1, number_of_zones+1))) + + def new_particle_from_model(self, internal_structure, current_age=0|units.julianyr, key=None): + + if hasattr(internal_structure, 'get_profile'): + mm = internal_structure + + xqs = 10**mm.get_profile('logxq') # log(1-q) + temperature = mm.get_profile('temperature') | units.K + rho = mm.get_profile('rho') | units.g / units.cm**3 + + empty_comp = numpy.zeros(numpy.size(xqs)) + empty_comp[:] = 10**-50 # If you dont have anything in that isotope + + sm = mm.get_history('star_mass') + star_mass = [sm]*len(xqs) | units.MSun + species = [mm.get_name_of_species(i) for i in range(1, mm.get_number_of_species()+1)] + + xH1 = mm.get_profile('h1') if 'h1' in species else empty_comp + xHe3 = mm.get_profile('he3') if 'he3' in species else empty_comp + xHe4 = mm.get_profile('he4') if 'he4' in species else empty_comp + xC12 = mm.get_profile('c12') if 'c12' in species else empty_comp + xN14 = mm.get_profile('n14') if 'n14' in species else empty_comp + xO16 = mm.get_profile('o16') if 'o16' in species else empty_comp + xNe20 = mm.get_profile('ne20') if 'ne20' in species else empty_comp + xMg24 = mm.get_profile('mg24') if 'mg24' in species else empty_comp + xSi28 = mm.get_profile('si28') if 'si28' in species else empty_comp + xS32 = mm.get_profile('s32') if 's32' in species else empty_comp + xAr36 = mm.get_profile('ar36') if 'ar36' in species else empty_comp + xCa40 = mm.get_profile('ca40') if 'ca40' in species else empty_comp + xTi44 = mm.get_profile('ti44') if 'ti44' in species else empty_comp + xCr48 = mm.get_profile('cr48') if 'cr48' in species else empty_comp + xFe52 = mm.get_profile('fe52') if 'fe52' in species else empty_comp + xFe54 = mm.get_profile('fe54') if 'fe54' in species else empty_comp + xFe56 = mm.get_profile('fe56') if 'fe56' in species else empty_comp + xCr56 = mm.get_profile('cr56') if 'cr56' in species else empty_comp + xNi56 = mm.get_profile('ni56') if 'ni56' in species else empty_comp + + self.new_stellar_model( + star_mass, + xqs[::-1], + rho[::-1], + temperature[::-1], + xH1[::-1], + xHe3[::-1], + xHe4[::-1], + xC12[::-1], + xN14[::-1], + xO16[::-1], + xNe20[::-1], + xMg24[::-1], + xSi28[::-1], + xS32[::-1], + xAr36[::-1], + xCa40[::-1], + xTi44[::-1], + xCr48[::-1], + xFe52[::-1], + xFe54[::-1], + xFe56[::-1], + xCr56[::-1], + xNi56[::-1], + empty_comp[::-1], + empty_comp[::-1], + ) + + elif isinstance(internal_structure, dict): + + cumulative_mass_profile = internal_structure['mass'].value_in(units.MSun) + mass_profile = cumulative_mass_profile/cumulative_mass_profile.max() + xqs = 1.0 - mass_profile # 1-q + + star_mass = numpy.zeros(numpy.size(internal_structure['temperature'])) + star_mass[:] = internal_structure['mass'].max().value_in(units.MSun) + star_mass = star_mass | units.MSun + empty_comp = numpy.zeros(numpy.size(internal_structure['temperature'])) + empty_comp[:] = 10**-50 + + self.new_stellar_model( + star_mass, + xqs[::-1], + internal_structure['rho'][::-1], + internal_structure['temperature'][::-1], + internal_structure['X_H'][::-1], + empty_comp, + internal_structure['X_He'][::-1], + internal_structure['X_C'][::-1], + internal_structure['X_N'][::-1], + internal_structure['X_O'][::-1], + internal_structure['X_Ne'][::-1], + internal_structure['X_Mg'][::-1], + internal_structure['X_Si'][::-1], + empty_comp, + empty_comp, + empty_comp, + empty_comp, + empty_comp, + empty_comp, + empty_comp, + internal_structure['X_Fe'][::-1], + empty_comp, + empty_comp, + empty_comp[::-1], + empty_comp[::-1], + ) + else: + cumulative_mass_profile = internal_structure.mass.value_in(units.MSun) + mass_profile = cumulative_mass_profile/cumulative_mass_profile.max() + xqs = 1.0 - mass_profile # 1-q + + star_mass = numpy.zeros(numpy.size(internal_structure.temperature)) + star_mass[:] = internal_structure.mass.max().value_in(units.MSun) + star_mass = star_mass | units.MSun + empty_comp = numpy.zeros(numpy.size(internal_structure.temperature)) + empty_comp[:] = 10**-50 + + self.new_stellar_model( + star_mass, + xqs[::-1], + internal_structure.rho[::-1], + internal_structure.temperature[::-1], + internal_structure.X_H[::-1], + empty_comp, + internal_structure.X_He[::-1], + internal_structure.X_C[::-1], + internal_structure.X_N[::-1], + internal_structure.X_O[::-1], + internal_structure.X_Ne[::-1], + internal_structure.X_Mg[::-1], + internal_structure.X_Si[::-1], + empty_comp, + empty_comp, + empty_comp, + empty_comp, + empty_comp, + empty_comp, + empty_comp, + internal_structure.X_Fe[::-1], + empty_comp, + empty_comp, + empty_comp[::-1], + empty_comp[::-1], + ) + tmp_star = datamodel.Particle(key=key) + tmp_star.age_tag = current_age + return self.imported_stars.add_particle(tmp_star) + + +MESA = Mesa diff --git a/src/amuse/community/mesa_r15140/mesa_interface.f90 b/src/amuse_mesa_r15140/mesa_interface.f90 similarity index 100% rename from src/amuse/community/mesa_r15140/mesa_interface.f90 rename to src/amuse_mesa_r15140/mesa_interface.f90 diff --git a/src/amuse_mesa_r15140/packages/amuse-mesa-r15140.amuse_deps b/src/amuse_mesa_r15140/packages/amuse-mesa-r15140.amuse_deps new file mode 100644 index 0000000000..6b28883910 --- /dev/null +++ b/src/amuse_mesa_r15140/packages/amuse-mesa-r15140.amuse_deps @@ -0,0 +1 @@ +c c++ fortran python bison cmake install download patch mpi openmp hdf5 diff --git a/src/amuse_mesa_r15140/packages/amuse-mesa-r15140/amuse_mesa_r15140 b/src/amuse_mesa_r15140/packages/amuse-mesa-r15140/amuse_mesa_r15140 new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_mesa_r15140/packages/amuse-mesa-r15140/amuse_mesa_r15140 @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_mesa_r15140/packages/amuse-mesa-r15140/pyproject.toml b/src/amuse_mesa_r15140/packages/amuse-mesa-r15140/pyproject.toml new file mode 100644 index 0000000000..4e97ef15f1 --- /dev/null +++ b/src/amuse_mesa_r15140/packages/amuse-mesa-r15140/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-mesa-r15140" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_mesa_r15140/**/*.py"] +exclude = [ + "amuse_mesa_r15140/packages", + "amuse_mesa_r15140/support", + "amuse_mesa_r15140/src", + "amuse_mesa_r15140/tests" + ] +artifacts = ["amuse_mesa_r15140/mesa_r15140_worker"] + +[tool.pytest.ini_options] +pythonpath = ["../../../../../", "amuse/community/mesa_r15140/tests/"] + +testpaths = ["amuse_mesa_r15140/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/mesa_r15140/patches/0001-Add-support-for-namelist-setting-from-a-string.patch b/src/amuse_mesa_r15140/patches/0001-Add-support-for-namelist-setting-from-a-string.patch similarity index 100% rename from src/amuse/community/mesa_r15140/patches/0001-Add-support-for-namelist-setting-from-a-string.patch rename to src/amuse_mesa_r15140/patches/0001-Add-support-for-namelist-setting-from-a-string.patch diff --git a/src/amuse/community/mesa_r15140/patches/0001-Dont-make-empty-output-directories.patch b/src/amuse_mesa_r15140/patches/0001-Dont-make-empty-output-directories.patch similarity index 100% rename from src/amuse/community/mesa_r15140/patches/0001-Dont-make-empty-output-directories.patch rename to src/amuse_mesa_r15140/patches/0001-Dont-make-empty-output-directories.patch diff --git a/src/amuse/community/mesa_r15140/patches/0001-Fix-astero-builds-when-disabled.patch b/src/amuse_mesa_r15140/patches/0001-Fix-astero-builds-when-disabled.patch similarity index 100% rename from src/amuse/community/mesa_r15140/patches/0001-Fix-astero-builds-when-disabled.patch rename to src/amuse_mesa_r15140/patches/0001-Fix-astero-builds-when-disabled.patch diff --git a/src/amuse/community/mesa_r15140/patches/0001-Get-photo-loading-working.patch b/src/amuse_mesa_r15140/patches/0001-Get-photo-loading-working.patch similarity index 100% rename from src/amuse/community/mesa_r15140/patches/0001-Get-photo-loading-working.patch rename to src/amuse_mesa_r15140/patches/0001-Get-photo-loading-working.patch diff --git a/src/amuse/community/mesa_r15140/patches/0001-Patch-error-messages.patch b/src/amuse_mesa_r15140/patches/0001-Patch-error-messages.patch similarity index 100% rename from src/amuse/community/mesa_r15140/patches/0001-Patch-error-messages.patch rename to src/amuse_mesa_r15140/patches/0001-Patch-error-messages.patch diff --git a/src/amuse/community/mesa_r15140/patches/0001-Stop-crashes-when-profile-column-name-is-bad.patch b/src/amuse_mesa_r15140/patches/0001-Stop-crashes-when-profile-column-name-is-bad.patch similarity index 100% rename from src/amuse/community/mesa_r15140/patches/0001-Stop-crashes-when-profile-column-name-is-bad.patch rename to src/amuse_mesa_r15140/patches/0001-Stop-crashes-when-profile-column-name-is-bad.patch diff --git a/src/amuse/community/mesa_r15140/patches/0001-declare-i.patch b/src/amuse_mesa_r15140/patches/0001-declare-i.patch similarity index 100% rename from src/amuse/community/mesa_r15140/patches/0001-declare-i.patch rename to src/amuse_mesa_r15140/patches/0001-declare-i.patch diff --git a/src/amuse/community/mesa_r15140/patches/0003-Add-mpi-to-utils.patch b/src/amuse_mesa_r15140/patches/0003-Add-mpi-to-utils.patch similarity index 100% rename from src/amuse/community/mesa_r15140/patches/0003-Add-mpi-to-utils.patch rename to src/amuse_mesa_r15140/patches/0003-Add-mpi-to-utils.patch diff --git a/src/amuse/community/mesa_r15140/patches/0004-Fix-adipls-and-gyre-builds.patch b/src/amuse_mesa_r15140/patches/0004-Fix-adipls-and-gyre-builds.patch similarity index 100% rename from src/amuse/community/mesa_r15140/patches/0004-Fix-adipls-and-gyre-builds.patch rename to src/amuse_mesa_r15140/patches/0004-Fix-adipls-and-gyre-builds.patch diff --git a/src/amuse_mesa_r15140/patches/0005-fix_mesa_utils_c_system.patch b/src/amuse_mesa_r15140/patches/0005-fix_mesa_utils_c_system.patch new file mode 100644 index 0000000000..c46c36fa9f --- /dev/null +++ b/src/amuse_mesa_r15140/patches/0005-fix_mesa_utils_c_system.patch @@ -0,0 +1,12 @@ +diff --color -urN a/mesa-r15140/utils/private/utils_c_system.c b/mesa-r15140/utils/private/utils_c_system.c +--- a/utils/private/utils_c_system.c 2024-12-09 07:48:39 ++++ b/utils/private/utils_c_system.c 2024-12-09 07:55:39 +@@ -39,7 +39,7 @@ + static const int SUCCESS=0; + static const int PATHLEN=4096; + static const char TEMPLATE[]="/.temp-XXXXXX"; +-static const int LEN_TEMP=strlen(TEMPLATE); ++static const int LEN_TEMP = sizeof(TEMPLATE) - 1; + + /* Makes a single directory at path (mkdir path) */ + int c_mkdir(const char * restrict path) { diff --git a/src/amuse_mesa_r15140/patches/0006-fix_cpp_and_lapack_template.patch b/src/amuse_mesa_r15140/patches/0006-fix_cpp_and_lapack_template.patch new file mode 100644 index 0000000000..4f01b1c1d4 --- /dev/null +++ b/src/amuse_mesa_r15140/patches/0006-fix_cpp_and_lapack_template.patch @@ -0,0 +1,2935 @@ +diff --color -urN a/mesa-r15140/mtx/make/makefile_base b/mesa-r15140/mtx/make/makefile_base +--- a/mtx/make/makefile_base 2024-12-12 08:09:17 ++++ b/mtx/make/makefile_base 2024-12-12 08:11:09 +@@ -245,12 +245,17 @@ + mtx_lib.f90 \ + + ifneq ($(MAKECMDGOALS),clean) +- $(shell $(CPP) -DDBLE $(MOD_PRIVATE_DIR)/my_lapack95.F90 > my_lapack95_dble.f90) +- $(shell $(CPP) $(MOD_PRIVATE_DIR)/my_lapack95.F90 > my_lapack95_quad.f90) ++ # .F90 doesn't work because the file system is case-insensitive on Mac, clang ++ # won't preprocess .f90 because that's the extension for already preprocessed ++ # files, gcc takes anything with a non-recognised extension for a linker template, ++ # and so we're naming this Fortran template file .c because that's the only thing ++ # that will work. Best I can do - LV. ++ $(shell $(CPP) -DDBLE $(MOD_PRIVATE_DIR)/my_lapack95.c -o my_lapack95_dble.f90) ++ $(shell $(CPP) $(MOD_PRIVATE_DIR)/my_lapack95.c -o my_lapack95_quad.f90) + # Alter the timestamps so make wont force a recompile just because we copied the files, + # instead we only recompile if the original .F90 file was changed +- $(shell touch -r $(MOD_PRIVATE_DIR)/my_lapack95.F90 my_lapack95_dble.f90) +- $(shell touch -r $(MOD_PRIVATE_DIR)/my_lapack95.F90 my_lapack95_quad.f90) ++ $(shell touch -r $(MOD_PRIVATE_DIR)/my_lapack95.c my_lapack95_dble.f90) ++ $(shell touch -r $(MOD_PRIVATE_DIR)/my_lapack95.c my_lapack95_quad.f90) + endif + + ################################################################# +@@ -383,7 +383,7 @@ + + .depend : + ifneq ($(QUIET),) +- @echo MAKEDEPF90 ++ @echo $(MAKEDEPF90) + @$(MAKEDEPF90) -I$(SRC_PATH) $(MTX_SRCS) > .depend + else + $(MAKEDEPF90) -I$(SRC_PATH) $(MTX_SRCS) > .depend +diff --color -urN a/mesa-r15140/mtx/private/my_lapack95.F90 b/mesa-r15140/mtx/private/my_lapack95.F90 +--- a/mtx/private/my_lapack95.F90 2024-12-12 08:09:17 ++++ b/mtx/private/my_lapack95.F90 1970-01-01 01:00:00 +@@ -1,1443 +0,0 @@ +- ! *********************************************************************** +-! +-! copyright (c) 2012 bill paxton +-! +-! mesa is free software; you can use it and/or modify +-! it under the combined terms and restrictions of the mesa manifesto +-! and the gnu general library public license as published +-! by the free software foundation; either version 2 of the license, +-! or (at your option) any later version. +-! +-! you should have received a copy of the mesa manifesto along with +-! this software; if not, it is available at the mesa website: +-! http://mesa.sourceforge.net/ +-! +-! mesa is distributed in the hope that it will be useful, +-! but without any warranty; without even the implied warranty of +-! merchantability or fitness for a particular purpose. +-! see the gnu library general public license for more details. +-! +-! you should have received a copy of the gnu library general public license +-! along with this software; if not, write to the free software +-! foundation, inc., 59 temple place, suite 330, boston, ma 02111-1307 usa +-! +-! *********************************************************************** +- +-#ifdef DBLE +- module my_lapack95_dble +- use const_def, only: dp +- use utils_lib, only: mesa_error +- implicit none +- integer, parameter :: fltp = dp +-#else +- module my_lapack95_quad +- use const_def, only: qp +- use utils_lib, only: mesa_error +- implicit none +- integer, parameter :: fltp = qp +-#endif +- +- +- +- contains +- +- +- subroutine my_gemv(m,n,a,lda,x,y) ! y = y - a*x +- integer lda,m,n +- real(fltp) :: a(:,:) ! (lda,*) +- real(fltp) :: x(:), y(:) +- real(fltp) :: tmp +- real(fltp), parameter :: zero=0 +- ! trans = 'n' +- ! alpha = -1 +- ! beta = 1 +- ! incx = 1 +- ! incy = 1 +- integer :: j, i +- do j = 1,n +- tmp = x(j) +- if (tmp.ne.zero) then +- do i = 1,m +- y(i) = y(i) - tmp*a(i,j) +- end do +- end if +- end do +- end subroutine my_gemv +- +- +- subroutine my_gemv_mv(m,n,a,x,b,z,y) ! y = y - a*x - b*z +- integer lda,m,n +- real(fltp) :: a(:,:), b(:,:) +- real(fltp) :: x(:), z(:), y(:) +- real(fltp) :: tmp_x, tmp_z +- real(fltp), parameter :: zero=0 +- integer :: j, i +- do j = 1,n +- tmp_x = x(j) +- tmp_z = z(j) +- if (tmp_x.ne.zero) then +- if (tmp_z /= zero) then +- do i = 1,m +- y(i) = y(i) - tmp_x*a(i,j) - tmp_z*b(i,j) +- end do +- else +- do i = 1,m +- y(i) = y(i) - tmp_x*a(i,j) +- end do +- end if +- else if (tmp_z /= zero) then +- do i = 1,m +- y(i) = y(i) - tmp_z*b(i,j) +- end do +- end if +- end do +- end subroutine my_gemv_mv +- +- +- subroutine my_gemv_p1(m,n,a,lda,x,y) ! y = y + a*x +- integer lda,m,n +- real(fltp) :: a(:,:) ! (lda,*) +- real(fltp) :: x(:), y(:) +- real(fltp) :: tmp +- real(fltp), parameter :: zero=0 +- ! trans = 'n' +- ! alpha = -1 +- ! beta = 1 +- ! incx = 1 +- ! incy = 1 +- integer :: j, i +- do j = 1,n +- tmp = x(j) +- if (tmp.ne.zero) then +- do i = 1,m +- y(i) = y(i) + tmp*a(i,j) +- end do +- end if +- end do +- end subroutine my_gemv_p1 +- +- +- subroutine my_gemv_p_mv(m,n,a,x,b,z,y) ! y = y + a*x + b*z +- integer lda,m,n +- real(fltp) :: a(:,:), b(:,:) +- real(fltp) :: x(:), z(:), y(:) +- real(fltp) :: tmp_x, tmp_z +- real(fltp), parameter :: zero=0 +- integer :: j, i +- do j = 1,n +- tmp_x = x(j) +- tmp_z = z(j) +- if (tmp_x.ne.zero) then +- if (tmp_z /= zero) then +- do i = 1,m +- y(i) = y(i) + tmp_x*a(i,j) + tmp_z*b(i,j) +- end do +- else +- do i = 1,m +- y(i) = y(i) + tmp_x*a(i,j) +- end do +- end if +- else if (tmp_z /= zero) then +- do i = 1,m +- y(i) = y(i) + tmp_z*b(i,j) +- end do +- end if +- end do +- end subroutine my_gemv_p_mv +- +- +- subroutine my_gemm(m,n,k,a,lda,b,ldb,c,ldc) ! c := c - a*b +- integer, intent(in) :: k,lda,ldb,ldc,m,n +- real(fltp), dimension(:,:) :: a, b, c ! a(lda,*),b(ldb,*),c(ldc,*) +- real(fltp) :: tmp +- real(fltp), parameter :: zero=0 +- integer :: j, i, l +- ! transa = 'n' +- ! transb = 'n' +- ! alpha = -1 +- ! beta = 1 +- ! assumes other args are valid +- do j = 1,n +- do l = 1,k +- tmp = b(l,j) +- if (tmp .ne. zero) then +- do i = 1,m +- c(i,j) = c(i,j) - tmp*a(i,l) +- end do +- end if +- end do +- end do +- end subroutine my_gemm +- +- +- subroutine my_gemm_p1(m,n,k,a,lda,b,ldb,c,ldc) ! c := c + a*b +- integer, intent(in) :: k,lda,ldb,ldc,m,n +- real(fltp), dimension(:,:) :: a, b, c ! a(lda,*),b(ldb,*),c(ldc,*) +- real(fltp) :: tmp +- real(fltp), parameter :: zero=0 +- integer :: j, i, l +- ! transa = 'n' +- ! transb = 'n' +- ! alpha = 1 +- ! beta = 1 +- ! assumes other args are valid +- do j = 1,n +- do l = 1,k +- tmp = b(l,j) +- if (tmp .ne. zero) then +- do i = 1,m +- c(i,j) = c(i,j) + tmp*a(i,l) +- end do +- end if +- end do +- end do +- end subroutine my_gemm_p1 +- +- +- subroutine my_gemm_plus_mm(m,n,k,a,b,d,e,c) ! c := c + a*b + d*e +- integer, intent(in) :: k,m,n +- real(fltp), dimension(:,:) :: a, b, c, d, e +- real(fltp) :: tmp_b, tmp_e +- real(fltp), parameter :: zero=0 +- integer :: j, i, l +- do j = 1,n +- do l = 1,k +- tmp_b = b(l,j) +- tmp_e = e(l,j) +- if (tmp_b .ne. zero) then +- if (tmp_e .ne. zero) then +- do i = 1,m +- c(i,j) = c(i,j) + tmp_b*a(i,l) + tmp_e*d(i,l) +- end do +- else +- do i = 1,m +- c(i,j) = c(i,j) + tmp_b*a(i,l) +- end do +- end if +- else if (tmp_e .ne. zero) then +- do i = 1,m +- c(i,j) = c(i,j) + tmp_e*d(i,l) +- end do +- end if +- end do +- end do +- end subroutine my_gemm_plus_mm +- +- +- subroutine my_gemm0(m,n,k,a,lda,b,ldb,c,ldc) +- ! c := -a*b +- integer, intent(in) :: k,lda,ldb,ldc,m,n +- real(fltp), dimension(:,:) :: a, b, c ! a(lda,*),b(ldb,*),c(ldc,*) +- integer :: j, i +- real(fltp), parameter :: zero=0 +- include 'formats.dek' +- ! transa = 'n' +- ! transb = 'n' +- ! alpha = -1 +- ! beta = 0 +- ! assumes other args are valid +- do j=1,n +- do i=1,m +- c(i,j) = zero +- end do +- end do +- call my_gemm(m,n,k,a,lda,b,ldb,c,ldc) +- end subroutine my_gemm0 +- +- +- subroutine my_gemm0_p1(m,n,k,a,lda,b,ldb,c,ldc) +- ! c := -a*b +- integer, intent(in) :: k,lda,ldb,ldc,m,n +- real(fltp), dimension(:,:) :: a, b, c ! a(lda,*),b(ldb,*),c(ldc,*) +- integer :: j, i +- real(fltp), parameter :: zero=0 +- include 'formats.dek' +- ! transa = 'n' +- ! transb = 'n' +- ! alpha = -1 +- ! beta = 0 +- ! assumes other args are valid +- do j=1,n +- do i=1,m +- c(i,j) = zero +- end do +- end do +- call my_gemm_p1(m,n,k,a,lda,b,ldb,c,ldc) +- end subroutine my_gemm0_p1 +- +- +- subroutine my_getf2(m, a, lda, ipiv, sfmin, info) +- integer :: info, lda, m +- integer :: ipiv(:) +- real(fltp) :: a(:,:) +- real(fltp) :: sfmin +- real(fltp), parameter :: one=1, zero=0 +- integer :: i, j, jp, ii, jj, n, mm +- real(fltp) :: tmp, da +- if (m == 4) then +- call my_getf2_4_by_4(a, lda, ipiv, sfmin, info) +- return +- else if (m == 5) then +- call my_getf2_5_by_5(a, lda, ipiv, sfmin, info) +- return +- end if +- do j = 1, m +- info = 0 +- jp = j - 1 + maxloc(abs(a(j:lda,j)),dim=1) +- ipiv( j ) = jp +- if( a( jp, j ).ne.zero ) then +- if( jp.ne.j ) then ! swap a(j,:) and a(jp,:) +- do i=1,m +- tmp = a(j,i) +- a(j,i) = a(jp,i) +- a(jp,i) = tmp +- end do +- end if +- if( j.lt.m ) then +- if( abs(a( j, j )) .ge. sfmin ) then +- da = one / a( j, j ) +- n = m-j +- mm = mod(n,5) +- if (mm /= 0) then +- do i = 1,mm +- a(j+i,j) = da*a(j+i,j) +- end do +- end if +- if (n >= 5) then +- do i = mm + 1,n,5 +- a(j+i,j) = da*a(j+i,j) +- a(j+i+1,j) = da*a(j+i+1,j) +- a(j+i+2,j) = da*a(j+i+2,j) +- a(j+i+3,j) = da*a(j+i+3,j) +- a(j+i+4,j) = da*a(j+i+4,j) +- end do +- end if +- else ! no scale +- do i = 1, m-j +- a( j+i, j ) = a( j+i, j ) / a( j, j ) +- end do +- end if +- end if +- else if( info.eq.0 ) then +- info = j +- end if +- if( j.lt.m ) then +- !call dger( m-j, m-j, -one, a( j+1, j ), 1, a( j, j+1 ), lda, a( j+1, j+1 ), lda ) +- do jj = j+1, m +- do ii = j+1, m +- a(ii,jj) = a(ii,jj) - a(ii,j)*a(j,jj) +- end do +- end do +- end if +- end do +- end subroutine my_getf2 +- +- +- subroutine my_getf2_4_by_4(a, lda, ipiv, sfmin, info) +- integer :: info, lda ! m=4 +- integer :: ipiv(:) +- real(fltp) :: a(:,:) +- real(fltp) :: sfmin +- real(fltp), parameter :: one=1, zero=0 +- integer :: jp +- real(fltp) :: tmp, da +- info = 0 +- +- jp = maxloc(abs(a(1:lda,1)),dim=1) +- ipiv( 1 ) = jp +- if( a( jp, 1 ).ne.zero ) then +- if( jp.ne.1 ) then ! swap a(1,:) and a(jp,:) +- tmp = a(1,1) +- a(1,1) = a(jp,1) +- a(jp,1) = tmp +- tmp = a(1,2) +- a(1,2) = a(jp,2) +- a(jp,2) = tmp +- tmp = a(1,3) +- a(1,3) = a(jp,3) +- a(jp,3) = tmp +- tmp = a(1,4) +- a(1,4) = a(jp,4) +- a(jp,4) = tmp +- end if +- if( abs(a( 1, 1 )) .ge. sfmin ) then +- da = one / a( 1, 1 ) +- a(2,1) = da*a(2,1) +- a(3,1) = da*a(3,1) +- a(4,1) = da*a(4,1) +- else ! no scale +- a( 2, 1 ) = a( 2, 1 ) / a( 1, 1 ) +- a( 3, 1 ) = a( 3, 1 ) / a( 1, 1 ) +- a( 4, 1 ) = a( 4, 1 ) / a( 1, 1 ) +- end if +- else if( info.eq.0 ) then +- info = 1 +- end if +- a(2,2) = a(2,2) - a(2,1)*a(1,2) +- a(3,2) = a(3,2) - a(3,1)*a(1,2) +- a(4,2) = a(4,2) - a(4,1)*a(1,2) +- a(2,3) = a(2,3) - a(2,1)*a(1,3) +- a(3,3) = a(3,3) - a(3,1)*a(1,3) +- a(4,3) = a(4,3) - a(4,1)*a(1,3) +- a(2,4) = a(2,4) - a(2,1)*a(1,4) +- a(3,4) = a(3,4) - a(3,1)*a(1,4) +- a(4,4) = a(4,4) - a(4,1)*a(1,4) +- +- jp = 1 + maxloc(abs(a(2:lda,2)),dim=1) +- ipiv( 2 ) = jp +- if( a( jp, 2 ).ne.zero ) then +- if( jp.ne.2 ) then ! swap a(2,:) and a(jp,:) +- tmp = a(2,1) +- a(2,1) = a(jp,1) +- a(jp,1) = tmp +- tmp = a(2,2) +- a(2,2) = a(jp,2) +- a(jp,2) = tmp +- tmp = a(2,3) +- a(2,3) = a(jp,3) +- a(jp,3) = tmp +- tmp = a(2,4) +- a(2,4) = a(jp,4) +- a(jp,4) = tmp +- end if +- if( abs(a( 2, 2 )) .ge. sfmin ) then +- da = one / a( 2, 2 ) +- a(3,2) = da*a(3,2) +- a(4,2) = da*a(4,2) +- else ! no scale +- a( 3, 2 ) = a( 3, 2 ) / a( 2, 2 ) +- a( 4, 2 ) = a( 4, 2 ) / a( 2, 2 ) +- end if +- else if( info.eq.0 ) then +- info = 2 +- end if +- a(3,3) = a(3,3) - a(3,2)*a(2,3) +- a(4,3) = a(4,3) - a(4,2)*a(2,3) +- a(3,4) = a(3,4) - a(3,2)*a(2,4) +- a(4,4) = a(4,4) - a(4,2)*a(2,4) +- +- jp = 2 + maxloc(abs(a(3:lda,3)),dim=1) +- ipiv( 3 ) = jp +- if( a( jp, 3 ).ne.zero ) then +- if( jp.ne.3 ) then ! swap a(3,:) and a(jp,:) +- tmp = a(3,1) +- a(3,1) = a(jp,1) +- a(jp,1) = tmp +- tmp = a(3,2) +- a(3,2) = a(jp,2) +- a(jp,2) = tmp +- tmp = a(3,3) +- a(3,3) = a(jp,3) +- a(jp,3) = tmp +- tmp = a(3,4) +- a(3,4) = a(jp,4) +- a(jp,4) = tmp +- end if +- if( abs(a( 3, 3 )) .ge. sfmin ) then +- da = one / a( 3, 3 ) +- a(4,3) = da*a(4,3) +- else ! no scale +- a( 4, 3 ) = a( 4, 3 ) / a( 3, 3 ) +- end if +- else if( info.eq.0 ) then +- info = 3 +- end if +- a(4,4) = a(4,4) - a(4,3)*a(3,4) +- +- jp = 3 + maxloc(abs(a(4:lda,4)),dim=1) +- ipiv( 4 ) = jp +- if( a( jp, 4 ).ne.zero ) then +- if( jp.ne.4 ) then ! swap a(4,:) and a(jp,:) +- tmp = a(4,1) +- a(4,1) = a(jp,1) +- a(jp,1) = tmp +- tmp = a(4,2) +- a(4,2) = a(jp,2) +- a(jp,2) = tmp +- tmp = a(4,3) +- a(4,3) = a(jp,3) +- a(jp,3) = tmp +- tmp = a(4,4) +- a(4,4) = a(jp,4) +- a(jp,4) = tmp +- end if +- else if( info.eq.0 ) then +- info = 4 +- end if +- +- end subroutine my_getf2_4_by_4 +- +- +- subroutine my_getf2_5_by_5(a, lda, ipiv, sfmin, info) +- integer :: info, lda ! m=5 +- integer :: ipiv(:) +- real(fltp) :: a(:,:) +- real(fltp) :: sfmin +- real(fltp), parameter :: one=1, zero=0 +- integer :: jp +- real(fltp) :: tmp, da +- info = 0 +- jp = maxloc(abs(a(1:lda,1)),dim=1) +- ipiv( 1 ) = jp +- if( a( jp, 1 ).ne.zero ) then +- if( jp.ne.1 ) then ! swap a(1,:) and a(jp,:) +- tmp = a(1,1) +- a(1,1) = a(jp,1) +- a(jp,1) = tmp +- tmp = a(1,2) +- a(1,2) = a(jp,2) +- a(jp,2) = tmp +- tmp = a(1,3) +- a(1,3) = a(jp,3) +- a(jp,3) = tmp +- tmp = a(1,4) +- a(1,4) = a(jp,4) +- a(jp,4) = tmp +- tmp = a(1,5) +- a(1,5) = a(jp,5) +- a(jp,5) = tmp +- end if +- if( abs(a( 1, 1 )) .ge. sfmin ) then +- da = one / a( 1, 1 ) +- a(2,1) = da*a(2,1) +- a(3,1) = da*a(3,1) +- a(4,1) = da*a(4,1) +- a(5,1) = da*a(5,1) +- else ! no scale +- a( 2, 1 ) = a( 2, 1 ) / a( 1, 1 ) +- a( 3, 1 ) = a( 3, 1 ) / a( 1, 1 ) +- a( 4, 1 ) = a( 4, 1 ) / a( 1, 1 ) +- a( 5, 1 ) = a( 5, 1 ) / a( 1, 1 ) +- end if +- else if( info.eq.0 ) then +- info = 1 +- end if +- a(2,2) = a(2,2) - a(2,1)*a(1,2) +- a(3,2) = a(3,2) - a(3,1)*a(1,2) +- a(4,2) = a(4,2) - a(4,1)*a(1,2) +- a(5,2) = a(5,2) - a(5,1)*a(1,2) +- a(2,3) = a(2,3) - a(2,1)*a(1,3) +- a(3,3) = a(3,3) - a(3,1)*a(1,3) +- a(4,3) = a(4,3) - a(4,1)*a(1,3) +- a(5,3) = a(5,3) - a(5,1)*a(1,3) +- a(2,4) = a(2,4) - a(2,1)*a(1,4) +- a(3,4) = a(3,4) - a(3,1)*a(1,4) +- a(4,4) = a(4,4) - a(4,1)*a(1,4) +- a(5,4) = a(5,4) - a(5,1)*a(1,4) +- a(2,5) = a(2,5) - a(2,1)*a(1,5) +- a(3,5) = a(3,5) - a(3,1)*a(1,5) +- a(4,5) = a(4,5) - a(4,1)*a(1,5) +- a(5,5) = a(5,5) - a(5,1)*a(1,5) +- +- jp = 1 + maxloc(abs(a(2:lda,2)),dim=1) +- ipiv( 2 ) = jp +- if( a( jp, 2 ).ne.zero ) then +- if( jp.ne.2 ) then ! swap a(2,:) and a(jp,:) +- tmp = a(2,1) +- a(2,1) = a(jp,1) +- a(jp,1) = tmp +- tmp = a(2,2) +- a(2,2) = a(jp,2) +- a(jp,2) = tmp +- tmp = a(2,3) +- a(2,3) = a(jp,3) +- a(jp,3) = tmp +- tmp = a(2,4) +- a(2,4) = a(jp,4) +- a(jp,4) = tmp +- tmp = a(2,5) +- a(2,5) = a(jp,5) +- a(jp,5) = tmp +- end if +- if( abs(a( 2, 2 )) .ge. sfmin ) then +- da = one / a( 2, 2 ) +- a(3,2) = da*a(3,2) +- a(4,2) = da*a(4,2) +- a(5,2) = da*a(5,2) +- else ! no scale +- a( 3, 2 ) = a( 3, 2 ) / a( 2, 2 ) +- a( 4, 2 ) = a( 4, 2 ) / a( 2, 2 ) +- a( 5, 2 ) = a( 5, 2 ) / a( 2, 2 ) +- end if +- else if( info.eq.0 ) then +- info = 2 +- end if +- a(3,3) = a(3,3) - a(3,2)*a(2,3) +- a(4,3) = a(4,3) - a(4,2)*a(2,3) +- a(5,3) = a(5,3) - a(5,2)*a(2,3) +- a(3,4) = a(3,4) - a(3,2)*a(2,4) +- a(4,4) = a(4,4) - a(4,2)*a(2,4) +- a(5,4) = a(5,4) - a(5,2)*a(2,4) +- a(3,5) = a(3,5) - a(3,2)*a(2,5) +- a(4,5) = a(4,5) - a(4,2)*a(2,5) +- a(5,5) = a(5,5) - a(5,2)*a(2,5) +- +- jp = 2 + maxloc(abs(a(3:lda,3)),dim=1) +- ipiv( 3 ) = jp +- if( a( jp, 3 ).ne.zero ) then +- if( jp.ne.3 ) then ! swap a(3,:) and a(jp,:) +- tmp = a(3,1) +- a(3,1) = a(jp,1) +- a(jp,1) = tmp +- tmp = a(3,2) +- a(3,2) = a(jp,2) +- a(jp,2) = tmp +- tmp = a(3,3) +- a(3,3) = a(jp,3) +- a(jp,3) = tmp +- tmp = a(3,4) +- a(3,4) = a(jp,4) +- a(jp,4) = tmp +- tmp = a(3,5) +- a(3,5) = a(jp,5) +- a(jp,5) = tmp +- end if +- if( abs(a( 3, 3 )) .ge. sfmin ) then +- da = one / a( 3, 3 ) +- a(4,3) = da*a(4,3) +- a(5,3) = da*a(5,3) +- else ! no scale +- a( 4, 3 ) = a( 4, 3 ) / a( 3, 3 ) +- a( 4, 3 ) = a( 4, 3 ) / a( 3, 3 ) +- end if +- else if( info.eq.0 ) then +- info = 3 +- end if +- a(4,4) = a(4,4) - a(4,3)*a(3,4) +- a(5,4) = a(5,4) - a(5,3)*a(3,4) +- a(4,5) = a(4,5) - a(4,3)*a(3,5) +- a(5,5) = a(5,5) - a(5,3)*a(3,5) +- +- jp = 3 + maxloc(abs(a(4:lda,4)),dim=1) +- ipiv( 4 ) = jp +- if( a( jp, 4 ).ne.zero ) then +- if( jp.ne.4 ) then ! swap a(4,:) and a(jp,:) +- tmp = a(4,1) +- a(4,1) = a(jp,1) +- a(jp,1) = tmp +- tmp = a(4,2) +- a(4,2) = a(jp,2) +- a(jp,2) = tmp +- tmp = a(4,3) +- a(4,3) = a(jp,3) +- a(jp,3) = tmp +- tmp = a(4,4) +- a(4,4) = a(jp,4) +- a(jp,4) = tmp +- tmp = a(4,5) +- a(4,5) = a(jp,5) +- a(jp,5) = tmp +- end if +- if( abs(a( 4, 4 )) .ge. sfmin ) then +- da = one / a( 4, 4 ) +- a(5,4) = da*a(5,4) +- else ! no scale +- a( 5, 4 ) = a( 5, 4 ) / a( 4, 4 ) +- end if +- else if( info.eq.0 ) then +- info = 4 +- end if +- a(5,5) = a(5,5) - a(5,4)*a(4,5) +- +- jp = 4 + maxloc(abs(a(5:lda,5)),dim=1) +- ipiv( 5 ) = jp +- if( a( jp, 5 ).ne.zero ) then +- if( jp.ne.5 ) then ! swap a(5,:) and a(jp,:) +- tmp = a(5,1) +- a(5,1) = a(jp,1) +- a(jp,1) = tmp +- tmp = a(5,2) +- a(5,2) = a(jp,2) +- a(jp,2) = tmp +- tmp = a(5,3) +- a(5,3) = a(jp,3) +- a(jp,3) = tmp +- tmp = a(5,4) +- a(5,4) = a(jp,4) +- a(jp,4) = tmp +- tmp = a(5,5) +- a(5,5) = a(jp,5) +- a(jp,5) = tmp +- end if +- else if( info.eq.0 ) then +- info = 5 +- end if +- +- end subroutine my_getf2_5_by_5 +- +- +- subroutine my_laswp( n, a, lda, k1, k2, ipiv, incx ) +- integer :: incx, k1, k2, lda, n +- integer :: ipiv(:) +- real(fltp) :: a(:,:) ! a( lda, * ) +- integer :: i, i1, i2, inc, ip, ix, ix0, j, k, n32 +- real(fltp) :: temp +- ! interchange row i with row ipiv(i) for each of rows k1 through k2. +- if( incx.gt.0 ) then +- ix0 = k1 +- i1 = k1 +- i2 = k2 +- inc = 1 +- else if( incx.lt.0 ) then +- ix0 = 1 + ( 1-k2 )*incx +- i1 = k2 +- i2 = k1 +- inc = -1 +- else +- return +- end if +- n32 = ( n / 32 )*32 +- if( n32.ne.0 ) then +- do j = 1, n32, 32 +- ix = ix0 +- do i = i1, i2, inc +- ip = ipiv( ix ) +- if( ip.ne.i ) then +- do k = j, j + 31 +- temp = a( i, k ) +- a( i, k ) = a( ip, k ) +- a( ip, k ) = temp +- end do +- end if +- ix = ix + incx +- end do +- end do +- end if +- if( n32.ne.n ) then +- n32 = n32 + 1 +- ix = ix0 +- do i = i1, i2, inc +- ip = ipiv( ix ) +- if( ip.ne.i ) then +- do k = n32, n +- temp = a( i, k ) +- a( i, k ) = a( ip, k ) +- a( ip, k ) = temp +- end do +- end if +- ix = ix + incx +- end do +- end if +- end subroutine my_laswp +- +- +- subroutine my_laswp_4_by_1( a, lda, ipiv ) +- ! n == 1, k1 == 1, k2 == 4, incx == 1 +- integer :: incx, k1, lda +- integer :: ipiv(:) +- real(fltp) :: a(:,:) ! a( lda, * ) +- integer :: ip +- real(fltp) :: temp +- ! interchange row i with row ipiv(i) for each of rows k1 through k2. +- ip = ipiv( 1 ) +- if( ip.ne.1 ) then +- temp = a( 1, 1 ) +- a( 1, 1 ) = a( ip, 1 ) +- a( ip, 1 ) = temp +- end if +- ip = ipiv( 2 ) +- if( ip.ne.2 ) then +- temp = a( 2, 1 ) +- a( 2, 1 ) = a( ip, 1 ) +- a( ip, 1 ) = temp +- end if +- ip = ipiv( 3 ) +- if( ip.ne.3 ) then +- temp = a( 3, 1 ) +- a( 3, 1 ) = a( ip, 1 ) +- a( ip, 1 ) = temp +- end if +- ip = ipiv( 4 ) +- if( ip.ne.4 ) then +- temp = a( 4, 1 ) +- a( 4, 1 ) = a( ip, 1 ) +- a( ip, 1 ) = temp +- end if +- end subroutine my_laswp_4_by_1 +- +- +- subroutine my_laswp_5_by_1( a, lda, ipiv ) +- ! n == 1, k1 == 1, k2 == 5, incx == 1 +- integer :: incx, k1, lda +- integer :: ipiv(:) +- real(fltp) :: a(:,:) ! a( lda, * ) +- integer :: ip +- real(fltp) :: temp +- ! interchange row i with row ipiv(i) for each of rows k1 through k2. +- ip = ipiv( 1 ) +- if( ip.ne.1 ) then +- temp = a( 1, 1 ) +- a( 1, 1 ) = a( ip, 1 ) +- a( ip, 1 ) = temp +- end if +- ip = ipiv( 2 ) +- if( ip.ne.2 ) then +- temp = a( 2, 1 ) +- a( 2, 1 ) = a( ip, 1 ) +- a( ip, 1 ) = temp +- end if +- ip = ipiv( 3 ) +- if( ip.ne.3 ) then +- temp = a( 3, 1 ) +- a( 3, 1 ) = a( ip, 1 ) +- a( ip, 1 ) = temp +- end if +- ip = ipiv( 4 ) +- if( ip.ne.4 ) then +- temp = a( 4, 1 ) +- a( 4, 1 ) = a( ip, 1 ) +- a( ip, 1 ) = temp +- end if +- ip = ipiv( 5 ) +- if( ip.ne.5 ) then +- temp = a( 5, 1 ) +- a( 5, 1 ) = a( ip, 1 ) +- a( ip, 1 ) = temp +- end if +- end subroutine my_laswp_5_by_1 +- +- +- subroutine my_laswp_4_by_4( a, lda, ipiv ) +- integer :: lda +- integer :: ipiv(:) +- real(fltp) :: a(:,:) ! a( lda, * ) +- real(fltp) :: temp +- integer :: ip +- ! interchange row i with row ipiv(i) for each of rows 1 through 4. +- ip = ipiv( 1 ) +- if( ip.ne.1 ) then +- temp = a( 1, 1 ) +- a( 1, 1 ) = a( ip, 1 ) +- a( ip, 1 ) = temp +- temp = a( 1, 2 ) +- a( 1, 2 ) = a( ip, 2 ) +- a( ip, 2 ) = temp +- temp = a( 1, 3 ) +- a( 1, 3 ) = a( ip, 3 ) +- a( ip, 3 ) = temp +- temp = a( 1, 4 ) +- a( 1, 4 ) = a( ip, 4 ) +- a( ip, 4 ) = temp +- end if +- ip = ipiv( 2 ) +- if( ip.ne.2 ) then +- temp = a( 2, 1 ) +- a( 2, 1 ) = a( ip, 1 ) +- a( ip, 1 ) = temp +- temp = a( 2, 2 ) +- a( 2, 2 ) = a( ip, 2 ) +- a( ip, 2 ) = temp +- temp = a( 2, 3 ) +- a( 2, 3 ) = a( ip, 3 ) +- a( ip, 3 ) = temp +- temp = a( 2, 4 ) +- a( 2, 4 ) = a( ip, 4 ) +- a( ip, 4 ) = temp +- end if +- ip = ipiv( 3 ) +- if( ip.ne.3 ) then +- temp = a( 3, 1 ) +- a( 3, 1 ) = a( ip, 1 ) +- a( ip, 1 ) = temp +- temp = a( 3, 2 ) +- a( 3, 2 ) = a( ip, 2 ) +- a( ip, 2 ) = temp +- temp = a( 3, 3 ) +- a( 3, 3 ) = a( ip, 3 ) +- a( ip, 3 ) = temp +- temp = a( 3, 4 ) +- a( 3, 4 ) = a( ip, 4 ) +- a( ip, 4 ) = temp +- end if +- ip = ipiv( 4 ) +- if( ip.ne.4 ) then +- temp = a( 4, 1 ) +- a( 4, 1 ) = a( ip, 1 ) +- a( ip, 1 ) = temp +- temp = a( 4, 2 ) +- a( 4, 2 ) = a( ip, 2 ) +- a( ip, 2 ) = temp +- temp = a( 4, 3 ) +- a( 4, 3 ) = a( ip, 3 ) +- a( ip, 3 ) = temp +- temp = a( 4, 4 ) +- a( 4, 4 ) = a( ip, 4 ) +- a( ip, 4 ) = temp +- end if +- end subroutine my_laswp_4_by_4 +- +- +- subroutine my_laswp_5_by_5( a, lda, ipiv ) +- integer :: lda +- integer :: ipiv(:) +- real(fltp) :: a(:,:) ! a( lda, * ) +- real(fltp) :: temp +- integer :: ip +- ! interchange row i with row ipiv(i) for each of rows 1 through 5. +- ip = ipiv( 1 ) +- if( ip.ne.1 ) then +- temp = a( 1, 1 ) +- a( 1, 1 ) = a( ip, 1 ) +- a( ip, 1 ) = temp +- temp = a( 1, 2 ) +- a( 1, 2 ) = a( ip, 2 ) +- a( ip, 2 ) = temp +- temp = a( 1, 3 ) +- a( 1, 3 ) = a( ip, 3 ) +- a( ip, 3 ) = temp +- temp = a( 1, 4 ) +- a( 1, 4 ) = a( ip, 4 ) +- a( ip, 4 ) = temp +- temp = a( 1, 5 ) +- a( 1, 5 ) = a( ip, 5 ) +- a( ip, 5 ) = temp +- end if +- ip = ipiv( 2 ) +- if( ip.ne.2 ) then +- temp = a( 2, 1 ) +- a( 2, 1 ) = a( ip, 1 ) +- a( ip, 1 ) = temp +- temp = a( 2, 2 ) +- a( 2, 2 ) = a( ip, 2 ) +- a( ip, 2 ) = temp +- temp = a( 2, 3 ) +- a( 2, 3 ) = a( ip, 3 ) +- a( ip, 3 ) = temp +- temp = a( 2, 4 ) +- a( 2, 4 ) = a( ip, 4 ) +- a( ip, 4 ) = temp +- temp = a( 2, 5 ) +- a( 2, 5 ) = a( ip, 5 ) +- a( ip, 5 ) = temp +- end if +- ip = ipiv( 3 ) +- if( ip.ne.3 ) then +- temp = a( 3, 1 ) +- a( 3, 1 ) = a( ip, 1 ) +- a( ip, 1 ) = temp +- temp = a( 3, 2 ) +- a( 3, 2 ) = a( ip, 2 ) +- a( ip, 2 ) = temp +- temp = a( 3, 3 ) +- a( 3, 3 ) = a( ip, 3 ) +- a( ip, 3 ) = temp +- temp = a( 3, 4 ) +- a( 3, 4 ) = a( ip, 4 ) +- a( ip, 4 ) = temp +- temp = a( 3, 5 ) +- a( 3, 5 ) = a( ip, 5 ) +- a( ip, 5 ) = temp +- end if +- ip = ipiv( 4 ) +- if( ip.ne.4 ) then +- temp = a( 4, 1 ) +- a( 4, 1 ) = a( ip, 1 ) +- a( ip, 1 ) = temp +- temp = a( 4, 2 ) +- a( 4, 2 ) = a( ip, 2 ) +- a( ip, 2 ) = temp +- temp = a( 4, 3 ) +- a( 4, 3 ) = a( ip, 3 ) +- a( ip, 3 ) = temp +- temp = a( 4, 4 ) +- a( 4, 4 ) = a( ip, 4 ) +- a( ip, 4 ) = temp +- temp = a( 4, 5 ) +- a( 4, 5 ) = a( ip, 5 ) +- a( ip, 5 ) = temp +- end if +- ip = ipiv( 5 ) +- if( ip.ne.5 ) then +- temp = a( 5, 1 ) +- a( 5, 1 ) = a( ip, 1 ) +- a( ip, 1 ) = temp +- temp = a( 5, 2 ) +- a( 5, 2 ) = a( ip, 2 ) +- a( ip, 2 ) = temp +- temp = a( 5, 3 ) +- a( 5, 3 ) = a( ip, 3 ) +- a( ip, 3 ) = temp +- temp = a( 5, 4 ) +- a( 5, 4 ) = a( ip, 4 ) +- a( ip, 4 ) = temp +- temp = a( 5, 5 ) +- a( 5, 5 ) = a( ip, 5 ) +- a( ip, 5 ) = temp +- end if +- end subroutine my_laswp_5_by_5 +- +- +- subroutine my_getrs( n, nrhs, a, lda, ipiv, b, ldb, info ) +- integer :: info, lda, ldb, n, nrhs +- integer, pointer :: ipiv(:) +- real(fltp), pointer :: a(:,:), b(:,:) ! a( lda, * ), b( ldb, * ) +- real(fltp), parameter :: one=1, zero=0 +- real(fltp) :: temp +- integer :: i,j,k, n32, ix, ip +- info = 0 +- +- if (nrhs == 1) then +- if (n == 4) then +- call my_getrs_4_by_1( a, lda, ipiv, b, ldb, info ) +- return +- end if +- if (n == 5) then +- call my_getrs_5_by_1( a, lda, ipiv, b, ldb, info ) +- return +- end if +- else if (nrhs == 4 .and. n == 4) then +- call my_getrs_4_by_4( a, lda, ipiv, b, ldb, info ) +- return +- else if (nrhs == 5 .and. n == 5) then +- call my_getrs_5_by_5( a, lda, ipiv, b, ldb, info ) +- return +- end if +- +- call my_laswp(nrhs, b, ldb, 1, n, ipiv, 1 ) +- !call dtrsm( 'left', 'lower', 'no transpose', 'unit', n, nrhs, one, a, lda, b, ldb ) +- do j = 1,nrhs +- do k = 1,n +- if (b(k,j).ne.zero) then +- do i = k + 1,n +- b(i,j) = b(i,j) - b(k,j)*a(i,k) +- end do +- end if +- end do +- end do +- !call dtrsm( 'left', 'upper', 'no transpose', 'non-unit', n, nrhs, one, a, lda, b, ldb ) +- do j = 1,nrhs +- do k = n,1,-1 +- if (b(k,j).ne.zero) then +- b(k,j) = b(k,j)/a(k,k) +- do i = 1,k - 1 +- b(i,j) = b(i,j) - b(k,j)*a(i,k) +- end do +- end if +- end do +- end do +- +- end subroutine my_getrs +- +- +- subroutine my_getrs_5_by_5( a, lda, ipiv, b, ldb, info ) +- integer :: info, lda, ldb ! , n=5, nrhs=5 +- integer, pointer :: ipiv(:) +- real(fltp), pointer :: a(:,:), b(:,:) ! a( lda, * ), b( ldb, * ) +- real(fltp), parameter :: zero=0 +- +- integer :: j +- info = 0 +- +- !call my_laswp(5, b, ldb, 1, 5, ipiv, 1 ) +- call my_laswp_5_by_5( b, ldb, ipiv ) +- +- b(2,1) = b(2,1) - b(1,1)*a(2,1) +- b(3,1) = b(3,1) - b(1,1)*a(3,1) +- b(4,1) = b(4,1) - b(1,1)*a(4,1) +- b(5,1) = b(5,1) - b(1,1)*a(5,1) +- b(3,1) = b(3,1) - b(2,1)*a(3,2) +- b(4,1) = b(4,1) - b(2,1)*a(4,2) +- b(5,1) = b(5,1) - b(2,1)*a(5,2) +- b(4,1) = b(4,1) - b(3,1)*a(4,3) +- b(5,1) = b(5,1) - b(3,1)*a(5,3) +- b(5,1) = b(5,1) - b(4,1)*a(5,4) +- +- b(2,2) = b(2,2) - b(1,2)*a(2,1) +- b(3,2) = b(3,2) - b(1,2)*a(3,1) +- b(4,2) = b(4,2) - b(1,2)*a(4,1) +- b(5,2) = b(5,2) - b(1,2)*a(5,1) +- b(3,2) = b(3,2) - b(2,2)*a(3,2) +- b(4,2) = b(4,2) - b(2,2)*a(4,2) +- b(5,2) = b(5,2) - b(2,2)*a(5,2) +- b(4,2) = b(4,2) - b(3,2)*a(4,3) +- b(5,2) = b(5,2) - b(3,2)*a(5,3) +- b(5,2) = b(5,2) - b(4,2)*a(5,4) +- +- b(2,3) = b(2,3) - b(1,3)*a(2,1) +- b(3,3) = b(3,3) - b(1,3)*a(3,1) +- b(4,3) = b(4,3) - b(1,3)*a(4,1) +- b(5,3) = b(5,3) - b(1,3)*a(5,1) +- b(3,3) = b(3,3) - b(2,3)*a(3,2) +- b(4,3) = b(4,3) - b(2,3)*a(4,2) +- b(5,3) = b(5,3) - b(2,3)*a(5,2) +- b(4,3) = b(4,3) - b(3,3)*a(4,3) +- b(5,3) = b(5,3) - b(3,3)*a(5,3) +- b(5,3) = b(5,3) - b(4,3)*a(5,4) +- +- b(2,4) = b(2,4) - b(1,4)*a(2,1) +- b(3,4) = b(3,4) - b(1,4)*a(3,1) +- b(4,4) = b(4,4) - b(1,4)*a(4,1) +- b(5,4) = b(5,4) - b(1,4)*a(5,1) +- b(3,4) = b(3,4) - b(2,4)*a(3,2) +- b(4,4) = b(4,4) - b(2,4)*a(4,2) +- b(5,4) = b(5,4) - b(2,4)*a(5,2) +- b(4,4) = b(4,4) - b(3,4)*a(4,3) +- b(5,4) = b(5,4) - b(3,4)*a(5,3) +- b(5,4) = b(5,4) - b(4,4)*a(5,4) +- +- b(2,5) = b(2,5) - b(1,5)*a(2,1) +- b(3,5) = b(3,5) - b(1,5)*a(3,1) +- b(4,5) = b(4,5) - b(1,5)*a(4,1) +- b(5,5) = b(5,5) - b(1,5)*a(5,1) +- b(3,5) = b(3,5) - b(2,5)*a(3,2) +- b(4,5) = b(4,5) - b(2,5)*a(4,2) +- b(5,5) = b(5,5) - b(2,5)*a(5,2) +- b(4,5) = b(4,5) - b(3,5)*a(4,3) +- b(5,5) = b(5,5) - b(3,5)*a(5,3) +- b(5,5) = b(5,5) - b(4,5)*a(5,4) +- +- !call dtrsm( 'left', 'upper', 'no transpose', 'non-unit', n, nrhs, one, a, lda, b, ldb ) +- b(5,1) = b(5,1)/a(5,5) +- b(1,1) = b(1,1) - b(5,1)*a(1,5) +- b(2,1) = b(2,1) - b(5,1)*a(2,5) +- b(3,1) = b(3,1) - b(5,1)*a(3,5) +- b(4,1) = b(4,1) - b(5,1)*a(4,5) +- b(4,1) = b(4,1)/a(4,4) +- b(1,1) = b(1,1) - b(4,1)*a(1,4) +- b(2,1) = b(2,1) - b(4,1)*a(2,4) +- b(3,1) = b(3,1) - b(4,1)*a(3,4) +- b(3,1) = b(3,1)/a(3,3) +- b(1,1) = b(1,1) - b(3,1)*a(1,3) +- b(2,1) = b(2,1) - b(3,1)*a(2,3) +- b(2,1) = b(2,1)/a(2,2) +- b(1,1) = b(1,1) - b(2,1)*a(1,2) +- b(1,1) = b(1,1)/a(1,1) +- +- b(5,2) = b(5,2)/a(5,5) +- b(1,2) = b(1,2) - b(5,2)*a(1,5) +- b(2,2) = b(2,2) - b(5,2)*a(2,5) +- b(3,2) = b(3,2) - b(5,2)*a(3,5) +- b(4,2) = b(4,2) - b(5,2)*a(4,5) +- b(4,2) = b(4,2)/a(4,4) +- b(1,2) = b(1,2) - b(4,2)*a(1,4) +- b(2,2) = b(2,2) - b(4,2)*a(2,4) +- b(3,2) = b(3,2) - b(4,2)*a(3,4) +- b(3,2) = b(3,2)/a(3,3) +- b(1,2) = b(1,2) - b(3,2)*a(1,3) +- b(2,2) = b(2,2) - b(3,2)*a(2,3) +- b(2,2) = b(2,2)/a(2,2) +- b(1,2) = b(1,2) - b(2,2)*a(1,2) +- b(1,2) = b(1,2)/a(1,1) +- +- b(5,3) = b(5,3)/a(5,5) +- b(1,3) = b(1,3) - b(5,3)*a(1,5) +- b(2,3) = b(2,3) - b(5,3)*a(2,5) +- b(3,3) = b(3,3) - b(5,3)*a(3,5) +- b(4,3) = b(4,3) - b(5,3)*a(4,5) +- b(4,3) = b(4,3)/a(4,4) +- b(1,3) = b(1,3) - b(4,3)*a(1,4) +- b(2,3) = b(2,3) - b(4,3)*a(2,4) +- b(3,3) = b(3,3) - b(4,3)*a(3,4) +- b(3,3) = b(3,3)/a(3,3) +- b(1,3) = b(1,3) - b(3,3)*a(1,3) +- b(2,3) = b(2,3) - b(3,3)*a(2,3) +- b(2,3) = b(2,3)/a(2,2) +- b(1,3) = b(1,3) - b(2,3)*a(1,2) +- b(1,3) = b(1,3)/a(1,1) +- +- b(5,4) = b(5,4)/a(5,5) +- b(1,4) = b(1,4) - b(5,4)*a(1,5) +- b(2,4) = b(2,4) - b(5,4)*a(2,5) +- b(3,4) = b(3,4) - b(5,4)*a(3,5) +- b(4,4) = b(4,4) - b(5,4)*a(4,5) +- b(4,4) = b(4,4)/a(4,4) +- b(1,4) = b(1,4) - b(4,4)*a(1,4) +- b(2,4) = b(2,4) - b(4,4)*a(2,4) +- b(3,4) = b(3,4) - b(4,4)*a(3,4) +- b(3,4) = b(3,4)/a(3,3) +- b(1,4) = b(1,4) - b(3,4)*a(1,3) +- b(2,4) = b(2,4) - b(3,4)*a(2,3) +- b(2,4) = b(2,4)/a(2,2) +- b(1,4) = b(1,4) - b(2,4)*a(1,2) +- b(1,4) = b(1,4)/a(1,1) +- +- b(5,5) = b(5,5)/a(5,5) +- b(1,5) = b(1,5) - b(5,5)*a(1,5) +- b(2,5) = b(2,5) - b(5,5)*a(2,5) +- b(3,5) = b(3,5) - b(5,5)*a(3,5) +- b(4,5) = b(4,5) - b(5,5)*a(4,5) +- b(4,5) = b(4,5)/a(4,4) +- b(1,5) = b(1,5) - b(4,5)*a(1,4) +- b(2,5) = b(2,5) - b(4,5)*a(2,4) +- b(3,5) = b(3,5) - b(4,5)*a(3,4) +- b(3,5) = b(3,5)/a(3,3) +- b(1,5) = b(1,5) - b(3,5)*a(1,3) +- b(2,5) = b(2,5) - b(3,5)*a(2,3) +- b(2,5) = b(2,5)/a(2,2) +- b(1,5) = b(1,5) - b(2,5)*a(1,2) +- b(1,5) = b(1,5)/a(1,1) +- +- end subroutine my_getrs_5_by_5 +- +- +- subroutine my_getrs_5_by_1( a, lda, ipiv, b, ldb, info ) +- integer :: info, lda, ldb ! , n=5, nrhs=1 +- integer, pointer :: ipiv(:) +- real(fltp), pointer :: a(:,:), b(:,:) ! a( lda, * ), b( ldb, * ) +- real(fltp), parameter :: zero=0 +- info = 0 +- call my_laswp_5_by_1( b, ldb, ipiv ) +- !call dtrsm( 'left', 'lower', 'no transpose', 'unit', n, nrhs, one, a, lda, b, ldb ) +- b(2,1) = b(2,1) - b(1,1)*a(2,1) +- b(3,1) = b(3,1) - b(1,1)*a(3,1) +- b(4,1) = b(4,1) - b(1,1)*a(4,1) +- b(5,1) = b(5,1) - b(1,1)*a(5,1) +- b(3,1) = b(3,1) - b(2,1)*a(3,2) +- b(4,1) = b(4,1) - b(2,1)*a(4,2) +- b(5,1) = b(5,1) - b(2,1)*a(5,2) +- b(4,1) = b(4,1) - b(3,1)*a(4,3) +- b(5,1) = b(5,1) - b(3,1)*a(5,3) +- b(5,1) = b(5,1) - b(4,1)*a(5,4) +- +- !call dtrsm( 'left', 'upper', 'no transpose', 'non-unit', n, nrhs, one, a, lda, b, ldb ) +- b(5,1) = b(5,1)/a(5,5) +- b(1,1) = b(1,1) - b(5,1)*a(1,5) +- b(2,1) = b(2,1) - b(5,1)*a(2,5) +- b(3,1) = b(3,1) - b(5,1)*a(3,5) +- b(4,1) = b(4,1) - b(5,1)*a(4,5) +- b(4,1) = b(4,1)/a(4,4) +- b(1,1) = b(1,1) - b(4,1)*a(1,4) +- b(2,1) = b(2,1) - b(4,1)*a(2,4) +- b(3,1) = b(3,1) - b(4,1)*a(3,4) +- b(3,1) = b(3,1)/a(3,3) +- b(1,1) = b(1,1) - b(3,1)*a(1,3) +- b(2,1) = b(2,1) - b(3,1)*a(2,3) +- b(2,1) = b(2,1)/a(2,2) +- b(1,1) = b(1,1) - b(2,1)*a(1,2) +- b(1,1) = b(1,1)/a(1,1) +- +- end subroutine my_getrs_5_by_1 +- +- +- subroutine my_getrs_4_by_4( a, lda, ipiv, b, ldb, info ) +- integer :: info, lda, ldb ! , n=4, nrhs=4 +- integer, pointer :: ipiv(:) +- real(fltp), pointer :: a(:,:), b(:,:) ! a( lda, * ), b( ldb, * ) +- real(fltp), parameter :: zero=0 +- info = 0 +- +- call my_laswp_4_by_4( b, ldb, ipiv ) +- +- !call dtrsm( 'left', 'lower', 'no transpose', 'unit', n, nrhs, one, a, lda, b, ldb ) +- b(2,1) = b(2,1) - b(1,1)*a(2,1) +- b(3,1) = b(3,1) - b(1,1)*a(3,1) +- b(4,1) = b(4,1) - b(1,1)*a(4,1) +- b(3,1) = b(3,1) - b(2,1)*a(3,2) +- b(4,1) = b(4,1) - b(2,1)*a(4,2) +- b(4,1) = b(4,1) - b(3,1)*a(4,3) +- +- b(2,2) = b(2,2) - b(1,2)*a(2,1) +- b(3,2) = b(3,2) - b(1,2)*a(3,1) +- b(4,2) = b(4,2) - b(1,2)*a(4,1) +- b(3,2) = b(3,2) - b(2,2)*a(3,2) +- b(4,2) = b(4,2) - b(2,2)*a(4,2) +- b(4,2) = b(4,2) - b(3,2)*a(4,3) +- +- b(2,3) = b(2,3) - b(1,3)*a(2,1) +- b(3,3) = b(3,3) - b(1,3)*a(3,1) +- b(4,3) = b(4,3) - b(1,3)*a(4,1) +- b(3,3) = b(3,3) - b(2,3)*a(3,2) +- b(4,3) = b(4,3) - b(2,3)*a(4,2) +- b(4,3) = b(4,3) - b(3,3)*a(4,3) +- +- b(2,4) = b(2,4) - b(1,4)*a(2,1) +- b(3,4) = b(3,4) - b(1,4)*a(3,1) +- b(4,4) = b(4,4) - b(1,4)*a(4,1) +- b(3,4) = b(3,4) - b(2,4)*a(3,2) +- b(4,4) = b(4,4) - b(2,4)*a(4,2) +- b(4,4) = b(4,4) - b(3,4)*a(4,3) +- +- !call dtrsm( 'left', 'upper', 'no transpose', 'non-unit', n, nrhs, one, a, lda, b, ldb ) +- b(4,1) = b(4,1)/a(4,4) +- b(1,1) = b(1,1) - b(4,1)*a(1,4) +- b(2,1) = b(2,1) - b(4,1)*a(2,4) +- b(3,1) = b(3,1) - b(4,1)*a(3,4) +- b(3,1) = b(3,1)/a(3,3) +- b(1,1) = b(1,1) - b(3,1)*a(1,3) +- b(2,1) = b(2,1) - b(3,1)*a(2,3) +- b(2,1) = b(2,1)/a(2,2) +- b(1,1) = b(1,1) - b(2,1)*a(1,2) +- b(1,1) = b(1,1)/a(1,1) +- +- b(4,2) = b(4,2)/a(4,4) +- b(1,2) = b(1,2) - b(4,2)*a(1,4) +- b(2,2) = b(2,2) - b(4,2)*a(2,4) +- b(3,2) = b(3,2) - b(4,2)*a(3,4) +- b(3,2) = b(3,2)/a(3,3) +- b(1,2) = b(1,2) - b(3,2)*a(1,3) +- b(2,2) = b(2,2) - b(3,2)*a(2,3) +- b(2,2) = b(2,2)/a(2,2) +- b(1,2) = b(1,2) - b(2,2)*a(1,2) +- b(1,2) = b(1,2)/a(1,1) +- +- b(4,3) = b(4,3)/a(4,4) +- b(1,3) = b(1,3) - b(4,3)*a(1,4) +- b(2,3) = b(2,3) - b(4,3)*a(2,4) +- b(3,3) = b(3,3) - b(4,3)*a(3,4) +- b(3,3) = b(3,3)/a(3,3) +- b(1,3) = b(1,3) - b(3,3)*a(1,3) +- b(2,3) = b(2,3) - b(3,3)*a(2,3) +- b(2,3) = b(2,3)/a(2,2) +- b(1,3) = b(1,3) - b(2,3)*a(1,2) +- b(1,3) = b(1,3)/a(1,1) +- +- b(4,4) = b(4,4)/a(4,4) +- b(1,4) = b(1,4) - b(4,4)*a(1,4) +- b(2,4) = b(2,4) - b(4,4)*a(2,4) +- b(3,4) = b(3,4) - b(4,4)*a(3,4) +- b(3,4) = b(3,4)/a(3,3) +- b(1,4) = b(1,4) - b(3,4)*a(1,3) +- b(2,4) = b(2,4) - b(3,4)*a(2,3) +- b(2,4) = b(2,4)/a(2,2) +- b(1,4) = b(1,4) - b(2,4)*a(1,2) +- b(1,4) = b(1,4)/a(1,1) +- +- end subroutine my_getrs_4_by_4 +- +- +- subroutine my_getrs_4_by_1( a, lda, ipiv, b, ldb, info ) +- integer :: info, lda, ldb ! , n=4, nrhs=1 +- integer, pointer :: ipiv(:) +- real(fltp), pointer :: a(:,:), b(:,:) ! a( lda, * ), b( ldb, * ) +- real(fltp), parameter :: zero=0 +- +- info = 0 +- call my_laswp_4_by_1( b, ldb, ipiv ) +- +- !call dtrsm( 'left', 'lower', 'no transpose', 'unit', n, nrhs, one, a, lda, b, ldb ) +- b(2,1) = b(2,1) - b(1,1)*a(2,1) +- b(3,1) = b(3,1) - b(1,1)*a(3,1) +- b(4,1) = b(4,1) - b(1,1)*a(4,1) +- b(3,1) = b(3,1) - b(2,1)*a(3,2) +- b(4,1) = b(4,1) - b(2,1)*a(4,2) +- b(4,1) = b(4,1) - b(3,1)*a(4,3) +- +- !call dtrsm( 'left', 'upper', 'no transpose', 'non-unit', n, nrhs, one, a, lda, b, ldb ) +- b(4,1) = b(4,1)/a(4,4) +- b(1,1) = b(1,1) - b(4,1)*a(1,4) +- b(2,1) = b(2,1) - b(4,1)*a(2,4) +- b(3,1) = b(3,1) - b(4,1)*a(3,4) +- b(3,1) = b(3,1)/a(3,3) +- b(1,1) = b(1,1) - b(3,1)*a(1,3) +- b(2,1) = b(2,1) - b(3,1)*a(2,3) +- b(2,1) = b(2,1)/a(2,2) +- b(1,1) = b(1,1) - b(2,1)*a(1,2) +- b(1,1) = b(1,1)/a(1,1) +- +- end subroutine my_getrs_4_by_1 +- +- +- subroutine my_getrs_dbg( n, nrhs, a, lda, ipiv, b, ldb, info ) +- integer :: info, lda, ldb, n, nrhs +- integer, pointer :: ipiv(:) +- real(fltp), pointer :: a(:,:), b(:,:) ! a( lda, * ), b( ldb, * ) +- real(fltp), parameter :: one=1, zero=0 +- real(fltp) :: temp +- integer :: i,j,k, n32, ix, ip +- info = 0 +- call my_laswp_dbg(nrhs, b, ldb, 1, n, ipiv, 1 ) +- !call dtrsm( 'left', 'lower', 'no transpose', 'unit', n, nrhs, one, a, lda, b, ldb ) +- do j = 1,nrhs +- do k = 1,n +- if (b(k,j).ne.zero) then +- do i = k + 1,n +- b(i,j) = b(i,j) - b(k,j)*a(i,k) +- end do +- end if +- end do +- end do +- !call dtrsm( 'left', 'upper', 'no transpose', 'non-unit', n, nrhs, one, a, lda, b, ldb ) +- do j = 1,nrhs +- do k = n,1,-1 +- if (b(k,j).ne.zero) then +- b(k,j) = b(k,j)/a(k,k) +- do i = 1,k - 1 +- b(i,j) = b(i,j) - b(k,j)*a(i,k) +- end do +- end if +- end do +- end do +- end subroutine my_getrs_dbg +- +- +- subroutine my_laswp_dbg( n, a, lda, k1, k2, ipiv, incx ) +- integer :: incx, k1, k2, lda, n +- integer :: ipiv(:) +- real(fltp) :: a(:,:) ! a( lda, * ) +- integer :: i, i1, i2, inc, ip, ix, ix0, j, k, n32 +- real(fltp) :: temp +- include 'formats' +- write(*,2) 'n', n +- write(*,2) 'incx', incx +- write(*,2) 'k1', k1 +- write(*,2) 'k2', k2 +- do j = 1, n +- write(*,3) 'ipiv(j)', j, ipiv(j) +- end do +- ! interchange row i with row ipiv(i) for each of rows k1 through k2. +- if( incx.gt.0 ) then +- ix0 = k1 +- i1 = k1 +- i2 = k2 +- inc = 1 +- else if( incx.lt.0 ) then +- ix0 = 1 + ( 1-k2 )*incx +- i1 = k2 +- i2 = k1 +- inc = -1 +- else +- return +- end if +- n32 = ( n / 32 )*32 +- if( n32.ne.0 ) then +- do j = 1, n32, 32 +- ix = ix0 +- do i = i1, i2, inc +- ip = ipiv( ix ) +- if( ip.ne.i ) then +- do k = j, j + 31 +- temp = a( i, k ) +- a( i, k ) = a( ip, k ) +- a( ip, k ) = temp +- end do +- end if +- ix = ix + incx +- end do +- end do +- end if +- if( n32.ne.n ) then +- n32 = n32 + 1 +- ix = ix0 +- do i = i1, i2, inc +- ip = ipiv( ix ) +- +- +- +- if (ip == 0) then +- +- stop 'my_lapack95 ip == 0' +- +- +- end if +- +- +- +- +- if( ip.ne.i ) then +- do k = n32, n +- temp = a( i, k ) +- a( i, k ) = a( ip, k ) +- a( ip, k ) = temp +- end do +- end if +- ix = ix + incx +- end do +- end if +- end subroutine my_laswp_dbg +- +- +-#ifdef DBLE +- end module my_lapack95_dble +-#else +- end module my_lapack95_quad +-#endif +diff --color -urN a/mesa-r15140/mtx/private/my_lapack95.c b/mesa-r15140/mtx/private/my_lapack95.c +--- a/mtx/private/my_lapack95.c 1970-01-01 01:00:00 ++++ b/mtx/private/my_lapack95.c 2016-06-09 22:38:41 +@@ -0,0 +1,1450 @@ ++ ! *********************************************************************** ++! ++! copyright (c) 2012 bill paxton ++! ++! mesa is free software; you can use it and/or modify ++! it under the combined terms and restrictions of the mesa manifesto ++! and the gnu general library public license as published ++! by the free software foundation; either version 2 of the license, ++! or (at your option) any later version. ++! ++! you should have received a copy of the mesa manifesto along with ++! this software; if not, it is available at the mesa website: ++! http://mesa.sourceforge.net/ ++! ++! mesa is distributed in the hope that it will be useful, ++! but without any warranty; without even the implied warranty of ++! merchantability or fitness for a particular purpose. ++! see the gnu library general public license for more details. ++! ++! you should have received a copy of the gnu library general public license ++! along with this software; if not, write to the free software ++! foundation, inc., 59 temple place, suite 330, boston, ma 02111-1307 usa ++! ++! *********************************************************************** ++ ++#if 0 ++! This is a Fortran file template with a .c extension because that's the only way ++! we can get it preprocessed on both Mac and Linux with both gcc and clang. ++! ++! Sorry. -LV ++#endif ++ ++#ifdef DBLE ++ module my_lapack95_dble ++ use const_def, only: dp ++ use utils_lib, only: mesa_error ++ implicit none ++ integer, parameter :: fltp = dp ++#else ++ module my_lapack95_quad ++ use const_def, only: qp ++ use utils_lib, only: mesa_error ++ implicit none ++ integer, parameter :: fltp = qp ++#endif ++ ++ ++ ++ contains ++ ++ ++ subroutine my_gemv(m,n,a,lda,x,y) ! y = y - a*x ++ integer lda,m,n ++ real(fltp) :: a(:,:) ! (lda,*) ++ real(fltp) :: x(:), y(:) ++ real(fltp) :: tmp ++ real(fltp), parameter :: zero=0 ++ ! trans = 'n' ++ ! alpha = -1 ++ ! beta = 1 ++ ! incx = 1 ++ ! incy = 1 ++ integer :: j, i ++ do j = 1,n ++ tmp = x(j) ++ if (tmp.ne.zero) then ++ do i = 1,m ++ y(i) = y(i) - tmp*a(i,j) ++ end do ++ end if ++ end do ++ end subroutine my_gemv ++ ++ ++ subroutine my_gemv_mv(m,n,a,x,b,z,y) ! y = y - a*x - b*z ++ integer lda,m,n ++ real(fltp) :: a(:,:), b(:,:) ++ real(fltp) :: x(:), z(:), y(:) ++ real(fltp) :: tmp_x, tmp_z ++ real(fltp), parameter :: zero=0 ++ integer :: j, i ++ do j = 1,n ++ tmp_x = x(j) ++ tmp_z = z(j) ++ if (tmp_x.ne.zero) then ++ if (tmp_z /= zero) then ++ do i = 1,m ++ y(i) = y(i) - tmp_x*a(i,j) - tmp_z*b(i,j) ++ end do ++ else ++ do i = 1,m ++ y(i) = y(i) - tmp_x*a(i,j) ++ end do ++ end if ++ else if (tmp_z /= zero) then ++ do i = 1,m ++ y(i) = y(i) - tmp_z*b(i,j) ++ end do ++ end if ++ end do ++ end subroutine my_gemv_mv ++ ++ ++ subroutine my_gemv_p1(m,n,a,lda,x,y) ! y = y + a*x ++ integer lda,m,n ++ real(fltp) :: a(:,:) ! (lda,*) ++ real(fltp) :: x(:), y(:) ++ real(fltp) :: tmp ++ real(fltp), parameter :: zero=0 ++ ! trans = 'n' ++ ! alpha = -1 ++ ! beta = 1 ++ ! incx = 1 ++ ! incy = 1 ++ integer :: j, i ++ do j = 1,n ++ tmp = x(j) ++ if (tmp.ne.zero) then ++ do i = 1,m ++ y(i) = y(i) + tmp*a(i,j) ++ end do ++ end if ++ end do ++ end subroutine my_gemv_p1 ++ ++ ++ subroutine my_gemv_p_mv(m,n,a,x,b,z,y) ! y = y + a*x + b*z ++ integer lda,m,n ++ real(fltp) :: a(:,:), b(:,:) ++ real(fltp) :: x(:), z(:), y(:) ++ real(fltp) :: tmp_x, tmp_z ++ real(fltp), parameter :: zero=0 ++ integer :: j, i ++ do j = 1,n ++ tmp_x = x(j) ++ tmp_z = z(j) ++ if (tmp_x.ne.zero) then ++ if (tmp_z /= zero) then ++ do i = 1,m ++ y(i) = y(i) + tmp_x*a(i,j) + tmp_z*b(i,j) ++ end do ++ else ++ do i = 1,m ++ y(i) = y(i) + tmp_x*a(i,j) ++ end do ++ end if ++ else if (tmp_z /= zero) then ++ do i = 1,m ++ y(i) = y(i) + tmp_z*b(i,j) ++ end do ++ end if ++ end do ++ end subroutine my_gemv_p_mv ++ ++ ++ subroutine my_gemm(m,n,k,a,lda,b,ldb,c,ldc) ! c := c - a*b ++ integer, intent(in) :: k,lda,ldb,ldc,m,n ++ real(fltp), dimension(:,:) :: a, b, c ! a(lda,*),b(ldb,*),c(ldc,*) ++ real(fltp) :: tmp ++ real(fltp), parameter :: zero=0 ++ integer :: j, i, l ++ ! transa = 'n' ++ ! transb = 'n' ++ ! alpha = -1 ++ ! beta = 1 ++ ! assumes other args are valid ++ do j = 1,n ++ do l = 1,k ++ tmp = b(l,j) ++ if (tmp .ne. zero) then ++ do i = 1,m ++ c(i,j) = c(i,j) - tmp*a(i,l) ++ end do ++ end if ++ end do ++ end do ++ end subroutine my_gemm ++ ++ ++ subroutine my_gemm_p1(m,n,k,a,lda,b,ldb,c,ldc) ! c := c + a*b ++ integer, intent(in) :: k,lda,ldb,ldc,m,n ++ real(fltp), dimension(:,:) :: a, b, c ! a(lda,*),b(ldb,*),c(ldc,*) ++ real(fltp) :: tmp ++ real(fltp), parameter :: zero=0 ++ integer :: j, i, l ++ ! transa = 'n' ++ ! transb = 'n' ++ ! alpha = 1 ++ ! beta = 1 ++ ! assumes other args are valid ++ do j = 1,n ++ do l = 1,k ++ tmp = b(l,j) ++ if (tmp .ne. zero) then ++ do i = 1,m ++ c(i,j) = c(i,j) + tmp*a(i,l) ++ end do ++ end if ++ end do ++ end do ++ end subroutine my_gemm_p1 ++ ++ ++ subroutine my_gemm_plus_mm(m,n,k,a,b,d,e,c) ! c := c + a*b + d*e ++ integer, intent(in) :: k,m,n ++ real(fltp), dimension(:,:) :: a, b, c, d, e ++ real(fltp) :: tmp_b, tmp_e ++ real(fltp), parameter :: zero=0 ++ integer :: j, i, l ++ do j = 1,n ++ do l = 1,k ++ tmp_b = b(l,j) ++ tmp_e = e(l,j) ++ if (tmp_b .ne. zero) then ++ if (tmp_e .ne. zero) then ++ do i = 1,m ++ c(i,j) = c(i,j) + tmp_b*a(i,l) + tmp_e*d(i,l) ++ end do ++ else ++ do i = 1,m ++ c(i,j) = c(i,j) + tmp_b*a(i,l) ++ end do ++ end if ++ else if (tmp_e .ne. zero) then ++ do i = 1,m ++ c(i,j) = c(i,j) + tmp_e*d(i,l) ++ end do ++ end if ++ end do ++ end do ++ end subroutine my_gemm_plus_mm ++ ++ ++ subroutine my_gemm0(m,n,k,a,lda,b,ldb,c,ldc) ++ ! c := -a*b ++ integer, intent(in) :: k,lda,ldb,ldc,m,n ++ real(fltp), dimension(:,:) :: a, b, c ! a(lda,*),b(ldb,*),c(ldc,*) ++ integer :: j, i ++ real(fltp), parameter :: zero=0 ++ include 'formats.dek' ++ ! transa = 'n' ++ ! transb = 'n' ++ ! alpha = -1 ++ ! beta = 0 ++ ! assumes other args are valid ++ do j=1,n ++ do i=1,m ++ c(i,j) = zero ++ end do ++ end do ++ call my_gemm(m,n,k,a,lda,b,ldb,c,ldc) ++ end subroutine my_gemm0 ++ ++ ++ subroutine my_gemm0_p1(m,n,k,a,lda,b,ldb,c,ldc) ++ ! c := -a*b ++ integer, intent(in) :: k,lda,ldb,ldc,m,n ++ real(fltp), dimension(:,:) :: a, b, c ! a(lda,*),b(ldb,*),c(ldc,*) ++ integer :: j, i ++ real(fltp), parameter :: zero=0 ++ include 'formats.dek' ++ ! transa = 'n' ++ ! transb = 'n' ++ ! alpha = -1 ++ ! beta = 0 ++ ! assumes other args are valid ++ do j=1,n ++ do i=1,m ++ c(i,j) = zero ++ end do ++ end do ++ call my_gemm_p1(m,n,k,a,lda,b,ldb,c,ldc) ++ end subroutine my_gemm0_p1 ++ ++ ++ subroutine my_getf2(m, a, lda, ipiv, sfmin, info) ++ integer :: info, lda, m ++ integer :: ipiv(:) ++ real(fltp) :: a(:,:) ++ real(fltp) :: sfmin ++ real(fltp), parameter :: one=1, zero=0 ++ integer :: i, j, jp, ii, jj, n, mm ++ real(fltp) :: tmp, da ++ if (m == 4) then ++ call my_getf2_4_by_4(a, lda, ipiv, sfmin, info) ++ return ++ else if (m == 5) then ++ call my_getf2_5_by_5(a, lda, ipiv, sfmin, info) ++ return ++ end if ++ do j = 1, m ++ info = 0 ++ jp = j - 1 + maxloc(abs(a(j:lda,j)),dim=1) ++ ipiv( j ) = jp ++ if( a( jp, j ).ne.zero ) then ++ if( jp.ne.j ) then ! swap a(j,:) and a(jp,:) ++ do i=1,m ++ tmp = a(j,i) ++ a(j,i) = a(jp,i) ++ a(jp,i) = tmp ++ end do ++ end if ++ if( j.lt.m ) then ++ if( abs(a( j, j )) .ge. sfmin ) then ++ da = one / a( j, j ) ++ n = m-j ++ mm = mod(n,5) ++ if (mm /= 0) then ++ do i = 1,mm ++ a(j+i,j) = da*a(j+i,j) ++ end do ++ end if ++ if (n >= 5) then ++ do i = mm + 1,n,5 ++ a(j+i,j) = da*a(j+i,j) ++ a(j+i+1,j) = da*a(j+i+1,j) ++ a(j+i+2,j) = da*a(j+i+2,j) ++ a(j+i+3,j) = da*a(j+i+3,j) ++ a(j+i+4,j) = da*a(j+i+4,j) ++ end do ++ end if ++ else ! no scale ++ do i = 1, m-j ++ a( j+i, j ) = a( j+i, j ) / a( j, j ) ++ end do ++ end if ++ end if ++ else if( info.eq.0 ) then ++ info = j ++ end if ++ if( j.lt.m ) then ++ !call dger( m-j, m-j, -one, a( j+1, j ), 1, a( j, j+1 ), lda, a( j+1, j+1 ), lda ) ++ do jj = j+1, m ++ do ii = j+1, m ++ a(ii,jj) = a(ii,jj) - a(ii,j)*a(j,jj) ++ end do ++ end do ++ end if ++ end do ++ end subroutine my_getf2 ++ ++ ++ subroutine my_getf2_4_by_4(a, lda, ipiv, sfmin, info) ++ integer :: info, lda ! m=4 ++ integer :: ipiv(:) ++ real(fltp) :: a(:,:) ++ real(fltp) :: sfmin ++ real(fltp), parameter :: one=1, zero=0 ++ integer :: jp ++ real(fltp) :: tmp, da ++ info = 0 ++ ++ jp = maxloc(abs(a(1:lda,1)),dim=1) ++ ipiv( 1 ) = jp ++ if( a( jp, 1 ).ne.zero ) then ++ if( jp.ne.1 ) then ! swap a(1,:) and a(jp,:) ++ tmp = a(1,1) ++ a(1,1) = a(jp,1) ++ a(jp,1) = tmp ++ tmp = a(1,2) ++ a(1,2) = a(jp,2) ++ a(jp,2) = tmp ++ tmp = a(1,3) ++ a(1,3) = a(jp,3) ++ a(jp,3) = tmp ++ tmp = a(1,4) ++ a(1,4) = a(jp,4) ++ a(jp,4) = tmp ++ end if ++ if( abs(a( 1, 1 )) .ge. sfmin ) then ++ da = one / a( 1, 1 ) ++ a(2,1) = da*a(2,1) ++ a(3,1) = da*a(3,1) ++ a(4,1) = da*a(4,1) ++ else ! no scale ++ a( 2, 1 ) = a( 2, 1 ) / a( 1, 1 ) ++ a( 3, 1 ) = a( 3, 1 ) / a( 1, 1 ) ++ a( 4, 1 ) = a( 4, 1 ) / a( 1, 1 ) ++ end if ++ else if( info.eq.0 ) then ++ info = 1 ++ end if ++ a(2,2) = a(2,2) - a(2,1)*a(1,2) ++ a(3,2) = a(3,2) - a(3,1)*a(1,2) ++ a(4,2) = a(4,2) - a(4,1)*a(1,2) ++ a(2,3) = a(2,3) - a(2,1)*a(1,3) ++ a(3,3) = a(3,3) - a(3,1)*a(1,3) ++ a(4,3) = a(4,3) - a(4,1)*a(1,3) ++ a(2,4) = a(2,4) - a(2,1)*a(1,4) ++ a(3,4) = a(3,4) - a(3,1)*a(1,4) ++ a(4,4) = a(4,4) - a(4,1)*a(1,4) ++ ++ jp = 1 + maxloc(abs(a(2:lda,2)),dim=1) ++ ipiv( 2 ) = jp ++ if( a( jp, 2 ).ne.zero ) then ++ if( jp.ne.2 ) then ! swap a(2,:) and a(jp,:) ++ tmp = a(2,1) ++ a(2,1) = a(jp,1) ++ a(jp,1) = tmp ++ tmp = a(2,2) ++ a(2,2) = a(jp,2) ++ a(jp,2) = tmp ++ tmp = a(2,3) ++ a(2,3) = a(jp,3) ++ a(jp,3) = tmp ++ tmp = a(2,4) ++ a(2,4) = a(jp,4) ++ a(jp,4) = tmp ++ end if ++ if( abs(a( 2, 2 )) .ge. sfmin ) then ++ da = one / a( 2, 2 ) ++ a(3,2) = da*a(3,2) ++ a(4,2) = da*a(4,2) ++ else ! no scale ++ a( 3, 2 ) = a( 3, 2 ) / a( 2, 2 ) ++ a( 4, 2 ) = a( 4, 2 ) / a( 2, 2 ) ++ end if ++ else if( info.eq.0 ) then ++ info = 2 ++ end if ++ a(3,3) = a(3,3) - a(3,2)*a(2,3) ++ a(4,3) = a(4,3) - a(4,2)*a(2,3) ++ a(3,4) = a(3,4) - a(3,2)*a(2,4) ++ a(4,4) = a(4,4) - a(4,2)*a(2,4) ++ ++ jp = 2 + maxloc(abs(a(3:lda,3)),dim=1) ++ ipiv( 3 ) = jp ++ if( a( jp, 3 ).ne.zero ) then ++ if( jp.ne.3 ) then ! swap a(3,:) and a(jp,:) ++ tmp = a(3,1) ++ a(3,1) = a(jp,1) ++ a(jp,1) = tmp ++ tmp = a(3,2) ++ a(3,2) = a(jp,2) ++ a(jp,2) = tmp ++ tmp = a(3,3) ++ a(3,3) = a(jp,3) ++ a(jp,3) = tmp ++ tmp = a(3,4) ++ a(3,4) = a(jp,4) ++ a(jp,4) = tmp ++ end if ++ if( abs(a( 3, 3 )) .ge. sfmin ) then ++ da = one / a( 3, 3 ) ++ a(4,3) = da*a(4,3) ++ else ! no scale ++ a( 4, 3 ) = a( 4, 3 ) / a( 3, 3 ) ++ end if ++ else if( info.eq.0 ) then ++ info = 3 ++ end if ++ a(4,4) = a(4,4) - a(4,3)*a(3,4) ++ ++ jp = 3 + maxloc(abs(a(4:lda,4)),dim=1) ++ ipiv( 4 ) = jp ++ if( a( jp, 4 ).ne.zero ) then ++ if( jp.ne.4 ) then ! swap a(4,:) and a(jp,:) ++ tmp = a(4,1) ++ a(4,1) = a(jp,1) ++ a(jp,1) = tmp ++ tmp = a(4,2) ++ a(4,2) = a(jp,2) ++ a(jp,2) = tmp ++ tmp = a(4,3) ++ a(4,3) = a(jp,3) ++ a(jp,3) = tmp ++ tmp = a(4,4) ++ a(4,4) = a(jp,4) ++ a(jp,4) = tmp ++ end if ++ else if( info.eq.0 ) then ++ info = 4 ++ end if ++ ++ end subroutine my_getf2_4_by_4 ++ ++ ++ subroutine my_getf2_5_by_5(a, lda, ipiv, sfmin, info) ++ integer :: info, lda ! m=5 ++ integer :: ipiv(:) ++ real(fltp) :: a(:,:) ++ real(fltp) :: sfmin ++ real(fltp), parameter :: one=1, zero=0 ++ integer :: jp ++ real(fltp) :: tmp, da ++ info = 0 ++ jp = maxloc(abs(a(1:lda,1)),dim=1) ++ ipiv( 1 ) = jp ++ if( a( jp, 1 ).ne.zero ) then ++ if( jp.ne.1 ) then ! swap a(1,:) and a(jp,:) ++ tmp = a(1,1) ++ a(1,1) = a(jp,1) ++ a(jp,1) = tmp ++ tmp = a(1,2) ++ a(1,2) = a(jp,2) ++ a(jp,2) = tmp ++ tmp = a(1,3) ++ a(1,3) = a(jp,3) ++ a(jp,3) = tmp ++ tmp = a(1,4) ++ a(1,4) = a(jp,4) ++ a(jp,4) = tmp ++ tmp = a(1,5) ++ a(1,5) = a(jp,5) ++ a(jp,5) = tmp ++ end if ++ if( abs(a( 1, 1 )) .ge. sfmin ) then ++ da = one / a( 1, 1 ) ++ a(2,1) = da*a(2,1) ++ a(3,1) = da*a(3,1) ++ a(4,1) = da*a(4,1) ++ a(5,1) = da*a(5,1) ++ else ! no scale ++ a( 2, 1 ) = a( 2, 1 ) / a( 1, 1 ) ++ a( 3, 1 ) = a( 3, 1 ) / a( 1, 1 ) ++ a( 4, 1 ) = a( 4, 1 ) / a( 1, 1 ) ++ a( 5, 1 ) = a( 5, 1 ) / a( 1, 1 ) ++ end if ++ else if( info.eq.0 ) then ++ info = 1 ++ end if ++ a(2,2) = a(2,2) - a(2,1)*a(1,2) ++ a(3,2) = a(3,2) - a(3,1)*a(1,2) ++ a(4,2) = a(4,2) - a(4,1)*a(1,2) ++ a(5,2) = a(5,2) - a(5,1)*a(1,2) ++ a(2,3) = a(2,3) - a(2,1)*a(1,3) ++ a(3,3) = a(3,3) - a(3,1)*a(1,3) ++ a(4,3) = a(4,3) - a(4,1)*a(1,3) ++ a(5,3) = a(5,3) - a(5,1)*a(1,3) ++ a(2,4) = a(2,4) - a(2,1)*a(1,4) ++ a(3,4) = a(3,4) - a(3,1)*a(1,4) ++ a(4,4) = a(4,4) - a(4,1)*a(1,4) ++ a(5,4) = a(5,4) - a(5,1)*a(1,4) ++ a(2,5) = a(2,5) - a(2,1)*a(1,5) ++ a(3,5) = a(3,5) - a(3,1)*a(1,5) ++ a(4,5) = a(4,5) - a(4,1)*a(1,5) ++ a(5,5) = a(5,5) - a(5,1)*a(1,5) ++ ++ jp = 1 + maxloc(abs(a(2:lda,2)),dim=1) ++ ipiv( 2 ) = jp ++ if( a( jp, 2 ).ne.zero ) then ++ if( jp.ne.2 ) then ! swap a(2,:) and a(jp,:) ++ tmp = a(2,1) ++ a(2,1) = a(jp,1) ++ a(jp,1) = tmp ++ tmp = a(2,2) ++ a(2,2) = a(jp,2) ++ a(jp,2) = tmp ++ tmp = a(2,3) ++ a(2,3) = a(jp,3) ++ a(jp,3) = tmp ++ tmp = a(2,4) ++ a(2,4) = a(jp,4) ++ a(jp,4) = tmp ++ tmp = a(2,5) ++ a(2,5) = a(jp,5) ++ a(jp,5) = tmp ++ end if ++ if( abs(a( 2, 2 )) .ge. sfmin ) then ++ da = one / a( 2, 2 ) ++ a(3,2) = da*a(3,2) ++ a(4,2) = da*a(4,2) ++ a(5,2) = da*a(5,2) ++ else ! no scale ++ a( 3, 2 ) = a( 3, 2 ) / a( 2, 2 ) ++ a( 4, 2 ) = a( 4, 2 ) / a( 2, 2 ) ++ a( 5, 2 ) = a( 5, 2 ) / a( 2, 2 ) ++ end if ++ else if( info.eq.0 ) then ++ info = 2 ++ end if ++ a(3,3) = a(3,3) - a(3,2)*a(2,3) ++ a(4,3) = a(4,3) - a(4,2)*a(2,3) ++ a(5,3) = a(5,3) - a(5,2)*a(2,3) ++ a(3,4) = a(3,4) - a(3,2)*a(2,4) ++ a(4,4) = a(4,4) - a(4,2)*a(2,4) ++ a(5,4) = a(5,4) - a(5,2)*a(2,4) ++ a(3,5) = a(3,5) - a(3,2)*a(2,5) ++ a(4,5) = a(4,5) - a(4,2)*a(2,5) ++ a(5,5) = a(5,5) - a(5,2)*a(2,5) ++ ++ jp = 2 + maxloc(abs(a(3:lda,3)),dim=1) ++ ipiv( 3 ) = jp ++ if( a( jp, 3 ).ne.zero ) then ++ if( jp.ne.3 ) then ! swap a(3,:) and a(jp,:) ++ tmp = a(3,1) ++ a(3,1) = a(jp,1) ++ a(jp,1) = tmp ++ tmp = a(3,2) ++ a(3,2) = a(jp,2) ++ a(jp,2) = tmp ++ tmp = a(3,3) ++ a(3,3) = a(jp,3) ++ a(jp,3) = tmp ++ tmp = a(3,4) ++ a(3,4) = a(jp,4) ++ a(jp,4) = tmp ++ tmp = a(3,5) ++ a(3,5) = a(jp,5) ++ a(jp,5) = tmp ++ end if ++ if( abs(a( 3, 3 )) .ge. sfmin ) then ++ da = one / a( 3, 3 ) ++ a(4,3) = da*a(4,3) ++ a(5,3) = da*a(5,3) ++ else ! no scale ++ a( 4, 3 ) = a( 4, 3 ) / a( 3, 3 ) ++ a( 4, 3 ) = a( 4, 3 ) / a( 3, 3 ) ++ end if ++ else if( info.eq.0 ) then ++ info = 3 ++ end if ++ a(4,4) = a(4,4) - a(4,3)*a(3,4) ++ a(5,4) = a(5,4) - a(5,3)*a(3,4) ++ a(4,5) = a(4,5) - a(4,3)*a(3,5) ++ a(5,5) = a(5,5) - a(5,3)*a(3,5) ++ ++ jp = 3 + maxloc(abs(a(4:lda,4)),dim=1) ++ ipiv( 4 ) = jp ++ if( a( jp, 4 ).ne.zero ) then ++ if( jp.ne.4 ) then ! swap a(4,:) and a(jp,:) ++ tmp = a(4,1) ++ a(4,1) = a(jp,1) ++ a(jp,1) = tmp ++ tmp = a(4,2) ++ a(4,2) = a(jp,2) ++ a(jp,2) = tmp ++ tmp = a(4,3) ++ a(4,3) = a(jp,3) ++ a(jp,3) = tmp ++ tmp = a(4,4) ++ a(4,4) = a(jp,4) ++ a(jp,4) = tmp ++ tmp = a(4,5) ++ a(4,5) = a(jp,5) ++ a(jp,5) = tmp ++ end if ++ if( abs(a( 4, 4 )) .ge. sfmin ) then ++ da = one / a( 4, 4 ) ++ a(5,4) = da*a(5,4) ++ else ! no scale ++ a( 5, 4 ) = a( 5, 4 ) / a( 4, 4 ) ++ end if ++ else if( info.eq.0 ) then ++ info = 4 ++ end if ++ a(5,5) = a(5,5) - a(5,4)*a(4,5) ++ ++ jp = 4 + maxloc(abs(a(5:lda,5)),dim=1) ++ ipiv( 5 ) = jp ++ if( a( jp, 5 ).ne.zero ) then ++ if( jp.ne.5 ) then ! swap a(5,:) and a(jp,:) ++ tmp = a(5,1) ++ a(5,1) = a(jp,1) ++ a(jp,1) = tmp ++ tmp = a(5,2) ++ a(5,2) = a(jp,2) ++ a(jp,2) = tmp ++ tmp = a(5,3) ++ a(5,3) = a(jp,3) ++ a(jp,3) = tmp ++ tmp = a(5,4) ++ a(5,4) = a(jp,4) ++ a(jp,4) = tmp ++ tmp = a(5,5) ++ a(5,5) = a(jp,5) ++ a(jp,5) = tmp ++ end if ++ else if( info.eq.0 ) then ++ info = 5 ++ end if ++ ++ end subroutine my_getf2_5_by_5 ++ ++ ++ subroutine my_laswp( n, a, lda, k1, k2, ipiv, incx ) ++ integer :: incx, k1, k2, lda, n ++ integer :: ipiv(:) ++ real(fltp) :: a(:,:) ! a( lda, * ) ++ integer :: i, i1, i2, inc, ip, ix, ix0, j, k, n32 ++ real(fltp) :: temp ++ ! interchange row i with row ipiv(i) for each of rows k1 through k2. ++ if( incx.gt.0 ) then ++ ix0 = k1 ++ i1 = k1 ++ i2 = k2 ++ inc = 1 ++ else if( incx.lt.0 ) then ++ ix0 = 1 + ( 1-k2 )*incx ++ i1 = k2 ++ i2 = k1 ++ inc = -1 ++ else ++ return ++ end if ++ n32 = ( n / 32 )*32 ++ if( n32.ne.0 ) then ++ do j = 1, n32, 32 ++ ix = ix0 ++ do i = i1, i2, inc ++ ip = ipiv( ix ) ++ if( ip.ne.i ) then ++ do k = j, j + 31 ++ temp = a( i, k ) ++ a( i, k ) = a( ip, k ) ++ a( ip, k ) = temp ++ end do ++ end if ++ ix = ix + incx ++ end do ++ end do ++ end if ++ if( n32.ne.n ) then ++ n32 = n32 + 1 ++ ix = ix0 ++ do i = i1, i2, inc ++ ip = ipiv( ix ) ++ if( ip.ne.i ) then ++ do k = n32, n ++ temp = a( i, k ) ++ a( i, k ) = a( ip, k ) ++ a( ip, k ) = temp ++ end do ++ end if ++ ix = ix + incx ++ end do ++ end if ++ end subroutine my_laswp ++ ++ ++ subroutine my_laswp_4_by_1( a, lda, ipiv ) ++ ! n == 1, k1 == 1, k2 == 4, incx == 1 ++ integer :: incx, k1, lda ++ integer :: ipiv(:) ++ real(fltp) :: a(:,:) ! a( lda, * ) ++ integer :: ip ++ real(fltp) :: temp ++ ! interchange row i with row ipiv(i) for each of rows k1 through k2. ++ ip = ipiv( 1 ) ++ if( ip.ne.1 ) then ++ temp = a( 1, 1 ) ++ a( 1, 1 ) = a( ip, 1 ) ++ a( ip, 1 ) = temp ++ end if ++ ip = ipiv( 2 ) ++ if( ip.ne.2 ) then ++ temp = a( 2, 1 ) ++ a( 2, 1 ) = a( ip, 1 ) ++ a( ip, 1 ) = temp ++ end if ++ ip = ipiv( 3 ) ++ if( ip.ne.3 ) then ++ temp = a( 3, 1 ) ++ a( 3, 1 ) = a( ip, 1 ) ++ a( ip, 1 ) = temp ++ end if ++ ip = ipiv( 4 ) ++ if( ip.ne.4 ) then ++ temp = a( 4, 1 ) ++ a( 4, 1 ) = a( ip, 1 ) ++ a( ip, 1 ) = temp ++ end if ++ end subroutine my_laswp_4_by_1 ++ ++ ++ subroutine my_laswp_5_by_1( a, lda, ipiv ) ++ ! n == 1, k1 == 1, k2 == 5, incx == 1 ++ integer :: incx, k1, lda ++ integer :: ipiv(:) ++ real(fltp) :: a(:,:) ! a( lda, * ) ++ integer :: ip ++ real(fltp) :: temp ++ ! interchange row i with row ipiv(i) for each of rows k1 through k2. ++ ip = ipiv( 1 ) ++ if( ip.ne.1 ) then ++ temp = a( 1, 1 ) ++ a( 1, 1 ) = a( ip, 1 ) ++ a( ip, 1 ) = temp ++ end if ++ ip = ipiv( 2 ) ++ if( ip.ne.2 ) then ++ temp = a( 2, 1 ) ++ a( 2, 1 ) = a( ip, 1 ) ++ a( ip, 1 ) = temp ++ end if ++ ip = ipiv( 3 ) ++ if( ip.ne.3 ) then ++ temp = a( 3, 1 ) ++ a( 3, 1 ) = a( ip, 1 ) ++ a( ip, 1 ) = temp ++ end if ++ ip = ipiv( 4 ) ++ if( ip.ne.4 ) then ++ temp = a( 4, 1 ) ++ a( 4, 1 ) = a( ip, 1 ) ++ a( ip, 1 ) = temp ++ end if ++ ip = ipiv( 5 ) ++ if( ip.ne.5 ) then ++ temp = a( 5, 1 ) ++ a( 5, 1 ) = a( ip, 1 ) ++ a( ip, 1 ) = temp ++ end if ++ end subroutine my_laswp_5_by_1 ++ ++ ++ subroutine my_laswp_4_by_4( a, lda, ipiv ) ++ integer :: lda ++ integer :: ipiv(:) ++ real(fltp) :: a(:,:) ! a( lda, * ) ++ real(fltp) :: temp ++ integer :: ip ++ ! interchange row i with row ipiv(i) for each of rows 1 through 4. ++ ip = ipiv( 1 ) ++ if( ip.ne.1 ) then ++ temp = a( 1, 1 ) ++ a( 1, 1 ) = a( ip, 1 ) ++ a( ip, 1 ) = temp ++ temp = a( 1, 2 ) ++ a( 1, 2 ) = a( ip, 2 ) ++ a( ip, 2 ) = temp ++ temp = a( 1, 3 ) ++ a( 1, 3 ) = a( ip, 3 ) ++ a( ip, 3 ) = temp ++ temp = a( 1, 4 ) ++ a( 1, 4 ) = a( ip, 4 ) ++ a( ip, 4 ) = temp ++ end if ++ ip = ipiv( 2 ) ++ if( ip.ne.2 ) then ++ temp = a( 2, 1 ) ++ a( 2, 1 ) = a( ip, 1 ) ++ a( ip, 1 ) = temp ++ temp = a( 2, 2 ) ++ a( 2, 2 ) = a( ip, 2 ) ++ a( ip, 2 ) = temp ++ temp = a( 2, 3 ) ++ a( 2, 3 ) = a( ip, 3 ) ++ a( ip, 3 ) = temp ++ temp = a( 2, 4 ) ++ a( 2, 4 ) = a( ip, 4 ) ++ a( ip, 4 ) = temp ++ end if ++ ip = ipiv( 3 ) ++ if( ip.ne.3 ) then ++ temp = a( 3, 1 ) ++ a( 3, 1 ) = a( ip, 1 ) ++ a( ip, 1 ) = temp ++ temp = a( 3, 2 ) ++ a( 3, 2 ) = a( ip, 2 ) ++ a( ip, 2 ) = temp ++ temp = a( 3, 3 ) ++ a( 3, 3 ) = a( ip, 3 ) ++ a( ip, 3 ) = temp ++ temp = a( 3, 4 ) ++ a( 3, 4 ) = a( ip, 4 ) ++ a( ip, 4 ) = temp ++ end if ++ ip = ipiv( 4 ) ++ if( ip.ne.4 ) then ++ temp = a( 4, 1 ) ++ a( 4, 1 ) = a( ip, 1 ) ++ a( ip, 1 ) = temp ++ temp = a( 4, 2 ) ++ a( 4, 2 ) = a( ip, 2 ) ++ a( ip, 2 ) = temp ++ temp = a( 4, 3 ) ++ a( 4, 3 ) = a( ip, 3 ) ++ a( ip, 3 ) = temp ++ temp = a( 4, 4 ) ++ a( 4, 4 ) = a( ip, 4 ) ++ a( ip, 4 ) = temp ++ end if ++ end subroutine my_laswp_4_by_4 ++ ++ ++ subroutine my_laswp_5_by_5( a, lda, ipiv ) ++ integer :: lda ++ integer :: ipiv(:) ++ real(fltp) :: a(:,:) ! a( lda, * ) ++ real(fltp) :: temp ++ integer :: ip ++ ! interchange row i with row ipiv(i) for each of rows 1 through 5. ++ ip = ipiv( 1 ) ++ if( ip.ne.1 ) then ++ temp = a( 1, 1 ) ++ a( 1, 1 ) = a( ip, 1 ) ++ a( ip, 1 ) = temp ++ temp = a( 1, 2 ) ++ a( 1, 2 ) = a( ip, 2 ) ++ a( ip, 2 ) = temp ++ temp = a( 1, 3 ) ++ a( 1, 3 ) = a( ip, 3 ) ++ a( ip, 3 ) = temp ++ temp = a( 1, 4 ) ++ a( 1, 4 ) = a( ip, 4 ) ++ a( ip, 4 ) = temp ++ temp = a( 1, 5 ) ++ a( 1, 5 ) = a( ip, 5 ) ++ a( ip, 5 ) = temp ++ end if ++ ip = ipiv( 2 ) ++ if( ip.ne.2 ) then ++ temp = a( 2, 1 ) ++ a( 2, 1 ) = a( ip, 1 ) ++ a( ip, 1 ) = temp ++ temp = a( 2, 2 ) ++ a( 2, 2 ) = a( ip, 2 ) ++ a( ip, 2 ) = temp ++ temp = a( 2, 3 ) ++ a( 2, 3 ) = a( ip, 3 ) ++ a( ip, 3 ) = temp ++ temp = a( 2, 4 ) ++ a( 2, 4 ) = a( ip, 4 ) ++ a( ip, 4 ) = temp ++ temp = a( 2, 5 ) ++ a( 2, 5 ) = a( ip, 5 ) ++ a( ip, 5 ) = temp ++ end if ++ ip = ipiv( 3 ) ++ if( ip.ne.3 ) then ++ temp = a( 3, 1 ) ++ a( 3, 1 ) = a( ip, 1 ) ++ a( ip, 1 ) = temp ++ temp = a( 3, 2 ) ++ a( 3, 2 ) = a( ip, 2 ) ++ a( ip, 2 ) = temp ++ temp = a( 3, 3 ) ++ a( 3, 3 ) = a( ip, 3 ) ++ a( ip, 3 ) = temp ++ temp = a( 3, 4 ) ++ a( 3, 4 ) = a( ip, 4 ) ++ a( ip, 4 ) = temp ++ temp = a( 3, 5 ) ++ a( 3, 5 ) = a( ip, 5 ) ++ a( ip, 5 ) = temp ++ end if ++ ip = ipiv( 4 ) ++ if( ip.ne.4 ) then ++ temp = a( 4, 1 ) ++ a( 4, 1 ) = a( ip, 1 ) ++ a( ip, 1 ) = temp ++ temp = a( 4, 2 ) ++ a( 4, 2 ) = a( ip, 2 ) ++ a( ip, 2 ) = temp ++ temp = a( 4, 3 ) ++ a( 4, 3 ) = a( ip, 3 ) ++ a( ip, 3 ) = temp ++ temp = a( 4, 4 ) ++ a( 4, 4 ) = a( ip, 4 ) ++ a( ip, 4 ) = temp ++ temp = a( 4, 5 ) ++ a( 4, 5 ) = a( ip, 5 ) ++ a( ip, 5 ) = temp ++ end if ++ ip = ipiv( 5 ) ++ if( ip.ne.5 ) then ++ temp = a( 5, 1 ) ++ a( 5, 1 ) = a( ip, 1 ) ++ a( ip, 1 ) = temp ++ temp = a( 5, 2 ) ++ a( 5, 2 ) = a( ip, 2 ) ++ a( ip, 2 ) = temp ++ temp = a( 5, 3 ) ++ a( 5, 3 ) = a( ip, 3 ) ++ a( ip, 3 ) = temp ++ temp = a( 5, 4 ) ++ a( 5, 4 ) = a( ip, 4 ) ++ a( ip, 4 ) = temp ++ temp = a( 5, 5 ) ++ a( 5, 5 ) = a( ip, 5 ) ++ a( ip, 5 ) = temp ++ end if ++ end subroutine my_laswp_5_by_5 ++ ++ ++ subroutine my_getrs( n, nrhs, a, lda, ipiv, b, ldb, info ) ++ integer :: info, lda, ldb, n, nrhs ++ integer, pointer :: ipiv(:) ++ real(fltp), pointer :: a(:,:), b(:,:) ! a( lda, * ), b( ldb, * ) ++ real(fltp), parameter :: one=1, zero=0 ++ real(fltp) :: temp ++ integer :: i,j,k, n32, ix, ip ++ info = 0 ++ ++ if (nrhs == 1) then ++ if (n == 4) then ++ call my_getrs_4_by_1( a, lda, ipiv, b, ldb, info ) ++ return ++ end if ++ if (n == 5) then ++ call my_getrs_5_by_1( a, lda, ipiv, b, ldb, info ) ++ return ++ end if ++ else if (nrhs == 4 .and. n == 4) then ++ call my_getrs_4_by_4( a, lda, ipiv, b, ldb, info ) ++ return ++ else if (nrhs == 5 .and. n == 5) then ++ call my_getrs_5_by_5( a, lda, ipiv, b, ldb, info ) ++ return ++ end if ++ ++ call my_laswp(nrhs, b, ldb, 1, n, ipiv, 1 ) ++ !call dtrsm( 'left', 'lower', 'no transpose', 'unit', n, nrhs, one, a, lda, b, ldb ) ++ do j = 1,nrhs ++ do k = 1,n ++ if (b(k,j).ne.zero) then ++ do i = k + 1,n ++ b(i,j) = b(i,j) - b(k,j)*a(i,k) ++ end do ++ end if ++ end do ++ end do ++ !call dtrsm( 'left', 'upper', 'no transpose', 'non-unit', n, nrhs, one, a, lda, b, ldb ) ++ do j = 1,nrhs ++ do k = n,1,-1 ++ if (b(k,j).ne.zero) then ++ b(k,j) = b(k,j)/a(k,k) ++ do i = 1,k - 1 ++ b(i,j) = b(i,j) - b(k,j)*a(i,k) ++ end do ++ end if ++ end do ++ end do ++ ++ end subroutine my_getrs ++ ++ ++ subroutine my_getrs_5_by_5( a, lda, ipiv, b, ldb, info ) ++ integer :: info, lda, ldb ! , n=5, nrhs=5 ++ integer, pointer :: ipiv(:) ++ real(fltp), pointer :: a(:,:), b(:,:) ! a( lda, * ), b( ldb, * ) ++ real(fltp), parameter :: zero=0 ++ ++ integer :: j ++ info = 0 ++ ++ !call my_laswp(5, b, ldb, 1, 5, ipiv, 1 ) ++ call my_laswp_5_by_5( b, ldb, ipiv ) ++ ++ b(2,1) = b(2,1) - b(1,1)*a(2,1) ++ b(3,1) = b(3,1) - b(1,1)*a(3,1) ++ b(4,1) = b(4,1) - b(1,1)*a(4,1) ++ b(5,1) = b(5,1) - b(1,1)*a(5,1) ++ b(3,1) = b(3,1) - b(2,1)*a(3,2) ++ b(4,1) = b(4,1) - b(2,1)*a(4,2) ++ b(5,1) = b(5,1) - b(2,1)*a(5,2) ++ b(4,1) = b(4,1) - b(3,1)*a(4,3) ++ b(5,1) = b(5,1) - b(3,1)*a(5,3) ++ b(5,1) = b(5,1) - b(4,1)*a(5,4) ++ ++ b(2,2) = b(2,2) - b(1,2)*a(2,1) ++ b(3,2) = b(3,2) - b(1,2)*a(3,1) ++ b(4,2) = b(4,2) - b(1,2)*a(4,1) ++ b(5,2) = b(5,2) - b(1,2)*a(5,1) ++ b(3,2) = b(3,2) - b(2,2)*a(3,2) ++ b(4,2) = b(4,2) - b(2,2)*a(4,2) ++ b(5,2) = b(5,2) - b(2,2)*a(5,2) ++ b(4,2) = b(4,2) - b(3,2)*a(4,3) ++ b(5,2) = b(5,2) - b(3,2)*a(5,3) ++ b(5,2) = b(5,2) - b(4,2)*a(5,4) ++ ++ b(2,3) = b(2,3) - b(1,3)*a(2,1) ++ b(3,3) = b(3,3) - b(1,3)*a(3,1) ++ b(4,3) = b(4,3) - b(1,3)*a(4,1) ++ b(5,3) = b(5,3) - b(1,3)*a(5,1) ++ b(3,3) = b(3,3) - b(2,3)*a(3,2) ++ b(4,3) = b(4,3) - b(2,3)*a(4,2) ++ b(5,3) = b(5,3) - b(2,3)*a(5,2) ++ b(4,3) = b(4,3) - b(3,3)*a(4,3) ++ b(5,3) = b(5,3) - b(3,3)*a(5,3) ++ b(5,3) = b(5,3) - b(4,3)*a(5,4) ++ ++ b(2,4) = b(2,4) - b(1,4)*a(2,1) ++ b(3,4) = b(3,4) - b(1,4)*a(3,1) ++ b(4,4) = b(4,4) - b(1,4)*a(4,1) ++ b(5,4) = b(5,4) - b(1,4)*a(5,1) ++ b(3,4) = b(3,4) - b(2,4)*a(3,2) ++ b(4,4) = b(4,4) - b(2,4)*a(4,2) ++ b(5,4) = b(5,4) - b(2,4)*a(5,2) ++ b(4,4) = b(4,4) - b(3,4)*a(4,3) ++ b(5,4) = b(5,4) - b(3,4)*a(5,3) ++ b(5,4) = b(5,4) - b(4,4)*a(5,4) ++ ++ b(2,5) = b(2,5) - b(1,5)*a(2,1) ++ b(3,5) = b(3,5) - b(1,5)*a(3,1) ++ b(4,5) = b(4,5) - b(1,5)*a(4,1) ++ b(5,5) = b(5,5) - b(1,5)*a(5,1) ++ b(3,5) = b(3,5) - b(2,5)*a(3,2) ++ b(4,5) = b(4,5) - b(2,5)*a(4,2) ++ b(5,5) = b(5,5) - b(2,5)*a(5,2) ++ b(4,5) = b(4,5) - b(3,5)*a(4,3) ++ b(5,5) = b(5,5) - b(3,5)*a(5,3) ++ b(5,5) = b(5,5) - b(4,5)*a(5,4) ++ ++ !call dtrsm( 'left', 'upper', 'no transpose', 'non-unit', n, nrhs, one, a, lda, b, ldb ) ++ b(5,1) = b(5,1)/a(5,5) ++ b(1,1) = b(1,1) - b(5,1)*a(1,5) ++ b(2,1) = b(2,1) - b(5,1)*a(2,5) ++ b(3,1) = b(3,1) - b(5,1)*a(3,5) ++ b(4,1) = b(4,1) - b(5,1)*a(4,5) ++ b(4,1) = b(4,1)/a(4,4) ++ b(1,1) = b(1,1) - b(4,1)*a(1,4) ++ b(2,1) = b(2,1) - b(4,1)*a(2,4) ++ b(3,1) = b(3,1) - b(4,1)*a(3,4) ++ b(3,1) = b(3,1)/a(3,3) ++ b(1,1) = b(1,1) - b(3,1)*a(1,3) ++ b(2,1) = b(2,1) - b(3,1)*a(2,3) ++ b(2,1) = b(2,1)/a(2,2) ++ b(1,1) = b(1,1) - b(2,1)*a(1,2) ++ b(1,1) = b(1,1)/a(1,1) ++ ++ b(5,2) = b(5,2)/a(5,5) ++ b(1,2) = b(1,2) - b(5,2)*a(1,5) ++ b(2,2) = b(2,2) - b(5,2)*a(2,5) ++ b(3,2) = b(3,2) - b(5,2)*a(3,5) ++ b(4,2) = b(4,2) - b(5,2)*a(4,5) ++ b(4,2) = b(4,2)/a(4,4) ++ b(1,2) = b(1,2) - b(4,2)*a(1,4) ++ b(2,2) = b(2,2) - b(4,2)*a(2,4) ++ b(3,2) = b(3,2) - b(4,2)*a(3,4) ++ b(3,2) = b(3,2)/a(3,3) ++ b(1,2) = b(1,2) - b(3,2)*a(1,3) ++ b(2,2) = b(2,2) - b(3,2)*a(2,3) ++ b(2,2) = b(2,2)/a(2,2) ++ b(1,2) = b(1,2) - b(2,2)*a(1,2) ++ b(1,2) = b(1,2)/a(1,1) ++ ++ b(5,3) = b(5,3)/a(5,5) ++ b(1,3) = b(1,3) - b(5,3)*a(1,5) ++ b(2,3) = b(2,3) - b(5,3)*a(2,5) ++ b(3,3) = b(3,3) - b(5,3)*a(3,5) ++ b(4,3) = b(4,3) - b(5,3)*a(4,5) ++ b(4,3) = b(4,3)/a(4,4) ++ b(1,3) = b(1,3) - b(4,3)*a(1,4) ++ b(2,3) = b(2,3) - b(4,3)*a(2,4) ++ b(3,3) = b(3,3) - b(4,3)*a(3,4) ++ b(3,3) = b(3,3)/a(3,3) ++ b(1,3) = b(1,3) - b(3,3)*a(1,3) ++ b(2,3) = b(2,3) - b(3,3)*a(2,3) ++ b(2,3) = b(2,3)/a(2,2) ++ b(1,3) = b(1,3) - b(2,3)*a(1,2) ++ b(1,3) = b(1,3)/a(1,1) ++ ++ b(5,4) = b(5,4)/a(5,5) ++ b(1,4) = b(1,4) - b(5,4)*a(1,5) ++ b(2,4) = b(2,4) - b(5,4)*a(2,5) ++ b(3,4) = b(3,4) - b(5,4)*a(3,5) ++ b(4,4) = b(4,4) - b(5,4)*a(4,5) ++ b(4,4) = b(4,4)/a(4,4) ++ b(1,4) = b(1,4) - b(4,4)*a(1,4) ++ b(2,4) = b(2,4) - b(4,4)*a(2,4) ++ b(3,4) = b(3,4) - b(4,4)*a(3,4) ++ b(3,4) = b(3,4)/a(3,3) ++ b(1,4) = b(1,4) - b(3,4)*a(1,3) ++ b(2,4) = b(2,4) - b(3,4)*a(2,3) ++ b(2,4) = b(2,4)/a(2,2) ++ b(1,4) = b(1,4) - b(2,4)*a(1,2) ++ b(1,4) = b(1,4)/a(1,1) ++ ++ b(5,5) = b(5,5)/a(5,5) ++ b(1,5) = b(1,5) - b(5,5)*a(1,5) ++ b(2,5) = b(2,5) - b(5,5)*a(2,5) ++ b(3,5) = b(3,5) - b(5,5)*a(3,5) ++ b(4,5) = b(4,5) - b(5,5)*a(4,5) ++ b(4,5) = b(4,5)/a(4,4) ++ b(1,5) = b(1,5) - b(4,5)*a(1,4) ++ b(2,5) = b(2,5) - b(4,5)*a(2,4) ++ b(3,5) = b(3,5) - b(4,5)*a(3,4) ++ b(3,5) = b(3,5)/a(3,3) ++ b(1,5) = b(1,5) - b(3,5)*a(1,3) ++ b(2,5) = b(2,5) - b(3,5)*a(2,3) ++ b(2,5) = b(2,5)/a(2,2) ++ b(1,5) = b(1,5) - b(2,5)*a(1,2) ++ b(1,5) = b(1,5)/a(1,1) ++ ++ end subroutine my_getrs_5_by_5 ++ ++ ++ subroutine my_getrs_5_by_1( a, lda, ipiv, b, ldb, info ) ++ integer :: info, lda, ldb ! , n=5, nrhs=1 ++ integer, pointer :: ipiv(:) ++ real(fltp), pointer :: a(:,:), b(:,:) ! a( lda, * ), b( ldb, * ) ++ real(fltp), parameter :: zero=0 ++ info = 0 ++ call my_laswp_5_by_1( b, ldb, ipiv ) ++ !call dtrsm( 'left', 'lower', 'no transpose', 'unit', n, nrhs, one, a, lda, b, ldb ) ++ b(2,1) = b(2,1) - b(1,1)*a(2,1) ++ b(3,1) = b(3,1) - b(1,1)*a(3,1) ++ b(4,1) = b(4,1) - b(1,1)*a(4,1) ++ b(5,1) = b(5,1) - b(1,1)*a(5,1) ++ b(3,1) = b(3,1) - b(2,1)*a(3,2) ++ b(4,1) = b(4,1) - b(2,1)*a(4,2) ++ b(5,1) = b(5,1) - b(2,1)*a(5,2) ++ b(4,1) = b(4,1) - b(3,1)*a(4,3) ++ b(5,1) = b(5,1) - b(3,1)*a(5,3) ++ b(5,1) = b(5,1) - b(4,1)*a(5,4) ++ ++ !call dtrsm( 'left', 'upper', 'no transpose', 'non-unit', n, nrhs, one, a, lda, b, ldb ) ++ b(5,1) = b(5,1)/a(5,5) ++ b(1,1) = b(1,1) - b(5,1)*a(1,5) ++ b(2,1) = b(2,1) - b(5,1)*a(2,5) ++ b(3,1) = b(3,1) - b(5,1)*a(3,5) ++ b(4,1) = b(4,1) - b(5,1)*a(4,5) ++ b(4,1) = b(4,1)/a(4,4) ++ b(1,1) = b(1,1) - b(4,1)*a(1,4) ++ b(2,1) = b(2,1) - b(4,1)*a(2,4) ++ b(3,1) = b(3,1) - b(4,1)*a(3,4) ++ b(3,1) = b(3,1)/a(3,3) ++ b(1,1) = b(1,1) - b(3,1)*a(1,3) ++ b(2,1) = b(2,1) - b(3,1)*a(2,3) ++ b(2,1) = b(2,1)/a(2,2) ++ b(1,1) = b(1,1) - b(2,1)*a(1,2) ++ b(1,1) = b(1,1)/a(1,1) ++ ++ end subroutine my_getrs_5_by_1 ++ ++ ++ subroutine my_getrs_4_by_4( a, lda, ipiv, b, ldb, info ) ++ integer :: info, lda, ldb ! , n=4, nrhs=4 ++ integer, pointer :: ipiv(:) ++ real(fltp), pointer :: a(:,:), b(:,:) ! a( lda, * ), b( ldb, * ) ++ real(fltp), parameter :: zero=0 ++ info = 0 ++ ++ call my_laswp_4_by_4( b, ldb, ipiv ) ++ ++ !call dtrsm( 'left', 'lower', 'no transpose', 'unit', n, nrhs, one, a, lda, b, ldb ) ++ b(2,1) = b(2,1) - b(1,1)*a(2,1) ++ b(3,1) = b(3,1) - b(1,1)*a(3,1) ++ b(4,1) = b(4,1) - b(1,1)*a(4,1) ++ b(3,1) = b(3,1) - b(2,1)*a(3,2) ++ b(4,1) = b(4,1) - b(2,1)*a(4,2) ++ b(4,1) = b(4,1) - b(3,1)*a(4,3) ++ ++ b(2,2) = b(2,2) - b(1,2)*a(2,1) ++ b(3,2) = b(3,2) - b(1,2)*a(3,1) ++ b(4,2) = b(4,2) - b(1,2)*a(4,1) ++ b(3,2) = b(3,2) - b(2,2)*a(3,2) ++ b(4,2) = b(4,2) - b(2,2)*a(4,2) ++ b(4,2) = b(4,2) - b(3,2)*a(4,3) ++ ++ b(2,3) = b(2,3) - b(1,3)*a(2,1) ++ b(3,3) = b(3,3) - b(1,3)*a(3,1) ++ b(4,3) = b(4,3) - b(1,3)*a(4,1) ++ b(3,3) = b(3,3) - b(2,3)*a(3,2) ++ b(4,3) = b(4,3) - b(2,3)*a(4,2) ++ b(4,3) = b(4,3) - b(3,3)*a(4,3) ++ ++ b(2,4) = b(2,4) - b(1,4)*a(2,1) ++ b(3,4) = b(3,4) - b(1,4)*a(3,1) ++ b(4,4) = b(4,4) - b(1,4)*a(4,1) ++ b(3,4) = b(3,4) - b(2,4)*a(3,2) ++ b(4,4) = b(4,4) - b(2,4)*a(4,2) ++ b(4,4) = b(4,4) - b(3,4)*a(4,3) ++ ++ !call dtrsm( 'left', 'upper', 'no transpose', 'non-unit', n, nrhs, one, a, lda, b, ldb ) ++ b(4,1) = b(4,1)/a(4,4) ++ b(1,1) = b(1,1) - b(4,1)*a(1,4) ++ b(2,1) = b(2,1) - b(4,1)*a(2,4) ++ b(3,1) = b(3,1) - b(4,1)*a(3,4) ++ b(3,1) = b(3,1)/a(3,3) ++ b(1,1) = b(1,1) - b(3,1)*a(1,3) ++ b(2,1) = b(2,1) - b(3,1)*a(2,3) ++ b(2,1) = b(2,1)/a(2,2) ++ b(1,1) = b(1,1) - b(2,1)*a(1,2) ++ b(1,1) = b(1,1)/a(1,1) ++ ++ b(4,2) = b(4,2)/a(4,4) ++ b(1,2) = b(1,2) - b(4,2)*a(1,4) ++ b(2,2) = b(2,2) - b(4,2)*a(2,4) ++ b(3,2) = b(3,2) - b(4,2)*a(3,4) ++ b(3,2) = b(3,2)/a(3,3) ++ b(1,2) = b(1,2) - b(3,2)*a(1,3) ++ b(2,2) = b(2,2) - b(3,2)*a(2,3) ++ b(2,2) = b(2,2)/a(2,2) ++ b(1,2) = b(1,2) - b(2,2)*a(1,2) ++ b(1,2) = b(1,2)/a(1,1) ++ ++ b(4,3) = b(4,3)/a(4,4) ++ b(1,3) = b(1,3) - b(4,3)*a(1,4) ++ b(2,3) = b(2,3) - b(4,3)*a(2,4) ++ b(3,3) = b(3,3) - b(4,3)*a(3,4) ++ b(3,3) = b(3,3)/a(3,3) ++ b(1,3) = b(1,3) - b(3,3)*a(1,3) ++ b(2,3) = b(2,3) - b(3,3)*a(2,3) ++ b(2,3) = b(2,3)/a(2,2) ++ b(1,3) = b(1,3) - b(2,3)*a(1,2) ++ b(1,3) = b(1,3)/a(1,1) ++ ++ b(4,4) = b(4,4)/a(4,4) ++ b(1,4) = b(1,4) - b(4,4)*a(1,4) ++ b(2,4) = b(2,4) - b(4,4)*a(2,4) ++ b(3,4) = b(3,4) - b(4,4)*a(3,4) ++ b(3,4) = b(3,4)/a(3,3) ++ b(1,4) = b(1,4) - b(3,4)*a(1,3) ++ b(2,4) = b(2,4) - b(3,4)*a(2,3) ++ b(2,4) = b(2,4)/a(2,2) ++ b(1,4) = b(1,4) - b(2,4)*a(1,2) ++ b(1,4) = b(1,4)/a(1,1) ++ ++ end subroutine my_getrs_4_by_4 ++ ++ ++ subroutine my_getrs_4_by_1( a, lda, ipiv, b, ldb, info ) ++ integer :: info, lda, ldb ! , n=4, nrhs=1 ++ integer, pointer :: ipiv(:) ++ real(fltp), pointer :: a(:,:), b(:,:) ! a( lda, * ), b( ldb, * ) ++ real(fltp), parameter :: zero=0 ++ ++ info = 0 ++ call my_laswp_4_by_1( b, ldb, ipiv ) ++ ++ !call dtrsm( 'left', 'lower', 'no transpose', 'unit', n, nrhs, one, a, lda, b, ldb ) ++ b(2,1) = b(2,1) - b(1,1)*a(2,1) ++ b(3,1) = b(3,1) - b(1,1)*a(3,1) ++ b(4,1) = b(4,1) - b(1,1)*a(4,1) ++ b(3,1) = b(3,1) - b(2,1)*a(3,2) ++ b(4,1) = b(4,1) - b(2,1)*a(4,2) ++ b(4,1) = b(4,1) - b(3,1)*a(4,3) ++ ++ !call dtrsm( 'left', 'upper', 'no transpose', 'non-unit', n, nrhs, one, a, lda, b, ldb ) ++ b(4,1) = b(4,1)/a(4,4) ++ b(1,1) = b(1,1) - b(4,1)*a(1,4) ++ b(2,1) = b(2,1) - b(4,1)*a(2,4) ++ b(3,1) = b(3,1) - b(4,1)*a(3,4) ++ b(3,1) = b(3,1)/a(3,3) ++ b(1,1) = b(1,1) - b(3,1)*a(1,3) ++ b(2,1) = b(2,1) - b(3,1)*a(2,3) ++ b(2,1) = b(2,1)/a(2,2) ++ b(1,1) = b(1,1) - b(2,1)*a(1,2) ++ b(1,1) = b(1,1)/a(1,1) ++ ++ end subroutine my_getrs_4_by_1 ++ ++ ++ subroutine my_getrs_dbg( n, nrhs, a, lda, ipiv, b, ldb, info ) ++ integer :: info, lda, ldb, n, nrhs ++ integer, pointer :: ipiv(:) ++ real(fltp), pointer :: a(:,:), b(:,:) ! a( lda, * ), b( ldb, * ) ++ real(fltp), parameter :: one=1, zero=0 ++ real(fltp) :: temp ++ integer :: i,j,k, n32, ix, ip ++ info = 0 ++ call my_laswp_dbg(nrhs, b, ldb, 1, n, ipiv, 1 ) ++ !call dtrsm( 'left', 'lower', 'no transpose', 'unit', n, nrhs, one, a, lda, b, ldb ) ++ do j = 1,nrhs ++ do k = 1,n ++ if (b(k,j).ne.zero) then ++ do i = k + 1,n ++ b(i,j) = b(i,j) - b(k,j)*a(i,k) ++ end do ++ end if ++ end do ++ end do ++ !call dtrsm( 'left', 'upper', 'no transpose', 'non-unit', n, nrhs, one, a, lda, b, ldb ) ++ do j = 1,nrhs ++ do k = n,1,-1 ++ if (b(k,j).ne.zero) then ++ b(k,j) = b(k,j)/a(k,k) ++ do i = 1,k - 1 ++ b(i,j) = b(i,j) - b(k,j)*a(i,k) ++ end do ++ end if ++ end do ++ end do ++ end subroutine my_getrs_dbg ++ ++ ++ subroutine my_laswp_dbg( n, a, lda, k1, k2, ipiv, incx ) ++ integer :: incx, k1, k2, lda, n ++ integer :: ipiv(:) ++ real(fltp) :: a(:,:) ! a( lda, * ) ++ integer :: i, i1, i2, inc, ip, ix, ix0, j, k, n32 ++ real(fltp) :: temp ++ include 'formats' ++ write(*,2) 'n', n ++ write(*,2) 'incx', incx ++ write(*,2) 'k1', k1 ++ write(*,2) 'k2', k2 ++ do j = 1, n ++ write(*,3) 'ipiv(j)', j, ipiv(j) ++ end do ++ ! interchange row i with row ipiv(i) for each of rows k1 through k2. ++ if( incx.gt.0 ) then ++ ix0 = k1 ++ i1 = k1 ++ i2 = k2 ++ inc = 1 ++ else if( incx.lt.0 ) then ++ ix0 = 1 + ( 1-k2 )*incx ++ i1 = k2 ++ i2 = k1 ++ inc = -1 ++ else ++ return ++ end if ++ n32 = ( n / 32 )*32 ++ if( n32.ne.0 ) then ++ do j = 1, n32, 32 ++ ix = ix0 ++ do i = i1, i2, inc ++ ip = ipiv( ix ) ++ if( ip.ne.i ) then ++ do k = j, j + 31 ++ temp = a( i, k ) ++ a( i, k ) = a( ip, k ) ++ a( ip, k ) = temp ++ end do ++ end if ++ ix = ix + incx ++ end do ++ end do ++ end if ++ if( n32.ne.n ) then ++ n32 = n32 + 1 ++ ix = ix0 ++ do i = i1, i2, inc ++ ip = ipiv( ix ) ++ ++ ++ ++ if (ip == 0) then ++ ++ stop 'my_lapack95 ip == 0' ++ ++ ++ end if ++ ++ ++ ++ ++ if( ip.ne.i ) then ++ do k = n32, n ++ temp = a( i, k ) ++ a( i, k ) = a( ip, k ) ++ a( ip, k ) = temp ++ end do ++ end if ++ ix = ix + incx ++ end do ++ end if ++ end subroutine my_laswp_dbg ++ ++ ++#ifdef DBLE ++ end module my_lapack95_dble ++#else ++ end module my_lapack95_quad ++#endif diff --git a/src/amuse_mesa_r15140/patches/0007-configure-build-and-fix-clang.patch b/src/amuse_mesa_r15140/patches/0007-configure-build-and-fix-clang.patch new file mode 100644 index 0000000000..bb31a07a60 --- /dev/null +++ b/src/amuse_mesa_r15140/patches/0007-configure-build-and-fix-clang.patch @@ -0,0 +1,755 @@ +diff -u -r mesa-r15140/utils/makefile_header mesa-r15140.new/utils/makefile_header +--- mesa-r15140/utils/makefile_header 2020-12-02 11:56:28.000000000 +0100 ++++ mesa-r15140.new/utils/makefile_header 2024-12-17 10:27:40.052958483 +0100 +@@ -1,7 +1,4 @@ +-# NOTE: this default version of makefile_header +-# assumes you will be using the mesasdk. +-# if you do not want that, you can use the +-# makefile_header_non_mesasdk file as a template. ++#!/bin/bash + + # NOTE: MESA is no longer supported on 32-bit systems. This isn't by design; + # we simply haven't been able to get it to work! So if you really-really want +@@ -15,30 +12,13 @@ + endif + endif + ++# step 1) specify your compilers + +-ifndef MESASDK_ROOT +-ifndef MESA_DIR_INTENTIONALLY_EMPTY +-$(error MESASDK_ROOT enviroment variable is not set) +-endif +-endif +- +-#mesasdk_init adds $MESASDK_ROOT to $PATH +-ifeq ($(findstring $(MESASDK_ROOT), $(PATH)),) +-ifndef MESA_DIR_INTENTIONALLY_EMPTY +-$(error The MESASDK has not been initialized) +-endif +-endif ++# NOTE: recent versions of mesa have required reduced optimization ++# in order to work with ifort; we suggest using gfortran instead of ifort if possible. + +-# Check mesasdk version +-ifdef MESASDK_ROOT +-ifndef MESA_DIR_INTENTIONALLY_EMPTY +-# Check for whether the sdk ships crmath +-MINIMUM_VERSION = 20.3.1 +-ifneq ($(shell $(MESA_DIR)/utils/check_sdk_version $(MINIMUM_VERSION)),passed) +-$(error Your MESASDK is too old please update to version $(MINIMUM_VERSION) or newer) +-endif +-endif +-endif ++CC = $(MPICC) ++FC = $(MPIFC) + + # Set optimization level + ARCH = $(shell uname -m) +@@ -53,112 +33,243 @@ + endif + + +-# step 1) specify your compilers +- +-# NOTE: recent versions of mesa have required reduced optimization +-# in order to work with ifort; we suggest using gfortran instead of ifort if possible. ++# if you need special flags for the compiler, define them here: ++SPECIAL_FC_FLAGS = $(CFLAGS) ++SPECIAL_C_FLAGS = $(FCFLAGSs) ++ ++# step 1.a) [temporary workaround for loader problem on Mac:] ++# go down to select the correct entry for LOAD_MATRIX ++# depending on whether you are on Linux or Mac + +-FC = gfortran +-CC = gcc +- +- +-# step 2) specify whether to use crmath for math library ++# step 2) specify whether to use crmth for math library + + USE_CRMATH = YES + + ifeq ($(USE_CRMATH),YES) +-LOAD_CRMATH = `mesasdk_crmath_link` ++LOAD_CRMATH = -L$(MESA_DIR)/lib -lcrmath -lcrlibm + export MESASDK_MATH_SLOT = crmath ++INCLUDE_CRMATH = -I$(MESA_DIR)/include + endif + +-# step 3) specify which LAPACK and BLADS libraries to use for mesa/mtx +- +-WHICH_LAPACK95 = +-WHICH_LAPACK = +-WHICH_BLAS = +-LOAD_LAPACK95 = `mesasdk_lapack95_link` +-LOAD_LAPACK = `mesasdk_lapack_link` +-LOAD_BLAS = `mesasdk_blas_link` ++# step 3) specify which BLAS and LAPACK libraries to use for mesa/mtx + ++# these are the standard defaults ++WHICH_LAPACK = ++LOAD_LAPACK = $(LAPACK_LIBS) -llapack95 ++WHICH_BLAS = ++LOAD_BLAS = $(BLAS_LIBS) $(LAPACK_LIBS) -llapack95 ++MKL_INCLUDE = + + # step 4) do you want to use PGPLOT with mesa/star? ++# you can have onscreen plots updated at each step, ++# and you can save files for making movies. very cool! + +-USE_PGSTAR = YES +-LOAD_PGPLOT = `mesasdk_pgplot_link` -lz ++# NOTE: you need to have a PGPLOT built using the same fortran and c compiler as you ++# are using for mesa. + ++# if you don't already have a compatible pgplot, ++# follow the instructions in pgplot/README + +-# step 5) do you want to use SE with mesa/star? ++# to access pgplot from mesa/star, ++# set USE_PGSTAR = YES and set LOAD_PGPLOT to load the libraries. ++# in mesa/star, set the control parameter pgstar_flag = .true. in &star_job ++# when you run star it will open a window using X and draw plots using PGSTAR ++# the plots will be updated each time a log entry is made. ++# see star/test/src/pgstar_defaults.dek for details. ++ ++# NOTE: if you have libpng, then include '-lpng' in the LOAD_PGPLOT line. ++# the *.png files are excellent for making movies. ++# but if you don't have libpng and can't get it, no problem; it isn't required. ++# just remove '-lpng' from the LOAD_PGPLOT line. ++ ++# Similarly, if you don't have X windows and don't want to make onscreen plots, ++# then you can load PGPLOT without it. Just delete the X stuff from LOAD_PGPLOT. ++ ++# for users of Red Hat OS: Georgios Magkotsios reports success with these settings: ++#LOAD_PGPLOT = -L${PGPLOT_DIR} -lpgplot -L/usr/lib64 -lX11 -lsvml -lpng ++#FCstatic = -shared-intel #-Bstatic -static-intel ++ ++# for Ubuntu, Philip Pinto found these libraries to be necessary: ++#LOAD_PGPLOT = -L${PGPLOT_DIR} -lpgplot -lX11 -lxcb -lXau -lXdmcp -lXext -lpng -lz ++ ++# for Fedora 12 (x86_64), Mike Zingale reported that the following worked ++# 1. at the terminal: ++# yum install pgplot pgplot-devel ++# 2. in the mesa/util/makefile_header ++# USE_PGSTAR = YES ++# LOAD_PGPLOT = -lpgplot -L/usr/lib64 -lX11 -lpng ++# 3. it is also important that the following environment variable be set: ++# export PGPLOT_DIR=/usr/share/pgplot/ + +-# SE is now supported using run_star_extras. contact Falk Herwig for info. + ++# NOTE: a change in USE_PGSTAR doesn't take effect until you next recompile mesa/star + +-# step 6) do you want to use HDF5 with mesa/star? +-# Currently we use HDF5 for weak nuclear reaction rates +-USE_HDF5 = YES +-LOAD_HDF5 = `mesasdk_hdf5_link` ++# for now, GYRE is only available with the mesasdk ++USE_GYRE = YES + ++# See http://www.gnu.org/software/make/manual/make.html#Testing-Flags for findstring ++ifneq (,$(findstring ifort,$(FC))) + +-# step 7) do you want to use GYRE? ++USE_PGSTAR = NO ++LOAD_PGPLOT = + +-# if you don't plan to use GYRE and want to skip building it, then +-#USE_GYRE = NO +-# if you want to have GYRE built along with the rest of mesa, then +-USE_GYRE = YES ++#USE_PGSTAR = YES ++#LOAD_PGPLOT = -L/Users/bpaxton/mesa/utils/pgplot -lpgplot -L/usr/X11R6/lib -lX11 -lpng ++#LOAD_PGPLOT = -L/rpod2/opt/pgplot -lpgplot -L/usr/X11R6/lib -lX11 -lpng ++ ++FC_fixed_preprocess = -fpp ++FC_free_preprocess = -fpp + ++else ++ifneq (,$(findstring gfortran,$(FC))) + +-# step 8) now do the mesa install ++#USE_PGSTAR = NO ++#LOAD_PGPLOT = ++USE_PGSTAR = NO ++LOAD_PGPLOT = ++ ++FC_fixed_preprocess = -cpp ++FC_free_preprocess = -cpp ++ ++else ++ ++USE_PGSTAR = NO ++LOAD_PGPLOT = ++ ++FC_fixed_preprocess = -cpp ++FC_free_preprocess = -cpp ++ ++endif ++endif + +-USE_OPENMP = YES + + +-# step 9) Build shared libraries? Needed if you want mesa to be usable in python ++ ++ ++# step 5) Load options for HDF5, this must be compiled with the same compilier as mesa ++ ++# To install hdf5 in $MESA_DIR/utils with ifort run: ++#export CC=icc ++#export F9X=ifort ++#export CXX=icpc ++#export VERSION=1.8.17 ++#cd $MESA_DIR/utils ++#rm -rf hdf5* 2>/dev/null ++#wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${VERSION%.*}/hdf5-"$VERSION"/src/hdf5-"$VERSION".tar.bz2 ++#tar xvf hdf5-"$VERSION".tar.bz2 ++#cd hdf5-"$VERSION" ++#CCFLAGS=-D_Float128=__float128 FCFLAGS="-D_Float128=__float128" ./configure --enable-fortran --enable-fortran2003 ++#make ++#make install ++#cd $MESA_DIR ++ ++# ++# ++# and set in this makefile ++# LOAD_HDF5 = -L${MESA_DIR}/utils/hdf5/lib -lhdf5_fortran -lhdf5 -lz ++# INCLUDE_HDF5 = -I${MESA_DIR}/utils/hdf5/include ++# ++# And in your shell ++# export LD_LIBRARY_PATH=$MESA_DIR/utils/hdf5/lib:$LD_LIBRARY_PATH ++ ++# These get the location from the AMUSE bindings configure ++LOAD_HDF5 = $(HDF5_LDFLAGS) -lhdf5_fortran -lhdf5 -lz -ldl ++INCLUDE_HDF5 = $(HDF5_FFLAGS) ++ ++# If not YES then we don't use HDF5, thus you wont have access to custom weak rates ++# Also the rates test suite will not pass so do: /usr/bin/touch $MESA_DIR/rates/skip_test ++# if you change this option ++USE_HDF5 = YES ++ ++ ++# step 6) now do the mesa install ++USE_OPENMP = YES ++ ++# step 7) Build shared libraries? Needed if you want mesa to be usable in python + + USE_SHARED = NO + ++# do install at the top level mesa directory + +-################################################################# ++# NOTE: do NOT run the install scripts at the subdirectory level ++# those are for use by the top level script + + # Unless you are adding a new compiler to the list of options, + # you shouldn't need to change any of the following stuff. + # It simply defines things for use by the module makefiles. + +-SKIP_NAN_TRAPS = YES +-#SKIP_NAN_TRAPS = NO +-# if not SKIP_NAN_TRAPS, then also add $(FCtrapNANs) to FCbasic2 + +-FCbasic = -Wno-uninitialized -fno-range-check -fmax-errors=7 $(SPECIAL_FC_FLAGS) $(FCbasic2) +-FCbasic2 = -fprotect-parens -fno-sign-zero -fbacktrace -ggdb -finit-real=snan ++# ifneq (,$(findstring ifort,$(FC))) + +-# Set the fortran standard to compile against, files that can't be compiled to the standard and are +-# unfixable should add a statement like: $(filter-out -std=f2008, $(COMPILE)) +-# to filter out the option in their makefile +-FCstandard = -std=f2008 -Wno-error=tabs ++# #FCbasic = $(SPECIAL_FC_FLAGS) -assume protect-parens -fp-model source -prec-div -prec-sqrt -ftz -traceback -error-limit 6 ++# FCbasic = $(SPECIAL_FC_FLAGS) -assume protect-parens -fp-model source -prec-div -prec-sqrt -traceback -error-limit 6 + +-# set environment variable GFORTRAN_ERROR_BACKTRACE=1 ++# # use -vec-report2 to check on vectorization ++ ++# FCimpno = -implicitnone ++# FCchecks = -check uninit -check pointers -check bounds -check all ++# FCwarn = -warn all -warn nounused ++# FCwarn_unused = -warn unused ++# FC_fixed_preprocess = -fpp ++# FC_free_preprocess = -fpp ++# FCfixed = -fixed -132 $(FC_fixed_preprocess) ++# FCfixed72 = -fixed $(FC_fixed_preprocess) ++# FCfree = -free $(FC_free_preprocess) ++# FCopt = -O1 ++# FCdebug = ++# SLOW_COMPILE = ++# OPENMP_FCFLAGS ?= -openmp ++# ifeq ($(USE_OPENMP),YES) ++# FCopenmp = -g $(OPENMP_FCFLAGS) -threads ++# else ++# FCopenmp = ++# endif ++# FCstatic = ++ ++# else ++# ifneq (,$(findstring gfortran,$(FC))) ++ ++SKIP_NAN_TRAPS = YES ++ ++FCbasic = -Wno-uninitialized -fno-range-check -fmax-errors=100 $(SPECIAL_FC_FLAGS) $(FCbasic2) ++FCbasic2 = -fprotect-parens -fno-sign-zero -fbacktrace -ggdb -finit-real=snan + # -Warray-temporaries ++ ++FCstandard = -std=f2008 -Wno-error=tabs + + FCimpno = -fimplicit-none +-FCchecks = -fbounds-check -Wuninitialized -Warray-bounds ++FCchecks = -fbounds-check + FCwarn = -Wunused-value -W -Wno-compare-reals -Wno-unused-parameter -Wno-function-elimination + #FCwarn = -Wunused-value -Werror -W -Wno-compare-reals -Wno-unused-parameter +-FCtrapNANs = -ffpe-trap=invalid,overflow,zero +-# -Wno-unused-parameter +- +-# note: -Werror causes warnings to be treated as errors +-FC_fixed_preprocess = -x f77-cpp-input +-FC_free_preprocess = -x f95-cpp-input ++ + FCfixed = -ffixed-form -ffixed-line-length-none $(FC_fixed_preprocess) + FCfixed72 = -ffixed-form $(FC_fixed_preprocess) + FCfree = -ffree-form -ffree-line-length-none $(FC_free_preprocess) + FCopt = -O${OPT_LEVEL} -ftree-vectorize + FCdebug = -ggdb + FCstatic = ++SLOW_COMPILE = -fno-var-tracking ++OPENMP_FCFLAGS ?= -fopenmp + ifeq ($(USE_OPENMP),YES) +-FCopenmp = -fopenmp ++FCopenmp = $(OPENMP_FCFLAGS) + else + FCopenmp = + endif + ++# else ++ ++# FCbasic = UNKNOWN COMPILER ++# FCchecks = ++# FCwarn = ++# FCfixed = ++# FCfree = ++# FCopt = ++# FCdebug = ++# FCopenmp = ++# SLOW_COMPILE = ++# endif ++# endif ++ + LIB_TOOL_STATIC = ar crs + LIB_SUFFIX_STATIC = a + +@@ -184,29 +295,22 @@ + LIB_SUFFIX = dylib + endif + LIB_TOOL = $(FC) $(LIB_FLAGS) $(FCopenmp) $(LD_FLAGS) -o ++ + else + # Static library options + LIB_TOOL = $(LIB_TOOL_STATIC) + LIB_SUFFIX = $(LIB_SUFFIX_STATIC) +- LIB_FLAGS = +- LIBS = +-endif +- +-# Turn on all FPE options +-ifeq ($(MESA_FPE_CHECKS_ON),1) +- FCbasic += $(FCtrapNANs) -fbounds-check -Wuninitialized -Warray-bounds -fstack-protector-all -D_FORTIFY_SOURCE=2 +- FCopt = -O0 -ftree-vectorize +- SKIP_NAN_TRAPS = NO ++ LIB_FLAGS = ++ LIBS = + endif + +- + # some definitions used in the module makefiles + MODULE_DIR = .. + MOD_PUBLIC_DIR = $(MODULE_DIR)/public + MOD_PRIVATE_DIR = $(MODULE_DIR)/private + MODULE_INCLUDES = -I$(MOD_PUBLIC_DIR) -I$(MOD_PRIVATE_DIR) +-OTHER_INCLUDES = -I$(MESA_DIR)/include +-INCLUDES = $(MODULE_INCLUDES) $(OTHER_INCLUDES) ++OTHER_INCLUDES = -I$(MESA_DIR)/include $(INCLUDE_HDF5) ++INCLUDES = $(MODULE_INCLUDES) $(OTHER_INCLUDES) + + COMPILE_BASIC_FLAGS = $(FCbasic) $(FCopenmp) $(FCstatic) $(FCstandard) $(LIB_FLAGS) $(INCLUDES) + COMPILE_BASIC = $(FC) $(COMPILE_BASIC_FLAGS) +@@ -291,19 +395,15 @@ + LOAD_MESA_BINARY_EXT = $(LOAD_MESA_STAR_EXT) + LOAD_MESA_BINARY = $(LOAD_MESA_BINARY_INT) $(LOAD_MESA_BINARY_EXT) + +-# Due to slow compile with -ggdb and -O2 we add -fno-var-tracking which speeds things up alot +-# At the expense of slightly worse debug information (but no worse than -ggdb -O0 would be, as that implies -fno-var-tracking) +-SLOW_COMPILE = -fno-var-tracking +- + # LOADER creates executables +-LOADER = $(FC) ++LOADER = $(FC) $(LDFLAGS) + + STAR_WORK_OBJS = \ + run_star_extras.o run_star.o + + BINARY_WORK_OBJS = \ +- run_star_extras.o run_binary_extras.o run_binary.o +- ++ $(STAR_WORK_OBJS) run_binary_extras.o run_binary.o ++ + #Test if we are on windows + BUILD_ON_WINDOWS=NO + ifeq ($(OS),Windows_NT) +@@ -316,15 +416,12 @@ + # Path to cp_if_newer script + CP_IF_NEWER = $(MESA_DIR)/utils/cp_if_newer + +-# Path to check_sdk_version script +-CHECK_SDK_VERSION = $(MESA_DIR)/utils/check_sdk_version +- + # makedepf90 invocation (depends on whether we have the SDK2-patched version that + # supports the -X flag) +-ifneq ($(shell makedepf90 -V | grep sdk2),) ++ifneq ($(shell $(MESA_DIR)/utils/makedepf90-2.8.8/makedepf90 -V | grep sdk2),) + MAKEDEPF90_IGNORE_MODS = intrinsic omp_lib iso_c_binding iso_fortran_env ieee_arithmetic crmath hdf5 +- MAKEDEPF90 = makedepf90 -m %m.mod -X $(addprefix -u,$(MAKEDEPF90_IGNORE_MODS)) ++ MAKEDEPF90 := $(MESA_DIR)/utils/makedepf90-2.8.8/makedepf90 -m %m.mod -X $(addprefix -u,$(MAKEDEPF90_IGNORE_MODS)) + else +- MAKEDEPF90 = makedepf90 -m %m.mod ++ MAKEDEPF90 := $(MESA_DIR)/utils/makedepf90-2.8.8/makedepf90 -m %m.mod + endif + +diff -u -r mesa-r15140/utils/makefile_header_non_mesasdk mesa-r15140.new/utils/makefile_header_non_mesasdk +--- mesa-r15140/utils/makefile_header_non_mesasdk 2020-11-05 11:06:59.000000000 +0100 ++++ mesa-r15140.new/utils/makefile_header_non_mesasdk 2024-12-17 10:37:35.007376855 +0100 +@@ -17,14 +17,25 @@ + # NOTE: recent versions of mesa have required reduced optimization + # in order to work with ifort; we suggest using gfortran instead of ifort if possible. + +-CC = gcc +-FC = ifort +-#FC = gfortran ++CC = $(MPICC) ++FC = $(MPIFC) ++ ++# Set optimization level ++ARCH = $(shell uname -m) ++ ++ifeq (${ARCH},x86_64) ++OPT_LEVEL = 2 ++else ifeq (${ARCH},aarch64) ++OPT_LEVEL = 2 ++SPECIAL_FC_FLAGS := ${SPECIAL_FC_FLAGS} -ffp-contract=off ++else ++OPT_LEVEL = 0 ++endif + + + # if you need special flags for the compiler, define them here: +-SPECIAL_FC_FLAGS = +-SPECIAL_C_FLAGS = ++SPECIAL_FC_FLAGS = $(CFLAGS) ++SPECIAL_C_FLAGS = $(FCFLAGSs) + + # step 1.a) [temporary workaround for loader problem on Mac:] + # go down to select the correct entry for LOAD_MATRIX +@@ -35,17 +46,18 @@ + USE_CRMATH = YES + + ifeq ($(USE_CRMATH),YES) +-LOAD_CRMATH = -lcrmath -lcrlibm +-INCLUDE_CRMATH = ++LOAD_CRMATH = -L$(MESA_DIR)/lib -lcrmath -lcrlibm ++export MESASDK_MATH_SLOT = crmath ++INCLUDE_CRMATH = -I$(MESA_DIR)/include + endif + + # step 3) specify which BLAS and LAPACK libraries to use for mesa/mtx + + # these are the standard defaults +-WHICH_LAPACK = USE_SRCS +-LOAD_LAPACK = -lmesalapack +-WHICH_BLAS = USE_SRCS +-LOAD_BLAS = -lmesablas ++WHICH_LAPACK = ++LOAD_LAPACK = $(LAPACK_LIBS) -llapack95 ++WHICH_BLAS = ++LOAD_BLAS = $(BLAS_LIBS) $(LAPACK_LIBS) -llapack95 + MKL_INCLUDE = + + # step 4) do you want to use PGPLOT with mesa/star? +@@ -93,7 +105,7 @@ + # NOTE: a change in USE_PGSTAR doesn't take effect until you next recompile mesa/star + + # for now, GYRE is only available with the mesasdk +-USE_GYRE = NO ++USE_GYRE = YES + + # See http://www.gnu.org/software/make/manual/make.html#Testing-Flags for findstring + ifneq (,$(findstring ifort,$(FC))) +@@ -110,8 +122,8 @@ + + #USE_PGSTAR = NO + #LOAD_PGPLOT = +-USE_PGSTAR = YES +-LOAD_PGPLOT = -L/Users/bpaxton/mesa/utils/pgplot_gfortran -lpgplot -L/usr/X11R6/lib -lX11 -lpng ++USE_PGSTAR = NO ++LOAD_PGPLOT = + + else + +@@ -152,17 +164,16 @@ + # export LD_LIBRARY_PATH=$MESA_DIR/utils/hdf5/lib:$LD_LIBRARY_PATH + + # These are if you are using the sdk hdf5 implementation +-LOAD_HDF5 = `mesasdk_hdf5_link` +-INCLUDE_HDF5 = -I${MESASDK_ROOT}/include ++LOAD_HDF5 = -L${MESA_DIR}/lib -lhdf5_fortran -lhdf5 -lz -ldl ++INCLUDE_HDF5 = -I${MESA_DIR}/include + + # If not YES then we don't use HDF5, thus you wont have access to custom weak rates + # Also the rates test suite will not pass so do: /usr/bin/touch $MESA_DIR/rates/skip_test + # if you change this option +-USE_HDF5 = NO ++USE_HDF5 = YES + + + # step 6) now do the mesa install +- + USE_OPENMP = YES + + # step 7) Build shared libraries? Needed if you want mesa to be usable in python +@@ -179,72 +190,76 @@ + # It simply defines things for use by the module makefiles. + + +-ifneq (,$(findstring ifort,$(FC))) ++# ifneq (,$(findstring ifort,$(FC))) + +-#FCbasic = $(SPECIAL_FC_FLAGS) -assume protect-parens -fp-model source -prec-div -prec-sqrt -ftz -traceback -error-limit 6 +-FCbasic = $(SPECIAL_FC_FLAGS) -assume protect-parens -fp-model source -prec-div -prec-sqrt -traceback -error-limit 6 ++# #FCbasic = $(SPECIAL_FC_FLAGS) -assume protect-parens -fp-model source -prec-div -prec-sqrt -ftz -traceback -error-limit 6 ++# FCbasic = $(SPECIAL_FC_FLAGS) -assume protect-parens -fp-model source -prec-div -prec-sqrt -traceback -error-limit 6 + +-# use -vec-report2 to check on vectorization ++# # use -vec-report2 to check on vectorization + +-FCimpno = -implicitnone +-FCchecks = -check uninit -check pointers -check bounds -check all +-FCwarn = -warn all -warn nounused +-FCwarn_unused = -warn unused +-FC_fixed_preprocess = -fpp +-FC_free_preprocess = -fpp +-FCfixed = -fixed -132 $(FC_fixed_preprocess) +-FCfixed72 = -fixed $(FC_fixed_preprocess) +-FCfree = -free $(FC_free_preprocess) +-FCopt = -O1 +-FCdebug = -g +-SLOW_COMPILE = +-ifeq ($(USE_OPENMP),YES) +-FCopenmp = -qopenmp -threads +-else +-FCopenmp = +-endif +-FCstatic = ++# FCimpno = -implicitnone ++# FCchecks = -check uninit -check pointers -check bounds -check all ++# FCwarn = -warn all -warn nounused ++# FCwarn_unused = -warn unused ++# FC_fixed_preprocess = -fpp ++# FC_free_preprocess = -fpp ++# FCfixed = -fixed -132 $(FC_fixed_preprocess) ++# FCfixed72 = -fixed $(FC_fixed_preprocess) ++# FCfree = -free $(FC_free_preprocess) ++# FCopt = -O1 ++# FCdebug = ++# SLOW_COMPILE = ++# OPENMP_FCFLAGS ?= -openmp ++# ifeq ($(USE_OPENMP),YES) ++# FCopenmp = -g $(OPENMP_FCFLAGS) -threads ++# else ++# FCopenmp = ++# endif ++# FCstatic = + +-else +-ifneq (,$(findstring gfortran,$(FC))) ++# else ++# ifneq (,$(findstring gfortran,$(FC))) ++ ++SKIP_NAN_TRAPS = YES + + FCbasic = -Wno-uninitialized -fno-range-check -fmax-errors=100 $(SPECIAL_FC_FLAGS) $(FCbasic2) + FCbasic2 = -fprotect-parens -fno-sign-zero -fbacktrace -ggdb -finit-real=snan + # -Warray-temporaries + ++FCstandard = -std=f2008 -Wno-error=tabs ++ + FCimpno = -fimplicit-none + FCchecks = -fbounds-check + FCwarn = -Wunused-value -W -Wno-compare-reals -Wno-unused-parameter -Wno-function-elimination + #FCwarn = -Wunused-value -Werror -W -Wno-compare-reals -Wno-unused-parameter + +-FC_fixed_preprocess = -x f77-cpp-input +-FC_free_preprocess = -x f95-cpp-input +-FCfixed = -ffixed-form -ffixed-line-length-132 $(FC_fixed_preprocess) ++FCfixed = -ffixed-form -ffixed-line-length-none + FCfixed72 = -ffixed-form $(FC_fixed_preprocess) +-FCfree = -ffree-form -ffree-line-length-none $(FC_free_preprocess) +-FCopt = -O2 -ftree-vectorize ++FCfree = -ffree-form -ffree-line-length-none ++FCopt = -O${OPT_LEVEL} -ftree-vectorize + FCdebug = -ggdb + FCstatic = + SLOW_COMPILE = -fno-var-tracking ++OPENMP_FCFLAGS ?= -fopenmp + ifeq ($(USE_OPENMP),YES) +-FCopenmp = -fopenmp ++FCopenmp = $(OPENMP_FCFLAGS) + else + FCopenmp = + endif + +-else ++# else + +-FCbasic = UNKNOWN COMPILER +-FCchecks = +-FCwarn = +-FCfixed = +-FCfree = +-FCopt = +-FCdebug = +-FCopenmp = +-SLOW_COMPILE = +-endif +-endif ++# FCbasic = UNKNOWN COMPILER ++# FCchecks = ++# FCwarn = ++# FCfixed = ++# FCfree = ++# FCopt = ++# FCdebug = ++# FCopenmp = ++# SLOW_COMPILE = ++# endif ++# endif + + LIB_TOOL_STATIC = ar crs + LIB_SUFFIX_STATIC = a +@@ -280,41 +295,15 @@ + LIBS = + endif + +- + # some definitions used in the module makefiles + MODULE_DIR = .. + MOD_PUBLIC_DIR = $(MODULE_DIR)/public + MOD_PRIVATE_DIR = $(MODULE_DIR)/private + MODULE_INCLUDES = -I$(MOD_PUBLIC_DIR) -I$(MOD_PRIVATE_DIR) +-OTHER_INCLUDES = -I$(MESA_DIR)/include +-INCLUDES = $(MODULE_INCLUDES) $(OTHER_INCLUDES) +- +-COMPILE_BASIC_FLAGS = $(FCbasic) $(FCopenmp) $(FCstatic) $(INCLUDES) +-COMPILE_BASIC = $(FC) $(COMPILE_BASIC_FLAGS) +- +-COMPILE_TO_TEST = $(COMPILE_BASIC) $(FCwarn) $(FCimpno) $(FCchecks) $(FCopt) $(FCdebug) -c +-COMPILE_TO_DEPLOY = $(COMPILE_BASIC) $(FCwarn) $(FCimpno) $(FCopt) -c +- +-COMPILE_NO_OPENMP_NO_OPT = \ +- $(FC) $(FCbasic) $(INCLUDES) $(FCwarn) $(FCimpno) $(FCchecks) $(FCdebug) -c -O +-COMPILE_ASAP = \ +- $(FC) $(FCbasic) $(INCLUDES) $(FCwarn) $(FCimpno) $(FCdebug) -c -O +- +-COMPILE_FAST = $(COMPILE_BASIC) -c +-COMPILE_NO_CHECKS = $(COMPILE_BASIC) $(FCopt) -c +-COMPILE_NO_OPT = $(COMPILE_BASIC) $(FCwarn) $(FCimpno) $(FCchecks) $(FCdebug) -c -O +-COMPILE_DEVEL = $(COMPILE_NO_OPT) +- +- +-# some definitions used in the module makefiles +-MODULE_DIR = .. +-MOD_PUBLIC_DIR = $(MODULE_DIR)/public +-MOD_PRIVATE_DIR = $(MODULE_DIR)/private +-MODULE_INCLUDES = -I$(MOD_PUBLIC_DIR) -I$(MOD_PRIVATE_DIR) +-OTHER_INCLUDES = -I$(MESA_DIR)/include $(INCLUDE_HDF5) $(INCLUDE_CRMATH) ++OTHER_INCLUDES = -I$(MESA_DIR)/include $(INCLUDE_HDF5) + INCLUDES = $(MODULE_INCLUDES) $(OTHER_INCLUDES) + +-COMPILE_BASIC_FLAGS = $(FCbasic) $(FCopenmp) $(FCstatic) $(LIB_FLAGS) $(INCLUDES) $(LIB_FLAGS) ++COMPILE_BASIC_FLAGS = $(FCbasic) $(FCopenmp) $(FCstatic) $(FCstandard) $(LIB_FLAGS) $(INCLUDES) + COMPILE_BASIC = $(FC) $(COMPILE_BASIC_FLAGS) + + COMPILE_TO_TEST = $(COMPILE_BASIC) $(FCwarn) $(FCimpno) $(FCchecks) $(FCopt) $(FCdebug) -c +@@ -330,22 +319,22 @@ + COMPILE_NO_OPT = $(COMPILE_BASIC) $(FCwarn) $(FCimpno) $(FCchecks) $(FCdebug) -c -O + COMPILE_DEVEL = $(COMPILE_NO_OPT) + ++ + # some definitions used in the test makefiles and client makefiles + + WORK_COMPILE = \ +- $(FC) $(FCbasic) $(FCopenmp) -O0 $(FCchecks) $(FCdebug) $(FCfree) \ +- $(FC_free_preprocess) -I$(MESA_INCLUDE_DIR) $(INCLUDE_HDF5) -c +- ++ $(FC) $(FCbasic) $(FCopenmp) $(FCchecks) $(FCdebug) $(FCfree) \ ++ -I$(MESA_INCLUDE_DIR) -I$(WORK_SRC_DIR) -c ++ + ifeq ($(USE_PGPLOT),YES) + WORK_COMPILE += -DUSE_PGPLOT + endif +- ++ + TEST_DIR = .. + TEST_SRC_DIR = $(TEST_DIR)/src + PACKAGE_DIR = ../.. + LOCAL_LIB_DIR = $(PACKAGE_DIR)/make + MESA_LIB_DIR = $(MESA_DIR)/lib +- + MESA_INCLUDE_DIR = $(MESA_DIR)/include + TEST_INCLUDES = -I$(LOCAL_LIB_DIR) -I$(PACKAGE_DIR)/public -I$(MESA_INCLUDE_DIR) + TEST_COMPILE_FLAGS = $(FCbasic) $(FCopenmp) $(TEST_INCLUDES) $(FCchecks) $(FCdebug) $(LIB_FLAGS) -c +@@ -355,7 +344,7 @@ + + LIBS_MATRIX = mtx const math utils + LOAD_MATRIX_INT = $(addprefix -l,$(LIBS_MATRIX)) +-LOAD_MATRIX_EXT = $(LOAD_CRMATH) $(LOAD_LAPACK) $(LOAD_BLAS) ++LOAD_MATRIX_EXT = $(LOAD_CRMATH) $(LOAD_LAPACK95) $(LOAD_LAPACK) $(LOAD_BLAS) + LOAD_MATRIX = $(LOAD_MATRIX_INT) $(LOAD_MATRIX_EXT) + + LIBS_MESA_NUMERICS = interp_2d interp_1d num auto_diff $(LIBS_MATRIX) +@@ -388,7 +377,7 @@ + ifeq ($(USE_PGSTAR),YES) + LOAD_MESA_STAR_EXT = $(LOAD_STAR_MODS_EXT) $(LOAD_PGPLOT) + else +- LOAD_MESA_STAR_EXT = $(LOAD_STAR_MODS_EXT) $(LOAD_PGPLOT) ++ LOAD_MESA_STAR_EXT = $(LOAD_STAR_MODS_EXT) + endif + LOAD_MESA_STAR = $(LOAD_MESA_STAR_INT) $(LOAD_MESA_STAR_EXT) + +@@ -398,7 +387,7 @@ + LOAD_MESA_BINARY = $(LOAD_MESA_BINARY_INT) $(LOAD_MESA_BINARY_EXT) + + # LOADER creates executables +-LOADER = $(FC) ++LOADER = $(FC) $(LDFLAGS) + + STAR_WORK_OBJS = \ + run_star_extras.o run_star.o +@@ -420,10 +409,10 @@ + + # makedepf90 invocation (depends on whether we have the SDK2-patched version that + # supports the -X flag) +-ifneq ($(shell makedepf90 -V | grep sdk2),) +- MAKEDEPF90_IGNORE_MODS = intrinsic omp_lib iso_c_binding iso_fortran_env crmath hdf5 +- MAKEDEPF90 = makedepf90 -m %m.mod -X $(addprefix -u,$(MAKEDEPF90_IGNORE_MODS)) ++ifneq ($(shell $(MESA_DIR)/utils/makedepf90-2.8.8/makedepf90 -V | grep sdk2),) ++ MAKEDEPF90_IGNORE_MODS = intrinsic omp_lib iso_c_binding iso_fortran_env ieee_arithmetic crmath hdf5 ++ MAKEDEPF90 := $(MESA_DIR)/utils/makedepf90-2.8.8/makedepf90 -m %m.mod -X $(addprefix -u,$(MAKEDEPF90_IGNORE_MODS)) + else +- MAKEDEPF90 = makedepf90 -m %m.mod ++ MAKEDEPF90 := $(MESA_DIR)/utils/makedepf90-2.8.8/makedepf90 -m %m.mod + endif + diff --git a/src/amuse_mesa_r15140/patches/crlibm.patch b/src/amuse_mesa_r15140/patches/crlibm.patch new file mode 100644 index 0000000000..52003ab1ed --- /dev/null +++ b/src/amuse_mesa_r15140/patches/crlibm.patch @@ -0,0 +1,79838 @@ +diff --color -urN a/crlibm-1.0beta4/Makefile.in b/crlibm-1.0beta4/Makefile.in +--- a/crlibm-1.0beta4/Makefile.in 2024-12-06 13:32:36 ++++ b/crlibm-1.0beta4/Makefile.in 2024-12-06 13:33:15 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15.1 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2017 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -183,7 +183,18 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ + depcomp = $(SHELL) $(top_srcdir)/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/asincos.Plo \ ++ ./$(DEPDIR)/atan_accurate.Plo ./$(DEPDIR)/atan_fast.Plo \ ++ ./$(DEPDIR)/crlibm_private.Plo ./$(DEPDIR)/csh_fast.Plo \ ++ ./$(DEPDIR)/exp-td-standalone.Plo ./$(DEPDIR)/exp-td.Plo \ ++ ./$(DEPDIR)/expm1-standalone.Plo ./$(DEPDIR)/expm1.Plo \ ++ ./$(DEPDIR)/log-de.Plo ./$(DEPDIR)/log.Plo \ ++ ./$(DEPDIR)/log10-td.Plo ./$(DEPDIR)/log1p.Plo \ ++ ./$(DEPDIR)/log2-td.Plo ./$(DEPDIR)/pow.Plo \ ++ ./$(DEPDIR)/rem_pio2_accurate.Plo \ ++ ./$(DEPDIR)/trigo_accurate.Plo ./$(DEPDIR)/trigo_fast.Plo \ ++ ./$(DEPDIR)/trigpi.Plo ./$(DEPDIR)/triple-double.Plo + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -226,9 +237,9 @@ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) + AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ +- cscope distdir dist dist-all distcheck +-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ +- $(LISP)crlibm_config.h.in ++ cscope distdir distdir-am dist dist-all distcheck ++am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \ ++ crlibm_config.h.in + # Read a list of newline-separated strings from the standard input, + # and print each of them once, without duplicates. Input order is + # *not* preserved. +@@ -245,9 +256,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags +-CSCOPE = cscope + DIST_SUBDIRS = $(SUBDIRS) + am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/crlibm_config.h.in \ + AUTHORS COPYING COPYING.LIB ChangeLog INSTALL NEWS README TODO \ +@@ -291,6 +299,8 @@ + DIST_ARCHIVES = $(distdir).tar.gz + GZIP_ENV = --best + DIST_TARGETS = dist-gzip ++# Exists only to be overridden by the user if desired. ++AM_DISTCHECK_DVI_TARGET = dvi + distuninstallcheck_listfiles = find . -type f -print + am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' +@@ -306,8 +316,9 @@ + CC = @CC@ + CCDEPMODE = @CCDEPMODE@ + CFLAGS = @CFLAGS@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CYGPATH_W = @CYGPATH_W@ + DEFS = @DEFS@ + DEPDIR = @DEPDIR@ +@@ -318,6 +329,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + FGREP = @FGREP@ + GREP = @GREP@ +@@ -403,6 +415,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -547,8 +560,8 @@ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ + esac; + + $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) +@@ -619,27 +632,33 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asincos.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atan_accurate.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atan_fast.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crlibm_private.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/csh_fast.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exp-td-standalone.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exp-td.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/expm1-standalone.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/expm1.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log-de.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log10-td.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log1p.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log2-td.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pow.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rem_pio2_accurate.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trigo_accurate.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trigo_fast.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trigpi.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/triple-double.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asincos.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atan_accurate.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atan_fast.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crlibm_private.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/csh_fast.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exp-td-standalone.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exp-td.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/expm1-standalone.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/expm1.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log-de.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log10-td.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log1p.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log2-td.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pow.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rem_pio2_accurate.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trigo_accurate.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trigo_fast.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trigpi.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/triple-double.Plo@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@@ -796,8 +815,10 @@ + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + $(am__remove_distdir) + test -d "$(distdir)" || mkdir "$(distdir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +@@ -877,6 +898,10 @@ + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(am__post_remove_distdir) + ++dist-zstd: distdir ++ tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst ++ $(am__post_remove_distdir) ++ + dist-tarZ: distdir + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 +@@ -919,6 +944,8 @@ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ ++ *.tar.zst*) \ ++ zstd -dc $(distdir).tar.zst | $(am__untar) ;;\ + esac + chmod -R a-w $(distdir) + chmod u+w $(distdir) +@@ -934,7 +961,7 @@ + $(DISTCHECK_CONFIGURE_FLAGS) \ + --srcdir=../.. --prefix="$$dc_install_base" \ + && $(MAKE) $(AM_MAKEFLAGS) \ +- && $(MAKE) $(AM_MAKEFLAGS) dvi \ ++ && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ +@@ -1030,7 +1057,26 @@ + + distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/asincos.Plo ++ -rm -f ./$(DEPDIR)/atan_accurate.Plo ++ -rm -f ./$(DEPDIR)/atan_fast.Plo ++ -rm -f ./$(DEPDIR)/crlibm_private.Plo ++ -rm -f ./$(DEPDIR)/csh_fast.Plo ++ -rm -f ./$(DEPDIR)/exp-td-standalone.Plo ++ -rm -f ./$(DEPDIR)/exp-td.Plo ++ -rm -f ./$(DEPDIR)/expm1-standalone.Plo ++ -rm -f ./$(DEPDIR)/expm1.Plo ++ -rm -f ./$(DEPDIR)/log-de.Plo ++ -rm -f ./$(DEPDIR)/log.Plo ++ -rm -f ./$(DEPDIR)/log10-td.Plo ++ -rm -f ./$(DEPDIR)/log1p.Plo ++ -rm -f ./$(DEPDIR)/log2-td.Plo ++ -rm -f ./$(DEPDIR)/pow.Plo ++ -rm -f ./$(DEPDIR)/rem_pio2_accurate.Plo ++ -rm -f ./$(DEPDIR)/trigo_accurate.Plo ++ -rm -f ./$(DEPDIR)/trigo_fast.Plo ++ -rm -f ./$(DEPDIR)/trigpi.Plo ++ -rm -f ./$(DEPDIR)/triple-double.Plo + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags +@@ -1078,7 +1124,26 @@ + maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/asincos.Plo ++ -rm -f ./$(DEPDIR)/atan_accurate.Plo ++ -rm -f ./$(DEPDIR)/atan_fast.Plo ++ -rm -f ./$(DEPDIR)/crlibm_private.Plo ++ -rm -f ./$(DEPDIR)/csh_fast.Plo ++ -rm -f ./$(DEPDIR)/exp-td-standalone.Plo ++ -rm -f ./$(DEPDIR)/exp-td.Plo ++ -rm -f ./$(DEPDIR)/expm1-standalone.Plo ++ -rm -f ./$(DEPDIR)/expm1.Plo ++ -rm -f ./$(DEPDIR)/log-de.Plo ++ -rm -f ./$(DEPDIR)/log.Plo ++ -rm -f ./$(DEPDIR)/log10-td.Plo ++ -rm -f ./$(DEPDIR)/log1p.Plo ++ -rm -f ./$(DEPDIR)/log2-td.Plo ++ -rm -f ./$(DEPDIR)/pow.Plo ++ -rm -f ./$(DEPDIR)/rem_pio2_accurate.Plo ++ -rm -f ./$(DEPDIR)/trigo_accurate.Plo ++ -rm -f ./$(DEPDIR)/trigo_fast.Plo ++ -rm -f ./$(DEPDIR)/trigpi.Plo ++ -rm -f ./$(DEPDIR)/triple-double.Plo + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1100,23 +1165,24 @@ + .MAKE: $(am__recursive_targets) all install-am install-strip + + .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ +- am--refresh check check-am clean clean-cscope clean-generic \ +- clean-libLTLIBRARIES clean-libtool cscope cscopelist-am ctags \ +- ctags-am dist dist-all dist-bzip2 dist-gzip dist-lzip \ +- dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \ +- distclean-compile distclean-generic distclean-hdr \ +- distclean-libtool distclean-tags distcleancheck distdir \ +- distuninstallcheck dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ +- install-dvi-am install-exec install-exec-am install-html \ +- install-html-am install-includeHEADERS install-info \ +- install-info-am install-libLTLIBRARIES install-man install-pdf \ +- install-pdf-am install-ps install-ps-am install-strip \ +- installcheck installcheck-am installdirs installdirs-am \ +- maintainer-clean maintainer-clean-generic mostlyclean \ +- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ +- pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \ +- uninstall-includeHEADERS uninstall-libLTLIBRARIES ++ am--depfiles am--refresh check check-am clean clean-cscope \ ++ clean-generic clean-libLTLIBRARIES clean-libtool cscope \ ++ cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ ++ dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \ ++ dist-zstd distcheck distclean distclean-compile \ ++ distclean-generic distclean-hdr distclean-libtool \ ++ distclean-tags distcleancheck distdir distuninstallcheck dvi \ ++ dvi-am html html-am info info-am install install-am \ ++ install-data install-data-am install-dvi install-dvi-am \ ++ install-exec install-exec-am install-html install-html-am \ ++ install-includeHEADERS install-info install-info-am \ ++ install-libLTLIBRARIES install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installdirs installdirs-am maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-compile \ ++ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ ++ tags tags-am uninstall uninstall-am uninstall-includeHEADERS \ ++ uninstall-libLTLIBRARIES + + .PRECIOUS: Makefile + +diff --color -urN a/crlibm-1.0beta4/aclocal.m4 b/crlibm-1.0beta4/aclocal.m4 +--- a/crlibm-1.0beta4/aclocal.m4 2024-12-06 13:32:36 ++++ b/crlibm-1.0beta4/aclocal.m4 2024-12-06 13:33:14 +@@ -1,6 +1,6 @@ +-# generated automatically by aclocal 1.15.1 -*- Autoconf -*- ++# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +-# Copyright (C) 1996-2017 Free Software Foundation, Inc. ++# Copyright (C) 1996-2021 Free Software Foundation, Inc. + + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -14,13 +14,13 @@ + m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) + m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, +-[m4_warning([this file was generated for autoconf 2.69. ++m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],, ++[m4_warning([this file was generated for autoconf 2.71. + You have another version of autoconf. It may work, but is not guaranteed to. + If you have problems, you may need to regenerate the build system entirely. + To do so, use the procedure documented by the package, typically 'autoreconf'.])]) + +-# Copyright (C) 2002-2017 Free Software Foundation, Inc. ++# Copyright (C) 2002-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -32,10 +32,10 @@ + # generated from the m4 files accompanying Automake X.Y. + # (This private macro should not be called outside this file.) + AC_DEFUN([AM_AUTOMAKE_VERSION], +-[am__api_version='1.15' ++[am__api_version='1.16' + dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to + dnl require some minimum version. Point them to the right macro. +-m4_if([$1], [1.15.1], [], ++m4_if([$1], [1.16.5], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl + ]) + +@@ -51,14 +51,14 @@ + # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. + # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. + AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +-[AM_AUTOMAKE_VERSION([1.15.1])dnl ++[AM_AUTOMAKE_VERSION([1.16.5])dnl + m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl + _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) + + # AM_AUX_DIR_EXPAND -*- Autoconf -*- + +-# Copyright (C) 2001-2017 Free Software Foundation, Inc. ++# Copyright (C) 2001-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -110,7 +110,7 @@ + + # AM_CONDITIONAL -*- Autoconf -*- + +-# Copyright (C) 1997-2017 Free Software Foundation, Inc. ++# Copyright (C) 1997-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -141,7 +141,7 @@ + Usually this means the macro was only invoked conditionally.]]) + fi])]) + +-# Copyright (C) 1999-2017 Free Software Foundation, Inc. ++# Copyright (C) 1999-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -332,13 +332,12 @@ + + # Generate code to set up dependency tracking. -*- Autoconf -*- + +-# Copyright (C) 1999-2017 Free Software Foundation, Inc. ++# Copyright (C) 1999-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. + +- + # _AM_OUTPUT_DEPENDENCY_COMMANDS + # ------------------------------ + AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +@@ -346,49 +345,43 @@ + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. +- case $CONFIG_FILES in +- *\'*) eval set x "$CONFIG_FILES" ;; +- *) set x $CONFIG_FILES ;; +- esac ++ # TODO: see whether this extra hack can be removed once we start ++ # requiring Autoconf 2.70 or later. ++ AS_CASE([$CONFIG_FILES], ++ [*\'*], [eval set x "$CONFIG_FILES"], ++ [*], [set x $CONFIG_FILES]) + shift +- for mf ++ # Used to flag and report bootstrapping failures. ++ am_rc=0 ++ for am_mf + do + # Strip MF so we end up with the name of the file. +- mf=`echo "$mf" | sed -e 's/:.*$//'` +- # Check whether this is an Automake generated Makefile or not. +- # We used to match only the files named 'Makefile.in', but +- # some people rename them; so instead we look at the file content. +- # Grep'ing the first line is not enough: some people post-process +- # each Makefile.in and add a new line on top of each file to say so. +- # Grep'ing the whole file is not good either: AIX grep has a line ++ am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` ++ # Check whether this is an Automake generated Makefile which includes ++ # dependency-tracking related rules and includes. ++ # Grep'ing the whole file directly is not great: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. +- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then +- dirpart=`AS_DIRNAME("$mf")` +- else +- continue +- fi +- # Extract the definition of DEPDIR, am__include, and am__quote +- # from the Makefile without running 'make'. +- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` +- test -z "$DEPDIR" && continue +- am__include=`sed -n 's/^am__include = //p' < "$mf"` +- test -z "$am__include" && continue +- am__quote=`sed -n 's/^am__quote = //p' < "$mf"` +- # Find all dependency output files, they are included files with +- # $(DEPDIR) in their names. We invoke sed twice because it is the +- # simplest approach to changing $(DEPDIR) to its actual value in the +- # expansion. +- for file in `sed -n " +- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ +- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do +- # Make sure the directory exists. +- test -f "$dirpart/$file" && continue +- fdir=`AS_DIRNAME(["$file"])` +- AS_MKDIR_P([$dirpart/$fdir]) +- # echo "creating $dirpart/$file" +- echo '# dummy' > "$dirpart/$file" +- done ++ sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ ++ || continue ++ am_dirpart=`AS_DIRNAME(["$am_mf"])` ++ am_filepart=`AS_BASENAME(["$am_mf"])` ++ AM_RUN_LOG([cd "$am_dirpart" \ ++ && sed -e '/# am--include-marker/d' "$am_filepart" \ ++ | $MAKE -f - am--depfiles]) || am_rc=$? + done ++ if test $am_rc -ne 0; then ++ AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments ++ for automatic dependency tracking. If GNU make was not used, consider ++ re-running the configure script with MAKE="gmake" (or whatever is ++ necessary). You can also try re-running configure with the ++ '--disable-dependency-tracking' option to at least be able to build ++ the package (albeit without support for automatic dependency tracking).]) ++ fi ++ AS_UNSET([am_dirpart]) ++ AS_UNSET([am_filepart]) ++ AS_UNSET([am_mf]) ++ AS_UNSET([am_rc]) ++ rm -f conftest-deps.mk + } + ])# _AM_OUTPUT_DEPENDENCY_COMMANDS + +@@ -397,18 +390,17 @@ + # ----------------------------- + # This macro should only be invoked once -- use via AC_REQUIRE. + # +-# This code is only required when automatic dependency tracking +-# is enabled. FIXME. This creates each '.P' file that we will +-# need in order to bootstrap the dependency handling code. ++# This code is only required when automatic dependency tracking is enabled. ++# This creates each '.Po' and '.Plo' makefile fragment that we'll need in ++# order to bootstrap the dependency handling code. + AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], + [AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], +- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +-]) ++ [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) + + # Do all the work for Automake. -*- Autoconf -*- + +-# Copyright (C) 1996-2017 Free Software Foundation, Inc. ++# Copyright (C) 1996-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -436,6 +428,10 @@ + # release and drop the old call support. + AC_DEFUN([AM_INIT_AUTOMAKE], + [AC_PREREQ([2.65])dnl ++m4_ifdef([_$0_ALREADY_INIT], ++ [m4_fatal([$0 expanded multiple times ++]m4_defn([_$0_ALREADY_INIT]))], ++ [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl + dnl Autoconf wants to disallow AM_ names. We explicitly allow + dnl the ones we care about. + m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +@@ -472,7 +468,7 @@ + [_AM_SET_OPTIONS([$1])dnl + dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. + m4_if( +- m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), ++ m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl +@@ -495,8 +491,8 @@ + AC_REQUIRE([AC_PROG_MKDIR_P])dnl + # For better backward compatibility. To be removed once Automake 1.9.x + # dies out for good. For more background, see: +-# +-# ++# ++# + AC_SUBST([mkdir_p], ['$(MKDIR_P)']) + # We need awk for the "check" target (and possibly the TAP driver). The + # system "awk" is bad on some platforms. +@@ -524,6 +520,20 @@ + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl + ]) ++# Variables for tags utilities; see am/tags.am ++if test -z "$CTAGS"; then ++ CTAGS=ctags ++fi ++AC_SUBST([CTAGS]) ++if test -z "$ETAGS"; then ++ ETAGS=etags ++fi ++AC_SUBST([ETAGS]) ++if test -z "$CSCOPE"; then ++ CSCOPE=cscope ++fi ++AC_SUBST([CSCOPE]) ++ + AC_REQUIRE([AM_SILENT_RULES])dnl + dnl The testsuite driver may need to know about EXEEXT, so add the + dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This +@@ -563,7 +573,7 @@ + Aborting the configuration process, to ensure you take notice of the issue. + + You can download and install GNU coreutils to get an 'rm' implementation +-that behaves properly: . ++that behaves properly: . + + If you want to complete the configuration process using your problematic + 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +@@ -605,7 +615,7 @@ + done + echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) + +-# Copyright (C) 2001-2017 Free Software Foundation, Inc. ++# Copyright (C) 2001-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -626,7 +636,7 @@ + fi + AC_SUBST([install_sh])]) + +-# Copyright (C) 2003-2017 Free Software Foundation, Inc. ++# Copyright (C) 2003-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -647,7 +657,7 @@ + + # Check to see how 'make' treats includes. -*- Autoconf -*- + +-# Copyright (C) 2001-2017 Free Software Foundation, Inc. ++# Copyright (C) 2001-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -655,49 +665,42 @@ + + # AM_MAKE_INCLUDE() + # ----------------- +-# Check to see how make treats includes. ++# Check whether make has an 'include' directive that can support all ++# the idioms we need for our automatic dependency tracking code. + AC_DEFUN([AM_MAKE_INCLUDE], +-[am_make=${MAKE-make} +-cat > confinc << 'END' ++[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) ++cat > confinc.mk << 'END' + am__doit: +- @echo this is the am__doit target ++ @echo this is the am__doit target >confinc.out + .PHONY: am__doit + END +-# If we don't find an include directive, just comment out the code. +-AC_MSG_CHECKING([for style of include used by $am_make]) + am__include="#" + am__quote= +-_am_result=none +-# First try GNU make style include. +-echo "include confinc" > confmf +-# Ignore all kinds of additional output from 'make'. +-case `$am_make -s -f confmf 2> /dev/null` in #( +-*the\ am__doit\ target*) +- am__include=include +- am__quote= +- _am_result=GNU +- ;; +-esac +-# Now try BSD make style include. +-if test "$am__include" = "#"; then +- echo '.include "confinc"' > confmf +- case `$am_make -s -f confmf 2> /dev/null` in #( +- *the\ am__doit\ target*) +- am__include=.include +- am__quote="\"" +- _am_result=BSD +- ;; +- esac +-fi +-AC_SUBST([am__include]) +-AC_SUBST([am__quote]) +-AC_MSG_RESULT([$_am_result]) +-rm -f confinc confmf +-]) ++# BSD make does it like this. ++echo '.include "confinc.mk" # ignored' > confmf.BSD ++# Other make implementations (GNU, Solaris 10, AIX) do it like this. ++echo 'include confinc.mk # ignored' > confmf.GNU ++_am_result=no ++for s in GNU BSD; do ++ AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) ++ AS_CASE([$?:`cat confinc.out 2>/dev/null`], ++ ['0:this is the am__doit target'], ++ [AS_CASE([$s], ++ [BSD], [am__include='.include' am__quote='"'], ++ [am__include='include' am__quote=''])]) ++ if test "$am__include" != "#"; then ++ _am_result="yes ($s style)" ++ break ++ fi ++done ++rm -f confinc.* confmf.* ++AC_MSG_RESULT([${_am_result}]) ++AC_SUBST([am__include])]) ++AC_SUBST([am__quote])]) + + # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +-# Copyright (C) 1997-2017 Free Software Foundation, Inc. ++# Copyright (C) 1997-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -718,12 +721,7 @@ + [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl + AC_REQUIRE_AUX_FILE([missing])dnl + if test x"${MISSING+set}" != xset; then +- case $am_aux_dir in +- *\ * | *\ *) +- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; +- *) +- MISSING="\${SHELL} $am_aux_dir/missing" ;; +- esac ++ MISSING="\${SHELL} '$am_aux_dir/missing'" + fi + # Use eval to expand $SHELL + if eval "$MISSING --is-lightweight"; then +@@ -736,7 +734,7 @@ + + # Helper functions for option handling. -*- Autoconf -*- + +-# Copyright (C) 2001-2017 Free Software Foundation, Inc. ++# Copyright (C) 2001-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -765,7 +763,7 @@ + AC_DEFUN([_AM_IF_OPTION], + [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +-# Copyright (C) 1999-2017 Free Software Foundation, Inc. ++# Copyright (C) 1999-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -812,7 +810,7 @@ + # For backward compatibility. + AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) + +-# Copyright (C) 2001-2017 Free Software Foundation, Inc. ++# Copyright (C) 2001-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -831,7 +829,7 @@ + + # Check to make sure that the build environment is sane. -*- Autoconf -*- + +-# Copyright (C) 1996-2017 Free Software Foundation, Inc. ++# Copyright (C) 1996-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -912,7 +910,7 @@ + rm -f conftest.file + ]) + +-# Copyright (C) 2009-2017 Free Software Foundation, Inc. ++# Copyright (C) 2009-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -972,7 +970,7 @@ + _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl + ]) + +-# Copyright (C) 2001-2017 Free Software Foundation, Inc. ++# Copyright (C) 2001-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -1000,7 +998,7 @@ + INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +-# Copyright (C) 2006-2017 Free Software Foundation, Inc. ++# Copyright (C) 2006-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -1019,7 +1017,7 @@ + + # Check how to create a tarball. -*- Autoconf -*- + +-# Copyright (C) 2004-2017 Free Software Foundation, Inc. ++# Copyright (C) 2004-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +diff --color -urN a/crlibm-1.0beta4/autom4te.cache/output.0 b/crlibm-1.0beta4/autom4te.cache/output.0 +--- a/crlibm-1.0beta4/autom4te.cache/output.0 2024-12-06 13:32:36 ++++ b/crlibm-1.0beta4/autom4te.cache/output.0 2024-12-06 13:33:13 +@@ -1,9 +1,10 @@ + @%:@! /bin/sh + @%:@ Guess values for system-dependent variables and create Makefiles. +-@%:@ Generated by GNU Autoconf 2.69 for crlibm 1.0beta4. ++@%:@ Generated by GNU Autoconf 2.71 for crlibm 1.0beta4. + @%:@ + @%:@ +-@%:@ Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. ++@%:@ Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, ++@%:@ Inc. + @%:@ + @%:@ + @%:@ This configure script is free software; the Free Software Foundation +@@ -14,14 +15,16 @@ + + # Be more Bourne compatible + DUALCASE=1; export DUALCASE # for MKS sh +-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++as_nop=: ++if test ${ZSH_VERSION+y} && (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 ++else $as_nop + case `(set -o) 2>/dev/null` in @%:@( + *posix*) : + set -o posix ;; @%:@( +@@ -31,46 +34,46 @@ + fi + + ++ ++# Reset variables that may have inherited troublesome values from ++# the environment. ++ ++# IFS needs to be set, to space, tab, and newline, in precisely that order. ++# (If _AS_PATH_WALK were called with IFS unset, it would have the ++# side effect of setting IFS to empty, thus disabling word splitting.) ++# Quoting is to prevent editors from complaining about space-tab. + 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 ++IFS=" "" $as_nl" + ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# Ensure predictable behavior from utilities with locale-dependent output. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE ++ ++# We cannot yet rely on "unset" to work, but we need these variables ++# to be unset--not just set to an empty or harmless value--now, to ++# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct ++# also avoids known problems related to "unset" and subshell syntax ++# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). ++for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH ++do eval test \${$as_var+y} \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++ ++# Ensure that fds 0, 1, and 2 are open. ++if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi ++if (exec 3>&2) ; then :; else exec 2>/dev/null; fi ++ + # The user is always right. +-if test "${PATH_SEPARATOR+set}" != set; then ++if ${PATH_SEPARATOR+false} :; 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 || +@@ -79,13 +82,6 @@ + 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 @%:@(( +@@ -94,8 +90,12 @@ + 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ test -r "$as_dir$0" && as_myself=$as_dir$0 && break + done + IFS=$as_save_IFS + +@@ -107,31 +107,11 @@ + 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 ++ printf "%s\n" "$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 +@@ -152,20 +132,22 @@ + 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 ++printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 ++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 : ++ as_bourne_compatible="as_nop=: ++if test \${ZSH_VERSION+y} && (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 ++else \$as_nop + case \`(set -o) 2>/dev/null\` in @%:@( + *posix*) : + set -o posix ;; @%:@( +@@ -185,42 +167,61 @@ + 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 : ++if ( set x; as_fn_ret_success y && test x = \"\$1\" ) ++then : + +-else ++else \$as_nop + exitcode=1; echo positional parameters were not saved. + fi + test x\$exitcode = x0 || exit 1 ++blah=\$(echo \$(echo blah)) ++test x\"\$blah\" = xblah || 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 -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( ++ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ++ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO ++ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO ++ PATH=/empty FPATH=/empty; export PATH FPATH ++ test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ ++ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 + test \$(( 1 + 1 )) = 2 || exit 1" +- if (eval "$as_required") 2>/dev/null; then : ++ if (eval "$as_required") 2>/dev/null ++then : + as_have_required=yes +-else ++else $as_nop + as_have_required=no + fi +- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : ++ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null ++then : + +-else ++else $as_nop + 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=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + 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 ++ 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 : ++ as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 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 : ++ if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null ++then : + break 2 + fi + fi +@@ -228,14 +229,21 @@ + 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 $as_found ++then : ++ ++else $as_nop ++ if { test -f "$SHELL" || test -f "$SHELL.exe"; } && ++ as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null ++then : ++ CONFIG_SHELL=$SHELL as_have_required=yes ++fi ++fi + + +- if test "x$CONFIG_SHELL" != x; then : ++ 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 +@@ -253,18 +261,19 @@ + 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 ++printf "%s\n" "$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." ++ if test x$as_have_required = xno ++then : ++ printf "%s\n" "$0: This script requires a shell more modern than all" ++ printf "%s\n" "$0: the shells that I found on your system." ++ if test ${ZSH_VERSION+y} ; then ++ printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" ++ printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else +- $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, ++ printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, + $0: including any error possibly output before this + $0: message. Then install a modern shell, or manually run + $0: the script under such a shell if you do have one." +@@ -291,6 +300,7 @@ + } + as_unset=as_fn_unset + ++ + @%:@ as_fn_set_status STATUS + @%:@ ----------------------- + @%:@ Set @S|@? to STATUS, without forking. +@@ -308,6 +318,14 @@ + as_fn_set_status $1 + exit $1 + } @%:@ as_fn_exit ++@%:@ as_fn_nop ++@%:@ --------- ++@%:@ Do nothing but, unlike ":", preserve the value of @S|@?. ++as_fn_nop () ++{ ++ return $? ++} ++as_nop=as_fn_nop + + @%:@ as_fn_mkdir_p + @%:@ ------------- +@@ -322,7 +340,7 @@ + as_dirs= + while :; do + case $as_dir in #( +- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" +@@ -331,7 +349,7 @@ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$as_dir" | ++printf "%s\n" X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -370,12 +388,13 @@ + @%:@ 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 : ++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 ++else $as_nop + as_fn_append () + { + eval $1=\$$1\$2 +@@ -387,18 +406,27 @@ + @%:@ Perform arithmetic evaluation on the ARGs, and store the result in the + @%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments + @%:@ must be portable across @S|@(()) and expr. +-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null ++then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +-else ++else $as_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } + fi # as_fn_arith + ++@%:@ as_fn_nop ++@%:@ --------- ++@%:@ Do nothing but, unlike ":", preserve the value of @S|@?. ++as_fn_nop () ++{ ++ return $? ++} ++as_nop=as_fn_nop + + @%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] + @%:@ ---------------------------------------- +@@ -410,9 +438,9 @@ + 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi +- $as_echo "$as_me: error: $2" >&2 ++ printf "%s\n" "$as_me: error: $2" >&2 + as_fn_exit $as_status + } @%:@ as_fn_error + +@@ -439,7 +467,7 @@ + $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X/"$0" | ++printf "%s\n" X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q +@@ -483,7 +511,7 @@ + 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; } ++ { printf "%s\n" "$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 +@@ -497,6 +525,10 @@ + exit + } + ++ ++# Determine whether it's possible to make 'echo' print without a newline. ++# These variables are no longer used directly by Autoconf, but are AC_SUBSTed ++# for compatibility with existing Makefiles. + ECHO_C= ECHO_N= ECHO_T= + case `echo -n x` in @%:@((((( + -n*) +@@ -510,6 +542,13 @@ + ECHO_N='-n';; + esac + ++# For backward compatibility with old third-party macros, we provide ++# the shell variables $as_echo and $as_echo_n. New code should use ++# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. ++as_@&t@echo='printf %s\n' ++as_@&t@echo_n='printf %s' ++ ++ + rm -f conf$$ conf$$.exe conf$$.file + if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +@@ -553,7 +592,9 @@ + # Sed expression to map a string onto a valid variable name. + as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + ++SHELL=${CONFIG_SHELL-/bin/sh} + ++ + test -n "$DJDIR" || exec 7<&0 &1 + +@@ -582,43 +623,40 @@ + PACKAGE_BUGREPORT='' + PACKAGE_URL='' + +-ac_unique_file="crlibm.h" ++ac_unique_file="./crlibm_private.c" + # Factoring default headers for most tests. + ac_includes_default="\ +-#include +-#ifdef HAVE_SYS_TYPES_H +-# include ++#include ++#ifdef HAVE_STDIO_H ++# include + #endif +-#ifdef HAVE_SYS_STAT_H +-# include +-#endif +-#ifdef STDC_HEADERS ++#ifdef HAVE_STDLIB_H + # 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_STRINGS_H ++# include ++#endif ++#ifdef HAVE_SYS_TYPES_H ++# include ++#endif ++#ifdef HAVE_SYS_STAT_H ++# include ++#endif + #ifdef HAVE_UNISTD_H + # include + #endif" + ++ac_header_c_list= ++ac_unique_file="crlibm.h" + ac_subst_vars='am__EXEEXT_FALSE + am__EXEEXT_TRUE + LTLIBOBJS +@@ -631,12 +669,30 @@ + USE_SSE2_TRUE + HAS_FPU_CONTROL_FALSE + HAS_FPU_CONTROL_TRUE +-EGREP +-GREP +-CPP +-LN_S + COMPILER_ICC_FALSE + COMPILER_ICC_TRUE ++ISODATE ++LT_SYS_LIBRARY_PATH ++OTOOL64 ++OTOOL ++LIPO ++NMEDIT ++DSYMUTIL ++MANIFEST_TOOL ++RANLIB ++ac_ct_AR ++AR ++DLLTOOL ++OBJDUMP ++LN_S ++NM ++ac_ct_DUMPBIN ++DUMPBIN ++LD ++FGREP ++EGREP ++GREP ++SED + am__fastdepCC_FALSE + am__fastdepCC_TRUE + CCDEPMODE +@@ -644,7 +700,6 @@ + AMDEPBACKSLASH + AMDEP_FALSE + AMDEP_TRUE +-am__quote + am__include + DEPDIR + OBJEXT +@@ -662,11 +717,14 @@ + build_vendor + build_cpu + build +-ISODATE ++LIBTOOL + AM_BACKSLASH + AM_DEFAULT_VERBOSITY + AM_DEFAULT_V + AM_V ++CSCOPE ++ETAGS ++CTAGS + am__untar + am__tar + AMTAR +@@ -709,6 +767,7 @@ + docdir + oldincludedir + includedir ++runstatedir + localstatedir + sharedstatedir + sysconfdir +@@ -727,12 +786,21 @@ + PACKAGE_TARNAME + PACKAGE_NAME + PATH_SEPARATOR +-SHELL' ++SHELL ++am__quote' + ac_subst_files='' + ac_user_opts=' + enable_option_checking + enable_silent_rules ++enable_shared ++enable_static ++with_pic ++enable_fast_install ++with_aix_soname + enable_dependency_tracking ++with_gnu_ld ++with_sysroot ++enable_libtool_lock + enable_sse2 + enable_interval_functions + enable_double_extended +@@ -763,7 +831,7 @@ + LDFLAGS + LIBS + CPPFLAGS +-CPP' ++LT_SYS_LIBRARY_PATH' + + + # Initialize some variables set by options. +@@ -802,6 +870,7 @@ + sysconfdir='${prefix}/etc' + sharedstatedir='${prefix}/com' + localstatedir='${prefix}/var' ++runstatedir='${localstatedir}/run' + includedir='${prefix}/include' + oldincludedir='/usr/include' + docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +@@ -831,8 +900,6 @@ + *) ac_optarg=yes ;; + esac + +- # Accept the important Cygnus configure options, so we can diagnose typos. +- + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; +@@ -873,9 +940,9 @@ + 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" ++ as_fn_error $? "invalid feature name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt +- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" + "enable_$ac_useropt" +@@ -899,9 +966,9 @@ + 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" ++ as_fn_error $? "invalid feature name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt +- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" + "enable_$ac_useropt" +@@ -1054,6 +1121,15 @@ + | -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=* \ +@@ -1103,9 +1179,9 @@ + 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" ++ as_fn_error $? "invalid package name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt +- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" + "with_$ac_useropt" +@@ -1119,9 +1195,9 @@ + 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" ++ as_fn_error $? "invalid package name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt +- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" + "with_$ac_useropt" +@@ -1165,9 +1241,9 @@ + + *) + # FIXME: should be removed in autoconf 3.0. +- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 ++ printf "%s\n" "$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 ++ printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + +@@ -1183,7 +1259,7 @@ + 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 ;; ++ *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac + fi + +@@ -1191,7 +1267,7 @@ + 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 ++ libdir localedir mandir runstatedir + do + eval ac_val=\$$ac_var + # Remove trailing slashes. +@@ -1247,7 +1323,7 @@ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$as_myself" | ++printf "%s\n" X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -1344,6 +1420,7 @@ + --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] +@@ -1384,10 +1461,15 @@ + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") ++ --enable-shared@<:@=PKGS@:>@ build shared libraries @<:@default=yes@:>@ ++ --enable-static@<:@=PKGS@:>@ build static libraries @<:@default=yes@:>@ ++ --enable-fast-install@<:@=PKGS@:>@ ++ optimize for fast installation @<:@default=yes@:>@ + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build ++ --disable-libtool-lock avoid locking (might break parallel builds) + --enable-sse2 forces the use of sse2 arith [default=no] + --enable-interval-functions enables filib-compatible interval functions (DOES NOT WORK YET) [default=no] + --enable-double-extended enable double-extended optimised versions of functions if hardware supports it [default=yes] +@@ -1395,12 +1477,20 @@ + --enable-digitsize=N set the size of a digit to N bits [default=30] + --enable-mpfr enable MPFR function [default=no] + --enable-gmp enable GMP function [default=no] +- --enable-ultim enable comparison with libultim, IBM's Accurate Portable Math Library [default=no] +- --enable-mcr enable comparison with Sun's LIBMCR [default=no] ++ --enable-ultim enable comparison with libultim, IBMs Accurate Portable Math Library [default=no] ++ --enable-mcr enable comparison with Suns LIBMCR [default=no] + + Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) ++ --with-pic@<:@=PKGS@:>@ try to use only PIC/non-PIC objects @<:@default=use ++ both@:>@ ++ --with-aix-soname=aix|svr4|both ++ shared library versioning (aka "SONAME") variant to ++ provide on AIX, @<:@default=aix@:>@. ++ --with-gnu-ld assume the C compiler uses GNU ld @<:@default=no@:>@ ++ --with-sysroot@<:@=DIR@:>@ Search for dependent libraries within DIR (or the ++ compiler's sysroot if not specified). + --with-gmp-include=DIR GMP include directory + --with-gmp-lib=DIR GMP lib directory + --with-gmp=DIR GMP directory +@@ -1422,7 +1512,8 @@ + 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 ++ LT_SYS_LIBRARY_PATH ++ User-defined run-time library 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. +@@ -1443,9 +1534,9 @@ + case "$ac_dir" in + .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) +- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` ++ ac_dir_suffix=/`printf "%s\n" "$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|/||'` ++ ac_top_builddir_sub=`printf "%s\n" "$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/ ;; +@@ -1473,7 +1564,8 @@ + ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } +- # Check for guested configure. ++ # Check for configure.gnu first; this name is used for a wrapper for ++ # Metaconfig's "Configure" on case-insensitive file systems. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive +@@ -1481,7 +1573,7 @@ + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else +- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 ++ printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +@@ -1491,9 +1583,9 @@ + if $ac_init_version; then + cat <<\_ACEOF + crlibm configure 1.0beta4 +-generated by GNU Autoconf 2.69 ++generated by GNU Autoconf 2.71 + +-Copyright (C) 2012 Free Software Foundation, Inc. ++Copyright (C) 2021 Free Software Foundation, Inc. + This configure script is free software; the Free Software Foundation + gives unlimited permission to copy, distribute and modify it. + _ACEOF +@@ -1510,14 +1602,14 @@ + ac_fn_c_try_compile () + { + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +- rm -f conftest.$ac_objext ++ rm -f conftest.$ac_objext conftest.beam + 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 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -1525,14 +1617,15 @@ + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$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 : ++ } && test -s conftest.$ac_objext ++then : + ac_retval=0 +-else +- $as_echo "$as_me: failed program was:" >&5 ++else $as_nop ++ printf "%s\n" "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +@@ -1542,99 +1635,20 @@ + + } @%:@ ac_fn_c_try_compile + +-@%:@ ac_fn_c_try_cpp LINENO +-@%:@ ---------------------- +-@%:@ Try to preprocess conftest.@S|@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_run LINENO +-@%:@ ---------------------- +-@%:@ Try to link conftest.@S|@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_try_link LINENO + @%:@ ----------------------- + @%:@ Try to link conftest.@S|@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 ++ rm -f conftest.$ac_objext conftest.beam 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 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -1642,17 +1656,18 @@ + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$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 : ++ } ++then : + ac_retval=0 +-else +- $as_echo "$as_me: failed program was:" >&5 ++else $as_nop ++ printf "%s\n" "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +@@ -1667,17 +1682,51 @@ + + } @%:@ ac_fn_c_try_link + ++@%:@ 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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 ++printf %s "checking for $2... " >&6; } ++if eval test \${$3+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 $as_nop ++ eval "$3=no" ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++fi ++eval ac_res=\$$3 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++printf "%s\n" "$ac_res" >&6; } ++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno ++ ++} @%:@ ac_fn_c_check_header_compile ++ + @%:@ ac_fn_c_check_func LINENO FUNC VAR + @%:@ ---------------------------------- + @%:@ Tests whether FUNC exists, setting the cache variable VAR accordingly + ac_fn_c_check_func () + { + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +-$as_echo_n "checking for $2... " >&6; } +-if eval \${$3+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 ++printf %s "checking for $2... " >&6; } ++if eval test \${$3+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + /* Define $2 to an innocuous variant, in case declares $2. +@@ -1685,16 +1734,9 @@ + #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. */ ++ which can conflict with char $2 (); below. */ + +-#ifdef __STDC__ +-# include +-#else +-# include +-#endif +- ++#include + #undef $2 + + /* Override any GCC internal prototype to avoid an error. +@@ -1712,145 +1754,71 @@ + #endif + + int +-main () ++main (void) + { + return $2 (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + eval "$3=yes" +-else ++else $as_nop + eval "$3=no" + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + + } @%:@ ac_fn_c_check_func + +-@%:@ 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 () ++@%:@ ac_fn_c_try_run LINENO ++@%:@ ---------------------- ++@%:@ Try to run conftest.@S|@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 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;} +- ;; ++ if { { ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; + 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 ++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" ++printf "%s\n" "$ac_try_echo"; } >&5 ++ (eval "$ac_link") 2>&5 ++ ac_status=$? ++ printf "%s\n" "$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\"" ++printf "%s\n" "$ac_try_echo"; } >&5 ++ (eval "$ac_try") 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; } ++then : ++ ac_retval=0 ++else $as_nop ++ printf "%s\n" "$as_me: program exited with status $ac_status" >&5 ++ printf "%s\n" "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + +-} @%:@ ac_fn_c_check_header_mongrel +- +-@%:@ 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" ++ ac_retval=$ac_status + 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; } ++ 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_check_header_compile ++} @%:@ ac_fn_c_try_run + + @%:@ ac_fn_c_compute_int LINENO EXPR VAR INCLUDES + @%:@ -------------------------------------------- +@@ -1866,7 +1834,7 @@ + /* end confdefs.h. */ + $4 + int +-main () ++main (void) + { + static int test_array @<:@1 - 2 * !(($2) >= 0)@:>@; + test_array @<:@0@:>@ = 0; +@@ -1876,14 +1844,15 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 () ++main (void) + { + static int test_array @<:@1 - 2 * !(($2) <= $ac_mid)@:>@; + test_array @<:@0@:>@ = 0; +@@ -1893,9 +1862,10 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_hi=$ac_mid; break +-else ++else $as_nop + as_fn_arith $ac_mid + 1 && ac_lo=$as_val + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= +@@ -1903,14 +1873,14 @@ + fi + as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + done +-else ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $4 + int +-main () ++main (void) + { + static int test_array @<:@1 - 2 * !(($2) < 0)@:>@; + test_array @<:@0@:>@ = 0; +@@ -1920,14 +1890,15 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 () ++main (void) + { + static int test_array @<:@1 - 2 * !(($2) >= $ac_mid)@:>@; + test_array @<:@0@:>@ = 0; +@@ -1937,9 +1908,10 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_lo=$ac_mid; break +-else ++else $as_nop + as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= +@@ -1947,14 +1919,14 @@ + fi + as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + done +-else ++else $as_nop + ac_lo= ac_hi= + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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 +@@ -1962,7 +1934,7 @@ + /* end confdefs.h. */ + $4 + int +-main () ++main (void) + { + static int test_array @<:@1 - 2 * !(($2) <= $ac_mid)@:>@; + test_array @<:@0@:>@ = 0; +@@ -1972,12 +1944,13 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_hi=$ac_mid +-else ++else $as_nop + as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + done + case $ac_lo in @%:@(( + ?*) eval "$3=\$ac_lo"; ac_retval=0 ;; +@@ -1987,12 +1960,12 @@ + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $4 +-static long int longval () { return $2; } +-static unsigned long int ulongval () { return $2; } ++static long int longval (void) { return $2; } ++static unsigned long int ulongval (void) { return $2; } + @%:@include + @%:@include + int +-main () ++main (void) + { + + FILE *f = fopen ("conftest.val", "w"); +@@ -2020,9 +1993,10 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_run "$LINENO"; then : ++if ac_fn_c_try_run "$LINENO" ++then : + echo >>conftest.val; read $3 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 crlibm $as_me 1.0beta4, which was +-generated by GNU Autoconf 2.69. Invocation command line was ++generated by GNU Autoconf 2.71. Invocation command line was + +- $ $0 $@ ++ $ $0$ac_configure_args_raw + + _ACEOF + exec 5>>config.log +@@ -2074,8 +2068,12 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- $as_echo "PATH: $as_dir" ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ printf "%s\n" "PATH: $as_dir" + done + IFS=$as_save_IFS + +@@ -2110,7 +2108,7 @@ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) +- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; +@@ -2145,11 +2143,13 @@ + # 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=$? ++ # Sanitize IFS. ++ IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + +- $as_echo "## ---------------- ## ++ printf "%s\n" "## ---------------- ## + ## Cache variables. ## + ## ---------------- ##" + echo +@@ -2160,8 +2160,8 @@ + 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;} ;; ++ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( +@@ -2185,7 +2185,7 @@ + ) + echo + +- $as_echo "## ----------------- ## ++ printf "%s\n" "## ----------------- ## + ## Output variables. ## + ## ----------------- ##" + echo +@@ -2193,14 +2193,14 @@ + do + eval ac_val=\$$ac_var + case $ac_val in +- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac +- $as_echo "$ac_var='\''$ac_val'\''" ++ printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then +- $as_echo "## ------------------- ## ++ printf "%s\n" "## ------------------- ## + ## File substitutions. ## + ## ------------------- ##" + echo +@@ -2208,15 +2208,15 @@ + do + eval ac_val=\$$ac_var + case $ac_val in +- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac +- $as_echo "$ac_var='\''$ac_val'\''" ++ printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then +- $as_echo "## ----------- ## ++ printf "%s\n" "## ----------- ## + ## confdefs.h. ## + ## ----------- ##" + echo +@@ -2224,8 +2224,8 @@ + echo + fi + test "$ac_signal" != 0 && +- $as_echo "$as_me: caught signal $ac_signal" +- $as_echo "$as_me: exit $exit_status" ++ printf "%s\n" "$as_me: caught signal $ac_signal" ++ printf "%s\n" "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && +@@ -2239,63 +2239,48 @@ + # confdefs.h avoids OS command line length limits that DEFS can exceed. + rm -f -r conftest* confdefs.h + +-$as_echo "/* confdefs.h */" > confdefs.h ++printf "%s\n" "/* confdefs.h */" > confdefs.h + + # Predefined preprocessor variables. + +-cat >>confdefs.h <<_ACEOF +-@%:@define PACKAGE_NAME "$PACKAGE_NAME" +-_ACEOF ++printf "%s\n" "@%:@define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" +-_ACEOF ++printf "%s\n" "@%:@define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-@%:@define PACKAGE_VERSION "$PACKAGE_VERSION" +-_ACEOF ++printf "%s\n" "@%:@define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-@%:@define PACKAGE_STRING "$PACKAGE_STRING" +-_ACEOF ++printf "%s\n" "@%:@define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +-_ACEOF ++printf "%s\n" "@%:@define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-@%:@define PACKAGE_URL "$PACKAGE_URL" +-_ACEOF ++printf "%s\n" "@%:@define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + + # 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 ++ ac_site_files="$CONFIG_SITE" + elif test "x$prefix" != xNONE; then +- ac_site_file1=$prefix/share/config.site +- ac_site_file2=$prefix/etc/config.site ++ ac_site_files="$prefix/share/config.site $prefix/etc/config.site" + else +- ac_site_file1=$ac_default_prefix/share/config.site +- ac_site_file2=$ac_default_prefix/etc/config.site ++ ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi +-for ac_site_file in "$ac_site_file1" "$ac_site_file2" ++ ++for ac_site_file in $ac_site_files + 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;} ++ case $ac_site_file in @%:@( ++ */*) : ++ ;; @%:@( ++ *) : ++ ac_site_file=./$ac_site_file ;; ++esac ++ if test -f "$ac_site_file" && test -r "$ac_site_file"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 ++printf "%s\n" "$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;} ++ || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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 +@@ -2305,19 +2290,434 @@ + # 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 ++printf "%s\n" "$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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 ++printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file + fi + ++# Test code for whether the C compiler supports C89 (global declarations) ++ac_c_conftest_c89_globals=' ++/* Does the compiler advertise C89 conformance? ++ Do not test the value of __STDC__, because some compilers set it to 0 ++ while being otherwise adequately conformant. */ ++#if !defined __STDC__ ++# error "Compiler does not advertise C89 conformance" ++#endif ++ ++#include ++#include ++struct stat; ++/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ ++struct buf { int x; }; ++struct buf * (*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 do not provoke an error unfortunately, instead are silently treated ++ as an "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 is necessary to write \x00 == 0 to get something ++ that is 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 **, int *(*)(struct buf *, struct stat *, int), ++ int, int);' ++ ++# Test code for whether the C compiler supports C89 (body of main). ++ac_c_conftest_c89_main=' ++ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); ++' ++ ++# Test code for whether the C compiler supports C99 (global declarations) ++ac_c_conftest_c99_globals=' ++// Does the compiler advertise C99 conformance? ++#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L ++# error "Compiler does not advertise C99 conformance" ++#endif ++ ++#include ++extern int puts (const char *); ++extern int printf (const char *, ...); ++extern int dprintf (int, const char *, ...); ++extern void *malloc (size_t); ++ ++// Check varargs macros. These examples are taken from C99 6.10.3.5. ++// dprintf is used instead of fprintf to avoid needing to declare ++// FILE and stderr. ++#define debug(...) dprintf (2, __VA_ARGS__) ++#define showlist(...) puts (#__VA_ARGS__) ++#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) ++static void ++test_varargs_macros (void) ++{ ++ int x = 1234; ++ int y = 5678; ++ debug ("Flag"); ++ debug ("X = %d\n", x); ++ showlist (The first, second, and third items.); ++ report (x>y, "x is %d but y is %d", x, y); ++} ++ ++// Check long long types. ++#define BIG64 18446744073709551615ull ++#define BIG32 4294967295ul ++#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) ++#if !BIG_OK ++ #error "your preprocessor is broken" ++#endif ++#if BIG_OK ++#else ++ #error "your preprocessor is broken" ++#endif ++static long long int bignum = -9223372036854775807LL; ++static unsigned long long int ubignum = BIG64; ++ ++struct incomplete_array ++{ ++ int datasize; ++ double data[]; ++}; ++ ++struct named_init { ++ int number; ++ const wchar_t *name; ++ double average; ++}; ++ ++typedef const char *ccp; ++ ++static inline int ++test_restrict (ccp restrict text) ++{ ++ // See if C++-style comments work. ++ // Iterate through items via the restricted pointer. ++ // Also check for declarations in for loops. ++ for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) ++ continue; ++ return 0; ++} ++ ++// Check varargs and va_copy. ++static bool ++test_varargs (const char *format, ...) ++{ ++ va_list args; ++ va_start (args, format); ++ va_list args_copy; ++ va_copy (args_copy, args); ++ ++ const char *str = ""; ++ int number = 0; ++ float fnumber = 0; ++ ++ while (*format) ++ { ++ switch (*format++) ++ { ++ case '\''s'\'': // string ++ str = va_arg (args_copy, const char *); ++ break; ++ case '\''d'\'': // int ++ number = va_arg (args_copy, int); ++ break; ++ case '\''f'\'': // float ++ fnumber = va_arg (args_copy, double); ++ break; ++ default: ++ break; ++ } ++ } ++ va_end (args_copy); ++ va_end (args); ++ ++ return *str && number && fnumber; ++} ++' ++ ++# Test code for whether the C compiler supports C99 (body of main). ++ac_c_conftest_c99_main=' ++ // Check bool. ++ _Bool success = false; ++ success |= (argc != 0); ++ ++ // Check restrict. ++ if (test_restrict ("String literal") == 0) ++ success = true; ++ char *restrict newvar = "Another string"; ++ ++ // Check varargs. ++ success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); ++ test_varargs_macros (); ++ ++ // Check flexible array members. ++ struct incomplete_array *ia = ++ malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); ++ ia->datasize = 10; ++ for (int i = 0; i < ia->datasize; ++i) ++ ia->data[i] = i * 1.234; ++ ++ // Check named initializers. ++ struct named_init ni = { ++ .number = 34, ++ .name = L"Test wide string", ++ .average = 543.34343, ++ }; ++ ++ ni.number = 58; ++ ++ int dynamic_array[ni.number]; ++ dynamic_array[0] = argv[0][0]; ++ dynamic_array[ni.number - 1] = 543; ++ ++ // work around unused variable warnings ++ ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' ++ || dynamic_array[ni.number - 1] != 543); ++' ++ ++# Test code for whether the C compiler supports C11 (global declarations) ++ac_c_conftest_c11_globals=' ++// Does the compiler advertise C11 conformance? ++#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L ++# error "Compiler does not advertise C11 conformance" ++#endif ++ ++// Check _Alignas. ++char _Alignas (double) aligned_as_double; ++char _Alignas (0) no_special_alignment; ++extern char aligned_as_int; ++char _Alignas (0) _Alignas (int) aligned_as_int; ++ ++// Check _Alignof. ++enum ++{ ++ int_alignment = _Alignof (int), ++ int_array_alignment = _Alignof (int[100]), ++ char_alignment = _Alignof (char) ++}; ++_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); ++ ++// Check _Noreturn. ++int _Noreturn does_not_return (void) { for (;;) continue; } ++ ++// Check _Static_assert. ++struct test_static_assert ++{ ++ int x; ++ _Static_assert (sizeof (int) <= sizeof (long int), ++ "_Static_assert does not work in struct"); ++ long int y; ++}; ++ ++// Check UTF-8 literals. ++#define u8 syntax error! ++char const utf8_literal[] = u8"happens to be ASCII" "another string"; ++ ++// Check duplicate typedefs. ++typedef long *long_ptr; ++typedef long int *long_ptr; ++typedef long_ptr long_ptr; ++ ++// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. ++struct anonymous ++{ ++ union { ++ struct { int i; int j; }; ++ struct { int k; long int l; } w; ++ }; ++ int m; ++} v1; ++' ++ ++# Test code for whether the C compiler supports C11 (body of main). ++ac_c_conftest_c11_main=' ++ _Static_assert ((offsetof (struct anonymous, i) ++ == offsetof (struct anonymous, w.k)), ++ "Anonymous union alignment botch"); ++ v1.i = 2; ++ v1.w.k = 5; ++ ok |= v1.i != 5; ++' ++ ++# Test code for whether the C compiler supports C11 (complete). ++ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} ++${ac_c_conftest_c99_globals} ++${ac_c_conftest_c11_globals} ++ ++int ++main (int argc, char **argv) ++{ ++ int ok = 0; ++ ${ac_c_conftest_c89_main} ++ ${ac_c_conftest_c99_main} ++ ${ac_c_conftest_c11_main} ++ return ok; ++} ++" ++ ++# Test code for whether the C compiler supports C99 (complete). ++ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} ++${ac_c_conftest_c99_globals} ++ ++int ++main (int argc, char **argv) ++{ ++ int ok = 0; ++ ${ac_c_conftest_c89_main} ++ ${ac_c_conftest_c99_main} ++ return ok; ++} ++" ++ ++# Test code for whether the C compiler supports C89 (complete). ++ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} ++ ++int ++main (int argc, char **argv) ++{ ++ int ok = 0; ++ ${ac_c_conftest_c89_main} ++ return ok; ++} ++" ++ ++as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" ++as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" ++as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" ++as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" ++as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" ++as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" ++as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" ++as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" ++as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" ++ ++# Auxiliary files required by this configure script. ++ac_aux_files="compile config.guess config.sub ltmain.sh missing install-sh" ++ ++# Locations in which to look for auxiliary files. ++ac_aux_dir_candidates="${srcdir}${PATH_SEPARATOR}${srcdir}/..${PATH_SEPARATOR}${srcdir}/../.." ++ ++# Search for a directory containing all of the required auxiliary files, ++# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. ++# If we don't find one directory that contains all the files we need, ++# we report the set of missing files from the *first* directory in ++# $ac_aux_dir_candidates and give up. ++ac_missing_aux_files="" ++ac_first_candidate=: ++printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++as_found=false ++for as_dir in $ac_aux_dir_candidates ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ as_found=: ++ ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 ++ ac_aux_dir_found=yes ++ ac_install_sh= ++ for ac_aux in $ac_aux_files ++ do ++ # As a special case, if "install-sh" is required, that requirement ++ # can be satisfied by any of "install-sh", "install.sh", or "shtool", ++ # and $ac_install_sh is set appropriately for whichever one is found. ++ if test x"$ac_aux" = x"install-sh" ++ then ++ if test -f "${as_dir}install-sh"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 ++ ac_install_sh="${as_dir}install-sh -c" ++ elif test -f "${as_dir}install.sh"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 ++ ac_install_sh="${as_dir}install.sh -c" ++ elif test -f "${as_dir}shtool"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 ++ ac_install_sh="${as_dir}shtool install -c" ++ else ++ ac_aux_dir_found=no ++ if $ac_first_candidate; then ++ ac_missing_aux_files="${ac_missing_aux_files} install-sh" ++ else ++ break ++ fi ++ fi ++ else ++ if test -f "${as_dir}${ac_aux}"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 ++ else ++ ac_aux_dir_found=no ++ if $ac_first_candidate; then ++ ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" ++ else ++ break ++ fi ++ fi ++ fi ++ done ++ if test "$ac_aux_dir_found" = yes; then ++ ac_aux_dir="$as_dir" ++ break ++ fi ++ ac_first_candidate=false ++ ++ as_found=false ++done ++IFS=$as_save_IFS ++if $as_found ++then : ++ ++else $as_nop ++ as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. ++if test -f "${ac_aux_dir}config.guess"; then ++ ac_@&t@config_guess="$SHELL ${ac_aux_dir}config.guess" ++fi ++if test -f "${ac_aux_dir}config.sub"; then ++ ac_@&t@config_sub="$SHELL ${ac_aux_dir}config.sub" ++fi ++if test -f "$ac_aux_dir/configure"; then ++ ac_@&t@configure="$SHELL ${ac_aux_dir}configure" ++fi ++ + # Check that the precious variables saved in the cache have kept the same + # value. + ac_cache_corrupted=false +@@ -2328,12 +2728,12 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 ++printf "%s\n" "$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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 ++printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) +@@ -2342,24 +2742,24 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 ++printf "%s\n" "$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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 ++printf "%s\n" "$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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 ++printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 ++printf "%s\n" "$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=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in +@@ -2369,11 +2769,12 @@ + 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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 ++printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} ++ as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file' ++ and start over" "$LINENO" 5 + fi + ## -------------------- ## + ## Main body of script. ## +@@ -2387,39 +2788,12 @@ + + + +-#AC_CONFIG_DIR([./crlibm_private.c]) +-am__api_version='1.15' + +-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 ++am__api_version='1.16' + +-# 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. + + +-# Find a good install program. We prefer a C program (faster), ++ # 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 +@@ -2433,20 +2807,25 @@ + # 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 ++printf %s "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 ++if test ${ac_cv_path_install+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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]/* | \ ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ # Account for fact that we put trailing slashes in our PATH walk. ++case $as_dir in @%:@(( ++ ./ | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; +@@ -2456,13 +2835,13 @@ + # 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 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 ++ 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 ++ 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 +@@ -2470,12 +2849,12 @@ + 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" && ++ 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" ++ ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c" + break 3 + fi + fi +@@ -2491,7 +2870,7 @@ + rm -rf conftest.one conftest.two conftest.dir + + fi +- if test "${ac_cv_path_install+set}" = set; then ++ if test ${ac_cv_path_install+y}; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a +@@ -2501,8 +2880,8 @@ + INSTALL=$ac_install_sh + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +-$as_echo "$INSTALL" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 ++printf "%s\n" "$INSTALL" >&6; } + + # Use test -z because SunOS4 sh mishandles braces in ${var-val}. + # It thinks the first close brace ends the variable substitution. +@@ -2512,8 +2891,8 @@ + + test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +-$as_echo_n "checking whether build environment is sane... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 ++printf %s "checking whether build environment is sane... " >&6; } + # Reject unsafe characters in $srcdir or the absolute working directory + # name. Accept space and tab only in the latter. + am_lf=' +@@ -2567,8 +2946,8 @@ + as_fn_error $? "newly created file is older than distributed files! + Check your system clock" "$LINENO" 5 + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + # If we didn't sleep, we still need to ensure time stamps of config.status and + # generated files are strictly newer. + am_sleep_pid= +@@ -2587,26 +2966,23 @@ + # Double any \ or $. + # By default was `s,x,x', remove it if useless. + ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` ++program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"` + ++ + # Expand $ac_aux_dir to an absolute path. + am_aux_dir=`cd "$ac_aux_dir" && pwd` + +-if test x"${MISSING+set}" != xset; then +- case $am_aux_dir in +- *\ * | *\ *) +- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; +- *) +- MISSING="\${SHELL} $am_aux_dir/missing" ;; +- esac ++ ++ if test x"${MISSING+set}" != xset; then ++ MISSING="\${SHELL} '$am_aux_dir/missing'" + fi + # Use eval to expand $SHELL + if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " + else + am_missing_run= +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +-$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 ++printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;} + fi + + if test x"${install_sh+set}" != xset; then +@@ -2626,11 +3002,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. + set dummy ${ac_tool_prefix}strip; 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_STRIP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. + else +@@ -2638,11 +3015,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -2653,11 +3034,11 @@ + fi + STRIP=$ac_cv_prog_STRIP + if test -n "$STRIP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +-$as_echo "$STRIP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 ++printf "%s\n" "$STRIP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -2666,11 +3047,12 @@ + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. + set dummy strip; 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_STRIP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. + else +@@ -2678,11 +3060,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -2693,11 +3079,11 @@ + fi + ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP + if test -n "$ac_ct_STRIP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +-$as_echo "$ac_ct_STRIP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 ++printf "%s\n" "$ac_ct_STRIP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_STRIP" = x; then +@@ -2705,8 +3091,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + STRIP=$ac_ct_STRIP +@@ -2718,25 +3104,31 @@ + fi + INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +-{ $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; } ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5 ++printf %s "checking for a race-free mkdir -p... " >&6; } + if test -z "$MKDIR_P"; then +- if ${ac_cv_path_mkdir+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${ac_cv_path_mkdir+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + 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) '* | \ ++ 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 ('*'coreutils) '* | \ ++ 'BusyBox '* | \ + 'mkdir (fileutils) '4.1*) +- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext ++ ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext + break 3;; + esac + done +@@ -2747,7 +3139,7 @@ + fi + + test -d ./--version && rmdir ./--version +- if test "${ac_cv_path_mkdir+set}" = set; then ++ if test ${ac_cv_path_mkdir+y}; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a +@@ -2757,18 +3149,19 @@ + MKDIR_P="$ac_install_sh -d" + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +-$as_echo "$MKDIR_P" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 ++printf "%s\n" "$MKDIR_P" >&6; } + + for ac_prog in gawk mawk nawk awk + 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_AWK+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_AWK+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. + else +@@ -2776,11 +3169,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -2791,24 +3188,25 @@ + fi + AWK=$ac_cv_prog_AWK + if test -n "$AWK"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +-$as_echo "$AWK" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 ++printf "%s\n" "$AWK" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + + test -n "$AWK" && break + done + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 ++printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } + set x ${MAKE-make} +-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` ++if eval test \${ac_cv_prog_make_${ac_make}_set+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat >conftest.make <<\_ACEOF + SHELL = /bin/sh + all: +@@ -2824,12 +3222,12 @@ + rm -f conftest.make + fi + if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + SET_MAKE= + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" + fi + +@@ -2843,7 +3241,8 @@ + rmdir .tst 2>/dev/null + + @%:@ Check whether --enable-silent-rules was given. +-if test "${enable_silent_rules+set}" = set; then : ++if test ${enable_silent_rules+y} ++then : + enableval=$enable_silent_rules; + fi + +@@ -2853,12 +3252,13 @@ + *) AM_DEFAULT_VERBOSITY=1;; + esac + am_make=${MAKE-make} +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +-$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +-if ${am_cv_make_support_nested_variables+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if $as_echo 'TRUE=$(BAR$(V)) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 ++printf %s "checking whether $am_make supports nested variables... " >&6; } ++if test ${am_cv_make_support_nested_variables+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if printf "%s\n" 'TRUE=$(BAR$(V)) + BAR0=false + BAR1=true + V=1 +@@ -2870,8 +3270,8 @@ + am_cv_make_support_nested_variables=no + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +-$as_echo "$am_cv_make_support_nested_variables" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 ++printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } + if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +@@ -2906,14 +3306,10 @@ + VERSION='1.0beta4' + + +-cat >>confdefs.h <<_ACEOF +-@%:@define PACKAGE "$PACKAGE" +-_ACEOF ++printf "%s\n" "@%:@define PACKAGE \"$PACKAGE\"" >>confdefs.h + + +-cat >>confdefs.h <<_ACEOF +-@%:@define VERSION "$VERSION" +-_ACEOF ++printf "%s\n" "@%:@define VERSION \"$VERSION\"" >>confdefs.h + + # Some tools Automake needs. + +@@ -2933,8 +3329,8 @@ + + # For better backward compatibility. To be removed once Automake 1.9.x + # dies out for good. For more background, see: +-# +-# ++# ++# + mkdir_p='$(MKDIR_P)' + + # We need awk for the "check" target (and possibly the TAP driver). The +@@ -2953,7 +3349,21 @@ + + + ++# Variables for tags utilities; see am/tags.am ++if test -z "$CTAGS"; then ++ CTAGS=ctags ++fi + ++if test -z "$ETAGS"; then ++ ETAGS=etags ++fi ++ ++if test -z "$CSCOPE"; then ++ CSCOPE=cscope ++fi ++ ++ ++ + # POSIX will say in a future version that running "rm -f" with no argument + # is OK; and we want to be able to make that assumption in our Makefile + # recipes. So use an aggressive probe to check that the usage we want is +@@ -2985,7 +3395,7 @@ + Aborting the configuration process, to ensure you take notice of the issue. + + You can download and install GNU coreutils to get an 'rm' implementation +-that behaves properly: . ++that behaves properly: . + + If you want to complete the configuration process using your problematic + 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +@@ -3000,36 +3410,119 @@ + ac_config_headers="$ac_config_headers crlibm_config.h" + + +-AC_ENABLE_SHARED +-AC_ENABLE_STATIC +-LT_INIT ++@%:@ Check whether --enable-shared was given. ++if test ${enable_shared+y} ++then : ++ enableval=$enable_shared; p=${PACKAGE-default} ++ case $enableval in ++ yes) enable_shared=yes ;; ++ no) enable_shared=no ;; ++ *) ++ enable_shared=no ++ # Look at the argument we got. We use all the common list separators. ++ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, ++ for pkg in $enableval; do ++ IFS=$lt_save_ifs ++ if test "X$pkg" = "X$p"; then ++ enable_shared=yes ++ fi ++ done ++ IFS=$lt_save_ifs ++ ;; ++ esac ++else $as_nop ++ enable_shared=yes ++fi + + ++ ++ ++ ++ + + +-ISODATE=`date +%Y-%m-%d` + ++@%:@ Check whether --enable-static was given. ++if test ${enable_static+y} ++then : ++ enableval=$enable_static; p=${PACKAGE-default} ++ case $enableval in ++ yes) enable_static=yes ;; ++ no) enable_static=no ;; ++ *) ++ enable_static=no ++ # Look at the argument we got. We use all the common list separators. ++ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, ++ for pkg in $enableval; do ++ IFS=$lt_save_ifs ++ if test "X$pkg" = "X$p"; then ++ enable_static=yes ++ fi ++ done ++ IFS=$lt_save_ifs ++ ;; ++ esac ++else $as_nop ++ enable_static=yes ++fi + +-# 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 ++ ++ ++ ++ ++ ++ ++ ++case `pwd` in ++ *\ * | *\ *) ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 ++printf "%s\n" "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; ++esac ++ ++ ++ ++macro_version='2.4.6' ++macro_revision='2.4.6' ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ltmain=$ac_aux_dir/ltmain.sh ++ ++ ++ ++ # 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 ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 ++printf %s "checking build system type... " >&6; } ++if test ${ac_cv_build+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_build_alias=$build_alias + test "x$ac_build_alias" = x && +- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` ++ 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 ++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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 ++printf "%s\n" "$ac_cv_build" >&6; } + case $ac_cv_build in + *-*-*) ;; + *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +@@ -3048,21 +3541,22 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 ++printf %s "checking host system type... " >&6; } ++if test ${ac_cv_host+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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 ++ 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 ++printf "%s\n" "$ac_cv_host" >&6; } + case $ac_cv_host in + *-*-*) ;; + *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +@@ -3081,120 +3575,374 @@ + case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +-case $host_os in +-hpux*) +- +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPEOS_HPUX 1 +-_ACEOF +-;; +-*cygwin* | *mingw* | *uwin* | *djgpp | *emx*) +- +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPEOS_CYGWIN 1 +-_ACEOF +-;; +-freebsd*|netbsd*|darwin*) +- +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPEOS_BSD 1 +-_ACEOF +-;; +-esac; ++# Backslashify metacharacters that are still active within ++# double-quoted strings. ++sed_quote_subst='s/\(["`$\\]\)/\\\1/g' + ++# Same as above, but do not quote variable references. ++double_quote_subst='s/\(["`\\]\)/\\\1/g' + +-case $host_cpu in +-alpha) +- +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPECPU_ALPHA 1 +-_ACEOF +- ;; +-sparc) +- +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPECPU_SPARC 1 +-_ACEOF +- ;; +-powerpc*) +- +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPECPU_POWERPC 1 +-_ACEOF +-;; +-i*86|k6|k7|pentium*|athlon*) +- +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPECPU_X86 1 +-_ACEOF ++# Sed substitution to delay expansion of an escaped shell variable in a ++# double_quote_subst'ed string. ++delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +- has_ia32_de=true;; +-x86_64|amd64) +- +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPECPU_AMD64 1 +-_ACEOF ++# Sed substitution to delay expansion of an escaped single quote. ++delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +- has_ia32_de=true;; +-ia64) +- +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPECPU_ITANIUM 1 +-_ACEOF ++# Sed substitution to avoid accidental globbing in evaled expressions ++no_glob_subst='s/\*/\\\*/g' + +- has_ia64_de=true;; +-esac; ++ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ++ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ++ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 ++printf %s "checking how to print strings... " >&6; } ++# Test print first, because it will be a builtin if present. ++if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ ++ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ++ ECHO='print -r --' ++elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ++ ECHO='printf %s\n' ++else ++ # Use this function as a fallback that always works. ++ func_fallback_echo () ++ { ++ eval 'cat <<_LTECHO_EOF ++$1 ++_LTECHO_EOF' ++ } ++ ECHO='func_fallback_echo' ++fi + ++# func_echo_all arg... ++# Invoke $ECHO with all args, space-separated. ++func_echo_all () ++{ ++ $ECHO "" ++} + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +-set x ${MAKE-make} +-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- cat >conftest.make <<\_ACEOF +-SHELL = /bin/sh +-all: +- @echo '@@@%%%=$(MAKE)=@@@%%%' +-_ACEOF +-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +-case `${MAKE-make} -f conftest.make 2>/dev/null` in +- *@@@%%%=?*=@@@%%%*) +- eval ac_cv_prog_make_${ac_make}_set=yes;; +- *) +- eval ac_cv_prog_make_${ac_make}_set=no;; ++case $ECHO in ++ printf*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: printf" >&5 ++printf "%s\n" "printf" >&6; } ;; ++ print*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 ++printf "%s\n" "print -r" >&6; } ;; ++ *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cat" >&5 ++printf "%s\n" "cat" >&6; } ;; + esac +-rm -f conftest.make ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++DEPDIR="${am__leading_dot}deps" ++ ++ac_config_commands="$ac_config_commands depfiles" ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 ++printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; } ++cat > confinc.mk << 'END' ++am__doit: ++ @echo this is the am__doit target >confinc.out ++.PHONY: am__doit ++END ++am__include="#" ++am__quote= ++# BSD make does it like this. ++echo '.include "confinc.mk" # ignored' > confmf.BSD ++# Other make implementations (GNU, Solaris 10, AIX) do it like this. ++echo 'include confinc.mk # ignored' > confmf.GNU ++_am_result=no ++for s in GNU BSD; do ++ { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 ++ (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++ case $?:`cat confinc.out 2>/dev/null` in @%:@( ++ '0:this is the am__doit target') : ++ case $s in @%:@( ++ BSD) : ++ am__include='.include' am__quote='"' ;; @%:@( ++ *) : ++ am__include='include' am__quote='' ;; ++esac ;; @%:@( ++ *) : ++ ;; ++esac ++ if test "$am__include" != "#"; then ++ _am_result="yes ($s style)" ++ break ++ fi ++done ++rm -f confinc.* confmf.* ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 ++printf "%s\n" "${_am_result}" >&6; } ++ ++@%:@ Check whether --enable-dependency-tracking was given. ++if test ${enable_dependency_tracking+y} ++then : ++ enableval=$enable_dependency_tracking; + fi +-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } +- SET_MAKE= ++ ++if test "x$enable_dependency_tracking" != xno; then ++ am_depcomp="$ac_aux_dir/depcomp" ++ AMDEPBACKSLASH='\' ++ am__nodep='_no' ++fi ++ if test "x$enable_dependency_tracking" != xno; then ++ AMDEP_TRUE= ++ AMDEP_FALSE='#' + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } +- SET_MAKE="MAKE=${MAKE-make}" ++ AMDEP_TRUE='#' ++ AMDEP_FALSE= + 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 +- for ac_prog in gcc icc cc ++ # 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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" ++ printf "%s\n" "$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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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" ++ printf "%s\n" "$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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 ++printf "%s\n" "$ac_ct_CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ if test "x$ac_ct_CC" = x; then ++ CC="" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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" ++ printf "%s\n" "$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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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" ++ printf "%s\n" "$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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +@@ -3202,11 +3950,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3217,11 +3969,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -3230,15 +3982,16 @@ + fi + if test -z "$CC"; then + ac_ct_CC=$CC +- for ac_prog in gcc icc 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + else +@@ -3246,11 +3999,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3261,11 +4018,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 ++printf "%s\n" "$ac_ct_CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -3277,32 +4034,138 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + CC=$ac_ct_CC + fi + fi + ++fi ++if test -z "$CC"; then ++ 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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}clang" ++ printf "%s\n" "$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 "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_CC"; then ++ ac_ct_CC=$CC ++ # Extract the first word of "clang", so it can be a program name with args. ++set dummy clang; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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="clang" ++ printf "%s\n" "$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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 ++printf "%s\n" "$ac_ct_CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ if test "x$ac_ct_CC" = x; then ++ CC="" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$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 ++ ++fi ++ ++ ++test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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 ++printf "%s\n" "$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 ++for ac_option in --version -v -V -qversion -version; 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 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -3312,7 +4175,7 @@ + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + done + +@@ -3320,7 +4183,7 @@ + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; +@@ -3332,9 +4195,9 @@ + # 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[^ ]*//'` ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 ++printf %s "checking whether the C compiler works... " >&6; } ++ac_link_default=`printf "%s\n" "$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.*" +@@ -3355,11 +4218,12 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$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 : ++ printf "%s\n" "$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, +@@ -3376,7 +4240,7 @@ + # certainly right. + break;; + *.* ) +- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; ++ if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi +@@ -3392,44 +4256,46 @@ + done + test "$ac_cv_exeext" = no && ac_cv_exeext= + +-else ++else $as_nop + 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 ++if test -z "$ac_file" ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++printf "%s\n" "$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;} ++{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 ++printf %s "checking for C compiler default output file name... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 ++printf "%s\n" "$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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 ++printf %s "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 ++printf "%s\n" "$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 : ++ printf "%s\n" "$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 +@@ -3443,15 +4309,15 @@ + * ) 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;} ++else $as_nop ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 ++printf "%s\n" "$ac_cv_exeext" >&6; } + + rm -f conftest.$ac_ext + EXEEXT=$ac_cv_exeext +@@ -3460,7 +4326,7 @@ + /* end confdefs.h. */ + @%:@include + int +-main () ++main (void) + { + FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; +@@ -3472,8 +4338,8 @@ + 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 ++printf %s "checking whether we are cross compiling... " >&6; } + if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" + case "(($ac_try" in +@@ -3481,10 +4347,10 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in +@@ -3492,39 +4358,40 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$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. ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} ++as_fn_error 77 "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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 ++printf "%s\n" "$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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 ++printf %s "checking for suffix of object files... " >&6; } ++if test ${ac_cv_objext+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; +@@ -3538,11 +4405,12 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$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 : ++ printf "%s\n" "$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 +@@ -3551,31 +4419,32 @@ + break;; + esac + done +-else +- $as_echo "$as_me: failed program was:" >&5 ++else $as_nop ++ printf "%s\n" "$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;} ++{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 ++printf "%s\n" "$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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 ++printf %s "checking whether the compiler supports GNU C... " >&6; } ++if test ${ac_cv_c_compiler_gnu+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + #ifndef __GNUC__ + choke me +@@ -3585,29 +4454,33 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_compiler_gnu=yes +-else ++else $as_nop + ac_compiler_gnu=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 ++printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ + if test $ac_compiler_gnu = yes; then + GCC=yes + else + GCC= + fi +-ac_test_CFLAGS=${CFLAGS+set} ++ac_test_CFLAGS=${CFLAGS+y} + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 ++printf %s "checking whether $CC accepts -g... " >&6; } ++if test ${ac_cv_prog_cc_g+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no +@@ -3616,57 +4489,60 @@ + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_prog_cc_g=yes +-else ++else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-else ++else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 ++printf "%s\n" "$ac_cv_prog_cc_g" >&6; } ++if test $ac_test_CFLAGS; then + CFLAGS=$ac_save_CFLAGS + elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then +@@ -3681,95 +4557,145 @@ + 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_prog_cc_stdc=no ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 ++printf %s "checking for $CC option to enable C11 features... " >&6; } ++if test ${ac_cv_prog_cc_c11+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c11=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; +-} ++$ac_c_conftest_c11_program ++_ACEOF ++for ac_arg in '' -std=gnu11 ++do ++ CC="$ac_save_CC $ac_arg" ++ if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_c11=$ac_arg ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cc_c11" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CC=$ac_save_CC ++fi + +-/* 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]; ++if test "x$ac_cv_prog_cc_c11" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c11" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } ++ CC="$CC $ac_cv_prog_cc_c11" ++fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 ++ ac_prog_cc_stdc=c11 ++fi ++fi ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 ++printf %s "checking for $CC option to enable C99 features... " >&6; } ++if test ${ac_cv_prog_cc_c99+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c99=no ++ac_save_CC=$CC ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_c_conftest_c99_program ++_ACEOF ++for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= ++do ++ CC="$ac_save_CC $ac_arg" ++ if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_c99=$ac_arg ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cc_c99" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CC=$ac_save_CC ++fi + +-/* 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; +-} ++if test "x$ac_cv_prog_cc_c99" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c99" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } ++ CC="$CC $ac_cv_prog_cc_c99" ++fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 ++ ac_prog_cc_stdc=c99 ++fi ++fi ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 ++printf %s "checking for $CC option to enable C89 features... " >&6; } ++if test ${ac_cv_prog_cc_c89+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c89=no ++ac_save_CC=$CC ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_c_conftest_c89_program + _ACEOF +-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ +- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" ++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 : ++ if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_prog_cc_c89=$ac_arg + fi +-rm -f core conftest.err conftest.$ac_objext ++rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break + done + rm -f conftest.$ac_ext + CC=$ac_save_CC ++fi + ++if test "x$ac_cv_prog_cc_c89" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c89" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } ++ CC="$CC $ac_cv_prog_cc_c89" + 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 : +- ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 ++ ac_prog_cc_stdc=c89 + fi ++fi + + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' +@@ -3777,21 +4703,23 @@ + 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_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 whether $CC understands -c and -o together" >&5 +-$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +-if ${am_cv_prog_cc_c_o+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 ++printf %s "checking whether $CC understands -c and -o together... " >&6; } ++if test ${am_cv_prog_cc_c_o+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; +@@ -3819,8 +4747,8 @@ + rm -f core conftest* + unset am_i + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +-$as_echo "$am_cv_prog_cc_c_o" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 ++printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } + if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. +@@ -3835,77 +4763,15 @@ + ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' + ac_compiler_gnu=$ac_cv_c_compiler_gnu + +-DEPDIR="${am__leading_dot}deps" + +-ac_config_commands="$ac_config_commands depfiles" +- +- +-am_make=${MAKE-make} +-cat > confinc << 'END' +-am__doit: +- @echo this is the am__doit target +-.PHONY: am__doit +-END +-# If we don't find an include directive, just comment out the code. +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 +-$as_echo_n "checking for style of include used by $am_make... " >&6; } +-am__include="#" +-am__quote= +-_am_result=none +-# First try GNU make style include. +-echo "include confinc" > confmf +-# Ignore all kinds of additional output from 'make'. +-case `$am_make -s -f confmf 2> /dev/null` in #( +-*the\ am__doit\ target*) +- am__include=include +- am__quote= +- _am_result=GNU +- ;; +-esac +-# Now try BSD make style include. +-if test "$am__include" = "#"; then +- echo '.include "confinc"' > confmf +- case `$am_make -s -f confmf 2> /dev/null` in #( +- *the\ am__doit\ target*) +- am__include=.include +- am__quote="\"" +- _am_result=BSD +- ;; +- esac +-fi +- +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 +-$as_echo "$_am_result" >&6; } +-rm -f confinc confmf +- +-@%:@ Check whether --enable-dependency-tracking was given. +-if test "${enable_dependency_tracking+set}" = set; then : +- enableval=$enable_dependency_tracking; +-fi +- +-if test "x$enable_dependency_tracking" != xno; then +- am_depcomp="$ac_aux_dir/depcomp" +- AMDEPBACKSLASH='\' +- am__nodep='_no' +-fi +- if test "x$enable_dependency_tracking" != xno; then +- AMDEP_TRUE= +- AMDEP_FALSE='#' +-else +- AMDEP_TRUE='#' +- AMDEP_FALSE= +-fi +- +- +- + depcc="$CC" am_compiler_list= + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +-$as_echo_n "checking dependency style of $depcc... " >&6; } +-if ${am_cv_CC_dependencies_compiler_type+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 ++printf %s "checking dependency style of $depcc... " >&6; } ++if test ${am_cv_CC_dependencies_compiler_type+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For +@@ -4012,8 +4878,8 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 ++printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } + CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if +@@ -4027,223 +4893,100 @@ + fi + + +- +-# Try to set compiler flags to get floating point arithmetics +-# to work. This is an old heritage and should become useless within 30 years +-# +-if test "${GCC}" != "yes" ; then +- case "${build}" in +- *-*-hpux* ) +- AM_CFLAGS="${AM_CFLAGS} -Wp,-H30000" +- ;; +- *-dec-osf* ) +- AM_CFLAGS="${AM_CFLAGS} -ieee" +- ;; +- *-apple-darwin* ) +- AM_CFLAGS="${AM_CFLAGS} -fno-common" +- ;; +- *-sgi-irix* ) +- ;; +- esac +-else +- case "${CC}" in +- *icc* ) +- # -Wall causes relocation errors with icc. +- AM_CFLAGS="${AM_CFLAGS} -wd269" +- ;; +- * ) +- case "${build}" in +- *-dec-osf* ) +- AM_CFLAGS="${AM_CFLAGS} -mieee -Wall" +- ;; +- *alpha*-*-linux* ) +- AM_CFLAGS="${AM_CFLAGS} -mieee -Wall" +- ;; +- *alpha*-*-freebsd* ) +- AM_CFLAGS="${AM_CFLAGS} -mieee -Wall" +- ;; +- *-apple-darwin* ) +- AM_CFLAGS="${AM_CFLAGS} -fno-common -Wall" +- ;; +- * ) +- AM_CFLAGS="${AM_CFLAGS} -Wall" +- ;; +- esac +- ;; +- esac +-fi +- +- +- +- +- +- +- if test x$CC = xicc; then +- COMPILER_ICC_TRUE= +- COMPILER_ICC_FALSE='#' +-else +- COMPILER_ICC_TRUE='#' +- COMPILER_ICC_FALSE= +-fi +- +- +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +-$as_echo_n "checking whether ln -s works... " >&6; } +-LN_S=$as_ln_s +-if test "$LN_S" = "ln -s"; 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, using $LN_S" >&5 +-$as_echo "no, using $LN_S" >&6; } +-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 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 ++printf %s "checking for a sed that does not truncate output... " >&6; } ++if test ${ac_cv_path_SED+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 +- # 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 ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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 ++ printf %s 0123456789 >"conftest.in" ++ while : ++ do ++ cat "conftest.in" "conftest.in" >"conftest.tmp" ++ mv "conftest.tmp" "conftest.in" ++ cp "conftest.in" "conftest.nl" ++ printf "%s\n" '' >> "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 + +- # 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 ++ $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 +- # Passes both tests. +-ac_preproc_ok=: +-break ++ ac_cv_path_SED=$SED + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 ++printf "%s\n" "$ac_cv_path_SED" >&6; } ++ SED="$ac_cv_path_SED" ++ rm -f conftest.sed + +- 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 ++test -z "$SED" && SED=sed ++Xsed="$SED -e 1s/^X//" + +- # 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 ++printf %s "checking for grep that handles long lines and -e... " >&6; } ++if test ${ac_cv_path_GREP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST +@@ -4251,10 +4994,15 @@ + 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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" ++ 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 +@@ -4263,13 +5011,13 @@ + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; + *) + ac_count=0 +- $as_echo_n 0123456789 >"conftest.in" ++ printf %s 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" ++ printf "%s\n" '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 +@@ -4297,16 +5045,17 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +-$as_echo "$ac_cv_path_GREP" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 ++printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +-{ $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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 ++printf %s "checking for egrep... " >&6; } ++if test ${ac_cv_path_EGREP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else +@@ -4317,10 +5066,15 @@ + 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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" ++ 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 +@@ -4329,13 +5083,13 @@ + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; + *) + ac_count=0 +- $as_echo_n 0123456789 >"conftest.in" ++ printf %s 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" ++ printf "%s\n" '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 +@@ -4364,133 +5118,8441 @@ + + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +-$as_echo "$ac_cv_path_EGREP" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 ++printf "%s\n" "$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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 ++printf %s "checking for fgrep... " >&6; } ++if test ${ac_cv_path_FGREP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 ++ then ac_cv_path_FGREP="$GREP -F" ++ else ++ if test -z "$FGREP"; then ++ ac_path_FGREP_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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_prog in fgrep ++ do ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ ac_path_FGREP="$as_dir$ac_prog$ac_exec_ext" ++ as_fn_executable_p "$ac_path_FGREP" || continue ++# Check for GNU ac_path_FGREP and select it if it is found. ++ # Check for GNU $ac_path_FGREP ++case `"$ac_path_FGREP" --version 2>&1` in ++*GNU*) ++ ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; ++*) ++ ac_count=0 ++ printf %s 0123456789 >"conftest.in" ++ while : ++ do ++ cat "conftest.in" "conftest.in" >"conftest.tmp" ++ mv "conftest.tmp" "conftest.in" ++ cp "conftest.in" "conftest.nl" ++ printf "%s\n" 'FGREP' >> "conftest.nl" ++ "$ac_path_FGREP" FGREP < "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_FGREP_max-0}; then ++ # Best one so far, save it but keep looking for a better one ++ ac_cv_path_FGREP="$ac_path_FGREP" ++ ac_path_FGREP_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_FGREP_found && break 3 ++ done ++ done ++ done ++IFS=$as_save_IFS ++ if test -z "$ac_cv_path_FGREP"; then ++ as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 ++ fi + else +- cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++ ac_cv_path_FGREP=$FGREP ++fi ++ ++ fi ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 ++printf "%s\n" "$ac_cv_path_FGREP" >&6; } ++ FGREP="$ac_cv_path_FGREP" ++ ++ ++test -z "$GREP" && GREP=grep ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++@%:@ Check whether --with-gnu-ld was given. ++if test ${with_gnu_ld+y} ++then : ++ withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes ++else $as_nop ++ with_gnu_ld=no ++fi ++ ++ac_prog=ld ++if test yes = "$GCC"; then ++ # Check if gcc -print-prog-name=ld gives a path. ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 ++printf %s "checking for ld used by $CC... " >&6; } ++ case $host in ++ *-*-mingw*) ++ # gcc leaves a trailing carriage return, which upsets mingw ++ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; ++ *) ++ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; ++ esac ++ case $ac_prog in ++ # Accept absolute paths. ++ [\\/]* | ?:[\\/]*) ++ re_direlt='/[^/][^/]*/\.\./' ++ # Canonicalize the pathname of ld ++ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` ++ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ++ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` ++ done ++ test -z "$LD" && LD=$ac_prog ++ ;; ++ "") ++ # If it fails, then pretend we aren't using GCC. ++ ac_prog=ld ++ ;; ++ *) ++ # If it is relative, then search for the first ld in PATH. ++ with_gnu_ld=unknown ++ ;; ++ esac ++elif test yes = "$with_gnu_ld"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 ++printf %s "checking for GNU ld... " >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 ++printf %s "checking for non-GNU ld... " >&6; } ++fi ++if test ${lt_cv_path_LD+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -z "$LD"; then ++ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ++ for ac_dir in $PATH; do ++ IFS=$lt_save_ifs ++ test -z "$ac_dir" && ac_dir=. ++ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then ++ lt_cv_path_LD=$ac_dir/$ac_prog ++ # Check to see if the program is GNU ld. I'd rather use --version, ++ # but apparently some variants of GNU ld only accept -v. ++ # Break only if it was the GNU/non-GNU ld that we prefer. ++ case `"$lt_cv_path_LD" -v 2>&1 &5 ++printf "%s\n" "$LD" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 ++printf %s "checking if the linker ($LD) is GNU ld... " >&6; } ++if test ${lt_cv_prog_gnu_ld+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ # I'd rather use --version here, but apparently some GNU lds only accept -v. ++case `$LD -v 2>&1 &5 ++printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } ++with_gnu_ld=$lt_cv_prog_gnu_ld ++ ++ ++ ++ ++ ++ ++ ++ ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 ++printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; } ++if test ${lt_cv_path_NM+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$NM"; then ++ # Let the user override the test. ++ lt_cv_path_NM=$NM ++else ++ lt_nm_to_check=${ac_tool_prefix}nm ++ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then ++ lt_nm_to_check="$lt_nm_to_check nm" ++ fi ++ for lt_tmp_nm in $lt_nm_to_check; do ++ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ++ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do ++ IFS=$lt_save_ifs ++ test -z "$ac_dir" && ac_dir=. ++ tmp_nm=$ac_dir/$lt_tmp_nm ++ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then ++ # Check to see if the nm accepts a BSD-compat flag. ++ # Adding the 'sed 1q' prevents false positives on HP-UX, which says: ++ # nm: unknown option "B" ignored ++ # Tru64's nm complains that /dev/null is an invalid object file ++ # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty ++ case $build_os in ++ mingw*) lt_bad_file=conftest.nm/nofile ;; ++ *) lt_bad_file=/dev/null ;; ++ esac ++ case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in ++ *$lt_bad_file* | *'Invalid file or object type'*) ++ lt_cv_path_NM="$tmp_nm -B" ++ break 2 ++ ;; ++ *) ++ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in ++ */dev/null*) ++ lt_cv_path_NM="$tmp_nm -p" ++ break 2 ++ ;; ++ *) ++ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but ++ continue # so that we can try to find one that supports BSD flags ++ ;; ++ esac ++ ;; ++ esac ++ fi ++ done ++ IFS=$lt_save_ifs ++ done ++ : ${lt_cv_path_NM=no} ++fi ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 ++printf "%s\n" "$lt_cv_path_NM" >&6; } ++if test no != "$lt_cv_path_NM"; then ++ NM=$lt_cv_path_NM ++else ++ # Didn't find any BSD compatible name lister, look for dumpbin. ++ if test -n "$DUMPBIN"; then : ++ # Let the user override the test. ++ else ++ if test -n "$ac_tool_prefix"; then ++ for ac_prog in dumpbin "link -dump" ++ 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_DUMPBIN+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$DUMPBIN"; then ++ ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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_DUMPBIN="$ac_tool_prefix$ac_prog" ++ printf "%s\n" "$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 ++DUMPBIN=$ac_cv_prog_DUMPBIN ++if test -n "$DUMPBIN"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 ++printf "%s\n" "$DUMPBIN" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++ test -n "$DUMPBIN" && break ++ done ++fi ++if test -z "$DUMPBIN"; then ++ ac_ct_DUMPBIN=$DUMPBIN ++ for ac_prog in dumpbin "link -dump" ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_DUMPBIN+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$ac_ct_DUMPBIN"; then ++ ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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_DUMPBIN="$ac_prog" ++ printf "%s\n" "$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_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN ++if test -n "$ac_ct_DUMPBIN"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 ++printf "%s\n" "$ac_ct_DUMPBIN" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++ test -n "$ac_ct_DUMPBIN" && break ++done ++ ++ if test "x$ac_ct_DUMPBIN" = x; then ++ DUMPBIN=":" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ DUMPBIN=$ac_ct_DUMPBIN ++ fi ++fi ++ ++ case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in ++ *COFF*) ++ DUMPBIN="$DUMPBIN -symbols -headers" ++ ;; ++ *) ++ DUMPBIN=: ++ ;; ++ esac ++ fi ++ ++ if test : != "$DUMPBIN"; then ++ NM=$DUMPBIN ++ fi ++fi ++test -z "$NM" && NM=nm ++ ++ ++ ++ ++ ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 ++printf %s "checking the name lister ($NM) interface... " >&6; } ++if test ${lt_cv_nm_interface+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ lt_cv_nm_interface="BSD nm" ++ echo "int some_variable = 0;" > conftest.$ac_ext ++ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) ++ (eval "$ac_compile" 2>conftest.err) ++ cat conftest.err >&5 ++ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) ++ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) ++ cat conftest.err >&5 ++ (eval echo "\"\$as_me:$LINENO: output\"" >&5) ++ cat conftest.out >&5 ++ if $GREP 'External.*some_variable' conftest.out > /dev/null; then ++ lt_cv_nm_interface="MS dumpbin" ++ fi ++ rm -f conftest* ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 ++printf "%s\n" "$lt_cv_nm_interface" >&6; } ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 ++printf %s "checking whether ln -s works... " >&6; } ++LN_S=$as_ln_s ++if test "$LN_S" = "ln -s"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 ++printf "%s\n" "no, using $LN_S" >&6; } ++fi ++ ++# find the maximum length of command line arguments ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 ++printf %s "checking the maximum length of command line arguments... " >&6; } ++if test ${lt_cv_sys_max_cmd_len+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ i=0 ++ teststring=ABCD ++ ++ case $build_os in ++ msdosdjgpp*) ++ # On DJGPP, this test can blow up pretty badly due to problems in libc ++ # (any single argument exceeding 2000 bytes causes a buffer overrun ++ # during glob expansion). Even if it were fixed, the result of this ++ # check would be larger than it should be. ++ lt_cv_sys_max_cmd_len=12288; # 12K is about right ++ ;; ++ ++ gnu*) ++ # Under GNU Hurd, this test is not required because there is ++ # no limit to the length of command line arguments. ++ # Libtool will interpret -1 as no limit whatsoever ++ lt_cv_sys_max_cmd_len=-1; ++ ;; ++ ++ cygwin* | mingw* | cegcc*) ++ # On Win9x/ME, this test blows up -- it succeeds, but takes ++ # about 5 minutes as the teststring grows exponentially. ++ # Worse, since 9x/ME are not pre-emptively multitasking, ++ # you end up with a "frozen" computer, even though with patience ++ # the test eventually succeeds (with a max line length of 256k). ++ # Instead, let's just punt: use the minimum linelength reported by ++ # all of the supported platforms: 8192 (on NT/2K/XP). ++ lt_cv_sys_max_cmd_len=8192; ++ ;; ++ ++ mint*) ++ # On MiNT this can take a long time and run out of memory. ++ lt_cv_sys_max_cmd_len=8192; ++ ;; ++ ++ amigaos*) ++ # On AmigaOS with pdksh, this test takes hours, literally. ++ # So we just punt and use a minimum line length of 8192. ++ lt_cv_sys_max_cmd_len=8192; ++ ;; ++ ++ bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) ++ # This has been around since 386BSD, at least. Likely further. ++ if test -x /sbin/sysctl; then ++ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` ++ elif test -x /usr/sbin/sysctl; then ++ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` ++ else ++ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs ++ fi ++ # And add a safety zone ++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` ++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ++ ;; ++ ++ interix*) ++ # We know the value 262144 and hardcode it with a safety zone (like BSD) ++ lt_cv_sys_max_cmd_len=196608 ++ ;; ++ ++ os2*) ++ # The test takes a long time on OS/2. ++ lt_cv_sys_max_cmd_len=8192 ++ ;; ++ ++ osf*) ++ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure ++ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not ++ # nice to cause kernel panics so lets avoid the loop below. ++ # First set a reasonable default. ++ lt_cv_sys_max_cmd_len=16384 ++ # ++ if test -x /sbin/sysconfig; then ++ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in ++ *1*) lt_cv_sys_max_cmd_len=-1 ;; ++ esac ++ fi ++ ;; ++ sco3.2v5*) ++ lt_cv_sys_max_cmd_len=102400 ++ ;; ++ sysv5* | sco5v6* | sysv4.2uw2*) ++ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` ++ if test -n "$kargmax"; then ++ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` ++ else ++ lt_cv_sys_max_cmd_len=32768 ++ fi ++ ;; ++ *) ++ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` ++ if test -n "$lt_cv_sys_max_cmd_len" && \ ++ test undefined != "$lt_cv_sys_max_cmd_len"; then ++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` ++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ++ else ++ # Make teststring a little bigger before we do anything with it. ++ # a 1K string should be a reasonable start. ++ for i in 1 2 3 4 5 6 7 8; do ++ teststring=$teststring$teststring ++ done ++ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} ++ # If test is not a shell built-in, we'll probably end up computing a ++ # maximum length that is only half of the actual maximum length, but ++ # we can't tell. ++ while { test X`env echo "$teststring$teststring" 2>/dev/null` \ ++ = "X$teststring$teststring"; } >/dev/null 2>&1 && ++ test 17 != "$i" # 1/2 MB should be enough ++ do ++ i=`expr $i + 1` ++ teststring=$teststring$teststring ++ done ++ # Only check the string length outside the loop. ++ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` ++ teststring= ++ # Add a significant safety factor because C++ compilers can tack on ++ # massive amounts of additional arguments before passing them to the ++ # linker. It appears as though 1/2 is a usable value. ++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` ++ fi ++ ;; ++ esac ++ ++fi ++ ++if test -n "$lt_cv_sys_max_cmd_len"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 ++printf "%s\n" "$lt_cv_sys_max_cmd_len" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 ++printf "%s\n" "none" >&6; } ++fi ++max_cmd_len=$lt_cv_sys_max_cmd_len ++ ++ ++ ++ ++ ++ ++: ${CP="cp -f"} ++: ${MV="mv -f"} ++: ${RM="rm -f"} ++ ++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then ++ lt_unset=unset ++else ++ lt_unset=false ++fi ++ ++ ++ ++ ++ ++# test EBCDIC or ASCII ++case `echo X|tr X '\101'` in ++ A) # ASCII based system ++ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr ++ lt_SP2NL='tr \040 \012' ++ lt_NL2SP='tr \015\012 \040\040' ++ ;; ++ *) # EBCDIC based system ++ lt_SP2NL='tr \100 \n' ++ lt_NL2SP='tr \r\n \100\100' ++ ;; ++esac ++ ++ ++ ++ ++ ++ ++ ++ ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 ++printf %s "checking how to convert $build file names to $host format... " >&6; } ++if test ${lt_cv_to_host_file_cmd+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ case $host in ++ *-*-mingw* ) ++ case $build in ++ *-*-mingw* ) # actually msys ++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ++ ;; ++ *-*-cygwin* ) ++ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ++ ;; ++ * ) # otherwise, assume *nix ++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ++ ;; ++ esac ++ ;; ++ *-*-cygwin* ) ++ case $build in ++ *-*-mingw* ) # actually msys ++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ++ ;; ++ *-*-cygwin* ) ++ lt_cv_to_host_file_cmd=func_convert_file_noop ++ ;; ++ * ) # otherwise, assume *nix ++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ++ ;; ++ esac ++ ;; ++ * ) # unhandled hosts (and "normal" native builds) ++ lt_cv_to_host_file_cmd=func_convert_file_noop ++ ;; ++esac ++ ++fi ++ ++to_host_file_cmd=$lt_cv_to_host_file_cmd ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 ++printf "%s\n" "$lt_cv_to_host_file_cmd" >&6; } ++ ++ ++ ++ ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 ++printf %s "checking how to convert $build file names to toolchain format... " >&6; } ++if test ${lt_cv_to_tool_file_cmd+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ #assume ordinary cross tools, or native build. ++lt_cv_to_tool_file_cmd=func_convert_file_noop ++case $host in ++ *-*-mingw* ) ++ case $build in ++ *-*-mingw* ) # actually msys ++ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ++ ;; ++ esac ++ ;; ++esac ++ ++fi ++ ++to_tool_file_cmd=$lt_cv_to_tool_file_cmd ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 ++printf "%s\n" "$lt_cv_to_tool_file_cmd" >&6; } ++ ++ ++ ++ ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 ++printf %s "checking for $LD option to reload object files... " >&6; } ++if test ${lt_cv_ld_reload_flag+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ lt_cv_ld_reload_flag='-r' ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 ++printf "%s\n" "$lt_cv_ld_reload_flag" >&6; } ++reload_flag=$lt_cv_ld_reload_flag ++case $reload_flag in ++"" | " "*) ;; ++*) reload_flag=" $reload_flag" ;; ++esac ++reload_cmds='$LD$reload_flag -o $output$reload_objs' ++case $host_os in ++ cygwin* | mingw* | pw32* | cegcc*) ++ if test yes != "$GCC"; then ++ reload_cmds=false ++ fi ++ ;; ++ darwin*) ++ if test yes = "$GCC"; then ++ reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' ++ else ++ reload_cmds='$LD$reload_flag -o $output$reload_objs' ++ fi ++ ;; ++esac ++ ++ ++ ++ ++ ++ ++ ++ ++ ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. ++set dummy ${ac_tool_prefix}objdump; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_OBJDUMP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$OBJDUMP"; then ++ ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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_OBJDUMP="${ac_tool_prefix}objdump" ++ printf "%s\n" "$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 ++OBJDUMP=$ac_cv_prog_OBJDUMP ++if test -n "$OBJDUMP"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 ++printf "%s\n" "$OBJDUMP" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_OBJDUMP"; then ++ ac_ct_OBJDUMP=$OBJDUMP ++ # Extract the first word of "objdump", so it can be a program name with args. ++set dummy objdump; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_OBJDUMP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$ac_ct_OBJDUMP"; then ++ ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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_OBJDUMP="objdump" ++ printf "%s\n" "$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_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP ++if test -n "$ac_ct_OBJDUMP"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 ++printf "%s\n" "$ac_ct_OBJDUMP" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ if test "x$ac_ct_OBJDUMP" = x; then ++ OBJDUMP="false" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ OBJDUMP=$ac_ct_OBJDUMP ++ fi ++else ++ OBJDUMP="$ac_cv_prog_OBJDUMP" ++fi ++ ++test -z "$OBJDUMP" && OBJDUMP=objdump ++ ++ ++ ++ ++ ++ ++ ++ ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 ++printf %s "checking how to recognize dependent libraries... " >&6; } ++if test ${lt_cv_deplibs_check_method+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ lt_cv_file_magic_cmd='$MAGIC_CMD' ++lt_cv_file_magic_test_file= ++lt_cv_deplibs_check_method='unknown' ++# Need to set the preceding variable on all platforms that support ++# interlibrary dependencies. ++# 'none' -- dependencies not supported. ++# 'unknown' -- same as none, but documents that we really don't know. ++# 'pass_all' -- all dependencies passed with no checks. ++# 'test_compile' -- check by making test program. ++# 'file_magic [[regex]]' -- check by looking for files in library path ++# that responds to the $file_magic_cmd with a given extended regex. ++# If you have 'file' or equivalent on your system and you're not sure ++# whether 'pass_all' will *always* work, you probably want this one. ++ ++case $host_os in ++aix[4-9]*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ ++beos*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ ++bsdi[45]*) ++ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' ++ lt_cv_file_magic_cmd='/usr/bin/file -L' ++ lt_cv_file_magic_test_file=/shlib/libc.so ++ ;; ++ ++cygwin*) ++ # func_win32_libid is a shell function defined in ltmain.sh ++ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' ++ lt_cv_file_magic_cmd='func_win32_libid' ++ ;; ++ ++mingw* | pw32*) ++ # Base MSYS/MinGW do not provide the 'file' command needed by ++ # func_win32_libid shell function, so use a weaker test based on 'objdump', ++ # unless we find 'file', for example because we are cross-compiling. ++ if ( file / ) >/dev/null 2>&1; then ++ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' ++ lt_cv_file_magic_cmd='func_win32_libid' ++ else ++ # Keep this pattern in sync with the one in func_win32_libid. ++ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' ++ lt_cv_file_magic_cmd='$OBJDUMP -f' ++ fi ++ ;; ++ ++cegcc*) ++ # use the weaker test based on 'objdump'. See mingw*. ++ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' ++ lt_cv_file_magic_cmd='$OBJDUMP -f' ++ ;; ++ ++darwin* | rhapsody*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ ++freebsd* | dragonfly*) ++ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then ++ case $host_cpu in ++ i*86 ) ++ # Not sure whether the presence of OpenBSD here was a mistake. ++ # Let's accept both of them until this is cleared up. ++ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' ++ lt_cv_file_magic_cmd=/usr/bin/file ++ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ++ ;; ++ esac ++ else ++ lt_cv_deplibs_check_method=pass_all ++ fi ++ ;; ++ ++haiku*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ ++hpux10.20* | hpux11*) ++ lt_cv_file_magic_cmd=/usr/bin/file ++ case $host_cpu in ++ ia64*) ++ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' ++ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ++ ;; ++ hppa*64*) ++ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' ++ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ++ ;; ++ *) ++ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' ++ lt_cv_file_magic_test_file=/usr/lib/libc.sl ++ ;; ++ esac ++ ;; ++ ++interix[3-9]*) ++ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here ++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ++ ;; ++ ++irix5* | irix6* | nonstopux*) ++ case $LD in ++ *-32|*"-32 ") libmagic=32-bit;; ++ *-n32|*"-n32 ") libmagic=N32;; ++ *-64|*"-64 ") libmagic=64-bit;; ++ *) libmagic=never-match;; ++ esac ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ ++# This must be glibc/ELF. ++linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ ++netbsd*) ++ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then ++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' ++ else ++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' ++ fi ++ ;; ++ ++newos6*) ++ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' ++ lt_cv_file_magic_cmd=/usr/bin/file ++ lt_cv_file_magic_test_file=/usr/lib/libnls.so ++ ;; ++ ++*nto* | *qnx*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ ++openbsd* | bitrig*) ++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then ++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' ++ else ++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' ++ fi ++ ;; ++ ++osf3* | osf4* | osf5*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ ++rdos*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ ++solaris*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ ++sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ ++sysv4 | sysv4.3*) ++ case $host_vendor in ++ motorola) ++ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' ++ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ++ ;; ++ ncr) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ sequent) ++ lt_cv_file_magic_cmd='/bin/file' ++ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ++ ;; ++ sni) ++ lt_cv_file_magic_cmd='/bin/file' ++ lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" ++ lt_cv_file_magic_test_file=/lib/libc.so ++ ;; ++ siemens) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ pc) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ esac ++ ;; ++ ++tpf*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++os2*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++esac ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 ++printf "%s\n" "$lt_cv_deplibs_check_method" >&6; } ++ ++file_magic_glob= ++want_nocaseglob=no ++if test "$build" = "$host"; then ++ case $host_os in ++ mingw* | pw32*) ++ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then ++ want_nocaseglob=yes ++ else ++ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` ++ fi ++ ;; ++ esac ++fi ++ ++file_magic_cmd=$lt_cv_file_magic_cmd ++deplibs_check_method=$lt_cv_deplibs_check_method ++test -z "$deplibs_check_method" && deplibs_check_method=unknown ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. ++set dummy ${ac_tool_prefix}dlltool; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_DLLTOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$DLLTOOL"; then ++ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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_DLLTOOL="${ac_tool_prefix}dlltool" ++ printf "%s\n" "$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 ++DLLTOOL=$ac_cv_prog_DLLTOOL ++if test -n "$DLLTOOL"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 ++printf "%s\n" "$DLLTOOL" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_DLLTOOL"; then ++ ac_ct_DLLTOOL=$DLLTOOL ++ # Extract the first word of "dlltool", so it can be a program name with args. ++set dummy dlltool; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_DLLTOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$ac_ct_DLLTOOL"; then ++ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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_DLLTOOL="dlltool" ++ printf "%s\n" "$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_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL ++if test -n "$ac_ct_DLLTOOL"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 ++printf "%s\n" "$ac_ct_DLLTOOL" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ if test "x$ac_ct_DLLTOOL" = x; then ++ DLLTOOL="false" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ DLLTOOL=$ac_ct_DLLTOOL ++ fi ++else ++ DLLTOOL="$ac_cv_prog_DLLTOOL" ++fi ++ ++test -z "$DLLTOOL" && DLLTOOL=dlltool ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 ++printf %s "checking how to associate runtime and link libraries... " >&6; } ++if test ${lt_cv_sharedlib_from_linklib_cmd+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ lt_cv_sharedlib_from_linklib_cmd='unknown' ++ ++case $host_os in ++cygwin* | mingw* | pw32* | cegcc*) ++ # two different shell functions defined in ltmain.sh; ++ # decide which one to use based on capabilities of $DLLTOOL ++ case `$DLLTOOL --help 2>&1` in ++ *--identify-strict*) ++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ++ ;; ++ *) ++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ++ ;; ++ esac ++ ;; ++*) ++ # fallback: assume linklib IS sharedlib ++ lt_cv_sharedlib_from_linklib_cmd=$ECHO ++ ;; ++esac ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 ++printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; } ++sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd ++test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO ++ ++ ++ ++ ++ ++ ++ ++ ++if test -n "$ac_tool_prefix"; then ++ for ac_prog in ar ++ 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_AR+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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" ++ printf "%s\n" "$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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 ++printf "%s\n" "$AR" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++ test -n "$AR" && break ++ done ++fi ++if test -z "$AR"; then ++ ac_ct_AR=$AR ++ for ac_prog in ar ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_AR+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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" ++ printf "%s\n" "$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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 ++printf "%s\n" "$ac_ct_AR" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++ test -n "$ac_ct_AR" && break ++done ++ ++ if test "x$ac_ct_AR" = x; then ++ AR="false" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ AR=$ac_ct_AR ++ fi ++fi ++ ++: ${AR=ar} ++: ${AR_FLAGS=cru} ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 ++printf %s "checking for archiver @FILE support... " >&6; } ++if test ${lt_cv_ar_at_file+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ lt_cv_ar_at_file=no ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +-#include +-#include +-#include +-#include + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : +- ac_cv_header_stdc=yes ++if ac_fn_c_try_compile "$LINENO" ++then : ++ echo conftest.$ac_objext > conftest.lst ++ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' ++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 ++ (eval $lt_ar_try) 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } ++ if test 0 -eq "$ac_status"; then ++ # Ensure the archiver fails upon bogus file names. ++ rm -f conftest.$ac_objext libconftest.a ++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 ++ (eval $lt_ar_try) 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } ++ if test 0 -ne "$ac_status"; then ++ lt_cv_ar_at_file=@ ++ fi ++ fi ++ rm -f conftest.* libconftest.a ++ ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 ++printf "%s\n" "$lt_cv_ar_at_file" >&6; } ++ ++if test no = "$lt_cv_ar_at_file"; then ++ archiver_list_spec= + else +- ac_cv_header_stdc=no ++ archiver_list_spec=$lt_cv_ar_at_file + 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 ++ ++ ++ ++ ++ ++ ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. ++set dummy ${ac_tool_prefix}strip; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$STRIP"; then ++ ac_cv_prog_STRIP="$STRIP" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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_STRIP="${ac_tool_prefix}strip" ++ printf "%s\n" "$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 ++STRIP=$ac_cv_prog_STRIP ++if test -n "$STRIP"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 ++printf "%s\n" "$STRIP" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_STRIP"; then ++ ac_ct_STRIP=$STRIP ++ # Extract the first word of "strip", so it can be a program name with args. ++set dummy strip; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$ac_ct_STRIP"; then ++ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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_STRIP="strip" ++ printf "%s\n" "$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_STRIP=$ac_cv_prog_ac_ct_STRIP ++if test -n "$ac_ct_STRIP"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 ++printf "%s\n" "$ac_ct_STRIP" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ if test "x$ac_ct_STRIP" = x; then ++ STRIP=":" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ STRIP=$ac_ct_STRIP ++ fi ++else ++ STRIP="$ac_cv_prog_STRIP" ++fi ++ ++test -z "$STRIP" && STRIP=: ++ ++ ++ ++ ++ ++ ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. ++set dummy ${ac_tool_prefix}ranlib; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_RANLIB+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$RANLIB"; then ++ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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_RANLIB="${ac_tool_prefix}ranlib" ++ printf "%s\n" "$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 ++RANLIB=$ac_cv_prog_RANLIB ++if test -n "$RANLIB"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 ++printf "%s\n" "$RANLIB" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_RANLIB"; then ++ ac_ct_RANLIB=$RANLIB ++ # Extract the first word of "ranlib", so it can be a program name with args. ++set dummy ranlib; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_RANLIB+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$ac_ct_RANLIB"; then ++ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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_RANLIB="ranlib" ++ printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB ++if test -n "$ac_ct_RANLIB"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 ++printf "%s\n" "$ac_ct_RANLIB" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ if test "x$ac_ct_RANLIB" = x; then ++ RANLIB=":" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ RANLIB=$ac_ct_RANLIB ++ fi ++else ++ RANLIB="$ac_cv_prog_RANLIB" ++fi ++ ++test -z "$RANLIB" && RANLIB=: ++ ++ ++ ++ ++ ++ ++# Determine commands to create old-style static archives. ++old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' ++old_postinstall_cmds='chmod 644 $oldlib' ++old_postuninstall_cmds= ++ ++if test -n "$RANLIB"; then ++ case $host_os in ++ bitrig* | openbsd*) ++ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ++ ;; ++ *) ++ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ++ ;; ++ esac ++ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" ++fi ++ ++case $host_os in ++ darwin*) ++ lock_old_archive_extraction=yes ;; ++ *) ++ lock_old_archive_extraction=no ;; ++esac ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++# If no C compiler was specified, use CC. ++LTCC=${LTCC-"$CC"} ++ ++# If no C compiler flags were specified, use CFLAGS. ++LTCFLAGS=${LTCFLAGS-"$CFLAGS"} ++ ++# Allow CC to be a program name with arguments. ++compiler=$CC ++ ++ ++# Check for command to grab the raw symbol name followed by C symbol from nm. ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 ++printf %s "checking command to parse $NM output from $compiler object... " >&6; } ++if test ${lt_cv_sys_global_symbol_pipe+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ++# These are sane defaults that work on at least a few old systems. ++# [They come from Ultrix. What could be older than Ultrix?!! ;)] ++ ++# Character class describing NM global symbol codes. ++symcode='[BCDEGRST]' ++ ++# Regexp to match symbols that can be accessed directly from C. ++sympat='\([_A-Za-z][_A-Za-z0-9]*\)' ++ ++# Define system-specific variables. ++case $host_os in ++aix*) ++ symcode='[BCDT]' ++ ;; ++cygwin* | mingw* | pw32* | cegcc*) ++ symcode='[ABCDGISTW]' ++ ;; ++hpux*) ++ if test ia64 = "$host_cpu"; then ++ symcode='[ABCDEGRST]' ++ fi ++ ;; ++irix* | nonstopux*) ++ symcode='[BCDEGRST]' ++ ;; ++osf*) ++ symcode='[BCDEGQRST]' ++ ;; ++solaris*) ++ symcode='[BDRT]' ++ ;; ++sco3.2v5*) ++ symcode='[DT]' ++ ;; ++sysv4.2uw2*) ++ symcode='[DT]' ++ ;; ++sysv5* | sco5v6* | unixware* | OpenUNIX*) ++ symcode='[ABDT]' ++ ;; ++sysv4) ++ symcode='[DFNSTU]' ++ ;; ++esac ++ ++# If we're using GNU nm, then use its standard symbol codes. ++case `$NM -V 2>&1` in ++*GNU* | *'with BFD'*) ++ symcode='[ABCDGIRSTW]' ;; ++esac ++ ++if test "$lt_cv_nm_interface" = "MS dumpbin"; then ++ # Gets list of data symbols to import. ++ lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" ++ # Adjust the below global symbol transforms to fixup imported variables. ++ lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" ++ lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" ++ lt_c_name_lib_hook="\ ++ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ ++ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" ++else ++ # Disable hooks by default. ++ lt_cv_sys_global_symbol_to_import= ++ lt_cdecl_hook= ++ lt_c_name_hook= ++ lt_c_name_lib_hook= ++fi ++ ++# Transform an extracted symbol line into a proper C declaration. ++# Some systems (esp. on ia64) link data and code symbols differently, ++# so use this general approach. ++lt_cv_sys_global_symbol_to_cdecl="sed -n"\ ++$lt_cdecl_hook\ ++" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ ++" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" ++ ++# Transform an extracted symbol line into symbol name and symbol address ++lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ ++$lt_c_name_hook\ ++" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ ++" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" ++ ++# Transform an extracted symbol line into symbol name with lib prefix and ++# symbol address. ++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ ++$lt_c_name_lib_hook\ ++" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ ++" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ ++" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" ++ ++# Handle CRLF in mingw tool chain ++opt_cr= ++case $build_os in ++mingw*) ++ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ++ ;; ++esac ++ ++# Try without a prefix underscore, then with it. ++for ac_symprfx in "" "_"; do ++ ++ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. ++ symxfrm="\\1 $ac_symprfx\\2 \\2" ++ ++ # Write the raw and C identifiers. ++ if test "$lt_cv_nm_interface" = "MS dumpbin"; then ++ # Fake it for dumpbin and say T for any non-static function, ++ # D for any global variable and I for any imported variable. ++ # Also find C++ and __fastcall symbols from MSVC++, ++ # which start with @ or ?. ++ lt_cv_sys_global_symbol_pipe="$AWK '"\ ++" {last_section=section; section=\$ 3};"\ ++" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ ++" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ ++" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ ++" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ ++" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ ++" \$ 0!~/External *\|/{next};"\ ++" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ ++" {if(hide[section]) next};"\ ++" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ ++" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ ++" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ ++" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ ++" ' prfx=^$ac_symprfx" ++ else ++ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" ++ fi ++ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" ++ ++ # Check to see that the pipe works correctly. ++ pipe_works=no ++ ++ rm -f conftest* ++ cat > conftest.$ac_ext <<_LT_EOF ++#ifdef __cplusplus ++extern "C" { ++#endif ++char nm_test_var; ++void nm_test_func(void); ++void nm_test_func(void){} ++#ifdef __cplusplus ++} ++#endif ++int main(){nm_test_var='a';nm_test_func();return(0);} ++_LT_EOF ++ ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; then ++ # Now try to grab the symbols. ++ nlist=conftest.nm ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 ++ (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } && test -s "$nlist"; then ++ # Try sorting and uniquifying the output. ++ if sort "$nlist" | uniq > "$nlist"T; then ++ mv -f "$nlist"T "$nlist" ++ else ++ rm -f "$nlist"T ++ fi ++ ++ # Make sure that we snagged all the symbols we need. ++ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then ++ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then ++ cat <<_LT_EOF > conftest.$ac_ext ++/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ ++#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE ++/* DATA imports from DLLs on WIN32 can't be const, because runtime ++ relocations are performed -- see ld's documentation on pseudo-relocs. */ ++# define LT@&t@_DLSYM_CONST ++#elif defined __osf__ ++/* This system does not cope well with relocations in const data. */ ++# define LT@&t@_DLSYM_CONST ++#else ++# define LT@&t@_DLSYM_CONST const ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++_LT_EOF ++ # Now generate the symbol file. ++ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' ++ ++ cat <<_LT_EOF >> conftest.$ac_ext ++ ++/* The mapping between symbol names and symbols. */ ++LT@&t@_DLSYM_CONST struct { ++ const char *name; ++ void *address; ++} ++lt__PROGRAM__LTX_preloaded_symbols[] = ++{ ++ { "@PROGRAM@", (void *) 0 }, ++_LT_EOF ++ $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext ++ cat <<\_LT_EOF >> conftest.$ac_ext ++ {0, (void *) 0} ++}; ++ ++/* This works around a problem in FreeBSD linker */ ++#ifdef FREEBSD_WORKAROUND ++static const void *lt_preloaded_setup() { ++ return lt__PROGRAM__LTX_preloaded_symbols; ++} ++#endif ++ ++#ifdef __cplusplus ++} ++#endif ++_LT_EOF ++ # Now try linking the two files. ++ mv conftest.$ac_objext conftstm.$ac_objext ++ lt_globsym_save_LIBS=$LIBS ++ lt_globsym_save_CFLAGS=$CFLAGS ++ LIBS=conftstm.$ac_objext ++ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } && test -s conftest$ac_exeext; then ++ pipe_works=yes ++ fi ++ LIBS=$lt_globsym_save_LIBS ++ CFLAGS=$lt_globsym_save_CFLAGS ++ else ++ echo "cannot find nm_test_func in $nlist" >&5 ++ fi ++ else ++ echo "cannot find nm_test_var in $nlist" >&5 ++ fi ++ else ++ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 ++ fi ++ else ++ echo "$progname: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ fi ++ rm -rf conftest* conftst* ++ ++ # Do not use the global_symbol_pipe unless it works. ++ if test yes = "$pipe_works"; then ++ break ++ else ++ lt_cv_sys_global_symbol_pipe= ++ fi ++done ++ ++fi ++ ++if test -z "$lt_cv_sys_global_symbol_pipe"; then ++ lt_cv_sys_global_symbol_to_cdecl= ++fi ++if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5 ++printf "%s\n" "failed" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 ++printf "%s\n" "ok" >&6; } ++fi ++ ++# Response file support. ++if test "$lt_cv_nm_interface" = "MS dumpbin"; then ++ nm_file_list_spec='@' ++elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then ++ nm_file_list_spec='@' ++fi ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 ++printf %s "checking for sysroot... " >&6; } ++ ++@%:@ Check whether --with-sysroot was given. ++if test ${with_sysroot+y} ++then : ++ withval=$with_sysroot; ++else $as_nop ++ with_sysroot=no ++fi ++ ++ ++lt_sysroot= ++case $with_sysroot in #( ++ yes) ++ if test yes = "$GCC"; then ++ lt_sysroot=`$CC --print-sysroot 2>/dev/null` ++ fi ++ ;; #( ++ /*) ++ lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ++ ;; #( ++ no|'') ++ ;; #( ++ *) ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 ++printf "%s\n" "$with_sysroot" >&6; } ++ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 ++ ;; ++esac ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 ++printf "%s\n" "${lt_sysroot:-no}" >&6; } ++ ++ ++ ++ ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 ++printf %s "checking for a working dd... " >&6; } ++if test ${ac_cv_path_lt_DD+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ printf 0123456789abcdef0123456789abcdef >conftest.i ++cat conftest.i conftest.i >conftest2.i ++: ${lt_DD:=$DD} ++if test -z "$lt_DD"; then ++ ac_path_lt_DD_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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_prog in dd ++ do ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ ac_path_lt_DD="$as_dir$ac_prog$ac_exec_ext" ++ as_fn_executable_p "$ac_path_lt_DD" || continue ++if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then ++ cmp -s conftest.i conftest.out \ ++ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: ++fi ++ $ac_path_lt_DD_found && break 3 ++ done ++ done ++ done ++IFS=$as_save_IFS ++ if test -z "$ac_cv_path_lt_DD"; then ++ : ++ fi ++else ++ ac_cv_path_lt_DD=$lt_DD ++fi ++ ++rm -f conftest.i conftest2.i conftest.out ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 ++printf "%s\n" "$ac_cv_path_lt_DD" >&6; } ++ ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 ++printf %s "checking how to truncate binary pipes... " >&6; } ++if test ${lt_cv_truncate_bin+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ printf 0123456789abcdef0123456789abcdef >conftest.i ++cat conftest.i conftest.i >conftest2.i ++lt_cv_truncate_bin= ++if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then ++ cmp -s conftest.i conftest.out \ ++ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" ++fi ++rm -f conftest.i conftest2.i conftest.out ++test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 ++printf "%s\n" "$lt_cv_truncate_bin" >&6; } ++ ++ ++ ++ ++ ++ ++ ++# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. ++func_cc_basename () ++{ ++ for cc_temp in @S|@*""; do ++ case $cc_temp in ++ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; ++ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; ++ \-*) ;; ++ *) break;; ++ esac ++ done ++ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` ++} ++ ++@%:@ Check whether --enable-libtool-lock was given. ++if test ${enable_libtool_lock+y} ++then : ++ enableval=$enable_libtool_lock; ++fi ++ ++test no = "$enable_libtool_lock" || enable_libtool_lock=yes ++ ++# Some flags need to be propagated to the compiler or linker for good ++# libtool support. ++case $host in ++ia64-*-hpux*) ++ # Find out what ABI is being produced by ac_compile, and set mode ++ # options accordingly. ++ echo 'int i;' > conftest.$ac_ext ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; then ++ case `/usr/bin/file conftest.$ac_objext` in ++ *ELF-32*) ++ HPUX_IA64_MODE=32 ++ ;; ++ *ELF-64*) ++ HPUX_IA64_MODE=64 ++ ;; ++ esac ++ fi ++ rm -rf conftest* ++ ;; ++*-*-irix6*) ++ # Find out what ABI is being produced by ac_compile, and set linker ++ # options accordingly. ++ echo '#line '$LINENO' "configure"' > conftest.$ac_ext ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; then ++ if test yes = "$lt_cv_prog_gnu_ld"; then ++ case `/usr/bin/file conftest.$ac_objext` in ++ *32-bit*) ++ LD="${LD-ld} -melf32bsmip" ++ ;; ++ *N32*) ++ LD="${LD-ld} -melf32bmipn32" ++ ;; ++ *64-bit*) ++ LD="${LD-ld} -melf64bmip" ++ ;; ++ esac ++ else ++ case `/usr/bin/file conftest.$ac_objext` in ++ *32-bit*) ++ LD="${LD-ld} -32" ++ ;; ++ *N32*) ++ LD="${LD-ld} -n32" ++ ;; ++ *64-bit*) ++ LD="${LD-ld} -64" ++ ;; ++ esac ++ fi ++ fi ++ rm -rf conftest* ++ ;; ++ ++mips64*-*linux*) ++ # Find out what ABI is being produced by ac_compile, and set linker ++ # options accordingly. ++ echo '#line '$LINENO' "configure"' > conftest.$ac_ext ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; then ++ emul=elf ++ case `/usr/bin/file conftest.$ac_objext` in ++ *32-bit*) ++ emul="${emul}32" ++ ;; ++ *64-bit*) ++ emul="${emul}64" ++ ;; ++ esac ++ case `/usr/bin/file conftest.$ac_objext` in ++ *MSB*) ++ emul="${emul}btsmip" ++ ;; ++ *LSB*) ++ emul="${emul}ltsmip" ++ ;; ++ esac ++ case `/usr/bin/file conftest.$ac_objext` in ++ *N32*) ++ emul="${emul}n32" ++ ;; ++ esac ++ LD="${LD-ld} -m $emul" ++ fi ++ rm -rf conftest* ++ ;; ++ ++x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ ++s390*-*linux*|s390*-*tpf*|sparc*-*linux*) ++ # Find out what ABI is being produced by ac_compile, and set linker ++ # options accordingly. Note that the listed cases only cover the ++ # situations where additional linker options are needed (such as when ++ # doing 32-bit compilation for a host where ld defaults to 64-bit, or ++ # vice versa); the common cases where no linker options are needed do ++ # not appear in the list. ++ echo 'int i;' > conftest.$ac_ext ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; then ++ case `/usr/bin/file conftest.o` in ++ *32-bit*) ++ case $host in ++ x86_64-*kfreebsd*-gnu) ++ LD="${LD-ld} -m elf_i386_fbsd" ++ ;; ++ x86_64-*linux*) ++ case `/usr/bin/file conftest.o` in ++ *x86-64*) ++ LD="${LD-ld} -m elf32_x86_64" ++ ;; ++ *) ++ LD="${LD-ld} -m elf_i386" ++ ;; ++ esac ++ ;; ++ powerpc64le-*linux*) ++ LD="${LD-ld} -m elf32lppclinux" ++ ;; ++ powerpc64-*linux*) ++ LD="${LD-ld} -m elf32ppclinux" ++ ;; ++ s390x-*linux*) ++ LD="${LD-ld} -m elf_s390" ++ ;; ++ sparc64-*linux*) ++ LD="${LD-ld} -m elf32_sparc" ++ ;; ++ esac ++ ;; ++ *64-bit*) ++ case $host in ++ x86_64-*kfreebsd*-gnu) ++ LD="${LD-ld} -m elf_x86_64_fbsd" ++ ;; ++ x86_64-*linux*) ++ LD="${LD-ld} -m elf_x86_64" ++ ;; ++ powerpcle-*linux*) ++ LD="${LD-ld} -m elf64lppc" ++ ;; ++ powerpc-*linux*) ++ LD="${LD-ld} -m elf64ppc" ++ ;; ++ s390*-*linux*|s390*-*tpf*) ++ LD="${LD-ld} -m elf64_s390" ++ ;; ++ sparc*-*linux*) ++ LD="${LD-ld} -m elf64_sparc" ++ ;; ++ esac ++ ;; ++ esac ++ fi ++ rm -rf conftest* ++ ;; ++ ++*-*-sco3.2v5*) ++ # On SCO OpenServer 5, we need -belf to get full-featured binaries. ++ SAVE_CFLAGS=$CFLAGS ++ CFLAGS="$CFLAGS -belf" ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 ++printf %s "checking whether the C compiler needs -belf... " >&6; } ++if test ${lt_cv_cc_needs_belf+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +-#include + ++int ++main (void) ++{ ++ ++ ; ++ return 0; ++} + _ACEOF +-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- $EGREP "memchr" >/dev/null 2>&1; then : ++if ac_fn_c_try_link "$LINENO" ++then : ++ lt_cv_cc_needs_belf=yes ++else $as_nop ++ lt_cv_cc_needs_belf=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++ 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 ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 ++printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } ++ if test yes != "$lt_cv_cc_needs_belf"; then ++ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf ++ CFLAGS=$SAVE_CFLAGS ++ fi ++ ;; ++*-*solaris*) ++ # Find out what ABI is being produced by ac_compile, and set linker ++ # options accordingly. ++ echo 'int i;' > conftest.$ac_ext ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; then ++ case `/usr/bin/file conftest.o` in ++ *64-bit*) ++ case $lt_cv_prog_gnu_ld in ++ yes*) ++ case $host in ++ i?86-*-solaris*|x86_64-*-solaris*) ++ LD="${LD-ld} -m elf_x86_64" ++ ;; ++ sparc*-*-solaris*) ++ LD="${LD-ld} -m elf64_sparc" ++ ;; ++ esac ++ # GNU ld 2.21 introduced _sol2 emulations. Use them if available. ++ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then ++ LD=${LD-ld}_sol2 ++ fi ++ ;; ++ *) ++ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then ++ LD="${LD-ld} -64" ++ fi ++ ;; ++ esac ++ ;; ++ esac ++ fi ++ rm -rf conftest* ++ ;; ++esac ++ ++need_locks=$enable_libtool_lock ++ ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. ++set dummy ${ac_tool_prefix}mt; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_MANIFEST_TOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$MANIFEST_TOOL"; then ++ ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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_MANIFEST_TOOL="${ac_tool_prefix}mt" ++ printf "%s\n" "$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 ++MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL ++if test -n "$MANIFEST_TOOL"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 ++printf "%s\n" "$MANIFEST_TOOL" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_MANIFEST_TOOL"; then ++ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL ++ # Extract the first word of "mt", so it can be a program name with args. ++set dummy mt; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_MANIFEST_TOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$ac_ct_MANIFEST_TOOL"; then ++ ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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_MANIFEST_TOOL="mt" ++ printf "%s\n" "$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_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL ++if test -n "$ac_ct_MANIFEST_TOOL"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 ++printf "%s\n" "$ac_ct_MANIFEST_TOOL" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ if test "x$ac_ct_MANIFEST_TOOL" = x; then ++ MANIFEST_TOOL=":" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL ++ fi ++else ++ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" ++fi ++ ++test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 ++printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } ++if test ${lt_cv_path_mainfest_tool+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ lt_cv_path_mainfest_tool=no ++ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 ++ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out ++ cat conftest.err >&5 ++ if $GREP 'Manifest Tool' conftest.out > /dev/null; then ++ lt_cv_path_mainfest_tool=yes ++ fi ++ rm -f conftest* ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 ++printf "%s\n" "$lt_cv_path_mainfest_tool" >&6; } ++if test yes != "$lt_cv_path_mainfest_tool"; then ++ MANIFEST_TOOL=: ++fi ++ ++ ++ ++ ++ ++ ++ case $host_os in ++ rhapsody* | darwin*) ++ if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. ++set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_DSYMUTIL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$DSYMUTIL"; then ++ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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_DSYMUTIL="${ac_tool_prefix}dsymutil" ++ printf "%s\n" "$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 ++DSYMUTIL=$ac_cv_prog_DSYMUTIL ++if test -n "$DSYMUTIL"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 ++printf "%s\n" "$DSYMUTIL" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_DSYMUTIL"; then ++ ac_ct_DSYMUTIL=$DSYMUTIL ++ # Extract the first word of "dsymutil", so it can be a program name with args. ++set dummy dsymutil; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_DSYMUTIL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$ac_ct_DSYMUTIL"; then ++ ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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_DSYMUTIL="dsymutil" ++ printf "%s\n" "$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_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL ++if test -n "$ac_ct_DSYMUTIL"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 ++printf "%s\n" "$ac_ct_DSYMUTIL" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ if test "x$ac_ct_DSYMUTIL" = x; then ++ DSYMUTIL=":" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ DSYMUTIL=$ac_ct_DSYMUTIL ++ fi ++else ++ DSYMUTIL="$ac_cv_prog_DSYMUTIL" ++fi ++ ++ if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. ++set dummy ${ac_tool_prefix}nmedit; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_NMEDIT+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$NMEDIT"; then ++ ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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_NMEDIT="${ac_tool_prefix}nmedit" ++ printf "%s\n" "$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 ++NMEDIT=$ac_cv_prog_NMEDIT ++if test -n "$NMEDIT"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 ++printf "%s\n" "$NMEDIT" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_NMEDIT"; then ++ ac_ct_NMEDIT=$NMEDIT ++ # Extract the first word of "nmedit", so it can be a program name with args. ++set dummy nmedit; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_NMEDIT+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$ac_ct_NMEDIT"; then ++ ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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_NMEDIT="nmedit" ++ printf "%s\n" "$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_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT ++if test -n "$ac_ct_NMEDIT"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 ++printf "%s\n" "$ac_ct_NMEDIT" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ if test "x$ac_ct_NMEDIT" = x; then ++ NMEDIT=":" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ NMEDIT=$ac_ct_NMEDIT ++ fi ++else ++ NMEDIT="$ac_cv_prog_NMEDIT" ++fi ++ ++ if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. ++set dummy ${ac_tool_prefix}lipo; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_LIPO+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$LIPO"; then ++ ac_cv_prog_LIPO="$LIPO" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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_LIPO="${ac_tool_prefix}lipo" ++ printf "%s\n" "$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 ++LIPO=$ac_cv_prog_LIPO ++if test -n "$LIPO"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 ++printf "%s\n" "$LIPO" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_LIPO"; then ++ ac_ct_LIPO=$LIPO ++ # Extract the first word of "lipo", so it can be a program name with args. ++set dummy lipo; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_LIPO+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$ac_ct_LIPO"; then ++ ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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_LIPO="lipo" ++ printf "%s\n" "$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_LIPO=$ac_cv_prog_ac_ct_LIPO ++if test -n "$ac_ct_LIPO"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 ++printf "%s\n" "$ac_ct_LIPO" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ if test "x$ac_ct_LIPO" = x; then ++ LIPO=":" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ LIPO=$ac_ct_LIPO ++ fi ++else ++ LIPO="$ac_cv_prog_LIPO" ++fi ++ ++ if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. ++set dummy ${ac_tool_prefix}otool; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_OTOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$OTOOL"; then ++ ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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_OTOOL="${ac_tool_prefix}otool" ++ printf "%s\n" "$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 ++OTOOL=$ac_cv_prog_OTOOL ++if test -n "$OTOOL"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 ++printf "%s\n" "$OTOOL" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_OTOOL"; then ++ ac_ct_OTOOL=$OTOOL ++ # Extract the first word of "otool", so it can be a program name with args. ++set dummy otool; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_OTOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$ac_ct_OTOOL"; then ++ ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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_OTOOL="otool" ++ printf "%s\n" "$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_OTOOL=$ac_cv_prog_ac_ct_OTOOL ++if test -n "$ac_ct_OTOOL"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 ++printf "%s\n" "$ac_ct_OTOOL" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ if test "x$ac_ct_OTOOL" = x; then ++ OTOOL=":" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ OTOOL=$ac_ct_OTOOL ++ fi ++else ++ OTOOL="$ac_cv_prog_OTOOL" ++fi ++ ++ if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. ++set dummy ${ac_tool_prefix}otool64; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_OTOOL64+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$OTOOL64"; then ++ ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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_OTOOL64="${ac_tool_prefix}otool64" ++ printf "%s\n" "$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 ++OTOOL64=$ac_cv_prog_OTOOL64 ++if test -n "$OTOOL64"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 ++printf "%s\n" "$OTOOL64" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_OTOOL64"; then ++ ac_ct_OTOOL64=$OTOOL64 ++ # Extract the first word of "otool64", so it can be a program name with args. ++set dummy otool64; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_OTOOL64+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$ac_ct_OTOOL64"; then ++ ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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_OTOOL64="otool64" ++ printf "%s\n" "$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_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 ++if test -n "$ac_ct_OTOOL64"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 ++printf "%s\n" "$ac_ct_OTOOL64" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ if test "x$ac_ct_OTOOL64" = x; then ++ OTOOL64=":" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ OTOOL64=$ac_ct_OTOOL64 ++ fi ++else ++ OTOOL64="$ac_cv_prog_OTOOL64" ++fi ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 ++printf %s "checking for -single_module linker flag... " >&6; } ++if test ${lt_cv_apple_cc_single_mod+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ lt_cv_apple_cc_single_mod=no ++ if test -z "$LT_MULTI_MODULE"; then ++ # By default we will add the -single_module flag. You can override ++ # by either setting the environment variable LT_MULTI_MODULE ++ # non-empty at configure time, or by adding -multi_module to the ++ # link flags. ++ rm -rf libconftest.dylib* ++ echo "int foo(void){return 1;}" > conftest.c ++ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ ++-dynamiclib -Wl,-single_module conftest.c" >&5 ++ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ ++ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err ++ _lt_result=$? ++ # If there is a non-empty error log, and "single_module" ++ # appears in it, assume the flag caused a linker warning ++ if test -s conftest.err && $GREP single_module conftest.err; then ++ cat conftest.err >&5 ++ # Otherwise, if the output was created with a 0 exit code from ++ # the compiler, it worked. ++ elif test -f libconftest.dylib && test 0 = "$_lt_result"; then ++ lt_cv_apple_cc_single_mod=yes ++ else ++ cat conftest.err >&5 ++ fi ++ rm -rf libconftest.dylib* ++ rm -f conftest.* ++ fi ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 ++printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; } ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 ++printf %s "checking for -exported_symbols_list linker flag... " >&6; } ++if test ${lt_cv_ld_exported_symbols_list+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ lt_cv_ld_exported_symbols_list=no ++ save_LDFLAGS=$LDFLAGS ++ echo "_main" > conftest.sym ++ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main (void) ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO" ++then : ++ lt_cv_ld_exported_symbols_list=yes ++else $as_nop ++ lt_cv_ld_exported_symbols_list=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++ LDFLAGS=$save_LDFLAGS ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 ++printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; } ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 ++printf %s "checking for -force_load linker flag... " >&6; } ++if test ${lt_cv_ld_force_load+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ lt_cv_ld_force_load=no ++ cat > conftest.c << _LT_EOF ++int forced_loaded() { return 2;} ++_LT_EOF ++ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 ++ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 ++ echo "$AR cru libconftest.a conftest.o" >&5 ++ $AR cru libconftest.a conftest.o 2>&5 ++ echo "$RANLIB libconftest.a" >&5 ++ $RANLIB libconftest.a 2>&5 ++ cat > conftest.c << _LT_EOF ++int main() { return 0;} ++_LT_EOF ++ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 ++ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err ++ _lt_result=$? ++ if test -s conftest.err && $GREP force_load conftest.err; then ++ cat conftest.err >&5 ++ elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then ++ lt_cv_ld_force_load=yes ++ else ++ cat conftest.err >&5 ++ fi ++ rm -f conftest.err libconftest.a conftest conftest.c ++ rm -rf conftest.dSYM ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 ++printf "%s\n" "$lt_cv_ld_force_load" >&6; } ++ case $host_os in ++ rhapsody* | darwin1.[012]) ++ _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; ++ darwin1.*) ++ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; ++ darwin*) # darwin 5.x on ++ # if running on 10.5 or later, the deployment target defaults ++ # to the OS version, if on x86, and 10.4, the deployment ++ # target defaults to 10.4. Don't you love it? ++ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in ++ 10.0,*86*-darwin8*|10.0,*-darwin[91]*) ++ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; ++ 10.[012][,.]*) ++ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; ++ 10.*) ++ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; ++ esac ++ ;; ++ esac ++ if test yes = "$lt_cv_apple_cc_single_mod"; then ++ _lt_dar_single_mod='$single_module' ++ fi ++ if test yes = "$lt_cv_ld_exported_symbols_list"; then ++ _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' ++ else ++ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' ++ fi ++ if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then ++ _lt_dsymutil='~$DSYMUTIL $lib || :' ++ else ++ _lt_dsymutil= ++ fi ++ ;; ++ esac ++ ++# func_munge_path_list VARIABLE PATH ++# ----------------------------------- ++# VARIABLE is name of variable containing _space_ separated list of ++# directories to be munged by the contents of PATH, which is string ++# having a format: ++# "DIR[:DIR]:" ++# string "DIR[ DIR]" will be prepended to VARIABLE ++# ":DIR[:DIR]" ++# string "DIR[ DIR]" will be appended to VARIABLE ++# "DIRP[:DIRP]::[DIRA:]DIRA" ++# string "DIRP[ DIRP]" will be prepended to VARIABLE and string ++# "DIRA[ DIRA]" will be appended to VARIABLE ++# "DIR[:DIR]" ++# VARIABLE will be replaced by "DIR[ DIR]" ++func_munge_path_list () ++{ ++ case x@S|@2 in ++ x) ++ ;; ++ *:) ++ eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" ++ ;; ++ x:*) ++ eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" ++ ;; ++ *::*) ++ eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" ++ eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" ++ ;; ++ *) ++ eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" ++ ;; ++ esac ++} ++ ++ac_header= ac_cache= ++for ac_item in $ac_header_c_list ++do ++ if test $ac_cache; then ++ ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" ++ if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then ++ printf "%s\n" "#define $ac_item 1" >> confdefs.h ++ fi ++ ac_header= ac_cache= ++ elif test $ac_header; then ++ ac_cache=$ac_item ++ else ++ ac_header=$ac_item ++ fi ++done ++ ++ ++ ++ ++ ++ ++ ++ ++if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes ++then : + ++printf "%s\n" "@%:@define STDC_HEADERS 1" >>confdefs.h ++ ++fi ++ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default ++" ++if test "x$ac_cv_header_dlfcn_h" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_DLFCN_H 1" >>confdefs.h ++ ++fi ++ ++ ++ ++ ++ ++# Set options ++ ++ ++ ++ enable_dlopen=no ++ ++ ++ enable_win32_dll=no ++ ++ ++ ++ ++ ++@%:@ Check whether --with-pic was given. ++if test ${with_pic+y} ++then : ++ withval=$with_pic; lt_p=${PACKAGE-default} ++ case $withval in ++ yes|no) pic_mode=$withval ;; ++ *) ++ pic_mode=default ++ # Look at the argument we got. We use all the common list separators. ++ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, ++ for lt_pkg in $withval; do ++ IFS=$lt_save_ifs ++ if test "X$lt_pkg" = "X$lt_p"; then ++ pic_mode=yes ++ fi ++ done ++ IFS=$lt_save_ifs ++ ;; ++ esac ++else $as_nop ++ pic_mode=default ++fi ++ ++ ++ ++ ++ ++ ++ ++ ++ @%:@ Check whether --enable-fast-install was given. ++if test ${enable_fast_install+y} ++then : ++ enableval=$enable_fast_install; p=${PACKAGE-default} ++ case $enableval in ++ yes) enable_fast_install=yes ;; ++ no) enable_fast_install=no ;; ++ *) ++ enable_fast_install=no ++ # Look at the argument we got. We use all the common list separators. ++ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, ++ for pkg in $enableval; do ++ IFS=$lt_save_ifs ++ if test "X$pkg" = "X$p"; then ++ enable_fast_install=yes ++ fi ++ done ++ IFS=$lt_save_ifs ++ ;; ++ esac ++else $as_nop ++ enable_fast_install=yes ++fi ++ ++ ++ ++ ++ ++ ++ ++ ++ shared_archive_member_spec= ++case $host,$enable_shared in ++power*-*-aix[5-9]*,yes) ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 ++printf %s "checking which variant of shared library versioning to provide... " >&6; } ++ ++@%:@ Check whether --with-aix-soname was given. ++if test ${with_aix_soname+y} ++then : ++ withval=$with_aix_soname; case $withval in ++ aix|svr4|both) ++ ;; ++ *) ++ as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 ++ ;; ++ esac ++ lt_cv_with_aix_soname=$with_aix_soname ++else $as_nop ++ if test ${lt_cv_with_aix_soname+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ lt_cv_with_aix_soname=aix ++fi ++ ++ with_aix_soname=$lt_cv_with_aix_soname ++fi ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 ++printf "%s\n" "$with_aix_soname" >&6; } ++ if test aix != "$with_aix_soname"; then ++ # For the AIX way of multilib, we name the shared archive member ++ # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', ++ # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. ++ # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, ++ # the AIX toolchain works better with OBJECT_MODE set (default 32). ++ if test 64 = "${OBJECT_MODE-32}"; then ++ shared_archive_member_spec=shr_64 ++ else ++ shared_archive_member_spec=shr ++ fi ++ fi ++ ;; ++*) ++ with_aix_soname=aix ++ ;; ++esac ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++# This can be used to rebuild libtool when needed ++LIBTOOL_DEPS=$ltmain ++ ++# Always use our own libtool. ++LIBTOOL='$(SHELL) $(top_builddir)/libtool' ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++test -z "$LN_S" && LN_S="ln -s" ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++if test -n "${ZSH_VERSION+set}"; then ++ setopt NO_GLOB_SUBST ++fi ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 ++printf %s "checking for objdir... " >&6; } ++if test ${lt_cv_objdir+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ rm -f .libs 2>/dev/null ++mkdir .libs 2>/dev/null ++if test -d .libs; then ++ lt_cv_objdir=.libs + else +- ac_cv_header_stdc=no ++ # MS-DOS does not allow filenames that begin with a dot. ++ lt_cv_objdir=_libs + fi +-rm -f conftest* ++rmdir .libs 2>/dev/null ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 ++printf "%s\n" "$lt_cv_objdir" >&6; } ++objdir=$lt_cv_objdir + ++ ++ ++ ++ ++printf "%s\n" "@%:@define LT_OBJDIR \"$lt_cv_objdir/\"" >>confdefs.h ++ ++ ++ ++ ++case $host_os in ++aix3*) ++ # AIX sometimes has problems with the GCC collect2 program. For some ++ # reason, if we set the COLLECT_NAMES environment variable, the problems ++ # vanish in a puff of smoke. ++ if test set != "${COLLECT_NAMES+set}"; then ++ COLLECT_NAMES= ++ export COLLECT_NAMES ++ fi ++ ;; ++esac ++ ++# Global variables: ++ofile=libtool ++can_build_shared=yes ++ ++# All known linkers require a '.a' archive for static linking (except MSVC, ++# which needs '.lib'). ++libext=a ++ ++with_gnu_ld=$lt_cv_prog_gnu_ld ++ ++old_CC=$CC ++old_CFLAGS=$CFLAGS ++ ++# Set sane defaults for various variables ++test -z "$CC" && CC=cc ++test -z "$LTCC" && LTCC=$CC ++test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS ++test -z "$LD" && LD=ld ++test -z "$ac_objext" && ac_objext=o ++ ++func_cc_basename $compiler ++cc_basename=$func_cc_basename_result ++ ++ ++# Only perform the check for file, if the check method requires it ++test -z "$MAGIC_CMD" && MAGIC_CMD=file ++case $deplibs_check_method in ++file_magic*) ++ if test "$file_magic_cmd" = '$MAGIC_CMD'; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 ++printf %s "checking for ${ac_tool_prefix}file... " >&6; } ++if test ${lt_cv_path_MAGIC_CMD+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ case $MAGIC_CMD in ++[\\/*] | ?:[\\/]*) ++ lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ++ ;; ++*) ++ lt_save_MAGIC_CMD=$MAGIC_CMD ++ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ++ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" ++ for ac_dir in $ac_dummy; do ++ IFS=$lt_save_ifs ++ test -z "$ac_dir" && ac_dir=. ++ if test -f "$ac_dir/${ac_tool_prefix}file"; then ++ lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" ++ if test -n "$file_magic_test_file"; then ++ case $deplibs_check_method in ++ "file_magic "*) ++ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` ++ MAGIC_CMD=$lt_cv_path_MAGIC_CMD ++ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | ++ $EGREP "$file_magic_regex" > /dev/null; then ++ : ++ else ++ cat <<_LT_EOF 1>&2 ++ ++*** Warning: the command libtool uses to detect shared libraries, ++*** $file_magic_cmd, produces output that libtool cannot recognize. ++*** The result is that libtool may fail to recognize shared libraries ++*** as such. This will affect the creation of libtool libraries that ++*** depend on shared libraries, but programs linked with such libtool ++*** libraries will work regardless of this problem. Nevertheless, you ++*** may want to report the problem to your system manager and/or to ++*** bug-libtool@gnu.org ++ ++_LT_EOF ++ fi ;; ++ esac ++ fi ++ break ++ fi ++ done ++ IFS=$lt_save_ifs ++ MAGIC_CMD=$lt_save_MAGIC_CMD ++ ;; ++esac + fi + +-if test $ac_cv_header_stdc = yes; then +- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. ++MAGIC_CMD=$lt_cv_path_MAGIC_CMD ++if test -n "$MAGIC_CMD"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 ++printf "%s\n" "$MAGIC_CMD" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++ ++ ++ ++if test -z "$lt_cv_path_MAGIC_CMD"; then ++ if test -n "$ac_tool_prefix"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for file" >&5 ++printf %s "checking for file... " >&6; } ++if test ${lt_cv_path_MAGIC_CMD+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ case $MAGIC_CMD in ++[\\/*] | ?:[\\/]*) ++ lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ++ ;; ++*) ++ lt_save_MAGIC_CMD=$MAGIC_CMD ++ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ++ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" ++ for ac_dir in $ac_dummy; do ++ IFS=$lt_save_ifs ++ test -z "$ac_dir" && ac_dir=. ++ if test -f "$ac_dir/file"; then ++ lt_cv_path_MAGIC_CMD=$ac_dir/"file" ++ if test -n "$file_magic_test_file"; then ++ case $deplibs_check_method in ++ "file_magic "*) ++ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` ++ MAGIC_CMD=$lt_cv_path_MAGIC_CMD ++ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | ++ $EGREP "$file_magic_regex" > /dev/null; then ++ : ++ else ++ cat <<_LT_EOF 1>&2 ++ ++*** Warning: the command libtool uses to detect shared libraries, ++*** $file_magic_cmd, produces output that libtool cannot recognize. ++*** The result is that libtool may fail to recognize shared libraries ++*** as such. This will affect the creation of libtool libraries that ++*** depend on shared libraries, but programs linked with such libtool ++*** libraries will work regardless of this problem. Nevertheless, you ++*** may want to report the problem to your system manager and/or to ++*** bug-libtool@gnu.org ++ ++_LT_EOF ++ fi ;; ++ esac ++ fi ++ break ++ fi ++ done ++ IFS=$lt_save_ifs ++ MAGIC_CMD=$lt_save_MAGIC_CMD ++ ;; ++esac ++fi ++ ++MAGIC_CMD=$lt_cv_path_MAGIC_CMD ++if test -n "$MAGIC_CMD"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 ++printf "%s\n" "$MAGIC_CMD" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++ else ++ MAGIC_CMD=: ++ fi ++fi ++ ++ fi ++ ;; ++esac ++ ++# Use C for the default configuration in the libtool script ++ ++lt_save_CC=$CC ++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 ++ ++ ++# Source file extension for C test sources. ++ac_ext=c ++ ++# Object file extension for compiled C test sources. ++objext=o ++objext=$objext ++ ++# Code to be used in simple compile tests ++lt_simple_compile_test_code="int some_variable = 0;" ++ ++# Code to be used in simple link tests ++lt_simple_link_test_code='int main(){return(0);}' ++ ++ ++ ++ ++ ++ ++ ++# If no C compiler was specified, use CC. ++LTCC=${LTCC-"$CC"} ++ ++# If no C compiler flags were specified, use CFLAGS. ++LTCFLAGS=${LTCFLAGS-"$CFLAGS"} ++ ++# Allow CC to be a program name with arguments. ++compiler=$CC ++ ++# Save the default compiler, since it gets overwritten when the other ++# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. ++compiler_DEFAULT=$CC ++ ++# save warnings/boilerplate of simple test code ++ac_outfile=conftest.$ac_objext ++echo "$lt_simple_compile_test_code" >conftest.$ac_ext ++eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err ++_lt_compiler_boilerplate=`cat conftest.err` ++$RM conftest* ++ ++ac_outfile=conftest.$ac_objext ++echo "$lt_simple_link_test_code" >conftest.$ac_ext ++eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err ++_lt_linker_boilerplate=`cat conftest.err` ++$RM -r conftest* ++ ++ ++## CAVEAT EMPTOR: ++## There is no encapsulation within the following macros, do not change ++## the running order or otherwise move them around unless you know exactly ++## what you are doing... ++if test -n "$compiler"; then ++ ++lt_prog_compiler_no_builtin_flag= ++ ++if test yes = "$GCC"; then ++ case $cc_basename in ++ nvcc*) ++ lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; ++ *) ++ lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; ++ esac ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 ++printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } ++if test ${lt_cv_prog_compiler_rtti_exceptions+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ lt_cv_prog_compiler_rtti_exceptions=no ++ ac_outfile=conftest.$ac_objext ++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext ++ lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment ++ # Insert the option either (1) after the last *FLAGS variable, or ++ # (2) before a word containing "conftest.", or (3) at the end. ++ # Note that $ac_compile itself does not contain backslashes and begins ++ # with a dollar sign (not a hyphen), so the echo should work correctly. ++ # The option is referenced via a variable to avoid confusing sed. ++ lt_compile=`echo "$ac_compile" | $SED \ ++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ ++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ ++ -e 's:$: $lt_compiler_flag:'` ++ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) ++ (eval "$lt_compile" 2>conftest.err) ++ ac_status=$? ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ if (exit $ac_status) && test -s "$ac_outfile"; then ++ # The compiler can only warn and ignore the option if not recognized ++ # So say no if there are warnings other than the usual output. ++ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp ++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 ++ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then ++ lt_cv_prog_compiler_rtti_exceptions=yes ++ fi ++ fi ++ $RM conftest* ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; } ++ ++if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then ++ lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" ++else ++ : ++fi ++ ++fi ++ ++ ++ ++ ++ ++ ++ lt_prog_compiler_wl= ++lt_prog_compiler_pic= ++lt_prog_compiler_static= ++ ++ ++ if test yes = "$GCC"; then ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_static='-static' ++ ++ case $host_os in ++ aix*) ++ # All AIX code is PIC. ++ if test ia64 = "$host_cpu"; then ++ # AIX 5 now supports IA64 processor ++ lt_prog_compiler_static='-Bstatic' ++ fi ++ lt_prog_compiler_pic='-fPIC' ++ ;; ++ ++ amigaos*) ++ case $host_cpu in ++ powerpc) ++ # see comment about AmigaOS4 .so support ++ lt_prog_compiler_pic='-fPIC' ++ ;; ++ m68k) ++ # FIXME: we need at least 68020 code to build shared libraries, but ++ # adding the '-m68020' flag to GCC prevents building anything better, ++ # like '-m68040'. ++ lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ++ ;; ++ esac ++ ;; ++ ++ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) ++ # PIC is the default for these OSes. ++ ;; ++ ++ mingw* | cygwin* | pw32* | os2* | cegcc*) ++ # This hack is so that the source file can tell whether it is being ++ # built for inclusion in a dll (and should export symbols for example). ++ # Although the cygwin gcc ignores -fPIC, still need this for old-style ++ # (--disable-auto-import) libraries ++ lt_prog_compiler_pic='-DDLL_EXPORT' ++ case $host_os in ++ os2*) ++ lt_prog_compiler_static='$wl-static' ++ ;; ++ esac ++ ;; ++ ++ darwin* | rhapsody*) ++ # PIC is the default on this platform ++ # Common symbols not allowed in MH_DYLIB files ++ lt_prog_compiler_pic='-fno-common' ++ ;; ++ ++ haiku*) ++ # PIC is the default for Haiku. ++ # The "-static" flag exists, but is broken. ++ lt_prog_compiler_static= ++ ;; ++ ++ hpux*) ++ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit ++ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag ++ # sets the default TLS model and affects inlining. ++ case $host_cpu in ++ hppa*64*) ++ # +Z the default ++ ;; ++ *) ++ lt_prog_compiler_pic='-fPIC' ++ ;; ++ esac ++ ;; ++ ++ interix[3-9]*) ++ # Interix 3.x gcc -fpic/-fPIC options generate broken code. ++ # Instead, we relocate shared libraries at runtime. ++ ;; ++ ++ msdosdjgpp*) ++ # Just because we use GCC doesn't mean we suddenly get shared libraries ++ # on systems that don't support them. ++ lt_prog_compiler_can_build_shared=no ++ enable_shared=no ++ ;; ++ ++ *nto* | *qnx*) ++ # QNX uses GNU C++, but need to define -shared option too, otherwise ++ # it will coredump. ++ lt_prog_compiler_pic='-fPIC -shared' ++ ;; ++ ++ sysv4*MP*) ++ if test -d /usr/nec; then ++ lt_prog_compiler_pic=-Kconform_pic ++ fi ++ ;; ++ ++ *) ++ lt_prog_compiler_pic='-fPIC' ++ ;; ++ esac ++ ++ case $cc_basename in ++ nvcc*) # Cuda Compiler Driver 2.2 ++ lt_prog_compiler_wl='-Xlinker ' ++ if test -n "$lt_prog_compiler_pic"; then ++ lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" ++ fi ++ ;; ++ esac ++ else ++ # PORTME Check for flag to pass linker flags through the system compiler. ++ case $host_os in ++ aix*) ++ lt_prog_compiler_wl='-Wl,' ++ if test ia64 = "$host_cpu"; then ++ # AIX 5 now supports IA64 processor ++ lt_prog_compiler_static='-Bstatic' ++ else ++ lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' ++ fi ++ ;; ++ ++ darwin* | rhapsody*) ++ # PIC is the default on this platform ++ # Common symbols not allowed in MH_DYLIB files ++ lt_prog_compiler_pic='-fno-common' ++ case $cc_basename in ++ nagfor*) ++ # NAG Fortran compiler ++ lt_prog_compiler_wl='-Wl,-Wl,,' ++ lt_prog_compiler_pic='-PIC' ++ lt_prog_compiler_static='-Bstatic' ++ ;; ++ esac ++ ;; ++ ++ mingw* | cygwin* | pw32* | os2* | cegcc*) ++ # This hack is so that the source file can tell whether it is being ++ # built for inclusion in a dll (and should export symbols for example). ++ lt_prog_compiler_pic='-DDLL_EXPORT' ++ case $host_os in ++ os2*) ++ lt_prog_compiler_static='$wl-static' ++ ;; ++ esac ++ ;; ++ ++ hpux9* | hpux10* | hpux11*) ++ lt_prog_compiler_wl='-Wl,' ++ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but ++ # not for PA HP-UX. ++ case $host_cpu in ++ hppa*64*|ia64*) ++ # +Z the default ++ ;; ++ *) ++ lt_prog_compiler_pic='+Z' ++ ;; ++ esac ++ # Is there a better lt_prog_compiler_static that works with the bundled CC? ++ lt_prog_compiler_static='$wl-a ${wl}archive' ++ ;; ++ ++ irix5* | irix6* | nonstopux*) ++ lt_prog_compiler_wl='-Wl,' ++ # PIC (with -KPIC) is the default. ++ lt_prog_compiler_static='-non_shared' ++ ;; ++ ++ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) ++ case $cc_basename in ++ # old Intel for x86_64, which still supported -KPIC. ++ ecc*) ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_pic='-KPIC' ++ lt_prog_compiler_static='-static' ++ ;; ++ # icc used to be incompatible with GCC. ++ # ICC 10 doesn't accept -KPIC any more. ++ icc* | ifort*) ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_pic='-fPIC' ++ lt_prog_compiler_static='-static' ++ ;; ++ # Lahey Fortran 8.1. ++ lf95*) ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_pic='--shared' ++ lt_prog_compiler_static='--static' ++ ;; ++ nagfor*) ++ # NAG Fortran compiler ++ lt_prog_compiler_wl='-Wl,-Wl,,' ++ lt_prog_compiler_pic='-PIC' ++ lt_prog_compiler_static='-Bstatic' ++ ;; ++ tcc*) ++ # Fabrice Bellard et al's Tiny C Compiler ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_pic='-fPIC' ++ lt_prog_compiler_static='-static' ++ ;; ++ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) ++ # Portland Group compilers (*not* the Pentium gcc compiler, ++ # which looks to be a dead project) ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_pic='-fpic' ++ lt_prog_compiler_static='-Bstatic' ++ ;; ++ ccc*) ++ lt_prog_compiler_wl='-Wl,' ++ # All Alpha code is PIC. ++ lt_prog_compiler_static='-non_shared' ++ ;; ++ xl* | bgxl* | bgf* | mpixl*) ++ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_pic='-qpic' ++ lt_prog_compiler_static='-qstaticlink' ++ ;; ++ *) ++ case `$CC -V 2>&1 | sed 5q` in ++ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) ++ # Sun Fortran 8.3 passes all unrecognized flags to the linker ++ lt_prog_compiler_pic='-KPIC' ++ lt_prog_compiler_static='-Bstatic' ++ lt_prog_compiler_wl='' ++ ;; ++ *Sun\ F* | *Sun*Fortran*) ++ lt_prog_compiler_pic='-KPIC' ++ lt_prog_compiler_static='-Bstatic' ++ lt_prog_compiler_wl='-Qoption ld ' ++ ;; ++ *Sun\ C*) ++ # Sun C 5.9 ++ lt_prog_compiler_pic='-KPIC' ++ lt_prog_compiler_static='-Bstatic' ++ lt_prog_compiler_wl='-Wl,' ++ ;; ++ *Intel*\ [CF]*Compiler*) ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_pic='-fPIC' ++ lt_prog_compiler_static='-static' ++ ;; ++ *Portland\ Group*) ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_pic='-fpic' ++ lt_prog_compiler_static='-Bstatic' ++ ;; ++ esac ++ ;; ++ esac ++ ;; ++ ++ newsos6) ++ lt_prog_compiler_pic='-KPIC' ++ lt_prog_compiler_static='-Bstatic' ++ ;; ++ ++ *nto* | *qnx*) ++ # QNX uses GNU C++, but need to define -shared option too, otherwise ++ # it will coredump. ++ lt_prog_compiler_pic='-fPIC -shared' ++ ;; ++ ++ osf3* | osf4* | osf5*) ++ lt_prog_compiler_wl='-Wl,' ++ # All OSF/1 code is PIC. ++ lt_prog_compiler_static='-non_shared' ++ ;; ++ ++ rdos*) ++ lt_prog_compiler_static='-non_shared' ++ ;; ++ ++ solaris*) ++ lt_prog_compiler_pic='-KPIC' ++ lt_prog_compiler_static='-Bstatic' ++ case $cc_basename in ++ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) ++ lt_prog_compiler_wl='-Qoption ld ';; ++ *) ++ lt_prog_compiler_wl='-Wl,';; ++ esac ++ ;; ++ ++ sunos4*) ++ lt_prog_compiler_wl='-Qoption ld ' ++ lt_prog_compiler_pic='-PIC' ++ lt_prog_compiler_static='-Bstatic' ++ ;; ++ ++ sysv4 | sysv4.2uw2* | sysv4.3*) ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_pic='-KPIC' ++ lt_prog_compiler_static='-Bstatic' ++ ;; ++ ++ sysv4*MP*) ++ if test -d /usr/nec; then ++ lt_prog_compiler_pic='-Kconform_pic' ++ lt_prog_compiler_static='-Bstatic' ++ fi ++ ;; ++ ++ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_pic='-KPIC' ++ lt_prog_compiler_static='-Bstatic' ++ ;; ++ ++ unicos*) ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_can_build_shared=no ++ ;; ++ ++ uts4*) ++ lt_prog_compiler_pic='-pic' ++ lt_prog_compiler_static='-Bstatic' ++ ;; ++ ++ *) ++ lt_prog_compiler_can_build_shared=no ++ ;; ++ esac ++ fi ++ ++case $host_os in ++ # For platforms that do not support PIC, -DPIC is meaningless: ++ *djgpp*) ++ lt_prog_compiler_pic= ++ ;; ++ *) ++ lt_prog_compiler_pic="$lt_prog_compiler_pic@&t@ -DPIC" ++ ;; ++esac ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 ++printf %s "checking for $compiler option to produce PIC... " >&6; } ++if test ${lt_cv_prog_compiler_pic+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ lt_cv_prog_compiler_pic=$lt_prog_compiler_pic ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; } ++lt_prog_compiler_pic=$lt_cv_prog_compiler_pic ++ ++# ++# Check to make sure the PIC flag actually works. ++# ++if test -n "$lt_prog_compiler_pic"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 ++printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } ++if test ${lt_cv_prog_compiler_pic_works+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ lt_cv_prog_compiler_pic_works=no ++ ac_outfile=conftest.$ac_objext ++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext ++ lt_compiler_flag="$lt_prog_compiler_pic@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment ++ # Insert the option either (1) after the last *FLAGS variable, or ++ # (2) before a word containing "conftest.", or (3) at the end. ++ # Note that $ac_compile itself does not contain backslashes and begins ++ # with a dollar sign (not a hyphen), so the echo should work correctly. ++ # The option is referenced via a variable to avoid confusing sed. ++ lt_compile=`echo "$ac_compile" | $SED \ ++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ ++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ ++ -e 's:$: $lt_compiler_flag:'` ++ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) ++ (eval "$lt_compile" 2>conftest.err) ++ ac_status=$? ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ if (exit $ac_status) && test -s "$ac_outfile"; then ++ # The compiler can only warn and ignore the option if not recognized ++ # So say no if there are warnings other than the usual output. ++ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp ++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 ++ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then ++ lt_cv_prog_compiler_pic_works=yes ++ fi ++ fi ++ $RM conftest* ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; } ++ ++if test yes = "$lt_cv_prog_compiler_pic_works"; then ++ case $lt_prog_compiler_pic in ++ "" | " "*) ;; ++ *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; ++ esac ++else ++ lt_prog_compiler_pic= ++ lt_prog_compiler_can_build_shared=no ++fi ++ ++fi ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++# ++# Check to make sure the static flag actually works. ++# ++wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 ++printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } ++if test ${lt_cv_prog_compiler_static_works+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ lt_cv_prog_compiler_static_works=no ++ save_LDFLAGS=$LDFLAGS ++ LDFLAGS="$LDFLAGS $lt_tmp_static_flag" ++ echo "$lt_simple_link_test_code" > conftest.$ac_ext ++ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then ++ # The linker can only warn and ignore the option if not recognized ++ # So say no if there are warnings ++ if test -s conftest.err; then ++ # Append any errors to the config.log. ++ cat conftest.err 1>&5 ++ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp ++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 ++ if diff conftest.exp conftest.er2 >/dev/null; then ++ lt_cv_prog_compiler_static_works=yes ++ fi ++ else ++ lt_cv_prog_compiler_static_works=yes ++ fi ++ fi ++ $RM -r conftest* ++ LDFLAGS=$save_LDFLAGS ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; } ++ ++if test yes = "$lt_cv_prog_compiler_static_works"; then ++ : ++else ++ lt_prog_compiler_static= ++fi ++ ++ ++ ++ ++ ++ ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 ++printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } ++if test ${lt_cv_prog_compiler_c_o+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ lt_cv_prog_compiler_c_o=no ++ $RM -r conftest 2>/dev/null ++ mkdir conftest ++ cd conftest ++ mkdir out ++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext ++ ++ lt_compiler_flag="-o out/conftest2.$ac_objext" ++ # Insert the option either (1) after the last *FLAGS variable, or ++ # (2) before a word containing "conftest.", or (3) at the end. ++ # Note that $ac_compile itself does not contain backslashes and begins ++ # with a dollar sign (not a hyphen), so the echo should work correctly. ++ lt_compile=`echo "$ac_compile" | $SED \ ++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ ++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ ++ -e 's:$: $lt_compiler_flag:'` ++ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) ++ (eval "$lt_compile" 2>out/conftest.err) ++ ac_status=$? ++ cat out/conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ if (exit $ac_status) && test -s out/conftest2.$ac_objext ++ then ++ # The compiler can only warn and ignore the option if not recognized ++ # So say no if there are warnings ++ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp ++ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 ++ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then ++ lt_cv_prog_compiler_c_o=yes ++ fi ++ fi ++ chmod u+w . 2>&5 ++ $RM conftest* ++ # SGI C++ compiler will create directory out/ii_files/ for ++ # template instantiation ++ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files ++ $RM out/* && rmdir out ++ cd .. ++ $RM -r conftest ++ $RM conftest* ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } ++ ++ ++ ++ ++ ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 ++printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } ++if test ${lt_cv_prog_compiler_c_o+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ lt_cv_prog_compiler_c_o=no ++ $RM -r conftest 2>/dev/null ++ mkdir conftest ++ cd conftest ++ mkdir out ++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext ++ ++ lt_compiler_flag="-o out/conftest2.$ac_objext" ++ # Insert the option either (1) after the last *FLAGS variable, or ++ # (2) before a word containing "conftest.", or (3) at the end. ++ # Note that $ac_compile itself does not contain backslashes and begins ++ # with a dollar sign (not a hyphen), so the echo should work correctly. ++ lt_compile=`echo "$ac_compile" | $SED \ ++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ ++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ ++ -e 's:$: $lt_compiler_flag:'` ++ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) ++ (eval "$lt_compile" 2>out/conftest.err) ++ ac_status=$? ++ cat out/conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ if (exit $ac_status) && test -s out/conftest2.$ac_objext ++ then ++ # The compiler can only warn and ignore the option if not recognized ++ # So say no if there are warnings ++ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp ++ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 ++ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then ++ lt_cv_prog_compiler_c_o=yes ++ fi ++ fi ++ chmod u+w . 2>&5 ++ $RM conftest* ++ # SGI C++ compiler will create directory out/ii_files/ for ++ # template instantiation ++ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files ++ $RM out/* && rmdir out ++ cd .. ++ $RM -r conftest ++ $RM conftest* ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } ++ ++ ++ ++ ++hard_links=nottested ++if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then ++ # do not overwrite the value of need_locks provided by the user ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 ++printf %s "checking if we can lock with hard links... " >&6; } ++ hard_links=yes ++ $RM conftest* ++ ln conftest.a conftest.b 2>/dev/null && hard_links=no ++ touch conftest.a ++ ln conftest.a conftest.b 2>&5 || hard_links=no ++ ln conftest.a conftest.b 2>/dev/null && hard_links=no ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 ++printf "%s\n" "$hard_links" >&6; } ++ if test no = "$hard_links"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 ++printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} ++ need_locks=warn ++ fi ++else ++ need_locks=no ++fi ++ ++ ++ ++ ++ ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 ++printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ++ ++ runpath_var= ++ allow_undefined_flag= ++ always_export_symbols=no ++ archive_cmds= ++ archive_expsym_cmds= ++ compiler_needs_object=no ++ enable_shared_with_static_runtimes=no ++ export_dynamic_flag_spec= ++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ++ hardcode_automatic=no ++ hardcode_direct=no ++ hardcode_direct_absolute=no ++ hardcode_libdir_flag_spec= ++ hardcode_libdir_separator= ++ hardcode_minus_L=no ++ hardcode_shlibpath_var=unsupported ++ inherit_rpath=no ++ link_all_deplibs=unknown ++ module_cmds= ++ module_expsym_cmds= ++ old_archive_from_new_cmds= ++ old_archive_from_expsyms_cmds= ++ thread_safe_flag_spec= ++ whole_archive_flag_spec= ++ # include_expsyms should be a list of space-separated symbols to be *always* ++ # included in the symbol list ++ include_expsyms= ++ # exclude_expsyms can be an extended regexp of symbols to exclude ++ # it will be wrapped by ' (' and ')$', so one must not match beginning or ++ # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', ++ # as well as any symbol that contains 'd'. ++ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' ++ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out ++ # platforms (ab)use it in PIC code, but their linkers get confused if ++ # the symbol is explicitly referenced. Since portable code cannot ++ # rely on this symbol name, it's probably fine to never include it in ++ # preloaded symbol tables. ++ # Exclude shared library initialization/finalization symbols. ++ extract_expsyms_cmds= ++ ++ case $host_os in ++ cygwin* | mingw* | pw32* | cegcc*) ++ # FIXME: the MSVC++ port hasn't been tested in a loooong time ++ # When not using gcc, we currently assume that we are using ++ # Microsoft Visual C++. ++ if test yes != "$GCC"; then ++ with_gnu_ld=no ++ fi ++ ;; ++ interix*) ++ # we just hope/assume this is gcc and not c89 (= MSVC++) ++ with_gnu_ld=yes ++ ;; ++ openbsd* | bitrig*) ++ with_gnu_ld=no ++ ;; ++ esac ++ ++ ld_shlibs=yes ++ ++ # On some targets, GNU ld is compatible enough with the native linker ++ # that we're better off using the native interface for both. ++ lt_use_gnu_ld_interface=no ++ if test yes = "$with_gnu_ld"; then ++ case $host_os in ++ aix*) ++ # The AIX port of GNU ld has always aspired to compatibility ++ # with the native linker. However, as the warning in the GNU ld ++ # block says, versions before 2.19.5* couldn't really create working ++ # shared libraries, regardless of the interface used. ++ case `$LD -v 2>&1` in ++ *\ \(GNU\ Binutils\)\ 2.19.5*) ;; ++ *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; ++ *\ \(GNU\ Binutils\)\ [3-9]*) ;; ++ *) ++ lt_use_gnu_ld_interface=yes ++ ;; ++ esac ++ ;; ++ *) ++ lt_use_gnu_ld_interface=yes ++ ;; ++ esac ++ fi ++ ++ if test yes = "$lt_use_gnu_ld_interface"; then ++ # If archive_cmds runs LD, not CC, wlarc should be empty ++ wlarc='$wl' ++ ++ # Set some defaults for GNU ld with shared library support. These ++ # are reset later if shared libraries are not supported. Putting them ++ # here allows them to be overridden if necessary. ++ runpath_var=LD_RUN_PATH ++ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' ++ export_dynamic_flag_spec='$wl--export-dynamic' ++ # ancient GNU ld didn't support --whole-archive et. al. ++ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then ++ whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' ++ else ++ whole_archive_flag_spec= ++ fi ++ supports_anon_versioning=no ++ case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in ++ *GNU\ gold*) supports_anon_versioning=yes ;; ++ *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 ++ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... ++ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... ++ *\ 2.11.*) ;; # other 2.11 versions ++ *) supports_anon_versioning=yes ;; ++ esac ++ ++ # See if GNU ld supports shared libraries. ++ case $host_os in ++ aix[3-9]*) ++ # On AIX/PPC, the GNU linker is very broken ++ if test ia64 != "$host_cpu"; then ++ ld_shlibs=no ++ cat <<_LT_EOF 1>&2 ++ ++*** Warning: the GNU linker, at least up to release 2.19, is reported ++*** to be unable to reliably create shared libraries on AIX. ++*** Therefore, libtool is disabling shared libraries support. If you ++*** really care for shared libraries, you may want to install binutils ++*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. ++*** You will then need to restart the configuration process. ++ ++_LT_EOF ++ fi ++ ;; ++ ++ amigaos*) ++ case $host_cpu in ++ powerpc) ++ # see comment about AmigaOS4 .so support ++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ archive_expsym_cmds='' ++ ;; ++ m68k) ++ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_minus_L=yes ++ ;; ++ esac ++ ;; ++ ++ beos*) ++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then ++ allow_undefined_flag=unsupported ++ # Joseph Beckenbach says some releases of gcc ++ # support --undefined. This deserves some investigation. FIXME ++ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ ++ cygwin* | mingw* | pw32* | cegcc*) ++ # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, ++ # as there is no search path for DLLs. ++ hardcode_libdir_flag_spec='-L$libdir' ++ export_dynamic_flag_spec='$wl--export-all-symbols' ++ allow_undefined_flag=unsupported ++ always_export_symbols=no ++ enable_shared_with_static_runtimes=yes ++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' ++ exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' ++ ++ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then ++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' ++ # If the export-symbols file already is a .def file, use it as ++ # is; otherwise, prepend EXPORTS... ++ archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then ++ cp $export_symbols $output_objdir/$soname.def; ++ else ++ echo EXPORTS > $output_objdir/$soname.def; ++ cat $export_symbols >> $output_objdir/$soname.def; ++ fi~ ++ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ ++ haiku*) ++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ link_all_deplibs=yes ++ ;; ++ ++ os2*) ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_minus_L=yes ++ allow_undefined_flag=unsupported ++ shrext_cmds=.dll ++ archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ ++ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ ++ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ ++ $ECHO EXPORTS >> $output_objdir/$libname.def~ ++ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ ++ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ ++ emximp -o $lib $output_objdir/$libname.def' ++ archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ ++ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ ++ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ ++ $ECHO EXPORTS >> $output_objdir/$libname.def~ ++ prefix_cmds="$SED"~ ++ if test EXPORTS = "`$SED 1q $export_symbols`"; then ++ prefix_cmds="$prefix_cmds -e 1d"; ++ fi~ ++ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ ++ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ ++ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ ++ emximp -o $lib $output_objdir/$libname.def' ++ old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' ++ enable_shared_with_static_runtimes=yes ++ ;; ++ ++ interix[3-9]*) ++ hardcode_direct=no ++ hardcode_shlibpath_var=no ++ hardcode_libdir_flag_spec='$wl-rpath,$libdir' ++ export_dynamic_flag_spec='$wl-E' ++ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. ++ # Instead, shared libraries are loaded at an image base (0x10000000 by ++ # default) and relocated if they conflict, which is a slow very memory ++ # consuming and fragmenting process. To avoid this, we pick a random, ++ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link ++ # time. Moving up from 0x10000000 also allows more sbrk(2) space. ++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ++ archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ++ ;; ++ ++ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) ++ tmp_diet=no ++ if test linux-dietlibc = "$host_os"; then ++ case $cc_basename in ++ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) ++ esac ++ fi ++ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ ++ && test no = "$tmp_diet" ++ then ++ tmp_addflag=' $pic_flag' ++ tmp_sharedflag='-shared' ++ case $cc_basename,$host_cpu in ++ pgcc*) # Portland Group C compiler ++ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' ++ tmp_addflag=' $pic_flag' ++ ;; ++ pgf77* | pgf90* | pgf95* | pgfortran*) ++ # Portland Group f77 and f90 compilers ++ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' ++ tmp_addflag=' $pic_flag -Mnomain' ;; ++ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 ++ tmp_addflag=' -i_dynamic' ;; ++ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 ++ tmp_addflag=' -i_dynamic -nofor_main' ;; ++ ifc* | ifort*) # Intel Fortran compiler ++ tmp_addflag=' -nofor_main' ;; ++ lf95*) # Lahey Fortran 8.1 ++ whole_archive_flag_spec= ++ tmp_sharedflag='--shared' ;; ++ nagfor*) # NAGFOR 5.3 ++ tmp_sharedflag='-Wl,-shared' ;; ++ xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) ++ tmp_sharedflag='-qmkshrobj' ++ tmp_addflag= ;; ++ nvcc*) # Cuda Compiler Driver 2.2 ++ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' ++ compiler_needs_object=yes ++ ;; ++ esac ++ case `$CC -V 2>&1 | sed 5q` in ++ *Sun\ C*) # Sun C 5.9 ++ whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' ++ compiler_needs_object=yes ++ tmp_sharedflag='-G' ;; ++ *Sun\ F*) # Sun Fortran 8.3 ++ tmp_sharedflag='-G' ;; ++ esac ++ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ ++ if test yes = "$supports_anon_versioning"; then ++ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ ++ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ ++ echo "local: *; };" >> $output_objdir/$libname.ver~ ++ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' ++ fi ++ ++ case $cc_basename in ++ tcc*) ++ export_dynamic_flag_spec='-rdynamic' ++ ;; ++ xlf* | bgf* | bgxlf* | mpixlf*) ++ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself ++ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' ++ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' ++ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' ++ if test yes = "$supports_anon_versioning"; then ++ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ ++ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ ++ echo "local: *; };" >> $output_objdir/$libname.ver~ ++ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' ++ fi ++ ;; ++ esac ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ ++ netbsd*) ++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then ++ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' ++ wlarc= ++ else ++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ fi ++ ;; ++ ++ solaris*) ++ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ++ ld_shlibs=no ++ cat <<_LT_EOF 1>&2 ++ ++*** Warning: The releases 2.8.* of the GNU linker cannot reliably ++*** create shared libraries on Solaris systems. Therefore, libtool ++*** is disabling shared libraries support. We urge you to upgrade GNU ++*** binutils to release 2.9.1 or newer. Another option is to modify ++*** your PATH or compiler configuration so that the native linker is ++*** used, and then restart. ++ ++_LT_EOF ++ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then ++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ ++ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) ++ case `$LD -v 2>&1` in ++ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ++ ld_shlibs=no ++ cat <<_LT_EOF 1>&2 ++ ++*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot ++*** reliably create shared libraries on SCO systems. Therefore, libtool ++*** is disabling shared libraries support. We urge you to upgrade GNU ++*** binutils to release 2.16.91.0.3 or newer. Another option is to modify ++*** your PATH or compiler configuration so that the native linker is ++*** used, and then restart. ++ ++_LT_EOF ++ ;; ++ *) ++ # For security reasons, it is highly recommended that you always ++ # use absolute paths for naming shared libraries, and exclude the ++ # DT_RUNPATH tag from executables and libraries. But doing so ++ # requires that you compile everything twice, which is a pain. ++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then ++ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' ++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ esac ++ ;; ++ ++ sunos4*) ++ archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' ++ wlarc= ++ hardcode_direct=yes ++ hardcode_shlibpath_var=no ++ ;; ++ ++ *) ++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then ++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ esac ++ ++ if test no = "$ld_shlibs"; then ++ runpath_var= ++ hardcode_libdir_flag_spec= ++ export_dynamic_flag_spec= ++ whole_archive_flag_spec= ++ fi ++ else ++ # PORTME fill in a description of your system's linker (not GNU ld) ++ case $host_os in ++ aix3*) ++ allow_undefined_flag=unsupported ++ always_export_symbols=yes ++ archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' ++ # Note: this linker hardcodes the directories in LIBPATH if there ++ # are no directories specified by -L. ++ hardcode_minus_L=yes ++ if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then ++ # Neither direct hardcoding nor static linking is supported with a ++ # broken collect2. ++ hardcode_direct=unsupported ++ fi ++ ;; ++ ++ aix[4-9]*) ++ if test ia64 = "$host_cpu"; then ++ # On IA64, the linker does run time linking by default, so we don't ++ # have to do anything special. ++ aix_use_runtimelinking=no ++ exp_sym_flag='-Bexport' ++ no_entry_flag= ++ else ++ # If we're using GNU nm, then we don't want the "-C" option. ++ # -C means demangle to GNU nm, but means don't demangle to AIX nm. ++ # Without the "-l" option, or with the "-B" option, AIX nm treats ++ # weak defined symbols like other global defined symbols, whereas ++ # GNU nm marks them as "W". ++ # While the 'weak' keyword is ignored in the Export File, we need ++ # it in the Import File for the 'aix-soname' feature, so we have ++ # to replace the "-B" option with "-P" for AIX nm. ++ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then ++ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' ++ else ++ export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' ++ fi ++ aix_use_runtimelinking=no ++ ++ # Test if we are trying to use run time linking or normal ++ # AIX style linking. If -brtl is somewhere in LDFLAGS, we ++ # have runtime linking enabled, and use it for executables. ++ # For shared libraries, we enable/disable runtime linking ++ # depending on the kind of the shared library created - ++ # when "with_aix_soname,aix_use_runtimelinking" is: ++ # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables ++ # "aix,yes" lib.so shared, rtl:yes, for executables ++ # lib.a static archive ++ # "both,no" lib.so.V(shr.o) shared, rtl:yes ++ # lib.a(lib.so.V) shared, rtl:no, for executables ++ # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables ++ # lib.a(lib.so.V) shared, rtl:no ++ # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables ++ # lib.a static archive ++ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) ++ for ld_flag in $LDFLAGS; do ++ if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then ++ aix_use_runtimelinking=yes ++ break ++ fi ++ done ++ if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then ++ # With aix-soname=svr4, we create the lib.so.V shared archives only, ++ # so we don't have lib.a shared libs to link our executables. ++ # We have to force runtime linking in this case. ++ aix_use_runtimelinking=yes ++ LDFLAGS="$LDFLAGS -Wl,-brtl" ++ fi ++ ;; ++ esac ++ ++ exp_sym_flag='-bexport' ++ no_entry_flag='-bnoentry' ++ fi ++ ++ # When large executables or shared objects are built, AIX ld can ++ # have problems creating the table of contents. If linking a library ++ # or program results in "error TOC overflow" add -mminimal-toc to ++ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not ++ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. ++ ++ archive_cmds='' ++ hardcode_direct=yes ++ hardcode_direct_absolute=yes ++ hardcode_libdir_separator=':' ++ link_all_deplibs=yes ++ file_list_spec='$wl-f,' ++ case $with_aix_soname,$aix_use_runtimelinking in ++ aix,*) ;; # traditional, no import file ++ svr4,* | *,yes) # use import file ++ # The Import File defines what to hardcode. ++ hardcode_direct=no ++ hardcode_direct_absolute=no ++ ;; ++ esac ++ ++ if test yes = "$GCC"; then ++ case $host_os in aix4.[012]|aix4.[012].*) ++ # We only want to do this on AIX 4.2 and lower, the check ++ # below for broken collect2 doesn't work under 4.3+ ++ collect2name=`$CC -print-prog-name=collect2` ++ if test -f "$collect2name" && ++ strings "$collect2name" | $GREP resolve_lib_name >/dev/null ++ then ++ # We have reworked collect2 ++ : ++ else ++ # We have old collect2 ++ hardcode_direct=unsupported ++ # It fails to find uninstalled libraries when the uninstalled ++ # path is not listed in the libpath. Setting hardcode_minus_L ++ # to unsupported forces relinking ++ hardcode_minus_L=yes ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_libdir_separator= ++ fi ++ ;; ++ esac ++ shared_flag='-shared' ++ if test yes = "$aix_use_runtimelinking"; then ++ shared_flag="$shared_flag "'$wl-G' ++ fi ++ # Need to ensure runtime linking is disabled for the traditional ++ # shared library, or the linker may eventually find shared libraries ++ # /with/ Import File - we do not want to mix them. ++ shared_flag_aix='-shared' ++ shared_flag_svr4='-shared $wl-G' ++ else ++ # not using gcc ++ if test ia64 = "$host_cpu"; then ++ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release ++ # chokes on -Wl,-G. The following line is correct: ++ shared_flag='-G' ++ else ++ if test yes = "$aix_use_runtimelinking"; then ++ shared_flag='$wl-G' ++ else ++ shared_flag='$wl-bM:SRE' ++ fi ++ shared_flag_aix='$wl-bM:SRE' ++ shared_flag_svr4='$wl-G' ++ fi ++ fi ++ ++ export_dynamic_flag_spec='$wl-bexpall' ++ # It seems that -bexpall does not export symbols beginning with ++ # underscore (_), so it is better to generate a list of symbols to export. ++ always_export_symbols=yes ++ if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then ++ # Warning - without using the other runtime loading flags (-brtl), ++ # -berok will link without error, but may produce a broken library. ++ allow_undefined_flag='-berok' ++ # Determine the default libpath from the value encoded in an ++ # empty executable. ++ if test set = "${lt_cv_aix_libpath+set}"; then ++ aix_libpath=$lt_cv_aix_libpath ++else ++ if test ${lt_cv_aix_libpath_+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +-#include + ++int ++main (void) ++{ ++ ++ ; ++ return 0; ++} + _ACEOF +-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- $EGREP "free" >/dev/null 2>&1; then : ++if ac_fn_c_try_link "$LINENO" ++then : + +-else +- ac_cv_header_stdc=no ++ lt_aix_libpath_sed=' ++ /Import File Strings/,/^$/ { ++ /^0/ { ++ s/^0 *\([^ ]*\) *$/\1/ ++ p ++ } ++ }' ++ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` ++ # Check for a 64-bit object if we didn't find anything. ++ if test -z "$lt_cv_aix_libpath_"; then ++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` ++ fi + fi +-rm -f conftest* ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++ if test -z "$lt_cv_aix_libpath_"; then ++ lt_cv_aix_libpath_=/usr/lib:/lib ++ fi ++ ++fi + ++ aix_libpath=$lt_cv_aix_libpath_ + 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 : +- : ++ hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" ++ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag ++ else ++ if test ia64 = "$host_cpu"; then ++ hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' ++ allow_undefined_flag="-z nodefs" ++ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" ++ else ++ # Determine the default libpath from the value encoded in an ++ # empty executable. ++ if test set = "${lt_cv_aix_libpath+set}"; then ++ aix_libpath=$lt_cv_aix_libpath + else ++ if test ${lt_cv_aix_libpath_+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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)) ++ ++int ++main (void) ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO" ++then : ++ ++ lt_aix_libpath_sed=' ++ /Import File Strings/,/^$/ { ++ /^0/ { ++ s/^0 *\([^ ]*\) *$/\1/ ++ p ++ } ++ }' ++ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` ++ # Check for a 64-bit object if we didn't find anything. ++ if test -z "$lt_cv_aix_libpath_"; then ++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` ++ fi ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++ if test -z "$lt_cv_aix_libpath_"; then ++ lt_cv_aix_libpath_=/usr/lib:/lib ++ fi ++ ++fi ++ ++ aix_libpath=$lt_cv_aix_libpath_ ++fi ++ ++ hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" ++ # Warning - without using the other run time loading flags, ++ # -berok will link without error, but may produce a broken library. ++ no_undefined_flag=' $wl-bernotok' ++ allow_undefined_flag=' $wl-berok' ++ if test yes = "$with_gnu_ld"; then ++ # We only use this code for GNU lds that support --whole-archive. ++ whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' ++ else ++ # Exported symbols can be pulled into shared objects from archives ++ whole_archive_flag_spec='$convenience' ++ fi ++ archive_cmds_need_lc=yes ++ archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' ++ # -brtl affects multiple linker settings, -berok does not and is overridden later ++ compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' ++ if test svr4 != "$with_aix_soname"; then ++ # This is similar to how AIX traditionally builds its shared libraries. ++ archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' ++ fi ++ if test aix != "$with_aix_soname"; then ++ archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' ++ else ++ # used by -dlpreopen to get the symbols ++ archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' ++ fi ++ archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' ++ fi ++ fi ++ ;; ++ ++ amigaos*) ++ case $host_cpu in ++ powerpc) ++ # see comment about AmigaOS4 .so support ++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ archive_expsym_cmds='' ++ ;; ++ m68k) ++ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_minus_L=yes ++ ;; ++ esac ++ ;; ++ ++ bsdi[45]*) ++ export_dynamic_flag_spec=-rdynamic ++ ;; ++ ++ cygwin* | mingw* | pw32* | cegcc*) ++ # When not using gcc, we currently assume that we are using ++ # Microsoft Visual C++. ++ # hardcode_libdir_flag_spec is actually meaningless, as there is ++ # no search path for DLLs. ++ case $cc_basename in ++ cl*) ++ # Native MSVC ++ hardcode_libdir_flag_spec=' ' ++ allow_undefined_flag=unsupported ++ always_export_symbols=yes ++ file_list_spec='@' ++ # Tell ltmain to make .lib files, not .a files. ++ libext=lib ++ # Tell ltmain to make .dll files, not .so files. ++ shrext_cmds=.dll ++ # FIXME: Setting linknames here is a bad hack. ++ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' ++ archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then ++ cp "$export_symbols" "$output_objdir/$soname.def"; ++ echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; ++ else ++ $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; ++ fi~ ++ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ ++ linknames=' ++ # The linker will not automatically build a static lib if we build a DLL. ++ # _LT_TAGVAR(old_archive_from_new_cmds, )='true' ++ enable_shared_with_static_runtimes=yes ++ exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' ++ # Don't use ranlib ++ old_postinstall_cmds='chmod 644 $oldlib' ++ postlink_cmds='lt_outputfile="@OUTPUT@"~ ++ lt_tool_outputfile="@TOOL_OUTPUT@"~ ++ case $lt_outputfile in ++ *.exe|*.EXE) ;; ++ *) ++ lt_outputfile=$lt_outputfile.exe ++ lt_tool_outputfile=$lt_tool_outputfile.exe ++ ;; ++ esac~ ++ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then ++ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; ++ $RM "$lt_outputfile.manifest"; ++ fi' ++ ;; ++ *) ++ # Assume MSVC wrapper ++ hardcode_libdir_flag_spec=' ' ++ allow_undefined_flag=unsupported ++ # Tell ltmain to make .lib files, not .a files. ++ libext=lib ++ # Tell ltmain to make .dll files, not .so files. ++ shrext_cmds=.dll ++ # FIXME: Setting linknames here is a bad hack. ++ archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' ++ # The linker will automatically build a .lib file if we build a DLL. ++ old_archive_from_new_cmds='true' ++ # FIXME: Should let the user specify the lib program. ++ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' ++ enable_shared_with_static_runtimes=yes ++ ;; ++ esac ++ ;; ++ ++ darwin* | rhapsody*) ++ ++ ++ archive_cmds_need_lc=no ++ hardcode_direct=no ++ hardcode_automatic=yes ++ hardcode_shlibpath_var=unsupported ++ if test yes = "$lt_cv_ld_force_load"; then ++ whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' ++ ++ else ++ whole_archive_flag_spec='' ++ fi ++ link_all_deplibs=yes ++ allow_undefined_flag=$_lt_dar_allow_undefined ++ case $cc_basename in ++ ifort*|nagfor*) _lt_dar_can_shared=yes ;; ++ *) _lt_dar_can_shared=$GCC ;; ++ esac ++ if test yes = "$_lt_dar_can_shared"; then ++ output_verbose_link_cmd=func_echo_all ++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" ++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" ++ archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" ++ module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" ++ ++ else ++ ld_shlibs=no ++ fi ++ ++ ;; ++ ++ dgux*) ++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_shlibpath_var=no ++ ;; ++ ++ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor ++ # support. Future versions do this automatically, but an explicit c++rt0.o ++ # does not break anything, and helps significantly (at the cost of a little ++ # extra space). ++ freebsd2.2*) ++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' ++ hardcode_libdir_flag_spec='-R$libdir' ++ hardcode_direct=yes ++ hardcode_shlibpath_var=no ++ ;; ++ ++ # Unfortunately, older versions of FreeBSD 2 do not have this feature. ++ freebsd2.*) ++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' ++ hardcode_direct=yes ++ hardcode_minus_L=yes ++ hardcode_shlibpath_var=no ++ ;; ++ ++ # FreeBSD 3 and greater uses gcc -shared to do shared libraries. ++ freebsd* | dragonfly*) ++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' ++ hardcode_libdir_flag_spec='-R$libdir' ++ hardcode_direct=yes ++ hardcode_shlibpath_var=no ++ ;; ++ ++ hpux9*) ++ if test yes = "$GCC"; then ++ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' ++ else ++ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' ++ fi ++ hardcode_libdir_flag_spec='$wl+b $wl$libdir' ++ hardcode_libdir_separator=: ++ hardcode_direct=yes ++ ++ # hardcode_minus_L: Not really in the search PATH, ++ # but as the default location of the library. ++ hardcode_minus_L=yes ++ export_dynamic_flag_spec='$wl-E' ++ ;; ++ ++ hpux10*) ++ if test yes,no = "$GCC,$with_gnu_ld"; then ++ archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ++ else ++ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ++ fi ++ if test no = "$with_gnu_ld"; then ++ hardcode_libdir_flag_spec='$wl+b $wl$libdir' ++ hardcode_libdir_separator=: ++ hardcode_direct=yes ++ hardcode_direct_absolute=yes ++ export_dynamic_flag_spec='$wl-E' ++ # hardcode_minus_L: Not really in the search PATH, ++ # but as the default location of the library. ++ hardcode_minus_L=yes ++ fi ++ ;; ++ ++ hpux11*) ++ if test yes,no = "$GCC,$with_gnu_ld"; then ++ case $host_cpu in ++ hppa*64*) ++ archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ++ ;; ++ ia64*) ++ archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ++ ;; ++ *) ++ archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ++ ;; ++ esac ++ else ++ case $host_cpu in ++ hppa*64*) ++ archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ++ ;; ++ ia64*) ++ archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ++ ;; ++ *) ++ ++ # Older versions of the 11.00 compiler do not understand -b yet ++ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 ++printf %s "checking if $CC understands -b... " >&6; } ++if test ${lt_cv_prog_compiler__b+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ lt_cv_prog_compiler__b=no ++ save_LDFLAGS=$LDFLAGS ++ LDFLAGS="$LDFLAGS -b" ++ echo "$lt_simple_link_test_code" > conftest.$ac_ext ++ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then ++ # The linker can only warn and ignore the option if not recognized ++ # So say no if there are warnings ++ if test -s conftest.err; then ++ # Append any errors to the config.log. ++ cat conftest.err 1>&5 ++ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp ++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 ++ if diff conftest.exp conftest.er2 >/dev/null; then ++ lt_cv_prog_compiler__b=yes ++ fi ++ else ++ lt_cv_prog_compiler__b=yes ++ fi ++ fi ++ $RM -r conftest* ++ LDFLAGS=$save_LDFLAGS ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 ++printf "%s\n" "$lt_cv_prog_compiler__b" >&6; } ++ ++if test yes = "$lt_cv_prog_compiler__b"; then ++ archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ++else ++ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ++fi ++ ++ ;; ++ esac ++ fi ++ if test no = "$with_gnu_ld"; then ++ hardcode_libdir_flag_spec='$wl+b $wl$libdir' ++ hardcode_libdir_separator=: ++ ++ case $host_cpu in ++ hppa*64*|ia64*) ++ hardcode_direct=no ++ hardcode_shlibpath_var=no ++ ;; ++ *) ++ hardcode_direct=yes ++ hardcode_direct_absolute=yes ++ export_dynamic_flag_spec='$wl-E' ++ ++ # hardcode_minus_L: Not really in the search PATH, ++ # but as the default location of the library. ++ hardcode_minus_L=yes ++ ;; ++ esac ++ fi ++ ;; ++ ++ irix5* | irix6* | nonstopux*) ++ if test yes = "$GCC"; then ++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ++ # Try to use the -exported_symbol ld option, if it does not ++ # work, assume that -exports_file does not work either and ++ # implicitly export all symbols. ++ # This should be the same for all languages, so no per-tag cache variable. ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 ++printf %s "checking whether the $host_os linker accepts -exported_symbol... " >&6; } ++if test ${lt_cv_irix_exported_symbol+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ save_LDFLAGS=$LDFLAGS ++ LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++int foo (void) { return 0; } ++_ACEOF ++if ac_fn_c_try_link "$LINENO" ++then : ++ lt_cv_irix_exported_symbol=yes ++else $as_nop ++ lt_cv_irix_exported_symbol=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++ LDFLAGS=$save_LDFLAGS ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 ++printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } ++ if test yes = "$lt_cv_irix_exported_symbol"; then ++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' ++ fi ++ else ++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' ++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' ++ fi ++ archive_cmds_need_lc='no' ++ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' ++ hardcode_libdir_separator=: ++ inherit_rpath=yes ++ link_all_deplibs=yes ++ ;; ++ ++ linux*) ++ case $cc_basename in ++ tcc*) ++ # Fabrice Bellard et al's Tiny C Compiler ++ ld_shlibs=yes ++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' ++ ;; ++ esac ++ ;; ++ ++ netbsd*) ++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then ++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out ++ else ++ archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF ++ fi ++ hardcode_libdir_flag_spec='-R$libdir' ++ hardcode_direct=yes ++ hardcode_shlibpath_var=no ++ ;; ++ ++ newsos6) ++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ++ hardcode_direct=yes ++ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' ++ hardcode_libdir_separator=: ++ hardcode_shlibpath_var=no ++ ;; ++ ++ *nto* | *qnx*) ++ ;; ++ ++ openbsd* | bitrig*) ++ if test -f /usr/libexec/ld.so; then ++ hardcode_direct=yes ++ hardcode_shlibpath_var=no ++ hardcode_direct_absolute=yes ++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then ++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' ++ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' ++ hardcode_libdir_flag_spec='$wl-rpath,$libdir' ++ export_dynamic_flag_spec='$wl-E' ++ else ++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' ++ hardcode_libdir_flag_spec='$wl-rpath,$libdir' ++ fi ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ ++ os2*) ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_minus_L=yes ++ allow_undefined_flag=unsupported ++ shrext_cmds=.dll ++ archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ ++ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ ++ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ ++ $ECHO EXPORTS >> $output_objdir/$libname.def~ ++ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ ++ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ ++ emximp -o $lib $output_objdir/$libname.def' ++ archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ ++ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ ++ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ ++ $ECHO EXPORTS >> $output_objdir/$libname.def~ ++ prefix_cmds="$SED"~ ++ if test EXPORTS = "`$SED 1q $export_symbols`"; then ++ prefix_cmds="$prefix_cmds -e 1d"; ++ fi~ ++ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ ++ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ ++ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ ++ emximp -o $lib $output_objdir/$libname.def' ++ old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' ++ enable_shared_with_static_runtimes=yes ++ ;; ++ ++ osf3*) ++ if test yes = "$GCC"; then ++ allow_undefined_flag=' $wl-expect_unresolved $wl\*' ++ archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ++ else ++ allow_undefined_flag=' -expect_unresolved \*' ++ archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' ++ fi ++ archive_cmds_need_lc='no' ++ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' ++ hardcode_libdir_separator=: ++ ;; ++ ++ osf4* | osf5*) # as osf3* with the addition of -msym flag ++ if test yes = "$GCC"; then ++ allow_undefined_flag=' $wl-expect_unresolved $wl\*' ++ archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ++ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' ++ else ++ allow_undefined_flag=' -expect_unresolved \*' ++ archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' ++ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ ++ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' ++ ++ # Both c and cxx compiler support -rpath directly ++ hardcode_libdir_flag_spec='-rpath $libdir' ++ fi ++ archive_cmds_need_lc='no' ++ hardcode_libdir_separator=: ++ ;; ++ ++ solaris*) ++ no_undefined_flag=' -z defs' ++ if test yes = "$GCC"; then ++ wlarc='$wl' ++ archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ++ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ ++ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ++ else ++ case `$CC -V 2>&1` in ++ *"Compilers 5.0"*) ++ wlarc='' ++ archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' ++ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ ++ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ++ ;; ++ *) ++ wlarc='$wl' ++ archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' ++ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ ++ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ++ ;; ++ esac ++ fi ++ hardcode_libdir_flag_spec='-R$libdir' ++ hardcode_shlibpath_var=no ++ case $host_os in ++ solaris2.[0-5] | solaris2.[0-5].*) ;; ++ *) ++ # The compiler driver will combine and reorder linker options, ++ # but understands '-z linker_flag'. GCC discards it without '$wl', ++ # but is careful enough not to reorder. ++ # Supported since Solaris 2.6 (maybe 2.5.1?) ++ if test yes = "$GCC"; then ++ whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' ++ else ++ whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ++ fi ++ ;; ++ esac ++ link_all_deplibs=yes ++ ;; ++ ++ sunos4*) ++ if test sequent = "$host_vendor"; then ++ # Use $CC to link under sequent, because it throws in some extra .o ++ # files that make .init and .fini sections work. ++ archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' ++ else ++ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' ++ fi ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_direct=yes ++ hardcode_minus_L=yes ++ hardcode_shlibpath_var=no ++ ;; ++ ++ sysv4) ++ case $host_vendor in ++ sni) ++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ++ hardcode_direct=yes # is this really true??? ++ ;; ++ siemens) ++ ## LD is ld it makes a PLAMLIB ++ ## CC just makes a GrossModule. ++ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' ++ reload_cmds='$CC -r -o $output$reload_objs' ++ hardcode_direct=no ++ ;; ++ motorola) ++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ++ hardcode_direct=no #Motorola manual says yes, but my tests say they lie ++ ;; ++ esac ++ runpath_var='LD_RUN_PATH' ++ hardcode_shlibpath_var=no ++ ;; ++ ++ sysv4.3*) ++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ++ hardcode_shlibpath_var=no ++ export_dynamic_flag_spec='-Bexport' ++ ;; ++ ++ sysv4*MP*) ++ if test -d /usr/nec; then ++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ++ hardcode_shlibpath_var=no ++ runpath_var=LD_RUN_PATH ++ hardcode_runpath_var=yes ++ ld_shlibs=yes ++ fi ++ ;; ++ ++ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) ++ no_undefined_flag='$wl-z,text' ++ archive_cmds_need_lc=no ++ hardcode_shlibpath_var=no ++ runpath_var='LD_RUN_PATH' ++ ++ if test yes = "$GCC"; then ++ archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ++ archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ++ else ++ archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ++ archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ++ fi ++ ;; ++ ++ sysv5* | sco3.2v5* | sco5v6*) ++ # Note: We CANNOT use -z defs as we might desire, because we do not ++ # link with -lc, and that would cause any symbols used from libc to ++ # always be unresolved, which means just about no library would ++ # ever link correctly. If we're not using GNU ld we use -z text ++ # though, which does catch some bad symbols but isn't as heavy-handed ++ # as -z defs. ++ no_undefined_flag='$wl-z,text' ++ allow_undefined_flag='$wl-z,nodefs' ++ archive_cmds_need_lc=no ++ hardcode_shlibpath_var=no ++ hardcode_libdir_flag_spec='$wl-R,$libdir' ++ hardcode_libdir_separator=':' ++ link_all_deplibs=yes ++ export_dynamic_flag_spec='$wl-Bexport' ++ runpath_var='LD_RUN_PATH' ++ ++ if test yes = "$GCC"; then ++ archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ++ archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ++ else ++ archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ++ archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ++ fi ++ ;; ++ ++ uts4*) ++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_shlibpath_var=no ++ ;; ++ ++ *) ++ ld_shlibs=no ++ ;; ++ esac ++ ++ if test sni = "$host_vendor"; then ++ case $host in ++ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) ++ export_dynamic_flag_spec='$wl-Blargedynsym' ++ ;; ++ esac ++ fi ++ fi ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 ++printf "%s\n" "$ld_shlibs" >&6; } ++test no = "$ld_shlibs" && can_build_shared=no ++ ++with_gnu_ld=$with_gnu_ld ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++# ++# Do we need to explicitly link libc? ++# ++case "x$archive_cmds_need_lc" in ++x|xyes) ++ # Assume -lc should be added ++ archive_cmds_need_lc=yes ++ ++ if test yes,yes = "$GCC,$enable_shared"; then ++ case $archive_cmds in ++ *'~'*) ++ # FIXME: we may have to deal with multi-command sequences. ++ ;; ++ '$CC '*) ++ # Test whether the compiler implicitly links with -lc since on some ++ # systems, -lgcc has to come before -lc. If gcc already passes -lc ++ # to ld, don't add -lc before -lgcc. ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 ++printf %s "checking whether -lc should be explicitly linked in... " >&6; } ++if test ${lt_cv_archive_cmds_need_lc+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ $RM conftest* ++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext ++ ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } 2>conftest.err; then ++ soname=conftest ++ lib=conftest ++ libobjs=conftest.$ac_objext ++ deplibs= ++ wl=$lt_prog_compiler_wl ++ pic_flag=$lt_prog_compiler_pic ++ compiler_flags=-v ++ linker_flags=-v ++ verstring= ++ output_objdir=. ++ libname=conftest ++ lt_save_allow_undefined_flag=$allow_undefined_flag ++ allow_undefined_flag= ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 ++ (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } ++ then ++ lt_cv_archive_cmds_need_lc=no ++ else ++ lt_cv_archive_cmds_need_lc=yes ++ fi ++ allow_undefined_flag=$lt_save_allow_undefined_flag ++ else ++ cat conftest.err 1>&5 ++ fi ++ $RM conftest* ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 ++printf "%s\n" "$lt_cv_archive_cmds_need_lc" >&6; } ++ archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc ++ ;; ++ esac ++ fi ++ ;; ++esac ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 ++printf %s "checking dynamic linker characteristics... " >&6; } ++ ++if test yes = "$GCC"; then ++ case $host_os in ++ darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; ++ *) lt_awk_arg='/^libraries:/' ;; ++ esac ++ case $host_os in ++ mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; ++ *) lt_sed_strip_eq='s|=/|/|g' ;; ++ esac ++ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` ++ case $lt_search_path_spec in ++ *\;*) ++ # if the path contains ";" then we assume it to be the separator ++ # otherwise default to the standard path separator (i.e. ":") - it is ++ # assumed that no part of a normal pathname contains ";" but that should ++ # okay in the real world where ";" in dirpaths is itself problematic. ++ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ++ ;; ++ *) ++ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ++ ;; ++ esac ++ # Ok, now we have the path, separated by spaces, we can step through it ++ # and add multilib dir if necessary... ++ lt_tmp_lt_search_path_spec= ++ lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` ++ # ...but if some path component already ends with the multilib dir we assume ++ # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). ++ case "$lt_multi_os_dir; $lt_search_path_spec " in ++ "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) ++ lt_multi_os_dir= ++ ;; ++ esac ++ for lt_sys_path in $lt_search_path_spec; do ++ if test -d "$lt_sys_path$lt_multi_os_dir"; then ++ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" ++ elif test -n "$lt_multi_os_dir"; then ++ test -d "$lt_sys_path" && \ ++ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" ++ fi ++ done ++ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' ++BEGIN {RS = " "; FS = "/|\n";} { ++ lt_foo = ""; ++ lt_count = 0; ++ for (lt_i = NF; lt_i > 0; lt_i--) { ++ if ($lt_i != "" && $lt_i != ".") { ++ if ($lt_i == "..") { ++ lt_count++; ++ } else { ++ if (lt_count == 0) { ++ lt_foo = "/" $lt_i lt_foo; ++ } else { ++ lt_count--; ++ } ++ } ++ } ++ } ++ if (lt_foo != "") { lt_freq[lt_foo]++; } ++ if (lt_freq[lt_foo] == 1) { print lt_foo; } ++}'` ++ # AWK program above erroneously prepends '/' to C:/dos/paths ++ # for these hosts. ++ case $host_os in ++ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ ++ $SED 's|/\([A-Za-z]:\)|\1|g'` ;; ++ esac ++ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` ++else ++ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" ++fi ++library_names_spec= ++libname_spec='lib$name' ++soname_spec= ++shrext_cmds=.so ++postinstall_cmds= ++postuninstall_cmds= ++finish_cmds= ++finish_eval= ++shlibpath_var= ++shlibpath_overrides_runpath=unknown ++version_type=none ++dynamic_linker="$host_os ld.so" ++sys_lib_dlsearch_path_spec="/lib /usr/lib" ++need_lib_prefix=unknown ++hardcode_into_libs=no ++ ++# when you set need_version to no, make sure it does not cause -set_version ++# flags to be left without arguments ++need_version=unknown ++ ++ ++ ++case $host_os in ++aix3*) ++ version_type=linux # correct to gnu/linux during the next big refactor ++ library_names_spec='$libname$release$shared_ext$versuffix $libname.a' ++ shlibpath_var=LIBPATH ++ ++ # AIX 3 has no versioning support, so we append a major version to the name. ++ soname_spec='$libname$release$shared_ext$major' ++ ;; ++ ++aix[4-9]*) ++ version_type=linux # correct to gnu/linux during the next big refactor ++ need_lib_prefix=no ++ need_version=no ++ hardcode_into_libs=yes ++ if test ia64 = "$host_cpu"; then ++ # AIX 5 supports IA64 ++ library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' ++ shlibpath_var=LD_LIBRARY_PATH ++ else ++ # With GCC up to 2.95.x, collect2 would create an import file ++ # for dependence libraries. The import file would start with ++ # the line '#! .'. This would cause the generated library to ++ # depend on '.', always an invalid library. This was fixed in ++ # development snapshots of GCC prior to 3.0. ++ case $host_os in ++ aix4 | aix4.[01] | aix4.[01].*) ++ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' ++ echo ' yes ' ++ echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then ++ : ++ else ++ can_build_shared=no ++ fi ++ ;; ++ esac ++ # Using Import Files as archive members, it is possible to support ++ # filename-based versioning of shared library archives on AIX. While ++ # this would work for both with and without runtime linking, it will ++ # prevent static linking of such archives. So we do filename-based ++ # shared library versioning with .so extension only, which is used ++ # when both runtime linking and shared linking is enabled. ++ # Unfortunately, runtime linking may impact performance, so we do ++ # not want this to be the default eventually. Also, we use the ++ # versioned .so libs for executables only if there is the -brtl ++ # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. ++ # To allow for filename-based versioning support, we need to create ++ # libNAME.so.V as an archive file, containing: ++ # *) an Import File, referring to the versioned filename of the ++ # archive as well as the shared archive member, telling the ++ # bitwidth (32 or 64) of that shared object, and providing the ++ # list of exported symbols of that shared object, eventually ++ # decorated with the 'weak' keyword ++ # *) the shared object with the F_LOADONLY flag set, to really avoid ++ # it being seen by the linker. ++ # At run time we better use the real file rather than another symlink, ++ # but for link time we create the symlink libNAME.so -> libNAME.so.V ++ ++ case $with_aix_soname,$aix_use_runtimelinking in ++ # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct ++ # soname into executable. Probably we can add versioning support to ++ # collect2, so additional links can be useful in future. ++ aix,yes) # traditional libtool ++ dynamic_linker='AIX unversionable lib.so' ++ # If using run time linking (on AIX 4.2 or later) use lib.so ++ # instead of lib.a to let people know that these are not ++ # typical AIX shared libraries. ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ ;; ++ aix,no) # traditional AIX only ++ dynamic_linker='AIX lib.a(lib.so.V)' ++ # We preserve .a as extension for shared libraries through AIX4.2 ++ # and later when we are not doing run time linking. ++ library_names_spec='$libname$release.a $libname.a' ++ soname_spec='$libname$release$shared_ext$major' ++ ;; ++ svr4,*) # full svr4 only ++ dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" ++ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' ++ # We do not specify a path in Import Files, so LIBPATH fires. ++ shlibpath_overrides_runpath=yes ++ ;; ++ *,yes) # both, prefer svr4 ++ dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" ++ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' ++ # unpreferred sharedlib libNAME.a needs extra handling ++ postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' ++ postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' ++ # We do not specify a path in Import Files, so LIBPATH fires. ++ shlibpath_overrides_runpath=yes ++ ;; ++ *,no) # both, prefer aix ++ dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" ++ library_names_spec='$libname$release.a $libname.a' ++ soname_spec='$libname$release$shared_ext$major' ++ # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling ++ postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' ++ postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' ++ ;; ++ esac ++ shlibpath_var=LIBPATH ++ fi ++ ;; ++ ++amigaos*) ++ case $host_cpu in ++ powerpc) ++ # Since July 2007 AmigaOS4 officially supports .so libraries. ++ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ ;; ++ m68k) ++ library_names_spec='$libname.ixlibrary $libname.a' ++ # Create ${libname}_ixlibrary.a entries in /sys/libs. ++ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ++ ;; ++ esac ++ ;; ++ ++beos*) ++ library_names_spec='$libname$shared_ext' ++ dynamic_linker="$host_os ld.so" ++ shlibpath_var=LIBRARY_PATH ++ ;; ++ ++bsdi[45]*) ++ version_type=linux # correct to gnu/linux during the next big refactor ++ need_version=no ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' ++ shlibpath_var=LD_LIBRARY_PATH ++ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" ++ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" ++ # the default ld.so.conf also contains /usr/contrib/lib and ++ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow ++ # libtool to hard-code these into programs ++ ;; ++ ++cygwin* | mingw* | pw32* | cegcc*) ++ version_type=windows ++ shrext_cmds=.dll ++ need_version=no ++ need_lib_prefix=no ++ ++ case $GCC,$cc_basename in ++ yes,*) ++ # gcc ++ library_names_spec='$libname.dll.a' ++ # DLL is installed to $(libdir)/../bin by postinstall_cmds ++ postinstall_cmds='base_file=`basename \$file`~ ++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ ++ dldir=$destdir/`dirname \$dlpath`~ ++ test -d \$dldir || mkdir -p \$dldir~ ++ $install_prog $dir/$dlname \$dldir/$dlname~ ++ chmod a+x \$dldir/$dlname~ ++ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then ++ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; ++ fi' ++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ ++ dlpath=$dir/\$dldll~ ++ $RM \$dlpath' ++ shlibpath_overrides_runpath=yes ++ ++ case $host_os in ++ cygwin*) ++ # Cygwin DLLs use 'cyg' prefix rather than 'lib' ++ soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ++ ++ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ++ ;; ++ mingw* | cegcc*) ++ # MinGW DLLs use traditional 'lib' prefix ++ soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ++ ;; ++ pw32*) ++ # pw32 DLLs use 'pw' prefix rather than 'lib' ++ library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ++ ;; ++ esac ++ dynamic_linker='Win32 ld.exe' ++ ;; ++ ++ *,cl*) ++ # Native MSVC ++ libname_spec='$name' ++ soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ++ library_names_spec='$libname.dll.lib' ++ ++ case $build_os in ++ mingw*) ++ sys_lib_search_path_spec= ++ lt_save_ifs=$IFS ++ IFS=';' ++ for lt_path in $LIB ++ do ++ IFS=$lt_save_ifs ++ # Let DOS variable expansion print the short 8.3 style file name. ++ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` ++ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" ++ done ++ IFS=$lt_save_ifs ++ # Convert to MSYS style. ++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ++ ;; ++ cygwin*) ++ # Convert to unix form, then to dos form, then back to unix form ++ # but this time dos style (no spaces!) so that the unix form looks ++ # like /cygdrive/c/PROGRA~1:/cygdr... ++ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` ++ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` ++ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ++ ;; ++ *) ++ sys_lib_search_path_spec=$LIB ++ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then ++ # It is most probably a Windows format PATH. ++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` ++ else ++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ++ fi ++ # FIXME: find the short name or the path components, as spaces are ++ # common. (e.g. "Program Files" -> "PROGRA~1") ++ ;; ++ esac ++ ++ # DLL is installed to $(libdir)/../bin by postinstall_cmds ++ postinstall_cmds='base_file=`basename \$file`~ ++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ ++ dldir=$destdir/`dirname \$dlpath`~ ++ test -d \$dldir || mkdir -p \$dldir~ ++ $install_prog $dir/$dlname \$dldir/$dlname' ++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ ++ dlpath=$dir/\$dldll~ ++ $RM \$dlpath' ++ shlibpath_overrides_runpath=yes ++ dynamic_linker='Win32 link.exe' ++ ;; ++ ++ *) ++ # Assume MSVC wrapper ++ library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' ++ dynamic_linker='Win32 ld.exe' ++ ;; ++ esac ++ # FIXME: first we should search . and the directory the executable is in ++ shlibpath_var=PATH ++ ;; ++ ++darwin* | rhapsody*) ++ dynamic_linker="$host_os dyld" ++ version_type=darwin ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' ++ soname_spec='$libname$release$major$shared_ext' ++ shlibpath_overrides_runpath=yes ++ shlibpath_var=DYLD_LIBRARY_PATH ++ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' ++ ++ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" ++ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ++ ;; ++ ++dgux*) ++ version_type=linux # correct to gnu/linux during the next big refactor ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ shlibpath_var=LD_LIBRARY_PATH ++ ;; ++ ++freebsd* | dragonfly*) ++ # DragonFly does not have aout. When/if they implement a new ++ # versioning mechanism, adjust this. ++ if test -x /usr/bin/objformat; then ++ objformat=`/usr/bin/objformat` ++ else ++ case $host_os in ++ freebsd[23].*) objformat=aout ;; ++ *) objformat=elf ;; ++ esac ++ fi ++ version_type=freebsd-$objformat ++ case $version_type in ++ freebsd-elf*) ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ need_version=no ++ need_lib_prefix=no ++ ;; ++ freebsd-*) ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' ++ need_version=yes ++ ;; ++ esac ++ shlibpath_var=LD_LIBRARY_PATH ++ case $host_os in ++ freebsd2.*) ++ shlibpath_overrides_runpath=yes ++ ;; ++ freebsd3.[01]* | freebsdelf3.[01]*) ++ shlibpath_overrides_runpath=yes ++ hardcode_into_libs=yes ++ ;; ++ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ ++ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) ++ shlibpath_overrides_runpath=no ++ hardcode_into_libs=yes ++ ;; ++ *) # from 4.6 on, and DragonFly ++ shlibpath_overrides_runpath=yes ++ hardcode_into_libs=yes ++ ;; ++ esac ++ ;; ++ ++haiku*) ++ version_type=linux # correct to gnu/linux during the next big refactor ++ need_lib_prefix=no ++ need_version=no ++ dynamic_linker="$host_os runtime_loader" ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ shlibpath_var=LIBRARY_PATH ++ shlibpath_overrides_runpath=no ++ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' ++ hardcode_into_libs=yes ++ ;; ++ ++hpux9* | hpux10* | hpux11*) ++ # Give a soname corresponding to the major version so that dld.sl refuses to ++ # link against other versions. ++ version_type=sunos ++ need_lib_prefix=no ++ need_version=no ++ case $host_cpu in ++ ia64*) ++ shrext_cmds='.so' ++ hardcode_into_libs=yes ++ dynamic_linker="$host_os dld.so" ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ if test 32 = "$HPUX_IA64_MODE"; then ++ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" ++ sys_lib_dlsearch_path_spec=/usr/lib/hpux32 ++ else ++ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" ++ sys_lib_dlsearch_path_spec=/usr/lib/hpux64 ++ fi ++ ;; ++ hppa*64*) ++ shrext_cmds='.sl' ++ hardcode_into_libs=yes ++ dynamic_linker="$host_os dld.sl" ++ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH ++ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" ++ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ++ ;; ++ *) ++ shrext_cmds='.sl' ++ dynamic_linker="$host_os dld.sl" ++ shlibpath_var=SHLIB_PATH ++ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ ;; ++ esac ++ # HP-UX runs *really* slowly unless shared libraries are mode 555, ... ++ postinstall_cmds='chmod 555 $lib' ++ # or fails outright, so override atomically: ++ install_override_mode=555 ++ ;; ++ ++interix[3-9]*) ++ version_type=linux # correct to gnu/linux during the next big refactor ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=no ++ hardcode_into_libs=yes ++ ;; ++ ++irix5* | irix6* | nonstopux*) ++ case $host_os in ++ nonstopux*) version_type=nonstopux ;; ++ *) ++ if test yes = "$lt_cv_prog_gnu_ld"; then ++ version_type=linux # correct to gnu/linux during the next big refactor ++ else ++ version_type=irix ++ fi ;; ++ esac ++ need_lib_prefix=no ++ need_version=no ++ soname_spec='$libname$release$shared_ext$major' ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' ++ case $host_os in ++ irix5* | nonstopux*) ++ libsuff= shlibsuff= ++ ;; ++ *) ++ case $LD in # libtool.m4 will add one of these switches to LD ++ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") ++ libsuff= shlibsuff= libmagic=32-bit;; ++ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") ++ libsuff=32 shlibsuff=N32 libmagic=N32;; ++ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") ++ libsuff=64 shlibsuff=64 libmagic=64-bit;; ++ *) libsuff= shlibsuff= libmagic=never-match;; ++ esac ++ ;; ++ esac ++ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH ++ shlibpath_overrides_runpath=no ++ sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" ++ sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" ++ hardcode_into_libs=yes ++ ;; ++ ++# No shared lib support for Linux oldld, aout, or coff. ++linux*oldld* | linux*aout* | linux*coff*) ++ dynamic_linker=no ++ ;; ++ ++linux*android*) ++ version_type=none # Android doesn't support versioned libraries. ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='$libname$release$shared_ext' ++ soname_spec='$libname$release$shared_ext' ++ finish_cmds= ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=yes ++ ++ # This implies no fast_install, which is unacceptable. ++ # Some rework will be needed to allow for fast_install ++ # before this can be enabled. ++ hardcode_into_libs=yes ++ ++ dynamic_linker='Android linker' ++ # Don't embed -rpath directories since the linker doesn't support them. ++ hardcode_libdir_flag_spec='-L$libdir' ++ ;; ++ ++# This must be glibc/ELF. ++linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) ++ version_type=linux # correct to gnu/linux during the next big refactor ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=no ++ ++ # Some binutils ld are patched to set DT_RUNPATH ++ if test ${lt_cv_shlibpath_overrides_runpath+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ lt_cv_shlibpath_overrides_runpath=no ++ save_LDFLAGS=$LDFLAGS ++ save_libdir=$libdir ++ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ ++ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main (void) ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO" ++then : ++ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null ++then : ++ lt_cv_shlibpath_overrides_runpath=yes ++fi ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++ LDFLAGS=$save_LDFLAGS ++ libdir=$save_libdir ++ ++fi ++ ++ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath ++ ++ # This implies no fast_install, which is unacceptable. ++ # Some rework will be needed to allow for fast_install ++ # before this can be enabled. ++ hardcode_into_libs=yes ++ ++ # Add ABI-specific directories to the system library path. ++ sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" ++ ++ # Ideally, we could use ldconfig to report *all* directores which are ++ # searched for libraries, however this is still not possible. Aside from not ++ # being certain /sbin/ldconfig is available, command ++ # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, ++ # even though it is searched at run-time. Try to do the best guess by ++ # appending ld.so.conf contents (and includes) to the search path. ++ if test -f /etc/ld.so.conf; then ++ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` ++ sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" ++ fi ++ ++ # We used to test for /lib/ld.so.1 and disable shared libraries on ++ # powerpc, because MkLinux only supported shared libraries with the ++ # GNU dynamic linker. Since this was broken with cross compilers, ++ # most powerpc-linux boxes support dynamic linking these days and ++ # people can always --disable-shared, the test was removed, and we ++ # assume the GNU/Linux dynamic linker is in use. ++ dynamic_linker='GNU/Linux ld.so' ++ ;; ++ ++netbsd*) ++ version_type=sunos ++ need_lib_prefix=no ++ need_version=no ++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' ++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' ++ dynamic_linker='NetBSD (a.out) ld.so' ++ else ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ dynamic_linker='NetBSD ld.elf_so' ++ fi ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=yes ++ hardcode_into_libs=yes ++ ;; ++ ++newsos6) ++ version_type=linux # correct to gnu/linux during the next big refactor ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=yes ++ ;; ++ ++*nto* | *qnx*) ++ version_type=qnx ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=no ++ hardcode_into_libs=yes ++ dynamic_linker='ldqnx.so' ++ ;; ++ ++openbsd* | bitrig*) ++ version_type=sunos ++ sys_lib_dlsearch_path_spec=/usr/lib ++ need_lib_prefix=no ++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then ++ need_version=no ++ else ++ need_version=yes ++ fi ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' ++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=yes ++ ;; ++ ++os2*) ++ libname_spec='$name' ++ version_type=windows ++ shrext_cmds=.dll ++ need_version=no ++ need_lib_prefix=no ++ # OS/2 can only load a DLL with a base name of 8 characters or less. ++ soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; ++ v=$($ECHO $release$versuffix | tr -d .-); ++ n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); ++ $ECHO $n$v`$shared_ext' ++ library_names_spec='${libname}_dll.$libext' ++ dynamic_linker='OS/2 ld.exe' ++ shlibpath_var=BEGINLIBPATH ++ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" ++ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ++ postinstall_cmds='base_file=`basename \$file`~ ++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ ++ dldir=$destdir/`dirname \$dlpath`~ ++ test -d \$dldir || mkdir -p \$dldir~ ++ $install_prog $dir/$dlname \$dldir/$dlname~ ++ chmod a+x \$dldir/$dlname~ ++ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then ++ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; ++ fi' ++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ ++ dlpath=$dir/\$dldll~ ++ $RM \$dlpath' ++ ;; ++ ++osf3* | osf4* | osf5*) ++ version_type=osf ++ need_lib_prefix=no ++ need_version=no ++ soname_spec='$libname$release$shared_ext$major' ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ shlibpath_var=LD_LIBRARY_PATH ++ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" ++ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ++ ;; ++ ++rdos*) ++ dynamic_linker=no ++ ;; ++ ++solaris*) ++ version_type=linux # correct to gnu/linux during the next big refactor ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=yes ++ hardcode_into_libs=yes ++ # ldd complains unless libraries are executable ++ postinstall_cmds='chmod +x $lib' ++ ;; ++ ++sunos4*) ++ version_type=sunos ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' ++ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=yes ++ if test yes = "$with_gnu_ld"; then ++ need_lib_prefix=no ++ fi ++ need_version=yes ++ ;; ++ ++sysv4 | sysv4.3*) ++ version_type=linux # correct to gnu/linux during the next big refactor ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ shlibpath_var=LD_LIBRARY_PATH ++ case $host_vendor in ++ sni) ++ shlibpath_overrides_runpath=no ++ need_lib_prefix=no ++ runpath_var=LD_RUN_PATH ++ ;; ++ siemens) ++ need_lib_prefix=no ++ ;; ++ motorola) ++ need_lib_prefix=no ++ need_version=no ++ shlibpath_overrides_runpath=no ++ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ++ ;; ++ esac ++ ;; ++ ++sysv4*MP*) ++ if test -d /usr/nec; then ++ version_type=linux # correct to gnu/linux during the next big refactor ++ library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' ++ soname_spec='$libname$shared_ext.$major' ++ shlibpath_var=LD_LIBRARY_PATH ++ fi ++ ;; ++ ++sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) ++ version_type=sco ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=yes ++ hardcode_into_libs=yes ++ if test yes = "$with_gnu_ld"; then ++ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' ++ else ++ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' ++ case $host_os in ++ sco3.2v5*) ++ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ++ ;; ++ esac ++ fi ++ sys_lib_dlsearch_path_spec='/usr/lib' ++ ;; ++ ++tpf*) ++ # TPF is a cross-target only. Preferred cross-host = GNU/Linux. ++ version_type=linux # correct to gnu/linux during the next big refactor ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=no ++ hardcode_into_libs=yes ++ ;; ++ ++uts4*) ++ version_type=linux # correct to gnu/linux during the next big refactor ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ shlibpath_var=LD_LIBRARY_PATH ++ ;; ++ ++*) ++ dynamic_linker=no ++ ;; ++esac ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 ++printf "%s\n" "$dynamic_linker" >&6; } ++test no = "$dynamic_linker" && can_build_shared=no ++ ++variables_saved_for_relink="PATH $shlibpath_var $runpath_var" ++if test yes = "$GCC"; then ++ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" ++fi ++ ++if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then ++ sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec ++fi ++ ++if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then ++ sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec ++fi ++ ++# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... ++configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec ++ ++# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code ++func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" ++ ++# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool ++configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 ++printf %s "checking how to hardcode library paths into programs... " >&6; } ++hardcode_action= ++if test -n "$hardcode_libdir_flag_spec" || ++ test -n "$runpath_var" || ++ test yes = "$hardcode_automatic"; then ++ ++ # We can hardcode non-existent directories. ++ if test no != "$hardcode_direct" && ++ # If the only mechanism to avoid hardcoding is shlibpath_var, we ++ # have to relink, otherwise we might link with an installed library ++ # when we should be linking with a yet-to-be-installed one ++ ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && ++ test no != "$hardcode_minus_L"; then ++ # Linking always hardcodes the temporary library directory. ++ hardcode_action=relink ++ else ++ # We can link without hardcoding, and we can hardcode nonexisting dirs. ++ hardcode_action=immediate ++ fi ++else ++ # We cannot hardcode anything, or else we can only hardcode existing ++ # directories. ++ hardcode_action=unsupported ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 ++printf "%s\n" "$hardcode_action" >&6; } ++ ++if test relink = "$hardcode_action" || ++ test yes = "$inherit_rpath"; then ++ # Fast installation is not supported ++ enable_fast_install=no ++elif test yes = "$shlibpath_overrides_runpath" || ++ test no = "$enable_shared"; then ++ # Fast installation is not necessary ++ enable_fast_install=needless ++fi ++ ++ ++ ++ ++ ++ ++ if test yes != "$enable_dlopen"; then ++ enable_dlopen=unknown ++ enable_dlopen_self=unknown ++ enable_dlopen_self_static=unknown ++else ++ lt_cv_dlopen=no ++ lt_cv_dlopen_libs= ++ ++ case $host_os in ++ beos*) ++ lt_cv_dlopen=load_add_on ++ lt_cv_dlopen_libs= ++ lt_cv_dlopen_self=yes ++ ;; ++ ++ mingw* | pw32* | cegcc*) ++ lt_cv_dlopen=LoadLibrary ++ lt_cv_dlopen_libs= ++ ;; ++ ++ cygwin*) ++ lt_cv_dlopen=dlopen ++ lt_cv_dlopen_libs= ++ ;; ++ ++ darwin*) ++ # if libdl is installed we need to link against it ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 ++printf %s "checking for dlopen in -ldl... " >&6; } ++if test ${ac_cv_lib_dl_dlopen+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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. */ ++char dlopen (); ++int ++main (void) ++{ ++return dlopen (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO" ++then : ++ ac_cv_lib_dl_dlopen=yes ++else $as_nop ++ ac_cv_lib_dl_dlopen=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 ++printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } ++if test "x$ac_cv_lib_dl_dlopen" = xyes ++then : ++ lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl ++else $as_nop ++ ++ lt_cv_dlopen=dyld ++ lt_cv_dlopen_libs= ++ lt_cv_dlopen_self=yes ++ ++fi ++ ++ ;; ++ ++ tpf*) ++ # Don't try to run any link tests for TPF. We know it's impossible ++ # because TPF is a cross-compiler, and we know how we open DSOs. ++ lt_cv_dlopen=dlopen ++ lt_cv_dlopen_libs= ++ lt_cv_dlopen_self=no ++ ;; ++ ++ *) ++ ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" ++if test "x$ac_cv_func_shl_load" = xyes ++then : ++ lt_cv_dlopen=shl_load ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 ++printf %s "checking for shl_load in -ldld... " >&6; } ++if test ${ac_cv_lib_dld_shl_load+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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. */ ++char shl_load (); ++int ++main (void) ++{ ++return shl_load (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO" ++then : ++ ac_cv_lib_dld_shl_load=yes ++else $as_nop ++ ac_cv_lib_dld_shl_load=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 ++printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; } ++if test "x$ac_cv_lib_dld_shl_load" = xyes ++then : ++ lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld ++else $as_nop ++ ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" ++if test "x$ac_cv_func_dlopen" = xyes ++then : ++ lt_cv_dlopen=dlopen ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 ++printf %s "checking for dlopen in -ldl... " >&6; } ++if test ${ac_cv_lib_dl_dlopen+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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. */ ++char dlopen (); ++int ++main (void) ++{ ++return dlopen (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO" ++then : ++ ac_cv_lib_dl_dlopen=yes ++else $as_nop ++ ac_cv_lib_dl_dlopen=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 ++printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } ++if test "x$ac_cv_lib_dl_dlopen" = xyes ++then : ++ lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 ++printf %s "checking for dlopen in -lsvld... " >&6; } ++if test ${ac_cv_lib_svld_dlopen+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lsvld $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. */ ++char dlopen (); ++int ++main (void) ++{ ++return dlopen (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO" ++then : ++ ac_cv_lib_svld_dlopen=yes ++else $as_nop ++ ac_cv_lib_svld_dlopen=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 ++printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; } ++if test "x$ac_cv_lib_svld_dlopen" = xyes ++then : ++ lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 ++printf %s "checking for dld_link in -ldld... " >&6; } ++if test ${ac_cv_lib_dld_dld_link+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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. */ ++char dld_link (); ++int ++main (void) ++{ ++return dld_link (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO" ++then : ++ ac_cv_lib_dld_dld_link=yes ++else $as_nop ++ ac_cv_lib_dld_dld_link=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 ++printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; } ++if test "x$ac_cv_lib_dld_dld_link" = xyes ++then : ++ lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld ++fi ++ ++ ++fi ++ ++ ++fi ++ ++ ++fi ++ ++ ++fi ++ ++ ++fi ++ ++ ;; ++ esac ++ ++ if test no = "$lt_cv_dlopen"; then ++ enable_dlopen=no ++ else ++ enable_dlopen=yes ++ fi ++ ++ case $lt_cv_dlopen in ++ dlopen) ++ save_CPPFLAGS=$CPPFLAGS ++ test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" ++ ++ save_LDFLAGS=$LDFLAGS ++ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" ++ ++ save_LIBS=$LIBS ++ LIBS="$lt_cv_dlopen_libs $LIBS" ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 ++printf %s "checking whether a program can dlopen itself... " >&6; } ++if test ${lt_cv_dlopen_self+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test yes = "$cross_compiling"; then : ++ lt_cv_dlopen_self=cross ++else ++ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 ++ lt_status=$lt_dlunknown ++ cat > conftest.$ac_ext <<_LT_EOF ++#line $LINENO "configure" ++#include "confdefs.h" ++ ++#if HAVE_DLFCN_H ++#include ++#endif ++ ++#include ++ ++#ifdef RTLD_GLOBAL ++# define LT_DLGLOBAL RTLD_GLOBAL + #else +-# define ISLOWER(c) \ +- (('a' <= (c) && (c) <= 'i') \ +- || ('j' <= (c) && (c) <= 'r') \ +- || ('s' <= (c) && (c) <= 'z')) +-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) ++# ifdef DL_GLOBAL ++# define LT_DLGLOBAL DL_GLOBAL ++# else ++# define LT_DLGLOBAL 0 ++# endif + #endif + +-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) ++/* We may have to define LT_DLLAZY_OR_NOW in the command line if we ++ find out it does not work in some platform. */ ++#ifndef LT_DLLAZY_OR_NOW ++# ifdef RTLD_LAZY ++# define LT_DLLAZY_OR_NOW RTLD_LAZY ++# else ++# ifdef DL_LAZY ++# define LT_DLLAZY_OR_NOW DL_LAZY ++# else ++# ifdef RTLD_NOW ++# define LT_DLLAZY_OR_NOW RTLD_NOW ++# else ++# ifdef DL_NOW ++# define LT_DLLAZY_OR_NOW DL_NOW ++# else ++# define LT_DLLAZY_OR_NOW 0 ++# endif ++# endif ++# endif ++# endif ++#endif ++ ++/* When -fvisibility=hidden is used, assume the code has been annotated ++ correspondingly for the symbols needed. */ ++#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) ++int fnord () __attribute__((visibility("default"))); ++#endif ++ ++int fnord () { return 42; } ++int main () ++{ ++ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); ++ int status = $lt_dlunknown; ++ ++ if (self) ++ { ++ if (dlsym (self,"fnord")) status = $lt_dlno_uscore; ++ else ++ { ++ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; ++ else puts (dlerror ()); ++ } ++ /* dlclose (self); */ ++ } ++ else ++ puts (dlerror ()); ++ ++ return status; ++} ++_LT_EOF ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then ++ (./conftest; exit; ) >&5 2>/dev/null ++ lt_status=$? ++ case x$lt_status in ++ x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; ++ x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; ++ x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; ++ esac ++ else : ++ # compilation failed ++ lt_cv_dlopen_self=no ++ fi ++fi ++rm -fr conftest* ++ ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 ++printf "%s\n" "$lt_cv_dlopen_self" >&6; } ++ ++ if test yes = "$lt_cv_dlopen_self"; then ++ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 ++printf %s "checking whether a statically linked program can dlopen itself... " >&6; } ++if test ${lt_cv_dlopen_self_static+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test yes = "$cross_compiling"; then : ++ lt_cv_dlopen_self_static=cross ++else ++ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 ++ lt_status=$lt_dlunknown ++ cat > conftest.$ac_ext <<_LT_EOF ++#line $LINENO "configure" ++#include "confdefs.h" ++ ++#if HAVE_DLFCN_H ++#include ++#endif ++ ++#include ++ ++#ifdef RTLD_GLOBAL ++# define LT_DLGLOBAL RTLD_GLOBAL ++#else ++# ifdef DL_GLOBAL ++# define LT_DLGLOBAL DL_GLOBAL ++# else ++# define LT_DLGLOBAL 0 ++# endif ++#endif ++ ++/* We may have to define LT_DLLAZY_OR_NOW in the command line if we ++ find out it does not work in some platform. */ ++#ifndef LT_DLLAZY_OR_NOW ++# ifdef RTLD_LAZY ++# define LT_DLLAZY_OR_NOW RTLD_LAZY ++# else ++# ifdef DL_LAZY ++# define LT_DLLAZY_OR_NOW DL_LAZY ++# else ++# ifdef RTLD_NOW ++# define LT_DLLAZY_OR_NOW RTLD_NOW ++# else ++# ifdef DL_NOW ++# define LT_DLLAZY_OR_NOW DL_NOW ++# else ++# define LT_DLLAZY_OR_NOW 0 ++# endif ++# endif ++# endif ++# endif ++#endif ++ ++/* When -fvisibility=hidden is used, assume the code has been annotated ++ correspondingly for the symbols needed. */ ++#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) ++int fnord () __attribute__((visibility("default"))); ++#endif ++ ++int fnord () { return 42; } ++int main () ++{ ++ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); ++ int status = $lt_dlunknown; ++ ++ if (self) ++ { ++ if (dlsym (self,"fnord")) status = $lt_dlno_uscore; ++ else ++ { ++ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; ++ else puts (dlerror ()); ++ } ++ /* dlclose (self); */ ++ } ++ else ++ puts (dlerror ()); ++ ++ return status; ++} ++_LT_EOF ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then ++ (./conftest; exit; ) >&5 2>/dev/null ++ lt_status=$? ++ case x$lt_status in ++ x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; ++ x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; ++ x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; ++ esac ++ else : ++ # compilation failed ++ lt_cv_dlopen_self_static=no ++ fi ++fi ++rm -fr conftest* ++ ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 ++printf "%s\n" "$lt_cv_dlopen_self_static" >&6; } ++ fi ++ ++ CPPFLAGS=$save_CPPFLAGS ++ LDFLAGS=$save_LDFLAGS ++ LIBS=$save_LIBS ++ ;; ++ esac ++ ++ case $lt_cv_dlopen_self in ++ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; ++ *) enable_dlopen_self=unknown ;; ++ esac ++ ++ case $lt_cv_dlopen_self_static in ++ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; ++ *) enable_dlopen_self_static=unknown ;; ++ esac ++fi ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++striplib= ++old_striplib= ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 ++printf %s "checking whether stripping libraries is possible... " >&6; } ++if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then ++ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" ++ test -z "$striplib" && striplib="$STRIP --strip-unneeded" ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else ++# FIXME - insert some real tests, host_os isn't really good enough ++ case $host_os in ++ darwin*) ++ if test -n "$STRIP"; then ++ striplib="$STRIP -x" ++ old_striplib="$STRIP -S" ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++ else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++ fi ++ ;; ++ *) ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++ ;; ++ esac ++fi ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ # Report what library types will actually be built ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 ++printf %s "checking if libtool supports shared libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 ++printf "%s\n" "$can_build_shared" >&6; } ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 ++printf %s "checking whether to build shared libraries... " >&6; } ++ test no = "$can_build_shared" && enable_shared=no ++ ++ # On AIX, shared libraries and static libraries use the same namespace, and ++ # are all built from PIC. ++ case $host_os in ++ aix3*) ++ test yes = "$enable_shared" && enable_static=no ++ if test -n "$RANLIB"; then ++ archive_cmds="$archive_cmds~\$RANLIB \$lib" ++ postinstall_cmds='$RANLIB $lib' ++ fi ++ ;; ++ ++ aix[4-9]*) ++ if test ia64 != "$host_cpu"; then ++ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in ++ yes,aix,yes) ;; # shared object as lib.so file only ++ yes,svr4,*) ;; # shared object as lib.so archive member only ++ yes,*) enable_static=no ;; # shared object in lib.a archive as well ++ esac ++ fi ++ ;; ++ esac ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 ++printf "%s\n" "$enable_shared" >&6; } ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 ++printf %s "checking whether to build static libraries... " >&6; } ++ # Make sure either enable_shared or enable_static is yes. ++ test yes = "$enable_shared" || enable_static=yes ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 ++printf "%s\n" "$enable_static" >&6; } ++ ++ ++ ++ ++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 ++ ++CC=$lt_save_CC ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ac_config_commands="$ac_config_commands libtool" ++ ++ ++ ++ ++# Only expand once: ++ ++ ++ ++ ++ ++ ++ISODATE=`date +%Y-%m-%d` ++ ++ ++ ++case $host_os in ++hpux*) ++ ++printf "%s\n" "@%:@define CRLIBM_TYPEOS_HPUX 1" >>confdefs.h ++;; ++*cygwin* | *mingw* | *uwin* | *djgpp | *emx*) ++ ++printf "%s\n" "@%:@define CRLIBM_TYPEOS_CYGWIN 1" >>confdefs.h ++;; ++freebsd*|netbsd*|darwin*) ++ ++printf "%s\n" "@%:@define CRLIBM_TYPEOS_BSD 1" >>confdefs.h ++;; ++esac; ++ ++ ++case $host_cpu in ++alpha) ++ ++printf "%s\n" "@%:@define CRLIBM_TYPECPU_ALPHA 1" >>confdefs.h ++ ;; ++sparc) ++ ++printf "%s\n" "@%:@define CRLIBM_TYPECPU_SPARC 1" >>confdefs.h ++ ;; ++powerpc*) ++ ++printf "%s\n" "@%:@define CRLIBM_TYPECPU_POWERPC 1" >>confdefs.h ++;; ++i*86|k6|k7|pentium*|athlon*) ++ ++printf "%s\n" "@%:@define CRLIBM_TYPECPU_X86 1" >>confdefs.h ++ ++ has_ia32_de=true;; ++x86_64|amd64) ++ ++printf "%s\n" "@%:@define CRLIBM_TYPECPU_AMD64 1" >>confdefs.h ++ ++ has_ia32_de=true;; ++ia64) ++ ++printf "%s\n" "@%:@define CRLIBM_TYPECPU_ITANIUM 1" >>confdefs.h ++ ++ has_ia64_de=true;; ++esac; ++ ++ ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 ++printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } ++set x ${MAKE-make} ++ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` ++if eval test \${ac_cv_prog_make_${ac_make}_set+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ cat >conftest.make <<\_ACEOF ++SHELL = /bin/sh ++all: ++ @echo '@@@%%%=$(MAKE)=@@@%%%' ++_ACEOF ++# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. ++case `${MAKE-make} -f conftest.make 2>/dev/null` in ++ *@@@%%%=?*=@@@%%%*) ++ eval ac_cv_prog_make_${ac_make}_set=yes;; ++ *) ++ eval ac_cv_prog_make_${ac_make}_set=no;; ++esac ++rm -f conftest.make ++fi ++if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++ SET_MAKE= ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++ SET_MAKE="MAKE=${MAKE-make}" ++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 ++ for ac_prog in gcc icc cc ++ 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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" ++ printf "%s\n" "$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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++ test -n "$CC" && break ++ done ++fi ++if test -z "$CC"; then ++ ac_ct_CC=$CC ++ for ac_prog in gcc icc cc ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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" ++ printf "%s\n" "$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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 ++printf "%s\n" "$ac_ct_CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "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:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ CC=$ac_ct_CC ++ fi ++fi ++ ++ ++test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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. ++printf "%s\n" "$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 -version; 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\"" ++printf "%s\n" "$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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } ++done ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 ++printf %s "checking whether the compiler supports GNU C... " >&6; } ++if test ${ac_cv_c_compiler_gnu+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ + int +-main () ++main (void) + { +- int i; +- for (i = 0; i < 256; i++) +- if (XOR (islower (i), ISLOWER (i)) +- || toupper (i) != TOUPPER (i)) +- return 2; ++#ifndef __GNUC__ ++ choke me ++#endif ++ ++ ; + return 0; + } + _ACEOF +-if ac_fn_c_try_run "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_compiler_gnu=yes ++else $as_nop ++ ac_compiler_gnu=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++ac_cv_c_compiler_gnu=$ac_compiler_gnu ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 ++printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++if test $ac_compiler_gnu = yes; then ++ GCC=yes ++else ++ GCC= ++fi ++ac_test_CFLAGS=${CFLAGS+y} ++ac_save_CFLAGS=$CFLAGS ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 ++printf %s "checking whether $CC accepts -g... " >&6; } ++if test ${ac_cv_prog_cc_g+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 (void) ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_g=yes ++else $as_nop ++ CFLAGS="" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main (void) ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO" ++then : + ++else $as_nop ++ ac_c_werror_flag=$ac_save_c_werror_flag ++ CFLAGS="-g" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main (void) ++{ ++ ++ ; ++ 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.beam conftest.$ac_ext ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++ ac_c_werror_flag=$ac_save_c_werror_flag ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 ++printf "%s\n" "$ac_cv_prog_cc_g" >&6; } ++if test $ac_test_CFLAGS; 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 +- ac_cv_header_stdc=no ++ if test "$GCC" = yes; then ++ CFLAGS="-O2" ++ else ++ CFLAGS= ++ fi + fi +-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ +- conftest.$ac_objext conftest.beam conftest.$ac_ext ++ac_prog_cc_stdc=no ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 ++printf %s "checking for $CC option to enable C11 features... " >&6; } ++if test ${ac_cv_prog_cc_c11+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c11=no ++ac_save_CC=$CC ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_c_conftest_c11_program ++_ACEOF ++for ac_arg in '' -std=gnu11 ++do ++ CC="$ac_save_CC $ac_arg" ++ if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_c11=$ac_arg + fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cc_c11" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CC=$ac_save_CC ++fi + ++if test "x$ac_cv_prog_cc_c11" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c11" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } ++ CC="$CC $ac_cv_prog_cc_c11" + fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 ++ ac_prog_cc_stdc=c11 + 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 ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 ++printf %s "checking for $CC option to enable C99 features... " >&6; } ++if test ${ac_cv_prog_cc_c99+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c99=no ++ac_save_CC=$CC ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_c_conftest_c99_program ++_ACEOF ++for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= ++do ++ CC="$ac_save_CC $ac_arg" ++ if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_c99=$ac_arg ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cc_c99" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CC=$ac_save_CC ++fi + ++if test "x$ac_cv_prog_cc_c99" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c99" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } ++ CC="$CC $ac_cv_prog_cc_c99" + fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 ++ ac_prog_cc_stdc=c99 ++fi ++fi ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 ++printf %s "checking for $CC option to enable C89 features... " >&6; } ++if test ${ac_cv_prog_cc_c89+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c89=no ++ac_save_CC=$CC ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_c_conftest_c89_program ++_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 conftest.beam ++ test "x$ac_cv_prog_cc_c89" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CC=$ac_save_CC ++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 ++if test "x$ac_cv_prog_cc_c89" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c89" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } ++ CC="$CC $ac_cv_prog_cc_c89" ++fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 ++ ac_prog_cc_stdc=c89 ++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 ++ ++ ++ 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 ++printf %s "checking whether $CC understands -c and -o together... " >&6; } ++if test ${am_cv_prog_cc_c_o+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main (void) ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++ # Make sure it works both with $CC and with simple cc. ++ # Following AC_PROG_CC_C_O, we do the test twice because some ++ # compilers refuse to overwrite an existing .o file with -o, ++ # though they will create one. ++ am_cv_prog_cc_c_o=yes ++ for am_i in 1 2; do ++ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 ++ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } \ ++ && test -f conftest2.$ac_objext; then ++ : OK ++ else ++ am_cv_prog_cc_c_o=no ++ break ++ fi ++ done ++ rm -f core conftest* ++ unset am_i ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 ++printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } ++if test "$am_cv_prog_cc_c_o" != yes; then ++ # Losing compiler, so override with the script. ++ # FIXME: It is wrong to rewrite CC. ++ # But if we don't then we get into trouble of one sort or another. ++ # A longer-term fix would be to have automake use am__CC in this case, ++ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" ++ CC="$am_aux_dir/compile $CC" ++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 ++ ++ ++depcc="$CC" am_compiler_list= ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 ++printf %s "checking dependency style of $depcc... " >&6; } ++if test ${am_cv_CC_dependencies_compiler_type+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then ++ # We make a subdir and do the tests there. Otherwise we can end up ++ # making bogus files that we don't know about and never remove. For ++ # instance it was reported that on HP-UX the gcc test will end up ++ # making a dummy file named 'D' -- because '-MD' means "put the output ++ # in D". ++ rm -rf conftest.dir ++ mkdir conftest.dir ++ # Copy depcomp to subdir because otherwise we won't find it if we're ++ # using a relative directory. ++ cp "$am_depcomp" conftest.dir ++ cd conftest.dir ++ # We will build objects and dependencies in a subdirectory because ++ # it helps to detect inapplicable dependency modes. For instance ++ # both Tru64's cc and ICC support -MD to output dependencies as a ++ # side effect of compilation, but ICC will put the dependencies in ++ # the current directory while Tru64 will put them in the object ++ # directory. ++ mkdir sub ++ ++ am_cv_CC_dependencies_compiler_type=none ++ if test "$am_compiler_list" = ""; then ++ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` ++ fi ++ am__universal=false ++ case " $depcc " in #( ++ *\ -arch\ *\ -arch\ *) am__universal=true ;; ++ esac ++ ++ for depmode in $am_compiler_list; do ++ # Setup a source with many dependencies, because some compilers ++ # like to wrap large dependency lists on column 80 (with \), and ++ # we should not choose a depcomp mode which is confused by this. ++ # ++ # We need to recreate these files for each test, as the compiler may ++ # overwrite some of them when testing with obscure command lines. ++ # This happens at least with the AIX C compiler. ++ : > sub/conftest.c ++ for i in 1 2 3 4 5 6; do ++ echo '#include "conftst'$i'.h"' >> sub/conftest.c ++ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with ++ # Solaris 10 /bin/sh. ++ echo '/* dummy */' > sub/conftst$i.h ++ done ++ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf ++ ++ # We check with '-c' and '-o' for the sake of the "dashmstdout" ++ # mode. It turns out that the SunPro C++ compiler does not properly ++ # handle '-M -o', and we need to detect this. Also, some Intel ++ # versions had trouble with output in subdirs. ++ am__obj=sub/conftest.${OBJEXT-o} ++ am__minus_obj="-o $am__obj" ++ case $depmode in ++ gcc) ++ # This depmode causes a compiler race in universal mode. ++ test "$am__universal" = false || continue ++ ;; ++ nosideeffect) ++ # After this tag, mechanisms are not by side-effect, so they'll ++ # only be used when explicitly requested. ++ if test "x$enable_dependency_tracking" = xyes; then ++ continue ++ else ++ break ++ fi ++ ;; ++ msvc7 | msvc7msys | msvisualcpp | msvcmsys) ++ # This compiler won't grok '-c -o', but also, the minuso test has ++ # not run yet. These depmodes are late enough in the game, and ++ # so weak that their functioning should not be impacted. ++ am__obj=conftest.${OBJEXT-o} ++ am__minus_obj= ++ ;; ++ none) break ;; ++ esac ++ if depmode=$depmode \ ++ source=sub/conftest.c object=$am__obj \ ++ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ ++ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ ++ >/dev/null 2>conftest.err && ++ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && ++ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && ++ grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then ++ # icc doesn't choke on unknown options, it will just issue warnings ++ # or remarks (even with -Werror). So we grep stderr for any message ++ # that says an option was ignored or not supported. ++ # When given -MP, icc 7.0 and 7.1 complain thusly: ++ # icc: Command line warning: ignoring option '-M'; no argument required ++ # The diagnosis changed in icc 8.0: ++ # icc: Command line remark: option '-MP' not supported ++ if (grep 'ignoring option' conftest.err || ++ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else ++ am_cv_CC_dependencies_compiler_type=$depmode ++ break ++ fi ++ fi ++ done ++ ++ cd .. ++ rm -rf conftest.dir + else ++ am_cv_CC_dependencies_compiler_type=none ++fi ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 ++printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } ++CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type ++ ++ if ++ test "x$enable_dependency_tracking" != xno \ ++ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then ++ am__fastdepCC_TRUE= ++ am__fastdepCC_FALSE='#' ++else ++ am__fastdepCC_TRUE='#' ++ am__fastdepCC_FALSE= ++fi ++ ++ ++ ++# Try to set compiler flags to get floating point arithmetics ++# to work. This is an old heritage and should become useless within 30 years ++# ++if test "${GCC}" != "yes" ; then ++ case "${build}" in ++ *-*-hpux* ) ++ AM_CFLAGS="${AM_CFLAGS} -Wp,-H30000" ++ ;; ++ *-dec-osf* ) ++ AM_CFLAGS="${AM_CFLAGS} -ieee" ++ ;; ++ *-apple-darwin* ) ++ AM_CFLAGS="${AM_CFLAGS} -fno-common" ++ ;; ++ *-sgi-irix* ) ++ ;; ++ esac ++else ++ case "${CC}" in ++ *icc* ) ++ # -Wall causes relocation errors with icc. ++ AM_CFLAGS="${AM_CFLAGS} -wd269" ++ ;; ++ * ) ++ case "${build}" in ++ *-dec-osf* ) ++ AM_CFLAGS="${AM_CFLAGS} -mieee -Wall" ++ ;; ++ *alpha*-*-linux* ) ++ AM_CFLAGS="${AM_CFLAGS} -mieee -Wall" ++ ;; ++ *alpha*-*-freebsd* ) ++ AM_CFLAGS="${AM_CFLAGS} -mieee -Wall" ++ ;; ++ *-apple-darwin* ) ++ AM_CFLAGS="${AM_CFLAGS} -fno-common -Wall" ++ ;; ++ * ) ++ AM_CFLAGS="${AM_CFLAGS} -Wall" ++ ;; ++ esac ++ ;; ++ esac ++fi ++ ++ ++ ++ ++ ++ ++ if test x$CC = xicc; then ++ COMPILER_ICC_TRUE= ++ COMPILER_ICC_FALSE='#' ++else ++ COMPILER_ICC_TRUE='#' ++ COMPILER_ICC_FALSE= ++fi ++ ++ ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 ++printf %s "checking whether ln -s works... " >&6; } ++LN_S=$as_ln_s ++if test "$LN_S" = "ln -s"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 ++printf "%s\n" "no, using $LN_S" >&6; } ++fi ++ ++ ++# Autoupdate added the next two lines to ensure that your configure ++# script's behavior did not change. They are probably safe to remove. ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 ++printf %s "checking for egrep... " >&6; } ++if test ${ac_cv_path_EGREP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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 ++ printf %s 0123456789 >"conftest.in" ++ while : ++ do ++ cat "conftest.in" "conftest.in" >"conftest.tmp" ++ mv "conftest.tmp" "conftest.in" ++ cp "conftest.in" "conftest.nl" ++ printf "%s\n" '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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 ++printf "%s\n" "$ac_cv_path_EGREP" >&6; } ++ EGREP="$ac_cv_path_EGREP" ++ ++ ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 ++printf %s "checking for an ANSI C-conforming const... " >&6; } ++if test ${ac_cv_c_const+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + #ifndef __cplusplus +@@ -4503,7 +13565,7 @@ + /* 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. ++ /* IBM 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 */ +@@ -4531,7 +13593,7 @@ + iptr p = 0; + ++p; + } +- { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying ++ { /* IBM 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; +@@ -4547,47 +13609,50 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_c_const=yes +-else ++else $as_nop + ac_cv_c_const=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 +-$as_echo "$ac_cv_c_const" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 ++printf "%s\n" "$ac_cv_c_const" >&6; } + if test $ac_cv_c_const = no; then + +-$as_echo "@%:@define const /**/" >>confdefs.h ++printf "%s\n" "@%:@define const /**/" >>confdefs.h + + fi + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 +-$as_echo_n "checking for inline... " >&6; } +-if ${ac_cv_c_inline+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 ++printf %s "checking for inline... " >&6; } ++if test ${ac_cv_c_inline+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_cv_c_inline=no + for ac_kw in inline __inline__ __inline; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #ifndef __cplusplus + typedef int foo_t; +-static $ac_kw foo_t static_foo () {return 0; } +-$ac_kw foo_t foo () {return 0; } ++static $ac_kw foo_t static_foo (void) {return 0; } ++$ac_kw foo_t foo (void) {return 0; } + #endif + + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_c_inline=$ac_kw + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + test "$ac_cv_c_inline" != no && break + done + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 +-$as_echo "$ac_cv_c_inline" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 ++printf "%s\n" "$ac_cv_c_inline" >&6; } + + case $ac_cv_c_inline in + inline | yes) ;; +@@ -4606,67 +13671,36 @@ + + + +-for ac_func in sqrt +-do : +- ac_fn_c_check_func "$LINENO" "sqrt" "ac_cv_func_sqrt" +-if test "x$ac_cv_func_sqrt" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_SQRT 1 +-_ACEOF +- +-fi +-done ++ac_fn_c_check_func "$LINENO" "sqrt" "ac_cv_func_sqrt" ++if test "x$ac_cv_func_sqrt" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_SQRT 1" >>confdefs.h + +-# 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_compile "$LINENO" "fenv.h" "ac_cv_header_fenv_h" "$ac_includes_default" ++if test "x$ac_cv_header_fenv_h" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_FENV_H 1" >>confdefs.h + +- +-for ac_header in fenv.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "fenv.h" "ac_cv_header_fenv_h" "$ac_includes_default" +-if test "x$ac_cv_header_fenv_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_FENV_H 1 +-_ACEOF +- + fi + +-done ++ac_fn_c_check_header_compile "$LINENO" "float.h" "ac_cv_header_float_h" "$ac_includes_default" ++if test "x$ac_cv_header_float_h" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_FLOAT_H 1" >>confdefs.h + +-for ac_header in float.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "float.h" "ac_cv_header_float_h" "$ac_includes_default" +-if test "x$ac_cv_header_float_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_FLOAT_H 1 +-_ACEOF +- + fi + +-done +- +-ac_fn_c_check_header_mongrel "$LINENO" "fpu_control.h" "ac_cv_header_fpu_control_h" "$ac_includes_default" +-if test "x$ac_cv_header_fpu_control_h" = xyes; then : ++ac_fn_c_check_header_compile "$LINENO" "fpu_control.h" "ac_cv_header_fpu_control_h" "$ac_includes_default" ++if test "x$ac_cv_header_fpu_control_h" = xyes ++then : + has_fpu_control=yes +-else ++else $as_nop + has_fpu_control=no + fi + + +- + if test x$has_fpu_control = xyes; then + HAS_FPU_CONTROL_TRUE= + HAS_FPU_CONTROL_FALSE='#' +@@ -4678,17 +13712,16 @@ + + if test x$has_fpu_control = xyes ; then + +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_HAS_FPU_CONTROL 1 +-_ACEOF ++printf "%s\n" "@%:@define CRLIBM_HAS_FPU_CONTROL 1" >>confdefs.h + + fi + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for log in -lm" >&5 +-$as_echo_n "checking for log in -lm... " >&6; } +-if ${ac_cv_lib_m_log+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for log in -lm" >&5 ++printf %s "checking for log in -lm... " >&6; } ++if test ${ac_cv_lib_m_log+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lm $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -4697,44 +13730,42 @@ + /* 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 log (); + int +-main () ++main (void) + { + return log (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_m_log=yes +-else ++else $as_nop + ac_cv_lib_m_log=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_log" >&5 +-$as_echo "$ac_cv_lib_m_log" >&6; } +-if test "x$ac_cv_lib_m_log" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBM 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_log" >&5 ++printf "%s\n" "$ac_cv_lib_m_log" >&6; } ++if test "x$ac_cv_lib_m_log" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBM 1" >>confdefs.h + + LIBS="-lm $LIBS" + + fi + + +- { $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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 ++printf %s "checking whether byte ordering is bigendian... " >&6; } ++if test ${ac_cv_c_bigendian+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -4745,7 +13776,8 @@ + typedef int dummy; + + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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. +@@ -4769,7 +13801,7 @@ + fi + done + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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 +@@ -4778,7 +13810,7 @@ + #include + + int +-main () ++main (void) + { + #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ +@@ -4790,7 +13822,8 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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. */ +@@ -4798,7 +13831,7 @@ + #include + + int +-main () ++main (void) + { + #if BYTE_ORDER != BIG_ENDIAN + not big endian +@@ -4808,14 +13841,15 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_c_bigendian=yes +-else ++else $as_nop + ac_cv_c_bigendian=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). +@@ -4824,7 +13858,7 @@ + #include + + int +-main () ++main (void) + { + #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros +@@ -4834,14 +13868,15 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 () ++main (void) + { + #ifndef _BIG_ENDIAN + not big endian +@@ -4851,31 +13886,33 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_c_bigendian=yes +-else ++else $as_nop + ac_cv_c_bigendian=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. +- if test "$cross_compiling" = yes; then : ++ 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[] = ++unsigned short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; +- short int ascii_ii[] = ++ unsigned 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[] = ++ unsigned short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; +- short int ebcdic_mm[] = ++ unsigned short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; +@@ -4883,14 +13920,15 @@ + extern int foo; + + int +-main () ++main (void) + { + return use_ascii (foo) == use_ebcdic (foo); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi +@@ -4903,13 +13941,13 @@ + fi + fi + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +-else ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $ac_includes_default + int +-main () ++main (void) + { + + /* Are we little or big endian? From Harbison&Steele. */ +@@ -4925,9 +13963,10 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_run "$LINENO"; then : ++if ac_fn_c_try_run "$LINENO" ++then : + ac_cv_c_bigendian=no +-else ++else $as_nop + ac_cv_c_bigendian=yes + fi + rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ +@@ -4936,17 +13975,17 @@ + + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 +-$as_echo "$ac_cv_c_bigendian" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 ++printf "%s\n" "$ac_cv_c_bigendian" >&6; } + case $ac_cv_c_bigendian in #( + yes) +- $as_echo "@%:@define WORDS_BIGENDIAN 1" >>confdefs.h ++ printf "%s\n" "@%:@define WORDS_BIGENDIAN 1" >>confdefs.h + ;; #( + no) + ;; #( + universal) + +-$as_echo "@%:@define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ++printf "%s\n" "@%:@define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h + + ;; #( + *) +@@ -4957,11 +13996,12 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double with more range or precision than double" >&5 +-$as_echo_n "checking for long double with more range or precision than double... " >&6; } +-if ${ac_cv_type_long_double_wider+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for long double with more range or precision than double" >&5 ++printf %s "checking for long double with more range or precision than double... " >&6; } ++if test ${ac_cv_type_long_double_wider+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #include +@@ -4978,7 +14018,7 @@ + } + + int +-main () ++main (void) + { + static int test_array @<:@1 - 2 * !((0 < ((DBL_MAX_EXP < LDBL_MAX_EXP) + + (DBL_MANT_DIG < LDBL_MANT_DIG) +@@ -4993,25 +14033,26 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_type_long_double_wider=yes +-else ++else $as_nop + ac_cv_type_long_double_wider=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_double_wider" >&5 +-$as_echo "$ac_cv_type_long_double_wider" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_double_wider" >&5 ++printf "%s\n" "$ac_cv_type_long_double_wider" >&6; } + if test $ac_cv_type_long_double_wider = yes; then + +-$as_echo "@%:@define HAVE_LONG_DOUBLE_WIDER 1" >>confdefs.h ++printf "%s\n" "@%:@define HAVE_LONG_DOUBLE_WIDER 1" >>confdefs.h + + fi + + ac_cv_c_long_double=$ac_cv_type_long_double_wider + if test $ac_cv_c_long_double = yes; then + +-$as_echo "@%:@define HAVE_LONG_DOUBLE 1" >>confdefs.h ++printf "%s\n" "@%:@define HAVE_LONG_DOUBLE 1" >>confdefs.h + + fi + +@@ -5021,17 +14062,19 @@ + # 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 ++printf %s "checking size of int... " >&6; } ++if test ${ac_cv_sizeof_int+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default" ++then : + +-else ++else $as_nop + 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;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (int) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -5040,14 +14083,12 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 +-$as_echo "$ac_cv_sizeof_int" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 ++printf "%s\n" "$ac_cv_sizeof_int" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-@%:@define SIZEOF_INT $ac_cv_sizeof_int +-_ACEOF ++printf "%s\n" "@%:@define SIZEOF_INT $ac_cv_sizeof_int" >>confdefs.h + + + +@@ -5065,18 +14106,17 @@ + + + @%:@ Check whether --enable-sse2 was given. +-if test "${enable_sse2+set}" = set; then : ++if test ${enable_sse2+y} ++then : + enableval=$enable_sse2; case $enableval in + yes) + +-cat >>confdefs.h <<_ACEOF +-@%:@define HAS_SSE2 1 +-_ACEOF ++printf "%s\n" "@%:@define HAS_SSE2 1" >>confdefs.h + ;; + no) ;; + *) as_fn_error $? "bad value $enableval for --enable-sse2, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_sse2=no + fi + +@@ -5093,18 +14133,17 @@ + + + @%:@ Check whether --enable-interval-functions was given. +-if test "${enable_interval_functions+set}" = set; then : ++if test ${enable_interval_functions+y} ++then : + enableval=$enable_interval_functions; case $enableval in + yes) + +-cat >>confdefs.h <<_ACEOF +-@%:@define BUILD_INTERVAL_FUNCTIONS 1 +-_ACEOF ++printf "%s\n" "@%:@define BUILD_INTERVAL_FUNCTIONS 1" >>confdefs.h + ;; + no) ;; + *) as_fn_error $? "bad value $enableval for --enable-interval-functions, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_interval_functions=no + fi + +@@ -5120,12 +14159,13 @@ + + + @%:@ Check whether --enable-double-extended was given. +-if test "${enable_double_extended+set}" = set; then : ++if test ${enable_double_extended+y} ++then : + enableval=$enable_double_extended; case $enableval in + yes|no) ;; + *) as_fn_error $? "bad value $enableval for --enable-double-extended, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_double_extended=yes + fi + +@@ -5149,40 +14189,34 @@ + + + @%:@ Check whether --enable-nbdigits was given. +-if test "${enable_nbdigits+set}" = set; then : ++if test ${enable_nbdigits+y} ++then : + enableval=$enable_nbdigits; case $enableval in + *[0-9]) +-cat >>confdefs.h <<_ACEOF +-@%:@define SCS_NB_WORDS $enableval +-_ACEOF ++printf "%s\n" "@%:@define SCS_NB_WORDS $enableval" >>confdefs.h + ;; + *) as_fn_error $? "bad value $enableval for --enable-nbdigits, number expected" "$LINENO" 5 ;; + esac +-else ++else $as_nop + +-cat >>confdefs.h <<_ACEOF +-@%:@define SCS_NB_WORDS 8 +-_ACEOF ++printf "%s\n" "@%:@define SCS_NB_WORDS 8" >>confdefs.h + + + fi + + + @%:@ Check whether --enable-digitsize was given. +-if test "${enable_digitsize+set}" = set; then : ++if test ${enable_digitsize+y} ++then : + enableval=$enable_digitsize; case $enableval in + *[0-9]) +-cat >>confdefs.h <<_ACEOF +-@%:@define SCS_NB_BITS $enableval +-_ACEOF ++printf "%s\n" "@%:@define SCS_NB_BITS $enableval" >>confdefs.h + ;; + *) as_fn_error $? "bad value $enableval for --enable-digitsize, number expected" "$LINENO" 5 ;; + esac +-else ++else $as_nop + +-cat >>confdefs.h <<_ACEOF +-@%:@define SCS_NB_BITS 30 +-_ACEOF ++printf "%s\n" "@%:@define SCS_NB_BITS 30" >>confdefs.h + + + fi +@@ -5190,48 +14224,52 @@ + + + @%:@ Check whether --enable-mpfr was given. +-if test "${enable_mpfr+set}" = set; then : ++if test ${enable_mpfr+y} ++then : + enableval=$enable_mpfr; case $enableval in + yes|no) ;; + *) as_fn_error $? "bad value $enableval for --enable-mpfr, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_mpfr=no + fi + + + + @%:@ Check whether --enable-gmp was given. +-if test "${enable_gmp+set}" = set; then : ++if test ${enable_gmp+y} ++then : + enableval=$enable_gmp; case $enableval in + yes|no) ;; + *) as_fn_error $? "bad value $enableval for --enable-gmp, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_gmp=no + fi + + + + @%:@ Check whether --enable-ultim was given. +-if test "${enable_ultim+set}" = set; then : ++if test ${enable_ultim+y} ++then : + enableval=$enable_ultim; case $enableval in + yes|no) ;; + *) as_fn_error $? "bad value $enableval for --enable-ultim, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_ultim=no + fi + + + + @%:@ Check whether --enable-mcr was given. +-if test "${enable_mcr+set}" = set; then : ++if test ${enable_mcr+y} ++then : + enableval=$enable_mcr; case $enableval in + yes|no) ;; + *) as_fn_error $? "bad value $enableval for --enable-mcr, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_mcr=no + fi + +@@ -5243,19 +14281,22 @@ + + + @%:@ Check whether --with-gmp_include was given. +-if test "${with_gmp_include+set}" = set; then : ++if test ${with_gmp_include+y} ++then : + withval=$with_gmp_include; with_gmp_include=$withval + fi + + + @%:@ Check whether --with-gmp_lib was given. +-if test "${with_gmp_lib+set}" = set; then : ++if test ${with_gmp_lib+y} ++then : + withval=$with_gmp_lib; with_gmp_lib=$withval + fi + + + @%:@ Check whether --with-gmp was given. +-if test "${with_gmp+set}" = set; then : ++if test ${with_gmp+y} ++then : + withval=$with_gmp; with_gmp_include=$withval/include with_gmp_lib=$withval/lib + fi + +@@ -5268,8 +14309,8 @@ + + if ` test "$with_gmp_lib" ` + then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking gmp library" >&5 +-$as_echo_n "checking gmp library... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking gmp library" >&5 ++printf %s "checking gmp library... " >&6; } + if test -r "$with_gmp_lib/libgmp.a" -o -r "$with_gmp_lib/libgmp.so" + then + LDFLAGS="$LDFLAGS -L$with_gmp_lib" +@@ -5277,14 +14318,15 @@ + else + as_fn_error $? "gmp not found" "$LINENO" 5 + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lgmp" >&5 +-$as_echo_n "checking for main in -lgmp... " >&6; } +-if ${ac_cv_lib_gmp_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lgmp" >&5 ++printf %s "checking for main in -lgmp... " >&6; } ++if test ${ac_cv_lib_gmp_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lgmp $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -5292,32 +14334,32 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_gmp_main=yes +-else ++else $as_nop + ac_cv_lib_gmp_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp_main" >&5 +-$as_echo "$ac_cv_lib_gmp_main" >&6; } +-if test "x$ac_cv_lib_gmp_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBGMP 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp_main" >&5 ++printf "%s\n" "$ac_cv_lib_gmp_main" >&6; } ++if test "x$ac_cv_lib_gmp_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBGMP 1" >>confdefs.h + + LIBS="-lgmp $LIBS" + +-else ++else $as_nop + as_fn_error $? "gmp not found" "$LINENO" 5 + fi + +@@ -5325,24 +14367,20 @@ + + + +-for ac_header in gmp.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" +-if test "x$ac_cv_header_gmp_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_GMP_H 1 +-_ACEOF +- ++ac_fn_c_check_header_compile "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" ++if test "x$ac_cv_header_gmp_h" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_GMP_H 1" >>confdefs.h ++ + fi + +-done + +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lgmp" >&5 +-$as_echo_n "checking for main in -lgmp... " >&6; } +-if ${ac_cv_lib_gmp_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lgmp" >&5 ++printf %s "checking for main in -lgmp... " >&6; } ++if test ${ac_cv_lib_gmp_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lgmp $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -5350,28 +14388,28 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_gmp_main=yes +-else ++else $as_nop + ac_cv_lib_gmp_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp_main" >&5 +-$as_echo "$ac_cv_lib_gmp_main" >&6; } +-if test "x$ac_cv_lib_gmp_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBGMP 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp_main" >&5 ++printf "%s\n" "$ac_cv_lib_gmp_main" >&6; } ++if test "x$ac_cv_lib_gmp_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBGMP 1" >>confdefs.h + + LIBS="-lgmp $LIBS" + +@@ -5386,19 +14424,22 @@ + if test "$enable_mpfr" = "yes"; then + + @%:@ Check whether --with-mpfr_include was given. +-if test "${with_mpfr_include+set}" = set; then : ++if test ${with_mpfr_include+y} ++then : + withval=$with_mpfr_include; with_mpfr_include=$withval + fi + + + @%:@ Check whether --with-mpfr_lib was given. +-if test "${with_mpfr_lib+set}" = set; then : ++if test ${with_mpfr_lib+y} ++then : + withval=$with_mpfr_lib; with_mpfr_lib=$withval + fi + + + @%:@ Check whether --with-mpfr was given. +-if test "${with_mpfr+set}" = set; then : ++if test ${with_mpfr+y} ++then : + withval=$with_mpfr; with_mpfr_include=$withval/include with_mpfr_lib=$withval/lib + fi + +@@ -5411,8 +14452,8 @@ + + if ` test "$with_mpfr_lib" ` + then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking mpfr library" >&5 +-$as_echo_n "checking mpfr library... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking mpfr library" >&5 ++printf %s "checking mpfr library... " >&6; } + if test -r "$with_mpfr_lib/libmpfr.a" -o -r "$with_mpfr_lib/libmpfr.so" + then + LDFLAGS="$LDFLAGS -L$with_mpfr_lib" +@@ -5420,14 +14461,15 @@ + else + as_fn_error $? "mpfr not found" "$LINENO" 5 + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmpfr" >&5 +-$as_echo_n "checking for main in -lmpfr... " >&6; } +-if ${ac_cv_lib_mpfr_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lmpfr" >&5 ++printf %s "checking for main in -lmpfr... " >&6; } ++if test ${ac_cv_lib_mpfr_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lmpfr $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -5435,32 +14477,32 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_mpfr_main=yes +-else ++else $as_nop + ac_cv_lib_mpfr_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_main" >&5 +-$as_echo "$ac_cv_lib_mpfr_main" >&6; } +-if test "x$ac_cv_lib_mpfr_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBMPFR 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_main" >&5 ++printf "%s\n" "$ac_cv_lib_mpfr_main" >&6; } ++if test "x$ac_cv_lib_mpfr_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBMPFR 1" >>confdefs.h + + LIBS="-lmpfr $LIBS" + +-else ++else $as_nop + as_fn_error $? "mpfr not found" "$LINENO" 5 + fi + +@@ -5469,25 +14511,21 @@ + + + +-for ac_header in mpfr.h +-do : +- ac_fn_c_check_header_compile "$LINENO" "mpfr.h" "ac_cv_header_mpfr_h" "#include ++ac_fn_c_check_header_compile "$LINENO" "mpfr.h" "ac_cv_header_mpfr_h" "#include + " +-if test "x$ac_cv_header_mpfr_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_MPFR_H 1 +-_ACEOF +- ++if test "x$ac_cv_header_mpfr_h" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_MPFR_H 1" >>confdefs.h ++ + fi + +-done + +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmpfr" >&5 +-$as_echo_n "checking for main in -lmpfr... " >&6; } +-if ${ac_cv_lib_mpfr_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lmpfr" >&5 ++printf %s "checking for main in -lmpfr... " >&6; } ++if test ${ac_cv_lib_mpfr_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lmpfr $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -5495,28 +14533,28 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_mpfr_main=yes +-else ++else $as_nop + ac_cv_lib_mpfr_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_main" >&5 +-$as_echo "$ac_cv_lib_mpfr_main" >&6; } +-if test "x$ac_cv_lib_mpfr_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBMPFR 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_main" >&5 ++printf "%s\n" "$ac_cv_lib_mpfr_main" >&6; } ++if test "x$ac_cv_lib_mpfr_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBMPFR 1" >>confdefs.h + + LIBS="-lmpfr $LIBS" + +@@ -5531,19 +14569,22 @@ + + + @%:@ Check whether --with-ultim_include was given. +-if test "${with_ultim_include+set}" = set; then : ++if test ${with_ultim_include+y} ++then : + withval=$with_ultim_include; with_ultim_include=$withval + fi + + + @%:@ Check whether --with-ultim_lib was given. +-if test "${with_ultim_lib+set}" = set; then : ++if test ${with_ultim_lib+y} ++then : + withval=$with_ultim_lib; with_ultim_lib=$withval + fi + + + @%:@ Check whether --with-ultim was given. +-if test "${with_ultim+set}" = set; then : ++if test ${with_ultim+y} ++then : + withval=$with_ultim; with_ultim_include=$withval/include with_ultim_lib=$withval/lib + fi + +@@ -5556,8 +14597,8 @@ + + if ` test "$with_ultim_lib" ` + then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking ultim library" >&5 +-$as_echo_n "checking ultim library... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking ultim library" >&5 ++printf %s "checking ultim library... " >&6; } + if test -r "$with_ultim_lib/libultim.a" -o -r "$with_ultim_lib/libultim.so" + then + LDFLAGS="$LDFLAGS -L$with_ultim_lib" +@@ -5565,14 +14606,15 @@ + else + as_fn_error $? "ultim not found" "$LINENO" 5 + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lultim" >&5 +-$as_echo_n "checking for main in -lultim... " >&6; } +-if ${ac_cv_lib_ultim_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lultim" >&5 ++printf %s "checking for main in -lultim... " >&6; } ++if test ${ac_cv_lib_ultim_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lultim $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -5580,32 +14622,32 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_ultim_main=yes +-else ++else $as_nop + ac_cv_lib_ultim_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ultim_main" >&5 +-$as_echo "$ac_cv_lib_ultim_main" >&6; } +-if test "x$ac_cv_lib_ultim_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBULTIM 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ultim_main" >&5 ++printf "%s\n" "$ac_cv_lib_ultim_main" >&6; } ++if test "x$ac_cv_lib_ultim_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBULTIM 1" >>confdefs.h + + LIBS="-lultim $LIBS" + +-else ++else $as_nop + as_fn_error $? "ultim not found" "$LINENO" 5 + fi + +@@ -5613,24 +14655,20 @@ + + + +-for ac_header in MathLib.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "MathLib.h" "ac_cv_header_MathLib_h" "$ac_includes_default" +-if test "x$ac_cv_header_MathLib_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_MATHLIB_H 1 +-_ACEOF +- ++ac_fn_c_check_header_compile "$LINENO" "MathLib.h" "ac_cv_header_MathLib_h" "$ac_includes_default" ++if test "x$ac_cv_header_MathLib_h" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_MATHLIB_H 1" >>confdefs.h ++ + fi + +-done + +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lultim" >&5 +-$as_echo_n "checking for main in -lultim... " >&6; } +-if ${ac_cv_lib_ultim_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lultim" >&5 ++printf %s "checking for main in -lultim... " >&6; } ++if test ${ac_cv_lib_ultim_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lultim $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -5638,28 +14676,28 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_ultim_main=yes +-else ++else $as_nop + ac_cv_lib_ultim_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ultim_main" >&5 +-$as_echo "$ac_cv_lib_ultim_main" >&6; } +-if test "x$ac_cv_lib_ultim_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBULTIM 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ultim_main" >&5 ++printf "%s\n" "$ac_cv_lib_ultim_main" >&6; } ++if test "x$ac_cv_lib_ultim_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBULTIM 1" >>confdefs.h + + LIBS="-lultim $LIBS" + +@@ -5674,19 +14712,22 @@ + + + @%:@ Check whether --with-mcr_include was given. +-if test "${with_mcr_include+set}" = set; then : ++if test ${with_mcr_include+y} ++then : + withval=$with_mcr_include; with_mcr_include=$withval + fi + + + @%:@ Check whether --with-mcr_lib was given. +-if test "${with_mcr_lib+set}" = set; then : ++if test ${with_mcr_lib+y} ++then : + withval=$with_mcr_lib; with_mcr_lib=$withval + fi + + + @%:@ Check whether --with-mcr was given. +-if test "${with_mcr+set}" = set; then : ++if test ${with_mcr+y} ++then : + withval=$with_mcr; with_mcr_include=$withval/include with_mcr_lib=$withval/lib + fi + +@@ -5699,8 +14740,8 @@ + + if ` test "$with_mcr_lib" ` + then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking mcr library" >&5 +-$as_echo_n "checking mcr library... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking mcr library" >&5 ++printf %s "checking mcr library... " >&6; } + if test -r "$with_mcr_lib/libmcr.a" -o -r "$with_mcr_lib/libmcr.so" + then + LDFLAGS="$LDFLAGS -L$with_mcr_lib" +@@ -5708,14 +14749,15 @@ + else + as_fn_error $? "mcr not found" "$LINENO" 5 + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmcr" >&5 +-$as_echo_n "checking for main in -lmcr... " >&6; } +-if ${ac_cv_lib_mcr_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lmcr" >&5 ++printf %s "checking for main in -lmcr... " >&6; } ++if test ${ac_cv_lib_mcr_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lmcr $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -5723,32 +14765,32 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_mcr_main=yes +-else ++else $as_nop + ac_cv_lib_mcr_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mcr_main" >&5 +-$as_echo "$ac_cv_lib_mcr_main" >&6; } +-if test "x$ac_cv_lib_mcr_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBMCR 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mcr_main" >&5 ++printf "%s\n" "$ac_cv_lib_mcr_main" >&6; } ++if test "x$ac_cv_lib_mcr_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBMCR 1" >>confdefs.h + + LIBS="-lmcr $LIBS" + +-else ++else $as_nop + as_fn_error $? "mcr not found" "$LINENO" 5 + fi + +@@ -5756,24 +14798,20 @@ + + + +-for ac_header in libmcr.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "libmcr.h" "ac_cv_header_libmcr_h" "$ac_includes_default" +-if test "x$ac_cv_header_libmcr_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBMCR_H 1 +-_ACEOF +- ++ac_fn_c_check_header_compile "$LINENO" "libmcr.h" "ac_cv_header_libmcr_h" "$ac_includes_default" ++if test "x$ac_cv_header_libmcr_h" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBMCR_H 1" >>confdefs.h ++ + fi + +-done + +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmcr" >&5 +-$as_echo_n "checking for main in -lmcr... " >&6; } +-if ${ac_cv_lib_mcr_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lmcr" >&5 ++printf %s "checking for main in -lmcr... " >&6; } ++if test ${ac_cv_lib_mcr_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lmcr $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -5781,28 +14819,28 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_mcr_main=yes +-else ++else $as_nop + ac_cv_lib_mcr_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mcr_main" >&5 +-$as_echo "$ac_cv_lib_mcr_main" >&6; } +-if test "x$ac_cv_lib_mcr_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBMCR 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mcr_main" >&5 ++printf "%s\n" "$ac_cv_lib_mcr_main" >&6; } ++if test "x$ac_cv_lib_mcr_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBMCR 1" >>confdefs.h + + LIBS="-lmcr $LIBS" + +@@ -5845,8 +14883,8 @@ + 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;} ;; ++ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( +@@ -5876,15 +14914,15 @@ + /^ac_cv_env_/b end + t clear + :clear +- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ ++ s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 ++printf "%s\n" "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else +@@ -5898,8 +14936,8 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 ++printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} + fi + fi + rm -f confcache +@@ -5916,7 +14954,7 @@ + for ac_i in : $LIB@&t@OBJS; 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"` ++ ac_i=`printf "%s\n" "$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" +@@ -5927,14 +14965,14 @@ + LTLIBOBJS=$ac_ltlibobjs + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +-$as_echo_n "checking that generated files are newer than configure... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 ++printf %s "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +-$as_echo "done" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5 ++printf "%s\n" "done" >&6; } + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +@@ -5951,6 +14989,10 @@ + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 + fi ++if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then ++ as_fn_error $? "conditional \"am__fastdepCC\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi + if test -z "${COMPILER_ICC_TRUE}" && test -z "${COMPILER_ICC_FALSE}"; then + as_fn_error $? "conditional \"COMPILER_ICC\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 +@@ -5977,8 +15019,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 ++printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;} + as_write_fail=0 + cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 + #! $SHELL +@@ -6001,14 +15043,16 @@ + + # Be more Bourne compatible + DUALCASE=1; export DUALCASE # for MKS sh +-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++as_nop=: ++if test ${ZSH_VERSION+y} && (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 ++else $as_nop + case `(set -o) 2>/dev/null` in @%:@( + *posix*) : + set -o posix ;; @%:@( +@@ -6018,46 +15062,46 @@ + fi + + ++ ++# Reset variables that may have inherited troublesome values from ++# the environment. ++ ++# IFS needs to be set, to space, tab, and newline, in precisely that order. ++# (If _AS_PATH_WALK were called with IFS unset, it would have the ++# side effect of setting IFS to empty, thus disabling word splitting.) ++# Quoting is to prevent editors from complaining about space-tab. + 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 ++IFS=" "" $as_nl" + ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# Ensure predictable behavior from utilities with locale-dependent output. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE ++ ++# We cannot yet rely on "unset" to work, but we need these variables ++# to be unset--not just set to an empty or harmless value--now, to ++# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct ++# also avoids known problems related to "unset" and subshell syntax ++# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). ++for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH ++do eval test \${$as_var+y} \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++ ++# Ensure that fds 0, 1, and 2 are open. ++if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi ++if (exec 3>&2) ; then :; else exec 2>/dev/null; fi ++ + # The user is always right. +-if test "${PATH_SEPARATOR+set}" != set; then ++if ${PATH_SEPARATOR+false} :; 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 || +@@ -6066,13 +15110,6 @@ + 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 @%:@(( +@@ -6081,8 +15118,12 @@ + 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ test -r "$as_dir$0" && as_myself=$as_dir$0 && break + done + IFS=$as_save_IFS + +@@ -6094,32 +15135,12 @@ + 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 ++ printf "%s\n" "$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 @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are +@@ -6130,13 +15151,14 @@ + 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi +- $as_echo "$as_me: error: $2" >&2 ++ printf "%s\n" "$as_me: error: $2" >&2 + as_fn_exit $as_status + } @%:@ as_fn_error + + ++ + @%:@ as_fn_set_status STATUS + @%:@ ----------------------- + @%:@ Set @S|@? to STATUS, without forking. +@@ -6163,18 +15185,20 @@ + { 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 : ++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 ++else $as_nop + as_fn_append () + { + eval $1=\$$1\$2 +@@ -6186,12 +15210,13 @@ + @%:@ Perform arithmetic evaluation on the ARGs, and store the result in the + @%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments + @%:@ must be portable across @S|@(()) and expr. +-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null ++then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +-else ++else $as_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` +@@ -6222,7 +15247,7 @@ + $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X/"$0" | ++printf "%s\n" X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q +@@ -6244,6 +15269,10 @@ + as_cr_digits='0123456789' + as_cr_alnum=$as_cr_Letters$as_cr_digits + ++ ++# Determine whether it's possible to make 'echo' print without a newline. ++# These variables are no longer used directly by Autoconf, but are AC_SUBSTed ++# for compatibility with existing Makefiles. + ECHO_C= ECHO_N= ECHO_T= + case `echo -n x` in @%:@((((( + -n*) +@@ -6257,6 +15286,12 @@ + ECHO_N='-n';; + esac + ++# For backward compatibility with old third-party macros, we provide ++# the shell variables $as_echo and $as_echo_n. New code should use ++# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. ++as_@&t@echo='printf %s\n' ++as_@&t@echo_n='printf %s' ++ + rm -f conf$$ conf$$.exe conf$$.file + if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +@@ -6298,7 +15333,7 @@ + as_dirs= + while :; do + case $as_dir in #( +- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" +@@ -6307,7 +15342,7 @@ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$as_dir" | ++printf "%s\n" X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -6370,7 +15405,7 @@ + # values after options handling. + ac_log=" + This file was extended by crlibm $as_me 1.0beta4, which was +-generated by GNU Autoconf 2.69. Invocation command line was ++generated by GNU Autoconf 2.71. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS +@@ -6432,14 +15467,16 @@ + Report bugs to the package provider." + + _ACEOF ++ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` ++ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ++ac_cs_config='$ac_cs_config_escaped' + ac_cs_version="\\ + crlibm config.status 1.0beta4 +-configured by $0, generated by GNU Autoconf 2.69, ++configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +-Copyright (C) 2012 Free Software Foundation, Inc. ++Copyright (C) 2021 Free Software Foundation, Inc. + This config.status script is free software; the Free Software Foundation + gives unlimited permission to copy, distribute and modify it." + +@@ -6479,15 +15516,15 @@ + -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 ;; ++ printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) +- $as_echo "$ac_cs_config"; exit ;; ++ printf "%s\n" "$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"` ;; ++ *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" +@@ -6495,7 +15532,7 @@ + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in +- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; +@@ -6504,7 +15541,7 @@ + as_fn_error $? "ambiguous option: \`$1' + Try \`$0 --help' for more information.";; + --help | --hel | -h ) +- $as_echo "$ac_cs_usage"; exit ;; ++ printf "%s\n" "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; +@@ -6532,7 +15569,7 @@ + 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 ++ \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +@@ -6546,7 +15583,7 @@ + sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX + @%:@@%:@ Running $as_me. @%:@@%:@ + _ASBOX +- $as_echo "$ac_log" ++ printf "%s\n" "$ac_log" + } >&5 + + _ACEOF +@@ -6554,8 +15591,291 @@ + # + # INIT-COMMANDS + # +-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" ++AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" + ++ ++# The HP-UX ksh and POSIX shell print the target directory to stdout ++# if CDPATH is set. ++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH ++ ++sed_quote_subst='$sed_quote_subst' ++double_quote_subst='$double_quote_subst' ++delay_variable_subst='$delay_variable_subst' ++enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' ++enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' ++macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' ++macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' ++pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' ++enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' ++shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' ++SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' ++ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' ++PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' ++host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' ++host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' ++host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' ++build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' ++build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' ++build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' ++SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' ++Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' ++GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' ++EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' ++FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' ++LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' ++NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' ++LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' ++max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' ++ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' ++exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' ++lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' ++lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' ++lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' ++lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' ++lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' ++reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' ++reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' ++OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' ++deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' ++file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' ++file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' ++want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' ++DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' ++sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' ++AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' ++AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' ++archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' ++STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' ++RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' ++old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' ++old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' ++old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' ++lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' ++CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' ++CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' ++compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' ++GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' ++lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' ++lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' ++lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' ++lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' ++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' ++lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' ++nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' ++lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' ++lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' ++objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' ++MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' ++lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' ++lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' ++lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' ++lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' ++lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' ++need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' ++MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' ++DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' ++NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' ++LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' ++OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' ++OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' ++libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' ++shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' ++extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' ++archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' ++enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' ++export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' ++whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' ++compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' ++old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' ++old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' ++archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' ++archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' ++module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' ++module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' ++with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' ++allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' ++no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' ++hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' ++hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' ++hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' ++hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' ++hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' ++hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' ++hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' ++inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' ++link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' ++always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' ++export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' ++exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' ++include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' ++prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' ++postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' ++file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' ++variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' ++need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' ++need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' ++version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' ++runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' ++shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' ++shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' ++libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' ++library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' ++soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' ++install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' ++postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' ++postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' ++finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' ++finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' ++hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' ++sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' ++configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' ++configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' ++hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' ++enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' ++enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' ++enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' ++old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' ++striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' ++ ++LTCC='$LTCC' ++LTCFLAGS='$LTCFLAGS' ++compiler='$compiler_DEFAULT' ++ ++# A function that is used when there is no print builtin or printf. ++func_fallback_echo () ++{ ++ eval 'cat <<_LTECHO_EOF ++\$1 ++_LTECHO_EOF' ++} ++ ++# Quote evaled strings. ++for var in SHELL \ ++ECHO \ ++PATH_SEPARATOR \ ++SED \ ++GREP \ ++EGREP \ ++FGREP \ ++LD \ ++NM \ ++LN_S \ ++lt_SP2NL \ ++lt_NL2SP \ ++reload_flag \ ++OBJDUMP \ ++deplibs_check_method \ ++file_magic_cmd \ ++file_magic_glob \ ++want_nocaseglob \ ++DLLTOOL \ ++sharedlib_from_linklib_cmd \ ++AR \ ++AR_FLAGS \ ++archiver_list_spec \ ++STRIP \ ++RANLIB \ ++CC \ ++CFLAGS \ ++compiler \ ++lt_cv_sys_global_symbol_pipe \ ++lt_cv_sys_global_symbol_to_cdecl \ ++lt_cv_sys_global_symbol_to_import \ ++lt_cv_sys_global_symbol_to_c_name_address \ ++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ ++lt_cv_nm_interface \ ++nm_file_list_spec \ ++lt_cv_truncate_bin \ ++lt_prog_compiler_no_builtin_flag \ ++lt_prog_compiler_pic \ ++lt_prog_compiler_wl \ ++lt_prog_compiler_static \ ++lt_cv_prog_compiler_c_o \ ++need_locks \ ++MANIFEST_TOOL \ ++DSYMUTIL \ ++NMEDIT \ ++LIPO \ ++OTOOL \ ++OTOOL64 \ ++shrext_cmds \ ++export_dynamic_flag_spec \ ++whole_archive_flag_spec \ ++compiler_needs_object \ ++with_gnu_ld \ ++allow_undefined_flag \ ++no_undefined_flag \ ++hardcode_libdir_flag_spec \ ++hardcode_libdir_separator \ ++exclude_expsyms \ ++include_expsyms \ ++file_list_spec \ ++variables_saved_for_relink \ ++libname_spec \ ++library_names_spec \ ++soname_spec \ ++install_override_mode \ ++finish_eval \ ++old_striplib \ ++striplib; do ++ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in ++ *[\\\\\\\`\\"\\\$]*) ++ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ++ ;; ++ *) ++ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ++ ;; ++ esac ++done ++ ++# Double-quote double-evaled strings. ++for var in reload_cmds \ ++old_postinstall_cmds \ ++old_postuninstall_cmds \ ++old_archive_cmds \ ++extract_expsyms_cmds \ ++old_archive_from_new_cmds \ ++old_archive_from_expsyms_cmds \ ++archive_cmds \ ++archive_expsym_cmds \ ++module_cmds \ ++module_expsym_cmds \ ++export_symbols_cmds \ ++prelink_cmds \ ++postlink_cmds \ ++postinstall_cmds \ ++postuninstall_cmds \ ++finish_cmds \ ++sys_lib_search_path_spec \ ++configure_time_dlsearch_path \ ++configure_time_lt_sys_library_path; do ++ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in ++ *[\\\\\\\`\\"\\\$]*) ++ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ++ ;; ++ *) ++ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ++ ;; ++ esac ++done ++ ++ac_aux_dir='$ac_aux_dir' ++ ++# See if we are running on zsh, and set the options that allow our ++# commands through without removal of \ escapes INIT. ++if test -n "\${ZSH_VERSION+set}"; then ++ setopt NO_GLOB_SUBST ++fi ++ ++ ++ PACKAGE='$PACKAGE' ++ VERSION='$VERSION' ++ RM='$RM' ++ ofile='$ofile' ++ ++ ++ ++ + _ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +@@ -6566,6 +15886,7 @@ + case $ac_config_target in + "crlibm_config.h") CONFIG_HEADERS="$CONFIG_HEADERS crlibm_config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; ++ "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; + "scs_lib/Makefile") CONFIG_FILES="$CONFIG_FILES scs_lib/Makefile" ;; +@@ -6580,9 +15901,9 @@ + # 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 +- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands ++ test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files ++ test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers ++ test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands + fi + + # Have a temporary directory for convenience. Make it in the build tree +@@ -6918,7 +16239,7 @@ + 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 ++ case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + +@@ -6926,17 +16247,17 @@ + # 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' ++ printf "%s\n" "$*" | 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 ++printf "%s\n" "$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" | ++ ac_sed_conf_input=`printf "%s\n" "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac +@@ -6953,7 +16274,7 @@ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$ac_file" | ++printf "%s\n" X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -6977,9 +16298,9 @@ + case "$ac_dir" in + .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) +- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` ++ ac_dir_suffix=/`printf "%s\n" "$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|/||'` ++ ac_top_builddir_sub=`printf "%s\n" "$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/ ;; +@@ -7041,8 +16362,8 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 ++printf "%s\n" "$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=' +@@ -7086,9 +16407,9 @@ + { 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' ++ { printf "%s\n" "$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' ++printf "%s\n" "$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" +@@ -7104,20 +16425,20 @@ + # + if test x"$ac_file" != x-; then + { +- $as_echo "/* $configure_input */" \ ++ printf "%s\n" "/* $configure_input */" >&1 \ + && 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 ++printf "%s\n" "$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 */" \ ++ printf "%s\n" "/* $configure_input */" >&1 \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +@@ -7137,7 +16458,7 @@ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$_am_arg" | ++printf "%s\n" X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -7157,8 +16478,8 @@ + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + +- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +-$as_echo "$as_me: executing $ac_file commands" >&6;} ++ :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 ++printf "%s\n" "$as_me: executing $ac_file commands" >&6;} + ;; + esac + +@@ -7168,29 +16489,35 @@ + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. +- case $CONFIG_FILES in +- *\'*) eval set x "$CONFIG_FILES" ;; +- *) set x $CONFIG_FILES ;; +- esac ++ # TODO: see whether this extra hack can be removed once we start ++ # requiring Autoconf 2.70 or later. ++ case $CONFIG_FILES in @%:@( ++ *\'*) : ++ eval set x "$CONFIG_FILES" ;; @%:@( ++ *) : ++ set x $CONFIG_FILES ;; @%:@( ++ *) : ++ ;; ++esac + shift +- for mf ++ # Used to flag and report bootstrapping failures. ++ am_rc=0 ++ for am_mf + do + # Strip MF so we end up with the name of the file. +- mf=`echo "$mf" | sed -e 's/:.*$//'` +- # Check whether this is an Automake generated Makefile or not. +- # We used to match only the files named 'Makefile.in', but +- # some people rename them; so instead we look at the file content. +- # Grep'ing the first line is not enough: some people post-process +- # each Makefile.in and add a new line on top of each file to say so. +- # Grep'ing the whole file is not good either: AIX grep has a line ++ am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'` ++ # Check whether this is an Automake generated Makefile which includes ++ # dependency-tracking related rules and includes. ++ # Grep'ing the whole file directly is not great: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. +- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then +- dirpart=`$as_dirname -- "$mf" || +-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$mf" : 'X\(//\)[^/]' \| \ +- X"$mf" : 'X\(//\)$' \| \ +- X"$mf" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$mf" | ++ sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ ++ || continue ++ am_dirpart=`$as_dirname -- "$am_mf" || ++$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$am_mf" : 'X\(//\)[^/]' \| \ ++ X"$am_mf" : 'X\(//\)$' \| \ ++ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || ++printf "%s\n" X"$am_mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -7208,57 +16535,598 @@ + q + } + s/.*/./; q'` +- else +- continue +- fi +- # Extract the definition of DEPDIR, am__include, and am__quote +- # from the Makefile without running 'make'. +- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` +- test -z "$DEPDIR" && continue +- am__include=`sed -n 's/^am__include = //p' < "$mf"` +- test -z "$am__include" && continue +- am__quote=`sed -n 's/^am__quote = //p' < "$mf"` +- # Find all dependency output files, they are included files with +- # $(DEPDIR) in their names. We invoke sed twice because it is the +- # simplest approach to changing $(DEPDIR) to its actual value in the +- # expansion. +- for file in `sed -n " +- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ +- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do +- # Make sure the directory exists. +- test -f "$dirpart/$file" && continue +- fdir=`$as_dirname -- "$file" || +-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$file" : 'X\(//\)[^/]' \| \ +- X"$file" : 'X\(//\)$' \| \ +- X"$file" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$file" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ am_filepart=`$as_basename -- "$am_mf" || ++$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$am_mf" : 'X\(//\)$' \| \ ++ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || ++printf "%s\n" X/"$am_mf" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } +- /^X\(\/\/\)[^/].*/{ ++ /^X\/\(\/\/\)$/{ + s//\1/ + q + } +- /^X\(\/\/\)$/{ ++ /^X\/\(\/\).*/{ + s//\1/ + q + } +- /^X\(\/\).*/{ +- s//\1/ +- q +- } + s/.*/./; q'` +- as_dir=$dirpart/$fdir; as_fn_mkdir_p +- # echo "creating $dirpart/$file" +- echo '# dummy' > "$dirpart/$file" +- done ++ { echo "$as_me:$LINENO: cd "$am_dirpart" \ ++ && sed -e '/# am--include-marker/d' "$am_filepart" \ ++ | $MAKE -f - am--depfiles" >&5 ++ (cd "$am_dirpart" \ ++ && sed -e '/# am--include-marker/d' "$am_filepart" \ ++ | $MAKE -f - am--depfiles) >&5 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } || am_rc=$? + done ++ if test $am_rc -ne 0; then ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} ++as_fn_error $? "Something went wrong bootstrapping makefile fragments ++ for automatic dependency tracking. If GNU make was not used, consider ++ re-running the configure script with MAKE=\"gmake\" (or whatever is ++ necessary). You can also try re-running configure with the ++ '--disable-dependency-tracking' option to at least be able to build ++ the package (albeit without support for automatic dependency tracking). ++See \`config.log' for more details" "$LINENO" 5; } ++ fi ++ { am_dirpart=; unset am_dirpart;} ++ { am_filepart=; unset am_filepart;} ++ { am_mf=; unset am_mf;} ++ { am_rc=; unset am_rc;} ++ rm -f conftest-deps.mk + } + ;; ++ "libtool":C) ++ ++ # See if we are running on zsh, and set the options that allow our ++ # commands through without removal of \ escapes. ++ if test -n "${ZSH_VERSION+set}"; then ++ setopt NO_GLOB_SUBST ++ fi + ++ cfgfile=${ofile}T ++ trap "$RM \"$cfgfile\"; exit 1" 1 2 15 ++ $RM "$cfgfile" ++ ++ cat <<_LT_EOF >> "$cfgfile" ++#! $SHELL ++# Generated automatically by $as_me ($PACKAGE) $VERSION ++# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: ++# NOTE: Changes made to this file will be lost: look at ltmain.sh. ++ ++# Provide generalized library-building support services. ++# Written by Gordon Matzigkeit, 1996 ++ ++# Copyright (C) 2014 Free Software Foundation, Inc. ++# This is free software; see the source for copying conditions. There is NO ++# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ++ ++# GNU Libtool is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of of the License, or ++# (at your option) any later version. ++# ++# As a special exception to the GNU General Public License, if you ++# distribute this file as part of a program or library that is built ++# using GNU Libtool, you may include this file under the same ++# distribution terms that you use for the rest of that program. ++# ++# GNU Libtool is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program. If not, see . ++ ++ ++# The names of the tagged configurations supported by this script. ++available_tags='' ++ ++# Configured defaults for sys_lib_dlsearch_path munging. ++: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} ++ ++# ### BEGIN LIBTOOL CONFIG ++ ++# Whether or not to build shared libraries. ++build_libtool_libs=$enable_shared ++ ++# Whether or not to build static libraries. ++build_old_libs=$enable_static ++ ++# Which release of libtool.m4 was used? ++macro_version=$macro_version ++macro_revision=$macro_revision ++ ++# What type of objects to build. ++pic_mode=$pic_mode ++ ++# Whether or not to optimize for fast installation. ++fast_install=$enable_fast_install ++ ++# Shared archive member basename,for filename based shared library versioning on AIX. ++shared_archive_member_spec=$shared_archive_member_spec ++ ++# Shell to use when invoking shell scripts. ++SHELL=$lt_SHELL ++ ++# An echo program that protects backslashes. ++ECHO=$lt_ECHO ++ ++# The PATH separator for the build system. ++PATH_SEPARATOR=$lt_PATH_SEPARATOR ++ ++# The host system. ++host_alias=$host_alias ++host=$host ++host_os=$host_os ++ ++# The build system. ++build_alias=$build_alias ++build=$build ++build_os=$build_os ++ ++# A sed program that does not truncate output. ++SED=$lt_SED ++ ++# Sed that helps us avoid accidentally triggering echo(1) options like -n. ++Xsed="\$SED -e 1s/^X//" ++ ++# A grep program that handles long lines. ++GREP=$lt_GREP ++ ++# An ERE matcher. ++EGREP=$lt_EGREP ++ ++# A literal string matcher. ++FGREP=$lt_FGREP ++ ++# A BSD- or MS-compatible name lister. ++NM=$lt_NM ++ ++# Whether we need soft or hard links. ++LN_S=$lt_LN_S ++ ++# What is the maximum length of a command? ++max_cmd_len=$max_cmd_len ++ ++# Object file suffix (normally "o"). ++objext=$ac_objext ++ ++# Executable file suffix (normally ""). ++exeext=$exeext ++ ++# whether the shell understands "unset". ++lt_unset=$lt_unset ++ ++# turn spaces into newlines. ++SP2NL=$lt_lt_SP2NL ++ ++# turn newlines into spaces. ++NL2SP=$lt_lt_NL2SP ++ ++# convert \$build file names to \$host format. ++to_host_file_cmd=$lt_cv_to_host_file_cmd ++ ++# convert \$build files to toolchain format. ++to_tool_file_cmd=$lt_cv_to_tool_file_cmd ++ ++# An object symbol dumper. ++OBJDUMP=$lt_OBJDUMP ++ ++# Method to check whether dependent libraries are shared objects. ++deplibs_check_method=$lt_deplibs_check_method ++ ++# Command to use when deplibs_check_method = "file_magic". ++file_magic_cmd=$lt_file_magic_cmd ++ ++# How to find potential files when deplibs_check_method = "file_magic". ++file_magic_glob=$lt_file_magic_glob ++ ++# Find potential files using nocaseglob when deplibs_check_method = "file_magic". ++want_nocaseglob=$lt_want_nocaseglob ++ ++# DLL creation program. ++DLLTOOL=$lt_DLLTOOL ++ ++# Command to associate shared and link libraries. ++sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd ++ ++# The archiver. ++AR=$lt_AR ++ ++# Flags to create an archive. ++AR_FLAGS=$lt_AR_FLAGS ++ ++# How to feed a file listing to the archiver. ++archiver_list_spec=$lt_archiver_list_spec ++ ++# A symbol stripping program. ++STRIP=$lt_STRIP ++ ++# Commands used to install an old-style archive. ++RANLIB=$lt_RANLIB ++old_postinstall_cmds=$lt_old_postinstall_cmds ++old_postuninstall_cmds=$lt_old_postuninstall_cmds ++ ++# Whether to use a lock for old archive extraction. ++lock_old_archive_extraction=$lock_old_archive_extraction ++ ++# A C compiler. ++LTCC=$lt_CC ++ ++# LTCC compiler flags. ++LTCFLAGS=$lt_CFLAGS ++ ++# Take the output of nm and produce a listing of raw symbols and C names. ++global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe ++ ++# Transform the output of nm in a proper C declaration. ++global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl ++ ++# Transform the output of nm into a list of symbols to manually relocate. ++global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import ++ ++# Transform the output of nm in a C name address pair. ++global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address ++ ++# Transform the output of nm in a C name address pair when lib prefix is needed. ++global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix ++ ++# The name lister interface. ++nm_interface=$lt_lt_cv_nm_interface ++ ++# Specify filename containing input files for \$NM. ++nm_file_list_spec=$lt_nm_file_list_spec ++ ++# The root where to search for dependent libraries,and where our libraries should be installed. ++lt_sysroot=$lt_sysroot ++ ++# Command to truncate a binary pipe. ++lt_truncate_bin=$lt_lt_cv_truncate_bin ++ ++# The name of the directory that contains temporary libtool files. ++objdir=$objdir ++ ++# Used to examine libraries when file_magic_cmd begins with "file". ++MAGIC_CMD=$MAGIC_CMD ++ ++# Must we lock files when doing compilation? ++need_locks=$lt_need_locks ++ ++# Manifest tool. ++MANIFEST_TOOL=$lt_MANIFEST_TOOL ++ ++# Tool to manipulate archived DWARF debug symbol files on Mac OS X. ++DSYMUTIL=$lt_DSYMUTIL ++ ++# Tool to change global to local symbols on Mac OS X. ++NMEDIT=$lt_NMEDIT ++ ++# Tool to manipulate fat objects and archives on Mac OS X. ++LIPO=$lt_LIPO ++ ++# ldd/readelf like tool for Mach-O binaries on Mac OS X. ++OTOOL=$lt_OTOOL ++ ++# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. ++OTOOL64=$lt_OTOOL64 ++ ++# Old archive suffix (normally "a"). ++libext=$libext ++ ++# Shared library suffix (normally ".so"). ++shrext_cmds=$lt_shrext_cmds ++ ++# The commands to extract the exported symbol list from a shared archive. ++extract_expsyms_cmds=$lt_extract_expsyms_cmds ++ ++# Variables whose values should be saved in libtool wrapper scripts and ++# restored at link time. ++variables_saved_for_relink=$lt_variables_saved_for_relink ++ ++# Do we need the "lib" prefix for modules? ++need_lib_prefix=$need_lib_prefix ++ ++# Do we need a version for libraries? ++need_version=$need_version ++ ++# Library versioning type. ++version_type=$version_type ++ ++# Shared library runtime path variable. ++runpath_var=$runpath_var ++ ++# Shared library path variable. ++shlibpath_var=$shlibpath_var ++ ++# Is shlibpath searched before the hard-coded library search path? ++shlibpath_overrides_runpath=$shlibpath_overrides_runpath ++ ++# Format of library name prefix. ++libname_spec=$lt_libname_spec ++ ++# List of archive names. First name is the real one, the rest are links. ++# The last name is the one that the linker finds with -lNAME ++library_names_spec=$lt_library_names_spec ++ ++# The coded name of the library, if different from the real name. ++soname_spec=$lt_soname_spec ++ ++# Permission mode override for installation of shared libraries. ++install_override_mode=$lt_install_override_mode ++ ++# Command to use after installation of a shared archive. ++postinstall_cmds=$lt_postinstall_cmds ++ ++# Command to use after uninstallation of a shared archive. ++postuninstall_cmds=$lt_postuninstall_cmds ++ ++# Commands used to finish a libtool library installation in a directory. ++finish_cmds=$lt_finish_cmds ++ ++# As "finish_cmds", except a single script fragment to be evaled but ++# not shown. ++finish_eval=$lt_finish_eval ++ ++# Whether we should hardcode library paths into libraries. ++hardcode_into_libs=$hardcode_into_libs ++ ++# Compile-time system search path for libraries. ++sys_lib_search_path_spec=$lt_sys_lib_search_path_spec ++ ++# Detected run-time system search path for libraries. ++sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path ++ ++# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. ++configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path ++ ++# Whether dlopen is supported. ++dlopen_support=$enable_dlopen ++ ++# Whether dlopen of programs is supported. ++dlopen_self=$enable_dlopen_self ++ ++# Whether dlopen of statically linked programs is supported. ++dlopen_self_static=$enable_dlopen_self_static ++ ++# Commands to strip libraries. ++old_striplib=$lt_old_striplib ++striplib=$lt_striplib ++ ++ ++# The linker used to build libraries. ++LD=$lt_LD ++ ++# How to create reloadable object files. ++reload_flag=$lt_reload_flag ++reload_cmds=$lt_reload_cmds ++ ++# Commands used to build an old-style archive. ++old_archive_cmds=$lt_old_archive_cmds ++ ++# A language specific compiler. ++CC=$lt_compiler ++ ++# Is the compiler the GNU compiler? ++with_gcc=$GCC ++ ++# Compiler flag to turn off builtin functions. ++no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag ++ ++# Additional compiler flags for building library objects. ++pic_flag=$lt_lt_prog_compiler_pic ++ ++# How to pass a linker flag through the compiler. ++wl=$lt_lt_prog_compiler_wl ++ ++# Compiler flag to prevent dynamic linking. ++link_static_flag=$lt_lt_prog_compiler_static ++ ++# Does compiler simultaneously support -c and -o options? ++compiler_c_o=$lt_lt_cv_prog_compiler_c_o ++ ++# Whether or not to add -lc for building shared libraries. ++build_libtool_need_lc=$archive_cmds_need_lc ++ ++# Whether or not to disallow shared libs when runtime libs are static. ++allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes ++ ++# Compiler flag to allow reflexive dlopens. ++export_dynamic_flag_spec=$lt_export_dynamic_flag_spec ++ ++# Compiler flag to generate shared objects directly from archives. ++whole_archive_flag_spec=$lt_whole_archive_flag_spec ++ ++# Whether the compiler copes with passing no objects directly. ++compiler_needs_object=$lt_compiler_needs_object ++ ++# Create an old-style archive from a shared archive. ++old_archive_from_new_cmds=$lt_old_archive_from_new_cmds ++ ++# Create a temporary old-style archive to link instead of a shared archive. ++old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds ++ ++# Commands used to build a shared archive. ++archive_cmds=$lt_archive_cmds ++archive_expsym_cmds=$lt_archive_expsym_cmds ++ ++# Commands used to build a loadable module if different from building ++# a shared archive. ++module_cmds=$lt_module_cmds ++module_expsym_cmds=$lt_module_expsym_cmds ++ ++# Whether we are building with GNU ld or not. ++with_gnu_ld=$lt_with_gnu_ld ++ ++# Flag that allows shared libraries with undefined symbols to be built. ++allow_undefined_flag=$lt_allow_undefined_flag ++ ++# Flag that enforces no undefined symbols. ++no_undefined_flag=$lt_no_undefined_flag ++ ++# Flag to hardcode \$libdir into a binary during linking. ++# This must work even if \$libdir does not exist ++hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec ++ ++# Whether we need a single "-rpath" flag with a separated argument. ++hardcode_libdir_separator=$lt_hardcode_libdir_separator ++ ++# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes ++# DIR into the resulting binary. ++hardcode_direct=$hardcode_direct ++ ++# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes ++# DIR into the resulting binary and the resulting library dependency is ++# "absolute",i.e impossible to change by setting \$shlibpath_var if the ++# library is relocated. ++hardcode_direct_absolute=$hardcode_direct_absolute ++ ++# Set to "yes" if using the -LDIR flag during linking hardcodes DIR ++# into the resulting binary. ++hardcode_minus_L=$hardcode_minus_L ++ ++# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR ++# into the resulting binary. ++hardcode_shlibpath_var=$hardcode_shlibpath_var ++ ++# Set to "yes" if building a shared library automatically hardcodes DIR ++# into the library and all subsequent libraries and executables linked ++# against it. ++hardcode_automatic=$hardcode_automatic ++ ++# Set to yes if linker adds runtime paths of dependent libraries ++# to runtime path list. ++inherit_rpath=$inherit_rpath ++ ++# Whether libtool must link a program against all its dependency libraries. ++link_all_deplibs=$link_all_deplibs ++ ++# Set to "yes" if exported symbols are required. ++always_export_symbols=$always_export_symbols ++ ++# The commands to list exported symbols. ++export_symbols_cmds=$lt_export_symbols_cmds ++ ++# Symbols that should not be listed in the preloaded symbols. ++exclude_expsyms=$lt_exclude_expsyms ++ ++# Symbols that must always be exported. ++include_expsyms=$lt_include_expsyms ++ ++# Commands necessary for linking programs (against libraries) with templates. ++prelink_cmds=$lt_prelink_cmds ++ ++# Commands necessary for finishing linking programs. ++postlink_cmds=$lt_postlink_cmds ++ ++# Specify filename containing input files. ++file_list_spec=$lt_file_list_spec ++ ++# How to hardcode a shared library path into an executable. ++hardcode_action=$hardcode_action ++ ++# ### END LIBTOOL CONFIG ++ ++_LT_EOF ++ ++ cat <<'_LT_EOF' >> "$cfgfile" ++ ++# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE ++ ++# func_munge_path_list VARIABLE PATH ++# ----------------------------------- ++# VARIABLE is name of variable containing _space_ separated list of ++# directories to be munged by the contents of PATH, which is string ++# having a format: ++# "DIR[:DIR]:" ++# string "DIR[ DIR]" will be prepended to VARIABLE ++# ":DIR[:DIR]" ++# string "DIR[ DIR]" will be appended to VARIABLE ++# "DIRP[:DIRP]::[DIRA:]DIRA" ++# string "DIRP[ DIRP]" will be prepended to VARIABLE and string ++# "DIRA[ DIRA]" will be appended to VARIABLE ++# "DIR[:DIR]" ++# VARIABLE will be replaced by "DIR[ DIR]" ++func_munge_path_list () ++{ ++ case x@S|@2 in ++ x) ++ ;; ++ *:) ++ eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" ++ ;; ++ x:*) ++ eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" ++ ;; ++ *::*) ++ eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" ++ eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" ++ ;; ++ *) ++ eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" ++ ;; ++ esac ++} ++ ++ ++# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. ++func_cc_basename () ++{ ++ for cc_temp in @S|@*""; do ++ case $cc_temp in ++ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; ++ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; ++ \-*) ;; ++ *) break;; ++ esac ++ done ++ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` ++} ++ ++ ++# ### END FUNCTIONS SHARED WITH CONFIGURE ++ ++_LT_EOF ++ ++ case $host_os in ++ aix3*) ++ cat <<\_LT_EOF >> "$cfgfile" ++# AIX sometimes has problems with the GCC collect2 program. For some ++# reason, if we set the COLLECT_NAMES environment variable, the problems ++# vanish in a puff of smoke. ++if test set != "${COLLECT_NAMES+set}"; then ++ COLLECT_NAMES= ++ export COLLECT_NAMES ++fi ++_LT_EOF ++ ;; + esac ++ ++ ++ ++ltmain=$ac_aux_dir/ltmain.sh ++ ++ ++ # We use sed instead of cat because bash on DJGPP gets confused if ++ # if finds mixed CR/LF and LF-only lines. Since sed operates in ++ # text mode, it properly converts lines to CR/LF. This bash problem ++ # is reportedly fixed, but why not run on old versions too? ++ sed '$q' "$ltmain" >> "$cfgfile" \ ++ || (rm -f "$cfgfile"; exit 1) ++ ++ mv -f "$cfgfile" "$ofile" || ++ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") ++ chmod +x "$ofile" ++ ++ ;; ++ ++ esac + done # for ac_tag + + +@@ -7291,8 +17159,8 @@ + $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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 ++printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} + fi + + +diff --color -urN a/crlibm-1.0beta4/autom4te.cache/output.1 b/crlibm-1.0beta4/autom4te.cache/output.1 +--- a/crlibm-1.0beta4/autom4te.cache/output.1 2024-12-06 13:32:36 ++++ b/crlibm-1.0beta4/autom4te.cache/output.1 2024-12-06 13:33:14 +@@ -1,9 +1,10 @@ + @%:@! /bin/sh + @%:@ Guess values for system-dependent variables and create Makefiles. +-@%:@ Generated by GNU Autoconf 2.69 for crlibm 1.0beta4. ++@%:@ Generated by GNU Autoconf 2.71 for crlibm 1.0beta4. + @%:@ + @%:@ +-@%:@ Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. ++@%:@ Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, ++@%:@ Inc. + @%:@ + @%:@ + @%:@ This configure script is free software; the Free Software Foundation +@@ -14,14 +15,16 @@ + + # Be more Bourne compatible + DUALCASE=1; export DUALCASE # for MKS sh +-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++as_nop=: ++if test ${ZSH_VERSION+y} && (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 ++else $as_nop + case `(set -o) 2>/dev/null` in @%:@( + *posix*) : + set -o posix ;; @%:@( +@@ -31,46 +34,46 @@ + fi + + ++ ++# Reset variables that may have inherited troublesome values from ++# the environment. ++ ++# IFS needs to be set, to space, tab, and newline, in precisely that order. ++# (If _AS_PATH_WALK were called with IFS unset, it would have the ++# side effect of setting IFS to empty, thus disabling word splitting.) ++# Quoting is to prevent editors from complaining about space-tab. + 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 ++IFS=" "" $as_nl" + ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# Ensure predictable behavior from utilities with locale-dependent output. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE ++ ++# We cannot yet rely on "unset" to work, but we need these variables ++# to be unset--not just set to an empty or harmless value--now, to ++# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct ++# also avoids known problems related to "unset" and subshell syntax ++# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). ++for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH ++do eval test \${$as_var+y} \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++ ++# Ensure that fds 0, 1, and 2 are open. ++if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi ++if (exec 3>&2) ; then :; else exec 2>/dev/null; fi ++ + # The user is always right. +-if test "${PATH_SEPARATOR+set}" != set; then ++if ${PATH_SEPARATOR+false} :; 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 || +@@ -79,13 +82,6 @@ + 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 @%:@(( +@@ -94,8 +90,12 @@ + 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ test -r "$as_dir$0" && as_myself=$as_dir$0 && break + done + IFS=$as_save_IFS + +@@ -107,31 +107,11 @@ + 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 ++ printf "%s\n" "$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 +@@ -152,20 +132,22 @@ + 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 ++printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 ++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 : ++ as_bourne_compatible="as_nop=: ++if test \${ZSH_VERSION+y} && (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 ++else \$as_nop + case \`(set -o) 2>/dev/null\` in @%:@( + *posix*) : + set -o posix ;; @%:@( +@@ -185,12 +167,15 @@ + 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 : ++if ( set x; as_fn_ret_success y && test x = \"\$1\" ) ++then : + +-else ++else \$as_nop + exitcode=1; echo positional parameters were not saved. + fi + test x\$exitcode = x0 || exit 1 ++blah=\$(echo \$(echo blah)) ++test x\"\$blah\" = xblah || 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 +@@ -205,30 +190,38 @@ + test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ + || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 + test \$(( 1 + 1 )) = 2 || exit 1" +- if (eval "$as_required") 2>/dev/null; then : ++ if (eval "$as_required") 2>/dev/null ++then : + as_have_required=yes +-else ++else $as_nop + as_have_required=no + fi +- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : ++ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null ++then : + +-else ++else $as_nop + 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=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + 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 ++ 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 : ++ as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 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 : ++ if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null ++then : + break 2 + fi + fi +@@ -236,14 +229,21 @@ + 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 $as_found ++then : ++ ++else $as_nop ++ if { test -f "$SHELL" || test -f "$SHELL.exe"; } && ++ as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null ++then : ++ CONFIG_SHELL=$SHELL as_have_required=yes ++fi ++fi + + +- if test "x$CONFIG_SHELL" != x; then : ++ 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 +@@ -261,18 +261,19 @@ + 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 ++printf "%s\n" "$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." ++ if test x$as_have_required = xno ++then : ++ printf "%s\n" "$0: This script requires a shell more modern than all" ++ printf "%s\n" "$0: the shells that I found on your system." ++ if test ${ZSH_VERSION+y} ; then ++ printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" ++ printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else +- $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, ++ printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, + $0: including any error possibly output before this + $0: message. Then install a modern shell, or manually run + $0: the script under such a shell if you do have one." +@@ -299,6 +300,7 @@ + } + as_unset=as_fn_unset + ++ + @%:@ as_fn_set_status STATUS + @%:@ ----------------------- + @%:@ Set @S|@? to STATUS, without forking. +@@ -316,6 +318,14 @@ + as_fn_set_status $1 + exit $1 + } @%:@ as_fn_exit ++@%:@ as_fn_nop ++@%:@ --------- ++@%:@ Do nothing but, unlike ":", preserve the value of @S|@?. ++as_fn_nop () ++{ ++ return $? ++} ++as_nop=as_fn_nop + + @%:@ as_fn_mkdir_p + @%:@ ------------- +@@ -330,7 +340,7 @@ + as_dirs= + while :; do + case $as_dir in #( +- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" +@@ -339,7 +349,7 @@ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$as_dir" | ++printf "%s\n" X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -378,12 +388,13 @@ + @%:@ 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 : ++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 ++else $as_nop + as_fn_append () + { + eval $1=\$$1\$2 +@@ -395,18 +406,27 @@ + @%:@ Perform arithmetic evaluation on the ARGs, and store the result in the + @%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments + @%:@ must be portable across @S|@(()) and expr. +-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null ++then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +-else ++else $as_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } + fi # as_fn_arith + ++@%:@ as_fn_nop ++@%:@ --------- ++@%:@ Do nothing but, unlike ":", preserve the value of @S|@?. ++as_fn_nop () ++{ ++ return $? ++} ++as_nop=as_fn_nop + + @%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] + @%:@ ---------------------------------------- +@@ -418,9 +438,9 @@ + 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi +- $as_echo "$as_me: error: $2" >&2 ++ printf "%s\n" "$as_me: error: $2" >&2 + as_fn_exit $as_status + } @%:@ as_fn_error + +@@ -447,7 +467,7 @@ + $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X/"$0" | ++printf "%s\n" X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q +@@ -491,7 +511,7 @@ + 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; } ++ { printf "%s\n" "$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 +@@ -505,6 +525,10 @@ + exit + } + ++ ++# Determine whether it's possible to make 'echo' print without a newline. ++# These variables are no longer used directly by Autoconf, but are AC_SUBSTed ++# for compatibility with existing Makefiles. + ECHO_C= ECHO_N= ECHO_T= + case `echo -n x` in @%:@((((( + -n*) +@@ -518,6 +542,13 @@ + ECHO_N='-n';; + esac + ++# For backward compatibility with old third-party macros, we provide ++# the shell variables $as_echo and $as_echo_n. New code should use ++# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. ++as_@&t@echo='printf %s\n' ++as_@&t@echo_n='printf %s' ++ ++ + rm -f conf$$ conf$$.exe conf$$.file + if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +@@ -595,40 +626,36 @@ + ac_unique_file="./crlibm_private.c" + # Factoring default headers for most tests. + ac_includes_default="\ +-#include +-#ifdef HAVE_SYS_TYPES_H +-# include ++#include ++#ifdef HAVE_STDIO_H ++# include + #endif +-#ifdef HAVE_SYS_STAT_H +-# include +-#endif +-#ifdef STDC_HEADERS ++#ifdef HAVE_STDLIB_H + # 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_STRINGS_H ++# include ++#endif ++#ifdef HAVE_SYS_TYPES_H ++# include ++#endif ++#ifdef HAVE_SYS_STAT_H ++# include ++#endif + #ifdef HAVE_UNISTD_H + # include + #endif" + ++ac_header_c_list= + ac_unique_file="crlibm.h" + ac_subst_vars='am__EXEEXT_FALSE + am__EXEEXT_TRUE +@@ -645,7 +672,6 @@ + COMPILER_ICC_FALSE + COMPILER_ICC_TRUE + ISODATE +-CPP + LT_SYS_LIBRARY_PATH + OTOOL64 + OTOOL +@@ -674,7 +700,6 @@ + AMDEPBACKSLASH + AMDEP_FALSE + AMDEP_TRUE +-am__quote + am__include + DEPDIR + OBJEXT +@@ -697,6 +722,9 @@ + AM_DEFAULT_VERBOSITY + AM_DEFAULT_V + AM_V ++CSCOPE ++ETAGS ++CTAGS + am__untar + am__tar + AMTAR +@@ -739,6 +767,7 @@ + docdir + oldincludedir + includedir ++runstatedir + localstatedir + sharedstatedir + sysconfdir +@@ -757,7 +786,8 @@ + PACKAGE_TARNAME + PACKAGE_NAME + PATH_SEPARATOR +-SHELL' ++SHELL ++am__quote' + ac_subst_files='' + ac_user_opts=' + enable_option_checking +@@ -801,8 +831,7 @@ + LDFLAGS + LIBS + CPPFLAGS +-LT_SYS_LIBRARY_PATH +-CPP' ++LT_SYS_LIBRARY_PATH' + + + # Initialize some variables set by options. +@@ -841,6 +870,7 @@ + sysconfdir='${prefix}/etc' + sharedstatedir='${prefix}/com' + localstatedir='${prefix}/var' ++runstatedir='${localstatedir}/run' + includedir='${prefix}/include' + oldincludedir='/usr/include' + docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +@@ -870,8 +900,6 @@ + *) ac_optarg=yes ;; + esac + +- # Accept the important Cygnus configure options, so we can diagnose typos. +- + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; +@@ -912,9 +940,9 @@ + 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" ++ as_fn_error $? "invalid feature name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt +- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" + "enable_$ac_useropt" +@@ -938,9 +966,9 @@ + 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" ++ as_fn_error $? "invalid feature name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt +- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" + "enable_$ac_useropt" +@@ -1093,6 +1121,15 @@ + | -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=* \ +@@ -1142,9 +1179,9 @@ + 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" ++ as_fn_error $? "invalid package name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt +- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" + "with_$ac_useropt" +@@ -1158,9 +1195,9 @@ + 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" ++ as_fn_error $? "invalid package name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt +- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" + "with_$ac_useropt" +@@ -1204,9 +1241,9 @@ + + *) + # FIXME: should be removed in autoconf 3.0. +- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 ++ printf "%s\n" "$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 ++ printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + +@@ -1222,7 +1259,7 @@ + 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 ;; ++ *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac + fi + +@@ -1230,7 +1267,7 @@ + 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 ++ libdir localedir mandir runstatedir + do + eval ac_val=\$$ac_var + # Remove trailing slashes. +@@ -1286,7 +1323,7 @@ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$as_myself" | ++printf "%s\n" X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -1383,6 +1420,7 @@ + --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] +@@ -1476,7 +1514,6 @@ + you have headers in a nonstandard directory + LT_SYS_LIBRARY_PATH + User-defined run-time library search path. +- CPP C preprocessor + + Use these variables to override the choices made by `configure' or to help + it to find libraries and programs with nonstandard names/locations. +@@ -1497,9 +1534,9 @@ + case "$ac_dir" in + .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) +- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` ++ ac_dir_suffix=/`printf "%s\n" "$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|/||'` ++ ac_top_builddir_sub=`printf "%s\n" "$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/ ;; +@@ -1527,7 +1564,8 @@ + ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } +- # Check for guested configure. ++ # Check for configure.gnu first; this name is used for a wrapper for ++ # Metaconfig's "Configure" on case-insensitive file systems. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive +@@ -1535,7 +1573,7 @@ + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else +- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 ++ printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +@@ -1545,9 +1583,9 @@ + if $ac_init_version; then + cat <<\_ACEOF + crlibm configure 1.0beta4 +-generated by GNU Autoconf 2.69 ++generated by GNU Autoconf 2.71 + +-Copyright (C) 2012 Free Software Foundation, Inc. ++Copyright (C) 2021 Free Software Foundation, Inc. + This configure script is free software; the Free Software Foundation + gives unlimited permission to copy, distribute and modify it. + _ACEOF +@@ -1564,14 +1602,14 @@ + ac_fn_c_try_compile () + { + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +- rm -f conftest.$ac_objext ++ rm -f conftest.$ac_objext conftest.beam + 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 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -1579,14 +1617,15 @@ + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$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 : ++ } && test -s conftest.$ac_objext ++then : + ac_retval=0 +-else +- $as_echo "$as_me: failed program was:" >&5 ++else $as_nop ++ printf "%s\n" "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +@@ -1602,14 +1641,14 @@ + 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 ++ rm -f conftest.$ac_objext conftest.beam 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 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -1617,17 +1656,18 @@ + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$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 : ++ } ++then : + ac_retval=0 +-else +- $as_echo "$as_me: failed program was:" >&5 ++else $as_nop ++ printf "%s\n" "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +@@ -1649,120 +1689,44 @@ + 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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 ++printf %s "checking for $2... " >&6; } ++if eval test \${$3+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $4 + @%:@include <$2> + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + eval "$3=yes" +-else ++else $as_nop + eval "$3=no" + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi + eval ac_res=\$$3 +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +-$as_echo "$ac_res" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + + } @%:@ ac_fn_c_check_header_compile + +-@%:@ ac_fn_c_try_cpp LINENO +-@%:@ ---------------------- +-@%:@ Try to preprocess conftest.@S|@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_run LINENO +-@%:@ ---------------------- +-@%:@ Try to link conftest.@S|@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_func LINENO FUNC VAR + @%:@ ---------------------------------- + @%:@ Tests whether FUNC exists, setting the cache variable VAR accordingly + ac_fn_c_check_func () + { + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +-$as_echo_n "checking for $2... " >&6; } +-if eval \${$3+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 ++printf %s "checking for $2... " >&6; } ++if eval test \${$3+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + /* Define $2 to an innocuous variant, in case declares $2. +@@ -1770,16 +1734,9 @@ + #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. */ ++ which can conflict with char $2 (); below. */ + +-#ifdef __STDC__ +-# include +-#else +-# include +-#endif +- ++#include + #undef $2 + + /* Override any GCC internal prototype to avoid an error. +@@ -1797,114 +1754,71 @@ + #endif + + int +-main () ++main (void) + { + return $2 (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + eval "$3=yes" +-else ++else $as_nop + eval "$3=no" + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + + } @%:@ ac_fn_c_check_func + +-@%:@ 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 () ++@%:@ ac_fn_c_try_run LINENO ++@%:@ ---------------------- ++@%:@ Try to run conftest.@S|@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 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; } ++ 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\"" ++printf "%s\n" "$ac_try_echo"; } >&5 ++ (eval "$ac_link") 2>&5 ++ ac_status=$? ++ printf "%s\n" "$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\"" ++printf "%s\n" "$ac_try_echo"; } >&5 ++ (eval "$ac_try") 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; } ++then : ++ ac_retval=0 ++else $as_nop ++ printf "%s\n" "$as_me: program exited with status $ac_status" >&5 ++ printf "%s\n" "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + +-# 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 ++ ac_retval=$ac_status + 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;} +- ;; +-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 ++ 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_check_header_mongrel ++} @%:@ ac_fn_c_try_run + + @%:@ ac_fn_c_compute_int LINENO EXPR VAR INCLUDES + @%:@ -------------------------------------------- +@@ -1920,7 +1834,7 @@ + /* end confdefs.h. */ + $4 + int +-main () ++main (void) + { + static int test_array @<:@1 - 2 * !(($2) >= 0)@:>@; + test_array @<:@0@:>@ = 0; +@@ -1930,14 +1844,15 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 () ++main (void) + { + static int test_array @<:@1 - 2 * !(($2) <= $ac_mid)@:>@; + test_array @<:@0@:>@ = 0; +@@ -1947,9 +1862,10 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_hi=$ac_mid; break +-else ++else $as_nop + as_fn_arith $ac_mid + 1 && ac_lo=$as_val + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= +@@ -1957,14 +1873,14 @@ + fi + as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + done +-else ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $4 + int +-main () ++main (void) + { + static int test_array @<:@1 - 2 * !(($2) < 0)@:>@; + test_array @<:@0@:>@ = 0; +@@ -1974,14 +1890,15 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 () ++main (void) + { + static int test_array @<:@1 - 2 * !(($2) >= $ac_mid)@:>@; + test_array @<:@0@:>@ = 0; +@@ -1991,9 +1908,10 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_lo=$ac_mid; break +-else ++else $as_nop + as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= +@@ -2001,14 +1919,14 @@ + fi + as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + done +-else ++else $as_nop + ac_lo= ac_hi= + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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 +@@ -2016,7 +1934,7 @@ + /* end confdefs.h. */ + $4 + int +-main () ++main (void) + { + static int test_array @<:@1 - 2 * !(($2) <= $ac_mid)@:>@; + test_array @<:@0@:>@ = 0; +@@ -2026,12 +1944,13 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_hi=$ac_mid +-else ++else $as_nop + as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + done + case $ac_lo in @%:@(( + ?*) eval "$3=\$ac_lo"; ac_retval=0 ;; +@@ -2041,12 +1960,12 @@ + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $4 +-static long int longval () { return $2; } +-static unsigned long int ulongval () { return $2; } ++static long int longval (void) { return $2; } ++static unsigned long int ulongval (void) { return $2; } + @%:@include + @%:@include + int +-main () ++main (void) + { + + FILE *f = fopen ("conftest.val", "w"); +@@ -2074,9 +1993,10 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_run "$LINENO"; then : ++if ac_fn_c_try_run "$LINENO" ++then : + echo >>conftest.val; read $3 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 crlibm $as_me 1.0beta4, which was +-generated by GNU Autoconf 2.69. Invocation command line was ++generated by GNU Autoconf 2.71. Invocation command line was + +- $ $0 $@ ++ $ $0$ac_configure_args_raw + + _ACEOF + exec 5>>config.log +@@ -2128,8 +2068,12 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- $as_echo "PATH: $as_dir" ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ printf "%s\n" "PATH: $as_dir" + done + IFS=$as_save_IFS + +@@ -2164,7 +2108,7 @@ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) +- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; +@@ -2199,11 +2143,13 @@ + # 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=$? ++ # Sanitize IFS. ++ IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + +- $as_echo "## ---------------- ## ++ printf "%s\n" "## ---------------- ## + ## Cache variables. ## + ## ---------------- ##" + echo +@@ -2214,8 +2160,8 @@ + 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;} ;; ++ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( +@@ -2239,7 +2185,7 @@ + ) + echo + +- $as_echo "## ----------------- ## ++ printf "%s\n" "## ----------------- ## + ## Output variables. ## + ## ----------------- ##" + echo +@@ -2247,14 +2193,14 @@ + do + eval ac_val=\$$ac_var + case $ac_val in +- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac +- $as_echo "$ac_var='\''$ac_val'\''" ++ printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then +- $as_echo "## ------------------- ## ++ printf "%s\n" "## ------------------- ## + ## File substitutions. ## + ## ------------------- ##" + echo +@@ -2262,15 +2208,15 @@ + do + eval ac_val=\$$ac_var + case $ac_val in +- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac +- $as_echo "$ac_var='\''$ac_val'\''" ++ printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then +- $as_echo "## ----------- ## ++ printf "%s\n" "## ----------- ## + ## confdefs.h. ## + ## ----------- ##" + echo +@@ -2278,8 +2224,8 @@ + echo + fi + test "$ac_signal" != 0 && +- $as_echo "$as_me: caught signal $ac_signal" +- $as_echo "$as_me: exit $exit_status" ++ printf "%s\n" "$as_me: caught signal $ac_signal" ++ printf "%s\n" "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && +@@ -2293,63 +2239,48 @@ + # confdefs.h avoids OS command line length limits that DEFS can exceed. + rm -f -r conftest* confdefs.h + +-$as_echo "/* confdefs.h */" > confdefs.h ++printf "%s\n" "/* confdefs.h */" > confdefs.h + + # Predefined preprocessor variables. + +-cat >>confdefs.h <<_ACEOF +-@%:@define PACKAGE_NAME "$PACKAGE_NAME" +-_ACEOF ++printf "%s\n" "@%:@define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" +-_ACEOF ++printf "%s\n" "@%:@define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-@%:@define PACKAGE_VERSION "$PACKAGE_VERSION" +-_ACEOF ++printf "%s\n" "@%:@define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-@%:@define PACKAGE_STRING "$PACKAGE_STRING" +-_ACEOF ++printf "%s\n" "@%:@define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +-_ACEOF ++printf "%s\n" "@%:@define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-@%:@define PACKAGE_URL "$PACKAGE_URL" +-_ACEOF ++printf "%s\n" "@%:@define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + + # 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 ++ ac_site_files="$CONFIG_SITE" + elif test "x$prefix" != xNONE; then +- ac_site_file1=$prefix/share/config.site +- ac_site_file2=$prefix/etc/config.site ++ ac_site_files="$prefix/share/config.site $prefix/etc/config.site" + else +- ac_site_file1=$ac_default_prefix/share/config.site +- ac_site_file2=$ac_default_prefix/etc/config.site ++ ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi +-for ac_site_file in "$ac_site_file1" "$ac_site_file2" ++ ++for ac_site_file in $ac_site_files + 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;} ++ case $ac_site_file in @%:@( ++ */*) : ++ ;; @%:@( ++ *) : ++ ac_site_file=./$ac_site_file ;; ++esac ++ if test -f "$ac_site_file" && test -r "$ac_site_file"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 ++printf "%s\n" "$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;} ++ || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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 +@@ -2359,19 +2290,434 @@ + # 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 ++printf "%s\n" "$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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 ++printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file + fi + ++# Test code for whether the C compiler supports C89 (global declarations) ++ac_c_conftest_c89_globals=' ++/* Does the compiler advertise C89 conformance? ++ Do not test the value of __STDC__, because some compilers set it to 0 ++ while being otherwise adequately conformant. */ ++#if !defined __STDC__ ++# error "Compiler does not advertise C89 conformance" ++#endif ++ ++#include ++#include ++struct stat; ++/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ ++struct buf { int x; }; ++struct buf * (*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 do not provoke an error unfortunately, instead are silently treated ++ as an "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 is necessary to write \x00 == 0 to get something ++ that is 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 **, int *(*)(struct buf *, struct stat *, int), ++ int, int);' ++ ++# Test code for whether the C compiler supports C89 (body of main). ++ac_c_conftest_c89_main=' ++ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); ++' ++ ++# Test code for whether the C compiler supports C99 (global declarations) ++ac_c_conftest_c99_globals=' ++// Does the compiler advertise C99 conformance? ++#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L ++# error "Compiler does not advertise C99 conformance" ++#endif ++ ++#include ++extern int puts (const char *); ++extern int printf (const char *, ...); ++extern int dprintf (int, const char *, ...); ++extern void *malloc (size_t); ++ ++// Check varargs macros. These examples are taken from C99 6.10.3.5. ++// dprintf is used instead of fprintf to avoid needing to declare ++// FILE and stderr. ++#define debug(...) dprintf (2, __VA_ARGS__) ++#define showlist(...) puts (#__VA_ARGS__) ++#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) ++static void ++test_varargs_macros (void) ++{ ++ int x = 1234; ++ int y = 5678; ++ debug ("Flag"); ++ debug ("X = %d\n", x); ++ showlist (The first, second, and third items.); ++ report (x>y, "x is %d but y is %d", x, y); ++} ++ ++// Check long long types. ++#define BIG64 18446744073709551615ull ++#define BIG32 4294967295ul ++#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) ++#if !BIG_OK ++ #error "your preprocessor is broken" ++#endif ++#if BIG_OK ++#else ++ #error "your preprocessor is broken" ++#endif ++static long long int bignum = -9223372036854775807LL; ++static unsigned long long int ubignum = BIG64; ++ ++struct incomplete_array ++{ ++ int datasize; ++ double data[]; ++}; ++ ++struct named_init { ++ int number; ++ const wchar_t *name; ++ double average; ++}; ++ ++typedef const char *ccp; ++ ++static inline int ++test_restrict (ccp restrict text) ++{ ++ // See if C++-style comments work. ++ // Iterate through items via the restricted pointer. ++ // Also check for declarations in for loops. ++ for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) ++ continue; ++ return 0; ++} ++ ++// Check varargs and va_copy. ++static bool ++test_varargs (const char *format, ...) ++{ ++ va_list args; ++ va_start (args, format); ++ va_list args_copy; ++ va_copy (args_copy, args); ++ ++ const char *str = ""; ++ int number = 0; ++ float fnumber = 0; ++ ++ while (*format) ++ { ++ switch (*format++) ++ { ++ case '\''s'\'': // string ++ str = va_arg (args_copy, const char *); ++ break; ++ case '\''d'\'': // int ++ number = va_arg (args_copy, int); ++ break; ++ case '\''f'\'': // float ++ fnumber = va_arg (args_copy, double); ++ break; ++ default: ++ break; ++ } ++ } ++ va_end (args_copy); ++ va_end (args); ++ ++ return *str && number && fnumber; ++} ++' ++ ++# Test code for whether the C compiler supports C99 (body of main). ++ac_c_conftest_c99_main=' ++ // Check bool. ++ _Bool success = false; ++ success |= (argc != 0); ++ ++ // Check restrict. ++ if (test_restrict ("String literal") == 0) ++ success = true; ++ char *restrict newvar = "Another string"; ++ ++ // Check varargs. ++ success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); ++ test_varargs_macros (); ++ ++ // Check flexible array members. ++ struct incomplete_array *ia = ++ malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); ++ ia->datasize = 10; ++ for (int i = 0; i < ia->datasize; ++i) ++ ia->data[i] = i * 1.234; ++ ++ // Check named initializers. ++ struct named_init ni = { ++ .number = 34, ++ .name = L"Test wide string", ++ .average = 543.34343, ++ }; ++ ++ ni.number = 58; ++ ++ int dynamic_array[ni.number]; ++ dynamic_array[0] = argv[0][0]; ++ dynamic_array[ni.number - 1] = 543; ++ ++ // work around unused variable warnings ++ ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' ++ || dynamic_array[ni.number - 1] != 543); ++' ++ ++# Test code for whether the C compiler supports C11 (global declarations) ++ac_c_conftest_c11_globals=' ++// Does the compiler advertise C11 conformance? ++#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L ++# error "Compiler does not advertise C11 conformance" ++#endif ++ ++// Check _Alignas. ++char _Alignas (double) aligned_as_double; ++char _Alignas (0) no_special_alignment; ++extern char aligned_as_int; ++char _Alignas (0) _Alignas (int) aligned_as_int; ++ ++// Check _Alignof. ++enum ++{ ++ int_alignment = _Alignof (int), ++ int_array_alignment = _Alignof (int[100]), ++ char_alignment = _Alignof (char) ++}; ++_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); ++ ++// Check _Noreturn. ++int _Noreturn does_not_return (void) { for (;;) continue; } ++ ++// Check _Static_assert. ++struct test_static_assert ++{ ++ int x; ++ _Static_assert (sizeof (int) <= sizeof (long int), ++ "_Static_assert does not work in struct"); ++ long int y; ++}; ++ ++// Check UTF-8 literals. ++#define u8 syntax error! ++char const utf8_literal[] = u8"happens to be ASCII" "another string"; ++ ++// Check duplicate typedefs. ++typedef long *long_ptr; ++typedef long int *long_ptr; ++typedef long_ptr long_ptr; ++ ++// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. ++struct anonymous ++{ ++ union { ++ struct { int i; int j; }; ++ struct { int k; long int l; } w; ++ }; ++ int m; ++} v1; ++' ++ ++# Test code for whether the C compiler supports C11 (body of main). ++ac_c_conftest_c11_main=' ++ _Static_assert ((offsetof (struct anonymous, i) ++ == offsetof (struct anonymous, w.k)), ++ "Anonymous union alignment botch"); ++ v1.i = 2; ++ v1.w.k = 5; ++ ok |= v1.i != 5; ++' ++ ++# Test code for whether the C compiler supports C11 (complete). ++ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} ++${ac_c_conftest_c99_globals} ++${ac_c_conftest_c11_globals} ++ ++int ++main (int argc, char **argv) ++{ ++ int ok = 0; ++ ${ac_c_conftest_c89_main} ++ ${ac_c_conftest_c99_main} ++ ${ac_c_conftest_c11_main} ++ return ok; ++} ++" ++ ++# Test code for whether the C compiler supports C99 (complete). ++ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} ++${ac_c_conftest_c99_globals} ++ ++int ++main (int argc, char **argv) ++{ ++ int ok = 0; ++ ${ac_c_conftest_c89_main} ++ ${ac_c_conftest_c99_main} ++ return ok; ++} ++" ++ ++# Test code for whether the C compiler supports C89 (complete). ++ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} ++ ++int ++main (int argc, char **argv) ++{ ++ int ok = 0; ++ ${ac_c_conftest_c89_main} ++ return ok; ++} ++" ++ ++as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" ++as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" ++as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" ++as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" ++as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" ++as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" ++as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" ++as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" ++as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" ++ ++# Auxiliary files required by this configure script. ++ac_aux_files="compile config.guess config.sub ltmain.sh missing install-sh" ++ ++# Locations in which to look for auxiliary files. ++ac_aux_dir_candidates="${srcdir}${PATH_SEPARATOR}${srcdir}/..${PATH_SEPARATOR}${srcdir}/../.." ++ ++# Search for a directory containing all of the required auxiliary files, ++# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. ++# If we don't find one directory that contains all the files we need, ++# we report the set of missing files from the *first* directory in ++# $ac_aux_dir_candidates and give up. ++ac_missing_aux_files="" ++ac_first_candidate=: ++printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++as_found=false ++for as_dir in $ac_aux_dir_candidates ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ as_found=: ++ ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 ++ ac_aux_dir_found=yes ++ ac_install_sh= ++ for ac_aux in $ac_aux_files ++ do ++ # As a special case, if "install-sh" is required, that requirement ++ # can be satisfied by any of "install-sh", "install.sh", or "shtool", ++ # and $ac_install_sh is set appropriately for whichever one is found. ++ if test x"$ac_aux" = x"install-sh" ++ then ++ if test -f "${as_dir}install-sh"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 ++ ac_install_sh="${as_dir}install-sh -c" ++ elif test -f "${as_dir}install.sh"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 ++ ac_install_sh="${as_dir}install.sh -c" ++ elif test -f "${as_dir}shtool"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 ++ ac_install_sh="${as_dir}shtool install -c" ++ else ++ ac_aux_dir_found=no ++ if $ac_first_candidate; then ++ ac_missing_aux_files="${ac_missing_aux_files} install-sh" ++ else ++ break ++ fi ++ fi ++ else ++ if test -f "${as_dir}${ac_aux}"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 ++ else ++ ac_aux_dir_found=no ++ if $ac_first_candidate; then ++ ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" ++ else ++ break ++ fi ++ fi ++ fi ++ done ++ if test "$ac_aux_dir_found" = yes; then ++ ac_aux_dir="$as_dir" ++ break ++ fi ++ ac_first_candidate=false ++ ++ as_found=false ++done ++IFS=$as_save_IFS ++if $as_found ++then : ++ ++else $as_nop ++ as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. ++if test -f "${ac_aux_dir}config.guess"; then ++ ac_@&t@config_guess="$SHELL ${ac_aux_dir}config.guess" ++fi ++if test -f "${ac_aux_dir}config.sub"; then ++ ac_@&t@config_sub="$SHELL ${ac_aux_dir}config.sub" ++fi ++if test -f "$ac_aux_dir/configure"; then ++ ac_@&t@configure="$SHELL ${ac_aux_dir}configure" ++fi ++ + # Check that the precious variables saved in the cache have kept the same + # value. + ac_cache_corrupted=false +@@ -2382,12 +2728,12 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 ++printf "%s\n" "$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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 ++printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) +@@ -2396,24 +2742,24 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 ++printf "%s\n" "$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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 ++printf "%s\n" "$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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 ++printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 ++printf "%s\n" "$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=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in +@@ -2423,11 +2769,12 @@ + 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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 ++printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} ++ as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file' ++ and start over" "$LINENO" 5 + fi + ## -------------------- ## + ## Main body of script. ## +@@ -2442,38 +2789,11 @@ + + + +-am__api_version='1.15' ++am__api_version='1.16' + +-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. + +- +-# Find a good install program. We prefer a C program (faster), ++ # 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 +@@ -2487,20 +2807,25 @@ + # 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 ++printf %s "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 ++if test ${ac_cv_path_install+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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]/* | \ ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ # Account for fact that we put trailing slashes in our PATH walk. ++case $as_dir in @%:@(( ++ ./ | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; +@@ -2510,13 +2835,13 @@ + # 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 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 ++ 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 ++ 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 +@@ -2524,12 +2849,12 @@ + 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" && ++ 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" ++ ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c" + break 3 + fi + fi +@@ -2545,7 +2870,7 @@ + rm -rf conftest.one conftest.two conftest.dir + + fi +- if test "${ac_cv_path_install+set}" = set; then ++ if test ${ac_cv_path_install+y}; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a +@@ -2555,8 +2880,8 @@ + INSTALL=$ac_install_sh + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +-$as_echo "$INSTALL" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 ++printf "%s\n" "$INSTALL" >&6; } + + # Use test -z because SunOS4 sh mishandles braces in ${var-val}. + # It thinks the first close brace ends the variable substitution. +@@ -2566,8 +2891,8 @@ + + test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +-$as_echo_n "checking whether build environment is sane... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 ++printf %s "checking whether build environment is sane... " >&6; } + # Reject unsafe characters in $srcdir or the absolute working directory + # name. Accept space and tab only in the latter. + am_lf=' +@@ -2621,8 +2946,8 @@ + as_fn_error $? "newly created file is older than distributed files! + Check your system clock" "$LINENO" 5 + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + # If we didn't sleep, we still need to ensure time stamps of config.status and + # generated files are strictly newer. + am_sleep_pid= +@@ -2641,26 +2966,23 @@ + # Double any \ or $. + # By default was `s,x,x', remove it if useless. + ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` ++program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"` + ++ + # Expand $ac_aux_dir to an absolute path. + am_aux_dir=`cd "$ac_aux_dir" && pwd` + +-if test x"${MISSING+set}" != xset; then +- case $am_aux_dir in +- *\ * | *\ *) +- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; +- *) +- MISSING="\${SHELL} $am_aux_dir/missing" ;; +- esac ++ ++ if test x"${MISSING+set}" != xset; then ++ MISSING="\${SHELL} '$am_aux_dir/missing'" + fi + # Use eval to expand $SHELL + if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " + else + am_missing_run= +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +-$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 ++printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;} + fi + + if test x"${install_sh+set}" != xset; then +@@ -2680,11 +3002,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. + set dummy ${ac_tool_prefix}strip; 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_STRIP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. + else +@@ -2692,11 +3015,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -2707,11 +3034,11 @@ + fi + STRIP=$ac_cv_prog_STRIP + if test -n "$STRIP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +-$as_echo "$STRIP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 ++printf "%s\n" "$STRIP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -2720,11 +3047,12 @@ + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. + set dummy strip; 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_STRIP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. + else +@@ -2732,11 +3060,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -2747,11 +3079,11 @@ + fi + ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP + if test -n "$ac_ct_STRIP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +-$as_echo "$ac_ct_STRIP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 ++printf "%s\n" "$ac_ct_STRIP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_STRIP" = x; then +@@ -2759,8 +3091,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + STRIP=$ac_ct_STRIP +@@ -2772,25 +3104,31 @@ + fi + INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +-{ $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; } ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5 ++printf %s "checking for a race-free mkdir -p... " >&6; } + if test -z "$MKDIR_P"; then +- if ${ac_cv_path_mkdir+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${ac_cv_path_mkdir+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + 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) '* | \ ++ 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 ('*'coreutils) '* | \ ++ 'BusyBox '* | \ + 'mkdir (fileutils) '4.1*) +- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext ++ ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext + break 3;; + esac + done +@@ -2801,7 +3139,7 @@ + fi + + test -d ./--version && rmdir ./--version +- if test "${ac_cv_path_mkdir+set}" = set; then ++ if test ${ac_cv_path_mkdir+y}; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a +@@ -2811,18 +3149,19 @@ + MKDIR_P="$ac_install_sh -d" + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +-$as_echo "$MKDIR_P" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 ++printf "%s\n" "$MKDIR_P" >&6; } + + for ac_prog in gawk mawk nawk awk + 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_AWK+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_AWK+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. + else +@@ -2830,11 +3169,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -2845,24 +3188,25 @@ + fi + AWK=$ac_cv_prog_AWK + if test -n "$AWK"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +-$as_echo "$AWK" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 ++printf "%s\n" "$AWK" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + + test -n "$AWK" && break + done + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 ++printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } + set x ${MAKE-make} +-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` ++if eval test \${ac_cv_prog_make_${ac_make}_set+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat >conftest.make <<\_ACEOF + SHELL = /bin/sh + all: +@@ -2878,12 +3222,12 @@ + rm -f conftest.make + fi + if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + SET_MAKE= + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" + fi + +@@ -2897,7 +3241,8 @@ + rmdir .tst 2>/dev/null + + @%:@ Check whether --enable-silent-rules was given. +-if test "${enable_silent_rules+set}" = set; then : ++if test ${enable_silent_rules+y} ++then : + enableval=$enable_silent_rules; + fi + +@@ -2907,12 +3252,13 @@ + *) AM_DEFAULT_VERBOSITY=1;; + esac + am_make=${MAKE-make} +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +-$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +-if ${am_cv_make_support_nested_variables+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if $as_echo 'TRUE=$(BAR$(V)) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 ++printf %s "checking whether $am_make supports nested variables... " >&6; } ++if test ${am_cv_make_support_nested_variables+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if printf "%s\n" 'TRUE=$(BAR$(V)) + BAR0=false + BAR1=true + V=1 +@@ -2924,8 +3270,8 @@ + am_cv_make_support_nested_variables=no + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +-$as_echo "$am_cv_make_support_nested_variables" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 ++printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } + if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +@@ -2960,14 +3306,10 @@ + VERSION='1.0beta4' + + +-cat >>confdefs.h <<_ACEOF +-@%:@define PACKAGE "$PACKAGE" +-_ACEOF ++printf "%s\n" "@%:@define PACKAGE \"$PACKAGE\"" >>confdefs.h + + +-cat >>confdefs.h <<_ACEOF +-@%:@define VERSION "$VERSION" +-_ACEOF ++printf "%s\n" "@%:@define VERSION \"$VERSION\"" >>confdefs.h + + # Some tools Automake needs. + +@@ -2987,8 +3329,8 @@ + + # For better backward compatibility. To be removed once Automake 1.9.x + # dies out for good. For more background, see: +-# +-# ++# ++# + mkdir_p='$(MKDIR_P)' + + # We need awk for the "check" target (and possibly the TAP driver). The +@@ -3007,7 +3349,21 @@ + + + ++# Variables for tags utilities; see am/tags.am ++if test -z "$CTAGS"; then ++ CTAGS=ctags ++fi + ++if test -z "$ETAGS"; then ++ ETAGS=etags ++fi ++ ++if test -z "$CSCOPE"; then ++ CSCOPE=cscope ++fi ++ ++ ++ + # POSIX will say in a future version that running "rm -f" with no argument + # is OK; and we want to be able to make that assumption in our Makefile + # recipes. So use an aggressive probe to check that the usage we want is +@@ -3039,7 +3395,7 @@ + Aborting the configuration process, to ensure you take notice of the issue. + + You can download and install GNU coreutils to get an 'rm' implementation +-that behaves properly: . ++that behaves properly: . + + If you want to complete the configuration process using your problematic + 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +@@ -3055,7 +3411,8 @@ + + + @%:@ Check whether --enable-shared was given. +-if test "${enable_shared+set}" = set; then : ++if test ${enable_shared+y} ++then : + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; +@@ -3073,7 +3430,7 @@ + IFS=$lt_save_ifs + ;; + esac +-else ++else $as_nop + enable_shared=yes + fi + +@@ -3086,7 +3443,8 @@ + + + @%:@ Check whether --enable-static was given. +-if test "${enable_static+set}" = set; then : ++if test ${enable_static+y} ++then : + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; +@@ -3104,7 +3462,7 @@ + IFS=$lt_save_ifs + ;; + esac +-else ++else $as_nop + enable_static=yes + fi + +@@ -3118,8 +3476,8 @@ + + case `pwd` in + *\ * | *\ *) +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 ++printf "%s\n" "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; + esac + + +@@ -3139,28 +3497,32 @@ + + + ++ + ltmain=$ac_aux_dir/ltmain.sh + +-# 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 ++ ++ # 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 ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 ++printf %s "checking build system type... " >&6; } ++if test ${ac_cv_build+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_build_alias=$build_alias + test "x$ac_build_alias" = x && +- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` ++ 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 ++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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 ++printf "%s\n" "$ac_cv_build" >&6; } + case $ac_cv_build in + *-*-*) ;; + *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +@@ -3179,21 +3541,22 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 ++printf %s "checking host system type... " >&6; } ++if test ${ac_cv_host+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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 ++ 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 ++printf "%s\n" "$ac_cv_host" >&6; } + case $ac_cv_host in + *-*-*) ;; + *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +@@ -3233,8 +3596,8 @@ + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +-$as_echo_n "checking how to print strings... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 ++printf %s "checking how to print strings... " >&6; } + # Test print first, because it will be a builtin if present. + if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then +@@ -3260,12 +3623,12 @@ + } + + case $ECHO in +- printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +-$as_echo "printf" >&6; } ;; +- print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +-$as_echo "print -r" >&6; } ;; +- *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +-$as_echo "cat" >&6; } ;; ++ printf*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: printf" >&5 ++printf "%s\n" "printf" >&6; } ;; ++ print*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 ++printf "%s\n" "print -r" >&6; } ;; ++ *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cat" >&5 ++printf "%s\n" "cat" >&6; } ;; + esac + + +@@ -3281,52 +3644,62 @@ + + + ++ ++ ++ ++ ++ ++ ++ ++ ++ + DEPDIR="${am__leading_dot}deps" + + ac_config_commands="$ac_config_commands depfiles" + +- +-am_make=${MAKE-make} +-cat > confinc << 'END' ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 ++printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; } ++cat > confinc.mk << 'END' + am__doit: +- @echo this is the am__doit target ++ @echo this is the am__doit target >confinc.out + .PHONY: am__doit + END +-# If we don't find an include directive, just comment out the code. +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 +-$as_echo_n "checking for style of include used by $am_make... " >&6; } + am__include="#" + am__quote= +-_am_result=none +-# First try GNU make style include. +-echo "include confinc" > confmf +-# Ignore all kinds of additional output from 'make'. +-case `$am_make -s -f confmf 2> /dev/null` in #( +-*the\ am__doit\ target*) +- am__include=include +- am__quote= +- _am_result=GNU +- ;; +-esac +-# Now try BSD make style include. +-if test "$am__include" = "#"; then +- echo '.include "confinc"' > confmf +- case `$am_make -s -f confmf 2> /dev/null` in #( +- *the\ am__doit\ target*) +- am__include=.include +- am__quote="\"" +- _am_result=BSD ++# BSD make does it like this. ++echo '.include "confinc.mk" # ignored' > confmf.BSD ++# Other make implementations (GNU, Solaris 10, AIX) do it like this. ++echo 'include confinc.mk # ignored' > confmf.GNU ++_am_result=no ++for s in GNU BSD; do ++ { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 ++ (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++ case $?:`cat confinc.out 2>/dev/null` in @%:@( ++ '0:this is the am__doit target') : ++ case $s in @%:@( ++ BSD) : ++ am__include='.include' am__quote='"' ;; @%:@( ++ *) : ++ am__include='include' am__quote='' ;; ++esac ;; @%:@( ++ *) : + ;; +- esac +-fi ++esac ++ if test "$am__include" != "#"; then ++ _am_result="yes ($s style)" ++ break ++ fi ++done ++rm -f confinc.* confmf.* ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 ++printf "%s\n" "${_am_result}" >&6; } + +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 +-$as_echo "$_am_result" >&6; } +-rm -f confinc confmf +- + @%:@ Check whether --enable-dependency-tracking was given. +-if test "${enable_dependency_tracking+set}" = set; then : ++if test ${enable_dependency_tracking+y} ++then : + enableval=$enable_dependency_tracking; + fi + +@@ -3352,11 +3725,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +@@ -3364,11 +3738,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3379,11 +3757,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -3392,11 +3770,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + else +@@ -3404,11 +3783,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3419,11 +3802,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 ++printf "%s\n" "$ac_ct_CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_CC" = x; then +@@ -3431,8 +3814,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + CC=$ac_ct_CC +@@ -3445,11 +3828,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +@@ -3457,11 +3841,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3472,11 +3860,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -3485,11 +3873,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +@@ -3498,15 +3887,19 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + 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 ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3522,18 +3915,18 @@ + # 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+' '}$@" ++ 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -3544,11 +3937,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +@@ -3556,11 +3950,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3571,11 +3969,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -3588,11 +3986,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + else +@@ -3600,11 +3999,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3615,11 +4018,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 ++printf "%s\n" "$ac_ct_CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -3631,8 +4034,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + CC=$ac_ct_CC +@@ -3640,25 +4043,129 @@ + fi + + fi ++if test -z "$CC"; then ++ 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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}clang" ++ printf "%s\n" "$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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++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;} ++ ++fi ++if test -z "$ac_cv_prog_CC"; then ++ ac_ct_CC=$CC ++ # Extract the first word of "clang", so it can be a program name with args. ++set dummy clang; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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="clang" ++ printf "%s\n" "$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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 ++printf "%s\n" "$ac_ct_CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ if test "x$ac_ct_CC" = x; then ++ CC="" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$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 ++ ++fi ++ ++ ++test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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 ++printf "%s\n" "$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 ++for ac_option in --version -v -V -qversion -version; 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 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -3668,7 +4175,7 @@ + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + done + +@@ -3676,7 +4183,7 @@ + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; +@@ -3688,9 +4195,9 @@ + # 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[^ ]*//'` ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 ++printf %s "checking whether the C compiler works... " >&6; } ++ac_link_default=`printf "%s\n" "$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.*" +@@ -3711,11 +4218,12 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$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 : ++ printf "%s\n" "$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, +@@ -3732,7 +4240,7 @@ + # certainly right. + break;; + *.* ) +- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; ++ if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi +@@ -3748,44 +4256,46 @@ + done + test "$ac_cv_exeext" = no && ac_cv_exeext= + +-else ++else $as_nop + 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 ++if test -z "$ac_file" ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++printf "%s\n" "$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;} ++{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 ++printf %s "checking for C compiler default output file name... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 ++printf "%s\n" "$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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 ++printf %s "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 ++printf "%s\n" "$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 : ++ printf "%s\n" "$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 +@@ -3799,15 +4309,15 @@ + * ) 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;} ++else $as_nop ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 ++printf "%s\n" "$ac_cv_exeext" >&6; } + + rm -f conftest.$ac_ext + EXEEXT=$ac_cv_exeext +@@ -3816,7 +4326,7 @@ + /* end confdefs.h. */ + @%:@include + int +-main () ++main (void) + { + FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; +@@ -3828,8 +4338,8 @@ + 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 ++printf %s "checking whether we are cross compiling... " >&6; } + if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" + case "(($ac_try" in +@@ -3837,10 +4347,10 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in +@@ -3848,39 +4358,40 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$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. ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} ++as_fn_error 77 "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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 ++printf "%s\n" "$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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 ++printf %s "checking for suffix of object files... " >&6; } ++if test ${ac_cv_objext+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; +@@ -3894,11 +4405,12 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$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 : ++ printf "%s\n" "$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 +@@ -3907,31 +4419,32 @@ + break;; + esac + done +-else +- $as_echo "$as_me: failed program was:" >&5 ++else $as_nop ++ printf "%s\n" "$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;} ++{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 ++printf "%s\n" "$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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 ++printf %s "checking whether the compiler supports GNU C... " >&6; } ++if test ${ac_cv_c_compiler_gnu+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + #ifndef __GNUC__ + choke me +@@ -3941,29 +4454,33 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_compiler_gnu=yes +-else ++else $as_nop + ac_compiler_gnu=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 ++printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ + if test $ac_compiler_gnu = yes; then + GCC=yes + else + GCC= + fi +-ac_test_CFLAGS=${CFLAGS+set} ++ac_test_CFLAGS=${CFLAGS+y} + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 ++printf %s "checking whether $CC accepts -g... " >&6; } ++if test ${ac_cv_prog_cc_g+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no +@@ -3972,57 +4489,60 @@ + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_prog_cc_g=yes +-else ++else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-else ++else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 ++printf "%s\n" "$ac_cv_prog_cc_g" >&6; } ++if test $ac_test_CFLAGS; then + CFLAGS=$ac_save_CFLAGS + elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then +@@ -4037,95 +4557,145 @@ + 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_prog_cc_stdc=no ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 ++printf %s "checking for $CC option to enable C11 features... " >&6; } ++if test ${ac_cv_prog_cc_c11+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c11=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; +-} ++$ac_c_conftest_c11_program ++_ACEOF ++for ac_arg in '' -std=gnu11 ++do ++ CC="$ac_save_CC $ac_arg" ++ if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_c11=$ac_arg ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cc_c11" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CC=$ac_save_CC ++fi + +-/* 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]; ++if test "x$ac_cv_prog_cc_c11" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c11" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } ++ CC="$CC $ac_cv_prog_cc_c11" ++fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 ++ ac_prog_cc_stdc=c11 ++fi ++fi ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 ++printf %s "checking for $CC option to enable C99 features... " >&6; } ++if test ${ac_cv_prog_cc_c99+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c99=no ++ac_save_CC=$CC ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_c_conftest_c99_program ++_ACEOF ++for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= ++do ++ CC="$ac_save_CC $ac_arg" ++ if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_c99=$ac_arg ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cc_c99" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CC=$ac_save_CC ++fi + +-/* 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; +-} ++if test "x$ac_cv_prog_cc_c99" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c99" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } ++ CC="$CC $ac_cv_prog_cc_c99" ++fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 ++ ac_prog_cc_stdc=c99 ++fi ++fi ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 ++printf %s "checking for $CC option to enable C89 features... " >&6; } ++if test ${ac_cv_prog_cc_c89+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c89=no ++ac_save_CC=$CC ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_c_conftest_c89_program + _ACEOF +-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ +- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" ++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 : ++ if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_prog_cc_c89=$ac_arg + fi +-rm -f core conftest.err conftest.$ac_objext ++rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break + done + rm -f conftest.$ac_ext + CC=$ac_save_CC ++fi + ++if test "x$ac_cv_prog_cc_c89" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c89" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } ++ CC="$CC $ac_cv_prog_cc_c89" + 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 : +- ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 ++ ac_prog_cc_stdc=c89 + fi ++fi + + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' +@@ -4133,21 +4703,23 @@ + 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_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 whether $CC understands -c and -o together" >&5 +-$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +-if ${am_cv_prog_cc_c_o+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 ++printf %s "checking whether $CC understands -c and -o together... " >&6; } ++if test ${am_cv_prog_cc_c_o+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; +@@ -4175,8 +4747,8 @@ + rm -f core conftest* + unset am_i + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +-$as_echo "$am_cv_prog_cc_c_o" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 ++printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } + if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. +@@ -4194,11 +4766,12 @@ + + depcc="$CC" am_compiler_list= + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +-$as_echo_n "checking dependency style of $depcc... " >&6; } +-if ${am_cv_CC_dependencies_compiler_type+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 ++printf %s "checking dependency style of $depcc... " >&6; } ++if test ${am_cv_CC_dependencies_compiler_type+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For +@@ -4305,8 +4878,8 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 ++printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } + CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if +@@ -4320,11 +4893,12 @@ + fi + + +-{ $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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 ++printf %s "checking for a sed that does not truncate output... " >&6; } ++if test ${ac_cv_path_SED+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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" +@@ -4338,10 +4912,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_prog in sed gsed; do ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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" ++ 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 +@@ -4350,13 +4929,13 @@ + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; + *) + ac_count=0 +- $as_echo_n 0123456789 >"conftest.in" ++ printf %s 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" ++ printf "%s\n" '' >> "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 +@@ -4384,8 +4963,8 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +-$as_echo "$ac_cv_path_SED" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 ++printf "%s\n" "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +@@ -4402,11 +4981,12 @@ + + + +-{ $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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 ++printf %s "checking for grep that handles long lines and -e... " >&6; } ++if test ${ac_cv_path_GREP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST +@@ -4414,10 +4994,15 @@ + 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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" ++ 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 +@@ -4426,13 +5011,13 @@ + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; + *) + ac_count=0 +- $as_echo_n 0123456789 >"conftest.in" ++ printf %s 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" ++ printf "%s\n" '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 +@@ -4460,16 +5045,17 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +-$as_echo "$ac_cv_path_GREP" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 ++printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +-{ $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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 ++printf %s "checking for egrep... " >&6; } ++if test ${ac_cv_path_EGREP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else +@@ -4480,10 +5066,15 @@ + 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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" ++ 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 +@@ -4492,13 +5083,13 @@ + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; + *) + ac_count=0 +- $as_echo_n 0123456789 >"conftest.in" ++ printf %s 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" ++ printf "%s\n" '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 +@@ -4527,16 +5118,17 @@ + + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +-$as_echo "$ac_cv_path_EGREP" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 ++printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +-$as_echo_n "checking for fgrep... " >&6; } +-if ${ac_cv_path_FGREP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 ++printf %s "checking for fgrep... " >&6; } ++if test ${ac_cv_path_FGREP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else +@@ -4547,10 +5139,15 @@ + 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 fgrep; do ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_prog in fgrep ++ do + for ac_exec_ext in '' $ac_executable_extensions; do +- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" ++ ac_path_FGREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_FGREP" || continue + # Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +@@ -4559,13 +5156,13 @@ + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; + *) + ac_count=0 +- $as_echo_n 0123456789 >"conftest.in" ++ printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" +- $as_echo 'FGREP' >> "conftest.nl" ++ printf "%s\n" 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "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 +@@ -4594,8 +5191,8 @@ + + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +-$as_echo "$ac_cv_path_FGREP" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 ++printf "%s\n" "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +@@ -4620,17 +5217,18 @@ + + + @%:@ Check whether --with-gnu-ld was given. +-if test "${with_gnu_ld+set}" = set; then : ++if test ${with_gnu_ld+y} ++then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +-else ++else $as_nop + with_gnu_ld=no + fi + + ac_prog=ld + if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +-$as_echo_n "checking for ld used by $CC... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 ++printf %s "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw +@@ -4659,15 +5257,16 @@ + ;; + esac + elif test yes = "$with_gnu_ld"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +-$as_echo_n "checking for GNU ld... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 ++printf %s "checking for GNU ld... " >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +-$as_echo_n "checking for non-GNU ld... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 ++printf %s "checking for non-GNU ld... " >&6; } + fi +-if ${lt_cv_path_LD+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++if test ${lt_cv_path_LD+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do +@@ -4696,18 +5295,19 @@ + + LD=$lt_cv_path_LD + if test -n "$LD"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +-$as_echo "$LD" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 ++printf "%s\n" "$LD" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +-if ${lt_cv_prog_gnu_ld+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 ++printf %s "checking if the linker ($LD) is GNU ld... " >&6; } ++if test ${lt_cv_prog_gnu_ld+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + # I'd rather use --version here, but apparently some GNU lds only accept -v. + case `$LD -v 2>&1 &5 +-$as_echo "$lt_cv_prog_gnu_ld" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 ++printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } + with_gnu_ld=$lt_cv_prog_gnu_ld + + +@@ -4730,11 +5330,12 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +-if ${lt_cv_path_NM+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 ++printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; } ++if test ${lt_cv_path_NM+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM +@@ -4784,8 +5385,8 @@ + : ${lt_cv_path_NM=no} + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +-$as_echo "$lt_cv_path_NM" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 ++printf "%s\n" "$lt_cv_path_NM" >&6; } + if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM + else +@@ -4798,11 +5399,12 @@ + 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_DUMPBIN+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_DUMPBIN+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. + else +@@ -4810,11 +5412,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -4825,11 +5431,11 @@ + fi + DUMPBIN=$ac_cv_prog_DUMPBIN + if test -n "$DUMPBIN"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +-$as_echo "$DUMPBIN" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 ++printf "%s\n" "$DUMPBIN" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -4842,11 +5448,12 @@ + 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_DUMPBIN+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_DUMPBIN+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. + else +@@ -4854,11 +5461,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -4869,11 +5480,11 @@ + fi + ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN + if test -n "$ac_ct_DUMPBIN"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +-$as_echo "$ac_ct_DUMPBIN" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 ++printf "%s\n" "$ac_ct_DUMPBIN" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -4885,8 +5496,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + DUMPBIN=$ac_ct_DUMPBIN +@@ -4914,11 +5525,12 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +-$as_echo_n "checking the name lister ($NM) interface... " >&6; } +-if ${lt_cv_nm_interface+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 ++printf %s "checking the name lister ($NM) interface... " >&6; } ++if test ${lt_cv_nm_interface+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) +@@ -4934,26 +5546,27 @@ + fi + rm -f conftest* + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +-$as_echo "$lt_cv_nm_interface" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 ++printf "%s\n" "$lt_cv_nm_interface" >&6; } + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +-$as_echo_n "checking whether ln -s works... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 ++printf %s "checking whether ln -s works... " >&6; } + LN_S=$as_ln_s + if test "$LN_S" = "ln -s"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +-$as_echo "no, using $LN_S" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 ++printf "%s\n" "no, using $LN_S" >&6; } + fi + + # find the maximum length of command line arguments +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +-$as_echo_n "checking the maximum length of command line arguments... " >&6; } +-if ${lt_cv_sys_max_cmd_len+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 ++printf %s "checking the maximum length of command line arguments... " >&6; } ++if test ${lt_cv_sys_max_cmd_len+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + i=0 + teststring=ABCD + +@@ -5080,11 +5693,11 @@ + fi + + if test -n "$lt_cv_sys_max_cmd_len"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +-$as_echo "$lt_cv_sys_max_cmd_len" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 ++printf "%s\n" "$lt_cv_sys_max_cmd_len" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +-$as_echo "none" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 ++printf "%s\n" "none" >&6; } + fi + max_cmd_len=$lt_cv_sys_max_cmd_len + +@@ -5128,11 +5741,12 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +-$as_echo_n "checking how to convert $build file names to $host format... " >&6; } +-if ${lt_cv_to_host_file_cmd+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 ++printf %s "checking how to convert $build file names to $host format... " >&6; } ++if test ${lt_cv_to_host_file_cmd+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + case $host in + *-*-mingw* ) + case $build in +@@ -5168,18 +5782,19 @@ + fi + + to_host_file_cmd=$lt_cv_to_host_file_cmd +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +-$as_echo "$lt_cv_to_host_file_cmd" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 ++printf "%s\n" "$lt_cv_to_host_file_cmd" >&6; } + + + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } +-if ${lt_cv_to_tool_file_cmd+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 ++printf %s "checking how to convert $build file names to toolchain format... " >&6; } ++if test ${lt_cv_to_tool_file_cmd+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + #assume ordinary cross tools, or native build. + lt_cv_to_tool_file_cmd=func_convert_file_noop + case $host in +@@ -5195,22 +5810,23 @@ + fi + + to_tool_file_cmd=$lt_cv_to_tool_file_cmd +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +-$as_echo "$lt_cv_to_tool_file_cmd" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 ++printf "%s\n" "$lt_cv_to_tool_file_cmd" >&6; } + + + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +-$as_echo_n "checking for $LD option to reload object files... " >&6; } +-if ${lt_cv_ld_reload_flag+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 ++printf %s "checking for $LD option to reload object files... " >&6; } ++if test ${lt_cv_ld_reload_flag+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_ld_reload_flag='-r' + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +-$as_echo "$lt_cv_ld_reload_flag" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 ++printf "%s\n" "$lt_cv_ld_reload_flag" >&6; } + reload_flag=$lt_cv_ld_reload_flag + case $reload_flag in + "" | " "*) ;; +@@ -5243,11 +5859,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. + set dummy ${ac_tool_prefix}objdump; 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_OBJDUMP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_OBJDUMP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. + else +@@ -5255,11 +5872,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5270,11 +5891,11 @@ + fi + OBJDUMP=$ac_cv_prog_OBJDUMP + if test -n "$OBJDUMP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +-$as_echo "$OBJDUMP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 ++printf "%s\n" "$OBJDUMP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -5283,11 +5904,12 @@ + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. + set dummy objdump; 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_OBJDUMP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_OBJDUMP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. + else +@@ -5295,11 +5917,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5310,11 +5936,11 @@ + fi + ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP + if test -n "$ac_ct_OBJDUMP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +-$as_echo "$ac_ct_OBJDUMP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 ++printf "%s\n" "$ac_ct_OBJDUMP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_OBJDUMP" = x; then +@@ -5322,8 +5948,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + OBJDUMP=$ac_ct_OBJDUMP +@@ -5342,11 +5968,12 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +-$as_echo_n "checking how to recognize dependent libraries... " >&6; } +-if ${lt_cv_deplibs_check_method+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 ++printf %s "checking how to recognize dependent libraries... " >&6; } ++if test ${lt_cv_deplibs_check_method+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_file_magic_cmd='$MAGIC_CMD' + lt_cv_file_magic_test_file= + lt_cv_deplibs_check_method='unknown' +@@ -5542,8 +6169,8 @@ + esac + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +-$as_echo "$lt_cv_deplibs_check_method" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 ++printf "%s\n" "$lt_cv_deplibs_check_method" >&6; } + + file_magic_glob= + want_nocaseglob=no +@@ -5587,11 +6214,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. + set dummy ${ac_tool_prefix}dlltool; 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_DLLTOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_DLLTOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. + else +@@ -5599,11 +6227,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5614,11 +6246,11 @@ + fi + DLLTOOL=$ac_cv_prog_DLLTOOL + if test -n "$DLLTOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +-$as_echo "$DLLTOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 ++printf "%s\n" "$DLLTOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -5627,11 +6259,12 @@ + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. + set dummy dlltool; 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_DLLTOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_DLLTOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. + else +@@ -5639,11 +6272,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5654,11 +6291,11 @@ + fi + ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL + if test -n "$ac_ct_DLLTOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +-$as_echo "$ac_ct_DLLTOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 ++printf "%s\n" "$ac_ct_DLLTOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_DLLTOOL" = x; then +@@ -5666,8 +6303,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + DLLTOOL=$ac_ct_DLLTOOL +@@ -5687,11 +6324,12 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +-$as_echo_n "checking how to associate runtime and link libraries... " >&6; } +-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 ++printf %s "checking how to associate runtime and link libraries... " >&6; } ++if test ${lt_cv_sharedlib_from_linklib_cmd+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_sharedlib_from_linklib_cmd='unknown' + + case $host_os in +@@ -5714,8 +6352,8 @@ + esac + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 ++printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; } + sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd + test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + +@@ -5731,11 +6369,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_AR+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. + else +@@ -5743,11 +6382,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5758,11 +6401,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 ++printf "%s\n" "$AR" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -5775,11 +6418,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_AR+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. + else +@@ -5787,11 +6431,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5802,11 +6450,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 ++printf "%s\n" "$ac_ct_AR" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -5818,8 +6466,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + AR=$ac_ct_AR +@@ -5839,30 +6487,32 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +-$as_echo_n "checking for archiver @FILE support... " >&6; } +-if ${lt_cv_ar_at_file+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 ++printf %s "checking for archiver @FILE support... " >&6; } ++if test ${lt_cv_ar_at_file+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_ar_at_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -eq "$ac_status"; then + # Ensure the archiver fails upon bogus file names. +@@ -5870,7 +6520,7 @@ + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -ne "$ac_status"; then + lt_cv_ar_at_file=@ +@@ -5879,11 +6529,11 @@ + rm -f conftest.* libconftest.a + + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +-$as_echo "$lt_cv_ar_at_file" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 ++printf "%s\n" "$lt_cv_ar_at_file" >&6; } + + if test no = "$lt_cv_ar_at_file"; then + archiver_list_spec= +@@ -5900,11 +6550,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. + set dummy ${ac_tool_prefix}strip; 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_STRIP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. + else +@@ -5912,11 +6563,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5927,11 +6582,11 @@ + fi + STRIP=$ac_cv_prog_STRIP + if test -n "$STRIP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +-$as_echo "$STRIP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 ++printf "%s\n" "$STRIP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -5940,11 +6595,12 @@ + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. + set dummy strip; 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_STRIP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. + else +@@ -5952,11 +6608,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5967,11 +6627,11 @@ + fi + ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP + if test -n "$ac_ct_STRIP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +-$as_echo "$ac_ct_STRIP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 ++printf "%s\n" "$ac_ct_STRIP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_STRIP" = x; then +@@ -5979,8 +6639,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + STRIP=$ac_ct_STRIP +@@ -5999,11 +6659,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. + set dummy ${ac_tool_prefix}ranlib; 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_RANLIB+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_RANLIB+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. + else +@@ -6011,11 +6672,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -6026,11 +6691,11 @@ + fi + RANLIB=$ac_cv_prog_RANLIB + if test -n "$RANLIB"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +-$as_echo "$RANLIB" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 ++printf "%s\n" "$RANLIB" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -6039,11 +6704,12 @@ + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. + set dummy ranlib; 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_RANLIB+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_RANLIB+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. + else +@@ -6051,11 +6717,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -6066,11 +6736,11 @@ + fi + ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB + if test -n "$ac_ct_RANLIB"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +-$as_echo "$ac_ct_RANLIB" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 ++printf "%s\n" "$ac_ct_RANLIB" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_RANLIB" = x; then +@@ -6078,8 +6748,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + RANLIB=$ac_ct_RANLIB +@@ -6168,11 +6838,12 @@ + + + # Check for command to grab the raw symbol name followed by C symbol from nm. +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } +-if ${lt_cv_sys_global_symbol_pipe+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 ++printf %s "checking command to parse $NM output from $compiler object... " >&6; } ++if test ${lt_cv_sys_global_symbol_pipe+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + + # These are sane defaults that work on at least a few old systems. + # [They come from Ultrix. What could be older than Ultrix?!! ;)] +@@ -6324,14 +6995,14 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 + (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then +@@ -6400,7 +7071,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest$ac_exeext; then + pipe_works=yes + fi +@@ -6435,11 +7106,11 @@ + lt_cv_sys_global_symbol_to_cdecl= + fi + if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +-$as_echo "failed" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5 ++printf "%s\n" "failed" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +-$as_echo "ok" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 ++printf "%s\n" "ok" >&6; } + fi + + # Response file support. +@@ -6485,13 +7156,14 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +-$as_echo_n "checking for sysroot... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 ++printf %s "checking for sysroot... " >&6; } + + @%:@ Check whether --with-sysroot was given. +-if test "${with_sysroot+set}" = set; then : ++if test ${with_sysroot+y} ++then : + withval=$with_sysroot; +-else ++else $as_nop + with_sysroot=no + fi + +@@ -6509,24 +7181,25 @@ + no|'') + ;; #( + *) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 +-$as_echo "$with_sysroot" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 ++printf "%s\n" "$with_sysroot" >&6; } + as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 + ;; + esac + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +-$as_echo "${lt_sysroot:-no}" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 ++printf "%s\n" "${lt_sysroot:-no}" >&6; } + + + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 +-$as_echo_n "checking for a working dd... " >&6; } +-if ${ac_cv_path_lt_DD+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 ++printf %s "checking for a working dd... " >&6; } ++if test ${ac_cv_path_lt_DD+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + printf 0123456789abcdef0123456789abcdef >conftest.i + cat conftest.i conftest.i >conftest2.i + : ${lt_DD:=$DD} +@@ -6537,10 +7210,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_prog in dd; do ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_prog in dd ++ do + for ac_exec_ext in '' $ac_executable_extensions; do +- ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" ++ ac_path_lt_DD="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_lt_DD" || continue + if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ +@@ -6560,15 +7238,16 @@ + + rm -f conftest.i conftest2.i conftest.out + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +-$as_echo "$ac_cv_path_lt_DD" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 ++printf "%s\n" "$ac_cv_path_lt_DD" >&6; } + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 +-$as_echo_n "checking how to truncate binary pipes... " >&6; } +-if ${lt_cv_truncate_bin+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 ++printf %s "checking how to truncate binary pipes... " >&6; } ++if test ${lt_cv_truncate_bin+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + printf 0123456789abcdef0123456789abcdef >conftest.i + cat conftest.i conftest.i >conftest2.i + lt_cv_truncate_bin= +@@ -6579,8 +7258,8 @@ + rm -f conftest.i conftest2.i conftest.out + test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +-$as_echo "$lt_cv_truncate_bin" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 ++printf "%s\n" "$lt_cv_truncate_bin" >&6; } + + + +@@ -6603,7 +7282,8 @@ + } + + @%:@ Check whether --enable-libtool-lock was given. +-if test "${enable_libtool_lock+set}" = set; then : ++if test ${enable_libtool_lock+y} ++then : + enableval=$enable_libtool_lock; + fi + +@@ -6619,7 +7299,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) +@@ -6639,7 +7319,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + if test yes = "$lt_cv_prog_gnu_ld"; then + case `/usr/bin/file conftest.$ac_objext` in +@@ -6677,7 +7357,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + emul=elf + case `/usr/bin/file conftest.$ac_objext` in +@@ -6718,7 +7398,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *32-bit*) +@@ -6781,11 +7461,12 @@ + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -belf" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +-$as_echo_n "checking whether the C compiler needs -belf... " >&6; } +-if ${lt_cv_cc_needs_belf+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 ++printf %s "checking whether the C compiler needs -belf... " >&6; } ++if test ${lt_cv_cc_needs_belf+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' + ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +@@ -6796,19 +7477,20 @@ + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + lt_cv_cc_needs_belf=yes +-else ++else $as_nop + lt_cv_cc_needs_belf=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' +@@ -6817,8 +7499,8 @@ + ac_compiler_gnu=$ac_cv_c_compiler_gnu + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +-$as_echo "$lt_cv_cc_needs_belf" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 ++printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } + if test yes != "$lt_cv_cc_needs_belf"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS=$SAVE_CFLAGS +@@ -6831,7 +7513,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *64-bit*) +@@ -6868,11 +7550,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. + set dummy ${ac_tool_prefix}mt; 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_MANIFEST_TOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_MANIFEST_TOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$MANIFEST_TOOL"; then + ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. + else +@@ -6880,11 +7563,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -6895,11 +7582,11 @@ + fi + MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL + if test -n "$MANIFEST_TOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +-$as_echo "$MANIFEST_TOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 ++printf "%s\n" "$MANIFEST_TOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -6908,11 +7595,12 @@ + ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL + # Extract the first word of "mt", so it can be a program name with args. + set dummy mt; 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_MANIFEST_TOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_MANIFEST_TOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_MANIFEST_TOOL"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. + else +@@ -6920,11 +7608,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -6935,11 +7627,11 @@ + fi + ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL + if test -n "$ac_ct_MANIFEST_TOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 ++printf "%s\n" "$ac_ct_MANIFEST_TOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_MANIFEST_TOOL" = x; then +@@ -6947,8 +7639,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL +@@ -6958,11 +7650,12 @@ + fi + + test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +-if ${lt_cv_path_mainfest_tool+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 ++printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } ++if test ${lt_cv_path_mainfest_tool+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out +@@ -6972,8 +7665,8 @@ + fi + rm -f conftest* + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +-$as_echo "$lt_cv_path_mainfest_tool" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 ++printf "%s\n" "$lt_cv_path_mainfest_tool" >&6; } + if test yes != "$lt_cv_path_mainfest_tool"; then + MANIFEST_TOOL=: + fi +@@ -6988,11 +7681,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. + set dummy ${ac_tool_prefix}dsymutil; 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_DSYMUTIL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_DSYMUTIL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. + else +@@ -7000,11 +7694,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7015,11 +7713,11 @@ + fi + DSYMUTIL=$ac_cv_prog_DSYMUTIL + if test -n "$DSYMUTIL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +-$as_echo "$DSYMUTIL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 ++printf "%s\n" "$DSYMUTIL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -7028,11 +7726,12 @@ + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. + set dummy dsymutil; 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_DSYMUTIL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_DSYMUTIL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. + else +@@ -7040,11 +7739,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7055,11 +7758,11 @@ + fi + ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL + if test -n "$ac_ct_DSYMUTIL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +-$as_echo "$ac_ct_DSYMUTIL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 ++printf "%s\n" "$ac_ct_DSYMUTIL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_DSYMUTIL" = x; then +@@ -7067,8 +7770,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + DSYMUTIL=$ac_ct_DSYMUTIL +@@ -7080,11 +7783,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. + set dummy ${ac_tool_prefix}nmedit; 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_NMEDIT+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_NMEDIT+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. + else +@@ -7092,11 +7796,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7107,11 +7815,11 @@ + fi + NMEDIT=$ac_cv_prog_NMEDIT + if test -n "$NMEDIT"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +-$as_echo "$NMEDIT" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 ++printf "%s\n" "$NMEDIT" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -7120,11 +7828,12 @@ + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. + set dummy nmedit; 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_NMEDIT+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_NMEDIT+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. + else +@@ -7132,11 +7841,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7147,11 +7860,11 @@ + fi + ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT + if test -n "$ac_ct_NMEDIT"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +-$as_echo "$ac_ct_NMEDIT" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 ++printf "%s\n" "$ac_ct_NMEDIT" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_NMEDIT" = x; then +@@ -7159,8 +7872,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + NMEDIT=$ac_ct_NMEDIT +@@ -7172,11 +7885,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. + set dummy ${ac_tool_prefix}lipo; 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_LIPO+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_LIPO+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # Let the user override the test. + else +@@ -7184,11 +7898,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7199,11 +7917,11 @@ + fi + LIPO=$ac_cv_prog_LIPO + if test -n "$LIPO"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +-$as_echo "$LIPO" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 ++printf "%s\n" "$LIPO" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -7212,11 +7930,12 @@ + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. + set dummy lipo; 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_LIPO+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_LIPO+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. + else +@@ -7224,11 +7943,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_LIPO="lipo" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7239,11 +7962,11 @@ + fi + ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO + if test -n "$ac_ct_LIPO"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +-$as_echo "$ac_ct_LIPO" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 ++printf "%s\n" "$ac_ct_LIPO" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_LIPO" = x; then +@@ -7251,8 +7974,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + LIPO=$ac_ct_LIPO +@@ -7264,11 +7987,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. + set dummy ${ac_tool_prefix}otool; 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_OTOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_OTOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. + else +@@ -7276,11 +8000,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7291,11 +8019,11 @@ + fi + OTOOL=$ac_cv_prog_OTOOL + if test -n "$OTOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +-$as_echo "$OTOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 ++printf "%s\n" "$OTOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -7304,11 +8032,12 @@ + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. + set dummy otool; 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_OTOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_OTOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. + else +@@ -7316,11 +8045,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL="otool" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7331,11 +8064,11 @@ + fi + ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL + if test -n "$ac_ct_OTOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +-$as_echo "$ac_ct_OTOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 ++printf "%s\n" "$ac_ct_OTOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_OTOOL" = x; then +@@ -7343,8 +8076,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + OTOOL=$ac_ct_OTOOL +@@ -7356,11 +8089,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. + set dummy ${ac_tool_prefix}otool64; 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_OTOOL64+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_OTOOL64+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. + else +@@ -7368,11 +8102,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7383,11 +8121,11 @@ + fi + OTOOL64=$ac_cv_prog_OTOOL64 + if test -n "$OTOOL64"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +-$as_echo "$OTOOL64" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 ++printf "%s\n" "$OTOOL64" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -7396,11 +8134,12 @@ + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. + set dummy otool64; 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_OTOOL64+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_OTOOL64+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. + else +@@ -7408,11 +8147,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL64="otool64" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7423,11 +8166,11 @@ + fi + ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 + if test -n "$ac_ct_OTOOL64"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +-$as_echo "$ac_ct_OTOOL64" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 ++printf "%s\n" "$ac_ct_OTOOL64" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_OTOOL64" = x; then +@@ -7435,8 +8178,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + OTOOL64=$ac_ct_OTOOL64 +@@ -7471,11 +8214,12 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +-$as_echo_n "checking for -single_module linker flag... " >&6; } +-if ${lt_cv_apple_cc_single_mod+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 ++printf %s "checking for -single_module linker flag... " >&6; } ++if test ${lt_cv_apple_cc_single_mod+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_apple_cc_single_mod=no + if test -z "$LT_MULTI_MODULE"; then + # By default we will add the -single_module flag. You can override +@@ -7504,14 +8248,15 @@ + rm -f conftest.* + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +-$as_echo "$lt_cv_apple_cc_single_mod" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 ++printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; } + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } +-if ${lt_cv_ld_exported_symbols_list+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 ++printf %s "checking for -exported_symbols_list linker flag... " >&6; } ++if test ${lt_cv_ld_exported_symbols_list+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym +@@ -7520,31 +8265,33 @@ + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + lt_cv_ld_exported_symbols_list=yes +-else ++else $as_nop + lt_cv_ld_exported_symbols_list=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 ++printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; } + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +-$as_echo_n "checking for -force_load linker flag... " >&6; } +-if ${lt_cv_ld_force_load+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 ++printf %s "checking for -force_load linker flag... " >&6; } ++if test ${lt_cv_ld_force_load+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF + int forced_loaded() { return 2;} +@@ -7572,8 +8319,8 @@ + rm -rf conftest.dSYM + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +-$as_echo "$lt_cv_ld_force_load" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 ++printf "%s\n" "$lt_cv_ld_force_load" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; +@@ -7644,290 +8391,47 @@ + esac + } + +-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 ++ac_header= ac_cache= ++for ac_item in $ac_header_c_list + 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 +- ++ if test $ac_cache; then ++ ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" ++ if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then ++ printf "%s\n" "#define $ac_item 1" >> confdefs.h ++ fi ++ ac_header= ac_cache= ++ elif test $ac_header; then ++ ac_cache=$ac_item ++ else ++ ac_header=$ac_item ++ fi + 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 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 : ++if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes ++then : + +-else +- ac_cv_header_stdc=no +-fi +-rm -f conftest* ++printf "%s\n" "@%:@define STDC_HEADERS 1" >>confdefs.h + + 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 ++ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$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 ++if test "x$ac_cv_header_dlfcn_h" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_DLFCN_H 1" >>confdefs.h + +-done +- +- +-for ac_header in dlfcn.h +-do : +- ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +-" +-if test "x$ac_cv_header_dlfcn_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_DLFCN_H 1 +-_ACEOF +- + fi + +-done + + + + +- + # Set options + + +@@ -7942,7 +8446,8 @@ + + + @%:@ Check whether --with-pic was given. +-if test "${with_pic+set}" = set; then : ++if test ${with_pic+y} ++then : + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; +@@ -7959,7 +8464,7 @@ + IFS=$lt_save_ifs + ;; + esac +-else ++else $as_nop + pic_mode=default + fi + +@@ -7971,7 +8476,8 @@ + + + @%:@ Check whether --enable-fast-install was given. +-if test "${enable_fast_install+set}" = set; then : ++if test ${enable_fast_install+y} ++then : + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; +@@ -7989,7 +8495,7 @@ + IFS=$lt_save_ifs + ;; + esac +-else ++else $as_nop + enable_fast_install=yes + fi + +@@ -8003,11 +8509,12 @@ + shared_archive_member_spec= + case $host,$enable_shared in + power*-*-aix[5-9]*,yes) +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 +-$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 ++printf %s "checking which variant of shared library versioning to provide... " >&6; } + + @%:@ Check whether --with-aix-soname was given. +-if test "${with_aix_soname+set}" = set; then : ++if test ${with_aix_soname+y} ++then : + withval=$with_aix_soname; case $withval in + aix|svr4|both) + ;; +@@ -8016,18 +8523,19 @@ + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname +-else +- if ${lt_cv_with_aix_soname+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++else $as_nop ++ if test ${lt_cv_with_aix_soname+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_with_aix_soname=aix + fi + + with_aix_soname=$lt_cv_with_aix_soname + fi + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 +-$as_echo "$with_aix_soname" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 ++printf "%s\n" "$with_aix_soname" >&6; } + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', +@@ -8109,11 +8617,12 @@ + setopt NO_GLOB_SUBST + fi + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +-$as_echo_n "checking for objdir... " >&6; } +-if ${lt_cv_objdir+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 ++printf %s "checking for objdir... " >&6; } ++if test ${lt_cv_objdir+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + rm -f .libs 2>/dev/null + mkdir .libs 2>/dev/null + if test -d .libs; then +@@ -8124,17 +8633,15 @@ + fi + rmdir .libs 2>/dev/null + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +-$as_echo "$lt_cv_objdir" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 ++printf "%s\n" "$lt_cv_objdir" >&6; } + objdir=$lt_cv_objdir + + + + + +-cat >>confdefs.h <<_ACEOF +-@%:@define LT_OBJDIR "$lt_cv_objdir/" +-_ACEOF ++printf "%s\n" "@%:@define LT_OBJDIR \"$lt_cv_objdir/\"" >>confdefs.h + + + +@@ -8180,11 +8687,12 @@ + case $deplibs_check_method in + file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } +-if ${lt_cv_path_MAGIC_CMD+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 ++printf %s "checking for ${ac_tool_prefix}file... " >&6; } ++if test ${lt_cv_path_MAGIC_CMD+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + case $MAGIC_CMD in + [\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. +@@ -8233,11 +8741,11 @@ + + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if test -n "$MAGIC_CMD"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +-$as_echo "$MAGIC_CMD" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 ++printf "%s\n" "$MAGIC_CMD" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -8246,11 +8754,12 @@ + + if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +-$as_echo_n "checking for file... " >&6; } +-if ${lt_cv_path_MAGIC_CMD+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for file" >&5 ++printf %s "checking for file... " >&6; } ++if test ${lt_cv_path_MAGIC_CMD+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + case $MAGIC_CMD in + [\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. +@@ -8299,11 +8808,11 @@ + + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if test -n "$MAGIC_CMD"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +-$as_echo "$MAGIC_CMD" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 ++printf "%s\n" "$MAGIC_CMD" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -8388,11 +8897,12 @@ + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + esac + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 ++printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } ++if test ${lt_cv_prog_compiler_rtti_exceptions+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext +@@ -8423,8 +8933,8 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + + if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +@@ -8781,26 +9291,28 @@ + ;; + esac + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +-$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +-if ${lt_cv_prog_compiler_pic+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 ++printf %s "checking for $compiler option to produce PIC... " >&6; } ++if test ${lt_cv_prog_compiler_pic+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +-$as_echo "$lt_cv_prog_compiler_pic" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; } + lt_prog_compiler_pic=$lt_cv_prog_compiler_pic + + # + # Check to make sure the PIC flag actually works. + # + if test -n "$lt_prog_compiler_pic"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +-if ${lt_cv_prog_compiler_pic_works+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 ++printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } ++if test ${lt_cv_prog_compiler_pic_works+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext +@@ -8831,8 +9343,8 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; } + + if test yes = "$lt_cv_prog_compiler_pic_works"; then + case $lt_prog_compiler_pic in +@@ -8860,11 +9372,12 @@ + # Check to make sure the static flag actually works. + # + wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +-if ${lt_cv_prog_compiler_static_works+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 ++printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } ++if test ${lt_cv_prog_compiler_static_works+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_static_works=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" +@@ -8888,8 +9401,8 @@ + LDFLAGS=$save_LDFLAGS + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +-$as_echo "$lt_cv_prog_compiler_static_works" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; } + + if test yes = "$lt_cv_prog_compiler_static_works"; then + : +@@ -8903,11 +9416,12 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +-if ${lt_cv_prog_compiler_c_o+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 ++printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } ++if test ${lt_cv_prog_compiler_c_o+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest +@@ -8950,19 +9464,20 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +-$as_echo "$lt_cv_prog_compiler_c_o" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } + + + + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +-if ${lt_cv_prog_compiler_c_o+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 ++printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } ++if test ${lt_cv_prog_compiler_c_o+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest +@@ -9005,8 +9520,8 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +-$as_echo "$lt_cv_prog_compiler_c_o" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } + + + +@@ -9014,19 +9529,19 @@ + hard_links=nottested + if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +-$as_echo_n "checking if we can lock with hard links... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 ++printf %s "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +-$as_echo "$hard_links" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 ++printf "%s\n" "$hard_links" >&6; } + if test no = "$hard_links"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +-$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 ++printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi + else +@@ -9038,8 +9553,8 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 ++printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag= +@@ -9594,21 +10109,23 @@ + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath + else +- if ${lt_cv_aix_libpath_+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${lt_cv_aix_libpath_+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { +@@ -9623,7 +10140,7 @@ + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib +@@ -9647,21 +10164,23 @@ + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath + else +- if ${lt_cv_aix_libpath_+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${lt_cv_aix_libpath_+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { +@@ -9676,7 +10195,7 @@ + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib +@@ -9927,11 +10446,12 @@ + + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +-$as_echo_n "checking if $CC understands -b... " >&6; } +-if ${lt_cv_prog_compiler__b+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 ++printf %s "checking if $CC understands -b... " >&6; } ++if test ${lt_cv_prog_compiler__b+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler__b=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -b" +@@ -9955,8 +10475,8 @@ + LDFLAGS=$save_LDFLAGS + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +-$as_echo "$lt_cv_prog_compiler__b" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 ++printf "%s\n" "$lt_cv_prog_compiler__b" >&6; } + + if test yes = "$lt_cv_prog_compiler__b"; then + archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +@@ -9996,28 +10516,30 @@ + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +-if ${lt_cv_irix_exported_symbol+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 ++printf %s "checking whether the $host_os linker accepts -exported_symbol... " >&6; } ++if test ${lt_cv_irix_exported_symbol+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + int foo (void) { return 0; } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + lt_cv_irix_exported_symbol=yes +-else ++else $as_nop + lt_cv_irix_exported_symbol=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +-$as_echo "$lt_cv_irix_exported_symbol" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 ++printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' + fi +@@ -10297,8 +10819,8 @@ + fi + fi + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +-$as_echo "$ld_shlibs" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 ++printf "%s\n" "$ld_shlibs" >&6; } + test no = "$ld_shlibs" && can_build_shared=no + + with_gnu_ld=$with_gnu_ld +@@ -10334,18 +10856,19 @@ + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +-if ${lt_cv_archive_cmds_need_lc+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 ++printf %s "checking whether -lc should be explicitly linked in... " >&6; } ++if test ${lt_cv_archive_cmds_need_lc+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest +@@ -10363,7 +10886,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc=no +@@ -10377,8 +10900,8 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 ++printf "%s\n" "$lt_cv_archive_cmds_need_lc" >&6; } + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc + ;; + esac +@@ -10537,8 +11060,8 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +-$as_echo_n "checking dynamic linker characteristics... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 ++printf %s "checking dynamic linker characteristics... " >&6; } + + if test yes = "$GCC"; then + case $host_os in +@@ -11099,9 +11622,10 @@ + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH +- if ${lt_cv_shlibpath_overrides_runpath+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${lt_cv_shlibpath_overrides_runpath+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir +@@ -11111,19 +11635,21 @@ + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : +- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : ++if ac_fn_c_try_link "$LINENO" ++then : ++ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null ++then : + lt_cv_shlibpath_overrides_runpath=yes + fi + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir +@@ -11358,8 +11884,8 @@ + dynamic_linker=no + ;; + esac +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +-$as_echo "$dynamic_linker" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 ++printf "%s\n" "$dynamic_linker" >&6; } + test no = "$dynamic_linker" && can_build_shared=no + + variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +@@ -11480,8 +12006,8 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +-$as_echo_n "checking how to hardcode library paths into programs... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 ++printf %s "checking how to hardcode library paths into programs... " >&6; } + hardcode_action= + if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || +@@ -11505,8 +12031,8 @@ + # directories. + hardcode_action=unsupported + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +-$as_echo "$hardcode_action" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 ++printf "%s\n" "$hardcode_action" >&6; } + + if test relink = "$hardcode_action" || + test yes = "$inherit_rpath"; then +@@ -11550,11 +12076,12 @@ + + darwin*) + # if libdl is installed we need to link against it +- { $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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 ++printf %s "checking for dlopen in -ldl... " >&6; } ++if test ${ac_cv_lib_dl_dlopen+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-ldl $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -11563,32 +12090,31 @@ + /* 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 () ++main (void) + { + return dlopen (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_dl_dlopen=yes +-else ++else $as_nop + ac_cv_lib_dl_dlopen=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 ++printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } ++if test "x$ac_cv_lib_dl_dlopen" = xyes ++then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +-else ++else $as_nop + + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= +@@ -11608,14 +12134,16 @@ + + *) + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +-if test "x$ac_cv_func_shl_load" = xyes; then : ++if test "x$ac_cv_func_shl_load" = xyes ++then : + lt_cv_dlopen=shl_load +-else +- { $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 ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 ++printf %s "checking for shl_load in -ldld... " >&6; } ++if test ${ac_cv_lib_dld_shl_load+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-ldld $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -11624,41 +12152,42 @@ + /* 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 () ++main (void) + { + return shl_load (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_dld_shl_load=yes +-else ++else $as_nop + ac_cv_lib_dld_shl_load=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 ++printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; } ++if test "x$ac_cv_lib_dld_shl_load" = xyes ++then : + lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld +-else ++else $as_nop + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +-if test "x$ac_cv_func_dlopen" = xyes; then : ++if test "x$ac_cv_func_dlopen" = xyes ++then : + lt_cv_dlopen=dlopen +-else +- { $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 ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 ++printf %s "checking for dlopen in -ldl... " >&6; } ++if test ${ac_cv_lib_dl_dlopen+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-ldl $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -11667,37 +12196,37 @@ + /* 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 () ++main (void) + { + return dlopen (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_dl_dlopen=yes +-else ++else $as_nop + ac_cv_lib_dl_dlopen=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 ++printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } ++if test "x$ac_cv_lib_dl_dlopen" = xyes ++then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +-$as_echo_n "checking for dlopen in -lsvld... " >&6; } +-if ${ac_cv_lib_svld_dlopen+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 ++printf %s "checking for dlopen in -lsvld... " >&6; } ++if test ${ac_cv_lib_svld_dlopen+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lsvld $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -11706,37 +12235,37 @@ + /* 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 () ++main (void) + { + return dlopen (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_svld_dlopen=yes +-else ++else $as_nop + ac_cv_lib_svld_dlopen=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +-$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +-if test "x$ac_cv_lib_svld_dlopen" = xyes; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 ++printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; } ++if test "x$ac_cv_lib_svld_dlopen" = xyes ++then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +-$as_echo_n "checking for dld_link in -ldld... " >&6; } +-if ${ac_cv_lib_dld_dld_link+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 ++printf %s "checking for dld_link in -ldld... " >&6; } ++if test ${ac_cv_lib_dld_dld_link+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-ldld $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -11745,30 +12274,29 @@ + /* 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 dld_link (); + int +-main () ++main (void) + { + return dld_link (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_dld_dld_link=yes +-else ++else $as_nop + ac_cv_lib_dld_dld_link=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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_dld_link" >&5 +-$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +-if test "x$ac_cv_lib_dld_dld_link" = xyes; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 ++printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; } ++if test "x$ac_cv_lib_dld_dld_link" = xyes ++then : + lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld + fi + +@@ -11807,11 +12335,12 @@ + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +-$as_echo_n "checking whether a program can dlopen itself... " >&6; } +-if ${lt_cv_dlopen_self+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 ++printf %s "checking whether a program can dlopen itself... " >&6; } ++if test ${lt_cv_dlopen_self+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self=cross + else +@@ -11890,7 +12419,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? +@@ -11908,16 +12437,17 @@ + + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +-$as_echo "$lt_cv_dlopen_self" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 ++printf "%s\n" "$lt_cv_dlopen_self" >&6; } + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } +-if ${lt_cv_dlopen_self_static+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 ++printf %s "checking whether a statically linked program can dlopen itself... " >&6; } ++if test ${lt_cv_dlopen_self_static+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self_static=cross + else +@@ -11996,7 +12526,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? +@@ -12014,8 +12544,8 @@ + + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +-$as_echo "$lt_cv_dlopen_self_static" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 ++printf "%s\n" "$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS=$save_CPPFLAGS +@@ -12053,13 +12583,13 @@ + + striplib= + old_striplib= +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +-$as_echo_n "checking whether stripping libraries is possible... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 ++printf %s "checking whether stripping libraries is possible... " >&6; } + if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else + # FIXME - insert some real tests, host_os isn't really good enough + case $host_os in +@@ -12067,16 +12597,16 @@ + if test -n "$STRIP"; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + ;; + *) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + ;; + esac + fi +@@ -12093,13 +12623,13 @@ + + + # Report what library types will actually be built +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +-$as_echo_n "checking if libtool supports shared libraries... " >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +-$as_echo "$can_build_shared" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 ++printf %s "checking if libtool supports shared libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 ++printf "%s\n" "$can_build_shared" >&6; } + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +-$as_echo_n "checking whether to build shared libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 ++printf %s "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and +@@ -12123,15 +12653,15 @@ + fi + ;; + esac +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +-$as_echo "$enable_shared" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 ++printf "%s\n" "$enable_shared" >&6; } + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +-$as_echo_n "checking whether to build static libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 ++printf %s "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +-$as_echo "$enable_static" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 ++printf "%s\n" "$enable_static" >&6; } + + + +@@ -12178,21 +12708,15 @@ + case $host_os in + hpux*) + +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPEOS_HPUX 1 +-_ACEOF ++printf "%s\n" "@%:@define CRLIBM_TYPEOS_HPUX 1" >>confdefs.h + ;; + *cygwin* | *mingw* | *uwin* | *djgpp | *emx*) + +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPEOS_CYGWIN 1 +-_ACEOF ++printf "%s\n" "@%:@define CRLIBM_TYPEOS_CYGWIN 1" >>confdefs.h + ;; + freebsd*|netbsd*|darwin*) + +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPEOS_BSD 1 +-_ACEOF ++printf "%s\n" "@%:@define CRLIBM_TYPEOS_BSD 1" >>confdefs.h + ;; + esac; + +@@ -12200,54 +12724,43 @@ + case $host_cpu in + alpha) + +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPECPU_ALPHA 1 +-_ACEOF ++printf "%s\n" "@%:@define CRLIBM_TYPECPU_ALPHA 1" >>confdefs.h + ;; + sparc) + +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPECPU_SPARC 1 +-_ACEOF ++printf "%s\n" "@%:@define CRLIBM_TYPECPU_SPARC 1" >>confdefs.h + ;; + powerpc*) + +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPECPU_POWERPC 1 +-_ACEOF ++printf "%s\n" "@%:@define CRLIBM_TYPECPU_POWERPC 1" >>confdefs.h + ;; + i*86|k6|k7|pentium*|athlon*) + +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPECPU_X86 1 +-_ACEOF ++printf "%s\n" "@%:@define CRLIBM_TYPECPU_X86 1" >>confdefs.h + + has_ia32_de=true;; + x86_64|amd64) + +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPECPU_AMD64 1 +-_ACEOF ++printf "%s\n" "@%:@define CRLIBM_TYPECPU_AMD64 1" >>confdefs.h + + has_ia32_de=true;; + ia64) + +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPECPU_ITANIUM 1 +-_ACEOF ++printf "%s\n" "@%:@define CRLIBM_TYPECPU_ITANIUM 1" >>confdefs.h + + has_ia64_de=true;; + esac; + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 ++printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } + set x ${MAKE-make} +-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` ++if eval test \${ac_cv_prog_make_${ac_make}_set+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat >conftest.make <<\_ACEOF + SHELL = /bin/sh + all: +@@ -12263,12 +12776,12 @@ + rm -f conftest.make + fi + if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + SET_MAKE= + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" + fi + +@@ -12284,11 +12797,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +@@ -12296,11 +12810,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -12311,11 +12829,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -12328,11 +12846,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + else +@@ -12340,11 +12859,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -12355,11 +12878,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 ++printf "%s\n" "$ac_ct_CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -12371,8 +12894,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + CC=$ac_ct_CC +@@ -12380,23 +12903,23 @@ + 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;} ++test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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 ++printf "%s\n" "$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 ++for ac_option in --version -v -V -qversion -version; 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 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -12406,20 +12929,21 @@ + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + done + +-{ $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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 ++printf %s "checking whether the compiler supports GNU C... " >&6; } ++if test ${ac_cv_c_compiler_gnu+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + #ifndef __GNUC__ + choke me +@@ -12429,29 +12953,33 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_compiler_gnu=yes +-else ++else $as_nop + ac_compiler_gnu=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 ++printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ + if test $ac_compiler_gnu = yes; then + GCC=yes + else + GCC= + fi +-ac_test_CFLAGS=${CFLAGS+set} ++ac_test_CFLAGS=${CFLAGS+y} + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 ++printf %s "checking whether $CC accepts -g... " >&6; } ++if test ${ac_cv_prog_cc_g+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no +@@ -12460,57 +12988,60 @@ + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_prog_cc_g=yes +-else ++else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-else ++else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 ++printf "%s\n" "$ac_cv_prog_cc_g" >&6; } ++if test $ac_test_CFLAGS; then + CFLAGS=$ac_save_CFLAGS + elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then +@@ -12525,95 +13056,145 @@ + 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_prog_cc_stdc=no ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 ++printf %s "checking for $CC option to enable C11 features... " >&6; } ++if test ${ac_cv_prog_cc_c11+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c11=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; +-} ++$ac_c_conftest_c11_program ++_ACEOF ++for ac_arg in '' -std=gnu11 ++do ++ CC="$ac_save_CC $ac_arg" ++ if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_c11=$ac_arg ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cc_c11" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CC=$ac_save_CC ++fi + +-/* 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]; ++if test "x$ac_cv_prog_cc_c11" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c11" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } ++ CC="$CC $ac_cv_prog_cc_c11" ++fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 ++ ac_prog_cc_stdc=c11 ++fi ++fi ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 ++printf %s "checking for $CC option to enable C99 features... " >&6; } ++if test ${ac_cv_prog_cc_c99+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c99=no ++ac_save_CC=$CC ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_c_conftest_c99_program ++_ACEOF ++for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= ++do ++ CC="$ac_save_CC $ac_arg" ++ if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_c99=$ac_arg ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cc_c99" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CC=$ac_save_CC ++fi + +-/* 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; +-} ++if test "x$ac_cv_prog_cc_c99" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c99" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } ++ CC="$CC $ac_cv_prog_cc_c99" ++fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 ++ ac_prog_cc_stdc=c99 ++fi ++fi ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 ++printf %s "checking for $CC option to enable C89 features... " >&6; } ++if test ${ac_cv_prog_cc_c89+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c89=no ++ac_save_CC=$CC ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_c_conftest_c89_program + _ACEOF +-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ +- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" ++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 : ++ if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_prog_cc_c89=$ac_arg + fi +-rm -f core conftest.err conftest.$ac_objext ++rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break + done + rm -f conftest.$ac_ext + CC=$ac_save_CC ++fi + ++if test "x$ac_cv_prog_cc_c89" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c89" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } ++ CC="$CC $ac_cv_prog_cc_c89" + 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 : +- ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 ++ ac_prog_cc_stdc=c89 + fi ++fi + + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' +@@ -12621,21 +13202,23 @@ + 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_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 whether $CC understands -c and -o together" >&5 +-$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +-if ${am_cv_prog_cc_c_o+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 ++printf %s "checking whether $CC understands -c and -o together... " >&6; } ++if test ${am_cv_prog_cc_c_o+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; +@@ -12663,8 +13246,8 @@ + rm -f core conftest* + unset am_i + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +-$as_echo "$am_cv_prog_cc_c_o" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 ++printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } + if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. +@@ -12682,11 +13265,12 @@ + + depcc="$CC" am_compiler_list= + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +-$as_echo_n "checking dependency style of $depcc... " >&6; } +-if ${am_cv_CC_dependencies_compiler_type+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 ++printf %s "checking dependency style of $depcc... " >&6; } ++if test ${am_cv_CC_dependencies_compiler_type+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For +@@ -12793,8 +13377,8 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 ++printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } + CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if +@@ -12869,142 +13453,108 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +-$as_echo_n "checking whether ln -s works... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 ++printf %s "checking whether ln -s works... " >&6; } + LN_S=$as_ln_s + if test "$LN_S" = "ln -s"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +-$as_echo "no, using $LN_S" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 ++printf "%s\n" "no, using $LN_S" >&6; } + fi + + +-{ $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 ++# Autoupdate added the next two lines to ensure that your configure ++# script's behavior did not change. They are probably safe to remove. + +-int +-main () +-{ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 ++printf %s "checking for egrep... " >&6; } ++if test ${ac_cv_path_EGREP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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 ++ printf %s 0123456789 >"conftest.in" ++ while : ++ do ++ cat "conftest.in" "conftest.in" >"conftest.tmp" ++ mv "conftest.tmp" "conftest.in" ++ cp "conftest.in" "conftest.nl" ++ printf "%s\n" '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 + +- ; +- return 0; +-} +-_ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : +- ac_cv_header_stdc=yes ++ $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_header_stdc=no ++ ac_cv_path_EGREP=$EGREP + 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 + fi +-rm -f conftest* ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 ++printf "%s\n" "$ac_cv_path_EGREP" >&6; } ++ EGREP="$ac_cv_path_EGREP" ++ + +-fi + +-if test $ac_cv_header_stdc = yes; then +- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 ++printf %s "checking for an ANSI C-conforming const... " >&6; } ++if test ${ac_cv_c_const+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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 () ++main (void) + { +- 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 +- +-{ $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]; +@@ -13015,7 +13565,7 @@ + /* 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. ++ /* IBM 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 */ +@@ -13043,7 +13593,7 @@ + iptr p = 0; + ++p; + } +- { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying ++ { /* IBM 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; +@@ -13059,47 +13609,50 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_c_const=yes +-else ++else $as_nop + ac_cv_c_const=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 +-$as_echo "$ac_cv_c_const" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 ++printf "%s\n" "$ac_cv_c_const" >&6; } + if test $ac_cv_c_const = no; then + +-$as_echo "@%:@define const /**/" >>confdefs.h ++printf "%s\n" "@%:@define const /**/" >>confdefs.h + + fi + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 +-$as_echo_n "checking for inline... " >&6; } +-if ${ac_cv_c_inline+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 ++printf %s "checking for inline... " >&6; } ++if test ${ac_cv_c_inline+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_cv_c_inline=no + for ac_kw in inline __inline__ __inline; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #ifndef __cplusplus + typedef int foo_t; +-static $ac_kw foo_t static_foo () {return 0; } +-$ac_kw foo_t foo () {return 0; } ++static $ac_kw foo_t static_foo (void) {return 0; } ++$ac_kw foo_t foo (void) {return 0; } + #endif + + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_c_inline=$ac_kw + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + test "$ac_cv_c_inline" != no && break + done + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 +-$as_echo "$ac_cv_c_inline" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 ++printf "%s\n" "$ac_cv_c_inline" >&6; } + + case $ac_cv_c_inline in + inline | yes) ;; +@@ -13118,50 +13671,36 @@ + + + +-for ac_func in sqrt +-do : +- ac_fn_c_check_func "$LINENO" "sqrt" "ac_cv_func_sqrt" +-if test "x$ac_cv_func_sqrt" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_SQRT 1 +-_ACEOF +- +-fi +-done ++ac_fn_c_check_func "$LINENO" "sqrt" "ac_cv_func_sqrt" ++if test "x$ac_cv_func_sqrt" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_SQRT 1" >>confdefs.h + +-for ac_header in fenv.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "fenv.h" "ac_cv_header_fenv_h" "$ac_includes_default" +-if test "x$ac_cv_header_fenv_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_FENV_H 1 +-_ACEOF +- + fi + +-done ++ac_fn_c_check_header_compile "$LINENO" "fenv.h" "ac_cv_header_fenv_h" "$ac_includes_default" ++if test "x$ac_cv_header_fenv_h" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_FENV_H 1" >>confdefs.h + +-for ac_header in float.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "float.h" "ac_cv_header_float_h" "$ac_includes_default" +-if test "x$ac_cv_header_float_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_FLOAT_H 1 +-_ACEOF +- + fi + +-done ++ac_fn_c_check_header_compile "$LINENO" "float.h" "ac_cv_header_float_h" "$ac_includes_default" ++if test "x$ac_cv_header_float_h" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_FLOAT_H 1" >>confdefs.h + +-ac_fn_c_check_header_mongrel "$LINENO" "fpu_control.h" "ac_cv_header_fpu_control_h" "$ac_includes_default" +-if test "x$ac_cv_header_fpu_control_h" = xyes; then : ++fi ++ ++ac_fn_c_check_header_compile "$LINENO" "fpu_control.h" "ac_cv_header_fpu_control_h" "$ac_includes_default" ++if test "x$ac_cv_header_fpu_control_h" = xyes ++then : + has_fpu_control=yes +-else ++else $as_nop + has_fpu_control=no + fi + + +- + if test x$has_fpu_control = xyes; then + HAS_FPU_CONTROL_TRUE= + HAS_FPU_CONTROL_FALSE='#' +@@ -13173,17 +13712,16 @@ + + if test x$has_fpu_control = xyes ; then + +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_HAS_FPU_CONTROL 1 +-_ACEOF ++printf "%s\n" "@%:@define CRLIBM_HAS_FPU_CONTROL 1" >>confdefs.h + + fi + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for log in -lm" >&5 +-$as_echo_n "checking for log in -lm... " >&6; } +-if ${ac_cv_lib_m_log+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for log in -lm" >&5 ++printf %s "checking for log in -lm... " >&6; } ++if test ${ac_cv_lib_m_log+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lm $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -13192,44 +13730,42 @@ + /* 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 log (); + int +-main () ++main (void) + { + return log (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_m_log=yes +-else ++else $as_nop + ac_cv_lib_m_log=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_log" >&5 +-$as_echo "$ac_cv_lib_m_log" >&6; } +-if test "x$ac_cv_lib_m_log" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBM 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_log" >&5 ++printf "%s\n" "$ac_cv_lib_m_log" >&6; } ++if test "x$ac_cv_lib_m_log" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBM 1" >>confdefs.h + + LIBS="-lm $LIBS" + + fi + + +- { $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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 ++printf %s "checking whether byte ordering is bigendian... " >&6; } ++if test ${ac_cv_c_bigendian+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -13240,7 +13776,8 @@ + typedef int dummy; + + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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. +@@ -13264,7 +13801,7 @@ + fi + done + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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 +@@ -13273,7 +13810,7 @@ + #include + + int +-main () ++main (void) + { + #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ +@@ -13285,7 +13822,8 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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. */ +@@ -13293,7 +13831,7 @@ + #include + + int +-main () ++main (void) + { + #if BYTE_ORDER != BIG_ENDIAN + not big endian +@@ -13303,14 +13841,15 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_c_bigendian=yes +-else ++else $as_nop + ac_cv_c_bigendian=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). +@@ -13319,7 +13858,7 @@ + #include + + int +-main () ++main (void) + { + #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros +@@ -13329,14 +13868,15 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 () ++main (void) + { + #ifndef _BIG_ENDIAN + not big endian +@@ -13346,31 +13886,33 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_c_bigendian=yes +-else ++else $as_nop + ac_cv_c_bigendian=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. +- if test "$cross_compiling" = yes; then : ++ 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[] = ++unsigned short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; +- short int ascii_ii[] = ++ unsigned 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[] = ++ unsigned short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; +- short int ebcdic_mm[] = ++ unsigned short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; +@@ -13378,14 +13920,15 @@ + extern int foo; + + int +-main () ++main (void) + { + return use_ascii (foo) == use_ebcdic (foo); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi +@@ -13398,13 +13941,13 @@ + fi + fi + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +-else ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $ac_includes_default + int +-main () ++main (void) + { + + /* Are we little or big endian? From Harbison&Steele. */ +@@ -13420,9 +13963,10 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_run "$LINENO"; then : ++if ac_fn_c_try_run "$LINENO" ++then : + ac_cv_c_bigendian=no +-else ++else $as_nop + ac_cv_c_bigendian=yes + fi + rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ +@@ -13431,17 +13975,17 @@ + + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 +-$as_echo "$ac_cv_c_bigendian" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 ++printf "%s\n" "$ac_cv_c_bigendian" >&6; } + case $ac_cv_c_bigendian in #( + yes) +- $as_echo "@%:@define WORDS_BIGENDIAN 1" >>confdefs.h ++ printf "%s\n" "@%:@define WORDS_BIGENDIAN 1" >>confdefs.h + ;; #( + no) + ;; #( + universal) + +-$as_echo "@%:@define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ++printf "%s\n" "@%:@define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h + + ;; #( + *) +@@ -13452,11 +13996,12 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double with more range or precision than double" >&5 +-$as_echo_n "checking for long double with more range or precision than double... " >&6; } +-if ${ac_cv_type_long_double_wider+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for long double with more range or precision than double" >&5 ++printf %s "checking for long double with more range or precision than double... " >&6; } ++if test ${ac_cv_type_long_double_wider+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #include +@@ -13473,7 +14018,7 @@ + } + + int +-main () ++main (void) + { + static int test_array @<:@1 - 2 * !((0 < ((DBL_MAX_EXP < LDBL_MAX_EXP) + + (DBL_MANT_DIG < LDBL_MANT_DIG) +@@ -13488,25 +14033,26 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_type_long_double_wider=yes +-else ++else $as_nop + ac_cv_type_long_double_wider=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_double_wider" >&5 +-$as_echo "$ac_cv_type_long_double_wider" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_double_wider" >&5 ++printf "%s\n" "$ac_cv_type_long_double_wider" >&6; } + if test $ac_cv_type_long_double_wider = yes; then + +-$as_echo "@%:@define HAVE_LONG_DOUBLE_WIDER 1" >>confdefs.h ++printf "%s\n" "@%:@define HAVE_LONG_DOUBLE_WIDER 1" >>confdefs.h + + fi + + ac_cv_c_long_double=$ac_cv_type_long_double_wider + if test $ac_cv_c_long_double = yes; then + +-$as_echo "@%:@define HAVE_LONG_DOUBLE 1" >>confdefs.h ++printf "%s\n" "@%:@define HAVE_LONG_DOUBLE 1" >>confdefs.h + + fi + +@@ -13516,17 +14062,19 @@ + # 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 ++printf %s "checking size of int... " >&6; } ++if test ${ac_cv_sizeof_int+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default" ++then : + +-else ++else $as_nop + 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;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (int) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -13535,14 +14083,12 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 +-$as_echo "$ac_cv_sizeof_int" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 ++printf "%s\n" "$ac_cv_sizeof_int" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-@%:@define SIZEOF_INT $ac_cv_sizeof_int +-_ACEOF ++printf "%s\n" "@%:@define SIZEOF_INT $ac_cv_sizeof_int" >>confdefs.h + + + +@@ -13560,18 +14106,17 @@ + + + @%:@ Check whether --enable-sse2 was given. +-if test "${enable_sse2+set}" = set; then : ++if test ${enable_sse2+y} ++then : + enableval=$enable_sse2; case $enableval in + yes) + +-cat >>confdefs.h <<_ACEOF +-@%:@define HAS_SSE2 1 +-_ACEOF ++printf "%s\n" "@%:@define HAS_SSE2 1" >>confdefs.h + ;; + no) ;; + *) as_fn_error $? "bad value $enableval for --enable-sse2, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_sse2=no + fi + +@@ -13588,18 +14133,17 @@ + + + @%:@ Check whether --enable-interval-functions was given. +-if test "${enable_interval_functions+set}" = set; then : ++if test ${enable_interval_functions+y} ++then : + enableval=$enable_interval_functions; case $enableval in + yes) + +-cat >>confdefs.h <<_ACEOF +-@%:@define BUILD_INTERVAL_FUNCTIONS 1 +-_ACEOF ++printf "%s\n" "@%:@define BUILD_INTERVAL_FUNCTIONS 1" >>confdefs.h + ;; + no) ;; + *) as_fn_error $? "bad value $enableval for --enable-interval-functions, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_interval_functions=no + fi + +@@ -13615,12 +14159,13 @@ + + + @%:@ Check whether --enable-double-extended was given. +-if test "${enable_double_extended+set}" = set; then : ++if test ${enable_double_extended+y} ++then : + enableval=$enable_double_extended; case $enableval in + yes|no) ;; + *) as_fn_error $? "bad value $enableval for --enable-double-extended, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_double_extended=yes + fi + +@@ -13644,40 +14189,34 @@ + + + @%:@ Check whether --enable-nbdigits was given. +-if test "${enable_nbdigits+set}" = set; then : ++if test ${enable_nbdigits+y} ++then : + enableval=$enable_nbdigits; case $enableval in + *[0-9]) +-cat >>confdefs.h <<_ACEOF +-@%:@define SCS_NB_WORDS $enableval +-_ACEOF ++printf "%s\n" "@%:@define SCS_NB_WORDS $enableval" >>confdefs.h + ;; + *) as_fn_error $? "bad value $enableval for --enable-nbdigits, number expected" "$LINENO" 5 ;; + esac +-else ++else $as_nop + +-cat >>confdefs.h <<_ACEOF +-@%:@define SCS_NB_WORDS 8 +-_ACEOF ++printf "%s\n" "@%:@define SCS_NB_WORDS 8" >>confdefs.h + + + fi + + + @%:@ Check whether --enable-digitsize was given. +-if test "${enable_digitsize+set}" = set; then : ++if test ${enable_digitsize+y} ++then : + enableval=$enable_digitsize; case $enableval in + *[0-9]) +-cat >>confdefs.h <<_ACEOF +-@%:@define SCS_NB_BITS $enableval +-_ACEOF ++printf "%s\n" "@%:@define SCS_NB_BITS $enableval" >>confdefs.h + ;; + *) as_fn_error $? "bad value $enableval for --enable-digitsize, number expected" "$LINENO" 5 ;; + esac +-else ++else $as_nop + +-cat >>confdefs.h <<_ACEOF +-@%:@define SCS_NB_BITS 30 +-_ACEOF ++printf "%s\n" "@%:@define SCS_NB_BITS 30" >>confdefs.h + + + fi +@@ -13685,48 +14224,52 @@ + + + @%:@ Check whether --enable-mpfr was given. +-if test "${enable_mpfr+set}" = set; then : ++if test ${enable_mpfr+y} ++then : + enableval=$enable_mpfr; case $enableval in + yes|no) ;; + *) as_fn_error $? "bad value $enableval for --enable-mpfr, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_mpfr=no + fi + + + + @%:@ Check whether --enable-gmp was given. +-if test "${enable_gmp+set}" = set; then : ++if test ${enable_gmp+y} ++then : + enableval=$enable_gmp; case $enableval in + yes|no) ;; + *) as_fn_error $? "bad value $enableval for --enable-gmp, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_gmp=no + fi + + + + @%:@ Check whether --enable-ultim was given. +-if test "${enable_ultim+set}" = set; then : ++if test ${enable_ultim+y} ++then : + enableval=$enable_ultim; case $enableval in + yes|no) ;; + *) as_fn_error $? "bad value $enableval for --enable-ultim, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_ultim=no + fi + + + + @%:@ Check whether --enable-mcr was given. +-if test "${enable_mcr+set}" = set; then : ++if test ${enable_mcr+y} ++then : + enableval=$enable_mcr; case $enableval in + yes|no) ;; + *) as_fn_error $? "bad value $enableval for --enable-mcr, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_mcr=no + fi + +@@ -13738,19 +14281,22 @@ + + + @%:@ Check whether --with-gmp_include was given. +-if test "${with_gmp_include+set}" = set; then : ++if test ${with_gmp_include+y} ++then : + withval=$with_gmp_include; with_gmp_include=$withval + fi + + + @%:@ Check whether --with-gmp_lib was given. +-if test "${with_gmp_lib+set}" = set; then : ++if test ${with_gmp_lib+y} ++then : + withval=$with_gmp_lib; with_gmp_lib=$withval + fi + + + @%:@ Check whether --with-gmp was given. +-if test "${with_gmp+set}" = set; then : ++if test ${with_gmp+y} ++then : + withval=$with_gmp; with_gmp_include=$withval/include with_gmp_lib=$withval/lib + fi + +@@ -13763,8 +14309,8 @@ + + if ` test "$with_gmp_lib" ` + then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking gmp library" >&5 +-$as_echo_n "checking gmp library... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking gmp library" >&5 ++printf %s "checking gmp library... " >&6; } + if test -r "$with_gmp_lib/libgmp.a" -o -r "$with_gmp_lib/libgmp.so" + then + LDFLAGS="$LDFLAGS -L$with_gmp_lib" +@@ -13772,14 +14318,15 @@ + else + as_fn_error $? "gmp not found" "$LINENO" 5 + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lgmp" >&5 +-$as_echo_n "checking for main in -lgmp... " >&6; } +-if ${ac_cv_lib_gmp_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lgmp" >&5 ++printf %s "checking for main in -lgmp... " >&6; } ++if test ${ac_cv_lib_gmp_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lgmp $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -13787,32 +14334,32 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_gmp_main=yes +-else ++else $as_nop + ac_cv_lib_gmp_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp_main" >&5 +-$as_echo "$ac_cv_lib_gmp_main" >&6; } +-if test "x$ac_cv_lib_gmp_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBGMP 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp_main" >&5 ++printf "%s\n" "$ac_cv_lib_gmp_main" >&6; } ++if test "x$ac_cv_lib_gmp_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBGMP 1" >>confdefs.h + + LIBS="-lgmp $LIBS" + +-else ++else $as_nop + as_fn_error $? "gmp not found" "$LINENO" 5 + fi + +@@ -13820,24 +14367,20 @@ + + + +-for ac_header in gmp.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" +-if test "x$ac_cv_header_gmp_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_GMP_H 1 +-_ACEOF +- ++ac_fn_c_check_header_compile "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" ++if test "x$ac_cv_header_gmp_h" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_GMP_H 1" >>confdefs.h ++ + fi + +-done + +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lgmp" >&5 +-$as_echo_n "checking for main in -lgmp... " >&6; } +-if ${ac_cv_lib_gmp_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lgmp" >&5 ++printf %s "checking for main in -lgmp... " >&6; } ++if test ${ac_cv_lib_gmp_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lgmp $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -13845,28 +14388,28 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_gmp_main=yes +-else ++else $as_nop + ac_cv_lib_gmp_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp_main" >&5 +-$as_echo "$ac_cv_lib_gmp_main" >&6; } +-if test "x$ac_cv_lib_gmp_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBGMP 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp_main" >&5 ++printf "%s\n" "$ac_cv_lib_gmp_main" >&6; } ++if test "x$ac_cv_lib_gmp_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBGMP 1" >>confdefs.h + + LIBS="-lgmp $LIBS" + +@@ -13881,19 +14424,22 @@ + if test "$enable_mpfr" = "yes"; then + + @%:@ Check whether --with-mpfr_include was given. +-if test "${with_mpfr_include+set}" = set; then : ++if test ${with_mpfr_include+y} ++then : + withval=$with_mpfr_include; with_mpfr_include=$withval + fi + + + @%:@ Check whether --with-mpfr_lib was given. +-if test "${with_mpfr_lib+set}" = set; then : ++if test ${with_mpfr_lib+y} ++then : + withval=$with_mpfr_lib; with_mpfr_lib=$withval + fi + + + @%:@ Check whether --with-mpfr was given. +-if test "${with_mpfr+set}" = set; then : ++if test ${with_mpfr+y} ++then : + withval=$with_mpfr; with_mpfr_include=$withval/include with_mpfr_lib=$withval/lib + fi + +@@ -13906,8 +14452,8 @@ + + if ` test "$with_mpfr_lib" ` + then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking mpfr library" >&5 +-$as_echo_n "checking mpfr library... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking mpfr library" >&5 ++printf %s "checking mpfr library... " >&6; } + if test -r "$with_mpfr_lib/libmpfr.a" -o -r "$with_mpfr_lib/libmpfr.so" + then + LDFLAGS="$LDFLAGS -L$with_mpfr_lib" +@@ -13915,14 +14461,15 @@ + else + as_fn_error $? "mpfr not found" "$LINENO" 5 + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmpfr" >&5 +-$as_echo_n "checking for main in -lmpfr... " >&6; } +-if ${ac_cv_lib_mpfr_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lmpfr" >&5 ++printf %s "checking for main in -lmpfr... " >&6; } ++if test ${ac_cv_lib_mpfr_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lmpfr $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -13930,32 +14477,32 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_mpfr_main=yes +-else ++else $as_nop + ac_cv_lib_mpfr_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_main" >&5 +-$as_echo "$ac_cv_lib_mpfr_main" >&6; } +-if test "x$ac_cv_lib_mpfr_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBMPFR 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_main" >&5 ++printf "%s\n" "$ac_cv_lib_mpfr_main" >&6; } ++if test "x$ac_cv_lib_mpfr_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBMPFR 1" >>confdefs.h + + LIBS="-lmpfr $LIBS" + +-else ++else $as_nop + as_fn_error $? "mpfr not found" "$LINENO" 5 + fi + +@@ -13964,25 +14511,21 @@ + + + +-for ac_header in mpfr.h +-do : +- ac_fn_c_check_header_compile "$LINENO" "mpfr.h" "ac_cv_header_mpfr_h" "#include ++ac_fn_c_check_header_compile "$LINENO" "mpfr.h" "ac_cv_header_mpfr_h" "#include + " +-if test "x$ac_cv_header_mpfr_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_MPFR_H 1 +-_ACEOF +- ++if test "x$ac_cv_header_mpfr_h" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_MPFR_H 1" >>confdefs.h ++ + fi + +-done + +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmpfr" >&5 +-$as_echo_n "checking for main in -lmpfr... " >&6; } +-if ${ac_cv_lib_mpfr_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lmpfr" >&5 ++printf %s "checking for main in -lmpfr... " >&6; } ++if test ${ac_cv_lib_mpfr_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lmpfr $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -13990,28 +14533,28 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_mpfr_main=yes +-else ++else $as_nop + ac_cv_lib_mpfr_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_main" >&5 +-$as_echo "$ac_cv_lib_mpfr_main" >&6; } +-if test "x$ac_cv_lib_mpfr_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBMPFR 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_main" >&5 ++printf "%s\n" "$ac_cv_lib_mpfr_main" >&6; } ++if test "x$ac_cv_lib_mpfr_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBMPFR 1" >>confdefs.h + + LIBS="-lmpfr $LIBS" + +@@ -14026,19 +14569,22 @@ + + + @%:@ Check whether --with-ultim_include was given. +-if test "${with_ultim_include+set}" = set; then : ++if test ${with_ultim_include+y} ++then : + withval=$with_ultim_include; with_ultim_include=$withval + fi + + + @%:@ Check whether --with-ultim_lib was given. +-if test "${with_ultim_lib+set}" = set; then : ++if test ${with_ultim_lib+y} ++then : + withval=$with_ultim_lib; with_ultim_lib=$withval + fi + + + @%:@ Check whether --with-ultim was given. +-if test "${with_ultim+set}" = set; then : ++if test ${with_ultim+y} ++then : + withval=$with_ultim; with_ultim_include=$withval/include with_ultim_lib=$withval/lib + fi + +@@ -14051,8 +14597,8 @@ + + if ` test "$with_ultim_lib" ` + then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking ultim library" >&5 +-$as_echo_n "checking ultim library... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking ultim library" >&5 ++printf %s "checking ultim library... " >&6; } + if test -r "$with_ultim_lib/libultim.a" -o -r "$with_ultim_lib/libultim.so" + then + LDFLAGS="$LDFLAGS -L$with_ultim_lib" +@@ -14060,14 +14606,15 @@ + else + as_fn_error $? "ultim not found" "$LINENO" 5 + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lultim" >&5 +-$as_echo_n "checking for main in -lultim... " >&6; } +-if ${ac_cv_lib_ultim_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lultim" >&5 ++printf %s "checking for main in -lultim... " >&6; } ++if test ${ac_cv_lib_ultim_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lultim $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -14075,32 +14622,32 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_ultim_main=yes +-else ++else $as_nop + ac_cv_lib_ultim_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ultim_main" >&5 +-$as_echo "$ac_cv_lib_ultim_main" >&6; } +-if test "x$ac_cv_lib_ultim_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBULTIM 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ultim_main" >&5 ++printf "%s\n" "$ac_cv_lib_ultim_main" >&6; } ++if test "x$ac_cv_lib_ultim_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBULTIM 1" >>confdefs.h + + LIBS="-lultim $LIBS" + +-else ++else $as_nop + as_fn_error $? "ultim not found" "$LINENO" 5 + fi + +@@ -14108,24 +14655,20 @@ + + + +-for ac_header in MathLib.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "MathLib.h" "ac_cv_header_MathLib_h" "$ac_includes_default" +-if test "x$ac_cv_header_MathLib_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_MATHLIB_H 1 +-_ACEOF +- ++ac_fn_c_check_header_compile "$LINENO" "MathLib.h" "ac_cv_header_MathLib_h" "$ac_includes_default" ++if test "x$ac_cv_header_MathLib_h" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_MATHLIB_H 1" >>confdefs.h ++ + fi + +-done + +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lultim" >&5 +-$as_echo_n "checking for main in -lultim... " >&6; } +-if ${ac_cv_lib_ultim_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lultim" >&5 ++printf %s "checking for main in -lultim... " >&6; } ++if test ${ac_cv_lib_ultim_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lultim $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -14133,28 +14676,28 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_ultim_main=yes +-else ++else $as_nop + ac_cv_lib_ultim_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ultim_main" >&5 +-$as_echo "$ac_cv_lib_ultim_main" >&6; } +-if test "x$ac_cv_lib_ultim_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBULTIM 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ultim_main" >&5 ++printf "%s\n" "$ac_cv_lib_ultim_main" >&6; } ++if test "x$ac_cv_lib_ultim_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBULTIM 1" >>confdefs.h + + LIBS="-lultim $LIBS" + +@@ -14169,19 +14712,22 @@ + + + @%:@ Check whether --with-mcr_include was given. +-if test "${with_mcr_include+set}" = set; then : ++if test ${with_mcr_include+y} ++then : + withval=$with_mcr_include; with_mcr_include=$withval + fi + + + @%:@ Check whether --with-mcr_lib was given. +-if test "${with_mcr_lib+set}" = set; then : ++if test ${with_mcr_lib+y} ++then : + withval=$with_mcr_lib; with_mcr_lib=$withval + fi + + + @%:@ Check whether --with-mcr was given. +-if test "${with_mcr+set}" = set; then : ++if test ${with_mcr+y} ++then : + withval=$with_mcr; with_mcr_include=$withval/include with_mcr_lib=$withval/lib + fi + +@@ -14194,8 +14740,8 @@ + + if ` test "$with_mcr_lib" ` + then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking mcr library" >&5 +-$as_echo_n "checking mcr library... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking mcr library" >&5 ++printf %s "checking mcr library... " >&6; } + if test -r "$with_mcr_lib/libmcr.a" -o -r "$with_mcr_lib/libmcr.so" + then + LDFLAGS="$LDFLAGS -L$with_mcr_lib" +@@ -14203,14 +14749,15 @@ + else + as_fn_error $? "mcr not found" "$LINENO" 5 + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmcr" >&5 +-$as_echo_n "checking for main in -lmcr... " >&6; } +-if ${ac_cv_lib_mcr_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lmcr" >&5 ++printf %s "checking for main in -lmcr... " >&6; } ++if test ${ac_cv_lib_mcr_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lmcr $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -14218,32 +14765,32 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_mcr_main=yes +-else ++else $as_nop + ac_cv_lib_mcr_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mcr_main" >&5 +-$as_echo "$ac_cv_lib_mcr_main" >&6; } +-if test "x$ac_cv_lib_mcr_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBMCR 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mcr_main" >&5 ++printf "%s\n" "$ac_cv_lib_mcr_main" >&6; } ++if test "x$ac_cv_lib_mcr_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBMCR 1" >>confdefs.h + + LIBS="-lmcr $LIBS" + +-else ++else $as_nop + as_fn_error $? "mcr not found" "$LINENO" 5 + fi + +@@ -14251,24 +14798,20 @@ + + + +-for ac_header in libmcr.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "libmcr.h" "ac_cv_header_libmcr_h" "$ac_includes_default" +-if test "x$ac_cv_header_libmcr_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBMCR_H 1 +-_ACEOF +- ++ac_fn_c_check_header_compile "$LINENO" "libmcr.h" "ac_cv_header_libmcr_h" "$ac_includes_default" ++if test "x$ac_cv_header_libmcr_h" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBMCR_H 1" >>confdefs.h ++ + fi + +-done + +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmcr" >&5 +-$as_echo_n "checking for main in -lmcr... " >&6; } +-if ${ac_cv_lib_mcr_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lmcr" >&5 ++printf %s "checking for main in -lmcr... " >&6; } ++if test ${ac_cv_lib_mcr_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lmcr $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -14276,28 +14819,28 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_mcr_main=yes +-else ++else $as_nop + ac_cv_lib_mcr_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mcr_main" >&5 +-$as_echo "$ac_cv_lib_mcr_main" >&6; } +-if test "x$ac_cv_lib_mcr_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBMCR 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mcr_main" >&5 ++printf "%s\n" "$ac_cv_lib_mcr_main" >&6; } ++if test "x$ac_cv_lib_mcr_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBMCR 1" >>confdefs.h + + LIBS="-lmcr $LIBS" + +@@ -14340,8 +14883,8 @@ + 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;} ;; ++ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( +@@ -14371,15 +14914,15 @@ + /^ac_cv_env_/b end + t clear + :clear +- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ ++ s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 ++printf "%s\n" "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else +@@ -14393,8 +14936,8 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 ++printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} + fi + fi + rm -f confcache +@@ -14411,7 +14954,7 @@ + for ac_i in : $LIB@&t@OBJS; 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"` ++ ac_i=`printf "%s\n" "$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" +@@ -14422,14 +14965,14 @@ + LTLIBOBJS=$ac_ltlibobjs + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +-$as_echo_n "checking that generated files are newer than configure... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 ++printf %s "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +-$as_echo "done" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5 ++printf "%s\n" "done" >&6; } + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +@@ -14476,8 +15019,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 ++printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;} + as_write_fail=0 + cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 + #! $SHELL +@@ -14500,14 +15043,16 @@ + + # Be more Bourne compatible + DUALCASE=1; export DUALCASE # for MKS sh +-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++as_nop=: ++if test ${ZSH_VERSION+y} && (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 ++else $as_nop + case `(set -o) 2>/dev/null` in @%:@( + *posix*) : + set -o posix ;; @%:@( +@@ -14517,46 +15062,46 @@ + fi + + ++ ++# Reset variables that may have inherited troublesome values from ++# the environment. ++ ++# IFS needs to be set, to space, tab, and newline, in precisely that order. ++# (If _AS_PATH_WALK were called with IFS unset, it would have the ++# side effect of setting IFS to empty, thus disabling word splitting.) ++# Quoting is to prevent editors from complaining about space-tab. + 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 ++IFS=" "" $as_nl" + ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# Ensure predictable behavior from utilities with locale-dependent output. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE ++ ++# We cannot yet rely on "unset" to work, but we need these variables ++# to be unset--not just set to an empty or harmless value--now, to ++# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct ++# also avoids known problems related to "unset" and subshell syntax ++# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). ++for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH ++do eval test \${$as_var+y} \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++ ++# Ensure that fds 0, 1, and 2 are open. ++if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi ++if (exec 3>&2) ; then :; else exec 2>/dev/null; fi ++ + # The user is always right. +-if test "${PATH_SEPARATOR+set}" != set; then ++if ${PATH_SEPARATOR+false} :; 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 || +@@ -14565,13 +15110,6 @@ + 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 @%:@(( +@@ -14580,8 +15118,12 @@ + 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ test -r "$as_dir$0" && as_myself=$as_dir$0 && break + done + IFS=$as_save_IFS + +@@ -14593,32 +15135,12 @@ + 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 ++ printf "%s\n" "$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 @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are +@@ -14629,13 +15151,14 @@ + 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi +- $as_echo "$as_me: error: $2" >&2 ++ printf "%s\n" "$as_me: error: $2" >&2 + as_fn_exit $as_status + } @%:@ as_fn_error + + ++ + @%:@ as_fn_set_status STATUS + @%:@ ----------------------- + @%:@ Set @S|@? to STATUS, without forking. +@@ -14662,18 +15185,20 @@ + { 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 : ++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 ++else $as_nop + as_fn_append () + { + eval $1=\$$1\$2 +@@ -14685,12 +15210,13 @@ + @%:@ Perform arithmetic evaluation on the ARGs, and store the result in the + @%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments + @%:@ must be portable across @S|@(()) and expr. +-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null ++then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +-else ++else $as_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` +@@ -14721,7 +15247,7 @@ + $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X/"$0" | ++printf "%s\n" X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q +@@ -14743,6 +15269,10 @@ + as_cr_digits='0123456789' + as_cr_alnum=$as_cr_Letters$as_cr_digits + ++ ++# Determine whether it's possible to make 'echo' print without a newline. ++# These variables are no longer used directly by Autoconf, but are AC_SUBSTed ++# for compatibility with existing Makefiles. + ECHO_C= ECHO_N= ECHO_T= + case `echo -n x` in @%:@((((( + -n*) +@@ -14756,6 +15286,12 @@ + ECHO_N='-n';; + esac + ++# For backward compatibility with old third-party macros, we provide ++# the shell variables $as_echo and $as_echo_n. New code should use ++# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. ++as_@&t@echo='printf %s\n' ++as_@&t@echo_n='printf %s' ++ + rm -f conf$$ conf$$.exe conf$$.file + if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +@@ -14797,7 +15333,7 @@ + as_dirs= + while :; do + case $as_dir in #( +- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" +@@ -14806,7 +15342,7 @@ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$as_dir" | ++printf "%s\n" X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -14869,7 +15405,7 @@ + # values after options handling. + ac_log=" + This file was extended by crlibm $as_me 1.0beta4, which was +-generated by GNU Autoconf 2.69. Invocation command line was ++generated by GNU Autoconf 2.71. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS +@@ -14931,14 +15467,16 @@ + Report bugs to the package provider." + + _ACEOF ++ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` ++ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ++ac_cs_config='$ac_cs_config_escaped' + ac_cs_version="\\ + crlibm config.status 1.0beta4 +-configured by $0, generated by GNU Autoconf 2.69, ++configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +-Copyright (C) 2012 Free Software Foundation, Inc. ++Copyright (C) 2021 Free Software Foundation, Inc. + This config.status script is free software; the Free Software Foundation + gives unlimited permission to copy, distribute and modify it." + +@@ -14978,15 +15516,15 @@ + -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 ;; ++ printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) +- $as_echo "$ac_cs_config"; exit ;; ++ printf "%s\n" "$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"` ;; ++ *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" +@@ -14994,7 +15532,7 @@ + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in +- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; +@@ -15003,7 +15541,7 @@ + as_fn_error $? "ambiguous option: \`$1' + Try \`$0 --help' for more information.";; + --help | --hel | -h ) +- $as_echo "$ac_cs_usage"; exit ;; ++ printf "%s\n" "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; +@@ -15031,7 +15569,7 @@ + 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 ++ \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +@@ -15045,7 +15583,7 @@ + sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX + @%:@@%:@ Running $as_me. @%:@@%:@ + _ASBOX +- $as_echo "$ac_log" ++ printf "%s\n" "$ac_log" + } >&5 + + _ACEOF +@@ -15053,7 +15591,7 @@ + # + # INIT-COMMANDS + # +-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" ++AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" + + + # The HP-UX ksh and POSIX shell print the target directory to stdout +@@ -15363,9 +15901,9 @@ + # 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 +- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands ++ test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files ++ test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers ++ test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands + fi + + # Have a temporary directory for convenience. Make it in the build tree +@@ -15701,7 +16239,7 @@ + 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 ++ case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + +@@ -15709,17 +16247,17 @@ + # 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' ++ printf "%s\n" "$*" | 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 ++printf "%s\n" "$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" | ++ ac_sed_conf_input=`printf "%s\n" "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac +@@ -15736,7 +16274,7 @@ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$ac_file" | ++printf "%s\n" X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -15760,9 +16298,9 @@ + case "$ac_dir" in + .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) +- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` ++ ac_dir_suffix=/`printf "%s\n" "$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|/||'` ++ ac_top_builddir_sub=`printf "%s\n" "$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/ ;; +@@ -15824,8 +16362,8 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 ++printf "%s\n" "$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=' +@@ -15869,9 +16407,9 @@ + { 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' ++ { printf "%s\n" "$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' ++printf "%s\n" "$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" +@@ -15887,20 +16425,20 @@ + # + if test x"$ac_file" != x-; then + { +- $as_echo "/* $configure_input */" \ ++ printf "%s\n" "/* $configure_input */" >&1 \ + && 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 ++printf "%s\n" "$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 */" \ ++ printf "%s\n" "/* $configure_input */" >&1 \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +@@ -15920,7 +16458,7 @@ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$_am_arg" | ++printf "%s\n" X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -15940,8 +16478,8 @@ + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + +- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +-$as_echo "$as_me: executing $ac_file commands" >&6;} ++ :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 ++printf "%s\n" "$as_me: executing $ac_file commands" >&6;} + ;; + esac + +@@ -15951,29 +16489,35 @@ + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. +- case $CONFIG_FILES in +- *\'*) eval set x "$CONFIG_FILES" ;; +- *) set x $CONFIG_FILES ;; +- esac ++ # TODO: see whether this extra hack can be removed once we start ++ # requiring Autoconf 2.70 or later. ++ case $CONFIG_FILES in @%:@( ++ *\'*) : ++ eval set x "$CONFIG_FILES" ;; @%:@( ++ *) : ++ set x $CONFIG_FILES ;; @%:@( ++ *) : ++ ;; ++esac + shift +- for mf ++ # Used to flag and report bootstrapping failures. ++ am_rc=0 ++ for am_mf + do + # Strip MF so we end up with the name of the file. +- mf=`echo "$mf" | sed -e 's/:.*$//'` +- # Check whether this is an Automake generated Makefile or not. +- # We used to match only the files named 'Makefile.in', but +- # some people rename them; so instead we look at the file content. +- # Grep'ing the first line is not enough: some people post-process +- # each Makefile.in and add a new line on top of each file to say so. +- # Grep'ing the whole file is not good either: AIX grep has a line ++ am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'` ++ # Check whether this is an Automake generated Makefile which includes ++ # dependency-tracking related rules and includes. ++ # Grep'ing the whole file directly is not great: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. +- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then +- dirpart=`$as_dirname -- "$mf" || +-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$mf" : 'X\(//\)[^/]' \| \ +- X"$mf" : 'X\(//\)$' \| \ +- X"$mf" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$mf" | ++ sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ ++ || continue ++ am_dirpart=`$as_dirname -- "$am_mf" || ++$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$am_mf" : 'X\(//\)[^/]' \| \ ++ X"$am_mf" : 'X\(//\)$' \| \ ++ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || ++printf "%s\n" X"$am_mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -15991,53 +16535,50 @@ + q + } + s/.*/./; q'` +- else +- continue +- fi +- # Extract the definition of DEPDIR, am__include, and am__quote +- # from the Makefile without running 'make'. +- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` +- test -z "$DEPDIR" && continue +- am__include=`sed -n 's/^am__include = //p' < "$mf"` +- test -z "$am__include" && continue +- am__quote=`sed -n 's/^am__quote = //p' < "$mf"` +- # Find all dependency output files, they are included files with +- # $(DEPDIR) in their names. We invoke sed twice because it is the +- # simplest approach to changing $(DEPDIR) to its actual value in the +- # expansion. +- for file in `sed -n " +- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ +- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do +- # Make sure the directory exists. +- test -f "$dirpart/$file" && continue +- fdir=`$as_dirname -- "$file" || +-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$file" : 'X\(//\)[^/]' \| \ +- X"$file" : 'X\(//\)$' \| \ +- X"$file" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$file" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ am_filepart=`$as_basename -- "$am_mf" || ++$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$am_mf" : 'X\(//\)$' \| \ ++ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || ++printf "%s\n" X/"$am_mf" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } +- /^X\(\/\/\)[^/].*/{ ++ /^X\/\(\/\/\)$/{ + s//\1/ + q + } +- /^X\(\/\/\)$/{ ++ /^X\/\(\/\).*/{ + s//\1/ + q + } +- /^X\(\/\).*/{ +- s//\1/ +- q +- } + s/.*/./; q'` +- as_dir=$dirpart/$fdir; as_fn_mkdir_p +- # echo "creating $dirpart/$file" +- echo '# dummy' > "$dirpart/$file" +- done ++ { echo "$as_me:$LINENO: cd "$am_dirpart" \ ++ && sed -e '/# am--include-marker/d' "$am_filepart" \ ++ | $MAKE -f - am--depfiles" >&5 ++ (cd "$am_dirpart" \ ++ && sed -e '/# am--include-marker/d' "$am_filepart" \ ++ | $MAKE -f - am--depfiles) >&5 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } || am_rc=$? + done ++ if test $am_rc -ne 0; then ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} ++as_fn_error $? "Something went wrong bootstrapping makefile fragments ++ for automatic dependency tracking. If GNU make was not used, consider ++ re-running the configure script with MAKE=\"gmake\" (or whatever is ++ necessary). You can also try re-running configure with the ++ '--disable-dependency-tracking' option to at least be able to build ++ the package (albeit without support for automatic dependency tracking). ++See \`config.log' for more details" "$LINENO" 5; } ++ fi ++ { am_dirpart=; unset am_dirpart;} ++ { am_filepart=; unset am_filepart;} ++ { am_mf=; unset am_mf;} ++ { am_rc=; unset am_rc;} ++ rm -f conftest-deps.mk + } + ;; + "libtool":C) +@@ -16568,6 +17109,7 @@ + esac + + ++ + ltmain=$ac_aux_dir/ltmain.sh + + +@@ -16617,8 +17159,8 @@ + $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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 ++printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} + fi + + +diff --color -urN a/crlibm-1.0beta4/autom4te.cache/output.2 b/crlibm-1.0beta4/autom4te.cache/output.2 +--- a/crlibm-1.0beta4/autom4te.cache/output.2 2024-12-06 13:32:36 ++++ b/crlibm-1.0beta4/autom4te.cache/output.2 2024-12-06 13:33:14 +@@ -1,9 +1,10 @@ + @%:@! /bin/sh + @%:@ Guess values for system-dependent variables and create Makefiles. +-@%:@ Generated by GNU Autoconf 2.69 for crlibm 1.0beta4. ++@%:@ Generated by GNU Autoconf 2.71 for crlibm 1.0beta4. + @%:@ + @%:@ +-@%:@ Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. ++@%:@ Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, ++@%:@ Inc. + @%:@ + @%:@ + @%:@ This configure script is free software; the Free Software Foundation +@@ -14,14 +15,16 @@ + + # Be more Bourne compatible + DUALCASE=1; export DUALCASE # for MKS sh +-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++as_nop=: ++if test ${ZSH_VERSION+y} && (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 ++else $as_nop + case `(set -o) 2>/dev/null` in @%:@( + *posix*) : + set -o posix ;; @%:@( +@@ -31,46 +34,46 @@ + fi + + ++ ++# Reset variables that may have inherited troublesome values from ++# the environment. ++ ++# IFS needs to be set, to space, tab, and newline, in precisely that order. ++# (If _AS_PATH_WALK were called with IFS unset, it would have the ++# side effect of setting IFS to empty, thus disabling word splitting.) ++# Quoting is to prevent editors from complaining about space-tab. + 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 ++IFS=" "" $as_nl" + ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# Ensure predictable behavior from utilities with locale-dependent output. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE ++ ++# We cannot yet rely on "unset" to work, but we need these variables ++# to be unset--not just set to an empty or harmless value--now, to ++# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct ++# also avoids known problems related to "unset" and subshell syntax ++# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). ++for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH ++do eval test \${$as_var+y} \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++ ++# Ensure that fds 0, 1, and 2 are open. ++if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi ++if (exec 3>&2) ; then :; else exec 2>/dev/null; fi ++ + # The user is always right. +-if test "${PATH_SEPARATOR+set}" != set; then ++if ${PATH_SEPARATOR+false} :; 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 || +@@ -79,13 +82,6 @@ + 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 @%:@(( +@@ -94,8 +90,12 @@ + 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ test -r "$as_dir$0" && as_myself=$as_dir$0 && break + done + IFS=$as_save_IFS + +@@ -107,31 +107,11 @@ + 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 ++ printf "%s\n" "$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 +@@ -152,20 +132,22 @@ + 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 ++printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 ++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 : ++ as_bourne_compatible="as_nop=: ++if test \${ZSH_VERSION+y} && (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 ++else \$as_nop + case \`(set -o) 2>/dev/null\` in @%:@( + *posix*) : + set -o posix ;; @%:@( +@@ -185,12 +167,15 @@ + 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 : ++if ( set x; as_fn_ret_success y && test x = \"\$1\" ) ++then : + +-else ++else \$as_nop + exitcode=1; echo positional parameters were not saved. + fi + test x\$exitcode = x0 || exit 1 ++blah=\$(echo \$(echo blah)) ++test x\"\$blah\" = xblah || 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 +@@ -205,30 +190,38 @@ + test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ + || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 + test \$(( 1 + 1 )) = 2 || exit 1" +- if (eval "$as_required") 2>/dev/null; then : ++ if (eval "$as_required") 2>/dev/null ++then : + as_have_required=yes +-else ++else $as_nop + as_have_required=no + fi +- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : ++ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null ++then : + +-else ++else $as_nop + 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=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + 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 ++ 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 : ++ as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 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 : ++ if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null ++then : + break 2 + fi + fi +@@ -236,14 +229,21 @@ + 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 $as_found ++then : ++ ++else $as_nop ++ if { test -f "$SHELL" || test -f "$SHELL.exe"; } && ++ as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null ++then : ++ CONFIG_SHELL=$SHELL as_have_required=yes ++fi ++fi + + +- if test "x$CONFIG_SHELL" != x; then : ++ 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 +@@ -261,18 +261,19 @@ + 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 ++printf "%s\n" "$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." ++ if test x$as_have_required = xno ++then : ++ printf "%s\n" "$0: This script requires a shell more modern than all" ++ printf "%s\n" "$0: the shells that I found on your system." ++ if test ${ZSH_VERSION+y} ; then ++ printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" ++ printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else +- $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, ++ printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, + $0: including any error possibly output before this + $0: message. Then install a modern shell, or manually run + $0: the script under such a shell if you do have one." +@@ -299,6 +300,7 @@ + } + as_unset=as_fn_unset + ++ + @%:@ as_fn_set_status STATUS + @%:@ ----------------------- + @%:@ Set @S|@? to STATUS, without forking. +@@ -316,6 +318,14 @@ + as_fn_set_status $1 + exit $1 + } @%:@ as_fn_exit ++@%:@ as_fn_nop ++@%:@ --------- ++@%:@ Do nothing but, unlike ":", preserve the value of @S|@?. ++as_fn_nop () ++{ ++ return $? ++} ++as_nop=as_fn_nop + + @%:@ as_fn_mkdir_p + @%:@ ------------- +@@ -330,7 +340,7 @@ + as_dirs= + while :; do + case $as_dir in #( +- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" +@@ -339,7 +349,7 @@ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$as_dir" | ++printf "%s\n" X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -378,12 +388,13 @@ + @%:@ 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 : ++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 ++else $as_nop + as_fn_append () + { + eval $1=\$$1\$2 +@@ -395,18 +406,27 @@ + @%:@ Perform arithmetic evaluation on the ARGs, and store the result in the + @%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments + @%:@ must be portable across @S|@(()) and expr. +-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null ++then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +-else ++else $as_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } + fi # as_fn_arith + ++@%:@ as_fn_nop ++@%:@ --------- ++@%:@ Do nothing but, unlike ":", preserve the value of @S|@?. ++as_fn_nop () ++{ ++ return $? ++} ++as_nop=as_fn_nop + + @%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] + @%:@ ---------------------------------------- +@@ -418,9 +438,9 @@ + 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi +- $as_echo "$as_me: error: $2" >&2 ++ printf "%s\n" "$as_me: error: $2" >&2 + as_fn_exit $as_status + } @%:@ as_fn_error + +@@ -447,7 +467,7 @@ + $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X/"$0" | ++printf "%s\n" X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q +@@ -491,7 +511,7 @@ + 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; } ++ { printf "%s\n" "$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 +@@ -505,6 +525,10 @@ + exit + } + ++ ++# Determine whether it's possible to make 'echo' print without a newline. ++# These variables are no longer used directly by Autoconf, but are AC_SUBSTed ++# for compatibility with existing Makefiles. + ECHO_C= ECHO_N= ECHO_T= + case `echo -n x` in @%:@((((( + -n*) +@@ -518,6 +542,13 @@ + ECHO_N='-n';; + esac + ++# For backward compatibility with old third-party macros, we provide ++# the shell variables $as_echo and $as_echo_n. New code should use ++# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. ++as_@&t@echo='printf %s\n' ++as_@&t@echo_n='printf %s' ++ ++ + rm -f conf$$ conf$$.exe conf$$.file + if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +@@ -592,42 +623,39 @@ + PACKAGE_BUGREPORT='' + PACKAGE_URL='' + ++ac_unique_file="./crlibm_private.c" + # Factoring default headers for most tests. + ac_includes_default="\ +-#include +-#ifdef HAVE_SYS_TYPES_H +-# include ++#include ++#ifdef HAVE_STDIO_H ++# include + #endif +-#ifdef HAVE_SYS_STAT_H +-# include +-#endif +-#ifdef STDC_HEADERS ++#ifdef HAVE_STDLIB_H + # 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_STRINGS_H ++# include ++#endif ++#ifdef HAVE_SYS_TYPES_H ++# include ++#endif ++#ifdef HAVE_SYS_STAT_H ++# include ++#endif + #ifdef HAVE_UNISTD_H + # include + #endif" + ++ac_header_c_list= + ac_unique_file="crlibm.h" + ac_subst_vars='am__EXEEXT_FALSE + am__EXEEXT_TRUE +@@ -644,7 +672,6 @@ + COMPILER_ICC_FALSE + COMPILER_ICC_TRUE + ISODATE +-CPP + LT_SYS_LIBRARY_PATH + OTOOL64 + OTOOL +@@ -673,7 +700,6 @@ + AMDEPBACKSLASH + AMDEP_FALSE + AMDEP_TRUE +-am__quote + am__include + DEPDIR + OBJEXT +@@ -696,6 +722,9 @@ + AM_DEFAULT_VERBOSITY + AM_DEFAULT_V + AM_V ++CSCOPE ++ETAGS ++CTAGS + am__untar + am__tar + AMTAR +@@ -738,6 +767,7 @@ + docdir + oldincludedir + includedir ++runstatedir + localstatedir + sharedstatedir + sysconfdir +@@ -756,7 +786,8 @@ + PACKAGE_TARNAME + PACKAGE_NAME + PATH_SEPARATOR +-SHELL' ++SHELL ++am__quote' + ac_subst_files='' + ac_user_opts=' + enable_option_checking +@@ -800,8 +831,7 @@ + LDFLAGS + LIBS + CPPFLAGS +-LT_SYS_LIBRARY_PATH +-CPP' ++LT_SYS_LIBRARY_PATH' + + + # Initialize some variables set by options. +@@ -840,6 +870,7 @@ + sysconfdir='${prefix}/etc' + sharedstatedir='${prefix}/com' + localstatedir='${prefix}/var' ++runstatedir='${localstatedir}/run' + includedir='${prefix}/include' + oldincludedir='/usr/include' + docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +@@ -869,8 +900,6 @@ + *) ac_optarg=yes ;; + esac + +- # Accept the important Cygnus configure options, so we can diagnose typos. +- + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; +@@ -911,9 +940,9 @@ + 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" ++ as_fn_error $? "invalid feature name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt +- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" + "enable_$ac_useropt" +@@ -937,9 +966,9 @@ + 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" ++ as_fn_error $? "invalid feature name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt +- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" + "enable_$ac_useropt" +@@ -1092,6 +1121,15 @@ + | -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=* \ +@@ -1141,9 +1179,9 @@ + 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" ++ as_fn_error $? "invalid package name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt +- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" + "with_$ac_useropt" +@@ -1157,9 +1195,9 @@ + 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" ++ as_fn_error $? "invalid package name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt +- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" + "with_$ac_useropt" +@@ -1203,9 +1241,9 @@ + + *) + # FIXME: should be removed in autoconf 3.0. +- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 ++ printf "%s\n" "$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 ++ printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + +@@ -1221,7 +1259,7 @@ + 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 ;; ++ *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac + fi + +@@ -1229,7 +1267,7 @@ + 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 ++ libdir localedir mandir runstatedir + do + eval ac_val=\$$ac_var + # Remove trailing slashes. +@@ -1285,7 +1323,7 @@ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$as_myself" | ++printf "%s\n" X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -1382,6 +1420,7 @@ + --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] +@@ -1438,8 +1477,8 @@ + --enable-digitsize=N set the size of a digit to N bits [default=30] + --enable-mpfr enable MPFR function [default=no] + --enable-gmp enable GMP function [default=no] +- --enable-ultim enable comparison with libultim, IBM's Accurate Portable Math Library [default=no] +- --enable-mcr enable comparison with Sun's LIBMCR [default=no] ++ --enable-ultim enable comparison with libultim, IBMs Accurate Portable Math Library [default=no] ++ --enable-mcr enable comparison with Suns LIBMCR [default=no] + + Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] +@@ -1475,7 +1514,6 @@ + you have headers in a nonstandard directory + LT_SYS_LIBRARY_PATH + User-defined run-time library search path. +- CPP C preprocessor + + Use these variables to override the choices made by `configure' or to help + it to find libraries and programs with nonstandard names/locations. +@@ -1496,9 +1534,9 @@ + case "$ac_dir" in + .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) +- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` ++ ac_dir_suffix=/`printf "%s\n" "$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|/||'` ++ ac_top_builddir_sub=`printf "%s\n" "$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/ ;; +@@ -1526,7 +1564,8 @@ + ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } +- # Check for guested configure. ++ # Check for configure.gnu first; this name is used for a wrapper for ++ # Metaconfig's "Configure" on case-insensitive file systems. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive +@@ -1534,7 +1573,7 @@ + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else +- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 ++ printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +@@ -1544,9 +1583,9 @@ + if $ac_init_version; then + cat <<\_ACEOF + crlibm configure 1.0beta4 +-generated by GNU Autoconf 2.69 ++generated by GNU Autoconf 2.71 + +-Copyright (C) 2012 Free Software Foundation, Inc. ++Copyright (C) 2021 Free Software Foundation, Inc. + This configure script is free software; the Free Software Foundation + gives unlimited permission to copy, distribute and modify it. + _ACEOF +@@ -1563,14 +1602,14 @@ + ac_fn_c_try_compile () + { + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +- rm -f conftest.$ac_objext ++ rm -f conftest.$ac_objext conftest.beam + 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 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -1578,14 +1617,15 @@ + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$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 : ++ } && test -s conftest.$ac_objext ++then : + ac_retval=0 +-else +- $as_echo "$as_me: failed program was:" >&5 ++else $as_nop ++ printf "%s\n" "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +@@ -1601,14 +1641,14 @@ + 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 ++ rm -f conftest.$ac_objext conftest.beam 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 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -1616,17 +1656,18 @@ + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$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 : ++ } ++then : + ac_retval=0 +-else +- $as_echo "$as_me: failed program was:" >&5 ++else $as_nop ++ printf "%s\n" "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +@@ -1648,120 +1689,44 @@ + 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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 ++printf %s "checking for $2... " >&6; } ++if eval test \${$3+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $4 + @%:@include <$2> + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + eval "$3=yes" +-else ++else $as_nop + eval "$3=no" + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi + eval ac_res=\$$3 +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +-$as_echo "$ac_res" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + + } @%:@ ac_fn_c_check_header_compile + +-@%:@ ac_fn_c_try_cpp LINENO +-@%:@ ---------------------- +-@%:@ Try to preprocess conftest.@S|@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_run LINENO +-@%:@ ---------------------- +-@%:@ Try to link conftest.@S|@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_func LINENO FUNC VAR + @%:@ ---------------------------------- + @%:@ Tests whether FUNC exists, setting the cache variable VAR accordingly + ac_fn_c_check_func () + { + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +-$as_echo_n "checking for $2... " >&6; } +-if eval \${$3+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 ++printf %s "checking for $2... " >&6; } ++if eval test \${$3+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + /* Define $2 to an innocuous variant, in case declares $2. +@@ -1769,16 +1734,9 @@ + #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. */ ++ which can conflict with char $2 (); below. */ + +-#ifdef __STDC__ +-# include +-#else +-# include +-#endif +- ++#include + #undef $2 + + /* Override any GCC internal prototype to avoid an error. +@@ -1796,114 +1754,71 @@ + #endif + + int +-main () ++main (void) + { + return $2 (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + eval "$3=yes" +-else ++else $as_nop + eval "$3=no" + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + + } @%:@ ac_fn_c_check_func + +-@%:@ 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 () ++@%:@ ac_fn_c_try_run LINENO ++@%:@ ---------------------- ++@%:@ Try to run conftest.@S|@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 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; } ++ 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\"" ++printf "%s\n" "$ac_try_echo"; } >&5 ++ (eval "$ac_link") 2>&5 ++ ac_status=$? ++ printf "%s\n" "$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\"" ++printf "%s\n" "$ac_try_echo"; } >&5 ++ (eval "$ac_try") 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; } ++then : ++ ac_retval=0 ++else $as_nop ++ printf "%s\n" "$as_me: program exited with status $ac_status" >&5 ++ printf "%s\n" "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + +-# 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 ++ ac_retval=$ac_status + 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;} +- ;; +-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 ++ 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_check_header_mongrel ++} @%:@ ac_fn_c_try_run + + @%:@ ac_fn_c_compute_int LINENO EXPR VAR INCLUDES + @%:@ -------------------------------------------- +@@ -1919,7 +1834,7 @@ + /* end confdefs.h. */ + $4 + int +-main () ++main (void) + { + static int test_array @<:@1 - 2 * !(($2) >= 0)@:>@; + test_array @<:@0@:>@ = 0; +@@ -1929,14 +1844,15 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 () ++main (void) + { + static int test_array @<:@1 - 2 * !(($2) <= $ac_mid)@:>@; + test_array @<:@0@:>@ = 0; +@@ -1946,9 +1862,10 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_hi=$ac_mid; break +-else ++else $as_nop + as_fn_arith $ac_mid + 1 && ac_lo=$as_val + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= +@@ -1956,14 +1873,14 @@ + fi + as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + done +-else ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $4 + int +-main () ++main (void) + { + static int test_array @<:@1 - 2 * !(($2) < 0)@:>@; + test_array @<:@0@:>@ = 0; +@@ -1973,14 +1890,15 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 () ++main (void) + { + static int test_array @<:@1 - 2 * !(($2) >= $ac_mid)@:>@; + test_array @<:@0@:>@ = 0; +@@ -1990,9 +1908,10 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_lo=$ac_mid; break +-else ++else $as_nop + as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= +@@ -2000,14 +1919,14 @@ + fi + as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + done +-else ++else $as_nop + ac_lo= ac_hi= + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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 +@@ -2015,7 +1934,7 @@ + /* end confdefs.h. */ + $4 + int +-main () ++main (void) + { + static int test_array @<:@1 - 2 * !(($2) <= $ac_mid)@:>@; + test_array @<:@0@:>@ = 0; +@@ -2025,12 +1944,13 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_hi=$ac_mid +-else ++else $as_nop + as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + done + case $ac_lo in @%:@(( + ?*) eval "$3=\$ac_lo"; ac_retval=0 ;; +@@ -2040,12 +1960,12 @@ + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $4 +-static long int longval () { return $2; } +-static unsigned long int ulongval () { return $2; } ++static long int longval (void) { return $2; } ++static unsigned long int ulongval (void) { return $2; } + @%:@include + @%:@include + int +-main () ++main (void) + { + + FILE *f = fopen ("conftest.val", "w"); +@@ -2073,9 +1993,10 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_run "$LINENO"; then : ++if ac_fn_c_try_run "$LINENO" ++then : + echo >>conftest.val; read $3 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 crlibm $as_me 1.0beta4, which was +-generated by GNU Autoconf 2.69. Invocation command line was ++generated by GNU Autoconf 2.71. Invocation command line was + +- $ $0 $@ ++ $ $0$ac_configure_args_raw + + _ACEOF + exec 5>>config.log +@@ -2127,8 +2068,12 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- $as_echo "PATH: $as_dir" ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ printf "%s\n" "PATH: $as_dir" + done + IFS=$as_save_IFS + +@@ -2163,7 +2108,7 @@ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) +- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; +@@ -2198,11 +2143,13 @@ + # 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=$? ++ # Sanitize IFS. ++ IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + +- $as_echo "## ---------------- ## ++ printf "%s\n" "## ---------------- ## + ## Cache variables. ## + ## ---------------- ##" + echo +@@ -2213,8 +2160,8 @@ + 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;} ;; ++ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( +@@ -2238,7 +2185,7 @@ + ) + echo + +- $as_echo "## ----------------- ## ++ printf "%s\n" "## ----------------- ## + ## Output variables. ## + ## ----------------- ##" + echo +@@ -2246,14 +2193,14 @@ + do + eval ac_val=\$$ac_var + case $ac_val in +- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac +- $as_echo "$ac_var='\''$ac_val'\''" ++ printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then +- $as_echo "## ------------------- ## ++ printf "%s\n" "## ------------------- ## + ## File substitutions. ## + ## ------------------- ##" + echo +@@ -2261,15 +2208,15 @@ + do + eval ac_val=\$$ac_var + case $ac_val in +- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac +- $as_echo "$ac_var='\''$ac_val'\''" ++ printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then +- $as_echo "## ----------- ## ++ printf "%s\n" "## ----------- ## + ## confdefs.h. ## + ## ----------- ##" + echo +@@ -2277,8 +2224,8 @@ + echo + fi + test "$ac_signal" != 0 && +- $as_echo "$as_me: caught signal $ac_signal" +- $as_echo "$as_me: exit $exit_status" ++ printf "%s\n" "$as_me: caught signal $ac_signal" ++ printf "%s\n" "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && +@@ -2292,63 +2239,48 @@ + # confdefs.h avoids OS command line length limits that DEFS can exceed. + rm -f -r conftest* confdefs.h + +-$as_echo "/* confdefs.h */" > confdefs.h ++printf "%s\n" "/* confdefs.h */" > confdefs.h + + # Predefined preprocessor variables. + +-cat >>confdefs.h <<_ACEOF +-@%:@define PACKAGE_NAME "$PACKAGE_NAME" +-_ACEOF ++printf "%s\n" "@%:@define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" +-_ACEOF ++printf "%s\n" "@%:@define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-@%:@define PACKAGE_VERSION "$PACKAGE_VERSION" +-_ACEOF ++printf "%s\n" "@%:@define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-@%:@define PACKAGE_STRING "$PACKAGE_STRING" +-_ACEOF ++printf "%s\n" "@%:@define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +-_ACEOF ++printf "%s\n" "@%:@define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-@%:@define PACKAGE_URL "$PACKAGE_URL" +-_ACEOF ++printf "%s\n" "@%:@define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + + # 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 ++ ac_site_files="$CONFIG_SITE" + elif test "x$prefix" != xNONE; then +- ac_site_file1=$prefix/share/config.site +- ac_site_file2=$prefix/etc/config.site ++ ac_site_files="$prefix/share/config.site $prefix/etc/config.site" + else +- ac_site_file1=$ac_default_prefix/share/config.site +- ac_site_file2=$ac_default_prefix/etc/config.site ++ ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi +-for ac_site_file in "$ac_site_file1" "$ac_site_file2" ++ ++for ac_site_file in $ac_site_files + 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;} ++ case $ac_site_file in @%:@( ++ */*) : ++ ;; @%:@( ++ *) : ++ ac_site_file=./$ac_site_file ;; ++esac ++ if test -f "$ac_site_file" && test -r "$ac_site_file"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 ++printf "%s\n" "$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;} ++ || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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 +@@ -2358,19 +2290,434 @@ + # 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 ++printf "%s\n" "$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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 ++printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file + fi + ++# Test code for whether the C compiler supports C89 (global declarations) ++ac_c_conftest_c89_globals=' ++/* Does the compiler advertise C89 conformance? ++ Do not test the value of __STDC__, because some compilers set it to 0 ++ while being otherwise adequately conformant. */ ++#if !defined __STDC__ ++# error "Compiler does not advertise C89 conformance" ++#endif ++ ++#include ++#include ++struct stat; ++/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ ++struct buf { int x; }; ++struct buf * (*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 do not provoke an error unfortunately, instead are silently treated ++ as an "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 is necessary to write \x00 == 0 to get something ++ that is 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 **, int *(*)(struct buf *, struct stat *, int), ++ int, int);' ++ ++# Test code for whether the C compiler supports C89 (body of main). ++ac_c_conftest_c89_main=' ++ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); ++' ++ ++# Test code for whether the C compiler supports C99 (global declarations) ++ac_c_conftest_c99_globals=' ++// Does the compiler advertise C99 conformance? ++#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L ++# error "Compiler does not advertise C99 conformance" ++#endif ++ ++#include ++extern int puts (const char *); ++extern int printf (const char *, ...); ++extern int dprintf (int, const char *, ...); ++extern void *malloc (size_t); ++ ++// Check varargs macros. These examples are taken from C99 6.10.3.5. ++// dprintf is used instead of fprintf to avoid needing to declare ++// FILE and stderr. ++#define debug(...) dprintf (2, __VA_ARGS__) ++#define showlist(...) puts (#__VA_ARGS__) ++#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) ++static void ++test_varargs_macros (void) ++{ ++ int x = 1234; ++ int y = 5678; ++ debug ("Flag"); ++ debug ("X = %d\n", x); ++ showlist (The first, second, and third items.); ++ report (x>y, "x is %d but y is %d", x, y); ++} ++ ++// Check long long types. ++#define BIG64 18446744073709551615ull ++#define BIG32 4294967295ul ++#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) ++#if !BIG_OK ++ #error "your preprocessor is broken" ++#endif ++#if BIG_OK ++#else ++ #error "your preprocessor is broken" ++#endif ++static long long int bignum = -9223372036854775807LL; ++static unsigned long long int ubignum = BIG64; ++ ++struct incomplete_array ++{ ++ int datasize; ++ double data[]; ++}; ++ ++struct named_init { ++ int number; ++ const wchar_t *name; ++ double average; ++}; ++ ++typedef const char *ccp; ++ ++static inline int ++test_restrict (ccp restrict text) ++{ ++ // See if C++-style comments work. ++ // Iterate through items via the restricted pointer. ++ // Also check for declarations in for loops. ++ for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) ++ continue; ++ return 0; ++} ++ ++// Check varargs and va_copy. ++static bool ++test_varargs (const char *format, ...) ++{ ++ va_list args; ++ va_start (args, format); ++ va_list args_copy; ++ va_copy (args_copy, args); ++ ++ const char *str = ""; ++ int number = 0; ++ float fnumber = 0; ++ ++ while (*format) ++ { ++ switch (*format++) ++ { ++ case '\''s'\'': // string ++ str = va_arg (args_copy, const char *); ++ break; ++ case '\''d'\'': // int ++ number = va_arg (args_copy, int); ++ break; ++ case '\''f'\'': // float ++ fnumber = va_arg (args_copy, double); ++ break; ++ default: ++ break; ++ } ++ } ++ va_end (args_copy); ++ va_end (args); ++ ++ return *str && number && fnumber; ++} ++' ++ ++# Test code for whether the C compiler supports C99 (body of main). ++ac_c_conftest_c99_main=' ++ // Check bool. ++ _Bool success = false; ++ success |= (argc != 0); ++ ++ // Check restrict. ++ if (test_restrict ("String literal") == 0) ++ success = true; ++ char *restrict newvar = "Another string"; ++ ++ // Check varargs. ++ success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); ++ test_varargs_macros (); ++ ++ // Check flexible array members. ++ struct incomplete_array *ia = ++ malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); ++ ia->datasize = 10; ++ for (int i = 0; i < ia->datasize; ++i) ++ ia->data[i] = i * 1.234; ++ ++ // Check named initializers. ++ struct named_init ni = { ++ .number = 34, ++ .name = L"Test wide string", ++ .average = 543.34343, ++ }; ++ ++ ni.number = 58; ++ ++ int dynamic_array[ni.number]; ++ dynamic_array[0] = argv[0][0]; ++ dynamic_array[ni.number - 1] = 543; ++ ++ // work around unused variable warnings ++ ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' ++ || dynamic_array[ni.number - 1] != 543); ++' ++ ++# Test code for whether the C compiler supports C11 (global declarations) ++ac_c_conftest_c11_globals=' ++// Does the compiler advertise C11 conformance? ++#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L ++# error "Compiler does not advertise C11 conformance" ++#endif ++ ++// Check _Alignas. ++char _Alignas (double) aligned_as_double; ++char _Alignas (0) no_special_alignment; ++extern char aligned_as_int; ++char _Alignas (0) _Alignas (int) aligned_as_int; ++ ++// Check _Alignof. ++enum ++{ ++ int_alignment = _Alignof (int), ++ int_array_alignment = _Alignof (int[100]), ++ char_alignment = _Alignof (char) ++}; ++_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); ++ ++// Check _Noreturn. ++int _Noreturn does_not_return (void) { for (;;) continue; } ++ ++// Check _Static_assert. ++struct test_static_assert ++{ ++ int x; ++ _Static_assert (sizeof (int) <= sizeof (long int), ++ "_Static_assert does not work in struct"); ++ long int y; ++}; ++ ++// Check UTF-8 literals. ++#define u8 syntax error! ++char const utf8_literal[] = u8"happens to be ASCII" "another string"; ++ ++// Check duplicate typedefs. ++typedef long *long_ptr; ++typedef long int *long_ptr; ++typedef long_ptr long_ptr; ++ ++// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. ++struct anonymous ++{ ++ union { ++ struct { int i; int j; }; ++ struct { int k; long int l; } w; ++ }; ++ int m; ++} v1; ++' ++ ++# Test code for whether the C compiler supports C11 (body of main). ++ac_c_conftest_c11_main=' ++ _Static_assert ((offsetof (struct anonymous, i) ++ == offsetof (struct anonymous, w.k)), ++ "Anonymous union alignment botch"); ++ v1.i = 2; ++ v1.w.k = 5; ++ ok |= v1.i != 5; ++' ++ ++# Test code for whether the C compiler supports C11 (complete). ++ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} ++${ac_c_conftest_c99_globals} ++${ac_c_conftest_c11_globals} ++ ++int ++main (int argc, char **argv) ++{ ++ int ok = 0; ++ ${ac_c_conftest_c89_main} ++ ${ac_c_conftest_c99_main} ++ ${ac_c_conftest_c11_main} ++ return ok; ++} ++" ++ ++# Test code for whether the C compiler supports C99 (complete). ++ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} ++${ac_c_conftest_c99_globals} ++ ++int ++main (int argc, char **argv) ++{ ++ int ok = 0; ++ ${ac_c_conftest_c89_main} ++ ${ac_c_conftest_c99_main} ++ return ok; ++} ++" ++ ++# Test code for whether the C compiler supports C89 (complete). ++ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} ++ ++int ++main (int argc, char **argv) ++{ ++ int ok = 0; ++ ${ac_c_conftest_c89_main} ++ return ok; ++} ++" ++ ++as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" ++as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" ++as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" ++as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" ++as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" ++as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" ++as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" ++as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" ++as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" ++ ++# Auxiliary files required by this configure script. ++ac_aux_files="compile config.guess config.sub ltmain.sh missing install-sh" ++ ++# Locations in which to look for auxiliary files. ++ac_aux_dir_candidates="${srcdir}${PATH_SEPARATOR}${srcdir}/..${PATH_SEPARATOR}${srcdir}/../.." ++ ++# Search for a directory containing all of the required auxiliary files, ++# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. ++# If we don't find one directory that contains all the files we need, ++# we report the set of missing files from the *first* directory in ++# $ac_aux_dir_candidates and give up. ++ac_missing_aux_files="" ++ac_first_candidate=: ++printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++as_found=false ++for as_dir in $ac_aux_dir_candidates ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ as_found=: ++ ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 ++ ac_aux_dir_found=yes ++ ac_install_sh= ++ for ac_aux in $ac_aux_files ++ do ++ # As a special case, if "install-sh" is required, that requirement ++ # can be satisfied by any of "install-sh", "install.sh", or "shtool", ++ # and $ac_install_sh is set appropriately for whichever one is found. ++ if test x"$ac_aux" = x"install-sh" ++ then ++ if test -f "${as_dir}install-sh"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 ++ ac_install_sh="${as_dir}install-sh -c" ++ elif test -f "${as_dir}install.sh"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 ++ ac_install_sh="${as_dir}install.sh -c" ++ elif test -f "${as_dir}shtool"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 ++ ac_install_sh="${as_dir}shtool install -c" ++ else ++ ac_aux_dir_found=no ++ if $ac_first_candidate; then ++ ac_missing_aux_files="${ac_missing_aux_files} install-sh" ++ else ++ break ++ fi ++ fi ++ else ++ if test -f "${as_dir}${ac_aux}"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 ++ else ++ ac_aux_dir_found=no ++ if $ac_first_candidate; then ++ ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" ++ else ++ break ++ fi ++ fi ++ fi ++ done ++ if test "$ac_aux_dir_found" = yes; then ++ ac_aux_dir="$as_dir" ++ break ++ fi ++ ac_first_candidate=false ++ ++ as_found=false ++done ++IFS=$as_save_IFS ++if $as_found ++then : ++ ++else $as_nop ++ as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. ++if test -f "${ac_aux_dir}config.guess"; then ++ ac_@&t@config_guess="$SHELL ${ac_aux_dir}config.guess" ++fi ++if test -f "${ac_aux_dir}config.sub"; then ++ ac_@&t@config_sub="$SHELL ${ac_aux_dir}config.sub" ++fi ++if test -f "$ac_aux_dir/configure"; then ++ ac_@&t@configure="$SHELL ${ac_aux_dir}configure" ++fi ++ + # Check that the precious variables saved in the cache have kept the same + # value. + ac_cache_corrupted=false +@@ -2381,12 +2728,12 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 ++printf "%s\n" "$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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 ++printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) +@@ -2395,24 +2742,24 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 ++printf "%s\n" "$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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 ++printf "%s\n" "$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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 ++printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 ++printf "%s\n" "$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=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in +@@ -2422,11 +2769,12 @@ + 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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 ++printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} ++ as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file' ++ and start over" "$LINENO" 5 + fi + ## -------------------- ## + ## Main body of script. ## +@@ -2440,39 +2788,12 @@ + + + +-#AC_CONFIG_DIR([./crlibm_private.c]) +-am__api_version='1.15' + +-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 ++am__api_version='1.16' + +-# 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. + + +-# Find a good install program. We prefer a C program (faster), ++ # 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 +@@ -2486,20 +2807,25 @@ + # 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 ++printf %s "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 ++if test ${ac_cv_path_install+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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]/* | \ ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ # Account for fact that we put trailing slashes in our PATH walk. ++case $as_dir in @%:@(( ++ ./ | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; +@@ -2509,13 +2835,13 @@ + # 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 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 ++ 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 ++ 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 +@@ -2523,12 +2849,12 @@ + 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" && ++ 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" ++ ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c" + break 3 + fi + fi +@@ -2544,7 +2870,7 @@ + rm -rf conftest.one conftest.two conftest.dir + + fi +- if test "${ac_cv_path_install+set}" = set; then ++ if test ${ac_cv_path_install+y}; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a +@@ -2554,8 +2880,8 @@ + INSTALL=$ac_install_sh + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +-$as_echo "$INSTALL" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 ++printf "%s\n" "$INSTALL" >&6; } + + # Use test -z because SunOS4 sh mishandles braces in ${var-val}. + # It thinks the first close brace ends the variable substitution. +@@ -2565,8 +2891,8 @@ + + test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +-$as_echo_n "checking whether build environment is sane... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 ++printf %s "checking whether build environment is sane... " >&6; } + # Reject unsafe characters in $srcdir or the absolute working directory + # name. Accept space and tab only in the latter. + am_lf=' +@@ -2620,8 +2946,8 @@ + as_fn_error $? "newly created file is older than distributed files! + Check your system clock" "$LINENO" 5 + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + # If we didn't sleep, we still need to ensure time stamps of config.status and + # generated files are strictly newer. + am_sleep_pid= +@@ -2640,26 +2966,23 @@ + # Double any \ or $. + # By default was `s,x,x', remove it if useless. + ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` ++program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"` + ++ + # Expand $ac_aux_dir to an absolute path. + am_aux_dir=`cd "$ac_aux_dir" && pwd` + +-if test x"${MISSING+set}" != xset; then +- case $am_aux_dir in +- *\ * | *\ *) +- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; +- *) +- MISSING="\${SHELL} $am_aux_dir/missing" ;; +- esac ++ ++ if test x"${MISSING+set}" != xset; then ++ MISSING="\${SHELL} '$am_aux_dir/missing'" + fi + # Use eval to expand $SHELL + if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " + else + am_missing_run= +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +-$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 ++printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;} + fi + + if test x"${install_sh+set}" != xset; then +@@ -2679,11 +3002,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. + set dummy ${ac_tool_prefix}strip; 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_STRIP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. + else +@@ -2691,11 +3015,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -2706,11 +3034,11 @@ + fi + STRIP=$ac_cv_prog_STRIP + if test -n "$STRIP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +-$as_echo "$STRIP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 ++printf "%s\n" "$STRIP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -2719,11 +3047,12 @@ + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. + set dummy strip; 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_STRIP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. + else +@@ -2731,11 +3060,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -2746,11 +3079,11 @@ + fi + ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP + if test -n "$ac_ct_STRIP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +-$as_echo "$ac_ct_STRIP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 ++printf "%s\n" "$ac_ct_STRIP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_STRIP" = x; then +@@ -2758,8 +3091,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + STRIP=$ac_ct_STRIP +@@ -2771,25 +3104,31 @@ + fi + INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +-{ $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; } ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5 ++printf %s "checking for a race-free mkdir -p... " >&6; } + if test -z "$MKDIR_P"; then +- if ${ac_cv_path_mkdir+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${ac_cv_path_mkdir+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + 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) '* | \ ++ 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 ('*'coreutils) '* | \ ++ 'BusyBox '* | \ + 'mkdir (fileutils) '4.1*) +- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext ++ ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext + break 3;; + esac + done +@@ -2800,7 +3139,7 @@ + fi + + test -d ./--version && rmdir ./--version +- if test "${ac_cv_path_mkdir+set}" = set; then ++ if test ${ac_cv_path_mkdir+y}; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a +@@ -2810,18 +3149,19 @@ + MKDIR_P="$ac_install_sh -d" + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +-$as_echo "$MKDIR_P" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 ++printf "%s\n" "$MKDIR_P" >&6; } + + for ac_prog in gawk mawk nawk awk + 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_AWK+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_AWK+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. + else +@@ -2829,11 +3169,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -2844,24 +3188,25 @@ + fi + AWK=$ac_cv_prog_AWK + if test -n "$AWK"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +-$as_echo "$AWK" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 ++printf "%s\n" "$AWK" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + + test -n "$AWK" && break + done + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 ++printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } + set x ${MAKE-make} +-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` ++if eval test \${ac_cv_prog_make_${ac_make}_set+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat >conftest.make <<\_ACEOF + SHELL = /bin/sh + all: +@@ -2877,12 +3222,12 @@ + rm -f conftest.make + fi + if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + SET_MAKE= + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" + fi + +@@ -2896,7 +3241,8 @@ + rmdir .tst 2>/dev/null + + @%:@ Check whether --enable-silent-rules was given. +-if test "${enable_silent_rules+set}" = set; then : ++if test ${enable_silent_rules+y} ++then : + enableval=$enable_silent_rules; + fi + +@@ -2906,12 +3252,13 @@ + *) AM_DEFAULT_VERBOSITY=1;; + esac + am_make=${MAKE-make} +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +-$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +-if ${am_cv_make_support_nested_variables+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if $as_echo 'TRUE=$(BAR$(V)) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 ++printf %s "checking whether $am_make supports nested variables... " >&6; } ++if test ${am_cv_make_support_nested_variables+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if printf "%s\n" 'TRUE=$(BAR$(V)) + BAR0=false + BAR1=true + V=1 +@@ -2923,8 +3270,8 @@ + am_cv_make_support_nested_variables=no + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +-$as_echo "$am_cv_make_support_nested_variables" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 ++printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } + if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +@@ -2959,14 +3306,10 @@ + VERSION='1.0beta4' + + +-cat >>confdefs.h <<_ACEOF +-@%:@define PACKAGE "$PACKAGE" +-_ACEOF ++printf "%s\n" "@%:@define PACKAGE \"$PACKAGE\"" >>confdefs.h + + +-cat >>confdefs.h <<_ACEOF +-@%:@define VERSION "$VERSION" +-_ACEOF ++printf "%s\n" "@%:@define VERSION \"$VERSION\"" >>confdefs.h + + # Some tools Automake needs. + +@@ -2986,8 +3329,8 @@ + + # For better backward compatibility. To be removed once Automake 1.9.x + # dies out for good. For more background, see: +-# +-# ++# ++# + mkdir_p='$(MKDIR_P)' + + # We need awk for the "check" target (and possibly the TAP driver). The +@@ -3006,7 +3349,21 @@ + + + ++# Variables for tags utilities; see am/tags.am ++if test -z "$CTAGS"; then ++ CTAGS=ctags ++fi + ++if test -z "$ETAGS"; then ++ ETAGS=etags ++fi ++ ++if test -z "$CSCOPE"; then ++ CSCOPE=cscope ++fi ++ ++ ++ + # POSIX will say in a future version that running "rm -f" with no argument + # is OK; and we want to be able to make that assumption in our Makefile + # recipes. So use an aggressive probe to check that the usage we want is +@@ -3038,7 +3395,7 @@ + Aborting the configuration process, to ensure you take notice of the issue. + + You can download and install GNU coreutils to get an 'rm' implementation +-that behaves properly: . ++that behaves properly: . + + If you want to complete the configuration process using your problematic + 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +@@ -3054,7 +3411,8 @@ + + + @%:@ Check whether --enable-shared was given. +-if test "${enable_shared+set}" = set; then : ++if test ${enable_shared+y} ++then : + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; +@@ -3072,7 +3430,7 @@ + IFS=$lt_save_ifs + ;; + esac +-else ++else $as_nop + enable_shared=yes + fi + +@@ -3085,7 +3443,8 @@ + + + @%:@ Check whether --enable-static was given. +-if test "${enable_static+set}" = set; then : ++if test ${enable_static+y} ++then : + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; +@@ -3103,7 +3462,7 @@ + IFS=$lt_save_ifs + ;; + esac +-else ++else $as_nop + enable_static=yes + fi + +@@ -3117,8 +3476,8 @@ + + case `pwd` in + *\ * | *\ *) +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 ++printf "%s\n" "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; + esac + + +@@ -3138,28 +3497,32 @@ + + + ++ + ltmain=$ac_aux_dir/ltmain.sh + +-# 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 ++ ++ # 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 ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 ++printf %s "checking build system type... " >&6; } ++if test ${ac_cv_build+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_build_alias=$build_alias + test "x$ac_build_alias" = x && +- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` ++ 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 ++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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 ++printf "%s\n" "$ac_cv_build" >&6; } + case $ac_cv_build in + *-*-*) ;; + *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +@@ -3178,21 +3541,22 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 ++printf %s "checking host system type... " >&6; } ++if test ${ac_cv_host+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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 ++ 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 ++printf "%s\n" "$ac_cv_host" >&6; } + case $ac_cv_host in + *-*-*) ;; + *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +@@ -3232,8 +3596,8 @@ + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +-$as_echo_n "checking how to print strings... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 ++printf %s "checking how to print strings... " >&6; } + # Test print first, because it will be a builtin if present. + if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then +@@ -3259,12 +3623,12 @@ + } + + case $ECHO in +- printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +-$as_echo "printf" >&6; } ;; +- print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +-$as_echo "print -r" >&6; } ;; +- *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +-$as_echo "cat" >&6; } ;; ++ printf*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: printf" >&5 ++printf "%s\n" "printf" >&6; } ;; ++ print*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 ++printf "%s\n" "print -r" >&6; } ;; ++ *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cat" >&5 ++printf "%s\n" "cat" >&6; } ;; + esac + + +@@ -3280,52 +3644,62 @@ + + + ++ ++ ++ ++ ++ ++ ++ ++ ++ + DEPDIR="${am__leading_dot}deps" + + ac_config_commands="$ac_config_commands depfiles" + +- +-am_make=${MAKE-make} +-cat > confinc << 'END' ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 ++printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; } ++cat > confinc.mk << 'END' + am__doit: +- @echo this is the am__doit target ++ @echo this is the am__doit target >confinc.out + .PHONY: am__doit + END +-# If we don't find an include directive, just comment out the code. +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 +-$as_echo_n "checking for style of include used by $am_make... " >&6; } + am__include="#" + am__quote= +-_am_result=none +-# First try GNU make style include. +-echo "include confinc" > confmf +-# Ignore all kinds of additional output from 'make'. +-case `$am_make -s -f confmf 2> /dev/null` in #( +-*the\ am__doit\ target*) +- am__include=include +- am__quote= +- _am_result=GNU +- ;; +-esac +-# Now try BSD make style include. +-if test "$am__include" = "#"; then +- echo '.include "confinc"' > confmf +- case `$am_make -s -f confmf 2> /dev/null` in #( +- *the\ am__doit\ target*) +- am__include=.include +- am__quote="\"" +- _am_result=BSD ++# BSD make does it like this. ++echo '.include "confinc.mk" # ignored' > confmf.BSD ++# Other make implementations (GNU, Solaris 10, AIX) do it like this. ++echo 'include confinc.mk # ignored' > confmf.GNU ++_am_result=no ++for s in GNU BSD; do ++ { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 ++ (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++ case $?:`cat confinc.out 2>/dev/null` in @%:@( ++ '0:this is the am__doit target') : ++ case $s in @%:@( ++ BSD) : ++ am__include='.include' am__quote='"' ;; @%:@( ++ *) : ++ am__include='include' am__quote='' ;; ++esac ;; @%:@( ++ *) : + ;; +- esac +-fi ++esac ++ if test "$am__include" != "#"; then ++ _am_result="yes ($s style)" ++ break ++ fi ++done ++rm -f confinc.* confmf.* ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 ++printf "%s\n" "${_am_result}" >&6; } + +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 +-$as_echo "$_am_result" >&6; } +-rm -f confinc confmf +- + @%:@ Check whether --enable-dependency-tracking was given. +-if test "${enable_dependency_tracking+set}" = set; then : ++if test ${enable_dependency_tracking+y} ++then : + enableval=$enable_dependency_tracking; + fi + +@@ -3351,11 +3725,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +@@ -3363,11 +3738,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3378,11 +3757,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -3391,11 +3770,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + else +@@ -3403,11 +3783,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3418,11 +3802,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 ++printf "%s\n" "$ac_ct_CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_CC" = x; then +@@ -3430,8 +3814,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + CC=$ac_ct_CC +@@ -3444,11 +3828,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +@@ -3456,11 +3841,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3471,11 +3860,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -3484,11 +3873,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +@@ -3497,15 +3887,19 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + 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 ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3521,18 +3915,18 @@ + # 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+' '}$@" ++ 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -3543,11 +3937,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +@@ -3555,11 +3950,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3570,11 +3969,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -3587,11 +3986,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + else +@@ -3599,11 +3999,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3614,11 +4018,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 ++printf "%s\n" "$ac_ct_CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -3630,8 +4034,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + CC=$ac_ct_CC +@@ -3639,25 +4043,129 @@ + fi + + fi ++if test -z "$CC"; then ++ 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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}clang" ++ printf "%s\n" "$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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++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;} ++ ++fi ++if test -z "$ac_cv_prog_CC"; then ++ ac_ct_CC=$CC ++ # Extract the first word of "clang", so it can be a program name with args. ++set dummy clang; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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="clang" ++ printf "%s\n" "$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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 ++printf "%s\n" "$ac_ct_CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ if test "x$ac_ct_CC" = x; then ++ CC="" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$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 ++ ++fi ++ ++ ++test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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 ++printf "%s\n" "$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 ++for ac_option in --version -v -V -qversion -version; 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 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -3667,7 +4175,7 @@ + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + done + +@@ -3675,7 +4183,7 @@ + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; +@@ -3687,9 +4195,9 @@ + # 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[^ ]*//'` ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 ++printf %s "checking whether the C compiler works... " >&6; } ++ac_link_default=`printf "%s\n" "$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.*" +@@ -3710,11 +4218,12 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$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 : ++ printf "%s\n" "$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, +@@ -3731,7 +4240,7 @@ + # certainly right. + break;; + *.* ) +- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; ++ if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi +@@ -3747,44 +4256,46 @@ + done + test "$ac_cv_exeext" = no && ac_cv_exeext= + +-else ++else $as_nop + 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 ++if test -z "$ac_file" ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++printf "%s\n" "$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;} ++{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 ++printf %s "checking for C compiler default output file name... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 ++printf "%s\n" "$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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 ++printf %s "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 ++printf "%s\n" "$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 : ++ printf "%s\n" "$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 +@@ -3798,15 +4309,15 @@ + * ) 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;} ++else $as_nop ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 ++printf "%s\n" "$ac_cv_exeext" >&6; } + + rm -f conftest.$ac_ext + EXEEXT=$ac_cv_exeext +@@ -3815,7 +4326,7 @@ + /* end confdefs.h. */ + @%:@include + int +-main () ++main (void) + { + FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; +@@ -3827,8 +4338,8 @@ + 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 ++printf %s "checking whether we are cross compiling... " >&6; } + if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" + case "(($ac_try" in +@@ -3836,10 +4347,10 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in +@@ -3847,39 +4358,40 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$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. ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} ++as_fn_error 77 "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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 ++printf "%s\n" "$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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 ++printf %s "checking for suffix of object files... " >&6; } ++if test ${ac_cv_objext+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; +@@ -3893,11 +4405,12 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$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 : ++ printf "%s\n" "$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 +@@ -3906,31 +4419,32 @@ + break;; + esac + done +-else +- $as_echo "$as_me: failed program was:" >&5 ++else $as_nop ++ printf "%s\n" "$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;} ++{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 ++printf "%s\n" "$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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 ++printf %s "checking whether the compiler supports GNU C... " >&6; } ++if test ${ac_cv_c_compiler_gnu+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + #ifndef __GNUC__ + choke me +@@ -3940,29 +4454,33 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_compiler_gnu=yes +-else ++else $as_nop + ac_compiler_gnu=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 ++printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ + if test $ac_compiler_gnu = yes; then + GCC=yes + else + GCC= + fi +-ac_test_CFLAGS=${CFLAGS+set} ++ac_test_CFLAGS=${CFLAGS+y} + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 ++printf %s "checking whether $CC accepts -g... " >&6; } ++if test ${ac_cv_prog_cc_g+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no +@@ -3971,57 +4489,60 @@ + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_prog_cc_g=yes +-else ++else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-else ++else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 ++printf "%s\n" "$ac_cv_prog_cc_g" >&6; } ++if test $ac_test_CFLAGS; then + CFLAGS=$ac_save_CFLAGS + elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then +@@ -4036,95 +4557,145 @@ + 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_prog_cc_stdc=no ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 ++printf %s "checking for $CC option to enable C11 features... " >&6; } ++if test ${ac_cv_prog_cc_c11+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c11=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; +-} ++$ac_c_conftest_c11_program ++_ACEOF ++for ac_arg in '' -std=gnu11 ++do ++ CC="$ac_save_CC $ac_arg" ++ if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_c11=$ac_arg ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cc_c11" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CC=$ac_save_CC ++fi + +-/* 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]; ++if test "x$ac_cv_prog_cc_c11" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c11" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } ++ CC="$CC $ac_cv_prog_cc_c11" ++fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 ++ ac_prog_cc_stdc=c11 ++fi ++fi ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 ++printf %s "checking for $CC option to enable C99 features... " >&6; } ++if test ${ac_cv_prog_cc_c99+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c99=no ++ac_save_CC=$CC ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_c_conftest_c99_program ++_ACEOF ++for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= ++do ++ CC="$ac_save_CC $ac_arg" ++ if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_c99=$ac_arg ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cc_c99" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CC=$ac_save_CC ++fi + +-/* 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; +-} ++if test "x$ac_cv_prog_cc_c99" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c99" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } ++ CC="$CC $ac_cv_prog_cc_c99" ++fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 ++ ac_prog_cc_stdc=c99 ++fi ++fi ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 ++printf %s "checking for $CC option to enable C89 features... " >&6; } ++if test ${ac_cv_prog_cc_c89+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c89=no ++ac_save_CC=$CC ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_c_conftest_c89_program + _ACEOF +-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ +- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" ++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 : ++ if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_prog_cc_c89=$ac_arg + fi +-rm -f core conftest.err conftest.$ac_objext ++rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break + done + rm -f conftest.$ac_ext + CC=$ac_save_CC ++fi + ++if test "x$ac_cv_prog_cc_c89" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c89" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } ++ CC="$CC $ac_cv_prog_cc_c89" + 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 : +- ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 ++ ac_prog_cc_stdc=c89 + fi ++fi + + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' +@@ -4132,21 +4703,23 @@ + 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_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 whether $CC understands -c and -o together" >&5 +-$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +-if ${am_cv_prog_cc_c_o+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 ++printf %s "checking whether $CC understands -c and -o together... " >&6; } ++if test ${am_cv_prog_cc_c_o+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; +@@ -4174,8 +4747,8 @@ + rm -f core conftest* + unset am_i + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +-$as_echo "$am_cv_prog_cc_c_o" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 ++printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } + if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. +@@ -4193,11 +4766,12 @@ + + depcc="$CC" am_compiler_list= + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +-$as_echo_n "checking dependency style of $depcc... " >&6; } +-if ${am_cv_CC_dependencies_compiler_type+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 ++printf %s "checking dependency style of $depcc... " >&6; } ++if test ${am_cv_CC_dependencies_compiler_type+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For +@@ -4304,8 +4878,8 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 ++printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } + CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if +@@ -4319,11 +4893,12 @@ + fi + + +-{ $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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 ++printf %s "checking for a sed that does not truncate output... " >&6; } ++if test ${ac_cv_path_SED+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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" +@@ -4337,10 +4912,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_prog in sed gsed; do ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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" ++ 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 +@@ -4349,13 +4929,13 @@ + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; + *) + ac_count=0 +- $as_echo_n 0123456789 >"conftest.in" ++ printf %s 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" ++ printf "%s\n" '' >> "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 +@@ -4383,8 +4963,8 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +-$as_echo "$ac_cv_path_SED" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 ++printf "%s\n" "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +@@ -4401,11 +4981,12 @@ + + + +-{ $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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 ++printf %s "checking for grep that handles long lines and -e... " >&6; } ++if test ${ac_cv_path_GREP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST +@@ -4413,10 +4994,15 @@ + 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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" ++ 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 +@@ -4425,13 +5011,13 @@ + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; + *) + ac_count=0 +- $as_echo_n 0123456789 >"conftest.in" ++ printf %s 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" ++ printf "%s\n" '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 +@@ -4459,16 +5045,17 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +-$as_echo "$ac_cv_path_GREP" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 ++printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +-{ $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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 ++printf %s "checking for egrep... " >&6; } ++if test ${ac_cv_path_EGREP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else +@@ -4479,10 +5066,15 @@ + 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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" ++ 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 +@@ -4491,13 +5083,13 @@ + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; + *) + ac_count=0 +- $as_echo_n 0123456789 >"conftest.in" ++ printf %s 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" ++ printf "%s\n" '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 +@@ -4526,16 +5118,17 @@ + + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +-$as_echo "$ac_cv_path_EGREP" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 ++printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +-$as_echo_n "checking for fgrep... " >&6; } +-if ${ac_cv_path_FGREP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 ++printf %s "checking for fgrep... " >&6; } ++if test ${ac_cv_path_FGREP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else +@@ -4546,10 +5139,15 @@ + 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 fgrep; do ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_prog in fgrep ++ do + for ac_exec_ext in '' $ac_executable_extensions; do +- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" ++ ac_path_FGREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_FGREP" || continue + # Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +@@ -4558,13 +5156,13 @@ + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; + *) + ac_count=0 +- $as_echo_n 0123456789 >"conftest.in" ++ printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" +- $as_echo 'FGREP' >> "conftest.nl" ++ printf "%s\n" 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "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 +@@ -4593,8 +5191,8 @@ + + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +-$as_echo "$ac_cv_path_FGREP" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 ++printf "%s\n" "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +@@ -4619,17 +5217,18 @@ + + + @%:@ Check whether --with-gnu-ld was given. +-if test "${with_gnu_ld+set}" = set; then : ++if test ${with_gnu_ld+y} ++then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +-else ++else $as_nop + with_gnu_ld=no + fi + + ac_prog=ld + if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +-$as_echo_n "checking for ld used by $CC... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 ++printf %s "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw +@@ -4658,15 +5257,16 @@ + ;; + esac + elif test yes = "$with_gnu_ld"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +-$as_echo_n "checking for GNU ld... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 ++printf %s "checking for GNU ld... " >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +-$as_echo_n "checking for non-GNU ld... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 ++printf %s "checking for non-GNU ld... " >&6; } + fi +-if ${lt_cv_path_LD+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++if test ${lt_cv_path_LD+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do +@@ -4695,18 +5295,19 @@ + + LD=$lt_cv_path_LD + if test -n "$LD"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +-$as_echo "$LD" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 ++printf "%s\n" "$LD" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +-if ${lt_cv_prog_gnu_ld+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 ++printf %s "checking if the linker ($LD) is GNU ld... " >&6; } ++if test ${lt_cv_prog_gnu_ld+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + # I'd rather use --version here, but apparently some GNU lds only accept -v. + case `$LD -v 2>&1 &5 +-$as_echo "$lt_cv_prog_gnu_ld" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 ++printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } + with_gnu_ld=$lt_cv_prog_gnu_ld + + +@@ -4729,11 +5330,12 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +-if ${lt_cv_path_NM+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 ++printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; } ++if test ${lt_cv_path_NM+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM +@@ -4783,8 +5385,8 @@ + : ${lt_cv_path_NM=no} + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +-$as_echo "$lt_cv_path_NM" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 ++printf "%s\n" "$lt_cv_path_NM" >&6; } + if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM + else +@@ -4797,11 +5399,12 @@ + 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_DUMPBIN+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_DUMPBIN+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. + else +@@ -4809,11 +5412,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -4824,11 +5431,11 @@ + fi + DUMPBIN=$ac_cv_prog_DUMPBIN + if test -n "$DUMPBIN"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +-$as_echo "$DUMPBIN" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 ++printf "%s\n" "$DUMPBIN" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -4841,11 +5448,12 @@ + 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_DUMPBIN+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_DUMPBIN+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. + else +@@ -4853,11 +5461,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -4868,11 +5480,11 @@ + fi + ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN + if test -n "$ac_ct_DUMPBIN"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +-$as_echo "$ac_ct_DUMPBIN" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 ++printf "%s\n" "$ac_ct_DUMPBIN" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -4884,8 +5496,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + DUMPBIN=$ac_ct_DUMPBIN +@@ -4913,11 +5525,12 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +-$as_echo_n "checking the name lister ($NM) interface... " >&6; } +-if ${lt_cv_nm_interface+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 ++printf %s "checking the name lister ($NM) interface... " >&6; } ++if test ${lt_cv_nm_interface+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) +@@ -4933,26 +5546,27 @@ + fi + rm -f conftest* + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +-$as_echo "$lt_cv_nm_interface" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 ++printf "%s\n" "$lt_cv_nm_interface" >&6; } + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +-$as_echo_n "checking whether ln -s works... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 ++printf %s "checking whether ln -s works... " >&6; } + LN_S=$as_ln_s + if test "$LN_S" = "ln -s"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +-$as_echo "no, using $LN_S" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 ++printf "%s\n" "no, using $LN_S" >&6; } + fi + + # find the maximum length of command line arguments +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +-$as_echo_n "checking the maximum length of command line arguments... " >&6; } +-if ${lt_cv_sys_max_cmd_len+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 ++printf %s "checking the maximum length of command line arguments... " >&6; } ++if test ${lt_cv_sys_max_cmd_len+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + i=0 + teststring=ABCD + +@@ -5079,11 +5693,11 @@ + fi + + if test -n "$lt_cv_sys_max_cmd_len"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +-$as_echo "$lt_cv_sys_max_cmd_len" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 ++printf "%s\n" "$lt_cv_sys_max_cmd_len" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +-$as_echo "none" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 ++printf "%s\n" "none" >&6; } + fi + max_cmd_len=$lt_cv_sys_max_cmd_len + +@@ -5127,11 +5741,12 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +-$as_echo_n "checking how to convert $build file names to $host format... " >&6; } +-if ${lt_cv_to_host_file_cmd+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 ++printf %s "checking how to convert $build file names to $host format... " >&6; } ++if test ${lt_cv_to_host_file_cmd+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + case $host in + *-*-mingw* ) + case $build in +@@ -5167,18 +5782,19 @@ + fi + + to_host_file_cmd=$lt_cv_to_host_file_cmd +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +-$as_echo "$lt_cv_to_host_file_cmd" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 ++printf "%s\n" "$lt_cv_to_host_file_cmd" >&6; } + + + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } +-if ${lt_cv_to_tool_file_cmd+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 ++printf %s "checking how to convert $build file names to toolchain format... " >&6; } ++if test ${lt_cv_to_tool_file_cmd+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + #assume ordinary cross tools, or native build. + lt_cv_to_tool_file_cmd=func_convert_file_noop + case $host in +@@ -5194,22 +5810,23 @@ + fi + + to_tool_file_cmd=$lt_cv_to_tool_file_cmd +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +-$as_echo "$lt_cv_to_tool_file_cmd" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 ++printf "%s\n" "$lt_cv_to_tool_file_cmd" >&6; } + + + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +-$as_echo_n "checking for $LD option to reload object files... " >&6; } +-if ${lt_cv_ld_reload_flag+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 ++printf %s "checking for $LD option to reload object files... " >&6; } ++if test ${lt_cv_ld_reload_flag+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_ld_reload_flag='-r' + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +-$as_echo "$lt_cv_ld_reload_flag" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 ++printf "%s\n" "$lt_cv_ld_reload_flag" >&6; } + reload_flag=$lt_cv_ld_reload_flag + case $reload_flag in + "" | " "*) ;; +@@ -5242,11 +5859,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. + set dummy ${ac_tool_prefix}objdump; 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_OBJDUMP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_OBJDUMP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. + else +@@ -5254,11 +5872,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5269,11 +5891,11 @@ + fi + OBJDUMP=$ac_cv_prog_OBJDUMP + if test -n "$OBJDUMP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +-$as_echo "$OBJDUMP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 ++printf "%s\n" "$OBJDUMP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -5282,11 +5904,12 @@ + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. + set dummy objdump; 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_OBJDUMP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_OBJDUMP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. + else +@@ -5294,11 +5917,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5309,11 +5936,11 @@ + fi + ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP + if test -n "$ac_ct_OBJDUMP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +-$as_echo "$ac_ct_OBJDUMP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 ++printf "%s\n" "$ac_ct_OBJDUMP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_OBJDUMP" = x; then +@@ -5321,8 +5948,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + OBJDUMP=$ac_ct_OBJDUMP +@@ -5341,11 +5968,12 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +-$as_echo_n "checking how to recognize dependent libraries... " >&6; } +-if ${lt_cv_deplibs_check_method+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 ++printf %s "checking how to recognize dependent libraries... " >&6; } ++if test ${lt_cv_deplibs_check_method+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_file_magic_cmd='$MAGIC_CMD' + lt_cv_file_magic_test_file= + lt_cv_deplibs_check_method='unknown' +@@ -5541,8 +6169,8 @@ + esac + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +-$as_echo "$lt_cv_deplibs_check_method" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 ++printf "%s\n" "$lt_cv_deplibs_check_method" >&6; } + + file_magic_glob= + want_nocaseglob=no +@@ -5586,11 +6214,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. + set dummy ${ac_tool_prefix}dlltool; 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_DLLTOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_DLLTOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. + else +@@ -5598,11 +6227,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5613,11 +6246,11 @@ + fi + DLLTOOL=$ac_cv_prog_DLLTOOL + if test -n "$DLLTOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +-$as_echo "$DLLTOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 ++printf "%s\n" "$DLLTOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -5626,11 +6259,12 @@ + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. + set dummy dlltool; 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_DLLTOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_DLLTOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. + else +@@ -5638,11 +6272,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5653,11 +6291,11 @@ + fi + ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL + if test -n "$ac_ct_DLLTOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +-$as_echo "$ac_ct_DLLTOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 ++printf "%s\n" "$ac_ct_DLLTOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_DLLTOOL" = x; then +@@ -5665,8 +6303,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + DLLTOOL=$ac_ct_DLLTOOL +@@ -5686,11 +6324,12 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +-$as_echo_n "checking how to associate runtime and link libraries... " >&6; } +-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 ++printf %s "checking how to associate runtime and link libraries... " >&6; } ++if test ${lt_cv_sharedlib_from_linklib_cmd+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_sharedlib_from_linklib_cmd='unknown' + + case $host_os in +@@ -5713,8 +6352,8 @@ + esac + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 ++printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; } + sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd + test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + +@@ -5730,11 +6369,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_AR+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. + else +@@ -5742,11 +6382,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5757,11 +6401,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 ++printf "%s\n" "$AR" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -5774,11 +6418,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_AR+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. + else +@@ -5786,11 +6431,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5801,11 +6450,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 ++printf "%s\n" "$ac_ct_AR" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -5817,8 +6466,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + AR=$ac_ct_AR +@@ -5838,30 +6487,32 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +-$as_echo_n "checking for archiver @FILE support... " >&6; } +-if ${lt_cv_ar_at_file+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 ++printf %s "checking for archiver @FILE support... " >&6; } ++if test ${lt_cv_ar_at_file+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_ar_at_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -eq "$ac_status"; then + # Ensure the archiver fails upon bogus file names. +@@ -5869,7 +6520,7 @@ + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -ne "$ac_status"; then + lt_cv_ar_at_file=@ +@@ -5878,11 +6529,11 @@ + rm -f conftest.* libconftest.a + + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +-$as_echo "$lt_cv_ar_at_file" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 ++printf "%s\n" "$lt_cv_ar_at_file" >&6; } + + if test no = "$lt_cv_ar_at_file"; then + archiver_list_spec= +@@ -5899,11 +6550,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. + set dummy ${ac_tool_prefix}strip; 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_STRIP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. + else +@@ -5911,11 +6563,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5926,11 +6582,11 @@ + fi + STRIP=$ac_cv_prog_STRIP + if test -n "$STRIP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +-$as_echo "$STRIP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 ++printf "%s\n" "$STRIP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -5939,11 +6595,12 @@ + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. + set dummy strip; 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_STRIP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. + else +@@ -5951,11 +6608,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5966,11 +6627,11 @@ + fi + ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP + if test -n "$ac_ct_STRIP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +-$as_echo "$ac_ct_STRIP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 ++printf "%s\n" "$ac_ct_STRIP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_STRIP" = x; then +@@ -5978,8 +6639,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + STRIP=$ac_ct_STRIP +@@ -5998,11 +6659,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. + set dummy ${ac_tool_prefix}ranlib; 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_RANLIB+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_RANLIB+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. + else +@@ -6010,11 +6672,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -6025,11 +6691,11 @@ + fi + RANLIB=$ac_cv_prog_RANLIB + if test -n "$RANLIB"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +-$as_echo "$RANLIB" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 ++printf "%s\n" "$RANLIB" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -6038,11 +6704,12 @@ + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. + set dummy ranlib; 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_RANLIB+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_RANLIB+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. + else +@@ -6050,11 +6717,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -6065,11 +6736,11 @@ + fi + ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB + if test -n "$ac_ct_RANLIB"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +-$as_echo "$ac_ct_RANLIB" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 ++printf "%s\n" "$ac_ct_RANLIB" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_RANLIB" = x; then +@@ -6077,8 +6748,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + RANLIB=$ac_ct_RANLIB +@@ -6167,11 +6838,12 @@ + + + # Check for command to grab the raw symbol name followed by C symbol from nm. +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } +-if ${lt_cv_sys_global_symbol_pipe+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 ++printf %s "checking command to parse $NM output from $compiler object... " >&6; } ++if test ${lt_cv_sys_global_symbol_pipe+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + + # These are sane defaults that work on at least a few old systems. + # [They come from Ultrix. What could be older than Ultrix?!! ;)] +@@ -6323,14 +6995,14 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 + (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then +@@ -6399,7 +7071,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest$ac_exeext; then + pipe_works=yes + fi +@@ -6434,11 +7106,11 @@ + lt_cv_sys_global_symbol_to_cdecl= + fi + if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +-$as_echo "failed" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5 ++printf "%s\n" "failed" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +-$as_echo "ok" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 ++printf "%s\n" "ok" >&6; } + fi + + # Response file support. +@@ -6484,13 +7156,14 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +-$as_echo_n "checking for sysroot... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 ++printf %s "checking for sysroot... " >&6; } + + @%:@ Check whether --with-sysroot was given. +-if test "${with_sysroot+set}" = set; then : ++if test ${with_sysroot+y} ++then : + withval=$with_sysroot; +-else ++else $as_nop + with_sysroot=no + fi + +@@ -6508,24 +7181,25 @@ + no|'') + ;; #( + *) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 +-$as_echo "$with_sysroot" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 ++printf "%s\n" "$with_sysroot" >&6; } + as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 + ;; + esac + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +-$as_echo "${lt_sysroot:-no}" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 ++printf "%s\n" "${lt_sysroot:-no}" >&6; } + + + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 +-$as_echo_n "checking for a working dd... " >&6; } +-if ${ac_cv_path_lt_DD+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 ++printf %s "checking for a working dd... " >&6; } ++if test ${ac_cv_path_lt_DD+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + printf 0123456789abcdef0123456789abcdef >conftest.i + cat conftest.i conftest.i >conftest2.i + : ${lt_DD:=$DD} +@@ -6536,10 +7210,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_prog in dd; do ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_prog in dd ++ do + for ac_exec_ext in '' $ac_executable_extensions; do +- ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" ++ ac_path_lt_DD="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_lt_DD" || continue + if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ +@@ -6559,15 +7238,16 @@ + + rm -f conftest.i conftest2.i conftest.out + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +-$as_echo "$ac_cv_path_lt_DD" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 ++printf "%s\n" "$ac_cv_path_lt_DD" >&6; } + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 +-$as_echo_n "checking how to truncate binary pipes... " >&6; } +-if ${lt_cv_truncate_bin+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 ++printf %s "checking how to truncate binary pipes... " >&6; } ++if test ${lt_cv_truncate_bin+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + printf 0123456789abcdef0123456789abcdef >conftest.i + cat conftest.i conftest.i >conftest2.i + lt_cv_truncate_bin= +@@ -6578,8 +7258,8 @@ + rm -f conftest.i conftest2.i conftest.out + test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +-$as_echo "$lt_cv_truncate_bin" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 ++printf "%s\n" "$lt_cv_truncate_bin" >&6; } + + + +@@ -6602,7 +7282,8 @@ + } + + @%:@ Check whether --enable-libtool-lock was given. +-if test "${enable_libtool_lock+set}" = set; then : ++if test ${enable_libtool_lock+y} ++then : + enableval=$enable_libtool_lock; + fi + +@@ -6618,7 +7299,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) +@@ -6638,7 +7319,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + if test yes = "$lt_cv_prog_gnu_ld"; then + case `/usr/bin/file conftest.$ac_objext` in +@@ -6676,7 +7357,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + emul=elf + case `/usr/bin/file conftest.$ac_objext` in +@@ -6717,7 +7398,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *32-bit*) +@@ -6780,11 +7461,12 @@ + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -belf" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +-$as_echo_n "checking whether the C compiler needs -belf... " >&6; } +-if ${lt_cv_cc_needs_belf+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 ++printf %s "checking whether the C compiler needs -belf... " >&6; } ++if test ${lt_cv_cc_needs_belf+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' + ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +@@ -6795,19 +7477,20 @@ + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + lt_cv_cc_needs_belf=yes +-else ++else $as_nop + lt_cv_cc_needs_belf=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' +@@ -6816,8 +7499,8 @@ + ac_compiler_gnu=$ac_cv_c_compiler_gnu + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +-$as_echo "$lt_cv_cc_needs_belf" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 ++printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } + if test yes != "$lt_cv_cc_needs_belf"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS=$SAVE_CFLAGS +@@ -6830,7 +7513,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *64-bit*) +@@ -6867,11 +7550,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. + set dummy ${ac_tool_prefix}mt; 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_MANIFEST_TOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_MANIFEST_TOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$MANIFEST_TOOL"; then + ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. + else +@@ -6879,11 +7563,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -6894,11 +7582,11 @@ + fi + MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL + if test -n "$MANIFEST_TOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +-$as_echo "$MANIFEST_TOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 ++printf "%s\n" "$MANIFEST_TOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -6907,11 +7595,12 @@ + ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL + # Extract the first word of "mt", so it can be a program name with args. + set dummy mt; 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_MANIFEST_TOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_MANIFEST_TOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_MANIFEST_TOOL"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. + else +@@ -6919,11 +7608,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -6934,11 +7627,11 @@ + fi + ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL + if test -n "$ac_ct_MANIFEST_TOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 ++printf "%s\n" "$ac_ct_MANIFEST_TOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_MANIFEST_TOOL" = x; then +@@ -6946,8 +7639,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL +@@ -6957,11 +7650,12 @@ + fi + + test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +-if ${lt_cv_path_mainfest_tool+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 ++printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } ++if test ${lt_cv_path_mainfest_tool+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out +@@ -6971,8 +7665,8 @@ + fi + rm -f conftest* + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +-$as_echo "$lt_cv_path_mainfest_tool" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 ++printf "%s\n" "$lt_cv_path_mainfest_tool" >&6; } + if test yes != "$lt_cv_path_mainfest_tool"; then + MANIFEST_TOOL=: + fi +@@ -6987,11 +7681,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. + set dummy ${ac_tool_prefix}dsymutil; 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_DSYMUTIL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_DSYMUTIL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. + else +@@ -6999,11 +7694,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7014,11 +7713,11 @@ + fi + DSYMUTIL=$ac_cv_prog_DSYMUTIL + if test -n "$DSYMUTIL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +-$as_echo "$DSYMUTIL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 ++printf "%s\n" "$DSYMUTIL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -7027,11 +7726,12 @@ + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. + set dummy dsymutil; 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_DSYMUTIL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_DSYMUTIL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. + else +@@ -7039,11 +7739,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7054,11 +7758,11 @@ + fi + ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL + if test -n "$ac_ct_DSYMUTIL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +-$as_echo "$ac_ct_DSYMUTIL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 ++printf "%s\n" "$ac_ct_DSYMUTIL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_DSYMUTIL" = x; then +@@ -7066,8 +7770,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + DSYMUTIL=$ac_ct_DSYMUTIL +@@ -7079,11 +7783,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. + set dummy ${ac_tool_prefix}nmedit; 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_NMEDIT+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_NMEDIT+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. + else +@@ -7091,11 +7796,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7106,11 +7815,11 @@ + fi + NMEDIT=$ac_cv_prog_NMEDIT + if test -n "$NMEDIT"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +-$as_echo "$NMEDIT" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 ++printf "%s\n" "$NMEDIT" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -7119,11 +7828,12 @@ + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. + set dummy nmedit; 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_NMEDIT+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_NMEDIT+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. + else +@@ -7131,11 +7841,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7146,11 +7860,11 @@ + fi + ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT + if test -n "$ac_ct_NMEDIT"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +-$as_echo "$ac_ct_NMEDIT" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 ++printf "%s\n" "$ac_ct_NMEDIT" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_NMEDIT" = x; then +@@ -7158,8 +7872,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + NMEDIT=$ac_ct_NMEDIT +@@ -7171,11 +7885,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. + set dummy ${ac_tool_prefix}lipo; 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_LIPO+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_LIPO+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # Let the user override the test. + else +@@ -7183,11 +7898,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7198,11 +7917,11 @@ + fi + LIPO=$ac_cv_prog_LIPO + if test -n "$LIPO"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +-$as_echo "$LIPO" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 ++printf "%s\n" "$LIPO" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -7211,11 +7930,12 @@ + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. + set dummy lipo; 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_LIPO+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_LIPO+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. + else +@@ -7223,11 +7943,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_LIPO="lipo" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7238,11 +7962,11 @@ + fi + ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO + if test -n "$ac_ct_LIPO"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +-$as_echo "$ac_ct_LIPO" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 ++printf "%s\n" "$ac_ct_LIPO" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_LIPO" = x; then +@@ -7250,8 +7974,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + LIPO=$ac_ct_LIPO +@@ -7263,11 +7987,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. + set dummy ${ac_tool_prefix}otool; 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_OTOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_OTOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. + else +@@ -7275,11 +8000,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7290,11 +8019,11 @@ + fi + OTOOL=$ac_cv_prog_OTOOL + if test -n "$OTOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +-$as_echo "$OTOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 ++printf "%s\n" "$OTOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -7303,11 +8032,12 @@ + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. + set dummy otool; 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_OTOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_OTOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. + else +@@ -7315,11 +8045,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL="otool" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7330,11 +8064,11 @@ + fi + ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL + if test -n "$ac_ct_OTOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +-$as_echo "$ac_ct_OTOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 ++printf "%s\n" "$ac_ct_OTOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_OTOOL" = x; then +@@ -7342,8 +8076,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + OTOOL=$ac_ct_OTOOL +@@ -7355,11 +8089,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. + set dummy ${ac_tool_prefix}otool64; 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_OTOOL64+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_OTOOL64+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. + else +@@ -7367,11 +8102,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7382,11 +8121,11 @@ + fi + OTOOL64=$ac_cv_prog_OTOOL64 + if test -n "$OTOOL64"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +-$as_echo "$OTOOL64" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 ++printf "%s\n" "$OTOOL64" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -7395,11 +8134,12 @@ + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. + set dummy otool64; 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_OTOOL64+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_OTOOL64+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. + else +@@ -7407,11 +8147,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL64="otool64" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7422,11 +8166,11 @@ + fi + ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 + if test -n "$ac_ct_OTOOL64"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +-$as_echo "$ac_ct_OTOOL64" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 ++printf "%s\n" "$ac_ct_OTOOL64" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_OTOOL64" = x; then +@@ -7434,8 +8178,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + OTOOL64=$ac_ct_OTOOL64 +@@ -7470,11 +8214,12 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +-$as_echo_n "checking for -single_module linker flag... " >&6; } +-if ${lt_cv_apple_cc_single_mod+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 ++printf %s "checking for -single_module linker flag... " >&6; } ++if test ${lt_cv_apple_cc_single_mod+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_apple_cc_single_mod=no + if test -z "$LT_MULTI_MODULE"; then + # By default we will add the -single_module flag. You can override +@@ -7503,14 +8248,15 @@ + rm -f conftest.* + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +-$as_echo "$lt_cv_apple_cc_single_mod" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 ++printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; } + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } +-if ${lt_cv_ld_exported_symbols_list+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 ++printf %s "checking for -exported_symbols_list linker flag... " >&6; } ++if test ${lt_cv_ld_exported_symbols_list+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym +@@ -7519,31 +8265,33 @@ + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + lt_cv_ld_exported_symbols_list=yes +-else ++else $as_nop + lt_cv_ld_exported_symbols_list=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 ++printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; } + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +-$as_echo_n "checking for -force_load linker flag... " >&6; } +-if ${lt_cv_ld_force_load+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 ++printf %s "checking for -force_load linker flag... " >&6; } ++if test ${lt_cv_ld_force_load+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF + int forced_loaded() { return 2;} +@@ -7571,8 +8319,8 @@ + rm -rf conftest.dSYM + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +-$as_echo "$lt_cv_ld_force_load" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 ++printf "%s\n" "$lt_cv_ld_force_load" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; +@@ -7643,290 +8391,47 @@ + esac + } + +-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 ++ac_header= ac_cache= ++for ac_item in $ac_header_c_list + 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 +- ++ if test $ac_cache; then ++ ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" ++ if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then ++ printf "%s\n" "#define $ac_item 1" >> confdefs.h ++ fi ++ ac_header= ac_cache= ++ elif test $ac_header; then ++ ac_cache=$ac_item ++ else ++ ac_header=$ac_item ++ fi + 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 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 : ++if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes ++then : + +-else +- ac_cv_header_stdc=no +-fi +-rm -f conftest* ++printf "%s\n" "@%:@define STDC_HEADERS 1" >>confdefs.h + + 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 ++ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$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 ++if test "x$ac_cv_header_dlfcn_h" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_DLFCN_H 1" >>confdefs.h + +-done +- +- +-for ac_header in dlfcn.h +-do : +- ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +-" +-if test "x$ac_cv_header_dlfcn_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_DLFCN_H 1 +-_ACEOF +- + fi + +-done + + + + +- + # Set options + + +@@ -7941,7 +8446,8 @@ + + + @%:@ Check whether --with-pic was given. +-if test "${with_pic+set}" = set; then : ++if test ${with_pic+y} ++then : + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; +@@ -7958,7 +8464,7 @@ + IFS=$lt_save_ifs + ;; + esac +-else ++else $as_nop + pic_mode=default + fi + +@@ -7970,7 +8476,8 @@ + + + @%:@ Check whether --enable-fast-install was given. +-if test "${enable_fast_install+set}" = set; then : ++if test ${enable_fast_install+y} ++then : + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; +@@ -7988,7 +8495,7 @@ + IFS=$lt_save_ifs + ;; + esac +-else ++else $as_nop + enable_fast_install=yes + fi + +@@ -8002,11 +8509,12 @@ + shared_archive_member_spec= + case $host,$enable_shared in + power*-*-aix[5-9]*,yes) +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 +-$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 ++printf %s "checking which variant of shared library versioning to provide... " >&6; } + + @%:@ Check whether --with-aix-soname was given. +-if test "${with_aix_soname+set}" = set; then : ++if test ${with_aix_soname+y} ++then : + withval=$with_aix_soname; case $withval in + aix|svr4|both) + ;; +@@ -8015,18 +8523,19 @@ + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname +-else +- if ${lt_cv_with_aix_soname+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++else $as_nop ++ if test ${lt_cv_with_aix_soname+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_with_aix_soname=aix + fi + + with_aix_soname=$lt_cv_with_aix_soname + fi + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 +-$as_echo "$with_aix_soname" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 ++printf "%s\n" "$with_aix_soname" >&6; } + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', +@@ -8108,11 +8617,12 @@ + setopt NO_GLOB_SUBST + fi + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +-$as_echo_n "checking for objdir... " >&6; } +-if ${lt_cv_objdir+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 ++printf %s "checking for objdir... " >&6; } ++if test ${lt_cv_objdir+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + rm -f .libs 2>/dev/null + mkdir .libs 2>/dev/null + if test -d .libs; then +@@ -8123,17 +8633,15 @@ + fi + rmdir .libs 2>/dev/null + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +-$as_echo "$lt_cv_objdir" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 ++printf "%s\n" "$lt_cv_objdir" >&6; } + objdir=$lt_cv_objdir + + + + + +-cat >>confdefs.h <<_ACEOF +-@%:@define LT_OBJDIR "$lt_cv_objdir/" +-_ACEOF ++printf "%s\n" "@%:@define LT_OBJDIR \"$lt_cv_objdir/\"" >>confdefs.h + + + +@@ -8179,11 +8687,12 @@ + case $deplibs_check_method in + file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } +-if ${lt_cv_path_MAGIC_CMD+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 ++printf %s "checking for ${ac_tool_prefix}file... " >&6; } ++if test ${lt_cv_path_MAGIC_CMD+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + case $MAGIC_CMD in + [\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. +@@ -8232,11 +8741,11 @@ + + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if test -n "$MAGIC_CMD"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +-$as_echo "$MAGIC_CMD" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 ++printf "%s\n" "$MAGIC_CMD" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -8245,11 +8754,12 @@ + + if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +-$as_echo_n "checking for file... " >&6; } +-if ${lt_cv_path_MAGIC_CMD+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for file" >&5 ++printf %s "checking for file... " >&6; } ++if test ${lt_cv_path_MAGIC_CMD+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + case $MAGIC_CMD in + [\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. +@@ -8298,11 +8808,11 @@ + + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if test -n "$MAGIC_CMD"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +-$as_echo "$MAGIC_CMD" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 ++printf "%s\n" "$MAGIC_CMD" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -8387,11 +8897,12 @@ + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + esac + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 ++printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } ++if test ${lt_cv_prog_compiler_rtti_exceptions+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext +@@ -8422,8 +8933,8 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + + if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +@@ -8780,26 +9291,28 @@ + ;; + esac + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +-$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +-if ${lt_cv_prog_compiler_pic+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 ++printf %s "checking for $compiler option to produce PIC... " >&6; } ++if test ${lt_cv_prog_compiler_pic+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +-$as_echo "$lt_cv_prog_compiler_pic" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; } + lt_prog_compiler_pic=$lt_cv_prog_compiler_pic + + # + # Check to make sure the PIC flag actually works. + # + if test -n "$lt_prog_compiler_pic"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +-if ${lt_cv_prog_compiler_pic_works+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 ++printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } ++if test ${lt_cv_prog_compiler_pic_works+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext +@@ -8830,8 +9343,8 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; } + + if test yes = "$lt_cv_prog_compiler_pic_works"; then + case $lt_prog_compiler_pic in +@@ -8859,11 +9372,12 @@ + # Check to make sure the static flag actually works. + # + wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +-if ${lt_cv_prog_compiler_static_works+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 ++printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } ++if test ${lt_cv_prog_compiler_static_works+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_static_works=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" +@@ -8887,8 +9401,8 @@ + LDFLAGS=$save_LDFLAGS + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +-$as_echo "$lt_cv_prog_compiler_static_works" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; } + + if test yes = "$lt_cv_prog_compiler_static_works"; then + : +@@ -8902,11 +9416,12 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +-if ${lt_cv_prog_compiler_c_o+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 ++printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } ++if test ${lt_cv_prog_compiler_c_o+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest +@@ -8949,19 +9464,20 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +-$as_echo "$lt_cv_prog_compiler_c_o" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } + + + + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +-if ${lt_cv_prog_compiler_c_o+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 ++printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } ++if test ${lt_cv_prog_compiler_c_o+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest +@@ -9004,8 +9520,8 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +-$as_echo "$lt_cv_prog_compiler_c_o" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } + + + +@@ -9013,19 +9529,19 @@ + hard_links=nottested + if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +-$as_echo_n "checking if we can lock with hard links... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 ++printf %s "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +-$as_echo "$hard_links" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 ++printf "%s\n" "$hard_links" >&6; } + if test no = "$hard_links"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +-$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 ++printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi + else +@@ -9037,8 +9553,8 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 ++printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag= +@@ -9593,21 +10109,23 @@ + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath + else +- if ${lt_cv_aix_libpath_+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${lt_cv_aix_libpath_+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { +@@ -9622,7 +10140,7 @@ + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib +@@ -9646,21 +10164,23 @@ + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath + else +- if ${lt_cv_aix_libpath_+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${lt_cv_aix_libpath_+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { +@@ -9675,7 +10195,7 @@ + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib +@@ -9926,11 +10446,12 @@ + + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +-$as_echo_n "checking if $CC understands -b... " >&6; } +-if ${lt_cv_prog_compiler__b+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 ++printf %s "checking if $CC understands -b... " >&6; } ++if test ${lt_cv_prog_compiler__b+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler__b=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -b" +@@ -9954,8 +10475,8 @@ + LDFLAGS=$save_LDFLAGS + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +-$as_echo "$lt_cv_prog_compiler__b" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 ++printf "%s\n" "$lt_cv_prog_compiler__b" >&6; } + + if test yes = "$lt_cv_prog_compiler__b"; then + archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +@@ -9995,28 +10516,30 @@ + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +-if ${lt_cv_irix_exported_symbol+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 ++printf %s "checking whether the $host_os linker accepts -exported_symbol... " >&6; } ++if test ${lt_cv_irix_exported_symbol+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + int foo (void) { return 0; } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + lt_cv_irix_exported_symbol=yes +-else ++else $as_nop + lt_cv_irix_exported_symbol=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +-$as_echo "$lt_cv_irix_exported_symbol" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 ++printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' + fi +@@ -10296,8 +10819,8 @@ + fi + fi + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +-$as_echo "$ld_shlibs" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 ++printf "%s\n" "$ld_shlibs" >&6; } + test no = "$ld_shlibs" && can_build_shared=no + + with_gnu_ld=$with_gnu_ld +@@ -10333,18 +10856,19 @@ + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +-if ${lt_cv_archive_cmds_need_lc+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 ++printf %s "checking whether -lc should be explicitly linked in... " >&6; } ++if test ${lt_cv_archive_cmds_need_lc+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest +@@ -10362,7 +10886,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc=no +@@ -10376,8 +10900,8 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 ++printf "%s\n" "$lt_cv_archive_cmds_need_lc" >&6; } + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc + ;; + esac +@@ -10536,8 +11060,8 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +-$as_echo_n "checking dynamic linker characteristics... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 ++printf %s "checking dynamic linker characteristics... " >&6; } + + if test yes = "$GCC"; then + case $host_os in +@@ -11098,9 +11622,10 @@ + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH +- if ${lt_cv_shlibpath_overrides_runpath+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${lt_cv_shlibpath_overrides_runpath+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir +@@ -11110,19 +11635,21 @@ + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : +- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : ++if ac_fn_c_try_link "$LINENO" ++then : ++ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null ++then : + lt_cv_shlibpath_overrides_runpath=yes + fi + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir +@@ -11357,8 +11884,8 @@ + dynamic_linker=no + ;; + esac +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +-$as_echo "$dynamic_linker" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 ++printf "%s\n" "$dynamic_linker" >&6; } + test no = "$dynamic_linker" && can_build_shared=no + + variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +@@ -11479,8 +12006,8 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +-$as_echo_n "checking how to hardcode library paths into programs... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 ++printf %s "checking how to hardcode library paths into programs... " >&6; } + hardcode_action= + if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || +@@ -11504,8 +12031,8 @@ + # directories. + hardcode_action=unsupported + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +-$as_echo "$hardcode_action" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 ++printf "%s\n" "$hardcode_action" >&6; } + + if test relink = "$hardcode_action" || + test yes = "$inherit_rpath"; then +@@ -11549,11 +12076,12 @@ + + darwin*) + # if libdl is installed we need to link against it +- { $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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 ++printf %s "checking for dlopen in -ldl... " >&6; } ++if test ${ac_cv_lib_dl_dlopen+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-ldl $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -11562,32 +12090,31 @@ + /* 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 () ++main (void) + { + return dlopen (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_dl_dlopen=yes +-else ++else $as_nop + ac_cv_lib_dl_dlopen=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 ++printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } ++if test "x$ac_cv_lib_dl_dlopen" = xyes ++then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +-else ++else $as_nop + + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= +@@ -11607,14 +12134,16 @@ + + *) + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +-if test "x$ac_cv_func_shl_load" = xyes; then : ++if test "x$ac_cv_func_shl_load" = xyes ++then : + lt_cv_dlopen=shl_load +-else +- { $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 ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 ++printf %s "checking for shl_load in -ldld... " >&6; } ++if test ${ac_cv_lib_dld_shl_load+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-ldld $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -11623,41 +12152,42 @@ + /* 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 () ++main (void) + { + return shl_load (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_dld_shl_load=yes +-else ++else $as_nop + ac_cv_lib_dld_shl_load=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 ++printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; } ++if test "x$ac_cv_lib_dld_shl_load" = xyes ++then : + lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld +-else ++else $as_nop + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +-if test "x$ac_cv_func_dlopen" = xyes; then : ++if test "x$ac_cv_func_dlopen" = xyes ++then : + lt_cv_dlopen=dlopen +-else +- { $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 ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 ++printf %s "checking for dlopen in -ldl... " >&6; } ++if test ${ac_cv_lib_dl_dlopen+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-ldl $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -11666,37 +12196,37 @@ + /* 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 () ++main (void) + { + return dlopen (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_dl_dlopen=yes +-else ++else $as_nop + ac_cv_lib_dl_dlopen=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 ++printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } ++if test "x$ac_cv_lib_dl_dlopen" = xyes ++then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +-$as_echo_n "checking for dlopen in -lsvld... " >&6; } +-if ${ac_cv_lib_svld_dlopen+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 ++printf %s "checking for dlopen in -lsvld... " >&6; } ++if test ${ac_cv_lib_svld_dlopen+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lsvld $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -11705,37 +12235,37 @@ + /* 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 () ++main (void) + { + return dlopen (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_svld_dlopen=yes +-else ++else $as_nop + ac_cv_lib_svld_dlopen=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +-$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +-if test "x$ac_cv_lib_svld_dlopen" = xyes; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 ++printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; } ++if test "x$ac_cv_lib_svld_dlopen" = xyes ++then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +-$as_echo_n "checking for dld_link in -ldld... " >&6; } +-if ${ac_cv_lib_dld_dld_link+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 ++printf %s "checking for dld_link in -ldld... " >&6; } ++if test ${ac_cv_lib_dld_dld_link+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-ldld $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -11744,30 +12274,29 @@ + /* 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 dld_link (); + int +-main () ++main (void) + { + return dld_link (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_dld_dld_link=yes +-else ++else $as_nop + ac_cv_lib_dld_dld_link=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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_dld_link" >&5 +-$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +-if test "x$ac_cv_lib_dld_dld_link" = xyes; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 ++printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; } ++if test "x$ac_cv_lib_dld_dld_link" = xyes ++then : + lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld + fi + +@@ -11806,11 +12335,12 @@ + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +-$as_echo_n "checking whether a program can dlopen itself... " >&6; } +-if ${lt_cv_dlopen_self+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 ++printf %s "checking whether a program can dlopen itself... " >&6; } ++if test ${lt_cv_dlopen_self+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self=cross + else +@@ -11889,7 +12419,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? +@@ -11907,16 +12437,17 @@ + + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +-$as_echo "$lt_cv_dlopen_self" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 ++printf "%s\n" "$lt_cv_dlopen_self" >&6; } + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } +-if ${lt_cv_dlopen_self_static+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 ++printf %s "checking whether a statically linked program can dlopen itself... " >&6; } ++if test ${lt_cv_dlopen_self_static+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self_static=cross + else +@@ -11995,7 +12526,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? +@@ -12013,8 +12544,8 @@ + + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +-$as_echo "$lt_cv_dlopen_self_static" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 ++printf "%s\n" "$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS=$save_CPPFLAGS +@@ -12052,13 +12583,13 @@ + + striplib= + old_striplib= +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +-$as_echo_n "checking whether stripping libraries is possible... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 ++printf %s "checking whether stripping libraries is possible... " >&6; } + if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else + # FIXME - insert some real tests, host_os isn't really good enough + case $host_os in +@@ -12066,16 +12597,16 @@ + if test -n "$STRIP"; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + ;; + *) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + ;; + esac + fi +@@ -12092,13 +12623,13 @@ + + + # Report what library types will actually be built +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +-$as_echo_n "checking if libtool supports shared libraries... " >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +-$as_echo "$can_build_shared" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 ++printf %s "checking if libtool supports shared libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 ++printf "%s\n" "$can_build_shared" >&6; } + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +-$as_echo_n "checking whether to build shared libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 ++printf %s "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and +@@ -12122,15 +12653,15 @@ + fi + ;; + esac +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +-$as_echo "$enable_shared" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 ++printf "%s\n" "$enable_shared" >&6; } + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +-$as_echo_n "checking whether to build static libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 ++printf %s "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +-$as_echo "$enable_static" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 ++printf "%s\n" "$enable_static" >&6; } + + + +@@ -12177,21 +12708,15 @@ + case $host_os in + hpux*) + +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPEOS_HPUX 1 +-_ACEOF ++printf "%s\n" "@%:@define CRLIBM_TYPEOS_HPUX 1" >>confdefs.h + ;; + *cygwin* | *mingw* | *uwin* | *djgpp | *emx*) + +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPEOS_CYGWIN 1 +-_ACEOF ++printf "%s\n" "@%:@define CRLIBM_TYPEOS_CYGWIN 1" >>confdefs.h + ;; + freebsd*|netbsd*|darwin*) + +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPEOS_BSD 1 +-_ACEOF ++printf "%s\n" "@%:@define CRLIBM_TYPEOS_BSD 1" >>confdefs.h + ;; + esac; + +@@ -12199,54 +12724,43 @@ + case $host_cpu in + alpha) + +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPECPU_ALPHA 1 +-_ACEOF ++printf "%s\n" "@%:@define CRLIBM_TYPECPU_ALPHA 1" >>confdefs.h + ;; + sparc) + +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPECPU_SPARC 1 +-_ACEOF ++printf "%s\n" "@%:@define CRLIBM_TYPECPU_SPARC 1" >>confdefs.h + ;; + powerpc*) + +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPECPU_POWERPC 1 +-_ACEOF ++printf "%s\n" "@%:@define CRLIBM_TYPECPU_POWERPC 1" >>confdefs.h + ;; + i*86|k6|k7|pentium*|athlon*) + +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPECPU_X86 1 +-_ACEOF ++printf "%s\n" "@%:@define CRLIBM_TYPECPU_X86 1" >>confdefs.h + + has_ia32_de=true;; + x86_64|amd64) + +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPECPU_AMD64 1 +-_ACEOF ++printf "%s\n" "@%:@define CRLIBM_TYPECPU_AMD64 1" >>confdefs.h + + has_ia32_de=true;; + ia64) + +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_TYPECPU_ITANIUM 1 +-_ACEOF ++printf "%s\n" "@%:@define CRLIBM_TYPECPU_ITANIUM 1" >>confdefs.h + + has_ia64_de=true;; + esac; + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 ++printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } + set x ${MAKE-make} +-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` ++if eval test \${ac_cv_prog_make_${ac_make}_set+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat >conftest.make <<\_ACEOF + SHELL = /bin/sh + all: +@@ -12262,12 +12776,12 @@ + rm -f conftest.make + fi + if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + SET_MAKE= + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" + fi + +@@ -12283,11 +12797,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +@@ -12295,11 +12810,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -12310,11 +12829,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -12327,11 +12846,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + else +@@ -12339,11 +12859,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -12354,11 +12878,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 ++printf "%s\n" "$ac_ct_CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -12370,8 +12894,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + CC=$ac_ct_CC +@@ -12379,23 +12903,23 @@ + 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;} ++test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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 ++printf "%s\n" "$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 ++for ac_option in --version -v -V -qversion -version; 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 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -12405,20 +12929,21 @@ + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + done + +-{ $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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 ++printf %s "checking whether the compiler supports GNU C... " >&6; } ++if test ${ac_cv_c_compiler_gnu+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + #ifndef __GNUC__ + choke me +@@ -12428,29 +12953,33 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_compiler_gnu=yes +-else ++else $as_nop + ac_compiler_gnu=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 ++printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ + if test $ac_compiler_gnu = yes; then + GCC=yes + else + GCC= + fi +-ac_test_CFLAGS=${CFLAGS+set} ++ac_test_CFLAGS=${CFLAGS+y} + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 ++printf %s "checking whether $CC accepts -g... " >&6; } ++if test ${ac_cv_prog_cc_g+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no +@@ -12459,57 +12988,60 @@ + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_prog_cc_g=yes +-else ++else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-else ++else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 ++printf "%s\n" "$ac_cv_prog_cc_g" >&6; } ++if test $ac_test_CFLAGS; then + CFLAGS=$ac_save_CFLAGS + elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then +@@ -12524,95 +13056,145 @@ + 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_prog_cc_stdc=no ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 ++printf %s "checking for $CC option to enable C11 features... " >&6; } ++if test ${ac_cv_prog_cc_c11+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c11=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; +-} ++$ac_c_conftest_c11_program ++_ACEOF ++for ac_arg in '' -std=gnu11 ++do ++ CC="$ac_save_CC $ac_arg" ++ if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_c11=$ac_arg ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cc_c11" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CC=$ac_save_CC ++fi + +-/* 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]; ++if test "x$ac_cv_prog_cc_c11" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c11" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } ++ CC="$CC $ac_cv_prog_cc_c11" ++fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 ++ ac_prog_cc_stdc=c11 ++fi ++fi ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 ++printf %s "checking for $CC option to enable C99 features... " >&6; } ++if test ${ac_cv_prog_cc_c99+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c99=no ++ac_save_CC=$CC ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_c_conftest_c99_program ++_ACEOF ++for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= ++do ++ CC="$ac_save_CC $ac_arg" ++ if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_c99=$ac_arg ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cc_c99" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CC=$ac_save_CC ++fi + +-/* 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; +-} ++if test "x$ac_cv_prog_cc_c99" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c99" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } ++ CC="$CC $ac_cv_prog_cc_c99" ++fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 ++ ac_prog_cc_stdc=c99 ++fi ++fi ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 ++printf %s "checking for $CC option to enable C89 features... " >&6; } ++if test ${ac_cv_prog_cc_c89+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c89=no ++ac_save_CC=$CC ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_c_conftest_c89_program + _ACEOF +-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ +- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" ++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 : ++ if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_prog_cc_c89=$ac_arg + fi +-rm -f core conftest.err conftest.$ac_objext ++rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break + done + rm -f conftest.$ac_ext + CC=$ac_save_CC ++fi + ++if test "x$ac_cv_prog_cc_c89" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c89" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } ++ CC="$CC $ac_cv_prog_cc_c89" + 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 : +- ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 ++ ac_prog_cc_stdc=c89 + fi ++fi + + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' +@@ -12620,21 +13202,23 @@ + 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_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 whether $CC understands -c and -o together" >&5 +-$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +-if ${am_cv_prog_cc_c_o+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 ++printf %s "checking whether $CC understands -c and -o together... " >&6; } ++if test ${am_cv_prog_cc_c_o+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; +@@ -12662,8 +13246,8 @@ + rm -f core conftest* + unset am_i + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +-$as_echo "$am_cv_prog_cc_c_o" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 ++printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } + if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. +@@ -12681,11 +13265,12 @@ + + depcc="$CC" am_compiler_list= + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +-$as_echo_n "checking dependency style of $depcc... " >&6; } +-if ${am_cv_CC_dependencies_compiler_type+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 ++printf %s "checking dependency style of $depcc... " >&6; } ++if test ${am_cv_CC_dependencies_compiler_type+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For +@@ -12792,8 +13377,8 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 ++printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } + CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if +@@ -12868,142 +13453,108 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +-$as_echo_n "checking whether ln -s works... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 ++printf %s "checking whether ln -s works... " >&6; } + LN_S=$as_ln_s + if test "$LN_S" = "ln -s"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +-$as_echo "no, using $LN_S" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 ++printf "%s\n" "no, using $LN_S" >&6; } + fi + + +-{ $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 ++# Autoupdate added the next two lines to ensure that your configure ++# script's behavior did not change. They are probably safe to remove. + +-int +-main () +-{ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 ++printf %s "checking for egrep... " >&6; } ++if test ${ac_cv_path_EGREP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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 ++ printf %s 0123456789 >"conftest.in" ++ while : ++ do ++ cat "conftest.in" "conftest.in" >"conftest.tmp" ++ mv "conftest.tmp" "conftest.in" ++ cp "conftest.in" "conftest.nl" ++ printf "%s\n" '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 + +- ; +- return 0; +-} +-_ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : +- ac_cv_header_stdc=yes ++ $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_header_stdc=no ++ ac_cv_path_EGREP=$EGREP + 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 + fi +-rm -f conftest* ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 ++printf "%s\n" "$ac_cv_path_EGREP" >&6; } ++ EGREP="$ac_cv_path_EGREP" ++ + +-fi + +-if test $ac_cv_header_stdc = yes; then +- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 ++printf %s "checking for an ANSI C-conforming const... " >&6; } ++if test ${ac_cv_c_const+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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 () ++main (void) + { +- 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 +- +-{ $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]; +@@ -13014,7 +13565,7 @@ + /* 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. ++ /* IBM 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 */ +@@ -13042,7 +13593,7 @@ + iptr p = 0; + ++p; + } +- { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying ++ { /* IBM 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; +@@ -13058,47 +13609,50 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_c_const=yes +-else ++else $as_nop + ac_cv_c_const=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 +-$as_echo "$ac_cv_c_const" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 ++printf "%s\n" "$ac_cv_c_const" >&6; } + if test $ac_cv_c_const = no; then + +-$as_echo "@%:@define const /**/" >>confdefs.h ++printf "%s\n" "@%:@define const /**/" >>confdefs.h + + fi + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 +-$as_echo_n "checking for inline... " >&6; } +-if ${ac_cv_c_inline+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 ++printf %s "checking for inline... " >&6; } ++if test ${ac_cv_c_inline+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_cv_c_inline=no + for ac_kw in inline __inline__ __inline; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #ifndef __cplusplus + typedef int foo_t; +-static $ac_kw foo_t static_foo () {return 0; } +-$ac_kw foo_t foo () {return 0; } ++static $ac_kw foo_t static_foo (void) {return 0; } ++$ac_kw foo_t foo (void) {return 0; } + #endif + + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_c_inline=$ac_kw + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + test "$ac_cv_c_inline" != no && break + done + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 +-$as_echo "$ac_cv_c_inline" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 ++printf "%s\n" "$ac_cv_c_inline" >&6; } + + case $ac_cv_c_inline in + inline | yes) ;; +@@ -13117,50 +13671,36 @@ + + + +-for ac_func in sqrt +-do : +- ac_fn_c_check_func "$LINENO" "sqrt" "ac_cv_func_sqrt" +-if test "x$ac_cv_func_sqrt" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_SQRT 1 +-_ACEOF +- +-fi +-done ++ac_fn_c_check_func "$LINENO" "sqrt" "ac_cv_func_sqrt" ++if test "x$ac_cv_func_sqrt" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_SQRT 1" >>confdefs.h + +-for ac_header in fenv.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "fenv.h" "ac_cv_header_fenv_h" "$ac_includes_default" +-if test "x$ac_cv_header_fenv_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_FENV_H 1 +-_ACEOF +- + fi + +-done ++ac_fn_c_check_header_compile "$LINENO" "fenv.h" "ac_cv_header_fenv_h" "$ac_includes_default" ++if test "x$ac_cv_header_fenv_h" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_FENV_H 1" >>confdefs.h + +-for ac_header in float.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "float.h" "ac_cv_header_float_h" "$ac_includes_default" +-if test "x$ac_cv_header_float_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_FLOAT_H 1 +-_ACEOF +- + fi + +-done ++ac_fn_c_check_header_compile "$LINENO" "float.h" "ac_cv_header_float_h" "$ac_includes_default" ++if test "x$ac_cv_header_float_h" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_FLOAT_H 1" >>confdefs.h + +-ac_fn_c_check_header_mongrel "$LINENO" "fpu_control.h" "ac_cv_header_fpu_control_h" "$ac_includes_default" +-if test "x$ac_cv_header_fpu_control_h" = xyes; then : ++fi ++ ++ac_fn_c_check_header_compile "$LINENO" "fpu_control.h" "ac_cv_header_fpu_control_h" "$ac_includes_default" ++if test "x$ac_cv_header_fpu_control_h" = xyes ++then : + has_fpu_control=yes +-else ++else $as_nop + has_fpu_control=no + fi + + +- + if test x$has_fpu_control = xyes; then + HAS_FPU_CONTROL_TRUE= + HAS_FPU_CONTROL_FALSE='#' +@@ -13172,17 +13712,16 @@ + + if test x$has_fpu_control = xyes ; then + +-cat >>confdefs.h <<_ACEOF +-@%:@define CRLIBM_HAS_FPU_CONTROL 1 +-_ACEOF ++printf "%s\n" "@%:@define CRLIBM_HAS_FPU_CONTROL 1" >>confdefs.h + + fi + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for log in -lm" >&5 +-$as_echo_n "checking for log in -lm... " >&6; } +-if ${ac_cv_lib_m_log+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for log in -lm" >&5 ++printf %s "checking for log in -lm... " >&6; } ++if test ${ac_cv_lib_m_log+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lm $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -13191,44 +13730,42 @@ + /* 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 log (); + int +-main () ++main (void) + { + return log (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_m_log=yes +-else ++else $as_nop + ac_cv_lib_m_log=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_log" >&5 +-$as_echo "$ac_cv_lib_m_log" >&6; } +-if test "x$ac_cv_lib_m_log" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBM 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_log" >&5 ++printf "%s\n" "$ac_cv_lib_m_log" >&6; } ++if test "x$ac_cv_lib_m_log" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBM 1" >>confdefs.h + + LIBS="-lm $LIBS" + + fi + + +- { $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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 ++printf %s "checking whether byte ordering is bigendian... " >&6; } ++if test ${ac_cv_c_bigendian+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -13239,7 +13776,8 @@ + typedef int dummy; + + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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. +@@ -13263,7 +13801,7 @@ + fi + done + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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 +@@ -13272,7 +13810,7 @@ + #include + + int +-main () ++main (void) + { + #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ +@@ -13284,7 +13822,8 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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. */ +@@ -13292,7 +13831,7 @@ + #include + + int +-main () ++main (void) + { + #if BYTE_ORDER != BIG_ENDIAN + not big endian +@@ -13302,14 +13841,15 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_c_bigendian=yes +-else ++else $as_nop + ac_cv_c_bigendian=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). +@@ -13318,7 +13858,7 @@ + #include + + int +-main () ++main (void) + { + #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros +@@ -13328,14 +13868,15 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 () ++main (void) + { + #ifndef _BIG_ENDIAN + not big endian +@@ -13345,31 +13886,33 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_c_bigendian=yes +-else ++else $as_nop + ac_cv_c_bigendian=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. +- if test "$cross_compiling" = yes; then : ++ 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[] = ++unsigned short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; +- short int ascii_ii[] = ++ unsigned 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[] = ++ unsigned short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; +- short int ebcdic_mm[] = ++ unsigned short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; +@@ -13377,14 +13920,15 @@ + extern int foo; + + int +-main () ++main (void) + { + return use_ascii (foo) == use_ebcdic (foo); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi +@@ -13397,13 +13941,13 @@ + fi + fi + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +-else ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $ac_includes_default + int +-main () ++main (void) + { + + /* Are we little or big endian? From Harbison&Steele. */ +@@ -13419,9 +13963,10 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_run "$LINENO"; then : ++if ac_fn_c_try_run "$LINENO" ++then : + ac_cv_c_bigendian=no +-else ++else $as_nop + ac_cv_c_bigendian=yes + fi + rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ +@@ -13430,17 +13975,17 @@ + + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 +-$as_echo "$ac_cv_c_bigendian" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 ++printf "%s\n" "$ac_cv_c_bigendian" >&6; } + case $ac_cv_c_bigendian in #( + yes) +- $as_echo "@%:@define WORDS_BIGENDIAN 1" >>confdefs.h ++ printf "%s\n" "@%:@define WORDS_BIGENDIAN 1" >>confdefs.h + ;; #( + no) + ;; #( + universal) + +-$as_echo "@%:@define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ++printf "%s\n" "@%:@define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h + + ;; #( + *) +@@ -13451,11 +13996,12 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double with more range or precision than double" >&5 +-$as_echo_n "checking for long double with more range or precision than double... " >&6; } +-if ${ac_cv_type_long_double_wider+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for long double with more range or precision than double" >&5 ++printf %s "checking for long double with more range or precision than double... " >&6; } ++if test ${ac_cv_type_long_double_wider+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #include +@@ -13472,7 +14018,7 @@ + } + + int +-main () ++main (void) + { + static int test_array @<:@1 - 2 * !((0 < ((DBL_MAX_EXP < LDBL_MAX_EXP) + + (DBL_MANT_DIG < LDBL_MANT_DIG) +@@ -13487,25 +14033,26 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_type_long_double_wider=yes +-else ++else $as_nop + ac_cv_type_long_double_wider=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_double_wider" >&5 +-$as_echo "$ac_cv_type_long_double_wider" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_double_wider" >&5 ++printf "%s\n" "$ac_cv_type_long_double_wider" >&6; } + if test $ac_cv_type_long_double_wider = yes; then + +-$as_echo "@%:@define HAVE_LONG_DOUBLE_WIDER 1" >>confdefs.h ++printf "%s\n" "@%:@define HAVE_LONG_DOUBLE_WIDER 1" >>confdefs.h + + fi + + ac_cv_c_long_double=$ac_cv_type_long_double_wider + if test $ac_cv_c_long_double = yes; then + +-$as_echo "@%:@define HAVE_LONG_DOUBLE 1" >>confdefs.h ++printf "%s\n" "@%:@define HAVE_LONG_DOUBLE 1" >>confdefs.h + + fi + +@@ -13515,17 +14062,19 @@ + # 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 ++printf %s "checking size of int... " >&6; } ++if test ${ac_cv_sizeof_int+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default" ++then : + +-else ++else $as_nop + 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;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (int) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -13534,14 +14083,12 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 +-$as_echo "$ac_cv_sizeof_int" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 ++printf "%s\n" "$ac_cv_sizeof_int" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-@%:@define SIZEOF_INT $ac_cv_sizeof_int +-_ACEOF ++printf "%s\n" "@%:@define SIZEOF_INT $ac_cv_sizeof_int" >>confdefs.h + + + +@@ -13559,18 +14106,17 @@ + + + @%:@ Check whether --enable-sse2 was given. +-if test "${enable_sse2+set}" = set; then : ++if test ${enable_sse2+y} ++then : + enableval=$enable_sse2; case $enableval in + yes) + +-cat >>confdefs.h <<_ACEOF +-@%:@define HAS_SSE2 1 +-_ACEOF ++printf "%s\n" "@%:@define HAS_SSE2 1" >>confdefs.h + ;; + no) ;; + *) as_fn_error $? "bad value $enableval for --enable-sse2, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_sse2=no + fi + +@@ -13587,18 +14133,17 @@ + + + @%:@ Check whether --enable-interval-functions was given. +-if test "${enable_interval_functions+set}" = set; then : ++if test ${enable_interval_functions+y} ++then : + enableval=$enable_interval_functions; case $enableval in + yes) + +-cat >>confdefs.h <<_ACEOF +-@%:@define BUILD_INTERVAL_FUNCTIONS 1 +-_ACEOF ++printf "%s\n" "@%:@define BUILD_INTERVAL_FUNCTIONS 1" >>confdefs.h + ;; + no) ;; + *) as_fn_error $? "bad value $enableval for --enable-interval-functions, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_interval_functions=no + fi + +@@ -13614,12 +14159,13 @@ + + + @%:@ Check whether --enable-double-extended was given. +-if test "${enable_double_extended+set}" = set; then : ++if test ${enable_double_extended+y} ++then : + enableval=$enable_double_extended; case $enableval in + yes|no) ;; + *) as_fn_error $? "bad value $enableval for --enable-double-extended, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_double_extended=yes + fi + +@@ -13643,40 +14189,34 @@ + + + @%:@ Check whether --enable-nbdigits was given. +-if test "${enable_nbdigits+set}" = set; then : ++if test ${enable_nbdigits+y} ++then : + enableval=$enable_nbdigits; case $enableval in + *[0-9]) +-cat >>confdefs.h <<_ACEOF +-@%:@define SCS_NB_WORDS $enableval +-_ACEOF ++printf "%s\n" "@%:@define SCS_NB_WORDS $enableval" >>confdefs.h + ;; + *) as_fn_error $? "bad value $enableval for --enable-nbdigits, number expected" "$LINENO" 5 ;; + esac +-else ++else $as_nop + +-cat >>confdefs.h <<_ACEOF +-@%:@define SCS_NB_WORDS 8 +-_ACEOF ++printf "%s\n" "@%:@define SCS_NB_WORDS 8" >>confdefs.h + + + fi + + + @%:@ Check whether --enable-digitsize was given. +-if test "${enable_digitsize+set}" = set; then : ++if test ${enable_digitsize+y} ++then : + enableval=$enable_digitsize; case $enableval in + *[0-9]) +-cat >>confdefs.h <<_ACEOF +-@%:@define SCS_NB_BITS $enableval +-_ACEOF ++printf "%s\n" "@%:@define SCS_NB_BITS $enableval" >>confdefs.h + ;; + *) as_fn_error $? "bad value $enableval for --enable-digitsize, number expected" "$LINENO" 5 ;; + esac +-else ++else $as_nop + +-cat >>confdefs.h <<_ACEOF +-@%:@define SCS_NB_BITS 30 +-_ACEOF ++printf "%s\n" "@%:@define SCS_NB_BITS 30" >>confdefs.h + + + fi +@@ -13684,48 +14224,52 @@ + + + @%:@ Check whether --enable-mpfr was given. +-if test "${enable_mpfr+set}" = set; then : ++if test ${enable_mpfr+y} ++then : + enableval=$enable_mpfr; case $enableval in + yes|no) ;; + *) as_fn_error $? "bad value $enableval for --enable-mpfr, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_mpfr=no + fi + + + + @%:@ Check whether --enable-gmp was given. +-if test "${enable_gmp+set}" = set; then : ++if test ${enable_gmp+y} ++then : + enableval=$enable_gmp; case $enableval in + yes|no) ;; + *) as_fn_error $? "bad value $enableval for --enable-gmp, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_gmp=no + fi + + + + @%:@ Check whether --enable-ultim was given. +-if test "${enable_ultim+set}" = set; then : ++if test ${enable_ultim+y} ++then : + enableval=$enable_ultim; case $enableval in + yes|no) ;; + *) as_fn_error $? "bad value $enableval for --enable-ultim, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_ultim=no + fi + + + + @%:@ Check whether --enable-mcr was given. +-if test "${enable_mcr+set}" = set; then : ++if test ${enable_mcr+y} ++then : + enableval=$enable_mcr; case $enableval in + yes|no) ;; + *) as_fn_error $? "bad value $enableval for --enable-mcr, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_mcr=no + fi + +@@ -13737,19 +14281,22 @@ + + + @%:@ Check whether --with-gmp_include was given. +-if test "${with_gmp_include+set}" = set; then : ++if test ${with_gmp_include+y} ++then : + withval=$with_gmp_include; with_gmp_include=$withval + fi + + + @%:@ Check whether --with-gmp_lib was given. +-if test "${with_gmp_lib+set}" = set; then : ++if test ${with_gmp_lib+y} ++then : + withval=$with_gmp_lib; with_gmp_lib=$withval + fi + + + @%:@ Check whether --with-gmp was given. +-if test "${with_gmp+set}" = set; then : ++if test ${with_gmp+y} ++then : + withval=$with_gmp; with_gmp_include=$withval/include with_gmp_lib=$withval/lib + fi + +@@ -13762,8 +14309,8 @@ + + if ` test "$with_gmp_lib" ` + then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking gmp library" >&5 +-$as_echo_n "checking gmp library... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking gmp library" >&5 ++printf %s "checking gmp library... " >&6; } + if test -r "$with_gmp_lib/libgmp.a" -o -r "$with_gmp_lib/libgmp.so" + then + LDFLAGS="$LDFLAGS -L$with_gmp_lib" +@@ -13771,14 +14318,15 @@ + else + as_fn_error $? "gmp not found" "$LINENO" 5 + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lgmp" >&5 +-$as_echo_n "checking for main in -lgmp... " >&6; } +-if ${ac_cv_lib_gmp_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lgmp" >&5 ++printf %s "checking for main in -lgmp... " >&6; } ++if test ${ac_cv_lib_gmp_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lgmp $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -13786,32 +14334,32 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_gmp_main=yes +-else ++else $as_nop + ac_cv_lib_gmp_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp_main" >&5 +-$as_echo "$ac_cv_lib_gmp_main" >&6; } +-if test "x$ac_cv_lib_gmp_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBGMP 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp_main" >&5 ++printf "%s\n" "$ac_cv_lib_gmp_main" >&6; } ++if test "x$ac_cv_lib_gmp_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBGMP 1" >>confdefs.h + + LIBS="-lgmp $LIBS" + +-else ++else $as_nop + as_fn_error $? "gmp not found" "$LINENO" 5 + fi + +@@ -13819,24 +14367,20 @@ + + + +-for ac_header in gmp.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" +-if test "x$ac_cv_header_gmp_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_GMP_H 1 +-_ACEOF +- ++ac_fn_c_check_header_compile "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" ++if test "x$ac_cv_header_gmp_h" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_GMP_H 1" >>confdefs.h ++ + fi + +-done + +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lgmp" >&5 +-$as_echo_n "checking for main in -lgmp... " >&6; } +-if ${ac_cv_lib_gmp_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lgmp" >&5 ++printf %s "checking for main in -lgmp... " >&6; } ++if test ${ac_cv_lib_gmp_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lgmp $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -13844,28 +14388,28 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_gmp_main=yes +-else ++else $as_nop + ac_cv_lib_gmp_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp_main" >&5 +-$as_echo "$ac_cv_lib_gmp_main" >&6; } +-if test "x$ac_cv_lib_gmp_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBGMP 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp_main" >&5 ++printf "%s\n" "$ac_cv_lib_gmp_main" >&6; } ++if test "x$ac_cv_lib_gmp_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBGMP 1" >>confdefs.h + + LIBS="-lgmp $LIBS" + +@@ -13880,19 +14424,22 @@ + if test "$enable_mpfr" = "yes"; then + + @%:@ Check whether --with-mpfr_include was given. +-if test "${with_mpfr_include+set}" = set; then : ++if test ${with_mpfr_include+y} ++then : + withval=$with_mpfr_include; with_mpfr_include=$withval + fi + + + @%:@ Check whether --with-mpfr_lib was given. +-if test "${with_mpfr_lib+set}" = set; then : ++if test ${with_mpfr_lib+y} ++then : + withval=$with_mpfr_lib; with_mpfr_lib=$withval + fi + + + @%:@ Check whether --with-mpfr was given. +-if test "${with_mpfr+set}" = set; then : ++if test ${with_mpfr+y} ++then : + withval=$with_mpfr; with_mpfr_include=$withval/include with_mpfr_lib=$withval/lib + fi + +@@ -13905,8 +14452,8 @@ + + if ` test "$with_mpfr_lib" ` + then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking mpfr library" >&5 +-$as_echo_n "checking mpfr library... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking mpfr library" >&5 ++printf %s "checking mpfr library... " >&6; } + if test -r "$with_mpfr_lib/libmpfr.a" -o -r "$with_mpfr_lib/libmpfr.so" + then + LDFLAGS="$LDFLAGS -L$with_mpfr_lib" +@@ -13914,14 +14461,15 @@ + else + as_fn_error $? "mpfr not found" "$LINENO" 5 + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmpfr" >&5 +-$as_echo_n "checking for main in -lmpfr... " >&6; } +-if ${ac_cv_lib_mpfr_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lmpfr" >&5 ++printf %s "checking for main in -lmpfr... " >&6; } ++if test ${ac_cv_lib_mpfr_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lmpfr $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -13929,32 +14477,32 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_mpfr_main=yes +-else ++else $as_nop + ac_cv_lib_mpfr_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_main" >&5 +-$as_echo "$ac_cv_lib_mpfr_main" >&6; } +-if test "x$ac_cv_lib_mpfr_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBMPFR 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_main" >&5 ++printf "%s\n" "$ac_cv_lib_mpfr_main" >&6; } ++if test "x$ac_cv_lib_mpfr_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBMPFR 1" >>confdefs.h + + LIBS="-lmpfr $LIBS" + +-else ++else $as_nop + as_fn_error $? "mpfr not found" "$LINENO" 5 + fi + +@@ -13963,25 +14511,21 @@ + + + +-for ac_header in mpfr.h +-do : +- ac_fn_c_check_header_compile "$LINENO" "mpfr.h" "ac_cv_header_mpfr_h" "#include ++ac_fn_c_check_header_compile "$LINENO" "mpfr.h" "ac_cv_header_mpfr_h" "#include + " +-if test "x$ac_cv_header_mpfr_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_MPFR_H 1 +-_ACEOF +- ++if test "x$ac_cv_header_mpfr_h" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_MPFR_H 1" >>confdefs.h ++ + fi + +-done + +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmpfr" >&5 +-$as_echo_n "checking for main in -lmpfr... " >&6; } +-if ${ac_cv_lib_mpfr_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lmpfr" >&5 ++printf %s "checking for main in -lmpfr... " >&6; } ++if test ${ac_cv_lib_mpfr_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lmpfr $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -13989,28 +14533,28 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_mpfr_main=yes +-else ++else $as_nop + ac_cv_lib_mpfr_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_main" >&5 +-$as_echo "$ac_cv_lib_mpfr_main" >&6; } +-if test "x$ac_cv_lib_mpfr_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBMPFR 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_main" >&5 ++printf "%s\n" "$ac_cv_lib_mpfr_main" >&6; } ++if test "x$ac_cv_lib_mpfr_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBMPFR 1" >>confdefs.h + + LIBS="-lmpfr $LIBS" + +@@ -14025,19 +14569,22 @@ + + + @%:@ Check whether --with-ultim_include was given. +-if test "${with_ultim_include+set}" = set; then : ++if test ${with_ultim_include+y} ++then : + withval=$with_ultim_include; with_ultim_include=$withval + fi + + + @%:@ Check whether --with-ultim_lib was given. +-if test "${with_ultim_lib+set}" = set; then : ++if test ${with_ultim_lib+y} ++then : + withval=$with_ultim_lib; with_ultim_lib=$withval + fi + + + @%:@ Check whether --with-ultim was given. +-if test "${with_ultim+set}" = set; then : ++if test ${with_ultim+y} ++then : + withval=$with_ultim; with_ultim_include=$withval/include with_ultim_lib=$withval/lib + fi + +@@ -14050,8 +14597,8 @@ + + if ` test "$with_ultim_lib" ` + then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking ultim library" >&5 +-$as_echo_n "checking ultim library... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking ultim library" >&5 ++printf %s "checking ultim library... " >&6; } + if test -r "$with_ultim_lib/libultim.a" -o -r "$with_ultim_lib/libultim.so" + then + LDFLAGS="$LDFLAGS -L$with_ultim_lib" +@@ -14059,14 +14606,15 @@ + else + as_fn_error $? "ultim not found" "$LINENO" 5 + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lultim" >&5 +-$as_echo_n "checking for main in -lultim... " >&6; } +-if ${ac_cv_lib_ultim_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lultim" >&5 ++printf %s "checking for main in -lultim... " >&6; } ++if test ${ac_cv_lib_ultim_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lultim $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -14074,32 +14622,32 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_ultim_main=yes +-else ++else $as_nop + ac_cv_lib_ultim_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ultim_main" >&5 +-$as_echo "$ac_cv_lib_ultim_main" >&6; } +-if test "x$ac_cv_lib_ultim_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBULTIM 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ultim_main" >&5 ++printf "%s\n" "$ac_cv_lib_ultim_main" >&6; } ++if test "x$ac_cv_lib_ultim_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBULTIM 1" >>confdefs.h + + LIBS="-lultim $LIBS" + +-else ++else $as_nop + as_fn_error $? "ultim not found" "$LINENO" 5 + fi + +@@ -14107,24 +14655,20 @@ + + + +-for ac_header in MathLib.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "MathLib.h" "ac_cv_header_MathLib_h" "$ac_includes_default" +-if test "x$ac_cv_header_MathLib_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_MATHLIB_H 1 +-_ACEOF +- ++ac_fn_c_check_header_compile "$LINENO" "MathLib.h" "ac_cv_header_MathLib_h" "$ac_includes_default" ++if test "x$ac_cv_header_MathLib_h" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_MATHLIB_H 1" >>confdefs.h ++ + fi + +-done + +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lultim" >&5 +-$as_echo_n "checking for main in -lultim... " >&6; } +-if ${ac_cv_lib_ultim_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lultim" >&5 ++printf %s "checking for main in -lultim... " >&6; } ++if test ${ac_cv_lib_ultim_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lultim $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -14132,28 +14676,28 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_ultim_main=yes +-else ++else $as_nop + ac_cv_lib_ultim_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ultim_main" >&5 +-$as_echo "$ac_cv_lib_ultim_main" >&6; } +-if test "x$ac_cv_lib_ultim_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBULTIM 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ultim_main" >&5 ++printf "%s\n" "$ac_cv_lib_ultim_main" >&6; } ++if test "x$ac_cv_lib_ultim_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBULTIM 1" >>confdefs.h + + LIBS="-lultim $LIBS" + +@@ -14168,19 +14712,22 @@ + + + @%:@ Check whether --with-mcr_include was given. +-if test "${with_mcr_include+set}" = set; then : ++if test ${with_mcr_include+y} ++then : + withval=$with_mcr_include; with_mcr_include=$withval + fi + + + @%:@ Check whether --with-mcr_lib was given. +-if test "${with_mcr_lib+set}" = set; then : ++if test ${with_mcr_lib+y} ++then : + withval=$with_mcr_lib; with_mcr_lib=$withval + fi + + + @%:@ Check whether --with-mcr was given. +-if test "${with_mcr+set}" = set; then : ++if test ${with_mcr+y} ++then : + withval=$with_mcr; with_mcr_include=$withval/include with_mcr_lib=$withval/lib + fi + +@@ -14193,8 +14740,8 @@ + + if ` test "$with_mcr_lib" ` + then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking mcr library" >&5 +-$as_echo_n "checking mcr library... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking mcr library" >&5 ++printf %s "checking mcr library... " >&6; } + if test -r "$with_mcr_lib/libmcr.a" -o -r "$with_mcr_lib/libmcr.so" + then + LDFLAGS="$LDFLAGS -L$with_mcr_lib" +@@ -14202,14 +14749,15 @@ + else + as_fn_error $? "mcr not found" "$LINENO" 5 + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmcr" >&5 +-$as_echo_n "checking for main in -lmcr... " >&6; } +-if ${ac_cv_lib_mcr_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lmcr" >&5 ++printf %s "checking for main in -lmcr... " >&6; } ++if test ${ac_cv_lib_mcr_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lmcr $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -14217,32 +14765,32 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_mcr_main=yes +-else ++else $as_nop + ac_cv_lib_mcr_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mcr_main" >&5 +-$as_echo "$ac_cv_lib_mcr_main" >&6; } +-if test "x$ac_cv_lib_mcr_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBMCR 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mcr_main" >&5 ++printf "%s\n" "$ac_cv_lib_mcr_main" >&6; } ++if test "x$ac_cv_lib_mcr_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBMCR 1" >>confdefs.h + + LIBS="-lmcr $LIBS" + +-else ++else $as_nop + as_fn_error $? "mcr not found" "$LINENO" 5 + fi + +@@ -14250,24 +14798,20 @@ + + + +-for ac_header in libmcr.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "libmcr.h" "ac_cv_header_libmcr_h" "$ac_includes_default" +-if test "x$ac_cv_header_libmcr_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBMCR_H 1 +-_ACEOF +- ++ac_fn_c_check_header_compile "$LINENO" "libmcr.h" "ac_cv_header_libmcr_h" "$ac_includes_default" ++if test "x$ac_cv_header_libmcr_h" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBMCR_H 1" >>confdefs.h ++ + fi + +-done + +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmcr" >&5 +-$as_echo_n "checking for main in -lmcr... " >&6; } +-if ${ac_cv_lib_mcr_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lmcr" >&5 ++printf %s "checking for main in -lmcr... " >&6; } ++if test ${ac_cv_lib_mcr_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lmcr $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -14275,28 +14819,28 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_mcr_main=yes +-else ++else $as_nop + ac_cv_lib_mcr_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mcr_main" >&5 +-$as_echo "$ac_cv_lib_mcr_main" >&6; } +-if test "x$ac_cv_lib_mcr_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-@%:@define HAVE_LIBMCR 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mcr_main" >&5 ++printf "%s\n" "$ac_cv_lib_mcr_main" >&6; } ++if test "x$ac_cv_lib_mcr_main" = xyes ++then : ++ printf "%s\n" "@%:@define HAVE_LIBMCR 1" >>confdefs.h + + LIBS="-lmcr $LIBS" + +@@ -14339,8 +14883,8 @@ + 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;} ;; ++ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( +@@ -14370,15 +14914,15 @@ + /^ac_cv_env_/b end + t clear + :clear +- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ ++ s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 ++printf "%s\n" "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else +@@ -14392,8 +14936,8 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 ++printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} + fi + fi + rm -f confcache +@@ -14410,7 +14954,7 @@ + for ac_i in : $LIB@&t@OBJS; 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"` ++ ac_i=`printf "%s\n" "$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" +@@ -14421,14 +14965,14 @@ + LTLIBOBJS=$ac_ltlibobjs + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +-$as_echo_n "checking that generated files are newer than configure... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 ++printf %s "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +-$as_echo "done" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5 ++printf "%s\n" "done" >&6; } + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +@@ -14475,8 +15019,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 ++printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;} + as_write_fail=0 + cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 + #! $SHELL +@@ -14499,14 +15043,16 @@ + + # Be more Bourne compatible + DUALCASE=1; export DUALCASE # for MKS sh +-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++as_nop=: ++if test ${ZSH_VERSION+y} && (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 ++else $as_nop + case `(set -o) 2>/dev/null` in @%:@( + *posix*) : + set -o posix ;; @%:@( +@@ -14516,46 +15062,46 @@ + fi + + ++ ++# Reset variables that may have inherited troublesome values from ++# the environment. ++ ++# IFS needs to be set, to space, tab, and newline, in precisely that order. ++# (If _AS_PATH_WALK were called with IFS unset, it would have the ++# side effect of setting IFS to empty, thus disabling word splitting.) ++# Quoting is to prevent editors from complaining about space-tab. + 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 ++IFS=" "" $as_nl" + ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# Ensure predictable behavior from utilities with locale-dependent output. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE ++ ++# We cannot yet rely on "unset" to work, but we need these variables ++# to be unset--not just set to an empty or harmless value--now, to ++# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct ++# also avoids known problems related to "unset" and subshell syntax ++# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). ++for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH ++do eval test \${$as_var+y} \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++ ++# Ensure that fds 0, 1, and 2 are open. ++if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi ++if (exec 3>&2) ; then :; else exec 2>/dev/null; fi ++ + # The user is always right. +-if test "${PATH_SEPARATOR+set}" != set; then ++if ${PATH_SEPARATOR+false} :; 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 || +@@ -14564,13 +15110,6 @@ + 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 @%:@(( +@@ -14579,8 +15118,12 @@ + 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ test -r "$as_dir$0" && as_myself=$as_dir$0 && break + done + IFS=$as_save_IFS + +@@ -14592,32 +15135,12 @@ + 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 ++ printf "%s\n" "$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 @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are +@@ -14628,13 +15151,14 @@ + 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi +- $as_echo "$as_me: error: $2" >&2 ++ printf "%s\n" "$as_me: error: $2" >&2 + as_fn_exit $as_status + } @%:@ as_fn_error + + ++ + @%:@ as_fn_set_status STATUS + @%:@ ----------------------- + @%:@ Set @S|@? to STATUS, without forking. +@@ -14661,18 +15185,20 @@ + { 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 : ++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 ++else $as_nop + as_fn_append () + { + eval $1=\$$1\$2 +@@ -14684,12 +15210,13 @@ + @%:@ Perform arithmetic evaluation on the ARGs, and store the result in the + @%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments + @%:@ must be portable across @S|@(()) and expr. +-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null ++then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +-else ++else $as_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` +@@ -14720,7 +15247,7 @@ + $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X/"$0" | ++printf "%s\n" X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q +@@ -14742,6 +15269,10 @@ + as_cr_digits='0123456789' + as_cr_alnum=$as_cr_Letters$as_cr_digits + ++ ++# Determine whether it's possible to make 'echo' print without a newline. ++# These variables are no longer used directly by Autoconf, but are AC_SUBSTed ++# for compatibility with existing Makefiles. + ECHO_C= ECHO_N= ECHO_T= + case `echo -n x` in @%:@((((( + -n*) +@@ -14755,6 +15286,12 @@ + ECHO_N='-n';; + esac + ++# For backward compatibility with old third-party macros, we provide ++# the shell variables $as_echo and $as_echo_n. New code should use ++# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. ++as_@&t@echo='printf %s\n' ++as_@&t@echo_n='printf %s' ++ + rm -f conf$$ conf$$.exe conf$$.file + if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +@@ -14796,7 +15333,7 @@ + as_dirs= + while :; do + case $as_dir in #( +- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" +@@ -14805,7 +15342,7 @@ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$as_dir" | ++printf "%s\n" X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -14868,7 +15405,7 @@ + # values after options handling. + ac_log=" + This file was extended by crlibm $as_me 1.0beta4, which was +-generated by GNU Autoconf 2.69. Invocation command line was ++generated by GNU Autoconf 2.71. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS +@@ -14930,14 +15467,16 @@ + Report bugs to the package provider." + + _ACEOF ++ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` ++ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ++ac_cs_config='$ac_cs_config_escaped' + ac_cs_version="\\ + crlibm config.status 1.0beta4 +-configured by $0, generated by GNU Autoconf 2.69, ++configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +-Copyright (C) 2012 Free Software Foundation, Inc. ++Copyright (C) 2021 Free Software Foundation, Inc. + This config.status script is free software; the Free Software Foundation + gives unlimited permission to copy, distribute and modify it." + +@@ -14977,15 +15516,15 @@ + -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 ;; ++ printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) +- $as_echo "$ac_cs_config"; exit ;; ++ printf "%s\n" "$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"` ;; ++ *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" +@@ -14993,7 +15532,7 @@ + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in +- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; +@@ -15002,7 +15541,7 @@ + as_fn_error $? "ambiguous option: \`$1' + Try \`$0 --help' for more information.";; + --help | --hel | -h ) +- $as_echo "$ac_cs_usage"; exit ;; ++ printf "%s\n" "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; +@@ -15030,7 +15569,7 @@ + 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 ++ \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +@@ -15044,7 +15583,7 @@ + sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX + @%:@@%:@ Running $as_me. @%:@@%:@ + _ASBOX +- $as_echo "$ac_log" ++ printf "%s\n" "$ac_log" + } >&5 + + _ACEOF +@@ -15052,7 +15591,7 @@ + # + # INIT-COMMANDS + # +-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" ++AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" + + + # The HP-UX ksh and POSIX shell print the target directory to stdout +@@ -15362,9 +15901,9 @@ + # 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 +- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands ++ test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files ++ test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers ++ test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands + fi + + # Have a temporary directory for convenience. Make it in the build tree +@@ -15700,7 +16239,7 @@ + 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 ++ case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + +@@ -15708,17 +16247,17 @@ + # 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' ++ printf "%s\n" "$*" | 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 ++printf "%s\n" "$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" | ++ ac_sed_conf_input=`printf "%s\n" "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac +@@ -15735,7 +16274,7 @@ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$ac_file" | ++printf "%s\n" X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -15759,9 +16298,9 @@ + case "$ac_dir" in + .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) +- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` ++ ac_dir_suffix=/`printf "%s\n" "$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|/||'` ++ ac_top_builddir_sub=`printf "%s\n" "$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/ ;; +@@ -15823,8 +16362,8 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 ++printf "%s\n" "$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=' +@@ -15868,9 +16407,9 @@ + { 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' ++ { printf "%s\n" "$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' ++printf "%s\n" "$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" +@@ -15886,20 +16425,20 @@ + # + if test x"$ac_file" != x-; then + { +- $as_echo "/* $configure_input */" \ ++ printf "%s\n" "/* $configure_input */" >&1 \ + && 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 ++printf "%s\n" "$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 */" \ ++ printf "%s\n" "/* $configure_input */" >&1 \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +@@ -15919,7 +16458,7 @@ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$_am_arg" | ++printf "%s\n" X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -15939,8 +16478,8 @@ + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + +- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +-$as_echo "$as_me: executing $ac_file commands" >&6;} ++ :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 ++printf "%s\n" "$as_me: executing $ac_file commands" >&6;} + ;; + esac + +@@ -15950,29 +16489,35 @@ + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. +- case $CONFIG_FILES in +- *\'*) eval set x "$CONFIG_FILES" ;; +- *) set x $CONFIG_FILES ;; +- esac ++ # TODO: see whether this extra hack can be removed once we start ++ # requiring Autoconf 2.70 or later. ++ case $CONFIG_FILES in @%:@( ++ *\'*) : ++ eval set x "$CONFIG_FILES" ;; @%:@( ++ *) : ++ set x $CONFIG_FILES ;; @%:@( ++ *) : ++ ;; ++esac + shift +- for mf ++ # Used to flag and report bootstrapping failures. ++ am_rc=0 ++ for am_mf + do + # Strip MF so we end up with the name of the file. +- mf=`echo "$mf" | sed -e 's/:.*$//'` +- # Check whether this is an Automake generated Makefile or not. +- # We used to match only the files named 'Makefile.in', but +- # some people rename them; so instead we look at the file content. +- # Grep'ing the first line is not enough: some people post-process +- # each Makefile.in and add a new line on top of each file to say so. +- # Grep'ing the whole file is not good either: AIX grep has a line ++ am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'` ++ # Check whether this is an Automake generated Makefile which includes ++ # dependency-tracking related rules and includes. ++ # Grep'ing the whole file directly is not great: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. +- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then +- dirpart=`$as_dirname -- "$mf" || +-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$mf" : 'X\(//\)[^/]' \| \ +- X"$mf" : 'X\(//\)$' \| \ +- X"$mf" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$mf" | ++ sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ ++ || continue ++ am_dirpart=`$as_dirname -- "$am_mf" || ++$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$am_mf" : 'X\(//\)[^/]' \| \ ++ X"$am_mf" : 'X\(//\)$' \| \ ++ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || ++printf "%s\n" X"$am_mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -15990,53 +16535,50 @@ + q + } + s/.*/./; q'` +- else +- continue +- fi +- # Extract the definition of DEPDIR, am__include, and am__quote +- # from the Makefile without running 'make'. +- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` +- test -z "$DEPDIR" && continue +- am__include=`sed -n 's/^am__include = //p' < "$mf"` +- test -z "$am__include" && continue +- am__quote=`sed -n 's/^am__quote = //p' < "$mf"` +- # Find all dependency output files, they are included files with +- # $(DEPDIR) in their names. We invoke sed twice because it is the +- # simplest approach to changing $(DEPDIR) to its actual value in the +- # expansion. +- for file in `sed -n " +- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ +- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do +- # Make sure the directory exists. +- test -f "$dirpart/$file" && continue +- fdir=`$as_dirname -- "$file" || +-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$file" : 'X\(//\)[^/]' \| \ +- X"$file" : 'X\(//\)$' \| \ +- X"$file" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$file" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ am_filepart=`$as_basename -- "$am_mf" || ++$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$am_mf" : 'X\(//\)$' \| \ ++ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || ++printf "%s\n" X/"$am_mf" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } +- /^X\(\/\/\)[^/].*/{ ++ /^X\/\(\/\/\)$/{ + s//\1/ + q + } +- /^X\(\/\/\)$/{ ++ /^X\/\(\/\).*/{ + s//\1/ + q + } +- /^X\(\/\).*/{ +- s//\1/ +- q +- } + s/.*/./; q'` +- as_dir=$dirpart/$fdir; as_fn_mkdir_p +- # echo "creating $dirpart/$file" +- echo '# dummy' > "$dirpart/$file" +- done ++ { echo "$as_me:$LINENO: cd "$am_dirpart" \ ++ && sed -e '/# am--include-marker/d' "$am_filepart" \ ++ | $MAKE -f - am--depfiles" >&5 ++ (cd "$am_dirpart" \ ++ && sed -e '/# am--include-marker/d' "$am_filepart" \ ++ | $MAKE -f - am--depfiles) >&5 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } || am_rc=$? + done ++ if test $am_rc -ne 0; then ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} ++as_fn_error $? "Something went wrong bootstrapping makefile fragments ++ for automatic dependency tracking. If GNU make was not used, consider ++ re-running the configure script with MAKE=\"gmake\" (or whatever is ++ necessary). You can also try re-running configure with the ++ '--disable-dependency-tracking' option to at least be able to build ++ the package (albeit without support for automatic dependency tracking). ++See \`config.log' for more details" "$LINENO" 5; } ++ fi ++ { am_dirpart=; unset am_dirpart;} ++ { am_filepart=; unset am_filepart;} ++ { am_mf=; unset am_mf;} ++ { am_rc=; unset am_rc;} ++ rm -f conftest-deps.mk + } + ;; + "libtool":C) +@@ -16567,6 +17109,7 @@ + esac + + ++ + ltmain=$ac_aux_dir/ltmain.sh + + +@@ -16616,9 +17159,10 @@ + $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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 ++printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} + fi + + + ++ +\ No newline at end of file +diff --color -urN a/crlibm-1.0beta4/autom4te.cache/requests b/crlibm-1.0beta4/autom4te.cache/requests +--- a/crlibm-1.0beta4/autom4te.cache/requests 2024-12-06 13:32:36 ++++ b/crlibm-1.0beta4/autom4te.cache/requests 2024-12-06 13:33:15 +@@ -1,4 +1,4 @@ +-# This file was generated. ++# This file was generated by Autom4te 2.71. + # It contains the lists of macros which have been traced. + # It can be safely removed. + +@@ -7,780 +7,374 @@ + '0', + 1, + [ +- '/usr/share/autoconf' ++ '/Users/murilo/miniconda3/envs/blas-amuse-dev/share/autoconf' + ], + [ +- '/usr/share/autoconf/autoconf/autoconf.m4f', +- '-', +- '/usr/share/aclocal-1.15/internal/ac-config-macro-dirs.m4', +- '/usr/share/aclocal-1.15/amversion.m4', +- '/usr/share/aclocal-1.15/auxdir.m4', +- '/usr/share/aclocal-1.15/cond.m4', +- '/usr/share/aclocal-1.15/depend.m4', +- '/usr/share/aclocal-1.15/depout.m4', +- '/usr/share/aclocal-1.15/init.m4', +- '/usr/share/aclocal-1.15/install-sh.m4', +- '/usr/share/aclocal-1.15/lead-dot.m4', +- '/usr/share/aclocal-1.15/make.m4', +- '/usr/share/aclocal-1.15/missing.m4', +- '/usr/share/aclocal-1.15/options.m4', +- '/usr/share/aclocal-1.15/prog-cc-c-o.m4', +- '/usr/share/aclocal-1.15/runlog.m4', +- '/usr/share/aclocal-1.15/sanity.m4', +- '/usr/share/aclocal-1.15/silent.m4', +- '/usr/share/aclocal-1.15/strip.m4', +- '/usr/share/aclocal-1.15/substnot.m4', +- '/usr/share/aclocal-1.15/tar.m4', ++ '/Users/murilo/miniconda3/envs/blas-amuse-dev/share/autoconf/autoconf/autoconf.m4f', ++ '/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/internal/ac-config-macro-dirs.m4', ++ '/opt/homebrew/share/aclocal/ltargz.m4', ++ '/opt/homebrew/share/aclocal/ltdl.m4', ++ '/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/amversion.m4', ++ '/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/auxdir.m4', ++ '/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/cond.m4', ++ '/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/depend.m4', ++ '/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/depout.m4', ++ '/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/init.m4', ++ '/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/install-sh.m4', ++ '/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/lead-dot.m4', ++ '/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/make.m4', ++ '/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/missing.m4', ++ '/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/options.m4', ++ '/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/prog-cc-c-o.m4', ++ '/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/runlog.m4', ++ '/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/sanity.m4', ++ '/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/silent.m4', ++ '/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/strip.m4', ++ '/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/substnot.m4', ++ '/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/tar.m4', ++ 'm4/libtool.m4', ++ 'm4/ltoptions.m4', ++ 'm4/ltsugar.m4', ++ 'm4/ltversion.m4', ++ 'm4/lt~obsolete.m4', + 'configure.ac' + ], + { ++ 'AC_LIBTOOL_LANG_C_CONFIG' => 1, ++ 'AC_LIBTOOL_LINKER_OPTION' => 1, ++ 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1, ++ 'LT_FUNC_DLSYM_USCORE' => 1, ++ '_AM_DEPENDENCIES' => 1, ++ 'AC_CHECK_LIBM' => 1, + 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1, +- 'm4_pattern_forbid' => 1, +- 'AM_CONDITIONAL' => 1, +- 'AC_DEFUN_ONCE' => 1, +- '_AM_MANGLE_OPTION' => 1, ++ 'AC_CONFIG_MACRO_DIR' => 1, ++ '_LT_AC_SYS_COMPILER' => 1, ++ '_LT_COMPILER_OPTION' => 1, ++ 'LT_INIT' => 1, ++ '_LT_PROG_FC' => 1, ++ 'AM_ENABLE_STATIC' => 1, ++ 'AC_PROG_LD_RELOAD_FLAG' => 1, ++ 'LT_CONFIG_LTDL_DIR' => 1, ++ 'AC_LTDL_DLLIB' => 1, ++ 'LT_OUTPUT' => 1, ++ '_LT_DLL_DEF_P' => 1, ++ 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1, ++ '_LT_AC_PROG_CXXCPP' => 1, ++ 'AC_LIBTOOL_PICMODE' => 1, ++ '_LTDL_SETUP' => 1, ++ '_LT_PATH_TOOL_PREFIX' => 1, ++ 'AC_LIBTOOL_LANG_F77_CONFIG' => 1, ++ '_LT_AC_LANG_C_CONFIG' => 1, ++ 'AC_LIBTOOL_OBJDIR' => 1, + 'm4_include' => 1, +- '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, +- '_AM_SET_OPTION' => 1, ++ 'LTOBSOLETE_VERSION' => 1, ++ 'AM_PROG_NM' => 1, ++ 'AM_SANITY_CHECK' => 1, ++ 'AC_LIBTOOL_RC' => 1, + 'AM_INIT_AUTOMAKE' => 1, +- 'AM_AUTOMAKE_VERSION' => 1, +- 'include' => 1, +- '_AM_DEPENDENCIES' => 1, ++ 'm4_pattern_forbid' => 1, ++ 'LT_PATH_LD' => 1, ++ '_AC_PROG_LIBTOOL' => 1, ++ '_LT_AC_LANG_CXX_CONFIG' => 1, ++ '_LT_AC_LOCK' => 1, + 'AM_SET_LEADING_DOT' => 1, +- 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, +- '_AM_CONFIG_MACRO_DIRS' => 1, +- '_AM_IF_OPTION' => 1, +- 'AC_DEFUN' => 1, +- 'AM_MISSING_PROG' => 1, +- '_AM_SET_OPTIONS' => 1, +- '_AM_PROG_CC_C_O' => 1, +- 'AM_SANITY_CHECK' => 1, +- 'AM_MAKE_INCLUDE' => 1, +- 'AC_CONFIG_MACRO_DIR_TRACE' => 1, ++ '_LT_PROG_LTMAIN' => 1, ++ 'LT_LANG' => 1, ++ 'AC_LIBTOOL_CXX' => 1, ++ 'AC_LIBLTDL_INSTALLABLE' => 1, ++ 'AM_PROG_INSTALL_SH' => 1, ++ 'AC_ENABLE_SHARED' => 1, ++ '_LT_AC_LANG_GCJ' => 1, ++ '_LT_AC_PROG_ECHO_BACKSLASH' => 1, ++ 'AM_PROG_LIBTOOL' => 1, ++ 'AC_LIBTOOL_PROG_CC_C_O' => 1, + 'AM_SUBST_NOTMAKE' => 1, +- '_AM_SUBST_NOTMAKE' => 1, ++ '_LT_AC_TRY_DLOPEN_SELF' => 1, ++ 'AM_PROG_CC_C_O' => 1, ++ 'AC_PROG_LIBTOOL' => 1, ++ 'AM_MAKE_INCLUDE' => 1, ++ 'AC_DEFUN' => 1, ++ 'AM_ENABLE_SHARED' => 1, + '_AC_AM_CONFIG_HEADER_HOOK' => 1, +- 'AC_CONFIG_MACRO_DIR' => 1, +- 'AM_PROG_INSTALL_SH' => 1, +- '_m4_warn' => 1, +- '_AM_AUTOCONF_VERSION' => 1, +- 'AC_ADD_PATH_LIBS' => 1, +- 'AM_AUX_DIR_EXPAND' => 1, ++ 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1, ++ 'LT_SYS_DLOPEN_DEPLIBS' => 1, ++ '_AM_MANGLE_OPTION' => 1, ++ 'AC_LIBTOOL_CONFIG' => 1, ++ 'AM_RUN_LOG' => 1, ++ '_LT_AC_LANG_GCJ_CONFIG' => 1, ++ 'LT_SYS_DLOPEN_SELF' => 1, ++ 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1, ++ 'LT_SYS_DLSEARCH_PATH' => 1, ++ 'LT_FUNC_ARGZ' => 1, + 'AM_DEP_TRACK' => 1, +- 'AU_DEFUN' => 1, + '_AM_PROG_TAR' => 1, +- 'AM_PROG_CC_C_O' => 1, ++ 'LTOPTIONS_VERSION' => 1, ++ '_LT_PREPARE_SED_QUOTE_VARS' => 1, ++ '_LT_AC_SHELL_INIT' => 1, ++ '_LT_AC_LANG_CXX' => 1, ++ 'LT_AC_PROG_SED' => 1, ++ 'AC_PROG_NM' => 1, ++ 'AM_AUTOMAKE_VERSION' => 1, ++ 'AC_PROG_LD_GNU' => 1, ++ 'LT_LIB_M' => 1, + 'AM_SET_DEPDIR' => 1, ++ 'AC_DEPLIBS_CHECK_METHOD' => 1, ++ 'AC_LIBTOOL_COMPILER_OPTION' => 1, ++ 'LT_SYS_MODULE_EXT' => 1, ++ 'AC_ENABLE_STATIC' => 1, ++ 'AC_LIBTOOL_GCJ' => 1, ++ 'LTVERSION_VERSION' => 1, ++ 'AM_SILENT_RULES' => 1, ++ '_LT_LIBOBJ' => 1, ++ 'AC_LTDL_ENABLE_INSTALL' => 1, ++ 'LTDL_INIT' => 1, ++ 'AC_LIBTOOL_DLOPEN_SELF' => 1, ++ 'AC_LIBTOOL_SYS_LIB_STRIP' => 1, ++ 'AC_LTDL_DLSYM_USCORE' => 1, ++ 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1, ++ 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1, ++ 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, + 'AM_MISSING_HAS_RUN' => 1, ++ '_AM_SUBST_NOTMAKE' => 1, ++ '_AM_AUTOCONF_VERSION' => 1, ++ 'LT_AC_PROG_EGREP' => 1, ++ 'LT_WITH_LTDL' => 1, ++ '_LT_AC_LANG_F77' => 1, ++ '_LT_REQUIRED_DARWIN_CHECKS' => 1, ++ '_LT_AC_SYS_LIBPATH_AIX' => 1, ++ 'AM_AUX_DIR_EXPAND' => 1, ++ 'LT_SYS_SYMBOL_USCORE' => 1, ++ '_LT_WITH_SYSROOT' => 1, ++ '_LT_AC_FILE_LTDLL_C' => 1, ++ 'AM_DISABLE_STATIC' => 1, ++ 'AC_LTDL_PREOPEN' => 1, ++ 'AC_LIB_LTDL' => 1, ++ '_LT_LINKER_BOILERPLATE' => 1, ++ 'AM_DISABLE_SHARED' => 1, ++ '_LT_PROG_F77' => 1, ++ '_LT_AC_CHECK_DLFCN' => 1, ++ 'LT_AC_PROG_RC' => 1, ++ '_LT_PROG_CXX' => 1, ++ 'AM_CONDITIONAL' => 1, ++ 'AC_LIBTOOL_LANG_RC_CONFIG' => 1, ++ '_AM_SET_OPTION' => 1, ++ '_LT_AC_TAGCONFIG' => 1, ++ 'LT_LIB_DLLOAD' => 1, + 'm4_pattern_allow' => 1, +- 'AM_SILENT_RULES' => 1, ++ 'AM_PROG_LD' => 1, ++ 'LT_SUPPORTED_TAG' => 1, ++ 'AC_LIBTOOL_DLOPEN' => 1, ++ '_LT_LINKER_OPTION' => 1, ++ 'AM_MISSING_PROG' => 1, ++ 'AC_DEFUN_ONCE' => 1, ++ 'LT_PATH_NM' => 1, ++ 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1, ++ 'AC_LTDL_SHLIBPATH' => 1, ++ 'AC_PATH_TOOL_PREFIX' => 1, ++ 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1, ++ '_AM_IF_OPTION' => 1, + 'AM_PROG_INSTALL_STRIP' => 1, +- 'AM_RUN_LOG' => 1 ++ '_m4_warn' => 1, ++ 'LT_PROG_GO' => 1, ++ 'LTDL_CONVENIENCE' => 1, ++ '_AM_SET_OPTIONS' => 1, ++ 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1, ++ '_LT_AC_TAGVAR' => 1, ++ 'AC_PROG_EGREP' => 1, ++ 'AC_DISABLE_FAST_INSTALL' => 1, ++ '_AM_CONFIG_MACRO_DIRS' => 1, ++ 'LT_PROG_RC' => 1, ++ 'LT_AC_PROG_GCJ' => 1, ++ 'AC_LIBTOOL_WIN32_DLL' => 1, ++ '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, ++ '_AM_PROG_CC_C_O' => 1, ++ '_LT_COMPILER_BOILERPLATE' => 1, ++ 'AC_PATH_MAGIC' => 1, ++ 'AC_LIBTOOL_POSTDEP_PREDEP' => 1, ++ 'AC_LIBTOOL_SETUP' => 1, ++ 'AC_LTDL_SYMBOL_USCORE' => 1, ++ 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1, ++ '_LT_PROG_ECHO_BACKSLASH' => 1, ++ '_LT_CC_BASENAME' => 1, ++ 'AC_LTDL_SYSSEARCHPATH' => 1, ++ 'AC_LIBTOOL_FC' => 1, ++ 'AC_ADD_PATH_LIBS' => 1, ++ 'AC_ENABLE_FAST_INSTALL' => 1, ++ 'include' => 1, ++ 'AC_PROG_LD' => 1, ++ 'AC_LTDL_SHLIBEXT' => 1, ++ 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1, ++ 'AU_DEFUN' => 1, ++ 'AC_LIBTOOL_F77' => 1, ++ 'LT_PROG_GCJ' => 1, ++ 'LTDL_INSTALLABLE' => 1, ++ 'AC_DISABLE_SHARED' => 1, ++ 'LTSUGAR_VERSION' => 1, ++ 'AC_DISABLE_STATIC' => 1, ++ '_LT_AC_LANG_F77_CONFIG' => 1, ++ 'LT_SYS_MODULE_PATH' => 1, ++ 'AC_LTDL_OBJDIR' => 1, ++ '_LT_AC_LANG_RC_CONFIG' => 1, ++ 'AC_WITH_LTDL' => 1, ++ 'LT_CMD_MAX_LEN' => 1, ++ 'AC_LIBLTDL_CONVENIENCE' => 1, ++ 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1, ++ 'AC_CONFIG_MACRO_DIR_TRACE' => 1 + } + ], 'Autom4te::Request' ), + bless( [ + '1', + 1, + [ +- '/usr/share/autoconf' ++ '/Users/murilo/miniconda3/envs/blas-amuse-dev/share/autoconf' + ], + [ +- '/usr/share/autoconf/autoconf/autoconf.m4f', ++ '/Users/murilo/miniconda3/envs/blas-amuse-dev/share/autoconf/autoconf/autoconf.m4f', + 'aclocal.m4', + 'configure.ac' + ], + { +- 'AM_PROG_FC_C_O' => 1, +- 'AM_PROG_MKDIR_P' => 1, ++ 'AM_PATH_GUILE' => 1, ++ 'AC_SUBST_TRACE' => 1, + 'AC_CANONICAL_SYSTEM' => 1, +- 'AM_INIT_AUTOMAKE' => 1, +- 'include' => 1, +- 'AM_AUTOMAKE_VERSION' => 1, +- 'AM_MAKEFILE_INCLUDE' => 1, +- 'AC_INIT' => 1, ++ 'AM_SILENT_RULES' => 1, ++ 'AC_CONFIG_AUX_DIR' => 1, ++ 'AM_XGETTEXT_OPTION' => 1, ++ '_m4_warn' => 1, ++ 'AC_CONFIG_FILES' => 1, ++ 'AM_POT_TOOLS' => 1, ++ 'AC_FC_PP_SRCEXT' => 1, ++ 'AC_CONFIG_MACRO_DIR_TRACE' => 1, + '_AM_MAKEFILE_INCLUDE' => 1, +- 'AC_DEFINE_TRACE_LITERAL' => 1, +- 'AC_CONFIG_SUBDIRS' => 1, +- 'AC_CONFIG_LIBOBJ_DIR' => 1, ++ 'AM_PROG_LIBTOOL' => 1, + 'LT_SUPPORTED_TAG' => 1, +- 'AM_EXTRA_RECURSIVE_TARGETS' => 1, +- 'AC_CONFIG_FILES' => 1, ++ 'm4_pattern_allow' => 1, ++ 'm4_include' => 1, ++ 'AC_CONFIG_HEADERS' => 1, ++ 'AM_MAINTAINER_MODE' => 1, ++ 'IT_PROG_INTLTOOL' => 1, ++ 'AC_CANONICAL_HOST' => 1, ++ 'AM_AUTOMAKE_VERSION' => 1, ++ 'AC_CONFIG_SUBDIRS' => 1, + 'm4_sinclude' => 1, +- 'AC_FC_PP_DEFINE' => 1, +- 'AC_CONFIG_AUX_DIR' => 1, +- 'AM_PROG_CXX_C_O' => 1, +- 'AM_CONDITIONAL' => 1, +- 'AC_SUBST' => 1, + 'm4_pattern_forbid' => 1, +- 'AM_PROG_F77_C_O' => 1, +- 'AC_FC_FREEFORM' => 1, +- 'AM_MAINTAINER_MODE' => 1, +- 'AM_PATH_GUILE' => 1, +- 'AC_CONFIG_HEADERS' => 1, +- 'AC_CANONICAL_BUILD' => 1, +- 'AM_NLS' => 1, +- 'AC_FC_PP_SRCEXT' => 1, +- 'm4_include' => 1, +- 'AM_PROG_CC_C_O' => 1, +- 'AM_ENABLE_MULTILIB' => 1, +- 'AM_PROG_AR' => 1, +- 'AM_SILENT_RULES' => 1, ++ 'AC_CONFIG_LIBOBJ_DIR' => 1, ++ 'AM_INIT_AUTOMAKE' => 1, ++ 'AM_MAKEFILE_INCLUDE' => 1, ++ 'AC_FC_SRCEXT' => 1, ++ 'AM_PROG_FC_C_O' => 1, ++ 'AC_FC_PP_DEFINE' => 1, + 'AC_LIBSOURCE' => 1, ++ 'AC_INIT' => 1, ++ 'LT_INIT' => 1, ++ 'AM_PROG_AR' => 1, ++ '_AM_COND_ENDIF' => 1, ++ 'AC_FC_FREEFORM' => 1, + '_AM_COND_ELSE' => 1, +- 'AC_SUBST_TRACE' => 1, +- 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1, +- 'AC_CANONICAL_HOST' => 1, +- 'AC_FC_SRCEXT' => 1, +- 'm4_pattern_allow' => 1, +- 'AM_POT_TOOLS' => 1, ++ 'AM_PROG_MKDIR_P' => 1, + 'AC_CANONICAL_TARGET' => 1, ++ 'AC_SUBST' => 1, ++ 'LT_CONFIG_LTDL_DIR' => 1, ++ 'AM_ENABLE_MULTILIB' => 1, ++ 'AM_CONDITIONAL' => 1, ++ 'include' => 1, ++ '_LT_AC_TAGCONFIG' => 1, ++ 'AC_REQUIRE_AUX_FILE' => 1, ++ 'AC_CONFIG_LINKS' => 1, ++ 'AM_EXTRA_RECURSIVE_TARGETS' => 1, ++ 'AM_NLS' => 1, ++ 'AM_PROG_CC_C_O' => 1, ++ 'AC_PROG_LIBTOOL' => 1, + 'sinclude' => 1, ++ '_AM_COND_IF' => 1, + '_AM_SUBST_NOTMAKE' => 1, +- 'AC_REQUIRE_AUX_FILE' => 1, +- '_LT_AC_TAGCONFIG' => 1, ++ 'AC_CANONICAL_BUILD' => 1, + 'AM_GNU_GETTEXT' => 1, +- 'AH_OUTPUT' => 1, +- '_AM_COND_IF' => 1, +- 'LT_INIT' => 1, +- '_m4_warn' => 1, +- 'LT_CONFIG_LTDL_DIR' => 1, +- 'AC_CONFIG_LINKS' => 1, +- 'AM_XGETTEXT_OPTION' => 1, + 'AM_PROG_MOC' => 1, +- 'AC_PROG_LIBTOOL' => 1, +- '_AM_COND_ENDIF' => 1 ++ 'AM_PROG_CXX_C_O' => 1, ++ 'AC_DEFINE_TRACE_LITERAL' => 1, ++ 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1, ++ 'AH_OUTPUT' => 1, ++ 'AM_PROG_F77_C_O' => 1, ++ 'GTK_DOC_CHECK' => 1 + } + ], 'Autom4te::Request' ), + bless( [ + '2', + 1, + [ +- '/usr/share/autoconf' ++ '/Users/murilo/miniconda3/envs/blas-amuse-dev/share/autoconf' + ], + [ +- '/usr/share/autoconf/autoconf/autoconf.m4f', +- '-', +- '/usr/share/aclocal-1.15/internal/ac-config-macro-dirs.m4', +- '/usr/share/aclocal/libtool.m4', +- '/usr/share/aclocal/ltargz.m4', +- '/usr/share/aclocal/ltdl.m4', +- '/usr/share/aclocal/ltoptions.m4', +- '/usr/share/aclocal/ltsugar.m4', +- '/usr/share/aclocal/ltversion.m4', +- '/usr/share/aclocal/lt~obsolete.m4', +- '/usr/share/aclocal-1.15/amversion.m4', +- '/usr/share/aclocal-1.15/auxdir.m4', +- '/usr/share/aclocal-1.15/cond.m4', +- '/usr/share/aclocal-1.15/depend.m4', +- '/usr/share/aclocal-1.15/depout.m4', +- '/usr/share/aclocal-1.15/init.m4', +- '/usr/share/aclocal-1.15/install-sh.m4', +- '/usr/share/aclocal-1.15/lead-dot.m4', +- '/usr/share/aclocal-1.15/make.m4', +- '/usr/share/aclocal-1.15/missing.m4', +- '/usr/share/aclocal-1.15/options.m4', +- '/usr/share/aclocal-1.15/prog-cc-c-o.m4', +- '/usr/share/aclocal-1.15/runlog.m4', +- '/usr/share/aclocal-1.15/sanity.m4', +- '/usr/share/aclocal-1.15/silent.m4', +- '/usr/share/aclocal-1.15/strip.m4', +- '/usr/share/aclocal-1.15/substnot.m4', +- '/usr/share/aclocal-1.15/tar.m4', ++ '/Users/murilo/miniconda3/envs/blas-amuse-dev/share/autoconf/autoconf/autoconf.m4f', ++ 'aclocal.m4', ++ '/Users/murilo/miniconda3/envs/blas-amuse-dev/share/autoconf/autoconf/trailer.m4', + 'configure.ac' + ], + { +- 'LT_WITH_LTDL' => 1, +- '_LT_DLL_DEF_P' => 1, +- 'AM_DISABLE_STATIC' => 1, +- 'AC_DISABLE_FAST_INSTALL' => 1, +- 'LT_PROG_RC' => 1, +- '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, +- 'AC_LIBTOOL_POSTDEP_PREDEP' => 1, +- 'LT_SUPPORTED_TAG' => 1, +- 'AC_ENABLE_FAST_INSTALL' => 1, +- '_LT_PROG_CXX' => 1, +- 'AC_LTDL_SHLIBPATH' => 1, +- '_LT_AC_LANG_F77' => 1, +- 'AC_DISABLE_STATIC' => 1, +- '_AM_SET_OPTIONS' => 1, +- 'AC_LIBTOOL_DLOPEN_SELF' => 1, +- '_LT_AC_LANG_F77_CONFIG' => 1, +- 'AC_LIB_LTDL' => 1, +- 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1, +- 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1, +- 'AC_PROG_LIBTOOL' => 1, +- 'LT_FUNC_ARGZ' => 1, +- '_AM_AUTOCONF_VERSION' => 1, +- 'AC_LIBLTDL_CONVENIENCE' => 1, +- '_LT_AC_FILE_LTDLL_C' => 1, +- 'AC_LIBLTDL_INSTALLABLE' => 1, + '_LT_AC_TAGCONFIG' => 1, +- 'LT_AC_PROG_RC' => 1, +- '_LT_PREPARE_SED_QUOTE_VARS' => 1, +- 'AC_LIBTOOL_GCJ' => 1, +- 'AC_LTDL_ENABLE_INSTALL' => 1, +- 'AM_PROG_LIBTOOL' => 1, +- 'AC_PROG_LD' => 1, +- 'AC_LTDL_SHLIBEXT' => 1, +- 'LT_LIB_DLLOAD' => 1, +- '_LT_AC_LANG_RC_CONFIG' => 1, +- 'LT_AC_PROG_EGREP' => 1, +- 'AC_LIBTOOL_CXX' => 1, +- 'AC_LTDL_SYSSEARCHPATH' => 1, +- 'AC_LIBTOOL_COMPILER_OPTION' => 1, +- 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1, +- 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1, +- 'LT_SYS_MODULE_EXT' => 1, +- 'm4_pattern_forbid' => 1, +- 'AC_PROG_LD_GNU' => 1, +- 'AC_ENABLE_STATIC' => 1, +- 'AC_LTDL_SYMBOL_USCORE' => 1, +- 'AC_LIBTOOL_SETUP' => 1, +- 'AM_MISSING_PROG' => 1, +- 'LTOPTIONS_VERSION' => 1, +- 'AM_SANITY_CHECK' => 1, +- 'AC_PROG_LD_RELOAD_FLAG' => 1, +- '_LT_AC_LANG_CXX_CONFIG' => 1, +- 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, +- '_AM_DEPENDENCIES' => 1, +- 'AC_LIBTOOL_FC' => 1, + 'include' => 1, +- '_LT_AC_LANG_C_CONFIG' => 1, +- '_AM_IF_OPTION' => 1, +- 'LT_OUTPUT' => 1, +- 'AM_PROG_INSTALL_SH' => 1, +- 'AC_CONFIG_MACRO_DIR' => 1, +- '_LT_AC_SYS_LIBPATH_AIX' => 1, +- 'AM_DISABLE_SHARED' => 1, +- '_LT_PROG_F77' => 1, +- '_LT_AC_PROG_CXXCPP' => 1, +- '_LT_LINKER_BOILERPLATE' => 1, +- '_LT_PATH_TOOL_PREFIX' => 1, +- 'LT_INIT' => 1, +- 'AM_SUBST_NOTMAKE' => 1, +- '_AM_SUBST_NOTMAKE' => 1, +- 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1, +- 'AC_WITH_LTDL' => 1, +- 'AC_DISABLE_SHARED' => 1, +- '_LT_AC_CHECK_DLFCN' => 1, +- 'm4_pattern_allow' => 1, +- 'AM_MISSING_HAS_RUN' => 1, +- 'AM_PROG_INSTALL_STRIP' => 1, +- 'AM_RUN_LOG' => 1, +- '_LTDL_SETUP' => 1, +- 'AC_ENABLE_SHARED' => 1, +- 'AC_LIBTOOL_LANG_RC_CONFIG' => 1, +- 'AM_AUX_DIR_EXPAND' => 1, +- 'LTVERSION_VERSION' => 1, +- 'AC_PROG_EGREP' => 1, +- 'AC_LIBTOOL_LANG_F77_CONFIG' => 1, +- '_LT_LINKER_OPTION' => 1, +- '_AC_PROG_LIBTOOL' => 1, +- 'AM_DEP_TRACK' => 1, +- 'm4_include' => 1, +- 'AC_LIBTOOL_DLOPEN' => 1, +- 'AC_PATH_MAGIC' => 1, +- 'AC_LIBTOOL_LINKER_OPTION' => 1, +- '_LT_PROG_ECHO_BACKSLASH' => 1, +- 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1, +- 'AM_ENABLE_STATIC' => 1, +- '_LT_WITH_SYSROOT' => 1, +- 'AC_LIBTOOL_OBJDIR' => 1, +- 'LTDL_CONVENIENCE' => 1, +- '_LT_AC_LANG_CXX' => 1, +- 'AC_LTDL_DLSYM_USCORE' => 1, +- 'LT_CMD_MAX_LEN' => 1, +- '_AM_PROG_CC_C_O' => 1, +- '_LT_AC_LANG_GCJ_CONFIG' => 1, +- 'AC_CHECK_LIBM' => 1, +- 'LTDL_INIT' => 1, +- '_LT_AC_SYS_COMPILER' => 1, +- 'AM_PROG_NM' => 1, +- 'AC_LIBTOOL_SYS_LIB_STRIP' => 1, +- '_LT_LIBOBJ' => 1, +- 'LT_FUNC_DLSYM_USCORE' => 1, +- 'AC_DEFUN' => 1, +- 'AC_LIBTOOL_PROG_CC_C_O' => 1, +- '_LT_REQUIRED_DARWIN_CHECKS' => 1, +- 'LT_SYS_MODULE_PATH' => 1, +- 'AC_LTDL_DLLIB' => 1, +- 'LTOBSOLETE_VERSION' => 1, +- 'LTDL_INSTALLABLE' => 1, +- 'LT_SYS_DLOPEN_SELF' => 1, +- 'AC_LIBTOOL_RC' => 1, +- '_LT_AC_PROG_ECHO_BACKSLASH' => 1, +- 'AC_CONFIG_MACRO_DIR_TRACE' => 1, +- '_LT_CC_BASENAME' => 1, +- 'LT_PATH_NM' => 1, +- 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1, +- 'LTSUGAR_VERSION' => 1, +- 'AC_LIBTOOL_CONFIG' => 1, +- '_LT_AC_TAGVAR' => 1, +- 'AM_PROG_LD' => 1, +- 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1, +- 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1, +- 'LT_PROG_GCJ' => 1, +- 'AC_LIBTOOL_F77' => 1, +- 'LT_SYS_DLOPEN_DEPLIBS' => 1, +- 'LT_PATH_LD' => 1, +- '_AM_PROG_TAR' => 1, +- 'AU_DEFUN' => 1, +- 'LT_AC_PROG_GCJ' => 1, +- 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1, +- 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1, +- '_AM_MANGLE_OPTION' => 1, +- '_LT_AC_LANG_GCJ' => 1, +- '_AM_SET_OPTION' => 1, +- '_LT_AC_TRY_DLOPEN_SELF' => 1, +- 'AC_PROG_NM' => 1, +- '_LT_PROG_FC' => 1, +- 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1, +- 'AC_DEFUN_ONCE' => 1, + 'AM_CONDITIONAL' => 1, +- 'LT_SYS_SYMBOL_USCORE' => 1, +- 'LT_PROG_GO' => 1, +- '_LT_AC_SHELL_INIT' => 1, +- 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1, +- '_AM_CONFIG_MACRO_DIRS' => 1, +- 'AM_SET_LEADING_DOT' => 1, +- 'AM_AUTOMAKE_VERSION' => 1, +- 'AM_INIT_AUTOMAKE' => 1, +- 'AC_LIBTOOL_LANG_C_CONFIG' => 1, +- 'AC_DEPLIBS_CHECK_METHOD' => 1, +- 'AC_LIBTOOL_WIN32_DLL' => 1, +- 'AC_PATH_TOOL_PREFIX' => 1, +- 'AM_ENABLE_SHARED' => 1, ++ 'AM_ENABLE_MULTILIB' => 1, ++ 'AC_SUBST' => 1, ++ 'AC_CANONICAL_TARGET' => 1, ++ 'AM_PROG_MKDIR_P' => 1, + 'LT_CONFIG_LTDL_DIR' => 1, +- '_m4_warn' => 1, +- 'AC_LIBTOOL_PICMODE' => 1, +- 'AC_LTDL_OBJDIR' => 1, +- 'AM_MAKE_INCLUDE' => 1, +- '_AC_AM_CONFIG_HEADER_HOOK' => 1, +- '_LT_AC_LOCK' => 1, +- 'LT_AC_PROG_SED' => 1, +- '_LT_COMPILER_BOILERPLATE' => 1, +- 'AM_SILENT_RULES' => 1, +- 'LT_LIB_M' => 1, +- '_LT_COMPILER_OPTION' => 1, +- 'LT_SYS_DLSEARCH_PATH' => 1, +- '_LT_PROG_LTMAIN' => 1, +- 'AC_LTDL_PREOPEN' => 1, +- 'AC_ADD_PATH_LIBS' => 1, +- 'AM_SET_DEPDIR' => 1, +- 'AM_PROG_CC_C_O' => 1, +- 'LT_LANG' => 1 +- } +- ], 'Autom4te::Request' ), +- bless( [ +- '3', +- 1, +- [ +- '/usr/share/autoconf' +- ], +- [ +- '/usr/share/autoconf/autoconf/autoconf.m4f', +- '-', +- '/usr/share/aclocal-1.15/internal/ac-config-macro-dirs.m4', +- '/usr/share/aclocal/ltargz.m4', +- '/usr/share/aclocal/ltdl.m4', +- '/usr/share/aclocal-1.15/amversion.m4', +- '/usr/share/aclocal-1.15/auxdir.m4', +- '/usr/share/aclocal-1.15/cond.m4', +- '/usr/share/aclocal-1.15/depend.m4', +- '/usr/share/aclocal-1.15/depout.m4', +- '/usr/share/aclocal-1.15/init.m4', +- '/usr/share/aclocal-1.15/install-sh.m4', +- '/usr/share/aclocal-1.15/lead-dot.m4', +- '/usr/share/aclocal-1.15/make.m4', +- '/usr/share/aclocal-1.15/missing.m4', +- '/usr/share/aclocal-1.15/options.m4', +- '/usr/share/aclocal-1.15/prog-cc-c-o.m4', +- '/usr/share/aclocal-1.15/runlog.m4', +- '/usr/share/aclocal-1.15/sanity.m4', +- '/usr/share/aclocal-1.15/silent.m4', +- '/usr/share/aclocal-1.15/strip.m4', +- '/usr/share/aclocal-1.15/substnot.m4', +- '/usr/share/aclocal-1.15/tar.m4', +- 'm4/libtool.m4', +- 'm4/ltoptions.m4', +- 'm4/ltsugar.m4', +- 'm4/ltversion.m4', +- 'm4/lt~obsolete.m4', +- 'configure.ac' +- ], +- { +- 'AC_PROG_EGREP' => 1, +- 'LTVERSION_VERSION' => 1, +- 'AM_AUX_DIR_EXPAND' => 1, +- 'AM_DEP_TRACK' => 1, +- '_AC_PROG_LIBTOOL' => 1, +- '_LT_LINKER_OPTION' => 1, +- 'AC_LIBTOOL_LANG_F77_CONFIG' => 1, +- 'AM_MISSING_HAS_RUN' => 1, +- 'm4_pattern_allow' => 1, +- '_LT_AC_CHECK_DLFCN' => 1, +- 'AC_LIBTOOL_LANG_RC_CONFIG' => 1, +- 'AC_ENABLE_SHARED' => 1, +- '_LTDL_SETUP' => 1, +- 'AM_RUN_LOG' => 1, +- 'AM_PROG_INSTALL_STRIP' => 1, ++ '_AM_COND_ENDIF' => 1, ++ 'AC_FC_FREEFORM' => 1, ++ '_AM_COND_ELSE' => 1, ++ 'AM_PROG_AR' => 1, + 'LT_INIT' => 1, +- '_LT_PATH_TOOL_PREFIX' => 1, +- '_LT_LINKER_BOILERPLATE' => 1, +- '_LT_AC_PROG_CXXCPP' => 1, +- 'AC_DISABLE_SHARED' => 1, +- 'AC_WITH_LTDL' => 1, +- 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1, +- 'AM_SUBST_NOTMAKE' => 1, ++ 'AM_PROG_F77_C_O' => 1, ++ 'GTK_DOC_CHECK' => 1, ++ 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1, ++ 'AH_OUTPUT' => 1, ++ 'AM_PROG_CXX_C_O' => 1, ++ 'AM_PROG_MOC' => 1, ++ 'AC_DEFINE_TRACE_LITERAL' => 1, ++ 'AC_CANONICAL_BUILD' => 1, ++ 'AM_GNU_GETTEXT' => 1, + '_AM_SUBST_NOTMAKE' => 1, +- '_LT_AC_SYS_LIBPATH_AIX' => 1, +- 'AC_CONFIG_MACRO_DIR' => 1, +- 'AM_PROG_INSTALL_SH' => 1, +- 'AM_DISABLE_SHARED' => 1, +- '_LT_PROG_F77' => 1, +- 'include' => 1, +- '_AM_DEPENDENCIES' => 1, +- 'AC_LIBTOOL_FC' => 1, +- '_LT_AC_LANG_CXX_CONFIG' => 1, +- 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, +- 'LT_OUTPUT' => 1, +- '_AM_IF_OPTION' => 1, +- '_LT_AC_LANG_C_CONFIG' => 1, +- 'AM_MISSING_PROG' => 1, +- 'AC_LIBTOOL_SETUP' => 1, +- 'AC_PROG_LD_RELOAD_FLAG' => 1, +- 'AM_SANITY_CHECK' => 1, +- 'LTOPTIONS_VERSION' => 1, +- 'LT_SYS_MODULE_EXT' => 1, +- 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1, +- 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1, +- 'AC_ENABLE_STATIC' => 1, +- 'AC_LTDL_SYMBOL_USCORE' => 1, +- 'm4_pattern_forbid' => 1, +- 'AC_PROG_LD_GNU' => 1, +- 'AC_LTDL_SYSSEARCHPATH' => 1, +- 'AC_LIBTOOL_CXX' => 1, +- 'AC_LIBTOOL_COMPILER_OPTION' => 1, +- '_LT_AC_LANG_RC_CONFIG' => 1, +- 'LT_LIB_DLLOAD' => 1, +- 'LT_AC_PROG_EGREP' => 1, +- 'AC_PROG_LD' => 1, +- 'AC_LTDL_SHLIBEXT' => 1, +- 'AM_PROG_LIBTOOL' => 1, +- 'AC_LTDL_ENABLE_INSTALL' => 1, +- 'AC_LIBTOOL_GCJ' => 1, +- 'LT_AC_PROG_RC' => 1, +- '_LT_PREPARE_SED_QUOTE_VARS' => 1, +- 'AC_LIBLTDL_CONVENIENCE' => 1, +- '_LT_AC_TAGCONFIG' => 1, +- 'AC_LIBLTDL_INSTALLABLE' => 1, +- '_LT_AC_FILE_LTDLL_C' => 1, +- 'LT_FUNC_ARGZ' => 1, ++ '_AM_COND_IF' => 1, ++ 'sinclude' => 1, ++ 'AC_CONFIG_LINKS' => 1, + 'AC_PROG_LIBTOOL' => 1, +- '_AM_AUTOCONF_VERSION' => 1, +- 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1, +- 'AC_LIB_LTDL' => 1, +- '_LT_AC_LANG_F77_CONFIG' => 1, +- 'AC_LIBTOOL_DLOPEN_SELF' => 1, +- 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1, +- 'AC_ENABLE_FAST_INSTALL' => 1, +- '_LT_PROG_CXX' => 1, +- 'LT_SUPPORTED_TAG' => 1, +- '_AM_SET_OPTIONS' => 1, +- '_LT_AC_LANG_F77' => 1, +- 'AC_DISABLE_STATIC' => 1, +- 'AC_LTDL_SHLIBPATH' => 1, +- 'AC_LIBTOOL_POSTDEP_PREDEP' => 1, +- 'AC_DISABLE_FAST_INSTALL' => 1, +- '_LT_DLL_DEF_P' => 1, +- 'AM_DISABLE_STATIC' => 1, +- 'LT_WITH_LTDL' => 1, +- '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, +- 'LT_PROG_RC' => 1, +- 'AC_LTDL_PREOPEN' => 1, +- 'AC_ADD_PATH_LIBS' => 1, +- '_LT_PROG_LTMAIN' => 1, +- 'LT_SYS_DLSEARCH_PATH' => 1, +- '_LT_COMPILER_OPTION' => 1, +- 'LT_LANG' => 1, +- 'AM_SET_DEPDIR' => 1, ++ 'AM_EXTRA_RECURSIVE_TARGETS' => 1, ++ 'AM_NLS' => 1, + 'AM_PROG_CC_C_O' => 1, +- '_LT_COMPILER_BOILERPLATE' => 1, +- 'LT_LIB_M' => 1, +- 'AM_SILENT_RULES' => 1, +- 'AC_LTDL_OBJDIR' => 1, +- 'AM_MAKE_INCLUDE' => 1, +- 'LT_AC_PROG_SED' => 1, +- '_AC_AM_CONFIG_HEADER_HOOK' => 1, +- '_LT_AC_LOCK' => 1, +- 'AM_ENABLE_SHARED' => 1, +- 'AC_LIBTOOL_PICMODE' => 1, +- '_m4_warn' => 1, +- 'LT_CONFIG_LTDL_DIR' => 1, +- 'AM_INIT_AUTOMAKE' => 1, +- 'AM_AUTOMAKE_VERSION' => 1, +- 'AM_SET_LEADING_DOT' => 1, +- '_AM_CONFIG_MACRO_DIRS' => 1, +- 'AC_LIBTOOL_WIN32_DLL' => 1, +- 'AC_PATH_TOOL_PREFIX' => 1, +- 'AC_DEPLIBS_CHECK_METHOD' => 1, +- 'AC_LIBTOOL_LANG_C_CONFIG' => 1, +- 'LT_SYS_SYMBOL_USCORE' => 1, +- 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1, +- 'LT_PROG_GO' => 1, +- '_LT_AC_SHELL_INIT' => 1, +- 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1, +- '_LT_PROG_FC' => 1, +- 'AC_PROG_NM' => 1, +- 'AM_CONDITIONAL' => 1, +- 'AC_DEFUN_ONCE' => 1, +- '_AM_MANGLE_OPTION' => 1, +- 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1, +- 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1, +- 'LT_AC_PROG_GCJ' => 1, +- '_LT_AC_TRY_DLOPEN_SELF' => 1, +- '_LT_AC_LANG_GCJ' => 1, +- '_AM_SET_OPTION' => 1, +- 'LT_SYS_DLOPEN_DEPLIBS' => 1, +- 'AC_LIBTOOL_F77' => 1, +- 'LT_PATH_LD' => 1, +- 'LT_PROG_GCJ' => 1, +- 'AU_DEFUN' => 1, +- '_AM_PROG_TAR' => 1, +- 'LTSUGAR_VERSION' => 1, +- 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1, +- 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1, +- 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1, +- 'AM_PROG_LD' => 1, +- '_LT_AC_TAGVAR' => 1, +- 'AC_LIBTOOL_CONFIG' => 1, +- 'LT_PATH_NM' => 1, ++ 'AC_REQUIRE_AUX_FILE' => 1, + 'AC_CONFIG_MACRO_DIR_TRACE' => 1, +- '_LT_CC_BASENAME' => 1, +- '_LT_AC_PROG_ECHO_BACKSLASH' => 1, +- 'LTDL_INSTALLABLE' => 1, +- 'AC_LTDL_DLLIB' => 1, +- 'LTOBSOLETE_VERSION' => 1, +- 'LT_SYS_MODULE_PATH' => 1, +- 'LT_SYS_DLOPEN_SELF' => 1, +- 'AC_LIBTOOL_RC' => 1, +- 'AM_PROG_NM' => 1, +- '_LT_AC_SYS_COMPILER' => 1, +- '_LT_REQUIRED_DARWIN_CHECKS' => 1, +- 'AC_LIBTOOL_PROG_CC_C_O' => 1, +- 'AC_DEFUN' => 1, +- 'LT_FUNC_DLSYM_USCORE' => 1, +- '_LT_LIBOBJ' => 1, +- 'AC_LIBTOOL_SYS_LIB_STRIP' => 1, +- 'AC_LTDL_DLSYM_USCORE' => 1, +- '_LT_AC_LANG_CXX' => 1, +- 'LTDL_INIT' => 1, +- 'AC_CHECK_LIBM' => 1, +- '_LT_AC_LANG_GCJ_CONFIG' => 1, +- '_AM_PROG_CC_C_O' => 1, +- 'LT_CMD_MAX_LEN' => 1, +- 'AM_ENABLE_STATIC' => 1, +- 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1, +- 'LTDL_CONVENIENCE' => 1, +- 'AC_LIBTOOL_OBJDIR' => 1, +- '_LT_WITH_SYSROOT' => 1, +- 'AC_PATH_MAGIC' => 1, +- 'AC_LIBTOOL_DLOPEN' => 1, +- 'm4_include' => 1, +- '_LT_PROG_ECHO_BACKSLASH' => 1, +- 'AC_LIBTOOL_LINKER_OPTION' => 1 +- } +- ], 'Autom4te::Request' ), +- bless( [ +- '4', +- 1, +- [ +- '/usr/share/autoconf' +- ], +- [ +- '/usr/share/autoconf/autoconf/autoconf.m4f', +- '-', +- '/usr/share/aclocal-1.15/internal/ac-config-macro-dirs.m4', +- '/usr/share/aclocal-1.15/amversion.m4', +- '/usr/share/aclocal-1.15/auxdir.m4', +- '/usr/share/aclocal-1.15/cond.m4', +- '/usr/share/aclocal-1.15/depend.m4', +- '/usr/share/aclocal-1.15/depout.m4', +- '/usr/share/aclocal-1.15/init.m4', +- '/usr/share/aclocal-1.15/install-sh.m4', +- '/usr/share/aclocal-1.15/lead-dot.m4', +- '/usr/share/aclocal-1.15/make.m4', +- '/usr/share/aclocal-1.15/missing.m4', +- '/usr/share/aclocal-1.15/options.m4', +- '/usr/share/aclocal-1.15/prog-cc-c-o.m4', +- '/usr/share/aclocal-1.15/runlog.m4', +- '/usr/share/aclocal-1.15/sanity.m4', +- '/usr/share/aclocal-1.15/silent.m4', +- '/usr/share/aclocal-1.15/strip.m4', +- '/usr/share/aclocal-1.15/substnot.m4', +- '/usr/share/aclocal-1.15/tar.m4', +- 'm4/libtool.m4', +- 'm4/ltoptions.m4', +- 'm4/ltsugar.m4', +- 'm4/ltversion.m4', +- 'm4/lt~obsolete.m4', +- 'configure.ac' +- ], +- { ++ 'AC_FC_PP_SRCEXT' => 1, ++ 'AM_PROG_LIBTOOL' => 1, ++ '_AM_MAKEFILE_INCLUDE' => 1, ++ 'AC_CONFIG_FILES' => 1, ++ 'AM_POT_TOOLS' => 1, + '_m4_warn' => 1, +- 'AC_LIBTOOL_PICMODE' => 1, +- 'AM_ENABLE_SHARED' => 1, +- '_AC_AM_CONFIG_HEADER_HOOK' => 1, +- '_LT_AC_LOCK' => 1, +- 'LT_AC_PROG_SED' => 1, +- 'AC_LTDL_OBJDIR' => 1, +- 'AM_MAKE_INCLUDE' => 1, ++ 'AC_CONFIG_AUX_DIR' => 1, ++ 'AM_XGETTEXT_OPTION' => 1, ++ 'AC_SUBST_TRACE' => 1, ++ 'AC_CANONICAL_SYSTEM' => 1, + 'AM_SILENT_RULES' => 1, +- 'LT_LIB_M' => 1, +- '_LT_COMPILER_BOILERPLATE' => 1, +- 'AM_PROG_CC_C_O' => 1, +- 'AM_SET_DEPDIR' => 1, +- 'LT_LANG' => 1, +- '_LT_COMPILER_OPTION' => 1, +- '_LT_PROG_LTMAIN' => 1, +- 'AC_LTDL_PREOPEN' => 1, +- 'AC_ADD_PATH_LIBS' => 1, +- '_LT_AC_LANG_GCJ' => 1, +- '_AM_SET_OPTION' => 1, +- '_LT_AC_TRY_DLOPEN_SELF' => 1, +- 'LT_AC_PROG_GCJ' => 1, +- 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1, +- '_AM_MANGLE_OPTION' => 1, +- 'AC_DEFUN_ONCE' => 1, +- 'AM_CONDITIONAL' => 1, +- 'AC_PROG_NM' => 1, +- '_LT_PROG_FC' => 1, +- 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1, +- '_LT_AC_SHELL_INIT' => 1, +- 'LT_PROG_GO' => 1, +- 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1, +- 'AC_LIBTOOL_LANG_C_CONFIG' => 1, +- 'AC_DEPLIBS_CHECK_METHOD' => 1, +- 'AC_PATH_TOOL_PREFIX' => 1, +- 'AC_LIBTOOL_WIN32_DLL' => 1, +- '_AM_CONFIG_MACRO_DIRS' => 1, +- 'AM_SET_LEADING_DOT' => 1, +- 'AM_AUTOMAKE_VERSION' => 1, ++ 'AM_PATH_GUILE' => 1, ++ 'AC_INIT' => 1, ++ 'AC_LIBSOURCE' => 1, ++ 'AC_FC_SRCEXT' => 1, ++ 'AC_FC_PP_DEFINE' => 1, ++ 'AM_PROG_FC_C_O' => 1, ++ 'm4_pattern_forbid' => 1, ++ 'm4_sinclude' => 1, ++ 'AC_CONFIG_LIBOBJ_DIR' => 1, ++ 'AM_MAKEFILE_INCLUDE' => 1, + 'AM_INIT_AUTOMAKE' => 1, +- 'AC_LIBTOOL_RC' => 1, +- 'LT_SYS_DLOPEN_SELF' => 1, +- 'LTOBSOLETE_VERSION' => 1, +- '_LT_AC_PROG_ECHO_BACKSLASH' => 1, +- 'AC_CONFIG_MACRO_DIR_TRACE' => 1, +- '_LT_CC_BASENAME' => 1, +- 'LT_PATH_NM' => 1, +- 'AC_LIBTOOL_CONFIG' => 1, +- '_LT_AC_TAGVAR' => 1, +- 'AM_PROG_LD' => 1, +- 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1, +- 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1, +- 'LTSUGAR_VERSION' => 1, +- 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1, +- '_AM_PROG_TAR' => 1, +- 'AU_DEFUN' => 1, +- 'LT_PROG_GCJ' => 1, +- 'LT_PATH_LD' => 1, +- 'AC_LIBTOOL_F77' => 1, +- 'AC_LIBTOOL_LINKER_OPTION' => 1, +- '_LT_PROG_ECHO_BACKSLASH' => 1, ++ 'AC_CONFIG_SUBDIRS' => 1, ++ 'AM_AUTOMAKE_VERSION' => 1, ++ 'AC_CANONICAL_HOST' => 1, ++ 'IT_PROG_INTLTOOL' => 1, + 'm4_include' => 1, +- 'AC_LIBTOOL_DLOPEN' => 1, +- 'AC_PATH_MAGIC' => 1, +- '_LT_WITH_SYSROOT' => 1, +- 'AC_LIBTOOL_OBJDIR' => 1, +- 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1, +- 'AM_ENABLE_STATIC' => 1, +- 'LT_CMD_MAX_LEN' => 1, +- '_LT_AC_LANG_GCJ_CONFIG' => 1, +- '_AM_PROG_CC_C_O' => 1, +- 'AC_CHECK_LIBM' => 1, +- '_LT_AC_LANG_CXX' => 1, +- 'AC_LIBTOOL_SYS_LIB_STRIP' => 1, +- 'AC_DEFUN' => 1, +- '_LT_REQUIRED_DARWIN_CHECKS' => 1, +- 'AC_LIBTOOL_PROG_CC_C_O' => 1, +- '_LT_AC_SYS_COMPILER' => 1, +- 'AM_PROG_NM' => 1, +- '_LT_PROG_F77' => 1, +- 'AM_DISABLE_SHARED' => 1, +- 'AM_PROG_INSTALL_SH' => 1, +- 'AC_CONFIG_MACRO_DIR' => 1, +- '_LT_AC_SYS_LIBPATH_AIX' => 1, +- '_AM_SUBST_NOTMAKE' => 1, +- 'AM_SUBST_NOTMAKE' => 1, +- 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1, +- 'AC_DISABLE_SHARED' => 1, +- '_LT_AC_PROG_CXXCPP' => 1, +- '_LT_LINKER_BOILERPLATE' => 1, +- 'LT_INIT' => 1, +- '_LT_PATH_TOOL_PREFIX' => 1, +- 'AM_PROG_INSTALL_STRIP' => 1, +- 'AM_RUN_LOG' => 1, +- 'AC_ENABLE_SHARED' => 1, +- 'AC_LIBTOOL_LANG_RC_CONFIG' => 1, +- '_LT_AC_CHECK_DLFCN' => 1, +- 'm4_pattern_allow' => 1, +- 'AM_MISSING_HAS_RUN' => 1, +- 'AC_LIBTOOL_LANG_F77_CONFIG' => 1, +- '_LT_LINKER_OPTION' => 1, +- '_AC_PROG_LIBTOOL' => 1, +- 'AM_DEP_TRACK' => 1, +- 'LTVERSION_VERSION' => 1, +- 'AM_AUX_DIR_EXPAND' => 1, +- 'AC_PROG_EGREP' => 1, +- 'AC_LIBTOOL_COMPILER_OPTION' => 1, +- 'AC_LIBTOOL_CXX' => 1, +- 'm4_pattern_forbid' => 1, +- 'AC_PROG_LD_GNU' => 1, +- 'AC_ENABLE_STATIC' => 1, +- 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1, +- 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1, +- 'LTOPTIONS_VERSION' => 1, +- 'AM_SANITY_CHECK' => 1, +- 'AC_PROG_LD_RELOAD_FLAG' => 1, +- 'AC_LIBTOOL_SETUP' => 1, +- 'AM_MISSING_PROG' => 1, +- '_LT_AC_LANG_C_CONFIG' => 1, +- '_AM_IF_OPTION' => 1, +- 'LT_OUTPUT' => 1, +- '_LT_AC_LANG_CXX_CONFIG' => 1, +- 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, +- 'AC_LIBTOOL_FC' => 1, +- '_AM_DEPENDENCIES' => 1, +- 'include' => 1, +- '_AM_AUTOCONF_VERSION' => 1, +- 'AC_PROG_LIBTOOL' => 1, +- '_LT_AC_FILE_LTDLL_C' => 1, +- '_LT_AC_TAGCONFIG' => 1, +- 'AC_LIBTOOL_GCJ' => 1, +- 'LT_AC_PROG_RC' => 1, +- '_LT_PREPARE_SED_QUOTE_VARS' => 1, +- 'AC_LTDL_ENABLE_INSTALL' => 1, +- 'AM_PROG_LIBTOOL' => 1, +- 'AC_PROG_LD' => 1, +- 'LT_AC_PROG_EGREP' => 1, +- '_LT_AC_LANG_RC_CONFIG' => 1, +- 'LT_PROG_RC' => 1, +- '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, +- '_LT_DLL_DEF_P' => 1, +- 'AM_DISABLE_STATIC' => 1, +- 'AC_DISABLE_FAST_INSTALL' => 1, +- 'AC_LIBTOOL_POSTDEP_PREDEP' => 1, +- 'AC_DISABLE_STATIC' => 1, +- '_LT_AC_LANG_F77' => 1, +- '_AM_SET_OPTIONS' => 1, + 'LT_SUPPORTED_TAG' => 1, +- 'AC_ENABLE_FAST_INSTALL' => 1, +- '_LT_PROG_CXX' => 1, +- 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1, +- 'AC_LIBTOOL_DLOPEN_SELF' => 1, +- '_LT_AC_LANG_F77_CONFIG' => 1, +- 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1 ++ 'm4_pattern_allow' => 1, ++ 'AM_MAINTAINER_MODE' => 1, ++ 'AC_CONFIG_HEADERS' => 1 + } + ], 'Autom4te::Request' ) + ); +diff --color -urN a/crlibm-1.0beta4/autom4te.cache/traces.0 b/crlibm-1.0beta4/autom4te.cache/traces.0 +--- a/crlibm-1.0beta4/autom4te.cache/traces.0 2024-12-06 13:32:36 ++++ b/crlibm-1.0beta4/autom4te.cache/traces.0 2024-12-06 13:33:13 +@@ -1,18 +1,715 @@ +-m4trace:/usr/share/aclocal-1.15/amversion.m4:14: -1- AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.15' ++m4trace:/opt/homebrew/share/aclocal/ltargz.m4:77: -1- AC_DEFUN([LT_FUNC_ARGZ], [ ++dnl Required for use of '$SED' in Cygwin configuration. ++AC_REQUIRE([AC_PROG_SED])dnl ++AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT]) ++ ++AC_CHECK_TYPES([error_t], ++ [], ++ [AC_DEFINE([error_t], [int], ++ [Define to a type to use for 'error_t' if it is not otherwise available.]) ++ AC_DEFINE([__error_t_defined], [1], [Define so that glibc/gnulib argp.h ++ does not typedef error_t.])], ++ [#if defined(HAVE_ARGZ_H) ++# include ++#endif]) ++ ++LT_ARGZ_H= ++AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \ ++ argz_next argz_stringify], [], [LT_ARGZ_H=lt__argz.h; AC_LIBOBJ([lt__argz])]) ++ ++dnl if have system argz functions, allow forced use of ++dnl libltdl-supplied implementation (and default to do so ++dnl on "known bad" systems). Could use a runtime check, but ++dnl (a) detecting malloc issues is notoriously unreliable ++dnl (b) only known system that declares argz functions, ++dnl provides them, yet they are broken, is cygwin ++dnl releases prior to 16-Mar-2007 (1.5.24 and earlier) ++dnl So, it's more straightforward simply to special case ++dnl this for known bad systems. ++AS_IF([test -z "$LT_ARGZ_H"], ++ [AC_CACHE_CHECK( ++ [if argz actually works], ++ [lt_cv_sys_argz_works], ++ [[case $host_os in #( ++ *cygwin*) ++ lt_cv_sys_argz_works=no ++ if test no != "$cross_compiling"; then ++ lt_cv_sys_argz_works="guessing no" ++ else ++ lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' ++ save_IFS=$IFS ++ IFS=-. ++ set x `uname -r | $SED -e "$lt_sed_extract_leading_digits"` ++ IFS=$save_IFS ++ lt_os_major=${2-0} ++ lt_os_minor=${3-0} ++ lt_os_micro=${4-0} ++ if test 1 -lt "$lt_os_major" \ ++ || { test 1 -eq "$lt_os_major" \ ++ && { test 5 -lt "$lt_os_minor" \ ++ || { test 5 -eq "$lt_os_minor" \ ++ && test 24 -lt "$lt_os_micro"; }; }; }; then ++ lt_cv_sys_argz_works=yes ++ fi ++ fi ++ ;; #( ++ *) lt_cv_sys_argz_works=yes ;; ++ esac]]) ++ AS_IF([test yes = "$lt_cv_sys_argz_works"], ++ [AC_DEFINE([HAVE_WORKING_ARGZ], 1, ++ [This value is set to 1 to indicate that the system argz facility works])], ++ [LT_ARGZ_H=lt__argz.h ++ AC_LIBOBJ([lt__argz])])]) ++ ++AC_SUBST([LT_ARGZ_H]) ++]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:20: -1- AC_DEFUN([LT_CONFIG_LTDL_DIR], [AC_BEFORE([$0], [LTDL_INIT]) ++_$0($*) ++]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:78: -1- AC_DEFUN([LTDL_CONVENIENCE], [AC_BEFORE([$0], [LTDL_INIT])dnl ++dnl Although the argument is deprecated and no longer documented, ++dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one ++dnl here make sure it is the same as any other declaration of libltdl's ++dnl location! This also ensures lt_ltdl_dir is set when configure.ac is ++dnl not yet using an explicit LT_CONFIG_LTDL_DIR. ++m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl ++_$0() ++]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:84: -1- AU_DEFUN([AC_LIBLTDL_CONVENIENCE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) ++_LTDL_CONVENIENCE]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:84: -1- AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [m4_warn([obsolete], [The macro `AC_LIBLTDL_CONVENIENCE' is obsolete. ++You should run autoupdate.])dnl ++_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) ++_LTDL_CONVENIENCE]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:134: -1- AC_DEFUN([LTDL_INSTALLABLE], [AC_BEFORE([$0], [LTDL_INIT])dnl ++dnl Although the argument is deprecated and no longer documented, ++dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one ++dnl here make sure it is the same as any other declaration of libltdl's ++dnl location! This also ensures lt_ltdl_dir is set when configure.ac is ++dnl not yet using an explicit LT_CONFIG_LTDL_DIR. ++m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl ++_$0() ++]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:140: -1- AU_DEFUN([AC_LIBLTDL_INSTALLABLE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) ++_LTDL_INSTALLABLE]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:140: -1- AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [m4_warn([obsolete], [The macro `AC_LIBLTDL_INSTALLABLE' is obsolete. ++You should run autoupdate.])dnl ++_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) ++_LTDL_INSTALLABLE]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:217: -1- AC_DEFUN([_LT_LIBOBJ], [ ++ m4_pattern_allow([^_LT_LIBOBJS$]) ++ _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext" ++]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:350: -1- AC_DEFUN([LTDL_INIT], [dnl Parse OPTIONS ++_LT_SET_OPTIONS([$0], [$1]) ++ ++dnl We need to keep our own list of libobjs separate from our parent project, ++dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while ++dnl we look for our own LIBOBJs. ++m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ])) ++m4_pushdef([AC_LIBSOURCES]) ++ ++dnl If not otherwise defined, default to the 1.5.x compatible subproject mode: ++m4_if(_LTDL_MODE, [], ++ [m4_define([_LTDL_MODE], m4_default([$2], [subproject])) ++ m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])], ++ [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])]) ++ ++AC_ARG_WITH([included_ltdl], ++ [AS_HELP_STRING([--with-included-ltdl], ++ [use the GNU ltdl sources included here])]) ++ ++if test yes != "$with_included_ltdl"; then ++ # We are not being forced to use the included libltdl sources, so ++ # decide whether there is a useful installed version we can use. ++ AC_CHECK_HEADER([ltdl.h], ++ [AC_CHECK_DECL([lt_dlinterface_register], ++ [AC_CHECK_LIB([ltdl], [lt_dladvise_preload], ++ [with_included_ltdl=no], ++ [with_included_ltdl=yes])], ++ [with_included_ltdl=yes], ++ [AC_INCLUDES_DEFAULT ++ #include ])], ++ [with_included_ltdl=yes], ++ [AC_INCLUDES_DEFAULT] ++ ) ++fi ++ ++dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE ++dnl was called yet, then for old times' sake, we assume libltdl is in an ++dnl eponymous directory: ++AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])]) ++ ++AC_ARG_WITH([ltdl_include], ++ [AS_HELP_STRING([--with-ltdl-include=DIR], ++ [use the ltdl headers installed in DIR])]) ++ ++if test -n "$with_ltdl_include"; then ++ if test -f "$with_ltdl_include/ltdl.h"; then : ++ else ++ AC_MSG_ERROR([invalid ltdl include directory: '$with_ltdl_include']) ++ fi ++else ++ with_ltdl_include=no ++fi ++ ++AC_ARG_WITH([ltdl_lib], ++ [AS_HELP_STRING([--with-ltdl-lib=DIR], ++ [use the libltdl.la installed in DIR])]) ++ ++if test -n "$with_ltdl_lib"; then ++ if test -f "$with_ltdl_lib/libltdl.la"; then : ++ else ++ AC_MSG_ERROR([invalid ltdl library directory: '$with_ltdl_lib']) ++ fi ++else ++ with_ltdl_lib=no ++fi ++ ++case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in ++ ,yes,no,no,) ++ m4_case(m4_default(_LTDL_TYPE, [convenience]), ++ [convenience], [_LTDL_CONVENIENCE], ++ [installable], [_LTDL_INSTALLABLE], ++ [m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)]) ++ ;; ++ ,no,no,no,) ++ # If the included ltdl is not to be used, then use the ++ # preinstalled libltdl we found. ++ AC_DEFINE([HAVE_LTDL], [1], ++ [Define this if a modern libltdl is already installed]) ++ LIBLTDL=-lltdl ++ LTDLDEPS= ++ LTDLINCL= ++ ;; ++ ,no*,no,*) ++ AC_MSG_ERROR(['--with-ltdl-include' and '--with-ltdl-lib' options must be used together]) ++ ;; ++ *) with_included_ltdl=no ++ LIBLTDL="-L$with_ltdl_lib -lltdl" ++ LTDLDEPS= ++ LTDLINCL=-I$with_ltdl_include ++ ;; ++esac ++INCLTDL=$LTDLINCL ++ ++# Report our decision... ++AC_MSG_CHECKING([where to find libltdl headers]) ++AC_MSG_RESULT([$LTDLINCL]) ++AC_MSG_CHECKING([where to find libltdl library]) ++AC_MSG_RESULT([$LIBLTDL]) ++ ++_LTDL_SETUP ++ ++dnl restore autoconf definition. ++m4_popdef([AC_LIBOBJ]) ++m4_popdef([AC_LIBSOURCES]) ++ ++AC_CONFIG_COMMANDS_PRE([ ++ _ltdl_libobjs= ++ _ltdl_ltlibobjs= ++ if test -n "$_LT_LIBOBJS"; then ++ # Remove the extension. ++ _lt_sed_drop_objext='s/\.o$//;s/\.obj$//' ++ for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | $SED "$_lt_sed_drop_objext" | sort -u`; do ++ _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext" ++ _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo" ++ done ++ fi ++ AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs]) ++ AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs]) ++]) ++ ++# Only expand once: ++m4_define([LTDL_INIT]) ++]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:353: -1- AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:353: -1- AC_DEFUN([AC_LIB_LTDL], [m4_warn([obsolete], [The macro `AC_LIB_LTDL' is obsolete. ++You should run autoupdate.])dnl ++LTDL_INIT($@)]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:354: -1- AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:354: -1- AC_DEFUN([AC_WITH_LTDL], [m4_warn([obsolete], [The macro `AC_WITH_LTDL' is obsolete. ++You should run autoupdate.])dnl ++LTDL_INIT($@)]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:355: -1- AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:355: -1- AC_DEFUN([LT_WITH_LTDL], [m4_warn([obsolete], [The macro `LT_WITH_LTDL' is obsolete. ++You should run autoupdate.])dnl ++LTDL_INIT($@)]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:422: -1- AC_DEFUN([_LTDL_SETUP], [AC_REQUIRE([AC_PROG_CC])dnl ++AC_REQUIRE([LT_SYS_MODULE_EXT])dnl ++AC_REQUIRE([LT_SYS_MODULE_PATH])dnl ++AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl ++AC_REQUIRE([LT_LIB_DLLOAD])dnl ++AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl ++AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl ++AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl ++AC_REQUIRE([LT_FUNC_ARGZ])dnl ++ ++m4_require([_LT_CHECK_OBJDIR])dnl ++m4_require([_LT_HEADER_DLFCN])dnl ++m4_require([_LT_CHECK_DLPREOPEN])dnl ++m4_require([_LT_DECL_SED])dnl ++ ++dnl Don't require this, or it will be expanded earlier than the code ++dnl that sets the variables it relies on: ++_LT_ENABLE_INSTALL ++ ++dnl _LTDL_MODE specific code must be called at least once: ++_LTDL_MODE_DISPATCH ++ ++# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS ++# the user used. This is so that ltdl.h can pick up the parent projects ++# config.h file, The first file in AC_CONFIG_HEADERS must contain the ++# definitions required by ltdl.c. ++# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). ++AC_CONFIG_COMMANDS_PRE([dnl ++m4_pattern_allow([^LT_CONFIG_H$])dnl ++m4_ifset([AH_HEADER], ++ [LT_CONFIG_H=AH_HEADER], ++ [m4_ifset([AC_LIST_HEADERS], ++ [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's|^[[ ]]*||;s|[[ :]].*$||'`], ++ [])])]) ++AC_SUBST([LT_CONFIG_H]) ++ ++AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h], ++ [], [], [AC_INCLUDES_DEFAULT]) ++ ++AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])]) ++AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])]) ++ ++m4_pattern_allow([LT_LIBEXT])dnl ++AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension]) ++ ++name= ++eval "lt_libprefix=\"$libname_spec\"" ++m4_pattern_allow([LT_LIBPREFIX])dnl ++AC_DEFINE_UNQUOTED([LT_LIBPREFIX],["$lt_libprefix"],[The archive prefix]) ++ ++name=ltdl ++eval "LTDLOPEN=\"$libname_spec\"" ++AC_SUBST([LTDLOPEN]) ++]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:540: -1- AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl ++AC_CACHE_CHECK([whether deplibs are loaded by dlopen], ++ [lt_cv_sys_dlopen_deplibs], ++ [# PORTME does your system automatically load deplibs for dlopen? ++ # or its logical equivalent (e.g. shl_load for HP-UX < 11) ++ # For now, we just catch OSes we know something about -- in the ++ # future, we'll try test this programmatically. ++ lt_cv_sys_dlopen_deplibs=unknown ++ case $host_os in ++ aix3*|aix4.1.*|aix4.2.*) ++ # Unknown whether this is true for these versions of AIX, but ++ # we want this 'case' here to explicitly catch those versions. ++ lt_cv_sys_dlopen_deplibs=unknown ++ ;; ++ aix[[4-9]]*) ++ lt_cv_sys_dlopen_deplibs=yes ++ ;; ++ amigaos*) ++ case $host_cpu in ++ powerpc) ++ lt_cv_sys_dlopen_deplibs=no ++ ;; ++ esac ++ ;; ++ darwin*) ++ # Assuming the user has installed a libdl from somewhere, this is true ++ # If you are looking for one http://www.opendarwin.org/projects/dlcompat ++ lt_cv_sys_dlopen_deplibs=yes ++ ;; ++ freebsd* | dragonfly* | midnightbsd*) ++ lt_cv_sys_dlopen_deplibs=yes ++ ;; ++ gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) ++ # GNU and its variants, using gnu ld.so (Glibc) ++ lt_cv_sys_dlopen_deplibs=yes ++ ;; ++ hpux10*|hpux11*) ++ lt_cv_sys_dlopen_deplibs=yes ++ ;; ++ interix*) ++ lt_cv_sys_dlopen_deplibs=yes ++ ;; ++ irix[[12345]]*|irix6.[[01]]*) ++ # Catch all versions of IRIX before 6.2, and indicate that we don't ++ # know how it worked for any of those versions. ++ lt_cv_sys_dlopen_deplibs=unknown ++ ;; ++ irix*) ++ # The case above catches anything before 6.2, and it's known that ++ # at 6.2 and later dlopen does load deplibs. ++ lt_cv_sys_dlopen_deplibs=yes ++ ;; ++ netbsd*) ++ lt_cv_sys_dlopen_deplibs=yes ++ ;; ++ openbsd*) ++ lt_cv_sys_dlopen_deplibs=yes ++ ;; ++ osf[[1234]]*) ++ # dlopen did load deplibs (at least at 4.x), but until the 5.x series, ++ # it did *not* use an RPATH in a shared library to find objects the ++ # library depends on, so we explicitly say 'no'. ++ lt_cv_sys_dlopen_deplibs=no ++ ;; ++ osf5.0|osf5.0a|osf5.1) ++ # dlopen *does* load deplibs and with the right loader patch applied ++ # it even uses RPATH in a shared library to search for shared objects ++ # that the library depends on, but there's no easy way to know if that ++ # patch is installed. Since this is the case, all we can really ++ # say is unknown -- it depends on the patch being installed. If ++ # it is, this changes to 'yes'. Without it, it would be 'no'. ++ lt_cv_sys_dlopen_deplibs=unknown ++ ;; ++ osf*) ++ # the two cases above should catch all versions of osf <= 5.1. Read ++ # the comments above for what we know about them. ++ # At > 5.1, deplibs are loaded *and* any RPATH in a shared library ++ # is used to find them so we can finally say 'yes'. ++ lt_cv_sys_dlopen_deplibs=yes ++ ;; ++ qnx*) ++ lt_cv_sys_dlopen_deplibs=yes ++ ;; ++ solaris*) ++ lt_cv_sys_dlopen_deplibs=yes ++ ;; ++ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) ++ libltdl_cv_sys_dlopen_deplibs=yes ++ ;; ++ esac ++ ]) ++if test yes != "$lt_cv_sys_dlopen_deplibs"; then ++ AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1], ++ [Define if the OS needs help to load dependent libraries for dlopen().]) ++fi ++]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:543: -1- AU_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])], [], []) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:543: -1- AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [m4_warn([obsolete], [The macro `AC_LTDL_SYS_DLOPEN_DEPLIBS' is obsolete. ++You should run autoupdate.])dnl ++m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:575: -1- AC_DEFUN([LT_SYS_MODULE_EXT], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl ++AC_CACHE_CHECK([what extension is used for runtime loadable modules], ++ [libltdl_cv_shlibext], ++[ ++module=yes ++eval libltdl_cv_shlibext=$shrext_cmds ++module=no ++eval libltdl_cv_shrext=$shrext_cmds ++ ]) ++if test -n "$libltdl_cv_shlibext"; then ++ m4_pattern_allow([LT_MODULE_EXT])dnl ++ AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"], ++ [Define to the extension used for runtime loadable modules, say, ".so".]) ++fi ++if test "$libltdl_cv_shrext" != "$libltdl_cv_shlibext"; then ++ m4_pattern_allow([LT_SHARED_EXT])dnl ++ AC_DEFINE_UNQUOTED([LT_SHARED_EXT], ["$libltdl_cv_shrext"], ++ [Define to the shared library suffix, say, ".dylib".]) ++fi ++if test -n "$shared_archive_member_spec"; then ++ m4_pattern_allow([LT_SHARED_LIB_MEMBER])dnl ++ AC_DEFINE_UNQUOTED([LT_SHARED_LIB_MEMBER], ["($shared_archive_member_spec.o)"], ++ [Define to the shared archive member specification, say "(shr.o)".]) ++fi ++]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:578: -1- AU_DEFUN([AC_LTDL_SHLIBEXT], [m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])], [], []) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:578: -1- AC_DEFUN([AC_LTDL_SHLIBEXT], [m4_warn([obsolete], [The macro `AC_LTDL_SHLIBEXT' is obsolete. ++You should run autoupdate.])dnl ++m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:594: -1- AC_DEFUN([LT_SYS_MODULE_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl ++AC_CACHE_CHECK([what variable specifies run-time module search path], ++ [lt_cv_module_path_var], [lt_cv_module_path_var=$shlibpath_var]) ++if test -n "$lt_cv_module_path_var"; then ++ m4_pattern_allow([LT_MODULE_PATH_VAR])dnl ++ AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"], ++ [Define to the name of the environment variable that determines the run-time module search path.]) ++fi ++]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:597: -1- AU_DEFUN([AC_LTDL_SHLIBPATH], [m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])], [], []) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:597: -1- AC_DEFUN([AC_LTDL_SHLIBPATH], [m4_warn([obsolete], [The macro `AC_LTDL_SHLIBPATH' is obsolete. ++You should run autoupdate.])dnl ++m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:622: -1- AC_DEFUN([LT_SYS_DLSEARCH_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl ++AC_CACHE_CHECK([for the default library search path], ++ [lt_cv_sys_dlsearch_path], ++ [lt_cv_sys_dlsearch_path=$sys_lib_dlsearch_path_spec]) ++if test -n "$lt_cv_sys_dlsearch_path"; then ++ sys_dlsearch_path= ++ for dir in $lt_cv_sys_dlsearch_path; do ++ if test -z "$sys_dlsearch_path"; then ++ sys_dlsearch_path=$dir ++ else ++ sys_dlsearch_path=$sys_dlsearch_path$PATH_SEPARATOR$dir ++ fi ++ done ++ m4_pattern_allow([LT_DLSEARCH_PATH])dnl ++ AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"], ++ [Define to the system default library search path.]) ++fi ++]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:625: -1- AU_DEFUN([AC_LTDL_SYSSEARCHPATH], [m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])], [], []) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:625: -1- AC_DEFUN([AC_LTDL_SYSSEARCHPATH], [m4_warn([obsolete], [The macro `AC_LTDL_SYSSEARCHPATH' is obsolete. ++You should run autoupdate.])dnl ++m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:743: -1- AC_DEFUN([LT_LIB_DLLOAD], [m4_pattern_allow([^LT_DLLOADERS$]) ++LT_DLLOADERS= ++AC_SUBST([LT_DLLOADERS]) ++ ++AC_LANG_PUSH([C]) ++lt_dlload_save_LIBS=$LIBS ++ ++LIBADD_DLOPEN= ++AC_SEARCH_LIBS([dlopen], [dl], ++ [AC_DEFINE([HAVE_LIBDL], [1], ++ [Define if you have the libdl library or equivalent.]) ++ if test "$ac_cv_search_dlopen" != "none required"; then ++ LIBADD_DLOPEN=-ldl ++ fi ++ libltdl_cv_lib_dl_dlopen=yes ++ LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], ++ [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H ++# include ++#endif ++ ]], [[dlopen(0, 0);]])], ++ [AC_DEFINE([HAVE_LIBDL], [1], ++ [Define if you have the libdl library or equivalent.]) ++ libltdl_cv_func_dlopen=yes ++ LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], ++ [AC_CHECK_LIB([svld], [dlopen], ++ [AC_DEFINE([HAVE_LIBDL], [1], ++ [Define if you have the libdl library or equivalent.]) ++ LIBADD_DLOPEN=-lsvld libltdl_cv_func_dlopen=yes ++ LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])]) ++if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen" ++then ++ lt_save_LIBS=$LIBS ++ LIBS="$LIBS $LIBADD_DLOPEN" ++ AC_CHECK_FUNCS([dlerror]) ++ LIBS=$lt_save_LIBS ++fi ++AC_SUBST([LIBADD_DLOPEN]) ++ ++LIBADD_SHL_LOAD= ++AC_CHECK_FUNC([shl_load], ++ [AC_DEFINE([HAVE_SHL_LOAD], [1], ++ [Define if you have the shl_load function.]) ++ LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"], ++ [AC_CHECK_LIB([dld], [shl_load], ++ [AC_DEFINE([HAVE_SHL_LOAD], [1], ++ [Define if you have the shl_load function.]) ++ LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" ++ LIBADD_SHL_LOAD=-ldld])]) ++AC_SUBST([LIBADD_SHL_LOAD]) ++ ++case $host_os in ++darwin[[1567]].*) ++# We only want this for pre-Mac OS X 10.4. ++ AC_CHECK_FUNC([_dyld_func_lookup], ++ [AC_DEFINE([HAVE_DYLD], [1], ++ [Define if you have the _dyld_func_lookup function.]) ++ LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"]) ++ ;; ++beos*) ++ LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" ++ ;; ++cygwin* | mingw* | windows* | pw32*) ++ AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include ]]) ++ LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" ++ ;; ++esac ++ ++AC_CHECK_LIB([dld], [dld_link], ++ [AC_DEFINE([HAVE_DLD], [1], ++ [Define if you have the GNU dld library.]) ++ LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"]) ++AC_SUBST([LIBADD_DLD_LINK]) ++ ++m4_pattern_allow([^LT_DLPREOPEN$]) ++LT_DLPREOPEN= ++if test -n "$LT_DLLOADERS" ++then ++ for lt_loader in $LT_DLLOADERS; do ++ LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " ++ done ++ AC_DEFINE([HAVE_LIBDLLOADER], [1], ++ [Define if libdlloader will be built on this platform]) ++fi ++AC_SUBST([LT_DLPREOPEN]) ++ ++dnl This isn't used anymore, but set it for backwards compatibility ++LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" ++AC_SUBST([LIBADD_DL]) ++ ++LIBS=$lt_dlload_save_LIBS ++AC_LANG_POP ++]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:746: -1- AU_DEFUN([AC_LTDL_DLLIB], [m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])], [], []) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:746: -1- AC_DEFUN([AC_LTDL_DLLIB], [m4_warn([obsolete], [The macro `AC_LTDL_DLLIB' is obsolete. ++You should run autoupdate.])dnl ++m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:788: -1- AC_DEFUN([LT_SYS_SYMBOL_USCORE], [m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl ++AC_CACHE_CHECK([for _ prefix in compiled symbols], ++ [lt_cv_sys_symbol_underscore], ++ [lt_cv_sys_symbol_underscore=no ++ cat > conftest.$ac_ext <<_LT_EOF ++void nm_test_func(){} ++int main(void){nm_test_func;return 0;} ++_LT_EOF ++ if AC_TRY_EVAL(ac_compile); then ++ # Now try to grab the symbols. ++ ac_nlist=conftest.nm ++ if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then ++ # See whether the symbols have a leading underscore. ++ if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then ++ lt_cv_sys_symbol_underscore=yes ++ else ++ if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then ++ : ++ else ++ echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD ++ fi ++ fi ++ else ++ echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD ++ fi ++ else ++ echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD ++ cat conftest.c >&AS_MESSAGE_LOG_FD ++ fi ++ rm -rf conftest* ++ ]) ++ sys_symbol_underscore=$lt_cv_sys_symbol_underscore ++ AC_SUBST([sys_symbol_underscore]) ++]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:791: -1- AU_DEFUN([AC_LTDL_SYMBOL_USCORE], [m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])], [], []) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:791: -1- AC_DEFUN([AC_LTDL_SYMBOL_USCORE], [m4_warn([obsolete], [The macro `AC_LTDL_SYMBOL_USCORE' is obsolete. ++You should run autoupdate.])dnl ++m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:902: -1- AC_DEFUN([LT_FUNC_DLSYM_USCORE], [AC_REQUIRE([_LT_COMPILER_PIC])dnl for lt_prog_compiler_wl ++AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl for lt_cv_sys_symbol_underscore ++AC_REQUIRE([LT_SYS_MODULE_EXT])dnl for libltdl_cv_shlibext ++if test yes = "$lt_cv_sys_symbol_underscore"; then ++ if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then ++ AC_CACHE_CHECK([whether we have to add an underscore for dlsym], ++ [libltdl_cv_need_uscore], ++ [libltdl_cv_need_uscore=unknown ++ dlsym_uscore_save_LIBS=$LIBS ++ LIBS="$LIBS $LIBADD_DLOPEN" ++ libname=conftmod # stay within 8.3 filename limits! ++ cat >$libname.$ac_ext <<_LT_EOF ++[#line $LINENO "configure" ++#include "confdefs.h" ++/* When -fvisibility=hidden is used, assume the code has been annotated ++ correspondingly for the symbols needed. */ ++#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) ++int fnord () __attribute__((visibility("default"))); ++#endif ++int fnord () { return 42; }] ++_LT_EOF ++ ++ # ltfn_module_cmds module_cmds ++ # Execute tilde-delimited MODULE_CMDS with environment primed for ++ # $module_cmds or $archive_cmds type content. ++ ltfn_module_cmds () ++ {( # subshell avoids polluting parent global environment ++ module_cmds_save_ifs=$IFS; IFS='~' ++ for cmd in @S|@1; do ++ IFS=$module_cmds_save_ifs ++ libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext ++ rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=. ++ major=; versuffix=; verstring=; deplibs= ++ ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag= ++ eval $cmd ++ done ++ IFS=$module_cmds_save_ifs ++ )} ++ ++ # Compile a loadable module using libtool macro expansion results. ++ $CC $pic_flag -c $libname.$ac_ext ++ ltfn_module_cmds "${module_cmds:-$archive_cmds}" ++ ++ # Try to fetch fnord with dlsym(). ++ libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2 ++ cat >conftest.$ac_ext <<_LT_EOF ++[#line $LINENO "configure" ++#include "confdefs.h" ++#if HAVE_DLFCN_H ++#include ++#endif ++#include ++#ifndef RTLD_GLOBAL ++# ifdef DL_GLOBAL ++# define RTLD_GLOBAL DL_GLOBAL ++# else ++# define RTLD_GLOBAL 0 ++# endif ++#endif ++#ifndef RTLD_NOW ++# ifdef DL_NOW ++# define RTLD_NOW DL_NOW ++# else ++# define RTLD_NOW 0 ++# endif ++#endif ++int main (void) { ++ void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW); ++ int status = $libltdl_dlunknown; ++ if (handle) { ++ if (dlsym (handle, "fnord")) ++ status = $libltdl_dlnouscore; ++ else { ++ if (dlsym (handle, "_fnord")) ++ status = $libltdl_dluscore; ++ else ++ puts (dlerror ()); ++ } ++ dlclose (handle); ++ } else ++ puts (dlerror ()); ++ return status; ++}] ++_LT_EOF ++ if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then ++ (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null ++ libltdl_status=$? ++ case x$libltdl_status in ++ x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;; ++ x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;; ++ x*) libltdl_cv_need_uscore=unknown ;; ++ esac ++ fi ++ rm -rf conftest* $libname* ++ LIBS=$dlsym_uscore_save_LIBS ++ ]) ++ fi ++fi ++ ++if test yes = "$libltdl_cv_need_uscore"; then ++ AC_DEFINE([NEED_USCORE], [1], ++ [Define if dlsym() requires a leading underscore in symbol names.]) ++fi ++]) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:905: -1- AU_DEFUN([AC_LTDL_DLSYM_USCORE], [m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])], [], []) ++m4trace:/opt/homebrew/share/aclocal/ltdl.m4:905: -1- AC_DEFUN([AC_LTDL_DLSYM_USCORE], [m4_warn([obsolete], [The macro `AC_LTDL_DLSYM_USCORE' is obsolete. ++You should run autoupdate.])dnl ++m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])]) ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/amversion.m4:20: -1- AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.16' + dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to + dnl require some minimum version. Point them to the right macro. +-m4_if([$1], [1.15.1], [], ++m4_if([$1], [1.16.5], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl + ]) +-m4trace:/usr/share/aclocal-1.15/amversion.m4:33: -1- AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.15.1])dnl ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/amversion.m4:37: -1- AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.16.5])dnl + m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl + _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) +-m4trace:/usr/share/aclocal-1.15/auxdir.m4:47: -1- AC_DEFUN([AM_AUX_DIR_EXPAND], [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/auxdir.m4:51: -1- AC_DEFUN([AM_AUX_DIR_EXPAND], [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl + # Expand $ac_aux_dir to an absolute path. + am_aux_dir=`cd "$ac_aux_dir" && pwd` + ]) +-m4trace:/usr/share/aclocal-1.15/cond.m4:12: -1- AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/cond.m4:32: -1- AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl + m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl + AC_SUBST([$1_TRUE])dnl +@@ -32,7 +729,7 @@ + AC_MSG_ERROR([[conditional "$1" was never defined. + Usually this means the macro was only invoked conditionally.]]) + fi])]) +-m4trace:/usr/share/aclocal-1.15/depend.m4:26: -1- AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/depend.m4:156: -1- AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl + AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl + AC_REQUIRE([AM_MAKE_INCLUDE])dnl + AC_REQUIRE([AM_DEP_TRACK])dnl +@@ -162,10 +859,10 @@ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) + ]) +-m4trace:/usr/share/aclocal-1.15/depend.m4:163: -1- AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/depend.m4:166: -1- AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl + AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl + ]) +-m4trace:/usr/share/aclocal-1.15/depend.m4:171: -1- AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/depend.m4:189: -1- AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl + AS_HELP_STRING( + [--enable-dependency-tracking], + [do not reject slow dependency extractors]) +@@ -183,60 +880,57 @@ + AC_SUBST([am__nodep])dnl + _AM_SUBST_NOTMAKE([am__nodep])dnl + ]) +-m4trace:/usr/share/aclocal-1.15/depout.m4:12: -1- AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/depout.m4:54: -1- AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. +- case $CONFIG_FILES in +- *\'*) eval set x "$CONFIG_FILES" ;; +- *) set x $CONFIG_FILES ;; +- esac ++ # TODO: see whether this extra hack can be removed once we start ++ # requiring Autoconf 2.70 or later. ++ AS_CASE([$CONFIG_FILES], ++ [*\'*], [eval set x "$CONFIG_FILES"], ++ [*], [set x $CONFIG_FILES]) + shift +- for mf ++ # Used to flag and report bootstrapping failures. ++ am_rc=0 ++ for am_mf + do + # Strip MF so we end up with the name of the file. +- mf=`echo "$mf" | sed -e 's/:.*$//'` +- # Check whether this is an Automake generated Makefile or not. +- # We used to match only the files named 'Makefile.in', but +- # some people rename them; so instead we look at the file content. +- # Grep'ing the first line is not enough: some people post-process +- # each Makefile.in and add a new line on top of each file to say so. +- # Grep'ing the whole file is not good either: AIX grep has a line ++ am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` ++ # Check whether this is an Automake generated Makefile which includes ++ # dependency-tracking related rules and includes. ++ # Grep'ing the whole file directly is not great: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. +- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then +- dirpart=`AS_DIRNAME("$mf")` +- else +- continue +- fi +- # Extract the definition of DEPDIR, am__include, and am__quote +- # from the Makefile without running 'make'. +- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` +- test -z "$DEPDIR" && continue +- am__include=`sed -n 's/^am__include = //p' < "$mf"` +- test -z "$am__include" && continue +- am__quote=`sed -n 's/^am__quote = //p' < "$mf"` +- # Find all dependency output files, they are included files with +- # $(DEPDIR) in their names. We invoke sed twice because it is the +- # simplest approach to changing $(DEPDIR) to its actual value in the +- # expansion. +- for file in `sed -n " +- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ +- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do +- # Make sure the directory exists. +- test -f "$dirpart/$file" && continue +- fdir=`AS_DIRNAME(["$file"])` +- AS_MKDIR_P([$dirpart/$fdir]) +- # echo "creating $dirpart/$file" +- echo '# dummy' > "$dirpart/$file" +- done ++ sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ ++ || continue ++ am_dirpart=`AS_DIRNAME(["$am_mf"])` ++ am_filepart=`AS_BASENAME(["$am_mf"])` ++ AM_RUN_LOG([cd "$am_dirpart" \ ++ && sed -e '/# am--include-marker/d' "$am_filepart" \ ++ | $MAKE -f - am--depfiles]) || am_rc=$? + done ++ if test $am_rc -ne 0; then ++ AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments ++ for automatic dependency tracking. If GNU make was not used, consider ++ re-running the configure script with MAKE="gmake" (or whatever is ++ necessary). You can also try re-running configure with the ++ '--disable-dependency-tracking' option to at least be able to build ++ the package (albeit without support for automatic dependency tracking).]) ++ fi ++ AS_UNSET([am_dirpart]) ++ AS_UNSET([am_filepart]) ++ AS_UNSET([am_mf]) ++ AS_UNSET([am_rc]) ++ rm -f conftest-deps.mk + } + ]) +-m4trace:/usr/share/aclocal-1.15/depout.m4:71: -1- AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/depout.m4:67: -1- AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], +- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +-]) +-m4trace:/usr/share/aclocal-1.15/init.m4:29: -1- AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl ++ [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/init.m4:189: -1- AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl ++m4_ifdef([_$0_ALREADY_INIT], ++ [m4_fatal([$0 expanded multiple times ++]m4_defn([_$0_ALREADY_INIT]))], ++ [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl + dnl Autoconf wants to disallow AM_ names. We explicitly allow + dnl the ones we care about. + m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +@@ -273,7 +967,7 @@ + [_AM_SET_OPTIONS([$1])dnl + dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. + m4_if( +- m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), ++ m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl +@@ -296,8 +990,8 @@ + AC_REQUIRE([AC_PROG_MKDIR_P])dnl + # For better backward compatibility. To be removed once Automake 1.9.x + # dies out for good. For more background, see: +-# +-# ++# ++# + AC_SUBST([mkdir_p], ['$(MKDIR_P)']) + # We need awk for the "check" target (and possibly the TAP driver). The + # system "awk" is bad on some platforms. +@@ -325,6 +1019,20 @@ + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl + ]) ++# Variables for tags utilities; see am/tags.am ++if test -z "$CTAGS"; then ++ CTAGS=ctags ++fi ++AC_SUBST([CTAGS]) ++if test -z "$ETAGS"; then ++ ETAGS=etags ++fi ++AC_SUBST([ETAGS]) ++if test -z "$CSCOPE"; then ++ CSCOPE=cscope ++fi ++AC_SUBST([CSCOPE]) ++ + AC_REQUIRE([AM_SILENT_RULES])dnl + dnl The testsuite driver may need to know about EXEEXT, so add the + dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This +@@ -364,7 +1072,7 @@ + Aborting the configuration process, to ensure you take notice of the issue. + + You can download and install GNU coreutils to get an 'rm' implementation +-that behaves properly: . ++that behaves properly: . + + If you want to complete the configuration process using your problematic + 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +@@ -378,7 +1086,7 @@ + dnl backward compatibility and to allow trailing 'dnl'-style comments + dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. + ]) +-m4trace:/usr/share/aclocal-1.15/init.m4:186: -1- AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/init.m4:216: -1- AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. + _am_arg=$1 + _am_stamp_count=1 + for _am_header in $config_headers :; do +@@ -390,7 +1098,7 @@ + esac + done + echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) +-m4trace:/usr/share/aclocal-1.15/install-sh.m4:11: -1- AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/install-sh.m4:21: -1- AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl + if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) +@@ -400,7 +1108,7 @@ + esac + fi + AC_SUBST([install_sh])]) +-m4trace:/usr/share/aclocal-1.15/lead-dot.m4:10: -1- AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/lead-dot.m4:19: -1- AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null + mkdir .tst 2>/dev/null + if test -d .tst; then + am__leading_dot=. +@@ -409,55 +1117,42 @@ + fi + rmdir .tst 2>/dev/null + AC_SUBST([am__leading_dot])]) +-m4trace:/usr/share/aclocal-1.15/make.m4:12: -1- AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} +-cat > confinc << 'END' ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/make.m4:41: -1- AC_DEFUN([AM_MAKE_INCLUDE], [AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) ++cat > confinc.mk << 'END' + am__doit: +- @echo this is the am__doit target ++ @echo this is the am__doit target >confinc.out + .PHONY: am__doit + END +-# If we don't find an include directive, just comment out the code. +-AC_MSG_CHECKING([for style of include used by $am_make]) + am__include="#" + am__quote= +-_am_result=none +-# First try GNU make style include. +-echo "include confinc" > confmf +-# Ignore all kinds of additional output from 'make'. +-case `$am_make -s -f confmf 2> /dev/null` in #( +-*the\ am__doit\ target*) +- am__include=include +- am__quote= +- _am_result=GNU +- ;; +-esac +-# Now try BSD make style include. +-if test "$am__include" = "#"; then +- echo '.include "confinc"' > confmf +- case `$am_make -s -f confmf 2> /dev/null` in #( +- *the\ am__doit\ target*) +- am__include=.include +- am__quote="\"" +- _am_result=BSD +- ;; +- esac +-fi +-AC_SUBST([am__include]) +-AC_SUBST([am__quote]) +-AC_MSG_RESULT([$_am_result]) +-rm -f confinc confmf +-]) +-m4trace:/usr/share/aclocal-1.15/missing.m4:11: -1- AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) ++# BSD make does it like this. ++echo '.include "confinc.mk" # ignored' > confmf.BSD ++# Other make implementations (GNU, Solaris 10, AIX) do it like this. ++echo 'include confinc.mk # ignored' > confmf.GNU ++_am_result=no ++for s in GNU BSD; do ++ AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) ++ AS_CASE([$?:`cat confinc.out 2>/dev/null`], ++ ['0:this is the am__doit target'], ++ [AS_CASE([$s], ++ [BSD], [am__include='.include' am__quote='"'], ++ [am__include='include' am__quote=''])]) ++ if test "$am__include" != "#"; then ++ _am_result="yes ($s style)" ++ break ++ fi ++done ++rm -f confinc.* confmf.* ++AC_MSG_RESULT([${_am_result}]) ++AC_SUBST([am__include])]) ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/make.m4:42: -1- m4_pattern_allow([^am__quote$]) ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/missing.m4:14: -1- AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) + $1=${$1-"${am_missing_run}$2"} + AC_SUBST($1)]) +-m4trace:/usr/share/aclocal-1.15/missing.m4:20: -1- AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/missing.m4:33: -1- AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl + AC_REQUIRE_AUX_FILE([missing])dnl + if test x"${MISSING+set}" != xset; then +- case $am_aux_dir in +- *\ * | *\ *) +- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; +- *) +- MISSING="\${SHELL} $am_aux_dir/missing" ;; +- esac ++ MISSING="\${SHELL} '$am_aux_dir/missing'" + fi + # Use eval to expand $SHELL + if eval "$MISSING --is-lightweight"; then +@@ -467,11 +1162,11 @@ + AC_MSG_WARN(['missing' script is too old or missing]) + fi + ]) +-m4trace:/usr/share/aclocal-1.15/options.m4:11: -1- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) +-m4trace:/usr/share/aclocal-1.15/options.m4:17: -1- AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) +-m4trace:/usr/share/aclocal-1.15/options.m4:23: -1- AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) +-m4trace:/usr/share/aclocal-1.15/options.m4:29: -1- AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) +-m4trace:/usr/share/aclocal-1.15/prog-cc-c-o.m4:12: -1- AC_DEFUN([_AM_PROG_CC_C_O], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/options.m4:12: -1- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/options.m4:18: -1- AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/options.m4:24: -1- AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/options.m4:30: -1- AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/prog-cc-c-o.m4:44: -1- AC_DEFUN([_AM_PROG_CC_C_O], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl + AC_REQUIRE_AUX_FILE([compile])dnl + AC_LANG_PUSH([C])dnl + AC_CACHE_CHECK( +@@ -503,13 +1198,13 @@ + CC="$am_aux_dir/compile $CC" + fi + AC_LANG_POP([C])]) +-m4trace:/usr/share/aclocal-1.15/prog-cc-c-o.m4:47: -1- AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) +-m4trace:/usr/share/aclocal-1.15/runlog.m4:12: -1- AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/prog-cc-c-o.m4:47: -1- AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/runlog.m4:17: -1- AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + (exit $ac_status); }]) +-m4trace:/usr/share/aclocal-1.15/sanity.m4:11: -1- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/sanity.m4:82: -1- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) + # Reject unsafe characters in $srcdir or the absolute working directory + # name. Accept space and tab only in the latter. + am_lf=' +@@ -580,7 +1275,7 @@ + AC_MSG_RESULT([done])]) + rm -f conftest.file + ]) +-m4trace:/usr/share/aclocal-1.15/silent.m4:12: -1- AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/silent.m4:60: -1- AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl + AS_HELP_STRING( + [--enable-silent-rules], + [less verbose build output (undo: "make V=1")]) +@@ -628,7 +1323,7 @@ + AC_SUBST([AM_BACKSLASH])dnl + _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl + ]) +-m4trace:/usr/share/aclocal-1.15/strip.m4:17: -1- AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/strip.m4:28: -1- AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl + # Installed binaries are usually stripped using 'strip' when the user + # run "make install-strip". However 'strip' might not be the right + # tool to use in cross-compilation environments, therefore Automake +@@ -639,9 +1334,9 @@ + fi + INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + AC_SUBST([INSTALL_STRIP_PROGRAM])]) +-m4trace:/usr/share/aclocal-1.15/substnot.m4:12: -1- AC_DEFUN([_AM_SUBST_NOTMAKE]) +-m4trace:/usr/share/aclocal-1.15/substnot.m4:17: -1- AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) +-m4trace:/usr/share/aclocal-1.15/tar.m4:23: -1- AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/substnot.m4:12: -1- AC_DEFUN([_AM_SUBST_NOTMAKE]) ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/substnot.m4:17: -1- AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) ++m4trace:/opt/homebrew/Cellar/automake/1.16.5/share/aclocal-1.16/tar.m4:132: -1- AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used + # in the wild :-( We should find a proper way to deprecate it ... + AC_SUBST([AMTAR], ['$${TAR-tar}']) + +@@ -750,6 +1445,994 @@ + AC_SUBST([am__tar]) + AC_SUBST([am__untar]) + ]) ++m4trace:m4/libtool.m4:96: -1- AC_DEFUN([LT_INIT], [AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK ++AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl ++AC_BEFORE([$0], [LT_LANG])dnl ++AC_BEFORE([$0], [LT_OUTPUT])dnl ++AC_BEFORE([$0], [LTDL_INIT])dnl ++m4_require([_LT_CHECK_BUILDDIR])dnl ++ ++dnl Autoconf doesn't catch unexpanded LT_ macros by default: ++m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl ++m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl ++dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 ++dnl unless we require an AC_DEFUNed macro: ++AC_REQUIRE([LTOPTIONS_VERSION])dnl ++AC_REQUIRE([LTSUGAR_VERSION])dnl ++AC_REQUIRE([LTVERSION_VERSION])dnl ++AC_REQUIRE([LTOBSOLETE_VERSION])dnl ++m4_require([_LT_PROG_LTMAIN])dnl ++ ++_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) ++ ++dnl Parse OPTIONS ++_LT_SET_OPTIONS([$0], [$1]) ++ ++# This can be used to rebuild libtool when needed ++LIBTOOL_DEPS=$ltmain ++ ++# Always use our own libtool. ++LIBTOOL='$(SHELL) $(top_builddir)/libtool' ++AC_SUBST(LIBTOOL)dnl ++ ++_LT_SETUP ++ ++# Only expand once: ++m4_define([LT_INIT]) ++]) ++m4trace:m4/libtool.m4:99: -1- AU_DEFUN([AC_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])], [], []) ++m4trace:m4/libtool.m4:99: -1- AC_DEFUN([AC_PROG_LIBTOOL], [m4_warn([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete. ++You should run autoupdate.])dnl ++m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) ++m4trace:m4/libtool.m4:100: -1- AU_DEFUN([AM_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])], [], []) ++m4trace:m4/libtool.m4:100: -1- AC_DEFUN([AM_PROG_LIBTOOL], [m4_warn([obsolete], [The macro `AM_PROG_LIBTOOL' is obsolete. ++You should run autoupdate.])dnl ++m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) ++m4trace:m4/libtool.m4:704: -1- AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} ++AC_MSG_NOTICE([creating $CONFIG_LT]) ++_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], ++[# Run this file to recreate a libtool stub with the current configuration.]) ++ ++cat >>"$CONFIG_LT" <<\_LTEOF ++lt_cl_silent=false ++exec AS_MESSAGE_LOG_FD>>config.log ++{ ++ echo ++ AS_BOX([Running $as_me.]) ++} >&AS_MESSAGE_LOG_FD ++ ++lt_cl_help="\ ++'$as_me' creates a local libtool stub from the current configuration, ++for use in further configure time tests before the real libtool is ++generated. ++ ++Usage: $[0] [[OPTIONS]] ++ ++ -h, --help print this help, then exit ++ -V, --version print version number, then exit ++ -q, --quiet do not print progress messages ++ -d, --debug don't remove temporary files ++ ++Report bugs to ." ++ ++lt_cl_version="\ ++m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl ++m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) ++configured by $[0], generated by m4_PACKAGE_STRING. ++ ++Copyright (C) 2011 Free Software Foundation, Inc. ++This config.lt script is free software; the Free Software Foundation ++gives unlimited permision to copy, distribute and modify it." ++ ++while test 0 != $[#] ++do ++ case $[1] in ++ --version | --v* | -V ) ++ echo "$lt_cl_version"; exit 0 ;; ++ --help | --h* | -h ) ++ echo "$lt_cl_help"; exit 0 ;; ++ --debug | --d* | -d ) ++ debug=: ;; ++ --quiet | --q* | --silent | --s* | -q ) ++ lt_cl_silent=: ;; ++ ++ -*) AC_MSG_ERROR([unrecognized option: $[1] ++Try '$[0] --help' for more information.]) ;; ++ ++ *) AC_MSG_ERROR([unrecognized argument: $[1] ++Try '$[0] --help' for more information.]) ;; ++ esac ++ shift ++done ++ ++if $lt_cl_silent; then ++ exec AS_MESSAGE_FD>/dev/null ++fi ++_LTEOF ++ ++cat >>"$CONFIG_LT" <<_LTEOF ++_LT_OUTPUT_LIBTOOL_COMMANDS_INIT ++_LTEOF ++ ++cat >>"$CONFIG_LT" <<\_LTEOF ++AC_MSG_NOTICE([creating $ofile]) ++_LT_OUTPUT_LIBTOOL_COMMANDS ++AS_EXIT(0) ++_LTEOF ++chmod +x "$CONFIG_LT" ++ ++# configure is writing to config.log, but config.lt does its own redirection, ++# appending to config.log, which fails on DOS, as config.log is still kept ++# open by configure. Here we exec the FD to /dev/null, effectively closing ++# config.log, so it can be properly (re)opened and appended to by config.lt. ++lt_cl_success=: ++test yes = "$silent" && ++ lt_config_lt_args="$lt_config_lt_args --quiet" ++exec AS_MESSAGE_LOG_FD>/dev/null ++$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false ++exec AS_MESSAGE_LOG_FD>>config.log ++$lt_cl_success || AS_EXIT(1) ++]) ++m4trace:m4/libtool.m4:812: -1- AC_DEFUN([LT_SUPPORTED_TAG], []) ++m4trace:m4/libtool.m4:836: -1- AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl ++m4_case([$1], ++ [C], [_LT_LANG(C)], ++ [C++], [_LT_LANG(CXX)], ++ [Go], [_LT_LANG(GO)], ++ [Java], [_LT_LANG(GCJ)], ++ [Fortran 77], [_LT_LANG(F77)], ++ [Fortran], [_LT_LANG(FC)], ++ [Windows Resource], [_LT_LANG(RC)], ++ [m4_ifdef([_LT_LANG_]$1[_CONFIG], ++ [_LT_LANG($1)], ++ [m4_fatal([$0: unsupported language: "$1"])])])dnl ++]) ++m4trace:m4/libtool.m4:915: -1- AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) ++m4trace:m4/libtool.m4:915: -1- AC_DEFUN([AC_LIBTOOL_CXX], [m4_warn([obsolete], [The macro `AC_LIBTOOL_CXX' is obsolete. ++You should run autoupdate.])dnl ++LT_LANG(C++)]) ++m4trace:m4/libtool.m4:916: -1- AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) ++m4trace:m4/libtool.m4:916: -1- AC_DEFUN([AC_LIBTOOL_F77], [m4_warn([obsolete], [The macro `AC_LIBTOOL_F77' is obsolete. ++You should run autoupdate.])dnl ++LT_LANG(Fortran 77)]) ++m4trace:m4/libtool.m4:917: -1- AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) ++m4trace:m4/libtool.m4:917: -1- AC_DEFUN([AC_LIBTOOL_FC], [m4_warn([obsolete], [The macro `AC_LIBTOOL_FC' is obsolete. ++You should run autoupdate.])dnl ++LT_LANG(Fortran)]) ++m4trace:m4/libtool.m4:918: -1- AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) ++m4trace:m4/libtool.m4:918: -1- AC_DEFUN([AC_LIBTOOL_GCJ], [m4_warn([obsolete], [The macro `AC_LIBTOOL_GCJ' is obsolete. ++You should run autoupdate.])dnl ++LT_LANG(Java)]) ++m4trace:m4/libtool.m4:919: -1- AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) ++m4trace:m4/libtool.m4:919: -1- AC_DEFUN([AC_LIBTOOL_RC], [m4_warn([obsolete], [The macro `AC_LIBTOOL_RC' is obsolete. ++You should run autoupdate.])dnl ++LT_LANG(Windows Resource)]) ++m4trace:m4/libtool.m4:1277: -1- AC_DEFUN([_LT_WITH_SYSROOT], [AC_MSG_CHECKING([for sysroot]) ++AC_ARG_WITH([sysroot], ++[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], ++ [Search for dependent libraries within DIR (or the compiler's sysroot ++ if not specified).])], ++[], [with_sysroot=no]) ++ ++dnl lt_sysroot will always be passed unquoted. We quote it here ++dnl in case the user passed a directory name. ++lt_sysroot= ++case $with_sysroot in #( ++ yes) ++ if test yes = "$GCC"; then ++ lt_sysroot=`$CC --print-sysroot 2>/dev/null` ++ fi ++ ;; #( ++ /*) ++ lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ++ ;; #( ++ no|'') ++ ;; #( ++ *) ++ AC_MSG_RESULT([$with_sysroot]) ++ AC_MSG_ERROR([The sysroot must be an absolute path.]) ++ ;; ++esac ++ ++ AC_MSG_RESULT([${lt_sysroot:-no}]) ++_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl ++[dependent libraries, and where our libraries should be installed.])]) ++m4trace:m4/libtool.m4:1617: -1- AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl ++m4_require([_LT_DECL_SED])dnl ++AC_CACHE_CHECK([$1], [$2], ++ [$2=no ++ m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) ++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext ++ lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment ++ # Insert the option either (1) after the last *FLAGS variable, or ++ # (2) before a word containing "conftest.", or (3) at the end. ++ # Note that $ac_compile itself does not contain backslashes and begins ++ # with a dollar sign (not a hyphen), so the echo should work correctly. ++ # The option is referenced via a variable to avoid confusing sed. ++ lt_compile=`echo "$ac_compile" | $SED \ ++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ ++ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ ++ -e 's:$: $lt_compiler_flag:'` ++ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) ++ (eval "$lt_compile" 2>conftest.err) ++ ac_status=$? ++ cat conftest.err >&AS_MESSAGE_LOG_FD ++ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD ++ if (exit $ac_status) && test -s "$ac_outfile"; then ++ # The compiler can only warn and ignore the option if not recognized ++ # So say no if there are warnings other than the usual output. ++ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp ++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 ++ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then ++ $2=yes ++ fi ++ fi ++ $RM conftest* ++]) ++ ++if test yes = "[$]$2"; then ++ m4_if([$5], , :, [$5]) ++else ++ m4_if([$6], , :, [$6]) ++fi ++]) ++m4trace:m4/libtool.m4:1620: -1- AU_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])], [], []) ++m4trace:m4/libtool.m4:1620: -1- AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [m4_warn([obsolete], [The macro `AC_LIBTOOL_COMPILER_OPTION' is obsolete. ++You should run autoupdate.])dnl ++m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])]) ++m4trace:m4/libtool.m4:1661: -1- AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl ++m4_require([_LT_DECL_SED])dnl ++AC_CACHE_CHECK([$1], [$2], ++ [$2=no ++ save_LDFLAGS=$LDFLAGS ++ LDFLAGS="$LDFLAGS $3" ++ echo "$lt_simple_link_test_code" > conftest.$ac_ext ++ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then ++ # The linker can only warn and ignore the option if not recognized ++ # So say no if there are warnings ++ if test -s conftest.err; then ++ # Append any errors to the config.log. ++ cat conftest.err 1>&AS_MESSAGE_LOG_FD ++ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp ++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 ++ if diff conftest.exp conftest.er2 >/dev/null; then ++ $2=yes ++ fi ++ else ++ $2=yes ++ fi ++ fi ++ $RM -r conftest* ++ LDFLAGS=$save_LDFLAGS ++]) ++ ++if test yes = "[$]$2"; then ++ m4_if([$4], , :, [$4]) ++else ++ m4_if([$5], , :, [$5]) ++fi ++]) ++m4trace:m4/libtool.m4:1664: -1- AU_DEFUN([AC_LIBTOOL_LINKER_OPTION], [m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])], [], []) ++m4trace:m4/libtool.m4:1664: -1- AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [m4_warn([obsolete], [The macro `AC_LIBTOOL_LINKER_OPTION' is obsolete. ++You should run autoupdate.])dnl ++m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])]) ++m4trace:m4/libtool.m4:1807: -1- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl ++# find the maximum length of command line arguments ++AC_MSG_CHECKING([the maximum length of command line arguments]) ++AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl ++ i=0 ++ teststring=ABCD ++ ++ case $build_os in ++ msdosdjgpp*) ++ # On DJGPP, this test can blow up pretty badly due to problems in libc ++ # (any single argument exceeding 2000 bytes causes a buffer overrun ++ # during glob expansion). Even if it were fixed, the result of this ++ # check would be larger than it should be. ++ lt_cv_sys_max_cmd_len=12288; # 12K is about right ++ ;; ++ ++ gnu*) ++ # Under GNU Hurd, this test is not required because there is ++ # no limit to the length of command line arguments. ++ # Libtool will interpret -1 as no limit whatsoever ++ lt_cv_sys_max_cmd_len=-1; ++ ;; ++ ++ cygwin* | mingw* | cegcc*) ++ # On Win9x/ME, this test blows up -- it succeeds, but takes ++ # about 5 minutes as the teststring grows exponentially. ++ # Worse, since 9x/ME are not pre-emptively multitasking, ++ # you end up with a "frozen" computer, even though with patience ++ # the test eventually succeeds (with a max line length of 256k). ++ # Instead, let's just punt: use the minimum linelength reported by ++ # all of the supported platforms: 8192 (on NT/2K/XP). ++ lt_cv_sys_max_cmd_len=8192; ++ ;; ++ ++ mint*) ++ # On MiNT this can take a long time and run out of memory. ++ lt_cv_sys_max_cmd_len=8192; ++ ;; ++ ++ amigaos*) ++ # On AmigaOS with pdksh, this test takes hours, literally. ++ # So we just punt and use a minimum line length of 8192. ++ lt_cv_sys_max_cmd_len=8192; ++ ;; ++ ++ bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) ++ # This has been around since 386BSD, at least. Likely further. ++ if test -x /sbin/sysctl; then ++ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` ++ elif test -x /usr/sbin/sysctl; then ++ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` ++ else ++ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs ++ fi ++ # And add a safety zone ++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` ++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ++ ;; ++ ++ interix*) ++ # We know the value 262144 and hardcode it with a safety zone (like BSD) ++ lt_cv_sys_max_cmd_len=196608 ++ ;; ++ ++ os2*) ++ # The test takes a long time on OS/2. ++ lt_cv_sys_max_cmd_len=8192 ++ ;; ++ ++ osf*) ++ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure ++ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not ++ # nice to cause kernel panics so lets avoid the loop below. ++ # First set a reasonable default. ++ lt_cv_sys_max_cmd_len=16384 ++ # ++ if test -x /sbin/sysconfig; then ++ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in ++ *1*) lt_cv_sys_max_cmd_len=-1 ;; ++ esac ++ fi ++ ;; ++ sco3.2v5*) ++ lt_cv_sys_max_cmd_len=102400 ++ ;; ++ sysv5* | sco5v6* | sysv4.2uw2*) ++ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` ++ if test -n "$kargmax"; then ++ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` ++ else ++ lt_cv_sys_max_cmd_len=32768 ++ fi ++ ;; ++ *) ++ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` ++ if test -n "$lt_cv_sys_max_cmd_len" && \ ++ test undefined != "$lt_cv_sys_max_cmd_len"; then ++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` ++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ++ else ++ # Make teststring a little bigger before we do anything with it. ++ # a 1K string should be a reasonable start. ++ for i in 1 2 3 4 5 6 7 8; do ++ teststring=$teststring$teststring ++ done ++ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} ++ # If test is not a shell built-in, we'll probably end up computing a ++ # maximum length that is only half of the actual maximum length, but ++ # we can't tell. ++ while { test X`env echo "$teststring$teststring" 2>/dev/null` \ ++ = "X$teststring$teststring"; } >/dev/null 2>&1 && ++ test 17 != "$i" # 1/2 MB should be enough ++ do ++ i=`expr $i + 1` ++ teststring=$teststring$teststring ++ done ++ # Only check the string length outside the loop. ++ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` ++ teststring= ++ # Add a significant safety factor because C++ compilers can tack on ++ # massive amounts of additional arguments before passing them to the ++ # linker. It appears as though 1/2 is a usable value. ++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` ++ fi ++ ;; ++ esac ++]) ++if test -n "$lt_cv_sys_max_cmd_len"; then ++ AC_MSG_RESULT($lt_cv_sys_max_cmd_len) ++else ++ AC_MSG_RESULT(none) ++fi ++max_cmd_len=$lt_cv_sys_max_cmd_len ++_LT_DECL([], [max_cmd_len], [0], ++ [What is the maximum length of a command?]) ++]) ++m4trace:m4/libtool.m4:1810: -1- AU_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])], [], []) ++m4trace:m4/libtool.m4:1810: -1- AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [m4_warn([obsolete], [The macro `AC_LIBTOOL_SYS_MAX_CMD_LEN' is obsolete. ++You should run autoupdate.])dnl ++m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])]) ++m4trace:m4/libtool.m4:2043: -1- AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl ++if test yes != "$enable_dlopen"; then ++ enable_dlopen=unknown ++ enable_dlopen_self=unknown ++ enable_dlopen_self_static=unknown ++else ++ lt_cv_dlopen=no ++ lt_cv_dlopen_libs= ++ ++ case $host_os in ++ beos*) ++ lt_cv_dlopen=load_add_on ++ lt_cv_dlopen_libs= ++ lt_cv_dlopen_self=yes ++ ;; ++ ++ mingw* | pw32* | cegcc*) ++ lt_cv_dlopen=LoadLibrary ++ lt_cv_dlopen_libs= ++ ;; ++ ++ cygwin*) ++ lt_cv_dlopen=dlopen ++ lt_cv_dlopen_libs= ++ ;; ++ ++ darwin*) ++ # if libdl is installed we need to link against it ++ AC_CHECK_LIB([dl], [dlopen], ++ [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ ++ lt_cv_dlopen=dyld ++ lt_cv_dlopen_libs= ++ lt_cv_dlopen_self=yes ++ ]) ++ ;; ++ ++ tpf*) ++ # Don't try to run any link tests for TPF. We know it's impossible ++ # because TPF is a cross-compiler, and we know how we open DSOs. ++ lt_cv_dlopen=dlopen ++ lt_cv_dlopen_libs= ++ lt_cv_dlopen_self=no ++ ;; ++ ++ *) ++ AC_CHECK_FUNC([shl_load], ++ [lt_cv_dlopen=shl_load], ++ [AC_CHECK_LIB([dld], [shl_load], ++ [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], ++ [AC_CHECK_FUNC([dlopen], ++ [lt_cv_dlopen=dlopen], ++ [AC_CHECK_LIB([dl], [dlopen], ++ [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], ++ [AC_CHECK_LIB([svld], [dlopen], ++ [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], ++ [AC_CHECK_LIB([dld], [dld_link], ++ [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) ++ ]) ++ ]) ++ ]) ++ ]) ++ ]) ++ ;; ++ esac ++ ++ if test no = "$lt_cv_dlopen"; then ++ enable_dlopen=no ++ else ++ enable_dlopen=yes ++ fi ++ ++ case $lt_cv_dlopen in ++ dlopen) ++ save_CPPFLAGS=$CPPFLAGS ++ test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" ++ ++ save_LDFLAGS=$LDFLAGS ++ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" ++ ++ save_LIBS=$LIBS ++ LIBS="$lt_cv_dlopen_libs $LIBS" ++ ++ AC_CACHE_CHECK([whether a program can dlopen itself], ++ lt_cv_dlopen_self, [dnl ++ _LT_TRY_DLOPEN_SELF( ++ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, ++ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ++ ]) ++ ++ if test yes = "$lt_cv_dlopen_self"; then ++ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" ++ AC_CACHE_CHECK([whether a statically linked program can dlopen itself], ++ lt_cv_dlopen_self_static, [dnl ++ _LT_TRY_DLOPEN_SELF( ++ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, ++ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) ++ ]) ++ fi ++ ++ CPPFLAGS=$save_CPPFLAGS ++ LDFLAGS=$save_LDFLAGS ++ LIBS=$save_LIBS ++ ;; ++ esac ++ ++ case $lt_cv_dlopen_self in ++ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; ++ *) enable_dlopen_self=unknown ;; ++ esac ++ ++ case $lt_cv_dlopen_self_static in ++ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; ++ *) enable_dlopen_self_static=unknown ;; ++ esac ++fi ++_LT_DECL([dlopen_support], [enable_dlopen], [0], ++ [Whether dlopen is supported]) ++_LT_DECL([dlopen_self], [enable_dlopen_self], [0], ++ [Whether dlopen of programs is supported]) ++_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], ++ [Whether dlopen of statically linked programs is supported]) ++]) ++m4trace:m4/libtool.m4:2046: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])], [], []) ++m4trace:m4/libtool.m4:2046: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [m4_warn([obsolete], [The macro `AC_LIBTOOL_DLOPEN_SELF' is obsolete. ++You should run autoupdate.])dnl ++m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])]) ++m4trace:m4/libtool.m4:3217: -1- AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl ++AC_MSG_CHECKING([for $1]) ++AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, ++[case $MAGIC_CMD in ++[[\\/*] | ?:[\\/]*]) ++ lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ++ ;; ++*) ++ lt_save_MAGIC_CMD=$MAGIC_CMD ++ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ++dnl $ac_dummy forces splitting on constant user-supplied paths. ++dnl POSIX.2 word splitting is done only on the output of word expansions, ++dnl not every word. This closes a longstanding sh security hole. ++ ac_dummy="m4_if([$2], , $PATH, [$2])" ++ for ac_dir in $ac_dummy; do ++ IFS=$lt_save_ifs ++ test -z "$ac_dir" && ac_dir=. ++ if test -f "$ac_dir/$1"; then ++ lt_cv_path_MAGIC_CMD=$ac_dir/"$1" ++ if test -n "$file_magic_test_file"; then ++ case $deplibs_check_method in ++ "file_magic "*) ++ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` ++ MAGIC_CMD=$lt_cv_path_MAGIC_CMD ++ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | ++ $EGREP "$file_magic_regex" > /dev/null; then ++ : ++ else ++ cat <<_LT_EOF 1>&2 ++ ++*** Warning: the command libtool uses to detect shared libraries, ++*** $file_magic_cmd, produces output that libtool cannot recognize. ++*** The result is that libtool may fail to recognize shared libraries ++*** as such. This will affect the creation of libtool libraries that ++*** depend on shared libraries, but programs linked with such libtool ++*** libraries will work regardless of this problem. Nevertheless, you ++*** may want to report the problem to your system manager and/or to ++*** bug-libtool@gnu.org ++ ++_LT_EOF ++ fi ;; ++ esac ++ fi ++ break ++ fi ++ done ++ IFS=$lt_save_ifs ++ MAGIC_CMD=$lt_save_MAGIC_CMD ++ ;; ++esac]) ++MAGIC_CMD=$lt_cv_path_MAGIC_CMD ++if test -n "$MAGIC_CMD"; then ++ AC_MSG_RESULT($MAGIC_CMD) ++else ++ AC_MSG_RESULT(no) ++fi ++_LT_DECL([], [MAGIC_CMD], [0], ++ [Used to examine libraries when file_magic_cmd begins with "file"])dnl ++]) ++m4trace:m4/libtool.m4:3220: -1- AU_DEFUN([AC_PATH_TOOL_PREFIX], [m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])], [], []) ++m4trace:m4/libtool.m4:3220: -1- AC_DEFUN([AC_PATH_TOOL_PREFIX], [m4_warn([obsolete], [The macro `AC_PATH_TOOL_PREFIX' is obsolete. ++You should run autoupdate.])dnl ++m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])]) ++m4trace:m4/libtool.m4:3329: -1- AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl ++AC_REQUIRE([AC_CANONICAL_HOST])dnl ++AC_REQUIRE([AC_CANONICAL_BUILD])dnl ++m4_require([_LT_DECL_SED])dnl ++m4_require([_LT_DECL_EGREP])dnl ++m4_require([_LT_PROG_ECHO_BACKSLASH])dnl ++ ++AC_ARG_WITH([gnu-ld], ++ [AS_HELP_STRING([--with-gnu-ld], ++ [assume the C compiler uses GNU ld @<:@default=no@:>@])], ++ [test no = "$withval" || with_gnu_ld=yes], ++ [with_gnu_ld=no])dnl ++ ++ac_prog=ld ++if test yes = "$GCC"; then ++ # Check if gcc -print-prog-name=ld gives a path. ++ AC_MSG_CHECKING([for ld used by $CC]) ++ case $host in ++ *-*-mingw*) ++ # gcc leaves a trailing carriage return, which upsets mingw ++ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; ++ *) ++ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; ++ esac ++ case $ac_prog in ++ # Accept absolute paths. ++ [[\\/]]* | ?:[[\\/]]*) ++ re_direlt='/[[^/]][[^/]]*/\.\./' ++ # Canonicalize the pathname of ld ++ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` ++ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ++ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` ++ done ++ test -z "$LD" && LD=$ac_prog ++ ;; ++ "") ++ # If it fails, then pretend we aren't using GCC. ++ ac_prog=ld ++ ;; ++ *) ++ # If it is relative, then search for the first ld in PATH. ++ with_gnu_ld=unknown ++ ;; ++ esac ++elif test yes = "$with_gnu_ld"; then ++ AC_MSG_CHECKING([for GNU ld]) ++else ++ AC_MSG_CHECKING([for non-GNU ld]) ++fi ++AC_CACHE_VAL(lt_cv_path_LD, ++[if test -z "$LD"; then ++ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ++ for ac_dir in $PATH; do ++ IFS=$lt_save_ifs ++ test -z "$ac_dir" && ac_dir=. ++ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then ++ lt_cv_path_LD=$ac_dir/$ac_prog ++ # Check to see if the program is GNU ld. I'd rather use --version, ++ # but apparently some variants of GNU ld only accept -v. ++ # Break only if it was the GNU/non-GNU ld that we prefer. ++ case `"$lt_cv_path_LD" -v 2>&1 &1 | sed '1q'` in ++ *$lt_bad_file* | *'Invalid file or object type'*) ++ lt_cv_path_NM="$tmp_nm -B" ++ break 2 ++ ;; ++ *) ++ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in ++ */dev/null*) ++ lt_cv_path_NM="$tmp_nm -p" ++ break 2 ++ ;; ++ *) ++ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but ++ continue # so that we can try to find one that supports BSD flags ++ ;; ++ esac ++ ;; ++ esac ++ fi ++ done ++ IFS=$lt_save_ifs ++ done ++ : ${lt_cv_path_NM=no} ++fi]) ++if test no != "$lt_cv_path_NM"; then ++ NM=$lt_cv_path_NM ++else ++ # Didn't find any BSD compatible name lister, look for dumpbin. ++ if test -n "$DUMPBIN"; then : ++ # Let the user override the test. ++ else ++ AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) ++ case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in ++ *COFF*) ++ DUMPBIN="$DUMPBIN -symbols -headers" ++ ;; ++ *) ++ DUMPBIN=: ++ ;; ++ esac ++ fi ++ AC_SUBST([DUMPBIN]) ++ if test : != "$DUMPBIN"; then ++ NM=$DUMPBIN ++ fi ++fi ++test -z "$NM" && NM=nm ++AC_SUBST([NM]) ++_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl ++ ++AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], ++ [lt_cv_nm_interface="BSD nm" ++ echo "int some_variable = 0;" > conftest.$ac_ext ++ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) ++ (eval "$ac_compile" 2>conftest.err) ++ cat conftest.err >&AS_MESSAGE_LOG_FD ++ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) ++ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) ++ cat conftest.err >&AS_MESSAGE_LOG_FD ++ (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) ++ cat conftest.out >&AS_MESSAGE_LOG_FD ++ if $GREP 'External.*some_variable' conftest.out > /dev/null; then ++ lt_cv_nm_interface="MS dumpbin" ++ fi ++ rm -f conftest*]) ++]) ++m4trace:m4/libtool.m4:3757: -1- AU_DEFUN([AM_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])], [], []) ++m4trace:m4/libtool.m4:3757: -1- AC_DEFUN([AM_PROG_NM], [m4_warn([obsolete], [The macro `AM_PROG_NM' is obsolete. ++You should run autoupdate.])dnl ++m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) ++m4trace:m4/libtool.m4:3758: -1- AU_DEFUN([AC_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])], [], []) ++m4trace:m4/libtool.m4:3758: -1- AC_DEFUN([AC_PROG_NM], [m4_warn([obsolete], [The macro `AC_PROG_NM' is obsolete. ++You should run autoupdate.])dnl ++m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) ++m4trace:m4/libtool.m4:3837: -1- AC_DEFUN([_LT_DLL_DEF_P], [dnl ++ test DEF = "`$SED -n dnl ++ -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace ++ -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments ++ -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl ++ -e q dnl Only consider the first "real" line ++ $1`" dnl ++]) ++m4trace:m4/libtool.m4:3859: -1- AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl ++LIBM= ++case $host in ++*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) ++ # These system don't have libm, or don't need it ++ ;; ++*-ncr-sysv4.3*) ++ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) ++ AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ++ ;; ++*) ++ AC_CHECK_LIB(m, cos, LIBM=-lm) ++ ;; ++esac ++AC_SUBST([LIBM]) ++]) ++m4trace:m4/libtool.m4:3862: -1- AU_DEFUN([AC_CHECK_LIBM], [m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])], [], []) ++m4trace:m4/libtool.m4:3862: -1- AC_DEFUN([AC_CHECK_LIBM], [m4_warn([obsolete], [The macro `AC_CHECK_LIBM' is obsolete. ++You should run autoupdate.])dnl ++m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])]) ++m4trace:m4/libtool.m4:8131: -1- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], ++ [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], ++ [AC_CHECK_TOOL(GCJ, gcj,) ++ test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" ++ AC_SUBST(GCJFLAGS)])])[]dnl ++]) ++m4trace:m4/libtool.m4:8134: -1- AU_DEFUN([LT_AC_PROG_GCJ], [m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])], [], []) ++m4trace:m4/libtool.m4:8134: -1- AC_DEFUN([LT_AC_PROG_GCJ], [m4_warn([obsolete], [The macro `LT_AC_PROG_GCJ' is obsolete. ++You should run autoupdate.])dnl ++m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])]) ++m4trace:m4/libtool.m4:8143: -1- AC_DEFUN([LT_PROG_GO], [AC_CHECK_TOOL(GOC, gccgo,) ++]) ++m4trace:m4/libtool.m4:8150: -1- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) ++]) ++m4trace:m4/libtool.m4:8153: -1- AU_DEFUN([LT_AC_PROG_RC], [m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])], [], []) ++m4trace:m4/libtool.m4:8153: -1- AC_DEFUN([LT_AC_PROG_RC], [m4_warn([obsolete], [The macro `LT_AC_PROG_RC' is obsolete. ++You should run autoupdate.])dnl ++m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])]) ++m4trace:m4/libtool.m4:8273: -1- AU_DEFUN([LT_AC_PROG_SED], [m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])], [], []) ++m4trace:m4/libtool.m4:8273: -1- AC_DEFUN([LT_AC_PROG_SED], [m4_warn([obsolete], [The macro `LT_AC_PROG_SED' is obsolete. ++You should run autoupdate.])dnl ++m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])]) ++m4trace:m4/ltoptions.m4:14: -1- AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) ++m4trace:m4/ltoptions.m4:118: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) ++AC_DIAGNOSE([obsolete], ++[$0: Remove this warning and the call to _LT_SET_OPTION when you ++put the 'dlopen' option into LT_INIT's first parameter.]) ++]) ++m4trace:m4/ltoptions.m4:118: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN], [m4_warn([obsolete], [The macro `AC_LIBTOOL_DLOPEN' is obsolete. ++You should run autoupdate.])dnl ++_LT_SET_OPTION([LT_INIT], [dlopen]) ++AC_DIAGNOSE([obsolete], ++[$0: Remove this warning and the call to _LT_SET_OPTION when you ++put the 'dlopen' option into LT_INIT's first parameter.]) ++]) ++m4trace:m4/ltoptions.m4:154: -1- AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl ++_LT_SET_OPTION([LT_INIT], [win32-dll]) ++AC_DIAGNOSE([obsolete], ++[$0: Remove this warning and the call to _LT_SET_OPTION when you ++put the 'win32-dll' option into LT_INIT's first parameter.]) ++]) ++m4trace:m4/ltoptions.m4:154: -1- AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [m4_warn([obsolete], [The macro `AC_LIBTOOL_WIN32_DLL' is obsolete. ++You should run autoupdate.])dnl ++AC_REQUIRE([AC_CANONICAL_HOST])dnl ++_LT_SET_OPTION([LT_INIT], [win32-dll]) ++AC_DIAGNOSE([obsolete], ++[$0: Remove this warning and the call to _LT_SET_OPTION when you ++put the 'win32-dll' option into LT_INIT's first parameter.]) ++]) ++m4trace:m4/ltoptions.m4:199: -1- AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) ++]) ++m4trace:m4/ltoptions.m4:203: -1- AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) ++]) ++m4trace:m4/ltoptions.m4:205: -1- AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) ++m4trace:m4/ltoptions.m4:205: -1- AC_DEFUN([AM_ENABLE_SHARED], [m4_warn([obsolete], [The macro `AM_ENABLE_SHARED' is obsolete. ++You should run autoupdate.])dnl ++AC_ENABLE_SHARED($@)]) ++m4trace:m4/ltoptions.m4:206: -1- AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) ++m4trace:m4/ltoptions.m4:206: -1- AC_DEFUN([AM_DISABLE_SHARED], [m4_warn([obsolete], [The macro `AM_DISABLE_SHARED' is obsolete. ++You should run autoupdate.])dnl ++AC_DISABLE_SHARED($@)]) ++m4trace:m4/ltoptions.m4:253: -1- AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) ++]) ++m4trace:m4/ltoptions.m4:257: -1- AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) ++]) ++m4trace:m4/ltoptions.m4:259: -1- AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) ++m4trace:m4/ltoptions.m4:259: -1- AC_DEFUN([AM_ENABLE_STATIC], [m4_warn([obsolete], [The macro `AM_ENABLE_STATIC' is obsolete. ++You should run autoupdate.])dnl ++AC_ENABLE_STATIC($@)]) ++m4trace:m4/ltoptions.m4:260: -1- AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) ++m4trace:m4/ltoptions.m4:260: -1- AC_DEFUN([AM_DISABLE_STATIC], [m4_warn([obsolete], [The macro `AM_DISABLE_STATIC' is obsolete. ++You should run autoupdate.])dnl ++AC_DISABLE_STATIC($@)]) ++m4trace:m4/ltoptions.m4:310: -1- AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) ++AC_DIAGNOSE([obsolete], ++[$0: Remove this warning and the call to _LT_SET_OPTION when you put ++the 'fast-install' option into LT_INIT's first parameter.]) ++]) ++m4trace:m4/ltoptions.m4:310: -1- AC_DEFUN([AC_ENABLE_FAST_INSTALL], [m4_warn([obsolete], [The macro `AC_ENABLE_FAST_INSTALL' is obsolete. ++You should run autoupdate.])dnl ++_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) ++AC_DIAGNOSE([obsolete], ++[$0: Remove this warning and the call to _LT_SET_OPTION when you put ++the 'fast-install' option into LT_INIT's first parameter.]) ++]) ++m4trace:m4/ltoptions.m4:317: -1- AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) ++AC_DIAGNOSE([obsolete], ++[$0: Remove this warning and the call to _LT_SET_OPTION when you put ++the 'disable-fast-install' option into LT_INIT's first parameter.]) ++]) ++m4trace:m4/ltoptions.m4:317: -1- AC_DEFUN([AC_DISABLE_FAST_INSTALL], [m4_warn([obsolete], [The macro `AC_DISABLE_FAST_INSTALL' is obsolete. ++You should run autoupdate.])dnl ++_LT_SET_OPTION([LT_INIT], [disable-fast-install]) ++AC_DIAGNOSE([obsolete], ++[$0: Remove this warning and the call to _LT_SET_OPTION when you put ++the 'disable-fast-install' option into LT_INIT's first parameter.]) ++]) ++m4trace:m4/ltoptions.m4:416: -1- AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) ++AC_DIAGNOSE([obsolete], ++[$0: Remove this warning and the call to _LT_SET_OPTION when you ++put the 'pic-only' option into LT_INIT's first parameter.]) ++]) ++m4trace:m4/ltoptions.m4:416: -1- AC_DEFUN([AC_LIBTOOL_PICMODE], [m4_warn([obsolete], [The macro `AC_LIBTOOL_PICMODE' is obsolete. ++You should run autoupdate.])dnl ++_LT_SET_OPTION([LT_INIT], [pic-only]) ++AC_DIAGNOSE([obsolete], ++[$0: Remove this warning and the call to _LT_SET_OPTION when you ++put the 'pic-only' option into LT_INIT's first parameter.]) ++]) ++m4trace:m4/ltsugar.m4:14: -1- AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) ++m4trace:m4/ltversion.m4:23: -1- AC_DEFUN([LTVERSION_VERSION], [macro_version='2.4.6' ++macro_revision='2.4.6' ++_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) ++_LT_DECL(, macro_revision, 0) ++]) ++m4trace:m4/lt~obsolete.m4:37: -1- AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) ++m4trace:m4/lt~obsolete.m4:41: -1- AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH]) ++m4trace:m4/lt~obsolete.m4:42: -1- AC_DEFUN([_LT_AC_SHELL_INIT]) ++m4trace:m4/lt~obsolete.m4:43: -1- AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX]) ++m4trace:m4/lt~obsolete.m4:45: -1- AC_DEFUN([_LT_AC_TAGVAR]) ++m4trace:m4/lt~obsolete.m4:46: -1- AC_DEFUN([AC_LTDL_ENABLE_INSTALL]) ++m4trace:m4/lt~obsolete.m4:47: -1- AC_DEFUN([AC_LTDL_PREOPEN]) ++m4trace:m4/lt~obsolete.m4:48: -1- AC_DEFUN([_LT_AC_SYS_COMPILER]) ++m4trace:m4/lt~obsolete.m4:49: -1- AC_DEFUN([_LT_AC_LOCK]) ++m4trace:m4/lt~obsolete.m4:50: -1- AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE]) ++m4trace:m4/lt~obsolete.m4:51: -1- AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF]) ++m4trace:m4/lt~obsolete.m4:52: -1- AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O]) ++m4trace:m4/lt~obsolete.m4:53: -1- AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS]) ++m4trace:m4/lt~obsolete.m4:54: -1- AC_DEFUN([AC_LIBTOOL_OBJDIR]) ++m4trace:m4/lt~obsolete.m4:55: -1- AC_DEFUN([AC_LTDL_OBJDIR]) ++m4trace:m4/lt~obsolete.m4:56: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH]) ++m4trace:m4/lt~obsolete.m4:57: -1- AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP]) ++m4trace:m4/lt~obsolete.m4:58: -1- AC_DEFUN([AC_PATH_MAGIC]) ++m4trace:m4/lt~obsolete.m4:59: -1- AC_DEFUN([AC_PROG_LD_GNU]) ++m4trace:m4/lt~obsolete.m4:60: -1- AC_DEFUN([AC_PROG_LD_RELOAD_FLAG]) ++m4trace:m4/lt~obsolete.m4:61: -1- AC_DEFUN([AC_DEPLIBS_CHECK_METHOD]) ++m4trace:m4/lt~obsolete.m4:62: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI]) ++m4trace:m4/lt~obsolete.m4:63: -1- AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE]) ++m4trace:m4/lt~obsolete.m4:64: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC]) ++m4trace:m4/lt~obsolete.m4:65: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS]) ++m4trace:m4/lt~obsolete.m4:66: -1- AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP]) ++m4trace:m4/lt~obsolete.m4:67: -1- AC_DEFUN([LT_AC_PROG_EGREP]) ++m4trace:m4/lt~obsolete.m4:72: -1- AC_DEFUN([_AC_PROG_LIBTOOL]) ++m4trace:m4/lt~obsolete.m4:73: -1- AC_DEFUN([AC_LIBTOOL_SETUP]) ++m4trace:m4/lt~obsolete.m4:74: -1- AC_DEFUN([_LT_AC_CHECK_DLFCN]) ++m4trace:m4/lt~obsolete.m4:75: -1- AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER]) ++m4trace:m4/lt~obsolete.m4:76: -1- AC_DEFUN([_LT_AC_TAGCONFIG]) ++m4trace:m4/lt~obsolete.m4:78: -1- AC_DEFUN([_LT_AC_LANG_CXX]) ++m4trace:m4/lt~obsolete.m4:79: -1- AC_DEFUN([_LT_AC_LANG_F77]) ++m4trace:m4/lt~obsolete.m4:80: -1- AC_DEFUN([_LT_AC_LANG_GCJ]) ++m4trace:m4/lt~obsolete.m4:81: -1- AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG]) ++m4trace:m4/lt~obsolete.m4:82: -1- AC_DEFUN([_LT_AC_LANG_C_CONFIG]) ++m4trace:m4/lt~obsolete.m4:83: -1- AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG]) ++m4trace:m4/lt~obsolete.m4:84: -1- AC_DEFUN([_LT_AC_LANG_CXX_CONFIG]) ++m4trace:m4/lt~obsolete.m4:85: -1- AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG]) ++m4trace:m4/lt~obsolete.m4:86: -1- AC_DEFUN([_LT_AC_LANG_F77_CONFIG]) ++m4trace:m4/lt~obsolete.m4:87: -1- AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG]) ++m4trace:m4/lt~obsolete.m4:88: -1- AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG]) ++m4trace:m4/lt~obsolete.m4:89: -1- AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG]) ++m4trace:m4/lt~obsolete.m4:90: -1- AC_DEFUN([_LT_AC_LANG_RC_CONFIG]) ++m4trace:m4/lt~obsolete.m4:91: -1- AC_DEFUN([AC_LIBTOOL_CONFIG]) ++m4trace:m4/lt~obsolete.m4:92: -1- AC_DEFUN([_LT_AC_FILE_LTDLL_C]) ++m4trace:m4/lt~obsolete.m4:94: -1- AC_DEFUN([_LT_AC_PROG_CXXCPP]) ++m4trace:m4/lt~obsolete.m4:97: -1- AC_DEFUN([_LT_PROG_F77]) ++m4trace:m4/lt~obsolete.m4:98: -1- AC_DEFUN([_LT_PROG_FC]) ++m4trace:m4/lt~obsolete.m4:99: -1- AC_DEFUN([_LT_PROG_CXX]) + m4trace:configure.ac:3: -1- m4_pattern_forbid([^_?A[CHUM]_]) + m4trace:configure.ac:3: -1- m4_pattern_forbid([_AC_]) + m4trace:configure.ac:3: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) +@@ -776,6 +2459,7 @@ + m4trace:configure.ac:3: -1- m4_pattern_allow([^sysconfdir$]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^sharedstatedir$]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^localstatedir$]) ++m4trace:configure.ac:3: -1- m4_pattern_allow([^runstatedir$]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^includedir$]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^oldincludedir$]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^docdir$]) +@@ -804,8 +2488,8 @@ + m4trace:configure.ac:7: -1- AM_INIT_AUTOMAKE([]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) + m4trace:configure.ac:7: -1- AM_SET_CURRENT_AUTOMAKE_VERSION +-m4trace:configure.ac:7: -1- AM_AUTOMAKE_VERSION([1.15.1]) +-m4trace:configure.ac:7: -1- _AM_AUTOCONF_VERSION([2.69]) ++m4trace:configure.ac:7: -1- AM_AUTOMAKE_VERSION([1.16.5]) ++m4trace:configure.ac:7: -1- _AM_AUTOCONF_VERSION([2.71]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^INSTALL_DATA$]) +@@ -871,6 +2555,9 @@ + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl + ]) + m4trace:configure.ac:7: -2- _AM_MANGLE_OPTION([no-dependencies]) ++m4trace:configure.ac:7: -1- m4_pattern_allow([^CTAGS$]) ++m4trace:configure.ac:7: -1- m4_pattern_allow([^ETAGS$]) ++m4trace:configure.ac:7: -1- m4_pattern_allow([^CSCOPE$]) + m4trace:configure.ac:7: -1- AM_SILENT_RULES + m4trace:configure.ac:7: -1- m4_pattern_allow([^AM_V$]) + m4trace:configure.ac:7: -1- AM_SUBST_NOTMAKE([AM_V]) +@@ -881,17 +2568,151 @@ + m4trace:configure.ac:7: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^AM_BACKSLASH$]) + m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH]) +-m4trace:configure.ac:14: -1- _AM_CONFIG_MACRO_DIRS([m4]) ++m4trace:configure.ac:11: -1- AC_ENABLE_SHARED ++m4trace:configure.ac:12: -1- AC_ENABLE_STATIC ++m4trace:configure.ac:13: -1- LT_INIT ++m4trace:configure.ac:13: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$]) ++m4trace:configure.ac:13: -1- LTOPTIONS_VERSION ++m4trace:configure.ac:13: -1- LTSUGAR_VERSION ++m4trace:configure.ac:13: -1- LTVERSION_VERSION ++m4trace:configure.ac:13: -1- LTOBSOLETE_VERSION ++m4trace:configure.ac:13: -1- _LT_PROG_LTMAIN ++m4trace:configure.ac:13: -1- m4_pattern_allow([^LIBTOOL$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^build$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^build_cpu$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^build_vendor$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^build_os$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^host$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^host_cpu$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^host_vendor$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^host_os$]) ++m4trace:configure.ac:13: -1- _LT_PREPARE_SED_QUOTE_VARS ++m4trace:configure.ac:13: -1- _LT_PROG_ECHO_BACKSLASH ++m4trace:configure.ac:13: -1- m4_pattern_allow([^CC$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^CFLAGS$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^LDFLAGS$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^LIBS$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^CPPFLAGS$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^CC$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^CC$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^CC$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^CC$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^ac_ct_CC$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^CC$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^EXEEXT$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^OBJEXT$]) ++m4trace:configure.ac:13: -1- _AM_PROG_CC_C_O ++m4trace:configure.ac:13: -1- AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) ++m4trace:configure.ac:13: -1- _AM_DEPENDENCIES([CC]) ++m4trace:configure.ac:13: -1- AM_SET_DEPDIR ++m4trace:configure.ac:13: -1- m4_pattern_allow([^DEPDIR$]) ++m4trace:configure.ac:13: -1- AM_OUTPUT_DEPENDENCY_COMMANDS ++m4trace:configure.ac:13: -1- AM_MAKE_INCLUDE ++m4trace:configure.ac:13: -1- AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^am__include$]) ++m4trace:configure.ac:13: -1- AM_DEP_TRACK ++m4trace:configure.ac:13: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^AMDEP_TRUE$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^AMDEP_FALSE$]) ++m4trace:configure.ac:13: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE]) ++m4trace:configure.ac:13: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) ++m4trace:configure.ac:13: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^am__nodep$]) ++m4trace:configure.ac:13: -1- _AM_SUBST_NOTMAKE([am__nodep]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^CCDEPMODE$]) ++m4trace:configure.ac:13: -1- AM_CONDITIONAL([am__fastdepCC], [ ++ test "x$enable_dependency_tracking" != xno \ ++ && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) ++m4trace:configure.ac:13: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) ++m4trace:configure.ac:13: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) ++m4trace:configure.ac:13: -1- LT_PATH_LD ++m4trace:configure.ac:13: -1- m4_pattern_allow([^SED$]) ++m4trace:configure.ac:13: -1- AC_PROG_EGREP ++m4trace:configure.ac:13: -1- m4_pattern_allow([^GREP$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^EGREP$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^FGREP$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^GREP$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^LD$]) ++m4trace:configure.ac:13: -1- LT_PATH_NM ++m4trace:configure.ac:13: -1- m4_pattern_allow([^DUMPBIN$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^ac_ct_DUMPBIN$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^DUMPBIN$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^NM$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^LN_S$]) ++m4trace:configure.ac:13: -1- LT_CMD_MAX_LEN ++m4trace:configure.ac:13: -1- m4_pattern_allow([^OBJDUMP$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^OBJDUMP$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^DLLTOOL$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^DLLTOOL$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^AR$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^ac_ct_AR$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^STRIP$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^RANLIB$]) ++m4trace:configure.ac:13: -1- _LT_WITH_SYSROOT ++m4trace:configure.ac:13: -1- m4_pattern_allow([LT_OBJDIR]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^LT_OBJDIR$]) ++m4trace:configure.ac:13: -1- _LT_CC_BASENAME([$compiler]) ++m4trace:configure.ac:13: -1- _LT_PATH_TOOL_PREFIX([${ac_tool_prefix}file], [/usr/bin$PATH_SEPARATOR$PATH]) ++m4trace:configure.ac:13: -1- _LT_PATH_TOOL_PREFIX([file], [/usr/bin$PATH_SEPARATOR$PATH]) ++m4trace:configure.ac:13: -1- LT_SUPPORTED_TAG([CC]) ++m4trace:configure.ac:13: -1- _LT_COMPILER_BOILERPLATE ++m4trace:configure.ac:13: -1- _LT_LINKER_BOILERPLATE ++m4trace:configure.ac:13: -1- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], [lt_cv_prog_compiler_rtti_exceptions], [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, )="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, ) -fno-rtti -fno-exceptions"]) ++m4trace:configure.ac:13: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, ) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, )], [$_LT_TAGVAR(lt_prog_compiler_pic, )@&t@m4_if([],[],[ -DPIC],[m4_if([],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, ) in ++ "" | " "*) ;; ++ *) _LT_TAGVAR(lt_prog_compiler_pic, )=" $_LT_TAGVAR(lt_prog_compiler_pic, )" ;; ++ esac], [_LT_TAGVAR(lt_prog_compiler_pic, )= ++ _LT_TAGVAR(lt_prog_compiler_can_build_shared, )=no]) ++m4trace:configure.ac:13: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, )=]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^MANIFEST_TOOL$]) ++m4trace:configure.ac:13: -1- _LT_DLL_DEF_P([$export_symbols]) ++m4trace:configure.ac:13: -1- _LT_DLL_DEF_P([$export_symbols]) ++m4trace:configure.ac:13: -1- _LT_REQUIRED_DARWIN_CHECKS ++m4trace:configure.ac:13: -1- m4_pattern_allow([^DSYMUTIL$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^NMEDIT$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^LIPO$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^OTOOL$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^OTOOL64$]) ++m4trace:configure.ac:13: -1- _LT_LINKER_OPTION([if $CC understands -b], [lt_cv_prog_compiler__b], [-b], [_LT_TAGVAR(archive_cmds, )='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], [_LT_TAGVAR(archive_cmds, )='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags']) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) ++m4trace:configure.ac:13: -1- LT_SYS_DLOPEN_SELF ++m4trace:configure.ac:13: -1- AC_DEFUN([_AC_Header_stdio_h], [m4_divert_text([INIT_PREPARE], ++ [AS_VAR_APPEND([ac_header_]]_AC_LANG_ABBREV[[_list], ++ [" stdio.h ]AS_TR_SH([stdio.h]) AS_TR_CPP([HAVE_stdio.h])["])])_AC_HEADERS_EXPANSION(_AC_LANG_ABBREV)]) ++m4trace:configure.ac:13: -1- AC_DEFUN([_AC_Header_stdlib_h], [m4_divert_text([INIT_PREPARE], ++ [AS_VAR_APPEND([ac_header_]]_AC_LANG_ABBREV[[_list], ++ [" stdlib.h ]AS_TR_SH([stdlib.h]) AS_TR_CPP([HAVE_stdlib.h])["])])_AC_HEADERS_EXPANSION(_AC_LANG_ABBREV)]) ++m4trace:configure.ac:13: -1- AC_DEFUN([_AC_Header_string_h], [m4_divert_text([INIT_PREPARE], ++ [AS_VAR_APPEND([ac_header_]]_AC_LANG_ABBREV[[_list], ++ [" string.h ]AS_TR_SH([string.h]) AS_TR_CPP([HAVE_string.h])["])])_AC_HEADERS_EXPANSION(_AC_LANG_ABBREV)]) ++m4trace:configure.ac:13: -1- AC_DEFUN([_AC_Header_inttypes_h], [m4_divert_text([INIT_PREPARE], ++ [AS_VAR_APPEND([ac_header_]]_AC_LANG_ABBREV[[_list], ++ [" inttypes.h ]AS_TR_SH([inttypes.h]) AS_TR_CPP([HAVE_inttypes.h])["])])_AC_HEADERS_EXPANSION(_AC_LANG_ABBREV)]) ++m4trace:configure.ac:13: -1- AC_DEFUN([_AC_Header_stdint_h], [m4_divert_text([INIT_PREPARE], ++ [AS_VAR_APPEND([ac_header_]]_AC_LANG_ABBREV[[_list], ++ [" stdint.h ]AS_TR_SH([stdint.h]) AS_TR_CPP([HAVE_stdint.h])["])])_AC_HEADERS_EXPANSION(_AC_LANG_ABBREV)]) ++m4trace:configure.ac:13: -1- AC_DEFUN([_AC_Header_strings_h], [m4_divert_text([INIT_PREPARE], ++ [AS_VAR_APPEND([ac_header_]]_AC_LANG_ABBREV[[_list], ++ [" strings.h ]AS_TR_SH([strings.h]) AS_TR_CPP([HAVE_strings.h])["])])_AC_HEADERS_EXPANSION(_AC_LANG_ABBREV)]) ++m4trace:configure.ac:13: -1- AC_DEFUN([_AC_Header_sys_stat_h], [m4_divert_text([INIT_PREPARE], ++ [AS_VAR_APPEND([ac_header_]]_AC_LANG_ABBREV[[_list], ++ [" sys/stat.h ]AS_TR_SH([sys/stat.h]) AS_TR_CPP([HAVE_sys/stat.h])["])])_AC_HEADERS_EXPANSION(_AC_LANG_ABBREV)]) ++m4trace:configure.ac:13: -1- AC_DEFUN([_AC_Header_sys_types_h], [m4_divert_text([INIT_PREPARE], ++ [AS_VAR_APPEND([ac_header_]]_AC_LANG_ABBREV[[_list], ++ [" sys/types.h ]AS_TR_SH([sys/types.h]) AS_TR_CPP([HAVE_sys/types.h])["])])_AC_HEADERS_EXPANSION(_AC_LANG_ABBREV)]) ++m4trace:configure.ac:13: -1- AC_DEFUN([_AC_Header_unistd_h], [m4_divert_text([INIT_PREPARE], ++ [AS_VAR_APPEND([ac_header_]]_AC_LANG_ABBREV[[_list], ++ [" unistd.h ]AS_TR_SH([unistd.h]) AS_TR_CPP([HAVE_unistd.h])["])])_AC_HEADERS_EXPANSION(_AC_LANG_ABBREV)]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^STDC_HEADERS$]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^HAVE_DLFCN_H$]) ++m4trace:configure.ac:14: -1- AC_CONFIG_MACRO_DIR([m4]) ++m4trace:configure.ac:14: -1- AC_CONFIG_MACRO_DIR_TRACE([m4]) + m4trace:configure.ac:16: -1- m4_pattern_allow([^VERSION$]) + m4trace:configure.ac:19: -1- m4_pattern_allow([^ISODATE$]) +-m4trace:configure.ac:22: -1- m4_pattern_allow([^build$]) +-m4trace:configure.ac:22: -1- m4_pattern_allow([^build_cpu$]) +-m4trace:configure.ac:22: -1- m4_pattern_allow([^build_vendor$]) +-m4trace:configure.ac:22: -1- m4_pattern_allow([^build_os$]) +-m4trace:configure.ac:22: -1- m4_pattern_allow([^host$]) +-m4trace:configure.ac:22: -1- m4_pattern_allow([^host_cpu$]) +-m4trace:configure.ac:22: -1- m4_pattern_allow([^host_vendor$]) +-m4trace:configure.ac:22: -1- m4_pattern_allow([^host_os$]) + m4trace:configure.ac:25: -1- m4_pattern_allow([^CRLIBM_TYPEOS_HPUX$]) + m4trace:configure.ac:27: -1- m4_pattern_allow([^CRLIBM_TYPEOS_CYGWIN$]) + m4trace:configure.ac:29: -1- m4_pattern_allow([^CRLIBM_TYPEOS_BSD$]) +@@ -909,27 +2730,9 @@ + m4trace:configure.ac:57: -1- m4_pattern_allow([^CPPFLAGS$]) + m4trace:configure.ac:57: -1- m4_pattern_allow([^CC$]) + m4trace:configure.ac:57: -1- m4_pattern_allow([^ac_ct_CC$]) +-m4trace:configure.ac:57: -1- m4_pattern_allow([^EXEEXT$]) +-m4trace:configure.ac:57: -1- m4_pattern_allow([^OBJEXT$]) + m4trace:configure.ac:57: -1- _AM_PROG_CC_C_O + m4trace:configure.ac:57: -1- AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) + m4trace:configure.ac:57: -1- _AM_DEPENDENCIES([CC]) +-m4trace:configure.ac:57: -1- AM_SET_DEPDIR +-m4trace:configure.ac:57: -1- m4_pattern_allow([^DEPDIR$]) +-m4trace:configure.ac:57: -1- AM_OUTPUT_DEPENDENCY_COMMANDS +-m4trace:configure.ac:57: -1- AM_MAKE_INCLUDE +-m4trace:configure.ac:57: -1- m4_pattern_allow([^am__include$]) +-m4trace:configure.ac:57: -1- m4_pattern_allow([^am__quote$]) +-m4trace:configure.ac:57: -1- AM_DEP_TRACK +-m4trace:configure.ac:57: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +-m4trace:configure.ac:57: -1- m4_pattern_allow([^AMDEP_TRUE$]) +-m4trace:configure.ac:57: -1- m4_pattern_allow([^AMDEP_FALSE$]) +-m4trace:configure.ac:57: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE]) +-m4trace:configure.ac:57: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE]) +-m4trace:configure.ac:57: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) +-m4trace:configure.ac:57: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH]) +-m4trace:configure.ac:57: -1- m4_pattern_allow([^am__nodep$]) +-m4trace:configure.ac:57: -1- _AM_SUBST_NOTMAKE([am__nodep]) + m4trace:configure.ac:57: -1- m4_pattern_allow([^CCDEPMODE$]) + m4trace:configure.ac:57: -1- AM_CONDITIONAL([am__fastdepCC], [ + test "x$enable_dependency_tracking" != xno \ +@@ -944,12 +2747,11 @@ + m4trace:configure.ac:111: -1- _AM_SUBST_NOTMAKE([COMPILER_ICC_TRUE]) + m4trace:configure.ac:111: -1- _AM_SUBST_NOTMAKE([COMPILER_ICC_FALSE]) + m4trace:configure.ac:115: -1- m4_pattern_allow([^LN_S$]) +-m4trace:configure.ac:118: -1- m4_pattern_allow([^CPP$]) +-m4trace:configure.ac:118: -1- m4_pattern_allow([^CPPFLAGS$]) +-m4trace:configure.ac:118: -1- m4_pattern_allow([^CPP$]) +-m4trace:configure.ac:118: -1- m4_pattern_allow([^GREP$]) ++m4trace:configure.ac:118: -1- _m4_warn([obsolete], [The macro `AC_HEADER_STDC' is obsolete. ++You should run autoupdate.], [./lib/autoconf/headers.m4:712: AC_HEADER_STDC is expanded from... ++configure.ac:118: the top level]) ++m4trace:configure.ac:118: -1- AC_PROG_EGREP + m4trace:configure.ac:118: -1- m4_pattern_allow([^EGREP$]) +-m4trace:configure.ac:118: -1- m4_pattern_allow([^STDC_HEADERS$]) + m4trace:configure.ac:119: -1- m4_pattern_allow([^const$]) + m4trace:configure.ac:123: -1- m4_pattern_allow([^HAVE_SQRT$]) + m4trace:configure.ac:124: -1- m4_pattern_allow([^HAVE_FENV_H$]) +@@ -964,12 +2766,12 @@ + m4trace:configure.ac:139: -1- m4_pattern_allow([^WORDS_BIGENDIAN$]) + m4trace:configure.ac:139: -1- m4_pattern_allow([^AC_APPLE_UNIVERSAL_BUILD$]) + m4trace:configure.ac:142: -1- _m4_warn([obsolete], [The macro `AC_C_LONG_DOUBLE' is obsolete. +-You should run autoupdate.], [../../lib/autoconf/types.m4:452: AC_C_LONG_DOUBLE is expanded from... ++You should run autoupdate.], [./lib/autoconf/types.m4:465: AC_C_LONG_DOUBLE is expanded from... + configure.ac:142: the top level]) + m4trace:configure.ac:142: -1- m4_pattern_allow([^HAVE_LONG_DOUBLE_WIDER$]) + m4trace:configure.ac:142: -1- m4_pattern_allow([^HAVE_LONG_DOUBLE$]) + m4trace:configure.ac:146: -1- m4_pattern_allow([^SIZEOF_INT$]) +-m4trace:configure.ac:157: -1- AC_DEFUN([AC_ADD_PATH_LIBS], [ ++m4trace:configure.ac:174: -1- AC_DEFUN([AC_ADD_PATH_LIBS], [ + if ` test "$1" ` + then + AC_MSG_CHECKING($2 library) +@@ -986,13 +2788,13 @@ + fi + + ]) +-m4trace:configure.ac:184: -1- m4_pattern_allow([^HAS_SSE2$]) ++m4trace:configure.ac:192: -1- m4_pattern_allow([^HAS_SSE2$]) + m4trace:configure.ac:194: -1- AM_CONDITIONAL([USE_SSE2], [test x$enable_sse2 = xyes ]) + m4trace:configure.ac:194: -1- m4_pattern_allow([^USE_SSE2_TRUE$]) + m4trace:configure.ac:194: -1- m4_pattern_allow([^USE_SSE2_FALSE$]) + m4trace:configure.ac:194: -1- _AM_SUBST_NOTMAKE([USE_SSE2_TRUE]) + m4trace:configure.ac:194: -1- _AM_SUBST_NOTMAKE([USE_SSE2_FALSE]) +-m4trace:configure.ac:200: -1- m4_pattern_allow([^BUILD_INTERVAL_FUNCTIONS$]) ++m4trace:configure.ac:208: -1- m4_pattern_allow([^BUILD_INTERVAL_FUNCTIONS$]) + m4trace:configure.ac:210: -1- AM_CONDITIONAL([USE_INTERVAL_FUNCTIONS], [test x$enable_interval_functions = xyes ]) + m4trace:configure.ac:210: -1- m4_pattern_allow([^USE_INTERVAL_FUNCTIONS_TRUE$]) + m4trace:configure.ac:210: -1- m4_pattern_allow([^USE_INTERVAL_FUNCTIONS_FALSE$]) +@@ -1003,10 +2805,10 @@ + m4trace:configure.ac:226: -1- m4_pattern_allow([^USE_HARDWARE_DE_FALSE$]) + m4trace:configure.ac:226: -1- _AM_SUBST_NOTMAKE([USE_HARDWARE_DE_TRUE]) + m4trace:configure.ac:226: -1- _AM_SUBST_NOTMAKE([USE_HARDWARE_DE_FALSE]) +-m4trace:configure.ac:240: -1- m4_pattern_allow([^SCS_NB_WORDS$]) +-m4trace:configure.ac:240: -1- m4_pattern_allow([^SCS_NB_WORDS$]) +-m4trace:configure.ac:249: -1- m4_pattern_allow([^SCS_NB_BITS$]) +-m4trace:configure.ac:249: -1- m4_pattern_allow([^SCS_NB_BITS$]) ++m4trace:configure.ac:247: -1- m4_pattern_allow([^SCS_NB_WORDS$]) ++m4trace:configure.ac:247: -1- m4_pattern_allow([^SCS_NB_WORDS$]) ++m4trace:configure.ac:256: -1- m4_pattern_allow([^SCS_NB_BITS$]) ++m4trace:configure.ac:256: -1- m4_pattern_allow([^SCS_NB_BITS$]) + m4trace:configure.ac:317: -1- AC_ADD_PATH_LIBS([$with_gmp_lib], [gmp]) + m4trace:configure.ac:317: -1- m4_pattern_allow([^HAVE_LIBGMP$]) + m4trace:configure.ac:320: -1- m4_pattern_allow([^HAVE_GMP_H$]) +@@ -1032,3 +2834,7 @@ + m4trace:configure.ac:421: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE]) + m4trace:configure.ac:421: -1- _AC_AM_CONFIG_HEADER_HOOK(["$ac_file"]) + m4trace:configure.ac:421: -1- _AM_OUTPUT_DEPENDENCY_COMMANDS ++m4trace:configure.ac:421: -1- AM_RUN_LOG([cd "$am_dirpart" \ ++ && sed -e '/# am--include-marker/d' "$am_filepart" \ ++ | $MAKE -f - am--depfiles]) ++m4trace:configure.ac:421: -1- _LT_PROG_LTMAIN +diff --color -urN a/crlibm-1.0beta4/autom4te.cache/traces.1 b/crlibm-1.0beta4/autom4te.cache/traces.1 +--- a/crlibm-1.0beta4/autom4te.cache/traces.1 2024-12-06 13:32:36 ++++ b/crlibm-1.0beta4/autom4te.cache/traces.1 2024-12-06 13:33:14 +@@ -1,8 +1,11 @@ +-m4trace:aclocal.m4:1153: -1- m4_include([m4/libtool.m4]) +-m4trace:aclocal.m4:1154: -1- m4_include([m4/ltoptions.m4]) +-m4trace:aclocal.m4:1155: -1- m4_include([m4/ltsugar.m4]) +-m4trace:aclocal.m4:1156: -1- m4_include([m4/ltversion.m4]) +-m4trace:aclocal.m4:1157: -1- m4_include([m4/lt~obsolete.m4]) ++m4trace:aclocal.m4:699: -1- AC_SUBST([am__quote]) ++m4trace:aclocal.m4:699: -1- AC_SUBST_TRACE([am__quote]) ++m4trace:aclocal.m4:699: -1- m4_pattern_allow([^am__quote$]) ++m4trace:aclocal.m4:1151: -1- m4_include([m4/libtool.m4]) ++m4trace:aclocal.m4:1152: -1- m4_include([m4/ltoptions.m4]) ++m4trace:aclocal.m4:1153: -1- m4_include([m4/ltsugar.m4]) ++m4trace:aclocal.m4:1154: -1- m4_include([m4/ltversion.m4]) ++m4trace:aclocal.m4:1155: -1- m4_include([m4/lt~obsolete.m4]) + m4trace:configure.ac:3: -1- AC_INIT([crlibm], [1.0beta4]) + m4trace:configure.ac:3: -1- m4_pattern_forbid([^_?A[CHUM]_]) + m4trace:configure.ac:3: -1- m4_pattern_forbid([_AC_]) +@@ -68,6 +71,9 @@ + m4trace:configure.ac:3: -1- AC_SUBST([localstatedir], ['${prefix}/var']) + m4trace:configure.ac:3: -1- AC_SUBST_TRACE([localstatedir]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^localstatedir$]) ++m4trace:configure.ac:3: -1- AC_SUBST([runstatedir], ['${localstatedir}/run']) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([runstatedir]) ++m4trace:configure.ac:3: -1- m4_pattern_allow([^runstatedir$]) + m4trace:configure.ac:3: -1- AC_SUBST([includedir], ['${prefix}/include']) + m4trace:configure.ac:3: -1- AC_SUBST_TRACE([includedir]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^includedir$]) +@@ -153,7 +159,7 @@ + m4trace:configure.ac:3: -1- m4_pattern_allow([^target_alias$]) + m4trace:configure.ac:7: -1- AM_INIT_AUTOMAKE([]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) +-m4trace:configure.ac:7: -1- AM_AUTOMAKE_VERSION([1.15.1]) ++m4trace:configure.ac:7: -1- AM_AUTOMAKE_VERSION([1.16.5]) + m4trace:configure.ac:7: -1- AC_REQUIRE_AUX_FILE([install-sh]) + m4trace:configure.ac:7: -1- AC_SUBST([INSTALL_PROGRAM]) + m4trace:configure.ac:7: -1- AC_SUBST_TRACE([INSTALL_PROGRAM]) +@@ -235,6 +241,15 @@ + m4trace:configure.ac:7: -1- AC_SUBST([am__untar]) + m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__untar]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^am__untar$]) ++m4trace:configure.ac:7: -1- AC_SUBST([CTAGS]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CTAGS]) ++m4trace:configure.ac:7: -1- m4_pattern_allow([^CTAGS$]) ++m4trace:configure.ac:7: -1- AC_SUBST([ETAGS]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([ETAGS]) ++m4trace:configure.ac:7: -1- m4_pattern_allow([^ETAGS$]) ++m4trace:configure.ac:7: -1- AC_SUBST([CSCOPE]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CSCOPE]) ++m4trace:configure.ac:7: -1- m4_pattern_allow([^CSCOPE$]) + m4trace:configure.ac:7: -1- AM_SILENT_RULES + m4trace:configure.ac:7: -1- AC_SUBST([AM_V]) + m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AM_V]) +@@ -317,6 +332,9 @@ + m4trace:configure.ac:13: -1- AC_SUBST([ac_ct_CC]) + m4trace:configure.ac:13: -1- AC_SUBST_TRACE([ac_ct_CC]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^ac_ct_CC$]) ++m4trace:configure.ac:13: -1- AC_SUBST([CC]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([CC]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^CC$]) + m4trace:configure.ac:13: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext]) + m4trace:configure.ac:13: -1- AC_SUBST_TRACE([EXEEXT]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^EXEEXT$]) +@@ -330,9 +348,6 @@ + m4trace:configure.ac:13: -1- AC_SUBST([am__include]) + m4trace:configure.ac:13: -1- AC_SUBST_TRACE([am__include]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^am__include$]) +-m4trace:configure.ac:13: -1- AC_SUBST([am__quote]) +-m4trace:configure.ac:13: -1- AC_SUBST_TRACE([am__quote]) +-m4trace:configure.ac:13: -1- m4_pattern_allow([^am__quote$]) + m4trace:configure.ac:13: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) + m4trace:configure.ac:13: -1- AC_SUBST([AMDEP_TRUE]) + m4trace:configure.ac:13: -1- AC_SUBST_TRACE([AMDEP_TRUE]) +@@ -450,39 +465,33 @@ + m4trace:configure.ac:13: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) + m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the header file. */ + @%:@undef HAVE_DLFCN_H]) +-m4trace:configure.ac:13: -1- AC_SUBST([CPP]) +-m4trace:configure.ac:13: -1- AC_SUBST_TRACE([CPP]) +-m4trace:configure.ac:13: -1- m4_pattern_allow([^CPP$]) +-m4trace:configure.ac:13: -1- AC_SUBST([CPPFLAGS]) +-m4trace:configure.ac:13: -1- AC_SUBST_TRACE([CPPFLAGS]) +-m4trace:configure.ac:13: -1- m4_pattern_allow([^CPPFLAGS$]) +-m4trace:configure.ac:13: -1- AC_SUBST([CPP]) +-m4trace:configure.ac:13: -1- AC_SUBST_TRACE([CPP]) +-m4trace:configure.ac:13: -1- m4_pattern_allow([^CPP$]) +-m4trace:configure.ac:13: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) +-m4trace:configure.ac:13: -1- m4_pattern_allow([^STDC_HEADERS$]) +-m4trace:configure.ac:13: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */ +-@%:@undef STDC_HEADERS]) +-m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the header file. */ +-@%:@undef HAVE_SYS_TYPES_H]) +-m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the header file. */ +-@%:@undef HAVE_SYS_STAT_H]) ++m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_STDIO_H], [/* Define to 1 if you have the header file. */ ++@%:@undef HAVE_STDIO_H]) + m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ + @%:@undef HAVE_STDLIB_H]) + m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the header file. */ + @%:@undef HAVE_STRING_H]) +-m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the header file. */ +-@%:@undef HAVE_MEMORY_H]) +-m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the header file. */ +-@%:@undef HAVE_STRINGS_H]) + m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the header file. */ + @%:@undef HAVE_INTTYPES_H]) + m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the header file. */ + @%:@undef HAVE_STDINT_H]) ++m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the header file. */ ++@%:@undef HAVE_STRINGS_H]) ++m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the header file. */ ++@%:@undef HAVE_SYS_STAT_H]) ++m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the header file. */ ++@%:@undef HAVE_SYS_TYPES_H]) + m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ + @%:@undef HAVE_UNISTD_H]) ++m4trace:configure.ac:13: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^STDC_HEADERS$]) ++m4trace:configure.ac:13: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if all of the C90 standard headers exist (not just the ones ++ required in a freestanding environment). This macro is provided for ++ backward compatibility; new code need not use it. */ ++@%:@undef STDC_HEADERS]) + m4trace:configure.ac:13: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DLFCN_H]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^HAVE_DLFCN_H$]) ++m4trace:configure.ac:14: -1- AC_CONFIG_MACRO_DIR_TRACE([m4]) + m4trace:configure.ac:16: -1- AC_SUBST([VERSION]) + m4trace:configure.ac:16: -1- AC_SUBST_TRACE([VERSION]) + m4trace:configure.ac:16: -1- m4_pattern_allow([^VERSION$]) +@@ -577,10 +586,12 @@ + m4trace:configure.ac:115: -1- AC_SUBST([LN_S], [$as_ln_s]) + m4trace:configure.ac:115: -1- AC_SUBST_TRACE([LN_S]) + m4trace:configure.ac:115: -1- m4_pattern_allow([^LN_S$]) +-m4trace:configure.ac:118: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) +-m4trace:configure.ac:118: -1- m4_pattern_allow([^STDC_HEADERS$]) +-m4trace:configure.ac:118: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */ +-@%:@undef STDC_HEADERS]) ++m4trace:configure.ac:118: -1- _m4_warn([obsolete], [The macro `AC_HEADER_STDC' is obsolete. ++You should run autoupdate.], [./lib/autoconf/headers.m4:712: AC_HEADER_STDC is expanded from... ++configure.ac:118: the top level]) ++m4trace:configure.ac:118: -1- AC_SUBST([EGREP]) ++m4trace:configure.ac:118: -1- AC_SUBST_TRACE([EGREP]) ++m4trace:configure.ac:118: -1- m4_pattern_allow([^EGREP$]) + m4trace:configure.ac:119: -1- AC_DEFINE_TRACE_LITERAL([const]) + m4trace:configure.ac:119: -1- m4_pattern_allow([^const$]) + m4trace:configure.ac:119: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */ +@@ -637,7 +648,7 @@ + m4trace:configure.ac:139: -1- AH_OUTPUT([AC_APPLE_UNIVERSAL_BUILD], [/* Define if building universal (internal helper macro) */ + @%:@undef AC_APPLE_UNIVERSAL_BUILD]) + m4trace:configure.ac:142: -1- _m4_warn([obsolete], [The macro `AC_C_LONG_DOUBLE' is obsolete. +-You should run autoupdate.], [../../lib/autoconf/types.m4:452: AC_C_LONG_DOUBLE is expanded from... ++You should run autoupdate.], [./lib/autoconf/types.m4:465: AC_C_LONG_DOUBLE is expanded from... + configure.ac:142: the top level]) + m4trace:configure.ac:142: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_DOUBLE_WIDER]) + m4trace:configure.ac:142: -1- m4_pattern_allow([^HAVE_LONG_DOUBLE_WIDER$]) +@@ -653,9 +664,9 @@ + m4trace:configure.ac:146: -1- m4_pattern_allow([^SIZEOF_INT$]) + m4trace:configure.ac:146: -1- AH_OUTPUT([SIZEOF_INT], [/* The size of `int\', as computed by sizeof. */ + @%:@undef SIZEOF_INT]) +-m4trace:configure.ac:184: -1- AC_DEFINE_TRACE_LITERAL([HAS_SSE2]) +-m4trace:configure.ac:184: -1- m4_pattern_allow([^HAS_SSE2$]) +-m4trace:configure.ac:184: -1- AH_OUTPUT([HAS_SSE2], [/* Use the sse2 operators */ ++m4trace:configure.ac:192: -1- AC_DEFINE_TRACE_LITERAL([HAS_SSE2]) ++m4trace:configure.ac:192: -1- m4_pattern_allow([^HAS_SSE2$]) ++m4trace:configure.ac:192: -1- AH_OUTPUT([HAS_SSE2], [/* Use the sse2 operators */ + @%:@undef HAS_SSE2]) + m4trace:configure.ac:194: -1- AM_CONDITIONAL([USE_SSE2], [test x$enable_sse2 = xyes ]) + m4trace:configure.ac:194: -1- AC_SUBST([USE_SSE2_TRUE]) +@@ -666,9 +677,9 @@ + m4trace:configure.ac:194: -1- m4_pattern_allow([^USE_SSE2_FALSE$]) + m4trace:configure.ac:194: -1- _AM_SUBST_NOTMAKE([USE_SSE2_TRUE]) + m4trace:configure.ac:194: -1- _AM_SUBST_NOTMAKE([USE_SSE2_FALSE]) +-m4trace:configure.ac:200: -1- AC_DEFINE_TRACE_LITERAL([BUILD_INTERVAL_FUNCTIONS]) +-m4trace:configure.ac:200: -1- m4_pattern_allow([^BUILD_INTERVAL_FUNCTIONS$]) +-m4trace:configure.ac:200: -1- AH_OUTPUT([BUILD_INTERVAL_FUNCTIONS], [/* Compile the filib-compatible interval functions */ ++m4trace:configure.ac:208: -1- AC_DEFINE_TRACE_LITERAL([BUILD_INTERVAL_FUNCTIONS]) ++m4trace:configure.ac:208: -1- m4_pattern_allow([^BUILD_INTERVAL_FUNCTIONS$]) ++m4trace:configure.ac:208: -1- AH_OUTPUT([BUILD_INTERVAL_FUNCTIONS], [/* Compile the filib-compatible interval functions */ + @%:@undef BUILD_INTERVAL_FUNCTIONS]) + m4trace:configure.ac:210: -1- AM_CONDITIONAL([USE_INTERVAL_FUNCTIONS], [test x$enable_interval_functions = xyes ]) + m4trace:configure.ac:210: -1- AC_SUBST([USE_INTERVAL_FUNCTIONS_TRUE]) +@@ -688,21 +699,21 @@ + m4trace:configure.ac:226: -1- m4_pattern_allow([^USE_HARDWARE_DE_FALSE$]) + m4trace:configure.ac:226: -1- _AM_SUBST_NOTMAKE([USE_HARDWARE_DE_TRUE]) + m4trace:configure.ac:226: -1- _AM_SUBST_NOTMAKE([USE_HARDWARE_DE_FALSE]) +-m4trace:configure.ac:240: -1- AC_DEFINE_TRACE_LITERAL([SCS_NB_WORDS]) +-m4trace:configure.ac:240: -1- m4_pattern_allow([^SCS_NB_WORDS$]) +-m4trace:configure.ac:240: -1- AH_OUTPUT([SCS_NB_WORDS], [/* Number of digits in the SCS structure */ ++m4trace:configure.ac:247: -1- AC_DEFINE_TRACE_LITERAL([SCS_NB_WORDS]) ++m4trace:configure.ac:247: -1- m4_pattern_allow([^SCS_NB_WORDS$]) ++m4trace:configure.ac:247: -1- AH_OUTPUT([SCS_NB_WORDS], [/* Number of digits in the SCS structure */ + @%:@undef SCS_NB_WORDS]) +-m4trace:configure.ac:240: -1- AC_DEFINE_TRACE_LITERAL([SCS_NB_WORDS]) +-m4trace:configure.ac:240: -1- m4_pattern_allow([^SCS_NB_WORDS$]) +-m4trace:configure.ac:240: -1- AH_OUTPUT([SCS_NB_WORDS], [/* Number of digits in the SCS structure */ ++m4trace:configure.ac:247: -1- AC_DEFINE_TRACE_LITERAL([SCS_NB_WORDS]) ++m4trace:configure.ac:247: -1- m4_pattern_allow([^SCS_NB_WORDS$]) ++m4trace:configure.ac:247: -1- AH_OUTPUT([SCS_NB_WORDS], [/* Number of digits in the SCS structure */ + @%:@undef SCS_NB_WORDS]) +-m4trace:configure.ac:249: -1- AC_DEFINE_TRACE_LITERAL([SCS_NB_BITS]) +-m4trace:configure.ac:249: -1- m4_pattern_allow([^SCS_NB_BITS$]) +-m4trace:configure.ac:249: -1- AH_OUTPUT([SCS_NB_BITS], [/* Size of an SCS digit */ ++m4trace:configure.ac:256: -1- AC_DEFINE_TRACE_LITERAL([SCS_NB_BITS]) ++m4trace:configure.ac:256: -1- m4_pattern_allow([^SCS_NB_BITS$]) ++m4trace:configure.ac:256: -1- AH_OUTPUT([SCS_NB_BITS], [/* Size of an SCS digit */ + @%:@undef SCS_NB_BITS]) +-m4trace:configure.ac:249: -1- AC_DEFINE_TRACE_LITERAL([SCS_NB_BITS]) +-m4trace:configure.ac:249: -1- m4_pattern_allow([^SCS_NB_BITS$]) +-m4trace:configure.ac:249: -1- AH_OUTPUT([SCS_NB_BITS], [/* Size of an SCS digit */ ++m4trace:configure.ac:256: -1- AC_DEFINE_TRACE_LITERAL([SCS_NB_BITS]) ++m4trace:configure.ac:256: -1- m4_pattern_allow([^SCS_NB_BITS$]) ++m4trace:configure.ac:256: -1- AH_OUTPUT([SCS_NB_BITS], [/* Size of an SCS digit */ + @%:@undef SCS_NB_BITS]) + m4trace:configure.ac:317: -1- AH_OUTPUT([HAVE_LIBGMP], [/* Define to 1 if you have the `gmp\' library (-lgmp). */ + @%:@undef HAVE_LIBGMP]) +diff --color -urN a/crlibm-1.0beta4/autom4te.cache/traces.2 b/crlibm-1.0beta4/autom4te.cache/traces.2 +--- a/crlibm-1.0beta4/autom4te.cache/traces.2 2024-12-06 13:32:36 ++++ b/crlibm-1.0beta4/autom4te.cache/traces.2 2024-12-06 13:33:14 +@@ -1,2441 +1,12 @@ +-m4trace:/usr/share/aclocal/libtool.m4:61: -1- AC_DEFUN([LT_INIT], [AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK +-AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +-AC_BEFORE([$0], [LT_LANG])dnl +-AC_BEFORE([$0], [LT_OUTPUT])dnl +-AC_BEFORE([$0], [LTDL_INIT])dnl +-m4_require([_LT_CHECK_BUILDDIR])dnl +- +-dnl Autoconf doesn't catch unexpanded LT_ macros by default: +-m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl +-m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl +-dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 +-dnl unless we require an AC_DEFUNed macro: +-AC_REQUIRE([LTOPTIONS_VERSION])dnl +-AC_REQUIRE([LTSUGAR_VERSION])dnl +-AC_REQUIRE([LTVERSION_VERSION])dnl +-AC_REQUIRE([LTOBSOLETE_VERSION])dnl +-m4_require([_LT_PROG_LTMAIN])dnl +- +-_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) +- +-dnl Parse OPTIONS +-_LT_SET_OPTIONS([$0], [$1]) +- +-# This can be used to rebuild libtool when needed +-LIBTOOL_DEPS=$ltmain +- +-# Always use our own libtool. +-LIBTOOL='$(SHELL) $(top_builddir)/libtool' +-AC_SUBST(LIBTOOL)dnl +- +-_LT_SETUP +- +-# Only expand once: +-m4_define([LT_INIT]) +-]) +-m4trace:/usr/share/aclocal/libtool.m4:99: -1- AU_DEFUN([AC_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:99: -1- AC_DEFUN([AC_PROG_LIBTOOL], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete. +-You should run autoupdate.])dnl +-m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:100: -1- AU_DEFUN([AM_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:100: -1- AC_DEFUN([AM_PROG_LIBTOOL], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_LIBTOOL' is obsolete. +-You should run autoupdate.])dnl +-m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:619: -1- AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} +-AC_MSG_NOTICE([creating $CONFIG_LT]) +-_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], +-[# Run this file to recreate a libtool stub with the current configuration.]) +- +-cat >>"$CONFIG_LT" <<\_LTEOF +-lt_cl_silent=false +-exec AS_MESSAGE_LOG_FD>>config.log +-{ +- echo +- AS_BOX([Running $as_me.]) +-} >&AS_MESSAGE_LOG_FD +- +-lt_cl_help="\ +-'$as_me' creates a local libtool stub from the current configuration, +-for use in further configure time tests before the real libtool is +-generated. +- +-Usage: $[0] [[OPTIONS]] +- +- -h, --help print this help, then exit +- -V, --version print version number, then exit +- -q, --quiet do not print progress messages +- -d, --debug don't remove temporary files +- +-Report bugs to ." +- +-lt_cl_version="\ +-m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl +-m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) +-configured by $[0], generated by m4_PACKAGE_STRING. +- +-Copyright (C) 2011 Free Software Foundation, Inc. +-This config.lt script is free software; the Free Software Foundation +-gives unlimited permision to copy, distribute and modify it." +- +-while test 0 != $[#] +-do +- case $[1] in +- --version | --v* | -V ) +- echo "$lt_cl_version"; exit 0 ;; +- --help | --h* | -h ) +- echo "$lt_cl_help"; exit 0 ;; +- --debug | --d* | -d ) +- debug=: ;; +- --quiet | --q* | --silent | --s* | -q ) +- lt_cl_silent=: ;; +- +- -*) AC_MSG_ERROR([unrecognized option: $[1] +-Try '$[0] --help' for more information.]) ;; +- +- *) AC_MSG_ERROR([unrecognized argument: $[1] +-Try '$[0] --help' for more information.]) ;; +- esac +- shift +-done +- +-if $lt_cl_silent; then +- exec AS_MESSAGE_FD>/dev/null +-fi +-_LTEOF +- +-cat >>"$CONFIG_LT" <<_LTEOF +-_LT_OUTPUT_LIBTOOL_COMMANDS_INIT +-_LTEOF +- +-cat >>"$CONFIG_LT" <<\_LTEOF +-AC_MSG_NOTICE([creating $ofile]) +-_LT_OUTPUT_LIBTOOL_COMMANDS +-AS_EXIT(0) +-_LTEOF +-chmod +x "$CONFIG_LT" +- +-# configure is writing to config.log, but config.lt does its own redirection, +-# appending to config.log, which fails on DOS, as config.log is still kept +-# open by configure. Here we exec the FD to /dev/null, effectively closing +-# config.log, so it can be properly (re)opened and appended to by config.lt. +-lt_cl_success=: +-test yes = "$silent" && +- lt_config_lt_args="$lt_config_lt_args --quiet" +-exec AS_MESSAGE_LOG_FD>/dev/null +-$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false +-exec AS_MESSAGE_LOG_FD>>config.log +-$lt_cl_success || AS_EXIT(1) +-]) +-m4trace:/usr/share/aclocal/libtool.m4:812: -1- AC_DEFUN([LT_SUPPORTED_TAG], []) +-m4trace:/usr/share/aclocal/libtool.m4:823: -1- AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl +-m4_case([$1], +- [C], [_LT_LANG(C)], +- [C++], [_LT_LANG(CXX)], +- [Go], [_LT_LANG(GO)], +- [Java], [_LT_LANG(GCJ)], +- [Fortran 77], [_LT_LANG(F77)], +- [Fortran], [_LT_LANG(FC)], +- [Windows Resource], [_LT_LANG(RC)], +- [m4_ifdef([_LT_LANG_]$1[_CONFIG], +- [_LT_LANG($1)], +- [m4_fatal([$0: unsupported language: "$1"])])])dnl +-]) +-m4trace:/usr/share/aclocal/libtool.m4:915: -1- AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) +-m4trace:/usr/share/aclocal/libtool.m4:915: -1- AC_DEFUN([AC_LIBTOOL_CXX], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_CXX' is obsolete. +-You should run autoupdate.])dnl +-LT_LANG(C++)]) +-m4trace:/usr/share/aclocal/libtool.m4:916: -1- AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) +-m4trace:/usr/share/aclocal/libtool.m4:916: -1- AC_DEFUN([AC_LIBTOOL_F77], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_F77' is obsolete. +-You should run autoupdate.])dnl +-LT_LANG(Fortran 77)]) +-m4trace:/usr/share/aclocal/libtool.m4:917: -1- AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) +-m4trace:/usr/share/aclocal/libtool.m4:917: -1- AC_DEFUN([AC_LIBTOOL_FC], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_FC' is obsolete. +-You should run autoupdate.])dnl +-LT_LANG(Fortran)]) +-m4trace:/usr/share/aclocal/libtool.m4:918: -1- AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) +-m4trace:/usr/share/aclocal/libtool.m4:918: -1- AC_DEFUN([AC_LIBTOOL_GCJ], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_GCJ' is obsolete. +-You should run autoupdate.])dnl +-LT_LANG(Java)]) +-m4trace:/usr/share/aclocal/libtool.m4:919: -1- AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) +-m4trace:/usr/share/aclocal/libtool.m4:919: -1- AC_DEFUN([AC_LIBTOOL_RC], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_RC' is obsolete. +-You should run autoupdate.])dnl +-LT_LANG(Windows Resource)]) +-m4trace:/usr/share/aclocal/libtool.m4:1247: -1- AC_DEFUN([_LT_WITH_SYSROOT], [AC_MSG_CHECKING([for sysroot]) +-AC_ARG_WITH([sysroot], +-[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], +- [Search for dependent libraries within DIR (or the compiler's sysroot +- if not specified).])], +-[], [with_sysroot=no]) +- +-dnl lt_sysroot will always be passed unquoted. We quote it here +-dnl in case the user passed a directory name. +-lt_sysroot= +-case $with_sysroot in #( +- yes) +- if test yes = "$GCC"; then +- lt_sysroot=`$CC --print-sysroot 2>/dev/null` +- fi +- ;; #( +- /*) +- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` +- ;; #( +- no|'') +- ;; #( +- *) +- AC_MSG_RESULT([$with_sysroot]) +- AC_MSG_ERROR([The sysroot must be an absolute path.]) +- ;; +-esac +- +- AC_MSG_RESULT([${lt_sysroot:-no}]) +-_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl +-[dependent libraries, and where our libraries should be installed.])]) +-m4trace:/usr/share/aclocal/libtool.m4:1578: -1- AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl +-m4_require([_LT_DECL_SED])dnl +-AC_CACHE_CHECK([$1], [$2], +- [$2=no +- m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) +- echo "$lt_simple_compile_test_code" > conftest.$ac_ext +- lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment +- # Insert the option either (1) after the last *FLAGS variable, or +- # (2) before a word containing "conftest.", or (3) at the end. +- # Note that $ac_compile itself does not contain backslashes and begins +- # with a dollar sign (not a hyphen), so the echo should work correctly. +- # The option is referenced via a variable to avoid confusing sed. +- lt_compile=`echo "$ac_compile" | $SED \ +- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ +- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ +- -e 's:$: $lt_compiler_flag:'` +- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) +- (eval "$lt_compile" 2>conftest.err) +- ac_status=$? +- cat conftest.err >&AS_MESSAGE_LOG_FD +- echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD +- if (exit $ac_status) && test -s "$ac_outfile"; then +- # The compiler can only warn and ignore the option if not recognized +- # So say no if there are warnings other than the usual output. +- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp +- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 +- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then +- $2=yes +- fi +- fi +- $RM conftest* +-]) +- +-if test yes = "[$]$2"; then +- m4_if([$5], , :, [$5]) +-else +- m4_if([$6], , :, [$6]) +-fi +-]) +-m4trace:/usr/share/aclocal/libtool.m4:1620: -1- AU_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:1620: -1- AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_COMPILER_OPTION' is obsolete. +-You should run autoupdate.])dnl +-m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:1629: -1- AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl +-m4_require([_LT_DECL_SED])dnl +-AC_CACHE_CHECK([$1], [$2], +- [$2=no +- save_LDFLAGS=$LDFLAGS +- LDFLAGS="$LDFLAGS $3" +- echo "$lt_simple_link_test_code" > conftest.$ac_ext +- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then +- # The linker can only warn and ignore the option if not recognized +- # So say no if there are warnings +- if test -s conftest.err; then +- # Append any errors to the config.log. +- cat conftest.err 1>&AS_MESSAGE_LOG_FD +- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp +- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 +- if diff conftest.exp conftest.er2 >/dev/null; then +- $2=yes +- fi +- else +- $2=yes +- fi +- fi +- $RM -r conftest* +- LDFLAGS=$save_LDFLAGS +-]) +- +-if test yes = "[$]$2"; then +- m4_if([$4], , :, [$4]) +-else +- m4_if([$5], , :, [$5]) +-fi +-]) +-m4trace:/usr/share/aclocal/libtool.m4:1664: -1- AU_DEFUN([AC_LIBTOOL_LINKER_OPTION], [m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:1664: -1- AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_LINKER_OPTION' is obsolete. +-You should run autoupdate.])dnl +-m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:1671: -1- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl +-# find the maximum length of command line arguments +-AC_MSG_CHECKING([the maximum length of command line arguments]) +-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl +- i=0 +- teststring=ABCD +- +- case $build_os in +- msdosdjgpp*) +- # On DJGPP, this test can blow up pretty badly due to problems in libc +- # (any single argument exceeding 2000 bytes causes a buffer overrun +- # during glob expansion). Even if it were fixed, the result of this +- # check would be larger than it should be. +- lt_cv_sys_max_cmd_len=12288; # 12K is about right +- ;; +- +- gnu*) +- # Under GNU Hurd, this test is not required because there is +- # no limit to the length of command line arguments. +- # Libtool will interpret -1 as no limit whatsoever +- lt_cv_sys_max_cmd_len=-1; +- ;; +- +- cygwin* | mingw* | cegcc*) +- # On Win9x/ME, this test blows up -- it succeeds, but takes +- # about 5 minutes as the teststring grows exponentially. +- # Worse, since 9x/ME are not pre-emptively multitasking, +- # you end up with a "frozen" computer, even though with patience +- # the test eventually succeeds (with a max line length of 256k). +- # Instead, let's just punt: use the minimum linelength reported by +- # all of the supported platforms: 8192 (on NT/2K/XP). +- lt_cv_sys_max_cmd_len=8192; +- ;; +- +- mint*) +- # On MiNT this can take a long time and run out of memory. +- lt_cv_sys_max_cmd_len=8192; +- ;; +- +- amigaos*) +- # On AmigaOS with pdksh, this test takes hours, literally. +- # So we just punt and use a minimum line length of 8192. +- lt_cv_sys_max_cmd_len=8192; +- ;; +- +- bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) +- # This has been around since 386BSD, at least. Likely further. +- if test -x /sbin/sysctl; then +- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` +- elif test -x /usr/sbin/sysctl; then +- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` +- else +- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs +- fi +- # And add a safety zone +- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` +- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` +- ;; +- +- interix*) +- # We know the value 262144 and hardcode it with a safety zone (like BSD) +- lt_cv_sys_max_cmd_len=196608 +- ;; +- +- os2*) +- # The test takes a long time on OS/2. +- lt_cv_sys_max_cmd_len=8192 +- ;; +- +- osf*) +- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure +- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not +- # nice to cause kernel panics so lets avoid the loop below. +- # First set a reasonable default. +- lt_cv_sys_max_cmd_len=16384 +- # +- if test -x /sbin/sysconfig; then +- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in +- *1*) lt_cv_sys_max_cmd_len=-1 ;; +- esac +- fi +- ;; +- sco3.2v5*) +- lt_cv_sys_max_cmd_len=102400 +- ;; +- sysv5* | sco5v6* | sysv4.2uw2*) +- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` +- if test -n "$kargmax"; then +- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` +- else +- lt_cv_sys_max_cmd_len=32768 +- fi +- ;; +- *) +- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` +- if test -n "$lt_cv_sys_max_cmd_len" && \ +- test undefined != "$lt_cv_sys_max_cmd_len"; then +- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` +- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` +- else +- # Make teststring a little bigger before we do anything with it. +- # a 1K string should be a reasonable start. +- for i in 1 2 3 4 5 6 7 8; do +- teststring=$teststring$teststring +- done +- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} +- # If test is not a shell built-in, we'll probably end up computing a +- # maximum length that is only half of the actual maximum length, but +- # we can't tell. +- while { test X`env echo "$teststring$teststring" 2>/dev/null` \ +- = "X$teststring$teststring"; } >/dev/null 2>&1 && +- test 17 != "$i" # 1/2 MB should be enough +- do +- i=`expr $i + 1` +- teststring=$teststring$teststring +- done +- # Only check the string length outside the loop. +- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` +- teststring= +- # Add a significant safety factor because C++ compilers can tack on +- # massive amounts of additional arguments before passing them to the +- # linker. It appears as though 1/2 is a usable value. +- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` +- fi +- ;; +- esac +-]) +-if test -n "$lt_cv_sys_max_cmd_len"; then +- AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +-else +- AC_MSG_RESULT(none) +-fi +-max_cmd_len=$lt_cv_sys_max_cmd_len +-_LT_DECL([], [max_cmd_len], [0], +- [What is the maximum length of a command?]) +-]) +-m4trace:/usr/share/aclocal/libtool.m4:1810: -1- AU_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:1810: -1- AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_SYS_MAX_CMD_LEN' is obsolete. +-You should run autoupdate.])dnl +-m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:1921: -1- AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl +-if test yes != "$enable_dlopen"; then +- enable_dlopen=unknown +- enable_dlopen_self=unknown +- enable_dlopen_self_static=unknown +-else +- lt_cv_dlopen=no +- lt_cv_dlopen_libs= +- +- case $host_os in +- beos*) +- lt_cv_dlopen=load_add_on +- lt_cv_dlopen_libs= +- lt_cv_dlopen_self=yes +- ;; +- +- mingw* | pw32* | cegcc*) +- lt_cv_dlopen=LoadLibrary +- lt_cv_dlopen_libs= +- ;; +- +- cygwin*) +- lt_cv_dlopen=dlopen +- lt_cv_dlopen_libs= +- ;; +- +- darwin*) +- # if libdl is installed we need to link against it +- AC_CHECK_LIB([dl], [dlopen], +- [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ +- lt_cv_dlopen=dyld +- lt_cv_dlopen_libs= +- lt_cv_dlopen_self=yes +- ]) +- ;; +- +- tpf*) +- # Don't try to run any link tests for TPF. We know it's impossible +- # because TPF is a cross-compiler, and we know how we open DSOs. +- lt_cv_dlopen=dlopen +- lt_cv_dlopen_libs= +- lt_cv_dlopen_self=no +- ;; +- +- *) +- AC_CHECK_FUNC([shl_load], +- [lt_cv_dlopen=shl_load], +- [AC_CHECK_LIB([dld], [shl_load], +- [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], +- [AC_CHECK_FUNC([dlopen], +- [lt_cv_dlopen=dlopen], +- [AC_CHECK_LIB([dl], [dlopen], +- [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], +- [AC_CHECK_LIB([svld], [dlopen], +- [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], +- [AC_CHECK_LIB([dld], [dld_link], +- [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) +- ]) +- ]) +- ]) +- ]) +- ]) +- ;; +- esac +- +- if test no = "$lt_cv_dlopen"; then +- enable_dlopen=no +- else +- enable_dlopen=yes +- fi +- +- case $lt_cv_dlopen in +- dlopen) +- save_CPPFLAGS=$CPPFLAGS +- test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" +- +- save_LDFLAGS=$LDFLAGS +- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" +- +- save_LIBS=$LIBS +- LIBS="$lt_cv_dlopen_libs $LIBS" +- +- AC_CACHE_CHECK([whether a program can dlopen itself], +- lt_cv_dlopen_self, [dnl +- _LT_TRY_DLOPEN_SELF( +- lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, +- lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) +- ]) +- +- if test yes = "$lt_cv_dlopen_self"; then +- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" +- AC_CACHE_CHECK([whether a statically linked program can dlopen itself], +- lt_cv_dlopen_self_static, [dnl +- _LT_TRY_DLOPEN_SELF( +- lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, +- lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) +- ]) +- fi +- +- CPPFLAGS=$save_CPPFLAGS +- LDFLAGS=$save_LDFLAGS +- LIBS=$save_LIBS +- ;; +- esac +- +- case $lt_cv_dlopen_self in +- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; +- *) enable_dlopen_self=unknown ;; +- esac +- +- case $lt_cv_dlopen_self_static in +- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; +- *) enable_dlopen_self_static=unknown ;; +- esac +-fi +-_LT_DECL([dlopen_support], [enable_dlopen], [0], +- [Whether dlopen is supported]) +-_LT_DECL([dlopen_self], [enable_dlopen_self], [0], +- [Whether dlopen of programs is supported]) +-_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], +- [Whether dlopen of statically linked programs is supported]) +-]) +-m4trace:/usr/share/aclocal/libtool.m4:2046: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:2046: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_DLOPEN_SELF' is obsolete. +-You should run autoupdate.])dnl +-m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:3158: -1- AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl +-AC_MSG_CHECKING([for $1]) +-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +-[case $MAGIC_CMD in +-[[\\/*] | ?:[\\/]*]) +- lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. +- ;; +-*) +- lt_save_MAGIC_CMD=$MAGIC_CMD +- lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR +-dnl $ac_dummy forces splitting on constant user-supplied paths. +-dnl POSIX.2 word splitting is done only on the output of word expansions, +-dnl not every word. This closes a longstanding sh security hole. +- ac_dummy="m4_if([$2], , $PATH, [$2])" +- for ac_dir in $ac_dummy; do +- IFS=$lt_save_ifs +- test -z "$ac_dir" && ac_dir=. +- if test -f "$ac_dir/$1"; then +- lt_cv_path_MAGIC_CMD=$ac_dir/"$1" +- if test -n "$file_magic_test_file"; then +- case $deplibs_check_method in +- "file_magic "*) +- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` +- MAGIC_CMD=$lt_cv_path_MAGIC_CMD +- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | +- $EGREP "$file_magic_regex" > /dev/null; then +- : +- else +- cat <<_LT_EOF 1>&2 +- +-*** Warning: the command libtool uses to detect shared libraries, +-*** $file_magic_cmd, produces output that libtool cannot recognize. +-*** The result is that libtool may fail to recognize shared libraries +-*** as such. This will affect the creation of libtool libraries that +-*** depend on shared libraries, but programs linked with such libtool +-*** libraries will work regardless of this problem. Nevertheless, you +-*** may want to report the problem to your system manager and/or to +-*** bug-libtool@gnu.org +- +-_LT_EOF +- fi ;; +- esac +- fi +- break +- fi +- done +- IFS=$lt_save_ifs +- MAGIC_CMD=$lt_save_MAGIC_CMD +- ;; +-esac]) +-MAGIC_CMD=$lt_cv_path_MAGIC_CMD +-if test -n "$MAGIC_CMD"; then +- AC_MSG_RESULT($MAGIC_CMD) +-else +- AC_MSG_RESULT(no) +-fi +-_LT_DECL([], [MAGIC_CMD], [0], +- [Used to examine libraries when file_magic_cmd begins with "file"])dnl +-]) +-m4trace:/usr/share/aclocal/libtool.m4:3220: -1- AU_DEFUN([AC_PATH_TOOL_PREFIX], [m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:3220: -1- AC_DEFUN([AC_PATH_TOOL_PREFIX], [AC_DIAGNOSE([obsolete], [The macro `AC_PATH_TOOL_PREFIX' is obsolete. +-You should run autoupdate.])dnl +-m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:3243: -1- AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl +-AC_REQUIRE([AC_CANONICAL_HOST])dnl +-AC_REQUIRE([AC_CANONICAL_BUILD])dnl +-m4_require([_LT_DECL_SED])dnl +-m4_require([_LT_DECL_EGREP])dnl +-m4_require([_LT_PROG_ECHO_BACKSLASH])dnl +- +-AC_ARG_WITH([gnu-ld], +- [AS_HELP_STRING([--with-gnu-ld], +- [assume the C compiler uses GNU ld @<:@default=no@:>@])], +- [test no = "$withval" || with_gnu_ld=yes], +- [with_gnu_ld=no])dnl +- +-ac_prog=ld +-if test yes = "$GCC"; then +- # Check if gcc -print-prog-name=ld gives a path. +- AC_MSG_CHECKING([for ld used by $CC]) +- case $host in +- *-*-mingw*) +- # gcc leaves a trailing carriage return, which upsets mingw +- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; +- *) +- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; +- esac +- case $ac_prog in +- # Accept absolute paths. +- [[\\/]]* | ?:[[\\/]]*) +- re_direlt='/[[^/]][[^/]]*/\.\./' +- # Canonicalize the pathname of ld +- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` +- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do +- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` +- done +- test -z "$LD" && LD=$ac_prog +- ;; +- "") +- # If it fails, then pretend we aren't using GCC. +- ac_prog=ld +- ;; +- *) +- # If it is relative, then search for the first ld in PATH. +- with_gnu_ld=unknown +- ;; +- esac +-elif test yes = "$with_gnu_ld"; then +- AC_MSG_CHECKING([for GNU ld]) +-else +- AC_MSG_CHECKING([for non-GNU ld]) +-fi +-AC_CACHE_VAL(lt_cv_path_LD, +-[if test -z "$LD"; then +- lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR +- for ac_dir in $PATH; do +- IFS=$lt_save_ifs +- test -z "$ac_dir" && ac_dir=. +- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then +- lt_cv_path_LD=$ac_dir/$ac_prog +- # Check to see if the program is GNU ld. I'd rather use --version, +- # but apparently some variants of GNU ld only accept -v. +- # Break only if it was the GNU/non-GNU ld that we prefer. +- case `"$lt_cv_path_LD" -v 2>&1 &1 | sed '1q'` in +- *$lt_bad_file* | *'Invalid file or object type'*) +- lt_cv_path_NM="$tmp_nm -B" +- break 2 +- ;; +- *) +- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in +- */dev/null*) +- lt_cv_path_NM="$tmp_nm -p" +- break 2 +- ;; +- *) +- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but +- continue # so that we can try to find one that supports BSD flags +- ;; +- esac +- ;; +- esac +- fi +- done +- IFS=$lt_save_ifs +- done +- : ${lt_cv_path_NM=no} +-fi]) +-if test no != "$lt_cv_path_NM"; then +- NM=$lt_cv_path_NM +-else +- # Didn't find any BSD compatible name lister, look for dumpbin. +- if test -n "$DUMPBIN"; then : +- # Let the user override the test. +- else +- AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) +- case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in +- *COFF*) +- DUMPBIN="$DUMPBIN -symbols -headers" +- ;; +- *) +- DUMPBIN=: +- ;; +- esac +- fi +- AC_SUBST([DUMPBIN]) +- if test : != "$DUMPBIN"; then +- NM=$DUMPBIN +- fi +-fi +-test -z "$NM" && NM=nm +-AC_SUBST([NM]) +-_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl +- +-AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], +- [lt_cv_nm_interface="BSD nm" +- echo "int some_variable = 0;" > conftest.$ac_ext +- (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) +- (eval "$ac_compile" 2>conftest.err) +- cat conftest.err >&AS_MESSAGE_LOG_FD +- (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) +- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) +- cat conftest.err >&AS_MESSAGE_LOG_FD +- (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) +- cat conftest.out >&AS_MESSAGE_LOG_FD +- if $GREP 'External.*some_variable' conftest.out > /dev/null; then +- lt_cv_nm_interface="MS dumpbin" +- fi +- rm -f conftest*]) +-]) +-m4trace:/usr/share/aclocal/libtool.m4:3757: -1- AU_DEFUN([AM_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:3757: -1- AC_DEFUN([AM_PROG_NM], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_NM' is obsolete. +-You should run autoupdate.])dnl +-m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:3758: -1- AU_DEFUN([AC_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:3758: -1- AC_DEFUN([AC_PROG_NM], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_NM' is obsolete. +-You should run autoupdate.])dnl +-m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:3829: -1- AC_DEFUN([_LT_DLL_DEF_P], [dnl +- test DEF = "`$SED -n dnl +- -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace +- -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments +- -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl +- -e q dnl Only consider the first "real" line +- $1`" dnl +-]) +-m4trace:/usr/share/aclocal/libtool.m4:3843: -1- AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl +-LIBM= +-case $host in +-*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) +- # These system don't have libm, or don't need it +- ;; +-*-ncr-sysv4.3*) +- AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) +- AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") +- ;; +-*) +- AC_CHECK_LIB(m, cos, LIBM=-lm) +- ;; +-esac +-AC_SUBST([LIBM]) +-]) +-m4trace:/usr/share/aclocal/libtool.m4:3862: -1- AU_DEFUN([AC_CHECK_LIBM], [m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:3862: -1- AC_DEFUN([AC_CHECK_LIBM], [AC_DIAGNOSE([obsolete], [The macro `AC_CHECK_LIBM' is obsolete. +-You should run autoupdate.])dnl +-m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:8125: -1- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], +- [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], +- [AC_CHECK_TOOL(GCJ, gcj,) +- test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" +- AC_SUBST(GCJFLAGS)])])[]dnl +-]) +-m4trace:/usr/share/aclocal/libtool.m4:8134: -1- AU_DEFUN([LT_AC_PROG_GCJ], [m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:8134: -1- AC_DEFUN([LT_AC_PROG_GCJ], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_GCJ' is obsolete. +-You should run autoupdate.])dnl +-m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:8141: -1- AC_DEFUN([LT_PROG_GO], [AC_CHECK_TOOL(GOC, gccgo,) +-]) +-m4trace:/usr/share/aclocal/libtool.m4:8148: -1- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) +-]) +-m4trace:/usr/share/aclocal/libtool.m4:8153: -1- AU_DEFUN([LT_AC_PROG_RC], [m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:8153: -1- AC_DEFUN([LT_AC_PROG_RC], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_RC' is obsolete. +-You should run autoupdate.])dnl +-m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:8273: -1- AU_DEFUN([LT_AC_PROG_SED], [m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])]) +-m4trace:/usr/share/aclocal/libtool.m4:8273: -1- AC_DEFUN([LT_AC_PROG_SED], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_SED' is obsolete. +-You should run autoupdate.])dnl +-m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])]) +-m4trace:/usr/share/aclocal/ltargz.m4:12: -1- AC_DEFUN([LT_FUNC_ARGZ], [ +-AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT]) +- +-AC_CHECK_TYPES([error_t], +- [], +- [AC_DEFINE([error_t], [int], +- [Define to a type to use for 'error_t' if it is not otherwise available.]) +- AC_DEFINE([__error_t_defined], [1], [Define so that glibc/gnulib argp.h +- does not typedef error_t.])], +- [#if defined(HAVE_ARGZ_H) +-# include +-#endif]) +- +-LT_ARGZ_H= +-AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \ +- argz_next argz_stringify], [], [LT_ARGZ_H=lt__argz.h; AC_LIBOBJ([lt__argz])]) +- +-dnl if have system argz functions, allow forced use of +-dnl libltdl-supplied implementation (and default to do so +-dnl on "known bad" systems). Could use a runtime check, but +-dnl (a) detecting malloc issues is notoriously unreliable +-dnl (b) only known system that declares argz functions, +-dnl provides them, yet they are broken, is cygwin +-dnl releases prior to 16-Mar-2007 (1.5.24 and earlier) +-dnl So, it's more straightforward simply to special case +-dnl this for known bad systems. +-AS_IF([test -z "$LT_ARGZ_H"], +- [AC_CACHE_CHECK( +- [if argz actually works], +- [lt_cv_sys_argz_works], +- [[case $host_os in #( +- *cygwin*) +- lt_cv_sys_argz_works=no +- if test no != "$cross_compiling"; then +- lt_cv_sys_argz_works="guessing no" +- else +- lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' +- save_IFS=$IFS +- IFS=-. +- set x `uname -r | sed -e "$lt_sed_extract_leading_digits"` +- IFS=$save_IFS +- lt_os_major=${2-0} +- lt_os_minor=${3-0} +- lt_os_micro=${4-0} +- if test 1 -lt "$lt_os_major" \ +- || { test 1 -eq "$lt_os_major" \ +- && { test 5 -lt "$lt_os_minor" \ +- || { test 5 -eq "$lt_os_minor" \ +- && test 24 -lt "$lt_os_micro"; }; }; }; then +- lt_cv_sys_argz_works=yes +- fi +- fi +- ;; #( +- *) lt_cv_sys_argz_works=yes ;; +- esac]]) +- AS_IF([test yes = "$lt_cv_sys_argz_works"], +- [AC_DEFINE([HAVE_WORKING_ARGZ], 1, +- [This value is set to 1 to indicate that the system argz facility works])], +- [LT_ARGZ_H=lt__argz.h +- AC_LIBOBJ([lt__argz])])]) +- +-AC_SUBST([LT_ARGZ_H]) +-]) +-m4trace:/usr/share/aclocal/ltdl.m4:16: -1- AC_DEFUN([LT_CONFIG_LTDL_DIR], [AC_BEFORE([$0], [LTDL_INIT]) +-_$0($*) +-]) +-m4trace:/usr/share/aclocal/ltdl.m4:68: -1- AC_DEFUN([LTDL_CONVENIENCE], [AC_BEFORE([$0], [LTDL_INIT])dnl +-dnl Although the argument is deprecated and no longer documented, +-dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one +-dnl here make sure it is the same as any other declaration of libltdl's +-dnl location! This also ensures lt_ltdl_dir is set when configure.ac is +-dnl not yet using an explicit LT_CONFIG_LTDL_DIR. +-m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl +-_$0() +-]) +-m4trace:/usr/share/aclocal/ltdl.m4:81: -1- AU_DEFUN([AC_LIBLTDL_CONVENIENCE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +-_LTDL_CONVENIENCE]) +-m4trace:/usr/share/aclocal/ltdl.m4:81: -1- AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBLTDL_CONVENIENCE' is obsolete. +-You should run autoupdate.])dnl +-_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +-_LTDL_CONVENIENCE]) +-m4trace:/usr/share/aclocal/ltdl.m4:124: -1- AC_DEFUN([LTDL_INSTALLABLE], [AC_BEFORE([$0], [LTDL_INIT])dnl +-dnl Although the argument is deprecated and no longer documented, +-dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one +-dnl here make sure it is the same as any other declaration of libltdl's +-dnl location! This also ensures lt_ltdl_dir is set when configure.ac is +-dnl not yet using an explicit LT_CONFIG_LTDL_DIR. +-m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl +-_$0() +-]) +-m4trace:/usr/share/aclocal/ltdl.m4:137: -1- AU_DEFUN([AC_LIBLTDL_INSTALLABLE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +-_LTDL_INSTALLABLE]) +-m4trace:/usr/share/aclocal/ltdl.m4:137: -1- AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBLTDL_INSTALLABLE' is obsolete. +-You should run autoupdate.])dnl +-_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +-_LTDL_INSTALLABLE]) +-m4trace:/usr/share/aclocal/ltdl.m4:213: -1- AC_DEFUN([_LT_LIBOBJ], [ +- m4_pattern_allow([^_LT_LIBOBJS$]) +- _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext" +-]) +-m4trace:/usr/share/aclocal/ltdl.m4:226: -1- AC_DEFUN([LTDL_INIT], [dnl Parse OPTIONS +-_LT_SET_OPTIONS([$0], [$1]) +- +-dnl We need to keep our own list of libobjs separate from our parent project, +-dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while +-dnl we look for our own LIBOBJs. +-m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ])) +-m4_pushdef([AC_LIBSOURCES]) +- +-dnl If not otherwise defined, default to the 1.5.x compatible subproject mode: +-m4_if(_LTDL_MODE, [], +- [m4_define([_LTDL_MODE], m4_default([$2], [subproject])) +- m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])], +- [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])]) +- +-AC_ARG_WITH([included_ltdl], +- [AS_HELP_STRING([--with-included-ltdl], +- [use the GNU ltdl sources included here])]) +- +-if test yes != "$with_included_ltdl"; then +- # We are not being forced to use the included libltdl sources, so +- # decide whether there is a useful installed version we can use. +- AC_CHECK_HEADER([ltdl.h], +- [AC_CHECK_DECL([lt_dlinterface_register], +- [AC_CHECK_LIB([ltdl], [lt_dladvise_preload], +- [with_included_ltdl=no], +- [with_included_ltdl=yes])], +- [with_included_ltdl=yes], +- [AC_INCLUDES_DEFAULT +- #include ])], +- [with_included_ltdl=yes], +- [AC_INCLUDES_DEFAULT] +- ) +-fi +- +-dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE +-dnl was called yet, then for old times' sake, we assume libltdl is in an +-dnl eponymous directory: +-AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])]) +- +-AC_ARG_WITH([ltdl_include], +- [AS_HELP_STRING([--with-ltdl-include=DIR], +- [use the ltdl headers installed in DIR])]) +- +-if test -n "$with_ltdl_include"; then +- if test -f "$with_ltdl_include/ltdl.h"; then : +- else +- AC_MSG_ERROR([invalid ltdl include directory: '$with_ltdl_include']) +- fi +-else +- with_ltdl_include=no +-fi +- +-AC_ARG_WITH([ltdl_lib], +- [AS_HELP_STRING([--with-ltdl-lib=DIR], +- [use the libltdl.la installed in DIR])]) +- +-if test -n "$with_ltdl_lib"; then +- if test -f "$with_ltdl_lib/libltdl.la"; then : +- else +- AC_MSG_ERROR([invalid ltdl library directory: '$with_ltdl_lib']) +- fi +-else +- with_ltdl_lib=no +-fi +- +-case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in +- ,yes,no,no,) +- m4_case(m4_default(_LTDL_TYPE, [convenience]), +- [convenience], [_LTDL_CONVENIENCE], +- [installable], [_LTDL_INSTALLABLE], +- [m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)]) +- ;; +- ,no,no,no,) +- # If the included ltdl is not to be used, then use the +- # preinstalled libltdl we found. +- AC_DEFINE([HAVE_LTDL], [1], +- [Define this if a modern libltdl is already installed]) +- LIBLTDL=-lltdl +- LTDLDEPS= +- LTDLINCL= +- ;; +- ,no*,no,*) +- AC_MSG_ERROR(['--with-ltdl-include' and '--with-ltdl-lib' options must be used together]) +- ;; +- *) with_included_ltdl=no +- LIBLTDL="-L$with_ltdl_lib -lltdl" +- LTDLDEPS= +- LTDLINCL=-I$with_ltdl_include +- ;; +-esac +-INCLTDL=$LTDLINCL +- +-# Report our decision... +-AC_MSG_CHECKING([where to find libltdl headers]) +-AC_MSG_RESULT([$LTDLINCL]) +-AC_MSG_CHECKING([where to find libltdl library]) +-AC_MSG_RESULT([$LIBLTDL]) +- +-_LTDL_SETUP +- +-dnl restore autoconf definition. +-m4_popdef([AC_LIBOBJ]) +-m4_popdef([AC_LIBSOURCES]) +- +-AC_CONFIG_COMMANDS_PRE([ +- _ltdl_libobjs= +- _ltdl_ltlibobjs= +- if test -n "$_LT_LIBOBJS"; then +- # Remove the extension. +- _lt_sed_drop_objext='s/\.o$//;s/\.obj$//' +- for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do +- _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext" +- _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo" +- done +- fi +- AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs]) +- AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs]) +-]) +- +-# Only expand once: +-m4_define([LTDL_INIT]) +-]) +-m4trace:/usr/share/aclocal/ltdl.m4:352: -1- AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)]) +-m4trace:/usr/share/aclocal/ltdl.m4:352: -1- AC_DEFUN([AC_LIB_LTDL], [AC_DIAGNOSE([obsolete], [The macro `AC_LIB_LTDL' is obsolete. +-You should run autoupdate.])dnl +-LTDL_INIT($@)]) +-m4trace:/usr/share/aclocal/ltdl.m4:353: -1- AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)]) +-m4trace:/usr/share/aclocal/ltdl.m4:353: -1- AC_DEFUN([AC_WITH_LTDL], [AC_DIAGNOSE([obsolete], [The macro `AC_WITH_LTDL' is obsolete. +-You should run autoupdate.])dnl +-LTDL_INIT($@)]) +-m4trace:/usr/share/aclocal/ltdl.m4:354: -1- AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)]) +-m4trace:/usr/share/aclocal/ltdl.m4:354: -1- AC_DEFUN([LT_WITH_LTDL], [AC_DIAGNOSE([obsolete], [The macro `LT_WITH_LTDL' is obsolete. +-You should run autoupdate.])dnl +-LTDL_INIT($@)]) +-m4trace:/usr/share/aclocal/ltdl.m4:367: -1- AC_DEFUN([_LTDL_SETUP], [AC_REQUIRE([AC_PROG_CC])dnl +-AC_REQUIRE([LT_SYS_MODULE_EXT])dnl +-AC_REQUIRE([LT_SYS_MODULE_PATH])dnl +-AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl +-AC_REQUIRE([LT_LIB_DLLOAD])dnl +-AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl +-AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl +-AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl +-AC_REQUIRE([LT_FUNC_ARGZ])dnl +- +-m4_require([_LT_CHECK_OBJDIR])dnl +-m4_require([_LT_HEADER_DLFCN])dnl +-m4_require([_LT_CHECK_DLPREOPEN])dnl +-m4_require([_LT_DECL_SED])dnl +- +-dnl Don't require this, or it will be expanded earlier than the code +-dnl that sets the variables it relies on: +-_LT_ENABLE_INSTALL +- +-dnl _LTDL_MODE specific code must be called at least once: +-_LTDL_MODE_DISPATCH +- +-# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS +-# the user used. This is so that ltdl.h can pick up the parent projects +-# config.h file, The first file in AC_CONFIG_HEADERS must contain the +-# definitions required by ltdl.c. +-# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). +-AC_CONFIG_COMMANDS_PRE([dnl +-m4_pattern_allow([^LT_CONFIG_H$])dnl +-m4_ifset([AH_HEADER], +- [LT_CONFIG_H=AH_HEADER], +- [m4_ifset([AC_LIST_HEADERS], +- [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's|^[[ ]]*||;s|[[ :]].*$||'`], +- [])])]) +-AC_SUBST([LT_CONFIG_H]) +- +-AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h], +- [], [], [AC_INCLUDES_DEFAULT]) +- +-AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])]) +-AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])]) +- +-m4_pattern_allow([LT_LIBEXT])dnl +-AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension]) +- +-name= +-eval "lt_libprefix=\"$libname_spec\"" +-m4_pattern_allow([LT_LIBPREFIX])dnl +-AC_DEFINE_UNQUOTED([LT_LIBPREFIX],["$lt_libprefix"],[The archive prefix]) +- +-name=ltdl +-eval "LTDLOPEN=\"$libname_spec\"" +-AC_SUBST([LTDLOPEN]) +-]) +-m4trace:/usr/share/aclocal/ltdl.m4:443: -1- AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl +-AC_CACHE_CHECK([whether deplibs are loaded by dlopen], +- [lt_cv_sys_dlopen_deplibs], +- [# PORTME does your system automatically load deplibs for dlopen? +- # or its logical equivalent (e.g. shl_load for HP-UX < 11) +- # For now, we just catch OSes we know something about -- in the +- # future, we'll try test this programmatically. +- lt_cv_sys_dlopen_deplibs=unknown +- case $host_os in +- aix3*|aix4.1.*|aix4.2.*) +- # Unknown whether this is true for these versions of AIX, but +- # we want this 'case' here to explicitly catch those versions. +- lt_cv_sys_dlopen_deplibs=unknown +- ;; +- aix[[4-9]]*) +- lt_cv_sys_dlopen_deplibs=yes +- ;; +- amigaos*) +- case $host_cpu in +- powerpc) +- lt_cv_sys_dlopen_deplibs=no +- ;; +- esac +- ;; +- bitrig*) +- lt_cv_sys_dlopen_deplibs=yes +- ;; +- darwin*) +- # Assuming the user has installed a libdl from somewhere, this is true +- # If you are looking for one http://www.opendarwin.org/projects/dlcompat +- lt_cv_sys_dlopen_deplibs=yes +- ;; +- freebsd* | dragonfly*) +- lt_cv_sys_dlopen_deplibs=yes +- ;; +- gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) +- # GNU and its variants, using gnu ld.so (Glibc) +- lt_cv_sys_dlopen_deplibs=yes +- ;; +- hpux10*|hpux11*) +- lt_cv_sys_dlopen_deplibs=yes +- ;; +- interix*) +- lt_cv_sys_dlopen_deplibs=yes +- ;; +- irix[[12345]]*|irix6.[[01]]*) +- # Catch all versions of IRIX before 6.2, and indicate that we don't +- # know how it worked for any of those versions. +- lt_cv_sys_dlopen_deplibs=unknown +- ;; +- irix*) +- # The case above catches anything before 6.2, and it's known that +- # at 6.2 and later dlopen does load deplibs. +- lt_cv_sys_dlopen_deplibs=yes +- ;; +- netbsd*) +- lt_cv_sys_dlopen_deplibs=yes +- ;; +- openbsd*) +- lt_cv_sys_dlopen_deplibs=yes +- ;; +- osf[[1234]]*) +- # dlopen did load deplibs (at least at 4.x), but until the 5.x series, +- # it did *not* use an RPATH in a shared library to find objects the +- # library depends on, so we explicitly say 'no'. +- lt_cv_sys_dlopen_deplibs=no +- ;; +- osf5.0|osf5.0a|osf5.1) +- # dlopen *does* load deplibs and with the right loader patch applied +- # it even uses RPATH in a shared library to search for shared objects +- # that the library depends on, but there's no easy way to know if that +- # patch is installed. Since this is the case, all we can really +- # say is unknown -- it depends on the patch being installed. If +- # it is, this changes to 'yes'. Without it, it would be 'no'. +- lt_cv_sys_dlopen_deplibs=unknown +- ;; +- osf*) +- # the two cases above should catch all versions of osf <= 5.1. Read +- # the comments above for what we know about them. +- # At > 5.1, deplibs are loaded *and* any RPATH in a shared library +- # is used to find them so we can finally say 'yes'. +- lt_cv_sys_dlopen_deplibs=yes +- ;; +- qnx*) +- lt_cv_sys_dlopen_deplibs=yes +- ;; +- solaris*) +- lt_cv_sys_dlopen_deplibs=yes +- ;; +- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) +- libltdl_cv_sys_dlopen_deplibs=yes +- ;; +- esac +- ]) +-if test yes != "$lt_cv_sys_dlopen_deplibs"; then +- AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1], +- [Define if the OS needs help to load dependent libraries for dlopen().]) +-fi +-]) +-m4trace:/usr/share/aclocal/ltdl.m4:545: -1- AU_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])]) +-m4trace:/usr/share/aclocal/ltdl.m4:545: -1- AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYS_DLOPEN_DEPLIBS' is obsolete. +-You should run autoupdate.])dnl +-m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])]) +-m4trace:/usr/share/aclocal/ltdl.m4:552: -1- AC_DEFUN([LT_SYS_MODULE_EXT], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl +-AC_CACHE_CHECK([what extension is used for runtime loadable modules], +- [libltdl_cv_shlibext], +-[ +-module=yes +-eval libltdl_cv_shlibext=$shrext_cmds +-module=no +-eval libltdl_cv_shrext=$shrext_cmds +- ]) +-if test -n "$libltdl_cv_shlibext"; then +- m4_pattern_allow([LT_MODULE_EXT])dnl +- AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"], +- [Define to the extension used for runtime loadable modules, say, ".so".]) +-fi +-if test "$libltdl_cv_shrext" != "$libltdl_cv_shlibext"; then +- m4_pattern_allow([LT_SHARED_EXT])dnl +- AC_DEFINE_UNQUOTED([LT_SHARED_EXT], ["$libltdl_cv_shrext"], +- [Define to the shared library suffix, say, ".dylib".]) +-fi +-if test -n "$shared_archive_member_spec"; then +- m4_pattern_allow([LT_SHARED_LIB_MEMBER])dnl +- AC_DEFINE_UNQUOTED([LT_SHARED_LIB_MEMBER], ["($shared_archive_member_spec.o)"], +- [Define to the shared archive member specification, say "(shr.o)".]) +-fi +-]) +-m4trace:/usr/share/aclocal/ltdl.m4:580: -1- AU_DEFUN([AC_LTDL_SHLIBEXT], [m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])]) +-m4trace:/usr/share/aclocal/ltdl.m4:580: -1- AC_DEFUN([AC_LTDL_SHLIBEXT], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SHLIBEXT' is obsolete. +-You should run autoupdate.])dnl +-m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])]) +-m4trace:/usr/share/aclocal/ltdl.m4:587: -1- AC_DEFUN([LT_SYS_MODULE_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl +-AC_CACHE_CHECK([what variable specifies run-time module search path], +- [lt_cv_module_path_var], [lt_cv_module_path_var=$shlibpath_var]) +-if test -n "$lt_cv_module_path_var"; then +- m4_pattern_allow([LT_MODULE_PATH_VAR])dnl +- AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"], +- [Define to the name of the environment variable that determines the run-time module search path.]) +-fi +-]) +-m4trace:/usr/share/aclocal/ltdl.m4:599: -1- AU_DEFUN([AC_LTDL_SHLIBPATH], [m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])]) +-m4trace:/usr/share/aclocal/ltdl.m4:599: -1- AC_DEFUN([AC_LTDL_SHLIBPATH], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SHLIBPATH' is obsolete. +-You should run autoupdate.])dnl +-m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])]) +-m4trace:/usr/share/aclocal/ltdl.m4:606: -1- AC_DEFUN([LT_SYS_DLSEARCH_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl +-AC_CACHE_CHECK([for the default library search path], +- [lt_cv_sys_dlsearch_path], +- [lt_cv_sys_dlsearch_path=$sys_lib_dlsearch_path_spec]) +-if test -n "$lt_cv_sys_dlsearch_path"; then +- sys_dlsearch_path= +- for dir in $lt_cv_sys_dlsearch_path; do +- if test -z "$sys_dlsearch_path"; then +- sys_dlsearch_path=$dir +- else +- sys_dlsearch_path=$sys_dlsearch_path$PATH_SEPARATOR$dir +- fi +- done +- m4_pattern_allow([LT_DLSEARCH_PATH])dnl +- AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"], +- [Define to the system default library search path.]) +-fi +-]) +-m4trace:/usr/share/aclocal/ltdl.m4:627: -1- AU_DEFUN([AC_LTDL_SYSSEARCHPATH], [m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])]) +-m4trace:/usr/share/aclocal/ltdl.m4:627: -1- AC_DEFUN([AC_LTDL_SYSSEARCHPATH], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYSSEARCHPATH' is obsolete. +-You should run autoupdate.])dnl +-m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])]) +-m4trace:/usr/share/aclocal/ltdl.m4:653: -1- AC_DEFUN([LT_LIB_DLLOAD], [m4_pattern_allow([^LT_DLLOADERS$]) +-LT_DLLOADERS= +-AC_SUBST([LT_DLLOADERS]) +- +-AC_LANG_PUSH([C]) +-lt_dlload_save_LIBS=$LIBS +- +-LIBADD_DLOPEN= +-AC_SEARCH_LIBS([dlopen], [dl], +- [AC_DEFINE([HAVE_LIBDL], [1], +- [Define if you have the libdl library or equivalent.]) +- if test "$ac_cv_search_dlopen" != "none required"; then +- LIBADD_DLOPEN=-ldl +- fi +- libltdl_cv_lib_dl_dlopen=yes +- LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], +- [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H +-# include +-#endif +- ]], [[dlopen(0, 0);]])], +- [AC_DEFINE([HAVE_LIBDL], [1], +- [Define if you have the libdl library or equivalent.]) +- libltdl_cv_func_dlopen=yes +- LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], +- [AC_CHECK_LIB([svld], [dlopen], +- [AC_DEFINE([HAVE_LIBDL], [1], +- [Define if you have the libdl library or equivalent.]) +- LIBADD_DLOPEN=-lsvld libltdl_cv_func_dlopen=yes +- LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])]) +-if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen" +-then +- lt_save_LIBS=$LIBS +- LIBS="$LIBS $LIBADD_DLOPEN" +- AC_CHECK_FUNCS([dlerror]) +- LIBS=$lt_save_LIBS +-fi +-AC_SUBST([LIBADD_DLOPEN]) +- +-LIBADD_SHL_LOAD= +-AC_CHECK_FUNC([shl_load], +- [AC_DEFINE([HAVE_SHL_LOAD], [1], +- [Define if you have the shl_load function.]) +- LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"], +- [AC_CHECK_LIB([dld], [shl_load], +- [AC_DEFINE([HAVE_SHL_LOAD], [1], +- [Define if you have the shl_load function.]) +- LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" +- LIBADD_SHL_LOAD=-ldld])]) +-AC_SUBST([LIBADD_SHL_LOAD]) +- +-case $host_os in +-darwin[[1567]].*) +-# We only want this for pre-Mac OS X 10.4. +- AC_CHECK_FUNC([_dyld_func_lookup], +- [AC_DEFINE([HAVE_DYLD], [1], +- [Define if you have the _dyld_func_lookup function.]) +- LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"]) +- ;; +-beos*) +- LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" +- ;; +-cygwin* | mingw* | pw32*) +- AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include ]]) +- LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" +- ;; +-esac +- +-AC_CHECK_LIB([dld], [dld_link], +- [AC_DEFINE([HAVE_DLD], [1], +- [Define if you have the GNU dld library.]) +- LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"]) +-AC_SUBST([LIBADD_DLD_LINK]) +- +-m4_pattern_allow([^LT_DLPREOPEN$]) +-LT_DLPREOPEN= +-if test -n "$LT_DLLOADERS" +-then +- for lt_loader in $LT_DLLOADERS; do +- LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " +- done +- AC_DEFINE([HAVE_LIBDLLOADER], [1], +- [Define if libdlloader will be built on this platform]) +-fi +-AC_SUBST([LT_DLPREOPEN]) +- +-dnl This isn't used anymore, but set it for backwards compatibility +-LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" +-AC_SUBST([LIBADD_DL]) +- +-LIBS=$lt_dlload_save_LIBS +-AC_LANG_POP +-]) +-m4trace:/usr/share/aclocal/ltdl.m4:748: -1- AU_DEFUN([AC_LTDL_DLLIB], [m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])]) +-m4trace:/usr/share/aclocal/ltdl.m4:748: -1- AC_DEFUN([AC_LTDL_DLLIB], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_DLLIB' is obsolete. +-You should run autoupdate.])dnl +-m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])]) +-m4trace:/usr/share/aclocal/ltdl.m4:756: -1- AC_DEFUN([LT_SYS_SYMBOL_USCORE], [m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +-AC_CACHE_CHECK([for _ prefix in compiled symbols], +- [lt_cv_sys_symbol_underscore], +- [lt_cv_sys_symbol_underscore=no +- cat > conftest.$ac_ext <<_LT_EOF +-void nm_test_func(){} +-int main(){nm_test_func;return 0;} +-_LT_EOF +- if AC_TRY_EVAL(ac_compile); then +- # Now try to grab the symbols. +- ac_nlist=conftest.nm +- if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then +- # See whether the symbols have a leading underscore. +- if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then +- lt_cv_sys_symbol_underscore=yes +- else +- if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then +- : +- else +- echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD +- fi +- fi +- else +- echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD +- fi +- else +- echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD +- cat conftest.c >&AS_MESSAGE_LOG_FD +- fi +- rm -rf conftest* +- ]) +- sys_symbol_underscore=$lt_cv_sys_symbol_underscore +- AC_SUBST([sys_symbol_underscore]) +-]) +-m4trace:/usr/share/aclocal/ltdl.m4:793: -1- AU_DEFUN([AC_LTDL_SYMBOL_USCORE], [m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])]) +-m4trace:/usr/share/aclocal/ltdl.m4:793: -1- AC_DEFUN([AC_LTDL_SYMBOL_USCORE], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYMBOL_USCORE' is obsolete. +-You should run autoupdate.])dnl +-m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])]) +-m4trace:/usr/share/aclocal/ltdl.m4:800: -1- AC_DEFUN([LT_FUNC_DLSYM_USCORE], [AC_REQUIRE([_LT_COMPILER_PIC])dnl for lt_prog_compiler_wl +-AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl for lt_cv_sys_symbol_underscore +-AC_REQUIRE([LT_SYS_MODULE_EXT])dnl for libltdl_cv_shlibext +-if test yes = "$lt_cv_sys_symbol_underscore"; then +- if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then +- AC_CACHE_CHECK([whether we have to add an underscore for dlsym], +- [libltdl_cv_need_uscore], +- [libltdl_cv_need_uscore=unknown +- dlsym_uscore_save_LIBS=$LIBS +- LIBS="$LIBS $LIBADD_DLOPEN" +- libname=conftmod # stay within 8.3 filename limits! +- cat >$libname.$ac_ext <<_LT_EOF +-[#line $LINENO "configure" +-#include "confdefs.h" +-/* When -fvisibility=hidden is used, assume the code has been annotated +- correspondingly for the symbols needed. */ +-#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +-int fnord () __attribute__((visibility("default"))); +-#endif +-int fnord () { return 42; }] +-_LT_EOF +- +- # ltfn_module_cmds module_cmds +- # Execute tilde-delimited MODULE_CMDS with environment primed for +- # $module_cmds or $archive_cmds type content. +- ltfn_module_cmds () +- {( # subshell avoids polluting parent global environment +- module_cmds_save_ifs=$IFS; IFS='~' +- for cmd in @S|@1; do +- IFS=$module_cmds_save_ifs +- libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext +- rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=. +- major=; versuffix=; verstring=; deplibs= +- ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag= +- eval $cmd +- done +- IFS=$module_cmds_save_ifs +- )} +- +- # Compile a loadable module using libtool macro expansion results. +- $CC $pic_flag -c $libname.$ac_ext +- ltfn_module_cmds "${module_cmds:-$archive_cmds}" +- +- # Try to fetch fnord with dlsym(). +- libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2 +- cat >conftest.$ac_ext <<_LT_EOF +-[#line $LINENO "configure" +-#include "confdefs.h" +-#if HAVE_DLFCN_H +-#include +-#endif +-#include +-#ifndef RTLD_GLOBAL +-# ifdef DL_GLOBAL +-# define RTLD_GLOBAL DL_GLOBAL +-# else +-# define RTLD_GLOBAL 0 +-# endif +-#endif +-#ifndef RTLD_NOW +-# ifdef DL_NOW +-# define RTLD_NOW DL_NOW +-# else +-# define RTLD_NOW 0 +-# endif +-#endif +-int main () { +- void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW); +- int status = $libltdl_dlunknown; +- if (handle) { +- if (dlsym (handle, "fnord")) +- status = $libltdl_dlnouscore; +- else { +- if (dlsym (handle, "_fnord")) +- status = $libltdl_dluscore; +- else +- puts (dlerror ()); +- } +- dlclose (handle); +- } else +- puts (dlerror ()); +- return status; +-}] +-_LT_EOF +- if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then +- (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null +- libltdl_status=$? +- case x$libltdl_status in +- x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;; +- x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;; +- x*) libltdl_cv_need_uscore=unknown ;; +- esac +- fi +- rm -rf conftest* $libname* +- LIBS=$dlsym_uscore_save_LIBS +- ]) +- fi +-fi +- +-if test yes = "$libltdl_cv_need_uscore"; then +- AC_DEFINE([NEED_USCORE], [1], +- [Define if dlsym() requires a leading underscore in symbol names.]) +-fi +-]) +-m4trace:/usr/share/aclocal/ltdl.m4:907: -1- AU_DEFUN([AC_LTDL_DLSYM_USCORE], [m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])]) +-m4trace:/usr/share/aclocal/ltdl.m4:907: -1- AC_DEFUN([AC_LTDL_DLSYM_USCORE], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_DLSYM_USCORE' is obsolete. +-You should run autoupdate.])dnl +-m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])]) +-m4trace:/usr/share/aclocal/ltoptions.m4:14: -1- AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) +-m4trace:/usr/share/aclocal/ltoptions.m4:113: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) +-AC_DIAGNOSE([obsolete], +-[$0: Remove this warning and the call to _LT_SET_OPTION when you +-put the 'dlopen' option into LT_INIT's first parameter.]) +-]) +-m4trace:/usr/share/aclocal/ltoptions.m4:113: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_DLOPEN' is obsolete. +-You should run autoupdate.])dnl +-_LT_SET_OPTION([LT_INIT], [dlopen]) +-AC_DIAGNOSE([obsolete], +-[$0: Remove this warning and the call to _LT_SET_OPTION when you +-put the 'dlopen' option into LT_INIT's first parameter.]) +-]) +-m4trace:/usr/share/aclocal/ltoptions.m4:148: -1- AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl +-_LT_SET_OPTION([LT_INIT], [win32-dll]) +-AC_DIAGNOSE([obsolete], +-[$0: Remove this warning and the call to _LT_SET_OPTION when you +-put the 'win32-dll' option into LT_INIT's first parameter.]) +-]) +-m4trace:/usr/share/aclocal/ltoptions.m4:148: -1- AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_WIN32_DLL' is obsolete. +-You should run autoupdate.])dnl +-AC_REQUIRE([AC_CANONICAL_HOST])dnl +-_LT_SET_OPTION([LT_INIT], [win32-dll]) +-AC_DIAGNOSE([obsolete], +-[$0: Remove this warning and the call to _LT_SET_OPTION when you +-put the 'win32-dll' option into LT_INIT's first parameter.]) +-]) +-m4trace:/usr/share/aclocal/ltoptions.m4:197: -1- AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) +-]) +-m4trace:/usr/share/aclocal/ltoptions.m4:201: -1- AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) +-]) +-m4trace:/usr/share/aclocal/ltoptions.m4:205: -1- AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +-m4trace:/usr/share/aclocal/ltoptions.m4:205: -1- AC_DEFUN([AM_ENABLE_SHARED], [AC_DIAGNOSE([obsolete], [The macro `AM_ENABLE_SHARED' is obsolete. +-You should run autoupdate.])dnl +-AC_ENABLE_SHARED($@)]) +-m4trace:/usr/share/aclocal/ltoptions.m4:206: -1- AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +-m4trace:/usr/share/aclocal/ltoptions.m4:206: -1- AC_DEFUN([AM_DISABLE_SHARED], [AC_DIAGNOSE([obsolete], [The macro `AM_DISABLE_SHARED' is obsolete. +-You should run autoupdate.])dnl +-AC_DISABLE_SHARED($@)]) +-m4trace:/usr/share/aclocal/ltoptions.m4:251: -1- AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) +-]) +-m4trace:/usr/share/aclocal/ltoptions.m4:255: -1- AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) +-]) +-m4trace:/usr/share/aclocal/ltoptions.m4:259: -1- AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +-m4trace:/usr/share/aclocal/ltoptions.m4:259: -1- AC_DEFUN([AM_ENABLE_STATIC], [AC_DIAGNOSE([obsolete], [The macro `AM_ENABLE_STATIC' is obsolete. +-You should run autoupdate.])dnl +-AC_ENABLE_STATIC($@)]) +-m4trace:/usr/share/aclocal/ltoptions.m4:260: -1- AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +-m4trace:/usr/share/aclocal/ltoptions.m4:260: -1- AC_DEFUN([AM_DISABLE_STATIC], [AC_DIAGNOSE([obsolete], [The macro `AM_DISABLE_STATIC' is obsolete. +-You should run autoupdate.])dnl +-AC_DISABLE_STATIC($@)]) +-m4trace:/usr/share/aclocal/ltoptions.m4:305: -1- AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +-AC_DIAGNOSE([obsolete], +-[$0: Remove this warning and the call to _LT_SET_OPTION when you put +-the 'fast-install' option into LT_INIT's first parameter.]) +-]) +-m4trace:/usr/share/aclocal/ltoptions.m4:305: -1- AC_DEFUN([AC_ENABLE_FAST_INSTALL], [AC_DIAGNOSE([obsolete], [The macro `AC_ENABLE_FAST_INSTALL' is obsolete. +-You should run autoupdate.])dnl +-_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +-AC_DIAGNOSE([obsolete], +-[$0: Remove this warning and the call to _LT_SET_OPTION when you put +-the 'fast-install' option into LT_INIT's first parameter.]) +-]) +-m4trace:/usr/share/aclocal/ltoptions.m4:312: -1- AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +-AC_DIAGNOSE([obsolete], +-[$0: Remove this warning and the call to _LT_SET_OPTION when you put +-the 'disable-fast-install' option into LT_INIT's first parameter.]) +-]) +-m4trace:/usr/share/aclocal/ltoptions.m4:312: -1- AC_DEFUN([AC_DISABLE_FAST_INSTALL], [AC_DIAGNOSE([obsolete], [The macro `AC_DISABLE_FAST_INSTALL' is obsolete. +-You should run autoupdate.])dnl +-_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +-AC_DIAGNOSE([obsolete], +-[$0: Remove this warning and the call to _LT_SET_OPTION when you put +-the 'disable-fast-install' option into LT_INIT's first parameter.]) +-]) +-m4trace:/usr/share/aclocal/ltoptions.m4:411: -1- AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) +-AC_DIAGNOSE([obsolete], +-[$0: Remove this warning and the call to _LT_SET_OPTION when you +-put the 'pic-only' option into LT_INIT's first parameter.]) +-]) +-m4trace:/usr/share/aclocal/ltoptions.m4:411: -1- AC_DEFUN([AC_LIBTOOL_PICMODE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_PICMODE' is obsolete. +-You should run autoupdate.])dnl +-_LT_SET_OPTION([LT_INIT], [pic-only]) +-AC_DIAGNOSE([obsolete], +-[$0: Remove this warning and the call to _LT_SET_OPTION when you +-put the 'pic-only' option into LT_INIT's first parameter.]) +-]) +-m4trace:/usr/share/aclocal/ltsugar.m4:14: -1- AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) +-m4trace:/usr/share/aclocal/ltversion.m4:18: -1- AC_DEFUN([LTVERSION_VERSION], [macro_version='2.4.6' +-macro_revision='2.4.6' +-_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) +-_LT_DECL(, macro_revision, 0) +-]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:37: -1- AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:41: -1- AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:42: -1- AC_DEFUN([_LT_AC_SHELL_INIT]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:43: -1- AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:45: -1- AC_DEFUN([_LT_AC_TAGVAR]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:46: -1- AC_DEFUN([AC_LTDL_ENABLE_INSTALL]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:47: -1- AC_DEFUN([AC_LTDL_PREOPEN]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:48: -1- AC_DEFUN([_LT_AC_SYS_COMPILER]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:49: -1- AC_DEFUN([_LT_AC_LOCK]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:50: -1- AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:51: -1- AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:52: -1- AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:53: -1- AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:54: -1- AC_DEFUN([AC_LIBTOOL_OBJDIR]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:55: -1- AC_DEFUN([AC_LTDL_OBJDIR]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:56: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:57: -1- AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:58: -1- AC_DEFUN([AC_PATH_MAGIC]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:59: -1- AC_DEFUN([AC_PROG_LD_GNU]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:60: -1- AC_DEFUN([AC_PROG_LD_RELOAD_FLAG]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:61: -1- AC_DEFUN([AC_DEPLIBS_CHECK_METHOD]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:62: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:63: -1- AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:64: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:65: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:66: -1- AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:67: -1- AC_DEFUN([LT_AC_PROG_EGREP]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:72: -1- AC_DEFUN([_AC_PROG_LIBTOOL]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:73: -1- AC_DEFUN([AC_LIBTOOL_SETUP]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:74: -1- AC_DEFUN([_LT_AC_CHECK_DLFCN]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:75: -1- AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:76: -1- AC_DEFUN([_LT_AC_TAGCONFIG]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:78: -1- AC_DEFUN([_LT_AC_LANG_CXX]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:79: -1- AC_DEFUN([_LT_AC_LANG_F77]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:80: -1- AC_DEFUN([_LT_AC_LANG_GCJ]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:81: -1- AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:82: -1- AC_DEFUN([_LT_AC_LANG_C_CONFIG]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:83: -1- AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:84: -1- AC_DEFUN([_LT_AC_LANG_CXX_CONFIG]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:85: -1- AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:86: -1- AC_DEFUN([_LT_AC_LANG_F77_CONFIG]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:87: -1- AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:88: -1- AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:89: -1- AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:90: -1- AC_DEFUN([_LT_AC_LANG_RC_CONFIG]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:91: -1- AC_DEFUN([AC_LIBTOOL_CONFIG]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:92: -1- AC_DEFUN([_LT_AC_FILE_LTDLL_C]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:94: -1- AC_DEFUN([_LT_AC_PROG_CXXCPP]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:97: -1- AC_DEFUN([_LT_PROG_F77]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:98: -1- AC_DEFUN([_LT_PROG_FC]) +-m4trace:/usr/share/aclocal/lt~obsolete.m4:99: -1- AC_DEFUN([_LT_PROG_CXX]) +-m4trace:/usr/share/aclocal-1.15/amversion.m4:14: -1- AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.15' +-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +-dnl require some minimum version. Point them to the right macro. +-m4_if([$1], [1.15.1], [], +- [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +-]) +-m4trace:/usr/share/aclocal-1.15/amversion.m4:33: -1- AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.15.1])dnl +-m4_ifndef([AC_AUTOCONF_VERSION], +- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) +-m4trace:/usr/share/aclocal-1.15/auxdir.m4:47: -1- AC_DEFUN([AM_AUX_DIR_EXPAND], [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +-# Expand $ac_aux_dir to an absolute path. +-am_aux_dir=`cd "$ac_aux_dir" && pwd` +-]) +-m4trace:/usr/share/aclocal-1.15/cond.m4:12: -1- AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl +- m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], +- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +-AC_SUBST([$1_TRUE])dnl +-AC_SUBST([$1_FALSE])dnl +-_AM_SUBST_NOTMAKE([$1_TRUE])dnl +-_AM_SUBST_NOTMAKE([$1_FALSE])dnl +-m4_define([_AM_COND_VALUE_$1], [$2])dnl +-if $2; then +- $1_TRUE= +- $1_FALSE='#' +-else +- $1_TRUE='#' +- $1_FALSE= +-fi +-AC_CONFIG_COMMANDS_PRE( +-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then +- AC_MSG_ERROR([[conditional "$1" was never defined. +-Usually this means the macro was only invoked conditionally.]]) +-fi])]) +-m4trace:/usr/share/aclocal-1.15/depend.m4:26: -1- AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl +-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +-AC_REQUIRE([AM_MAKE_INCLUDE])dnl +-AC_REQUIRE([AM_DEP_TRACK])dnl +- +-m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], +- [$1], [CXX], [depcc="$CXX" am_compiler_list=], +- [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], +- [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], +- [$1], [UPC], [depcc="$UPC" am_compiler_list=], +- [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], +- [depcc="$$1" am_compiler_list=]) +- +-AC_CACHE_CHECK([dependency style of $depcc], +- [am_cv_$1_dependencies_compiler_type], +-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then +- # We make a subdir and do the tests there. Otherwise we can end up +- # making bogus files that we don't know about and never remove. For +- # instance it was reported that on HP-UX the gcc test will end up +- # making a dummy file named 'D' -- because '-MD' means "put the output +- # in D". +- rm -rf conftest.dir +- mkdir conftest.dir +- # Copy depcomp to subdir because otherwise we won't find it if we're +- # using a relative directory. +- cp "$am_depcomp" conftest.dir +- cd conftest.dir +- # We will build objects and dependencies in a subdirectory because +- # it helps to detect inapplicable dependency modes. For instance +- # both Tru64's cc and ICC support -MD to output dependencies as a +- # side effect of compilation, but ICC will put the dependencies in +- # the current directory while Tru64 will put them in the object +- # directory. +- mkdir sub +- +- am_cv_$1_dependencies_compiler_type=none +- if test "$am_compiler_list" = ""; then +- am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` +- fi +- am__universal=false +- m4_case([$1], [CC], +- [case " $depcc " in #( +- *\ -arch\ *\ -arch\ *) am__universal=true ;; +- esac], +- [CXX], +- [case " $depcc " in #( +- *\ -arch\ *\ -arch\ *) am__universal=true ;; +- esac]) +- +- for depmode in $am_compiler_list; do +- # Setup a source with many dependencies, because some compilers +- # like to wrap large dependency lists on column 80 (with \), and +- # we should not choose a depcomp mode which is confused by this. +- # +- # We need to recreate these files for each test, as the compiler may +- # overwrite some of them when testing with obscure command lines. +- # This happens at least with the AIX C compiler. +- : > sub/conftest.c +- for i in 1 2 3 4 5 6; do +- echo '#include "conftst'$i'.h"' >> sub/conftest.c +- # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with +- # Solaris 10 /bin/sh. +- echo '/* dummy */' > sub/conftst$i.h +- done +- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf +- +- # We check with '-c' and '-o' for the sake of the "dashmstdout" +- # mode. It turns out that the SunPro C++ compiler does not properly +- # handle '-M -o', and we need to detect this. Also, some Intel +- # versions had trouble with output in subdirs. +- am__obj=sub/conftest.${OBJEXT-o} +- am__minus_obj="-o $am__obj" +- case $depmode in +- gcc) +- # This depmode causes a compiler race in universal mode. +- test "$am__universal" = false || continue +- ;; +- nosideeffect) +- # After this tag, mechanisms are not by side-effect, so they'll +- # only be used when explicitly requested. +- if test "x$enable_dependency_tracking" = xyes; then +- continue +- else +- break +- fi +- ;; +- msvc7 | msvc7msys | msvisualcpp | msvcmsys) +- # This compiler won't grok '-c -o', but also, the minuso test has +- # not run yet. These depmodes are late enough in the game, and +- # so weak that their functioning should not be impacted. +- am__obj=conftest.${OBJEXT-o} +- am__minus_obj= +- ;; +- none) break ;; +- esac +- if depmode=$depmode \ +- source=sub/conftest.c object=$am__obj \ +- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ +- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ +- >/dev/null 2>conftest.err && +- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && +- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && +- grep $am__obj sub/conftest.Po > /dev/null 2>&1 && +- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then +- # icc doesn't choke on unknown options, it will just issue warnings +- # or remarks (even with -Werror). So we grep stderr for any message +- # that says an option was ignored or not supported. +- # When given -MP, icc 7.0 and 7.1 complain thusly: +- # icc: Command line warning: ignoring option '-M'; no argument required +- # The diagnosis changed in icc 8.0: +- # icc: Command line remark: option '-MP' not supported +- if (grep 'ignoring option' conftest.err || +- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else +- am_cv_$1_dependencies_compiler_type=$depmode +- break +- fi +- fi +- done +- +- cd .. +- rm -rf conftest.dir +-else +- am_cv_$1_dependencies_compiler_type=none +-fi +-]) +-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +-AM_CONDITIONAL([am__fastdep$1], [ +- test "x$enable_dependency_tracking" != xno \ +- && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +-]) +-m4trace:/usr/share/aclocal-1.15/depend.m4:163: -1- AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl +-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +-]) +-m4trace:/usr/share/aclocal-1.15/depend.m4:171: -1- AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl +-AS_HELP_STRING( +- [--enable-dependency-tracking], +- [do not reject slow dependency extractors]) +-AS_HELP_STRING( +- [--disable-dependency-tracking], +- [speeds up one-time build])]) +-if test "x$enable_dependency_tracking" != xno; then +- am_depcomp="$ac_aux_dir/depcomp" +- AMDEPBACKSLASH='\' +- am__nodep='_no' +-fi +-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +-AC_SUBST([AMDEPBACKSLASH])dnl +-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +-AC_SUBST([am__nodep])dnl +-_AM_SUBST_NOTMAKE([am__nodep])dnl +-]) +-m4trace:/usr/share/aclocal-1.15/depout.m4:12: -1- AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ +- # Older Autoconf quotes --file arguments for eval, but not when files +- # are listed without --file. Let's play safe and only enable the eval +- # if we detect the quoting. +- case $CONFIG_FILES in +- *\'*) eval set x "$CONFIG_FILES" ;; +- *) set x $CONFIG_FILES ;; +- esac +- shift +- for mf +- do +- # Strip MF so we end up with the name of the file. +- mf=`echo "$mf" | sed -e 's/:.*$//'` +- # Check whether this is an Automake generated Makefile or not. +- # We used to match only the files named 'Makefile.in', but +- # some people rename them; so instead we look at the file content. +- # Grep'ing the first line is not enough: some people post-process +- # each Makefile.in and add a new line on top of each file to say so. +- # Grep'ing the whole file is not good either: AIX grep has a line +- # limit of 2048, but all sed's we know have understand at least 4000. +- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then +- dirpart=`AS_DIRNAME("$mf")` +- else +- continue +- fi +- # Extract the definition of DEPDIR, am__include, and am__quote +- # from the Makefile without running 'make'. +- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` +- test -z "$DEPDIR" && continue +- am__include=`sed -n 's/^am__include = //p' < "$mf"` +- test -z "$am__include" && continue +- am__quote=`sed -n 's/^am__quote = //p' < "$mf"` +- # Find all dependency output files, they are included files with +- # $(DEPDIR) in their names. We invoke sed twice because it is the +- # simplest approach to changing $(DEPDIR) to its actual value in the +- # expansion. +- for file in `sed -n " +- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ +- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do +- # Make sure the directory exists. +- test -f "$dirpart/$file" && continue +- fdir=`AS_DIRNAME(["$file"])` +- AS_MKDIR_P([$dirpart/$fdir]) +- # echo "creating $dirpart/$file" +- echo '# dummy' > "$dirpart/$file" +- done +- done +-} +-]) +-m4trace:/usr/share/aclocal-1.15/depout.m4:71: -1- AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], +- [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], +- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +-]) +-m4trace:/usr/share/aclocal-1.15/init.m4:29: -1- AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl +-dnl Autoconf wants to disallow AM_ names. We explicitly allow +-dnl the ones we care about. +-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +-AC_REQUIRE([AC_PROG_INSTALL])dnl +-if test "`cd $srcdir && pwd`" != "`pwd`"; then +- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output +- # is not polluted with repeated "-I." +- AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl +- # test to see if srcdir already configured +- if test -f $srcdir/config.status; then +- AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +- fi +-fi +- +-# test whether we have cygpath +-if test -z "$CYGPATH_W"; then +- if (cygpath --version) >/dev/null 2>/dev/null; then +- CYGPATH_W='cygpath -w' +- else +- CYGPATH_W=echo +- fi +-fi +-AC_SUBST([CYGPATH_W]) +- +-# Define the identity of the package. +-dnl Distinguish between old-style and new-style calls. +-m4_ifval([$2], +-[AC_DIAGNOSE([obsolete], +- [$0: two- and three-arguments forms are deprecated.]) +-m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl +- AC_SUBST([PACKAGE], [$1])dnl +- AC_SUBST([VERSION], [$2])], +-[_AM_SET_OPTIONS([$1])dnl +-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +-m4_if( +- m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), +- [ok:ok],, +- [m4_fatal([AC_INIT should be called with package and version arguments])])dnl +- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl +- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl +- +-_AM_IF_OPTION([no-define],, +-[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) +- AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl +- +-# Some tools Automake needs. +-AC_REQUIRE([AM_SANITY_CHECK])dnl +-AC_REQUIRE([AC_ARG_PROGRAM])dnl +-AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +-AM_MISSING_PROG([AUTOCONF], [autoconf]) +-AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +-AM_MISSING_PROG([AUTOHEADER], [autoheader]) +-AM_MISSING_PROG([MAKEINFO], [makeinfo]) +-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl +-AC_REQUIRE([AC_PROG_MKDIR_P])dnl +-# For better backward compatibility. To be removed once Automake 1.9.x +-# dies out for good. For more background, see: +-# +-# +-AC_SUBST([mkdir_p], ['$(MKDIR_P)']) +-# We need awk for the "check" target (and possibly the TAP driver). The +-# system "awk" is bad on some platforms. +-AC_REQUIRE([AC_PROG_AWK])dnl +-AC_REQUIRE([AC_PROG_MAKE_SET])dnl +-AC_REQUIRE([AM_SET_LEADING_DOT])dnl +-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], +- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], +- [_AM_PROG_TAR([v7])])]) +-_AM_IF_OPTION([no-dependencies],, +-[AC_PROVIDE_IFELSE([AC_PROG_CC], +- [_AM_DEPENDENCIES([CC])], +- [m4_define([AC_PROG_CC], +- m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl +-AC_PROVIDE_IFELSE([AC_PROG_CXX], +- [_AM_DEPENDENCIES([CXX])], +- [m4_define([AC_PROG_CXX], +- m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl +-AC_PROVIDE_IFELSE([AC_PROG_OBJC], +- [_AM_DEPENDENCIES([OBJC])], +- [m4_define([AC_PROG_OBJC], +- m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +-AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], +- [_AM_DEPENDENCIES([OBJCXX])], +- [m4_define([AC_PROG_OBJCXX], +- m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl +-]) +-AC_REQUIRE([AM_SILENT_RULES])dnl +-dnl The testsuite driver may need to know about EXEEXT, so add the +-dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This +-dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. +-AC_CONFIG_COMMANDS_PRE(dnl +-[m4_provide_if([_AM_COMPILER_EXEEXT], +- [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl +- +-# POSIX will say in a future version that running "rm -f" with no argument +-# is OK; and we want to be able to make that assumption in our Makefile +-# recipes. So use an aggressive probe to check that the usage we want is +-# actually supported "in the wild" to an acceptable degree. +-# See automake bug#10828. +-# To make any issue more visible, cause the running configure to be aborted +-# by default if the 'rm' program in use doesn't match our expectations; the +-# user can still override this though. +-if rm -f && rm -fr && rm -rf; then : OK; else +- cat >&2 <<'END' +-Oops! +- +-Your 'rm' program seems unable to run without file operands specified +-on the command line, even when the '-f' option is present. This is contrary +-to the behaviour of most rm programs out there, and not conforming with +-the upcoming POSIX standard: +- +-Please tell bug-automake@gnu.org about your system, including the value +-of your $PATH and any error possibly output before this message. This +-can help us improve future automake versions. +- +-END +- if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then +- echo 'Configuration will proceed anyway, since you have set the' >&2 +- echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 +- echo >&2 +- else +- cat >&2 <<'END' +-Aborting the configuration process, to ensure you take notice of the issue. +- +-You can download and install GNU coreutils to get an 'rm' implementation +-that behaves properly: . +- +-If you want to complete the configuration process using your problematic +-'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +-to "yes", and re-run configure. +- +-END +- AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) +- fi +-fi +-dnl The trailing newline in this macro's definition is deliberate, for +-dnl backward compatibility and to allow trailing 'dnl'-style comments +-dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. +-]) +-m4trace:/usr/share/aclocal-1.15/init.m4:186: -1- AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. +-_am_arg=$1 +-_am_stamp_count=1 +-for _am_header in $config_headers :; do +- case $_am_header in +- $_am_arg | $_am_arg:* ) +- break ;; +- * ) +- _am_stamp_count=`expr $_am_stamp_count + 1` ;; +- esac +-done +-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) +-m4trace:/usr/share/aclocal-1.15/install-sh.m4:11: -1- AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +-if test x"${install_sh+set}" != xset; then +- case $am_aux_dir in +- *\ * | *\ *) +- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; +- *) +- install_sh="\${SHELL} $am_aux_dir/install-sh" +- esac +-fi +-AC_SUBST([install_sh])]) +-m4trace:/usr/share/aclocal-1.15/lead-dot.m4:10: -1- AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null +-mkdir .tst 2>/dev/null +-if test -d .tst; then +- am__leading_dot=. +-else +- am__leading_dot=_ +-fi +-rmdir .tst 2>/dev/null +-AC_SUBST([am__leading_dot])]) +-m4trace:/usr/share/aclocal-1.15/make.m4:12: -1- AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} +-cat > confinc << 'END' +-am__doit: +- @echo this is the am__doit target +-.PHONY: am__doit +-END +-# If we don't find an include directive, just comment out the code. +-AC_MSG_CHECKING([for style of include used by $am_make]) +-am__include="#" +-am__quote= +-_am_result=none +-# First try GNU make style include. +-echo "include confinc" > confmf +-# Ignore all kinds of additional output from 'make'. +-case `$am_make -s -f confmf 2> /dev/null` in #( +-*the\ am__doit\ target*) +- am__include=include +- am__quote= +- _am_result=GNU +- ;; +-esac +-# Now try BSD make style include. +-if test "$am__include" = "#"; then +- echo '.include "confinc"' > confmf +- case `$am_make -s -f confmf 2> /dev/null` in #( +- *the\ am__doit\ target*) +- am__include=.include +- am__quote="\"" +- _am_result=BSD +- ;; +- esac +-fi +-AC_SUBST([am__include]) +-AC_SUBST([am__quote]) +-AC_MSG_RESULT([$_am_result]) +-rm -f confinc confmf +-]) +-m4trace:/usr/share/aclocal-1.15/missing.m4:11: -1- AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) +-$1=${$1-"${am_missing_run}$2"} +-AC_SUBST($1)]) +-m4trace:/usr/share/aclocal-1.15/missing.m4:20: -1- AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +-AC_REQUIRE_AUX_FILE([missing])dnl +-if test x"${MISSING+set}" != xset; then +- case $am_aux_dir in +- *\ * | *\ *) +- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; +- *) +- MISSING="\${SHELL} $am_aux_dir/missing" ;; +- esac +-fi +-# Use eval to expand $SHELL +-if eval "$MISSING --is-lightweight"; then +- am_missing_run="$MISSING " +-else +- am_missing_run= +- AC_MSG_WARN(['missing' script is too old or missing]) +-fi +-]) +-m4trace:/usr/share/aclocal-1.15/options.m4:11: -1- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) +-m4trace:/usr/share/aclocal-1.15/options.m4:17: -1- AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) +-m4trace:/usr/share/aclocal-1.15/options.m4:23: -1- AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) +-m4trace:/usr/share/aclocal-1.15/options.m4:29: -1- AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) +-m4trace:/usr/share/aclocal-1.15/prog-cc-c-o.m4:12: -1- AC_DEFUN([_AM_PROG_CC_C_O], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +-AC_REQUIRE_AUX_FILE([compile])dnl +-AC_LANG_PUSH([C])dnl +-AC_CACHE_CHECK( +- [whether $CC understands -c and -o together], +- [am_cv_prog_cc_c_o], +- [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) +- # Make sure it works both with $CC and with simple cc. +- # Following AC_PROG_CC_C_O, we do the test twice because some +- # compilers refuse to overwrite an existing .o file with -o, +- # though they will create one. +- am_cv_prog_cc_c_o=yes +- for am_i in 1 2; do +- if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ +- && test -f conftest2.$ac_objext; then +- : OK +- else +- am_cv_prog_cc_c_o=no +- break +- fi +- done +- rm -f core conftest* +- unset am_i]) +-if test "$am_cv_prog_cc_c_o" != yes; then +- # Losing compiler, so override with the script. +- # FIXME: It is wrong to rewrite CC. +- # But if we don't then we get into trouble of one sort or another. +- # A longer-term fix would be to have automake use am__CC in this case, +- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" +- CC="$am_aux_dir/compile $CC" +-fi +-AC_LANG_POP([C])]) +-m4trace:/usr/share/aclocal-1.15/prog-cc-c-o.m4:47: -1- AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) +-m4trace:/usr/share/aclocal-1.15/runlog.m4:12: -1- AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD +- ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD +- (exit $ac_status); }]) +-m4trace:/usr/share/aclocal-1.15/sanity.m4:11: -1- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) +-# Reject unsafe characters in $srcdir or the absolute working directory +-# name. Accept space and tab only in the latter. +-am_lf=' +-' +-case `pwd` in +- *[[\\\"\#\$\&\'\`$am_lf]]*) +- AC_MSG_ERROR([unsafe absolute working directory name]);; +-esac +-case $srcdir in +- *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) +- AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; +-esac +- +-# Do 'set' in a subshell so we don't clobber the current shell's +-# arguments. Must try -L first in case configure is actually a +-# symlink; some systems play weird games with the mod time of symlinks +-# (eg FreeBSD returns the mod time of the symlink's containing +-# directory). +-if ( +- am_has_slept=no +- for am_try in 1 2; do +- echo "timestamp, slept: $am_has_slept" > conftest.file +- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` +- if test "$[*]" = "X"; then +- # -L didn't work. +- set X `ls -t "$srcdir/configure" conftest.file` +- fi +- if test "$[*]" != "X $srcdir/configure conftest.file" \ +- && test "$[*]" != "X conftest.file $srcdir/configure"; then +- +- # If neither matched, then we have a broken ls. This can happen +- # if, for instance, CONFIG_SHELL is bash and it inherits a +- # broken ls alias from the environment. This has actually +- # happened. Such a system could not be considered "sane". +- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +- alias in your environment]) +- fi +- if test "$[2]" = conftest.file || test $am_try -eq 2; then +- break +- fi +- # Just in case. +- sleep 1 +- am_has_slept=yes +- done +- test "$[2]" = conftest.file +- ) +-then +- # Ok. +- : +-else +- AC_MSG_ERROR([newly created file is older than distributed files! +-Check your system clock]) +-fi +-AC_MSG_RESULT([yes]) +-# If we didn't sleep, we still need to ensure time stamps of config.status and +-# generated files are strictly newer. +-am_sleep_pid= +-if grep 'slept: no' conftest.file >/dev/null 2>&1; then +- ( sleep 1 ) & +- am_sleep_pid=$! +-fi +-AC_CONFIG_COMMANDS_PRE( +- [AC_MSG_CHECKING([that generated files are newer than configure]) +- if test -n "$am_sleep_pid"; then +- # Hide warnings about reused PIDs. +- wait $am_sleep_pid 2>/dev/null +- fi +- AC_MSG_RESULT([done])]) +-rm -f conftest.file +-]) +-m4trace:/usr/share/aclocal-1.15/silent.m4:12: -1- AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl +-AS_HELP_STRING( +- [--enable-silent-rules], +- [less verbose build output (undo: "make V=1")]) +-AS_HELP_STRING( +- [--disable-silent-rules], +- [verbose build output (undo: "make V=0")])dnl +-]) +-case $enable_silent_rules in @%:@ ((( +- yes) AM_DEFAULT_VERBOSITY=0;; +- no) AM_DEFAULT_VERBOSITY=1;; +- *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; +-esac +-dnl +-dnl A few 'make' implementations (e.g., NonStop OS and NextStep) +-dnl do not support nested variable expansions. +-dnl See automake bug#9928 and bug#10237. +-am_make=${MAKE-make} +-AC_CACHE_CHECK([whether $am_make supports nested variables], +- [am_cv_make_support_nested_variables], +- [if AS_ECHO([['TRUE=$(BAR$(V)) +-BAR0=false +-BAR1=true +-V=1 +-am__doit: +- @$(TRUE) +-.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then +- am_cv_make_support_nested_variables=yes +-else +- am_cv_make_support_nested_variables=no +-fi]) +-if test $am_cv_make_support_nested_variables = yes; then +- dnl Using '$V' instead of '$(V)' breaks IRIX make. +- AM_V='$(V)' +- AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +-else +- AM_V=$AM_DEFAULT_VERBOSITY +- AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +-fi +-AC_SUBST([AM_V])dnl +-AM_SUBST_NOTMAKE([AM_V])dnl +-AC_SUBST([AM_DEFAULT_V])dnl +-AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl +-AC_SUBST([AM_DEFAULT_VERBOSITY])dnl +-AM_BACKSLASH='\' +-AC_SUBST([AM_BACKSLASH])dnl +-_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl +-]) +-m4trace:/usr/share/aclocal-1.15/strip.m4:17: -1- AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +-# Installed binaries are usually stripped using 'strip' when the user +-# run "make install-strip". However 'strip' might not be the right +-# tool to use in cross-compilation environments, therefore Automake +-# will honor the 'STRIP' environment variable to overrule this program. +-dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. +-if test "$cross_compiling" != no; then +- AC_CHECK_TOOL([STRIP], [strip], :) +-fi +-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +-AC_SUBST([INSTALL_STRIP_PROGRAM])]) +-m4trace:/usr/share/aclocal-1.15/substnot.m4:12: -1- AC_DEFUN([_AM_SUBST_NOTMAKE]) +-m4trace:/usr/share/aclocal-1.15/substnot.m4:17: -1- AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) +-m4trace:/usr/share/aclocal-1.15/tar.m4:23: -1- AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used +-# in the wild :-( We should find a proper way to deprecate it ... +-AC_SUBST([AMTAR], ['$${TAR-tar}']) +- +-# We'll loop over all known methods to create a tar archive until one works. +-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +- +-m4_if([$1], [v7], +- [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], +- +- [m4_case([$1], +- [ustar], +- [# The POSIX 1988 'ustar' format is defined with fixed-size fields. +- # There is notably a 21 bits limit for the UID and the GID. In fact, +- # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 +- # and bug#13588). +- am_max_uid=2097151 # 2^21 - 1 +- am_max_gid=$am_max_uid +- # The $UID and $GID variables are not portable, so we need to resort +- # to the POSIX-mandated id(1) utility. Errors in the 'id' calls +- # below are definitely unexpected, so allow the users to see them +- # (that is, avoid stderr redirection). +- am_uid=`id -u || echo unknown` +- am_gid=`id -g || echo unknown` +- AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) +- if test $am_uid -le $am_max_uid; then +- AC_MSG_RESULT([yes]) +- else +- AC_MSG_RESULT([no]) +- _am_tools=none +- fi +- AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) +- if test $am_gid -le $am_max_gid; then +- AC_MSG_RESULT([yes]) +- else +- AC_MSG_RESULT([no]) +- _am_tools=none +- fi], +- +- [pax], +- [], +- +- [m4_fatal([Unknown tar format])]) +- +- AC_MSG_CHECKING([how to create a $1 tar archive]) +- +- # Go ahead even if we have the value already cached. We do so because we +- # need to set the values for the 'am__tar' and 'am__untar' variables. +- _am_tools=${am_cv_prog_tar_$1-$_am_tools} +- +- for _am_tool in $_am_tools; do +- case $_am_tool in +- gnutar) +- for _am_tar in tar gnutar gtar; do +- AM_RUN_LOG([$_am_tar --version]) && break +- done +- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' +- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' +- am__untar="$_am_tar -xf -" +- ;; +- plaintar) +- # Must skip GNU tar: if it does not support --format= it doesn't create +- # ustar tarball either. +- (tar --version) >/dev/null 2>&1 && continue +- am__tar='tar chf - "$$tardir"' +- am__tar_='tar chf - "$tardir"' +- am__untar='tar xf -' +- ;; +- pax) +- am__tar='pax -L -x $1 -w "$$tardir"' +- am__tar_='pax -L -x $1 -w "$tardir"' +- am__untar='pax -r' +- ;; +- cpio) +- am__tar='find "$$tardir" -print | cpio -o -H $1 -L' +- am__tar_='find "$tardir" -print | cpio -o -H $1 -L' +- am__untar='cpio -i -H $1 -d' +- ;; +- none) +- am__tar=false +- am__tar_=false +- am__untar=false +- ;; +- esac +- +- # If the value was cached, stop now. We just wanted to have am__tar +- # and am__untar set. +- test -n "${am_cv_prog_tar_$1}" && break +- +- # tar/untar a dummy directory, and stop if the command works. +- rm -rf conftest.dir +- mkdir conftest.dir +- echo GrepMe > conftest.dir/file +- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) +- rm -rf conftest.dir +- if test -s conftest.tar; then +- AM_RUN_LOG([$am__untar /dev/null 2>&1 && break +- fi +- done +- rm -rf conftest.dir +- +- AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +- AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +- +-AC_SUBST([am__tar]) +-AC_SUBST([am__untar]) +-]) ++m4trace:aclocal.m4:699: -1- AC_SUBST([am__quote]) ++m4trace:aclocal.m4:699: -1- AC_SUBST_TRACE([am__quote]) ++m4trace:aclocal.m4:699: -1- m4_pattern_allow([^am__quote$]) ++m4trace:aclocal.m4:1151: -1- m4_include([m4/libtool.m4]) ++m4trace:aclocal.m4:1152: -1- m4_include([m4/ltoptions.m4]) ++m4trace:aclocal.m4:1153: -1- m4_include([m4/ltsugar.m4]) ++m4trace:aclocal.m4:1154: -1- m4_include([m4/ltversion.m4]) ++m4trace:aclocal.m4:1155: -1- m4_include([m4/lt~obsolete.m4]) ++m4trace:configure.ac:3: -1- AC_INIT([crlibm], [1.0beta4]) + m4trace:configure.ac:3: -1- m4_pattern_forbid([^_?A[CHUM]_]) + m4trace:configure.ac:3: -1- m4_pattern_forbid([_AC_]) + m4trace:configure.ac:3: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) +@@ -2443,364 +14,780 @@ + m4trace:configure.ac:3: -1- m4_pattern_forbid([^_?m4_]) + m4trace:configure.ac:3: -1- m4_pattern_forbid([^dnl$]) + m4trace:configure.ac:3: -1- m4_pattern_forbid([^_?AS_]) ++m4trace:configure.ac:3: -1- AC_SUBST([SHELL]) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([SHELL]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^SHELL$]) ++m4trace:configure.ac:3: -1- AC_SUBST([PATH_SEPARATOR]) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([PATH_SEPARATOR]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^PATH_SEPARATOR$]) ++m4trace:configure.ac:3: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])]) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([PACKAGE_NAME]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^PACKAGE_NAME$]) ++m4trace:configure.ac:3: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])]) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([PACKAGE_TARNAME]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) ++m4trace:configure.ac:3: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])]) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([PACKAGE_VERSION]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^PACKAGE_VERSION$]) ++m4trace:configure.ac:3: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])]) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([PACKAGE_STRING]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^PACKAGE_STRING$]) ++m4trace:configure.ac:3: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])]) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) ++m4trace:configure.ac:3: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL], ['AC_PACKAGE_URL'])]) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([PACKAGE_URL]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^PACKAGE_URL$]) ++m4trace:configure.ac:3: -1- AC_SUBST([exec_prefix], [NONE]) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([exec_prefix]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^exec_prefix$]) ++m4trace:configure.ac:3: -1- AC_SUBST([prefix], [NONE]) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([prefix]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^prefix$]) ++m4trace:configure.ac:3: -1- AC_SUBST([program_transform_name], [s,x,x,]) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([program_transform_name]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^program_transform_name$]) ++m4trace:configure.ac:3: -1- AC_SUBST([bindir], ['${exec_prefix}/bin']) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([bindir]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^bindir$]) ++m4trace:configure.ac:3: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin']) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([sbindir]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^sbindir$]) ++m4trace:configure.ac:3: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec']) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([libexecdir]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^libexecdir$]) ++m4trace:configure.ac:3: -1- AC_SUBST([datarootdir], ['${prefix}/share']) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([datarootdir]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^datarootdir$]) ++m4trace:configure.ac:3: -1- AC_SUBST([datadir], ['${datarootdir}']) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([datadir]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^datadir$]) ++m4trace:configure.ac:3: -1- AC_SUBST([sysconfdir], ['${prefix}/etc']) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([sysconfdir]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^sysconfdir$]) ++m4trace:configure.ac:3: -1- AC_SUBST([sharedstatedir], ['${prefix}/com']) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([sharedstatedir]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^sharedstatedir$]) ++m4trace:configure.ac:3: -1- AC_SUBST([localstatedir], ['${prefix}/var']) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([localstatedir]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^localstatedir$]) ++m4trace:configure.ac:3: -1- AC_SUBST([runstatedir], ['${localstatedir}/run']) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([runstatedir]) ++m4trace:configure.ac:3: -1- m4_pattern_allow([^runstatedir$]) ++m4trace:configure.ac:3: -1- AC_SUBST([includedir], ['${prefix}/include']) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([includedir]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^includedir$]) ++m4trace:configure.ac:3: -1- AC_SUBST([oldincludedir], ['/usr/include']) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([oldincludedir]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^oldincludedir$]) ++m4trace:configure.ac:3: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME], ++ ['${datarootdir}/doc/${PACKAGE_TARNAME}'], ++ ['${datarootdir}/doc/${PACKAGE}'])]) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([docdir]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^docdir$]) ++m4trace:configure.ac:3: -1- AC_SUBST([infodir], ['${datarootdir}/info']) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([infodir]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^infodir$]) ++m4trace:configure.ac:3: -1- AC_SUBST([htmldir], ['${docdir}']) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([htmldir]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^htmldir$]) ++m4trace:configure.ac:3: -1- AC_SUBST([dvidir], ['${docdir}']) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([dvidir]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^dvidir$]) ++m4trace:configure.ac:3: -1- AC_SUBST([pdfdir], ['${docdir}']) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([pdfdir]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^pdfdir$]) ++m4trace:configure.ac:3: -1- AC_SUBST([psdir], ['${docdir}']) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([psdir]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^psdir$]) ++m4trace:configure.ac:3: -1- AC_SUBST([libdir], ['${exec_prefix}/lib']) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([libdir]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^libdir$]) ++m4trace:configure.ac:3: -1- AC_SUBST([localedir], ['${datarootdir}/locale']) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([localedir]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^localedir$]) ++m4trace:configure.ac:3: -1- AC_SUBST([mandir], ['${datarootdir}/man']) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([mandir]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^mandir$]) ++m4trace:configure.ac:3: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^PACKAGE_NAME$]) ++m4trace:configure.ac:3: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */ ++@%:@undef PACKAGE_NAME]) ++m4trace:configure.ac:3: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) ++m4trace:configure.ac:3: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */ ++@%:@undef PACKAGE_TARNAME]) ++m4trace:configure.ac:3: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^PACKAGE_VERSION$]) ++m4trace:configure.ac:3: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */ ++@%:@undef PACKAGE_VERSION]) ++m4trace:configure.ac:3: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^PACKAGE_STRING$]) ++m4trace:configure.ac:3: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */ ++@%:@undef PACKAGE_STRING]) ++m4trace:configure.ac:3: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) ++m4trace:configure.ac:3: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */ ++@%:@undef PACKAGE_BUGREPORT]) ++m4trace:configure.ac:3: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^PACKAGE_URL$]) ++m4trace:configure.ac:3: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */ ++@%:@undef PACKAGE_URL]) ++m4trace:configure.ac:3: -1- AC_SUBST([DEFS]) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([DEFS]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^DEFS$]) ++m4trace:configure.ac:3: -1- AC_SUBST([ECHO_C]) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([ECHO_C]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^ECHO_C$]) ++m4trace:configure.ac:3: -1- AC_SUBST([ECHO_N]) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([ECHO_N]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^ECHO_N$]) ++m4trace:configure.ac:3: -1- AC_SUBST([ECHO_T]) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([ECHO_T]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^ECHO_T$]) ++m4trace:configure.ac:3: -1- AC_SUBST([LIBS]) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([LIBS]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^LIBS$]) ++m4trace:configure.ac:3: -1- AC_SUBST([build_alias]) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([build_alias]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^build_alias$]) ++m4trace:configure.ac:3: -1- AC_SUBST([host_alias]) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([host_alias]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^host_alias$]) ++m4trace:configure.ac:3: -1- AC_SUBST([target_alias]) ++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([target_alias]) + m4trace:configure.ac:3: -1- m4_pattern_allow([^target_alias$]) + m4trace:configure.ac:7: -1- AM_INIT_AUTOMAKE([]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) +-m4trace:configure.ac:7: -1- AM_SET_CURRENT_AUTOMAKE_VERSION +-m4trace:configure.ac:7: -1- AM_AUTOMAKE_VERSION([1.15.1]) +-m4trace:configure.ac:7: -1- _AM_AUTOCONF_VERSION([2.69]) ++m4trace:configure.ac:7: -1- AM_AUTOMAKE_VERSION([1.16.5]) ++m4trace:configure.ac:7: -1- AC_REQUIRE_AUX_FILE([install-sh]) ++m4trace:configure.ac:7: -1- AC_SUBST([INSTALL_PROGRAM]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([INSTALL_PROGRAM]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) ++m4trace:configure.ac:7: -1- AC_SUBST([INSTALL_SCRIPT]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([INSTALL_SCRIPT]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) ++m4trace:configure.ac:7: -1- AC_SUBST([INSTALL_DATA]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([INSTALL_DATA]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^INSTALL_DATA$]) ++m4trace:configure.ac:7: -1- AC_SUBST([am__isrc], [' -I$(srcdir)']) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__isrc]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^am__isrc$]) + m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([am__isrc]) ++m4trace:configure.ac:7: -1- AC_SUBST([CYGPATH_W]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CYGPATH_W]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^CYGPATH_W$]) +-m4trace:configure.ac:7: -1- _AM_SET_OPTIONS([]) ++m4trace:configure.ac:7: -1- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME']) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([PACKAGE]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^PACKAGE$]) ++m4trace:configure.ac:7: -1- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION']) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([VERSION]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^VERSION$]) +-m4trace:configure.ac:7: -1- _AM_IF_OPTION([no-define], [], [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) +- AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])]) +-m4trace:configure.ac:7: -2- _AM_MANGLE_OPTION([no-define]) ++m4trace:configure.ac:7: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^PACKAGE$]) ++m4trace:configure.ac:7: -1- AH_OUTPUT([PACKAGE], [/* Name of package */ ++@%:@undef PACKAGE]) ++m4trace:configure.ac:7: -1- AC_DEFINE_TRACE_LITERAL([VERSION]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^VERSION$]) +-m4trace:configure.ac:7: -1- AM_SANITY_CHECK +-m4trace:configure.ac:7: -1- AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +-m4trace:configure.ac:7: -1- AM_MISSING_HAS_RUN +-m4trace:configure.ac:7: -1- AM_AUX_DIR_EXPAND ++m4trace:configure.ac:7: -1- AH_OUTPUT([VERSION], [/* Version number of package */ ++@%:@undef VERSION]) ++m4trace:configure.ac:7: -1- AC_REQUIRE_AUX_FILE([missing]) ++m4trace:configure.ac:7: -1- AC_SUBST([ACLOCAL]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([ACLOCAL]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^ACLOCAL$]) +-m4trace:configure.ac:7: -1- AM_MISSING_PROG([AUTOCONF], [autoconf]) ++m4trace:configure.ac:7: -1- AC_SUBST([AUTOCONF]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AUTOCONF]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^AUTOCONF$]) +-m4trace:configure.ac:7: -1- AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) ++m4trace:configure.ac:7: -1- AC_SUBST([AUTOMAKE]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AUTOMAKE]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^AUTOMAKE$]) +-m4trace:configure.ac:7: -1- AM_MISSING_PROG([AUTOHEADER], [autoheader]) ++m4trace:configure.ac:7: -1- AC_SUBST([AUTOHEADER]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AUTOHEADER]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^AUTOHEADER$]) +-m4trace:configure.ac:7: -1- AM_MISSING_PROG([MAKEINFO], [makeinfo]) ++m4trace:configure.ac:7: -1- AC_SUBST([MAKEINFO]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([MAKEINFO]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^MAKEINFO$]) +-m4trace:configure.ac:7: -1- AM_PROG_INSTALL_SH ++m4trace:configure.ac:7: -1- AC_SUBST([install_sh]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([install_sh]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^install_sh$]) +-m4trace:configure.ac:7: -1- AM_PROG_INSTALL_STRIP ++m4trace:configure.ac:7: -1- AC_SUBST([STRIP]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([STRIP]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^STRIP$]) ++m4trace:configure.ac:7: -1- AC_SUBST([INSTALL_STRIP_PROGRAM]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$]) ++m4trace:configure.ac:7: -1- AC_REQUIRE_AUX_FILE([install-sh]) ++m4trace:configure.ac:7: -1- AC_SUBST([MKDIR_P]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([MKDIR_P]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^MKDIR_P$]) ++m4trace:configure.ac:7: -1- AC_SUBST([mkdir_p], ['$(MKDIR_P)']) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([mkdir_p]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^mkdir_p$]) ++m4trace:configure.ac:7: -1- AC_SUBST([AWK]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AWK]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^AWK$]) ++m4trace:configure.ac:7: -1- AC_SUBST([SET_MAKE]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([SET_MAKE]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^SET_MAKE$]) +-m4trace:configure.ac:7: -1- AM_SET_LEADING_DOT ++m4trace:configure.ac:7: -1- AC_SUBST([am__leading_dot]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__leading_dot]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^am__leading_dot$]) +-m4trace:configure.ac:7: -1- _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], +- [_AM_PROG_TAR([v7])])]) +-m4trace:configure.ac:7: -2- _AM_MANGLE_OPTION([tar-ustar]) +-m4trace:configure.ac:7: -1- _AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])]) +-m4trace:configure.ac:7: -2- _AM_MANGLE_OPTION([tar-pax]) +-m4trace:configure.ac:7: -1- _AM_PROG_TAR([v7]) ++m4trace:configure.ac:7: -1- AC_SUBST([AMTAR], ['$${TAR-tar}']) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AMTAR]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^AMTAR$]) ++m4trace:configure.ac:7: -1- AC_SUBST([am__tar]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__tar]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^am__tar$]) ++m4trace:configure.ac:7: -1- AC_SUBST([am__untar]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__untar]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^am__untar$]) +-m4trace:configure.ac:7: -1- _AM_IF_OPTION([no-dependencies], [], [AC_PROVIDE_IFELSE([AC_PROG_CC], +- [_AM_DEPENDENCIES([CC])], +- [m4_define([AC_PROG_CC], +- m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl +-AC_PROVIDE_IFELSE([AC_PROG_CXX], +- [_AM_DEPENDENCIES([CXX])], +- [m4_define([AC_PROG_CXX], +- m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl +-AC_PROVIDE_IFELSE([AC_PROG_OBJC], +- [_AM_DEPENDENCIES([OBJC])], +- [m4_define([AC_PROG_OBJC], +- m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +-AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], +- [_AM_DEPENDENCIES([OBJCXX])], +- [m4_define([AC_PROG_OBJCXX], +- m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl +-]) +-m4trace:configure.ac:7: -2- _AM_MANGLE_OPTION([no-dependencies]) ++m4trace:configure.ac:7: -1- AC_SUBST([CTAGS]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CTAGS]) ++m4trace:configure.ac:7: -1- m4_pattern_allow([^CTAGS$]) ++m4trace:configure.ac:7: -1- AC_SUBST([ETAGS]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([ETAGS]) ++m4trace:configure.ac:7: -1- m4_pattern_allow([^ETAGS$]) ++m4trace:configure.ac:7: -1- AC_SUBST([CSCOPE]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CSCOPE]) ++m4trace:configure.ac:7: -1- m4_pattern_allow([^CSCOPE$]) + m4trace:configure.ac:7: -1- AM_SILENT_RULES ++m4trace:configure.ac:7: -1- AC_SUBST([AM_V]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AM_V]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^AM_V$]) +-m4trace:configure.ac:7: -1- AM_SUBST_NOTMAKE([AM_V]) + m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([AM_V]) ++m4trace:configure.ac:7: -1- AC_SUBST([AM_DEFAULT_V]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AM_DEFAULT_V]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^AM_DEFAULT_V$]) +-m4trace:configure.ac:7: -1- AM_SUBST_NOTMAKE([AM_DEFAULT_V]) + m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V]) ++m4trace:configure.ac:7: -1- AC_SUBST([AM_DEFAULT_VERBOSITY]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AM_DEFAULT_VERBOSITY]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$]) ++m4trace:configure.ac:7: -1- AC_SUBST([AM_BACKSLASH]) ++m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AM_BACKSLASH]) + m4trace:configure.ac:7: -1- m4_pattern_allow([^AM_BACKSLASH$]) + m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH]) +-m4trace:configure.ac:11: -1- AC_ENABLE_SHARED +-m4trace:configure.ac:12: -1- AC_ENABLE_STATIC ++m4trace:configure.ac:9: -1- AC_CONFIG_HEADERS([crlibm_config.h]) + m4trace:configure.ac:13: -1- LT_INIT + m4trace:configure.ac:13: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$]) +-m4trace:configure.ac:13: -1- LTOPTIONS_VERSION +-m4trace:configure.ac:13: -1- LTSUGAR_VERSION +-m4trace:configure.ac:13: -1- LTVERSION_VERSION +-m4trace:configure.ac:13: -1- LTOBSOLETE_VERSION +-m4trace:configure.ac:13: -1- _LT_PROG_LTMAIN ++m4trace:configure.ac:13: -1- AC_REQUIRE_AUX_FILE([ltmain.sh]) ++m4trace:configure.ac:13: -1- AC_SUBST([LIBTOOL]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([LIBTOOL]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^LIBTOOL$]) ++m4trace:configure.ac:13: -1- AC_CANONICAL_HOST ++m4trace:configure.ac:13: -1- AC_CANONICAL_BUILD ++m4trace:configure.ac:13: -1- AC_REQUIRE_AUX_FILE([config.sub]) ++m4trace:configure.ac:13: -1- AC_REQUIRE_AUX_FILE([config.guess]) ++m4trace:configure.ac:13: -1- AC_SUBST([build], [$ac_cv_build]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([build]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^build$]) ++m4trace:configure.ac:13: -1- AC_SUBST([build_cpu], [$[1]]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([build_cpu]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^build_cpu$]) ++m4trace:configure.ac:13: -1- AC_SUBST([build_vendor], [$[2]]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([build_vendor]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^build_vendor$]) ++m4trace:configure.ac:13: -1- AC_SUBST([build_os]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([build_os]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^build_os$]) ++m4trace:configure.ac:13: -1- AC_SUBST([host], [$ac_cv_host]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([host]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^host$]) ++m4trace:configure.ac:13: -1- AC_SUBST([host_cpu], [$[1]]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([host_cpu]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^host_cpu$]) ++m4trace:configure.ac:13: -1- AC_SUBST([host_vendor], [$[2]]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([host_vendor]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^host_vendor$]) ++m4trace:configure.ac:13: -1- AC_SUBST([host_os]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([host_os]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^host_os$]) +-m4trace:configure.ac:13: -1- _LT_PREPARE_SED_QUOTE_VARS +-m4trace:configure.ac:13: -1- _LT_PROG_ECHO_BACKSLASH ++m4trace:configure.ac:13: -1- AC_SUBST([CC]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([CC]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^CC$]) ++m4trace:configure.ac:13: -1- AC_SUBST([CFLAGS]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([CFLAGS]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^CFLAGS$]) ++m4trace:configure.ac:13: -1- AC_SUBST([LDFLAGS]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([LDFLAGS]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^LDFLAGS$]) ++m4trace:configure.ac:13: -1- AC_SUBST([LIBS]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([LIBS]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^LIBS$]) ++m4trace:configure.ac:13: -1- AC_SUBST([CPPFLAGS]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([CPPFLAGS]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^CPPFLAGS$]) ++m4trace:configure.ac:13: -1- AC_SUBST([CC]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([CC]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^CC$]) ++m4trace:configure.ac:13: -1- AC_SUBST([CC]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([CC]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^CC$]) ++m4trace:configure.ac:13: -1- AC_SUBST([CC]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([CC]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^CC$]) ++m4trace:configure.ac:13: -1- AC_SUBST([CC]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([CC]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^CC$]) ++m4trace:configure.ac:13: -1- AC_SUBST([ac_ct_CC]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([ac_ct_CC]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^ac_ct_CC$]) ++m4trace:configure.ac:13: -1- AC_SUBST([CC]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([CC]) ++m4trace:configure.ac:13: -1- m4_pattern_allow([^CC$]) ++m4trace:configure.ac:13: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([EXEEXT]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^EXEEXT$]) ++m4trace:configure.ac:13: -1- AC_SUBST([OBJEXT], [$ac_cv_objext]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([OBJEXT]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^OBJEXT$]) +-m4trace:configure.ac:13: -1- _AM_PROG_CC_C_O +-m4trace:configure.ac:13: -1- AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) +-m4trace:configure.ac:13: -1- _AM_DEPENDENCIES([CC]) +-m4trace:configure.ac:13: -1- AM_SET_DEPDIR ++m4trace:configure.ac:13: -1- AC_REQUIRE_AUX_FILE([compile]) ++m4trace:configure.ac:13: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([DEPDIR]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^DEPDIR$]) +-m4trace:configure.ac:13: -1- AM_OUTPUT_DEPENDENCY_COMMANDS +-m4trace:configure.ac:13: -1- AM_MAKE_INCLUDE ++m4trace:configure.ac:13: -1- AC_SUBST([am__include]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([am__include]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^am__include$]) +-m4trace:configure.ac:13: -1- m4_pattern_allow([^am__quote$]) +-m4trace:configure.ac:13: -1- AM_DEP_TRACK + m4trace:configure.ac:13: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) ++m4trace:configure.ac:13: -1- AC_SUBST([AMDEP_TRUE]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([AMDEP_TRUE]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^AMDEP_TRUE$]) ++m4trace:configure.ac:13: -1- AC_SUBST([AMDEP_FALSE]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([AMDEP_FALSE]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^AMDEP_FALSE$]) + m4trace:configure.ac:13: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE]) + m4trace:configure.ac:13: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE]) ++m4trace:configure.ac:13: -1- AC_SUBST([AMDEPBACKSLASH]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([AMDEPBACKSLASH]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) + m4trace:configure.ac:13: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH]) ++m4trace:configure.ac:13: -1- AC_SUBST([am__nodep]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([am__nodep]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^am__nodep$]) + m4trace:configure.ac:13: -1- _AM_SUBST_NOTMAKE([am__nodep]) ++m4trace:configure.ac:13: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([CCDEPMODE]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^CCDEPMODE$]) + m4trace:configure.ac:13: -1- AM_CONDITIONAL([am__fastdepCC], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) ++m4trace:configure.ac:13: -1- AC_SUBST([am__fastdepCC_TRUE]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) ++m4trace:configure.ac:13: -1- AC_SUBST([am__fastdepCC_FALSE]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) + m4trace:configure.ac:13: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) + m4trace:configure.ac:13: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) +-m4trace:configure.ac:13: -1- LT_PATH_LD ++m4trace:configure.ac:13: -1- AC_SUBST([SED]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([SED]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^SED$]) +-m4trace:configure.ac:13: -1- AC_PROG_EGREP ++m4trace:configure.ac:13: -1- AC_SUBST([GREP]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([GREP]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^GREP$]) ++m4trace:configure.ac:13: -1- AC_SUBST([EGREP]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([EGREP]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^EGREP$]) ++m4trace:configure.ac:13: -1- AC_SUBST([FGREP]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([FGREP]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^FGREP$]) ++m4trace:configure.ac:13: -1- AC_SUBST([GREP]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([GREP]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^GREP$]) ++m4trace:configure.ac:13: -1- AC_SUBST([LD]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([LD]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^LD$]) +-m4trace:configure.ac:13: -1- LT_PATH_NM ++m4trace:configure.ac:13: -1- AC_SUBST([DUMPBIN]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([DUMPBIN]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^DUMPBIN$]) ++m4trace:configure.ac:13: -1- AC_SUBST([ac_ct_DUMPBIN]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([ac_ct_DUMPBIN]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^ac_ct_DUMPBIN$]) ++m4trace:configure.ac:13: -1- AC_SUBST([DUMPBIN]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([DUMPBIN]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^DUMPBIN$]) ++m4trace:configure.ac:13: -1- AC_SUBST([NM]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([NM]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^NM$]) ++m4trace:configure.ac:13: -1- AC_SUBST([LN_S], [$as_ln_s]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([LN_S]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^LN_S$]) +-m4trace:configure.ac:13: -1- LT_CMD_MAX_LEN ++m4trace:configure.ac:13: -1- AC_SUBST([OBJDUMP]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([OBJDUMP]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^OBJDUMP$]) ++m4trace:configure.ac:13: -1- AC_SUBST([OBJDUMP]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([OBJDUMP]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^OBJDUMP$]) ++m4trace:configure.ac:13: -1- AC_SUBST([DLLTOOL]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([DLLTOOL]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^DLLTOOL$]) ++m4trace:configure.ac:13: -1- AC_SUBST([DLLTOOL]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([DLLTOOL]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^DLLTOOL$]) ++m4trace:configure.ac:13: -1- AC_SUBST([AR]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([AR]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^AR$]) ++m4trace:configure.ac:13: -1- AC_SUBST([ac_ct_AR]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([ac_ct_AR]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^ac_ct_AR$]) ++m4trace:configure.ac:13: -1- AC_SUBST([STRIP]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([STRIP]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^STRIP$]) ++m4trace:configure.ac:13: -1- AC_SUBST([RANLIB]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([RANLIB]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^RANLIB$]) +-m4trace:configure.ac:13: -1- _LT_WITH_SYSROOT + m4trace:configure.ac:13: -1- m4_pattern_allow([LT_OBJDIR]) ++m4trace:configure.ac:13: -1- AC_DEFINE_TRACE_LITERAL([LT_OBJDIR]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^LT_OBJDIR$]) +-m4trace:configure.ac:13: -1- _LT_CC_BASENAME([$compiler]) +-m4trace:configure.ac:13: -1- _LT_PATH_TOOL_PREFIX([${ac_tool_prefix}file], [/usr/bin$PATH_SEPARATOR$PATH]) +-m4trace:configure.ac:13: -1- _LT_PATH_TOOL_PREFIX([file], [/usr/bin$PATH_SEPARATOR$PATH]) ++m4trace:configure.ac:13: -1- AH_OUTPUT([LT_OBJDIR], [/* Define to the sub-directory where libtool stores uninstalled libraries. */ ++@%:@undef LT_OBJDIR]) + m4trace:configure.ac:13: -1- LT_SUPPORTED_TAG([CC]) +-m4trace:configure.ac:13: -1- _LT_COMPILER_BOILERPLATE +-m4trace:configure.ac:13: -1- _LT_LINKER_BOILERPLATE +-m4trace:configure.ac:13: -1- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], [lt_cv_prog_compiler_rtti_exceptions], [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, )="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, ) -fno-rtti -fno-exceptions"]) +-m4trace:configure.ac:13: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, ) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, )], [$_LT_TAGVAR(lt_prog_compiler_pic, )@&t@m4_if([],[],[ -DPIC],[m4_if([],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, ) in +- "" | " "*) ;; +- *) _LT_TAGVAR(lt_prog_compiler_pic, )=" $_LT_TAGVAR(lt_prog_compiler_pic, )" ;; +- esac], [_LT_TAGVAR(lt_prog_compiler_pic, )= +- _LT_TAGVAR(lt_prog_compiler_can_build_shared, )=no]) +-m4trace:configure.ac:13: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, )=]) ++m4trace:configure.ac:13: -1- AC_SUBST([MANIFEST_TOOL]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([MANIFEST_TOOL]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^MANIFEST_TOOL$]) +-m4trace:configure.ac:13: -1- _LT_DLL_DEF_P([$export_symbols]) +-m4trace:configure.ac:13: -1- _LT_DLL_DEF_P([$export_symbols]) +-m4trace:configure.ac:13: -1- _LT_REQUIRED_DARWIN_CHECKS ++m4trace:configure.ac:13: -1- AC_SUBST([DSYMUTIL]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([DSYMUTIL]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^DSYMUTIL$]) ++m4trace:configure.ac:13: -1- AC_SUBST([NMEDIT]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([NMEDIT]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^NMEDIT$]) ++m4trace:configure.ac:13: -1- AC_SUBST([LIPO]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([LIPO]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^LIPO$]) ++m4trace:configure.ac:13: -1- AC_SUBST([OTOOL]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([OTOOL]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^OTOOL$]) ++m4trace:configure.ac:13: -1- AC_SUBST([OTOOL64]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([OTOOL64]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^OTOOL64$]) +-m4trace:configure.ac:13: -1- _LT_LINKER_OPTION([if $CC understands -b], [lt_cv_prog_compiler__b], [-b], [_LT_TAGVAR(archive_cmds, )='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], [_LT_TAGVAR(archive_cmds, )='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags']) ++m4trace:configure.ac:13: -1- AC_SUBST([LT_SYS_LIBRARY_PATH]) ++m4trace:configure.ac:13: -1- AC_SUBST_TRACE([LT_SYS_LIBRARY_PATH]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) +-m4trace:configure.ac:13: -1- LT_SYS_DLOPEN_SELF +-m4trace:configure.ac:13: -1- m4_pattern_allow([^CPP$]) +-m4trace:configure.ac:13: -1- m4_pattern_allow([^CPPFLAGS$]) +-m4trace:configure.ac:13: -1- m4_pattern_allow([^CPP$]) ++m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the header file. */ ++@%:@undef HAVE_DLFCN_H]) ++m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_STDIO_H], [/* Define to 1 if you have the header file. */ ++@%:@undef HAVE_STDIO_H]) ++m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ ++@%:@undef HAVE_STDLIB_H]) ++m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the header file. */ ++@%:@undef HAVE_STRING_H]) ++m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the header file. */ ++@%:@undef HAVE_INTTYPES_H]) ++m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the header file. */ ++@%:@undef HAVE_STDINT_H]) ++m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the header file. */ ++@%:@undef HAVE_STRINGS_H]) ++m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the header file. */ ++@%:@undef HAVE_SYS_STAT_H]) ++m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the header file. */ ++@%:@undef HAVE_SYS_TYPES_H]) ++m4trace:configure.ac:13: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ ++@%:@undef HAVE_UNISTD_H]) ++m4trace:configure.ac:13: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^STDC_HEADERS$]) ++m4trace:configure.ac:13: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if all of the C90 standard headers exist (not just the ones ++ required in a freestanding environment). This macro is provided for ++ backward compatibility; new code need not use it. */ ++@%:@undef STDC_HEADERS]) ++m4trace:configure.ac:13: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DLFCN_H]) + m4trace:configure.ac:13: -1- m4_pattern_allow([^HAVE_DLFCN_H$]) +-m4trace:configure.ac:14: -1- _AM_CONFIG_MACRO_DIRS([m4]) ++m4trace:configure.ac:14: -1- AC_CONFIG_MACRO_DIR_TRACE([m4]) ++m4trace:configure.ac:16: -1- AC_SUBST([VERSION]) ++m4trace:configure.ac:16: -1- AC_SUBST_TRACE([VERSION]) + m4trace:configure.ac:16: -1- m4_pattern_allow([^VERSION$]) ++m4trace:configure.ac:19: -1- AC_SUBST([ISODATE]) ++m4trace:configure.ac:19: -1- AC_SUBST_TRACE([ISODATE]) + m4trace:configure.ac:19: -1- m4_pattern_allow([^ISODATE$]) ++m4trace:configure.ac:22: -1- AC_CANONICAL_HOST ++m4trace:configure.ac:25: -1- AC_DEFINE_TRACE_LITERAL([CRLIBM_TYPEOS_HPUX]) + m4trace:configure.ac:25: -1- m4_pattern_allow([^CRLIBM_TYPEOS_HPUX$]) ++m4trace:configure.ac:25: -1- AH_OUTPUT([CRLIBM_TYPEOS_HPUX], [/* OS type */ ++@%:@undef CRLIBM_TYPEOS_HPUX]) ++m4trace:configure.ac:27: -1- AC_DEFINE_TRACE_LITERAL([CRLIBM_TYPEOS_CYGWIN]) + m4trace:configure.ac:27: -1- m4_pattern_allow([^CRLIBM_TYPEOS_CYGWIN$]) ++m4trace:configure.ac:27: -1- AH_OUTPUT([CRLIBM_TYPEOS_CYGWIN], [/* OS type */ ++@%:@undef CRLIBM_TYPEOS_CYGWIN]) ++m4trace:configure.ac:29: -1- AC_DEFINE_TRACE_LITERAL([CRLIBM_TYPEOS_BSD]) + m4trace:configure.ac:29: -1- m4_pattern_allow([^CRLIBM_TYPEOS_BSD$]) ++m4trace:configure.ac:29: -1- AH_OUTPUT([CRLIBM_TYPEOS_BSD], [/* OS type */ ++@%:@undef CRLIBM_TYPEOS_BSD]) ++m4trace:configure.ac:35: -1- AC_DEFINE_TRACE_LITERAL([CRLIBM_TYPECPU_ALPHA]) + m4trace:configure.ac:35: -1- m4_pattern_allow([^CRLIBM_TYPECPU_ALPHA$]) ++m4trace:configure.ac:35: -1- AH_OUTPUT([CRLIBM_TYPECPU_ALPHA], [/* Processor type */ ++@%:@undef CRLIBM_TYPECPU_ALPHA]) ++m4trace:configure.ac:37: -1- AC_DEFINE_TRACE_LITERAL([CRLIBM_TYPECPU_SPARC]) + m4trace:configure.ac:37: -1- m4_pattern_allow([^CRLIBM_TYPECPU_SPARC$]) ++m4trace:configure.ac:37: -1- AH_OUTPUT([CRLIBM_TYPECPU_SPARC], [/* Processor type */ ++@%:@undef CRLIBM_TYPECPU_SPARC]) ++m4trace:configure.ac:39: -1- AC_DEFINE_TRACE_LITERAL([CRLIBM_TYPECPU_POWERPC]) + m4trace:configure.ac:39: -1- m4_pattern_allow([^CRLIBM_TYPECPU_POWERPC$]) ++m4trace:configure.ac:39: -1- AH_OUTPUT([CRLIBM_TYPECPU_POWERPC], [/* Processor type */ ++@%:@undef CRLIBM_TYPECPU_POWERPC]) ++m4trace:configure.ac:41: -1- AC_DEFINE_TRACE_LITERAL([CRLIBM_TYPECPU_X86]) + m4trace:configure.ac:41: -1- m4_pattern_allow([^CRLIBM_TYPECPU_X86$]) ++m4trace:configure.ac:41: -1- AH_OUTPUT([CRLIBM_TYPECPU_X86], [/* Processor type */ ++@%:@undef CRLIBM_TYPECPU_X86]) ++m4trace:configure.ac:44: -1- AC_DEFINE_TRACE_LITERAL([CRLIBM_TYPECPU_AMD64]) + m4trace:configure.ac:44: -1- m4_pattern_allow([^CRLIBM_TYPECPU_AMD64$]) ++m4trace:configure.ac:44: -1- AH_OUTPUT([CRLIBM_TYPECPU_AMD64], [/* Processor type */ ++@%:@undef CRLIBM_TYPECPU_AMD64]) ++m4trace:configure.ac:47: -1- AC_DEFINE_TRACE_LITERAL([CRLIBM_TYPECPU_ITANIUM]) + m4trace:configure.ac:47: -1- m4_pattern_allow([^CRLIBM_TYPECPU_ITANIUM$]) ++m4trace:configure.ac:47: -1- AH_OUTPUT([CRLIBM_TYPECPU_ITANIUM], [/* Processor type */ ++@%:@undef CRLIBM_TYPECPU_ITANIUM]) ++m4trace:configure.ac:53: -1- AC_SUBST([SET_MAKE]) ++m4trace:configure.ac:53: -1- AC_SUBST_TRACE([SET_MAKE]) + m4trace:configure.ac:53: -1- m4_pattern_allow([^SET_MAKE$]) ++m4trace:configure.ac:57: -1- AC_SUBST([CC]) ++m4trace:configure.ac:57: -1- AC_SUBST_TRACE([CC]) + m4trace:configure.ac:57: -1- m4_pattern_allow([^CC$]) ++m4trace:configure.ac:57: -1- AC_SUBST([CFLAGS]) ++m4trace:configure.ac:57: -1- AC_SUBST_TRACE([CFLAGS]) + m4trace:configure.ac:57: -1- m4_pattern_allow([^CFLAGS$]) ++m4trace:configure.ac:57: -1- AC_SUBST([LDFLAGS]) ++m4trace:configure.ac:57: -1- AC_SUBST_TRACE([LDFLAGS]) + m4trace:configure.ac:57: -1- m4_pattern_allow([^LDFLAGS$]) ++m4trace:configure.ac:57: -1- AC_SUBST([LIBS]) ++m4trace:configure.ac:57: -1- AC_SUBST_TRACE([LIBS]) + m4trace:configure.ac:57: -1- m4_pattern_allow([^LIBS$]) ++m4trace:configure.ac:57: -1- AC_SUBST([CPPFLAGS]) ++m4trace:configure.ac:57: -1- AC_SUBST_TRACE([CPPFLAGS]) + m4trace:configure.ac:57: -1- m4_pattern_allow([^CPPFLAGS$]) ++m4trace:configure.ac:57: -1- AC_SUBST([CC]) ++m4trace:configure.ac:57: -1- AC_SUBST_TRACE([CC]) + m4trace:configure.ac:57: -1- m4_pattern_allow([^CC$]) ++m4trace:configure.ac:57: -1- AC_SUBST([ac_ct_CC]) ++m4trace:configure.ac:57: -1- AC_SUBST_TRACE([ac_ct_CC]) + m4trace:configure.ac:57: -1- m4_pattern_allow([^ac_ct_CC$]) +-m4trace:configure.ac:57: -1- _AM_PROG_CC_C_O +-m4trace:configure.ac:57: -1- AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) +-m4trace:configure.ac:57: -1- _AM_DEPENDENCIES([CC]) ++m4trace:configure.ac:57: -1- AC_REQUIRE_AUX_FILE([compile]) ++m4trace:configure.ac:57: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) ++m4trace:configure.ac:57: -1- AC_SUBST_TRACE([CCDEPMODE]) + m4trace:configure.ac:57: -1- m4_pattern_allow([^CCDEPMODE$]) + m4trace:configure.ac:57: -1- AM_CONDITIONAL([am__fastdepCC], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) ++m4trace:configure.ac:57: -1- AC_SUBST([am__fastdepCC_TRUE]) ++m4trace:configure.ac:57: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE]) + m4trace:configure.ac:57: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) ++m4trace:configure.ac:57: -1- AC_SUBST([am__fastdepCC_FALSE]) ++m4trace:configure.ac:57: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE]) + m4trace:configure.ac:57: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) + m4trace:configure.ac:57: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) + m4trace:configure.ac:57: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) + m4trace:configure.ac:111: -1- AM_CONDITIONAL([COMPILER_ICC], [test x$CC = xicc]) ++m4trace:configure.ac:111: -1- AC_SUBST([COMPILER_ICC_TRUE]) ++m4trace:configure.ac:111: -1- AC_SUBST_TRACE([COMPILER_ICC_TRUE]) + m4trace:configure.ac:111: -1- m4_pattern_allow([^COMPILER_ICC_TRUE$]) ++m4trace:configure.ac:111: -1- AC_SUBST([COMPILER_ICC_FALSE]) ++m4trace:configure.ac:111: -1- AC_SUBST_TRACE([COMPILER_ICC_FALSE]) + m4trace:configure.ac:111: -1- m4_pattern_allow([^COMPILER_ICC_FALSE$]) + m4trace:configure.ac:111: -1- _AM_SUBST_NOTMAKE([COMPILER_ICC_TRUE]) + m4trace:configure.ac:111: -1- _AM_SUBST_NOTMAKE([COMPILER_ICC_FALSE]) ++m4trace:configure.ac:115: -1- AC_SUBST([LN_S], [$as_ln_s]) ++m4trace:configure.ac:115: -1- AC_SUBST_TRACE([LN_S]) + m4trace:configure.ac:115: -1- m4_pattern_allow([^LN_S$]) +-m4trace:configure.ac:118: -1- m4_pattern_allow([^STDC_HEADERS$]) ++m4trace:configure.ac:118: -1- _m4_warn([obsolete], [The macro `AC_HEADER_STDC' is obsolete. ++You should run autoupdate.], [./lib/autoconf/headers.m4:712: AC_HEADER_STDC is expanded from... ++configure.ac:118: the top level]) ++m4trace:configure.ac:118: -1- AC_SUBST([EGREP]) ++m4trace:configure.ac:118: -1- AC_SUBST_TRACE([EGREP]) ++m4trace:configure.ac:118: -1- m4_pattern_allow([^EGREP$]) ++m4trace:configure.ac:119: -1- AC_DEFINE_TRACE_LITERAL([const]) + m4trace:configure.ac:119: -1- m4_pattern_allow([^const$]) ++m4trace:configure.ac:119: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */ ++@%:@undef const]) ++m4trace:configure.ac:120: -1- AH_OUTPUT([inline], [/* Define to `__inline__\' or `__inline\' if that\'s what the C compiler ++ calls it, or to nothing if \'inline\' is not supported under any name. */ ++#ifndef __cplusplus ++#undef inline ++#endif]) ++m4trace:configure.ac:123: -1- AH_OUTPUT([HAVE_SQRT], [/* Define to 1 if you have the `sqrt\' function. */ ++@%:@undef HAVE_SQRT]) ++m4trace:configure.ac:123: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SQRT]) + m4trace:configure.ac:123: -1- m4_pattern_allow([^HAVE_SQRT$]) ++m4trace:configure.ac:124: -1- AH_OUTPUT([HAVE_FENV_H], [/* Define to 1 if you have the header file. */ ++@%:@undef HAVE_FENV_H]) ++m4trace:configure.ac:124: -1- AC_DEFINE_TRACE_LITERAL([HAVE_FENV_H]) + m4trace:configure.ac:124: -1- m4_pattern_allow([^HAVE_FENV_H$]) ++m4trace:configure.ac:125: -1- AH_OUTPUT([HAVE_FLOAT_H], [/* Define to 1 if you have the header file. */ ++@%:@undef HAVE_FLOAT_H]) ++m4trace:configure.ac:125: -1- AC_DEFINE_TRACE_LITERAL([HAVE_FLOAT_H]) + m4trace:configure.ac:125: -1- m4_pattern_allow([^HAVE_FLOAT_H$]) + m4trace:configure.ac:129: -1- AM_CONDITIONAL([HAS_FPU_CONTROL], [test x$has_fpu_control = xyes]) ++m4trace:configure.ac:129: -1- AC_SUBST([HAS_FPU_CONTROL_TRUE]) ++m4trace:configure.ac:129: -1- AC_SUBST_TRACE([HAS_FPU_CONTROL_TRUE]) + m4trace:configure.ac:129: -1- m4_pattern_allow([^HAS_FPU_CONTROL_TRUE$]) ++m4trace:configure.ac:129: -1- AC_SUBST([HAS_FPU_CONTROL_FALSE]) ++m4trace:configure.ac:129: -1- AC_SUBST_TRACE([HAS_FPU_CONTROL_FALSE]) + m4trace:configure.ac:129: -1- m4_pattern_allow([^HAS_FPU_CONTROL_FALSE$]) + m4trace:configure.ac:129: -1- _AM_SUBST_NOTMAKE([HAS_FPU_CONTROL_TRUE]) + m4trace:configure.ac:129: -1- _AM_SUBST_NOTMAKE([HAS_FPU_CONTROL_FALSE]) ++m4trace:configure.ac:132: -1- AC_DEFINE_TRACE_LITERAL([CRLIBM_HAS_FPU_CONTROL]) + m4trace:configure.ac:132: -1- m4_pattern_allow([^CRLIBM_HAS_FPU_CONTROL$]) ++m4trace:configure.ac:132: -1- AH_OUTPUT([CRLIBM_HAS_FPU_CONTROL], [/* architecture- and system-specific FPU control header file */ ++@%:@undef CRLIBM_HAS_FPU_CONTROL]) ++m4trace:configure.ac:136: -1- AH_OUTPUT([HAVE_LIBM], [/* Define to 1 if you have the `m\' library (-lm). */ ++@%:@undef HAVE_LIBM]) ++m4trace:configure.ac:136: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBM]) + m4trace:configure.ac:136: -1- m4_pattern_allow([^HAVE_LIBM$]) ++m4trace:configure.ac:139: -1- AH_OUTPUT([WORDS_BIGENDIAN], [/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most ++ significant byte first (like Motorola and SPARC, unlike Intel). */ ++#if defined AC_APPLE_UNIVERSAL_BUILD ++# if defined __BIG_ENDIAN__ ++# define WORDS_BIGENDIAN 1 ++# endif ++#else ++# ifndef WORDS_BIGENDIAN ++# undef WORDS_BIGENDIAN ++# endif ++#endif]) ++m4trace:configure.ac:139: -1- AC_DEFINE_TRACE_LITERAL([WORDS_BIGENDIAN]) + m4trace:configure.ac:139: -1- m4_pattern_allow([^WORDS_BIGENDIAN$]) ++m4trace:configure.ac:139: -1- AC_DEFINE_TRACE_LITERAL([AC_APPLE_UNIVERSAL_BUILD]) + m4trace:configure.ac:139: -1- m4_pattern_allow([^AC_APPLE_UNIVERSAL_BUILD$]) ++m4trace:configure.ac:139: -1- AH_OUTPUT([AC_APPLE_UNIVERSAL_BUILD], [/* Define if building universal (internal helper macro) */ ++@%:@undef AC_APPLE_UNIVERSAL_BUILD]) + m4trace:configure.ac:142: -1- _m4_warn([obsolete], [The macro `AC_C_LONG_DOUBLE' is obsolete. +-You should run autoupdate.], [../../lib/autoconf/types.m4:452: AC_C_LONG_DOUBLE is expanded from... ++You should run autoupdate.], [./lib/autoconf/types.m4:465: AC_C_LONG_DOUBLE is expanded from... + configure.ac:142: the top level]) ++m4trace:configure.ac:142: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_DOUBLE_WIDER]) + m4trace:configure.ac:142: -1- m4_pattern_allow([^HAVE_LONG_DOUBLE_WIDER$]) ++m4trace:configure.ac:142: -1- AH_OUTPUT([HAVE_LONG_DOUBLE_WIDER], [/* Define to 1 if the type `long double\' works and has more range or precision ++ than `double\'. */ ++@%:@undef HAVE_LONG_DOUBLE_WIDER]) ++m4trace:configure.ac:142: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_DOUBLE]) + m4trace:configure.ac:142: -1- m4_pattern_allow([^HAVE_LONG_DOUBLE$]) ++m4trace:configure.ac:142: -1- AH_OUTPUT([HAVE_LONG_DOUBLE], [/* Define to 1 if the type `long double\' works and has more range or precision ++ than `double\'. */ ++@%:@undef HAVE_LONG_DOUBLE]) ++m4trace:configure.ac:146: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INT]) + m4trace:configure.ac:146: -1- m4_pattern_allow([^SIZEOF_INT$]) +-m4trace:configure.ac:157: -1- AC_DEFUN([AC_ADD_PATH_LIBS], [ +-if ` test "$1" ` +-then +- AC_MSG_CHECKING($2 library) +- if test -r "$1/lib$2.a" -o -r "$1/lib$2.so" +- then +- LDFLAGS="$LDFLAGS -L$1" +- LIBS ="$LIBS -l$2" +- else +- AC_MSG_ERROR($2 not found) +- fi +- AC_MSG_RESULT(yes) +-else +- AC_CHECK_LIB($2, main, , AC_MSG_ERROR($2 not found)) +-fi +- +-]) +-m4trace:configure.ac:184: -1- m4_pattern_allow([^HAS_SSE2$]) ++m4trace:configure.ac:146: -1- AH_OUTPUT([SIZEOF_INT], [/* The size of `int\', as computed by sizeof. */ ++@%:@undef SIZEOF_INT]) ++m4trace:configure.ac:192: -1- AC_DEFINE_TRACE_LITERAL([HAS_SSE2]) ++m4trace:configure.ac:192: -1- m4_pattern_allow([^HAS_SSE2$]) ++m4trace:configure.ac:192: -1- AH_OUTPUT([HAS_SSE2], [/* Use the sse2 operators */ ++@%:@undef HAS_SSE2]) + m4trace:configure.ac:194: -1- AM_CONDITIONAL([USE_SSE2], [test x$enable_sse2 = xyes ]) ++m4trace:configure.ac:194: -1- AC_SUBST([USE_SSE2_TRUE]) ++m4trace:configure.ac:194: -1- AC_SUBST_TRACE([USE_SSE2_TRUE]) + m4trace:configure.ac:194: -1- m4_pattern_allow([^USE_SSE2_TRUE$]) ++m4trace:configure.ac:194: -1- AC_SUBST([USE_SSE2_FALSE]) ++m4trace:configure.ac:194: -1- AC_SUBST_TRACE([USE_SSE2_FALSE]) + m4trace:configure.ac:194: -1- m4_pattern_allow([^USE_SSE2_FALSE$]) + m4trace:configure.ac:194: -1- _AM_SUBST_NOTMAKE([USE_SSE2_TRUE]) + m4trace:configure.ac:194: -1- _AM_SUBST_NOTMAKE([USE_SSE2_FALSE]) +-m4trace:configure.ac:200: -1- m4_pattern_allow([^BUILD_INTERVAL_FUNCTIONS$]) ++m4trace:configure.ac:208: -1- AC_DEFINE_TRACE_LITERAL([BUILD_INTERVAL_FUNCTIONS]) ++m4trace:configure.ac:208: -1- m4_pattern_allow([^BUILD_INTERVAL_FUNCTIONS$]) ++m4trace:configure.ac:208: -1- AH_OUTPUT([BUILD_INTERVAL_FUNCTIONS], [/* Compile the filib-compatible interval functions */ ++@%:@undef BUILD_INTERVAL_FUNCTIONS]) + m4trace:configure.ac:210: -1- AM_CONDITIONAL([USE_INTERVAL_FUNCTIONS], [test x$enable_interval_functions = xyes ]) ++m4trace:configure.ac:210: -1- AC_SUBST([USE_INTERVAL_FUNCTIONS_TRUE]) ++m4trace:configure.ac:210: -1- AC_SUBST_TRACE([USE_INTERVAL_FUNCTIONS_TRUE]) + m4trace:configure.ac:210: -1- m4_pattern_allow([^USE_INTERVAL_FUNCTIONS_TRUE$]) ++m4trace:configure.ac:210: -1- AC_SUBST([USE_INTERVAL_FUNCTIONS_FALSE]) ++m4trace:configure.ac:210: -1- AC_SUBST_TRACE([USE_INTERVAL_FUNCTIONS_FALSE]) + m4trace:configure.ac:210: -1- m4_pattern_allow([^USE_INTERVAL_FUNCTIONS_FALSE$]) + m4trace:configure.ac:210: -1- _AM_SUBST_NOTMAKE([USE_INTERVAL_FUNCTIONS_TRUE]) + m4trace:configure.ac:210: -1- _AM_SUBST_NOTMAKE([USE_INTERVAL_FUNCTIONS_FALSE]) + m4trace:configure.ac:226: -1- AM_CONDITIONAL([USE_HARDWARE_DE], [test x$has_ia32_de = xtrue -a x$has_fpu_control = xyes -a x$enable_double_extended = xyes -a x$enable_interval_functions = xno ]) ++m4trace:configure.ac:226: -1- AC_SUBST([USE_HARDWARE_DE_TRUE]) ++m4trace:configure.ac:226: -1- AC_SUBST_TRACE([USE_HARDWARE_DE_TRUE]) + m4trace:configure.ac:226: -1- m4_pattern_allow([^USE_HARDWARE_DE_TRUE$]) ++m4trace:configure.ac:226: -1- AC_SUBST([USE_HARDWARE_DE_FALSE]) ++m4trace:configure.ac:226: -1- AC_SUBST_TRACE([USE_HARDWARE_DE_FALSE]) + m4trace:configure.ac:226: -1- m4_pattern_allow([^USE_HARDWARE_DE_FALSE$]) + m4trace:configure.ac:226: -1- _AM_SUBST_NOTMAKE([USE_HARDWARE_DE_TRUE]) + m4trace:configure.ac:226: -1- _AM_SUBST_NOTMAKE([USE_HARDWARE_DE_FALSE]) +-m4trace:configure.ac:240: -1- m4_pattern_allow([^SCS_NB_WORDS$]) +-m4trace:configure.ac:240: -1- m4_pattern_allow([^SCS_NB_WORDS$]) +-m4trace:configure.ac:249: -1- m4_pattern_allow([^SCS_NB_BITS$]) +-m4trace:configure.ac:249: -1- m4_pattern_allow([^SCS_NB_BITS$]) +-m4trace:configure.ac:317: -1- AC_ADD_PATH_LIBS([$with_gmp_lib], [gmp]) ++m4trace:configure.ac:247: -1- AC_DEFINE_TRACE_LITERAL([SCS_NB_WORDS]) ++m4trace:configure.ac:247: -1- m4_pattern_allow([^SCS_NB_WORDS$]) ++m4trace:configure.ac:247: -1- AH_OUTPUT([SCS_NB_WORDS], [/* Number of digits in the SCS structure */ ++@%:@undef SCS_NB_WORDS]) ++m4trace:configure.ac:247: -1- AC_DEFINE_TRACE_LITERAL([SCS_NB_WORDS]) ++m4trace:configure.ac:247: -1- m4_pattern_allow([^SCS_NB_WORDS$]) ++m4trace:configure.ac:247: -1- AH_OUTPUT([SCS_NB_WORDS], [/* Number of digits in the SCS structure */ ++@%:@undef SCS_NB_WORDS]) ++m4trace:configure.ac:256: -1- AC_DEFINE_TRACE_LITERAL([SCS_NB_BITS]) ++m4trace:configure.ac:256: -1- m4_pattern_allow([^SCS_NB_BITS$]) ++m4trace:configure.ac:256: -1- AH_OUTPUT([SCS_NB_BITS], [/* Size of an SCS digit */ ++@%:@undef SCS_NB_BITS]) ++m4trace:configure.ac:256: -1- AC_DEFINE_TRACE_LITERAL([SCS_NB_BITS]) ++m4trace:configure.ac:256: -1- m4_pattern_allow([^SCS_NB_BITS$]) ++m4trace:configure.ac:256: -1- AH_OUTPUT([SCS_NB_BITS], [/* Size of an SCS digit */ ++@%:@undef SCS_NB_BITS]) ++m4trace:configure.ac:317: -1- AH_OUTPUT([HAVE_LIBGMP], [/* Define to 1 if you have the `gmp\' library (-lgmp). */ ++@%:@undef HAVE_LIBGMP]) ++m4trace:configure.ac:317: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBGMP]) + m4trace:configure.ac:317: -1- m4_pattern_allow([^HAVE_LIBGMP$]) ++m4trace:configure.ac:320: -1- AH_OUTPUT([HAVE_GMP_H], [/* Define to 1 if you have the header file. */ ++@%:@undef HAVE_GMP_H]) ++m4trace:configure.ac:320: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GMP_H]) + m4trace:configure.ac:320: -1- m4_pattern_allow([^HAVE_GMP_H$]) ++m4trace:configure.ac:324: -1- AH_OUTPUT([HAVE_LIBGMP], [/* Define to 1 if you have the `gmp\' library (-lgmp). */ ++@%:@undef HAVE_LIBGMP]) ++m4trace:configure.ac:324: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBGMP]) + m4trace:configure.ac:324: -1- m4_pattern_allow([^HAVE_LIBGMP$]) +-m4trace:configure.ac:346: -1- AC_ADD_PATH_LIBS([$with_mpfr_lib], [mpfr]) ++m4trace:configure.ac:346: -1- AH_OUTPUT([HAVE_LIBMPFR], [/* Define to 1 if you have the `mpfr\' library (-lmpfr). */ ++@%:@undef HAVE_LIBMPFR]) ++m4trace:configure.ac:346: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBMPFR]) + m4trace:configure.ac:346: -1- m4_pattern_allow([^HAVE_LIBMPFR$]) ++m4trace:configure.ac:354: -1- AH_OUTPUT([HAVE_MPFR_H], [/* Define to 1 if you have the header file. */ ++@%:@undef HAVE_MPFR_H]) ++m4trace:configure.ac:354: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MPFR_H]) + m4trace:configure.ac:354: -1- m4_pattern_allow([^HAVE_MPFR_H$]) ++m4trace:configure.ac:358: -1- AH_OUTPUT([HAVE_LIBMPFR], [/* Define to 1 if you have the `mpfr\' library (-lmpfr). */ ++@%:@undef HAVE_LIBMPFR]) ++m4trace:configure.ac:358: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBMPFR]) + m4trace:configure.ac:358: -1- m4_pattern_allow([^HAVE_LIBMPFR$]) +-m4trace:configure.ac:380: -1- AC_ADD_PATH_LIBS([$with_ultim_lib], [ultim]) ++m4trace:configure.ac:380: -1- AH_OUTPUT([HAVE_LIBULTIM], [/* Define to 1 if you have the `ultim\' library (-lultim). */ ++@%:@undef HAVE_LIBULTIM]) ++m4trace:configure.ac:380: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBULTIM]) + m4trace:configure.ac:380: -1- m4_pattern_allow([^HAVE_LIBULTIM$]) ++m4trace:configure.ac:382: -1- AH_OUTPUT([HAVE_MATHLIB_H], [/* Define to 1 if you have the header file. */ ++@%:@undef HAVE_MATHLIB_H]) ++m4trace:configure.ac:382: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MATHLIB_H]) + m4trace:configure.ac:382: -1- m4_pattern_allow([^HAVE_MATHLIB_H$]) ++m4trace:configure.ac:384: -1- AH_OUTPUT([HAVE_LIBULTIM], [/* Define to 1 if you have the `ultim\' library (-lultim). */ ++@%:@undef HAVE_LIBULTIM]) ++m4trace:configure.ac:384: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBULTIM]) + m4trace:configure.ac:384: -1- m4_pattern_allow([^HAVE_LIBULTIM$]) +-m4trace:configure.ac:406: -1- AC_ADD_PATH_LIBS([$with_mcr_lib], [mcr]) ++m4trace:configure.ac:406: -1- AH_OUTPUT([HAVE_LIBMCR], [/* Define to 1 if you have the `mcr\' library (-lmcr). */ ++@%:@undef HAVE_LIBMCR]) ++m4trace:configure.ac:406: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBMCR]) + m4trace:configure.ac:406: -1- m4_pattern_allow([^HAVE_LIBMCR$]) ++m4trace:configure.ac:408: -1- AH_OUTPUT([HAVE_LIBMCR_H], [/* Define to 1 if you have the header file. */ ++@%:@undef HAVE_LIBMCR_H]) ++m4trace:configure.ac:408: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBMCR_H]) + m4trace:configure.ac:408: -1- m4_pattern_allow([^HAVE_LIBMCR_H$]) ++m4trace:configure.ac:410: -1- AH_OUTPUT([HAVE_LIBMCR], [/* Define to 1 if you have the `mcr\' library (-lmcr). */ ++@%:@undef HAVE_LIBMCR]) ++m4trace:configure.ac:410: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBMCR]) + m4trace:configure.ac:410: -1- m4_pattern_allow([^HAVE_LIBMCR$]) ++m4trace:configure.ac:420: -1- AC_CONFIG_FILES([Makefile tests/Makefile scs_lib/Makefile]) ++m4trace:configure.ac:421: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) ++m4trace:configure.ac:421: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) + m4trace:configure.ac:421: -1- m4_pattern_allow([^LIB@&t@OBJS$]) ++m4trace:configure.ac:421: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) ++m4trace:configure.ac:421: -1- AC_SUBST_TRACE([LTLIBOBJS]) + m4trace:configure.ac:421: -1- m4_pattern_allow([^LTLIBOBJS$]) + m4trace:configure.ac:421: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"]) ++m4trace:configure.ac:421: -1- AC_SUBST([am__EXEEXT_TRUE]) ++m4trace:configure.ac:421: -1- AC_SUBST_TRACE([am__EXEEXT_TRUE]) + m4trace:configure.ac:421: -1- m4_pattern_allow([^am__EXEEXT_TRUE$]) ++m4trace:configure.ac:421: -1- AC_SUBST([am__EXEEXT_FALSE]) ++m4trace:configure.ac:421: -1- AC_SUBST_TRACE([am__EXEEXT_FALSE]) + m4trace:configure.ac:421: -1- m4_pattern_allow([^am__EXEEXT_FALSE$]) + m4trace:configure.ac:421: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE]) + m4trace:configure.ac:421: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE]) +-m4trace:configure.ac:421: -1- _AC_AM_CONFIG_HEADER_HOOK(["$ac_file"]) +-m4trace:configure.ac:421: -1- _AM_OUTPUT_DEPENDENCY_COMMANDS +-m4trace:configure.ac:421: -1- _LT_PROG_LTMAIN ++m4trace:configure.ac:421: -1- AC_SUBST_TRACE([top_builddir]) ++m4trace:configure.ac:421: -1- AC_SUBST_TRACE([top_build_prefix]) ++m4trace:configure.ac:421: -1- AC_SUBST_TRACE([srcdir]) ++m4trace:configure.ac:421: -1- AC_SUBST_TRACE([abs_srcdir]) ++m4trace:configure.ac:421: -1- AC_SUBST_TRACE([top_srcdir]) ++m4trace:configure.ac:421: -1- AC_SUBST_TRACE([abs_top_srcdir]) ++m4trace:configure.ac:421: -1- AC_SUBST_TRACE([builddir]) ++m4trace:configure.ac:421: -1- AC_SUBST_TRACE([abs_builddir]) ++m4trace:configure.ac:421: -1- AC_SUBST_TRACE([abs_top_builddir]) ++m4trace:configure.ac:421: -1- AC_SUBST_TRACE([INSTALL]) ++m4trace:configure.ac:421: -1- AC_SUBST_TRACE([MKDIR_P]) ++m4trace:configure.ac:421: -1- AC_REQUIRE_AUX_FILE([ltmain.sh]) +diff --color -urN a/crlibm-1.0beta4/config.guess b/crlibm-1.0beta4/config.guess +--- a/crlibm-1.0beta4/config.guess 2024-12-06 13:32:36 ++++ b/crlibm-1.0beta4/config.guess 2024-12-06 13:33:04 +@@ -1,12 +1,14 @@ +-#!/bin/sh ++#! /bin/sh + # Attempt to guess a canonical system name. +-# Copyright 1992-2017 Free Software Foundation, Inc. ++# Copyright 1992-2024 Free Software Foundation, Inc. + +-timestamp='2017-08-08' ++# shellcheck disable=SC2006,SC2268 # see below for rationale + ++timestamp='2024-01-01' ++ + # This file is free software; you can redistribute it and/or modify it + # under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 3 of the License, or ++# the Free Software Foundation, either version 3 of the License, or + # (at your option) any later version. + # + # This program is distributed in the hope that it will be useful, but +@@ -15,7 +17,7 @@ + # General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, see . ++# along with this program; if not, see . + # + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a +@@ -27,19 +29,27 @@ + # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. + # + # You can get the latest version of this script from: +-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess ++# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess + # + # Please send patches to . + + ++# The "shellcheck disable" line above the timestamp inhibits complaints ++# about features and limitations of the classic Bourne shell that were ++# superseded or lifted in POSIX. However, this script identifies a wide ++# variety of pre-POSIX systems that do not have POSIX shells at all, and ++# even some reasonably current systems (Solaris 10 as case-in-point) still ++# have a pre-POSIX /bin/sh. ++ ++ + me=`echo "$0" | sed -e 's,.*/,,'` + + usage="\ + Usage: $0 [OPTION] + +-Output the configuration name of the system \`$me' is run on. ++Output the configuration name of the system '$me' is run on. + +-Operation modes: ++Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit +@@ -50,13 +60,13 @@ + GNU config.guess ($timestamp) + + Originally written by Per Bothner. +-Copyright 1992-2017 Free Software Foundation, Inc. ++Copyright 1992-2024 Free Software Foundation, Inc. + + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + + help=" +-Try \`$me --help' for more information." ++Try '$me --help' for more information." + + # Parse command line + while test $# -gt 0 ; do +@@ -84,78 +94,109 @@ + exit 1 + fi + +-trap 'exit 1' 1 2 15 ++# Just in case it came from the environment. ++GUESS= + + # CC_FOR_BUILD -- compiler used by this script. Note that the use of a + # compiler to aid in system detection is discouraged as it requires + # temporary files to be created and, as you can see below, it is a + # headache to deal with in a portable fashion. + +-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +-# use `HOST_CC' if defined, but it is deprecated. ++# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still ++# use 'HOST_CC' if defined, but it is deprecated. + + # Portable tmp directory creation inspired by the Autoconf team. + +-set_cc_for_build=' +-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +-: ${TMPDIR=/tmp} ; +- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || +- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || +- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || +- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +-dummy=$tmp/dummy ; +-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +-case $CC_FOR_BUILD,$HOST_CC,$CC in +- ,,) echo "int x;" > $dummy.c ; +- for c in cc gcc c89 c99 ; do +- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then +- CC_FOR_BUILD="$c"; break ; +- fi ; +- done ; +- if test x"$CC_FOR_BUILD" = x ; then +- CC_FOR_BUILD=no_compiler_found ; +- fi +- ;; +- ,,*) CC_FOR_BUILD=$CC ;; +- ,*,*) CC_FOR_BUILD=$HOST_CC ;; +-esac ; set_cc_for_build= ;' ++tmp= ++# shellcheck disable=SC2172 ++trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 + ++set_cc_for_build() { ++ # prevent multiple calls if $tmp is already set ++ test "$tmp" && return 0 ++ : "${TMPDIR=/tmp}" ++ # shellcheck disable=SC2039,SC3028 ++ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || ++ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || ++ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || ++ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ++ dummy=$tmp/dummy ++ case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in ++ ,,) echo "int x;" > "$dummy.c" ++ for driver in cc gcc c89 c99 ; do ++ if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then ++ CC_FOR_BUILD=$driver ++ break ++ fi ++ done ++ if test x"$CC_FOR_BUILD" = x ; then ++ CC_FOR_BUILD=no_compiler_found ++ fi ++ ;; ++ ,,*) CC_FOR_BUILD=$CC ;; ++ ,*,*) CC_FOR_BUILD=$HOST_CC ;; ++ esac ++} ++ + # This is needed to find uname on a Pyramid OSx when run in the BSD universe. + # (ghazi@noc.rutgers.edu 1994-08-24) +-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then ++if test -f /.attbin/uname ; then + PATH=$PATH:/.attbin ; export PATH + fi + + UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown + UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown ++UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown + UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +-case "${UNAME_SYSTEM}" in ++case $UNAME_SYSTEM in + Linux|GNU|GNU/*) +- # If the system lacks a compiler, then just pick glibc. +- # We could probably try harder. +- LIBC=gnu ++ LIBC=unknown + +- eval $set_cc_for_build +- cat <<-EOF > $dummy.c ++ set_cc_for_build ++ cat <<-EOF > "$dummy.c" ++ #if defined(__ANDROID__) ++ LIBC=android ++ #else + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc +- #else ++ #elif defined(__GLIBC__) + LIBC=gnu ++ #elif defined(__LLVM_LIBC__) ++ LIBC=llvm ++ #else ++ #include ++ /* First heuristic to detect musl libc. */ ++ #ifdef __DEFINED_va_list ++ LIBC=musl + #endif ++ #endif ++ #endif + EOF +- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` ++ cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` ++ eval "$cc_set_libc" ++ ++ # Second heuristic to detect musl libc. ++ if [ "$LIBC" = unknown ] && ++ command -v ldd >/dev/null && ++ ldd --version 2>&1 | grep -q ^musl; then ++ LIBC=musl ++ fi ++ ++ # If the system lacks a compiler, then just pick glibc. ++ # We could probably try harder. ++ if [ "$LIBC" = unknown ]; then ++ LIBC=gnu ++ fi + ;; + esac + + # Note: order is significant - the case branches are not exclusive. + +-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in ++case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, +@@ -167,32 +208,32 @@ + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". +- sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ +- /sbin/$sysctl 2>/dev/null || \ +- /usr/sbin/$sysctl 2>/dev/null || \ ++ /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ ++ /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + echo unknown)` +- case "${UNAME_MACHINE_ARCH}" in ++ case $UNAME_MACHINE_ARCH in ++ aarch64eb) machine=aarch64_be-unknown ;; + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + earmv*) +- arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` +- endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` ++ arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` ++ endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` + machine=${arch}${endian}-unknown + ;; +- *) machine=${UNAME_MACHINE_ARCH}-unknown ;; ++ *) machine=$UNAME_MACHINE_ARCH-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently (or will in the future) and ABI. +- case "${UNAME_MACHINE_ARCH}" in ++ case $UNAME_MACHINE_ARCH in + earm*) + os=netbsdelf + ;; + arm*|i386|m68k|ns32k|sh3*|sparc|vax) +- eval $set_cc_for_build ++ set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then +@@ -208,10 +249,10 @@ + ;; + esac + # Determine ABI tags. +- case "${UNAME_MACHINE_ARCH}" in ++ case $UNAME_MACHINE_ARCH in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' +- abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` ++ abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` + ;; + esac + # The OS release +@@ -219,50 +260,68 @@ + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. +- case "${UNAME_VERSION}" in ++ case $UNAME_VERSION in + Debian*) + release='-gnu' + ;; + *) +- release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` ++ release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. +- echo "${machine}-${os}${release}${abi}" +- exit ;; ++ GUESS=$machine-${os}${release}${abi-} ++ ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` +- echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE ++ ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` +- echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE ++ ;; ++ *:SecBSD:*:*) ++ UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` ++ GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE ++ ;; + *:LibertyBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` +- echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE ++ ;; ++ *:MidnightBSD:*:*) ++ GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE ++ ;; + *:ekkoBSD:*:*) +- echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE ++ ;; + *:SolidBSD:*:*) +- echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE ++ ;; ++ *:OS108:*:*) ++ GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE ++ ;; + macppc:MirBSD:*:*) +- echo powerpc-unknown-mirbsd${UNAME_RELEASE} +- exit ;; ++ GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE ++ ;; + *:MirBSD:*:*) +- echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE ++ ;; + *:Sortix:*:*) +- echo ${UNAME_MACHINE}-unknown-sortix +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-sortix ++ ;; ++ *:Twizzler:*:*) ++ GUESS=$UNAME_MACHINE-unknown-twizzler ++ ;; + *:Redox:*:*) +- echo ${UNAME_MACHINE}-unknown-redox +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-redox ++ ;; ++ mips:OSF1:*.*) ++ GUESS=mips-dec-osf1 ++ ;; + alpha:OSF1:*:*) ++ # Reset EXIT trap before exiting to avoid spurious non-zero exit code. ++ trap '' 0 + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` +@@ -276,7 +335,7 @@ + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` +- case "$ALPHA_CPU_TYPE" in ++ case $ALPHA_CPU_TYPE in + "EV4 (21064)") + UNAME_MACHINE=alpha ;; + "EV4.5 (21064)") +@@ -313,126 +372,121 @@ + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. +- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` +- # Reset EXIT trap before exiting to avoid spurious non-zero exit code. +- exitcode=$? +- trap '' 0 +- exit $exitcode ;; +- Alpha\ *:Windows_NT*:*) +- # How do we know it's Interix rather than the generic POSIX subsystem? +- # Should we change UNAME_MACHINE based on the output of uname instead +- # of the specific Alpha model? +- echo alpha-pc-interix +- exit ;; +- 21064:Windows_NT:50:3) +- echo alpha-dec-winnt3.5 +- exit ;; ++ OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` ++ GUESS=$UNAME_MACHINE-dec-osf$OSF_REL ++ ;; + Amiga*:UNIX_System_V:4.0:*) +- echo m68k-unknown-sysv4 +- exit ;; ++ GUESS=m68k-unknown-sysv4 ++ ;; + *:[Aa]miga[Oo][Ss]:*:*) +- echo ${UNAME_MACHINE}-unknown-amigaos +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-amigaos ++ ;; + *:[Mm]orph[Oo][Ss]:*:*) +- echo ${UNAME_MACHINE}-unknown-morphos +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-morphos ++ ;; + *:OS/390:*:*) +- echo i370-ibm-openedition +- exit ;; ++ GUESS=i370-ibm-openedition ++ ;; + *:z/VM:*:*) +- echo s390-ibm-zvmoe +- exit ;; ++ GUESS=s390-ibm-zvmoe ++ ;; + *:OS400:*:*) +- echo powerpc-ibm-os400 +- exit ;; ++ GUESS=powerpc-ibm-os400 ++ ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) +- echo arm-acorn-riscix${UNAME_RELEASE} +- exit ;; ++ GUESS=arm-acorn-riscix$UNAME_RELEASE ++ ;; + arm*:riscos:*:*|arm*:RISCOS:*:*) +- echo arm-unknown-riscos +- exit ;; ++ GUESS=arm-unknown-riscos ++ ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) +- echo hppa1.1-hitachi-hiuxmpp +- exit ;; ++ GUESS=hppa1.1-hitachi-hiuxmpp ++ ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. +- if test "`(/bin/universe) 2>/dev/null`" = att ; then +- echo pyramid-pyramid-sysv3 +- else +- echo pyramid-pyramid-bsd +- fi +- exit ;; ++ case `(/bin/universe) 2>/dev/null` in ++ att) GUESS=pyramid-pyramid-sysv3 ;; ++ *) GUESS=pyramid-pyramid-bsd ;; ++ esac ++ ;; + NILE*:*:*:dcosx) +- echo pyramid-pyramid-svr4 +- exit ;; ++ GUESS=pyramid-pyramid-svr4 ++ ;; + DRS?6000:unix:4.0:6*) +- echo sparc-icl-nx6 +- exit ;; ++ GUESS=sparc-icl-nx6 ++ ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in +- sparc) echo sparc-icl-nx7; exit ;; +- esac ;; ++ sparc) GUESS=sparc-icl-nx7 ;; ++ esac ++ ;; + s390x:SunOS:*:*) +- echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +- exit ;; ++ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` ++ GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL ++ ;; + sun4H:SunOS:5.*:*) +- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +- exit ;; ++ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` ++ GUESS=sparc-hal-solaris2$SUN_REL ++ ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) +- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +- exit ;; ++ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` ++ GUESS=sparc-sun-solaris2$SUN_REL ++ ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) +- echo i386-pc-auroraux${UNAME_RELEASE} +- exit ;; ++ GUESS=i386-pc-auroraux$UNAME_RELEASE ++ ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) +- eval $set_cc_for_build ++ set_cc_for_build + SUN_ARCH=i386 + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. +- if [ "$CC_FOR_BUILD" != no_compiler_found ]; then ++ if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ +- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ ++ (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH=x86_64 + fi + fi +- echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +- exit ;; ++ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` ++ GUESS=$SUN_ARCH-pc-solaris2$SUN_REL ++ ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. +- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +- exit ;; ++ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` ++ GUESS=sparc-sun-solaris3$SUN_REL ++ ;; + sun4*:SunOS:*:*) +- case "`/usr/bin/arch -k`" in ++ case `/usr/bin/arch -k` in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac +- # Japanese Language versions have a version number like `4.1.3-JL'. +- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` +- exit ;; ++ # Japanese Language versions have a version number like '4.1.3-JL'. ++ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` ++ GUESS=sparc-sun-sunos$SUN_REL ++ ;; + sun3*:SunOS:*:*) +- echo m68k-sun-sunos${UNAME_RELEASE} +- exit ;; ++ GUESS=m68k-sun-sunos$UNAME_RELEASE ++ ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` +- test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 +- case "`/bin/arch`" in ++ test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 ++ case `/bin/arch` in + sun3) +- echo m68k-sun-sunos${UNAME_RELEASE} ++ GUESS=m68k-sun-sunos$UNAME_RELEASE + ;; + sun4) +- echo sparc-sun-sunos${UNAME_RELEASE} ++ GUESS=sparc-sun-sunos$UNAME_RELEASE + ;; + esac +- exit ;; ++ ;; + aushp:SunOS:*:*) +- echo sparc-auspex-sunos${UNAME_RELEASE} +- exit ;; ++ GUESS=sparc-auspex-sunos$UNAME_RELEASE ++ ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor +@@ -442,44 +496,44 @@ + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) +- echo m68k-atari-mint${UNAME_RELEASE} +- exit ;; ++ GUESS=m68k-atari-mint$UNAME_RELEASE ++ ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) +- echo m68k-atari-mint${UNAME_RELEASE} +- exit ;; ++ GUESS=m68k-atari-mint$UNAME_RELEASE ++ ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) +- echo m68k-atari-mint${UNAME_RELEASE} +- exit ;; ++ GUESS=m68k-atari-mint$UNAME_RELEASE ++ ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) +- echo m68k-milan-mint${UNAME_RELEASE} +- exit ;; ++ GUESS=m68k-milan-mint$UNAME_RELEASE ++ ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) +- echo m68k-hades-mint${UNAME_RELEASE} +- exit ;; ++ GUESS=m68k-hades-mint$UNAME_RELEASE ++ ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) +- echo m68k-unknown-mint${UNAME_RELEASE} +- exit ;; ++ GUESS=m68k-unknown-mint$UNAME_RELEASE ++ ;; + m68k:machten:*:*) +- echo m68k-apple-machten${UNAME_RELEASE} +- exit ;; ++ GUESS=m68k-apple-machten$UNAME_RELEASE ++ ;; + powerpc:machten:*:*) +- echo powerpc-apple-machten${UNAME_RELEASE} +- exit ;; ++ GUESS=powerpc-apple-machten$UNAME_RELEASE ++ ;; + RISC*:Mach:*:*) +- echo mips-dec-mach_bsd4.3 +- exit ;; ++ GUESS=mips-dec-mach_bsd4.3 ++ ;; + RISC*:ULTRIX:*:*) +- echo mips-dec-ultrix${UNAME_RELEASE} +- exit ;; ++ GUESS=mips-dec-ultrix$UNAME_RELEASE ++ ;; + VAX*:ULTRIX*:*:*) +- echo vax-dec-ultrix${UNAME_RELEASE} +- exit ;; ++ GUESS=vax-dec-ultrix$UNAME_RELEASE ++ ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) +- echo clipper-intergraph-clix${UNAME_RELEASE} +- exit ;; ++ GUESS=clipper-intergraph-clix$UNAME_RELEASE ++ ;; + mips:*:*:UMIPS | mips:*:*:RISCos) +- eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c ++ set_cc_for_build ++ sed 's/^ //' << EOF > "$dummy.c" + #ifdef __cplusplus + #include /* for printf() prototype */ + int main (int argc, char *argv[]) { +@@ -488,95 +542,96 @@ + #endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) +- printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); ++ printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) +- printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); ++ printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) +- printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); ++ printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } + EOF +- $CC_FOR_BUILD -o $dummy $dummy.c && +- dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && +- SYSTEM_NAME=`$dummy $dummyarg` && ++ $CC_FOR_BUILD -o "$dummy" "$dummy.c" && ++ dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && ++ SYSTEM_NAME=`"$dummy" "$dummyarg"` && + { echo "$SYSTEM_NAME"; exit; } +- echo mips-mips-riscos${UNAME_RELEASE} +- exit ;; ++ GUESS=mips-mips-riscos$UNAME_RELEASE ++ ;; + Motorola:PowerMAX_OS:*:*) +- echo powerpc-motorola-powermax +- exit ;; ++ GUESS=powerpc-motorola-powermax ++ ;; + Motorola:*:4.3:PL8-*) +- echo powerpc-harris-powermax +- exit ;; ++ GUESS=powerpc-harris-powermax ++ ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) +- echo powerpc-harris-powermax +- exit ;; ++ GUESS=powerpc-harris-powermax ++ ;; + Night_Hawk:Power_UNIX:*:*) +- echo powerpc-harris-powerunix +- exit ;; ++ GUESS=powerpc-harris-powerunix ++ ;; + m88k:CX/UX:7*:*) +- echo m88k-harris-cxux7 +- exit ;; ++ GUESS=m88k-harris-cxux7 ++ ;; + m88k:*:4*:R4*) +- echo m88k-motorola-sysv4 +- exit ;; ++ GUESS=m88k-motorola-sysv4 ++ ;; + m88k:*:3*:R3*) +- echo m88k-motorola-sysv3 +- exit ;; ++ GUESS=m88k-motorola-sysv3 ++ ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` +- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] ++ if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 + then +- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ +- [ ${TARGET_BINARY_INTERFACE}x = x ] ++ if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ ++ test "$TARGET_BINARY_INTERFACE"x = x + then +- echo m88k-dg-dgux${UNAME_RELEASE} ++ GUESS=m88k-dg-dgux$UNAME_RELEASE + else +- echo m88k-dg-dguxbcs${UNAME_RELEASE} ++ GUESS=m88k-dg-dguxbcs$UNAME_RELEASE + fi + else +- echo i586-dg-dgux${UNAME_RELEASE} ++ GUESS=i586-dg-dgux$UNAME_RELEASE + fi +- exit ;; ++ ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) +- echo m88k-dolphin-sysv3 +- exit ;; ++ GUESS=m88k-dolphin-sysv3 ++ ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 +- echo m88k-motorola-sysv3 +- exit ;; ++ GUESS=m88k-motorola-sysv3 ++ ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) +- echo m88k-tektronix-sysv3 +- exit ;; ++ GUESS=m88k-tektronix-sysv3 ++ ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) +- echo m68k-tektronix-bsd +- exit ;; ++ GUESS=m68k-tektronix-bsd ++ ;; + *:IRIX*:*:*) +- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` +- exit ;; ++ IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` ++ GUESS=mips-sgi-irix$IRIX_REL ++ ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. +- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id +- exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' ++ GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id ++ ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) +- echo i386-ibm-aix +- exit ;; ++ GUESS=i386-ibm-aix ++ ;; + ia64:AIX:*:*) +- if [ -x /usr/bin/oslevel ] ; then ++ if test -x /usr/bin/oslevel ; then + IBM_REV=`/usr/bin/oslevel` + else +- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} ++ IBM_REV=$UNAME_VERSION.$UNAME_RELEASE + fi +- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} +- exit ;; ++ GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV ++ ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then +- eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c ++ set_cc_for_build ++ sed 's/^ //' << EOF > "$dummy.c" + #include + + main() +@@ -587,77 +642,77 @@ + exit(0); + } + EOF +- if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` ++ if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` + then +- echo "$SYSTEM_NAME" ++ GUESS=$SYSTEM_NAME + else +- echo rs6000-ibm-aix3.2.5 ++ GUESS=rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then +- echo rs6000-ibm-aix3.2.4 ++ GUESS=rs6000-ibm-aix3.2.4 + else +- echo rs6000-ibm-aix3.2 ++ GUESS=rs6000-ibm-aix3.2 + fi +- exit ;; ++ ;; + *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` +- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then ++ if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi +- if [ -x /usr/bin/lslpp ] ; then +- IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | ++ if test -x /usr/bin/lslpp ; then ++ IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` + else +- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} ++ IBM_REV=$UNAME_VERSION.$UNAME_RELEASE + fi +- echo ${IBM_ARCH}-ibm-aix${IBM_REV} +- exit ;; ++ GUESS=$IBM_ARCH-ibm-aix$IBM_REV ++ ;; + *:AIX:*:*) +- echo rs6000-ibm-aix +- exit ;; +- ibmrt:4.4BSD:*|romp-ibm:BSD:*) +- echo romp-ibm-bsd4.4 +- exit ;; ++ GUESS=rs6000-ibm-aix ++ ;; ++ ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) ++ GUESS=romp-ibm-bsd4.4 ++ ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and +- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to +- exit ;; # report: romp-ibm BSD 4.3 ++ GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to ++ ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) +- echo rs6000-bull-bosx +- exit ;; ++ GUESS=rs6000-bull-bosx ++ ;; + DPX/2?00:B.O.S.:*:*) +- echo m68k-bull-sysv3 +- exit ;; ++ GUESS=m68k-bull-sysv3 ++ ;; + 9000/[34]??:4.3bsd:1.*:*) +- echo m68k-hp-bsd +- exit ;; ++ GUESS=m68k-hp-bsd ++ ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) +- echo m68k-hp-bsd4.4 +- exit ;; ++ GUESS=m68k-hp-bsd4.4 ++ ;; + 9000/[34678]??:HP-UX:*:*) +- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` +- case "${UNAME_MACHINE}" in +- 9000/31? ) HP_ARCH=m68000 ;; +- 9000/[34]?? ) HP_ARCH=m68k ;; ++ HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` ++ case $UNAME_MACHINE in ++ 9000/31?) HP_ARCH=m68000 ;; ++ 9000/[34]??) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) +- if [ -x /usr/bin/getconf ]; then ++ if test -x /usr/bin/getconf; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` +- case "${sc_cpu_version}" in ++ case $sc_cpu_version in + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 +- case "${sc_kernel_bits}" in ++ case $sc_kernel_bits in + 32) HP_ARCH=hppa2.0n ;; + 64) HP_ARCH=hppa2.0w ;; + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 + esac ;; + esac + fi +- if [ "${HP_ARCH}" = "" ]; then +- eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c ++ if test "$HP_ARCH" = ""; then ++ set_cc_for_build ++ sed 's/^ //' << EOF > "$dummy.c" + + #define _HPUX_SOURCE + #include +@@ -690,13 +745,13 @@ + exit (0); + } + EOF +- (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` ++ (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac +- if [ ${HP_ARCH} = hppa2.0w ] ++ if test "$HP_ARCH" = hppa2.0w + then +- eval $set_cc_for_build ++ set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler +@@ -715,15 +770,15 @@ + HP_ARCH=hppa64 + fi + fi +- echo ${HP_ARCH}-hp-hpux${HPUX_REV} +- exit ;; ++ GUESS=$HP_ARCH-hp-hpux$HPUX_REV ++ ;; + ia64:HP-UX:*:*) +- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` +- echo ia64-hp-hpux${HPUX_REV} +- exit ;; ++ HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` ++ GUESS=ia64-hp-hpux$HPUX_REV ++ ;; + 3050*:HI-UX:*:*) +- eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c ++ set_cc_for_build ++ sed 's/^ //' << EOF > "$dummy.c" + #include + int + main () +@@ -748,38 +803,38 @@ + exit (0); + } + EOF +- $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && ++ $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && + { echo "$SYSTEM_NAME"; exit; } +- echo unknown-hitachi-hiuxwe2 +- exit ;; +- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) +- echo hppa1.1-hp-bsd +- exit ;; ++ GUESS=unknown-hitachi-hiuxwe2 ++ ;; ++ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) ++ GUESS=hppa1.1-hp-bsd ++ ;; + 9000/8??:4.3bsd:*:*) +- echo hppa1.0-hp-bsd +- exit ;; ++ GUESS=hppa1.0-hp-bsd ++ ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) +- echo hppa1.0-hp-mpeix +- exit ;; +- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) +- echo hppa1.1-hp-osf +- exit ;; ++ GUESS=hppa1.0-hp-mpeix ++ ;; ++ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) ++ GUESS=hppa1.1-hp-osf ++ ;; + hp8??:OSF1:*:*) +- echo hppa1.0-hp-osf +- exit ;; ++ GUESS=hppa1.0-hp-osf ++ ;; + i*86:OSF1:*:*) +- if [ -x /usr/sbin/sysversion ] ; then +- echo ${UNAME_MACHINE}-unknown-osf1mk ++ if test -x /usr/sbin/sysversion ; then ++ GUESS=$UNAME_MACHINE-unknown-osf1mk + else +- echo ${UNAME_MACHINE}-unknown-osf1 ++ GUESS=$UNAME_MACHINE-unknown-osf1 + fi +- exit ;; ++ ;; + parisc*:Lites*:*:*) +- echo hppa1.1-hp-lites +- exit ;; ++ GUESS=hppa1.1-hp-lites ++ ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) +- echo c1-convex-bsd +- exit ;; ++ GUESS=c1-convex-bsd ++ ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd +@@ -787,140 +842,174 @@ + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) +- echo c34-convex-bsd +- exit ;; ++ GUESS=c34-convex-bsd ++ ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) +- echo c38-convex-bsd +- exit ;; ++ GUESS=c38-convex-bsd ++ ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) +- echo c4-convex-bsd +- exit ;; ++ GUESS=c4-convex-bsd ++ ;; + CRAY*Y-MP:*:*:*) +- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' +- exit ;; ++ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` ++ GUESS=ymp-cray-unicos$CRAY_REL ++ ;; + CRAY*[A-Z]90:*:*:*) +- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ ++ echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) +- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' +- exit ;; ++ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` ++ GUESS=t90-cray-unicos$CRAY_REL ++ ;; + CRAY*T3E:*:*:*) +- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' +- exit ;; ++ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` ++ GUESS=alphaev5-cray-unicosmk$CRAY_REL ++ ;; + CRAY*SV1:*:*:*) +- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' +- exit ;; ++ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` ++ GUESS=sv1-cray-unicos$CRAY_REL ++ ;; + *:UNICOS/mp:*:*) +- echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' +- exit ;; ++ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` ++ GUESS=craynv-cray-unicosmp$CRAY_REL ++ ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` +- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` +- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" +- exit ;; ++ FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` ++ GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} ++ ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` +- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` +- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" +- exit ;; ++ FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` ++ GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} ++ ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) +- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE ++ ;; + sparc*:BSD/OS:*:*) +- echo sparc-unknown-bsdi${UNAME_RELEASE} +- exit ;; ++ GUESS=sparc-unknown-bsdi$UNAME_RELEASE ++ ;; + *:BSD/OS:*:*) +- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE ++ ;; ++ arm:FreeBSD:*:*) ++ UNAME_PROCESSOR=`uname -p` ++ set_cc_for_build ++ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ ++ | grep -q __ARM_PCS_VFP ++ then ++ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` ++ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi ++ else ++ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` ++ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf ++ fi ++ ;; + *:FreeBSD:*:*) +- UNAME_PROCESSOR=`/usr/bin/uname -p` +- case ${UNAME_PROCESSOR} in ++ UNAME_PROCESSOR=`uname -p` ++ case $UNAME_PROCESSOR in + amd64) + UNAME_PROCESSOR=x86_64 ;; + i386) + UNAME_PROCESSOR=i586 ;; + esac +- echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` +- exit ;; ++ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` ++ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL ++ ;; + i*:CYGWIN*:*) +- echo ${UNAME_MACHINE}-pc-cygwin +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-cygwin ++ ;; + *:MINGW64*:*) +- echo ${UNAME_MACHINE}-pc-mingw64 +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-mingw64 ++ ;; + *:MINGW*:*) +- echo ${UNAME_MACHINE}-pc-mingw32 +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-mingw32 ++ ;; + *:MSYS*:*) +- echo ${UNAME_MACHINE}-pc-msys +- exit ;; +- i*:windows32*:*) +- # uname -m includes "-pc" on this system. +- echo ${UNAME_MACHINE}-mingw32 +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-msys ++ ;; + i*:PW*:*) +- echo ${UNAME_MACHINE}-pc-pw32 +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-pw32 ++ ;; ++ *:SerenityOS:*:*) ++ GUESS=$UNAME_MACHINE-pc-serenity ++ ;; + *:Interix*:*) +- case ${UNAME_MACHINE} in ++ case $UNAME_MACHINE in + x86) +- echo i586-pc-interix${UNAME_RELEASE} +- exit ;; ++ GUESS=i586-pc-interix$UNAME_RELEASE ++ ;; + authenticamd | genuineintel | EM64T) +- echo x86_64-unknown-interix${UNAME_RELEASE} +- exit ;; ++ GUESS=x86_64-unknown-interix$UNAME_RELEASE ++ ;; + IA64) +- echo ia64-unknown-interix${UNAME_RELEASE} +- exit ;; ++ GUESS=ia64-unknown-interix$UNAME_RELEASE ++ ;; + esac ;; +- [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) +- echo i${UNAME_MACHINE}-pc-mks +- exit ;; +- 8664:Windows_NT:*) +- echo x86_64-pc-mks +- exit ;; +- i*:Windows_NT*:* | Pentium*:Windows_NT*:*) +- # How do we know it's Interix rather than the generic POSIX subsystem? +- # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we +- # UNAME_MACHINE based on the output of uname instead of i386? +- echo i586-pc-interix +- exit ;; + i*:UWIN*:*) +- echo ${UNAME_MACHINE}-pc-uwin +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-uwin ++ ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) +- echo x86_64-unknown-cygwin +- exit ;; +- p*:CYGWIN*:*) +- echo powerpcle-unknown-cygwin +- exit ;; ++ GUESS=x86_64-pc-cygwin ++ ;; + prep*:SunOS:5.*:*) +- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +- exit ;; ++ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` ++ GUESS=powerpcle-unknown-solaris2$SUN_REL ++ ;; + *:GNU:*:*) + # the GNU system +- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` +- exit ;; ++ GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` ++ GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` ++ GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL ++ ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland +- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} +- exit ;; +- i*86:Minix:*:*) +- echo ${UNAME_MACHINE}-pc-minix +- exit ;; ++ GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` ++ GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` ++ GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC ++ ;; ++ x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*) ++ GUESS="$UNAME_MACHINE-pc-managarm-mlibc" ++ ;; ++ *:[Mm]anagarm:*:*) ++ GUESS="$UNAME_MACHINE-unknown-managarm-mlibc" ++ ;; ++ *:Minix:*:*) ++ GUESS=$UNAME_MACHINE-unknown-minix ++ ;; + aarch64:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ set_cc_for_build ++ CPU=$UNAME_MACHINE ++ LIBCABI=$LIBC ++ if test "$CC_FOR_BUILD" != no_compiler_found; then ++ ABI=64 ++ sed 's/^ //' << EOF > "$dummy.c" ++ #ifdef __ARM_EABI__ ++ #ifdef __ARM_PCS_VFP ++ ABI=eabihf ++ #else ++ ABI=eabi ++ #endif ++ #endif ++EOF ++ cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` ++ eval "$cc_set_abi" ++ case $ABI in ++ eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;; ++ esac ++ fi ++ GUESS=$CPU-unknown-linux-$LIBCABI ++ ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + alpha:Linux:*:*) +- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in ++ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; +@@ -931,183 +1020,245 @@ + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; +- arc:Linux:*:* | arceb:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; ++ arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + arm*:Linux:*:*) +- eval $set_cc_for_build ++ set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi ++ GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi + else +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf ++ GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf + fi + fi +- exit ;; ++ ;; + avr32*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + cris:Linux:*:*) +- echo ${UNAME_MACHINE}-axis-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-axis-linux-$LIBC ++ ;; + crisv32:Linux:*:*) +- echo ${UNAME_MACHINE}-axis-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-axis-linux-$LIBC ++ ;; + e2k:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + frv:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + hexagon:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + i*86:Linux:*:*) +- echo ${UNAME_MACHINE}-pc-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-linux-$LIBC ++ ;; + ia64:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + k1om:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; ++ kvx:Linux:*:*) ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; ++ kvx:cos:*:*) ++ GUESS=$UNAME_MACHINE-unknown-cos ++ ;; ++ kvx:mbr:*:*) ++ GUESS=$UNAME_MACHINE-unknown-mbr ++ ;; ++ loongarch32:Linux:*:* | loongarch64:Linux:*:*) ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + m32r*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + m68*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + mips:Linux:*:* | mips64:Linux:*:*) +- eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c ++ set_cc_for_build ++ IS_GLIBC=0 ++ test x"${LIBC}" = xgnu && IS_GLIBC=1 ++ sed 's/^ //' << EOF > "$dummy.c" + #undef CPU +- #undef ${UNAME_MACHINE} +- #undef ${UNAME_MACHINE}el ++ #undef mips ++ #undef mipsel ++ #undef mips64 ++ #undef mips64el ++ #if ${IS_GLIBC} && defined(_ABI64) ++ LIBCABI=gnuabi64 ++ #else ++ #if ${IS_GLIBC} && defined(_ABIN32) ++ LIBCABI=gnuabin32 ++ #else ++ LIBCABI=${LIBC} ++ #endif ++ #endif ++ ++ #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 ++ CPU=mipsisa64r6 ++ #else ++ #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 ++ CPU=mipsisa32r6 ++ #else ++ #if defined(__mips64) ++ CPU=mips64 ++ #else ++ CPU=mips ++ #endif ++ #endif ++ #endif ++ + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) +- CPU=${UNAME_MACHINE}el ++ MIPS_ENDIAN=el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) +- CPU=${UNAME_MACHINE} ++ MIPS_ENDIAN= + #else +- CPU= ++ MIPS_ENDIAN= + #endif + #endif + EOF +- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` +- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ++ cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` ++ eval "$cc_set_vars" ++ test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } + ;; + mips64el:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + openrisc*:Linux:*:*) +- echo or1k-unknown-linux-${LIBC} +- exit ;; ++ GUESS=or1k-unknown-linux-$LIBC ++ ;; + or32:Linux:*:* | or1k*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + padre:Linux:*:*) +- echo sparc-unknown-linux-${LIBC} +- exit ;; ++ GUESS=sparc-unknown-linux-$LIBC ++ ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) +- echo hppa64-unknown-linux-${LIBC} +- exit ;; ++ GUESS=hppa64-unknown-linux-$LIBC ++ ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in +- PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; +- PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; +- *) echo hppa-unknown-linux-${LIBC} ;; ++ PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; ++ PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; ++ *) GUESS=hppa-unknown-linux-$LIBC ;; + esac +- exit ;; ++ ;; + ppc64:Linux:*:*) +- echo powerpc64-unknown-linux-${LIBC} +- exit ;; ++ GUESS=powerpc64-unknown-linux-$LIBC ++ ;; + ppc:Linux:*:*) +- echo powerpc-unknown-linux-${LIBC} +- exit ;; ++ GUESS=powerpc-unknown-linux-$LIBC ++ ;; + ppc64le:Linux:*:*) +- echo powerpc64le-unknown-linux-${LIBC} +- exit ;; ++ GUESS=powerpc64le-unknown-linux-$LIBC ++ ;; + ppcle:Linux:*:*) +- echo powerpcle-unknown-linux-${LIBC} +- exit ;; +- riscv32:Linux:*:* | riscv64:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=powerpcle-unknown-linux-$LIBC ++ ;; ++ riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + s390:Linux:*:* | s390x:Linux:*:*) +- echo ${UNAME_MACHINE}-ibm-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-ibm-linux-$LIBC ++ ;; + sh64*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + sh*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + sparc:Linux:*:* | sparc64:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + tile*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + vax:Linux:*:*) +- echo ${UNAME_MACHINE}-dec-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-dec-linux-$LIBC ++ ;; + x86_64:Linux:*:*) +- echo ${UNAME_MACHINE}-pc-linux-${LIBC} +- exit ;; ++ set_cc_for_build ++ CPU=$UNAME_MACHINE ++ LIBCABI=$LIBC ++ if test "$CC_FOR_BUILD" != no_compiler_found; then ++ ABI=64 ++ sed 's/^ //' << EOF > "$dummy.c" ++ #ifdef __i386__ ++ ABI=x86 ++ #else ++ #ifdef __ILP32__ ++ ABI=x32 ++ #endif ++ #endif ++EOF ++ cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` ++ eval "$cc_set_abi" ++ case $ABI in ++ x86) CPU=i686 ;; ++ x32) LIBCABI=${LIBC}x32 ;; ++ esac ++ fi ++ GUESS=$CPU-pc-linux-$LIBCABI ++ ;; + xtensa*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. +- echo i386-sequent-sysv4 +- exit ;; ++ GUESS=i386-sequent-sysv4 ++ ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. +- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION ++ ;; + i*86:OS/2:*:*) +- # If we were able to find `uname', then EMX Unix compatibility ++ # If we were able to find 'uname', then EMX Unix compatibility + # is probably installed. +- echo ${UNAME_MACHINE}-pc-os2-emx +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-os2-emx ++ ;; + i*86:XTS-300:*:STOP) +- echo ${UNAME_MACHINE}-unknown-stop +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-stop ++ ;; + i*86:atheos:*:*) +- echo ${UNAME_MACHINE}-unknown-atheos +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-atheos ++ ;; + i*86:syllable:*:*) +- echo ${UNAME_MACHINE}-pc-syllable +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-syllable ++ ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) +- echo i386-unknown-lynxos${UNAME_RELEASE} +- exit ;; ++ GUESS=i386-unknown-lynxos$UNAME_RELEASE ++ ;; + i*86:*DOS:*:*) +- echo ${UNAME_MACHINE}-pc-msdosdjgpp +- exit ;; +- i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) +- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` ++ GUESS=$UNAME_MACHINE-pc-msdosdjgpp ++ ;; ++ i*86:*:4.*:*) ++ UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then +- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} ++ GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL + else +- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} ++ GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL + fi +- exit ;; ++ ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in +@@ -1115,12 +1266,12 @@ + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac +- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} ++ ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 +@@ -1130,11 +1281,11 @@ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 +- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL ++ GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL + else +- echo ${UNAME_MACHINE}-pc-sysv32 ++ GUESS=$UNAME_MACHINE-pc-sysv32 + fi +- exit ;; ++ ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about +@@ -1142,31 +1293,31 @@ + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configure will decide that + # this is a cross-build. +- echo i586-pc-msdosdjgpp +- exit ;; ++ GUESS=i586-pc-msdosdjgpp ++ ;; + Intel:Mach:3*:*) +- echo i386-pc-mach3 +- exit ;; ++ GUESS=i386-pc-mach3 ++ ;; + paragon:*:*:*) +- echo i860-intel-osf1 +- exit ;; ++ GUESS=i860-intel-osf1 ++ ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then +- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 ++ GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. +- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 ++ GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 + fi +- exit ;; ++ ;; + mini*:CTIX:SYS*5:*) + # "miniframe" +- echo m68010-convergent-sysv +- exit ;; ++ GUESS=m68010-convergent-sysv ++ ;; + mc68k:UNIX:SYSTEM5:3.51m) +- echo m68k-convergent-sysv +- exit ;; ++ GUESS=m68k-convergent-sysv ++ ;; + M680?0:D-NIX:5.3:*) +- echo m68k-diab-dnix +- exit ;; ++ GUESS=m68k-diab-dnix ++ ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) +@@ -1174,9 +1325,9 @@ + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ +- && { echo i486-ncr-sysv4.3${OS_REL}; exit; } ++ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ +- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; ++ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; +@@ -1185,260 +1336,444 @@ + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ +- && { echo i486-ncr-sysv4.3${OS_REL}; exit; } ++ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ +- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ++ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ +- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; ++ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) +- echo m68k-unknown-lynxos${UNAME_RELEASE} +- exit ;; ++ GUESS=m68k-unknown-lynxos$UNAME_RELEASE ++ ;; + mc68030:UNIX_System_V:4.*:*) +- echo m68k-atari-sysv4 +- exit ;; ++ GUESS=m68k-atari-sysv4 ++ ;; + TSUNAMI:LynxOS:2.*:*) +- echo sparc-unknown-lynxos${UNAME_RELEASE} +- exit ;; ++ GUESS=sparc-unknown-lynxos$UNAME_RELEASE ++ ;; + rs6000:LynxOS:2.*:*) +- echo rs6000-unknown-lynxos${UNAME_RELEASE} +- exit ;; ++ GUESS=rs6000-unknown-lynxos$UNAME_RELEASE ++ ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) +- echo powerpc-unknown-lynxos${UNAME_RELEASE} +- exit ;; ++ GUESS=powerpc-unknown-lynxos$UNAME_RELEASE ++ ;; + SM[BE]S:UNIX_SV:*:*) +- echo mips-dde-sysv${UNAME_RELEASE} +- exit ;; ++ GUESS=mips-dde-sysv$UNAME_RELEASE ++ ;; + RM*:ReliantUNIX-*:*:*) +- echo mips-sni-sysv4 +- exit ;; ++ GUESS=mips-sni-sysv4 ++ ;; + RM*:SINIX-*:*:*) +- echo mips-sni-sysv4 +- exit ;; ++ GUESS=mips-sni-sysv4 ++ ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` +- echo ${UNAME_MACHINE}-sni-sysv4 ++ GUESS=$UNAME_MACHINE-sni-sysv4 + else +- echo ns32k-sni-sysv ++ GUESS=ns32k-sni-sysv + fi +- exit ;; +- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort ++ ;; ++ PENTIUM:*:4.0*:*) # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort + # says +- echo i586-unisys-sysv4 +- exit ;; ++ GUESS=i586-unisys-sysv4 ++ ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm +- echo hppa1.1-stratus-sysv4 +- exit ;; ++ GUESS=hppa1.1-stratus-sysv4 ++ ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. +- echo i860-stratus-sysv4 +- exit ;; ++ GUESS=i860-stratus-sysv4 ++ ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. +- echo ${UNAME_MACHINE}-stratus-vos +- exit ;; ++ GUESS=$UNAME_MACHINE-stratus-vos ++ ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. +- echo hppa1.1-stratus-vos +- exit ;; ++ GUESS=hppa1.1-stratus-vos ++ ;; + mc68*:A/UX:*:*) +- echo m68k-apple-aux${UNAME_RELEASE} +- exit ;; ++ GUESS=m68k-apple-aux$UNAME_RELEASE ++ ;; + news*:NEWS-OS:6*:*) +- echo mips-sony-newsos6 +- exit ;; ++ GUESS=mips-sony-newsos6 ++ ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) +- if [ -d /usr/nec ]; then +- echo mips-nec-sysv${UNAME_RELEASE} ++ if test -d /usr/nec; then ++ GUESS=mips-nec-sysv$UNAME_RELEASE + else +- echo mips-unknown-sysv${UNAME_RELEASE} ++ GUESS=mips-unknown-sysv$UNAME_RELEASE + fi +- exit ;; ++ ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. +- echo powerpc-be-beos +- exit ;; ++ GUESS=powerpc-be-beos ++ ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. +- echo powerpc-apple-beos +- exit ;; ++ GUESS=powerpc-apple-beos ++ ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. +- echo i586-pc-beos +- exit ;; ++ GUESS=i586-pc-beos ++ ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. +- echo i586-pc-haiku +- exit ;; +- x86_64:Haiku:*:*) +- echo x86_64-unknown-haiku +- exit ;; ++ GUESS=i586-pc-haiku ++ ;; ++ ppc:Haiku:*:*) # Haiku running on Apple PowerPC ++ GUESS=powerpc-apple-haiku ++ ;; ++ *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat) ++ GUESS=$UNAME_MACHINE-unknown-haiku ++ ;; + SX-4:SUPER-UX:*:*) +- echo sx4-nec-superux${UNAME_RELEASE} +- exit ;; ++ GUESS=sx4-nec-superux$UNAME_RELEASE ++ ;; + SX-5:SUPER-UX:*:*) +- echo sx5-nec-superux${UNAME_RELEASE} +- exit ;; ++ GUESS=sx5-nec-superux$UNAME_RELEASE ++ ;; + SX-6:SUPER-UX:*:*) +- echo sx6-nec-superux${UNAME_RELEASE} +- exit ;; ++ GUESS=sx6-nec-superux$UNAME_RELEASE ++ ;; + SX-7:SUPER-UX:*:*) +- echo sx7-nec-superux${UNAME_RELEASE} +- exit ;; ++ GUESS=sx7-nec-superux$UNAME_RELEASE ++ ;; + SX-8:SUPER-UX:*:*) +- echo sx8-nec-superux${UNAME_RELEASE} +- exit ;; ++ GUESS=sx8-nec-superux$UNAME_RELEASE ++ ;; + SX-8R:SUPER-UX:*:*) +- echo sx8r-nec-superux${UNAME_RELEASE} +- exit ;; ++ GUESS=sx8r-nec-superux$UNAME_RELEASE ++ ;; + SX-ACE:SUPER-UX:*:*) +- echo sxace-nec-superux${UNAME_RELEASE} +- exit ;; ++ GUESS=sxace-nec-superux$UNAME_RELEASE ++ ;; + Power*:Rhapsody:*:*) +- echo powerpc-apple-rhapsody${UNAME_RELEASE} +- exit ;; ++ GUESS=powerpc-apple-rhapsody$UNAME_RELEASE ++ ;; + *:Rhapsody:*:*) +- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE ++ ;; ++ arm64:Darwin:*:*) ++ GUESS=aarch64-apple-darwin$UNAME_RELEASE ++ ;; + *:Darwin:*:*) +- UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown +- eval $set_cc_for_build +- if test "$UNAME_PROCESSOR" = unknown ; then +- UNAME_PROCESSOR=powerpc ++ UNAME_PROCESSOR=`uname -p` ++ case $UNAME_PROCESSOR in ++ unknown) UNAME_PROCESSOR=powerpc ;; ++ esac ++ if command -v xcode-select > /dev/null 2> /dev/null && \ ++ ! xcode-select --print-path > /dev/null 2> /dev/null ; then ++ # Avoid executing cc if there is no toolchain installed as ++ # cc will be a stub that puts up a graphical alert ++ # prompting the user to install developer tools. ++ CC_FOR_BUILD=no_compiler_found ++ else ++ set_cc_for_build + fi +- if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then +- if [ "$CC_FOR_BUILD" != no_compiler_found ]; then +- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ +- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ +- grep IS_64BIT_ARCH >/dev/null +- then +- case $UNAME_PROCESSOR in +- i386) UNAME_PROCESSOR=x86_64 ;; +- powerpc) UNAME_PROCESSOR=powerpc64 ;; +- esac +- fi +- # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc +- if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ +- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ +- grep IS_PPC >/dev/null +- then +- UNAME_PROCESSOR=powerpc +- fi ++ if test "$CC_FOR_BUILD" != no_compiler_found; then ++ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ ++ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ ++ grep IS_64BIT_ARCH >/dev/null ++ then ++ case $UNAME_PROCESSOR in ++ i386) UNAME_PROCESSOR=x86_64 ;; ++ powerpc) UNAME_PROCESSOR=powerpc64 ;; ++ esac + fi ++ # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc ++ if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ ++ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ ++ grep IS_PPC >/dev/null ++ then ++ UNAME_PROCESSOR=powerpc ++ fi + elif test "$UNAME_PROCESSOR" = i386 ; then +- # Avoid executing cc on OS X 10.9, as it ships with a stub +- # that puts up a graphical alert prompting to install +- # developer tools. Any system running Mac OS X 10.7 or +- # later (Darwin 11 and later) is required to have a 64-bit +- # processor. This is not true of the ARM version of Darwin +- # that Apple uses in portable devices. +- UNAME_PROCESSOR=x86_64 ++ # uname -m returns i386 or x86_64 ++ UNAME_PROCESSOR=$UNAME_MACHINE + fi +- echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE ++ ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = x86; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi +- echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE ++ ;; + *:QNX:*:4*) +- echo i386-pc-qnx +- exit ;; ++ GUESS=i386-pc-qnx ++ ;; + NEO-*:NONSTOP_KERNEL:*:*) +- echo neo-tandem-nsk${UNAME_RELEASE} +- exit ;; ++ GUESS=neo-tandem-nsk$UNAME_RELEASE ++ ;; + NSE-*:NONSTOP_KERNEL:*:*) +- echo nse-tandem-nsk${UNAME_RELEASE} +- exit ;; ++ GUESS=nse-tandem-nsk$UNAME_RELEASE ++ ;; + NSR-*:NONSTOP_KERNEL:*:*) +- echo nsr-tandem-nsk${UNAME_RELEASE} +- exit ;; ++ GUESS=nsr-tandem-nsk$UNAME_RELEASE ++ ;; ++ NSV-*:NONSTOP_KERNEL:*:*) ++ GUESS=nsv-tandem-nsk$UNAME_RELEASE ++ ;; + NSX-*:NONSTOP_KERNEL:*:*) +- echo nsx-tandem-nsk${UNAME_RELEASE} +- exit ;; ++ GUESS=nsx-tandem-nsk$UNAME_RELEASE ++ ;; + *:NonStop-UX:*:*) +- echo mips-compaq-nonstopux +- exit ;; ++ GUESS=mips-compaq-nonstopux ++ ;; + BS2000:POSIX*:*:*) +- echo bs2000-siemens-sysv +- exit ;; ++ GUESS=bs2000-siemens-sysv ++ ;; + DS/*:UNIX_System_V:*:*) +- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE ++ ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. +- if test "$cputype" = 386; then ++ if test "${cputype-}" = 386; then + UNAME_MACHINE=i386 +- else +- UNAME_MACHINE="$cputype" ++ elif test "x${cputype-}" != x; then ++ UNAME_MACHINE=$cputype + fi +- echo ${UNAME_MACHINE}-unknown-plan9 +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-plan9 ++ ;; + *:TOPS-10:*:*) +- echo pdp10-unknown-tops10 +- exit ;; ++ GUESS=pdp10-unknown-tops10 ++ ;; + *:TENEX:*:*) +- echo pdp10-unknown-tenex +- exit ;; ++ GUESS=pdp10-unknown-tenex ++ ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) +- echo pdp10-dec-tops20 +- exit ;; ++ GUESS=pdp10-dec-tops20 ++ ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) +- echo pdp10-xkl-tops20 +- exit ;; ++ GUESS=pdp10-xkl-tops20 ++ ;; + *:TOPS-20:*:*) +- echo pdp10-unknown-tops20 +- exit ;; ++ GUESS=pdp10-unknown-tops20 ++ ;; + *:ITS:*:*) +- echo pdp10-unknown-its +- exit ;; ++ GUESS=pdp10-unknown-its ++ ;; + SEI:*:*:SEIUX) +- echo mips-sei-seiux${UNAME_RELEASE} +- exit ;; ++ GUESS=mips-sei-seiux$UNAME_RELEASE ++ ;; + *:DragonFly:*:*) +- echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` +- exit ;; ++ DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` ++ GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL ++ ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` +- case "${UNAME_MACHINE}" in +- A*) echo alpha-dec-vms ; exit ;; +- I*) echo ia64-dec-vms ; exit ;; +- V*) echo vax-dec-vms ; exit ;; ++ case $UNAME_MACHINE in ++ A*) GUESS=alpha-dec-vms ;; ++ I*) GUESS=ia64-dec-vms ;; ++ V*) GUESS=vax-dec-vms ;; + esac ;; + *:XENIX:*:SysV) +- echo i386-pc-xenix +- exit ;; ++ GUESS=i386-pc-xenix ++ ;; + i*86:skyos:*:*) +- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` +- exit ;; ++ SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` ++ GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL ++ ;; + i*86:rdos:*:*) +- echo ${UNAME_MACHINE}-pc-rdos +- exit ;; +- i*86:AROS:*:*) +- echo ${UNAME_MACHINE}-pc-aros +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-rdos ++ ;; ++ i*86:Fiwix:*:*) ++ GUESS=$UNAME_MACHINE-pc-fiwix ++ ;; ++ *:AROS:*:*) ++ GUESS=$UNAME_MACHINE-unknown-aros ++ ;; + x86_64:VMkernel:*:*) +- echo ${UNAME_MACHINE}-unknown-esx +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-esx ++ ;; + amd64:Isilon\ OneFS:*:*) +- echo x86_64-unknown-onefs +- exit ;; ++ GUESS=x86_64-unknown-onefs ++ ;; ++ *:Unleashed:*:*) ++ GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE ++ ;; ++ *:Ironclad:*:*) ++ GUESS=$UNAME_MACHINE-unknown-ironclad ++ ;; + esac + ++# Do we have a guess based on uname results? ++if test "x$GUESS" != x; then ++ echo "$GUESS" ++ exit ++fi ++ ++# No uname command or uname output not recognized. ++set_cc_for_build ++cat > "$dummy.c" < ++#include ++#endif ++#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) ++#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) ++#include ++#if defined(_SIZE_T_) || defined(SIGLOST) ++#include ++#endif ++#endif ++#endif ++main () ++{ ++#if defined (sony) ++#if defined (MIPSEB) ++ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, ++ I don't know.... */ ++ printf ("mips-sony-bsd\n"); exit (0); ++#else ++#include ++ printf ("m68k-sony-newsos%s\n", ++#ifdef NEWSOS4 ++ "4" ++#else ++ "" ++#endif ++ ); exit (0); ++#endif ++#endif ++ ++#if defined (NeXT) ++#if !defined (__ARCHITECTURE__) ++#define __ARCHITECTURE__ "m68k" ++#endif ++ int version; ++ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; ++ if (version < 4) ++ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); ++ else ++ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); ++ exit (0); ++#endif ++ ++#if defined (MULTIMAX) || defined (n16) ++#if defined (UMAXV) ++ printf ("ns32k-encore-sysv\n"); exit (0); ++#else ++#if defined (CMU) ++ printf ("ns32k-encore-mach\n"); exit (0); ++#else ++ printf ("ns32k-encore-bsd\n"); exit (0); ++#endif ++#endif ++#endif ++ ++#if defined (__386BSD__) ++ printf ("i386-pc-bsd\n"); exit (0); ++#endif ++ ++#if defined (sequent) ++#if defined (i386) ++ printf ("i386-sequent-dynix\n"); exit (0); ++#endif ++#if defined (ns32000) ++ printf ("ns32k-sequent-dynix\n"); exit (0); ++#endif ++#endif ++ ++#if defined (_SEQUENT_) ++ struct utsname un; ++ ++ uname(&un); ++ if (strncmp(un.version, "V2", 2) == 0) { ++ printf ("i386-sequent-ptx2\n"); exit (0); ++ } ++ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ ++ printf ("i386-sequent-ptx1\n"); exit (0); ++ } ++ printf ("i386-sequent-ptx\n"); exit (0); ++#endif ++ ++#if defined (vax) ++#if !defined (ultrix) ++#include ++#if defined (BSD) ++#if BSD == 43 ++ printf ("vax-dec-bsd4.3\n"); exit (0); ++#else ++#if BSD == 199006 ++ printf ("vax-dec-bsd4.3reno\n"); exit (0); ++#else ++ printf ("vax-dec-bsd\n"); exit (0); ++#endif ++#endif ++#else ++ printf ("vax-dec-bsd\n"); exit (0); ++#endif ++#else ++#if defined(_SIZE_T_) || defined(SIGLOST) ++ struct utsname un; ++ uname (&un); ++ printf ("vax-dec-ultrix%s\n", un.release); exit (0); ++#else ++ printf ("vax-dec-ultrix\n"); exit (0); ++#endif ++#endif ++#endif ++#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) ++#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) ++#if defined(_SIZE_T_) || defined(SIGLOST) ++ struct utsname *un; ++ uname (&un); ++ printf ("mips-dec-ultrix%s\n", un.release); exit (0); ++#else ++ printf ("mips-dec-ultrix\n"); exit (0); ++#endif ++#endif ++#endif ++ ++#if defined (alliant) && defined (i860) ++ printf ("i860-alliant-bsd\n"); exit (0); ++#endif ++ ++ exit (1); ++} ++EOF ++ ++$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && ++ { echo "$SYSTEM_NAME"; exit; } ++ ++# Apollos put the system type in the environment. ++test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } ++ ++echo "$0: unable to guess system type" >&2 ++ ++case $UNAME_MACHINE:$UNAME_SYSTEM in ++ mips:Linux | mips64:Linux) ++ # If we got here on MIPS GNU/Linux, output extra information. ++ cat >&2 <&2 <&2 </dev/null` + /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +-UNAME_MACHINE = ${UNAME_MACHINE} +-UNAME_RELEASE = ${UNAME_RELEASE} +-UNAME_SYSTEM = ${UNAME_SYSTEM} +-UNAME_VERSION = ${UNAME_VERSION} ++UNAME_MACHINE = "$UNAME_MACHINE" ++UNAME_RELEASE = "$UNAME_RELEASE" ++UNAME_SYSTEM = "$UNAME_SYSTEM" ++UNAME_VERSION = "$UNAME_VERSION" + EOF ++fi + + exit 1 + + # Local variables: +-# eval: (add-hook 'write-file-hooks 'time-stamp) ++# eval: (add-hook 'before-save-hook 'time-stamp) + # time-stamp-start: "timestamp='" + # time-stamp-format: "%:y-%02m-%02d" + # time-stamp-end: "'" +diff --color -urN a/crlibm-1.0beta4/config.sub b/crlibm-1.0beta4/config.sub +--- a/crlibm-1.0beta4/config.sub 2024-12-06 13:32:36 ++++ b/crlibm-1.0beta4/config.sub 2024-12-06 13:33:04 +@@ -1,12 +1,14 @@ +-#!/bin/sh ++#! /bin/sh + # Configuration validation subroutine script. +-# Copyright 1992-2017 Free Software Foundation, Inc. ++# Copyright 1992-2024 Free Software Foundation, Inc. + +-timestamp='2017-04-02' ++# shellcheck disable=SC2006,SC2268 # see below for rationale + ++timestamp='2024-01-01' ++ + # This file is free software; you can redistribute it and/or modify it + # under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 3 of the License, or ++# the Free Software Foundation, either version 3 of the License, or + # (at your option) any later version. + # + # This program is distributed in the hope that it will be useful, but +@@ -15,7 +17,7 @@ + # General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, see . ++# along with this program; if not, see . + # + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a +@@ -33,7 +35,7 @@ + # Otherwise, we print the canonical config type on stdout and succeed. + + # You can get the latest version of this script from: +-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub ++# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub + + # This file is supposed to be the same for all GNU packages + # and recognize all the CPU types, system types and aliases +@@ -50,6 +52,13 @@ + # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM + # It is wrong to echo any other type of specification. + ++# The "shellcheck disable" line above the timestamp inhibits complaints ++# about features and limitations of the classic Bourne shell that were ++# superseded or lifted in POSIX. However, this script identifies a wide ++# variety of pre-POSIX systems that do not have POSIX shells at all, and ++# even some reasonably current systems (Solaris 10 as case-in-point) still ++# have a pre-POSIX /bin/sh. ++ + me=`echo "$0" | sed -e 's,.*/,,'` + + usage="\ +@@ -57,7 +66,7 @@ + + Canonicalize a configuration name. + +-Operation modes: ++Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit +@@ -67,13 +76,13 @@ + version="\ + GNU config.sub ($timestamp) + +-Copyright 1992-2017 Free Software Foundation, Inc. ++Copyright 1992-2024 Free Software Foundation, Inc. + + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + + help=" +-Try \`$me --help' for more information." ++Try '$me --help' for more information." + + # Parse command line + while test $# -gt 0 ; do +@@ -89,12 +98,12 @@ + - ) # Use stdin as input. + break ;; + -* ) +- echo "$me: invalid option $1$help" ++ echo "$me: invalid option $1$help" >&2 + exit 1 ;; + + *local*) + # First pass through any local machine types. +- echo $1 ++ echo "$1" + exit ;; + + * ) +@@ -110,1252 +119,1167 @@ + exit 1;; + esac + +-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +-# Here we must recognize all the valid KERNEL-OS combinations. +-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +-case $maybe_os in +- nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ +- linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ +- knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ +- kopensolaris*-gnu* | cloudabi*-eabi* | \ +- storm-chaos* | os2-emx* | rtmk-nova*) +- os=-$maybe_os +- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` +- ;; +- android-linux) +- os=-linux-android +- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown +- ;; +- *) +- basic_machine=`echo $1 | sed 's/-[^-]*$//'` +- if [ $basic_machine != $1 ] +- then os=`echo $1 | sed 's/.*-/-/'` +- else os=; fi +- ;; +-esac ++# Split fields of configuration type ++# shellcheck disable=SC2162 ++saved_IFS=$IFS ++IFS="-" read field1 field2 field3 field4 <&2 ++ exit 1 + ;; +- -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ +- -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ +- -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ +- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ +- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ +- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ +- -apple | -axis | -knuth | -cray | -microblaze*) +- os= +- basic_machine=$1 ++ *-*-*-*) ++ basic_machine=$field1-$field2 ++ basic_os=$field3-$field4 + ;; +- -bluegene*) +- os=-cnk ++ *-*-*) ++ # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two ++ # parts ++ maybe_os=$field2-$field3 ++ case $maybe_os 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* | managarm-* \ ++ | windows-* ) ++ basic_machine=$field1 ++ basic_os=$maybe_os ++ ;; ++ android-linux) ++ basic_machine=$field1-unknown ++ basic_os=linux-android ++ ;; ++ *) ++ basic_machine=$field1-$field2 ++ basic_os=$field3 ++ ;; ++ esac + ;; +- -sim | -cisco | -oki | -wec | -winbond) +- os= +- basic_machine=$1 ++ *-*) ++ # A lone config we happen to match not fitting any pattern ++ case $field1-$field2 in ++ decstation-3100) ++ basic_machine=mips-dec ++ basic_os= ++ ;; ++ *-*) ++ # Second component is usually, but not always the OS ++ case $field2 in ++ # Prevent following clause from handling this valid os ++ sun*os*) ++ basic_machine=$field1 ++ basic_os=$field2 ++ ;; ++ zephyr*) ++ basic_machine=$field1-unknown ++ basic_os=$field2 ++ ;; ++ # Manufacturers ++ dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ ++ | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ ++ | unicom* | ibm* | next | hp | isi* | apollo | altos* \ ++ | convergent* | ncr* | news | 32* | 3600* | 3100* \ ++ | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ ++ | ultra | tti* | harris | dolphin | highlevel | gould \ ++ | cbm | ns | masscomp | apple | axis | knuth | cray \ ++ | microblaze* | sim | cisco \ ++ | oki | wec | wrs | winbond) ++ basic_machine=$field1-$field2 ++ basic_os= ++ ;; ++ *) ++ basic_machine=$field1 ++ basic_os=$field2 ++ ;; ++ esac ++ ;; ++ esac + ;; +- -scout) ++ *) ++ # Convert single-component short-hands not valid as part of ++ # multi-component configurations. ++ case $field1 in ++ 386bsd) ++ basic_machine=i386-pc ++ basic_os=bsd ++ ;; ++ a29khif) ++ basic_machine=a29k-amd ++ basic_os=udi ++ ;; ++ adobe68k) ++ basic_machine=m68010-adobe ++ basic_os=scout ++ ;; ++ alliant) ++ basic_machine=fx80-alliant ++ basic_os= ++ ;; ++ altos | altos3068) ++ basic_machine=m68k-altos ++ basic_os= ++ ;; ++ am29k) ++ basic_machine=a29k-none ++ basic_os=bsd ++ ;; ++ amdahl) ++ basic_machine=580-amdahl ++ basic_os=sysv ++ ;; ++ amiga) ++ basic_machine=m68k-unknown ++ basic_os= ++ ;; ++ amigaos | amigados) ++ basic_machine=m68k-unknown ++ basic_os=amigaos ++ ;; ++ amigaunix | amix) ++ basic_machine=m68k-unknown ++ basic_os=sysv4 ++ ;; ++ apollo68) ++ basic_machine=m68k-apollo ++ basic_os=sysv ++ ;; ++ apollo68bsd) ++ basic_machine=m68k-apollo ++ basic_os=bsd ++ ;; ++ aros) ++ basic_machine=i386-pc ++ basic_os=aros ++ ;; ++ aux) ++ basic_machine=m68k-apple ++ basic_os=aux ++ ;; ++ balance) ++ basic_machine=ns32k-sequent ++ basic_os=dynix ++ ;; ++ blackfin) ++ basic_machine=bfin-unknown ++ basic_os=linux ++ ;; ++ cegcc) ++ basic_machine=arm-unknown ++ basic_os=cegcc ++ ;; ++ convex-c1) ++ basic_machine=c1-convex ++ basic_os=bsd ++ ;; ++ convex-c2) ++ basic_machine=c2-convex ++ basic_os=bsd ++ ;; ++ convex-c32) ++ basic_machine=c32-convex ++ basic_os=bsd ++ ;; ++ convex-c34) ++ basic_machine=c34-convex ++ basic_os=bsd ++ ;; ++ convex-c38) ++ basic_machine=c38-convex ++ basic_os=bsd ++ ;; ++ cray) ++ basic_machine=j90-cray ++ basic_os=unicos ++ ;; ++ crds | unos) ++ basic_machine=m68k-crds ++ basic_os= ++ ;; ++ da30) ++ basic_machine=m68k-da30 ++ basic_os= ++ ;; ++ decstation | pmax | pmin | dec3100 | decstatn) ++ basic_machine=mips-dec ++ basic_os= ++ ;; ++ delta88) ++ basic_machine=m88k-motorola ++ basic_os=sysv3 ++ ;; ++ dicos) ++ basic_machine=i686-pc ++ basic_os=dicos ++ ;; ++ djgpp) ++ basic_machine=i586-pc ++ basic_os=msdosdjgpp ++ ;; ++ ebmon29k) ++ basic_machine=a29k-amd ++ basic_os=ebmon ++ ;; ++ es1800 | OSE68k | ose68k | ose | OSE) ++ basic_machine=m68k-ericsson ++ basic_os=ose ++ ;; ++ gmicro) ++ basic_machine=tron-gmicro ++ basic_os=sysv ++ ;; ++ go32) ++ basic_machine=i386-pc ++ basic_os=go32 ++ ;; ++ h8300hms) ++ basic_machine=h8300-hitachi ++ basic_os=hms ++ ;; ++ h8300xray) ++ basic_machine=h8300-hitachi ++ basic_os=xray ++ ;; ++ h8500hms) ++ basic_machine=h8500-hitachi ++ basic_os=hms ++ ;; ++ harris) ++ basic_machine=m88k-harris ++ basic_os=sysv3 ++ ;; ++ hp300 | hp300hpux) ++ basic_machine=m68k-hp ++ basic_os=hpux ++ ;; ++ hp300bsd) ++ basic_machine=m68k-hp ++ basic_os=bsd ++ ;; ++ hppaosf) ++ basic_machine=hppa1.1-hp ++ basic_os=osf ++ ;; ++ hppro) ++ basic_machine=hppa1.1-hp ++ basic_os=proelf ++ ;; ++ i386mach) ++ basic_machine=i386-mach ++ basic_os=mach ++ ;; ++ isi68 | isi) ++ basic_machine=m68k-isi ++ basic_os=sysv ++ ;; ++ m68knommu) ++ basic_machine=m68k-unknown ++ basic_os=linux ++ ;; ++ magnum | m3230) ++ basic_machine=mips-mips ++ basic_os=sysv ++ ;; ++ merlin) ++ basic_machine=ns32k-utek ++ basic_os=sysv ++ ;; ++ mingw64) ++ basic_machine=x86_64-pc ++ basic_os=mingw64 ++ ;; ++ mingw32) ++ basic_machine=i686-pc ++ basic_os=mingw32 ++ ;; ++ mingw32ce) ++ basic_machine=arm-unknown ++ basic_os=mingw32ce ++ ;; ++ monitor) ++ basic_machine=m68k-rom68k ++ basic_os=coff ++ ;; ++ morphos) ++ basic_machine=powerpc-unknown ++ basic_os=morphos ++ ;; ++ moxiebox) ++ basic_machine=moxie-unknown ++ basic_os=moxiebox ++ ;; ++ msdos) ++ basic_machine=i386-pc ++ basic_os=msdos ++ ;; ++ msys) ++ basic_machine=i686-pc ++ basic_os=msys ++ ;; ++ mvs) ++ basic_machine=i370-ibm ++ basic_os=mvs ++ ;; ++ nacl) ++ basic_machine=le32-unknown ++ basic_os=nacl ++ ;; ++ ncr3000) ++ basic_machine=i486-ncr ++ basic_os=sysv4 ++ ;; ++ netbsd386) ++ basic_machine=i386-pc ++ basic_os=netbsd ++ ;; ++ netwinder) ++ basic_machine=armv4l-rebel ++ basic_os=linux ++ ;; ++ news | news700 | news800 | news900) ++ basic_machine=m68k-sony ++ basic_os=newsos ++ ;; ++ news1000) ++ basic_machine=m68030-sony ++ basic_os=newsos ++ ;; ++ necv70) ++ basic_machine=v70-nec ++ basic_os=sysv ++ ;; ++ nh3000) ++ basic_machine=m68k-harris ++ basic_os=cxux ++ ;; ++ nh[45]000) ++ basic_machine=m88k-harris ++ basic_os=cxux ++ ;; ++ nindy960) ++ basic_machine=i960-intel ++ basic_os=nindy ++ ;; ++ mon960) ++ basic_machine=i960-intel ++ basic_os=mon960 ++ ;; ++ nonstopux) ++ basic_machine=mips-compaq ++ basic_os=nonstopux ++ ;; ++ os400) ++ basic_machine=powerpc-ibm ++ basic_os=os400 ++ ;; ++ OSE68000 | ose68000) ++ basic_machine=m68000-ericsson ++ basic_os=ose ++ ;; ++ os68k) ++ basic_machine=m68k-none ++ basic_os=os68k ++ ;; ++ paragon) ++ basic_machine=i860-intel ++ basic_os=osf ++ ;; ++ parisc) ++ basic_machine=hppa-unknown ++ basic_os=linux ++ ;; ++ psp) ++ basic_machine=mipsallegrexel-sony ++ basic_os=psp ++ ;; ++ pw32) ++ basic_machine=i586-unknown ++ basic_os=pw32 ++ ;; ++ rdos | rdos64) ++ basic_machine=x86_64-pc ++ basic_os=rdos ++ ;; ++ rdos32) ++ basic_machine=i386-pc ++ basic_os=rdos ++ ;; ++ rom68k) ++ basic_machine=m68k-rom68k ++ basic_os=coff ++ ;; ++ sa29200) ++ basic_machine=a29k-amd ++ basic_os=udi ++ ;; ++ sei) ++ basic_machine=mips-sei ++ basic_os=seiux ++ ;; ++ sequent) ++ basic_machine=i386-sequent ++ basic_os= ++ ;; ++ sps7) ++ basic_machine=m68k-bull ++ basic_os=sysv2 ++ ;; ++ st2000) ++ basic_machine=m68k-tandem ++ basic_os= ++ ;; ++ stratus) ++ basic_machine=i860-stratus ++ basic_os=sysv4 ++ ;; ++ sun2) ++ basic_machine=m68000-sun ++ basic_os= ++ ;; ++ sun2os3) ++ basic_machine=m68000-sun ++ basic_os=sunos3 ++ ;; ++ sun2os4) ++ basic_machine=m68000-sun ++ basic_os=sunos4 ++ ;; ++ sun3) ++ basic_machine=m68k-sun ++ basic_os= ++ ;; ++ sun3os3) ++ basic_machine=m68k-sun ++ basic_os=sunos3 ++ ;; ++ sun3os4) ++ basic_machine=m68k-sun ++ basic_os=sunos4 ++ ;; ++ sun4) ++ basic_machine=sparc-sun ++ basic_os= ++ ;; ++ sun4os3) ++ basic_machine=sparc-sun ++ basic_os=sunos3 ++ ;; ++ sun4os4) ++ basic_machine=sparc-sun ++ basic_os=sunos4 ++ ;; ++ sun4sol2) ++ basic_machine=sparc-sun ++ basic_os=solaris2 ++ ;; ++ sun386 | sun386i | roadrunner) ++ basic_machine=i386-sun ++ basic_os= ++ ;; ++ sv1) ++ basic_machine=sv1-cray ++ basic_os=unicos ++ ;; ++ symmetry) ++ basic_machine=i386-sequent ++ basic_os=dynix ++ ;; ++ t3e) ++ basic_machine=alphaev5-cray ++ basic_os=unicos ++ ;; ++ t90) ++ basic_machine=t90-cray ++ basic_os=unicos ++ ;; ++ toad1) ++ basic_machine=pdp10-xkl ++ basic_os=tops20 ++ ;; ++ tpf) ++ basic_machine=s390x-ibm ++ basic_os=tpf ++ ;; ++ udi29k) ++ basic_machine=a29k-amd ++ basic_os=udi ++ ;; ++ ultra3) ++ basic_machine=a29k-nyu ++ basic_os=sym1 ++ ;; ++ v810 | necv810) ++ basic_machine=v810-nec ++ basic_os=none ++ ;; ++ vaxv) ++ basic_machine=vax-dec ++ basic_os=sysv ++ ;; ++ vms) ++ basic_machine=vax-dec ++ basic_os=vms ++ ;; ++ vsta) ++ basic_machine=i386-pc ++ basic_os=vsta ++ ;; ++ vxworks960) ++ basic_machine=i960-wrs ++ basic_os=vxworks ++ ;; ++ vxworks68) ++ basic_machine=m68k-wrs ++ basic_os=vxworks ++ ;; ++ vxworks29k) ++ basic_machine=a29k-wrs ++ basic_os=vxworks ++ ;; ++ xbox) ++ basic_machine=i686-pc ++ basic_os=mingw32 ++ ;; ++ ymp) ++ basic_machine=ymp-cray ++ basic_os=unicos ++ ;; ++ *) ++ basic_machine=$1 ++ basic_os= ++ ;; ++ esac + ;; +- -wrs) +- os=-vxworks +- basic_machine=$1 +- ;; +- -chorusos*) +- os=-chorusos +- basic_machine=$1 +- ;; +- -chorusrdb) +- os=-chorusrdb +- basic_machine=$1 +- ;; +- -hiux*) +- os=-hiuxwe2 +- ;; +- -sco6) +- os=-sco5v6 +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +- ;; +- -sco5) +- os=-sco3.2v5 +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +- ;; +- -sco4) +- os=-sco3.2v4 +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +- ;; +- -sco3.2.[4-9]*) +- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +- ;; +- -sco3.2v[4-9]*) +- # Don't forget version if it is 3.2v4 or newer. +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +- ;; +- -sco5v6*) +- # Don't forget version if it is 3.2v4 or newer. +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +- ;; +- -sco*) +- os=-sco3.2v2 +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +- ;; +- -udk*) +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +- ;; +- -isc) +- os=-isc2.2 +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +- ;; +- -clix*) +- basic_machine=clipper-intergraph +- ;; +- -isc*) +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +- ;; +- -lynx*178) +- os=-lynxos178 +- ;; +- -lynx*5) +- os=-lynxos5 +- ;; +- -lynx*) +- os=-lynxos +- ;; +- -ptx*) +- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` +- ;; +- -windowsnt*) +- os=`echo $os | sed -e 's/windowsnt/winnt/'` +- ;; +- -psos*) +- os=-psos +- ;; +- -mint | -mint[0-9]*) +- basic_machine=m68k-atari +- os=-mint +- ;; + esac + +-# Decode aliases for certain CPU-COMPANY combinations. ++# Decode 1-component or ad-hoc basic machines + case $basic_machine in +- # Recognize the basic CPU types without company name. +- # Some are omitted here because they have special meanings below. +- 1750a | 580 \ +- | a29k \ +- | aarch64 | aarch64_be \ +- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ +- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ +- | am33_2.0 \ +- | arc | arceb \ +- | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ +- | avr | avr32 \ +- | ba \ +- | be32 | be64 \ +- | bfin \ +- | c4x | c8051 | clipper \ +- | d10v | d30v | dlx | dsp16xx \ +- | e2k | epiphany \ +- | fido | fr30 | frv | ft32 \ +- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ +- | hexagon \ +- | i370 | i860 | i960 | ia16 | ia64 \ +- | ip2k | iq2000 \ +- | k1om \ +- | le32 | le64 \ +- | lm32 \ +- | m32c | m32r | m32rle | m68000 | m68k | m88k \ +- | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ +- | mips | mipsbe | mipseb | mipsel | mipsle \ +- | mips16 \ +- | mips64 | mips64el \ +- | mips64octeon | mips64octeonel \ +- | mips64orion | mips64orionel \ +- | mips64r5900 | mips64r5900el \ +- | mips64vr | mips64vrel \ +- | mips64vr4100 | mips64vr4100el \ +- | mips64vr4300 | mips64vr4300el \ +- | mips64vr5000 | mips64vr5000el \ +- | mips64vr5900 | mips64vr5900el \ +- | mipsisa32 | mipsisa32el \ +- | mipsisa32r2 | mipsisa32r2el \ +- | mipsisa32r6 | mipsisa32r6el \ +- | mipsisa64 | mipsisa64el \ +- | mipsisa64r2 | mipsisa64r2el \ +- | mipsisa64r6 | mipsisa64r6el \ +- | mipsisa64sb1 | mipsisa64sb1el \ +- | mipsisa64sr71k | mipsisa64sr71kel \ +- | mipsr5900 | mipsr5900el \ +- | mipstx39 | mipstx39el \ +- | mn10200 | mn10300 \ +- | moxie \ +- | mt \ +- | msp430 \ +- | nds32 | nds32le | nds32be \ +- | nios | nios2 | nios2eb | nios2el \ +- | ns16k | ns32k \ +- | open8 | or1k | or1knd | or32 \ +- | pdp10 | pdp11 | pj | pjl \ +- | powerpc | powerpc64 | powerpc64le | powerpcle \ +- | pru \ +- | pyramid \ +- | riscv32 | riscv64 \ +- | rl78 | rx \ +- | score \ +- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ +- | sh64 | sh64le \ +- | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ +- | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ +- | spu \ +- | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ +- | ubicom32 \ +- | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ +- | visium \ +- | wasm32 \ +- | we32k \ +- | x86 | xc16x | xstormy16 | xtensa \ +- | z8k | z80) +- basic_machine=$basic_machine-unknown ++ # Here we handle the default manufacturer of certain CPU types. It is in ++ # some cases the only manufacturer, in others, it is the most popular. ++ w89k) ++ cpu=hppa1.1 ++ vendor=winbond + ;; +- c54x) +- basic_machine=tic54x-unknown ++ op50n) ++ cpu=hppa1.1 ++ vendor=oki + ;; +- c55x) +- basic_machine=tic55x-unknown ++ op60c) ++ cpu=hppa1.1 ++ vendor=oki + ;; +- c6x) +- basic_machine=tic6x-unknown ++ ibm*) ++ cpu=i370 ++ vendor=ibm + ;; +- leon|leon[3-9]) +- basic_machine=sparc-$basic_machine ++ orion105) ++ cpu=clipper ++ vendor=highlevel + ;; +- m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) +- basic_machine=$basic_machine-unknown +- os=-none ++ mac | mpw | mac-mpw) ++ cpu=m68k ++ vendor=apple + ;; +- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ++ pmac | pmac-mpw) ++ cpu=powerpc ++ vendor=apple + ;; +- ms1) +- basic_machine=mt-unknown +- ;; + +- strongarm | thumb | xscale) +- basic_machine=arm-unknown +- ;; +- xgate) +- basic_machine=$basic_machine-unknown +- os=-none +- ;; +- xscaleeb) +- basic_machine=armeb-unknown +- ;; +- +- xscaleel) +- basic_machine=armel-unknown +- ;; +- +- # We use `pc' rather than `unknown' +- # because (1) that's what they normally are, and +- # (2) the word "unknown" tends to confuse beginning users. +- i*86 | x86_64) +- basic_machine=$basic_machine-pc +- ;; +- # Object if more than one company name word. +- *-*-*) +- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 +- exit 1 +- ;; +- # Recognize the basic CPU types with company name. +- 580-* \ +- | a29k-* \ +- | aarch64-* | aarch64_be-* \ +- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ +- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ +- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ +- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ +- | avr-* | avr32-* \ +- | ba-* \ +- | be32-* | be64-* \ +- | bfin-* | bs2000-* \ +- | c[123]* | c30-* | [cjt]90-* | c4x-* \ +- | c8051-* | clipper-* | craynv-* | cydra-* \ +- | d10v-* | d30v-* | dlx-* \ +- | e2k-* | elxsi-* \ +- | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ +- | h8300-* | h8500-* \ +- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ +- | hexagon-* \ +- | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ +- | ip2k-* | iq2000-* \ +- | k1om-* \ +- | le32-* | le64-* \ +- | lm32-* \ +- | m32c-* | m32r-* | m32rle-* \ +- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ +- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ +- | microblaze-* | microblazeel-* \ +- | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ +- | mips16-* \ +- | mips64-* | mips64el-* \ +- | mips64octeon-* | mips64octeonel-* \ +- | mips64orion-* | mips64orionel-* \ +- | mips64r5900-* | mips64r5900el-* \ +- | mips64vr-* | mips64vrel-* \ +- | mips64vr4100-* | mips64vr4100el-* \ +- | mips64vr4300-* | mips64vr4300el-* \ +- | mips64vr5000-* | mips64vr5000el-* \ +- | mips64vr5900-* | mips64vr5900el-* \ +- | mipsisa32-* | mipsisa32el-* \ +- | mipsisa32r2-* | mipsisa32r2el-* \ +- | mipsisa32r6-* | mipsisa32r6el-* \ +- | mipsisa64-* | mipsisa64el-* \ +- | mipsisa64r2-* | mipsisa64r2el-* \ +- | mipsisa64r6-* | mipsisa64r6el-* \ +- | mipsisa64sb1-* | mipsisa64sb1el-* \ +- | mipsisa64sr71k-* | mipsisa64sr71kel-* \ +- | mipsr5900-* | mipsr5900el-* \ +- | mipstx39-* | mipstx39el-* \ +- | mmix-* \ +- | mt-* \ +- | msp430-* \ +- | nds32-* | nds32le-* | nds32be-* \ +- | nios-* | nios2-* | nios2eb-* | nios2el-* \ +- | none-* | np1-* | ns16k-* | ns32k-* \ +- | open8-* \ +- | or1k*-* \ +- | orion-* \ +- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ +- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ +- | pru-* \ +- | pyramid-* \ +- | riscv32-* | riscv64-* \ +- | rl78-* | romp-* | rs6000-* | rx-* \ +- | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ +- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ +- | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ +- | sparclite-* \ +- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ +- | tahoe-* \ +- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ +- | tile*-* \ +- | tron-* \ +- | ubicom32-* \ +- | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ +- | vax-* \ +- | visium-* \ +- | wasm32-* \ +- | we32k-* \ +- | x86-* | x86_64-* | xc16x-* | xps100-* \ +- | xstormy16-* | xtensa*-* \ +- | ymp-* \ +- | z8k-* | z80-*) +- ;; +- # Recognize the basic CPU types without company name, with glob match. +- xtensa*) +- basic_machine=$basic_machine-unknown +- ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. +- 386bsd) +- basic_machine=i386-unknown +- os=-bsd +- ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) +- basic_machine=m68000-att ++ cpu=m68000 ++ vendor=att + ;; + 3b*) +- basic_machine=we32k-att ++ cpu=we32k ++ vendor=att + ;; +- a29khif) +- basic_machine=a29k-amd +- os=-udi +- ;; +- abacus) +- basic_machine=abacus-unknown +- ;; +- adobe68k) +- basic_machine=m68010-adobe +- os=-scout +- ;; +- alliant | fx80) +- basic_machine=fx80-alliant +- ;; +- altos | altos3068) +- basic_machine=m68k-altos +- ;; +- am29k) +- basic_machine=a29k-none +- os=-bsd +- ;; +- amd64) +- basic_machine=x86_64-pc +- ;; +- amd64-*) +- basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- amdahl) +- basic_machine=580-amdahl +- os=-sysv +- ;; +- amiga | amiga-*) +- basic_machine=m68k-unknown +- ;; +- amigaos | amigados) +- basic_machine=m68k-unknown +- os=-amigaos +- ;; +- amigaunix | amix) +- basic_machine=m68k-unknown +- os=-sysv4 +- ;; +- apollo68) +- basic_machine=m68k-apollo +- os=-sysv +- ;; +- apollo68bsd) +- basic_machine=m68k-apollo +- os=-bsd +- ;; +- aros) +- basic_machine=i386-pc +- os=-aros +- ;; +- asmjs) +- basic_machine=asmjs-unknown +- ;; +- aux) +- basic_machine=m68k-apple +- os=-aux +- ;; +- balance) +- basic_machine=ns32k-sequent +- os=-dynix +- ;; +- blackfin) +- basic_machine=bfin-unknown +- os=-linux +- ;; +- blackfin-*) +- basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` +- os=-linux +- ;; + bluegene*) +- basic_machine=powerpc-ibm +- os=-cnk ++ cpu=powerpc ++ vendor=ibm ++ basic_os=cnk + ;; +- c54x-*) +- basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- c55x-*) +- basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- c6x-*) +- basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- c90) +- basic_machine=c90-cray +- os=-unicos +- ;; +- cegcc) +- basic_machine=arm-unknown +- os=-cegcc +- ;; +- convex-c1) +- basic_machine=c1-convex +- os=-bsd +- ;; +- convex-c2) +- basic_machine=c2-convex +- os=-bsd +- ;; +- convex-c32) +- basic_machine=c32-convex +- os=-bsd +- ;; +- convex-c34) +- basic_machine=c34-convex +- os=-bsd +- ;; +- convex-c38) +- basic_machine=c38-convex +- os=-bsd +- ;; +- cray | j90) +- basic_machine=j90-cray +- os=-unicos +- ;; +- craynv) +- basic_machine=craynv-cray +- os=-unicosmp +- ;; +- cr16 | cr16-*) +- basic_machine=cr16-unknown +- os=-elf +- ;; +- crds | unos) +- basic_machine=m68k-crds +- ;; +- crisv32 | crisv32-* | etraxfs*) +- basic_machine=crisv32-axis +- ;; +- cris | cris-* | etrax*) +- basic_machine=cris-axis +- ;; +- crx) +- basic_machine=crx-unknown +- os=-elf +- ;; +- da30 | da30-*) +- basic_machine=m68k-da30 +- ;; +- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) +- basic_machine=mips-dec +- ;; + decsystem10* | dec10*) +- basic_machine=pdp10-dec +- os=-tops10 ++ cpu=pdp10 ++ vendor=dec ++ basic_os=tops10 + ;; + decsystem20* | dec20*) +- basic_machine=pdp10-dec +- os=-tops20 ++ cpu=pdp10 ++ vendor=dec ++ basic_os=tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) +- basic_machine=m68k-motorola ++ cpu=m68k ++ vendor=motorola + ;; +- delta88) +- basic_machine=m88k-motorola +- os=-sysv3 ++ dpx2*) ++ cpu=m68k ++ vendor=bull ++ basic_os=sysv3 + ;; +- dicos) +- basic_machine=i686-pc +- os=-dicos ++ encore | umax | mmax) ++ cpu=ns32k ++ vendor=encore + ;; +- djgpp) +- basic_machine=i586-pc +- os=-msdosdjgpp +- ;; +- dpx20 | dpx20-*) +- basic_machine=rs6000-bull +- os=-bosx +- ;; +- dpx2* | dpx2*-bull) +- basic_machine=m68k-bull +- os=-sysv3 +- ;; +- e500v[12]) +- basic_machine=powerpc-unknown +- os=$os"spe" +- ;; +- e500v[12]-*) +- basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` +- os=$os"spe" +- ;; +- ebmon29k) +- basic_machine=a29k-amd +- os=-ebmon +- ;; + elxsi) +- basic_machine=elxsi-elxsi +- os=-bsd ++ cpu=elxsi ++ vendor=elxsi ++ basic_os=${basic_os:-bsd} + ;; +- encore | umax | mmax) +- basic_machine=ns32k-encore +- ;; +- es1800 | OSE68k | ose68k | ose | OSE) +- basic_machine=m68k-ericsson +- os=-ose +- ;; + fx2800) +- basic_machine=i860-alliant ++ cpu=i860 ++ vendor=alliant + ;; + genix) +- basic_machine=ns32k-ns ++ cpu=ns32k ++ vendor=ns + ;; +- gmicro) +- basic_machine=tron-gmicro +- os=-sysv +- ;; +- go32) +- basic_machine=i386-pc +- os=-go32 +- ;; + h3050r* | hiux*) +- basic_machine=hppa1.1-hitachi +- os=-hiuxwe2 ++ cpu=hppa1.1 ++ vendor=hitachi ++ basic_os=hiuxwe2 + ;; +- h8300hms) +- basic_machine=h8300-hitachi +- os=-hms +- ;; +- h8300xray) +- basic_machine=h8300-hitachi +- os=-xray +- ;; +- h8500hms) +- basic_machine=h8500-hitachi +- os=-hms +- ;; +- harris) +- basic_machine=m88k-harris +- os=-sysv3 +- ;; +- hp300-*) +- basic_machine=m68k-hp +- ;; +- hp300bsd) +- basic_machine=m68k-hp +- os=-bsd +- ;; +- hp300hpux) +- basic_machine=m68k-hp +- os=-hpux +- ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) +- basic_machine=hppa1.0-hp ++ cpu=hppa1.0 ++ vendor=hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) +- basic_machine=m68000-hp ++ cpu=m68000 ++ vendor=hp + ;; + hp9k3[2-9][0-9]) +- basic_machine=m68k-hp ++ cpu=m68k ++ vendor=hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) +- basic_machine=hppa1.0-hp ++ cpu=hppa1.0 ++ vendor=hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) +- basic_machine=hppa1.1-hp ++ cpu=hppa1.1 ++ vendor=hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp +- basic_machine=hppa1.1-hp ++ cpu=hppa1.1 ++ vendor=hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp +- basic_machine=hppa1.1-hp ++ cpu=hppa1.1 ++ vendor=hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) +- basic_machine=hppa1.1-hp ++ cpu=hppa1.1 ++ vendor=hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) +- basic_machine=hppa1.0-hp ++ cpu=hppa1.0 ++ vendor=hp + ;; +- hppa-next) +- os=-nextstep3 +- ;; +- hppaosf) +- basic_machine=hppa1.1-hp +- os=-osf +- ;; +- hppro) +- basic_machine=hppa1.1-hp +- os=-proelf +- ;; +- i370-ibm* | ibm*) +- basic_machine=i370-ibm +- ;; + i*86v32) +- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` +- os=-sysv32 ++ cpu=`echo "$1" | sed -e 's/86.*/86/'` ++ vendor=pc ++ basic_os=sysv32 + ;; + i*86v4*) +- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` +- os=-sysv4 ++ cpu=`echo "$1" | sed -e 's/86.*/86/'` ++ vendor=pc ++ basic_os=sysv4 + ;; + i*86v) +- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` +- os=-sysv ++ cpu=`echo "$1" | sed -e 's/86.*/86/'` ++ vendor=pc ++ basic_os=sysv + ;; + i*86sol2) +- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` +- os=-solaris2 ++ cpu=`echo "$1" | sed -e 's/86.*/86/'` ++ vendor=pc ++ basic_os=solaris2 + ;; +- i386mach) +- basic_machine=i386-mach +- os=-mach ++ j90 | j90-cray) ++ cpu=j90 ++ vendor=cray ++ basic_os=${basic_os:-unicos} + ;; +- i386-vsta | vsta) +- basic_machine=i386-unknown +- os=-vsta +- ;; + iris | iris4d) +- basic_machine=mips-sgi +- case $os in +- -irix*) ++ cpu=mips ++ vendor=sgi ++ case $basic_os in ++ irix*) + ;; + *) +- os=-irix4 ++ basic_os=irix4 + ;; + esac + ;; +- isi68 | isi) +- basic_machine=m68k-isi +- os=-sysv +- ;; +- leon-*|leon[3-9]-*) +- basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` +- ;; +- m68knommu) +- basic_machine=m68k-unknown +- os=-linux +- ;; +- m68knommu-*) +- basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` +- os=-linux +- ;; +- m88k-omron*) +- basic_machine=m88k-omron +- ;; +- magnum | m3230) +- basic_machine=mips-mips +- os=-sysv +- ;; +- merlin) +- basic_machine=ns32k-utek +- os=-sysv +- ;; +- microblaze*) +- basic_machine=microblaze-xilinx +- ;; +- mingw64) +- basic_machine=x86_64-pc +- os=-mingw64 +- ;; +- mingw32) +- basic_machine=i686-pc +- os=-mingw32 +- ;; +- mingw32ce) +- basic_machine=arm-unknown +- os=-mingw32ce +- ;; + miniframe) +- basic_machine=m68000-convergent ++ cpu=m68000 ++ vendor=convergent + ;; +- *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) +- basic_machine=m68k-atari +- os=-mint ++ *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) ++ cpu=m68k ++ vendor=atari ++ basic_os=mint + ;; +- mips3*-*) +- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` +- ;; +- mips3*) +- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown +- ;; +- monitor) +- basic_machine=m68k-rom68k +- os=-coff +- ;; +- morphos) +- basic_machine=powerpc-unknown +- os=-morphos +- ;; +- moxiebox) +- basic_machine=moxie-unknown +- os=-moxiebox +- ;; +- msdos) +- basic_machine=i386-pc +- os=-msdos +- ;; +- ms1-*) +- basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` +- ;; +- msys) +- basic_machine=i686-pc +- os=-msys +- ;; +- mvs) +- basic_machine=i370-ibm +- os=-mvs +- ;; +- nacl) +- basic_machine=le32-unknown +- os=-nacl +- ;; +- ncr3000) +- basic_machine=i486-ncr +- os=-sysv4 +- ;; +- netbsd386) +- basic_machine=i386-unknown +- os=-netbsd +- ;; +- netwinder) +- basic_machine=armv4l-rebel +- os=-linux +- ;; +- news | news700 | news800 | news900) +- basic_machine=m68k-sony +- os=-newsos +- ;; +- news1000) +- basic_machine=m68030-sony +- os=-newsos +- ;; + news-3600 | risc-news) +- basic_machine=mips-sony +- os=-newsos ++ cpu=mips ++ vendor=sony ++ basic_os=newsos + ;; +- necv70) +- basic_machine=v70-nec +- os=-sysv +- ;; +- next | m*-next ) +- basic_machine=m68k-next +- case $os in +- -nextstep* ) ++ next | m*-next) ++ cpu=m68k ++ vendor=next ++ case $basic_os in ++ openstep*) ++ ;; ++ nextstep*) + ;; +- -ns2*) +- os=-nextstep2 ++ ns2*) ++ basic_os=nextstep2 + ;; + *) +- os=-nextstep3 ++ basic_os=nextstep3 + ;; + esac + ;; +- nh3000) +- basic_machine=m68k-harris +- os=-cxux +- ;; +- nh[45]000) +- basic_machine=m88k-harris +- os=-cxux +- ;; +- nindy960) +- basic_machine=i960-intel +- os=-nindy +- ;; +- mon960) +- basic_machine=i960-intel +- os=-mon960 +- ;; +- nonstopux) +- basic_machine=mips-compaq +- os=-nonstopux +- ;; + np1) +- basic_machine=np1-gould ++ cpu=np1 ++ vendor=gould + ;; +- neo-tandem) +- basic_machine=neo-tandem +- ;; +- nse-tandem) +- basic_machine=nse-tandem +- ;; +- nsr-tandem) +- basic_machine=nsr-tandem +- ;; +- nsx-tandem) +- basic_machine=nsx-tandem +- ;; + op50n-* | op60c-*) +- basic_machine=hppa1.1-oki +- os=-proelf ++ cpu=hppa1.1 ++ vendor=oki ++ basic_os=proelf + ;; +- openrisc | openrisc-*) +- basic_machine=or32-unknown +- ;; +- os400) +- basic_machine=powerpc-ibm +- os=-os400 +- ;; +- OSE68000 | ose68000) +- basic_machine=m68000-ericsson +- os=-ose +- ;; +- os68k) +- basic_machine=m68k-none +- os=-os68k +- ;; + pa-hitachi) +- basic_machine=hppa1.1-hitachi +- os=-hiuxwe2 ++ cpu=hppa1.1 ++ vendor=hitachi ++ basic_os=hiuxwe2 + ;; +- paragon) +- basic_machine=i860-intel +- os=-osf +- ;; +- parisc) +- basic_machine=hppa-unknown +- os=-linux +- ;; +- parisc-*) +- basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` +- os=-linux +- ;; + pbd) +- basic_machine=sparc-tti ++ cpu=sparc ++ vendor=tti + ;; + pbb) +- basic_machine=m68k-tti ++ cpu=m68k ++ vendor=tti + ;; +- pc532 | pc532-*) +- basic_machine=ns32k-pc532 ++ pc532) ++ cpu=ns32k ++ vendor=pc532 + ;; +- pc98) +- basic_machine=i386-pc +- ;; +- pc98-*) +- basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- pentium | p5 | k5 | k6 | nexgen | viac3) +- basic_machine=i586-pc +- ;; +- pentiumpro | p6 | 6x86 | athlon | athlon_*) +- basic_machine=i686-pc +- ;; +- pentiumii | pentium2 | pentiumiii | pentium3) +- basic_machine=i686-pc +- ;; +- pentium4) +- basic_machine=i786-pc +- ;; +- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) +- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- pentiumpro-* | p6-* | 6x86-* | athlon-*) +- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) +- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- pentium4-*) +- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; + pn) +- basic_machine=pn-gould ++ cpu=pn ++ vendor=gould + ;; +- power) basic_machine=power-ibm ++ power) ++ cpu=power ++ vendor=ibm + ;; +- ppc | ppcbe) basic_machine=powerpc-unknown +- ;; +- ppc-* | ppcbe-*) +- basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- ppcle | powerpclittle) +- basic_machine=powerpcle-unknown +- ;; +- ppcle-* | powerpclittle-*) +- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- ppc64) basic_machine=powerpc64-unknown +- ;; +- ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- ppc64le | powerpc64little) +- basic_machine=powerpc64le-unknown +- ;; +- ppc64le-* | powerpc64little-*) +- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; + ps2) +- basic_machine=i386-ibm ++ cpu=i386 ++ vendor=ibm + ;; +- pw32) +- basic_machine=i586-unknown +- os=-pw32 +- ;; +- rdos | rdos64) +- basic_machine=x86_64-pc +- os=-rdos +- ;; +- rdos32) +- basic_machine=i386-pc +- os=-rdos +- ;; +- rom68k) +- basic_machine=m68k-rom68k +- os=-coff +- ;; + rm[46]00) +- basic_machine=mips-siemens ++ cpu=mips ++ vendor=siemens + ;; + rtpc | rtpc-*) +- basic_machine=romp-ibm ++ cpu=romp ++ vendor=ibm + ;; +- s390 | s390-*) +- basic_machine=s390-ibm ++ sde) ++ cpu=mipsisa32 ++ vendor=sde ++ basic_os=${basic_os:-elf} + ;; +- s390x | s390x-*) +- basic_machine=s390x-ibm ++ simso-wrs) ++ cpu=sparclite ++ vendor=wrs ++ basic_os=vxworks + ;; +- sa29200) +- basic_machine=a29k-amd +- os=-udi ++ tower | tower-32) ++ cpu=m68k ++ vendor=ncr + ;; +- sb1) +- basic_machine=mipsisa64sb1-unknown ++ vpp*|vx|vx-*) ++ cpu=f301 ++ vendor=fujitsu + ;; +- sb1el) +- basic_machine=mipsisa64sb1el-unknown ++ w65) ++ cpu=w65 ++ vendor=wdc + ;; +- sde) +- basic_machine=mipsisa32-sde +- os=-elf ++ w89k-*) ++ cpu=hppa1.1 ++ vendor=winbond ++ basic_os=proelf + ;; +- sei) +- basic_machine=mips-sei +- os=-seiux ++ none) ++ cpu=none ++ vendor=none + ;; +- sequent) +- basic_machine=i386-sequent ++ leon|leon[3-9]) ++ cpu=sparc ++ vendor=$basic_machine + ;; +- sh) +- basic_machine=sh-hitachi +- os=-hms ++ leon-*|leon[3-9]-*) ++ cpu=sparc ++ vendor=`echo "$basic_machine" | sed 's/-.*//'` + ;; +- sh5el) +- basic_machine=sh5le-unknown ++ ++ *-*) ++ # shellcheck disable=SC2162 ++ saved_IFS=$IFS ++ IFS="-" read cpu vendor <&2 +- exit 1 ++ # Recognize the canonical CPU types that are allowed with any ++ # company name. ++ case $cpu in ++ 1750a | 580 \ ++ | a29k \ ++ | aarch64 | aarch64_be | aarch64c | arm64ec \ ++ | abacus \ ++ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ ++ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ ++ | alphapca5[67] | alpha64pca5[67] \ ++ | am33_2.0 \ ++ | amdgcn \ ++ | arc | arceb | arc32 | arc64 \ ++ | arm | arm[lb]e | arme[lb] | armv* \ ++ | avr | avr32 \ ++ | asmjs \ ++ | ba \ ++ | be32 | be64 \ ++ | bfin | bpf | bs2000 \ ++ | c[123]* | c30 | [cjt]90 | c4x \ ++ | c8051 | clipper | craynv | csky | cydra \ ++ | d10v | d30v | dlx | dsp16xx \ ++ | e2k | elxsi | epiphany \ ++ | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ ++ | javascript \ ++ | h8300 | h8500 \ ++ | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ ++ | hexagon \ ++ | i370 | i*86 | i860 | i960 | ia16 | ia64 \ ++ | ip2k | iq2000 \ ++ | k1om \ ++ | kvx \ ++ | le32 | le64 \ ++ | lm32 \ ++ | loongarch32 | loongarch64 \ ++ | m32c | m32r | m32rle \ ++ | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \ ++ | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ ++ | m88110 | m88k | maxq | mb | mcore | mep | metag \ ++ | microblaze | microblazeel \ ++ | mips* \ ++ | mmix \ ++ | mn10200 | mn10300 \ ++ | moxie \ ++ | mt \ ++ | msp430 \ ++ | nanomips* \ ++ | nds32 | nds32le | nds32be \ ++ | nfp \ ++ | nios | nios2 | nios2eb | nios2el \ ++ | none | np1 | ns16k | ns32k | nvptx \ ++ | open8 \ ++ | or1k* \ ++ | or32 \ ++ | orion \ ++ | picochip \ ++ | pdp10 | pdp11 | pj | pjl | pn | power \ ++ | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ ++ | pru \ ++ | pyramid \ ++ | riscv | riscv32 | riscv32be | riscv64 | riscv64be \ ++ | rl78 | romp | rs6000 | rx \ ++ | s390 | s390x \ ++ | score \ ++ | sh | shl \ ++ | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \ ++ | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \ ++ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \ ++ | sparclite \ ++ | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ ++ | spu \ ++ | tahoe \ ++ | thumbv7* \ ++ | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ ++ | tron \ ++ | ubicom32 \ ++ | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ ++ | vax \ ++ | vc4 \ ++ | visium \ ++ | w65 \ ++ | wasm32 | wasm64 \ ++ | we32k \ ++ | x86 | x86_64 | xc16x | xgate | xps100 \ ++ | xstormy16 | xtensa* \ ++ | ymp \ ++ | z8k | z80) ++ ;; ++ ++ *) ++ echo "Invalid configuration '$1': machine '$cpu-$vendor' not recognized" 1>&2 ++ exit 1 ++ ;; ++ esac + ;; + esac + + # Here we canonicalize certain aliases for manufacturers. +-case $basic_machine in +- *-digital*) +- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ++case $vendor in ++ digital*) ++ vendor=dec + ;; +- *-commodore*) +- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ++ commodore*) ++ vendor=cbm + ;; + *) + ;; +@@ -1363,203 +1287,226 @@ + + # Decode manufacturer-specific aliases for certain operating systems. + +-if [ x"$os" != x"" ] ++if test x"$basic_os" != x + then +-case $os in +- # First match some system type aliases +- # that might get confused with valid system types. +- # -solaris* is a basic system type, with this one exception. +- -auroraux) +- os=-auroraux ++ ++# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just ++# set os. ++obj= ++case $basic_os in ++ gnu/linux*) ++ kernel=linux ++ os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` + ;; +- -solaris1 | -solaris1.*) +- os=`echo $os | sed -e 's|solaris1|sunos4|'` ++ os2-emx) ++ kernel=os2 ++ os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` + ;; +- -solaris) +- os=-solaris2 ++ nto-qnx*) ++ kernel=nto ++ os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` + ;; +- -svr4*) +- os=-sysv4 ++ *-*) ++ # shellcheck disable=SC2162 ++ saved_IFS=$IFS ++ IFS="-" read kernel os <&2 +- exit 1 ++ # No normalization, but not necessarily accepted, that comes below. + ;; + esac ++ + else + + # Here we handle the default operating systems that come with various machines. +@@ -1572,264 +1519,452 @@ + # will signal an error saying that MANUFACTURER isn't an operating + # system, and we'll never get to this point. + +-case $basic_machine in ++kernel= ++obj= ++case $cpu-$vendor in + score-*) +- os=-elf ++ os= ++ obj=elf + ;; + spu-*) +- os=-elf ++ os= ++ obj=elf + ;; + *-acorn) +- os=-riscix1.2 ++ os=riscix1.2 + ;; + arm*-rebel) +- os=-linux ++ kernel=linux ++ os=gnu + ;; + arm*-semi) +- os=-aout ++ os= ++ obj=aout + ;; + c4x-* | tic4x-*) +- os=-coff ++ os= ++ obj=coff + ;; + c8051-*) +- os=-elf ++ os= ++ obj=elf + ;; ++ clipper-intergraph) ++ os=clix ++ ;; + hexagon-*) +- os=-elf ++ os= ++ obj=elf + ;; + tic54x-*) +- os=-coff ++ os= ++ obj=coff + ;; + tic55x-*) +- os=-coff ++ os= ++ obj=coff + ;; + tic6x-*) +- os=-coff ++ os= ++ obj=coff + ;; + # This must come before the *-dec entry. + pdp10-*) +- os=-tops20 ++ os=tops20 + ;; + pdp11-*) +- os=-none ++ os=none + ;; + *-dec | vax-*) +- os=-ultrix4.2 ++ os=ultrix4.2 + ;; + m68*-apollo) +- os=-domain ++ os=domain + ;; + i386-sun) +- os=-sunos4.0.2 ++ os=sunos4.0.2 + ;; + m68000-sun) +- os=-sunos3 ++ os=sunos3 + ;; + m68*-cisco) +- os=-aout ++ os= ++ obj=aout + ;; + mep-*) +- os=-elf ++ os= ++ obj=elf + ;; + mips*-cisco) +- os=-elf ++ os= ++ obj=elf + ;; +- mips*-*) +- os=-elf ++ mips*-*|nanomips*-*) ++ os= ++ obj=elf + ;; + or32-*) +- os=-coff ++ os= ++ obj=coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. +- os=-sysv3 ++ os=sysv3 + ;; + sparc-* | *-sun) +- os=-sunos4.1.1 ++ os=sunos4.1.1 + ;; + pru-*) +- os=-elf ++ os= ++ obj=elf + ;; + *-be) +- os=-beos ++ os=beos + ;; +- *-haiku) +- os=-haiku +- ;; + *-ibm) +- os=-aix ++ os=aix + ;; + *-knuth) +- os=-mmixware ++ os=mmixware + ;; + *-wec) +- os=-proelf ++ os=proelf + ;; + *-winbond) +- os=-proelf ++ os=proelf + ;; + *-oki) +- os=-proelf ++ os=proelf + ;; + *-hp) +- os=-hpux ++ os=hpux + ;; + *-hitachi) +- os=-hiux ++ os=hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) +- os=-sysv ++ os=sysv + ;; + *-cbm) +- os=-amigaos ++ os=amigaos + ;; + *-dg) +- os=-dgux ++ os=dgux + ;; + *-dolphin) +- os=-sysv3 ++ os=sysv3 + ;; + m68k-ccur) +- os=-rtu ++ os=rtu + ;; + m88k-omron*) +- os=-luna ++ os=luna + ;; +- *-next ) +- os=-nextstep ++ *-next) ++ os=nextstep + ;; + *-sequent) +- os=-ptx ++ os=ptx + ;; + *-crds) +- os=-unos ++ os=unos + ;; + *-ns) +- os=-genix ++ os=genix + ;; + i370-*) +- os=-mvs ++ os=mvs + ;; +- *-next) +- os=-nextstep3 +- ;; + *-gould) +- os=-sysv ++ os=sysv + ;; + *-highlevel) +- os=-bsd ++ os=bsd + ;; + *-encore) +- os=-bsd ++ os=bsd + ;; + *-sgi) +- os=-irix ++ os=irix + ;; + *-siemens) +- os=-sysv4 ++ os=sysv4 + ;; + *-masscomp) +- os=-rtu ++ os=rtu + ;; + f30[01]-fujitsu | f700-fujitsu) +- os=-uxpv ++ os=uxpv + ;; + *-rom68k) +- os=-coff ++ os= ++ obj=coff + ;; + *-*bug) +- os=-coff ++ os= ++ obj=coff + ;; + *-apple) +- os=-macos ++ os=macos + ;; + *-atari*) +- os=-mint ++ os=mint + ;; ++ *-wrs) ++ os=vxworks ++ ;; + *) +- os=-none ++ os=none + ;; + esac ++ + fi + ++# Now, validate our (potentially fixed-up) individual pieces (OS, OBJ). ++ ++case $os in ++ # Sometimes we do "kernel-libc", so those need to count as OSes. ++ llvm* | musl* | newlib* | relibc* | uclibc*) ++ ;; ++ # Likewise for "kernel-abi" ++ eabi* | gnueabi*) ++ ;; ++ # VxWorks passes extra cpu info in the 4th filed. ++ simlinux | simwindows | spe) ++ ;; ++ # See `case $cpu-$os` validation below ++ ghcjs) ++ ;; ++ # Now accept the basic system types. ++ # The portable systems comes first. ++ # Each alternative MUST end in a * to match a version number. ++ gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ ++ | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \ ++ | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ ++ | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ ++ | hiux* | abug | nacl* | netware* | windows* \ ++ | os9* | macos* | osx* | ios* | tvos* | watchos* \ ++ | mpw* | magic* | mmixware* | mon960* | lnews* \ ++ | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ ++ | aos* | aros* | cloudabi* | sortix* | twizzler* \ ++ | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ ++ | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ ++ | mirbsd* | netbsd* | dicos* | openedition* | ose* \ ++ | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \ ++ | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \ ++ | bosx* | nextstep* | cxux* | oabi* \ ++ | ptx* | ecoff* | winnt* | domain* | vsta* \ ++ | udi* | lites* | ieee* | go32* | aux* | hcos* \ ++ | chorusrdb* | cegcc* | glidix* | serenity* \ ++ | cygwin* | msys* | moss* | proelf* | rtems* \ ++ | midipix* | mingw32* | mingw64* | mint* \ ++ | uxpv* | beos* | mpeix* | udk* | moxiebox* \ ++ | interix* | uwin* | mks* | rhapsody* | darwin* \ ++ | openstep* | oskit* | conix* | pw32* | nonstopux* \ ++ | storm-chaos* | tops10* | tenex* | tops20* | its* \ ++ | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \ ++ | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \ ++ | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ ++ | skyos* | haiku* | rdos* | toppers* | drops* | es* \ ++ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ ++ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ ++ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ ++ | fiwix* | mlibc* | cos* | mbr* | ironclad* ) ++ ;; ++ # This one is extra strict with allowed versions ++ sco3.2v2 | sco3.2v[4-9]* | sco5v6*) ++ # Don't forget version if it is 3.2v4 or newer. ++ ;; ++ # This refers to builds using the UEFI calling convention ++ # (which depends on the architecture) and PE file format. ++ # Note that this is both a different calling convention and ++ # different file format than that of GNU-EFI ++ # (x86_64-w64-mingw32). ++ uefi) ++ ;; ++ none) ++ ;; ++ kernel* | msvc* ) ++ # Restricted further below ++ ;; ++ '') ++ if test x"$obj" = x ++ then ++ echo "Invalid configuration '$1': Blank OS only allowed with explicit machine code file format" 1>&2 ++ fi ++ ;; ++ *) ++ echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2 ++ exit 1 ++ ;; ++esac ++ ++case $obj in ++ aout* | coff* | elf* | pe*) ++ ;; ++ '') ++ # empty is fine ++ ;; ++ *) ++ echo "Invalid configuration '$1': Machine code format '$obj' not recognized" 1>&2 ++ exit 1 ++ ;; ++esac ++ ++# Here we handle the constraint that a (synthetic) cpu and os are ++# valid only in combination with each other and nowhere else. ++case $cpu-$os in ++ # The "javascript-unknown-ghcjs" triple is used by GHC; we ++ # accept it here in order to tolerate that, but reject any ++ # variations. ++ javascript-ghcjs) ++ ;; ++ javascript-* | *-ghcjs) ++ echo "Invalid configuration '$1': cpu '$cpu' is not valid with os '$os$obj'" 1>&2 ++ exit 1 ++ ;; ++esac ++ ++# As a final step for OS-related things, validate the OS-kernel combination ++# (given a valid OS), if there is a kernel. ++case $kernel-$os-$obj in ++ linux-gnu*- | linux-android*- | linux-dietlibc*- | linux-llvm*- \ ++ | linux-mlibc*- | linux-musl*- | linux-newlib*- \ ++ | linux-relibc*- | linux-uclibc*- ) ++ ;; ++ uclinux-uclibc*- ) ++ ;; ++ managarm-mlibc*- | managarm-kernel*- ) ++ ;; ++ windows*-msvc*-) ++ ;; ++ -dietlibc*- | -llvm*- | -mlibc*- | -musl*- | -newlib*- | -relibc*- \ ++ | -uclibc*- ) ++ # These are just libc implementations, not actual OSes, and thus ++ # require a kernel. ++ echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2 ++ exit 1 ++ ;; ++ -kernel*- ) ++ echo "Invalid configuration '$1': '$os' needs explicit kernel." 1>&2 ++ exit 1 ++ ;; ++ *-kernel*- ) ++ echo "Invalid configuration '$1': '$kernel' does not support '$os'." 1>&2 ++ exit 1 ++ ;; ++ *-msvc*- ) ++ echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2 ++ exit 1 ++ ;; ++ kfreebsd*-gnu*- | kopensolaris*-gnu*-) ++ ;; ++ vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-) ++ ;; ++ nto-qnx*-) ++ ;; ++ os2-emx-) ++ ;; ++ *-eabi*- | *-gnueabi*-) ++ ;; ++ none--*) ++ # None (no kernel, i.e. freestanding / bare metal), ++ # can be paired with an machine code file format ++ ;; ++ -*-) ++ # Blank kernel with real OS is always fine. ++ ;; ++ --*) ++ # Blank kernel and OS with real machine code file format is always fine. ++ ;; ++ *-*-*) ++ echo "Invalid configuration '$1': Kernel '$kernel' not known to work with OS '$os'." 1>&2 ++ exit 1 ++ ;; ++esac ++ + # Here we handle the case where we know the os, and the CPU type, but not the + # manufacturer. We pick the logical manufacturer. +-vendor=unknown +-case $basic_machine in +- *-unknown) +- case $os in +- -riscix*) ++case $vendor in ++ unknown) ++ case $cpu-$os in ++ *-riscix*) + vendor=acorn + ;; +- -sunos*) ++ *-sunos*) + vendor=sun + ;; +- -cnk*|-aix*) ++ *-cnk* | *-aix*) + vendor=ibm + ;; +- -beos*) ++ *-beos*) + vendor=be + ;; +- -hpux*) ++ *-hpux*) + vendor=hp + ;; +- -mpeix*) ++ *-mpeix*) + vendor=hp + ;; +- -hiux*) ++ *-hiux*) + vendor=hitachi + ;; +- -unos*) ++ *-unos*) + vendor=crds + ;; +- -dgux*) ++ *-dgux*) + vendor=dg + ;; +- -luna*) ++ *-luna*) + vendor=omron + ;; +- -genix*) ++ *-genix*) + vendor=ns + ;; +- -mvs* | -opened*) ++ *-clix*) ++ vendor=intergraph ++ ;; ++ *-mvs* | *-opened*) + vendor=ibm + ;; +- -os400*) ++ *-os400*) + vendor=ibm + ;; +- -ptx*) ++ s390-* | s390x-*) ++ vendor=ibm ++ ;; ++ *-ptx*) + vendor=sequent + ;; +- -tpf*) ++ *-tpf*) + vendor=ibm + ;; +- -vxsim* | -vxworks* | -windiss*) ++ *-vxsim* | *-vxworks* | *-windiss*) + vendor=wrs + ;; +- -aux*) ++ *-aux*) + vendor=apple + ;; +- -hms*) ++ *-hms*) + vendor=hitachi + ;; +- -mpw* | -macos*) ++ *-mpw* | *-macos*) + vendor=apple + ;; +- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) ++ *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) + vendor=atari + ;; +- -vos*) ++ *-vos*) + vendor=stratus + ;; + esac +- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; + esac + +-echo $basic_machine$os ++echo "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}" + exit + + # Local variables: +-# eval: (add-hook 'write-file-hooks 'time-stamp) ++# eval: (add-hook 'before-save-hook 'time-stamp) + # time-stamp-start: "timestamp='" + # time-stamp-format: "%:y-%02m-%02d" + # time-stamp-end: "'" +diff --color -urN a/crlibm-1.0beta4/configure b/crlibm-1.0beta4/configure +--- a/crlibm-1.0beta4/configure 2024-12-06 13:32:36 ++++ b/crlibm-1.0beta4/configure 2024-12-06 13:33:14 +@@ -1,9 +1,10 @@ + #! /bin/sh + # Guess values for system-dependent variables and create Makefiles. +-# Generated by GNU Autoconf 2.69 for crlibm 1.0beta4. ++# Generated by GNU Autoconf 2.71 for crlibm 1.0beta4. + # + # +-# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. ++# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, ++# Inc. + # + # + # This configure script is free software; the Free Software Foundation +@@ -14,14 +15,16 @@ + + # Be more Bourne compatible + DUALCASE=1; export DUALCASE # for MKS sh +-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++as_nop=: ++if test ${ZSH_VERSION+y} && (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 ++else $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( +@@ -31,46 +34,46 @@ + fi + + ++ ++# Reset variables that may have inherited troublesome values from ++# the environment. ++ ++# IFS needs to be set, to space, tab, and newline, in precisely that order. ++# (If _AS_PATH_WALK were called with IFS unset, it would have the ++# side effect of setting IFS to empty, thus disabling word splitting.) ++# Quoting is to prevent editors from complaining about space-tab. + 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 ++IFS=" "" $as_nl" + ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# Ensure predictable behavior from utilities with locale-dependent output. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE ++ ++# We cannot yet rely on "unset" to work, but we need these variables ++# to be unset--not just set to an empty or harmless value--now, to ++# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct ++# also avoids known problems related to "unset" and subshell syntax ++# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). ++for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH ++do eval test \${$as_var+y} \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++ ++# Ensure that fds 0, 1, and 2 are open. ++if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi ++if (exec 3>&2) ; then :; else exec 2>/dev/null; fi ++ + # The user is always right. +-if test "${PATH_SEPARATOR+set}" != set; then ++if ${PATH_SEPARATOR+false} :; 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 || +@@ -79,13 +82,6 @@ + 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 #(( +@@ -94,8 +90,12 @@ + 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ test -r "$as_dir$0" && as_myself=$as_dir$0 && break + done + IFS=$as_save_IFS + +@@ -107,31 +107,11 @@ + 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 ++ printf "%s\n" "$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 +@@ -152,20 +132,22 @@ + 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 ++printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 ++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 : ++ as_bourne_compatible="as_nop=: ++if test \${ZSH_VERSION+y} && (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 ++else \$as_nop + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( +@@ -185,12 +167,15 @@ + 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 : ++if ( set x; as_fn_ret_success y && test x = \"\$1\" ) ++then : + +-else ++else \$as_nop + exitcode=1; echo positional parameters were not saved. + fi + test x\$exitcode = x0 || exit 1 ++blah=\$(echo \$(echo blah)) ++test x\"\$blah\" = xblah || 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 +@@ -205,30 +190,38 @@ + test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ + || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 + test \$(( 1 + 1 )) = 2 || exit 1" +- if (eval "$as_required") 2>/dev/null; then : ++ if (eval "$as_required") 2>/dev/null ++then : + as_have_required=yes +-else ++else $as_nop + as_have_required=no + fi +- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : ++ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null ++then : + +-else ++else $as_nop + 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=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + 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 ++ 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 : ++ as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 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 : ++ if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null ++then : + break 2 + fi + fi +@@ -236,14 +229,21 @@ + 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 $as_found ++then : + ++else $as_nop ++ if { test -f "$SHELL" || test -f "$SHELL.exe"; } && ++ as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null ++then : ++ CONFIG_SHELL=$SHELL as_have_required=yes ++fi ++fi + +- if test "x$CONFIG_SHELL" != x; then : ++ ++ 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 +@@ -261,18 +261,19 @@ + 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 ++printf "%s\n" "$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." ++ if test x$as_have_required = xno ++then : ++ printf "%s\n" "$0: This script requires a shell more modern than all" ++ printf "%s\n" "$0: the shells that I found on your system." ++ if test ${ZSH_VERSION+y} ; then ++ printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" ++ printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else +- $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, ++ printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, + $0: including any error possibly output before this + $0: message. Then install a modern shell, or manually run + $0: the script under such a shell if you do have one." +@@ -299,6 +300,7 @@ + } + as_unset=as_fn_unset + ++ + # as_fn_set_status STATUS + # ----------------------- + # Set $? to STATUS, without forking. +@@ -316,6 +318,14 @@ + as_fn_set_status $1 + exit $1 + } # as_fn_exit ++# as_fn_nop ++# --------- ++# Do nothing but, unlike ":", preserve the value of $?. ++as_fn_nop () ++{ ++ return $? ++} ++as_nop=as_fn_nop + + # as_fn_mkdir_p + # ------------- +@@ -330,7 +340,7 @@ + as_dirs= + while :; do + case $as_dir in #( +- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" +@@ -339,7 +349,7 @@ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$as_dir" | ++printf "%s\n" X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -378,12 +388,13 @@ + # 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 : ++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 ++else $as_nop + as_fn_append () + { + eval $1=\$$1\$2 +@@ -395,18 +406,27 @@ + # 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 : ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null ++then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +-else ++else $as_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } + fi # as_fn_arith + ++# as_fn_nop ++# --------- ++# Do nothing but, unlike ":", preserve the value of $?. ++as_fn_nop () ++{ ++ return $? ++} ++as_nop=as_fn_nop + + # as_fn_error STATUS ERROR [LINENO LOG_FD] + # ---------------------------------------- +@@ -418,9 +438,9 @@ + 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi +- $as_echo "$as_me: error: $2" >&2 ++ printf "%s\n" "$as_me: error: $2" >&2 + as_fn_exit $as_status + } # as_fn_error + +@@ -447,7 +467,7 @@ + $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X/"$0" | ++printf "%s\n" X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q +@@ -491,7 +511,7 @@ + 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; } ++ { printf "%s\n" "$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 +@@ -505,6 +525,10 @@ + exit + } + ++ ++# Determine whether it's possible to make 'echo' print without a newline. ++# These variables are no longer used directly by Autoconf, but are AC_SUBSTed ++# for compatibility with existing Makefiles. + ECHO_C= ECHO_N= ECHO_T= + case `echo -n x` in #((((( + -n*) +@@ -518,6 +542,13 @@ + ECHO_N='-n';; + esac + ++# For backward compatibility with old third-party macros, we provide ++# the shell variables $as_echo and $as_echo_n. New code should use ++# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. ++as_echo='printf %s\n' ++as_echo_n='printf %s' ++ ++ + rm -f conf$$ conf$$.exe conf$$.file + if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +@@ -595,40 +626,36 @@ + ac_unique_file="./crlibm_private.c" + # Factoring default headers for most tests. + ac_includes_default="\ +-#include +-#ifdef HAVE_SYS_TYPES_H +-# include ++#include ++#ifdef HAVE_STDIO_H ++# include + #endif +-#ifdef HAVE_SYS_STAT_H +-# include +-#endif +-#ifdef STDC_HEADERS ++#ifdef HAVE_STDLIB_H + # 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_STRINGS_H ++# include ++#endif ++#ifdef HAVE_SYS_TYPES_H ++# include ++#endif ++#ifdef HAVE_SYS_STAT_H ++# include ++#endif + #ifdef HAVE_UNISTD_H + # include + #endif" + ++ac_header_c_list= + ac_unique_file="crlibm.h" + ac_subst_vars='am__EXEEXT_FALSE + am__EXEEXT_TRUE +@@ -645,7 +672,6 @@ + COMPILER_ICC_FALSE + COMPILER_ICC_TRUE + ISODATE +-CPP + LT_SYS_LIBRARY_PATH + OTOOL64 + OTOOL +@@ -674,7 +700,6 @@ + AMDEPBACKSLASH + AMDEP_FALSE + AMDEP_TRUE +-am__quote + am__include + DEPDIR + OBJEXT +@@ -697,6 +722,9 @@ + AM_DEFAULT_VERBOSITY + AM_DEFAULT_V + AM_V ++CSCOPE ++ETAGS ++CTAGS + am__untar + am__tar + AMTAR +@@ -739,6 +767,7 @@ + docdir + oldincludedir + includedir ++runstatedir + localstatedir + sharedstatedir + sysconfdir +@@ -757,7 +786,8 @@ + PACKAGE_TARNAME + PACKAGE_NAME + PATH_SEPARATOR +-SHELL' ++SHELL ++am__quote' + ac_subst_files='' + ac_user_opts=' + enable_option_checking +@@ -801,8 +831,7 @@ + LDFLAGS + LIBS + CPPFLAGS +-LT_SYS_LIBRARY_PATH +-CPP' ++LT_SYS_LIBRARY_PATH' + + + # Initialize some variables set by options. +@@ -841,6 +870,7 @@ + sysconfdir='${prefix}/etc' + sharedstatedir='${prefix}/com' + localstatedir='${prefix}/var' ++runstatedir='${localstatedir}/run' + includedir='${prefix}/include' + oldincludedir='/usr/include' + docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +@@ -870,8 +900,6 @@ + *) ac_optarg=yes ;; + esac + +- # Accept the important Cygnus configure options, so we can diagnose typos. +- + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; +@@ -912,9 +940,9 @@ + 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" ++ as_fn_error $? "invalid feature name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt +- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" + "enable_$ac_useropt" +@@ -938,9 +966,9 @@ + 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" ++ as_fn_error $? "invalid feature name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt +- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" + "enable_$ac_useropt" +@@ -1093,6 +1121,15 @@ + | -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=* \ +@@ -1142,9 +1179,9 @@ + 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" ++ as_fn_error $? "invalid package name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt +- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" + "with_$ac_useropt" +@@ -1158,9 +1195,9 @@ + 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" ++ as_fn_error $? "invalid package name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt +- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" + "with_$ac_useropt" +@@ -1204,9 +1241,9 @@ + + *) + # FIXME: should be removed in autoconf 3.0. +- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 ++ printf "%s\n" "$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 ++ printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + +@@ -1222,7 +1259,7 @@ + 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 ;; ++ *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac + fi + +@@ -1230,7 +1267,7 @@ + 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 ++ libdir localedir mandir runstatedir + do + eval ac_val=\$$ac_var + # Remove trailing slashes. +@@ -1286,7 +1323,7 @@ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$as_myself" | ++printf "%s\n" X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -1383,6 +1420,7 @@ + --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] +@@ -1476,7 +1514,6 @@ + you have headers in a nonstandard directory + LT_SYS_LIBRARY_PATH + User-defined run-time library search path. +- CPP C preprocessor + + Use these variables to override the choices made by `configure' or to help + it to find libraries and programs with nonstandard names/locations. +@@ -1497,9 +1534,9 @@ + case "$ac_dir" in + .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) +- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` ++ ac_dir_suffix=/`printf "%s\n" "$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|/||'` ++ ac_top_builddir_sub=`printf "%s\n" "$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/ ;; +@@ -1527,7 +1564,8 @@ + ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } +- # Check for guested configure. ++ # Check for configure.gnu first; this name is used for a wrapper for ++ # Metaconfig's "Configure" on case-insensitive file systems. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive +@@ -1535,7 +1573,7 @@ + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else +- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 ++ printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +@@ -1545,9 +1583,9 @@ + if $ac_init_version; then + cat <<\_ACEOF + crlibm configure 1.0beta4 +-generated by GNU Autoconf 2.69 ++generated by GNU Autoconf 2.71 + +-Copyright (C) 2012 Free Software Foundation, Inc. ++Copyright (C) 2021 Free Software Foundation, Inc. + This configure script is free software; the Free Software Foundation + gives unlimited permission to copy, distribute and modify it. + _ACEOF +@@ -1564,14 +1602,14 @@ + ac_fn_c_try_compile () + { + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +- rm -f conftest.$ac_objext ++ rm -f conftest.$ac_objext conftest.beam + 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 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -1579,14 +1617,15 @@ + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$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 : ++ } && test -s conftest.$ac_objext ++then : + ac_retval=0 +-else +- $as_echo "$as_me: failed program was:" >&5 ++else $as_nop ++ printf "%s\n" "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +@@ -1602,14 +1641,14 @@ + 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 ++ rm -f conftest.$ac_objext conftest.beam 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 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -1617,17 +1656,18 @@ + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$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 : ++ } ++then : + ac_retval=0 +-else +- $as_echo "$as_me: failed program was:" >&5 ++else $as_nop ++ printf "%s\n" "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +@@ -1649,120 +1689,44 @@ + 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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 ++printf %s "checking for $2... " >&6; } ++if eval test \${$3+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $4 + #include <$2> + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + eval "$3=yes" +-else ++else $as_nop + eval "$3=no" + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi + eval ac_res=\$$3 +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +-$as_echo "$ac_res" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + + } # ac_fn_c_check_header_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_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_func LINENO FUNC VAR + # ---------------------------------- + # Tests whether FUNC exists, setting the cache variable VAR accordingly + ac_fn_c_check_func () + { + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +-$as_echo_n "checking for $2... " >&6; } +-if eval \${$3+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 ++printf %s "checking for $2... " >&6; } ++if eval test \${$3+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + /* Define $2 to an innocuous variant, in case declares $2. +@@ -1770,16 +1734,9 @@ + #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. */ ++ which can conflict with char $2 (); below. */ + +-#ifdef __STDC__ +-# include +-#else +-# include +-#endif +- ++#include + #undef $2 + + /* Override any GCC internal prototype to avoid an error. +@@ -1797,114 +1754,71 @@ + #endif + + int +-main () ++main (void) + { + return $2 (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + eval "$3=yes" +-else ++else $as_nop + eval "$3=no" + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + + } # ac_fn_c_check_func + +-# 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 () ++# ac_fn_c_try_run LINENO ++# ---------------------- ++# Try to run 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 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; } ++ 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\"" ++printf "%s\n" "$ac_try_echo"; } >&5 ++ (eval "$ac_link") 2>&5 ++ ac_status=$? ++ printf "%s\n" "$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\"" ++printf "%s\n" "$ac_try_echo"; } >&5 ++ (eval "$ac_try") 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; } ++then : ++ ac_retval=0 ++else $as_nop ++ printf "%s\n" "$as_me: program exited with status $ac_status" >&5 ++ printf "%s\n" "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + +-# 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 ++ ac_retval=$ac_status + 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;} +- ;; +-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 ++ 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_check_header_mongrel ++} # ac_fn_c_try_run + + # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES + # -------------------------------------------- +@@ -1920,7 +1834,7 @@ + /* end confdefs.h. */ + $4 + int +-main () ++main (void) + { + static int test_array [1 - 2 * !(($2) >= 0)]; + test_array [0] = 0; +@@ -1930,14 +1844,15 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 () ++main (void) + { + static int test_array [1 - 2 * !(($2) <= $ac_mid)]; + test_array [0] = 0; +@@ -1947,9 +1862,10 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_hi=$ac_mid; break +-else ++else $as_nop + as_fn_arith $ac_mid + 1 && ac_lo=$as_val + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= +@@ -1957,14 +1873,14 @@ + fi + as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + done +-else ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $4 + int +-main () ++main (void) + { + static int test_array [1 - 2 * !(($2) < 0)]; + test_array [0] = 0; +@@ -1974,14 +1890,15 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 () ++main (void) + { + static int test_array [1 - 2 * !(($2) >= $ac_mid)]; + test_array [0] = 0; +@@ -1991,9 +1908,10 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_lo=$ac_mid; break +-else ++else $as_nop + as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= +@@ -2001,14 +1919,14 @@ + fi + as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + done +-else ++else $as_nop + ac_lo= ac_hi= + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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 +@@ -2016,7 +1934,7 @@ + /* end confdefs.h. */ + $4 + int +-main () ++main (void) + { + static int test_array [1 - 2 * !(($2) <= $ac_mid)]; + test_array [0] = 0; +@@ -2026,12 +1944,13 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_hi=$ac_mid +-else ++else $as_nop + as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + done + case $ac_lo in #(( + ?*) eval "$3=\$ac_lo"; ac_retval=0 ;; +@@ -2041,12 +1960,12 @@ + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $4 +-static long int longval () { return $2; } +-static unsigned long int ulongval () { return $2; } ++static long int longval (void) { return $2; } ++static unsigned long int ulongval (void) { return $2; } + #include + #include + int +-main () ++main (void) + { + + FILE *f = fopen ("conftest.val", "w"); +@@ -2074,9 +1993,10 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_run "$LINENO"; then : ++if ac_fn_c_try_run "$LINENO" ++then : + echo >>conftest.val; read $3 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 crlibm $as_me 1.0beta4, which was +-generated by GNU Autoconf 2.69. Invocation command line was ++generated by GNU Autoconf 2.71. Invocation command line was + +- $ $0 $@ ++ $ $0$ac_configure_args_raw + + _ACEOF + exec 5>>config.log +@@ -2128,8 +2068,12 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- $as_echo "PATH: $as_dir" ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ printf "%s\n" "PATH: $as_dir" + done + IFS=$as_save_IFS + +@@ -2164,7 +2108,7 @@ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) +- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; +@@ -2199,11 +2143,13 @@ + # 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=$? ++ # Sanitize IFS. ++ IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + +- $as_echo "## ---------------- ## ++ printf "%s\n" "## ---------------- ## + ## Cache variables. ## + ## ---------------- ##" + echo +@@ -2214,8 +2160,8 @@ + 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;} ;; ++ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( +@@ -2239,7 +2185,7 @@ + ) + echo + +- $as_echo "## ----------------- ## ++ printf "%s\n" "## ----------------- ## + ## Output variables. ## + ## ----------------- ##" + echo +@@ -2247,14 +2193,14 @@ + do + eval ac_val=\$$ac_var + case $ac_val in +- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac +- $as_echo "$ac_var='\''$ac_val'\''" ++ printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then +- $as_echo "## ------------------- ## ++ printf "%s\n" "## ------------------- ## + ## File substitutions. ## + ## ------------------- ##" + echo +@@ -2262,15 +2208,15 @@ + do + eval ac_val=\$$ac_var + case $ac_val in +- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac +- $as_echo "$ac_var='\''$ac_val'\''" ++ printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then +- $as_echo "## ----------- ## ++ printf "%s\n" "## ----------- ## + ## confdefs.h. ## + ## ----------- ##" + echo +@@ -2278,8 +2224,8 @@ + echo + fi + test "$ac_signal" != 0 && +- $as_echo "$as_me: caught signal $ac_signal" +- $as_echo "$as_me: exit $exit_status" ++ printf "%s\n" "$as_me: caught signal $ac_signal" ++ printf "%s\n" "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && +@@ -2293,63 +2239,48 @@ + # confdefs.h avoids OS command line length limits that DEFS can exceed. + rm -f -r conftest* confdefs.h + +-$as_echo "/* confdefs.h */" > confdefs.h ++printf "%s\n" "/* confdefs.h */" > confdefs.h + + # Predefined preprocessor variables. + +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE_NAME "$PACKAGE_NAME" +-_ACEOF ++printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +-_ACEOF ++printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE_VERSION "$PACKAGE_VERSION" +-_ACEOF ++printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE_STRING "$PACKAGE_STRING" +-_ACEOF ++printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +-_ACEOF ++printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE_URL "$PACKAGE_URL" +-_ACEOF ++printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + + # 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 ++ ac_site_files="$CONFIG_SITE" + elif test "x$prefix" != xNONE; then +- ac_site_file1=$prefix/share/config.site +- ac_site_file2=$prefix/etc/config.site ++ ac_site_files="$prefix/share/config.site $prefix/etc/config.site" + else +- ac_site_file1=$ac_default_prefix/share/config.site +- ac_site_file2=$ac_default_prefix/etc/config.site ++ ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi +-for ac_site_file in "$ac_site_file1" "$ac_site_file2" ++ ++for ac_site_file in $ac_site_files + 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;} ++ case $ac_site_file in #( ++ */*) : ++ ;; #( ++ *) : ++ ac_site_file=./$ac_site_file ;; ++esac ++ if test -f "$ac_site_file" && test -r "$ac_site_file"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 ++printf "%s\n" "$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;} ++ || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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 +@@ -2359,19 +2290,434 @@ + # 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 ++printf "%s\n" "$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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 ++printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file + fi + ++# Test code for whether the C compiler supports C89 (global declarations) ++ac_c_conftest_c89_globals=' ++/* Does the compiler advertise C89 conformance? ++ Do not test the value of __STDC__, because some compilers set it to 0 ++ while being otherwise adequately conformant. */ ++#if !defined __STDC__ ++# error "Compiler does not advertise C89 conformance" ++#endif ++ ++#include ++#include ++struct stat; ++/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ ++struct buf { int x; }; ++struct buf * (*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 do not provoke an error unfortunately, instead are silently treated ++ as an "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 is necessary to write \x00 == 0 to get something ++ that is 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 **, int *(*)(struct buf *, struct stat *, int), ++ int, int);' ++ ++# Test code for whether the C compiler supports C89 (body of main). ++ac_c_conftest_c89_main=' ++ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); ++' ++ ++# Test code for whether the C compiler supports C99 (global declarations) ++ac_c_conftest_c99_globals=' ++// Does the compiler advertise C99 conformance? ++#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L ++# error "Compiler does not advertise C99 conformance" ++#endif ++ ++#include ++extern int puts (const char *); ++extern int printf (const char *, ...); ++extern int dprintf (int, const char *, ...); ++extern void *malloc (size_t); ++ ++// Check varargs macros. These examples are taken from C99 6.10.3.5. ++// dprintf is used instead of fprintf to avoid needing to declare ++// FILE and stderr. ++#define debug(...) dprintf (2, __VA_ARGS__) ++#define showlist(...) puts (#__VA_ARGS__) ++#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) ++static void ++test_varargs_macros (void) ++{ ++ int x = 1234; ++ int y = 5678; ++ debug ("Flag"); ++ debug ("X = %d\n", x); ++ showlist (The first, second, and third items.); ++ report (x>y, "x is %d but y is %d", x, y); ++} ++ ++// Check long long types. ++#define BIG64 18446744073709551615ull ++#define BIG32 4294967295ul ++#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) ++#if !BIG_OK ++ #error "your preprocessor is broken" ++#endif ++#if BIG_OK ++#else ++ #error "your preprocessor is broken" ++#endif ++static long long int bignum = -9223372036854775807LL; ++static unsigned long long int ubignum = BIG64; ++ ++struct incomplete_array ++{ ++ int datasize; ++ double data[]; ++}; ++ ++struct named_init { ++ int number; ++ const wchar_t *name; ++ double average; ++}; ++ ++typedef const char *ccp; ++ ++static inline int ++test_restrict (ccp restrict text) ++{ ++ // See if C++-style comments work. ++ // Iterate through items via the restricted pointer. ++ // Also check for declarations in for loops. ++ for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) ++ continue; ++ return 0; ++} ++ ++// Check varargs and va_copy. ++static bool ++test_varargs (const char *format, ...) ++{ ++ va_list args; ++ va_start (args, format); ++ va_list args_copy; ++ va_copy (args_copy, args); ++ ++ const char *str = ""; ++ int number = 0; ++ float fnumber = 0; ++ ++ while (*format) ++ { ++ switch (*format++) ++ { ++ case '\''s'\'': // string ++ str = va_arg (args_copy, const char *); ++ break; ++ case '\''d'\'': // int ++ number = va_arg (args_copy, int); ++ break; ++ case '\''f'\'': // float ++ fnumber = va_arg (args_copy, double); ++ break; ++ default: ++ break; ++ } ++ } ++ va_end (args_copy); ++ va_end (args); ++ ++ return *str && number && fnumber; ++} ++' ++ ++# Test code for whether the C compiler supports C99 (body of main). ++ac_c_conftest_c99_main=' ++ // Check bool. ++ _Bool success = false; ++ success |= (argc != 0); ++ ++ // Check restrict. ++ if (test_restrict ("String literal") == 0) ++ success = true; ++ char *restrict newvar = "Another string"; ++ ++ // Check varargs. ++ success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); ++ test_varargs_macros (); ++ ++ // Check flexible array members. ++ struct incomplete_array *ia = ++ malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); ++ ia->datasize = 10; ++ for (int i = 0; i < ia->datasize; ++i) ++ ia->data[i] = i * 1.234; ++ ++ // Check named initializers. ++ struct named_init ni = { ++ .number = 34, ++ .name = L"Test wide string", ++ .average = 543.34343, ++ }; ++ ++ ni.number = 58; ++ ++ int dynamic_array[ni.number]; ++ dynamic_array[0] = argv[0][0]; ++ dynamic_array[ni.number - 1] = 543; ++ ++ // work around unused variable warnings ++ ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' ++ || dynamic_array[ni.number - 1] != 543); ++' ++ ++# Test code for whether the C compiler supports C11 (global declarations) ++ac_c_conftest_c11_globals=' ++// Does the compiler advertise C11 conformance? ++#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L ++# error "Compiler does not advertise C11 conformance" ++#endif ++ ++// Check _Alignas. ++char _Alignas (double) aligned_as_double; ++char _Alignas (0) no_special_alignment; ++extern char aligned_as_int; ++char _Alignas (0) _Alignas (int) aligned_as_int; ++ ++// Check _Alignof. ++enum ++{ ++ int_alignment = _Alignof (int), ++ int_array_alignment = _Alignof (int[100]), ++ char_alignment = _Alignof (char) ++}; ++_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); ++ ++// Check _Noreturn. ++int _Noreturn does_not_return (void) { for (;;) continue; } ++ ++// Check _Static_assert. ++struct test_static_assert ++{ ++ int x; ++ _Static_assert (sizeof (int) <= sizeof (long int), ++ "_Static_assert does not work in struct"); ++ long int y; ++}; ++ ++// Check UTF-8 literals. ++#define u8 syntax error! ++char const utf8_literal[] = u8"happens to be ASCII" "another string"; ++ ++// Check duplicate typedefs. ++typedef long *long_ptr; ++typedef long int *long_ptr; ++typedef long_ptr long_ptr; ++ ++// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. ++struct anonymous ++{ ++ union { ++ struct { int i; int j; }; ++ struct { int k; long int l; } w; ++ }; ++ int m; ++} v1; ++' ++ ++# Test code for whether the C compiler supports C11 (body of main). ++ac_c_conftest_c11_main=' ++ _Static_assert ((offsetof (struct anonymous, i) ++ == offsetof (struct anonymous, w.k)), ++ "Anonymous union alignment botch"); ++ v1.i = 2; ++ v1.w.k = 5; ++ ok |= v1.i != 5; ++' ++ ++# Test code for whether the C compiler supports C11 (complete). ++ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} ++${ac_c_conftest_c99_globals} ++${ac_c_conftest_c11_globals} ++ ++int ++main (int argc, char **argv) ++{ ++ int ok = 0; ++ ${ac_c_conftest_c89_main} ++ ${ac_c_conftest_c99_main} ++ ${ac_c_conftest_c11_main} ++ return ok; ++} ++" ++ ++# Test code for whether the C compiler supports C99 (complete). ++ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} ++${ac_c_conftest_c99_globals} ++ ++int ++main (int argc, char **argv) ++{ ++ int ok = 0; ++ ${ac_c_conftest_c89_main} ++ ${ac_c_conftest_c99_main} ++ return ok; ++} ++" ++ ++# Test code for whether the C compiler supports C89 (complete). ++ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} ++ ++int ++main (int argc, char **argv) ++{ ++ int ok = 0; ++ ${ac_c_conftest_c89_main} ++ return ok; ++} ++" ++ ++as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" ++as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" ++as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" ++as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" ++as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" ++as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" ++as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" ++as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" ++as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" ++ ++# Auxiliary files required by this configure script. ++ac_aux_files="compile config.guess config.sub ltmain.sh missing install-sh" ++ ++# Locations in which to look for auxiliary files. ++ac_aux_dir_candidates="${srcdir}${PATH_SEPARATOR}${srcdir}/..${PATH_SEPARATOR}${srcdir}/../.." ++ ++# Search for a directory containing all of the required auxiliary files, ++# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. ++# If we don't find one directory that contains all the files we need, ++# we report the set of missing files from the *first* directory in ++# $ac_aux_dir_candidates and give up. ++ac_missing_aux_files="" ++ac_first_candidate=: ++printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++as_found=false ++for as_dir in $ac_aux_dir_candidates ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ as_found=: ++ ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 ++ ac_aux_dir_found=yes ++ ac_install_sh= ++ for ac_aux in $ac_aux_files ++ do ++ # As a special case, if "install-sh" is required, that requirement ++ # can be satisfied by any of "install-sh", "install.sh", or "shtool", ++ # and $ac_install_sh is set appropriately for whichever one is found. ++ if test x"$ac_aux" = x"install-sh" ++ then ++ if test -f "${as_dir}install-sh"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 ++ ac_install_sh="${as_dir}install-sh -c" ++ elif test -f "${as_dir}install.sh"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 ++ ac_install_sh="${as_dir}install.sh -c" ++ elif test -f "${as_dir}shtool"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 ++ ac_install_sh="${as_dir}shtool install -c" ++ else ++ ac_aux_dir_found=no ++ if $ac_first_candidate; then ++ ac_missing_aux_files="${ac_missing_aux_files} install-sh" ++ else ++ break ++ fi ++ fi ++ else ++ if test -f "${as_dir}${ac_aux}"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 ++ else ++ ac_aux_dir_found=no ++ if $ac_first_candidate; then ++ ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" ++ else ++ break ++ fi ++ fi ++ fi ++ done ++ if test "$ac_aux_dir_found" = yes; then ++ ac_aux_dir="$as_dir" ++ break ++ fi ++ ac_first_candidate=false ++ ++ as_found=false ++done ++IFS=$as_save_IFS ++if $as_found ++then : ++ ++else $as_nop ++ as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. ++if test -f "${ac_aux_dir}config.guess"; then ++ ac_config_guess="$SHELL ${ac_aux_dir}config.guess" ++fi ++if test -f "${ac_aux_dir}config.sub"; then ++ ac_config_sub="$SHELL ${ac_aux_dir}config.sub" ++fi ++if test -f "$ac_aux_dir/configure"; then ++ ac_configure="$SHELL ${ac_aux_dir}configure" ++fi ++ + # Check that the precious variables saved in the cache have kept the same + # value. + ac_cache_corrupted=false +@@ -2382,12 +2728,12 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 ++printf "%s\n" "$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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 ++printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) +@@ -2396,24 +2742,24 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 ++printf "%s\n" "$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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 ++printf "%s\n" "$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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 ++printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 ++printf "%s\n" "$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=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in +@@ -2423,11 +2769,12 @@ + 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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 ++printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} ++ as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file' ++ and start over" "$LINENO" 5 + fi + ## -------------------- ## + ## Main body of script. ## +@@ -2442,38 +2789,11 @@ + + + +-am__api_version='1.15' ++am__api_version='1.16' + +-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. + +- +-# Find a good install program. We prefer a C program (faster), ++ # 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 +@@ -2487,20 +2807,25 @@ + # 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 ++printf %s "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 ++if test ${ac_cv_path_install+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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]/* | \ ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ # Account for fact that we put trailing slashes in our PATH walk. ++case $as_dir in #(( ++ ./ | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; +@@ -2510,13 +2835,13 @@ + # 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 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 ++ 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 ++ 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 +@@ -2524,12 +2849,12 @@ + 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" && ++ 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" ++ ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c" + break 3 + fi + fi +@@ -2545,7 +2870,7 @@ + rm -rf conftest.one conftest.two conftest.dir + + fi +- if test "${ac_cv_path_install+set}" = set; then ++ if test ${ac_cv_path_install+y}; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a +@@ -2555,8 +2880,8 @@ + INSTALL=$ac_install_sh + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +-$as_echo "$INSTALL" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 ++printf "%s\n" "$INSTALL" >&6; } + + # Use test -z because SunOS4 sh mishandles braces in ${var-val}. + # It thinks the first close brace ends the variable substitution. +@@ -2566,8 +2891,8 @@ + + test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +-$as_echo_n "checking whether build environment is sane... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 ++printf %s "checking whether build environment is sane... " >&6; } + # Reject unsafe characters in $srcdir or the absolute working directory + # name. Accept space and tab only in the latter. + am_lf=' +@@ -2621,8 +2946,8 @@ + as_fn_error $? "newly created file is older than distributed files! + Check your system clock" "$LINENO" 5 + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + # If we didn't sleep, we still need to ensure time stamps of config.status and + # generated files are strictly newer. + am_sleep_pid= +@@ -2641,26 +2966,23 @@ + # Double any \ or $. + # By default was `s,x,x', remove it if useless. + ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` ++program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"` + ++ + # Expand $ac_aux_dir to an absolute path. + am_aux_dir=`cd "$ac_aux_dir" && pwd` + +-if test x"${MISSING+set}" != xset; then +- case $am_aux_dir in +- *\ * | *\ *) +- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; +- *) +- MISSING="\${SHELL} $am_aux_dir/missing" ;; +- esac ++ ++ if test x"${MISSING+set}" != xset; then ++ MISSING="\${SHELL} '$am_aux_dir/missing'" + fi + # Use eval to expand $SHELL + if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " + else + am_missing_run= +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +-$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 ++printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;} + fi + + if test x"${install_sh+set}" != xset; then +@@ -2680,11 +3002,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. + set dummy ${ac_tool_prefix}strip; 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_STRIP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. + else +@@ -2692,11 +3015,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -2707,11 +3034,11 @@ + fi + STRIP=$ac_cv_prog_STRIP + if test -n "$STRIP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +-$as_echo "$STRIP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 ++printf "%s\n" "$STRIP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -2720,11 +3047,12 @@ + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. + set dummy strip; 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_STRIP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. + else +@@ -2732,11 +3060,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -2747,11 +3079,11 @@ + fi + ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP + if test -n "$ac_ct_STRIP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +-$as_echo "$ac_ct_STRIP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 ++printf "%s\n" "$ac_ct_STRIP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_STRIP" = x; then +@@ -2759,8 +3091,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + STRIP=$ac_ct_STRIP +@@ -2772,25 +3104,31 @@ + fi + INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +-{ $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; } ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5 ++printf %s "checking for a race-free mkdir -p... " >&6; } + if test -z "$MKDIR_P"; then +- if ${ac_cv_path_mkdir+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${ac_cv_path_mkdir+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + 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) '* | \ ++ 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 ('*'coreutils) '* | \ ++ 'BusyBox '* | \ + 'mkdir (fileutils) '4.1*) +- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext ++ ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext + break 3;; + esac + done +@@ -2801,7 +3139,7 @@ + fi + + test -d ./--version && rmdir ./--version +- if test "${ac_cv_path_mkdir+set}" = set; then ++ if test ${ac_cv_path_mkdir+y}; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a +@@ -2811,18 +3149,19 @@ + MKDIR_P="$ac_install_sh -d" + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +-$as_echo "$MKDIR_P" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 ++printf "%s\n" "$MKDIR_P" >&6; } + + for ac_prog in gawk mawk nawk awk + 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_AWK+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_AWK+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. + else +@@ -2830,11 +3169,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -2845,24 +3188,25 @@ + fi + AWK=$ac_cv_prog_AWK + if test -n "$AWK"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +-$as_echo "$AWK" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 ++printf "%s\n" "$AWK" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + + test -n "$AWK" && break + done + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 ++printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } + set x ${MAKE-make} +-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` ++if eval test \${ac_cv_prog_make_${ac_make}_set+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat >conftest.make <<\_ACEOF + SHELL = /bin/sh + all: +@@ -2878,12 +3222,12 @@ + rm -f conftest.make + fi + if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + SET_MAKE= + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" + fi + +@@ -2897,7 +3241,8 @@ + rmdir .tst 2>/dev/null + + # Check whether --enable-silent-rules was given. +-if test "${enable_silent_rules+set}" = set; then : ++if test ${enable_silent_rules+y} ++then : + enableval=$enable_silent_rules; + fi + +@@ -2907,12 +3252,13 @@ + *) AM_DEFAULT_VERBOSITY=1;; + esac + am_make=${MAKE-make} +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +-$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +-if ${am_cv_make_support_nested_variables+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if $as_echo 'TRUE=$(BAR$(V)) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 ++printf %s "checking whether $am_make supports nested variables... " >&6; } ++if test ${am_cv_make_support_nested_variables+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if printf "%s\n" 'TRUE=$(BAR$(V)) + BAR0=false + BAR1=true + V=1 +@@ -2924,8 +3270,8 @@ + am_cv_make_support_nested_variables=no + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +-$as_echo "$am_cv_make_support_nested_variables" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 ++printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } + if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +@@ -2960,14 +3306,10 @@ + VERSION='1.0beta4' + + +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE "$PACKAGE" +-_ACEOF ++printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h + + +-cat >>confdefs.h <<_ACEOF +-#define VERSION "$VERSION" +-_ACEOF ++printf "%s\n" "#define VERSION \"$VERSION\"" >>confdefs.h + + # Some tools Automake needs. + +@@ -2987,8 +3329,8 @@ + + # For better backward compatibility. To be removed once Automake 1.9.x + # dies out for good. For more background, see: +-# +-# ++# ++# + mkdir_p='$(MKDIR_P)' + + # We need awk for the "check" target (and possibly the TAP driver). The +@@ -3007,7 +3349,21 @@ + + + ++# Variables for tags utilities; see am/tags.am ++if test -z "$CTAGS"; then ++ CTAGS=ctags ++fi + ++if test -z "$ETAGS"; then ++ ETAGS=etags ++fi ++ ++if test -z "$CSCOPE"; then ++ CSCOPE=cscope ++fi ++ ++ ++ + # POSIX will say in a future version that running "rm -f" with no argument + # is OK; and we want to be able to make that assumption in our Makefile + # recipes. So use an aggressive probe to check that the usage we want is +@@ -3039,7 +3395,7 @@ + Aborting the configuration process, to ensure you take notice of the issue. + + You can download and install GNU coreutils to get an 'rm' implementation +-that behaves properly: . ++that behaves properly: . + + If you want to complete the configuration process using your problematic + 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +@@ -3055,7 +3411,8 @@ + + + # Check whether --enable-shared was given. +-if test "${enable_shared+set}" = set; then : ++if test ${enable_shared+y} ++then : + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; +@@ -3073,7 +3430,7 @@ + IFS=$lt_save_ifs + ;; + esac +-else ++else $as_nop + enable_shared=yes + fi + +@@ -3086,7 +3443,8 @@ + + + # Check whether --enable-static was given. +-if test "${enable_static+set}" = set; then : ++if test ${enable_static+y} ++then : + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; +@@ -3104,7 +3462,7 @@ + IFS=$lt_save_ifs + ;; + esac +-else ++else $as_nop + enable_static=yes + fi + +@@ -3118,8 +3476,8 @@ + + case `pwd` in + *\ * | *\ *) +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 ++printf "%s\n" "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; + esac + + +@@ -3139,28 +3497,32 @@ + + + ++ + ltmain=$ac_aux_dir/ltmain.sh + +-# 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 ++ ++ # 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 ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 ++printf %s "checking build system type... " >&6; } ++if test ${ac_cv_build+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_build_alias=$build_alias + test "x$ac_build_alias" = x && +- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` ++ 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 ++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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 ++printf "%s\n" "$ac_cv_build" >&6; } + case $ac_cv_build in + *-*-*) ;; + *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +@@ -3179,21 +3541,22 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 ++printf %s "checking host system type... " >&6; } ++if test ${ac_cv_host+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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 ++ 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 ++printf "%s\n" "$ac_cv_host" >&6; } + case $ac_cv_host in + *-*-*) ;; + *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +@@ -3233,8 +3596,8 @@ + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +-$as_echo_n "checking how to print strings... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 ++printf %s "checking how to print strings... " >&6; } + # Test print first, because it will be a builtin if present. + if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then +@@ -3260,12 +3623,12 @@ + } + + case $ECHO in +- printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +-$as_echo "printf" >&6; } ;; +- print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +-$as_echo "print -r" >&6; } ;; +- *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +-$as_echo "cat" >&6; } ;; ++ printf*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: printf" >&5 ++printf "%s\n" "printf" >&6; } ;; ++ print*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 ++printf "%s\n" "print -r" >&6; } ;; ++ *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cat" >&5 ++printf "%s\n" "cat" >&6; } ;; + esac + + +@@ -3281,52 +3644,62 @@ + + + ++ ++ ++ ++ ++ ++ ++ ++ ++ + DEPDIR="${am__leading_dot}deps" + + ac_config_commands="$ac_config_commands depfiles" + +- +-am_make=${MAKE-make} +-cat > confinc << 'END' ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 ++printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; } ++cat > confinc.mk << 'END' + am__doit: +- @echo this is the am__doit target ++ @echo this is the am__doit target >confinc.out + .PHONY: am__doit + END +-# If we don't find an include directive, just comment out the code. +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 +-$as_echo_n "checking for style of include used by $am_make... " >&6; } + am__include="#" + am__quote= +-_am_result=none +-# First try GNU make style include. +-echo "include confinc" > confmf +-# Ignore all kinds of additional output from 'make'. +-case `$am_make -s -f confmf 2> /dev/null` in #( +-*the\ am__doit\ target*) +- am__include=include +- am__quote= +- _am_result=GNU +- ;; +-esac +-# Now try BSD make style include. +-if test "$am__include" = "#"; then +- echo '.include "confinc"' > confmf +- case `$am_make -s -f confmf 2> /dev/null` in #( +- *the\ am__doit\ target*) +- am__include=.include +- am__quote="\"" +- _am_result=BSD ++# BSD make does it like this. ++echo '.include "confinc.mk" # ignored' > confmf.BSD ++# Other make implementations (GNU, Solaris 10, AIX) do it like this. ++echo 'include confinc.mk # ignored' > confmf.GNU ++_am_result=no ++for s in GNU BSD; do ++ { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 ++ (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++ case $?:`cat confinc.out 2>/dev/null` in #( ++ '0:this is the am__doit target') : ++ case $s in #( ++ BSD) : ++ am__include='.include' am__quote='"' ;; #( ++ *) : ++ am__include='include' am__quote='' ;; ++esac ;; #( ++ *) : + ;; +- esac +-fi ++esac ++ if test "$am__include" != "#"; then ++ _am_result="yes ($s style)" ++ break ++ fi ++done ++rm -f confinc.* confmf.* ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 ++printf "%s\n" "${_am_result}" >&6; } + +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 +-$as_echo "$_am_result" >&6; } +-rm -f confinc confmf +- + # Check whether --enable-dependency-tracking was given. +-if test "${enable_dependency_tracking+set}" = set; then : ++if test ${enable_dependency_tracking+y} ++then : + enableval=$enable_dependency_tracking; + fi + +@@ -3352,11 +3725,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +@@ -3364,11 +3738,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3379,11 +3757,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -3392,11 +3770,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + else +@@ -3404,11 +3783,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3419,11 +3802,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 ++printf "%s\n" "$ac_ct_CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_CC" = x; then +@@ -3431,8 +3814,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + CC=$ac_ct_CC +@@ -3445,11 +3828,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +@@ -3457,11 +3841,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3472,11 +3860,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -3485,11 +3873,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +@@ -3498,15 +3887,19 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + 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 ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3522,18 +3915,18 @@ + # 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+' '}$@" ++ 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -3544,11 +3937,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +@@ -3556,11 +3950,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3571,11 +3969,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -3588,11 +3986,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + else +@@ -3600,11 +3999,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3615,11 +4018,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 ++printf "%s\n" "$ac_ct_CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -3631,8 +4034,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + CC=$ac_ct_CC +@@ -3640,25 +4043,129 @@ + fi + + fi ++if test -z "$CC"; then ++ 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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}clang" ++ printf "%s\n" "$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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++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;} ++ ++fi ++if test -z "$ac_cv_prog_CC"; then ++ ac_ct_CC=$CC ++ # Extract the first word of "clang", so it can be a program name with args. ++set dummy clang; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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="clang" ++ printf "%s\n" "$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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 ++printf "%s\n" "$ac_ct_CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ if test "x$ac_ct_CC" = x; then ++ CC="" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$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 ++ ++fi ++ ++ ++test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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 ++printf "%s\n" "$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 ++for ac_option in --version -v -V -qversion -version; 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 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -3668,7 +4175,7 @@ + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + done + +@@ -3676,7 +4183,7 @@ + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; +@@ -3688,9 +4195,9 @@ + # 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[^ ]*//'` ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 ++printf %s "checking whether the C compiler works... " >&6; } ++ac_link_default=`printf "%s\n" "$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.*" +@@ -3711,11 +4218,12 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$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 : ++ printf "%s\n" "$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, +@@ -3732,7 +4240,7 @@ + # certainly right. + break;; + *.* ) +- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; ++ if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi +@@ -3748,44 +4256,46 @@ + done + test "$ac_cv_exeext" = no && ac_cv_exeext= + +-else ++else $as_nop + 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 ++if test -z "$ac_file" ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++printf "%s\n" "$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;} ++{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 ++printf %s "checking for C compiler default output file name... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 ++printf "%s\n" "$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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 ++printf %s "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 ++printf "%s\n" "$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 : ++ printf "%s\n" "$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 +@@ -3799,15 +4309,15 @@ + * ) 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;} ++else $as_nop ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 ++printf "%s\n" "$ac_cv_exeext" >&6; } + + rm -f conftest.$ac_ext + EXEEXT=$ac_cv_exeext +@@ -3816,7 +4326,7 @@ + /* end confdefs.h. */ + #include + int +-main () ++main (void) + { + FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; +@@ -3828,8 +4338,8 @@ + 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 ++printf %s "checking whether we are cross compiling... " >&6; } + if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" + case "(($ac_try" in +@@ -3837,10 +4347,10 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in +@@ -3848,39 +4358,40 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$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. ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} ++as_fn_error 77 "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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 ++printf "%s\n" "$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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 ++printf %s "checking for suffix of object files... " >&6; } ++if test ${ac_cv_objext+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; +@@ -3894,11 +4405,12 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$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 : ++ printf "%s\n" "$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 +@@ -3907,31 +4419,32 @@ + break;; + esac + done +-else +- $as_echo "$as_me: failed program was:" >&5 ++else $as_nop ++ printf "%s\n" "$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;} ++{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 ++printf "%s\n" "$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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 ++printf %s "checking whether the compiler supports GNU C... " >&6; } ++if test ${ac_cv_c_compiler_gnu+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + #ifndef __GNUC__ + choke me +@@ -3941,29 +4454,33 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_compiler_gnu=yes +-else ++else $as_nop + ac_compiler_gnu=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 ++printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ + if test $ac_compiler_gnu = yes; then + GCC=yes + else + GCC= + fi +-ac_test_CFLAGS=${CFLAGS+set} ++ac_test_CFLAGS=${CFLAGS+y} + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 ++printf %s "checking whether $CC accepts -g... " >&6; } ++if test ${ac_cv_prog_cc_g+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no +@@ -3972,57 +4489,60 @@ + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_prog_cc_g=yes +-else ++else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-else ++else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 ++printf "%s\n" "$ac_cv_prog_cc_g" >&6; } ++if test $ac_test_CFLAGS; then + CFLAGS=$ac_save_CFLAGS + elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then +@@ -4037,95 +4557,145 @@ + 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_prog_cc_stdc=no ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 ++printf %s "checking for $CC option to enable C11 features... " >&6; } ++if test ${ac_cv_prog_cc_c11+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c11=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; +-} ++$ac_c_conftest_c11_program ++_ACEOF ++for ac_arg in '' -std=gnu11 ++do ++ CC="$ac_save_CC $ac_arg" ++ if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_c11=$ac_arg ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cc_c11" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CC=$ac_save_CC ++fi + +-/* 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]; ++if test "x$ac_cv_prog_cc_c11" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c11" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } ++ CC="$CC $ac_cv_prog_cc_c11" ++fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 ++ ac_prog_cc_stdc=c11 ++fi ++fi ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 ++printf %s "checking for $CC option to enable C99 features... " >&6; } ++if test ${ac_cv_prog_cc_c99+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c99=no ++ac_save_CC=$CC ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_c_conftest_c99_program ++_ACEOF ++for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= ++do ++ CC="$ac_save_CC $ac_arg" ++ if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_c99=$ac_arg ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cc_c99" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CC=$ac_save_CC ++fi + +-/* 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; +-} ++if test "x$ac_cv_prog_cc_c99" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c99" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } ++ CC="$CC $ac_cv_prog_cc_c99" ++fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 ++ ac_prog_cc_stdc=c99 ++fi ++fi ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 ++printf %s "checking for $CC option to enable C89 features... " >&6; } ++if test ${ac_cv_prog_cc_c89+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c89=no ++ac_save_CC=$CC ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_c_conftest_c89_program + _ACEOF +-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ +- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" ++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 : ++ if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_prog_cc_c89=$ac_arg + fi +-rm -f core conftest.err conftest.$ac_objext ++rm -f core conftest.err conftest.$ac_objext conftest.beam + 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 : + ++if test "x$ac_cv_prog_cc_c89" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c89" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } ++ CC="$CC $ac_cv_prog_cc_c89" + fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 ++ ac_prog_cc_stdc=c89 ++fi ++fi + + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' +@@ -4133,21 +4703,23 @@ + 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_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 whether $CC understands -c and -o together" >&5 +-$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +-if ${am_cv_prog_cc_c_o+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 ++printf %s "checking whether $CC understands -c and -o together... " >&6; } ++if test ${am_cv_prog_cc_c_o+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; +@@ -4175,8 +4747,8 @@ + rm -f core conftest* + unset am_i + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +-$as_echo "$am_cv_prog_cc_c_o" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 ++printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } + if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. +@@ -4194,11 +4766,12 @@ + + depcc="$CC" am_compiler_list= + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +-$as_echo_n "checking dependency style of $depcc... " >&6; } +-if ${am_cv_CC_dependencies_compiler_type+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 ++printf %s "checking dependency style of $depcc... " >&6; } ++if test ${am_cv_CC_dependencies_compiler_type+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For +@@ -4305,8 +4878,8 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 ++printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } + CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if +@@ -4320,11 +4893,12 @@ + fi + + +-{ $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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 ++printf %s "checking for a sed that does not truncate output... " >&6; } ++if test ${ac_cv_path_SED+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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" +@@ -4338,10 +4912,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_prog in sed gsed; do ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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" ++ 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 +@@ -4350,13 +4929,13 @@ + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; + *) + ac_count=0 +- $as_echo_n 0123456789 >"conftest.in" ++ printf %s 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" ++ printf "%s\n" '' >> "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 +@@ -4384,8 +4963,8 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +-$as_echo "$ac_cv_path_SED" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 ++printf "%s\n" "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +@@ -4402,11 +4981,12 @@ + + + +-{ $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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 ++printf %s "checking for grep that handles long lines and -e... " >&6; } ++if test ${ac_cv_path_GREP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST +@@ -4414,10 +4994,15 @@ + 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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" ++ 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 +@@ -4426,13 +5011,13 @@ + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; + *) + ac_count=0 +- $as_echo_n 0123456789 >"conftest.in" ++ printf %s 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" ++ printf "%s\n" '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 +@@ -4460,16 +5045,17 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +-$as_echo "$ac_cv_path_GREP" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 ++printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +-{ $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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 ++printf %s "checking for egrep... " >&6; } ++if test ${ac_cv_path_EGREP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else +@@ -4480,10 +5066,15 @@ + 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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" ++ 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 +@@ -4492,13 +5083,13 @@ + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; + *) + ac_count=0 +- $as_echo_n 0123456789 >"conftest.in" ++ printf %s 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" ++ printf "%s\n" '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 +@@ -4527,16 +5118,17 @@ + + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +-$as_echo "$ac_cv_path_EGREP" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 ++printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +-$as_echo_n "checking for fgrep... " >&6; } +-if ${ac_cv_path_FGREP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 ++printf %s "checking for fgrep... " >&6; } ++if test ${ac_cv_path_FGREP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else +@@ -4547,10 +5139,15 @@ + 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 fgrep; do ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_prog in fgrep ++ do + for ac_exec_ext in '' $ac_executable_extensions; do +- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" ++ ac_path_FGREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_FGREP" || continue + # Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +@@ -4559,13 +5156,13 @@ + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; + *) + ac_count=0 +- $as_echo_n 0123456789 >"conftest.in" ++ printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" +- $as_echo 'FGREP' >> "conftest.nl" ++ printf "%s\n" 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "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 +@@ -4594,8 +5191,8 @@ + + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +-$as_echo "$ac_cv_path_FGREP" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 ++printf "%s\n" "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +@@ -4620,17 +5217,18 @@ + + + # Check whether --with-gnu-ld was given. +-if test "${with_gnu_ld+set}" = set; then : ++if test ${with_gnu_ld+y} ++then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +-else ++else $as_nop + with_gnu_ld=no + fi + + ac_prog=ld + if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +-$as_echo_n "checking for ld used by $CC... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 ++printf %s "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw +@@ -4659,15 +5257,16 @@ + ;; + esac + elif test yes = "$with_gnu_ld"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +-$as_echo_n "checking for GNU ld... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 ++printf %s "checking for GNU ld... " >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +-$as_echo_n "checking for non-GNU ld... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 ++printf %s "checking for non-GNU ld... " >&6; } + fi +-if ${lt_cv_path_LD+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++if test ${lt_cv_path_LD+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do +@@ -4696,18 +5295,19 @@ + + LD=$lt_cv_path_LD + if test -n "$LD"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +-$as_echo "$LD" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 ++printf "%s\n" "$LD" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +-if ${lt_cv_prog_gnu_ld+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 ++printf %s "checking if the linker ($LD) is GNU ld... " >&6; } ++if test ${lt_cv_prog_gnu_ld+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + # I'd rather use --version here, but apparently some GNU lds only accept -v. + case `$LD -v 2>&1 &5 +-$as_echo "$lt_cv_prog_gnu_ld" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 ++printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } + with_gnu_ld=$lt_cv_prog_gnu_ld + + +@@ -4730,11 +5330,12 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +-if ${lt_cv_path_NM+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 ++printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; } ++if test ${lt_cv_path_NM+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM +@@ -4784,8 +5385,8 @@ + : ${lt_cv_path_NM=no} + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +-$as_echo "$lt_cv_path_NM" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 ++printf "%s\n" "$lt_cv_path_NM" >&6; } + if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM + else +@@ -4798,11 +5399,12 @@ + 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_DUMPBIN+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_DUMPBIN+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. + else +@@ -4810,11 +5412,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -4825,11 +5431,11 @@ + fi + DUMPBIN=$ac_cv_prog_DUMPBIN + if test -n "$DUMPBIN"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +-$as_echo "$DUMPBIN" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 ++printf "%s\n" "$DUMPBIN" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -4842,11 +5448,12 @@ + 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_DUMPBIN+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_DUMPBIN+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. + else +@@ -4854,11 +5461,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -4869,11 +5480,11 @@ + fi + ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN + if test -n "$ac_ct_DUMPBIN"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +-$as_echo "$ac_ct_DUMPBIN" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 ++printf "%s\n" "$ac_ct_DUMPBIN" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -4885,8 +5496,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + DUMPBIN=$ac_ct_DUMPBIN +@@ -4914,11 +5525,12 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +-$as_echo_n "checking the name lister ($NM) interface... " >&6; } +-if ${lt_cv_nm_interface+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 ++printf %s "checking the name lister ($NM) interface... " >&6; } ++if test ${lt_cv_nm_interface+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) +@@ -4934,26 +5546,27 @@ + fi + rm -f conftest* + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +-$as_echo "$lt_cv_nm_interface" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 ++printf "%s\n" "$lt_cv_nm_interface" >&6; } + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +-$as_echo_n "checking whether ln -s works... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 ++printf %s "checking whether ln -s works... " >&6; } + LN_S=$as_ln_s + if test "$LN_S" = "ln -s"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +-$as_echo "no, using $LN_S" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 ++printf "%s\n" "no, using $LN_S" >&6; } + fi + + # find the maximum length of command line arguments +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +-$as_echo_n "checking the maximum length of command line arguments... " >&6; } +-if ${lt_cv_sys_max_cmd_len+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 ++printf %s "checking the maximum length of command line arguments... " >&6; } ++if test ${lt_cv_sys_max_cmd_len+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + i=0 + teststring=ABCD + +@@ -5080,11 +5693,11 @@ + fi + + if test -n "$lt_cv_sys_max_cmd_len"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +-$as_echo "$lt_cv_sys_max_cmd_len" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 ++printf "%s\n" "$lt_cv_sys_max_cmd_len" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +-$as_echo "none" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 ++printf "%s\n" "none" >&6; } + fi + max_cmd_len=$lt_cv_sys_max_cmd_len + +@@ -5128,11 +5741,12 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +-$as_echo_n "checking how to convert $build file names to $host format... " >&6; } +-if ${lt_cv_to_host_file_cmd+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 ++printf %s "checking how to convert $build file names to $host format... " >&6; } ++if test ${lt_cv_to_host_file_cmd+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + case $host in + *-*-mingw* ) + case $build in +@@ -5168,18 +5782,19 @@ + fi + + to_host_file_cmd=$lt_cv_to_host_file_cmd +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +-$as_echo "$lt_cv_to_host_file_cmd" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 ++printf "%s\n" "$lt_cv_to_host_file_cmd" >&6; } + + + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } +-if ${lt_cv_to_tool_file_cmd+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 ++printf %s "checking how to convert $build file names to toolchain format... " >&6; } ++if test ${lt_cv_to_tool_file_cmd+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + #assume ordinary cross tools, or native build. + lt_cv_to_tool_file_cmd=func_convert_file_noop + case $host in +@@ -5195,22 +5810,23 @@ + fi + + to_tool_file_cmd=$lt_cv_to_tool_file_cmd +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +-$as_echo "$lt_cv_to_tool_file_cmd" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 ++printf "%s\n" "$lt_cv_to_tool_file_cmd" >&6; } + + + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +-$as_echo_n "checking for $LD option to reload object files... " >&6; } +-if ${lt_cv_ld_reload_flag+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 ++printf %s "checking for $LD option to reload object files... " >&6; } ++if test ${lt_cv_ld_reload_flag+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_ld_reload_flag='-r' + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +-$as_echo "$lt_cv_ld_reload_flag" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 ++printf "%s\n" "$lt_cv_ld_reload_flag" >&6; } + reload_flag=$lt_cv_ld_reload_flag + case $reload_flag in + "" | " "*) ;; +@@ -5243,11 +5859,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. + set dummy ${ac_tool_prefix}objdump; 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_OBJDUMP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_OBJDUMP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. + else +@@ -5255,11 +5872,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5270,11 +5891,11 @@ + fi + OBJDUMP=$ac_cv_prog_OBJDUMP + if test -n "$OBJDUMP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +-$as_echo "$OBJDUMP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 ++printf "%s\n" "$OBJDUMP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -5283,11 +5904,12 @@ + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. + set dummy objdump; 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_OBJDUMP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_OBJDUMP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. + else +@@ -5295,11 +5917,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5310,11 +5936,11 @@ + fi + ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP + if test -n "$ac_ct_OBJDUMP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +-$as_echo "$ac_ct_OBJDUMP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 ++printf "%s\n" "$ac_ct_OBJDUMP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_OBJDUMP" = x; then +@@ -5322,8 +5948,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + OBJDUMP=$ac_ct_OBJDUMP +@@ -5342,11 +5968,12 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +-$as_echo_n "checking how to recognize dependent libraries... " >&6; } +-if ${lt_cv_deplibs_check_method+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 ++printf %s "checking how to recognize dependent libraries... " >&6; } ++if test ${lt_cv_deplibs_check_method+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_file_magic_cmd='$MAGIC_CMD' + lt_cv_file_magic_test_file= + lt_cv_deplibs_check_method='unknown' +@@ -5542,8 +6169,8 @@ + esac + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +-$as_echo "$lt_cv_deplibs_check_method" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 ++printf "%s\n" "$lt_cv_deplibs_check_method" >&6; } + + file_magic_glob= + want_nocaseglob=no +@@ -5587,11 +6214,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. + set dummy ${ac_tool_prefix}dlltool; 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_DLLTOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_DLLTOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. + else +@@ -5599,11 +6227,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5614,11 +6246,11 @@ + fi + DLLTOOL=$ac_cv_prog_DLLTOOL + if test -n "$DLLTOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +-$as_echo "$DLLTOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 ++printf "%s\n" "$DLLTOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -5627,11 +6259,12 @@ + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. + set dummy dlltool; 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_DLLTOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_DLLTOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. + else +@@ -5639,11 +6272,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5654,11 +6291,11 @@ + fi + ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL + if test -n "$ac_ct_DLLTOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +-$as_echo "$ac_ct_DLLTOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 ++printf "%s\n" "$ac_ct_DLLTOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_DLLTOOL" = x; then +@@ -5666,8 +6303,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + DLLTOOL=$ac_ct_DLLTOOL +@@ -5687,11 +6324,12 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +-$as_echo_n "checking how to associate runtime and link libraries... " >&6; } +-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 ++printf %s "checking how to associate runtime and link libraries... " >&6; } ++if test ${lt_cv_sharedlib_from_linklib_cmd+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_sharedlib_from_linklib_cmd='unknown' + + case $host_os in +@@ -5714,8 +6352,8 @@ + esac + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 ++printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; } + sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd + test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + +@@ -5731,11 +6369,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_AR+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. + else +@@ -5743,11 +6382,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5758,11 +6401,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 ++printf "%s\n" "$AR" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -5775,11 +6418,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_AR+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. + else +@@ -5787,11 +6431,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5802,11 +6450,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 ++printf "%s\n" "$ac_ct_AR" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -5818,8 +6466,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + AR=$ac_ct_AR +@@ -5839,30 +6487,32 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +-$as_echo_n "checking for archiver @FILE support... " >&6; } +-if ${lt_cv_ar_at_file+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 ++printf %s "checking for archiver @FILE support... " >&6; } ++if test ${lt_cv_ar_at_file+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_ar_at_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -eq "$ac_status"; then + # Ensure the archiver fails upon bogus file names. +@@ -5870,7 +6520,7 @@ + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -ne "$ac_status"; then + lt_cv_ar_at_file=@ +@@ -5879,11 +6529,11 @@ + rm -f conftest.* libconftest.a + + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +-$as_echo "$lt_cv_ar_at_file" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 ++printf "%s\n" "$lt_cv_ar_at_file" >&6; } + + if test no = "$lt_cv_ar_at_file"; then + archiver_list_spec= +@@ -5900,11 +6550,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. + set dummy ${ac_tool_prefix}strip; 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_STRIP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. + else +@@ -5912,11 +6563,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5927,11 +6582,11 @@ + fi + STRIP=$ac_cv_prog_STRIP + if test -n "$STRIP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +-$as_echo "$STRIP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 ++printf "%s\n" "$STRIP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -5940,11 +6595,12 @@ + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. + set dummy strip; 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_STRIP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. + else +@@ -5952,11 +6608,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -5967,11 +6627,11 @@ + fi + ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP + if test -n "$ac_ct_STRIP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +-$as_echo "$ac_ct_STRIP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 ++printf "%s\n" "$ac_ct_STRIP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_STRIP" = x; then +@@ -5979,8 +6639,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + STRIP=$ac_ct_STRIP +@@ -5999,11 +6659,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. + set dummy ${ac_tool_prefix}ranlib; 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_RANLIB+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_RANLIB+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. + else +@@ -6011,11 +6672,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -6026,11 +6691,11 @@ + fi + RANLIB=$ac_cv_prog_RANLIB + if test -n "$RANLIB"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +-$as_echo "$RANLIB" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 ++printf "%s\n" "$RANLIB" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -6039,11 +6704,12 @@ + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. + set dummy ranlib; 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_RANLIB+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_RANLIB+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. + else +@@ -6051,11 +6717,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -6066,11 +6736,11 @@ + fi + ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB + if test -n "$ac_ct_RANLIB"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +-$as_echo "$ac_ct_RANLIB" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 ++printf "%s\n" "$ac_ct_RANLIB" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_RANLIB" = x; then +@@ -6078,8 +6748,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + RANLIB=$ac_ct_RANLIB +@@ -6168,11 +6838,12 @@ + + + # Check for command to grab the raw symbol name followed by C symbol from nm. +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } +-if ${lt_cv_sys_global_symbol_pipe+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 ++printf %s "checking command to parse $NM output from $compiler object... " >&6; } ++if test ${lt_cv_sys_global_symbol_pipe+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + + # These are sane defaults that work on at least a few old systems. + # [They come from Ultrix. What could be older than Ultrix?!! ;)] +@@ -6324,14 +6995,14 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 + (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then +@@ -6400,7 +7071,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest$ac_exeext; then + pipe_works=yes + fi +@@ -6435,11 +7106,11 @@ + lt_cv_sys_global_symbol_to_cdecl= + fi + if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +-$as_echo "failed" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5 ++printf "%s\n" "failed" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +-$as_echo "ok" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 ++printf "%s\n" "ok" >&6; } + fi + + # Response file support. +@@ -6485,13 +7156,14 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +-$as_echo_n "checking for sysroot... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 ++printf %s "checking for sysroot... " >&6; } + + # Check whether --with-sysroot was given. +-if test "${with_sysroot+set}" = set; then : ++if test ${with_sysroot+y} ++then : + withval=$with_sysroot; +-else ++else $as_nop + with_sysroot=no + fi + +@@ -6509,24 +7181,25 @@ + no|'') + ;; #( + *) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 +-$as_echo "$with_sysroot" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 ++printf "%s\n" "$with_sysroot" >&6; } + as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 + ;; + esac + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +-$as_echo "${lt_sysroot:-no}" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 ++printf "%s\n" "${lt_sysroot:-no}" >&6; } + + + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 +-$as_echo_n "checking for a working dd... " >&6; } +-if ${ac_cv_path_lt_DD+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 ++printf %s "checking for a working dd... " >&6; } ++if test ${ac_cv_path_lt_DD+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + printf 0123456789abcdef0123456789abcdef >conftest.i + cat conftest.i conftest.i >conftest2.i + : ${lt_DD:=$DD} +@@ -6537,10 +7210,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_prog in dd; do ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_prog in dd ++ do + for ac_exec_ext in '' $ac_executable_extensions; do +- ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" ++ ac_path_lt_DD="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_lt_DD" || continue + if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ +@@ -6560,15 +7238,16 @@ + + rm -f conftest.i conftest2.i conftest.out + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +-$as_echo "$ac_cv_path_lt_DD" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 ++printf "%s\n" "$ac_cv_path_lt_DD" >&6; } + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 +-$as_echo_n "checking how to truncate binary pipes... " >&6; } +-if ${lt_cv_truncate_bin+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 ++printf %s "checking how to truncate binary pipes... " >&6; } ++if test ${lt_cv_truncate_bin+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + printf 0123456789abcdef0123456789abcdef >conftest.i + cat conftest.i conftest.i >conftest2.i + lt_cv_truncate_bin= +@@ -6579,8 +7258,8 @@ + rm -f conftest.i conftest2.i conftest.out + test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +-$as_echo "$lt_cv_truncate_bin" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 ++printf "%s\n" "$lt_cv_truncate_bin" >&6; } + + + +@@ -6603,7 +7282,8 @@ + } + + # Check whether --enable-libtool-lock was given. +-if test "${enable_libtool_lock+set}" = set; then : ++if test ${enable_libtool_lock+y} ++then : + enableval=$enable_libtool_lock; + fi + +@@ -6619,7 +7299,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) +@@ -6639,7 +7319,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + if test yes = "$lt_cv_prog_gnu_ld"; then + case `/usr/bin/file conftest.$ac_objext` in +@@ -6677,7 +7357,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + emul=elf + case `/usr/bin/file conftest.$ac_objext` in +@@ -6718,7 +7398,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *32-bit*) +@@ -6781,11 +7461,12 @@ + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -belf" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +-$as_echo_n "checking whether the C compiler needs -belf... " >&6; } +-if ${lt_cv_cc_needs_belf+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 ++printf %s "checking whether the C compiler needs -belf... " >&6; } ++if test ${lt_cv_cc_needs_belf+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' + ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +@@ -6796,19 +7477,20 @@ + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + lt_cv_cc_needs_belf=yes +-else ++else $as_nop + lt_cv_cc_needs_belf=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' +@@ -6817,8 +7499,8 @@ + ac_compiler_gnu=$ac_cv_c_compiler_gnu + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +-$as_echo "$lt_cv_cc_needs_belf" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 ++printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } + if test yes != "$lt_cv_cc_needs_belf"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS=$SAVE_CFLAGS +@@ -6831,7 +7513,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *64-bit*) +@@ -6868,11 +7550,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. + set dummy ${ac_tool_prefix}mt; 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_MANIFEST_TOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_MANIFEST_TOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$MANIFEST_TOOL"; then + ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. + else +@@ -6880,11 +7563,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -6895,11 +7582,11 @@ + fi + MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL + if test -n "$MANIFEST_TOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +-$as_echo "$MANIFEST_TOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 ++printf "%s\n" "$MANIFEST_TOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -6908,11 +7595,12 @@ + ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL + # Extract the first word of "mt", so it can be a program name with args. + set dummy mt; 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_MANIFEST_TOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_MANIFEST_TOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_MANIFEST_TOOL"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. + else +@@ -6920,11 +7608,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -6935,11 +7627,11 @@ + fi + ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL + if test -n "$ac_ct_MANIFEST_TOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 ++printf "%s\n" "$ac_ct_MANIFEST_TOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_MANIFEST_TOOL" = x; then +@@ -6947,8 +7639,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL +@@ -6958,11 +7650,12 @@ + fi + + test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +-if ${lt_cv_path_mainfest_tool+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 ++printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } ++if test ${lt_cv_path_mainfest_tool+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out +@@ -6972,8 +7665,8 @@ + fi + rm -f conftest* + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +-$as_echo "$lt_cv_path_mainfest_tool" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 ++printf "%s\n" "$lt_cv_path_mainfest_tool" >&6; } + if test yes != "$lt_cv_path_mainfest_tool"; then + MANIFEST_TOOL=: + fi +@@ -6988,11 +7681,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. + set dummy ${ac_tool_prefix}dsymutil; 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_DSYMUTIL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_DSYMUTIL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. + else +@@ -7000,11 +7694,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7015,11 +7713,11 @@ + fi + DSYMUTIL=$ac_cv_prog_DSYMUTIL + if test -n "$DSYMUTIL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +-$as_echo "$DSYMUTIL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 ++printf "%s\n" "$DSYMUTIL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -7028,11 +7726,12 @@ + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. + set dummy dsymutil; 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_DSYMUTIL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_DSYMUTIL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. + else +@@ -7040,11 +7739,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7055,11 +7758,11 @@ + fi + ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL + if test -n "$ac_ct_DSYMUTIL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +-$as_echo "$ac_ct_DSYMUTIL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 ++printf "%s\n" "$ac_ct_DSYMUTIL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_DSYMUTIL" = x; then +@@ -7067,8 +7770,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + DSYMUTIL=$ac_ct_DSYMUTIL +@@ -7080,11 +7783,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. + set dummy ${ac_tool_prefix}nmedit; 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_NMEDIT+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_NMEDIT+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. + else +@@ -7092,11 +7796,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7107,11 +7815,11 @@ + fi + NMEDIT=$ac_cv_prog_NMEDIT + if test -n "$NMEDIT"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +-$as_echo "$NMEDIT" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 ++printf "%s\n" "$NMEDIT" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -7120,11 +7828,12 @@ + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. + set dummy nmedit; 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_NMEDIT+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_NMEDIT+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. + else +@@ -7132,11 +7841,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7147,11 +7860,11 @@ + fi + ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT + if test -n "$ac_ct_NMEDIT"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +-$as_echo "$ac_ct_NMEDIT" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 ++printf "%s\n" "$ac_ct_NMEDIT" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_NMEDIT" = x; then +@@ -7159,8 +7872,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + NMEDIT=$ac_ct_NMEDIT +@@ -7172,11 +7885,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. + set dummy ${ac_tool_prefix}lipo; 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_LIPO+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_LIPO+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # Let the user override the test. + else +@@ -7184,11 +7898,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7199,11 +7917,11 @@ + fi + LIPO=$ac_cv_prog_LIPO + if test -n "$LIPO"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +-$as_echo "$LIPO" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 ++printf "%s\n" "$LIPO" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -7212,11 +7930,12 @@ + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. + set dummy lipo; 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_LIPO+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_LIPO+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. + else +@@ -7224,11 +7943,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_LIPO="lipo" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7239,11 +7962,11 @@ + fi + ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO + if test -n "$ac_ct_LIPO"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +-$as_echo "$ac_ct_LIPO" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 ++printf "%s\n" "$ac_ct_LIPO" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_LIPO" = x; then +@@ -7251,8 +7974,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + LIPO=$ac_ct_LIPO +@@ -7264,11 +7987,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. + set dummy ${ac_tool_prefix}otool; 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_OTOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_OTOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. + else +@@ -7276,11 +8000,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7291,11 +8019,11 @@ + fi + OTOOL=$ac_cv_prog_OTOOL + if test -n "$OTOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +-$as_echo "$OTOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 ++printf "%s\n" "$OTOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -7304,11 +8032,12 @@ + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. + set dummy otool; 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_OTOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_OTOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. + else +@@ -7316,11 +8045,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL="otool" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7331,11 +8064,11 @@ + fi + ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL + if test -n "$ac_ct_OTOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +-$as_echo "$ac_ct_OTOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 ++printf "%s\n" "$ac_ct_OTOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_OTOOL" = x; then +@@ -7343,8 +8076,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + OTOOL=$ac_ct_OTOOL +@@ -7356,11 +8089,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. + set dummy ${ac_tool_prefix}otool64; 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_OTOOL64+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_OTOOL64+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. + else +@@ -7368,11 +8102,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7383,11 +8121,11 @@ + fi + OTOOL64=$ac_cv_prog_OTOOL64 + if test -n "$OTOOL64"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +-$as_echo "$OTOOL64" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 ++printf "%s\n" "$OTOOL64" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -7396,11 +8134,12 @@ + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. + set dummy otool64; 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_OTOOL64+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_OTOOL64+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. + else +@@ -7408,11 +8147,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL64="otool64" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -7423,11 +8166,11 @@ + fi + ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 + if test -n "$ac_ct_OTOOL64"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +-$as_echo "$ac_ct_OTOOL64" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 ++printf "%s\n" "$ac_ct_OTOOL64" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_OTOOL64" = x; then +@@ -7435,8 +8178,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + OTOOL64=$ac_ct_OTOOL64 +@@ -7471,11 +8214,12 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +-$as_echo_n "checking for -single_module linker flag... " >&6; } +-if ${lt_cv_apple_cc_single_mod+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 ++printf %s "checking for -single_module linker flag... " >&6; } ++if test ${lt_cv_apple_cc_single_mod+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_apple_cc_single_mod=no + if test -z "$LT_MULTI_MODULE"; then + # By default we will add the -single_module flag. You can override +@@ -7504,14 +8248,15 @@ + rm -f conftest.* + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +-$as_echo "$lt_cv_apple_cc_single_mod" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 ++printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; } + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } +-if ${lt_cv_ld_exported_symbols_list+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 ++printf %s "checking for -exported_symbols_list linker flag... " >&6; } ++if test ${lt_cv_ld_exported_symbols_list+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym +@@ -7520,31 +8265,33 @@ + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + lt_cv_ld_exported_symbols_list=yes +-else ++else $as_nop + lt_cv_ld_exported_symbols_list=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 ++printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; } + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +-$as_echo_n "checking for -force_load linker flag... " >&6; } +-if ${lt_cv_ld_force_load+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 ++printf %s "checking for -force_load linker flag... " >&6; } ++if test ${lt_cv_ld_force_load+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF + int forced_loaded() { return 2;} +@@ -7572,8 +8319,8 @@ + rm -rf conftest.dSYM + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +-$as_echo "$lt_cv_ld_force_load" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 ++printf "%s\n" "$lt_cv_ld_force_load" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; +@@ -7644,290 +8391,47 @@ + esac + } + +-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 ++ac_header= ac_cache= ++for ac_item in $ac_header_c_list + 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 +- ++ if test $ac_cache; then ++ ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" ++ if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then ++ printf "%s\n" "#define $ac_item 1" >> confdefs.h ++ fi ++ ac_header= ac_cache= ++ elif test $ac_header; then ++ ac_cache=$ac_item ++ else ++ ac_header=$ac_item ++ fi + 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 + ++if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes ++then : + +-{ $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 ++printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h + +-int +-main () +-{ +- +- ; +- return 0; +-} +-_ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : +- ac_cv_header_stdc=yes +-else +- ac_cv_header_stdc=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +- +-if test $ac_cv_header_stdc = yes; then +- # SunOS 4.x string.h does not declare mem*, contrary to ANSI. +- cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-/* end confdefs.h. */ +-#include +- +-_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 ++ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$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 ++if test "x$ac_cv_header_dlfcn_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_DLFCN_H 1" >>confdefs.h + + fi + +-done + + +-for ac_header in dlfcn.h +-do : +- ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +-" +-if test "x$ac_cv_header_dlfcn_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_DLFCN_H 1 +-_ACEOF + +-fi + +-done +- +- +- +- +- + # Set options + + +@@ -7942,7 +8446,8 @@ + + + # Check whether --with-pic was given. +-if test "${with_pic+set}" = set; then : ++if test ${with_pic+y} ++then : + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; +@@ -7959,7 +8464,7 @@ + IFS=$lt_save_ifs + ;; + esac +-else ++else $as_nop + pic_mode=default + fi + +@@ -7971,7 +8476,8 @@ + + + # Check whether --enable-fast-install was given. +-if test "${enable_fast_install+set}" = set; then : ++if test ${enable_fast_install+y} ++then : + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; +@@ -7989,7 +8495,7 @@ + IFS=$lt_save_ifs + ;; + esac +-else ++else $as_nop + enable_fast_install=yes + fi + +@@ -8003,11 +8509,12 @@ + shared_archive_member_spec= + case $host,$enable_shared in + power*-*-aix[5-9]*,yes) +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 +-$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 ++printf %s "checking which variant of shared library versioning to provide... " >&6; } + + # Check whether --with-aix-soname was given. +-if test "${with_aix_soname+set}" = set; then : ++if test ${with_aix_soname+y} ++then : + withval=$with_aix_soname; case $withval in + aix|svr4|both) + ;; +@@ -8016,18 +8523,19 @@ + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname +-else +- if ${lt_cv_with_aix_soname+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++else $as_nop ++ if test ${lt_cv_with_aix_soname+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_with_aix_soname=aix + fi + + with_aix_soname=$lt_cv_with_aix_soname + fi + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 +-$as_echo "$with_aix_soname" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 ++printf "%s\n" "$with_aix_soname" >&6; } + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', +@@ -8109,11 +8617,12 @@ + setopt NO_GLOB_SUBST + fi + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +-$as_echo_n "checking for objdir... " >&6; } +-if ${lt_cv_objdir+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 ++printf %s "checking for objdir... " >&6; } ++if test ${lt_cv_objdir+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + rm -f .libs 2>/dev/null + mkdir .libs 2>/dev/null + if test -d .libs; then +@@ -8124,17 +8633,15 @@ + fi + rmdir .libs 2>/dev/null + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +-$as_echo "$lt_cv_objdir" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 ++printf "%s\n" "$lt_cv_objdir" >&6; } + objdir=$lt_cv_objdir + + + + + +-cat >>confdefs.h <<_ACEOF +-#define LT_OBJDIR "$lt_cv_objdir/" +-_ACEOF ++printf "%s\n" "#define LT_OBJDIR \"$lt_cv_objdir/\"" >>confdefs.h + + + +@@ -8180,11 +8687,12 @@ + case $deplibs_check_method in + file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } +-if ${lt_cv_path_MAGIC_CMD+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 ++printf %s "checking for ${ac_tool_prefix}file... " >&6; } ++if test ${lt_cv_path_MAGIC_CMD+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + case $MAGIC_CMD in + [\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. +@@ -8233,11 +8741,11 @@ + + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if test -n "$MAGIC_CMD"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +-$as_echo "$MAGIC_CMD" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 ++printf "%s\n" "$MAGIC_CMD" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -8246,11 +8754,12 @@ + + if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +-$as_echo_n "checking for file... " >&6; } +-if ${lt_cv_path_MAGIC_CMD+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for file" >&5 ++printf %s "checking for file... " >&6; } ++if test ${lt_cv_path_MAGIC_CMD+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + case $MAGIC_CMD in + [\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. +@@ -8299,11 +8808,11 @@ + + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if test -n "$MAGIC_CMD"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +-$as_echo "$MAGIC_CMD" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 ++printf "%s\n" "$MAGIC_CMD" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -8388,11 +8897,12 @@ + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + esac + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 ++printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } ++if test ${lt_cv_prog_compiler_rtti_exceptions+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext +@@ -8423,8 +8933,8 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + + if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +@@ -8781,26 +9291,28 @@ + ;; + esac + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +-$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +-if ${lt_cv_prog_compiler_pic+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 ++printf %s "checking for $compiler option to produce PIC... " >&6; } ++if test ${lt_cv_prog_compiler_pic+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +-$as_echo "$lt_cv_prog_compiler_pic" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; } + lt_prog_compiler_pic=$lt_cv_prog_compiler_pic + + # + # Check to make sure the PIC flag actually works. + # + if test -n "$lt_prog_compiler_pic"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +-if ${lt_cv_prog_compiler_pic_works+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 ++printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } ++if test ${lt_cv_prog_compiler_pic_works+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext +@@ -8831,8 +9343,8 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; } + + if test yes = "$lt_cv_prog_compiler_pic_works"; then + case $lt_prog_compiler_pic in +@@ -8860,11 +9372,12 @@ + # Check to make sure the static flag actually works. + # + wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +-if ${lt_cv_prog_compiler_static_works+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 ++printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } ++if test ${lt_cv_prog_compiler_static_works+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_static_works=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" +@@ -8888,8 +9401,8 @@ + LDFLAGS=$save_LDFLAGS + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +-$as_echo "$lt_cv_prog_compiler_static_works" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; } + + if test yes = "$lt_cv_prog_compiler_static_works"; then + : +@@ -8903,11 +9416,12 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +-if ${lt_cv_prog_compiler_c_o+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 ++printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } ++if test ${lt_cv_prog_compiler_c_o+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest +@@ -8950,19 +9464,20 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +-$as_echo "$lt_cv_prog_compiler_c_o" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } + + + + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +-if ${lt_cv_prog_compiler_c_o+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 ++printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } ++if test ${lt_cv_prog_compiler_c_o+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest +@@ -9005,8 +9520,8 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +-$as_echo "$lt_cv_prog_compiler_c_o" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } + + + +@@ -9014,19 +9529,19 @@ + hard_links=nottested + if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +-$as_echo_n "checking if we can lock with hard links... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 ++printf %s "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +-$as_echo "$hard_links" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 ++printf "%s\n" "$hard_links" >&6; } + if test no = "$hard_links"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +-$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 ++printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi + else +@@ -9038,8 +9553,8 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 ++printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag= +@@ -9594,21 +10109,23 @@ + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath + else +- if ${lt_cv_aix_libpath_+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${lt_cv_aix_libpath_+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { +@@ -9623,7 +10140,7 @@ + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib +@@ -9647,21 +10164,23 @@ + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath + else +- if ${lt_cv_aix_libpath_+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${lt_cv_aix_libpath_+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { +@@ -9676,7 +10195,7 @@ + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib +@@ -9927,11 +10446,12 @@ + + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +-$as_echo_n "checking if $CC understands -b... " >&6; } +-if ${lt_cv_prog_compiler__b+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 ++printf %s "checking if $CC understands -b... " >&6; } ++if test ${lt_cv_prog_compiler__b+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler__b=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -b" +@@ -9955,8 +10475,8 @@ + LDFLAGS=$save_LDFLAGS + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +-$as_echo "$lt_cv_prog_compiler__b" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 ++printf "%s\n" "$lt_cv_prog_compiler__b" >&6; } + + if test yes = "$lt_cv_prog_compiler__b"; then + archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +@@ -9996,28 +10516,30 @@ + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +-if ${lt_cv_irix_exported_symbol+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 ++printf %s "checking whether the $host_os linker accepts -exported_symbol... " >&6; } ++if test ${lt_cv_irix_exported_symbol+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + int foo (void) { return 0; } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + lt_cv_irix_exported_symbol=yes +-else ++else $as_nop + lt_cv_irix_exported_symbol=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +-$as_echo "$lt_cv_irix_exported_symbol" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 ++printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' + fi +@@ -10297,8 +10819,8 @@ + fi + fi + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +-$as_echo "$ld_shlibs" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 ++printf "%s\n" "$ld_shlibs" >&6; } + test no = "$ld_shlibs" && can_build_shared=no + + with_gnu_ld=$with_gnu_ld +@@ -10334,18 +10856,19 @@ + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +-if ${lt_cv_archive_cmds_need_lc+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 ++printf %s "checking whether -lc should be explicitly linked in... " >&6; } ++if test ${lt_cv_archive_cmds_need_lc+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest +@@ -10363,7 +10886,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc=no +@@ -10377,8 +10900,8 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 ++printf "%s\n" "$lt_cv_archive_cmds_need_lc" >&6; } + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc + ;; + esac +@@ -10537,8 +11060,8 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +-$as_echo_n "checking dynamic linker characteristics... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 ++printf %s "checking dynamic linker characteristics... " >&6; } + + if test yes = "$GCC"; then + case $host_os in +@@ -11099,9 +11622,10 @@ + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH +- if ${lt_cv_shlibpath_overrides_runpath+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${lt_cv_shlibpath_overrides_runpath+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir +@@ -11111,19 +11635,21 @@ + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : +- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : ++if ac_fn_c_try_link "$LINENO" ++then : ++ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null ++then : + lt_cv_shlibpath_overrides_runpath=yes + fi + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir +@@ -11358,8 +11884,8 @@ + dynamic_linker=no + ;; + esac +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +-$as_echo "$dynamic_linker" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 ++printf "%s\n" "$dynamic_linker" >&6; } + test no = "$dynamic_linker" && can_build_shared=no + + variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +@@ -11480,8 +12006,8 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +-$as_echo_n "checking how to hardcode library paths into programs... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 ++printf %s "checking how to hardcode library paths into programs... " >&6; } + hardcode_action= + if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || +@@ -11505,8 +12031,8 @@ + # directories. + hardcode_action=unsupported + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +-$as_echo "$hardcode_action" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 ++printf "%s\n" "$hardcode_action" >&6; } + + if test relink = "$hardcode_action" || + test yes = "$inherit_rpath"; then +@@ -11550,11 +12076,12 @@ + + darwin*) + # if libdl is installed we need to link against it +- { $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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 ++printf %s "checking for dlopen in -ldl... " >&6; } ++if test ${ac_cv_lib_dl_dlopen+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-ldl $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -11563,32 +12090,31 @@ + /* 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 () ++main (void) + { + return dlopen (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_dl_dlopen=yes +-else ++else $as_nop + ac_cv_lib_dl_dlopen=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 ++printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } ++if test "x$ac_cv_lib_dl_dlopen" = xyes ++then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +-else ++else $as_nop + + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= +@@ -11608,14 +12134,16 @@ + + *) + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +-if test "x$ac_cv_func_shl_load" = xyes; then : ++if test "x$ac_cv_func_shl_load" = xyes ++then : + lt_cv_dlopen=shl_load +-else +- { $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 ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 ++printf %s "checking for shl_load in -ldld... " >&6; } ++if test ${ac_cv_lib_dld_shl_load+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-ldld $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -11624,41 +12152,42 @@ + /* 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 () ++main (void) + { + return shl_load (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_dld_shl_load=yes +-else ++else $as_nop + ac_cv_lib_dld_shl_load=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 ++printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; } ++if test "x$ac_cv_lib_dld_shl_load" = xyes ++then : + lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld +-else ++else $as_nop + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +-if test "x$ac_cv_func_dlopen" = xyes; then : ++if test "x$ac_cv_func_dlopen" = xyes ++then : + lt_cv_dlopen=dlopen +-else +- { $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 ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 ++printf %s "checking for dlopen in -ldl... " >&6; } ++if test ${ac_cv_lib_dl_dlopen+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-ldl $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -11667,37 +12196,37 @@ + /* 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 () ++main (void) + { + return dlopen (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_dl_dlopen=yes +-else ++else $as_nop + ac_cv_lib_dl_dlopen=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 ++printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } ++if test "x$ac_cv_lib_dl_dlopen" = xyes ++then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +-$as_echo_n "checking for dlopen in -lsvld... " >&6; } +-if ${ac_cv_lib_svld_dlopen+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 ++printf %s "checking for dlopen in -lsvld... " >&6; } ++if test ${ac_cv_lib_svld_dlopen+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lsvld $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -11706,37 +12235,37 @@ + /* 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 () ++main (void) + { + return dlopen (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_svld_dlopen=yes +-else ++else $as_nop + ac_cv_lib_svld_dlopen=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +-$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +-if test "x$ac_cv_lib_svld_dlopen" = xyes; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 ++printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; } ++if test "x$ac_cv_lib_svld_dlopen" = xyes ++then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +-$as_echo_n "checking for dld_link in -ldld... " >&6; } +-if ${ac_cv_lib_dld_dld_link+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 ++printf %s "checking for dld_link in -ldld... " >&6; } ++if test ${ac_cv_lib_dld_dld_link+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-ldld $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -11745,30 +12274,29 @@ + /* 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 dld_link (); + int +-main () ++main (void) + { + return dld_link (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_dld_dld_link=yes +-else ++else $as_nop + ac_cv_lib_dld_dld_link=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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_dld_link" >&5 +-$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +-if test "x$ac_cv_lib_dld_dld_link" = xyes; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 ++printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; } ++if test "x$ac_cv_lib_dld_dld_link" = xyes ++then : + lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld + fi + +@@ -11807,11 +12335,12 @@ + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +-$as_echo_n "checking whether a program can dlopen itself... " >&6; } +-if ${lt_cv_dlopen_self+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 ++printf %s "checking whether a program can dlopen itself... " >&6; } ++if test ${lt_cv_dlopen_self+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self=cross + else +@@ -11890,7 +12419,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? +@@ -11908,16 +12437,17 @@ + + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +-$as_echo "$lt_cv_dlopen_self" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 ++printf "%s\n" "$lt_cv_dlopen_self" >&6; } + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } +-if ${lt_cv_dlopen_self_static+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 ++printf %s "checking whether a statically linked program can dlopen itself... " >&6; } ++if test ${lt_cv_dlopen_self_static+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self_static=cross + else +@@ -11996,7 +12526,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? +@@ -12014,8 +12544,8 @@ + + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +-$as_echo "$lt_cv_dlopen_self_static" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 ++printf "%s\n" "$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS=$save_CPPFLAGS +@@ -12053,13 +12583,13 @@ + + striplib= + old_striplib= +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +-$as_echo_n "checking whether stripping libraries is possible... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 ++printf %s "checking whether stripping libraries is possible... " >&6; } + if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else + # FIXME - insert some real tests, host_os isn't really good enough + case $host_os in +@@ -12067,16 +12597,16 @@ + if test -n "$STRIP"; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + ;; + *) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + ;; + esac + fi +@@ -12093,13 +12623,13 @@ + + + # Report what library types will actually be built +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +-$as_echo_n "checking if libtool supports shared libraries... " >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +-$as_echo "$can_build_shared" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 ++printf %s "checking if libtool supports shared libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 ++printf "%s\n" "$can_build_shared" >&6; } + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +-$as_echo_n "checking whether to build shared libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 ++printf %s "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and +@@ -12123,15 +12653,15 @@ + fi + ;; + esac +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +-$as_echo "$enable_shared" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 ++printf "%s\n" "$enable_shared" >&6; } + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +-$as_echo_n "checking whether to build static libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 ++printf %s "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +-$as_echo "$enable_static" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 ++printf "%s\n" "$enable_static" >&6; } + + + +@@ -12178,21 +12708,15 @@ + case $host_os in + hpux*) + +-cat >>confdefs.h <<_ACEOF +-#define CRLIBM_TYPEOS_HPUX 1 +-_ACEOF ++printf "%s\n" "#define CRLIBM_TYPEOS_HPUX 1" >>confdefs.h + ;; + *cygwin* | *mingw* | *uwin* | *djgpp | *emx*) + +-cat >>confdefs.h <<_ACEOF +-#define CRLIBM_TYPEOS_CYGWIN 1 +-_ACEOF ++printf "%s\n" "#define CRLIBM_TYPEOS_CYGWIN 1" >>confdefs.h + ;; + freebsd*|netbsd*|darwin*) + +-cat >>confdefs.h <<_ACEOF +-#define CRLIBM_TYPEOS_BSD 1 +-_ACEOF ++printf "%s\n" "#define CRLIBM_TYPEOS_BSD 1" >>confdefs.h + ;; + esac; + +@@ -12200,54 +12724,43 @@ + case $host_cpu in + alpha) + +-cat >>confdefs.h <<_ACEOF +-#define CRLIBM_TYPECPU_ALPHA 1 +-_ACEOF ++printf "%s\n" "#define CRLIBM_TYPECPU_ALPHA 1" >>confdefs.h + ;; + sparc) + +-cat >>confdefs.h <<_ACEOF +-#define CRLIBM_TYPECPU_SPARC 1 +-_ACEOF ++printf "%s\n" "#define CRLIBM_TYPECPU_SPARC 1" >>confdefs.h + ;; + powerpc*) + +-cat >>confdefs.h <<_ACEOF +-#define CRLIBM_TYPECPU_POWERPC 1 +-_ACEOF ++printf "%s\n" "#define CRLIBM_TYPECPU_POWERPC 1" >>confdefs.h + ;; + i*86|k6|k7|pentium*|athlon*) + +-cat >>confdefs.h <<_ACEOF +-#define CRLIBM_TYPECPU_X86 1 +-_ACEOF ++printf "%s\n" "#define CRLIBM_TYPECPU_X86 1" >>confdefs.h + + has_ia32_de=true;; + x86_64|amd64) + +-cat >>confdefs.h <<_ACEOF +-#define CRLIBM_TYPECPU_AMD64 1 +-_ACEOF ++printf "%s\n" "#define CRLIBM_TYPECPU_AMD64 1" >>confdefs.h + + has_ia32_de=true;; + ia64) + +-cat >>confdefs.h <<_ACEOF +-#define CRLIBM_TYPECPU_ITANIUM 1 +-_ACEOF ++printf "%s\n" "#define CRLIBM_TYPECPU_ITANIUM 1" >>confdefs.h + + has_ia64_de=true;; + esac; + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 ++printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } + set x ${MAKE-make} +-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` ++if eval test \${ac_cv_prog_make_${ac_make}_set+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat >conftest.make <<\_ACEOF + SHELL = /bin/sh + all: +@@ -12263,12 +12776,12 @@ + rm -f conftest.make + fi + if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + SET_MAKE= + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" + fi + +@@ -12284,11 +12797,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +@@ -12296,11 +12810,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -12311,11 +12829,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -12328,11 +12846,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + else +@@ -12340,11 +12859,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -12355,11 +12878,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 ++printf "%s\n" "$ac_ct_CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -12371,8 +12894,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + CC=$ac_ct_CC +@@ -12380,23 +12903,23 @@ + 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;} ++test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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 ++printf "%s\n" "$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 ++for ac_option in --version -v -V -qversion -version; 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 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -12406,20 +12929,21 @@ + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + done + +-{ $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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 ++printf %s "checking whether the compiler supports GNU C... " >&6; } ++if test ${ac_cv_c_compiler_gnu+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + #ifndef __GNUC__ + choke me +@@ -12429,29 +12953,33 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_compiler_gnu=yes +-else ++else $as_nop + ac_compiler_gnu=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 ++printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ + if test $ac_compiler_gnu = yes; then + GCC=yes + else + GCC= + fi +-ac_test_CFLAGS=${CFLAGS+set} ++ac_test_CFLAGS=${CFLAGS+y} + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 ++printf %s "checking whether $CC accepts -g... " >&6; } ++if test ${ac_cv_prog_cc_g+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no +@@ -12460,57 +12988,60 @@ + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_prog_cc_g=yes +-else ++else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-else ++else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 ++printf "%s\n" "$ac_cv_prog_cc_g" >&6; } ++if test $ac_test_CFLAGS; then + CFLAGS=$ac_save_CFLAGS + elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then +@@ -12525,95 +13056,145 @@ + 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_prog_cc_stdc=no ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 ++printf %s "checking for $CC option to enable C11 features... " >&6; } ++if test ${ac_cv_prog_cc_c11+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c11=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; +-} ++$ac_c_conftest_c11_program ++_ACEOF ++for ac_arg in '' -std=gnu11 ++do ++ CC="$ac_save_CC $ac_arg" ++ if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_c11=$ac_arg ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cc_c11" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CC=$ac_save_CC ++fi + +-/* 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]; ++if test "x$ac_cv_prog_cc_c11" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c11" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } ++ CC="$CC $ac_cv_prog_cc_c11" ++fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 ++ ac_prog_cc_stdc=c11 ++fi ++fi ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 ++printf %s "checking for $CC option to enable C99 features... " >&6; } ++if test ${ac_cv_prog_cc_c99+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c99=no ++ac_save_CC=$CC ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_c_conftest_c99_program ++_ACEOF ++for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= ++do ++ CC="$ac_save_CC $ac_arg" ++ if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_c99=$ac_arg ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cc_c99" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CC=$ac_save_CC ++fi + +-/* 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; +-} ++if test "x$ac_cv_prog_cc_c99" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c99" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } ++ CC="$CC $ac_cv_prog_cc_c99" ++fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 ++ ac_prog_cc_stdc=c99 ++fi ++fi ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 ++printf %s "checking for $CC option to enable C89 features... " >&6; } ++if test ${ac_cv_prog_cc_c89+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c89=no ++ac_save_CC=$CC ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_c_conftest_c89_program + _ACEOF +-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ +- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" ++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 : ++ if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_prog_cc_c89=$ac_arg + fi +-rm -f core conftest.err conftest.$ac_objext ++rm -f core conftest.err conftest.$ac_objext conftest.beam + 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 : + ++if test "x$ac_cv_prog_cc_c89" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c89" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } ++ CC="$CC $ac_cv_prog_cc_c89" + fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 ++ ac_prog_cc_stdc=c89 ++fi ++fi + + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' +@@ -12621,21 +13202,23 @@ + 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_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 whether $CC understands -c and -o together" >&5 +-$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +-if ${am_cv_prog_cc_c_o+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 ++printf %s "checking whether $CC understands -c and -o together... " >&6; } ++if test ${am_cv_prog_cc_c_o+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; +@@ -12663,8 +13246,8 @@ + rm -f core conftest* + unset am_i + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +-$as_echo "$am_cv_prog_cc_c_o" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 ++printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } + if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. +@@ -12682,11 +13265,12 @@ + + depcc="$CC" am_compiler_list= + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +-$as_echo_n "checking dependency style of $depcc... " >&6; } +-if ${am_cv_CC_dependencies_compiler_type+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 ++printf %s "checking dependency style of $depcc... " >&6; } ++if test ${am_cv_CC_dependencies_compiler_type+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For +@@ -12793,8 +13377,8 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 ++printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } + CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if +@@ -12869,142 +13453,108 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +-$as_echo_n "checking whether ln -s works... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 ++printf %s "checking whether ln -s works... " >&6; } + LN_S=$as_ln_s + if test "$LN_S" = "ln -s"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +-$as_echo "no, using $LN_S" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 ++printf "%s\n" "no, using $LN_S" >&6; } + fi + + +-{ $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 ++# Autoupdate added the next two lines to ensure that your configure ++# script's behavior did not change. They are probably safe to remove. + +-int +-main () +-{ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 ++printf %s "checking for egrep... " >&6; } ++if test ${ac_cv_path_EGREP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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 ++ printf %s 0123456789 >"conftest.in" ++ while : ++ do ++ cat "conftest.in" "conftest.in" >"conftest.tmp" ++ mv "conftest.tmp" "conftest.in" ++ cp "conftest.in" "conftest.nl" ++ printf "%s\n" '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 + +- ; +- return 0; +-} +-_ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : +- ac_cv_header_stdc=yes ++ $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_header_stdc=no ++ ac_cv_path_EGREP=$EGREP + 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 + fi +-rm -f conftest* ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 ++printf "%s\n" "$ac_cv_path_EGREP" >&6; } ++ EGREP="$ac_cv_path_EGREP" + +-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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 ++printf %s "checking for an ANSI C-conforming const... " >&6; } ++if test ${ac_cv_c_const+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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 () ++main (void) + { +- 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 +- +-{ $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]; +@@ -13015,7 +13565,7 @@ + /* 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. ++ /* IBM 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 */ +@@ -13043,7 +13593,7 @@ + iptr p = 0; + ++p; + } +- { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying ++ { /* IBM 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; +@@ -13059,47 +13609,50 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_c_const=yes +-else ++else $as_nop + ac_cv_c_const=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 +-$as_echo "$ac_cv_c_const" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 ++printf "%s\n" "$ac_cv_c_const" >&6; } + if test $ac_cv_c_const = no; then + +-$as_echo "#define const /**/" >>confdefs.h ++printf "%s\n" "#define const /**/" >>confdefs.h + + fi + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 +-$as_echo_n "checking for inline... " >&6; } +-if ${ac_cv_c_inline+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 ++printf %s "checking for inline... " >&6; } ++if test ${ac_cv_c_inline+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_cv_c_inline=no + for ac_kw in inline __inline__ __inline; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #ifndef __cplusplus + typedef int foo_t; +-static $ac_kw foo_t static_foo () {return 0; } +-$ac_kw foo_t foo () {return 0; } ++static $ac_kw foo_t static_foo (void) {return 0; } ++$ac_kw foo_t foo (void) {return 0; } + #endif + + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_c_inline=$ac_kw + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + test "$ac_cv_c_inline" != no && break + done + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 +-$as_echo "$ac_cv_c_inline" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 ++printf "%s\n" "$ac_cv_c_inline" >&6; } + + case $ac_cv_c_inline in + inline | yes) ;; +@@ -13118,50 +13671,36 @@ + + + +-for ac_func in sqrt +-do : +- ac_fn_c_check_func "$LINENO" "sqrt" "ac_cv_func_sqrt" +-if test "x$ac_cv_func_sqrt" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_SQRT 1 +-_ACEOF ++ac_fn_c_check_func "$LINENO" "sqrt" "ac_cv_func_sqrt" ++if test "x$ac_cv_func_sqrt" = xyes ++then : ++ printf "%s\n" "#define HAVE_SQRT 1" >>confdefs.h + + fi +-done + +-for ac_header in fenv.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "fenv.h" "ac_cv_header_fenv_h" "$ac_includes_default" +-if test "x$ac_cv_header_fenv_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_FENV_H 1 +-_ACEOF ++ac_fn_c_check_header_compile "$LINENO" "fenv.h" "ac_cv_header_fenv_h" "$ac_includes_default" ++if test "x$ac_cv_header_fenv_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_FENV_H 1" >>confdefs.h + + fi + +-done ++ac_fn_c_check_header_compile "$LINENO" "float.h" "ac_cv_header_float_h" "$ac_includes_default" ++if test "x$ac_cv_header_float_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_FLOAT_H 1" >>confdefs.h + +-for ac_header in float.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "float.h" "ac_cv_header_float_h" "$ac_includes_default" +-if test "x$ac_cv_header_float_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_FLOAT_H 1 +-_ACEOF +- + fi + +-done +- +-ac_fn_c_check_header_mongrel "$LINENO" "fpu_control.h" "ac_cv_header_fpu_control_h" "$ac_includes_default" +-if test "x$ac_cv_header_fpu_control_h" = xyes; then : ++ac_fn_c_check_header_compile "$LINENO" "fpu_control.h" "ac_cv_header_fpu_control_h" "$ac_includes_default" ++if test "x$ac_cv_header_fpu_control_h" = xyes ++then : + has_fpu_control=yes +-else ++else $as_nop + has_fpu_control=no + fi + + +- + if test x$has_fpu_control = xyes; then + HAS_FPU_CONTROL_TRUE= + HAS_FPU_CONTROL_FALSE='#' +@@ -13173,17 +13712,16 @@ + + if test x$has_fpu_control = xyes ; then + +-cat >>confdefs.h <<_ACEOF +-#define CRLIBM_HAS_FPU_CONTROL 1 +-_ACEOF ++printf "%s\n" "#define CRLIBM_HAS_FPU_CONTROL 1" >>confdefs.h + + fi + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for log in -lm" >&5 +-$as_echo_n "checking for log in -lm... " >&6; } +-if ${ac_cv_lib_m_log+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for log in -lm" >&5 ++printf %s "checking for log in -lm... " >&6; } ++if test ${ac_cv_lib_m_log+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lm $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -13192,44 +13730,42 @@ + /* 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 log (); + int +-main () ++main (void) + { + return log (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_m_log=yes +-else ++else $as_nop + ac_cv_lib_m_log=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_log" >&5 +-$as_echo "$ac_cv_lib_m_log" >&6; } +-if test "x$ac_cv_lib_m_log" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBM 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_log" >&5 ++printf "%s\n" "$ac_cv_lib_m_log" >&6; } ++if test "x$ac_cv_lib_m_log" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBM 1" >>confdefs.h + + LIBS="-lm $LIBS" + + fi + + +- { $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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 ++printf %s "checking whether byte ordering is bigendian... " >&6; } ++if test ${ac_cv_c_bigendian+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -13240,7 +13776,8 @@ + typedef int dummy; + + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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. +@@ -13264,7 +13801,7 @@ + fi + done + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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 +@@ -13273,7 +13810,7 @@ + #include + + int +-main () ++main (void) + { + #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ +@@ -13285,7 +13822,8 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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. */ +@@ -13293,7 +13831,7 @@ + #include + + int +-main () ++main (void) + { + #if BYTE_ORDER != BIG_ENDIAN + not big endian +@@ -13303,14 +13841,15 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_c_bigendian=yes +-else ++else $as_nop + ac_cv_c_bigendian=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). +@@ -13319,7 +13858,7 @@ + #include + + int +-main () ++main (void) + { + #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros +@@ -13329,14 +13868,15 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 () ++main (void) + { + #ifndef _BIG_ENDIAN + not big endian +@@ -13346,31 +13886,33 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_c_bigendian=yes +-else ++else $as_nop + ac_cv_c_bigendian=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. +- if test "$cross_compiling" = yes; then : ++ 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[] = ++unsigned short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; +- short int ascii_ii[] = ++ unsigned 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[] = ++ unsigned short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; +- short int ebcdic_mm[] = ++ unsigned short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; +@@ -13378,14 +13920,15 @@ + extern int foo; + + int +-main () ++main (void) + { + return use_ascii (foo) == use_ebcdic (foo); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi +@@ -13398,13 +13941,13 @@ + fi + fi + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +-else ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $ac_includes_default + int +-main () ++main (void) + { + + /* Are we little or big endian? From Harbison&Steele. */ +@@ -13420,9 +13963,10 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_run "$LINENO"; then : ++if ac_fn_c_try_run "$LINENO" ++then : + ac_cv_c_bigendian=no +-else ++else $as_nop + ac_cv_c_bigendian=yes + fi + rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ +@@ -13431,17 +13975,17 @@ + + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 +-$as_echo "$ac_cv_c_bigendian" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 ++printf "%s\n" "$ac_cv_c_bigendian" >&6; } + case $ac_cv_c_bigendian in #( + yes) +- $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h ++ printf "%s\n" "#define WORDS_BIGENDIAN 1" >>confdefs.h + ;; #( + no) + ;; #( + universal) + +-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ++printf "%s\n" "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h + + ;; #( + *) +@@ -13452,11 +13996,12 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double with more range or precision than double" >&5 +-$as_echo_n "checking for long double with more range or precision than double... " >&6; } +-if ${ac_cv_type_long_double_wider+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for long double with more range or precision than double" >&5 ++printf %s "checking for long double with more range or precision than double... " >&6; } ++if test ${ac_cv_type_long_double_wider+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #include +@@ -13473,7 +14018,7 @@ + } + + int +-main () ++main (void) + { + static int test_array [1 - 2 * !((0 < ((DBL_MAX_EXP < LDBL_MAX_EXP) + + (DBL_MANT_DIG < LDBL_MANT_DIG) +@@ -13488,25 +14033,26 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_type_long_double_wider=yes +-else ++else $as_nop + ac_cv_type_long_double_wider=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_double_wider" >&5 +-$as_echo "$ac_cv_type_long_double_wider" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_double_wider" >&5 ++printf "%s\n" "$ac_cv_type_long_double_wider" >&6; } + if test $ac_cv_type_long_double_wider = yes; then + +-$as_echo "#define HAVE_LONG_DOUBLE_WIDER 1" >>confdefs.h ++printf "%s\n" "#define HAVE_LONG_DOUBLE_WIDER 1" >>confdefs.h + + fi + + ac_cv_c_long_double=$ac_cv_type_long_double_wider + if test $ac_cv_c_long_double = yes; then + +-$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h ++printf "%s\n" "#define HAVE_LONG_DOUBLE 1" >>confdefs.h + + fi + +@@ -13516,17 +14062,19 @@ + # 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 ++printf %s "checking size of int... " >&6; } ++if test ${ac_cv_sizeof_int+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default" ++then : + +-else ++else $as_nop + 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;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (int) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -13535,14 +14083,12 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 +-$as_echo "$ac_cv_sizeof_int" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 ++printf "%s\n" "$ac_cv_sizeof_int" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_INT $ac_cv_sizeof_int +-_ACEOF ++printf "%s\n" "#define SIZEOF_INT $ac_cv_sizeof_int" >>confdefs.h + + + +@@ -13560,18 +14106,17 @@ + + + # Check whether --enable-sse2 was given. +-if test "${enable_sse2+set}" = set; then : ++if test ${enable_sse2+y} ++then : + enableval=$enable_sse2; case $enableval in + yes) + +-cat >>confdefs.h <<_ACEOF +-#define HAS_SSE2 1 +-_ACEOF ++printf "%s\n" "#define HAS_SSE2 1" >>confdefs.h + ;; + no) ;; + *) as_fn_error $? "bad value $enableval for --enable-sse2, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_sse2=no + fi + +@@ -13588,18 +14133,17 @@ + + + # Check whether --enable-interval-functions was given. +-if test "${enable_interval_functions+set}" = set; then : ++if test ${enable_interval_functions+y} ++then : + enableval=$enable_interval_functions; case $enableval in + yes) + +-cat >>confdefs.h <<_ACEOF +-#define BUILD_INTERVAL_FUNCTIONS 1 +-_ACEOF ++printf "%s\n" "#define BUILD_INTERVAL_FUNCTIONS 1" >>confdefs.h + ;; + no) ;; + *) as_fn_error $? "bad value $enableval for --enable-interval-functions, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_interval_functions=no + fi + +@@ -13615,12 +14159,13 @@ + + + # Check whether --enable-double-extended was given. +-if test "${enable_double_extended+set}" = set; then : ++if test ${enable_double_extended+y} ++then : + enableval=$enable_double_extended; case $enableval in + yes|no) ;; + *) as_fn_error $? "bad value $enableval for --enable-double-extended, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_double_extended=yes + fi + +@@ -13644,40 +14189,34 @@ + + + # Check whether --enable-nbdigits was given. +-if test "${enable_nbdigits+set}" = set; then : ++if test ${enable_nbdigits+y} ++then : + enableval=$enable_nbdigits; case $enableval in + *[0-9]) +-cat >>confdefs.h <<_ACEOF +-#define SCS_NB_WORDS $enableval +-_ACEOF ++printf "%s\n" "#define SCS_NB_WORDS $enableval" >>confdefs.h + ;; + *) as_fn_error $? "bad value $enableval for --enable-nbdigits, number expected" "$LINENO" 5 ;; + esac +-else ++else $as_nop + +-cat >>confdefs.h <<_ACEOF +-#define SCS_NB_WORDS 8 +-_ACEOF ++printf "%s\n" "#define SCS_NB_WORDS 8" >>confdefs.h + + + fi + + + # Check whether --enable-digitsize was given. +-if test "${enable_digitsize+set}" = set; then : ++if test ${enable_digitsize+y} ++then : + enableval=$enable_digitsize; case $enableval in + *[0-9]) +-cat >>confdefs.h <<_ACEOF +-#define SCS_NB_BITS $enableval +-_ACEOF ++printf "%s\n" "#define SCS_NB_BITS $enableval" >>confdefs.h + ;; + *) as_fn_error $? "bad value $enableval for --enable-digitsize, number expected" "$LINENO" 5 ;; + esac +-else ++else $as_nop + +-cat >>confdefs.h <<_ACEOF +-#define SCS_NB_BITS 30 +-_ACEOF ++printf "%s\n" "#define SCS_NB_BITS 30" >>confdefs.h + + + fi +@@ -13685,48 +14224,52 @@ + + + # Check whether --enable-mpfr was given. +-if test "${enable_mpfr+set}" = set; then : ++if test ${enable_mpfr+y} ++then : + enableval=$enable_mpfr; case $enableval in + yes|no) ;; + *) as_fn_error $? "bad value $enableval for --enable-mpfr, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_mpfr=no + fi + + + + # Check whether --enable-gmp was given. +-if test "${enable_gmp+set}" = set; then : ++if test ${enable_gmp+y} ++then : + enableval=$enable_gmp; case $enableval in + yes|no) ;; + *) as_fn_error $? "bad value $enableval for --enable-gmp, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_gmp=no + fi + + + + # Check whether --enable-ultim was given. +-if test "${enable_ultim+set}" = set; then : ++if test ${enable_ultim+y} ++then : + enableval=$enable_ultim; case $enableval in + yes|no) ;; + *) as_fn_error $? "bad value $enableval for --enable-ultim, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_ultim=no + fi + + + + # Check whether --enable-mcr was given. +-if test "${enable_mcr+set}" = set; then : ++if test ${enable_mcr+y} ++then : + enableval=$enable_mcr; case $enableval in + yes|no) ;; + *) as_fn_error $? "bad value $enableval for --enable-mcr, need yes or no" "$LINENO" 5 ;; + esac +-else ++else $as_nop + enable_mcr=no + fi + +@@ -13738,19 +14281,22 @@ + + + # Check whether --with-gmp_include was given. +-if test "${with_gmp_include+set}" = set; then : ++if test ${with_gmp_include+y} ++then : + withval=$with_gmp_include; with_gmp_include=$withval + fi + + + # Check whether --with-gmp_lib was given. +-if test "${with_gmp_lib+set}" = set; then : ++if test ${with_gmp_lib+y} ++then : + withval=$with_gmp_lib; with_gmp_lib=$withval + fi + + + # Check whether --with-gmp was given. +-if test "${with_gmp+set}" = set; then : ++if test ${with_gmp+y} ++then : + withval=$with_gmp; with_gmp_include=$withval/include with_gmp_lib=$withval/lib + fi + +@@ -13763,8 +14309,8 @@ + + if ` test "$with_gmp_lib" ` + then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking gmp library" >&5 +-$as_echo_n "checking gmp library... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking gmp library" >&5 ++printf %s "checking gmp library... " >&6; } + if test -r "$with_gmp_lib/libgmp.a" -o -r "$with_gmp_lib/libgmp.so" + then + LDFLAGS="$LDFLAGS -L$with_gmp_lib" +@@ -13772,14 +14318,15 @@ + else + as_fn_error $? "gmp not found" "$LINENO" 5 + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lgmp" >&5 +-$as_echo_n "checking for main in -lgmp... " >&6; } +-if ${ac_cv_lib_gmp_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lgmp" >&5 ++printf %s "checking for main in -lgmp... " >&6; } ++if test ${ac_cv_lib_gmp_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lgmp $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -13787,32 +14334,32 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_gmp_main=yes +-else ++else $as_nop + ac_cv_lib_gmp_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp_main" >&5 +-$as_echo "$ac_cv_lib_gmp_main" >&6; } +-if test "x$ac_cv_lib_gmp_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBGMP 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp_main" >&5 ++printf "%s\n" "$ac_cv_lib_gmp_main" >&6; } ++if test "x$ac_cv_lib_gmp_main" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBGMP 1" >>confdefs.h + + LIBS="-lgmp $LIBS" + +-else ++else $as_nop + as_fn_error $? "gmp not found" "$LINENO" 5 + fi + +@@ -13820,24 +14367,20 @@ + + + +-for ac_header in gmp.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" +-if test "x$ac_cv_header_gmp_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_GMP_H 1 +-_ACEOF ++ac_fn_c_check_header_compile "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" ++if test "x$ac_cv_header_gmp_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_GMP_H 1" >>confdefs.h + + fi + +-done + +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lgmp" >&5 +-$as_echo_n "checking for main in -lgmp... " >&6; } +-if ${ac_cv_lib_gmp_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lgmp" >&5 ++printf %s "checking for main in -lgmp... " >&6; } ++if test ${ac_cv_lib_gmp_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lgmp $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -13845,28 +14388,28 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_gmp_main=yes +-else ++else $as_nop + ac_cv_lib_gmp_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp_main" >&5 +-$as_echo "$ac_cv_lib_gmp_main" >&6; } +-if test "x$ac_cv_lib_gmp_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBGMP 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp_main" >&5 ++printf "%s\n" "$ac_cv_lib_gmp_main" >&6; } ++if test "x$ac_cv_lib_gmp_main" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBGMP 1" >>confdefs.h + + LIBS="-lgmp $LIBS" + +@@ -13881,19 +14424,22 @@ + if test "$enable_mpfr" = "yes"; then + + # Check whether --with-mpfr_include was given. +-if test "${with_mpfr_include+set}" = set; then : ++if test ${with_mpfr_include+y} ++then : + withval=$with_mpfr_include; with_mpfr_include=$withval + fi + + + # Check whether --with-mpfr_lib was given. +-if test "${with_mpfr_lib+set}" = set; then : ++if test ${with_mpfr_lib+y} ++then : + withval=$with_mpfr_lib; with_mpfr_lib=$withval + fi + + + # Check whether --with-mpfr was given. +-if test "${with_mpfr+set}" = set; then : ++if test ${with_mpfr+y} ++then : + withval=$with_mpfr; with_mpfr_include=$withval/include with_mpfr_lib=$withval/lib + fi + +@@ -13906,8 +14452,8 @@ + + if ` test "$with_mpfr_lib" ` + then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking mpfr library" >&5 +-$as_echo_n "checking mpfr library... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking mpfr library" >&5 ++printf %s "checking mpfr library... " >&6; } + if test -r "$with_mpfr_lib/libmpfr.a" -o -r "$with_mpfr_lib/libmpfr.so" + then + LDFLAGS="$LDFLAGS -L$with_mpfr_lib" +@@ -13915,14 +14461,15 @@ + else + as_fn_error $? "mpfr not found" "$LINENO" 5 + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmpfr" >&5 +-$as_echo_n "checking for main in -lmpfr... " >&6; } +-if ${ac_cv_lib_mpfr_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lmpfr" >&5 ++printf %s "checking for main in -lmpfr... " >&6; } ++if test ${ac_cv_lib_mpfr_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lmpfr $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -13930,32 +14477,32 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_mpfr_main=yes +-else ++else $as_nop + ac_cv_lib_mpfr_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_main" >&5 +-$as_echo "$ac_cv_lib_mpfr_main" >&6; } +-if test "x$ac_cv_lib_mpfr_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBMPFR 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_main" >&5 ++printf "%s\n" "$ac_cv_lib_mpfr_main" >&6; } ++if test "x$ac_cv_lib_mpfr_main" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBMPFR 1" >>confdefs.h + + LIBS="-lmpfr $LIBS" + +-else ++else $as_nop + as_fn_error $? "mpfr not found" "$LINENO" 5 + fi + +@@ -13964,25 +14511,21 @@ + + + +-for ac_header in mpfr.h +-do : +- ac_fn_c_check_header_compile "$LINENO" "mpfr.h" "ac_cv_header_mpfr_h" "#include ++ac_fn_c_check_header_compile "$LINENO" "mpfr.h" "ac_cv_header_mpfr_h" "#include + " +-if test "x$ac_cv_header_mpfr_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_MPFR_H 1 +-_ACEOF ++if test "x$ac_cv_header_mpfr_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_MPFR_H 1" >>confdefs.h + + fi + +-done + +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmpfr" >&5 +-$as_echo_n "checking for main in -lmpfr... " >&6; } +-if ${ac_cv_lib_mpfr_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lmpfr" >&5 ++printf %s "checking for main in -lmpfr... " >&6; } ++if test ${ac_cv_lib_mpfr_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lmpfr $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -13990,28 +14533,28 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_mpfr_main=yes +-else ++else $as_nop + ac_cv_lib_mpfr_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_main" >&5 +-$as_echo "$ac_cv_lib_mpfr_main" >&6; } +-if test "x$ac_cv_lib_mpfr_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBMPFR 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_main" >&5 ++printf "%s\n" "$ac_cv_lib_mpfr_main" >&6; } ++if test "x$ac_cv_lib_mpfr_main" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBMPFR 1" >>confdefs.h + + LIBS="-lmpfr $LIBS" + +@@ -14026,19 +14569,22 @@ + + + # Check whether --with-ultim_include was given. +-if test "${with_ultim_include+set}" = set; then : ++if test ${with_ultim_include+y} ++then : + withval=$with_ultim_include; with_ultim_include=$withval + fi + + + # Check whether --with-ultim_lib was given. +-if test "${with_ultim_lib+set}" = set; then : ++if test ${with_ultim_lib+y} ++then : + withval=$with_ultim_lib; with_ultim_lib=$withval + fi + + + # Check whether --with-ultim was given. +-if test "${with_ultim+set}" = set; then : ++if test ${with_ultim+y} ++then : + withval=$with_ultim; with_ultim_include=$withval/include with_ultim_lib=$withval/lib + fi + +@@ -14051,8 +14597,8 @@ + + if ` test "$with_ultim_lib" ` + then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking ultim library" >&5 +-$as_echo_n "checking ultim library... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking ultim library" >&5 ++printf %s "checking ultim library... " >&6; } + if test -r "$with_ultim_lib/libultim.a" -o -r "$with_ultim_lib/libultim.so" + then + LDFLAGS="$LDFLAGS -L$with_ultim_lib" +@@ -14060,14 +14606,15 @@ + else + as_fn_error $? "ultim not found" "$LINENO" 5 + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lultim" >&5 +-$as_echo_n "checking for main in -lultim... " >&6; } +-if ${ac_cv_lib_ultim_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lultim" >&5 ++printf %s "checking for main in -lultim... " >&6; } ++if test ${ac_cv_lib_ultim_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lultim $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -14075,32 +14622,32 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_ultim_main=yes +-else ++else $as_nop + ac_cv_lib_ultim_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ultim_main" >&5 +-$as_echo "$ac_cv_lib_ultim_main" >&6; } +-if test "x$ac_cv_lib_ultim_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBULTIM 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ultim_main" >&5 ++printf "%s\n" "$ac_cv_lib_ultim_main" >&6; } ++if test "x$ac_cv_lib_ultim_main" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBULTIM 1" >>confdefs.h + + LIBS="-lultim $LIBS" + +-else ++else $as_nop + as_fn_error $? "ultim not found" "$LINENO" 5 + fi + +@@ -14108,24 +14655,20 @@ + + + +-for ac_header in MathLib.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "MathLib.h" "ac_cv_header_MathLib_h" "$ac_includes_default" +-if test "x$ac_cv_header_MathLib_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_MATHLIB_H 1 +-_ACEOF ++ac_fn_c_check_header_compile "$LINENO" "MathLib.h" "ac_cv_header_MathLib_h" "$ac_includes_default" ++if test "x$ac_cv_header_MathLib_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_MATHLIB_H 1" >>confdefs.h + + fi + +-done + +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lultim" >&5 +-$as_echo_n "checking for main in -lultim... " >&6; } +-if ${ac_cv_lib_ultim_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lultim" >&5 ++printf %s "checking for main in -lultim... " >&6; } ++if test ${ac_cv_lib_ultim_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lultim $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -14133,28 +14676,28 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_ultim_main=yes +-else ++else $as_nop + ac_cv_lib_ultim_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ultim_main" >&5 +-$as_echo "$ac_cv_lib_ultim_main" >&6; } +-if test "x$ac_cv_lib_ultim_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBULTIM 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ultim_main" >&5 ++printf "%s\n" "$ac_cv_lib_ultim_main" >&6; } ++if test "x$ac_cv_lib_ultim_main" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBULTIM 1" >>confdefs.h + + LIBS="-lultim $LIBS" + +@@ -14169,19 +14712,22 @@ + + + # Check whether --with-mcr_include was given. +-if test "${with_mcr_include+set}" = set; then : ++if test ${with_mcr_include+y} ++then : + withval=$with_mcr_include; with_mcr_include=$withval + fi + + + # Check whether --with-mcr_lib was given. +-if test "${with_mcr_lib+set}" = set; then : ++if test ${with_mcr_lib+y} ++then : + withval=$with_mcr_lib; with_mcr_lib=$withval + fi + + + # Check whether --with-mcr was given. +-if test "${with_mcr+set}" = set; then : ++if test ${with_mcr+y} ++then : + withval=$with_mcr; with_mcr_include=$withval/include with_mcr_lib=$withval/lib + fi + +@@ -14194,8 +14740,8 @@ + + if ` test "$with_mcr_lib" ` + then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking mcr library" >&5 +-$as_echo_n "checking mcr library... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking mcr library" >&5 ++printf %s "checking mcr library... " >&6; } + if test -r "$with_mcr_lib/libmcr.a" -o -r "$with_mcr_lib/libmcr.so" + then + LDFLAGS="$LDFLAGS -L$with_mcr_lib" +@@ -14203,14 +14749,15 @@ + else + as_fn_error $? "mcr not found" "$LINENO" 5 + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmcr" >&5 +-$as_echo_n "checking for main in -lmcr... " >&6; } +-if ${ac_cv_lib_mcr_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lmcr" >&5 ++printf %s "checking for main in -lmcr... " >&6; } ++if test ${ac_cv_lib_mcr_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lmcr $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -14218,32 +14765,32 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_mcr_main=yes +-else ++else $as_nop + ac_cv_lib_mcr_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mcr_main" >&5 +-$as_echo "$ac_cv_lib_mcr_main" >&6; } +-if test "x$ac_cv_lib_mcr_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBMCR 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mcr_main" >&5 ++printf "%s\n" "$ac_cv_lib_mcr_main" >&6; } ++if test "x$ac_cv_lib_mcr_main" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBMCR 1" >>confdefs.h + + LIBS="-lmcr $LIBS" + +-else ++else $as_nop + as_fn_error $? "mcr not found" "$LINENO" 5 + fi + +@@ -14251,24 +14798,20 @@ + + + +-for ac_header in libmcr.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "libmcr.h" "ac_cv_header_libmcr_h" "$ac_includes_default" +-if test "x$ac_cv_header_libmcr_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBMCR_H 1 +-_ACEOF ++ac_fn_c_check_header_compile "$LINENO" "libmcr.h" "ac_cv_header_libmcr_h" "$ac_includes_default" ++if test "x$ac_cv_header_libmcr_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBMCR_H 1" >>confdefs.h + + fi + +-done + +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmcr" >&5 +-$as_echo_n "checking for main in -lmcr... " >&6; } +-if ${ac_cv_lib_mcr_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lmcr" >&5 ++printf %s "checking for main in -lmcr... " >&6; } ++if test ${ac_cv_lib_mcr_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lmcr $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -14276,28 +14819,28 @@ + + + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_mcr_main=yes +-else ++else $as_nop + ac_cv_lib_mcr_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mcr_main" >&5 +-$as_echo "$ac_cv_lib_mcr_main" >&6; } +-if test "x$ac_cv_lib_mcr_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBMCR 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mcr_main" >&5 ++printf "%s\n" "$ac_cv_lib_mcr_main" >&6; } ++if test "x$ac_cv_lib_mcr_main" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBMCR 1" >>confdefs.h + + LIBS="-lmcr $LIBS" + +@@ -14340,8 +14883,8 @@ + 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;} ;; ++ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( +@@ -14371,15 +14914,15 @@ + /^ac_cv_env_/b end + t clear + :clear +- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ ++ s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 ++printf "%s\n" "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else +@@ -14393,8 +14936,8 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 ++printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} + fi + fi + rm -f confcache +@@ -14411,7 +14954,7 @@ + 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"` ++ ac_i=`printf "%s\n" "$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" +@@ -14422,14 +14965,14 @@ + LTLIBOBJS=$ac_ltlibobjs + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +-$as_echo_n "checking that generated files are newer than configure... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 ++printf %s "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +-$as_echo "done" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5 ++printf "%s\n" "done" >&6; } + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +@@ -14476,8 +15019,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 ++printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;} + as_write_fail=0 + cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 + #! $SHELL +@@ -14500,14 +15043,16 @@ + + # Be more Bourne compatible + DUALCASE=1; export DUALCASE # for MKS sh +-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++as_nop=: ++if test ${ZSH_VERSION+y} && (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 ++else $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( +@@ -14517,46 +15062,46 @@ + fi + + ++ ++# Reset variables that may have inherited troublesome values from ++# the environment. ++ ++# IFS needs to be set, to space, tab, and newline, in precisely that order. ++# (If _AS_PATH_WALK were called with IFS unset, it would have the ++# side effect of setting IFS to empty, thus disabling word splitting.) ++# Quoting is to prevent editors from complaining about space-tab. + 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 ++IFS=" "" $as_nl" + ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# Ensure predictable behavior from utilities with locale-dependent output. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE ++ ++# We cannot yet rely on "unset" to work, but we need these variables ++# to be unset--not just set to an empty or harmless value--now, to ++# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct ++# also avoids known problems related to "unset" and subshell syntax ++# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). ++for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH ++do eval test \${$as_var+y} \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++ ++# Ensure that fds 0, 1, and 2 are open. ++if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi ++if (exec 3>&2) ; then :; else exec 2>/dev/null; fi ++ + # The user is always right. +-if test "${PATH_SEPARATOR+set}" != set; then ++if ${PATH_SEPARATOR+false} :; 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 || +@@ -14565,13 +15110,6 @@ + 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 #(( +@@ -14580,8 +15118,12 @@ + 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ test -r "$as_dir$0" && as_myself=$as_dir$0 && break + done + IFS=$as_save_IFS + +@@ -14593,32 +15135,12 @@ + 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 ++ printf "%s\n" "$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 +@@ -14629,13 +15151,14 @@ + 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi +- $as_echo "$as_me: error: $2" >&2 ++ printf "%s\n" "$as_me: error: $2" >&2 + as_fn_exit $as_status + } # as_fn_error + + ++ + # as_fn_set_status STATUS + # ----------------------- + # Set $? to STATUS, without forking. +@@ -14662,18 +15185,20 @@ + { 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 : ++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 ++else $as_nop + as_fn_append () + { + eval $1=\$$1\$2 +@@ -14685,12 +15210,13 @@ + # 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 : ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null ++then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +-else ++else $as_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` +@@ -14721,7 +15247,7 @@ + $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X/"$0" | ++printf "%s\n" X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q +@@ -14743,6 +15269,10 @@ + as_cr_digits='0123456789' + as_cr_alnum=$as_cr_Letters$as_cr_digits + ++ ++# Determine whether it's possible to make 'echo' print without a newline. ++# These variables are no longer used directly by Autoconf, but are AC_SUBSTed ++# for compatibility with existing Makefiles. + ECHO_C= ECHO_N= ECHO_T= + case `echo -n x` in #((((( + -n*) +@@ -14756,6 +15286,12 @@ + ECHO_N='-n';; + esac + ++# For backward compatibility with old third-party macros, we provide ++# the shell variables $as_echo and $as_echo_n. New code should use ++# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. ++as_echo='printf %s\n' ++as_echo_n='printf %s' ++ + rm -f conf$$ conf$$.exe conf$$.file + if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +@@ -14797,7 +15333,7 @@ + as_dirs= + while :; do + case $as_dir in #( +- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" +@@ -14806,7 +15342,7 @@ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$as_dir" | ++printf "%s\n" X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -14869,7 +15405,7 @@ + # values after options handling. + ac_log=" + This file was extended by crlibm $as_me 1.0beta4, which was +-generated by GNU Autoconf 2.69. Invocation command line was ++generated by GNU Autoconf 2.71. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS +@@ -14931,14 +15467,16 @@ + Report bugs to the package provider." + + _ACEOF ++ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` ++ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ++ac_cs_config='$ac_cs_config_escaped' + ac_cs_version="\\ + crlibm config.status 1.0beta4 +-configured by $0, generated by GNU Autoconf 2.69, ++configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +-Copyright (C) 2012 Free Software Foundation, Inc. ++Copyright (C) 2021 Free Software Foundation, Inc. + This config.status script is free software; the Free Software Foundation + gives unlimited permission to copy, distribute and modify it." + +@@ -14978,15 +15516,15 @@ + -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 ;; ++ printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) +- $as_echo "$ac_cs_config"; exit ;; ++ printf "%s\n" "$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"` ;; ++ *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" +@@ -14994,7 +15532,7 @@ + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in +- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; +@@ -15003,7 +15541,7 @@ + as_fn_error $? "ambiguous option: \`$1' + Try \`$0 --help' for more information.";; + --help | --hel | -h ) +- $as_echo "$ac_cs_usage"; exit ;; ++ printf "%s\n" "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; +@@ -15031,7 +15569,7 @@ + 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 ++ \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +@@ -15045,7 +15583,7 @@ + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX + ## Running $as_me. ## + _ASBOX +- $as_echo "$ac_log" ++ printf "%s\n" "$ac_log" + } >&5 + + _ACEOF +@@ -15053,7 +15591,7 @@ + # + # INIT-COMMANDS + # +-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" ++AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" + + + # The HP-UX ksh and POSIX shell print the target directory to stdout +@@ -15363,9 +15901,9 @@ + # 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 +- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands ++ test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files ++ test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers ++ test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands + fi + + # Have a temporary directory for convenience. Make it in the build tree +@@ -15701,7 +16239,7 @@ + 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 ++ case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + +@@ -15709,17 +16247,17 @@ + # 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' ++ printf "%s\n" "$*" | 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 ++printf "%s\n" "$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" | ++ ac_sed_conf_input=`printf "%s\n" "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac +@@ -15736,7 +16274,7 @@ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$ac_file" | ++printf "%s\n" X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -15760,9 +16298,9 @@ + case "$ac_dir" in + .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) +- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` ++ ac_dir_suffix=/`printf "%s\n" "$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|/||'` ++ ac_top_builddir_sub=`printf "%s\n" "$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/ ;; +@@ -15824,8 +16362,8 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 ++printf "%s\n" "$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=' +@@ -15869,9 +16407,9 @@ + { 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' ++ { printf "%s\n" "$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' ++printf "%s\n" "$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" +@@ -15887,20 +16425,20 @@ + # + if test x"$ac_file" != x-; then + { +- $as_echo "/* $configure_input */" \ ++ printf "%s\n" "/* $configure_input */" >&1 \ + && 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 ++printf "%s\n" "$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 */" \ ++ printf "%s\n" "/* $configure_input */" >&1 \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +@@ -15920,7 +16458,7 @@ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$_am_arg" | ++printf "%s\n" X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -15940,8 +16478,8 @@ + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + +- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +-$as_echo "$as_me: executing $ac_file commands" >&6;} ++ :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 ++printf "%s\n" "$as_me: executing $ac_file commands" >&6;} + ;; + esac + +@@ -15951,29 +16489,35 @@ + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. +- case $CONFIG_FILES in +- *\'*) eval set x "$CONFIG_FILES" ;; +- *) set x $CONFIG_FILES ;; +- esac ++ # TODO: see whether this extra hack can be removed once we start ++ # requiring Autoconf 2.70 or later. ++ case $CONFIG_FILES in #( ++ *\'*) : ++ eval set x "$CONFIG_FILES" ;; #( ++ *) : ++ set x $CONFIG_FILES ;; #( ++ *) : ++ ;; ++esac + shift +- for mf ++ # Used to flag and report bootstrapping failures. ++ am_rc=0 ++ for am_mf + do + # Strip MF so we end up with the name of the file. +- mf=`echo "$mf" | sed -e 's/:.*$//'` +- # Check whether this is an Automake generated Makefile or not. +- # We used to match only the files named 'Makefile.in', but +- # some people rename them; so instead we look at the file content. +- # Grep'ing the first line is not enough: some people post-process +- # each Makefile.in and add a new line on top of each file to say so. +- # Grep'ing the whole file is not good either: AIX grep has a line ++ am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'` ++ # Check whether this is an Automake generated Makefile which includes ++ # dependency-tracking related rules and includes. ++ # Grep'ing the whole file directly is not great: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. +- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then +- dirpart=`$as_dirname -- "$mf" || +-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$mf" : 'X\(//\)[^/]' \| \ +- X"$mf" : 'X\(//\)$' \| \ +- X"$mf" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$mf" | ++ sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ ++ || continue ++ am_dirpart=`$as_dirname -- "$am_mf" || ++$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$am_mf" : 'X\(//\)[^/]' \| \ ++ X"$am_mf" : 'X\(//\)$' \| \ ++ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || ++printf "%s\n" X"$am_mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -15991,53 +16535,50 @@ + q + } + s/.*/./; q'` +- else +- continue +- fi +- # Extract the definition of DEPDIR, am__include, and am__quote +- # from the Makefile without running 'make'. +- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` +- test -z "$DEPDIR" && continue +- am__include=`sed -n 's/^am__include = //p' < "$mf"` +- test -z "$am__include" && continue +- am__quote=`sed -n 's/^am__quote = //p' < "$mf"` +- # Find all dependency output files, they are included files with +- # $(DEPDIR) in their names. We invoke sed twice because it is the +- # simplest approach to changing $(DEPDIR) to its actual value in the +- # expansion. +- for file in `sed -n " +- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ +- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do +- # Make sure the directory exists. +- test -f "$dirpart/$file" && continue +- fdir=`$as_dirname -- "$file" || +-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$file" : 'X\(//\)[^/]' \| \ +- X"$file" : 'X\(//\)$' \| \ +- X"$file" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$file" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ am_filepart=`$as_basename -- "$am_mf" || ++$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$am_mf" : 'X\(//\)$' \| \ ++ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || ++printf "%s\n" X/"$am_mf" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } +- /^X\(\/\/\)[^/].*/{ ++ /^X\/\(\/\/\)$/{ + s//\1/ + q + } +- /^X\(\/\/\)$/{ ++ /^X\/\(\/\).*/{ + s//\1/ + q + } +- /^X\(\/\).*/{ +- s//\1/ +- q +- } + s/.*/./; q'` +- as_dir=$dirpart/$fdir; as_fn_mkdir_p +- # echo "creating $dirpart/$file" +- echo '# dummy' > "$dirpart/$file" +- done ++ { echo "$as_me:$LINENO: cd "$am_dirpart" \ ++ && sed -e '/# am--include-marker/d' "$am_filepart" \ ++ | $MAKE -f - am--depfiles" >&5 ++ (cd "$am_dirpart" \ ++ && sed -e '/# am--include-marker/d' "$am_filepart" \ ++ | $MAKE -f - am--depfiles) >&5 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } || am_rc=$? + done ++ if test $am_rc -ne 0; then ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} ++as_fn_error $? "Something went wrong bootstrapping makefile fragments ++ for automatic dependency tracking. If GNU make was not used, consider ++ re-running the configure script with MAKE=\"gmake\" (or whatever is ++ necessary). You can also try re-running configure with the ++ '--disable-dependency-tracking' option to at least be able to build ++ the package (albeit without support for automatic dependency tracking). ++See \`config.log' for more details" "$LINENO" 5; } ++ fi ++ { am_dirpart=; unset am_dirpart;} ++ { am_filepart=; unset am_filepart;} ++ { am_mf=; unset am_mf;} ++ { am_rc=; unset am_rc;} ++ rm -f conftest-deps.mk + } + ;; + "libtool":C) +@@ -16568,6 +17109,7 @@ + esac + + ++ + ltmain=$ac_aux_dir/ltmain.sh + + +@@ -16617,9 +17159,10 @@ + $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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 ++printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} + fi ++ + + + +diff --color -urN a/crlibm-1.0beta4/configure~ b/crlibm-1.0beta4/configure~ +--- a/crlibm-1.0beta4/configure~ 1970-01-01 01:00:00 ++++ b/crlibm-1.0beta4/configure~ 2018-09-04 10:30:56 +@@ -0,0 +1,16625 @@ ++#! /bin/sh ++# Guess values for system-dependent variables and create Makefiles. ++# Generated by GNU Autoconf 2.69 for crlibm 1.0beta4. ++# ++# ++# 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 -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( ++ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ++ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO ++ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO ++ PATH=/empty FPATH=/empty; export PATH FPATH ++ test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ ++ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || 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 about your system, ++$0: including any error possibly output before this ++$0: message. Then install a modern shell, or manually run ++$0: the script under such a shell if you do have one." ++ fi ++ exit 1 ++fi ++fi ++fi ++SHELL=${CONFIG_SHELL-/bin/sh} ++export SHELL ++# Unset more variables known to interfere with behavior of common tools. ++CLICOLOR_FORCE= GREP_OPTIONS= ++unset CLICOLOR_FORCE GREP_OPTIONS ++ ++## --------------------- ## ++## M4sh Shell Functions. ## ++## --------------------- ## ++# as_fn_unset VAR ++# --------------- ++# Portably unset VAR. ++as_fn_unset () ++{ ++ { eval $1=; unset $1;} ++} ++as_unset=as_fn_unset ++ ++# as_fn_set_status STATUS ++# ----------------------- ++# Set $? to STATUS, without forking. ++as_fn_set_status () ++{ ++ return $1 ++} # as_fn_set_status ++ ++# as_fn_exit STATUS ++# ----------------- ++# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. ++as_fn_exit () ++{ ++ set +e ++ as_fn_set_status $1 ++ exit $1 ++} # as_fn_exit ++ ++# as_fn_mkdir_p ++# ------------- ++# Create "$as_dir" as a directory, including parents if necessary. ++as_fn_mkdir_p () ++{ ++ ++ case $as_dir in #( ++ -*) as_dir=./$as_dir;; ++ esac ++ test -d "$as_dir" || eval $as_mkdir_p || { ++ as_dirs= ++ while :; do ++ case $as_dir in #( ++ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *) as_qdir=$as_dir;; ++ esac ++ as_dirs="'$as_qdir' $as_dirs" ++ as_dir=`$as_dirname -- "$as_dir" || ++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$as_dir" : 'X\(//\)[^/]' \| \ ++ X"$as_dir" : 'X\(//\)$' \| \ ++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$as_dir" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ test -d "$as_dir" && break ++ done ++ test -z "$as_dirs" || eval "mkdir $as_dirs" ++ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" ++ ++ ++} # as_fn_mkdir_p ++ ++# as_fn_executable_p FILE ++# ----------------------- ++# Test if FILE is an executable regular file. ++as_fn_executable_p () ++{ ++ test -f "$1" && test -x "$1" ++} # as_fn_executable_p ++# as_fn_append VAR VALUE ++# ---------------------- ++# Append the text in VALUE to the end of the definition contained in VAR. Take ++# advantage of any shell optimizations that allow amortized linear growth over ++# repeated appends, instead of the typical quadratic growth present in naive ++# implementations. ++if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : ++ eval 'as_fn_append () ++ { ++ eval $1+=\$2 ++ }' ++else ++ as_fn_append () ++ { ++ eval $1=\$$1\$2 ++ } ++fi # as_fn_append ++ ++# as_fn_arith ARG... ++# ------------------ ++# Perform arithmetic evaluation on the ARGs, and store the result in the ++# global $as_val. Take advantage of shells that can avoid forks. The arguments ++# must be portable across $(()) and expr. ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : ++ eval 'as_fn_arith () ++ { ++ as_val=$(( $* )) ++ }' ++else ++ as_fn_arith () ++ { ++ as_val=`expr "$@" || test $? -eq 1` ++ } ++fi # as_fn_arith ++ ++ ++# as_fn_error STATUS ERROR [LINENO LOG_FD] ++# ---------------------------------------- ++# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are ++# provided, also output the error to LOG_FD, referencing LINENO. Then exit the ++# script with STATUS, using 1 if that was 0. ++as_fn_error () ++{ ++ as_status=$1; test $as_status -eq 0 && as_status=1 ++ if test "$4"; then ++ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 ++ fi ++ $as_echo "$as_me: error: $2" >&2 ++ as_fn_exit $as_status ++} # as_fn_error ++ ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then ++ as_basename=basename ++else ++ as_basename=false ++fi ++ ++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then ++ as_dirname=dirname ++else ++ as_dirname=false ++fi ++ ++as_me=`$as_basename -- "$0" || ++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X/"$0" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++ ++ as_lineno_1=$LINENO as_lineno_1a=$LINENO ++ as_lineno_2=$LINENO as_lineno_2a=$LINENO ++ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && ++ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { ++ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) ++ sed -n ' ++ p ++ /[$]LINENO/= ++ ' <$as_myself | ++ sed ' ++ s/[$]LINENO.*/&-/ ++ t lineno ++ b ++ :lineno ++ N ++ :loop ++ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ ++ t loop ++ s/-\n.*// ++ ' >$as_me.lineno && ++ chmod +x "$as_me.lineno" || ++ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } ++ ++ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have ++ # already done that, so ensure we don't try to do so again and fall ++ # in an infinite loop. This has already happened in practice. ++ _as_can_reexec=no; export _as_can_reexec ++ # Don't try to exec as it changes $[0], causing all sort of problems ++ # (the dirname of $[0] is not the place where we might find the ++ # original and so on. Autoconf is especially sensitive to this). ++ . "./$as_me.lineno" ++ # Exit status is that of the last command. ++ exit ++} ++ ++ECHO_C= ECHO_N= ECHO_T= ++case `echo -n x` in #((((( ++-n*) ++ case `echo 'xy\c'` in ++ *c*) ECHO_T=' ';; # ECHO_T is single tab character. ++ xy) ECHO_C='\c';; ++ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ++ ECHO_T=' ';; ++ esac;; ++*) ++ ECHO_N='-n';; ++esac ++ ++rm -f conf$$ conf$$.exe conf$$.file ++if test -d conf$$.dir; then ++ rm -f conf$$.dir/conf$$.file ++else ++ rm -f conf$$.dir ++ mkdir conf$$.dir 2>/dev/null ++fi ++if (echo >conf$$.file) 2>/dev/null; then ++ if ln -s conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s='ln -s' ++ # ... but there are two gotchas: ++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. ++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. ++ # In both cases, we have to default to `cp -pR'. ++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || ++ as_ln_s='cp -pR' ++ elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln ++ else ++ as_ln_s='cp -pR' ++ fi ++else ++ as_ln_s='cp -pR' ++fi ++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file ++rmdir conf$$.dir 2>/dev/null ++ ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p='mkdir -p "$as_dir"' ++else ++ test -d ./-p && rmdir ./-p ++ as_mkdir_p=false ++fi ++ ++as_test_x='test -x' ++as_executable_p=as_fn_executable_p ++ ++# Sed expression to map a string onto a valid CPP name. ++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" ++ ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" ++ ++SHELL=${CONFIG_SHELL-/bin/sh} ++ ++ ++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='crlibm' ++PACKAGE_TARNAME='crlibm' ++PACKAGE_VERSION='1.0beta4' ++PACKAGE_STRING='crlibm 1.0beta4' ++PACKAGE_BUGREPORT='' ++PACKAGE_URL='' ++ ++ac_unique_file="./crlibm_private.c" ++# 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_unique_file="crlibm.h" ++ac_subst_vars='am__EXEEXT_FALSE ++am__EXEEXT_TRUE ++LTLIBOBJS ++LIBOBJS ++USE_HARDWARE_DE_FALSE ++USE_HARDWARE_DE_TRUE ++USE_INTERVAL_FUNCTIONS_FALSE ++USE_INTERVAL_FUNCTIONS_TRUE ++USE_SSE2_FALSE ++USE_SSE2_TRUE ++HAS_FPU_CONTROL_FALSE ++HAS_FPU_CONTROL_TRUE ++COMPILER_ICC_FALSE ++COMPILER_ICC_TRUE ++ISODATE ++CPP ++LT_SYS_LIBRARY_PATH ++OTOOL64 ++OTOOL ++LIPO ++NMEDIT ++DSYMUTIL ++MANIFEST_TOOL ++RANLIB ++ac_ct_AR ++AR ++DLLTOOL ++OBJDUMP ++LN_S ++NM ++ac_ct_DUMPBIN ++DUMPBIN ++LD ++FGREP ++EGREP ++GREP ++SED ++am__fastdepCC_FALSE ++am__fastdepCC_TRUE ++CCDEPMODE ++am__nodep ++AMDEPBACKSLASH ++AMDEP_FALSE ++AMDEP_TRUE ++am__quote ++am__include ++DEPDIR ++OBJEXT ++EXEEXT ++ac_ct_CC ++CPPFLAGS ++LDFLAGS ++CFLAGS ++CC ++host_os ++host_vendor ++host_cpu ++host ++build_os ++build_vendor ++build_cpu ++build ++LIBTOOL ++AM_BACKSLASH ++AM_DEFAULT_VERBOSITY ++AM_DEFAULT_V ++AM_V ++am__untar ++am__tar ++AMTAR ++am__leading_dot ++SET_MAKE ++AWK ++mkdir_p ++MKDIR_P ++INSTALL_STRIP_PROGRAM ++STRIP ++install_sh ++MAKEINFO ++AUTOHEADER ++AUTOMAKE ++AUTOCONF ++ACLOCAL ++VERSION ++PACKAGE ++CYGPATH_W ++am__isrc ++INSTALL_DATA ++INSTALL_SCRIPT ++INSTALL_PROGRAM ++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 ++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_silent_rules ++enable_shared ++enable_static ++with_pic ++enable_fast_install ++with_aix_soname ++enable_dependency_tracking ++with_gnu_ld ++with_sysroot ++enable_libtool_lock ++enable_sse2 ++enable_interval_functions ++enable_double_extended ++enable_nbdigits ++enable_digitsize ++enable_mpfr ++enable_gmp ++enable_ultim ++enable_mcr ++with_gmp_include ++with_gmp_lib ++with_gmp ++with_mpfr_include ++with_mpfr_lib ++with_mpfr ++with_ultim_include ++with_ultim_lib ++with_ultim ++with_mcr_include ++with_mcr_lib ++with_mcr ++' ++ ac_precious_vars='build_alias ++host_alias ++target_alias ++CC ++CFLAGS ++LDFLAGS ++LIBS ++CPPFLAGS ++LT_SYS_LIBRARY_PATH ++CPP' ++ ++ ++# 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' ++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 ;; ++ ++ -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 ++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 crlibm 1.0beta4 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] ++ --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/crlibm] ++ --htmldir=DIR html documentation [DOCDIR] ++ --dvidir=DIR dvi documentation [DOCDIR] ++ --pdfdir=DIR pdf documentation [DOCDIR] ++ --psdir=DIR ps documentation [DOCDIR] ++_ACEOF ++ ++ cat <<\_ACEOF ++ ++Program names: ++ --program-prefix=PREFIX prepend PREFIX to installed program names ++ --program-suffix=SUFFIX append SUFFIX to installed program names ++ --program-transform-name=PROGRAM run sed PROGRAM on installed program names ++ ++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 crlibm 1.0beta4:";; ++ 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-silent-rules less verbose build output (undo: "make V=1") ++ --disable-silent-rules verbose build output (undo: "make V=0") ++ --enable-shared[=PKGS] build shared libraries [default=yes] ++ --enable-static[=PKGS] build static libraries [default=yes] ++ --enable-fast-install[=PKGS] ++ optimize for fast installation [default=yes] ++ --enable-dependency-tracking ++ do not reject slow dependency extractors ++ --disable-dependency-tracking ++ speeds up one-time build ++ --disable-libtool-lock avoid locking (might break parallel builds) ++ --enable-sse2 forces the use of sse2 arith [default=no] ++ --enable-interval-functions enables filib-compatible interval functions (DOES NOT WORK YET) [default=no] ++ --enable-double-extended enable double-extended optimised versions of functions if hardware supports it [default=yes] ++ --enable-nbdigits=N set the number of digits in the SCS structure to N [default=8] ++ --enable-digitsize=N set the size of a digit to N bits [default=30] ++ --enable-mpfr enable MPFR function [default=no] ++ --enable-gmp enable GMP function [default=no] ++ --enable-ultim enable comparison with libultim, IBMs Accurate Portable Math Library [default=no] ++ --enable-mcr enable comparison with Suns LIBMCR [default=no] ++ ++Optional Packages: ++ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] ++ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) ++ --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use ++ both] ++ --with-aix-soname=aix|svr4|both ++ shared library versioning (aka "SONAME") variant to ++ provide on AIX, [default=aix]. ++ --with-gnu-ld assume the C compiler uses GNU ld [default=no] ++ --with-sysroot[=DIR] Search for dependent libraries within DIR (or the ++ compiler's sysroot if not specified). ++ --with-gmp-include=DIR GMP include directory ++ --with-gmp-lib=DIR GMP lib directory ++ --with-gmp=DIR GMP directory ++ --with-mpfr-include=DIR MPFR include directory ++ --with-mpfr-lib=DIR MPFR lib directory ++ --with-mpfr=DIR MPFR directory ++ --with-ultim-include=DIR ULTIM include directory ++ --with-ultim-lib=DIR ULTIM lib directory ++ --with-ultim=DIR ULTIM directory ++ --with-mcr-include=DIR LIBMCR include directory ++ --with-mcr-lib=DIR LIBMCR lib directory ++ --with-mcr=DIR LIBMCR directory ++ ++Some influential environment variables: ++ 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 ++ LT_SYS_LIBRARY_PATH ++ User-defined run-time library search path. ++ CPP C preprocessor ++ ++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 the package provider. ++_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 ++crlibm configure 1.0beta4 ++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_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_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_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_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_func LINENO FUNC VAR ++# ---------------------------------- ++# Tests whether FUNC exists, setting the cache variable VAR accordingly ++ac_fn_c_check_func () ++{ ++ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 ++$as_echo_n "checking for $2... " >&6; } ++if eval \${$3+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++/* Define $2 to an innocuous variant, in case 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_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;} ++ ;; ++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_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 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 crlibm $as_me 1.0beta4, 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 ++ ++ ++ ++ ++am__api_version='1.15' ++ ++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. ++ ++ ++# 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 whether build environment is sane" >&5 ++$as_echo_n "checking whether build environment is sane... " >&6; } ++# Reject unsafe characters in $srcdir or the absolute working directory ++# name. Accept space and tab only in the latter. ++am_lf=' ++' ++case `pwd` in ++ *[\\\"\#\$\&\'\`$am_lf]*) ++ as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; ++esac ++case $srcdir in ++ *[\\\"\#\$\&\'\`$am_lf\ \ ]*) ++ as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; ++esac ++ ++# Do 'set' in a subshell so we don't clobber the current shell's ++# arguments. Must try -L first in case configure is actually a ++# symlink; some systems play weird games with the mod time of symlinks ++# (eg FreeBSD returns the mod time of the symlink's containing ++# directory). ++if ( ++ am_has_slept=no ++ for am_try in 1 2; do ++ echo "timestamp, slept: $am_has_slept" > conftest.file ++ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` ++ if test "$*" = "X"; then ++ # -L didn't work. ++ set X `ls -t "$srcdir/configure" conftest.file` ++ fi ++ if test "$*" != "X $srcdir/configure conftest.file" \ ++ && test "$*" != "X conftest.file $srcdir/configure"; then ++ ++ # If neither matched, then we have a broken ls. This can happen ++ # if, for instance, CONFIG_SHELL is bash and it inherits a ++ # broken ls alias from the environment. This has actually ++ # happened. Such a system could not be considered "sane". ++ as_fn_error $? "ls -t appears to fail. Make sure there is not a broken ++ alias in your environment" "$LINENO" 5 ++ fi ++ if test "$2" = conftest.file || test $am_try -eq 2; then ++ break ++ fi ++ # Just in case. ++ sleep 1 ++ am_has_slept=yes ++ done ++ test "$2" = conftest.file ++ ) ++then ++ # Ok. ++ : ++else ++ as_fn_error $? "newly created file is older than distributed files! ++Check your system clock" "$LINENO" 5 ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++$as_echo "yes" >&6; } ++# If we didn't sleep, we still need to ensure time stamps of config.status and ++# generated files are strictly newer. ++am_sleep_pid= ++if grep 'slept: no' conftest.file >/dev/null 2>&1; then ++ ( sleep 1 ) & ++ am_sleep_pid=$! ++fi ++ ++rm -f conftest.file ++ ++test "$program_prefix" != NONE && ++ program_transform_name="s&^&$program_prefix&;$program_transform_name" ++# Use a double $ so make ignores it. ++test "$program_suffix" != NONE && ++ program_transform_name="s&\$&$program_suffix&;$program_transform_name" ++# Double any \ or $. ++# By default was `s,x,x', remove it if useless. ++ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' ++program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` ++ ++# Expand $ac_aux_dir to an absolute path. ++am_aux_dir=`cd "$ac_aux_dir" && pwd` ++ ++if test x"${MISSING+set}" != xset; then ++ case $am_aux_dir in ++ *\ * | *\ *) ++ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; ++ *) ++ MISSING="\${SHELL} $am_aux_dir/missing" ;; ++ esac ++fi ++# Use eval to expand $SHELL ++if eval "$MISSING --is-lightweight"; then ++ am_missing_run="$MISSING " ++else ++ am_missing_run= ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 ++$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} ++fi ++ ++if test x"${install_sh+set}" != xset; then ++ case $am_aux_dir in ++ *\ * | *\ *) ++ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; ++ *) ++ install_sh="\${SHELL} $am_aux_dir/install-sh" ++ esac ++fi ++ ++# Installed binaries are usually stripped using 'strip' when the user ++# run "make install-strip". However 'strip' might not be the right ++# tool to use in cross-compilation environments, therefore Automake ++# will honor the 'STRIP' environment variable to overrule this program. ++if test "$cross_compiling" != no; then ++ if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. ++set dummy ${ac_tool_prefix}strip; 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_STRIP+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$STRIP"; then ++ ac_cv_prog_STRIP="$STRIP" # 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_STRIP="${ac_tool_prefix}strip" ++ $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 ++STRIP=$ac_cv_prog_STRIP ++if test -n "$STRIP"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 ++$as_echo "$STRIP" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_STRIP"; then ++ ac_ct_STRIP=$STRIP ++ # Extract the first word of "strip", so it can be a program name with args. ++set dummy strip; 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_STRIP+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$ac_ct_STRIP"; then ++ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # 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_STRIP="strip" ++ $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_STRIP=$ac_cv_prog_ac_ct_STRIP ++if test -n "$ac_ct_STRIP"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 ++$as_echo "$ac_ct_STRIP" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ if test "x$ac_ct_STRIP" = x; then ++ STRIP=":" ++ 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 ++ STRIP=$ac_ct_STRIP ++ fi ++else ++ STRIP="$ac_cv_prog_STRIP" ++fi ++ ++fi ++INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" ++ ++{ $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; } ++ ++for ac_prog in gawk mawk nawk awk ++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_AWK+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$AWK"; then ++ ac_cv_prog_AWK="$AWK" # 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_AWK="$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 ++AWK=$ac_cv_prog_AWK ++if test -n "$AWK"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 ++$as_echo "$AWK" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++ test -n "$AWK" && break ++done ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 ++$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } ++set x ${MAKE-make} ++ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` ++if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat >conftest.make <<\_ACEOF ++SHELL = /bin/sh ++all: ++ @echo '@@@%%%=$(MAKE)=@@@%%%' ++_ACEOF ++# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. ++case `${MAKE-make} -f conftest.make 2>/dev/null` in ++ *@@@%%%=?*=@@@%%%*) ++ eval ac_cv_prog_make_${ac_make}_set=yes;; ++ *) ++ eval ac_cv_prog_make_${ac_make}_set=no;; ++esac ++rm -f conftest.make ++fi ++if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++$as_echo "yes" >&6; } ++ SET_MAKE= ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++ SET_MAKE="MAKE=${MAKE-make}" ++fi ++ ++rm -rf .tst 2>/dev/null ++mkdir .tst 2>/dev/null ++if test -d .tst; then ++ am__leading_dot=. ++else ++ am__leading_dot=_ ++fi ++rmdir .tst 2>/dev/null ++ ++# Check whether --enable-silent-rules was given. ++if test "${enable_silent_rules+set}" = set; then : ++ enableval=$enable_silent_rules; ++fi ++ ++case $enable_silent_rules in # ((( ++ yes) AM_DEFAULT_VERBOSITY=0;; ++ no) AM_DEFAULT_VERBOSITY=1;; ++ *) AM_DEFAULT_VERBOSITY=1;; ++esac ++am_make=${MAKE-make} ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 ++$as_echo_n "checking whether $am_make supports nested variables... " >&6; } ++if ${am_cv_make_support_nested_variables+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if $as_echo 'TRUE=$(BAR$(V)) ++BAR0=false ++BAR1=true ++V=1 ++am__doit: ++ @$(TRUE) ++.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then ++ am_cv_make_support_nested_variables=yes ++else ++ am_cv_make_support_nested_variables=no ++fi ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 ++$as_echo "$am_cv_make_support_nested_variables" >&6; } ++if test $am_cv_make_support_nested_variables = yes; then ++ AM_V='$(V)' ++ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' ++else ++ AM_V=$AM_DEFAULT_VERBOSITY ++ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY ++fi ++AM_BACKSLASH='\' ++ ++if test "`cd $srcdir && pwd`" != "`pwd`"; then ++ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output ++ # is not polluted with repeated "-I." ++ am__isrc=' -I$(srcdir)' ++ # test to see if srcdir already configured ++ if test -f $srcdir/config.status; then ++ as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 ++ fi ++fi ++ ++# test whether we have cygpath ++if test -z "$CYGPATH_W"; then ++ if (cygpath --version) >/dev/null 2>/dev/null; then ++ CYGPATH_W='cygpath -w' ++ else ++ CYGPATH_W=echo ++ fi ++fi ++ ++ ++# Define the identity of the package. ++ PACKAGE='crlibm' ++ VERSION='1.0beta4' ++ ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE "$PACKAGE" ++_ACEOF ++ ++ ++cat >>confdefs.h <<_ACEOF ++#define VERSION "$VERSION" ++_ACEOF ++ ++# Some tools Automake needs. ++ ++ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} ++ ++ ++AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} ++ ++ ++AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} ++ ++ ++AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} ++ ++ ++MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} ++ ++# For better backward compatibility. To be removed once Automake 1.9.x ++# dies out for good. For more background, see: ++# ++# ++mkdir_p='$(MKDIR_P)' ++ ++# We need awk for the "check" target (and possibly the TAP driver). The ++# system "awk" is bad on some platforms. ++# Always define AMTAR for backward compatibility. Yes, it's still used ++# in the wild :-( We should find a proper way to deprecate it ... ++AMTAR='$${TAR-tar}' ++ ++ ++# We'll loop over all known methods to create a tar archive until one works. ++_am_tools='gnutar pax cpio none' ++ ++am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' ++ ++ ++ ++ ++ ++ ++# POSIX will say in a future version that running "rm -f" with no argument ++# is OK; and we want to be able to make that assumption in our Makefile ++# recipes. So use an aggressive probe to check that the usage we want is ++# actually supported "in the wild" to an acceptable degree. ++# See automake bug#10828. ++# To make any issue more visible, cause the running configure to be aborted ++# by default if the 'rm' program in use doesn't match our expectations; the ++# user can still override this though. ++if rm -f && rm -fr && rm -rf; then : OK; else ++ cat >&2 <<'END' ++Oops! ++ ++Your 'rm' program seems unable to run without file operands specified ++on the command line, even when the '-f' option is present. This is contrary ++to the behaviour of most rm programs out there, and not conforming with ++the upcoming POSIX standard: ++ ++Please tell bug-automake@gnu.org about your system, including the value ++of your $PATH and any error possibly output before this message. This ++can help us improve future automake versions. ++ ++END ++ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then ++ echo 'Configuration will proceed anyway, since you have set the' >&2 ++ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 ++ echo >&2 ++ else ++ cat >&2 <<'END' ++Aborting the configuration process, to ensure you take notice of the issue. ++ ++You can download and install GNU coreutils to get an 'rm' implementation ++that behaves properly: . ++ ++If you want to complete the configuration process using your problematic ++'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM ++to "yes", and re-run configure. ++ ++END ++ as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 ++ fi ++fi ++ ++ ++ac_config_headers="$ac_config_headers crlibm_config.h" ++ ++ ++# Check whether --enable-shared was given. ++if test "${enable_shared+set}" = set; then : ++ enableval=$enable_shared; p=${PACKAGE-default} ++ case $enableval in ++ yes) enable_shared=yes ;; ++ no) enable_shared=no ;; ++ *) ++ enable_shared=no ++ # Look at the argument we got. We use all the common list separators. ++ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, ++ for pkg in $enableval; do ++ IFS=$lt_save_ifs ++ if test "X$pkg" = "X$p"; then ++ enable_shared=yes ++ fi ++ done ++ IFS=$lt_save_ifs ++ ;; ++ esac ++else ++ enable_shared=yes ++fi ++ ++ ++ ++ ++ ++ ++ ++ ++ ++# Check whether --enable-static was given. ++if test "${enable_static+set}" = set; then : ++ enableval=$enable_static; p=${PACKAGE-default} ++ case $enableval in ++ yes) enable_static=yes ;; ++ no) enable_static=no ;; ++ *) ++ enable_static=no ++ # Look at the argument we got. We use all the common list separators. ++ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, ++ for pkg in $enableval; do ++ IFS=$lt_save_ifs ++ if test "X$pkg" = "X$p"; then ++ enable_static=yes ++ fi ++ done ++ IFS=$lt_save_ifs ++ ;; ++ esac ++else ++ enable_static=yes ++fi ++ ++ ++ ++ ++ ++ ++ ++ ++ ++case `pwd` in ++ *\ * | *\ *) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 ++$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; ++esac ++ ++ ++ ++macro_version='2.4.6' ++macro_revision='2.4.6' ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ltmain=$ac_aux_dir/ltmain.sh ++ ++# 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 ++ ++ ++# Backslashify metacharacters that are still active within ++# double-quoted strings. ++sed_quote_subst='s/\(["`$\\]\)/\\\1/g' ++ ++# Same as above, but do not quote variable references. ++double_quote_subst='s/\(["`\\]\)/\\\1/g' ++ ++# Sed substitution to delay expansion of an escaped shell variable in a ++# double_quote_subst'ed string. ++delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' ++ ++# Sed substitution to delay expansion of an escaped single quote. ++delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' ++ ++# Sed substitution to avoid accidental globbing in evaled expressions ++no_glob_subst='s/\*/\\\*/g' ++ ++ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ++ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ++ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 ++$as_echo_n "checking how to print strings... " >&6; } ++# Test print first, because it will be a builtin if present. ++if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ ++ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ++ ECHO='print -r --' ++elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ++ ECHO='printf %s\n' ++else ++ # Use this function as a fallback that always works. ++ func_fallback_echo () ++ { ++ eval 'cat <<_LTECHO_EOF ++$1 ++_LTECHO_EOF' ++ } ++ ECHO='func_fallback_echo' ++fi ++ ++# func_echo_all arg... ++# Invoke $ECHO with all args, space-separated. ++func_echo_all () ++{ ++ $ECHO "" ++} ++ ++case $ECHO in ++ printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 ++$as_echo "printf" >&6; } ;; ++ print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 ++$as_echo "print -r" >&6; } ;; ++ *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 ++$as_echo "cat" >&6; } ;; ++esac ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++DEPDIR="${am__leading_dot}deps" ++ ++ac_config_commands="$ac_config_commands depfiles" ++ ++ ++am_make=${MAKE-make} ++cat > confinc << 'END' ++am__doit: ++ @echo this is the am__doit target ++.PHONY: am__doit ++END ++# If we don't find an include directive, just comment out the code. ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 ++$as_echo_n "checking for style of include used by $am_make... " >&6; } ++am__include="#" ++am__quote= ++_am_result=none ++# First try GNU make style include. ++echo "include confinc" > confmf ++# Ignore all kinds of additional output from 'make'. ++case `$am_make -s -f confmf 2> /dev/null` in #( ++*the\ am__doit\ target*) ++ am__include=include ++ am__quote= ++ _am_result=GNU ++ ;; ++esac ++# Now try BSD make style include. ++if test "$am__include" = "#"; then ++ echo '.include "confinc"' > confmf ++ case `$am_make -s -f confmf 2> /dev/null` in #( ++ *the\ am__doit\ target*) ++ am__include=.include ++ am__quote="\"" ++ _am_result=BSD ++ ;; ++ esac ++fi ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 ++$as_echo "$_am_result" >&6; } ++rm -f confinc confmf ++ ++# Check whether --enable-dependency-tracking was given. ++if test "${enable_dependency_tracking+set}" = set; then : ++ enableval=$enable_dependency_tracking; ++fi ++ ++if test "x$enable_dependency_tracking" != xno; then ++ am_depcomp="$ac_aux_dir/depcomp" ++ AMDEPBACKSLASH='\' ++ am__nodep='_no' ++fi ++ if test "x$enable_dependency_tracking" != xno; then ++ AMDEP_TRUE= ++ AMDEP_FALSE='#' ++else ++ AMDEP_TRUE='#' ++ AMDEP_FALSE= ++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 whether $CC understands -c and -o together" >&5 ++$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } ++if ${am_cv_prog_cc_c_o+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++ # Make sure it works both with $CC and with simple cc. ++ # Following AC_PROG_CC_C_O, we do the test twice because some ++ # compilers refuse to overwrite an existing .o file with -o, ++ # though they will create one. ++ am_cv_prog_cc_c_o=yes ++ for am_i in 1 2; do ++ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 ++ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } \ ++ && test -f conftest2.$ac_objext; then ++ : OK ++ else ++ am_cv_prog_cc_c_o=no ++ break ++ fi ++ done ++ rm -f core conftest* ++ unset am_i ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 ++$as_echo "$am_cv_prog_cc_c_o" >&6; } ++if test "$am_cv_prog_cc_c_o" != yes; then ++ # Losing compiler, so override with the script. ++ # FIXME: It is wrong to rewrite CC. ++ # But if we don't then we get into trouble of one sort or another. ++ # A longer-term fix would be to have automake use am__CC in this case, ++ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" ++ CC="$am_aux_dir/compile $CC" ++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 ++ ++ ++depcc="$CC" am_compiler_list= ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 ++$as_echo_n "checking dependency style of $depcc... " >&6; } ++if ${am_cv_CC_dependencies_compiler_type+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then ++ # We make a subdir and do the tests there. Otherwise we can end up ++ # making bogus files that we don't know about and never remove. For ++ # instance it was reported that on HP-UX the gcc test will end up ++ # making a dummy file named 'D' -- because '-MD' means "put the output ++ # in D". ++ rm -rf conftest.dir ++ mkdir conftest.dir ++ # Copy depcomp to subdir because otherwise we won't find it if we're ++ # using a relative directory. ++ cp "$am_depcomp" conftest.dir ++ cd conftest.dir ++ # We will build objects and dependencies in a subdirectory because ++ # it helps to detect inapplicable dependency modes. For instance ++ # both Tru64's cc and ICC support -MD to output dependencies as a ++ # side effect of compilation, but ICC will put the dependencies in ++ # the current directory while Tru64 will put them in the object ++ # directory. ++ mkdir sub ++ ++ am_cv_CC_dependencies_compiler_type=none ++ if test "$am_compiler_list" = ""; then ++ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` ++ fi ++ am__universal=false ++ case " $depcc " in #( ++ *\ -arch\ *\ -arch\ *) am__universal=true ;; ++ esac ++ ++ for depmode in $am_compiler_list; do ++ # Setup a source with many dependencies, because some compilers ++ # like to wrap large dependency lists on column 80 (with \), and ++ # we should not choose a depcomp mode which is confused by this. ++ # ++ # We need to recreate these files for each test, as the compiler may ++ # overwrite some of them when testing with obscure command lines. ++ # This happens at least with the AIX C compiler. ++ : > sub/conftest.c ++ for i in 1 2 3 4 5 6; do ++ echo '#include "conftst'$i'.h"' >> sub/conftest.c ++ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with ++ # Solaris 10 /bin/sh. ++ echo '/* dummy */' > sub/conftst$i.h ++ done ++ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf ++ ++ # We check with '-c' and '-o' for the sake of the "dashmstdout" ++ # mode. It turns out that the SunPro C++ compiler does not properly ++ # handle '-M -o', and we need to detect this. Also, some Intel ++ # versions had trouble with output in subdirs. ++ am__obj=sub/conftest.${OBJEXT-o} ++ am__minus_obj="-o $am__obj" ++ case $depmode in ++ gcc) ++ # This depmode causes a compiler race in universal mode. ++ test "$am__universal" = false || continue ++ ;; ++ nosideeffect) ++ # After this tag, mechanisms are not by side-effect, so they'll ++ # only be used when explicitly requested. ++ if test "x$enable_dependency_tracking" = xyes; then ++ continue ++ else ++ break ++ fi ++ ;; ++ msvc7 | msvc7msys | msvisualcpp | msvcmsys) ++ # This compiler won't grok '-c -o', but also, the minuso test has ++ # not run yet. These depmodes are late enough in the game, and ++ # so weak that their functioning should not be impacted. ++ am__obj=conftest.${OBJEXT-o} ++ am__minus_obj= ++ ;; ++ none) break ;; ++ esac ++ if depmode=$depmode \ ++ source=sub/conftest.c object=$am__obj \ ++ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ ++ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ ++ >/dev/null 2>conftest.err && ++ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && ++ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && ++ grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then ++ # icc doesn't choke on unknown options, it will just issue warnings ++ # or remarks (even with -Werror). So we grep stderr for any message ++ # that says an option was ignored or not supported. ++ # When given -MP, icc 7.0 and 7.1 complain thusly: ++ # icc: Command line warning: ignoring option '-M'; no argument required ++ # The diagnosis changed in icc 8.0: ++ # icc: Command line remark: option '-MP' not supported ++ if (grep 'ignoring option' conftest.err || ++ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else ++ am_cv_CC_dependencies_compiler_type=$depmode ++ break ++ fi ++ fi ++ done ++ ++ cd .. ++ rm -rf conftest.dir ++else ++ am_cv_CC_dependencies_compiler_type=none ++fi ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 ++$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } ++CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type ++ ++ if ++ test "x$enable_dependency_tracking" != xno \ ++ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then ++ am__fastdepCC_TRUE= ++ am__fastdepCC_FALSE='#' ++else ++ am__fastdepCC_TRUE='#' ++ am__fastdepCC_FALSE= ++fi ++ ++ ++{ $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 ++ ++test -z "$SED" && SED=sed ++Xsed="$SED -e 1s/^X//" ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++{ $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 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 fgrep" >&5 ++$as_echo_n "checking for fgrep... " >&6; } ++if ${ac_cv_path_FGREP+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 ++ then ac_cv_path_FGREP="$GREP -F" ++ else ++ if test -z "$FGREP"; then ++ ac_path_FGREP_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 fgrep; do ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" ++ as_fn_executable_p "$ac_path_FGREP" || continue ++# Check for GNU ac_path_FGREP and select it if it is found. ++ # Check for GNU $ac_path_FGREP ++case `"$ac_path_FGREP" --version 2>&1` in ++*GNU*) ++ ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_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 'FGREP' >> "conftest.nl" ++ "$ac_path_FGREP" FGREP < "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_FGREP_max-0}; then ++ # Best one so far, save it but keep looking for a better one ++ ac_cv_path_FGREP="$ac_path_FGREP" ++ ac_path_FGREP_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_FGREP_found && break 3 ++ done ++ done ++ done ++IFS=$as_save_IFS ++ if test -z "$ac_cv_path_FGREP"; then ++ as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 ++ fi ++else ++ ac_cv_path_FGREP=$FGREP ++fi ++ ++ fi ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 ++$as_echo "$ac_cv_path_FGREP" >&6; } ++ FGREP="$ac_cv_path_FGREP" ++ ++ ++test -z "$GREP" && GREP=grep ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++# Check whether --with-gnu-ld was given. ++if test "${with_gnu_ld+set}" = set; then : ++ withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes ++else ++ with_gnu_ld=no ++fi ++ ++ac_prog=ld ++if test yes = "$GCC"; then ++ # Check if gcc -print-prog-name=ld gives a path. ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 ++$as_echo_n "checking for ld used by $CC... " >&6; } ++ case $host in ++ *-*-mingw*) ++ # gcc leaves a trailing carriage return, which upsets mingw ++ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; ++ *) ++ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; ++ esac ++ case $ac_prog in ++ # Accept absolute paths. ++ [\\/]* | ?:[\\/]*) ++ re_direlt='/[^/][^/]*/\.\./' ++ # Canonicalize the pathname of ld ++ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` ++ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ++ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` ++ done ++ test -z "$LD" && LD=$ac_prog ++ ;; ++ "") ++ # If it fails, then pretend we aren't using GCC. ++ ac_prog=ld ++ ;; ++ *) ++ # If it is relative, then search for the first ld in PATH. ++ with_gnu_ld=unknown ++ ;; ++ esac ++elif test yes = "$with_gnu_ld"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 ++$as_echo_n "checking for GNU ld... " >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 ++$as_echo_n "checking for non-GNU ld... " >&6; } ++fi ++if ${lt_cv_path_LD+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -z "$LD"; then ++ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ++ for ac_dir in $PATH; do ++ IFS=$lt_save_ifs ++ test -z "$ac_dir" && ac_dir=. ++ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then ++ lt_cv_path_LD=$ac_dir/$ac_prog ++ # Check to see if the program is GNU ld. I'd rather use --version, ++ # but apparently some variants of GNU ld only accept -v. ++ # Break only if it was the GNU/non-GNU ld that we prefer. ++ case `"$lt_cv_path_LD" -v 2>&1 &5 ++$as_echo "$LD" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 ++$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } ++if ${lt_cv_prog_gnu_ld+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ # I'd rather use --version here, but apparently some GNU lds only accept -v. ++case `$LD -v 2>&1 &5 ++$as_echo "$lt_cv_prog_gnu_ld" >&6; } ++with_gnu_ld=$lt_cv_prog_gnu_ld ++ ++ ++ ++ ++ ++ ++ ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 ++$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } ++if ${lt_cv_path_NM+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$NM"; then ++ # Let the user override the test. ++ lt_cv_path_NM=$NM ++else ++ lt_nm_to_check=${ac_tool_prefix}nm ++ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then ++ lt_nm_to_check="$lt_nm_to_check nm" ++ fi ++ for lt_tmp_nm in $lt_nm_to_check; do ++ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ++ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do ++ IFS=$lt_save_ifs ++ test -z "$ac_dir" && ac_dir=. ++ tmp_nm=$ac_dir/$lt_tmp_nm ++ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then ++ # Check to see if the nm accepts a BSD-compat flag. ++ # Adding the 'sed 1q' prevents false positives on HP-UX, which says: ++ # nm: unknown option "B" ignored ++ # Tru64's nm complains that /dev/null is an invalid object file ++ # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty ++ case $build_os in ++ mingw*) lt_bad_file=conftest.nm/nofile ;; ++ *) lt_bad_file=/dev/null ;; ++ esac ++ case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in ++ *$lt_bad_file* | *'Invalid file or object type'*) ++ lt_cv_path_NM="$tmp_nm -B" ++ break 2 ++ ;; ++ *) ++ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in ++ */dev/null*) ++ lt_cv_path_NM="$tmp_nm -p" ++ break 2 ++ ;; ++ *) ++ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but ++ continue # so that we can try to find one that supports BSD flags ++ ;; ++ esac ++ ;; ++ esac ++ fi ++ done ++ IFS=$lt_save_ifs ++ done ++ : ${lt_cv_path_NM=no} ++fi ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 ++$as_echo "$lt_cv_path_NM" >&6; } ++if test no != "$lt_cv_path_NM"; then ++ NM=$lt_cv_path_NM ++else ++ # Didn't find any BSD compatible name lister, look for dumpbin. ++ if test -n "$DUMPBIN"; then : ++ # Let the user override the test. ++ else ++ if test -n "$ac_tool_prefix"; then ++ for ac_prog in dumpbin "link -dump" ++ 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_DUMPBIN+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$DUMPBIN"; then ++ ac_cv_prog_DUMPBIN="$DUMPBIN" # 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_DUMPBIN="$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 ++DUMPBIN=$ac_cv_prog_DUMPBIN ++if test -n "$DUMPBIN"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 ++$as_echo "$DUMPBIN" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++ test -n "$DUMPBIN" && break ++ done ++fi ++if test -z "$DUMPBIN"; then ++ ac_ct_DUMPBIN=$DUMPBIN ++ for ac_prog in dumpbin "link -dump" ++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_DUMPBIN+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$ac_ct_DUMPBIN"; then ++ ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # 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_DUMPBIN="$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_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN ++if test -n "$ac_ct_DUMPBIN"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 ++$as_echo "$ac_ct_DUMPBIN" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++ test -n "$ac_ct_DUMPBIN" && break ++done ++ ++ if test "x$ac_ct_DUMPBIN" = x; then ++ DUMPBIN=":" ++ 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 ++ DUMPBIN=$ac_ct_DUMPBIN ++ fi ++fi ++ ++ case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in ++ *COFF*) ++ DUMPBIN="$DUMPBIN -symbols -headers" ++ ;; ++ *) ++ DUMPBIN=: ++ ;; ++ esac ++ fi ++ ++ if test : != "$DUMPBIN"; then ++ NM=$DUMPBIN ++ fi ++fi ++test -z "$NM" && NM=nm ++ ++ ++ ++ ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 ++$as_echo_n "checking the name lister ($NM) interface... " >&6; } ++if ${lt_cv_nm_interface+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ lt_cv_nm_interface="BSD nm" ++ echo "int some_variable = 0;" > conftest.$ac_ext ++ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) ++ (eval "$ac_compile" 2>conftest.err) ++ cat conftest.err >&5 ++ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) ++ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) ++ cat conftest.err >&5 ++ (eval echo "\"\$as_me:$LINENO: output\"" >&5) ++ cat conftest.out >&5 ++ if $GREP 'External.*some_variable' conftest.out > /dev/null; then ++ lt_cv_nm_interface="MS dumpbin" ++ fi ++ rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 ++$as_echo "$lt_cv_nm_interface" >&6; } ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 ++$as_echo_n "checking whether ln -s works... " >&6; } ++LN_S=$as_ln_s ++if test "$LN_S" = "ln -s"; 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, using $LN_S" >&5 ++$as_echo "no, using $LN_S" >&6; } ++fi ++ ++# find the maximum length of command line arguments ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 ++$as_echo_n "checking the maximum length of command line arguments... " >&6; } ++if ${lt_cv_sys_max_cmd_len+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ i=0 ++ teststring=ABCD ++ ++ case $build_os in ++ msdosdjgpp*) ++ # On DJGPP, this test can blow up pretty badly due to problems in libc ++ # (any single argument exceeding 2000 bytes causes a buffer overrun ++ # during glob expansion). Even if it were fixed, the result of this ++ # check would be larger than it should be. ++ lt_cv_sys_max_cmd_len=12288; # 12K is about right ++ ;; ++ ++ gnu*) ++ # Under GNU Hurd, this test is not required because there is ++ # no limit to the length of command line arguments. ++ # Libtool will interpret -1 as no limit whatsoever ++ lt_cv_sys_max_cmd_len=-1; ++ ;; ++ ++ cygwin* | mingw* | cegcc*) ++ # On Win9x/ME, this test blows up -- it succeeds, but takes ++ # about 5 minutes as the teststring grows exponentially. ++ # Worse, since 9x/ME are not pre-emptively multitasking, ++ # you end up with a "frozen" computer, even though with patience ++ # the test eventually succeeds (with a max line length of 256k). ++ # Instead, let's just punt: use the minimum linelength reported by ++ # all of the supported platforms: 8192 (on NT/2K/XP). ++ lt_cv_sys_max_cmd_len=8192; ++ ;; ++ ++ mint*) ++ # On MiNT this can take a long time and run out of memory. ++ lt_cv_sys_max_cmd_len=8192; ++ ;; ++ ++ amigaos*) ++ # On AmigaOS with pdksh, this test takes hours, literally. ++ # So we just punt and use a minimum line length of 8192. ++ lt_cv_sys_max_cmd_len=8192; ++ ;; ++ ++ bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) ++ # This has been around since 386BSD, at least. Likely further. ++ if test -x /sbin/sysctl; then ++ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` ++ elif test -x /usr/sbin/sysctl; then ++ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` ++ else ++ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs ++ fi ++ # And add a safety zone ++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` ++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ++ ;; ++ ++ interix*) ++ # We know the value 262144 and hardcode it with a safety zone (like BSD) ++ lt_cv_sys_max_cmd_len=196608 ++ ;; ++ ++ os2*) ++ # The test takes a long time on OS/2. ++ lt_cv_sys_max_cmd_len=8192 ++ ;; ++ ++ osf*) ++ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure ++ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not ++ # nice to cause kernel panics so lets avoid the loop below. ++ # First set a reasonable default. ++ lt_cv_sys_max_cmd_len=16384 ++ # ++ if test -x /sbin/sysconfig; then ++ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in ++ *1*) lt_cv_sys_max_cmd_len=-1 ;; ++ esac ++ fi ++ ;; ++ sco3.2v5*) ++ lt_cv_sys_max_cmd_len=102400 ++ ;; ++ sysv5* | sco5v6* | sysv4.2uw2*) ++ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` ++ if test -n "$kargmax"; then ++ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` ++ else ++ lt_cv_sys_max_cmd_len=32768 ++ fi ++ ;; ++ *) ++ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` ++ if test -n "$lt_cv_sys_max_cmd_len" && \ ++ test undefined != "$lt_cv_sys_max_cmd_len"; then ++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` ++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ++ else ++ # Make teststring a little bigger before we do anything with it. ++ # a 1K string should be a reasonable start. ++ for i in 1 2 3 4 5 6 7 8; do ++ teststring=$teststring$teststring ++ done ++ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} ++ # If test is not a shell built-in, we'll probably end up computing a ++ # maximum length that is only half of the actual maximum length, but ++ # we can't tell. ++ while { test X`env echo "$teststring$teststring" 2>/dev/null` \ ++ = "X$teststring$teststring"; } >/dev/null 2>&1 && ++ test 17 != "$i" # 1/2 MB should be enough ++ do ++ i=`expr $i + 1` ++ teststring=$teststring$teststring ++ done ++ # Only check the string length outside the loop. ++ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` ++ teststring= ++ # Add a significant safety factor because C++ compilers can tack on ++ # massive amounts of additional arguments before passing them to the ++ # linker. It appears as though 1/2 is a usable value. ++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` ++ fi ++ ;; ++ esac ++ ++fi ++ ++if test -n "$lt_cv_sys_max_cmd_len"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 ++$as_echo "$lt_cv_sys_max_cmd_len" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 ++$as_echo "none" >&6; } ++fi ++max_cmd_len=$lt_cv_sys_max_cmd_len ++ ++ ++ ++ ++ ++ ++: ${CP="cp -f"} ++: ${MV="mv -f"} ++: ${RM="rm -f"} ++ ++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then ++ lt_unset=unset ++else ++ lt_unset=false ++fi ++ ++ ++ ++ ++ ++# test EBCDIC or ASCII ++case `echo X|tr X '\101'` in ++ A) # ASCII based system ++ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr ++ lt_SP2NL='tr \040 \012' ++ lt_NL2SP='tr \015\012 \040\040' ++ ;; ++ *) # EBCDIC based system ++ lt_SP2NL='tr \100 \n' ++ lt_NL2SP='tr \r\n \100\100' ++ ;; ++esac ++ ++ ++ ++ ++ ++ ++ ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 ++$as_echo_n "checking how to convert $build file names to $host format... " >&6; } ++if ${lt_cv_to_host_file_cmd+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ case $host in ++ *-*-mingw* ) ++ case $build in ++ *-*-mingw* ) # actually msys ++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ++ ;; ++ *-*-cygwin* ) ++ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ++ ;; ++ * ) # otherwise, assume *nix ++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ++ ;; ++ esac ++ ;; ++ *-*-cygwin* ) ++ case $build in ++ *-*-mingw* ) # actually msys ++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ++ ;; ++ *-*-cygwin* ) ++ lt_cv_to_host_file_cmd=func_convert_file_noop ++ ;; ++ * ) # otherwise, assume *nix ++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ++ ;; ++ esac ++ ;; ++ * ) # unhandled hosts (and "normal" native builds) ++ lt_cv_to_host_file_cmd=func_convert_file_noop ++ ;; ++esac ++ ++fi ++ ++to_host_file_cmd=$lt_cv_to_host_file_cmd ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 ++$as_echo "$lt_cv_to_host_file_cmd" >&6; } ++ ++ ++ ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 ++$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } ++if ${lt_cv_to_tool_file_cmd+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ #assume ordinary cross tools, or native build. ++lt_cv_to_tool_file_cmd=func_convert_file_noop ++case $host in ++ *-*-mingw* ) ++ case $build in ++ *-*-mingw* ) # actually msys ++ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ++ ;; ++ esac ++ ;; ++esac ++ ++fi ++ ++to_tool_file_cmd=$lt_cv_to_tool_file_cmd ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 ++$as_echo "$lt_cv_to_tool_file_cmd" >&6; } ++ ++ ++ ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 ++$as_echo_n "checking for $LD option to reload object files... " >&6; } ++if ${lt_cv_ld_reload_flag+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ lt_cv_ld_reload_flag='-r' ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 ++$as_echo "$lt_cv_ld_reload_flag" >&6; } ++reload_flag=$lt_cv_ld_reload_flag ++case $reload_flag in ++"" | " "*) ;; ++*) reload_flag=" $reload_flag" ;; ++esac ++reload_cmds='$LD$reload_flag -o $output$reload_objs' ++case $host_os in ++ cygwin* | mingw* | pw32* | cegcc*) ++ if test yes != "$GCC"; then ++ reload_cmds=false ++ fi ++ ;; ++ darwin*) ++ if test yes = "$GCC"; then ++ reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' ++ else ++ reload_cmds='$LD$reload_flag -o $output$reload_objs' ++ fi ++ ;; ++esac ++ ++ ++ ++ ++ ++ ++ ++ ++ ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. ++set dummy ${ac_tool_prefix}objdump; 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_OBJDUMP+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$OBJDUMP"; then ++ ac_cv_prog_OBJDUMP="$OBJDUMP" # 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_OBJDUMP="${ac_tool_prefix}objdump" ++ $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 ++OBJDUMP=$ac_cv_prog_OBJDUMP ++if test -n "$OBJDUMP"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 ++$as_echo "$OBJDUMP" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_OBJDUMP"; then ++ ac_ct_OBJDUMP=$OBJDUMP ++ # Extract the first word of "objdump", so it can be a program name with args. ++set dummy objdump; 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_OBJDUMP+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$ac_ct_OBJDUMP"; then ++ ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # 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_OBJDUMP="objdump" ++ $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_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP ++if test -n "$ac_ct_OBJDUMP"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 ++$as_echo "$ac_ct_OBJDUMP" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ if test "x$ac_ct_OBJDUMP" = x; then ++ OBJDUMP="false" ++ 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 ++ OBJDUMP=$ac_ct_OBJDUMP ++ fi ++else ++ OBJDUMP="$ac_cv_prog_OBJDUMP" ++fi ++ ++test -z "$OBJDUMP" && OBJDUMP=objdump ++ ++ ++ ++ ++ ++ ++ ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 ++$as_echo_n "checking how to recognize dependent libraries... " >&6; } ++if ${lt_cv_deplibs_check_method+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ lt_cv_file_magic_cmd='$MAGIC_CMD' ++lt_cv_file_magic_test_file= ++lt_cv_deplibs_check_method='unknown' ++# Need to set the preceding variable on all platforms that support ++# interlibrary dependencies. ++# 'none' -- dependencies not supported. ++# 'unknown' -- same as none, but documents that we really don't know. ++# 'pass_all' -- all dependencies passed with no checks. ++# 'test_compile' -- check by making test program. ++# 'file_magic [[regex]]' -- check by looking for files in library path ++# that responds to the $file_magic_cmd with a given extended regex. ++# If you have 'file' or equivalent on your system and you're not sure ++# whether 'pass_all' will *always* work, you probably want this one. ++ ++case $host_os in ++aix[4-9]*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ ++beos*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ ++bsdi[45]*) ++ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' ++ lt_cv_file_magic_cmd='/usr/bin/file -L' ++ lt_cv_file_magic_test_file=/shlib/libc.so ++ ;; ++ ++cygwin*) ++ # func_win32_libid is a shell function defined in ltmain.sh ++ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' ++ lt_cv_file_magic_cmd='func_win32_libid' ++ ;; ++ ++mingw* | pw32*) ++ # Base MSYS/MinGW do not provide the 'file' command needed by ++ # func_win32_libid shell function, so use a weaker test based on 'objdump', ++ # unless we find 'file', for example because we are cross-compiling. ++ if ( file / ) >/dev/null 2>&1; then ++ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' ++ lt_cv_file_magic_cmd='func_win32_libid' ++ else ++ # Keep this pattern in sync with the one in func_win32_libid. ++ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' ++ lt_cv_file_magic_cmd='$OBJDUMP -f' ++ fi ++ ;; ++ ++cegcc*) ++ # use the weaker test based on 'objdump'. See mingw*. ++ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' ++ lt_cv_file_magic_cmd='$OBJDUMP -f' ++ ;; ++ ++darwin* | rhapsody*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ ++freebsd* | dragonfly*) ++ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then ++ case $host_cpu in ++ i*86 ) ++ # Not sure whether the presence of OpenBSD here was a mistake. ++ # Let's accept both of them until this is cleared up. ++ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' ++ lt_cv_file_magic_cmd=/usr/bin/file ++ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ++ ;; ++ esac ++ else ++ lt_cv_deplibs_check_method=pass_all ++ fi ++ ;; ++ ++haiku*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ ++hpux10.20* | hpux11*) ++ lt_cv_file_magic_cmd=/usr/bin/file ++ case $host_cpu in ++ ia64*) ++ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' ++ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ++ ;; ++ hppa*64*) ++ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' ++ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ++ ;; ++ *) ++ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' ++ lt_cv_file_magic_test_file=/usr/lib/libc.sl ++ ;; ++ esac ++ ;; ++ ++interix[3-9]*) ++ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here ++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ++ ;; ++ ++irix5* | irix6* | nonstopux*) ++ case $LD in ++ *-32|*"-32 ") libmagic=32-bit;; ++ *-n32|*"-n32 ") libmagic=N32;; ++ *-64|*"-64 ") libmagic=64-bit;; ++ *) libmagic=never-match;; ++ esac ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ ++# This must be glibc/ELF. ++linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ ++netbsd*) ++ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then ++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' ++ else ++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' ++ fi ++ ;; ++ ++newos6*) ++ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' ++ lt_cv_file_magic_cmd=/usr/bin/file ++ lt_cv_file_magic_test_file=/usr/lib/libnls.so ++ ;; ++ ++*nto* | *qnx*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ ++openbsd* | bitrig*) ++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then ++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' ++ else ++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' ++ fi ++ ;; ++ ++osf3* | osf4* | osf5*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ ++rdos*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ ++solaris*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ ++sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ ++sysv4 | sysv4.3*) ++ case $host_vendor in ++ motorola) ++ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' ++ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ++ ;; ++ ncr) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ sequent) ++ lt_cv_file_magic_cmd='/bin/file' ++ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ++ ;; ++ sni) ++ lt_cv_file_magic_cmd='/bin/file' ++ lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" ++ lt_cv_file_magic_test_file=/lib/libc.so ++ ;; ++ siemens) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ pc) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ esac ++ ;; ++ ++tpf*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++os2*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++esac ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 ++$as_echo "$lt_cv_deplibs_check_method" >&6; } ++ ++file_magic_glob= ++want_nocaseglob=no ++if test "$build" = "$host"; then ++ case $host_os in ++ mingw* | pw32*) ++ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then ++ want_nocaseglob=yes ++ else ++ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` ++ fi ++ ;; ++ esac ++fi ++ ++file_magic_cmd=$lt_cv_file_magic_cmd ++deplibs_check_method=$lt_cv_deplibs_check_method ++test -z "$deplibs_check_method" && deplibs_check_method=unknown ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. ++set dummy ${ac_tool_prefix}dlltool; 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_DLLTOOL+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$DLLTOOL"; then ++ ac_cv_prog_DLLTOOL="$DLLTOOL" # 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_DLLTOOL="${ac_tool_prefix}dlltool" ++ $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 ++DLLTOOL=$ac_cv_prog_DLLTOOL ++if test -n "$DLLTOOL"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 ++$as_echo "$DLLTOOL" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_DLLTOOL"; then ++ ac_ct_DLLTOOL=$DLLTOOL ++ # Extract the first word of "dlltool", so it can be a program name with args. ++set dummy dlltool; 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_DLLTOOL+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$ac_ct_DLLTOOL"; then ++ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # 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_DLLTOOL="dlltool" ++ $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_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL ++if test -n "$ac_ct_DLLTOOL"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 ++$as_echo "$ac_ct_DLLTOOL" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ if test "x$ac_ct_DLLTOOL" = x; then ++ DLLTOOL="false" ++ 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 ++ DLLTOOL=$ac_ct_DLLTOOL ++ fi ++else ++ DLLTOOL="$ac_cv_prog_DLLTOOL" ++fi ++ ++test -z "$DLLTOOL" && DLLTOOL=dlltool ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 ++$as_echo_n "checking how to associate runtime and link libraries... " >&6; } ++if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ lt_cv_sharedlib_from_linklib_cmd='unknown' ++ ++case $host_os in ++cygwin* | mingw* | pw32* | cegcc*) ++ # two different shell functions defined in ltmain.sh; ++ # decide which one to use based on capabilities of $DLLTOOL ++ case `$DLLTOOL --help 2>&1` in ++ *--identify-strict*) ++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ++ ;; ++ *) ++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ++ ;; ++ esac ++ ;; ++*) ++ # fallback: assume linklib IS sharedlib ++ lt_cv_sharedlib_from_linklib_cmd=$ECHO ++ ;; ++esac ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 ++$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } ++sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd ++test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO ++ ++ ++ ++ ++ ++ ++ ++ ++if test -n "$ac_tool_prefix"; then ++ for ac_prog in ar ++ 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 ++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="false" ++ 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 ++ ++: ${AR=ar} ++: ${AR_FLAGS=cru} ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 ++$as_echo_n "checking for archiver @FILE support... " >&6; } ++if ${lt_cv_ar_at_file+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ lt_cv_ar_at_file=no ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ echo conftest.$ac_objext > conftest.lst ++ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' ++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 ++ (eval $lt_ar_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } ++ if test 0 -eq "$ac_status"; then ++ # Ensure the archiver fails upon bogus file names. ++ rm -f conftest.$ac_objext libconftest.a ++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 ++ (eval $lt_ar_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } ++ if test 0 -ne "$ac_status"; then ++ lt_cv_ar_at_file=@ ++ fi ++ fi ++ rm -f conftest.* libconftest.a ++ ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 ++$as_echo "$lt_cv_ar_at_file" >&6; } ++ ++if test no = "$lt_cv_ar_at_file"; then ++ archiver_list_spec= ++else ++ archiver_list_spec=$lt_cv_ar_at_file ++fi ++ ++ ++ ++ ++ ++ ++ ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. ++set dummy ${ac_tool_prefix}strip; 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_STRIP+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$STRIP"; then ++ ac_cv_prog_STRIP="$STRIP" # 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_STRIP="${ac_tool_prefix}strip" ++ $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 ++STRIP=$ac_cv_prog_STRIP ++if test -n "$STRIP"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 ++$as_echo "$STRIP" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_STRIP"; then ++ ac_ct_STRIP=$STRIP ++ # Extract the first word of "strip", so it can be a program name with args. ++set dummy strip; 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_STRIP+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$ac_ct_STRIP"; then ++ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # 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_STRIP="strip" ++ $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_STRIP=$ac_cv_prog_ac_ct_STRIP ++if test -n "$ac_ct_STRIP"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 ++$as_echo "$ac_ct_STRIP" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ if test "x$ac_ct_STRIP" = x; then ++ STRIP=":" ++ 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 ++ STRIP=$ac_ct_STRIP ++ fi ++else ++ STRIP="$ac_cv_prog_STRIP" ++fi ++ ++test -z "$STRIP" && STRIP=: ++ ++ ++ ++ ++ ++ ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. ++set dummy ${ac_tool_prefix}ranlib; 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_RANLIB+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$RANLIB"; then ++ ac_cv_prog_RANLIB="$RANLIB" # 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_RANLIB="${ac_tool_prefix}ranlib" ++ $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 ++RANLIB=$ac_cv_prog_RANLIB ++if test -n "$RANLIB"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 ++$as_echo "$RANLIB" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_RANLIB"; then ++ ac_ct_RANLIB=$RANLIB ++ # Extract the first word of "ranlib", so it can be a program name with args. ++set dummy ranlib; 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_RANLIB+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$ac_ct_RANLIB"; then ++ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # 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_RANLIB="ranlib" ++ $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_RANLIB=$ac_cv_prog_ac_ct_RANLIB ++if test -n "$ac_ct_RANLIB"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 ++$as_echo "$ac_ct_RANLIB" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ if test "x$ac_ct_RANLIB" = x; then ++ RANLIB=":" ++ 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 ++ RANLIB=$ac_ct_RANLIB ++ fi ++else ++ RANLIB="$ac_cv_prog_RANLIB" ++fi ++ ++test -z "$RANLIB" && RANLIB=: ++ ++ ++ ++ ++ ++ ++# Determine commands to create old-style static archives. ++old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' ++old_postinstall_cmds='chmod 644 $oldlib' ++old_postuninstall_cmds= ++ ++if test -n "$RANLIB"; then ++ case $host_os in ++ bitrig* | openbsd*) ++ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ++ ;; ++ *) ++ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ++ ;; ++ esac ++ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" ++fi ++ ++case $host_os in ++ darwin*) ++ lock_old_archive_extraction=yes ;; ++ *) ++ lock_old_archive_extraction=no ;; ++esac ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++# If no C compiler was specified, use CC. ++LTCC=${LTCC-"$CC"} ++ ++# If no C compiler flags were specified, use CFLAGS. ++LTCFLAGS=${LTCFLAGS-"$CFLAGS"} ++ ++# Allow CC to be a program name with arguments. ++compiler=$CC ++ ++ ++# Check for command to grab the raw symbol name followed by C symbol from nm. ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 ++$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } ++if ${lt_cv_sys_global_symbol_pipe+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ++# These are sane defaults that work on at least a few old systems. ++# [They come from Ultrix. What could be older than Ultrix?!! ;)] ++ ++# Character class describing NM global symbol codes. ++symcode='[BCDEGRST]' ++ ++# Regexp to match symbols that can be accessed directly from C. ++sympat='\([_A-Za-z][_A-Za-z0-9]*\)' ++ ++# Define system-specific variables. ++case $host_os in ++aix*) ++ symcode='[BCDT]' ++ ;; ++cygwin* | mingw* | pw32* | cegcc*) ++ symcode='[ABCDGISTW]' ++ ;; ++hpux*) ++ if test ia64 = "$host_cpu"; then ++ symcode='[ABCDEGRST]' ++ fi ++ ;; ++irix* | nonstopux*) ++ symcode='[BCDEGRST]' ++ ;; ++osf*) ++ symcode='[BCDEGQRST]' ++ ;; ++solaris*) ++ symcode='[BDRT]' ++ ;; ++sco3.2v5*) ++ symcode='[DT]' ++ ;; ++sysv4.2uw2*) ++ symcode='[DT]' ++ ;; ++sysv5* | sco5v6* | unixware* | OpenUNIX*) ++ symcode='[ABDT]' ++ ;; ++sysv4) ++ symcode='[DFNSTU]' ++ ;; ++esac ++ ++# If we're using GNU nm, then use its standard symbol codes. ++case `$NM -V 2>&1` in ++*GNU* | *'with BFD'*) ++ symcode='[ABCDGIRSTW]' ;; ++esac ++ ++if test "$lt_cv_nm_interface" = "MS dumpbin"; then ++ # Gets list of data symbols to import. ++ lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" ++ # Adjust the below global symbol transforms to fixup imported variables. ++ lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" ++ lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" ++ lt_c_name_lib_hook="\ ++ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ ++ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" ++else ++ # Disable hooks by default. ++ lt_cv_sys_global_symbol_to_import= ++ lt_cdecl_hook= ++ lt_c_name_hook= ++ lt_c_name_lib_hook= ++fi ++ ++# Transform an extracted symbol line into a proper C declaration. ++# Some systems (esp. on ia64) link data and code symbols differently, ++# so use this general approach. ++lt_cv_sys_global_symbol_to_cdecl="sed -n"\ ++$lt_cdecl_hook\ ++" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ ++" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" ++ ++# Transform an extracted symbol line into symbol name and symbol address ++lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ ++$lt_c_name_hook\ ++" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ ++" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" ++ ++# Transform an extracted symbol line into symbol name with lib prefix and ++# symbol address. ++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ ++$lt_c_name_lib_hook\ ++" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ ++" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ ++" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" ++ ++# Handle CRLF in mingw tool chain ++opt_cr= ++case $build_os in ++mingw*) ++ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ++ ;; ++esac ++ ++# Try without a prefix underscore, then with it. ++for ac_symprfx in "" "_"; do ++ ++ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. ++ symxfrm="\\1 $ac_symprfx\\2 \\2" ++ ++ # Write the raw and C identifiers. ++ if test "$lt_cv_nm_interface" = "MS dumpbin"; then ++ # Fake it for dumpbin and say T for any non-static function, ++ # D for any global variable and I for any imported variable. ++ # Also find C++ and __fastcall symbols from MSVC++, ++ # which start with @ or ?. ++ lt_cv_sys_global_symbol_pipe="$AWK '"\ ++" {last_section=section; section=\$ 3};"\ ++" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ ++" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ ++" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ ++" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ ++" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ ++" \$ 0!~/External *\|/{next};"\ ++" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ ++" {if(hide[section]) next};"\ ++" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ ++" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ ++" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ ++" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ ++" ' prfx=^$ac_symprfx" ++ else ++ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" ++ fi ++ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" ++ ++ # Check to see that the pipe works correctly. ++ pipe_works=no ++ ++ rm -f conftest* ++ cat > conftest.$ac_ext <<_LT_EOF ++#ifdef __cplusplus ++extern "C" { ++#endif ++char nm_test_var; ++void nm_test_func(void); ++void nm_test_func(void){} ++#ifdef __cplusplus ++} ++#endif ++int main(){nm_test_var='a';nm_test_func();return(0);} ++_LT_EOF ++ ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; then ++ # Now try to grab the symbols. ++ nlist=conftest.nm ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 ++ (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } && test -s "$nlist"; then ++ # Try sorting and uniquifying the output. ++ if sort "$nlist" | uniq > "$nlist"T; then ++ mv -f "$nlist"T "$nlist" ++ else ++ rm -f "$nlist"T ++ fi ++ ++ # Make sure that we snagged all the symbols we need. ++ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then ++ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then ++ cat <<_LT_EOF > conftest.$ac_ext ++/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ ++#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE ++/* DATA imports from DLLs on WIN32 can't be const, because runtime ++ relocations are performed -- see ld's documentation on pseudo-relocs. */ ++# define LT_DLSYM_CONST ++#elif defined __osf__ ++/* This system does not cope well with relocations in const data. */ ++# define LT_DLSYM_CONST ++#else ++# define LT_DLSYM_CONST const ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++_LT_EOF ++ # Now generate the symbol file. ++ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' ++ ++ cat <<_LT_EOF >> conftest.$ac_ext ++ ++/* The mapping between symbol names and symbols. */ ++LT_DLSYM_CONST struct { ++ const char *name; ++ void *address; ++} ++lt__PROGRAM__LTX_preloaded_symbols[] = ++{ ++ { "@PROGRAM@", (void *) 0 }, ++_LT_EOF ++ $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext ++ cat <<\_LT_EOF >> conftest.$ac_ext ++ {0, (void *) 0} ++}; ++ ++/* This works around a problem in FreeBSD linker */ ++#ifdef FREEBSD_WORKAROUND ++static const void *lt_preloaded_setup() { ++ return lt__PROGRAM__LTX_preloaded_symbols; ++} ++#endif ++ ++#ifdef __cplusplus ++} ++#endif ++_LT_EOF ++ # Now try linking the two files. ++ mv conftest.$ac_objext conftstm.$ac_objext ++ lt_globsym_save_LIBS=$LIBS ++ lt_globsym_save_CFLAGS=$CFLAGS ++ LIBS=conftstm.$ac_objext ++ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } && test -s conftest$ac_exeext; then ++ pipe_works=yes ++ fi ++ LIBS=$lt_globsym_save_LIBS ++ CFLAGS=$lt_globsym_save_CFLAGS ++ else ++ echo "cannot find nm_test_func in $nlist" >&5 ++ fi ++ else ++ echo "cannot find nm_test_var in $nlist" >&5 ++ fi ++ else ++ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 ++ fi ++ else ++ echo "$progname: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ fi ++ rm -rf conftest* conftst* ++ ++ # Do not use the global_symbol_pipe unless it works. ++ if test yes = "$pipe_works"; then ++ break ++ else ++ lt_cv_sys_global_symbol_pipe= ++ fi ++done ++ ++fi ++ ++if test -z "$lt_cv_sys_global_symbol_pipe"; then ++ lt_cv_sys_global_symbol_to_cdecl= ++fi ++if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 ++$as_echo "failed" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 ++$as_echo "ok" >&6; } ++fi ++ ++# Response file support. ++if test "$lt_cv_nm_interface" = "MS dumpbin"; then ++ nm_file_list_spec='@' ++elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then ++ nm_file_list_spec='@' ++fi ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 ++$as_echo_n "checking for sysroot... " >&6; } ++ ++# Check whether --with-sysroot was given. ++if test "${with_sysroot+set}" = set; then : ++ withval=$with_sysroot; ++else ++ with_sysroot=no ++fi ++ ++ ++lt_sysroot= ++case $with_sysroot in #( ++ yes) ++ if test yes = "$GCC"; then ++ lt_sysroot=`$CC --print-sysroot 2>/dev/null` ++ fi ++ ;; #( ++ /*) ++ lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ++ ;; #( ++ no|'') ++ ;; #( ++ *) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 ++$as_echo "$with_sysroot" >&6; } ++ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 ++ ;; ++esac ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 ++$as_echo "${lt_sysroot:-no}" >&6; } ++ ++ ++ ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 ++$as_echo_n "checking for a working dd... " >&6; } ++if ${ac_cv_path_lt_DD+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ printf 0123456789abcdef0123456789abcdef >conftest.i ++cat conftest.i conftest.i >conftest2.i ++: ${lt_DD:=$DD} ++if test -z "$lt_DD"; then ++ ac_path_lt_DD_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 dd; do ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" ++ as_fn_executable_p "$ac_path_lt_DD" || continue ++if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then ++ cmp -s conftest.i conftest.out \ ++ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: ++fi ++ $ac_path_lt_DD_found && break 3 ++ done ++ done ++ done ++IFS=$as_save_IFS ++ if test -z "$ac_cv_path_lt_DD"; then ++ : ++ fi ++else ++ ac_cv_path_lt_DD=$lt_DD ++fi ++ ++rm -f conftest.i conftest2.i conftest.out ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 ++$as_echo "$ac_cv_path_lt_DD" >&6; } ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 ++$as_echo_n "checking how to truncate binary pipes... " >&6; } ++if ${lt_cv_truncate_bin+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ printf 0123456789abcdef0123456789abcdef >conftest.i ++cat conftest.i conftest.i >conftest2.i ++lt_cv_truncate_bin= ++if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then ++ cmp -s conftest.i conftest.out \ ++ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" ++fi ++rm -f conftest.i conftest2.i conftest.out ++test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 ++$as_echo "$lt_cv_truncate_bin" >&6; } ++ ++ ++ ++ ++ ++ ++ ++# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. ++func_cc_basename () ++{ ++ for cc_temp in $*""; do ++ case $cc_temp in ++ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; ++ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; ++ \-*) ;; ++ *) break;; ++ esac ++ done ++ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` ++} ++ ++# Check whether --enable-libtool-lock was given. ++if test "${enable_libtool_lock+set}" = set; then : ++ enableval=$enable_libtool_lock; ++fi ++ ++test no = "$enable_libtool_lock" || enable_libtool_lock=yes ++ ++# Some flags need to be propagated to the compiler or linker for good ++# libtool support. ++case $host in ++ia64-*-hpux*) ++ # Find out what ABI is being produced by ac_compile, and set mode ++ # options accordingly. ++ echo 'int i;' > conftest.$ac_ext ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; then ++ case `/usr/bin/file conftest.$ac_objext` in ++ *ELF-32*) ++ HPUX_IA64_MODE=32 ++ ;; ++ *ELF-64*) ++ HPUX_IA64_MODE=64 ++ ;; ++ esac ++ fi ++ rm -rf conftest* ++ ;; ++*-*-irix6*) ++ # Find out what ABI is being produced by ac_compile, and set linker ++ # options accordingly. ++ echo '#line '$LINENO' "configure"' > conftest.$ac_ext ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; then ++ if test yes = "$lt_cv_prog_gnu_ld"; then ++ case `/usr/bin/file conftest.$ac_objext` in ++ *32-bit*) ++ LD="${LD-ld} -melf32bsmip" ++ ;; ++ *N32*) ++ LD="${LD-ld} -melf32bmipn32" ++ ;; ++ *64-bit*) ++ LD="${LD-ld} -melf64bmip" ++ ;; ++ esac ++ else ++ case `/usr/bin/file conftest.$ac_objext` in ++ *32-bit*) ++ LD="${LD-ld} -32" ++ ;; ++ *N32*) ++ LD="${LD-ld} -n32" ++ ;; ++ *64-bit*) ++ LD="${LD-ld} -64" ++ ;; ++ esac ++ fi ++ fi ++ rm -rf conftest* ++ ;; ++ ++mips64*-*linux*) ++ # Find out what ABI is being produced by ac_compile, and set linker ++ # options accordingly. ++ echo '#line '$LINENO' "configure"' > conftest.$ac_ext ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; then ++ emul=elf ++ case `/usr/bin/file conftest.$ac_objext` in ++ *32-bit*) ++ emul="${emul}32" ++ ;; ++ *64-bit*) ++ emul="${emul}64" ++ ;; ++ esac ++ case `/usr/bin/file conftest.$ac_objext` in ++ *MSB*) ++ emul="${emul}btsmip" ++ ;; ++ *LSB*) ++ emul="${emul}ltsmip" ++ ;; ++ esac ++ case `/usr/bin/file conftest.$ac_objext` in ++ *N32*) ++ emul="${emul}n32" ++ ;; ++ esac ++ LD="${LD-ld} -m $emul" ++ fi ++ rm -rf conftest* ++ ;; ++ ++x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ ++s390*-*linux*|s390*-*tpf*|sparc*-*linux*) ++ # Find out what ABI is being produced by ac_compile, and set linker ++ # options accordingly. Note that the listed cases only cover the ++ # situations where additional linker options are needed (such as when ++ # doing 32-bit compilation for a host where ld defaults to 64-bit, or ++ # vice versa); the common cases where no linker options are needed do ++ # not appear in the list. ++ echo 'int i;' > conftest.$ac_ext ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; then ++ case `/usr/bin/file conftest.o` in ++ *32-bit*) ++ case $host in ++ x86_64-*kfreebsd*-gnu) ++ LD="${LD-ld} -m elf_i386_fbsd" ++ ;; ++ x86_64-*linux*) ++ case `/usr/bin/file conftest.o` in ++ *x86-64*) ++ LD="${LD-ld} -m elf32_x86_64" ++ ;; ++ *) ++ LD="${LD-ld} -m elf_i386" ++ ;; ++ esac ++ ;; ++ powerpc64le-*linux*) ++ LD="${LD-ld} -m elf32lppclinux" ++ ;; ++ powerpc64-*linux*) ++ LD="${LD-ld} -m elf32ppclinux" ++ ;; ++ s390x-*linux*) ++ LD="${LD-ld} -m elf_s390" ++ ;; ++ sparc64-*linux*) ++ LD="${LD-ld} -m elf32_sparc" ++ ;; ++ esac ++ ;; ++ *64-bit*) ++ case $host in ++ x86_64-*kfreebsd*-gnu) ++ LD="${LD-ld} -m elf_x86_64_fbsd" ++ ;; ++ x86_64-*linux*) ++ LD="${LD-ld} -m elf_x86_64" ++ ;; ++ powerpcle-*linux*) ++ LD="${LD-ld} -m elf64lppc" ++ ;; ++ powerpc-*linux*) ++ LD="${LD-ld} -m elf64ppc" ++ ;; ++ s390*-*linux*|s390*-*tpf*) ++ LD="${LD-ld} -m elf64_s390" ++ ;; ++ sparc*-*linux*) ++ LD="${LD-ld} -m elf64_sparc" ++ ;; ++ esac ++ ;; ++ esac ++ fi ++ rm -rf conftest* ++ ;; ++ ++*-*-sco3.2v5*) ++ # On SCO OpenServer 5, we need -belf to get full-featured binaries. ++ SAVE_CFLAGS=$CFLAGS ++ CFLAGS="$CFLAGS -belf" ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 ++$as_echo_n "checking whether the C compiler needs -belf... " >&6; } ++if ${lt_cv_cc_needs_belf+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ 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 ++ ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ lt_cv_cc_needs_belf=yes ++else ++ lt_cv_cc_needs_belf=no ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++ 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 ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 ++$as_echo "$lt_cv_cc_needs_belf" >&6; } ++ if test yes != "$lt_cv_cc_needs_belf"; then ++ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf ++ CFLAGS=$SAVE_CFLAGS ++ fi ++ ;; ++*-*solaris*) ++ # Find out what ABI is being produced by ac_compile, and set linker ++ # options accordingly. ++ echo 'int i;' > conftest.$ac_ext ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; then ++ case `/usr/bin/file conftest.o` in ++ *64-bit*) ++ case $lt_cv_prog_gnu_ld in ++ yes*) ++ case $host in ++ i?86-*-solaris*|x86_64-*-solaris*) ++ LD="${LD-ld} -m elf_x86_64" ++ ;; ++ sparc*-*-solaris*) ++ LD="${LD-ld} -m elf64_sparc" ++ ;; ++ esac ++ # GNU ld 2.21 introduced _sol2 emulations. Use them if available. ++ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then ++ LD=${LD-ld}_sol2 ++ fi ++ ;; ++ *) ++ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then ++ LD="${LD-ld} -64" ++ fi ++ ;; ++ esac ++ ;; ++ esac ++ fi ++ rm -rf conftest* ++ ;; ++esac ++ ++need_locks=$enable_libtool_lock ++ ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. ++set dummy ${ac_tool_prefix}mt; 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_MANIFEST_TOOL+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$MANIFEST_TOOL"; then ++ ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # 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_MANIFEST_TOOL="${ac_tool_prefix}mt" ++ $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 ++MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL ++if test -n "$MANIFEST_TOOL"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 ++$as_echo "$MANIFEST_TOOL" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_MANIFEST_TOOL"; then ++ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL ++ # Extract the first word of "mt", so it can be a program name with args. ++set dummy mt; 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_MANIFEST_TOOL+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$ac_ct_MANIFEST_TOOL"; then ++ ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # 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_MANIFEST_TOOL="mt" ++ $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_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL ++if test -n "$ac_ct_MANIFEST_TOOL"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 ++$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ if test "x$ac_ct_MANIFEST_TOOL" = x; then ++ MANIFEST_TOOL=":" ++ 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 ++ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL ++ fi ++else ++ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" ++fi ++ ++test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 ++$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } ++if ${lt_cv_path_mainfest_tool+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ lt_cv_path_mainfest_tool=no ++ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 ++ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out ++ cat conftest.err >&5 ++ if $GREP 'Manifest Tool' conftest.out > /dev/null; then ++ lt_cv_path_mainfest_tool=yes ++ fi ++ rm -f conftest* ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 ++$as_echo "$lt_cv_path_mainfest_tool" >&6; } ++if test yes != "$lt_cv_path_mainfest_tool"; then ++ MANIFEST_TOOL=: ++fi ++ ++ ++ ++ ++ ++ ++ case $host_os in ++ rhapsody* | darwin*) ++ if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. ++set dummy ${ac_tool_prefix}dsymutil; 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_DSYMUTIL+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$DSYMUTIL"; then ++ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # 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_DSYMUTIL="${ac_tool_prefix}dsymutil" ++ $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 ++DSYMUTIL=$ac_cv_prog_DSYMUTIL ++if test -n "$DSYMUTIL"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 ++$as_echo "$DSYMUTIL" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_DSYMUTIL"; then ++ ac_ct_DSYMUTIL=$DSYMUTIL ++ # Extract the first word of "dsymutil", so it can be a program name with args. ++set dummy dsymutil; 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_DSYMUTIL+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$ac_ct_DSYMUTIL"; then ++ ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # 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_DSYMUTIL="dsymutil" ++ $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_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL ++if test -n "$ac_ct_DSYMUTIL"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 ++$as_echo "$ac_ct_DSYMUTIL" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ if test "x$ac_ct_DSYMUTIL" = x; then ++ DSYMUTIL=":" ++ 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 ++ DSYMUTIL=$ac_ct_DSYMUTIL ++ fi ++else ++ DSYMUTIL="$ac_cv_prog_DSYMUTIL" ++fi ++ ++ if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. ++set dummy ${ac_tool_prefix}nmedit; 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_NMEDIT+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$NMEDIT"; then ++ ac_cv_prog_NMEDIT="$NMEDIT" # 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_NMEDIT="${ac_tool_prefix}nmedit" ++ $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 ++NMEDIT=$ac_cv_prog_NMEDIT ++if test -n "$NMEDIT"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 ++$as_echo "$NMEDIT" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_NMEDIT"; then ++ ac_ct_NMEDIT=$NMEDIT ++ # Extract the first word of "nmedit", so it can be a program name with args. ++set dummy nmedit; 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_NMEDIT+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$ac_ct_NMEDIT"; then ++ ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # 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_NMEDIT="nmedit" ++ $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_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT ++if test -n "$ac_ct_NMEDIT"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 ++$as_echo "$ac_ct_NMEDIT" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ if test "x$ac_ct_NMEDIT" = x; then ++ NMEDIT=":" ++ 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 ++ NMEDIT=$ac_ct_NMEDIT ++ fi ++else ++ NMEDIT="$ac_cv_prog_NMEDIT" ++fi ++ ++ if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. ++set dummy ${ac_tool_prefix}lipo; 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_LIPO+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$LIPO"; then ++ ac_cv_prog_LIPO="$LIPO" # 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_LIPO="${ac_tool_prefix}lipo" ++ $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 ++LIPO=$ac_cv_prog_LIPO ++if test -n "$LIPO"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 ++$as_echo "$LIPO" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_LIPO"; then ++ ac_ct_LIPO=$LIPO ++ # Extract the first word of "lipo", so it can be a program name with args. ++set dummy lipo; 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_LIPO+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$ac_ct_LIPO"; then ++ ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # 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_LIPO="lipo" ++ $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_LIPO=$ac_cv_prog_ac_ct_LIPO ++if test -n "$ac_ct_LIPO"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 ++$as_echo "$ac_ct_LIPO" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ if test "x$ac_ct_LIPO" = x; then ++ LIPO=":" ++ 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 ++ LIPO=$ac_ct_LIPO ++ fi ++else ++ LIPO="$ac_cv_prog_LIPO" ++fi ++ ++ if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. ++set dummy ${ac_tool_prefix}otool; 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_OTOOL+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$OTOOL"; then ++ ac_cv_prog_OTOOL="$OTOOL" # 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_OTOOL="${ac_tool_prefix}otool" ++ $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 ++OTOOL=$ac_cv_prog_OTOOL ++if test -n "$OTOOL"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 ++$as_echo "$OTOOL" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_OTOOL"; then ++ ac_ct_OTOOL=$OTOOL ++ # Extract the first word of "otool", so it can be a program name with args. ++set dummy otool; 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_OTOOL+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$ac_ct_OTOOL"; then ++ ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # 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_OTOOL="otool" ++ $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_OTOOL=$ac_cv_prog_ac_ct_OTOOL ++if test -n "$ac_ct_OTOOL"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 ++$as_echo "$ac_ct_OTOOL" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ if test "x$ac_ct_OTOOL" = x; then ++ OTOOL=":" ++ 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 ++ OTOOL=$ac_ct_OTOOL ++ fi ++else ++ OTOOL="$ac_cv_prog_OTOOL" ++fi ++ ++ if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. ++set dummy ${ac_tool_prefix}otool64; 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_OTOOL64+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$OTOOL64"; then ++ ac_cv_prog_OTOOL64="$OTOOL64" # 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_OTOOL64="${ac_tool_prefix}otool64" ++ $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 ++OTOOL64=$ac_cv_prog_OTOOL64 ++if test -n "$OTOOL64"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 ++$as_echo "$OTOOL64" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_OTOOL64"; then ++ ac_ct_OTOOL64=$OTOOL64 ++ # Extract the first word of "otool64", so it can be a program name with args. ++set dummy otool64; 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_OTOOL64+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$ac_ct_OTOOL64"; then ++ ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # 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_OTOOL64="otool64" ++ $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_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 ++if test -n "$ac_ct_OTOOL64"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 ++$as_echo "$ac_ct_OTOOL64" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ if test "x$ac_ct_OTOOL64" = x; then ++ OTOOL64=":" ++ 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 ++ OTOOL64=$ac_ct_OTOOL64 ++ fi ++else ++ OTOOL64="$ac_cv_prog_OTOOL64" ++fi ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 ++$as_echo_n "checking for -single_module linker flag... " >&6; } ++if ${lt_cv_apple_cc_single_mod+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ lt_cv_apple_cc_single_mod=no ++ if test -z "$LT_MULTI_MODULE"; then ++ # By default we will add the -single_module flag. You can override ++ # by either setting the environment variable LT_MULTI_MODULE ++ # non-empty at configure time, or by adding -multi_module to the ++ # link flags. ++ rm -rf libconftest.dylib* ++ echo "int foo(void){return 1;}" > conftest.c ++ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ ++-dynamiclib -Wl,-single_module conftest.c" >&5 ++ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ ++ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err ++ _lt_result=$? ++ # If there is a non-empty error log, and "single_module" ++ # appears in it, assume the flag caused a linker warning ++ if test -s conftest.err && $GREP single_module conftest.err; then ++ cat conftest.err >&5 ++ # Otherwise, if the output was created with a 0 exit code from ++ # the compiler, it worked. ++ elif test -f libconftest.dylib && test 0 = "$_lt_result"; then ++ lt_cv_apple_cc_single_mod=yes ++ else ++ cat conftest.err >&5 ++ fi ++ rm -rf libconftest.dylib* ++ rm -f conftest.* ++ fi ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 ++$as_echo "$lt_cv_apple_cc_single_mod" >&6; } ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 ++$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } ++if ${lt_cv_ld_exported_symbols_list+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ lt_cv_ld_exported_symbols_list=no ++ save_LDFLAGS=$LDFLAGS ++ echo "_main" > conftest.sym ++ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ lt_cv_ld_exported_symbols_list=yes ++else ++ lt_cv_ld_exported_symbols_list=no ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++ LDFLAGS=$save_LDFLAGS ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 ++$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 ++$as_echo_n "checking for -force_load linker flag... " >&6; } ++if ${lt_cv_ld_force_load+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ lt_cv_ld_force_load=no ++ cat > conftest.c << _LT_EOF ++int forced_loaded() { return 2;} ++_LT_EOF ++ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 ++ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 ++ echo "$AR cru libconftest.a conftest.o" >&5 ++ $AR cru libconftest.a conftest.o 2>&5 ++ echo "$RANLIB libconftest.a" >&5 ++ $RANLIB libconftest.a 2>&5 ++ cat > conftest.c << _LT_EOF ++int main() { return 0;} ++_LT_EOF ++ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 ++ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err ++ _lt_result=$? ++ if test -s conftest.err && $GREP force_load conftest.err; then ++ cat conftest.err >&5 ++ elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then ++ lt_cv_ld_force_load=yes ++ else ++ cat conftest.err >&5 ++ fi ++ rm -f conftest.err libconftest.a conftest conftest.c ++ rm -rf conftest.dSYM ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 ++$as_echo "$lt_cv_ld_force_load" >&6; } ++ case $host_os in ++ rhapsody* | darwin1.[012]) ++ _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; ++ darwin1.*) ++ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; ++ darwin*) # darwin 5.x on ++ # if running on 10.5 or later, the deployment target defaults ++ # to the OS version, if on x86, and 10.4, the deployment ++ # target defaults to 10.4. Don't you love it? ++ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in ++ 10.0,*86*-darwin8*|10.0,*-darwin[91]*) ++ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; ++ 10.[012][,.]*) ++ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; ++ 10.*) ++ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; ++ esac ++ ;; ++ esac ++ if test yes = "$lt_cv_apple_cc_single_mod"; then ++ _lt_dar_single_mod='$single_module' ++ fi ++ if test yes = "$lt_cv_ld_exported_symbols_list"; then ++ _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' ++ else ++ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' ++ fi ++ if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then ++ _lt_dsymutil='~$DSYMUTIL $lib || :' ++ else ++ _lt_dsymutil= ++ fi ++ ;; ++ esac ++ ++# func_munge_path_list VARIABLE PATH ++# ----------------------------------- ++# VARIABLE is name of variable containing _space_ separated list of ++# directories to be munged by the contents of PATH, which is string ++# having a format: ++# "DIR[:DIR]:" ++# string "DIR[ DIR]" will be prepended to VARIABLE ++# ":DIR[:DIR]" ++# string "DIR[ DIR]" will be appended to VARIABLE ++# "DIRP[:DIRP]::[DIRA:]DIRA" ++# string "DIRP[ DIRP]" will be prepended to VARIABLE and string ++# "DIRA[ DIRA]" will be appended to VARIABLE ++# "DIR[:DIR]" ++# VARIABLE will be replaced by "DIR[ DIR]" ++func_munge_path_list () ++{ ++ case x$2 in ++ x) ++ ;; ++ *:) ++ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" ++ ;; ++ x:*) ++ eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" ++ ;; ++ *::*) ++ eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" ++ eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" ++ ;; ++ *) ++ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" ++ ;; ++ esac ++} ++ ++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 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 ++ ++ ++for ac_header in dlfcn.h ++do : ++ ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default ++" ++if test "x$ac_cv_header_dlfcn_h" = xyes; then : ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_DLFCN_H 1 ++_ACEOF ++ ++fi ++ ++done ++ ++ ++ ++ ++ ++# Set options ++ ++ ++ ++ enable_dlopen=no ++ ++ ++ enable_win32_dll=no ++ ++ ++ ++ ++ ++# Check whether --with-pic was given. ++if test "${with_pic+set}" = set; then : ++ withval=$with_pic; lt_p=${PACKAGE-default} ++ case $withval in ++ yes|no) pic_mode=$withval ;; ++ *) ++ pic_mode=default ++ # Look at the argument we got. We use all the common list separators. ++ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, ++ for lt_pkg in $withval; do ++ IFS=$lt_save_ifs ++ if test "X$lt_pkg" = "X$lt_p"; then ++ pic_mode=yes ++ fi ++ done ++ IFS=$lt_save_ifs ++ ;; ++ esac ++else ++ pic_mode=default ++fi ++ ++ ++ ++ ++ ++ ++ ++ ++ # Check whether --enable-fast-install was given. ++if test "${enable_fast_install+set}" = set; then : ++ enableval=$enable_fast_install; p=${PACKAGE-default} ++ case $enableval in ++ yes) enable_fast_install=yes ;; ++ no) enable_fast_install=no ;; ++ *) ++ enable_fast_install=no ++ # Look at the argument we got. We use all the common list separators. ++ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, ++ for pkg in $enableval; do ++ IFS=$lt_save_ifs ++ if test "X$pkg" = "X$p"; then ++ enable_fast_install=yes ++ fi ++ done ++ IFS=$lt_save_ifs ++ ;; ++ esac ++else ++ enable_fast_install=yes ++fi ++ ++ ++ ++ ++ ++ ++ ++ ++ shared_archive_member_spec= ++case $host,$enable_shared in ++power*-*-aix[5-9]*,yes) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 ++$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } ++ ++# Check whether --with-aix-soname was given. ++if test "${with_aix_soname+set}" = set; then : ++ withval=$with_aix_soname; case $withval in ++ aix|svr4|both) ++ ;; ++ *) ++ as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 ++ ;; ++ esac ++ lt_cv_with_aix_soname=$with_aix_soname ++else ++ if ${lt_cv_with_aix_soname+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ lt_cv_with_aix_soname=aix ++fi ++ ++ with_aix_soname=$lt_cv_with_aix_soname ++fi ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 ++$as_echo "$with_aix_soname" >&6; } ++ if test aix != "$with_aix_soname"; then ++ # For the AIX way of multilib, we name the shared archive member ++ # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', ++ # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. ++ # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, ++ # the AIX toolchain works better with OBJECT_MODE set (default 32). ++ if test 64 = "${OBJECT_MODE-32}"; then ++ shared_archive_member_spec=shr_64 ++ else ++ shared_archive_member_spec=shr ++ fi ++ fi ++ ;; ++*) ++ with_aix_soname=aix ++ ;; ++esac ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++# This can be used to rebuild libtool when needed ++LIBTOOL_DEPS=$ltmain ++ ++# Always use our own libtool. ++LIBTOOL='$(SHELL) $(top_builddir)/libtool' ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++test -z "$LN_S" && LN_S="ln -s" ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++if test -n "${ZSH_VERSION+set}"; then ++ setopt NO_GLOB_SUBST ++fi ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 ++$as_echo_n "checking for objdir... " >&6; } ++if ${lt_cv_objdir+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ rm -f .libs 2>/dev/null ++mkdir .libs 2>/dev/null ++if test -d .libs; then ++ lt_cv_objdir=.libs ++else ++ # MS-DOS does not allow filenames that begin with a dot. ++ lt_cv_objdir=_libs ++fi ++rmdir .libs 2>/dev/null ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 ++$as_echo "$lt_cv_objdir" >&6; } ++objdir=$lt_cv_objdir ++ ++ ++ ++ ++ ++cat >>confdefs.h <<_ACEOF ++#define LT_OBJDIR "$lt_cv_objdir/" ++_ACEOF ++ ++ ++ ++ ++case $host_os in ++aix3*) ++ # AIX sometimes has problems with the GCC collect2 program. For some ++ # reason, if we set the COLLECT_NAMES environment variable, the problems ++ # vanish in a puff of smoke. ++ if test set != "${COLLECT_NAMES+set}"; then ++ COLLECT_NAMES= ++ export COLLECT_NAMES ++ fi ++ ;; ++esac ++ ++# Global variables: ++ofile=libtool ++can_build_shared=yes ++ ++# All known linkers require a '.a' archive for static linking (except MSVC, ++# which needs '.lib'). ++libext=a ++ ++with_gnu_ld=$lt_cv_prog_gnu_ld ++ ++old_CC=$CC ++old_CFLAGS=$CFLAGS ++ ++# Set sane defaults for various variables ++test -z "$CC" && CC=cc ++test -z "$LTCC" && LTCC=$CC ++test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS ++test -z "$LD" && LD=ld ++test -z "$ac_objext" && ac_objext=o ++ ++func_cc_basename $compiler ++cc_basename=$func_cc_basename_result ++ ++ ++# Only perform the check for file, if the check method requires it ++test -z "$MAGIC_CMD" && MAGIC_CMD=file ++case $deplibs_check_method in ++file_magic*) ++ if test "$file_magic_cmd" = '$MAGIC_CMD'; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 ++$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } ++if ${lt_cv_path_MAGIC_CMD+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ case $MAGIC_CMD in ++[\\/*] | ?:[\\/]*) ++ lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ++ ;; ++*) ++ lt_save_MAGIC_CMD=$MAGIC_CMD ++ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ++ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" ++ for ac_dir in $ac_dummy; do ++ IFS=$lt_save_ifs ++ test -z "$ac_dir" && ac_dir=. ++ if test -f "$ac_dir/${ac_tool_prefix}file"; then ++ lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" ++ if test -n "$file_magic_test_file"; then ++ case $deplibs_check_method in ++ "file_magic "*) ++ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` ++ MAGIC_CMD=$lt_cv_path_MAGIC_CMD ++ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | ++ $EGREP "$file_magic_regex" > /dev/null; then ++ : ++ else ++ cat <<_LT_EOF 1>&2 ++ ++*** Warning: the command libtool uses to detect shared libraries, ++*** $file_magic_cmd, produces output that libtool cannot recognize. ++*** The result is that libtool may fail to recognize shared libraries ++*** as such. This will affect the creation of libtool libraries that ++*** depend on shared libraries, but programs linked with such libtool ++*** libraries will work regardless of this problem. Nevertheless, you ++*** may want to report the problem to your system manager and/or to ++*** bug-libtool@gnu.org ++ ++_LT_EOF ++ fi ;; ++ esac ++ fi ++ break ++ fi ++ done ++ IFS=$lt_save_ifs ++ MAGIC_CMD=$lt_save_MAGIC_CMD ++ ;; ++esac ++fi ++ ++MAGIC_CMD=$lt_cv_path_MAGIC_CMD ++if test -n "$MAGIC_CMD"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 ++$as_echo "$MAGIC_CMD" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++ ++ ++ ++if test -z "$lt_cv_path_MAGIC_CMD"; then ++ if test -n "$ac_tool_prefix"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 ++$as_echo_n "checking for file... " >&6; } ++if ${lt_cv_path_MAGIC_CMD+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ case $MAGIC_CMD in ++[\\/*] | ?:[\\/]*) ++ lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ++ ;; ++*) ++ lt_save_MAGIC_CMD=$MAGIC_CMD ++ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ++ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" ++ for ac_dir in $ac_dummy; do ++ IFS=$lt_save_ifs ++ test -z "$ac_dir" && ac_dir=. ++ if test -f "$ac_dir/file"; then ++ lt_cv_path_MAGIC_CMD=$ac_dir/"file" ++ if test -n "$file_magic_test_file"; then ++ case $deplibs_check_method in ++ "file_magic "*) ++ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` ++ MAGIC_CMD=$lt_cv_path_MAGIC_CMD ++ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | ++ $EGREP "$file_magic_regex" > /dev/null; then ++ : ++ else ++ cat <<_LT_EOF 1>&2 ++ ++*** Warning: the command libtool uses to detect shared libraries, ++*** $file_magic_cmd, produces output that libtool cannot recognize. ++*** The result is that libtool may fail to recognize shared libraries ++*** as such. This will affect the creation of libtool libraries that ++*** depend on shared libraries, but programs linked with such libtool ++*** libraries will work regardless of this problem. Nevertheless, you ++*** may want to report the problem to your system manager and/or to ++*** bug-libtool@gnu.org ++ ++_LT_EOF ++ fi ;; ++ esac ++ fi ++ break ++ fi ++ done ++ IFS=$lt_save_ifs ++ MAGIC_CMD=$lt_save_MAGIC_CMD ++ ;; ++esac ++fi ++ ++MAGIC_CMD=$lt_cv_path_MAGIC_CMD ++if test -n "$MAGIC_CMD"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 ++$as_echo "$MAGIC_CMD" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++ else ++ MAGIC_CMD=: ++ fi ++fi ++ ++ fi ++ ;; ++esac ++ ++# Use C for the default configuration in the libtool script ++ ++lt_save_CC=$CC ++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 ++ ++ ++# Source file extension for C test sources. ++ac_ext=c ++ ++# Object file extension for compiled C test sources. ++objext=o ++objext=$objext ++ ++# Code to be used in simple compile tests ++lt_simple_compile_test_code="int some_variable = 0;" ++ ++# Code to be used in simple link tests ++lt_simple_link_test_code='int main(){return(0);}' ++ ++ ++ ++ ++ ++ ++ ++# If no C compiler was specified, use CC. ++LTCC=${LTCC-"$CC"} ++ ++# If no C compiler flags were specified, use CFLAGS. ++LTCFLAGS=${LTCFLAGS-"$CFLAGS"} ++ ++# Allow CC to be a program name with arguments. ++compiler=$CC ++ ++# Save the default compiler, since it gets overwritten when the other ++# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. ++compiler_DEFAULT=$CC ++ ++# save warnings/boilerplate of simple test code ++ac_outfile=conftest.$ac_objext ++echo "$lt_simple_compile_test_code" >conftest.$ac_ext ++eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err ++_lt_compiler_boilerplate=`cat conftest.err` ++$RM conftest* ++ ++ac_outfile=conftest.$ac_objext ++echo "$lt_simple_link_test_code" >conftest.$ac_ext ++eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err ++_lt_linker_boilerplate=`cat conftest.err` ++$RM -r conftest* ++ ++ ++## CAVEAT EMPTOR: ++## There is no encapsulation within the following macros, do not change ++## the running order or otherwise move them around unless you know exactly ++## what you are doing... ++if test -n "$compiler"; then ++ ++lt_prog_compiler_no_builtin_flag= ++ ++if test yes = "$GCC"; then ++ case $cc_basename in ++ nvcc*) ++ lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; ++ *) ++ lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; ++ esac ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 ++$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } ++if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ lt_cv_prog_compiler_rtti_exceptions=no ++ ac_outfile=conftest.$ac_objext ++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext ++ lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment ++ # Insert the option either (1) after the last *FLAGS variable, or ++ # (2) before a word containing "conftest.", or (3) at the end. ++ # Note that $ac_compile itself does not contain backslashes and begins ++ # with a dollar sign (not a hyphen), so the echo should work correctly. ++ # The option is referenced via a variable to avoid confusing sed. ++ lt_compile=`echo "$ac_compile" | $SED \ ++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ ++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ ++ -e 's:$: $lt_compiler_flag:'` ++ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) ++ (eval "$lt_compile" 2>conftest.err) ++ ac_status=$? ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ if (exit $ac_status) && test -s "$ac_outfile"; then ++ # The compiler can only warn and ignore the option if not recognized ++ # So say no if there are warnings other than the usual output. ++ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp ++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 ++ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then ++ lt_cv_prog_compiler_rtti_exceptions=yes ++ fi ++ fi ++ $RM conftest* ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 ++$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } ++ ++if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then ++ lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" ++else ++ : ++fi ++ ++fi ++ ++ ++ ++ ++ ++ ++ lt_prog_compiler_wl= ++lt_prog_compiler_pic= ++lt_prog_compiler_static= ++ ++ ++ if test yes = "$GCC"; then ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_static='-static' ++ ++ case $host_os in ++ aix*) ++ # All AIX code is PIC. ++ if test ia64 = "$host_cpu"; then ++ # AIX 5 now supports IA64 processor ++ lt_prog_compiler_static='-Bstatic' ++ fi ++ lt_prog_compiler_pic='-fPIC' ++ ;; ++ ++ amigaos*) ++ case $host_cpu in ++ powerpc) ++ # see comment about AmigaOS4 .so support ++ lt_prog_compiler_pic='-fPIC' ++ ;; ++ m68k) ++ # FIXME: we need at least 68020 code to build shared libraries, but ++ # adding the '-m68020' flag to GCC prevents building anything better, ++ # like '-m68040'. ++ lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ++ ;; ++ esac ++ ;; ++ ++ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) ++ # PIC is the default for these OSes. ++ ;; ++ ++ mingw* | cygwin* | pw32* | os2* | cegcc*) ++ # This hack is so that the source file can tell whether it is being ++ # built for inclusion in a dll (and should export symbols for example). ++ # Although the cygwin gcc ignores -fPIC, still need this for old-style ++ # (--disable-auto-import) libraries ++ lt_prog_compiler_pic='-DDLL_EXPORT' ++ case $host_os in ++ os2*) ++ lt_prog_compiler_static='$wl-static' ++ ;; ++ esac ++ ;; ++ ++ darwin* | rhapsody*) ++ # PIC is the default on this platform ++ # Common symbols not allowed in MH_DYLIB files ++ lt_prog_compiler_pic='-fno-common' ++ ;; ++ ++ haiku*) ++ # PIC is the default for Haiku. ++ # The "-static" flag exists, but is broken. ++ lt_prog_compiler_static= ++ ;; ++ ++ hpux*) ++ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit ++ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag ++ # sets the default TLS model and affects inlining. ++ case $host_cpu in ++ hppa*64*) ++ # +Z the default ++ ;; ++ *) ++ lt_prog_compiler_pic='-fPIC' ++ ;; ++ esac ++ ;; ++ ++ interix[3-9]*) ++ # Interix 3.x gcc -fpic/-fPIC options generate broken code. ++ # Instead, we relocate shared libraries at runtime. ++ ;; ++ ++ msdosdjgpp*) ++ # Just because we use GCC doesn't mean we suddenly get shared libraries ++ # on systems that don't support them. ++ lt_prog_compiler_can_build_shared=no ++ enable_shared=no ++ ;; ++ ++ *nto* | *qnx*) ++ # QNX uses GNU C++, but need to define -shared option too, otherwise ++ # it will coredump. ++ lt_prog_compiler_pic='-fPIC -shared' ++ ;; ++ ++ sysv4*MP*) ++ if test -d /usr/nec; then ++ lt_prog_compiler_pic=-Kconform_pic ++ fi ++ ;; ++ ++ *) ++ lt_prog_compiler_pic='-fPIC' ++ ;; ++ esac ++ ++ case $cc_basename in ++ nvcc*) # Cuda Compiler Driver 2.2 ++ lt_prog_compiler_wl='-Xlinker ' ++ if test -n "$lt_prog_compiler_pic"; then ++ lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" ++ fi ++ ;; ++ esac ++ else ++ # PORTME Check for flag to pass linker flags through the system compiler. ++ case $host_os in ++ aix*) ++ lt_prog_compiler_wl='-Wl,' ++ if test ia64 = "$host_cpu"; then ++ # AIX 5 now supports IA64 processor ++ lt_prog_compiler_static='-Bstatic' ++ else ++ lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' ++ fi ++ ;; ++ ++ darwin* | rhapsody*) ++ # PIC is the default on this platform ++ # Common symbols not allowed in MH_DYLIB files ++ lt_prog_compiler_pic='-fno-common' ++ case $cc_basename in ++ nagfor*) ++ # NAG Fortran compiler ++ lt_prog_compiler_wl='-Wl,-Wl,,' ++ lt_prog_compiler_pic='-PIC' ++ lt_prog_compiler_static='-Bstatic' ++ ;; ++ esac ++ ;; ++ ++ mingw* | cygwin* | pw32* | os2* | cegcc*) ++ # This hack is so that the source file can tell whether it is being ++ # built for inclusion in a dll (and should export symbols for example). ++ lt_prog_compiler_pic='-DDLL_EXPORT' ++ case $host_os in ++ os2*) ++ lt_prog_compiler_static='$wl-static' ++ ;; ++ esac ++ ;; ++ ++ hpux9* | hpux10* | hpux11*) ++ lt_prog_compiler_wl='-Wl,' ++ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but ++ # not for PA HP-UX. ++ case $host_cpu in ++ hppa*64*|ia64*) ++ # +Z the default ++ ;; ++ *) ++ lt_prog_compiler_pic='+Z' ++ ;; ++ esac ++ # Is there a better lt_prog_compiler_static that works with the bundled CC? ++ lt_prog_compiler_static='$wl-a ${wl}archive' ++ ;; ++ ++ irix5* | irix6* | nonstopux*) ++ lt_prog_compiler_wl='-Wl,' ++ # PIC (with -KPIC) is the default. ++ lt_prog_compiler_static='-non_shared' ++ ;; ++ ++ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) ++ case $cc_basename in ++ # old Intel for x86_64, which still supported -KPIC. ++ ecc*) ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_pic='-KPIC' ++ lt_prog_compiler_static='-static' ++ ;; ++ # icc used to be incompatible with GCC. ++ # ICC 10 doesn't accept -KPIC any more. ++ icc* | ifort*) ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_pic='-fPIC' ++ lt_prog_compiler_static='-static' ++ ;; ++ # Lahey Fortran 8.1. ++ lf95*) ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_pic='--shared' ++ lt_prog_compiler_static='--static' ++ ;; ++ nagfor*) ++ # NAG Fortran compiler ++ lt_prog_compiler_wl='-Wl,-Wl,,' ++ lt_prog_compiler_pic='-PIC' ++ lt_prog_compiler_static='-Bstatic' ++ ;; ++ tcc*) ++ # Fabrice Bellard et al's Tiny C Compiler ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_pic='-fPIC' ++ lt_prog_compiler_static='-static' ++ ;; ++ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) ++ # Portland Group compilers (*not* the Pentium gcc compiler, ++ # which looks to be a dead project) ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_pic='-fpic' ++ lt_prog_compiler_static='-Bstatic' ++ ;; ++ ccc*) ++ lt_prog_compiler_wl='-Wl,' ++ # All Alpha code is PIC. ++ lt_prog_compiler_static='-non_shared' ++ ;; ++ xl* | bgxl* | bgf* | mpixl*) ++ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_pic='-qpic' ++ lt_prog_compiler_static='-qstaticlink' ++ ;; ++ *) ++ case `$CC -V 2>&1 | sed 5q` in ++ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) ++ # Sun Fortran 8.3 passes all unrecognized flags to the linker ++ lt_prog_compiler_pic='-KPIC' ++ lt_prog_compiler_static='-Bstatic' ++ lt_prog_compiler_wl='' ++ ;; ++ *Sun\ F* | *Sun*Fortran*) ++ lt_prog_compiler_pic='-KPIC' ++ lt_prog_compiler_static='-Bstatic' ++ lt_prog_compiler_wl='-Qoption ld ' ++ ;; ++ *Sun\ C*) ++ # Sun C 5.9 ++ lt_prog_compiler_pic='-KPIC' ++ lt_prog_compiler_static='-Bstatic' ++ lt_prog_compiler_wl='-Wl,' ++ ;; ++ *Intel*\ [CF]*Compiler*) ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_pic='-fPIC' ++ lt_prog_compiler_static='-static' ++ ;; ++ *Portland\ Group*) ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_pic='-fpic' ++ lt_prog_compiler_static='-Bstatic' ++ ;; ++ esac ++ ;; ++ esac ++ ;; ++ ++ newsos6) ++ lt_prog_compiler_pic='-KPIC' ++ lt_prog_compiler_static='-Bstatic' ++ ;; ++ ++ *nto* | *qnx*) ++ # QNX uses GNU C++, but need to define -shared option too, otherwise ++ # it will coredump. ++ lt_prog_compiler_pic='-fPIC -shared' ++ ;; ++ ++ osf3* | osf4* | osf5*) ++ lt_prog_compiler_wl='-Wl,' ++ # All OSF/1 code is PIC. ++ lt_prog_compiler_static='-non_shared' ++ ;; ++ ++ rdos*) ++ lt_prog_compiler_static='-non_shared' ++ ;; ++ ++ solaris*) ++ lt_prog_compiler_pic='-KPIC' ++ lt_prog_compiler_static='-Bstatic' ++ case $cc_basename in ++ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) ++ lt_prog_compiler_wl='-Qoption ld ';; ++ *) ++ lt_prog_compiler_wl='-Wl,';; ++ esac ++ ;; ++ ++ sunos4*) ++ lt_prog_compiler_wl='-Qoption ld ' ++ lt_prog_compiler_pic='-PIC' ++ lt_prog_compiler_static='-Bstatic' ++ ;; ++ ++ sysv4 | sysv4.2uw2* | sysv4.3*) ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_pic='-KPIC' ++ lt_prog_compiler_static='-Bstatic' ++ ;; ++ ++ sysv4*MP*) ++ if test -d /usr/nec; then ++ lt_prog_compiler_pic='-Kconform_pic' ++ lt_prog_compiler_static='-Bstatic' ++ fi ++ ;; ++ ++ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_pic='-KPIC' ++ lt_prog_compiler_static='-Bstatic' ++ ;; ++ ++ unicos*) ++ lt_prog_compiler_wl='-Wl,' ++ lt_prog_compiler_can_build_shared=no ++ ;; ++ ++ uts4*) ++ lt_prog_compiler_pic='-pic' ++ lt_prog_compiler_static='-Bstatic' ++ ;; ++ ++ *) ++ lt_prog_compiler_can_build_shared=no ++ ;; ++ esac ++ fi ++ ++case $host_os in ++ # For platforms that do not support PIC, -DPIC is meaningless: ++ *djgpp*) ++ lt_prog_compiler_pic= ++ ;; ++ *) ++ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ++ ;; ++esac ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 ++$as_echo_n "checking for $compiler option to produce PIC... " >&6; } ++if ${lt_cv_prog_compiler_pic+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ lt_cv_prog_compiler_pic=$lt_prog_compiler_pic ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 ++$as_echo "$lt_cv_prog_compiler_pic" >&6; } ++lt_prog_compiler_pic=$lt_cv_prog_compiler_pic ++ ++# ++# Check to make sure the PIC flag actually works. ++# ++if test -n "$lt_prog_compiler_pic"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 ++$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } ++if ${lt_cv_prog_compiler_pic_works+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ lt_cv_prog_compiler_pic_works=no ++ ac_outfile=conftest.$ac_objext ++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext ++ lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment ++ # Insert the option either (1) after the last *FLAGS variable, or ++ # (2) before a word containing "conftest.", or (3) at the end. ++ # Note that $ac_compile itself does not contain backslashes and begins ++ # with a dollar sign (not a hyphen), so the echo should work correctly. ++ # The option is referenced via a variable to avoid confusing sed. ++ lt_compile=`echo "$ac_compile" | $SED \ ++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ ++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ ++ -e 's:$: $lt_compiler_flag:'` ++ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) ++ (eval "$lt_compile" 2>conftest.err) ++ ac_status=$? ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ if (exit $ac_status) && test -s "$ac_outfile"; then ++ # The compiler can only warn and ignore the option if not recognized ++ # So say no if there are warnings other than the usual output. ++ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp ++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 ++ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then ++ lt_cv_prog_compiler_pic_works=yes ++ fi ++ fi ++ $RM conftest* ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 ++$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } ++ ++if test yes = "$lt_cv_prog_compiler_pic_works"; then ++ case $lt_prog_compiler_pic in ++ "" | " "*) ;; ++ *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; ++ esac ++else ++ lt_prog_compiler_pic= ++ lt_prog_compiler_can_build_shared=no ++fi ++ ++fi ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++# ++# Check to make sure the static flag actually works. ++# ++wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 ++$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } ++if ${lt_cv_prog_compiler_static_works+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ lt_cv_prog_compiler_static_works=no ++ save_LDFLAGS=$LDFLAGS ++ LDFLAGS="$LDFLAGS $lt_tmp_static_flag" ++ echo "$lt_simple_link_test_code" > conftest.$ac_ext ++ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then ++ # The linker can only warn and ignore the option if not recognized ++ # So say no if there are warnings ++ if test -s conftest.err; then ++ # Append any errors to the config.log. ++ cat conftest.err 1>&5 ++ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp ++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 ++ if diff conftest.exp conftest.er2 >/dev/null; then ++ lt_cv_prog_compiler_static_works=yes ++ fi ++ else ++ lt_cv_prog_compiler_static_works=yes ++ fi ++ fi ++ $RM -r conftest* ++ LDFLAGS=$save_LDFLAGS ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 ++$as_echo "$lt_cv_prog_compiler_static_works" >&6; } ++ ++if test yes = "$lt_cv_prog_compiler_static_works"; then ++ : ++else ++ lt_prog_compiler_static= ++fi ++ ++ ++ ++ ++ ++ ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 ++$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } ++if ${lt_cv_prog_compiler_c_o+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ lt_cv_prog_compiler_c_o=no ++ $RM -r conftest 2>/dev/null ++ mkdir conftest ++ cd conftest ++ mkdir out ++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext ++ ++ lt_compiler_flag="-o out/conftest2.$ac_objext" ++ # Insert the option either (1) after the last *FLAGS variable, or ++ # (2) before a word containing "conftest.", or (3) at the end. ++ # Note that $ac_compile itself does not contain backslashes and begins ++ # with a dollar sign (not a hyphen), so the echo should work correctly. ++ lt_compile=`echo "$ac_compile" | $SED \ ++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ ++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ ++ -e 's:$: $lt_compiler_flag:'` ++ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) ++ (eval "$lt_compile" 2>out/conftest.err) ++ ac_status=$? ++ cat out/conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ if (exit $ac_status) && test -s out/conftest2.$ac_objext ++ then ++ # The compiler can only warn and ignore the option if not recognized ++ # So say no if there are warnings ++ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp ++ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 ++ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then ++ lt_cv_prog_compiler_c_o=yes ++ fi ++ fi ++ chmod u+w . 2>&5 ++ $RM conftest* ++ # SGI C++ compiler will create directory out/ii_files/ for ++ # template instantiation ++ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files ++ $RM out/* && rmdir out ++ cd .. ++ $RM -r conftest ++ $RM conftest* ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 ++$as_echo "$lt_cv_prog_compiler_c_o" >&6; } ++ ++ ++ ++ ++ ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 ++$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } ++if ${lt_cv_prog_compiler_c_o+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ lt_cv_prog_compiler_c_o=no ++ $RM -r conftest 2>/dev/null ++ mkdir conftest ++ cd conftest ++ mkdir out ++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext ++ ++ lt_compiler_flag="-o out/conftest2.$ac_objext" ++ # Insert the option either (1) after the last *FLAGS variable, or ++ # (2) before a word containing "conftest.", or (3) at the end. ++ # Note that $ac_compile itself does not contain backslashes and begins ++ # with a dollar sign (not a hyphen), so the echo should work correctly. ++ lt_compile=`echo "$ac_compile" | $SED \ ++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ ++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ ++ -e 's:$: $lt_compiler_flag:'` ++ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) ++ (eval "$lt_compile" 2>out/conftest.err) ++ ac_status=$? ++ cat out/conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ if (exit $ac_status) && test -s out/conftest2.$ac_objext ++ then ++ # The compiler can only warn and ignore the option if not recognized ++ # So say no if there are warnings ++ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp ++ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 ++ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then ++ lt_cv_prog_compiler_c_o=yes ++ fi ++ fi ++ chmod u+w . 2>&5 ++ $RM conftest* ++ # SGI C++ compiler will create directory out/ii_files/ for ++ # template instantiation ++ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files ++ $RM out/* && rmdir out ++ cd .. ++ $RM -r conftest ++ $RM conftest* ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 ++$as_echo "$lt_cv_prog_compiler_c_o" >&6; } ++ ++ ++ ++ ++hard_links=nottested ++if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then ++ # do not overwrite the value of need_locks provided by the user ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 ++$as_echo_n "checking if we can lock with hard links... " >&6; } ++ hard_links=yes ++ $RM conftest* ++ ln conftest.a conftest.b 2>/dev/null && hard_links=no ++ touch conftest.a ++ ln conftest.a conftest.b 2>&5 || hard_links=no ++ ln conftest.a conftest.b 2>/dev/null && hard_links=no ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 ++$as_echo "$hard_links" >&6; } ++ if test no = "$hard_links"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 ++$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} ++ need_locks=warn ++ fi ++else ++ need_locks=no ++fi ++ ++ ++ ++ ++ ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 ++$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ++ ++ runpath_var= ++ allow_undefined_flag= ++ always_export_symbols=no ++ archive_cmds= ++ archive_expsym_cmds= ++ compiler_needs_object=no ++ enable_shared_with_static_runtimes=no ++ export_dynamic_flag_spec= ++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ++ hardcode_automatic=no ++ hardcode_direct=no ++ hardcode_direct_absolute=no ++ hardcode_libdir_flag_spec= ++ hardcode_libdir_separator= ++ hardcode_minus_L=no ++ hardcode_shlibpath_var=unsupported ++ inherit_rpath=no ++ link_all_deplibs=unknown ++ module_cmds= ++ module_expsym_cmds= ++ old_archive_from_new_cmds= ++ old_archive_from_expsyms_cmds= ++ thread_safe_flag_spec= ++ whole_archive_flag_spec= ++ # include_expsyms should be a list of space-separated symbols to be *always* ++ # included in the symbol list ++ include_expsyms= ++ # exclude_expsyms can be an extended regexp of symbols to exclude ++ # it will be wrapped by ' (' and ')$', so one must not match beginning or ++ # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', ++ # as well as any symbol that contains 'd'. ++ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' ++ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out ++ # platforms (ab)use it in PIC code, but their linkers get confused if ++ # the symbol is explicitly referenced. Since portable code cannot ++ # rely on this symbol name, it's probably fine to never include it in ++ # preloaded symbol tables. ++ # Exclude shared library initialization/finalization symbols. ++ extract_expsyms_cmds= ++ ++ case $host_os in ++ cygwin* | mingw* | pw32* | cegcc*) ++ # FIXME: the MSVC++ port hasn't been tested in a loooong time ++ # When not using gcc, we currently assume that we are using ++ # Microsoft Visual C++. ++ if test yes != "$GCC"; then ++ with_gnu_ld=no ++ fi ++ ;; ++ interix*) ++ # we just hope/assume this is gcc and not c89 (= MSVC++) ++ with_gnu_ld=yes ++ ;; ++ openbsd* | bitrig*) ++ with_gnu_ld=no ++ ;; ++ esac ++ ++ ld_shlibs=yes ++ ++ # On some targets, GNU ld is compatible enough with the native linker ++ # that we're better off using the native interface for both. ++ lt_use_gnu_ld_interface=no ++ if test yes = "$with_gnu_ld"; then ++ case $host_os in ++ aix*) ++ # The AIX port of GNU ld has always aspired to compatibility ++ # with the native linker. However, as the warning in the GNU ld ++ # block says, versions before 2.19.5* couldn't really create working ++ # shared libraries, regardless of the interface used. ++ case `$LD -v 2>&1` in ++ *\ \(GNU\ Binutils\)\ 2.19.5*) ;; ++ *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; ++ *\ \(GNU\ Binutils\)\ [3-9]*) ;; ++ *) ++ lt_use_gnu_ld_interface=yes ++ ;; ++ esac ++ ;; ++ *) ++ lt_use_gnu_ld_interface=yes ++ ;; ++ esac ++ fi ++ ++ if test yes = "$lt_use_gnu_ld_interface"; then ++ # If archive_cmds runs LD, not CC, wlarc should be empty ++ wlarc='$wl' ++ ++ # Set some defaults for GNU ld with shared library support. These ++ # are reset later if shared libraries are not supported. Putting them ++ # here allows them to be overridden if necessary. ++ runpath_var=LD_RUN_PATH ++ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' ++ export_dynamic_flag_spec='$wl--export-dynamic' ++ # ancient GNU ld didn't support --whole-archive et. al. ++ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then ++ whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' ++ else ++ whole_archive_flag_spec= ++ fi ++ supports_anon_versioning=no ++ case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in ++ *GNU\ gold*) supports_anon_versioning=yes ;; ++ *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 ++ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... ++ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... ++ *\ 2.11.*) ;; # other 2.11 versions ++ *) supports_anon_versioning=yes ;; ++ esac ++ ++ # See if GNU ld supports shared libraries. ++ case $host_os in ++ aix[3-9]*) ++ # On AIX/PPC, the GNU linker is very broken ++ if test ia64 != "$host_cpu"; then ++ ld_shlibs=no ++ cat <<_LT_EOF 1>&2 ++ ++*** Warning: the GNU linker, at least up to release 2.19, is reported ++*** to be unable to reliably create shared libraries on AIX. ++*** Therefore, libtool is disabling shared libraries support. If you ++*** really care for shared libraries, you may want to install binutils ++*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. ++*** You will then need to restart the configuration process. ++ ++_LT_EOF ++ fi ++ ;; ++ ++ amigaos*) ++ case $host_cpu in ++ powerpc) ++ # see comment about AmigaOS4 .so support ++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ archive_expsym_cmds='' ++ ;; ++ m68k) ++ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_minus_L=yes ++ ;; ++ esac ++ ;; ++ ++ beos*) ++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then ++ allow_undefined_flag=unsupported ++ # Joseph Beckenbach says some releases of gcc ++ # support --undefined. This deserves some investigation. FIXME ++ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ ++ cygwin* | mingw* | pw32* | cegcc*) ++ # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, ++ # as there is no search path for DLLs. ++ hardcode_libdir_flag_spec='-L$libdir' ++ export_dynamic_flag_spec='$wl--export-all-symbols' ++ allow_undefined_flag=unsupported ++ always_export_symbols=no ++ enable_shared_with_static_runtimes=yes ++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' ++ exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' ++ ++ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then ++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' ++ # If the export-symbols file already is a .def file, use it as ++ # is; otherwise, prepend EXPORTS... ++ archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then ++ cp $export_symbols $output_objdir/$soname.def; ++ else ++ echo EXPORTS > $output_objdir/$soname.def; ++ cat $export_symbols >> $output_objdir/$soname.def; ++ fi~ ++ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ ++ haiku*) ++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ link_all_deplibs=yes ++ ;; ++ ++ os2*) ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_minus_L=yes ++ allow_undefined_flag=unsupported ++ shrext_cmds=.dll ++ archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ ++ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ ++ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ ++ $ECHO EXPORTS >> $output_objdir/$libname.def~ ++ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ ++ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ ++ emximp -o $lib $output_objdir/$libname.def' ++ archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ ++ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ ++ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ ++ $ECHO EXPORTS >> $output_objdir/$libname.def~ ++ prefix_cmds="$SED"~ ++ if test EXPORTS = "`$SED 1q $export_symbols`"; then ++ prefix_cmds="$prefix_cmds -e 1d"; ++ fi~ ++ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ ++ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ ++ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ ++ emximp -o $lib $output_objdir/$libname.def' ++ old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' ++ enable_shared_with_static_runtimes=yes ++ ;; ++ ++ interix[3-9]*) ++ hardcode_direct=no ++ hardcode_shlibpath_var=no ++ hardcode_libdir_flag_spec='$wl-rpath,$libdir' ++ export_dynamic_flag_spec='$wl-E' ++ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. ++ # Instead, shared libraries are loaded at an image base (0x10000000 by ++ # default) and relocated if they conflict, which is a slow very memory ++ # consuming and fragmenting process. To avoid this, we pick a random, ++ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link ++ # time. Moving up from 0x10000000 also allows more sbrk(2) space. ++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ++ archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ++ ;; ++ ++ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) ++ tmp_diet=no ++ if test linux-dietlibc = "$host_os"; then ++ case $cc_basename in ++ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) ++ esac ++ fi ++ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ ++ && test no = "$tmp_diet" ++ then ++ tmp_addflag=' $pic_flag' ++ tmp_sharedflag='-shared' ++ case $cc_basename,$host_cpu in ++ pgcc*) # Portland Group C compiler ++ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' ++ tmp_addflag=' $pic_flag' ++ ;; ++ pgf77* | pgf90* | pgf95* | pgfortran*) ++ # Portland Group f77 and f90 compilers ++ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' ++ tmp_addflag=' $pic_flag -Mnomain' ;; ++ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 ++ tmp_addflag=' -i_dynamic' ;; ++ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 ++ tmp_addflag=' -i_dynamic -nofor_main' ;; ++ ifc* | ifort*) # Intel Fortran compiler ++ tmp_addflag=' -nofor_main' ;; ++ lf95*) # Lahey Fortran 8.1 ++ whole_archive_flag_spec= ++ tmp_sharedflag='--shared' ;; ++ nagfor*) # NAGFOR 5.3 ++ tmp_sharedflag='-Wl,-shared' ;; ++ xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) ++ tmp_sharedflag='-qmkshrobj' ++ tmp_addflag= ;; ++ nvcc*) # Cuda Compiler Driver 2.2 ++ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' ++ compiler_needs_object=yes ++ ;; ++ esac ++ case `$CC -V 2>&1 | sed 5q` in ++ *Sun\ C*) # Sun C 5.9 ++ whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' ++ compiler_needs_object=yes ++ tmp_sharedflag='-G' ;; ++ *Sun\ F*) # Sun Fortran 8.3 ++ tmp_sharedflag='-G' ;; ++ esac ++ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ ++ if test yes = "$supports_anon_versioning"; then ++ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ ++ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ ++ echo "local: *; };" >> $output_objdir/$libname.ver~ ++ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' ++ fi ++ ++ case $cc_basename in ++ tcc*) ++ export_dynamic_flag_spec='-rdynamic' ++ ;; ++ xlf* | bgf* | bgxlf* | mpixlf*) ++ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself ++ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' ++ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' ++ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' ++ if test yes = "$supports_anon_versioning"; then ++ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ ++ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ ++ echo "local: *; };" >> $output_objdir/$libname.ver~ ++ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' ++ fi ++ ;; ++ esac ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ ++ netbsd*) ++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then ++ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' ++ wlarc= ++ else ++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ fi ++ ;; ++ ++ solaris*) ++ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ++ ld_shlibs=no ++ cat <<_LT_EOF 1>&2 ++ ++*** Warning: The releases 2.8.* of the GNU linker cannot reliably ++*** create shared libraries on Solaris systems. Therefore, libtool ++*** is disabling shared libraries support. We urge you to upgrade GNU ++*** binutils to release 2.9.1 or newer. Another option is to modify ++*** your PATH or compiler configuration so that the native linker is ++*** used, and then restart. ++ ++_LT_EOF ++ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then ++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ ++ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) ++ case `$LD -v 2>&1` in ++ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ++ ld_shlibs=no ++ cat <<_LT_EOF 1>&2 ++ ++*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot ++*** reliably create shared libraries on SCO systems. Therefore, libtool ++*** is disabling shared libraries support. We urge you to upgrade GNU ++*** binutils to release 2.16.91.0.3 or newer. Another option is to modify ++*** your PATH or compiler configuration so that the native linker is ++*** used, and then restart. ++ ++_LT_EOF ++ ;; ++ *) ++ # For security reasons, it is highly recommended that you always ++ # use absolute paths for naming shared libraries, and exclude the ++ # DT_RUNPATH tag from executables and libraries. But doing so ++ # requires that you compile everything twice, which is a pain. ++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then ++ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' ++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ esac ++ ;; ++ ++ sunos4*) ++ archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' ++ wlarc= ++ hardcode_direct=yes ++ hardcode_shlibpath_var=no ++ ;; ++ ++ *) ++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then ++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ esac ++ ++ if test no = "$ld_shlibs"; then ++ runpath_var= ++ hardcode_libdir_flag_spec= ++ export_dynamic_flag_spec= ++ whole_archive_flag_spec= ++ fi ++ else ++ # PORTME fill in a description of your system's linker (not GNU ld) ++ case $host_os in ++ aix3*) ++ allow_undefined_flag=unsupported ++ always_export_symbols=yes ++ archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' ++ # Note: this linker hardcodes the directories in LIBPATH if there ++ # are no directories specified by -L. ++ hardcode_minus_L=yes ++ if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then ++ # Neither direct hardcoding nor static linking is supported with a ++ # broken collect2. ++ hardcode_direct=unsupported ++ fi ++ ;; ++ ++ aix[4-9]*) ++ if test ia64 = "$host_cpu"; then ++ # On IA64, the linker does run time linking by default, so we don't ++ # have to do anything special. ++ aix_use_runtimelinking=no ++ exp_sym_flag='-Bexport' ++ no_entry_flag= ++ else ++ # If we're using GNU nm, then we don't want the "-C" option. ++ # -C means demangle to GNU nm, but means don't demangle to AIX nm. ++ # Without the "-l" option, or with the "-B" option, AIX nm treats ++ # weak defined symbols like other global defined symbols, whereas ++ # GNU nm marks them as "W". ++ # While the 'weak' keyword is ignored in the Export File, we need ++ # it in the Import File for the 'aix-soname' feature, so we have ++ # to replace the "-B" option with "-P" for AIX nm. ++ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then ++ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' ++ else ++ export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' ++ fi ++ aix_use_runtimelinking=no ++ ++ # Test if we are trying to use run time linking or normal ++ # AIX style linking. If -brtl is somewhere in LDFLAGS, we ++ # have runtime linking enabled, and use it for executables. ++ # For shared libraries, we enable/disable runtime linking ++ # depending on the kind of the shared library created - ++ # when "with_aix_soname,aix_use_runtimelinking" is: ++ # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables ++ # "aix,yes" lib.so shared, rtl:yes, for executables ++ # lib.a static archive ++ # "both,no" lib.so.V(shr.o) shared, rtl:yes ++ # lib.a(lib.so.V) shared, rtl:no, for executables ++ # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables ++ # lib.a(lib.so.V) shared, rtl:no ++ # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables ++ # lib.a static archive ++ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) ++ for ld_flag in $LDFLAGS; do ++ if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then ++ aix_use_runtimelinking=yes ++ break ++ fi ++ done ++ if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then ++ # With aix-soname=svr4, we create the lib.so.V shared archives only, ++ # so we don't have lib.a shared libs to link our executables. ++ # We have to force runtime linking in this case. ++ aix_use_runtimelinking=yes ++ LDFLAGS="$LDFLAGS -Wl,-brtl" ++ fi ++ ;; ++ esac ++ ++ exp_sym_flag='-bexport' ++ no_entry_flag='-bnoentry' ++ fi ++ ++ # When large executables or shared objects are built, AIX ld can ++ # have problems creating the table of contents. If linking a library ++ # or program results in "error TOC overflow" add -mminimal-toc to ++ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not ++ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. ++ ++ archive_cmds='' ++ hardcode_direct=yes ++ hardcode_direct_absolute=yes ++ hardcode_libdir_separator=':' ++ link_all_deplibs=yes ++ file_list_spec='$wl-f,' ++ case $with_aix_soname,$aix_use_runtimelinking in ++ aix,*) ;; # traditional, no import file ++ svr4,* | *,yes) # use import file ++ # The Import File defines what to hardcode. ++ hardcode_direct=no ++ hardcode_direct_absolute=no ++ ;; ++ esac ++ ++ if test yes = "$GCC"; then ++ case $host_os in aix4.[012]|aix4.[012].*) ++ # We only want to do this on AIX 4.2 and lower, the check ++ # below for broken collect2 doesn't work under 4.3+ ++ collect2name=`$CC -print-prog-name=collect2` ++ if test -f "$collect2name" && ++ strings "$collect2name" | $GREP resolve_lib_name >/dev/null ++ then ++ # We have reworked collect2 ++ : ++ else ++ # We have old collect2 ++ hardcode_direct=unsupported ++ # It fails to find uninstalled libraries when the uninstalled ++ # path is not listed in the libpath. Setting hardcode_minus_L ++ # to unsupported forces relinking ++ hardcode_minus_L=yes ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_libdir_separator= ++ fi ++ ;; ++ esac ++ shared_flag='-shared' ++ if test yes = "$aix_use_runtimelinking"; then ++ shared_flag="$shared_flag "'$wl-G' ++ fi ++ # Need to ensure runtime linking is disabled for the traditional ++ # shared library, or the linker may eventually find shared libraries ++ # /with/ Import File - we do not want to mix them. ++ shared_flag_aix='-shared' ++ shared_flag_svr4='-shared $wl-G' ++ else ++ # not using gcc ++ if test ia64 = "$host_cpu"; then ++ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release ++ # chokes on -Wl,-G. The following line is correct: ++ shared_flag='-G' ++ else ++ if test yes = "$aix_use_runtimelinking"; then ++ shared_flag='$wl-G' ++ else ++ shared_flag='$wl-bM:SRE' ++ fi ++ shared_flag_aix='$wl-bM:SRE' ++ shared_flag_svr4='$wl-G' ++ fi ++ fi ++ ++ export_dynamic_flag_spec='$wl-bexpall' ++ # It seems that -bexpall does not export symbols beginning with ++ # underscore (_), so it is better to generate a list of symbols to export. ++ always_export_symbols=yes ++ if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then ++ # Warning - without using the other runtime loading flags (-brtl), ++ # -berok will link without error, but may produce a broken library. ++ allow_undefined_flag='-berok' ++ # Determine the default libpath from the value encoded in an ++ # empty executable. ++ if test set = "${lt_cv_aix_libpath+set}"; then ++ aix_libpath=$lt_cv_aix_libpath ++else ++ if ${lt_cv_aix_libpath_+:} 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_link "$LINENO"; then : ++ ++ lt_aix_libpath_sed=' ++ /Import File Strings/,/^$/ { ++ /^0/ { ++ s/^0 *\([^ ]*\) *$/\1/ ++ p ++ } ++ }' ++ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` ++ # Check for a 64-bit object if we didn't find anything. ++ if test -z "$lt_cv_aix_libpath_"; then ++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` ++ fi ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++ if test -z "$lt_cv_aix_libpath_"; then ++ lt_cv_aix_libpath_=/usr/lib:/lib ++ fi ++ ++fi ++ ++ aix_libpath=$lt_cv_aix_libpath_ ++fi ++ ++ hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" ++ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag ++ else ++ if test ia64 = "$host_cpu"; then ++ hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' ++ allow_undefined_flag="-z nodefs" ++ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" ++ else ++ # Determine the default libpath from the value encoded in an ++ # empty executable. ++ if test set = "${lt_cv_aix_libpath+set}"; then ++ aix_libpath=$lt_cv_aix_libpath ++else ++ if ${lt_cv_aix_libpath_+:} 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_link "$LINENO"; then : ++ ++ lt_aix_libpath_sed=' ++ /Import File Strings/,/^$/ { ++ /^0/ { ++ s/^0 *\([^ ]*\) *$/\1/ ++ p ++ } ++ }' ++ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` ++ # Check for a 64-bit object if we didn't find anything. ++ if test -z "$lt_cv_aix_libpath_"; then ++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` ++ fi ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++ if test -z "$lt_cv_aix_libpath_"; then ++ lt_cv_aix_libpath_=/usr/lib:/lib ++ fi ++ ++fi ++ ++ aix_libpath=$lt_cv_aix_libpath_ ++fi ++ ++ hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" ++ # Warning - without using the other run time loading flags, ++ # -berok will link without error, but may produce a broken library. ++ no_undefined_flag=' $wl-bernotok' ++ allow_undefined_flag=' $wl-berok' ++ if test yes = "$with_gnu_ld"; then ++ # We only use this code for GNU lds that support --whole-archive. ++ whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' ++ else ++ # Exported symbols can be pulled into shared objects from archives ++ whole_archive_flag_spec='$convenience' ++ fi ++ archive_cmds_need_lc=yes ++ archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' ++ # -brtl affects multiple linker settings, -berok does not and is overridden later ++ compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' ++ if test svr4 != "$with_aix_soname"; then ++ # This is similar to how AIX traditionally builds its shared libraries. ++ archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' ++ fi ++ if test aix != "$with_aix_soname"; then ++ archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' ++ else ++ # used by -dlpreopen to get the symbols ++ archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' ++ fi ++ archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' ++ fi ++ fi ++ ;; ++ ++ amigaos*) ++ case $host_cpu in ++ powerpc) ++ # see comment about AmigaOS4 .so support ++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ archive_expsym_cmds='' ++ ;; ++ m68k) ++ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_minus_L=yes ++ ;; ++ esac ++ ;; ++ ++ bsdi[45]*) ++ export_dynamic_flag_spec=-rdynamic ++ ;; ++ ++ cygwin* | mingw* | pw32* | cegcc*) ++ # When not using gcc, we currently assume that we are using ++ # Microsoft Visual C++. ++ # hardcode_libdir_flag_spec is actually meaningless, as there is ++ # no search path for DLLs. ++ case $cc_basename in ++ cl*) ++ # Native MSVC ++ hardcode_libdir_flag_spec=' ' ++ allow_undefined_flag=unsupported ++ always_export_symbols=yes ++ file_list_spec='@' ++ # Tell ltmain to make .lib files, not .a files. ++ libext=lib ++ # Tell ltmain to make .dll files, not .so files. ++ shrext_cmds=.dll ++ # FIXME: Setting linknames here is a bad hack. ++ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' ++ archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then ++ cp "$export_symbols" "$output_objdir/$soname.def"; ++ echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; ++ else ++ $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; ++ fi~ ++ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ ++ linknames=' ++ # The linker will not automatically build a static lib if we build a DLL. ++ # _LT_TAGVAR(old_archive_from_new_cmds, )='true' ++ enable_shared_with_static_runtimes=yes ++ exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' ++ # Don't use ranlib ++ old_postinstall_cmds='chmod 644 $oldlib' ++ postlink_cmds='lt_outputfile="@OUTPUT@"~ ++ lt_tool_outputfile="@TOOL_OUTPUT@"~ ++ case $lt_outputfile in ++ *.exe|*.EXE) ;; ++ *) ++ lt_outputfile=$lt_outputfile.exe ++ lt_tool_outputfile=$lt_tool_outputfile.exe ++ ;; ++ esac~ ++ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then ++ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; ++ $RM "$lt_outputfile.manifest"; ++ fi' ++ ;; ++ *) ++ # Assume MSVC wrapper ++ hardcode_libdir_flag_spec=' ' ++ allow_undefined_flag=unsupported ++ # Tell ltmain to make .lib files, not .a files. ++ libext=lib ++ # Tell ltmain to make .dll files, not .so files. ++ shrext_cmds=.dll ++ # FIXME: Setting linknames here is a bad hack. ++ archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' ++ # The linker will automatically build a .lib file if we build a DLL. ++ old_archive_from_new_cmds='true' ++ # FIXME: Should let the user specify the lib program. ++ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' ++ enable_shared_with_static_runtimes=yes ++ ;; ++ esac ++ ;; ++ ++ darwin* | rhapsody*) ++ ++ ++ archive_cmds_need_lc=no ++ hardcode_direct=no ++ hardcode_automatic=yes ++ hardcode_shlibpath_var=unsupported ++ if test yes = "$lt_cv_ld_force_load"; then ++ whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' ++ ++ else ++ whole_archive_flag_spec='' ++ fi ++ link_all_deplibs=yes ++ allow_undefined_flag=$_lt_dar_allow_undefined ++ case $cc_basename in ++ ifort*|nagfor*) _lt_dar_can_shared=yes ;; ++ *) _lt_dar_can_shared=$GCC ;; ++ esac ++ if test yes = "$_lt_dar_can_shared"; then ++ output_verbose_link_cmd=func_echo_all ++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" ++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" ++ archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" ++ module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" ++ ++ else ++ ld_shlibs=no ++ fi ++ ++ ;; ++ ++ dgux*) ++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_shlibpath_var=no ++ ;; ++ ++ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor ++ # support. Future versions do this automatically, but an explicit c++rt0.o ++ # does not break anything, and helps significantly (at the cost of a little ++ # extra space). ++ freebsd2.2*) ++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' ++ hardcode_libdir_flag_spec='-R$libdir' ++ hardcode_direct=yes ++ hardcode_shlibpath_var=no ++ ;; ++ ++ # Unfortunately, older versions of FreeBSD 2 do not have this feature. ++ freebsd2.*) ++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' ++ hardcode_direct=yes ++ hardcode_minus_L=yes ++ hardcode_shlibpath_var=no ++ ;; ++ ++ # FreeBSD 3 and greater uses gcc -shared to do shared libraries. ++ freebsd* | dragonfly*) ++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' ++ hardcode_libdir_flag_spec='-R$libdir' ++ hardcode_direct=yes ++ hardcode_shlibpath_var=no ++ ;; ++ ++ hpux9*) ++ if test yes = "$GCC"; then ++ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' ++ else ++ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' ++ fi ++ hardcode_libdir_flag_spec='$wl+b $wl$libdir' ++ hardcode_libdir_separator=: ++ hardcode_direct=yes ++ ++ # hardcode_minus_L: Not really in the search PATH, ++ # but as the default location of the library. ++ hardcode_minus_L=yes ++ export_dynamic_flag_spec='$wl-E' ++ ;; ++ ++ hpux10*) ++ if test yes,no = "$GCC,$with_gnu_ld"; then ++ archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ++ else ++ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ++ fi ++ if test no = "$with_gnu_ld"; then ++ hardcode_libdir_flag_spec='$wl+b $wl$libdir' ++ hardcode_libdir_separator=: ++ hardcode_direct=yes ++ hardcode_direct_absolute=yes ++ export_dynamic_flag_spec='$wl-E' ++ # hardcode_minus_L: Not really in the search PATH, ++ # but as the default location of the library. ++ hardcode_minus_L=yes ++ fi ++ ;; ++ ++ hpux11*) ++ if test yes,no = "$GCC,$with_gnu_ld"; then ++ case $host_cpu in ++ hppa*64*) ++ archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ++ ;; ++ ia64*) ++ archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ++ ;; ++ *) ++ archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ++ ;; ++ esac ++ else ++ case $host_cpu in ++ hppa*64*) ++ archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ++ ;; ++ ia64*) ++ archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ++ ;; ++ *) ++ ++ # Older versions of the 11.00 compiler do not understand -b yet ++ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 ++$as_echo_n "checking if $CC understands -b... " >&6; } ++if ${lt_cv_prog_compiler__b+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ lt_cv_prog_compiler__b=no ++ save_LDFLAGS=$LDFLAGS ++ LDFLAGS="$LDFLAGS -b" ++ echo "$lt_simple_link_test_code" > conftest.$ac_ext ++ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then ++ # The linker can only warn and ignore the option if not recognized ++ # So say no if there are warnings ++ if test -s conftest.err; then ++ # Append any errors to the config.log. ++ cat conftest.err 1>&5 ++ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp ++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 ++ if diff conftest.exp conftest.er2 >/dev/null; then ++ lt_cv_prog_compiler__b=yes ++ fi ++ else ++ lt_cv_prog_compiler__b=yes ++ fi ++ fi ++ $RM -r conftest* ++ LDFLAGS=$save_LDFLAGS ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 ++$as_echo "$lt_cv_prog_compiler__b" >&6; } ++ ++if test yes = "$lt_cv_prog_compiler__b"; then ++ archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ++else ++ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ++fi ++ ++ ;; ++ esac ++ fi ++ if test no = "$with_gnu_ld"; then ++ hardcode_libdir_flag_spec='$wl+b $wl$libdir' ++ hardcode_libdir_separator=: ++ ++ case $host_cpu in ++ hppa*64*|ia64*) ++ hardcode_direct=no ++ hardcode_shlibpath_var=no ++ ;; ++ *) ++ hardcode_direct=yes ++ hardcode_direct_absolute=yes ++ export_dynamic_flag_spec='$wl-E' ++ ++ # hardcode_minus_L: Not really in the search PATH, ++ # but as the default location of the library. ++ hardcode_minus_L=yes ++ ;; ++ esac ++ fi ++ ;; ++ ++ irix5* | irix6* | nonstopux*) ++ if test yes = "$GCC"; then ++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ++ # Try to use the -exported_symbol ld option, if it does not ++ # work, assume that -exports_file does not work either and ++ # implicitly export all symbols. ++ # This should be the same for all languages, so no per-tag cache variable. ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 ++$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } ++if ${lt_cv_irix_exported_symbol+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ save_LDFLAGS=$LDFLAGS ++ LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++int foo (void) { return 0; } ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ lt_cv_irix_exported_symbol=yes ++else ++ lt_cv_irix_exported_symbol=no ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++ LDFLAGS=$save_LDFLAGS ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 ++$as_echo "$lt_cv_irix_exported_symbol" >&6; } ++ if test yes = "$lt_cv_irix_exported_symbol"; then ++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' ++ fi ++ else ++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' ++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' ++ fi ++ archive_cmds_need_lc='no' ++ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' ++ hardcode_libdir_separator=: ++ inherit_rpath=yes ++ link_all_deplibs=yes ++ ;; ++ ++ linux*) ++ case $cc_basename in ++ tcc*) ++ # Fabrice Bellard et al's Tiny C Compiler ++ ld_shlibs=yes ++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' ++ ;; ++ esac ++ ;; ++ ++ netbsd*) ++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then ++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out ++ else ++ archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF ++ fi ++ hardcode_libdir_flag_spec='-R$libdir' ++ hardcode_direct=yes ++ hardcode_shlibpath_var=no ++ ;; ++ ++ newsos6) ++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ++ hardcode_direct=yes ++ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' ++ hardcode_libdir_separator=: ++ hardcode_shlibpath_var=no ++ ;; ++ ++ *nto* | *qnx*) ++ ;; ++ ++ openbsd* | bitrig*) ++ if test -f /usr/libexec/ld.so; then ++ hardcode_direct=yes ++ hardcode_shlibpath_var=no ++ hardcode_direct_absolute=yes ++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then ++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' ++ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' ++ hardcode_libdir_flag_spec='$wl-rpath,$libdir' ++ export_dynamic_flag_spec='$wl-E' ++ else ++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' ++ hardcode_libdir_flag_spec='$wl-rpath,$libdir' ++ fi ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ ++ os2*) ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_minus_L=yes ++ allow_undefined_flag=unsupported ++ shrext_cmds=.dll ++ archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ ++ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ ++ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ ++ $ECHO EXPORTS >> $output_objdir/$libname.def~ ++ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ ++ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ ++ emximp -o $lib $output_objdir/$libname.def' ++ archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ ++ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ ++ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ ++ $ECHO EXPORTS >> $output_objdir/$libname.def~ ++ prefix_cmds="$SED"~ ++ if test EXPORTS = "`$SED 1q $export_symbols`"; then ++ prefix_cmds="$prefix_cmds -e 1d"; ++ fi~ ++ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ ++ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ ++ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ ++ emximp -o $lib $output_objdir/$libname.def' ++ old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' ++ enable_shared_with_static_runtimes=yes ++ ;; ++ ++ osf3*) ++ if test yes = "$GCC"; then ++ allow_undefined_flag=' $wl-expect_unresolved $wl\*' ++ archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ++ else ++ allow_undefined_flag=' -expect_unresolved \*' ++ archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' ++ fi ++ archive_cmds_need_lc='no' ++ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' ++ hardcode_libdir_separator=: ++ ;; ++ ++ osf4* | osf5*) # as osf3* with the addition of -msym flag ++ if test yes = "$GCC"; then ++ allow_undefined_flag=' $wl-expect_unresolved $wl\*' ++ archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ++ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' ++ else ++ allow_undefined_flag=' -expect_unresolved \*' ++ archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' ++ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ ++ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' ++ ++ # Both c and cxx compiler support -rpath directly ++ hardcode_libdir_flag_spec='-rpath $libdir' ++ fi ++ archive_cmds_need_lc='no' ++ hardcode_libdir_separator=: ++ ;; ++ ++ solaris*) ++ no_undefined_flag=' -z defs' ++ if test yes = "$GCC"; then ++ wlarc='$wl' ++ archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ++ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ ++ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ++ else ++ case `$CC -V 2>&1` in ++ *"Compilers 5.0"*) ++ wlarc='' ++ archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' ++ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ ++ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ++ ;; ++ *) ++ wlarc='$wl' ++ archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' ++ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ ++ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ++ ;; ++ esac ++ fi ++ hardcode_libdir_flag_spec='-R$libdir' ++ hardcode_shlibpath_var=no ++ case $host_os in ++ solaris2.[0-5] | solaris2.[0-5].*) ;; ++ *) ++ # The compiler driver will combine and reorder linker options, ++ # but understands '-z linker_flag'. GCC discards it without '$wl', ++ # but is careful enough not to reorder. ++ # Supported since Solaris 2.6 (maybe 2.5.1?) ++ if test yes = "$GCC"; then ++ whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' ++ else ++ whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ++ fi ++ ;; ++ esac ++ link_all_deplibs=yes ++ ;; ++ ++ sunos4*) ++ if test sequent = "$host_vendor"; then ++ # Use $CC to link under sequent, because it throws in some extra .o ++ # files that make .init and .fini sections work. ++ archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' ++ else ++ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' ++ fi ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_direct=yes ++ hardcode_minus_L=yes ++ hardcode_shlibpath_var=no ++ ;; ++ ++ sysv4) ++ case $host_vendor in ++ sni) ++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ++ hardcode_direct=yes # is this really true??? ++ ;; ++ siemens) ++ ## LD is ld it makes a PLAMLIB ++ ## CC just makes a GrossModule. ++ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' ++ reload_cmds='$CC -r -o $output$reload_objs' ++ hardcode_direct=no ++ ;; ++ motorola) ++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ++ hardcode_direct=no #Motorola manual says yes, but my tests say they lie ++ ;; ++ esac ++ runpath_var='LD_RUN_PATH' ++ hardcode_shlibpath_var=no ++ ;; ++ ++ sysv4.3*) ++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ++ hardcode_shlibpath_var=no ++ export_dynamic_flag_spec='-Bexport' ++ ;; ++ ++ sysv4*MP*) ++ if test -d /usr/nec; then ++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ++ hardcode_shlibpath_var=no ++ runpath_var=LD_RUN_PATH ++ hardcode_runpath_var=yes ++ ld_shlibs=yes ++ fi ++ ;; ++ ++ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) ++ no_undefined_flag='$wl-z,text' ++ archive_cmds_need_lc=no ++ hardcode_shlibpath_var=no ++ runpath_var='LD_RUN_PATH' ++ ++ if test yes = "$GCC"; then ++ archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ++ archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ++ else ++ archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ++ archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ++ fi ++ ;; ++ ++ sysv5* | sco3.2v5* | sco5v6*) ++ # Note: We CANNOT use -z defs as we might desire, because we do not ++ # link with -lc, and that would cause any symbols used from libc to ++ # always be unresolved, which means just about no library would ++ # ever link correctly. If we're not using GNU ld we use -z text ++ # though, which does catch some bad symbols but isn't as heavy-handed ++ # as -z defs. ++ no_undefined_flag='$wl-z,text' ++ allow_undefined_flag='$wl-z,nodefs' ++ archive_cmds_need_lc=no ++ hardcode_shlibpath_var=no ++ hardcode_libdir_flag_spec='$wl-R,$libdir' ++ hardcode_libdir_separator=':' ++ link_all_deplibs=yes ++ export_dynamic_flag_spec='$wl-Bexport' ++ runpath_var='LD_RUN_PATH' ++ ++ if test yes = "$GCC"; then ++ archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ++ archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ++ else ++ archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ++ archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ++ fi ++ ;; ++ ++ uts4*) ++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_shlibpath_var=no ++ ;; ++ ++ *) ++ ld_shlibs=no ++ ;; ++ esac ++ ++ if test sni = "$host_vendor"; then ++ case $host in ++ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) ++ export_dynamic_flag_spec='$wl-Blargedynsym' ++ ;; ++ esac ++ fi ++ fi ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 ++$as_echo "$ld_shlibs" >&6; } ++test no = "$ld_shlibs" && can_build_shared=no ++ ++with_gnu_ld=$with_gnu_ld ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++# ++# Do we need to explicitly link libc? ++# ++case "x$archive_cmds_need_lc" in ++x|xyes) ++ # Assume -lc should be added ++ archive_cmds_need_lc=yes ++ ++ if test yes,yes = "$GCC,$enable_shared"; then ++ case $archive_cmds in ++ *'~'*) ++ # FIXME: we may have to deal with multi-command sequences. ++ ;; ++ '$CC '*) ++ # Test whether the compiler implicitly links with -lc since on some ++ # systems, -lgcc has to come before -lc. If gcc already passes -lc ++ # to ld, don't add -lc before -lgcc. ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 ++$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } ++if ${lt_cv_archive_cmds_need_lc+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ $RM conftest* ++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext ++ ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } 2>conftest.err; then ++ soname=conftest ++ lib=conftest ++ libobjs=conftest.$ac_objext ++ deplibs= ++ wl=$lt_prog_compiler_wl ++ pic_flag=$lt_prog_compiler_pic ++ compiler_flags=-v ++ linker_flags=-v ++ verstring= ++ output_objdir=. ++ libname=conftest ++ lt_save_allow_undefined_flag=$allow_undefined_flag ++ allow_undefined_flag= ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 ++ (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } ++ then ++ lt_cv_archive_cmds_need_lc=no ++ else ++ lt_cv_archive_cmds_need_lc=yes ++ fi ++ allow_undefined_flag=$lt_save_allow_undefined_flag ++ else ++ cat conftest.err 1>&5 ++ fi ++ $RM conftest* ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 ++$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } ++ archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc ++ ;; ++ esac ++ fi ++ ;; ++esac ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 ++$as_echo_n "checking dynamic linker characteristics... " >&6; } ++ ++if test yes = "$GCC"; then ++ case $host_os in ++ darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; ++ *) lt_awk_arg='/^libraries:/' ;; ++ esac ++ case $host_os in ++ mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; ++ *) lt_sed_strip_eq='s|=/|/|g' ;; ++ esac ++ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` ++ case $lt_search_path_spec in ++ *\;*) ++ # if the path contains ";" then we assume it to be the separator ++ # otherwise default to the standard path separator (i.e. ":") - it is ++ # assumed that no part of a normal pathname contains ";" but that should ++ # okay in the real world where ";" in dirpaths is itself problematic. ++ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ++ ;; ++ *) ++ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ++ ;; ++ esac ++ # Ok, now we have the path, separated by spaces, we can step through it ++ # and add multilib dir if necessary... ++ lt_tmp_lt_search_path_spec= ++ lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` ++ # ...but if some path component already ends with the multilib dir we assume ++ # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). ++ case "$lt_multi_os_dir; $lt_search_path_spec " in ++ "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) ++ lt_multi_os_dir= ++ ;; ++ esac ++ for lt_sys_path in $lt_search_path_spec; do ++ if test -d "$lt_sys_path$lt_multi_os_dir"; then ++ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" ++ elif test -n "$lt_multi_os_dir"; then ++ test -d "$lt_sys_path" && \ ++ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" ++ fi ++ done ++ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' ++BEGIN {RS = " "; FS = "/|\n";} { ++ lt_foo = ""; ++ lt_count = 0; ++ for (lt_i = NF; lt_i > 0; lt_i--) { ++ if ($lt_i != "" && $lt_i != ".") { ++ if ($lt_i == "..") { ++ lt_count++; ++ } else { ++ if (lt_count == 0) { ++ lt_foo = "/" $lt_i lt_foo; ++ } else { ++ lt_count--; ++ } ++ } ++ } ++ } ++ if (lt_foo != "") { lt_freq[lt_foo]++; } ++ if (lt_freq[lt_foo] == 1) { print lt_foo; } ++}'` ++ # AWK program above erroneously prepends '/' to C:/dos/paths ++ # for these hosts. ++ case $host_os in ++ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ ++ $SED 's|/\([A-Za-z]:\)|\1|g'` ;; ++ esac ++ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` ++else ++ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" ++fi ++library_names_spec= ++libname_spec='lib$name' ++soname_spec= ++shrext_cmds=.so ++postinstall_cmds= ++postuninstall_cmds= ++finish_cmds= ++finish_eval= ++shlibpath_var= ++shlibpath_overrides_runpath=unknown ++version_type=none ++dynamic_linker="$host_os ld.so" ++sys_lib_dlsearch_path_spec="/lib /usr/lib" ++need_lib_prefix=unknown ++hardcode_into_libs=no ++ ++# when you set need_version to no, make sure it does not cause -set_version ++# flags to be left without arguments ++need_version=unknown ++ ++ ++ ++case $host_os in ++aix3*) ++ version_type=linux # correct to gnu/linux during the next big refactor ++ library_names_spec='$libname$release$shared_ext$versuffix $libname.a' ++ shlibpath_var=LIBPATH ++ ++ # AIX 3 has no versioning support, so we append a major version to the name. ++ soname_spec='$libname$release$shared_ext$major' ++ ;; ++ ++aix[4-9]*) ++ version_type=linux # correct to gnu/linux during the next big refactor ++ need_lib_prefix=no ++ need_version=no ++ hardcode_into_libs=yes ++ if test ia64 = "$host_cpu"; then ++ # AIX 5 supports IA64 ++ library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' ++ shlibpath_var=LD_LIBRARY_PATH ++ else ++ # With GCC up to 2.95.x, collect2 would create an import file ++ # for dependence libraries. The import file would start with ++ # the line '#! .'. This would cause the generated library to ++ # depend on '.', always an invalid library. This was fixed in ++ # development snapshots of GCC prior to 3.0. ++ case $host_os in ++ aix4 | aix4.[01] | aix4.[01].*) ++ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' ++ echo ' yes ' ++ echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then ++ : ++ else ++ can_build_shared=no ++ fi ++ ;; ++ esac ++ # Using Import Files as archive members, it is possible to support ++ # filename-based versioning of shared library archives on AIX. While ++ # this would work for both with and without runtime linking, it will ++ # prevent static linking of such archives. So we do filename-based ++ # shared library versioning with .so extension only, which is used ++ # when both runtime linking and shared linking is enabled. ++ # Unfortunately, runtime linking may impact performance, so we do ++ # not want this to be the default eventually. Also, we use the ++ # versioned .so libs for executables only if there is the -brtl ++ # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. ++ # To allow for filename-based versioning support, we need to create ++ # libNAME.so.V as an archive file, containing: ++ # *) an Import File, referring to the versioned filename of the ++ # archive as well as the shared archive member, telling the ++ # bitwidth (32 or 64) of that shared object, and providing the ++ # list of exported symbols of that shared object, eventually ++ # decorated with the 'weak' keyword ++ # *) the shared object with the F_LOADONLY flag set, to really avoid ++ # it being seen by the linker. ++ # At run time we better use the real file rather than another symlink, ++ # but for link time we create the symlink libNAME.so -> libNAME.so.V ++ ++ case $with_aix_soname,$aix_use_runtimelinking in ++ # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct ++ # soname into executable. Probably we can add versioning support to ++ # collect2, so additional links can be useful in future. ++ aix,yes) # traditional libtool ++ dynamic_linker='AIX unversionable lib.so' ++ # If using run time linking (on AIX 4.2 or later) use lib.so ++ # instead of lib.a to let people know that these are not ++ # typical AIX shared libraries. ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ ;; ++ aix,no) # traditional AIX only ++ dynamic_linker='AIX lib.a(lib.so.V)' ++ # We preserve .a as extension for shared libraries through AIX4.2 ++ # and later when we are not doing run time linking. ++ library_names_spec='$libname$release.a $libname.a' ++ soname_spec='$libname$release$shared_ext$major' ++ ;; ++ svr4,*) # full svr4 only ++ dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" ++ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' ++ # We do not specify a path in Import Files, so LIBPATH fires. ++ shlibpath_overrides_runpath=yes ++ ;; ++ *,yes) # both, prefer svr4 ++ dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" ++ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' ++ # unpreferred sharedlib libNAME.a needs extra handling ++ postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' ++ postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' ++ # We do not specify a path in Import Files, so LIBPATH fires. ++ shlibpath_overrides_runpath=yes ++ ;; ++ *,no) # both, prefer aix ++ dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" ++ library_names_spec='$libname$release.a $libname.a' ++ soname_spec='$libname$release$shared_ext$major' ++ # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling ++ postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' ++ postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' ++ ;; ++ esac ++ shlibpath_var=LIBPATH ++ fi ++ ;; ++ ++amigaos*) ++ case $host_cpu in ++ powerpc) ++ # Since July 2007 AmigaOS4 officially supports .so libraries. ++ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ ;; ++ m68k) ++ library_names_spec='$libname.ixlibrary $libname.a' ++ # Create ${libname}_ixlibrary.a entries in /sys/libs. ++ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ++ ;; ++ esac ++ ;; ++ ++beos*) ++ library_names_spec='$libname$shared_ext' ++ dynamic_linker="$host_os ld.so" ++ shlibpath_var=LIBRARY_PATH ++ ;; ++ ++bsdi[45]*) ++ version_type=linux # correct to gnu/linux during the next big refactor ++ need_version=no ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' ++ shlibpath_var=LD_LIBRARY_PATH ++ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" ++ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" ++ # the default ld.so.conf also contains /usr/contrib/lib and ++ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow ++ # libtool to hard-code these into programs ++ ;; ++ ++cygwin* | mingw* | pw32* | cegcc*) ++ version_type=windows ++ shrext_cmds=.dll ++ need_version=no ++ need_lib_prefix=no ++ ++ case $GCC,$cc_basename in ++ yes,*) ++ # gcc ++ library_names_spec='$libname.dll.a' ++ # DLL is installed to $(libdir)/../bin by postinstall_cmds ++ postinstall_cmds='base_file=`basename \$file`~ ++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ ++ dldir=$destdir/`dirname \$dlpath`~ ++ test -d \$dldir || mkdir -p \$dldir~ ++ $install_prog $dir/$dlname \$dldir/$dlname~ ++ chmod a+x \$dldir/$dlname~ ++ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then ++ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; ++ fi' ++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ ++ dlpath=$dir/\$dldll~ ++ $RM \$dlpath' ++ shlibpath_overrides_runpath=yes ++ ++ case $host_os in ++ cygwin*) ++ # Cygwin DLLs use 'cyg' prefix rather than 'lib' ++ soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ++ ++ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ++ ;; ++ mingw* | cegcc*) ++ # MinGW DLLs use traditional 'lib' prefix ++ soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ++ ;; ++ pw32*) ++ # pw32 DLLs use 'pw' prefix rather than 'lib' ++ library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ++ ;; ++ esac ++ dynamic_linker='Win32 ld.exe' ++ ;; ++ ++ *,cl*) ++ # Native MSVC ++ libname_spec='$name' ++ soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ++ library_names_spec='$libname.dll.lib' ++ ++ case $build_os in ++ mingw*) ++ sys_lib_search_path_spec= ++ lt_save_ifs=$IFS ++ IFS=';' ++ for lt_path in $LIB ++ do ++ IFS=$lt_save_ifs ++ # Let DOS variable expansion print the short 8.3 style file name. ++ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` ++ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" ++ done ++ IFS=$lt_save_ifs ++ # Convert to MSYS style. ++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ++ ;; ++ cygwin*) ++ # Convert to unix form, then to dos form, then back to unix form ++ # but this time dos style (no spaces!) so that the unix form looks ++ # like /cygdrive/c/PROGRA~1:/cygdr... ++ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` ++ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` ++ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ++ ;; ++ *) ++ sys_lib_search_path_spec=$LIB ++ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then ++ # It is most probably a Windows format PATH. ++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` ++ else ++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ++ fi ++ # FIXME: find the short name or the path components, as spaces are ++ # common. (e.g. "Program Files" -> "PROGRA~1") ++ ;; ++ esac ++ ++ # DLL is installed to $(libdir)/../bin by postinstall_cmds ++ postinstall_cmds='base_file=`basename \$file`~ ++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ ++ dldir=$destdir/`dirname \$dlpath`~ ++ test -d \$dldir || mkdir -p \$dldir~ ++ $install_prog $dir/$dlname \$dldir/$dlname' ++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ ++ dlpath=$dir/\$dldll~ ++ $RM \$dlpath' ++ shlibpath_overrides_runpath=yes ++ dynamic_linker='Win32 link.exe' ++ ;; ++ ++ *) ++ # Assume MSVC wrapper ++ library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' ++ dynamic_linker='Win32 ld.exe' ++ ;; ++ esac ++ # FIXME: first we should search . and the directory the executable is in ++ shlibpath_var=PATH ++ ;; ++ ++darwin* | rhapsody*) ++ dynamic_linker="$host_os dyld" ++ version_type=darwin ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' ++ soname_spec='$libname$release$major$shared_ext' ++ shlibpath_overrides_runpath=yes ++ shlibpath_var=DYLD_LIBRARY_PATH ++ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' ++ ++ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" ++ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ++ ;; ++ ++dgux*) ++ version_type=linux # correct to gnu/linux during the next big refactor ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ shlibpath_var=LD_LIBRARY_PATH ++ ;; ++ ++freebsd* | dragonfly*) ++ # DragonFly does not have aout. When/if they implement a new ++ # versioning mechanism, adjust this. ++ if test -x /usr/bin/objformat; then ++ objformat=`/usr/bin/objformat` ++ else ++ case $host_os in ++ freebsd[23].*) objformat=aout ;; ++ *) objformat=elf ;; ++ esac ++ fi ++ version_type=freebsd-$objformat ++ case $version_type in ++ freebsd-elf*) ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ need_version=no ++ need_lib_prefix=no ++ ;; ++ freebsd-*) ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' ++ need_version=yes ++ ;; ++ esac ++ shlibpath_var=LD_LIBRARY_PATH ++ case $host_os in ++ freebsd2.*) ++ shlibpath_overrides_runpath=yes ++ ;; ++ freebsd3.[01]* | freebsdelf3.[01]*) ++ shlibpath_overrides_runpath=yes ++ hardcode_into_libs=yes ++ ;; ++ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ ++ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) ++ shlibpath_overrides_runpath=no ++ hardcode_into_libs=yes ++ ;; ++ *) # from 4.6 on, and DragonFly ++ shlibpath_overrides_runpath=yes ++ hardcode_into_libs=yes ++ ;; ++ esac ++ ;; ++ ++haiku*) ++ version_type=linux # correct to gnu/linux during the next big refactor ++ need_lib_prefix=no ++ need_version=no ++ dynamic_linker="$host_os runtime_loader" ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ shlibpath_var=LIBRARY_PATH ++ shlibpath_overrides_runpath=no ++ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' ++ hardcode_into_libs=yes ++ ;; ++ ++hpux9* | hpux10* | hpux11*) ++ # Give a soname corresponding to the major version so that dld.sl refuses to ++ # link against other versions. ++ version_type=sunos ++ need_lib_prefix=no ++ need_version=no ++ case $host_cpu in ++ ia64*) ++ shrext_cmds='.so' ++ hardcode_into_libs=yes ++ dynamic_linker="$host_os dld.so" ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ if test 32 = "$HPUX_IA64_MODE"; then ++ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" ++ sys_lib_dlsearch_path_spec=/usr/lib/hpux32 ++ else ++ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" ++ sys_lib_dlsearch_path_spec=/usr/lib/hpux64 ++ fi ++ ;; ++ hppa*64*) ++ shrext_cmds='.sl' ++ hardcode_into_libs=yes ++ dynamic_linker="$host_os dld.sl" ++ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH ++ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" ++ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ++ ;; ++ *) ++ shrext_cmds='.sl' ++ dynamic_linker="$host_os dld.sl" ++ shlibpath_var=SHLIB_PATH ++ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ ;; ++ esac ++ # HP-UX runs *really* slowly unless shared libraries are mode 555, ... ++ postinstall_cmds='chmod 555 $lib' ++ # or fails outright, so override atomically: ++ install_override_mode=555 ++ ;; ++ ++interix[3-9]*) ++ version_type=linux # correct to gnu/linux during the next big refactor ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=no ++ hardcode_into_libs=yes ++ ;; ++ ++irix5* | irix6* | nonstopux*) ++ case $host_os in ++ nonstopux*) version_type=nonstopux ;; ++ *) ++ if test yes = "$lt_cv_prog_gnu_ld"; then ++ version_type=linux # correct to gnu/linux during the next big refactor ++ else ++ version_type=irix ++ fi ;; ++ esac ++ need_lib_prefix=no ++ need_version=no ++ soname_spec='$libname$release$shared_ext$major' ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' ++ case $host_os in ++ irix5* | nonstopux*) ++ libsuff= shlibsuff= ++ ;; ++ *) ++ case $LD in # libtool.m4 will add one of these switches to LD ++ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") ++ libsuff= shlibsuff= libmagic=32-bit;; ++ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") ++ libsuff=32 shlibsuff=N32 libmagic=N32;; ++ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") ++ libsuff=64 shlibsuff=64 libmagic=64-bit;; ++ *) libsuff= shlibsuff= libmagic=never-match;; ++ esac ++ ;; ++ esac ++ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH ++ shlibpath_overrides_runpath=no ++ sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" ++ sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" ++ hardcode_into_libs=yes ++ ;; ++ ++# No shared lib support for Linux oldld, aout, or coff. ++linux*oldld* | linux*aout* | linux*coff*) ++ dynamic_linker=no ++ ;; ++ ++linux*android*) ++ version_type=none # Android doesn't support versioned libraries. ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='$libname$release$shared_ext' ++ soname_spec='$libname$release$shared_ext' ++ finish_cmds= ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=yes ++ ++ # This implies no fast_install, which is unacceptable. ++ # Some rework will be needed to allow for fast_install ++ # before this can be enabled. ++ hardcode_into_libs=yes ++ ++ dynamic_linker='Android linker' ++ # Don't embed -rpath directories since the linker doesn't support them. ++ hardcode_libdir_flag_spec='-L$libdir' ++ ;; ++ ++# This must be glibc/ELF. ++linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) ++ version_type=linux # correct to gnu/linux during the next big refactor ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=no ++ ++ # Some binutils ld are patched to set DT_RUNPATH ++ if ${lt_cv_shlibpath_overrides_runpath+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ lt_cv_shlibpath_overrides_runpath=no ++ save_LDFLAGS=$LDFLAGS ++ save_libdir=$libdir ++ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ ++ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : ++ lt_cv_shlibpath_overrides_runpath=yes ++fi ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++ LDFLAGS=$save_LDFLAGS ++ libdir=$save_libdir ++ ++fi ++ ++ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath ++ ++ # This implies no fast_install, which is unacceptable. ++ # Some rework will be needed to allow for fast_install ++ # before this can be enabled. ++ hardcode_into_libs=yes ++ ++ # Add ABI-specific directories to the system library path. ++ sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" ++ ++ # Ideally, we could use ldconfig to report *all* directores which are ++ # searched for libraries, however this is still not possible. Aside from not ++ # being certain /sbin/ldconfig is available, command ++ # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, ++ # even though it is searched at run-time. Try to do the best guess by ++ # appending ld.so.conf contents (and includes) to the search path. ++ if test -f /etc/ld.so.conf; then ++ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` ++ sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" ++ fi ++ ++ # We used to test for /lib/ld.so.1 and disable shared libraries on ++ # powerpc, because MkLinux only supported shared libraries with the ++ # GNU dynamic linker. Since this was broken with cross compilers, ++ # most powerpc-linux boxes support dynamic linking these days and ++ # people can always --disable-shared, the test was removed, and we ++ # assume the GNU/Linux dynamic linker is in use. ++ dynamic_linker='GNU/Linux ld.so' ++ ;; ++ ++netbsd*) ++ version_type=sunos ++ need_lib_prefix=no ++ need_version=no ++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' ++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' ++ dynamic_linker='NetBSD (a.out) ld.so' ++ else ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ dynamic_linker='NetBSD ld.elf_so' ++ fi ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=yes ++ hardcode_into_libs=yes ++ ;; ++ ++newsos6) ++ version_type=linux # correct to gnu/linux during the next big refactor ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=yes ++ ;; ++ ++*nto* | *qnx*) ++ version_type=qnx ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=no ++ hardcode_into_libs=yes ++ dynamic_linker='ldqnx.so' ++ ;; ++ ++openbsd* | bitrig*) ++ version_type=sunos ++ sys_lib_dlsearch_path_spec=/usr/lib ++ need_lib_prefix=no ++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then ++ need_version=no ++ else ++ need_version=yes ++ fi ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' ++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=yes ++ ;; ++ ++os2*) ++ libname_spec='$name' ++ version_type=windows ++ shrext_cmds=.dll ++ need_version=no ++ need_lib_prefix=no ++ # OS/2 can only load a DLL with a base name of 8 characters or less. ++ soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; ++ v=$($ECHO $release$versuffix | tr -d .-); ++ n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); ++ $ECHO $n$v`$shared_ext' ++ library_names_spec='${libname}_dll.$libext' ++ dynamic_linker='OS/2 ld.exe' ++ shlibpath_var=BEGINLIBPATH ++ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" ++ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ++ postinstall_cmds='base_file=`basename \$file`~ ++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ ++ dldir=$destdir/`dirname \$dlpath`~ ++ test -d \$dldir || mkdir -p \$dldir~ ++ $install_prog $dir/$dlname \$dldir/$dlname~ ++ chmod a+x \$dldir/$dlname~ ++ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then ++ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; ++ fi' ++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ ++ dlpath=$dir/\$dldll~ ++ $RM \$dlpath' ++ ;; ++ ++osf3* | osf4* | osf5*) ++ version_type=osf ++ need_lib_prefix=no ++ need_version=no ++ soname_spec='$libname$release$shared_ext$major' ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ shlibpath_var=LD_LIBRARY_PATH ++ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" ++ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ++ ;; ++ ++rdos*) ++ dynamic_linker=no ++ ;; ++ ++solaris*) ++ version_type=linux # correct to gnu/linux during the next big refactor ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=yes ++ hardcode_into_libs=yes ++ # ldd complains unless libraries are executable ++ postinstall_cmds='chmod +x $lib' ++ ;; ++ ++sunos4*) ++ version_type=sunos ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' ++ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=yes ++ if test yes = "$with_gnu_ld"; then ++ need_lib_prefix=no ++ fi ++ need_version=yes ++ ;; ++ ++sysv4 | sysv4.3*) ++ version_type=linux # correct to gnu/linux during the next big refactor ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ shlibpath_var=LD_LIBRARY_PATH ++ case $host_vendor in ++ sni) ++ shlibpath_overrides_runpath=no ++ need_lib_prefix=no ++ runpath_var=LD_RUN_PATH ++ ;; ++ siemens) ++ need_lib_prefix=no ++ ;; ++ motorola) ++ need_lib_prefix=no ++ need_version=no ++ shlibpath_overrides_runpath=no ++ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ++ ;; ++ esac ++ ;; ++ ++sysv4*MP*) ++ if test -d /usr/nec; then ++ version_type=linux # correct to gnu/linux during the next big refactor ++ library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' ++ soname_spec='$libname$shared_ext.$major' ++ shlibpath_var=LD_LIBRARY_PATH ++ fi ++ ;; ++ ++sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) ++ version_type=sco ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=yes ++ hardcode_into_libs=yes ++ if test yes = "$with_gnu_ld"; then ++ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' ++ else ++ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' ++ case $host_os in ++ sco3.2v5*) ++ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ++ ;; ++ esac ++ fi ++ sys_lib_dlsearch_path_spec='/usr/lib' ++ ;; ++ ++tpf*) ++ # TPF is a cross-target only. Preferred cross-host = GNU/Linux. ++ version_type=linux # correct to gnu/linux during the next big refactor ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=no ++ hardcode_into_libs=yes ++ ;; ++ ++uts4*) ++ version_type=linux # correct to gnu/linux during the next big refactor ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ soname_spec='$libname$release$shared_ext$major' ++ shlibpath_var=LD_LIBRARY_PATH ++ ;; ++ ++*) ++ dynamic_linker=no ++ ;; ++esac ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 ++$as_echo "$dynamic_linker" >&6; } ++test no = "$dynamic_linker" && can_build_shared=no ++ ++variables_saved_for_relink="PATH $shlibpath_var $runpath_var" ++if test yes = "$GCC"; then ++ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" ++fi ++ ++if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then ++ sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec ++fi ++ ++if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then ++ sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec ++fi ++ ++# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... ++configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec ++ ++# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code ++func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" ++ ++# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool ++configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 ++$as_echo_n "checking how to hardcode library paths into programs... " >&6; } ++hardcode_action= ++if test -n "$hardcode_libdir_flag_spec" || ++ test -n "$runpath_var" || ++ test yes = "$hardcode_automatic"; then ++ ++ # We can hardcode non-existent directories. ++ if test no != "$hardcode_direct" && ++ # If the only mechanism to avoid hardcoding is shlibpath_var, we ++ # have to relink, otherwise we might link with an installed library ++ # when we should be linking with a yet-to-be-installed one ++ ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && ++ test no != "$hardcode_minus_L"; then ++ # Linking always hardcodes the temporary library directory. ++ hardcode_action=relink ++ else ++ # We can link without hardcoding, and we can hardcode nonexisting dirs. ++ hardcode_action=immediate ++ fi ++else ++ # We cannot hardcode anything, or else we can only hardcode existing ++ # directories. ++ hardcode_action=unsupported ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 ++$as_echo "$hardcode_action" >&6; } ++ ++if test relink = "$hardcode_action" || ++ test yes = "$inherit_rpath"; then ++ # Fast installation is not supported ++ enable_fast_install=no ++elif test yes = "$shlibpath_overrides_runpath" || ++ test no = "$enable_shared"; then ++ # Fast installation is not necessary ++ enable_fast_install=needless ++fi ++ ++ ++ ++ ++ ++ ++ if test yes != "$enable_dlopen"; then ++ enable_dlopen=unknown ++ enable_dlopen_self=unknown ++ enable_dlopen_self_static=unknown ++else ++ lt_cv_dlopen=no ++ lt_cv_dlopen_libs= ++ ++ case $host_os in ++ beos*) ++ lt_cv_dlopen=load_add_on ++ lt_cv_dlopen_libs= ++ lt_cv_dlopen_self=yes ++ ;; ++ ++ mingw* | pw32* | cegcc*) ++ lt_cv_dlopen=LoadLibrary ++ lt_cv_dlopen_libs= ++ ;; ++ ++ cygwin*) ++ lt_cv_dlopen=dlopen ++ lt_cv_dlopen_libs= ++ ;; ++ ++ darwin*) ++ # if libdl is installed we need to link against it ++ { $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 : ++ lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl ++else ++ ++ lt_cv_dlopen=dyld ++ lt_cv_dlopen_libs= ++ lt_cv_dlopen_self=yes ++ ++fi ++ ++ ;; ++ ++ tpf*) ++ # Don't try to run any link tests for TPF. We know it's impossible ++ # because TPF is a cross-compiler, and we know how we open DSOs. ++ lt_cv_dlopen=dlopen ++ lt_cv_dlopen_libs= ++ lt_cv_dlopen_self=no ++ ;; ++ ++ *) ++ ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" ++if test "x$ac_cv_func_shl_load" = xyes; then : ++ lt_cv_dlopen=shl_load ++else ++ { $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 : ++ lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld ++else ++ ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" ++if test "x$ac_cv_func_dlopen" = xyes; then : ++ lt_cv_dlopen=dlopen ++else ++ { $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 : ++ lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 ++$as_echo_n "checking for dlopen in -lsvld... " >&6; } ++if ${ac_cv_lib_svld_dlopen+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lsvld $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_svld_dlopen=yes ++else ++ ac_cv_lib_svld_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_svld_dlopen" >&5 ++$as_echo "$ac_cv_lib_svld_dlopen" >&6; } ++if test "x$ac_cv_lib_svld_dlopen" = xyes; then : ++ lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 ++$as_echo_n "checking for dld_link in -ldld... " >&6; } ++if ${ac_cv_lib_dld_dld_link+:} 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 dld_link (); ++int ++main () ++{ ++return dld_link (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ ac_cv_lib_dld_dld_link=yes ++else ++ ac_cv_lib_dld_dld_link=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_dld_link" >&5 ++$as_echo "$ac_cv_lib_dld_dld_link" >&6; } ++if test "x$ac_cv_lib_dld_dld_link" = xyes; then : ++ lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld ++fi ++ ++ ++fi ++ ++ ++fi ++ ++ ++fi ++ ++ ++fi ++ ++ ++fi ++ ++ ;; ++ esac ++ ++ if test no = "$lt_cv_dlopen"; then ++ enable_dlopen=no ++ else ++ enable_dlopen=yes ++ fi ++ ++ case $lt_cv_dlopen in ++ dlopen) ++ save_CPPFLAGS=$CPPFLAGS ++ test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" ++ ++ save_LDFLAGS=$LDFLAGS ++ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" ++ ++ save_LIBS=$LIBS ++ LIBS="$lt_cv_dlopen_libs $LIBS" ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 ++$as_echo_n "checking whether a program can dlopen itself... " >&6; } ++if ${lt_cv_dlopen_self+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test yes = "$cross_compiling"; then : ++ lt_cv_dlopen_self=cross ++else ++ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 ++ lt_status=$lt_dlunknown ++ cat > conftest.$ac_ext <<_LT_EOF ++#line $LINENO "configure" ++#include "confdefs.h" ++ ++#if HAVE_DLFCN_H ++#include ++#endif ++ ++#include ++ ++#ifdef RTLD_GLOBAL ++# define LT_DLGLOBAL RTLD_GLOBAL ++#else ++# ifdef DL_GLOBAL ++# define LT_DLGLOBAL DL_GLOBAL ++# else ++# define LT_DLGLOBAL 0 ++# endif ++#endif ++ ++/* We may have to define LT_DLLAZY_OR_NOW in the command line if we ++ find out it does not work in some platform. */ ++#ifndef LT_DLLAZY_OR_NOW ++# ifdef RTLD_LAZY ++# define LT_DLLAZY_OR_NOW RTLD_LAZY ++# else ++# ifdef DL_LAZY ++# define LT_DLLAZY_OR_NOW DL_LAZY ++# else ++# ifdef RTLD_NOW ++# define LT_DLLAZY_OR_NOW RTLD_NOW ++# else ++# ifdef DL_NOW ++# define LT_DLLAZY_OR_NOW DL_NOW ++# else ++# define LT_DLLAZY_OR_NOW 0 ++# endif ++# endif ++# endif ++# endif ++#endif ++ ++/* When -fvisibility=hidden is used, assume the code has been annotated ++ correspondingly for the symbols needed. */ ++#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) ++int fnord () __attribute__((visibility("default"))); ++#endif ++ ++int fnord () { return 42; } ++int main () ++{ ++ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); ++ int status = $lt_dlunknown; ++ ++ if (self) ++ { ++ if (dlsym (self,"fnord")) status = $lt_dlno_uscore; ++ else ++ { ++ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; ++ else puts (dlerror ()); ++ } ++ /* dlclose (self); */ ++ } ++ else ++ puts (dlerror ()); ++ ++ return status; ++} ++_LT_EOF ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then ++ (./conftest; exit; ) >&5 2>/dev/null ++ lt_status=$? ++ case x$lt_status in ++ x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; ++ x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; ++ x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; ++ esac ++ else : ++ # compilation failed ++ lt_cv_dlopen_self=no ++ fi ++fi ++rm -fr conftest* ++ ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 ++$as_echo "$lt_cv_dlopen_self" >&6; } ++ ++ if test yes = "$lt_cv_dlopen_self"; then ++ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 ++$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } ++if ${lt_cv_dlopen_self_static+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test yes = "$cross_compiling"; then : ++ lt_cv_dlopen_self_static=cross ++else ++ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 ++ lt_status=$lt_dlunknown ++ cat > conftest.$ac_ext <<_LT_EOF ++#line $LINENO "configure" ++#include "confdefs.h" ++ ++#if HAVE_DLFCN_H ++#include ++#endif ++ ++#include ++ ++#ifdef RTLD_GLOBAL ++# define LT_DLGLOBAL RTLD_GLOBAL ++#else ++# ifdef DL_GLOBAL ++# define LT_DLGLOBAL DL_GLOBAL ++# else ++# define LT_DLGLOBAL 0 ++# endif ++#endif ++ ++/* We may have to define LT_DLLAZY_OR_NOW in the command line if we ++ find out it does not work in some platform. */ ++#ifndef LT_DLLAZY_OR_NOW ++# ifdef RTLD_LAZY ++# define LT_DLLAZY_OR_NOW RTLD_LAZY ++# else ++# ifdef DL_LAZY ++# define LT_DLLAZY_OR_NOW DL_LAZY ++# else ++# ifdef RTLD_NOW ++# define LT_DLLAZY_OR_NOW RTLD_NOW ++# else ++# ifdef DL_NOW ++# define LT_DLLAZY_OR_NOW DL_NOW ++# else ++# define LT_DLLAZY_OR_NOW 0 ++# endif ++# endif ++# endif ++# endif ++#endif ++ ++/* When -fvisibility=hidden is used, assume the code has been annotated ++ correspondingly for the symbols needed. */ ++#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) ++int fnord () __attribute__((visibility("default"))); ++#endif ++ ++int fnord () { return 42; } ++int main () ++{ ++ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); ++ int status = $lt_dlunknown; ++ ++ if (self) ++ { ++ if (dlsym (self,"fnord")) status = $lt_dlno_uscore; ++ else ++ { ++ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; ++ else puts (dlerror ()); ++ } ++ /* dlclose (self); */ ++ } ++ else ++ puts (dlerror ()); ++ ++ return status; ++} ++_LT_EOF ++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then ++ (./conftest; exit; ) >&5 2>/dev/null ++ lt_status=$? ++ case x$lt_status in ++ x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; ++ x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; ++ x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; ++ esac ++ else : ++ # compilation failed ++ lt_cv_dlopen_self_static=no ++ fi ++fi ++rm -fr conftest* ++ ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 ++$as_echo "$lt_cv_dlopen_self_static" >&6; } ++ fi ++ ++ CPPFLAGS=$save_CPPFLAGS ++ LDFLAGS=$save_LDFLAGS ++ LIBS=$save_LIBS ++ ;; ++ esac ++ ++ case $lt_cv_dlopen_self in ++ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; ++ *) enable_dlopen_self=unknown ;; ++ esac ++ ++ case $lt_cv_dlopen_self_static in ++ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; ++ *) enable_dlopen_self_static=unknown ;; ++ esac ++fi ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++striplib= ++old_striplib= ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 ++$as_echo_n "checking whether stripping libraries is possible... " >&6; } ++if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then ++ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" ++ test -z "$striplib" && striplib="$STRIP --strip-unneeded" ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++$as_echo "yes" >&6; } ++else ++# FIXME - insert some real tests, host_os isn't really good enough ++ case $host_os in ++ darwin*) ++ if test -n "$STRIP"; then ++ striplib="$STRIP -x" ++ old_striplib="$STRIP -S" ++ { $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 ++ ;; ++ *) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++ ;; ++ esac ++fi ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ # Report what library types will actually be built ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 ++$as_echo_n "checking if libtool supports shared libraries... " >&6; } ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 ++$as_echo "$can_build_shared" >&6; } ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 ++$as_echo_n "checking whether to build shared libraries... " >&6; } ++ test no = "$can_build_shared" && enable_shared=no ++ ++ # On AIX, shared libraries and static libraries use the same namespace, and ++ # are all built from PIC. ++ case $host_os in ++ aix3*) ++ test yes = "$enable_shared" && enable_static=no ++ if test -n "$RANLIB"; then ++ archive_cmds="$archive_cmds~\$RANLIB \$lib" ++ postinstall_cmds='$RANLIB $lib' ++ fi ++ ;; ++ ++ aix[4-9]*) ++ if test ia64 != "$host_cpu"; then ++ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in ++ yes,aix,yes) ;; # shared object as lib.so file only ++ yes,svr4,*) ;; # shared object as lib.so archive member only ++ yes,*) enable_static=no ;; # shared object in lib.a archive as well ++ esac ++ fi ++ ;; ++ esac ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 ++$as_echo "$enable_shared" >&6; } ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 ++$as_echo_n "checking whether to build static libraries... " >&6; } ++ # Make sure either enable_shared or enable_static is yes. ++ test yes = "$enable_shared" || enable_static=yes ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 ++$as_echo "$enable_static" >&6; } ++ ++ ++ ++ ++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 ++ ++CC=$lt_save_CC ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ac_config_commands="$ac_config_commands libtool" ++ ++ ++ ++ ++# Only expand once: ++ ++ ++ ++ ++ ++ ++ISODATE=`date +%Y-%m-%d` ++ ++ ++ ++case $host_os in ++hpux*) ++ ++cat >>confdefs.h <<_ACEOF ++#define CRLIBM_TYPEOS_HPUX 1 ++_ACEOF ++;; ++*cygwin* | *mingw* | *uwin* | *djgpp | *emx*) ++ ++cat >>confdefs.h <<_ACEOF ++#define CRLIBM_TYPEOS_CYGWIN 1 ++_ACEOF ++;; ++freebsd*|netbsd*|darwin*) ++ ++cat >>confdefs.h <<_ACEOF ++#define CRLIBM_TYPEOS_BSD 1 ++_ACEOF ++;; ++esac; ++ ++ ++case $host_cpu in ++alpha) ++ ++cat >>confdefs.h <<_ACEOF ++#define CRLIBM_TYPECPU_ALPHA 1 ++_ACEOF ++ ;; ++sparc) ++ ++cat >>confdefs.h <<_ACEOF ++#define CRLIBM_TYPECPU_SPARC 1 ++_ACEOF ++ ;; ++powerpc*) ++ ++cat >>confdefs.h <<_ACEOF ++#define CRLIBM_TYPECPU_POWERPC 1 ++_ACEOF ++;; ++i*86|k6|k7|pentium*|athlon*) ++ ++cat >>confdefs.h <<_ACEOF ++#define CRLIBM_TYPECPU_X86 1 ++_ACEOF ++ ++ has_ia32_de=true;; ++x86_64|amd64) ++ ++cat >>confdefs.h <<_ACEOF ++#define CRLIBM_TYPECPU_AMD64 1 ++_ACEOF ++ ++ has_ia32_de=true;; ++ia64) ++ ++cat >>confdefs.h <<_ACEOF ++#define CRLIBM_TYPECPU_ITANIUM 1 ++_ACEOF ++ ++ has_ia64_de=true;; ++esac; ++ ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 ++$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } ++set x ${MAKE-make} ++ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` ++if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat >conftest.make <<\_ACEOF ++SHELL = /bin/sh ++all: ++ @echo '@@@%%%=$(MAKE)=@@@%%%' ++_ACEOF ++# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. ++case `${MAKE-make} -f conftest.make 2>/dev/null` in ++ *@@@%%%=?*=@@@%%%*) ++ eval ac_cv_prog_make_${ac_make}_set=yes;; ++ *) ++ eval ac_cv_prog_make_${ac_make}_set=no;; ++esac ++rm -f conftest.make ++fi ++if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++$as_echo "yes" >&6; } ++ SET_MAKE= ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++ SET_MAKE="MAKE=${MAKE-make}" ++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 ++ for ac_prog in gcc icc cc ++ 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 gcc icc cc ++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 ++ ++ ++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 ++ ++{ $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 whether $CC understands -c and -o together" >&5 ++$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } ++if ${am_cv_prog_cc_c_o+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++ # Make sure it works both with $CC and with simple cc. ++ # Following AC_PROG_CC_C_O, we do the test twice because some ++ # compilers refuse to overwrite an existing .o file with -o, ++ # though they will create one. ++ am_cv_prog_cc_c_o=yes ++ for am_i in 1 2; do ++ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 ++ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } \ ++ && test -f conftest2.$ac_objext; then ++ : OK ++ else ++ am_cv_prog_cc_c_o=no ++ break ++ fi ++ done ++ rm -f core conftest* ++ unset am_i ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 ++$as_echo "$am_cv_prog_cc_c_o" >&6; } ++if test "$am_cv_prog_cc_c_o" != yes; then ++ # Losing compiler, so override with the script. ++ # FIXME: It is wrong to rewrite CC. ++ # But if we don't then we get into trouble of one sort or another. ++ # A longer-term fix would be to have automake use am__CC in this case, ++ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" ++ CC="$am_aux_dir/compile $CC" ++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 ++ ++ ++depcc="$CC" am_compiler_list= ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 ++$as_echo_n "checking dependency style of $depcc... " >&6; } ++if ${am_cv_CC_dependencies_compiler_type+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then ++ # We make a subdir and do the tests there. Otherwise we can end up ++ # making bogus files that we don't know about and never remove. For ++ # instance it was reported that on HP-UX the gcc test will end up ++ # making a dummy file named 'D' -- because '-MD' means "put the output ++ # in D". ++ rm -rf conftest.dir ++ mkdir conftest.dir ++ # Copy depcomp to subdir because otherwise we won't find it if we're ++ # using a relative directory. ++ cp "$am_depcomp" conftest.dir ++ cd conftest.dir ++ # We will build objects and dependencies in a subdirectory because ++ # it helps to detect inapplicable dependency modes. For instance ++ # both Tru64's cc and ICC support -MD to output dependencies as a ++ # side effect of compilation, but ICC will put the dependencies in ++ # the current directory while Tru64 will put them in the object ++ # directory. ++ mkdir sub ++ ++ am_cv_CC_dependencies_compiler_type=none ++ if test "$am_compiler_list" = ""; then ++ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` ++ fi ++ am__universal=false ++ case " $depcc " in #( ++ *\ -arch\ *\ -arch\ *) am__universal=true ;; ++ esac ++ ++ for depmode in $am_compiler_list; do ++ # Setup a source with many dependencies, because some compilers ++ # like to wrap large dependency lists on column 80 (with \), and ++ # we should not choose a depcomp mode which is confused by this. ++ # ++ # We need to recreate these files for each test, as the compiler may ++ # overwrite some of them when testing with obscure command lines. ++ # This happens at least with the AIX C compiler. ++ : > sub/conftest.c ++ for i in 1 2 3 4 5 6; do ++ echo '#include "conftst'$i'.h"' >> sub/conftest.c ++ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with ++ # Solaris 10 /bin/sh. ++ echo '/* dummy */' > sub/conftst$i.h ++ done ++ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf ++ ++ # We check with '-c' and '-o' for the sake of the "dashmstdout" ++ # mode. It turns out that the SunPro C++ compiler does not properly ++ # handle '-M -o', and we need to detect this. Also, some Intel ++ # versions had trouble with output in subdirs. ++ am__obj=sub/conftest.${OBJEXT-o} ++ am__minus_obj="-o $am__obj" ++ case $depmode in ++ gcc) ++ # This depmode causes a compiler race in universal mode. ++ test "$am__universal" = false || continue ++ ;; ++ nosideeffect) ++ # After this tag, mechanisms are not by side-effect, so they'll ++ # only be used when explicitly requested. ++ if test "x$enable_dependency_tracking" = xyes; then ++ continue ++ else ++ break ++ fi ++ ;; ++ msvc7 | msvc7msys | msvisualcpp | msvcmsys) ++ # This compiler won't grok '-c -o', but also, the minuso test has ++ # not run yet. These depmodes are late enough in the game, and ++ # so weak that their functioning should not be impacted. ++ am__obj=conftest.${OBJEXT-o} ++ am__minus_obj= ++ ;; ++ none) break ;; ++ esac ++ if depmode=$depmode \ ++ source=sub/conftest.c object=$am__obj \ ++ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ ++ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ ++ >/dev/null 2>conftest.err && ++ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && ++ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && ++ grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then ++ # icc doesn't choke on unknown options, it will just issue warnings ++ # or remarks (even with -Werror). So we grep stderr for any message ++ # that says an option was ignored or not supported. ++ # When given -MP, icc 7.0 and 7.1 complain thusly: ++ # icc: Command line warning: ignoring option '-M'; no argument required ++ # The diagnosis changed in icc 8.0: ++ # icc: Command line remark: option '-MP' not supported ++ if (grep 'ignoring option' conftest.err || ++ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else ++ am_cv_CC_dependencies_compiler_type=$depmode ++ break ++ fi ++ fi ++ done ++ ++ cd .. ++ rm -rf conftest.dir ++else ++ am_cv_CC_dependencies_compiler_type=none ++fi ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 ++$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } ++CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type ++ ++ if ++ test "x$enable_dependency_tracking" != xno \ ++ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then ++ am__fastdepCC_TRUE= ++ am__fastdepCC_FALSE='#' ++else ++ am__fastdepCC_TRUE='#' ++ am__fastdepCC_FALSE= ++fi ++ ++ ++ ++# Try to set compiler flags to get floating point arithmetics ++# to work. This is an old heritage and should become useless within 30 years ++# ++if test "${GCC}" != "yes" ; then ++ case "${build}" in ++ *-*-hpux* ) ++ AM_CFLAGS="${AM_CFLAGS} -Wp,-H30000" ++ ;; ++ *-dec-osf* ) ++ AM_CFLAGS="${AM_CFLAGS} -ieee" ++ ;; ++ *-apple-darwin* ) ++ AM_CFLAGS="${AM_CFLAGS} -fno-common" ++ ;; ++ *-sgi-irix* ) ++ ;; ++ esac ++else ++ case "${CC}" in ++ *icc* ) ++ # -Wall causes relocation errors with icc. ++ AM_CFLAGS="${AM_CFLAGS} -wd269" ++ ;; ++ * ) ++ case "${build}" in ++ *-dec-osf* ) ++ AM_CFLAGS="${AM_CFLAGS} -mieee -Wall" ++ ;; ++ *alpha*-*-linux* ) ++ AM_CFLAGS="${AM_CFLAGS} -mieee -Wall" ++ ;; ++ *alpha*-*-freebsd* ) ++ AM_CFLAGS="${AM_CFLAGS} -mieee -Wall" ++ ;; ++ *-apple-darwin* ) ++ AM_CFLAGS="${AM_CFLAGS} -fno-common -Wall" ++ ;; ++ * ) ++ AM_CFLAGS="${AM_CFLAGS} -Wall" ++ ;; ++ esac ++ ;; ++ esac ++fi ++ ++ ++ ++ ++ ++ ++ if test x$CC = xicc; then ++ COMPILER_ICC_TRUE= ++ COMPILER_ICC_FALSE='#' ++else ++ COMPILER_ICC_TRUE='#' ++ COMPILER_ICC_FALSE= ++fi ++ ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 ++$as_echo_n "checking whether ln -s works... " >&6; } ++LN_S=$as_ln_s ++if test "$LN_S" = "ln -s"; 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, using $LN_S" >&5 ++$as_echo "no, using $LN_S" >&6; } ++fi ++ ++ ++{ $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 ++ ++{ $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 ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 ++$as_echo_n "checking for inline... " >&6; } ++if ${ac_cv_c_inline+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_cv_c_inline=no ++for ac_kw in inline __inline__ __inline; do ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++#ifndef __cplusplus ++typedef int foo_t; ++static $ac_kw foo_t static_foo () {return 0; } ++$ac_kw foo_t foo () {return 0; } ++#endif ++ ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ ac_cv_c_inline=$ac_kw ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ test "$ac_cv_c_inline" != no && break ++done ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 ++$as_echo "$ac_cv_c_inline" >&6; } ++ ++case $ac_cv_c_inline in ++ inline | yes) ;; ++ *) ++ case $ac_cv_c_inline in ++ no) ac_val=;; ++ *) ac_val=$ac_cv_c_inline;; ++ esac ++ cat >>confdefs.h <<_ACEOF ++#ifndef __cplusplus ++#define inline $ac_val ++#endif ++_ACEOF ++ ;; ++esac ++ ++ ++ ++for ac_func in sqrt ++do : ++ ac_fn_c_check_func "$LINENO" "sqrt" "ac_cv_func_sqrt" ++if test "x$ac_cv_func_sqrt" = xyes; then : ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_SQRT 1 ++_ACEOF ++ ++fi ++done ++ ++for ac_header in fenv.h ++do : ++ ac_fn_c_check_header_mongrel "$LINENO" "fenv.h" "ac_cv_header_fenv_h" "$ac_includes_default" ++if test "x$ac_cv_header_fenv_h" = xyes; then : ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_FENV_H 1 ++_ACEOF ++ ++fi ++ ++done ++ ++for ac_header in float.h ++do : ++ ac_fn_c_check_header_mongrel "$LINENO" "float.h" "ac_cv_header_float_h" "$ac_includes_default" ++if test "x$ac_cv_header_float_h" = xyes; then : ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_FLOAT_H 1 ++_ACEOF ++ ++fi ++ ++done ++ ++ac_fn_c_check_header_mongrel "$LINENO" "fpu_control.h" "ac_cv_header_fpu_control_h" "$ac_includes_default" ++if test "x$ac_cv_header_fpu_control_h" = xyes; then : ++ has_fpu_control=yes ++else ++ has_fpu_control=no ++fi ++ ++ ++ ++ if test x$has_fpu_control = xyes; then ++ HAS_FPU_CONTROL_TRUE= ++ HAS_FPU_CONTROL_FALSE='#' ++else ++ HAS_FPU_CONTROL_TRUE='#' ++ HAS_FPU_CONTROL_FALSE= ++fi ++ ++ ++if test x$has_fpu_control = xyes ; then ++ ++cat >>confdefs.h <<_ACEOF ++#define CRLIBM_HAS_FPU_CONTROL 1 ++_ACEOF ++ ++fi ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for log in -lm" >&5 ++$as_echo_n "checking for log in -lm... " >&6; } ++if ${ac_cv_lib_m_log+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lm $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 log (); ++int ++main () ++{ ++return log (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ ac_cv_lib_m_log=yes ++else ++ ac_cv_lib_m_log=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_m_log" >&5 ++$as_echo "$ac_cv_lib_m_log" >&6; } ++if test "x$ac_cv_lib_m_log" = xyes; then : ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_LIBM 1 ++_ACEOF ++ ++ LIBS="-lm $LIBS" ++ ++fi ++ ++ ++ { $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 ++ ++ ++ ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double with more range or precision than double" >&5 ++$as_echo_n "checking for long double with more range or precision than double... " >&6; } ++if ${ac_cv_type_long_double_wider+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++#include ++ long double const a[] = ++ { ++ 0.0L, DBL_MIN, DBL_MAX, DBL_EPSILON, ++ LDBL_MIN, LDBL_MAX, LDBL_EPSILON ++ }; ++ long double ++ f (long double x) ++ { ++ return ((x + (unsigned long int) 10) * (-1 / x) + a[0] ++ + (x ? f (x) : 'c')); ++ } ++ ++int ++main () ++{ ++static int test_array [1 - 2 * !((0 < ((DBL_MAX_EXP < LDBL_MAX_EXP) ++ + (DBL_MANT_DIG < LDBL_MANT_DIG) ++ - (LDBL_MAX_EXP < DBL_MAX_EXP) ++ - (LDBL_MANT_DIG < DBL_MANT_DIG))) ++ && (int) LDBL_EPSILON == 0 ++ )]; ++test_array [0] = 0; ++return test_array [0]; ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ ac_cv_type_long_double_wider=yes ++else ++ ac_cv_type_long_double_wider=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_double_wider" >&5 ++$as_echo "$ac_cv_type_long_double_wider" >&6; } ++ if test $ac_cv_type_long_double_wider = yes; then ++ ++$as_echo "#define HAVE_LONG_DOUBLE_WIDER 1" >>confdefs.h ++ ++ fi ++ ++ ac_cv_c_long_double=$ac_cv_type_long_double_wider ++ if test $ac_cv_c_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 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 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++# Check whether --enable-sse2 was given. ++if test "${enable_sse2+set}" = set; then : ++ enableval=$enable_sse2; case $enableval in ++ yes) ++ ++cat >>confdefs.h <<_ACEOF ++#define HAS_SSE2 1 ++_ACEOF ++;; ++ no) ;; ++ *) as_fn_error $? "bad value $enableval for --enable-sse2, need yes or no" "$LINENO" 5 ;; ++ esac ++else ++ enable_sse2=no ++fi ++ ++ if test x$enable_sse2 = xyes ; then ++ USE_SSE2_TRUE= ++ USE_SSE2_FALSE='#' ++else ++ USE_SSE2_TRUE='#' ++ USE_SSE2_FALSE= ++fi ++ ++ ++ ++ ++ ++# Check whether --enable-interval-functions was given. ++if test "${enable_interval_functions+set}" = set; then : ++ enableval=$enable_interval_functions; case $enableval in ++ yes) ++ ++cat >>confdefs.h <<_ACEOF ++#define BUILD_INTERVAL_FUNCTIONS 1 ++_ACEOF ++;; ++ no) ;; ++ *) as_fn_error $? "bad value $enableval for --enable-interval-functions, need yes or no" "$LINENO" 5 ;; ++ esac ++else ++ enable_interval_functions=no ++fi ++ ++ if test x$enable_interval_functions = xyes ; then ++ USE_INTERVAL_FUNCTIONS_TRUE= ++ USE_INTERVAL_FUNCTIONS_FALSE='#' ++else ++ USE_INTERVAL_FUNCTIONS_TRUE='#' ++ USE_INTERVAL_FUNCTIONS_FALSE= ++fi ++ ++ ++ ++ ++# Check whether --enable-double-extended was given. ++if test "${enable_double_extended+set}" = set; then : ++ enableval=$enable_double_extended; case $enableval in ++ yes|no) ;; ++ *) as_fn_error $? "bad value $enableval for --enable-double-extended, need yes or no" "$LINENO" 5 ;; ++ esac ++else ++ enable_double_extended=yes ++fi ++ ++ ++ ++ if test x$has_ia32_de = xtrue -a x$has_fpu_control = xyes -a x$enable_double_extended = xyes -a x$enable_interval_functions = xno ; then ++ USE_HARDWARE_DE_TRUE= ++ USE_HARDWARE_DE_FALSE='#' ++else ++ USE_HARDWARE_DE_TRUE='#' ++ USE_HARDWARE_DE_FALSE= ++fi ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++# Check whether --enable-nbdigits was given. ++if test "${enable_nbdigits+set}" = set; then : ++ enableval=$enable_nbdigits; case $enableval in ++ *[0-9]) ++cat >>confdefs.h <<_ACEOF ++#define SCS_NB_WORDS $enableval ++_ACEOF ++;; ++ *) as_fn_error $? "bad value $enableval for --enable-nbdigits, number expected" "$LINENO" 5 ;; ++ esac ++else ++ ++cat >>confdefs.h <<_ACEOF ++#define SCS_NB_WORDS 8 ++_ACEOF ++ ++ ++fi ++ ++ ++# Check whether --enable-digitsize was given. ++if test "${enable_digitsize+set}" = set; then : ++ enableval=$enable_digitsize; case $enableval in ++ *[0-9]) ++cat >>confdefs.h <<_ACEOF ++#define SCS_NB_BITS $enableval ++_ACEOF ++;; ++ *) as_fn_error $? "bad value $enableval for --enable-digitsize, number expected" "$LINENO" 5 ;; ++ esac ++else ++ ++cat >>confdefs.h <<_ACEOF ++#define SCS_NB_BITS 30 ++_ACEOF ++ ++ ++fi ++ ++ ++ ++# Check whether --enable-mpfr was given. ++if test "${enable_mpfr+set}" = set; then : ++ enableval=$enable_mpfr; case $enableval in ++ yes|no) ;; ++ *) as_fn_error $? "bad value $enableval for --enable-mpfr, need yes or no" "$LINENO" 5 ;; ++ esac ++else ++ enable_mpfr=no ++fi ++ ++ ++ ++# Check whether --enable-gmp was given. ++if test "${enable_gmp+set}" = set; then : ++ enableval=$enable_gmp; case $enableval in ++ yes|no) ;; ++ *) as_fn_error $? "bad value $enableval for --enable-gmp, need yes or no" "$LINENO" 5 ;; ++ esac ++else ++ enable_gmp=no ++fi ++ ++ ++ ++# Check whether --enable-ultim was given. ++if test "${enable_ultim+set}" = set; then : ++ enableval=$enable_ultim; case $enableval in ++ yes|no) ;; ++ *) as_fn_error $? "bad value $enableval for --enable-ultim, need yes or no" "$LINENO" 5 ;; ++ esac ++else ++ enable_ultim=no ++fi ++ ++ ++ ++# Check whether --enable-mcr was given. ++if test "${enable_mcr+set}" = set; then : ++ enableval=$enable_mcr; case $enableval in ++ yes|no) ;; ++ *) as_fn_error $? "bad value $enableval for --enable-mcr, need yes or no" "$LINENO" 5 ;; ++ esac ++else ++ enable_mcr=no ++fi ++ ++ ++ ++ ++ ++if test "$enable_gmp" = "yes" -o "$enable_mpfr" = "yes"; then ++ ++ ++# Check whether --with-gmp_include was given. ++if test "${with_gmp_include+set}" = set; then : ++ withval=$with_gmp_include; with_gmp_include=$withval ++fi ++ ++ ++# Check whether --with-gmp_lib was given. ++if test "${with_gmp_lib+set}" = set; then : ++ withval=$with_gmp_lib; with_gmp_lib=$withval ++fi ++ ++ ++# Check whether --with-gmp was given. ++if test "${with_gmp+set}" = set; then : ++ withval=$with_gmp; with_gmp_include=$withval/include with_gmp_lib=$withval/lib ++fi ++ ++ ++if test -d "$with_gmp_include"; then ++ CPPFLAGS="$CPPFLAGS -I$with_gmp_include" ++else ++ with_gmp_include= ++fi ++ ++if ` test "$with_gmp_lib" ` ++then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking gmp library" >&5 ++$as_echo_n "checking gmp library... " >&6; } ++ if test -r "$with_gmp_lib/libgmp.a" -o -r "$with_gmp_lib/libgmp.so" ++ then ++ LDFLAGS="$LDFLAGS -L$with_gmp_lib" ++ LIBS ="$LIBS -lgmp" ++ else ++ as_fn_error $? "gmp not found" "$LINENO" 5 ++ fi ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++$as_echo "yes" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lgmp" >&5 ++$as_echo_n "checking for main in -lgmp... " >&6; } ++if ${ac_cv_lib_gmp_main+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lgmp $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++ ++int ++main () ++{ ++return main (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ ac_cv_lib_gmp_main=yes ++else ++ ac_cv_lib_gmp_main=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_gmp_main" >&5 ++$as_echo "$ac_cv_lib_gmp_main" >&6; } ++if test "x$ac_cv_lib_gmp_main" = xyes; then : ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_LIBGMP 1 ++_ACEOF ++ ++ LIBS="-lgmp $LIBS" ++ ++else ++ as_fn_error $? "gmp not found" "$LINENO" 5 ++fi ++ ++fi ++ ++ ++ ++for ac_header in gmp.h ++do : ++ ac_fn_c_check_header_mongrel "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" ++if test "x$ac_cv_header_gmp_h" = xyes; then : ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_GMP_H 1 ++_ACEOF ++ ++fi ++ ++done ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lgmp" >&5 ++$as_echo_n "checking for main in -lgmp... " >&6; } ++if ${ac_cv_lib_gmp_main+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lgmp $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++ ++int ++main () ++{ ++return main (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ ac_cv_lib_gmp_main=yes ++else ++ ac_cv_lib_gmp_main=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_gmp_main" >&5 ++$as_echo "$ac_cv_lib_gmp_main" >&6; } ++if test "x$ac_cv_lib_gmp_main" = xyes; then : ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_LIBGMP 1 ++_ACEOF ++ ++ LIBS="-lgmp $LIBS" ++ ++fi ++ ++ ++fi ++ ++ ++ ++ ++if test "$enable_mpfr" = "yes"; then ++ ++# Check whether --with-mpfr_include was given. ++if test "${with_mpfr_include+set}" = set; then : ++ withval=$with_mpfr_include; with_mpfr_include=$withval ++fi ++ ++ ++# Check whether --with-mpfr_lib was given. ++if test "${with_mpfr_lib+set}" = set; then : ++ withval=$with_mpfr_lib; with_mpfr_lib=$withval ++fi ++ ++ ++# Check whether --with-mpfr was given. ++if test "${with_mpfr+set}" = set; then : ++ withval=$with_mpfr; with_mpfr_include=$withval/include with_mpfr_lib=$withval/lib ++fi ++ ++ ++if test -d "$with_mpfr_include"; then ++ CPPFLAGS="$CPPFLAGS -I$with_mpfr_include" ++else ++ with_mpfr_include= ++fi ++ ++if ` test "$with_mpfr_lib" ` ++then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking mpfr library" >&5 ++$as_echo_n "checking mpfr library... " >&6; } ++ if test -r "$with_mpfr_lib/libmpfr.a" -o -r "$with_mpfr_lib/libmpfr.so" ++ then ++ LDFLAGS="$LDFLAGS -L$with_mpfr_lib" ++ LIBS ="$LIBS -lmpfr" ++ else ++ as_fn_error $? "mpfr not found" "$LINENO" 5 ++ fi ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++$as_echo "yes" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmpfr" >&5 ++$as_echo_n "checking for main in -lmpfr... " >&6; } ++if ${ac_cv_lib_mpfr_main+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lmpfr $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++ ++int ++main () ++{ ++return main (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ ac_cv_lib_mpfr_main=yes ++else ++ ac_cv_lib_mpfr_main=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_mpfr_main" >&5 ++$as_echo "$ac_cv_lib_mpfr_main" >&6; } ++if test "x$ac_cv_lib_mpfr_main" = xyes; then : ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_LIBMPFR 1 ++_ACEOF ++ ++ LIBS="-lmpfr $LIBS" ++ ++else ++ as_fn_error $? "mpfr not found" "$LINENO" 5 ++fi ++ ++fi ++ ++ ++ ++ ++for ac_header in mpfr.h ++do : ++ ac_fn_c_check_header_compile "$LINENO" "mpfr.h" "ac_cv_header_mpfr_h" "#include ++" ++if test "x$ac_cv_header_mpfr_h" = xyes; then : ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_MPFR_H 1 ++_ACEOF ++ ++fi ++ ++done ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmpfr" >&5 ++$as_echo_n "checking for main in -lmpfr... " >&6; } ++if ${ac_cv_lib_mpfr_main+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lmpfr $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++ ++int ++main () ++{ ++return main (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ ac_cv_lib_mpfr_main=yes ++else ++ ac_cv_lib_mpfr_main=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_mpfr_main" >&5 ++$as_echo "$ac_cv_lib_mpfr_main" >&6; } ++if test "x$ac_cv_lib_mpfr_main" = xyes; then : ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_LIBMPFR 1 ++_ACEOF ++ ++ LIBS="-lmpfr $LIBS" ++ ++fi ++ ++ ++fi ++ ++ ++ ++if test "$enable_ultim" = "yes"; then ++ ++ ++# Check whether --with-ultim_include was given. ++if test "${with_ultim_include+set}" = set; then : ++ withval=$with_ultim_include; with_ultim_include=$withval ++fi ++ ++ ++# Check whether --with-ultim_lib was given. ++if test "${with_ultim_lib+set}" = set; then : ++ withval=$with_ultim_lib; with_ultim_lib=$withval ++fi ++ ++ ++# Check whether --with-ultim was given. ++if test "${with_ultim+set}" = set; then : ++ withval=$with_ultim; with_ultim_include=$withval/include with_ultim_lib=$withval/lib ++fi ++ ++ ++if test -d "$with_ultim_include"; then ++ CPPFLAGS="$CPPFLAGS -I$with_ultim_include" ++else ++ with_ultim_include= ++fi ++ ++if ` test "$with_ultim_lib" ` ++then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking ultim library" >&5 ++$as_echo_n "checking ultim library... " >&6; } ++ if test -r "$with_ultim_lib/libultim.a" -o -r "$with_ultim_lib/libultim.so" ++ then ++ LDFLAGS="$LDFLAGS -L$with_ultim_lib" ++ LIBS ="$LIBS -lultim" ++ else ++ as_fn_error $? "ultim not found" "$LINENO" 5 ++ fi ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++$as_echo "yes" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lultim" >&5 ++$as_echo_n "checking for main in -lultim... " >&6; } ++if ${ac_cv_lib_ultim_main+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lultim $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++ ++int ++main () ++{ ++return main (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ ac_cv_lib_ultim_main=yes ++else ++ ac_cv_lib_ultim_main=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_ultim_main" >&5 ++$as_echo "$ac_cv_lib_ultim_main" >&6; } ++if test "x$ac_cv_lib_ultim_main" = xyes; then : ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_LIBULTIM 1 ++_ACEOF ++ ++ LIBS="-lultim $LIBS" ++ ++else ++ as_fn_error $? "ultim not found" "$LINENO" 5 ++fi ++ ++fi ++ ++ ++ ++for ac_header in MathLib.h ++do : ++ ac_fn_c_check_header_mongrel "$LINENO" "MathLib.h" "ac_cv_header_MathLib_h" "$ac_includes_default" ++if test "x$ac_cv_header_MathLib_h" = xyes; then : ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_MATHLIB_H 1 ++_ACEOF ++ ++fi ++ ++done ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lultim" >&5 ++$as_echo_n "checking for main in -lultim... " >&6; } ++if ${ac_cv_lib_ultim_main+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lultim $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++ ++int ++main () ++{ ++return main (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ ac_cv_lib_ultim_main=yes ++else ++ ac_cv_lib_ultim_main=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_ultim_main" >&5 ++$as_echo "$ac_cv_lib_ultim_main" >&6; } ++if test "x$ac_cv_lib_ultim_main" = xyes; then : ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_LIBULTIM 1 ++_ACEOF ++ ++ LIBS="-lultim $LIBS" ++ ++fi ++ ++ ++fi ++ ++ ++ ++if test "$enable_mcr" = "yes"; then ++ ++ ++# Check whether --with-mcr_include was given. ++if test "${with_mcr_include+set}" = set; then : ++ withval=$with_mcr_include; with_mcr_include=$withval ++fi ++ ++ ++# Check whether --with-mcr_lib was given. ++if test "${with_mcr_lib+set}" = set; then : ++ withval=$with_mcr_lib; with_mcr_lib=$withval ++fi ++ ++ ++# Check whether --with-mcr was given. ++if test "${with_mcr+set}" = set; then : ++ withval=$with_mcr; with_mcr_include=$withval/include with_mcr_lib=$withval/lib ++fi ++ ++ ++if test -d "$with_mcr_include"; then ++ CPPFLAGS="$CPPFLAGS -I$with_mcr_include" ++else ++ with_mcr_include= ++fi ++ ++if ` test "$with_mcr_lib" ` ++then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking mcr library" >&5 ++$as_echo_n "checking mcr library... " >&6; } ++ if test -r "$with_mcr_lib/libmcr.a" -o -r "$with_mcr_lib/libmcr.so" ++ then ++ LDFLAGS="$LDFLAGS -L$with_mcr_lib" ++ LIBS ="$LIBS -lmcr" ++ else ++ as_fn_error $? "mcr not found" "$LINENO" 5 ++ fi ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++$as_echo "yes" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmcr" >&5 ++$as_echo_n "checking for main in -lmcr... " >&6; } ++if ${ac_cv_lib_mcr_main+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lmcr $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++ ++int ++main () ++{ ++return main (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ ac_cv_lib_mcr_main=yes ++else ++ ac_cv_lib_mcr_main=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_mcr_main" >&5 ++$as_echo "$ac_cv_lib_mcr_main" >&6; } ++if test "x$ac_cv_lib_mcr_main" = xyes; then : ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_LIBMCR 1 ++_ACEOF ++ ++ LIBS="-lmcr $LIBS" ++ ++else ++ as_fn_error $? "mcr not found" "$LINENO" 5 ++fi ++ ++fi ++ ++ ++ ++for ac_header in libmcr.h ++do : ++ ac_fn_c_check_header_mongrel "$LINENO" "libmcr.h" "ac_cv_header_libmcr_h" "$ac_includes_default" ++if test "x$ac_cv_header_libmcr_h" = xyes; then : ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_LIBMCR_H 1 ++_ACEOF ++ ++fi ++ ++done ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmcr" >&5 ++$as_echo_n "checking for main in -lmcr... " >&6; } ++if ${ac_cv_lib_mcr_main+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lmcr $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++ ++int ++main () ++{ ++return main (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ ac_cv_lib_mcr_main=yes ++else ++ ac_cv_lib_mcr_main=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_mcr_main" >&5 ++$as_echo "$ac_cv_lib_mcr_main" >&6; } ++if test "x$ac_cv_lib_mcr_main" = xyes; then : ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_LIBMCR 1 ++_ACEOF ++ ++ LIBS="-lmcr $LIBS" ++ ++fi ++ ++ ++fi ++ ++ ++#AC_CONFIG_SUBDIRS([scs_lib]) ++ ++ ++ ++ac_config_files="$ac_config_files Makefile tests/Makefile scs_lib/Makefile" ++ ++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 ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 ++$as_echo_n "checking that generated files are newer than configure... " >&6; } ++ if test -n "$am_sleep_pid"; then ++ # Hide warnings about reused PIDs. ++ wait $am_sleep_pid 2>/dev/null ++ fi ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 ++$as_echo "done" >&6; } ++ if test -n "$EXEEXT"; then ++ am__EXEEXT_TRUE= ++ am__EXEEXT_FALSE='#' ++else ++ am__EXEEXT_TRUE='#' ++ am__EXEEXT_FALSE= ++fi ++ ++if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then ++ as_fn_error $? "conditional \"AMDEP\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi ++if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then ++ as_fn_error $? "conditional \"am__fastdepCC\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi ++if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then ++ as_fn_error $? "conditional \"am__fastdepCC\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi ++if test -z "${COMPILER_ICC_TRUE}" && test -z "${COMPILER_ICC_FALSE}"; then ++ as_fn_error $? "conditional \"COMPILER_ICC\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi ++if test -z "${HAS_FPU_CONTROL_TRUE}" && test -z "${HAS_FPU_CONTROL_FALSE}"; then ++ as_fn_error $? "conditional \"HAS_FPU_CONTROL\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi ++ ++if test -z "${USE_SSE2_TRUE}" && test -z "${USE_SSE2_FALSE}"; then ++ as_fn_error $? "conditional \"USE_SSE2\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi ++if test -z "${USE_INTERVAL_FUNCTIONS_TRUE}" && test -z "${USE_INTERVAL_FUNCTIONS_FALSE}"; then ++ as_fn_error $? "conditional \"USE_INTERVAL_FUNCTIONS\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi ++if test -z "${USE_HARDWARE_DE_TRUE}" && test -z "${USE_HARDWARE_DE_FALSE}"; then ++ as_fn_error $? "conditional \"USE_HARDWARE_DE\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi ++ ++: "${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 crlibm $as_me 1.0beta4, 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" ++config_commands="$ac_config_commands" ++ ++_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 ++ ++Configuration commands: ++$config_commands ++ ++Report bugs to the package provider." ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ++ac_cs_version="\\ ++crlibm config.status 1.0beta4 ++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' ++AWK='$AWK' ++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 ++# ++# INIT-COMMANDS ++# ++AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" ++ ++ ++# The HP-UX ksh and POSIX shell print the target directory to stdout ++# if CDPATH is set. ++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH ++ ++sed_quote_subst='$sed_quote_subst' ++double_quote_subst='$double_quote_subst' ++delay_variable_subst='$delay_variable_subst' ++enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' ++enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' ++macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' ++macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' ++pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' ++enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' ++shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' ++SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' ++ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' ++PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' ++host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' ++host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' ++host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' ++build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' ++build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' ++build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' ++SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' ++Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' ++GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' ++EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' ++FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' ++LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' ++NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' ++LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' ++max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' ++ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' ++exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' ++lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' ++lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' ++lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' ++lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' ++lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' ++reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' ++reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' ++OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' ++deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' ++file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' ++file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' ++want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' ++DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' ++sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' ++AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' ++AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' ++archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' ++STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' ++RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' ++old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' ++old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' ++old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' ++lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' ++CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' ++CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' ++compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' ++GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' ++lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' ++lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' ++lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' ++lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' ++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' ++lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' ++nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' ++lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' ++lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' ++objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' ++MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' ++lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' ++lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' ++lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' ++lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' ++lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' ++need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' ++MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' ++DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' ++NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' ++LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' ++OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' ++OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' ++libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' ++shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' ++extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' ++archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' ++enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' ++export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' ++whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' ++compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' ++old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' ++old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' ++archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' ++archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' ++module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' ++module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' ++with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' ++allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' ++no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' ++hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' ++hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' ++hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' ++hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' ++hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' ++hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' ++hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' ++inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' ++link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' ++always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' ++export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' ++exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' ++include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' ++prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' ++postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' ++file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' ++variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' ++need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' ++need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' ++version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' ++runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' ++shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' ++shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' ++libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' ++library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' ++soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' ++install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' ++postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' ++postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' ++finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' ++finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' ++hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' ++sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' ++configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' ++configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' ++hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' ++enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' ++enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' ++enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' ++old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' ++striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' ++ ++LTCC='$LTCC' ++LTCFLAGS='$LTCFLAGS' ++compiler='$compiler_DEFAULT' ++ ++# A function that is used when there is no print builtin or printf. ++func_fallback_echo () ++{ ++ eval 'cat <<_LTECHO_EOF ++\$1 ++_LTECHO_EOF' ++} ++ ++# Quote evaled strings. ++for var in SHELL \ ++ECHO \ ++PATH_SEPARATOR \ ++SED \ ++GREP \ ++EGREP \ ++FGREP \ ++LD \ ++NM \ ++LN_S \ ++lt_SP2NL \ ++lt_NL2SP \ ++reload_flag \ ++OBJDUMP \ ++deplibs_check_method \ ++file_magic_cmd \ ++file_magic_glob \ ++want_nocaseglob \ ++DLLTOOL \ ++sharedlib_from_linklib_cmd \ ++AR \ ++AR_FLAGS \ ++archiver_list_spec \ ++STRIP \ ++RANLIB \ ++CC \ ++CFLAGS \ ++compiler \ ++lt_cv_sys_global_symbol_pipe \ ++lt_cv_sys_global_symbol_to_cdecl \ ++lt_cv_sys_global_symbol_to_import \ ++lt_cv_sys_global_symbol_to_c_name_address \ ++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ ++lt_cv_nm_interface \ ++nm_file_list_spec \ ++lt_cv_truncate_bin \ ++lt_prog_compiler_no_builtin_flag \ ++lt_prog_compiler_pic \ ++lt_prog_compiler_wl \ ++lt_prog_compiler_static \ ++lt_cv_prog_compiler_c_o \ ++need_locks \ ++MANIFEST_TOOL \ ++DSYMUTIL \ ++NMEDIT \ ++LIPO \ ++OTOOL \ ++OTOOL64 \ ++shrext_cmds \ ++export_dynamic_flag_spec \ ++whole_archive_flag_spec \ ++compiler_needs_object \ ++with_gnu_ld \ ++allow_undefined_flag \ ++no_undefined_flag \ ++hardcode_libdir_flag_spec \ ++hardcode_libdir_separator \ ++exclude_expsyms \ ++include_expsyms \ ++file_list_spec \ ++variables_saved_for_relink \ ++libname_spec \ ++library_names_spec \ ++soname_spec \ ++install_override_mode \ ++finish_eval \ ++old_striplib \ ++striplib; do ++ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in ++ *[\\\\\\\`\\"\\\$]*) ++ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ++ ;; ++ *) ++ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ++ ;; ++ esac ++done ++ ++# Double-quote double-evaled strings. ++for var in reload_cmds \ ++old_postinstall_cmds \ ++old_postuninstall_cmds \ ++old_archive_cmds \ ++extract_expsyms_cmds \ ++old_archive_from_new_cmds \ ++old_archive_from_expsyms_cmds \ ++archive_cmds \ ++archive_expsym_cmds \ ++module_cmds \ ++module_expsym_cmds \ ++export_symbols_cmds \ ++prelink_cmds \ ++postlink_cmds \ ++postinstall_cmds \ ++postuninstall_cmds \ ++finish_cmds \ ++sys_lib_search_path_spec \ ++configure_time_dlsearch_path \ ++configure_time_lt_sys_library_path; do ++ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in ++ *[\\\\\\\`\\"\\\$]*) ++ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ++ ;; ++ *) ++ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ++ ;; ++ esac ++done ++ ++ac_aux_dir='$ac_aux_dir' ++ ++# See if we are running on zsh, and set the options that allow our ++# commands through without removal of \ escapes INIT. ++if test -n "\${ZSH_VERSION+set}"; then ++ setopt NO_GLOB_SUBST ++fi ++ ++ ++ PACKAGE='$PACKAGE' ++ VERSION='$VERSION' ++ RM='$RM' ++ ofile='$ofile' ++ ++ ++ ++ ++_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 ++ "crlibm_config.h") CONFIG_HEADERS="$CONFIG_HEADERS crlibm_config.h" ;; ++ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; ++ "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; ++ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; ++ "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; ++ "scs_lib/Makefile") CONFIG_FILES="$CONFIG_FILES scs_lib/Makefile" ;; ++ ++ *) 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 ++ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands ++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 :C $CONFIG_COMMANDS" ++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 ++# Compute "$ac_file"'s index in $config_headers. ++_am_arg="$ac_file" ++_am_stamp_count=1 ++for _am_header in $config_headers :; do ++ case $_am_header in ++ $_am_arg | $_am_arg:* ) ++ break ;; ++ * ) ++ _am_stamp_count=`expr $_am_stamp_count + 1` ;; ++ esac ++done ++echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || ++$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$_am_arg" : 'X\(//\)[^/]' \| \ ++ X"$_am_arg" : 'X\(//\)$' \| \ ++ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$_am_arg" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'`/stamp-h$_am_stamp_count ++ ;; ++ ++ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 ++$as_echo "$as_me: executing $ac_file commands" >&6;} ++ ;; ++ esac ++ ++ ++ case $ac_file$ac_mode in ++ "depfiles":C) test x"$AMDEP_TRUE" != x"" || { ++ # Older Autoconf quotes --file arguments for eval, but not when files ++ # are listed without --file. Let's play safe and only enable the eval ++ # if we detect the quoting. ++ case $CONFIG_FILES in ++ *\'*) eval set x "$CONFIG_FILES" ;; ++ *) set x $CONFIG_FILES ;; ++ esac ++ shift ++ for mf ++ do ++ # Strip MF so we end up with the name of the file. ++ mf=`echo "$mf" | sed -e 's/:.*$//'` ++ # Check whether this is an Automake generated Makefile or not. ++ # We used to match only the files named 'Makefile.in', but ++ # some people rename them; so instead we look at the file content. ++ # Grep'ing the first line is not enough: some people post-process ++ # each Makefile.in and add a new line on top of each file to say so. ++ # Grep'ing the whole file is not good either: AIX grep has a line ++ # limit of 2048, but all sed's we know have understand at least 4000. ++ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then ++ dirpart=`$as_dirname -- "$mf" || ++$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$mf" : 'X\(//\)[^/]' \| \ ++ X"$mf" : 'X\(//\)$' \| \ ++ X"$mf" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$mf" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ else ++ continue ++ fi ++ # Extract the definition of DEPDIR, am__include, and am__quote ++ # from the Makefile without running 'make'. ++ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` ++ test -z "$DEPDIR" && continue ++ am__include=`sed -n 's/^am__include = //p' < "$mf"` ++ test -z "$am__include" && continue ++ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` ++ # Find all dependency output files, they are included files with ++ # $(DEPDIR) in their names. We invoke sed twice because it is the ++ # simplest approach to changing $(DEPDIR) to its actual value in the ++ # expansion. ++ for file in `sed -n " ++ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ ++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do ++ # Make sure the directory exists. ++ test -f "$dirpart/$file" && continue ++ fdir=`$as_dirname -- "$file" || ++$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$file" : 'X\(//\)[^/]' \| \ ++ X"$file" : 'X\(//\)$' \| \ ++ X"$file" : 'X\(/\)' \| . 2>/dev/null || ++$as_echo X"$file" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ as_dir=$dirpart/$fdir; as_fn_mkdir_p ++ # echo "creating $dirpart/$file" ++ echo '# dummy' > "$dirpart/$file" ++ done ++ done ++} ++ ;; ++ "libtool":C) ++ ++ # See if we are running on zsh, and set the options that allow our ++ # commands through without removal of \ escapes. ++ if test -n "${ZSH_VERSION+set}"; then ++ setopt NO_GLOB_SUBST ++ fi ++ ++ cfgfile=${ofile}T ++ trap "$RM \"$cfgfile\"; exit 1" 1 2 15 ++ $RM "$cfgfile" ++ ++ cat <<_LT_EOF >> "$cfgfile" ++#! $SHELL ++# Generated automatically by $as_me ($PACKAGE) $VERSION ++# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: ++# NOTE: Changes made to this file will be lost: look at ltmain.sh. ++ ++# Provide generalized library-building support services. ++# Written by Gordon Matzigkeit, 1996 ++ ++# Copyright (C) 2014 Free Software Foundation, Inc. ++# This is free software; see the source for copying conditions. There is NO ++# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ++ ++# GNU Libtool is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of of the License, or ++# (at your option) any later version. ++# ++# As a special exception to the GNU General Public License, if you ++# distribute this file as part of a program or library that is built ++# using GNU Libtool, you may include this file under the same ++# distribution terms that you use for the rest of that program. ++# ++# GNU Libtool is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program. If not, see . ++ ++ ++# The names of the tagged configurations supported by this script. ++available_tags='' ++ ++# Configured defaults for sys_lib_dlsearch_path munging. ++: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} ++ ++# ### BEGIN LIBTOOL CONFIG ++ ++# Whether or not to build shared libraries. ++build_libtool_libs=$enable_shared ++ ++# Whether or not to build static libraries. ++build_old_libs=$enable_static ++ ++# Which release of libtool.m4 was used? ++macro_version=$macro_version ++macro_revision=$macro_revision ++ ++# What type of objects to build. ++pic_mode=$pic_mode ++ ++# Whether or not to optimize for fast installation. ++fast_install=$enable_fast_install ++ ++# Shared archive member basename,for filename based shared library versioning on AIX. ++shared_archive_member_spec=$shared_archive_member_spec ++ ++# Shell to use when invoking shell scripts. ++SHELL=$lt_SHELL ++ ++# An echo program that protects backslashes. ++ECHO=$lt_ECHO ++ ++# The PATH separator for the build system. ++PATH_SEPARATOR=$lt_PATH_SEPARATOR ++ ++# The host system. ++host_alias=$host_alias ++host=$host ++host_os=$host_os ++ ++# The build system. ++build_alias=$build_alias ++build=$build ++build_os=$build_os ++ ++# A sed program that does not truncate output. ++SED=$lt_SED ++ ++# Sed that helps us avoid accidentally triggering echo(1) options like -n. ++Xsed="\$SED -e 1s/^X//" ++ ++# A grep program that handles long lines. ++GREP=$lt_GREP ++ ++# An ERE matcher. ++EGREP=$lt_EGREP ++ ++# A literal string matcher. ++FGREP=$lt_FGREP ++ ++# A BSD- or MS-compatible name lister. ++NM=$lt_NM ++ ++# Whether we need soft or hard links. ++LN_S=$lt_LN_S ++ ++# What is the maximum length of a command? ++max_cmd_len=$max_cmd_len ++ ++# Object file suffix (normally "o"). ++objext=$ac_objext ++ ++# Executable file suffix (normally ""). ++exeext=$exeext ++ ++# whether the shell understands "unset". ++lt_unset=$lt_unset ++ ++# turn spaces into newlines. ++SP2NL=$lt_lt_SP2NL ++ ++# turn newlines into spaces. ++NL2SP=$lt_lt_NL2SP ++ ++# convert \$build file names to \$host format. ++to_host_file_cmd=$lt_cv_to_host_file_cmd ++ ++# convert \$build files to toolchain format. ++to_tool_file_cmd=$lt_cv_to_tool_file_cmd ++ ++# An object symbol dumper. ++OBJDUMP=$lt_OBJDUMP ++ ++# Method to check whether dependent libraries are shared objects. ++deplibs_check_method=$lt_deplibs_check_method ++ ++# Command to use when deplibs_check_method = "file_magic". ++file_magic_cmd=$lt_file_magic_cmd ++ ++# How to find potential files when deplibs_check_method = "file_magic". ++file_magic_glob=$lt_file_magic_glob ++ ++# Find potential files using nocaseglob when deplibs_check_method = "file_magic". ++want_nocaseglob=$lt_want_nocaseglob ++ ++# DLL creation program. ++DLLTOOL=$lt_DLLTOOL ++ ++# Command to associate shared and link libraries. ++sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd ++ ++# The archiver. ++AR=$lt_AR ++ ++# Flags to create an archive. ++AR_FLAGS=$lt_AR_FLAGS ++ ++# How to feed a file listing to the archiver. ++archiver_list_spec=$lt_archiver_list_spec ++ ++# A symbol stripping program. ++STRIP=$lt_STRIP ++ ++# Commands used to install an old-style archive. ++RANLIB=$lt_RANLIB ++old_postinstall_cmds=$lt_old_postinstall_cmds ++old_postuninstall_cmds=$lt_old_postuninstall_cmds ++ ++# Whether to use a lock for old archive extraction. ++lock_old_archive_extraction=$lock_old_archive_extraction ++ ++# A C compiler. ++LTCC=$lt_CC ++ ++# LTCC compiler flags. ++LTCFLAGS=$lt_CFLAGS ++ ++# Take the output of nm and produce a listing of raw symbols and C names. ++global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe ++ ++# Transform the output of nm in a proper C declaration. ++global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl ++ ++# Transform the output of nm into a list of symbols to manually relocate. ++global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import ++ ++# Transform the output of nm in a C name address pair. ++global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address ++ ++# Transform the output of nm in a C name address pair when lib prefix is needed. ++global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix ++ ++# The name lister interface. ++nm_interface=$lt_lt_cv_nm_interface ++ ++# Specify filename containing input files for \$NM. ++nm_file_list_spec=$lt_nm_file_list_spec ++ ++# The root where to search for dependent libraries,and where our libraries should be installed. ++lt_sysroot=$lt_sysroot ++ ++# Command to truncate a binary pipe. ++lt_truncate_bin=$lt_lt_cv_truncate_bin ++ ++# The name of the directory that contains temporary libtool files. ++objdir=$objdir ++ ++# Used to examine libraries when file_magic_cmd begins with "file". ++MAGIC_CMD=$MAGIC_CMD ++ ++# Must we lock files when doing compilation? ++need_locks=$lt_need_locks ++ ++# Manifest tool. ++MANIFEST_TOOL=$lt_MANIFEST_TOOL ++ ++# Tool to manipulate archived DWARF debug symbol files on Mac OS X. ++DSYMUTIL=$lt_DSYMUTIL ++ ++# Tool to change global to local symbols on Mac OS X. ++NMEDIT=$lt_NMEDIT ++ ++# Tool to manipulate fat objects and archives on Mac OS X. ++LIPO=$lt_LIPO ++ ++# ldd/readelf like tool for Mach-O binaries on Mac OS X. ++OTOOL=$lt_OTOOL ++ ++# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. ++OTOOL64=$lt_OTOOL64 ++ ++# Old archive suffix (normally "a"). ++libext=$libext ++ ++# Shared library suffix (normally ".so"). ++shrext_cmds=$lt_shrext_cmds ++ ++# The commands to extract the exported symbol list from a shared archive. ++extract_expsyms_cmds=$lt_extract_expsyms_cmds ++ ++# Variables whose values should be saved in libtool wrapper scripts and ++# restored at link time. ++variables_saved_for_relink=$lt_variables_saved_for_relink ++ ++# Do we need the "lib" prefix for modules? ++need_lib_prefix=$need_lib_prefix ++ ++# Do we need a version for libraries? ++need_version=$need_version ++ ++# Library versioning type. ++version_type=$version_type ++ ++# Shared library runtime path variable. ++runpath_var=$runpath_var ++ ++# Shared library path variable. ++shlibpath_var=$shlibpath_var ++ ++# Is shlibpath searched before the hard-coded library search path? ++shlibpath_overrides_runpath=$shlibpath_overrides_runpath ++ ++# Format of library name prefix. ++libname_spec=$lt_libname_spec ++ ++# List of archive names. First name is the real one, the rest are links. ++# The last name is the one that the linker finds with -lNAME ++library_names_spec=$lt_library_names_spec ++ ++# The coded name of the library, if different from the real name. ++soname_spec=$lt_soname_spec ++ ++# Permission mode override for installation of shared libraries. ++install_override_mode=$lt_install_override_mode ++ ++# Command to use after installation of a shared archive. ++postinstall_cmds=$lt_postinstall_cmds ++ ++# Command to use after uninstallation of a shared archive. ++postuninstall_cmds=$lt_postuninstall_cmds ++ ++# Commands used to finish a libtool library installation in a directory. ++finish_cmds=$lt_finish_cmds ++ ++# As "finish_cmds", except a single script fragment to be evaled but ++# not shown. ++finish_eval=$lt_finish_eval ++ ++# Whether we should hardcode library paths into libraries. ++hardcode_into_libs=$hardcode_into_libs ++ ++# Compile-time system search path for libraries. ++sys_lib_search_path_spec=$lt_sys_lib_search_path_spec ++ ++# Detected run-time system search path for libraries. ++sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path ++ ++# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. ++configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path ++ ++# Whether dlopen is supported. ++dlopen_support=$enable_dlopen ++ ++# Whether dlopen of programs is supported. ++dlopen_self=$enable_dlopen_self ++ ++# Whether dlopen of statically linked programs is supported. ++dlopen_self_static=$enable_dlopen_self_static ++ ++# Commands to strip libraries. ++old_striplib=$lt_old_striplib ++striplib=$lt_striplib ++ ++ ++# The linker used to build libraries. ++LD=$lt_LD ++ ++# How to create reloadable object files. ++reload_flag=$lt_reload_flag ++reload_cmds=$lt_reload_cmds ++ ++# Commands used to build an old-style archive. ++old_archive_cmds=$lt_old_archive_cmds ++ ++# A language specific compiler. ++CC=$lt_compiler ++ ++# Is the compiler the GNU compiler? ++with_gcc=$GCC ++ ++# Compiler flag to turn off builtin functions. ++no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag ++ ++# Additional compiler flags for building library objects. ++pic_flag=$lt_lt_prog_compiler_pic ++ ++# How to pass a linker flag through the compiler. ++wl=$lt_lt_prog_compiler_wl ++ ++# Compiler flag to prevent dynamic linking. ++link_static_flag=$lt_lt_prog_compiler_static ++ ++# Does compiler simultaneously support -c and -o options? ++compiler_c_o=$lt_lt_cv_prog_compiler_c_o ++ ++# Whether or not to add -lc for building shared libraries. ++build_libtool_need_lc=$archive_cmds_need_lc ++ ++# Whether or not to disallow shared libs when runtime libs are static. ++allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes ++ ++# Compiler flag to allow reflexive dlopens. ++export_dynamic_flag_spec=$lt_export_dynamic_flag_spec ++ ++# Compiler flag to generate shared objects directly from archives. ++whole_archive_flag_spec=$lt_whole_archive_flag_spec ++ ++# Whether the compiler copes with passing no objects directly. ++compiler_needs_object=$lt_compiler_needs_object ++ ++# Create an old-style archive from a shared archive. ++old_archive_from_new_cmds=$lt_old_archive_from_new_cmds ++ ++# Create a temporary old-style archive to link instead of a shared archive. ++old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds ++ ++# Commands used to build a shared archive. ++archive_cmds=$lt_archive_cmds ++archive_expsym_cmds=$lt_archive_expsym_cmds ++ ++# Commands used to build a loadable module if different from building ++# a shared archive. ++module_cmds=$lt_module_cmds ++module_expsym_cmds=$lt_module_expsym_cmds ++ ++# Whether we are building with GNU ld or not. ++with_gnu_ld=$lt_with_gnu_ld ++ ++# Flag that allows shared libraries with undefined symbols to be built. ++allow_undefined_flag=$lt_allow_undefined_flag ++ ++# Flag that enforces no undefined symbols. ++no_undefined_flag=$lt_no_undefined_flag ++ ++# Flag to hardcode \$libdir into a binary during linking. ++# This must work even if \$libdir does not exist ++hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec ++ ++# Whether we need a single "-rpath" flag with a separated argument. ++hardcode_libdir_separator=$lt_hardcode_libdir_separator ++ ++# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes ++# DIR into the resulting binary. ++hardcode_direct=$hardcode_direct ++ ++# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes ++# DIR into the resulting binary and the resulting library dependency is ++# "absolute",i.e impossible to change by setting \$shlibpath_var if the ++# library is relocated. ++hardcode_direct_absolute=$hardcode_direct_absolute ++ ++# Set to "yes" if using the -LDIR flag during linking hardcodes DIR ++# into the resulting binary. ++hardcode_minus_L=$hardcode_minus_L ++ ++# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR ++# into the resulting binary. ++hardcode_shlibpath_var=$hardcode_shlibpath_var ++ ++# Set to "yes" if building a shared library automatically hardcodes DIR ++# into the library and all subsequent libraries and executables linked ++# against it. ++hardcode_automatic=$hardcode_automatic ++ ++# Set to yes if linker adds runtime paths of dependent libraries ++# to runtime path list. ++inherit_rpath=$inherit_rpath ++ ++# Whether libtool must link a program against all its dependency libraries. ++link_all_deplibs=$link_all_deplibs ++ ++# Set to "yes" if exported symbols are required. ++always_export_symbols=$always_export_symbols ++ ++# The commands to list exported symbols. ++export_symbols_cmds=$lt_export_symbols_cmds ++ ++# Symbols that should not be listed in the preloaded symbols. ++exclude_expsyms=$lt_exclude_expsyms ++ ++# Symbols that must always be exported. ++include_expsyms=$lt_include_expsyms ++ ++# Commands necessary for linking programs (against libraries) with templates. ++prelink_cmds=$lt_prelink_cmds ++ ++# Commands necessary for finishing linking programs. ++postlink_cmds=$lt_postlink_cmds ++ ++# Specify filename containing input files. ++file_list_spec=$lt_file_list_spec ++ ++# How to hardcode a shared library path into an executable. ++hardcode_action=$hardcode_action ++ ++# ### END LIBTOOL CONFIG ++ ++_LT_EOF ++ ++ cat <<'_LT_EOF' >> "$cfgfile" ++ ++# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE ++ ++# func_munge_path_list VARIABLE PATH ++# ----------------------------------- ++# VARIABLE is name of variable containing _space_ separated list of ++# directories to be munged by the contents of PATH, which is string ++# having a format: ++# "DIR[:DIR]:" ++# string "DIR[ DIR]" will be prepended to VARIABLE ++# ":DIR[:DIR]" ++# string "DIR[ DIR]" will be appended to VARIABLE ++# "DIRP[:DIRP]::[DIRA:]DIRA" ++# string "DIRP[ DIRP]" will be prepended to VARIABLE and string ++# "DIRA[ DIRA]" will be appended to VARIABLE ++# "DIR[:DIR]" ++# VARIABLE will be replaced by "DIR[ DIR]" ++func_munge_path_list () ++{ ++ case x$2 in ++ x) ++ ;; ++ *:) ++ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" ++ ;; ++ x:*) ++ eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" ++ ;; ++ *::*) ++ eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" ++ eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" ++ ;; ++ *) ++ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" ++ ;; ++ esac ++} ++ ++ ++# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. ++func_cc_basename () ++{ ++ for cc_temp in $*""; do ++ case $cc_temp in ++ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; ++ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; ++ \-*) ;; ++ *) break;; ++ esac ++ done ++ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` ++} ++ ++ ++# ### END FUNCTIONS SHARED WITH CONFIGURE ++ ++_LT_EOF ++ ++ case $host_os in ++ aix3*) ++ cat <<\_LT_EOF >> "$cfgfile" ++# AIX sometimes has problems with the GCC collect2 program. For some ++# reason, if we set the COLLECT_NAMES environment variable, the problems ++# vanish in a puff of smoke. ++if test set != "${COLLECT_NAMES+set}"; then ++ COLLECT_NAMES= ++ export COLLECT_NAMES ++fi ++_LT_EOF ++ ;; ++ esac ++ ++ ++ltmain=$ac_aux_dir/ltmain.sh ++ ++ ++ # We use sed instead of cat because bash on DJGPP gets confused if ++ # if finds mixed CR/LF and LF-only lines. Since sed operates in ++ # text mode, it properly converts lines to CR/LF. This bash problem ++ # is reportedly fixed, but why not run on old versions too? ++ sed '$q' "$ltmain" >> "$cfgfile" \ ++ || (rm -f "$cfgfile"; exit 1) ++ ++ mv -f "$cfgfile" "$ofile" || ++ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") ++ chmod +x "$ofile" ++ ++ ;; ++ ++ 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 ++ ++ ++ +diff --color -urN a/crlibm-1.0beta4/crlibm_config.h.in b/crlibm-1.0beta4/crlibm_config.h.in +--- a/crlibm-1.0beta4/crlibm_config.h.in 2024-12-06 13:32:36 ++++ b/crlibm-1.0beta4/crlibm_config.h.in 2024-12-06 13:33:15 +@@ -83,9 +83,6 @@ + /* Define to 1 if you have the header file. */ + #undef HAVE_MATHLIB_H + +-/* Define to 1 if you have the header file. */ +-#undef HAVE_MEMORY_H +- + /* Define to 1 if you have the header file. */ + #undef HAVE_MPFR_H + +@@ -95,6 +92,9 @@ + /* Define to 1 if you have the header file. */ + #undef HAVE_STDINT_H + ++/* Define to 1 if you have the header file. */ ++#undef HAVE_STDIO_H ++ + /* Define to 1 if you have the header file. */ + #undef HAVE_STDLIB_H + +@@ -146,7 +146,9 @@ + /* The size of `int', as computed by sizeof. */ + #undef SIZEOF_INT + +-/* Define to 1 if you have the ANSI C header files. */ ++/* Define to 1 if all of the C90 standard headers exist (not just the ones ++ required in a freestanding environment). This macro is provided for ++ backward compatibility; new code need not use it. */ + #undef STDC_HEADERS + + /* Version number of package */ +diff --color -urN a/crlibm-1.0beta4/scs_lib/Makefile.in b/crlibm-1.0beta4/scs_lib/Makefile.in +--- a/crlibm-1.0beta4/scs_lib/Makefile.in 2024-12-06 13:32:36 ++++ b/crlibm-1.0beta4/scs_lib/Makefile.in 2024-12-06 13:33:15 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15.1 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2017 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -158,7 +158,12 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) + depcomp = $(SHELL) $(top_srcdir)/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/addition_scs.Plo \ ++ ./$(DEPDIR)/division_scs.Plo ./$(DEPDIR)/double2scs.Plo \ ++ ./$(DEPDIR)/multiplication_scs.Plo ./$(DEPDIR)/print_scs.Plo \ ++ ./$(DEPDIR)/scs2double.Plo ./$(DEPDIR)/scs2mpfr.Plo \ ++ ./$(DEPDIR)/scs_private.Plo ./$(DEPDIR)/zero_scs.Plo + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -203,8 +208,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp AUTHORS \ + COPYING ChangeLog INSTALL NEWS README TODO + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +@@ -219,8 +222,9 @@ + CC = @CC@ + CCDEPMODE = @CCDEPMODE@ + CFLAGS = @CFLAGS@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CYGPATH_W = @CYGPATH_W@ + DEFS = @DEFS@ + DEPDIR = @DEPDIR@ +@@ -231,6 +235,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + FGREP = @FGREP@ + GREP = @GREP@ +@@ -316,6 +321,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -356,8 +362,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + + $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) +@@ -413,16 +419,22 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addition_scs.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/division_scs.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/double2scs.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multiplication_scs.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/print_scs.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scs2double.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scs2mpfr.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scs_private.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zero_scs.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addition_scs.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/division_scs.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/double2scs.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multiplication_scs.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/print_scs.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scs2double.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scs2mpfr.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scs_private.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zero_scs.Plo@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@@ -522,8 +534,10 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -596,7 +610,15 @@ + mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/addition_scs.Plo ++ -rm -f ./$(DEPDIR)/division_scs.Plo ++ -rm -f ./$(DEPDIR)/double2scs.Plo ++ -rm -f ./$(DEPDIR)/multiplication_scs.Plo ++ -rm -f ./$(DEPDIR)/print_scs.Plo ++ -rm -f ./$(DEPDIR)/scs2double.Plo ++ -rm -f ./$(DEPDIR)/scs2mpfr.Plo ++ -rm -f ./$(DEPDIR)/scs_private.Plo ++ -rm -f ./$(DEPDIR)/zero_scs.Plo + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -642,7 +664,15 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/addition_scs.Plo ++ -rm -f ./$(DEPDIR)/division_scs.Plo ++ -rm -f ./$(DEPDIR)/double2scs.Plo ++ -rm -f ./$(DEPDIR)/multiplication_scs.Plo ++ -rm -f ./$(DEPDIR)/print_scs.Plo ++ -rm -f ./$(DEPDIR)/scs2double.Plo ++ -rm -f ./$(DEPDIR)/scs2mpfr.Plo ++ -rm -f ./$(DEPDIR)/scs_private.Plo ++ -rm -f ./$(DEPDIR)/zero_scs.Plo + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -663,9 +693,9 @@ + + .MAKE: install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ +- clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \ +- ctags-am distclean distclean-compile distclean-generic \ ++.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ ++ clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ ++ ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ +diff --color -urN a/crlibm-1.0beta4/tests/Makefile.in b/crlibm-1.0beta4/tests/Makefile.in +--- a/crlibm-1.0beta4/tests/Makefile.in 2024-12-06 13:32:36 ++++ b/crlibm-1.0beta4/tests/Makefile.in 2024-12-06 13:33:15 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15.1 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2017 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -173,7 +173,13 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) + depcomp = $(SHELL) $(top_srcdir)/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/blind_test.Po \ ++ ./$(DEPDIR)/generate_test_vectors.Po \ ++ ./$(DEPDIR)/rlibm_blindtest.Po \ ++ ./$(DEPDIR)/soak_test-interval.Po ./$(DEPDIR)/soak_test.Po \ ++ ./$(DEPDIR)/test_common.Po ./$(DEPDIR)/test_perf-interval.Po \ ++ ./$(DEPDIR)/test_perf.Po ./$(DEPDIR)/test_val.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -225,8 +231,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -409,6 +413,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -445,8 +450,9 @@ + CC = @CC@ + CCDEPMODE = @CCDEPMODE@ + CFLAGS = @CFLAGS@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CYGPATH_W = @CYGPATH_W@ + DEFS = @DEFS@ + DEPDIR = @DEPDIR@ +@@ -457,6 +463,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + FGREP = @FGREP@ + GREP = @GREP@ +@@ -542,6 +549,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -591,8 +599,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + + $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) +@@ -691,16 +699,22 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blind_test.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/generate_test_vectors.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rlibm_blindtest.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soak_test-interval.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soak_test.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_common.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_perf-interval.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_perf.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_val.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blind_test.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/generate_test_vectors.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rlibm_blindtest.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soak_test-interval.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soak_test.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_common.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_perf-interval.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_perf.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_val.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@@ -887,7 +901,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -900,7 +914,7 @@ + fi; \ + $$success || exit 1 + +-check-TESTS: ++check-TESTS: + @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list + @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) +@@ -1082,8 +1096,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1160,7 +1176,15 @@ + clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/blind_test.Po ++ -rm -f ./$(DEPDIR)/generate_test_vectors.Po ++ -rm -f ./$(DEPDIR)/rlibm_blindtest.Po ++ -rm -f ./$(DEPDIR)/soak_test-interval.Po ++ -rm -f ./$(DEPDIR)/soak_test.Po ++ -rm -f ./$(DEPDIR)/test_common.Po ++ -rm -f ./$(DEPDIR)/test_perf-interval.Po ++ -rm -f ./$(DEPDIR)/test_perf.Po ++ -rm -f ./$(DEPDIR)/test_val.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1206,7 +1230,15 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/blind_test.Po ++ -rm -f ./$(DEPDIR)/generate_test_vectors.Po ++ -rm -f ./$(DEPDIR)/rlibm_blindtest.Po ++ -rm -f ./$(DEPDIR)/soak_test-interval.Po ++ -rm -f ./$(DEPDIR)/soak_test.Po ++ -rm -f ./$(DEPDIR)/test_common.Po ++ -rm -f ./$(DEPDIR)/test_perf-interval.Po ++ -rm -f ./$(DEPDIR)/test_perf.Po ++ -rm -f ./$(DEPDIR)/test_val.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1227,20 +1259,20 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ +- clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \ +- ctags ctags-am distclean distclean-compile distclean-generic \ +- distclean-libtool distclean-tags distdir dvi dvi-am html \ +- html-am info info-am install install-am install-binPROGRAMS \ +- install-data install-data-am install-dvi install-dvi-am \ +- install-exec install-exec-am install-html install-html-am \ +- install-info install-info-am install-man install-pdf \ +- install-pdf-am install-ps install-ps-am install-strip \ +- installcheck installcheck-am installdirs maintainer-clean \ +- maintainer-clean-generic mostlyclean mostlyclean-compile \ +- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ +- recheck tags tags-am uninstall uninstall-am \ +- uninstall-binPROGRAMS ++.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \ ++ check-am clean clean-binPROGRAMS clean-generic clean-libtool \ ++ cscopelist-am ctags ctags-am distclean distclean-compile \ ++ distclean-generic distclean-libtool distclean-tags distdir dvi \ ++ dvi-am html html-am info info-am install install-am \ ++ install-binPROGRAMS install-data install-data-am install-dvi \ ++ install-dvi-am install-exec install-exec-am install-html \ ++ install-html-am install-info install-info-am install-man \ ++ install-pdf install-pdf-am install-ps install-ps-am \ ++ install-strip installcheck installcheck-am installdirs \ ++ maintainer-clean maintainer-clean-generic mostlyclean \ ++ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ ++ pdf pdf-am ps ps-am recheck tags tags-am uninstall \ ++ uninstall-am uninstall-binPROGRAMS + + .PRECIOUS: Makefile + diff --git a/src/amuse/community/mesa_r15140/patches/fpx3_deps.patch b/src/amuse_mesa_r15140/patches/fpx3_deps.patch similarity index 100% rename from src/amuse/community/mesa_r15140/patches/fpx3_deps.patch rename to src/amuse_mesa_r15140/patches/fpx3_deps.patch diff --git a/src/amuse_mesa_r15140/patches/hdf5.patch b/src/amuse_mesa_r15140/patches/hdf5.patch new file mode 100644 index 0000000000..85b243dfaa --- /dev/null +++ b/src/amuse_mesa_r15140/patches/hdf5.patch @@ -0,0 +1,42131 @@ +diff --color -urN a/hdf5-1.12.0/Makefile.in b/hdf5-1.12.0/Makefile.in +--- a/hdf5-1.12.0/Makefile.in 2020-02-29 00:52:22 ++++ b/hdf5-1.12.0/Makefile.in 2024-12-06 13:30:23 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -183,7 +183,7 @@ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) + AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ +- cscope distdir dist dist-all distcheck ++ cscope distdir distdir-am dist dist-all distcheck + am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) + # Read a list of newline-separated strings from the standard input, + # and print each of them once, without duplicates. Input order is +@@ -201,9 +201,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags +-CSCOPE = cscope + am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/bin/compile \ + $(top_srcdir)/bin/config.guess $(top_srcdir)/bin/config.sub \ + $(top_srcdir)/bin/install-sh $(top_srcdir)/bin/ltmain.sh \ +@@ -247,6 +244,8 @@ + DIST_ARCHIVES = $(distdir).tar.gz + GZIP_ENV = --best + DIST_TARGETS = dist-gzip ++# Exists only to be overridden by the user if desired. ++AM_DISTCHECK_DVI_TARGET = dvi + distuninstallcheck_listfiles = find . -type f -print + am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' +@@ -286,8 +285,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -307,6 +307,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -512,6 +513,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -632,8 +634,8 @@ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(am__empty): + +@@ -757,8 +759,10 @@ + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + $(am__remove_distdir) + test -d "$(distdir)" || mkdir "$(distdir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +@@ -823,7 +827,7 @@ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r "$(distdir)" + dist-gzip: distdir +- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz ++ tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz + $(am__post_remove_distdir) + + dist-bzip2: distdir +@@ -838,6 +842,10 @@ + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(am__post_remove_distdir) + ++dist-zstd: distdir ++ tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst ++ $(am__post_remove_distdir) ++ + dist-tarZ: distdir + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 +@@ -849,7 +857,7 @@ + @echo WARNING: "Support for shar distribution archives is" \ + "deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 +- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz ++ shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz + $(am__post_remove_distdir) + + dist-zip: distdir +@@ -867,7 +875,7 @@ + distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ +- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ ++ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lz*) \ +@@ -877,9 +885,11 @@ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ +- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ ++ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ ++ *.tar.zst*) \ ++ zstd -dc $(distdir).tar.zst | $(am__untar) ;;\ + esac + chmod -R a-w $(distdir) + chmod u+w $(distdir) +@@ -895,7 +905,7 @@ + $(DISTCHECK_CONFIGURE_FLAGS) \ + --srcdir=../.. --prefix="$$dc_install_base" \ + && $(MAKE) $(AM_MAKEFLAGS) \ +- && $(MAKE) $(AM_MAKEFLAGS) dvi \ ++ && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ +@@ -1057,18 +1067,18 @@ + am--refresh check check-am clean clean-cscope clean-generic \ + clean-libtool cscope cscopelist-am ctags ctags-am dist \ + dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ +- dist-xz dist-zip distcheck distclean distclean-generic \ +- distclean-libtool distclean-tags distcleancheck distdir \ +- distuninstallcheck dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ +- install-dvi-am install-exec install-exec-am install-html \ +- install-html-am install-info install-info-am install-man \ +- install-pdf install-pdf-am install-ps install-ps-am \ +- install-strip installcheck installcheck-am installcheck-local \ +- installdirs installdirs-am maintainer-clean \ +- maintainer-clean-generic mostlyclean mostlyclean-generic \ +- mostlyclean-libtool mostlyclean-local pdf pdf-am ps ps-am tags \ +- tags-am uninstall uninstall-am ++ dist-xz dist-zip dist-zstd distcheck distclean \ ++ distclean-generic distclean-libtool distclean-tags \ ++ distcleancheck distdir distuninstallcheck dvi dvi-am html \ ++ html-am info info-am install install-am install-data \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installcheck-local installdirs installdirs-am \ ++ maintainer-clean maintainer-clean-generic mostlyclean \ ++ mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ ++ pdf-am ps ps-am tags tags-am uninstall uninstall-am + + .PRECIOUS: Makefile + +diff --color -urN a/hdf5-1.12.0/aclocal.m4 b/hdf5-1.12.0/aclocal.m4 +--- a/hdf5-1.12.0/aclocal.m4 2020-02-29 00:52:19 ++++ b/hdf5-1.12.0/aclocal.m4 2024-12-06 13:30:21 +@@ -1,6 +1,6 @@ +-# generated automatically by aclocal 1.15 -*- Autoconf -*- ++# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +-# Copyright (C) 1996-2014 Free Software Foundation, Inc. ++# Copyright (C) 1996-2021 Free Software Foundation, Inc. + + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -14,13 +14,13 @@ + m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) + m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, +-[m4_warning([this file was generated for autoconf 2.69. ++m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],, ++[m4_warning([this file was generated for autoconf 2.71. + You have another version of autoconf. It may work, but is not guaranteed to. + If you have problems, you may need to regenerate the build system entirely. + To do so, use the procedure documented by the package, typically 'autoreconf'.])]) + +-# Copyright (C) 2002-2014 Free Software Foundation, Inc. ++# Copyright (C) 2002-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -32,10 +32,10 @@ + # generated from the m4 files accompanying Automake X.Y. + # (This private macro should not be called outside this file.) + AC_DEFUN([AM_AUTOMAKE_VERSION], +-[am__api_version='1.15' ++[am__api_version='1.16' + dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to + dnl require some minimum version. Point them to the right macro. +-m4_if([$1], [1.15], [], ++m4_if([$1], [1.16.5], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl + ]) + +@@ -51,14 +51,14 @@ + # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. + # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. + AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +-[AM_AUTOMAKE_VERSION([1.15])dnl ++[AM_AUTOMAKE_VERSION([1.16.5])dnl + m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl + _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) + + # AM_AUX_DIR_EXPAND -*- Autoconf -*- + +-# Copyright (C) 2001-2014 Free Software Foundation, Inc. ++# Copyright (C) 2001-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -110,7 +110,7 @@ + + # AM_CONDITIONAL -*- Autoconf -*- + +-# Copyright (C) 1997-2014 Free Software Foundation, Inc. ++# Copyright (C) 1997-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -141,7 +141,7 @@ + Usually this means the macro was only invoked conditionally.]]) + fi])]) + +-# Copyright (C) 1999-2014 Free Software Foundation, Inc. ++# Copyright (C) 1999-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -332,13 +332,12 @@ + + # Generate code to set up dependency tracking. -*- Autoconf -*- + +-# Copyright (C) 1999-2014 Free Software Foundation, Inc. ++# Copyright (C) 1999-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. + +- + # _AM_OUTPUT_DEPENDENCY_COMMANDS + # ------------------------------ + AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +@@ -346,49 +345,43 @@ + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. +- case $CONFIG_FILES in +- *\'*) eval set x "$CONFIG_FILES" ;; +- *) set x $CONFIG_FILES ;; +- esac ++ # TODO: see whether this extra hack can be removed once we start ++ # requiring Autoconf 2.70 or later. ++ AS_CASE([$CONFIG_FILES], ++ [*\'*], [eval set x "$CONFIG_FILES"], ++ [*], [set x $CONFIG_FILES]) + shift +- for mf ++ # Used to flag and report bootstrapping failures. ++ am_rc=0 ++ for am_mf + do + # Strip MF so we end up with the name of the file. +- mf=`echo "$mf" | sed -e 's/:.*$//'` +- # Check whether this is an Automake generated Makefile or not. +- # We used to match only the files named 'Makefile.in', but +- # some people rename them; so instead we look at the file content. +- # Grep'ing the first line is not enough: some people post-process +- # each Makefile.in and add a new line on top of each file to say so. +- # Grep'ing the whole file is not good either: AIX grep has a line ++ am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` ++ # Check whether this is an Automake generated Makefile which includes ++ # dependency-tracking related rules and includes. ++ # Grep'ing the whole file directly is not great: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. +- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then +- dirpart=`AS_DIRNAME("$mf")` +- else +- continue +- fi +- # Extract the definition of DEPDIR, am__include, and am__quote +- # from the Makefile without running 'make'. +- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` +- test -z "$DEPDIR" && continue +- am__include=`sed -n 's/^am__include = //p' < "$mf"` +- test -z "$am__include" && continue +- am__quote=`sed -n 's/^am__quote = //p' < "$mf"` +- # Find all dependency output files, they are included files with +- # $(DEPDIR) in their names. We invoke sed twice because it is the +- # simplest approach to changing $(DEPDIR) to its actual value in the +- # expansion. +- for file in `sed -n " +- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ +- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do +- # Make sure the directory exists. +- test -f "$dirpart/$file" && continue +- fdir=`AS_DIRNAME(["$file"])` +- AS_MKDIR_P([$dirpart/$fdir]) +- # echo "creating $dirpart/$file" +- echo '# dummy' > "$dirpart/$file" +- done ++ sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ ++ || continue ++ am_dirpart=`AS_DIRNAME(["$am_mf"])` ++ am_filepart=`AS_BASENAME(["$am_mf"])` ++ AM_RUN_LOG([cd "$am_dirpart" \ ++ && sed -e '/# am--include-marker/d' "$am_filepart" \ ++ | $MAKE -f - am--depfiles]) || am_rc=$? + done ++ if test $am_rc -ne 0; then ++ AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments ++ for automatic dependency tracking. If GNU make was not used, consider ++ re-running the configure script with MAKE="gmake" (or whatever is ++ necessary). You can also try re-running configure with the ++ '--disable-dependency-tracking' option to at least be able to build ++ the package (albeit without support for automatic dependency tracking).]) ++ fi ++ AS_UNSET([am_dirpart]) ++ AS_UNSET([am_filepart]) ++ AS_UNSET([am_mf]) ++ AS_UNSET([am_rc]) ++ rm -f conftest-deps.mk + } + ])# _AM_OUTPUT_DEPENDENCY_COMMANDS + +@@ -397,18 +390,17 @@ + # ----------------------------- + # This macro should only be invoked once -- use via AC_REQUIRE. + # +-# This code is only required when automatic dependency tracking +-# is enabled. FIXME. This creates each '.P' file that we will +-# need in order to bootstrap the dependency handling code. ++# This code is only required when automatic dependency tracking is enabled. ++# This creates each '.Po' and '.Plo' makefile fragment that we'll need in ++# order to bootstrap the dependency handling code. + AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], + [AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], +- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +-]) ++ [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) + + # Do all the work for Automake. -*- Autoconf -*- + +-# Copyright (C) 1996-2014 Free Software Foundation, Inc. ++# Copyright (C) 1996-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -436,6 +428,10 @@ + # release and drop the old call support. + AC_DEFUN([AM_INIT_AUTOMAKE], + [AC_PREREQ([2.65])dnl ++m4_ifdef([_$0_ALREADY_INIT], ++ [m4_fatal([$0 expanded multiple times ++]m4_defn([_$0_ALREADY_INIT]))], ++ [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl + dnl Autoconf wants to disallow AM_ names. We explicitly allow + dnl the ones we care about. + m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +@@ -472,7 +468,7 @@ + [_AM_SET_OPTIONS([$1])dnl + dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. + m4_if( +- m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), ++ m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl +@@ -495,8 +491,8 @@ + AC_REQUIRE([AC_PROG_MKDIR_P])dnl + # For better backward compatibility. To be removed once Automake 1.9.x + # dies out for good. For more background, see: +-# +-# ++# ++# + AC_SUBST([mkdir_p], ['$(MKDIR_P)']) + # We need awk for the "check" target (and possibly the TAP driver). The + # system "awk" is bad on some platforms. +@@ -524,6 +520,20 @@ + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl + ]) ++# Variables for tags utilities; see am/tags.am ++if test -z "$CTAGS"; then ++ CTAGS=ctags ++fi ++AC_SUBST([CTAGS]) ++if test -z "$ETAGS"; then ++ ETAGS=etags ++fi ++AC_SUBST([ETAGS]) ++if test -z "$CSCOPE"; then ++ CSCOPE=cscope ++fi ++AC_SUBST([CSCOPE]) ++ + AC_REQUIRE([AM_SILENT_RULES])dnl + dnl The testsuite driver may need to know about EXEEXT, so add the + dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This +@@ -563,7 +573,7 @@ + Aborting the configuration process, to ensure you take notice of the issue. + + You can download and install GNU coreutils to get an 'rm' implementation +-that behaves properly: . ++that behaves properly: . + + If you want to complete the configuration process using your problematic + 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +@@ -605,7 +615,7 @@ + done + echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) + +-# Copyright (C) 2001-2014 Free Software Foundation, Inc. ++# Copyright (C) 2001-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -626,7 +636,7 @@ + fi + AC_SUBST([install_sh])]) + +-# Copyright (C) 2003-2014 Free Software Foundation, Inc. ++# Copyright (C) 2003-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -648,7 +658,7 @@ + # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- + # From Jim Meyering + +-# Copyright (C) 1996-2014 Free Software Foundation, Inc. ++# Copyright (C) 1996-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -683,7 +693,7 @@ + + # Check to see how 'make' treats includes. -*- Autoconf -*- + +-# Copyright (C) 2001-2014 Free Software Foundation, Inc. ++# Copyright (C) 2001-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -691,49 +701,42 @@ + + # AM_MAKE_INCLUDE() + # ----------------- +-# Check to see how make treats includes. ++# Check whether make has an 'include' directive that can support all ++# the idioms we need for our automatic dependency tracking code. + AC_DEFUN([AM_MAKE_INCLUDE], +-[am_make=${MAKE-make} +-cat > confinc << 'END' ++[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) ++cat > confinc.mk << 'END' + am__doit: +- @echo this is the am__doit target ++ @echo this is the am__doit target >confinc.out + .PHONY: am__doit + END +-# If we don't find an include directive, just comment out the code. +-AC_MSG_CHECKING([for style of include used by $am_make]) + am__include="#" + am__quote= +-_am_result=none +-# First try GNU make style include. +-echo "include confinc" > confmf +-# Ignore all kinds of additional output from 'make'. +-case `$am_make -s -f confmf 2> /dev/null` in #( +-*the\ am__doit\ target*) +- am__include=include +- am__quote= +- _am_result=GNU +- ;; +-esac +-# Now try BSD make style include. +-if test "$am__include" = "#"; then +- echo '.include "confinc"' > confmf +- case `$am_make -s -f confmf 2> /dev/null` in #( +- *the\ am__doit\ target*) +- am__include=.include +- am__quote="\"" +- _am_result=BSD +- ;; +- esac +-fi +-AC_SUBST([am__include]) +-AC_SUBST([am__quote]) +-AC_MSG_RESULT([$_am_result]) +-rm -f confinc confmf +-]) ++# BSD make does it like this. ++echo '.include "confinc.mk" # ignored' > confmf.BSD ++# Other make implementations (GNU, Solaris 10, AIX) do it like this. ++echo 'include confinc.mk # ignored' > confmf.GNU ++_am_result=no ++for s in GNU BSD; do ++ AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) ++ AS_CASE([$?:`cat confinc.out 2>/dev/null`], ++ ['0:this is the am__doit target'], ++ [AS_CASE([$s], ++ [BSD], [am__include='.include' am__quote='"'], ++ [am__include='include' am__quote=''])]) ++ if test "$am__include" != "#"; then ++ _am_result="yes ($s style)" ++ break ++ fi ++done ++rm -f confinc.* confmf.* ++AC_MSG_RESULT([${_am_result}]) ++AC_SUBST([am__include])]) ++AC_SUBST([am__quote])]) + + # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +-# Copyright (C) 1997-2014 Free Software Foundation, Inc. ++# Copyright (C) 1997-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -754,12 +757,7 @@ + [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl + AC_REQUIRE_AUX_FILE([missing])dnl + if test x"${MISSING+set}" != xset; then +- case $am_aux_dir in +- *\ * | *\ *) +- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; +- *) +- MISSING="\${SHELL} $am_aux_dir/missing" ;; +- esac ++ MISSING="\${SHELL} '$am_aux_dir/missing'" + fi + # Use eval to expand $SHELL + if eval "$MISSING --is-lightweight"; then +@@ -772,7 +770,7 @@ + + # Helper functions for option handling. -*- Autoconf -*- + +-# Copyright (C) 2001-2014 Free Software Foundation, Inc. ++# Copyright (C) 2001-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -801,7 +799,7 @@ + AC_DEFUN([_AM_IF_OPTION], + [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +-# Copyright (C) 1999-2014 Free Software Foundation, Inc. ++# Copyright (C) 1999-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -848,7 +846,7 @@ + # For backward compatibility. + AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) + +-# Copyright (C) 2001-2014 Free Software Foundation, Inc. ++# Copyright (C) 2001-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -867,7 +865,7 @@ + + # Check to make sure that the build environment is sane. -*- Autoconf -*- + +-# Copyright (C) 1996-2014 Free Software Foundation, Inc. ++# Copyright (C) 1996-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -948,7 +946,7 @@ + rm -f conftest.file + ]) + +-# Copyright (C) 2009-2014 Free Software Foundation, Inc. ++# Copyright (C) 2009-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -1008,7 +1006,7 @@ + _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl + ]) + +-# Copyright (C) 2001-2014 Free Software Foundation, Inc. ++# Copyright (C) 2001-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -1036,7 +1034,7 @@ + INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +-# Copyright (C) 2006-2014 Free Software Foundation, Inc. ++# Copyright (C) 2006-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -1055,7 +1053,7 @@ + + # Check how to create a tarball. -*- Autoconf -*- + +-# Copyright (C) 2004-2014 Free Software Foundation, Inc. ++# Copyright (C) 2004-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +diff --color -urN a/hdf5-1.12.0/bin/Makefile.in b/hdf5-1.12.0/bin/Makefile.in +--- a/hdf5-1.12.0/bin/Makefile.in 2020-02-29 00:52:22 ++++ b/hdf5-1.12.0/bin/Makefile.in 2024-12-06 13:30:23 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -336,6 +336,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -356,9 +357,8 @@ + esac + am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/h5cc.in \ + $(top_srcdir)/config/commence.am \ +- $(top_srcdir)/config/conclude.am COPYING README compile \ +- config.guess config.sub install-sh ltmain.sh missing \ +- test-driver ++ $(top_srcdir)/config/conclude.am COPYING compile config.guess \ ++ config.sub depcomp install-sh ltmain.sh missing test-driver + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + ADD_PARALLEL_FILES = @ADD_PARALLEL_FILES@ +@@ -398,8 +398,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -419,6 +420,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -624,6 +626,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -745,8 +748,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -915,7 +918,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -952,8 +955,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/bin/config.guess b/hdf5-1.12.0/bin/config.guess +--- a/hdf5-1.12.0/bin/config.guess 2020-02-29 00:52:21 ++++ b/hdf5-1.12.0/bin/config.guess 2024-12-06 13:30:08 +@@ -1,12 +1,14 @@ + #! /bin/sh + # Attempt to guess a canonical system name. +-# Copyright 1992-2014 Free Software Foundation, Inc. ++# Copyright 1992-2024 Free Software Foundation, Inc. + +-timestamp='2014-11-04' ++# shellcheck disable=SC2006,SC2268 # see below for rationale + ++timestamp='2024-01-01' ++ + # This file is free software; you can redistribute it and/or modify it + # under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 3 of the License, or ++# the Free Software Foundation, either version 3 of the License, or + # (at your option) any later version. + # + # This program is distributed in the hope that it will be useful, but +@@ -15,7 +17,7 @@ + # General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, see . ++# along with this program; if not, see . + # + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a +@@ -27,19 +29,27 @@ + # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. + # + # You can get the latest version of this script from: +-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD ++# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess + # + # Please send patches to . + + ++# The "shellcheck disable" line above the timestamp inhibits complaints ++# about features and limitations of the classic Bourne shell that were ++# superseded or lifted in POSIX. However, this script identifies a wide ++# variety of pre-POSIX systems that do not have POSIX shells at all, and ++# even some reasonably current systems (Solaris 10 as case-in-point) still ++# have a pre-POSIX /bin/sh. ++ ++ + me=`echo "$0" | sed -e 's,.*/,,'` + + usage="\ + Usage: $0 [OPTION] + +-Output the configuration name of the system \`$me' is run on. ++Output the configuration name of the system '$me' is run on. + +-Operation modes: ++Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit +@@ -50,13 +60,13 @@ + GNU config.guess ($timestamp) + + Originally written by Per Bothner. +-Copyright 1992-2014 Free Software Foundation, Inc. ++Copyright 1992-2024 Free Software Foundation, Inc. + + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + + help=" +-Try \`$me --help' for more information." ++Try '$me --help' for more information." + + # Parse command line + while test $# -gt 0 ; do +@@ -84,78 +94,109 @@ + exit 1 + fi + +-trap 'exit 1' 1 2 15 ++# Just in case it came from the environment. ++GUESS= + + # CC_FOR_BUILD -- compiler used by this script. Note that the use of a + # compiler to aid in system detection is discouraged as it requires + # temporary files to be created and, as you can see below, it is a + # headache to deal with in a portable fashion. + +-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +-# use `HOST_CC' if defined, but it is deprecated. ++# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still ++# use 'HOST_CC' if defined, but it is deprecated. + + # Portable tmp directory creation inspired by the Autoconf team. + +-set_cc_for_build=' +-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +-: ${TMPDIR=/tmp} ; +- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || +- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || +- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || +- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +-dummy=$tmp/dummy ; +-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +-case $CC_FOR_BUILD,$HOST_CC,$CC in +- ,,) echo "int x;" > $dummy.c ; +- for c in cc gcc c89 c99 ; do +- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then +- CC_FOR_BUILD="$c"; break ; +- fi ; +- done ; +- if test x"$CC_FOR_BUILD" = x ; then +- CC_FOR_BUILD=no_compiler_found ; +- fi +- ;; +- ,,*) CC_FOR_BUILD=$CC ;; +- ,*,*) CC_FOR_BUILD=$HOST_CC ;; +-esac ; set_cc_for_build= ;' ++tmp= ++# shellcheck disable=SC2172 ++trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 + ++set_cc_for_build() { ++ # prevent multiple calls if $tmp is already set ++ test "$tmp" && return 0 ++ : "${TMPDIR=/tmp}" ++ # shellcheck disable=SC2039,SC3028 ++ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || ++ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || ++ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || ++ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ++ dummy=$tmp/dummy ++ case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in ++ ,,) echo "int x;" > "$dummy.c" ++ for driver in cc gcc c89 c99 ; do ++ if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then ++ CC_FOR_BUILD=$driver ++ break ++ fi ++ done ++ if test x"$CC_FOR_BUILD" = x ; then ++ CC_FOR_BUILD=no_compiler_found ++ fi ++ ;; ++ ,,*) CC_FOR_BUILD=$CC ;; ++ ,*,*) CC_FOR_BUILD=$HOST_CC ;; ++ esac ++} ++ + # This is needed to find uname on a Pyramid OSx when run in the BSD universe. + # (ghazi@noc.rutgers.edu 1994-08-24) +-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then ++if test -f /.attbin/uname ; then + PATH=$PATH:/.attbin ; export PATH + fi + + UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown + UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown ++UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown + UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +-case "${UNAME_SYSTEM}" in ++case $UNAME_SYSTEM in + Linux|GNU|GNU/*) +- # If the system lacks a compiler, then just pick glibc. +- # We could probably try harder. +- LIBC=gnu ++ LIBC=unknown + +- eval $set_cc_for_build +- cat <<-EOF > $dummy.c ++ set_cc_for_build ++ cat <<-EOF > "$dummy.c" ++ #if defined(__ANDROID__) ++ LIBC=android ++ #else + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc +- #else ++ #elif defined(__GLIBC__) + LIBC=gnu ++ #elif defined(__LLVM_LIBC__) ++ LIBC=llvm ++ #else ++ #include ++ /* First heuristic to detect musl libc. */ ++ #ifdef __DEFINED_va_list ++ LIBC=musl + #endif ++ #endif ++ #endif + EOF +- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` ++ cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` ++ eval "$cc_set_libc" ++ ++ # Second heuristic to detect musl libc. ++ if [ "$LIBC" = unknown ] && ++ command -v ldd >/dev/null && ++ ldd --version 2>&1 | grep -q ^musl; then ++ LIBC=musl ++ fi ++ ++ # If the system lacks a compiler, then just pick glibc. ++ # We could probably try harder. ++ if [ "$LIBC" = unknown ]; then ++ LIBC=gnu ++ fi + ;; + esac + + # Note: order is significant - the case branches are not exclusive. + +-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in ++case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, +@@ -167,22 +208,32 @@ + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". +- sysctl="sysctl -n hw.machine_arch" +- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ +- /usr/sbin/$sysctl 2>/dev/null || echo unknown)` +- case "${UNAME_MACHINE_ARCH}" in ++ UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ ++ /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ ++ /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ ++ echo unknown)` ++ case $UNAME_MACHINE_ARCH in ++ aarch64eb) machine=aarch64_be-unknown ;; + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; +- *) machine=${UNAME_MACHINE_ARCH}-unknown ;; ++ earmv*) ++ arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` ++ endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` ++ machine=${arch}${endian}-unknown ++ ;; ++ *) machine=$UNAME_MACHINE_ARCH-unknown ;; + esac + # The Operating System including object format, if it has switched +- # to ELF recently, or will in the future. +- case "${UNAME_MACHINE_ARCH}" in ++ # to ELF recently (or will in the future) and ABI. ++ case $UNAME_MACHINE_ARCH in ++ earm*) ++ os=netbsdelf ++ ;; + arm*|i386|m68k|ns32k|sh3*|sparc|vax) +- eval $set_cc_for_build ++ set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then +@@ -197,45 +248,80 @@ + os=netbsd + ;; + esac ++ # Determine ABI tags. ++ case $UNAME_MACHINE_ARCH in ++ earm*) ++ expr='s/^earmv[0-9]/-eabi/;s/eb$//' ++ abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` ++ ;; ++ esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. +- case "${UNAME_VERSION}" in ++ case $UNAME_VERSION in + Debian*) + release='-gnu' + ;; + *) +- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ++ release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. +- echo "${machine}-${os}${release}" +- exit ;; ++ GUESS=$machine-${os}${release}${abi-} ++ ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` +- echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE ++ ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` +- echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE ++ ;; ++ *:SecBSD:*:*) ++ UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` ++ GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE ++ ;; ++ *:LibertyBSD:*:*) ++ UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` ++ GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE ++ ;; ++ *:MidnightBSD:*:*) ++ GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE ++ ;; + *:ekkoBSD:*:*) +- echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE ++ ;; + *:SolidBSD:*:*) +- echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE ++ ;; ++ *:OS108:*:*) ++ GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE ++ ;; + macppc:MirBSD:*:*) +- echo powerpc-unknown-mirbsd${UNAME_RELEASE} +- exit ;; ++ GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE ++ ;; + *:MirBSD:*:*) +- echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE ++ ;; ++ *:Sortix:*:*) ++ GUESS=$UNAME_MACHINE-unknown-sortix ++ ;; ++ *:Twizzler:*:*) ++ GUESS=$UNAME_MACHINE-unknown-twizzler ++ ;; ++ *:Redox:*:*) ++ GUESS=$UNAME_MACHINE-unknown-redox ++ ;; ++ mips:OSF1:*.*) ++ GUESS=mips-dec-osf1 ++ ;; + alpha:OSF1:*:*) ++ # Reset EXIT trap before exiting to avoid spurious non-zero exit code. ++ trap '' 0 + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` +@@ -249,163 +335,158 @@ + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` +- case "$ALPHA_CPU_TYPE" in ++ case $ALPHA_CPU_TYPE in + "EV4 (21064)") +- UNAME_MACHINE="alpha" ;; ++ UNAME_MACHINE=alpha ;; + "EV4.5 (21064)") +- UNAME_MACHINE="alpha" ;; ++ UNAME_MACHINE=alpha ;; + "LCA4 (21066/21068)") +- UNAME_MACHINE="alpha" ;; ++ UNAME_MACHINE=alpha ;; + "EV5 (21164)") +- UNAME_MACHINE="alphaev5" ;; ++ UNAME_MACHINE=alphaev5 ;; + "EV5.6 (21164A)") +- UNAME_MACHINE="alphaev56" ;; ++ UNAME_MACHINE=alphaev56 ;; + "EV5.6 (21164PC)") +- UNAME_MACHINE="alphapca56" ;; ++ UNAME_MACHINE=alphapca56 ;; + "EV5.7 (21164PC)") +- UNAME_MACHINE="alphapca57" ;; ++ UNAME_MACHINE=alphapca57 ;; + "EV6 (21264)") +- UNAME_MACHINE="alphaev6" ;; ++ UNAME_MACHINE=alphaev6 ;; + "EV6.7 (21264A)") +- UNAME_MACHINE="alphaev67" ;; ++ UNAME_MACHINE=alphaev67 ;; + "EV6.8CB (21264C)") +- UNAME_MACHINE="alphaev68" ;; ++ UNAME_MACHINE=alphaev68 ;; + "EV6.8AL (21264B)") +- UNAME_MACHINE="alphaev68" ;; ++ UNAME_MACHINE=alphaev68 ;; + "EV6.8CX (21264D)") +- UNAME_MACHINE="alphaev68" ;; ++ UNAME_MACHINE=alphaev68 ;; + "EV6.9A (21264/EV69A)") +- UNAME_MACHINE="alphaev69" ;; ++ UNAME_MACHINE=alphaev69 ;; + "EV7 (21364)") +- UNAME_MACHINE="alphaev7" ;; ++ UNAME_MACHINE=alphaev7 ;; + "EV7.9 (21364A)") +- UNAME_MACHINE="alphaev79" ;; ++ UNAME_MACHINE=alphaev79 ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. +- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` +- # Reset EXIT trap before exiting to avoid spurious non-zero exit code. +- exitcode=$? +- trap '' 0 +- exit $exitcode ;; +- Alpha\ *:Windows_NT*:*) +- # How do we know it's Interix rather than the generic POSIX subsystem? +- # Should we change UNAME_MACHINE based on the output of uname instead +- # of the specific Alpha model? +- echo alpha-pc-interix +- exit ;; +- 21064:Windows_NT:50:3) +- echo alpha-dec-winnt3.5 +- exit ;; ++ OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` ++ GUESS=$UNAME_MACHINE-dec-osf$OSF_REL ++ ;; + Amiga*:UNIX_System_V:4.0:*) +- echo m68k-unknown-sysv4 +- exit ;; ++ GUESS=m68k-unknown-sysv4 ++ ;; + *:[Aa]miga[Oo][Ss]:*:*) +- echo ${UNAME_MACHINE}-unknown-amigaos +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-amigaos ++ ;; + *:[Mm]orph[Oo][Ss]:*:*) +- echo ${UNAME_MACHINE}-unknown-morphos +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-morphos ++ ;; + *:OS/390:*:*) +- echo i370-ibm-openedition +- exit ;; ++ GUESS=i370-ibm-openedition ++ ;; + *:z/VM:*:*) +- echo s390-ibm-zvmoe +- exit ;; ++ GUESS=s390-ibm-zvmoe ++ ;; + *:OS400:*:*) +- echo powerpc-ibm-os400 +- exit ;; ++ GUESS=powerpc-ibm-os400 ++ ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) +- echo arm-acorn-riscix${UNAME_RELEASE} +- exit ;; ++ GUESS=arm-acorn-riscix$UNAME_RELEASE ++ ;; + arm*:riscos:*:*|arm*:RISCOS:*:*) +- echo arm-unknown-riscos +- exit ;; ++ GUESS=arm-unknown-riscos ++ ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) +- echo hppa1.1-hitachi-hiuxmpp +- exit ;; ++ GUESS=hppa1.1-hitachi-hiuxmpp ++ ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. +- if test "`(/bin/universe) 2>/dev/null`" = att ; then +- echo pyramid-pyramid-sysv3 +- else +- echo pyramid-pyramid-bsd +- fi +- exit ;; ++ case `(/bin/universe) 2>/dev/null` in ++ att) GUESS=pyramid-pyramid-sysv3 ;; ++ *) GUESS=pyramid-pyramid-bsd ;; ++ esac ++ ;; + NILE*:*:*:dcosx) +- echo pyramid-pyramid-svr4 +- exit ;; ++ GUESS=pyramid-pyramid-svr4 ++ ;; + DRS?6000:unix:4.0:6*) +- echo sparc-icl-nx6 +- exit ;; ++ GUESS=sparc-icl-nx6 ++ ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in +- sparc) echo sparc-icl-nx7; exit ;; +- esac ;; ++ sparc) GUESS=sparc-icl-nx7 ;; ++ esac ++ ;; + s390x:SunOS:*:*) +- echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +- exit ;; ++ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` ++ GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL ++ ;; + sun4H:SunOS:5.*:*) +- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +- exit ;; ++ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` ++ GUESS=sparc-hal-solaris2$SUN_REL ++ ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) +- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +- exit ;; ++ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` ++ GUESS=sparc-sun-solaris2$SUN_REL ++ ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) +- echo i386-pc-auroraux${UNAME_RELEASE} +- exit ;; ++ GUESS=i386-pc-auroraux$UNAME_RELEASE ++ ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) +- eval $set_cc_for_build +- SUN_ARCH="i386" ++ set_cc_for_build ++ SUN_ARCH=i386 + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. +- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then ++ if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ +- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ ++ (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then +- SUN_ARCH="x86_64" ++ SUN_ARCH=x86_64 + fi + fi +- echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +- exit ;; ++ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` ++ GUESS=$SUN_ARCH-pc-solaris2$SUN_REL ++ ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. +- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +- exit ;; ++ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` ++ GUESS=sparc-sun-solaris3$SUN_REL ++ ;; + sun4*:SunOS:*:*) +- case "`/usr/bin/arch -k`" in ++ case `/usr/bin/arch -k` in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac +- # Japanese Language versions have a version number like `4.1.3-JL'. +- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` +- exit ;; ++ # Japanese Language versions have a version number like '4.1.3-JL'. ++ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` ++ GUESS=sparc-sun-sunos$SUN_REL ++ ;; + sun3*:SunOS:*:*) +- echo m68k-sun-sunos${UNAME_RELEASE} +- exit ;; ++ GUESS=m68k-sun-sunos$UNAME_RELEASE ++ ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` +- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 +- case "`/bin/arch`" in ++ test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 ++ case `/bin/arch` in + sun3) +- echo m68k-sun-sunos${UNAME_RELEASE} ++ GUESS=m68k-sun-sunos$UNAME_RELEASE + ;; + sun4) +- echo sparc-sun-sunos${UNAME_RELEASE} ++ GUESS=sparc-sun-sunos$UNAME_RELEASE + ;; + esac +- exit ;; ++ ;; + aushp:SunOS:*:*) +- echo sparc-auspex-sunos${UNAME_RELEASE} +- exit ;; ++ GUESS=sparc-auspex-sunos$UNAME_RELEASE ++ ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor +@@ -415,44 +496,44 @@ + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) +- echo m68k-atari-mint${UNAME_RELEASE} +- exit ;; ++ GUESS=m68k-atari-mint$UNAME_RELEASE ++ ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) +- echo m68k-atari-mint${UNAME_RELEASE} +- exit ;; ++ GUESS=m68k-atari-mint$UNAME_RELEASE ++ ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) +- echo m68k-atari-mint${UNAME_RELEASE} +- exit ;; ++ GUESS=m68k-atari-mint$UNAME_RELEASE ++ ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) +- echo m68k-milan-mint${UNAME_RELEASE} +- exit ;; ++ GUESS=m68k-milan-mint$UNAME_RELEASE ++ ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) +- echo m68k-hades-mint${UNAME_RELEASE} +- exit ;; ++ GUESS=m68k-hades-mint$UNAME_RELEASE ++ ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) +- echo m68k-unknown-mint${UNAME_RELEASE} +- exit ;; ++ GUESS=m68k-unknown-mint$UNAME_RELEASE ++ ;; + m68k:machten:*:*) +- echo m68k-apple-machten${UNAME_RELEASE} +- exit ;; ++ GUESS=m68k-apple-machten$UNAME_RELEASE ++ ;; + powerpc:machten:*:*) +- echo powerpc-apple-machten${UNAME_RELEASE} +- exit ;; ++ GUESS=powerpc-apple-machten$UNAME_RELEASE ++ ;; + RISC*:Mach:*:*) +- echo mips-dec-mach_bsd4.3 +- exit ;; ++ GUESS=mips-dec-mach_bsd4.3 ++ ;; + RISC*:ULTRIX:*:*) +- echo mips-dec-ultrix${UNAME_RELEASE} +- exit ;; ++ GUESS=mips-dec-ultrix$UNAME_RELEASE ++ ;; + VAX*:ULTRIX*:*:*) +- echo vax-dec-ultrix${UNAME_RELEASE} +- exit ;; ++ GUESS=vax-dec-ultrix$UNAME_RELEASE ++ ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) +- echo clipper-intergraph-clix${UNAME_RELEASE} +- exit ;; ++ GUESS=clipper-intergraph-clix$UNAME_RELEASE ++ ;; + mips:*:*:UMIPS | mips:*:*:RISCos) +- eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c ++ set_cc_for_build ++ sed 's/^ //' << EOF > "$dummy.c" + #ifdef __cplusplus + #include /* for printf() prototype */ + int main (int argc, char *argv[]) { +@@ -461,95 +542,96 @@ + #endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) +- printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); ++ printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) +- printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); ++ printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) +- printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); ++ printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } + EOF +- $CC_FOR_BUILD -o $dummy $dummy.c && +- dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && +- SYSTEM_NAME=`$dummy $dummyarg` && ++ $CC_FOR_BUILD -o "$dummy" "$dummy.c" && ++ dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && ++ SYSTEM_NAME=`"$dummy" "$dummyarg"` && + { echo "$SYSTEM_NAME"; exit; } +- echo mips-mips-riscos${UNAME_RELEASE} +- exit ;; ++ GUESS=mips-mips-riscos$UNAME_RELEASE ++ ;; + Motorola:PowerMAX_OS:*:*) +- echo powerpc-motorola-powermax +- exit ;; ++ GUESS=powerpc-motorola-powermax ++ ;; + Motorola:*:4.3:PL8-*) +- echo powerpc-harris-powermax +- exit ;; ++ GUESS=powerpc-harris-powermax ++ ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) +- echo powerpc-harris-powermax +- exit ;; ++ GUESS=powerpc-harris-powermax ++ ;; + Night_Hawk:Power_UNIX:*:*) +- echo powerpc-harris-powerunix +- exit ;; ++ GUESS=powerpc-harris-powerunix ++ ;; + m88k:CX/UX:7*:*) +- echo m88k-harris-cxux7 +- exit ;; ++ GUESS=m88k-harris-cxux7 ++ ;; + m88k:*:4*:R4*) +- echo m88k-motorola-sysv4 +- exit ;; ++ GUESS=m88k-motorola-sysv4 ++ ;; + m88k:*:3*:R3*) +- echo m88k-motorola-sysv3 +- exit ;; ++ GUESS=m88k-motorola-sysv3 ++ ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` +- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] ++ if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 + then +- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ +- [ ${TARGET_BINARY_INTERFACE}x = x ] ++ if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ ++ test "$TARGET_BINARY_INTERFACE"x = x + then +- echo m88k-dg-dgux${UNAME_RELEASE} ++ GUESS=m88k-dg-dgux$UNAME_RELEASE + else +- echo m88k-dg-dguxbcs${UNAME_RELEASE} ++ GUESS=m88k-dg-dguxbcs$UNAME_RELEASE + fi + else +- echo i586-dg-dgux${UNAME_RELEASE} ++ GUESS=i586-dg-dgux$UNAME_RELEASE + fi +- exit ;; ++ ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) +- echo m88k-dolphin-sysv3 +- exit ;; ++ GUESS=m88k-dolphin-sysv3 ++ ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 +- echo m88k-motorola-sysv3 +- exit ;; ++ GUESS=m88k-motorola-sysv3 ++ ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) +- echo m88k-tektronix-sysv3 +- exit ;; ++ GUESS=m88k-tektronix-sysv3 ++ ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) +- echo m68k-tektronix-bsd +- exit ;; ++ GUESS=m68k-tektronix-bsd ++ ;; + *:IRIX*:*:*) +- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` +- exit ;; ++ IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` ++ GUESS=mips-sgi-irix$IRIX_REL ++ ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. +- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id +- exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' ++ GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id ++ ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) +- echo i386-ibm-aix +- exit ;; ++ GUESS=i386-ibm-aix ++ ;; + ia64:AIX:*:*) +- if [ -x /usr/bin/oslevel ] ; then ++ if test -x /usr/bin/oslevel ; then + IBM_REV=`/usr/bin/oslevel` + else +- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} ++ IBM_REV=$UNAME_VERSION.$UNAME_RELEASE + fi +- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} +- exit ;; ++ GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV ++ ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then +- eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c ++ set_cc_for_build ++ sed 's/^ //' << EOF > "$dummy.c" + #include + + main() +@@ -560,77 +642,77 @@ + exit(0); + } + EOF +- if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` ++ if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` + then +- echo "$SYSTEM_NAME" ++ GUESS=$SYSTEM_NAME + else +- echo rs6000-ibm-aix3.2.5 ++ GUESS=rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then +- echo rs6000-ibm-aix3.2.4 ++ GUESS=rs6000-ibm-aix3.2.4 + else +- echo rs6000-ibm-aix3.2 ++ GUESS=rs6000-ibm-aix3.2 + fi +- exit ;; ++ ;; + *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` +- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then ++ if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi +- if [ -x /usr/bin/lslpp ] ; then +- IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | ++ if test -x /usr/bin/lslpp ; then ++ IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` + else +- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} ++ IBM_REV=$UNAME_VERSION.$UNAME_RELEASE + fi +- echo ${IBM_ARCH}-ibm-aix${IBM_REV} +- exit ;; ++ GUESS=$IBM_ARCH-ibm-aix$IBM_REV ++ ;; + *:AIX:*:*) +- echo rs6000-ibm-aix +- exit ;; +- ibmrt:4.4BSD:*|romp-ibm:BSD:*) +- echo romp-ibm-bsd4.4 +- exit ;; ++ GUESS=rs6000-ibm-aix ++ ;; ++ ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) ++ GUESS=romp-ibm-bsd4.4 ++ ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and +- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to +- exit ;; # report: romp-ibm BSD 4.3 ++ GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to ++ ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) +- echo rs6000-bull-bosx +- exit ;; ++ GUESS=rs6000-bull-bosx ++ ;; + DPX/2?00:B.O.S.:*:*) +- echo m68k-bull-sysv3 +- exit ;; ++ GUESS=m68k-bull-sysv3 ++ ;; + 9000/[34]??:4.3bsd:1.*:*) +- echo m68k-hp-bsd +- exit ;; ++ GUESS=m68k-hp-bsd ++ ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) +- echo m68k-hp-bsd4.4 +- exit ;; ++ GUESS=m68k-hp-bsd4.4 ++ ;; + 9000/[34678]??:HP-UX:*:*) +- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` +- case "${UNAME_MACHINE}" in +- 9000/31? ) HP_ARCH=m68000 ;; +- 9000/[34]?? ) HP_ARCH=m68k ;; ++ HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` ++ case $UNAME_MACHINE in ++ 9000/31?) HP_ARCH=m68000 ;; ++ 9000/[34]??) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) +- if [ -x /usr/bin/getconf ]; then ++ if test -x /usr/bin/getconf; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` +- case "${sc_cpu_version}" in +- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 +- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 ++ case $sc_cpu_version in ++ 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 ++ 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 +- case "${sc_kernel_bits}" in +- 32) HP_ARCH="hppa2.0n" ;; +- 64) HP_ARCH="hppa2.0w" ;; +- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 ++ case $sc_kernel_bits in ++ 32) HP_ARCH=hppa2.0n ;; ++ 64) HP_ARCH=hppa2.0w ;; ++ '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 + esac ;; + esac + fi +- if [ "${HP_ARCH}" = "" ]; then +- eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c ++ if test "$HP_ARCH" = ""; then ++ set_cc_for_build ++ sed 's/^ //' << EOF > "$dummy.c" + + #define _HPUX_SOURCE + #include +@@ -663,13 +745,13 @@ + exit (0); + } + EOF +- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` ++ (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac +- if [ ${HP_ARCH} = "hppa2.0w" ] ++ if test "$HP_ARCH" = hppa2.0w + then +- eval $set_cc_for_build ++ set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler +@@ -680,23 +762,23 @@ + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + +- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | ++ if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then +- HP_ARCH="hppa2.0w" ++ HP_ARCH=hppa2.0w + else +- HP_ARCH="hppa64" ++ HP_ARCH=hppa64 + fi + fi +- echo ${HP_ARCH}-hp-hpux${HPUX_REV} +- exit ;; ++ GUESS=$HP_ARCH-hp-hpux$HPUX_REV ++ ;; + ia64:HP-UX:*:*) +- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` +- echo ia64-hp-hpux${HPUX_REV} +- exit ;; ++ HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` ++ GUESS=ia64-hp-hpux$HPUX_REV ++ ;; + 3050*:HI-UX:*:*) +- eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c ++ set_cc_for_build ++ sed 's/^ //' << EOF > "$dummy.c" + #include + int + main () +@@ -721,38 +803,38 @@ + exit (0); + } + EOF +- $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && ++ $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && + { echo "$SYSTEM_NAME"; exit; } +- echo unknown-hitachi-hiuxwe2 +- exit ;; +- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) +- echo hppa1.1-hp-bsd +- exit ;; ++ GUESS=unknown-hitachi-hiuxwe2 ++ ;; ++ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) ++ GUESS=hppa1.1-hp-bsd ++ ;; + 9000/8??:4.3bsd:*:*) +- echo hppa1.0-hp-bsd +- exit ;; ++ GUESS=hppa1.0-hp-bsd ++ ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) +- echo hppa1.0-hp-mpeix +- exit ;; +- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) +- echo hppa1.1-hp-osf +- exit ;; ++ GUESS=hppa1.0-hp-mpeix ++ ;; ++ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) ++ GUESS=hppa1.1-hp-osf ++ ;; + hp8??:OSF1:*:*) +- echo hppa1.0-hp-osf +- exit ;; ++ GUESS=hppa1.0-hp-osf ++ ;; + i*86:OSF1:*:*) +- if [ -x /usr/sbin/sysversion ] ; then +- echo ${UNAME_MACHINE}-unknown-osf1mk ++ if test -x /usr/sbin/sysversion ; then ++ GUESS=$UNAME_MACHINE-unknown-osf1mk + else +- echo ${UNAME_MACHINE}-unknown-osf1 ++ GUESS=$UNAME_MACHINE-unknown-osf1 + fi +- exit ;; ++ ;; + parisc*:Lites*:*:*) +- echo hppa1.1-hp-lites +- exit ;; ++ GUESS=hppa1.1-hp-lites ++ ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) +- echo c1-convex-bsd +- exit ;; ++ GUESS=c1-convex-bsd ++ ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd +@@ -760,139 +842,174 @@ + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) +- echo c34-convex-bsd +- exit ;; ++ GUESS=c34-convex-bsd ++ ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) +- echo c38-convex-bsd +- exit ;; ++ GUESS=c38-convex-bsd ++ ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) +- echo c4-convex-bsd +- exit ;; ++ GUESS=c4-convex-bsd ++ ;; + CRAY*Y-MP:*:*:*) +- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' +- exit ;; ++ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` ++ GUESS=ymp-cray-unicos$CRAY_REL ++ ;; + CRAY*[A-Z]90:*:*:*) +- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ ++ echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) +- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' +- exit ;; ++ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` ++ GUESS=t90-cray-unicos$CRAY_REL ++ ;; + CRAY*T3E:*:*:*) +- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' +- exit ;; ++ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` ++ GUESS=alphaev5-cray-unicosmk$CRAY_REL ++ ;; + CRAY*SV1:*:*:*) +- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' +- exit ;; ++ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` ++ GUESS=sv1-cray-unicos$CRAY_REL ++ ;; + *:UNICOS/mp:*:*) +- echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' +- exit ;; ++ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` ++ GUESS=craynv-cray-unicosmp$CRAY_REL ++ ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) +- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` +- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` +- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` +- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" +- exit ;; ++ FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` ++ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` ++ FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` ++ GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} ++ ;; + 5000:UNIX_System_V:4.*:*) +- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` +- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` +- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" +- exit ;; ++ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` ++ FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` ++ GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} ++ ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) +- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE ++ ;; + sparc*:BSD/OS:*:*) +- echo sparc-unknown-bsdi${UNAME_RELEASE} +- exit ;; ++ GUESS=sparc-unknown-bsdi$UNAME_RELEASE ++ ;; + *:BSD/OS:*:*) +- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE ++ ;; ++ arm:FreeBSD:*:*) ++ UNAME_PROCESSOR=`uname -p` ++ set_cc_for_build ++ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ ++ | grep -q __ARM_PCS_VFP ++ then ++ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` ++ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi ++ else ++ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` ++ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf ++ fi ++ ;; + *:FreeBSD:*:*) +- UNAME_PROCESSOR=`/usr/bin/uname -p` +- case ${UNAME_PROCESSOR} in ++ UNAME_PROCESSOR=`uname -p` ++ case $UNAME_PROCESSOR in + amd64) +- echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; +- *) +- echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; ++ UNAME_PROCESSOR=x86_64 ;; ++ i386) ++ UNAME_PROCESSOR=i586 ;; + esac +- exit ;; ++ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` ++ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL ++ ;; + i*:CYGWIN*:*) +- echo ${UNAME_MACHINE}-pc-cygwin +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-cygwin ++ ;; + *:MINGW64*:*) +- echo ${UNAME_MACHINE}-pc-mingw64 +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-mingw64 ++ ;; + *:MINGW*:*) +- echo ${UNAME_MACHINE}-pc-mingw32 +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-mingw32 ++ ;; + *:MSYS*:*) +- echo ${UNAME_MACHINE}-pc-msys +- exit ;; +- i*:windows32*:*) +- # uname -m includes "-pc" on this system. +- echo ${UNAME_MACHINE}-mingw32 +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-msys ++ ;; + i*:PW*:*) +- echo ${UNAME_MACHINE}-pc-pw32 +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-pw32 ++ ;; ++ *:SerenityOS:*:*) ++ GUESS=$UNAME_MACHINE-pc-serenity ++ ;; + *:Interix*:*) +- case ${UNAME_MACHINE} in ++ case $UNAME_MACHINE in + x86) +- echo i586-pc-interix${UNAME_RELEASE} +- exit ;; ++ GUESS=i586-pc-interix$UNAME_RELEASE ++ ;; + authenticamd | genuineintel | EM64T) +- echo x86_64-unknown-interix${UNAME_RELEASE} +- exit ;; ++ GUESS=x86_64-unknown-interix$UNAME_RELEASE ++ ;; + IA64) +- echo ia64-unknown-interix${UNAME_RELEASE} +- exit ;; ++ GUESS=ia64-unknown-interix$UNAME_RELEASE ++ ;; + esac ;; +- [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) +- echo i${UNAME_MACHINE}-pc-mks +- exit ;; +- 8664:Windows_NT:*) +- echo x86_64-pc-mks +- exit ;; +- i*:Windows_NT*:* | Pentium*:Windows_NT*:*) +- # How do we know it's Interix rather than the generic POSIX subsystem? +- # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we +- # UNAME_MACHINE based on the output of uname instead of i386? +- echo i586-pc-interix +- exit ;; + i*:UWIN*:*) +- echo ${UNAME_MACHINE}-pc-uwin +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-uwin ++ ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) +- echo x86_64-unknown-cygwin +- exit ;; +- p*:CYGWIN*:*) +- echo powerpcle-unknown-cygwin +- exit ;; ++ GUESS=x86_64-pc-cygwin ++ ;; + prep*:SunOS:5.*:*) +- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +- exit ;; ++ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` ++ GUESS=powerpcle-unknown-solaris2$SUN_REL ++ ;; + *:GNU:*:*) + # the GNU system +- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` +- exit ;; ++ GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` ++ GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` ++ GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL ++ ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland +- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} +- exit ;; +- i*86:Minix:*:*) +- echo ${UNAME_MACHINE}-pc-minix +- exit ;; ++ GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` ++ GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` ++ GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC ++ ;; ++ x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*) ++ GUESS="$UNAME_MACHINE-pc-managarm-mlibc" ++ ;; ++ *:[Mm]anagarm:*:*) ++ GUESS="$UNAME_MACHINE-unknown-managarm-mlibc" ++ ;; ++ *:Minix:*:*) ++ GUESS=$UNAME_MACHINE-unknown-minix ++ ;; + aarch64:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ set_cc_for_build ++ CPU=$UNAME_MACHINE ++ LIBCABI=$LIBC ++ if test "$CC_FOR_BUILD" != no_compiler_found; then ++ ABI=64 ++ sed 's/^ //' << EOF > "$dummy.c" ++ #ifdef __ARM_EABI__ ++ #ifdef __ARM_PCS_VFP ++ ABI=eabihf ++ #else ++ ABI=eabi ++ #endif ++ #endif ++EOF ++ cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` ++ eval "$cc_set_abi" ++ case $ABI in ++ eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;; ++ esac ++ fi ++ GUESS=$CPU-unknown-linux-$LIBCABI ++ ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + alpha:Linux:*:*) +- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in ++ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; +@@ -902,172 +1019,246 @@ + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 +- if test "$?" = 0 ; then LIBC="gnulibc1" ; fi +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; +- arc:Linux:*:* | arceb:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ if test "$?" = 0 ; then LIBC=gnulibc1 ; fi ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; ++ arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + arm*:Linux:*:*) +- eval $set_cc_for_build ++ set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi ++ GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi + else +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf ++ GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf + fi + fi +- exit ;; ++ ;; + avr32*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + cris:Linux:*:*) +- echo ${UNAME_MACHINE}-axis-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-axis-linux-$LIBC ++ ;; + crisv32:Linux:*:*) +- echo ${UNAME_MACHINE}-axis-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-axis-linux-$LIBC ++ ;; ++ e2k:Linux:*:*) ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + frv:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + hexagon:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + i*86:Linux:*:*) +- echo ${UNAME_MACHINE}-pc-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-linux-$LIBC ++ ;; + ia64:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; ++ k1om:Linux:*:*) ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; ++ kvx:Linux:*:*) ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; ++ kvx:cos:*:*) ++ GUESS=$UNAME_MACHINE-unknown-cos ++ ;; ++ kvx:mbr:*:*) ++ GUESS=$UNAME_MACHINE-unknown-mbr ++ ;; ++ loongarch32:Linux:*:* | loongarch64:Linux:*:*) ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + m32r*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + m68*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + mips:Linux:*:* | mips64:Linux:*:*) +- eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c ++ set_cc_for_build ++ IS_GLIBC=0 ++ test x"${LIBC}" = xgnu && IS_GLIBC=1 ++ sed 's/^ //' << EOF > "$dummy.c" + #undef CPU +- #undef ${UNAME_MACHINE} +- #undef ${UNAME_MACHINE}el ++ #undef mips ++ #undef mipsel ++ #undef mips64 ++ #undef mips64el ++ #if ${IS_GLIBC} && defined(_ABI64) ++ LIBCABI=gnuabi64 ++ #else ++ #if ${IS_GLIBC} && defined(_ABIN32) ++ LIBCABI=gnuabin32 ++ #else ++ LIBCABI=${LIBC} ++ #endif ++ #endif ++ ++ #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 ++ CPU=mipsisa64r6 ++ #else ++ #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 ++ CPU=mipsisa32r6 ++ #else ++ #if defined(__mips64) ++ CPU=mips64 ++ #else ++ CPU=mips ++ #endif ++ #endif ++ #endif ++ + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) +- CPU=${UNAME_MACHINE}el ++ MIPS_ENDIAN=el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) +- CPU=${UNAME_MACHINE} ++ MIPS_ENDIAN= + #else +- CPU= ++ MIPS_ENDIAN= + #endif + #endif + EOF +- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` +- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ++ cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` ++ eval "$cc_set_vars" ++ test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } + ;; ++ mips64el:Linux:*:*) ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + openrisc*:Linux:*:*) +- echo or1k-unknown-linux-${LIBC} +- exit ;; ++ GUESS=or1k-unknown-linux-$LIBC ++ ;; + or32:Linux:*:* | or1k*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + padre:Linux:*:*) +- echo sparc-unknown-linux-${LIBC} +- exit ;; ++ GUESS=sparc-unknown-linux-$LIBC ++ ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) +- echo hppa64-unknown-linux-${LIBC} +- exit ;; ++ GUESS=hppa64-unknown-linux-$LIBC ++ ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in +- PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; +- PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; +- *) echo hppa-unknown-linux-${LIBC} ;; ++ PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; ++ PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; ++ *) GUESS=hppa-unknown-linux-$LIBC ;; + esac +- exit ;; ++ ;; + ppc64:Linux:*:*) +- echo powerpc64-unknown-linux-${LIBC} +- exit ;; ++ GUESS=powerpc64-unknown-linux-$LIBC ++ ;; + ppc:Linux:*:*) +- echo powerpc-unknown-linux-${LIBC} +- exit ;; ++ GUESS=powerpc-unknown-linux-$LIBC ++ ;; + ppc64le:Linux:*:*) +- echo powerpc64le-unknown-linux-${LIBC} +- exit ;; ++ GUESS=powerpc64le-unknown-linux-$LIBC ++ ;; + ppcle:Linux:*:*) +- echo powerpcle-unknown-linux-${LIBC} +- exit ;; ++ GUESS=powerpcle-unknown-linux-$LIBC ++ ;; ++ riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + s390:Linux:*:* | s390x:Linux:*:*) +- echo ${UNAME_MACHINE}-ibm-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-ibm-linux-$LIBC ++ ;; + sh64*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + sh*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + sparc:Linux:*:* | sparc64:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + tile*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + vax:Linux:*:*) +- echo ${UNAME_MACHINE}-dec-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-dec-linux-$LIBC ++ ;; + x86_64:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ set_cc_for_build ++ CPU=$UNAME_MACHINE ++ LIBCABI=$LIBC ++ if test "$CC_FOR_BUILD" != no_compiler_found; then ++ ABI=64 ++ sed 's/^ //' << EOF > "$dummy.c" ++ #ifdef __i386__ ++ ABI=x86 ++ #else ++ #ifdef __ILP32__ ++ ABI=x32 ++ #endif ++ #endif ++EOF ++ cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` ++ eval "$cc_set_abi" ++ case $ABI in ++ x86) CPU=i686 ;; ++ x32) LIBCABI=${LIBC}x32 ;; ++ esac ++ fi ++ GUESS=$CPU-pc-linux-$LIBCABI ++ ;; + xtensa*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ++ ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. +- echo i386-sequent-sysv4 +- exit ;; ++ GUESS=i386-sequent-sysv4 ++ ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. +- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION ++ ;; + i*86:OS/2:*:*) +- # If we were able to find `uname', then EMX Unix compatibility ++ # If we were able to find 'uname', then EMX Unix compatibility + # is probably installed. +- echo ${UNAME_MACHINE}-pc-os2-emx +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-os2-emx ++ ;; + i*86:XTS-300:*:STOP) +- echo ${UNAME_MACHINE}-unknown-stop +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-stop ++ ;; + i*86:atheos:*:*) +- echo ${UNAME_MACHINE}-unknown-atheos +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-atheos ++ ;; + i*86:syllable:*:*) +- echo ${UNAME_MACHINE}-pc-syllable +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-syllable ++ ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) +- echo i386-unknown-lynxos${UNAME_RELEASE} +- exit ;; ++ GUESS=i386-unknown-lynxos$UNAME_RELEASE ++ ;; + i*86:*DOS:*:*) +- echo ${UNAME_MACHINE}-pc-msdosdjgpp +- exit ;; +- i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) +- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` ++ GUESS=$UNAME_MACHINE-pc-msdosdjgpp ++ ;; ++ i*86:*:4.*:*) ++ UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then +- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} ++ GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL + else +- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} ++ GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL + fi +- exit ;; ++ ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in +@@ -1075,12 +1266,12 @@ + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac +- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} ++ ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 +@@ -1090,43 +1281,43 @@ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 +- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL ++ GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL + else +- echo ${UNAME_MACHINE}-pc-sysv32 ++ GUESS=$UNAME_MACHINE-pc-sysv32 + fi +- exit ;; ++ ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub +- # prints for the "djgpp" host, or else GDB configury will decide that ++ # prints for the "djgpp" host, or else GDB configure will decide that + # this is a cross-build. +- echo i586-pc-msdosdjgpp +- exit ;; ++ GUESS=i586-pc-msdosdjgpp ++ ;; + Intel:Mach:3*:*) +- echo i386-pc-mach3 +- exit ;; ++ GUESS=i386-pc-mach3 ++ ;; + paragon:*:*:*) +- echo i860-intel-osf1 +- exit ;; ++ GUESS=i860-intel-osf1 ++ ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then +- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 ++ GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. +- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 ++ GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 + fi +- exit ;; ++ ;; + mini*:CTIX:SYS*5:*) + # "miniframe" +- echo m68010-convergent-sysv +- exit ;; ++ GUESS=m68010-convergent-sysv ++ ;; + mc68k:UNIX:SYSTEM5:3.51m) +- echo m68k-convergent-sysv +- exit ;; ++ GUESS=m68k-convergent-sysv ++ ;; + M680?0:D-NIX:5.3:*) +- echo m68k-diab-dnix +- exit ;; ++ GUESS=m68k-diab-dnix ++ ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) +@@ -1134,9 +1325,9 @@ + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ +- && { echo i486-ncr-sysv4.3${OS_REL}; exit; } ++ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ +- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; ++ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; +@@ -1145,249 +1336,448 @@ + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ +- && { echo i486-ncr-sysv4.3${OS_REL}; exit; } ++ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ +- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ++ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ +- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; ++ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) +- echo m68k-unknown-lynxos${UNAME_RELEASE} +- exit ;; ++ GUESS=m68k-unknown-lynxos$UNAME_RELEASE ++ ;; + mc68030:UNIX_System_V:4.*:*) +- echo m68k-atari-sysv4 +- exit ;; ++ GUESS=m68k-atari-sysv4 ++ ;; + TSUNAMI:LynxOS:2.*:*) +- echo sparc-unknown-lynxos${UNAME_RELEASE} +- exit ;; ++ GUESS=sparc-unknown-lynxos$UNAME_RELEASE ++ ;; + rs6000:LynxOS:2.*:*) +- echo rs6000-unknown-lynxos${UNAME_RELEASE} +- exit ;; ++ GUESS=rs6000-unknown-lynxos$UNAME_RELEASE ++ ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) +- echo powerpc-unknown-lynxos${UNAME_RELEASE} +- exit ;; ++ GUESS=powerpc-unknown-lynxos$UNAME_RELEASE ++ ;; + SM[BE]S:UNIX_SV:*:*) +- echo mips-dde-sysv${UNAME_RELEASE} +- exit ;; ++ GUESS=mips-dde-sysv$UNAME_RELEASE ++ ;; + RM*:ReliantUNIX-*:*:*) +- echo mips-sni-sysv4 +- exit ;; ++ GUESS=mips-sni-sysv4 ++ ;; + RM*:SINIX-*:*:*) +- echo mips-sni-sysv4 +- exit ;; ++ GUESS=mips-sni-sysv4 ++ ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` +- echo ${UNAME_MACHINE}-sni-sysv4 ++ GUESS=$UNAME_MACHINE-sni-sysv4 + else +- echo ns32k-sni-sysv ++ GUESS=ns32k-sni-sysv + fi +- exit ;; +- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort ++ ;; ++ PENTIUM:*:4.0*:*) # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort + # says +- echo i586-unisys-sysv4 +- exit ;; ++ GUESS=i586-unisys-sysv4 ++ ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm +- echo hppa1.1-stratus-sysv4 +- exit ;; ++ GUESS=hppa1.1-stratus-sysv4 ++ ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. +- echo i860-stratus-sysv4 +- exit ;; ++ GUESS=i860-stratus-sysv4 ++ ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. +- echo ${UNAME_MACHINE}-stratus-vos +- exit ;; ++ GUESS=$UNAME_MACHINE-stratus-vos ++ ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. +- echo hppa1.1-stratus-vos +- exit ;; ++ GUESS=hppa1.1-stratus-vos ++ ;; + mc68*:A/UX:*:*) +- echo m68k-apple-aux${UNAME_RELEASE} +- exit ;; ++ GUESS=m68k-apple-aux$UNAME_RELEASE ++ ;; + news*:NEWS-OS:6*:*) +- echo mips-sony-newsos6 +- exit ;; ++ GUESS=mips-sony-newsos6 ++ ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) +- if [ -d /usr/nec ]; then +- echo mips-nec-sysv${UNAME_RELEASE} ++ if test -d /usr/nec; then ++ GUESS=mips-nec-sysv$UNAME_RELEASE + else +- echo mips-unknown-sysv${UNAME_RELEASE} ++ GUESS=mips-unknown-sysv$UNAME_RELEASE + fi +- exit ;; ++ ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. +- echo powerpc-be-beos +- exit ;; ++ GUESS=powerpc-be-beos ++ ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. +- echo powerpc-apple-beos +- exit ;; ++ GUESS=powerpc-apple-beos ++ ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. +- echo i586-pc-beos +- exit ;; ++ GUESS=i586-pc-beos ++ ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. +- echo i586-pc-haiku +- exit ;; +- x86_64:Haiku:*:*) +- echo x86_64-unknown-haiku +- exit ;; ++ GUESS=i586-pc-haiku ++ ;; ++ ppc:Haiku:*:*) # Haiku running on Apple PowerPC ++ GUESS=powerpc-apple-haiku ++ ;; ++ *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat) ++ GUESS=$UNAME_MACHINE-unknown-haiku ++ ;; + SX-4:SUPER-UX:*:*) +- echo sx4-nec-superux${UNAME_RELEASE} +- exit ;; ++ GUESS=sx4-nec-superux$UNAME_RELEASE ++ ;; + SX-5:SUPER-UX:*:*) +- echo sx5-nec-superux${UNAME_RELEASE} +- exit ;; ++ GUESS=sx5-nec-superux$UNAME_RELEASE ++ ;; + SX-6:SUPER-UX:*:*) +- echo sx6-nec-superux${UNAME_RELEASE} +- exit ;; ++ GUESS=sx6-nec-superux$UNAME_RELEASE ++ ;; + SX-7:SUPER-UX:*:*) +- echo sx7-nec-superux${UNAME_RELEASE} +- exit ;; ++ GUESS=sx7-nec-superux$UNAME_RELEASE ++ ;; + SX-8:SUPER-UX:*:*) +- echo sx8-nec-superux${UNAME_RELEASE} +- exit ;; ++ GUESS=sx8-nec-superux$UNAME_RELEASE ++ ;; + SX-8R:SUPER-UX:*:*) +- echo sx8r-nec-superux${UNAME_RELEASE} +- exit ;; ++ GUESS=sx8r-nec-superux$UNAME_RELEASE ++ ;; ++ SX-ACE:SUPER-UX:*:*) ++ GUESS=sxace-nec-superux$UNAME_RELEASE ++ ;; + Power*:Rhapsody:*:*) +- echo powerpc-apple-rhapsody${UNAME_RELEASE} +- exit ;; ++ GUESS=powerpc-apple-rhapsody$UNAME_RELEASE ++ ;; + *:Rhapsody:*:*) +- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE ++ ;; ++ arm64:Darwin:*:*) ++ GUESS=aarch64-apple-darwin$UNAME_RELEASE ++ ;; + *:Darwin:*:*) +- UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown +- eval $set_cc_for_build +- if test "$UNAME_PROCESSOR" = unknown ; then +- UNAME_PROCESSOR=powerpc ++ UNAME_PROCESSOR=`uname -p` ++ case $UNAME_PROCESSOR in ++ unknown) UNAME_PROCESSOR=powerpc ;; ++ esac ++ if command -v xcode-select > /dev/null 2> /dev/null && \ ++ ! xcode-select --print-path > /dev/null 2> /dev/null ; then ++ # Avoid executing cc if there is no toolchain installed as ++ # cc will be a stub that puts up a graphical alert ++ # prompting the user to install developer tools. ++ CC_FOR_BUILD=no_compiler_found ++ else ++ set_cc_for_build + fi +- if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then +- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then +- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ +- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ +- grep IS_64BIT_ARCH >/dev/null +- then +- case $UNAME_PROCESSOR in +- i386) UNAME_PROCESSOR=x86_64 ;; +- powerpc) UNAME_PROCESSOR=powerpc64 ;; +- esac +- fi ++ if test "$CC_FOR_BUILD" != no_compiler_found; then ++ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ ++ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ ++ grep IS_64BIT_ARCH >/dev/null ++ then ++ case $UNAME_PROCESSOR in ++ i386) UNAME_PROCESSOR=x86_64 ;; ++ powerpc) UNAME_PROCESSOR=powerpc64 ;; ++ esac + fi ++ # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc ++ if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ ++ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ ++ grep IS_PPC >/dev/null ++ then ++ UNAME_PROCESSOR=powerpc ++ fi + elif test "$UNAME_PROCESSOR" = i386 ; then +- # Avoid executing cc on OS X 10.9, as it ships with a stub +- # that puts up a graphical alert prompting to install +- # developer tools. Any system running Mac OS X 10.7 or +- # later (Darwin 11 and later) is required to have a 64-bit +- # processor. This is not true of the ARM version of Darwin +- # that Apple uses in portable devices. +- UNAME_PROCESSOR=x86_64 ++ # uname -m returns i386 or x86_64 ++ UNAME_PROCESSOR=$UNAME_MACHINE + fi +- echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE ++ ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` +- if test "$UNAME_PROCESSOR" = "x86"; then ++ if test "$UNAME_PROCESSOR" = x86; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi +- echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE ++ ;; + *:QNX:*:4*) +- echo i386-pc-qnx +- exit ;; +- NEO-?:NONSTOP_KERNEL:*:*) +- echo neo-tandem-nsk${UNAME_RELEASE} +- exit ;; ++ GUESS=i386-pc-qnx ++ ;; ++ NEO-*:NONSTOP_KERNEL:*:*) ++ GUESS=neo-tandem-nsk$UNAME_RELEASE ++ ;; + NSE-*:NONSTOP_KERNEL:*:*) +- echo nse-tandem-nsk${UNAME_RELEASE} +- exit ;; +- NSR-?:NONSTOP_KERNEL:*:*) +- echo nsr-tandem-nsk${UNAME_RELEASE} +- exit ;; ++ GUESS=nse-tandem-nsk$UNAME_RELEASE ++ ;; ++ NSR-*:NONSTOP_KERNEL:*:*) ++ GUESS=nsr-tandem-nsk$UNAME_RELEASE ++ ;; ++ NSV-*:NONSTOP_KERNEL:*:*) ++ GUESS=nsv-tandem-nsk$UNAME_RELEASE ++ ;; ++ NSX-*:NONSTOP_KERNEL:*:*) ++ GUESS=nsx-tandem-nsk$UNAME_RELEASE ++ ;; + *:NonStop-UX:*:*) +- echo mips-compaq-nonstopux +- exit ;; ++ GUESS=mips-compaq-nonstopux ++ ;; + BS2000:POSIX*:*:*) +- echo bs2000-siemens-sysv +- exit ;; ++ GUESS=bs2000-siemens-sysv ++ ;; + DS/*:UNIX_System_V:*:*) +- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} +- exit ;; ++ GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE ++ ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. +- if test "$cputype" = "386"; then ++ if test "${cputype-}" = 386; then + UNAME_MACHINE=i386 +- else +- UNAME_MACHINE="$cputype" ++ elif test "x${cputype-}" != x; then ++ UNAME_MACHINE=$cputype + fi +- echo ${UNAME_MACHINE}-unknown-plan9 +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-plan9 ++ ;; + *:TOPS-10:*:*) +- echo pdp10-unknown-tops10 +- exit ;; ++ GUESS=pdp10-unknown-tops10 ++ ;; + *:TENEX:*:*) +- echo pdp10-unknown-tenex +- exit ;; ++ GUESS=pdp10-unknown-tenex ++ ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) +- echo pdp10-dec-tops20 +- exit ;; ++ GUESS=pdp10-dec-tops20 ++ ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) +- echo pdp10-xkl-tops20 +- exit ;; ++ GUESS=pdp10-xkl-tops20 ++ ;; + *:TOPS-20:*:*) +- echo pdp10-unknown-tops20 +- exit ;; ++ GUESS=pdp10-unknown-tops20 ++ ;; + *:ITS:*:*) +- echo pdp10-unknown-its +- exit ;; ++ GUESS=pdp10-unknown-its ++ ;; + SEI:*:*:SEIUX) +- echo mips-sei-seiux${UNAME_RELEASE} +- exit ;; ++ GUESS=mips-sei-seiux$UNAME_RELEASE ++ ;; + *:DragonFly:*:*) +- echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` +- exit ;; ++ DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` ++ GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL ++ ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` +- case "${UNAME_MACHINE}" in +- A*) echo alpha-dec-vms ; exit ;; +- I*) echo ia64-dec-vms ; exit ;; +- V*) echo vax-dec-vms ; exit ;; ++ case $UNAME_MACHINE in ++ A*) GUESS=alpha-dec-vms ;; ++ I*) GUESS=ia64-dec-vms ;; ++ V*) GUESS=vax-dec-vms ;; + esac ;; + *:XENIX:*:SysV) +- echo i386-pc-xenix +- exit ;; ++ GUESS=i386-pc-xenix ++ ;; + i*86:skyos:*:*) +- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' +- exit ;; ++ SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` ++ GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL ++ ;; + i*86:rdos:*:*) +- echo ${UNAME_MACHINE}-pc-rdos +- exit ;; +- i*86:AROS:*:*) +- echo ${UNAME_MACHINE}-pc-aros +- exit ;; ++ GUESS=$UNAME_MACHINE-pc-rdos ++ ;; ++ i*86:Fiwix:*:*) ++ GUESS=$UNAME_MACHINE-pc-fiwix ++ ;; ++ *:AROS:*:*) ++ GUESS=$UNAME_MACHINE-unknown-aros ++ ;; + x86_64:VMkernel:*:*) +- echo ${UNAME_MACHINE}-unknown-esx +- exit ;; ++ GUESS=$UNAME_MACHINE-unknown-esx ++ ;; ++ amd64:Isilon\ OneFS:*:*) ++ GUESS=x86_64-unknown-onefs ++ ;; ++ *:Unleashed:*:*) ++ GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE ++ ;; ++ *:Ironclad:*:*) ++ GUESS=$UNAME_MACHINE-unknown-ironclad ++ ;; + esac + ++# Do we have a guess based on uname results? ++if test "x$GUESS" != x; then ++ echo "$GUESS" ++ exit ++fi ++ ++# No uname command or uname output not recognized. ++set_cc_for_build ++cat > "$dummy.c" < ++#include ++#endif ++#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) ++#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) ++#include ++#if defined(_SIZE_T_) || defined(SIGLOST) ++#include ++#endif ++#endif ++#endif ++main () ++{ ++#if defined (sony) ++#if defined (MIPSEB) ++ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, ++ I don't know.... */ ++ printf ("mips-sony-bsd\n"); exit (0); ++#else ++#include ++ printf ("m68k-sony-newsos%s\n", ++#ifdef NEWSOS4 ++ "4" ++#else ++ "" ++#endif ++ ); exit (0); ++#endif ++#endif ++ ++#if defined (NeXT) ++#if !defined (__ARCHITECTURE__) ++#define __ARCHITECTURE__ "m68k" ++#endif ++ int version; ++ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; ++ if (version < 4) ++ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); ++ else ++ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); ++ exit (0); ++#endif ++ ++#if defined (MULTIMAX) || defined (n16) ++#if defined (UMAXV) ++ printf ("ns32k-encore-sysv\n"); exit (0); ++#else ++#if defined (CMU) ++ printf ("ns32k-encore-mach\n"); exit (0); ++#else ++ printf ("ns32k-encore-bsd\n"); exit (0); ++#endif ++#endif ++#endif ++ ++#if defined (__386BSD__) ++ printf ("i386-pc-bsd\n"); exit (0); ++#endif ++ ++#if defined (sequent) ++#if defined (i386) ++ printf ("i386-sequent-dynix\n"); exit (0); ++#endif ++#if defined (ns32000) ++ printf ("ns32k-sequent-dynix\n"); exit (0); ++#endif ++#endif ++ ++#if defined (_SEQUENT_) ++ struct utsname un; ++ ++ uname(&un); ++ if (strncmp(un.version, "V2", 2) == 0) { ++ printf ("i386-sequent-ptx2\n"); exit (0); ++ } ++ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ ++ printf ("i386-sequent-ptx1\n"); exit (0); ++ } ++ printf ("i386-sequent-ptx\n"); exit (0); ++#endif ++ ++#if defined (vax) ++#if !defined (ultrix) ++#include ++#if defined (BSD) ++#if BSD == 43 ++ printf ("vax-dec-bsd4.3\n"); exit (0); ++#else ++#if BSD == 199006 ++ printf ("vax-dec-bsd4.3reno\n"); exit (0); ++#else ++ printf ("vax-dec-bsd\n"); exit (0); ++#endif ++#endif ++#else ++ printf ("vax-dec-bsd\n"); exit (0); ++#endif ++#else ++#if defined(_SIZE_T_) || defined(SIGLOST) ++ struct utsname un; ++ uname (&un); ++ printf ("vax-dec-ultrix%s\n", un.release); exit (0); ++#else ++ printf ("vax-dec-ultrix\n"); exit (0); ++#endif ++#endif ++#endif ++#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) ++#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) ++#if defined(_SIZE_T_) || defined(SIGLOST) ++ struct utsname *un; ++ uname (&un); ++ printf ("mips-dec-ultrix%s\n", un.release); exit (0); ++#else ++ printf ("mips-dec-ultrix\n"); exit (0); ++#endif ++#endif ++#endif ++ ++#if defined (alliant) && defined (i860) ++ printf ("i860-alliant-bsd\n"); exit (0); ++#endif ++ ++ exit (1); ++} ++EOF ++ ++$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && ++ { echo "$SYSTEM_NAME"; exit; } ++ ++# Apollos put the system type in the environment. ++test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } ++ ++echo "$0: unable to guess system type" >&2 ++ ++case $UNAME_MACHINE:$UNAME_SYSTEM in ++ mips:Linux | mips64:Linux) ++ # If we got here on MIPS GNU/Linux, output extra information. ++ cat >&2 <&2 < in order to provide the needed +-information to handle your system. ++our_year=`echo $timestamp | sed 's,-.*,,'` ++thisyear=`date +%Y` ++# shellcheck disable=SC2003 ++script_age=`expr "$thisyear" - "$our_year"` ++if test "$script_age" -lt 3 ; then ++ cat >&2 </dev/null || echo unknown` +@@ -1405,16 +1795,17 @@ + /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` + /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +-UNAME_MACHINE = ${UNAME_MACHINE} +-UNAME_RELEASE = ${UNAME_RELEASE} +-UNAME_SYSTEM = ${UNAME_SYSTEM} +-UNAME_VERSION = ${UNAME_VERSION} ++UNAME_MACHINE = "$UNAME_MACHINE" ++UNAME_RELEASE = "$UNAME_RELEASE" ++UNAME_SYSTEM = "$UNAME_SYSTEM" ++UNAME_VERSION = "$UNAME_VERSION" + EOF ++fi + + exit 1 + + # Local variables: +-# eval: (add-hook 'write-file-hooks 'time-stamp) ++# eval: (add-hook 'before-save-hook 'time-stamp) + # time-stamp-start: "timestamp='" + # time-stamp-format: "%:y-%02m-%02d" + # time-stamp-end: "'" +diff --color -urN a/hdf5-1.12.0/bin/config.sub b/hdf5-1.12.0/bin/config.sub +--- a/hdf5-1.12.0/bin/config.sub 2020-02-29 00:52:21 ++++ b/hdf5-1.12.0/bin/config.sub 2024-12-06 13:30:08 +@@ -1,12 +1,14 @@ + #! /bin/sh + # Configuration validation subroutine script. +-# Copyright 1992-2014 Free Software Foundation, Inc. ++# Copyright 1992-2024 Free Software Foundation, Inc. + +-timestamp='2014-12-03' ++# shellcheck disable=SC2006,SC2268 # see below for rationale + ++timestamp='2024-01-01' ++ + # This file is free software; you can redistribute it and/or modify it + # under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 3 of the License, or ++# the Free Software Foundation, either version 3 of the License, or + # (at your option) any later version. + # + # This program is distributed in the hope that it will be useful, but +@@ -15,7 +17,7 @@ + # General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, see . ++# along with this program; if not, see . + # + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a +@@ -33,7 +35,7 @@ + # Otherwise, we print the canonical config type on stdout and succeed. + + # You can get the latest version of this script from: +-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD ++# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub + + # This file is supposed to be the same for all GNU packages + # and recognize all the CPU types, system types and aliases +@@ -50,15 +52,21 @@ + # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM + # It is wrong to echo any other type of specification. + ++# The "shellcheck disable" line above the timestamp inhibits complaints ++# about features and limitations of the classic Bourne shell that were ++# superseded or lifted in POSIX. However, this script identifies a wide ++# variety of pre-POSIX systems that do not have POSIX shells at all, and ++# even some reasonably current systems (Solaris 10 as case-in-point) still ++# have a pre-POSIX /bin/sh. ++ + me=`echo "$0" | sed -e 's,.*/,,'` + + usage="\ +-Usage: $0 [OPTION] CPU-MFR-OPSYS +- $0 [OPTION] ALIAS ++Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS + + Canonicalize a configuration name. + +-Operation modes: ++Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit +@@ -68,13 +76,13 @@ + version="\ + GNU config.sub ($timestamp) + +-Copyright 1992-2014 Free Software Foundation, Inc. ++Copyright 1992-2024 Free Software Foundation, Inc. + + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + + help=" +-Try \`$me --help' for more information." ++Try '$me --help' for more information." + + # Parse command line + while test $# -gt 0 ; do +@@ -90,12 +98,12 @@ + - ) # Use stdin as input. + break ;; + -* ) +- echo "$me: invalid option $1$help" ++ echo "$me: invalid option $1$help" >&2 + exit 1 ;; + + *local*) + # First pass through any local machine types. +- echo $1 ++ echo "$1" + exit ;; + + * ) +@@ -111,1228 +119,1167 @@ + exit 1;; + esac + +-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +-# Here we must recognize all the valid KERNEL-OS combinations. +-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +-case $maybe_os in +- nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ +- linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ +- knetbsd*-gnu* | netbsd*-gnu* | \ +- kopensolaris*-gnu* | \ +- storm-chaos* | os2-emx* | rtmk-nova*) +- os=-$maybe_os +- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` +- ;; +- android-linux) +- os=-linux-android +- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown +- ;; +- *) +- basic_machine=`echo $1 | sed 's/-[^-]*$//'` +- if [ $basic_machine != $1 ] +- then os=`echo $1 | sed 's/.*-/-/'` +- else os=; fi +- ;; +-esac ++# Split fields of configuration type ++# shellcheck disable=SC2162 ++saved_IFS=$IFS ++IFS="-" read field1 field2 field3 field4 <&2 ++ exit 1 + ;; +- -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ +- -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ +- -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ +- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ +- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ +- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ +- -apple | -axis | -knuth | -cray | -microblaze*) +- os= +- basic_machine=$1 ++ *-*-*-*) ++ basic_machine=$field1-$field2 ++ basic_os=$field3-$field4 + ;; +- -bluegene*) +- os=-cnk ++ *-*-*) ++ # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two ++ # parts ++ maybe_os=$field2-$field3 ++ case $maybe_os 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* | managarm-* \ ++ | windows-* ) ++ basic_machine=$field1 ++ basic_os=$maybe_os ++ ;; ++ android-linux) ++ basic_machine=$field1-unknown ++ basic_os=linux-android ++ ;; ++ *) ++ basic_machine=$field1-$field2 ++ basic_os=$field3 ++ ;; ++ esac + ;; +- -sim | -cisco | -oki | -wec | -winbond) +- os= +- basic_machine=$1 ++ *-*) ++ # A lone config we happen to match not fitting any pattern ++ case $field1-$field2 in ++ decstation-3100) ++ basic_machine=mips-dec ++ basic_os= ++ ;; ++ *-*) ++ # Second component is usually, but not always the OS ++ case $field2 in ++ # Prevent following clause from handling this valid os ++ sun*os*) ++ basic_machine=$field1 ++ basic_os=$field2 ++ ;; ++ zephyr*) ++ basic_machine=$field1-unknown ++ basic_os=$field2 ++ ;; ++ # Manufacturers ++ dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ ++ | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ ++ | unicom* | ibm* | next | hp | isi* | apollo | altos* \ ++ | convergent* | ncr* | news | 32* | 3600* | 3100* \ ++ | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ ++ | ultra | tti* | harris | dolphin | highlevel | gould \ ++ | cbm | ns | masscomp | apple | axis | knuth | cray \ ++ | microblaze* | sim | cisco \ ++ | oki | wec | wrs | winbond) ++ basic_machine=$field1-$field2 ++ basic_os= ++ ;; ++ *) ++ basic_machine=$field1 ++ basic_os=$field2 ++ ;; ++ esac ++ ;; ++ esac + ;; +- -scout) ++ *) ++ # Convert single-component short-hands not valid as part of ++ # multi-component configurations. ++ case $field1 in ++ 386bsd) ++ basic_machine=i386-pc ++ basic_os=bsd ++ ;; ++ a29khif) ++ basic_machine=a29k-amd ++ basic_os=udi ++ ;; ++ adobe68k) ++ basic_machine=m68010-adobe ++ basic_os=scout ++ ;; ++ alliant) ++ basic_machine=fx80-alliant ++ basic_os= ++ ;; ++ altos | altos3068) ++ basic_machine=m68k-altos ++ basic_os= ++ ;; ++ am29k) ++ basic_machine=a29k-none ++ basic_os=bsd ++ ;; ++ amdahl) ++ basic_machine=580-amdahl ++ basic_os=sysv ++ ;; ++ amiga) ++ basic_machine=m68k-unknown ++ basic_os= ++ ;; ++ amigaos | amigados) ++ basic_machine=m68k-unknown ++ basic_os=amigaos ++ ;; ++ amigaunix | amix) ++ basic_machine=m68k-unknown ++ basic_os=sysv4 ++ ;; ++ apollo68) ++ basic_machine=m68k-apollo ++ basic_os=sysv ++ ;; ++ apollo68bsd) ++ basic_machine=m68k-apollo ++ basic_os=bsd ++ ;; ++ aros) ++ basic_machine=i386-pc ++ basic_os=aros ++ ;; ++ aux) ++ basic_machine=m68k-apple ++ basic_os=aux ++ ;; ++ balance) ++ basic_machine=ns32k-sequent ++ basic_os=dynix ++ ;; ++ blackfin) ++ basic_machine=bfin-unknown ++ basic_os=linux ++ ;; ++ cegcc) ++ basic_machine=arm-unknown ++ basic_os=cegcc ++ ;; ++ convex-c1) ++ basic_machine=c1-convex ++ basic_os=bsd ++ ;; ++ convex-c2) ++ basic_machine=c2-convex ++ basic_os=bsd ++ ;; ++ convex-c32) ++ basic_machine=c32-convex ++ basic_os=bsd ++ ;; ++ convex-c34) ++ basic_machine=c34-convex ++ basic_os=bsd ++ ;; ++ convex-c38) ++ basic_machine=c38-convex ++ basic_os=bsd ++ ;; ++ cray) ++ basic_machine=j90-cray ++ basic_os=unicos ++ ;; ++ crds | unos) ++ basic_machine=m68k-crds ++ basic_os= ++ ;; ++ da30) ++ basic_machine=m68k-da30 ++ basic_os= ++ ;; ++ decstation | pmax | pmin | dec3100 | decstatn) ++ basic_machine=mips-dec ++ basic_os= ++ ;; ++ delta88) ++ basic_machine=m88k-motorola ++ basic_os=sysv3 ++ ;; ++ dicos) ++ basic_machine=i686-pc ++ basic_os=dicos ++ ;; ++ djgpp) ++ basic_machine=i586-pc ++ basic_os=msdosdjgpp ++ ;; ++ ebmon29k) ++ basic_machine=a29k-amd ++ basic_os=ebmon ++ ;; ++ es1800 | OSE68k | ose68k | ose | OSE) ++ basic_machine=m68k-ericsson ++ basic_os=ose ++ ;; ++ gmicro) ++ basic_machine=tron-gmicro ++ basic_os=sysv ++ ;; ++ go32) ++ basic_machine=i386-pc ++ basic_os=go32 ++ ;; ++ h8300hms) ++ basic_machine=h8300-hitachi ++ basic_os=hms ++ ;; ++ h8300xray) ++ basic_machine=h8300-hitachi ++ basic_os=xray ++ ;; ++ h8500hms) ++ basic_machine=h8500-hitachi ++ basic_os=hms ++ ;; ++ harris) ++ basic_machine=m88k-harris ++ basic_os=sysv3 ++ ;; ++ hp300 | hp300hpux) ++ basic_machine=m68k-hp ++ basic_os=hpux ++ ;; ++ hp300bsd) ++ basic_machine=m68k-hp ++ basic_os=bsd ++ ;; ++ hppaosf) ++ basic_machine=hppa1.1-hp ++ basic_os=osf ++ ;; ++ hppro) ++ basic_machine=hppa1.1-hp ++ basic_os=proelf ++ ;; ++ i386mach) ++ basic_machine=i386-mach ++ basic_os=mach ++ ;; ++ isi68 | isi) ++ basic_machine=m68k-isi ++ basic_os=sysv ++ ;; ++ m68knommu) ++ basic_machine=m68k-unknown ++ basic_os=linux ++ ;; ++ magnum | m3230) ++ basic_machine=mips-mips ++ basic_os=sysv ++ ;; ++ merlin) ++ basic_machine=ns32k-utek ++ basic_os=sysv ++ ;; ++ mingw64) ++ basic_machine=x86_64-pc ++ basic_os=mingw64 ++ ;; ++ mingw32) ++ basic_machine=i686-pc ++ basic_os=mingw32 ++ ;; ++ mingw32ce) ++ basic_machine=arm-unknown ++ basic_os=mingw32ce ++ ;; ++ monitor) ++ basic_machine=m68k-rom68k ++ basic_os=coff ++ ;; ++ morphos) ++ basic_machine=powerpc-unknown ++ basic_os=morphos ++ ;; ++ moxiebox) ++ basic_machine=moxie-unknown ++ basic_os=moxiebox ++ ;; ++ msdos) ++ basic_machine=i386-pc ++ basic_os=msdos ++ ;; ++ msys) ++ basic_machine=i686-pc ++ basic_os=msys ++ ;; ++ mvs) ++ basic_machine=i370-ibm ++ basic_os=mvs ++ ;; ++ nacl) ++ basic_machine=le32-unknown ++ basic_os=nacl ++ ;; ++ ncr3000) ++ basic_machine=i486-ncr ++ basic_os=sysv4 ++ ;; ++ netbsd386) ++ basic_machine=i386-pc ++ basic_os=netbsd ++ ;; ++ netwinder) ++ basic_machine=armv4l-rebel ++ basic_os=linux ++ ;; ++ news | news700 | news800 | news900) ++ basic_machine=m68k-sony ++ basic_os=newsos ++ ;; ++ news1000) ++ basic_machine=m68030-sony ++ basic_os=newsos ++ ;; ++ necv70) ++ basic_machine=v70-nec ++ basic_os=sysv ++ ;; ++ nh3000) ++ basic_machine=m68k-harris ++ basic_os=cxux ++ ;; ++ nh[45]000) ++ basic_machine=m88k-harris ++ basic_os=cxux ++ ;; ++ nindy960) ++ basic_machine=i960-intel ++ basic_os=nindy ++ ;; ++ mon960) ++ basic_machine=i960-intel ++ basic_os=mon960 ++ ;; ++ nonstopux) ++ basic_machine=mips-compaq ++ basic_os=nonstopux ++ ;; ++ os400) ++ basic_machine=powerpc-ibm ++ basic_os=os400 ++ ;; ++ OSE68000 | ose68000) ++ basic_machine=m68000-ericsson ++ basic_os=ose ++ ;; ++ os68k) ++ basic_machine=m68k-none ++ basic_os=os68k ++ ;; ++ paragon) ++ basic_machine=i860-intel ++ basic_os=osf ++ ;; ++ parisc) ++ basic_machine=hppa-unknown ++ basic_os=linux ++ ;; ++ psp) ++ basic_machine=mipsallegrexel-sony ++ basic_os=psp ++ ;; ++ pw32) ++ basic_machine=i586-unknown ++ basic_os=pw32 ++ ;; ++ rdos | rdos64) ++ basic_machine=x86_64-pc ++ basic_os=rdos ++ ;; ++ rdos32) ++ basic_machine=i386-pc ++ basic_os=rdos ++ ;; ++ rom68k) ++ basic_machine=m68k-rom68k ++ basic_os=coff ++ ;; ++ sa29200) ++ basic_machine=a29k-amd ++ basic_os=udi ++ ;; ++ sei) ++ basic_machine=mips-sei ++ basic_os=seiux ++ ;; ++ sequent) ++ basic_machine=i386-sequent ++ basic_os= ++ ;; ++ sps7) ++ basic_machine=m68k-bull ++ basic_os=sysv2 ++ ;; ++ st2000) ++ basic_machine=m68k-tandem ++ basic_os= ++ ;; ++ stratus) ++ basic_machine=i860-stratus ++ basic_os=sysv4 ++ ;; ++ sun2) ++ basic_machine=m68000-sun ++ basic_os= ++ ;; ++ sun2os3) ++ basic_machine=m68000-sun ++ basic_os=sunos3 ++ ;; ++ sun2os4) ++ basic_machine=m68000-sun ++ basic_os=sunos4 ++ ;; ++ sun3) ++ basic_machine=m68k-sun ++ basic_os= ++ ;; ++ sun3os3) ++ basic_machine=m68k-sun ++ basic_os=sunos3 ++ ;; ++ sun3os4) ++ basic_machine=m68k-sun ++ basic_os=sunos4 ++ ;; ++ sun4) ++ basic_machine=sparc-sun ++ basic_os= ++ ;; ++ sun4os3) ++ basic_machine=sparc-sun ++ basic_os=sunos3 ++ ;; ++ sun4os4) ++ basic_machine=sparc-sun ++ basic_os=sunos4 ++ ;; ++ sun4sol2) ++ basic_machine=sparc-sun ++ basic_os=solaris2 ++ ;; ++ sun386 | sun386i | roadrunner) ++ basic_machine=i386-sun ++ basic_os= ++ ;; ++ sv1) ++ basic_machine=sv1-cray ++ basic_os=unicos ++ ;; ++ symmetry) ++ basic_machine=i386-sequent ++ basic_os=dynix ++ ;; ++ t3e) ++ basic_machine=alphaev5-cray ++ basic_os=unicos ++ ;; ++ t90) ++ basic_machine=t90-cray ++ basic_os=unicos ++ ;; ++ toad1) ++ basic_machine=pdp10-xkl ++ basic_os=tops20 ++ ;; ++ tpf) ++ basic_machine=s390x-ibm ++ basic_os=tpf ++ ;; ++ udi29k) ++ basic_machine=a29k-amd ++ basic_os=udi ++ ;; ++ ultra3) ++ basic_machine=a29k-nyu ++ basic_os=sym1 ++ ;; ++ v810 | necv810) ++ basic_machine=v810-nec ++ basic_os=none ++ ;; ++ vaxv) ++ basic_machine=vax-dec ++ basic_os=sysv ++ ;; ++ vms) ++ basic_machine=vax-dec ++ basic_os=vms ++ ;; ++ vsta) ++ basic_machine=i386-pc ++ basic_os=vsta ++ ;; ++ vxworks960) ++ basic_machine=i960-wrs ++ basic_os=vxworks ++ ;; ++ vxworks68) ++ basic_machine=m68k-wrs ++ basic_os=vxworks ++ ;; ++ vxworks29k) ++ basic_machine=a29k-wrs ++ basic_os=vxworks ++ ;; ++ xbox) ++ basic_machine=i686-pc ++ basic_os=mingw32 ++ ;; ++ ymp) ++ basic_machine=ymp-cray ++ basic_os=unicos ++ ;; ++ *) ++ basic_machine=$1 ++ basic_os= ++ ;; ++ esac + ;; +- -wrs) +- os=-vxworks +- basic_machine=$1 +- ;; +- -chorusos*) +- os=-chorusos +- basic_machine=$1 +- ;; +- -chorusrdb) +- os=-chorusrdb +- basic_machine=$1 +- ;; +- -hiux*) +- os=-hiuxwe2 +- ;; +- -sco6) +- os=-sco5v6 +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +- ;; +- -sco5) +- os=-sco3.2v5 +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +- ;; +- -sco4) +- os=-sco3.2v4 +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +- ;; +- -sco3.2.[4-9]*) +- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +- ;; +- -sco3.2v[4-9]*) +- # Don't forget version if it is 3.2v4 or newer. +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +- ;; +- -sco5v6*) +- # Don't forget version if it is 3.2v4 or newer. +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +- ;; +- -sco*) +- os=-sco3.2v2 +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +- ;; +- -udk*) +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +- ;; +- -isc) +- os=-isc2.2 +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +- ;; +- -clix*) +- basic_machine=clipper-intergraph +- ;; +- -isc*) +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +- ;; +- -lynx*178) +- os=-lynxos178 +- ;; +- -lynx*5) +- os=-lynxos5 +- ;; +- -lynx*) +- os=-lynxos +- ;; +- -ptx*) +- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` +- ;; +- -windowsnt*) +- os=`echo $os | sed -e 's/windowsnt/winnt/'` +- ;; +- -psos*) +- os=-psos +- ;; +- -mint | -mint[0-9]*) +- basic_machine=m68k-atari +- os=-mint +- ;; + esac + +-# Decode aliases for certain CPU-COMPANY combinations. ++# Decode 1-component or ad-hoc basic machines + case $basic_machine in +- # Recognize the basic CPU types without company name. +- # Some are omitted here because they have special meanings below. +- 1750a | 580 \ +- | a29k \ +- | aarch64 | aarch64_be \ +- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ +- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ +- | am33_2.0 \ +- | arc | arceb \ +- | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ +- | avr | avr32 \ +- | be32 | be64 \ +- | bfin \ +- | c4x | c8051 | clipper \ +- | d10v | d30v | dlx | dsp16xx \ +- | epiphany \ +- | fido | fr30 | frv \ +- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ +- | hexagon \ +- | i370 | i860 | i960 | ia64 \ +- | ip2k | iq2000 \ +- | k1om \ +- | le32 | le64 \ +- | lm32 \ +- | m32c | m32r | m32rle | m68000 | m68k | m88k \ +- | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ +- | mips | mipsbe | mipseb | mipsel | mipsle \ +- | mips16 \ +- | mips64 | mips64el \ +- | mips64octeon | mips64octeonel \ +- | mips64orion | mips64orionel \ +- | mips64r5900 | mips64r5900el \ +- | mips64vr | mips64vrel \ +- | mips64vr4100 | mips64vr4100el \ +- | mips64vr4300 | mips64vr4300el \ +- | mips64vr5000 | mips64vr5000el \ +- | mips64vr5900 | mips64vr5900el \ +- | mipsisa32 | mipsisa32el \ +- | mipsisa32r2 | mipsisa32r2el \ +- | mipsisa32r6 | mipsisa32r6el \ +- | mipsisa64 | mipsisa64el \ +- | mipsisa64r2 | mipsisa64r2el \ +- | mipsisa64r6 | mipsisa64r6el \ +- | mipsisa64sb1 | mipsisa64sb1el \ +- | mipsisa64sr71k | mipsisa64sr71kel \ +- | mipsr5900 | mipsr5900el \ +- | mipstx39 | mipstx39el \ +- | mn10200 | mn10300 \ +- | moxie \ +- | mt \ +- | msp430 \ +- | nds32 | nds32le | nds32be \ +- | nios | nios2 | nios2eb | nios2el \ +- | ns16k | ns32k \ +- | open8 | or1k | or1knd | or32 \ +- | pdp10 | pdp11 | pj | pjl \ +- | powerpc | powerpc64 | powerpc64le | powerpcle \ +- | pyramid \ +- | riscv32 | riscv64 \ +- | rl78 | rx \ +- | score \ +- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ +- | sh64 | sh64le \ +- | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ +- | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ +- | spu \ +- | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ +- | ubicom32 \ +- | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ +- | visium \ +- | we32k \ +- | x86 | xc16x | xstormy16 | xtensa \ +- | z8k | z80) +- basic_machine=$basic_machine-unknown ++ # Here we handle the default manufacturer of certain CPU types. It is in ++ # some cases the only manufacturer, in others, it is the most popular. ++ w89k) ++ cpu=hppa1.1 ++ vendor=winbond + ;; +- c54x) +- basic_machine=tic54x-unknown ++ op50n) ++ cpu=hppa1.1 ++ vendor=oki + ;; +- c55x) +- basic_machine=tic55x-unknown ++ op60c) ++ cpu=hppa1.1 ++ vendor=oki + ;; +- c6x) +- basic_machine=tic6x-unknown ++ ibm*) ++ cpu=i370 ++ vendor=ibm + ;; +- leon|leon[3-9]) +- basic_machine=sparc-$basic_machine ++ orion105) ++ cpu=clipper ++ vendor=highlevel + ;; +- m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) +- basic_machine=$basic_machine-unknown +- os=-none ++ mac | mpw | mac-mpw) ++ cpu=m68k ++ vendor=apple + ;; +- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ++ pmac | pmac-mpw) ++ cpu=powerpc ++ vendor=apple + ;; +- ms1) +- basic_machine=mt-unknown +- ;; + +- strongarm | thumb | xscale) +- basic_machine=arm-unknown +- ;; +- xgate) +- basic_machine=$basic_machine-unknown +- os=-none +- ;; +- xscaleeb) +- basic_machine=armeb-unknown +- ;; +- +- xscaleel) +- basic_machine=armel-unknown +- ;; +- +- # We use `pc' rather than `unknown' +- # because (1) that's what they normally are, and +- # (2) the word "unknown" tends to confuse beginning users. +- i*86 | x86_64) +- basic_machine=$basic_machine-pc +- ;; +- # Object if more than one company name word. +- *-*-*) +- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 +- exit 1 +- ;; +- # Recognize the basic CPU types with company name. +- 580-* \ +- | a29k-* \ +- | aarch64-* | aarch64_be-* \ +- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ +- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ +- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ +- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ +- | avr-* | avr32-* \ +- | be32-* | be64-* \ +- | bfin-* | bs2000-* \ +- | c[123]* | c30-* | [cjt]90-* | c4x-* \ +- | c8051-* | clipper-* | craynv-* | cydra-* \ +- | d10v-* | d30v-* | dlx-* \ +- | elxsi-* \ +- | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ +- | h8300-* | h8500-* \ +- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ +- | hexagon-* \ +- | i*86-* | i860-* | i960-* | ia64-* \ +- | ip2k-* | iq2000-* \ +- | k1om-* \ +- | le32-* | le64-* \ +- | lm32-* \ +- | m32c-* | m32r-* | m32rle-* \ +- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ +- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ +- | microblaze-* | microblazeel-* \ +- | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ +- | mips16-* \ +- | mips64-* | mips64el-* \ +- | mips64octeon-* | mips64octeonel-* \ +- | mips64orion-* | mips64orionel-* \ +- | mips64r5900-* | mips64r5900el-* \ +- | mips64vr-* | mips64vrel-* \ +- | mips64vr4100-* | mips64vr4100el-* \ +- | mips64vr4300-* | mips64vr4300el-* \ +- | mips64vr5000-* | mips64vr5000el-* \ +- | mips64vr5900-* | mips64vr5900el-* \ +- | mipsisa32-* | mipsisa32el-* \ +- | mipsisa32r2-* | mipsisa32r2el-* \ +- | mipsisa32r6-* | mipsisa32r6el-* \ +- | mipsisa64-* | mipsisa64el-* \ +- | mipsisa64r2-* | mipsisa64r2el-* \ +- | mipsisa64r6-* | mipsisa64r6el-* \ +- | mipsisa64sb1-* | mipsisa64sb1el-* \ +- | mipsisa64sr71k-* | mipsisa64sr71kel-* \ +- | mipsr5900-* | mipsr5900el-* \ +- | mipstx39-* | mipstx39el-* \ +- | mmix-* \ +- | mt-* \ +- | msp430-* \ +- | nds32-* | nds32le-* | nds32be-* \ +- | nios-* | nios2-* | nios2eb-* | nios2el-* \ +- | none-* | np1-* | ns16k-* | ns32k-* \ +- | open8-* \ +- | or1k*-* \ +- | orion-* \ +- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ +- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ +- | pyramid-* \ +- | rl78-* | romp-* | rs6000-* | rx-* \ +- | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ +- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ +- | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ +- | sparclite-* \ +- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ +- | tahoe-* \ +- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ +- | tile*-* \ +- | tron-* \ +- | ubicom32-* \ +- | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ +- | vax-* \ +- | visium-* \ +- | we32k-* \ +- | x86-* | x86_64-* | xc16x-* | xps100-* \ +- | xstormy16-* | xtensa*-* \ +- | ymp-* \ +- | z8k-* | z80-*) +- ;; +- # Recognize the basic CPU types without company name, with glob match. +- xtensa*) +- basic_machine=$basic_machine-unknown +- ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. +- 386bsd) +- basic_machine=i386-unknown +- os=-bsd +- ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) +- basic_machine=m68000-att ++ cpu=m68000 ++ vendor=att + ;; + 3b*) +- basic_machine=we32k-att ++ cpu=we32k ++ vendor=att + ;; +- a29khif) +- basic_machine=a29k-amd +- os=-udi +- ;; +- abacus) +- basic_machine=abacus-unknown +- ;; +- adobe68k) +- basic_machine=m68010-adobe +- os=-scout +- ;; +- alliant | fx80) +- basic_machine=fx80-alliant +- ;; +- altos | altos3068) +- basic_machine=m68k-altos +- ;; +- am29k) +- basic_machine=a29k-none +- os=-bsd +- ;; +- amd64) +- basic_machine=x86_64-pc +- ;; +- amd64-*) +- basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- amdahl) +- basic_machine=580-amdahl +- os=-sysv +- ;; +- amiga | amiga-*) +- basic_machine=m68k-unknown +- ;; +- amigaos | amigados) +- basic_machine=m68k-unknown +- os=-amigaos +- ;; +- amigaunix | amix) +- basic_machine=m68k-unknown +- os=-sysv4 +- ;; +- apollo68) +- basic_machine=m68k-apollo +- os=-sysv +- ;; +- apollo68bsd) +- basic_machine=m68k-apollo +- os=-bsd +- ;; +- aros) +- basic_machine=i386-pc +- os=-aros +- ;; +- aux) +- basic_machine=m68k-apple +- os=-aux +- ;; +- balance) +- basic_machine=ns32k-sequent +- os=-dynix +- ;; +- blackfin) +- basic_machine=bfin-unknown +- os=-linux +- ;; +- blackfin-*) +- basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` +- os=-linux +- ;; + bluegene*) +- basic_machine=powerpc-ibm +- os=-cnk ++ cpu=powerpc ++ vendor=ibm ++ basic_os=cnk + ;; +- c54x-*) +- basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- c55x-*) +- basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- c6x-*) +- basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- c90) +- basic_machine=c90-cray +- os=-unicos +- ;; +- cegcc) +- basic_machine=arm-unknown +- os=-cegcc +- ;; +- convex-c1) +- basic_machine=c1-convex +- os=-bsd +- ;; +- convex-c2) +- basic_machine=c2-convex +- os=-bsd +- ;; +- convex-c32) +- basic_machine=c32-convex +- os=-bsd +- ;; +- convex-c34) +- basic_machine=c34-convex +- os=-bsd +- ;; +- convex-c38) +- basic_machine=c38-convex +- os=-bsd +- ;; +- cray | j90) +- basic_machine=j90-cray +- os=-unicos +- ;; +- craynv) +- basic_machine=craynv-cray +- os=-unicosmp +- ;; +- cr16 | cr16-*) +- basic_machine=cr16-unknown +- os=-elf +- ;; +- crds | unos) +- basic_machine=m68k-crds +- ;; +- crisv32 | crisv32-* | etraxfs*) +- basic_machine=crisv32-axis +- ;; +- cris | cris-* | etrax*) +- basic_machine=cris-axis +- ;; +- crx) +- basic_machine=crx-unknown +- os=-elf +- ;; +- da30 | da30-*) +- basic_machine=m68k-da30 +- ;; +- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) +- basic_machine=mips-dec +- ;; + decsystem10* | dec10*) +- basic_machine=pdp10-dec +- os=-tops10 ++ cpu=pdp10 ++ vendor=dec ++ basic_os=tops10 + ;; + decsystem20* | dec20*) +- basic_machine=pdp10-dec +- os=-tops20 ++ cpu=pdp10 ++ vendor=dec ++ basic_os=tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) +- basic_machine=m68k-motorola ++ cpu=m68k ++ vendor=motorola + ;; +- delta88) +- basic_machine=m88k-motorola +- os=-sysv3 ++ dpx2*) ++ cpu=m68k ++ vendor=bull ++ basic_os=sysv3 + ;; +- dicos) +- basic_machine=i686-pc +- os=-dicos ++ encore | umax | mmax) ++ cpu=ns32k ++ vendor=encore + ;; +- djgpp) +- basic_machine=i586-pc +- os=-msdosdjgpp +- ;; +- dpx20 | dpx20-*) +- basic_machine=rs6000-bull +- os=-bosx +- ;; +- dpx2* | dpx2*-bull) +- basic_machine=m68k-bull +- os=-sysv3 +- ;; +- ebmon29k) +- basic_machine=a29k-amd +- os=-ebmon +- ;; + elxsi) +- basic_machine=elxsi-elxsi +- os=-bsd ++ cpu=elxsi ++ vendor=elxsi ++ basic_os=${basic_os:-bsd} + ;; +- encore | umax | mmax) +- basic_machine=ns32k-encore +- ;; +- es1800 | OSE68k | ose68k | ose | OSE) +- basic_machine=m68k-ericsson +- os=-ose +- ;; + fx2800) +- basic_machine=i860-alliant ++ cpu=i860 ++ vendor=alliant + ;; + genix) +- basic_machine=ns32k-ns ++ cpu=ns32k ++ vendor=ns + ;; +- gmicro) +- basic_machine=tron-gmicro +- os=-sysv +- ;; +- go32) +- basic_machine=i386-pc +- os=-go32 +- ;; + h3050r* | hiux*) +- basic_machine=hppa1.1-hitachi +- os=-hiuxwe2 ++ cpu=hppa1.1 ++ vendor=hitachi ++ basic_os=hiuxwe2 + ;; +- h8300hms) +- basic_machine=h8300-hitachi +- os=-hms +- ;; +- h8300xray) +- basic_machine=h8300-hitachi +- os=-xray +- ;; +- h8500hms) +- basic_machine=h8500-hitachi +- os=-hms +- ;; +- harris) +- basic_machine=m88k-harris +- os=-sysv3 +- ;; +- hp300-*) +- basic_machine=m68k-hp +- ;; +- hp300bsd) +- basic_machine=m68k-hp +- os=-bsd +- ;; +- hp300hpux) +- basic_machine=m68k-hp +- os=-hpux +- ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) +- basic_machine=hppa1.0-hp ++ cpu=hppa1.0 ++ vendor=hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) +- basic_machine=m68000-hp ++ cpu=m68000 ++ vendor=hp + ;; + hp9k3[2-9][0-9]) +- basic_machine=m68k-hp ++ cpu=m68k ++ vendor=hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) +- basic_machine=hppa1.0-hp ++ cpu=hppa1.0 ++ vendor=hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) +- basic_machine=hppa1.1-hp ++ cpu=hppa1.1 ++ vendor=hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp +- basic_machine=hppa1.1-hp ++ cpu=hppa1.1 ++ vendor=hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp +- basic_machine=hppa1.1-hp ++ cpu=hppa1.1 ++ vendor=hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) +- basic_machine=hppa1.1-hp ++ cpu=hppa1.1 ++ vendor=hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) +- basic_machine=hppa1.0-hp ++ cpu=hppa1.0 ++ vendor=hp + ;; +- hppa-next) +- os=-nextstep3 +- ;; +- hppaosf) +- basic_machine=hppa1.1-hp +- os=-osf +- ;; +- hppro) +- basic_machine=hppa1.1-hp +- os=-proelf +- ;; +- i370-ibm* | ibm*) +- basic_machine=i370-ibm +- ;; + i*86v32) +- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` +- os=-sysv32 ++ cpu=`echo "$1" | sed -e 's/86.*/86/'` ++ vendor=pc ++ basic_os=sysv32 + ;; + i*86v4*) +- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` +- os=-sysv4 ++ cpu=`echo "$1" | sed -e 's/86.*/86/'` ++ vendor=pc ++ basic_os=sysv4 + ;; + i*86v) +- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` +- os=-sysv ++ cpu=`echo "$1" | sed -e 's/86.*/86/'` ++ vendor=pc ++ basic_os=sysv + ;; + i*86sol2) +- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` +- os=-solaris2 ++ cpu=`echo "$1" | sed -e 's/86.*/86/'` ++ vendor=pc ++ basic_os=solaris2 + ;; +- i386mach) +- basic_machine=i386-mach +- os=-mach ++ j90 | j90-cray) ++ cpu=j90 ++ vendor=cray ++ basic_os=${basic_os:-unicos} + ;; +- i386-vsta | vsta) +- basic_machine=i386-unknown +- os=-vsta +- ;; + iris | iris4d) +- basic_machine=mips-sgi +- case $os in +- -irix*) ++ cpu=mips ++ vendor=sgi ++ case $basic_os in ++ irix*) + ;; + *) +- os=-irix4 ++ basic_os=irix4 + ;; + esac + ;; +- isi68 | isi) +- basic_machine=m68k-isi +- os=-sysv +- ;; +- leon-*|leon[3-9]-*) +- basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` +- ;; +- m68knommu) +- basic_machine=m68k-unknown +- os=-linux +- ;; +- m68knommu-*) +- basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` +- os=-linux +- ;; +- m88k-omron*) +- basic_machine=m88k-omron +- ;; +- magnum | m3230) +- basic_machine=mips-mips +- os=-sysv +- ;; +- merlin) +- basic_machine=ns32k-utek +- os=-sysv +- ;; +- microblaze*) +- basic_machine=microblaze-xilinx +- ;; +- mingw64) +- basic_machine=x86_64-pc +- os=-mingw64 +- ;; +- mingw32) +- basic_machine=i686-pc +- os=-mingw32 +- ;; +- mingw32ce) +- basic_machine=arm-unknown +- os=-mingw32ce +- ;; + miniframe) +- basic_machine=m68000-convergent ++ cpu=m68000 ++ vendor=convergent + ;; +- *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) +- basic_machine=m68k-atari +- os=-mint ++ *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) ++ cpu=m68k ++ vendor=atari ++ basic_os=mint + ;; +- mips3*-*) +- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` +- ;; +- mips3*) +- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown +- ;; +- monitor) +- basic_machine=m68k-rom68k +- os=-coff +- ;; +- morphos) +- basic_machine=powerpc-unknown +- os=-morphos +- ;; +- moxiebox) +- basic_machine=moxie-unknown +- os=-moxiebox +- ;; +- msdos) +- basic_machine=i386-pc +- os=-msdos +- ;; +- ms1-*) +- basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` +- ;; +- msys) +- basic_machine=i686-pc +- os=-msys +- ;; +- mvs) +- basic_machine=i370-ibm +- os=-mvs +- ;; +- nacl) +- basic_machine=le32-unknown +- os=-nacl +- ;; +- ncr3000) +- basic_machine=i486-ncr +- os=-sysv4 +- ;; +- netbsd386) +- basic_machine=i386-unknown +- os=-netbsd +- ;; +- netwinder) +- basic_machine=armv4l-rebel +- os=-linux +- ;; +- news | news700 | news800 | news900) +- basic_machine=m68k-sony +- os=-newsos +- ;; +- news1000) +- basic_machine=m68030-sony +- os=-newsos +- ;; + news-3600 | risc-news) +- basic_machine=mips-sony +- os=-newsos ++ cpu=mips ++ vendor=sony ++ basic_os=newsos + ;; +- necv70) +- basic_machine=v70-nec +- os=-sysv +- ;; +- next | m*-next ) +- basic_machine=m68k-next +- case $os in +- -nextstep* ) ++ next | m*-next) ++ cpu=m68k ++ vendor=next ++ case $basic_os in ++ openstep*) ++ ;; ++ nextstep*) + ;; +- -ns2*) +- os=-nextstep2 ++ ns2*) ++ basic_os=nextstep2 + ;; + *) +- os=-nextstep3 ++ basic_os=nextstep3 + ;; + esac + ;; +- nh3000) +- basic_machine=m68k-harris +- os=-cxux +- ;; +- nh[45]000) +- basic_machine=m88k-harris +- os=-cxux +- ;; +- nindy960) +- basic_machine=i960-intel +- os=-nindy +- ;; +- mon960) +- basic_machine=i960-intel +- os=-mon960 +- ;; +- nonstopux) +- basic_machine=mips-compaq +- os=-nonstopux +- ;; + np1) +- basic_machine=np1-gould ++ cpu=np1 ++ vendor=gould + ;; +- neo-tandem) +- basic_machine=neo-tandem +- ;; +- nse-tandem) +- basic_machine=nse-tandem +- ;; +- nsr-tandem) +- basic_machine=nsr-tandem +- ;; + op50n-* | op60c-*) +- basic_machine=hppa1.1-oki +- os=-proelf ++ cpu=hppa1.1 ++ vendor=oki ++ basic_os=proelf + ;; +- openrisc | openrisc-*) +- basic_machine=or32-unknown +- ;; +- os400) +- basic_machine=powerpc-ibm +- os=-os400 +- ;; +- OSE68000 | ose68000) +- basic_machine=m68000-ericsson +- os=-ose +- ;; +- os68k) +- basic_machine=m68k-none +- os=-os68k +- ;; + pa-hitachi) +- basic_machine=hppa1.1-hitachi +- os=-hiuxwe2 ++ cpu=hppa1.1 ++ vendor=hitachi ++ basic_os=hiuxwe2 + ;; +- paragon) +- basic_machine=i860-intel +- os=-osf +- ;; +- parisc) +- basic_machine=hppa-unknown +- os=-linux +- ;; +- parisc-*) +- basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` +- os=-linux +- ;; + pbd) +- basic_machine=sparc-tti ++ cpu=sparc ++ vendor=tti + ;; + pbb) +- basic_machine=m68k-tti ++ cpu=m68k ++ vendor=tti + ;; +- pc532 | pc532-*) +- basic_machine=ns32k-pc532 ++ pc532) ++ cpu=ns32k ++ vendor=pc532 + ;; +- pc98) +- basic_machine=i386-pc +- ;; +- pc98-*) +- basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- pentium | p5 | k5 | k6 | nexgen | viac3) +- basic_machine=i586-pc +- ;; +- pentiumpro | p6 | 6x86 | athlon | athlon_*) +- basic_machine=i686-pc +- ;; +- pentiumii | pentium2 | pentiumiii | pentium3) +- basic_machine=i686-pc +- ;; +- pentium4) +- basic_machine=i786-pc +- ;; +- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) +- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- pentiumpro-* | p6-* | 6x86-* | athlon-*) +- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) +- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- pentium4-*) +- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; + pn) +- basic_machine=pn-gould ++ cpu=pn ++ vendor=gould + ;; +- power) basic_machine=power-ibm ++ power) ++ cpu=power ++ vendor=ibm + ;; +- ppc | ppcbe) basic_machine=powerpc-unknown +- ;; +- ppc-* | ppcbe-*) +- basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- ppcle | powerpclittle | ppc-le | powerpc-little) +- basic_machine=powerpcle-unknown +- ;; +- ppcle-* | powerpclittle-*) +- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- ppc64) basic_machine=powerpc64-unknown +- ;; +- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- ppc64le | powerpc64little | ppc64-le | powerpc64-little) +- basic_machine=powerpc64le-unknown +- ;; +- ppc64le-* | powerpc64little-*) +- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; + ps2) +- basic_machine=i386-ibm ++ cpu=i386 ++ vendor=ibm + ;; +- pw32) +- basic_machine=i586-unknown +- os=-pw32 +- ;; +- rdos | rdos64) +- basic_machine=x86_64-pc +- os=-rdos +- ;; +- rdos32) +- basic_machine=i386-pc +- os=-rdos +- ;; +- rom68k) +- basic_machine=m68k-rom68k +- os=-coff +- ;; + rm[46]00) +- basic_machine=mips-siemens ++ cpu=mips ++ vendor=siemens + ;; + rtpc | rtpc-*) +- basic_machine=romp-ibm ++ cpu=romp ++ vendor=ibm + ;; +- s390 | s390-*) +- basic_machine=s390-ibm ++ sde) ++ cpu=mipsisa32 ++ vendor=sde ++ basic_os=${basic_os:-elf} + ;; +- s390x | s390x-*) +- basic_machine=s390x-ibm ++ simso-wrs) ++ cpu=sparclite ++ vendor=wrs ++ basic_os=vxworks + ;; +- sa29200) +- basic_machine=a29k-amd +- os=-udi ++ tower | tower-32) ++ cpu=m68k ++ vendor=ncr + ;; +- sb1) +- basic_machine=mipsisa64sb1-unknown ++ vpp*|vx|vx-*) ++ cpu=f301 ++ vendor=fujitsu + ;; +- sb1el) +- basic_machine=mipsisa64sb1el-unknown ++ w65) ++ cpu=w65 ++ vendor=wdc + ;; +- sde) +- basic_machine=mipsisa32-sde +- os=-elf ++ w89k-*) ++ cpu=hppa1.1 ++ vendor=winbond ++ basic_os=proelf + ;; +- sei) +- basic_machine=mips-sei +- os=-seiux ++ none) ++ cpu=none ++ vendor=none + ;; +- sequent) +- basic_machine=i386-sequent ++ leon|leon[3-9]) ++ cpu=sparc ++ vendor=$basic_machine + ;; +- sh) +- basic_machine=sh-hitachi +- os=-hms ++ leon-*|leon[3-9]-*) ++ cpu=sparc ++ vendor=`echo "$basic_machine" | sed 's/-.*//'` + ;; +- sh5el) +- basic_machine=sh5le-unknown ++ ++ *-*) ++ # shellcheck disable=SC2162 ++ saved_IFS=$IFS ++ IFS="-" read cpu vendor <&2 +- exit 1 ++ # Recognize the canonical CPU types that are allowed with any ++ # company name. ++ case $cpu in ++ 1750a | 580 \ ++ | a29k \ ++ | aarch64 | aarch64_be | aarch64c | arm64ec \ ++ | abacus \ ++ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ ++ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ ++ | alphapca5[67] | alpha64pca5[67] \ ++ | am33_2.0 \ ++ | amdgcn \ ++ | arc | arceb | arc32 | arc64 \ ++ | arm | arm[lb]e | arme[lb] | armv* \ ++ | avr | avr32 \ ++ | asmjs \ ++ | ba \ ++ | be32 | be64 \ ++ | bfin | bpf | bs2000 \ ++ | c[123]* | c30 | [cjt]90 | c4x \ ++ | c8051 | clipper | craynv | csky | cydra \ ++ | d10v | d30v | dlx | dsp16xx \ ++ | e2k | elxsi | epiphany \ ++ | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ ++ | javascript \ ++ | h8300 | h8500 \ ++ | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ ++ | hexagon \ ++ | i370 | i*86 | i860 | i960 | ia16 | ia64 \ ++ | ip2k | iq2000 \ ++ | k1om \ ++ | kvx \ ++ | le32 | le64 \ ++ | lm32 \ ++ | loongarch32 | loongarch64 \ ++ | m32c | m32r | m32rle \ ++ | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \ ++ | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ ++ | m88110 | m88k | maxq | mb | mcore | mep | metag \ ++ | microblaze | microblazeel \ ++ | mips* \ ++ | mmix \ ++ | mn10200 | mn10300 \ ++ | moxie \ ++ | mt \ ++ | msp430 \ ++ | nanomips* \ ++ | nds32 | nds32le | nds32be \ ++ | nfp \ ++ | nios | nios2 | nios2eb | nios2el \ ++ | none | np1 | ns16k | ns32k | nvptx \ ++ | open8 \ ++ | or1k* \ ++ | or32 \ ++ | orion \ ++ | picochip \ ++ | pdp10 | pdp11 | pj | pjl | pn | power \ ++ | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ ++ | pru \ ++ | pyramid \ ++ | riscv | riscv32 | riscv32be | riscv64 | riscv64be \ ++ | rl78 | romp | rs6000 | rx \ ++ | s390 | s390x \ ++ | score \ ++ | sh | shl \ ++ | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \ ++ | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \ ++ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \ ++ | sparclite \ ++ | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ ++ | spu \ ++ | tahoe \ ++ | thumbv7* \ ++ | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ ++ | tron \ ++ | ubicom32 \ ++ | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ ++ | vax \ ++ | vc4 \ ++ | visium \ ++ | w65 \ ++ | wasm32 | wasm64 \ ++ | we32k \ ++ | x86 | x86_64 | xc16x | xgate | xps100 \ ++ | xstormy16 | xtensa* \ ++ | ymp \ ++ | z8k | z80) ++ ;; ++ ++ *) ++ echo "Invalid configuration '$1': machine '$cpu-$vendor' not recognized" 1>&2 ++ exit 1 ++ ;; ++ esac + ;; + esac + + # Here we canonicalize certain aliases for manufacturers. +-case $basic_machine in +- *-digital*) +- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ++case $vendor in ++ digital*) ++ vendor=dec + ;; +- *-commodore*) +- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ++ commodore*) ++ vendor=cbm + ;; + *) + ;; +@@ -1340,200 +1287,226 @@ + + # Decode manufacturer-specific aliases for certain operating systems. + +-if [ x"$os" != x"" ] ++if test x"$basic_os" != x + then ++ ++# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just ++# set os. ++obj= ++case $basic_os in ++ gnu/linux*) ++ kernel=linux ++ os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` ++ ;; ++ os2-emx) ++ kernel=os2 ++ os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` ++ ;; ++ nto-qnx*) ++ kernel=nto ++ os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` ++ ;; ++ *-*) ++ # shellcheck disable=SC2162 ++ saved_IFS=$IFS ++ IFS="-" read kernel os <&2 +- exit 1 ++ # No normalization, but not necessarily accepted, that comes below. + ;; + esac ++ + else + + # Here we handle the default operating systems that come with various machines. +@@ -1546,261 +1519,452 @@ + # will signal an error saying that MANUFACTURER isn't an operating + # system, and we'll never get to this point. + +-case $basic_machine in ++kernel= ++obj= ++case $cpu-$vendor in + score-*) +- os=-elf ++ os= ++ obj=elf + ;; + spu-*) +- os=-elf ++ os= ++ obj=elf + ;; + *-acorn) +- os=-riscix1.2 ++ os=riscix1.2 + ;; + arm*-rebel) +- os=-linux ++ kernel=linux ++ os=gnu + ;; + arm*-semi) +- os=-aout ++ os= ++ obj=aout + ;; + c4x-* | tic4x-*) +- os=-coff ++ os= ++ obj=coff + ;; + c8051-*) +- os=-elf ++ os= ++ obj=elf + ;; ++ clipper-intergraph) ++ os=clix ++ ;; + hexagon-*) +- os=-elf ++ os= ++ obj=elf + ;; + tic54x-*) +- os=-coff ++ os= ++ obj=coff + ;; + tic55x-*) +- os=-coff ++ os= ++ obj=coff + ;; + tic6x-*) +- os=-coff ++ os= ++ obj=coff + ;; + # This must come before the *-dec entry. + pdp10-*) +- os=-tops20 ++ os=tops20 + ;; + pdp11-*) +- os=-none ++ os=none + ;; + *-dec | vax-*) +- os=-ultrix4.2 ++ os=ultrix4.2 + ;; + m68*-apollo) +- os=-domain ++ os=domain + ;; + i386-sun) +- os=-sunos4.0.2 ++ os=sunos4.0.2 + ;; + m68000-sun) +- os=-sunos3 ++ os=sunos3 + ;; + m68*-cisco) +- os=-aout ++ os= ++ obj=aout + ;; + mep-*) +- os=-elf ++ os= ++ obj=elf + ;; + mips*-cisco) +- os=-elf ++ os= ++ obj=elf + ;; +- mips*-*) +- os=-elf ++ mips*-*|nanomips*-*) ++ os= ++ obj=elf + ;; + or32-*) +- os=-coff ++ os= ++ obj=coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. +- os=-sysv3 ++ os=sysv3 + ;; + sparc-* | *-sun) +- os=-sunos4.1.1 ++ os=sunos4.1.1 + ;; ++ pru-*) ++ os= ++ obj=elf ++ ;; + *-be) +- os=-beos ++ os=beos + ;; +- *-haiku) +- os=-haiku +- ;; + *-ibm) +- os=-aix ++ os=aix + ;; + *-knuth) +- os=-mmixware ++ os=mmixware + ;; + *-wec) +- os=-proelf ++ os=proelf + ;; + *-winbond) +- os=-proelf ++ os=proelf + ;; + *-oki) +- os=-proelf ++ os=proelf + ;; + *-hp) +- os=-hpux ++ os=hpux + ;; + *-hitachi) +- os=-hiux ++ os=hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) +- os=-sysv ++ os=sysv + ;; + *-cbm) +- os=-amigaos ++ os=amigaos + ;; + *-dg) +- os=-dgux ++ os=dgux + ;; + *-dolphin) +- os=-sysv3 ++ os=sysv3 + ;; + m68k-ccur) +- os=-rtu ++ os=rtu + ;; + m88k-omron*) +- os=-luna ++ os=luna + ;; +- *-next ) +- os=-nextstep ++ *-next) ++ os=nextstep + ;; + *-sequent) +- os=-ptx ++ os=ptx + ;; + *-crds) +- os=-unos ++ os=unos + ;; + *-ns) +- os=-genix ++ os=genix + ;; + i370-*) +- os=-mvs ++ os=mvs + ;; +- *-next) +- os=-nextstep3 +- ;; + *-gould) +- os=-sysv ++ os=sysv + ;; + *-highlevel) +- os=-bsd ++ os=bsd + ;; + *-encore) +- os=-bsd ++ os=bsd + ;; + *-sgi) +- os=-irix ++ os=irix + ;; + *-siemens) +- os=-sysv4 ++ os=sysv4 + ;; + *-masscomp) +- os=-rtu ++ os=rtu + ;; + f30[01]-fujitsu | f700-fujitsu) +- os=-uxpv ++ os=uxpv + ;; + *-rom68k) +- os=-coff ++ os= ++ obj=coff + ;; + *-*bug) +- os=-coff ++ os= ++ obj=coff + ;; + *-apple) +- os=-macos ++ os=macos + ;; + *-atari*) +- os=-mint ++ os=mint + ;; ++ *-wrs) ++ os=vxworks ++ ;; + *) +- os=-none ++ os=none + ;; + esac ++ + fi + ++# Now, validate our (potentially fixed-up) individual pieces (OS, OBJ). ++ ++case $os in ++ # Sometimes we do "kernel-libc", so those need to count as OSes. ++ llvm* | musl* | newlib* | relibc* | uclibc*) ++ ;; ++ # Likewise for "kernel-abi" ++ eabi* | gnueabi*) ++ ;; ++ # VxWorks passes extra cpu info in the 4th filed. ++ simlinux | simwindows | spe) ++ ;; ++ # See `case $cpu-$os` validation below ++ ghcjs) ++ ;; ++ # Now accept the basic system types. ++ # The portable systems comes first. ++ # Each alternative MUST end in a * to match a version number. ++ gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ ++ | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \ ++ | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ ++ | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ ++ | hiux* | abug | nacl* | netware* | windows* \ ++ | os9* | macos* | osx* | ios* | tvos* | watchos* \ ++ | mpw* | magic* | mmixware* | mon960* | lnews* \ ++ | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ ++ | aos* | aros* | cloudabi* | sortix* | twizzler* \ ++ | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ ++ | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ ++ | mirbsd* | netbsd* | dicos* | openedition* | ose* \ ++ | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \ ++ | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \ ++ | bosx* | nextstep* | cxux* | oabi* \ ++ | ptx* | ecoff* | winnt* | domain* | vsta* \ ++ | udi* | lites* | ieee* | go32* | aux* | hcos* \ ++ | chorusrdb* | cegcc* | glidix* | serenity* \ ++ | cygwin* | msys* | moss* | proelf* | rtems* \ ++ | midipix* | mingw32* | mingw64* | mint* \ ++ | uxpv* | beos* | mpeix* | udk* | moxiebox* \ ++ | interix* | uwin* | mks* | rhapsody* | darwin* \ ++ | openstep* | oskit* | conix* | pw32* | nonstopux* \ ++ | storm-chaos* | tops10* | tenex* | tops20* | its* \ ++ | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \ ++ | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \ ++ | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ ++ | skyos* | haiku* | rdos* | toppers* | drops* | es* \ ++ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ ++ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ ++ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ ++ | fiwix* | mlibc* | cos* | mbr* | ironclad* ) ++ ;; ++ # This one is extra strict with allowed versions ++ sco3.2v2 | sco3.2v[4-9]* | sco5v6*) ++ # Don't forget version if it is 3.2v4 or newer. ++ ;; ++ # This refers to builds using the UEFI calling convention ++ # (which depends on the architecture) and PE file format. ++ # Note that this is both a different calling convention and ++ # different file format than that of GNU-EFI ++ # (x86_64-w64-mingw32). ++ uefi) ++ ;; ++ none) ++ ;; ++ kernel* | msvc* ) ++ # Restricted further below ++ ;; ++ '') ++ if test x"$obj" = x ++ then ++ echo "Invalid configuration '$1': Blank OS only allowed with explicit machine code file format" 1>&2 ++ fi ++ ;; ++ *) ++ echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2 ++ exit 1 ++ ;; ++esac ++ ++case $obj in ++ aout* | coff* | elf* | pe*) ++ ;; ++ '') ++ # empty is fine ++ ;; ++ *) ++ echo "Invalid configuration '$1': Machine code format '$obj' not recognized" 1>&2 ++ exit 1 ++ ;; ++esac ++ ++# Here we handle the constraint that a (synthetic) cpu and os are ++# valid only in combination with each other and nowhere else. ++case $cpu-$os in ++ # The "javascript-unknown-ghcjs" triple is used by GHC; we ++ # accept it here in order to tolerate that, but reject any ++ # variations. ++ javascript-ghcjs) ++ ;; ++ javascript-* | *-ghcjs) ++ echo "Invalid configuration '$1': cpu '$cpu' is not valid with os '$os$obj'" 1>&2 ++ exit 1 ++ ;; ++esac ++ ++# As a final step for OS-related things, validate the OS-kernel combination ++# (given a valid OS), if there is a kernel. ++case $kernel-$os-$obj in ++ linux-gnu*- | linux-android*- | linux-dietlibc*- | linux-llvm*- \ ++ | linux-mlibc*- | linux-musl*- | linux-newlib*- \ ++ | linux-relibc*- | linux-uclibc*- ) ++ ;; ++ uclinux-uclibc*- ) ++ ;; ++ managarm-mlibc*- | managarm-kernel*- ) ++ ;; ++ windows*-msvc*-) ++ ;; ++ -dietlibc*- | -llvm*- | -mlibc*- | -musl*- | -newlib*- | -relibc*- \ ++ | -uclibc*- ) ++ # These are just libc implementations, not actual OSes, and thus ++ # require a kernel. ++ echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2 ++ exit 1 ++ ;; ++ -kernel*- ) ++ echo "Invalid configuration '$1': '$os' needs explicit kernel." 1>&2 ++ exit 1 ++ ;; ++ *-kernel*- ) ++ echo "Invalid configuration '$1': '$kernel' does not support '$os'." 1>&2 ++ exit 1 ++ ;; ++ *-msvc*- ) ++ echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2 ++ exit 1 ++ ;; ++ kfreebsd*-gnu*- | kopensolaris*-gnu*-) ++ ;; ++ vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-) ++ ;; ++ nto-qnx*-) ++ ;; ++ os2-emx-) ++ ;; ++ *-eabi*- | *-gnueabi*-) ++ ;; ++ none--*) ++ # None (no kernel, i.e. freestanding / bare metal), ++ # can be paired with an machine code file format ++ ;; ++ -*-) ++ # Blank kernel with real OS is always fine. ++ ;; ++ --*) ++ # Blank kernel and OS with real machine code file format is always fine. ++ ;; ++ *-*-*) ++ echo "Invalid configuration '$1': Kernel '$kernel' not known to work with OS '$os'." 1>&2 ++ exit 1 ++ ;; ++esac ++ + # Here we handle the case where we know the os, and the CPU type, but not the + # manufacturer. We pick the logical manufacturer. +-vendor=unknown +-case $basic_machine in +- *-unknown) +- case $os in +- -riscix*) ++case $vendor in ++ unknown) ++ case $cpu-$os in ++ *-riscix*) + vendor=acorn + ;; +- -sunos*) ++ *-sunos*) + vendor=sun + ;; +- -cnk*|-aix*) ++ *-cnk* | *-aix*) + vendor=ibm + ;; +- -beos*) ++ *-beos*) + vendor=be + ;; +- -hpux*) ++ *-hpux*) + vendor=hp + ;; +- -mpeix*) ++ *-mpeix*) + vendor=hp + ;; +- -hiux*) ++ *-hiux*) + vendor=hitachi + ;; +- -unos*) ++ *-unos*) + vendor=crds + ;; +- -dgux*) ++ *-dgux*) + vendor=dg + ;; +- -luna*) ++ *-luna*) + vendor=omron + ;; +- -genix*) ++ *-genix*) + vendor=ns + ;; +- -mvs* | -opened*) ++ *-clix*) ++ vendor=intergraph ++ ;; ++ *-mvs* | *-opened*) + vendor=ibm + ;; +- -os400*) ++ *-os400*) + vendor=ibm + ;; +- -ptx*) ++ s390-* | s390x-*) ++ vendor=ibm ++ ;; ++ *-ptx*) + vendor=sequent + ;; +- -tpf*) ++ *-tpf*) + vendor=ibm + ;; +- -vxsim* | -vxworks* | -windiss*) ++ *-vxsim* | *-vxworks* | *-windiss*) + vendor=wrs + ;; +- -aux*) ++ *-aux*) + vendor=apple + ;; +- -hms*) ++ *-hms*) + vendor=hitachi + ;; +- -mpw* | -macos*) ++ *-mpw* | *-macos*) + vendor=apple + ;; +- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) ++ *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) + vendor=atari + ;; +- -vos*) ++ *-vos*) + vendor=stratus + ;; + esac +- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; + esac + +-echo $basic_machine$os ++echo "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}" + exit + + # Local variables: +-# eval: (add-hook 'write-file-hooks 'time-stamp) ++# eval: (add-hook 'before-save-hook 'time-stamp) + # time-stamp-start: "timestamp='" + # time-stamp-format: "%:y-%02m-%02d" + # time-stamp-end: "'" +diff --color -urN a/hdf5-1.12.0/c++/Makefile.in b/hdf5-1.12.0/c++/Makefile.in +--- a/hdf5-1.12.0/c++/Makefile.in 2020-02-29 00:52:22 ++++ b/hdf5-1.12.0/c++/Makefile.in 2024-12-06 13:30:23 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -165,7 +165,7 @@ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) + AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ +- check recheck distdir ++ check recheck distdir distdir-am + am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) + # Read a list of newline-separated strings from the standard input, + # and print each of them once, without duplicates. Input order is +@@ -183,8 +183,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -367,6 +365,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + TEST_SUITE_LOG = test-suite.log + am__test_logs1 = $(TESTS:=.log) +@@ -448,8 +447,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -469,6 +469,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -674,6 +675,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -788,8 +790,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -1014,7 +1016,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1051,8 +1053,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/c++/examples/Makefile.in b/hdf5-1.12.0/c++/examples/Makefile.in +--- a/hdf5-1.12.0/c++/examples/Makefile.in 2020-02-29 00:52:22 ++++ b/hdf5-1.12.0/c++/examples/Makefile.in 2024-12-06 13:30:23 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -337,6 +337,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -396,8 +397,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -417,6 +419,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -622,6 +625,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -761,8 +765,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/examples.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -898,7 +902,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -935,8 +939,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/c++/src/Makefile.in b/hdf5-1.12.0/c++/src/Makefile.in +--- a/hdf5-1.12.0/c++/src/Makefile.in 2020-02-29 00:52:22 ++++ b/hdf5-1.12.0/c++/src/Makefile.in 2024-12-06 13:30:23 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -198,7 +198,23 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/H5AbstractDs.Plo \ ++ ./$(DEPDIR)/H5ArrayType.Plo ./$(DEPDIR)/H5AtomType.Plo \ ++ ./$(DEPDIR)/H5Attribute.Plo ./$(DEPDIR)/H5CommonFG.Plo \ ++ ./$(DEPDIR)/H5CompType.Plo ./$(DEPDIR)/H5DaccProp.Plo \ ++ ./$(DEPDIR)/H5DataSet.Plo ./$(DEPDIR)/H5DataSpace.Plo \ ++ ./$(DEPDIR)/H5DataType.Plo ./$(DEPDIR)/H5DcreatProp.Plo \ ++ ./$(DEPDIR)/H5DxferProp.Plo ./$(DEPDIR)/H5EnumType.Plo \ ++ ./$(DEPDIR)/H5Exception.Plo ./$(DEPDIR)/H5FaccProp.Plo \ ++ ./$(DEPDIR)/H5FcreatProp.Plo ./$(DEPDIR)/H5File.Plo \ ++ ./$(DEPDIR)/H5FloatType.Plo ./$(DEPDIR)/H5Group.Plo \ ++ ./$(DEPDIR)/H5IdComponent.Plo ./$(DEPDIR)/H5IntType.Plo \ ++ ./$(DEPDIR)/H5LaccProp.Plo ./$(DEPDIR)/H5LcreatProp.Plo \ ++ ./$(DEPDIR)/H5Library.Plo ./$(DEPDIR)/H5Location.Plo \ ++ ./$(DEPDIR)/H5Object.Plo ./$(DEPDIR)/H5OcreatProp.Plo \ ++ ./$(DEPDIR)/H5PredType.Plo ./$(DEPDIR)/H5PropList.Plo \ ++ ./$(DEPDIR)/H5StrType.Plo ./$(DEPDIR)/H5VarLenType.Plo + am__mv = mv -f + CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +@@ -243,8 +259,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -400,6 +414,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -461,8 +476,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -482,6 +498,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -687,6 +704,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -864,8 +882,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/lt_vers.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -959,38 +977,44 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5AbstractDs.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5ArrayType.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5AtomType.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Attribute.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5CommonFG.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5CompType.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5DaccProp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5DataSet.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5DataSpace.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5DataType.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5DcreatProp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5DxferProp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EnumType.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Exception.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FaccProp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FcreatProp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5File.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FloatType.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Group.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5IdComponent.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5IntType.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5LaccProp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5LcreatProp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Library.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Location.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Object.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5OcreatProp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5PredType.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5PropList.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5StrType.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VarLenType.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5AbstractDs.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5ArrayType.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5AtomType.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Attribute.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5CommonFG.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5CompType.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5DaccProp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5DataSet.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5DataSpace.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5DataType.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5DcreatProp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5DxferProp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EnumType.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Exception.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FaccProp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FcreatProp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5File.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FloatType.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Group.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5IdComponent.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5IntType.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5LaccProp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5LcreatProp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Library.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Location.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Object.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5OcreatProp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5PredType.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5PropList.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5StrType.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VarLenType.Plo@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .cpp.o: + @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1201,7 +1225,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1238,8 +1262,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1317,7 +1343,37 @@ + mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/H5AbstractDs.Plo ++ -rm -f ./$(DEPDIR)/H5ArrayType.Plo ++ -rm -f ./$(DEPDIR)/H5AtomType.Plo ++ -rm -f ./$(DEPDIR)/H5Attribute.Plo ++ -rm -f ./$(DEPDIR)/H5CommonFG.Plo ++ -rm -f ./$(DEPDIR)/H5CompType.Plo ++ -rm -f ./$(DEPDIR)/H5DaccProp.Plo ++ -rm -f ./$(DEPDIR)/H5DataSet.Plo ++ -rm -f ./$(DEPDIR)/H5DataSpace.Plo ++ -rm -f ./$(DEPDIR)/H5DataType.Plo ++ -rm -f ./$(DEPDIR)/H5DcreatProp.Plo ++ -rm -f ./$(DEPDIR)/H5DxferProp.Plo ++ -rm -f ./$(DEPDIR)/H5EnumType.Plo ++ -rm -f ./$(DEPDIR)/H5Exception.Plo ++ -rm -f ./$(DEPDIR)/H5FaccProp.Plo ++ -rm -f ./$(DEPDIR)/H5FcreatProp.Plo ++ -rm -f ./$(DEPDIR)/H5File.Plo ++ -rm -f ./$(DEPDIR)/H5FloatType.Plo ++ -rm -f ./$(DEPDIR)/H5Group.Plo ++ -rm -f ./$(DEPDIR)/H5IdComponent.Plo ++ -rm -f ./$(DEPDIR)/H5IntType.Plo ++ -rm -f ./$(DEPDIR)/H5LaccProp.Plo ++ -rm -f ./$(DEPDIR)/H5LcreatProp.Plo ++ -rm -f ./$(DEPDIR)/H5Library.Plo ++ -rm -f ./$(DEPDIR)/H5Location.Plo ++ -rm -f ./$(DEPDIR)/H5Object.Plo ++ -rm -f ./$(DEPDIR)/H5OcreatProp.Plo ++ -rm -f ./$(DEPDIR)/H5PredType.Plo ++ -rm -f ./$(DEPDIR)/H5PropList.Plo ++ -rm -f ./$(DEPDIR)/H5StrType.Plo ++ -rm -f ./$(DEPDIR)/H5VarLenType.Plo + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1363,7 +1419,37 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/H5AbstractDs.Plo ++ -rm -f ./$(DEPDIR)/H5ArrayType.Plo ++ -rm -f ./$(DEPDIR)/H5AtomType.Plo ++ -rm -f ./$(DEPDIR)/H5Attribute.Plo ++ -rm -f ./$(DEPDIR)/H5CommonFG.Plo ++ -rm -f ./$(DEPDIR)/H5CompType.Plo ++ -rm -f ./$(DEPDIR)/H5DaccProp.Plo ++ -rm -f ./$(DEPDIR)/H5DataSet.Plo ++ -rm -f ./$(DEPDIR)/H5DataSpace.Plo ++ -rm -f ./$(DEPDIR)/H5DataType.Plo ++ -rm -f ./$(DEPDIR)/H5DcreatProp.Plo ++ -rm -f ./$(DEPDIR)/H5DxferProp.Plo ++ -rm -f ./$(DEPDIR)/H5EnumType.Plo ++ -rm -f ./$(DEPDIR)/H5Exception.Plo ++ -rm -f ./$(DEPDIR)/H5FaccProp.Plo ++ -rm -f ./$(DEPDIR)/H5FcreatProp.Plo ++ -rm -f ./$(DEPDIR)/H5File.Plo ++ -rm -f ./$(DEPDIR)/H5FloatType.Plo ++ -rm -f ./$(DEPDIR)/H5Group.Plo ++ -rm -f ./$(DEPDIR)/H5IdComponent.Plo ++ -rm -f ./$(DEPDIR)/H5IntType.Plo ++ -rm -f ./$(DEPDIR)/H5LaccProp.Plo ++ -rm -f ./$(DEPDIR)/H5LcreatProp.Plo ++ -rm -f ./$(DEPDIR)/H5Library.Plo ++ -rm -f ./$(DEPDIR)/H5Location.Plo ++ -rm -f ./$(DEPDIR)/H5Object.Plo ++ -rm -f ./$(DEPDIR)/H5OcreatProp.Plo ++ -rm -f ./$(DEPDIR)/H5PredType.Plo ++ -rm -f ./$(DEPDIR)/H5PropList.Plo ++ -rm -f ./$(DEPDIR)/H5StrType.Plo ++ -rm -f ./$(DEPDIR)/H5VarLenType.Plo + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1385,8 +1471,8 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-generic clean-libLTLIBRARIES \ ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-generic clean-libLTLIBRARIES \ + clean-libtool cscopelist-am ctags ctags-am distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ +diff --color -urN a/hdf5-1.12.0/c++/test/Makefile.in b/hdf5-1.12.0/c++/test/Makefile.in +--- a/hdf5-1.12.0/c++/test/Makefile.in 2020-02-29 00:52:22 ++++ b/hdf5-1.12.0/c++/test/Makefile.in 2024-12-06 13:30:23 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -160,7 +160,15 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/dsets.Po ./$(DEPDIR)/h5cpputil.Po \ ++ ./$(DEPDIR)/tarray.Po ./$(DEPDIR)/tattr.Po \ ++ ./$(DEPDIR)/tcompound.Po ./$(DEPDIR)/tdspl.Po \ ++ ./$(DEPDIR)/testhdf5.Po ./$(DEPDIR)/tfile.Po \ ++ ./$(DEPDIR)/tfilter.Po ./$(DEPDIR)/th5s.Po \ ++ ./$(DEPDIR)/titerate.Po ./$(DEPDIR)/tlinks.Po \ ++ ./$(DEPDIR)/tobject.Po ./$(DEPDIR)/trefer.Po \ ++ ./$(DEPDIR)/ttypes.Po ./$(DEPDIR)/tvlstr.Po + am__mv = mv -f + CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +@@ -204,8 +212,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -388,6 +394,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -451,8 +458,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -472,6 +480,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -677,6 +686,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -799,8 +809,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -834,23 +844,29 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsets.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5cpputil.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tarray.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tattr.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcompound.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tdspl.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testhdf5.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tfile.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tfilter.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/th5s.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/titerate.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tlinks.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tobject.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trefer.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttypes.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvlstr.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsets.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5cpputil.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tarray.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tattr.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcompound.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tdspl.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testhdf5.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tfile.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tfilter.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/th5s.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/titerate.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tlinks.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tobject.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trefer.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttypes.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvlstr.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .cpp.o: + @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1040,7 +1056,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1084,8 +1100,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1160,7 +1178,22 @@ + mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/dsets.Po ++ -rm -f ./$(DEPDIR)/h5cpputil.Po ++ -rm -f ./$(DEPDIR)/tarray.Po ++ -rm -f ./$(DEPDIR)/tattr.Po ++ -rm -f ./$(DEPDIR)/tcompound.Po ++ -rm -f ./$(DEPDIR)/tdspl.Po ++ -rm -f ./$(DEPDIR)/testhdf5.Po ++ -rm -f ./$(DEPDIR)/tfile.Po ++ -rm -f ./$(DEPDIR)/tfilter.Po ++ -rm -f ./$(DEPDIR)/th5s.Po ++ -rm -f ./$(DEPDIR)/titerate.Po ++ -rm -f ./$(DEPDIR)/tlinks.Po ++ -rm -f ./$(DEPDIR)/tobject.Po ++ -rm -f ./$(DEPDIR)/trefer.Po ++ -rm -f ./$(DEPDIR)/ttypes.Po ++ -rm -f ./$(DEPDIR)/tvlstr.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1206,7 +1239,22 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/dsets.Po ++ -rm -f ./$(DEPDIR)/h5cpputil.Po ++ -rm -f ./$(DEPDIR)/tarray.Po ++ -rm -f ./$(DEPDIR)/tattr.Po ++ -rm -f ./$(DEPDIR)/tcompound.Po ++ -rm -f ./$(DEPDIR)/tdspl.Po ++ -rm -f ./$(DEPDIR)/testhdf5.Po ++ -rm -f ./$(DEPDIR)/tfile.Po ++ -rm -f ./$(DEPDIR)/tfilter.Po ++ -rm -f ./$(DEPDIR)/th5s.Po ++ -rm -f ./$(DEPDIR)/titerate.Po ++ -rm -f ./$(DEPDIR)/tlinks.Po ++ -rm -f ./$(DEPDIR)/tobject.Po ++ -rm -f ./$(DEPDIR)/trefer.Po ++ -rm -f ./$(DEPDIR)/ttypes.Po ++ -rm -f ./$(DEPDIR)/tvlstr.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1227,19 +1275,20 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ +- cscopelist-am ctags ctags-am distclean distclean-compile \ +- distclean-generic distclean-libtool distclean-tags distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-data install-data-am install-dvi install-dvi-am \ +- install-exec install-exec-am install-html install-html-am \ +- install-info install-info-am install-man install-pdf \ +- install-pdf-am install-ps install-ps-am install-strip \ +- installcheck installcheck-am installdirs maintainer-clean \ +- maintainer-clean-generic mostlyclean mostlyclean-compile \ +- mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ +- pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-checkPROGRAMS clean-generic \ ++ clean-libtool cscopelist-am ctags ctags-am distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags distdir dvi dvi-am html html-am info info-am \ ++ install install-am install-data install-data-am install-dvi \ ++ install-dvi-am install-exec install-exec-am install-html \ ++ install-html-am install-info install-info-am install-man \ ++ install-pdf install-pdf-am install-ps install-ps-am \ ++ install-strip installcheck installcheck-am installdirs \ ++ maintainer-clean maintainer-clean-generic mostlyclean \ ++ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ ++ mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \ ++ uninstall uninstall-am + + .PRECIOUS: Makefile + +diff --color -urN a/hdf5-1.12.0/configure b/hdf5-1.12.0/configure +--- a/hdf5-1.12.0/configure 2020-02-29 00:52:27 ++++ b/hdf5-1.12.0/configure 2024-12-06 13:30:23 +@@ -1,12 +1,13 @@ + #! /bin/sh + # From configure.ac Id: configure.ac 22697 2012-08-19 14:35:47Z hdftest . + # Guess values for system-dependent variables and create Makefiles. +-# Generated by GNU Autoconf 2.69 for HDF5 1.12.0. ++# Generated by GNU Autoconf 2.71 for HDF5 1.12.0. + # + # Report bugs to . + # + # +-# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. ++# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, ++# Inc. + # + # + # This configure script is free software; the Free Software Foundation +@@ -17,14 +18,16 @@ + + # Be more Bourne compatible + DUALCASE=1; export DUALCASE # for MKS sh +-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++as_nop=: ++if test ${ZSH_VERSION+y} && (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 ++else $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( +@@ -34,46 +37,46 @@ + fi + + ++ ++# Reset variables that may have inherited troublesome values from ++# the environment. ++ ++# IFS needs to be set, to space, tab, and newline, in precisely that order. ++# (If _AS_PATH_WALK were called with IFS unset, it would have the ++# side effect of setting IFS to empty, thus disabling word splitting.) ++# Quoting is to prevent editors from complaining about space-tab. + 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 ++IFS=" "" $as_nl" + ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# Ensure predictable behavior from utilities with locale-dependent output. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE ++ ++# We cannot yet rely on "unset" to work, but we need these variables ++# to be unset--not just set to an empty or harmless value--now, to ++# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct ++# also avoids known problems related to "unset" and subshell syntax ++# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). ++for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH ++do eval test \${$as_var+y} \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++ ++# Ensure that fds 0, 1, and 2 are open. ++if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi ++if (exec 3>&2) ; then :; else exec 2>/dev/null; fi ++ + # The user is always right. +-if test "${PATH_SEPARATOR+set}" != set; then ++if ${PATH_SEPARATOR+false} :; 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 || +@@ -82,13 +85,6 @@ + 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 #(( +@@ -97,8 +93,12 @@ + 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ test -r "$as_dir$0" && as_myself=$as_dir$0 && break + done + IFS=$as_save_IFS + +@@ -110,31 +110,11 @@ + 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 ++ printf "%s\n" "$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 +@@ -155,20 +135,22 @@ + 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 ++printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 ++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 : ++ as_bourne_compatible="as_nop=: ++if test \${ZSH_VERSION+y} && (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 ++else \$as_nop + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( +@@ -188,12 +170,15 @@ + 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 : ++if ( set x; as_fn_ret_success y && test x = \"\$1\" ) ++then : + +-else ++else \$as_nop + exitcode=1; echo positional parameters were not saved. + fi + test x\$exitcode = x0 || exit 1 ++blah=\$(echo \$(echo blah)) ++test x\"\$blah\" = xblah || 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 +@@ -208,30 +193,38 @@ + PATH=/empty FPATH=/empty; export PATH FPATH + test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ + || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" +- if (eval "$as_required") 2>/dev/null; then : ++ if (eval "$as_required") 2>/dev/null ++then : + as_have_required=yes +-else ++else $as_nop + as_have_required=no + fi +- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : ++ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null ++then : + +-else ++else $as_nop + 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=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + 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 ++ 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 : ++ as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 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 : ++ if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null ++then : + break 2 + fi + fi +@@ -239,14 +232,21 @@ + 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 $as_found ++then : + ++else $as_nop ++ if { test -f "$SHELL" || test -f "$SHELL.exe"; } && ++ as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null ++then : ++ CONFIG_SHELL=$SHELL as_have_required=yes ++fi ++fi + +- if test "x$CONFIG_SHELL" != x; then : ++ ++ 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 +@@ -264,18 +264,19 @@ + 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 ++printf "%s\n" "$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." ++ if test x$as_have_required = xno ++then : ++ printf "%s\n" "$0: This script requires a shell more modern than all" ++ printf "%s\n" "$0: the shells that I found on your system." ++ if test ${ZSH_VERSION+y} ; then ++ printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" ++ printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else +- $as_echo "$0: Please tell bug-autoconf@gnu.org and help@hdfgroup.org ++ printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and help@hdfgroup.org + $0: about your system, including any error possibly output + $0: before this message. Then install a modern shell, or + $0: manually run the script under such a shell if you do +@@ -303,6 +304,7 @@ + } + as_unset=as_fn_unset + ++ + # as_fn_set_status STATUS + # ----------------------- + # Set $? to STATUS, without forking. +@@ -320,6 +322,14 @@ + as_fn_set_status $1 + exit $1 + } # as_fn_exit ++# as_fn_nop ++# --------- ++# Do nothing but, unlike ":", preserve the value of $?. ++as_fn_nop () ++{ ++ return $? ++} ++as_nop=as_fn_nop + + # as_fn_mkdir_p + # ------------- +@@ -334,7 +344,7 @@ + as_dirs= + while :; do + case $as_dir in #( +- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" +@@ -343,7 +353,7 @@ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$as_dir" | ++printf "%s\n" X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -382,12 +392,13 @@ + # 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 : ++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 ++else $as_nop + as_fn_append () + { + eval $1=\$$1\$2 +@@ -399,18 +410,35 @@ + # 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 : ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null ++then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +-else ++else $as_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } + fi # as_fn_arith + ++# as_fn_nop ++# --------- ++# Do nothing but, unlike ":", preserve the value of $?. ++as_fn_nop () ++{ ++ return $? ++} ++as_nop=as_fn_nop ++# as_fn_nop ++# --------- ++# Do nothing but, unlike ":", preserve the value of $?. ++as_fn_nop () ++{ ++ return $? ++} ++as_nop=as_fn_nop + + # as_fn_error STATUS ERROR [LINENO LOG_FD] + # ---------------------------------------- +@@ -422,9 +450,9 @@ + 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi +- $as_echo "$as_me: error: $2" >&2 ++ printf "%s\n" "$as_me: error: $2" >&2 + as_fn_exit $as_status + } # as_fn_error + +@@ -451,7 +479,7 @@ + $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X/"$0" | ++printf "%s\n" X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q +@@ -495,7 +523,7 @@ + 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; } ++ { printf "%s\n" "$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 +@@ -509,6 +537,10 @@ + exit + } + ++ ++# Determine whether it's possible to make 'echo' print without a newline. ++# These variables are no longer used directly by Autoconf, but are AC_SUBSTed ++# for compatibility with existing Makefiles. + ECHO_C= ECHO_N= ECHO_T= + case `echo -n x` in #((((( + -n*) +@@ -522,6 +554,13 @@ + ECHO_N='-n';; + esac + ++# For backward compatibility with old third-party macros, we provide ++# the shell variables $as_echo and $as_echo_n. New code should use ++# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. ++as_echo='printf %s\n' ++as_echo_n='printf %s' ++ ++ + rm -f conf$$ conf$$.exe conf$$.file + if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +@@ -600,40 +639,36 @@ + ac_default_prefix=`pwd`/hdf5 + # Factoring default headers for most tests. + ac_includes_default="\ +-#include +-#ifdef HAVE_SYS_TYPES_H +-# include ++#include ++#ifdef HAVE_STDIO_H ++# include + #endif +-#ifdef HAVE_SYS_STAT_H +-# include +-#endif +-#ifdef STDC_HEADERS ++#ifdef HAVE_STDLIB_H + # 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_STRINGS_H ++# include ++#endif ++#ifdef HAVE_SYS_TYPES_H ++# include ++#endif ++#ifdef HAVE_SYS_STAT_H ++# include ++#endif + #ifdef HAVE_UNISTD_H + # include + #endif" + ++ac_header_c_list= + ac_subst_vars='am__EXEEXT_FALSE + am__EXEEXT_TRUE + LTLIBOBJS +@@ -733,6 +768,8 @@ + DUMPBIN + LD + FGREP ++EGREP ++GREP + SED + LIBTOOL + HDF5_TOOLS +@@ -813,9 +850,6 @@ + HDF5_INTERFACES + HDF_FORTRAN + PAC_C_MAX_REAL_PRECISION +-EGREP +-GREP +-CPP + am__fastdepCC_FALSE + am__fastdepCC_TRUE + CCDEPMODE +@@ -823,7 +857,6 @@ + AMDEPBACKSLASH + AMDEP_FALSE + AMDEP_TRUE +-am__quote + am__include + DEPDIR + OBJEXT +@@ -868,6 +901,9 @@ + AM_DEFAULT_VERBOSITY + AM_DEFAULT_V + AM_V ++CSCOPE ++ETAGS ++CTAGS + am__untar + am__tar + AMTAR +@@ -910,6 +946,7 @@ + docdir + oldincludedir + includedir ++runstatedir + localstatedir + sharedstatedir + sysconfdir +@@ -928,7 +965,8 @@ + PACKAGE_TARNAME + PACKAGE_NAME + PATH_SEPARATOR +-SHELL' ++SHELL ++am__quote' + ac_subst_files='' + ac_user_opts=' + enable_option_checking +@@ -1000,7 +1038,6 @@ + LDFLAGS + LIBS + CPPFLAGS +-CPP + FC + FCFLAGS + CXX +@@ -1046,6 +1083,7 @@ + sysconfdir='${prefix}/etc' + sharedstatedir='${prefix}/com' + localstatedir='${prefix}/var' ++runstatedir='${localstatedir}/run' + includedir='${prefix}/include' + oldincludedir='/usr/include' + docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +@@ -1075,8 +1113,6 @@ + *) ac_optarg=yes ;; + esac + +- # Accept the important Cygnus configure options, so we can diagnose typos. +- + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; +@@ -1117,9 +1153,9 @@ + 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" ++ as_fn_error $? "invalid feature name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt +- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" + "enable_$ac_useropt" +@@ -1143,9 +1179,9 @@ + 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" ++ as_fn_error $? "invalid feature name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt +- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" + "enable_$ac_useropt" +@@ -1298,6 +1334,15 @@ + | -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=* \ +@@ -1347,9 +1392,9 @@ + 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" ++ as_fn_error $? "invalid package name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt +- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" + "with_$ac_useropt" +@@ -1363,9 +1408,9 @@ + 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" ++ as_fn_error $? "invalid package name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt +- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" + "with_$ac_useropt" +@@ -1409,9 +1454,9 @@ + + *) + # FIXME: should be removed in autoconf 3.0. +- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 ++ printf "%s\n" "$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 ++ printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + +@@ -1427,7 +1472,7 @@ + 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 ;; ++ *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac + fi + +@@ -1435,7 +1480,7 @@ + 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 ++ libdir localedir mandir runstatedir + do + eval ac_val=\$$ac_var + # Remove trailing slashes. +@@ -1491,7 +1536,7 @@ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$as_myself" | ++printf "%s\n" X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -1588,6 +1633,7 @@ + --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] +@@ -1813,7 +1859,6 @@ + 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 + FC Fortran compiler command + FCFLAGS Fortran compiler flags + CXX C++ compiler command +@@ -1841,9 +1886,9 @@ + case "$ac_dir" in + .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) +- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` ++ ac_dir_suffix=/`printf "%s\n" "$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|/||'` ++ ac_top_builddir_sub=`printf "%s\n" "$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/ ;; +@@ -1871,7 +1916,8 @@ + ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } +- # Check for guested configure. ++ # Check for configure.gnu first; this name is used for a wrapper for ++ # Metaconfig's "Configure" on case-insensitive file systems. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive +@@ -1879,7 +1925,7 @@ + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else +- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 ++ printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +@@ -1889,9 +1935,9 @@ + if $ac_init_version; then + cat <<\_ACEOF + HDF5 configure 1.12.0 +-generated by GNU Autoconf 2.69 ++generated by GNU Autoconf 2.71 + +-Copyright (C) 2012 Free Software Foundation, Inc. ++Copyright (C) 2021 Free Software Foundation, Inc. + This configure script is free software; the Free Software Foundation + gives unlimited permission to copy, distribute and modify it. + _ACEOF +@@ -1908,14 +1954,14 @@ + ac_fn_c_try_compile () + { + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +- rm -f conftest.$ac_objext ++ rm -f conftest.$ac_objext conftest.beam + 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 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -1923,14 +1969,15 @@ + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$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 : ++ } && test -s conftest.$ac_objext ++then : + ac_retval=0 +-else +- $as_echo "$as_me: failed program was:" >&5 ++else $as_nop ++ printf "%s\n" "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +@@ -1947,17 +1994,18 @@ + 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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 ++printf %s "checking for $2... " >&6; } ++if eval test \${$3+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $4 + int +-main () ++main (void) + { + if (sizeof ($2)) + return 0; +@@ -1965,12 +2013,13 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $4 + int +-main () ++main (void) + { + if (sizeof (($2))) + return 0; +@@ -1978,63 +2027,60 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-else ++else $as_nop + eval "$3=yes" + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi + eval ac_res=\$$3 +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +-$as_echo "$ac_res" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + + } # ac_fn_c_check_type + +-# ac_fn_c_try_cpp LINENO +-# ---------------------- +-# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +-ac_fn_c_try_cpp () ++# 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 +- 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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 ++printf %s "checking for $2... " >&6; } ++if eval test \${$3+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 $as_nop ++ eval "$3=no" + fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++fi ++eval ac_res=\$$3 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno +- as_fn_set_status $ac_retval + +-} # ac_fn_c_try_cpp ++} # ac_fn_c_check_header_compile + + # ac_fn_c_try_run LINENO + # ---------------------- +-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +-# that executables *can* be run. ++# Try to run 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 +@@ -2044,25 +2090,26 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$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 ++printf "%s\n" "$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 : ++ printf "%s\n" "$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 ++else $as_nop ++ printf "%s\n" "$as_me: program exited with status $ac_status" >&5 ++ printf "%s\n" "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +@@ -2073,37 +2120,6 @@ + + } # 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_compute_int LINENO EXPR VAR INCLUDES + # -------------------------------------------- + # Tries to find the compile-time value of EXPR in a program that includes +@@ -2118,7 +2134,7 @@ + /* end confdefs.h. */ + $4 + int +-main () ++main (void) + { + static int test_array [1 - 2 * !(($2) >= 0)]; + test_array [0] = 0; +@@ -2128,14 +2144,15 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 () ++main (void) + { + static int test_array [1 - 2 * !(($2) <= $ac_mid)]; + test_array [0] = 0; +@@ -2145,9 +2162,10 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_hi=$ac_mid; break +-else ++else $as_nop + as_fn_arith $ac_mid + 1 && ac_lo=$as_val + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= +@@ -2155,14 +2173,14 @@ + fi + as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + done +-else ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $4 + int +-main () ++main (void) + { + static int test_array [1 - 2 * !(($2) < 0)]; + test_array [0] = 0; +@@ -2172,14 +2190,15 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 () ++main (void) + { + static int test_array [1 - 2 * !(($2) >= $ac_mid)]; + test_array [0] = 0; +@@ -2189,9 +2208,10 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_lo=$ac_mid; break +-else ++else $as_nop + as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= +@@ -2199,14 +2219,14 @@ + fi + as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + done +-else ++else $as_nop + ac_lo= ac_hi= + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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 +@@ -2214,7 +2234,7 @@ + /* end confdefs.h. */ + $4 + int +-main () ++main (void) + { + static int test_array [1 - 2 * !(($2) <= $ac_mid)]; + test_array [0] = 0; +@@ -2224,12 +2244,13 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_hi=$ac_mid +-else ++else $as_nop + as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + done + case $ac_lo in #(( + ?*) eval "$3=\$ac_lo"; ac_retval=0 ;; +@@ -2239,12 +2260,12 @@ + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $4 +-static long int longval () { return $2; } +-static unsigned long int ulongval () { return $2; } ++static long int longval (void) { return $2; } ++static unsigned long int ulongval (void) { return $2; } + #include + #include + int +-main () ++main (void) + { + + FILE *f = fopen ("conftest.val", "w"); +@@ -2272,9 +2293,10 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_run "$LINENO"; then : ++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 +-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 help@hdfgroup.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_fc_try_compile LINENO + # --------------------------- + # Try to compile conftest.$ac_ext, and return whether this succeeded. + ac_fn_fc_try_compile () + { + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +- rm -f conftest.$ac_objext ++ rm -f conftest.$ac_objext conftest.beam + 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 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -2399,14 +2330,15 @@ + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err +- } && test -s conftest.$ac_objext; then : ++ } && test -s conftest.$ac_objext ++then : + ac_retval=0 +-else +- $as_echo "$as_me: failed program was:" >&5 ++else $as_nop ++ printf "%s\n" "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +@@ -2422,14 +2354,14 @@ + 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 ++ rm -f conftest.$ac_objext conftest.beam 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 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -2437,17 +2369,18 @@ + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$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 : ++ } ++then : + ac_retval=0 +-else +- $as_echo "$as_me: failed program was:" >&5 ++else $as_nop ++ printf "%s\n" "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +@@ -2468,14 +2401,14 @@ + ac_fn_fc_try_link () + { + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +- rm -f conftest.$ac_objext conftest$ac_exeext ++ rm -f conftest.$ac_objext conftest.beam 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 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -2483,17 +2416,18 @@ + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext +- }; then : ++ } ++then : + ac_retval=0 +-else +- $as_echo "$as_me: failed program was:" >&5 ++else $as_nop ++ printf "%s\n" "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +@@ -2510,8 +2444,8 @@ + + # ac_fn_fc_try_run LINENO + # ----------------------- +-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +-# that executables *can* be run. ++# Try to run conftest.$ac_ext, and return whether this succeeded. Assumes that ++# executables *can* be run. + ac_fn_fc_try_run () + { + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +@@ -2521,25 +2455,26 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$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 ++printf "%s\n" "$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 : ++ printf "%s\n" "$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 ++else $as_nop ++ printf "%s\n" "$as_me: program exited with status $ac_status" >&5 ++ printf "%s\n" "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +@@ -2556,14 +2491,14 @@ + ac_fn_cxx_try_compile () + { + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +- rm -f conftest.$ac_objext ++ rm -f conftest.$ac_objext conftest.beam + 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 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -2571,14 +2506,15 @@ + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err +- } && test -s conftest.$ac_objext; then : ++ } && test -s conftest.$ac_objext ++then : + ac_retval=0 +-else +- $as_echo "$as_me: failed program was:" >&5 ++else $as_nop ++ printf "%s\n" "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +@@ -2600,7 +2536,7 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -2608,14 +2544,15 @@ + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err +- }; then : ++ } ++then : + ac_retval=0 +-else +- $as_echo "$as_me: failed program was:" >&5 ++else $as_nop ++ printf "%s\n" "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +@@ -2631,14 +2568,14 @@ + ac_fn_cxx_try_link () + { + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +- rm -f conftest.$ac_objext conftest$ac_exeext ++ rm -f conftest.$ac_objext conftest.beam 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 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -2646,17 +2583,18 @@ + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext +- }; then : ++ } ++then : + ac_retval=0 +-else +- $as_echo "$as_me: failed program was:" >&5 ++else $as_nop ++ printf "%s\n" "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +@@ -2677,11 +2615,12 @@ + ac_fn_c_check_func () + { + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +-$as_echo_n "checking for $2... " >&6; } +-if eval \${$3+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 ++printf %s "checking for $2... " >&6; } ++if eval test \${$3+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + /* Define $2 to an innocuous variant, in case declares $2. +@@ -2689,16 +2628,9 @@ + #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. */ ++ which can conflict with char $2 (); below. */ + +-#ifdef __STDC__ +-# include +-#else +-# include +-#endif +- ++#include + #undef $2 + + /* Override any GCC internal prototype to avoid an error. +@@ -2724,42 +2656,46 @@ + #endif + #endif + int +-main () ++main (void) + { + return $2 (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + eval "$3=yes" +-else ++else $as_nop + eval "$3=no" + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++printf "%s\n" "$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 +-# --------------------------------------------- ++# ac_fn_check_decl LINENO SYMBOL VAR INCLUDES EXTRA-OPTIONS FLAG-VAR ++# ------------------------------------------------------------------ + # Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR +-# accordingly. +-ac_fn_c_check_decl () ++# accordingly. Pass EXTRA-OPTIONS to the compiler, using FLAG-VAR. ++ac_fn_check_decl () + { + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + as_decl_name=`echo $2|sed 's/ *(.*//'` ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 ++printf %s "checking whether $as_decl_name is declared... " >&6; } ++if eval test \${$3+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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 ++ eval ac_save_FLAGS=\$$6 ++ as_fn_append $6 " $5" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $4 +@@ -2772,7 +2708,7 @@ + #endif + #endif + int +-main () ++main (void) + { + #ifndef $as_decl_name + #ifdef __cplusplus +@@ -2786,27 +2722,50 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + eval "$3=yes" +-else ++else $as_nop + eval "$3=no" + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++ eval $6=\$ac_save_FLAGS ++ + fi + eval ac_res=\$$3 +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +-$as_echo "$ac_res" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +-} # ac_fn_c_check_decl ++} # ac_fn_check_decl ++ac_configure_args_raw= ++for ac_arg ++do ++ case $ac_arg in ++ *\'*) ++ ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ esac ++ as_fn_append ac_configure_args_raw " '$ac_arg'" ++done ++ ++case $ac_configure_args_raw in ++ *$as_nl*) ++ ac_safe_unquote= ;; ++ *) ++ ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. ++ ac_unsafe_a="$ac_unsafe_z#~" ++ ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" ++ ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; ++esac ++ + 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 HDF5 $as_me 1.12.0, which was +-generated by GNU Autoconf 2.69. Invocation command line was ++generated by GNU Autoconf 2.71. Invocation command line was + +- $ $0 $@ ++ $ $0$ac_configure_args_raw + + _ACEOF + exec 5>>config.log +@@ -2839,8 +2798,12 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- $as_echo "PATH: $as_dir" ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ printf "%s\n" "PATH: $as_dir" + done + IFS=$as_save_IFS + +@@ -2875,7 +2838,7 @@ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) +- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; +@@ -2910,11 +2873,13 @@ + # 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=$? ++ # Sanitize IFS. ++ IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + +- $as_echo "## ---------------- ## ++ printf "%s\n" "## ---------------- ## + ## Cache variables. ## + ## ---------------- ##" + echo +@@ -2925,8 +2890,8 @@ + 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;} ;; ++ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( +@@ -2950,7 +2915,7 @@ + ) + echo + +- $as_echo "## ----------------- ## ++ printf "%s\n" "## ----------------- ## + ## Output variables. ## + ## ----------------- ##" + echo +@@ -2958,14 +2923,14 @@ + do + eval ac_val=\$$ac_var + case $ac_val in +- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac +- $as_echo "$ac_var='\''$ac_val'\''" ++ printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then +- $as_echo "## ------------------- ## ++ printf "%s\n" "## ------------------- ## + ## File substitutions. ## + ## ------------------- ##" + echo +@@ -2973,15 +2938,15 @@ + do + eval ac_val=\$$ac_var + case $ac_val in +- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac +- $as_echo "$ac_var='\''$ac_val'\''" ++ printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then +- $as_echo "## ----------- ## ++ printf "%s\n" "## ----------- ## + ## confdefs.h. ## + ## ----------- ##" + echo +@@ -2989,8 +2954,8 @@ + echo + fi + test "$ac_signal" != 0 && +- $as_echo "$as_me: caught signal $ac_signal" +- $as_echo "$as_me: exit $exit_status" ++ printf "%s\n" "$as_me: caught signal $ac_signal" ++ printf "%s\n" "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && +@@ -3004,63 +2969,48 @@ + # confdefs.h avoids OS command line length limits that DEFS can exceed. + rm -f -r conftest* confdefs.h + +-$as_echo "/* confdefs.h */" > confdefs.h ++printf "%s\n" "/* confdefs.h */" > confdefs.h + + # Predefined preprocessor variables. + +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE_NAME "$PACKAGE_NAME" +-_ACEOF ++printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +-_ACEOF ++printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE_VERSION "$PACKAGE_VERSION" +-_ACEOF ++printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE_STRING "$PACKAGE_STRING" +-_ACEOF ++printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +-_ACEOF ++printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE_URL "$PACKAGE_URL" +-_ACEOF ++printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + + # 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 ++ ac_site_files="$CONFIG_SITE" + elif test "x$prefix" != xNONE; then +- ac_site_file1=$prefix/share/config.site +- ac_site_file2=$prefix/etc/config.site ++ ac_site_files="$prefix/share/config.site $prefix/etc/config.site" + else +- ac_site_file1=$ac_default_prefix/share/config.site +- ac_site_file2=$ac_default_prefix/etc/config.site ++ ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi +-for ac_site_file in "$ac_site_file1" "$ac_site_file2" ++ ++for ac_site_file in $ac_site_files + 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;} ++ case $ac_site_file in #( ++ */*) : ++ ;; #( ++ *) : ++ ac_site_file=./$ac_site_file ;; ++esac ++ if test -f "$ac_site_file" && test -r "$ac_site_file"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 ++printf "%s\n" "$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;} ++ || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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 +@@ -3070,19 +3020,651 @@ + # 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 ++printf "%s\n" "$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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 ++printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file + fi + ++# Test code for whether the C compiler supports C89 (global declarations) ++ac_c_conftest_c89_globals=' ++/* Does the compiler advertise C89 conformance? ++ Do not test the value of __STDC__, because some compilers set it to 0 ++ while being otherwise adequately conformant. */ ++#if !defined __STDC__ ++# error "Compiler does not advertise C89 conformance" ++#endif ++ ++#include ++#include ++struct stat; ++/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ ++struct buf { int x; }; ++struct buf * (*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 do not provoke an error unfortunately, instead are silently treated ++ as an "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 is necessary to write \x00 == 0 to get something ++ that is 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 **, int *(*)(struct buf *, struct stat *, int), ++ int, int);' ++ ++# Test code for whether the C compiler supports C89 (body of main). ++ac_c_conftest_c89_main=' ++ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); ++' ++ ++# Test code for whether the C compiler supports C99 (global declarations) ++ac_c_conftest_c99_globals=' ++// Does the compiler advertise C99 conformance? ++#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L ++# error "Compiler does not advertise C99 conformance" ++#endif ++ ++#include ++extern int puts (const char *); ++extern int printf (const char *, ...); ++extern int dprintf (int, const char *, ...); ++extern void *malloc (size_t); ++ ++// Check varargs macros. These examples are taken from C99 6.10.3.5. ++// dprintf is used instead of fprintf to avoid needing to declare ++// FILE and stderr. ++#define debug(...) dprintf (2, __VA_ARGS__) ++#define showlist(...) puts (#__VA_ARGS__) ++#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) ++static void ++test_varargs_macros (void) ++{ ++ int x = 1234; ++ int y = 5678; ++ debug ("Flag"); ++ debug ("X = %d\n", x); ++ showlist (The first, second, and third items.); ++ report (x>y, "x is %d but y is %d", x, y); ++} ++ ++// Check long long types. ++#define BIG64 18446744073709551615ull ++#define BIG32 4294967295ul ++#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) ++#if !BIG_OK ++ #error "your preprocessor is broken" ++#endif ++#if BIG_OK ++#else ++ #error "your preprocessor is broken" ++#endif ++static long long int bignum = -9223372036854775807LL; ++static unsigned long long int ubignum = BIG64; ++ ++struct incomplete_array ++{ ++ int datasize; ++ double data[]; ++}; ++ ++struct named_init { ++ int number; ++ const wchar_t *name; ++ double average; ++}; ++ ++typedef const char *ccp; ++ ++static inline int ++test_restrict (ccp restrict text) ++{ ++ // See if C++-style comments work. ++ // Iterate through items via the restricted pointer. ++ // Also check for declarations in for loops. ++ for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) ++ continue; ++ return 0; ++} ++ ++// Check varargs and va_copy. ++static bool ++test_varargs (const char *format, ...) ++{ ++ va_list args; ++ va_start (args, format); ++ va_list args_copy; ++ va_copy (args_copy, args); ++ ++ const char *str = ""; ++ int number = 0; ++ float fnumber = 0; ++ ++ while (*format) ++ { ++ switch (*format++) ++ { ++ case '\''s'\'': // string ++ str = va_arg (args_copy, const char *); ++ break; ++ case '\''d'\'': // int ++ number = va_arg (args_copy, int); ++ break; ++ case '\''f'\'': // float ++ fnumber = va_arg (args_copy, double); ++ break; ++ default: ++ break; ++ } ++ } ++ va_end (args_copy); ++ va_end (args); ++ ++ return *str && number && fnumber; ++} ++' ++ ++# Test code for whether the C compiler supports C99 (body of main). ++ac_c_conftest_c99_main=' ++ // Check bool. ++ _Bool success = false; ++ success |= (argc != 0); ++ ++ // Check restrict. ++ if (test_restrict ("String literal") == 0) ++ success = true; ++ char *restrict newvar = "Another string"; ++ ++ // Check varargs. ++ success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); ++ test_varargs_macros (); ++ ++ // Check flexible array members. ++ struct incomplete_array *ia = ++ malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); ++ ia->datasize = 10; ++ for (int i = 0; i < ia->datasize; ++i) ++ ia->data[i] = i * 1.234; ++ ++ // Check named initializers. ++ struct named_init ni = { ++ .number = 34, ++ .name = L"Test wide string", ++ .average = 543.34343, ++ }; ++ ++ ni.number = 58; ++ ++ int dynamic_array[ni.number]; ++ dynamic_array[0] = argv[0][0]; ++ dynamic_array[ni.number - 1] = 543; ++ ++ // work around unused variable warnings ++ ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' ++ || dynamic_array[ni.number - 1] != 543); ++' ++ ++# Test code for whether the C compiler supports C11 (global declarations) ++ac_c_conftest_c11_globals=' ++// Does the compiler advertise C11 conformance? ++#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L ++# error "Compiler does not advertise C11 conformance" ++#endif ++ ++// Check _Alignas. ++char _Alignas (double) aligned_as_double; ++char _Alignas (0) no_special_alignment; ++extern char aligned_as_int; ++char _Alignas (0) _Alignas (int) aligned_as_int; ++ ++// Check _Alignof. ++enum ++{ ++ int_alignment = _Alignof (int), ++ int_array_alignment = _Alignof (int[100]), ++ char_alignment = _Alignof (char) ++}; ++_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); ++ ++// Check _Noreturn. ++int _Noreturn does_not_return (void) { for (;;) continue; } ++ ++// Check _Static_assert. ++struct test_static_assert ++{ ++ int x; ++ _Static_assert (sizeof (int) <= sizeof (long int), ++ "_Static_assert does not work in struct"); ++ long int y; ++}; ++ ++// Check UTF-8 literals. ++#define u8 syntax error! ++char const utf8_literal[] = u8"happens to be ASCII" "another string"; ++ ++// Check duplicate typedefs. ++typedef long *long_ptr; ++typedef long int *long_ptr; ++typedef long_ptr long_ptr; ++ ++// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. ++struct anonymous ++{ ++ union { ++ struct { int i; int j; }; ++ struct { int k; long int l; } w; ++ }; ++ int m; ++} v1; ++' ++ ++# Test code for whether the C compiler supports C11 (body of main). ++ac_c_conftest_c11_main=' ++ _Static_assert ((offsetof (struct anonymous, i) ++ == offsetof (struct anonymous, w.k)), ++ "Anonymous union alignment botch"); ++ v1.i = 2; ++ v1.w.k = 5; ++ ok |= v1.i != 5; ++' ++ ++# Test code for whether the C compiler supports C11 (complete). ++ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} ++${ac_c_conftest_c99_globals} ++${ac_c_conftest_c11_globals} ++ ++int ++main (int argc, char **argv) ++{ ++ int ok = 0; ++ ${ac_c_conftest_c89_main} ++ ${ac_c_conftest_c99_main} ++ ${ac_c_conftest_c11_main} ++ return ok; ++} ++" ++ ++# Test code for whether the C compiler supports C99 (complete). ++ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} ++${ac_c_conftest_c99_globals} ++ ++int ++main (int argc, char **argv) ++{ ++ int ok = 0; ++ ${ac_c_conftest_c89_main} ++ ${ac_c_conftest_c99_main} ++ return ok; ++} ++" ++ ++# Test code for whether the C compiler supports C89 (complete). ++ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} ++ ++int ++main (int argc, char **argv) ++{ ++ int ok = 0; ++ ${ac_c_conftest_c89_main} ++ return ok; ++} ++" ++ ++as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" ++as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" ++as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" ++as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" ++as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" ++as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" ++as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" ++as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" ++as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" ++# Test code for whether the C++ compiler supports C++98 (global declarations) ++ac_cxx_conftest_cxx98_globals=' ++// Does the compiler advertise C++98 conformance? ++#if !defined __cplusplus || __cplusplus < 199711L ++# error "Compiler does not advertise C++98 conformance" ++#endif ++ ++// These inclusions are to reject old compilers that ++// lack the unsuffixed header files. ++#include ++#include ++ ++// and are *not* freestanding headers in C++98. ++extern void assert (int); ++namespace std { ++ extern int strcmp (const char *, const char *); ++} ++ ++// Namespaces, exceptions, and templates were all added after "C++ 2.0". ++using std::exception; ++using std::strcmp; ++ ++namespace { ++ ++void test_exception_syntax() ++{ ++ try { ++ throw "test"; ++ } catch (const char *s) { ++ // Extra parentheses suppress a warning when building autoconf itself, ++ // due to lint rules shared with more typical C programs. ++ assert (!(strcmp) (s, "test")); ++ } ++} ++ ++template struct test_template ++{ ++ T const val; ++ explicit test_template(T t) : val(t) {} ++ template T add(U u) { return static_cast(u) + val; } ++}; ++ ++} // anonymous namespace ++' ++ ++# Test code for whether the C++ compiler supports C++98 (body of main) ++ac_cxx_conftest_cxx98_main=' ++ assert (argc); ++ assert (! argv[0]); ++{ ++ test_exception_syntax (); ++ test_template tt (2.0); ++ assert (tt.add (4) == 6.0); ++ assert (true && !false); ++} ++' ++ ++# Test code for whether the C++ compiler supports C++11 (global declarations) ++ac_cxx_conftest_cxx11_globals=' ++// Does the compiler advertise C++ 2011 conformance? ++#if !defined __cplusplus || __cplusplus < 201103L ++# error "Compiler does not advertise C++11 conformance" ++#endif ++ ++namespace cxx11test ++{ ++ constexpr int get_val() { return 20; } ++ ++ struct testinit ++ { ++ int i; ++ double d; ++ }; ++ ++ class delegate ++ { ++ public: ++ delegate(int n) : n(n) {} ++ delegate(): delegate(2354) {} ++ ++ virtual int getval() { return this->n; }; ++ protected: ++ int n; ++ }; ++ ++ class overridden : public delegate ++ { ++ public: ++ overridden(int n): delegate(n) {} ++ virtual int getval() override final { return this->n * 2; } ++ }; ++ ++ class nocopy ++ { ++ public: ++ nocopy(int i): i(i) {} ++ nocopy() = default; ++ nocopy(const nocopy&) = delete; ++ nocopy & operator=(const nocopy&) = delete; ++ private: ++ int i; ++ }; ++ ++ // for testing lambda expressions ++ template Ret eval(Fn f, Ret v) ++ { ++ return f(v); ++ } ++ ++ // for testing variadic templates and trailing return types ++ template auto sum(V first) -> V ++ { ++ return first; ++ } ++ template auto sum(V first, Args... rest) -> V ++ { ++ return first + sum(rest...); ++ } ++} ++' ++ ++# Test code for whether the C++ compiler supports C++11 (body of main) ++ac_cxx_conftest_cxx11_main=' ++{ ++ // Test auto and decltype ++ auto a1 = 6538; ++ auto a2 = 48573953.4; ++ auto a3 = "String literal"; ++ ++ int total = 0; ++ for (auto i = a3; *i; ++i) { total += *i; } ++ ++ decltype(a2) a4 = 34895.034; ++} ++{ ++ // Test constexpr ++ short sa[cxx11test::get_val()] = { 0 }; ++} ++{ ++ // Test initializer lists ++ cxx11test::testinit il = { 4323, 435234.23544 }; ++} ++{ ++ // Test range-based for ++ int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, ++ 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; ++ for (auto &x : array) { x += 23; } ++} ++{ ++ // Test lambda expressions ++ using cxx11test::eval; ++ assert (eval ([](int x) { return x*2; }, 21) == 42); ++ double d = 2.0; ++ assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); ++ assert (d == 5.0); ++ assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); ++ assert (d == 5.0); ++} ++{ ++ // Test use of variadic templates ++ using cxx11test::sum; ++ auto a = sum(1); ++ auto b = sum(1, 2); ++ auto c = sum(1.0, 2.0, 3.0); ++} ++{ ++ // Test constructor delegation ++ cxx11test::delegate d1; ++ cxx11test::delegate d2(); ++ cxx11test::delegate d3(45); ++} ++{ ++ // Test override and final ++ cxx11test::overridden o1(55464); ++} ++{ ++ // Test nullptr ++ char *c = nullptr; ++} ++{ ++ // Test template brackets ++ test_template<::test_template> v(test_template(12)); ++} ++{ ++ // Unicode literals ++ char const *utf8 = u8"UTF-8 string \u2500"; ++ char16_t const *utf16 = u"UTF-8 string \u2500"; ++ char32_t const *utf32 = U"UTF-32 string \u2500"; ++} ++' ++ ++# Test code for whether the C compiler supports C++11 (complete). ++ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} ++${ac_cxx_conftest_cxx11_globals} ++ ++int ++main (int argc, char **argv) ++{ ++ int ok = 0; ++ ${ac_cxx_conftest_cxx98_main} ++ ${ac_cxx_conftest_cxx11_main} ++ return ok; ++} ++" ++ ++# Test code for whether the C compiler supports C++98 (complete). ++ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} ++int ++main (int argc, char **argv) ++{ ++ int ok = 0; ++ ${ac_cxx_conftest_cxx98_main} ++ return ok; ++} ++" ++ ++as_fn_append ac_header_c_list " sys/time.h sys_time_h HAVE_SYS_TIME_H" ++ ++# Auxiliary files required by this configure script. ++ac_aux_files="ltmain.sh compile config.guess config.sub missing install-sh" ++ ++# Locations in which to look for auxiliary files. ++ac_aux_dir_candidates="${srcdir}/bin" ++ ++# Search for a directory containing all of the required auxiliary files, ++# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. ++# If we don't find one directory that contains all the files we need, ++# we report the set of missing files from the *first* directory in ++# $ac_aux_dir_candidates and give up. ++ac_missing_aux_files="" ++ac_first_candidate=: ++printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++as_found=false ++for as_dir in $ac_aux_dir_candidates ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ as_found=: ++ ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 ++ ac_aux_dir_found=yes ++ ac_install_sh= ++ for ac_aux in $ac_aux_files ++ do ++ # As a special case, if "install-sh" is required, that requirement ++ # can be satisfied by any of "install-sh", "install.sh", or "shtool", ++ # and $ac_install_sh is set appropriately for whichever one is found. ++ if test x"$ac_aux" = x"install-sh" ++ then ++ if test -f "${as_dir}install-sh"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 ++ ac_install_sh="${as_dir}install-sh -c" ++ elif test -f "${as_dir}install.sh"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 ++ ac_install_sh="${as_dir}install.sh -c" ++ elif test -f "${as_dir}shtool"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 ++ ac_install_sh="${as_dir}shtool install -c" ++ else ++ ac_aux_dir_found=no ++ if $ac_first_candidate; then ++ ac_missing_aux_files="${ac_missing_aux_files} install-sh" ++ else ++ break ++ fi ++ fi ++ else ++ if test -f "${as_dir}${ac_aux}"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 ++ else ++ ac_aux_dir_found=no ++ if $ac_first_candidate; then ++ ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" ++ else ++ break ++ fi ++ fi ++ fi ++ done ++ if test "$ac_aux_dir_found" = yes; then ++ ac_aux_dir="$as_dir" ++ break ++ fi ++ ac_first_candidate=false ++ ++ as_found=false ++done ++IFS=$as_save_IFS ++if $as_found ++then : ++ ++else $as_nop ++ as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. ++if test -f "${ac_aux_dir}config.guess"; then ++ ac_config_guess="$SHELL ${ac_aux_dir}config.guess" ++fi ++if test -f "${ac_aux_dir}config.sub"; then ++ ac_config_sub="$SHELL ${ac_aux_dir}config.sub" ++fi ++if test -f "$ac_aux_dir/configure"; then ++ ac_configure="$SHELL ${ac_aux_dir}configure" ++fi ++ + # Check that the precious variables saved in the cache have kept the same + # value. + ac_cache_corrupted=false +@@ -3093,12 +3675,12 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 ++printf "%s\n" "$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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 ++printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) +@@ -3107,24 +3689,24 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 ++printf "%s\n" "$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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 ++printf "%s\n" "$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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 ++printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 ++printf "%s\n" "$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=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in +@@ -3134,11 +3716,12 @@ + 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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 ++printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} ++ as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file' ++ and start over" "$LINENO" 5 + fi + ## -------------------- ## + ## Main body of script. ## +@@ -3156,42 +3739,16 @@ + ac_config_headers="$ac_config_headers src/H5config.h" + + +-ac_aux_dir= +-for ac_dir in bin "$srcdir"/bin; 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 bin \"$srcdir\"/bin" "$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. + + +- +- + ## AM_INIT_AUTOMAKE takes a list of options that should be applied to + ## every Makefile.am when automake is run. +-am__api_version='1.15' ++am__api_version='1.16' + +-# Find a good install program. We prefer a C program (faster), ++ ++ ++ # 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 +@@ -3205,20 +3762,25 @@ + # 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 ++printf %s "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 ++if test ${ac_cv_path_install+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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]/* | \ ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ # Account for fact that we put trailing slashes in our PATH walk. ++case $as_dir in #(( ++ ./ | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; +@@ -3228,13 +3790,13 @@ + # 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 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 ++ 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 ++ 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 +@@ -3242,12 +3804,12 @@ + 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" && ++ 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" ++ ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c" + break 3 + fi + fi +@@ -3263,7 +3825,7 @@ + rm -rf conftest.one conftest.two conftest.dir + + fi +- if test "${ac_cv_path_install+set}" = set; then ++ if test ${ac_cv_path_install+y}; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a +@@ -3273,8 +3835,8 @@ + INSTALL=$ac_install_sh + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +-$as_echo "$INSTALL" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 ++printf "%s\n" "$INSTALL" >&6; } + + # Use test -z because SunOS4 sh mishandles braces in ${var-val}. + # It thinks the first close brace ends the variable substitution. +@@ -3284,8 +3846,8 @@ + + test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +-$as_echo_n "checking whether build environment is sane... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 ++printf %s "checking whether build environment is sane... " >&6; } + # Reject unsafe characters in $srcdir or the absolute working directory + # name. Accept space and tab only in the latter. + am_lf=' +@@ -3339,8 +3901,8 @@ + as_fn_error $? "newly created file is older than distributed files! + Check your system clock" "$LINENO" 5 + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + # If we didn't sleep, we still need to ensure time stamps of config.status and + # generated files are strictly newer. + am_sleep_pid= +@@ -3359,26 +3921,23 @@ + # Double any \ or $. + # By default was `s,x,x', remove it if useless. + ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` ++program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"` + ++ + # Expand $ac_aux_dir to an absolute path. + am_aux_dir=`cd "$ac_aux_dir" && pwd` + +-if test x"${MISSING+set}" != xset; then +- case $am_aux_dir in +- *\ * | *\ *) +- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; +- *) +- MISSING="\${SHELL} $am_aux_dir/missing" ;; +- esac ++ ++ if test x"${MISSING+set}" != xset; then ++ MISSING="\${SHELL} '$am_aux_dir/missing'" + fi + # Use eval to expand $SHELL + if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " + else + am_missing_run= +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +-$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 ++printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;} + fi + + if test x"${install_sh+set}" != xset; then +@@ -3398,11 +3957,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. + set dummy ${ac_tool_prefix}strip; 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_STRIP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. + else +@@ -3410,11 +3970,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3425,11 +3989,11 @@ + fi + STRIP=$ac_cv_prog_STRIP + if test -n "$STRIP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +-$as_echo "$STRIP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 ++printf "%s\n" "$STRIP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -3438,11 +4002,12 @@ + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. + set dummy strip; 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_STRIP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. + else +@@ -3450,11 +4015,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3465,11 +4034,11 @@ + fi + ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP + if test -n "$ac_ct_STRIP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +-$as_echo "$ac_ct_STRIP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 ++printf "%s\n" "$ac_ct_STRIP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_STRIP" = x; then +@@ -3477,8 +4046,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + STRIP=$ac_ct_STRIP +@@ -3490,25 +4059,31 @@ + fi + INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +-{ $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; } ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5 ++printf %s "checking for a race-free mkdir -p... " >&6; } + if test -z "$MKDIR_P"; then +- if ${ac_cv_path_mkdir+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${ac_cv_path_mkdir+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + 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) '* | \ ++ 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 ('*'coreutils) '* | \ ++ 'BusyBox '* | \ + 'mkdir (fileutils) '4.1*) +- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext ++ ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext + break 3;; + esac + done +@@ -3519,7 +4094,7 @@ + fi + + test -d ./--version && rmdir ./--version +- if test "${ac_cv_path_mkdir+set}" = set; then ++ if test ${ac_cv_path_mkdir+y}; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a +@@ -3529,18 +4104,19 @@ + MKDIR_P="$ac_install_sh -d" + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +-$as_echo "$MKDIR_P" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 ++printf "%s\n" "$MKDIR_P" >&6; } + + for ac_prog in gawk mawk nawk awk + 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_AWK+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_AWK+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. + else +@@ -3548,11 +4124,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -3563,24 +4143,25 @@ + fi + AWK=$ac_cv_prog_AWK + if test -n "$AWK"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +-$as_echo "$AWK" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 ++printf "%s\n" "$AWK" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + + test -n "$AWK" && break + done + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 ++printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } + set x ${MAKE-make} +-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` ++if eval test \${ac_cv_prog_make_${ac_make}_set+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat >conftest.make <<\_ACEOF + SHELL = /bin/sh + all: +@@ -3596,12 +4177,12 @@ + rm -f conftest.make + fi + if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + SET_MAKE= + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" + fi + +@@ -3615,7 +4196,8 @@ + rmdir .tst 2>/dev/null + + # Check whether --enable-silent-rules was given. +-if test "${enable_silent_rules+set}" = set; then : ++if test ${enable_silent_rules+y} ++then : + enableval=$enable_silent_rules; + fi + +@@ -3625,12 +4207,13 @@ + *) AM_DEFAULT_VERBOSITY=1;; + esac + am_make=${MAKE-make} +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +-$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +-if ${am_cv_make_support_nested_variables+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if $as_echo 'TRUE=$(BAR$(V)) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 ++printf %s "checking whether $am_make supports nested variables... " >&6; } ++if test ${am_cv_make_support_nested_variables+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if printf "%s\n" 'TRUE=$(BAR$(V)) + BAR0=false + BAR1=true + V=1 +@@ -3642,8 +4225,8 @@ + am_cv_make_support_nested_variables=no + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +-$as_echo "$am_cv_make_support_nested_variables" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 ++printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } + if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +@@ -3678,14 +4261,10 @@ + VERSION='1.12.0' + + +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE "$PACKAGE" +-_ACEOF ++printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h + + +-cat >>confdefs.h <<_ACEOF +-#define VERSION "$VERSION" +-_ACEOF ++printf "%s\n" "#define VERSION \"$VERSION\"" >>confdefs.h + + # Some tools Automake needs. + +@@ -3705,8 +4284,8 @@ + + # For better backward compatibility. To be removed once Automake 1.9.x + # dies out for good. For more background, see: +-# +-# ++# ++# + mkdir_p='$(MKDIR_P)' + + # We need awk for the "check" target (and possibly the TAP driver). The +@@ -3725,7 +4304,21 @@ + + + ++# Variables for tags utilities; see am/tags.am ++if test -z "$CTAGS"; then ++ CTAGS=ctags ++fi + ++if test -z "$ETAGS"; then ++ ETAGS=etags ++fi ++ ++if test -z "$CSCOPE"; then ++ CSCOPE=cscope ++fi ++ ++ ++ + # POSIX will say in a future version that running "rm -f" with no argument + # is OK; and we want to be able to make that assumption in our Makefile + # recipes. So use an aggressive probe to check that the usage we want is +@@ -3757,7 +4350,7 @@ + Aborting the configuration process, to ensure you take notice of the issue. + + You can download and install GNU coreutils to get an 'rm' implementation +-that behaves properly: . ++that behaves properly: . + + If you want to complete the configuration process using your problematic + 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +@@ -3769,7 +4362,8 @@ + fi + + # Check whether --enable-silent-rules was given. +-if test "${enable_silent_rules+set}" = set; then : ++if test ${enable_silent_rules+y} ++then : + enableval=$enable_silent_rules; + fi + +@@ -3779,12 +4373,13 @@ + *) AM_DEFAULT_VERBOSITY=0;; + esac + am_make=${MAKE-make} +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +-$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +-if ${am_cv_make_support_nested_variables+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if $as_echo 'TRUE=$(BAR$(V)) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 ++printf %s "checking whether $am_make supports nested variables... " >&6; } ++if test ${am_cv_make_support_nested_variables+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if printf "%s\n" 'TRUE=$(BAR$(V)) + BAR0=false + BAR1=true + V=1 +@@ -3796,8 +4391,8 @@ + am_cv_make_support_nested_variables=no + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +-$as_echo "$am_cv_make_support_nested_variables" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 ++printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } + if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +@@ -3820,17 +4415,18 @@ + ## By default, it is enabled. Users can configure with + ## --disable-maintainer-mode to prevent running the autotools. + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 +-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 ++printf %s "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } + # Check whether --enable-maintainer-mode was given. +-if test "${enable_maintainer_mode+set}" = set; then : ++if test ${enable_maintainer_mode+y} ++then : + enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval +-else ++else $as_nop + USE_MAINTAINER_MODE=no + fi + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 +-$as_echo "$USE_MAINTAINER_MODE" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 ++printf "%s\n" "$USE_MAINTAINER_MODE" >&6; } + if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +@@ -3874,26 +4470,29 @@ + ## ;; + ##esac + +-# 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 ++ ++ # 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 ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 ++printf %s "checking build system type... " >&6; } ++if test ${ac_cv_build+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_build_alias=$build_alias + test "x$ac_build_alias" = x && +- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` ++ 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 ++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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 ++printf "%s\n" "$ac_cv_build" >&6; } + case $ac_cv_build in + *-*-*) ;; + *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +@@ -3912,21 +4511,22 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 ++printf %s "checking host system type... " >&6; } ++if test ${ac_cv_host+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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 ++ 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 ++printf "%s\n" "$ac_cv_host" >&6; } + case $ac_cv_host in + *-*-*) ;; + *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +@@ -4010,11 +4610,11 @@ + ## ---------------------------------------------------------------------- + ## Dump all shell variables values. + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking shell variables initial values" >&5 +-$as_echo_n "checking shell variables initial values... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking shell variables initial values" >&5 ++printf %s "checking shell variables initial values... " >&6; } + set >&5 +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +-$as_echo "done" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5 ++printf "%s\n" "done" >&6; } + + ## ---------------------------------------------------------------------- + ## Save system information for the library settings file. +@@ -4028,40 +4628,41 @@ + ## since configure and scripts relies upon them heavily and there's + ## no use continuing if it's broken. + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if basename works" >&5 +-$as_echo_n "checking if basename works... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if basename works" >&5 ++printf %s "checking if basename works... " >&6; } + BASENAME_TEST="`basename /foo/bar/baz/qux/basename_works`" + if test $BASENAME_TEST != "basename_works"; then + as_fn_error $? "basename program doesn't work" "$LINENO" 5 + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + fi + + ## xargs basename used in configure to get the CC_BASENAME value +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if xargs works" >&5 +-$as_echo_n "checking if xargs works... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if xargs works" >&5 ++printf %s "checking if xargs works... " >&6; } + XARGS_TEST="`echo /foo/bar/baz/qux/xargs_works | xargs basename`" + if test $XARGS_TEST != "xargs_works"; then + as_fn_error $? "xargs program doesn't work" "$LINENO" 5 + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + fi + + ## ---------------------------------------------------------------------- + ## Check that the cache file was build on the same host as what we're + ## running on now. + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cached host" >&5 +-$as_echo_n "checking for cached host... " >&6; } +-if ${hdf5_cv_host+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cached host" >&5 ++printf %s "checking for cached host... " >&6; } ++if test ${hdf5_cv_host+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + hdf5_cv_host="none" + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hdf5_cv_host" >&5 +-$as_echo "$hdf5_cv_host" >&6; }; ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hdf5_cv_host" >&5 ++printf "%s\n" "$hdf5_cv_host" >&6; }; + if test $hdf5_cv_host = "none"; then + hdf5_cv_host=$host + elif test $hdf5_cv_host != $host; then +@@ -4117,16 +4718,16 @@ + $host_os_novers \ + $host_vendor \ + $host_cpu ; do +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for config $f" >&5 +-$as_echo_n "checking for config $f... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for config $f" >&5 ++printf %s "checking for config $f... " >&6; } + if test -f "$srcdir/config/$f"; then + host_config=$srcdir/config/$f +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +-$as_echo "found" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 ++printf "%s\n" "found" >&6; } + break + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + done + if test "X$host_config" != "Xnone"; then + CC_BASENAME="`echo $CC | cut -f1 -d' ' | xargs basename 2>/dev/null`" +@@ -4137,16 +4738,16 @@ + hname="`hostname`" + while test -n "$hname"; do + file=$srcdir/config/site-specific/host-$hname +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for config $file" >&5 +-$as_echo_n "checking for config $file... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for config $file" >&5 ++printf %s "checking for config $file... " >&6; } + if test -f "$file"; then + . $file +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +-$as_echo "found" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 ++printf "%s\n" "found" >&6; } + break + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + hname_tmp=$hname + hname="`echo $hname | cut -d. -f2-99`" + test "$hname_tmp" = "$hname" && break +@@ -4158,10 +4759,11 @@ + ## This has to be done early since the build mode is referred to + ## frequently. + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build mode" >&5 +-$as_echo_n "checking build mode... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build mode" >&5 ++printf %s "checking build mode... " >&6; } + # Check whether --enable-build-mode was given. +-if test "${enable_build_mode+set}" = set; then : ++if test ${enable_build_mode+y} ++then : + enableval=$enable_build_mode; BUILD_MODE=$enableval + fi + +@@ -4178,27 +4780,27 @@ + + case "X-$BUILD_MODE" in + X-clean) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: clean" >&5 +-$as_echo "clean" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: clean" >&5 ++printf "%s\n" "clean" >&6; } + ;; + X-debug) + +-$as_echo "#define DEBUG_BUILD 1" >>confdefs.h ++printf "%s\n" "#define DEBUG_BUILD 1" >>confdefs.h + + H5_CFLAGS="$H5_CFLAGS $DEBUG_CFLAGS" + H5_CPPFLAGS="$H5_CPPFLAGS $DEBUG_CPPFLAGS" + H5_CXXFLAGS="$H5_CXXFLAGS $DEBUG_CXXFLAGS" + H5_FCFLAGS="$H5_FCFLAGS $DEBUG_FCFLAGS" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: debug" >&5 +-$as_echo "debug" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: debug" >&5 ++printf "%s\n" "debug" >&6; } + ;; + X-production) + H5_CFLAGS="$H5_CFLAGS $PROD_CFLAGS" + H5_CPPFLAGS="$H5_CPPFLAGS $PROD_CPPFLAGS" + H5_CXXFLAGS="$H5_CXXFLAGS $PROD_CXXFLAGS" + H5_FCFLAGS="$H5_FCFLAGS $PROD_FCFLAGS" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: production" >&5 +-$as_echo "production" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: production" >&5 ++printf "%s\n" "production" >&6; } + ;; + *) + as_fn_error $? "Unrecognized build mode: $BUILD_MODE. Use debug, production, or clean." "$LINENO" 5 +@@ -4228,6 +4830,15 @@ + ## ---------------------------------------------------------------------- + ## Check for programs. + ## ++ ++ ++ ++ ++ ++ ++ ++ ++ + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' + ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +@@ -4236,11 +4847,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +@@ -4248,11 +4860,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -4263,11 +4879,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -4276,11 +4892,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + else +@@ -4288,11 +4905,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -4303,11 +4924,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 ++printf "%s\n" "$ac_ct_CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_CC" = x; then +@@ -4315,8 +4936,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + CC=$ac_ct_CC +@@ -4329,11 +4950,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +@@ -4341,11 +4963,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -4356,11 +4982,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -4369,11 +4995,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +@@ -4382,15 +5009,19 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + 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 ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -4406,18 +5037,18 @@ + # 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+' '}$@" ++ 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -4428,11 +5059,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +@@ -4440,11 +5072,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -4455,11 +5091,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -4472,11 +5108,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + else +@@ -4484,11 +5121,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -4499,11 +5140,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 ++printf "%s\n" "$ac_ct_CC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -4515,8 +5156,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + CC=$ac_ct_CC +@@ -4524,25 +5165,129 @@ + fi + + fi ++if test -z "$CC"; then ++ 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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}clang" ++ printf "%s\n" "$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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++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;} ++ ++fi ++if test -z "$ac_cv_prog_CC"; then ++ ac_ct_CC=$CC ++ # Extract the first word of "clang", so it can be a program name with args. ++set dummy clang; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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="clang" ++ printf "%s\n" "$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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 ++printf "%s\n" "$ac_ct_CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ if test "x$ac_ct_CC" = x; then ++ CC="" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$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 ++ ++fi ++ ++ ++test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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 ++printf "%s\n" "$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 ++for ac_option in --version -v -V -qversion -version; 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 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -4552,7 +5297,7 @@ + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + done + +@@ -4560,7 +5305,7 @@ + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; +@@ -4572,9 +5317,9 @@ + # 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[^ ]*//'` ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 ++printf %s "checking whether the C compiler works... " >&6; } ++ac_link_default=`printf "%s\n" "$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.*" +@@ -4595,11 +5340,12 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$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 : ++ printf "%s\n" "$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, +@@ -4616,7 +5362,7 @@ + # certainly right. + break;; + *.* ) +- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; ++ if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi +@@ -4632,44 +5378,46 @@ + done + test "$ac_cv_exeext" = no && ac_cv_exeext= + +-else ++else $as_nop + 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 ++if test -z "$ac_file" ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++printf "%s\n" "$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;} ++{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 ++printf %s "checking for C compiler default output file name... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 ++printf "%s\n" "$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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 ++printf %s "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 ++printf "%s\n" "$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 : ++ printf "%s\n" "$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 +@@ -4683,15 +5431,15 @@ + * ) 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;} ++else $as_nop ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 ++printf "%s\n" "$ac_cv_exeext" >&6; } + + rm -f conftest.$ac_ext + EXEEXT=$ac_cv_exeext +@@ -4700,7 +5448,7 @@ + /* end confdefs.h. */ + #include + int +-main () ++main (void) + { + FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; +@@ -4712,8 +5460,8 @@ + 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 ++printf %s "checking whether we are cross compiling... " >&6; } + if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" + case "(($ac_try" in +@@ -4721,10 +5469,10 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in +@@ -4732,39 +5480,40 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$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. ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} ++as_fn_error 77 "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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 ++printf "%s\n" "$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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 ++printf %s "checking for suffix of object files... " >&6; } ++if test ${ac_cv_objext+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; +@@ -4778,11 +5527,12 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$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 : ++ printf "%s\n" "$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 +@@ -4791,31 +5541,32 @@ + break;; + esac + done +-else +- $as_echo "$as_me: failed program was:" >&5 ++else $as_nop ++ printf "%s\n" "$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;} ++{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 ++printf "%s\n" "$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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 ++printf %s "checking whether the compiler supports GNU C... " >&6; } ++if test ${ac_cv_c_compiler_gnu+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + #ifndef __GNUC__ + choke me +@@ -4825,29 +5576,33 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_compiler_gnu=yes +-else ++else $as_nop + ac_compiler_gnu=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 ++printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ + if test $ac_compiler_gnu = yes; then + GCC=yes + else + GCC= + fi +-ac_test_CFLAGS=${CFLAGS+set} ++ac_test_CFLAGS=${CFLAGS+y} + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 ++printf %s "checking whether $CC accepts -g... " >&6; } ++if test ${ac_cv_prog_cc_g+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no +@@ -4856,57 +5611,60 @@ + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_prog_cc_g=yes +-else ++else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-else ++else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 ++printf "%s\n" "$ac_cv_prog_cc_g" >&6; } ++if test $ac_test_CFLAGS; then + CFLAGS=$ac_save_CFLAGS + elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then +@@ -4921,95 +5679,145 @@ + 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_prog_cc_stdc=no ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 ++printf %s "checking for $CC option to enable C11 features... " >&6; } ++if test ${ac_cv_prog_cc_c11+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c11=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; +-} ++$ac_c_conftest_c11_program ++_ACEOF ++for ac_arg in '' -std=gnu11 ++do ++ CC="$ac_save_CC $ac_arg" ++ if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_c11=$ac_arg ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cc_c11" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CC=$ac_save_CC ++fi + +-/* 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]; ++if test "x$ac_cv_prog_cc_c11" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c11" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } ++ CC="$CC $ac_cv_prog_cc_c11" ++fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 ++ ac_prog_cc_stdc=c11 ++fi ++fi ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 ++printf %s "checking for $CC option to enable C99 features... " >&6; } ++if test ${ac_cv_prog_cc_c99+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c99=no ++ac_save_CC=$CC ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_c_conftest_c99_program ++_ACEOF ++for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= ++do ++ CC="$ac_save_CC $ac_arg" ++ if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_c99=$ac_arg ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cc_c99" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CC=$ac_save_CC ++fi + +-/* 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; +-} ++if test "x$ac_cv_prog_cc_c99" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c99" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } ++ CC="$CC $ac_cv_prog_cc_c99" ++fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 ++ ac_prog_cc_stdc=c99 ++fi ++fi ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 ++printf %s "checking for $CC option to enable C89 features... " >&6; } ++if test ${ac_cv_prog_cc_c89+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c89=no ++ac_save_CC=$CC ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_c_conftest_c89_program + _ACEOF +-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ +- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" ++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 : ++ if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_prog_cc_c89=$ac_arg + fi +-rm -f core conftest.err conftest.$ac_objext ++rm -f core conftest.err conftest.$ac_objext conftest.beam + 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 : + ++if test "x$ac_cv_prog_cc_c89" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c89" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } ++ CC="$CC $ac_cv_prog_cc_c89" + fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 ++ ac_prog_cc_stdc=c89 ++fi ++fi + + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' +@@ -5017,21 +5825,23 @@ + 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_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 whether $CC understands -c and -o together" >&5 +-$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +-if ${am_cv_prog_cc_c_o+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 ++printf %s "checking whether $CC understands -c and -o together... " >&6; } ++if test ${am_cv_prog_cc_c_o+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + int +-main () ++main (void) + { + + ; +@@ -5059,8 +5869,8 @@ + rm -f core conftest* + unset am_i + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +-$as_echo "$am_cv_prog_cc_c_o" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 ++printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } + if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. +@@ -5079,48 +5889,49 @@ + + ac_config_commands="$ac_config_commands depfiles" + +- +-am_make=${MAKE-make} +-cat > confinc << 'END' ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 ++printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; } ++cat > confinc.mk << 'END' + am__doit: +- @echo this is the am__doit target ++ @echo this is the am__doit target >confinc.out + .PHONY: am__doit + END +-# If we don't find an include directive, just comment out the code. +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 +-$as_echo_n "checking for style of include used by $am_make... " >&6; } + am__include="#" + am__quote= +-_am_result=none +-# First try GNU make style include. +-echo "include confinc" > confmf +-# Ignore all kinds of additional output from 'make'. +-case `$am_make -s -f confmf 2> /dev/null` in #( +-*the\ am__doit\ target*) +- am__include=include +- am__quote= +- _am_result=GNU +- ;; +-esac +-# Now try BSD make style include. +-if test "$am__include" = "#"; then +- echo '.include "confinc"' > confmf +- case `$am_make -s -f confmf 2> /dev/null` in #( +- *the\ am__doit\ target*) +- am__include=.include +- am__quote="\"" +- _am_result=BSD ++# BSD make does it like this. ++echo '.include "confinc.mk" # ignored' > confmf.BSD ++# Other make implementations (GNU, Solaris 10, AIX) do it like this. ++echo 'include confinc.mk # ignored' > confmf.GNU ++_am_result=no ++for s in GNU BSD; do ++ { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 ++ (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++ case $?:`cat confinc.out 2>/dev/null` in #( ++ '0:this is the am__doit target') : ++ case $s in #( ++ BSD) : ++ am__include='.include' am__quote='"' ;; #( ++ *) : ++ am__include='include' am__quote='' ;; ++esac ;; #( ++ *) : + ;; +- esac +-fi ++esac ++ if test "$am__include" != "#"; then ++ _am_result="yes ($s style)" ++ break ++ fi ++done ++rm -f confinc.* confmf.* ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 ++printf "%s\n" "${_am_result}" >&6; } + +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 +-$as_echo "$_am_result" >&6; } +-rm -f confinc confmf +- + # Check whether --enable-dependency-tracking was given. +-if test "${enable_dependency_tracking+set}" = set; then : ++if test ${enable_dependency_tracking+y} ++then : + enableval=$enable_dependency_tracking; + fi + +@@ -5141,11 +5952,12 @@ + + depcc="$CC" am_compiler_list= + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +-$as_echo_n "checking dependency style of $depcc... " >&6; } +-if ${am_cv_CC_dependencies_compiler_type+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 ++printf %s "checking dependency style of $depcc... " >&6; } ++if test ${am_cv_CC_dependencies_compiler_type+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For +@@ -5252,8 +6064,8 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 ++printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } + CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if +@@ -5274,22 +6086,23 @@ + ## may want to override and build with unsupported combinations for their + ## own use. They can use the --enable-unsupported configure flag, which + ## ignores any errors from configure due to incompatible flags. +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if unsupported combinations of configure options are allowed" >&5 +-$as_echo_n "checking if unsupported combinations of configure options are allowed... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if unsupported combinations of configure options are allowed" >&5 ++printf %s "checking if unsupported combinations of configure options are allowed... " >&6; } + # Check whether --enable-unsupported was given. +-if test "${enable_unsupported+set}" = set; then : ++if test ${enable_unsupported+y} ++then : + enableval=$enable_unsupported; ALLOW_UNSUPPORTED=$enableval + fi + + + case "X-$ALLOW_UNSUPPORTED" in + X-|X-no) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + ;; + X-yes) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + ;; + *) + ;; +@@ -5299,452 +6112,81 @@ + ## Data types and their sizes. + ## + +-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 ++ac_header= ac_cache= ++for ac_item in $ac_header_c_list + 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 ++ if test $ac_cache; then ++ ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" ++ if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then ++ printf "%s\n" "#define $ac_item 1" >> confdefs.h + 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 ++ ac_header= ac_cache= ++ elif test $ac_header; then ++ ac_cache=$ac_item ++ else ++ ac_header=$ac_item + fi +-else +- ac_cv_path_GREP=$GREP +-fi ++done + +-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 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 () +-{ ++if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes ++then : + +- ; +- 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 ++printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h + +-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_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" +-if test "x$ac_cv_type_off_t" = xyes; then : ++if test "x$ac_cv_type_off_t" = xyes ++then : + +-else ++else $as_nop + +-cat >>confdefs.h <<_ACEOF +-#define off_t long int +-_ACEOF ++printf "%s\n" "#define off_t long int" >>confdefs.h + + fi + + 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 : ++if test "x$ac_cv_type_size_t" = xyes ++then : + +-else ++else $as_nop + +-cat >>confdefs.h <<_ACEOF +-#define size_t unsigned long +-_ACEOF ++printf "%s\n" "#define size_t unsigned long" >>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 : ++if test "x$ac_cv_type_ssize_t" = xyes ++then : + +-else ++else $as_nop + +-cat >>confdefs.h <<_ACEOF +-#define ssize_t long +-_ACEOF ++printf "%s\n" "#define ssize_t long" >>confdefs.h + + fi + + ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default" +-if test "x$ac_cv_type_ptrdiff_t" = xyes; then : ++if test "x$ac_cv_type_ptrdiff_t" = xyes ++then : + +-else ++else $as_nop + +-cat >>confdefs.h <<_ACEOF +-#define ptrdiff_t long +-_ACEOF ++printf "%s\n" "#define ptrdiff_t long" >>confdefs.h + + fi + +- { $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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 ++printf %s "checking whether byte ordering is bigendian... " >&6; } ++if test ${ac_cv_c_bigendian+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -5755,7 +6197,8 @@ + typedef int dummy; + + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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. +@@ -5779,7 +6222,7 @@ + fi + done + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam 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 +@@ -5788,7 +6231,7 @@ + #include + + int +-main () ++main (void) + { + #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ +@@ -5800,7 +6243,8 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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. */ +@@ -5808,7 +6252,7 @@ + #include + + int +-main () ++main (void) + { + #if BYTE_ORDER != BIG_ENDIAN + not big endian +@@ -5818,14 +6262,15 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_c_bigendian=yes +-else ++else $as_nop + ac_cv_c_bigendian=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). +@@ -5834,7 +6279,7 @@ + #include + + int +-main () ++main (void) + { + #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros +@@ -5844,14 +6289,15 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++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 () ++main (void) + { + #ifndef _BIG_ENDIAN + not big endian +@@ -5861,31 +6307,33 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_c_bigendian=yes +-else ++else $as_nop + ac_cv_c_bigendian=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. +- if test "$cross_compiling" = yes; then : ++ 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[] = ++unsigned short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; +- short int ascii_ii[] = ++ unsigned 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[] = ++ unsigned short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; +- short int ebcdic_mm[] = ++ unsigned short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; +@@ -5893,14 +6341,15 @@ + extern int foo; + + int +-main () ++main (void) + { + return use_ascii (foo) == use_ebcdic (foo); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi +@@ -5913,13 +6362,13 @@ + fi + fi + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +-else ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $ac_includes_default + int +-main () ++main (void) + { + + /* Are we little or big endian? From Harbison&Steele. */ +@@ -5935,9 +6384,10 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_run "$LINENO"; then : ++if ac_fn_c_try_run "$LINENO" ++then : + ac_cv_c_bigendian=no +-else ++else $as_nop + ac_cv_c_bigendian=yes + fi + rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ +@@ -5946,17 +6396,17 @@ + + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 +-$as_echo "$ac_cv_c_bigendian" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 ++printf "%s\n" "$ac_cv_c_bigendian" >&6; } + case $ac_cv_c_bigendian in #( + yes) +- $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h ++ printf "%s\n" "#define WORDS_BIGENDIAN 1" >>confdefs.h + ;; #( + no) + ;; #( + universal) + +-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ++printf "%s\n" "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h + + ;; #( + *) +@@ -5968,17 +6418,19 @@ + # 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 char" >&5 +-$as_echo_n "checking size of char... " >&6; } +-if ${ac_cv_sizeof_char+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of char" >&5 ++printf %s "checking size of char... " >&6; } ++if test ${ac_cv_sizeof_char+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_char" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (char) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -5987,31 +6439,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_char" >&5 +-$as_echo "$ac_cv_sizeof_char" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_char" >&5 ++printf "%s\n" "$ac_cv_sizeof_char" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_CHAR $ac_cv_sizeof_char +-_ACEOF ++printf "%s\n" "#define SIZEOF_CHAR $ac_cv_sizeof_char" >>confdefs.h + + + # 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of short" >&5 ++printf %s "checking size of short... " >&6; } ++if test ${ac_cv_sizeof_short+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default" ++then : + +-else ++else $as_nop + 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;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (short) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -6020,31 +6472,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5 +-$as_echo "$ac_cv_sizeof_short" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5 ++printf "%s\n" "$ac_cv_sizeof_short" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_SHORT $ac_cv_sizeof_short +-_ACEOF ++printf "%s\n" "#define SIZEOF_SHORT $ac_cv_sizeof_short" >>confdefs.h + + + # 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 ++printf %s "checking size of int... " >&6; } ++if test ${ac_cv_sizeof_int+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default" ++then : + +-else ++else $as_nop + 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;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (int) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -6053,31 +6505,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 +-$as_echo "$ac_cv_sizeof_int" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 ++printf "%s\n" "$ac_cv_sizeof_int" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_INT $ac_cv_sizeof_int +-_ACEOF ++printf "%s\n" "#define SIZEOF_INT $ac_cv_sizeof_int" >>confdefs.h + + + # 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 unsigned" >&5 +-$as_echo_n "checking size of unsigned... " >&6; } +-if ${ac_cv_sizeof_unsigned+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned))" "ac_cv_sizeof_unsigned" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of unsigned" >&5 ++printf %s "checking size of unsigned... " >&6; } ++if test ${ac_cv_sizeof_unsigned+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned))" "ac_cv_sizeof_unsigned" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_unsigned" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (unsigned) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -6086,31 +6538,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned" >&5 +-$as_echo "$ac_cv_sizeof_unsigned" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned" >&5 ++printf "%s\n" "$ac_cv_sizeof_unsigned" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_UNSIGNED $ac_cv_sizeof_unsigned +-_ACEOF ++printf "%s\n" "#define SIZEOF_UNSIGNED $ac_cv_sizeof_unsigned" >>confdefs.h + + + # 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 ++printf %s "checking size of long... " >&6; } ++if test ${ac_cv_sizeof_long+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default" ++then : + +-else ++else $as_nop + 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;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (long) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -6119,31 +6571,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 +-$as_echo "$ac_cv_sizeof_long" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 ++printf "%s\n" "$ac_cv_sizeof_long" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_LONG $ac_cv_sizeof_long +-_ACEOF ++printf "%s\n" "#define SIZEOF_LONG $ac_cv_sizeof_long" >>confdefs.h + + + # 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5 ++printf %s "checking size of long long... " >&6; } ++if test ${ac_cv_sizeof_long_long+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long" "$ac_includes_default" ++then : + +-else ++else $as_nop + 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;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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 +@@ -6152,31 +6604,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5 +-$as_echo "$ac_cv_sizeof_long_long" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5 ++printf "%s\n" "$ac_cv_sizeof_long_long" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long +-_ACEOF ++printf "%s\n" "#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long" >>confdefs.h + + + # 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 __int64" >&5 +-$as_echo_n "checking size of __int64... " >&6; } +-if ${ac_cv_sizeof___int64+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (__int64))" "ac_cv_sizeof___int64" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of __int64" >&5 ++printf %s "checking size of __int64... " >&6; } ++if test ${ac_cv_sizeof___int64+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (__int64))" "ac_cv_sizeof___int64" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type___int64" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (__int64) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -6185,31 +6637,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof___int64" >&5 +-$as_echo "$ac_cv_sizeof___int64" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof___int64" >&5 ++printf "%s\n" "$ac_cv_sizeof___int64" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF___INT64 $ac_cv_sizeof___int64 +-_ACEOF ++printf "%s\n" "#define SIZEOF___INT64 $ac_cv_sizeof___int64" >>confdefs.h + + + # 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of float" >&5 ++printf %s "checking size of float... " >&6; } ++if test ${ac_cv_sizeof_float+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (float))" "ac_cv_sizeof_float" "$ac_includes_default" ++then : + +-else ++else $as_nop + 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;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (float) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -6218,31 +6670,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_float" >&5 +-$as_echo "$ac_cv_sizeof_float" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_float" >&5 ++printf "%s\n" "$ac_cv_sizeof_float" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_FLOAT $ac_cv_sizeof_float +-_ACEOF ++printf "%s\n" "#define SIZEOF_FLOAT $ac_cv_sizeof_float" >>confdefs.h + + + # 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of double" >&5 ++printf %s "checking size of double... " >&6; } ++if test ${ac_cv_sizeof_double+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double" "$ac_includes_default" ++then : + +-else ++else $as_nop + 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;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (double) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -6251,31 +6703,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5 +-$as_echo "$ac_cv_sizeof_double" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5 ++printf "%s\n" "$ac_cv_sizeof_double" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_DOUBLE $ac_cv_sizeof_double +-_ACEOF ++printf "%s\n" "#define SIZEOF_DOUBLE $ac_cv_sizeof_double" >>confdefs.h + + + # 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5 ++printf %s "checking size of long double... " >&6; } ++if test ${ac_cv_sizeof_long_double+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double" "$ac_includes_default" ++then : + +-else ++else $as_nop + 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;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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 +@@ -6284,14 +6736,12 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5 +-$as_echo "$ac_cv_sizeof_long_double" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5 ++printf "%s\n" "$ac_cv_sizeof_long_double" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double +-_ACEOF ++printf "%s\n" "#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double" >>confdefs.h + + + +@@ -6307,17 +6757,19 @@ + # 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 __float128" >&5 +-$as_echo_n "checking size of __float128... " >&6; } +-if ${ac_cv_sizeof___float128+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (__float128))" "ac_cv_sizeof___float128" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of __float128" >&5 ++printf %s "checking size of __float128... " >&6; } ++if test ${ac_cv_sizeof___float128+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (__float128))" "ac_cv_sizeof___float128" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type___float128" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (__float128) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -6326,31 +6778,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof___float128" >&5 +-$as_echo "$ac_cv_sizeof___float128" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof___float128" >&5 ++printf "%s\n" "$ac_cv_sizeof___float128" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF___FLOAT128 $ac_cv_sizeof___float128 +-_ACEOF ++printf "%s\n" "#define SIZEOF___FLOAT128 $ac_cv_sizeof___float128" >>confdefs.h + + + # 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 _Quad" >&5 +-$as_echo_n "checking size of _Quad... " >&6; } +-if ${ac_cv_sizeof__Quad+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (_Quad))" "ac_cv_sizeof__Quad" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of _Quad" >&5 ++printf %s "checking size of _Quad... " >&6; } ++if test ${ac_cv_sizeof__Quad+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (_Quad))" "ac_cv_sizeof__Quad" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type__Quad" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (_Quad) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -6359,31 +6811,27 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof__Quad" >&5 +-$as_echo "$ac_cv_sizeof__Quad" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof__Quad" >&5 ++printf "%s\n" "$ac_cv_sizeof__Quad" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF__QUAD $ac_cv_sizeof__Quad +-_ACEOF ++printf "%s\n" "#define SIZEOF__QUAD $ac_cv_sizeof__Quad" >>confdefs.h + + +-for ac_header in quadmath.h ++ for ac_header in quadmath.h + do : +- ac_fn_c_check_header_mongrel "$LINENO" "quadmath.h" "ac_cv_header_quadmath_h" "$ac_includes_default" +-if test "x$ac_cv_header_quadmath_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_QUADMATH_H 1 +-_ACEOF ++ ac_fn_c_check_header_compile "$LINENO" "quadmath.h" "ac_cv_header_quadmath_h" "$ac_includes_default" ++if test "x$ac_cv_header_quadmath_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_QUADMATH_H 1" >>confdefs.h + HAVE_QUADMATH=1 + fi + + done + +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking maximum decimal precision for C" >&5 +-$as_echo_n "checking maximum decimal precision for C... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking maximum decimal precision for C" >&5 ++printf %s "checking maximum decimal precision for C... " >&6; } + rm -f pac_Cconftest.out + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +@@ -6411,7 +6859,7 @@ + #endif + + int +-main () ++main (void) + { + + FILE * pFile; +@@ -6423,13 +6871,15 @@ + } + + _ACEOF +- if test "$cross_compiling" = yes; then : +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ if test "$cross_compiling" = yes ++then : ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error $? "cannot run test program while cross compiling + See \`config.log' for more details" "$LINENO" 5; } +-else +- if ac_fn_c_try_run "$LINENO"; then : ++else $as_nop ++ if ac_fn_c_try_run "$LINENO" ++then : + + if test -s pac_Cconftest.out ; then + LDBL_DIG="`sed -n '1p' pac_Cconftest.out`" +@@ -6439,7 +6889,7 @@ + fi + rm -f pac_Cconftest.out + +-else ++else $as_nop + + as_fn_error $? "C program fails to build or run!" "$LINENO" 5 + +@@ -6454,19 +6904,17 @@ + + if test "$ac_cv_sizeof___float128" != 0 && test "$FLT128_DIG" != 0 ; then + +-$as_echo "#define HAVE_FLOAT128 1" >>confdefs.h ++printf "%s\n" "#define HAVE_FLOAT128 1" >>confdefs.h + + PAC_C_MAX_REAL_PRECISION=$FLT128_DIG + else + PAC_C_MAX_REAL_PRECISION=$LDBL_DIG + fi + +-cat >>confdefs.h <<_ACEOF +-#define PAC_C_MAX_REAL_PRECISION $PAC_C_MAX_REAL_PRECISION +-_ACEOF ++printf "%s\n" "#define PAC_C_MAX_REAL_PRECISION $PAC_C_MAX_REAL_PRECISION" >>confdefs.h + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAC_C_MAX_REAL_PRECISION" >&5 +-$as_echo "$PAC_C_MAX_REAL_PRECISION" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PAC_C_MAX_REAL_PRECISION" >&5 ++printf "%s\n" "$PAC_C_MAX_REAL_PRECISION" >&6; } + + ## ---------------------------------------------------------------------- + ## Check if they would like the Fortran interface compiled +@@ -6479,10 +6927,11 @@ + HDF_FORTRAN=no + + HDF5_INTERFACES="" +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran interface enabled" >&5 +-$as_echo_n "checking if Fortran interface enabled... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran interface enabled" >&5 ++printf %s "checking if Fortran interface enabled... " >&6; } + # Check whether --enable-fortran was given. +-if test "${enable_fortran+set}" = set; then : ++if test ${enable_fortran+y} ++then : + enableval=$enable_fortran; HDF_FORTRAN=$enableval + fi + +@@ -6530,11 +6979,12 @@ + 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_FC+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_FC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. + else +@@ -6542,11 +6992,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_FC="$ac_tool_prefix$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -6557,11 +7011,11 @@ + fi + FC=$ac_cv_prog_FC + if test -n "$FC"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +-$as_echo "$FC" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 ++printf "%s\n" "$FC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -6574,11 +7028,12 @@ + 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_FC+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_FC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. + else +@@ -6586,11 +7041,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_FC="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -6601,11 +7060,11 @@ + fi + ac_ct_FC=$ac_cv_prog_ac_ct_FC + if test -n "$ac_ct_FC"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +-$as_echo "$ac_ct_FC" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 ++printf "%s\n" "$ac_ct_FC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -6617,8 +7076,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + FC=$ac_ct_FC +@@ -6627,7 +7086,7 @@ + + + # Provide some information about the compiler. +-$as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler version" >&5 ++printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler version" >&5 + set X $ac_compile + ac_compiler=$2 + for ac_option in --version -v -V -qversion; do +@@ -6637,7 +7096,7 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -6647,7 +7106,7 @@ + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + done + rm -f a.out +@@ -6656,11 +7115,12 @@ + # input file. (Note that this only needs to work for GNU compilers.) + ac_save_ext=$ac_ext + ac_ext=F +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran compiler" >&5 +-$as_echo_n "checking whether we are using the GNU Fortran compiler... " >&6; } +-if ${ac_cv_fc_compiler_gnu+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 ++printf %s "checking whether the compiler supports GNU Fortran... " >&6; } ++if test ${ac_cv_fc_compiler_gnu+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + #ifndef __GNUC__ +@@ -6669,43 +7129,48 @@ + + end + _ACEOF +-if ac_fn_fc_try_compile "$LINENO"; then : ++if ac_fn_fc_try_compile "$LINENO" ++then : + ac_compiler_gnu=yes +-else ++else $as_nop + ac_compiler_gnu=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cv_fc_compiler_gnu=$ac_compiler_gnu + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +-$as_echo "$ac_cv_fc_compiler_gnu" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 ++printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } ++ac_compiler_gnu=$ac_cv_fc_compiler_gnu ++ + ac_ext=$ac_save_ext +-ac_test_FCFLAGS=${FCFLAGS+set} ++ac_test_FCFLAGS=${FCFLAGS+y} + ac_save_FCFLAGS=$FCFLAGS + FCFLAGS= +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +-$as_echo_n "checking whether $FC accepts -g... " >&6; } +-if ${ac_cv_prog_fc_g+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 ++printf %s "checking whether $FC accepts -g... " >&6; } ++if test ${ac_cv_prog_fc_g+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + FCFLAGS=-g + cat > conftest.$ac_ext <<_ACEOF + program main + + end + _ACEOF +-if ac_fn_fc_try_compile "$LINENO"; then : ++if ac_fn_fc_try_compile "$LINENO" ++then : + ac_cv_prog_fc_g=yes +-else ++else $as_nop + ac_cv_prog_fc_g=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +-$as_echo "$ac_cv_prog_fc_g" >&6; } +-if test "$ac_test_FCFLAGS" = set; then ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 ++printf "%s\n" "$ac_cv_prog_fc_g" >&6; } ++if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS + elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then +@@ -6736,11 +7201,12 @@ + ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' + ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' + ac_compiler_gnu=$ac_cv_fc_compiler_gnu +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran flag to compile .f90 files" >&5 +-$as_echo_n "checking for Fortran flag to compile .f90 files... " >&6; } +-if ${ac_cv_fc_srcext_f90+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran flag to compile .f90 files" >&5 ++printf %s "checking for Fortran flag to compile .f90 files... " >&6; } ++if test ${ac_cv_fc_srcext_f90+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_ext=f90 + ac_fcflags_srcext_save=$ac_fcflags_srcext + ac_fcflags_srcext= +@@ -6756,17 +7222,18 @@ + + end + _ACEOF +-if ac_fn_fc_try_compile "$LINENO"; then : ++if ac_fn_fc_try_compile "$LINENO" ++then : + ac_cv_fc_srcext_f90=$ac_flag; break + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + done + rm -f conftest.$ac_objext conftest.f90 + ac_fcflags_srcext=$ac_fcflags_srcext_save + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_srcext_f90" >&5 +-$as_echo "$ac_cv_fc_srcext_f90" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_srcext_f90" >&5 ++printf "%s\n" "$ac_cv_fc_srcext_f90" >&6; } + if test "x$ac_cv_fc_srcext_f90" = xunknown; then + as_fn_error $? "Fortran could not compile .f90 files" "$LINENO" 5 + else +@@ -6803,11 +7270,12 @@ + 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_FC+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_FC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. + else +@@ -6815,11 +7283,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_FC="$ac_tool_prefix$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -6830,11 +7302,11 @@ + fi + FC=$ac_cv_prog_FC + if test -n "$FC"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +-$as_echo "$FC" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 ++printf "%s\n" "$FC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -6847,11 +7319,12 @@ + 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_FC+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_FC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. + else +@@ -6859,11 +7332,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_FC="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -6874,11 +7351,11 @@ + fi + ac_ct_FC=$ac_cv_prog_ac_ct_FC + if test -n "$ac_ct_FC"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +-$as_echo "$ac_ct_FC" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 ++printf "%s\n" "$ac_ct_FC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -6890,8 +7367,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + FC=$ac_ct_FC +@@ -6900,7 +7377,7 @@ + + + # Provide some information about the compiler. +-$as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler version" >&5 ++printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler version" >&5 + set X $ac_compile + ac_compiler=$2 + for ac_option in --version -v -V -qversion; do +@@ -6910,7 +7387,7 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -6920,7 +7397,7 @@ + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + done + rm -f a.out +@@ -6929,11 +7406,12 @@ + # input file. (Note that this only needs to work for GNU compilers.) + ac_save_ext=$ac_ext + ac_ext=F +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran compiler" >&5 +-$as_echo_n "checking whether we are using the GNU Fortran compiler... " >&6; } +-if ${ac_cv_fc_compiler_gnu+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 ++printf %s "checking whether the compiler supports GNU Fortran... " >&6; } ++if test ${ac_cv_fc_compiler_gnu+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + #ifndef __GNUC__ +@@ -6942,43 +7420,48 @@ + + end + _ACEOF +-if ac_fn_fc_try_compile "$LINENO"; then : ++if ac_fn_fc_try_compile "$LINENO" ++then : + ac_compiler_gnu=yes +-else ++else $as_nop + ac_compiler_gnu=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cv_fc_compiler_gnu=$ac_compiler_gnu + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +-$as_echo "$ac_cv_fc_compiler_gnu" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 ++printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } ++ac_compiler_gnu=$ac_cv_fc_compiler_gnu ++ + ac_ext=$ac_save_ext +-ac_test_FCFLAGS=${FCFLAGS+set} ++ac_test_FCFLAGS=${FCFLAGS+y} + ac_save_FCFLAGS=$FCFLAGS + FCFLAGS= +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +-$as_echo_n "checking whether $FC accepts -g... " >&6; } +-if ${ac_cv_prog_fc_g+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 ++printf %s "checking whether $FC accepts -g... " >&6; } ++if test ${ac_cv_prog_fc_g+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + FCFLAGS=-g + cat > conftest.$ac_ext <<_ACEOF + program main + + end + _ACEOF +-if ac_fn_fc_try_compile "$LINENO"; then : ++if ac_fn_fc_try_compile "$LINENO" ++then : + ac_cv_prog_fc_g=yes +-else ++else $as_nop + ac_cv_prog_fc_g=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +-$as_echo "$ac_cv_prog_fc_g" >&6; } +-if test "$ac_test_FCFLAGS" = set; then ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 ++printf "%s\n" "$ac_cv_prog_fc_g" >&6; } ++if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS + elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then +@@ -7005,8 +7488,8 @@ + 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 what $FC does with modules" >&5 +-$as_echo_n "checking what $FC does with modules... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking what $FC does with modules" >&5 ++printf %s "checking what $FC does with modules... " >&6; } + ac_ext=${ac_fc_srcext-f} + ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' + ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +@@ -7058,8 +7541,8 @@ + fi + cd .. + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how $FC finds modules" >&5 +-$as_echo_n "checking how $FC finds modules... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how $FC finds modules" >&5 ++printf %s "checking how $FC finds modules... " >&6; } + + for flag in "-I" "-M" "-p"; do + cat >conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + F9XMODFLAG=$flag + break +@@ -7108,21 +7591,22 @@ + ## stopping if it does not. + + HAVE_F2003_REQUIREMENTS="no" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler version compatible with Fortran 2003 HDF" >&5 +-$as_echo_n "checking if Fortran compiler version compatible with Fortran 2003 HDF... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler version compatible with Fortran 2003 HDF" >&5 ++printf %s "checking if Fortran compiler version compatible with Fortran 2003 HDF... " >&6; } + TEST_SRC="`sed -n '/PROG_FC_HAVE_F2003_REQUIREMENTS/,/END PROGRAM PROG_FC_HAVE_F2003_REQUIREMENTS/p' $srcdir/m4/aclocal_fc.f90`" + cat > conftest.$ac_ext <<_ACEOF + $TEST_SRC + _ACEOF +-if ac_fn_fc_try_compile "$LINENO"; then : +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++if ac_fn_fc_try_compile "$LINENO" ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + HAVE_F2003_REQUIREMENTS="yes" +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + + if test "X$HAVE_F2003_REQUIREMENTS" = "Xno"; then +@@ -7136,17 +7620,19 @@ + ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' + ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' + ac_compiler_gnu=$ac_cv_fc_compiler_gnu +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to get verbose linking output from $FC" >&5 +-$as_echo_n "checking how to get verbose linking output from $FC... " >&6; } +-if ${ac_cv_prog_fc_v+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to get verbose linking output from $FC" >&5 ++printf %s "checking how to get verbose linking output from $FC... " >&6; } ++if test ${ac_cv_prog_fc_v+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end + _ACEOF +-if ac_fn_fc_try_compile "$LINENO"; then : ++if ac_fn_fc_try_compile "$LINENO" ++then : + ac_cv_prog_fc_v= + # Try some options frequently used verbose output + for ac_verb in -v -verbose --verbose -V -\#\#\#; do +@@ -7164,13 +7650,13 @@ + FCFLAGS="$FCFLAGS $ac_verb" + eval "set x $ac_link" + shift +-$as_echo "$as_me:${as_lineno-$LINENO}: $*" >&5 ++printf "%s\n" "$as_me:${as_lineno-$LINENO}: $*" >&5 + # gfortran 4.3 outputs lines setting COLLECT_GCC_OPTIONS, COMPILER_PATH, + # LIBRARY_PATH; skip all such settings. + ac_fc_v_output=`eval $ac_link 5>&1 2>&1 | + sed '/^Driving:/d; /^Configured with:/d; + '"/^[_$as_cr_Letters][_$as_cr_alnum]*=/d"` +-$as_echo "$ac_fc_v_output" >&5 ++printf "%s\n" "$ac_fc_v_output" >&5 + FCFLAGS=$ac_save_FCFLAGS + + rm -rf conftest* +@@ -7237,23 +7723,24 @@ + done + done + if test -z "$ac_cv_prog_fc_v"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot determine how to obtain linking information from $FC" >&5 +-$as_echo "$as_me: WARNING: cannot determine how to obtain linking information from $FC" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot determine how to obtain linking information from $FC" >&5 ++printf "%s\n" "$as_me: WARNING: cannot determine how to obtain linking information from $FC" >&2;} + fi +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: compilation failed" >&5 +-$as_echo "$as_me: WARNING: compilation failed" >&2;} ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: compilation failed" >&5 ++printf "%s\n" "$as_me: WARNING: compilation failed" >&2;} + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_v" >&5 +-$as_echo "$ac_cv_prog_fc_v" >&6; } +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran libraries of $FC" >&5 +-$as_echo_n "checking for Fortran libraries of $FC... " >&6; } +-if ${ac_cv_fc_libs+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_v" >&5 ++printf "%s\n" "$ac_cv_prog_fc_v" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran libraries of $FC" >&5 ++printf %s "checking for Fortran libraries of $FC... " >&6; } ++if test ${ac_cv_fc_libs+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test "x$FCLIBS" != "x"; then + ac_cv_fc_libs="$FCLIBS" # Let the user override the test. + else +@@ -7272,13 +7759,13 @@ + FCFLAGS="$FCFLAGS $ac_cv_prog_fc_v" + eval "set x $ac_link" + shift +-$as_echo "$as_me:${as_lineno-$LINENO}: $*" >&5 ++printf "%s\n" "$as_me:${as_lineno-$LINENO}: $*" >&5 + # gfortran 4.3 outputs lines setting COLLECT_GCC_OPTIONS, COMPILER_PATH, + # LIBRARY_PATH; skip all such settings. + ac_fc_v_output=`eval $ac_link 5>&1 2>&1 | + sed '/^Driving:/d; /^Configured with:/d; + '"/^[_$as_cr_Letters][_$as_cr_alnum]*=/d"` +-$as_echo "$ac_fc_v_output" >&5 ++printf "%s\n" "$ac_fc_v_output" >&5 + FCFLAGS=$ac_save_FCFLAGS + + rm -rf conftest* +@@ -7355,9 +7842,10 @@ + fi + done + +- if test x"$ac_exists" = xtrue; then : ++ if test x"$ac_exists" = xtrue ++then : + +-else ++else $as_nop + ac_cv_fc_libs="$ac_cv_fc_libs $ac_arg" + fi + ;; +@@ -7370,9 +7858,10 @@ + fi + done + +- if test x"$ac_exists" = xtrue; then : ++ if test x"$ac_exists" = xtrue ++then : + +-else ++else $as_nop + if test "$ac_compiler_gnu" = yes; then + for ac_link_opt in $ac_arg; do + ac_cv_fc_libs="$ac_cv_fc_libs -Xlinker $ac_link_opt" +@@ -7387,9 +7876,24 @@ + |-LANG:=* | -LIST:* | -LNO:* | -link) + ;; + -lkernel32) ++ # Ignore this library only on Windows-like systems. + case $host_os in +- *cygwin*) ;; +- *) ac_cv_fc_libs="$ac_cv_fc_libs $ac_arg" ++ cygwin* | msys* ) ;; ++ *) ++ ac_exists=false ++ for ac_i in $ac_cv_fc_libs; do ++ if test x"$ac_arg" = x"$ac_i"; then ++ ac_exists=true ++ break ++ fi ++ done ++ ++ if test x"$ac_exists" = xtrue ++then : ++ ++else $as_nop ++ ac_cv_fc_libs="$ac_cv_fc_libs $ac_arg" ++fi + ;; + esac + ;; +@@ -7407,7 +7911,7 @@ + esac + ;; + -YP,*) +- for ac_j in `$as_echo "$ac_arg" | sed -e 's/-YP,/-L/;s/:/ -L/g'`; do ++ for ac_j in `printf "%s\n" "$ac_arg" | sed -e 's/-YP,/-L/;s/:/ -L/g'`; do + ac_exists=false + for ac_i in $ac_cv_fc_libs; do + if test x"$ac_j" = x"$ac_i"; then +@@ -7416,9 +7920,10 @@ + fi + done + +- if test x"$ac_exists" = xtrue; then : ++ if test x"$ac_exists" = xtrue ++then : + +-else ++else $as_nop + ac_arg="$ac_arg $ac_j" + ac_cv_fc_libs="$ac_cv_fc_libs $ac_j" + fi +@@ -7433,15 +7938,17 @@ + fi + done + +- if test x"$ac_exists" = xtrue; then : ++ if test x"$ac_exists" = xtrue ++then : + +-else ++else $as_nop + ac_cv_fc_libs="$ac_cv_fc_libs $ac_arg" + fi + ;; + -zallextract*| -zdefaultextract) + ac_cv_fc_libs="$ac_cv_fc_libs $ac_arg" + ;; ++ -mllvm) ${2+shift};; # Defend against 'clang -mllvm -loopopt=0'. + # Ignore everything else. + esac + done +@@ -7453,7 +7960,7 @@ + # must begin with a "/"). + case `(uname -sr) 2>/dev/null` in + "SunOS 5"*) +- ac_ld_run_path=`$as_echo "$ac_fc_v_output" | ++ ac_ld_run_path=`printf "%s\n" "$ac_fc_v_output" | + sed -n 's,^.*LD_RUN_PATH *= *\(/[^ ]*\).*$,-R\1,p'` + test "x$ac_ld_run_path" != x && + if test "$ac_compiler_gnu" = yes; then +@@ -7468,8 +7975,8 @@ + fi # test "x$[]_AC_LANG_PREFIX[]LIBS" = "x" + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_libs" >&5 +-$as_echo "$ac_cv_fc_libs" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_libs" >&5 ++printf "%s\n" "$ac_cv_fc_libs" >&6; } + FCLIBS="$ac_cv_fc_libs" + + +@@ -7483,11 +7990,12 @@ + ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' + ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dummy main to link with Fortran libraries" >&5 +-$as_echo_n "checking for dummy main to link with Fortran libraries... " >&6; } +-if ${ac_cv_fc_dummy_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dummy main to link with Fortran libraries" >&5 ++printf %s "checking for dummy main to link with Fortran libraries... " >&6; } ++if test ${ac_cv_fc_dummy_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_fc_dm_save_LIBS=$LIBS + LIBS="$LIBS $FCLIBS" + ac_fortran_dm_var=FC_DUMMY_MAIN +@@ -7510,19 +8018,20 @@ + #endif + #endif + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_fortran_dummy_main=none +-else ++else $as_nop + ac_cv_fortran_dummy_main=unknown + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test $ac_cv_fortran_dummy_main = unknown; then +@@ -7539,17 +8048,18 @@ + #endif + #endif + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_fortran_dummy_main=$ac_func; break + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + done + fi +@@ -7562,25 +8072,24 @@ + LIBS=$ac_fc_dm_save_LIBS + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_dummy_main" >&5 +-$as_echo "$ac_cv_fc_dummy_main" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_dummy_main" >&5 ++printf "%s\n" "$ac_cv_fc_dummy_main" >&6; } + FC_DUMMY_MAIN=$ac_cv_fc_dummy_main +-if test "$FC_DUMMY_MAIN" != unknown; then : ++if test "$FC_DUMMY_MAIN" != unknown ++then : + if test $FC_DUMMY_MAIN != none; then + +-cat >>confdefs.h <<_ACEOF +-#define FC_DUMMY_MAIN $FC_DUMMY_MAIN +-_ACEOF ++printf "%s\n" "#define FC_DUMMY_MAIN $FC_DUMMY_MAIN" >>confdefs.h + + if test "x$ac_cv_fc_dummy_main" = "x$ac_cv_f77_dummy_main"; then + +-$as_echo "#define FC_DUMMY_MAIN_EQ_F77 1" >>confdefs.h ++printf "%s\n" "#define FC_DUMMY_MAIN_EQ_F77 1" >>confdefs.h + + fi + fi +-else +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++else $as_nop ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error $? "linking to Fortran libraries from C fails + See \`config.log' for more details" "$LINENO" 5; } + fi +@@ -7594,11 +8103,12 @@ + ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' + ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' + ac_compiler_gnu=$ac_cv_fc_compiler_gnu +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran name-mangling scheme" >&5 +-$as_echo_n "checking for Fortran name-mangling scheme... " >&6; } +-if ${ac_cv_fc_mangling+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran name-mangling scheme" >&5 ++printf %s "checking for Fortran name-mangling scheme... " >&6; } ++if test ${ac_cv_fc_mangling+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat > conftest.$ac_ext <<_ACEOF + subroutine foobar() + return +@@ -7607,7 +8117,8 @@ + return + end + _ACEOF +-if ac_fn_fc_try_compile "$LINENO"; then : ++if ac_fn_fc_try_compile "$LINENO" ++then : + mv conftest.$ac_objext cfortran_test.$ac_objext + + ac_save_LIBS=$LIBS +@@ -7628,9 +8139,6 @@ + /* 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 $ac_func (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -7641,17 +8149,18 @@ + #endif + #endif + int +-main () ++main (void) + { + return $ac_func (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_success=yes; break 2 + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + done + done +@@ -7686,9 +8195,6 @@ + /* 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 $ac_func (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -7699,17 +8205,18 @@ + #endif + #endif + int +-main () ++main (void) + { + return $ac_func (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_success_extra=yes; break + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + done + ac_ext=${ac_fc_srcext-f} +@@ -7739,17 +8246,17 @@ + LIBS=$ac_save_LIBS + rm -rf conftest* + rm -f cfortran_test* +-else +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++else $as_nop ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error $? "cannot compile a simple Fortran program + See \`config.log' for more details" "$LINENO" 5; } + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_mangling" >&5 +-$as_echo "$ac_cv_fc_mangling" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_mangling" >&5 ++printf "%s\n" "$ac_cv_fc_mangling" >&6; } + + ac_ext=${ac_fc_srcext-f} + ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +@@ -7762,48 +8269,48 @@ + ac_compiler_gnu=$ac_cv_fc_compiler_gnu + case $ac_cv_fc_mangling in + "lower case, no underscore, no extra underscore") +- $as_echo "#define FC_FUNC(name,NAME) name" >>confdefs.h ++ printf "%s\n" "#define FC_FUNC(name,NAME) name" >>confdefs.h + +- $as_echo "#define FC_FUNC_(name,NAME) name" >>confdefs.h ++ printf "%s\n" "#define FC_FUNC_(name,NAME) name" >>confdefs.h + ;; + "lower case, no underscore, extra underscore") +- $as_echo "#define FC_FUNC(name,NAME) name" >>confdefs.h ++ printf "%s\n" "#define FC_FUNC(name,NAME) name" >>confdefs.h + +- $as_echo "#define FC_FUNC_(name,NAME) name ## _" >>confdefs.h ++ printf "%s\n" "#define FC_FUNC_(name,NAME) name ## _" >>confdefs.h + ;; + "lower case, underscore, no extra underscore") +- $as_echo "#define FC_FUNC(name,NAME) name ## _" >>confdefs.h ++ printf "%s\n" "#define FC_FUNC(name,NAME) name ## _" >>confdefs.h + +- $as_echo "#define FC_FUNC_(name,NAME) name ## _" >>confdefs.h ++ printf "%s\n" "#define FC_FUNC_(name,NAME) name ## _" >>confdefs.h + ;; + "lower case, underscore, extra underscore") +- $as_echo "#define FC_FUNC(name,NAME) name ## _" >>confdefs.h ++ printf "%s\n" "#define FC_FUNC(name,NAME) name ## _" >>confdefs.h + +- $as_echo "#define FC_FUNC_(name,NAME) name ## __" >>confdefs.h ++ printf "%s\n" "#define FC_FUNC_(name,NAME) name ## __" >>confdefs.h + ;; + "upper case, no underscore, no extra underscore") +- $as_echo "#define FC_FUNC(name,NAME) NAME" >>confdefs.h ++ printf "%s\n" "#define FC_FUNC(name,NAME) NAME" >>confdefs.h + +- $as_echo "#define FC_FUNC_(name,NAME) NAME" >>confdefs.h ++ printf "%s\n" "#define FC_FUNC_(name,NAME) NAME" >>confdefs.h + ;; + "upper case, no underscore, extra underscore") +- $as_echo "#define FC_FUNC(name,NAME) NAME" >>confdefs.h ++ printf "%s\n" "#define FC_FUNC(name,NAME) NAME" >>confdefs.h + +- $as_echo "#define FC_FUNC_(name,NAME) NAME ## _" >>confdefs.h ++ printf "%s\n" "#define FC_FUNC_(name,NAME) NAME ## _" >>confdefs.h + ;; + "upper case, underscore, no extra underscore") +- $as_echo "#define FC_FUNC(name,NAME) NAME ## _" >>confdefs.h ++ printf "%s\n" "#define FC_FUNC(name,NAME) NAME ## _" >>confdefs.h + +- $as_echo "#define FC_FUNC_(name,NAME) NAME ## _" >>confdefs.h ++ printf "%s\n" "#define FC_FUNC_(name,NAME) NAME ## _" >>confdefs.h + ;; + "upper case, underscore, extra underscore") +- $as_echo "#define FC_FUNC(name,NAME) NAME ## _" >>confdefs.h ++ printf "%s\n" "#define FC_FUNC(name,NAME) NAME ## _" >>confdefs.h + +- $as_echo "#define FC_FUNC_(name,NAME) NAME ## __" >>confdefs.h ++ printf "%s\n" "#define FC_FUNC_(name,NAME) NAME ## __" >>confdefs.h + ;; + *) +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unknown Fortran name-mangling scheme" >&5 +-$as_echo "$as_me: WARNING: unknown Fortran name-mangling scheme" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unknown Fortran name-mangling scheme" >&5 ++printf "%s\n" "$as_me: WARNING: unknown Fortran name-mangling scheme" >&2;} + ;; + esac + +@@ -7817,63 +8324,66 @@ + ## See if the fortran compiler supports the intrinsic function "SIZEOF" + + HAVE_SIZEOF_FORTRAN="no" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports intrinsic SIZEOF" >&5 +-$as_echo_n "checking if Fortran compiler supports intrinsic SIZEOF... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports intrinsic SIZEOF" >&5 ++printf %s "checking if Fortran compiler supports intrinsic SIZEOF... " >&6; } + TEST_SRC="`sed -n '/PROGRAM PROG_FC_SIZEOF/,/END PROGRAM PROG_FC_SIZEOF/p' $srcdir/m4/aclocal_fc.f90`" + cat > conftest.$ac_ext <<_ACEOF + $TEST_SRC + _ACEOF +-if ac_fn_fc_try_link "$LINENO"; then : +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++if ac_fn_fc_try_link "$LINENO" ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + HAVE_SIZEOF_FORTRAN="yes" +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + + ## See if the fortran compiler supports the intrinsic function "C_SIZEOF" + + HAVE_C_SIZEOF_FORTRAN="no" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports intrinsic C_SIZEOF" >&5 +-$as_echo_n "checking if Fortran compiler supports intrinsic C_SIZEOF... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports intrinsic C_SIZEOF" >&5 ++printf %s "checking if Fortran compiler supports intrinsic C_SIZEOF... " >&6; } + TEST_SRC="`sed -n '/PROGRAM PROG_FC_C_SIZEOF/,/END PROGRAM PROG_FC_C_SIZEOF/p' $srcdir/m4/aclocal_fc.f90`" + cat > conftest.$ac_ext <<_ACEOF + $TEST_SRC + _ACEOF +-if ac_fn_fc_try_link "$LINENO"; then : +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++if ac_fn_fc_try_link "$LINENO" ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + HAVE_C_SIZEOF_FORTRAN="yes" +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + + ## See if the fortran compiler supports the intrinsic function "STORAGE_SIZE" + + HAVE_STORAGE_SIZE_FORTRAN="no" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports intrinsic STORAGE_SIZE" >&5 +-$as_echo_n "checking if Fortran compiler supports intrinsic STORAGE_SIZE... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports intrinsic STORAGE_SIZE" >&5 ++printf %s "checking if Fortran compiler supports intrinsic STORAGE_SIZE... " >&6; } + TEST_SRC="`sed -ne '/PROGRAM PROG_FC_STORAGE_SIZE/,/END PROGRAM PROG_FC_STORAGE_SIZE/p' $srcdir/m4/aclocal_fc.f90`" + cat > conftest.$ac_ext <<_ACEOF + $TEST_SRC + _ACEOF +-if ac_fn_fc_try_link "$LINENO"; then : +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++if ac_fn_fc_try_link "$LINENO" ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + HAVE_STORAGE_SIZE_FORTRAN="yes" +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + +@@ -7897,21 +8407,22 @@ + ## See if the fortran compiler supports the intrinsic module "ISO_FORTRAN_ENV" + + HAVE_ISO_FORTRAN_ENV="no" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports intrinsic module ISO_FORTRAN_ENV" >&5 +-$as_echo_n "checking if Fortran compiler supports intrinsic module ISO_FORTRAN_ENV... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports intrinsic module ISO_FORTRAN_ENV" >&5 ++printf %s "checking if Fortran compiler supports intrinsic module ISO_FORTRAN_ENV... " >&6; } + TEST_SRC="`sed -n '/PROGRAM PROG_FC_ISO_FORTRAN_ENV/,/END PROGRAM PROG_FC_ISO_FORTRAN_ENV/p' $srcdir/m4/aclocal_fc.f90`" + cat > conftest.$ac_ext <<_ACEOF + $TEST_SRC + _ACEOF +-if ac_fn_fc_try_link "$LINENO"; then : +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++if ac_fn_fc_try_link "$LINENO" ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + HAVE_ISO_FORTRAN_ENV="yes" +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + ## Check KIND and size of native integer +@@ -7923,16 +8434,18 @@ + + rm -f pac_fconftest.out + TEST_SRC="`sed -n '/PROGRAM FC_AVAIL_KINDS/,/END PROGRAM FC_AVAIL_KINDS/p' $srcdir/m4/aclocal_fc.f90`" +-if test "$cross_compiling" = yes; then : +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++if test "$cross_compiling" = yes ++then : ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error $? "cannot run test program while cross compiling + See \`config.log' for more details" "$LINENO" 5; } +-else ++else $as_nop + cat > conftest.$ac_ext <<_ACEOF + $TEST_SRC + _ACEOF +-if ac_fn_fc_try_run "$LINENO"; then : ++if ac_fn_fc_try_run "$LINENO" ++then : + + if test -s pac_fconftest.out ; then + +@@ -7941,9 +8454,7 @@ + pac_validRealKinds="`sed -n '2p' pac_fconftest.out`" + PAC_FC_MAX_REAL_PRECISION="`sed -n '3p' pac_fconftest.out`" + +-cat >>confdefs.h <<_ACEOF +-#define PAC_FC_MAX_REAL_PRECISION $PAC_FC_MAX_REAL_PRECISION +-_ACEOF ++printf "%s\n" "#define PAC_FC_MAX_REAL_PRECISION $PAC_FC_MAX_REAL_PRECISION" >>confdefs.h + + + PAC_FC_ALL_INTEGER_KINDS="{`echo $pac_validIntKinds`}" +@@ -7956,53 +8467,45 @@ + H5CONFIG_F_RKIND="INTEGER, DIMENSION(1:num_rkinds) :: rkind = (/`echo $pac_validRealKinds`/)" + + +-cat >>confdefs.h <<_ACEOF +-#define H5CONFIG_F_NUM_RKIND $H5CONFIG_F_NUM_RKIND +-_ACEOF ++printf "%s\n" "#define H5CONFIG_F_NUM_RKIND $H5CONFIG_F_NUM_RKIND" >>confdefs.h + + +-cat >>confdefs.h <<_ACEOF +-#define H5CONFIG_F_NUM_IKIND $H5CONFIG_F_NUM_IKIND +-_ACEOF ++printf "%s\n" "#define H5CONFIG_F_NUM_IKIND $H5CONFIG_F_NUM_IKIND" >>confdefs.h + + +-cat >>confdefs.h <<_ACEOF +-#define H5CONFIG_F_RKIND $H5CONFIG_F_RKIND +-_ACEOF ++printf "%s\n" "#define H5CONFIG_F_RKIND $H5CONFIG_F_RKIND" >>confdefs.h + + +-cat >>confdefs.h <<_ACEOF +-#define H5CONFIG_F_IKIND $H5CONFIG_F_IKIND +-_ACEOF ++printf "%s\n" "#define H5CONFIG_F_IKIND $H5CONFIG_F_IKIND" >>confdefs.h + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Number of Fortran INTEGER KINDs" >&5 +-$as_echo_n "checking for Number of Fortran INTEGER KINDs... " >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAC_FORTRAN_NUM_INTEGER_KINDS" >&5 +-$as_echo "$PAC_FORTRAN_NUM_INTEGER_KINDS" >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran INTEGER KINDs" >&5 +-$as_echo_n "checking for Fortran INTEGER KINDs... " >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_ALL_INTEGER_KINDS" >&5 +-$as_echo "$PAC_FC_ALL_INTEGER_KINDS" >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran REAL KINDs" >&5 +-$as_echo_n "checking for Fortran REAL KINDs... " >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_ALL_REAL_KINDS" >&5 +-$as_echo "$PAC_FC_ALL_REAL_KINDS" >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran REALs maximum decimal precision" >&5 +-$as_echo_n "checking for Fortran REALs maximum decimal precision... " >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_MAX_REAL_PRECISION" >&5 +-$as_echo "$PAC_FC_MAX_REAL_PRECISION" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Number of Fortran INTEGER KINDs" >&5 ++printf %s "checking for Number of Fortran INTEGER KINDs... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PAC_FORTRAN_NUM_INTEGER_KINDS" >&5 ++printf "%s\n" "$PAC_FORTRAN_NUM_INTEGER_KINDS" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran INTEGER KINDs" >&5 ++printf %s "checking for Fortran INTEGER KINDs... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_ALL_INTEGER_KINDS" >&5 ++printf "%s\n" "$PAC_FC_ALL_INTEGER_KINDS" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran REAL KINDs" >&5 ++printf %s "checking for Fortran REAL KINDs... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_ALL_REAL_KINDS" >&5 ++printf "%s\n" "$PAC_FC_ALL_REAL_KINDS" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran REALs maximum decimal precision" >&5 ++printf %s "checking for Fortran REALs maximum decimal precision... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_MAX_REAL_PRECISION" >&5 ++printf "%s\n" "$PAC_FC_MAX_REAL_PRECISION" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: Error" >&5 +-$as_echo "Error" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error" >&5 ++printf "%s\n" "Error" >&6; } + as_fn_error $? "No output from Fortran test program!" "$LINENO" 5 + fi + rm -f pac_fconftest.out + +-else ++else $as_nop + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: Error" >&5 +-$as_echo "Error" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error" >&5 ++printf "%s\n" "Error" >&6; } + as_fn_error $? "Failed to run Fortran program to determine available KINDs" "$LINENO" 5 + + fi +@@ -8019,8 +8522,8 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking sizeof of native KINDS" >&5 +-$as_echo_n "checking sizeof of native KINDS... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking sizeof of native KINDS" >&5 ++printf %s "checking sizeof of native KINDS... " >&6; } + ac_ext=${ac_fc_srcext-f} + ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' + ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +@@ -8049,12 +8552,14 @@ + + + _ACEOF +- if test "$cross_compiling" = yes; then : ++ if test "$cross_compiling" = yes ++then : + + pack_int_sizeof="" + +-else +- if ac_fn_fc_try_run "$LINENO"; then : ++else $as_nop ++ if ac_fn_fc_try_run "$LINENO" ++then : + + if test -s pac_fconftest.out ; then + PAC_FORTRAN_NATIVE_INTEGER_SIZEOF="`sed -n '1p' pac_fconftest.out`" +@@ -8068,7 +8573,7 @@ + fi + rm -f pac_fconftest.out + +-else ++else $as_nop + + as_fn_error $? "Fortran program fails to build or run!" "$LINENO" 5 + +@@ -8077,8 +8582,8 @@ + conftest.$ac_objext conftest.beam + fi + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pack_int_sizeof" >&5 +-$as_echo "$pack_int_sizeof" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pack_int_sizeof" >&5 ++printf "%s\n" "$pack_int_sizeof" >&6; } + ac_ext=${ac_fc_srcext-f} + ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' + ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +@@ -8095,16 +8600,18 @@ + + rm -f pac_fconftest.out + TEST_SRC="`sed -n '/PROGRAM FC_AVAIL_KINDS/,/END PROGRAM FC_AVAIL_KINDS/p' $srcdir/m4/aclocal_fc.f90`" +-if test "$cross_compiling" = yes; then : +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++if test "$cross_compiling" = yes ++then : ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error $? "cannot run test program while cross compiling + See \`config.log' for more details" "$LINENO" 5; } +-else ++else $as_nop + cat > conftest.$ac_ext <<_ACEOF + $TEST_SRC + _ACEOF +-if ac_fn_fc_try_run "$LINENO"; then : ++if ac_fn_fc_try_run "$LINENO" ++then : + + if test -s pac_fconftest.out ; then + +@@ -8113,9 +8620,7 @@ + pac_validRealKinds="`sed -n '2p' pac_fconftest.out`" + PAC_FC_MAX_REAL_PRECISION="`sed -n '3p' pac_fconftest.out`" + +-cat >>confdefs.h <<_ACEOF +-#define PAC_FC_MAX_REAL_PRECISION $PAC_FC_MAX_REAL_PRECISION +-_ACEOF ++printf "%s\n" "#define PAC_FC_MAX_REAL_PRECISION $PAC_FC_MAX_REAL_PRECISION" >>confdefs.h + + + PAC_FC_ALL_INTEGER_KINDS="{`echo $pac_validIntKinds`}" +@@ -8128,53 +8633,45 @@ + H5CONFIG_F_RKIND="INTEGER, DIMENSION(1:num_rkinds) :: rkind = (/`echo $pac_validRealKinds`/)" + + +-cat >>confdefs.h <<_ACEOF +-#define H5CONFIG_F_NUM_RKIND $H5CONFIG_F_NUM_RKIND +-_ACEOF ++printf "%s\n" "#define H5CONFIG_F_NUM_RKIND $H5CONFIG_F_NUM_RKIND" >>confdefs.h + + +-cat >>confdefs.h <<_ACEOF +-#define H5CONFIG_F_NUM_IKIND $H5CONFIG_F_NUM_IKIND +-_ACEOF ++printf "%s\n" "#define H5CONFIG_F_NUM_IKIND $H5CONFIG_F_NUM_IKIND" >>confdefs.h + + +-cat >>confdefs.h <<_ACEOF +-#define H5CONFIG_F_RKIND $H5CONFIG_F_RKIND +-_ACEOF ++printf "%s\n" "#define H5CONFIG_F_RKIND $H5CONFIG_F_RKIND" >>confdefs.h + + +-cat >>confdefs.h <<_ACEOF +-#define H5CONFIG_F_IKIND $H5CONFIG_F_IKIND +-_ACEOF ++printf "%s\n" "#define H5CONFIG_F_IKIND $H5CONFIG_F_IKIND" >>confdefs.h + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Number of Fortran INTEGER KINDs" >&5 +-$as_echo_n "checking for Number of Fortran INTEGER KINDs... " >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAC_FORTRAN_NUM_INTEGER_KINDS" >&5 +-$as_echo "$PAC_FORTRAN_NUM_INTEGER_KINDS" >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran INTEGER KINDs" >&5 +-$as_echo_n "checking for Fortran INTEGER KINDs... " >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_ALL_INTEGER_KINDS" >&5 +-$as_echo "$PAC_FC_ALL_INTEGER_KINDS" >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran REAL KINDs" >&5 +-$as_echo_n "checking for Fortran REAL KINDs... " >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_ALL_REAL_KINDS" >&5 +-$as_echo "$PAC_FC_ALL_REAL_KINDS" >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran REALs maximum decimal precision" >&5 +-$as_echo_n "checking for Fortran REALs maximum decimal precision... " >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_MAX_REAL_PRECISION" >&5 +-$as_echo "$PAC_FC_MAX_REAL_PRECISION" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Number of Fortran INTEGER KINDs" >&5 ++printf %s "checking for Number of Fortran INTEGER KINDs... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PAC_FORTRAN_NUM_INTEGER_KINDS" >&5 ++printf "%s\n" "$PAC_FORTRAN_NUM_INTEGER_KINDS" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran INTEGER KINDs" >&5 ++printf %s "checking for Fortran INTEGER KINDs... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_ALL_INTEGER_KINDS" >&5 ++printf "%s\n" "$PAC_FC_ALL_INTEGER_KINDS" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran REAL KINDs" >&5 ++printf %s "checking for Fortran REAL KINDs... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_ALL_REAL_KINDS" >&5 ++printf "%s\n" "$PAC_FC_ALL_REAL_KINDS" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran REALs maximum decimal precision" >&5 ++printf %s "checking for Fortran REALs maximum decimal precision... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_MAX_REAL_PRECISION" >&5 ++printf "%s\n" "$PAC_FC_MAX_REAL_PRECISION" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: Error" >&5 +-$as_echo "Error" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error" >&5 ++printf "%s\n" "Error" >&6; } + as_fn_error $? "No output from Fortran test program!" "$LINENO" 5 + fi + rm -f pac_fconftest.out + +-else ++else $as_nop + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: Error" >&5 +-$as_echo "Error" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error" >&5 ++printf "%s\n" "Error" >&6; } + as_fn_error $? "Failed to run Fortran program to determine available KINDs" "$LINENO" 5 + + fi +@@ -8192,8 +8689,8 @@ + ## Find all sizeofs for available KINDs + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking sizeof of available INTEGER KINDs" >&5 +-$as_echo_n "checking sizeof of available INTEGER KINDs... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking sizeof of available INTEGER KINDs" >&5 ++printf %s "checking sizeof of available INTEGER KINDs... " >&6; } + ac_ext=${ac_fc_srcext-f} + ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' + ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +@@ -8217,12 +8714,14 @@ + + + _ACEOF +- if test "$cross_compiling" = yes; then : ++ if test "$cross_compiling" = yes ++then : + + pack_int_sizeof="" + +-else +- if ac_fn_fc_try_run "$LINENO"; then : ++else $as_nop ++ if ac_fn_fc_try_run "$LINENO" ++then : + + if test -s pac_fconftest.out ; then + sizes="`cat pac_fconftest.out`" +@@ -8232,7 +8731,7 @@ + fi + rm -f pac_fconftest.out + +-else ++else $as_nop + + as_fn_error $? "Fortran program fails to build or run!" "$LINENO" 5 + +@@ -8243,8 +8742,8 @@ + + done + PAC_FC_ALL_INTEGER_KINDS_SIZEOF="{`echo $pack_int_sizeof | sed -e 's/,$//' | sed -e 's/ //g'`}" +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_ALL_INTEGER_KINDS_SIZEOF" >&5 +-$as_echo "$PAC_FC_ALL_INTEGER_KINDS_SIZEOF" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_ALL_INTEGER_KINDS_SIZEOF" >&5 ++printf "%s\n" "$PAC_FC_ALL_INTEGER_KINDS_SIZEOF" >&6; } + ac_ext=${ac_fc_srcext-f} + ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' + ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +@@ -8253,8 +8752,8 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking sizeof of available REAL KINDs" >&5 +-$as_echo_n "checking sizeof of available REAL KINDs... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking sizeof of available REAL KINDs" >&5 ++printf %s "checking sizeof of available REAL KINDs... " >&6; } + ac_ext=${ac_fc_srcext-f} + ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' + ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +@@ -8277,12 +8776,14 @@ + + + _ACEOF +- if test "$cross_compiling" = yes; then : ++ if test "$cross_compiling" = yes ++then : + + pack_real_sizeof="" + +-else +- if ac_fn_fc_try_run "$LINENO"; then : ++else $as_nop ++ if ac_fn_fc_try_run "$LINENO" ++then : + + if test -s pac_fconftest.out ; then + sizes="`cat pac_fconftest.out`" +@@ -8292,7 +8793,7 @@ + fi + rm -f pac_fconftest.out + +-else ++else $as_nop + + as_fn_error $? "Fortran program fails to build or run!" "$LINENO" 5 + +@@ -8303,8 +8804,8 @@ + + done + PAC_FC_ALL_REAL_KINDS_SIZEOF="{`echo $pack_real_sizeof | sed -e 's/,$//' | sed -e 's/ //g'`}" +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_ALL_REAL_KINDS_SIZEOF" >&5 +-$as_echo "$PAC_FC_ALL_REAL_KINDS_SIZEOF" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_ALL_REAL_KINDS_SIZEOF" >&5 ++printf "%s\n" "$PAC_FC_ALL_REAL_KINDS_SIZEOF" >&6; } + ac_ext=${ac_fc_srcext-f} + ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' + ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +@@ -8335,61 +8836,60 @@ + + Fortran_COMPILER_ID=none + +-cat >>confdefs.h <<_ACEOF +-#define Fortran_COMPILER_ID $Fortran_COMPILER_ID +-_ACEOF ++printf "%s\n" "#define Fortran_COMPILER_ID $Fortran_COMPILER_ID" >>confdefs.h + + + ## Setting definition if there is a 16 byte fortran integer + if `echo $PAC_FC_ALL_INTEGER_KINDS_SIZEOF | grep '16' >/dev/null`; then + HAVE_Fortran_INTEGER_SIZEOF_16="1" + +-$as_echo "#define HAVE_Fortran_INTEGER_SIZEOF_16 1" >>confdefs.h ++printf "%s\n" "#define HAVE_Fortran_INTEGER_SIZEOF_16 1" >>confdefs.h + + else + HAVE_Fortran_INTEGER_SIZEOF_16="0" + +-$as_echo "#define HAVE_Fortran_INTEGER_SIZEOF_16 0" >>confdefs.h ++printf "%s\n" "#define HAVE_Fortran_INTEGER_SIZEOF_16 0" >>confdefs.h + + fi + + if test "X$HAVE_STORAGE_SIZE_FORTRAN" = "Xyes"; then + +-$as_echo "#define FORTRAN_HAVE_STORAGE_SIZE 1" >>confdefs.h ++printf "%s\n" "#define FORTRAN_HAVE_STORAGE_SIZE 1" >>confdefs.h + + fi + + if test "X$HAVE_C_SIZEOF_FORTRAN" = "Xyes"; then + +-$as_echo "#define FORTRAN_HAVE_C_SIZEOF 1" >>confdefs.h ++printf "%s\n" "#define FORTRAN_HAVE_C_SIZEOF 1" >>confdefs.h + + fi + + if test "X$HAVE_SIZEOF_FORTRAN" = "Xyes"; then + +-$as_echo "#define FORTRAN_HAVE_SIZEOF 1" >>confdefs.h ++printf "%s\n" "#define FORTRAN_HAVE_SIZEOF 1" >>confdefs.h + + fi + + ## See if C_LONG_DOUBLE is available + + HAVE_C_LONG_DOUBLE_FORTRAN="no" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports intrinsic C_LONG_DOUBLE" >&5 +-$as_echo_n "checking if Fortran compiler supports intrinsic C_LONG_DOUBLE... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports intrinsic C_LONG_DOUBLE" >&5 ++printf %s "checking if Fortran compiler supports intrinsic C_LONG_DOUBLE... " >&6; } + TEST_SRC="" + TEST_SRC="`sed -n '/PROGRAM PROG_FC_HAVE_C_LONG_DOUBLE/,/END PROGRAM PROG_FC_HAVE_C_LONG_DOUBLE/p' $srcdir/m4/aclocal_fc.f90`" + cat > conftest.$ac_ext <<_ACEOF + $TEST_SRC + _ACEOF +-if ac_fn_fc_try_link "$LINENO"; then : +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++if ac_fn_fc_try_link "$LINENO" ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + HAVE_C_LONG_DOUBLE_FORTRAN="yes" +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + +@@ -8397,7 +8897,7 @@ + if test "X$HAVE_C_LONG_DOUBLE_FORTRAN" = "Xyes"; then + FORTRAN_HAVE_C_LONG_DOUBLE="1" + +-$as_echo "#define FORTRAN_HAVE_C_LONG_DOUBLE 1" >>confdefs.h ++printf "%s\n" "#define FORTRAN_HAVE_C_LONG_DOUBLE 1" >>confdefs.h + + fi + +@@ -8406,26 +8906,27 @@ + if test "$FORTRAN_HAVE_C_LONG_DOUBLE" = "1"; then + + C_LONG_DOUBLE_IS_UNIQUE_FORTRAN="no" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran C_LONG_DOUBLE is different from C_DOUBLE" >&5 +-$as_echo_n "checking if Fortran C_LONG_DOUBLE is different from C_DOUBLE... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran C_LONG_DOUBLE is different from C_DOUBLE" >&5 ++printf %s "checking if Fortran C_LONG_DOUBLE is different from C_DOUBLE... " >&6; } + TEST_SRC="`sed -n '/MODULE type_mod/,/END PROGRAM PROG_FC_C_LONG_DOUBLE_EQ_C_DOUBLE/p' $srcdir/m4/aclocal_fc.f90`" + cat > conftest.$ac_ext <<_ACEOF + $TEST_SRC + _ACEOF +-if ac_fn_fc_try_compile "$LINENO"; then : +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++if ac_fn_fc_try_compile "$LINENO" ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + C_LONG_DOUBLE_IS_UNIQUE_FORTRAN="yes" +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + if test "X$C_LONG_DOUBLE_IS_UNIQUE_FORTRAN" = "Xyes"; then + FORTRAN_C_LONG_DOUBLE_IS_UNIQUE="1" + +-$as_echo "#define FORTRAN_C_LONG_DOUBLE_IS_UNIQUE 1" >>confdefs.h ++printf "%s\n" "#define FORTRAN_C_LONG_DOUBLE_IS_UNIQUE 1" >>confdefs.h + + else + FORTRAN_C_LONG_DOUBLE_IS_UNIQUE="0" +@@ -8434,9 +8935,7 @@ + + FORTRAN_SIZEOF_LONG_DOUBLE=${ac_cv_sizeof_long_double} + +-cat >>confdefs.h <<_ACEOF +-#define FORTRAN_SIZEOF_LONG_DOUBLE "${ac_cv_sizeof_long_double}" +-_ACEOF ++printf "%s\n" "#define FORTRAN_SIZEOF_LONG_DOUBLE \"${ac_cv_sizeof_long_double}\"" >>confdefs.h + + + max_real_fortran_sizeof="`echo $PAC_FC_ALL_REAL_KINDS_SIZEOF | sed -ne 's/.*,\([0-9]*\)}/\1/p'`" +@@ -8446,11 +8945,11 @@ + if test "$ac_cv_sizeof___float128" != "$max_real_fortran_sizeof" && + test "${ac_cv_sizeof_long_double}" != "$max_real_fortran_sizeof" && + test "${ac_cv_sizeof_double}" != "$max_real_fortran_sizeof" ; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: + Fortran REAL(KIND=$max_real_fortran_kind) is $max_real_fortran_sizeof Bytes, but no corresponding C float type exists of that size + !!! Fortran interfaces will not be generated for REAL(KIND=$max_real_fortran_kind) !!! + " >&5 +-$as_echo "$as_me: WARNING: ++printf "%s\n" "$as_me: WARNING: + Fortran REAL(KIND=$max_real_fortran_kind) is $max_real_fortran_sizeof Bytes, but no corresponding C float type exists of that size + !!! Fortran interfaces will not be generated for REAL(KIND=$max_real_fortran_kind) !!! + " >&2;} +@@ -8459,29 +8958,23 @@ + + fi + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran interoperable KINDS with C" >&5 +-$as_echo_n "checking for Fortran interoperable KINDS with C... " >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_ALL_REAL_KINDS" >&5 +-$as_echo "$PAC_FC_ALL_REAL_KINDS" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran interoperable KINDS with C" >&5 ++printf %s "checking for Fortran interoperable KINDS with C... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_ALL_REAL_KINDS" >&5 ++printf "%s\n" "$PAC_FC_ALL_REAL_KINDS" >&6; } + + H5CONFIG_F_NUM_RKIND="INTEGER, PARAMETER :: num_rkinds = `echo \"$PAC_FC_ALL_REAL_KINDS\" | tr -d -c ',\n' | awk '{ print length + 1; }'`" + H5CONFIG_F_RKIND="INTEGER, DIMENSION(1:num_rkinds) :: rkind = (/`echo $PAC_FC_ALL_REAL_KINDS | sed -e 's/{//g' | sed -e 's/}//g' | sed -e 's/ /,/g'`/)" + H5CONFIG_F_RKIND_SIZEOF="INTEGER, DIMENSION(1:num_rkinds) :: rkind_sizeof = (/`echo $PAC_FC_ALL_REAL_KINDS_SIZEOF | sed -e 's/{//g' | sed -e 's/}//g'| sed -e 's/ /,/g'`/)" + + +-cat >>confdefs.h <<_ACEOF +-#define H5CONFIG_F_NUM_RKIND $H5CONFIG_F_NUM_RKIND +-_ACEOF ++printf "%s\n" "#define H5CONFIG_F_NUM_RKIND $H5CONFIG_F_NUM_RKIND" >>confdefs.h + + +-cat >>confdefs.h <<_ACEOF +-#define H5CONFIG_F_RKIND $H5CONFIG_F_RKIND +-_ACEOF ++printf "%s\n" "#define H5CONFIG_F_RKIND $H5CONFIG_F_RKIND" >>confdefs.h + + +-cat >>confdefs.h <<_ACEOF +-#define H5CONFIG_F_RKIND_SIZEOF $H5CONFIG_F_RKIND_SIZEOF +-_ACEOF ++printf "%s\n" "#define H5CONFIG_F_RKIND_SIZEOF $H5CONFIG_F_RKIND_SIZEOF" >>confdefs.h + + + ## Change back to the C language +@@ -8507,6 +9000,12 @@ + ## We need to check for a C++ compiler unconditionally, since + ## AC_PROG_CXX defines some macros that Automake 1.9.x uses and will + ## miss even if c++ is not enabled. ++ ++ ++ ++ ++ ++ + ac_ext=cpp + ac_cpp='$CXXCPP $CPPFLAGS' + ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +@@ -8517,15 +9016,16 @@ + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then +- for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC ++ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CXX+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. + else +@@ -8533,11 +9033,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -8548,11 +9052,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 ++printf "%s\n" "$CXX" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -8561,15 +9065,16 @@ + fi + if test -z "$CXX"; then + ac_ct_CXX=$CXX +- for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC ++ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CXX+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. + else +@@ -8577,11 +9082,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -8592,11 +9101,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 ++printf "%s\n" "$ac_ct_CXX" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -8608,8 +9117,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + CXX=$ac_ct_CXX +@@ -8619,7 +9128,7 @@ + fi + fi + # Provide some information about the compiler. +-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 ++printf "%s\n" "$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 +@@ -8629,7 +9138,7 @@ + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 ++printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then +@@ -8639,15 +9148,16 @@ + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + done + +-{ $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_cxx_compiler_gnu+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 ++printf %s "checking whether the compiler supports GNU C++... " >&6; } ++if test ${ac_cv_cxx_compiler_gnu+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -8660,7 +9170,7 @@ + #endif + #endif + int +-main () ++main (void) + { + #ifndef __GNUC__ + choke me +@@ -8670,29 +9180,33 @@ + return 0; + } + _ACEOF +-if ac_fn_cxx_try_compile "$LINENO"; then : ++if ac_fn_cxx_try_compile "$LINENO" ++then : + ac_compiler_gnu=yes +-else ++else $as_nop + ac_compiler_gnu=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +-$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 ++printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } ++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ++ + if test $ac_compiler_gnu = yes; then + GXX=yes + else + GXX= + fi +-ac_test_CXXFLAGS=${CXXFLAGS+set} ++ac_test_CXXFLAGS=${CXXFLAGS+y} + ac_save_CXXFLAGS=$CXXFLAGS +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +-$as_echo_n "checking whether $CXX accepts -g... " >&6; } +-if ${ac_cv_prog_cxx_g+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 ++printf %s "checking whether $CXX accepts -g... " >&6; } ++if test ${ac_cv_prog_cxx_g+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no +@@ -8709,16 +9223,17 @@ + #endif + #endif + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_cxx_try_compile "$LINENO"; then : ++if ac_fn_cxx_try_compile "$LINENO" ++then : + ac_cv_prog_cxx_g=yes +-else ++else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +@@ -8732,16 +9247,17 @@ + #endif + #endif + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_cxx_try_compile "$LINENO"; then : ++if ac_fn_cxx_try_compile "$LINENO" ++then : + +-else ++else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -8756,26 +9272,27 @@ + #endif + #endif + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_cxx_try_compile "$LINENO"; then : ++if ac_fn_cxx_try_compile "$LINENO" ++then : + ac_cv_prog_cxx_g=yes + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +-$as_echo "$ac_cv_prog_cxx_g" >&6; } +-if test "$ac_test_CXXFLAGS" = set; then ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 ++printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } ++if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS + elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then +@@ -8790,6 +9307,100 @@ + CXXFLAGS= + fi + fi ++ac_prog_cxx_stdcxx=no ++if test x$ac_prog_cxx_stdcxx = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 ++printf %s "checking for $CXX option to enable C++11 features... " >&6; } ++if test ${ac_cv_prog_cxx_11+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cxx_11=no ++ac_save_CXX=$CXX ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_cxx_conftest_cxx11_program ++_ACEOF ++for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA ++do ++ CXX="$ac_save_CXX $ac_arg" ++ if ac_fn_cxx_try_compile "$LINENO" ++then : ++ ac_cv_prog_cxx_cxx11=$ac_arg ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cxx_cxx11" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CXX=$ac_save_CXX ++fi ++ ++if test "x$ac_cv_prog_cxx_cxx11" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cxx_cxx11" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 ++printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } ++ CXX="$CXX $ac_cv_prog_cxx_cxx11" ++fi ++ ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 ++ ac_prog_cxx_stdcxx=cxx11 ++fi ++fi ++if test x$ac_prog_cxx_stdcxx = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 ++printf %s "checking for $CXX option to enable C++98 features... " >&6; } ++if test ${ac_cv_prog_cxx_98+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cxx_98=no ++ac_save_CXX=$CXX ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_cxx_conftest_cxx98_program ++_ACEOF ++for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA ++do ++ CXX="$ac_save_CXX $ac_arg" ++ if ac_fn_cxx_try_compile "$LINENO" ++then : ++ ac_cv_prog_cxx_cxx98=$ac_arg ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cxx_cxx98" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CXX=$ac_save_CXX ++fi ++ ++if test "x$ac_cv_prog_cxx_cxx98" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cxx_cxx98" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 ++printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } ++ CXX="$CXX $ac_cv_prog_cxx_cxx98" ++fi ++ ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 ++ ac_prog_cxx_stdcxx=cxx98 ++fi ++fi ++ + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' + ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +@@ -8798,11 +9409,12 @@ + + depcc="$CXX" am_compiler_list= + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +-$as_echo_n "checking dependency style of $depcc... " >&6; } +-if ${am_cv_CXX_dependencies_compiler_type+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 ++printf %s "checking dependency style of $depcc... " >&6; } ++if test ${am_cv_CXX_dependencies_compiler_type+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For +@@ -8909,8 +9521,8 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 +-$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 ++printf "%s\n" "$am_cv_CXX_dependencies_compiler_type" >&6; } + CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + if +@@ -8929,36 +9541,32 @@ + ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' + ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' + ac_compiler_gnu=$ac_cv_cxx_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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 ++printf %s "checking how to run the C++ preprocessor... " >&6; } + if test -z "$CXXCPP"; then +- if ${ac_cv_prog_CXXCPP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- # Double quotes because CXXCPP needs to be expanded +- for CXXCPP in "$CXX -E" "/lib/cpp" ++ if test ${ac_cv_prog_CXXCPP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ # Double quotes because $CXX needs to be expanded ++ for CXXCPP in "$CXX -E" cpp /lib/cpp + do + ac_preproc_ok=false + for ac_cxx_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 ++#include + Syntax error + _ACEOF +-if ac_fn_cxx_try_cpp "$LINENO"; then : ++if ac_fn_cxx_try_cpp "$LINENO" ++then : + +-else ++else $as_nop + # Broken: fails on valid input. + continue + fi +@@ -8970,10 +9578,11 @@ + /* end confdefs.h. */ + #include + _ACEOF +-if ac_fn_cxx_try_cpp "$LINENO"; then : ++if ac_fn_cxx_try_cpp "$LINENO" ++then : + # Broken: success on invalid input. + continue +-else ++else $as_nop + # Passes both tests. + ac_preproc_ok=: + break +@@ -8983,7 +9592,8 @@ + 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 : ++if $ac_preproc_ok ++then : + break + fi + +@@ -8995,29 +9605,24 @@ + else + ac_cv_prog_CXXCPP=$CXXCPP + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +-$as_echo "$CXXCPP" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 ++printf "%s\n" "$CXXCPP" >&6; } + ac_preproc_ok=false + for ac_cxx_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 ++#include + Syntax error + _ACEOF +-if ac_fn_cxx_try_cpp "$LINENO"; then : ++if ac_fn_cxx_try_cpp "$LINENO" ++then : + +-else ++else $as_nop + # Broken: fails on valid input. + continue + fi +@@ -9029,10 +9634,11 @@ + /* end confdefs.h. */ + #include + _ACEOF +-if ac_fn_cxx_try_cpp "$LINENO"; then : ++if ac_fn_cxx_try_cpp "$LINENO" ++then : + # Broken: success on invalid input. + continue +-else ++else $as_nop + # Passes both tests. + ac_preproc_ok=: + break +@@ -9042,11 +9648,12 @@ + 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 : ++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;} ++else $as_nop ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check + See \`config.log' for more details" "$LINENO" 5; } + fi +@@ -9058,11 +9665,12 @@ + ac_compiler_gnu=$ac_cv_c_compiler_gnu + ## this is checked for when AC_HEADER_STDC is done + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if c++ interface enabled" >&5 +-$as_echo_n "checking if c++ interface enabled... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if c++ interface enabled" >&5 ++printf %s "checking if c++ interface enabled... " >&6; } + + # Check whether --enable-cxx was given. +-if test "${enable_cxx+set}" = set; then : ++if test ${enable_cxx+y} ++then : + enableval=$enable_cxx; HDF_CXX=$enableval + fi + +@@ -9085,70 +9693,73 @@ + ## Checking if C++ needs old style header files in includes + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CXX needs old style header files in includes" >&5 +-$as_echo_n "checking if $CXX needs old style header files in includes... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CXX needs old style header files in includes" >&5 ++printf %s "checking if $CXX needs old style header files in includes... " >&6; } + TEST_SRC="`(echo \"#define OLD_HEADER_FILENAME 1\"; cat $srcdir/config/cmake_ext_mod/HDFCXXTests.cpp)`" + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $TEST_SRC + _ACEOF +-if ac_fn_cxx_try_link "$LINENO"; then : +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++if ac_fn_cxx_try_link "$LINENO" ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + CXXFLAGS="${CXXFLAGS} -DOLD_HEADER_FILENAME" + AM_CXXFLAGS="${AM_CXXFLAGS} -DOLD_HEADER_FILENAME" + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + + ## Checking if C++ can handle namespaces + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CXX can handle namespaces" >&5 +-$as_echo_n "checking if $CXX can handle namespaces... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CXX can handle namespaces" >&5 ++printf %s "checking if $CXX can handle namespaces... " >&6; } + TEST_SRC="`(echo \"#define HDF_NO_NAMESPACE 1\"; cat $srcdir/config/cmake_ext_mod/HDFCXXTests.cpp)`" + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $TEST_SRC + _ACEOF +-if ac_fn_cxx_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; } ++if ac_fn_cxx_try_link "$LINENO" ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + CXXFLAGS="${CXXFLAGS} -DHDF_NO_NAMESPACE" + AM_CXXFLAGS="${AM_CXXFLAGS} -DHDF_NO_NAMESPACE" + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + + ## if C++ can handle static cast + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CXX can handle static cast" >&5 +-$as_echo_n "checking if $CXX can handle static cast... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CXX can handle static cast" >&5 ++printf %s "checking if $CXX can handle static cast... " >&6; } + TEST_SRC="`(echo \"#define NO_STATIC_CAST 1\"; cat $srcdir/config/cmake_ext_mod/HDFCXXTests.cpp)`" + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $TEST_SRC + _ACEOF +-if ac_fn_cxx_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; } ++if ac_fn_cxx_try_link "$LINENO" ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + CXXFLAGS="${CXXFLAGS} -DNO_STATIC_CAST" + AM_CXXFLAGS="${AM_CXXFLAGS} -DNO_STATIC_CAST" + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + +@@ -9156,31 +9767,32 @@ + ## note: this test has to be the last of the C++ tests because it sets a definition + ## which would be used in the other tests, causing them to fail. + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CXX has offsetof extension" >&5 +-$as_echo_n "checking if $CXX has offsetof extension... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CXX has offsetof extension" >&5 ++printf %s "checking if $CXX has offsetof extension... " >&6; } + TEST_SRC="`(echo \"#define CXX_HAVE_OFFSETOF 1\"; cat $srcdir/config/cmake_ext_mod/HDFCXXTests.cpp)`" + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $TEST_SRC + _ACEOF +-if ac_fn_cxx_try_link "$LINENO"; then : +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++if ac_fn_cxx_try_link "$LINENO" ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + +-$as_echo "#define CXX_HAVE_OFFSETOF 1" >>confdefs.h ++printf "%s\n" "#define CXX_HAVE_OFFSETOF 1" >>confdefs.h + +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + CXX="no" + fi + +@@ -9217,24 +9829,25 @@ + + HL_FOR="" + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the high-level library is enabled" >&5 +-$as_echo_n "checking if the high-level library is enabled... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the high-level library is enabled" >&5 ++printf %s "checking if the high-level library is enabled... " >&6; } + # Check whether --enable-hl was given. +-if test "${enable_hl+set}" = set; then : ++if test ${enable_hl+y} ++then : + enableval=$enable_hl; HDF5_HL=$enableval + fi + + + if test "X-$HDF5_HL" = "X-yes"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + HL="hl" + +-$as_echo "#define INCLUDE_HL 1" >>confdefs.h ++printf "%s\n" "#define INCLUDE_HL 1" >>confdefs.h + + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -9247,11 +9860,12 @@ + 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_AR+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_AR+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. + else +@@ -9259,11 +9873,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -9274,11 +9892,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 ++printf "%s\n" "$AR" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -9299,13 +9917,14 @@ + ## correctly. + export AR + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 ++printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } + set x ${MAKE-make} +-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` ++if eval test \${ac_cv_prog_make_${ac_make}_set+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat >conftest.make <<\_ACEOF + SHELL = /bin/sh + all: +@@ -9321,12 +9940,12 @@ + rm -f conftest.make + fi + if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + SET_MAKE= + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" + fi + +@@ -9339,11 +9958,12 @@ + + # Extract the first word of "tr", so it can be a program name with args. + set dummy tr; 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_TR+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_path_TR+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + case $TR in + [\\/]* | ?:[\\/]*) + ac_cv_path_TR="$TR" # Let the user override the test with a path. +@@ -9353,11 +9973,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + 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_TR="$as_dir/$ac_word$ac_exec_ext" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ++ ac_cv_path_TR="$as_dir$ac_word$ac_exec_ext" ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -9369,11 +9993,11 @@ + fi + TR=$ac_cv_path_TR + if test -n "$TR"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TR" >&5 +-$as_echo "$TR" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $TR" >&5 ++printf "%s\n" "$TR" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -9388,19 +10012,19 @@ + ## and 64-bit platforms. Given how long this has been true, it seems + ## unlikely to change, but we should probably re-test this periodically. + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if srcdir= and time commands work together" >&5 +-$as_echo_n "checking if srcdir= and time commands work together... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if srcdir= and time commands work together" >&5 ++printf %s "checking if srcdir= and time commands work together... " >&6; } + + + TIME=time + TIME_TEST=`foo="bar" ${TIME} echo 'baz' 2> /dev/null | grep baz` + + if test "X${TIME_TEST}" = "Xbaz"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + TIME= + fi + +@@ -9455,11 +10079,12 @@ + HDF_JAVA=no + + H5_CLASSPATH="" +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Java JNI interface enabled" >&5 +-$as_echo_n "checking if Java JNI interface enabled... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Java JNI interface enabled" >&5 ++printf %s "checking if Java JNI interface enabled... " >&6; } + + # Check whether --enable-java was given. +-if test "${enable_java+set}" = set; then : ++if test ${enable_java+y} ++then : + enableval=$enable_java; HDF_JAVA=$enableval + fi + +@@ -9476,19 +10101,22 @@ + + + # Check whether --with-java-prefix was given. +-if test "${with_java_prefix+set}" = set; then : ++if test ${with_java_prefix+y} ++then : + withval=$with_java_prefix; + fi + + + # Check whether --with-javac-flags was given. +-if test "${with_javac_flags+set}" = set; then : ++if test ${with_javac_flags+y} ++then : + withval=$with_javac_flags; + fi + + + # Check whether --with-java-flags was given. +-if test "${with_java_flags+set}" = set; then : ++if test ${with_java_flags+y} ++then : + withval=$with_java_flags; + fi + +@@ -9499,16 +10127,18 @@ + H5_JAVACFLAGS=$JAVACFLAGS + H5_JAVAFLAGS=$JAVAFLAGS + +-if test "x$JAVAPREFIX" = x; then : ++if test "x$JAVAPREFIX" = x ++then : + test "x$JAVAC" = x && for ac_prog in "gcj -C" guavac jikes javac + 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_JAVAC+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_JAVAC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$JAVAC"; then + ac_cv_prog_JAVAC="$JAVAC" # Let the user override the test. + else +@@ -9516,11 +10146,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_JAVAC="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -9531,27 +10165,28 @@ + fi + JAVAC=$ac_cv_prog_JAVAC + if test -n "$JAVAC"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5 +-$as_echo "$JAVAC" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5 ++printf "%s\n" "$JAVAC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + + test -n "$JAVAC" && break + done + +-else ++else $as_nop + test "x$JAVAC" = x && for ac_prog in "gcj -C" guavac jikes javac + 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_JAVAC+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_JAVAC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$JAVAC"; then + ac_cv_prog_JAVAC="$JAVAC" # Let the user override the test. + else +@@ -9559,11 +10194,15 @@ + for as_dir in $JAVAPREFIX/bin + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_JAVAC="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -9574,11 +10213,11 @@ + fi + JAVAC=$ac_cv_prog_JAVAC + if test -n "$JAVAC"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5 +-$as_echo "$JAVAC" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5 ++printf "%s\n" "$JAVAC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -9588,16 +10227,17 @@ + fi + test "x$JAVAC" = x && as_fn_error $? "no acceptable Java compiler found in \$PATH" "$LINENO" 5 + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVAC works" >&5 +-$as_echo_n "checking if $JAVAC works... " >&6; } +-if ${ac_cv_prog_javac_works+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $JAVAC works" >&5 ++printf %s "checking if $JAVAC works... " >&6; } ++if test ${ac_cv_prog_javac_works+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + + JAVA_TEST=Test.java + CLASS_TEST=Test.class + cat << \EOF > $JAVA_TEST +-/* #line 9600 "configure" */ ++/* #line 10240 "configure" */ + public class Test { + } + EOF +@@ -9605,7 +10245,7 @@ + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null 2>&1; then + ac_cv_prog_javac_works=yes + else +@@ -9616,21 +10256,23 @@ + rm -f $JAVA_TEST $CLASS_TEST + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_javac_works" >&5 +-$as_echo "$ac_cv_prog_javac_works" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_javac_works" >&5 ++printf "%s\n" "$ac_cv_prog_javac_works" >&6; } + + + +-if test "x$JAVAPREFIX" = x; then : ++if test "x$JAVAPREFIX" = x ++then : + test x$JAVA = x && for ac_prog in kaffe java + 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_JAVA+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_JAVA+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$JAVA"; then + ac_cv_prog_JAVA="$JAVA" # Let the user override the test. + else +@@ -9638,11 +10280,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_JAVA="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -9653,27 +10299,28 @@ + fi + JAVA=$ac_cv_prog_JAVA + if test -n "$JAVA"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVA" >&5 +-$as_echo "$JAVA" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAVA" >&5 ++printf "%s\n" "$JAVA" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + + test -n "$JAVA" && break + done + +-else ++else $as_nop + test x$JAVA = x && for ac_prog in kaffe java + 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_JAVA+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_JAVA+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$JAVA"; then + ac_cv_prog_JAVA="$JAVA" # Let the user override the test. + else +@@ -9681,11 +10328,15 @@ + for as_dir in $JAVAPREFIX/bin + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_JAVA="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -9696,11 +10347,11 @@ + fi + JAVA=$ac_cv_prog_JAVA + if test -n "$JAVA"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVA" >&5 +-$as_echo "$JAVA" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAVA" >&5 ++printf "%s\n" "$JAVA" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -9715,16 +10366,18 @@ + fi + if test x$ac_cv_prog_javac_works = x; then + +-if test "x$JAVAPREFIX" = x; then : ++if test "x$JAVAPREFIX" = x ++then : + test "x$JAVAC" = x && for ac_prog in "gcj -C" guavac jikes javac + 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_JAVAC+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_JAVAC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$JAVAC"; then + ac_cv_prog_JAVAC="$JAVAC" # Let the user override the test. + else +@@ -9732,11 +10385,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_JAVAC="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -9747,27 +10404,28 @@ + fi + JAVAC=$ac_cv_prog_JAVAC + if test -n "$JAVAC"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5 +-$as_echo "$JAVAC" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5 ++printf "%s\n" "$JAVAC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + + test -n "$JAVAC" && break + done + +-else ++else $as_nop + test "x$JAVAC" = x && for ac_prog in "gcj -C" guavac jikes javac + 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_JAVAC+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_JAVAC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$JAVAC"; then + ac_cv_prog_JAVAC="$JAVAC" # Let the user override the test. + else +@@ -9775,11 +10433,15 @@ + for as_dir in $JAVAPREFIX/bin + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_JAVAC="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -9790,11 +10452,11 @@ + fi + JAVAC=$ac_cv_prog_JAVAC + if test -n "$JAVAC"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5 +-$as_echo "$JAVAC" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5 ++printf "%s\n" "$JAVAC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -9804,16 +10466,17 @@ + fi + test "x$JAVAC" = x && as_fn_error $? "no acceptable Java compiler found in \$PATH" "$LINENO" 5 + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVAC works" >&5 +-$as_echo_n "checking if $JAVAC works... " >&6; } +-if ${ac_cv_prog_javac_works+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $JAVAC works" >&5 ++printf %s "checking if $JAVAC works... " >&6; } ++if test ${ac_cv_prog_javac_works+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + + JAVA_TEST=Test.java + CLASS_TEST=Test.class + cat << \EOF > $JAVA_TEST +-/* #line 9816 "configure" */ ++/* #line 10479 "configure" */ + public class Test { + } + EOF +@@ -9821,7 +10484,7 @@ + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null 2>&1; then + ac_cv_prog_javac_works=yes + else +@@ -9832,22 +10495,23 @@ + rm -f $JAVA_TEST $CLASS_TEST + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_javac_works" >&5 +-$as_echo "$ac_cv_prog_javac_works" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_javac_works" >&5 ++printf "%s\n" "$ac_cv_prog_javac_works" >&6; } + + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVA works" >&5 +-$as_echo_n "checking if $JAVA works... " >&6; } +-if ${ac_cv_prog_java_works+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $JAVA works" >&5 ++printf %s "checking if $JAVA works... " >&6; } ++if test ${ac_cv_prog_java_works+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + + JAVA_TEST=Test.java + CLASS_TEST=Test.class + TEST=Test + cat << \EOF > $JAVA_TEST +-/* [#]line 9850 "configure" */ ++/* [#]line 10514 "configure" */ + public class Test { + public static void main (String args[]) { + System.exit (0); +@@ -9857,7 +10521,7 @@ + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } && test -s $CLASS_TEST; then + : + else +@@ -9869,7 +10533,7 @@ + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null 2>&1; then + ac_cv_prog_java_works=yes + else +@@ -9880,22 +10544,24 @@ + rm -f $JAVA_TEST $CLASS_TEST + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_java_works" >&5 +-$as_echo "$ac_cv_prog_java_works" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_java_works" >&5 ++printf "%s\n" "$ac_cv_prog_java_works" >&6; } + + + + +-if test "x$JAVAPREFIX" = x; then : ++if test "x$JAVAPREFIX" = x ++then : + test "x$JAR" = x && for ac_prog in jar + 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_JAR+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_JAR+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$JAR"; then + ac_cv_prog_JAR="$JAR" # Let the user override the test. + else +@@ -9903,11 +10569,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_JAR="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -9918,27 +10588,28 @@ + fi + JAR=$ac_cv_prog_JAR + if test -n "$JAR"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAR" >&5 +-$as_echo "$JAR" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAR" >&5 ++printf "%s\n" "$JAR" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + + test -n "$JAR" && break + done + +-else ++else $as_nop + test "x$JAR" = x && for ac_prog in jar + 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_JAR+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_JAR+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$JAR"; then + ac_cv_prog_JAR="$JAR" # Let the user override the test. + else +@@ -9946,11 +10617,15 @@ + for as_dir in $JAVAPREFIX/bin + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_JAR="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -9961,11 +10636,11 @@ + fi + JAR=$ac_cv_prog_JAR + if test -n "$JAR"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAR" >&5 +-$as_echo "$JAR" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAR" >&5 ++printf "%s\n" "$JAR" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -9976,16 +10651,18 @@ + test "x$JAR" = x && as_fn_error $? "no acceptable jar program found in \$PATH" "$LINENO" 5 + + +-if test "x$JAVAPREFIX" = x; then : ++if test "x$JAVAPREFIX" = x ++then : + test "x$JAVADOC" = x && for ac_prog in javadoc + 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_JAVADOC+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_JAVADOC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$JAVADOC"; then + ac_cv_prog_JAVADOC="$JAVADOC" # Let the user override the test. + else +@@ -9993,11 +10670,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_JAVADOC="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -10008,27 +10689,28 @@ + fi + JAVADOC=$ac_cv_prog_JAVADOC + if test -n "$JAVADOC"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVADOC" >&5 +-$as_echo "$JAVADOC" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAVADOC" >&5 ++printf "%s\n" "$JAVADOC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + + test -n "$JAVADOC" && break + done + +-else ++else $as_nop + test "x$JAVADOC" = x && for ac_prog in javadoc + 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_JAVADOC+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_JAVADOC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$JAVADOC"; then + ac_cv_prog_JAVADOC="$JAVADOC" # Let the user override the test. + else +@@ -10036,11 +10718,15 @@ + for as_dir in $JAVAPREFIX/bin + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_JAVADOC="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -10051,11 +10737,11 @@ + fi + JAVADOC=$ac_cv_prog_JAVADOC + if test -n "$JAVADOC"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVADOC" >&5 +-$as_echo "$JAVADOC" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAVADOC" >&5 ++printf "%s\n" "$JAVADOC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -10080,11 +10766,12 @@ + fi + # Extract the first word of "$JAVAC", so it can be a program name with args. + set dummy $JAVAC; 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__ACJNI_JAVAC+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_path__ACJNI_JAVAC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + case $_ACJNI_JAVAC in + [\\/]* | ?:[\\/]*) + ac_cv_path__ACJNI_JAVAC="$_ACJNI_JAVAC" # Let the user override the test with a path. +@@ -10094,11 +10781,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + 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__ACJNI_JAVAC="$as_dir/$ac_word$ac_exec_ext" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ++ ac_cv_path__ACJNI_JAVAC="$as_dir$ac_word$ac_exec_ext" ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -10111,11 +10802,11 @@ + fi + _ACJNI_JAVAC=$ac_cv_path__ACJNI_JAVAC + if test -n "$_ACJNI_JAVAC"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_ACJNI_JAVAC" >&5 +-$as_echo "$_ACJNI_JAVAC" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $_ACJNI_JAVAC" >&5 ++printf "%s\n" "$_ACJNI_JAVAC" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -10126,16 +10817,16 @@ + # find the include directory relative to the javac executable + _cur=""$_ACJNI_JAVAC"" + while ls -ld "$_cur" 2>/dev/null | grep " -> " >/dev/null; do +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking symlink for $_cur" >&5 +-$as_echo_n "checking symlink for $_cur... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking symlink for $_cur" >&5 ++printf %s "checking symlink for $_cur... " >&6; } + _slink=`ls -ld "$_cur" | sed 's/.* -> //'` + case "$_slink" in + /*) _cur="$_slink";; + # 'X' avoids triggering unwanted echo options. + *) _cur=`echo "X$_cur" | sed -e 's/^X//' -e 's:[^/]*$::'`"$_slink";; + esac +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_cur" >&5 +-$as_echo "$_cur" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $_cur" >&5 ++printf "%s\n" "$_cur" >&6; } + done + _ACJNI_FOLLOWED="$_cur" + +@@ -10155,17 +10846,18 @@ + ;; + *) _JINC="$_JTOPDIR/include";; + esac +-$as_echo "$as_me:${as_lineno-$LINENO}: _JTOPDIR=$_JTOPDIR" >&5 +-$as_echo "$as_me:${as_lineno-$LINENO}: _JINC=$_JINC" >&5 ++printf "%s\n" "$as_me:${as_lineno-$LINENO}: _JTOPDIR=$_JTOPDIR" >&5 ++printf "%s\n" "$as_me:${as_lineno-$LINENO}: _JINC=$_JINC" >&5 + + # On Mac OS X 10.6.4, jni.h is a symlink: + # /System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/jni.h + # -> ../../CurrentJDK/Headers/jni.h. +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking jni headers" >&5 +-$as_echo_n "checking jni headers... " >&6; } +-if ${ac_cv_jni_header_path+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking jni headers" >&5 ++printf %s "checking jni headers... " >&6; } ++if test ${ac_cv_jni_header_path+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + + if test -f "$_JINC/jni.h"; then + ac_cv_jni_header_path="$_JINC" +@@ -10181,8 +10873,8 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_jni_header_path" >&5 +-$as_echo "$ac_cv_jni_header_path" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_jni_header_path" >&5 ++printf "%s\n" "$ac_cv_jni_header_path" >&6; } + + # get the likely subdirectories for system specific java includes + case "$host_os" in +@@ -10221,22 +10913,24 @@ + + CLASSPATH_ENV=$H5_CLASSPATH + +-if ${ac_cv_prog_JUNIT+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++if test ${ac_cv_prog_JUNIT+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + + + + ac_var_name=`echo junit.textui.TestRunner | sed 's/\./_/g'` +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for junit.textui.TestRunner class" >&5 +-$as_echo_n "checking for junit.textui.TestRunner class... " >&6; } +-if eval \${ax_cv_class_$ac_var_name+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for junit.textui.TestRunner class" >&5 ++printf %s "checking for junit.textui.TestRunner class... " >&6; } ++if eval test \${ax_cv_class_$ac_var_name+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + + + cat << \EOF > Test.java +-/* #line 10239 "configure" */ ++/* #line 10933 "configure" */ + import junit.textui.TestRunner; + public class Test { + +@@ -10246,7 +10940,7 @@ + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } && test -s Test.class + then + eval "ac_cv_class_$ac_var_name=yes" +@@ -10269,16 +10963,16 @@ + fi + + eval "ac_var_val=$`eval echo ac_cv_class_$ac_var_name`" +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_var_val" >&5 +-$as_echo "$ac_var_val" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_var_val" >&5 ++printf "%s\n" "$ac_var_val" >&6; } + + if test x"`eval 'echo $ac_cv_class_junit_textui_TestRunner'`" != xno ; then + ac_cv_prog_JUNIT='$(CLASSPATH_ENV) $(JAVA) $(JAVAFLAGS) junit.textui.TestRunner' + fi + fi + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for junit" >&5 +-$as_echo_n "checking for junit... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for junit" >&5 ++printf %s "checking for junit... " >&6; } + if test x"`eval 'echo $ac_cv_prog_JUNIT'`" != x ; then + JUNIT="$ac_cv_prog_JUNIT" + JAVA_JUNIT='$(JAVA_JUNIT)' +@@ -10288,13 +10982,13 @@ + JAVA_JUNIT= + TESTS_JUNIT= + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVA_JUNIT" >&5 +-$as_echo "$JAVA_JUNIT" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAVA_JUNIT" >&5 ++printf "%s\n" "$JAVA_JUNIT" >&6; } + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JAVA_HOME" >&5 +-$as_echo_n "checking for JAVA_HOME... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for JAVA_HOME" >&5 ++printf %s "checking for JAVA_HOME... " >&6; } + # We used a fake loop so that we can use "break" to exit when the result + # is found. + while true +@@ -10315,11 +11009,12 @@ + fi + # Extract the first word of "java", so it can be a program name with args. + set dummy java; 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_JAVA_PATH_NAME+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_path_JAVA_PATH_NAME+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + case $JAVA_PATH_NAME in + [\\/]* | ?:[\\/]*) + ac_cv_path_JAVA_PATH_NAME="$JAVA_PATH_NAME" # Let the user override the test with a path. +@@ -10329,11 +11024,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + 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_JAVA_PATH_NAME="$as_dir/$ac_word$ac_exec_ext" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ++ ac_cv_path_JAVA_PATH_NAME="$as_dir$ac_word$ac_exec_ext" ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -10345,11 +11044,11 @@ + fi + JAVA_PATH_NAME=$ac_cv_path_JAVA_PATH_NAME + if test -n "$JAVA_PATH_NAME"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVA_PATH_NAME" >&5 +-$as_echo "$JAVA_PATH_NAME" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAVA_PATH_NAME" >&5 ++printf "%s\n" "$JAVA_PATH_NAME" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -10358,25 +11057,25 @@ + break + fi + +- { $as_echo "$as_me:${as_lineno-$LINENO}: Could not compute JAVA_HOME" >&5 +-$as_echo "$as_me: Could not compute JAVA_HOME" >&6;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Could not compute JAVA_HOME" >&5 ++printf "%s\n" "$as_me: Could not compute JAVA_HOME" >&6;} + break + done +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVA_HOME" >&5 +-$as_echo "$JAVA_HOME" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAVA_HOME" >&5 ++printf "%s\n" "$JAVA_HOME" >&6; } + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else + as_fn_error $? "Java requires shared libraries to be built" "$LINENO" 5 + HDF_JAVA="no" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + ## ---------------------------------------------------------------------- +@@ -10386,8 +11085,8 @@ + + H5_FORTRAN_SHARED="no" + if test "X${HDF_FORTRAN}" = "Xyes" && test "X${enable_shared}" != "Xno"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if shared Fortran libraries are supported" >&5 +-$as_echo_n "checking if shared Fortran libraries are supported... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if shared Fortran libraries are supported" >&5 ++printf %s "checking if shared Fortran libraries are supported... " >&6; } + H5_FORTRAN_SHARED="yes" + ## tell libtool to do the right thing with COMMON symbols, this fixes + ## corrupt values with COMMON and EQUIVALENCE when building shared +@@ -10401,26 +11100,26 @@ + ## Report results of check(s) + + if test "X${H5_FORTRAN_SHARED}" = "Xno"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $CHECK_WARN" >&5 +-$as_echo "$as_me: WARNING: $CHECK_WARN" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $CHECK_WARN" >&5 ++printf "%s\n" "$as_me: WARNING: $CHECK_WARN" >&2;} + if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Disabling shared Fortran libraries." >&5 +-$as_echo "$as_me: WARNING: Disabling shared Fortran libraries." >&2;} +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: To override this behavior, please use --enable-unsupported configure option." >&5 +-$as_echo "$as_me: WARNING: To override this behavior, please use --enable-unsupported configure option." >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Disabling shared Fortran libraries." >&5 ++printf "%s\n" "$as_me: WARNING: Disabling shared Fortran libraries." >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: To override this behavior, please use --enable-unsupported configure option." >&5 ++printf "%s\n" "$as_me: WARNING: To override this behavior, please use --enable-unsupported configure option." >&2;} + if test "X${enable_static}" = "Xno"; then + as_fn_error $? "both static and shared Fortran libraries are disabled" "$LINENO" 5 + fi + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Allowing unsupported Fortran shared libraries due to use of --enable-unsupported flag" >&5 +-$as_echo "$as_me: WARNING: Allowing unsupported Fortran shared libraries due to use of --enable-unsupported flag" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Allowing unsupported Fortran shared libraries due to use of --enable-unsupported flag" >&5 ++printf "%s\n" "$as_me: WARNING: Allowing unsupported Fortran shared libraries due to use of --enable-unsupported flag" >&2;} + H5_FORTRAN_SHARED="yes" + fi + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + fi + fi + +@@ -10443,11 +11142,12 @@ + ## Default is to build tests + HDF5_TESTS=yes + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if building tests is disabled" >&5 +-$as_echo_n "checking if building tests is disabled... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if building tests is disabled" >&5 ++printf %s "checking if building tests is disabled... " >&6; } + + # Check whether --enable-tests was given. +-if test "${enable_tests+set}" = set; then : ++if test ${enable_tests+y} ++then : + enableval=$enable_tests; HDF5_TESTS=$enableval + fi + +@@ -10466,11 +11166,12 @@ + ## Default is to build tests and tools + HDF5_TOOLS=yes + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if building tools is disabled" >&5 +-$as_echo_n "checking if building tools is disabled... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if building tools is disabled" >&5 ++printf %s "checking if building tools is disabled... " >&6; } + + # Check whether --enable-tools was given. +-if test "${enable_tools+set}" = set; then : ++if test ${enable_tools+y} ++then : + enableval=$enable_tools; HDF5_TOOLS=$enableval + fi + +@@ -10489,8 +11190,8 @@ + ## win32-dll - This will build clean dlls on win32 platforms. + case `pwd` in + *\ * | *\ *) +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 ++printf "%s\n" "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; + esac + + +@@ -10510,6 +11211,7 @@ + + + ++ + ltmain=$ac_aux_dir/ltmain.sh + + # Backslashify metacharacters that are still active within +@@ -10533,8 +11235,8 @@ + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +-$as_echo_n "checking how to print strings... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 ++printf %s "checking how to print strings... " >&6; } + # Test print first, because it will be a builtin if present. + if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then +@@ -10560,12 +11262,12 @@ + } + + case $ECHO in +- printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +-$as_echo "printf" >&6; } ;; +- print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +-$as_echo "print -r" >&6; } ;; +- *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +-$as_echo "cat" >&6; } ;; ++ printf*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: printf" >&5 ++printf "%s\n" "printf" >&6; } ;; ++ print*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 ++printf "%s\n" "print -r" >&6; } ;; ++ *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cat" >&5 ++printf "%s\n" "cat" >&6; } ;; + esac + + +@@ -10581,11 +11283,12 @@ + + + +-{ $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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 ++printf %s "checking for a sed that does not truncate output... " >&6; } ++if test ${ac_cv_path_SED+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + 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" +@@ -10599,10 +11302,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_prog in sed gsed; do ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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" ++ 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 +@@ -10611,13 +11319,13 @@ + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; + *) + ac_count=0 +- $as_echo_n 0123456789 >"conftest.in" ++ printf %s 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" ++ printf "%s\n" '' >> "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 +@@ -10645,8 +11353,8 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +-$as_echo "$ac_cv_path_SED" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 ++printf "%s\n" "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +@@ -10663,11 +11371,154 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +-$as_echo_n "checking for fgrep... " >&6; } +-if ${ac_cv_path_FGREP+:} false; then : +- $as_echo_n "(cached) " >&6 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 ++printf %s "checking for grep that handles long lines and -e... " >&6; } ++if test ${ac_cv_path_GREP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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 ++ printf %s 0123456789 >"conftest.in" ++ while : ++ do ++ cat "conftest.in" "conftest.in" >"conftest.tmp" ++ mv "conftest.tmp" "conftest.in" ++ cp "conftest.in" "conftest.nl" ++ printf "%s\n" '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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 ++printf "%s\n" "$ac_cv_path_GREP" >&6; } ++ GREP="$ac_cv_path_GREP" ++ ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 ++printf %s "checking for egrep... " >&6; } ++if test ${ac_cv_path_EGREP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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 ++ printf %s 0123456789 >"conftest.in" ++ while : ++ do ++ cat "conftest.in" "conftest.in" >"conftest.tmp" ++ mv "conftest.tmp" "conftest.in" ++ cp "conftest.in" "conftest.nl" ++ printf "%s\n" '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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 ++printf "%s\n" "$ac_cv_path_EGREP" >&6; } ++ EGREP="$ac_cv_path_EGREP" ++ ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 ++printf %s "checking for fgrep... " >&6; } ++if test ${ac_cv_path_FGREP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else +@@ -10678,10 +11529,15 @@ + 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 fgrep; do ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_prog in fgrep ++ do + for ac_exec_ext in '' $ac_executable_extensions; do +- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" ++ ac_path_FGREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_FGREP" || continue + # Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +@@ -10690,13 +11546,13 @@ + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; + *) + ac_count=0 +- $as_echo_n 0123456789 >"conftest.in" ++ printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" +- $as_echo 'FGREP' >> "conftest.nl" ++ printf "%s\n" 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "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 +@@ -10725,8 +11581,8 @@ + + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +-$as_echo "$ac_cv_path_FGREP" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 ++printf "%s\n" "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +@@ -10751,17 +11607,18 @@ + + + # Check whether --with-gnu-ld was given. +-if test "${with_gnu_ld+set}" = set; then : ++if test ${with_gnu_ld+y} ++then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +-else ++else $as_nop + with_gnu_ld=no + fi + + ac_prog=ld + if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +-$as_echo_n "checking for ld used by $CC... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 ++printf %s "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw +@@ -10790,15 +11647,16 @@ + ;; + esac + elif test yes = "$with_gnu_ld"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +-$as_echo_n "checking for GNU ld... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 ++printf %s "checking for GNU ld... " >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +-$as_echo_n "checking for non-GNU ld... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 ++printf %s "checking for non-GNU ld... " >&6; } + fi +-if ${lt_cv_path_LD+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++if test ${lt_cv_path_LD+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do +@@ -10827,18 +11685,19 @@ + + LD=$lt_cv_path_LD + if test -n "$LD"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +-$as_echo "$LD" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 ++printf "%s\n" "$LD" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +-if ${lt_cv_prog_gnu_ld+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 ++printf %s "checking if the linker ($LD) is GNU ld... " >&6; } ++if test ${lt_cv_prog_gnu_ld+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + # I'd rather use --version here, but apparently some GNU lds only accept -v. + case `$LD -v 2>&1 &5 +-$as_echo "$lt_cv_prog_gnu_ld" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 ++printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } + with_gnu_ld=$lt_cv_prog_gnu_ld + + +@@ -10861,11 +11720,12 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +-if ${lt_cv_path_NM+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 ++printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; } ++if test ${lt_cv_path_NM+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM +@@ -10915,8 +11775,8 @@ + : ${lt_cv_path_NM=no} + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +-$as_echo "$lt_cv_path_NM" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 ++printf "%s\n" "$lt_cv_path_NM" >&6; } + if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM + else +@@ -10929,11 +11789,12 @@ + 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_DUMPBIN+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_DUMPBIN+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. + else +@@ -10941,11 +11802,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -10956,11 +11821,11 @@ + fi + DUMPBIN=$ac_cv_prog_DUMPBIN + if test -n "$DUMPBIN"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +-$as_echo "$DUMPBIN" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 ++printf "%s\n" "$DUMPBIN" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -10973,11 +11838,12 @@ + 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_DUMPBIN+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_DUMPBIN+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. + else +@@ -10985,11 +11851,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -11000,11 +11870,11 @@ + fi + ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN + if test -n "$ac_ct_DUMPBIN"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +-$as_echo "$ac_ct_DUMPBIN" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 ++printf "%s\n" "$ac_ct_DUMPBIN" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -11016,8 +11886,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + DUMPBIN=$ac_ct_DUMPBIN +@@ -11045,11 +11915,12 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +-$as_echo_n "checking the name lister ($NM) interface... " >&6; } +-if ${lt_cv_nm_interface+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 ++printf %s "checking the name lister ($NM) interface... " >&6; } ++if test ${lt_cv_nm_interface+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) +@@ -11065,26 +11936,27 @@ + fi + rm -f conftest* + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +-$as_echo "$lt_cv_nm_interface" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 ++printf "%s\n" "$lt_cv_nm_interface" >&6; } + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +-$as_echo_n "checking whether ln -s works... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 ++printf %s "checking whether ln -s works... " >&6; } + LN_S=$as_ln_s + if test "$LN_S" = "ln -s"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +-$as_echo "no, using $LN_S" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 ++printf "%s\n" "no, using $LN_S" >&6; } + fi + + # find the maximum length of command line arguments +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +-$as_echo_n "checking the maximum length of command line arguments... " >&6; } +-if ${lt_cv_sys_max_cmd_len+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 ++printf %s "checking the maximum length of command line arguments... " >&6; } ++if test ${lt_cv_sys_max_cmd_len+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + i=0 + teststring=ABCD + +@@ -11211,11 +12083,11 @@ + fi + + if test -n "$lt_cv_sys_max_cmd_len"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +-$as_echo "$lt_cv_sys_max_cmd_len" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 ++printf "%s\n" "$lt_cv_sys_max_cmd_len" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +-$as_echo "none" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 ++printf "%s\n" "none" >&6; } + fi + max_cmd_len=$lt_cv_sys_max_cmd_len + +@@ -11259,11 +12131,12 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +-$as_echo_n "checking how to convert $build file names to $host format... " >&6; } +-if ${lt_cv_to_host_file_cmd+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 ++printf %s "checking how to convert $build file names to $host format... " >&6; } ++if test ${lt_cv_to_host_file_cmd+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + case $host in + *-*-mingw* ) + case $build in +@@ -11299,18 +12172,19 @@ + fi + + to_host_file_cmd=$lt_cv_to_host_file_cmd +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +-$as_echo "$lt_cv_to_host_file_cmd" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 ++printf "%s\n" "$lt_cv_to_host_file_cmd" >&6; } + + + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } +-if ${lt_cv_to_tool_file_cmd+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 ++printf %s "checking how to convert $build file names to toolchain format... " >&6; } ++if test ${lt_cv_to_tool_file_cmd+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + #assume ordinary cross tools, or native build. + lt_cv_to_tool_file_cmd=func_convert_file_noop + case $host in +@@ -11326,22 +12200,23 @@ + fi + + to_tool_file_cmd=$lt_cv_to_tool_file_cmd +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +-$as_echo "$lt_cv_to_tool_file_cmd" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 ++printf "%s\n" "$lt_cv_to_tool_file_cmd" >&6; } + + + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +-$as_echo_n "checking for $LD option to reload object files... " >&6; } +-if ${lt_cv_ld_reload_flag+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 ++printf %s "checking for $LD option to reload object files... " >&6; } ++if test ${lt_cv_ld_reload_flag+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_ld_reload_flag='-r' + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +-$as_echo "$lt_cv_ld_reload_flag" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 ++printf "%s\n" "$lt_cv_ld_reload_flag" >&6; } + reload_flag=$lt_cv_ld_reload_flag + case $reload_flag in + "" | " "*) ;; +@@ -11374,11 +12249,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. + set dummy ${ac_tool_prefix}objdump; 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_OBJDUMP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_OBJDUMP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. + else +@@ -11386,11 +12262,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -11401,11 +12281,11 @@ + fi + OBJDUMP=$ac_cv_prog_OBJDUMP + if test -n "$OBJDUMP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +-$as_echo "$OBJDUMP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 ++printf "%s\n" "$OBJDUMP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -11414,11 +12294,12 @@ + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. + set dummy objdump; 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_OBJDUMP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_OBJDUMP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. + else +@@ -11426,11 +12307,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -11441,11 +12326,11 @@ + fi + ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP + if test -n "$ac_ct_OBJDUMP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +-$as_echo "$ac_ct_OBJDUMP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 ++printf "%s\n" "$ac_ct_OBJDUMP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_OBJDUMP" = x; then +@@ -11453,8 +12338,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + OBJDUMP=$ac_ct_OBJDUMP +@@ -11473,11 +12358,12 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +-$as_echo_n "checking how to recognize dependent libraries... " >&6; } +-if ${lt_cv_deplibs_check_method+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 ++printf %s "checking how to recognize dependent libraries... " >&6; } ++if test ${lt_cv_deplibs_check_method+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_file_magic_cmd='$MAGIC_CMD' + lt_cv_file_magic_test_file= + lt_cv_deplibs_check_method='unknown' +@@ -11673,8 +12559,8 @@ + esac + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +-$as_echo "$lt_cv_deplibs_check_method" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 ++printf "%s\n" "$lt_cv_deplibs_check_method" >&6; } + + file_magic_glob= + want_nocaseglob=no +@@ -11718,11 +12604,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. + set dummy ${ac_tool_prefix}dlltool; 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_DLLTOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_DLLTOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. + else +@@ -11730,11 +12617,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -11745,11 +12636,11 @@ + fi + DLLTOOL=$ac_cv_prog_DLLTOOL + if test -n "$DLLTOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +-$as_echo "$DLLTOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 ++printf "%s\n" "$DLLTOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -11758,11 +12649,12 @@ + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. + set dummy dlltool; 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_DLLTOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_DLLTOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. + else +@@ -11770,11 +12662,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -11785,11 +12681,11 @@ + fi + ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL + if test -n "$ac_ct_DLLTOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +-$as_echo "$ac_ct_DLLTOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 ++printf "%s\n" "$ac_ct_DLLTOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_DLLTOOL" = x; then +@@ -11797,8 +12693,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + DLLTOOL=$ac_ct_DLLTOOL +@@ -11818,11 +12714,12 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +-$as_echo_n "checking how to associate runtime and link libraries... " >&6; } +-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 ++printf %s "checking how to associate runtime and link libraries... " >&6; } ++if test ${lt_cv_sharedlib_from_linklib_cmd+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_sharedlib_from_linklib_cmd='unknown' + + case $host_os in +@@ -11845,8 +12742,8 @@ + esac + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 ++printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; } + sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd + test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + +@@ -11861,11 +12758,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_AR+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. + else +@@ -11873,11 +12771,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -11888,11 +12790,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 ++printf "%s\n" "$AR" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -11905,11 +12807,12 @@ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_AR+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. + else +@@ -11917,11 +12820,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -11932,11 +12839,11 @@ + 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 ++printf "%s\n" "$ac_ct_AR" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -11948,8 +12855,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + AR=$ac_ct_AR +@@ -11969,11 +12876,12 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +-$as_echo_n "checking for archiver @FILE support... " >&6; } +-if ${lt_cv_ar_at_file+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 ++printf %s "checking for archiver @FILE support... " >&6; } ++if test ${lt_cv_ar_at_file+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_ar_at_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +@@ -11987,20 +12895,21 @@ + #endif + #endif + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -eq "$ac_status"; then + # Ensure the archiver fails upon bogus file names. +@@ -12008,7 +12917,7 @@ + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -ne "$ac_status"; then + lt_cv_ar_at_file=@ +@@ -12017,11 +12926,11 @@ + rm -f conftest.* libconftest.a + + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +-$as_echo "$lt_cv_ar_at_file" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 ++printf "%s\n" "$lt_cv_ar_at_file" >&6; } + + if test no = "$lt_cv_ar_at_file"; then + archiver_list_spec= +@@ -12038,11 +12947,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. + set dummy ${ac_tool_prefix}strip; 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_STRIP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. + else +@@ -12050,11 +12960,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -12065,11 +12979,11 @@ + fi + STRIP=$ac_cv_prog_STRIP + if test -n "$STRIP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +-$as_echo "$STRIP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 ++printf "%s\n" "$STRIP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -12078,11 +12992,12 @@ + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. + set dummy strip; 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_STRIP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. + else +@@ -12090,11 +13005,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -12105,11 +13024,11 @@ + fi + ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP + if test -n "$ac_ct_STRIP"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +-$as_echo "$ac_ct_STRIP" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 ++printf "%s\n" "$ac_ct_STRIP" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_STRIP" = x; then +@@ -12117,8 +13036,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + STRIP=$ac_ct_STRIP +@@ -12137,11 +13056,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. + set dummy ${ac_tool_prefix}ranlib; 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_RANLIB+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_RANLIB+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. + else +@@ -12149,11 +13069,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -12164,11 +13088,11 @@ + fi + RANLIB=$ac_cv_prog_RANLIB + if test -n "$RANLIB"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +-$as_echo "$RANLIB" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 ++printf "%s\n" "$RANLIB" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -12177,11 +13101,12 @@ + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. + set dummy ranlib; 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_RANLIB+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_RANLIB+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. + else +@@ -12189,11 +13114,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -12204,11 +13133,11 @@ + fi + ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB + if test -n "$ac_ct_RANLIB"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +-$as_echo "$ac_ct_RANLIB" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 ++printf "%s\n" "$ac_ct_RANLIB" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_RANLIB" = x; then +@@ -12216,8 +13145,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + RANLIB=$ac_ct_RANLIB +@@ -12306,11 +13235,12 @@ + + + # Check for command to grab the raw symbol name followed by C symbol from nm. +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } +-if ${lt_cv_sys_global_symbol_pipe+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 ++printf %s "checking command to parse $NM output from $compiler object... " >&6; } ++if test ${lt_cv_sys_global_symbol_pipe+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + + # These are sane defaults that work on at least a few old systems. + # [They come from Ultrix. What could be older than Ultrix?!! ;)] +@@ -12462,14 +13392,14 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 + (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then +@@ -12538,7 +13468,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest$ac_exeext; then + pipe_works=yes + fi +@@ -12573,11 +13503,11 @@ + lt_cv_sys_global_symbol_to_cdecl= + fi + if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +-$as_echo "failed" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5 ++printf "%s\n" "failed" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +-$as_echo "ok" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 ++printf "%s\n" "ok" >&6; } + fi + + # Response file support. +@@ -12623,13 +13553,14 @@ + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +-$as_echo_n "checking for sysroot... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 ++printf %s "checking for sysroot... " >&6; } + + # Check whether --with-sysroot was given. +-if test "${with_sysroot+set}" = set; then : ++if test ${with_sysroot+y} ++then : + withval=$with_sysroot; +-else ++else $as_nop + with_sysroot=no + fi + +@@ -12647,24 +13578,25 @@ + no|'') + ;; #( + *) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 +-$as_echo "$with_sysroot" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 ++printf "%s\n" "$with_sysroot" >&6; } + as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 + ;; + esac + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +-$as_echo "${lt_sysroot:-no}" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 ++printf "%s\n" "${lt_sysroot:-no}" >&6; } + + + + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 +-$as_echo_n "checking for a working dd... " >&6; } +-if ${ac_cv_path_lt_DD+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 ++printf %s "checking for a working dd... " >&6; } ++if test ${ac_cv_path_lt_DD+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + printf 0123456789abcdef0123456789abcdef >conftest.i + cat conftest.i conftest.i >conftest2.i + : ${lt_DD:=$DD} +@@ -12675,10 +13607,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_prog in dd; do ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_prog in dd ++ do + for ac_exec_ext in '' $ac_executable_extensions; do +- ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" ++ ac_path_lt_DD="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_lt_DD" || continue + if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ +@@ -12698,15 +13635,16 @@ + + rm -f conftest.i conftest2.i conftest.out + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +-$as_echo "$ac_cv_path_lt_DD" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 ++printf "%s\n" "$ac_cv_path_lt_DD" >&6; } + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 +-$as_echo_n "checking how to truncate binary pipes... " >&6; } +-if ${lt_cv_truncate_bin+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 ++printf %s "checking how to truncate binary pipes... " >&6; } ++if test ${lt_cv_truncate_bin+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + printf 0123456789abcdef0123456789abcdef >conftest.i + cat conftest.i conftest.i >conftest2.i + lt_cv_truncate_bin= +@@ -12717,8 +13655,8 @@ + rm -f conftest.i conftest2.i conftest.out + test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +-$as_echo "$lt_cv_truncate_bin" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 ++printf "%s\n" "$lt_cv_truncate_bin" >&6; } + + + +@@ -12741,7 +13679,8 @@ + } + + # Check whether --enable-libtool-lock was given. +-if test "${enable_libtool_lock+set}" = set; then : ++if test ${enable_libtool_lock+y} ++then : + enableval=$enable_libtool_lock; + fi + +@@ -12757,7 +13696,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) +@@ -12777,7 +13716,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + if test yes = "$lt_cv_prog_gnu_ld"; then + case `/usr/bin/file conftest.$ac_objext` in +@@ -12815,7 +13754,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + emul=elf + case `/usr/bin/file conftest.$ac_objext` in +@@ -12856,7 +13795,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *32-bit*) +@@ -12919,11 +13858,12 @@ + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -belf" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +-$as_echo_n "checking whether the C compiler needs -belf... " >&6; } +-if ${lt_cv_cc_needs_belf+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 ++printf %s "checking whether the C compiler needs -belf... " >&6; } ++if test ${lt_cv_cc_needs_belf+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' + ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +@@ -12942,19 +13882,20 @@ + #endif + #endif + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + lt_cv_cc_needs_belf=yes +-else ++else $as_nop + lt_cv_cc_needs_belf=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' +@@ -12963,8 +13904,8 @@ + ac_compiler_gnu=$ac_cv_c_compiler_gnu + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +-$as_echo "$lt_cv_cc_needs_belf" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 ++printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } + if test yes != "$lt_cv_cc_needs_belf"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS=$SAVE_CFLAGS +@@ -12977,7 +13918,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *64-bit*) +@@ -13014,11 +13955,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. + set dummy ${ac_tool_prefix}mt; 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_MANIFEST_TOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_MANIFEST_TOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$MANIFEST_TOOL"; then + ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. + else +@@ -13026,11 +13968,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -13041,11 +13987,11 @@ + fi + MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL + if test -n "$MANIFEST_TOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +-$as_echo "$MANIFEST_TOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 ++printf "%s\n" "$MANIFEST_TOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -13054,11 +14000,12 @@ + ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL + # Extract the first word of "mt", so it can be a program name with args. + set dummy mt; 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_MANIFEST_TOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_MANIFEST_TOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_MANIFEST_TOOL"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. + else +@@ -13066,11 +14013,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -13081,11 +14032,11 @@ + fi + ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL + if test -n "$ac_ct_MANIFEST_TOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 ++printf "%s\n" "$ac_ct_MANIFEST_TOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_MANIFEST_TOOL" = x; then +@@ -13093,8 +14044,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL +@@ -13104,11 +14055,12 @@ + fi + + test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +-if ${lt_cv_path_mainfest_tool+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 ++printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } ++if test ${lt_cv_path_mainfest_tool+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out +@@ -13118,8 +14070,8 @@ + fi + rm -f conftest* + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +-$as_echo "$lt_cv_path_mainfest_tool" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 ++printf "%s\n" "$lt_cv_path_mainfest_tool" >&6; } + if test yes != "$lt_cv_path_mainfest_tool"; then + MANIFEST_TOOL=: + fi +@@ -13134,11 +14086,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. + set dummy ${ac_tool_prefix}dsymutil; 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_DSYMUTIL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_DSYMUTIL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. + else +@@ -13146,11 +14099,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -13161,11 +14118,11 @@ + fi + DSYMUTIL=$ac_cv_prog_DSYMUTIL + if test -n "$DSYMUTIL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +-$as_echo "$DSYMUTIL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 ++printf "%s\n" "$DSYMUTIL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -13174,11 +14131,12 @@ + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. + set dummy dsymutil; 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_DSYMUTIL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_DSYMUTIL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. + else +@@ -13186,11 +14144,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -13201,11 +14163,11 @@ + fi + ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL + if test -n "$ac_ct_DSYMUTIL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +-$as_echo "$ac_ct_DSYMUTIL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 ++printf "%s\n" "$ac_ct_DSYMUTIL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_DSYMUTIL" = x; then +@@ -13213,8 +14175,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + DSYMUTIL=$ac_ct_DSYMUTIL +@@ -13226,11 +14188,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. + set dummy ${ac_tool_prefix}nmedit; 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_NMEDIT+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_NMEDIT+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. + else +@@ -13238,11 +14201,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -13253,11 +14220,11 @@ + fi + NMEDIT=$ac_cv_prog_NMEDIT + if test -n "$NMEDIT"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +-$as_echo "$NMEDIT" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 ++printf "%s\n" "$NMEDIT" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -13266,11 +14233,12 @@ + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. + set dummy nmedit; 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_NMEDIT+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_NMEDIT+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. + else +@@ -13278,11 +14246,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -13293,11 +14265,11 @@ + fi + ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT + if test -n "$ac_ct_NMEDIT"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +-$as_echo "$ac_ct_NMEDIT" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 ++printf "%s\n" "$ac_ct_NMEDIT" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_NMEDIT" = x; then +@@ -13305,8 +14277,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + NMEDIT=$ac_ct_NMEDIT +@@ -13318,11 +14290,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. + set dummy ${ac_tool_prefix}lipo; 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_LIPO+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_LIPO+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # Let the user override the test. + else +@@ -13330,11 +14303,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -13345,11 +14322,11 @@ + fi + LIPO=$ac_cv_prog_LIPO + if test -n "$LIPO"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +-$as_echo "$LIPO" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 ++printf "%s\n" "$LIPO" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -13358,11 +14335,12 @@ + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. + set dummy lipo; 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_LIPO+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_LIPO+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. + else +@@ -13370,11 +14348,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_LIPO="lipo" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -13385,11 +14367,11 @@ + fi + ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO + if test -n "$ac_ct_LIPO"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +-$as_echo "$ac_ct_LIPO" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 ++printf "%s\n" "$ac_ct_LIPO" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_LIPO" = x; then +@@ -13397,8 +14379,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + LIPO=$ac_ct_LIPO +@@ -13410,11 +14392,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. + set dummy ${ac_tool_prefix}otool; 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_OTOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_OTOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. + else +@@ -13422,11 +14405,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -13437,11 +14424,11 @@ + fi + OTOOL=$ac_cv_prog_OTOOL + if test -n "$OTOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +-$as_echo "$OTOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 ++printf "%s\n" "$OTOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -13450,11 +14437,12 @@ + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. + set dummy otool; 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_OTOOL+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_OTOOL+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. + else +@@ -13462,11 +14450,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL="otool" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -13477,11 +14469,11 @@ + fi + ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL + if test -n "$ac_ct_OTOOL"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +-$as_echo "$ac_ct_OTOOL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 ++printf "%s\n" "$ac_ct_OTOOL" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_OTOOL" = x; then +@@ -13489,8 +14481,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + OTOOL=$ac_ct_OTOOL +@@ -13502,11 +14494,12 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. + set dummy ${ac_tool_prefix}otool64; 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_OTOOL64+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_OTOOL64+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. + else +@@ -13514,11 +14507,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -13529,11 +14526,11 @@ + fi + OTOOL64=$ac_cv_prog_OTOOL64 + if test -n "$OTOOL64"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +-$as_echo "$OTOOL64" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 ++printf "%s\n" "$OTOOL64" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -13542,11 +14539,12 @@ + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. + set dummy otool64; 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_OTOOL64+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_OTOOL64+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. + else +@@ -13554,11 +14552,15 @@ + for as_dir in $PATH + do + IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac + for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL64="otool64" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi + done +@@ -13569,11 +14571,11 @@ + fi + ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 + if test -n "$ac_ct_OTOOL64"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +-$as_echo "$ac_ct_OTOOL64" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 ++printf "%s\n" "$ac_ct_OTOOL64" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + if test "x$ac_ct_OTOOL64" = x; then +@@ -13581,8 +14583,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} + ac_tool_warned=yes ;; + esac + OTOOL64=$ac_ct_OTOOL64 +@@ -13617,11 +14619,12 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +-$as_echo_n "checking for -single_module linker flag... " >&6; } +-if ${lt_cv_apple_cc_single_mod+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 ++printf %s "checking for -single_module linker flag... " >&6; } ++if test ${lt_cv_apple_cc_single_mod+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_apple_cc_single_mod=no + if test -z "$LT_MULTI_MODULE"; then + # By default we will add the -single_module flag. You can override +@@ -13650,14 +14653,15 @@ + rm -f conftest.* + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +-$as_echo "$lt_cv_apple_cc_single_mod" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 ++printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; } + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } +-if ${lt_cv_ld_exported_symbols_list+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 ++printf %s "checking for -exported_symbols_list linker flag... " >&6; } ++if test ${lt_cv_ld_exported_symbols_list+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym +@@ -13674,31 +14678,33 @@ + #endif + #endif + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + lt_cv_ld_exported_symbols_list=yes +-else ++else $as_nop + lt_cv_ld_exported_symbols_list=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 ++printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; } + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +-$as_echo_n "checking for -force_load linker flag... " >&6; } +-if ${lt_cv_ld_force_load+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 ++printf %s "checking for -force_load linker flag... " >&6; } ++if test ${lt_cv_ld_force_load+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF + int forced_loaded() { return 2;} +@@ -13726,8 +14732,8 @@ + rm -rf conftest.dSYM + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +-$as_echo "$lt_cv_ld_force_load" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 ++printf "%s\n" "$lt_cv_ld_force_load" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; +@@ -13798,21 +14804,16 @@ + esac + } + +-for ac_header in dlfcn.h +-do : +- ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default ++ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default + " +-if test "x$ac_cv_header_dlfcn_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_DLFCN_H 1 +-_ACEOF ++if test "x$ac_cv_header_dlfcn_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_DLFCN_H 1" >>confdefs.h + + fi + +-done + + +- + func_stripname_cnf () + { + case $2 in +@@ -13835,7 +14836,8 @@ + + + # Check whether --enable-shared was given. +-if test "${enable_shared+set}" = set; then : ++if test ${enable_shared+y} ++then : + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; +@@ -13853,7 +14855,7 @@ + IFS=$lt_save_ifs + ;; + esac +-else ++else $as_nop + enable_shared=yes + fi + +@@ -13866,7 +14868,8 @@ + + + # Check whether --enable-static was given. +-if test "${enable_static+set}" = set; then : ++if test ${enable_static+y} ++then : + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; +@@ -13884,7 +14887,7 @@ + IFS=$lt_save_ifs + ;; + esac +-else ++else $as_nop + enable_static=yes + fi + +@@ -13898,7 +14901,8 @@ + + + # Check whether --with-pic was given. +-if test "${with_pic+set}" = set; then : ++if test ${with_pic+y} ++then : + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; +@@ -13915,7 +14919,7 @@ + IFS=$lt_save_ifs + ;; + esac +-else ++else $as_nop + pic_mode=default + fi + +@@ -13927,7 +14931,8 @@ + + + # Check whether --enable-fast-install was given. +-if test "${enable_fast_install+set}" = set; then : ++if test ${enable_fast_install+y} ++then : + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; +@@ -13945,7 +14950,7 @@ + IFS=$lt_save_ifs + ;; + esac +-else ++else $as_nop + enable_fast_install=yes + fi + +@@ -13959,11 +14964,12 @@ + shared_archive_member_spec= + case $host,$enable_shared in + power*-*-aix[5-9]*,yes) +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 +-$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 ++printf %s "checking which variant of shared library versioning to provide... " >&6; } + + # Check whether --with-aix-soname was given. +-if test "${with_aix_soname+set}" = set; then : ++if test ${with_aix_soname+y} ++then : + withval=$with_aix_soname; case $withval in + aix|svr4|both) + ;; +@@ -13972,18 +14978,19 @@ + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname +-else +- if ${lt_cv_with_aix_soname+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++else $as_nop ++ if test ${lt_cv_with_aix_soname+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_with_aix_soname=aix + fi + + with_aix_soname=$lt_cv_with_aix_soname + fi + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 +-$as_echo "$with_aix_soname" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 ++printf "%s\n" "$with_aix_soname" >&6; } + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', +@@ -14065,11 +15072,12 @@ + setopt NO_GLOB_SUBST + fi + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +-$as_echo_n "checking for objdir... " >&6; } +-if ${lt_cv_objdir+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 ++printf %s "checking for objdir... " >&6; } ++if test ${lt_cv_objdir+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + rm -f .libs 2>/dev/null + mkdir .libs 2>/dev/null + if test -d .libs; then +@@ -14080,17 +15088,15 @@ + fi + rmdir .libs 2>/dev/null + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +-$as_echo "$lt_cv_objdir" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 ++printf "%s\n" "$lt_cv_objdir" >&6; } + objdir=$lt_cv_objdir + + + + + +-cat >>confdefs.h <<_ACEOF +-#define LT_OBJDIR "$lt_cv_objdir/" +-_ACEOF ++printf "%s\n" "#define LT_OBJDIR \"$lt_cv_objdir/\"" >>confdefs.h + + + +@@ -14136,11 +15142,12 @@ + case $deplibs_check_method in + file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } +-if ${lt_cv_path_MAGIC_CMD+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 ++printf %s "checking for ${ac_tool_prefix}file... " >&6; } ++if test ${lt_cv_path_MAGIC_CMD+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + case $MAGIC_CMD in + [\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. +@@ -14189,11 +15196,11 @@ + + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if test -n "$MAGIC_CMD"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +-$as_echo "$MAGIC_CMD" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 ++printf "%s\n" "$MAGIC_CMD" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -14202,11 +15209,12 @@ + + if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +-$as_echo_n "checking for file... " >&6; } +-if ${lt_cv_path_MAGIC_CMD+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for file" >&5 ++printf %s "checking for file... " >&6; } ++if test ${lt_cv_path_MAGIC_CMD+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + case $MAGIC_CMD in + [\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. +@@ -14255,11 +15263,11 @@ + + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if test -n "$MAGIC_CMD"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +-$as_echo "$MAGIC_CMD" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 ++printf "%s\n" "$MAGIC_CMD" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -14344,11 +15352,12 @@ + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + esac + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 ++printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } ++if test ${lt_cv_prog_compiler_rtti_exceptions+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext +@@ -14379,8 +15388,8 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + + if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +@@ -14737,26 +15746,28 @@ + ;; + esac + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +-$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +-if ${lt_cv_prog_compiler_pic+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 ++printf %s "checking for $compiler option to produce PIC... " >&6; } ++if test ${lt_cv_prog_compiler_pic+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +-$as_echo "$lt_cv_prog_compiler_pic" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; } + lt_prog_compiler_pic=$lt_cv_prog_compiler_pic + + # + # Check to make sure the PIC flag actually works. + # + if test -n "$lt_prog_compiler_pic"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +-if ${lt_cv_prog_compiler_pic_works+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 ++printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } ++if test ${lt_cv_prog_compiler_pic_works+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext +@@ -14787,8 +15798,8 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; } + + if test yes = "$lt_cv_prog_compiler_pic_works"; then + case $lt_prog_compiler_pic in +@@ -14816,11 +15827,12 @@ + # Check to make sure the static flag actually works. + # + wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +-if ${lt_cv_prog_compiler_static_works+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 ++printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } ++if test ${lt_cv_prog_compiler_static_works+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_static_works=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" +@@ -14844,8 +15856,8 @@ + LDFLAGS=$save_LDFLAGS + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +-$as_echo "$lt_cv_prog_compiler_static_works" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; } + + if test yes = "$lt_cv_prog_compiler_static_works"; then + : +@@ -14859,11 +15871,12 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +-if ${lt_cv_prog_compiler_c_o+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 ++printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } ++if test ${lt_cv_prog_compiler_c_o+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest +@@ -14906,19 +15919,20 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +-$as_echo "$lt_cv_prog_compiler_c_o" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } + + + + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +-if ${lt_cv_prog_compiler_c_o+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 ++printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } ++if test ${lt_cv_prog_compiler_c_o+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest +@@ -14961,8 +15975,8 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +-$as_echo "$lt_cv_prog_compiler_c_o" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } + + + +@@ -14970,19 +15984,19 @@ + hard_links=nottested + if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +-$as_echo_n "checking if we can lock with hard links... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 ++printf %s "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +-$as_echo "$hard_links" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 ++printf "%s\n" "$hard_links" >&6; } + if test no = "$hard_links"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +-$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 ++printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi + else +@@ -14994,8 +16008,8 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 ++printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag= +@@ -15550,9 +16564,10 @@ + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath + else +- if ${lt_cv_aix_libpath_+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${lt_cv_aix_libpath_+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -15565,14 +16580,15 @@ + #endif + #endif + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { +@@ -15587,7 +16603,7 @@ + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib +@@ -15611,9 +16627,10 @@ + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath + else +- if ${lt_cv_aix_libpath_+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${lt_cv_aix_libpath_+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -15626,14 +16643,15 @@ + #endif + #endif + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { +@@ -15648,7 +16666,7 @@ + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib +@@ -15899,11 +16917,12 @@ + + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +-$as_echo_n "checking if $CC understands -b... " >&6; } +-if ${lt_cv_prog_compiler__b+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 ++printf %s "checking if $CC understands -b... " >&6; } ++if test ${lt_cv_prog_compiler__b+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler__b=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -b" +@@ -15927,8 +16946,8 @@ + LDFLAGS=$save_LDFLAGS + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +-$as_echo "$lt_cv_prog_compiler__b" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 ++printf "%s\n" "$lt_cv_prog_compiler__b" >&6; } + + if test yes = "$lt_cv_prog_compiler__b"; then + archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +@@ -15968,28 +16987,30 @@ + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +-if ${lt_cv_irix_exported_symbol+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 ++printf %s "checking whether the $host_os linker accepts -exported_symbol... " >&6; } ++if test ${lt_cv_irix_exported_symbol+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + int foo (void) { return 0; } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + lt_cv_irix_exported_symbol=yes +-else ++else $as_nop + lt_cv_irix_exported_symbol=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +-$as_echo "$lt_cv_irix_exported_symbol" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 ++printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' + fi +@@ -16269,8 +17290,8 @@ + fi + fi + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +-$as_echo "$ld_shlibs" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 ++printf "%s\n" "$ld_shlibs" >&6; } + test no = "$ld_shlibs" && can_build_shared=no + + with_gnu_ld=$with_gnu_ld +@@ -16306,18 +17327,19 @@ + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +-if ${lt_cv_archive_cmds_need_lc+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 ++printf %s "checking whether -lc should be explicitly linked in... " >&6; } ++if test ${lt_cv_archive_cmds_need_lc+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest +@@ -16335,7 +17357,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc=no +@@ -16349,8 +17371,8 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 ++printf "%s\n" "$lt_cv_archive_cmds_need_lc" >&6; } + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc + ;; + esac +@@ -16509,8 +17531,8 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +-$as_echo_n "checking dynamic linker characteristics... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 ++printf %s "checking dynamic linker characteristics... " >&6; } + + if test yes = "$GCC"; then + case $host_os in +@@ -17071,9 +18093,10 @@ + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH +- if ${lt_cv_shlibpath_overrides_runpath+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${lt_cv_shlibpath_overrides_runpath+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir +@@ -17091,19 +18114,21 @@ + #endif + #endif + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : +- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : ++if ac_fn_c_try_link "$LINENO" ++then : ++ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null ++then : + lt_cv_shlibpath_overrides_runpath=yes + fi + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir +@@ -17335,8 +18360,8 @@ + dynamic_linker=no + ;; + esac +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +-$as_echo "$dynamic_linker" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 ++printf "%s\n" "$dynamic_linker" >&6; } + test no = "$dynamic_linker" && can_build_shared=no + + variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +@@ -17457,8 +18482,8 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +-$as_echo_n "checking how to hardcode library paths into programs... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 ++printf %s "checking how to hardcode library paths into programs... " >&6; } + hardcode_action= + if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || +@@ -17482,8 +18507,8 @@ + # directories. + hardcode_action=unsupported + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +-$as_echo "$hardcode_action" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 ++printf "%s\n" "$hardcode_action" >&6; } + + if test relink = "$hardcode_action" || + test yes = "$inherit_rpath"; then +@@ -17527,11 +18552,12 @@ + + darwin*) + # if libdl is installed we need to link against it +- { $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 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 ++printf %s "checking for dlopen in -ldl... " >&6; } ++if test ${ac_cv_lib_dl_dlopen+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-ldl $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -17540,9 +18566,6 @@ + /* 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 (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -17553,27 +18576,29 @@ + #endif + #endif + int +-main () ++main (void) + { + return dlopen (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_dl_dlopen=yes +-else ++else $as_nop + ac_cv_lib_dl_dlopen=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 ++printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } ++if test "x$ac_cv_lib_dl_dlopen" = xyes ++then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +-else ++else $as_nop + + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= +@@ -17593,14 +18618,16 @@ + + *) + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +-if test "x$ac_cv_func_shl_load" = xyes; then : ++if test "x$ac_cv_func_shl_load" = xyes ++then : + lt_cv_dlopen=shl_load +-else +- { $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 ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 ++printf %s "checking for shl_load in -ldld... " >&6; } ++if test ${ac_cv_lib_dld_shl_load+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-ldld $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -17609,9 +18636,6 @@ + /* 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 (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -17622,36 +18646,40 @@ + #endif + #endif + int +-main () ++main (void) + { + return shl_load (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_dld_shl_load=yes +-else ++else $as_nop + ac_cv_lib_dld_shl_load=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 ++printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; } ++if test "x$ac_cv_lib_dld_shl_load" = xyes ++then : + lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld +-else ++else $as_nop + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +-if test "x$ac_cv_func_dlopen" = xyes; then : ++if test "x$ac_cv_func_dlopen" = xyes ++then : + lt_cv_dlopen=dlopen +-else +- { $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 ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 ++printf %s "checking for dlopen in -ldl... " >&6; } ++if test ${ac_cv_lib_dl_dlopen+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-ldl $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -17660,9 +18688,6 @@ + /* 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 (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -17673,32 +18698,35 @@ + #endif + #endif + int +-main () ++main (void) + { + return dlopen (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_dl_dlopen=yes +-else ++else $as_nop + ac_cv_lib_dl_dlopen=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 ++printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } ++if test "x$ac_cv_lib_dl_dlopen" = xyes ++then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +-$as_echo_n "checking for dlopen in -lsvld... " >&6; } +-if ${ac_cv_lib_svld_dlopen+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 ++printf %s "checking for dlopen in -lsvld... " >&6; } ++if test ${ac_cv_lib_svld_dlopen+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lsvld $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -17707,9 +18735,6 @@ + /* 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 (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -17720,32 +18745,35 @@ + #endif + #endif + int +-main () ++main (void) + { + return dlopen (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_svld_dlopen=yes +-else ++else $as_nop + ac_cv_lib_svld_dlopen=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +-$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +-if test "x$ac_cv_lib_svld_dlopen" = xyes; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 ++printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; } ++if test "x$ac_cv_lib_svld_dlopen" = xyes ++then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +-$as_echo_n "checking for dld_link in -ldld... " >&6; } +-if ${ac_cv_lib_dld_dld_link+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 ++printf %s "checking for dld_link in -ldld... " >&6; } ++if test ${ac_cv_lib_dld_dld_link+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-ldld $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -17754,9 +18782,6 @@ + /* 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 dld_link (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -17767,25 +18792,27 @@ + #endif + #endif + int +-main () ++main (void) + { + return dld_link (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_dld_dld_link=yes +-else ++else $as_nop + ac_cv_lib_dld_dld_link=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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_dld_link" >&5 +-$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +-if test "x$ac_cv_lib_dld_dld_link" = xyes; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 ++printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; } ++if test "x$ac_cv_lib_dld_dld_link" = xyes ++then : + lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld + fi + +@@ -17824,11 +18851,12 @@ + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +-$as_echo_n "checking whether a program can dlopen itself... " >&6; } +-if ${lt_cv_dlopen_self+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 ++printf %s "checking whether a program can dlopen itself... " >&6; } ++if test ${lt_cv_dlopen_self+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self=cross + else +@@ -17907,7 +18935,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? +@@ -17925,16 +18953,17 @@ + + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +-$as_echo "$lt_cv_dlopen_self" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 ++printf "%s\n" "$lt_cv_dlopen_self" >&6; } + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } +-if ${lt_cv_dlopen_self_static+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 ++printf %s "checking whether a statically linked program can dlopen itself... " >&6; } ++if test ${lt_cv_dlopen_self_static+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self_static=cross + else +@@ -18013,7 +19042,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? +@@ -18031,8 +19060,8 @@ + + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +-$as_echo "$lt_cv_dlopen_self_static" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 ++printf "%s\n" "$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS=$save_CPPFLAGS +@@ -18070,13 +19099,13 @@ + + striplib= + old_striplib= +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +-$as_echo_n "checking whether stripping libraries is possible... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 ++printf %s "checking whether stripping libraries is possible... " >&6; } + if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else + # FIXME - insert some real tests, host_os isn't really good enough + case $host_os in +@@ -18084,16 +19113,16 @@ + if test -n "$STRIP"; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + ;; + *) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + ;; + esac + fi +@@ -18110,13 +19139,13 @@ + + + # Report what library types will actually be built +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +-$as_echo_n "checking if libtool supports shared libraries... " >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +-$as_echo "$can_build_shared" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 ++printf %s "checking if libtool supports shared libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 ++printf "%s\n" "$can_build_shared" >&6; } + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +-$as_echo_n "checking whether to build shared libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 ++printf %s "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and +@@ -18140,15 +19169,15 @@ + fi + ;; + esac +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +-$as_echo "$enable_shared" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 ++printf "%s\n" "$enable_shared" >&6; } + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +-$as_echo_n "checking whether to build static libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 ++printf %s "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +-$as_echo "$enable_static" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 ++printf "%s\n" "$enable_static" >&6; } + + + +@@ -18170,36 +19199,32 @@ + ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' + ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' + ac_compiler_gnu=$ac_cv_cxx_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; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 ++printf %s "checking how to run the C++ preprocessor... " >&6; } + if test -z "$CXXCPP"; then +- if ${ac_cv_prog_CXXCPP+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- # Double quotes because CXXCPP needs to be expanded +- for CXXCPP in "$CXX -E" "/lib/cpp" ++ if test ${ac_cv_prog_CXXCPP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ # Double quotes because $CXX needs to be expanded ++ for CXXCPP in "$CXX -E" cpp /lib/cpp + do + ac_preproc_ok=false + for ac_cxx_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 ++#include + Syntax error + _ACEOF +-if ac_fn_cxx_try_cpp "$LINENO"; then : ++if ac_fn_cxx_try_cpp "$LINENO" ++then : + +-else ++else $as_nop + # Broken: fails on valid input. + continue + fi +@@ -18211,10 +19236,11 @@ + /* end confdefs.h. */ + #include + _ACEOF +-if ac_fn_cxx_try_cpp "$LINENO"; then : ++if ac_fn_cxx_try_cpp "$LINENO" ++then : + # Broken: success on invalid input. + continue +-else ++else $as_nop + # Passes both tests. + ac_preproc_ok=: + break +@@ -18224,7 +19250,8 @@ + 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 : ++if $ac_preproc_ok ++then : + break + fi + +@@ -18236,29 +19263,24 @@ + else + ac_cv_prog_CXXCPP=$CXXCPP + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +-$as_echo "$CXXCPP" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 ++printf "%s\n" "$CXXCPP" >&6; } + ac_preproc_ok=false + for ac_cxx_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 ++#include + Syntax error + _ACEOF +-if ac_fn_cxx_try_cpp "$LINENO"; then : ++if ac_fn_cxx_try_cpp "$LINENO" ++then : + +-else ++else $as_nop + # Broken: fails on valid input. + continue + fi +@@ -18270,10 +19292,11 @@ + /* end confdefs.h. */ + #include + _ACEOF +-if ac_fn_cxx_try_cpp "$LINENO"; then : ++if ac_fn_cxx_try_cpp "$LINENO" ++then : + # Broken: success on invalid input. + continue +-else ++else $as_nop + # Passes both tests. + ac_preproc_ok=: + break +@@ -18283,11 +19306,12 @@ + 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 : ++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;} ++else $as_nop ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check + See \`config.log' for more details" "$LINENO" 5; } + fi +@@ -18423,17 +19447,18 @@ + + + # Check whether --with-gnu-ld was given. +-if test "${with_gnu_ld+set}" = set; then : ++if test ${with_gnu_ld+y} ++then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +-else ++else $as_nop + with_gnu_ld=no + fi + + ac_prog=ld + if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +-$as_echo_n "checking for ld used by $CC... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 ++printf %s "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw +@@ -18462,15 +19487,16 @@ + ;; + esac + elif test yes = "$with_gnu_ld"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +-$as_echo_n "checking for GNU ld... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 ++printf %s "checking for GNU ld... " >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +-$as_echo_n "checking for non-GNU ld... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 ++printf %s "checking for non-GNU ld... " >&6; } + fi +-if ${lt_cv_path_LD+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++if test ${lt_cv_path_LD+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do +@@ -18499,18 +19525,19 @@ + + LD=$lt_cv_path_LD + if test -n "$LD"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +-$as_echo "$LD" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 ++printf "%s\n" "$LD" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +-if ${lt_cv_prog_gnu_ld+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 ++printf %s "checking if the linker ($LD) is GNU ld... " >&6; } ++if test ${lt_cv_prog_gnu_ld+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + # I'd rather use --version here, but apparently some GNU lds only accept -v. + case `$LD -v 2>&1 &5 +-$as_echo "$lt_cv_prog_gnu_ld" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 ++printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } + with_gnu_ld=$lt_cv_prog_gnu_ld + + +@@ -18576,8 +19603,8 @@ + fi + + # PORTME: fill in a description of your system's C++ link characteristics +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 ++printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + ld_shlibs_CXX=yes + case $host_os in + aix3*) +@@ -18715,9 +19742,10 @@ + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath + else +- if ${lt_cv_aix_libpath__CXX+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${lt_cv_aix_libpath__CXX+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -18730,14 +19758,15 @@ + #endif + #endif + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_cxx_try_link "$LINENO"; then : ++if ac_fn_cxx_try_link "$LINENO" ++then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { +@@ -18752,7 +19781,7 @@ + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=/usr/lib:/lib +@@ -18777,9 +19806,10 @@ + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath + else +- if ${lt_cv_aix_libpath__CXX+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${lt_cv_aix_libpath__CXX+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -18792,14 +19822,15 @@ + #endif + #endif + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_cxx_try_link "$LINENO"; then : ++if ac_fn_cxx_try_link "$LINENO" ++then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { +@@ -18814,7 +19845,7 @@ + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=/usr/lib:/lib +@@ -19665,8 +20696,8 @@ + ;; + esac + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +-$as_echo "$ld_shlibs_CXX" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 ++printf "%s\n" "$ld_shlibs_CXX" >&6; } + test no = "$ld_shlibs_CXX" && can_build_shared=no + + GCC_CXX=$GXX +@@ -19704,7 +20735,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. +@@ -20185,26 +21216,28 @@ + ;; + esac + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +-$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +-if ${lt_cv_prog_compiler_pic_CXX+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 ++printf %s "checking for $compiler option to produce PIC... " >&6; } ++if test ${lt_cv_prog_compiler_pic_CXX+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 +-$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_pic_CXX" >&6; } + lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX + + # + # Check to make sure the PIC flag actually works. + # + if test -n "$lt_prog_compiler_pic_CXX"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } +-if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 ++printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } ++if test ${lt_cv_prog_compiler_pic_works_CXX+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext +@@ -20235,8 +21268,8 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 +-$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_pic_works_CXX" >&6; } + + if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then + case $lt_prog_compiler_pic_CXX in +@@ -20258,11 +21291,12 @@ + # Check to make sure the static flag actually works. + # + wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +-if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 ++printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } ++if test ${lt_cv_prog_compiler_static_works_CXX+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_static_works_CXX=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" +@@ -20286,8 +21320,8 @@ + LDFLAGS=$save_LDFLAGS + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 +-$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_static_works_CXX" >&6; } + + if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then + : +@@ -20298,11 +21332,12 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +-if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 ++printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } ++if test ${lt_cv_prog_compiler_c_o_CXX+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest +@@ -20345,16 +21380,17 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +-$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +-if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 ++printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } ++if test ${lt_cv_prog_compiler_c_o_CXX+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest +@@ -20397,8 +21433,8 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +-$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + +@@ -20406,19 +21442,19 @@ + hard_links=nottested + if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +-$as_echo_n "checking if we can lock with hard links... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 ++printf %s "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +-$as_echo "$hard_links" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 ++printf "%s\n" "$hard_links" >&6; } + if test no = "$hard_links"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +-$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 ++printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi + else +@@ -20427,8 +21463,8 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 ++printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' +@@ -20467,8 +21503,8 @@ + ;; + esac + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +-$as_echo "$ld_shlibs_CXX" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 ++printf "%s\n" "$ld_shlibs_CXX" >&6; } + test no = "$ld_shlibs_CXX" && can_build_shared=no + + with_gnu_ld_CXX=$with_gnu_ld +@@ -20495,18 +21531,19 @@ + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +-if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 ++printf %s "checking whether -lc should be explicitly linked in... " >&6; } ++if test ${lt_cv_archive_cmds_need_lc_CXX+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest +@@ -20524,7 +21561,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_CXX=no +@@ -20538,8 +21575,8 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 +-$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 ++printf "%s\n" "$lt_cv_archive_cmds_need_lc_CXX" >&6; } + archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX + ;; + esac +@@ -20608,8 +21645,8 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +-$as_echo_n "checking dynamic linker characteristics... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 ++printf %s "checking dynamic linker characteristics... " >&6; } + + library_names_spec= + libname_spec='lib$name' +@@ -21097,9 +22134,10 @@ + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH +- if ${lt_cv_shlibpath_overrides_runpath+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${lt_cv_shlibpath_overrides_runpath+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir +@@ -21117,19 +22155,21 @@ + #endif + #endif + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_cxx_try_link "$LINENO"; then : +- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : ++if ac_fn_cxx_try_link "$LINENO" ++then : ++ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null ++then : + lt_cv_shlibpath_overrides_runpath=yes + fi + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir +@@ -21361,8 +22401,8 @@ + dynamic_linker=no + ;; + esac +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +-$as_echo "$dynamic_linker" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 ++printf "%s\n" "$dynamic_linker" >&6; } + test no = "$dynamic_linker" && can_build_shared=no + + variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +@@ -21426,8 +22466,8 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +-$as_echo_n "checking how to hardcode library paths into programs... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 ++printf %s "checking how to hardcode library paths into programs... " >&6; } + hardcode_action_CXX= + if test -n "$hardcode_libdir_flag_spec_CXX" || + test -n "$runpath_var_CXX" || +@@ -21451,8 +22491,8 @@ + # directories. + hardcode_action_CXX=unsupported + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 +-$as_echo "$hardcode_action_CXX" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 ++printf "%s\n" "$hardcode_action_CXX" >&6; } + + if test relink = "$hardcode_action_CXX" || + test yes = "$inherit_rpath_CXX"; then +@@ -21597,13 +22637,13 @@ + + + if test -n "$compiler"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +-$as_echo_n "checking if libtool supports shared libraries... " >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +-$as_echo "$can_build_shared" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 ++printf %s "checking if libtool supports shared libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 ++printf "%s\n" "$can_build_shared" >&6; } + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +-$as_echo_n "checking whether to build shared libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 ++printf %s "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and +@@ -21626,15 +22666,15 @@ + fi + ;; + esac +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +-$as_echo "$enable_shared" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 ++printf "%s\n" "$enable_shared" >&6; } + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +-$as_echo_n "checking whether to build static libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 ++printf %s "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +-$as_echo "$enable_static" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 ++printf "%s\n" "$enable_static" >&6; } + + GCC_FC=$ac_cv_fc_compiler_gnu + LD_FC=$LD +@@ -21670,7 +22710,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. +@@ -22130,26 +23170,28 @@ + ;; + esac + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +-$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +-if ${lt_cv_prog_compiler_pic_FC+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 ++printf %s "checking for $compiler option to produce PIC... " >&6; } ++if test ${lt_cv_prog_compiler_pic_FC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_pic_FC=$lt_prog_compiler_pic_FC + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_FC" >&5 +-$as_echo "$lt_cv_prog_compiler_pic_FC" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_FC" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_pic_FC" >&6; } + lt_prog_compiler_pic_FC=$lt_cv_prog_compiler_pic_FC + + # + # Check to make sure the PIC flag actually works. + # + if test -n "$lt_prog_compiler_pic_FC"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_FC works" >&5 +-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_FC works... " >&6; } +-if ${lt_cv_prog_compiler_pic_works_FC+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_FC works" >&5 ++printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic_FC works... " >&6; } ++if test ${lt_cv_prog_compiler_pic_works_FC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_pic_works_FC=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext +@@ -22180,8 +23222,8 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_FC" >&5 +-$as_echo "$lt_cv_prog_compiler_pic_works_FC" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_FC" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_pic_works_FC" >&6; } + + if test yes = "$lt_cv_prog_compiler_pic_works_FC"; then + case $lt_prog_compiler_pic_FC in +@@ -22203,11 +23245,12 @@ + # Check to make sure the static flag actually works. + # + wl=$lt_prog_compiler_wl_FC eval lt_tmp_static_flag=\"$lt_prog_compiler_static_FC\" +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +-if ${lt_cv_prog_compiler_static_works_FC+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 ++printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } ++if test ${lt_cv_prog_compiler_static_works_FC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_static_works_FC=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" +@@ -22231,8 +23274,8 @@ + LDFLAGS=$save_LDFLAGS + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_FC" >&5 +-$as_echo "$lt_cv_prog_compiler_static_works_FC" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_FC" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_static_works_FC" >&6; } + + if test yes = "$lt_cv_prog_compiler_static_works_FC"; then + : +@@ -22243,11 +23286,12 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +-if ${lt_cv_prog_compiler_c_o_FC+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 ++printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } ++if test ${lt_cv_prog_compiler_c_o_FC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_c_o_FC=no + $RM -r conftest 2>/dev/null + mkdir conftest +@@ -22290,16 +23334,17 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_FC" >&5 +-$as_echo "$lt_cv_prog_compiler_c_o_FC" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_FC" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_c_o_FC" >&6; } + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +-if ${lt_cv_prog_compiler_c_o_FC+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 ++printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } ++if test ${lt_cv_prog_compiler_c_o_FC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_prog_compiler_c_o_FC=no + $RM -r conftest 2>/dev/null + mkdir conftest +@@ -22342,8 +23387,8 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_FC" >&5 +-$as_echo "$lt_cv_prog_compiler_c_o_FC" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_FC" >&5 ++printf "%s\n" "$lt_cv_prog_compiler_c_o_FC" >&6; } + + + +@@ -22351,19 +23396,19 @@ + hard_links=nottested + if test no = "$lt_cv_prog_compiler_c_o_FC" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +-$as_echo_n "checking if we can lock with hard links... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 ++printf %s "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +-$as_echo "$hard_links" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 ++printf "%s\n" "$hard_links" >&6; } + if test no = "$hard_links"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +-$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 ++printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi + else +@@ -22372,8 +23417,8 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 ++printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag_FC= +@@ -22928,15 +23973,17 @@ + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath + else +- if ${lt_cv_aix_libpath__FC+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${lt_cv_aix_libpath__FC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end + _ACEOF +-if ac_fn_fc_try_link "$LINENO"; then : ++if ac_fn_fc_try_link "$LINENO" ++then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { +@@ -22951,7 +23998,7 @@ + lt_cv_aix_libpath__FC=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__FC"; then + lt_cv_aix_libpath__FC=/usr/lib:/lib +@@ -22975,15 +24022,17 @@ + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath + else +- if ${lt_cv_aix_libpath__FC+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${lt_cv_aix_libpath__FC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end + _ACEOF +-if ac_fn_fc_try_link "$LINENO"; then : ++if ac_fn_fc_try_link "$LINENO" ++then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { +@@ -22998,7 +24047,7 @@ + lt_cv_aix_libpath__FC=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__FC"; then + lt_cv_aix_libpath__FC=/usr/lib:/lib +@@ -23279,11 +24328,12 @@ + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +-if ${lt_cv_irix_exported_symbol+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 ++printf %s "checking whether the $host_os linker accepts -exported_symbol... " >&6; } ++if test ${lt_cv_irix_exported_symbol+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat > conftest.$ac_ext <<_ACEOF +@@ -23291,17 +24341,18 @@ + subroutine foo + end + _ACEOF +-if ac_fn_fc_try_link "$LINENO"; then : ++if ac_fn_fc_try_link "$LINENO" ++then : + lt_cv_irix_exported_symbol=yes +-else ++else $as_nop + lt_cv_irix_exported_symbol=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +-$as_echo "$lt_cv_irix_exported_symbol" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 ++printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' + fi +@@ -23581,8 +24632,8 @@ + fi + fi + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_FC" >&5 +-$as_echo "$ld_shlibs_FC" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_FC" >&5 ++printf "%s\n" "$ld_shlibs_FC" >&6; } + test no = "$ld_shlibs_FC" && can_build_shared=no + + with_gnu_ld_FC=$with_gnu_ld +@@ -23609,18 +24660,19 @@ + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +-if ${lt_cv_archive_cmds_need_lc_FC+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 ++printf %s "checking whether -lc should be explicitly linked in... " >&6; } ++if test ${lt_cv_archive_cmds_need_lc_FC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest +@@ -23638,7 +24690,7 @@ + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_FC 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_FC 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_FC=no +@@ -23652,8 +24704,8 @@ + $RM conftest* + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_FC" >&5 +-$as_echo "$lt_cv_archive_cmds_need_lc_FC" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_FC" >&5 ++printf "%s\n" "$lt_cv_archive_cmds_need_lc_FC" >&6; } + archive_cmds_need_lc_FC=$lt_cv_archive_cmds_need_lc_FC + ;; + esac +@@ -23722,8 +24774,8 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +-$as_echo_n "checking dynamic linker characteristics... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 ++printf %s "checking dynamic linker characteristics... " >&6; } + + library_names_spec= + libname_spec='lib$name' +@@ -24211,9 +25263,10 @@ + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH +- if ${lt_cv_shlibpath_overrides_runpath+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ if test ${lt_cv_shlibpath_overrides_runpath+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir +@@ -24224,12 +25277,14 @@ + + end + _ACEOF +-if ac_fn_fc_try_link "$LINENO"; then : +- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : ++if ac_fn_fc_try_link "$LINENO" ++then : ++ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null ++then : + lt_cv_shlibpath_overrides_runpath=yes + fi + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir +@@ -24461,8 +25516,8 @@ + dynamic_linker=no + ;; + esac +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +-$as_echo "$dynamic_linker" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 ++printf "%s\n" "$dynamic_linker" >&6; } + test no = "$dynamic_linker" && can_build_shared=no + + variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +@@ -24526,8 +25581,8 @@ + + + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +-$as_echo_n "checking how to hardcode library paths into programs... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 ++printf %s "checking how to hardcode library paths into programs... " >&6; } + hardcode_action_FC= + if test -n "$hardcode_libdir_flag_spec_FC" || + test -n "$runpath_var_FC" || +@@ -24551,8 +25606,8 @@ + # directories. + hardcode_action_FC=unsupported + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_FC" >&5 +-$as_echo "$hardcode_action_FC" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_FC" >&5 ++printf "%s\n" "$hardcode_action_FC" >&6; } + + if test relink = "$hardcode_action_FC" || + test yes = "$inherit_rpath_FC"; then +@@ -24612,10 +25667,11 @@ + ## Default is no + STATIC_EXEC=no + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if we should install only statically linked executables" >&5 +-$as_echo_n "checking if we should install only statically linked executables... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we should install only statically linked executables" >&5 ++printf %s "checking if we should install only statically linked executables... " >&6; } + # Check whether --enable-static_exec was given. +-if test "${enable_static_exec+set}" = set; then : ++if test ${enable_static_exec+y} ++then : + enableval=$enable_static_exec; STATIC_EXEC=$enableval + fi + +@@ -24657,30 +25713,31 @@ + ## link shared libraries in nondefault directories. Allow users to + ## disable embedding the rpath information in the executables and to + ## instead solely rely on the information in LD_LIBRARY_PATH. +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if -Wl,-rpath should be used to link shared libs in nondefault directories" >&5 +-$as_echo_n "checking if -Wl,-rpath should be used to link shared libs in nondefault directories... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if -Wl,-rpath should be used to link shared libs in nondefault directories" >&5 ++printf %s "checking if -Wl,-rpath should be used to link shared libs in nondefault directories... " >&6; } + # Check whether --enable-sharedlib-rpath was given. +-if test "${enable_sharedlib_rpath+set}" = set; then : ++if test ${enable_sharedlib_rpath+y} ++then : + enableval=$enable_sharedlib_rpath; RPATH=$enableval + fi + + + case "X-$RPATH" in + X-no) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + runpath_var= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_into_libs=no + ;; + X-|X-yes) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + ;; + *) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: error" >&5 +-$as_echo "error" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 ++printf "%s\n" "error" >&6; } + as_fn_error $? "\'$enableval\' is not a valid rpath type" "$LINENO" 5 + ;; + esac +@@ -24688,11 +25745,12 @@ + ## ---------------------------------------------------------------------- + ## Check for system libraries. "dl" stands for dynamically loaded library + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ceil in -lm" >&5 +-$as_echo_n "checking for ceil in -lm... " >&6; } +-if ${ac_cv_lib_m_ceil+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ceil in -lm" >&5 ++printf %s "checking for ceil in -lm... " >&6; } ++if test ${ac_cv_lib_m_ceil+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lm $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -24701,9 +25759,6 @@ + /* 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 ceil (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -24714,38 +25769,39 @@ + #endif + #endif + int +-main () ++main (void) + { + return ceil (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_m_ceil=yes +-else ++else $as_nop + ac_cv_lib_m_ceil=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_ceil" >&5 +-$as_echo "$ac_cv_lib_m_ceil" >&6; } +-if test "x$ac_cv_lib_m_ceil" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBM 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_ceil" >&5 ++printf "%s\n" "$ac_cv_lib_m_ceil" >&6; } ++if test "x$ac_cv_lib_m_ceil" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBM 1" >>confdefs.h + + LIBS="-lm $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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 ++printf %s "checking for dlopen in -ldl... " >&6; } ++if test ${ac_cv_lib_dl_dlopen+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-ldl $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -24754,9 +25810,6 @@ + /* 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 (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -24767,28 +25820,28 @@ + #endif + #endif + int +-main () ++main (void) + { + return dlopen (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_dl_dlopen=yes +-else ++else $as_nop + ac_cv_lib_dl_dlopen=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 ++printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } ++if test "x$ac_cv_lib_dl_dlopen" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBDL 1" >>confdefs.h + + LIBS="-ldl $LIBS" + +@@ -24798,265 +25851,202 @@ + ## ---------------------------------------------------------------------- + ## Check for system 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 ++# Autoupdate added the next two lines to ensure that your configure ++# script's behavior did not change. They are probably safe to remove. + +-#ifdef FC_DUMMY_MAIN +-#ifndef FC_DUMMY_MAIN_EQ_F77 +-# ifdef __cplusplus +- extern "C" +-# endif +- int FC_DUMMY_MAIN() { return 1; } +-#endif +-#endif +-int +-main () +-{ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 ++printf %s "checking for egrep... " >&6; } ++if test ${ac_cv_path_EGREP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ 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 ++ printf %s 0123456789 >"conftest.in" ++ while : ++ do ++ cat "conftest.in" "conftest.in" >"conftest.tmp" ++ mv "conftest.tmp" "conftest.in" ++ cp "conftest.in" "conftest.nl" ++ printf "%s\n" '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 + +- ; +- return 0; +-} +-_ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : +- ac_cv_header_stdc=yes ++ $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_header_stdc=no ++ ac_cv_path_EGREP=$EGREP + 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 ++ fi ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 ++printf "%s\n" "$ac_cv_path_EGREP" >&6; } ++ EGREP="$ac_cv_path_EGREP" + +-_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 : ++# Obsolete code to be removed. ++if test $ac_cv_header_sys_time_h = yes; then + +-else +- ac_cv_header_stdc=no +-fi +-rm -f conftest* ++printf "%s\n" "#define TIME_WITH_SYS_TIME 1" >>confdefs.h + + fi ++# End of obsolete code. + +-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 : ++## Unix ++ac_fn_c_check_header_compile "$LINENO" "sys/resource.h" "ac_cv_header_sys_resource_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_resource_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYS_RESOURCE_H 1" >>confdefs.h + +-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 ++ac_fn_c_check_header_compile "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_time_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYS_TIME_H 1" >>confdefs.h ++ + fi ++ac_fn_c_check_header_compile "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default" ++if test "x$ac_cv_header_unistd_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_UNISTD_H 1" >>confdefs.h + + fi ++ac_fn_c_check_header_compile "$LINENO" "sys/ioctl.h" "ac_cv_header_sys_ioctl_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_ioctl_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYS_IOCTL_H 1" >>confdefs.h ++ + 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 ++ac_fn_c_check_header_compile "$LINENO" "sys/stat.h" "ac_cv_header_sys_stat_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_stat_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYS_STAT_H 1" >>confdefs.h + +-$as_echo "#define STDC_HEADERS 1" >>confdefs.h +- + fi + +-{ $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 ++ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_socket_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h + +-#ifdef FC_DUMMY_MAIN +-#ifndef FC_DUMMY_MAIN_EQ_F77 +-# ifdef __cplusplus +- extern "C" +-# endif +- int FC_DUMMY_MAIN() { return 1; } +-#endif +-#endif +-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 ++ac_fn_c_check_header_compile "$LINENO" "sys/types.h" "ac_cv_header_sys_types_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_types_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYS_TYPES_H 1" >>confdefs.h ++ + 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 ++ac_fn_c_check_header_compile "$LINENO" "sys/file.h" "ac_cv_header_sys_file_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_file_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYS_FILE_H 1" >>confdefs.h + +-$as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h +- + fi + ++ac_fn_c_check_header_compile "$LINENO" "stddef.h" "ac_cv_header_stddef_h" "$ac_includes_default" ++if test "x$ac_cv_header_stddef_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_STDDEF_H 1" >>confdefs.h + +-## Unix +-for ac_header in sys/resource.h sys/time.h unistd.h sys/ioctl.h sys/stat.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 ++ac_fn_c_check_header_compile "$LINENO" "setjmp.h" "ac_cv_header_setjmp_h" "$ac_includes_default" ++if test "x$ac_cv_header_setjmp_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SETJMP_H 1" >>confdefs.h + +-done +- +-for ac_header in sys/socket.h sys/types.h sys/file.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 ++ac_fn_c_check_header_compile "$LINENO" "features.h" "ac_cv_header_features_h" "$ac_includes_default" ++if test "x$ac_cv_header_features_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_FEATURES_H 1" >>confdefs.h + +-done +- +-for ac_header in stddef.h setjmp.h features.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_fn_c_check_header_compile "$LINENO" "dirent.h" "ac_cv_header_dirent_h" "$ac_includes_default" ++if test "x$ac_cv_header_dirent_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_DIRENT_H 1" >>confdefs.h + +-for ac_header in dirent.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "dirent.h" "ac_cv_header_dirent_h" "$ac_includes_default" +-if test "x$ac_cv_header_dirent_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_DIRENT_H 1 +-_ACEOF +- + fi + +-done +- +-for ac_header in stdint.h ++ for ac_header in stdint.h + do : +- ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" +-if test "x$ac_cv_header_stdint_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_STDINT_H 1 +-_ACEOF ++ ac_fn_c_check_header_compile "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" ++if test "x$ac_cv_header_stdint_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_STDINT_H 1" >>confdefs.h + C9x=yes + fi + + done ++ac_fn_c_check_header_compile "$LINENO" "stdbool.h" "ac_cv_header_stdbool_h" "$ac_includes_default" ++if test "x$ac_cv_header_stdbool_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_STDBOOL_H 1" >>confdefs.h + +-for ac_header in stdbool.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "stdbool.h" "ac_cv_header_stdbool_h" "$ac_includes_default" +-if test "x$ac_cv_header_stdbool_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_STDBOOL_H 1 +-_ACEOF +- + fi + +-done + +- + ## Darwin +-for ac_header in mach/mach_time.h +-do : +- ac_fn_c_check_header_mongrel "$LINENO" "mach/mach_time.h" "ac_cv_header_mach_mach_time_h" "$ac_includes_default" +-if test "x$ac_cv_header_mach_mach_time_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_MACH_MACH_TIME_H 1 +-_ACEOF ++ac_fn_c_check_header_compile "$LINENO" "mach/mach_time.h" "ac_cv_header_mach_mach_time_h" "$ac_includes_default" ++if test "x$ac_cv_header_mach_mach_time_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_MACH_MACH_TIME_H 1" >>confdefs.h + + fi + +-done +- + ## Also need to detect Darwin for pubconf + case $host_os in + darwin*) + +-$as_echo "#define HAVE_DARWIN 1" >>confdefs.h ++printf "%s\n" "#define HAVE_DARWIN 1" >>confdefs.h + + ;; + esac +@@ -25064,40 +26054,47 @@ + ## Windows + case "`uname`" in + CYGWIN*) +- for ac_header in io.h sys/timeb.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 ++ ac_fn_c_check_header_compile "$LINENO" "io.h" "ac_cv_header_io_h" "$ac_includes_default" ++if test "x$ac_cv_header_io_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_IO_H 1" >>confdefs.h + + fi ++ac_fn_c_check_header_compile "$LINENO" "sys/timeb.h" "ac_cv_header_sys_timeb_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_timeb_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYS_TIMEB_H 1" >>confdefs.h + +-done ++fi + + UNAME_CYGWIN="yes" + ;; + MINGW*) +- for ac_header in io.h winsock2.h sys/timeb.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 ++ ac_fn_c_check_header_compile "$LINENO" "io.h" "ac_cv_header_io_h" "$ac_includes_default" ++if test "x$ac_cv_header_io_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_IO_H 1" >>confdefs.h + + fi ++ac_fn_c_check_header_compile "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" ++if test "x$ac_cv_header_winsock2_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_WINSOCK2_H 1" >>confdefs.h + +-done ++fi ++ac_fn_c_check_header_compile "$LINENO" "sys/timeb.h" "ac_cv_header_sys_timeb_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_timeb_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYS_TIMEB_H 1" >>confdefs.h + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lws2_32" >&5 +-$as_echo_n "checking for main in -lws2_32... " >&6; } +-if ${ac_cv_lib_ws2_32_main+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++fi ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lws2_32" >&5 ++printf %s "checking for main in -lws2_32... " >&6; } ++if test ${ac_cv_lib_ws2_32_main+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lws2_32 $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -25113,28 +26110,28 @@ + #endif + #endif + int +-main () ++main (void) + { + return main (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_ws2_32_main=yes +-else ++else $as_nop + ac_cv_lib_ws2_32_main=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ws2_32_main" >&5 +-$as_echo "$ac_cv_lib_ws2_32_main" >&6; } +-if test "x$ac_cv_lib_ws2_32_main" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBWS2_32 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ws2_32_main" >&5 ++printf "%s\n" "$ac_cv_lib_ws2_32_main" >&6; } ++if test "x$ac_cv_lib_ws2_32_main" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBWS2_32 1" >>confdefs.h + + LIBS="-lws2_32 $LIBS" + +@@ -25143,19 +26140,25 @@ + + ;; + *) +- for ac_header in io.h winsock2.h sys/timeb.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 ++ ac_fn_c_check_header_compile "$LINENO" "io.h" "ac_cv_header_io_h" "$ac_includes_default" ++if test "x$ac_cv_header_io_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_IO_H 1" >>confdefs.h + + fi ++ac_fn_c_check_header_compile "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" ++if test "x$ac_cv_header_winsock2_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_WINSOCK2_H 1" >>confdefs.h + +-done ++fi ++ac_fn_c_check_header_compile "$LINENO" "sys/timeb.h" "ac_cv_header_sys_timeb_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_timeb_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYS_TIMEB_H 1" >>confdefs.h + ++fi ++ + ;; + esac + +@@ -25166,19 +26169,19 @@ + ## as it will not do so by default. + ## + if test "X${enable_shared}" = "Xyes"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool needs -no-undefined flag to build shared libraries" >&5 +-$as_echo_n "checking if libtool needs -no-undefined flag to build shared libraries... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool needs -no-undefined flag to build shared libraries" >&5 ++printf %s "checking if libtool needs -no-undefined flag to build shared libraries... " >&6; } + case "`uname`" in + CYGWIN*|MINGW*|AIX*) + ## Add in the -no-undefined flag to LDFLAGS for libtool. +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + H5_LDFLAGS="$H5_LDFLAGS -no-undefined" + ;; + *) + ## Don't add in anything. +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + ;; + esac + fi +@@ -25192,11 +26195,12 @@ + ## so that later configure checks have them visible. + + ## Check for _FILE_OFFSET_BITS +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 +-$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } +-if ${ac_cv_sys_file_offset_bits+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 ++printf %s "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } ++if test ${ac_cv_sys_file_offset_bits+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +@@ -25205,7 +26209,7 @@ + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) ++#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +@@ -25218,17 +26222,18 @@ + #endif + #endif + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_sys_file_offset_bits=no; break + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #define _FILE_OFFSET_BITS 64 +@@ -25237,7 +26242,7 @@ + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) ++#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +@@ -25250,29 +26255,28 @@ + #endif + #endif + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_sys_file_offset_bits=64; break + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cv_sys_file_offset_bits=unknown + break + done + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 +-$as_echo "$ac_cv_sys_file_offset_bits" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 ++printf "%s\n" "$ac_cv_sys_file_offset_bits" >&6; } + case $ac_cv_sys_file_offset_bits in #( + no | unknown) ;; + *) +-cat >>confdefs.h <<_ACEOF +-#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits +-_ACEOF ++printf "%s\n" "#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits" >>confdefs.h + + AM_CPPFLAGS="-D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits $AM_CPPFLAGS";; + esac +@@ -25280,11 +26284,12 @@ + + ## Check for _LARGE_FILES + if test "$ac_cv_sys_file_offset_bits" = unknown; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 +-$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } +-if ${ac_cv_sys_large_files+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 ++printf %s "checking for _LARGE_FILES value needed for large files... " >&6; } ++if test ${ac_cv_sys_large_files+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +@@ -25293,7 +26298,7 @@ + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) ++#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +@@ -25306,17 +26311,18 @@ + #endif + #endif + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_sys_large_files=no; break + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #define _LARGE_FILES 1 +@@ -25325,7 +26331,7 @@ + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) ++#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +@@ -25338,29 +26344,28 @@ + #endif + #endif + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_sys_large_files=1; break + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cv_sys_large_files=unknown + break + done + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 +-$as_echo "$ac_cv_sys_large_files" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 ++printf "%s\n" "$ac_cv_sys_large_files" >&6; } + case $ac_cv_sys_large_files in #( + no | unknown) ;; + *) +-cat >>confdefs.h <<_ACEOF +-#define _LARGE_FILES $ac_cv_sys_large_files +-_ACEOF ++printf "%s\n" "#define _LARGE_FILES $ac_cv_sys_large_files" >>confdefs.h + + AM_CPPFLAGS="-D_LARGE_FILES=$ac_cv_sys_large_files $AM_CPPFLAGS";; + esac +@@ -25435,8 +26440,8 @@ + 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;} ;; ++ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( +@@ -25466,15 +26471,15 @@ + /^ac_cv_env_/b end + t clear + :clear +- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ ++ s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 ++printf "%s\n" "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else +@@ -25488,8 +26493,8 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 ++printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} + fi + fi + rm -f confcache +@@ -25509,17 +26514,19 @@ + # 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 int8_t" >&5 +-$as_echo_n "checking size of int8_t... " >&6; } +-if ${ac_cv_sizeof_int8_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int8_t))" "ac_cv_sizeof_int8_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of int8_t" >&5 ++printf %s "checking size of int8_t... " >&6; } ++if test ${ac_cv_sizeof_int8_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int8_t))" "ac_cv_sizeof_int8_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_int8_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (int8_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -25528,31 +26535,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int8_t" >&5 +-$as_echo "$ac_cv_sizeof_int8_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int8_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_int8_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_INT8_T $ac_cv_sizeof_int8_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_INT8_T $ac_cv_sizeof_int8_t" >>confdefs.h + + + # 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 uint8_t" >&5 +-$as_echo_n "checking size of uint8_t... " >&6; } +-if ${ac_cv_sizeof_uint8_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint8_t))" "ac_cv_sizeof_uint8_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of uint8_t" >&5 ++printf %s "checking size of uint8_t... " >&6; } ++if test ${ac_cv_sizeof_uint8_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint8_t))" "ac_cv_sizeof_uint8_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_uint8_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (uint8_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -25561,31 +26568,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint8_t" >&5 +-$as_echo "$ac_cv_sizeof_uint8_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint8_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_uint8_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_UINT8_T $ac_cv_sizeof_uint8_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_UINT8_T $ac_cv_sizeof_uint8_t" >>confdefs.h + + + # 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_least8_t" >&5 +-$as_echo_n "checking size of int_least8_t... " >&6; } +-if ${ac_cv_sizeof_int_least8_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int_least8_t))" "ac_cv_sizeof_int_least8_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of int_least8_t" >&5 ++printf %s "checking size of int_least8_t... " >&6; } ++if test ${ac_cv_sizeof_int_least8_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int_least8_t))" "ac_cv_sizeof_int_least8_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_int_least8_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (int_least8_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -25594,31 +26601,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int_least8_t" >&5 +-$as_echo "$ac_cv_sizeof_int_least8_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int_least8_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_int_least8_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_INT_LEAST8_T $ac_cv_sizeof_int_least8_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_INT_LEAST8_T $ac_cv_sizeof_int_least8_t" >>confdefs.h + + + # 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 uint_least8_t" >&5 +-$as_echo_n "checking size of uint_least8_t... " >&6; } +-if ${ac_cv_sizeof_uint_least8_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint_least8_t))" "ac_cv_sizeof_uint_least8_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of uint_least8_t" >&5 ++printf %s "checking size of uint_least8_t... " >&6; } ++if test ${ac_cv_sizeof_uint_least8_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint_least8_t))" "ac_cv_sizeof_uint_least8_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_uint_least8_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (uint_least8_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -25627,31 +26634,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint_least8_t" >&5 +-$as_echo "$ac_cv_sizeof_uint_least8_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint_least8_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_uint_least8_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_UINT_LEAST8_T $ac_cv_sizeof_uint_least8_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_UINT_LEAST8_T $ac_cv_sizeof_uint_least8_t" >>confdefs.h + + + # 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_fast8_t" >&5 +-$as_echo_n "checking size of int_fast8_t... " >&6; } +-if ${ac_cv_sizeof_int_fast8_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int_fast8_t))" "ac_cv_sizeof_int_fast8_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of int_fast8_t" >&5 ++printf %s "checking size of int_fast8_t... " >&6; } ++if test ${ac_cv_sizeof_int_fast8_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int_fast8_t))" "ac_cv_sizeof_int_fast8_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_int_fast8_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (int_fast8_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -25660,31 +26667,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int_fast8_t" >&5 +-$as_echo "$ac_cv_sizeof_int_fast8_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int_fast8_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_int_fast8_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_INT_FAST8_T $ac_cv_sizeof_int_fast8_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_INT_FAST8_T $ac_cv_sizeof_int_fast8_t" >>confdefs.h + + + # 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 uint_fast8_t" >&5 +-$as_echo_n "checking size of uint_fast8_t... " >&6; } +-if ${ac_cv_sizeof_uint_fast8_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint_fast8_t))" "ac_cv_sizeof_uint_fast8_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of uint_fast8_t" >&5 ++printf %s "checking size of uint_fast8_t... " >&6; } ++if test ${ac_cv_sizeof_uint_fast8_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint_fast8_t))" "ac_cv_sizeof_uint_fast8_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_uint_fast8_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (uint_fast8_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -25693,14 +26700,12 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint_fast8_t" >&5 +-$as_echo "$ac_cv_sizeof_uint_fast8_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint_fast8_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_uint_fast8_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_UINT_FAST8_T $ac_cv_sizeof_uint_fast8_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_UINT_FAST8_T $ac_cv_sizeof_uint_fast8_t" >>confdefs.h + + + +@@ -25708,17 +26713,19 @@ + # 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 int16_t" >&5 +-$as_echo_n "checking size of int16_t... " >&6; } +-if ${ac_cv_sizeof_int16_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int16_t))" "ac_cv_sizeof_int16_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of int16_t" >&5 ++printf %s "checking size of int16_t... " >&6; } ++if test ${ac_cv_sizeof_int16_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int16_t))" "ac_cv_sizeof_int16_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_int16_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (int16_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -25727,31 +26734,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int16_t" >&5 +-$as_echo "$ac_cv_sizeof_int16_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int16_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_int16_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_INT16_T $ac_cv_sizeof_int16_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_INT16_T $ac_cv_sizeof_int16_t" >>confdefs.h + + + # 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 uint16_t" >&5 +-$as_echo_n "checking size of uint16_t... " >&6; } +-if ${ac_cv_sizeof_uint16_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint16_t))" "ac_cv_sizeof_uint16_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of uint16_t" >&5 ++printf %s "checking size of uint16_t... " >&6; } ++if test ${ac_cv_sizeof_uint16_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint16_t))" "ac_cv_sizeof_uint16_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_uint16_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (uint16_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -25760,31 +26767,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint16_t" >&5 +-$as_echo "$ac_cv_sizeof_uint16_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint16_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_uint16_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_UINT16_T $ac_cv_sizeof_uint16_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_UINT16_T $ac_cv_sizeof_uint16_t" >>confdefs.h + + + # 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_least16_t" >&5 +-$as_echo_n "checking size of int_least16_t... " >&6; } +-if ${ac_cv_sizeof_int_least16_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int_least16_t))" "ac_cv_sizeof_int_least16_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of int_least16_t" >&5 ++printf %s "checking size of int_least16_t... " >&6; } ++if test ${ac_cv_sizeof_int_least16_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int_least16_t))" "ac_cv_sizeof_int_least16_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_int_least16_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (int_least16_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -25793,31 +26800,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int_least16_t" >&5 +-$as_echo "$ac_cv_sizeof_int_least16_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int_least16_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_int_least16_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_INT_LEAST16_T $ac_cv_sizeof_int_least16_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_INT_LEAST16_T $ac_cv_sizeof_int_least16_t" >>confdefs.h + + + # 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 uint_least16_t" >&5 +-$as_echo_n "checking size of uint_least16_t... " >&6; } +-if ${ac_cv_sizeof_uint_least16_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint_least16_t))" "ac_cv_sizeof_uint_least16_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of uint_least16_t" >&5 ++printf %s "checking size of uint_least16_t... " >&6; } ++if test ${ac_cv_sizeof_uint_least16_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint_least16_t))" "ac_cv_sizeof_uint_least16_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_uint_least16_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (uint_least16_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -25826,31 +26833,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint_least16_t" >&5 +-$as_echo "$ac_cv_sizeof_uint_least16_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint_least16_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_uint_least16_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_UINT_LEAST16_T $ac_cv_sizeof_uint_least16_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_UINT_LEAST16_T $ac_cv_sizeof_uint_least16_t" >>confdefs.h + + + # 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_fast16_t" >&5 +-$as_echo_n "checking size of int_fast16_t... " >&6; } +-if ${ac_cv_sizeof_int_fast16_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int_fast16_t))" "ac_cv_sizeof_int_fast16_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of int_fast16_t" >&5 ++printf %s "checking size of int_fast16_t... " >&6; } ++if test ${ac_cv_sizeof_int_fast16_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int_fast16_t))" "ac_cv_sizeof_int_fast16_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_int_fast16_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (int_fast16_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -25859,31 +26866,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int_fast16_t" >&5 +-$as_echo "$ac_cv_sizeof_int_fast16_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int_fast16_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_int_fast16_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_INT_FAST16_T $ac_cv_sizeof_int_fast16_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_INT_FAST16_T $ac_cv_sizeof_int_fast16_t" >>confdefs.h + + + # 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 uint_fast16_t" >&5 +-$as_echo_n "checking size of uint_fast16_t... " >&6; } +-if ${ac_cv_sizeof_uint_fast16_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint_fast16_t))" "ac_cv_sizeof_uint_fast16_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of uint_fast16_t" >&5 ++printf %s "checking size of uint_fast16_t... " >&6; } ++if test ${ac_cv_sizeof_uint_fast16_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint_fast16_t))" "ac_cv_sizeof_uint_fast16_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_uint_fast16_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (uint_fast16_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -25892,14 +26899,12 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint_fast16_t" >&5 +-$as_echo "$ac_cv_sizeof_uint_fast16_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint_fast16_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_uint_fast16_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_UINT_FAST16_T $ac_cv_sizeof_uint_fast16_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_UINT_FAST16_T $ac_cv_sizeof_uint_fast16_t" >>confdefs.h + + + +@@ -25907,17 +26912,19 @@ + # 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 int32_t" >&5 +-$as_echo_n "checking size of int32_t... " >&6; } +-if ${ac_cv_sizeof_int32_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int32_t))" "ac_cv_sizeof_int32_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of int32_t" >&5 ++printf %s "checking size of int32_t... " >&6; } ++if test ${ac_cv_sizeof_int32_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int32_t))" "ac_cv_sizeof_int32_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_int32_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (int32_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -25926,31 +26933,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int32_t" >&5 +-$as_echo "$ac_cv_sizeof_int32_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int32_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_int32_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_INT32_T $ac_cv_sizeof_int32_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_INT32_T $ac_cv_sizeof_int32_t" >>confdefs.h + + + # 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 uint32_t" >&5 +-$as_echo_n "checking size of uint32_t... " >&6; } +-if ${ac_cv_sizeof_uint32_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint32_t))" "ac_cv_sizeof_uint32_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of uint32_t" >&5 ++printf %s "checking size of uint32_t... " >&6; } ++if test ${ac_cv_sizeof_uint32_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint32_t))" "ac_cv_sizeof_uint32_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_uint32_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (uint32_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -25959,31 +26966,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint32_t" >&5 +-$as_echo "$ac_cv_sizeof_uint32_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint32_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_uint32_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_UINT32_T $ac_cv_sizeof_uint32_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_UINT32_T $ac_cv_sizeof_uint32_t" >>confdefs.h + + + # 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_least32_t" >&5 +-$as_echo_n "checking size of int_least32_t... " >&6; } +-if ${ac_cv_sizeof_int_least32_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int_least32_t))" "ac_cv_sizeof_int_least32_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of int_least32_t" >&5 ++printf %s "checking size of int_least32_t... " >&6; } ++if test ${ac_cv_sizeof_int_least32_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int_least32_t))" "ac_cv_sizeof_int_least32_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_int_least32_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (int_least32_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -25992,31 +26999,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int_least32_t" >&5 +-$as_echo "$ac_cv_sizeof_int_least32_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int_least32_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_int_least32_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_INT_LEAST32_T $ac_cv_sizeof_int_least32_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_INT_LEAST32_T $ac_cv_sizeof_int_least32_t" >>confdefs.h + + + # 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 uint_least32_t" >&5 +-$as_echo_n "checking size of uint_least32_t... " >&6; } +-if ${ac_cv_sizeof_uint_least32_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint_least32_t))" "ac_cv_sizeof_uint_least32_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of uint_least32_t" >&5 ++printf %s "checking size of uint_least32_t... " >&6; } ++if test ${ac_cv_sizeof_uint_least32_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint_least32_t))" "ac_cv_sizeof_uint_least32_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_uint_least32_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (uint_least32_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -26025,31 +27032,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint_least32_t" >&5 +-$as_echo "$ac_cv_sizeof_uint_least32_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint_least32_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_uint_least32_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_UINT_LEAST32_T $ac_cv_sizeof_uint_least32_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_UINT_LEAST32_T $ac_cv_sizeof_uint_least32_t" >>confdefs.h + + + # 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_fast32_t" >&5 +-$as_echo_n "checking size of int_fast32_t... " >&6; } +-if ${ac_cv_sizeof_int_fast32_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int_fast32_t))" "ac_cv_sizeof_int_fast32_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of int_fast32_t" >&5 ++printf %s "checking size of int_fast32_t... " >&6; } ++if test ${ac_cv_sizeof_int_fast32_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int_fast32_t))" "ac_cv_sizeof_int_fast32_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_int_fast32_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (int_fast32_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -26058,31 +27065,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int_fast32_t" >&5 +-$as_echo "$ac_cv_sizeof_int_fast32_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int_fast32_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_int_fast32_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_INT_FAST32_T $ac_cv_sizeof_int_fast32_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_INT_FAST32_T $ac_cv_sizeof_int_fast32_t" >>confdefs.h + + + # 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 uint_fast32_t" >&5 +-$as_echo_n "checking size of uint_fast32_t... " >&6; } +-if ${ac_cv_sizeof_uint_fast32_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint_fast32_t))" "ac_cv_sizeof_uint_fast32_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of uint_fast32_t" >&5 ++printf %s "checking size of uint_fast32_t... " >&6; } ++if test ${ac_cv_sizeof_uint_fast32_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint_fast32_t))" "ac_cv_sizeof_uint_fast32_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_uint_fast32_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (uint_fast32_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -26091,14 +27098,12 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint_fast32_t" >&5 +-$as_echo "$ac_cv_sizeof_uint_fast32_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint_fast32_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_uint_fast32_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_UINT_FAST32_T $ac_cv_sizeof_uint_fast32_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_UINT_FAST32_T $ac_cv_sizeof_uint_fast32_t" >>confdefs.h + + + +@@ -26106,17 +27111,19 @@ + # 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 int64_t" >&5 +-$as_echo_n "checking size of int64_t... " >&6; } +-if ${ac_cv_sizeof_int64_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int64_t))" "ac_cv_sizeof_int64_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of int64_t" >&5 ++printf %s "checking size of int64_t... " >&6; } ++if test ${ac_cv_sizeof_int64_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int64_t))" "ac_cv_sizeof_int64_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_int64_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (int64_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -26125,31 +27132,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int64_t" >&5 +-$as_echo "$ac_cv_sizeof_int64_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int64_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_int64_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_INT64_T $ac_cv_sizeof_int64_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_INT64_T $ac_cv_sizeof_int64_t" >>confdefs.h + + + # 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 uint64_t" >&5 +-$as_echo_n "checking size of uint64_t... " >&6; } +-if ${ac_cv_sizeof_uint64_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint64_t))" "ac_cv_sizeof_uint64_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of uint64_t" >&5 ++printf %s "checking size of uint64_t... " >&6; } ++if test ${ac_cv_sizeof_uint64_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint64_t))" "ac_cv_sizeof_uint64_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_uint64_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (uint64_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -26158,31 +27165,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint64_t" >&5 +-$as_echo "$ac_cv_sizeof_uint64_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint64_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_uint64_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_UINT64_T $ac_cv_sizeof_uint64_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_UINT64_T $ac_cv_sizeof_uint64_t" >>confdefs.h + + + # 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_least64_t" >&5 +-$as_echo_n "checking size of int_least64_t... " >&6; } +-if ${ac_cv_sizeof_int_least64_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int_least64_t))" "ac_cv_sizeof_int_least64_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of int_least64_t" >&5 ++printf %s "checking size of int_least64_t... " >&6; } ++if test ${ac_cv_sizeof_int_least64_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int_least64_t))" "ac_cv_sizeof_int_least64_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_int_least64_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (int_least64_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -26191,31 +27198,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int_least64_t" >&5 +-$as_echo "$ac_cv_sizeof_int_least64_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int_least64_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_int_least64_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_INT_LEAST64_T $ac_cv_sizeof_int_least64_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_INT_LEAST64_T $ac_cv_sizeof_int_least64_t" >>confdefs.h + + + # 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 uint_least64_t" >&5 +-$as_echo_n "checking size of uint_least64_t... " >&6; } +-if ${ac_cv_sizeof_uint_least64_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint_least64_t))" "ac_cv_sizeof_uint_least64_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of uint_least64_t" >&5 ++printf %s "checking size of uint_least64_t... " >&6; } ++if test ${ac_cv_sizeof_uint_least64_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint_least64_t))" "ac_cv_sizeof_uint_least64_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_uint_least64_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (uint_least64_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -26224,31 +27231,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint_least64_t" >&5 +-$as_echo "$ac_cv_sizeof_uint_least64_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint_least64_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_uint_least64_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_UINT_LEAST64_T $ac_cv_sizeof_uint_least64_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_UINT_LEAST64_T $ac_cv_sizeof_uint_least64_t" >>confdefs.h + + + # 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_fast64_t" >&5 +-$as_echo_n "checking size of int_fast64_t... " >&6; } +-if ${ac_cv_sizeof_int_fast64_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int_fast64_t))" "ac_cv_sizeof_int_fast64_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of int_fast64_t" >&5 ++printf %s "checking size of int_fast64_t... " >&6; } ++if test ${ac_cv_sizeof_int_fast64_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int_fast64_t))" "ac_cv_sizeof_int_fast64_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_int_fast64_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (int_fast64_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -26257,31 +27264,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int_fast64_t" >&5 +-$as_echo "$ac_cv_sizeof_int_fast64_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int_fast64_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_int_fast64_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_INT_FAST64_T $ac_cv_sizeof_int_fast64_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_INT_FAST64_T $ac_cv_sizeof_int_fast64_t" >>confdefs.h + + + # 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 uint_fast64_t" >&5 +-$as_echo_n "checking size of uint_fast64_t... " >&6; } +-if ${ac_cv_sizeof_uint_fast64_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint_fast64_t))" "ac_cv_sizeof_uint_fast64_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of uint_fast64_t" >&5 ++printf %s "checking size of uint_fast64_t... " >&6; } ++if test ${ac_cv_sizeof_uint_fast64_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uint_fast64_t))" "ac_cv_sizeof_uint_fast64_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_uint_fast64_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (uint_fast64_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -26290,14 +27297,12 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint_fast64_t" >&5 +-$as_echo "$ac_cv_sizeof_uint_fast64_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uint_fast64_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_uint_fast64_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_UINT_FAST64_T $ac_cv_sizeof_uint_fast64_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_UINT_FAST64_T $ac_cv_sizeof_uint_fast64_t" >>confdefs.h + + + +@@ -26305,17 +27310,19 @@ + # 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5 ++printf %s "checking size of size_t... " >&6; } ++if test ${ac_cv_sizeof_size_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + 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;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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 +@@ -26324,31 +27331,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5 +-$as_echo "$ac_cv_sizeof_size_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_size_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t" >>confdefs.h + + + # 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 ssize_t" >&5 +-$as_echo_n "checking size of ssize_t... " >&6; } +-if ${ac_cv_sizeof_ssize_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (ssize_t))" "ac_cv_sizeof_ssize_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of ssize_t" >&5 ++printf %s "checking size of ssize_t... " >&6; } ++if test ${ac_cv_sizeof_ssize_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (ssize_t))" "ac_cv_sizeof_ssize_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_ssize_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (ssize_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -26357,31 +27364,31 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_ssize_t" >&5 +-$as_echo "$ac_cv_sizeof_ssize_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_ssize_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_ssize_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_SSIZE_T $ac_cv_sizeof_ssize_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_SSIZE_T $ac_cv_sizeof_ssize_t" >>confdefs.h + + + # 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 ptrdiff_t" >&5 +-$as_echo_n "checking size of ptrdiff_t... " >&6; } +-if ${ac_cv_sizeof_ptrdiff_t+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (ptrdiff_t))" "ac_cv_sizeof_ptrdiff_t" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of ptrdiff_t" >&5 ++printf %s "checking size of ptrdiff_t... " >&6; } ++if test ${ac_cv_sizeof_ptrdiff_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (ptrdiff_t))" "ac_cv_sizeof_ptrdiff_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + if test "$ac_cv_type_ptrdiff_t" = yes; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (ptrdiff_t) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -26390,14 +27397,12 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_ptrdiff_t" >&5 +-$as_echo "$ac_cv_sizeof_ptrdiff_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_ptrdiff_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_ptrdiff_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_PTRDIFF_T $ac_cv_sizeof_ptrdiff_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_PTRDIFF_T $ac_cv_sizeof_ptrdiff_t" >>confdefs.h + + + +@@ -26408,17 +27413,19 @@ + # 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" "$ac_includes_default"; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5 ++printf %s "checking size of off_t... " >&6; } ++if test ${ac_cv_sizeof_off_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t" "$ac_includes_default" ++then : + +-else ++else $as_nop + 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;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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 +@@ -26427,14 +27434,12 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_off_t" >&5 +-$as_echo "$ac_cv_sizeof_off_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_off_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_off_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_OFF_T $ac_cv_sizeof_off_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_OFF_T $ac_cv_sizeof_off_t" >>confdefs.h + + + +@@ -26450,17 +27455,19 @@ + # 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 : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of bool" >&5 ++printf %s "checking size of bool... " >&6; } ++if test ${ac_cv_sizeof_bool+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (bool))" "ac_cv_sizeof_bool" "$ac_includes_default" ++then : + +-else ++else $as_nop + 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;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error 77 "cannot compute sizeof (bool) + See \`config.log' for more details" "$LINENO" 5; } + else +@@ -26469,14 +27476,12 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_bool" >&5 +-$as_echo "$ac_cv_sizeof_bool" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_bool" >&5 ++printf "%s\n" "$ac_cv_sizeof_bool" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_BOOL $ac_cv_sizeof_bool +-_ACEOF ++printf "%s\n" "#define SIZEOF_BOOL $ac_cv_sizeof_bool" >>confdefs.h + + + fi +@@ -26485,11 +27490,12 @@ + # 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 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of time_t" >&5 ++printf %s "checking size of time_t... " >&6; } ++if test ${ac_cv_sizeof_time_t+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (time_t))" "ac_cv_sizeof_time_t" " + #ifdef HAVE_SYS_TYPES_H + #include +@@ -26498,12 +27504,13 @@ + #include + #endif + +-"; then : ++" ++then : + +-else ++else $as_nop + 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;} ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$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 +@@ -26512,14 +27519,12 @@ + fi + + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_time_t" >&5 +-$as_echo "$ac_cv_sizeof_time_t" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_time_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_time_t" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_TIME_T $ac_cv_sizeof_time_t +-_ACEOF ++printf "%s\n" "#define SIZEOF_TIME_T $ac_cv_sizeof_time_t" >>confdefs.h + + + +@@ -26551,8 +27556,8 @@ + 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;} ;; ++ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( +@@ -26582,15 +27587,15 @@ + /^ac_cv_env_/b end + t clear + :clear +- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ ++ s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 ++printf "%s\n" "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else +@@ -26604,8 +27609,8 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 ++printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} + fi + fi + rm -f confcache +@@ -26613,8 +27618,8 @@ + ## ---------------------------------------------------------------------- + ## Check if the dev_t type is a scalar type (must come after the check for + ## sys/types.h) +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if dev_t is scalar" >&5 +-$as_echo_n "checking if dev_t is scalar... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if dev_t is scalar" >&5 ++printf %s "checking if dev_t is scalar... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -26631,24 +27636,25 @@ + #endif + #endif + int +-main () ++main (void) + { + dev_t d1, d2; if(d1==d2) return 0; + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-$as_echo "#define DEV_T_IS_SCALAR 1" >>confdefs.h ++printf "%s\n" "#define DEV_T_IS_SCALAR 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + ## ---------------------------------------------------------------------- + ## Fake --with-xxx option to allow us to create a help message for the +@@ -26657,7 +27663,8 @@ + ## + + # Check whether --with-fnord was given. +-if test "${with_fnord+set}" = set; then : ++if test ${with_fnord+y} ++then : + withval=$with_fnord; + fi + +@@ -26676,9 +27683,10 @@ + + + # Check whether --with-dmalloc was given. +-if test "${with_dmalloc+set}" = set; then : ++if test ${with_dmalloc+y} ++then : + withval=$with_dmalloc; +-else ++else $as_nop + withval=no + fi + +@@ -26686,26 +27694,25 @@ + case "X-$withval" in + X-yes) + HAVE_DMALLOC="yes" +- for ac_header in dmalloc.h ++ for ac_header in dmalloc.h + do : +- ac_fn_c_check_header_mongrel "$LINENO" "dmalloc.h" "ac_cv_header_dmalloc_h" "$ac_includes_default" +-if test "x$ac_cv_header_dmalloc_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_DMALLOC_H 1 +-_ACEOF ++ ac_fn_c_check_header_compile "$LINENO" "dmalloc.h" "ac_cv_header_dmalloc_h" "$ac_includes_default" ++if test "x$ac_cv_header_dmalloc_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_DMALLOC_H 1" >>confdefs.h + +-else ++else $as_nop + unset HAVE_DMALLOC + fi + + done +- + if test "x$HAVE_DMALLOC" = "xyes"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dmalloc_shutdown in -ldmalloc" >&5 +-$as_echo_n "checking for dmalloc_shutdown in -ldmalloc... " >&6; } +-if ${ac_cv_lib_dmalloc_dmalloc_shutdown+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dmalloc_shutdown in -ldmalloc" >&5 ++printf %s "checking for dmalloc_shutdown in -ldmalloc... " >&6; } ++if test ${ac_cv_lib_dmalloc_dmalloc_shutdown+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-ldmalloc $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -26714,9 +27721,6 @@ + /* 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 dmalloc_shutdown (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -26727,32 +27731,32 @@ + #endif + #endif + int +-main () ++main (void) + { + return dmalloc_shutdown (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_dmalloc_dmalloc_shutdown=yes +-else ++else $as_nop + ac_cv_lib_dmalloc_dmalloc_shutdown=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dmalloc_dmalloc_shutdown" >&5 +-$as_echo "$ac_cv_lib_dmalloc_dmalloc_shutdown" >&6; } +-if test "x$ac_cv_lib_dmalloc_dmalloc_shutdown" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBDMALLOC 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dmalloc_dmalloc_shutdown" >&5 ++printf "%s\n" "$ac_cv_lib_dmalloc_dmalloc_shutdown" >&6; } ++if test "x$ac_cv_lib_dmalloc_dmalloc_shutdown" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBDMALLOC 1" >>confdefs.h + + LIBS="-ldmalloc $LIBS" + +-else ++else $as_nop + unset HAVE_DMALLOC + fi + +@@ -26763,10 +27767,10 @@ + ;; + X-|X-no|X-none) + HAVE_DMALLOC="no" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dmalloc library" >&5 +-$as_echo_n "checking for dmalloc library... " >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: suppressed" >&5 +-$as_echo "suppressed" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dmalloc library" >&5 ++printf %s "checking for dmalloc library... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: suppressed" >&5 ++printf "%s\n" "suppressed" >&6; } + ;; + *) + HAVE_DMALLOC="yes" +@@ -26793,32 +27797,31 @@ + AM_CPPFLAGS="$AM_CPPFLAGS -I$dmalloc_inc" + fi + +- for ac_header in dmalloc.h ++ for ac_header in dmalloc.h + do : +- ac_fn_c_check_header_mongrel "$LINENO" "dmalloc.h" "ac_cv_header_dmalloc_h" "$ac_includes_default" +-if test "x$ac_cv_header_dmalloc_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_DMALLOC_H 1 +-_ACEOF ++ ac_fn_c_check_header_compile "$LINENO" "dmalloc.h" "ac_cv_header_dmalloc_h" "$ac_includes_default" ++if test "x$ac_cv_header_dmalloc_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_DMALLOC_H 1" >>confdefs.h + +-else ++else $as_nop + CPPFLAGS="$saved_CPPFLAGS"; AM_CPPFLAGS="$saved_AM_CPPFLAGS" unset HAVE_DMALLOC + fi + + done + +- + if test "x$HAVE_DMALLOC" = "xyes"; then + if test -n "$dmalloc_lib"; then + LDFLAGS="$LDFLAGS -L$dmalloc_lib" + AM_LDFLAGS="$AM_LDFLAGS -L$dmalloc_lib" + fi + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dmalloc_shutdown in -ldmalloc" >&5 +-$as_echo_n "checking for dmalloc_shutdown in -ldmalloc... " >&6; } +-if ${ac_cv_lib_dmalloc_dmalloc_shutdown+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dmalloc_shutdown in -ldmalloc" >&5 ++printf %s "checking for dmalloc_shutdown in -ldmalloc... " >&6; } ++if test ${ac_cv_lib_dmalloc_dmalloc_shutdown+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-ldmalloc $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -26827,9 +27830,6 @@ + /* 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 dmalloc_shutdown (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -26840,32 +27840,32 @@ + #endif + #endif + int +-main () ++main (void) + { + return dmalloc_shutdown (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_dmalloc_dmalloc_shutdown=yes +-else ++else $as_nop + ac_cv_lib_dmalloc_dmalloc_shutdown=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dmalloc_dmalloc_shutdown" >&5 +-$as_echo "$ac_cv_lib_dmalloc_dmalloc_shutdown" >&6; } +-if test "x$ac_cv_lib_dmalloc_dmalloc_shutdown" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBDMALLOC 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dmalloc_dmalloc_shutdown" >&5 ++printf "%s\n" "$ac_cv_lib_dmalloc_dmalloc_shutdown" >&6; } ++if test "x$ac_cv_lib_dmalloc_dmalloc_shutdown" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBDMALLOC 1" >>confdefs.h + + LIBS="-ldmalloc $LIBS" + +-else ++else $as_nop + LDFLAGS="$saved_LDFLAGS"; AM_LDFLAGS="$saved_AM_LDFLAGS"; unset HAVE_DMALLOC + fi + +@@ -26894,9 +27894,10 @@ + USE_FILTER_DEFLATE="no" + + # Check whether --with-zlib was given. +-if test "${with_zlib+set}" = set; then : ++if test ${with_zlib+y} ++then : + withval=$with_zlib; +-else ++else $as_nop + withval=yes + fi + +@@ -26904,26 +27905,25 @@ + case "X-$withval" in + X-yes) + HAVE_ZLIB="yes" +- for ac_header in zlib.h ++ for ac_header in zlib.h + do : +- ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" +-if test "x$ac_cv_header_zlib_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_ZLIB_H 1 +-_ACEOF ++ ac_fn_c_check_header_compile "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" ++if test "x$ac_cv_header_zlib_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_ZLIB_H 1" >>confdefs.h + HAVE_ZLIB_H="yes" +-else ++else $as_nop + unset HAVE_ZLIB + fi + + done +- + if test "x$HAVE_ZLIB" = "xyes" -a "x$HAVE_ZLIB_H" = "xyes"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compress2 in -lz" >&5 +-$as_echo_n "checking for compress2 in -lz... " >&6; } +-if ${ac_cv_lib_z_compress2+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for compress2 in -lz" >&5 ++printf %s "checking for compress2 in -lz... " >&6; } ++if test ${ac_cv_lib_z_compress2+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lz $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -26932,9 +27932,6 @@ + /* 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 compress2 (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -26945,32 +27942,32 @@ + #endif + #endif + int +-main () ++main (void) + { + return compress2 (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_z_compress2=yes +-else ++else $as_nop + ac_cv_lib_z_compress2=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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_compress2" >&5 +-$as_echo "$ac_cv_lib_z_compress2" >&6; } +-if test "x$ac_cv_lib_z_compress2" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBZ 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_compress2" >&5 ++printf "%s\n" "$ac_cv_lib_z_compress2" >&6; } ++if test "x$ac_cv_lib_z_compress2" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBZ 1" >>confdefs.h + + LIBS="-lz $LIBS" + +-else ++else $as_nop + unset HAVE_ZLIB + fi + +@@ -26981,7 +27978,8 @@ + fi + else + ac_fn_c_check_func "$LINENO" "compress2" "ac_cv_func_compress2" +-if test "x$ac_cv_func_compress2" = xyes; then : ++if test "x$ac_cv_func_compress2" = xyes ++then : + HAVE_COMPRESS2="yes" + fi + +@@ -26989,10 +27987,10 @@ + ;; + X-|X-no|X-none) + HAVE_ZLIB="no" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for zlib" >&5 +-$as_echo_n "checking for zlib... " >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: suppressed" >&5 +-$as_echo "suppressed" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for zlib" >&5 ++printf %s "checking for zlib... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: suppressed" >&5 ++printf "%s\n" "suppressed" >&6; } + ;; + *) + HAVE_ZLIB="yes" +@@ -27019,32 +28017,31 @@ + AM_CPPFLAGS="$AM_CPPFLAGS -I$zlib_inc" + fi + +- for ac_header in zlib.h ++ for ac_header in zlib.h + do : +- ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" +-if test "x$ac_cv_header_zlib_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_ZLIB_H 1 +-_ACEOF ++ ac_fn_c_check_header_compile "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" ++if test "x$ac_cv_header_zlib_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_ZLIB_H 1" >>confdefs.h + HAVE_ZLIB_H="yes" +-else ++else $as_nop + CPPFLAGS="$saved_CPPFLAGS"; AM_CPPFLAGS="$saved_AM_CPPFLAGS" unset HAVE_ZLIB + fi + + done + +- + if test -n "$zlib_lib"; then + LDFLAGS="$LDFLAGS -L$zlib_lib" + AM_LDFLAGS="$AM_LDFLAGS -L$zlib_lib" + fi + + if test "x$HAVE_ZLIB" = "xyes" -a "x$HAVE_ZLIB_H" = "xyes"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compress2 in -lz" >&5 +-$as_echo_n "checking for compress2 in -lz... " >&6; } +-if ${ac_cv_lib_z_compress2+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for compress2 in -lz" >&5 ++printf %s "checking for compress2 in -lz... " >&6; } ++if test ${ac_cv_lib_z_compress2+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lz $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -27053,9 +28050,6 @@ + /* 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 compress2 (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -27066,32 +28060,32 @@ + #endif + #endif + int +-main () ++main (void) + { + return compress2 (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_z_compress2=yes +-else ++else $as_nop + ac_cv_lib_z_compress2=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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_compress2" >&5 +-$as_echo "$ac_cv_lib_z_compress2" >&6; } +-if test "x$ac_cv_lib_z_compress2" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBZ 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_compress2" >&5 ++printf "%s\n" "$ac_cv_lib_z_compress2" >&6; } ++if test "x$ac_cv_lib_z_compress2" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBZ 1" >>confdefs.h + + LIBS="-lz $LIBS" + +-else ++else $as_nop + LDFLAGS="$saved_LDFLAGS"; AM_LDFLAGS="$saved_AM_LDFLAGS"; unset HAVE_ZLIB + fi + +@@ -27103,7 +28097,8 @@ + fi + else + ac_fn_c_check_func "$LINENO" "compress2" "ac_cv_func_compress2" +-if test "x$ac_cv_func_compress2" = xyes; then : ++if test "x$ac_cv_func_compress2" = xyes ++then : + HAVE_COMPRESS2="yes" + fi + +@@ -27113,7 +28108,7 @@ + + if test "x$HAVE_ZLIB" = "xyes" -a "x$HAVE_ZLIB_H" = "xyes" -a "x$HAVE_COMPRESS2" = "xyes"; then + +-$as_echo "#define HAVE_FILTER_DEFLATE 1" >>confdefs.h ++printf "%s\n" "#define HAVE_FILTER_DEFLATE 1" >>confdefs.h + + USE_FILTER_DEFLATE="yes" + +@@ -27134,9 +28129,10 @@ + USE_FILTER_SZIP="no" + + # Check whether --with-szlib was given. +-if test "${with_szlib+set}" = set; then : ++if test ${with_szlib+y} ++then : + withval=$with_szlib; +-else ++else $as_nop + withval=no + fi + +@@ -27144,26 +28140,25 @@ + case "X-$withval" in + X-yes) + HAVE_SZLIB="yes" +- for ac_header in szlib.h ++ for ac_header in szlib.h + do : +- ac_fn_c_check_header_mongrel "$LINENO" "szlib.h" "ac_cv_header_szlib_h" "$ac_includes_default" +-if test "x$ac_cv_header_szlib_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_SZLIB_H 1 +-_ACEOF ++ ac_fn_c_check_header_compile "$LINENO" "szlib.h" "ac_cv_header_szlib_h" "$ac_includes_default" ++if test "x$ac_cv_header_szlib_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SZLIB_H 1" >>confdefs.h + HAVE_SZLIB_H="yes" +-else ++else $as_nop + unset HAVE_SZLIB + fi + + done +- + if test "x$HAVE_SZLIB" = "xyes" -a "x$HAVE_SZLIB_H" = "xyes"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SZ_BufftoBuffCompress in -lsz" >&5 +-$as_echo_n "checking for SZ_BufftoBuffCompress in -lsz... " >&6; } +-if ${ac_cv_lib_sz_SZ_BufftoBuffCompress+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SZ_BufftoBuffCompress in -lsz" >&5 ++printf %s "checking for SZ_BufftoBuffCompress in -lsz... " >&6; } ++if test ${ac_cv_lib_sz_SZ_BufftoBuffCompress+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lsz $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -27172,9 +28167,6 @@ + /* 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 SZ_BufftoBuffCompress (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -27185,32 +28177,32 @@ + #endif + #endif + int +-main () ++main (void) + { + return SZ_BufftoBuffCompress (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_sz_SZ_BufftoBuffCompress=yes +-else ++else $as_nop + ac_cv_lib_sz_SZ_BufftoBuffCompress=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sz_SZ_BufftoBuffCompress" >&5 +-$as_echo "$ac_cv_lib_sz_SZ_BufftoBuffCompress" >&6; } +-if test "x$ac_cv_lib_sz_SZ_BufftoBuffCompress" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBSZ 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sz_SZ_BufftoBuffCompress" >&5 ++printf "%s\n" "$ac_cv_lib_sz_SZ_BufftoBuffCompress" >&6; } ++if test "x$ac_cv_lib_sz_SZ_BufftoBuffCompress" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBSZ 1" >>confdefs.h + + LIBS="-lsz $LIBS" + +-else ++else $as_nop + unset HAVE_SZLIB + fi + +@@ -27221,10 +28213,10 @@ + ;; + X-|X-no|X-none) + HAVE_SZLIB="no" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for szlib" >&5 +-$as_echo_n "checking for szlib... " >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: suppressed" >&5 +-$as_echo "suppressed" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for szlib" >&5 ++printf %s "checking for szlib... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: suppressed" >&5 ++printf "%s\n" "suppressed" >&6; } + ;; + *) + HAVE_SZLIB="yes" +@@ -27251,32 +28243,31 @@ + AM_CPPFLAGS="$AM_CPPFLAGS -I$szlib_inc" + fi + +- for ac_header in szlib.h ++ for ac_header in szlib.h + do : +- ac_fn_c_check_header_mongrel "$LINENO" "szlib.h" "ac_cv_header_szlib_h" "$ac_includes_default" +-if test "x$ac_cv_header_szlib_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_SZLIB_H 1 +-_ACEOF ++ ac_fn_c_check_header_compile "$LINENO" "szlib.h" "ac_cv_header_szlib_h" "$ac_includes_default" ++if test "x$ac_cv_header_szlib_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SZLIB_H 1" >>confdefs.h + HAVE_SZLIB_H="yes" +-else ++else $as_nop + CPPFLAGS="$saved_CPPFLAGS"; AM_CPPFLAGS="$saved_AM_CPPFLAGS" unset HAVE_SZLIB + fi + + done + +- + if test -n "$szlib_lib"; then + LDFLAGS="$LDFLAGS -L$szlib_lib" + AM_LDFLAGS="$AM_LDFLAGS -L$szlib_lib" + fi + + if test "x$HAVE_SZLIB" = "xyes" -a "x$HAVE_SZLIB_H" = "xyes"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SZ_BufftoBuffCompress in -lsz" >&5 +-$as_echo_n "checking for SZ_BufftoBuffCompress in -lsz... " >&6; } +-if ${ac_cv_lib_sz_SZ_BufftoBuffCompress+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SZ_BufftoBuffCompress in -lsz" >&5 ++printf %s "checking for SZ_BufftoBuffCompress in -lsz... " >&6; } ++if test ${ac_cv_lib_sz_SZ_BufftoBuffCompress+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lsz $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -27285,9 +28276,6 @@ + /* 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 SZ_BufftoBuffCompress (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -27298,32 +28286,32 @@ + #endif + #endif + int +-main () ++main (void) + { + return SZ_BufftoBuffCompress (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_sz_SZ_BufftoBuffCompress=yes +-else ++else $as_nop + ac_cv_lib_sz_SZ_BufftoBuffCompress=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sz_SZ_BufftoBuffCompress" >&5 +-$as_echo "$ac_cv_lib_sz_SZ_BufftoBuffCompress" >&6; } +-if test "x$ac_cv_lib_sz_SZ_BufftoBuffCompress" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBSZ 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sz_SZ_BufftoBuffCompress" >&5 ++printf "%s\n" "$ac_cv_lib_sz_SZ_BufftoBuffCompress" >&6; } ++if test "x$ac_cv_lib_sz_SZ_BufftoBuffCompress" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBSZ 1" >>confdefs.h + + LIBS="-lsz $LIBS" + +-else ++else $as_nop + LDFLAGS="$saved_LDFLAGS"; AM_LDFLAGS="$saved_AM_LDFLAGS"; unset HAVE_SZLIB + fi + +@@ -27337,8 +28325,8 @@ + + if test "x$HAVE_SZLIB" = "xyes" -a "x$HAVE_SZLIB_H" = "xyes"; then + ## SZLIB library is available. Check if it can encode +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for szlib encoder" >&5 +-$as_echo_n "checking for szlib encoder... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for szlib encoder" >&5 ++printf %s "checking for szlib encoder... " >&6; } + + ## Set LD_LIBRARY_PATH so encoder test can find the library and run. + ## Also add LL_PATH substitution to Makefiles so they can use the +@@ -27351,15 +28339,17 @@ + + LL_PATH="$LD_LIBRARY_PATH" + +- if ${hdf5_cv_szlib_can_encode+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if test "$cross_compiling" = yes; then : +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ if test ${hdf5_cv_szlib_can_encode+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test "$cross_compiling" = yes ++then : ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error $? "cannot run test program while cross compiling + See \`config.log' for more details" "$LINENO" 5; } +-else ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -27374,7 +28364,7 @@ + #endif + #endif + int +-main () ++main (void) + { + + /* SZ_encoder_enabled returns 1 if encoder is present */ +@@ -27388,9 +28378,10 @@ + } + + _ACEOF +-if ac_fn_c_try_run "$LINENO"; then : ++if ac_fn_c_try_run "$LINENO" ++then : + hdf5_cv_szlib_can_encode=yes +-else ++else $as_nop + hdf5_cv_szlib_can_encode=no + fi + rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ +@@ -27402,17 +28393,17 @@ + + + +-$as_echo "#define HAVE_FILTER_SZIP 1" >>confdefs.h ++printf "%s\n" "#define HAVE_FILTER_SZIP 1" >>confdefs.h + + USE_FILTER_SZIP="yes" + + if test ${hdf5_cv_szlib_can_encode} = "yes"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + fi + if test ${hdf5_cv_szlib_can_encode} = "no"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + ## Add "szip" to external filter list +@@ -27467,8 +28458,8 @@ + 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;} ;; ++ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( +@@ -27498,15 +28489,15 @@ + /^ac_cv_env_/b end + t clear + :clear +- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ ++ s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 ++printf "%s\n" "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else +@@ -27520,8 +28511,8 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 ++printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} + fi + fi + rm -f confcache +@@ -27535,10 +28526,11 @@ + ## Default is no thread-safety + THREADSAFE=no + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for thread safe support" >&5 +-$as_echo_n "checking for thread safe support... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for thread safe support" >&5 ++printf %s "checking for thread safe support... " >&6; } + # Check whether --enable-threadsafe was given. +-if test "${enable_threadsafe+set}" = set; then : ++if test ${enable_threadsafe+y} ++then : + enableval=$enable_threadsafe; THREADSAFE=$enableval + fi + +@@ -27586,24 +28578,24 @@ + + case "X-$THREADSAFE" in + X-|X-no) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + ;; + X-yes) + THREADSAFE=yes +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + ;; + *) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: error" >&5 +-$as_echo "error" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 ++printf "%s\n" "error" >&6; } + as_fn_error $? "\'$enableval\' is not a valid threadsafe type" "$LINENO" 5 + ;; + esac + + if test "X$THREADSAFE" = "Xyes"; then + +-$as_echo "#define HAVE_THREADSAFE 1" >>confdefs.h ++printf "%s\n" "#define HAVE_THREADSAFE 1" >>confdefs.h + + + ## ---------------------------------------------------------------------- +@@ -27619,35 +28611,35 @@ + HAVE_PTHREAD=yes + + # Check whether --with-pthread was given. +-if test "${with_pthread+set}" = set; then : ++if test ${with_pthread+y} ++then : + withval=$with_pthread; +-else ++else $as_nop + withval=check + fi + + + case "$withval" in + check | yes) +- for ac_header in pthread.h ++ for ac_header in pthread.h + do : +- ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" +-if test "x$ac_cv_header_pthread_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_PTHREAD_H 1 +-_ACEOF ++ ac_fn_c_check_header_compile "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" ++if test "x$ac_cv_header_pthread_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_PTHREAD_H 1" >>confdefs.h + +-else ++else $as_nop + unset HAVE_PTHREAD + fi + + done +- + if test "x$HAVE_PTHREAD" = "xyes"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_self in -lpthread" >&5 +-$as_echo_n "checking for pthread_self in -lpthread... " >&6; } +-if ${ac_cv_lib_pthread_pthread_self+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_self in -lpthread" >&5 ++printf %s "checking for pthread_self in -lpthread... " >&6; } ++if test ${ac_cv_lib_pthread_pthread_self+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lpthread $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -27656,9 +28648,6 @@ + /* 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_self (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -27669,32 +28658,32 @@ + #endif + #endif + int +-main () ++main (void) + { + return pthread_self (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_pthread_pthread_self=yes +-else ++else $as_nop + ac_cv_lib_pthread_pthread_self=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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_self" >&5 +-$as_echo "$ac_cv_lib_pthread_pthread_self" >&6; } +-if test "x$ac_cv_lib_pthread_pthread_self" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBPTHREAD 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_self" >&5 ++printf "%s\n" "$ac_cv_lib_pthread_pthread_self" >&6; } ++if test "x$ac_cv_lib_pthread_pthread_self" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBPTHREAD 1" >>confdefs.h + + LIBS="-lpthread $LIBS" + +-else ++else $as_nop + unset HAVE_PTHREAD + fi + +@@ -27722,35 +28711,31 @@ + saved_AM_CPPFLAGS="$AM_CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I$pthread_inc" + AM_CPPFLAGS="$AM_CPPFLAGS -I$pthread_inc" +- for ac_header in pthread.h ++ for ac_header in pthread.h + do : +- ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" +-if test "x$ac_cv_header_pthread_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_PTHREAD_H 1 +-_ACEOF ++ ac_fn_c_check_header_compile "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" ++if test "x$ac_cv_header_pthread_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_PTHREAD_H 1" >>confdefs.h + +-else ++else $as_nop + CPPFLAGS="$saved_CPPFLAGS"; AM_CPPFLAGS="$saved_AM_CPPFLAGS"; unset HAVE_PTHREAD + fi + + done +- + else +- for ac_header in pthread.h ++ for ac_header in pthread.h + do : +- ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" +-if test "x$ac_cv_header_pthread_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_PTHREAD_H 1 +-_ACEOF ++ ac_fn_c_check_header_compile "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" ++if test "x$ac_cv_header_pthread_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_PTHREAD_H 1" >>confdefs.h + +-else ++else $as_nop + unset HAVE_PTHREAD + fi + + done +- + fi + + if test "x$HAVE_PTHREAD" = "xyes"; then +@@ -27759,11 +28744,12 @@ + saved_AM_LDFLAGS="$AM_LDFLAGS" + LDFLAGS="$LDFLAGS -L$pthread_lib" + AM_LDFLAGS="$AM_LDFLAGS -L$pthread_lib" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_self in -lpthread" >&5 +-$as_echo_n "checking for pthread_self in -lpthread... " >&6; } +-if ${ac_cv_lib_pthread_pthread_self+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_self in -lpthread" >&5 ++printf %s "checking for pthread_self in -lpthread... " >&6; } ++if test ${ac_cv_lib_pthread_pthread_self+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lpthread $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -27772,9 +28758,6 @@ + /* 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_self (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -27785,41 +28768,42 @@ + #endif + #endif + int +-main () ++main (void) + { + return pthread_self (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_pthread_pthread_self=yes +-else ++else $as_nop + ac_cv_lib_pthread_pthread_self=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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_self" >&5 +-$as_echo "$ac_cv_lib_pthread_pthread_self" >&6; } +-if test "x$ac_cv_lib_pthread_pthread_self" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBPTHREAD 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_self" >&5 ++printf "%s\n" "$ac_cv_lib_pthread_pthread_self" >&6; } ++if test "x$ac_cv_lib_pthread_pthread_self" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBPTHREAD 1" >>confdefs.h + + LIBS="-lpthread $LIBS" + +-else ++else $as_nop + LDFLAGS="$saved_LDFLAGS"; AM_LDFLAGS="$saved_AM_LDFLAGS"; unset HAVE_PTHREAD + fi + + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_self in -lpthread" >&5 +-$as_echo_n "checking for pthread_self in -lpthread... " >&6; } +-if ${ac_cv_lib_pthread_pthread_self+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_self in -lpthread" >&5 ++printf %s "checking for pthread_self in -lpthread... " >&6; } ++if test ${ac_cv_lib_pthread_pthread_self+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lpthread $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -27828,9 +28812,6 @@ + /* 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_self (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -27841,32 +28822,32 @@ + #endif + #endif + int +-main () ++main (void) + { + return pthread_self (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_pthread_pthread_self=yes +-else ++else $as_nop + ac_cv_lib_pthread_pthread_self=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + 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_self" >&5 +-$as_echo "$ac_cv_lib_pthread_pthread_self" >&6; } +-if test "x$ac_cv_lib_pthread_pthread_self" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBPTHREAD 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_self" >&5 ++printf "%s\n" "$ac_cv_lib_pthread_pthread_self" >&6; } ++if test "x$ac_cv_lib_pthread_pthread_self" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBPTHREAD 1" >>confdefs.h + + LIBS="-lpthread $LIBS" + +-else ++else $as_nop + unset HAVE_PTHREAD + fi + +@@ -27886,14 +28867,16 @@ + ## + ## For cross-compiling, we've added a pessimistic 'no'. You can + ## hand-hack the config file if you know otherwise. +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking Pthreads supports system scope" >&5 +-$as_echo_n "checking Pthreads supports system scope... " >&6; } +- if ${hdf5_cv_system_scope_threads+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if test "$cross_compiling" = yes; then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Pthreads supports system scope" >&5 ++printf %s "checking Pthreads supports system scope... " >&6; } ++ if test ${hdf5_cv_system_scope_threads+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test "$cross_compiling" = yes ++then : + hdf5_cv_system_scope_threads=no +-else ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -27911,7 +28894,7 @@ + #endif + #endif + int +-main () ++main (void) + { + + pthread_attr_t attribute; +@@ -27926,9 +28909,10 @@ + } + + _ACEOF +-if ac_fn_c_try_run "$LINENO"; then : ++if ac_fn_c_try_run "$LINENO" ++then : + hdf5_cv_system_scope_threads=yes +-else ++else $as_nop + hdf5_cv_system_scope_threads=no + fi + rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ +@@ -27940,15 +28924,15 @@ + + if test ${hdf5_cv_system_scope_threads} = "yes"; then + +-$as_echo "#define SYSTEM_SCOPE_THREADS 1" >>confdefs.h ++printf "%s\n" "#define SYSTEM_SCOPE_THREADS 1" >>confdefs.h + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: Always 'no' if cross-compiling. Edit the config file if your platform supports pthread_attr_setscope(&attribute, PTHREAD_SCOPE_SYSTEM)." >&5 +-$as_echo "$as_me: Always 'no' if cross-compiling. Edit the config file if your platform supports pthread_attr_setscope(&attribute, PTHREAD_SCOPE_SYSTEM)." >&6;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Always 'no' if cross-compiling. Edit the config file if your platform supports pthread_attr_setscope(&attribute, PTHREAD_SCOPE_SYSTEM)." >&5 ++printf "%s\n" "$as_me: Always 'no' if cross-compiling. Edit the config file if your platform supports pthread_attr_setscope(&attribute, PTHREAD_SCOPE_SYSTEM)." >&6;} + fi + fi + +@@ -27956,23 +28940,119 @@ + ## Check for MONOTONIC_TIMER support (used in clock_gettime). This has + ## to be done after any POSIX defines to ensure that the test gets + ## the correct POSIX level on linux. +-ac_fn_c_check_decl "$LINENO" "CLOCK_MONOTONIC" "ac_cv_have_decl_CLOCK_MONOTONIC" "#include +-" +-if test "x$ac_cv_have_decl_CLOCK_MONOTONIC" = xyes; then : ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC options needed to detect all undeclared functions" >&5 ++printf %s "checking for $CC options needed to detect all undeclared functions... " >&6; } ++if test ${ac_cv_c_undeclared_builtin_options+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_save_CFLAGS=$CFLAGS ++ ac_cv_c_undeclared_builtin_options='cannot detect' ++ for ac_arg in '' -fno-builtin; do ++ CFLAGS="$ac_save_CFLAGS $ac_arg" ++ # This test program should *not* compile successfully. ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++#ifdef FC_DUMMY_MAIN ++#ifndef FC_DUMMY_MAIN_EQ_F77 ++# ifdef __cplusplus ++ extern "C" ++# endif ++ int FC_DUMMY_MAIN() { return 1; } ++#endif ++#endif ++int ++main (void) ++{ ++(void) strchr; ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO" ++then : ++ ++else $as_nop ++ # This test program should compile successfully. ++ # No library function is consistently available on ++ # freestanding implementations, so test against a dummy ++ # declaration. Include always-available headers on the ++ # off chance that they somehow elicit warnings. ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++#include ++#include ++#include ++#include ++extern void ac_decl (int, char *); ++ ++#ifdef FC_DUMMY_MAIN ++#ifndef FC_DUMMY_MAIN_EQ_F77 ++# ifdef __cplusplus ++ extern "C" ++# endif ++ int FC_DUMMY_MAIN() { return 1; } ++#endif ++#endif ++int ++main (void) ++{ ++(void) ac_decl (0, (char *) 0); ++ (void) ac_decl; ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO" ++then : ++ if test x"$ac_arg" = x ++then : ++ ac_cv_c_undeclared_builtin_options='none needed' ++else $as_nop ++ ac_cv_c_undeclared_builtin_options=$ac_arg ++fi ++ break ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++ done ++ CFLAGS=$ac_save_CFLAGS ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_undeclared_builtin_options" >&5 ++printf "%s\n" "$ac_cv_c_undeclared_builtin_options" >&6; } ++ case $ac_cv_c_undeclared_builtin_options in #( ++ 'cannot detect') : ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} ++as_fn_error $? "cannot make $CC report undeclared builtins ++See \`config.log' for more details" "$LINENO" 5; } ;; #( ++ 'none needed') : ++ ac_c_undeclared_builtin_options='' ;; #( ++ *) : ++ ac_c_undeclared_builtin_options=$ac_cv_c_undeclared_builtin_options ;; ++esac ++ ++ac_fn_check_decl "$LINENO" "CLOCK_MONOTONIC" "ac_cv_have_decl_CLOCK_MONOTONIC" "#include ++" "$ac_c_undeclared_builtin_options" "CFLAGS" ++if test "x$ac_cv_have_decl_CLOCK_MONOTONIC" = xyes ++then : + have_clock_monotonic="yes" +-else ++else $as_nop + have_clock_monotonic="no" + fi + +- + ## ---------------------------------------------------------------------- + ## How does one figure out the local time zone? Anyone know of a + ## Posix way to do this? + ## + + ## First check if `struct tm' has a `tm_gmtoff' member. +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tm_gmtoff in struct tm" >&5 +-$as_echo_n "checking for tm_gmtoff in struct tm... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for tm_gmtoff in struct tm" >&5 ++printf %s "checking for tm_gmtoff in struct tm... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -27988,33 +29068,34 @@ + #endif + #endif + int +-main () ++main (void) + { + struct tm tm; tm.tm_gmtoff=0; + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-$as_echo "#define HAVE_TM_GMTOFF 1" >>confdefs.h ++printf "%s\n" "#define HAVE_TM_GMTOFF 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + ## Check whether the global variable `timezone' is defined. +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for global timezone variable" >&5 +-$as_echo_n "checking for global timezone variable... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for global timezone variable" >&5 ++printf %s "checking for global timezone variable... " >&6; } + + case "`uname`" in + CYGWIN*) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled in CYGWIN" >&5 +-$as_echo "disabled in CYGWIN" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: disabled in CYGWIN" >&5 ++printf "%s\n" "disabled in CYGWIN" >&6; } + ;; + *) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -28031,24 +29112,25 @@ + #endif + #endif + int +-main () ++main (void) + { + timezone=0; + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + +-$as_echo "#define HAVE_TIMEZONE 1" >>confdefs.h ++printf "%s\n" "#define HAVE_TIMEZONE 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + ;; + esac +@@ -28057,8 +29139,8 @@ + ## ---------------------------------------------------------------------- + ## Does the struct stat have the st_blocks field? This field is not Posix. + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for st_blocks in struct stat" >&5 +-$as_echo_n "checking for st_blocks in struct stat... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for st_blocks in struct stat" >&5 ++printf %s "checking for st_blocks in struct stat... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -28071,7 +29153,7 @@ + #endif + #endif + int +-main () ++main (void) + { + + ; +@@ -28079,66 +29161,70 @@ + }[ + #include ],[struct stat sb; sb.st_blocks=0;]) + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-$as_echo "#define HAVE_STAT_ST_BLOCKS 1" >>confdefs.h ++printf "%s\n" "#define HAVE_STAT_ST_BLOCKS 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + ## ---------------------------------------------------------------------- + ## How do we figure out the width of a tty in characters? + ## +-for ac_func in _getvideoconfig gettextinfo +-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 ++ac_fn_c_check_func "$LINENO" "_getvideoconfig" "ac_cv_func__getvideoconfig" ++if test "x$ac_cv_func__getvideoconfig" = xyes ++then : ++ printf "%s\n" "#define HAVE__GETVIDEOCONFIG 1" >>confdefs.h + + fi +-done ++ac_fn_c_check_func "$LINENO" "gettextinfo" "ac_cv_func_gettextinfo" ++if test "x$ac_cv_func_gettextinfo" = xyes ++then : ++ printf "%s\n" "#define HAVE_GETTEXTINFO 1" >>confdefs.h + ++fi ++ + case "`uname`" in + CYGWIN*) + ;; + *) +- for ac_func in GetConsoleScreenBufferInfo getpwuid +-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 ++ ac_fn_c_check_func "$LINENO" "GetConsoleScreenBufferInfo" "ac_cv_func_GetConsoleScreenBufferInfo" ++if test "x$ac_cv_func_GetConsoleScreenBufferInfo" = xyes ++then : ++ printf "%s\n" "#define HAVE_GETCONSOLESCREENBUFFERINFO 1" >>confdefs.h + + fi +-done ++ac_fn_c_check_func "$LINENO" "getpwuid" "ac_cv_func_getpwuid" ++if test "x$ac_cv_func_getpwuid" = xyes ++then : ++ printf "%s\n" "#define HAVE_GETPWUID 1" >>confdefs.h + ++fi ++ + ;; + esac +-for ac_func in _scrsize ioctl +-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 ++ac_fn_c_check_func "$LINENO" "_scrsize" "ac_cv_func__scrsize" ++if test "x$ac_cv_func__scrsize" = xyes ++then : ++ printf "%s\n" "#define HAVE__SCRSIZE 1" >>confdefs.h + + fi +-done ++ac_fn_c_check_func "$LINENO" "ioctl" "ac_cv_func_ioctl" ++if test "x$ac_cv_func_ioctl" = xyes ++then : ++ printf "%s\n" "#define HAVE_IOCTL 1" >>confdefs.h + ++fi + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct videoconfig" >&5 +-$as_echo_n "checking for struct videoconfig... " >&6; } ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct videoconfig" >&5 ++printf %s "checking for struct videoconfig... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -28151,27 +29237,28 @@ + #endif + #endif + int +-main () ++main (void) + { + struct videoconfig w; w.numtextcols=0; + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-$as_echo "#define HAVE_STRUCT_VIDEOCONFIG 1" >>confdefs.h ++printf "%s\n" "#define HAVE_STRUCT_VIDEOCONFIG 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct text_info" >&5 +-$as_echo_n "checking for struct text_info... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct text_info" >&5 ++printf %s "checking for struct text_info... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -28184,27 +29271,28 @@ + #endif + #endif + int +-main () ++main (void) + { + struct text_info w; w.screenwidth=0; + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-$as_echo "#define HAVE_STRUCT_TEXT_INFO 1" >>confdefs.h ++printf "%s\n" "#define HAVE_STRUCT_TEXT_INFO 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for TIOCGWINSZ" >&5 +-$as_echo_n "checking for TIOCGWINSZ... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for TIOCGWINSZ" >&5 ++printf %s "checking for TIOCGWINSZ... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -28219,27 +29307,28 @@ + #endif + #endif + int +-main () ++main (void) + { + int w=TIOCGWINSZ; + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-$as_echo "#define HAVE_TIOCGWINSZ 1" >>confdefs.h ++printf "%s\n" "#define HAVE_TIOCGWINSZ 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for TIOCGETD" >&5 +-$as_echo_n "checking for TIOCGETD... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for TIOCGETD" >&5 ++printf %s "checking for TIOCGETD... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -28254,24 +29343,25 @@ + #endif + #endif + int +-main () ++main (void) + { + int w=TIOCGETD; + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-$as_echo "#define HAVE_TIOCGETD 1" >>confdefs.h ++printf "%s\n" "#define HAVE_TIOCGETD 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + + ## ---------------------------------------------------------------------- +@@ -28279,11 +29369,12 @@ + ## + ## NOTE: clock_gettime may require linking to the rt or posix4 library + ## so we'll search for it before calling AC_CHECK_FUNCS. +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5 +-$as_echo_n "checking for library containing clock_gettime... " >&6; } +-if ${ac_cv_search_clock_gettime+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5 ++printf %s "checking for library containing clock_gettime... " >&6; } ++if test ${ac_cv_search_clock_gettime+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_func_search_save_LIBS=$LIBS + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +@@ -28291,9 +29382,6 @@ + /* 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 (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -28304,150 +29392,302 @@ + #endif + #endif + int +-main () ++main (void) + { + return clock_gettime (); + ; + return 0; + } + _ACEOF +-for ac_lib in '' rt posix4; do ++for ac_lib in '' 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 : ++ if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_search_clock_gettime=$ac_res + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext +- if ${ac_cv_search_clock_gettime+:} false; then : ++ if test ${ac_cv_search_clock_gettime+y} ++then : + break + fi + done +-if ${ac_cv_search_clock_gettime+:} false; then : ++if test ${ac_cv_search_clock_gettime+y} ++then : + +-else ++else $as_nop + ac_cv_search_clock_gettime=no + fi + rm conftest.$ac_ext + LIBS=$ac_func_search_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5 +-$as_echo "$ac_cv_search_clock_gettime" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5 ++printf "%s\n" "$ac_cv_search_clock_gettime" >&6; } + ac_res=$ac_cv_search_clock_gettime +-if test "$ac_res" != no; then : ++if test "$ac_res" != no ++then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + fi + +-for ac_func in alarm clock_gettime difftime fcntl flock fork frexpf +-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 ++ac_fn_c_check_func "$LINENO" "alarm" "ac_cv_func_alarm" ++if test "x$ac_cv_func_alarm" = xyes ++then : ++ printf "%s\n" "#define HAVE_ALARM 1" >>confdefs.h + + fi +-done ++ac_fn_c_check_func "$LINENO" "clock_gettime" "ac_cv_func_clock_gettime" ++if test "x$ac_cv_func_clock_gettime" = xyes ++then : ++ printf "%s\n" "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h + +-for ac_func in frexpl gethostname getrusage gettimeofday +-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 ++ac_fn_c_check_func "$LINENO" "difftime" "ac_cv_func_difftime" ++if test "x$ac_cv_func_difftime" = xyes ++then : ++ printf "%s\n" "#define HAVE_DIFFTIME 1" >>confdefs.h + + fi +-done ++ac_fn_c_check_func "$LINENO" "fcntl" "ac_cv_func_fcntl" ++if test "x$ac_cv_func_fcntl" = xyes ++then : ++ printf "%s\n" "#define HAVE_FCNTL 1" >>confdefs.h + +-for ac_func in lstat rand_r random setsysinfo +-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 ++ac_fn_c_check_func "$LINENO" "flock" "ac_cv_func_flock" ++if test "x$ac_cv_func_flock" = xyes ++then : ++ printf "%s\n" "#define HAVE_FLOCK 1" >>confdefs.h + + fi +-done ++ac_fn_c_check_func "$LINENO" "fork" "ac_cv_func_fork" ++if test "x$ac_cv_func_fork" = xyes ++then : ++ printf "%s\n" "#define HAVE_FORK 1" >>confdefs.h + +-for ac_func in signal longjmp setjmp siglongjmp sigsetjmp sigprocmask +-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 ++ac_fn_c_check_func "$LINENO" "frexpf" "ac_cv_func_frexpf" ++if test "x$ac_cv_func_frexpf" = xyes ++then : ++ printf "%s\n" "#define HAVE_FREXPF 1" >>confdefs.h + + fi +-done + +-for ac_func in snprintf srandom strdup symlink system +-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 ++ac_fn_c_check_func "$LINENO" "frexpl" "ac_cv_func_frexpl" ++if test "x$ac_cv_func_frexpl" = xyes ++then : ++ printf "%s\n" "#define HAVE_FREXPL 1" >>confdefs.h + + fi +-done ++ac_fn_c_check_func "$LINENO" "gethostname" "ac_cv_func_gethostname" ++if test "x$ac_cv_func_gethostname" = xyes ++then : ++ printf "%s\n" "#define HAVE_GETHOSTNAME 1" >>confdefs.h + +-for ac_func in strtoll strtoull +-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 ++ac_fn_c_check_func "$LINENO" "getrusage" "ac_cv_func_getrusage" ++if test "x$ac_cv_func_getrusage" = xyes ++then : ++ printf "%s\n" "#define HAVE_GETRUSAGE 1" >>confdefs.h + + fi +-done ++ac_fn_c_check_func "$LINENO" "gettimeofday" "ac_cv_func_gettimeofday" ++if test "x$ac_cv_func_gettimeofday" = xyes ++then : ++ printf "%s\n" "#define HAVE_GETTIMEOFDAY 1" >>confdefs.h + +-for ac_func in tmpfile asprintf vasprintf vsnprintf waitpid +-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 + ++ac_fn_c_check_func "$LINENO" "lstat" "ac_cv_func_lstat" ++if test "x$ac_cv_func_lstat" = xyes ++then : ++ printf "%s\n" "#define HAVE_LSTAT 1" >>confdefs.h ++ + fi +-done ++ac_fn_c_check_func "$LINENO" "rand_r" "ac_cv_func_rand_r" ++if test "x$ac_cv_func_rand_r" = xyes ++then : ++ printf "%s\n" "#define HAVE_RAND_R 1" >>confdefs.h + +-for ac_func in roundf lroundf llroundf round lround llround +-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 ++ac_fn_c_check_func "$LINENO" "random" "ac_cv_func_random" ++if test "x$ac_cv_func_random" = xyes ++then : ++ printf "%s\n" "#define HAVE_RANDOM 1" >>confdefs.h + + fi +-done ++ac_fn_c_check_func "$LINENO" "setsysinfo" "ac_cv_func_setsysinfo" ++if test "x$ac_cv_func_setsysinfo" = xyes ++then : ++ printf "%s\n" "#define HAVE_SETSYSINFO 1" >>confdefs.h + ++fi + ++ac_fn_c_check_func "$LINENO" "signal" "ac_cv_func_signal" ++if test "x$ac_cv_func_signal" = xyes ++then : ++ printf "%s\n" "#define HAVE_SIGNAL 1" >>confdefs.h ++ ++fi ++ac_fn_c_check_func "$LINENO" "longjmp" "ac_cv_func_longjmp" ++if test "x$ac_cv_func_longjmp" = xyes ++then : ++ printf "%s\n" "#define HAVE_LONGJMP 1" >>confdefs.h ++ ++fi ++ac_fn_c_check_func "$LINENO" "setjmp" "ac_cv_func_setjmp" ++if test "x$ac_cv_func_setjmp" = xyes ++then : ++ printf "%s\n" "#define HAVE_SETJMP 1" >>confdefs.h ++ ++fi ++ac_fn_c_check_func "$LINENO" "siglongjmp" "ac_cv_func_siglongjmp" ++if test "x$ac_cv_func_siglongjmp" = xyes ++then : ++ printf "%s\n" "#define HAVE_SIGLONGJMP 1" >>confdefs.h ++ ++fi ++ac_fn_c_check_func "$LINENO" "sigsetjmp" "ac_cv_func_sigsetjmp" ++if test "x$ac_cv_func_sigsetjmp" = xyes ++then : ++ printf "%s\n" "#define HAVE_SIGSETJMP 1" >>confdefs.h ++ ++fi ++ac_fn_c_check_func "$LINENO" "sigprocmask" "ac_cv_func_sigprocmask" ++if test "x$ac_cv_func_sigprocmask" = xyes ++then : ++ printf "%s\n" "#define HAVE_SIGPROCMASK 1" >>confdefs.h ++ ++fi ++ ++ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf" ++if test "x$ac_cv_func_snprintf" = xyes ++then : ++ printf "%s\n" "#define HAVE_SNPRINTF 1" >>confdefs.h ++ ++fi ++ac_fn_c_check_func "$LINENO" "srandom" "ac_cv_func_srandom" ++if test "x$ac_cv_func_srandom" = xyes ++then : ++ printf "%s\n" "#define HAVE_SRANDOM 1" >>confdefs.h ++ ++fi ++ac_fn_c_check_func "$LINENO" "strdup" "ac_cv_func_strdup" ++if test "x$ac_cv_func_strdup" = xyes ++then : ++ printf "%s\n" "#define HAVE_STRDUP 1" >>confdefs.h ++ ++fi ++ac_fn_c_check_func "$LINENO" "symlink" "ac_cv_func_symlink" ++if test "x$ac_cv_func_symlink" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYMLINK 1" >>confdefs.h ++ ++fi ++ac_fn_c_check_func "$LINENO" "system" "ac_cv_func_system" ++if test "x$ac_cv_func_system" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYSTEM 1" >>confdefs.h ++ ++fi ++ ++ac_fn_c_check_func "$LINENO" "strtoll" "ac_cv_func_strtoll" ++if test "x$ac_cv_func_strtoll" = xyes ++then : ++ printf "%s\n" "#define HAVE_STRTOLL 1" >>confdefs.h ++ ++fi ++ac_fn_c_check_func "$LINENO" "strtoull" "ac_cv_func_strtoull" ++if test "x$ac_cv_func_strtoull" = xyes ++then : ++ printf "%s\n" "#define HAVE_STRTOULL 1" >>confdefs.h ++ ++fi ++ ++ac_fn_c_check_func "$LINENO" "tmpfile" "ac_cv_func_tmpfile" ++if test "x$ac_cv_func_tmpfile" = xyes ++then : ++ printf "%s\n" "#define HAVE_TMPFILE 1" >>confdefs.h ++ ++fi ++ac_fn_c_check_func "$LINENO" "asprintf" "ac_cv_func_asprintf" ++if test "x$ac_cv_func_asprintf" = xyes ++then : ++ printf "%s\n" "#define HAVE_ASPRINTF 1" >>confdefs.h ++ ++fi ++ac_fn_c_check_func "$LINENO" "vasprintf" "ac_cv_func_vasprintf" ++if test "x$ac_cv_func_vasprintf" = xyes ++then : ++ printf "%s\n" "#define HAVE_VASPRINTF 1" >>confdefs.h ++ ++fi ++ac_fn_c_check_func "$LINENO" "vsnprintf" "ac_cv_func_vsnprintf" ++if test "x$ac_cv_func_vsnprintf" = xyes ++then : ++ printf "%s\n" "#define HAVE_VSNPRINTF 1" >>confdefs.h ++ ++fi ++ac_fn_c_check_func "$LINENO" "waitpid" "ac_cv_func_waitpid" ++if test "x$ac_cv_func_waitpid" = xyes ++then : ++ printf "%s\n" "#define HAVE_WAITPID 1" >>confdefs.h ++ ++fi ++ ++ac_fn_c_check_func "$LINENO" "roundf" "ac_cv_func_roundf" ++if test "x$ac_cv_func_roundf" = xyes ++then : ++ printf "%s\n" "#define HAVE_ROUNDF 1" >>confdefs.h ++ ++fi ++ac_fn_c_check_func "$LINENO" "lroundf" "ac_cv_func_lroundf" ++if test "x$ac_cv_func_lroundf" = xyes ++then : ++ printf "%s\n" "#define HAVE_LROUNDF 1" >>confdefs.h ++ ++fi ++ac_fn_c_check_func "$LINENO" "llroundf" "ac_cv_func_llroundf" ++if test "x$ac_cv_func_llroundf" = xyes ++then : ++ printf "%s\n" "#define HAVE_LLROUNDF 1" >>confdefs.h ++ ++fi ++ac_fn_c_check_func "$LINENO" "round" "ac_cv_func_round" ++if test "x$ac_cv_func_round" = xyes ++then : ++ printf "%s\n" "#define HAVE_ROUND 1" >>confdefs.h ++ ++fi ++ac_fn_c_check_func "$LINENO" "lround" "ac_cv_func_lround" ++if test "x$ac_cv_func_lround" = xyes ++then : ++ printf "%s\n" "#define HAVE_LROUND 1" >>confdefs.h ++ ++fi ++ac_fn_c_check_func "$LINENO" "llround" "ac_cv_func_llround" ++if test "x$ac_cv_func_llround" = xyes ++then : ++ printf "%s\n" "#define HAVE_LLROUND 1" >>confdefs.h ++ ++fi ++ ++ + ## ---------------------------------------------------------------------- + ## Check compiler characteristics + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 +-$as_echo_n "checking for an ANSI C-conforming const... " >&6; } +-if ${ac_cv_c_const+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 ++printf %s "checking for an ANSI C-conforming const... " >&6; } ++if test ${ac_cv_c_const+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -28460,7 +29700,7 @@ + #endif + #endif + int +-main () ++main (void) + { + + #ifndef __cplusplus +@@ -28473,7 +29713,7 @@ + /* 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. ++ /* IBM 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 */ +@@ -28501,7 +29741,7 @@ + iptr p = 0; + ++p; + } +- { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying ++ { /* IBM 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; +@@ -28517,78 +29757,82 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + ac_cv_c_const=yes +-else ++else $as_nop + ac_cv_c_const=no + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 +-$as_echo "$ac_cv_c_const" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 ++printf "%s\n" "$ac_cv_c_const" >&6; } + if test $ac_cv_c_const = no; then + +-$as_echo "#define const /**/" >>confdefs.h ++printf "%s\n" "#define const /**/" >>confdefs.h + + fi + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the compiler understands __inline__" >&5 +-$as_echo_n "checking if the compiler understands __inline__... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the compiler understands __inline__" >&5 ++printf %s "checking if the compiler understands __inline__... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + static __inline__ void f(void){return;}; + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-$as_echo "#define HAVE___INLINE__ 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; } ++printf "%s\n" "#define HAVE___INLINE__ 1" >>confdefs.h ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the compiler understands __inline" >&5 +-$as_echo_n "checking if the compiler understands __inline... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the compiler understands __inline" >&5 ++printf %s "checking if the compiler understands __inline... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + static __inline void f(void){return;}; + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-$as_echo "#define HAVE___INLINE 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; } ++printf "%s\n" "#define HAVE___INLINE 1" >>confdefs.h ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the compiler understands inline" >&5 +-$as_echo_n "checking if the compiler understands inline... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the compiler understands inline" >&5 ++printf %s "checking if the compiler understands inline... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + static inline void f(void){return;}; + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-$as_echo "#define HAVE_INLINE 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; } ++printf "%s\n" "#define HAVE_INLINE 1" >>confdefs.h ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__ extension" >&5 +-$as_echo_n "checking for __attribute__ extension... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__ extension" >&5 ++printf %s "checking for __attribute__ extension... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -28601,27 +29845,28 @@ + #endif + #endif + int +-main () ++main (void) + { + int __attribute__((unused)) x + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-$as_echo "#define HAVE_ATTRIBUTE 1" >>confdefs.h ++printf "%s\n" "#define HAVE_ATTRIBUTE 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __func__ extension" >&5 +-$as_echo_n "checking for __func__ extension... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __func__ extension" >&5 ++printf %s "checking for __func__ extension... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -28634,26 +29879,27 @@ + #endif + #endif + int +-main () ++main (void) + { + const char *fname = __func__; + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-$as_echo "#define HAVE_C99_FUNC 1" >>confdefs.h ++printf "%s\n" "#define HAVE_C99_FUNC 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __FUNCTION__ extension" >&5 +-$as_echo_n "checking for __FUNCTION__ extension... " >&6; } ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __FUNCTION__ extension" >&5 ++printf %s "checking for __FUNCTION__ extension... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -28666,26 +29912,27 @@ + #endif + #endif + int +-main () ++main (void) + { + + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-$as_echo "#define HAVE_FUNCTION 1" >>confdefs.h ++printf "%s\n" "#define HAVE_FUNCTION 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C99 designated initialization support" >&5 +-$as_echo_n "checking for C99 designated initialization support... " >&6; } ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C99 designated initialization support" >&5 ++printf %s "checking for C99 designated initialization support... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -28698,7 +29945,7 @@ + #endif + #endif + int +-main () ++main (void) + { + + typedef struct { +@@ -28713,34 +29960,37 @@ + return 0; + } + _ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : ++if ac_fn_c_try_compile "$LINENO" ++then : + +-$as_echo "#define HAVE_C99_DESIGNATED_INITIALIZER 1" >>confdefs.h ++printf "%s\n" "#define HAVE_C99_DESIGNATED_INITIALIZER 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + ## ---------------------------------------------------------------------- + ## Try to figure out how to print `long long'. Some machines use `%lld' + ## and others use `%qd'. There may be more! The final `l' is a + ## default in case none of the others work. + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print long long" >&5 +-$as_echo_n "checking how to print long long... " >&6; } +-if ${hdf5_cv_printf_ll+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to print long long" >&5 ++printf %s "checking how to print long long... " >&6; } ++if test ${hdf5_cv_printf_ll+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + + + for hdf5_cv_printf_ll in l ll L q unknown; do +- if test "$cross_compiling" = yes; then : ++ if test "$cross_compiling" = yes ++then : + continue +-else ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -28757,7 +30007,7 @@ + #endif + #endif + int +-main () ++main (void) + { + + char *s = malloc(128); +@@ -28770,7 +30020,8 @@ + } + + _ACEOF +-if ac_fn_c_try_run "$LINENO"; then : ++if ac_fn_c_try_run "$LINENO" ++then : + break + fi + rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ +@@ -28781,12 +30032,10 @@ + fi + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: %${hdf5_cv_printf_ll}d and %${hdf5_cv_printf_ll}u" >&5 +-$as_echo "%${hdf5_cv_printf_ll}d and %${hdf5_cv_printf_ll}u" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: %${hdf5_cv_printf_ll}d and %${hdf5_cv_printf_ll}u" >&5 ++printf "%s\n" "%${hdf5_cv_printf_ll}d and %${hdf5_cv_printf_ll}u" >&6; } + +-cat >>confdefs.h <<_ACEOF +-#define PRINTF_LL_WIDTH "$hdf5_cv_printf_ll" +-_ACEOF ++printf "%s\n" "#define PRINTF_LL_WIDTH \"$hdf5_cv_printf_ll\"" >>confdefs.h + + + ## ---------------------------------------------------------------------- +@@ -28795,13 +30044,15 @@ + ## around to help people migrate to 1.10.x and newer versions. + ## + # Check whether --enable-debug was given. +-if test "${enable_debug+set}" = set; then : ++if test ${enable_debug+y} ++then : + enableval=$enable_debug; as_fn_error $? "--enable-debug is no longer supported, use --enable-build-mode=debug instead." "$LINENO" 5 + fi + + + # Check whether --enable-production was given. +-if test "${enable_production+set}" = set; then : ++if test ${enable_production+y} ++then : + enableval=$enable_production; as_fn_error $? "--enable-production is no longer supported, use --enable-build-mode=production instead." "$LINENO" 5 + fi + +@@ -28810,10 +30061,11 @@ + ## ---------------------------------------------------------------------- + ## Check if the compiler should include symbols + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking enable debugging symbols" >&5 +-$as_echo_n "checking enable debugging symbols... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking enable debugging symbols" >&5 ++printf %s "checking enable debugging symbols... " >&6; } + # Check whether --enable-symbols was given. +-if test "${enable_symbols+set}" = set; then : ++if test ${enable_symbols+y} ++then : + enableval=$enable_symbols; SYMBOLS=$enableval + fi + +@@ -28836,33 +30088,34 @@ + H5_CFLAGS="$H5_CFLAGS $SYMBOLS_CFLAGS" + H5_CXXFLAGS="$H5_CXXFLAGS $SYMBOLS_CXXFLAGS" + H5_FCFLAGS="$H5_FCFLAGS $SYMBOLS_FCFLAGS" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + ;; + X-no) + H5_CFLAGS="$H5_CFLAGS $NO_SYMBOLS_CFLAGS" + H5_CXXFLAGS="$H5_CXXFLAGS $NO_SYMBOLS_CXXFLAGS" + H5_FCFLAGS="$H5_FCFLAGS $NO_SYMBOLS_FCFLAGS" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + ;; + *) + H5_CFLAGS="$H5_CFLAGS $SYMBOLS" + H5_CXXFLAGS="$H5_CXXFLAGS $SYMBOLS" + H5_FCFLAGS="$H5_FCFLAGS $SYMBOLS" + SYMBOLS="custom ($SYMBOLS)" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SYMBOLS" >&5 +-$as_echo "$SYMBOLS" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SYMBOLS" >&5 ++printf "%s\n" "$SYMBOLS" >&6; } + ;; + esac + + ## ---------------------------------------------------------------------- + ## Check if the assert macro should be enabled + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking enable asserts" >&5 +-$as_echo_n "checking enable asserts... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking enable asserts" >&5 ++printf %s "checking enable asserts... " >&6; } + # Check whether --enable-asserts was given. +-if test "${enable_asserts+set}" = set; then : ++if test ${enable_asserts+y} ++then : + enableval=$enable_asserts; ASSERTS=$enableval + fi + +@@ -28883,13 +30136,13 @@ + case "X-$ASSERTS" in + X-yes) + H5_CPPFLAGS="$H5_CPPFLAGS -UNDEBUG" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + ;; + X-no) + H5_CPPFLAGS="$H5_CPPFLAGS -DNDEBUG" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + ;; + *) + as_fn_error $? "Unrecognized value: $ASSERTS" "$LINENO" 5 +@@ -28904,10 +30157,11 @@ + ## Note that developers don't need to build with these regularly. They + ## are just handy to check once in a while (before releases, etc.). + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking enable developer warnings" >&5 +-$as_echo_n "checking enable developer warnings... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking enable developer warnings" >&5 ++printf %s "checking enable developer warnings... " >&6; } + # Check whether --enable-developer-warnings was given. +-if test "${enable_developer_warnings+set}" = set; then : ++if test ${enable_developer_warnings+y} ++then : + enableval=$enable_developer_warnings; DEV_WARNINGS=$enableval + fi + +@@ -28924,13 +30178,13 @@ + case "X-$DEV_WARNINGS" in + X-yes) + H5_CFLAGS="$H5_CFLAGS $DEVELOPER_WARNING_CFLAGS" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + ;; + X-no) + H5_CFLAGS="$H5_CFLAGS $NO_DEVELOPER_WARNING_CFLAGS" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + ;; + *) + as_fn_error $? "Unrecognized value: $DEV_WARNINGS" "$LINENO" 5 +@@ -28940,10 +30194,11 @@ + ## ---------------------------------------------------------------------- + ## Check if the compiler should use profiling flags/settings + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking profiling" >&5 +-$as_echo_n "checking profiling... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking profiling" >&5 ++printf %s "checking profiling... " >&6; } + # Check whether --enable-profiling was given. +-if test "${enable_profiling+set}" = set; then : ++if test ${enable_profiling+y} ++then : + enableval=$enable_profiling; PROFILING=$enableval + fi + +@@ -28962,30 +30217,31 @@ + H5_CFLAGS="$H5_CFLAGS $PROFILE_CFLAGS" + H5_CXXFLAGS="$H5_CXXFLAGS $PROFILE_CXXFLAGS" + H5_FCFLAGS="$H5_FCFLAGS $PROFILE_FCFLAGS" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + ;; + X-no) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + ;; + *) + H5_CFLAGS="$H5_CFLAGS $PROFILING" + H5_CXXFLAGS="$H5_CXXFLAGS $PROFILING" + H5_FCFLAGS="$H5_FCFLAGS $PROFILING" + PROFILING="custom ($PROFILING)" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PROFILING" >&5 +-$as_echo "$PROFILING" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PROFILING" >&5 ++printf "%s\n" "$PROFILING" >&6; } + ;; + esac + + ## ---------------------------------------------------------------------- + ## Check if the compiler should use a particular optimization setting + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking optimization level" >&5 +-$as_echo_n "checking optimization level... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking optimization level" >&5 ++printf %s "checking optimization level... " >&6; } + # Check whether --enable-optimization was given. +-if test "${enable_optimization+set}" = set; then : ++if test ${enable_optimization+y} ++then : + enableval=$enable_optimization; OPTIMIZATION=$enableval + fi + +@@ -29014,40 +30270,41 @@ + H5_CFLAGS="$H5_CFLAGS $HIGH_OPT_CFLAGS" + H5_CXXFLAGS="$H5_CXXFLAGS $HIGH_OPT_CXXFLAGS" + H5_FCFLAGS="$H5_FCFLAGS $HIGH_OPT_FCFLAGS" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: high" >&5 +-$as_echo "high" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: high" >&5 ++printf "%s\n" "high" >&6; } + ;; + X-debug) + H5_CFLAGS="$H5_CFLAGS $DEBUG_OPT_CFLAGS" + H5_CXXFLAGS="$H5_CXXFLAGS $DEBUG_OPT_CXXFLAGS" + H5_FCFLAGS="$H5_FCFLAGS $DEBUG_OPT_FCFLAGS" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: debug" >&5 +-$as_echo "debug" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: debug" >&5 ++printf "%s\n" "debug" >&6; } + ;; + X-none) + H5_CFLAGS="$H5_CFLAGS $NO_OPT_CFLAGS" + H5_CXXFLAGS="$H5_CXXFLAGS $NO_OPT_CXXFLAGS" + H5_FCFLAGS="$H5_FCFLAGS $NO_OPT_FCFLAGS" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +-$as_echo "none" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 ++printf "%s\n" "none" >&6; } + ;; + *) + H5_CFLAGS="$H5_CFLAGS $OPTIMIZATION" + H5_CXXFLAGS="$H5_CXXFLAGS $OPTIMIZATION" + H5_FCFLAGS="$H5_FCFLAGS $OPTIMIZATION" + OPTIMIZATION="custom ($OPTIMIZATION)" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OPTIMIZATION" >&5 +-$as_echo "$OPTIMIZATION" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OPTIMIZATION" >&5 ++printf "%s\n" "$OPTIMIZATION" >&6; } + ;; + esac + + ## ---------------------------------------------------------------------- + ## Enable/disable internal package-level debugging output + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for internal debug output" >&5 +-$as_echo_n "checking for internal debug output... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for internal debug output" >&5 ++printf %s "checking for internal debug output... " >&6; } + # Check whether --enable-internal-debug was given. +-if test "${enable_internal_debug+set}" = set; then : ++if test ${enable_internal_debug+y} ++then : + enableval=$enable_internal_debug; INTERNAL_DEBUG_OUTPUT=$enableval + fi + +@@ -29087,8 +30344,8 @@ + DEBUG_PKG_LIST=$INTERNAL_DEBUG_OUTPUT + ;; + esac +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTERNAL_DEBUG_OUTPUT" >&5 +-$as_echo "$INTERNAL_DEBUG_OUTPUT" >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INTERNAL_DEBUG_OUTPUT" >&5 ++printf "%s\n" "$INTERNAL_DEBUG_OUTPUT" >&6; } + + ## Define H5*_DEBUG symbols that control package output + ## NOTE: No sanity checking done here! +@@ -29101,10 +30358,11 @@ + ## ---------------------------------------------------------------------- + ## Check if they would like the function stack support compiled in + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether function stack tracking is enabled" >&5 +-$as_echo_n "checking whether function stack tracking is enabled... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether function stack tracking is enabled" >&5 ++printf %s "checking whether function stack tracking is enabled... " >&6; } + # Check whether --enable-codestack was given. +-if test "${enable_codestack+set}" = set; then : ++if test ${enable_codestack+y} ++then : + enableval=$enable_codestack; CODESTACK=$enableval + fi + +@@ -29120,15 +30378,15 @@ + + case "X-$CODESTACK" in + X-yes) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + +-$as_echo "#define HAVE_CODESTACK 1" >>confdefs.h ++printf "%s\n" "#define HAVE_CODESTACK 1" >>confdefs.h + + ;; + X-no) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + ;; + *) + as_fn_error $? "Unrecognized value: $CODESTACK" "$LINENO" 5 +@@ -29138,10 +30396,11 @@ + ## ---------------------------------------------------------------------- + ## Enable tracing of the API + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for API tracing" >&5 +-$as_echo_n "checking for API tracing... " >&6; }; ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for API tracing" >&5 ++printf %s "checking for API tracing... " >&6; }; + # Check whether --enable-trace was given. +-if test "${enable_trace+set}" = set; then : ++if test ${enable_trace+y} ++then : + enableval=$enable_trace; TRACE_API=$enableval + fi + +@@ -29161,13 +30420,13 @@ + + case "X-$TRACE_API" in + X-yes) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + H5_CPPFLAGS="$H5_CPPFLAGS -DH5_DEBUG_API" + ;; + X-no) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + H5_CPPFLAGS="$H5_CPPFLAGS -UH5_DEBUG_API" + ;; + *) +@@ -29181,10 +30440,11 @@ + ## more scrupulous with it's memory operations. Enabling this also + ## disables the library's free space manager code. + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a memory checking tool will be used" >&5 +-$as_echo_n "checking whether a memory checking tool will be used... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a memory checking tool will be used" >&5 ++printf %s "checking whether a memory checking tool will be used... " >&6; } + # Check whether --enable-using-memchecker was given. +-if test "${enable_using_memchecker+set}" = set; then : ++if test ${enable_using_memchecker+y} ++then : + enableval=$enable_using_memchecker; USINGMEMCHECKER=$enableval + fi + +@@ -29201,14 +30461,14 @@ + case "X-$USINGMEMCHECKER" in + X-yes) + +-$as_echo "#define USING_MEMCHECKER 1" >>confdefs.h ++printf "%s\n" "#define USING_MEMCHECKER 1" >>confdefs.h + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + ;; + X-no) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + ;; + *) + as_fn_error $? "Unrecognized value: $USINGMEMCHECKER" "$LINENO" 5 +@@ -29219,10 +30479,11 @@ + ## Check if they would like to enable the internal memory allocation sanity + ## checking code. + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether internal memory allocation sanity checking is used" >&5 +-$as_echo_n "checking whether internal memory allocation sanity checking is used... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether internal memory allocation sanity checking is used" >&5 ++printf %s "checking whether internal memory allocation sanity checking is used... " >&6; } + # Check whether --enable-memory-alloc-sanity-check was given. +-if test "${enable_memory_alloc_sanity_check+set}" = set; then : ++if test ${enable_memory_alloc_sanity_check+y} ++then : + enableval=$enable_memory_alloc_sanity_check; MEMORYALLOCSANITYCHECK=$enableval + fi + +@@ -29243,14 +30504,14 @@ + case "X-$MEMORYALLOCSANITYCHECK" in + X-yes) + +-$as_echo "#define MEMORY_ALLOC_SANITY_CHECK 1" >>confdefs.h ++printf "%s\n" "#define MEMORY_ALLOC_SANITY_CHECK 1" >>confdefs.h + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + ;; + X-no) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + ;; + *) + as_fn_error $? "Unrecognized value: $MEMORYALLOCSANITYCHECK" "$LINENO" 5 +@@ -29285,8 +30546,8 @@ + 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;} ;; ++ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( +@@ -29316,15 +30577,15 @@ + /^ac_cv_env_/b end + t clear + :clear +- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ ++ s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 ++printf "%s\n" "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else +@@ -29338,8 +30599,8 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 ++printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} + fi + fi + rm -f confcache +@@ -29349,7 +30610,8 @@ + ## CPPFLAGS and LDFLAGS or are known to the compiler. + ## + # Check whether --enable-parallel was given. +-if test "${enable_parallel+set}" = set; then : ++if test ${enable_parallel+y} ++then : + enableval=$enable_parallel; + fi + +@@ -29380,25 +30642,25 @@ + fi + fi + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for parallel support files" >&5 +-$as_echo_n "checking for parallel support files... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for parallel support files" >&5 ++printf %s "checking for parallel support files... " >&6; } + case "X-$enable_parallel" in + X-|X-no|X-none) + ## We are not compiling for parallel. +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: skipped" >&5 +-$as_echo "skipped" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: skipped" >&5 ++printf "%s\n" "skipped" >&6; } + ;; + + X-yes) + ## We want to compile a parallel library with a compiler that + ## may already know how to link with MPI and MPI-IO. +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: provided by compiler" >&5 +-$as_echo "provided by compiler" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: provided by compiler" >&5 ++printf "%s\n" "provided by compiler" >&6; } + PARALLEL=yes + + ## Try link a simple MPI program. +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a simple MPI-IO C program can be linked" >&5 +-$as_echo_n "checking whether a simple MPI-IO C program can be linked... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a simple MPI-IO C program can be linked" >&5 ++printf %s "checking whether a simple MPI-IO C program can be linked... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #include +@@ -29411,7 +30673,7 @@ + #endif + #endif + int +-main () ++main (void) + { + MPI_Init(0, (void *)0); + MPI_File_open(0, (void *)0, 0, 0, (void *)0); +@@ -29419,15 +30681,16 @@ + 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; } ++if ac_fn_c_try_link "$LINENO" ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + as_fn_error $? "unable to link a simple MPI-IO C program" "$LINENO" 5 + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "X$HDF_FORTRAN" = "Xyes"; then +@@ -29439,20 +30702,21 @@ + ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + TEST_SRC="`sed -n '/PROGRAM FC_MPI_CHECK/,/END PROGRAM FC_MPI_CHECK/p' $srcdir/m4/aclocal_fc.f90`" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a simple MPI-IO Fortran program can be linked" >&5 +-$as_echo_n "checking whether a simple MPI-IO Fortran program can be linked... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a simple MPI-IO Fortran program can be linked" >&5 ++printf %s "checking whether a simple MPI-IO Fortran program can be linked... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + $TEST_SRC + _ACEOF +-if ac_fn_fc_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; } ++if ac_fn_fc_try_link "$LINENO" ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + as_fn_error $? "unable to link a simple MPI-IO Fortran program" "$LINENO" 5 + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + ac_ext=c +@@ -29471,8 +30735,8 @@ + ;; + + *) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: error" >&5 +-$as_echo "error" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 ++printf "%s\n" "error" >&6; } + as_fn_error $? "\'$enable_parallel\' is not a valid parallel search type" "$LINENO" 5 + ;; + esac +@@ -29496,18 +30760,18 @@ + + ## We are building a parallel library + +-$as_echo "#define HAVE_PARALLEL 1" >>confdefs.h ++printf "%s\n" "#define HAVE_PARALLEL 1" >>confdefs.h + + + ## Display what we found about running programs +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking prefix for running on one processor" >&5 +-$as_echo_n "checking prefix for running on one processor... " >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RUNSERIAL" >&5 +-$as_echo "$RUNSERIAL" >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking prefix for running in parallel" >&5 +-$as_echo_n "checking prefix for running in parallel... " >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RUNPARALLEL" >&5 +-$as_echo "$RUNPARALLEL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking prefix for running on one processor" >&5 ++printf %s "checking prefix for running on one processor... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RUNSERIAL" >&5 ++printf "%s\n" "$RUNSERIAL" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking prefix for running in parallel" >&5 ++printf %s "checking prefix for running in parallel... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RUNPARALLEL" >&5 ++printf "%s\n" "$RUNPARALLEL" >&6; } + + ## There *must* be some way to run in parallel even if it's just the + ## word `none'. +@@ -29527,8 +30791,8 @@ + + if test "X$HDF_FORTRAN" = "Xyes"; then + ADD_PARALLEL_FILES="yes" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Comm_c2f and MPI_Comm_f2c functions" >&5 +-$as_echo_n "checking for MPI_Comm_c2f and MPI_Comm_f2c functions... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Comm_c2f and MPI_Comm_f2c functions" >&5 ++printf %s "checking for MPI_Comm_c2f and MPI_Comm_f2c functions... " >&6; } + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +@@ -29544,29 +30808,30 @@ + #endif + #endif + int +-main () ++main (void) + { + MPI_Comm c_comm; MPI_Comm_c2f(c_comm) + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + +-$as_echo "#define HAVE_MPI_MULTI_LANG_Comm 1" >>confdefs.h ++printf "%s\n" "#define HAVE_MPI_MULTI_LANG_Comm 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Info_c2f and MPI_Info_f2c functions" >&5 +-$as_echo_n "checking for MPI_Info_c2f and MPI_Info_f2c functions... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Info_c2f and MPI_Info_f2c functions" >&5 ++printf %s "checking for MPI_Info_c2f and MPI_Info_f2c functions... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #include +@@ -29579,25 +30844,26 @@ + #endif + #endif + int +-main () ++main (void) + { + MPI_Info c_info; MPI_Info_c2f(c_info) + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + +-$as_echo "#define HAVE_MPI_MULTI_LANG_Info 1" >>confdefs.h ++printf "%s\n" "#define HAVE_MPI_MULTI_LANG_Info 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; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + fi + +@@ -29613,10 +30879,11 @@ + INSTRUMENT_LIBRARY=no + fi + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for instrumented library" >&5 +-$as_echo_n "checking for instrumented library... " >&6; }; ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for instrumented library" >&5 ++printf %s "checking for instrumented library... " >&6; }; + # Check whether --enable-instrument was given. +-if test "${enable_instrument+set}" = set; then : ++if test ${enable_instrument+y} ++then : + enableval=$enable_instrument; INSTRUMENT_LIBRARY=$enableval + fi + +@@ -29628,14 +30895,14 @@ + case "X-$INSTRUMENT_LIBRARY" in + X-yes) + +-$as_echo "#define HAVE_INSTRUMENTED_LIBRARY 1" >>confdefs.h ++printf "%s\n" "#define HAVE_INSTRUMENTED_LIBRARY 1" >>confdefs.h + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + ;; + X-no) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + ;; + *) + as_fn_error $? "Unrecognized value: $INSTRUMENT_LIBRARY" "$LINENO" 5 +@@ -29651,41 +30918,41 @@ + MPE=yes + + # Check whether --with-mpe was given. +-if test "${with_mpe+set}" = set; then : ++if test ${with_mpe+y} ++then : + withval=$with_mpe; +-else ++else $as_nop + withval=no + fi + + + case "X-$withval" in + X-|X-no|X-none) +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPE" >&5 +-$as_echo_n "checking for MPE... " >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: suppressed" >&5 +-$as_echo "suppressed" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPE" >&5 ++printf %s "checking for MPE... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: suppressed" >&5 ++printf "%s\n" "suppressed" >&6; } + unset MPE + ;; + X-yes) +- for ac_header in mpe.h ++ for ac_header in mpe.h + do : +- ac_fn_c_check_header_mongrel "$LINENO" "mpe.h" "ac_cv_header_mpe_h" "$ac_includes_default" +-if test "x$ac_cv_header_mpe_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_MPE_H 1 +-_ACEOF ++ ac_fn_c_check_header_compile "$LINENO" "mpe.h" "ac_cv_header_mpe_h" "$ac_includes_default" ++if test "x$ac_cv_header_mpe_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_MPE_H 1" >>confdefs.h + +-else ++else $as_nop + unset MPE + fi + + done +- +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPE_Init_log in -lmpe" >&5 +-$as_echo_n "checking for MPE_Init_log in -lmpe... " >&6; } +-if ${ac_cv_lib_mpe_MPE_Init_log+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPE_Init_log in -lmpe" >&5 ++printf %s "checking for MPE_Init_log in -lmpe... " >&6; } ++if test ${ac_cv_lib_mpe_MPE_Init_log+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lmpe $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -29694,9 +30961,6 @@ + /* 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 MPE_Init_log (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -29707,32 +30971,32 @@ + #endif + #endif + int +-main () ++main (void) + { + return MPE_Init_log (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_mpe_MPE_Init_log=yes +-else ++else $as_nop + ac_cv_lib_mpe_MPE_Init_log=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpe_MPE_Init_log" >&5 +-$as_echo "$ac_cv_lib_mpe_MPE_Init_log" >&6; } +-if test "x$ac_cv_lib_mpe_MPE_Init_log" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBMPE 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpe_MPE_Init_log" >&5 ++printf "%s\n" "$ac_cv_lib_mpe_MPE_Init_log" >&6; } ++if test "x$ac_cv_lib_mpe_MPE_Init_log" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBMPE 1" >>confdefs.h + + LIBS="-lmpe $LIBS" + +-else ++else $as_nop + unset MPE + fi + +@@ -29756,35 +31020,31 @@ + saved_AM_CPPFLAGS="$AM_CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I$mpe_inc" + AM_CPPFLAGS="$AM_CPPFLAGS -I$mpe_inc" +- for ac_header in mpe.h ++ for ac_header in mpe.h + do : +- ac_fn_c_check_header_mongrel "$LINENO" "mpe.h" "ac_cv_header_mpe_h" "$ac_includes_default" +-if test "x$ac_cv_header_mpe_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_MPE_H 1 +-_ACEOF ++ ac_fn_c_check_header_compile "$LINENO" "mpe.h" "ac_cv_header_mpe_h" "$ac_includes_default" ++if test "x$ac_cv_header_mpe_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_MPE_H 1" >>confdefs.h + +-else ++else $as_nop + CPPFLAGS="$saved_CPPFLAGS"; AM_CPPFLAGS="$saved_AM_CPPFLAGS"; unset MPE + fi + + done +- + else +- for ac_header in mpe.h ++ for ac_header in mpe.h + do : +- ac_fn_c_check_header_mongrel "$LINENO" "mpe.h" "ac_cv_header_mpe_h" "$ac_includes_default" +-if test "x$ac_cv_header_mpe_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_MPE_H 1 +-_ACEOF ++ ac_fn_c_check_header_compile "$LINENO" "mpe.h" "ac_cv_header_mpe_h" "$ac_includes_default" ++if test "x$ac_cv_header_mpe_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_MPE_H 1" >>confdefs.h + +-else ++else $as_nop + unset MPE + fi + + done +- + fi + + if test -n "$mpe_lib"; then +@@ -29792,11 +31052,12 @@ + saved_AM_LDFLAGS="$AM_LDFLAGS" + LDFLAGS="$LDFLAGS -L$mpe_lib" + AM_LDFLAGS="$AM_LDFLAGS -L$mpe_lib" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPE_Init_log in -lmpe" >&5 +-$as_echo_n "checking for MPE_Init_log in -lmpe... " >&6; } +-if ${ac_cv_lib_mpe_MPE_Init_log+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPE_Init_log in -lmpe" >&5 ++printf %s "checking for MPE_Init_log in -lmpe... " >&6; } ++if test ${ac_cv_lib_mpe_MPE_Init_log+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lmpe $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -29805,9 +31066,6 @@ + /* 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 MPE_Init_log (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -29818,41 +31076,42 @@ + #endif + #endif + int +-main () ++main (void) + { + return MPE_Init_log (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_mpe_MPE_Init_log=yes +-else ++else $as_nop + ac_cv_lib_mpe_MPE_Init_log=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpe_MPE_Init_log" >&5 +-$as_echo "$ac_cv_lib_mpe_MPE_Init_log" >&6; } +-if test "x$ac_cv_lib_mpe_MPE_Init_log" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBMPE 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpe_MPE_Init_log" >&5 ++printf "%s\n" "$ac_cv_lib_mpe_MPE_Init_log" >&6; } ++if test "x$ac_cv_lib_mpe_MPE_Init_log" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBMPE 1" >>confdefs.h + + LIBS="-lmpe $LIBS" + +-else ++else $as_nop + LDFLAGS="$saved_LDFLAGS"; AM_LDFLAGS="$saved_AM_LDFLAGS"; unset MPE + fi + + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPE_Init_log in -lmpe" >&5 +-$as_echo_n "checking for MPE_Init_log in -lmpe... " >&6; } +-if ${ac_cv_lib_mpe_MPE_Init_log+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPE_Init_log in -lmpe" >&5 ++printf %s "checking for MPE_Init_log in -lmpe... " >&6; } ++if test ${ac_cv_lib_mpe_MPE_Init_log+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lmpe $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -29861,9 +31120,6 @@ + /* 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 MPE_Init_log (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -29874,32 +31130,32 @@ + #endif + #endif + int +-main () ++main (void) + { + return MPE_Init_log (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_mpe_MPE_Init_log=yes +-else ++else $as_nop + ac_cv_lib_mpe_MPE_Init_log=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpe_MPE_Init_log" >&5 +-$as_echo "$ac_cv_lib_mpe_MPE_Init_log" >&6; } +-if test "x$ac_cv_lib_mpe_MPE_Init_log" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBMPE 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpe_MPE_Init_log" >&5 ++printf "%s\n" "$ac_cv_lib_mpe_MPE_Init_log" >&6; } ++if test "x$ac_cv_lib_mpe_MPE_Init_log" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBMPE 1" >>confdefs.h + + LIBS="-lmpe $LIBS" + +-else ++else $as_nop + unset MPE + fi + +@@ -29909,7 +31165,7 @@ + + if test "X-$MPE" = "X-yes"; then + +-$as_echo "#define HAVE_MPE 1" >>confdefs.h ++printf "%s\n" "#define HAVE_MPE 1" >>confdefs.h + + fi + +@@ -29918,8 +31174,8 @@ + ## feature. If these are not present, issue a warning that Parallel + ## Compression will be disabled. + ## +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Mprobe and MPI_Imrecv functions" >&5 +-$as_echo_n "checking for MPI_Mprobe and MPI_Imrecv functions... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Mprobe and MPI_Imrecv functions" >&5 ++printf %s "checking for MPI_Mprobe and MPI_Imrecv functions... " >&6; } + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +@@ -29935,7 +31191,7 @@ + #endif + #endif + int +-main () ++main (void) + { + + MPI_Message message; +@@ -29948,21 +31204,22 @@ + 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; } ++if ac_fn_c_try_link "$LINENO" ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + PARALLEL_FILTERED_WRITES=yes +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: A simple MPI program using the MPI_Mprobe and MPI_Imrecv functions could not be compiled and linked. ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: A simple MPI program using the MPI_Mprobe and MPI_Imrecv functions could not be compiled and linked. + Parallel writes of filtered data will be disabled." >&5 +-$as_echo "$as_me: WARNING: A simple MPI program using the MPI_Mprobe and MPI_Imrecv functions could not be compiled and linked. ++printf "%s\n" "$as_me: WARNING: A simple MPI program using the MPI_Mprobe and MPI_Imrecv functions could not be compiled and linked. + Parallel writes of filtered data will be disabled." >&2;} + PARALLEL_FILTERED_WRITES=no + + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + ## ---------------------------------------------------------------------- +@@ -29970,8 +31227,8 @@ + ## If these are not present, issue a warning that the big I/O feature + ## will be disabled. + ## +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Get_elements_x and MPI_Type_size_x functions" >&5 +-$as_echo_n "checking for MPI_Get_elements_x and MPI_Type_size_x functions... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Get_elements_x and MPI_Type_size_x functions" >&5 ++printf %s "checking for MPI_Get_elements_x and MPI_Type_size_x functions... " >&6; } + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +@@ -29987,7 +31244,7 @@ + #endif + #endif + int +-main () ++main (void) + { + + MPI_Count count; +@@ -30000,21 +31257,22 @@ + 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; } ++if ac_fn_c_try_link "$LINENO" ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + LARGE_PARALLEL_IO=yes +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: A simple MPI program using the MPI_Get_elements_x and MPI_Type_size_x functions could not be compiled and linked. ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: A simple MPI program using the MPI_Get_elements_x and MPI_Type_size_x functions could not be compiled and linked. + Reading/Writing >2GB of data in a single parallel I/O operation will be disabled." >&5 +-$as_echo "$as_me: WARNING: A simple MPI program using the MPI_Get_elements_x and MPI_Type_size_x functions could not be compiled and linked. ++printf "%s\n" "$as_me: WARNING: A simple MPI program using the MPI_Get_elements_x and MPI_Type_size_x functions could not be compiled and linked. + Reading/Writing >2GB of data in a single parallel I/O operation will be disabled." >&2;} + LARGE_PARALLEL_IO=no + + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + fi +@@ -30027,26 +31285,27 @@ + ## Default is no map API + MAP_API=no + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the map API (H5M) is enabled" >&5 +-$as_echo_n "checking if the map API (H5M) is enabled... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the map API (H5M) is enabled" >&5 ++printf %s "checking if the map API (H5M) is enabled... " >&6; } + + # Check whether --enable-map-api was given. +-if test "${enable_map_api+set}" = set; then : ++if test ${enable_map_api+y} ++then : + enableval=$enable_map_api; MAP_API=$enableval +-else ++else $as_nop + MAP_API=no + fi + + + if test "X$MAP_API" = "Xyes"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + +-$as_echo "#define HAVE_MAP_API 1" >>confdefs.h ++printf "%s\n" "#define HAVE_MAP_API 1" >>confdefs.h + + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + ## ---------------------------------------------------------------------- +@@ -30057,53 +31316,57 @@ + ## Default is no direct VFD + DIRECT_VFD=no + +-if ${hdf5_cv_direct_io+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- ac_fn_c_check_decl "$LINENO" "O_DIRECT" "ac_cv_have_decl_O_DIRECT" "#include +-" +-if test "x$ac_cv_have_decl_O_DIRECT" = xyes; then : ++if test ${hdf5_cv_direct_io+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_fn_check_decl "$LINENO" "O_DIRECT" "ac_cv_have_decl_O_DIRECT" "#include ++" "$ac_c_undeclared_builtin_options" "CFLAGS" ++if test "x$ac_cv_have_decl_O_DIRECT" = xyes ++then : + hdf5_cv_direct_io=yes +-else ++else $as_nop + hdf5_cv_direct_io=no + fi +- + fi + +-if ${hdf5_cv_posix_memalign+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++if test ${hdf5_cv_posix_memalign+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_fn_c_check_func "$LINENO" "posix_memalign" "ac_cv_func_posix_memalign" +-if test "x$ac_cv_func_posix_memalign" = xyes; then : ++if test "x$ac_cv_func_posix_memalign" = xyes ++then : + hdf5_cv_posix_memalign=yes +-else ++else $as_nop + hdf5_cv_posix_memalign=no + fi + + fi + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the direct I/O virtual file driver (VFD) is enabled" >&5 +-$as_echo_n "checking if the direct I/O virtual file driver (VFD) is enabled... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the direct I/O virtual file driver (VFD) is enabled" >&5 ++printf %s "checking if the direct I/O virtual file driver (VFD) is enabled... " >&6; } + + # Check whether --enable-direct-vfd was given. +-if test "${enable_direct_vfd+set}" = set; then : ++if test ${enable_direct_vfd+y} ++then : + enableval=$enable_direct_vfd; DIRECT_VFD=$enableval +-else ++else $as_nop + DIRECT_VFD=no + fi + + + if test "X$DIRECT_VFD" = "Xyes"; then + if test ${hdf5_cv_direct_io} = "yes" && test ${hdf5_cv_posix_memalign} = "yes" ; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + +-$as_echo "#define HAVE_DIRECT 1" >>confdefs.h ++printf "%s\n" "#define HAVE_DIRECT 1" >>confdefs.h + + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + DIRECT_VFD=no + as_fn_error $? "The direct VFD was requested but cannot be built. This is either + due to O_DIRECT not being found in fcntl.h or a lack of +@@ -30111,8 +31374,8 @@ + specifying --enable-direct-vfd." "$LINENO" 5 + fi + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + ## Direct VFD files are not built if not required. +@@ -30134,76 +31397,70 @@ + ROS3_VFD=no + + # Check whether --enable-ros3-vfd was given. +-if test "${enable_ros3_vfd+set}" = set; then : ++if test ${enable_ros3_vfd+y} ++then : + enableval=$enable_ros3_vfd; ROS3_VFD=$enableval +-else ++else $as_nop + ROS3_VFD=no + fi + + + if test "X$ROS3_VFD" = "Xyes"; then +- for ac_header in curl/curl.h ++ for ac_header in curl/curl.h + do : +- ac_fn_c_check_header_mongrel "$LINENO" "curl/curl.h" "ac_cv_header_curl_curl_h" "$ac_includes_default" +-if test "x$ac_cv_header_curl_curl_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_CURL_CURL_H 1 +-_ACEOF ++ ac_fn_c_check_header_compile "$LINENO" "curl/curl.h" "ac_cv_header_curl_curl_h" "$ac_includes_default" ++if test "x$ac_cv_header_curl_curl_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_CURL_CURL_H 1" >>confdefs.h + +-else ++else $as_nop + unset ROS3_VFD + fi + + done +- +- for ac_header in openssl/evp.h ++ for ac_header in openssl/evp.h + do : +- ac_fn_c_check_header_mongrel "$LINENO" "openssl/evp.h" "ac_cv_header_openssl_evp_h" "$ac_includes_default" +-if test "x$ac_cv_header_openssl_evp_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_OPENSSL_EVP_H 1 +-_ACEOF ++ ac_fn_c_check_header_compile "$LINENO" "openssl/evp.h" "ac_cv_header_openssl_evp_h" "$ac_includes_default" ++if test "x$ac_cv_header_openssl_evp_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_OPENSSL_EVP_H 1" >>confdefs.h + +-else ++else $as_nop + unset ROS3_VFD + fi + + done +- +- for ac_header in openssl/hmac.h ++ for ac_header in openssl/hmac.h + do : +- ac_fn_c_check_header_mongrel "$LINENO" "openssl/hmac.h" "ac_cv_header_openssl_hmac_h" "$ac_includes_default" +-if test "x$ac_cv_header_openssl_hmac_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_OPENSSL_HMAC_H 1 +-_ACEOF ++ ac_fn_c_check_header_compile "$LINENO" "openssl/hmac.h" "ac_cv_header_openssl_hmac_h" "$ac_includes_default" ++if test "x$ac_cv_header_openssl_hmac_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_OPENSSL_HMAC_H 1" >>confdefs.h + +-else ++else $as_nop + unset ROS3_VFD + fi + + done +- +- for ac_header in openssl/sha.h ++ for ac_header in openssl/sha.h + do : +- ac_fn_c_check_header_mongrel "$LINENO" "openssl/sha.h" "ac_cv_header_openssl_sha_h" "$ac_includes_default" +-if test "x$ac_cv_header_openssl_sha_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_OPENSSL_SHA_H 1 +-_ACEOF ++ ac_fn_c_check_header_compile "$LINENO" "openssl/sha.h" "ac_cv_header_openssl_sha_h" "$ac_includes_default" ++if test "x$ac_cv_header_openssl_sha_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_OPENSSL_SHA_H 1" >>confdefs.h + +-else ++else $as_nop + unset ROS3_VFD + fi + + done +- + if test "X$ROS3_VFD" = "Xyes"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for curl_global_init in -lcurl" >&5 +-$as_echo_n "checking for curl_global_init in -lcurl... " >&6; } +-if ${ac_cv_lib_curl_curl_global_init+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for curl_global_init in -lcurl" >&5 ++printf %s "checking for curl_global_init in -lcurl... " >&6; } ++if test ${ac_cv_lib_curl_curl_global_init+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lcurl $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -30212,9 +31469,6 @@ + /* 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 curl_global_init (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -30225,40 +31479,41 @@ + #endif + #endif + int +-main () ++main (void) + { + return curl_global_init (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_curl_curl_global_init=yes +-else ++else $as_nop + ac_cv_lib_curl_curl_global_init=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_curl_curl_global_init" >&5 +-$as_echo "$ac_cv_lib_curl_curl_global_init" >&6; } +-if test "x$ac_cv_lib_curl_curl_global_init" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBCURL 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_curl_curl_global_init" >&5 ++printf "%s\n" "$ac_cv_lib_curl_curl_global_init" >&6; } ++if test "x$ac_cv_lib_curl_curl_global_init" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBCURL 1" >>confdefs.h + + LIBS="-lcurl $LIBS" + +-else ++else $as_nop + unset ROS3_VFD + fi + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVP_sha256 in -lcrypto" >&5 +-$as_echo_n "checking for EVP_sha256 in -lcrypto... " >&6; } +-if ${ac_cv_lib_crypto_EVP_sha256+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for EVP_sha256 in -lcrypto" >&5 ++printf %s "checking for EVP_sha256 in -lcrypto... " >&6; } ++if test ${ac_cv_lib_crypto_EVP_sha256+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lcrypto $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -30267,9 +31522,6 @@ + /* 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 EVP_sha256 (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -30280,48 +31532,48 @@ + #endif + #endif + int +-main () ++main (void) + { + return EVP_sha256 (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_crypto_EVP_sha256=yes +-else ++else $as_nop + ac_cv_lib_crypto_EVP_sha256=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_EVP_sha256" >&5 +-$as_echo "$ac_cv_lib_crypto_EVP_sha256" >&6; } +-if test "x$ac_cv_lib_crypto_EVP_sha256" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBCRYPTO 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_EVP_sha256" >&5 ++printf "%s\n" "$ac_cv_lib_crypto_EVP_sha256" >&6; } ++if test "x$ac_cv_lib_crypto_EVP_sha256" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBCRYPTO 1" >>confdefs.h + + LIBS="-lcrypto $LIBS" + +-else ++else $as_nop + unset ROS3_VFD + fi + + fi + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the Read-Only S3 virtual file driver (VFD) is enabled" >&5 +-$as_echo_n "checking if the Read-Only S3 virtual file driver (VFD) is enabled... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the Read-Only S3 virtual file driver (VFD) is enabled" >&5 ++printf %s "checking if the Read-Only S3 virtual file driver (VFD) is enabled... " >&6; } + if test "X$ROS3_VFD" = "Xyes"; then + +-$as_echo "#define HAVE_ROS3_VFD 1" >>confdefs.h ++printf "%s\n" "#define HAVE_ROS3_VFD 1" >>confdefs.h + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + ROS3_VFD=no + as_fn_error $? "The Read-Only S3 VFD was requested but cannot be built. + Please check that openssl and cURL are available on your +@@ -30329,10 +31581,10 @@ + --enable-ros3-vfd." "$LINENO" 5 + fi + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the Read-Only S3 virtual file driver (VFD) is enabled" >&5 +-$as_echo_n "checking if the Read-Only S3 virtual file driver (VFD) is enabled... " >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the Read-Only S3 virtual file driver (VFD) is enabled" >&5 ++printf %s "checking if the Read-Only S3 virtual file driver (VFD) is enabled... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + ROS3_VFD=no + + fi +@@ -30356,9 +31608,10 @@ + + + # Check whether --with-libhdfs was given. +-if test "${with_libhdfs+set}" = set; then : ++if test ${with_libhdfs+y} ++then : + withval=$with_libhdfs; +-else ++else $as_nop + withval=no + fi + +@@ -30366,10 +31619,10 @@ + case $withval in + no) + HAVE_LIBHDFS="no" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libhdfs" >&5 +-$as_echo_n "checking for libhdfs... " >&6; } +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: suppressed" >&5 +-$as_echo "suppressed" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libhdfs" >&5 ++printf %s "checking for libhdfs... " >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: suppressed" >&5 ++printf "%s\n" "suppressed" >&6; } + ;; + *) + HAVE_LIBHDFS="yes" +@@ -30394,21 +31647,19 @@ + CPPFLAGS="$CPPFLAGS -I$libhdfs_inc" + AM_CPPFLAGS="$AM_CPPFLAGS -I$libhdfs_inc" + fi +- for ac_header in hdfs.h ++ for ac_header in hdfs.h + do : +- ac_fn_c_check_header_mongrel "$LINENO" "hdfs.h" "ac_cv_header_hdfs_h" "$ac_includes_default" +-if test "x$ac_cv_header_hdfs_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_HDFS_H 1 +-_ACEOF ++ ac_fn_c_check_header_compile "$LINENO" "hdfs.h" "ac_cv_header_hdfs_h" "$ac_includes_default" ++if test "x$ac_cv_header_hdfs_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_HDFS_H 1" >>confdefs.h + +-else ++else $as_nop + unset HAVE_LIBHDFS + fi + + done + +- + if test "x$HAVE_LIBHDFS" = "xyes"; then + JNI_LDFLAGS="" + if test $JAVA_HOME != "" +@@ -30417,11 +31668,12 @@ + fi + ldflags_bak=$LDFLAGS + LDFLAGS="$LDFLAGS $JNI_LDFLAGS" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JNI_GetCreatedJavaVMs in -ljvm" >&5 +-$as_echo_n "checking for JNI_GetCreatedJavaVMs in -ljvm... " >&6; } +-if ${ac_cv_lib_jvm_JNI_GetCreatedJavaVMs+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for JNI_GetCreatedJavaVMs in -ljvm" >&5 ++printf %s "checking for JNI_GetCreatedJavaVMs in -ljvm... " >&6; } ++if test ${ac_cv_lib_jvm_JNI_GetCreatedJavaVMs+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-ljvm $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -30430,9 +31682,6 @@ + /* 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 JNI_GetCreatedJavaVMs (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -30443,28 +31692,28 @@ + #endif + #endif + int +-main () ++main (void) + { + return JNI_GetCreatedJavaVMs (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_jvm_JNI_GetCreatedJavaVMs=yes +-else ++else $as_nop + ac_cv_lib_jvm_JNI_GetCreatedJavaVMs=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jvm_JNI_GetCreatedJavaVMs" >&5 +-$as_echo "$ac_cv_lib_jvm_JNI_GetCreatedJavaVMs" >&6; } +-if test "x$ac_cv_lib_jvm_JNI_GetCreatedJavaVMs" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBJVM 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jvm_JNI_GetCreatedJavaVMs" >&5 ++printf "%s\n" "$ac_cv_lib_jvm_JNI_GetCreatedJavaVMs" >&6; } ++if test "x$ac_cv_lib_jvm_JNI_GetCreatedJavaVMs" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBJVM 1" >>confdefs.h + + LIBS="-ljvm $LIBS" + +@@ -30478,11 +31727,12 @@ + LDFLAGS="$LDFLAGS -L$libhdfs_lib $JNI_LDFLAGS" + AM_LDFLAGS="$AM_LDFLAGS -L$libhdfs_lib $JNI_LDFLAGS" + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hdfsConnect in -lhdfs" >&5 +-$as_echo_n "checking for hdfsConnect in -lhdfs... " >&6; } +-if ${ac_cv_lib_hdfs_hdfsConnect+:} false; then : +- $as_echo_n "(cached) " >&6 +-else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hdfsConnect in -lhdfs" >&5 ++printf %s "checking for hdfsConnect in -lhdfs... " >&6; } ++if test ${ac_cv_lib_hdfs_hdfsConnect+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop + ac_check_lib_save_LIBS=$LIBS + LIBS="-lhdfs $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -30491,9 +31741,6 @@ + /* 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 hdfsConnect (); + #ifdef FC_DUMMY_MAIN + #ifndef FC_DUMMY_MAIN_EQ_F77 +@@ -30504,32 +31751,32 @@ + #endif + #endif + int +-main () ++main (void) + { + return hdfsConnect (); + ; + return 0; + } + _ACEOF +-if ac_fn_c_try_link "$LINENO"; then : ++if ac_fn_c_try_link "$LINENO" ++then : + ac_cv_lib_hdfs_hdfsConnect=yes +-else ++else $as_nop + ac_cv_lib_hdfs_hdfsConnect=no + fi +-rm -f core conftest.err conftest.$ac_objext \ ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hdfs_hdfsConnect" >&5 +-$as_echo "$ac_cv_lib_hdfs_hdfsConnect" >&6; } +-if test "x$ac_cv_lib_hdfs_hdfsConnect" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBHDFS 1 +-_ACEOF ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hdfs_hdfsConnect" >&5 ++printf "%s\n" "$ac_cv_lib_hdfs_hdfsConnect" >&6; } ++if test "x$ac_cv_lib_hdfs_hdfsConnect" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBHDFS 1" >>confdefs.h + + LIBS="-lhdfs $LIBS" + +-else ++else $as_nop + unset HAVE_LIBHDFS + fi + +@@ -30545,7 +31792,7 @@ + + if test "x$HAVE_LIBHDFS" = "xyes"; then + +-$as_echo "#define HAVE_LIBHDFS 1" >>confdefs.h ++printf "%s\n" "#define HAVE_LIBHDFS 1" >>confdefs.h + + fi + +@@ -30577,8 +31824,8 @@ + 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;} ;; ++ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( +@@ -30608,15 +31855,15 @@ + /^ac_cv_env_/b end + t clear + :clear +- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ ++ s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 ++printf "%s\n" "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else +@@ -30630,8 +31877,8 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 ++printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} + fi + fi + rm -f confcache +@@ -30639,62 +31886,60 @@ + ## ---------------------------------------------------------------------- + ## Use custom examples path. + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for custom examples path definition" >&5 +-$as_echo_n "checking for custom examples path definition... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for custom examples path definition" >&5 ++printf %s "checking for custom examples path definition... " >&6; } + + # Check whether --with-examplesdir was given. +-if test "${with_examplesdir+set}" = set; then : ++if test ${with_examplesdir+y} ++then : + withval=$with_examplesdir; +-else ++else $as_nop + withval="${datarootdir}/hdf5_examples" + fi + + + if test "X$withval" = "X"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: default" >&5 +-$as_echo "default" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: default" >&5 ++printf "%s\n" "default" >&6; } + examplesdir="${datarootdir}/hdf5_examples" + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 +-$as_echo "$withval" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 ++printf "%s\n" "$withval" >&6; } + examplesdir=$withval + fi + + + +-cat >>confdefs.h <<_ACEOF +-#define EXAMPLESDIR "$examplesdir" +-_ACEOF ++printf "%s\n" "#define EXAMPLESDIR \"$examplesdir\"" >>confdefs.h + + + ## ---------------------------------------------------------------------- + ## Enable custom plugin default path for library. It requires SHARED support. + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for custom plugin default path definition" >&5 +-$as_echo_n "checking for custom plugin default path definition... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for custom plugin default path definition" >&5 ++printf %s "checking for custom plugin default path definition... " >&6; } + + # Check whether --with-default-plugindir was given. +-if test "${with_default_plugindir+set}" = set; then : ++if test ${with_default_plugindir+y} ++then : + withval=$with_default_plugindir; +-else ++else $as_nop + withval="/usr/local/hdf5/lib/plugin" + fi + + + if test "X$withval" = "X"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: default" >&5 +-$as_echo "default" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: default" >&5 ++printf "%s\n" "default" >&6; } + default_plugindir="/usr/local/hdf5/lib/plugin" + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 +-$as_echo "$withval" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 ++printf "%s\n" "$withval" >&6; } + default_plugindir=$withval + fi + + +-cat >>confdefs.h <<_ACEOF +-#define DEFAULT_PLUGINDIR "$default_plugindir" +-_ACEOF ++printf "%s\n" "#define DEFAULT_PLUGINDIR \"$default_plugindir\"" >>confdefs.h + + + ## ---------------------------------------------------------------------- +@@ -30703,25 +31948,26 @@ + ## for the speed optimization of hard conversions. Soft conversions can + ## actually benefit little. + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether exception handling functions is checked during data conversions" >&5 +-$as_echo_n "checking whether exception handling functions is checked during data conversions... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether exception handling functions is checked during data conversions" >&5 ++printf %s "checking whether exception handling functions is checked during data conversions... " >&6; } + # Check whether --enable-dconv-exception was given. +-if test "${enable_dconv_exception+set}" = set; then : ++if test ${enable_dconv_exception+y} ++then : + enableval=$enable_dconv_exception; DCONV_EXCEPTION=$enableval +-else ++else $as_nop + DCONV_EXCEPTION=yes + fi + + + if test "$DCONV_EXCEPTION" = "yes"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + +-$as_echo "#define WANT_DCONV_EXCEPTION 1" >>confdefs.h ++printf "%s\n" "#define WANT_DCONV_EXCEPTION 1" >>confdefs.h + + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + ## ---------------------------------------------------------------------- +@@ -30730,25 +31976,26 @@ + ## though the data may be wrong (for example, some compilers don't + ## support denormalized floating values) to maximize speed. + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether data accuracy is guaranteed during data conversions" >&5 +-$as_echo_n "checking whether data accuracy is guaranteed during data conversions... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether data accuracy is guaranteed during data conversions" >&5 ++printf %s "checking whether data accuracy is guaranteed during data conversions... " >&6; } + # Check whether --enable-dconv-accuracy was given. +-if test "${enable_dconv_accuracy+set}" = set; then : ++if test ${enable_dconv_accuracy+y} ++then : + enableval=$enable_dconv_accuracy; DATA_ACCURACY=$enableval +-else ++else $as_nop + DATA_ACCURACY=yes + fi + + + if test "$DATA_ACCURACY" = "yes"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + +-$as_echo "#define WANT_DATA_ACCURACY 1" >>confdefs.h ++printf "%s\n" "#define WANT_DATA_ACCURACY 1" >>confdefs.h + + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + ## ---------------------------------------------------------------------- +@@ -30757,20 +32004,20 @@ + ## (This flag should be _unset_ for all machines, except for Windows, where + ## it's set in the custom Windows H5pubconf.h file) + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the machine has window style path name" >&5 +-$as_echo_n "checking if the machine has window style path name... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the machine has window style path name" >&5 ++printf %s "checking if the machine has window style path name... " >&6; } + + case "`uname`" in + MINGW*) + +-$as_echo "#define HAVE_WINDOW_PATH 1" >>confdefs.h ++printf "%s\n" "#define HAVE_WINDOW_PATH 1" >>confdefs.h + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + ;; + *) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + ;; + esac + +@@ -30783,8 +32030,8 @@ + ## The machine's conversion gets the correct value. We define the macro and disable + ## this kind of test until we figure out what algorithm they use. + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if using special algorithm to convert long double to (unsigned) long values" >&5 +-$as_echo_n "checking if using special algorithm to convert long double to (unsigned) long values... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if using special algorithm to convert long double to (unsigned) long values" >&5 ++printf %s "checking if using special algorithm to convert long double to (unsigned) long values... " >&6; } + + ## NOTE: Place all configure test programs into cmake's source file, then use a preprocessor directive + ## to select the proper test program. This is done by echoing the #define and cat'ing the cmake +@@ -30795,23 +32042,26 @@ + if test ${ac_cv_sizeof_long_double} = 0; then + hdf5_cv_ldouble_to_long_special=${hdf5_cv_ldouble_to_long_special=no} + else +- if ${hdf5_cv_ldouble_to_long_special+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if test "$cross_compiling" = yes; then : +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ if test ${hdf5_cv_ldouble_to_long_special+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test "$cross_compiling" = yes ++then : ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error $? "cannot run test program while cross compiling + See \`config.log' for more details" "$LINENO" 5; } +-else ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $TEST_SRC + + _ACEOF +-if ac_fn_c_try_run "$LINENO"; then : ++if ac_fn_c_try_run "$LINENO" ++then : + hdf5_cv_ldouble_to_long_special=yes +-else ++else $as_nop + hdf5_cv_ldouble_to_long_special=no + fi + rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ +@@ -30824,13 +32074,13 @@ + + if test ${hdf5_cv_ldouble_to_long_special} = "yes"; then + +-$as_echo "#define LDOUBLE_TO_LONG_SPECIAL 1" >>confdefs.h ++printf "%s\n" "#define LDOUBLE_TO_LONG_SPECIAL 1" >>confdefs.h + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + ## ---------------------------------------------------------------------- +@@ -30841,31 +32091,34 @@ + ## ..., 7fffff..., the compiler uses a unknown algorithm. We define a + ## macro and skip the test for now until we know about the algorithm. + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if using special algorithm to convert (unsigned) long to long double values" >&5 +-$as_echo_n "checking if using special algorithm to convert (unsigned) long to long double values... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if using special algorithm to convert (unsigned) long to long double values" >&5 ++printf %s "checking if using special algorithm to convert (unsigned) long to long double values... " >&6; } + + TEST_SRC="`(echo \"#define H5_LONG_TO_LDOUBLE_SPECIAL_TEST 1\"; cat $srcdir/config/cmake/ConversionTests.c)`" + + if test ${ac_cv_sizeof_long_double} = 0; then + hdf5_cv_long_to_ldouble_special=${hdf5_cv_long_to_ldouble_special=no} + else +- if ${hdf5_cv_long_to_ldouble_special+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if test "$cross_compiling" = yes; then : +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ if test ${hdf5_cv_long_to_ldouble_special+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test "$cross_compiling" = yes ++then : ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error $? "cannot run test program while cross compiling + See \`config.log' for more details" "$LINENO" 5; } +-else ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $TEST_SRC + + _ACEOF +-if ac_fn_c_try_run "$LINENO"; then : ++if ac_fn_c_try_run "$LINENO" ++then : + hdf5_cv_long_to_ldouble_special=yes +-else ++else $as_nop + hdf5_cv_long_to_ldouble_special=no + fi + rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ +@@ -30878,13 +32131,13 @@ + + if test ${hdf5_cv_long_to_ldouble_special} = "yes"; then + +-$as_echo "#define LONG_TO_LDOUBLE_SPECIAL 1" >>confdefs.h ++printf "%s\n" "#define LONG_TO_LDOUBLE_SPECIAL 1" >>confdefs.h + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + ## ---------------------------------------------------------------------- +@@ -30898,30 +32151,33 @@ + ## 0x4351ccf385ebc8a0ffcc... will make the converted values wildly wrong. + ## This test detects this wrong behavior and disable the test. + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if correctly converting long double to (unsigned) long long values" >&5 +-$as_echo_n "checking if correctly converting long double to (unsigned) long long values... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if correctly converting long double to (unsigned) long long values" >&5 ++printf %s "checking if correctly converting long double to (unsigned) long long values... " >&6; } + + TEST_SRC="`(echo \"#define H5_LDOUBLE_TO_LLONG_ACCURATE_TEST 1\"; cat $srcdir/config/cmake/ConversionTests.c)`" + + if test ${ac_cv_sizeof_long_double} = 0; then + hdf5_cv_ldouble_to_llong_accurate=${hdf5_cv_ldouble_to_llong_accurate=no} + else +- if ${hdf5_cv_ldouble_to_llong_accurate+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if test "$cross_compiling" = yes; then : +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ if test ${hdf5_cv_ldouble_to_llong_accurate+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test "$cross_compiling" = yes ++then : ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error $? "cannot run test program while cross compiling + See \`config.log' for more details" "$LINENO" 5; } +-else ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $TEST_SRC + _ACEOF +-if ac_fn_c_try_run "$LINENO"; then : ++if ac_fn_c_try_run "$LINENO" ++then : + hdf5_cv_ldouble_to_llong_accurate=yes +-else ++else $as_nop + hdf5_cv_ldouble_to_llong_accurate=no + fi + rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ +@@ -30934,13 +32190,13 @@ + + if test ${hdf5_cv_ldouble_to_llong_accurate} = "yes"; then + +-$as_echo "#define LDOUBLE_TO_LLONG_ACCURATE 1" >>confdefs.h ++printf "%s\n" "#define LDOUBLE_TO_LLONG_ACCURATE 1" >>confdefs.h + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + +@@ -30952,30 +32208,33 @@ + ## When the bit sequences are 003fff..., 007fff..., 00ffff..., 01ffff..., + ## ..., 7fffff..., the converted values are twice as big as they should be. + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if correctly converting (unsigned) long long to long double values" >&5 +-$as_echo_n "checking if correctly converting (unsigned) long long to long double values... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if correctly converting (unsigned) long long to long double values" >&5 ++printf %s "checking if correctly converting (unsigned) long long to long double values... " >&6; } + + TEST_SRC="`(echo \"#define H5_LLONG_TO_LDOUBLE_CORRECT_TEST 1\"; cat $srcdir/config/cmake/ConversionTests.c)`" + + if test ${ac_cv_sizeof_long_double} = 0; then + hdf5_cv_llong_to_ldouble_correct=${hdf5_cv_llong_to_ldouble_correct=no} + else +- if ${hdf5_cv_llong_to_ldouble_correct+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if test "$cross_compiling" = yes; then : +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ if test ${hdf5_cv_llong_to_ldouble_correct+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test "$cross_compiling" = yes ++then : ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error $? "cannot run test program while cross compiling + See \`config.log' for more details" "$LINENO" 5; } +-else ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $TEST_SRC + _ACEOF +-if ac_fn_c_try_run "$LINENO"; then : ++if ac_fn_c_try_run "$LINENO" ++then : + hdf5_cv_llong_to_ldouble_correct=yes +-else ++else $as_nop + hdf5_cv_llong_to_ldouble_correct=no + fi + rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ +@@ -30988,43 +32247,46 @@ + + if test ${hdf5_cv_llong_to_ldouble_correct} = "yes"; then + +-$as_echo "#define LLONG_TO_LDOUBLE_CORRECT 1" >>confdefs.h ++printf "%s\n" "#define LLONG_TO_LDOUBLE_CORRECT 1" >>confdefs.h + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + ## ---------------------------------------------------------------------- + ## Set the flag to indicate that the machine is IBM ppc64le and cannot + ## accurately convert some long double values. + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the system is IBM ppc64le and cannot correctly convert some long double values" >&5 +-$as_echo_n "checking if the system is IBM ppc64le and cannot correctly convert some long double values... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the system is IBM ppc64le and cannot correctly convert some long double values" >&5 ++printf %s "checking if the system is IBM ppc64le and cannot correctly convert some long double values... " >&6; } + + TEST_SRC="`(echo \"#define H5_DISABLE_SOME_LDOUBLE_CONV_TEST 1\"; cat $srcdir/config/cmake/ConversionTests.c)`" + + if test ${ac_cv_sizeof_long_double} = 0; then + hdf5_cv_disable_some_ldouble_conv=${hdf5_cv_disable_some_ldouble_conv=no} + else +- if ${hdf5_cv_disable_some_ldouble_conv+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if test "$cross_compiling" = yes; then : +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++ if test ${hdf5_cv_disable_some_ldouble_conv+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test "$cross_compiling" = yes ++then : ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error $? "cannot run test program while cross compiling + See \`config.log' for more details" "$LINENO" 5; } +-else ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $TEST_SRC + _ACEOF +-if ac_fn_c_try_run "$LINENO"; then : ++if ac_fn_c_try_run "$LINENO" ++then : + hdf5_cv_disable_some_ldouble_conv=yes +-else ++else $as_nop + hdf5_cv_disable_some_ldouble_conv=no + fi + rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ +@@ -31037,13 +32299,13 @@ + + if test ${hdf5_cv_disable_some_ldouble_conv} = "yes"; then + +-$as_echo "#define DISABLE_SOME_LDOUBLE_CONV 1" >>confdefs.h ++printf "%s\n" "#define DISABLE_SOME_LDOUBLE_CONV 1" >>confdefs.h + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + ## ---------------------------------------------------------------------- +@@ -31190,12 +32452,13 @@ + ## data files used by tests, some optional tests). + ## Check if they want such programs built anyway. + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking additional programs should be built" >&5 +-$as_echo_n "checking additional programs should be built... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking additional programs should be built" >&5 ++printf %s "checking additional programs should be built... " >&6; } + # Check whether --enable-build-all was given. +-if test "${enable_build_all+set}" = set; then : ++if test ${enable_build_all+y} ++then : + enableval=$enable_build_all; BUILD_ALL=$enableval +-else ++else $as_nop + BUILD_ALL=no + fi + +@@ -31226,26 +32489,27 @@ + fi + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if deprecated public symbols are available" >&5 +-$as_echo_n "checking if deprecated public symbols are available... " >&6; }; ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if deprecated public symbols are available" >&5 ++printf %s "checking if deprecated public symbols are available... " >&6; }; + # Check whether --enable-deprecated-symbols was given. +-if test "${enable_deprecated_symbols+set}" = set; then : ++if test ${enable_deprecated_symbols+y} ++then : + enableval=$enable_deprecated_symbols; DEPREC_SYMBOLS=$enableval + fi + + + case "X-$DEPREC_SYMBOLS" in + X-yes) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + DEPRECATED_SYMBOLS=yes + ;; + X-no|*) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + DEPRECATED_SYMBOLS=no + +-$as_echo "#define NO_DEPRECATED_SYMBOLS 1" >>confdefs.h ++printf "%s\n" "#define NO_DEPRECATED_SYMBOLS 1" >>confdefs.h + + ;; + esac +@@ -31255,44 +32519,45 @@ + ## + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which version of public symbols to use by default" >&5 +-$as_echo_n "checking which version of public symbols to use by default... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which version of public symbols to use by default" >&5 ++printf %s "checking which version of public symbols to use by default... " >&6; } + + # Check whether --with-default-api-version was given. +-if test "${with_default_api_version+set}" = set; then : ++if test ${with_default_api_version+y} ++then : + withval=$with_default_api_version; +-else ++else $as_nop + withval=v112 + fi + + + if test "X$withval" = "Xv16"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: v16" >&5 +-$as_echo "v16" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: v16" >&5 ++printf "%s\n" "v16" >&6; } + DEFAULT_API_VERSION=v16 + +-$as_echo "#define USE_16_API_DEFAULT 1" >>confdefs.h ++printf "%s\n" "#define USE_16_API_DEFAULT 1" >>confdefs.h + + elif test "X$withval" = "Xv18"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: v18" >&5 +-$as_echo "v18" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: v18" >&5 ++printf "%s\n" "v18" >&6; } + DEFAULT_API_VERSION=v18 + +-$as_echo "#define USE_18_API_DEFAULT 1" >>confdefs.h ++printf "%s\n" "#define USE_18_API_DEFAULT 1" >>confdefs.h + + elif test "X$withval" = "Xv110"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: v110" >&5 +-$as_echo "v110" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: v110" >&5 ++printf "%s\n" "v110" >&6; } + DEFAULT_API_VERSION=v110 + +-$as_echo "#define USE_110_API_DEFAULT 1" >>confdefs.h ++printf "%s\n" "#define USE_110_API_DEFAULT 1" >>confdefs.h + + elif test "X$withval" = "Xv112"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: v112" >&5 +-$as_echo "v112" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: v112" >&5 ++printf "%s\n" "v112" >&6; } + DEFAULT_API_VERSION=v112 + +-$as_echo "#define USE_112_API_DEFAULT 1" >>confdefs.h ++printf "%s\n" "#define USE_112_API_DEFAULT 1" >>confdefs.h + + else + as_fn_error $? "invalid version of public symbols given" "$LINENO" 5 +@@ -31312,10 +32577,11 @@ + ## Enable strict file format checks + ## + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to perform strict file format checks" >&5 +-$as_echo_n "checking whether to perform strict file format checks... " >&6; }; ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to perform strict file format checks" >&5 ++printf %s "checking whether to perform strict file format checks... " >&6; }; + # Check whether --enable-strict-format-checks was given. +-if test "${enable_strict_format_checks+set}" = set; then : ++if test ${enable_strict_format_checks+y} ++then : + enableval=$enable_strict_format_checks; STRICT_FORMAT_CHECKS=$enableval + fi + +@@ -31331,15 +32597,15 @@ + + case "X-$STRICT_FORMAT_CHECKS" in + X-yes) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + +-$as_echo "#define STRICT_FORMAT_CHECKS 1" >>confdefs.h ++printf "%s\n" "#define STRICT_FORMAT_CHECKS 1" >>confdefs.h + + ;; + X-no) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + ;; + *) + as_fn_error $? "Unrecognized value: $STRICT_FORMAT_CHECKS" "$LINENO" 5 +@@ -31356,24 +32622,27 @@ + ## below. (Probably overkill to check for both, but we'll be extra careful) + PREADWRITE_HAVE_BOTH=yes + ac_fn_c_check_func "$LINENO" "pread" "ac_cv_func_pread" +-if test "x$ac_cv_func_pread" = xyes; then : ++if test "x$ac_cv_func_pread" = xyes ++then : + +-else ++else $as_nop + PREADWRITE_HAVE_BOTH=no + fi + + ac_fn_c_check_func "$LINENO" "pwrite" "ac_cv_func_pwrite" +-if test "x$ac_cv_func_pwrite" = xyes; then : ++if test "x$ac_cv_func_pwrite" = xyes ++then : + +-else ++else $as_nop + PREADWRITE_HAVE_BOTH=no + fi + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use pread/pwrite instead of read/write in certain VFDs" >&5 +-$as_echo_n "checking whether to use pread/pwrite instead of read/write in certain VFDs... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to use pread/pwrite instead of read/write in certain VFDs" >&5 ++printf %s "checking whether to use pread/pwrite instead of read/write in certain VFDs... " >&6; } + # Check whether --enable-preadwrite was given. +-if test "${enable_preadwrite+set}" = set; then : ++if test ${enable_preadwrite+y} ++then : + enableval=$enable_preadwrite; PREADWRITE=$enableval + fi + +@@ -31387,18 +32656,18 @@ + X-yes) + if test "X-$PREADWRITE_HAVE_BOTH" = "X-yes"; then + +-$as_echo "#define HAVE_PREADWRITE 1" >>confdefs.h ++printf "%s\n" "#define HAVE_PREADWRITE 1" >>confdefs.h + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + ;; + X-no) +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + ;; + *) + as_fn_error $? "Unrecognized value: $PREADWRITE" "$LINENO" 5 +@@ -31409,60 +32678,63 @@ + ## ---------------------------------------------------------------------- + ## Enable embedded library information + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to have library information embedded in the executables" >&5 +-$as_echo_n "checking whether to have library information embedded in the executables... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to have library information embedded in the executables" >&5 ++printf %s "checking whether to have library information embedded in the executables... " >&6; } + # Check whether --enable-embedded-libinfo was given. +-if test "${enable_embedded_libinfo+set}" = set; then : ++if test ${enable_embedded_libinfo+y} ++then : + enableval=$enable_embedded_libinfo; enable_embedded_libinfo=$enableval +-else ++else $as_nop + enable_embedded_libinfo=yes + fi + + + if test "${enable_embedded_libinfo}" = "yes"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + +-$as_echo "#define HAVE_EMBEDDED_LIBINFO 1" >>confdefs.h ++printf "%s\n" "#define HAVE_EMBEDDED_LIBINFO 1" >>confdefs.h + + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + fi + + + ## ---------------------------------------------------------------------- + ## Check if pointer alignments are enforced + ## +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if alignment restrictions are strictly enforced" >&5 +-$as_echo_n "checking if alignment restrictions are strictly enforced... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if alignment restrictions are strictly enforced" >&5 ++printf %s "checking if alignment restrictions are strictly enforced... " >&6; } + + TEST_SRC="`(echo \"#define H5_NO_ALIGNMENT_RESTRICTIONS_TEST 1\"; cat $srcdir/config/cmake/ConversionTests.c)`" + +-if test "$cross_compiling" = yes; then : ++if test "$cross_compiling" = yes ++then : + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unknown, assuming yes" >&5 +-$as_echo "unknown, assuming yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unknown, assuming yes" >&5 ++printf "%s\n" "unknown, assuming yes" >&6; } + +-else ++else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + $TEST_SRC + + _ACEOF +-if ac_fn_c_try_run "$LINENO"; then : ++if ac_fn_c_try_run "$LINENO" ++then : + + +-$as_echo "#define NO_ALIGNMENT_RESTRICTIONS 1" >>confdefs.h ++printf "%s\n" "#define NO_ALIGNMENT_RESTRICTIONS 1" >>confdefs.h + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + +-else ++else $as_nop + +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } + + fi + rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ +@@ -31586,8 +32858,8 @@ + fi + fi + : ${CONFIG_LT=./config.lt} +-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_LT" >&5 +-$as_echo "$as_me: creating $CONFIG_LT" >&6;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_LT" >&5 ++printf "%s\n" "$as_me: creating $CONFIG_LT" >&6;} + as_write_fail=0 + cat >"$CONFIG_LT" <<_ASEOF || as_write_fail=1 + #! $SHELL +@@ -31603,14 +32875,16 @@ + + # Be more Bourne compatible + DUALCASE=1; export DUALCASE # for MKS sh +-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++as_nop=: ++if test ${ZSH_VERSION+y} && (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 ++else $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( +@@ -31620,46 +32894,46 @@ + fi + + ++ ++# Reset variables that may have inherited troublesome values from ++# the environment. ++ ++# IFS needs to be set, to space, tab, and newline, in precisely that order. ++# (If _AS_PATH_WALK were called with IFS unset, it would have the ++# side effect of setting IFS to empty, thus disabling word splitting.) ++# Quoting is to prevent editors from complaining about space-tab. + 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 ++IFS=" "" $as_nl" + ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# Ensure predictable behavior from utilities with locale-dependent output. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE ++ ++# We cannot yet rely on "unset" to work, but we need these variables ++# to be unset--not just set to an empty or harmless value--now, to ++# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct ++# also avoids known problems related to "unset" and subshell syntax ++# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). ++for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH ++do eval test \${$as_var+y} \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++ ++# Ensure that fds 0, 1, and 2 are open. ++if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi ++if (exec 3>&2) ; then :; else exec 2>/dev/null; fi ++ + # The user is always right. +-if test "${PATH_SEPARATOR+set}" != set; then ++if ${PATH_SEPARATOR+false} :; 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 || +@@ -31668,13 +32942,6 @@ + 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 #(( +@@ -31683,8 +32950,12 @@ + 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ test -r "$as_dir$0" && as_myself=$as_dir$0 && break + done + IFS=$as_save_IFS + +@@ -31696,32 +32967,12 @@ + 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 ++ printf "%s\n" "$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 +@@ -31732,13 +32983,14 @@ + 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi +- $as_echo "$as_me: error: $2" >&2 ++ printf "%s\n" "$as_me: error: $2" >&2 + as_fn_exit $as_status + } # as_fn_error + + ++ + # as_fn_set_status STATUS + # ----------------------- + # Set $? to STATUS, without forking. +@@ -31765,18 +33017,20 @@ + { 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 : ++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 ++else $as_nop + as_fn_append () + { + eval $1=\$$1\$2 +@@ -31788,12 +33042,13 @@ + # 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 : ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null ++then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +-else ++else $as_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` +@@ -31824,7 +33079,7 @@ + $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X/"$0" | ++printf "%s\n" X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q +@@ -31846,6 +33101,10 @@ + as_cr_digits='0123456789' + as_cr_alnum=$as_cr_Letters$as_cr_digits + ++ ++# Determine whether it's possible to make 'echo' print without a newline. ++# These variables are no longer used directly by Autoconf, but are AC_SUBSTed ++# for compatibility with existing Makefiles. + ECHO_C= ECHO_N= ECHO_T= + case `echo -n x` in #((((( + -n*) +@@ -31859,6 +33118,12 @@ + ECHO_N='-n';; + esac + ++# For backward compatibility with old third-party macros, we provide ++# the shell variables $as_echo and $as_echo_n. New code should use ++# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. ++as_echo='printf %s\n' ++as_echo_n='printf %s' ++ + rm -f conf$$ conf$$.exe conf$$.file + if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +@@ -31900,7 +33165,7 @@ + as_dirs= + while :; do + case $as_dir in #( +- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" +@@ -31909,7 +33174,7 @@ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$as_dir" | ++printf "%s\n" X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -31992,7 +33257,7 @@ + + lt_cl_version="\ + HDF5 config.lt 1.12.0 +-configured by $0, generated by GNU Autoconf 2.69. ++configured by $0, generated by GNU Autoconf 2.71. + + Copyright (C) 2011 Free Software Foundation, Inc. + This config.lt script is free software; the Free Software Foundation +@@ -32495,8 +33760,8 @@ + _LTEOF + + cat >>"$CONFIG_LT" <<\_LTEOF +-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $ofile" >&5 +-$as_echo "$as_me: creating $ofile" >&6;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ofile" >&5 ++printf "%s\n" "$as_me: creating $ofile" >&6;} + + + # See if we are running on zsh, and set the options that allow our +@@ -33039,6 +34304,7 @@ + esac + + ++ + ltmain=$ac_aux_dir/ltmain.sh + + +@@ -33483,8 +34749,8 @@ + 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;} ;; ++ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( +@@ -33514,15 +34780,15 @@ + /^ac_cv_env_/b end + t clear + :clear +- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ ++ s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 ++printf "%s\n" "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else +@@ -33536,8 +34802,8 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 ++printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} + fi + fi + rm -f confcache +@@ -33554,7 +34820,7 @@ + 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"` ++ ac_i=`printf "%s\n" "$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" +@@ -33565,14 +34831,14 @@ + LTLIBOBJS=$ac_ltlibobjs + + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +-$as_echo_n "checking that generated files are newer than configure... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 ++printf %s "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +-$as_echo "done" >&6; } ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5 ++printf "%s\n" "done" >&6; } + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +@@ -33663,8 +34929,8 @@ + 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;} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 ++printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;} + as_write_fail=0 + cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 + #! $SHELL +@@ -33687,14 +34953,16 @@ + + # Be more Bourne compatible + DUALCASE=1; export DUALCASE # for MKS sh +-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : ++as_nop=: ++if test ${ZSH_VERSION+y} && (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 ++else $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( +@@ -33704,46 +34972,46 @@ + fi + + ++ ++# Reset variables that may have inherited troublesome values from ++# the environment. ++ ++# IFS needs to be set, to space, tab, and newline, in precisely that order. ++# (If _AS_PATH_WALK were called with IFS unset, it would have the ++# side effect of setting IFS to empty, thus disabling word splitting.) ++# Quoting is to prevent editors from complaining about space-tab. + 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 ++IFS=" "" $as_nl" + ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# Ensure predictable behavior from utilities with locale-dependent output. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE ++ ++# We cannot yet rely on "unset" to work, but we need these variables ++# to be unset--not just set to an empty or harmless value--now, to ++# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct ++# also avoids known problems related to "unset" and subshell syntax ++# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). ++for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH ++do eval test \${$as_var+y} \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++ ++# Ensure that fds 0, 1, and 2 are open. ++if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi ++if (exec 3>&2) ; then :; else exec 2>/dev/null; fi ++ + # The user is always right. +-if test "${PATH_SEPARATOR+set}" != set; then ++if ${PATH_SEPARATOR+false} :; 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 || +@@ -33752,13 +35020,6 @@ + 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 #(( +@@ -33767,8 +35028,12 @@ + 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 ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ test -r "$as_dir$0" && as_myself=$as_dir$0 && break + done + IFS=$as_save_IFS + +@@ -33780,32 +35045,12 @@ + 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 ++ printf "%s\n" "$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 +@@ -33816,13 +35061,14 @@ + 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 ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi +- $as_echo "$as_me: error: $2" >&2 ++ printf "%s\n" "$as_me: error: $2" >&2 + as_fn_exit $as_status + } # as_fn_error + + ++ + # as_fn_set_status STATUS + # ----------------------- + # Set $? to STATUS, without forking. +@@ -33849,18 +35095,20 @@ + { 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 : ++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 ++else $as_nop + as_fn_append () + { + eval $1=\$$1\$2 +@@ -33872,12 +35120,13 @@ + # 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 : ++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null ++then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +-else ++else $as_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` +@@ -33908,7 +35157,7 @@ + $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X/"$0" | ++printf "%s\n" X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q +@@ -33930,6 +35179,10 @@ + as_cr_digits='0123456789' + as_cr_alnum=$as_cr_Letters$as_cr_digits + ++ ++# Determine whether it's possible to make 'echo' print without a newline. ++# These variables are no longer used directly by Autoconf, but are AC_SUBSTed ++# for compatibility with existing Makefiles. + ECHO_C= ECHO_N= ECHO_T= + case `echo -n x` in #((((( + -n*) +@@ -33943,6 +35196,12 @@ + ECHO_N='-n';; + esac + ++# For backward compatibility with old third-party macros, we provide ++# the shell variables $as_echo and $as_echo_n. New code should use ++# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. ++as_echo='printf %s\n' ++as_echo_n='printf %s' ++ + rm -f conf$$ conf$$.exe conf$$.file + if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +@@ -33984,7 +35243,7 @@ + as_dirs= + while :; do + case $as_dir in #( +- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( ++ *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" +@@ -33993,7 +35252,7 @@ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$as_dir" | ++printf "%s\n" X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -34056,7 +35315,7 @@ + # values after options handling. + ac_log=" + This file was extended by HDF5 $as_me 1.12.0, which was +-generated by GNU Autoconf 2.69. Invocation command line was ++generated by GNU Autoconf 2.71. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS +@@ -34118,14 +35377,16 @@ + Report bugs to ." + + _ACEOF ++ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` ++ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ++ac_cs_config='$ac_cs_config_escaped' + ac_cs_version="\\ + HDF5 config.status 1.12.0 +-configured by $0, generated by GNU Autoconf 2.69, ++configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +-Copyright (C) 2012 Free Software Foundation, Inc. ++Copyright (C) 2021 Free Software Foundation, Inc. + This config.status script is free software; the Free Software Foundation + gives unlimited permission to copy, distribute and modify it." + +@@ -34165,15 +35426,15 @@ + -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 ;; ++ printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) +- $as_echo "$ac_cs_config"; exit ;; ++ printf "%s\n" "$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"` ;; ++ *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" +@@ -34181,7 +35442,7 @@ + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in +- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; +@@ -34190,7 +35451,7 @@ + as_fn_error $? "ambiguous option: \`$1' + Try \`$0 --help' for more information.";; + --help | --hel | -h ) +- $as_echo "$ac_cs_usage"; exit ;; ++ printf "%s\n" "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; +@@ -34218,7 +35479,7 @@ + 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 ++ \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +@@ -34232,7 +35493,7 @@ + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX + ## Running $as_me. ## + _ASBOX +- $as_echo "$ac_log" ++ printf "%s\n" "$ac_log" + } >&5 + + _ACEOF +@@ -34240,7 +35501,7 @@ + # + # INIT-COMMANDS + # +-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" ++AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" + + + # The HP-UX ksh and POSIX shell print the target directory to stdout +@@ -34866,9 +36127,9 @@ + # 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 +- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands ++ test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files ++ test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers ++ test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands + fi + + # Have a temporary directory for convenience. Make it in the build tree +@@ -35204,7 +36465,7 @@ + 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 ++ case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + +@@ -35212,17 +36473,17 @@ + # 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' ++ printf "%s\n" "$*" | 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 ++printf "%s\n" "$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" | ++ ac_sed_conf_input=`printf "%s\n" "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac +@@ -35239,7 +36500,7 @@ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$ac_file" | ++printf "%s\n" X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -35263,9 +36524,9 @@ + case "$ac_dir" in + .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) +- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` ++ ac_dir_suffix=/`printf "%s\n" "$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|/||'` ++ ac_top_builddir_sub=`printf "%s\n" "$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/ ;; +@@ -35327,8 +36588,8 @@ + 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 ++printf "%s\n" "$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=' +@@ -35372,9 +36633,9 @@ + { 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' ++ { printf "%s\n" "$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' ++printf "%s\n" "$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" +@@ -35390,20 +36651,20 @@ + # + if test x"$ac_file" != x-; then + { +- $as_echo "/* $configure_input */" \ ++ printf "%s\n" "/* $configure_input */" >&1 \ + && 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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 ++printf "%s\n" "$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 */" \ ++ printf "%s\n" "/* $configure_input */" >&1 \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +@@ -35423,7 +36684,7 @@ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$_am_arg" | ++printf "%s\n" X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -35443,8 +36704,8 @@ + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + +- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +-$as_echo "$as_me: executing $ac_file commands" >&6;} ++ :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 ++printf "%s\n" "$as_me: executing $ac_file commands" >&6;} + ;; + esac + +@@ -35471,29 +36732,35 @@ + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. +- case $CONFIG_FILES in +- *\'*) eval set x "$CONFIG_FILES" ;; +- *) set x $CONFIG_FILES ;; +- esac ++ # TODO: see whether this extra hack can be removed once we start ++ # requiring Autoconf 2.70 or later. ++ case $CONFIG_FILES in #( ++ *\'*) : ++ eval set x "$CONFIG_FILES" ;; #( ++ *) : ++ set x $CONFIG_FILES ;; #( ++ *) : ++ ;; ++esac + shift +- for mf ++ # Used to flag and report bootstrapping failures. ++ am_rc=0 ++ for am_mf + do + # Strip MF so we end up with the name of the file. +- mf=`echo "$mf" | sed -e 's/:.*$//'` +- # Check whether this is an Automake generated Makefile or not. +- # We used to match only the files named 'Makefile.in', but +- # some people rename them; so instead we look at the file content. +- # Grep'ing the first line is not enough: some people post-process +- # each Makefile.in and add a new line on top of each file to say so. +- # Grep'ing the whole file is not good either: AIX grep has a line ++ am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'` ++ # Check whether this is an Automake generated Makefile which includes ++ # dependency-tracking related rules and includes. ++ # Grep'ing the whole file directly is not great: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. +- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then +- dirpart=`$as_dirname -- "$mf" || +-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$mf" : 'X\(//\)[^/]' \| \ +- X"$mf" : 'X\(//\)$' \| \ +- X"$mf" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$mf" | ++ sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ ++ || continue ++ am_dirpart=`$as_dirname -- "$am_mf" || ++$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$am_mf" : 'X\(//\)[^/]' \| \ ++ X"$am_mf" : 'X\(//\)$' \| \ ++ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || ++printf "%s\n" X"$am_mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q +@@ -35511,53 +36778,50 @@ + q + } + s/.*/./; q'` +- else +- continue +- fi +- # Extract the definition of DEPDIR, am__include, and am__quote +- # from the Makefile without running 'make'. +- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` +- test -z "$DEPDIR" && continue +- am__include=`sed -n 's/^am__include = //p' < "$mf"` +- test -z "$am__include" && continue +- am__quote=`sed -n 's/^am__quote = //p' < "$mf"` +- # Find all dependency output files, they are included files with +- # $(DEPDIR) in their names. We invoke sed twice because it is the +- # simplest approach to changing $(DEPDIR) to its actual value in the +- # expansion. +- for file in `sed -n " +- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ +- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do +- # Make sure the directory exists. +- test -f "$dirpart/$file" && continue +- fdir=`$as_dirname -- "$file" || +-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$file" : 'X\(//\)[^/]' \| \ +- X"$file" : 'X\(//\)$' \| \ +- X"$file" : 'X\(/\)' \| . 2>/dev/null || +-$as_echo X"$file" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ am_filepart=`$as_basename -- "$am_mf" || ++$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$am_mf" : 'X\(//\)$' \| \ ++ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || ++printf "%s\n" X/"$am_mf" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } +- /^X\(\/\/\)[^/].*/{ ++ /^X\/\(\/\/\)$/{ + s//\1/ + q + } +- /^X\(\/\/\)$/{ ++ /^X\/\(\/\).*/{ + s//\1/ + q + } +- /^X\(\/\).*/{ +- s//\1/ +- q +- } + s/.*/./; q'` +- as_dir=$dirpart/$fdir; as_fn_mkdir_p +- # echo "creating $dirpart/$file" +- echo '# dummy' > "$dirpart/$file" +- done ++ { echo "$as_me:$LINENO: cd "$am_dirpart" \ ++ && sed -e '/# am--include-marker/d' "$am_filepart" \ ++ | $MAKE -f - am--depfiles" >&5 ++ (cd "$am_dirpart" \ ++ && sed -e '/# am--include-marker/d' "$am_filepart" \ ++ | $MAKE -f - am--depfiles) >&5 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } || am_rc=$? + done ++ if test $am_rc -ne 0; then ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} ++as_fn_error $? "Something went wrong bootstrapping makefile fragments ++ for automatic dependency tracking. If GNU make was not used, consider ++ re-running the configure script with MAKE=\"gmake\" (or whatever is ++ necessary). You can also try re-running configure with the ++ '--disable-dependency-tracking' option to at least be able to build ++ the package (albeit without support for automatic dependency tracking). ++See \`config.log' for more details" "$LINENO" 5; } ++ fi ++ { am_dirpart=; unset am_dirpart;} ++ { am_filepart=; unset am_filepart;} ++ { am_mf=; unset am_mf;} ++ { am_rc=; unset am_rc;} ++ rm -f conftest-deps.mk + } + ;; + "fortran/src/H5config_f.inc":H) cat fortran/src/H5config_f.inc | sed '1d;s%^/\* \(.*\) \*/%\1%;s/#define /#define H5_/;s/#undef /#undef H5_/' >fortran/src/H5config_f.inc.tmp; mv -f fortran/src/H5config_f.inc.tmp fortran/src/H5config_f.inc ;; +@@ -36103,6 +37367,7 @@ + esac + + ++ + ltmain=$ac_aux_dir/ltmain.sh + + +@@ -36458,8 +37723,8 @@ + $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;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 ++printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} + fi + + +@@ -36501,3 +37766,4 @@ + + ## show the configure settings + cat src/libhdf5.settings ++ +diff --color -urN a/hdf5-1.12.0/examples/Makefile.in b/hdf5-1.12.0/examples/Makefile.in +--- a/hdf5-1.12.0/examples/Makefile.in 2020-02-29 00:52:22 ++++ b/hdf5-1.12.0/examples/Makefile.in 2024-12-06 13:30:23 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -337,6 +337,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -396,8 +397,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -417,6 +419,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -622,6 +625,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -778,8 +782,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/examples.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -915,7 +919,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -952,8 +956,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/fortran/Makefile.in b/hdf5-1.12.0/fortran/Makefile.in +--- a/hdf5-1.12.0/fortran/Makefile.in 2020-02-29 00:52:22 ++++ b/hdf5-1.12.0/fortran/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -169,7 +169,7 @@ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) + AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ +- check recheck distdir ++ check recheck distdir distdir-am + am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) + # Read a list of newline-separated strings from the standard input, + # and print each of them once, without duplicates. Input order is +@@ -187,8 +187,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -371,6 +369,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + TEST_SUITE_LOG = test-suite.log + am__test_logs1 = $(TESTS:=.log) +@@ -452,8 +451,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -473,6 +473,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -678,6 +679,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -798,8 +800,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -1024,7 +1026,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1061,8 +1063,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/fortran/examples/Makefile.in b/hdf5-1.12.0/fortran/examples/Makefile.in +--- a/hdf5-1.12.0/fortran/examples/Makefile.in 2020-02-29 00:52:22 ++++ b/hdf5-1.12.0/fortran/examples/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -341,6 +341,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -401,8 +402,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -422,6 +424,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -627,6 +630,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -776,8 +780,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/examples.am $(top_srcdir)/config/conclude_fc.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -913,7 +917,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -950,8 +954,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/fortran/src/Makefile.in b/hdf5-1.12.0/fortran/src/Makefile.in +--- a/hdf5-1.12.0/fortran/src/Makefile.in 2020-02-29 00:52:22 ++++ b/hdf5-1.12.0/fortran/src/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -142,6 +142,7 @@ + CONFIG_HEADER = $(top_builddir)/src/H5config.h H5config_f.inc + CONFIG_CLEAN_FILES = h5fc H5fort_type_defines.h + CONFIG_CLEAN_VPATH_FILES = ++PROGRAMS = $(noinst_PROGRAMS) + am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; + am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ +@@ -187,7 +188,6 @@ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(FCLD) \ + $(AM_FCFLAGS) $(FCFLAGS) $(libhdf5_fortran_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +-PROGRAMS = $(noinst_PROGRAMS) + am_H5_buildiface_OBJECTS = H5_buildiface.$(OBJEXT) + H5_buildiface_OBJECTS = $(am_H5_buildiface_OBJECTS) + H5_buildiface_LDADD = $(LDADD) +@@ -208,7 +208,13 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/H5Af.Plo ./$(DEPDIR)/H5Df.Plo \ ++ ./$(DEPDIR)/H5Ef.Plo ./$(DEPDIR)/H5Ff.Plo ./$(DEPDIR)/H5Gf.Plo \ ++ ./$(DEPDIR)/H5If.Plo ./$(DEPDIR)/H5Lf.Plo ./$(DEPDIR)/H5Of.Plo \ ++ ./$(DEPDIR)/H5Pf.Plo ./$(DEPDIR)/H5Rf.Plo ./$(DEPDIR)/H5Sf.Plo \ ++ ./$(DEPDIR)/H5Tf.Plo ./$(DEPDIR)/H5Zf.Plo ./$(DEPDIR)/H5_f.Plo \ ++ ./$(DEPDIR)/H5f90kit.Plo ./$(DEPDIR)/H5match_types.Po + am__mv = mv -f + AM_V_PPFC = $(am__v_PPFC_@AM_V@) + am__v_PPFC_ = $(am__v_PPFC_@AM_DEFAULT_V@) +@@ -249,8 +255,8 @@ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ +- $(LISP)H5config_f.inc.in ++am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \ ++ H5config_f.inc.in + # Read a list of newline-separated strings from the standard input, + # and print each of them once, without duplicates. Input order is + # *not* preserved. +@@ -267,8 +273,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -424,6 +428,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -489,8 +494,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -510,6 +516,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -715,6 +722,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -895,8 +903,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/lt_vers.am $(top_srcdir)/config/conclude_fc.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -924,6 +932,15 @@ + H5fort_type_defines.h: $(top_builddir)/config.status $(srcdir)/H5fort_type_defines.h.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + ++clean-noinstPROGRAMS: ++ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ ++ echo " rm -f" $$list; \ ++ rm -f $$list || exit $$?; \ ++ test -n "$(EXEEXT)" || exit 0; \ ++ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ ++ echo " rm -f" $$list; \ ++ rm -f $$list ++ + install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ +@@ -962,15 +979,6 @@ + libhdf5_fortran.la: $(libhdf5_fortran_la_OBJECTS) $(libhdf5_fortran_la_DEPENDENCIES) $(EXTRA_libhdf5_fortran_la_DEPENDENCIES) + $(AM_V_FCLD)$(libhdf5_fortran_la_LINK) -rpath $(libdir) $(libhdf5_fortran_la_OBJECTS) $(libhdf5_fortran_la_LIBADD) $(LIBS) + +-clean-noinstPROGRAMS: +- @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ +- echo " rm -f" $$list; \ +- rm -f $$list || exit $$?; \ +- test -n "$(EXEEXT)" || exit 0; \ +- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ +- echo " rm -f" $$list; \ +- rm -f $$list +- + H5_buildiface$(EXEEXT): $(H5_buildiface_OBJECTS) $(H5_buildiface_DEPENDENCIES) $(EXTRA_H5_buildiface_DEPENDENCIES) + @rm -f H5_buildiface$(EXEEXT) + $(AM_V_FCLD)$(FCLINK) $(H5_buildiface_OBJECTS) $(H5_buildiface_LDADD) $(LIBS) +@@ -985,23 +993,29 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Af.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Df.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ef.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ff.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gf.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5If.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Lf.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Of.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pf.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Rf.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Sf.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tf.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Zf.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5_f.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5f90kit.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5match_types.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Af.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Df.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ef.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ff.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gf.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5If.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Lf.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Of.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pf.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Rf.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Sf.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tf.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Zf.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5_f.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5f90kit.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5match_types.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .F90.obj: + $(AM_V_PPFC)$(PPFCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +@@ -1197,7 +1211,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1234,8 +1248,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1269,14 +1285,15 @@ + $(MAKE) $(AM_MAKEFLAGS) check-TESTS + check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-am +-all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) H5config_f.inc all-local ++all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) H5config_f.inc all-local + installdirs: + for dir in "$(DESTDIR)$(libdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done + install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-am +-install-exec: install-exec-am ++install-exec: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) install-exec-am + install-data: install-data-am + uninstall: uninstall-am + +@@ -1317,7 +1334,22 @@ + clean-noinstPROGRAMS mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/H5Af.Plo ++ -rm -f ./$(DEPDIR)/H5Df.Plo ++ -rm -f ./$(DEPDIR)/H5Ef.Plo ++ -rm -f ./$(DEPDIR)/H5Ff.Plo ++ -rm -f ./$(DEPDIR)/H5Gf.Plo ++ -rm -f ./$(DEPDIR)/H5If.Plo ++ -rm -f ./$(DEPDIR)/H5Lf.Plo ++ -rm -f ./$(DEPDIR)/H5Of.Plo ++ -rm -f ./$(DEPDIR)/H5Pf.Plo ++ -rm -f ./$(DEPDIR)/H5Rf.Plo ++ -rm -f ./$(DEPDIR)/H5Sf.Plo ++ -rm -f ./$(DEPDIR)/H5Tf.Plo ++ -rm -f ./$(DEPDIR)/H5Zf.Plo ++ -rm -f ./$(DEPDIR)/H5_f.Plo ++ -rm -f ./$(DEPDIR)/H5f90kit.Plo ++ -rm -f ./$(DEPDIR)/H5match_types.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-local distclean-tags +@@ -1363,7 +1395,22 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/H5Af.Plo ++ -rm -f ./$(DEPDIR)/H5Df.Plo ++ -rm -f ./$(DEPDIR)/H5Ef.Plo ++ -rm -f ./$(DEPDIR)/H5Ff.Plo ++ -rm -f ./$(DEPDIR)/H5Gf.Plo ++ -rm -f ./$(DEPDIR)/H5If.Plo ++ -rm -f ./$(DEPDIR)/H5Lf.Plo ++ -rm -f ./$(DEPDIR)/H5Of.Plo ++ -rm -f ./$(DEPDIR)/H5Pf.Plo ++ -rm -f ./$(DEPDIR)/H5Rf.Plo ++ -rm -f ./$(DEPDIR)/H5Sf.Plo ++ -rm -f ./$(DEPDIR)/H5Tf.Plo ++ -rm -f ./$(DEPDIR)/H5Zf.Plo ++ -rm -f ./$(DEPDIR)/H5_f.Plo ++ -rm -f ./$(DEPDIR)/H5f90kit.Plo ++ -rm -f ./$(DEPDIR)/H5match_types.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic \ + maintainer-clean-local +@@ -1383,10 +1430,11 @@ + + uninstall-am: uninstall-libLTLIBRARIES uninstall-local + +-.MAKE: all check check-am install install-am install-strip ++.MAKE: all check check-am install install-am install-exec \ ++ install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-generic clean-libLTLIBRARIES \ ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-generic clean-libLTLIBRARIES \ + clean-libtool clean-local clean-noinstPROGRAMS cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-local distclean-tags \ +diff --color -urN a/hdf5-1.12.0/fortran/test/Makefile.in b/hdf5-1.12.0/fortran/test/Makefile.in +--- a/hdf5-1.12.0/fortran/test/Makefile.in 2020-02-29 00:52:22 ++++ b/hdf5-1.12.0/fortran/test/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -129,6 +129,10 @@ + $(top_builddir)/fortran/src/H5config_f.inc + CONFIG_CLEAN_FILES = + CONFIG_CLEAN_VPATH_FILES = ++am__EXEEXT_1 = fortranlib_test$(EXEEXT) fflush1$(EXEEXT) \ ++ fflush2$(EXEEXT) fortranlib_test_1_8$(EXEEXT) \ ++ fortranlib_test_F03$(EXEEXT) vol_connector$(EXEEXT) ++PROGRAMS = $(noinst_PROGRAMS) + LTLIBRARIES = $(noinst_LTLIBRARIES) + libh5test_fortran_la_LIBADD = + am_libh5test_fortran_la_OBJECTS = tf_gen.lo tf.lo t.lo +@@ -137,10 +141,6 @@ + am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) + am__v_lt_0 = --silent + am__v_lt_1 = +-am__EXEEXT_1 = fortranlib_test$(EXEEXT) fflush1$(EXEEXT) \ +- fflush2$(EXEEXT) fortranlib_test_1_8$(EXEEXT) \ +- fortranlib_test_F03$(EXEEXT) vol_connector$(EXEEXT) +-PROGRAMS = $(noinst_PROGRAMS) + am_H5_test_buildiface_OBJECTS = H5_test_buildiface.$(OBJEXT) + H5_test_buildiface_OBJECTS = $(am_H5_test_buildiface_OBJECTS) + H5_test_buildiface_DEPENDENCIES = +@@ -197,7 +197,8 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/t.Plo + am__mv = mv -f + AM_V_PPFC = $(am__v_PPFC_@AM_V@) + am__v_PPFC_ = $(am__v_PPFC_@AM_DEFAULT_V@) +@@ -261,8 +262,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -445,6 +444,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -509,8 +509,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -530,6 +531,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -735,6 +737,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -878,8 +881,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude_fc.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -892,20 +895,6 @@ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + $(am__aclocal_m4_deps): + +-clean-noinstLTLIBRARIES: +- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) +- @list='$(noinst_LTLIBRARIES)'; \ +- locs=`for p in $$list; do echo $$p; done | \ +- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ +- sort -u`; \ +- test -z "$$locs" || { \ +- echo rm -f $${locs}; \ +- rm -f $${locs}; \ +- } +- +-libh5test_fortran.la: $(libh5test_fortran_la_OBJECTS) $(libh5test_fortran_la_DEPENDENCIES) $(EXTRA_libh5test_fortran_la_DEPENDENCIES) +- $(AM_V_FCLD)$(FCLINK) $(libh5test_fortran_la_OBJECTS) $(libh5test_fortran_la_LIBADD) $(LIBS) +- + clean-checkPROGRAMS: + @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ +@@ -924,6 +913,20 @@ + echo " rm -f" $$list; \ + rm -f $$list + ++clean-noinstLTLIBRARIES: ++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) ++ @list='$(noinst_LTLIBRARIES)'; \ ++ locs=`for p in $$list; do echo $$p; done | \ ++ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ ++ sort -u`; \ ++ test -z "$$locs" || { \ ++ echo rm -f $${locs}; \ ++ rm -f $${locs}; \ ++ } ++ ++libh5test_fortran.la: $(libh5test_fortran_la_OBJECTS) $(libh5test_fortran_la_DEPENDENCIES) $(EXTRA_libh5test_fortran_la_DEPENDENCIES) ++ $(AM_V_FCLD)$(FCLINK) $(libh5test_fortran_la_OBJECTS) $(libh5test_fortran_la_LIBADD) $(LIBS) ++ + H5_test_buildiface$(EXEEXT): $(H5_test_buildiface_OBJECTS) $(H5_test_buildiface_DEPENDENCIES) $(EXTRA_H5_test_buildiface_DEPENDENCIES) + @rm -f H5_test_buildiface$(EXEEXT) + $(AM_V_FCLD)$(FCLINK) $(H5_test_buildiface_OBJECTS) $(H5_test_buildiface_LDADD) $(LIBS) +@@ -958,8 +961,14 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t.Plo@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .F90.obj: + $(AM_V_PPFC)$(PPFCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +@@ -1155,7 +1164,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1234,8 +1243,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1269,7 +1280,7 @@ + $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) + $(MAKE) $(AM_MAKEFLAGS) check-TESTS + check: check-am +-all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) all-local ++all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) all-local + installdirs: + install: install-am + install-exec: install-exec-am +@@ -1311,7 +1322,7 @@ + clean-noinstLTLIBRARIES clean-noinstPROGRAMS mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/t.Plo + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-local distclean-tags +@@ -1357,7 +1368,7 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/t.Plo + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic \ + maintainer-clean-local +@@ -1379,18 +1390,18 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ +- clean-local clean-noinstLTLIBRARIES clean-noinstPROGRAMS \ +- cscopelist-am ctags ctags-am distclean distclean-compile \ +- distclean-generic distclean-libtool distclean-local \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ +- install-dvi-am install-exec install-exec-am install-html \ +- install-html-am install-info install-info-am install-man \ +- install-pdf install-pdf-am install-ps install-ps-am \ +- install-strip installcheck installcheck-am installdirs \ +- maintainer-clean maintainer-clean-generic \ ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-checkPROGRAMS clean-generic \ ++ clean-libtool clean-local clean-noinstLTLIBRARIES \ ++ clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-local distclean-tags distdir dvi dvi-am html html-am \ ++ info info-am install install-am install-data install-data-am \ ++ install-dvi install-dvi-am install-exec install-exec-am \ ++ install-html install-html-am install-info install-info-am \ ++ install-man install-pdf install-pdf-am install-ps \ ++ install-ps-am install-strip installcheck installcheck-am \ ++ installdirs maintainer-clean maintainer-clean-generic \ + maintainer-clean-local mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ + pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am +diff --color -urN a/hdf5-1.12.0/fortran/testpar/Makefile.in b/hdf5-1.12.0/fortran/testpar/Makefile.in +--- a/hdf5-1.12.0/fortran/testpar/Makefile.in 2020-02-29 00:52:22 ++++ b/hdf5-1.12.0/fortran/testpar/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -206,8 +206,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -390,6 +388,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -453,8 +452,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -474,6 +474,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -679,6 +680,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -799,8 +801,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude_fc.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -1003,7 +1005,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1040,8 +1042,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/hl/Makefile.in b/hdf5-1.12.0/hl/Makefile.in +--- a/hdf5-1.12.0/hl/Makefile.in 2020-02-29 00:52:22 ++++ b/hdf5-1.12.0/hl/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -169,7 +169,7 @@ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) + AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ +- check recheck distdir ++ check recheck distdir distdir-am + am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) + # Read a list of newline-separated strings from the standard input, + # and print each of them once, without duplicates. Input order is +@@ -187,8 +187,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -371,6 +369,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + TEST_SUITE_LOG = test-suite.log + am__test_logs1 = $(TESTS:=.log) +@@ -452,8 +451,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -473,6 +473,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -678,6 +679,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -796,8 +798,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -1022,7 +1024,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1059,8 +1061,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/hl/c++/Makefile.in b/hdf5-1.12.0/hl/c++/Makefile.in +--- a/hdf5-1.12.0/hl/c++/Makefile.in 2020-02-29 00:52:22 ++++ b/hdf5-1.12.0/hl/c++/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -165,7 +165,7 @@ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) + AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ +- check recheck distdir ++ check recheck distdir distdir-am + am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) + # Read a list of newline-separated strings from the standard input, + # and print each of them once, without duplicates. Input order is +@@ -183,8 +183,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -367,6 +365,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + TEST_SUITE_LOG = test-suite.log + am__test_logs1 = $(TESTS:=.log) +@@ -448,8 +447,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -469,6 +469,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -674,6 +675,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -782,8 +784,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -1008,7 +1010,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1045,8 +1047,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/hl/c++/examples/Makefile.in b/hdf5-1.12.0/hl/c++/examples/Makefile.in +--- a/hdf5-1.12.0/hl/c++/examples/Makefile.in 2020-02-29 00:52:22 ++++ b/hdf5-1.12.0/hl/c++/examples/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -337,6 +337,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -395,8 +396,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -416,6 +418,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -621,6 +624,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -750,8 +754,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/examples.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -885,7 +889,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -922,8 +926,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/hl/c++/src/Makefile.in b/hdf5-1.12.0/hl/c++/src/Makefile.in +--- a/hdf5-1.12.0/hl/c++/src/Makefile.in 2020-02-29 00:52:22 ++++ b/hdf5-1.12.0/hl/c++/src/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -188,7 +188,8 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/H5PacketTable.Plo + am__mv = mv -f + CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +@@ -233,8 +234,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -390,6 +389,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -451,8 +451,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -472,6 +473,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -677,6 +679,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -826,8 +829,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/lt_vers.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -884,8 +887,14 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5PacketTable.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5PacketTable.Plo@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .cpp.o: + @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1096,7 +1105,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1133,8 +1142,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1211,7 +1222,7 @@ + mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/H5PacketTable.Plo + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1257,7 +1268,7 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/H5PacketTable.Plo + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1278,8 +1289,8 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-generic clean-libLTLIBRARIES \ ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-generic clean-libLTLIBRARIES \ + clean-libtool cscopelist-am ctags ctags-am distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ +diff --color -urN a/hdf5-1.12.0/hl/c++/test/Makefile.in b/hdf5-1.12.0/hl/c++/test/Makefile.in +--- a/hdf5-1.12.0/hl/c++/test/Makefile.in 2020-02-29 00:52:23 ++++ b/hdf5-1.12.0/hl/c++/test/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -156,7 +156,8 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/ptableTest.Po + am__mv = mv -f + CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +@@ -200,8 +201,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -384,6 +383,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -448,8 +448,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -469,6 +470,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -674,6 +676,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -789,8 +792,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -822,8 +825,14 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptableTest.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptableTest.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .cpp.o: + @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1013,7 +1022,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1057,8 +1066,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1133,7 +1144,7 @@ + mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/ptableTest.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1179,7 +1190,7 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/ptableTest.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1200,19 +1211,20 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ +- cscopelist-am ctags ctags-am distclean distclean-compile \ +- distclean-generic distclean-libtool distclean-tags distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-data install-data-am install-dvi install-dvi-am \ +- install-exec install-exec-am install-html install-html-am \ +- install-info install-info-am install-man install-pdf \ +- install-pdf-am install-ps install-ps-am install-strip \ +- installcheck installcheck-am installdirs maintainer-clean \ +- maintainer-clean-generic mostlyclean mostlyclean-compile \ +- mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ +- pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-checkPROGRAMS clean-generic \ ++ clean-libtool cscopelist-am ctags ctags-am distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags distdir dvi dvi-am html html-am info info-am \ ++ install install-am install-data install-data-am install-dvi \ ++ install-dvi-am install-exec install-exec-am install-html \ ++ install-html-am install-info install-info-am install-man \ ++ install-pdf install-pdf-am install-ps install-ps-am \ ++ install-strip installcheck installcheck-am installdirs \ ++ maintainer-clean maintainer-clean-generic mostlyclean \ ++ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ ++ mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \ ++ uninstall uninstall-am + + .PRECIOUS: Makefile + +diff --color -urN a/hdf5-1.12.0/hl/examples/Makefile.in b/hdf5-1.12.0/hl/examples/Makefile.in +--- a/hdf5-1.12.0/hl/examples/Makefile.in 2020-02-29 00:52:23 ++++ b/hdf5-1.12.0/hl/examples/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -337,6 +337,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -395,8 +396,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -416,6 +418,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -621,6 +624,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -765,8 +769,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/examples.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -900,7 +904,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -937,8 +941,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/hl/fortran/Makefile.in b/hdf5-1.12.0/hl/fortran/Makefile.in +--- a/hdf5-1.12.0/hl/fortran/Makefile.in 2020-02-29 00:52:23 ++++ b/hdf5-1.12.0/hl/fortran/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -169,7 +169,7 @@ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) + AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ +- check recheck distdir ++ check recheck distdir distdir-am + am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) + # Read a list of newline-separated strings from the standard input, + # and print each of them once, without duplicates. Input order is +@@ -187,8 +187,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -371,6 +369,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + TEST_SUITE_LOG = test-suite.log + am__test_logs1 = $(TESTS:=.log) +@@ -452,8 +451,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -473,6 +473,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -678,6 +679,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -786,8 +788,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -1012,7 +1014,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1049,8 +1051,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/hl/fortran/examples/Makefile.in b/hdf5-1.12.0/hl/fortran/examples/Makefile.in +--- a/hdf5-1.12.0/hl/fortran/examples/Makefile.in 2020-02-29 00:52:23 ++++ b/hdf5-1.12.0/hl/fortran/examples/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -341,6 +341,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -401,8 +402,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -422,6 +424,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -627,6 +630,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -765,8 +769,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/examples.am $(top_srcdir)/config/conclude_fc.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -900,7 +904,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -937,8 +941,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/hl/fortran/src/Makefile.in b/hdf5-1.12.0/hl/fortran/src/Makefile.in +--- a/hdf5-1.12.0/hl/fortran/src/Makefile.in 2020-02-29 00:52:23 ++++ b/hdf5-1.12.0/hl/fortran/src/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -143,6 +143,7 @@ + $(top_builddir)/fortran/src/H5config_f.inc + CONFIG_CLEAN_FILES = + CONFIG_CLEAN_VPATH_FILES = ++PROGRAMS = $(noinst_PROGRAMS) + am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; + am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ +@@ -185,7 +186,6 @@ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(FCLD) \ + $(AM_FCFLAGS) $(FCFLAGS) $(libhdf5hl_fortran_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +-PROGRAMS = $(noinst_PROGRAMS) + am_H5HL_buildiface_OBJECTS = H5HL_buildiface.$(OBJEXT) + H5HL_buildiface_OBJECTS = $(am_H5HL_buildiface_OBJECTS) + H5HL_buildiface_LDADD = $(LDADD) +@@ -203,7 +203,10 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/H5DSfc.Plo ./$(DEPDIR)/H5IMcc.Plo \ ++ ./$(DEPDIR)/H5IMfc.Plo ./$(DEPDIR)/H5LTfc.Plo \ ++ ./$(DEPDIR)/H5TBfc.Plo + am__mv = mv -f + AM_V_PPFC = $(am__v_PPFC_@AM_V@) + am__v_PPFC_ = $(am__v_PPFC_@AM_DEFAULT_V@) +@@ -260,8 +263,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -417,6 +418,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -479,8 +481,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -500,6 +503,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -705,6 +709,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -863,8 +868,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/lt_vers.am $(top_srcdir)/config/conclude_fc.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -877,6 +882,15 @@ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + $(am__aclocal_m4_deps): + ++clean-noinstPROGRAMS: ++ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ ++ echo " rm -f" $$list; \ ++ rm -f $$list || exit $$?; \ ++ test -n "$(EXEEXT)" || exit 0; \ ++ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ ++ echo " rm -f" $$list; \ ++ rm -f $$list ++ + install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ +@@ -915,15 +929,6 @@ + libhdf5hl_fortran.la: $(libhdf5hl_fortran_la_OBJECTS) $(libhdf5hl_fortran_la_DEPENDENCIES) $(EXTRA_libhdf5hl_fortran_la_DEPENDENCIES) + $(AM_V_FCLD)$(libhdf5hl_fortran_la_LINK) -rpath $(libdir) $(libhdf5hl_fortran_la_OBJECTS) $(libhdf5hl_fortran_la_LIBADD) $(LIBS) + +-clean-noinstPROGRAMS: +- @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ +- echo " rm -f" $$list; \ +- rm -f $$list || exit $$?; \ +- test -n "$(EXEEXT)" || exit 0; \ +- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ +- echo " rm -f" $$list; \ +- rm -f $$list +- + H5HL_buildiface$(EXEEXT): $(H5HL_buildiface_OBJECTS) $(H5HL_buildiface_DEPENDENCIES) $(EXTRA_H5HL_buildiface_DEPENDENCIES) + @rm -f H5HL_buildiface$(EXEEXT) + $(AM_V_FCLD)$(FCLINK) $(H5HL_buildiface_OBJECTS) $(H5HL_buildiface_LDADD) $(LIBS) +@@ -934,12 +939,18 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5DSfc.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5IMcc.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5IMfc.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5LTfc.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5TBfc.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5DSfc.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5IMcc.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5IMfc.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5LTfc.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5TBfc.Plo@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .F90.obj: + $(AM_V_PPFC)$(PPFCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +@@ -1135,7 +1146,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1172,8 +1183,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1206,7 +1219,7 @@ + check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-TESTS + check: check-am +-all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) all-local ++all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) all-local + installdirs: + for dir in "$(DESTDIR)$(libdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ +@@ -1250,7 +1263,11 @@ + clean-noinstPROGRAMS mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/H5DSfc.Plo ++ -rm -f ./$(DEPDIR)/H5IMcc.Plo ++ -rm -f ./$(DEPDIR)/H5IMfc.Plo ++ -rm -f ./$(DEPDIR)/H5LTfc.Plo ++ -rm -f ./$(DEPDIR)/H5TBfc.Plo + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-local distclean-tags +@@ -1297,7 +1314,11 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/H5DSfc.Plo ++ -rm -f ./$(DEPDIR)/H5IMcc.Plo ++ -rm -f ./$(DEPDIR)/H5IMfc.Plo ++ -rm -f ./$(DEPDIR)/H5LTfc.Plo ++ -rm -f ./$(DEPDIR)/H5TBfc.Plo + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic \ + maintainer-clean-local +@@ -1319,8 +1340,8 @@ + + .MAKE: check-am install-am install-exec-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-generic clean-libLTLIBRARIES \ ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-generic clean-libLTLIBRARIES \ + clean-libtool clean-local clean-noinstPROGRAMS cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-local distclean-tags distdir dvi \ +diff --color -urN a/hdf5-1.12.0/hl/fortran/test/Makefile.in b/hdf5-1.12.0/hl/fortran/test/Makefile.in +--- a/hdf5-1.12.0/hl/fortran/test/Makefile.in 2020-02-29 00:52:23 ++++ b/hdf5-1.12.0/hl/fortran/test/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -218,8 +218,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -402,6 +400,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -468,8 +467,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -489,6 +489,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -694,6 +695,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -817,8 +819,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude_fc.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -1033,7 +1035,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1098,8 +1100,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/hl/src/Makefile.in b/hdf5-1.12.0/hl/src/Makefile.in +--- a/hdf5-1.12.0/hl/src/Makefile.in 2020-02-29 00:52:23 ++++ b/hdf5-1.12.0/hl/src/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -188,7 +188,11 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/H5DO.Plo ./$(DEPDIR)/H5DS.Plo \ ++ ./$(DEPDIR)/H5IM.Plo ./$(DEPDIR)/H5LD.Plo ./$(DEPDIR)/H5LT.Plo \ ++ ./$(DEPDIR)/H5LTanalyze.Plo ./$(DEPDIR)/H5LTparse.Plo \ ++ ./$(DEPDIR)/H5PT.Plo ./$(DEPDIR)/H5TB.Plo + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -233,8 +237,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -390,6 +392,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -450,8 +453,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -471,6 +475,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -676,6 +681,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -824,8 +830,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/lt_vers.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -882,16 +888,22 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5DO.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5DS.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5IM.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5LD.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5LT.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5LTanalyze.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5LTparse.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5PT.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5TB.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5DO.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5DS.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5IM.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5LD.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5LT.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5LTanalyze.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5LTparse.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5PT.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5TB.Plo@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1102,7 +1114,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1139,8 +1151,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1217,7 +1231,15 @@ + mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/H5DO.Plo ++ -rm -f ./$(DEPDIR)/H5DS.Plo ++ -rm -f ./$(DEPDIR)/H5IM.Plo ++ -rm -f ./$(DEPDIR)/H5LD.Plo ++ -rm -f ./$(DEPDIR)/H5LT.Plo ++ -rm -f ./$(DEPDIR)/H5LTanalyze.Plo ++ -rm -f ./$(DEPDIR)/H5LTparse.Plo ++ -rm -f ./$(DEPDIR)/H5PT.Plo ++ -rm -f ./$(DEPDIR)/H5TB.Plo + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1263,7 +1285,15 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/H5DO.Plo ++ -rm -f ./$(DEPDIR)/H5DS.Plo ++ -rm -f ./$(DEPDIR)/H5IM.Plo ++ -rm -f ./$(DEPDIR)/H5LD.Plo ++ -rm -f ./$(DEPDIR)/H5LT.Plo ++ -rm -f ./$(DEPDIR)/H5LTanalyze.Plo ++ -rm -f ./$(DEPDIR)/H5LTparse.Plo ++ -rm -f ./$(DEPDIR)/H5PT.Plo ++ -rm -f ./$(DEPDIR)/H5TB.Plo + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1284,8 +1314,8 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-generic clean-libLTLIBRARIES \ ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-generic clean-libLTLIBRARIES \ + clean-libtool cscopelist-am ctags ctags-am distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ +diff --color -urN a/hdf5-1.12.0/hl/test/Makefile.in b/hdf5-1.12.0/hl/test/Makefile.in +--- a/hdf5-1.12.0/hl/test/Makefile.in 2020-02-29 00:52:23 ++++ b/hdf5-1.12.0/hl/test/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -204,7 +204,14 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/gen_test_ds.Po \ ++ ./$(DEPDIR)/gen_test_ld.Po ./$(DEPDIR)/test_ds.Po \ ++ ./$(DEPDIR)/test_dset_append.Po ./$(DEPDIR)/test_file_image.Po \ ++ ./$(DEPDIR)/test_h5do_compat.Po ./$(DEPDIR)/test_image.Po \ ++ ./$(DEPDIR)/test_ld.Po ./$(DEPDIR)/test_lite.Po \ ++ ./$(DEPDIR)/test_packet.Po ./$(DEPDIR)/test_packet_vlen.Po \ ++ ./$(DEPDIR)/test_table.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -253,8 +260,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -437,6 +442,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -502,8 +508,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -523,6 +530,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -728,6 +736,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -858,8 +867,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -942,19 +951,25 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_test_ds.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_test_ld.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_ds.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_dset_append.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_file_image.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_h5do_compat.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_image.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_ld.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_lite.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_packet.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_packet_vlen.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_table.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_test_ds.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_test_ld.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_ds.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_dset_append.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_file_image.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_h5do_compat.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_image.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_ld.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_lite.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_packet.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_packet_vlen.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_table.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1144,7 +1159,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1244,8 +1259,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1320,7 +1337,18 @@ + clean-noinstPROGRAMS mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/gen_test_ds.Po ++ -rm -f ./$(DEPDIR)/gen_test_ld.Po ++ -rm -f ./$(DEPDIR)/test_ds.Po ++ -rm -f ./$(DEPDIR)/test_dset_append.Po ++ -rm -f ./$(DEPDIR)/test_file_image.Po ++ -rm -f ./$(DEPDIR)/test_h5do_compat.Po ++ -rm -f ./$(DEPDIR)/test_image.Po ++ -rm -f ./$(DEPDIR)/test_ld.Po ++ -rm -f ./$(DEPDIR)/test_lite.Po ++ -rm -f ./$(DEPDIR)/test_packet.Po ++ -rm -f ./$(DEPDIR)/test_packet_vlen.Po ++ -rm -f ./$(DEPDIR)/test_table.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1366,7 +1394,18 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/gen_test_ds.Po ++ -rm -f ./$(DEPDIR)/gen_test_ld.Po ++ -rm -f ./$(DEPDIR)/test_ds.Po ++ -rm -f ./$(DEPDIR)/test_dset_append.Po ++ -rm -f ./$(DEPDIR)/test_file_image.Po ++ -rm -f ./$(DEPDIR)/test_h5do_compat.Po ++ -rm -f ./$(DEPDIR)/test_image.Po ++ -rm -f ./$(DEPDIR)/test_ld.Po ++ -rm -f ./$(DEPDIR)/test_lite.Po ++ -rm -f ./$(DEPDIR)/test_packet.Po ++ -rm -f ./$(DEPDIR)/test_packet_vlen.Po ++ -rm -f ./$(DEPDIR)/test_table.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1387,20 +1426,20 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ +- clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \ +- distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ +- install-dvi-am install-exec install-exec-am install-html \ +- install-html-am install-info install-info-am install-man \ +- install-pdf install-pdf-am install-ps install-ps-am \ +- install-strip installcheck installcheck-am installdirs \ +- maintainer-clean maintainer-clean-generic mostlyclean \ +- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ +- mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \ +- uninstall uninstall-am ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-checkPROGRAMS clean-generic \ ++ clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \ ++ ctags-am distclean distclean-compile distclean-generic \ ++ distclean-libtool distclean-tags distdir dvi dvi-am html \ ++ html-am info info-am install install-am install-data \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-compile \ ++ mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ ++ pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am + + .PRECIOUS: Makefile + +diff --color -urN a/hdf5-1.12.0/hl/tools/Makefile.in b/hdf5-1.12.0/hl/tools/Makefile.in +--- a/hdf5-1.12.0/hl/tools/Makefile.in 2020-02-29 00:52:23 ++++ b/hdf5-1.12.0/hl/tools/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -165,7 +165,7 @@ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) + AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ +- check recheck distdir ++ check recheck distdir distdir-am + am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) + # Read a list of newline-separated strings from the standard input, + # and print each of them once, without duplicates. Input order is +@@ -183,8 +183,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -367,6 +365,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + TEST_SUITE_LOG = test-suite.log + am__test_logs1 = $(TESTS:=.log) +@@ -449,8 +448,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -470,6 +470,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -675,6 +676,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -782,8 +784,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -1008,7 +1010,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1045,8 +1047,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/hl/tools/gif2h5/Makefile.in b/hdf5-1.12.0/hl/tools/gif2h5/Makefile.in +--- a/hdf5-1.12.0/hl/tools/gif2h5/Makefile.in 2020-02-29 00:52:23 ++++ b/hdf5-1.12.0/hl/tools/gif2h5/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -175,7 +175,11 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/decompress.Po ./$(DEPDIR)/gif2hdf.Po \ ++ ./$(DEPDIR)/gif2mem.Po ./$(DEPDIR)/gifread.Po \ ++ ./$(DEPDIR)/h52gifgentst.Po ./$(DEPDIR)/hdf2gif.Po \ ++ ./$(DEPDIR)/hdfgifwr.Po ./$(DEPDIR)/writehdf.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -220,8 +224,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -404,6 +406,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -465,8 +468,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -486,6 +490,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -691,6 +696,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -808,8 +814,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -900,15 +906,21 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decompress.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gif2hdf.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gif2mem.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gifread.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h52gifgentst.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hdf2gif.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hdfgifwr.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/writehdf.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decompress.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gif2hdf.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gif2mem.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gifread.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h52gifgentst.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hdf2gif.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hdfgifwr.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/writehdf.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1098,7 +1110,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1135,8 +1147,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1214,7 +1228,14 @@ + clean-noinstPROGRAMS mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/decompress.Po ++ -rm -f ./$(DEPDIR)/gif2hdf.Po ++ -rm -f ./$(DEPDIR)/gif2mem.Po ++ -rm -f ./$(DEPDIR)/gifread.Po ++ -rm -f ./$(DEPDIR)/h52gifgentst.Po ++ -rm -f ./$(DEPDIR)/hdf2gif.Po ++ -rm -f ./$(DEPDIR)/hdfgifwr.Po ++ -rm -f ./$(DEPDIR)/writehdf.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1260,7 +1281,14 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/decompress.Po ++ -rm -f ./$(DEPDIR)/gif2hdf.Po ++ -rm -f ./$(DEPDIR)/gif2mem.Po ++ -rm -f ./$(DEPDIR)/gifread.Po ++ -rm -f ./$(DEPDIR)/h52gifgentst.Po ++ -rm -f ./$(DEPDIR)/hdf2gif.Po ++ -rm -f ./$(DEPDIR)/hdfgifwr.Po ++ -rm -f ./$(DEPDIR)/writehdf.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1281,17 +1309,17 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-binPROGRAMS clean-generic clean-libtool \ +- clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \ +- distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-binPROGRAMS install-data \ +- install-data-am install-dvi install-dvi-am install-exec \ +- install-exec-am install-html install-html-am install-info \ +- install-info-am install-man install-pdf install-pdf-am \ +- install-ps install-ps-am install-strip installcheck \ +- installcheck-am installdirs maintainer-clean \ ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-binPROGRAMS clean-generic \ ++ clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \ ++ ctags-am distclean distclean-compile distclean-generic \ ++ distclean-libtool distclean-tags distdir dvi dvi-am html \ ++ html-am info info-am install install-am install-binPROGRAMS \ ++ install-data install-data-am install-dvi install-dvi-am \ ++ install-exec install-exec-am install-html install-html-am \ ++ install-info install-info-am install-man install-pdf \ ++ install-pdf-am install-ps install-ps-am install-strip \ ++ installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ + pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am \ +diff --color -urN a/hdf5-1.12.0/hl/tools/h5watch/Makefile.in b/hdf5-1.12.0/hl/tools/h5watch/Makefile.in +--- a/hdf5-1.12.0/hl/tools/h5watch/Makefile.in 2020-02-29 00:52:23 ++++ b/hdf5-1.12.0/hl/tools/h5watch/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -178,7 +178,10 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/extend_dset-extend_dset.Po \ ++ ./$(DEPDIR)/h5watch.Po ./$(DEPDIR)/h5watchgentest.Po \ ++ ./$(DEPDIR)/swmr_check_compat_vfd.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -224,8 +227,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -408,6 +409,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -470,8 +472,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -491,6 +494,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -696,6 +700,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -814,8 +819,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -910,11 +915,17 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/extend_dset-extend_dset.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5watch.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5watchgentest.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_check_compat_vfd.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/extend_dset-extend_dset.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5watch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5watchgentest.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_check_compat_vfd.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1118,7 +1129,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1155,8 +1166,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1235,7 +1248,10 @@ + clean-noinstPROGRAMS mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/extend_dset-extend_dset.Po ++ -rm -f ./$(DEPDIR)/h5watch.Po ++ -rm -f ./$(DEPDIR)/h5watchgentest.Po ++ -rm -f ./$(DEPDIR)/swmr_check_compat_vfd.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1281,7 +1297,10 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/extend_dset-extend_dset.Po ++ -rm -f ./$(DEPDIR)/h5watch.Po ++ -rm -f ./$(DEPDIR)/h5watchgentest.Po ++ -rm -f ./$(DEPDIR)/swmr_check_compat_vfd.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1302,17 +1321,17 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-binPROGRAMS clean-generic clean-libtool \ +- clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \ +- distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-binPROGRAMS install-data \ +- install-data-am install-dvi install-dvi-am install-exec \ +- install-exec-am install-html install-html-am install-info \ +- install-info-am install-man install-pdf install-pdf-am \ +- install-ps install-ps-am install-strip installcheck \ +- installcheck-am installdirs maintainer-clean \ ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-binPROGRAMS clean-generic \ ++ clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \ ++ ctags-am distclean distclean-compile distclean-generic \ ++ distclean-libtool distclean-tags distdir dvi dvi-am html \ ++ html-am info info-am install install-am install-binPROGRAMS \ ++ install-data install-data-am install-dvi install-dvi-am \ ++ install-exec install-exec-am install-html install-html-am \ ++ install-info install-info-am install-man install-pdf \ ++ install-pdf-am install-ps install-ps-am install-strip \ ++ installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ + pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am \ +diff --color -urN a/hdf5-1.12.0/java/Makefile.in b/hdf5-1.12.0/java/Makefile.in +--- a/hdf5-1.12.0/java/Makefile.in 2020-02-29 00:52:23 ++++ b/hdf5-1.12.0/java/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -169,7 +169,7 @@ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) + AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ +- check recheck distdir ++ check recheck distdir distdir-am + am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) + # Read a list of newline-separated strings from the standard input, + # and print each of them once, without duplicates. Input order is +@@ -187,8 +187,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -371,6 +369,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + TEST_SUITE_LOG = test-suite.log + am__test_logs1 = $(TESTS:=.log) +@@ -453,8 +452,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -474,6 +474,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -679,6 +680,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -797,8 +799,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -1023,7 +1025,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1060,8 +1062,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/java/examples/Makefile.in b/hdf5-1.12.0/java/examples/Makefile.in +--- a/hdf5-1.12.0/java/examples/Makefile.in 2020-02-29 00:52:23 ++++ b/hdf5-1.12.0/java/examples/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -169,7 +169,7 @@ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) + AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ +- check recheck distdir ++ check recheck distdir distdir-am + am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) + # Read a list of newline-separated strings from the standard input, + # and print each of them once, without duplicates. Input order is +@@ -187,8 +187,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -371,6 +369,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + TEST_SUITE_LOG = test-suite.log + am__test_logs1 = $(TESTS:=.log) +@@ -453,8 +452,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -474,6 +474,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -679,6 +680,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -784,8 +786,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -1010,7 +1012,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1047,8 +1049,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/java/examples/datasets/Makefile.in b/hdf5-1.12.0/java/examples/datasets/Makefile.in +--- a/hdf5-1.12.0/java/examples/datasets/Makefile.in 2020-02-29 00:52:23 ++++ b/hdf5-1.12.0/java/examples/datasets/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -335,6 +335,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -393,8 +394,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -414,6 +416,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -619,6 +622,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -756,8 +760,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -905,7 +909,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -942,8 +946,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/java/examples/datatypes/Makefile.in b/hdf5-1.12.0/java/examples/datatypes/Makefile.in +--- a/hdf5-1.12.0/java/examples/datatypes/Makefile.in 2020-02-29 00:52:23 ++++ b/hdf5-1.12.0/java/examples/datatypes/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -335,6 +335,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -393,8 +394,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -414,6 +416,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -619,6 +622,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -756,8 +760,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -905,7 +909,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -942,8 +946,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/java/examples/groups/Makefile.in b/hdf5-1.12.0/java/examples/groups/Makefile.in +--- a/hdf5-1.12.0/java/examples/groups/Makefile.in 2020-02-29 00:52:23 ++++ b/hdf5-1.12.0/java/examples/groups/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -335,6 +335,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -393,8 +394,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -414,6 +416,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -619,6 +622,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -745,8 +749,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -894,7 +898,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -931,8 +935,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/java/examples/intro/Makefile.in b/hdf5-1.12.0/java/examples/intro/Makefile.in +--- a/hdf5-1.12.0/java/examples/intro/Makefile.in 2020-02-29 00:52:23 ++++ b/hdf5-1.12.0/java/examples/intro/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -335,6 +335,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -393,8 +394,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -414,6 +416,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -619,6 +622,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -745,8 +749,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -894,7 +898,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -931,8 +935,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/java/src/Makefile.in b/hdf5-1.12.0/java/src/Makefile.in +--- a/hdf5-1.12.0/java/src/Makefile.in 2020-02-29 00:52:23 ++++ b/hdf5-1.12.0/java/src/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -200,7 +200,7 @@ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) + AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ +- distdir ++ distdir distdir-am + am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) + # Read a list of newline-separated strings from the standard input, + # and print each of them once, without duplicates. Input order is +@@ -218,8 +218,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + DIST_SUBDIRS = $(SUBDIRS) + am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/commence.am +@@ -284,8 +282,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -305,6 +304,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -510,6 +510,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -678,8 +679,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(am__empty): + +@@ -846,8 +847,10 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/java/src/jni/Makefile.in b/hdf5-1.12.0/java/src/jni/Makefile.in +--- a/hdf5-1.12.0/java/src/jni/Makefile.in 2020-02-29 00:52:24 ++++ b/hdf5-1.12.0/java/src/jni/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -193,7 +193,24 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/exceptionImp.Plo \ ++ ./$(DEPDIR)/h5Constants.Plo ./$(DEPDIR)/h5Imp.Plo \ ++ ./$(DEPDIR)/h5aImp.Plo ./$(DEPDIR)/h5dImp.Plo \ ++ ./$(DEPDIR)/h5eImp.Plo ./$(DEPDIR)/h5fImp.Plo \ ++ ./$(DEPDIR)/h5gImp.Plo ./$(DEPDIR)/h5iImp.Plo \ ++ ./$(DEPDIR)/h5lImp.Plo ./$(DEPDIR)/h5oImp.Plo \ ++ ./$(DEPDIR)/h5pACPLImp.Plo ./$(DEPDIR)/h5pDAPLImp.Plo \ ++ ./$(DEPDIR)/h5pDCPLImp.Plo ./$(DEPDIR)/h5pDXPLImp.Plo \ ++ ./$(DEPDIR)/h5pFAPLImp.Plo ./$(DEPDIR)/h5pFCPLImp.Plo \ ++ ./$(DEPDIR)/h5pGAPLImp.Plo ./$(DEPDIR)/h5pGCPLImp.Plo \ ++ ./$(DEPDIR)/h5pImp.Plo ./$(DEPDIR)/h5pLAPLImp.Plo \ ++ ./$(DEPDIR)/h5pLCPLImp.Plo ./$(DEPDIR)/h5pOCPLImp.Plo \ ++ ./$(DEPDIR)/h5pOCpyPLImp.Plo ./$(DEPDIR)/h5pStrCPLImp.Plo \ ++ ./$(DEPDIR)/h5plImp.Plo ./$(DEPDIR)/h5rImp.Plo \ ++ ./$(DEPDIR)/h5sImp.Plo ./$(DEPDIR)/h5tImp.Plo \ ++ ./$(DEPDIR)/h5util.Plo ./$(DEPDIR)/h5vlImp.Plo \ ++ ./$(DEPDIR)/h5zImp.Plo ./$(DEPDIR)/nativeData.Plo + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -237,8 +254,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -394,6 +409,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -455,8 +471,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -476,6 +493,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -681,6 +699,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -835,8 +854,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/lt_vers.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -893,40 +912,46 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exceptionImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5Constants.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5Imp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5aImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5dImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5eImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5fImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5gImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5iImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5lImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5oImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pACPLImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pDAPLImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pDCPLImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pDXPLImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pFAPLImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pFCPLImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pGAPLImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pGCPLImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pLAPLImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pLCPLImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pOCPLImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pOCpyPLImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pStrCPLImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5plImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5rImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5sImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5tImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5util.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5vlImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5zImp.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nativeData.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exceptionImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5Constants.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5Imp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5aImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5dImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5eImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5fImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5gImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5iImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5lImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5oImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pACPLImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pDAPLImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pDCPLImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pDXPLImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pFAPLImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pFCPLImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pGAPLImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pGCPLImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pLAPLImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pLCPLImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pOCPLImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pOCpyPLImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5pStrCPLImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5plImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5rImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5sImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5tImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5util.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5vlImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5zImp.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nativeData.Plo@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1116,7 +1141,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1153,8 +1178,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1231,7 +1258,39 @@ + mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/exceptionImp.Plo ++ -rm -f ./$(DEPDIR)/h5Constants.Plo ++ -rm -f ./$(DEPDIR)/h5Imp.Plo ++ -rm -f ./$(DEPDIR)/h5aImp.Plo ++ -rm -f ./$(DEPDIR)/h5dImp.Plo ++ -rm -f ./$(DEPDIR)/h5eImp.Plo ++ -rm -f ./$(DEPDIR)/h5fImp.Plo ++ -rm -f ./$(DEPDIR)/h5gImp.Plo ++ -rm -f ./$(DEPDIR)/h5iImp.Plo ++ -rm -f ./$(DEPDIR)/h5lImp.Plo ++ -rm -f ./$(DEPDIR)/h5oImp.Plo ++ -rm -f ./$(DEPDIR)/h5pACPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pDAPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pDCPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pDXPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pFAPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pFCPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pGAPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pGCPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pImp.Plo ++ -rm -f ./$(DEPDIR)/h5pLAPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pLCPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pOCPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pOCpyPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pStrCPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5plImp.Plo ++ -rm -f ./$(DEPDIR)/h5rImp.Plo ++ -rm -f ./$(DEPDIR)/h5sImp.Plo ++ -rm -f ./$(DEPDIR)/h5tImp.Plo ++ -rm -f ./$(DEPDIR)/h5util.Plo ++ -rm -f ./$(DEPDIR)/h5vlImp.Plo ++ -rm -f ./$(DEPDIR)/h5zImp.Plo ++ -rm -f ./$(DEPDIR)/nativeData.Plo + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1277,7 +1336,39 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/exceptionImp.Plo ++ -rm -f ./$(DEPDIR)/h5Constants.Plo ++ -rm -f ./$(DEPDIR)/h5Imp.Plo ++ -rm -f ./$(DEPDIR)/h5aImp.Plo ++ -rm -f ./$(DEPDIR)/h5dImp.Plo ++ -rm -f ./$(DEPDIR)/h5eImp.Plo ++ -rm -f ./$(DEPDIR)/h5fImp.Plo ++ -rm -f ./$(DEPDIR)/h5gImp.Plo ++ -rm -f ./$(DEPDIR)/h5iImp.Plo ++ -rm -f ./$(DEPDIR)/h5lImp.Plo ++ -rm -f ./$(DEPDIR)/h5oImp.Plo ++ -rm -f ./$(DEPDIR)/h5pACPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pDAPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pDCPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pDXPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pFAPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pFCPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pGAPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pGCPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pImp.Plo ++ -rm -f ./$(DEPDIR)/h5pLAPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pLCPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pOCPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pOCpyPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5pStrCPLImp.Plo ++ -rm -f ./$(DEPDIR)/h5plImp.Plo ++ -rm -f ./$(DEPDIR)/h5rImp.Plo ++ -rm -f ./$(DEPDIR)/h5sImp.Plo ++ -rm -f ./$(DEPDIR)/h5tImp.Plo ++ -rm -f ./$(DEPDIR)/h5util.Plo ++ -rm -f ./$(DEPDIR)/h5vlImp.Plo ++ -rm -f ./$(DEPDIR)/h5zImp.Plo ++ -rm -f ./$(DEPDIR)/nativeData.Plo + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1298,8 +1389,8 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-generic clean-libLTLIBRARIES \ ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-generic clean-libLTLIBRARIES \ + clean-libtool cscopelist-am ctags ctags-am distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ +diff --color -urN a/hdf5-1.12.0/java/test/Makefile.in b/hdf5-1.12.0/java/test/Makefile.in +--- a/hdf5-1.12.0/java/test/Makefile.in 2020-02-29 00:52:24 ++++ b/hdf5-1.12.0/java/test/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -335,6 +335,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -392,8 +393,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -413,6 +415,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -618,6 +621,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -782,8 +786,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -931,7 +935,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -968,8 +972,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/src/H5config.h.in b/hdf5-1.12.0/src/H5config.h.in +--- a/hdf5-1.12.0/src/H5config.h.in 2020-02-29 00:52:20 ++++ b/hdf5-1.12.0/src/H5config.h.in 2024-12-06 13:30:23 +@@ -248,9 +248,6 @@ + /* Define if the map API (H5M) should be compiled */ + #undef HAVE_MAP_API + +-/* Define to 1 if you have the header file. */ +-#undef HAVE_MEMORY_H +- + /* Define if we have MPE support */ + #undef HAVE_MPE + +@@ -339,6 +336,9 @@ + /* Define to 1 if you have the header file. */ + #undef HAVE_STDINT_H + ++/* Define to 1 if you have the header file. */ ++#undef HAVE_STDIO_H ++ + /* Define to 1 if you have the header file. */ + #undef HAVE_STDLIB_H + +@@ -634,7 +634,9 @@ + /* The size of `__int64', as computed by sizeof. */ + #undef SIZEOF___INT64 + +-/* Define to 1 if you have the ANSI C header files. */ ++/* Define to 1 if all of the C90 standard headers exist (not just the ones ++ required in a freestanding environment). This macro is provided for ++ backward compatibility; new code need not use it. */ + #undef STDC_HEADERS + + /* Define if strict file format checks are enabled */ +@@ -644,7 +646,8 @@ + PTHREAD_SCOPE_SYSTEM) call. */ + #undef SYSTEM_SCOPE_THREADS + +-/* Define to 1 if you can safely include both and . */ ++/* Define to 1 if you can safely include both and . This ++ macro is obsolete. */ + #undef TIME_WITH_SYS_TIME + + /* Define using v1.10 public API symbols by default */ +diff --color -urN a/hdf5-1.12.0/src/Makefile.in b/hdf5-1.12.0/src/Makefile.in +--- a/hdf5-1.12.0/src/Makefile.in 2020-02-29 00:52:24 ++++ b/hdf5-1.12.0/src/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -145,6 +145,7 @@ + CONFIG_HEADER = H5config.h $(top_builddir)/fortran/src/H5config_f.inc + CONFIG_CLEAN_FILES = libhdf5.settings + CONFIG_CLEAN_VPATH_FILES = ++PROGRAMS = $(noinst_PROGRAMS) + am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; + am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ +@@ -318,7 +319,6 @@ + libhdf5_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libhdf5_la_LDFLAGS) $(LDFLAGS) -o $@ +-PROGRAMS = $(noinst_PROGRAMS) + H5detect_SOURCES = H5detect.c + H5detect_OBJECTS = H5detect.$(OBJEXT) + H5detect_LDADD = $(LDADD) +@@ -339,7 +339,174 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/H5.Plo ./$(DEPDIR)/H5A.Plo \ ++ ./$(DEPDIR)/H5AC.Plo ./$(DEPDIR)/H5ACdbg.Plo \ ++ ./$(DEPDIR)/H5ACmpio.Plo ./$(DEPDIR)/H5ACproxy_entry.Plo \ ++ ./$(DEPDIR)/H5Abtree2.Plo ./$(DEPDIR)/H5Adense.Plo \ ++ ./$(DEPDIR)/H5Adeprec.Plo ./$(DEPDIR)/H5Aint.Plo \ ++ ./$(DEPDIR)/H5Atest.Plo ./$(DEPDIR)/H5B.Plo \ ++ ./$(DEPDIR)/H5B2.Plo ./$(DEPDIR)/H5B2cache.Plo \ ++ ./$(DEPDIR)/H5B2dbg.Plo ./$(DEPDIR)/H5B2hdr.Plo \ ++ ./$(DEPDIR)/H5B2int.Plo ./$(DEPDIR)/H5B2internal.Plo \ ++ ./$(DEPDIR)/H5B2leaf.Plo ./$(DEPDIR)/H5B2stat.Plo \ ++ ./$(DEPDIR)/H5B2test.Plo ./$(DEPDIR)/H5Bcache.Plo \ ++ ./$(DEPDIR)/H5Bdbg.Plo ./$(DEPDIR)/H5C.Plo \ ++ ./$(DEPDIR)/H5CS.Plo ./$(DEPDIR)/H5CX.Plo \ ++ ./$(DEPDIR)/H5Cdbg.Plo ./$(DEPDIR)/H5Cepoch.Plo \ ++ ./$(DEPDIR)/H5Cimage.Plo ./$(DEPDIR)/H5Clog.Plo \ ++ ./$(DEPDIR)/H5Clog_json.Plo ./$(DEPDIR)/H5Clog_trace.Plo \ ++ ./$(DEPDIR)/H5Cmpio.Plo ./$(DEPDIR)/H5Cprefetched.Plo \ ++ ./$(DEPDIR)/H5Cquery.Plo ./$(DEPDIR)/H5Ctag.Plo \ ++ ./$(DEPDIR)/H5Ctest.Plo ./$(DEPDIR)/H5D.Plo \ ++ ./$(DEPDIR)/H5Dbtree.Plo ./$(DEPDIR)/H5Dbtree2.Plo \ ++ ./$(DEPDIR)/H5Dchunk.Plo ./$(DEPDIR)/H5Dcompact.Plo \ ++ ./$(DEPDIR)/H5Dcontig.Plo ./$(DEPDIR)/H5Ddbg.Plo \ ++ ./$(DEPDIR)/H5Ddeprec.Plo ./$(DEPDIR)/H5Dearray.Plo \ ++ ./$(DEPDIR)/H5Defl.Plo ./$(DEPDIR)/H5Dfarray.Plo \ ++ ./$(DEPDIR)/H5Dfill.Plo ./$(DEPDIR)/H5Dint.Plo \ ++ ./$(DEPDIR)/H5Dio.Plo ./$(DEPDIR)/H5Dlayout.Plo \ ++ ./$(DEPDIR)/H5Dmpio.Plo ./$(DEPDIR)/H5Dnone.Plo \ ++ ./$(DEPDIR)/H5Doh.Plo ./$(DEPDIR)/H5Dscatgath.Plo \ ++ ./$(DEPDIR)/H5Dselect.Plo ./$(DEPDIR)/H5Dsingle.Plo \ ++ ./$(DEPDIR)/H5Dtest.Plo ./$(DEPDIR)/H5Dvirtual.Plo \ ++ ./$(DEPDIR)/H5E.Plo ./$(DEPDIR)/H5EA.Plo \ ++ ./$(DEPDIR)/H5EAcache.Plo ./$(DEPDIR)/H5EAdbg.Plo \ ++ ./$(DEPDIR)/H5EAdblkpage.Plo ./$(DEPDIR)/H5EAdblock.Plo \ ++ ./$(DEPDIR)/H5EAhdr.Plo ./$(DEPDIR)/H5EAiblock.Plo \ ++ ./$(DEPDIR)/H5EAint.Plo ./$(DEPDIR)/H5EAsblock.Plo \ ++ ./$(DEPDIR)/H5EAstat.Plo ./$(DEPDIR)/H5EAtest.Plo \ ++ ./$(DEPDIR)/H5Edeprec.Plo ./$(DEPDIR)/H5Eint.Plo \ ++ ./$(DEPDIR)/H5F.Plo ./$(DEPDIR)/H5FA.Plo \ ++ ./$(DEPDIR)/H5FAcache.Plo ./$(DEPDIR)/H5FAdbg.Plo \ ++ ./$(DEPDIR)/H5FAdblkpage.Plo ./$(DEPDIR)/H5FAdblock.Plo \ ++ ./$(DEPDIR)/H5FAhdr.Plo ./$(DEPDIR)/H5FAint.Plo \ ++ ./$(DEPDIR)/H5FAstat.Plo ./$(DEPDIR)/H5FAtest.Plo \ ++ ./$(DEPDIR)/H5FD.Plo ./$(DEPDIR)/H5FDcore.Plo \ ++ ./$(DEPDIR)/H5FDdirect.Plo ./$(DEPDIR)/H5FDfamily.Plo \ ++ ./$(DEPDIR)/H5FDhdfs.Plo ./$(DEPDIR)/H5FDint.Plo \ ++ ./$(DEPDIR)/H5FDlog.Plo ./$(DEPDIR)/H5FDmpi.Plo \ ++ ./$(DEPDIR)/H5FDmpio.Plo ./$(DEPDIR)/H5FDmulti.Plo \ ++ ./$(DEPDIR)/H5FDros3.Plo ./$(DEPDIR)/H5FDs3comms.Plo \ ++ ./$(DEPDIR)/H5FDsec2.Plo ./$(DEPDIR)/H5FDspace.Plo \ ++ ./$(DEPDIR)/H5FDstdio.Plo ./$(DEPDIR)/H5FDtest.Plo \ ++ ./$(DEPDIR)/H5FL.Plo ./$(DEPDIR)/H5FO.Plo ./$(DEPDIR)/H5FS.Plo \ ++ ./$(DEPDIR)/H5FScache.Plo ./$(DEPDIR)/H5FSdbg.Plo \ ++ ./$(DEPDIR)/H5FSint.Plo ./$(DEPDIR)/H5FSsection.Plo \ ++ ./$(DEPDIR)/H5FSstat.Plo ./$(DEPDIR)/H5FStest.Plo \ ++ ./$(DEPDIR)/H5Faccum.Plo ./$(DEPDIR)/H5Fcwfs.Plo \ ++ ./$(DEPDIR)/H5Fdbg.Plo ./$(DEPDIR)/H5Fdeprec.Plo \ ++ ./$(DEPDIR)/H5Fefc.Plo ./$(DEPDIR)/H5Ffake.Plo \ ++ ./$(DEPDIR)/H5Fint.Plo ./$(DEPDIR)/H5Fio.Plo \ ++ ./$(DEPDIR)/H5Fmount.Plo ./$(DEPDIR)/H5Fmpi.Plo \ ++ ./$(DEPDIR)/H5Fquery.Plo ./$(DEPDIR)/H5Fsfile.Plo \ ++ ./$(DEPDIR)/H5Fspace.Plo ./$(DEPDIR)/H5Fsuper.Plo \ ++ ./$(DEPDIR)/H5Fsuper_cache.Plo ./$(DEPDIR)/H5Ftest.Plo \ ++ ./$(DEPDIR)/H5G.Plo ./$(DEPDIR)/H5Gbtree2.Plo \ ++ ./$(DEPDIR)/H5Gcache.Plo ./$(DEPDIR)/H5Gcompact.Plo \ ++ ./$(DEPDIR)/H5Gdense.Plo ./$(DEPDIR)/H5Gdeprec.Plo \ ++ ./$(DEPDIR)/H5Gent.Plo ./$(DEPDIR)/H5Gint.Plo \ ++ ./$(DEPDIR)/H5Glink.Plo ./$(DEPDIR)/H5Gloc.Plo \ ++ ./$(DEPDIR)/H5Gname.Plo ./$(DEPDIR)/H5Gnode.Plo \ ++ ./$(DEPDIR)/H5Gobj.Plo ./$(DEPDIR)/H5Goh.Plo \ ++ ./$(DEPDIR)/H5Groot.Plo ./$(DEPDIR)/H5Gstab.Plo \ ++ ./$(DEPDIR)/H5Gtest.Plo ./$(DEPDIR)/H5Gtraverse.Plo \ ++ ./$(DEPDIR)/H5HF.Plo ./$(DEPDIR)/H5HFbtree2.Plo \ ++ ./$(DEPDIR)/H5HFcache.Plo ./$(DEPDIR)/H5HFdbg.Plo \ ++ ./$(DEPDIR)/H5HFdblock.Plo ./$(DEPDIR)/H5HFdtable.Plo \ ++ ./$(DEPDIR)/H5HFhdr.Plo ./$(DEPDIR)/H5HFhuge.Plo \ ++ ./$(DEPDIR)/H5HFiblock.Plo ./$(DEPDIR)/H5HFiter.Plo \ ++ ./$(DEPDIR)/H5HFman.Plo ./$(DEPDIR)/H5HFsection.Plo \ ++ ./$(DEPDIR)/H5HFspace.Plo ./$(DEPDIR)/H5HFstat.Plo \ ++ ./$(DEPDIR)/H5HFtest.Plo ./$(DEPDIR)/H5HFtiny.Plo \ ++ ./$(DEPDIR)/H5HG.Plo ./$(DEPDIR)/H5HGcache.Plo \ ++ ./$(DEPDIR)/H5HGdbg.Plo ./$(DEPDIR)/H5HGquery.Plo \ ++ ./$(DEPDIR)/H5HL.Plo ./$(DEPDIR)/H5HLcache.Plo \ ++ ./$(DEPDIR)/H5HLdbg.Plo ./$(DEPDIR)/H5HLdblk.Plo \ ++ ./$(DEPDIR)/H5HLint.Plo ./$(DEPDIR)/H5HLprfx.Plo \ ++ ./$(DEPDIR)/H5HP.Plo ./$(DEPDIR)/H5I.Plo \ ++ ./$(DEPDIR)/H5Itest.Plo ./$(DEPDIR)/H5L.Plo \ ++ ./$(DEPDIR)/H5Ldeprec.Plo ./$(DEPDIR)/H5Lexternal.Plo \ ++ ./$(DEPDIR)/H5M.Plo ./$(DEPDIR)/H5MF.Plo \ ++ ./$(DEPDIR)/H5MFaggr.Plo ./$(DEPDIR)/H5MFdbg.Plo \ ++ ./$(DEPDIR)/H5MFsection.Plo ./$(DEPDIR)/H5MM.Plo \ ++ ./$(DEPDIR)/H5MP.Plo ./$(DEPDIR)/H5MPtest.Plo \ ++ ./$(DEPDIR)/H5O.Plo ./$(DEPDIR)/H5Oainfo.Plo \ ++ ./$(DEPDIR)/H5Oalloc.Plo ./$(DEPDIR)/H5Oattr.Plo \ ++ ./$(DEPDIR)/H5Oattribute.Plo ./$(DEPDIR)/H5Obogus.Plo \ ++ ./$(DEPDIR)/H5Obtreek.Plo ./$(DEPDIR)/H5Ocache.Plo \ ++ ./$(DEPDIR)/H5Ocache_image.Plo ./$(DEPDIR)/H5Ochunk.Plo \ ++ ./$(DEPDIR)/H5Ocont.Plo ./$(DEPDIR)/H5Ocopy.Plo \ ++ ./$(DEPDIR)/H5Ocopy_ref.Plo ./$(DEPDIR)/H5Odbg.Plo \ ++ ./$(DEPDIR)/H5Odeprec.Plo ./$(DEPDIR)/H5Odrvinfo.Plo \ ++ ./$(DEPDIR)/H5Odtype.Plo ./$(DEPDIR)/H5Oefl.Plo \ ++ ./$(DEPDIR)/H5Ofill.Plo ./$(DEPDIR)/H5Oflush.Plo \ ++ ./$(DEPDIR)/H5Ofsinfo.Plo ./$(DEPDIR)/H5Oginfo.Plo \ ++ ./$(DEPDIR)/H5Oint.Plo ./$(DEPDIR)/H5Olayout.Plo \ ++ ./$(DEPDIR)/H5Olinfo.Plo ./$(DEPDIR)/H5Olink.Plo \ ++ ./$(DEPDIR)/H5Omessage.Plo ./$(DEPDIR)/H5Omtime.Plo \ ++ ./$(DEPDIR)/H5Oname.Plo ./$(DEPDIR)/H5Onull.Plo \ ++ ./$(DEPDIR)/H5Opline.Plo ./$(DEPDIR)/H5Orefcount.Plo \ ++ ./$(DEPDIR)/H5Osdspace.Plo ./$(DEPDIR)/H5Oshared.Plo \ ++ ./$(DEPDIR)/H5Oshmesg.Plo ./$(DEPDIR)/H5Ostab.Plo \ ++ ./$(DEPDIR)/H5Otest.Plo ./$(DEPDIR)/H5Ounknown.Plo \ ++ ./$(DEPDIR)/H5P.Plo ./$(DEPDIR)/H5PB.Plo ./$(DEPDIR)/H5PL.Plo \ ++ ./$(DEPDIR)/H5PLint.Plo ./$(DEPDIR)/H5PLpath.Plo \ ++ ./$(DEPDIR)/H5PLplugin_cache.Plo ./$(DEPDIR)/H5Pacpl.Plo \ ++ ./$(DEPDIR)/H5Pdapl.Plo ./$(DEPDIR)/H5Pdcpl.Plo \ ++ ./$(DEPDIR)/H5Pdeprec.Plo ./$(DEPDIR)/H5Pdxpl.Plo \ ++ ./$(DEPDIR)/H5Pencdec.Plo ./$(DEPDIR)/H5Pfapl.Plo \ ++ ./$(DEPDIR)/H5Pfcpl.Plo ./$(DEPDIR)/H5Pfmpl.Plo \ ++ ./$(DEPDIR)/H5Pgcpl.Plo ./$(DEPDIR)/H5Pint.Plo \ ++ ./$(DEPDIR)/H5Plapl.Plo ./$(DEPDIR)/H5Plcpl.Plo \ ++ ./$(DEPDIR)/H5Pmapl.Plo ./$(DEPDIR)/H5Pmcpl.Plo \ ++ ./$(DEPDIR)/H5Pocpl.Plo ./$(DEPDIR)/H5Pocpypl.Plo \ ++ ./$(DEPDIR)/H5Pstrcpl.Plo ./$(DEPDIR)/H5Ptest.Plo \ ++ ./$(DEPDIR)/H5R.Plo ./$(DEPDIR)/H5RS.Plo \ ++ ./$(DEPDIR)/H5Rdeprec.Plo ./$(DEPDIR)/H5Rint.Plo \ ++ ./$(DEPDIR)/H5S.Plo ./$(DEPDIR)/H5SL.Plo ./$(DEPDIR)/H5SM.Plo \ ++ ./$(DEPDIR)/H5SMbtree2.Plo ./$(DEPDIR)/H5SMcache.Plo \ ++ ./$(DEPDIR)/H5SMmessage.Plo ./$(DEPDIR)/H5SMtest.Plo \ ++ ./$(DEPDIR)/H5ST.Plo ./$(DEPDIR)/H5Sall.Plo \ ++ ./$(DEPDIR)/H5Sdbg.Plo ./$(DEPDIR)/H5Sdeprec.Plo \ ++ ./$(DEPDIR)/H5Shyper.Plo ./$(DEPDIR)/H5Smpio.Plo \ ++ ./$(DEPDIR)/H5Snone.Plo ./$(DEPDIR)/H5Spoint.Plo \ ++ ./$(DEPDIR)/H5Sselect.Plo ./$(DEPDIR)/H5Stest.Plo \ ++ ./$(DEPDIR)/H5T.Plo ./$(DEPDIR)/H5TS.Plo \ ++ ./$(DEPDIR)/H5Tarray.Plo ./$(DEPDIR)/H5Tbit.Plo \ ++ ./$(DEPDIR)/H5Tcommit.Plo ./$(DEPDIR)/H5Tcompound.Plo \ ++ ./$(DEPDIR)/H5Tconv.Plo ./$(DEPDIR)/H5Tcset.Plo \ ++ ./$(DEPDIR)/H5Tdbg.Plo ./$(DEPDIR)/H5Tdeprec.Plo \ ++ ./$(DEPDIR)/H5Tenum.Plo ./$(DEPDIR)/H5Tfields.Plo \ ++ ./$(DEPDIR)/H5Tfixed.Plo ./$(DEPDIR)/H5Tfloat.Plo \ ++ ./$(DEPDIR)/H5Tinit.Plo ./$(DEPDIR)/H5Tnative.Plo \ ++ ./$(DEPDIR)/H5Toffset.Plo ./$(DEPDIR)/H5Toh.Plo \ ++ ./$(DEPDIR)/H5Topaque.Plo ./$(DEPDIR)/H5Torder.Plo \ ++ ./$(DEPDIR)/H5Tpad.Plo ./$(DEPDIR)/H5Tprecis.Plo \ ++ ./$(DEPDIR)/H5Tref.Plo ./$(DEPDIR)/H5Tstrpad.Plo \ ++ ./$(DEPDIR)/H5Tvisit.Plo ./$(DEPDIR)/H5Tvlen.Plo \ ++ ./$(DEPDIR)/H5UC.Plo ./$(DEPDIR)/H5VL.Plo \ ++ ./$(DEPDIR)/H5VLcallback.Plo ./$(DEPDIR)/H5VLint.Plo \ ++ ./$(DEPDIR)/H5VLnative.Plo ./$(DEPDIR)/H5VLnative_attr.Plo \ ++ ./$(DEPDIR)/H5VLnative_blob.Plo \ ++ ./$(DEPDIR)/H5VLnative_dataset.Plo \ ++ ./$(DEPDIR)/H5VLnative_datatype.Plo \ ++ ./$(DEPDIR)/H5VLnative_file.Plo \ ++ ./$(DEPDIR)/H5VLnative_group.Plo \ ++ ./$(DEPDIR)/H5VLnative_introspect.Plo \ ++ ./$(DEPDIR)/H5VLnative_link.Plo \ ++ ./$(DEPDIR)/H5VLnative_object.Plo \ ++ ./$(DEPDIR)/H5VLnative_token.Plo ./$(DEPDIR)/H5VLpassthru.Plo \ ++ ./$(DEPDIR)/H5VM.Plo ./$(DEPDIR)/H5WB.Plo ./$(DEPDIR)/H5Z.Plo \ ++ ./$(DEPDIR)/H5Zdeflate.Plo ./$(DEPDIR)/H5Zfletcher32.Plo \ ++ ./$(DEPDIR)/H5Znbit.Plo ./$(DEPDIR)/H5Zscaleoffset.Plo \ ++ ./$(DEPDIR)/H5Zshuffle.Plo ./$(DEPDIR)/H5Zszip.Plo \ ++ ./$(DEPDIR)/H5Ztrans.Plo ./$(DEPDIR)/H5checksum.Plo \ ++ ./$(DEPDIR)/H5dbg.Plo ./$(DEPDIR)/H5detect.Po \ ++ ./$(DEPDIR)/H5lib_settings.Plo \ ++ ./$(DEPDIR)/H5make_libsettings.Po ./$(DEPDIR)/H5mpi.Plo \ ++ ./$(DEPDIR)/H5system.Plo ./$(DEPDIR)/H5timer.Plo \ ++ ./$(DEPDIR)/H5trace.Plo + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -369,8 +536,8 @@ + esac + DATA = $(settings_DATA) + HEADERS = $(include_HEADERS) +-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ +- $(LISP)H5config.h.in ++am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \ ++ H5config.h.in + # Read a list of newline-separated strings from the standard input, + # and print each of them once, without duplicates. Input order is + # *not* preserved. +@@ -387,8 +554,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -544,6 +709,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -603,8 +769,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -624,6 +791,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -829,6 +997,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -1058,8 +1227,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/lt_vers.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -1089,6 +1258,15 @@ + libhdf5.settings: $(top_builddir)/config.status $(srcdir)/libhdf5.settings.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + ++clean-noinstPROGRAMS: ++ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ ++ echo " rm -f" $$list; \ ++ rm -f $$list || exit $$?; \ ++ test -n "$(EXEEXT)" || exit 0; \ ++ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ ++ echo " rm -f" $$list; \ ++ rm -f $$list ++ + install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ +@@ -1127,15 +1305,6 @@ + libhdf5.la: $(libhdf5_la_OBJECTS) $(libhdf5_la_DEPENDENCIES) $(EXTRA_libhdf5_la_DEPENDENCIES) + $(AM_V_CCLD)$(libhdf5_la_LINK) -rpath $(libdir) $(libhdf5_la_OBJECTS) $(libhdf5_la_LIBADD) $(LIBS) + +-clean-noinstPROGRAMS: +- @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ +- echo " rm -f" $$list; \ +- rm -f $$list || exit $$?; \ +- test -n "$(EXEEXT)" || exit 0; \ +- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ +- echo " rm -f" $$list; \ +- rm -f $$list +- + H5detect$(EXEEXT): $(H5detect_OBJECTS) $(H5detect_DEPENDENCIES) $(EXTRA_H5detect_DEPENDENCIES) + @rm -f H5detect$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(H5detect_OBJECTS) $(H5detect_LDADD) $(LIBS) +@@ -1150,335 +1319,341 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5A.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5AC.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5ACdbg.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5ACmpio.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5ACproxy_entry.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Abtree2.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Adense.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Adeprec.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Aint.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Atest.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5B.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5B2.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5B2cache.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5B2dbg.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5B2hdr.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5B2int.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5B2internal.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5B2leaf.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5B2stat.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5B2test.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Bcache.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Bdbg.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5C.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5CS.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5CX.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Cdbg.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Cepoch.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Cimage.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Clog.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Clog_json.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Clog_trace.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Cmpio.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Cprefetched.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Cquery.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ctag.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ctest.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5D.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dbtree.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dbtree2.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dchunk.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dcompact.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dcontig.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ddbg.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ddeprec.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dearray.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Defl.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dfarray.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dfill.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dint.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dio.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dlayout.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dmpio.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dnone.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Doh.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dscatgath.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dselect.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dsingle.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dtest.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dvirtual.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5E.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EA.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EAcache.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EAdbg.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EAdblkpage.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EAdblock.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EAhdr.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EAiblock.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EAint.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EAsblock.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EAstat.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EAtest.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Edeprec.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Eint.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5F.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FA.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FAcache.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FAdbg.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FAdblkpage.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FAdblock.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FAhdr.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FAint.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FAstat.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FAtest.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FD.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDcore.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDdirect.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDfamily.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDhdfs.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDint.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDlog.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDmpi.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDmpio.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDmulti.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDros3.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDs3comms.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDsec2.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDspace.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDstdio.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDtest.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FL.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FO.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FS.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FScache.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FSdbg.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FSint.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FSsection.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FSstat.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FStest.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Faccum.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fcwfs.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fdbg.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fdeprec.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fefc.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ffake.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fint.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fio.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fmount.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fmpi.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fquery.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fsfile.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fspace.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fsuper.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fsuper_cache.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ftest.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5G.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gbtree2.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gcache.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gcompact.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gdense.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gdeprec.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gent.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gint.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Glink.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gloc.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gname.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gnode.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gobj.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Goh.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Groot.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gstab.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gtest.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gtraverse.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HF.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFbtree2.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFcache.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFdbg.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFdblock.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFdtable.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFhdr.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFhuge.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFiblock.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFiter.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFman.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFsection.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFspace.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFstat.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFtest.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFtiny.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HG.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HGcache.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HGdbg.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HGquery.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HL.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HLcache.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HLdbg.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HLdblk.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HLint.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HLprfx.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HP.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5I.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Itest.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5L.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ldeprec.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Lexternal.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5M.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5MF.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5MFaggr.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5MFdbg.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5MFsection.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5MM.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5MP.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5MPtest.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5O.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Oainfo.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Oalloc.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Oattr.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Oattribute.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Obogus.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Obtreek.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ocache.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ocache_image.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ochunk.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ocont.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ocopy.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ocopy_ref.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Odbg.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Odeprec.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Odrvinfo.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Odtype.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Oefl.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ofill.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Oflush.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ofsinfo.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Oginfo.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Oint.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Olayout.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Olinfo.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Olink.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Omessage.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Omtime.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Oname.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Onull.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Opline.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Orefcount.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Osdspace.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Oshared.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Oshmesg.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ostab.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Otest.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ounknown.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5P.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5PB.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5PL.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5PLint.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5PLpath.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5PLplugin_cache.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pacpl.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pdapl.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pdcpl.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pdeprec.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pdxpl.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pencdec.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pfapl.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pfcpl.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pfmpl.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pgcpl.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pint.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Plapl.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Plcpl.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pmapl.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pmcpl.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pocpl.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pocpypl.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pstrcpl.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ptest.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5R.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5RS.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Rdeprec.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Rint.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5S.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5SL.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5SM.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5SMbtree2.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5SMcache.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5SMmessage.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5SMtest.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5ST.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Sall.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Sdbg.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Sdeprec.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Shyper.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Smpio.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Snone.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Spoint.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Sselect.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Stest.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5T.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5TS.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tarray.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tbit.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tcommit.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tcompound.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tconv.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tcset.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tdbg.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tdeprec.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tenum.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tfields.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tfixed.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tfloat.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tinit.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tnative.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Toffset.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Toh.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Topaque.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Torder.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tpad.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tprecis.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tref.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tstrpad.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tvisit.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tvlen.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5UC.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VL.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLcallback.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLint.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative_attr.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative_blob.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative_dataset.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative_datatype.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative_file.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative_group.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative_introspect.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative_link.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative_object.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative_token.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLpassthru.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VM.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5WB.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Z.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Zdeflate.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Zfletcher32.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Znbit.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Zscaleoffset.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Zshuffle.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Zszip.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ztrans.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5checksum.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5dbg.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5detect.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5lib_settings.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5make_libsettings.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5mpi.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5system.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5timer.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5trace.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5A.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5AC.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5ACdbg.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5ACmpio.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5ACproxy_entry.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Abtree2.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Adense.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Adeprec.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Aint.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Atest.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5B.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5B2.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5B2cache.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5B2dbg.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5B2hdr.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5B2int.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5B2internal.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5B2leaf.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5B2stat.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5B2test.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Bcache.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Bdbg.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5C.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5CS.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5CX.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Cdbg.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Cepoch.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Cimage.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Clog.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Clog_json.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Clog_trace.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Cmpio.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Cprefetched.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Cquery.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ctag.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ctest.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5D.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dbtree.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dbtree2.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dchunk.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dcompact.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dcontig.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ddbg.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ddeprec.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dearray.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Defl.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dfarray.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dfill.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dint.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dio.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dlayout.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dmpio.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dnone.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Doh.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dscatgath.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dselect.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dsingle.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dtest.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Dvirtual.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5E.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EA.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EAcache.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EAdbg.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EAdblkpage.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EAdblock.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EAhdr.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EAiblock.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EAint.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EAsblock.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EAstat.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5EAtest.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Edeprec.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Eint.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5F.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FA.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FAcache.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FAdbg.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FAdblkpage.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FAdblock.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FAhdr.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FAint.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FAstat.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FAtest.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FD.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDcore.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDdirect.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDfamily.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDhdfs.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDint.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDlog.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDmpi.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDmpio.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDmulti.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDros3.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDs3comms.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDsec2.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDspace.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDstdio.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDtest.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FL.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FO.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FS.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FScache.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FSdbg.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FSint.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FSsection.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FSstat.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FStest.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Faccum.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fcwfs.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fdbg.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fdeprec.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fefc.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ffake.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fint.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fio.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fmount.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fmpi.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fquery.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fsfile.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fspace.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fsuper.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Fsuper_cache.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ftest.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5G.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gbtree2.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gcache.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gcompact.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gdense.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gdeprec.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gent.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gint.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Glink.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gloc.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gname.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gnode.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gobj.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Goh.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Groot.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gstab.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gtest.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gtraverse.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HF.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFbtree2.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFcache.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFdbg.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFdblock.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFdtable.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFhdr.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFhuge.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFiblock.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFiter.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFman.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFsection.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFspace.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFstat.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFtest.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HFtiny.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HG.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HGcache.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HGdbg.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HGquery.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HL.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HLcache.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HLdbg.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HLdblk.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HLint.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HLprfx.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5HP.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5I.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Itest.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5L.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ldeprec.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Lexternal.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5M.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5MF.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5MFaggr.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5MFdbg.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5MFsection.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5MM.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5MP.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5MPtest.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5O.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Oainfo.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Oalloc.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Oattr.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Oattribute.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Obogus.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Obtreek.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ocache.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ocache_image.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ochunk.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ocont.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ocopy.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ocopy_ref.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Odbg.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Odeprec.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Odrvinfo.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Odtype.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Oefl.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ofill.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Oflush.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ofsinfo.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Oginfo.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Oint.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Olayout.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Olinfo.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Olink.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Omessage.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Omtime.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Oname.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Onull.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Opline.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Orefcount.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Osdspace.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Oshared.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Oshmesg.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ostab.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Otest.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ounknown.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5P.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5PB.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5PL.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5PLint.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5PLpath.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5PLplugin_cache.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pacpl.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pdapl.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pdcpl.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pdeprec.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pdxpl.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pencdec.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pfapl.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pfcpl.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pfmpl.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pgcpl.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pint.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Plapl.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Plcpl.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pmapl.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pmcpl.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pocpl.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pocpypl.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pstrcpl.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ptest.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5R.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5RS.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Rdeprec.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Rint.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5S.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5SL.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5SM.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5SMbtree2.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5SMcache.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5SMmessage.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5SMtest.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5ST.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Sall.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Sdbg.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Sdeprec.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Shyper.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Smpio.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Snone.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Spoint.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Sselect.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Stest.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5T.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5TS.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tarray.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tbit.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tcommit.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tcompound.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tconv.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tcset.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tdbg.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tdeprec.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tenum.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tfields.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tfixed.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tfloat.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tinit.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tnative.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Toffset.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Toh.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Topaque.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Torder.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tpad.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tprecis.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tref.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tstrpad.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tvisit.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tvlen.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5UC.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VL.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLcallback.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLint.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative_attr.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative_blob.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative_dataset.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative_datatype.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative_file.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative_group.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative_introspect.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative_link.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative_object.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative_token.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLpassthru.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VM.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5WB.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Z.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Zdeflate.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Zfletcher32.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Znbit.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Zscaleoffset.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Zshuffle.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Zszip.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ztrans.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5checksum.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5dbg.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5detect.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5lib_settings.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5make_libsettings.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5mpi.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5system.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5timer.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5trace.Plo@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1710,7 +1885,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1747,8 +1922,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1781,7 +1958,7 @@ + check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-TESTS + check: check-am +-all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA) $(HEADERS) \ ++all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) $(DATA) $(HEADERS) \ + H5config.h all-local + installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(settingsdir)" "$(DESTDIR)$(includedir)"; do \ +@@ -1828,7 +2005,334 @@ + clean-noinstPROGRAMS mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/H5.Plo ++ -rm -f ./$(DEPDIR)/H5A.Plo ++ -rm -f ./$(DEPDIR)/H5AC.Plo ++ -rm -f ./$(DEPDIR)/H5ACdbg.Plo ++ -rm -f ./$(DEPDIR)/H5ACmpio.Plo ++ -rm -f ./$(DEPDIR)/H5ACproxy_entry.Plo ++ -rm -f ./$(DEPDIR)/H5Abtree2.Plo ++ -rm -f ./$(DEPDIR)/H5Adense.Plo ++ -rm -f ./$(DEPDIR)/H5Adeprec.Plo ++ -rm -f ./$(DEPDIR)/H5Aint.Plo ++ -rm -f ./$(DEPDIR)/H5Atest.Plo ++ -rm -f ./$(DEPDIR)/H5B.Plo ++ -rm -f ./$(DEPDIR)/H5B2.Plo ++ -rm -f ./$(DEPDIR)/H5B2cache.Plo ++ -rm -f ./$(DEPDIR)/H5B2dbg.Plo ++ -rm -f ./$(DEPDIR)/H5B2hdr.Plo ++ -rm -f ./$(DEPDIR)/H5B2int.Plo ++ -rm -f ./$(DEPDIR)/H5B2internal.Plo ++ -rm -f ./$(DEPDIR)/H5B2leaf.Plo ++ -rm -f ./$(DEPDIR)/H5B2stat.Plo ++ -rm -f ./$(DEPDIR)/H5B2test.Plo ++ -rm -f ./$(DEPDIR)/H5Bcache.Plo ++ -rm -f ./$(DEPDIR)/H5Bdbg.Plo ++ -rm -f ./$(DEPDIR)/H5C.Plo ++ -rm -f ./$(DEPDIR)/H5CS.Plo ++ -rm -f ./$(DEPDIR)/H5CX.Plo ++ -rm -f ./$(DEPDIR)/H5Cdbg.Plo ++ -rm -f ./$(DEPDIR)/H5Cepoch.Plo ++ -rm -f ./$(DEPDIR)/H5Cimage.Plo ++ -rm -f ./$(DEPDIR)/H5Clog.Plo ++ -rm -f ./$(DEPDIR)/H5Clog_json.Plo ++ -rm -f ./$(DEPDIR)/H5Clog_trace.Plo ++ -rm -f ./$(DEPDIR)/H5Cmpio.Plo ++ -rm -f ./$(DEPDIR)/H5Cprefetched.Plo ++ -rm -f ./$(DEPDIR)/H5Cquery.Plo ++ -rm -f ./$(DEPDIR)/H5Ctag.Plo ++ -rm -f ./$(DEPDIR)/H5Ctest.Plo ++ -rm -f ./$(DEPDIR)/H5D.Plo ++ -rm -f ./$(DEPDIR)/H5Dbtree.Plo ++ -rm -f ./$(DEPDIR)/H5Dbtree2.Plo ++ -rm -f ./$(DEPDIR)/H5Dchunk.Plo ++ -rm -f ./$(DEPDIR)/H5Dcompact.Plo ++ -rm -f ./$(DEPDIR)/H5Dcontig.Plo ++ -rm -f ./$(DEPDIR)/H5Ddbg.Plo ++ -rm -f ./$(DEPDIR)/H5Ddeprec.Plo ++ -rm -f ./$(DEPDIR)/H5Dearray.Plo ++ -rm -f ./$(DEPDIR)/H5Defl.Plo ++ -rm -f ./$(DEPDIR)/H5Dfarray.Plo ++ -rm -f ./$(DEPDIR)/H5Dfill.Plo ++ -rm -f ./$(DEPDIR)/H5Dint.Plo ++ -rm -f ./$(DEPDIR)/H5Dio.Plo ++ -rm -f ./$(DEPDIR)/H5Dlayout.Plo ++ -rm -f ./$(DEPDIR)/H5Dmpio.Plo ++ -rm -f ./$(DEPDIR)/H5Dnone.Plo ++ -rm -f ./$(DEPDIR)/H5Doh.Plo ++ -rm -f ./$(DEPDIR)/H5Dscatgath.Plo ++ -rm -f ./$(DEPDIR)/H5Dselect.Plo ++ -rm -f ./$(DEPDIR)/H5Dsingle.Plo ++ -rm -f ./$(DEPDIR)/H5Dtest.Plo ++ -rm -f ./$(DEPDIR)/H5Dvirtual.Plo ++ -rm -f ./$(DEPDIR)/H5E.Plo ++ -rm -f ./$(DEPDIR)/H5EA.Plo ++ -rm -f ./$(DEPDIR)/H5EAcache.Plo ++ -rm -f ./$(DEPDIR)/H5EAdbg.Plo ++ -rm -f ./$(DEPDIR)/H5EAdblkpage.Plo ++ -rm -f ./$(DEPDIR)/H5EAdblock.Plo ++ -rm -f ./$(DEPDIR)/H5EAhdr.Plo ++ -rm -f ./$(DEPDIR)/H5EAiblock.Plo ++ -rm -f ./$(DEPDIR)/H5EAint.Plo ++ -rm -f ./$(DEPDIR)/H5EAsblock.Plo ++ -rm -f ./$(DEPDIR)/H5EAstat.Plo ++ -rm -f ./$(DEPDIR)/H5EAtest.Plo ++ -rm -f ./$(DEPDIR)/H5Edeprec.Plo ++ -rm -f ./$(DEPDIR)/H5Eint.Plo ++ -rm -f ./$(DEPDIR)/H5F.Plo ++ -rm -f ./$(DEPDIR)/H5FA.Plo ++ -rm -f ./$(DEPDIR)/H5FAcache.Plo ++ -rm -f ./$(DEPDIR)/H5FAdbg.Plo ++ -rm -f ./$(DEPDIR)/H5FAdblkpage.Plo ++ -rm -f ./$(DEPDIR)/H5FAdblock.Plo ++ -rm -f ./$(DEPDIR)/H5FAhdr.Plo ++ -rm -f ./$(DEPDIR)/H5FAint.Plo ++ -rm -f ./$(DEPDIR)/H5FAstat.Plo ++ -rm -f ./$(DEPDIR)/H5FAtest.Plo ++ -rm -f ./$(DEPDIR)/H5FD.Plo ++ -rm -f ./$(DEPDIR)/H5FDcore.Plo ++ -rm -f ./$(DEPDIR)/H5FDdirect.Plo ++ -rm -f ./$(DEPDIR)/H5FDfamily.Plo ++ -rm -f ./$(DEPDIR)/H5FDhdfs.Plo ++ -rm -f ./$(DEPDIR)/H5FDint.Plo ++ -rm -f ./$(DEPDIR)/H5FDlog.Plo ++ -rm -f ./$(DEPDIR)/H5FDmpi.Plo ++ -rm -f ./$(DEPDIR)/H5FDmpio.Plo ++ -rm -f ./$(DEPDIR)/H5FDmulti.Plo ++ -rm -f ./$(DEPDIR)/H5FDros3.Plo ++ -rm -f ./$(DEPDIR)/H5FDs3comms.Plo ++ -rm -f ./$(DEPDIR)/H5FDsec2.Plo ++ -rm -f ./$(DEPDIR)/H5FDspace.Plo ++ -rm -f ./$(DEPDIR)/H5FDstdio.Plo ++ -rm -f ./$(DEPDIR)/H5FDtest.Plo ++ -rm -f ./$(DEPDIR)/H5FL.Plo ++ -rm -f ./$(DEPDIR)/H5FO.Plo ++ -rm -f ./$(DEPDIR)/H5FS.Plo ++ -rm -f ./$(DEPDIR)/H5FScache.Plo ++ -rm -f ./$(DEPDIR)/H5FSdbg.Plo ++ -rm -f ./$(DEPDIR)/H5FSint.Plo ++ -rm -f ./$(DEPDIR)/H5FSsection.Plo ++ -rm -f ./$(DEPDIR)/H5FSstat.Plo ++ -rm -f ./$(DEPDIR)/H5FStest.Plo ++ -rm -f ./$(DEPDIR)/H5Faccum.Plo ++ -rm -f ./$(DEPDIR)/H5Fcwfs.Plo ++ -rm -f ./$(DEPDIR)/H5Fdbg.Plo ++ -rm -f ./$(DEPDIR)/H5Fdeprec.Plo ++ -rm -f ./$(DEPDIR)/H5Fefc.Plo ++ -rm -f ./$(DEPDIR)/H5Ffake.Plo ++ -rm -f ./$(DEPDIR)/H5Fint.Plo ++ -rm -f ./$(DEPDIR)/H5Fio.Plo ++ -rm -f ./$(DEPDIR)/H5Fmount.Plo ++ -rm -f ./$(DEPDIR)/H5Fmpi.Plo ++ -rm -f ./$(DEPDIR)/H5Fquery.Plo ++ -rm -f ./$(DEPDIR)/H5Fsfile.Plo ++ -rm -f ./$(DEPDIR)/H5Fspace.Plo ++ -rm -f ./$(DEPDIR)/H5Fsuper.Plo ++ -rm -f ./$(DEPDIR)/H5Fsuper_cache.Plo ++ -rm -f ./$(DEPDIR)/H5Ftest.Plo ++ -rm -f ./$(DEPDIR)/H5G.Plo ++ -rm -f ./$(DEPDIR)/H5Gbtree2.Plo ++ -rm -f ./$(DEPDIR)/H5Gcache.Plo ++ -rm -f ./$(DEPDIR)/H5Gcompact.Plo ++ -rm -f ./$(DEPDIR)/H5Gdense.Plo ++ -rm -f ./$(DEPDIR)/H5Gdeprec.Plo ++ -rm -f ./$(DEPDIR)/H5Gent.Plo ++ -rm -f ./$(DEPDIR)/H5Gint.Plo ++ -rm -f ./$(DEPDIR)/H5Glink.Plo ++ -rm -f ./$(DEPDIR)/H5Gloc.Plo ++ -rm -f ./$(DEPDIR)/H5Gname.Plo ++ -rm -f ./$(DEPDIR)/H5Gnode.Plo ++ -rm -f ./$(DEPDIR)/H5Gobj.Plo ++ -rm -f ./$(DEPDIR)/H5Goh.Plo ++ -rm -f ./$(DEPDIR)/H5Groot.Plo ++ -rm -f ./$(DEPDIR)/H5Gstab.Plo ++ -rm -f ./$(DEPDIR)/H5Gtest.Plo ++ -rm -f ./$(DEPDIR)/H5Gtraverse.Plo ++ -rm -f ./$(DEPDIR)/H5HF.Plo ++ -rm -f ./$(DEPDIR)/H5HFbtree2.Plo ++ -rm -f ./$(DEPDIR)/H5HFcache.Plo ++ -rm -f ./$(DEPDIR)/H5HFdbg.Plo ++ -rm -f ./$(DEPDIR)/H5HFdblock.Plo ++ -rm -f ./$(DEPDIR)/H5HFdtable.Plo ++ -rm -f ./$(DEPDIR)/H5HFhdr.Plo ++ -rm -f ./$(DEPDIR)/H5HFhuge.Plo ++ -rm -f ./$(DEPDIR)/H5HFiblock.Plo ++ -rm -f ./$(DEPDIR)/H5HFiter.Plo ++ -rm -f ./$(DEPDIR)/H5HFman.Plo ++ -rm -f ./$(DEPDIR)/H5HFsection.Plo ++ -rm -f ./$(DEPDIR)/H5HFspace.Plo ++ -rm -f ./$(DEPDIR)/H5HFstat.Plo ++ -rm -f ./$(DEPDIR)/H5HFtest.Plo ++ -rm -f ./$(DEPDIR)/H5HFtiny.Plo ++ -rm -f ./$(DEPDIR)/H5HG.Plo ++ -rm -f ./$(DEPDIR)/H5HGcache.Plo ++ -rm -f ./$(DEPDIR)/H5HGdbg.Plo ++ -rm -f ./$(DEPDIR)/H5HGquery.Plo ++ -rm -f ./$(DEPDIR)/H5HL.Plo ++ -rm -f ./$(DEPDIR)/H5HLcache.Plo ++ -rm -f ./$(DEPDIR)/H5HLdbg.Plo ++ -rm -f ./$(DEPDIR)/H5HLdblk.Plo ++ -rm -f ./$(DEPDIR)/H5HLint.Plo ++ -rm -f ./$(DEPDIR)/H5HLprfx.Plo ++ -rm -f ./$(DEPDIR)/H5HP.Plo ++ -rm -f ./$(DEPDIR)/H5I.Plo ++ -rm -f ./$(DEPDIR)/H5Itest.Plo ++ -rm -f ./$(DEPDIR)/H5L.Plo ++ -rm -f ./$(DEPDIR)/H5Ldeprec.Plo ++ -rm -f ./$(DEPDIR)/H5Lexternal.Plo ++ -rm -f ./$(DEPDIR)/H5M.Plo ++ -rm -f ./$(DEPDIR)/H5MF.Plo ++ -rm -f ./$(DEPDIR)/H5MFaggr.Plo ++ -rm -f ./$(DEPDIR)/H5MFdbg.Plo ++ -rm -f ./$(DEPDIR)/H5MFsection.Plo ++ -rm -f ./$(DEPDIR)/H5MM.Plo ++ -rm -f ./$(DEPDIR)/H5MP.Plo ++ -rm -f ./$(DEPDIR)/H5MPtest.Plo ++ -rm -f ./$(DEPDIR)/H5O.Plo ++ -rm -f ./$(DEPDIR)/H5Oainfo.Plo ++ -rm -f ./$(DEPDIR)/H5Oalloc.Plo ++ -rm -f ./$(DEPDIR)/H5Oattr.Plo ++ -rm -f ./$(DEPDIR)/H5Oattribute.Plo ++ -rm -f ./$(DEPDIR)/H5Obogus.Plo ++ -rm -f ./$(DEPDIR)/H5Obtreek.Plo ++ -rm -f ./$(DEPDIR)/H5Ocache.Plo ++ -rm -f ./$(DEPDIR)/H5Ocache_image.Plo ++ -rm -f ./$(DEPDIR)/H5Ochunk.Plo ++ -rm -f ./$(DEPDIR)/H5Ocont.Plo ++ -rm -f ./$(DEPDIR)/H5Ocopy.Plo ++ -rm -f ./$(DEPDIR)/H5Ocopy_ref.Plo ++ -rm -f ./$(DEPDIR)/H5Odbg.Plo ++ -rm -f ./$(DEPDIR)/H5Odeprec.Plo ++ -rm -f ./$(DEPDIR)/H5Odrvinfo.Plo ++ -rm -f ./$(DEPDIR)/H5Odtype.Plo ++ -rm -f ./$(DEPDIR)/H5Oefl.Plo ++ -rm -f ./$(DEPDIR)/H5Ofill.Plo ++ -rm -f ./$(DEPDIR)/H5Oflush.Plo ++ -rm -f ./$(DEPDIR)/H5Ofsinfo.Plo ++ -rm -f ./$(DEPDIR)/H5Oginfo.Plo ++ -rm -f ./$(DEPDIR)/H5Oint.Plo ++ -rm -f ./$(DEPDIR)/H5Olayout.Plo ++ -rm -f ./$(DEPDIR)/H5Olinfo.Plo ++ -rm -f ./$(DEPDIR)/H5Olink.Plo ++ -rm -f ./$(DEPDIR)/H5Omessage.Plo ++ -rm -f ./$(DEPDIR)/H5Omtime.Plo ++ -rm -f ./$(DEPDIR)/H5Oname.Plo ++ -rm -f ./$(DEPDIR)/H5Onull.Plo ++ -rm -f ./$(DEPDIR)/H5Opline.Plo ++ -rm -f ./$(DEPDIR)/H5Orefcount.Plo ++ -rm -f ./$(DEPDIR)/H5Osdspace.Plo ++ -rm -f ./$(DEPDIR)/H5Oshared.Plo ++ -rm -f ./$(DEPDIR)/H5Oshmesg.Plo ++ -rm -f ./$(DEPDIR)/H5Ostab.Plo ++ -rm -f ./$(DEPDIR)/H5Otest.Plo ++ -rm -f ./$(DEPDIR)/H5Ounknown.Plo ++ -rm -f ./$(DEPDIR)/H5P.Plo ++ -rm -f ./$(DEPDIR)/H5PB.Plo ++ -rm -f ./$(DEPDIR)/H5PL.Plo ++ -rm -f ./$(DEPDIR)/H5PLint.Plo ++ -rm -f ./$(DEPDIR)/H5PLpath.Plo ++ -rm -f ./$(DEPDIR)/H5PLplugin_cache.Plo ++ -rm -f ./$(DEPDIR)/H5Pacpl.Plo ++ -rm -f ./$(DEPDIR)/H5Pdapl.Plo ++ -rm -f ./$(DEPDIR)/H5Pdcpl.Plo ++ -rm -f ./$(DEPDIR)/H5Pdeprec.Plo ++ -rm -f ./$(DEPDIR)/H5Pdxpl.Plo ++ -rm -f ./$(DEPDIR)/H5Pencdec.Plo ++ -rm -f ./$(DEPDIR)/H5Pfapl.Plo ++ -rm -f ./$(DEPDIR)/H5Pfcpl.Plo ++ -rm -f ./$(DEPDIR)/H5Pfmpl.Plo ++ -rm -f ./$(DEPDIR)/H5Pgcpl.Plo ++ -rm -f ./$(DEPDIR)/H5Pint.Plo ++ -rm -f ./$(DEPDIR)/H5Plapl.Plo ++ -rm -f ./$(DEPDIR)/H5Plcpl.Plo ++ -rm -f ./$(DEPDIR)/H5Pmapl.Plo ++ -rm -f ./$(DEPDIR)/H5Pmcpl.Plo ++ -rm -f ./$(DEPDIR)/H5Pocpl.Plo ++ -rm -f ./$(DEPDIR)/H5Pocpypl.Plo ++ -rm -f ./$(DEPDIR)/H5Pstrcpl.Plo ++ -rm -f ./$(DEPDIR)/H5Ptest.Plo ++ -rm -f ./$(DEPDIR)/H5R.Plo ++ -rm -f ./$(DEPDIR)/H5RS.Plo ++ -rm -f ./$(DEPDIR)/H5Rdeprec.Plo ++ -rm -f ./$(DEPDIR)/H5Rint.Plo ++ -rm -f ./$(DEPDIR)/H5S.Plo ++ -rm -f ./$(DEPDIR)/H5SL.Plo ++ -rm -f ./$(DEPDIR)/H5SM.Plo ++ -rm -f ./$(DEPDIR)/H5SMbtree2.Plo ++ -rm -f ./$(DEPDIR)/H5SMcache.Plo ++ -rm -f ./$(DEPDIR)/H5SMmessage.Plo ++ -rm -f ./$(DEPDIR)/H5SMtest.Plo ++ -rm -f ./$(DEPDIR)/H5ST.Plo ++ -rm -f ./$(DEPDIR)/H5Sall.Plo ++ -rm -f ./$(DEPDIR)/H5Sdbg.Plo ++ -rm -f ./$(DEPDIR)/H5Sdeprec.Plo ++ -rm -f ./$(DEPDIR)/H5Shyper.Plo ++ -rm -f ./$(DEPDIR)/H5Smpio.Plo ++ -rm -f ./$(DEPDIR)/H5Snone.Plo ++ -rm -f ./$(DEPDIR)/H5Spoint.Plo ++ -rm -f ./$(DEPDIR)/H5Sselect.Plo ++ -rm -f ./$(DEPDIR)/H5Stest.Plo ++ -rm -f ./$(DEPDIR)/H5T.Plo ++ -rm -f ./$(DEPDIR)/H5TS.Plo ++ -rm -f ./$(DEPDIR)/H5Tarray.Plo ++ -rm -f ./$(DEPDIR)/H5Tbit.Plo ++ -rm -f ./$(DEPDIR)/H5Tcommit.Plo ++ -rm -f ./$(DEPDIR)/H5Tcompound.Plo ++ -rm -f ./$(DEPDIR)/H5Tconv.Plo ++ -rm -f ./$(DEPDIR)/H5Tcset.Plo ++ -rm -f ./$(DEPDIR)/H5Tdbg.Plo ++ -rm -f ./$(DEPDIR)/H5Tdeprec.Plo ++ -rm -f ./$(DEPDIR)/H5Tenum.Plo ++ -rm -f ./$(DEPDIR)/H5Tfields.Plo ++ -rm -f ./$(DEPDIR)/H5Tfixed.Plo ++ -rm -f ./$(DEPDIR)/H5Tfloat.Plo ++ -rm -f ./$(DEPDIR)/H5Tinit.Plo ++ -rm -f ./$(DEPDIR)/H5Tnative.Plo ++ -rm -f ./$(DEPDIR)/H5Toffset.Plo ++ -rm -f ./$(DEPDIR)/H5Toh.Plo ++ -rm -f ./$(DEPDIR)/H5Topaque.Plo ++ -rm -f ./$(DEPDIR)/H5Torder.Plo ++ -rm -f ./$(DEPDIR)/H5Tpad.Plo ++ -rm -f ./$(DEPDIR)/H5Tprecis.Plo ++ -rm -f ./$(DEPDIR)/H5Tref.Plo ++ -rm -f ./$(DEPDIR)/H5Tstrpad.Plo ++ -rm -f ./$(DEPDIR)/H5Tvisit.Plo ++ -rm -f ./$(DEPDIR)/H5Tvlen.Plo ++ -rm -f ./$(DEPDIR)/H5UC.Plo ++ -rm -f ./$(DEPDIR)/H5VL.Plo ++ -rm -f ./$(DEPDIR)/H5VLcallback.Plo ++ -rm -f ./$(DEPDIR)/H5VLint.Plo ++ -rm -f ./$(DEPDIR)/H5VLnative.Plo ++ -rm -f ./$(DEPDIR)/H5VLnative_attr.Plo ++ -rm -f ./$(DEPDIR)/H5VLnative_blob.Plo ++ -rm -f ./$(DEPDIR)/H5VLnative_dataset.Plo ++ -rm -f ./$(DEPDIR)/H5VLnative_datatype.Plo ++ -rm -f ./$(DEPDIR)/H5VLnative_file.Plo ++ -rm -f ./$(DEPDIR)/H5VLnative_group.Plo ++ -rm -f ./$(DEPDIR)/H5VLnative_introspect.Plo ++ -rm -f ./$(DEPDIR)/H5VLnative_link.Plo ++ -rm -f ./$(DEPDIR)/H5VLnative_object.Plo ++ -rm -f ./$(DEPDIR)/H5VLnative_token.Plo ++ -rm -f ./$(DEPDIR)/H5VLpassthru.Plo ++ -rm -f ./$(DEPDIR)/H5VM.Plo ++ -rm -f ./$(DEPDIR)/H5WB.Plo ++ -rm -f ./$(DEPDIR)/H5Z.Plo ++ -rm -f ./$(DEPDIR)/H5Zdeflate.Plo ++ -rm -f ./$(DEPDIR)/H5Zfletcher32.Plo ++ -rm -f ./$(DEPDIR)/H5Znbit.Plo ++ -rm -f ./$(DEPDIR)/H5Zscaleoffset.Plo ++ -rm -f ./$(DEPDIR)/H5Zshuffle.Plo ++ -rm -f ./$(DEPDIR)/H5Zszip.Plo ++ -rm -f ./$(DEPDIR)/H5Ztrans.Plo ++ -rm -f ./$(DEPDIR)/H5checksum.Plo ++ -rm -f ./$(DEPDIR)/H5dbg.Plo ++ -rm -f ./$(DEPDIR)/H5detect.Po ++ -rm -f ./$(DEPDIR)/H5lib_settings.Plo ++ -rm -f ./$(DEPDIR)/H5make_libsettings.Po ++ -rm -f ./$(DEPDIR)/H5mpi.Plo ++ -rm -f ./$(DEPDIR)/H5system.Plo ++ -rm -f ./$(DEPDIR)/H5timer.Plo ++ -rm -f ./$(DEPDIR)/H5trace.Plo + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-tags +@@ -1874,7 +2378,334 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/H5.Plo ++ -rm -f ./$(DEPDIR)/H5A.Plo ++ -rm -f ./$(DEPDIR)/H5AC.Plo ++ -rm -f ./$(DEPDIR)/H5ACdbg.Plo ++ -rm -f ./$(DEPDIR)/H5ACmpio.Plo ++ -rm -f ./$(DEPDIR)/H5ACproxy_entry.Plo ++ -rm -f ./$(DEPDIR)/H5Abtree2.Plo ++ -rm -f ./$(DEPDIR)/H5Adense.Plo ++ -rm -f ./$(DEPDIR)/H5Adeprec.Plo ++ -rm -f ./$(DEPDIR)/H5Aint.Plo ++ -rm -f ./$(DEPDIR)/H5Atest.Plo ++ -rm -f ./$(DEPDIR)/H5B.Plo ++ -rm -f ./$(DEPDIR)/H5B2.Plo ++ -rm -f ./$(DEPDIR)/H5B2cache.Plo ++ -rm -f ./$(DEPDIR)/H5B2dbg.Plo ++ -rm -f ./$(DEPDIR)/H5B2hdr.Plo ++ -rm -f ./$(DEPDIR)/H5B2int.Plo ++ -rm -f ./$(DEPDIR)/H5B2internal.Plo ++ -rm -f ./$(DEPDIR)/H5B2leaf.Plo ++ -rm -f ./$(DEPDIR)/H5B2stat.Plo ++ -rm -f ./$(DEPDIR)/H5B2test.Plo ++ -rm -f ./$(DEPDIR)/H5Bcache.Plo ++ -rm -f ./$(DEPDIR)/H5Bdbg.Plo ++ -rm -f ./$(DEPDIR)/H5C.Plo ++ -rm -f ./$(DEPDIR)/H5CS.Plo ++ -rm -f ./$(DEPDIR)/H5CX.Plo ++ -rm -f ./$(DEPDIR)/H5Cdbg.Plo ++ -rm -f ./$(DEPDIR)/H5Cepoch.Plo ++ -rm -f ./$(DEPDIR)/H5Cimage.Plo ++ -rm -f ./$(DEPDIR)/H5Clog.Plo ++ -rm -f ./$(DEPDIR)/H5Clog_json.Plo ++ -rm -f ./$(DEPDIR)/H5Clog_trace.Plo ++ -rm -f ./$(DEPDIR)/H5Cmpio.Plo ++ -rm -f ./$(DEPDIR)/H5Cprefetched.Plo ++ -rm -f ./$(DEPDIR)/H5Cquery.Plo ++ -rm -f ./$(DEPDIR)/H5Ctag.Plo ++ -rm -f ./$(DEPDIR)/H5Ctest.Plo ++ -rm -f ./$(DEPDIR)/H5D.Plo ++ -rm -f ./$(DEPDIR)/H5Dbtree.Plo ++ -rm -f ./$(DEPDIR)/H5Dbtree2.Plo ++ -rm -f ./$(DEPDIR)/H5Dchunk.Plo ++ -rm -f ./$(DEPDIR)/H5Dcompact.Plo ++ -rm -f ./$(DEPDIR)/H5Dcontig.Plo ++ -rm -f ./$(DEPDIR)/H5Ddbg.Plo ++ -rm -f ./$(DEPDIR)/H5Ddeprec.Plo ++ -rm -f ./$(DEPDIR)/H5Dearray.Plo ++ -rm -f ./$(DEPDIR)/H5Defl.Plo ++ -rm -f ./$(DEPDIR)/H5Dfarray.Plo ++ -rm -f ./$(DEPDIR)/H5Dfill.Plo ++ -rm -f ./$(DEPDIR)/H5Dint.Plo ++ -rm -f ./$(DEPDIR)/H5Dio.Plo ++ -rm -f ./$(DEPDIR)/H5Dlayout.Plo ++ -rm -f ./$(DEPDIR)/H5Dmpio.Plo ++ -rm -f ./$(DEPDIR)/H5Dnone.Plo ++ -rm -f ./$(DEPDIR)/H5Doh.Plo ++ -rm -f ./$(DEPDIR)/H5Dscatgath.Plo ++ -rm -f ./$(DEPDIR)/H5Dselect.Plo ++ -rm -f ./$(DEPDIR)/H5Dsingle.Plo ++ -rm -f ./$(DEPDIR)/H5Dtest.Plo ++ -rm -f ./$(DEPDIR)/H5Dvirtual.Plo ++ -rm -f ./$(DEPDIR)/H5E.Plo ++ -rm -f ./$(DEPDIR)/H5EA.Plo ++ -rm -f ./$(DEPDIR)/H5EAcache.Plo ++ -rm -f ./$(DEPDIR)/H5EAdbg.Plo ++ -rm -f ./$(DEPDIR)/H5EAdblkpage.Plo ++ -rm -f ./$(DEPDIR)/H5EAdblock.Plo ++ -rm -f ./$(DEPDIR)/H5EAhdr.Plo ++ -rm -f ./$(DEPDIR)/H5EAiblock.Plo ++ -rm -f ./$(DEPDIR)/H5EAint.Plo ++ -rm -f ./$(DEPDIR)/H5EAsblock.Plo ++ -rm -f ./$(DEPDIR)/H5EAstat.Plo ++ -rm -f ./$(DEPDIR)/H5EAtest.Plo ++ -rm -f ./$(DEPDIR)/H5Edeprec.Plo ++ -rm -f ./$(DEPDIR)/H5Eint.Plo ++ -rm -f ./$(DEPDIR)/H5F.Plo ++ -rm -f ./$(DEPDIR)/H5FA.Plo ++ -rm -f ./$(DEPDIR)/H5FAcache.Plo ++ -rm -f ./$(DEPDIR)/H5FAdbg.Plo ++ -rm -f ./$(DEPDIR)/H5FAdblkpage.Plo ++ -rm -f ./$(DEPDIR)/H5FAdblock.Plo ++ -rm -f ./$(DEPDIR)/H5FAhdr.Plo ++ -rm -f ./$(DEPDIR)/H5FAint.Plo ++ -rm -f ./$(DEPDIR)/H5FAstat.Plo ++ -rm -f ./$(DEPDIR)/H5FAtest.Plo ++ -rm -f ./$(DEPDIR)/H5FD.Plo ++ -rm -f ./$(DEPDIR)/H5FDcore.Plo ++ -rm -f ./$(DEPDIR)/H5FDdirect.Plo ++ -rm -f ./$(DEPDIR)/H5FDfamily.Plo ++ -rm -f ./$(DEPDIR)/H5FDhdfs.Plo ++ -rm -f ./$(DEPDIR)/H5FDint.Plo ++ -rm -f ./$(DEPDIR)/H5FDlog.Plo ++ -rm -f ./$(DEPDIR)/H5FDmpi.Plo ++ -rm -f ./$(DEPDIR)/H5FDmpio.Plo ++ -rm -f ./$(DEPDIR)/H5FDmulti.Plo ++ -rm -f ./$(DEPDIR)/H5FDros3.Plo ++ -rm -f ./$(DEPDIR)/H5FDs3comms.Plo ++ -rm -f ./$(DEPDIR)/H5FDsec2.Plo ++ -rm -f ./$(DEPDIR)/H5FDspace.Plo ++ -rm -f ./$(DEPDIR)/H5FDstdio.Plo ++ -rm -f ./$(DEPDIR)/H5FDtest.Plo ++ -rm -f ./$(DEPDIR)/H5FL.Plo ++ -rm -f ./$(DEPDIR)/H5FO.Plo ++ -rm -f ./$(DEPDIR)/H5FS.Plo ++ -rm -f ./$(DEPDIR)/H5FScache.Plo ++ -rm -f ./$(DEPDIR)/H5FSdbg.Plo ++ -rm -f ./$(DEPDIR)/H5FSint.Plo ++ -rm -f ./$(DEPDIR)/H5FSsection.Plo ++ -rm -f ./$(DEPDIR)/H5FSstat.Plo ++ -rm -f ./$(DEPDIR)/H5FStest.Plo ++ -rm -f ./$(DEPDIR)/H5Faccum.Plo ++ -rm -f ./$(DEPDIR)/H5Fcwfs.Plo ++ -rm -f ./$(DEPDIR)/H5Fdbg.Plo ++ -rm -f ./$(DEPDIR)/H5Fdeprec.Plo ++ -rm -f ./$(DEPDIR)/H5Fefc.Plo ++ -rm -f ./$(DEPDIR)/H5Ffake.Plo ++ -rm -f ./$(DEPDIR)/H5Fint.Plo ++ -rm -f ./$(DEPDIR)/H5Fio.Plo ++ -rm -f ./$(DEPDIR)/H5Fmount.Plo ++ -rm -f ./$(DEPDIR)/H5Fmpi.Plo ++ -rm -f ./$(DEPDIR)/H5Fquery.Plo ++ -rm -f ./$(DEPDIR)/H5Fsfile.Plo ++ -rm -f ./$(DEPDIR)/H5Fspace.Plo ++ -rm -f ./$(DEPDIR)/H5Fsuper.Plo ++ -rm -f ./$(DEPDIR)/H5Fsuper_cache.Plo ++ -rm -f ./$(DEPDIR)/H5Ftest.Plo ++ -rm -f ./$(DEPDIR)/H5G.Plo ++ -rm -f ./$(DEPDIR)/H5Gbtree2.Plo ++ -rm -f ./$(DEPDIR)/H5Gcache.Plo ++ -rm -f ./$(DEPDIR)/H5Gcompact.Plo ++ -rm -f ./$(DEPDIR)/H5Gdense.Plo ++ -rm -f ./$(DEPDIR)/H5Gdeprec.Plo ++ -rm -f ./$(DEPDIR)/H5Gent.Plo ++ -rm -f ./$(DEPDIR)/H5Gint.Plo ++ -rm -f ./$(DEPDIR)/H5Glink.Plo ++ -rm -f ./$(DEPDIR)/H5Gloc.Plo ++ -rm -f ./$(DEPDIR)/H5Gname.Plo ++ -rm -f ./$(DEPDIR)/H5Gnode.Plo ++ -rm -f ./$(DEPDIR)/H5Gobj.Plo ++ -rm -f ./$(DEPDIR)/H5Goh.Plo ++ -rm -f ./$(DEPDIR)/H5Groot.Plo ++ -rm -f ./$(DEPDIR)/H5Gstab.Plo ++ -rm -f ./$(DEPDIR)/H5Gtest.Plo ++ -rm -f ./$(DEPDIR)/H5Gtraverse.Plo ++ -rm -f ./$(DEPDIR)/H5HF.Plo ++ -rm -f ./$(DEPDIR)/H5HFbtree2.Plo ++ -rm -f ./$(DEPDIR)/H5HFcache.Plo ++ -rm -f ./$(DEPDIR)/H5HFdbg.Plo ++ -rm -f ./$(DEPDIR)/H5HFdblock.Plo ++ -rm -f ./$(DEPDIR)/H5HFdtable.Plo ++ -rm -f ./$(DEPDIR)/H5HFhdr.Plo ++ -rm -f ./$(DEPDIR)/H5HFhuge.Plo ++ -rm -f ./$(DEPDIR)/H5HFiblock.Plo ++ -rm -f ./$(DEPDIR)/H5HFiter.Plo ++ -rm -f ./$(DEPDIR)/H5HFman.Plo ++ -rm -f ./$(DEPDIR)/H5HFsection.Plo ++ -rm -f ./$(DEPDIR)/H5HFspace.Plo ++ -rm -f ./$(DEPDIR)/H5HFstat.Plo ++ -rm -f ./$(DEPDIR)/H5HFtest.Plo ++ -rm -f ./$(DEPDIR)/H5HFtiny.Plo ++ -rm -f ./$(DEPDIR)/H5HG.Plo ++ -rm -f ./$(DEPDIR)/H5HGcache.Plo ++ -rm -f ./$(DEPDIR)/H5HGdbg.Plo ++ -rm -f ./$(DEPDIR)/H5HGquery.Plo ++ -rm -f ./$(DEPDIR)/H5HL.Plo ++ -rm -f ./$(DEPDIR)/H5HLcache.Plo ++ -rm -f ./$(DEPDIR)/H5HLdbg.Plo ++ -rm -f ./$(DEPDIR)/H5HLdblk.Plo ++ -rm -f ./$(DEPDIR)/H5HLint.Plo ++ -rm -f ./$(DEPDIR)/H5HLprfx.Plo ++ -rm -f ./$(DEPDIR)/H5HP.Plo ++ -rm -f ./$(DEPDIR)/H5I.Plo ++ -rm -f ./$(DEPDIR)/H5Itest.Plo ++ -rm -f ./$(DEPDIR)/H5L.Plo ++ -rm -f ./$(DEPDIR)/H5Ldeprec.Plo ++ -rm -f ./$(DEPDIR)/H5Lexternal.Plo ++ -rm -f ./$(DEPDIR)/H5M.Plo ++ -rm -f ./$(DEPDIR)/H5MF.Plo ++ -rm -f ./$(DEPDIR)/H5MFaggr.Plo ++ -rm -f ./$(DEPDIR)/H5MFdbg.Plo ++ -rm -f ./$(DEPDIR)/H5MFsection.Plo ++ -rm -f ./$(DEPDIR)/H5MM.Plo ++ -rm -f ./$(DEPDIR)/H5MP.Plo ++ -rm -f ./$(DEPDIR)/H5MPtest.Plo ++ -rm -f ./$(DEPDIR)/H5O.Plo ++ -rm -f ./$(DEPDIR)/H5Oainfo.Plo ++ -rm -f ./$(DEPDIR)/H5Oalloc.Plo ++ -rm -f ./$(DEPDIR)/H5Oattr.Plo ++ -rm -f ./$(DEPDIR)/H5Oattribute.Plo ++ -rm -f ./$(DEPDIR)/H5Obogus.Plo ++ -rm -f ./$(DEPDIR)/H5Obtreek.Plo ++ -rm -f ./$(DEPDIR)/H5Ocache.Plo ++ -rm -f ./$(DEPDIR)/H5Ocache_image.Plo ++ -rm -f ./$(DEPDIR)/H5Ochunk.Plo ++ -rm -f ./$(DEPDIR)/H5Ocont.Plo ++ -rm -f ./$(DEPDIR)/H5Ocopy.Plo ++ -rm -f ./$(DEPDIR)/H5Ocopy_ref.Plo ++ -rm -f ./$(DEPDIR)/H5Odbg.Plo ++ -rm -f ./$(DEPDIR)/H5Odeprec.Plo ++ -rm -f ./$(DEPDIR)/H5Odrvinfo.Plo ++ -rm -f ./$(DEPDIR)/H5Odtype.Plo ++ -rm -f ./$(DEPDIR)/H5Oefl.Plo ++ -rm -f ./$(DEPDIR)/H5Ofill.Plo ++ -rm -f ./$(DEPDIR)/H5Oflush.Plo ++ -rm -f ./$(DEPDIR)/H5Ofsinfo.Plo ++ -rm -f ./$(DEPDIR)/H5Oginfo.Plo ++ -rm -f ./$(DEPDIR)/H5Oint.Plo ++ -rm -f ./$(DEPDIR)/H5Olayout.Plo ++ -rm -f ./$(DEPDIR)/H5Olinfo.Plo ++ -rm -f ./$(DEPDIR)/H5Olink.Plo ++ -rm -f ./$(DEPDIR)/H5Omessage.Plo ++ -rm -f ./$(DEPDIR)/H5Omtime.Plo ++ -rm -f ./$(DEPDIR)/H5Oname.Plo ++ -rm -f ./$(DEPDIR)/H5Onull.Plo ++ -rm -f ./$(DEPDIR)/H5Opline.Plo ++ -rm -f ./$(DEPDIR)/H5Orefcount.Plo ++ -rm -f ./$(DEPDIR)/H5Osdspace.Plo ++ -rm -f ./$(DEPDIR)/H5Oshared.Plo ++ -rm -f ./$(DEPDIR)/H5Oshmesg.Plo ++ -rm -f ./$(DEPDIR)/H5Ostab.Plo ++ -rm -f ./$(DEPDIR)/H5Otest.Plo ++ -rm -f ./$(DEPDIR)/H5Ounknown.Plo ++ -rm -f ./$(DEPDIR)/H5P.Plo ++ -rm -f ./$(DEPDIR)/H5PB.Plo ++ -rm -f ./$(DEPDIR)/H5PL.Plo ++ -rm -f ./$(DEPDIR)/H5PLint.Plo ++ -rm -f ./$(DEPDIR)/H5PLpath.Plo ++ -rm -f ./$(DEPDIR)/H5PLplugin_cache.Plo ++ -rm -f ./$(DEPDIR)/H5Pacpl.Plo ++ -rm -f ./$(DEPDIR)/H5Pdapl.Plo ++ -rm -f ./$(DEPDIR)/H5Pdcpl.Plo ++ -rm -f ./$(DEPDIR)/H5Pdeprec.Plo ++ -rm -f ./$(DEPDIR)/H5Pdxpl.Plo ++ -rm -f ./$(DEPDIR)/H5Pencdec.Plo ++ -rm -f ./$(DEPDIR)/H5Pfapl.Plo ++ -rm -f ./$(DEPDIR)/H5Pfcpl.Plo ++ -rm -f ./$(DEPDIR)/H5Pfmpl.Plo ++ -rm -f ./$(DEPDIR)/H5Pgcpl.Plo ++ -rm -f ./$(DEPDIR)/H5Pint.Plo ++ -rm -f ./$(DEPDIR)/H5Plapl.Plo ++ -rm -f ./$(DEPDIR)/H5Plcpl.Plo ++ -rm -f ./$(DEPDIR)/H5Pmapl.Plo ++ -rm -f ./$(DEPDIR)/H5Pmcpl.Plo ++ -rm -f ./$(DEPDIR)/H5Pocpl.Plo ++ -rm -f ./$(DEPDIR)/H5Pocpypl.Plo ++ -rm -f ./$(DEPDIR)/H5Pstrcpl.Plo ++ -rm -f ./$(DEPDIR)/H5Ptest.Plo ++ -rm -f ./$(DEPDIR)/H5R.Plo ++ -rm -f ./$(DEPDIR)/H5RS.Plo ++ -rm -f ./$(DEPDIR)/H5Rdeprec.Plo ++ -rm -f ./$(DEPDIR)/H5Rint.Plo ++ -rm -f ./$(DEPDIR)/H5S.Plo ++ -rm -f ./$(DEPDIR)/H5SL.Plo ++ -rm -f ./$(DEPDIR)/H5SM.Plo ++ -rm -f ./$(DEPDIR)/H5SMbtree2.Plo ++ -rm -f ./$(DEPDIR)/H5SMcache.Plo ++ -rm -f ./$(DEPDIR)/H5SMmessage.Plo ++ -rm -f ./$(DEPDIR)/H5SMtest.Plo ++ -rm -f ./$(DEPDIR)/H5ST.Plo ++ -rm -f ./$(DEPDIR)/H5Sall.Plo ++ -rm -f ./$(DEPDIR)/H5Sdbg.Plo ++ -rm -f ./$(DEPDIR)/H5Sdeprec.Plo ++ -rm -f ./$(DEPDIR)/H5Shyper.Plo ++ -rm -f ./$(DEPDIR)/H5Smpio.Plo ++ -rm -f ./$(DEPDIR)/H5Snone.Plo ++ -rm -f ./$(DEPDIR)/H5Spoint.Plo ++ -rm -f ./$(DEPDIR)/H5Sselect.Plo ++ -rm -f ./$(DEPDIR)/H5Stest.Plo ++ -rm -f ./$(DEPDIR)/H5T.Plo ++ -rm -f ./$(DEPDIR)/H5TS.Plo ++ -rm -f ./$(DEPDIR)/H5Tarray.Plo ++ -rm -f ./$(DEPDIR)/H5Tbit.Plo ++ -rm -f ./$(DEPDIR)/H5Tcommit.Plo ++ -rm -f ./$(DEPDIR)/H5Tcompound.Plo ++ -rm -f ./$(DEPDIR)/H5Tconv.Plo ++ -rm -f ./$(DEPDIR)/H5Tcset.Plo ++ -rm -f ./$(DEPDIR)/H5Tdbg.Plo ++ -rm -f ./$(DEPDIR)/H5Tdeprec.Plo ++ -rm -f ./$(DEPDIR)/H5Tenum.Plo ++ -rm -f ./$(DEPDIR)/H5Tfields.Plo ++ -rm -f ./$(DEPDIR)/H5Tfixed.Plo ++ -rm -f ./$(DEPDIR)/H5Tfloat.Plo ++ -rm -f ./$(DEPDIR)/H5Tinit.Plo ++ -rm -f ./$(DEPDIR)/H5Tnative.Plo ++ -rm -f ./$(DEPDIR)/H5Toffset.Plo ++ -rm -f ./$(DEPDIR)/H5Toh.Plo ++ -rm -f ./$(DEPDIR)/H5Topaque.Plo ++ -rm -f ./$(DEPDIR)/H5Torder.Plo ++ -rm -f ./$(DEPDIR)/H5Tpad.Plo ++ -rm -f ./$(DEPDIR)/H5Tprecis.Plo ++ -rm -f ./$(DEPDIR)/H5Tref.Plo ++ -rm -f ./$(DEPDIR)/H5Tstrpad.Plo ++ -rm -f ./$(DEPDIR)/H5Tvisit.Plo ++ -rm -f ./$(DEPDIR)/H5Tvlen.Plo ++ -rm -f ./$(DEPDIR)/H5UC.Plo ++ -rm -f ./$(DEPDIR)/H5VL.Plo ++ -rm -f ./$(DEPDIR)/H5VLcallback.Plo ++ -rm -f ./$(DEPDIR)/H5VLint.Plo ++ -rm -f ./$(DEPDIR)/H5VLnative.Plo ++ -rm -f ./$(DEPDIR)/H5VLnative_attr.Plo ++ -rm -f ./$(DEPDIR)/H5VLnative_blob.Plo ++ -rm -f ./$(DEPDIR)/H5VLnative_dataset.Plo ++ -rm -f ./$(DEPDIR)/H5VLnative_datatype.Plo ++ -rm -f ./$(DEPDIR)/H5VLnative_file.Plo ++ -rm -f ./$(DEPDIR)/H5VLnative_group.Plo ++ -rm -f ./$(DEPDIR)/H5VLnative_introspect.Plo ++ -rm -f ./$(DEPDIR)/H5VLnative_link.Plo ++ -rm -f ./$(DEPDIR)/H5VLnative_object.Plo ++ -rm -f ./$(DEPDIR)/H5VLnative_token.Plo ++ -rm -f ./$(DEPDIR)/H5VLpassthru.Plo ++ -rm -f ./$(DEPDIR)/H5VM.Plo ++ -rm -f ./$(DEPDIR)/H5WB.Plo ++ -rm -f ./$(DEPDIR)/H5Z.Plo ++ -rm -f ./$(DEPDIR)/H5Zdeflate.Plo ++ -rm -f ./$(DEPDIR)/H5Zfletcher32.Plo ++ -rm -f ./$(DEPDIR)/H5Znbit.Plo ++ -rm -f ./$(DEPDIR)/H5Zscaleoffset.Plo ++ -rm -f ./$(DEPDIR)/H5Zshuffle.Plo ++ -rm -f ./$(DEPDIR)/H5Zszip.Plo ++ -rm -f ./$(DEPDIR)/H5Ztrans.Plo ++ -rm -f ./$(DEPDIR)/H5checksum.Plo ++ -rm -f ./$(DEPDIR)/H5dbg.Plo ++ -rm -f ./$(DEPDIR)/H5detect.Po ++ -rm -f ./$(DEPDIR)/H5lib_settings.Plo ++ -rm -f ./$(DEPDIR)/H5make_libsettings.Po ++ -rm -f ./$(DEPDIR)/H5mpi.Plo ++ -rm -f ./$(DEPDIR)/H5system.Plo ++ -rm -f ./$(DEPDIR)/H5timer.Plo ++ -rm -f ./$(DEPDIR)/H5trace.Plo + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1896,8 +2727,8 @@ + + .MAKE: all check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-generic clean-libLTLIBRARIES \ ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-generic clean-libLTLIBRARIES \ + clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \ + ctags-am distclean distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags distdir dvi \ +diff --color -urN a/hdf5-1.12.0/test/Makefile.in b/hdf5-1.12.0/test/Makefile.in +--- a/hdf5-1.12.0/test/Makefile.in 2020-02-29 00:52:24 ++++ b/hdf5-1.12.0/test/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -157,6 +157,41 @@ + testswmr.sh testvds_env.sh testvdsswmr.sh \ + test_filter_plugin.sh test_usecases.sh test_vol_plugin.sh + CONFIG_CLEAN_VPATH_FILES = ++am__EXEEXT_1 = testhdf5$(EXEEXT) cache$(EXEEXT) cache_api$(EXEEXT) \ ++ cache_image$(EXEEXT) cache_tagging$(EXEEXT) lheap$(EXEEXT) \ ++ ohdr$(EXEEXT) stab$(EXEEXT) gheap$(EXEEXT) \ ++ evict_on_close$(EXEEXT) farray$(EXEEXT) earray$(EXEEXT) \ ++ btree2$(EXEEXT) fheap$(EXEEXT) pool$(EXEEXT) accum$(EXEEXT) \ ++ hyperslab$(EXEEXT) istore$(EXEEXT) bittests$(EXEEXT) \ ++ dt_arith$(EXEEXT) page_buffer$(EXEEXT) dtypes$(EXEEXT) \ ++ dsets$(EXEEXT) chunk_info$(EXEEXT) cmpd_dset$(EXEEXT) \ ++ filter_fail$(EXEEXT) extend$(EXEEXT) direct_chunk$(EXEEXT) \ ++ external$(EXEEXT) efc$(EXEEXT) objcopy$(EXEEXT) \ ++ objcopy_ref$(EXEEXT) links$(EXEEXT) unlink$(EXEEXT) \ ++ twriteorder$(EXEEXT) big$(EXEEXT) mtime$(EXEEXT) \ ++ fillval$(EXEEXT) mount$(EXEEXT) flush1$(EXEEXT) \ ++ flush2$(EXEEXT) app_ref$(EXEEXT) enum$(EXEEXT) \ ++ set_extent$(EXEEXT) ttsafe$(EXEEXT) enc_dec_plist$(EXEEXT) \ ++ enc_dec_plist_cross_platform$(EXEEXT) getname$(EXEEXT) \ ++ vfd$(EXEEXT) ros3$(EXEEXT) s3comms$(EXEEXT) hdfs$(EXEEXT) \ ++ ntypes$(EXEEXT) dangle$(EXEEXT) dtransform$(EXEEXT) \ ++ reserved$(EXEEXT) cross_read$(EXEEXT) freespace$(EXEEXT) \ ++ mf$(EXEEXT) vds$(EXEEXT) file_image$(EXEEXT) \ ++ unregister$(EXEEXT) cache_logging$(EXEEXT) cork$(EXEEXT) \ ++ swmr$(EXEEXT) vol$(EXEEXT) ++@HAVE_SHARED_CONDITIONAL_TRUE@am__EXEEXT_2 = filter_plugin$(EXEEXT) \ ++@HAVE_SHARED_CONDITIONAL_TRUE@ vol_plugin$(EXEEXT) ++am__EXEEXT_3 = gen_bad_ohdr$(EXEEXT) gen_bogus$(EXEEXT) \ ++ gen_cross$(EXEEXT) gen_deflate$(EXEEXT) gen_filters$(EXEEXT) \ ++ gen_new_array$(EXEEXT) gen_new_fill$(EXEEXT) \ ++ gen_new_group$(EXEEXT) gen_new_mtime$(EXEEXT) \ ++ gen_new_super$(EXEEXT) gen_noencoder$(EXEEXT) \ ++ gen_nullspace$(EXEEXT) gen_udlinks$(EXEEXT) \ ++ space_overflow$(EXEEXT) gen_filespace$(EXEEXT) \ ++ gen_specmetaread$(EXEEXT) gen_sizes_lheap$(EXEEXT) \ ++ gen_file_image$(EXEEXT) gen_plist$(EXEEXT) \ ++ gen_bad_offset$(EXEEXT) gen_bounds$(EXEEXT) ++PROGRAMS = $(noinst_PROGRAMS) + LTLIBRARIES = $(noinst_LTLIBRARIES) + libfilter_plugin1_dsets_la_LIBADD = + am__libfilter_plugin1_dsets_la_SOURCES_DIST = filter_plugin1_dsets.c +@@ -226,41 +261,6 @@ + $(AM_CFLAGS) $(CFLAGS) $(libnull_vol_connector_la_LDFLAGS) \ + $(LDFLAGS) -o $@ + @HAVE_SHARED_CONDITIONAL_TRUE@am_libnull_vol_connector_la_rpath = +-am__EXEEXT_1 = testhdf5$(EXEEXT) cache$(EXEEXT) cache_api$(EXEEXT) \ +- cache_image$(EXEEXT) cache_tagging$(EXEEXT) lheap$(EXEEXT) \ +- ohdr$(EXEEXT) stab$(EXEEXT) gheap$(EXEEXT) \ +- evict_on_close$(EXEEXT) farray$(EXEEXT) earray$(EXEEXT) \ +- btree2$(EXEEXT) fheap$(EXEEXT) pool$(EXEEXT) accum$(EXEEXT) \ +- hyperslab$(EXEEXT) istore$(EXEEXT) bittests$(EXEEXT) \ +- dt_arith$(EXEEXT) page_buffer$(EXEEXT) dtypes$(EXEEXT) \ +- dsets$(EXEEXT) chunk_info$(EXEEXT) cmpd_dset$(EXEEXT) \ +- filter_fail$(EXEEXT) extend$(EXEEXT) direct_chunk$(EXEEXT) \ +- external$(EXEEXT) efc$(EXEEXT) objcopy$(EXEEXT) \ +- objcopy_ref$(EXEEXT) links$(EXEEXT) unlink$(EXEEXT) \ +- twriteorder$(EXEEXT) big$(EXEEXT) mtime$(EXEEXT) \ +- fillval$(EXEEXT) mount$(EXEEXT) flush1$(EXEEXT) \ +- flush2$(EXEEXT) app_ref$(EXEEXT) enum$(EXEEXT) \ +- set_extent$(EXEEXT) ttsafe$(EXEEXT) enc_dec_plist$(EXEEXT) \ +- enc_dec_plist_cross_platform$(EXEEXT) getname$(EXEEXT) \ +- vfd$(EXEEXT) ros3$(EXEEXT) s3comms$(EXEEXT) hdfs$(EXEEXT) \ +- ntypes$(EXEEXT) dangle$(EXEEXT) dtransform$(EXEEXT) \ +- reserved$(EXEEXT) cross_read$(EXEEXT) freespace$(EXEEXT) \ +- mf$(EXEEXT) vds$(EXEEXT) file_image$(EXEEXT) \ +- unregister$(EXEEXT) cache_logging$(EXEEXT) cork$(EXEEXT) \ +- swmr$(EXEEXT) vol$(EXEEXT) +-@HAVE_SHARED_CONDITIONAL_TRUE@am__EXEEXT_2 = filter_plugin$(EXEEXT) \ +-@HAVE_SHARED_CONDITIONAL_TRUE@ vol_plugin$(EXEEXT) +-am__EXEEXT_3 = gen_bad_ohdr$(EXEEXT) gen_bogus$(EXEEXT) \ +- gen_cross$(EXEEXT) gen_deflate$(EXEEXT) gen_filters$(EXEEXT) \ +- gen_new_array$(EXEEXT) gen_new_fill$(EXEEXT) \ +- gen_new_group$(EXEEXT) gen_new_mtime$(EXEEXT) \ +- gen_new_super$(EXEEXT) gen_noencoder$(EXEEXT) \ +- gen_nullspace$(EXEEXT) gen_udlinks$(EXEEXT) \ +- space_overflow$(EXEEXT) gen_filespace$(EXEEXT) \ +- gen_specmetaread$(EXEEXT) gen_sizes_lheap$(EXEEXT) \ +- gen_file_image$(EXEEXT) gen_plist$(EXEEXT) \ +- gen_bad_offset$(EXEEXT) gen_bounds$(EXEEXT) +-PROGRAMS = $(noinst_PROGRAMS) + accum_SOURCES = accum.c + accum_OBJECTS = accum.$(OBJEXT) + accum_LDADD = $(LDADD) +@@ -762,7 +762,93 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/accum.Po \ ++ ./$(DEPDIR)/accum_swmr_reader.Po ./$(DEPDIR)/app_ref.Po \ ++ ./$(DEPDIR)/atomic_reader.Po ./$(DEPDIR)/atomic_writer.Po \ ++ ./$(DEPDIR)/big.Po ./$(DEPDIR)/bittests.Po \ ++ ./$(DEPDIR)/btree2.Po ./$(DEPDIR)/cache.Po \ ++ ./$(DEPDIR)/cache_api.Po ./$(DEPDIR)/cache_common.Plo \ ++ ./$(DEPDIR)/cache_image.Po ./$(DEPDIR)/cache_logging.Po \ ++ ./$(DEPDIR)/cache_tagging.Po ./$(DEPDIR)/chunk_info.Po \ ++ ./$(DEPDIR)/cmpd_dset.Po ./$(DEPDIR)/cork.Po \ ++ ./$(DEPDIR)/cross_read.Po ./$(DEPDIR)/dangle.Po \ ++ ./$(DEPDIR)/del_many_dense_attrs.Po \ ++ ./$(DEPDIR)/direct_chunk.Po ./$(DEPDIR)/dsets.Po \ ++ ./$(DEPDIR)/dt_arith.Po ./$(DEPDIR)/dtransform.Po \ ++ ./$(DEPDIR)/dtypes.Po ./$(DEPDIR)/earray.Po ./$(DEPDIR)/efc.Po \ ++ ./$(DEPDIR)/enc_dec_plist.Po \ ++ ./$(DEPDIR)/enc_dec_plist_cross_platform.Po \ ++ ./$(DEPDIR)/enum.Po ./$(DEPDIR)/err_compat.Po \ ++ ./$(DEPDIR)/error_test.Po ./$(DEPDIR)/evict_on_close.Po \ ++ ./$(DEPDIR)/extend.Po ./$(DEPDIR)/external.Po \ ++ ./$(DEPDIR)/external_common.Plo ./$(DEPDIR)/external_env.Po \ ++ ./$(DEPDIR)/farray.Po ./$(DEPDIR)/fheap.Po \ ++ ./$(DEPDIR)/file_image.Po ./$(DEPDIR)/filenotclosed.Po \ ++ ./$(DEPDIR)/fillval.Po ./$(DEPDIR)/filter_fail.Po \ ++ ./$(DEPDIR)/filter_plugin.Po \ ++ ./$(DEPDIR)/filter_plugin1_dsets.Plo \ ++ ./$(DEPDIR)/filter_plugin2_dsets.Plo \ ++ ./$(DEPDIR)/filter_plugin3_dsets.Plo \ ++ ./$(DEPDIR)/filter_plugin4_groups.Plo ./$(DEPDIR)/flush1.Po \ ++ ./$(DEPDIR)/flush2.Po ./$(DEPDIR)/flushrefresh.Po \ ++ ./$(DEPDIR)/freespace.Po ./$(DEPDIR)/gen_bad_offset.Po \ ++ ./$(DEPDIR)/gen_bad_ohdr.Po ./$(DEPDIR)/gen_bogus.Po \ ++ ./$(DEPDIR)/gen_bounds.Po ./$(DEPDIR)/gen_cross.Po \ ++ ./$(DEPDIR)/gen_deflate.Po ./$(DEPDIR)/gen_file_image.Po \ ++ ./$(DEPDIR)/gen_filespace.Po ./$(DEPDIR)/gen_filters.Po \ ++ ./$(DEPDIR)/gen_new_array.Po ./$(DEPDIR)/gen_new_fill.Po \ ++ ./$(DEPDIR)/gen_new_group.Po ./$(DEPDIR)/gen_new_mtime.Po \ ++ ./$(DEPDIR)/gen_new_super.Po ./$(DEPDIR)/gen_noencoder.Po \ ++ ./$(DEPDIR)/gen_nullspace.Po ./$(DEPDIR)/gen_plist.Po \ ++ ./$(DEPDIR)/gen_sizes_lheap.Po ./$(DEPDIR)/gen_specmetaread.Po \ ++ ./$(DEPDIR)/gen_udlinks.Po ./$(DEPDIR)/genall5.Po \ ++ ./$(DEPDIR)/getname.Po ./$(DEPDIR)/gheap.Po \ ++ ./$(DEPDIR)/h5test.Plo ./$(DEPDIR)/hdfs.Po \ ++ ./$(DEPDIR)/hyperslab.Po ./$(DEPDIR)/istore.Po \ ++ ./$(DEPDIR)/lheap.Po ./$(DEPDIR)/links.Po \ ++ ./$(DEPDIR)/links_env.Po ./$(DEPDIR)/mf.Po \ ++ ./$(DEPDIR)/mount.Po ./$(DEPDIR)/mtime.Po \ ++ ./$(DEPDIR)/ntypes.Po ./$(DEPDIR)/null_vol_connector.Plo \ ++ ./$(DEPDIR)/objcopy.Po ./$(DEPDIR)/objcopy_ref.Po \ ++ ./$(DEPDIR)/ohdr.Po ./$(DEPDIR)/page_buffer.Po \ ++ ./$(DEPDIR)/pool.Po ./$(DEPDIR)/reserved.Po \ ++ ./$(DEPDIR)/ros3.Po ./$(DEPDIR)/s3comms.Po \ ++ ./$(DEPDIR)/set_extent.Po ./$(DEPDIR)/space_overflow.Po \ ++ ./$(DEPDIR)/stab.Po ./$(DEPDIR)/swmr.Po \ ++ ./$(DEPDIR)/swmr_addrem_writer.Po \ ++ ./$(DEPDIR)/swmr_check_compat_vfd.Po \ ++ ./$(DEPDIR)/swmr_common.Plo ./$(DEPDIR)/swmr_generator.Po \ ++ ./$(DEPDIR)/swmr_reader.Po ./$(DEPDIR)/swmr_remove_reader.Po \ ++ ./$(DEPDIR)/swmr_remove_writer.Po \ ++ ./$(DEPDIR)/swmr_sparse_reader.Po \ ++ ./$(DEPDIR)/swmr_sparse_writer.Po \ ++ ./$(DEPDIR)/swmr_start_write.Po ./$(DEPDIR)/swmr_writer.Po \ ++ ./$(DEPDIR)/tarray.Po ./$(DEPDIR)/tattr.Po \ ++ ./$(DEPDIR)/tcheck_version.Po ./$(DEPDIR)/tchecksum.Po \ ++ ./$(DEPDIR)/tconfig.Po ./$(DEPDIR)/tcoords.Po \ ++ ./$(DEPDIR)/testframe.Plo ./$(DEPDIR)/testhdf5.Po \ ++ ./$(DEPDIR)/testmeta.Po ./$(DEPDIR)/tfile.Po \ ++ ./$(DEPDIR)/tgenprop.Po ./$(DEPDIR)/th5o.Po \ ++ ./$(DEPDIR)/th5s.Po ./$(DEPDIR)/theap.Po ./$(DEPDIR)/tid.Po \ ++ ./$(DEPDIR)/titerate.Po ./$(DEPDIR)/tmeta.Po \ ++ ./$(DEPDIR)/tmisc.Po ./$(DEPDIR)/trefer.Po \ ++ ./$(DEPDIR)/trefer_deprec.Po ./$(DEPDIR)/trefstr.Po \ ++ ./$(DEPDIR)/tselect.Po ./$(DEPDIR)/tskiplist.Po \ ++ ./$(DEPDIR)/tsohm.Po ./$(DEPDIR)/ttime.Po \ ++ ./$(DEPDIR)/ttsafe.Po ./$(DEPDIR)/ttsafe_acreate.Po \ ++ ./$(DEPDIR)/ttsafe_cancel.Po ./$(DEPDIR)/ttsafe_dcreate.Po \ ++ ./$(DEPDIR)/ttsafe_error.Po ./$(DEPDIR)/ttst.Po \ ++ ./$(DEPDIR)/tunicode.Po ./$(DEPDIR)/tvlstr.Po \ ++ ./$(DEPDIR)/tvltypes.Po ./$(DEPDIR)/twriteorder.Po \ ++ ./$(DEPDIR)/unlink.Po ./$(DEPDIR)/unregister.Po \ ++ ./$(DEPDIR)/use_append_chunk.Po \ ++ ./$(DEPDIR)/use_append_mchunks.Po ./$(DEPDIR)/use_common.Po \ ++ ./$(DEPDIR)/use_disable_mdc_flushes.Po ./$(DEPDIR)/vds.Po \ ++ ./$(DEPDIR)/vds_env.Po ./$(DEPDIR)/vds_swmr_gen.Po \ ++ ./$(DEPDIR)/vds_swmr_reader.Po ./$(DEPDIR)/vds_swmr_writer.Po \ ++ ./$(DEPDIR)/vfd.Po ./$(DEPDIR)/vol.Po \ ++ ./$(DEPDIR)/vol_plugin.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -873,8 +959,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -1057,6 +1141,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -1126,8 +1211,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -1147,6 +1233,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -1352,6 +1439,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -1620,8 +1708,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -1662,6 +1750,24 @@ + test_vol_plugin.sh: $(top_builddir)/config.status $(srcdir)/test_vol_plugin.sh.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + ++clean-checkPROGRAMS: ++ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ ++ echo " rm -f" $$list; \ ++ rm -f $$list || exit $$?; \ ++ test -n "$(EXEEXT)" || exit 0; \ ++ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ ++ echo " rm -f" $$list; \ ++ rm -f $$list ++ ++clean-noinstPROGRAMS: ++ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ ++ echo " rm -f" $$list; \ ++ rm -f $$list || exit $$?; \ ++ test -n "$(EXEEXT)" || exit 0; \ ++ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ ++ echo " rm -f" $$list; \ ++ rm -f $$list ++ + clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ +@@ -1691,24 +1797,6 @@ + libnull_vol_connector.la: $(libnull_vol_connector_la_OBJECTS) $(libnull_vol_connector_la_DEPENDENCIES) $(EXTRA_libnull_vol_connector_la_DEPENDENCIES) + $(AM_V_CCLD)$(libnull_vol_connector_la_LINK) $(am_libnull_vol_connector_la_rpath) $(libnull_vol_connector_la_OBJECTS) $(libnull_vol_connector_la_LIBADD) $(LIBS) + +-clean-checkPROGRAMS: +- @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ +- echo " rm -f" $$list; \ +- rm -f $$list || exit $$?; \ +- test -n "$(EXEEXT)" || exit 0; \ +- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ +- echo " rm -f" $$list; \ +- rm -f $$list +- +-clean-noinstPROGRAMS: +- @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ +- echo " rm -f" $$list; \ +- rm -f $$list || exit $$?; \ +- test -n "$(EXEEXT)" || exit 0; \ +- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ +- echo " rm -f" $$list; \ +- rm -f $$list +- + accum$(EXEEXT): $(accum_OBJECTS) $(accum_DEPENDENCIES) $(EXTRA_accum_DEPENDENCIES) + @rm -f accum$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(accum_OBJECTS) $(accum_LDADD) $(LIBS) +@@ -2187,166 +2275,172 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accum.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accum_swmr_reader.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/app_ref.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atomic_reader.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atomic_writer.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/big.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bittests.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/btree2.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cache.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cache_api.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cache_common.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cache_image.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cache_logging.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cache_tagging.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chunk_info.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmpd_dset.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cork.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cross_read.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dangle.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/del_many_dense_attrs.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/direct_chunk.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsets.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dt_arith.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dtransform.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dtypes.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earray.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/efc.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/enc_dec_plist.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/enc_dec_plist_cross_platform.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/enum.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/err_compat.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error_test.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evict_on_close.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/extend.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/external.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/external_common.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/external_env.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/farray.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fheap.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_image.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filenotclosed.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fillval.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_fail.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_plugin.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_plugin1_dsets.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_plugin2_dsets.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_plugin3_dsets.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_plugin4_groups.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flush1.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flush2.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flushrefresh.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/freespace.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_bad_offset.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_bad_ohdr.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_bogus.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_bounds.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_cross.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_deflate.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_file_image.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_filespace.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_filters.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_new_array.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_new_fill.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_new_group.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_new_mtime.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_new_super.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_noencoder.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_nullspace.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_plist.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_sizes_lheap.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_specmetaread.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_udlinks.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/genall5.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getname.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gheap.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5test.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hdfs.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hyperslab.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/istore.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lheap.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/links.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/links_env.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mf.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtime.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ntypes.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/null_vol_connector.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/objcopy.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/objcopy_ref.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ohdr.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/page_buffer.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pool.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reserved.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ros3.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s3comms.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/set_extent.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/space_overflow.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stab.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_addrem_writer.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_check_compat_vfd.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_common.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_generator.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_reader.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_remove_reader.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_remove_writer.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_sparse_reader.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_sparse_writer.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_start_write.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_writer.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tarray.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tattr.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcheck_version.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tchecksum.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tconfig.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcoords.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testframe.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testhdf5.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testmeta.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tfile.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgenprop.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/th5o.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/th5s.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/theap.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tid.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/titerate.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tmeta.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tmisc.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trefer.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trefer_deprec.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trefstr.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tselect.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tskiplist.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tsohm.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttime.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttsafe.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttsafe_acreate.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttsafe_cancel.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttsafe_dcreate.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttsafe_error.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttst.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tunicode.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvlstr.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvltypes.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/twriteorder.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlink.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unregister.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/use_append_chunk.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/use_append_mchunks.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/use_common.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/use_disable_mdc_flushes.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vds.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vds_env.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vds_swmr_gen.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vds_swmr_reader.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vds_swmr_writer.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vfd.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vol.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vol_plugin.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accum.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accum_swmr_reader.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/app_ref.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atomic_reader.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atomic_writer.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/big.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bittests.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/btree2.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cache.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cache_api.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cache_common.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cache_image.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cache_logging.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cache_tagging.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chunk_info.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmpd_dset.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cork.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cross_read.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dangle.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/del_many_dense_attrs.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/direct_chunk.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsets.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dt_arith.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dtransform.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dtypes.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earray.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/efc.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/enc_dec_plist.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/enc_dec_plist_cross_platform.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/enum.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/err_compat.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error_test.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evict_on_close.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/extend.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/external.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/external_common.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/external_env.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/farray.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fheap.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_image.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filenotclosed.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fillval.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_fail.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_plugin.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_plugin1_dsets.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_plugin2_dsets.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_plugin3_dsets.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_plugin4_groups.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flush1.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flush2.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flushrefresh.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/freespace.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_bad_offset.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_bad_ohdr.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_bogus.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_bounds.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_cross.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_deflate.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_file_image.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_filespace.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_filters.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_new_array.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_new_fill.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_new_group.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_new_mtime.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_new_super.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_noencoder.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_nullspace.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_plist.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_sizes_lheap.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_specmetaread.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_udlinks.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/genall5.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getname.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gheap.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5test.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hdfs.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hyperslab.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/istore.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lheap.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/links.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/links_env.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mf.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtime.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ntypes.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/null_vol_connector.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/objcopy.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/objcopy_ref.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ohdr.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/page_buffer.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pool.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reserved.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ros3.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s3comms.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/set_extent.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/space_overflow.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stab.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_addrem_writer.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_check_compat_vfd.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_common.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_generator.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_reader.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_remove_reader.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_remove_writer.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_sparse_reader.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_sparse_writer.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_start_write.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swmr_writer.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tarray.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tattr.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcheck_version.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tchecksum.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tconfig.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcoords.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testframe.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testhdf5.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testmeta.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tfile.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgenprop.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/th5o.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/th5s.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/theap.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tid.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/titerate.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tmeta.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tmisc.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trefer.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trefer_deprec.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trefstr.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tselect.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tskiplist.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tsohm.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttime.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttsafe.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttsafe_acreate.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttsafe_cancel.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttsafe_dcreate.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttsafe_error.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttst.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tunicode.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvlstr.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvltypes.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/twriteorder.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlink.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unregister.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/use_append_chunk.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/use_append_mchunks.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/use_common.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/use_disable_mdc_flushes.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vds.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vds_env.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vds_swmr_gen.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vds_swmr_reader.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vds_swmr_writer.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vfd.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vol.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vol_plugin.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -2536,7 +2630,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -3035,8 +3129,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -3070,7 +3166,7 @@ + $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(check_SCRIPTS) + $(MAKE) $(AM_MAKEFLAGS) check-TESTS + check: check-am +-all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) all-local ++all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) all-local + installdirs: + install: install-am + install-exec: install-exec-am +@@ -3112,7 +3208,165 @@ + clean-noinstLTLIBRARIES clean-noinstPROGRAMS mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/accum.Po ++ -rm -f ./$(DEPDIR)/accum_swmr_reader.Po ++ -rm -f ./$(DEPDIR)/app_ref.Po ++ -rm -f ./$(DEPDIR)/atomic_reader.Po ++ -rm -f ./$(DEPDIR)/atomic_writer.Po ++ -rm -f ./$(DEPDIR)/big.Po ++ -rm -f ./$(DEPDIR)/bittests.Po ++ -rm -f ./$(DEPDIR)/btree2.Po ++ -rm -f ./$(DEPDIR)/cache.Po ++ -rm -f ./$(DEPDIR)/cache_api.Po ++ -rm -f ./$(DEPDIR)/cache_common.Plo ++ -rm -f ./$(DEPDIR)/cache_image.Po ++ -rm -f ./$(DEPDIR)/cache_logging.Po ++ -rm -f ./$(DEPDIR)/cache_tagging.Po ++ -rm -f ./$(DEPDIR)/chunk_info.Po ++ -rm -f ./$(DEPDIR)/cmpd_dset.Po ++ -rm -f ./$(DEPDIR)/cork.Po ++ -rm -f ./$(DEPDIR)/cross_read.Po ++ -rm -f ./$(DEPDIR)/dangle.Po ++ -rm -f ./$(DEPDIR)/del_many_dense_attrs.Po ++ -rm -f ./$(DEPDIR)/direct_chunk.Po ++ -rm -f ./$(DEPDIR)/dsets.Po ++ -rm -f ./$(DEPDIR)/dt_arith.Po ++ -rm -f ./$(DEPDIR)/dtransform.Po ++ -rm -f ./$(DEPDIR)/dtypes.Po ++ -rm -f ./$(DEPDIR)/earray.Po ++ -rm -f ./$(DEPDIR)/efc.Po ++ -rm -f ./$(DEPDIR)/enc_dec_plist.Po ++ -rm -f ./$(DEPDIR)/enc_dec_plist_cross_platform.Po ++ -rm -f ./$(DEPDIR)/enum.Po ++ -rm -f ./$(DEPDIR)/err_compat.Po ++ -rm -f ./$(DEPDIR)/error_test.Po ++ -rm -f ./$(DEPDIR)/evict_on_close.Po ++ -rm -f ./$(DEPDIR)/extend.Po ++ -rm -f ./$(DEPDIR)/external.Po ++ -rm -f ./$(DEPDIR)/external_common.Plo ++ -rm -f ./$(DEPDIR)/external_env.Po ++ -rm -f ./$(DEPDIR)/farray.Po ++ -rm -f ./$(DEPDIR)/fheap.Po ++ -rm -f ./$(DEPDIR)/file_image.Po ++ -rm -f ./$(DEPDIR)/filenotclosed.Po ++ -rm -f ./$(DEPDIR)/fillval.Po ++ -rm -f ./$(DEPDIR)/filter_fail.Po ++ -rm -f ./$(DEPDIR)/filter_plugin.Po ++ -rm -f ./$(DEPDIR)/filter_plugin1_dsets.Plo ++ -rm -f ./$(DEPDIR)/filter_plugin2_dsets.Plo ++ -rm -f ./$(DEPDIR)/filter_plugin3_dsets.Plo ++ -rm -f ./$(DEPDIR)/filter_plugin4_groups.Plo ++ -rm -f ./$(DEPDIR)/flush1.Po ++ -rm -f ./$(DEPDIR)/flush2.Po ++ -rm -f ./$(DEPDIR)/flushrefresh.Po ++ -rm -f ./$(DEPDIR)/freespace.Po ++ -rm -f ./$(DEPDIR)/gen_bad_offset.Po ++ -rm -f ./$(DEPDIR)/gen_bad_ohdr.Po ++ -rm -f ./$(DEPDIR)/gen_bogus.Po ++ -rm -f ./$(DEPDIR)/gen_bounds.Po ++ -rm -f ./$(DEPDIR)/gen_cross.Po ++ -rm -f ./$(DEPDIR)/gen_deflate.Po ++ -rm -f ./$(DEPDIR)/gen_file_image.Po ++ -rm -f ./$(DEPDIR)/gen_filespace.Po ++ -rm -f ./$(DEPDIR)/gen_filters.Po ++ -rm -f ./$(DEPDIR)/gen_new_array.Po ++ -rm -f ./$(DEPDIR)/gen_new_fill.Po ++ -rm -f ./$(DEPDIR)/gen_new_group.Po ++ -rm -f ./$(DEPDIR)/gen_new_mtime.Po ++ -rm -f ./$(DEPDIR)/gen_new_super.Po ++ -rm -f ./$(DEPDIR)/gen_noencoder.Po ++ -rm -f ./$(DEPDIR)/gen_nullspace.Po ++ -rm -f ./$(DEPDIR)/gen_plist.Po ++ -rm -f ./$(DEPDIR)/gen_sizes_lheap.Po ++ -rm -f ./$(DEPDIR)/gen_specmetaread.Po ++ -rm -f ./$(DEPDIR)/gen_udlinks.Po ++ -rm -f ./$(DEPDIR)/genall5.Po ++ -rm -f ./$(DEPDIR)/getname.Po ++ -rm -f ./$(DEPDIR)/gheap.Po ++ -rm -f ./$(DEPDIR)/h5test.Plo ++ -rm -f ./$(DEPDIR)/hdfs.Po ++ -rm -f ./$(DEPDIR)/hyperslab.Po ++ -rm -f ./$(DEPDIR)/istore.Po ++ -rm -f ./$(DEPDIR)/lheap.Po ++ -rm -f ./$(DEPDIR)/links.Po ++ -rm -f ./$(DEPDIR)/links_env.Po ++ -rm -f ./$(DEPDIR)/mf.Po ++ -rm -f ./$(DEPDIR)/mount.Po ++ -rm -f ./$(DEPDIR)/mtime.Po ++ -rm -f ./$(DEPDIR)/ntypes.Po ++ -rm -f ./$(DEPDIR)/null_vol_connector.Plo ++ -rm -f ./$(DEPDIR)/objcopy.Po ++ -rm -f ./$(DEPDIR)/objcopy_ref.Po ++ -rm -f ./$(DEPDIR)/ohdr.Po ++ -rm -f ./$(DEPDIR)/page_buffer.Po ++ -rm -f ./$(DEPDIR)/pool.Po ++ -rm -f ./$(DEPDIR)/reserved.Po ++ -rm -f ./$(DEPDIR)/ros3.Po ++ -rm -f ./$(DEPDIR)/s3comms.Po ++ -rm -f ./$(DEPDIR)/set_extent.Po ++ -rm -f ./$(DEPDIR)/space_overflow.Po ++ -rm -f ./$(DEPDIR)/stab.Po ++ -rm -f ./$(DEPDIR)/swmr.Po ++ -rm -f ./$(DEPDIR)/swmr_addrem_writer.Po ++ -rm -f ./$(DEPDIR)/swmr_check_compat_vfd.Po ++ -rm -f ./$(DEPDIR)/swmr_common.Plo ++ -rm -f ./$(DEPDIR)/swmr_generator.Po ++ -rm -f ./$(DEPDIR)/swmr_reader.Po ++ -rm -f ./$(DEPDIR)/swmr_remove_reader.Po ++ -rm -f ./$(DEPDIR)/swmr_remove_writer.Po ++ -rm -f ./$(DEPDIR)/swmr_sparse_reader.Po ++ -rm -f ./$(DEPDIR)/swmr_sparse_writer.Po ++ -rm -f ./$(DEPDIR)/swmr_start_write.Po ++ -rm -f ./$(DEPDIR)/swmr_writer.Po ++ -rm -f ./$(DEPDIR)/tarray.Po ++ -rm -f ./$(DEPDIR)/tattr.Po ++ -rm -f ./$(DEPDIR)/tcheck_version.Po ++ -rm -f ./$(DEPDIR)/tchecksum.Po ++ -rm -f ./$(DEPDIR)/tconfig.Po ++ -rm -f ./$(DEPDIR)/tcoords.Po ++ -rm -f ./$(DEPDIR)/testframe.Plo ++ -rm -f ./$(DEPDIR)/testhdf5.Po ++ -rm -f ./$(DEPDIR)/testmeta.Po ++ -rm -f ./$(DEPDIR)/tfile.Po ++ -rm -f ./$(DEPDIR)/tgenprop.Po ++ -rm -f ./$(DEPDIR)/th5o.Po ++ -rm -f ./$(DEPDIR)/th5s.Po ++ -rm -f ./$(DEPDIR)/theap.Po ++ -rm -f ./$(DEPDIR)/tid.Po ++ -rm -f ./$(DEPDIR)/titerate.Po ++ -rm -f ./$(DEPDIR)/tmeta.Po ++ -rm -f ./$(DEPDIR)/tmisc.Po ++ -rm -f ./$(DEPDIR)/trefer.Po ++ -rm -f ./$(DEPDIR)/trefer_deprec.Po ++ -rm -f ./$(DEPDIR)/trefstr.Po ++ -rm -f ./$(DEPDIR)/tselect.Po ++ -rm -f ./$(DEPDIR)/tskiplist.Po ++ -rm -f ./$(DEPDIR)/tsohm.Po ++ -rm -f ./$(DEPDIR)/ttime.Po ++ -rm -f ./$(DEPDIR)/ttsafe.Po ++ -rm -f ./$(DEPDIR)/ttsafe_acreate.Po ++ -rm -f ./$(DEPDIR)/ttsafe_cancel.Po ++ -rm -f ./$(DEPDIR)/ttsafe_dcreate.Po ++ -rm -f ./$(DEPDIR)/ttsafe_error.Po ++ -rm -f ./$(DEPDIR)/ttst.Po ++ -rm -f ./$(DEPDIR)/tunicode.Po ++ -rm -f ./$(DEPDIR)/tvlstr.Po ++ -rm -f ./$(DEPDIR)/tvltypes.Po ++ -rm -f ./$(DEPDIR)/twriteorder.Po ++ -rm -f ./$(DEPDIR)/unlink.Po ++ -rm -f ./$(DEPDIR)/unregister.Po ++ -rm -f ./$(DEPDIR)/use_append_chunk.Po ++ -rm -f ./$(DEPDIR)/use_append_mchunks.Po ++ -rm -f ./$(DEPDIR)/use_common.Po ++ -rm -f ./$(DEPDIR)/use_disable_mdc_flushes.Po ++ -rm -f ./$(DEPDIR)/vds.Po ++ -rm -f ./$(DEPDIR)/vds_env.Po ++ -rm -f ./$(DEPDIR)/vds_swmr_gen.Po ++ -rm -f ./$(DEPDIR)/vds_swmr_reader.Po ++ -rm -f ./$(DEPDIR)/vds_swmr_writer.Po ++ -rm -f ./$(DEPDIR)/vfd.Po ++ -rm -f ./$(DEPDIR)/vol.Po ++ -rm -f ./$(DEPDIR)/vol_plugin.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -3158,7 +3412,165 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/accum.Po ++ -rm -f ./$(DEPDIR)/accum_swmr_reader.Po ++ -rm -f ./$(DEPDIR)/app_ref.Po ++ -rm -f ./$(DEPDIR)/atomic_reader.Po ++ -rm -f ./$(DEPDIR)/atomic_writer.Po ++ -rm -f ./$(DEPDIR)/big.Po ++ -rm -f ./$(DEPDIR)/bittests.Po ++ -rm -f ./$(DEPDIR)/btree2.Po ++ -rm -f ./$(DEPDIR)/cache.Po ++ -rm -f ./$(DEPDIR)/cache_api.Po ++ -rm -f ./$(DEPDIR)/cache_common.Plo ++ -rm -f ./$(DEPDIR)/cache_image.Po ++ -rm -f ./$(DEPDIR)/cache_logging.Po ++ -rm -f ./$(DEPDIR)/cache_tagging.Po ++ -rm -f ./$(DEPDIR)/chunk_info.Po ++ -rm -f ./$(DEPDIR)/cmpd_dset.Po ++ -rm -f ./$(DEPDIR)/cork.Po ++ -rm -f ./$(DEPDIR)/cross_read.Po ++ -rm -f ./$(DEPDIR)/dangle.Po ++ -rm -f ./$(DEPDIR)/del_many_dense_attrs.Po ++ -rm -f ./$(DEPDIR)/direct_chunk.Po ++ -rm -f ./$(DEPDIR)/dsets.Po ++ -rm -f ./$(DEPDIR)/dt_arith.Po ++ -rm -f ./$(DEPDIR)/dtransform.Po ++ -rm -f ./$(DEPDIR)/dtypes.Po ++ -rm -f ./$(DEPDIR)/earray.Po ++ -rm -f ./$(DEPDIR)/efc.Po ++ -rm -f ./$(DEPDIR)/enc_dec_plist.Po ++ -rm -f ./$(DEPDIR)/enc_dec_plist_cross_platform.Po ++ -rm -f ./$(DEPDIR)/enum.Po ++ -rm -f ./$(DEPDIR)/err_compat.Po ++ -rm -f ./$(DEPDIR)/error_test.Po ++ -rm -f ./$(DEPDIR)/evict_on_close.Po ++ -rm -f ./$(DEPDIR)/extend.Po ++ -rm -f ./$(DEPDIR)/external.Po ++ -rm -f ./$(DEPDIR)/external_common.Plo ++ -rm -f ./$(DEPDIR)/external_env.Po ++ -rm -f ./$(DEPDIR)/farray.Po ++ -rm -f ./$(DEPDIR)/fheap.Po ++ -rm -f ./$(DEPDIR)/file_image.Po ++ -rm -f ./$(DEPDIR)/filenotclosed.Po ++ -rm -f ./$(DEPDIR)/fillval.Po ++ -rm -f ./$(DEPDIR)/filter_fail.Po ++ -rm -f ./$(DEPDIR)/filter_plugin.Po ++ -rm -f ./$(DEPDIR)/filter_plugin1_dsets.Plo ++ -rm -f ./$(DEPDIR)/filter_plugin2_dsets.Plo ++ -rm -f ./$(DEPDIR)/filter_plugin3_dsets.Plo ++ -rm -f ./$(DEPDIR)/filter_plugin4_groups.Plo ++ -rm -f ./$(DEPDIR)/flush1.Po ++ -rm -f ./$(DEPDIR)/flush2.Po ++ -rm -f ./$(DEPDIR)/flushrefresh.Po ++ -rm -f ./$(DEPDIR)/freespace.Po ++ -rm -f ./$(DEPDIR)/gen_bad_offset.Po ++ -rm -f ./$(DEPDIR)/gen_bad_ohdr.Po ++ -rm -f ./$(DEPDIR)/gen_bogus.Po ++ -rm -f ./$(DEPDIR)/gen_bounds.Po ++ -rm -f ./$(DEPDIR)/gen_cross.Po ++ -rm -f ./$(DEPDIR)/gen_deflate.Po ++ -rm -f ./$(DEPDIR)/gen_file_image.Po ++ -rm -f ./$(DEPDIR)/gen_filespace.Po ++ -rm -f ./$(DEPDIR)/gen_filters.Po ++ -rm -f ./$(DEPDIR)/gen_new_array.Po ++ -rm -f ./$(DEPDIR)/gen_new_fill.Po ++ -rm -f ./$(DEPDIR)/gen_new_group.Po ++ -rm -f ./$(DEPDIR)/gen_new_mtime.Po ++ -rm -f ./$(DEPDIR)/gen_new_super.Po ++ -rm -f ./$(DEPDIR)/gen_noencoder.Po ++ -rm -f ./$(DEPDIR)/gen_nullspace.Po ++ -rm -f ./$(DEPDIR)/gen_plist.Po ++ -rm -f ./$(DEPDIR)/gen_sizes_lheap.Po ++ -rm -f ./$(DEPDIR)/gen_specmetaread.Po ++ -rm -f ./$(DEPDIR)/gen_udlinks.Po ++ -rm -f ./$(DEPDIR)/genall5.Po ++ -rm -f ./$(DEPDIR)/getname.Po ++ -rm -f ./$(DEPDIR)/gheap.Po ++ -rm -f ./$(DEPDIR)/h5test.Plo ++ -rm -f ./$(DEPDIR)/hdfs.Po ++ -rm -f ./$(DEPDIR)/hyperslab.Po ++ -rm -f ./$(DEPDIR)/istore.Po ++ -rm -f ./$(DEPDIR)/lheap.Po ++ -rm -f ./$(DEPDIR)/links.Po ++ -rm -f ./$(DEPDIR)/links_env.Po ++ -rm -f ./$(DEPDIR)/mf.Po ++ -rm -f ./$(DEPDIR)/mount.Po ++ -rm -f ./$(DEPDIR)/mtime.Po ++ -rm -f ./$(DEPDIR)/ntypes.Po ++ -rm -f ./$(DEPDIR)/null_vol_connector.Plo ++ -rm -f ./$(DEPDIR)/objcopy.Po ++ -rm -f ./$(DEPDIR)/objcopy_ref.Po ++ -rm -f ./$(DEPDIR)/ohdr.Po ++ -rm -f ./$(DEPDIR)/page_buffer.Po ++ -rm -f ./$(DEPDIR)/pool.Po ++ -rm -f ./$(DEPDIR)/reserved.Po ++ -rm -f ./$(DEPDIR)/ros3.Po ++ -rm -f ./$(DEPDIR)/s3comms.Po ++ -rm -f ./$(DEPDIR)/set_extent.Po ++ -rm -f ./$(DEPDIR)/space_overflow.Po ++ -rm -f ./$(DEPDIR)/stab.Po ++ -rm -f ./$(DEPDIR)/swmr.Po ++ -rm -f ./$(DEPDIR)/swmr_addrem_writer.Po ++ -rm -f ./$(DEPDIR)/swmr_check_compat_vfd.Po ++ -rm -f ./$(DEPDIR)/swmr_common.Plo ++ -rm -f ./$(DEPDIR)/swmr_generator.Po ++ -rm -f ./$(DEPDIR)/swmr_reader.Po ++ -rm -f ./$(DEPDIR)/swmr_remove_reader.Po ++ -rm -f ./$(DEPDIR)/swmr_remove_writer.Po ++ -rm -f ./$(DEPDIR)/swmr_sparse_reader.Po ++ -rm -f ./$(DEPDIR)/swmr_sparse_writer.Po ++ -rm -f ./$(DEPDIR)/swmr_start_write.Po ++ -rm -f ./$(DEPDIR)/swmr_writer.Po ++ -rm -f ./$(DEPDIR)/tarray.Po ++ -rm -f ./$(DEPDIR)/tattr.Po ++ -rm -f ./$(DEPDIR)/tcheck_version.Po ++ -rm -f ./$(DEPDIR)/tchecksum.Po ++ -rm -f ./$(DEPDIR)/tconfig.Po ++ -rm -f ./$(DEPDIR)/tcoords.Po ++ -rm -f ./$(DEPDIR)/testframe.Plo ++ -rm -f ./$(DEPDIR)/testhdf5.Po ++ -rm -f ./$(DEPDIR)/testmeta.Po ++ -rm -f ./$(DEPDIR)/tfile.Po ++ -rm -f ./$(DEPDIR)/tgenprop.Po ++ -rm -f ./$(DEPDIR)/th5o.Po ++ -rm -f ./$(DEPDIR)/th5s.Po ++ -rm -f ./$(DEPDIR)/theap.Po ++ -rm -f ./$(DEPDIR)/tid.Po ++ -rm -f ./$(DEPDIR)/titerate.Po ++ -rm -f ./$(DEPDIR)/tmeta.Po ++ -rm -f ./$(DEPDIR)/tmisc.Po ++ -rm -f ./$(DEPDIR)/trefer.Po ++ -rm -f ./$(DEPDIR)/trefer_deprec.Po ++ -rm -f ./$(DEPDIR)/trefstr.Po ++ -rm -f ./$(DEPDIR)/tselect.Po ++ -rm -f ./$(DEPDIR)/tskiplist.Po ++ -rm -f ./$(DEPDIR)/tsohm.Po ++ -rm -f ./$(DEPDIR)/ttime.Po ++ -rm -f ./$(DEPDIR)/ttsafe.Po ++ -rm -f ./$(DEPDIR)/ttsafe_acreate.Po ++ -rm -f ./$(DEPDIR)/ttsafe_cancel.Po ++ -rm -f ./$(DEPDIR)/ttsafe_dcreate.Po ++ -rm -f ./$(DEPDIR)/ttsafe_error.Po ++ -rm -f ./$(DEPDIR)/ttst.Po ++ -rm -f ./$(DEPDIR)/tunicode.Po ++ -rm -f ./$(DEPDIR)/tvlstr.Po ++ -rm -f ./$(DEPDIR)/tvltypes.Po ++ -rm -f ./$(DEPDIR)/twriteorder.Po ++ -rm -f ./$(DEPDIR)/unlink.Po ++ -rm -f ./$(DEPDIR)/unregister.Po ++ -rm -f ./$(DEPDIR)/use_append_chunk.Po ++ -rm -f ./$(DEPDIR)/use_append_mchunks.Po ++ -rm -f ./$(DEPDIR)/use_common.Po ++ -rm -f ./$(DEPDIR)/use_disable_mdc_flushes.Po ++ -rm -f ./$(DEPDIR)/vds.Po ++ -rm -f ./$(DEPDIR)/vds_env.Po ++ -rm -f ./$(DEPDIR)/vds_swmr_gen.Po ++ -rm -f ./$(DEPDIR)/vds_swmr_reader.Po ++ -rm -f ./$(DEPDIR)/vds_swmr_writer.Po ++ -rm -f ./$(DEPDIR)/vfd.Po ++ -rm -f ./$(DEPDIR)/vol.Po ++ -rm -f ./$(DEPDIR)/vol_plugin.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -3179,17 +3591,17 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ +- clean-noinstLTLIBRARIES clean-noinstPROGRAMS cscopelist-am \ +- ctags ctags-am distclean distclean-compile distclean-generic \ +- distclean-libtool distclean-tags distdir dvi dvi-am html \ +- html-am info info-am install install-am install-data \ +- install-data-am install-dvi install-dvi-am install-exec \ +- install-exec-am install-html install-html-am install-info \ +- install-info-am install-man install-pdf install-pdf-am \ +- install-ps install-ps-am install-strip installcheck \ +- installcheck-am installdirs maintainer-clean \ ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-checkPROGRAMS clean-generic \ ++ clean-libtool clean-noinstLTLIBRARIES clean-noinstPROGRAMS \ ++ cscopelist-am ctags ctags-am distclean distclean-compile \ ++ distclean-generic distclean-libtool distclean-tags distdir dvi \ ++ dvi-am html html-am info info-am install install-am \ ++ install-data install-data-am install-dvi install-dvi-am \ ++ install-exec install-exec-am install-html install-html-am \ ++ install-info install-info-am install-man install-pdf \ ++ install-pdf-am install-ps install-ps-am install-strip \ ++ installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ + pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am +diff --color -urN a/hdf5-1.12.0/testpar/Makefile.in b/hdf5-1.12.0/testpar/Makefile.in +--- a/hdf5-1.12.0/testpar/Makefile.in 2020-02-29 00:52:24 ++++ b/hdf5-1.12.0/testpar/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -216,7 +216,20 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/t_2Gio.Po ./$(DEPDIR)/t_bigio.Po \ ++ ./$(DEPDIR)/t_cache.Po ./$(DEPDIR)/t_cache_image.Po \ ++ ./$(DEPDIR)/t_chunk_alloc.Po ./$(DEPDIR)/t_coll_chunk.Po \ ++ ./$(DEPDIR)/t_coll_md_read.Po ./$(DEPDIR)/t_dset.Po \ ++ ./$(DEPDIR)/t_file.Po ./$(DEPDIR)/t_file_image.Po \ ++ ./$(DEPDIR)/t_filter_read.Po ./$(DEPDIR)/t_filters_parallel.Po \ ++ ./$(DEPDIR)/t_init_term.Po ./$(DEPDIR)/t_mdset.Po \ ++ ./$(DEPDIR)/t_mpi.Po ./$(DEPDIR)/t_pflush1.Po \ ++ ./$(DEPDIR)/t_pflush2.Po ./$(DEPDIR)/t_ph5basic.Po \ ++ ./$(DEPDIR)/t_pread.Po ./$(DEPDIR)/t_prestart.Po \ ++ ./$(DEPDIR)/t_prop.Po ./$(DEPDIR)/t_pshutdown.Po \ ++ ./$(DEPDIR)/t_shapesame.Po ./$(DEPDIR)/t_span_tree.Po \ ++ ./$(DEPDIR)/testphdf5.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -266,8 +279,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -450,6 +461,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -509,8 +521,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -530,6 +543,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -735,6 +749,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -873,8 +888,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -960,32 +975,38 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_2Gio.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_bigio.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_cache.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_cache_image.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_chunk_alloc.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_coll_chunk.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_coll_md_read.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_dset.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_file.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_file_image.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_filter_read.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_filters_parallel.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_init_term.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_mdset.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_mpi.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_pflush1.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_pflush2.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_ph5basic.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_pread.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_prestart.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_prop.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_pshutdown.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_shapesame.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_span_tree.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testphdf5.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_2Gio.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_bigio.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_cache.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_cache_image.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_chunk_alloc.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_coll_chunk.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_coll_md_read.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_dset.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_file.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_file_image.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_filter_read.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_filters_parallel.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_init_term.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_mdset.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_mpi.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_pflush1.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_pflush2.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_ph5basic.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_pread.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_prestart.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_prop.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_pshutdown.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_shapesame.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_span_tree.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testphdf5.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1175,7 +1196,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1212,8 +1233,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1288,7 +1311,31 @@ + mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/t_2Gio.Po ++ -rm -f ./$(DEPDIR)/t_bigio.Po ++ -rm -f ./$(DEPDIR)/t_cache.Po ++ -rm -f ./$(DEPDIR)/t_cache_image.Po ++ -rm -f ./$(DEPDIR)/t_chunk_alloc.Po ++ -rm -f ./$(DEPDIR)/t_coll_chunk.Po ++ -rm -f ./$(DEPDIR)/t_coll_md_read.Po ++ -rm -f ./$(DEPDIR)/t_dset.Po ++ -rm -f ./$(DEPDIR)/t_file.Po ++ -rm -f ./$(DEPDIR)/t_file_image.Po ++ -rm -f ./$(DEPDIR)/t_filter_read.Po ++ -rm -f ./$(DEPDIR)/t_filters_parallel.Po ++ -rm -f ./$(DEPDIR)/t_init_term.Po ++ -rm -f ./$(DEPDIR)/t_mdset.Po ++ -rm -f ./$(DEPDIR)/t_mpi.Po ++ -rm -f ./$(DEPDIR)/t_pflush1.Po ++ -rm -f ./$(DEPDIR)/t_pflush2.Po ++ -rm -f ./$(DEPDIR)/t_ph5basic.Po ++ -rm -f ./$(DEPDIR)/t_pread.Po ++ -rm -f ./$(DEPDIR)/t_prestart.Po ++ -rm -f ./$(DEPDIR)/t_prop.Po ++ -rm -f ./$(DEPDIR)/t_pshutdown.Po ++ -rm -f ./$(DEPDIR)/t_shapesame.Po ++ -rm -f ./$(DEPDIR)/t_span_tree.Po ++ -rm -f ./$(DEPDIR)/testphdf5.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1334,7 +1381,31 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/t_2Gio.Po ++ -rm -f ./$(DEPDIR)/t_bigio.Po ++ -rm -f ./$(DEPDIR)/t_cache.Po ++ -rm -f ./$(DEPDIR)/t_cache_image.Po ++ -rm -f ./$(DEPDIR)/t_chunk_alloc.Po ++ -rm -f ./$(DEPDIR)/t_coll_chunk.Po ++ -rm -f ./$(DEPDIR)/t_coll_md_read.Po ++ -rm -f ./$(DEPDIR)/t_dset.Po ++ -rm -f ./$(DEPDIR)/t_file.Po ++ -rm -f ./$(DEPDIR)/t_file_image.Po ++ -rm -f ./$(DEPDIR)/t_filter_read.Po ++ -rm -f ./$(DEPDIR)/t_filters_parallel.Po ++ -rm -f ./$(DEPDIR)/t_init_term.Po ++ -rm -f ./$(DEPDIR)/t_mdset.Po ++ -rm -f ./$(DEPDIR)/t_mpi.Po ++ -rm -f ./$(DEPDIR)/t_pflush1.Po ++ -rm -f ./$(DEPDIR)/t_pflush2.Po ++ -rm -f ./$(DEPDIR)/t_ph5basic.Po ++ -rm -f ./$(DEPDIR)/t_pread.Po ++ -rm -f ./$(DEPDIR)/t_prestart.Po ++ -rm -f ./$(DEPDIR)/t_prop.Po ++ -rm -f ./$(DEPDIR)/t_pshutdown.Po ++ -rm -f ./$(DEPDIR)/t_shapesame.Po ++ -rm -f ./$(DEPDIR)/t_span_tree.Po ++ -rm -f ./$(DEPDIR)/testphdf5.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1355,19 +1426,20 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ +- cscopelist-am ctags ctags-am distclean distclean-compile \ +- distclean-generic distclean-libtool distclean-tags distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-data install-data-am install-dvi install-dvi-am \ +- install-exec install-exec-am install-html install-html-am \ +- install-info install-info-am install-man install-pdf \ +- install-pdf-am install-ps install-ps-am install-strip \ +- installcheck installcheck-am installdirs maintainer-clean \ +- maintainer-clean-generic mostlyclean mostlyclean-compile \ +- mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ +- pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-checkPROGRAMS clean-generic \ ++ clean-libtool cscopelist-am ctags ctags-am distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags distdir dvi dvi-am html html-am info info-am \ ++ install install-am install-data install-data-am install-dvi \ ++ install-dvi-am install-exec install-exec-am install-html \ ++ install-html-am install-info install-info-am install-man \ ++ install-pdf install-pdf-am install-ps install-ps-am \ ++ install-strip installcheck installcheck-am installdirs \ ++ maintainer-clean maintainer-clean-generic mostlyclean \ ++ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ ++ mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \ ++ uninstall uninstall-am + + .PRECIOUS: Makefile + +diff --color -urN a/hdf5-1.12.0/tools/Makefile.in b/hdf5-1.12.0/tools/Makefile.in +--- a/hdf5-1.12.0/tools/Makefile.in 2020-02-29 00:52:24 ++++ b/hdf5-1.12.0/tools/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -165,7 +165,7 @@ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) + AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ +- check recheck distdir ++ check recheck distdir distdir-am + am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) + # Read a list of newline-separated strings from the standard input, + # and print each of them once, without duplicates. Input order is +@@ -183,8 +183,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -367,6 +365,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + TEST_SUITE_LOG = test-suite.log + am__test_logs1 = $(TESTS:=.log) +@@ -449,8 +448,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -470,6 +470,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -675,6 +676,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -791,8 +793,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -1017,7 +1019,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1054,8 +1056,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/tools/lib/Makefile.in b/hdf5-1.12.0/tools/lib/Makefile.in +--- a/hdf5-1.12.0/tools/lib/Makefile.in 2020-02-29 00:52:24 ++++ b/hdf5-1.12.0/tools/lib/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -133,6 +133,7 @@ + $(top_builddir)/fortran/src/H5config_f.inc + CONFIG_CLEAN_FILES = + CONFIG_CLEAN_VPATH_FILES = ++am__EXEEXT_1 = + LTLIBRARIES = $(noinst_LTLIBRARIES) + libh5tools_la_LIBADD = + am_libh5tools_la_OBJECTS = h5tools.lo h5tools_dump.lo h5tools_str.lo \ +@@ -144,7 +145,6 @@ + am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) + am__v_lt_0 = --silent + am__v_lt_1 = +-am__EXEEXT_1 = + AM_V_P = $(am__v_P_@AM_V@) + am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) + am__v_P_0 = false +@@ -159,7 +159,15 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/h5diff.Plo \ ++ ./$(DEPDIR)/h5diff_array.Plo ./$(DEPDIR)/h5diff_attr.Plo \ ++ ./$(DEPDIR)/h5diff_dset.Plo ./$(DEPDIR)/h5diff_util.Plo \ ++ ./$(DEPDIR)/h5tools.Plo ./$(DEPDIR)/h5tools_dump.Plo \ ++ ./$(DEPDIR)/h5tools_filters.Plo ./$(DEPDIR)/h5tools_ref.Plo \ ++ ./$(DEPDIR)/h5tools_str.Plo ./$(DEPDIR)/h5tools_type.Plo \ ++ ./$(DEPDIR)/h5tools_utils.Plo ./$(DEPDIR)/h5trav.Plo \ ++ ./$(DEPDIR)/io_timer.Plo + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -203,8 +211,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -387,6 +393,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -446,8 +453,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -467,6 +475,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -672,6 +681,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -790,8 +800,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -804,6 +814,15 @@ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + $(am__aclocal_m4_deps): + ++clean-checkPROGRAMS: ++ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ ++ echo " rm -f" $$list; \ ++ rm -f $$list || exit $$?; \ ++ test -n "$(EXEEXT)" || exit 0; \ ++ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ ++ echo " rm -f" $$list; \ ++ rm -f $$list ++ + clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ +@@ -818,36 +837,33 @@ + libh5tools.la: $(libh5tools_la_OBJECTS) $(libh5tools_la_DEPENDENCIES) $(EXTRA_libh5tools_la_DEPENDENCIES) + $(AM_V_CCLD)$(LINK) $(libh5tools_la_OBJECTS) $(libh5tools_la_LIBADD) $(LIBS) + +-clean-checkPROGRAMS: +- @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ +- echo " rm -f" $$list; \ +- rm -f $$list || exit $$?; \ +- test -n "$(EXEEXT)" || exit 0; \ +- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ +- echo " rm -f" $$list; \ +- rm -f $$list +- + mostlyclean-compile: + -rm -f *.$(OBJEXT) + + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5diff.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5diff_array.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5diff_attr.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5diff_dset.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5diff_util.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5tools.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5tools_dump.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5tools_filters.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5tools_ref.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5tools_str.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5tools_type.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5tools_utils.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5trav.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io_timer.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5diff.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5diff_array.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5diff_attr.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5diff_dset.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5diff_util.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5tools.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5tools_dump.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5tools_filters.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5tools_ref.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5tools_str.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5tools_type.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5tools_utils.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5trav.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io_timer.Plo@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1037,7 +1053,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1074,8 +1090,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1150,7 +1168,20 @@ + clean-noinstLTLIBRARIES mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5diff.Plo ++ -rm -f ./$(DEPDIR)/h5diff_array.Plo ++ -rm -f ./$(DEPDIR)/h5diff_attr.Plo ++ -rm -f ./$(DEPDIR)/h5diff_dset.Plo ++ -rm -f ./$(DEPDIR)/h5diff_util.Plo ++ -rm -f ./$(DEPDIR)/h5tools.Plo ++ -rm -f ./$(DEPDIR)/h5tools_dump.Plo ++ -rm -f ./$(DEPDIR)/h5tools_filters.Plo ++ -rm -f ./$(DEPDIR)/h5tools_ref.Plo ++ -rm -f ./$(DEPDIR)/h5tools_str.Plo ++ -rm -f ./$(DEPDIR)/h5tools_type.Plo ++ -rm -f ./$(DEPDIR)/h5tools_utils.Plo ++ -rm -f ./$(DEPDIR)/h5trav.Plo ++ -rm -f ./$(DEPDIR)/io_timer.Plo + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1196,7 +1227,20 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5diff.Plo ++ -rm -f ./$(DEPDIR)/h5diff_array.Plo ++ -rm -f ./$(DEPDIR)/h5diff_attr.Plo ++ -rm -f ./$(DEPDIR)/h5diff_dset.Plo ++ -rm -f ./$(DEPDIR)/h5diff_util.Plo ++ -rm -f ./$(DEPDIR)/h5tools.Plo ++ -rm -f ./$(DEPDIR)/h5tools_dump.Plo ++ -rm -f ./$(DEPDIR)/h5tools_filters.Plo ++ -rm -f ./$(DEPDIR)/h5tools_ref.Plo ++ -rm -f ./$(DEPDIR)/h5tools_str.Plo ++ -rm -f ./$(DEPDIR)/h5tools_type.Plo ++ -rm -f ./$(DEPDIR)/h5tools_utils.Plo ++ -rm -f ./$(DEPDIR)/h5trav.Plo ++ -rm -f ./$(DEPDIR)/io_timer.Plo + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1217,20 +1261,20 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ +- clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \ +- distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ +- install-dvi-am install-exec install-exec-am install-html \ +- install-html-am install-info install-info-am install-man \ +- install-pdf install-pdf-am install-ps install-ps-am \ +- install-strip installcheck installcheck-am installdirs \ +- maintainer-clean maintainer-clean-generic mostlyclean \ +- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ +- mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \ +- uninstall uninstall-am ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-checkPROGRAMS clean-generic \ ++ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ ++ ctags-am distclean distclean-compile distclean-generic \ ++ distclean-libtool distclean-tags distdir dvi dvi-am html \ ++ html-am info info-am install install-am install-data \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-compile \ ++ mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ ++ pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am + + .PRECIOUS: Makefile + +diff --color -urN a/hdf5-1.12.0/tools/libtest/Makefile.in b/hdf5-1.12.0/tools/libtest/Makefile.in +--- a/hdf5-1.12.0/tools/libtest/Makefile.in 2020-02-29 00:52:24 ++++ b/hdf5-1.12.0/tools/libtest/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -158,7 +158,8 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/h5tools_test_utils.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -202,8 +203,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -386,6 +385,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -446,8 +446,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -467,6 +468,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -672,6 +674,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -779,8 +782,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -852,8 +855,14 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5tools_test_utils.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5tools_test_utils.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1043,7 +1052,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1080,8 +1089,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1157,7 +1168,7 @@ + clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5tools_test_utils.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1203,7 +1214,7 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5tools_test_utils.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1224,20 +1235,21 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-binPROGRAMS clean-generic clean-libtool \ +- cscopelist-am ctags ctags-am distclean distclean-compile \ +- distclean-generic distclean-libtool distclean-tags distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-binPROGRAMS install-data install-data-am install-dvi \ +- install-dvi-am install-exec install-exec-am install-html \ +- install-html-am install-info install-info-am install-man \ +- install-pdf install-pdf-am install-ps install-ps-am \ +- install-strip installcheck installcheck-am installdirs \ +- maintainer-clean maintainer-clean-generic mostlyclean \ +- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ +- mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \ +- uninstall uninstall-am uninstall-binPROGRAMS ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-binPROGRAMS clean-generic \ ++ clean-libtool cscopelist-am ctags ctags-am distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags distdir dvi dvi-am html html-am info info-am \ ++ install install-am install-binPROGRAMS install-data \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-compile \ ++ mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ ++ pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am \ ++ uninstall-binPROGRAMS + + .PRECIOUS: Makefile + +diff --color -urN a/hdf5-1.12.0/tools/src/Makefile.in b/hdf5-1.12.0/tools/src/Makefile.in +--- a/hdf5-1.12.0/tools/src/Makefile.in 2020-02-29 00:52:24 ++++ b/hdf5-1.12.0/tools/src/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -165,7 +165,7 @@ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) + AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ +- check recheck distdir ++ check recheck distdir distdir-am + am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) + # Read a list of newline-separated strings from the standard input, + # and print each of them once, without duplicates. Input order is +@@ -183,8 +183,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -367,6 +365,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + TEST_SUITE_LOG = test-suite.log + am__test_logs1 = $(TESTS:=.log) +@@ -449,8 +448,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -470,6 +470,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -675,6 +676,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -785,8 +787,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -1011,7 +1013,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1048,8 +1050,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/tools/src/h5copy/Makefile.in b/hdf5-1.12.0/tools/src/h5copy/Makefile.in +--- a/hdf5-1.12.0/tools/src/h5copy/Makefile.in 2020-02-29 00:52:24 ++++ b/hdf5-1.12.0/tools/src/h5copy/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -161,7 +161,8 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/h5copy.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -205,8 +206,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -389,6 +388,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -449,8 +449,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -470,6 +471,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -675,6 +677,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -788,8 +791,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -870,8 +873,14 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5copy.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5copy.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1061,7 +1070,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1098,8 +1107,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1177,7 +1188,7 @@ + clean-libtool mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5copy.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1223,7 +1234,7 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5copy.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1244,10 +1255,10 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-binPROGRAMS clean-checkPROGRAMS \ +- clean-generic clean-libtool cscopelist-am ctags ctags-am \ +- distclean distclean-compile distclean-generic \ ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-binPROGRAMS \ ++ clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \ ++ ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binPROGRAMS \ + install-data install-data-am install-dvi install-dvi-am \ +diff --color -urN a/hdf5-1.12.0/tools/src/h5diff/Makefile.in b/hdf5-1.12.0/tools/src/h5diff/Makefile.in +--- a/hdf5-1.12.0/tools/src/h5diff/Makefile.in 2020-02-29 00:52:24 ++++ b/hdf5-1.12.0/tools/src/h5diff/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -165,7 +165,9 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/h5diff_common.Po \ ++ ./$(DEPDIR)/h5diff_main.Po ./$(DEPDIR)/ph5diff_main.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -209,8 +211,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -393,6 +393,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -453,8 +454,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -474,6 +476,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -679,6 +682,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -797,8 +801,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -874,10 +878,16 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5diff_common.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5diff_main.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ph5diff_main.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5diff_common.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5diff_main.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ph5diff_main.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1067,7 +1077,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1104,8 +1114,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1181,7 +1193,9 @@ + clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5diff_common.Po ++ -rm -f ./$(DEPDIR)/h5diff_main.Po ++ -rm -f ./$(DEPDIR)/ph5diff_main.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1227,7 +1241,9 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5diff_common.Po ++ -rm -f ./$(DEPDIR)/h5diff_main.Po ++ -rm -f ./$(DEPDIR)/ph5diff_main.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1248,20 +1264,21 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-binPROGRAMS clean-generic clean-libtool \ +- cscopelist-am ctags ctags-am distclean distclean-compile \ +- distclean-generic distclean-libtool distclean-tags distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-binPROGRAMS install-data install-data-am install-dvi \ +- install-dvi-am install-exec install-exec-am install-html \ +- install-html-am install-info install-info-am install-man \ +- install-pdf install-pdf-am install-ps install-ps-am \ +- install-strip installcheck installcheck-am installdirs \ +- maintainer-clean maintainer-clean-generic mostlyclean \ +- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ +- mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \ +- uninstall uninstall-am uninstall-binPROGRAMS ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-binPROGRAMS clean-generic \ ++ clean-libtool cscopelist-am ctags ctags-am distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags distdir dvi dvi-am html html-am info info-am \ ++ install install-am install-binPROGRAMS install-data \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-compile \ ++ mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ ++ pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am \ ++ uninstall-binPROGRAMS + + .PRECIOUS: Makefile + +diff --color -urN a/hdf5-1.12.0/tools/src/h5dump/Makefile.in b/hdf5-1.12.0/tools/src/h5dump/Makefile.in +--- a/hdf5-1.12.0/tools/src/h5dump/Makefile.in 2020-02-29 00:52:24 ++++ b/hdf5-1.12.0/tools/src/h5dump/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -161,7 +161,9 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/h5dump.Po ./$(DEPDIR)/h5dump_ddl.Po \ ++ ./$(DEPDIR)/h5dump_xml.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -205,8 +207,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -389,6 +389,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -449,8 +450,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -470,6 +472,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -675,6 +678,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -788,8 +792,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -861,10 +865,16 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5dump.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5dump_ddl.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5dump_xml.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5dump.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5dump_ddl.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5dump_xml.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1054,7 +1064,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1091,8 +1101,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1168,7 +1180,9 @@ + clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5dump.Po ++ -rm -f ./$(DEPDIR)/h5dump_ddl.Po ++ -rm -f ./$(DEPDIR)/h5dump_xml.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1214,7 +1228,9 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5dump.Po ++ -rm -f ./$(DEPDIR)/h5dump_ddl.Po ++ -rm -f ./$(DEPDIR)/h5dump_xml.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1235,20 +1251,21 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-binPROGRAMS clean-generic clean-libtool \ +- cscopelist-am ctags ctags-am distclean distclean-compile \ +- distclean-generic distclean-libtool distclean-tags distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-binPROGRAMS install-data install-data-am install-dvi \ +- install-dvi-am install-exec install-exec-am install-html \ +- install-html-am install-info install-info-am install-man \ +- install-pdf install-pdf-am install-ps install-ps-am \ +- install-strip installcheck installcheck-am installdirs \ +- maintainer-clean maintainer-clean-generic mostlyclean \ +- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ +- mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \ +- uninstall uninstall-am uninstall-binPROGRAMS ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-binPROGRAMS clean-generic \ ++ clean-libtool cscopelist-am ctags ctags-am distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags distdir dvi dvi-am html html-am info info-am \ ++ install install-am install-binPROGRAMS install-data \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-compile \ ++ mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ ++ pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am \ ++ uninstall-binPROGRAMS + + .PRECIOUS: Makefile + +diff --color -urN a/hdf5-1.12.0/tools/src/h5format_convert/Makefile.in b/hdf5-1.12.0/tools/src/h5format_convert/Makefile.in +--- a/hdf5-1.12.0/tools/src/h5format_convert/Makefile.in 2020-02-29 00:52:25 ++++ b/hdf5-1.12.0/tools/src/h5format_convert/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -190,7 +190,8 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/h5format_convert.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -234,8 +235,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -391,6 +390,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -451,8 +451,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -472,6 +473,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -677,6 +679,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -789,8 +792,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -897,8 +900,14 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5format_convert.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5format_convert.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1088,7 +1097,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1125,8 +1134,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1203,7 +1214,7 @@ + clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5format_convert.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1249,7 +1260,7 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5format_convert.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1270,17 +1281,17 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-binPROGRAMS clean-generic clean-libtool \ +- cscopelist-am ctags ctags-am distclean distclean-compile \ +- distclean-generic distclean-libtool distclean-tags distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-binPROGRAMS install-binSCRIPTS install-data \ +- install-data-am install-dvi install-dvi-am install-exec \ +- install-exec-am install-html install-html-am install-info \ +- install-info-am install-man install-pdf install-pdf-am \ +- install-ps install-ps-am install-strip installcheck \ +- installcheck-am installdirs maintainer-clean \ ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-binPROGRAMS clean-generic \ ++ clean-libtool cscopelist-am ctags ctags-am distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags distdir dvi dvi-am html html-am info info-am \ ++ install install-am install-binPROGRAMS install-binSCRIPTS \ ++ install-data install-data-am install-dvi install-dvi-am \ ++ install-exec install-exec-am install-html install-html-am \ ++ install-info install-info-am install-man install-pdf \ ++ install-pdf-am install-ps install-ps-am install-strip \ ++ installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ + pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am \ +diff --color -urN a/hdf5-1.12.0/tools/src/h5import/Makefile.in b/hdf5-1.12.0/tools/src/h5import/Makefile.in +--- a/hdf5-1.12.0/tools/src/h5import/Makefile.in 2020-02-29 00:52:25 ++++ b/hdf5-1.12.0/tools/src/h5import/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -160,7 +160,8 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/h5import.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -204,8 +205,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -388,6 +387,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -448,8 +448,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -469,6 +470,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -674,6 +676,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -784,8 +787,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -857,8 +860,14 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5import.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5import.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1048,7 +1057,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1085,8 +1094,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1162,7 +1173,7 @@ + clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5import.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1208,7 +1219,7 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5import.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1229,20 +1240,21 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-binPROGRAMS clean-generic clean-libtool \ +- cscopelist-am ctags ctags-am distclean distclean-compile \ +- distclean-generic distclean-libtool distclean-tags distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-binPROGRAMS install-data install-data-am install-dvi \ +- install-dvi-am install-exec install-exec-am install-html \ +- install-html-am install-info install-info-am install-man \ +- install-pdf install-pdf-am install-ps install-ps-am \ +- install-strip installcheck installcheck-am installdirs \ +- maintainer-clean maintainer-clean-generic mostlyclean \ +- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ +- mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \ +- uninstall uninstall-am uninstall-binPROGRAMS ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-binPROGRAMS clean-generic \ ++ clean-libtool cscopelist-am ctags ctags-am distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags distdir dvi dvi-am html html-am info info-am \ ++ install install-am install-binPROGRAMS install-data \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-compile \ ++ mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ ++ pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am \ ++ uninstall-binPROGRAMS + + .PRECIOUS: Makefile + +diff --color -urN a/hdf5-1.12.0/tools/src/h5jam/Makefile.in b/hdf5-1.12.0/tools/src/h5jam/Makefile.in +--- a/hdf5-1.12.0/tools/src/h5jam/Makefile.in 2020-02-29 00:52:25 ++++ b/hdf5-1.12.0/tools/src/h5jam/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -167,7 +167,8 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/h5jam.Po ./$(DEPDIR)/h5unjam.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -211,8 +212,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -395,6 +394,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -455,8 +455,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -476,6 +477,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -681,6 +683,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -792,8 +795,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -869,9 +872,15 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5jam.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5unjam.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5jam.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5unjam.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1061,7 +1070,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1098,8 +1107,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1175,7 +1186,8 @@ + clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5jam.Po ++ -rm -f ./$(DEPDIR)/h5unjam.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1221,7 +1233,8 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5jam.Po ++ -rm -f ./$(DEPDIR)/h5unjam.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1242,20 +1255,21 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-binPROGRAMS clean-generic clean-libtool \ +- cscopelist-am ctags ctags-am distclean distclean-compile \ +- distclean-generic distclean-libtool distclean-tags distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-binPROGRAMS install-data install-data-am install-dvi \ +- install-dvi-am install-exec install-exec-am install-html \ +- install-html-am install-info install-info-am install-man \ +- install-pdf install-pdf-am install-ps install-ps-am \ +- install-strip installcheck installcheck-am installdirs \ +- maintainer-clean maintainer-clean-generic mostlyclean \ +- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ +- mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \ +- uninstall uninstall-am uninstall-binPROGRAMS ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-binPROGRAMS clean-generic \ ++ clean-libtool cscopelist-am ctags ctags-am distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags distdir dvi dvi-am html html-am info info-am \ ++ install install-am install-binPROGRAMS install-data \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-compile \ ++ mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ ++ pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am \ ++ uninstall-binPROGRAMS + + .PRECIOUS: Makefile + +diff --color -urN a/hdf5-1.12.0/tools/src/h5ls/Makefile.in b/hdf5-1.12.0/tools/src/h5ls/Makefile.in +--- a/hdf5-1.12.0/tools/src/h5ls/Makefile.in 2020-02-29 00:52:25 ++++ b/hdf5-1.12.0/tools/src/h5ls/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -160,7 +160,8 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/h5ls.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -204,8 +205,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -388,6 +387,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -448,8 +448,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -469,6 +470,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -674,6 +676,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -784,8 +787,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -857,8 +860,14 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5ls.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5ls.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1048,7 +1057,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1085,8 +1094,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1162,7 +1173,7 @@ + clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5ls.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1208,7 +1219,7 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5ls.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1229,20 +1240,21 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-binPROGRAMS clean-generic clean-libtool \ +- cscopelist-am ctags ctags-am distclean distclean-compile \ +- distclean-generic distclean-libtool distclean-tags distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-binPROGRAMS install-data install-data-am install-dvi \ +- install-dvi-am install-exec install-exec-am install-html \ +- install-html-am install-info install-info-am install-man \ +- install-pdf install-pdf-am install-ps install-ps-am \ +- install-strip installcheck installcheck-am installdirs \ +- maintainer-clean maintainer-clean-generic mostlyclean \ +- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ +- mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \ +- uninstall uninstall-am uninstall-binPROGRAMS ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-binPROGRAMS clean-generic \ ++ clean-libtool cscopelist-am ctags ctags-am distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags distdir dvi dvi-am html html-am info info-am \ ++ install install-am install-binPROGRAMS install-data \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-compile \ ++ mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ ++ pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am \ ++ uninstall-binPROGRAMS + + .PRECIOUS: Makefile + +diff --color -urN a/hdf5-1.12.0/tools/src/h5repack/Makefile.in b/hdf5-1.12.0/tools/src/h5repack/Makefile.in +--- a/hdf5-1.12.0/tools/src/h5repack/Makefile.in 2020-02-29 00:52:25 ++++ b/hdf5-1.12.0/tools/src/h5repack/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -134,6 +134,8 @@ + $(top_builddir)/fortran/src/H5config_f.inc + CONFIG_CLEAN_FILES = + CONFIG_CLEAN_VPATH_FILES = ++am__installdirs = "$(DESTDIR)$(bindir)" ++PROGRAMS = $(bin_PROGRAMS) + LTLIBRARIES = $(noinst_LTLIBRARIES) + libh5repack_la_DEPENDENCIES = $(LIBH5TOOLS) $(LIBHDF5) + am_libh5repack_la_OBJECTS = h5repack.lo h5repack_copy.lo \ +@@ -148,8 +150,6 @@ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(AM_CFLAGS) $(CFLAGS) $(libh5repack_la_LDFLAGS) $(LDFLAGS) -o \ + $@ +-am__installdirs = "$(DESTDIR)$(bindir)" +-PROGRAMS = $(bin_PROGRAMS) + am_h5repack_OBJECTS = h5repack_main.$(OBJEXT) + h5repack_OBJECTS = $(am_h5repack_OBJECTS) + h5repack_DEPENDENCIES = libh5repack.la $(LIBH5TOOLS) $(LIBHDF5) +@@ -170,7 +170,12 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/h5repack.Plo \ ++ ./$(DEPDIR)/h5repack_copy.Plo ./$(DEPDIR)/h5repack_filters.Plo \ ++ ./$(DEPDIR)/h5repack_main.Po ./$(DEPDIR)/h5repack_opttable.Plo \ ++ ./$(DEPDIR)/h5repack_parse.Plo ./$(DEPDIR)/h5repack_refs.Plo \ ++ ./$(DEPDIR)/h5repack_verify.Plo + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -214,8 +219,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -398,6 +401,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -458,8 +462,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -479,6 +484,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -684,6 +690,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -804,8 +811,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -817,20 +824,6 @@ + $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + $(am__aclocal_m4_deps): +- +-clean-noinstLTLIBRARIES: +- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) +- @list='$(noinst_LTLIBRARIES)'; \ +- locs=`for p in $$list; do echo $$p; done | \ +- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ +- sort -u`; \ +- test -z "$$locs" || { \ +- echo rm -f $${locs}; \ +- rm -f $${locs}; \ +- } +- +-libh5repack.la: $(libh5repack_la_OBJECTS) $(libh5repack_la_DEPENDENCIES) $(EXTRA_libh5repack_la_DEPENDENCIES) +- $(AM_V_CCLD)$(libh5repack_la_LINK) $(libh5repack_la_OBJECTS) $(libh5repack_la_LIBADD) $(LIBS) + install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ +@@ -881,6 +874,20 @@ + echo " rm -f" $$list; \ + rm -f $$list + ++clean-noinstLTLIBRARIES: ++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) ++ @list='$(noinst_LTLIBRARIES)'; \ ++ locs=`for p in $$list; do echo $$p; done | \ ++ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ ++ sort -u`; \ ++ test -z "$$locs" || { \ ++ echo rm -f $${locs}; \ ++ rm -f $${locs}; \ ++ } ++ ++libh5repack.la: $(libh5repack_la_OBJECTS) $(libh5repack_la_DEPENDENCIES) $(EXTRA_libh5repack_la_DEPENDENCIES) ++ $(AM_V_CCLD)$(libh5repack_la_LINK) $(libh5repack_la_OBJECTS) $(libh5repack_la_LIBADD) $(LIBS) ++ + h5repack$(EXEEXT): $(h5repack_OBJECTS) $(h5repack_DEPENDENCIES) $(EXTRA_h5repack_DEPENDENCIES) + @rm -f h5repack$(EXEEXT) + $(AM_V_CCLD)$(h5repack_LINK) $(h5repack_OBJECTS) $(h5repack_LDADD) $(LIBS) +@@ -891,15 +898,21 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repack.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repack_copy.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repack_filters.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repack_main.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repack_opttable.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repack_parse.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repack_refs.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repack_verify.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repack.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repack_copy.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repack_filters.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repack_main.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repack_opttable.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repack_parse.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repack_refs.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repack_verify.Plo@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1089,7 +1102,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1126,8 +1139,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1160,7 +1175,7 @@ + check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-TESTS + check: check-am +-all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) all-local ++all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) all-local + installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ +@@ -1204,7 +1219,14 @@ + clean-noinstLTLIBRARIES mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5repack.Plo ++ -rm -f ./$(DEPDIR)/h5repack_copy.Plo ++ -rm -f ./$(DEPDIR)/h5repack_filters.Plo ++ -rm -f ./$(DEPDIR)/h5repack_main.Po ++ -rm -f ./$(DEPDIR)/h5repack_opttable.Plo ++ -rm -f ./$(DEPDIR)/h5repack_parse.Plo ++ -rm -f ./$(DEPDIR)/h5repack_refs.Plo ++ -rm -f ./$(DEPDIR)/h5repack_verify.Plo + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1250,7 +1272,14 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5repack.Plo ++ -rm -f ./$(DEPDIR)/h5repack_copy.Plo ++ -rm -f ./$(DEPDIR)/h5repack_filters.Plo ++ -rm -f ./$(DEPDIR)/h5repack_main.Po ++ -rm -f ./$(DEPDIR)/h5repack_opttable.Plo ++ -rm -f ./$(DEPDIR)/h5repack_parse.Plo ++ -rm -f ./$(DEPDIR)/h5repack_refs.Plo ++ -rm -f ./$(DEPDIR)/h5repack_verify.Plo + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1271,17 +1300,17 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-binPROGRAMS clean-generic clean-libtool \ +- clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \ +- distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-binPROGRAMS install-data \ +- install-data-am install-dvi install-dvi-am install-exec \ +- install-exec-am install-html install-html-am install-info \ +- install-info-am install-man install-pdf install-pdf-am \ +- install-ps install-ps-am install-strip installcheck \ +- installcheck-am installdirs maintainer-clean \ ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-binPROGRAMS clean-generic \ ++ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ ++ ctags-am distclean distclean-compile distclean-generic \ ++ distclean-libtool distclean-tags distdir dvi dvi-am html \ ++ html-am info info-am install install-am install-binPROGRAMS \ ++ install-data install-data-am install-dvi install-dvi-am \ ++ install-exec install-exec-am install-html install-html-am \ ++ install-info install-info-am install-man install-pdf \ ++ install-pdf-am install-ps install-ps-am install-strip \ ++ installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ + pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am \ +diff --color -urN a/hdf5-1.12.0/tools/src/h5stat/Makefile.in b/hdf5-1.12.0/tools/src/h5stat/Makefile.in +--- a/hdf5-1.12.0/tools/src/h5stat/Makefile.in 2020-02-29 00:52:25 ++++ b/hdf5-1.12.0/tools/src/h5stat/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -189,7 +189,8 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/h5stat.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -233,8 +234,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -390,6 +389,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -450,8 +450,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -471,6 +472,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -676,6 +678,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -790,8 +793,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -898,8 +901,14 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5stat.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5stat.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1089,7 +1098,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1126,8 +1135,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1204,7 +1215,7 @@ + clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5stat.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1250,7 +1261,7 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5stat.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1271,17 +1282,17 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-binPROGRAMS clean-generic clean-libtool \ +- cscopelist-am ctags ctags-am distclean distclean-compile \ +- distclean-generic distclean-libtool distclean-tags distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-binPROGRAMS install-binSCRIPTS install-data \ +- install-data-am install-dvi install-dvi-am install-exec \ +- install-exec-am install-html install-html-am install-info \ +- install-info-am install-man install-pdf install-pdf-am \ +- install-ps install-ps-am install-strip installcheck \ +- installcheck-am installdirs maintainer-clean \ ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-binPROGRAMS clean-generic \ ++ clean-libtool cscopelist-am ctags ctags-am distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags distdir dvi dvi-am html html-am info info-am \ ++ install install-am install-binPROGRAMS install-binSCRIPTS \ ++ install-data install-data-am install-dvi install-dvi-am \ ++ install-exec install-exec-am install-html install-html-am \ ++ install-info install-info-am install-man install-pdf \ ++ install-pdf-am install-ps install-ps-am install-strip \ ++ installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ + pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am \ +diff --color -urN a/hdf5-1.12.0/tools/src/misc/Makefile.in b/hdf5-1.12.0/tools/src/misc/Makefile.in +--- a/hdf5-1.12.0/tools/src/misc/Makefile.in 2020-02-29 00:52:25 ++++ b/hdf5-1.12.0/tools/src/misc/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -182,7 +182,9 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/h5clear.Po ./$(DEPDIR)/h5debug.Po \ ++ ./$(DEPDIR)/h5mkgrp.Po ./$(DEPDIR)/h5repart.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -226,8 +228,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -410,6 +410,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -470,8 +471,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -491,6 +493,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -696,6 +699,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -809,8 +813,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -894,11 +898,17 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5clear.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5debug.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5mkgrp.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repart.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5clear.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5debug.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5mkgrp.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repart.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1088,7 +1098,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1125,8 +1135,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1202,7 +1214,10 @@ + clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5clear.Po ++ -rm -f ./$(DEPDIR)/h5debug.Po ++ -rm -f ./$(DEPDIR)/h5mkgrp.Po ++ -rm -f ./$(DEPDIR)/h5repart.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1248,7 +1263,10 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5clear.Po ++ -rm -f ./$(DEPDIR)/h5debug.Po ++ -rm -f ./$(DEPDIR)/h5mkgrp.Po ++ -rm -f ./$(DEPDIR)/h5repart.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1269,20 +1287,21 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-binPROGRAMS clean-generic clean-libtool \ +- cscopelist-am ctags ctags-am distclean distclean-compile \ +- distclean-generic distclean-libtool distclean-tags distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-binPROGRAMS install-data install-data-am install-dvi \ +- install-dvi-am install-exec install-exec-am install-html \ +- install-html-am install-info install-info-am install-man \ +- install-pdf install-pdf-am install-ps install-ps-am \ +- install-strip installcheck installcheck-am installdirs \ +- maintainer-clean maintainer-clean-generic mostlyclean \ +- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ +- mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \ +- uninstall uninstall-am uninstall-binPROGRAMS ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-binPROGRAMS clean-generic \ ++ clean-libtool cscopelist-am ctags ctags-am distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags distdir dvi dvi-am html html-am info info-am \ ++ install install-am install-binPROGRAMS install-data \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-compile \ ++ mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ ++ pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am \ ++ uninstall-binPROGRAMS + + .PRECIOUS: Makefile + +diff --color -urN a/hdf5-1.12.0/tools/test/Makefile.in b/hdf5-1.12.0/tools/test/Makefile.in +--- a/hdf5-1.12.0/tools/test/Makefile.in 2020-02-29 00:52:25 ++++ b/hdf5-1.12.0/tools/test/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -165,7 +165,7 @@ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) + AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ +- check recheck distdir ++ check recheck distdir distdir-am + am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) + # Read a list of newline-separated strings from the standard input, + # and print each of them once, without duplicates. Input order is +@@ -183,8 +183,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -367,6 +365,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + TEST_SUITE_LOG = test-suite.log + am__test_logs1 = $(TESTS:=.log) +@@ -449,8 +448,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -470,6 +470,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -675,6 +676,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -785,8 +787,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -1011,7 +1013,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1048,8 +1050,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +diff --color -urN a/hdf5-1.12.0/tools/test/h5copy/Makefile.in b/hdf5-1.12.0/tools/test/h5copy/Makefile.in +--- a/hdf5-1.12.0/tools/test/h5copy/Makefile.in 2020-02-29 00:52:25 ++++ b/hdf5-1.12.0/tools/test/h5copy/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -155,7 +155,8 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/h5copygentest.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -199,8 +200,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -383,6 +382,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -446,8 +446,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -467,6 +468,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -672,6 +674,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -791,8 +794,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -826,8 +829,14 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5copygentest.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5copygentest.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1017,7 +1026,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1061,8 +1070,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1137,7 +1148,7 @@ + mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5copygentest.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1183,7 +1194,7 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5copygentest.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1204,19 +1215,20 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ +- cscopelist-am ctags ctags-am distclean distclean-compile \ +- distclean-generic distclean-libtool distclean-tags distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-data install-data-am install-dvi install-dvi-am \ +- install-exec install-exec-am install-html install-html-am \ +- install-info install-info-am install-man install-pdf \ +- install-pdf-am install-ps install-ps-am install-strip \ +- installcheck installcheck-am installdirs maintainer-clean \ +- maintainer-clean-generic mostlyclean mostlyclean-compile \ +- mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ +- pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-checkPROGRAMS clean-generic \ ++ clean-libtool cscopelist-am ctags ctags-am distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags distdir dvi dvi-am html html-am info info-am \ ++ install install-am install-data install-data-am install-dvi \ ++ install-dvi-am install-exec install-exec-am install-html \ ++ install-html-am install-info install-info-am install-man \ ++ install-pdf install-pdf-am install-ps install-ps-am \ ++ install-strip installcheck installcheck-am installdirs \ ++ maintainer-clean maintainer-clean-generic mostlyclean \ ++ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ ++ mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \ ++ uninstall uninstall-am + + .PRECIOUS: Makefile + +diff --color -urN a/hdf5-1.12.0/tools/test/h5diff/Makefile.in b/hdf5-1.12.0/tools/test/h5diff/Makefile.in +--- a/hdf5-1.12.0/tools/test/h5diff/Makefile.in 2020-02-29 00:52:25 ++++ b/hdf5-1.12.0/tools/test/h5diff/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -134,6 +134,7 @@ + $(top_builddir)/fortran/src/H5config_f.inc + CONFIG_CLEAN_FILES = h5diff_plugin.sh testh5diff.sh testph5diff.sh + CONFIG_CLEAN_VPATH_FILES = ++am__EXEEXT_1 = h5diffgentest$(EXEEXT) + LTLIBRARIES = $(noinst_LTLIBRARIES) + libdynlibdiff_la_LIBADD = + am__libdynlibdiff_la_SOURCES_DIST = dynlib_diff.c +@@ -149,7 +150,6 @@ + $(AM_CFLAGS) $(CFLAGS) $(libdynlibdiff_la_LDFLAGS) $(LDFLAGS) \ + -o $@ + @HAVE_SHARED_CONDITIONAL_TRUE@am_libdynlibdiff_la_rpath = +-am__EXEEXT_1 = h5diffgentest$(EXEEXT) + am_h5diffgentest_OBJECTS = h5diffgentest.$(OBJEXT) + h5diffgentest_OBJECTS = $(am_h5diffgentest_OBJECTS) + h5diffgentest_LDADD = $(LDADD) +@@ -168,7 +168,9 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/dynlib_diff.Plo \ ++ ./$(DEPDIR)/h5diffgentest.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -213,8 +215,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -397,6 +397,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -461,8 +462,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -482,6 +484,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -687,6 +690,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -818,8 +822,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -838,6 +842,15 @@ + testph5diff.sh: $(top_builddir)/config.status $(srcdir)/testph5diff.sh.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + ++clean-checkPROGRAMS: ++ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ ++ echo " rm -f" $$list; \ ++ rm -f $$list || exit $$?; \ ++ test -n "$(EXEEXT)" || exit 0; \ ++ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ ++ echo " rm -f" $$list; \ ++ rm -f $$list ++ + clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ +@@ -852,15 +865,6 @@ + libdynlibdiff.la: $(libdynlibdiff_la_OBJECTS) $(libdynlibdiff_la_DEPENDENCIES) $(EXTRA_libdynlibdiff_la_DEPENDENCIES) + $(AM_V_CCLD)$(libdynlibdiff_la_LINK) $(am_libdynlibdiff_la_rpath) $(libdynlibdiff_la_OBJECTS) $(libdynlibdiff_la_LIBADD) $(LIBS) + +-clean-checkPROGRAMS: +- @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ +- echo " rm -f" $$list; \ +- rm -f $$list || exit $$?; \ +- test -n "$(EXEEXT)" || exit 0; \ +- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ +- echo " rm -f" $$list; \ +- rm -f $$list +- + h5diffgentest$(EXEEXT): $(h5diffgentest_OBJECTS) $(h5diffgentest_DEPENDENCIES) $(EXTRA_h5diffgentest_DEPENDENCIES) + @rm -f h5diffgentest$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(h5diffgentest_OBJECTS) $(h5diffgentest_LDADD) $(LIBS) +@@ -871,9 +875,15 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dynlib_diff.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5diffgentest.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dynlib_diff.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5diffgentest.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1063,7 +1073,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1107,8 +1117,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1184,7 +1196,8 @@ + clean-noinstLTLIBRARIES mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/dynlib_diff.Plo ++ -rm -f ./$(DEPDIR)/h5diffgentest.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1230,7 +1243,8 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/dynlib_diff.Plo ++ -rm -f ./$(DEPDIR)/h5diffgentest.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1251,20 +1265,20 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ +- clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \ +- distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ +- install-dvi-am install-exec install-exec-am install-html \ +- install-html-am install-info install-info-am install-man \ +- install-pdf install-pdf-am install-ps install-ps-am \ +- install-strip installcheck installcheck-am installdirs \ +- maintainer-clean maintainer-clean-generic mostlyclean \ +- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ +- mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \ +- uninstall uninstall-am ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-checkPROGRAMS clean-generic \ ++ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ ++ ctags-am distclean distclean-compile distclean-generic \ ++ distclean-libtool distclean-tags distdir dvi dvi-am html \ ++ html-am info info-am install install-am install-data \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-compile \ ++ mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ ++ pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am + + .PRECIOUS: Makefile + +diff --color -urN a/hdf5-1.12.0/tools/test/h5dump/Makefile.in b/hdf5-1.12.0/tools/test/h5dump/Makefile.in +--- a/hdf5-1.12.0/tools/test/h5dump/Makefile.in 2020-02-29 00:52:25 ++++ b/hdf5-1.12.0/tools/test/h5dump/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -135,6 +135,7 @@ + CONFIG_CLEAN_FILES = h5dump_plugin.sh testh5dump.sh testh5dumppbits.sh \ + testh5dumpvds.sh testh5dumpxml.sh + CONFIG_CLEAN_VPATH_FILES = ++am__EXEEXT_1 = h5dumpgentest$(EXEEXT) + LTLIBRARIES = $(noinst_LTLIBRARIES) + libdynlibdump_la_LIBADD = + am__libdynlibdump_la_SOURCES_DIST = dynlib_dump.c +@@ -150,7 +151,6 @@ + $(AM_CFLAGS) $(CFLAGS) $(libdynlibdump_la_LDFLAGS) $(LDFLAGS) \ + -o $@ + @HAVE_SHARED_CONDITIONAL_TRUE@am_libdynlibdump_la_rpath = +-am__EXEEXT_1 = h5dumpgentest$(EXEEXT) + binread_SOURCES = binread.c + binread_OBJECTS = binread.$(OBJEXT) + binread_LDADD = $(LDADD) +@@ -173,7 +173,9 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/binread.Po \ ++ ./$(DEPDIR)/dynlib_dump.Plo ./$(DEPDIR)/h5dumpgentest.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -218,8 +220,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -402,6 +402,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -467,8 +468,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -488,6 +490,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -693,6 +696,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -814,8 +818,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -838,6 +842,15 @@ + testh5dumpxml.sh: $(top_builddir)/config.status $(srcdir)/testh5dumpxml.sh.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + ++clean-checkPROGRAMS: ++ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ ++ echo " rm -f" $$list; \ ++ rm -f $$list || exit $$?; \ ++ test -n "$(EXEEXT)" || exit 0; \ ++ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ ++ echo " rm -f" $$list; \ ++ rm -f $$list ++ + clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ +@@ -852,15 +865,6 @@ + libdynlibdump.la: $(libdynlibdump_la_OBJECTS) $(libdynlibdump_la_DEPENDENCIES) $(EXTRA_libdynlibdump_la_DEPENDENCIES) + $(AM_V_CCLD)$(libdynlibdump_la_LINK) $(am_libdynlibdump_la_rpath) $(libdynlibdump_la_OBJECTS) $(libdynlibdump_la_LIBADD) $(LIBS) + +-clean-checkPROGRAMS: +- @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ +- echo " rm -f" $$list; \ +- rm -f $$list || exit $$?; \ +- test -n "$(EXEEXT)" || exit 0; \ +- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ +- echo " rm -f" $$list; \ +- rm -f $$list +- + binread$(EXEEXT): $(binread_OBJECTS) $(binread_DEPENDENCIES) $(EXTRA_binread_DEPENDENCIES) + @rm -f binread$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(binread_OBJECTS) $(binread_LDADD) $(LIBS) +@@ -875,10 +879,16 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/binread.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dynlib_dump.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5dumpgentest.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/binread.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dynlib_dump.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5dumpgentest.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1068,7 +1078,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1112,8 +1122,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1189,7 +1201,9 @@ + clean-noinstLTLIBRARIES mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/binread.Po ++ -rm -f ./$(DEPDIR)/dynlib_dump.Plo ++ -rm -f ./$(DEPDIR)/h5dumpgentest.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1235,7 +1249,9 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/binread.Po ++ -rm -f ./$(DEPDIR)/dynlib_dump.Plo ++ -rm -f ./$(DEPDIR)/h5dumpgentest.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1256,20 +1272,20 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ +- clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \ +- distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ +- install-dvi-am install-exec install-exec-am install-html \ +- install-html-am install-info install-info-am install-man \ +- install-pdf install-pdf-am install-ps install-ps-am \ +- install-strip installcheck installcheck-am installdirs \ +- maintainer-clean maintainer-clean-generic mostlyclean \ +- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ +- mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \ +- uninstall uninstall-am ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-checkPROGRAMS clean-generic \ ++ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ ++ ctags-am distclean distclean-compile distclean-generic \ ++ distclean-libtool distclean-tags distdir dvi dvi-am html \ ++ html-am info info-am install install-am install-data \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-compile \ ++ mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ ++ pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am + + .PRECIOUS: Makefile + +diff --color -urN a/hdf5-1.12.0/tools/test/h5format_convert/Makefile.in b/hdf5-1.12.0/tools/test/h5format_convert/Makefile.in +--- a/hdf5-1.12.0/tools/test/h5format_convert/Makefile.in 2020-02-29 00:52:25 ++++ b/hdf5-1.12.0/tools/test/h5format_convert/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -159,7 +159,9 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/h5fc_chk_idx.Po \ ++ ./$(DEPDIR)/h5fc_gentest.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -203,8 +205,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -387,6 +387,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -450,8 +451,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -471,6 +473,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -676,6 +679,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -795,8 +799,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -834,9 +838,15 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5fc_chk_idx.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5fc_gentest.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5fc_chk_idx.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5fc_gentest.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1026,7 +1036,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1070,8 +1080,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1148,7 +1160,8 @@ + mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5fc_chk_idx.Po ++ -rm -f ./$(DEPDIR)/h5fc_gentest.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1194,7 +1207,8 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5fc_chk_idx.Po ++ -rm -f ./$(DEPDIR)/h5fc_gentest.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1215,19 +1229,20 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ +- cscopelist-am ctags ctags-am distclean distclean-compile \ +- distclean-generic distclean-libtool distclean-tags distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-data install-data-am install-dvi install-dvi-am \ +- install-exec install-exec-am install-html install-html-am \ +- install-info install-info-am install-man install-pdf \ +- install-pdf-am install-ps install-ps-am install-strip \ +- installcheck installcheck-am installdirs maintainer-clean \ +- maintainer-clean-generic mostlyclean mostlyclean-compile \ +- mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ +- pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-checkPROGRAMS clean-generic \ ++ clean-libtool cscopelist-am ctags ctags-am distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags distdir dvi dvi-am html html-am info info-am \ ++ install install-am install-data install-data-am install-dvi \ ++ install-dvi-am install-exec install-exec-am install-html \ ++ install-html-am install-info install-info-am install-man \ ++ install-pdf install-pdf-am install-ps install-ps-am \ ++ install-strip installcheck installcheck-am installdirs \ ++ maintainer-clean maintainer-clean-generic mostlyclean \ ++ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ ++ mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \ ++ uninstall uninstall-am + + .PRECIOUS: Makefile + +diff --color -urN a/hdf5-1.12.0/tools/test/h5import/Makefile.in b/hdf5-1.12.0/tools/test/h5import/Makefile.in +--- a/hdf5-1.12.0/tools/test/h5import/Makefile.in 2020-02-29 00:52:25 ++++ b/hdf5-1.12.0/tools/test/h5import/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -155,7 +155,8 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/h5importtest.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -199,8 +200,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -383,6 +382,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -446,8 +446,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -467,6 +468,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -672,6 +674,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -787,8 +790,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -822,8 +825,14 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5importtest.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5importtest.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1013,7 +1022,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1057,8 +1066,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1133,7 +1144,7 @@ + mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5importtest.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1179,7 +1190,7 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5importtest.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1200,19 +1211,20 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ +- cscopelist-am ctags ctags-am distclean distclean-compile \ +- distclean-generic distclean-libtool distclean-tags distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-data install-data-am install-dvi install-dvi-am \ +- install-exec install-exec-am install-html install-html-am \ +- install-info install-info-am install-man install-pdf \ +- install-pdf-am install-ps install-ps-am install-strip \ +- installcheck installcheck-am installdirs maintainer-clean \ +- maintainer-clean-generic mostlyclean mostlyclean-compile \ +- mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ +- pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-checkPROGRAMS clean-generic \ ++ clean-libtool cscopelist-am ctags ctags-am distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags distdir dvi dvi-am html html-am info info-am \ ++ install install-am install-data install-data-am install-dvi \ ++ install-dvi-am install-exec install-exec-am install-html \ ++ install-html-am install-info install-info-am install-man \ ++ install-pdf install-pdf-am install-ps install-ps-am \ ++ install-strip installcheck installcheck-am installdirs \ ++ maintainer-clean maintainer-clean-generic mostlyclean \ ++ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ ++ mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \ ++ uninstall uninstall-am + + .PRECIOUS: Makefile + +diff --color -urN a/hdf5-1.12.0/tools/test/h5jam/Makefile.in b/hdf5-1.12.0/tools/test/h5jam/Makefile.in +--- a/hdf5-1.12.0/tools/test/h5jam/Makefile.in 2020-02-29 00:52:25 ++++ b/hdf5-1.12.0/tools/test/h5jam/Makefile.in 2024-12-06 13:30:24 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -162,7 +162,9 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/getub.Po ./$(DEPDIR)/h5jamgentest.Po \ ++ ./$(DEPDIR)/tellub.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -206,8 +208,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -390,6 +390,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -451,8 +452,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -472,6 +474,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -677,6 +680,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -792,8 +796,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -835,10 +839,16 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getub.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5jamgentest.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tellub.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getub.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5jamgentest.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tellub.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1028,7 +1038,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1065,8 +1075,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1142,7 +1154,9 @@ + mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/getub.Po ++ -rm -f ./$(DEPDIR)/h5jamgentest.Po ++ -rm -f ./$(DEPDIR)/tellub.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1188,7 +1202,9 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/getub.Po ++ -rm -f ./$(DEPDIR)/h5jamgentest.Po ++ -rm -f ./$(DEPDIR)/tellub.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1209,19 +1225,20 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ +- cscopelist-am ctags ctags-am distclean distclean-compile \ +- distclean-generic distclean-libtool distclean-tags distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-data install-data-am install-dvi install-dvi-am \ +- install-exec install-exec-am install-html install-html-am \ +- install-info install-info-am install-man install-pdf \ +- install-pdf-am install-ps install-ps-am install-strip \ +- installcheck installcheck-am installdirs maintainer-clean \ +- maintainer-clean-generic mostlyclean mostlyclean-compile \ +- mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ +- pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-checkPROGRAMS clean-generic \ ++ clean-libtool cscopelist-am ctags ctags-am distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags distdir dvi dvi-am html html-am info info-am \ ++ install install-am install-data install-data-am install-dvi \ ++ install-dvi-am install-exec install-exec-am install-html \ ++ install-html-am install-info install-info-am install-man \ ++ install-pdf install-pdf-am install-ps install-ps-am \ ++ install-strip installcheck installcheck-am installdirs \ ++ maintainer-clean maintainer-clean-generic mostlyclean \ ++ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ ++ mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \ ++ uninstall uninstall-am + + .PRECIOUS: Makefile + +diff --color -urN a/hdf5-1.12.0/tools/test/h5ls/Makefile.in b/hdf5-1.12.0/tools/test/h5ls/Makefile.in +--- a/hdf5-1.12.0/tools/test/h5ls/Makefile.in 2020-02-29 00:52:25 ++++ b/hdf5-1.12.0/tools/test/h5ls/Makefile.in 2024-12-06 13:30:25 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -162,7 +162,8 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/dynlib_ls.Plo + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -206,8 +207,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -390,6 +389,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -452,8 +452,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -473,6 +474,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -678,6 +680,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -794,8 +797,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -834,8 +837,14 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dynlib_ls.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dynlib_ls.Plo@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1025,7 +1034,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1062,8 +1071,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1139,7 +1150,7 @@ + mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/dynlib_ls.Plo + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1185,7 +1196,7 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/dynlib_ls.Plo + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1206,8 +1217,8 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-generic clean-libtool \ ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-generic clean-libtool \ + clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ +diff --color -urN a/hdf5-1.12.0/tools/test/h5repack/Makefile.in b/hdf5-1.12.0/tools/test/h5repack/Makefile.in +--- a/hdf5-1.12.0/tools/test/h5repack/Makefile.in 2020-02-29 00:52:26 ++++ b/hdf5-1.12.0/tools/test/h5repack/Makefile.in 2024-12-06 13:30:25 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -137,6 +137,8 @@ + $(top_builddir)/fortran/src/H5config_f.inc + CONFIG_CLEAN_FILES = h5repack.sh h5repack_plugin.sh + CONFIG_CLEAN_VPATH_FILES = ++am__EXEEXT_1 = h5repackgentest$(EXEEXT) ++PROGRAMS = $(noinst_PROGRAMS) + LTLIBRARIES = $(noinst_LTLIBRARIES) + @HAVE_SHARED_CONDITIONAL_TRUE@libdynlibadd_la_DEPENDENCIES = \ + @HAVE_SHARED_CONDITIONAL_TRUE@ $(LIBH5TOOLS) $(LIBH5TEST) \ +@@ -166,8 +168,6 @@ + $(AM_CFLAGS) $(CFLAGS) $(libdynlibvers_la_LDFLAGS) $(LDFLAGS) \ + -o $@ + @HAVE_SHARED_CONDITIONAL_TRUE@am_libdynlibvers_la_rpath = +-am__EXEEXT_1 = h5repackgentest$(EXEEXT) +-PROGRAMS = $(noinst_PROGRAMS) + h5repackgentest_SOURCES = h5repackgentest.c + h5repackgentest_OBJECTS = h5repackgentest.$(OBJEXT) + h5repackgentest_LDADD = $(LDADD) +@@ -200,7 +200,11 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/dynlib_rpk.Plo \ ++ ./$(DEPDIR)/dynlib_vrpk.Plo ./$(DEPDIR)/h5repackgentest.Po \ ++ ./$(DEPDIR)/h5repacktst.Po \ ++ ./$(DEPDIR)/testh5repack_detect_szip.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -248,8 +252,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -432,6 +434,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -496,8 +499,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -517,6 +521,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -722,6 +727,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -850,8 +856,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -868,23 +874,6 @@ + h5repack_plugin.sh: $(top_builddir)/config.status $(srcdir)/h5repack_plugin.sh.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + +-clean-noinstLTLIBRARIES: +- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) +- @list='$(noinst_LTLIBRARIES)'; \ +- locs=`for p in $$list; do echo $$p; done | \ +- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ +- sort -u`; \ +- test -z "$$locs" || { \ +- echo rm -f $${locs}; \ +- rm -f $${locs}; \ +- } +- +-libdynlibadd.la: $(libdynlibadd_la_OBJECTS) $(libdynlibadd_la_DEPENDENCIES) $(EXTRA_libdynlibadd_la_DEPENDENCIES) +- $(AM_V_CCLD)$(libdynlibadd_la_LINK) $(am_libdynlibadd_la_rpath) $(libdynlibadd_la_OBJECTS) $(libdynlibadd_la_LIBADD) $(LIBS) +- +-libdynlibvers.la: $(libdynlibvers_la_OBJECTS) $(libdynlibvers_la_DEPENDENCIES) $(EXTRA_libdynlibvers_la_DEPENDENCIES) +- $(AM_V_CCLD)$(libdynlibvers_la_LINK) $(am_libdynlibvers_la_rpath) $(libdynlibvers_la_OBJECTS) $(libdynlibvers_la_LIBADD) $(LIBS) +- + clean-checkPROGRAMS: + @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ +@@ -903,6 +892,23 @@ + echo " rm -f" $$list; \ + rm -f $$list + ++clean-noinstLTLIBRARIES: ++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) ++ @list='$(noinst_LTLIBRARIES)'; \ ++ locs=`for p in $$list; do echo $$p; done | \ ++ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ ++ sort -u`; \ ++ test -z "$$locs" || { \ ++ echo rm -f $${locs}; \ ++ rm -f $${locs}; \ ++ } ++ ++libdynlibadd.la: $(libdynlibadd_la_OBJECTS) $(libdynlibadd_la_DEPENDENCIES) $(EXTRA_libdynlibadd_la_DEPENDENCIES) ++ $(AM_V_CCLD)$(libdynlibadd_la_LINK) $(am_libdynlibadd_la_rpath) $(libdynlibadd_la_OBJECTS) $(libdynlibadd_la_LIBADD) $(LIBS) ++ ++libdynlibvers.la: $(libdynlibvers_la_OBJECTS) $(libdynlibvers_la_DEPENDENCIES) $(EXTRA_libdynlibvers_la_DEPENDENCIES) ++ $(AM_V_CCLD)$(libdynlibvers_la_LINK) $(am_libdynlibvers_la_rpath) $(libdynlibvers_la_OBJECTS) $(libdynlibvers_la_LIBADD) $(LIBS) ++ + h5repackgentest$(EXEEXT): $(h5repackgentest_OBJECTS) $(h5repackgentest_DEPENDENCIES) $(EXTRA_h5repackgentest_DEPENDENCIES) + @rm -f h5repackgentest$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(h5repackgentest_OBJECTS) $(h5repackgentest_LDADD) $(LIBS) +@@ -921,12 +927,18 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dynlib_rpk.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dynlib_vrpk.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repackgentest.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repacktst.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testh5repack_detect_szip.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dynlib_rpk.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dynlib_vrpk.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repackgentest.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repacktst.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testh5repack_detect_szip.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1116,7 +1128,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1160,8 +1172,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1195,7 +1209,7 @@ + $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(check_SCRIPTS) + $(MAKE) $(AM_MAKEFLAGS) check-TESTS + check: check-am +-all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) all-local ++all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) all-local + installdirs: + install: install-am + install-exec: install-exec-am +@@ -1237,7 +1251,11 @@ + clean-noinstLTLIBRARIES clean-noinstPROGRAMS mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/dynlib_rpk.Plo ++ -rm -f ./$(DEPDIR)/dynlib_vrpk.Plo ++ -rm -f ./$(DEPDIR)/h5repackgentest.Po ++ -rm -f ./$(DEPDIR)/h5repacktst.Po ++ -rm -f ./$(DEPDIR)/testh5repack_detect_szip.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1283,7 +1301,11 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/dynlib_rpk.Plo ++ -rm -f ./$(DEPDIR)/dynlib_vrpk.Plo ++ -rm -f ./$(DEPDIR)/h5repackgentest.Po ++ -rm -f ./$(DEPDIR)/h5repacktst.Po ++ -rm -f ./$(DEPDIR)/testh5repack_detect_szip.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1304,17 +1326,17 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ +- clean-noinstLTLIBRARIES clean-noinstPROGRAMS cscopelist-am \ +- ctags ctags-am distclean distclean-compile distclean-generic \ +- distclean-libtool distclean-tags distdir dvi dvi-am html \ +- html-am info info-am install install-am install-data \ +- install-data-am install-dvi install-dvi-am install-exec \ +- install-exec-am install-html install-html-am install-info \ +- install-info-am install-man install-pdf install-pdf-am \ +- install-ps install-ps-am install-strip installcheck \ +- installcheck-am installdirs maintainer-clean \ ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-checkPROGRAMS clean-generic \ ++ clean-libtool clean-noinstLTLIBRARIES clean-noinstPROGRAMS \ ++ cscopelist-am ctags ctags-am distclean distclean-compile \ ++ distclean-generic distclean-libtool distclean-tags distdir dvi \ ++ dvi-am html html-am info info-am install install-am \ ++ install-data install-data-am install-dvi install-dvi-am \ ++ install-exec install-exec-am install-html install-html-am \ ++ install-info install-info-am install-man install-pdf \ ++ install-pdf-am install-ps install-ps-am install-strip \ ++ installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ + pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am +diff --color -urN a/hdf5-1.12.0/tools/test/h5stat/Makefile.in b/hdf5-1.12.0/tools/test/h5stat/Makefile.in +--- a/hdf5-1.12.0/tools/test/h5stat/Makefile.in 2020-02-29 00:52:26 ++++ b/hdf5-1.12.0/tools/test/h5stat/Makefile.in 2024-12-06 13:30:25 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -155,7 +155,8 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/h5stat_gentest.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -199,8 +200,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -383,6 +382,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -446,8 +446,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -467,6 +468,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -672,6 +674,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -796,8 +799,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -831,8 +834,14 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5stat_gentest.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5stat_gentest.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1022,7 +1031,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1066,8 +1075,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1144,7 +1155,7 @@ + mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5stat_gentest.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1190,7 +1201,7 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/h5stat_gentest.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1211,19 +1222,20 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ +- cscopelist-am ctags ctags-am distclean distclean-compile \ +- distclean-generic distclean-libtool distclean-tags distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-data install-data-am install-dvi install-dvi-am \ +- install-exec install-exec-am install-html install-html-am \ +- install-info install-info-am install-man install-pdf \ +- install-pdf-am install-ps install-ps-am install-strip \ +- installcheck installcheck-am installdirs maintainer-clean \ +- maintainer-clean-generic mostlyclean mostlyclean-compile \ +- mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ +- pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-checkPROGRAMS clean-generic \ ++ clean-libtool cscopelist-am ctags ctags-am distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags distdir dvi dvi-am html html-am info info-am \ ++ install install-am install-data install-data-am install-dvi \ ++ install-dvi-am install-exec install-exec-am install-html \ ++ install-html-am install-info install-info-am install-man \ ++ install-pdf install-pdf-am install-ps install-ps-am \ ++ install-strip installcheck installcheck-am installdirs \ ++ maintainer-clean maintainer-clean-generic mostlyclean \ ++ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ ++ mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \ ++ uninstall uninstall-am + + .PRECIOUS: Makefile + +diff --color -urN a/hdf5-1.12.0/tools/test/misc/Makefile.in b/hdf5-1.12.0/tools/test/misc/Makefile.in +--- a/hdf5-1.12.0/tools/test/misc/Makefile.in 2020-02-29 00:52:26 ++++ b/hdf5-1.12.0/tools/test/misc/Makefile.in 2024-12-06 13:30:25 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -173,7 +173,10 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/clear_open_chk.Po \ ++ ./$(DEPDIR)/h5clear_gentest.Po ./$(DEPDIR)/h5repart_gentest.Po \ ++ ./$(DEPDIR)/repart_test.Po ./$(DEPDIR)/talign.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -217,7 +220,7 @@ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) + AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ +- check recheck distdir ++ check recheck distdir distdir-am + am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) + # Read a list of newline-separated strings from the standard input, + # and print each of them once, without duplicates. Input order is +@@ -235,8 +238,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -419,6 +420,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + TEST_SUITE_LOG = test-suite.log + LOG_DRIVER = $(SHELL) $(top_srcdir)/bin/test-driver +@@ -508,8 +510,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -529,6 +532,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -734,6 +738,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -857,8 +862,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -912,12 +917,18 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clear_open_chk.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5clear_gentest.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repart_gentest.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/repart_test.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/talign.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clear_open_chk.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5clear_gentest.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h5repart_gentest.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/repart_test.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/talign.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1154,7 +1165,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1212,8 +1223,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1315,7 +1328,11 @@ + mostlyclean-am + + distclean: distclean-recursive +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/clear_open_chk.Po ++ -rm -f ./$(DEPDIR)/h5clear_gentest.Po ++ -rm -f ./$(DEPDIR)/h5repart_gentest.Po ++ -rm -f ./$(DEPDIR)/repart_test.Po ++ -rm -f ./$(DEPDIR)/talign.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1361,7 +1378,11 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-recursive +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/clear_open_chk.Po ++ -rm -f ./$(DEPDIR)/h5clear_gentest.Po ++ -rm -f ./$(DEPDIR)/h5repart_gentest.Po ++ -rm -f ./$(DEPDIR)/repart_test.Po ++ -rm -f ./$(DEPDIR)/talign.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1383,9 +1404,9 @@ + .MAKE: $(am__recursive_targets) check-am install-am install-strip + + .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \ +- check check-TESTS check-am clean clean-checkPROGRAMS \ +- clean-generic clean-libtool cscopelist-am ctags ctags-am \ +- distclean distclean-compile distclean-generic \ ++ am--depfiles check check-TESTS check-am clean \ ++ clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \ ++ ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ +diff --color -urN a/hdf5-1.12.0/tools/test/misc/vds/Makefile.in b/hdf5-1.12.0/tools/test/misc/vds/Makefile.in +--- a/hdf5-1.12.0/tools/test/misc/vds/Makefile.in 2020-02-29 00:52:26 ++++ b/hdf5-1.12.0/tools/test/misc/vds/Makefile.in 2024-12-06 13:30:25 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -173,7 +173,10 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/UC_1_one_dim_gen.Po \ ++ ./$(DEPDIR)/UC_2_two_dims_gen.Po ./$(DEPDIR)/UC_3_gaps_gen.Po \ ++ ./$(DEPDIR)/UC_4_printf_gen.Po ./$(DEPDIR)/UC_5_stride_gen.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -219,8 +222,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -403,6 +404,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + TEST_SUITE_LOG = test-suite.log +@@ -465,8 +467,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -486,6 +489,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -691,6 +695,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -805,8 +810,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -854,12 +859,18 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UC_1_one_dim_gen.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UC_2_two_dims_gen.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UC_3_gaps_gen.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UC_4_printf_gen.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UC_5_stride_gen.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UC_1_one_dim_gen.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UC_2_two_dims_gen.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UC_3_gaps_gen.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UC_4_printf_gen.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UC_5_stride_gen.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1049,7 +1060,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1121,8 +1132,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1197,7 +1210,11 @@ + mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/UC_1_one_dim_gen.Po ++ -rm -f ./$(DEPDIR)/UC_2_two_dims_gen.Po ++ -rm -f ./$(DEPDIR)/UC_3_gaps_gen.Po ++ -rm -f ./$(DEPDIR)/UC_4_printf_gen.Po ++ -rm -f ./$(DEPDIR)/UC_5_stride_gen.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1243,7 +1260,11 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/UC_1_one_dim_gen.Po ++ -rm -f ./$(DEPDIR)/UC_2_two_dims_gen.Po ++ -rm -f ./$(DEPDIR)/UC_3_gaps_gen.Po ++ -rm -f ./$(DEPDIR)/UC_4_printf_gen.Po ++ -rm -f ./$(DEPDIR)/UC_5_stride_gen.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1264,19 +1285,20 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ +- cscopelist-am ctags ctags-am distclean distclean-compile \ +- distclean-generic distclean-libtool distclean-tags distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-data install-data-am install-dvi install-dvi-am \ +- install-exec install-exec-am install-html install-html-am \ +- install-info install-info-am install-man install-pdf \ +- install-pdf-am install-ps install-ps-am install-strip \ +- installcheck installcheck-am installdirs maintainer-clean \ +- maintainer-clean-generic mostlyclean mostlyclean-compile \ +- mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ +- pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-checkPROGRAMS clean-generic \ ++ clean-libtool cscopelist-am ctags ctags-am distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags distdir dvi dvi-am html html-am info info-am \ ++ install install-am install-data install-data-am install-dvi \ ++ install-dvi-am install-exec install-exec-am install-html \ ++ install-html-am install-info install-info-am install-man \ ++ install-pdf install-pdf-am install-ps install-ps-am \ ++ install-strip installcheck installcheck-am installdirs \ ++ maintainer-clean maintainer-clean-generic mostlyclean \ ++ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ ++ mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \ ++ uninstall uninstall-am + + .PRECIOUS: Makefile + +diff --color -urN a/hdf5-1.12.0/tools/test/perform/Makefile.in b/hdf5-1.12.0/tools/test/perform/Makefile.in +--- a/hdf5-1.12.0/tools/test/perform/Makefile.in 2020-02-29 00:52:26 ++++ b/hdf5-1.12.0/tools/test/perform/Makefile.in 2024-12-06 13:30:25 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.15 from Makefile.am. ++# Makefile.in generated by automake 1.16.5 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2014 Free Software Foundation, Inc. ++# Copyright (C) 1994-2021 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -198,7 +198,13 @@ + am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src + depcomp = $(SHELL) $(top_srcdir)/bin/depcomp +-am__depfiles_maybe = depfiles ++am__maybe_remake_depfiles = depfiles ++am__depfiles_remade = ./$(DEPDIR)/chunk.Po ./$(DEPDIR)/chunk_cache.Po \ ++ ./$(DEPDIR)/iopipe.Po ./$(DEPDIR)/overhead.Po \ ++ ./$(DEPDIR)/perf.Po ./$(DEPDIR)/perf_meta.Po \ ++ ./$(DEPDIR)/pio_engine.Po ./$(DEPDIR)/pio_perf.Po \ ++ ./$(DEPDIR)/sio_engine.Po ./$(DEPDIR)/sio_perf.Po \ ++ ./$(DEPDIR)/zip_perf.Po + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -246,8 +252,6 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-ETAGS = etags +-CTAGS = ctags + am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +@@ -430,6 +434,7 @@ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` ++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck + am__EXEEXT_3 = iopipe$(EXEEXT) chunk$(EXEEXT) chunk_cache$(EXEEXT) \ +@@ -493,8 +498,9 @@ + CONFIG_DATE = @CONFIG_DATE@ + CONFIG_MODE = @CONFIG_MODE@ + CONFIG_USER = @CONFIG_USER@ +-CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ ++CSCOPE = @CSCOPE@ ++CTAGS = @CTAGS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +@@ -514,6 +520,7 @@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ ++ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXTERNAL_FILTERS = @EXTERNAL_FILTERS@ + +@@ -719,6 +726,7 @@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -857,8 +865,8 @@ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty): + +@@ -971,18 +979,24 @@ + distclean-compile: + -rm -f *.tab.c + +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chunk.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chunk_cache.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iopipe.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/overhead.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/perf.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/perf_meta.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio_engine.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio_perf.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sio_engine.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sio_perf.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zip_perf.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chunk.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chunk_cache.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iopipe.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/overhead.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/perf.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/perf_meta.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio_engine.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio_perf.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sio_engine.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sio_perf.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zip_perf.Po@am__quote@ # am--include-marker + ++$(am__depfiles_remade): ++ @$(MKDIR_P) $(@D) ++ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ ++ ++am--depfiles: $(am__depfiles_remade) ++ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@@ -1172,7 +1186,7 @@ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ +- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ ++ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ +@@ -1258,8 +1272,10 @@ + @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ + @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) ++distdir: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) distdir-am + +-distdir: $(DISTFILES) ++distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ +@@ -1338,7 +1354,17 @@ + clean-libtool mostlyclean-am + + distclean: distclean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/chunk.Po ++ -rm -f ./$(DEPDIR)/chunk_cache.Po ++ -rm -f ./$(DEPDIR)/iopipe.Po ++ -rm -f ./$(DEPDIR)/overhead.Po ++ -rm -f ./$(DEPDIR)/perf.Po ++ -rm -f ./$(DEPDIR)/perf_meta.Po ++ -rm -f ./$(DEPDIR)/pio_engine.Po ++ -rm -f ./$(DEPDIR)/pio_perf.Po ++ -rm -f ./$(DEPDIR)/sio_engine.Po ++ -rm -f ./$(DEPDIR)/sio_perf.Po ++ -rm -f ./$(DEPDIR)/zip_perf.Po + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -1384,7 +1410,17 @@ + installcheck-am: + + maintainer-clean: maintainer-clean-am +- -rm -rf ./$(DEPDIR) ++ -rm -f ./$(DEPDIR)/chunk.Po ++ -rm -f ./$(DEPDIR)/chunk_cache.Po ++ -rm -f ./$(DEPDIR)/iopipe.Po ++ -rm -f ./$(DEPDIR)/overhead.Po ++ -rm -f ./$(DEPDIR)/perf.Po ++ -rm -f ./$(DEPDIR)/perf_meta.Po ++ -rm -f ./$(DEPDIR)/pio_engine.Po ++ -rm -f ./$(DEPDIR)/pio_perf.Po ++ -rm -f ./$(DEPDIR)/sio_engine.Po ++ -rm -f ./$(DEPDIR)/sio_perf.Po ++ -rm -f ./$(DEPDIR)/zip_perf.Po + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -1405,10 +1441,10 @@ + + .MAKE: check-am install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \ +- check-am clean clean-binPROGRAMS clean-checkPROGRAMS \ +- clean-generic clean-libtool cscopelist-am ctags ctags-am \ +- distclean distclean-compile distclean-generic \ ++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ ++ check-TESTS check-am clean clean-binPROGRAMS \ ++ clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \ ++ ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binPROGRAMS \ + install-data install-data-am install-dvi install-dvi-am \ diff --git a/src/amuse/community/mesa_r15140/patches/lapack95.patch b/src/amuse_mesa_r15140/patches/lapack95.patch similarity index 100% rename from src/amuse/community/mesa_r15140/patches/lapack95.patch rename to src/amuse_mesa_r15140/patches/lapack95.patch diff --git a/src/amuse_mesa_r15140/patches/ndiff-configure b/src/amuse_mesa_r15140/patches/ndiff-configure new file mode 100755 index 0000000000..aa2bf06d04 --- /dev/null +++ b/src/amuse_mesa_r15140/patches/ndiff-configure @@ -0,0 +1,6674 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='' +PACKAGE_TARNAME='' +PACKAGE_VERSION='' +PACKAGE_STRING='' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_unique_file="ndiff.c" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_STDIO_H +# include +#endif +#ifdef HAVE_STDLIB_H +# include +#endif +#ifdef HAVE_STRING_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_header_c_list= +ac_subst_vars='LTLIBOBJS +LIBOBJS +CHECKOKAY +EGREP +ZOO +ZIP +UNZIP +TGRIND +TAR +SPELL +SORT +SED +RM +NROFF +MV +MAN2HTML +LS +LN +JAR +ISPELL +GZIP +GREP +ETAGS +DW +DITROFF +DISTILL +DIFF +DEROFF +CP +CMP +CHMOD +CHECKSUM +CHECKNR +CAT +MKDIR +SH +AWK +AUTOHEADER +AUTOCONF +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +VERSIONREGEXP +VERSION +DATE +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 +with_gmp +with_double +with_long_double +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS' + + +# 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}' +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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 this package 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/PACKAGE] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF +_ACEOF +fi + +if test -n "$ac_init_help"; then + + cat <<\_ACEOF + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gmp use GNU multiple-precision floating-point library + --with-double use double floating-point precision + --with-long-double use long double floating-point precision + +Some influential environment variables: + 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 + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +configure +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main (void) +{ +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 (void) +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + eval "$3=yes" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_type + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to run 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: program exited with status $ac_status" >&5 + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 $as_me, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" +as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" +as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" +as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" +as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" +as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" +as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" +as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" +as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" +# 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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +ac_config_headers="$ac_config_headers config.h:config.hin" + + +DATE=10-Dec-2000 + +VERSION=2.00 +VERSIONREGEXP=2[.]00 + + + + +fp_package= + + +# Check whether --with-gmp was given. +if test ${with_gmp+y} +then : + withval=$with_gmp; fp_package=gmp +fi + + + +# Check whether --with-double was given. +if test ${with_double+y} +then : + withval=$with_double; fp_package=dbl +fi + + + +# Check whether --with-long-double was given. +if test ${with_long_double+y} +then : + withval=$with_long_double; fp_package=ldb +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + +for ac_prog in autoconf +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AUTOCONF+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$AUTOCONF"; then + ac_cv_prog_AUTOCONF="$AUTOCONF" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_AUTOCONF="$ac_prog" + printf "%s\n" "$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 +AUTOCONF=$ac_cv_prog_AUTOCONF +if test -n "$AUTOCONF"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AUTOCONF" >&5 +printf "%s\n" "$AUTOCONF" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$AUTOCONF" && break +done + +for ac_prog in autoheader +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AUTOHEADER+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$AUTOHEADER"; then + ac_cv_prog_AUTOHEADER="$AUTOHEADER" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_AUTOHEADER="$ac_prog" + printf "%s\n" "$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 +AUTOHEADER=$ac_cv_prog_AUTOHEADER +if test -n "$AUTOHEADER"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AUTOHEADER" >&5 +printf "%s\n" "$AUTOHEADER" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$AUTOHEADER" && break +done + + +for ac_prog in mawk nawk gawk bawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_AWK+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $AWK in + [\\/]* | ?:[\\/]*) + ac_cv_path_AWK="$AWK" # 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_AWK="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +AWK=$ac_cv_path_AWK +if test -n "$AWK"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +printf "%s\n" "$AWK" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$AWK" && break +done + +for ac_prog in sh ksh bash +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_SH+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $SH in + [\\/]* | ?:[\\/]*) + ac_cv_path_SH="$SH" # 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_SH="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +SH=$ac_cv_path_SH +if test -n "$SH"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SH" >&5 +printf "%s\n" "$SH" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$SH" && break +done + + +for ac_prog in mkdir.sh mkdir +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_MKDIR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $MKDIR in + [\\/]* | ?:[\\/]*) + ac_cv_path_MKDIR="$MKDIR" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_dummy="$PWD:$PATH" +for as_dir in $as_dummy +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MKDIR="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +MKDIR=$ac_cv_path_MKDIR +if test -n "$MKDIR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR" >&5 +printf "%s\n" "$MKDIR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MKDIR" && break +done + + +for ac_prog in cat +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CAT+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CAT"; then + ac_cv_prog_CAT="$CAT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CAT="$ac_prog" + printf "%s\n" "$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 +CAT=$ac_cv_prog_CAT +if test -n "$CAT"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CAT" >&5 +printf "%s\n" "$CAT" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CAT" && break +done + +for ac_prog in checknr echo +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CHECKNR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CHECKNR"; then + ac_cv_prog_CHECKNR="$CHECKNR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CHECKNR="$ac_prog" + printf "%s\n" "$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 +CHECKNR=$ac_cv_prog_CHECKNR +if test -n "$CHECKNR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CHECKNR" >&5 +printf "%s\n" "$CHECKNR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CHECKNR" && break +done + +for ac_prog in checksum cat +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CHECKSUM+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CHECKSUM"; then + ac_cv_prog_CHECKSUM="$CHECKSUM" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CHECKSUM="$ac_prog" + printf "%s\n" "$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 +CHECKSUM=$ac_cv_prog_CHECKSUM +if test -n "$CHECKSUM"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CHECKSUM" >&5 +printf "%s\n" "$CHECKSUM" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CHECKSUM" && break +done + +for ac_prog in chmod +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CHMOD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CHMOD"; then + ac_cv_prog_CHMOD="$CHMOD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CHMOD="$ac_prog" + printf "%s\n" "$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 +CHMOD=$ac_cv_prog_CHMOD +if test -n "$CHMOD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CHMOD" >&5 +printf "%s\n" "$CHMOD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CHMOD" && break +done + +for ac_prog in cmp +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CMP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CMP"; then + ac_cv_prog_CMP="$CMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CMP="$ac_prog" + printf "%s\n" "$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 +CMP=$ac_cv_prog_CMP +if test -n "$CMP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CMP" >&5 +printf "%s\n" "$CMP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CMP" && break +done + +for ac_prog in scp rcp cp +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CP"; then + ac_cv_prog_CP="$CP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CP="$ac_prog" + printf "%s\n" "$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 +CP=$ac_cv_prog_CP +if test -n "$CP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CP" >&5 +printf "%s\n" "$CP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CP" && break +done + +for ac_prog in deroff +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DEROFF+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DEROFF"; then + ac_cv_prog_DEROFF="$DEROFF" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_DEROFF="$ac_prog" + printf "%s\n" "$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 +DEROFF=$ac_cv_prog_DEROFF +if test -n "$DEROFF"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DEROFF" >&5 +printf "%s\n" "$DEROFF" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$DEROFF" && break +done + +for ac_prog in diff +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DIFF+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DIFF"; then + ac_cv_prog_DIFF="$DIFF" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_DIFF="$ac_prog" + printf "%s\n" "$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 +DIFF=$ac_cv_prog_DIFF +if test -n "$DIFF"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIFF" >&5 +printf "%s\n" "$DIFF" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$DIFF" && break +done + +for ac_prog in distill ps2pdf +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DISTILL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DISTILL"; then + ac_cv_prog_DISTILL="$DISTILL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_DISTILL="$ac_prog" + printf "%s\n" "$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 +DISTILL=$ac_cv_prog_DISTILL +if test -n "$DISTILL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DISTILL" >&5 +printf "%s\n" "$DISTILL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$DISTILL" && break +done + +for ac_prog in ditroff groff +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DITROFF+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DITROFF"; then + ac_cv_prog_DITROFF="$DITROFF" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_DITROFF="$ac_prog" + printf "%s\n" "$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 +DITROFF=$ac_cv_prog_DITROFF +if test -n "$DITROFF"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DITROFF" >&5 +printf "%s\n" "$DITROFF" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$DITROFF" && break +done + +for ac_prog in dw echo +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DW+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DW"; then + ac_cv_prog_DW="$DW" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_DW="$ac_prog" + printf "%s\n" "$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 +DW=$ac_cv_prog_DW +if test -n "$DW"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DW" >&5 +printf "%s\n" "$DW" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$DW" && break +done + +for ac_prog in etags +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ETAGS+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ETAGS"; then + ac_cv_prog_ETAGS="$ETAGS" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_ETAGS="$ac_prog" + printf "%s\n" "$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 +ETAGS=$ac_cv_prog_ETAGS +if test -n "$ETAGS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ETAGS" >&5 +printf "%s\n" "$ETAGS" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ETAGS" && break +done + +for ac_prog in grep +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$GREP"; then + ac_cv_prog_GREP="$GREP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_GREP="$ac_prog" + printf "%s\n" "$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 +GREP=$ac_cv_prog_GREP +if test -n "$GREP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GREP" >&5 +printf "%s\n" "$GREP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$GREP" && break +done + +for ac_prog in gzip compress +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_GZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$GZIP"; then + ac_cv_prog_GZIP="$GZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_GZIP="$ac_prog" + printf "%s\n" "$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 +GZIP=$ac_cv_prog_GZIP +if test -n "$GZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GZIP" >&5 +printf "%s\n" "$GZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$GZIP" && break +done + +for ac_prog in ispell echo +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ISPELL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ISPELL"; then + ac_cv_prog_ISPELL="$ISPELL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_ISPELL="$ac_prog" + printf "%s\n" "$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 +ISPELL=$ac_cv_prog_ISPELL +if test -n "$ISPELL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ISPELL" >&5 +printf "%s\n" "$ISPELL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ISPELL" && break +done + +for ac_prog in jar tar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_JAR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$JAR"; then + ac_cv_prog_JAR="$JAR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_JAR="$ac_prog" + printf "%s\n" "$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 +JAR=$ac_cv_prog_JAR +if test -n "$JAR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAR" >&5 +printf "%s\n" "$JAR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$JAR" && break +done + +for ac_prog in ln +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_LN+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$LN"; then + ac_cv_prog_LN="$LN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_LN="$ac_prog" + printf "%s\n" "$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 +LN=$ac_cv_prog_LN +if test -n "$LN"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LN" >&5 +printf "%s\n" "$LN" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$LN" && break +done + +for ac_prog in ls +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_LS+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$LS"; then + ac_cv_prog_LS="$LS" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_LS="$ac_prog" + printf "%s\n" "$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 +LS=$ac_cv_prog_LS +if test -n "$LS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LS" >&5 +printf "%s\n" "$LS" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$LS" && break +done + +for ac_prog in man2html +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MAN2HTML+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MAN2HTML"; then + ac_cv_prog_MAN2HTML="$MAN2HTML" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MAN2HTML="$ac_prog" + printf "%s\n" "$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 +MAN2HTML=$ac_cv_prog_MAN2HTML +if test -n "$MAN2HTML"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAN2HTML" >&5 +printf "%s\n" "$MAN2HTML" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MAN2HTML" && break +done + +for ac_prog in mv +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MV+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MV"; then + ac_cv_prog_MV="$MV" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MV="$ac_prog" + printf "%s\n" "$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 +MV=$ac_cv_prog_MV +if test -n "$MV"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MV" >&5 +printf "%s\n" "$MV" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MV" && break +done + +for ac_prog in nroff groff +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_NROFF+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$NROFF"; then + ac_cv_prog_NROFF="$NROFF" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_NROFF="$ac_prog" + printf "%s\n" "$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 +NROFF=$ac_cv_prog_NROFF +if test -n "$NROFF"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NROFF" >&5 +printf "%s\n" "$NROFF" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$NROFF" && break +done + +for ac_prog in rm +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RM+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RM"; then + ac_cv_prog_RM="$RM" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RM="$ac_prog" + printf "%s\n" "$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 +RM=$ac_cv_prog_RM +if test -n "$RM"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RM" >&5 +printf "%s\n" "$RM" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$RM" && break +done + +for ac_prog in sed +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_SED+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$SED"; then + ac_cv_prog_SED="$SED" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_SED="$ac_prog" + printf "%s\n" "$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 +SED=$ac_cv_prog_SED +if test -n "$SED"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SED" >&5 +printf "%s\n" "$SED" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$SED" && break +done + +for ac_prog in sort +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_SORT+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$SORT"; then + ac_cv_prog_SORT="$SORT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_SORT="$ac_prog" + printf "%s\n" "$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 +SORT=$ac_cv_prog_SORT +if test -n "$SORT"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SORT" >&5 +printf "%s\n" "$SORT" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$SORT" && break +done + +for ac_prog in spell +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_SPELL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$SPELL"; then + ac_cv_prog_SPELL="$SPELL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_SPELL="$ac_prog" + printf "%s\n" "$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 +SPELL=$ac_cv_prog_SPELL +if test -n "$SPELL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SPELL" >&5 +printf "%s\n" "$SPELL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$SPELL" && break +done + +for ac_prog in tar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_TAR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$TAR"; then + ac_cv_prog_TAR="$TAR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_TAR="$ac_prog" + printf "%s\n" "$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 +TAR=$ac_cv_prog_TAR +if test -n "$TAR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $TAR" >&5 +printf "%s\n" "$TAR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$TAR" && break +done + +for ac_prog in tgrind +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_TGRIND+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$TGRIND"; then + ac_cv_prog_TGRIND="$TGRIND" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_TGRIND="$ac_prog" + printf "%s\n" "$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 +TGRIND=$ac_cv_prog_TGRIND +if test -n "$TGRIND"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $TGRIND" >&5 +printf "%s\n" "$TGRIND" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$TGRIND" && break +done + +for ac_prog in unzip +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_UNZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$UNZIP"; then + ac_cv_prog_UNZIP="$UNZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_UNZIP="$ac_prog" + printf "%s\n" "$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 +UNZIP=$ac_cv_prog_UNZIP +if test -n "$UNZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $UNZIP" >&5 +printf "%s\n" "$UNZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$UNZIP" && break +done + +for ac_prog in zip +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ZIP"; then + ac_cv_prog_ZIP="$ZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_ZIP="$ac_prog" + printf "%s\n" "$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 +ZIP=$ac_cv_prog_ZIP +if test -n "$ZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ZIP" >&5 +printf "%s\n" "$ZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ZIP" && break +done + +for ac_prog in zoo +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ZOO+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ZOO"; then + ac_cv_prog_ZOO="$ZOO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_ZOO="$ac_prog" + printf "%s\n" "$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 +ZOO=$ac_cv_prog_ZOO +if test -n "$ZOO"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ZOO" >&5 +printf "%s\n" "$ZOO" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ZOO" && break +done + + + +ac_header= ac_cache= +for ac_item in $ac_header_c_list +do + if test $ac_cache; then + ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" + if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then + printf "%s\n" "#define $ac_item 1" >> confdefs.h + fi + ac_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item + fi +done + + + + + + + + +if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes +then : + +printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +# Autoupdate added the next two lines to ensure that your configure +# script's behavior did not change. They are probably safe to remove. + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + + + +ac_fn_c_check_header_compile "$LINENO" "ctype.h" "ac_cv_header_ctype_h" "$ac_includes_default" +if test "x$ac_cv_header_ctype_h" = xyes +then : + printf "%s\n" "#define HAVE_CTYPE_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "limits.h" "ac_cv_header_limits_h" "$ac_includes_default" +if test "x$ac_cv_header_limits_h" = xyes +then : + printf "%s\n" "#define HAVE_LIMITS_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "stddef.h" "ac_cv_header_stddef_h" "$ac_includes_default" +if test "x$ac_cv_header_stddef_h" = xyes +then : + printf "%s\n" "#define HAVE_STDDEF_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "stdio.h" "ac_cv_header_stdio_h" "$ac_includes_default" +if test "x$ac_cv_header_stdio_h" = xyes +then : + printf "%s\n" "#define HAVE_STDIO_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" +if test "x$ac_cv_header_stdlib_h" = xyes +then : + printf "%s\n" "#define HAVE_STDLIB_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "string.h" "ac_cv_header_string_h" "$ac_includes_default" +if test "x$ac_cv_header_string_h" = xyes +then : + printf "%s\n" "#define HAVE_STRING_H 1" >>confdefs.h + +fi + + +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 $as_nop + +printf "%s\n" "#define size_t unsigned int" >>confdefs.h + +fi + + +if test -z "$fp_package" +then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking GNU multiple-precision library (gmp)" >&5 +printf %s "checking GNU multiple-precision library (gmp)... " >&6; } +if test ${ac_cv_have_gmp+y} +then : + printf %s "(cached) " >&6 +else $as_nop + OLDCFLAGS="$CFLAGS" + OLDLIBS=$LIBS + if test "x$prefix" != xNONE + then + CFLAGS="$CFLAGS -I$prefix/include" + LIBS="$LIBS -L$prefix/lib -lgmp" + else + CFLAGS="$CFLAGS -I$ac_default_prefix/include" + LIBS="$LIBS -L$ac_default_prefix/lib -lgmp" + fi + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +mpf_t x; mpf_init(x); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_have_gmp=yes +else $as_nop + ac_cv_have_gmp=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test "$ac_cv_have_gmp" = "yes" + then + ac_cv_c_long_double=no + printf "%s\n" "#define HAVE_GMP 1" >>confdefs.h + + fp_package=gmp + else + CFLAGS=$OLDCFLAGS + LIBS=$OLDLIBS + fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_gmp" >&5 +printf "%s\n" "$ac_cv_have_gmp" >&6; } + + if test "$ac_cv_have_gmp" = "no" + then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for long double" >&5 +printf %s "checking for long double... " >&6; } + if test "$cross_compiling" = yes +then : + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run test program while cross compiling +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include "confdefs.h" + int main() + { + /* The Stardent Vistra knows sizeof(long double), but does not support it. */ + long double foo = 0.0; + /* On Ultrix 4.3 cc, long double is 4 and double is 8. */ + return (sizeof(long double) <= sizeof(double)); + } + +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + ac_cv_c_long_double=yes +else $as_nop + ac_cv_c_long_double=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_cv_c_long_double = yes + then + fp_package=ldb + printf "%s\n" "#define HAVE_LONG_DOUBLE 1" >>confdefs.h + + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_long_double" >&5 +printf "%s\n" "$ac_cv_c_long_double" >&6; } + fi +elif test $fp_package = gmp +then + printf "%s\n" "#define HAVE_GMP 1" >>confdefs.h + +elif test $fp_package = ldb +then + printf "%s\n" "#define HAVE_LONG_DOUBLE 1" >>confdefs.h + +fi + +if test -z "$fp_package" +then + fp_package=dbl +elif test $fp_package = gmp +then + LIBS="$LIBS -lgmp" +fi + +CHECKOKAY=okay-$fp_package + + +CFLAGS="`echo $CFLAGS | sed -e 's/-g //g' -e 's/ -g$//g' -e 's/^-g$//'`" + +CFLAGS="`echo $CFLAGS | sed -e 's/-O2 //g' -e 's/ -O2$//g' -e 's/^-O2$//'`" + +ac_config_files="$ac_config_files Makefile ndiff.sh:ndiff.sin" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 $as_me, which was +generated by GNU Autoconf 2.71. 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 the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +config.status +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$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=`printf "%s\n" "$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 ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.hin" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "ndiff.sh") CONFIG_FILES="$CONFIG_FILES ndiff.sh:ndiff.sin" ;; + + *) 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+y} || CONFIG_FILES=$config_files + test ${CONFIG_HEADERS+y} || 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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + { + printf "%s\n" "/* $configure_input */" >&1 \ + && 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +printf "%s\n" "$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 + printf "%s\n" "/* $configure_input */" >&1 \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi + ;; + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + +chmod 555 ndiff.sh +chmod 444 Makefile + diff --git a/src/amuse_mesa_r15140/patches/series_mesa b/src/amuse_mesa_r15140/patches/series_mesa new file mode 100644 index 0000000000..b9086cf90d --- /dev/null +++ b/src/amuse_mesa_r15140/patches/series_mesa @@ -0,0 +1,12 @@ +0001-Dont-make-empty-output-directories.patch +0001-Fix-astero-builds-when-disabled.patch +0003-Add-mpi-to-utils.patch +0004-Fix-adipls-and-gyre-builds.patch +0001-Stop-crashes-when-profile-column-name-is-bad.patch +0001-Add-support-for-namelist-setting-from-a-string.patch +0001-declare-i.patch +0001-Get-photo-loading-working.patch +0001-Patch-error-messages.patch +0005-fix_mesa_utils_c_system.patch +0006-fix_cpp_and_lapack_template.patch +0007-configure-build-and-fix-clang.patch diff --git a/src/amuse/community/mesa_r15140/run_star_extras.f90 b/src/amuse_mesa_r15140/run_star_extras.f90 similarity index 100% rename from src/amuse/community/mesa_r15140/run_star_extras.f90 rename to src/amuse_mesa_r15140/run_star_extras.f90 diff --git a/src/amuse_mesa_r15140/support/aclocal.m4 b/src/amuse_mesa_r15140/support/aclocal.m4 new file mode 100644 index 0000000000..c4ea1a8e59 --- /dev/null +++ b/src/amuse_mesa_r15140/support/aclocal.m4 @@ -0,0 +1,24 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_download.m4]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_blas.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_lapack.m4]) +m4_include([shared/m4/ax_lib_hdf5.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/fortran.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_mesa_r15140/support/config.mk.in b/src/amuse_mesa_r15140/support/config.mk.in new file mode 100644 index 0000000000..afa25c75fd --- /dev/null +++ b/src/amuse_mesa_r15140/support/config.mk.in @@ -0,0 +1,48 @@ +# Compilers +CC = @CC@ +CXX = @CXX@ +FC = @FC@ + +MPICC = @MPICC@ +MPICXX = @MPICXX@ +MPIFC = @MPIFC@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +YACC = @YACC@ +AR = @AR@ +RANLIB = @RANLIB@ +DOWNLOAD = @DOWNLOAD@ + + +# General flags and libraries +CFLAGS = @CFLAGS@ +FCFLAGS = @FCFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +FORSOCKETS_CFLAGS = @FORSOCKETS_CFLAGS@ +FORSOCKETS_LIBS = @FORSOCKETS_LIBS@ + + +# External dependencies +OPENMP_CFLAGS = @OPENMP_CFLAGS@ +OPENMP_CXXFLAGS = @OPENMP_CXXFLAGS@ +OPENMP_FCFLAGS = @OPENMP_FCFLAGS@ + +HDF5_VERSION = @HDF5_VERSION@ +HDF5_CFLAGS = @HDF5_CFLAGS@ +HDF5_CPPFLAGS = @HDF5_CPPFLAGS@ +HDF5_FFLAGS = @HDF5_FFLAGS@ +HDF5_LDFLAGS = @HDF5_LDFLAGS@ +HDF5_LIBS = @HDF5_LIBS@ +HDF5_FLIBS = @HDF5_FLIBS@ + +BLAS_LIBS = @BLAS_LIBS@ +LAPACK_LIBS = @LAPACK_LIBS@ +FLIBS = @FLIBS@ + diff --git a/src/amuse_mesa_r15140/support/configure b/src/amuse_mesa_r15140/support/configure new file mode 100755 index 0000000000..448ec21bae --- /dev/null +++ b/src/amuse_mesa_r15140/support/configure @@ -0,0 +1,11256 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-mesa_r15140 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-mesa_r15140' +PACKAGE_TARNAME='amuse-mesa_r15140' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-mesa_r15140 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_STDIO_H +# include +#endif +#ifdef HAVE_STDLIB_H +# include +#endif +#ifdef HAVE_STRING_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_header_c_list= +ac_subst_vars='LTLIBOBJS +LIBOBJS +HDF5_TYPE +HDF5_FLIBS +HDF5_FFLAGS +HDF5_FC +HDF5_LIBS +HDF5_LDFLAGS +HDF5_CPPFLAGS +HDF5_CFLAGS +HDF5_CC +HDF5_VERSION +H5FC +H5CC +AWK +SED +OPENMP_FCFLAGS +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +OPENMP_CXXFLAGS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +LAPACK_LIBS +BLAS_LIBS +FLIBS +ac_ct_F77 +F77 +OPENMP_CFLAGS +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +DOWNLOAD +CURL +WGET +RANLIB +AR +target_os +target_vendor +target_cpu +target +YFLAGS +YACC +ac_ct_FC +FCFLAGS +FC +ac_ct_CXX +CXXFLAGS +CXX +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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_openmp +with_blas +with_lapack +with_hdf5 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +FC +FCFLAGS +YACC +YFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS +MPICC +F77 +FFLAGS +MPICXX +MPIFC' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-mesa_r15140 1.0 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/amuse-mesa_r15140] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-mesa_r15140 1.0:";; + 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] + --disable-openmp do not use OpenMP + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-blas= use BLAS library + --with-lapack= use LAPACK library + --with-hdf5=yes/no/PATH location of h5cc or h5pcc for HDF5 configuration + +Some influential environment variables: + 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 + CXX C++ compiler command + CXXFLAGS C++ compiler flags + FC Fortran compiler command + FCFLAGS Fortran compiler flags + YACC The `Yet Another Compiler Compiler' implementation to use. + Defaults to the first program found out of: `bison -y', `byacc', + `yacc'. + YFLAGS The list of arguments that will be passed by default to $YACC. + This script will default YFLAGS to the empty string to avoid a + default value of `-d' given by some make applications. + 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 + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + MPICC MPI C compiler command + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + MPICXX MPI C++ compiler command + MPIFC MPI Fortran compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-mesa_r15140 configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# ac_fn_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_f77_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_f77_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_f77_try_compile + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 + +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func + +# ac_fn_fc_check_func LINENO FUNC VAR +# ----------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_fc_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + call $2 + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_fc_check_func + +# 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-mesa_r15140 $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + +as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" +as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" +as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" +as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" +as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" +as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" +as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" +as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" +as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +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 + + + +# Find bison/yacc for building makedepf90 with +for ac_prog in 'bison -y' byacc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_YACC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$YACC"; then + ac_cv_prog_YACC="$YACC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_YACC="$ac_prog" + printf "%s\n" "$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 +YACC=$ac_cv_prog_YACC +if test -n "$YACC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5 +printf "%s\n" "$YACC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$YACC" && break +done +test -n "$YACC" || YACC="yacc" + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + +# Find something to download things with + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}wget", so it can be a program name with args. +set dummy ${ac_tool_prefix}wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$WGET"; then + ac_cv_prog_WGET="$WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="${ac_tool_prefix}wget" + printf "%s\n" "$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 +WGET=$ac_cv_prog_WGET +if test -n "$WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $WGET" >&5 +printf "%s\n" "$WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_WGET"; then + ac_ct_WGET=$WGET + # Extract the first word of "wget", so it can be a program name with args. +set dummy wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_WGET"; then + ac_cv_prog_ac_ct_WGET="$ac_ct_WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="wget" + printf "%s\n" "$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_WGET=$ac_cv_prog_ac_ct_WGET +if test -n "$ac_ct_WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WGET" >&5 +printf "%s\n" "$ac_ct_WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_WGET" = x; then + WGET="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + WGET=$ac_ct_WGET + fi +else + WGET="$ac_cv_prog_WGET" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}curl", so it can be a program name with args. +set dummy ${ac_tool_prefix}curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CURL"; then + ac_cv_prog_CURL="$CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="${ac_tool_prefix}curl" + printf "%s\n" "$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 +CURL=$ac_cv_prog_CURL +if test -n "$CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CURL" >&5 +printf "%s\n" "$CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CURL"; then + ac_ct_CURL=$CURL + # Extract the first word of "curl", so it can be a program name with args. +set dummy curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CURL"; then + ac_cv_prog_ac_ct_CURL="$ac_ct_CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="curl" + printf "%s\n" "$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_CURL=$ac_cv_prog_ac_ct_CURL +if test -n "$ac_ct_CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CURL" >&5 +printf "%s\n" "$ac_ct_CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CURL" = x; then + CURL="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CURL=$ac_ct_CURL + fi +else + CURL="$ac_cv_prog_CURL" +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a wget or curl to download files with" >&5 +printf %s "checking for a wget or curl to download files with... " >&6; } + if test "x$WGET" != "x" + then + # The MESA SDK server rejects wget, this is the official work-around + DOWNLOAD="$WGET --progress=bar:force:noscroll --user-agent='' -O -" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + if test "x$CURL" != "x" + then + DOWNLOAD="$CURL -L" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + fi + + + + +# Find AMUSE libraries + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + +# Find external dependencies +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 + + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + + +if test -e penmp || test -e mp; then + as_fn_error $? "AC_OPENMP clobbers files named 'mp' and 'penmp'. Aborting configure because one of these files already exists." "$LINENO" 5 +fi +# Check whether --enable-openmp was given. +if test ${enable_openmp+y} +then : + enableval=$enable_openmp; +fi + + OPENMP_CFLAGS= + if test "$enable_openmp" != no; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to support OpenMP" >&5 +printf %s "checking for $CC option to support OpenMP... " >&6; } +if test ${ac_cv_prog_c_openmp+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_c_openmp='not found' + for ac_option in '' -fopenmp -xopenmp -openmp -mp -omp -qsmp=omp -homp \ + -Popenmp --openmp; do + + ac_save_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $ac_option" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef _OPENMP +#error "OpenMP not supported" +#endif +#include +int main (void) { return omp_get_num_threads (); } + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef _OPENMP +#error "OpenMP not supported" +#endif +#include +int main (void) { return omp_get_num_threads (); } + +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_prog_c_openmp=$ac_option +else $as_nop + ac_cv_prog_c_openmp='unsupported' +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + CFLAGS=$ac_save_CFLAGS + + if test "$ac_cv_prog_c_openmp" != 'not found'; then + break + fi + done + if test "$ac_cv_prog_c_openmp" = 'not found'; then + ac_cv_prog_c_openmp='unsupported' + elif test "$ac_cv_prog_c_openmp" = ''; then + ac_cv_prog_c_openmp='none needed' + fi + rm -f penmp mp +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_c_openmp" >&5 +printf "%s\n" "$ac_cv_prog_c_openmp" >&6; } + if test "$ac_cv_prog_c_openmp" != 'unsupported' && \ + test "$ac_cv_prog_c_openmp" != 'none needed'; then + OPENMP_CFLAGS="$ac_cv_prog_c_openmp" + fi + fi + + + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_F77+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_F77="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $F77" >&5 +printf "%s\n" "$F77" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_F77+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_F77="$ac_prog" + printf "%s\n" "$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_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_F77" >&5 +printf "%s\n" "$ac_ct_F77" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 77 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran 77" >&5 +printf %s "checking whether the compiler supports GNU Fortran 77... " >&6; } +if test ${ac_cv_f77_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_f77_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_f77_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+y} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $F77 accepts -g" >&5 +printf %s "checking whether $F77 accepts -g... " >&6; } +if test ${ac_cv_prog_f77_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_f77_try_compile "$LINENO" +then : + ac_cv_prog_f77_g=yes +else $as_nop + ac_cv_prog_f77_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_f77_g" >&5 +printf "%s\n" "$ac_cv_prog_f77_g" >&6; } +if test $ac_test_FFLAGS; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + G77=yes +else + G77= +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=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to get verbose linking output from $F77" >&5 +printf %s "checking how to get verbose linking output from $F77... " >&6; } +if test ${ac_cv_prog_f77_v+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_f77_try_compile "$LINENO" +then : + ac_cv_prog_f77_v= +# Try some options frequently used verbose output +for ac_verb in -v -verbose --verbose -V -\#\#\#; do + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF + +# Compile and link our simple test program by passing a flag (argument +# 1 to this macro) to the Fortran compiler in order to get +# "verbose" output that we can then parse for the Fortran linker +# flags. +ac_save_FFLAGS=$FFLAGS +FFLAGS="$FFLAGS $ac_verb" +eval "set x $ac_link" +shift +printf "%s\n" "$as_me:${as_lineno-$LINENO}: $*" >&5 +# gfortran 4.3 outputs lines setting COLLECT_GCC_OPTIONS, COMPILER_PATH, +# LIBRARY_PATH; skip all such settings. +ac_f77_v_output=`eval $ac_link 5>&1 2>&1 | + sed '/^Driving:/d; /^Configured with:/d; + '"/^[_$as_cr_Letters][_$as_cr_alnum]*=/d"` +printf "%s\n" "$ac_f77_v_output" >&5 +FFLAGS=$ac_save_FFLAGS + +rm -rf conftest* + +# On HP/UX there is a line like: "LPATH is: /foo:/bar:/baz" where +# /foo, /bar, and /baz are search directories for the Fortran linker. +# Here, we change these into -L/foo -L/bar -L/baz (and put it first): +ac_f77_v_output="`echo $ac_f77_v_output | + grep 'LPATH is:' | + sed 's|.*LPATH is\(: *[^ ]*\).*|\1|;s|: */| -L/|g'` $ac_f77_v_output" + +# FIXME: we keep getting bitten by quoted arguments; a more general fix +# that detects unbalanced quotes in FLIBS should be implemented +# and (ugh) tested at some point. +case $ac_f77_v_output in + # With xlf replace commas with spaces, + # and remove "-link" and closing parenthesis. + *xlfentry*) + ac_f77_v_output=`echo $ac_f77_v_output | + sed ' + s/,/ /g + s/ -link / /g + s/) *$// + ' + ` ;; + + # With Intel ifc, ignore the quoted -mGLOB_options_string stuff (quoted + # $LIBS confuse us, and the libraries appear later in the output anyway). + *mGLOB_options_string*) + ac_f77_v_output=`echo $ac_f77_v_output | sed 's/"-mGLOB[^"]*"/ /g'` ;; + + # Portland Group compiler has singly- or doubly-quoted -cmdline argument + # Singly-quoted arguments were reported for versions 5.2-4 and 6.0-4. + # Doubly-quoted arguments were reported for "PGF90/x86 Linux/x86 5.0-2". + *-cmdline\ * | *-ignore\ * | *-def\ *) + ac_f77_v_output=`echo $ac_f77_v_output | sed "\ + s/-cmdline *'[^']*'/ /g; s/-cmdline *\"[^\"]*\"/ /g + s/-ignore *'[^']*'/ /g; s/-ignore *\"[^\"]*\"/ /g + s/-def *'[^']*'/ /g; s/-def *\"[^\"]*\"/ /g"` ;; + + # If we are using fort77 (the f2c wrapper) then filter output and delete quotes. + *fort77*f2c*gcc*) + ac_f77_v_output=`echo "$ac_f77_v_output" | sed -n ' + /:[ ]\+Running[ ]\{1,\}"gcc"/{ + /"-c"/d + /[.]c"*/d + s/^.*"gcc"/"gcc"/ + s/"//gp + }'` ;; + + # If we are using Cray Fortran then delete quotes. + *cft90*) + ac_f77_v_output=`echo $ac_f77_v_output | sed 's/"//g'` ;; +esac + + + # look for -l* and *.a constructs in the output + for ac_arg in $ac_f77_v_output; do + case $ac_arg in + [\\/]*.a | ?:[\\/]*.a | -[lLRu]*) + ac_cv_prog_f77_v=$ac_verb + break 2 ;; + esac + done +done +if test -z "$ac_cv_prog_f77_v"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot determine how to obtain linking information from $F77" >&5 +printf "%s\n" "$as_me: WARNING: cannot determine how to obtain linking information from $F77" >&2;} +fi +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: compilation failed" >&5 +printf "%s\n" "$as_me: WARNING: compilation failed" >&2;} +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_f77_v" >&5 +printf "%s\n" "$ac_cv_prog_f77_v" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 77 libraries of $F77" >&5 +printf %s "checking for Fortran 77 libraries of $F77... " >&6; } +if test ${ac_cv_f77_libs+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$FLIBS" != "x"; then + ac_cv_f77_libs="$FLIBS" # Let the user override the test. +else + +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF + +# Compile and link our simple test program by passing a flag (argument +# 1 to this macro) to the Fortran compiler in order to get +# "verbose" output that we can then parse for the Fortran linker +# flags. +ac_save_FFLAGS=$FFLAGS +FFLAGS="$FFLAGS $ac_cv_prog_f77_v" +eval "set x $ac_link" +shift +printf "%s\n" "$as_me:${as_lineno-$LINENO}: $*" >&5 +# gfortran 4.3 outputs lines setting COLLECT_GCC_OPTIONS, COMPILER_PATH, +# LIBRARY_PATH; skip all such settings. +ac_f77_v_output=`eval $ac_link 5>&1 2>&1 | + sed '/^Driving:/d; /^Configured with:/d; + '"/^[_$as_cr_Letters][_$as_cr_alnum]*=/d"` +printf "%s\n" "$ac_f77_v_output" >&5 +FFLAGS=$ac_save_FFLAGS + +rm -rf conftest* + +# On HP/UX there is a line like: "LPATH is: /foo:/bar:/baz" where +# /foo, /bar, and /baz are search directories for the Fortran linker. +# Here, we change these into -L/foo -L/bar -L/baz (and put it first): +ac_f77_v_output="`echo $ac_f77_v_output | + grep 'LPATH is:' | + sed 's|.*LPATH is\(: *[^ ]*\).*|\1|;s|: */| -L/|g'` $ac_f77_v_output" + +# FIXME: we keep getting bitten by quoted arguments; a more general fix +# that detects unbalanced quotes in FLIBS should be implemented +# and (ugh) tested at some point. +case $ac_f77_v_output in + # With xlf replace commas with spaces, + # and remove "-link" and closing parenthesis. + *xlfentry*) + ac_f77_v_output=`echo $ac_f77_v_output | + sed ' + s/,/ /g + s/ -link / /g + s/) *$// + ' + ` ;; + + # With Intel ifc, ignore the quoted -mGLOB_options_string stuff (quoted + # $LIBS confuse us, and the libraries appear later in the output anyway). + *mGLOB_options_string*) + ac_f77_v_output=`echo $ac_f77_v_output | sed 's/"-mGLOB[^"]*"/ /g'` ;; + + # Portland Group compiler has singly- or doubly-quoted -cmdline argument + # Singly-quoted arguments were reported for versions 5.2-4 and 6.0-4. + # Doubly-quoted arguments were reported for "PGF90/x86 Linux/x86 5.0-2". + *-cmdline\ * | *-ignore\ * | *-def\ *) + ac_f77_v_output=`echo $ac_f77_v_output | sed "\ + s/-cmdline *'[^']*'/ /g; s/-cmdline *\"[^\"]*\"/ /g + s/-ignore *'[^']*'/ /g; s/-ignore *\"[^\"]*\"/ /g + s/-def *'[^']*'/ /g; s/-def *\"[^\"]*\"/ /g"` ;; + + # If we are using fort77 (the f2c wrapper) then filter output and delete quotes. + *fort77*f2c*gcc*) + ac_f77_v_output=`echo "$ac_f77_v_output" | sed -n ' + /:[ ]\+Running[ ]\{1,\}"gcc"/{ + /"-c"/d + /[.]c"*/d + s/^.*"gcc"/"gcc"/ + s/"//gp + }'` ;; + + # If we are using Cray Fortran then delete quotes. + *cft90*) + ac_f77_v_output=`echo $ac_f77_v_output | sed 's/"//g'` ;; +esac + + + +ac_cv_f77_libs= + +# Save positional arguments (if any) +ac_save_positional="$@" + +set X $ac_f77_v_output +while test $# != 1; do + shift + ac_arg=$1 + case $ac_arg in + [\\/]*.a | ?:[\\/]*.a) + ac_exists=false + for ac_i in $ac_cv_f77_libs; do + if test x"$ac_arg" = x"$ac_i"; then + ac_exists=true + break + fi + done + + if test x"$ac_exists" = xtrue +then : + +else $as_nop + ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" +fi + ;; + -bI:*) + ac_exists=false + for ac_i in $ac_cv_f77_libs; do + if test x"$ac_arg" = x"$ac_i"; then + ac_exists=true + break + fi + done + + if test x"$ac_exists" = xtrue +then : + +else $as_nop + if test "$ac_compiler_gnu" = yes; then + for ac_link_opt in $ac_arg; do + ac_cv_f77_libs="$ac_cv_f77_libs -Xlinker $ac_link_opt" + done +else + ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" +fi +fi + ;; + # Ignore these flags. + -lang* | -lcrt*.o | -lc | -lgcc* | -lSystem | -libmil | -little \ + |-LANG:=* | -LIST:* | -LNO:* | -link) + ;; + -lkernel32) + # Ignore this library only on Windows-like systems. + case $host_os in + cygwin* | msys* ) ;; + *) + ac_exists=false + for ac_i in $ac_cv_f77_libs; do + if test x"$ac_arg" = x"$ac_i"; then + ac_exists=true + break + fi + done + + if test x"$ac_exists" = xtrue +then : + +else $as_nop + ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" +fi + ;; + esac + ;; + -[LRuYz]) + # These flags, when seen by themselves, take an argument. + # We remove the space between option and argument and re-iterate + # unless we find an empty arg or a new option (starting with -) + case $2 in + "" | -*);; + *) + ac_arg="$ac_arg$2" + shift; shift + set X $ac_arg "$@" + ;; + esac + ;; + -YP,*) + for ac_j in `printf "%s\n" "$ac_arg" | sed -e 's/-YP,/-L/;s/:/ -L/g'`; do + ac_exists=false + for ac_i in $ac_cv_f77_libs; do + if test x"$ac_j" = x"$ac_i"; then + ac_exists=true + break + fi + done + + if test x"$ac_exists" = xtrue +then : + +else $as_nop + ac_arg="$ac_arg $ac_j" + ac_cv_f77_libs="$ac_cv_f77_libs $ac_j" +fi + done + ;; + -[lLR]*) + ac_exists=false + for ac_i in $ac_cv_f77_libs; do + if test x"$ac_arg" = x"$ac_i"; then + ac_exists=true + break + fi + done + + if test x"$ac_exists" = xtrue +then : + +else $as_nop + ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" +fi + ;; + -zallextract*| -zdefaultextract) + ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" + ;; + -mllvm) ${2+shift};; # Defend against 'clang -mllvm -loopopt=0'. + # Ignore everything else. + esac +done +# restore positional arguments +set X $ac_save_positional; shift + +# We only consider "LD_RUN_PATH" on Solaris systems. If this is seen, +# then we insist that the "run path" must be an absolute path (i.e. it +# must begin with a "/"). +case `(uname -sr) 2>/dev/null` in + "SunOS 5"*) + ac_ld_run_path=`printf "%s\n" "$ac_f77_v_output" | + sed -n 's,^.*LD_RUN_PATH *= *\(/[^ ]*\).*$,-R\1,p'` + test "x$ac_ld_run_path" != x && + if test "$ac_compiler_gnu" = yes; then + for ac_link_opt in $ac_ld_run_path; do + ac_cv_f77_libs="$ac_cv_f77_libs -Xlinker $ac_link_opt" + done +else + ac_cv_f77_libs="$ac_cv_f77_libs $ac_ld_run_path" +fi + ;; +esac +fi # test "x$[]_AC_LANG_PREFIX[]LIBS" = "x" + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_libs" >&5 +printf "%s\n" "$ac_cv_f77_libs" >&6; } +FLIBS="$ac_cv_f77_libs" + + +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=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dummy main to link with Fortran 77 libraries" >&5 +printf %s "checking for dummy main to link with Fortran 77 libraries... " >&6; } +if test ${ac_cv_f77_dummy_main+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_f77_dm_save_LIBS=$LIBS + LIBS="$LIBS $FLIBS" + ac_fortran_dm_var=F77_DUMMY_MAIN + 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 + + # First, try linking without a dummy main: + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_fortran_dummy_main=none +else $as_nop + ac_cv_fortran_dummy_main=unknown +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test $ac_cv_fortran_dummy_main = unknown; then + for ac_func in MAIN__ MAIN_ __main MAIN _MAIN __MAIN main_ main__ _main; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define $ac_fortran_dm_var $ac_func +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_fortran_dummy_main=$ac_func; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + done + fi + ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + ac_cv_f77_dummy_main=$ac_cv_fortran_dummy_main + rm -rf conftest* + LIBS=$ac_f77_dm_save_LIBS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_dummy_main" >&5 +printf "%s\n" "$ac_cv_f77_dummy_main" >&6; } +F77_DUMMY_MAIN=$ac_cv_f77_dummy_main +if test "$F77_DUMMY_MAIN" != unknown +then : + if test $F77_DUMMY_MAIN != none; then + +printf "%s\n" "#define F77_DUMMY_MAIN $F77_DUMMY_MAIN" >>confdefs.h + + if test "x$ac_cv_fc_dummy_main" = "x$ac_cv_f77_dummy_main"; then + +printf "%s\n" "#define FC_DUMMY_MAIN_EQ_F77 1" >>confdefs.h + + fi +fi +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "linking to Fortran libraries from C fails +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 + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 77 name-mangling scheme" >&5 +printf %s "checking for Fortran 77 name-mangling scheme... " >&6; } +if test ${ac_cv_f77_mangling+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + subroutine foobar() + return + end + subroutine foo_bar() + return + end +_ACEOF +if ac_fn_f77_try_compile "$LINENO" +then : + mv conftest.$ac_objext cfortran_test.$ac_objext + + ac_save_LIBS=$LIBS + LIBS="cfortran_test.$ac_objext $LIBS $FLIBS" + + 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_success=no + for ac_foobar in foobar FOOBAR; do + for ac_underscore in "" "_"; do + ac_func="$ac_foobar$ac_underscore" + 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. */ +char $ac_func (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_success=yes; break 2 +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + done + done + ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + if test "$ac_success" = "yes"; then + case $ac_foobar in + foobar) + ac_case=lower + ac_foo_bar=foo_bar + ;; + FOOBAR) + ac_case=upper + ac_foo_bar=FOO_BAR + ;; + esac + + 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_success_extra=no + for ac_extra in "" "_"; do + ac_func="$ac_foo_bar$ac_underscore$ac_extra" + 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. */ +char $ac_func (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_success_extra=yes; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + done + ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + if test "$ac_success_extra" = "yes"; then + ac_cv_f77_mangling="$ac_case case" + if test -z "$ac_underscore"; then + ac_cv_f77_mangling="$ac_cv_f77_mangling, no underscore" + else + ac_cv_f77_mangling="$ac_cv_f77_mangling, underscore" + fi + if test -z "$ac_extra"; then + ac_cv_f77_mangling="$ac_cv_f77_mangling, no extra underscore" + else + ac_cv_f77_mangling="$ac_cv_f77_mangling, extra underscore" + fi + else + ac_cv_f77_mangling="unknown" + fi + else + ac_cv_f77_mangling="unknown" + fi + + LIBS=$ac_save_LIBS + rm -rf conftest* + rm -f cfortran_test* +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compile a simple Fortran program +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_mangling" >&5 +printf "%s\n" "$ac_cv_f77_mangling" >&6; } + +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 + + + + + +ax_blas_ok=no + + +# Check whether --with-blas was given. +if test ${with_blas+y} +then : + withval=$with_blas; +fi + +case $with_blas in + yes | "") ;; + no) ax_blas_ok=disable ;; + -* | */* | *.a | *.so | *.so.* | *.dylib | *.dylib.* | *.o) + BLAS_LIBS="$with_blas" + ;; + *) BLAS_LIBS="-l$with_blas" ;; +esac + +# Get fortran linker names of BLAS functions to check for. +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +case $ac_cv_f77_mangling in + upper*) ac_val="SGEMM" ;; + lower*) ac_val="sgemm" ;; + *) ac_val="unknown" ;; +esac +case $ac_cv_f77_mangling in *," underscore"*) ac_val="$ac_val"_ ;; esac + +sgemm="$ac_val" + +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=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +case $ac_cv_f77_mangling in + upper*) ac_val="DGEMM" ;; + lower*) ac_val="dgemm" ;; + *) ac_val="unknown" ;; +esac +case $ac_cv_f77_mangling in *," underscore"*) ac_val="$ac_val"_ ;; esac + +dgemm="$ac_val" + +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 + + +ax_blas_save_LIBS="$LIBS" +LIBS="$LIBS $FLIBS" + +# First, check BLAS_LIBS environment variable +if test $ax_blas_ok = no; then +if test "x$BLAS_LIBS" != x; then + save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in $BLAS_LIBS" >&5 +printf %s "checking for $sgemm in $BLAS_LIBS... " >&6; } + 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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ax_blas_ok=yes +else $as_nop + BLAS_LIBS="" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_blas_ok" >&5 +printf "%s\n" "$ax_blas_ok" >&6; } + LIBS="$save_LIBS" +fi +fi + +# BLAS linked to by default? (happens on some supercomputers) +if test $ax_blas_ok = no; then + save_LIBS="$LIBS"; LIBS="$LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $sgemm is being linked in already" >&5 +printf %s "checking if $sgemm is being linked in already... " >&6; } + 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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ax_blas_ok=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_blas_ok" >&5 +printf "%s\n" "$ax_blas_ok" >&6; } + LIBS="$save_LIBS" +fi + +# BLAS in OpenBLAS library? (http://xianyi.github.com/OpenBLAS/) +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_openblas_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lopenblas" >&5 +printf %s "checking for $sgemm in -lopenblas... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lopenblas $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes + BLAS_LIBS="-lopenblas" +fi + +fi + +# BLAS in ATLAS library? (http://math-atlas.sourceforge.net/) +if test $ax_blas_ok = no; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ATL_xerbla in -latlas" >&5 +printf %s "checking for ATL_xerbla in -latlas... " >&6; } +if test ${ac_cv_lib_atlas_ATL_xerbla+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-latlas $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. */ +char ATL_xerbla (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return ATL_xerbla (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_atlas_ATL_xerbla=yes +else $as_nop + ac_cv_lib_atlas_ATL_xerbla=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_atlas_ATL_xerbla" >&5 +printf "%s\n" "$ac_cv_lib_atlas_ATL_xerbla" >&6; } +if test "x$ac_cv_lib_atlas_ATL_xerbla" = xyes +then : + as_ac_Lib=`printf "%s\n" "ac_cv_lib_f77blas_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lf77blas" >&5 +printf %s "checking for $sgemm in -lf77blas... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lf77blas -latlas $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cblas_dgemm in -lcblas" >&5 +printf %s "checking for cblas_dgemm in -lcblas... " >&6; } +if test ${ac_cv_lib_cblas_cblas_dgemm+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcblas -lf77blas -latlas $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. */ +char cblas_dgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return cblas_dgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_cblas_cblas_dgemm=yes +else $as_nop + ac_cv_lib_cblas_cblas_dgemm=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cblas_cblas_dgemm" >&5 +printf "%s\n" "$ac_cv_lib_cblas_cblas_dgemm" >&6; } +if test "x$ac_cv_lib_cblas_cblas_dgemm" = xyes +then : + ax_blas_ok=yes + BLAS_LIBS="-lcblas -lf77blas -latlas" +fi + +fi + +fi + +fi + +# BLAS in PhiPACK libraries? (requires generic BLAS lib, too) +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_blas_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lblas" >&5 +printf %s "checking for $sgemm in -lblas... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lblas $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + as_ac_Lib=`printf "%s\n" "ac_cv_lib_dgemm_$dgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $dgemm in -ldgemm" >&5 +printf %s "checking for $dgemm in -ldgemm... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldgemm -lblas $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. */ +char $dgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $dgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + as_ac_Lib=`printf "%s\n" "ac_cv_lib_sgemm_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lsgemm" >&5 +printf %s "checking for $sgemm in -lsgemm... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsgemm -lblas $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes; BLAS_LIBS="-lsgemm -ldgemm -lblas" +fi + +fi + +fi + +fi + +# BLAS in Intel MKL library? +if test $ax_blas_ok = no; then + # MKL for gfortran + if test x"$ac_cv_fc_compiler_gnu" = xyes; then + # 64 bit + if test $host_cpu = x86_64; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_mkl_gf_lp64_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lmkl_gf_lp64" >&5 +printf %s "checking for $sgemm in -lmkl_gf_lp64... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmkl_gf_lp64 -lmkl_gf_lp64 -lmkl_sequential -lmkl_core -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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes;BLAS_LIBS="-lmkl_gf_lp64 -lmkl_sequential -lmkl_core -lpthread" +fi + + # 32 bit + elif test $host_cpu = i686; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_mkl_gf_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lmkl_gf" >&5 +printf %s "checking for $sgemm in -lmkl_gf... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmkl_gf -lmkl_gf -lmkl_sequential -lmkl_core -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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes;BLAS_LIBS="-lmkl_gf -lmkl_sequential -lmkl_core -lpthread" +fi + + fi + # MKL for other compilers (Intel, PGI, ...?) + else + # 64-bit + if test $host_cpu = x86_64; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_mkl_intel_lp64_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lmkl_intel_lp64" >&5 +printf %s "checking for $sgemm in -lmkl_intel_lp64... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmkl_intel_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes;BLAS_LIBS="-lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread" +fi + + # 32-bit + elif test $host_cpu = i686; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_mkl_intel_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lmkl_intel" >&5 +printf %s "checking for $sgemm in -lmkl_intel... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmkl_intel -lmkl_intel -lmkl_sequential -lmkl_core -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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes;BLAS_LIBS="-lmkl_intel -lmkl_sequential -lmkl_core -lpthread" +fi + + fi + fi +fi +# Old versions of MKL +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_mkl_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lmkl" >&5 +printf %s "checking for $sgemm in -lmkl... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmkl -lguide -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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes;BLAS_LIBS="-lmkl -lguide -lpthread" +fi + +fi + +# BLAS in Apple vecLib library? +if test $ax_blas_ok = no; then + save_LIBS="$LIBS"; LIBS="-framework vecLib $LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -framework vecLib" >&5 +printf %s "checking for $sgemm in -framework vecLib... " >&6; } + 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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ax_blas_ok=yes;BLAS_LIBS="-framework vecLib" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_blas_ok" >&5 +printf "%s\n" "$ax_blas_ok" >&6; } + LIBS="$save_LIBS" +fi + +# BLAS in Alpha CXML library? +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_cxml_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lcxml" >&5 +printf %s "checking for $sgemm in -lcxml... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcxml $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes;BLAS_LIBS="-lcxml" +fi + +fi + +# BLAS in Alpha DXML library? (now called CXML, see above) +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_dxml_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -ldxml" >&5 +printf %s "checking for $sgemm in -ldxml... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldxml $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes;BLAS_LIBS="-ldxml" +fi + +fi + +# BLAS in Sun Performance library? +if test $ax_blas_ok = no; then + if test "x$GCC" != xyes; then # only works with Sun CC + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for acosp in -lsunmath" >&5 +printf %s "checking for acosp in -lsunmath... " >&6; } +if test ${ac_cv_lib_sunmath_acosp+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsunmath $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. */ +char acosp (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return acosp (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_sunmath_acosp=yes +else $as_nop + ac_cv_lib_sunmath_acosp=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sunmath_acosp" >&5 +printf "%s\n" "$ac_cv_lib_sunmath_acosp" >&6; } +if test "x$ac_cv_lib_sunmath_acosp" = xyes +then : + as_ac_Lib=`printf "%s\n" "ac_cv_lib_sunperf_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lsunperf" >&5 +printf %s "checking for $sgemm in -lsunperf... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsunperf -lsunmath $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + BLAS_LIBS="-xlic_lib=sunperf -lsunmath" + ax_blas_ok=yes +fi + +fi + + fi +fi + +# BLAS in SCSL library? (SGI/Cray Scientific Library) +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_scs_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lscs" >&5 +printf %s "checking for $sgemm in -lscs... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lscs $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes; BLAS_LIBS="-lscs" +fi + +fi + +# BLAS in SGIMATH library? +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_complib.sgimath_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lcomplib.sgimath" >&5 +printf %s "checking for $sgemm in -lcomplib.sgimath... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcomplib.sgimath $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes; BLAS_LIBS="-lcomplib.sgimath" +fi + +fi + +# BLAS in IBM ESSL library? (requires generic BLAS lib, too) +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_blas_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lblas" >&5 +printf %s "checking for $sgemm in -lblas... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lblas $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + as_ac_Lib=`printf "%s\n" "ac_cv_lib_essl_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lessl" >&5 +printf %s "checking for $sgemm in -lessl... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lessl -lblas $FLIBS $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes; BLAS_LIBS="-lessl -lblas" +fi + +fi + +fi + +# Generic BLAS library? +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_blas_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lblas" >&5 +printf %s "checking for $sgemm in -lblas... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lblas $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes; BLAS_LIBS="-lblas" +fi + +fi + + + +LIBS="$ax_blas_save_LIBS" + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$ax_blas_ok" = xyes; then + +printf "%s\n" "#define HAVE_BLAS 1" >>confdefs.h + + : +else + ax_blas_ok=no + +fi + + + +ax_lapack_ok=no + + +# Check whether --with-lapack was given. +if test ${with_lapack+y} +then : + withval=$with_lapack; +fi + +case $with_lapack in + yes | "") ;; + no) ax_lapack_ok=disable ;; + -* | */* | *.a | *.so | *.so.* | *.dylib | *.dylib.* | *.o) + LAPACK_LIBS="$with_lapack" + ;; + *) LAPACK_LIBS="-l$with_lapack" ;; +esac + +# Get fortran linker name of LAPACK function to check for. +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +case $ac_cv_f77_mangling in + upper*) ac_val="CHEEV" ;; + lower*) ac_val="cheev" ;; + *) ac_val="unknown" ;; +esac +case $ac_cv_f77_mangling in *," underscore"*) ac_val="$ac_val"_ ;; esac + +cheev="$ac_val" + +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 + + +# We cannot use LAPACK if BLAS is not found +if test "x$ax_blas_ok" != xyes; then + ax_lapack_ok=noblas + LAPACK_LIBS="" +fi + +# First, check LAPACK_LIBS environment variable +if test "x$LAPACK_LIBS" != x; then + save_LIBS="$LIBS"; LIBS="$LAPACK_LIBS $BLAS_LIBS $LIBS $FLIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $cheev in $LAPACK_LIBS" >&5 +printf %s "checking for $cheev in $LAPACK_LIBS... " >&6; } + 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. */ +char $cheev (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $cheev (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ax_lapack_ok=yes +else $as_nop + LAPACK_LIBS="" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_lapack_ok" >&5 +printf "%s\n" "$ax_lapack_ok" >&6; } + LIBS="$save_LIBS" + if test $ax_lapack_ok = no; then + LAPACK_LIBS="" + fi +fi + +# LAPACK linked to by default? (is sometimes included in BLAS lib) +if test $ax_lapack_ok = no; then + save_LIBS="$LIBS"; LIBS="$LIBS $BLAS_LIBS $FLIBS" + as_ac_var=`printf "%s\n" "ac_cv_func_$cheev" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$cheev" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes" +then : + ax_lapack_ok=yes +fi + + LIBS="$save_LIBS" +fi + +# Generic LAPACK library? +for lapack in lapack lapack_rs6k; do + if test $ax_lapack_ok = no; then + save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS" + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$lapack""_$cheev" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $cheev in -l$lapack" >&5 +printf %s "checking for $cheev in -l$lapack... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-l$lapack $FLIBS $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. */ +char $cheev (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $cheev (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_lapack_ok=yes; LAPACK_LIBS="-l$lapack" +fi + + LIBS="$save_LIBS" + fi +done + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$ax_lapack_ok" = xyes; then + +printf "%s\n" "#define HAVE_LAPACK 1" >>confdefs.h + + : +else + ax_lapack_ok=no + +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=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + + +# Check whether --enable-openmp was given. +if test ${enable_openmp+y} +then : + enableval=$enable_openmp; +fi + + OPENMP_CXXFLAGS= + if test "$enable_openmp" != no; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to support OpenMP" >&5 +printf %s "checking for $CXX option to support OpenMP... " >&6; } +if test ${ac_cv_prog_cxx_openmp+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_openmp='not found' + for ac_option in '' -fopenmp -xopenmp -openmp -mp -omp -qsmp=omp -homp \ + -Popenmp --openmp; do + + ac_save_CXXFLAGS=$CXXFLAGS + CXXFLAGS="$CXXFLAGS $ac_option" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef _OPENMP +#error "OpenMP not supported" +#endif +#include +int main (void) { return omp_get_num_threads (); } + +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef _OPENMP +#error "OpenMP not supported" +#endif +#include +int main (void) { return omp_get_num_threads (); } + +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_prog_cxx_openmp=$ac_option +else $as_nop + ac_cv_prog_cxx_openmp='unsupported' +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + CXXFLAGS=$ac_save_CXXFLAGS + + if test "$ac_cv_prog_cxx_openmp" != 'not found'; then + break + fi + done + if test "$ac_cv_prog_cxx_openmp" = 'not found'; then + ac_cv_prog_cxx_openmp='unsupported' + elif test "$ac_cv_prog_cxx_openmp" = ''; then + ac_cv_prog_cxx_openmp='none needed' + fi + rm -f penmp mp +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_openmp" >&5 +printf "%s\n" "$ac_cv_prog_cxx_openmp" >&6; } + if test "$ac_cv_prog_cxx_openmp" != 'unsupported' && \ + test "$ac_cv_prog_cxx_openmp" != 'none needed'; then + OPENMP_CXXFLAGS="$ac_cv_prog_cxx_openmp" + fi + fi + + + + +dnf + +ax_lapack_ok=no + + +# Check whether --with-lapack was given. +if test ${with_lapack+y} +then : + withval=$with_lapack; +fi + +case $with_lapack in + yes | "") ;; + no) ax_lapack_ok=disable ;; + -* | */* | *.a | *.so | *.so.* | *.dylib | *.dylib.* | *.o) + LAPACK_LIBS="$with_lapack" + ;; + *) LAPACK_LIBS="-l$with_lapack" ;; +esac + +# Get fortran linker name of LAPACK function to check for. +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +case $ac_cv_f77_mangling in + upper*) ac_val="CHEEV" ;; + lower*) ac_val="cheev" ;; + *) ac_val="unknown" ;; +esac +case $ac_cv_f77_mangling in *," underscore"*) ac_val="$ac_val"_ ;; esac + +cheev="$ac_val" + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +# We cannot use LAPACK if BLAS is not found +if test "x$ax_blas_ok" != xyes; then + ax_lapack_ok=noblas + LAPACK_LIBS="" +fi + +# First, check LAPACK_LIBS environment variable +if test "x$LAPACK_LIBS" != x; then + save_LIBS="$LIBS"; LIBS="$LAPACK_LIBS $BLAS_LIBS $LIBS $FLIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $cheev in $LAPACK_LIBS" >&5 +printf %s "checking for $cheev in $LAPACK_LIBS... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int $cheev (); +} +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return conftest::$cheev (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ax_lapack_ok=yes +else $as_nop + LAPACK_LIBS="" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_lapack_ok" >&5 +printf "%s\n" "$ax_lapack_ok" >&6; } + LIBS="$save_LIBS" + if test $ax_lapack_ok = no; then + LAPACK_LIBS="" + fi +fi + +# LAPACK linked to by default? (is sometimes included in BLAS lib) +if test $ax_lapack_ok = no; then + save_LIBS="$LIBS"; LIBS="$LIBS $BLAS_LIBS $FLIBS" + as_ac_var=`printf "%s\n" "ac_cv_func_$cheev" | $as_tr_sh` +ac_fn_cxx_check_func "$LINENO" "$cheev" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes" +then : + ax_lapack_ok=yes +fi + + LIBS="$save_LIBS" +fi + +# Generic LAPACK library? +for lapack in lapack lapack_rs6k; do + if test $ax_lapack_ok = no; then + save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS" + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$lapack""_$cheev" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $cheev in -l$lapack" >&5 +printf %s "checking for $cheev in -l$lapack... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-l$lapack $FLIBS $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int $cheev (); +} +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return conftest::$cheev (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_lapack_ok=yes; LAPACK_LIBS="-l$lapack" +fi + + LIBS="$save_LIBS" + fi +done + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$ax_lapack_ok" = xyes; then + +printf "%s\n" "#define HAVE_LAPACK 1" >>confdefs.h + + : +else + ax_lapack_ok=no + +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + + +# Check whether --enable-openmp was given. +if test ${enable_openmp+y} +then : + enableval=$enable_openmp; +fi + + OPENMP_FCFLAGS= + if test "$enable_openmp" != no; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $FC option to support OpenMP" >&5 +printf %s "checking for $FC option to support OpenMP... " >&6; } +if test ${ac_cv_prog_fc_openmp+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_fc_openmp='not found' + for ac_option in '' -fopenmp -xopenmp -openmp -mp -omp -qsmp=omp -homp \ + -Popenmp --openmp; do + + ac_save_FCFLAGS=$FCFLAGS + FCFLAGS="$FCFLAGS $ac_option" + cat > conftest.$ac_ext <<_ACEOF + + program main + implicit none +!$ integer tid + tid = 42 + call omp_set_num_threads(2) + end + +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + cat > conftest.$ac_ext <<_ACEOF + + program main + implicit none +!$ integer tid + tid = 42 + call omp_set_num_threads(2) + end + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_prog_fc_openmp=$ac_option +else $as_nop + ac_cv_prog_fc_openmp='unsupported' +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + FCFLAGS=$ac_save_FCFLAGS + + if test "$ac_cv_prog_fc_openmp" != 'not found'; then + break + fi + done + if test "$ac_cv_prog_fc_openmp" = 'not found'; then + ac_cv_prog_fc_openmp='unsupported' + elif test "$ac_cv_prog_fc_openmp" = ''; then + ac_cv_prog_fc_openmp='none needed' + fi + rm -f penmp mp +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_openmp" >&5 +printf "%s\n" "$ac_cv_prog_fc_openmp" >&6; } + if test "$ac_cv_prog_fc_openmp" != 'unsupported' && \ + test "$ac_cv_prog_fc_openmp" != 'none needed'; then + OPENMP_FCFLAGS="$ac_cv_prog_fc_openmp" + fi + fi + + + + + + +ax_lapack_ok=no + + +# Check whether --with-lapack was given. +if test ${with_lapack+y} +then : + withval=$with_lapack; +fi + +case $with_lapack in + yes | "") ;; + no) ax_lapack_ok=disable ;; + -* | */* | *.a | *.so | *.so.* | *.dylib | *.dylib.* | *.o) + LAPACK_LIBS="$with_lapack" + ;; + *) LAPACK_LIBS="-l$with_lapack" ;; +esac + +# Get fortran linker name of LAPACK function to check for. +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +case $ac_cv_f77_mangling in + upper*) ac_val="CHEEV" ;; + lower*) ac_val="cheev" ;; + *) ac_val="unknown" ;; +esac +case $ac_cv_f77_mangling in *," underscore"*) ac_val="$ac_val"_ ;; esac + +cheev="$ac_val" + +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + +# We cannot use LAPACK if BLAS is not found +if test "x$ax_blas_ok" != xyes; then + ax_lapack_ok=noblas + LAPACK_LIBS="" +fi + +# First, check LAPACK_LIBS environment variable +if test "x$LAPACK_LIBS" != x; then + save_LIBS="$LIBS"; LIBS="$LAPACK_LIBS $BLAS_LIBS $LIBS $FLIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $cheev in $LAPACK_LIBS" >&5 +printf %s "checking for $cheev in $LAPACK_LIBS... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call $cheev + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ax_lapack_ok=yes +else $as_nop + LAPACK_LIBS="" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_lapack_ok" >&5 +printf "%s\n" "$ax_lapack_ok" >&6; } + LIBS="$save_LIBS" + if test $ax_lapack_ok = no; then + LAPACK_LIBS="" + fi +fi + +# LAPACK linked to by default? (is sometimes included in BLAS lib) +if test $ax_lapack_ok = no; then + save_LIBS="$LIBS"; LIBS="$LIBS $BLAS_LIBS $FLIBS" + as_ac_var=`printf "%s\n" "ac_cv_func_$cheev" | $as_tr_sh` +ac_fn_fc_check_func "$LINENO" "$cheev" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes" +then : + ax_lapack_ok=yes +fi + + LIBS="$save_LIBS" +fi + +# Generic LAPACK library? +for lapack in lapack lapack_rs6k; do + if test $ax_lapack_ok = no; then + save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS" + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$lapack""_$cheev" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $cheev in -l$lapack" >&5 +printf %s "checking for $cheev in -l$lapack... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-l$lapack $FLIBS $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call $cheev + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_lapack_ok=yes; LAPACK_LIBS="-l$lapack" +fi + + LIBS="$save_LIBS" + fi +done + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$ax_lapack_ok" = xyes; then + +printf "%s\n" "#define HAVE_LAPACK 1" >>confdefs.h + + : +else + ax_lapack_ok=no + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +printf %s "checking for a sed that does not truncate output... " >&6; } +if test ${ac_cv_path_SED+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '' >> "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +printf "%s\n" "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AWK+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_AWK="$ac_prog" + printf "%s\n" "$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 +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +printf "%s\n" "$AWK" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$AWK" && break +done + +ac_header= ac_cache= +for ac_item in $ac_header_c_list +do + if test $ac_cache; then + ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" + if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then + printf "%s\n" "#define $ac_item 1" >> confdefs.h + fi + ac_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item + fi +done + + + + + + + + +if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes +then : + +printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h + +fi + + + + + + +if test "" = "" ; then + : # Recognized value +elif test "" = "serial" ; then + : # Recognized value +elif test "" = "parallel"; then + : # Recognized value +else + as_fn_error $? " +Unrecognized value for AX_LIB_HDF5 within configure.ac. +If supplied, argument 1 must be either 'serial' or 'parallel'. +" "$LINENO" 5 +fi + + +# Check whether --with-hdf5 was given. +if test ${with_hdf5+y} +then : + withval=$with_hdf5; if test "$withval" = "no"; then + with_hdf5="no" + elif test "$withval" = "yes"; then + with_hdf5="yes" + else + with_hdf5="yes" + H5CC="$withval" + fi +else $as_nop + with_hdf5="yes" + +fi + + +HDF5_CC="" +HDF5_VERSION="" +HDF5_CFLAGS="" +HDF5_CPPFLAGS="" +HDF5_LDFLAGS="" +HDF5_LIBS="" +HDF5_FC="" +HDF5_FFLAGS="" +HDF5_FLIBS="" +HDF5_TYPE="" + +if test "$with_hdf5" = "yes"; then + if test -z "$H5CC"; then + for ac_prog in h5cc h5pcc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_H5CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $H5CC in + [\\/]* | ?:[\\/]*) + ac_cv_path_H5CC="$H5CC" # 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_H5CC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +H5CC=$ac_cv_path_H5CC +if test -n "$H5CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $H5CC" >&5 +printf "%s\n" "$H5CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$H5CC" && break +done + + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Using provided HDF5 C wrapper" >&5 +printf %s "checking Using provided HDF5 C wrapper... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $H5CC" >&5 +printf "%s\n" "$H5CC" >&6; } + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for HDF5 type" >&5 +printf %s "checking for HDF5 type... " >&6; } + case $H5CC in #( + *h5pcc) : + HDF5_TYPE=parallel ;; #( + *h5cc) : + HDF5_TYPE=serial ;; #( + *) : + HDF5_TYPE=neither ;; +esac + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $HDF5_TYPE" >&5 +printf "%s\n" "$HDF5_TYPE" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for HDF5 libraries" >&5 +printf %s "checking for HDF5 libraries... " >&6; } + if test ! -f "$H5CC" || test ! -x "$H5CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: +Unable to locate HDF5 compilation helper scripts 'h5cc' or 'h5pcc'. +Please specify --with-hdf5= as the full path to h5cc or h5pcc. +HDF5 support is being disabled (equivalent to --with-hdf5=no). +" >&5 +printf "%s\n" "$as_me: WARNING: +Unable to locate HDF5 compilation helper scripts 'h5cc' or 'h5pcc'. +Please specify --with-hdf5= as the full path to h5cc or h5pcc. +HDF5 support is being disabled (equivalent to --with-hdf5=no). +" >&2;} + with_hdf5="no" + with_hdf5_fortran="no" + else + HDF5_SHOW=$(eval $H5CC -show) + + HDF5_CC=$(eval $H5CC -show | head -n 1 | $AWK '{print $1}') + if test "$HDF5_CC" = "ccache"; then + HDF5_CC=$(eval $H5CC -show | head -n 1 | $AWK '{print $2}') + fi + + + HDF5_VERSION=$(eval $H5CC -showconfig | $GREP 'HDF5 Version:' \ + | $AWK '{print $3}') + + HDF5_tmp_flags=$(eval $H5CC -showconfig \ + | $GREP 'FLAGS\|Extra libraries:' \ + | $AWK -F: '{printf("%s "), $2}' ) + + HDF5_tmp_inst=$(eval $H5CC -showconfig \ + | $GREP 'Installation point:' \ + | $AWK '{print $NF}' ) + + HDF5_CPPFLAGS="-I${HDF5_tmp_inst}/include" + + for arg in $HDF5_SHOW $HDF5_tmp_flags ; do + case "$arg" in + -I*) echo $HDF5_CPPFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ + || HDF5_CPPFLAGS="$HDF5_CPPFLAGS $arg" + ;; + -L*) echo $HDF5_LDFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ + || HDF5_LDFLAGS="$HDF5_LDFLAGS $arg" + ;; + -l*) echo $HDF5_LIBS | $GREP -e "$arg" 2>&1 >/dev/null \ + || HDF5_LIBS="$HDF5_LIBS $arg" + ;; + esac + done + + HDF5_LIBS="-lhdf5 $HDF5_LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (version $HDF5_VERSION)" >&5 +printf "%s\n" "yes (version $HDF5_VERSION)" >&6; } + + 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 + + ax_lib_hdf5_save_CC=$CC + ax_lib_hdf5_save_CPPFLAGS=$CPPFLAGS + ax_lib_hdf5_save_LIBS=$LIBS + ax_lib_hdf5_save_LDFLAGS=$LDFLAGS + CC=$HDF5_CC + CPPFLAGS=$HDF5_CPPFLAGS + LIBS=$HDF5_LIBS + LDFLAGS=$HDF5_LDFLAGS + ac_fn_c_check_header_compile "$LINENO" "hdf5.h" "ac_cv_header_hdf5_h" "$ac_includes_default" +if test "x$ac_cv_header_hdf5_h" = xyes +then : + ac_cv_hadf5_h=yes +else $as_nop + ac_cv_hadf5_h=no +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for H5Fcreate in -lhdf5" >&5 +printf %s "checking for H5Fcreate in -lhdf5... " >&6; } +if test ${ac_cv_lib_hdf5_H5Fcreate+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lhdf5 $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. */ +char H5Fcreate (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return H5Fcreate (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_hdf5_H5Fcreate=yes +else $as_nop + ac_cv_lib_hdf5_H5Fcreate=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hdf5_H5Fcreate" >&5 +printf "%s\n" "$ac_cv_lib_hdf5_H5Fcreate" >&6; } +if test "x$ac_cv_lib_hdf5_H5Fcreate" = xyes +then : + ac_cv_libhdf5=yes +else $as_nop + ac_cv_libhdf5=no +fi + + if test "$ac_cv_hadf5_h" = "no" && test "$ac_cv_libhdf5" = "no" ; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unable to compile HDF5 test program" >&5 +printf "%s\n" "$as_me: WARNING: Unable to compile HDF5 test program" >&2;} + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lhdf5_hl" >&5 +printf %s "checking for main in -lhdf5_hl... " >&6; } +if test ${ac_cv_lib_hdf5_hl_main+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lhdf5_hl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_hdf5_hl_main=yes +else $as_nop + ac_cv_lib_hdf5_hl_main=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hdf5_hl_main" >&5 +printf "%s\n" "$ac_cv_lib_hdf5_hl_main" >&6; } +if test "x$ac_cv_lib_hdf5_hl_main" = xyes +then : + HDF5_LIBS="-lhdf5_hl $HDF5_LIBS" +fi +ac_cv_lib_hdf5_hl=ac_cv_lib_hdf5_hl_main + + + CC=$ax_lib_hdf5_save_CC + CPPFLAGS=$ax_lib_hdf5_save_CPPFLAGS + LIBS=$ax_lib_hdf5_save_LIBS + LDFLAGS=$ax_lib_hdf5_save_LDFLAGS + ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for matching HDF5 Fortran wrapper" >&5 +printf %s "checking for matching HDF5 Fortran wrapper... " >&6; } + H5FC=$(eval echo -n $H5CC | $SED -n 's/cc$/fc/p') + if test -x "$H5FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $H5FC" >&5 +printf "%s\n" "$H5FC" >&6; } + with_hdf5_fortran="yes" + + + for arg in `$H5FC -show` + do + case "$arg" in #( + -I*) echo $HDF5_FFLAGS | $GREP -e "$arg" >/dev/null \ + || HDF5_FFLAGS="$HDF5_FFLAGS $arg" + ;;#( + -L*) echo $HDF5_FFLAGS | $GREP -e "$arg" >/dev/null \ + || HDF5_FFLAGS="$HDF5_FFLAGS $arg" + echo $HDF5_FFLAGS | $GREP -e "-I${arg#-L}" >/dev/null \ + || HDF5_FFLAGS="$HDF5_FFLAGS -I${arg#-L}" + ;; + esac + done + + for arg in $HDF5_LIBS + do + case "$arg" in #( + -lhdf5_hl) HDF5_FLIBS="$HDF5_FLIBS -lhdf5hl_fortran $arg" + ;; #( + -lhdf5) HDF5_FLIBS="$HDF5_FLIBS -lhdf5_fortran $arg" + ;; #( + *) HDF5_FLIBS="$HDF5_FLIBS $arg" + ;; + esac + done + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + with_hdf5_fortran="no" + fi + + + + + + + + + + + + +printf "%s\n" "#define HAVE_HDF5 1" >>confdefs.h + + 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 + + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-mesa_r15140 $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-mesa_r15140 config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +AWK='$AWK' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_mesa_r15140/support/configure.ac b/src/amuse_mesa_r15140/support/configure.ac new file mode 100644 index 0000000000..936a5451cd --- /dev/null +++ b/src/amuse_mesa_r15140/support/configure.ac @@ -0,0 +1,78 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-mesa_r15140], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_CC() + +AC_PROG_CXX() + +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + +# Find bison/yacc for building makedepf90 with +AC_PROG_YACC() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + +# Find something to download things with +AMUSE_DOWNLOAD() + +# Find AMUSE libraries +AMUSE_LIB_FORSOCKETS() + +# Find external dependencies +AC_LANG_PUSH([C]) + +AX_MPI() + +AC_OPENMP() +AC_SUBST(OPENMP_CFLAGS) + +AX_LAPACK() + +AC_LANG_POP([C]) + + +AC_LANG_PUSH([C++]) + +AX_MPI() + +AC_OPENMP() +AC_SUBST(OPENMP_CFLAGS) + +dnf AX_LAPACK() + +AC_LANG_POP([C++]) + + +AC_LANG_PUSH([Fortran]) + +AX_MPI() + +AC_OPENMP() +AC_SUBST(OPENMP_FCFLAGS) + +AX_LAPACK() +AX_LIB_HDF5() + +AC_LANG_POP([Fortran]) + + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_mesa_r15140/support/shared b/src/amuse_mesa_r15140/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_mesa_r15140/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_mesa_15140.py b/src/amuse_mesa_r15140/tests/test_mesa_15140.py similarity index 98% rename from src/amuse/test/suite/codes_tests/test_mesa_15140.py rename to src/amuse_mesa_r15140/tests/test_mesa_15140.py index eb07c96796..f2e277dc63 100644 --- a/src/amuse/test/suite/codes_tests/test_mesa_15140.py +++ b/src/amuse_mesa_r15140/tests/test_mesa_15140.py @@ -1,10 +1,10 @@ -from amuse.test.amusetest import TestWithMPI, get_path_to_results +from amuse.support.testing.amusetest import TestWithMPI, get_path_to_results import sys import os.path from subprocess import PIPE, Popen import numpy -from amuse.community.mesa_r15140.interface import MESA, MESAInterface +from amuse_mesa_r15140.interface import MESA, MesaInterface from amuse.support.exceptions import AmuseException from amuse.units import units @@ -13,6 +13,12 @@ from amuse.ext.spherical_model import EnclosedMassInterpolator +# At least on my 8 core / 16 thread laptop, these tests run extremely slowly (hours +# rather than minutes) when run with the default 16 OpenMP threads. Setting the +# OMP_NUM_THREADS environment variable to 7 works much better. This runs one OpenMP +# thread per core for MESA, and leaves one core for pytest running this file. + + def set_mesa_paths_instance(instance): instance.set_MESA_paths( instance.default_path_to_inlist, @@ -24,11 +30,11 @@ def set_mesa_paths_instance(instance): ) -class TestMESAInterface(TestWithMPI): +class TestMesaInterface(TestWithMPI): def test1(self): print("Testing initialization of the interface...") - instance = self.new_instance_of_an_optional_code(MESAInterface) + instance = self.new_instance_of_an_optional_code(MesaInterface) if instance is None: print("MESA was not built. Skipping test.") return @@ -46,7 +52,7 @@ def test2(self): "The first time this test will take quite some time" " to generate new starting models." ) - instance = self.new_instance_of_an_optional_code(MESAInterface) + instance = self.new_instance_of_an_optional_code(MesaInterface) if instance is None: print("MESA was not built. Skipping test.") return @@ -66,7 +72,7 @@ def test2(self): def test3(self): print("Testing basic operations: new_particle...") - instance = self.new_instance_of_an_optional_code(MESAInterface) + instance = self.new_instance_of_an_optional_code(MesaInterface) if instance is None: print("MESA was not built. Skipping test.") return @@ -89,7 +95,7 @@ def test3(self): def test4(self): print("Testing basic operations: evolve...") - instance = self.new_instance_of_an_optional_code(MESAInterface) + instance = self.new_instance_of_an_optional_code(MesaInterface) if instance is None: print("MESA was not built. Skipping test.") return @@ -143,7 +149,7 @@ def slowtest5(self): "If the required starting models do not exist, this test will " "take quite some time to generate them." ) - instance = self.new_instance_of_an_optional_code(MESAInterface) + instance = self.new_instance_of_an_optional_code(MesaInterface) if instance is None: print("MESA was not built. Skipping test.") return @@ -168,7 +174,7 @@ def slowtest5(self): def test6(self): print("Testing MESA stop conditions...") - instance = self.new_instance_of_an_optional_code(MESAInterface) + instance = self.new_instance_of_an_optional_code(MesaInterface) if instance is None: print("MESA was not built. Skipping test.") return @@ -195,7 +201,7 @@ def test6(self): def test7(self): print("Testing MESA parameters...") - instance = self.new_instance_of_an_optional_code(MESAInterface) + instance = self.new_instance_of_an_optional_code(MesaInterface) if instance is None: print("MESA was not built. Skipping test.") return @@ -223,7 +229,7 @@ def test7(self): def test8(self): print("Testing MESA wind parameters...") - instance = self.new_instance_of_an_optional_code(MESAInterface) + instance = self.new_instance_of_an_optional_code(MesaInterface) if instance is None: print("MESA was not built. Skipping test.") return diff --git a/src/amuse_mesa_r2208/.gitignore b/src/amuse_mesa_r2208/.gitignore new file mode 100644 index 0000000000..6cd138c2ec --- /dev/null +++ b/src/amuse_mesa_r2208/.gitignore @@ -0,0 +1,4 @@ +mesa_r2208.zip +src +data/data/** +data/input/star_data/starting_models/zams_z20m3.data diff --git a/src/amuse_mesa_r2208/Makefile b/src/amuse_mesa_r2208/Makefile new file mode 100644 index 0000000000..06c7e8289f --- /dev/null +++ b/src/amuse_mesa_r2208/Makefile @@ -0,0 +1,118 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Downloading the code +mesa_r2208.zip: + $(DOWNLOAD) https://zenodo.org/record/2603017/files/mesa-r2208.zip >$@ + +PATCHES := $(file < patches/series) +PATCHES := $(patsubst %,%,$(PATCHES)) # replace newlines with spaces + +src/mesa: mesa_r2208.zip + mkdir -p src + unzip -q $< + mv mesa-r2208 src/mesa + cd src/mesa/utils && tar -xzf ndiff-2.00.tar.gz + for p in $(PATCHES) ; do patch -p1 $@ + +data/data: | src/mesa + rm -rf data/data + cp -r src/mesa/data data/ + + +# Which packages contain which workers? +amuse-mesa-r2208_contains: mesa_r2208_worker data/data $(ZAMS_DATA) + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + -cd src/mesa && ./clean + rm -rf *.o *.mod *worker* data/data $(ZAMS_DATA) + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_mesa_r2208/__init__.py b/src/amuse_mesa_r2208/__init__.py new file mode 100644 index 0000000000..5409c011b3 --- /dev/null +++ b/src/amuse_mesa_r2208/__init__.py @@ -0,0 +1,8 @@ +""" +The Astrophysical Multipurpose Software Environment + +AMUSE contains a lot of functionality to execute astrophysical experiments. +Look into the interface packages for the interfacing to physical model simulation software. +You can also use AMUSE to convert common data formats. + +""" diff --git a/src/amuse/community/mesa_r2208/data/README.txt b/src/amuse_mesa_r2208/data/README.txt similarity index 100% rename from src/amuse/community/mesa_r2208/data/README.txt rename to src/amuse_mesa_r2208/data/README.txt diff --git a/src/amuse/community/mesa_r2208/data/input/AMUSE_inlist b/src/amuse_mesa_r2208/data/input/AMUSE_inlist similarity index 100% rename from src/amuse/community/mesa_r2208/data/input/AMUSE_inlist rename to src/amuse_mesa_r2208/data/input/AMUSE_inlist diff --git a/src/amuse/community/mesa_r2208/install b/src/amuse_mesa_r2208/install similarity index 100% rename from src/amuse/community/mesa_r2208/install rename to src/amuse_mesa_r2208/install diff --git a/src/amuse_mesa_r2208/interface.f90 b/src/amuse_mesa_r2208/interface.f90 new file mode 100644 index 0000000000..034ae4a182 --- /dev/null +++ b/src/amuse_mesa_r2208/interface.f90 @@ -0,0 +1,2724 @@ + module amuse_support + implicit none + character (len=4096) :: AMUSE_inlist_path + character (len=4096) :: AMUSE_mesa_data_dir + character (len=4096) :: AMUSE_local_data_dir ! Used for output starting_models + character (len=4096) :: AMUSE_zams_filename = 'zams_z20m3.data' + double precision :: AMUSE_metallicity = 0.02d0 + double precision :: AMUSE_dmass = 0.1d0 + double precision :: AMUSE_mlo = -1.0d0 + double precision :: AMUSE_mhi = 2.0d0 + double precision :: AMUSE_max_age_stop_condition = 1.0d36 + double precision :: AMUSE_min_timestep_stop_condition = 1.0d-6 + integer :: AMUSE_max_iter_stop_condition = -1111 + double precision :: AMUSE_mixing_length_ratio = 2.0d0 + double precision :: AMUSE_semi_convection_efficiency = 0.0d0 + integer :: AMUSE_RGB_wind_scheme = 1 + integer :: AMUSE_AGB_wind_scheme = 1 + double precision :: AMUSE_reimers_wind_efficiency = 0.5d0 + double precision :: AMUSE_blocker_wind_efficiency = 0.1d0 + double precision :: AMUSE_de_jager_wind_efficiency = 0.8d0 + double precision :: AMUSE_dutch_wind_efficiency = 0.8d0 + double precision :: AMUSE_overshoot_f_above_nonburn = 0 + double precision :: AMUSE_overshoot_f_below_nonburn = 0 + double precision :: AMUSE_overshoot_f_above_burn_h = 0 + double precision :: AMUSE_overshoot_f_below_burn_h = 0 + double precision :: AMUSE_overshoot_f_above_burn_he = 0 + double precision :: AMUSE_overshoot_f_below_burn_he = 0 + double precision :: AMUSE_overshoot_f_above_burn_z = 0 + double precision :: AMUSE_overshoot_f_below_burn_z = 0 + + double precision, allocatable :: target_times(:) + integer :: number_of_particles ! Dead or alive... + + logical :: new_model_defined = .false. + integer :: id_new_model + + logical :: debugging = .false. + logical :: do_stabilize_new_stellar_model = .true. + + contains + logical function failed(str, ierr) + character (len=*), intent(in) :: str + integer, intent(in) :: ierr + failed = (ierr /= 0) + if (failed) write(*, *) trim(str) // ' ierr', ierr + end function failed + logical function evolve_failed(str, ierr, return_var, errorcode) + character (len=*), intent(in) :: str + integer, intent(in) :: ierr, errorcode + integer, intent(out) :: return_var + evolve_failed = (ierr /= 0) + if (evolve_failed) then + write(*, *) trim(str) // ' ierr', ierr + return_var = errorcode + endif + end function evolve_failed + +! Finds the directory the given zams file is in, or the local data dir +! it should be created in if it could not be found. + subroutine find_zams_dir(zams_filename, data_dir) + implicit none + character (len=*), intent(in) :: zams_filename + character (len=4096), intent(out) :: data_dir + + data_dir = trim(AMUSE_mesa_data_dir) // '/star_data/starting_models/' + if (.not. file_exists(trim(data_dir) // trim(zams_filename))) then + data_dir = trim(AMUSE_local_data_dir) // '/star_data/starting_models/' + endif + end subroutine find_zams_dir + +! Determine the name of the zams file for a given metallicity. + subroutine zams_filename_for_metallicity(metallicity, filename) + implicit none + double precision, intent(in) :: metallicity + character (len=*), intent(out) :: filename + + character (len=1024) :: metallicity_str + integer :: metallicity_exp, metallicity_factor + + if (metallicity .eq. 0.0d0) then + filename = 'zams_z0m0.data' + else + metallicity_exp = floor(log10(AMUSE_metallicity))-1 + metallicity_factor = floor(0.5 + AMUSE_metallicity/(1.0d1**metallicity_exp)) + write(metallicity_str,'(I0, A, I0)') metallicity_factor, "m", & + -metallicity_exp + filename = 'zams_z' // trim(metallicity_str) // '.data' + write (*, *) 'zams filename = ', trim(filename) + endif + end subroutine zams_filename_for_metallicity + +! Determine if the given file exists and can be opened. + logical function file_exists(filename) + use utils_lib, only: alloc_iounit, free_iounit + + implicit none + character (len=*), intent(in) :: filename + + integer :: ierr, iounit + + iounit = alloc_iounit(ierr) + if (failed('alloc_iounit', ierr)) return + + open(iounit, file=trim(filename), action='read', status='old', iostat=ierr) + file_exists = (ierr == 0) + + if (ierr == 0) then + close(iounit) + endif + call free_iounit(iounit) + end function file_exists + + end module amuse_support + +! Set the paths to the inlist and the data directory + integer function set_MESA_paths(AMUSE_inlist_path_in, & + AMUSE_mesa_data_dir_in, AMUSE_local_data_dir_in) + use amuse_support, only: AMUSE_inlist_path, & + AMUSE_mesa_data_dir, AMUSE_local_data_dir + implicit none + character(*), intent(in) :: AMUSE_inlist_path_in, & + AMUSE_mesa_data_dir_in, AMUSE_local_data_dir_in + AMUSE_inlist_path = AMUSE_inlist_path_in + AMUSE_mesa_data_dir = AMUSE_mesa_data_dir_in + AMUSE_local_data_dir = AMUSE_local_data_dir_in + set_MESA_paths = 0 + end function set_MESA_paths + +! Initialize the stellar evolution code + integer function initialize_code() + use amuse_support, only: failed, AMUSE_mesa_data_dir, AMUSE_inlist_path + use amuse_support, only: AMUSE_metallicity + use run_star_support + use ctrls_io, only: set_default_controls + implicit none + integer :: ierr, set_metallicity + initialize_code = -1 + !call set_default_controls + call do_read_star_job(AMUSE_inlist_path, ierr) + if (failed('do_read_star_job', ierr)) return + ! Replace value of mesa_data_dir just read, with supplied path. + mesa_data_dir = AMUSE_mesa_data_dir + call star_init(mesa_data_dir, kappa_file_prefix, & + net_reaction_filename, rates_dir, ppn_rate_numbers_fname, ierr) + if (failed('star_init', ierr)) return + profile_columns_file = trim(mesa_data_dir) // '/star_data/profile_columns.list' + log_columns_file = trim(mesa_data_dir) // '/star_data/log_columns.list' + ierr = set_metallicity(AMUSE_metallicity) + if (failed('set_metallicity', ierr)) return + call flush() + report_backups = .true. + report_retries = .true. + initialize_code = 0 + end function initialize_code + + + integer function commit_parameters() + commit_parameters = 0 + end function commit_parameters + + integer function recommit_parameters() + recommit_parameters = 0 + end function recommit_parameters + + integer function cleanup_code() + cleanup_code = 0 + end function cleanup_code + +! Create new ZAMS model for a different metallicity + subroutine new_zams_model(metallicity, data_dir, filename, ierr) + use create_zams, only: AMUSE_do_create_zams + use amuse_support + use run_star_support, only: run_create_zams, zams_inlist + + implicit none + double precision, intent(in) :: metallicity + character (len=*), intent(in) :: data_dir + character (len=*), intent(in) :: filename + integer :: ierr + + call system('mkdir -p ' // data_dir) + + run_create_zams = .true. ! is this necessary? + call AMUSE_do_create_zams(metallicity, filename, & + AMUSE_inlist_path, & + AMUSE_dmass, AMUSE_mlo, AMUSE_mhi, ierr) + if (failed('AMUSE_do_create_zams', ierr)) return + call flush() + ierr = 0 + end subroutine new_zams_model + +! Create a new particle + function new_particle(AMUSE_id, AMUSE_mass) + use amuse_support + use star_lib, only: alloc_star, star_setup, star_load_zams, & + show_terminal_header, show_log_description + use star_private_def, only: star_info, get_star_ptr + use run_star_support, only: setup_for_run_star, before_evolve, & + show_log_description_at_start + implicit none + integer, intent(out) :: AMUSE_id + integer :: new_particle, ierr + double precision, intent(in) :: AMUSE_mass + type (star_info), pointer :: s + new_particle = -1 + AMUSE_id = alloc_star(ierr) + number_of_particles = AMUSE_id + if (failed('alloc_star', ierr)) return + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) return + call star_setup(AMUSE_id, AMUSE_inlist_path, ierr) + if (failed('star_setup', ierr)) return + ! Replace value of mass and metallicity just read, with supplied values. + s% initial_mass = AMUSE_mass + s% initial_z = AMUSE_metallicity + s% zams_filename = trim(AMUSE_zams_filename) + s% max_age = AMUSE_max_age_stop_condition + s% min_timestep_limit = AMUSE_min_timestep_stop_condition + s% max_model_number = AMUSE_max_iter_stop_condition + s% mixing_length_alpha = AMUSE_mixing_length_ratio + s% alpha_semiconvection = AMUSE_semi_convection_efficiency + s% RGB_wind_scheme = AMUSE_RGB_wind_scheme + s% AGB_wind_scheme = AMUSE_AGB_wind_scheme + s% Reimers_wind_eta = AMUSE_reimers_wind_efficiency + s% Blocker_wind_eta = AMUSE_blocker_wind_efficiency + s% de_Jager_wind_eta = AMUSE_de_jager_wind_efficiency + s% Dutch_wind_eta = AMUSE_dutch_wind_efficiency + s% overshoot_f_above_nonburn = AMUSE_overshoot_f_above_nonburn + s% overshoot_f_below_nonburn = AMUSE_overshoot_f_below_nonburn + s% overshoot_f_above_burn_h = AMUSE_overshoot_f_above_burn_h + s% overshoot_f_below_burn_h = AMUSE_overshoot_f_below_burn_h + s% overshoot_f_above_burn_he = AMUSE_overshoot_f_above_burn_he + s% overshoot_f_below_burn_he = AMUSE_overshoot_f_below_burn_he + s% overshoot_f_above_burn_z = AMUSE_overshoot_f_above_burn_z + s% overshoot_f_below_burn_z = AMUSE_overshoot_f_below_burn_z + if (debugging) then + write (*,*) "Creating new particles with mass: ", s% initial_mass + write (*,*) "Loading starting model from: ", s% zams_filename + endif + if (show_log_description_at_start) then + write(*,*) + call show_log_description(AMUSE_id, ierr) + if (failed('show_log_description', ierr)) return + end if + write(*,*) + call star_load_zams(AMUSE_id, ierr) + if (failed('star_load_zams', ierr)) return + call setup_for_run_star(AMUSE_id, s, .false., ierr) + if (failed('setup_for_run_star', ierr)) return + call before_evolve(AMUSE_id, ierr) + if (failed('before_evolve', ierr)) return + call show_terminal_header(AMUSE_id, ierr) + if (failed('show_terminal_header', ierr)) return + call flush() + new_particle = 0 + end function + +! Create a new pre-main-sequence star + function new_pre_ms_particle(AMUSE_id, AMUSE_mass) + use amuse_support + use star_lib, only: alloc_star, star_setup, star_create_pre_ms_model, & + show_terminal_header, show_log_description + use star_private_def, only: star_info, get_star_ptr + use run_star_support, only: setup_for_run_star, before_evolve, & + show_log_description_at_start + implicit none + integer, intent(out) :: AMUSE_id + integer :: new_pre_ms_particle, ierr + double precision, intent(in) :: AMUSE_mass + type (star_info), pointer :: s + new_pre_ms_particle = -1 + AMUSE_id = alloc_star(ierr) + number_of_particles = AMUSE_id + if (failed('alloc_star', ierr)) return + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) return + call star_setup(AMUSE_id, AMUSE_inlist_path, ierr) + if (failed('star_setup', ierr)) return + ! Replace value of mass and metallicity just read, with supplied values. + s% initial_mass = AMUSE_mass + s% initial_z = AMUSE_metallicity + s% zams_filename = trim(AMUSE_zams_filename) + s% max_age = AMUSE_max_age_stop_condition + s% min_timestep_limit = AMUSE_min_timestep_stop_condition + s% max_model_number = AMUSE_max_iter_stop_condition + s% mixing_length_alpha = AMUSE_mixing_length_ratio + s% alpha_semiconvection = AMUSE_semi_convection_efficiency + s% RGB_wind_scheme = AMUSE_RGB_wind_scheme + s% AGB_wind_scheme = AMUSE_AGB_wind_scheme + s% Reimers_wind_eta = AMUSE_reimers_wind_efficiency + s% Blocker_wind_eta = AMUSE_blocker_wind_efficiency + s% de_Jager_wind_eta = AMUSE_de_jager_wind_efficiency + s% Dutch_wind_eta = AMUSE_dutch_wind_efficiency + s% overshoot_f_above_nonburn = AMUSE_overshoot_f_above_nonburn + s% overshoot_f_below_nonburn = AMUSE_overshoot_f_below_nonburn + s% overshoot_f_above_burn_h = AMUSE_overshoot_f_above_burn_h + s% overshoot_f_below_burn_h = AMUSE_overshoot_f_below_burn_h + s% overshoot_f_above_burn_he = AMUSE_overshoot_f_above_burn_he + s% overshoot_f_below_burn_he = AMUSE_overshoot_f_below_burn_he + s% overshoot_f_above_burn_z = AMUSE_overshoot_f_above_burn_z + s% overshoot_f_below_burn_z = AMUSE_overshoot_f_below_burn_z + if (debugging) then + write (*,*) "Creating new pre-main-sequence particles with mass: ", s% initial_mass + endif + if (show_log_description_at_start) then + write(*,*) + call show_log_description(AMUSE_id, ierr) + if (failed('show_log_description', ierr)) return + end if + write(*,*) + call star_create_pre_ms_model(AMUSE_id, 0.0d0, 0.0d0, 0.0d0, ierr) + if (failed('create_pre_ms_model', ierr)) return + call setup_for_run_star(AMUSE_id, s, .false., ierr) + if (failed('setup_for_run_star', ierr)) return + call before_evolve(AMUSE_id, ierr) + if (failed('before_evolve', ierr)) return + call show_terminal_header(AMUSE_id, ierr) + if (failed('show_terminal_header', ierr)) return + call flush() + new_pre_ms_particle = 0 + end function + +! Remove a particle (doesn't do anything yet) + function delete_star(AMUSE_id) + implicit none + integer, intent(in) :: AMUSE_id + integer :: delete_star + delete_star = 0 + end function + + function commit_particles() + use amuse_support, only: target_times, number_of_particles + implicit none + integer :: commit_particles + allocate(target_times(number_of_particles)) + target_times = 0 + commit_particles = 0 + end function + + function recommit_particles() + use amuse_support, only: target_times, number_of_particles + implicit none + integer :: recommit_particles + double precision, allocatable :: temp(:) + allocate(temp(size(target_times))) + temp = target_times + deallocate(target_times) + allocate(target_times(number_of_particles)) + target_times = 0 + target_times(1:size(temp)) = temp + deallocate(temp) + recommit_particles = 0 + end function + +! Get/setters for code parameters: + +! Return the number of particles currently allocated in the code + function get_number_of_particles(AMUSE_value) + use ctrls_io + use run_star_support + implicit none + integer :: get_number_of_particles + integer, intent(out) :: AMUSE_value + AMUSE_value = 1 + get_number_of_particles = -1 + end function + +! Return the metallicity parameter + integer function get_metallicity(AMUSE_value) + use amuse_support, only: AMUSE_metallicity + implicit none + double precision, intent(out) :: AMUSE_value + AMUSE_value = AMUSE_metallicity + get_metallicity = 0 + end function + +! Set the metallicity parameter + integer function set_metallicity(AMUSE_value) + use amuse_support, only: AMUSE_metallicity, & + AMUSE_zams_filename, zams_filename_for_metallicity, & + find_zams_dir, file_exists, failed + + implicit none + double precision, intent(in) :: AMUSE_value + integer :: ierr + character (len=4096) :: data_dir + character (len=4096) :: zams_filename + + set_metallicity = -1 + + call zams_filename_for_metallicity(AMUSE_value, zams_filename) + call find_zams_dir(zams_filename, data_dir) + + if (.not. file_exists(trim(data_dir) // zams_filename)) then + ! zams file for this metallicity not found, we'll have to make it + call new_zams_model(AMUSE_value, data_dir, zams_filename, ierr) + if (failed('new_zams_model', ierr)) return + endif + + AMUSE_metallicity = AMUSE_value + AMUSE_zams_filename = trim(data_dir) // trim(zams_filename) + + set_metallicity = 0 + end function + +! Return the current mass of the star + function get_mass(AMUSE_id, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + double precision, intent(out) :: AMUSE_value + integer :: get_mass, ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1.0 + get_mass = -1 + else + AMUSE_value = s% star_mass + get_mass = 0 + endif + end function +! Set the current mass of the star + function set_mass(AMUSE_id, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use const_def, only: msol + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + double precision, intent(in) :: AMUSE_value + integer :: set_mass, ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + set_mass = -1 + else + s% mstar = AMUSE_value * msol + s% mstar_old = AMUSE_value * msol + s% mstar_older = AMUSE_value * msol + s% star_mass = AMUSE_value + set_mass = 0 + endif + end function + +! Return the current core mass of the star, where hydrogen abundance is <= h1_boundary_limit + function get_core_mass(AMUSE_id, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + double precision, intent(out) :: AMUSE_value + integer :: get_core_mass, ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1.0 + get_core_mass = -1 + else + AMUSE_value = s% h1_boundary_mass + get_core_mass = 0 + endif + end function + +! Return the current mass loss rate of the star + function get_mass_loss_rate(AMUSE_id, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + double precision, intent(out) :: AMUSE_value + integer :: get_mass_loss_rate, ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1.0 + get_mass_loss_rate = -1 + else + AMUSE_value = -s% mstar_dot + get_mass_loss_rate = 0 + endif + end function + +! Return the current user-specified mass transfer rate of the star + function get_manual_mass_transfer_rate(AMUSE_id, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + double precision, intent(out) :: AMUSE_value + integer :: get_manual_mass_transfer_rate, ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1.0 + get_manual_mass_transfer_rate = -1 + else + AMUSE_value = s% mass_change + get_manual_mass_transfer_rate = 0 + endif + end function + +! Set a new user-specified mass transfer rate of the star + function set_manual_mass_transfer_rate(AMUSE_id, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + double precision, intent(out) :: AMUSE_value + integer :: set_manual_mass_transfer_rate, ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + set_manual_mass_transfer_rate = -1 + else + s% mass_change = AMUSE_value + set_manual_mass_transfer_rate = 0 + endif + end function + +! Return the current temperature of the star + function get_temperature(AMUSE_id, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + double precision, intent(out) :: AMUSE_value + integer :: get_temperature, ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1.0 + get_temperature = -1 + else + AMUSE_value = s% Teff + get_temperature = 0 + endif + end function + +! Return the current luminosity of the star + function get_luminosity(AMUSE_id, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + double precision, intent(out) :: AMUSE_value + integer :: get_luminosity, ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1.0 + get_luminosity = -1 + else + AMUSE_value = 10.0d0**s% log_surface_luminosity + get_luminosity = 0 + endif + end function + +! Return the current age of the star + function get_age(AMUSE_id, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + double precision, intent(out) :: AMUSE_value + integer :: get_age, ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1.0 + get_age = -1 + else + AMUSE_value = s% star_age + get_age = 0 + endif + end function + +! Return the next timestep for the star + function get_time_step(AMUSE_id, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use const_def, only: secyer + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + double precision, intent(out) :: AMUSE_value + integer :: get_time_step, ierr + type (star_info), pointer :: s + AMUSE_value = -1.0 + get_time_step = -1 + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) return + AMUSE_value = s% dt_next/secyer + get_time_step = 0 + end function + +! Set the next timestep for the star + function set_time_step(AMUSE_id, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use const_def, only: secyer + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + double precision, intent(in) :: AMUSE_value + integer :: set_time_step, ierr + type (star_info), pointer :: s + set_time_step = -1 + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) return + s% dt_next = AMUSE_value*secyer + set_time_step = 0 + end function + +! if true, composition of accreted material is identical to the current surface composition. + function get_accrete_same_as_surface(AMUSE_id, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + integer, intent(out) :: AMUSE_value + integer :: get_accrete_same_as_surface, ierr + type (star_info), pointer :: s + get_accrete_same_as_surface = -1 + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) return + if (s% accrete_same_as_surface) then + AMUSE_value = 1 + else + AMUSE_value = 0 + endif + get_accrete_same_as_surface = 0 + end function + function set_accrete_same_as_surface(AMUSE_id, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + integer, intent(in) :: AMUSE_value + integer :: set_accrete_same_as_surface, ierr + type (star_info), pointer :: s + set_accrete_same_as_surface = -1 + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) return + if (AMUSE_value > 0) then + s% accrete_same_as_surface = .true. + else + s% accrete_same_as_surface = .false. + endif + set_accrete_same_as_surface = 0 + end function + +! otherwise, then use the following parameters + function get_accrete_composition_non_metals(AMUSE_id, h1, h2, he3, he4) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + double precision, intent(out) :: h1, h2, he3, he4 + integer :: get_accrete_composition_non_metals, ierr + type (star_info), pointer :: s + get_accrete_composition_non_metals = -1 + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) return + h1 = s% accretion_h1 + h2 = s% accretion_h2 + he3 = s% accretion_he3 + he4 = s% accretion_he4 + get_accrete_composition_non_metals = 0 + end function + function set_accrete_composition_non_metals(AMUSE_id, h1, h2, he3, he4) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + double precision, intent(in) :: h1, h2, he3, he4 + integer :: set_accrete_composition_non_metals, ierr + type (star_info), pointer :: s + set_accrete_composition_non_metals = -1 + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) return + s% accretion_h1 = h1 ! mass fraction + s% accretion_h2 = h2 ! if no h2 in current net, then this is automatically added to h1 + s% accretion_he3 = he3 + s% accretion_he4 = he4 + set_accrete_composition_non_metals = 0 + end function + +! one of the identifiers for different Z fractions from chem_def +! AG89_zfracs = 1, Anders & Grevesse 1989 +! GN93_zfracs = 2, Grevesse & Noels 1993 +! GS98_zfracs = 3, Grevesse & Sauval 1998 +! L03_zfracs = 4, Lodders 2003 +! AGS04_zfracs = 5, Asplund, Grevesse & Sauval 2004 +! or set accretion_zfracs = 0 to use special list of z fractions + function get_accrete_composition_metals_identifier(AMUSE_id, zfracs_identifier) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + integer, intent(out) :: zfracs_identifier + integer :: get_accrete_composition_metals_identifier, ierr + type (star_info), pointer :: s + get_accrete_composition_metals_identifier = -1 + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) return + zfracs_identifier = s% accretion_zfracs + get_accrete_composition_metals_identifier = 0 + end function + function set_accrete_composition_metals_identifier(AMUSE_id, zfracs_identifier) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + integer, intent(in) :: zfracs_identifier + integer :: set_accrete_composition_metals_identifier, ierr + type (star_info), pointer :: s + set_accrete_composition_metals_identifier = -1 + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) return + if (zfracs_identifier > 5 .or. zfracs_identifier < 0) then + + endif + s% accretion_zfracs = zfracs_identifier + set_accrete_composition_metals_identifier = 0 + end function + +! special list of z fractions -- if you use these, they should add to 1.0 + function get_accrete_composition_metals(AMUSE_id, li, be, b, c, n, o, f, ne, & + na, mg, al, si, p, s, cl, ar, k, ca, sc, ti, v, cr, mn, fe, co, ni, cu, zn) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + double precision, intent(out) :: li, be, b, c, n, o, f, ne, na, mg, al, si + double precision, intent(out) :: p, s, cl, ar, k, ca, sc, ti, v, cr, mn + double precision, intent(out) :: fe, co, ni, cu, zn + integer :: get_accrete_composition_metals, ierr + type (star_info), pointer :: star_pointer + get_accrete_composition_metals = -1 + call get_star_ptr(AMUSE_id, star_pointer, ierr) + if (failed('get_star_ptr', ierr)) return + li = star_pointer% z_fraction_li + be = star_pointer% z_fraction_be + b = star_pointer% z_fraction_b + c = star_pointer% z_fraction_c + n = star_pointer% z_fraction_n + o = star_pointer% z_fraction_o + f = star_pointer% z_fraction_f + ne = star_pointer% z_fraction_ne + na = star_pointer% z_fraction_na + mg = star_pointer% z_fraction_mg + al = star_pointer% z_fraction_al + si = star_pointer% z_fraction_si + p = star_pointer% z_fraction_p + s = star_pointer% z_fraction_s + cl = star_pointer% z_fraction_cl + ar = star_pointer% z_fraction_ar + k = star_pointer% z_fraction_k + ca = star_pointer% z_fraction_ca + sc = star_pointer% z_fraction_sc + ti = star_pointer% z_fraction_ti + v = star_pointer% z_fraction_v + cr = star_pointer% z_fraction_cr + mn = star_pointer% z_fraction_mn + fe = star_pointer% z_fraction_fe + co = star_pointer% z_fraction_co + ni = star_pointer% z_fraction_ni + cu = star_pointer% z_fraction_cu + zn = star_pointer% z_fraction_zn + get_accrete_composition_metals = 0 + end function + function set_accrete_composition_metals(AMUSE_id, li, be, b, c, n, o, f, ne, & + na, mg, al, si, p, s, cl, ar, k, ca, sc, ti, v, cr, mn, fe, co, ni, cu, zn) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + double precision, intent(in) :: li, be, b, c, n, o, f, ne, na, mg, al, si + double precision, intent(in) :: p, s, cl, ar, k, ca, sc, ti, v, cr, mn + double precision, intent(in) :: fe, co, ni, cu, zn + integer :: set_accrete_composition_metals, ierr + type (star_info), pointer :: star_pointer + set_accrete_composition_metals = -1 + call get_star_ptr(AMUSE_id, star_pointer, ierr) + if (failed('get_star_ptr', ierr)) return + star_pointer% z_fraction_li = li + star_pointer% z_fraction_be = be + star_pointer% z_fraction_b = b + star_pointer% z_fraction_c = c + star_pointer% z_fraction_n = n + star_pointer% z_fraction_o = o + star_pointer% z_fraction_f = f + star_pointer% z_fraction_ne = ne + star_pointer% z_fraction_na = na + star_pointer% z_fraction_mg = mg + star_pointer% z_fraction_al = al + star_pointer% z_fraction_si = si + star_pointer% z_fraction_p = p + star_pointer% z_fraction_s = s + star_pointer% z_fraction_cl = cl + star_pointer% z_fraction_ar = ar + star_pointer% z_fraction_k = k + star_pointer% z_fraction_ca = ca + star_pointer% z_fraction_sc = sc + star_pointer% z_fraction_ti = ti + star_pointer% z_fraction_v = v + star_pointer% z_fraction_cr = cr + star_pointer% z_fraction_mn = mn + star_pointer% z_fraction_fe = fe + star_pointer% z_fraction_co = co + star_pointer% z_fraction_ni = ni + star_pointer% z_fraction_cu = cu + star_pointer% z_fraction_zn = zn + set_accrete_composition_metals = 0 + end function + +! Return the current radius of the star + function get_radius(AMUSE_id, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + double precision, intent(out) :: AMUSE_value + integer :: get_radius, ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1.0 + get_radius = -1 + else + AMUSE_value = 10.0d0**s% log_surface_radius + get_radius = 0 + endif + end function + +! Return the current stellar type of the star + function get_stellar_type(AMUSE_id, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + use do_one_utils, only: do_show_terminal_header, do_terminal_summary + use star_utils, only:eval_current_y, eval_current_z + implicit none + integer, intent(in) :: AMUSE_id + integer, intent(out) :: AMUSE_value + integer :: get_stellar_type, ierr + double precision :: x_avg, y_avg, z_avg + type (star_info), pointer :: s + AMUSE_value = -99 + get_stellar_type = -1 + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) return + ! if the star is not a stellar remnant... + if (s% log_surface_radius > -1.0) then + ! Use the MESA phase_of_evolution marker (explained below) + select case(s% phase_of_evolution) + case(0) + AMUSE_value = 17 ! Pre-main-sequence star + case(1,2) + if (s% star_mass < 0.75) then + AMUSE_value = 0 ! Convective low mass star + else + AMUSE_value = 1 ! Main sequence star + endif + case(3) + AMUSE_value = 3 ! Red giant branch + case(4:) + y_avg = eval_current_y(s, 1, s% nz, ierr) + if (failed('eval_current_y', ierr)) return + z_avg = eval_current_z(s, 1, s% nz, ierr) + if (failed('eval_current_z', ierr)) return + x_avg = max(0d0, min(1d0, 1 - (y_avg + z_avg))) + if (x_avg > 1.0d-5) then + if (s% center_he3 + s% center_he4 > 1.0d-5) then + AMUSE_value = 4 ! Core He burning + else + if (y_avg < 0.75 * x_avg) then + AMUSE_value = 5 ! Early AGB (inert C/O core) + else + AMUSE_value = 6 ! Late (thermally pulsing) AGB (inert C/O core) + endif + endif + else + if (s% center_he3 + s% center_he4 > 1.0d-5) then + AMUSE_value = 7 ! Helium MS star + else + AMUSE_value = 9 ! Helium giant + endif + endif + case default + write(*,*) "Unable to determine the stellar type." + write(*,*) "The following information might help:" + call do_show_terminal_header(s) + call do_terminal_summary(s) + return + end select + else ! stellar remnant + if (s% star_mass < 1.44) then ! white dwarf + ! Helium White Dwarf: + if (s% center_he3 + s% center_he4 > 0.1) AMUSE_value = 10 + ! Carbon/Oxygen White Dwarf: + if (s% center_c12 > 0.1) AMUSE_value = 11 + ! Oxygen/Neon White Dwarf: + if (s% center_ne20 > 0.01) AMUSE_value = 12 + ! Else? Unknown kind of white dwarf... hopefully never reached. + if (AMUSE_value == -99) AMUSE_value = -10 + else + if (s% star_mass < 3.2) then + AMUSE_value = 13 ! Neutron Star + else + AMUSE_value = 14 ! Black Hole + endif + endif + endif + get_stellar_type = 0 +! integer, parameter :: phase_starting = 0 +! integer, parameter :: phase_early_main_seq = 1 +! integer, parameter :: phase_mid_main_seq = 2 +! integer, parameter :: phase_wait_for_he = 3 +! integer, parameter :: phase_he_ignition_over = 4 +! integer, parameter :: phase_he_igniting = 5 +! integer, parameter :: phase_helium_burning = 6 +! integer, parameter :: phase_carbon_burning = 7 + end function + +! Return the current number of zones/mesh-cells of the star + integer function get_number_of_zones(AMUSE_id, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + integer, intent(out) :: AMUSE_value + integer :: ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1 + get_number_of_zones = -1 + else + AMUSE_value = s% nz + get_number_of_zones = 0 + endif + end function + +! Return the number_of_backups_in_a_row of the star + integer function get_number_of_backups_in_a_row(AMUSE_id, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + integer, intent(out) :: AMUSE_value + integer :: ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + get_number_of_backups_in_a_row = -1 + else + AMUSE_value = s% number_of_backups_in_a_row + get_number_of_backups_in_a_row = 0 + endif + end function + +! Reset number_of_backups_in_a_row of the star + integer function reset_number_of_backups_in_a_row(AMUSE_id) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + integer :: ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + reset_number_of_backups_in_a_row = -1 + else + s% number_of_backups_in_a_row = 0 + reset_number_of_backups_in_a_row = 0 + endif + end function + +! Return the mass fraction at the specified zone/mesh-cell of the star + integer function get_mass_fraction_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id, AMUSE_zone + double precision, intent(out) :: AMUSE_value + integer :: ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1.0 + get_mass_fraction_at_zone = -1 + else + if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then + AMUSE_value = -1.0 + get_mass_fraction_at_zone = -2 + else + if (s% number_of_backups_in_a_row > s% max_backups_in_a_row ) then + AMUSE_value = s% dq_old(s% nz - AMUSE_zone) + else + AMUSE_value = s% dq(s% nz - AMUSE_zone) + endif + get_mass_fraction_at_zone = 0 + endif + endif + end function +! Set the mass fraction at the specified zone/mesh-cell of the star + integer function set_mass_fraction_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id, AMUSE_zone + double precision, intent(in) :: AMUSE_value + integer :: ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + set_mass_fraction_at_zone = -1 + else + if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then + set_mass_fraction_at_zone = -2 + else + s% dq(s% nz - AMUSE_zone) = AMUSE_value + set_mass_fraction_at_zone = 0 + endif + endif + end function + +! Return the temperature at the specified zone/mesh-cell of the star + integer function get_temperature_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id, AMUSE_zone + double precision, intent(out) :: AMUSE_value + integer :: ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1.0 + get_temperature_at_zone = -1 + else + if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then + AMUSE_value = -1.0 + get_temperature_at_zone = -2 + else + if (s% number_of_backups_in_a_row > s% max_backups_in_a_row ) then + AMUSE_value = exp(s% xs_old(s% i_lnT, s% nz - AMUSE_zone)) + else + AMUSE_value = exp(s% xs(s% i_lnT, s% nz - AMUSE_zone)) + endif + get_temperature_at_zone = 0 + endif + endif + end function +! Set the temperature at the specified zone/mesh-cell of the star + integer function set_temperature_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id, AMUSE_zone + double precision, intent(in) :: AMUSE_value + integer :: ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + set_temperature_at_zone = -1 + else + if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then + set_temperature_at_zone = -2 + else + s% xs(s% i_lnT, s% nz - AMUSE_zone) = log(AMUSE_value) + set_temperature_at_zone = 0 + endif + endif + end function + +! Return the density at the specified zone/mesh-cell of the star + integer function get_density_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id, AMUSE_zone + double precision, intent(out) :: AMUSE_value + integer :: ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1.0 + get_density_at_zone = -1 + else + if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then + AMUSE_value = -1.0 + get_density_at_zone = -2 + else + if (s% number_of_backups_in_a_row > s% max_backups_in_a_row ) then + AMUSE_value = exp(s% xs_old(s% i_lnd, s% nz - AMUSE_zone)) + else + AMUSE_value = exp(s% xs(s% i_lnd, s% nz - AMUSE_zone)) + endif + get_density_at_zone = 0 + endif + endif + end function +! Set the density at the specified zone/mesh-cell of the star + integer function set_density_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id, AMUSE_zone + double precision, intent(in) :: AMUSE_value + integer :: ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + set_density_at_zone = -1 + else + if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then + set_density_at_zone = -2 + else + s% xs(s% i_lnd, s% nz - AMUSE_zone) = log(AMUSE_value) + set_density_at_zone = 0 + endif + endif + end function + +! Return the radius at the specified zone/mesh-cell of the star + integer function get_radius_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id, AMUSE_zone + double precision, intent(out) :: AMUSE_value + integer :: ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1.0 + get_radius_at_zone = -1 + else + if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then + AMUSE_value = -1.0 + get_radius_at_zone = -2 + else + if (s% number_of_backups_in_a_row > s% max_backups_in_a_row ) then + AMUSE_value = exp(s% xs_old(s% i_lnR, s% nz - AMUSE_zone)) + else + AMUSE_value = exp(s% xs(s% i_lnR, s% nz - AMUSE_zone)) + endif + get_radius_at_zone = 0 + endif + endif + end function +! Set the radius at the specified zone/mesh-cell of the star + integer function set_radius_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id, AMUSE_zone + double precision, intent(in) :: AMUSE_value + integer :: ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + set_radius_at_zone = -1 + else + if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then + set_radius_at_zone = -2 + else + s% xs(s% i_lnR, s% nz - AMUSE_zone) = log(AMUSE_value) + set_radius_at_zone = 0 + endif + endif + end function + +! Return the luminosity at the specified zone/mesh-cell of the star + integer function get_luminosity_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id, AMUSE_zone + double precision, intent(out) :: AMUSE_value + integer :: ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1.0 + get_luminosity_at_zone = -1 + else + if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then + AMUSE_value = -1.0 + get_luminosity_at_zone = -2 + else + if (s% number_of_backups_in_a_row > s% max_backups_in_a_row ) then + AMUSE_value = s% xs_old(s% i_lum, s% nz - AMUSE_zone) + else + AMUSE_value = s% xs(s% i_lum, s% nz - AMUSE_zone) + endif + get_luminosity_at_zone = 0 + endif + endif + end function +! Set the luminosity at the specified zone/mesh-cell of the star + integer function set_luminosity_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id, AMUSE_zone + double precision, intent(in) :: AMUSE_value + integer :: ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + set_luminosity_at_zone = -1 + else + if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then + set_luminosity_at_zone = -2 + else + s% xs(s% i_lum, s% nz - AMUSE_zone) = AMUSE_value + set_luminosity_at_zone = 0 + endif + endif + end function + +! Return the Brunt-Vaisala frequency squared at the specified zone/mesh-cell of the star + integer function get_brunt_vaisala_frequency_squared_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + use const_def, only: cgrav + implicit none + integer, intent(in) :: AMUSE_id, AMUSE_zone + double precision, intent(out) :: AMUSE_value + integer :: ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1.0 + get_brunt_vaisala_frequency_squared_at_zone = -1 + else + if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then + AMUSE_value = -1.0 + get_brunt_vaisala_frequency_squared_at_zone = -2 + else + AMUSE_value = brunt_N2(s% nz - AMUSE_zone) + get_brunt_vaisala_frequency_squared_at_zone = 0 + endif + endif + + contains + + double precision function brunt_N2(k) + ! reminder: gradB(k) and gradT(k) are the values at face(k) + integer, intent(in) :: k + double precision :: T_face, rho_face, P_face, chiT_face, chiRho_face, grada_face + double precision :: g, tmp + g = cgrav*s% mstar*s% q(k)/s% r(k)**2 + if (k == 1) then + rho_face = s% rho(1) + P_face = s% P(1) + T_face = s% T(1) + chiT_face = s% chiT(1) + chiRho_face = s% chiRho(1) + grada_face = s% grada(1) + else + tmp = 1.0d0 / (s% dq(k-1) + s% dq(k)) + rho_face = (s%rho(k)*s%dq(k-1) + s%rho(k-1)*s%dq(k)) * tmp + P_face = (s%P(k)*s%dq(k-1) + s%P(k-1)*s%dq(k)) * tmp + T_face = (s%T(k)*s%dq(k-1) + s%T(k-1)*s%dq(k)) * tmp + chiT_face = (s%chiT(k)*s%dq(k-1) + s%chiT(k-1)*s%dq(k)) * tmp + chiRho_face = (s%chiRho(k)*s%dq(k-1) + s%chiRho(k-1)*s%dq(k)) * tmp + grada_face = (s%grada(k)*s%dq(k-1) + s%grada(k-1)*s%dq(k)) * tmp + endif + brunt_N2 = & + (g**2*rho_face/P_face)* & + (chiT_face/chiRho_face)* & + (grada_face - s% gradT(k) + s% gradB(k)) + end function brunt_N2 + end function + +! Return the mean molecular weight per particle (ions + free electrons) at the specified zone/mesh-cell of the star + integer function get_mu_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr +! use micro, only: do_eos_for_cell + use chem_def, only: ih1, ihe3, ihe4 + + use eos_lib, only: eosDT_get + use eos_def, only: num_eos_basic_results, i_mu + use const_def, only: ln10 + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id, AMUSE_zone + double precision, intent(out) :: AMUSE_value + integer, pointer :: net_iso(:) + integer :: ierr, k + type (star_info), pointer :: s + double precision, dimension(num_eos_basic_results) :: res, d_dlnd, d_dlnT + double precision :: z, xh, xhe, abar, zbar + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1.0 + get_mu_at_zone = -1 + else + if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then + AMUSE_value = -1.0 + get_mu_at_zone = -2 + else + k = s% nz - AMUSE_zone + if (s% number_of_backups_in_a_row > s% max_backups_in_a_row ) then + call get_abar_zbar(s, k, abar, zbar) + net_iso => s% net_iso + xh = s% xa_old(net_iso(ih1),k) + xhe = s% xa_old(net_iso(ihe3),k) + s% xa_old(net_iso(ihe4),k) + z = max(0d0,1d0-(xh+xhe)) + call eosDT_get( & + s% eos_handle, z, xh, abar, zbar, & + exp(s% xs_old(s% i_lnd, k)), s% xs_old(s% i_lnd, k)/ln10, & + exp(s% xs_old(s% i_lnT, k)), s% xs_old(s% i_lnT, k)/ln10, & + res, d_dlnd, d_dlnT, ierr) + if (failed('eosDT_get', ierr)) then + AMUSE_value = -1.0 + get_mu_at_zone = -4 + return + endif + s% mu(k) = res(i_mu) + endif + AMUSE_value = s% mu(k) + get_mu_at_zone = 0 + endif + endif +! end function + + contains + + subroutine get_abar_zbar(s, k, abar, zbar) +! use star_private_def, only: star_info + use chem_lib, only: composition_info + type (star_info), pointer :: s + integer, intent(in) :: k + double precision, intent(out) :: abar, zbar + double precision :: z2bar, ye, xsum, dabar_dx(s% species), dzbar_dx(s% species) + integer :: species + species = s% species + call composition_info(species, s% chem_id, s% xa_old(1:species,k), & + abar, zbar, z2bar, ye, xsum, dabar_dx, dzbar_dx) + end subroutine get_abar_zbar + + end function + + +! Return the total (gas + radiation) pressure at the specified zone/mesh-cell of the star + integer function get_pressure_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use chem_def, only: ih1, ihe3, ihe4 + use eos_lib, only: eosDT_get + use eos_def, only: num_eos_basic_results, i_lnPgas + use const_def, only: ln10, crad + use amuse_support, only: failed, debugging + + implicit none + integer, intent(in) :: AMUSE_id, AMUSE_zone + double precision, intent(out) :: AMUSE_value + integer, pointer :: net_iso(:) + integer :: ierr, k + type (star_info), pointer :: s + double precision, dimension(num_eos_basic_results) :: res, d_dlnd, d_dlnT + double precision :: z, xh, xhe, abar, zbar + + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1.0 + get_pressure_at_zone = -1 + else + k = s% nz - AMUSE_zone + if (s% number_of_backups_in_a_row > s% max_backups_in_a_row ) then +! if (debugging) then +! write(*, *) 'Warning: pressure may not be up to date, since the last evolve failed.' +! endif + call get_abar_zbar(s, k, abar, zbar) + net_iso => s% net_iso + xh = s% xa_old(net_iso(ih1),k) + xhe = s% xa_old(net_iso(ihe3),k) + s% xa_old(net_iso(ihe4),k) + z = max(0d0,1d0-(xh+xhe)) + call eosDT_get( & + s% eos_handle, z, xh, abar, zbar, & + exp(s% xs_old(s% i_lnd, k)), s% xs_old(s% i_lnd, k)/ln10, & + exp(s% xs_old(s% i_lnT, k)), s% xs_old(s% i_lnT, k)/ln10, & + res, d_dlnd, d_dlnT, ierr) + if (failed('eosDT_get', ierr)) then + AMUSE_value = -1.0 + get_pressure_at_zone = -4 + return + endif +! s% mu(k) = res(i_mu) + s% lnPgas(k) = res(i_lnPgas) + s% Pgas(k) = exp(s% lnPgas(k)) + + s% Prad(k) = crad * s% T(k)**4 / 3 + s% P(k) = s% Prad(k) + s% Pgas(k) +! get_pressure_at_zone = -1 +! return + endif + + if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then + AMUSE_value = -1.0 + get_pressure_at_zone = -2 + else + AMUSE_value = s% P(k) + get_pressure_at_zone = 0 + endif + endif + + contains + + subroutine get_abar_zbar(s, k, abar, zbar) +! use star_private_def, only: star_info + use chem_lib, only: composition_info + type (star_info), pointer :: s + integer, intent(in) :: k + double precision, intent(out) :: abar, zbar + double precision :: z2bar, ye, xsum, dabar_dx(s% species), dzbar_dx(s% species) + integer :: species + species = s% species + call composition_info(species, s% chem_id, s% xa_old(1:species,k), & + abar, zbar, z2bar, ye, xsum, dabar_dx, dzbar_dx) + end subroutine get_abar_zbar + + end function + +! Return the specific entropy at the specified zone/mesh-cell of the star + integer function get_entropy_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed, debugging + + implicit none + integer, intent(in) :: AMUSE_id, AMUSE_zone + double precision, intent(out) :: AMUSE_value + integer :: ierr, k + type (star_info), pointer :: s + + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1.0 + get_entropy_at_zone = -1 + else + k = s% nz - AMUSE_zone + if (s% number_of_backups_in_a_row > s% max_backups_in_a_row ) then + get_entropy_at_zone = -1 + return + endif + + if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then + AMUSE_value = -1.0 + get_entropy_at_zone = -2 + else + AMUSE_value = exp(s% lnS(k)) + get_entropy_at_zone = 0 + endif + endif + end function + +! Return the specific thermal energy at the specified zone/mesh-cell of the star + integer function get_thermal_energy_at_zone(AMUSE_id, AMUSE_zone, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed, debugging + + implicit none + integer, intent(in) :: AMUSE_id, AMUSE_zone + double precision, intent(out) :: AMUSE_value + integer :: ierr, k + type (star_info), pointer :: s + + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1.0 + get_thermal_energy_at_zone = -1 + else + k = s% nz - AMUSE_zone + if (s% number_of_backups_in_a_row > s% max_backups_in_a_row ) then + get_thermal_energy_at_zone = -1 + return + endif + + if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then + AMUSE_value = -1.0 + get_thermal_energy_at_zone = -2 + else + AMUSE_value = exp(s% lnE(k)) + get_thermal_energy_at_zone = 0 + endif + endif + end function + + + +! Return the current number of chemical abundance variables per zone of the star + integer function get_number_of_species(AMUSE_id, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + integer, intent(out) :: AMUSE_value + integer :: ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1 + get_number_of_species = -1 + else + AMUSE_value = s% nvar_chem + get_number_of_species = 0 + endif + end function + +! Return the name of chemical abundance variable 'AMUSE_species' of the star + integer function get_name_of_species(AMUSE_id, AMUSE_species, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + use chem_def, only: num_chem_isos, chem_isos + implicit none + integer, intent(in) :: AMUSE_id, AMUSE_species + character (len=6), intent(out) :: AMUSE_value + integer :: ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = 'error' + get_name_of_species = -1 + else if (AMUSE_species > s% nvar_chem .or. AMUSE_species < 1) then + AMUSE_value = 'error' + get_name_of_species = -3 + else + AMUSE_value = chem_isos% name(s% chem_id(AMUSE_species)) + get_name_of_species = 0 + endif +! do ierr=1,s% nvar +! write(*,*) ierr, s% nameofvar(ierr) +! end do +! do ierr=1,num_chem_isos +! write(*,*) ierr, s% net_iso(ierr), chem_isos% name(ierr) +! end do +! do ierr=1,s% nvar_chem +! write(*,*) ierr, s% chem_id(ierr), chem_isos% name(s% chem_id(ierr)) +! end do + end function + +! Return the chem_ID of chemical abundance variable 'AMUSE_species' of the star + integer function get_id_of_species(AMUSE_id, AMUSE_species, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id, AMUSE_species + integer, intent(out) :: AMUSE_value + integer :: ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1 + get_id_of_species = -1 + else if (AMUSE_species > s% nvar_chem .or. AMUSE_species < 1) then + AMUSE_value = -1 + get_id_of_species = -3 + else + AMUSE_value = s% chem_id(AMUSE_species) + get_id_of_species = 0 + endif + end function + +! Return the mass number of chemical abundance variable 'AMUSE_species' of the star + integer function get_mass_of_species(AMUSE_id, AMUSE_species, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + use chem_def, only: chem_isos + use const_def, only: mev_to_ergs, clight, amu + implicit none + integer, intent(in) :: AMUSE_id, AMUSE_species + double precision, intent(out) :: AMUSE_value + integer :: ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1.0 + get_mass_of_species = -1 + else if (AMUSE_species > s% nvar_chem .or. AMUSE_species < 1) then + AMUSE_value = -1.0 + get_mass_of_species = -3 + else + AMUSE_value = chem_isos% A(s% chem_id(AMUSE_species)) + & + chem_isos% mass_excess(s% chem_id(AMUSE_species))*mev_to_ergs/(clight*clight*amu) + get_mass_of_species = 0 + endif + end function + +! Return the mass fraction of species 'AMUSE_species' at the specified +! zone/mesh-cell of the star + integer function get_mass_fraction_of_species_at_zone(AMUSE_id, & + AMUSE_species, AMUSE_zone, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id, AMUSE_zone, AMUSE_species + double precision, intent(out) :: AMUSE_value + integer :: ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + AMUSE_value = -1.0 + get_mass_fraction_of_species_at_zone = -1 + else if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then + AMUSE_value = -1.0 + get_mass_fraction_of_species_at_zone = -2 + else if (AMUSE_species > s% nvar_chem .or. AMUSE_species < 1) then + AMUSE_value = -1.0 + get_mass_fraction_of_species_at_zone = -3 + else + if (s% number_of_backups_in_a_row > s% max_backups_in_a_row ) then + AMUSE_value = s% xa_old(AMUSE_species, s% nz - AMUSE_zone) + else + AMUSE_value = s% xa(AMUSE_species, s% nz - AMUSE_zone) + endif + get_mass_fraction_of_species_at_zone = 0 + endif + end function +! Set the mass fraction of species 'AMUSE_species' at the specified +! zone/mesh-cell of the star + integer function set_mass_fraction_of_species_at_zone(AMUSE_id, & + AMUSE_species, AMUSE_zone, AMUSE_value) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id, AMUSE_zone, AMUSE_species + double precision, intent(in) :: AMUSE_value + integer :: ierr + type (star_info), pointer :: s + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) then + set_mass_fraction_of_species_at_zone = -1 + else if (AMUSE_zone >= s% nz .or. AMUSE_zone < 0) then + set_mass_fraction_of_species_at_zone = -2 + else if (AMUSE_species > s% nvar_chem .or. AMUSE_species < 1) then + set_mass_fraction_of_species_at_zone = -3 + else + s% xa(AMUSE_species, s% nz - AMUSE_zone) = AMUSE_value + s% xa_pre_hydro(AMUSE_species, s% nz - AMUSE_zone) = AMUSE_value + set_mass_fraction_of_species_at_zone = 0 + endif + end function + +! Erase memory of the star - xs_old(er), xa_old(er), q_old(er), etc. +! Useful after setting the stucture of the star, to prevent backup steps to undo changes + integer function erase_memory(AMUSE_id) + use star_private_def, only: star_info, get_star_ptr + use amuse_support, only: failed + implicit none + integer, intent(in) :: AMUSE_id + integer :: ierr + type (star_info), pointer :: s + + erase_memory = -1 + call get_star_ptr(AMUSE_id, s, ierr) + if (failed('get_star_ptr', ierr)) return + if (s%generations > 1) then + s% nz_old = s% nz + call realloc2d_if_necessary(s% xa_old, s% species, s% nz, ierr) + if (failed('realloc2d_if_necessary', ierr)) return + s% xa_old(:,:) = s% xa(:,:) + call realloc2d_if_necessary(s% xs_old, s% nvar, s% nz, ierr) + if (failed('realloc2d_if_necessary', ierr)) return + s% xs_old(:,:) = s% xs(:,:) + call realloc1d_if_necessary(s% q_old, s% nz, ierr) + if (failed('realloc1d_if_necessary', ierr)) return + s% q_old(:) = s% q(:) + call realloc1d_if_necessary(s% dq_old, s% nz, ierr) + if (failed('realloc1d_if_necessary', ierr)) return + s% dq_old(:) = s% dq(:) + if (s%generations == 3) then + s% nz_older = s% nz + call realloc2d_if_necessary(s% xa_older, s% species, s% nz, ierr) + if (failed('realloc2d_if_necessary', ierr)) return + s% xa_older(:,:) = s% xa(:,:) + call realloc2d_if_necessary(s% xs_older, s% nvar, s% nz, ierr) + if (failed('realloc2d_if_necessary', ierr)) return + s% xs_older(:,:) = s% xs(:,:) + call realloc1d_if_necessary(s% q_older, s% nz, ierr) + if (failed('realloc1d_if_necessary', ierr)) return + s% q_older(:) = s% q(:) + call realloc1d_if_necessary(s% dq_older, s% nz, ierr) + if (failed('realloc1d_if_necessary', ierr)) return + s% dq_older(:) = s% dq(:) + end if + end if + erase_memory = 0 + + contains + + subroutine realloc1d_if_necessary(ptr,new_size,ierr) + double precision, pointer :: ptr(:) + integer, intent(in) :: new_size + integer, intent(out) :: ierr + ierr = 0 + if (associated(ptr)) then + if (size(ptr,1) == new_size) return + deallocate(ptr) + end if + allocate(ptr(new_size),stat=ierr) + end subroutine realloc1d_if_necessary + + subroutine realloc2d_if_necessary(ptr,ld,new_size,ierr) + double precision, pointer :: ptr(:,:) + integer, intent(in) :: ld, new_size + integer, intent(out) :: ierr + ierr = 0 + if (associated(ptr)) then + if (size(ptr,1) == ld .and. size(ptr,2) == new_size) return + deallocate(ptr) + end if + allocate(ptr(ld,new_size),stat=ierr) + end subroutine realloc2d_if_necessary + + end function erase_memory + +! Evolve the star for one step (for internal calls) + function do_evolve_one_step(AMUSE_id) + use star_private_def, only: star_info, get_star_ptr + use run_star_support + use run_star, only: check_model + use run_star_extras, only: & + how_many_extra_profile_columns, data_for_extra_profile_columns, & + how_many_extra_log_columns, data_for_extra_log_columns + use amuse_support, only: evolve_failed + use const_def, only: secyer + implicit none + integer, intent(in) :: AMUSE_id + integer :: do_evolve_one_step + type (star_info), pointer :: s + integer :: ierr, model_number, result, result_reason + logical :: first_try + do_evolve_one_step = -1 + call get_star_ptr(AMUSE_id, s, ierr) + if (evolve_failed('get_star_ptr', ierr, do_evolve_one_step, -1)) return + if (auto_extend_net) then + call extend_net(s, ierr) + if (evolve_failed('extend_net', ierr, do_evolve_one_step, -2)) return + end if + first_try = .true. + model_number = get_model_number(AMUSE_id, ierr) + if (evolve_failed('get_model_number', ierr, do_evolve_one_step, -3)) return + step_loop: do ! may need to repeat this loop for retry or backup + result = star_evolve_step(AMUSE_id, first_try) + if (result == keep_going) result = check_model(s, AMUSE_id, 0) + if (result == keep_going) result = star_pick_next_timestep(AMUSE_id) + if (result == keep_going) exit step_loop + model_number = get_model_number(AMUSE_id, ierr) + if (evolve_failed('get_model_number', ierr, do_evolve_one_step, -3)) return + result_reason = get_result_reason(AMUSE_id, ierr) + if (result == retry) then + if (evolve_failed('get_result_reason', ierr, do_evolve_one_step, -4)) return + if (report_retries) & + write(*,'(i6,3x,a,/)') model_number, & + 'retry reason ' // trim(result_reason_str(result_reason)) + else if (result == backup) then + if (evolve_failed('get_result_reason', ierr, do_evolve_one_step, -4)) return + if (report_backups) & + write(*,'(i6,3x,a,/)') model_number, & + 'backup reason ' // trim(result_reason_str(result_reason)) + end if + if (result == retry) result = star_prepare_for_retry(AMUSE_id) + if (result == backup) result = star_do1_backup(AMUSE_id) + if (result == terminate) then + do_evolve_one_step = -11 ! Unspecified stop condition reached, or: + if (s% dt_next < s% min_timestep_limit) & + do_evolve_one_step = -15 ! minimum timestep limit reached + if (s% number_of_backups_in_a_row > s% max_backups_in_a_row ) & + do_evolve_one_step = -14 ! max backups reached + if (s% max_model_number > 0 .and. s% model_number >= s% max_model_number) & + do_evolve_one_step = -13 ! max iterations reached + if (s% star_age >= s% max_age) & + do_evolve_one_step = -12 ! max_age reached + return + end if + first_try = .false. + end do step_loop + result = star_finish_step(AMUSE_id, 0, .false., & + how_many_extra_profile_columns, data_for_extra_profile_columns, & + how_many_extra_log_columns, data_for_extra_log_columns, ierr) + if (evolve_failed('star_finish_step', ierr, do_evolve_one_step, -5)) return + if (s% model_number == save_model_number) then + call star_write_model(AMUSE_id, save_model_filename, .true., ierr) + if (evolve_failed('star_write_model', ierr, do_evolve_one_step, -6)) return + write(*, *) 'saved to ' // trim(save_model_filename) + end if + do_evolve_one_step = 0 + call flush() + end function + + +! Evolve the star for one step (for calls from amuse) + function evolve_one_step(AMUSE_id) + use star_private_def, only: star_info, get_star_ptr +! use const_def, only: secyer + use amuse_support, only: evolve_failed, target_times + implicit none + integer, intent(in) :: AMUSE_id + type (star_info), pointer :: s + integer :: ierr, evolve_one_step + integer :: do_evolve_one_step + + evolve_one_step = 0 + call get_star_ptr(AMUSE_id, s, ierr) + if (evolve_failed('get_star_ptr', ierr, evolve_one_step, -1)) return + + evolve_one_step = do_evolve_one_step(AMUSE_id) + target_times(AMUSE_id) = s% time + end function evolve_one_step + +! Evolve the star until AMUSE_end_time + integer function evolve_for(AMUSE_id, AMUSE_delta_t) + use star_private_def, only: star_info, get_star_ptr + use const_def, only: secyer + use amuse_support, only: evolve_failed, target_times + implicit none + integer, intent(in) :: AMUSE_id + double precision, intent(in) :: AMUSE_delta_t + type (star_info), pointer :: s + integer :: ierr + integer :: do_evolve_one_step + double precision :: end_time + + evolve_for = 0 + call get_star_ptr(AMUSE_id, s, ierr) + if (evolve_failed('get_star_ptr', ierr, evolve_for, -1)) return + + end_time = s% time + AMUSE_delta_t * secyer + + evolve_loop: do while(evolve_for == 0 .and. & + (s% time < end_time)) ! evolve one step per loop + if((s% time + s% dt_next) > end_time) then ! Handle final step + s% dt_next = end_time - s% time + end if + evolve_for = do_evolve_one_step(AMUSE_id) + end do evolve_loop + end function evolve_for + +! Return the maximum age stop condition + integer function get_max_age_stop_condition(AMUSE_value) + use amuse_support, only: AMUSE_max_age_stop_condition + implicit none + double precision, intent(out) :: AMUSE_value + AMUSE_value = AMUSE_max_age_stop_condition + get_max_age_stop_condition = 0 + end function get_max_age_stop_condition + +! Set the maximum age stop condition + integer function set_max_age_stop_condition(AMUSE_value) + use amuse_support, only: AMUSE_max_age_stop_condition + implicit none + double precision, intent(in) :: AMUSE_value + AMUSE_max_age_stop_condition = AMUSE_value + set_max_age_stop_condition = 0 + end function set_max_age_stop_condition + +! Return the maximum age stop condition + integer function get_max_iter_stop_condition(AMUSE_value) + use amuse_support, only: AMUSE_max_iter_stop_condition + implicit none + integer, intent(out) :: AMUSE_value + AMUSE_value = AMUSE_max_iter_stop_condition + get_max_iter_stop_condition = 0 + end function get_max_iter_stop_condition + +! Set the maximum age stop condition + integer function set_max_iter_stop_condition(AMUSE_value) + use amuse_support, only: AMUSE_max_iter_stop_condition + implicit none + integer, intent(in) :: AMUSE_value + AMUSE_max_iter_stop_condition = AMUSE_value + set_max_iter_stop_condition = 0 + end function set_max_iter_stop_condition + +! Return the minimum timestep stop condition + integer function get_min_timestep_stop_condition(AMUSE_value) + use amuse_support, only: AMUSE_min_timestep_stop_condition + implicit none + double precision, intent(out) :: AMUSE_value + AMUSE_value = AMUSE_min_timestep_stop_condition + get_min_timestep_stop_condition = 0 + end function get_min_timestep_stop_condition + +! Set the minimum timestep stop condition + integer function set_min_timestep_stop_condition(AMUSE_value) + use amuse_support, only: AMUSE_min_timestep_stop_condition + implicit none + double precision, intent(in) :: AMUSE_value + AMUSE_min_timestep_stop_condition = AMUSE_value + set_min_timestep_stop_condition = 0 + end function set_min_timestep_stop_condition + +! Return the wind (mass loss) scheme for RGB stars + integer function get_RGB_wind_scheme(AMUSE_value) + use amuse_support, only: AMUSE_RGB_wind_scheme + implicit none + integer, intent(out) :: AMUSE_value + AMUSE_value = AMUSE_RGB_wind_scheme + get_RGB_wind_scheme = 0 + end function get_RGB_wind_scheme + +! Set the wind (mass loss) scheme for RGB stars + integer function set_RGB_wind_scheme(AMUSE_value) + use amuse_support, only: AMUSE_RGB_wind_scheme + implicit none + integer, intent(in) :: AMUSE_value + AMUSE_RGB_wind_scheme = AMUSE_value + set_RGB_wind_scheme = 0 + end function set_RGB_wind_scheme + +! Return the wind (mass loss) scheme for AGB stars + integer function get_AGB_wind_scheme(AMUSE_value) + use amuse_support, only: AMUSE_AGB_wind_scheme + implicit none + integer, intent(out) :: AMUSE_value + AMUSE_value = AMUSE_AGB_wind_scheme + get_AGB_wind_scheme = 0 + end function get_AGB_wind_scheme + +! Set the wind (mass loss) scheme for AGB stars + integer function set_AGB_wind_scheme(AMUSE_value) + use amuse_support, only: AMUSE_AGB_wind_scheme + implicit none + integer, intent(in) :: AMUSE_value + AMUSE_AGB_wind_scheme = AMUSE_value + set_AGB_wind_scheme = 0 + end function set_AGB_wind_scheme + +! Retrieve the current value of the Reimers wind (mass loss) efficiency + integer function get_reimers_wind_efficiency(AMUSE_value) + use amuse_support, only: AMUSE_reimers_wind_efficiency + implicit none + double precision, intent(out) :: AMUSE_value + AMUSE_value = AMUSE_reimers_wind_efficiency + get_reimers_wind_efficiency = 0 + end function get_reimers_wind_efficiency + +! Set the current value of the Reimers wind (mass loss) efficiency + integer function set_reimers_wind_efficiency(AMUSE_value) + use amuse_support, only: AMUSE_reimers_wind_efficiency + implicit none + double precision, intent(in) :: AMUSE_value + AMUSE_reimers_wind_efficiency = AMUSE_value + set_reimers_wind_efficiency = 0 + end function set_reimers_wind_efficiency + +! Retrieve the current value of the Blocker wind (mass loss) efficiency + integer function get_blocker_wind_efficiency(AMUSE_value) + use amuse_support, only: AMUSE_blocker_wind_efficiency + implicit none + double precision, intent(out) :: AMUSE_value + AMUSE_value = AMUSE_blocker_wind_efficiency + get_blocker_wind_efficiency = 0 + end function get_blocker_wind_efficiency + +! Set the current value of the Blocker wind (mass loss) efficiency + integer function set_blocker_wind_efficiency(AMUSE_value) + use amuse_support, only: AMUSE_blocker_wind_efficiency + implicit none + double precision, intent(in) :: AMUSE_value + AMUSE_blocker_wind_efficiency = AMUSE_value + set_blocker_wind_efficiency = 0 + end function set_blocker_wind_efficiency + +! Retrieve the current value of the de Jager wind (mass loss) efficiency + integer function get_de_jager_wind_efficiency(AMUSE_value) + use amuse_support, only: AMUSE_de_jager_wind_efficiency + implicit none + double precision, intent(out) :: AMUSE_value + AMUSE_value = AMUSE_de_jager_wind_efficiency + get_de_jager_wind_efficiency = 0 + end function get_de_jager_wind_efficiency + +! Set the current value of the de Jager wind (mass loss) efficiency + integer function set_de_jager_wind_efficiency(AMUSE_value) + use amuse_support, only: AMUSE_de_jager_wind_efficiency + implicit none + double precision, intent(in) :: AMUSE_value + AMUSE_de_jager_wind_efficiency = AMUSE_value + set_de_jager_wind_efficiency = 0 + end function set_de_jager_wind_efficiency + +! Retrieve the current value of the Dutch wind (mass loss) efficiency + integer function get_dutch_wind_efficiency(AMUSE_value) + use amuse_support, only: AMUSE_dutch_wind_efficiency + implicit none + double precision, intent(out) :: AMUSE_value + AMUSE_value = AMUSE_dutch_wind_efficiency + get_dutch_wind_efficiency = 0 + end function get_dutch_wind_efficiency + +! Set the current value of the Dutch wind (mass loss) efficiency + integer function set_dutch_wind_efficiency(AMUSE_value) + use amuse_support, only: AMUSE_dutch_wind_efficiency + implicit none + double precision, intent(in) :: AMUSE_value + AMUSE_dutch_wind_efficiency = AMUSE_value + set_dutch_wind_efficiency = 0 + end function set_dutch_wind_efficiency + +! Retrieve the current value of the convective overshoot parameter + integer function get_convective_overshoot_parameter(AMUSE_value) + use amuse_support, only: AMUSE_overshoot_f_above_nonburn + implicit none + double precision, intent(out) :: AMUSE_value + double precision :: check + AMUSE_value = AMUSE_overshoot_f_above_nonburn + get_convective_overshoot_parameter = 0 + end function get_convective_overshoot_parameter + +! Set the current value of the convective overshoot parameter + integer function set_convective_overshoot_parameter(AMUSE_value) + use amuse_support + implicit none + double precision, intent(in) :: AMUSE_value + AMUSE_overshoot_f_above_nonburn = AMUSE_value + AMUSE_overshoot_f_below_nonburn = AMUSE_value + AMUSE_overshoot_f_above_burn_h = AMUSE_value + AMUSE_overshoot_f_below_burn_h = AMUSE_value + AMUSE_overshoot_f_above_burn_he = AMUSE_value + AMUSE_overshoot_f_below_burn_he = AMUSE_value + AMUSE_overshoot_f_above_burn_z = AMUSE_value + AMUSE_overshoot_f_below_burn_z = AMUSE_value + set_convective_overshoot_parameter = 0 + end function set_convective_overshoot_parameter + +! Retrieve the current value of the mixing length ratio + integer function get_mixing_length_ratio(AMUSE_value) + use amuse_support, only: AMUSE_mixing_length_ratio + implicit none + double precision, intent(out) :: AMUSE_value + AMUSE_value = AMUSE_mixing_length_ratio + get_mixing_length_ratio = 0 + end function get_mixing_length_ratio + +! Set the current value of the mixing length ratio + integer function set_mixing_length_ratio(AMUSE_value) + use amuse_support, only: AMUSE_mixing_length_ratio + implicit none + double precision, intent(in) :: AMUSE_value + AMUSE_mixing_length_ratio = AMUSE_value + set_mixing_length_ratio = 0 + end function set_mixing_length_ratio + +! Retrieve the current value of the semi convection efficiency + integer function get_semi_convection_efficiency(AMUSE_value) + use amuse_support, only: AMUSE_semi_convection_efficiency + implicit none + double precision, intent(out) :: AMUSE_value + AMUSE_value = AMUSE_semi_convection_efficiency + get_semi_convection_efficiency = 0 + end function get_semi_convection_efficiency + +! Set the current value of the semi convection efficiency + integer function set_semi_convection_efficiency(AMUSE_value) + use amuse_support, only: AMUSE_semi_convection_efficiency + implicit none + double precision, intent(in) :: AMUSE_value + AMUSE_semi_convection_efficiency = AMUSE_value + set_semi_convection_efficiency = 0 + end function set_semi_convection_efficiency + +! Retrieve the current value of the do_stabilize_new_stellar_model flag + integer function get_stabilize_new_stellar_model_flag(AMUSE_value) + use amuse_support, only: do_stabilize_new_stellar_model + implicit none + integer, intent(out) :: AMUSE_value + if (do_stabilize_new_stellar_model) then + AMUSE_value = 1 + else + AMUSE_value = 0 + end if + get_stabilize_new_stellar_model_flag = 0 + end function get_stabilize_new_stellar_model_flag + +! Set the current value of the do_stabilize_new_stellar_model flag + integer function set_stabilize_new_stellar_model_flag(AMUSE_value) + use amuse_support, only: do_stabilize_new_stellar_model + implicit none + integer, intent(in) :: AMUSE_value + if (AMUSE_value /= 0) then + do_stabilize_new_stellar_model = .true. + else + do_stabilize_new_stellar_model = .false. + end if + set_stabilize_new_stellar_model_flag = 0 + end function set_stabilize_new_stellar_model_flag + +! Retrieve the maximum number of stars that can be allocated in the code + integer function get_maximum_number_of_stars(AMUSE_value) + use star_def, only: max_star_handles + implicit none + integer, intent(out) :: AMUSE_value + AMUSE_value = max_star_handles + get_maximum_number_of_stars = 0 + end function get_maximum_number_of_stars + +! Create a new particle from a user supplied model (non-ZAMS, e.g. merger product) + integer function new_specified_stellar_model(d_mass, radius, rho, temperature, luminosity, & + XH, XHE, XC, XN, XO, XNE, XMG, XSI, XFE, n) + use amuse_support + use star_lib, only: alloc_star, star_setup, show_terminal_header + use star_private_def, only: star_info, get_star_ptr + use run_star_support, only: setup_for_run_star, before_evolve + use read_model, only: set_zero_age_params, finish_load_model + use alloc, only: set_var_info, set_q_flag, allocate_star_info_arrays + use micro, only: init_mesa_micro + use init_model, only: get_zams_model + use chem_lib, only: get_nuclide_index + use star_utils, only: set_qs, set_q_vars + use do_one_utils, only: set_phase_of_evolution + use evolve_support, only: yrs_for_init_timestep + use const_def, only: secyer, Msun, Lsun + + implicit none + integer, intent(in) :: n + double precision, intent(in) :: d_mass(n), radius(n), rho(n), & + temperature(n), luminosity(n), XH(n), XHE(n), XC(n), XN(n), & + XO(n), XNE(n), XMG(n), XSI(n), XFE(n) + double precision :: x(n) + integer :: ierr, k + type (star_info), pointer :: s + + if (new_model_defined) then + new_specified_stellar_model = -30 + return + endif + + new_specified_stellar_model = -1 + id_new_model = alloc_star(ierr) + if (failed('alloc_star', ierr)) return + call get_star_ptr(id_new_model, s, ierr) + if (failed('get_star_ptr', ierr)) return + call star_setup(id_new_model, AMUSE_inlist_path, ierr) + if (failed('star_setup', ierr)) return + ! Replace value of mass and metallicity just read, with supplied values. + s% initial_mass = sum(d_mass) + s% initial_z = AMUSE_metallicity + s% zams_filename = trim(AMUSE_zams_filename) + s% max_age = AMUSE_max_age_stop_condition + s% min_timestep_limit = AMUSE_min_timestep_stop_condition + s% max_model_number = AMUSE_max_iter_stop_condition + s% mixing_length_alpha = AMUSE_mixing_length_ratio + s% alpha_semiconvection = AMUSE_semi_convection_efficiency + s% RGB_wind_scheme = AMUSE_RGB_wind_scheme + s% AGB_wind_scheme = AMUSE_AGB_wind_scheme + s% Reimers_wind_eta = AMUSE_reimers_wind_efficiency + s% Blocker_wind_eta = AMUSE_blocker_wind_efficiency + s% de_Jager_wind_eta = AMUSE_de_jager_wind_efficiency + s% Dutch_wind_eta = AMUSE_dutch_wind_efficiency + s% overshoot_f_above_nonburn = AMUSE_overshoot_f_above_nonburn + s% overshoot_f_below_nonburn = AMUSE_overshoot_f_below_nonburn + s% overshoot_f_above_burn_h = AMUSE_overshoot_f_above_burn_h + s% overshoot_f_below_burn_h = AMUSE_overshoot_f_below_burn_h + s% overshoot_f_above_burn_he = AMUSE_overshoot_f_above_burn_he + s% overshoot_f_below_burn_he = AMUSE_overshoot_f_below_burn_he + s% overshoot_f_above_burn_z = AMUSE_overshoot_f_above_burn_z + s% overshoot_f_below_burn_z = AMUSE_overshoot_f_below_burn_z + + s% doing_first_model_of_run = .true. + s% dt = 0 + s% dt_old = 0 + call set_zero_age_params(s) + s% net_name = 'basic.net' + s% species = 0 + s% v_flag = .false. + s% q_flag = .false. + s% mstar = s% initial_mass*Msun + call set_var_info(s, ierr) + call init_mesa_micro(s, ierr) ! uses s% net_name + s% generations = 1 + + if (n > s% max_allowed_nz) s% max_allowed_nz = n + s% nz = n + call allocate_star_info_arrays(s, ierr) + if (failed('allocate_star_info_arrays', ierr)) return + s% xs(s% i_lnd, :) = log(rho(:)) + s% xs(s% i_lnT, :) = log(temperature(:)) + s% xs(s% i_lnR, :) = log(radius(:)) + if (luminosity(1) <= 0) then + ! No luminosities provided, make an educated guess + do k = 1, s% nz - 3 + if (temperature(k) .gt. 1.0e7) exit + end do + if (debugging) write(*,*) "temperature(", k, ") = ", temperature(k) + if (debugging) write(*,*) "radius(", k, ") = ", radius(k) + x = radius / radius(k) + if (debugging) write(*,*) "x(", k, ") = ", x(k), x(1), x(s% nz) + s% xs(s% i_lum, :) = Lsun * s% initial_mass**3.5 * (1.0 - (1.0 + x) * exp(-x**2 - x)) + else + s% xs(s% i_lum, :) = luminosity(:) + endif + s% dq(:) = d_mass(:) / s% initial_mass + s% xa(s% net_iso(get_nuclide_index('h1')), :) = XH(:) + s% xa(s% net_iso(get_nuclide_index('he3')), :) = 0.0d0 + s% xa(s% net_iso(get_nuclide_index('he4')), :) = XHE(:) + s% xa(s% net_iso(get_nuclide_index('c12')), :) = XC(:) + s% xa(s% net_iso(get_nuclide_index('n14')), :) = XN(:) + s% xa(s% net_iso(get_nuclide_index('o16')), :) = XO(:) + s% xa(s% net_iso(get_nuclide_index('ne20')), :) = XNE(:) + s% xa(s% net_iso(get_nuclide_index('mg24')), :) = XMG(:) + XSI(:) + XFE(:) ! basic net for now... + s% prev_Lmax = maxval(abs(s% xs(s% i_lum, 1:n))) + call set_qs(s% nz, s% q, s% dq, ierr) + if (failed('set_qs', ierr)) return + if (s% q_flag) call set_q_vars(s) + + s% dt_next = yrs_for_init_timestep(s)*secyer + s% dxs(:,:) = 0 + ! + s% extra_heat(:) = 0 + s% rate_factors(:) = 1 + call finish_load_model(s, ierr) + call set_phase_of_evolution(s) + if (s% q_flag) call set_q_flag(s% id, s% q_flag, ierr) + + call setup_for_run_star(id_new_model, s, .false., ierr) + if (failed('setup_for_run_star', ierr)) return + call before_evolve(id_new_model, ierr) + if (failed('before_evolve', ierr)) return + if (debugging) s% trace_evolve = .true. + if (debugging) s% report_ierr = .true. + call show_terminal_header(id_new_model, ierr) + if (failed('show_terminal_header', ierr)) return + call flush() + new_model_defined = .true. + new_specified_stellar_model = 0 + end function new_specified_stellar_model + + integer function new_stellar_model(d_mass, radius, rho, temperature, luminosity, & + XH, XHE, XC, XN, XO, XNE, XMG, XSI, XFE, n) + use amuse_support + use star_lib, only: alloc_star, star_setup, show_terminal_header + use star_def, only: result_reason_str + use star_private_def, only: star_info, get_star_ptr + use run_star_support, only: setup_for_run_star, before_evolve + use read_model, only: set_zero_age_params, finish_load_model + use alloc, only: set_var_info, set_q_flag, allocate_star_info_arrays + use micro, only: init_mesa_micro + use init_model, only: get_zams_model + use chem_lib, only: get_nuclide_index + use star_utils, only: set_qs, set_q_vars + use do_one_utils, only: set_phase_of_evolution + use evolve_support, only: yrs_for_init_timestep + use mesh_adjust, only: do_mesh_adjust + use adjust_mesh, only: remesh + use hydro_eqns, only: P_eqn_phot + use hydro_vars, only: set_vars + use const_def, only: secyer, Msun, Lsun + use star_utils, only: set_xqs + + implicit none + integer, intent(in) :: n + double precision, intent(in) :: d_mass(n), radius(n), rho(n), & + temperature(n), luminosity(n), XH(n), XHE(n), XC(n), XN(n), & + XO(n), XNE(n), XMG(n), XSI(n), XFE(n) + double precision :: total_mass, original_timestep, f + double precision :: original_timestep_limit, original_dxdt_nuc_f + integer :: new_particle, ierr, tmp1_id_new_model, tmp2_id_new_model, & + new_specified_stellar_model, finalize_stellar_model, match_mesh, & + do_evolve_one_step, erase_memory, index_low, k1, k2 + logical :: do_T = .false. + logical :: do_restore_timestep = .false. + type (star_info), pointer :: s, s_tmp + + if (new_model_defined) then + new_stellar_model = -30 + return + endif + + ! *** Define a temporary star with the target 'new' structure: *** + new_stellar_model = new_specified_stellar_model(d_mass, radius, rho, & + temperature, luminosity, XH, XHE, XC, XN, XO, XNE, XMG, XSI, XFE, n) + if (failed('new_specified_stellar_model', new_stellar_model)) return + + if (do_stabilize_new_stellar_model) then + new_stellar_model = -1 + if (debugging) write(*,*) 'tmp1_id_new_model', tmp1_id_new_model + ierr = finalize_stellar_model(tmp1_id_new_model, 0.0d0) + if (failed('finalize_stellar_model', ierr)) return + call get_star_ptr(tmp1_id_new_model, s_tmp, ierr) + if (failed('get_star_ptr', ierr)) return + if (debugging) write(*,*) 'CHECK:', s_tmp% nz, n + + ! *** Now, first create a normal ZAMS star *** + total_mass = sum(d_mass) + ierr = new_particle(tmp2_id_new_model, total_mass) + if (failed('new_particle', ierr)) return + id_new_model = tmp2_id_new_model + if (debugging) write(*,*) 'id_new_model', id_new_model + call get_star_ptr(id_new_model, s, ierr) + if (failed('get_star_ptr', ierr)) return + + ! *** Match the mesh containing the target structure to the mesh of the new particle *** + ierr = match_mesh(tmp1_id_new_model, s% nz, s% dq) + if (failed('match_mesh', ierr)) return + + ! *** Copy the relevant variables (chemical fractions only, or also hydro vars...) + original_timestep_limit = s% min_timestep_limit + s% min_timestep_limit = 1.0d-12 + original_dxdt_nuc_f = s% dxdt_nuc_factor + s% dxdt_nuc_factor = 1.0d-99 + original_timestep = s% dt_next + f = 1.0d-4 + if (debugging) then + s% trace_evolve = .true. + s% report_ierr = .true. + end if + do + s% xa(:,:) = f * s_tmp% xa(:,:) + (1.0d0 - f) * s% xa(:,:) + ierr = erase_memory(id_new_model) + if (failed('erase_memory', ierr)) return + s% dt_next = 10.0 * s% min_timestep_limit + ierr = do_evolve_one_step(id_new_model) + if (failed('do_evolve_one_step', ierr)) return + if (debugging) write(*,*) 'f: ', f + call check_remeshed(s% nz, s_tmp% nz, s% dq, s_tmp% dq, ierr) + if (failed('check_remeshed', ierr)) then + ierr = match_mesh(tmp1_id_new_model, s% nz, s% dq) + if (failed('match_mesh', ierr)) return + call check_remeshed(s% nz, s_tmp% nz, s% dq, s_tmp% dq, ierr) + if (failed('check_remeshed 2', ierr)) return + end if + if (debugging) write(*,*) 'CHECK check_remeshed OK' + if (debugging) write(*,*) 'Backups', s% number_of_backups_in_a_row + if (s% number_of_backups_in_a_row > 15) exit + if (f >= 1.0d0) exit + if (f >= 0.1d0) then + f = min(1.1d0 * f, 1.0d0) + else + f = 1.5d0 * f + endif + end do + + ! *** Give the model the opportunity to remesh *** + s% mesh_delta_coeff = 0.5 + ierr = remesh(s, .true., .false., .false.) + if (failed('remesh', ierr)) return + ierr = erase_memory(id_new_model) + if (failed('erase_memory', ierr)) return + ierr = match_mesh(tmp1_id_new_model, s% nz, s% dq) + if (failed('match_mesh', ierr)) return + s% number_of_backups_in_a_row = 0 + s% mesh_delta_coeff = 1 + + ! *** Optionally, also do hydro vars *** + if (do_T) then + f = 1.0d-8 + index_low = s% nz / 10 ! Do not meddle with the atmosphere! + do + s% xa(:,:) = s_tmp% xa(:,:) + s% xs(s% i_lnT,index_low:) = f*s_tmp%xs(s_tmp%i_lnT,index_low:) + (1d0-f)*s%xs(s%i_lnT,index_low:) + ierr = erase_memory(id_new_model) + if (failed('erase_memory', ierr)) return + s% dt_next = 10.0 * s% min_timestep_limit + ierr = do_evolve_one_step(id_new_model) + if (failed('do_evolve_one_step', ierr)) return + if (debugging) write(*,*) 'f: ', f + call check_remeshed(s% nz, s_tmp% nz, s% dq, s_tmp% dq, ierr) + if (failed('check_remeshed', ierr)) return + if (debugging) write(*,*) 'CHECK check_remeshed OK' + if (debugging) write(*,*) 'Backups', s% number_of_backups_in_a_row + if (f >= 1.0d0) exit + f = min(1.5d0 * f, 1.0d0) + end do + end if + + ! *** Restore the original timestep *** + if (debugging) write(*,*) 'timesteps', s% dt_old, s% dt, s% dt_next, original_timestep + s% dt_next = 10.0 * s% min_timestep_limit + s% dt = 10.0 * s% min_timestep_limit + if (debugging) write(*,*) 'timesteps', s% dt_old, s% dt, s% dt_next, original_timestep + ierr = do_evolve_one_step(id_new_model) + if (debugging) write(*,*) ierr, s% result_reason, trim(result_reason_str(s% result_reason)) + if (debugging) write(*,*) 'timesteps', s% dt_old, s% dt, s% dt_next, original_timestep + if (do_restore_timestep) then + do k1 = 1, 10 + if (debugging) write(*,*) 'increasing timesteps', s% dt_old, s% dt, s% dt_next, original_timestep + if (debugging) write(*,*) 'Backups', s% number_of_backups_in_a_row + s% xa(:,:) = s_tmp% xa(:,:) + if (do_T) s% xs(s% i_lnT,index_low:) = s_tmp% xs(s_tmp% i_lnT,index_low:) + ierr = erase_memory(id_new_model) + if (failed('erase_memory', ierr)) return + do k2 = 1, 10 + ierr = do_evolve_one_step(id_new_model) + if (debugging) write(*,*) ierr, s% result_reason, trim(result_reason_str(s% result_reason)) + end do + if (s% number_of_backups_in_a_row > 0) exit + end do + end if + + call check_remeshed(s% nz, s_tmp% nz, s% dq, s_tmp% dq, ierr) + if (failed('check_remeshed', ierr)) then + ierr = match_mesh(tmp1_id_new_model, s% nz, s% dq) + if (failed('match_mesh', ierr)) return + call check_remeshed(s% nz, s_tmp% nz, s% dq, s_tmp% dq, ierr) + if (failed('check_remeshed 2', ierr)) return + end if + if (do_T) s% xs(s% i_lnT,index_low:) = s_tmp% xs(s_tmp% i_lnT,index_low:) + ierr = erase_memory(id_new_model) + if (failed('erase_memory', ierr)) return + + s% dxdt_nuc_factor = original_dxdt_nuc_f + + if (s% dt_next > 10.0 * original_timestep_limit) then + s% min_timestep_limit = original_timestep_limit + else + s% min_timestep_limit = s% dt_next / 10.0 + endif + + if (debugging) write(*,*) 'Backups:', s% number_of_backups_in_a_row + s% number_of_backups_in_a_row = 0 + if (debugging) write(*,*) 'Backups reset:', s% number_of_backups_in_a_row + s% trace_evolve = .false. + s% report_ierr = .false. + call flush() + new_model_defined = .true. + new_stellar_model = 0 + end if + + contains + + subroutine check_remeshed(nz, nz_orig, dq, dq_orig, ierr) + implicit none + integer, intent(in) :: nz, nz_orig + double precision, intent(in) :: dq(nz), dq_orig(nz_orig) + integer, intent(out) :: ierr + integer :: i + if (nz .ne. nz_orig) then + ierr = -1 + return + end if + do i = 1, nz + if (dq(i) .ne. dq_orig(i)) then + ierr = -1 + return + end if + end do + ierr = 0 + end subroutine check_remeshed + + end function new_stellar_model + + function finalize_stellar_model(star_id, age_tag) + use amuse_support + use evolve, only: set_age + implicit none + integer :: finalize_stellar_model, ierr + integer, intent(out) :: star_id + double precision, intent(in) :: age_tag + + if (.not. new_model_defined) then + finalize_stellar_model = -35 + return + endif + + finalize_stellar_model = -1 + star_id = id_new_model + number_of_particles = star_id + call set_age(id_new_model, age_tag, ierr) + if (failed('set_age', ierr)) return + call flush() + + new_model_defined = .false. + finalize_stellar_model = 0 + end function + + ! matches/interpolates existing mesh based on supplied dq's + integer function match_mesh(model_id, nz_target, dq_target) + use amuse_support, only: failed, debugging + use star_private_def, only: star_info, get_star_ptr + use alloc, only: free_star_info_arrays, allocate_star_info_arrays + use mesh_plan, only: do_mesh_plan + use mesh_adjust, only: do_mesh_adjust + use adjust_mesh_support, only: check_validity + use hydro_vars, only: set_vars + use rates_def, only: i_rate, ipp, icno, i3alf, iphoto + use net_lib, only: clean_up_fractions + use num_lib, only: safe_log10 + use utils_lib + use star_utils, only: set_q_vars, report_xa_bad_nums, & + std_dump_model_info_for_ndiff, set_qs, set_xqs + use chem_def + + integer, intent(in) :: model_id, nz_target + double precision, intent(inout) :: dq_target(nz_target) + + type (star_info), pointer :: s_tmp + logical, parameter :: dbg_remesh = .true. + logical, parameter :: skip_net = .false., check_for_bad_nums = .true. + integer :: k, k2, ierr, species, nvar, nz, nz_new, nz_old, & + unchanged, split, merged + type (star_info), target :: prev_info + type (star_info), pointer :: prv + double precision, pointer, dimension(:) :: xq_old, xq_new, energy + + double precision, parameter :: max_sum_abs = 10d0 + double precision, parameter :: xsum_tol = 1d-2 + double precision, parameter :: h_cntr_limit = 0.5d0 ! for pre-MS decision + double precision, parameter :: he_cntr_limit = 0.1d0 ! for RGB vs AGB decision + + 3 format(a40,2i6,99(1pe26.16)) + + call get_star_ptr(model_id, s_tmp, ierr) + if (failed('get_star_ptr', ierr)) return + if (debugging) write(*,*) 'enter match_mesh' + ierr = 0 + match_mesh = -1 + + species = s_tmp% species + nz_old = s_tmp% nz + nz = nz_old + nz_new = nz_target + + call clean_up_fractions(1, nz, species, nz, s_tmp% xa, max_sum_abs, xsum_tol, ierr) + if (failed('clean_up_fractions', ierr)) return + + nullify(xq_old, xq_new) + allocate(energy(nz), stat=ierr) + + energy(1:nz) = exp(s_tmp% lnE(1:nz)) + + s_tmp% mesh_call_number = s_tmp% mesh_call_number + 1 + + ! save pointers to arrays that will need to be updated for new mesh + prv => prev_info + prv = s_tmp ! this makes copies of pointers and scalars + + if (associated(s_tmp% comes_from)) deallocate(s_tmp% comes_from) + allocate(s_tmp% comes_from(nz_target), xq_old(nz), xq_new(nz_target), stat=ierr) + if (failed('allocate', ierr)) return + + call check_validity(s_tmp, ierr) + if (failed('check_validity', ierr)) return + + if (check_for_bad_nums) then + if (has_bad_num(species*nz, s_tmp% xa)) then + write(*,*) 'bad num in xa before calling mesh_plan: model_number', s_tmp% model_number + call report_xa_bad_nums(s_tmp, ierr) + stop 'remesh' + end if + end if + + call set_xqs(nz, xq_old, s_tmp% dq, ierr) + if (failed('set_xqs xq_old', ierr)) return + call set_xqs(nz_target, xq_new, dq_target, ierr) + if (failed('set_xqs xq_new', ierr)) return + + ! Set comes_from + ! ! xq_old(comes_from(k)+1) > xq_new(k) >= xq_old(comes_from(k)), if comes_from(k) < nz_old. + s_tmp% comes_from(:) = 0 + k2 = 1 + s_tmp% comes_from(1) = k2 + do k = 2, nz_target + do + if (k2 == nz) exit + if (xq_new(k) >= xq_old(k2+1)) then + k2 = k2 + 1 + else + exit + end if + end do + s_tmp% comes_from(k) = k2 + end do + nz = nz_new + s_tmp% nz = nz + nvar = s_tmp% nvar + + call allocate_star_info_arrays(s_tmp, ierr) + if (failed('allocate_star_info_arrays', ierr)) return + + if (associated(s_tmp% cell_type)) deallocate(s_tmp% cell_type) + allocate(s_tmp% cell_type(nz)) + call set_types_of_new_cells(s_tmp% cell_type) + + s_tmp% rate_factors(1:prv% num_reactions) = prv% rate_factors(1:prv% num_reactions) + + ! store new q and dq + s_tmp% dq(:) = dq_target(:) + call set_qs(nz, s_tmp% q, s_tmp% dq, ierr) + if (failed('set_qs', ierr)) return + + ! testing -- check for q strictly decreasing + do k = 2, nz + if (xq_new(k) <= xq_new(k-1)) then + write(*,3) 'bad xq_new before call do_mesh_adjust', & + k, nz, xq_new(k), xq_new(k-1), dq_target(k-1), xq_new(k-1) + dq_target(k-1) + stop 'adjust mesh' + end if + end do + + if (s_tmp% q_flag) call set_q_vars(s_tmp) + + if (dbg_remesh) write(*,*) 'call do_mesh_adjust' + call do_mesh_adjust( & + nz, nz_old, prv% xs, prv% xa, energy, prv% eta, prv% dq, xq_old, & + s_tmp% xs, s_tmp% xa, s_tmp% dq, xq_new, s_tmp% species, s_tmp% chem_id, s_tmp% net_iso, s_tmp% eos_handle, & + s_tmp% mesh_adjust_use_quadratic, s_tmp% mesh_adjust_get_T_from_E, & + s_tmp% i_lnd, s_tmp% i_lnT, s_tmp% i_lnR, s_tmp% i_lum, s_tmp% i_vel, s_tmp% i_lndq, s_tmp% i_lnq, & + s_tmp% q_flag, s_tmp% v_flag, & + prv% mstar, s_tmp% comes_from, s_tmp% cell_type, ierr) + if (failed('do_mesh_adjust', ierr)) return + if (dbg_remesh) write(*,*) 'back from do_mesh_adjust' + + ! testing + do k = 2, nz + if (xq_new(k) <= xq_new(k-1)) then + write(*,3) 'bad xq_new after call do_mesh_adjust', k, nz, xq_new(k), xq_new(k-1) + stop 'adjust mesh' + end if + end do + + if (ierr /= 0 .and. s_tmp% report_ierr) then + write(*,*) 'mesh_adjust problem' + write(*,*) 'doing mesh_call_number', s_tmp% mesh_call_number + write(*,*) 's_tmp% model_number', s_tmp% model_number + write(*,*) 's_tmp% nz', s_tmp% nz + write(*,*) 's_tmp% num_retries', s_tmp% num_retries + write(*,*) 's_tmp% num_backups', s_tmp% num_backups + write(*,*) + end if + + if (check_for_bad_nums) then + if (has_bad_num(species*nz, s_tmp% xa)) then + write(*,*) 'bad num in xa after calling mesh_adjust: model_number', s_tmp% model_number + stop 'remesh' + end if + end if + + if (s_tmp% prev_cdc_tau > 0) then ! interpolate cdc + call set_prev_cdc(ierr) + if (ierr /= 0 .and. s_tmp% report_ierr) & + write(*,*) 'mesh_adjust problem: ierr from set_prev_cdc' + end if + + call free_star_info_arrays(prv) + + call dealloc + match_mesh = 0 + + contains + + subroutine set_prev_cdc(ierr) + use interp_1d_def + use interp_1d_lib + integer, intent(out) :: ierr + integer, parameter :: nwork = pm_work_size + double precision, pointer :: work(:,:) + ierr = 0 + allocate(work(nz_old, nwork), stat=ierr) + if (ierr /= 0) return + call interpolate_vector( & + nz_old, prv% q, nz, s_tmp% q, prv% cdc, s_tmp% cdc_prev, interp_pm, nwork, work, ierr) + deallocate(work) + end subroutine set_prev_cdc + + + subroutine set_types_of_new_cells(cell_type) + use mesh_adjust, only: split_type, unchanged_type, merged_type + integer, pointer :: cell_type(:) + integer :: k, k_old, new_type + + 2 format(a40,2i6,99(1pe26.16)) + + unchanged=0; split=0; merged=0 + + do k=1,nz_new + k_old = s_tmp% comes_from(k) + new_type = -111 + if (xq_new(k) < xq_old(k_old)) then + write(*,*) 'xq_new(k) < xq_old(k_old)' + write(*,2) 'xq_new(k)', k, xq_new(k) + write(*,2) 'xq_old(k_old)', k_old, xq_old(k_old) + write(*,*) 'adjust mesh set_types_of_new_cells' + stop 1 + else if (xq_new(k) > xq_old(k_old)) then + new_type = split_type + else if (k_old == nz_old) then + if (k == nz_new) then + new_type = unchanged_type + else + new_type = split_type + end if + else if (k == nz_new) then + new_type = split_type + else ! k_old < nz_old .and. k < nz .and. xq_new(k) == xq_old(k_old) + if (xq_new(k+1) == xq_old(k_old+1)) then + new_type = unchanged_type + else if (xq_new(k+1) > xq_old(k_old+1)) then + new_type = merged_type + else + new_type = split_type + end if + end if + cell_type(k) = new_type + select case (new_type) + case (split_type) + split = split + 1 + case (unchanged_type) + unchanged = unchanged + 1 + case (merged_type) + merged = merged + 1 + case default + write(*,*) 'failed to set new_type in adjust mesh set_types_of_new_cells' + stop 'set_types_of_new_cells' + end select + end do + + if (unchanged + split + merged /= nz_new) then + write(*,2) 'unchanged + split + merged', unchanged + split + merged + write(*,2) 'nz_new', nz_new + stop 'set_types_of_new_cells' + end if + + end subroutine set_types_of_new_cells + + subroutine dealloc + if (associated(xq_old)) deallocate(xq_old) + if (associated(xq_new)) deallocate(xq_new) + if (associated(energy)) deallocate(energy) + end subroutine dealloc + + end function match_mesh diff --git a/src/amuse_mesa_r2208/interface.py b/src/amuse_mesa_r2208/interface.py new file mode 100644 index 0000000000..e54f7f110a --- /dev/null +++ b/src/amuse_mesa_r2208/interface.py @@ -0,0 +1,1558 @@ +import os +import numpy +import shutil +from operator import itemgetter + +from amuse.community import * +from amuse.community.interface.se import StellarEvolution, StellarEvolutionInterface, \ + InternalStellarStructure, InternalStellarStructureInterface + +from amuse.units.quantities import VectorQuantity +from amuse.support.interface import InCodeComponentImplementation +from amuse.support.options import option + +class MesaInterface(CodeInterface, LiteratureReferencesMixIn, StellarEvolutionInterface, + InternalStellarStructureInterface, CodeWithDataDirectories): + """ + The software project MESA (Modules for Experiments in Stellar Astrophysics, + http://mesa.sourceforge.net/), aims to provide state-of-the-art, robust, + and efficient open source modules, usable singly or in combination for a + wide range of applications in stellar astrophysics. The AMUSE interface to + MESA can create and evolve stars using the MESA/STAR module. If you order a + metallicity you haven't used before, starting models will be computed + automatically and saved in the `mesa/src/data/star_data/starting_models` + directory (please be patient...). All metallicities are supported, even the + interesting case of Z=0. The supported stellar mass range is from + about 0.1 to 100 Msun. + + References: + .. [#] ADS:2011ApJS..192....3P (Paxton, Bildsten, Dotter, Herwig, Lesaffre & Timmes 2011, ApJS, + .. [#] http://mesa.sourceforge.net/) + """ + def __init__(self, **options): + CodeInterface.__init__(self, name_of_the_worker="mesa_r2208_worker", **options) + LiteratureReferencesMixIn.__init__(self) + CodeWithDataDirectories.__init__(self) + self.mesa_version = "2208" + + @property + def default_path_to_inlist(self): + return os.path.join(self.get_data_directory(), 'AMUSE_inlist') + + @option(type="string", sections=('data')) + def default_path_to_MESA_data(self): + return os.path.join(os.path.dirname(__file__), 'data', 'data') + + @legacy_function + def set_MESA_paths(): + """ + Set the paths to the MESA inlist and data directories. + """ + function = LegacyFunctionSpecification() + function.addParameter('inlist_path', dtype='string', direction=function.IN, + description = "Path to the inlist file.") + function.addParameter('MESA_data_path', dtype='string', direction=function.IN, + description = "Path to the data directory.") + function.addParameter('local_data_path', dtype='string', direction=function.IN, + description = "Path to the data directory.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value was set + -1 - ERROR + Directory does not exist + """ + return function + + @legacy_function + def get_maximum_number_of_stars(): + """ + Retrieve the maximum number of stars that can be + handled by this instance. + """ + function = LegacyFunctionSpecification() + function.addParameter('maximum_number_of_stars', dtype='int32', direction=function.OUT, + description = "The current value of the maximum number of stars") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value of was retrieved + """ + return function + + @legacy_function + def new_zams_model(): + function = LegacyFunctionSpecification() + function.addParameter('status', dtype='int32', direction=function.OUT) + return function + + @legacy_function + def new_pre_ms_particle(): + """ + Define a new pre-main-sequence star in the code. The star will start with the given mass. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.OUT + , description="The new index for the star. This index can be used to refer to this star in other functions") + function.addParameter('mass', dtype='float64', direction=function.IN + , description="The initial mass of the star") + function.result_type = 'int32' + return function + + @legacy_function + def set_time_step(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('time_step', dtype='float64', direction=function.IN + , description="The next timestep for the star.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + A star with the given index was not found. + """ + return function + + + @legacy_function + def get_core_mass(): + """ + Retrieve the current core mass of the star, where hydrogen abundance is <= h1_boundary_limit + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('core_mass', dtype='float64', direction=function.OUT + , description="The current core mass of the star, where hydrogen abundance is <= h1_boundary_limit") + function.result_type = 'int32' + return function + + @legacy_function + def get_mass_loss_rate(): + """ + Retrieve the current mass loss rate of the star. (positive for winds, negative for accretion) + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('mass_loss_rate', dtype='float64', direction=function.OUT + , description="The current mass loss rate of the star. (positive for winds, negative for accretion)") + function.result_type = 'int32' + return function + + @legacy_function + def get_manual_mass_transfer_rate(): + """ + Retrieve the current user-specified mass transfer rate of the star. (negative for winds, positive for accretion) + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('mass_change', dtype='float64', direction=function.OUT + , description="The current user-specified mass transfer rate of the star. (negative for winds, positive for accretion)") + function.result_type = 'int32' + return function + + @legacy_function + def set_manual_mass_transfer_rate(): + """ + Set a new user-specified mass transfer rate of the star. (negative for winds, positive for accretion) + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('mass_change', dtype='float64', direction=function.IN + , description="The new user-specified mass transfer rate of the star. (negative for winds, positive for accretion)") + function.result_type = 'int32' + return function + + @legacy_function + def get_accrete_same_as_surface(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) + function.addParameter('accrete_same_as_surface_flag', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + @legacy_function + def set_accrete_same_as_surface(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) + function.addParameter('accrete_same_as_surface_flag', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + @legacy_function + def get_accrete_composition_non_metals(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) + function.addParameter('h1', dtype='float64', direction=function.OUT) + function.addParameter('h2', dtype='float64', direction=function.OUT) + function.addParameter('he3', dtype='float64', direction=function.OUT) + function.addParameter('he4', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + @legacy_function + def set_accrete_composition_non_metals(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) + function.addParameter('h1', dtype='float64', direction=function.IN) + function.addParameter('h2', dtype='float64', direction=function.IN) + function.addParameter('he3', dtype='float64', direction=function.IN) + function.addParameter('he4', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + @legacy_function + def get_accrete_composition_metals_identifier(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) + function.addParameter('accrete_composition_metals_identifier', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + @legacy_function + def set_accrete_composition_metals_identifier(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) + function.addParameter('accrete_composition_metals_identifier', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + @legacy_function + def get_accrete_composition_metals(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) + function.addParameter('li', dtype='float64', direction=function.OUT) + function.addParameter('be', dtype='float64', direction=function.OUT) + function.addParameter('b', dtype='float64', direction=function.OUT) + function.addParameter('c', dtype='float64', direction=function.OUT) + function.addParameter('n', dtype='float64', direction=function.OUT) + function.addParameter('o', dtype='float64', direction=function.OUT) + function.addParameter('f', dtype='float64', direction=function.OUT) + function.addParameter('ne', dtype='float64', direction=function.OUT) + function.addParameter('na', dtype='float64', direction=function.OUT) + function.addParameter('mg', dtype='float64', direction=function.OUT) + function.addParameter('al', dtype='float64', direction=function.OUT) + function.addParameter('si', dtype='float64', direction=function.OUT) + function.addParameter('p', dtype='float64', direction=function.OUT) + function.addParameter('s', dtype='float64', direction=function.OUT) + function.addParameter('cl', dtype='float64', direction=function.OUT) + function.addParameter('ar', dtype='float64', direction=function.OUT) + function.addParameter('k', dtype='float64', direction=function.OUT) + function.addParameter('ca', dtype='float64', direction=function.OUT) + function.addParameter('sc', dtype='float64', direction=function.OUT) + function.addParameter('ti', dtype='float64', direction=function.OUT) + function.addParameter('v', dtype='float64', direction=function.OUT) + function.addParameter('cr', dtype='float64', direction=function.OUT) + function.addParameter('mn', dtype='float64', direction=function.OUT) + function.addParameter('fe', dtype='float64', direction=function.OUT) + function.addParameter('co', dtype='float64', direction=function.OUT) + function.addParameter('ni', dtype='float64', direction=function.OUT) + function.addParameter('cu', dtype='float64', direction=function.OUT) + function.addParameter('zn', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + @legacy_function + def set_accrete_composition_metals(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN) + function.addParameter('li', dtype='float64', direction=function.IN) + function.addParameter('be', dtype='float64', direction=function.IN) + function.addParameter('b', dtype='float64', direction=function.IN) + function.addParameter('c', dtype='float64', direction=function.IN) + function.addParameter('n', dtype='float64', direction=function.IN) + function.addParameter('o', dtype='float64', direction=function.IN) + function.addParameter('f', dtype='float64', direction=function.IN) + function.addParameter('ne', dtype='float64', direction=function.IN) + function.addParameter('na', dtype='float64', direction=function.IN) + function.addParameter('mg', dtype='float64', direction=function.IN) + function.addParameter('al', dtype='float64', direction=function.IN) + function.addParameter('si', dtype='float64', direction=function.IN) + function.addParameter('p', dtype='float64', direction=function.IN) + function.addParameter('s', dtype='float64', direction=function.IN) + function.addParameter('cl', dtype='float64', direction=function.IN) + function.addParameter('ar', dtype='float64', direction=function.IN) + function.addParameter('k', dtype='float64', direction=function.IN) + function.addParameter('ca', dtype='float64', direction=function.IN) + function.addParameter('sc', dtype='float64', direction=function.IN) + function.addParameter('ti', dtype='float64', direction=function.IN) + function.addParameter('v', dtype='float64', direction=function.IN) + function.addParameter('cr', dtype='float64', direction=function.IN) + function.addParameter('mn', dtype='float64', direction=function.IN) + function.addParameter('fe', dtype='float64', direction=function.IN) + function.addParameter('co', dtype='float64', direction=function.IN) + function.addParameter('ni', dtype='float64', direction=function.IN) + function.addParameter('cu', dtype='float64', direction=function.IN) + function.addParameter('zn', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_number_of_backups_in_a_row(): + """ + Retrieve the number_of_backups_in_a_row of the star. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of number_of_backups_in_a_row") + function.addParameter('n_backup', dtype='int32', direction=function.OUT + , description="The current number_of_backups_in_a_row of the star.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The number_of_backups_in_a_row was retrieved. + -1 - ERROR + A star with the given index was not found. + """ + return function + + @legacy_function + def reset_number_of_backups_in_a_row(): + """ + Reset number_of_backups_in_a_row of the star. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to reset the value of number_of_backups_in_a_row") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The number_of_backups_in_a_row was reset. + -1 - ERROR + A star with the given index was not found. + """ + return function + + @legacy_function + def get_mass_fraction_at_zone(): + """ + Retrieve the mass fraction at the specified zone/mesh-cell of the star. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('zone', dtype='int32', direction=function.IN + , description="The zone/mesh-cell of the star to get the value of") + function.addParameter('dq_i', dtype='float64', direction=function.OUT + , description="The mass fraction at the specified zone/mesh-cell of the star.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value was retrieved. + -1 - ERROR + A star with the given index was not found. + -2 - ERROR + A zone with the given index was not found. + """ + return function + + @legacy_function + def set_mass_fraction_at_zone(): + """ + Set the mass fraction at the specified zone/mesh-cell of the star. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to set the value of") + function.addParameter('zone', dtype='int32', direction=function.IN + , description="The zone/mesh-cell of the star to set the value of") + function.addParameter('dq_i', dtype='float64', direction=function.IN + , description="The mass fraction at the specified zone/mesh-cell of the star.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value was set. + -1 - ERROR + A star with the given index was not found. + -2 - ERROR + A zone with the given index was not found. + """ + return function + + @legacy_function + def get_luminosity_at_zone(): + """ + Retrieve the luminosity at the specified zone/mesh-cell of the star. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('zone', dtype='int32', direction=function.IN + , description="The zone/mesh-cell of the star to get the value of") + function.addParameter('lum_i', dtype='float64', direction=function.OUT + , description="The luminosity at the specified zone/mesh-cell of the star.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value was retrieved. + -1 - ERROR + A star with the given index was not found. + -2 - ERROR + A zone with the given index was not found. + """ + return function + + @legacy_function + def set_luminosity_at_zone(): + """ + Set the luminosity at the specified zone/mesh-cell of the star. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to set the value of") + function.addParameter('zone', dtype='int32', direction=function.IN + , description="The zone/mesh-cell of the star to set the value of") + function.addParameter('lum_i', dtype='float64', direction=function.IN + , description="The luminosity at the specified zone/mesh-cell of the star.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value was set. + -1 - ERROR + A star with the given index was not found. + -2 - ERROR + A zone with the given index was not found. + """ + return function + + @legacy_function + def get_entropy_at_zone(): + """ + Retrieve the entropy at the specified zone/mesh-cell of the star. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('zone', dtype='int32', direction=function.IN + , description="The zone/mesh-cell of the star to get the value of") + function.addParameter('S_i', dtype='float64', direction=function.OUT + , description="The specific entropy at the specified zone/mesh-cell of the star.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value was retrieved. + -1 - ERROR + A star with the given index was not found. + -2 - ERROR + A zone with the given index was not found. + """ + return function + + @legacy_function + def get_thermal_energy_at_zone(): + """ + Retrieve the entropy at the specified zone/mesh-cell of the star. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('zone', dtype='int32', direction=function.IN + , description="The zone/mesh-cell of the star to get the value of") + function.addParameter('E_i', dtype='float64', direction=function.OUT + , description="The specific thermal energy at the specified zone/mesh-cell of the star.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value was retrieved. + -1 - ERROR + A star with the given index was not found. + -2 - ERROR + A zone with the given index was not found. + """ + return function + + @legacy_function + def get_brunt_vaisala_frequency_squared_at_zone(): + """ + Retrieve the Brunt-Vaisala frequency squared at the specified zone/mesh-cell of the star. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('zone', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('brunt_N2', dtype='float64', direction=function.OUT, unit=units.s**-2) + function.result_type = 'int32' + return function + + @legacy_function + def get_id_of_species(): + """ + Retrieve the chem_ID of the chemical abundance variable of the star. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('species', dtype='int32', direction=function.IN + , description="The species of the star to get the name of") + function.addParameter('species_id', dtype='int32', direction=function.OUT + , description="The chem_ID of the chemical abundance variable of the star.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value was retrieved. + -1 - ERROR + A star with the given index was not found. + """ + return function + + @legacy_function + def get_mass_of_species(): + """ + Retrieve the mass number of the chemical abundance variable of the star. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('species', dtype='int32', direction=function.IN + , description="The species of the star to get the mass number of") + function.addParameter('species_mass', dtype='float64', direction=function.OUT + , description="The mass number of the chemical abundance variable of the star.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value was retrieved. + -1 - ERROR + A star with the given index was not found. + """ + return function + + @legacy_function + def erase_memory(): + """ + Erase memory of the star, i.e. copy the current structure over the memory of + the structure of the previous steps. Useful after setting the stucture of + the star, to prevent backup steps to undo changes + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.result_type = 'int32' + return function + + @legacy_function + def get_max_age_stop_condition(): + """ + Retrieve the current maximum age stop condition of this instance (in years). + Evolution will stop once the star has reached this maximum age. + """ + function = LegacyFunctionSpecification() + function.addParameter('max_age_stop_condition', dtype='float64', direction=function.OUT + , description="The current maximum age stop condition of this instance (in years).") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value was retrieved + -1 - ERROR + The code could not retrieve the value. + """ + return function + + @legacy_function + def set_max_age_stop_condition(): + """ + Set the new maximum age stop condition of this instance (in years). + Evolution will stop once the star has reached this maximum age. + """ + function = LegacyFunctionSpecification() + function.addParameter('max_age_stop_condition', dtype='float64', direction=function.IN + , description="The new maximum age stop condition of this instance (in years).") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + The code could not set the value. + """ + return function + + @legacy_function + def get_min_timestep_stop_condition(): + """ + Retrieve the current minimum timestep stop condition of this instance (in years). + Evolution will stop if the timestep required by the solver in order to converge + has decreased below this minimum timestep. + """ + function = LegacyFunctionSpecification() + function.addParameter('min_timestep_stop_condition', dtype='float64', direction=function.OUT + , description="The current minimum timestep stop condition of this instance (in years).") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value was retrieved + -1 - ERROR + The code could not retrieve the value. + """ + return function + + @legacy_function + def set_min_timestep_stop_condition(): + """ + Set the new minimum timestep stop condition of this instance (in years). + Evolution will stop if the timestep required by the solver in order to converge + has decreased below this minimum timestep. + """ + function = LegacyFunctionSpecification() + function.addParameter('min_timestep_stop_condition', dtype='float64', direction=function.IN + , description="The new minimum timestep stop condition of this instance (in years).") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + The code could not set the value. + """ + return function + + @legacy_function + def get_max_iter_stop_condition(): + """ + Retrieve the current maximum number of iterations of this instance. (Negative means no maximum) + Evolution will stop after this number of iterations. + """ + function = LegacyFunctionSpecification() + function.addParameter('max_iter_stop_condition', dtype='int32', direction=function.OUT + , description="The current maximum number of iterations of this instance.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value was retrieved + -1 - ERROR + The code could not retrieve the value. + """ + return function + + @legacy_function + def set_max_iter_stop_condition(): + """ + Set the new maximum number of iterations of this instance. (Negative means no maximum) + Evolution will stop after this number of iterations. + """ + function = LegacyFunctionSpecification() + function.addParameter('max_iter_stop_condition', dtype='int32', direction=function.IN + , description="The new maximum number of iterations of this instance.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + The code could not set the value. + """ + return function + + @legacy_function + def get_convective_overshoot_parameter(): + function = LegacyFunctionSpecification() + function.addParameter('convective_overshoot_parameter', dtype='float64', direction=function.OUT, + description="The current value of the convective overshoot parameter.") + function.result_type = 'int32' + return function + + @legacy_function + def set_convective_overshoot_parameter(): + function = LegacyFunctionSpecification() + function.addParameter('convective_overshoot_parameter', dtype='float64', direction=function.IN, + description="The new value of the convective overshoot parameter.") + function.result_type = 'int32' + return function + + @legacy_function + def get_mixing_length_ratio(): + """ + Retrieve the current value of the mixing length ratio. + """ + function = LegacyFunctionSpecification() + function.addParameter('mixing_length_ratio', dtype='float64', direction=function.OUT + , description="The current value of the mixing length ratio.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value was retrieved + -1 - ERROR + The code could not retrieve the value. + """ + return function + + @legacy_function + def set_mixing_length_ratio(): + """ + Set the value of the mixing length ratio. + """ + function = LegacyFunctionSpecification() + function.addParameter('mixing_length_ratio', dtype='float64', direction=function.IN + , description="The new value of the mixing length ratio.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + The code could not set the value. + """ + return function + + @legacy_function + def get_semi_convection_efficiency(): + """ + Retrieve the current value of the efficiency of semi-convection, + after Heger, Langer, & Woosley 2000 (ApJ), which goes back to + Langer, Sugimoto & Fricke 1983 (A&A). + """ + function = LegacyFunctionSpecification() + function.addParameter('semi_convection_efficiency', dtype='float64', direction=function.OUT + , description="The current value of the efficiency of semi-convection.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value was retrieved + -1 - ERROR + The code could not retrieve the value. + """ + return function + + @legacy_function + def set_semi_convection_efficiency(): + """ + Set the value of the efficiency of semi-convection, + after Heger, Langer, & Woosley 2000 (ApJ), which goes back to + Langer, Sugimoto & Fricke 1983 (A&A). + """ + function = LegacyFunctionSpecification() + function.addParameter('semi_convection_efficiency', dtype='float64', direction=function.IN + , description="The new value of the efficiency of semi-convection.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + The code could not set the value. + """ + return function + + @legacy_function + def get_RGB_wind_scheme(): + """ + Retrieve the current wind (mass loss) scheme for RGB stars: + No automatic wind (0) + Reimers (1): e.g. see: Baschek, Kegel, Traving (eds), Springer, Berlin, 1975, p. 229. + Blocker (2): T. Blocker, A&A 297, 727-738 (1995) + de Jager (3): de Jager, C., Nieuwenhuijzen, H., & van der Hucht, K. A. 1988, A&AS, 72, 259 + Dutch (4): Glebbeek et al 2009, Vink et al 2001, Nugis & Lamers 2000, de Jager 1990 + Mattsson (5) + """ + function = LegacyFunctionSpecification() + function.addParameter('RGB_wind_scheme', dtype='int32', direction=function.OUT + , description="The current wind (mass loss) scheme for RGB stars of this instance.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value was retrieved + -1 - ERROR + The code could not retrieve the value. + """ + return function + + @legacy_function + def set_RGB_wind_scheme(): + """ + Set the new wind (mass loss) scheme for RGB stars: + No automatic wind (0) + Reimers (1): e.g. see: Baschek, Kegel, Traving (eds), Springer, Berlin, 1975, p. 229. + Blocker (2): T. Blocker, A&A 297, 727-738 (1995) + de Jager (3): de Jager, C., Nieuwenhuijzen, H., & van der Hucht, K. A. 1988, A&AS, 72, 259 + Dutch (4): Glebbeek et al 2009, Vink et al 2001, Nugis & Lamers 2000, de Jager 1990 + Mattsson (5) + """ + function = LegacyFunctionSpecification() + function.addParameter('RGB_wind_scheme', dtype='int32', direction=function.IN + , description="The new wind (mass loss) scheme for RGB stars of this instance.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + The code could not set the value. + """ + return function + + @legacy_function + def get_AGB_wind_scheme(): + """ + Retrieve the current wind (mass loss) scheme for AGB stars: + No automatic wind (0) + Reimers (1): e.g. see: Baschek, Kegel, Traving (eds), Springer, Berlin, 1975, p. 229. + Blocker (2): T. Blocker, A&A 297, 727-738 (1995) + de Jager (3): de Jager, C., Nieuwenhuijzen, H., & van der Hucht, K. A. 1988, A&AS, 72, 259 + Dutch (4): Glebbeek et al 2009, Vink et al 2001, Nugis & Lamers 2000, de Jager 1990 + Mattsson (5) + """ + function = LegacyFunctionSpecification() + function.addParameter('AGB_wind_scheme', dtype='int32', direction=function.OUT + , description="The current wind (mass loss) scheme for AGB stars of this instance.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value was retrieved + -1 - ERROR + The code could not retrieve the value. + """ + return function + + @legacy_function + def set_AGB_wind_scheme(): + """ + Set the new wind (mass loss) scheme for AGB stars: + No automatic wind (0) + Reimers (1): e.g. see: Baschek, Kegel, Traving (eds), Springer, Berlin, 1975, p. 229. + Blocker (2): T. Blocker, A&A 297, 727-738 (1995) + de Jager (3): de Jager, C., Nieuwenhuijzen, H., & van der Hucht, K. A. 1988, A&AS, 72, 259 + Dutch (4): Glebbeek et al 2009, Vink et al 2001, Nugis & Lamers 2000, de Jager 1990 + Mattsson (5) + """ + function = LegacyFunctionSpecification() + function.addParameter('AGB_wind_scheme', dtype='int32', direction=function.IN + , description="The new wind (mass loss) scheme for AGB stars of this instance.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + The code could not set the value. + """ + return function + + @legacy_function + def get_reimers_wind_efficiency(): + function = LegacyFunctionSpecification() + function.addParameter('reimers_wind_efficiency', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_reimers_wind_efficiency(): + function = LegacyFunctionSpecification() + function.addParameter('reimers_wind_efficiency', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_blocker_wind_efficiency(): + function = LegacyFunctionSpecification() + function.addParameter('blocker_wind_efficiency', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_blocker_wind_efficiency(): + function = LegacyFunctionSpecification() + function.addParameter('blocker_wind_efficiency', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_de_jager_wind_efficiency(): + function = LegacyFunctionSpecification() + function.addParameter('de_jager_wind_efficiency', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_de_jager_wind_efficiency(): + function = LegacyFunctionSpecification() + function.addParameter('de_jager_wind_efficiency', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_dutch_wind_efficiency(): + function = LegacyFunctionSpecification() + function.addParameter('dutch_wind_efficiency', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_dutch_wind_efficiency(): + function = LegacyFunctionSpecification() + function.addParameter('dutch_wind_efficiency', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_stabilize_new_stellar_model_flag(): + function = LegacyFunctionSpecification() + function.addParameter('stabilize_new_stellar_model_flag', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_stabilize_new_stellar_model_flag(): + function = LegacyFunctionSpecification() + function.addParameter('stabilize_new_stellar_model_flag', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def new_stellar_model(): + """ + Define a new star model in the code. The star needs to be finalized + before it can evolve, see 'finalize_stellar_model'. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + for par in ['d_mass', 'radius', 'rho', 'temperature', 'luminosity', + 'X_H', 'X_He', 'X_C', 'X_N', 'X_O', 'X_Ne', 'X_Mg', 'X_Si', 'X_Fe']: + function.addParameter(par, dtype='float64', direction=function.IN) + function.addParameter('n', 'int32', function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def finalize_stellar_model(): + """ + Finalize the new star model defined by 'new_stellar_model'. + """ + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_star', dtype='int32', + direction=function.OUT, description = "The new index for the star. " + "This index can be used to refer to this star in other functions") + function.addParameter('age_tag', dtype='float64', direction=function.IN, + description = "The initial age of the star") + function.result_type = 'int32' + return function + +class Mesa(StellarEvolution, InternalStellarStructure): + + def __init__(self, **options): + InCodeComponentImplementation.__init__(self, MesaInterface(**options), **options) + + if 'inlist' in options: + inlist_path = options['inlist'] + if not os.path.exists(inlist_path): + raise ValueError('Named inlist does not exist, maybe its in a different folder?') + else: + inlist_path = self.default_path_to_inlist + + self.set_MESA_paths( + inlist_path, + self.default_path_to_MESA_data, + self.get_output_directory() + ) + self.model_time = 0.0 | units.yr + self.mesa_version = "2208" + self.inlist = inlist_path + + + def define_parameters(self, handler): + + handler.add_method_parameter( + "get_metallicity", + "set_metallicity", + "metallicity", + "Metallicity of all stars", + default_value = 0.02 + ) + + handler.add_method_parameter( + "get_max_age_stop_condition", + "set_max_age_stop_condition", + "max_age_stop_condition", + "The maximum age stop condition of this instance.", + default_value = 1.0e36 | units.yr + ) + + handler.add_method_parameter( + "get_min_timestep_stop_condition", + "set_min_timestep_stop_condition", + "min_timestep_stop_condition", + "The minimum timestep stop condition of this instance.", + default_value = 1.0e-6 | units.s + ) + + handler.add_method_parameter( + "get_max_iter_stop_condition", + "set_max_iter_stop_condition", + "max_iter_stop_condition", + "The maximum number of iterations of this instance. (Negative means no maximum)", + default_value = -1111 + ) + + handler.add_method_parameter( + "get_convective_overshoot_parameter", + "set_convective_overshoot_parameter", + "herwig_convective_overshoot_parameter", + "The convective overshoot parameter (Herwig 2000), f=0.016 is argued to be a reasonable value.", + default_value = 0.0 + ) + + handler.add_method_parameter( + "get_mixing_length_ratio", + "set_mixing_length_ratio", + "mixing_length_ratio", + "The mixing-length ratio (alpha).", + default_value = 2.0 + ) + + handler.add_method_parameter( + "get_semi_convection_efficiency", + "set_semi_convection_efficiency", + "semi_convection_efficiency", + "The efficiency of semi-convection, after Heger, Langer, & Woosley 2000 (ApJ), " + "which goes back to Langer, Sugimoto & Fricke 1983 (A&A).", + default_value = 0.0 + ) + + handler.add_method_parameter( + "get_RGB_wind_scheme", + "set_RGB_wind_scheme", + "RGB_wind_scheme", + "The mass loss scheme for RGB stars: none (0), Reimers (1), " + "Blocker (2), de Jager (3), Dutch (4), Mattsson (5)", + default_value = 1 + ) + + handler.add_method_parameter( + "get_AGB_wind_scheme", + "set_AGB_wind_scheme", + "AGB_wind_scheme", + "The mass loss scheme for AGB stars: none (0), Reimers (1), " + "Blocker (2), de Jager (3), Dutch (4), Mattsson (5)", + default_value = 1 + ) + + handler.add_method_parameter( + "get_reimers_wind_efficiency", + "set_reimers_wind_efficiency", + "reimers_wind_efficiency", + "The Reimers mass loss efficiency. Only used if (RGB/AGB_wind_scheme == 1).", + default_value = 0.5 + ) + handler.add_method_parameter( + "get_blocker_wind_efficiency", + "set_blocker_wind_efficiency", + "blocker_wind_efficiency", + "The Blocker mass loss efficiency. Only used if (RGB/AGB_wind_scheme == 2).", + default_value = 0.1 + ) + handler.add_method_parameter( + "get_de_jager_wind_efficiency", + "set_de_jager_wind_efficiency", + "de_jager_wind_efficiency", + "The de Jager mass loss efficiency. Only used if (RGB/AGB_wind_scheme == 3).", + default_value = 0.8 + ) + handler.add_method_parameter( + "get_dutch_wind_efficiency", + "set_dutch_wind_efficiency", + "dutch_wind_efficiency", + "The Dutch mass loss efficiency. Only used if (RGB/AGB_wind_scheme == 4).", + default_value = 0.8 + ) + handler.add_boolean_parameter( + "get_stabilize_new_stellar_model_flag", + "set_stabilize_new_stellar_model_flag", + "stabilize_new_stellar_model_flag", + "Flag specifying whether to stabilize any loaded stellar models first.", + default_value = True + ) + + + + def define_particle_sets(self, handler): + handler.define_super_set('particles', ['native_stars', 'imported_stars', 'pre_ms_stars'], + index_to_default_set = 0) + + handler.define_set('imported_stars', 'index_of_the_star') + handler.set_new('imported_stars', 'finalize_stellar_model') + handler.set_delete('imported_stars', 'delete_star') + + handler.define_set('native_stars', 'index_of_the_star') + handler.set_new('native_stars', 'new_particle') + handler.set_delete('native_stars', 'delete_star') + + handler.define_set('pre_ms_stars', 'index_of_the_star') + handler.set_new('pre_ms_stars', 'new_pre_ms_particle') + handler.set_delete('pre_ms_stars', 'delete_star') + + for particle_set_name in ['native_stars', 'imported_stars', 'pre_ms_stars']: + handler.add_getter(particle_set_name, 'get_radius', names = ('radius',)) + handler.add_getter(particle_set_name, 'get_stellar_type', names = ('stellar_type',)) + handler.add_getter(particle_set_name, 'get_mass', names = ('mass',)) + handler.add_setter(particle_set_name, 'set_mass', names = ('mass',)) + handler.add_getter(particle_set_name, 'get_core_mass', names = ('core_mass',)) + handler.add_getter(particle_set_name, 'get_mass_loss_rate', names = ('wind',)) + handler.add_getter(particle_set_name, 'get_age', names = ('age',)) + handler.add_getter(particle_set_name, 'get_time_step', names = ('time_step',)) + handler.add_setter(particle_set_name, 'set_time_step', names = ('time_step',)) + handler.add_getter(particle_set_name, 'get_luminosity', names = ('luminosity',)) + handler.add_getter(particle_set_name, 'get_temperature', names = ('temperature',)) + + handler.add_getter(particle_set_name, 'get_manual_mass_transfer_rate', names = ('mass_change',)) + handler.add_setter(particle_set_name, 'set_manual_mass_transfer_rate', names = ('mass_change',)) + + handler.add_method(particle_set_name, 'get_accrete_same_as_surface') + handler.add_method(particle_set_name, 'set_accrete_same_as_surface') + handler.add_method(particle_set_name, 'get_accrete_composition_non_metals') + handler.add_method(particle_set_name, 'set_accrete_composition_non_metals') + handler.add_method(particle_set_name, 'get_accrete_composition_metals_identifier') + handler.add_method(particle_set_name, 'set_accrete_composition_metals_identifier') + handler.add_method(particle_set_name, 'get_accrete_composition_metals') + handler.add_method(particle_set_name, 'set_accrete_composition_metals') + + handler.add_method(particle_set_name, 'evolve_one_step') + handler.add_method(particle_set_name, 'evolve_for') + InternalStellarStructure.define_particle_sets( + self, + handler, + set_name = particle_set_name + ) + handler.add_method(particle_set_name, 'get_mass_profile') + handler.add_method(particle_set_name, 'set_mass_profile') + handler.add_method(particle_set_name, 'get_cumulative_mass_profile') + handler.add_method(particle_set_name, 'get_luminosity_profile') + handler.add_method(particle_set_name, 'set_luminosity_profile') + handler.add_method(particle_set_name, 'get_entropy_profile') + handler.add_method(particle_set_name, 'get_thermal_energy_profile') + handler.add_method(particle_set_name, 'get_brunt_vaisala_frequency_squared_profile') + handler.add_method(particle_set_name, 'get_IDs_of_species') + handler.add_method(particle_set_name, 'get_masses_of_species') + handler.add_method(particle_set_name, 'get_number_of_backups_in_a_row') + handler.add_method(particle_set_name, 'reset_number_of_backups_in_a_row') + + def define_state(self, handler): + StellarEvolution.define_state(self, handler) + handler.add_method('EDIT', 'new_pre_ms_particle') + handler.add_method('UPDATE', 'new_pre_ms_particle') + handler.add_transition('RUN', 'UPDATE', 'new_pre_ms_particle', False) + handler.add_method('EDIT', 'finalize_stellar_model') + handler.add_method('UPDATE', 'finalize_stellar_model') + handler.add_transition('RUN', 'UPDATE', 'finalize_stellar_model', False) + + def define_errorcodes(self, handler): + InternalStellarStructure.define_errorcodes(self, handler) + handler.add_errorcode(-1, 'Something went wrong...') + handler.add_errorcode(-4, 'Not implemented.') + handler.add_errorcode(-11, 'Evolve terminated: Unspecified stop condition reached.') + handler.add_errorcode(-12, 'Evolve terminated: Maximum age reached.') + handler.add_errorcode(-13, 'Evolve terminated: Maximum number of iterations reached.') + handler.add_errorcode(-14, 'Evolve terminated: Maximum number of backups reached.') + handler.add_errorcode(-15, 'Evolve terminated: Minimum timestep limit reached.') + + def define_methods(self, handler): + InternalStellarStructure.define_methods(self, handler) + StellarEvolution.define_methods(self, handler) + handler.add_method( + "evolve_for", + (handler.INDEX, units.julianyr), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "new_pre_ms_particle", + (units.MSun), + (handler.INDEX, handler.ERROR_CODE) + ) + handler.add_method( + "set_time_step", + (handler.INDEX, units.yr), + (handler.ERROR_CODE,) + ) + handler.add_method( + "get_core_mass", + (handler.INDEX,), + (units.MSun, handler.ERROR_CODE,) + ) + handler.add_method( + "get_mass_loss_rate", + (handler.INDEX,), + (units.g / units.s, handler.ERROR_CODE,) + ) + handler.add_method( + "get_manual_mass_transfer_rate", + (handler.INDEX,), + (units.MSun / units.yr, handler.ERROR_CODE,) + ) + handler.add_method( + "set_manual_mass_transfer_rate", + (handler.INDEX, units.MSun / units.yr), + (handler.ERROR_CODE,) + ) + handler.add_method( + "get_number_of_backups_in_a_row", + (handler.INDEX,), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + handler.add_method( + "reset_number_of_backups_in_a_row", + (handler.INDEX,), + (handler.ERROR_CODE,) + ) + handler.add_method( + "get_mass_fraction_at_zone", + (handler.INDEX,handler.NO_UNIT,), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + handler.add_method( + "set_mass_fraction_at_zone", + (handler.INDEX, handler.NO_UNIT, handler.NO_UNIT,), + (handler.ERROR_CODE,) + ) + handler.add_method( + "get_luminosity_at_zone", + (handler.INDEX,handler.NO_UNIT,), + (units.erg/units.s, handler.ERROR_CODE,) + ) + handler.add_method( + "set_luminosity_at_zone", + (handler.INDEX, handler.NO_UNIT, units.erg/units.s,), + (handler.ERROR_CODE,) + ) + handler.add_method( + "get_entropy_at_zone", + (handler.INDEX,handler.NO_UNIT,), + (units.erg/units.K, handler.ERROR_CODE,) + ) + handler.add_method( + "get_thermal_energy_at_zone", + (handler.INDEX,handler.NO_UNIT,), + (units.erg/units.g, handler.ERROR_CODE,) + ) + handler.add_method( + "get_id_of_species", + (handler.INDEX,handler.NO_UNIT,), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + handler.add_method( + "get_mass_of_species", + (handler.INDEX,handler.NO_UNIT,), + (units.amu, handler.ERROR_CODE,) + ) + handler.add_method( + "erase_memory", + (handler.INDEX,), + (handler.ERROR_CODE,), + public_name = "_erase_memory" + ) + handler.add_method( + "new_stellar_model", + (units.MSun, units.cm, units.g / units.cm**3, units.K, units.erg / units.s, + handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, + handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT,), + (handler.ERROR_CODE,) + ) + handler.add_method( + "finalize_stellar_model", + (units.yr,), + (handler.INDEX, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_max_age_stop_condition", + (), + (units.yr, handler.ERROR_CODE,) + ) + + + handler.add_method( + "set_max_age_stop_condition", + (units.yr, ), + (handler.ERROR_CODE,) + ) + + + handler.add_method( + "get_min_timestep_stop_condition", + (), + (units.s, handler.ERROR_CODE,) + ) + + + handler.add_method( + "set_min_timestep_stop_condition", + (units.s, ), + (handler.ERROR_CODE,) + ) + + + handler.add_method( + "get_max_iter_stop_condition", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + + handler.add_method( + "set_max_iter_stop_condition", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + + handler.add_method( + "get_mixing_length_ratio", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + + handler.add_method( + "set_mixing_length_ratio", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + + handler.add_method( + "get_semi_convection_efficiency", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + + handler.add_method( + "set_semi_convection_efficiency", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + + handler.add_method( + "get_RGB_wind_scheme", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + + handler.add_method( + "set_RGB_wind_scheme", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + + handler.add_method( + "get_AGB_wind_scheme", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + + handler.add_method( + "set_AGB_wind_scheme", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + + handler.add_method( + "get_reimers_wind_efficiency", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + + handler.add_method( + "set_reimers_wind_efficiency", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + + handler.add_method( + "get_blocker_wind_efficiency", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + + handler.add_method( + "set_blocker_wind_efficiency", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + + handler.add_method( + "get_de_jager_wind_efficiency", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + + handler.add_method( + "set_de_jager_wind_efficiency", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + + handler.add_method( + "get_dutch_wind_efficiency", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + + handler.add_method( + "set_dutch_wind_efficiency", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + + def initialize_module_with_default_parameters(self): + self.parameters.set_defaults() + self.initialize_code() + + def initialize_module_with_current_parameters(self): + self.initialize_code() + + def commit_parameters(self): + self.parameters.send_not_set_parameters_to_code() + self.parameters.send_cached_parameters_to_code() + self.overridden().commit_parameters() + + def get_mass_profile(self, indices_of_the_stars, number_of_zones = None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string = "Querying mass profiles") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + return self.get_mass_fraction_at_zone([indices_of_the_stars]*number_of_zones, list(range(number_of_zones)) | units.none) + + def get_cumulative_mass_profile(self, indices_of_the_stars, number_of_zones = None): + frac_profile = self.get_mass_profile(indices_of_the_stars, number_of_zones = number_of_zones) + return frac_profile.cumsum() + + def set_mass_profile(self, indices_of_the_stars, values, number_of_zones = None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string = "Setting mass profiles") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + self._check_supplied_values(len(values), number_of_zones) + self.set_mass_fraction_at_zone([indices_of_the_stars]*number_of_zones, list(range(number_of_zones)) | units.none, values) + if hasattr(self, "_erase_memory"): + self._erase_memory(indices_of_the_stars) + + def get_luminosity_profile(self, indices_of_the_stars, number_of_zones = None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string = "Querying luminosity profiles") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + return self.get_luminosity_at_zone([indices_of_the_stars]*number_of_zones, list(range(number_of_zones)) | units.none) + + def set_luminosity_profile(self, indices_of_the_stars, values, number_of_zones = None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string = "Setting luminosity profiles") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + self._check_supplied_values(len(values), number_of_zones) + self.set_luminosity_at_zone([indices_of_the_stars]*number_of_zones, list(range(number_of_zones)) | units.none, values) + if hasattr(self, "_erase_memory"): + self._erase_memory(indices_of_the_stars) + + def get_entropy_profile(self, indices_of_the_stars, number_of_zones = None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string = "Querying entropy profiles") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + return self.get_entropy_at_zone([indices_of_the_stars]*number_of_zones, list(range(number_of_zones)) | units.none) + + def get_thermal_energy_profile(self, indices_of_the_stars, number_of_zones = None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string = "Querying thermal energy profiles") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + return self.get_thermal_energy_at_zone([indices_of_the_stars]*number_of_zones, list(range(number_of_zones)) | units.none) + + def get_brunt_vaisala_frequency_squared_profile(self, indices_of_the_stars, number_of_zones = None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string = "Querying brunt-vaisala-frequency-squared profiles") + if number_of_zones is None: + number_of_zones = self.get_number_of_zones(indices_of_the_stars) + return self.get_brunt_vaisala_frequency_squared_at_zone([indices_of_the_stars]*number_of_zones, list(range(number_of_zones)) | units.none) + + def get_IDs_of_species(self, indices_of_the_stars, number_of_species = None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string = "Querying chemical abundance IDs") + if number_of_species is None: + number_of_species = self.get_number_of_species(indices_of_the_stars) + return list(self.get_id_of_species( + [indices_of_the_stars]*number_of_species, + list(range(1,number_of_species+1)) + )) + + def get_masses_of_species(self, indices_of_the_stars, number_of_species = None): + indices_of_the_stars = self._check_number_of_indices(indices_of_the_stars, action_string = "Querying chemical abundance mass numbers") + if number_of_species is None: + number_of_species = self.get_number_of_species(indices_of_the_stars) + return self.get_mass_of_species( + [indices_of_the_stars]*number_of_species, + list(range(1,number_of_species+1)) + ) + + def new_particle_from_model(self, internal_structure, current_age=0|units.Myr, key=None): + if isinstance(internal_structure, dict): + if "dmass" in internal_structure: + mass_profile = internal_structure['dmass'][::-1] + else: + cumulative_mass_profile = [0.0] | units.MSun + cumulative_mass_profile.extend(internal_structure['mass']) + mass_profile = (cumulative_mass_profile[1:] - cumulative_mass_profile[:-1])[::-1] + self.new_stellar_model( + mass_profile, + internal_structure['radius'][::-1], + internal_structure['rho'][::-1], + internal_structure['temperature'][::-1], + internal_structure['luminosity'][::-1], + internal_structure['X_H'][::-1], + internal_structure['X_He'][::-1], + internal_structure['X_C'][::-1], + internal_structure['X_N'][::-1], + internal_structure['X_O'][::-1], + internal_structure['X_Ne'][::-1], + internal_structure['X_Mg'][::-1], + internal_structure['X_Si'][::-1], + internal_structure['X_Fe'][::-1] + ) + else: + if hasattr(internal_structure, "dmass"): + mass_profile = internal_structure.dmass[::-1] + else: + cumulative_mass_profile = [0.0] | units.MSun + cumulative_mass_profile.extend(internal_structure.mass) + mass_profile = (cumulative_mass_profile[1:] - cumulative_mass_profile[:-1])[::-1] + self.new_stellar_model( + mass_profile, + internal_structure.radius[::-1], + internal_structure.rho[::-1], + internal_structure.temperature[::-1], + internal_structure.luminosity[::-1], + internal_structure.X_H[::-1], + internal_structure.X_He[::-1], + internal_structure.X_C[::-1], + internal_structure.X_N[::-1], + internal_structure.X_O[::-1], + internal_structure.X_Ne[::-1], + internal_structure.X_Mg[::-1], + internal_structure.X_Si[::-1], + internal_structure.X_Fe[::-1] + ) + tmp_star = datamodel.Particle(key=key) + tmp_star.age_tag = current_age + return self.imported_stars.add_particle(tmp_star) + + + +MESA = Mesa diff --git a/src/amuse/community/mesa_r2208/mesa_reqs/Makefile b/src/amuse_mesa_r2208/mesa_reqs/Makefile similarity index 100% rename from src/amuse/community/mesa_r2208/mesa_reqs/Makefile rename to src/amuse_mesa_r2208/mesa_reqs/Makefile diff --git a/src/amuse/community/mesa_r15140/mesa_reqs/README b/src/amuse_mesa_r2208/mesa_reqs/README similarity index 100% rename from src/amuse/community/mesa_r15140/mesa_reqs/README rename to src/amuse_mesa_r2208/mesa_reqs/README diff --git a/src/amuse/community/mesa_r2208/mesa_reqs/makefile_header b/src/amuse_mesa_r2208/mesa_reqs/makefile_header similarity index 100% rename from src/amuse/community/mesa_r2208/mesa_reqs/makefile_header rename to src/amuse_mesa_r2208/mesa_reqs/makefile_header diff --git a/src/amuse/community/mesa_r2208/mesa_reqs/makefile_include b/src/amuse_mesa_r2208/mesa_reqs/makefile_include similarity index 100% rename from src/amuse/community/mesa_r2208/mesa_reqs/makefile_include rename to src/amuse_mesa_r2208/mesa_reqs/makefile_include diff --git a/src/amuse_mesa_r2208/packages/amuse-mesa-r2208.amuse_deps b/src/amuse_mesa_r2208/packages/amuse-mesa-r2208.amuse_deps new file mode 100644 index 0000000000..45226a2745 --- /dev/null +++ b/src/amuse_mesa_r2208/packages/amuse-mesa-r2208.amuse_deps @@ -0,0 +1 @@ +fortran download patch mpi openmp diff --git a/src/amuse_mesa_r2208/packages/amuse-mesa-r2208/amuse_mesa_r2208 b/src/amuse_mesa_r2208/packages/amuse-mesa-r2208/amuse_mesa_r2208 new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_mesa_r2208/packages/amuse-mesa-r2208/amuse_mesa_r2208 @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_mesa_r2208/packages/amuse-mesa-r2208/pyproject.toml b/src/amuse_mesa_r2208/packages/amuse-mesa-r2208/pyproject.toml new file mode 100644 index 0000000000..c1f0e8ebd0 --- /dev/null +++ b/src/amuse_mesa_r2208/packages/amuse-mesa-r2208/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-mesa-r2208" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_mesa_r2208/**/*.py"] +exclude = [ + "amuse_mesa_r2208/packages", + "amuse_mesa_r2208/support", + "amuse_mesa_r2208/src", + "amuse_mesa_r2208/tests" + ] +artifacts = ["amuse_mesa_r2208/mesa_r2208_worker", "amuse_mesa_r2208/data"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_mesa_r2208/tests/"] + +testpaths = ["amuse_mesa_r2208/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/mesa_r2208/patches/alert b/src/amuse_mesa_r2208/patches/alert similarity index 100% rename from src/amuse/community/mesa_r2208/patches/alert rename to src/amuse_mesa_r2208/patches/alert diff --git a/src/amuse_mesa_r2208/patches/allow_legacy_code b/src/amuse_mesa_r2208/patches/allow_legacy_code new file mode 100644 index 0000000000..a6c78da6cd --- /dev/null +++ b/src/amuse_mesa_r2208/patches/allow_legacy_code @@ -0,0 +1,11 @@ +--- mesa.orig/src/mesa/utils/makefile_header 2024-07-25 10:03:42.035145448 +0200 ++++ mesa/src/mesa/utils/makefile_header 2024-07-25 10:03:56.747205508 +0200 +@@ -281,7 +281,7 @@ + else + ifeq ($(findstring gfortran, $(notdir $(FC))), gfortran) + +-FCbasic = -fno-range-check $(SPECIAL_FC_FLAGS) ++FCbasic = -fno-range-check -fallow-invalid-boz -fallow-argument-mismatch $(SPECIAL_FC_FLAGS) + FCimpno = -fimplicit-none + FCchecks = -fbounds-check + #FCwarn = -Wunused-value -Werror -W diff --git a/src/amuse/community/mesa_r2208/patches/build b/src/amuse_mesa_r2208/patches/build similarity index 100% rename from src/amuse/community/mesa_r2208/patches/build rename to src/amuse_mesa_r2208/patches/build diff --git a/src/amuse_mesa_r2208/patches/chemakzo_test_type_error b/src/amuse_mesa_r2208/patches/chemakzo_test_type_error new file mode 100644 index 0000000000..f666fcc506 --- /dev/null +++ b/src/amuse_mesa_r2208/patches/chemakzo_test_type_error @@ -0,0 +1,6 @@ +79,80c79,80 +< integer neqn,ierr,ipar(*) +< double precision t,y(neqn),yprime(neqn),f(neqn),rpar(*) +--- +> integer neqn,ierr,ipar +> double precision t,y(neqn),yprime(neqn),f(neqn),rpar diff --git a/src/amuse/community/mesa_r2208/patches/definitions b/src/amuse_mesa_r2208/patches/definitions similarity index 100% rename from src/amuse/community/mesa_r2208/patches/definitions rename to src/amuse_mesa_r2208/patches/definitions diff --git a/src/amuse/community/mesa_r2208/patches/filelen b/src/amuse_mesa_r2208/patches/filelen similarity index 100% rename from src/amuse/community/mesa_r2208/patches/filelen rename to src/amuse_mesa_r2208/patches/filelen diff --git a/src/amuse/community/mesa_r2208/patches/kaptestinit b/src/amuse_mesa_r2208/patches/kaptestinit similarity index 100% rename from src/amuse/community/mesa_r2208/patches/kaptestinit rename to src/amuse_mesa_r2208/patches/kaptestinit diff --git a/src/amuse_mesa_r2208/patches/ndiff-configure b/src/amuse_mesa_r2208/patches/ndiff-configure new file mode 100755 index 0000000000..aa2bf06d04 --- /dev/null +++ b/src/amuse_mesa_r2208/patches/ndiff-configure @@ -0,0 +1,6674 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='' +PACKAGE_TARNAME='' +PACKAGE_VERSION='' +PACKAGE_STRING='' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_unique_file="ndiff.c" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_STDIO_H +# include +#endif +#ifdef HAVE_STDLIB_H +# include +#endif +#ifdef HAVE_STRING_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_header_c_list= +ac_subst_vars='LTLIBOBJS +LIBOBJS +CHECKOKAY +EGREP +ZOO +ZIP +UNZIP +TGRIND +TAR +SPELL +SORT +SED +RM +NROFF +MV +MAN2HTML +LS +LN +JAR +ISPELL +GZIP +GREP +ETAGS +DW +DITROFF +DISTILL +DIFF +DEROFF +CP +CMP +CHMOD +CHECKSUM +CHECKNR +CAT +MKDIR +SH +AWK +AUTOHEADER +AUTOCONF +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +VERSIONREGEXP +VERSION +DATE +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 +with_gmp +with_double +with_long_double +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS' + + +# 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}' +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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 this package 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/PACKAGE] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF +_ACEOF +fi + +if test -n "$ac_init_help"; then + + cat <<\_ACEOF + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gmp use GNU multiple-precision floating-point library + --with-double use double floating-point precision + --with-long-double use long double floating-point precision + +Some influential environment variables: + 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 + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +configure +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main (void) +{ +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 (void) +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + eval "$3=yes" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_type + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to run 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: program exited with status $ac_status" >&5 + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 $as_me, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" +as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" +as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" +as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" +as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" +as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" +as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" +as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" +as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" +# 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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +ac_config_headers="$ac_config_headers config.h:config.hin" + + +DATE=10-Dec-2000 + +VERSION=2.00 +VERSIONREGEXP=2[.]00 + + + + +fp_package= + + +# Check whether --with-gmp was given. +if test ${with_gmp+y} +then : + withval=$with_gmp; fp_package=gmp +fi + + + +# Check whether --with-double was given. +if test ${with_double+y} +then : + withval=$with_double; fp_package=dbl +fi + + + +# Check whether --with-long-double was given. +if test ${with_long_double+y} +then : + withval=$with_long_double; fp_package=ldb +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + +for ac_prog in autoconf +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AUTOCONF+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$AUTOCONF"; then + ac_cv_prog_AUTOCONF="$AUTOCONF" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_AUTOCONF="$ac_prog" + printf "%s\n" "$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 +AUTOCONF=$ac_cv_prog_AUTOCONF +if test -n "$AUTOCONF"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AUTOCONF" >&5 +printf "%s\n" "$AUTOCONF" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$AUTOCONF" && break +done + +for ac_prog in autoheader +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AUTOHEADER+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$AUTOHEADER"; then + ac_cv_prog_AUTOHEADER="$AUTOHEADER" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_AUTOHEADER="$ac_prog" + printf "%s\n" "$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 +AUTOHEADER=$ac_cv_prog_AUTOHEADER +if test -n "$AUTOHEADER"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AUTOHEADER" >&5 +printf "%s\n" "$AUTOHEADER" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$AUTOHEADER" && break +done + + +for ac_prog in mawk nawk gawk bawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_AWK+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $AWK in + [\\/]* | ?:[\\/]*) + ac_cv_path_AWK="$AWK" # 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_AWK="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +AWK=$ac_cv_path_AWK +if test -n "$AWK"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +printf "%s\n" "$AWK" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$AWK" && break +done + +for ac_prog in sh ksh bash +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_SH+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $SH in + [\\/]* | ?:[\\/]*) + ac_cv_path_SH="$SH" # 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_SH="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +SH=$ac_cv_path_SH +if test -n "$SH"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SH" >&5 +printf "%s\n" "$SH" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$SH" && break +done + + +for ac_prog in mkdir.sh mkdir +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_MKDIR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $MKDIR in + [\\/]* | ?:[\\/]*) + ac_cv_path_MKDIR="$MKDIR" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_dummy="$PWD:$PATH" +for as_dir in $as_dummy +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MKDIR="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +MKDIR=$ac_cv_path_MKDIR +if test -n "$MKDIR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR" >&5 +printf "%s\n" "$MKDIR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MKDIR" && break +done + + +for ac_prog in cat +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CAT+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CAT"; then + ac_cv_prog_CAT="$CAT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CAT="$ac_prog" + printf "%s\n" "$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 +CAT=$ac_cv_prog_CAT +if test -n "$CAT"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CAT" >&5 +printf "%s\n" "$CAT" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CAT" && break +done + +for ac_prog in checknr echo +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CHECKNR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CHECKNR"; then + ac_cv_prog_CHECKNR="$CHECKNR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CHECKNR="$ac_prog" + printf "%s\n" "$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 +CHECKNR=$ac_cv_prog_CHECKNR +if test -n "$CHECKNR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CHECKNR" >&5 +printf "%s\n" "$CHECKNR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CHECKNR" && break +done + +for ac_prog in checksum cat +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CHECKSUM+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CHECKSUM"; then + ac_cv_prog_CHECKSUM="$CHECKSUM" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CHECKSUM="$ac_prog" + printf "%s\n" "$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 +CHECKSUM=$ac_cv_prog_CHECKSUM +if test -n "$CHECKSUM"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CHECKSUM" >&5 +printf "%s\n" "$CHECKSUM" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CHECKSUM" && break +done + +for ac_prog in chmod +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CHMOD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CHMOD"; then + ac_cv_prog_CHMOD="$CHMOD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CHMOD="$ac_prog" + printf "%s\n" "$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 +CHMOD=$ac_cv_prog_CHMOD +if test -n "$CHMOD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CHMOD" >&5 +printf "%s\n" "$CHMOD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CHMOD" && break +done + +for ac_prog in cmp +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CMP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CMP"; then + ac_cv_prog_CMP="$CMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CMP="$ac_prog" + printf "%s\n" "$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 +CMP=$ac_cv_prog_CMP +if test -n "$CMP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CMP" >&5 +printf "%s\n" "$CMP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CMP" && break +done + +for ac_prog in scp rcp cp +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CP"; then + ac_cv_prog_CP="$CP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CP="$ac_prog" + printf "%s\n" "$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 +CP=$ac_cv_prog_CP +if test -n "$CP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CP" >&5 +printf "%s\n" "$CP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CP" && break +done + +for ac_prog in deroff +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DEROFF+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DEROFF"; then + ac_cv_prog_DEROFF="$DEROFF" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_DEROFF="$ac_prog" + printf "%s\n" "$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 +DEROFF=$ac_cv_prog_DEROFF +if test -n "$DEROFF"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DEROFF" >&5 +printf "%s\n" "$DEROFF" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$DEROFF" && break +done + +for ac_prog in diff +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DIFF+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DIFF"; then + ac_cv_prog_DIFF="$DIFF" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_DIFF="$ac_prog" + printf "%s\n" "$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 +DIFF=$ac_cv_prog_DIFF +if test -n "$DIFF"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIFF" >&5 +printf "%s\n" "$DIFF" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$DIFF" && break +done + +for ac_prog in distill ps2pdf +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DISTILL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DISTILL"; then + ac_cv_prog_DISTILL="$DISTILL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_DISTILL="$ac_prog" + printf "%s\n" "$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 +DISTILL=$ac_cv_prog_DISTILL +if test -n "$DISTILL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DISTILL" >&5 +printf "%s\n" "$DISTILL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$DISTILL" && break +done + +for ac_prog in ditroff groff +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DITROFF+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DITROFF"; then + ac_cv_prog_DITROFF="$DITROFF" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_DITROFF="$ac_prog" + printf "%s\n" "$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 +DITROFF=$ac_cv_prog_DITROFF +if test -n "$DITROFF"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DITROFF" >&5 +printf "%s\n" "$DITROFF" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$DITROFF" && break +done + +for ac_prog in dw echo +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DW+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DW"; then + ac_cv_prog_DW="$DW" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_DW="$ac_prog" + printf "%s\n" "$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 +DW=$ac_cv_prog_DW +if test -n "$DW"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DW" >&5 +printf "%s\n" "$DW" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$DW" && break +done + +for ac_prog in etags +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ETAGS+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ETAGS"; then + ac_cv_prog_ETAGS="$ETAGS" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_ETAGS="$ac_prog" + printf "%s\n" "$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 +ETAGS=$ac_cv_prog_ETAGS +if test -n "$ETAGS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ETAGS" >&5 +printf "%s\n" "$ETAGS" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ETAGS" && break +done + +for ac_prog in grep +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$GREP"; then + ac_cv_prog_GREP="$GREP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_GREP="$ac_prog" + printf "%s\n" "$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 +GREP=$ac_cv_prog_GREP +if test -n "$GREP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GREP" >&5 +printf "%s\n" "$GREP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$GREP" && break +done + +for ac_prog in gzip compress +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_GZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$GZIP"; then + ac_cv_prog_GZIP="$GZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_GZIP="$ac_prog" + printf "%s\n" "$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 +GZIP=$ac_cv_prog_GZIP +if test -n "$GZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GZIP" >&5 +printf "%s\n" "$GZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$GZIP" && break +done + +for ac_prog in ispell echo +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ISPELL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ISPELL"; then + ac_cv_prog_ISPELL="$ISPELL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_ISPELL="$ac_prog" + printf "%s\n" "$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 +ISPELL=$ac_cv_prog_ISPELL +if test -n "$ISPELL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ISPELL" >&5 +printf "%s\n" "$ISPELL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ISPELL" && break +done + +for ac_prog in jar tar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_JAR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$JAR"; then + ac_cv_prog_JAR="$JAR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_JAR="$ac_prog" + printf "%s\n" "$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 +JAR=$ac_cv_prog_JAR +if test -n "$JAR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAR" >&5 +printf "%s\n" "$JAR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$JAR" && break +done + +for ac_prog in ln +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_LN+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$LN"; then + ac_cv_prog_LN="$LN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_LN="$ac_prog" + printf "%s\n" "$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 +LN=$ac_cv_prog_LN +if test -n "$LN"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LN" >&5 +printf "%s\n" "$LN" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$LN" && break +done + +for ac_prog in ls +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_LS+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$LS"; then + ac_cv_prog_LS="$LS" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_LS="$ac_prog" + printf "%s\n" "$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 +LS=$ac_cv_prog_LS +if test -n "$LS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LS" >&5 +printf "%s\n" "$LS" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$LS" && break +done + +for ac_prog in man2html +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MAN2HTML+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MAN2HTML"; then + ac_cv_prog_MAN2HTML="$MAN2HTML" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MAN2HTML="$ac_prog" + printf "%s\n" "$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 +MAN2HTML=$ac_cv_prog_MAN2HTML +if test -n "$MAN2HTML"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAN2HTML" >&5 +printf "%s\n" "$MAN2HTML" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MAN2HTML" && break +done + +for ac_prog in mv +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MV+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MV"; then + ac_cv_prog_MV="$MV" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MV="$ac_prog" + printf "%s\n" "$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 +MV=$ac_cv_prog_MV +if test -n "$MV"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MV" >&5 +printf "%s\n" "$MV" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MV" && break +done + +for ac_prog in nroff groff +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_NROFF+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$NROFF"; then + ac_cv_prog_NROFF="$NROFF" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_NROFF="$ac_prog" + printf "%s\n" "$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 +NROFF=$ac_cv_prog_NROFF +if test -n "$NROFF"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NROFF" >&5 +printf "%s\n" "$NROFF" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$NROFF" && break +done + +for ac_prog in rm +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RM+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RM"; then + ac_cv_prog_RM="$RM" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RM="$ac_prog" + printf "%s\n" "$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 +RM=$ac_cv_prog_RM +if test -n "$RM"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RM" >&5 +printf "%s\n" "$RM" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$RM" && break +done + +for ac_prog in sed +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_SED+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$SED"; then + ac_cv_prog_SED="$SED" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_SED="$ac_prog" + printf "%s\n" "$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 +SED=$ac_cv_prog_SED +if test -n "$SED"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SED" >&5 +printf "%s\n" "$SED" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$SED" && break +done + +for ac_prog in sort +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_SORT+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$SORT"; then + ac_cv_prog_SORT="$SORT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_SORT="$ac_prog" + printf "%s\n" "$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 +SORT=$ac_cv_prog_SORT +if test -n "$SORT"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SORT" >&5 +printf "%s\n" "$SORT" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$SORT" && break +done + +for ac_prog in spell +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_SPELL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$SPELL"; then + ac_cv_prog_SPELL="$SPELL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_SPELL="$ac_prog" + printf "%s\n" "$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 +SPELL=$ac_cv_prog_SPELL +if test -n "$SPELL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SPELL" >&5 +printf "%s\n" "$SPELL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$SPELL" && break +done + +for ac_prog in tar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_TAR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$TAR"; then + ac_cv_prog_TAR="$TAR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_TAR="$ac_prog" + printf "%s\n" "$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 +TAR=$ac_cv_prog_TAR +if test -n "$TAR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $TAR" >&5 +printf "%s\n" "$TAR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$TAR" && break +done + +for ac_prog in tgrind +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_TGRIND+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$TGRIND"; then + ac_cv_prog_TGRIND="$TGRIND" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_TGRIND="$ac_prog" + printf "%s\n" "$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 +TGRIND=$ac_cv_prog_TGRIND +if test -n "$TGRIND"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $TGRIND" >&5 +printf "%s\n" "$TGRIND" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$TGRIND" && break +done + +for ac_prog in unzip +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_UNZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$UNZIP"; then + ac_cv_prog_UNZIP="$UNZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_UNZIP="$ac_prog" + printf "%s\n" "$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 +UNZIP=$ac_cv_prog_UNZIP +if test -n "$UNZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $UNZIP" >&5 +printf "%s\n" "$UNZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$UNZIP" && break +done + +for ac_prog in zip +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ZIP"; then + ac_cv_prog_ZIP="$ZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_ZIP="$ac_prog" + printf "%s\n" "$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 +ZIP=$ac_cv_prog_ZIP +if test -n "$ZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ZIP" >&5 +printf "%s\n" "$ZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ZIP" && break +done + +for ac_prog in zoo +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ZOO+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ZOO"; then + ac_cv_prog_ZOO="$ZOO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_ZOO="$ac_prog" + printf "%s\n" "$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 +ZOO=$ac_cv_prog_ZOO +if test -n "$ZOO"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ZOO" >&5 +printf "%s\n" "$ZOO" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ZOO" && break +done + + + +ac_header= ac_cache= +for ac_item in $ac_header_c_list +do + if test $ac_cache; then + ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" + if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then + printf "%s\n" "#define $ac_item 1" >> confdefs.h + fi + ac_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item + fi +done + + + + + + + + +if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes +then : + +printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +# Autoupdate added the next two lines to ensure that your configure +# script's behavior did not change. They are probably safe to remove. + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + + + +ac_fn_c_check_header_compile "$LINENO" "ctype.h" "ac_cv_header_ctype_h" "$ac_includes_default" +if test "x$ac_cv_header_ctype_h" = xyes +then : + printf "%s\n" "#define HAVE_CTYPE_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "limits.h" "ac_cv_header_limits_h" "$ac_includes_default" +if test "x$ac_cv_header_limits_h" = xyes +then : + printf "%s\n" "#define HAVE_LIMITS_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "stddef.h" "ac_cv_header_stddef_h" "$ac_includes_default" +if test "x$ac_cv_header_stddef_h" = xyes +then : + printf "%s\n" "#define HAVE_STDDEF_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "stdio.h" "ac_cv_header_stdio_h" "$ac_includes_default" +if test "x$ac_cv_header_stdio_h" = xyes +then : + printf "%s\n" "#define HAVE_STDIO_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" +if test "x$ac_cv_header_stdlib_h" = xyes +then : + printf "%s\n" "#define HAVE_STDLIB_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "string.h" "ac_cv_header_string_h" "$ac_includes_default" +if test "x$ac_cv_header_string_h" = xyes +then : + printf "%s\n" "#define HAVE_STRING_H 1" >>confdefs.h + +fi + + +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 $as_nop + +printf "%s\n" "#define size_t unsigned int" >>confdefs.h + +fi + + +if test -z "$fp_package" +then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking GNU multiple-precision library (gmp)" >&5 +printf %s "checking GNU multiple-precision library (gmp)... " >&6; } +if test ${ac_cv_have_gmp+y} +then : + printf %s "(cached) " >&6 +else $as_nop + OLDCFLAGS="$CFLAGS" + OLDLIBS=$LIBS + if test "x$prefix" != xNONE + then + CFLAGS="$CFLAGS -I$prefix/include" + LIBS="$LIBS -L$prefix/lib -lgmp" + else + CFLAGS="$CFLAGS -I$ac_default_prefix/include" + LIBS="$LIBS -L$ac_default_prefix/lib -lgmp" + fi + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +mpf_t x; mpf_init(x); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_have_gmp=yes +else $as_nop + ac_cv_have_gmp=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test "$ac_cv_have_gmp" = "yes" + then + ac_cv_c_long_double=no + printf "%s\n" "#define HAVE_GMP 1" >>confdefs.h + + fp_package=gmp + else + CFLAGS=$OLDCFLAGS + LIBS=$OLDLIBS + fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_gmp" >&5 +printf "%s\n" "$ac_cv_have_gmp" >&6; } + + if test "$ac_cv_have_gmp" = "no" + then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for long double" >&5 +printf %s "checking for long double... " >&6; } + if test "$cross_compiling" = yes +then : + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run test program while cross compiling +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include "confdefs.h" + int main() + { + /* The Stardent Vistra knows sizeof(long double), but does not support it. */ + long double foo = 0.0; + /* On Ultrix 4.3 cc, long double is 4 and double is 8. */ + return (sizeof(long double) <= sizeof(double)); + } + +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + ac_cv_c_long_double=yes +else $as_nop + ac_cv_c_long_double=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_cv_c_long_double = yes + then + fp_package=ldb + printf "%s\n" "#define HAVE_LONG_DOUBLE 1" >>confdefs.h + + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_long_double" >&5 +printf "%s\n" "$ac_cv_c_long_double" >&6; } + fi +elif test $fp_package = gmp +then + printf "%s\n" "#define HAVE_GMP 1" >>confdefs.h + +elif test $fp_package = ldb +then + printf "%s\n" "#define HAVE_LONG_DOUBLE 1" >>confdefs.h + +fi + +if test -z "$fp_package" +then + fp_package=dbl +elif test $fp_package = gmp +then + LIBS="$LIBS -lgmp" +fi + +CHECKOKAY=okay-$fp_package + + +CFLAGS="`echo $CFLAGS | sed -e 's/-g //g' -e 's/ -g$//g' -e 's/^-g$//'`" + +CFLAGS="`echo $CFLAGS | sed -e 's/-O2 //g' -e 's/ -O2$//g' -e 's/^-O2$//'`" + +ac_config_files="$ac_config_files Makefile ndiff.sh:ndiff.sin" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 $as_me, which was +generated by GNU Autoconf 2.71. 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 the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +config.status +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$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=`printf "%s\n" "$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 ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.hin" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "ndiff.sh") CONFIG_FILES="$CONFIG_FILES ndiff.sh:ndiff.sin" ;; + + *) 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+y} || CONFIG_FILES=$config_files + test ${CONFIG_HEADERS+y} || 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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + { + printf "%s\n" "/* $configure_input */" >&1 \ + && 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +printf "%s\n" "$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 + printf "%s\n" "/* $configure_input */" >&1 \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi + ;; + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + +chmod 555 ndiff.sh +chmod 444 Makefile + diff --git a/src/amuse_mesa_r2208/patches/ndiff_configure_skip_unpack b/src/amuse_mesa_r2208/patches/ndiff_configure_skip_unpack new file mode 100644 index 0000000000..81b4a61977 --- /dev/null +++ b/src/amuse_mesa_r2208/patches/ndiff_configure_skip_unpack @@ -0,0 +1,13 @@ +diff -u -r src/mesa/install_num_only src2/mesa/install_num_only +--- mesa/src/mesa/install_num_only 2010-03-02 02:11:41.000000000 +0100 ++++ mesa/src2/mesa/install_num_only 2025-05-17 08:58:05.150214108 +0200 +@@ -26,8 +26,7 @@ + NDIFF_FOLDER=ndiff + + cd utils +-tar -xzvf ndiff-2.00.tar.gz +-check_okay ++# unpack done by outer (AMUSE) build system so we can patch it + + mkdir $NDIFF_FOLDER + mkdir $NDIFF_FOLDER/bin diff --git a/src/amuse/community/mesa_r2208/patches/openmp b/src/amuse_mesa_r2208/patches/openmp similarity index 100% rename from src/amuse/community/mesa_r2208/patches/openmp rename to src/amuse_mesa_r2208/patches/openmp diff --git a/src/amuse_mesa_r2208/patches/series b/src/amuse_mesa_r2208/patches/series new file mode 100644 index 0000000000..79e68fcd6b --- /dev/null +++ b/src/amuse_mesa_r2208/patches/series @@ -0,0 +1,10 @@ +build +definitions +test +alert +filelen +kaptestinit +openmp +warningisnoterror +allow_legacy_code +ndiff_configure_skip_unpack diff --git a/src/amuse/community/mesa_r2208/patches/test b/src/amuse_mesa_r2208/patches/test similarity index 100% rename from src/amuse/community/mesa_r2208/patches/test rename to src/amuse_mesa_r2208/patches/test diff --git a/src/amuse/community/mesa_r2208/test_jina.f b/src/amuse_mesa_r2208/patches/test_jina.f similarity index 100% rename from src/amuse/community/mesa_r2208/test_jina.f rename to src/amuse_mesa_r2208/patches/test_jina.f diff --git a/src/amuse/community/mesa_r2208/patches/warningisnoterror b/src/amuse_mesa_r2208/patches/warningisnoterror similarity index 100% rename from src/amuse/community/mesa_r2208/patches/warningisnoterror rename to src/amuse_mesa_r2208/patches/warningisnoterror diff --git a/src/amuse_mesa_r2208/support/aclocal.m4 b/src/amuse_mesa_r2208/support/aclocal.m4 new file mode 100644 index 0000000000..a08907b9b2 --- /dev/null +++ b/src/amuse_mesa_r2208/support/aclocal.m4 @@ -0,0 +1,21 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_download.m4]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/fortran.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_mesa_r2208/support/config.mk.in b/src/amuse_mesa_r2208/support/config.mk.in new file mode 100644 index 0000000000..bd718757c0 --- /dev/null +++ b/src/amuse_mesa_r2208/support/config.mk.in @@ -0,0 +1,28 @@ +# Compilers +FC = @FC@ + +MPIFC = @MPIFC@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ +DOWNLOAD = @DOWNLOAD@ + + +# General flags and libraries +FCFLAGS = @FCFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +FORSOCKETS_CFLAGS = @FORSOCKETS_CFLAGS@ +FORSOCKETS_LIBS = @FORSOCKETS_LIBS@ + + +# External dependencies +OPENMP_FCFLAGS = @OPENMP_FCFLAGS@ + diff --git a/src/amuse_mesa_r2208/support/configure b/src/amuse_mesa_r2208/support/configure new file mode 100755 index 0000000000..26d5079c23 --- /dev/null +++ b/src/amuse_mesa_r2208/support/configure @@ -0,0 +1,6328 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-mesa_r2208 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-mesa_r2208' +PACKAGE_TARNAME='amuse-mesa_r2208' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-mesa_r2208 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +OPENMP_FCFLAGS +MPILIBS +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CPPFLAGS +CFLAGS +CC +DOWNLOAD +CURL +WGET +RANLIB +AR +target_os +target_vendor +target_cpu +target +OBJEXT +EXEEXT +ac_ct_FC +LDFLAGS +FCFLAGS +FC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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_openmp +' + ac_precious_vars='build_alias +host_alias +target_alias +FC +FCFLAGS +LDFLAGS +LIBS +CC +CFLAGS +CPPFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS +MPIFC' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-mesa_r2208 1.0 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/amuse-mesa_r2208] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-mesa_r2208 1.0:";; + 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] + --disable-openmp do not use OpenMP + +Some influential environment variables: + FC Fortran compiler command + FCFLAGS Fortran 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 + CC C compiler command + CFLAGS C compiler flags + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + 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 + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + MPIFC MPI Fortran compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-mesa_r2208 configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-mesa_r2208 $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the Fortran compiler works" >&5 +printf %s "checking whether the Fortran compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "Fortran compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler default output file name" >&5 +printf %s "checking for Fortran compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat > conftest.$ac_ext <<_ACEOF + program main + open(unit=9,file='conftest.out') + close(unit=9) + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run Fortran compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +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 + + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + +# Find something to download things with + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}wget", so it can be a program name with args. +set dummy ${ac_tool_prefix}wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$WGET"; then + ac_cv_prog_WGET="$WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="${ac_tool_prefix}wget" + printf "%s\n" "$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 +WGET=$ac_cv_prog_WGET +if test -n "$WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $WGET" >&5 +printf "%s\n" "$WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_WGET"; then + ac_ct_WGET=$WGET + # Extract the first word of "wget", so it can be a program name with args. +set dummy wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_WGET"; then + ac_cv_prog_ac_ct_WGET="$ac_ct_WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="wget" + printf "%s\n" "$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_WGET=$ac_cv_prog_ac_ct_WGET +if test -n "$ac_ct_WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WGET" >&5 +printf "%s\n" "$ac_ct_WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_WGET" = x; then + WGET="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + WGET=$ac_ct_WGET + fi +else + WGET="$ac_cv_prog_WGET" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}curl", so it can be a program name with args. +set dummy ${ac_tool_prefix}curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CURL"; then + ac_cv_prog_CURL="$CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="${ac_tool_prefix}curl" + printf "%s\n" "$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 +CURL=$ac_cv_prog_CURL +if test -n "$CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CURL" >&5 +printf "%s\n" "$CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CURL"; then + ac_ct_CURL=$CURL + # Extract the first word of "curl", so it can be a program name with args. +set dummy curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CURL"; then + ac_cv_prog_ac_ct_CURL="$ac_ct_CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="curl" + printf "%s\n" "$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_CURL=$ac_cv_prog_ac_ct_CURL +if test -n "$ac_ct_CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CURL" >&5 +printf "%s\n" "$ac_ct_CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CURL" = x; then + CURL="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CURL=$ac_ct_CURL + fi +else + CURL="$ac_cv_prog_CURL" +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a wget or curl to download files with" >&5 +printf %s "checking for a wget or curl to download files with... " >&6; } + if test "x$WGET" != "x" + then + # The MESA SDK server rejects wget, this is the official work-around + DOWNLOAD="$WGET --progress=bar:force:noscroll --user-agent='' -O -" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + if test "x$CURL" != "x" + then + DOWNLOAD="$CURL -L" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + fi + + + + + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + + +if test -e penmp || test -e mp; then + as_fn_error $? "AC_OPENMP clobbers files named 'mp' and 'penmp'. Aborting configure because one of these files already exists." "$LINENO" 5 +fi +# Check whether --enable-openmp was given. +if test ${enable_openmp+y} +then : + enableval=$enable_openmp; +fi + + OPENMP_FCFLAGS= + if test "$enable_openmp" != no; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $FC option to support OpenMP" >&5 +printf %s "checking for $FC option to support OpenMP... " >&6; } +if test ${ac_cv_prog_fc_openmp+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_fc_openmp='not found' + for ac_option in '' -fopenmp -xopenmp -openmp -mp -omp -qsmp=omp -homp \ + -Popenmp --openmp; do + + ac_save_FCFLAGS=$FCFLAGS + FCFLAGS="$FCFLAGS $ac_option" + cat > conftest.$ac_ext <<_ACEOF + + program main + implicit none +!$ integer tid + tid = 42 + call omp_set_num_threads(2) + end + +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + cat > conftest.$ac_ext <<_ACEOF + + program main + implicit none +!$ integer tid + tid = 42 + call omp_set_num_threads(2) + end + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_prog_fc_openmp=$ac_option +else $as_nop + ac_cv_prog_fc_openmp='unsupported' +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + FCFLAGS=$ac_save_FCFLAGS + + if test "$ac_cv_prog_fc_openmp" != 'not found'; then + break + fi + done + if test "$ac_cv_prog_fc_openmp" = 'not found'; then + ac_cv_prog_fc_openmp='unsupported' + elif test "$ac_cv_prog_fc_openmp" = ''; then + ac_cv_prog_fc_openmp='none needed' + fi + rm -f penmp mp +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_openmp" >&5 +printf "%s\n" "$ac_cv_prog_fc_openmp" >&6; } + if test "$ac_cv_prog_fc_openmp" != 'unsupported' && \ + test "$ac_cv_prog_fc_openmp" != 'none needed'; then + OPENMP_FCFLAGS="$ac_cv_prog_fc_openmp" + 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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-mesa_r2208 $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-mesa_r2208 config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_mesa_r2208/support/configure.ac b/src/amuse_mesa_r2208/support/configure.ac new file mode 100644 index 0000000000..97aa7aa97f --- /dev/null +++ b/src/amuse_mesa_r2208/support/configure.ac @@ -0,0 +1,45 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-mesa_r2208], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + +# Find something to download things with +AMUSE_DOWNLOAD() + + +# Find AMUSE libraries +AMUSE_LIB_FORSOCKETS() + + +# Find external dependencies +AC_LANG_PUSH([Fortran]) + +AX_MPI() + +AC_OPENMP() +AC_SUBST(OPENMP_FCFLAGS) + +AC_LANG_POP([Fortran]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_mesa_r2208/support/shared b/src/amuse_mesa_r2208/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_mesa_r2208/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_mesa_2208.py b/src/amuse_mesa_r2208/tests/test_mesa_2208.py similarity index 92% rename from src/amuse/test/suite/codes_tests/test_mesa_2208.py rename to src/amuse_mesa_r2208/tests/test_mesa_2208.py index d4948f15f1..20fc017bbb 100644 --- a/src/amuse/test/suite/codes_tests/test_mesa_2208.py +++ b/src/amuse_mesa_r2208/tests/test_mesa_2208.py @@ -1,11 +1,11 @@ -from amuse.test.amusetest import TestWithMPI, get_path_to_results +from amuse.support.testing.amusetest import TestWithMPI, get_path_to_results import sys import os.path from subprocess import PIPE, Popen import numpy from math import ceil -from amuse.community.mesa_r2208.interface import MESA, MESAInterface +from amuse_mesa_r2208.interface import Mesa, MesaInterface from amuse.support.exceptions import AmuseException from amuse.units import units @@ -15,13 +15,13 @@ from amuse.ext.spherical_model import EnclosedMassInterpolator -class TestMESAInterface(TestWithMPI): +class TestMesaInterface(TestWithMPI): def test1(self): print("Testing initialization of the interface...") - instance = self.new_instance_of_an_optional_code(MESAInterface) + instance = self.new_instance_of_an_optional_code(MesaInterface) if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return inlist_path = instance.default_path_to_inlist # print "Path to inlist: ", inlist_path @@ -37,9 +37,9 @@ def slowtest2(self): print("Testing get/set of metallicity (tests new ZAMS model implicitly)...") print("The first time this test will take quite some time" " to generate new starting models.") - instance = self.new_instance_of_an_optional_code(MESAInterface) + instance = self.new_instance_of_an_optional_code(MesaInterface) if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return instance.set_MESA_paths(instance.default_path_to_inlist, instance.default_path_to_MESA_data, instance.get_output_directory()) @@ -58,9 +58,9 @@ def slowtest2(self): def test3(self): print("Testing basic operations: new_particle...") - instance = self.new_instance_of_an_optional_code(MESAInterface) + instance = self.new_instance_of_an_optional_code(MesaInterface) if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return (maximum_number_of_stars, error) = instance.get_maximum_number_of_stars() self.assertEqual(0, error) @@ -80,10 +80,11 @@ def test3(self): instance.stop() def test4(self): + self.skip("Test broken by #933, see #1107") print("Testing basic operations: evolve...") - instance = self.new_instance_of_an_optional_code(MESAInterface) + instance = self.new_instance_of_an_optional_code(MesaInterface) if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return instance.set_MESA_paths(instance.default_path_to_inlist, instance.default_path_to_MESA_data, instance.get_output_directory()) @@ -120,9 +121,9 @@ def slowtest5(self): print("Testing evolve with varying Z (tests new ZAMS model implicitly)...") print("If the required starting models do not exist, this test will " "take quite some time to generate them.") - instance = self.new_instance_of_an_optional_code(MESAInterface) + instance = self.new_instance_of_an_optional_code(MesaInterface) if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return instance.set_MESA_paths(instance.default_path_to_inlist, instance.default_path_to_MESA_data, instance.get_output_directory()) @@ -144,9 +145,9 @@ def slowtest5(self): def test6(self): print("Testing MESA stop conditions...") - instance = self.new_instance_of_an_optional_code(MESAInterface) + instance = self.new_instance_of_an_optional_code(MesaInterface) if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return (value, error) = instance.get_max_age_stop_condition() self.assertEqual(0, error) @@ -170,9 +171,9 @@ def test6(self): def test7(self): print("Testing MESA parameters...") - instance = self.new_instance_of_an_optional_code(MESAInterface) + instance = self.new_instance_of_an_optional_code(MesaInterface) if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return (value, error) = instance.get_mixing_length_ratio() self.assertEqual(0, error) @@ -196,9 +197,9 @@ def test7(self): def test8(self): print("Testing MESA wind parameters...") - instance = self.new_instance_of_an_optional_code(MESAInterface) + instance = self.new_instance_of_an_optional_code(MesaInterface) if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return (value, error) = instance.get_RGB_wind_scheme() self.assertEqual(0, error) @@ -263,13 +264,13 @@ def test8(self): instance.stop() -class TestMESA(TestWithMPI): +class TestMesa(TestWithMPI): def test1(self): print("Testing initialization and default MESA parameters...") - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return instance.set_MESA_paths(instance.default_path_to_inlist, instance.default_path_to_MESA_data, instance.get_output_directory()) @@ -281,10 +282,11 @@ def test1(self): instance.stop() def test2(self): + self.skip("Test broken by #933, see #1107") print("Testing basic operations: evolve and get_...") - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return instance.initialize_code() instance.commit_parameters() @@ -315,9 +317,9 @@ def test2(self): def test3(self): print("Testing basic operations: evolve_model and channels...") - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return instance.initialize_code() instance.commit_parameters() @@ -340,9 +342,9 @@ def test3(self): def slowtest4(self): print("Testing stellar type...") - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return instance.initialize_code() instance.commit_parameters() @@ -403,8 +405,9 @@ def slowtest4(self): instance.stop() def test5(self): + self.skip("Test broken by #933, see #1107") print("Testing evolve_model for particle set...") - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) masses = [0.5, 1.0] | units.MSun max_age = 0.6 | units.Myr number_of_stars = len(masses) @@ -427,7 +430,7 @@ def test5(self): self.assertTrue(stars[i].age+stars[i].time_step <= max_age) self.assertRaises(AmuseException, instance.evolve_model, end_time=2*max_age, - expected_message="Error when calling 'evolve_for' of a 'MESA', " + expected_message="Error when calling 'evolve_for' of a 'Mesa', " "errorcode is -12, error is 'Evolve terminated: Maximum age reached.'") instance.stop() @@ -435,9 +438,9 @@ def test6(self): print("Test for obtaining the stellar structure model") stars = Particles(2) stars.mass = [1.0, 10.0] | units.MSun - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return instance.initialize_code() instance.commit_parameters() @@ -469,9 +472,9 @@ def test7(self): print("Test for obtaining the stellar composition structure") stars = Particles(1) stars.mass = 1.0 | units.MSun - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return instance.initialize_code() instance.commit_parameters() @@ -503,9 +506,9 @@ def slowtest8(self): print("Test for obtaining the stellar composition structure - evolved star with zero metalicity") stars = Particles(1) stars.mass = 1.0 | units.MSun - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return instance.initialize_code() instance.parameters.metallicity = 0.0 @@ -540,9 +543,9 @@ def test9(self): print("Test for changing the stellar structure model") star = Particles(1) star.mass = 1.0 | units.MSun - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return instance.initialize_code() instance.commit_parameters() @@ -574,9 +577,9 @@ def test10(self): print("Test for changing the stellar composition") star = Particles(1) star.mass = 1.0 | units.MSun - instance = self.new_instance_of_an_optional_code(MESA) # , redirection = 'none') + instance = self.new_instance_of_an_optional_code(Mesa) # , redirection = 'none') if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return instance.initialize_code() instance.commit_parameters() @@ -613,12 +616,13 @@ def test10(self): instance.stop() def test11(self): + self.skip("Test broken by #933, see #1107") print("Test evolve_model optional arguments: end_time and keep_synchronous") stars = Particles(3) stars.mass = [1.0, 2.0, 3.0] | units.MSun - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return instance.initialize_code() instance.commit_parameters() @@ -649,12 +653,13 @@ def test11(self): instance.stop() def test12(self): + self.skip("Test broken by #933, see #1107") print("Test for importing new stellar models") star = Particles(1) star.mass = 1.0 | units.MSun - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return instance.initialize_code() instance.parameters.stabilize_new_stellar_model_flag = False @@ -704,9 +709,9 @@ def slowtest13(self): print("Testing MESA wind parameters...") stars = Particles(9) stars.mass = 10.0 | units.MSun - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return instance.initialize_code() instance.parameters.reimers_wind_efficiency = 0.5 @@ -741,9 +746,9 @@ def test14(self): print("Testing MESA wind parameters... (short version of slowtest13)") stars = Particles(3) stars.mass = 10.0 | units.MSun - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return instance.initialize_code() instance.parameters.RGB_wind_scheme = 0 @@ -767,9 +772,9 @@ def test15(self): print("Testing MESA states") stars = Particles(2) stars.mass = 1.0 | units.MSun - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return print("First do everything manually:", end=' ') @@ -788,7 +793,7 @@ def test15(self): print("initialize_code(), commit_parameters(), (re)commit_particles(), " "and cleanup_code() should be called automatically:", end=' ') - instance = MESA() + instance = Mesa() self.assertEqual(instance.get_name_of_current_state(), 'UNINITIALIZED') instance.parameters.RGB_wind_scheme = 1 instance.parameters.reimers_wind_efficiency = 0.5 @@ -806,12 +811,13 @@ def test15(self): print("ok") def test16(self): + self.skip("Test broken by #933, see #1107") print("Testing basic operations: evolve_one_step and evolve_for") stars = Particles(2) stars.mass = 1.0 | units.MSun - instance = self.new_instance_of_an_optional_code(MESA) # , redirection = 'none') + instance = self.new_instance_of_an_optional_code(Mesa) # , redirection = 'none') if instance is None: - print("MESA was not built. Skipping test.") + print("Mesa was not built. Skipping test.") return se_stars = instance.particles.add_particles(stars) @@ -830,7 +836,7 @@ def test16(self): def test17(self): print("MESA validation") - mesa_src_path = os.path.join(os.path.dirname(sys.modules[MESA.__module__].__file__), 'src', 'mesa') + mesa_src_path = os.path.join(os.path.dirname(sys.modules[Mesa.__module__].__file__), 'src', 'mesa') mesa_star_path = os.path.join(mesa_src_path, 'star', 'test', 'star') if not os.path.exists(mesa_star_path) or not os.access(mesa_star_path, os.X_OK): @@ -843,7 +849,7 @@ def test17(self): testpath = get_path_to_results() outputfile_name = os.path.join(testpath, "mesa_output") - instance = self.new_instance_of_an_optional_code(MESA, redirection='file', redirect_file=outputfile_name) + instance = self.new_instance_of_an_optional_code(Mesa, redirection='file', redirect_file=outputfile_name) se_star = instance.particles.add_particle(star) for i in range(number_of_steps): se_star.evolve_one_step() @@ -854,7 +860,7 @@ def test17(self): rfile.close() # generate the inlist for the (stand-alone) MESA star run: - instance = self.new_instance_of_an_optional_code(MESA, redirection='null') + instance = self.new_instance_of_an_optional_code(Mesa, redirection='null') with open(instance.default_path_to_inlist, 'r') as default_inlist: with open(os.path.join(testpath, 'inlist'), 'w') as test_inlist: for one_line in default_inlist.readlines(): @@ -880,7 +886,7 @@ def test17(self): def test18(self): print("Testing MESA mass_change (User-specified wind/accretion)") - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) instance.parameters.RGB_wind_scheme = 0 # must be turned off for user-specified rates instance.parameters.AGB_wind_scheme = 0 # must be turned off for user-specified rates @@ -905,7 +911,7 @@ def test18(self): def slowtest19a(self): print("Testing MESA core mass") - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) star = instance.particles.add_particle(Particle(mass=3 | units.MSun)) star.evolve_for(330 | units.Myr) for i in range(10): @@ -918,7 +924,7 @@ def slowtest19a(self): def test19b(self): print("Testing MESA core mass (short version of slowtest19a)") - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) star = instance.particles.add_particle(Particle(mass=3 | units.MSun)) star.evolve_one_step() index = numpy.searchsorted(star.get_chemical_abundance_profiles(number_of_species=1)[0], 1.0e-4) @@ -928,7 +934,7 @@ def test19b(self): def test20(self): print("Testing MESA pre-main-sequence star") - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) star = instance.pre_ms_stars.add_particle(Particle(mass=1.0 | units.MSun)) self.assertAlmostEqual(star.time_step, 1.0e-3 | units.yr) @@ -946,7 +952,7 @@ def test20(self): def slowtest21(self): print("Testing MESA calculate_core_mass") - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) star = instance.particles.add_particle(Particle(mass=40 | units.MSun)) instance.evolve_model(4.56 | units.Myr) total_core_mass = star.calculate_core_mass() @@ -977,8 +983,9 @@ def slowtest21(self): self.assertAlmostEqual(he3_core_mass, 0 | units.MSun) def test22(self): + self.skip("Test broken by #933, see #1107") print("Testing MESA calculate_core_mass (short version of slowtest21)") - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) star = instance.particles.add_particle(Particle(mass=1 | units.MSun)) instance.evolve_model(0.3 | units.Gyr) # VERY short, for test speed up central_hydrogen_abundance = star.get_chemical_abundance_profiles()[0][0] @@ -1012,7 +1019,7 @@ def test22(self): def test23(self): print("Testing MESA central_temperature and central_density") - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) stars = instance.particles.add_particles(Particles(mass=[0.1, 1, 10] | units.MSun)) self.assertIsOfOrder(stars.central_temperature, [4e6, 13e6, 31e6] | units.K) self.assertIsOfOrder(stars.central_density, [400, 77, 9] | units.g * units.cm**-3) @@ -1020,7 +1027,7 @@ def test23(self): def test24(self): print("Testing MESA calculate_helium_exhausted_core_mass") - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) star = instance.particles.add_particle(Particle(mass=2 | units.MSun)) composition = star.get_chemical_abundance_profiles() @@ -1055,7 +1062,7 @@ def test24(self): def test25(self): print("Testing MESA accretion") - instance = self.new_instance_of_an_optional_code(MESA) + instance = self.new_instance_of_an_optional_code(Mesa) instance.parameters.RGB_wind_scheme = 0 instance.parameters.AGB_wind_scheme = 0 star = instance.particles.add_particle(Particle(mass=2 | units.MSun)) diff --git a/src/amuse/community/mesa_r2208/zams_z20m3.data.gz b/src/amuse_mesa_r2208/zams_z20m3.data.gz similarity index 100% rename from src/amuse/community/mesa_r2208/zams_z20m3.data.gz rename to src/amuse_mesa_r2208/zams_z20m3.data.gz diff --git a/src/amuse_mi6/Makefile b/src/amuse_mi6/Makefile new file mode 100644 index 0000000000..93369dcfd9 --- /dev/null +++ b/src/amuse_mi6/Makefile @@ -0,0 +1,82 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library +DEPFLAGS += $(STOPCOND_CFLAGS) + +CFLAGS += $(DEPFLAGS) + +LDLIBS += $(STOPCOND_LIBS) + +CODELIB = src/libmi6.a +CODELIB_GPU = src/libmi6_gpu.a + +.PHONY: $(CODELIB) +$(CODELIB): + $(MAKE) -C src -j 1 emulib + +.PHONY: $(CODELIB_GPU) +$(CODELIB_GPU): + $(MAKE) -C src -j 1 gpulib + + +# Building the workers +mi6_worker.h: interface.py + amusifier --type=h interface.py MI6Interface -o $@ + +mi6_worker.cc: interface.py + amusifier --type=c interface.py MI6Interface -o $@ + +mi6_worker.o: mi6_worker.cc mi6_worker.h + $(MPICXX) -c -o $@ -Isrc $(CFLAGS) $< + +mi6_worker: interface.o mi6_worker.o $(CODELIB) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +# TODO: Re-enable and make work when we have Sapporo2 packaged and available +mi6_sapporo2_worker: mi6_worker.o interface.o $(CODELIB_GPU) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) $(SAPPORO2_LIBS) + +interface.o: interface.cc mi6_worker.h + $(MPICXX) -o $@ -c $(CFLAGS) -Isrc $< + + +# Which packages contain which workers? +amuse-mi6_contains: mi6_worker + +amuse-mi6-sapporo2_contains: mi6_sapporo2_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_mi6/__init__.py b/src/amuse_mi6/__init__.py new file mode 100644 index 0000000000..974e357597 --- /dev/null +++ b/src/amuse_mi6/__init__.py @@ -0,0 +1 @@ +from .interface import Mi6 diff --git a/src/amuse_mi6/interface.cc b/src/amuse_mi6/interface.cc new file mode 100644 index 0000000000..3bc4486e28 --- /dev/null +++ b/src/amuse_mi6/interface.cc @@ -0,0 +1,1180 @@ +#include "Particle.h" +#include +#include +#include +//#include +//~#include +#include + +#ifdef SAPPORO_GRAPE +#include "sapporo.h" +#include "../lib/g6/g6lib.h" +#else +//#include"../lib/g6/g6_dummy.h" +#endif //GRAPE6 + +//#include "src/IO.h" + +//#include +//#include"drive.h" + +#include "interface.h" +#include "mi6_worker.h" +#include "Vector3.h" +#include "evolve.h" +#include "energy.h" + +// AMUSE STOPPING CONDITIONS SUPPORT +#include + +using namespace std; + + + +// Globals +double eps2_fs_fs = 0.0; +double eps2_fs_smbh = 0.0; +double eps2_bh_bh = 0.0; +double eta_s = 1.0e-4; +double eta_fs = 0.1; +double eta_smbh = 0.4; +double eta_imbh = 0.4; +double Tsys = 0.0; +double current_time = 0.0; +double Tmerge = 0.0; +//~double Tend = 0.0; +double Egr = 0.0; +double Emerge = 0.0; +static double begin_time = 0; + +int myrank; +int Nproc; +map particle_buffer; // for initialization only +//~map black_hole_buffer; // for initialization only +map local_index_map; +map reverse_index_map; +int particle_id_counter = 0; +bool particles_initialized = false; +bool debug = false; +bool energies_up_to_date = false; + +int Ntot = 0; +int Nip_tot = 0; // Ntot - Ndead (every node have same number) +int Nip = 0; // Nip (every node have same number) +int NFS = 0; +int NBH = 0; +int Njp_org = 0; +int Njp = 0; +int first_address = 0; +int Ndead = 0; // Nmerge + Naccrete (every node have same number) +int NSMBH = 0; +int NIMBH = 0; +Particle *prt = 0; +Particle *prt_old = 0; +//const double dEcrit = 1e-10; +double dEcrit = 5e-5; +//const double dEcrit = 1e30; +int Nstep = 0; +int Nstep_old = 0; +int Nloop = 0; +int Nloop_old = 0; +int state; +//double dt_max = 1.0/8.0; +double dt_max = 1.0/1024.0; +//double dt_max = 1.0/16384.0; +//~double dt_snp; +//~double Tsnp; +int first_loop; +int first_loop_old; +int itr; +int Nmerge = 0; +int Nmerge_loop = 0; +int Naccrete = 0; +int Naccrete_loop = 0; +double Tcal_grav0 = 0.0; +double Tcal_grav1 = 0.0; +double Tcal_comm0 = 0.0; +double Tcal_comm1 = 0.0; +double Tcal_fix0 = 0.0; +double Tcal_fix1 = 0.0; +double Tcal_tot0 = 0.0; +double Tcal_tot1 = 0.0; +double Tcal_all = 0.0; +int EX_FLAG = 0; +int *address = NULL; +int *address_old = NULL; +//~Particle **prt_merged = NULL; +//~Particle **prt_accreted = NULL; +Particle *(prt_merged[10000]); +Particle *(prt_accreted[10000]); +double E0, Ek0, Ep0; +double E1, Ek1, Ep1; +double E_current, Ek_current, Ep_current; +double E1_old, Ek1_old, Ep1_old; +double Tmerge_old; +int Nip_tot_old, Njp_old; +int Ndead_old, Nmerge_old, Naccrete_old; +double Tsys_old; +double Egr_old; +double Emerge_old; + + +// Interface functions + +int initialize_code() { + cout << setprecision(15); + cerr << setprecision(15); + + begin_time = 0; + +#ifndef NOMPI + MPI_Comm_rank (MPI_COMM_WORLD, &myrank); + MPI_Comm_size (MPI_COMM_WORLD, &Nproc); +#else + myrank = 0; + Nproc = 1; +#endif + // AMUSE STOPPING CONDITIONS SUPPORT + set_support_for_condition(COLLISION_DETECTION); + return 0; +} + +int new_particle(int *particle_identifier, double mass, + double x, double y, double z, double vx, double vy, double vz, double radius) { + dynamics_state new_p; + + // Particle is stored in the buffer until (re)commit_particles is called + particle_id_counter++; + *particle_identifier = particle_id_counter; + new_p.mass = mass; + new_p.radius = radius; + new_p.x = x; + new_p.y = y; + new_p.z = z; + new_p.vx = vx; + new_p.vy = vy; + new_p.vz = vz; + particle_buffer.insert(pair(*particle_identifier, new_p)); + return 0; +} + +//~int new_black_hole(int *particle_identifier, double mass, + //~double x, double y, double z, double vx, double vy, double vz, double radius) { + //~dynamics_state new_p; + //~ + //~// Particle is stored in the buffer until (re)commit_particles is called + //~particle_id_counter++; + //~*particle_identifier = particle_id_counter; + //~new_p.mass = mass; + //~new_p.radius = radius; + //~new_p.x = x; + //~new_p.y = y; + //~new_p.z = z; + //~new_p.vx = vx; + //~new_p.vy = vy; + //~new_p.vz = vz; + //~black_hole_buffer.insert(pair(*particle_identifier, new_p)); + //~return 0; +//~} + +int delete_particle(int particle_identifier) { + map::iterator particle_iter = local_index_map.find(particle_identifier); + if (particle_iter != local_index_map.end()){ + int index = particle_iter->second; + local_index_map.erase(particle_iter); + particle_iter = reverse_index_map.find(index); + reverse_index_map.erase(particle_iter); + return 0; + } + + map::iterator buffer_iter = particle_buffer.find(particle_identifier); + if (buffer_iter != particle_buffer.end()){ + particle_buffer.erase(buffer_iter); + return 0; + } + return -3; // Not found! +} + + + +int commit_particles() { + NFS = particle_buffer.size(); + NBH = 0;//black_hole_buffer.size(); + Ntot = NFS + NBH; + Nip = Ntot; + prt = new Particle[Ntot]; + prt_old = new Particle[Ntot]; + int i = 0; + //~for (map::iterator iter = black_hole_buffer.begin(); + //~iter != black_hole_buffer.end(); iter++, i++){ + //~local_index_map.insert(pair((*iter).first, i)); + //~reverse_index_map.insert(pair(i, (*iter).first)); + //~prt[i].mass = (*iter).second.mass; + //~prt[i].radius = (*iter).second.radius; + //~prt[i].pos = Vector3((*iter).second.x, (*iter).second.y, (*iter).second.z); + //~prt[i].vel = Vector3((*iter).second.vx, (*iter).second.vy, (*iter).second.vz); + //~prt[i].index = i; + //~prt[i].address = i; + //~prt[i].type = SMBH; + //~} + //~black_hole_buffer.clear(); + //~i = NBH; // Just to be sure... + local_index_map.clear(); + reverse_index_map.clear(); + for (map::iterator iter = particle_buffer.begin(); + iter != particle_buffer.end(); iter++, i++){ + local_index_map.insert(pair((*iter).first, i)); // identifier -> index + reverse_index_map.insert(pair(i, (*iter).first)); // index -> identifier + prt[i].mass = (*iter).second.mass; + prt[i].radius = (*iter).second.radius; + prt[i].pos = Vector3((*iter).second.x, (*iter).second.y, (*iter).second.z); + prt[i].vel = Vector3((*iter).second.vx, (*iter).second.vy, (*iter).second.vz); + prt[i].time = current_time; + prt[i].index = i; + prt[i].address = i; + } + particle_buffer.clear(); + particle_buffer.clear(); + + Nip_tot = Ntot - Ndead; + divide_proc(Ntot, Njp_org, first_address); + + cout << "Ntot: " << Ntot << endl << flush; + address = new int[Ntot]; + address_old = new int[Ntot]; + for(i=0; i::iterator iter = local_index_map.find(particle_identifier); + if (iter != local_index_map.end()){ + *index = (*iter).second; + return true; + } + } + return false; +} +void get_identifier_of_particle_with_index(int index, int *particle_identifier){ + map::iterator iter = reverse_index_map.find(index); + if (iter == reverse_index_map.end()){ + cerr << "Error: Could not determine the identifier for particle at index: " << index << endl; + *particle_identifier = -1; + } else { + *particle_identifier = (*iter).second; + } +} + +int get_index_of_first_particle(int *particle_identifier) { + //*index_of_the_particle = prt.front(); + return -2; // Not implemented +} +int get_index_of_next_particle(int particle_identifier, int *next_particle_identifier) { + return -2; // Not implemented +} + +int get_indices_of_colliding_particles(int *index_of_particle1, int *index_of_particle2) { + return -2; // Not implemented +} + + + +// simulation property getters: +int get_total_mass(double *total_mass) { + // calculate only on the root mpi process, not on others + if (myrank == 0) { + *total_mass = 0.0; + for (int i=0; i/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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-mi6' +PACKAGE_TARNAME='amuse-mi6' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-mi6 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPILIBS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +FOUND_SAPPORO_LIGHT +SAPPORO_LIGHT_LIBS +SAPPORO_LIGHT_CFLAGS +FOUND_STOPCOND +STOPCOND_LIBS +STOPCOND_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CFLAGS +CC +RANLIB +AR +target_os +target_vendor +target_cpu +target +OBJEXT +EXEEXT +ac_ct_CXX +CPPFLAGS +LDFLAGS +CXXFLAGS +CXX +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CC +CFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCOND_CFLAGS +STOPCOND_LIBS +SAPPORO_LIGHT_CFLAGS +SAPPORO_LIGHT_LIBS +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-mi6 1.0 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/amuse-mi6] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-mi6 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS 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 + CC C compiler command + CFLAGS C compiler flags + 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 + STOPCOND_CFLAGS + C compiler flags for STOPCOND, overriding pkg-config + STOPCOND_LIBS + linker flags for STOPCOND, overriding pkg-config + SAPPORO_LIGHT_CFLAGS + C compiler flags for SAPPORO_LIGHT, overriding pkg-config + SAPPORO_LIGHT_LIBS + linker flags for SAPPORO_LIGHT, overriding pkg-config + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-mi6 configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-mi6 $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 +printf %s "checking whether the C++ compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 +printf %s "checking for C++ compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCOND_CFLAGS" + amuse_save_LIB_LIBS="$STOPCOND_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing is_condition_enabled" >&5 +printf %s "checking for library containing is_condition_enabled... " >&6; } +if test ${ac_cv_search_is_condition_enabled+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char is_condition_enabled (); +int +main (void) +{ +return is_condition_enabled (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcond +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_is_condition_enabled=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_is_condition_enabled+y} +then : + break +fi +done +if test ${ac_cv_search_is_condition_enabled+y} +then : + +else $as_nop + ac_cv_search_is_condition_enabled=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_is_condition_enabled" >&5 +printf "%s\n" "$ac_cv_search_is_condition_enabled" >&6; } +ac_res=$ac_cv_search_is_condition_enabled +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCOND="yes" + STOPCOND_LIBS="$LIBS" + STOPCOND_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCOND" >&5 +printf %s "checking for STOPCOND... " >&6; } + +if test -n "$STOPCOND_CFLAGS"; then + pkg_cv_STOPCOND_CFLAGS="$STOPCOND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_CFLAGS=`$PKG_CONFIG --cflags "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCOND_LIBS"; then + pkg_cv_STOPCOND_LIBS="$STOPCOND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_LIBS=`$PKG_CONFIG --libs "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcond" 2>&1` + else + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcond" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCOND_PKG_ERRORS" >&5 + + + FOUND_STOPCOND="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCOND="no" + +else + STOPCOND_CFLAGS=$pkg_cv_STOPCOND_CFLAGS + STOPCOND_LIBS=$pkg_cv_STOPCOND_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCOND="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCOND}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCOND_CFLAGS="${STOPCOND_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCOND_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCOND_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$SAPPORO_LIGHT_CFLAGS" + amuse_save_LIB_LIBS="$SAPPORO_LIGHT_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing get_device_count" >&5 +printf %s "checking for library containing get_device_count... " >&6; } +if test ${ac_cv_search_get_device_count+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char get_device_count (); +int +main (void) +{ +return get_device_count (); + ; + return 0; +} +_ACEOF +for ac_lib in '' sapporo +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_get_device_count=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_get_device_count+y} +then : + break +fi +done +if test ${ac_cv_search_get_device_count+y} +then : + +else $as_nop + ac_cv_search_get_device_count=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_get_device_count" >&5 +printf "%s\n" "$ac_cv_search_get_device_count" >&6; } +ac_res=$ac_cv_search_get_device_count +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_SAPPORO_LIGHT="yes" + SAPPORO_LIGHT_LIBS="$LIBS" + SAPPORO_LIGHT_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SAPPORO_LIGHT" >&5 +printf %s "checking for SAPPORO_LIGHT... " >&6; } + +if test -n "$SAPPORO_LIGHT_CFLAGS"; then + pkg_cv_SAPPORO_LIGHT_CFLAGS="$SAPPORO_LIGHT_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sapporo_light\""; } >&5 + ($PKG_CONFIG --exists --print-errors "sapporo_light") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_SAPPORO_LIGHT_CFLAGS=`$PKG_CONFIG --cflags "sapporo_light" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$SAPPORO_LIGHT_LIBS"; then + pkg_cv_SAPPORO_LIGHT_LIBS="$SAPPORO_LIGHT_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sapporo_light\""; } >&5 + ($PKG_CONFIG --exists --print-errors "sapporo_light") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_SAPPORO_LIGHT_LIBS=`$PKG_CONFIG --libs "sapporo_light" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + SAPPORO_LIGHT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "sapporo_light" 2>&1` + else + SAPPORO_LIGHT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "sapporo_light" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$SAPPORO_LIGHT_PKG_ERRORS" >&5 + + + FOUND_SAPPORO_LIGHT="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_SAPPORO_LIGHT="no" + +else + SAPPORO_LIGHT_CFLAGS=$pkg_cv_SAPPORO_LIGHT_CFLAGS + SAPPORO_LIGHT_LIBS=$pkg_cv_SAPPORO_LIGHT_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_SAPPORO_LIGHT="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_SAPPORO_LIGHT}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + SAPPORO_LIGHT_CFLAGS="${SAPPORO_LIGHT_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + SAPPORO_LIGHT_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + SAPPORO_LIGHT_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-mi6 $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-mi6 config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_mi6/support/configure.ac b/src/amuse_mi6/support/configure.ac new file mode 100644 index 0000000000..548a138d57 --- /dev/null +++ b/src/amuse_mi6/support/configure.ac @@ -0,0 +1,39 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-mi6], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_CXX() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find AMUSE libraries +AMUSE_LIB_STOPCOND() +AMUSE_LIB_SAPPORO_LIGHT() + + +# Find external dependencies +AC_LANG_PUSH([C++]) + +AX_MPI() + +AC_LANG_POP([C++]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_mi6/support/shared b/src/amuse_mi6/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_mi6/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_mi6.py b/src/amuse_mi6/tests/test_mi6.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_mi6.py rename to src/amuse_mi6/tests/test_mi6.py index 14fa042e54..38b4290422 100644 --- a/src/amuse/test/suite/codes_tests/test_mi6.py +++ b/src/amuse_mi6/tests/test_mi6.py @@ -1,10 +1,10 @@ import numpy import math -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI from amuse.units import nbody_system, units, constants from amuse.datamodel import Particles -from amuse.community.mi6.interface import MI6Interface, MI6 +from amuse_mi6.interface import MI6Interface, MI6 from amuse.ic.plummer import new_plummer_model diff --git a/src/amuse_mikkola/.gitignore b/src/amuse_mikkola/.gitignore new file mode 100644 index 0000000000..c520296df1 --- /dev/null +++ b/src/amuse_mikkola/.gitignore @@ -0,0 +1,3 @@ +packages/amuse-mikkola/orbit.data +packages/amuse-mikkola/fort.* + diff --git a/src/amuse_mikkola/Makefile b/src/amuse_mikkola/Makefile new file mode 100644 index 0000000000..001d688e9e --- /dev/null +++ b/src/amuse_mikkola/Makefile @@ -0,0 +1,71 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library +DEPFLAGS += $(STOPCOND_CFLAGS) $(FORSOCKETS_CFLAGS) + +FFLAGS += $(DEPFLAGS) + +LDLIBS += $(STOPCOND_LIBS) $(FORSOCKETS_LIBS) + + +CODELIB = src/libMikkola.a + + +.PHONY: $(CODELIB) +$(CODELIB): + $(MAKE) -C src -j $(CPU_COUNT) all + + +# Building the workers +mikkola_worker.f90: interface.py + amusifier --type=f90 interface.py MikkolaInterface -o $@ + +mikkola_worker.o: mikkola_worker.f90 interface.o + $(MPIFC) -c $(FFLAGS) $^ + +interface.o: interface.f90 + $(FC) -c $(FFLAGS) $< + +mikkola_worker: mikkola_worker.o interface.o $(CODELIB) + $(MPIFC) -o $@ $(LDFLAGS) $^ $(LDLIBS) + + +# Which packages contain which workers? +amuse-mikkola_contains: mikkola_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + diff --git a/src/amuse_mikkola/__init__.py b/src/amuse_mikkola/__init__.py new file mode 100644 index 0000000000..5ad8808b0c --- /dev/null +++ b/src/amuse_mikkola/__init__.py @@ -0,0 +1,2 @@ +# generated file +from .interface import Mikkola diff --git a/src/amuse/community/mikkola/interface.f90 b/src/amuse_mikkola/interface.f90 similarity index 100% rename from src/amuse/community/mikkola/interface.f90 rename to src/amuse_mikkola/interface.f90 diff --git a/src/amuse_mikkola/interface.py b/src/amuse_mikkola/interface.py new file mode 100644 index 0000000000..5ce69900cb --- /dev/null +++ b/src/amuse_mikkola/interface.py @@ -0,0 +1,404 @@ +from amuse.community import * +from amuse.community.interface.gd import GravitationalDynamicsInterface +from amuse.community.interface.gd import GravitationalDynamics +from numpy import pi +from amuse.units import constants + +class MikkolaInterface(CodeInterface, + GravitationalDynamicsInterface, + StoppingConditionInterface): + + use_modules = ['Mikkola', 'StoppingConditions'] + + def __init__(self, **keyword_arguments): + CodeInterface.__init__(self, name_of_the_worker="mikkola_worker", **keyword_arguments) + + @legacy_function + def set_time_step(): + """ + Set the model timestep. + """ + function = LegacyFunctionSpecification() + function.addParameter('time_step', dtype='float64', direction=function.IN, + description = "The current model timestep") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value of the time step was retrieved + -1 - ERROR + The code does not have support for querying the time + """ + return function + + @legacy_function + def get_lightspeed(): + """ + Get the lightspeed value, the lightspeed scales the units (like G=1) + and limits the valid velocity terms + """ + function = LegacyFunctionSpecification() + function.addParameter('lightspeed', dtype='float64', + direction=function.OUT, + description = "value for the lightspeed") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_lightspeed(): + """ + Set the lightspeed value, the lightspeed scales the units (like G=1) + and limits the valid velocity terms + """ + function = LegacyFunctionSpecification() + function.addParameter('lightspeed', dtype='float64', + direction=function.IN, + description = "value for the lightspeed") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + @legacy_function + def get_tolerance(): + """ + Retrieve the accurancy parameter for the evolve + """ + function = LegacyFunctionSpecification() + function.addParameter('tolerance', dtype='float64', + direction=function.OUT, + description = "tolerance for the evolve") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_tolerance(): + """ + Set the accurancy parameter for the evolve + """ + function = LegacyFunctionSpecification() + function.addParameter('tolerance', dtype='float64', + direction=function.IN, + description = "tolerance for the evolve") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + @legacy_function + def get_maximum_number_of_particles(): + """ + Retrieve the maximum number of particles that can be evolved with this code + """ + function = LegacyFunctionSpecification() + function.addParameter( + 'maximum_number_of_particles', + dtype='int32', + direction=function.OUT + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_maximum_number_of_particles(): + """ + Change the maximum number of particles that can be evolved with this code + """ + function = LegacyFunctionSpecification() + function.addParameter( + 'maximum_number_of_particles', + dtype='int32', + direction=function.IN + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + @legacy_function + def get_evolve_to_exact_time(): + """ + Evolve to model to the exact time given in the evolve_model call (can be slower) + """ + function = LegacyFunctionSpecification() + function.addParameter( + 'evolve_to_exact_time', + dtype='bool', + direction=function.OUT + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_evolve_to_exact_time(): + """ + Evolve to model to the exact time given in the evolve_model call (can be slower) + """ + function = LegacyFunctionSpecification() + function.addParameter( + 'evolve_to_exact_time', + dtype='bool', + direction=function.IN + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + @legacy_function + def get_radiated_gravitational_energy(): + """ + Retrieve the current radiated gravitational energy of the model + """ + function = LegacyFunctionSpecification() + function.addParameter('radiated_gravitational_energy', dtype='float64', direction=function.OUT, + description = "The energy radiated by gravitational waves") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value of the energy was set + -1 - ERROR + Energy could not be provided + """ + return function + + + @legacy_function + def get_total_energy(): + """ + Retrieve the current total energy of the model + """ + function = LegacyFunctionSpecification() + function.addParameter('energy', dtype='float64', direction=function.OUT, + description = "The energy radiated by gravitational waves") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value of the energy was set + -1 - ERROR + Energy could not be provided + """ + return function + + @legacy_function + def get_number_of_particles_added(): + """ + Return the number of particles added during the last evolve. + """ + function = LegacyFunctionSpecification() + function.addParameter('index', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_id_of_added_particle(): + """ + Return the id of the new particle in the code + """ + function = LegacyFunctionSpecification() + function.addParameter('index_of_add', dtype='int32', + direction=function.IN, + description = 'index in the added particles list (0-n)') + function.addParameter('index_of_particle', dtype='int32', + direction=function.OUT) + function.can_handle_array = True + function.result_type = 'int32' + return function + + @legacy_function + def get_children_of_particle(): + """ + Return the number of particles added or deleted during the last evolve. + """ + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_particle', dtype='int32', + direction=function.IN, + description = 'index of the parent particle', + unit = INDEX) + function.addParameter('child1', dtype='int32', direction=function.OUT, + description = 'index of the first child particle, -1 if none', + unit = LINK('particles') ) + function.addParameter('child2', dtype='int32', direction=function.OUT, + unit = LINK('particles')) + function.can_handle_array = True + function.result_type = 'int32' + return function + +class Mikkola(GravitationalDynamics): + + def __init__(self, convert_nbody=None, **options): + + self.stopping_conditions = StoppingConditions(self) + GravitationalDynamics.__init__( + self, + MikkolaInterface(**options), + convert_nbody, + **options + ) + + def initialize_code(self): + result = self.overridden().initialize_code() + + if not self.unit_converter is None: + value=self.unit_converter.to_nbody(constants.c) + self.parameters._original.lightspeed = value + + return result + + def define_parameters(self, handler): + #~ GravitationalDynamics.define_parameters(self, handler) + + handler.add_method_parameter( + "get_time_step", + "set_time_step", + "timestep", + "initial timestep for iteration", + default_value = 1.0 | nbody_system.time + ) + handler.add_method_parameter( + "get_lightspeed", + "set_lightspeed", + "lightspeed", + "lightspeed used in the code", + default_value = 1.0 | nbody_system.length / nbody_system.time + ) + handler.add_method_parameter( + "get_tolerance", + "set_tolerance", + "tolerance", + "tolerance used in the code", + default_value = 1e-13 + ) + handler.add_method_parameter( + "get_maximum_number_of_particles", + "set_maximum_number_of_particles", + "maximum_number_of_particles", + "the code will evolve this number of particles, please be sure to account for mergers", + default_value = 100 + ) + handler.add_boolean_parameter( + "get_evolve_to_exact_time", + "set_evolve_to_exact_time", + "evolve_to_exact_time", + "the code will evolve the model to the exact time given in evolve_model", + True + ) + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + + handler.add_method( + "set_lightspeed", + ( nbody_system.length / nbody_system.time, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_lightspeed", + ( ), + (nbody_system.length / nbody_system.time, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_time_step", + (nbody_system.time, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "set_tolerance", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_tolerance", + ( ), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_radiated_gravitational_energy", + (), + (nbody_system.mass * nbody_system.length ** 2 * nbody_system.time ** -2, handler.ERROR_CODE,) + ) + + + handler.add_method( + "get_total_energy", + (), + (nbody_system.mass * nbody_system.length ** 2 * nbody_system.time ** -2, handler.ERROR_CODE,) + ) + + def define_properties(self, handler): + + GravitationalDynamics.define_properties(self, handler) + handler.add_property("get_radiated_gravitational_energy") + + def update_particle_set(self): + """ + update the particle set after changes in the code + + this implementation needs to move to the + amuse.datamodel.incode_storage module, as + it uses a lot of internal methods and info! + + """ + + number_of_added_particles = self.get_number_of_particles_added() + if number_of_added_particles == 0: + return + + indices_in_update_list = list(range(number_of_added_particles)) + indices_to_add = self.get_id_of_added_particle(indices_in_update_list) + + incode_storage = self.particles._private.attribute_storage + + if len(indices_to_add) > 0: + incode_storage._add_indices(indices_to_add) + + + def define_particle_sets(self, handler): + GravitationalDynamics.define_particle_sets(self, handler) + self.stopping_conditions.define_particle_set(handler) + diff --git a/src/amuse_mikkola/packages/amuse-mikkola.amuse_deps b/src/amuse_mikkola/packages/amuse-mikkola.amuse_deps new file mode 100644 index 0000000000..f74ff5f711 --- /dev/null +++ b/src/amuse_mikkola/packages/amuse-mikkola.amuse_deps @@ -0,0 +1 @@ +fortran mpi diff --git a/src/amuse_mikkola/packages/amuse-mikkola/amuse_mikkola b/src/amuse_mikkola/packages/amuse-mikkola/amuse_mikkola new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_mikkola/packages/amuse-mikkola/amuse_mikkola @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_mikkola/packages/amuse-mikkola/pyproject.toml b/src/amuse_mikkola/packages/amuse-mikkola/pyproject.toml new file mode 100644 index 0000000000..dbe0591c11 --- /dev/null +++ b/src/amuse_mikkola/packages/amuse-mikkola/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-mikkola" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_mikkola/**/*.py"] +exclude = [ + "amuse_mikkola/packages", + "amuse_mikkola/support", + "amuse_mikkola/src", + "amuse_mikkola/tests" + ] +artifacts = ["amuse_mikkola/mikkola_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_mikkola/tests/"] + +testpaths = ["amuse_mikkola/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/mikkola/scatterBH.py b/src/amuse_mikkola/scatterBH.py similarity index 100% rename from src/amuse/community/mikkola/scatterBH.py rename to src/amuse_mikkola/scatterBH.py diff --git a/src/amuse/community/mikkola/src/ARCCOM2e2.CH b/src/amuse_mikkola/src/ARCCOM2e2.CH similarity index 100% rename from src/amuse/community/mikkola/src/ARCCOM2e2.CH rename to src/amuse_mikkola/src/ARCCOM2e2.CH diff --git a/src/amuse_mikkola/src/Makefile b/src/amuse_mikkola/src/Makefile new file mode 100644 index 0000000000..6444a2cd5b --- /dev/null +++ b/src/amuse_mikkola/src/Makefile @@ -0,0 +1,33 @@ +# standard amuse configuration include +# config.mk will be made after ./configure has run +AMUSE_DIR?=../../../../.. +-include ${AMUSE_DIR}/config.mk + +MPIFC ?= mpif90 +FC = $(MPIFC) + +FFLAGS += +# FFLAGS += $(F77FLAGS) +LDFLAGS += -lm + +CODELIB = libMikkola.a + +CODEOBJS = Mikkola.o + +AR ?= ar +RANLIB ?= ranlib +RM ?= rm + +all: $(CODELIB) + +clean: + $(RM) -f *.o *.a + +$(CODELIB): $(CODEOBJS) + $(RM) -f $@ + $(AR) ruv $@ $(CODEOBJS) + $(RANLIB) $@ + +%.o: %.f90 + $(FC) $(FFLAGS) -c -o $@ $< + diff --git a/src/amuse/community/mikkola/src/Mikkola.f b/src/amuse_mikkola/src/Mikkola.f similarity index 100% rename from src/amuse/community/mikkola/src/Mikkola.f rename to src/amuse_mikkola/src/Mikkola.f diff --git a/src/amuse/community/mikkola/src/cdr.bh b/src/amuse_mikkola/src/cdr.bh old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/mikkola/src/cdr.bh rename to src/amuse_mikkola/src/cdr.bh diff --git a/src/amuse/community/mikkola/src/scatter.bh b/src/amuse_mikkola/src/scatter.bh old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/mikkola/src/scatter.bh rename to src/amuse_mikkola/src/scatter.bh diff --git a/src/amuse_mikkola/support/aclocal.m4 b/src/amuse_mikkola/support/aclocal.m4 new file mode 100644 index 0000000000..5fea1010bd --- /dev/null +++ b/src/amuse_mikkola/support/aclocal.m4 @@ -0,0 +1,19 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_mikkola/support/config.mk.in b/src/amuse_mikkola/support/config.mk.in new file mode 100644 index 0000000000..550671cc5d --- /dev/null +++ b/src/amuse_mikkola/support/config.mk.in @@ -0,0 +1,26 @@ +# Compilers +FC = @FC@ + +MPIFC = @MPIFC@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ + + +# General flags and libraries +FFLAGS = @FFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +STOPCOND_CFLAGS = @STOPCOND_CFLAGS@ +STOPCOND_LIBS = @STOPCOND_LIBS@ + +FORSOCKETS_CFLAGS = @FORSOCKETS_CFLAGS@ +FORSOCKETS_LIBS = @FORSOCKETS_LIBS@ + diff --git a/src/amuse_mikkola/support/configure b/src/amuse_mikkola/support/configure new file mode 100755 index 0000000000..9eb2ca0d14 --- /dev/null +++ b/src/amuse_mikkola/support/configure @@ -0,0 +1,6174 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-mikkola 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-mikkola' +PACKAGE_TARNAME='amuse-mikkola' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-mikkola 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPILIBS +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +FOUND_STOPCOND +STOPCOND_LIBS +STOPCOND_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CPPFLAGS +CFLAGS +CC +RANLIB +AR +target_os +target_vendor +target_cpu +target +OBJEXT +EXEEXT +ac_ct_FC +LDFLAGS +FCFLAGS +FC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +FC +FCFLAGS +LDFLAGS +LIBS +CC +CFLAGS +CPPFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCOND_CFLAGS +STOPCOND_LIBS +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS +MPIFC' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-mikkola 1.0 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/amuse-mikkola] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-mikkola 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + FC Fortran compiler command + FCFLAGS Fortran 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 + CC C compiler command + CFLAGS C compiler flags + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + 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 + STOPCOND_CFLAGS + C compiler flags for STOPCOND, overriding pkg-config + STOPCOND_LIBS + linker flags for STOPCOND, overriding pkg-config + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + MPIFC MPI Fortran compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-mikkola configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-mikkola $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Set the worker language +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the Fortran compiler works" >&5 +printf %s "checking whether the Fortran compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "Fortran compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler default output file name" >&5 +printf %s "checking for Fortran compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat > conftest.$ac_ext <<_ACEOF + program main + open(unit=9,file='conftest.out') + close(unit=9) + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run Fortran compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +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 + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCOND_CFLAGS" + amuse_save_LIB_LIBS="$STOPCOND_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing is_condition_enabled" >&5 +printf %s "checking for library containing is_condition_enabled... " >&6; } +if test ${ac_cv_search_is_condition_enabled+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char is_condition_enabled (); +int +main (void) +{ +return is_condition_enabled (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcond +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_is_condition_enabled=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_is_condition_enabled+y} +then : + break +fi +done +if test ${ac_cv_search_is_condition_enabled+y} +then : + +else $as_nop + ac_cv_search_is_condition_enabled=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_is_condition_enabled" >&5 +printf "%s\n" "$ac_cv_search_is_condition_enabled" >&6; } +ac_res=$ac_cv_search_is_condition_enabled +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCOND="yes" + STOPCOND_LIBS="$LIBS" + STOPCOND_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCOND" >&5 +printf %s "checking for STOPCOND... " >&6; } + +if test -n "$STOPCOND_CFLAGS"; then + pkg_cv_STOPCOND_CFLAGS="$STOPCOND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_CFLAGS=`$PKG_CONFIG --cflags "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCOND_LIBS"; then + pkg_cv_STOPCOND_LIBS="$STOPCOND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_LIBS=`$PKG_CONFIG --libs "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcond" 2>&1` + else + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcond" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCOND_PKG_ERRORS" >&5 + + + FOUND_STOPCOND="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCOND="no" + +else + STOPCOND_CFLAGS=$pkg_cv_STOPCOND_CFLAGS + STOPCOND_LIBS=$pkg_cv_STOPCOND_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCOND="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCOND}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCOND_CFLAGS="${STOPCOND_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCOND_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCOND_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + +# Find external dependencies +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-mikkola $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-mikkola config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_mikkola/support/configure.ac b/src/amuse_mikkola/support/configure.ac new file mode 100644 index 0000000000..cec7dd85d1 --- /dev/null +++ b/src/amuse_mikkola/support/configure.ac @@ -0,0 +1,35 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-mikkola], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Set the worker language +AC_PROG_FC() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + +# Find AMUSE libraries +AMUSE_LIB_STOPCOND() +AMUSE_LIB_FORSOCKETS() + +# Find external dependencies +AC_LANG_PUSH([Fortran]) +AX_MPI() +AC_LANG_POP([Fortran]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_mikkola/support/shared b/src/amuse_mikkola/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_mikkola/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_mikkola.py b/src/amuse_mikkola/tests/test_mikkola.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_mikkola.py rename to src/amuse_mikkola/tests/test_mikkola.py index 5fbe5dc3b2..2019216bc9 100644 --- a/src/amuse/test/suite/codes_tests/test_mikkola.py +++ b/src/amuse_mikkola/tests/test_mikkola.py @@ -1,11 +1,11 @@ import numpy from numpy import pi from amuse.community import * -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI from amuse.units import constants -from amuse.community.mikkola.interface import MikkolaInterface -from amuse.community.mikkola.interface import Mikkola +from amuse_mikkola.interface import MikkolaInterface +from amuse_mikkola.interface import Mikkola class MikkolaInterfaceTests(TestWithMPI): diff --git a/src/amuse_mmams/Makefile b/src/amuse_mmams/Makefile new file mode 100644 index 0000000000..45bc3e0318 --- /dev/null +++ b/src/amuse_mmams/Makefile @@ -0,0 +1,84 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + +BUILDDIR = build + +# Building the code into a static library +DEPFLAGS += $(AMUSE_MPI_CFLAGS) +DEPFLAGS += $(GSL_FLAGS) + +CFLAGS += $(DEPFLAGS) + +LDFLAGS += + +LDLIBS += -lm $(AMUSE_MPI_LIBS) +LDLIBS += $(GSL_LIBS) + +LDLIBS += -L$(BUILDDIR)/src/mmas -l_mmas2 \ + -L$(BUILDDIR)/src/eos -leos \ + -L$(BUILDDIR)/src/usm -lusm \ + -L$(BUILDDIR)/src/std -lstd + + +$(BUILDDIR)/Makefile: + @-mkdir $(BUILDDIR) + cd $(BUILDDIR) && cmake ../src/mmas2 -DGSL_FLAGS="$(GSL_FLAGS)" -DGSL_LIBS="$(GSL_LIBS)" + +.PHONY: mmas2 +mmas2: $(BUILDDIR)/Makefile + $(MAKE) -C $(BUILDDIR) -j $(CPU_COUNT) + + +# Building the workers +mmams_worker.h: interface.py + amusifier --type=h interface.py MakeMeAMassiveStarInterface -o $@ + +mmams_worker.cc: interface.py + amusifier --type=c interface.py MakeMeAMassiveStarInterface -o $@ + +interface.o: interface.cc mmams_worker.h mmas2 + $(MPICXX) -c -o $@ $(CFLAGS) -Isrc/mmas2/src $< + +mmams_worker.o: mmams_worker.cc mmams_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + +mmams_worker: mmams_worker.o interface.o $(CODELIB) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + + +# Which packages contain which workers? +amuse-mmams_contains: mmams_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + rm -rf *.o *worker* $(BUILDDIR) + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + diff --git a/src/amuse_mmams/__init__.py b/src/amuse_mmams/__init__.py new file mode 100644 index 0000000000..b0217af64f --- /dev/null +++ b/src/amuse_mmams/__init__.py @@ -0,0 +1 @@ +from .interface import Mmams diff --git a/src/amuse_mmams/interface.cc b/src/amuse_mmams/interface.cc new file mode 100644 index 0000000000..80c9dd18c2 --- /dev/null +++ b/src/amuse_mmams/interface.cc @@ -0,0 +1,288 @@ +#include "src/mmas2/src/mmas/mmas.h" +#include "src/mmas2/src/eos/eos.h" +#include "src/mmas2/src/mmas/mass_loss.h" +#include "mmams_worker.h" +#include +#include + +using namespace std; + +// Default parameters: +int dump_mixed = 1; +int target_n_shells_mixing = 200; +int target_n_shells = 10000; +int flag_do_shock_heating = 1; +int mass_loss_do_const_flag = false; + + +int number_of_particles = 0; +int particle_id_counter = 0; +map results; +map usm_models; +long long hashtable_up_to_date_for_particle_with_index = -1; + +bool error_occurred = false; +gsl_error_handler_t * previous_error_handler; +void amuse_error_handler (const char * reason, const char * file, int line, int gsl_errno) { + gsl_stream_printf ("ERROR", file, line, reason); + fprintf (stderr, "AMUSE GSL error handler invoked.\n"); + error_occurred = true; +} + + + +int initialize_code(){ + previous_error_handler = gsl_set_error_handler(&amuse_error_handler); + return 0; +} + +int cleanup_code(){ + gsl_set_error_handler(previous_error_handler); + return 0; +} + +int commit_parameters(){ + do_const=mass_loss_do_const_flag; + return 0; +} + +int recommit_parameters(){ + return commit_parameters(); +} + +int new_particle(int *index_of_the_particle, double mass){ + usm *new_model = new usm; + new_model->star_mass = mass; + usm_models.insert(usm_models.end(), std::pair(particle_id_counter, new_model)); + *index_of_the_particle = particle_id_counter; + number_of_particles++; + particle_id_counter++; + return 0; +} + +int delete_particle(int index_of_the_particle){ + map::iterator iter1 = results.find(index_of_the_particle); + map::iterator iter2 = usm_models.find(index_of_the_particle); + + if (iter2 == usm_models.end()) + return -3; + if (iter1 != results.end()){ + delete (*iter1).second; + results.erase(iter1); + } else { + delete (*iter2).second; + } + usm_models.erase(iter2); + number_of_particles--; + return 0; +} + +int get_number_of_particles(int *number_of_particles_out){ + *number_of_particles_out = number_of_particles; + return 0; +} + +inline void is_file(char *fn) { + ifstream fin(fn, ifstream::in); + fin.close(); + if (fin.fail() != 0) { + cerr << "File \"" << fn << "\" does not seem to exist ! " << endl; + exit(-1); + }; +} + +int read_usm(int *index_of_the_particle, char *usm_file){ + FILE *fmodel = NULL; + usm *new_model = new usm; + + is_file(usm_file); + fmodel = fopen(usm_file, "r"); + new_model->read(fmodel, 1); + fclose(fmodel); + usm_models.insert(usm_models.end(), std::pair(particle_id_counter, new_model)); + *index_of_the_particle = particle_id_counter; + number_of_particles++; + particle_id_counter++; + return 0; +} + +int add_shell(int index_of_the_particle, double d_mass, double cumul_mass, + double radius, double density, double pressure, + double temperature, double luminosity, double molecular_weight, double H1, double He4, + double C12, double N14, double O16, double Ne20, double Mg24, + double Si28, double Fe56){ + mass_shell shell; + map::iterator it = usm_models.find(index_of_the_particle); + + if (it == usm_models.end()) + return -3; + + if (hashtable_up_to_date_for_particle_with_index == index_of_the_particle) + hashtable_up_to_date_for_particle_with_index = -1; + + shell.dm = d_mass; + shell.mass = cumul_mass; + shell.radius = radius; + shell.density = density; + shell.pressure = pressure; + shell.temperature = temperature; + shell.luminosity = luminosity; + shell.mean_mu = molecular_weight; + shell.entropy = compute_entropy(density, temperature, molecular_weight); + shell.composition.H1 = H1; + shell.composition.He4 = He4; + shell.composition.C12 = C12; + shell.composition.N14 = N14; + shell.composition.O16 = O16; + shell.composition.Ne20 = Ne20; + shell.composition.Mg24 = Mg24; + shell.composition.Si28 = Si28; + shell.composition.Fe56 = Fe56; + + if (it->second->get_num_shells() && shell.mass <= it->second->get_last_shell().mass) + cerr << "Warning: shell ignored, because cumulative mass does not increase" << endl; + else + it->second->add_shell(shell); + return 0; +} + +int get_stellar_model_element(int index_of_the_shell, int index_of_the_particle, + double *d_mass, double *cumul_mass, double *radius, double *density, + double *pressure, double *entropy, double *temperature, double *luminosity, + double *molecular_weight, double *H1, double *He4, double *C12, double *N14, + double *O16, double *Ne20, double *Mg24, double *Si28, double *Fe56){ + mass_shell shell; + map::iterator it = usm_models.find(index_of_the_particle); + if (it == usm_models.end()) + return -3; + + if (index_of_the_shell >= it->second->get_num_shells()) + return -2; + + if (hashtable_up_to_date_for_particle_with_index != index_of_the_particle){ + it->second->build_hashtable(); + hashtable_up_to_date_for_particle_with_index = index_of_the_particle; + } + + shell = it->second->get_shell(index_of_the_shell); + *d_mass = shell.dm; + *cumul_mass = shell.mass; + *radius = shell.radius; + *density = shell.density; + *pressure = shell.pressure; + *entropy = shell.entropy; + *temperature = shell.temperature; + *luminosity = shell.luminosity; + *molecular_weight = shell.mean_mu; + *H1 = shell.composition.H1; + *He4 = shell.composition.He4; + *C12 = shell.composition.C12; + *N14 = shell.composition.N14; + *O16 = shell.composition.O16; + *Ne20 = shell.composition.Ne20; + *Mg24 = shell.composition.Mg24; + *Si28 = shell.composition.Si28; + *Fe56 = shell.composition.Fe56; + return 0; +} + +int get_number_of_zones(int index_of_the_particle, int *number_of_shells){ + map::iterator it = usm_models.find(index_of_the_particle); + if (it == usm_models.end()) + return -3; + *number_of_shells = it->second->get_num_shells(); + return 0; +} + +int get_mass(int index_of_the_particle, double *mass){ + map::iterator it = usm_models.find(index_of_the_particle); + if (it == usm_models.end()) + return -3; + *mass = it->second->star_mass; + return 0; +} + +int merge_two_stars(int *id_product, int id_primary, int id_secondary) { + float r_p = 0.0; + float v_inf = 0.0; + map::iterator it_primary = usm_models.find(id_primary); + map::iterator it_secondary = usm_models.find(id_secondary); + + if (it_primary == usm_models.end() || it_secondary == usm_models.end()) + return -3; + + it_primary->second->build_hashtable(); + it_secondary->second->build_hashtable(); + + mmas *mmams = new mmas(*it_primary->second, *it_secondary->second, r_p, v_inf); + results.insert(results.end(), std::pair(particle_id_counter, mmams)); + + mmams->merge_stars_consistently(target_n_shells, flag_do_shock_heating); + if (!dump_mixed) { + usm_models.insert(usm_models.end(), std::pair(particle_id_counter, &(mmams->get_product()))); + } else { + mmams->mixing_product(target_n_shells_mixing); + mmams->get_mixed_product().star_mass = mmams->get_product().star_mass; + usm_models.insert(usm_models.end(), std::pair(particle_id_counter, &(mmams->get_mixed_product()))); + } + *id_product = particle_id_counter; + number_of_particles++; + particle_id_counter++; + return 0; +} + +int set_dump_mixed_flag(int dump_mixed_flag){ + dump_mixed = dump_mixed_flag; + return 0; +} +int get_dump_mixed_flag(int *dump_mixed_flag){ + *dump_mixed_flag = dump_mixed; + return 0; +} + +int set_mass_loss_do_const_flag(int flag){ + mass_loss_do_const_flag = flag; + return 0; +} +int get_mass_loss_do_const_flag(int *flag){ + *flag = mass_loss_do_const_flag; + return 0; +} + +int set_const_mass_loss(double x){ + const_mass_loss = x; + return 0; +} +int get_const_mass_loss(double *x){ + *x = const_mass_loss; + return 0; +} + + + +int set_target_n_shells_mixing(int target_n_shells_mixing_in){ + target_n_shells_mixing = target_n_shells_mixing_in; + return 0; +} +int get_target_n_shells_mixing(int *target_n_shells_mixing_out){ + *target_n_shells_mixing_out = target_n_shells_mixing; + return 0; +} + +int set_target_n_shells(int target_n_shells_in){ + target_n_shells = target_n_shells_in; + return 0; +} +int get_target_n_shells(int *target_n_shells_out){ + *target_n_shells_out = target_n_shells; + return 0; +} + +int set_do_shock_heating_flag(int do_shock_heating_flag_in){ + flag_do_shock_heating = do_shock_heating_flag_in; + return 0; +} +int get_do_shock_heating_flag(int *do_shock_heating_flag_out){ + *do_shock_heating_flag_out = flag_do_shock_heating; + return 0; +} diff --git a/src/amuse_mmams/interface.py b/src/amuse_mmams/interface.py new file mode 100644 index 0000000000..94f7747976 --- /dev/null +++ b/src/amuse_mmams/interface.py @@ -0,0 +1,551 @@ +import numpy +from amuse.community import * +from amuse.community.interface.common import CommonCodeInterface, CommonCode +from amuse.support.options import option +from amuse.units import units +from amuse.datamodel import Particle + +import os.path + +class MMAMSInterface(CodeInterface, CommonCodeInterface, LiteratureReferencesMixIn, + CodeWithDataDirectories): + """ + MakeMeAMassiveStar is a computationally inexpensive method in which the + merger process is approximated, including shock heating, hydrodynamic + mixing and mass loss, with a simple algorithm based on conservation laws and + a basic qualitative understanding of the hydrodynamics of stellar mergers. + The algorithm relies on Archimedes' principle to dictate the distribution of + the fluid in the stable equilibrium situation. Without the effects of + microscopic mixing, the temperature and chemical composition profiles in a + collision product can become double-valued functions of enclosed mass. Such + an unphysical situation is mended by simulating microscopic mixing as a + post-collision effect. + + Relevant references: + .. [#] ADS:2008MNRAS.383L...5G (Gaburov E., Lombardi J. C. & Portegies Zwart S., 2008, MNRAS, 383, L5) + """ + include_headers = ['mmams_worker.h'] + + def __init__(self, **options): + CodeInterface.__init__(self, name_of_the_worker = "mmams_worker", **options) + LiteratureReferencesMixIn.__init__(self) + CodeWithDataDirectories.__init__(self) + + @legacy_function + def new_particle(): + """ + Define a new particle in the stellar collision code. The particle is + initialized as an empty model (with zero shells). The model has to be + constructed shell by shell using `add_shell'. An index is returned that + can be used to refer to this particle. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT) + function.addParameter('mass', dtype='float64', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + new empty particle was created + -1 - ERROR + particle could not be created""" + return function + + @legacy_function + def delete_particle(): + """ + Remove a particle from the stellar collision code. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def add_shell(): + """ + Add a new shell to an existing particle in the stellar collision code. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('d_mass', dtype='float64', direction=function.IN, description = "The mass of the current shell of this particle") + function.addParameter('cumul_mass', dtype='float64', direction=function.IN, description = "The cumulative mass from the center to the current shell of this particle") + function.addParameter('radius', dtype='float64', direction=function.IN, description = "The radius of this shell") + function.addParameter('density', dtype='float64', direction=function.IN, description = "The density of this shell") + function.addParameter('pressure', dtype='float64', direction=function.IN, description = "The pressure of this shell") + function.addParameter('temperature', dtype='float64', direction=function.IN, description = "The temperature of this shell") + function.addParameter('luminosity', dtype='float64', direction=function.IN, description = "The luminosity of this shell") + function.addParameter('molecular_weight', dtype='float64', direction=function.IN, description = "The molecular_weight of this shell") + function.addParameter('H1', dtype='float64', direction=function.IN, description = "The H1 fraction of this shell") + function.addParameter('He4', dtype='float64', direction=function.IN, description = "The He4 fraction of this shell") + function.addParameter('C12', dtype='float64', direction=function.IN, description = "The C12 fraction of this shell") + function.addParameter('N14', dtype='float64', direction=function.IN, description = "The N14 fraction of this shell") + function.addParameter('O16', dtype='float64', direction=function.IN, description = "The O16 fraction of this shell") + function.addParameter('Ne20', dtype='float64', direction=function.IN, description = "The Ne20 fraction of this shell") + function.addParameter('Mg24', dtype='float64', direction=function.IN, description = "The Mg24 fraction of this shell") + function.addParameter('Si28', dtype='float64', direction=function.IN, description = "The Si28 fraction of this shell") + function.addParameter('Fe56', dtype='float64', direction=function.IN, description = "The Fe56 fraction of this shell") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + new shell was added to the specified particle + -1 - ERROR + specified particle was not found""" + return function + + @legacy_function + def get_number_of_particles(): + function = LegacyFunctionSpecification() + function.addParameter('number_of_particles', dtype='int32', direction=function.OUT, description = "The number of currently defined particles") + function.result_type = 'int32' + return function + + @legacy_function + def get_number_of_zones(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('number_of_zones', dtype='int32', direction=function.OUT, description = "The number of currently defined shells of this particle") + function.result_type = 'int32' + return function + + @legacy_function + def get_mass(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('mass', dtype='float64', unit=units.MSun, direction=function.OUT, description = "The total mass of this particle") + function.result_type = 'int32' + return function + + @legacy_function + def get_stellar_model_element(): + """ + Return properties of the stellar model at a specific zone. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_zone', dtype='int32', direction=function.IN) + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('d_mass', dtype='float64', direction=function.OUT, description = "The mass of the current shell of this particle") + function.addParameter('cumul_mass', dtype='float64', direction=function.OUT, description = "The cumulative mass from the center to the current shell of this particle") + function.addParameter('radius', dtype='float64', direction=function.OUT, description = "The radius of this shell") + function.addParameter('density', dtype='float64', direction=function.OUT, description = "The density of this shell") + function.addParameter('pressure', dtype='float64', direction=function.OUT, description = "The pressure of this shell") + function.addParameter('entropy', dtype='float64', direction=function.OUT, description = "The entropy of this shell") + function.addParameter('temperature', dtype='float64', direction=function.OUT, description = "The temperature of this shell") + function.addParameter('luminosity', dtype='float64', direction=function.OUT, description = "The luminosity of this shell") + function.addParameter('molecular_weight', dtype='float64', direction=function.OUT, description = "The molecular_weight of this shell") + function.addParameter('H1', dtype='float64', direction=function.OUT, description = "The H1 fraction of this shell") + function.addParameter('He4', dtype='float64', direction=function.OUT, description = "The He4 fraction of this shell") + function.addParameter('C12', dtype='float64', direction=function.OUT, description = "The C12 fraction of this shell") + function.addParameter('N14', dtype='float64', direction=function.OUT, description = "The N14 fraction of this shell") + function.addParameter('O16', dtype='float64', direction=function.OUT, description = "The O16 fraction of this shell") + function.addParameter('Ne20', dtype='float64', direction=function.OUT, description = "The Ne20 fraction of this shell") + function.addParameter('Mg24', dtype='float64', direction=function.OUT, description = "The Mg24 fraction of this shell") + function.addParameter('Si28', dtype='float64', direction=function.OUT, description = "The Si28 fraction of this shell") + function.addParameter('Fe56', dtype='float64', direction=function.OUT, description = "The Fe56 fraction of this shell") + function.result_type = 'int32' + return function + + @legacy_function + def read_usm(): + """ + Define a new particle in the stellar collision code. Read the stellar model from a usm file. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT) + function.addParameter('usm_file', dtype='string', direction=function.IN, + description = "The path to the usm file.") + function.result_type = 'int32' + return function + + @legacy_function + def merge_two_stars(): + """ + Merge two previously defined particles. Returns an index to the new stellar model. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_product', dtype='int32', direction=function.OUT) + function.addParameter('index_of_the_primary', dtype='int32', direction=function.IN) + function.addParameter('index_of_the_secondary', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def set_dump_mixed_flag(): + """Set the dump_mixed flag: specifies whether the returned products must be mixed first.""" + function = LegacyFunctionSpecification() + function.addParameter('dump_mixed_flag', dtype='int32', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_dump_mixed_flag(): + """Get the dump_mixed flag: specifies whether the returned products must be mixed first.""" + function = LegacyFunctionSpecification() + function.addParameter('dump_mixed_flag', dtype='int32', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_mass_loss_do_const_flag(): + """Set the dump_mixed flag: specifies whether the returned products must be mixed first.""" + function = LegacyFunctionSpecification() + function.addParameter('mass_loss_do_const_flag', dtype='int32', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_mass_loss_do_const_flag(): + """Get the dump_mixed flag: specifies whether the returned products must be mixed first.""" + function = LegacyFunctionSpecification() + function.addParameter('mass_loss_do_const_flag', dtype='int32', direction=function.OUT) + function.result_type = 'i' + return function + + + @legacy_function + def get_const_mass_loss(): + """Get the const_mass_loss""" + function = LegacyFunctionSpecification() + function.addParameter('const_mass_loss', dtype='float64', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_const_mass_loss(): + """Set the const_mass_loss""" + function = LegacyFunctionSpecification() + function.addParameter('const_mass_loss', dtype='float64', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def set_target_n_shells_mixing(): + """Set the target number of shells for mixed models.""" + function = LegacyFunctionSpecification() + function.addParameter('target_n_shells_mixing', dtype='int32', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_target_n_shells_mixing(): + """Get the target number of shells for mixed models.""" + function = LegacyFunctionSpecification() + function.addParameter('target_n_shells_mixing', dtype='int32', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_target_n_shells(): + """Set the target number of shells for unmixed models.""" + function = LegacyFunctionSpecification() + function.addParameter('target_n_shells', dtype='int32', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_target_n_shells(): + """Get the target number of shells for unmixed models.""" + function = LegacyFunctionSpecification() + function.addParameter('target_n_shells', dtype='int32', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_do_shock_heating_flag(): + """Set the flag that specifies whether to solve for shock-heating.""" + function = LegacyFunctionSpecification() + function.addParameter('do_shock_heating_flag', dtype='int32', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_do_shock_heating_flag(): + """Get the flag that specifies whether to solve for shock-heating.""" + function = LegacyFunctionSpecification() + function.addParameter('do_shock_heating_flag', dtype='int32', direction=function.OUT) + function.result_type = 'i' + return function + + +class MMAMS(CommonCode): + + stellar_evolution_code_required = True + gravity_code_required = False + + def __init__(self, **options): + InCodeComponentImplementation.__init__(self, MakeMeAMassiveStarInterface(**options), **options) + self.create_new_key = True + + def get_create_new_key(self): + return self.create_new_key + + def set_create_new_key(self, value): + self.create_new_key = value + + def define_properties(self, handler): + handler.add_property("get_number_of_particles") + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_target_n_shells_mixing", + "set_target_n_shells_mixing", + "target_n_shells_mixing", + "target number of shells for mixed models", + default_value = 200 + ) + + handler.add_method_parameter( + "get_target_n_shells", + "set_target_n_shells", + "target_n_shells", + "target number of shells for unmixed models", + default_value = 10000 + ) + + handler.add_boolean_parameter( + "get_dump_mixed_flag", + "set_dump_mixed_flag", + "dump_mixed_flag", + "dump_mixed flag: specifies whether the returned products must be mixed first", + True + ) + + handler.add_boolean_parameter( + "get_mass_loss_do_const_flag", + "set_mass_loss_do_const_flag", + "mass_loss_do_const", + "mass_loss_do_const flag: whether to use const mass loss fraction (True) or the original Gaburov 2008 fromulation", + False + ) + + handler.add_method_parameter( + "get_const_mass_loss", + "set_const_mass_loss", + "constant_mass_loss", + "if do_const=True, specify what the constant mass loss fraction used is", + 0.1 + ) + + + handler.add_boolean_parameter( + "get_do_shock_heating_flag", + "set_do_shock_heating_flag", + "do_shock_heating_flag", + "do_shock_heating flag: specifies whether to solve for shock-heating", + True + ) + + handler.add_method_parameter( + "get_create_new_key", + "set_create_new_key", + "create_new_key", + "Flag to specify whether the merge product gets a new key, or the key of the most massive collider.", + True + ) + + def define_methods(self, handler): + CommonCode.define_methods(self, handler) + handler.add_method( + "new_particle", + (units.MSun,), + (handler.INDEX, handler.ERROR_CODE,) + ) + handler.add_method( + "delete_particle", + (handler.INDEX,), + (handler.ERROR_CODE,) + ) + handler.add_method( + "read_usm", + (handler.NO_UNIT,), + (handler.INDEX, handler.ERROR_CODE,) + ) + handler.add_method( + "add_shell", + (handler.INDEX, units.MSun, units.MSun, units.RSun, units.g / units.cm**3, units.barye, + units.K, units.LSun, units.amu, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, + handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT), + (handler.ERROR_CODE,) + ) + handler.add_method( + "get_stellar_model_element", + (handler.INDEX, handler.INDEX,), + (units.MSun, units.MSun, units.RSun, units.g / units.cm**3, units.barye, + handler.NO_UNIT, units.K, units.LSun, units.amu, + handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, + handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.ERROR_CODE,) + ) + handler.add_method( + "get_number_of_zones", + (handler.INDEX, ), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + handler.add_method( + "get_number_of_particles", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + handler.add_method( + "merge_two_stars", + (handler.INDEX, handler.INDEX,), + (handler.INDEX, handler.ERROR_CODE,) + ) + + handler.add_method("get_target_n_shells_mixing", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_target_n_shells_mixing", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) + + handler.add_method("get_target_n_shells", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + handler.add_method("set_target_n_shells", (handler.NO_UNIT, ), (handler.ERROR_CODE,)) + + handler.add_method("get_number_of_particles", (), (handler.NO_UNIT, handler.ERROR_CODE,)) + + def define_errorcodes(self, handler): + handler.add_errorcode(-1, 'Unspecified, other error.') + handler.add_errorcode(-2, 'Specified zone is undefined for this particle.') + handler.add_errorcode(-3, 'A particle with the given index was not found.') + + def define_particle_sets(self, handler): + handler.define_super_set('particles', ['native_stars', 'imported_stars', 'merge_products'], + index_to_default_set = 0) + + handler.define_set('native_stars', 'index_of_the_particle') + handler.set_new('native_stars', 'new_particle') + + handler.define_set('imported_stars', 'index_of_the_particle') + handler.set_new('imported_stars', 'read_usm') + + handler.define_set('merge_products', 'index_of_the_particle') + handler.set_new('merge_products', 'merge_stars') + + for particle_set_name in ['native_stars', 'imported_stars', 'merge_products']: + handler.set_delete(particle_set_name, 'delete_particle') + handler.add_getter(particle_set_name, 'get_number_of_zones') + handler.add_getter(particle_set_name, 'get_mass') + handler.add_method(particle_set_name, 'add_shell') + handler.add_method(particle_set_name, 'get_stellar_model', 'get_internal_structure') + + + def get_stellar_model(self, index_of_the_particle): + if hasattr(index_of_the_particle, '__iter__'): + return [self._create_new_grid(self._specify_stellar_model, index_of_the_particle = x) for x in index_of_the_particle] + else: + return self._create_new_grid(self._specify_stellar_model, index_of_the_particle = index_of_the_particle) + + def get_range_in_zones(self, index_of_the_particle): + """ + Returns the inclusive range of defined zones/mesh-cells of the star. + """ + return (0, self.get_number_of_zones(index_of_the_particle)-1) + + def _specify_stellar_model(self, definition, index_of_the_particle = 0): + definition.set_grid_range('get_range_in_zones') + definition.add_getter('get_stellar_model_element', names=('d_mass', 'mass', 'radius', + 'rho', 'pressure', 'entropy', 'temperature', 'luminosity', 'molecular_weight', + 'X_H', 'X_He', 'X_C', 'X_N', 'X_O', 'X_Ne', 'X_Mg', 'X_Si', 'X_Fe')) + definition.define_extra_keywords({'index_of_the_particle':index_of_the_particle}) + + def _key_to_index_in_code(self, key): + if self.native_stars.has_key_in_store(key): + return self.native_stars._subset([key]).index_in_code[0] + elif self.imported_stars.has_key_in_store(key): + return self.imported_stars._subset([key]).index_in_code[0] + else: + return self.merge_products._subset([key]).index_in_code[0] + + def merge_stars(self, primary, secondary): + indices_of_primaries = [self._key_to_index_in_code(particle.key) for particle in primary] + indices_of_secondaries = [self._key_to_index_in_code(particle.key) for particle in secondary] + result = self.merge_two_stars( + indices_of_primaries, + indices_of_secondaries + ) + return result + + def match_composition_to_mass_profile(self, stellar_model, mass_profile): + new_composition = numpy.array([[0.0]*len(mass_profile)]*8) + current_index = 0 + previous_mass = 0.0 | units.MSun + for i, mass_i in enumerate(mass_profile): + previous_index = current_index + mass_fractions = [] | units.MSun + while stellar_model.mass[current_index] < mass_i: + mass_fractions.append(stellar_model.mass[current_index]-previous_mass) + previous_mass = stellar_model.mass[current_index] + current_index += 1 + if stellar_model.mass[current_index] > mass_i: + mass_fractions.append(mass_i-previous_mass) + previous_mass = mass_i + weights = mass_fractions / mass_fractions.sum() + next_index = previous_index+len(weights) + new_composition[0, i] = (stellar_model.X_H[previous_index:next_index]*weights).sum() + new_composition[2, i] = (stellar_model.X_He[previous_index:next_index]*weights).sum() + new_composition[3, i] = (stellar_model.X_C[previous_index:next_index]*weights).sum() + new_composition[4, i] = (stellar_model.X_N[previous_index:next_index]*weights).sum() + new_composition[5, i] = (stellar_model.X_O[previous_index:next_index]*weights).sum() + new_composition[6, i] = (stellar_model.X_Ne[previous_index:next_index]*weights).sum() + new_composition[7, i] = ((stellar_model.X_Mg[previous_index:next_index] + + stellar_model.X_Si[previous_index:next_index] + + stellar_model.X_Fe[previous_index:next_index])*weights).sum() + return new_composition + + def key_for_merge_product(self, primary, secondary): + if self.create_new_key: + return None + else: + return primary.key if primary.mass > secondary.mass else secondary.key + + def handle_collision(self, primary, secondary, stellar_evolution_code=None, gravity_code=None): + primary = self.add_particle_with_internal_structure(primary, stellar_evolution_code=stellar_evolution_code) + secondary = self.add_particle_with_internal_structure(secondary, stellar_evolution_code=stellar_evolution_code) + merge_product = Particle( + key = self.key_for_merge_product(primary, secondary), + primary = primary, + secondary = secondary + ) + return self.merge_products.add_particles(merge_product.as_set()) + + def add_particle_with_internal_structure(self, particle, stellar_evolution_code=None): + new = self.native_stars.add_particle(particle) + if not stellar_evolution_code is None: + particle = particle.as_set().get_intersecting_subset_in(stellar_evolution_code.particles)[0] + number_of_zones = particle.get_number_of_zones() + density_profile = particle.get_density_profile(number_of_zones = number_of_zones) + radius_profile = particle.get_radius_profile(number_of_zones = number_of_zones) + if hasattr(particle, "get_mass_profile"): + mass_profile = particle.get_mass_profile(number_of_zones = number_of_zones)* particle.mass + else: + print("mass profile from density and radius") + radii_cubed = radius_profile**3 + radii_cubed.prepend(0|units.m**3) + mass_profile = (4.0/3.0 * numpy.pi) * density_profile * (radii_cubed[1:] - radii_cubed[:-1]) + if hasattr(particle, "get_cumulative_mass_profile"): + cumul_mass_profile = particle.get_cumulative_mass_profile(number_of_zones = number_of_zones) * particle.mass + else: + print("cumulative mass profile from mass profile") + cumul_mass_profile = mass_profile.accumulate() + + temperature_profile = particle.get_temperature_profile(number_of_zones = number_of_zones) + #lum = particle.get_luminosity_profile(number_of_zones = number_of_zones) + lum = numpy.zeros_like(temperature_profile) | units.LSun + pressure_profile = particle.get_pressure_profile(number_of_zones = number_of_zones) + mu_profile = particle.get_mu_profile(number_of_zones = number_of_zones) + composition_profile = particle.get_chemical_abundance_profiles(number_of_zones = number_of_zones) + new.add_shell(mass_profile, cumul_mass_profile, radius_profile, density_profile, + pressure_profile, temperature_profile, lum, mu_profile, composition_profile[0], + composition_profile[1]+composition_profile[2], composition_profile[3], + composition_profile[4], composition_profile[5], composition_profile[6], + composition_profile[7], composition_profile[7]*0.0, composition_profile[7]*0.0) + return new + +MakeMeAMassiveStarInterface = MMAMSInterface +MakeMeAMassiveStar = MMAMS + + +Mmams = MMAMS diff --git a/src/amuse_mmams/packages/amuse-mmams.amuse_deps b/src/amuse_mmams/packages/amuse-mmams.amuse_deps new file mode 100644 index 0000000000..c5607ceda4 --- /dev/null +++ b/src/amuse_mmams/packages/amuse-mmams.amuse_deps @@ -0,0 +1 @@ +c c++ cmake mpi gsl diff --git a/src/amuse_mmams/packages/amuse-mmams/amuse_mmams b/src/amuse_mmams/packages/amuse-mmams/amuse_mmams new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_mmams/packages/amuse-mmams/amuse_mmams @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_mmams/packages/amuse-mmams/pyproject.toml b/src/amuse_mmams/packages/amuse-mmams/pyproject.toml new file mode 100644 index 0000000000..48c8f2057b --- /dev/null +++ b/src/amuse_mmams/packages/amuse-mmams/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-mmams" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_mmams/**/*.py"] +exclude = [ + "amuse_mmams/packages", + "amuse_mmams/support", + "amuse_mmams/src", + "amuse_mmams/tests" + ] +artifacts = ["amuse_mmams/mmams_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_mmams/tests/"] + +testpaths = ["amuse_mmams/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse_mmams/src/mmas2/CMakeLists.txt b/src/amuse_mmams/src/mmas2/CMakeLists.txt new file mode 100644 index 0000000000..070a6293ab --- /dev/null +++ b/src/amuse_mmams/src/mmas2/CMakeLists.txt @@ -0,0 +1,43 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 3.5) + +PROJECT(MMaS2) + +IF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.3) + +#------------------------------ +# MMaS2 vesion number. +SET(MMaS2_MAJOR_VERSION 2) +SET(MMaS2_MINOR_VERSION 0) +SET(MMaS2_VERSION "${MMaS2_MAJOR_VERSION}.${MMaS2_MINOR_VERSION}") + +# Platform configuration tests. +INCLUDE(${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityC.cmake) +INCLUDE(${CMAKE_ROOT}/Modules/TestForANSIStreamHeaders.cmake) +INCLUDE(${CMAKE_ROOT}/Modules/TestForSTDNamespace.cmake) +INCLUDE(${CMAKE_ROOT}/Modules/TestForANSIForScope.cmake) +INCLUDE(${CMAKE_ROOT}/Modules/CheckTypeSize.cmake) + +# Simulate old CMakeBackwardCompatibilityCXX test. +# In CMake 2.4 and up this could be just +# INCLUDE(${CMAKE_ROOT}/Modules/TestForSSTREAM.cmake) +INCLUDE(${CMAKE_ROOT}/Modules/CheckIncludeFileCXX.cmake) +CHECK_INCLUDE_FILE_CXX("sstream" CMAKE_HAS_ANSI_STRING_STREAM) +IF(NOT CMAKE_HAS_ANSI_STRING_STREAM) + SET(CMAKE_NO_ANSI_STRING_STREAM 1 CACHE INTERNAL + "Does the compiler support sstream or stringstream.") +ENDIF(NOT CMAKE_HAS_ANSI_STRING_STREAM) + +SET(CMAKE_C_FLAGS "-Wall -O3") +#SET(CMAKE_CXX_FLAGS "-Wall -O0 -g") +SET(CMAKE_INSTALL_PREFIX ./usr) + +SUBDIRS(src) + +ELSE("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.3) + MESSAGE(SEND_ERROR + "This version of CMake is too old to build MMaS2. " + "Please upgrade to CMake 2.3.") + + +ENDIF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.3) + diff --git a/src/amuse/community/mmams/src/mmas2/src/CMakeLists.txt b/src/amuse_mmams/src/mmas2/src/CMakeLists.txt similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/CMakeLists.txt rename to src/amuse_mmams/src/mmas2/src/CMakeLists.txt diff --git a/src/amuse/community/mmams/src/mmas2/src/eos/CMakeLists.txt b/src/amuse_mmams/src/mmas2/src/eos/CMakeLists.txt similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/eos/CMakeLists.txt rename to src/amuse_mmams/src/mmas2/src/eos/CMakeLists.txt diff --git a/src/amuse/community/mmams/src/mmas2/src/eos/eos.cpp b/src/amuse_mmams/src/mmas2/src/eos/eos.cpp similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/eos/eos.cpp rename to src/amuse_mmams/src/mmas2/src/eos/eos.cpp diff --git a/src/amuse/community/mmams/src/mmas2/src/eos/eos.h b/src/amuse_mmams/src/mmas2/src/eos/eos.h similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/eos/eos.h rename to src/amuse_mmams/src/mmas2/src/eos/eos.h diff --git a/src/amuse/community/mmams/src/mmas2/src/gsl/gslInterp.h b/src/amuse_mmams/src/mmas2/src/gsl/gslInterp.h similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/gsl/gslInterp.h rename to src/amuse_mmams/src/mmas2/src/gsl/gslInterp.h diff --git a/src/amuse/community/mmams/src/mmas2/src/gsl/gslSpline.h b/src/amuse_mmams/src/mmas2/src/gsl/gslSpline.h similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/gsl/gslSpline.h rename to src/amuse_mmams/src/mmas2/src/gsl/gslSpline.h diff --git a/src/amuse/community/mmams/src/mmas2/src/include/stdinc.h b/src/amuse_mmams/src/mmas2/src/include/stdinc.h similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/include/stdinc.h rename to src/amuse_mmams/src/mmas2/src/include/stdinc.h diff --git a/src/amuse/community/mmams/src/mmas2/src/include/units.h b/src/amuse_mmams/src/mmas2/src/include/units.h similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/include/units.h rename to src/amuse_mmams/src/mmas2/src/include/units.h diff --git a/src/amuse/community/mmams/src/mmas2/src/include/vector.h b/src/amuse_mmams/src/mmas2/src/include/vector.h similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/include/vector.h rename to src/amuse_mmams/src/mmas2/src/include/vector.h diff --git a/src/amuse/community/mmams/src/mmas2/src/mmas/CMakeLists.txt b/src/amuse_mmams/src/mmas2/src/mmas/CMakeLists.txt similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/mmas/CMakeLists.txt rename to src/amuse_mmams/src/mmas2/src/mmas/CMakeLists.txt diff --git a/src/amuse/community/mmams/src/mmas2/src/mmas/compute_energy.cpp b/src/amuse_mmams/src/mmas2/src/mmas/compute_energy.cpp similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/mmas/compute_energy.cpp rename to src/amuse_mmams/src/mmas2/src/mmas/compute_energy.cpp diff --git a/src/amuse/community/mmams/src/mmas2/src/mmas/compute_energy_gsl.cpp b/src/amuse_mmams/src/mmas2/src/mmas/compute_energy_gsl.cpp similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/mmas/compute_energy_gsl.cpp rename to src/amuse_mmams/src/mmas2/src/mmas/compute_energy_gsl.cpp diff --git a/src/amuse/community/mmams/src/mmas2/src/mmas/compute_extra.cpp b/src/amuse_mmams/src/mmas2/src/mmas/compute_extra.cpp similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/mmas/compute_extra.cpp rename to src/amuse_mmams/src/mmas2/src/mmas/compute_extra.cpp diff --git a/src/amuse/community/mmams/src/mmas2/src/mmas/mass_loss.cpp b/src/amuse_mmams/src/mmas2/src/mmas/mass_loss.cpp similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/mmas/mass_loss.cpp rename to src/amuse_mmams/src/mmas2/src/mmas/mass_loss.cpp diff --git a/src/amuse/community/mmams/src/mmas2/src/mmas/mass_loss.h b/src/amuse_mmams/src/mmas2/src/mmas/mass_loss.h similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/mmas/mass_loss.h rename to src/amuse_mmams/src/mmas2/src/mmas/mass_loss.h diff --git a/src/amuse/community/mmams/src/mmas2/src/mmas/merge_stars.cpp b/src/amuse_mmams/src/mmas2/src/mmas/merge_stars.cpp similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/mmas/merge_stars.cpp rename to src/amuse_mmams/src/mmas2/src/mmas/merge_stars.cpp diff --git a/src/amuse/community/mmams/src/mmas2/src/mmas/merge_stars_consistently.cpp b/src/amuse_mmams/src/mmas2/src/mmas/merge_stars_consistently.cpp similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/mmas/merge_stars_consistently.cpp rename to src/amuse_mmams/src/mmas2/src/mmas/merge_stars_consistently.cpp diff --git a/src/amuse/community/mmams/src/mmas2/src/mmas/merge_stars_gsl.cpp b/src/amuse_mmams/src/mmas2/src/mmas/merge_stars_gsl.cpp similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/mmas/merge_stars_gsl.cpp rename to src/amuse_mmams/src/mmas2/src/mmas/merge_stars_gsl.cpp diff --git a/src/amuse/community/mmams/src/mmas2/src/mmas/merge_stars_gsl_adaptive.cpp b/src/amuse_mmams/src/mmas2/src/mmas/merge_stars_gsl_adaptive.cpp similarity index 95% rename from src/amuse/community/mmams/src/mmas2/src/mmas/merge_stars_gsl_adaptive.cpp rename to src/amuse_mmams/src/mmas2/src/mmas/merge_stars_gsl_adaptive.cpp index b14e375140..fc51a03858 100644 --- a/src/amuse/community/mmams/src/mmas2/src/mmas/merge_stars_gsl_adaptive.cpp +++ b/src/amuse_mmams/src/mmas2/src/mmas/merge_stars_gsl_adaptive.cpp @@ -22,7 +22,7 @@ enum {NEXCEED=10, FAILED, NEGATIVE_PRESSURE}; /* This routine builds the merger product of the two parent stars */ -/* +/* # # (a) dP/dm = - 1.0/(4*pi) * Gm/r^4 # (b) dr/dm = 1.0/(4*pi*r^2*rho) @@ -32,7 +32,7 @@ enum {NEXCEED=10, FAILED, NEGATIVE_PRESSURE}; # # (c) dP/dmu = - 3*G/(8*pi) * (mu/x)^2 # (d) dx/dmu = 3/(4*pi) * (mu/x)^(1/2)/rho - # + # # solving (c) & (d) # with the following boundary conditions # P(m = Mstar) = g/chi ~ 0 @@ -43,7 +43,7 @@ enum {NEXCEED=10, FAILED, NEGATIVE_PRESSURE}; # # Limitations: No angular momentum is taken into account. Only non-rotating products # - # TODO LIST: + # TODO LIST: # Rotating stars # */ @@ -65,7 +65,7 @@ int hse_func(double mu, const double y[], double dydmu[], void *params) { hse_func_params *p = (hse_func_params*)params; double pressure = y[0]; - double x = y[1]; + double x = y[1]; if (pressure < 0) { p->negative_pressure = 1; @@ -73,19 +73,19 @@ int hse_func(double mu, const double y[], double dydmu[], void *params) { } double dm = pow(mu, 1.5); - if (p->eggleton_mu->size() > 0) + if (p->eggleton_mu->size() > 0) dm -= pow(p->eggleton_mu->back(), 1.5); - - double mc_at = p->mcur_A + dm; + + double mc_at = p->mcur_A + dm; mc_at = min(mc_at, p->m_max_A); - double rho_A = compute_density(pressure*p_unit, - p->entr_A->eval(mc_at), + double rho_A = compute_density(pressure*p_unit, + p->entr_A->eval(mc_at), p->mmu_A->eval(mc_at))/rho_unit; - + double mc_bt = p->mcur_B + dm; mc_bt = min(mc_bt, p->m_max_B); - double rho_B = compute_density(pressure*p_unit, - p->entr_B->eval(mc_bt), + double rho_B = compute_density(pressure*p_unit, + p->entr_B->eval(mc_bt), p->mmu_B->eval(mc_bt))/rho_unit; if (p->mcur_A == p->m_max_A) { @@ -95,20 +95,20 @@ int hse_func(double mu, const double y[], double dydmu[], void *params) { } double density; - + if (rho_A > rho_B) { density = rho_A; p->Morig_temp->push_back(mc_at); /* track location of the shell */ p->which_star = 1; - } else { + } else { density = rho_B; p->Morig_temp->push_back(-mc_bt); /* track location of the shell */ p->which_star = 2; } - + double mu_x = pow(4.0*PI/3 * density, 2.0/3.0); if (x > 0) mu_x = mu/x; - + // dP/dmu dydmu[0] = -3.0/(8*PI) * mu_x*mu_x; @@ -127,7 +127,7 @@ int solve_HSE(double p_centre, double m_product, gslInterp &entr_A, gslInterp &entr_B, double m_min_A, double m_min_B, double m_max_A, double m_max_B, - vector &Morig, + vector &Morig, vector &mass, vector &radius, vector &pressure, double relative_error, int n_shells) { @@ -135,7 +135,7 @@ int solve_HSE(double p_centre, double m_product, double eps_abs = 1.0e-4; double eps_rel = 0; - eps_abs = 0; + eps_abs = 0; eps_rel = relative_error; const gsl_odeiv_step_type *T = gsl_odeiv_step_rkf45; @@ -145,7 +145,7 @@ int solve_HSE(double p_centre, double m_product, hse_func_params params; - vector eggleton_mu; + vector eggleton_mu; eggleton_mu.push_back(0); params.eggleton_mu = &eggleton_mu; @@ -153,29 +153,29 @@ int solve_HSE(double p_centre, double m_product, params.m_max_A = m_max_A; params.mmu_A = &mmu_A; params.entr_A = &entr_A; - + params.mcur_B = m_min_B; params.m_max_B = m_max_B; params.mmu_B = &mmu_B; params.entr_B = &entr_B; - - gsl_odeiv_system sys = {hse_func, hse_jac, n_dim, ¶ms}; + + gsl_odeiv_system sys = {hse_func, hse_jac, static_cast(n_dim), ¶ms}; double m_c = 0.0; double m_1 = pow(m_product, 2.0/3.0); double dm = 1.0e-6; double y[2] = {p_centre/p_unit, 0.0}; // {pressure, x} - + Morig.clear(); mass.clear(); pressure.clear(); radius.clear(); - + params.negative_pressure = 0; while (m_c < m_1) { vector Morig_temp; params.Morig_temp = &Morig_temp; - + params.which_star = 0; int status = gsl_odeiv_evolve_apply(e, c, s, &sys, @@ -196,17 +196,17 @@ int solve_HSE(double p_centre, double m_product, } else { params.mcur_B += dm; params.mcur_B = min(params.mcur_B, m_max_B); - } + } real mpr = pow(m_c, 1.5); real ma = params.mcur_A; real mb = params.mcur_B; -// PRC(dm); PRC(mpr); PRC(ma+mb); PRC(ma); PRC(m_max_A); PRC(mb); PRL(m_max_B); - +// PRC(dm); PRC(mpr); PRC(ma+mb); PRC(ma); PRC(m_max_A); PRC(mb); PRL(m_max_B); + if (params.negative_pressure == 1) { pressure.push_back(-p_unit); return NEGATIVE_PRESSURE; } - + /* if more than desired number of shells was generated, reduce relative accuracy of the solver @@ -217,7 +217,7 @@ int solve_HSE(double p_centre, double m_product, if (status != GSL_SUCCESS) return FAILED; - + mass.push_back(pow(m_c, 1.5)); pressure.push_back(y[0]*p_unit); radius.push_back(sqrt(y[1])); @@ -261,7 +261,7 @@ double merge_stars_eq(double p_centre, void *params) { pc++; if (p->status == NEXCEED) p->error_try *= ERROR_SCALE_INC; - else + else if (p->mass.size() < p->n_shells) p->error_try *= 1.0/ERROR_SCALE_DEC; else @@ -288,7 +288,7 @@ int mmas::merge_stars(double f_lost, int n_desired_shells) { double m_max_A = (1.0 - 1.0e-10)*Mass.back(); vector id_sB; - sort_model(*model_b, Mass, entr, m_mu, id_sB); + sort_model(*model_b, Mass, entr, m_mu, id_sB); for (size_t i = 0; i < entr.size(); i++) { entr[i] *= randx; m_mu[i] *= randx; @@ -320,11 +320,11 @@ int mmas::merge_stars(double f_lost, int n_desired_shells) { else p.n_shells = n_desired_shells; - + gsl_function F; F.function = &merge_stars_eq; F.params = &p; - + // const gsl_root_fsolver_type *T = gsl_root_fsolver_brent; const gsl_root_fsolver_type *T = gsl_root_fsolver_falsepos; // const gsl_root_fsolver_type *T = gsl_root_fsolver_bisection; @@ -342,7 +342,7 @@ int mmas::merge_stars(double f_lost, int n_desired_shells) { p.initial_error_try = ERROR_TRY0; merge_stars_eq(p_0, &p); p.initial_error_try = p.error_try; - + double sgn = p.pressure.back(); int iterb_max = 100; @@ -367,7 +367,7 @@ int mmas::merge_stars(double f_lost, int n_desired_shells) { // PRC(p.Morig.size()); PRL(p.mass.size()); if (sgn*p.pressure.back() < 0) stop = 1; - + // PRC(p.error_try); PRC(p.mass.size()); // if (p.mass.size() < NTRY) p.error_try *= 1.0/5; // if (p.mass.size() > 5*NTRY) p.error_try *= 10; @@ -379,16 +379,16 @@ int mmas::merge_stars(double f_lost, int n_desired_shells) { cerr << "p is in [" << p_min << ", " << p_max << "] \n"; p.n_shells = n_desired_shells; - + fprintf(stderr, "\n----------------------------------------------------\n"); - fprintf(stderr, "Computing p_centre using %s method:\n", + fprintf(stderr, "Computing p_centre using %s method:\n", gsl_root_fsolver_name (s)); gsl_root_fsolver_set (s, &F, p_min, p_max); fprintf (stderr, "%5s [%9s, %9s] %9s %9s\n", "iter", "lower", "upper", "root", "err(est)"); - + int status; int iter = 0, iter_max = 1000; double rel_err = 1.0e-4; @@ -405,10 +405,10 @@ int mmas::merge_stars(double f_lost, int n_desired_shells) { status = gsl_root_test_interval (x_lo, x_hi, 0, rel_err); - + if (status == GSL_SUCCESS) fprintf (stderr, "Converged in %u iterations:\n", iter+1); - + // if (iter%100 == 0 || status == GSL_SUCCESS) fprintf (stderr, "%5d [%.7f, %.7f] %.7f %.7f\n", iter, x_lo, x_hi, @@ -431,7 +431,7 @@ int mmas::merge_stars(double f_lost, int n_desired_shells) { do not forget to modify the subsequent routine too in order to make it aware of the sorting. */ - + vector mass, chemicals[NUMBER_OF_CHEMICAL_SPECIES]; int n = model_a->get_num_shells(); @@ -481,7 +481,7 @@ int mmas::merge_stars(double f_lost, int n_desired_shells) { delete product; product = new usm; - + mass_shell shell; int mass_size = p.mass.size(); for (int i = 0; i < mass_size-1; i++) { @@ -492,7 +492,7 @@ int mmas::merge_stars(double f_lost, int n_desired_shells) { product->star_radius = p.radius[p.mass.size()-1]; PRL(mass_size); - + for (int i = 0; i < mass_size-1; i++) { mass_shell &shell = product->get_shell(i); chemical_composition &che = shell.composition; @@ -526,7 +526,7 @@ int mmas::merge_stars(double f_lost, int n_desired_shells) { che.Si28 = cheB[7]->eval(m); che.Fe56 = cheB[8]->eval(m); } - + shell.density = compute_density(shell.pressure, shell.entropy, shell.mean_mu); shell.temperature = compute_temperature(shell.density, shell.pressure, shell.mean_mu); if (i%100 == 101) { diff --git a/src/amuse/community/mmams/src/mmas2/src/mmas/mixing.cpp b/src/amuse_mmams/src/mmas2/src/mmas/mixing.cpp similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/mmas/mixing.cpp rename to src/amuse_mmams/src/mmas2/src/mmas/mixing.cpp diff --git a/src/amuse/community/mmams/src/mmas2/src/mmas/mmas.h b/src/amuse_mmams/src/mmas2/src/mmas/mmas.h similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/mmas/mmas.h rename to src/amuse_mmams/src/mmas2/src/mmas/mmas.h diff --git a/src/amuse/community/mmams/src/mmas2/src/mmas/mmas2.cpp b/src/amuse_mmams/src/mmas2/src/mmas/mmas2.cpp similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/mmas/mmas2.cpp rename to src/amuse_mmams/src/mmas2/src/mmas/mmas2.cpp diff --git a/src/amuse/community/mmams/src/mmas2/src/mmas/shock_heating.cpp b/src/amuse_mmams/src/mmas2/src/mmas/shock_heating.cpp similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/mmas/shock_heating.cpp rename to src/amuse_mmams/src/mmas2/src/mmas/shock_heating.cpp diff --git a/src/amuse/community/mmams/src/mmas2/src/mmas/solve_hse.cpp b/src/amuse_mmams/src/mmas2/src/mmas/solve_hse.cpp similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/mmas/solve_hse.cpp rename to src/amuse_mmams/src/mmas2/src/mmas/solve_hse.cpp diff --git a/src/amuse/community/mmams/src/mmas2/src/mmas/sort.h b/src/amuse_mmams/src/mmas2/src/mmas/sort.h similarity index 80% rename from src/amuse/community/mmams/src/mmas2/src/mmas/sort.h rename to src/amuse_mmams/src/mmas2/src/mmas/sort.h index 44d7f63b09..88529ac811 100644 --- a/src/amuse/community/mmams/src/mmas2/src/mmas/sort.h +++ b/src/amuse_mmams/src/mmas2/src/mmas/sort.h @@ -2,7 +2,7 @@ #include #include -class data_compare : public std::binary_function { +class data_compare { const vector &data; @@ -10,11 +10,11 @@ class data_compare : public std::binary_function { data_compare(const vector &d) : data(d) {}; ~data_compare() {}; - + bool operator() (int a, int b) const { return data[a] < data[b]; }; - + }; vector sort_index (vector); diff --git a/src/amuse/community/mmams/src/mmas2/src/mmas/sort_entropy.cpp b/src/amuse_mmams/src/mmas2/src/mmas/sort_entropy.cpp similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/mmas/sort_entropy.cpp rename to src/amuse_mmams/src/mmas2/src/mmas/sort_entropy.cpp diff --git a/src/amuse/community/mmams/src/mmas2/src/mmas/void.usm b/src/amuse_mmams/src/mmas2/src/mmas/void.usm similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/mmas/void.usm rename to src/amuse_mmams/src/mmas2/src/mmas/void.usm diff --git a/src/amuse/community/mmams/src/mmas2/src/std/CMakeLists.txt b/src/amuse_mmams/src/mmas2/src/std/CMakeLists.txt similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/std/CMakeLists.txt rename to src/amuse_mmams/src/mmas2/src/std/CMakeLists.txt diff --git a/src/amuse/community/mmams/src/mmas2/src/std/pgetopt.cpp b/src/amuse_mmams/src/mmas2/src/std/pgetopt.cpp similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/std/pgetopt.cpp rename to src/amuse_mmams/src/mmas2/src/std/pgetopt.cpp diff --git a/src/amuse/community/mmams/src/mmas2/src/std/trapfpe.c b/src/amuse_mmams/src/mmas2/src/std/trapfpe.c similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/std/trapfpe.c rename to src/amuse_mmams/src/mmas2/src/std/trapfpe.c diff --git a/src/amuse/community/mmams/src/mmas2/src/usm/CMakeLists.txt b/src/amuse_mmams/src/mmas2/src/usm/CMakeLists.txt similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/usm/CMakeLists.txt rename to src/amuse_mmams/src/mmas2/src/usm/CMakeLists.txt diff --git a/src/amuse/community/mmams/src/mmas2/src/usm/chemical_composition.h b/src/amuse_mmams/src/mmas2/src/usm/chemical_composition.h similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/usm/chemical_composition.h rename to src/amuse_mmams/src/mmas2/src/usm/chemical_composition.h diff --git a/src/amuse/community/mmams/src/mmas2/src/usm/ez2usm.cpp b/src/amuse_mmams/src/mmas2/src/usm/ez2usm.cpp similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/usm/ez2usm.cpp rename to src/amuse_mmams/src/mmas2/src/usm/ez2usm.cpp diff --git a/src/amuse/community/mmams/src/mmas2/src/usm/mass_shell.h b/src/amuse_mmams/src/mmas2/src/usm/mass_shell.h similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/usm/mass_shell.h rename to src/amuse_mmams/src/mmas2/src/usm/mass_shell.h diff --git a/src/amuse/community/mmams/src/mmas2/src/usm/usm.cpp b/src/amuse_mmams/src/mmas2/src/usm/usm.cpp similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/usm/usm.cpp rename to src/amuse_mmams/src/mmas2/src/usm/usm.cpp diff --git a/src/amuse/community/mmams/src/mmas2/src/usm/usm.h b/src/amuse_mmams/src/mmas2/src/usm/usm.h similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/usm/usm.h rename to src/amuse_mmams/src/mmas2/src/usm/usm.h diff --git a/src/amuse/community/mmams/src/mmas2/src/usm/usm2col.cpp b/src/amuse_mmams/src/mmas2/src/usm/usm2col.cpp similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/usm/usm2col.cpp rename to src/amuse_mmams/src/mmas2/src/usm/usm2col.cpp diff --git a/src/amuse/community/mmams/src/mmas2/src/usm/usm2quad.cpp b/src/amuse_mmams/src/mmas2/src/usm/usm2quad.cpp similarity index 100% rename from src/amuse/community/mmams/src/mmas2/src/usm/usm2quad.cpp rename to src/amuse_mmams/src/mmas2/src/usm/usm2quad.cpp diff --git a/src/amuse_mmams/support/aclocal.m4 b/src/amuse_mmams/support/aclocal.m4 new file mode 100644 index 0000000000..b8249c1acd --- /dev/null +++ b/src/amuse_mmams/support/aclocal.m4 @@ -0,0 +1,20 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/gsl.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_mmams/support/config.mk.in b/src/amuse_mmams/support/config.mk.in new file mode 100644 index 0000000000..3e62795de9 --- /dev/null +++ b/src/amuse_mmams/support/config.mk.in @@ -0,0 +1,28 @@ +# Compilers +CC = @CC@ +CXX = @CXX@ + +MPICC = @MPICC@ +MPICXX = @MPICXX@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ + +# General flags and libraries +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +AMUSE_MPI_CFLAGS = @AMUSE_MPI_CFLAGS@ +AMUSE_MPI_LIBS = @AMUSE_MPI_LIBS@ + +# External dependencies +FOUND_GSL = @FOUND_GSL@ +GSL_FLAGS = @GSL_FLAGS@ +GSL_LIBS = @GSL_LIBS@ diff --git a/src/amuse_mmams/support/configure b/src/amuse_mmams/support/configure new file mode 100755 index 0000000000..3c92964dc3 --- /dev/null +++ b/src/amuse_mmams/support/configure @@ -0,0 +1,7298 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-mmams 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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'" + +as_awk_strverscmp=' + # Use only awk features that work with 7th edition Unix awk (1978). + # My, what an old awk you have, Mr. Solaris! + END { + while (length(v1) && length(v2)) { + # Set d1 to be the next thing to compare from v1, and likewise for d2. + # Normally this is a single character, but if v1 and v2 contain digits, + # compare them as integers and fractions as strverscmp does. + if (v1 ~ /^[0-9]/ && v2 ~ /^[0-9]/) { + # Split v1 and v2 into their leading digit string components d1 and d2, + # and advance v1 and v2 past the leading digit strings. + for (len1 = 1; substr(v1, len1 + 1) ~ /^[0-9]/; len1++) continue + for (len2 = 1; substr(v2, len2 + 1) ~ /^[0-9]/; len2++) continue + d1 = substr(v1, 1, len1); v1 = substr(v1, len1 + 1) + d2 = substr(v2, 1, len2); v2 = substr(v2, len2 + 1) + if (d1 ~ /^0/) { + if (d2 ~ /^0/) { + # Compare two fractions. + while (d1 ~ /^0/ && d2 ~ /^0/) { + d1 = substr(d1, 2); len1-- + d2 = substr(d2, 2); len2-- + } + if (len1 != len2 && ! (len1 && len2 && substr(d1, 1, 1) == substr(d2, 1, 1))) { + # The two components differ in length, and the common prefix + # contains only leading zeros. Consider the longer to be less. + d1 = -len1 + d2 = -len2 + } else { + # Otherwise, compare as strings. + d1 = "x" d1 + d2 = "x" d2 + } + } else { + # A fraction is less than an integer. + exit 1 + } + } else { + if (d2 ~ /^0/) { + # An integer is greater than a fraction. + exit 2 + } else { + # Compare two integers. + d1 += 0 + d2 += 0 + } + } + } else { + # The normal case, without worrying about digits. + d1 = substr(v1, 1, 1); v1 = substr(v1, 2) + d2 = substr(v2, 1, 1); v2 = substr(v2, 2) + } + if (d1 < d2) exit 1 + if (d1 > d2) exit 2 + } + # Beware Solaris /usr/xgp4/bin/awk (at least through Solaris 10), + # which mishandles some comparisons of empty strings to integers. + if (length(v2)) exit 1 + if (length(v1)) exit 2 + } +' + +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='amuse-mmams' +PACKAGE_TARNAME='amuse-mmams' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-mmams 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +GSL_CONFIG +GSL_LIBS +GSL_CFLAGS +GSL_FLAGS +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +FOUND_AMUSE_MPI +AMUSE_MPI_LIBS +AMUSE_MPI_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +RANLIB +AR +target_os +target_vendor +target_cpu +target +ac_ct_CXX +CXXFLAGS +CXX +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +with_gsl_prefix +with_gsl_exec_prefix +enable_gsltest +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +AMUSE_MPI_CFLAGS +AMUSE_MPI_LIBS +MPICC +GSL_CFLAGS +GSL_LIBS +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-mmams 1.0 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/amuse-mmams] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-mmams 1.0:";; + 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] + --disable-gsltest Do not try to compile and run a test GSL program + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gsl-prefix=PFX Prefix where GSL is installed (optional) + --with-gsl-exec-prefix=PFX Exec prefix where GSL is installed (optional) + +Some influential environment variables: + 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 + CXX C++ compiler command + CXXFLAGS C++ compiler flags + 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 + AMUSE_MPI_CFLAGS + C compiler flags for AMUSE_MPI, overriding pkg-config + AMUSE_MPI_LIBS + linker flags for AMUSE_MPI, overriding pkg-config + MPICC MPI C compiler command + GSL_CFLAGS C compiler flags for GSL, overriding pkg-config + GSL_LIBS linker flags for GSL, overriding pkg-config + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-mmams configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-mmams $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Set the worker language + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find AMUSE libraries + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$AMUSE_MPI_CFLAGS" + amuse_save_LIB_LIBS="$AMUSE_MPI_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing get_comm_world" >&5 +printf %s "checking for library containing get_comm_world... " >&6; } +if test ${ac_cv_search_get_comm_world+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char get_comm_world (); +int +main (void) +{ +return get_comm_world (); + ; + return 0; +} +_ACEOF +for ac_lib in '' amuse_mpi +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_get_comm_world=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_get_comm_world+y} +then : + break +fi +done +if test ${ac_cv_search_get_comm_world+y} +then : + +else $as_nop + ac_cv_search_get_comm_world=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_get_comm_world" >&5 +printf "%s\n" "$ac_cv_search_get_comm_world" >&6; } +ac_res=$ac_cv_search_get_comm_world +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_AMUSE_MPI="yes" + AMUSE_MPI_LIBS="$LIBS" + AMUSE_MPI_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for AMUSE_MPI" >&5 +printf %s "checking for AMUSE_MPI... " >&6; } + +if test -n "$AMUSE_MPI_CFLAGS"; then + pkg_cv_AMUSE_MPI_CFLAGS="$AMUSE_MPI_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"amuse_mpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "amuse_mpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_AMUSE_MPI_CFLAGS=`$PKG_CONFIG --cflags "amuse_mpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$AMUSE_MPI_LIBS"; then + pkg_cv_AMUSE_MPI_LIBS="$AMUSE_MPI_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"amuse_mpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "amuse_mpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_AMUSE_MPI_LIBS=`$PKG_CONFIG --libs "amuse_mpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + AMUSE_MPI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "amuse_mpi" 2>&1` + else + AMUSE_MPI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "amuse_mpi" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$AMUSE_MPI_PKG_ERRORS" >&5 + + + FOUND_AMUSE_MPI="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_AMUSE_MPI="no" + +else + AMUSE_MPI_CFLAGS=$pkg_cv_AMUSE_MPI_CFLAGS + AMUSE_MPI_LIBS=$pkg_cv_AMUSE_MPI_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_AMUSE_MPI="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_AMUSE_MPI}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + AMUSE_MPI_CFLAGS="${AMUSE_MPI_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + AMUSE_MPI_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + AMUSE_MPI_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + +# Find external dependencies +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 + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + + + +# Check whether --with-gsl-prefix was given. +if test ${with_gsl_prefix+y} +then : + withval=$with_gsl_prefix; gsl_prefix="$withval" +else $as_nop + gsl_prefix="" +fi + + +# Check whether --with-gsl-exec-prefix was given. +if test ${with_gsl_exec_prefix+y} +then : + withval=$with_gsl_exec_prefix; gsl_exec_prefix="$withval" +else $as_nop + gsl_exec_prefix="" +fi + +# Check whether --enable-gsltest was given. +if test ${enable_gsltest+y} +then : + enableval=$enable_gsltest; +else $as_nop + enable_gsltest=yes +fi + + + if test "x${GSL_CONFIG+set}" != xset ; then + if test "x$gsl_prefix" != x ; then + GSL_CONFIG="$gsl_prefix/bin/gsl-config" + fi + if test "x$gsl_exec_prefix" != x ; then + GSL_CONFIG="$gsl_exec_prefix/bin/gsl-config" + fi + fi + + + if test "x${GSL_CONFIG+set}" == xset ; then + if test -x "${GSL_CONFIG}" ; then + gsl_config_exists=yes + else + gsl_config_exists=no + fi + fi + FOUND_GSL=no + if test "x$GSL_CFLAGS" != x ; then + if test "x$GSL_LIBS" != x ; then + GSL_FLAGS="$GSL_CFLAGS" + GSL_LIBS="$GSL_LIBS" + FOUND_GSL=yes + + fi + fi + if test "$FOUND_GSL" = "no"; then + if test "x$gsl_config_exists" != xyes ; then + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GSL" >&5 +printf %s "checking for GSL... " >&6; } + +if test -n "$GSL_CFLAGS"; then + pkg_cv_GSL_CFLAGS="$GSL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gsl >= 1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gsl >= 1.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GSL_CFLAGS=`$PKG_CONFIG --cflags "gsl >= 1.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$GSL_LIBS"; then + pkg_cv_GSL_LIBS="$GSL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gsl >= 1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gsl >= 1.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GSL_LIBS=`$PKG_CONFIG --libs "gsl >= 1.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + GSL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gsl >= 1.0" 2>&1` + else + GSL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gsl >= 1.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$GSL_PKG_ERRORS" >&5 + + + + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + + +else + GSL_CFLAGS=$pkg_cv_GSL_CFLAGS + GSL_LIBS=$pkg_cv_GSL_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + GSL_FLAGS="$GSL_CFLAGS" + GSL_LIBS="$GSL_LIBS" + FOUND_GSL=yes + + + FOUND_GSL=yes + +fi + fi + fi + if test "$FOUND_GSL" = "no"; then + # Extract the first word of "gsl-config", so it can be a program name with args. +set dummy gsl-config; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_GSL_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $GSL_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_GSL_CONFIG="$GSL_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_GSL_CONFIG="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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_GSL_CONFIG" && ac_cv_path_GSL_CONFIG="no" + ;; +esac +fi +GSL_CONFIG=$ac_cv_path_GSL_CONFIG +if test -n "$GSL_CONFIG"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GSL_CONFIG" >&5 +printf "%s\n" "$GSL_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + min_gsl_version=1.0 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GSL - version >= $min_gsl_version" >&5 +printf %s "checking for GSL - version >= $min_gsl_version... " >&6; } + no_gsl="" + if test "$GSL_CONFIG" = "no" ; then + no_gsl=yes + else + GSL_FLAGS=`$GSL_CONFIG --cflags` + GSL_LIBS=`$GSL_CONFIG --libs` + + gsl_version=`$GSL_CONFIG --version` + as_arg_v1=$gsl_version +as_arg_v2=$min_gsl_version +awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null +case $? in #( + 1) : + no_gsl=yes ;; #( + 0) : + ;; #( + 2) : + ;; #( + *) : + ;; +esac + fi + if test "x$no_gsl" = x ; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + FOUND_GSL=yes + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + if test "$GSL_CONFIG" = "no" ; then + echo "*** The gsl-config script installed by GSL could not be found" + echo "*** If GSL was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the GSL_CONFIG environment variable to the" + echo "*** full path to gsl-config." + else + if test -f conf.gsltest ; then + : + else + echo "*** Could not run GSL test program, checking why..." + CFLAGS="$CFLAGS $GSL_FLAGS" + LIBS="$LIBS $GSL_LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +int +main (void) +{ + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding GSL or finding the wrong" + echo "*** version of GSL. If it is not finding GSL, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" +else $as_nop + echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means GSL was incorrectly installed" + echo "*** or that you have moved GSL since it was installed. In the latter case, you" + echo "*** may want to edit the gsl-config script: $GSL_CONFIG" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + # GSL_FLAGS="" + # GSL_LIBS="" + : + fi + + fi + + + rm -f conf.gsltest + + +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=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + + + +# Check whether --with-gsl-prefix was given. +if test ${with_gsl_prefix+y} +then : + withval=$with_gsl_prefix; gsl_prefix="$withval" +else $as_nop + gsl_prefix="" +fi + + +# Check whether --with-gsl-exec-prefix was given. +if test ${with_gsl_exec_prefix+y} +then : + withval=$with_gsl_exec_prefix; gsl_exec_prefix="$withval" +else $as_nop + gsl_exec_prefix="" +fi + +# Check whether --enable-gsltest was given. +if test ${enable_gsltest+y} +then : + enableval=$enable_gsltest; +else $as_nop + enable_gsltest=yes +fi + + + if test "x${GSL_CONFIG+set}" != xset ; then + if test "x$gsl_prefix" != x ; then + GSL_CONFIG="$gsl_prefix/bin/gsl-config" + fi + if test "x$gsl_exec_prefix" != x ; then + GSL_CONFIG="$gsl_exec_prefix/bin/gsl-config" + fi + fi + + + if test "x${GSL_CONFIG+set}" == xset ; then + if test -x "${GSL_CONFIG}" ; then + gsl_config_exists=yes + else + gsl_config_exists=no + fi + fi + FOUND_GSL=no + if test "x$GSL_CFLAGS" != x ; then + if test "x$GSL_LIBS" != x ; then + GSL_FLAGS="$GSL_CFLAGS" + GSL_LIBS="$GSL_LIBS" + FOUND_GSL=yes + + fi + fi + if test "$FOUND_GSL" = "no"; then + if test "x$gsl_config_exists" != xyes ; then + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GSL" >&5 +printf %s "checking for GSL... " >&6; } + +if test -n "$GSL_CFLAGS"; then + pkg_cv_GSL_CFLAGS="$GSL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gsl >= 1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gsl >= 1.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GSL_CFLAGS=`$PKG_CONFIG --cflags "gsl >= 1.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$GSL_LIBS"; then + pkg_cv_GSL_LIBS="$GSL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gsl >= 1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gsl >= 1.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GSL_LIBS=`$PKG_CONFIG --libs "gsl >= 1.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + GSL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gsl >= 1.0" 2>&1` + else + GSL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gsl >= 1.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$GSL_PKG_ERRORS" >&5 + + + + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + + +else + GSL_CFLAGS=$pkg_cv_GSL_CFLAGS + GSL_LIBS=$pkg_cv_GSL_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + GSL_FLAGS="$GSL_CFLAGS" + GSL_LIBS="$GSL_LIBS" + FOUND_GSL=yes + + + FOUND_GSL=yes + +fi + fi + fi + if test "$FOUND_GSL" = "no"; then + # Extract the first word of "gsl-config", so it can be a program name with args. +set dummy gsl-config; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_GSL_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $GSL_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_GSL_CONFIG="$GSL_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_GSL_CONFIG="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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_GSL_CONFIG" && ac_cv_path_GSL_CONFIG="no" + ;; +esac +fi +GSL_CONFIG=$ac_cv_path_GSL_CONFIG +if test -n "$GSL_CONFIG"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GSL_CONFIG" >&5 +printf "%s\n" "$GSL_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + min_gsl_version=1.0 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GSL - version >= $min_gsl_version" >&5 +printf %s "checking for GSL - version >= $min_gsl_version... " >&6; } + no_gsl="" + if test "$GSL_CONFIG" = "no" ; then + no_gsl=yes + else + GSL_FLAGS=`$GSL_CONFIG --cflags` + GSL_LIBS=`$GSL_CONFIG --libs` + + gsl_version=`$GSL_CONFIG --version` + as_arg_v1=$gsl_version +as_arg_v2=$min_gsl_version +awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null +case $? in #( + 1) : + no_gsl=yes ;; #( + 0) : + ;; #( + 2) : + ;; #( + *) : + ;; +esac + fi + if test "x$no_gsl" = x ; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + FOUND_GSL=yes + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + if test "$GSL_CONFIG" = "no" ; then + echo "*** The gsl-config script installed by GSL could not be found" + echo "*** If GSL was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the GSL_CONFIG environment variable to the" + echo "*** full path to gsl-config." + else + if test -f conf.gsltest ; then + : + else + echo "*** Could not run GSL test program, checking why..." + CFLAGS="$CFLAGS $GSL_FLAGS" + LIBS="$LIBS $GSL_LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +int +main (void) +{ + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding GSL or finding the wrong" + echo "*** version of GSL. If it is not finding GSL, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" +else $as_nop + echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means GSL was incorrectly installed" + echo "*** or that you have moved GSL since it was installed. In the latter case, you" + echo "*** may want to edit the gsl-config script: $GSL_CONFIG" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + # GSL_FLAGS="" + # GSL_LIBS="" + : + fi + + fi + + + rm -f conf.gsltest + + +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 + + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-mmams $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-mmams config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_mmams/support/configure.ac b/src/amuse_mmams/support/configure.ac new file mode 100644 index 0000000000..ca96ec3f45 --- /dev/null +++ b/src/amuse_mmams/support/configure.ac @@ -0,0 +1,44 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-mmams], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Set the worker language +AC_PROG_CC() +AC_PROG_CXX() + + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find AMUSE libraries +AMUSE_LIB_AMUSE_MPI() + +# Find external dependencies +AC_LANG_PUSH([C]) +AX_MPI() +AX_PATH_GSL(1.0, [FOUND_GSL=yes]) +AC_LANG_POP([C]) + +AC_LANG_PUSH([C++]) +AX_MPI() +AX_PATH_GSL(1.0, [FOUND_GSL=yes]) +AC_LANG_POP([C++]) + + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_mmams/support/shared b/src/amuse_mmams/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_mmams/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse_mmams/tests/primary.usm b/src/amuse_mmams/tests/primary.usm new file mode 100644 index 0000000000..448f060b92 --- /dev/null +++ b/src/amuse_mmams/tests/primary.usm @@ -0,0 +1,5776 @@ +(usm + num_shells = 199 + mass = 1.99456615447998047e+01 + radius = 1.73536090850830078e+01 +(mass_shell + id = 0 + dm = 0.00000000000000000e+00 + mass = 1.76037192431977019e-05 + radius = 1.30699910223484039e-02 + density = 8.36942768096923828e+00 + pressure = 3.76830938673315840e+16 + e_thermal = 9.06415052108595200e+15 + entropy = 9.79238016000000000e+08 + temperature = 4.73180400000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31385028362274170e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21282553300261497e-02 + He4 = 9.68446791172027588e-01 + O16 = 3.30582697642967105e-04 + N14 = 1.34223010390996933e-02 + C12 = 2.68915930064395070e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084565490484238e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 1 + dm = 0.00000000000000000e+00 + mass = 6.18871563347056508e-05 + radius = 2.13225651532411575e-02 + density = 8.36701679229736328e+00 + pressure = 3.76672024883363840e+16 + e_thermal = 9.06285344096256000e+15 + entropy = 9.79238080000000000e+08 + temperature = 4.73126080000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31385016441345215e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21282935142517090e-02 + He4 = 9.68446731567382812e-01 + O16 = 3.30582755850628018e-04 + N14 = 1.34223131462931633e-02 + C12 = 2.68905219854786992e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084565490484238e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 2 + dm = 0.00000000000000000e+00 + mass = 1.53846369357779622e-04 + radius = 2.93282642960548401e-02 + density = 8.36396789550781250e+00 + pressure = 3.76471149262929920e+16 + e_thermal = 9.06121491093913600e+15 + entropy = 9.79238208000000000e+08 + temperature = 4.73057360000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31385004520416260e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21283559128642082e-02 + He4 = 9.68446671962738037e-01 + O16 = 3.30582814058288932e-04 + N14 = 1.34223336353898048e-02 + C12 = 2.68888077698647976e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084565490484238e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 3 + dm = 0.00000000000000000e+00 + mass = 3.10063071083277464e-04 + radius = 3.72510477900505066e-02 + density = 8.36012649536132812e+00 + pressure = 3.76218175689195520e+16 + e_thermal = 9.05914903166976000e+15 + entropy = 9.79238336000000000e+08 + temperature = 4.72970840000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384992599487305e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21284397318959236e-02 + He4 = 9.68446552753448486e-01 + O16 = 3.30582901369780302e-04 + N14 = 1.34223597124218941e-02 + C12 = 2.68865085672587156e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084565490484238e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 4 + dm = 0.00000000000000000e+00 + mass = 5.42946625500917435e-04 + radius = 4.50089089572429657e-02 + density = 8.35553741455078125e+00 + pressure = 3.75915895890903040e+16 + e_thermal = 9.05668049921638400e+15 + entropy = 9.79238528000000000e+08 + temperature = 4.72867400000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384980678558350e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21285412460565567e-02 + He4 = 9.68446493148803711e-01 + O16 = 3.30583017785102129e-04 + N14 = 1.34223923087120056e-02 + C12 = 2.68836971372365952e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084565490484238e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 5 + dm = 0.00000000000000000e+00 + mass = 8.60497588291764259e-04 + radius = 5.25383986532688141e-02 + density = 8.35028171539306641e+00 + pressure = 3.75569893325537280e+16 + e_thermal = 9.05385333699379200e+15 + entropy = 9.79238784000000000e+08 + temperature = 4.72748880000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384956836700439e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21286595240235329e-02 + He4 = 9.68446373939514160e-01 + O16 = 3.30583163304254413e-04 + N14 = 1.34224304929375648e-02 + C12 = 2.68804433289915323e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084565490484238e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 6 + dm = 0.00000000000000000e+00 + mass = 1.26780045684427023e-03 + radius = 5.98202012479305267e-02 + density = 8.34444046020507812e+00 + pressure = 3.75185450802872320e+16 + e_thermal = 9.05070942093312000e+15 + entropy = 9.79239040000000000e+08 + temperature = 4.72617120000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384944915771484e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21287917718291283e-02 + He4 = 9.68446195125579834e-01 + O16 = 3.30583308823406696e-04 + N14 = 1.34224724024534225e-02 + C12 = 2.68768111709505320e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084565490484238e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 7 + dm = 0.00000000000000000e+00 + mass = 1.76847970578819513e-03 + radius = 6.68633058667182922e-02 + density = 8.33807849884033203e+00 + pressure = 3.74766820340531200e+16 + e_thermal = 9.04728311077273600e+15 + entropy = 9.79239360000000000e+08 + temperature = 4.72473520000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384921073913574e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21289361268281937e-02 + He4 = 9.68446075916290283e-01 + O16 = 3.30583483446389437e-04 + N14 = 1.34225189685821533e-02 + C12 = 2.68728559603914618e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084565490484238e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 8 + dm = 0.00000000000000000e+00 + mass = 2.36563174985349178e-03 + radius = 7.36897289752960205e-02 + density = 8.33124065399169922e+00 + pressure = 3.74317094314967040e+16 + e_thermal = 9.04360017631641600e+15 + entropy = 9.79239680000000000e+08 + temperature = 4.72319160000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384897232055664e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21290907263755798e-02 + He4 = 9.68445897102355957e-01 + O16 = 3.30583658069372177e-04 + N14 = 1.34225683286786079e-02 + C12 = 2.68686097115278244e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084565490484238e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 9 + dm = 0.00000000000000000e+00 + mass = 3.06232832372188568e-03 + radius = 8.03256556391716003e-02 + density = 8.32396125793457031e+00 + pressure = 3.73838549058846720e+16 + e_thermal = 9.03967672369152000e+15 + entropy = 9.79240000000000000e+08 + temperature = 4.72154720000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384873390197754e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21292555704712868e-02 + He4 = 9.68445718288421631e-01 + O16 = 3.30583861796185374e-04 + N14 = 1.34226204827427864e-02 + C12 = 2.68641015281900764e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084565490484238e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 10 + dm = 0.00000000000000000e+00 + mass = 3.86186572723090649e-03 + radius = 8.67971554398536682e-02 + density = 8.31626319885253906e+00 + pressure = 3.73332601911377920e+16 + e_thermal = 9.03552671154176000e+15 + entropy = 9.79240320000000000e+08 + temperature = 4.71980680000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384849548339844e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21294297277927399e-02 + He4 = 9.68445539474487305e-01 + O16 = 3.30584036419168115e-04 + N14 = 1.34226754307746887e-02 + C12 = 2.68593459622934461e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084565490484238e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 11 + dm = 0.00000000000000000e+00 + mass = 4.76788310334086418e-03 + radius = 9.31283980607986450e-02 + density = 8.30815982818603516e+00 + pressure = 3.72800326614384640e+16 + e_thermal = 9.03115550857625600e+15 + entropy = 9.79240704000000000e+08 + temperature = 4.71797440000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384813785552979e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21296122670173645e-02 + He4 = 9.68445360660552979e-01 + O16 = 3.30584269249811769e-04 + N14 = 1.34227341040968895e-02 + C12 = 2.68543604761362076e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084565490484238e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 12 + dm = 0.00000000000000000e+00 + mass = 5.78441424295306206e-03 + radius = 9.93410795927047729e-02 + density = 8.29966163635253906e+00 + pressure = 3.72242238563942400e+16 + e_thermal = 9.02656848350412800e+15 + entropy = 9.79241088000000000e+08 + temperature = 4.71605080000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384789943695068e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21298031881451607e-02 + He4 = 9.68445181846618652e-01 + O16 = 3.30584472976624966e-04 + N14 = 1.34227946400642395e-02 + C12 = 2.68491508904844522e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084565490484238e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 13 + dm = 0.00000000000000000e+00 + mass = 6.91591016948223114e-03 + radius = 1.05454407632350922e-01 + density = 8.29077053070068359e+00 + pressure = 3.71658724307107840e+16 + e_thermal = 9.02176671006720000e+15 + entropy = 9.79241472000000000e+08 + temperature = 4.71403720000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384754180908203e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21300024911761284e-02 + He4 = 9.68444943428039551e-01 + O16 = 3.30584705807268620e-04 + N14 = 1.34228570386767387e-02 + C12 = 2.68437230261042714e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084565490484238e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 14 + dm = 0.00000000000000000e+00 + mass = 8.16725008189678192e-03 + radius = 1.11485272645950317e-01 + density = 8.28148841857910156e+00 + pressure = 3.71049826793553920e+16 + e_thermal = 9.01675018826547200e+15 + entropy = 9.79241920000000000e+08 + temperature = 4.71193360000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384718418121338e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21302101761102676e-02 + He4 = 9.68444705009460449e-01 + O16 = 3.30584938637912273e-04 + N14 = 1.34229231625795364e-02 + C12 = 2.68380827037617564e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084565490484238e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 15 + dm = 0.00000000000000000e+00 + mass = 9.54374112188816071e-03 + radius = 1.17448560893535614e-01 + density = 8.27181434631347656e+00 + pressure = 3.70415460123934720e+16 + e_thermal = 9.01151784435712000e+15 + entropy = 9.79242112000000000e+08 + temperature = 4.70973960000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384718418121338e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21303051710128784e-02 + He4 = 9.68444645404815674e-01 + O16 = 3.30585055053234100e-04 + N14 = 1.34229529649019241e-02 + C12 = 2.68355157459154725e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084565490484238e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 16 + dm = 0.00000000000000000e+00 + mass = 1.10511267557740211e-02 + radius = 1.23357392847537994e-01 + density = 8.26174354553222656e+00 + pressure = 3.69755409549885440e+16 + e_thermal = 9.00606538337484800e+15 + entropy = 9.79242240000000000e+08 + temperature = 4.70745320000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384718418121338e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21303712949156761e-02 + He4 = 9.68444585800170898e-01 + O16 = 3.30585113260895014e-04 + N14 = 1.34229734539985657e-02 + C12 = 2.68337375018745661e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084565490484238e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 17 + dm = 0.00000000000000000e+00 + mass = 1.26955909654498100e-02 + radius = 1.29223406314849854e-01 + density = 8.25126934051513672e+00 + pressure = 3.69069288524349440e+16 + e_thermal = 9.00039065783500800e+15 + entropy = 9.79242368000000000e+08 + temperature = 4.70507400000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384718418121338e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21304402127861977e-02 + He4 = 9.68444466590881348e-01 + O16 = 3.30585200572386384e-04 + N14 = 1.34229948744177818e-02 + C12 = 2.68318806774914265e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084565490484238e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 18 + dm = 0.00000000000000000e+00 + mass = 1.44837591797113419e-02 + radius = 1.35056957602500916e-01 + density = 8.24038505554199219e+00 + pressure = 3.68356753449943040e+16 + e_thermal = 8.99449044651212800e+15 + entropy = 9.79242496000000000e+08 + temperature = 4.70259920000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384718418121338e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21305119246244431e-02 + He4 = 9.68444406986236572e-01 + O16 = 3.30585287883877754e-04 + N14 = 1.34230181574821472e-02 + C12 = 2.68299423623830080e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 19 + dm = 0.00000000000000000e+00 + mass = 1.64227131754159927e-02 + radius = 1.40867337584495544e-01 + density = 8.22908115386962891e+00 + pressure = 3.67617245980917760e+16 + e_thermal = 8.98835830695526400e+15 + entropy = 9.79242688000000000e+08 + temperature = 4.70002720000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384718418121338e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21305873617529869e-02 + He4 = 9.68444347381591797e-01 + O16 = 3.30585375195369124e-04 + N14 = 1.34230414405465126e-02 + C12 = 2.68279196461662650e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 20 + dm = 0.00000000000000000e+00 + mass = 1.85200013220310211e-02 + radius = 1.46662905812263489e-01 + density = 8.21735000610351562e+00 + pressure = 3.66850164821852160e+16 + e_thermal = 8.98198887045529600e+15 + entropy = 9.79242816000000000e+08 + temperature = 4.69735520000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384718418121338e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21306655928492546e-02 + He4 = 9.68444228172302246e-01 + O16 = 3.30585462506860495e-04 + N14 = 1.34230656549334526e-02 + C12 = 2.68258154392242432e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 21 + dm = 0.00000000000000000e+00 + mass = 2.07836423069238663e-02 + radius = 1.52451261878013611e-01 + density = 8.20518016815185547e+00 + pressure = 3.66054951626997760e+16 + e_thermal = 8.97537623143219200e+15 + entropy = 9.79243008000000000e+08 + temperature = 4.69458080000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384718418121338e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21307484805583954e-02 + He4 = 9.68444168567657471e-01 + O16 = 3.30585549818351865e-04 + N14 = 1.34230908006429672e-02 + C12 = 2.68236210104078054e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 22 + dm = 0.00000000000000000e+00 + mass = 2.32221502810716629e-02 + radius = 1.58239305019378662e-01 + density = 8.19255924224853516e+00 + pressure = 3.65230919201587200e+16 + e_thermal = 8.96851341056409600e+15 + entropy = 9.79243200000000000e+08 + temperature = 4.69170120000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384706497192383e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21308341622352600e-02 + He4 = 9.68444049358367920e-01 + O16 = 3.30585637129843235e-04 + N14 = 1.34231178089976311e-02 + C12 = 2.68213363597169518e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 23 + dm = 0.00000000000000000e+00 + mass = 2.58445516228675842e-02 + radius = 1.64033383131027222e-01 + density = 8.17947769165039062e+00 + pressure = 3.64377294451507200e+16 + e_thermal = 8.96139396540006400e+15 + entropy = 9.79243328000000000e+08 + temperature = 4.68871320000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384706497192383e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21309245005249977e-02 + He4 = 9.68443989753723145e-01 + O16 = 3.30585753545165062e-04 + N14 = 1.34231457486748695e-02 + C12 = 2.68189585767686367e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 24 + dm = 0.00000000000000000e+00 + mass = 2.86603886634111404e-02 + radius = 1.69839367270469666e-01 + density = 8.16592121124267578e+00 + pressure = 3.63493390181990400e+16 + e_thermal = 8.95400930600550400e+15 + entropy = 9.79243520000000000e+08 + temperature = 4.68561320000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384706497192383e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21310185641050339e-02 + He4 = 9.68443870544433594e-01 + O16 = 3.30585840856656432e-04 + N14 = 1.34231746196746826e-02 + C12 = 2.68164847511798143e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 25 + dm = 0.00000000000000000e+00 + mass = 3.16797569394111633e-02 + radius = 1.75662666559219360e-01 + density = 8.15187549591064453e+00 + pressure = 3.62578347399577600e+16 + e_thermal = 8.94635191618764800e+15 + entropy = 9.79243776000000000e+08 + temperature = 4.68239880000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384706497192383e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21311163529753685e-02 + He4 = 9.68443810939788818e-01 + O16 = 3.30585957271978259e-04 + N14 = 1.34232044219970703e-02 + C12 = 2.68139090621843934e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 26 + dm = 0.00000000000000000e+00 + mass = 3.49133163690567017e-02 + radius = 1.81508377194404602e-01 + density = 8.13732910156250000e+00 + pressure = 3.61631393010155520e+16 + e_thermal = 8.93841320601190400e+15 + entropy = 9.79243968000000000e+08 + temperature = 4.67906560000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384706497192383e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21312187984585762e-02 + He4 = 9.68443691730499268e-01 + O16 = 3.30586073687300086e-04 + N14 = 1.34232351556420326e-02 + C12 = 2.68112285993993282e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 27 + dm = 0.00000000000000000e+00 + mass = 3.83723191916942596e-02 + radius = 1.87381252646446228e-01 + density = 8.12226486206054688e+00 + pressure = 3.60651539171246080e+16 + e_thermal = 8.93018458554368000e+15 + entropy = 9.79244160000000000e+08 + temperature = 4.67561000000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384706497192383e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21313259005546570e-02 + He4 = 9.68443572521209717e-01 + O16 = 3.30586190102621913e-04 + N14 = 1.34232677519321442e-02 + C12 = 2.68084404524415731e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 28 + dm = 0.00000000000000000e+00 + mass = 4.20686267316341400e-02 + radius = 1.93285748362541199e-01 + density = 8.10666942596435547e+00 + pressure = 3.59638012788736000e+16 + e_thermal = 8.92165692797747200e+15 + entropy = 9.79244416000000000e+08 + temperature = 4.67202800000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384706497192383e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21314385905861855e-02 + He4 = 9.68443453311920166e-01 + O16 = 3.30586335621774197e-04 + N14 = 1.34233012795448303e-02 + C12 = 2.68055417109280825e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 29 + dm = 0.00000000000000000e+00 + mass = 4.60147447884082794e-02 + radius = 1.99226155877113342e-01 + density = 8.09052562713623047e+00 + pressure = 3.58589804545310720e+16 + e_thermal = 8.91282056963686400e+15 + entropy = 9.79244608000000000e+08 + temperature = 4.66831600000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384694576263428e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21315559372305870e-02 + He4 = 9.68443334102630615e-01 + O16 = 3.30586452037096024e-04 + N14 = 1.34233366698026657e-02 + C12 = 2.68025236437097192e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 30 + dm = 0.00000000000000000e+00 + mass = 5.02238422632217407e-02 + radius = 2.05206483602523804e-01 + density = 8.07381820678710938e+00 + pressure = 3.57505969548165120e+16 + e_thermal = 8.90366530997452800e+15 + entropy = 9.79244864000000000e+08 + temperature = 4.66446920000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384694576263428e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21316779404878616e-02 + He4 = 9.68443214893341064e-01 + O16 = 3.30586597556248307e-04 + N14 = 1.34233729913830757e-02 + C12 = 2.67993862507864833e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 31 + dm = 0.00000000000000000e+00 + mass = 5.47097921371459961e-02 + radius = 2.11230605840682983e-01 + density = 8.05652904510498047e+00 + pressure = 3.56385498479984640e+16 + e_thermal = 8.89418094844313600e+15 + entropy = 9.79245120000000000e+08 + temperature = 4.66048320000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384694576263428e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21318064630031586e-02 + He4 = 9.68443036079406738e-01 + O16 = 3.30586713971570134e-04 + N14 = 1.34234111756086349e-02 + C12 = 2.67961237113922834e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 32 + dm = 0.00000000000000000e+00 + mass = 5.94871826469898224e-02 + radius = 2.17302232980728149e-01 + density = 8.03864192962646484e+00 + pressure = 3.55227403498291200e+16 + e_thermal = 8.88435621075353600e+15 + entropy = 9.79245376000000000e+08 + temperature = 4.65635360000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384694576263428e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21319405734539032e-02 + He4 = 9.68442916870117188e-01 + O16 = 3.30586888594552875e-04 + N14 = 1.34234502911567688e-02 + C12 = 2.67927302047610283e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 33 + dm = 0.00000000000000000e+00 + mass = 6.45713657140731812e-02 + radius = 2.23424956202507019e-01 + density = 8.02013778686523438e+00 + pressure = 3.54030610861260800e+16 + e_thermal = 8.87418143322931200e+15 + entropy = 9.79245696000000000e+08 + temperature = 4.65207560000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384682655334473e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21320812031626701e-02 + He4 = 9.68442797660827637e-01 + O16 = 3.30587034113705158e-04 + N14 = 1.34234912693500519e-02 + C12 = 2.67891969997435808e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 34 + dm = 0.00000000000000000e+00 + mass = 6.99784904718399048e-02 + radius = 2.29602217674255371e-01 + density = 8.00099945068359375e+00 + pressure = 3.52794068301905920e+16 + e_thermal = 8.86364373096857600e+15 + entropy = 9.79245952000000000e+08 + temperature = 4.64764400000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384682655334473e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21322274208068848e-02 + He4 = 9.68442618846893311e-01 + O16 = 3.30587179632857442e-04 + N14 = 1.34235341101884842e-02 + C12 = 2.67855240963399410e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 35 + dm = 0.00000000000000000e+00 + mass = 7.57255032658576965e-02 + radius = 2.35837399959564209e-01 + density = 7.98120546340942383e+00 + pressure = 3.51516680603566080e+16 + e_thermal = 8.85273129281126400e+15 + entropy = 9.79246272000000000e+08 + temperature = 4.64305440000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384682655334473e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21323820203542709e-02 + He4 = 9.68442440032958984e-01 + O16 = 3.30587354255840182e-04 + N14 = 1.34235788136720657e-02 + C12 = 2.67817027634009719e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 36 + dm = 0.00000000000000000e+00 + mass = 8.18302556872367859e-02 + radius = 2.42133781313896179e-01 + density = 7.96073818206787109e+00 + pressure = 3.50197288125071360e+16 + e_thermal = 8.84143230759731200e+15 + entropy = 9.79246592000000000e+08 + temperature = 4.63830040000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384670734405518e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21325431391596794e-02 + He4 = 9.68442320823669434e-01 + O16 = 3.30587528878822923e-04 + N14 = 1.34236244484782219e-02 + C12 = 2.67777271801605821e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 37 + dm = 0.00000000000000000e+00 + mass = 8.83114486932754517e-02 + radius = 2.48494550585746765e-01 + density = 7.93957614898681641e+00 + pressure = 3.48834774174924800e+16 + e_thermal = 8.82973335355392000e+15 + entropy = 9.79246976000000000e+08 + temperature = 4.63337760000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384670734405518e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21327117085456848e-02 + He4 = 9.68442142009735107e-01 + O16 = 3.30587703501805663e-04 + N14 = 1.34236728772521019e-02 + C12 = 2.67735915258526802e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 38 + dm = 0.00000000000000000e+00 + mass = 9.51887518167495728e-02 + radius = 2.54922866821289062e-01 + density = 7.91769933700561523e+00 + pressure = 3.47427979111956480e+16 + e_thermal = 8.81762208265011200e+15 + entropy = 9.79247296000000000e+08 + temperature = 4.62827960000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384670734405518e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21328886598348618e-02 + He4 = 9.68441963195800781e-01 + O16 = 3.30587907228618860e-04 + N14 = 1.34237231686711311e-02 + C12 = 2.67692870693281293e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 39 + dm = 0.00000000000000000e+00 + mass = 1.02482803165912628e-01 + radius = 2.61421799659729004e-01 + density = 7.89508628845214844e+00 + pressure = 3.45975678870487040e+16 + e_thermal = 8.80508399937126400e+15 + entropy = 9.79247680000000000e+08 + temperature = 4.62300040000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384658813476562e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21330739930272102e-02 + He4 = 9.68441724777221680e-01 + O16 = 3.30588110955432057e-04 + N14 = 1.34237753227353096e-02 + C12 = 2.67648109002038836e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 40 + dm = 0.00000000000000000e+00 + mass = 1.10215246677398682e-01 + radius = 2.67994433641433716e-01 + density = 7.87171554565429688e+00 + pressure = 3.44476713809346560e+16 + e_thermal = 8.79210568194457600e+15 + entropy = 9.79248064000000000e+08 + temperature = 4.61753480000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384658813476562e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21332686394453049e-02 + He4 = 9.68441545963287354e-01 + O16 = 3.30588314682245255e-04 + N14 = 1.34238293394446373e-02 + C12 = 2.67601513769477606e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 41 + dm = 0.00000000000000000e+00 + mass = 1.18408799171447754e-01 + radius = 2.74643748998641968e-01 + density = 7.84756374359130859e+00 + pressure = 3.42929795438346240e+16 + e_thermal = 8.77867263485542400e+15 + entropy = 9.79248448000000000e+08 + temperature = 4.61187560000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384646892547607e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21334725990891457e-02 + He4 = 9.68441307544708252e-01 + O16 = 3.30588518409058452e-04 + N14 = 1.34238852187991142e-02 + C12 = 2.67553026787936687e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 42 + dm = 0.00000000000000000e+00 + mass = 1.27087280154228210e-01 + radius = 2.81372785568237305e-01 + density = 7.82260894775390625e+00 + pressure = 3.41333721166643200e+16 + e_thermal = 8.76476875197644800e+15 + entropy = 9.79248896000000000e+08 + temperature = 4.60601680000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384634971618652e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21336868032813072e-02 + He4 = 9.68441128730773926e-01 + O16 = 3.30588751239702106e-04 + N14 = 1.34239438921213150e-02 + C12 = 2.67502560745924711e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 43 + dm = 0.00000000000000000e+00 + mass = 1.36275634169578552e-01 + radius = 2.88184463977813721e-01 + density = 7.79682731628417969e+00 + pressure = 3.39687202504048640e+16 + e_thermal = 8.75038007466393600e+15 + entropy = 9.79249344000000000e+08 + temperature = 4.59995160000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384634971618652e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21339121833443642e-02 + He4 = 9.68440890312194824e-01 + O16 = 3.30588984070345759e-04 + N14 = 1.34240053594112396e-02 + C12 = 2.67450028331950307e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 44 + dm = 0.00000000000000000e+00 + mass = 1.46000042557716370e-01 + radius = 2.95081794261932373e-01 + density = 7.77019548416137695e+00 + pressure = 3.37988972435210240e+16 + e_thermal = 8.73548942304870400e+15 + entropy = 9.79249792000000000e+08 + temperature = 4.59367320000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384623050689697e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21341478079557419e-02 + He4 = 9.68440651893615723e-01 + O16 = 3.30589246004819870e-04 + N14 = 1.34240686893463135e-02 + C12 = 2.67395371338352561e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 45 + dm = 0.00000000000000000e+00 + mass = 1.56287908554077148e-01 + radius = 3.02067667245864868e-01 + density = 7.74268817901611328e+00 + pressure = 3.36237742469939200e+16 + e_thermal = 8.72008122787430400e+15 + entropy = 9.79250304000000000e+08 + temperature = 4.58717400000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384611129760742e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21343964710831642e-02 + He4 = 9.68440353870391846e-01 + O16 = 3.30589507939293981e-04 + N14 = 1.34241348132491112e-02 + C12 = 2.67338444245979190e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 46 + dm = 0.00000000000000000e+00 + mass = 1.67167901992797852e-01 + radius = 3.09145063161849976e-01 + density = 7.71428108215332031e+00 + pressure = 3.34432181168373760e+16 + e_thermal = 8.70413777240064000e+15 + entropy = 9.79250816000000000e+08 + temperature = 4.58044720000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384599208831787e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21346591040492058e-02 + He4 = 9.68440115451812744e-01 + O16 = 3.30589769873768091e-04 + N14 = 1.34242046624422073e-02 + C12 = 2.67278897808864713e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 47 + dm = 0.00000000000000000e+00 + mass = 1.78670093417167664e-01 + radius = 3.16316932439804077e-01 + density = 7.68494892120361328e+00 + pressure = 3.32571000040325120e+16 + e_thermal = 8.68764241362944000e+15 + entropy = 9.79251392000000000e+08 + temperature = 4.57348480000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384587287902832e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21349394321441650e-02 + He4 = 9.68439817428588867e-01 + O16 = 3.30590060912072659e-04 + N14 = 1.34242773056030273e-02 + C12 = 2.67216091742739081e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 48 + dm = 0.00000000000000000e+00 + mass = 1.90825879573822021e-01 + radius = 3.23586255311965942e-01 + density = 7.65466499328613281e+00 + pressure = 3.30652846171095040e+16 + e_thermal = 8.67057689794969600e+15 + entropy = 9.79251968000000000e+08 + temperature = 4.56627880000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384575366973877e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21352383866906166e-02 + He4 = 9.68439519405364990e-01 + O16 = 3.30590381054207683e-04 + N14 = 1.34243546053767204e-02 + C12 = 2.67149676801636815e-04 + Ne20 = 1.84901908505707979e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 49 + dm = 0.00000000000000000e+00 + mass = 2.03668162226676941e-01 + radius = 3.30955952405929565e-01 + density = 7.62340402603149414e+00 + pressure = 3.28676431070494720e+16 + e_thermal = 8.65292243487948800e+15 + entropy = 9.79252608000000000e+08 + temperature = 4.55882200000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384551525115967e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21355578303337097e-02 + He4 = 9.68439161777496338e-01 + O16 = 3.30590701196342707e-04 + N14 = 1.34244365617632866e-02 + C12 = 2.67079420154914260e-04 + Ne20 = 1.84901896864175797e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 50 + dm = 0.00000000000000000e+00 + mass = 2.17231318354606628e-01 + radius = 3.38429063558578491e-01 + density = 7.59113836288452148e+00 + pressure = 3.26640380348989440e+16 + e_thermal = 8.63466077080780800e+15 + entropy = 9.79253248000000000e+08 + temperature = 4.55110520000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384527683258057e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21359005570411682e-02 + He4 = 9.68438804149627686e-01 + O16 = 3.30591050442308187e-04 + N14 = 1.34245222434401512e-02 + C12 = 2.67005147179588675e-04 + Ne20 = 1.84901896864175797e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 51 + dm = 0.00000000000000000e+00 + mass = 2.31551259756088257e-01 + radius = 3.46008598804473877e-01 + density = 7.55784130096435547e+00 + pressure = 3.24543384041553920e+16 + e_thermal = 8.61577150464000000e+15 + entropy = 9.79253952000000000e+08 + temperature = 4.54312000000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384503841400146e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21362674981355667e-02 + He4 = 9.68438446521759033e-01 + O16 = 3.30591428792104125e-04 + N14 = 1.34246135130524635e-02 + C12 = 2.66926566837355494e-04 + Ne20 = 1.84901896864175797e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 52 + dm = 0.00000000000000000e+00 + mass = 2.46665522456169128e-01 + radius = 3.53697538375854492e-01 + density = 7.52348470687866211e+00 + pressure = 3.22384110708326400e+16 + e_thermal = 8.59623477215232000e+15 + entropy = 9.79254784000000000e+08 + temperature = 4.53485800000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384479999542236e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21366605162620544e-02 + He4 = 9.68438029289245605e-01 + O16 = 3.30591836245730519e-04 + N14 = 1.34247103706002235e-02 + C12 = 2.66843475401401520e-04 + Ne20 = 1.84901896864175797e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 53 + dm = 0.00000000000000000e+00 + mass = 2.62613296508789062e-01 + radius = 3.61498981714248657e-01 + density = 7.48804140090942383e+00 + pressure = 3.20161228909445120e+16 + e_thermal = 8.57603017225011200e+15 + entropy = 9.79255552000000000e+08 + temperature = 4.52630920000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384456157684326e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21370814740657806e-02 + He4 = 9.68437612056732178e-01 + O16 = 3.30592243699356914e-04 + N14 = 1.34248128160834312e-02 + C12 = 2.66755610937252641e-04 + Ne20 = 1.84901896864175797e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 54 + dm = 0.00000000000000000e+00 + mass = 2.79435545206069946e-01 + radius = 3.69416028261184692e-01 + density = 7.45148229598999023e+00 + pressure = 3.17873407205048320e+16 + e_thermal = 8.55513623009689600e+15 + entropy = 9.79256448000000000e+08 + temperature = 4.51746520000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384420394897461e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21375331655144691e-02 + He4 = 9.68437135219573975e-01 + O16 = 3.30592709360644221e-04 + N14 = 1.34249208495020866e-02 + C12 = 2.66662682406604290e-04 + Ne20 = 1.84901896864175797e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 55 + dm = 0.00000000000000000e+00 + mass = 2.97174870967864990e-01 + radius = 3.77451807260513306e-01 + density = 7.41377925872802734e+00 + pressure = 3.15519378579783680e+16 + e_thermal = 8.53353147085619200e+15 + entropy = 9.79257408000000000e+08 + temperature = 4.50831560000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384384632110596e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21380174532532692e-02 + He4 = 9.68436598777770996e-01 + O16 = 3.30593175021931529e-04 + N14 = 1.34250344708561897e-02 + C12 = 2.66564398771151900e-04 + Ne20 = 1.84901896864175797e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 56 + dm = 0.00000000000000000e+00 + mass = 3.15875858068466187e-01 + radius = 3.85609477758407593e-01 + density = 7.37490272521972656e+00 + pressure = 3.13097811593789440e+16 + e_thermal = 8.51119280907878400e+15 + entropy = 9.79258432000000000e+08 + temperature = 4.49885080000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384336948394775e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21385371312499046e-02 + He4 = 9.68436062335968018e-01 + O16 = 3.30593698890879750e-04 + N14 = 1.34251555427908897e-02 + C12 = 2.66460468992590904e-04 + Ne20 = 1.84901896864175797e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 57 + dm = 0.00000000000000000e+00 + mass = 3.35584878921508789e-01 + radius = 3.93892258405685425e-01 + density = 7.33482408523559570e+00 + pressure = 3.10607460706549760e+16 + e_thermal = 8.48809769618636800e+15 + entropy = 9.79259520000000000e+08 + temperature = 4.48906040000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384289264678955e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21390968561172485e-02 + He4 = 9.68435525894165039e-01 + O16 = 3.30594251863658428e-04 + N14 = 1.34252831339836121e-02 + C12 = 2.66350572928786278e-04 + Ne20 = 1.84901896864175797e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 58 + dm = 0.00000000000000000e+00 + mass = 3.56350272893905640e-01 + radius = 4.02303397655487061e-01 + density = 7.29351377487182617e+00 + pressure = 3.08047101852385280e+16 + e_thermal = 8.46422197298790400e+15 + entropy = 9.79260672000000000e+08 + temperature = 4.47893400000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384229660034180e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21396975591778755e-02 + He4 = 9.68434870243072510e-01 + O16 = 3.30594833940267563e-04 + N14 = 1.34254181757569313e-02 + C12 = 2.66234332229942083e-04 + Ne20 = 1.84901896864175797e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 59 + dm = 0.00000000000000000e+00 + mass = 3.78222316503524780e-01 + radius = 4.10846233367919922e-01 + density = 7.25094175338745117e+00 + pressure = 3.05415468015943680e+16 + e_thermal = 8.43954255403417600e+15 + entropy = 9.79261952000000000e+08 + temperature = 4.46846080000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384170055389404e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21403448283672333e-02 + He4 = 9.68434214591979980e-01 + O16 = 3.30595474224537611e-04 + N14 = 1.34255606681108475e-02 + C12 = 2.66111397650092840e-04 + Ne20 = 1.84901896864175797e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 60 + dm = 0.00000000000000000e+00 + mass = 4.01253402233123779e-01 + radius = 4.19524073600769043e-01 + density = 7.20707893371582031e+00 + pressure = 3.02711442505728000e+16 + e_thermal = 8.41403366952140800e+15 + entropy = 9.79263296000000000e+08 + temperature = 4.45762960000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384110450744629e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21410405263304710e-02 + He4 = 9.68433499336242676e-01 + O16 = 3.30596143612638116e-04 + N14 = 1.34257124736905098e-02 + C12 = 2.65981390839442611e-04 + Ne20 = 1.84901896864175797e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 61 + dm = 0.00000000000000000e+00 + mass = 4.25497978925704956e-01 + radius = 4.28340345621109009e-01 + density = 7.16189527511596680e+00 + pressure = 2.99933844205731840e+16 + e_thermal = 8.38767008651673600e+15 + entropy = 9.79264768000000000e+08 + temperature = 4.44642880000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31384027004241943e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21417911723256111e-02 + He4 = 9.68432724475860596e-01 + O16 = 3.30596842104569077e-04 + N14 = 1.34258717298507690e-02 + C12 = 2.65843904344365001e-04 + Ne20 = 1.84901896864175797e-03 + Mg24 = 6.79084507282823324e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 62 + dm = 0.00000000000000000e+00 + mass = 4.51012581586837769e-01 + radius = 4.37298566102981567e-01 + density = 7.11536121368408203e+00 + pressure = 2.97081599374131200e+16 + e_thermal = 8.36042603521638400e+15 + entropy = 9.79266368000000000e+08 + temperature = 4.43484720000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31383943557739258e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21426004916429520e-02 + He4 = 9.68431890010833740e-01 + O16 = 3.30597627907991409e-04 + N14 = 1.34260412305593491e-02 + C12 = 2.65698472503572702e-04 + Ne20 = 1.84901896864175797e-03 + Mg24 = 6.79084449075162411e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 63 + dm = 0.00000000000000000e+00 + mass = 4.77856040000915527e-01 + radius = 4.46402192115783691e-01 + density = 7.06744623184204102e+00 + pressure = 2.94153655743938560e+16 + e_thermal = 8.33227520894566400e+15 + entropy = 9.79268096000000000e+08 + temperature = 4.42287200000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31383848190307617e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21434740722179413e-02 + He4 = 9.68430995941162109e-01 + O16 = 3.30598442815244198e-04 + N14 = 1.34262191131711006e-02 + C12 = 2.65544658759608865e-04 + Ne20 = 1.84901896864175797e-03 + Mg24 = 6.79084449075162411e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 64 + dm = 0.00000000000000000e+00 + mass = 5.06089270114898682e-01 + radius = 4.55654919147491455e-01 + density = 7.01812171936035156e+00 + pressure = 2.91149046947512320e+16 + e_thermal = 8.30318969041715200e+15 + entropy = 9.79269888000000000e+08 + temperature = 4.41049120000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31383740901947021e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21444184333086014e-02 + He4 = 9.68430042266845703e-01 + O16 = 3.30599315930157900e-04 + N14 = 1.34264081716537476e-02 + C12 = 2.65381968347355723e-04 + Ne20 = 1.84901885222643614e-03 + Mg24 = 6.79084449075162411e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 65 + dm = 0.00000000000000000e+00 + mass = 5.35775601863861084e-01 + radius = 4.65060323476791382e-01 + density = 6.96735811233520508e+00 + pressure = 2.88066849566883840e+16 + e_thermal = 8.27314156234342400e+15 + entropy = 9.79271872000000000e+08 + temperature = 4.39769200000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31383633613586426e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21454391628503799e-02 + He4 = 9.68428969383239746e-01 + O16 = 3.30600276356562972e-04 + N14 = 1.34266084060072899e-02 + C12 = 2.65209877397865057e-04 + Ne20 = 1.84901885222643614e-03 + Mg24 = 6.79084449075162411e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 66 + dm = 0.00000000000000000e+00 + mass = 5.66980421543121338e-01 + radius = 4.74622219800949097e-01 + density = 6.91512537002563477e+00 + pressure = 2.84906204608593920e+16 + e_thermal = 8.24210290743705600e+15 + entropy = 9.79274048000000000e+08 + temperature = 4.38446160000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31383502483367920e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21465437114238739e-02 + He4 = 9.68427836894989014e-01 + O16 = 3.30601294990628958e-04 + N14 = 1.34268198162317276e-02 + C12 = 2.65027891146019101e-04 + Ne20 = 1.84901885222643614e-03 + Mg24 = 6.79084449075162411e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 67 + dm = 0.00000000000000000e+00 + mass = 5.99771678447723389e-01 + radius = 4.84344363212585449e-01 + density = 6.86139583587646484e+00 + pressure = 2.81666381928202240e+16 + e_thermal = 8.21004473466880000e+15 + entropy = 9.79276352000000000e+08 + temperature = 4.37078640000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31383359432220459e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21477404609322548e-02 + He4 = 9.68426585197448730e-01 + O16 = 3.30602371832355857e-04 + N14 = 1.34270433336496353e-02 + C12 = 2.64835369307547808e-04 + Ne20 = 1.84901885222643614e-03 + Mg24 = 6.79084449075162411e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 68 + dm = 0.00000000000000000e+00 + mass = 6.34219586849212646e-01 + radius = 4.94230687618255615e-01 + density = 6.80614089965820312e+00 + pressure = 2.78346672856104960e+16 + e_thermal = 8.17693697926758400e+15 + entropy = 9.79278912000000000e+08 + temperature = 4.35665280000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31383192539215088e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21490387246012688e-02 + He4 = 9.68425273895263672e-01 + O16 = 3.30603565089404583e-04 + N14 = 1.34272798895835876e-02 + C12 = 2.64631729805842042e-04 + Ne20 = 1.84901885222643614e-03 + Mg24 = 6.79084449075162411e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 69 + dm = 0.00000000000000000e+00 + mass = 6.70396566390991211e-01 + radius = 5.04285156726837158e-01 + density = 6.74933242797851562e+00 + pressure = 2.74946497571717120e+16 + e_thermal = 8.14274957646233600e+15 + entropy = 9.79281664000000000e+08 + temperature = 4.34204680000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31383013725280762e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21504478156566620e-02 + He4 = 9.68423843383789062e-01 + O16 = 3.30604816554114223e-04 + N14 = 1.34275294840335846e-02 + C12 = 2.64416303252801299e-04 + Ne20 = 1.84901885222643614e-03 + Mg24 = 6.79084449075162411e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 70 + dm = 0.00000000000000000e+00 + mass = 7.08377599716186523e-01 + radius = 5.14511883258819580e-01 + density = 6.69094371795654297e+00 + pressure = 2.71465405103472640e+16 + e_thermal = 8.10745246148198400e+15 + entropy = 9.79284672000000000e+08 + temperature = 4.32695400000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31382811069488525e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21519798412919044e-02 + He4 = 9.68422234058380127e-01 + O16 = 3.30606184434145689e-04 + N14 = 1.34277939796447754e-02 + C12 = 2.64188449364155531e-04 + Ne20 = 1.84901885222643614e-03 + Mg24 = 6.79084449075162411e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 71 + dm = 0.00000000000000000e+00 + mass = 7.48239874839782715e-01 + radius = 5.24914920330047607e-01 + density = 6.63094854354858398e+00 + pressure = 2.67903008904314880e+16 + e_thermal = 8.07101342207180800e+15 + entropy = 9.79287872000000000e+08 + temperature = 4.31135960000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31382584571838379e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21536459773778915e-02 + He4 = 9.68420565128326416e-01 + O16 = 3.30607668729498982e-04 + N14 = 1.34280743077397346e-02 + C12 = 2.63947382336482406e-04 + Ne20 = 1.84901873581111431e-03 + Mg24 = 6.79084449075162411e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 72 + dm = 0.00000000000000000e+00 + mass = 7.90063083171844482e-01 + radius = 5.35498559474945068e-01 + density = 6.56932067871093750e+00 + pressure = 2.64259094225879040e+16 + e_thermal = 8.03340078284800000e+15 + entropy = 9.79291456000000000e+08 + temperature = 4.29524920000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31382346153259277e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21554629877209663e-02 + He4 = 9.68418717384338379e-01 + O16 = 3.30609240336343646e-04 + N14 = 1.34283704683184624e-02 + C12 = 2.63692345470190048e-04 + Ne20 = 1.84901873581111431e-03 + Mg24 = 6.79084390867501497e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 73 + dm = 0.00000000000000000e+00 + mass = 8.33929002285003662e-01 + radius = 5.46267211437225342e-01 + density = 6.50603675842285156e+00 + pressure = 2.60533532219146240e+16 + e_thermal = 7.99458286842675200e+15 + entropy = 9.79295296000000000e+08 + temperature = 4.27860680000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31382060050964355e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21574439108371735e-02 + He4 = 9.68416690826416016e-01 + O16 = 3.30610957462340593e-04 + N14 = 1.34286833927035332e-02 + C12 = 2.63422523858025670e-04 + Ne20 = 1.84901873581111431e-03 + Mg24 = 6.79084390867501497e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 74 + dm = 0.00000000000000000e+00 + mass = 8.79921853542327881e-01 + radius = 5.57225227355957031e-01 + density = 6.44107341766357422e+00 + pressure = 2.56726365833789440e+16 + e_thermal = 7.95452639281152000e+15 + entropy = 9.79299520000000000e+08 + temperature = 4.26141680000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31381762027740479e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21596073731780052e-02 + He4 = 9.68414485454559326e-01 + O16 = 3.30612820107489824e-04 + N14 = 1.34290149435400963e-02 + C12 = 2.63137044385075569e-04 + Ne20 = 1.84901873581111431e-03 + Mg24 = 6.79084390867501497e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 75 + dm = 0.00000000000000000e+00 + mass = 9.28128063678741455e-01 + radius = 5.68377256393432617e-01 + density = 6.37440824508666992e+00 + pressure = 2.52837766868500480e+16 + e_thermal = 7.91319807000576000e+15 + entropy = 9.79304128000000000e+08 + temperature = 4.24366360000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31381416320800781e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21619747951626778e-02 + He4 = 9.68412041664123535e-01 + O16 = 3.30614828271791339e-04 + N14 = 1.34293651208281517e-02 + C12 = 2.62835004832595587e-04 + Ne20 = 1.84901861939579248e-03 + Mg24 = 6.79084390867501497e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 76 + dm = 0.00000000000000000e+00 + mass = 9.78636264801025391e-01 + radius = 5.79727888107299805e-01 + density = 6.30602073669433594e+00 + pressure = 2.48868100395499520e+16 + e_thermal = 7.87056461401292800e+15 + entropy = 9.79309184000000000e+08 + temperature = 4.22533080000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31381022930145264e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21645675972104073e-02 + He4 = 9.68409419059753418e-01 + O16 = 3.30617011059075594e-04 + N14 = 1.34297357872128487e-02 + C12 = 2.62515415670350194e-04 + Ne20 = 1.84901861939579248e-03 + Mg24 = 6.79084390867501497e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 77 + dm = 0.00000000000000000e+00 + mass = 1.03153705596923828e+00 + radius = 5.91281890869140625e-01 + density = 6.23589229583740234e+00 + pressure = 2.44817903285698560e+16 + e_thermal = 7.82659166509465600e+15 + entropy = 9.79314752000000000e+08 + temperature = 4.20640160000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31380593776702881e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21674109250307083e-02 + He4 = 9.68406498432159424e-01 + O16 = 3.30619397573173046e-04 + N14 = 1.34301278740167618e-02 + C12 = 2.62177229160442948e-04 + Ne20 = 1.84901861939579248e-03 + Mg24 = 6.79084332659840584e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 78 + dm = 0.00000000000000000e+00 + mass = 1.08692312240600586e+00 + radius = 6.03044211864471436e-01 + density = 6.16400575637817383e+00 + pressure = 2.40687862733864960e+16 + e_thermal = 7.78124486351257600e+15 + entropy = 9.79320832000000000e+08 + temperature = 4.18685880000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31380116939544678e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21705355122685432e-02 + He4 = 9.68403279781341553e-01 + O16 = 3.30621958710253239e-04 + N14 = 1.34305432438850403e-02 + C12 = 2.61819426668807864e-04 + Ne20 = 1.84901861939579248e-03 + Mg24 = 6.79084332659840584e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 79 + dm = 0.00000000000000000e+00 + mass = 1.14488887786865234e+00 + radius = 6.15019798278808594e-01 + density = 6.09034633636474609e+00 + pressure = 2.36478880683130880e+16 + e_thermal = 7.73448984952832000e+15 + entropy = 9.79327552000000000e+08 + temperature = 4.16668600000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31379580497741699e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21739730238914490e-02 + He4 = 9.68399822711944580e-01 + O16 = 3.30624781781807542e-04 + N14 = 1.34309818968176842e-02 + C12 = 2.61440814938396215e-04 + Ne20 = 1.84901850298047066e-03 + Mg24 = 6.79084332659840584e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 80 + dm = 0.00000000000000000e+00 + mass = 1.20553064346313477e+00 + radius = 6.27213895320892334e-01 + density = 6.01490020751953125e+00 + pressure = 2.32192052350156800e+16 + e_thermal = 7.68629118966169600e+15 + entropy = 9.79334976000000000e+08 + temperature = 4.14586560000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31378984451293945e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21777607128024101e-02 + He4 = 9.68395948410034180e-01 + O16 = 3.30627837684005499e-04 + N14 = 1.34314466267824173e-02 + C12 = 2.61040171608328819e-04 + Ne20 = 1.84901850298047066e-03 + Mg24 = 6.79084332659840584e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 81 + dm = 0.00000000000000000e+00 + mass = 1.26894605159759521e+00 + radius = 6.39631748199462891e-01 + density = 5.93765735626220703e+00 + pressure = 2.27828730649640960e+16 + e_thermal = 7.63661452417433600e+15 + entropy = 9.79343104000000000e+08 + temperature = 4.12437920000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31378304958343506e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21819423511624336e-02 + He4 = 9.68391716480255127e-01 + O16 = 3.30631184624508023e-04 + N14 = 1.34319374337792397e-02 + C12 = 2.60616390733048320e-04 + Ne20 = 1.84901838656514883e-03 + Mg24 = 6.79084274452179670e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 82 + dm = 0.00000000000000000e+00 + mass = 1.33523452281951904e+00 + radius = 6.52278780937194824e-01 + density = 5.85860919952392578e+00 + pressure = 2.23390461769809920e+16 + e_thermal = 7.58542388271513600e+15 + entropy = 9.79352192000000000e+08 + temperature = 4.10220880000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31377542018890381e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21865672990679741e-02 + He4 = 9.68387007713317871e-01 + O16 = 3.30634851707145572e-04 + N14 = 1.34324571117758751e-02 + C12 = 2.60168249951675534e-04 + Ne20 = 1.84901838656514883e-03 + Mg24 = 6.79084274452179670e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 83 + dm = 0.00000000000000000e+00 + mass = 1.40449595451354980e+00 + radius = 6.65160536766052246e-01 + density = 5.77775001525878906e+00 + pressure = 2.18879006647255040e+16 + e_thermal = 7.53268436867481600e+15 + entropy = 9.79362240000000000e+08 + temperature = 4.07933680000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31376695632934570e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21916914358735085e-02 + He4 = 9.68381822109222412e-01 + O16 = 3.30638868035748601e-04 + N14 = 1.34330056607723236e-02 + C12 = 2.59694439591839910e-04 + Ne20 = 1.84901827014982700e-03 + Mg24 = 6.79084216244518757e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 84 + dm = 0.00000000000000000e+00 + mass = 1.47683179378509521e+00 + radius = 6.78282678127288818e-01 + density = 5.69507789611816406e+00 + pressure = 2.14296426866278400e+16 + e_thermal = 7.47836108544409600e+15 + entropy = 9.79373376000000000e+08 + temperature = 4.05574480000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31375730037689209e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.21973799541592598e-02 + He4 = 9.68376040458679199e-01 + O16 = 3.30643262714147568e-04 + N14 = 1.34335858747363091e-02 + C12 = 2.59193708188831806e-04 + Ne20 = 1.84901815373450518e-03 + Mg24 = 6.79084216244518757e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 85 + dm = 0.00000000000000000e+00 + mass = 1.55234384536743164e+00 + radius = 6.91651225090026855e-01 + density = 5.61059331893920898e+00 + pressure = 2.09644998759546880e+16 + e_thermal = 7.42241859954278400e+15 + entropy = 9.79385792000000000e+08 + temperature = 4.03141320000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31374645233154297e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.22037073597311974e-02 + He4 = 9.68369603157043457e-01 + O16 = 3.30648123053833842e-04 + N14 = 1.34341986849904060e-02 + C12 = 2.58664687862619758e-04 + Ne20 = 1.84901815373450518e-03 + Mg24 = 6.79084158036857843e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 86 + dm = 0.00000000000000000e+00 + mass = 1.63113391399383545e+00 + radius = 7.05272078514099121e-01 + density = 5.52429962158203125e+00 + pressure = 2.04927320782274560e+16 + e_thermal = 7.36482255123251200e+15 + entropy = 9.79399616000000000e+08 + temperature = 4.00632360000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31373429298400879e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.22107611969113350e-02 + He4 = 9.68362450599670410e-01 + O16 = 3.30653478158637881e-04 + N14 = 1.34348450228571892e-02 + C12 = 2.58105981629341841e-04 + Ne20 = 1.84901803731918335e-03 + Mg24 = 6.79084158036857843e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 87 + dm = 0.00000000000000000e+00 + mass = 1.71330428123474121e+00 + radius = 7.19151556491851807e-01 + density = 5.43620491027832031e+00 + pressure = 2.00146184663203840e+16 + e_thermal = 7.30553750703308800e+15 + entropy = 9.79415104000000000e+08 + temperature = 3.98045720000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31372046470642090e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.22186401858925819e-02 + He4 = 9.68354463577270508e-01 + O16 = 3.30659386236220598e-04 + N14 = 1.34355276823043823e-02 + C12 = 2.57516134297475219e-04 + Ne20 = 1.84901792090386152e-03 + Mg24 = 6.79084099829196930e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 88 + dm = 0.00000000000000000e+00 + mass = 1.79895627498626709e+00 + radius = 7.33295917510986328e-01 + density = 5.34632015228271484e+00 + pressure = 1.95304725728460800e+16 + e_thermal = 7.24453018094796800e+15 + entropy = 9.79432512000000000e+08 + temperature = 3.95379440000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31370472908020020e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.22274635359644890e-02 + He4 = 9.68345582485198975e-01 + O16 = 3.30665963701903820e-04 + N14 = 1.34362466633319855e-02 + C12 = 2.56893690675497055e-04 + Ne20 = 1.84901780448853970e-03 + Mg24 = 6.79084041621536016e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 89 + dm = 0.00000000000000000e+00 + mass = 1.88819086551666260e+00 + radius = 7.47711777687072754e-01 + density = 5.25466060638427734e+00 + pressure = 1.90406379951882240e+16 + e_thermal = 7.18176621323878400e+15 + entropy = 9.79451968000000000e+08 + temperature = 3.92631640000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31368684768676758e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.22373662889003754e-02 + He4 = 9.68335568904876709e-01 + O16 = 3.30673239659518003e-04 + N14 = 1.34370056912302971e-02 + C12 = 2.56236846325919032e-04 + Ne20 = 1.84901768807321787e-03 + Mg24 = 6.79084041621536016e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 90 + dm = 0.00000000000000000e+00 + mass = 1.98110723495483398e+00 + radius = 7.62405931949615479e-01 + density = 5.16124582290649414e+00 + pressure = 1.85454841005342720e+16 + e_thermal = 7.11721392852172800e+15 + entropy = 9.79473984000000000e+08 + temperature = 3.89800320000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31366658210754395e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.22485114261507988e-02 + He4 = 9.68324303627014160e-01 + O16 = 3.30681359628215432e-04 + N14 = 1.34378066286444664e-02 + C12 = 2.55543709499761462e-04 + Ne20 = 1.84901757165789604e-03 + Mg24 = 6.79083983413875103e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 91 + dm = 0.00000000000000000e+00 + mass = 2.07780313491821289e+00 + radius = 7.77385294437408447e-01 + density = 5.06610059738159180e+00 + pressure = 1.80454124683264000e+16 + e_thermal = 7.05084057767116800e+15 + entropy = 9.79498752000000000e+08 + temperature = 3.86883600000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31364345550537109e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.22610870748758316e-02 + He4 = 9.68311607837677002e-01 + O16 = 3.30690440023317933e-04 + N14 = 1.34386513382196426e-02 + C12 = 2.54812155617401004e-04 + Ne20 = 1.84901733882725239e-03 + Mg24 = 6.79083925206214190e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 92 + dm = 0.00000000000000000e+00 + mass = 2.17837309837341309e+00 + radius = 7.92656958103179932e-01 + density = 4.96925258636474609e+00 + pressure = 1.75408590377451520e+16 + e_thermal = 6.98261555904512000e+15 + entropy = 9.79526912000000000e+08 + temperature = 3.83879520000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31361699104309082e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.22753176838159561e-02 + He4 = 9.68297243118286133e-01 + O16 = 3.30700597260147333e-04 + N14 = 1.34395416826009750e-02 + C12 = 2.54040030995383859e-04 + Ne20 = 1.84901722241193056e-03 + Mg24 = 6.79083808790892363e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 93 + dm = 0.00000000000000000e+00 + mass = 2.28290963172912598e+00 + radius = 8.08228433132171631e-01 + density = 4.87073612213134766e+00 + pressure = 1.70322833702912000e+16 + e_thermal = 6.91250880787251200e+15 + entropy = 9.79558848000000000e+08 + temperature = 3.80786120000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31358659267425537e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.22914714738726616e-02 + He4 = 9.68280971050262451e-01 + O16 = 3.30712005961686373e-04 + N14 = 1.34404813870787621e-02 + C12 = 2.53224861808121204e-04 + Ne20 = 1.84901698958128691e-03 + Mg24 = 6.79083750583231449e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 94 + dm = 0.00000000000000000e+00 + mass = 2.39150094985961914e+00 + radius = 8.24107170104980469e-01 + density = 4.77058935165405273e+00 + pressure = 1.65201815346872320e+16 + e_thermal = 6.84049294373683200e+15 + entropy = 9.79595264000000000e+08 + temperature = 3.77601520000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31355166435241699e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.23098660260438919e-02 + He4 = 9.68262434005737305e-01 + O16 = 3.30724898958578706e-04 + N14 = 1.34414732456207275e-02 + C12 = 2.52363941399380565e-04 + Ne20 = 1.84901675675064325e-03 + Mg24 = 6.79083692375570536e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 95 + dm = 0.00000000000000000e+00 + mass = 2.50423097610473633e+00 + radius = 8.40301156044006348e-01 + density = 4.66885662078857422e+00 + pressure = 1.60050807381688320e+16 + e_thermal = 6.76654058622156800e+15 + entropy = 9.79636928000000000e+08 + temperature = 3.74323720000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31351149082183838e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.23308850452303886e-02 + He4 = 9.68241214752197266e-01 + O16 = 3.30739450873807073e-04 + N14 = 1.34425191208720207e-02 + C12 = 2.51454446697607636e-04 + Ne20 = 1.84901640750467777e-03 + Mg24 = 6.79083575960248709e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 96 + dm = 0.00000000000000000e+00 + mass = 2.62117838859558105e+00 + radius = 8.56818377971649170e-01 + density = 4.56558704376220703e+00 + pressure = 1.54875350315171840e+16 + e_thermal = 6.69062703926476800e+15 + entropy = 9.79684800000000000e+08 + temperature = 3.70950880000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31346487998962402e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.23549941927194595e-02 + He4 = 9.68216955661773682e-01 + O16 = 3.30756010953336954e-04 + N14 = 1.34436246007680893e-02 + C12 = 2.50493088969960809e-04 + Ne20 = 1.84901617467403412e-03 + Mg24 = 6.79083459544926882e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 97 + dm = 0.00000000000000000e+00 + mass = 2.74241614341735840e+00 + radius = 8.73667240142822266e-01 + density = 4.46083545684814453e+00 + pressure = 1.49681328252518400e+16 + e_thermal = 6.61273029115904000e+15 + entropy = 9.79739968000000000e+08 + temperature = 3.67481120000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31341087818145752e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.23827597126364708e-02 + He4 = 9.68189060688018799e-01 + O16 = 3.30774928443133831e-04 + N14 = 1.34447915479540825e-02 + C12 = 2.49476201133802533e-04 + Ne20 = 1.84901582542806864e-03 + Mg24 = 6.79083343129605055e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 98 + dm = 0.00000000000000000e+00 + mass = 2.86801004409790039e+00 + radius = 8.90856385231018066e-01 + density = 4.35466241836547852e+00 + pressure = 1.44474882996961280e+16 + e_thermal = 6.53283101455155200e+15 + entropy = 9.79803840000000000e+08 + temperature = 3.63912560000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31334781646728516e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.24148754402995110e-02 + He4 = 9.68156754970550537e-01 + O16 = 3.30796581692993641e-04 + N14 = 1.34460255503654480e-02 + C12 = 2.48399504926055670e-04 + Ne20 = 1.84901535976678133e-03 + Mg24 = 6.79083168506622314e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 99 + dm = 0.00000000000000000e+00 + mass = 2.99801826477050781e+00 + radius = 9.08394753932952881e-01 + density = 4.24713373184204102e+00 + pressure = 1.39262478474280960e+16 + e_thermal = 6.45091256644403200e+15 + entropy = 9.79878144000000000e+08 + temperature = 3.60243400000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31327390670776367e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.24522047117352486e-02 + He4 = 9.68119204044342041e-01 + O16 = 3.30821523675695062e-04 + N14 = 1.34473321959376335e-02 + C12 = 2.47257936280220747e-04 + Ne20 = 1.84901489410549402e-03 + Mg24 = 6.79082993883639574e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 100 + dm = 0.00000000000000000e+00 + mass = 3.13249039649963379e+00 + radius = 9.26291525363922119e-01 + density = 4.13832187652587891e+00 + pressure = 1.34050825570877440e+16 + e_thermal = 6.36696152506368000e+15 + entropy = 9.79965120000000000e+08 + temperature = 3.56471840000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31318700313568115e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.24958269298076630e-02 + He4 = 9.68075394630432129e-01 + O16 = 3.30850452883169055e-04 + N14 = 1.34487180039286613e-02 + C12 = 2.46045412495732307e-04 + Ne20 = 1.84901431202888489e-03 + Mg24 = 6.79082761052995920e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 101 + dm = 0.00000000000000000e+00 + mass = 3.27146625518798828e+00 + radius = 9.44556355476379395e-01 + density = 4.02830314636230469e+00 + pressure = 1.28846882133770240e+16 + e_thermal = 6.28097037421772800e+15 + entropy = 9.80067456000000000e+08 + temperature = 3.52596160000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31308412551879883e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.25471111387014389e-02 + He4 = 9.68023896217346191e-01 + O16 = 3.30884184222668409e-04 + N14 = 1.34501894935965538e-02 + C12 = 2.44754453888162971e-04 + Ne20 = 1.84901361353695393e-03 + Mg24 = 6.79082528222352266e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 102 + dm = 0.00000000000000000e+00 + mass = 3.41497468948364258e+00 + radius = 9.63199257850646973e-01 + density = 3.91716051101684570e+00 + pressure = 1.23657874445434880e+16 + e_thermal = 6.19293535580979200e+15 + entropy = 9.80188672000000000e+08 + temperature = 3.48614640000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31296157836914062e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.26078175380825996e-02 + He4 = 9.67962980270385742e-01 + O16 = 3.30923765432089567e-04 + N14 = 1.34517578408122063e-02 + C12 = 2.43375747231766582e-04 + Ne20 = 1.84901279862970114e-03 + Mg24 = 6.79082237184047699e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 103 + dm = 0.00000000000000000e+00 + mass = 3.56303334236145020e+00 + radius = 9.82230544090270996e-01 + density = 3.80498051643371582e+00 + pressure = 1.18491211324456960e+16 + e_thermal = 6.10286076480716800e+15 + entropy = 9.80333504000000000e+08 + temperature = 3.44525640000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31281435489654541e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.26802399754524231e-02 + He4 = 9.67890322208404541e-01 + O16 = 3.30970651702955365e-04 + N14 = 1.34534342214465141e-02 + C12 = 2.41897403611801565e-04 + Ne20 = 1.84901186730712652e-03 + Mg24 = 6.79081887938082218e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 104 + dm = 0.00000000000000000e+00 + mass = 3.71564602851867676e+00 + radius = 1.00166106224060059e+00 + density = 3.69185423851013184e+00 + pressure = 1.13354516337786880e+16 + e_thermal = 6.01075787549900800e+15 + entropy = 9.80507968000000000e+08 + temperature = 3.40327600000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31263625621795654e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.27674285322427750e-02 + He4 = 9.67802882194519043e-01 + O16 = 3.31026618368923664e-04 + N14 = 1.34552363306283951e-02 + C12 = 2.40303648752160370e-04 + Ne20 = 1.84901070315390825e-03 + Mg24 = 6.79081480484455824e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 105 + dm = 0.00000000000000000e+00 + mass = 3.87280368804931641e+00 + radius = 1.02150213718414307e+00 + density = 3.57787537574768066e+00 + pressure = 1.08255563376230400e+16 + e_thermal = 5.91665084707635200e+15 + entropy = 9.80720512000000000e+08 + temperature = 3.36019040000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31241834163665771e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.28735220059752464e-02 + He4 = 9.67696487903594971e-01 + O16 = 3.31094197463244200e-04 + N14 = 1.34571865200996399e-02 + C12 = 2.38573193200863898e-04 + Ne20 = 1.84900930617004633e-03 + Mg24 = 6.79080956615507603e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 106 + dm = 0.00000000000000000e+00 + mass = 4.03448104858398438e+00 + radius = 1.04176592826843262e+00 + density = 3.46313834190368652e+00 + pressure = 1.03202265917030400e+16 + e_thermal = 5.82057887111577600e+15 + entropy = 9.80982656000000000e+08 + temperature = 3.31598500000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31214833259582520e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.30042890086770058e-02 + He4 = 9.67565417289733887e-01 + O16 = 3.31176852341741323e-04 + N14 = 1.34593136608600616e-02 + C12 = 2.36676976783201098e-04 + Ne20 = 1.84900767635554075e-03 + Mg24 = 6.79080316331237555e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 107 + dm = 0.00000000000000000e+00 + mass = 4.20063734054565430e+00 + radius = 1.06246483325958252e+00 + density = 3.34773421287536621e+00 + pressure = 9.82026233367756800e+15 + e_thermal = 5.72260261403033600e+15 + entropy = 9.81311104000000000e+08 + temperature = 3.27064600000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31180882453918457e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.31680229678750038e-02 + He4 = 9.67401325702667236e-01 + O16 = 3.31279472447931767e-04 + N14 = 1.34616615250706673e-02 + C12 = 2.34574210480786860e-04 + Ne20 = 1.84900546446442604e-03 + Mg24 = 6.79079559631645679e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 108 + dm = 0.00000000000000000e+00 + mass = 4.37121391296386719e+00 + radius = 1.08361256122589111e+00 + density = 3.23174548149108887e+00 + pressure = 9.32647101739827200e+15 + e_thermal = 5.62281978632601600e+15 + entropy = 9.81730816000000000e+08 + temperature = 3.22416120000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31137335300445557e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.33771365508437157e-02 + He4 = 9.67191815376281738e-01 + O16 = 3.31409450154751539e-04 + N14 = 1.34642906486988068e-02 + C12 = 2.32205420616082847e-04 + Ne20 = 1.84900267049670219e-03 + Mg24 = 6.79078511893749237e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 109 + dm = 0.00000000000000000e+00 + mass = 4.54613447189331055e+00 + radius = 1.10522377490997314e+00 + density = 3.11523509025573730e+00 + pressure = 8.83966063358771200e+15 + e_thermal = 5.52138500682547200e+15 + entropy = 9.82281088000000000e+08 + temperature = 3.17651880000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31080067157745361e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.36511754244565964e-02 + He4 = 9.66917335987091064e-01 + O16 = 3.31578165059909225e-04 + N14 = 1.34672960266470909e-02 + C12 = 2.29480050620622933e-04 + Ne20 = 1.84899917803704739e-03 + Mg24 = 6.79077231325209141e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 110 + dm = 0.00000000000000000e+00 + mass = 4.72530269622802734e+00 + radius = 1.12731468677520752e+00 + density = 2.99822092056274414e+00 + pressure = 8.36064024671027200e+15 + e_thermal = 5.41856080540467200e+15 + entropy = 9.83027968000000000e+08 + temperature = 3.12770800000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.31002116203308105e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.40230804681777954e-02 + He4 = 9.66544926166534424e-01 + O16 = 3.31804738380014896e-04 + N14 = 1.34708276018500328e-02 + C12 = 2.26251970161683857e-04 + Ne20 = 1.84899428859353065e-03 + Mg24 = 6.79075426887720823e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 111 + dm = 0.00000000000000000e+00 + mass = 4.90860271453857422e+00 + radius = 1.14990425109863281e+00 + density = 2.88062262535095215e+00 + pressure = 7.89021355252121600e+15 + e_thermal = 5.31482929214259200e+15 + entropy = 9.84093632000000000e+08 + temperature = 3.07771960000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.30890607833862305e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.45538654178380966e-02 + He4 = 9.66013491153717041e-01 + O16 = 3.32124065607786179e-04 + N14 = 1.34751526638865471e-02 + C12 = 2.22260903683491051e-04 + Ne20 = 1.84898730367422104e-03 + Mg24 = 6.79072865750640631e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 112 + dm = 0.00000000000000000e+00 + mass = 5.09589624404907227e+00 + radius = 1.17301535606384277e+00 + density = 2.76210641860961914e+00 + pressure = 7.42917834119577600e+15 + e_thermal = 5.21121052177203200e+15 + entropy = 9.85737536000000000e+08 + temperature = 3.02654600000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.30718266963958740e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.53732914477586746e-02 + He4 = 9.65193271636962891e-01 + O16 = 3.32609342876821756e-04 + N14 = 1.34808011353015900e-02 + C12 = 2.16985921724699438e-04 + Ne20 = 1.84897659346461296e-03 + Mg24 = 6.79068907629698515e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 113 + dm = 0.00000000000000000e+00 + mass = 5.28702354431152344e+00 + radius = 1.19668102264404297e+00 + density = 2.64151763916015625e+00 + pressure = 6.97833132916736000e+15 + e_thermal = 5.11045058900787200e+15 + entropy = 9.88643968000000000e+08 + temperature = 2.97419620000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.30413544178009033e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.68231520801782608e-02 + He4 = 9.63742196559906006e-01 + O16 = 3.33449192112311721e-04 + N14 = 1.34890293702483177e-02 + C12 = 2.09181234822608531e-04 + Ne20 = 1.84895750135183334e-03 + Mg24 = 6.79061922710388899e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 114 + dm = 0.00000000000000000e+00 + mass = 5.48179435729980469e+00 + radius = 1.22097277641296387e+00 + density = 2.51282668113708496e+00 + pressure = 6.53850842444595200e+15 + e_thermal = 5.02631754838835200e+15 + entropy = 9.95524608000000000e+08 + temperature = 2.92132540000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.29711604118347168e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 2.01809667050838470e-02 + He4 = 9.60382223129272461e-01 + O16 = 3.35324206389486790e-04 + N14 = 1.35035933926701546e-02 + C12 = 1.95007276488468051e-04 + Ne20 = 1.84891349636018276e-03 + Mg24 = 6.79045740980654955e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 115 + dm = 0.00000000000000000e+00 + mass = 5.67995595932006836e+00 + radius = 1.24612724781036377e+00 + density = 2.35182714462280273e+00 + pressure = 6.11077800014643200e+15 + e_thermal = 5.01281739243520000e+15 + entropy = 1.01955424000000000e+09 + temperature = 2.86838960000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.27268433570861816e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 3.21394316852092743e-02 + He4 = 9.48419749736785889e-01 + O16 = 3.41436825692653656e-04 + N14 = 1.35312890633940697e-02 + C12 = 1.65667908731848001e-04 + Ne20 = 1.84875656850636005e-03 + Mg24 = 6.78988115396350622e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 116 + dm = 0.00000000000000000e+00 + mass = 5.88120746612548828e+00 + radius = 1.27264618873596191e+00 + density = 2.14714860916137695e+00 + pressure = 5.69663470488780800e+15 + e_thermal = 5.11222870546841600e+15 + entropy = 1.07222080000000000e+09 + temperature = 2.81500040000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.22076070308685303e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 5.91315925121307373e-02 + He4 = 9.21426236629486084e-01 + O16 = 3.53421462932601571e-04 + N14 = 1.35432230308651924e-02 + C12 = 1.44147474202327430e-04 + Ne20 = 1.84840243309736252e-03 + Mg24 = 6.78858079481869936e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 117 + dm = 0.00000000000000000e+00 + mass = 6.08535528182983398e+00 + radius = 1.30107736587524414e+00 + density = 1.93184888362884521e+00 + pressure = 5.29775626027008000e+15 + e_thermal = 5.27706955028889600e+15 + entropy = 1.14298086400000000e+09 + temperature = 2.76076940000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.15586292743682861e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 9.62691307067871094e-02 + He4 = 8.84290635585784912e-01 + O16 = 3.69717192370444536e-04 + N14 = 1.35333826765418053e-02 + C12 = 1.37187642394565046e-04 + Ne20 = 1.84791523497551680e-03 + Mg24 = 6.78679149132221937e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 118 + dm = 0.00000000000000000e+00 + mass = 6.29244375228881836e+00 + radius = 1.33170795440673828e+00 + density = 1.73833811283111572e+00 + pressure = 4.91552725637529600e+15 + e_thermal = 5.43340582299238400e+15 + entropy = 1.21457536000000000e+09 + temperature = 2.70554860000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.09594023227691650e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.34458631277084351e-01 + He4 = 8.46102774143218994e-01 + O16 = 3.92160087358206511e-04 + N14 = 1.35157080367207527e-02 + C12 = 1.32238172227516770e-04 + Ne20 = 1.84741429984569550e-03 + Mg24 = 6.78495154716074467e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 119 + dm = 0.00000000000000000e+00 + mass = 6.50272130966186523e+00 + radius = 1.36447775363922119e+00 + density = 1.58188164234161377e+00 + pressure = 4.55073635657318400e+15 + e_thermal = 5.51926007175577600e+15 + entropy = 1.27143808000000000e+09 + temperature = 2.64956900000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.05226933956146240e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.65028199553489685e-01 + He4 = 8.15533518791198730e-01 + O16 = 4.16646013036370277e-04 + N14 = 1.34970825165510178e-02 + C12 = 1.27223043818958104e-04 + Ne20 = 1.84701324906200171e-03 + Mg24 = 6.78347831126302481e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 120 + dm = 0.00000000000000000e+00 + mass = 6.71644783020019531e+00 + radius = 1.39929485321044922e+00 + density = 1.44081223011016846e+00 + pressure = 4.20378433499955200e+15 + e_thermal = 5.58882350956544000e+15 + entropy = 1.32682854400000000e+09 + temperature = 2.59309820000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 1.01272058486938477e+00 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 1.94983556866645813e-01 + He4 = 7.85577416419982910e-01 + O16 = 4.48778271675109863e-04 + N14 = 1.34719936177134514e-02 + C12 = 1.22062941954936832e-04 + Ne20 = 1.84662023093551397e-03 + Mg24 = 6.78203534334897995e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 121 + dm = 0.00000000000000000e+00 + mass = 6.93381786346435547e+00 + radius = 1.43621397018432617e+00 + density = 1.31347513198852539e+00 + pressure = 3.87489640900198400e+15 + e_thermal = 5.64180515238707200e+15 + entropy = 1.38059788800000000e+09 + temperature = 2.53624300000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 9.76913332939147949e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 2.24193811416625977e-01 + He4 = 7.56365180015563965e-01 + O16 = 4.90166363306343555e-04 + N14 = 1.34388823062181473e-02 + C12 = 1.16896510007791221e-04 + Ne20 = 1.84623710811138153e-03 + Mg24 = 6.78062788210809231e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 122 + dm = 0.00000000000000000e+00 + mass = 7.15504455566406250e+00 + radius = 1.47529947757720947e+00 + density = 1.19785511493682861e+00 + pressure = 3.56409512715878400e+15 + e_thermal = 5.68059944448819200e+15 + entropy = 1.43329612800000000e+09 + temperature = 2.47908860000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 9.44072008132934570e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 2.52929270267486572e-01 + He4 = 7.27626264095306396e-01 + O16 = 5.43233589269220829e-04 + N14 = 1.33954286575317383e-02 + C12 = 1.11871500848792493e-04 + Ne20 = 1.84586015529930592e-03 + Mg24 = 6.77924370393157005e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 123 + dm = 0.00000000000000000e+00 + mass = 7.38035631179809570e+00 + radius = 1.51662945747375488e+00 + density = 1.09266591072082520e+00 + pressure = 3.27123258153369600e+15 + e_thermal = 5.70581627122483200e+15 + entropy = 1.48501120000000000e+09 + temperature = 2.42170560000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 9.13826048374176025e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 2.81217426061630249e-01 + He4 = 6.99332892894744873e-01 + O16 = 6.10482762567698956e-04 + N14 = 1.33391423150897026e-02 + C12 = 1.07242136436980218e-04 + Ne20 = 1.84548913966864347e-03 + Mg24 = 6.77788106258958578e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 124 + dm = 0.00000000000000000e+00 + mass = 7.60999870300292969e+00 + radius = 1.56029379367828369e+00 + density = 9.96698617935180664e-01 + pressure = 2.99601913026969600e+15 + e_thermal = 5.71865231785984000e+15 + entropy = 1.53598003200000000e+09 + temperature = 2.36416280000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 8.85778129100799561e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 3.09172600507736206e-01 + He4 = 6.71370387077331543e-01 + O16 = 6.94954709615558386e-04 + N14 = 1.32669471204280853e-02 + C12 = 1.03353733720723540e-04 + Ne20 = 1.84512243140488863e-03 + Mg24 = 6.77653413731604815e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 125 + dm = 0.00000000000000000e+00 + mass = 7.84423685073852539e+00 + radius = 1.60639679431915283e+00 + density = 9.08957362174987793e-01 + pressure = 2.73804943582822400e+15 + e_thermal = 5.72012012293324800e+15 + entropy = 1.58638668800000000e+09 + temperature = 2.30652780000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 8.59621703624725342e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 3.36882740259170532e-01 + He4 = 6.43650472164154053e-01 + O16 = 8.00390029326081276e-04 + N14 = 1.31750078871846199e-02 + C12 = 1.00677701993845403e-04 + Ne20 = 1.84475898277014494e-03 + Mg24 = 6.77519943565130234e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 126 + dm = 0.00000000000000000e+00 + mass = 8.08335494995117188e+00 + radius = 1.65505588054656982e+00 + density = 8.28685224056243896e-01 + pressure = 2.49682662418022400e+15 + e_thermal = 5.71053697715404800e+15 + entropy = 1.63621235200000000e+09 + temperature = 2.24886220000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 8.35195004940032959e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 3.64323914051055908e-01 + He4 = 6.16196691989898682e-01 + O16 = 9.30764421354979277e-04 + N14 = 1.30592510104179382e-02 + C12 = 9.97263196040876210e-05 + Ne20 = 1.84439914301037788e-03 + Mg24 = 6.77387812174856663e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 127 + dm = 0.00000000000000000e+00 + mass = 8.32766056060791016e+00 + radius = 1.70639562606811523e+00 + density = 7.55358755588531494e-01 + pressure = 2.27177758562713600e+15 + e_thermal = 5.68903207590297600e+15 + entropy = 1.68507456000000000e+09 + temperature = 2.19121180000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 8.12519550323486328e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 3.91270697116851807e-01 + He4 = 5.89234054088592529e-01 + O16 = 1.08962948434054852e-03 + N14 = 1.29158664494752884e-02 + C12 = 1.01118253951426595e-04 + Ne20 = 1.84404582250863314e-03 + Mg24 = 6.77258009091019630e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 128 + dm = 0.00000000000000000e+00 + mass = 8.57748699188232422e+00 + radius = 1.76054120063781738e+00 + density = 6.88506960868835449e-01 + pressure = 2.06226854405734400e+15 + e_thermal = 5.65440121772441600e+15 + entropy = 1.73245312000000000e+09 + temperature = 2.13360520000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 7.91657984256744385e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 4.17421698570251465e-01 + He4 = 5.63063681125640869e-01 + O16 = 1.27972778864204884e-03 + N14 = 1.27416700124740601e-02 + C12 = 1.05549937870819122e-04 + Ne20 = 1.84370297938585281e-03 + Mg24 = 6.77132105920463800e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 129 + dm = 0.00000000000000000e+00 + mass = 8.83318424224853516e+00 + radius = 1.81762349605560303e+00 + density = 6.27484560012817383e-01 + pressure = 1.86762263946854400e+15 + e_thermal = 5.60705403512422400e+15 + entropy = 1.77830003200000000e+09 + temperature = 2.07606200000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 7.72453427314758301e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 4.42740529775619507e-01 + He4 = 5.37721693515777588e-01 + O16 = 1.50522880721837282e-03 + N14 = 1.25320395454764366e-02 + C12 = 1.13858819531742483e-04 + Ne20 = 1.84337096288800240e-03 + Mg24 = 6.77010160870850086e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 130 + dm = 0.00000000000000000e+00 + mass = 9.09511756896972656e+00 + radius = 1.87778878211975098e+00 + density = 5.71674942970275879e-01 + pressure = 1.68713804736102400e+15 + e_thermal = 5.54782697298329600e+15 + entropy = 1.82270604800000000e+09 + temperature = 2.01859520000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 7.54713594913482666e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 4.67269569635391235e-01 + He4 = 5.13165175914764404e-01 + O16 = 1.77077564876526594e-03 + N14 = 1.22817056253552437e-02 + C12 = 1.27072475152090192e-04 + Ne20 = 1.84304954018443823e-03 + Mg24 = 6.76892115734517574e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 131 + dm = 0.00000000000000000e+00 + mass = 9.36366653442382812e+00 + radius = 1.94120097160339355e+00 + density = 5.20570456981658936e-01 + pressure = 1.52010220581683200e+15 + e_thermal = 5.47722254247526400e+15 + entropy = 1.86565862400000000e+09 + temperature = 1.96121060000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 7.38311886787414551e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 4.90993261337280273e-01 + He4 = 4.89409357309341431e-01 + O16 = 2.08063353784382343e-03 + N14 = 1.19854593649506569e-02 + C12 = 1.46456062793731689e-04 + Ne20 = 1.84273859485983849e-03 + Mg24 = 6.76777912303805351e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 132 + dm = 0.00000000000000000e+00 + mass = 9.63922119140625000e+00 + radius = 2.00804114341735840e+00 + density = 4.73736435174942017e-01 + pressure = 1.36580174761164800e+15 + e_thermal = 5.39554837063270400e+15 + entropy = 1.90707801600000000e+09 + temperature = 1.90390720000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 7.23162233829498291e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 5.13858377933502197e-01 + He4 = 4.66507405042648315e-01 + O16 = 2.43833917193114758e-03 + N14 = 1.16384187713265419e-02 + C12 = 1.73544918652623892e-04 + Ne20 = 1.84243905823677778e-03 + Mg24 = 6.76667899824678898e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 133 + dm = 0.00000000000000000e+00 + mass = 9.92218208312988281e+00 + radius = 2.07850861549377441e+00 + density = 4.30777549743652344e-01 + pressure = 1.22353149280256000e+15 + e_thermal = 5.30316416096665600e+15 + entropy = 1.94689958400000000e+09 + temperature = 1.84667700000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 7.09182798862457275e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 5.35820066928863525e-01 + He4 = 4.44503903388977051e-01 + O16 = 2.84708430990576744e-03 + N14 = 1.12355463206768036e-02 + C12 = 2.10265978239476681e-04 + Ne20 = 1.84215139597654343e-03 + Mg24 = 6.76562252920120955e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 134 + dm = 0.00000000000000000e+00 + mass = 1.02129554748535156e+01 + radius = 2.15282464027404785e+00 + density = 3.91323566436767578e-01 + pressure = 1.09260203202969600e+15 + e_thermal = 5.20063631228928000e+15 + entropy = 1.98513804800000000e+09 + temperature = 1.78950540000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.96274220943450928e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 5.56878685951232910e-01 + He4 = 4.23398643732070923e-01 + O16 = 3.31068690866231918e-03 + N14 = 1.07704773545265198e-02 + C12 = 2.59207503404468298e-04 + Ne20 = 1.84187560807913542e-03 + Mg24 = 6.76460971590131521e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 135 + dm = 0.00000000000000000e+00 + mass = 1.05119495391845703e+01 + radius = 2.23123836517333984e+00 + density = 3.55026543140411377e-01 + pressure = 9.72345766313984000e+14 + e_thermal = 5.08880288009420800e+15 + entropy = 2.02192755200000000e+09 + temperature = 1.73237360000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.84310317039489746e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 5.77101647853851318e-01 + He4 = 4.03124004602432251e-01 + O16 = 3.83509113453328609e-03 + N14 = 1.02335708215832710e-02 + C12 = 3.24167660437524319e-04 + Ne20 = 1.84161087963730097e-03 + Mg24 = 6.76363706588745117e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 136 + dm = 0.00000000000000000e+00 + mass = 1.08195638656616211e+01 + radius = 2.31403398513793945e+00 + density = 3.21567296981811523e-01 + pressure = 8.62122141548544000e+14 + e_thermal = 4.96871559449804800e+15 + entropy = 2.05751641600000000e+09 + temperature = 1.67526000000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.73143804073333740e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 5.96621155738830566e-01 + He4 = 3.83547574281692505e-01 + O16 = 4.42994106560945511e-03 + N14 = 9.60939191281795502e-03 + C12 = 4.11125860409811139e-04 + Ne20 = 1.84135546442121267e-03 + Mg24 = 6.76269934047013521e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 137 + dm = 0.00000000000000000e+00 + mass = 1.11361837387084961e+01 + radius = 2.40153813362121582e+00 + density = 2.90671199560165405e-01 + pressure = 7.61320802615296000e+14 + e_thermal = 4.84138430968627200e+15 + entropy = 2.09217190400000000e+09 + temperature = 1.61814340000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62639975547790527e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15578472614288330e-01 + He4 = 3.64528149366378784e-01 + O16 = 5.10855950415134430e-03 + N14 = 8.87500867247581482e-03 + C12 = 5.29727956745773554e-04 + Ne20 = 1.84110749978572130e-03 + Mg24 = 6.76178839057683945e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 138 + dm = 0.00000000000000000e+00 + mass = 1.14621744155883789e+01 + radius = 2.49411916732788086e+00 + density = 2.62134522199630737e-01 + pressure = 6.69362532909056000e+14 + e_thermal = 4.70719879394099200e+15 + entropy = 2.12591513600000000e+09 + temperature = 1.56100310000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.52754127979278564e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.33973240852355957e-01 + He4 = 3.46067160367965698e-01 + O16 = 5.88223524391651154e-03 + N14 = 8.00322368741035461e-03 + C12 = 6.94811227731406689e-04 + Ne20 = 1.84086698573082685e-03 + Mg24 = 6.76090538036078215e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 139 + dm = 0.00000000000000000e+00 + mass = 1.17978687286376953e+01 + radius = 2.59218049049377441e+00 + density = 2.35821187496185303e-01 + pressure = 5.85697979269120000e+14 + e_thermal = 4.56564955676672000e+15 + entropy = 2.15833702400000000e+09 + temperature = 1.50381790000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.43573224544525146e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.51557147502899170e-01 + He4 = 3.28416436910629272e-01 + O16 = 6.75021018832921982e-03 + N14 = 6.96968007832765579e-03 + C12 = 9.27838380448520184e-04 + Ne20 = 1.84063729830086231e-03 + Mg24 = 6.76006195135414600e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 140 + dm = 0.00000000000000000e+00 + mass = 1.21435575485229492e+01 + radius = 2.69614529609680176e+00 + density = 2.11630895733833313e-01 + pressure = 5.09804699189248000e+14 + e_thermal = 4.41559386842726400e+15 + entropy = 2.18861747200000000e+09 + temperature = 1.44656860000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.35294139385223389e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.67842686176300049e-01 + He4 = 3.12071472406387329e-01 + O16 = 7.68837006762623787e-03 + N14 = 5.76121546328067780e-03 + C12 = 1.25822145491838455e-03 + Ne20 = 1.84042472392320633e-03 + Mg24 = 6.75928138662129641e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 141 + dm = 0.00000000000000000e+00 + mass = 1.24994630813598633e+01 + radius = 2.80642557144165039e+00 + density = 1.89531460404396057e-01 + pressure = 4.41183000068096000e+14 + e_thermal = 4.25430442468966400e+15 + entropy = 2.21485926400000000e+09 + temperature = 1.38925400000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.28404557704925537e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.81711852550506592e-01 + He4 = 2.98164159059524536e-01 + O16 = 8.60443245619535446e-03 + N14 = 4.44016745314002037e-03 + C12 = 1.70186883769929409e-03 + Ne20 = 1.84024393092840910e-03 + Mg24 = 6.75861723721027374e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 142 + dm = 0.00000000000000000e+00 + mass = 1.28657169342041016e+01 + radius = 2.92336297035217285e+00 + density = 1.69542774558067322e-01 + pressure = 3.79349664530432000e+14 + e_thermal = 4.07730506432512000e+15 + entropy = 2.23364019200000000e+09 + temperature = 1.33191000000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.23793721199035645e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.91149473190307617e-01 + He4 = 2.88720905780792236e-01 + O16 = 9.29835811257362366e-03 + N14 = 3.27577348798513412e-03 + C12 = 2.17830087058246136e-03 + Ne20 = 1.84012099634855986e-03 + Mg24 = 6.75816554576158524e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 143 + dm = 0.00000000000000000e+00 + mass = 1.32422780990600586e+01 + radius = 3.04726576805114746e+00 + density = 1.51362150907516479e-01 + pressure = 3.23841507196928000e+14 + e_thermal = 3.88751207012761600e+15 + entropy = 2.24507673600000000e+09 + temperature = 1.27459300000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.21371448040008545e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.96143567562103271e-01 + He4 = 2.83745318651199341e-01 + O16 = 9.69819445163011551e-03 + N14 = 2.45281145907938480e-03 + C12 = 2.58315214887261391e-03 + Ne20 = 1.84005603659898043e-03 + Mg24 = 6.75792689435184002e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 144 + dm = 0.00000000000000000e+00 + mass = 1.36288242340087891e+01 + radius = 3.17856931686401367e+00 + density = 1.34562373161315918e-01 + pressure = 2.74227219398656000e+14 + e_thermal = 3.69263463995801600e+15 + entropy = 2.25235712000000000e+09 + temperature = 1.21735590000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.20257437229156494e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.98430836200714111e-01 + He4 = 2.81485646963119507e-01 + O16 = 9.89497359842061996e-03 + N14 = 1.91814347635954618e-03 + C12 = 2.89351702667772770e-03 + Ne20 = 1.84002623427659273e-03 + Mg24 = 6.75781746394932270e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 145 + dm = 0.00000000000000000e+00 + mass = 1.40246915817260742e+01 + radius = 3.31792378425598145e+00 + density = 1.18882447481155396e-01 + pressure = 2.30111680921600000e+14 + e_thermal = 3.49816737916518400e+15 + entropy = 2.25805977600000000e+09 + temperature = 1.16024680000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19777917861938477e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99393689632415771e-01 + He4 = 2.80549675226211548e-01 + O16 = 9.98286157846450806e-03 + N14 = 1.57733575906604528e-03 + C12 = 3.11955809593200684e-03 + Ne20 = 1.84001377783715725e-03 + Mg24 = 6.75777206197381020e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 146 + dm = 0.00000000000000000e+00 + mass = 1.44288539886474609e+01 + radius = 3.46618103981018066e+00 + density = 1.04210823774337769e-01 + pressure = 1.91131631484928000e+14 + e_thermal = 3.30682765987020800e+15 + entropy = 2.26362828800000000e+09 + temperature = 1.10329150000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19576752185821533e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99773311614990234e-01 + He4 = 2.80191749334335327e-01 + O16 = 1.00189782679080963e-02 + N14 = 1.36312551330775023e-03 + C12 = 3.27599933370947838e-03 + Ne20 = 1.84000888839364052e-03 + Mg24 = 6.75775401759892702e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 147 + dm = 0.00000000000000000e+00 + mass = 1.48398914337158203e+01 + radius = 3.62436819076538086e+00 + density = 9.05172079801559448e-02 + pressure = 1.56948104216576000e+14 + e_thermal = 3.11968439205888000e+15 + entropy = 2.26980249600000000e+09 + temperature = 1.04649650000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19488179683685303e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99916243553161621e-01 + He4 = 2.80064225196838379e-01 + O16 = 1.00327562540769577e-02 + N14 = 1.23135012108832598e-03 + C12 = 3.37857683189213276e-03 + Ne20 = 1.84000702574849129e-03 + Mg24 = 6.75774703267961740e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 148 + dm = 0.00000000000000000e+00 + mass = 1.52559423446655273e+01 + radius = 3.79367876052856445e+00 + density = 7.78030231595039368e-02 + pressure = 1.27238632636416000e+14 + e_thermal = 2.93732652312166400e+15 + entropy = 2.27700940800000000e+09 + temperature = 9.89904600000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19442582130432129e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99968993663787842e-01 + He4 = 2.80021458864212036e-01 + O16 = 1.00376652553677559e-02 + N14 = 1.15288072265684605e-03 + C12 = 3.44213470816612244e-03 + Ne20 = 1.84000644367188215e-03 + Mg24 = 6.75774470437318087e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 149 + dm = 0.00000000000000000e+00 + mass = 1.56746492385864258e+01 + radius = 3.97548031806945801e+00 + density = 6.60855248570442200e-02 + pressure = 1.01689801572352000e+14 + e_thermal = 2.76012342024601600e+15 + entropy = 2.28554521600000000e+09 + temperature = 9.33583300000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19412899017333984e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99988663196563721e-01 + He4 = 2.80007809400558472e-01 + O16 = 1.00393053144216537e-02 + N14 = 1.10807537566870451e-03 + C12 = 3.47929890267550945e-03 + Ne20 = 1.84000621084123850e-03 + Mg24 = 6.75774354021996260e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 150 + dm = 0.00000000000000000e+00 + mass = 1.60931129455566406e+01 + radius = 4.17131423950195312e+00 + density = 5.53942099213600159e-02 + pressure = 7.99901420093440000e+13 + e_thermal = 2.58800180055244800e+15 + entropy = 2.29560780800000000e+09 + temperature = 8.77574100000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19389295578002930e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99996352195739746e-01 + He4 = 2.80003517866134644e-01 + O16 = 1.00398212671279907e-02 + N14 = 1.08369858935475349e-03 + C12 = 3.49980127066373825e-03 + Ne20 = 1.84000609442591667e-03 + Mg24 = 6.75774354021996260e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 151 + dm = 0.00000000000000000e+00 + mass = 1.65078735351562500e+01 + radius = 4.38288497924804688e+00 + density = 4.57572303712368011e-02 + pressure = 6.18238312448000000e+13 + e_thermal = 2.42075282125619200e+15 + entropy = 2.30735769600000000e+09 + temperature = 8.21925450000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19368553161621094e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99999511241912842e-01 + He4 = 2.80002117156982422e-01 + O16 = 1.00399740040302277e-02 + N14 = 1.07110536191612482e-03 + C12 = 3.51047818548977375e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774354021996260e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 152 + dm = 0.00000000000000000e+00 + mass = 1.69149131774902344e+01 + radius = 4.61204671859741211e+00 + density = 3.71921993792057037e-02 + pressure = 4.68663224238080000e+13 + e_thermal = 2.25825890762752000e+15 + entropy = 2.32096051200000000e+09 + temperature = 7.66723250000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19349718093872070e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00000882148742676e-01 + He4 = 2.80001580715179443e-01 + O16 = 1.00400177761912346e-02 + N14 = 1.06493593193590641e-03 + C12 = 3.51573270745575428e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 153 + dm = 0.00000000000000000e+00 + mass = 1.73097286224365234e+01 + radius = 4.86078548431396484e+00 + density = 2.96997595578432083e-02 + pressure = 3.47824885596160000e+13 + e_thermal = 2.10071105149337600e+15 + entropy = 2.33662924800000000e+09 + temperature = 7.12123150000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19332492351531982e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00001537799835205e-01 + He4 = 2.80001312494277954e-01 + O16 = 1.00400289520621300e-02 + N14 = 1.06206908822059631e-03 + C12 = 3.51818068884313107e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 154 + dm = 0.00000000000000000e+00 + mass = 1.76874580383300781e+01 + radius = 5.13118410110473633e+00 + density = 2.32632234692573547e-02 + pressure = 2.52277298298880000e+13 + e_thermal = 1.94843016744140800e+15 + entropy = 2.35459865600000000e+09 + temperature = 6.58328950000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19316875934600830e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00001895427703857e-01 + He4 = 2.80001163482666016e-01 + O16 = 1.00400317460298538e-02 + N14 = 1.06080377008765936e-03 + C12 = 3.51926288567483425e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 155 + dm = 0.00000000000000000e+00 + mass = 1.80431137084960938e+01 + radius = 5.42534065246582031e+00 + density = 1.78477652370929718e-02 + pressure = 1.78520860917760000e+13 + e_thermal = 1.80158617511526400e+15 + entropy = 2.37505945600000000e+09 + temperature = 6.05556050000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19302928447723389e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002074241638184e-01 + He4 = 2.80001074075698853e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.06027198489755392e-03 + C12 = 3.51971806958317757e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 156 + dm = 0.00000000000000000e+00 + mass = 1.83718872070312500e+01 + radius = 5.74524164199829102e+00 + density = 1.33957723155617714e-02 + pressure = 1.23074940764160000e+13 + e_thermal = 1.66038281702604800e+15 + entropy = 2.39817728000000000e+09 + temperature = 5.54055750000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19290530681610107e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002133846282959e-01 + He4 = 2.80001014471054077e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.06005859561264515e-03 + C12 = 3.51990084163844585e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 157 + dm = 0.00000000000000000e+00 + mass = 1.86695442199707031e+01 + radius = 6.09261035919189453e+00 + density = 9.82625875622034073e-03 + pressure = 8.25762722611200000e+12 + e_thermal = 1.52528341277081600e+15 + entropy = 2.42414284800000000e+09 + temperature = 5.04140000000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19279623031616211e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002193450927734e-01 + He4 = 2.80000984668731689e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05997652281075716e-03 + C12 = 3.51997115649282932e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 158 + dm = 0.00000000000000000e+00 + mass = 1.89328212738037109e+01 + radius = 6.46875858306884766e+00 + density = 7.03897234052419662e-03 + pressure = 5.38895397683200000e+12 + e_thermal = 1.39713219185868800e+15 + entropy = 2.45322521600000000e+09 + temperature = 4.56185650000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19269967079162598e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000954866409302e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05994602199643850e-03 + C12 = 3.51999723352491856e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 159 + dm = 0.00000000000000000e+00 + mass = 1.91598148345947266e+01 + radius = 6.87439060211181641e+00 + density = 4.92378231137990952e-03 + pressure = 3.42102638592000000e+12 + e_thermal = 1.27635905367244800e+15 + entropy = 2.48555827200000000e+09 + temperature = 4.10518575000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19261562824249268e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 160 + dm = 0.00000000000000000e+00 + mass = 1.93502349853515625e+01 + radius = 7.30943059921264648e+00 + density = 3.36442352272570133e-03 + pressure = 2.11428796006400000e+12 + e_thermal = 1.16360019024281600e+15 + entropy = 2.52132480000000000e+09 + temperature = 3.67473025000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19254291057586670e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 161 + dm = 0.00000000000000000e+00 + mass = 1.95054626464843750e+01 + radius = 7.77287769317626953e+00 + density = 2.24845390766859055e-03 + pressure = 1.27407239987200000e+12 + e_thermal = 1.05890230933913600e+15 + entropy = 2.56049254400000000e+09 + temperature = 3.27278550000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19248032569885254e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 162 + dm = 0.00000000000000000e+00 + mass = 1.96283493041992188e+01 + radius = 8.26238632202148438e+00 + density = 1.47430261131376028e-03 + pressure = 7.50168571904000000e+11 + e_thermal = 9.60423675297792000e+14 + entropy = 2.60210688000000000e+09 + temperature = 2.89919975000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19242846965789795e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 163 + dm = 0.00000000000000000e+00 + mass = 1.97228260040283203e+01 + radius = 8.77328109741210938e+00 + density = 9.54146322328597307e-04 + pressure = 4.32579969024000000e+11 + e_thermal = 8.63885829603328000e+14 + entropy = 2.64347136000000000e+09 + temperature = 2.55116250000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19238734245300293e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 164 + dm = 0.00000000000000000e+00 + mass = 1.97933464050292969e+01 + radius = 9.29705333709716797e+00 + density = 6.14844320807605982e-04 + pressure = 2.44808024064000000e+11 + e_thermal = 7.63810004598784000e+14 + entropy = 2.67986380800000000e+09 + temperature = 2.22459650000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19235634803771973e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 165 + dm = 0.00000000000000000e+00 + mass = 1.98443984985351562e+01 + radius = 9.82127666473388672e+00 + density = 3.96594172343611717e-04 + pressure = 1.36189370368000000e+11 + e_thermal = 6.60628582694912000e+14 + entropy = 2.70843033600000000e+09 + temperature = 1.92011637500000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19233310222625732e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 166 + dm = 0.00000000000000000e+00 + mass = 1.98801708221435547e+01 + radius = 1.03334016799926758e+01 + density = 2.54653277806937695e-04 + pressure = 7.45878978560000000e+10 + e_thermal = 5.64206499790848000e+14 + entropy = 2.73328409600000000e+09 + temperature = 1.64576900000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19231522083282471e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 167 + dm = 0.00000000000000000e+00 + mass = 1.99043903350830078e+01 + radius = 1.08251743316650391e+01 + density = 1.61269505042582750e-04 + pressure = 4.02962472960000000e+10 + e_thermal = 4.82855926890496000e+14 + entropy = 2.76108697600000000e+09 + temperature = 1.40794437500000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19229972362518311e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 168 + dm = 0.00000000000000000e+00 + mass = 1.99202480316162109e+01 + radius = 1.12927904129028320e+01 + density = 1.00435434433165938e-04 + pressure = 2.15300587520000000e+10 + e_thermal = 4.16985221431296000e+14 + entropy = 2.79470105600000000e+09 + temperature = 1.20553475000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19228661060333252e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 169 + dm = 0.00000000000000000e+00 + mass = 1.99303226470947266e+01 + radius = 1.17346334457397461e+01 + density = 6.16373508819378912e-05 + pressure = 1.14067548160000000e+10 + e_thermal = 3.63563243798528000e+14 + entropy = 2.83399987200000000e+09 + temperature = 1.03372975000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19227468967437744e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 170 + dm = 0.00000000000000000e+00 + mass = 1.99365539550781250e+01 + radius = 1.21497573852539062e+01 + density = 3.74201299564447254e-05 + pressure = 6.00708556800000000e+09 + e_thermal = 3.19360950337536000e+14 + entropy = 2.87769574400000000e+09 + temperature = 8.87333500000000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19226574897766113e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 171 + dm = 0.00000000000000000e+00 + mass = 1.99403247833251953e+01 + radius = 1.25380868911743164e+01 + density = 2.24829909711843356e-05 + pressure = 3.15051443200000000e+09 + e_thermal = 2.83118372126720000e+14 + entropy = 2.92653926400000000e+09 + temperature = 7.62999250000000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19225800037384033e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 172 + dm = 0.00000000000000000e+00 + mass = 1.99425659179687500e+01 + radius = 1.29019212722778320e+01 + density = 1.32897885123384185e-05 + pressure = 1.64773427200000000e+09 + e_thermal = 2.55568304406528000e+14 + entropy = 2.98543308800000000e+09 + temperature = 6.59000312500000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19225203990936279e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 173 + dm = 0.00000000000000000e+00 + mass = 1.99438781738281250e+01 + radius = 1.32462835311889648e+01 + density = 7.68084009905578569e-06 + pressure = 8.60424384000000000e+08 + e_thermal = 2.36979618840576000e+14 + entropy = 3.06034099200000000e+09 + temperature = 5.72841312500000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19224667549133301e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 174 + dm = 0.00000000000000000e+00 + mass = 1.99446392059326172e+01 + radius = 1.35772771835327148e+01 + density = 4.33953255196684040e-06 + pressure = 4.49368576000000000e+08 + e_thermal = 2.26049178730496000e+14 + entropy = 3.15473612800000000e+09 + temperature = 5.00731250000000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19224250316619873e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 175 + dm = 0.00000000000000000e+00 + mass = 1.99450740814208984e+01 + radius = 1.39003210067749023e+01 + density = 2.40925828620675020e-06 + pressure = 2.35231536000000000e+08 + e_thermal = 2.20696693178368000e+14 + entropy = 3.26949504000000000e+09 + temperature = 4.39002250000000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19223892688751221e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 176 + dm = 0.00000000000000000e+00 + mass = 1.99453239440917969e+01 + radius = 1.42196540832519531e+01 + density = 1.32213619963295059e-06 + pressure = 1.23682336000000000e+08 + e_thermal = 2.19234743353344000e+14 + entropy = 3.40537753600000000e+09 + temperature = 3.85189625000000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19223654270172119e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 177 + dm = 0.00000000000000000e+00 + mass = 1.99454669952392578e+01 + radius = 1.45394620895385742e+01 + density = 7.17207228717597900e-07 + pressure = 6.54219360000000000e+07 + e_thermal = 2.21696934019072000e+14 + entropy = 3.56874675200000000e+09 + temperature = 3.38121250000000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19223475456237793e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 178 + dm = 0.00000000000000000e+00 + mass = 1.99455490112304688e+01 + radius = 1.48661804199218750e+01 + density = 3.81417294192942791e-07 + pressure = 3.48550040000000000e+07 + e_thermal = 2.30405986844672000e+14 + entropy = 3.77811020800000000e+09 + temperature = 2.97218906250000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19223356246948242e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 179 + dm = 0.00000000000000000e+00 + mass = 1.99455947875976562e+01 + radius = 1.52093219757080078e+01 + density = 1.97968645920809649e-07 + pressure = 1.87417180000000000e+07 + e_thermal = 2.47421774856192000e+14 + entropy = 4.05801190400000000e+09 + temperature = 2.61592343750000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19223296642303467e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 180 + dm = 0.00000000000000000e+00 + mass = 1.99456233978271484e+01 + radius = 1.55650520324707031e+01 + density = 1.08668217535523581e-07 + pressure = 1.02299540000000000e+07 + e_thermal = 2.52428498763776000e+14 + entropy = 4.31004928000000000e+09 + temperature = 2.28729375000000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19223237037658691e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 181 + dm = 0.00000000000000000e+00 + mass = 1.99456386566162109e+01 + radius = 1.58983240127563477e+01 + density = 7.06763856328507245e-08 + pressure = 5.69173100000000000e+06 + e_thermal = 2.17910467362816000e+14 + entropy = 4.32404889600000000e+09 + temperature = 1.97340640625000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19223237037658691e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 182 + dm = 0.00000000000000000e+00 + mass = 1.99456481933593750e+01 + radius = 1.61700820922851562e+01 + density = 5.29782404612433311e-08 + pressure = 3.22468400000000000e+06 + e_thermal = 1.64721038721024000e+14 + entropy = 4.14393344000000000e+09 + temperature = 1.68441593750000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19223356246948242e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 183 + dm = 0.00000000000000000e+00 + mass = 1.99456539154052734e+01 + radius = 1.63709621429443359e+01 + density = 4.23081800704494526e-08 + pressure = 1.86160812500000000e+06 + e_thermal = 1.19245119684608000e+14 + entropy = 3.92710272000000000e+09 + temperature = 1.42920375000000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19223535060882568e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 184 + dm = 0.00000000000000000e+00 + mass = 1.99456577301025391e+01 + radius = 1.65197029113769531e+01 + density = 3.22106714634173841e-08 + pressure = 1.08661912500000000e+06 + e_thermal = 9.26298616627200000e+13 + entropy = 3.80577228800000000e+09 + temperature = 1.22085234375000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19223952293395996e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 185 + dm = 0.00000000000000000e+00 + mass = 1.99456596374511719e+01 + radius = 1.66392917633056641e+01 + density = 2.26490790566913347e-08 + pressure = 6.36230062500000000e+05 + e_thermal = 7.89748603944960000e+13 + entropy = 3.78119372800000000e+09 + temperature = 1.05766414062500000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19224667549133301e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 186 + dm = 0.00000000000000000e+00 + mass = 1.99456596374511719e+01 + radius = 1.67409820556640625e+01 + density = 1.53512029754665491e-08 + pressure = 3.75043281250000000e+05 + e_thermal = 7.06520945786880000e+13 + entropy = 3.80012492800000000e+09 + temperature = 9.25348203125000000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19226038455963135e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 187 + dm = 0.00000000000000000e+00 + mass = 1.99456615447998047e+01 + radius = 1.68299846649169922e+01 + density = 1.02260084844374433e-08 + pressure = 2.23109187500000000e+05 + e_thermal = 6.50200167219200000e+13 + entropy = 3.84329651200000000e+09 + temperature = 8.15424687500000000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19228959083557129e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 188 + dm = 0.00000000000000000e+00 + mass = 1.99456615447998047e+01 + radius = 1.69095344543457031e+01 + density = 6.73595357270073691e-09 + pressure = 1.34041062500000000e+05 + e_thermal = 6.11222290432000000e+13 + entropy = 3.90584012800000000e+09 + temperature = 7.22882734375000000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19235396385192871e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 189 + dm = 0.00000000000000000e+00 + mass = 1.99456615447998047e+01 + radius = 1.69818077087402344e+01 + density = 4.40810721258344529e-09 + pressure = 8.13900000000000000e+04 + e_thermal = 5.83966906122240000e+13 + entropy = 3.98501324800000000e+09 + temperature = 6.44044335937500000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19250833988189697e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 190 + dm = 0.00000000000000000e+00 + mass = 1.99456615447998047e+01 + radius = 1.70481357574462891e+01 + density = 2.88757284749863175e-09 + pressure = 5.00212148437500000e+04 + e_thermal = 5.63359577538560000e+13 + entropy = 4.07539302400000000e+09 + temperature = 5.76000937500000000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19291245937347412e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 191 + dm = 0.00000000000000000e+00 + mass = 1.99456615447998047e+01 + radius = 1.71089172363281250e+01 + density = 1.92063542847620283e-09 + pressure = 3.12011953125000000e+04 + e_thermal = 5.42859161763840000e+13 + entropy = 4.16322764800000000e+09 + temperature = 5.16370664062500000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19411349296569824e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 192 + dm = 0.00000000000000000e+00 + mass = 1.99456615447998047e+01 + radius = 1.71634979248046875e+01 + density = 1.32762589810653253e-09 + pressure = 1.98360839843750000e+04 + e_thermal = 5.13888097402880000e+13 + entropy = 4.22162073600000000e+09 + temperature = 4.63227812500000000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19835317134857178e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 193 + dm = 0.00000000000000000e+00 + mass = 1.99456615447998047e+01 + radius = 1.72104053497314453e+01 + density = 9.80302061748261622e-10 + pressure = 1.29192539062500000e+04 + e_thermal = 4.68482281963520000e+13 + entropy = 4.21512832000000000e+09 + temperature = 4.15166718750000000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.21622860431671143e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 194 + dm = 0.00000000000000000e+00 + mass = 1.99456615447998047e+01 + radius = 1.72486743927001953e+01 + density = 7.78787756505749940e-10 + pressure = 8.63303515625000000e+03 + e_thermal = 4.05771858739200000e+13 + entropy = 4.12623027200000000e+09 + temperature = 3.71738671875000000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.28676593303680420e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 195 + dm = 0.00000000000000000e+00 + mass = 1.99456615447998047e+01 + radius = 1.72792987823486328e+01 + density = 6.39195918417101439e-10 + pressure = 5.87434863281250000e+03 + e_thermal = 3.41954579660800000e+13 + entropy = 4.00183040000000000e+09 + temperature = 3.33441875000000000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.40867769718170166e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 196 + dm = 0.00000000000000000e+00 + mass = 1.99456615447998047e+01 + radius = 1.73050518035888672e+01 + density = 5.03280750407952837e-10 + pressure = 4.00897973632812500e+03 + e_thermal = 3.05229232865280000e+13 + entropy = 3.95077068800000000e+09 + temperature = 3.00874453125000000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.46260440349578857e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 197 + dm = 0.00000000000000000e+00 + mass = 1.99456615447998047e+01 + radius = 1.73288307189941406e+01 + density = 3.66460195522222421e-10 + pressure = 2.70522460937500000e+03 + e_thermal = 2.91758638366720000e+13 + entropy = 3.98864819200000000e+09 + temperature = 2.73912363281250000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.47247374057769775e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 198 + dm = 0.00000000000000000e+00 + mass = 1.99456615447998047e+01 + radius = 1.73536090850830078e+01 + density = 2.35071434540046198e-10 + pressure = 1.77931799316406250e+03 + e_thermal = 3.01372360622080000e+13 + entropy = 4.15153024000000000e+09 + temperature = 2.52196152343750000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.47399306297302246e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993123725056648e-03 + C12 = 3.52000980637967587e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +)usm diff --git a/src/amuse_mmams/tests/secondary.usm b/src/amuse_mmams/tests/secondary.usm new file mode 100644 index 0000000000..d6f8540183 --- /dev/null +++ b/src/amuse_mmams/tests/secondary.usm @@ -0,0 +1,5776 @@ +(usm + num_shells = 199 + mass = 7.99763631820678711e+00 + radius = 3.91514754295349121e+00 +(mass_shell + id = 0 + dm = 0.00000000000000000e+00 + mass = 1.59988230734597892e-05 + radius = 1.19684776291251183e-02 + density = 1.02580499649047852e+01 + pressure = 3.99822499904225280e+16 + e_thermal = 6.15897236504576000e+15 + entropy = 1.63879769600000000e+09 + temperature = 2.96239200000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219285964965820e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623176097869873e-01 + He4 = 3.64849388599395752e-01 + O16 = 1.63249543402343988e-03 + N14 = 1.23868053779006004e-02 + C12 = 1.28096027765423059e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 1 + dm = 0.00000000000000000e+00 + mass = 5.38611457159277052e-05 + radius = 1.90757084637880325e-02 + density = 1.02551383972167969e+01 + pressure = 3.99640736888258560e+16 + e_thermal = 6.15786587409612800e+15 + entropy = 1.63879769600000000e+09 + temperature = 2.96191500000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219285964965820e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623176097869873e-01 + He4 = 3.64849388599395752e-01 + O16 = 1.63249543402343988e-03 + N14 = 1.23868081718683243e-02 + C12 = 1.28094019601121545e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 2 + dm = 0.00000000000000000e+00 + mass = 1.26214887131936848e-04 + radius = 2.56738401949405670e-02 + density = 1.02516365051269531e+01 + pressure = 3.99422251901911040e+16 + e_thermal = 6.15653497110528000e+15 + entropy = 1.63879769600000000e+09 + temperature = 2.96134140000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219285964965820e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623176097869873e-01 + He4 = 3.64849388599395752e-01 + O16 = 1.63249555043876171e-03 + N14 = 1.23868109658360481e-02 + C12 = 1.28091036458499730e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 3 + dm = 0.00000000000000000e+00 + mass = 2.41785703110508621e-04 + radius = 3.20392996072769165e-02 + density = 1.02473974227905273e+01 + pressure = 3.99157724866150400e+16 + e_thermal = 6.15492382149836800e+15 + entropy = 1.63879769600000000e+09 + temperature = 2.96064660000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219345569610596e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623176097869873e-01 + He4 = 3.64849358797073364e-01 + O16 = 1.63249566685408354e-03 + N14 = 1.23868156224489212e-02 + C12 = 1.28087223856709898e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 4 + dm = 0.00000000000000000e+00 + mass = 4.06935345381498337e-04 + radius = 3.81931997835636139e-02 + density = 1.02424602508544922e+01 + pressure = 3.98849818660700160e+16 + e_thermal = 6.15304745766092800e+15 + entropy = 1.63879769600000000e+09 + temperature = 2.95983760000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219345569610596e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623176097869873e-01 + He4 = 3.64849358797073364e-01 + O16 = 1.63249578326940536e-03 + N14 = 1.23868212103843689e-02 + C12 = 1.28082683659158647e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 5 + dm = 0.00000000000000000e+00 + mass = 6.25827233307063580e-04 + radius = 4.41335812211036682e-02 + density = 1.02368993759155273e+01 + pressure = 3.98503043001221120e+16 + e_thermal = 6.15093326000947200e+15 + entropy = 1.63879782400000000e+09 + temperature = 2.95892600000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219345569610596e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623235702514648e-01 + He4 = 3.64849328994750977e-01 + O16 = 1.63249589968472719e-03 + N14 = 1.23868267983198166e-02 + C12 = 1.28077517729252577e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 6 + dm = 0.00000000000000000e+00 + mass = 9.01220133528113365e-04 + radius = 4.98680807650089264e-02 + density = 1.02307834625244141e+01 + pressure = 3.98121821704028160e+16 + e_thermal = 6.14860699834777600e+15 + entropy = 1.63879782400000000e+09 + temperature = 2.95792300000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219345569610596e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623235702514648e-01 + He4 = 3.64849328994750977e-01 + O16 = 1.63249601610004902e-03 + N14 = 1.23868333175778389e-02 + C12 = 1.28071842482313514e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 7 + dm = 0.00000000000000000e+00 + mass = 1.23516109306365252e-03 + radius = 5.54130338132381439e-02 + density = 1.02241668701171875e+01 + pressure = 3.97709504843612160e+16 + e_thermal = 6.14609014751232000e+15 + entropy = 1.63879782400000000e+09 + temperature = 2.95683760000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219405174255371e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623235702514648e-01 + He4 = 3.64849299192428589e-01 + O16 = 1.63249613251537085e-03 + N14 = 1.23868398368358612e-02 + C12 = 1.28065716126002371e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 8 + dm = 0.00000000000000000e+00 + mass = 1.62943056784570217e-03 + radius = 6.07887171208858490e-02 + density = 1.02170915603637695e+01 + pressure = 3.97268841199042560e+16 + e_thermal = 6.14339827675955200e+15 + entropy = 1.63879782400000000e+09 + temperature = 2.95567660000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219405174255371e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623295307159424e-01 + He4 = 3.64849299192428589e-01 + O16 = 1.63249636534601450e-03 + N14 = 1.23868472874164581e-02 + C12 = 1.28059182316064835e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 9 + dm = 0.00000000000000000e+00 + mass = 2.08579073660075665e-03 + radius = 6.60160183906555176e-02 + density = 1.02095880508422852e+01 + pressure = 3.96801634656583680e+16 + e_thermal = 6.14054266037862400e+15 + entropy = 1.63879782400000000e+09 + temperature = 2.95444500000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219405174255371e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623295307159424e-01 + He4 = 3.64849269390106201e-01 + O16 = 1.63249648176133633e-03 + N14 = 1.23868556693196297e-02 + C12 = 1.28052284708246589e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 10 + dm = 0.00000000000000000e+00 + mass = 2.60611670091748238e-03 + radius = 7.11147263646125793e-02 + density = 1.02016773223876953e+01 + pressure = 3.96309302555443200e+16 + e_thermal = 6.13753081456230400e+15 + entropy = 1.63879795200000000e+09 + temperature = 2.95314580000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219464778900146e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623295307159424e-01 + He4 = 3.64849239587783813e-01 + O16 = 1.63249671459197998e-03 + N14 = 1.23868640512228012e-02 + C12 = 1.28045052406378090e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 11 + dm = 0.00000000000000000e+00 + mass = 3.19246039725840092e-03 + radius = 7.61028826236724854e-02 + density = 1.01933727264404297e+01 + pressure = 3.95792746838753280e+16 + e_thermal = 6.13436810801971200e+15 + entropy = 1.63879795200000000e+09 + temperature = 2.95178140000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219464778900146e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623354911804199e-01 + He4 = 3.64849239587783813e-01 + O16 = 1.63249694742262363e-03 + N14 = 1.23868724331259727e-02 + C12 = 1.28037499962374568e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 12 + dm = 0.00000000000000000e+00 + mass = 3.84708284400403500e-03 + radius = 8.09965506196022034e-02 + density = 1.01846837997436523e+01 + pressure = 3.95252482902589440e+16 + e_thermal = 6.13105829884723200e+15 + entropy = 1.63879795200000000e+09 + temperature = 2.95035340000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219524383544922e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623354911804199e-01 + He4 = 3.64849209785461426e-01 + O16 = 1.63249706383794546e-03 + N14 = 1.23868817463517189e-02 + C12 = 1.28029656480066478e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 13 + dm = 0.00000000000000000e+00 + mass = 4.57246694713830948e-03 + radius = 8.58099460601806641e-02 + density = 1.01756153106689453e+01 + pressure = 3.94688897294008320e+16 + e_thermal = 6.12760246078668800e+15 + entropy = 1.63879795200000000e+09 + temperature = 2.94886220000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219524383544922e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623354911804199e-01 + He4 = 3.64849179983139038e-01 + O16 = 1.63249729666858912e-03 + N14 = 1.23868910595774651e-02 + C12 = 1.28021521959453821e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 14 + dm = 0.00000000000000000e+00 + mass = 5.37132518365979195e-03 + radius = 9.05555933713912964e-02 + density = 1.01661682128906250e+01 + pressure = 3.94102161811701760e+16 + e_thermal = 6.12400113070899200e+15 + entropy = 1.63879808000000000e+09 + temperature = 2.94730800000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219583988189697e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623414516448975e-01 + He4 = 3.64849150180816650e-01 + O16 = 1.63249752949923277e-03 + N14 = 1.23869003728032112e-02 + C12 = 1.28013110952451825e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 15 + dm = 0.00000000000000000e+00 + mass = 6.24660076573491096e-03 + radius = 9.52445492148399353e-02 + density = 1.01563425064086914e+01 + pressure = 3.93492190556323840e+16 + e_thermal = 6.12025377174323200e+15 + entropy = 1.63879808000000000e+09 + temperature = 2.94569080000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219583988189697e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623414516448975e-01 + He4 = 3.64849150180816650e-01 + O16 = 1.63249764591455460e-03 + N14 = 1.23869068920612335e-02 + C12 = 1.28007377497851849e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 16 + dm = 0.00000000000000000e+00 + mass = 7.20147043466567993e-03 + radius = 9.98865738511085510e-02 + density = 1.01461343765258789e+01 + pressure = 3.92858897628528640e+16 + e_thermal = 6.11635931014758400e+15 + entropy = 1.63879808000000000e+09 + temperature = 2.94400980000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219643592834473e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623414516448975e-01 + He4 = 3.64849120378494263e-01 + O16 = 1.63249776232987642e-03 + N14 = 1.23869124799966812e-02 + C12 = 1.28002808196470141e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 17 + dm = 0.00000000000000000e+00 + mass = 8.23934562504291534e-03 + radius = 1.04490347206592560e-01 + density = 1.01355409622192383e+01 + pressure = 3.92202025330278400e+16 + e_thermal = 6.11231559843840000e+15 + entropy = 1.63879808000000000e+09 + temperature = 2.94226440000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219643592834473e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623414516448975e-01 + He4 = 3.64849120378494263e-01 + O16 = 1.63249787874519825e-03 + N14 = 1.23869180679321289e-02 + C12 = 1.27998064272105694e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 18 + dm = 0.00000000000000000e+00 + mass = 9.36387479305267334e-03 + radius = 1.09063610434532166e-01 + density = 1.01245546340942383e+01 + pressure = 3.91521230064189440e+16 + e_thermal = 6.10812048913203200e+15 + entropy = 1.63879808000000000e+09 + temperature = 2.94045320000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219703197479248e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623474121093750e-01 + He4 = 3.64849090576171875e-01 + O16 = 1.63249799516052008e-03 + N14 = 1.23869236558675766e-02 + C12 = 1.27993116620928049e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 19 + dm = 0.00000000000000000e+00 + mass = 1.05789480730891228e-02 + radius = 1.13613300025463104e-01 + density = 1.01131696701049805e+01 + pressure = 3.90816211182551040e+16 + e_thermal = 6.10377183474483200e+15 + entropy = 1.63879820800000000e+09 + temperature = 2.93857520000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219762802124023e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623474121093750e-01 + He4 = 3.64849090576171875e-01 + O16 = 1.63249811157584190e-03 + N14 = 1.23869292438030243e-02 + C12 = 1.27987979794852436e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 20 + dm = 0.00000000000000000e+00 + mass = 1.18887014687061310e-02 + radius = 1.18145681917667389e-01 + density = 1.01013784408569336e+01 + pressure = 3.90086453289287680e+16 + e_thermal = 6.09926480343859200e+15 + entropy = 1.63879820800000000e+09 + temperature = 2.93662900000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219822406768799e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623474121093750e-01 + He4 = 3.64849060773849487e-01 + O16 = 1.63249822799116373e-03 + N14 = 1.23869348317384720e-02 + C12 = 1.27982639241963625e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 21 + dm = 0.00000000000000000e+00 + mass = 1.32975187152624130e-02 + radius = 1.22666411101818085e-01 + density = 1.00891704559326172e+01 + pressure = 3.89331526887669760e+16 + e_thermal = 6.09459724772966400e+15 + entropy = 1.63879820800000000e+09 + temperature = 2.93461300000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219822406768799e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623474121093750e-01 + He4 = 3.64849030971527100e-01 + O16 = 1.63249846082180738e-03 + N14 = 1.23869413509964943e-02 + C12 = 1.27977080410346389e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 22 + dm = 0.00000000000000000e+00 + mass = 1.48100424557924271e-02 + radius = 1.27180665731430054e-01 + density = 1.00765380859375000e+01 + pressure = 3.88550830682275840e+16 + e_thermal = 6.08976433577984000e+15 + entropy = 1.63879820800000000e+09 + temperature = 2.93252540000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219882011413574e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623533725738525e-01 + He4 = 3.64849030971527100e-01 + O16 = 1.63249857723712921e-03 + N14 = 1.23869478702545166e-02 + C12 = 1.27971317851915956e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 23 + dm = 0.00000000000000000e+00 + mass = 1.64311788976192474e-02 + radius = 1.31693184375762939e-01 + density = 1.00634698867797852e+01 + pressure = 3.87743806327357440e+16 + e_thermal = 6.08476284636364800e+15 + entropy = 1.63879820800000000e+09 + temperature = 2.93036440000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62219941616058350e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623533725738525e-01 + He4 = 3.64849001169204712e-01 + O16 = 1.63249869365245104e-03 + N14 = 1.23869553208351135e-02 + C12 = 1.27965337014757097e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 24 + dm = 0.00000000000000000e+00 + mass = 1.81661061942577362e-02 + radius = 1.36208310723304749e-01 + density = 1.00499553680419922e+01 + pressure = 3.86909895477166080e+16 + e_thermal = 6.07958741077196800e+15 + entropy = 1.63879833600000000e+09 + temperature = 2.92812800000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62220001220703125e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623533725738525e-01 + He4 = 3.64849001169204712e-01 + O16 = 1.63249892648309469e-03 + N14 = 1.23869618400931358e-02 + C12 = 1.27959123346954584e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 25 + dm = 0.00000000000000000e+00 + mass = 2.00202818959951401e-02 + radius = 1.40730082988739014e-01 + density = 1.00359821319580078e+01 + pressure = 3.86048367987261440e+16 + e_thermal = 6.07423319716659200e+15 + entropy = 1.63879833600000000e+09 + temperature = 2.92581420000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62220060825347900e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623593330383301e-01 + He4 = 3.64848971366882324e-01 + O16 = 1.63249904289841652e-03 + N14 = 1.23869692906737328e-02 + C12 = 1.27952676848508418e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 26 + dm = 0.00000000000000000e+00 + mass = 2.19994578510522842e-02 + radius = 1.45262256264686584e-01 + density = 1.00215396881103516e+01 + pressure = 3.85158622562222080e+16 + e_thermal = 6.06869644745113600e+15 + entropy = 1.63879833600000000e+09 + temperature = 2.92342080000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62220120429992676e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623593330383301e-01 + He4 = 3.64848941564559937e-01 + O16 = 1.63249927572906017e-03 + N14 = 1.23869767412543297e-02 + C12 = 1.27945982967503369e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 27 + dm = 0.00000000000000000e+00 + mass = 2.41096802055835724e-02 + radius = 1.49808362126350403e-01 + density = 1.00066137313842773e+01 + pressure = 3.84239886107934720e+16 + e_thermal = 6.06297071917465600e+15 + entropy = 1.63879833600000000e+09 + temperature = 2.92094540000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62220180034637451e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623593330383301e-01 + He4 = 3.64848911762237549e-01 + O16 = 1.63249939214438200e-03 + N14 = 1.23869851231575012e-02 + C12 = 1.27939041703939438e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 28 + dm = 0.00000000000000000e+00 + mass = 2.63573154807090759e-02 + radius = 1.54371649026870728e-01 + density = 9.99119186401367188e+00 + pressure = 3.83291471429632000e+16 + e_thermal = 6.05705171736985600e+15 + entropy = 1.63879846400000000e+09 + temperature = 2.91838580000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62220239639282227e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623652935028076e-01 + He4 = 3.64848911762237549e-01 + O16 = 1.63249962497502565e-03 + N14 = 1.23869935050606728e-02 + C12 = 1.27931838505901396e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 29 + dm = 0.00000000000000000e+00 + mass = 2.87490449845790863e-02 + radius = 1.58955261111259460e-01 + density = 9.97526073455810547e+00 + pressure = 3.82312562483527680e+16 + e_thermal = 6.05093299958579200e+15 + entropy = 1.63879846400000000e+09 + temperature = 2.91573960000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62220299243927002e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623652935028076e-01 + He4 = 3.64848881959915161e-01 + O16 = 1.63249985780566931e-03 + N14 = 1.23870018869638443e-02 + C12 = 1.27924358821474016e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 30 + dm = 0.00000000000000000e+00 + mass = 3.12918946146965027e-02 + radius = 1.63562133908271790e-01 + density = 9.95880508422851562e+00 + pressure = 3.81302429125181440e+16 + e_thermal = 6.04460866024243200e+15 + entropy = 1.63879846400000000e+09 + temperature = 2.91300380000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62220358848571777e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623652935028076e-01 + He4 = 3.64848852157592773e-01 + O16 = 1.63249997422099113e-03 + N14 = 1.23870112001895905e-02 + C12 = 1.27916602650657296e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 31 + dm = 0.00000000000000000e+00 + mass = 3.39932292699813843e-02 + radius = 1.68195053935050964e-01 + density = 9.94181060791015625e+00 + pressure = 3.80260255310807040e+16 + e_thermal = 6.03807279375974400e+15 + entropy = 1.63879859200000000e+09 + temperature = 2.91017600000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62220418453216553e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623712539672852e-01 + He4 = 3.64848822355270386e-01 + O16 = 1.63250020705163479e-03 + N14 = 1.23870195820927620e-02 + C12 = 1.27908555441536009e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 32 + dm = 0.00000000000000000e+00 + mass = 3.68607901036739349e-02 + radius = 1.72856703400611877e-01 + density = 9.92426109313964844e+00 + pressure = 3.79185182046945280e+16 + e_thermal = 6.03131949455769600e+15 + entropy = 1.63879859200000000e+09 + temperature = 2.90725360000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62220478057861328e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623712539672852e-01 + He4 = 3.64848792552947998e-01 + O16 = 1.63250043988227844e-03 + N14 = 1.23870298266410828e-02 + C12 = 1.27900202642194927e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 33 + dm = 0.00000000000000000e+00 + mass = 3.99026796221733093e-02 + radius = 1.77549645304679871e-01 + density = 9.90614318847656250e+00 + pressure = 3.78076307390464000e+16 + e_thermal = 6.02434178331443200e+15 + entropy = 1.63879859200000000e+09 + temperature = 2.90423320000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62220537662506104e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623772144317627e-01 + He4 = 3.64848762750625610e-01 + O16 = 1.63250067271292210e-03 + N14 = 1.23870391398668289e-02 + C12 = 1.27891529700718820e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 34 + dm = 0.00000000000000000e+00 + mass = 4.31274101138114929e-02 + radius = 1.82276338338851929e-01 + density = 9.88743782043457031e+00 + pressure = 3.76932858247249920e+16 + e_thermal = 6.01713321757900800e+15 + entropy = 1.63879872000000000e+09 + temperature = 2.90111220000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62220597267150879e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623772144317627e-01 + He4 = 3.64848732948303223e-01 + O16 = 1.63250090554356575e-03 + N14 = 1.23870493844151497e-02 + C12 = 1.27882536617107689e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 35 + dm = 0.00000000000000000e+00 + mass = 4.65438887476921082e-02 + radius = 1.87039166688919067e-01 + density = 9.86813068389892578e+00 + pressure = 3.75753846774824960e+16 + e_thermal = 6.00968628115865600e+15 + entropy = 1.63879872000000000e+09 + temperature = 2.89788740000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62220716476440430e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623831748962402e-01 + He4 = 3.64848703145980835e-01 + O16 = 1.63250125478953123e-03 + N14 = 1.23870605602860451e-02 + C12 = 1.27873208839446306e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 36 + dm = 0.00000000000000000e+00 + mass = 5.01614548265933990e-02 + radius = 1.91840440034866333e-01 + density = 9.84820270538330078e+00 + pressure = 3.74538371030056960e+16 + e_thermal = 6.00199399473152000e+15 + entropy = 1.63879872000000000e+09 + temperature = 2.89455560000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62220776081085205e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623831748962402e-01 + He4 = 3.64848673343658447e-01 + O16 = 1.63250148762017488e-03 + N14 = 1.23870717361569405e-02 + C12 = 1.27863531815819442e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 37 + dm = 0.00000000000000000e+00 + mass = 5.39898835122585297e-02 + radius = 1.96682393550872803e-01 + density = 9.82763671875000000e+00 + pressure = 3.73285486120140800e+16 + e_thermal = 5.99404937897574400e+15 + entropy = 1.63879884800000000e+09 + temperature = 2.89111360000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62220835685729980e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623891353607178e-01 + He4 = 3.64848643541336060e-01 + O16 = 1.63250172045081854e-03 + N14 = 1.23870829120278358e-02 + C12 = 1.27853476442396641e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 38 + dm = 0.00000000000000000e+00 + mass = 5.80394119024276733e-02 + radius = 2.01567217707633972e-01 + density = 9.80641460418701172e+00 + pressure = 3.71994204202598400e+16 + e_thermal = 5.98584384395673600e+15 + entropy = 1.63879884800000000e+09 + temperature = 2.88755780000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62220954895019531e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623891353607178e-01 + He4 = 3.64848613739013672e-01 + O16 = 1.63250206969678402e-03 + N14 = 1.23870950192213058e-02 + C12 = 1.27843057271093130e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 39 + dm = 0.00000000000000000e+00 + mass = 6.23207539319992065e-02 + radius = 2.06497043371200562e-01 + density = 9.78451824188232422e+00 + pressure = 3.70663580384624640e+16 + e_thermal = 5.97737041035264000e+15 + entropy = 1.63879884800000000e+09 + temperature = 2.88388460000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62221014499664307e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623950958251953e-01 + He4 = 3.64848583936691284e-01 + O16 = 1.63250241894274950e-03 + N14 = 1.23871071264147758e-02 + C12 = 1.27832230646163225e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 40 + dm = 0.00000000000000000e+00 + mass = 6.68451264500617981e-02 + radius = 2.11473941802978516e-01 + density = 9.76192665100097656e+00 + pressure = 3.69292583874068480e+16 + e_thermal = 5.96862048822886400e+15 + entropy = 1.63879897600000000e+09 + temperature = 2.88009060000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62221133708953857e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15623950958251953e-01 + He4 = 3.64848524332046509e-01 + O16 = 1.63250265177339315e-03 + N14 = 1.23871201649308205e-02 + C12 = 1.27820996567606926e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 41 + dm = 0.00000000000000000e+00 + mass = 7.16242492198944092e-02 + radius = 2.16499999165534973e-01 + density = 9.73862171173095703e+00 + pressure = 3.67880226828451840e+16 + e_thermal = 5.95958548765081600e+15 + entropy = 1.63879897600000000e+09 + temperature = 2.87617200000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62221193313598633e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15624010562896729e-01 + He4 = 3.64848494529724121e-01 + O16 = 1.63250300101935863e-03 + N14 = 1.23871332034468651e-02 + C12 = 1.27809340483509004e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 42 + dm = 0.00000000000000000e+00 + mass = 7.66703933477401733e-02 + radius = 2.21577212214469910e-01 + density = 9.71458244323730469e+00 + pressure = 3.66425392556277760e+16 + e_thermal = 5.95025681868390400e+15 + entropy = 1.63879910400000000e+09 + temperature = 2.87212500000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62221312522888184e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15624070167541504e-01 + He4 = 3.64848464727401733e-01 + O16 = 1.63250335026532412e-03 + N14 = 1.23871471732854843e-02 + C12 = 1.27797233290039003e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 43 + dm = 0.00000000000000000e+00 + mass = 8.19963663816452026e-02 + radius = 2.26707592606544495e-01 + density = 9.68978881835937500e+00 + pressure = 3.64927093215068160e+16 + e_thermal = 5.94062535452262400e+15 + entropy = 1.63879910400000000e+09 + temperature = 2.86794520000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62221431732177734e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15624129772186279e-01 + He4 = 3.64848405122756958e-01 + O16 = 1.63250369951128960e-03 + N14 = 1.23871611431241035e-02 + C12 = 1.27784674987196922e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 44 + dm = 0.00000000000000000e+00 + mass = 8.76155793666839600e-02 + radius = 2.31893107295036316e-01 + density = 9.66421794891357422e+00 + pressure = 3.63384255062999040e+16 + e_thermal = 5.93068250523238400e+15 + entropy = 1.63879923200000000e+09 + temperature = 2.86362900000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62221491336822510e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15624129772186279e-01 + He4 = 3.64848345518112183e-01 + O16 = 1.63250416517257690e-03 + N14 = 1.23871760442852974e-02 + C12 = 1.27771621919237077e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 45 + dm = 0.00000000000000000e+00 + mass = 9.35420319437980652e-02 + radius = 2.37135723233222961e-01 + density = 9.63784980773925781e+00 + pressure = 3.61795718458900480e+16 + e_thermal = 5.92041807026585600e+15 + entropy = 1.63879923200000000e+09 + temperature = 2.85917200000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62221610546112061e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15624189376831055e-01 + He4 = 3.64848315715789795e-01 + O16 = 1.63250451441854239e-03 + N14 = 1.23871918767690659e-02 + C12 = 1.27758074086159468e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 46 + dm = 0.00000000000000000e+00 + mass = 9.97903272509574890e-02 + radius = 2.42437347769737244e-01 + density = 9.61066150665283203e+00 + pressure = 3.60160474085457920e+16 + e_thermal = 5.90982292281753600e+15 + entropy = 1.63879936000000000e+09 + temperature = 2.85456960000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62221729755401611e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15624248981475830e-01 + He4 = 3.64848256111145020e-01 + O16 = 1.63250498007982969e-03 + N14 = 1.23872077092528343e-02 + C12 = 1.27744002384133637e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 47 + dm = 0.00000000000000000e+00 + mass = 1.06375753879547119e-01 + radius = 2.47799962759017944e-01 + density = 9.58263111114501953e+00 + pressure = 3.58477319351828480e+16 + e_thermal = 5.89888686234009600e+15 + entropy = 1.63879948800000000e+09 + temperature = 2.84981760000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62221848964691162e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15624308586120605e-01 + He4 = 3.64848196506500244e-01 + O16 = 1.63250544574111700e-03 + N14 = 1.23872244730591774e-02 + C12 = 1.27729392261244357e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 48 + dm = 0.00000000000000000e+00 + mass = 1.13314241170883179e-01 + radius = 2.53225445747375488e-01 + density = 9.55373382568359375e+00 + pressure = 3.56745159041351680e+16 + e_thermal = 5.88759968828620800e+15 + entropy = 1.63879948800000000e+09 + temperature = 2.84491120000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62221968173980713e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15624368190765381e-01 + He4 = 3.64848136901855469e-01 + O16 = 1.63250591140240431e-03 + N14 = 1.23872421681880951e-02 + C12 = 1.27714214613661170e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 49 + dm = 0.00000000000000000e+00 + mass = 1.20622411370277405e-01 + radius = 2.58715748786926270e-01 + density = 9.52394580841064453e+00 + pressure = 3.54962854987694080e+16 + e_thermal = 5.87595066323763200e+15 + entropy = 1.63879961600000000e+09 + temperature = 2.83984580000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62222087383270264e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15624427795410156e-01 + He4 = 3.64848077297210693e-01 + O16 = 1.63250637706369162e-03 + N14 = 1.23872598633170128e-02 + C12 = 1.27698367577977479e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 50 + dm = 0.00000000000000000e+00 + mass = 1.28317624330520630e-01 + radius = 2.64272779226303101e-01 + density = 9.49324417114257812e+00 + pressure = 3.53129269024522240e+16 + e_thermal = 5.86392904977612800e+15 + entropy = 1.63879974400000000e+09 + temperature = 2.83461620000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62222266197204590e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15624487400054932e-01 + He4 = 3.64848017692565918e-01 + O16 = 1.63250695914030075e-03 + N14 = 1.23872784897685051e-02 + C12 = 1.27681691083125770e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 51 + dm = 0.00000000000000000e+00 + mass = 1.36417970061302185e-01 + radius = 2.69898444414138794e-01 + density = 9.46160411834716797e+00 + pressure = 3.51243198560993280e+16 + e_thermal = 5.85152357361254400e+15 + entropy = 1.63879974400000000e+09 + temperature = 2.82921780000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62222385406494141e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15624547004699707e-01 + He4 = 3.64847958087921143e-01 + O16 = 1.63250742480158806e-03 + N14 = 1.23872989788651466e-02 + C12 = 1.27664126921445131e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 52 + dm = 0.00000000000000000e+00 + mass = 1.44942313432693481e-01 + radius = 2.75594681501388550e-01 + density = 9.42899990081787109e+00 + pressure = 3.49303526905610240e+16 + e_thermal = 5.83872296045772800e+15 + entropy = 1.63879987200000000e+09 + temperature = 2.82364500000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62222504615783691e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15624606609344482e-01 + He4 = 3.64847868680953979e-01 + O16 = 1.63250812329351902e-03 + N14 = 1.23873194679617882e-02 + C12 = 1.27645602333359420e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 53 + dm = 0.00000000000000000e+00 + mass = 1.53910323977470398e-01 + radius = 2.81363397836685181e-01 + density = 9.39540481567382812e+00 + pressure = 3.47309051467530240e+16 + e_thermal = 5.82551539915161600e+15 + entropy = 1.63880000000000000e+09 + temperature = 2.81789280000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62222683429718018e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15624666213989258e-01 + He4 = 3.64847809076309204e-01 + O16 = 1.63250870537012815e-03 + N14 = 1.23873418197035789e-02 + C12 = 1.27626073663122952e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 54 + dm = 0.00000000000000000e+00 + mass = 1.63342446088790894e-01 + radius = 2.87206560373306274e-01 + density = 9.36079502105712891e+00 + pressure = 3.45258591130746880e+16 + e_thermal = 5.81188907853414400e+15 + entropy = 1.63880012800000000e+09 + temperature = 2.81195560000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62222802639007568e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15624785423278809e-01 + He4 = 3.64847719669342041e-01 + O16 = 1.63250940386205912e-03 + N14 = 1.23873651027679443e-02 + C12 = 1.27605482703074813e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 55 + dm = 0.00000000000000000e+00 + mass = 1.73260048031806946e-01 + radius = 2.93126076459884644e-01 + density = 9.32514095306396484e+00 + pressure = 3.43150986254090240e+16 + e_thermal = 5.79783111370342400e+15 + entropy = 1.63880025600000000e+09 + temperature = 2.80582760000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62222981452941895e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15624845027923584e-01 + He4 = 3.64847630262374878e-01 + O16 = 1.63251010235399008e-03 + N14 = 1.23873902484774590e-02 + C12 = 1.27583771245554090e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 56 + dm = 0.00000000000000000e+00 + mass = 1.83685302734375000e-01 + radius = 2.99123942852020264e-01 + density = 9.28841781616210938e+00 + pressure = 3.40985077196390400e+16 + e_thermal = 5.78332915662848000e+15 + entropy = 1.63880038400000000e+09 + temperature = 2.79950320000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62223100662231445e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15624964237213135e-01 + He4 = 3.64847540855407715e-01 + O16 = 1.63251091726124287e-03 + N14 = 1.23874163255095482e-02 + C12 = 1.27560895634815097e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 57 + dm = 0.00000000000000000e+00 + mass = 1.94641306996345520e-01 + radius = 3.05202126502990723e-01 + density = 9.25059795379638672e+00 + pressure = 3.38759639891968000e+16 + e_thermal = 5.76836978553651200e+15 + entropy = 1.63880051200000000e+09 + temperature = 2.79297640000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62223279476165771e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15625023841857910e-01 + He4 = 3.64847421646118164e-01 + O16 = 1.63251173216849566e-03 + N14 = 1.23874433338642120e-02 + C12 = 1.27536754007451236e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 58 + dm = 0.00000000000000000e+00 + mass = 2.06152126193046570e-01 + radius = 3.11362594366073608e-01 + density = 9.21165180206298828e+00 + pressure = 3.36473557649326080e+16 + e_thermal = 5.75294011552563200e+15 + entropy = 1.63880064000000000e+09 + temperature = 2.78624100000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62223458290100098e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15625143051147461e-01 + He4 = 3.64847302436828613e-01 + O16 = 1.63251266349107027e-03 + N14 = 1.23874722048640251e-02 + C12 = 1.27511317259632051e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 59 + dm = 0.00000000000000000e+00 + mass = 2.18242704868316650e-01 + radius = 3.17607343196868896e-01 + density = 9.17155265808105469e+00 + pressure = 3.34125649352458240e+16 + e_thermal = 5.73702672482304000e+15 + entropy = 1.63880076800000000e+09 + temperature = 2.77929080000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62223637104034424e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15625262260437012e-01 + He4 = 3.64847183227539062e-01 + O16 = 1.63251359481364489e-03 + N14 = 1.23875029385089874e-02 + C12 = 1.27484483527950943e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 60 + dm = 0.00000000000000000e+00 + mass = 2.30939030647277832e-01 + radius = 3.23938429355621338e-01 + density = 9.13027000427246094e+00 + pressure = 3.31714776835031040e+16 + e_thermal = 5.72061565478502400e+15 + entropy = 1.63880102400000000e+09 + temperature = 2.77211960000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62223815917968750e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15625381469726562e-01 + He4 = 3.64847064018249512e-01 + O16 = 1.63251464255154133e-03 + N14 = 1.23875346034765244e-02 + C12 = 1.27456209156662226e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 61 + dm = 0.00000000000000000e+00 + mass = 2.44268059730529785e-01 + radius = 3.30357849597930908e-01 + density = 9.08777618408203125e+00 + pressure = 3.29239801930711040e+16 + e_thermal = 5.70369187302604800e+15 + entropy = 1.63880115200000000e+09 + temperature = 2.76472040000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62223994731903076e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15625500679016113e-01 + He4 = 3.64846915006637573e-01 + O16 = 1.63251580670475960e-03 + N14 = 1.23875690624117851e-02 + C12 = 1.27426377730444074e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 62 + dm = 0.00000000000000000e+00 + mass = 2.58257806301116943e-01 + radius = 3.36867719888687134e-01 + density = 9.04404163360595703e+00 + pressure = 3.26699607948001280e+16 + e_thermal = 5.68624088403148800e+15 + entropy = 1.63880128000000000e+09 + temperature = 2.75708680000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62224173545837402e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15625679492950439e-01 + He4 = 3.64846765995025635e-01 + O16 = 1.63251697085797787e-03 + N14 = 1.23876044526696205e-02 + C12 = 1.27394931041635573e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 63 + dm = 0.00000000000000000e+00 + mass = 2.72937327623367310e-01 + radius = 3.43470096588134766e-01 + density = 8.99903678894042969e+00 + pressure = 3.24093099670241280e+16 + e_thermal = 5.66824872915763200e+15 + entropy = 1.63880153600000000e+09 + temperature = 2.74921160000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62224411964416504e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15625858306884766e-01 + He4 = 3.64846616983413696e-01 + O16 = 1.63251825142651796e-03 + N14 = 1.23876417055726051e-02 + C12 = 1.27361767226830125e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 64 + dm = 0.00000000000000000e+00 + mass = 2.88336753845214844e-01 + radius = 3.50167125463485718e-01 + density = 8.95273017883300781e+00 + pressure = 3.21419203355607040e+16 + e_thermal = 5.64969930227712000e+15 + entropy = 1.63880179200000000e+09 + temperature = 2.74108760000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62224590778350830e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15625977516174316e-01 + He4 = 3.64846438169479370e-01 + O16 = 1.63251964841037989e-03 + N14 = 1.23876817524433136e-02 + C12 = 1.27326798974536359e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 65 + dm = 0.00000000000000000e+00 + mass = 3.04487317800521851e-01 + radius = 3.56960892677307129e-01 + density = 8.90509223937988281e+00 + pressure = 3.18676888211947520e+16 + e_thermal = 5.63057703413350400e+15 + entropy = 1.63880204800000000e+09 + temperature = 2.73270780000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62224829196929932e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15626156330108643e-01 + He4 = 3.64846229553222656e-01 + O16 = 1.63252116180956364e-03 + N14 = 1.23877236619591713e-02 + C12 = 1.27289924421347678e-04 + Ne20 = 1.84110307600349188e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 66 + dm = 0.00000000000000000e+00 + mass = 3.21421384811401367e-01 + radius = 3.63853633403778076e-01 + density = 8.85609340667724609e+00 + pressure = 3.15865123447111680e+16 + e_thermal = 5.61086581859942400e+15 + entropy = 1.63880230400000000e+09 + temperature = 2.72406460000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62225008010864258e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15626394748687744e-01 + He4 = 3.64846050739288330e-01 + O16 = 1.63252279162406921e-03 + N14 = 1.23877674341201782e-02 + C12 = 1.27251027151942253e-04 + Ne20 = 1.84110295958817005e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 67 + dm = 0.00000000000000000e+00 + mass = 3.39172482490539551e-01 + radius = 3.70847493410110474e-01 + density = 8.80570125579833984e+00 + pressure = 3.12982985643130880e+16 + e_thermal = 5.59055008641843200e+15 + entropy = 1.63880256000000000e+09 + temperature = 2.71515020000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62225246429443359e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15626573562622070e-01 + He4 = 3.64845812320709229e-01 + O16 = 1.63252453785389662e-03 + N14 = 1.23878140002489090e-02 + C12 = 1.27210005302913487e-04 + Ne20 = 1.84110295958817005e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 68 + dm = 0.00000000000000000e+00 + mass = 3.57775270938873291e-01 + radius = 3.77944737672805786e-01 + density = 8.75388717651367188e+00 + pressure = 3.10029486957527040e+16 + e_thermal = 5.56961265772134400e+15 + entropy = 1.63880281600000000e+09 + temperature = 2.70595700000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62225484848022461e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15626811981201172e-01 + He4 = 3.64845573902130127e-01 + O16 = 1.63252640049904585e-03 + N14 = 1.23878624290227890e-02 + C12 = 1.27166727907024324e-04 + Ne20 = 1.84110295958817005e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 69 + dm = 0.00000000000000000e+00 + mass = 3.77265602350234985e-01 + radius = 3.85147631168365479e-01 + density = 8.70061779022216797e+00 + pressure = 3.07003789871677440e+16 + e_thermal = 5.54803688950988800e+15 + entropy = 1.63880320000000000e+09 + temperature = 2.69647700000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62225723266601562e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15627050399780273e-01 + He4 = 3.64845305681228638e-01 + O16 = 1.63252837955951691e-03 + N14 = 1.23879136517643929e-02 + C12 = 1.27121093100868165e-04 + Ne20 = 1.84110295958817005e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 70 + dm = 0.00000000000000000e+00 + mass = 3.97680491209030151e-01 + radius = 3.92458438873291016e-01 + density = 8.64586353302001953e+00 + pressure = 3.03905035392122880e+16 + e_thermal = 5.52580506504396800e+15 + entropy = 1.63880358400000000e+09 + temperature = 2.68670180000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62225961685180664e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15627348423004150e-01 + He4 = 3.64845037460327148e-01 + O16 = 1.63253059145063162e-03 + N14 = 1.23879676684737206e-02 + C12 = 1.27072940813377500e-04 + Ne20 = 1.84110295958817005e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 71 + dm = 0.00000000000000000e+00 + mass = 4.19058173894882202e-01 + radius = 3.99879515171051025e-01 + density = 8.58959293365478516e+00 + pressure = 3.00732471899586560e+16 + e_thermal = 5.50290054132531200e+15 + entropy = 1.63880396800000000e+09 + temperature = 2.67662300000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62226200103759766e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15627646446228027e-01 + He4 = 3.64844739437103271e-01 + O16 = 1.63253303617238998e-03 + N14 = 1.23880254104733467e-02 + C12 = 1.27022154629230499e-04 + Ne20 = 1.84110295958817005e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 72 + dm = 0.00000000000000000e+00 + mass = 4.41438138484954834e-01 + radius = 4.07413214445114136e-01 + density = 8.53177547454833984e+00 + pressure = 2.97485369249628160e+16 + e_thermal = 5.47930452787200000e+15 + entropy = 1.63880435200000000e+09 + temperature = 2.66623240000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62226438522338867e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15628004074096680e-01 + He4 = 3.64844381809234619e-01 + O16 = 1.63253559730947018e-03 + N14 = 1.23880850151181221e-02 + C12 = 1.26968574477359653e-04 + Ne20 = 1.84110295958817005e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 73 + dm = 0.00000000000000000e+00 + mass = 4.64861065149307251e-01 + radius = 4.15061950683593750e-01 + density = 8.47237968444824219e+00 + pressure = 2.94163126146826240e+16 + e_thermal = 5.45499930794393600e+15 + entropy = 1.63880486400000000e+09 + temperature = 2.65552080000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62226676940917969e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15628361701965332e-01 + He4 = 3.64844024181365967e-01 + O16 = 1.63253850769251585e-03 + N14 = 1.23881492763757706e-02 + C12 = 1.26912040286697447e-04 + Ne20 = 1.84110295958817005e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 74 + dm = 0.00000000000000000e+00 + mass = 4.89368766546249390e-01 + radius = 4.22828167676925659e-01 + density = 8.41137695312500000e+00 + pressure = 2.90765141295759360e+16 + e_thermal = 5.42996662793011200e+15 + entropy = 1.63880537600000000e+09 + temperature = 2.64447960000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62226974964141846e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15628719329833984e-01 + He4 = 3.64843606948852539e-01 + O16 = 1.63254153449088335e-03 + N14 = 1.23882154002785683e-02 + C12 = 1.26852391986176372e-04 + Ne20 = 1.84110295958817005e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 75 + dm = 0.00000000000000000e+00 + mass = 5.15004396438598633e-01 + radius = 4.30714339017868042e-01 + density = 8.34873485565185547e+00 + pressure = 2.87290942250024960e+16 + e_thermal = 5.40418716047769600e+15 + entropy = 1.63880588800000000e+09 + temperature = 2.63309960000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62227213382720947e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15629136562347412e-01 + He4 = 3.64843189716339111e-01 + O16 = 1.63254491053521633e-03 + N14 = 1.23882861807942390e-02 + C12 = 1.26789469504728913e-04 + Ne20 = 1.84110295958817005e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 76 + dm = 0.00000000000000000e+00 + mass = 5.41812181472778320e-01 + radius = 4.38722997903823853e-01 + density = 8.28442478179931641e+00 + pressure = 2.83740142462566400e+16 + e_thermal = 5.37764265197568000e+15 + entropy = 1.63880652800000000e+09 + temperature = 2.62137160000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62227451801300049e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15629613399505615e-01 + He4 = 3.64842712879180908e-01 + O16 = 1.63254863582551479e-03 + N14 = 1.23883606866002083e-02 + C12 = 1.26723083667457104e-04 + Ne20 = 1.84110295958817005e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 77 + dm = 0.00000000000000000e+00 + mass = 5.69837629795074463e-01 + radius = 4.46856737136840820e-01 + density = 8.21841621398925781e+00 + pressure = 2.80112441285672960e+16 + e_thermal = 5.35031323820032000e+15 + entropy = 1.63880716800000000e+09 + temperature = 2.60928620000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62227749824523926e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15630149841308594e-01 + He4 = 3.64842176437377930e-01 + O16 = 1.63255259394645691e-03 + N14 = 1.23884389176964760e-02 + C12 = 1.26653045299462974e-04 + Ne20 = 1.84110295958817005e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 78 + dm = 0.00000000000000000e+00 + mass = 5.99127411842346191e-01 + radius = 4.55118119716644287e-01 + density = 8.15068244934082031e+00 + pressure = 2.76407666920652800e+16 + e_thermal = 5.32217959179878400e+15 + entropy = 1.63880793600000000e+09 + temperature = 2.59683340000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62227988243103027e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15630686283111572e-01 + He4 = 3.64841580390930176e-01 + O16 = 1.63255713414400816e-03 + N14 = 1.23885208740830421e-02 + C12 = 1.26579136122018099e-04 + Ne20 = 1.84110295958817005e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 79 + dm = 0.00000000000000000e+00 + mass = 6.29729330539703369e-01 + radius = 4.63509857654571533e-01 + density = 8.08119297027587891e+00 + pressure = 2.72625733468160000e+16 + e_thermal = 5.29322238541824000e+15 + entropy = 1.63880870400000000e+09 + temperature = 2.58400400000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62228286266326904e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15631341934204102e-01 + He4 = 3.64840954542160034e-01 + O16 = 1.63256190717220306e-03 + N14 = 1.23886074870824814e-02 + C12 = 1.26501166960224509e-04 + Ne20 = 1.84110295958817005e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 80 + dm = 0.00000000000000000e+00 + mass = 6.61692202091217041e-01 + radius = 4.72034633159637451e-01 + density = 8.00992107391357422e+00 + pressure = 2.68766662403031040e+16 + e_thermal = 5.26342121796403200e+15 + entropy = 1.63880960000000000e+09 + temperature = 2.57078760000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62228524684906006e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15632057189941406e-01 + He4 = 3.64840239286422729e-01 + O16 = 1.63256726227700710e-03 + N14 = 1.23886987566947937e-02 + C12 = 1.26418904983438551e-04 + Ne20 = 1.84110295958817005e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 81 + dm = 0.00000000000000000e+00 + mass = 6.95065975189208984e-01 + radius = 4.80695188045501709e-01 + density = 7.93684101104736328e+00 + pressure = 2.64830646998794240e+16 + e_thermal = 5.23275622521241600e+15 + entropy = 1.63881062400000000e+09 + temperature = 2.55717420000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62228763103485107e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15632772445678711e-01 + He4 = 3.64839464426040649e-01 + O16 = 1.63257319945842028e-03 + N14 = 1.23887946829199791e-02 + C12 = 1.26332117361016572e-04 + Ne20 = 1.84110295958817005e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 82 + dm = 0.00000000000000000e+00 + mass = 7.29901731014251709e-01 + radius = 4.89494353532791138e-01 + density = 7.86192607879638672e+00 + pressure = 2.60817987903160320e+16 + e_thermal = 5.20120754293964800e+15 + entropy = 1.63881164800000000e+09 + temperature = 2.54315360000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62229001522064209e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15633666515350342e-01 + He4 = 3.64838600158691406e-01 + O16 = 1.63257983513176441e-03 + N14 = 1.23888961970806122e-02 + C12 = 1.26240556710399687e-04 + Ne20 = 1.84110295958817005e-03 + Mg24 = 6.76177209243178368e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 83 + dm = 0.00000000000000000e+00 + mass = 7.66251206398010254e-01 + radius = 4.98434931039810181e-01 + density = 7.78515195846557617e+00 + pressure = 2.56729114612858880e+16 + e_thermal = 5.16875369630924800e+15 + entropy = 1.63881292800000000e+09 + temperature = 2.52871560000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62229239940643311e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15634620189666748e-01 + He4 = 3.64837616682052612e-01 + O16 = 1.63258705288171768e-03 + N14 = 1.23890023678541183e-02 + C12 = 1.26143961097113788e-04 + Ne20 = 1.84110295958817005e-03 + Mg24 = 6.76177151035517454e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 84 + dm = 0.00000000000000000e+00 + mass = 8.04167330265045166e-01 + radius = 5.07519900798797607e-01 + density = 7.70649528503417969e+00 + pressure = 2.52564649898147840e+16 + e_thermal = 5.13537535796838400e+15 + entropy = 1.63881433600000000e+09 + temperature = 2.51384940000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62229418754577637e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15635693073272705e-01 + He4 = 3.64836543798446655e-01 + O16 = 1.63259508553892374e-03 + N14 = 1.23891141265630722e-02 + C12 = 1.26042054034769535e-04 + Ne20 = 1.84110284317284822e-03 + Mg24 = 6.76177151035517454e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 85 + dm = 0.00000000000000000e+00 + mass = 8.43703567981719971e-01 + radius = 5.16752183437347412e-01 + density = 7.62593460083007812e+00 + pressure = 2.48325366853140480e+16 + e_thermal = 5.10105158995148800e+15 + entropy = 1.63881587200000000e+09 + temperature = 2.49854440000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62229597568511963e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15636825561523438e-01 + He4 = 3.64835351705551147e-01 + O16 = 1.63260416593402624e-03 + N14 = 1.23892314732074738e-02 + C12 = 1.25934544485062361e-04 + Ne20 = 1.84110284317284822e-03 + Mg24 = 6.76177151035517454e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 86 + dm = 0.00000000000000000e+00 + mass = 8.84914338588714600e-01 + radius = 5.26134729385375977e-01 + density = 7.54344940185546875e+00 + pressure = 2.44012167420968960e+16 + e_thermal = 5.06576145429299200e+15 + entropy = 1.63881753600000000e+09 + temperature = 2.48279000000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62229776382446289e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15638196468353271e-01 + He4 = 3.64833980798721313e-01 + O16 = 1.63261417765170336e-03 + N14 = 1.23893544077873230e-02 + C12 = 1.25821097753942013e-04 + Ne20 = 1.84110284317284822e-03 + Mg24 = 6.76177151035517454e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 87 + dm = 0.00000000000000000e+00 + mass = 9.27854359149932861e-01 + radius = 5.35670757293701172e-01 + density = 7.45902013778686523e+00 + pressure = 2.39626211242803200e+16 + e_thermal = 5.02948508676915200e+15 + entropy = 1.63881945600000000e+09 + temperature = 2.46657520000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62229895591735840e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15639686584472656e-01 + He4 = 3.64832460880279541e-01 + O16 = 1.63262546993792057e-03 + N14 = 1.23894847929477692e-02 + C12 = 1.25701393699273467e-04 + Ne20 = 1.84110284317284822e-03 + Mg24 = 6.76177151035517454e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 88 + dm = 0.00000000000000000e+00 + mass = 9.72579061985015869e-01 + radius = 5.45363247394561768e-01 + density = 7.37263059616088867e+00 + pressure = 2.35168765333995520e+16 + e_thermal = 4.99220154941440000e+15 + entropy = 1.63882176000000000e+09 + temperature = 2.44988920000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62229955196380615e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15641355514526367e-01 + He4 = 3.64830762147903442e-01 + O16 = 1.63263815920799971e-03 + N14 = 1.23896207660436630e-02 + C12 = 1.25575024867430329e-04 + Ne20 = 1.84110284317284822e-03 + Mg24 = 6.76177151035517454e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 89 + dm = 0.00000000000000000e+00 + mass = 1.01914405822753906e+00 + radius = 5.55215418338775635e-01 + density = 7.28426551818847656e+00 + pressure = 2.30641375882772480e+16 + e_thermal = 4.95389097800499200e+15 + entropy = 1.63882419200000000e+09 + temperature = 2.43272100000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62229955196380615e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15643262863159180e-01 + He4 = 3.64828824996948242e-01 + O16 = 1.63265236187726259e-03 + N14 = 1.23897632583975792e-02 + C12 = 1.25441612908616662e-04 + Ne20 = 1.84110284317284822e-03 + Mg24 = 6.76177151035517454e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 90 + dm = 0.00000000000000000e+00 + mass = 1.06760513782501221e+00 + radius = 5.65230488777160645e-01 + density = 7.19391250610351562e+00 + pressure = 2.26045717926379520e+16 + e_thermal = 4.91453243457536000e+15 + entropy = 1.63882700800000000e+09 + temperature = 2.41505920000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62229895591735840e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15645408630371094e-01 + He4 = 3.64826649427413940e-01 + O16 = 1.63266854360699654e-03 + N14 = 1.23899132013320923e-02 + C12 = 1.25300706713460386e-04 + Ne20 = 1.84110272675752640e-03 + Mg24 = 6.76177151035517454e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 91 + dm = 0.00000000000000000e+00 + mass = 1.11801826953887939e+00 + radius = 5.75411856174468994e-01 + density = 7.10156059265136719e+00 + pressure = 2.21383724200099840e+16 + e_thermal = 4.87410551803084800e+15 + entropy = 1.63883020800000000e+09 + temperature = 2.39689320000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62229716777801514e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15647912025451660e-01 + He4 = 3.64824175834655762e-01 + O16 = 1.63268693722784519e-03 + N14 = 1.23900705948472023e-02 + C12 = 1.25151826068758965e-04 + Ne20 = 1.84110272675752640e-03 + Mg24 = 6.76177092827856541e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 92 + dm = 0.00000000000000000e+00 + mass = 1.17043912410736084e+00 + radius = 5.85762739181518555e-01 + density = 7.00720167160034180e+00 + pressure = 2.16657585137254400e+16 + e_thermal = 4.83259197476044800e+15 + entropy = 1.63883392000000000e+09 + temperature = 2.37821160000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62229418754577637e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15650713443756104e-01 + He4 = 3.64821314811706543e-01 + O16 = 1.63270789198577404e-03 + N14 = 1.23902363702654839e-02 + C12 = 1.24994447105564177e-04 + Ne20 = 1.84110272675752640e-03 + Mg24 = 6.76177092827856541e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 93 + dm = 0.00000000000000000e+00 + mass = 1.22492265701293945e+00 + radius = 5.96286654472351074e-01 + density = 6.91083145141601562e+00 + pressure = 2.11869641495019520e+16 + e_thermal = 4.78997086679859200e+15 + entropy = 1.63883827200000000e+09 + temperature = 2.35900320000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62229001522064209e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15653932094573975e-01 + He4 = 3.64818066358566284e-01 + O16 = 1.63273175712674856e-03 + N14 = 1.23904086649417877e-02 + C12 = 1.24828045954927802e-04 + Ne20 = 1.84110261034220457e-03 + Mg24 = 6.76177092827856541e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 94 + dm = 0.00000000000000000e+00 + mass = 1.28152370452880859e+00 + radius = 6.06987059116363525e-01 + density = 6.81244707107543945e+00 + pressure = 2.07022534678282240e+16 + e_thermal = 4.74622340366336000e+15 + entropy = 1.63884313600000000e+09 + temperature = 2.33925720000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62228345870971680e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15657627582550049e-01 + He4 = 3.64814311265945435e-01 + O16 = 1.63275923114269972e-03 + N14 = 1.23905902728438377e-02 + C12 = 1.24651996884495020e-04 + Ne20 = 1.84110261034220457e-03 + Mg24 = 6.76177092827856541e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 95 + dm = 0.00000000000000000e+00 + mass = 1.34029591083526611e+00 + radius = 6.17867410182952881e-01 + density = 6.71204948425292969e+00 + pressure = 2.02119163789967360e+16 + e_thermal = 4.70133186861465600e+15 + entropy = 1.63884876800000000e+09 + temperature = 2.31896240000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62227511405944824e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15661978721618652e-01 + He4 = 3.64809960126876831e-01 + O16 = 1.63279101252555847e-03 + N14 = 1.23907793313264847e-02 + C12 = 1.24465645058080554e-04 + Ne20 = 1.84110249392688274e-03 + Mg24 = 6.76177034620195627e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 96 + dm = 0.00000000000000000e+00 + mass = 1.40129184722900391e+00 + radius = 6.28931403160095215e-01 + density = 6.60964250564575195e+00 + pressure = 1.97162621206528000e+16 + e_thermal = 4.65527747117056000e+15 + entropy = 1.63885542400000000e+09 + temperature = 2.29810780000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62226378917694092e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15666925907135010e-01 + He4 = 3.64804923534393311e-01 + O16 = 1.63282768335193396e-03 + N14 = 1.23909767717123032e-02 + C12 = 1.24268262879922986e-04 + Ne20 = 1.84110249392688274e-03 + Mg24 = 6.76177034620195627e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 97 + dm = 0.00000000000000000e+00 + mass = 1.46456241607666016e+00 + radius = 6.40182673931121826e-01 + density = 6.50523471832275391e+00 + pressure = 1.92156299952128000e+16 + e_thermal = 4.60804356833280000e+15 + entropy = 1.63886323200000000e+09 + temperature = 2.27668300000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62224948406219482e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15672767162322998e-01 + He4 = 3.64799052476882935e-01 + O16 = 1.63287064060568810e-03 + N14 = 1.23911825940012932e-02 + C12 = 1.24058991787023842e-04 + Ne20 = 1.84110237751156092e-03 + Mg24 = 6.76176976412534714e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 98 + dm = 0.00000000000000000e+00 + mass = 1.53015708923339844e+00 + radius = 6.51624917984008789e-01 + density = 6.39883661270141602e+00 + pressure = 1.87103872223805440e+16 + e_thermal = 4.55961244336128000e+15 + entropy = 1.63887244800000000e+09 + temperature = 2.25467680000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62222981452941895e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15679621696472168e-01 + He4 = 3.64792168140411377e-01 + O16 = 1.63292081560939550e-03 + N14 = 1.23913977295160294e-02 + C12 = 1.23836900456808507e-04 + Ne20 = 1.84110226109623909e-03 + Mg24 = 6.76176976412534714e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 99 + dm = 0.00000000000000000e+00 + mass = 1.59812271595001221e+00 + radius = 6.63261950016021729e-01 + density = 6.29046392440795898e+00 + pressure = 1.82009246441799680e+16 + e_thermal = 4.50996960074137600e+15 + entropy = 1.63888320000000000e+09 + temperature = 2.23207920000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62220537662506104e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15687727928161621e-01 + He4 = 3.64784032106399536e-01 + O16 = 1.63297995459288359e-03 + N14 = 1.23916203156113625e-02 + C12 = 1.23600810184143484e-04 + Ne20 = 1.84110226109623909e-03 + Mg24 = 6.76176918204873800e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 100 + dm = 0.00000000000000000e+00 + mass = 1.66850399971008301e+00 + radius = 6.75097584724426270e-01 + density = 6.18013620376586914e+00 + pressure = 1.76876642411479040e+16 + e_thermal = 4.45909973965209600e+15 + entropy = 1.63889612800000000e+09 + temperature = 2.20887980000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62217378616333008e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15697324275970459e-01 + He4 = 3.64774376153945923e-01 + O16 = 1.63305003661662340e-03 + N14 = 1.23918512836098671e-02 + C12 = 1.23349440400488675e-04 + Ne20 = 1.84110202826559544e-03 + Mg24 = 6.76176859997212887e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 101 + dm = 0.00000000000000000e+00 + mass = 1.74134230613708496e+00 + radius = 6.87135815620422363e-01 + density = 6.06787729263305664e+00 + pressure = 1.71710516161413120e+16 + e_thermal = 4.40698943832064000e+15 + entropy = 1.63891161600000000e+09 + temperature = 2.18506840000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62213385105133057e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15708827972412109e-01 + He4 = 3.64762842655181885e-01 + O16 = 1.63313362281769514e-03 + N14 = 1.23920897021889687e-02 + C12 = 1.23081248602829874e-04 + Ne20 = 1.84110191185027361e-03 + Mg24 = 6.76176801789551973e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 102 + dm = 0.00000000000000000e+00 + mass = 1.81667602062225342e+00 + radius = 6.99380517005920410e-01 + density = 5.95371532440185547e+00 + pressure = 1.66515624367882240e+16 + e_thermal = 4.35362634871603200e+15 + entropy = 1.63893017600000000e+09 + temperature = 2.16063580000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62208259105682373e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15722596645355225e-01 + He4 = 3.64749014377593994e-01 + O16 = 1.63323408924043179e-03 + N14 = 1.23923355713486671e-02 + C12 = 1.22794459457509220e-04 + Ne20 = 1.84110179543495178e-03 + Mg24 = 6.76176743581891060e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 103 + dm = 0.00000000000000000e+00 + mass = 1.89453935623168945e+00 + radius = 7.11835801601409912e-01 + density = 5.83768320083618164e+00 + pressure = 1.61296992142622720e+16 + e_thermal = 4.29900027029094400e+15 + entropy = 1.63895283200000000e+09 + temperature = 2.13557260000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62201762199401855e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15739285945892334e-01 + He4 = 3.64732235670089722e-01 + O16 = 1.63335539400577545e-03 + N14 = 1.23925860971212387e-02 + C12 = 1.22486831969581544e-04 + Ne20 = 1.84110156260430813e-03 + Mg24 = 6.76176685374230146e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 104 + dm = 0.00000000000000000e+00 + mass = 1.97496211528778076e+00 + radius = 7.24505722522735596e-01 + density = 5.71981859207153320e+00 + pressure = 1.56059923770245120e+16 + e_thermal = 4.24310207623987200e+15 + entropy = 1.63898035200000000e+09 + temperature = 2.10986960000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62193417549133301e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15759670734405518e-01 + He4 = 3.64711821079254150e-01 + O16 = 1.63350324146449566e-03 + N14 = 1.23928412795066833e-02 + C12 = 1.22155703138560057e-04 + Ne20 = 1.84110121335834265e-03 + Mg24 = 6.76176568958908319e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 105 + dm = 0.00000000000000000e+00 + mass = 2.05796933174133301e+00 + radius = 7.37394511699676514e-01 + density = 5.60016345977783203e+00 + pressure = 1.50809981233397760e+16 + e_thermal = 4.18592451880550400e+15 + entropy = 1.63901440000000000e+09 + temperature = 2.08351880000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62182748317718506e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15784645080566406e-01 + He4 = 3.64686727523803711e-01 + O16 = 1.63368473295122385e-03 + N14 = 1.23930973932147026e-02 + C12 = 1.21797878819052130e-04 + Ne20 = 1.84110098052769899e-03 + Mg24 = 6.76176452543586493e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 106 + dm = 0.00000000000000000e+00 + mass = 2.14358067512512207e+00 + radius = 7.50506341457366943e-01 + density = 5.47876548767089844e+00 + pressure = 1.45552994950184960e+16 + e_thermal = 4.12746357145600000e+15 + entropy = 1.63905664000000000e+09 + temperature = 2.05651240000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62169098854064941e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15815639495849609e-01 + He4 = 3.64655643701553345e-01 + O16 = 1.63390929810702801e-03 + N14 = 1.23933507129549980e-02 + C12 = 1.21409626444801688e-04 + Ne20 = 1.84110051486641169e-03 + Mg24 = 6.76176336128264666e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 107 + dm = 0.00000000000000000e+00 + mass = 2.23180937767028809e+00 + radius = 7.63845801353454590e-01 + density = 5.35549688339233398e+00 + pressure = 1.40295063774167040e+16 + e_thermal = 4.06786767899852800e+15 + entropy = 1.63912115200000000e+09 + temperature = 2.02890320000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62151515483856201e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15854322910308838e-01 + He4 = 3.64616900682449341e-01 + O16 = 1.63418939337134361e-03 + N14 = 1.23935965821146965e-02 + C12 = 1.20986078400164843e-04 + Ne20 = 1.84110004920512438e-03 + Mg24 = 6.76176103297621012e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 108 + dm = 0.00000000000000000e+00 + mass = 2.32266211509704590e+00 + radius = 7.77418553829193115e-01 + density = 5.22972583770751953e+00 + pressure = 1.35042554994360320e+16 + e_thermal = 4.00772390977536000e+15 + entropy = 1.63925849600000000e+09 + temperature = 2.00092060000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62128567695617676e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15903377532958984e-01 + He4 = 3.64567726850509644e-01 + O16 = 1.63454457651823759e-03 + N14 = 1.23938266187906265e-02 + C12 = 1.20517965115141124e-04 + Ne20 = 1.84109935071319342e-03 + Mg24 = 6.76175870466977358e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 109 + dm = 0.00000000000000000e+00 + mass = 2.41613793373107910e+00 + radius = 7.91231989860534668e-01 + density = 5.10102939605712891e+00 + pressure = 1.29802136547491840e+16 + e_thermal = 3.94746981357977600e+15 + entropy = 1.63951219200000000e+09 + temperature = 1.97273560000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62097632884979248e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.15967690944671631e-01 + He4 = 3.64503294229507446e-01 + O16 = 1.63501023780554533e-03 + N14 = 1.23940352350473404e-02 + C12 = 1.19984761113300920e-04 + Ne20 = 1.84109853580594063e-03 + Mg24 = 6.76175579428672791e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 110 + dm = 0.00000000000000000e+00 + mass = 2.51222777366638184e+00 + radius = 8.05294513702392578e-01 + density = 4.96948909759521484e+00 + pressure = 1.24580787755417600e+16 + e_thermal = 3.88713652892467200e+15 + entropy = 1.63990028800000000e+09 + temperature = 1.94435080000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.62053465843200684e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.16056919097900391e-01 + He4 = 3.64413827657699585e-01 + O16 = 1.63565657567232847e-03 + N14 = 1.23942084610462189e-02 + C12 = 1.19343581900466233e-04 + Ne20 = 1.84109737165272236e-03 + Mg24 = 6.76175171975046396e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 111 + dm = 0.00000000000000000e+00 + mass = 2.61091470718383789e+00 + radius = 8.19615125656127930e-01 + density = 4.83515787124633789e+00 + pressure = 1.19385756375449600e+16 + e_thermal = 3.82679277528678400e+15 + entropy = 1.64045836800000000e+09 + temperature = 1.91576980000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.61984145641326904e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.16193234920501709e-01 + He4 = 3.64277273416519165e-01 + O16 = 1.63664366118609905e-03 + N14 = 1.23943164944648743e-02 + C12 = 1.18498668598476797e-04 + Ne20 = 1.84109562542289495e-03 + Mg24 = 6.76174473483115435e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 112 + dm = 0.00000000000000000e+00 + mass = 2.71217250823974609e+00 + radius = 8.34203839302062988e-01 + density = 4.69794416427612305e+00 + pressure = 1.14224504913264640e+16 + e_thermal = 3.76664068456448000e+15 + entropy = 1.64128396800000000e+09 + temperature = 1.88699620000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.61853313446044922e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.16443336009979248e-01 + He4 = 3.64026755094528198e-01 + O16 = 1.63845613133162260e-03 + N14 = 1.23942559584975243e-02 + C12 = 1.17169671284500510e-04 + Ne20 = 1.84109224937856197e-03 + Mg24 = 6.76173309329897165e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 113 + dm = 0.00000000000000000e+00 + mass = 2.81596565246582031e+00 + radius = 8.49073112010955811e-01 + density = 4.55694961547851562e+00 + pressure = 1.09104817997086720e+16 + e_thermal = 3.70756287253708800e+15 + entropy = 1.64279411200000000e+09 + temperature = 1.85803260000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.61499440670013428e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.17104589939117432e-01 + He4 = 3.63364547491073608e-01 + O16 = 1.64325674995779991e-03 + N14 = 1.23934550210833549e-02 + C12 = 1.14197864604648203e-04 + Ne20 = 1.84108363464474678e-03 + Mg24 = 6.76170107908546925e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 114 + dm = 0.00000000000000000e+00 + mass = 2.92222094535827637e+00 + radius = 8.64331364631652832e-01 + density = 4.35558223724365234e+00 + pressure = 1.04037218296791040e+16 + e_thermal = 3.69702463340544000e+15 + entropy = 1.66722176000000000e+09 + temperature = 1.82879140000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.52320981025695801e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.34233057498931885e-01 + He4 = 3.46217304468154907e-01 + O16 = 1.77143968176096678e-03 + N14 = 1.23155610635876656e-02 + C12 = 8.33219819469377398e-05 + Ne20 = 1.84085906948894262e-03 + Mg24 = 6.76087627653032541e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 115 + dm = 0.00000000000000000e+00 + mass = 3.03083825111389160e+00 + radius = 8.80189120769500732e-01 + density = 4.10288333892822266e+00 + pressure = 9.90362335392563200e+15 + e_thermal = 3.73400725461401600e+15 + entropy = 1.71536064000000000e+09 + temperature = 1.79909860000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.34698569774627686e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.68493628501892090e-01 + He4 = 3.11917066574096680e-01 + O16 = 2.10470310412347317e-03 + N14 = 1.20403943583369255e-02 + C12 = 6.61831436445936561e-05 + Ne20 = 1.84040993917733431e-03 + Mg24 = 6.75922667142003775e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 116 + dm = 0.00000000000000000e+00 + mass = 3.14179778099060059e+00 + radius = 8.96678984165191650e-01 + density = 3.90536499023437500e+00 + pressure = 9.41142547051315200e+15 + e_thermal = 3.72602666850713600e+15 + entropy = 1.74389324800000000e+09 + temperature = 1.76895940000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.24785244464874268e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.88717067241668701e-01 + He4 = 2.91192442178726196e-01 + O16 = 6.12190784886479378e-03 + N14 = 8.54702759534120560e-03 + C12 = 4.43137614638544619e-05 + Ne20 = 1.84014893602579832e-03 + Mg24 = 6.75826799124479294e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 117 + dm = 0.00000000000000000e+00 + mass = 3.25513553619384766e+00 + radius = 9.13653790950775146e-01 + density = 3.74892377853393555e+00 + pressure = 8.92787067191296000e+15 + e_thermal = 3.68044391215923200e+15 + entropy = 1.75535014400000000e+09 + temperature = 1.73853680000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.21089398860931396e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.96459472179412842e-01 + He4 = 2.83125489950180054e-01 + O16 = 8.72504245489835739e-03 + N14 = 6.27704989165067673e-03 + C12 = 3.59896293957717717e-05 + Ne20 = 1.84005009941756725e-03 + Mg24 = 6.75790535751730204e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 118 + dm = 0.00000000000000000e+00 + mass = 3.37084364891052246e+00 + radius = 9.31016623973846436e-01 + density = 3.60880494117736816e+00 + pressure = 8.45354468429004800e+15 + e_thermal = 3.61873623796940800e+15 + entropy = 1.75940979200000000e+09 + temperature = 1.70793400000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.20045959949493408e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.98680639266967773e-01 + He4 = 2.80787229537963867e-01 + O16 = 9.69050824642181396e-03 + N14 = 5.41170593351125717e-03 + C12 = 5.30462348251603544e-05 + Ne20 = 1.84002204332500696e-03 + Mg24 = 6.75780232995748520e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 119 + dm = 0.00000000000000000e+00 + mass = 3.48886752128601074e+00 + radius = 9.48736608028411865e-01 + density = 3.47301721572875977e+00 + pressure = 7.98901283271475200e+15 + e_thermal = 3.55222222693990400e+15 + entropy = 1.76133414400000000e+09 + temperature = 1.67719260000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19799196720123291e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99221849441528320e-01 + He4 = 2.80223846435546875e-01 + O16 = 9.95961017906665802e-03 + N14 = 5.09722623974084854e-03 + C12 = 1.20608601719141006e-04 + Ne20 = 1.84001529123634100e-03 + Mg24 = 6.75777730066329241e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 120 + dm = 0.00000000000000000e+00 + mass = 3.60912632942199707e+00 + radius = 9.66815233230590820e-01 + density = 3.33793926239013672e+00 + pressure = 7.53483668416102400e+15 + e_thermal = 3.48457407610880000e+15 + entropy = 1.76287436800000000e+09 + temperature = 1.64632600000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19739234447479248e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99365794658660889e-01 + He4 = 2.80098408460617065e-01 + O16 = 1.00227817893028259e-02 + N14 = 4.85775945708155632e-03 + C12 = 2.78416526271030307e-04 + Ne20 = 1.84001342859119177e-03 + Mg24 = 6.75777089782059193e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 121 + dm = 0.00000000000000000e+00 + mass = 3.73152279853820801e+00 + radius = 9.85265195369720459e-01 + density = 3.20284605026245117e+00 + pressure = 7.09157082628096000e+15 + e_thermal = 3.41671225065472000e+15 + entropy = 1.76448448000000000e+09 + temperature = 1.61533970000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19710266590118408e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99441969394683838e-01 + He4 = 2.80066907405853271e-01 + O16 = 1.00361900404095650e-02 + N14 = 4.52212756499648094e-03 + C12 = 5.55974198505282402e-04 + Ne20 = 1.84001261368393898e-03 + Mg24 = 6.75776740536093712e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 122 + dm = 0.00000000000000000e+00 + mass = 3.85594797134399414e+00 + radius = 1.00410282611846924e+00 + density = 3.06777095794677734e+00 + pressure = 6.65975159311564800e+15 + e_thermal = 3.34882465539686400e+15 + entropy = 1.76626342400000000e+09 + temperature = 1.58423820000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19679868221282959e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99519276618957520e-01 + He4 = 2.80054509639739990e-01 + O16 = 1.00389681756496429e-02 + N14 = 4.06313221901655197e-03 + C12 = 9.47224441915750504e-04 + Ne20 = 1.84001168236136436e-03 + Mg24 = 6.75776391290128231e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 123 + dm = 0.00000000000000000e+00 + mass = 3.98228192329406738e+00 + radius = 1.02334654331207275e+00 + density = 2.93292260169982910e+00 + pressure = 6.23989599135334400e+15 + e_thermal = 3.28093034925260800e+15 + entropy = 1.76822400000000000e+09 + temperature = 1.55302710000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19646012783050537e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99604332447052002e-01 + He4 = 2.80046552419662476e-01 + O16 = 1.00396135821938515e-02 + N14 = 3.52340796962380409e-03 + C12 = 1.40925578307360411e-03 + Ne20 = 1.84001063462346792e-03 + Mg24 = 6.75776042044162750e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 124 + dm = 0.00000000000000000e+00 + mass = 4.11039447784423828e+00 + radius = 1.04301583766937256e+00 + density = 2.79854726791381836e+00 + pressure = 5.83249203665305600e+15 + e_thermal = 3.21301483670732800e+15 + entropy = 1.77035942400000000e+09 + temperature = 1.52171360000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19613409042358398e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99689328670501709e-01 + He4 = 2.80040204524993896e-01 + O16 = 1.00398175418376923e-02 + N14 = 2.97335186041891575e-03 + C12 = 1.88047147821635008e-03 + Ne20 = 1.84000970330089331e-03 + Mg24 = 6.75775692798197269e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 125 + dm = 0.00000000000000000e+00 + mass = 4.24014568328857422e+00 + radius = 1.06313252449035645e+00 + density = 2.66489076614379883e+00 + pressure = 5.43799660616089600e+15 + e_thermal = 3.14506738034278400e+15 + entropy = 1.77266534400000000e+09 + temperature = 1.49030540000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19586884975433350e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99766337871551514e-01 + He4 = 2.80034780502319336e-01 + O16 = 1.00399106740951538e-02 + N14 = 2.47276038862764835e-03 + C12 = 2.30938242748379707e-03 + Ne20 = 1.84000877197831869e-03 + Mg24 = 6.75775343552231789e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 126 + dm = 0.00000000000000000e+00 + mass = 4.37138557434082031e+00 + radius = 1.08371984958648682e+00 + density = 2.53219270706176758e+00 + pressure = 5.05683006980096000e+15 + e_thermal = 3.07708905390080000e+15 + entropy = 1.77514380800000000e+09 + temperature = 1.45881020000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19569420814514160e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99830353260040283e-01 + He4 = 2.80030101537704468e-01 + O16 = 1.00399618968367577e-02 + N14 = 2.05789343453943729e-03 + C12 = 2.66486289910972118e-03 + Ne20 = 1.84000807348638773e-03 + Mg24 = 6.75775052513927221e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 127 + dm = 0.00000000000000000e+00 + mass = 4.50395584106445312e+00 + radius = 1.10480391979217529e+00 + density = 2.40068507194519043e+00 + pressure = 4.68937092156620800e+15 + e_thermal = 3.00909005792870400e+15 + entropy = 1.77780518400000000e+09 + temperature = 1.42723510000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19562029838562012e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99880123138427734e-01 + He4 = 2.80026018619537354e-01 + O16 = 1.00399926304817200e-02 + N14 = 1.73816771712154150e-03 + C12 = 2.93882843106985092e-03 + Ne20 = 1.84000749140977859e-03 + Mg24 = 6.75774877890944481e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 128 + dm = 0.00000000000000000e+00 + mass = 4.63768911361694336e+00 + radius = 1.12641358375549316e+00 + density = 2.27059793472290039e+00 + pressure = 4.33595524264755200e+15 + e_thermal = 2.94108435107020800e+15 + entropy = 1.78066470400000000e+09 + temperature = 1.39558510000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19564056396484375e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99916958808898926e-01 + He4 = 2.80022442340850830e-01 + O16 = 1.00400103256106377e-02 + N14 = 1.50583614595234394e-03 + C12 = 3.13791097141802311e-03 + Ne20 = 1.84000702574849129e-03 + Mg24 = 6.75774703267961740e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 129 + dm = 0.00000000000000000e+00 + mass = 4.77241230010986328e+00 + radius = 1.14858078956604004e+00 + density = 2.14216184616088867e+00 + pressure = 3.99686864837017600e+15 + e_thermal = 2.87308320761446400e+15 + entropy = 1.78374067200000000e+09 + temperature = 1.36386320000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19574427604675293e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99943125247955322e-01 + He4 = 2.80019313097000122e-01 + O16 = 1.00400205701589584e-02 + N14 = 1.34462642017751932e-03 + C12 = 3.27605148777365685e-03 + Ne20 = 1.84000667650252581e-03 + Mg24 = 6.75774586852639914e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 130 + dm = 0.00000000000000000e+00 + mass = 4.90794467926025391e+00 + radius = 1.17134201526641846e+00 + density = 2.01560711860656738e+00 + pressure = 3.67234736193536000e+15 + e_thermal = 2.80509360688332800e+15 + entropy = 1.78705254400000000e+09 + temperature = 1.33207030000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19591832160949707e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99961245059967041e-01 + He4 = 2.80016601085662842e-01 + O16 = 1.00400261580944061e-02 + N14 = 1.23700697440654039e-03 + C12 = 3.36827104911208153e-03 + Ne20 = 1.84000644367188215e-03 + Mg24 = 6.75774528644979000e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 131 + dm = 0.00000000000000000e+00 + mass = 5.04410219192504883e+00 + radius = 1.19473803043365479e+00 + density = 1.89116239547729492e+00 + pressure = 3.36257338258227200e+15 + e_thermal = 2.73711796479590400e+15 + entropy = 1.79062105600000000e+09 + temperature = 1.30020530000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19615197181701660e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99973642826080322e-01 + He4 = 2.80014187097549438e-01 + O16 = 1.00400298833847046e-02 + N14 = 1.16741773672401905e-03 + C12 = 3.42790293507277966e-03 + Ne20 = 1.84000632725656033e-03 + Mg24 = 6.75774470437318087e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 132 + dm = 0.00000000000000000e+00 + mass = 5.18069601058959961e+00 + radius = 1.21881556510925293e+00 + density = 1.76905322074890137e+00 + pressure = 3.06767341184614400e+15 + e_thermal = 2.66915037577216000e+15 + entropy = 1.79446707200000000e+09 + temperature = 1.26826450000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19643688201904297e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99981987476348877e-01 + He4 = 2.80012100934982300e-01 + O16 = 1.00400317460298538e-02 + N14 = 1.12368992995470762e-03 + C12 = 3.46537376753985882e-03 + Ne20 = 1.84000621084123850e-03 + Mg24 = 6.75774412229657173e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 133 + dm = 0.00000000000000000e+00 + mass = 5.31753540039062500e+00 + radius = 1.24362754821777344e+00 + density = 1.64950132369995117e+00 + pressure = 2.78771804825190400e+15 + e_thermal = 2.60117580742656000e+15 + entropy = 1.79861273600000000e+09 + temperature = 1.23624030000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19676709175109863e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99987649917602539e-01 + He4 = 2.80010253190994263e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.09688972588628531e-03 + C12 = 3.48833948373794556e-03 + Ne20 = 1.84000621084123850e-03 + Mg24 = 6.75774412229657173e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 134 + dm = 0.00000000000000000e+00 + mass = 5.45442962646484375e+00 + radius = 1.26923525333404541e+00 + density = 1.53272044658660889e+00 + pressure = 2.52272151887872000e+15 + e_thermal = 2.53317117430988800e+15 + entropy = 1.80308198400000000e+09 + temperature = 1.20412160000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19713962078094482e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99991524219512939e-01 + He4 = 2.80008703470230103e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.08086830005049706e-03 + C12 = 3.50206857547163963e-03 + Ne20 = 1.84000609442591667e-03 + Mg24 = 6.75774354021996260e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 135 + dm = 0.00000000000000000e+00 + mass = 5.59118747711181641e+00 + radius = 1.29570925235748291e+00 + density = 1.41891312599182129e+00 + pressure = 2.27264302153728000e+15 + e_thermal = 2.46510829069926400e+15 + entropy = 1.80790156800000000e+09 + temperature = 1.17189470000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19755089282989502e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99994206428527832e-01 + He4 = 2.80007332563400269e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.07150420080870390e-03 + C12 = 3.51009285077452660e-03 + Ne20 = 1.84000609442591667e-03 + Mg24 = 6.75774354021996260e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 136 + dm = 0.00000000000000000e+00 + mass = 5.72761964797973633e+00 + radius = 1.32313168048858643e+00 + density = 1.30826878547668457e+00 + pressure = 2.03738739585843200e+15 + e_thermal = 2.39695333372723200e+15 + entropy = 1.81310208000000000e+09 + temperature = 1.13954290000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19799852371215820e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99996113777160645e-01 + He4 = 2.80006170272827148e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.06616783887147903e-03 + C12 = 3.51466564461588860e-03 + Ne20 = 1.84000609442591667e-03 + Mg24 = 6.75774354021996260e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 137 + dm = 0.00000000000000000e+00 + mass = 5.86353921890258789e+00 + radius = 1.35159909725189209e+00 + density = 1.20096457004547119e+00 + pressure = 1.81680914982502400e+15 + e_thermal = 2.32866550120448000e+15 + entropy = 1.81871923200000000e+09 + temperature = 1.10704530000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19848072528839111e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99997544288635254e-01 + He4 = 2.80005156993865967e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.06320274062454700e-03 + C12 = 3.51720652543008327e-03 + Ne20 = 1.84000609442591667e-03 + Mg24 = 6.75774354021996260e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 138 + dm = 0.00000000000000000e+00 + mass = 5.99876165390014648e+00 + radius = 1.38122475147247314e+00 + density = 1.09716963768005371e+00 + pressure = 1.61071594943283200e+15 + e_thermal = 2.26018520045977600e+15 + entropy = 1.82479334400000000e+09 + temperature = 1.07437250000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19899332523345947e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99998617172241211e-01 + He4 = 2.80004322528839111e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.06159714050590992e-03 + C12 = 3.51858255453407764e-03 + Ne20 = 1.84000609442591667e-03 + Mg24 = 6.75774354021996260e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 139 + dm = 0.00000000000000000e+00 + mass = 6.13310480117797852e+00 + radius = 1.41214287281036377e+00 + density = 9.97048497200012207e-01 + pressure = 1.41887398739968000e+15 + e_thermal = 2.19142505575219200e+15 + entropy = 1.83136947200000000e+09 + temperature = 1.04148110000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19953036308288574e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 6.99999451637268066e-01 + He4 = 2.80003607273101807e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.06075231451541185e-03 + C12 = 3.51930642500519753e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774354021996260e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 140 + dm = 0.00000000000000000e+00 + mass = 6.26638460159301758e+00 + radius = 1.44451308250427246e+00 + density = 9.00762021541595459e-01 + pressure = 1.24101375452774400e+15 + e_thermal = 2.12226239207833600e+15 + entropy = 1.83849830400000000e+09 + temperature = 1.00831200000000000e+07 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.20008349418640137e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00000107288360596e-01 + He4 = 2.80003041028976440e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.06032134499400854e-03 + C12 = 3.51967569440603256e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774354021996260e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 141 + dm = 0.00000000000000000e+00 + mass = 6.39841461181640625e+00 + radius = 1.47852540016174316e+00 + density = 8.08467328548431396e-01 + pressure = 1.07683769011404800e+15 + e_thermal = 2.05253802721280000e+15 + entropy = 1.84623718400000000e+09 + temperature = 9.74788200000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.20064079761505127e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00000643730163574e-01 + He4 = 2.80002534389495850e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.06010877061635256e-03 + C12 = 3.51985776796936989e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774354021996260e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 142 + dm = 0.00000000000000000e+00 + mass = 6.52899742126464844e+00 + radius = 1.51440763473510742e+00 + density = 7.20318973064422607e-01 + pressure = 9.26027631034368000e+14 + e_thermal = 1.98205452687769600e+15 + entropy = 1.85465280000000000e+09 + temperature = 9.40814700000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.20118439197540283e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00001001358032227e-01 + He4 = 2.80002146959304810e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.06000795494765043e-03 + C12 = 3.51994414813816547e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 143 + dm = 0.00000000000000000e+00 + mass = 6.65791320800781250e+00 + radius = 1.55243265628814697e+00 + density = 6.36469364166259766e-01 + pressure = 7.88254274093056000e+14 + e_thermal = 1.91058197610496000e+15 + entropy = 1.86382502400000000e+09 + temperature = 9.06280100000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.20169281959533691e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00001358985900879e-01 + He4 = 2.80001848936080933e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05996208731085062e-03 + C12 = 3.51998349651694298e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 144 + dm = 0.00000000000000000e+00 + mass = 6.78490734100341797e+00 + radius = 1.59292876720428467e+00 + density = 5.57067692279815674e-01 + pressure = 6.63186034393088000e+14 + e_thermal = 1.83788227264512000e+15 + entropy = 1.87385382400000000e+09 + temperature = 8.71066800000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.20213568210601807e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00001597404479980e-01 + He4 = 2.80001580715179443e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05994218029081821e-03 + C12 = 3.52000049315392971e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 145 + dm = 0.00000000000000000e+00 + mass = 6.90966367721557617e+00 + radius = 1.63629007339477539e+00 + density = 4.82267916202545166e-01 + pressure = 5.50497635270656000e+14 + e_thermal = 1.76372563574784000e+15 + entropy = 1.88486758400000000e+09 + temperature = 8.35057450000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.20247602462768555e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00001776218414307e-01 + He4 = 2.80001401901245117e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993414763361216e-03 + C12 = 3.52000747807323933e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 146 + dm = 0.00000000000000000e+00 + mass = 7.03177690505981445e+00 + radius = 1.68298816680908203e+00 + density = 4.12253797054290771e-01 + pressure = 4.49876953399296000e+14 + e_thermal = 1.68785101193216000e+15 + entropy = 1.89701913600000000e+09 + temperature = 7.98119650000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.20266973972320557e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00001955032348633e-01 + He4 = 2.80001252889633179e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05993100441992283e-03 + C12 = 3.52001003921031952e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 147 + dm = 0.00000000000000000e+00 + mass = 7.15070915222167969e+00 + radius = 1.73357951641082764e+00 + density = 3.47255289554595947e-01 + pressure = 3.61026360967168000e+14 + e_thermal = 1.60994218423091200e+15 + entropy = 1.91048166400000000e+09 + temperature = 7.60098700000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.20266973972320557e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002074241638184e-01 + He4 = 2.80001133680343628e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992984026670456e-03 + C12 = 3.52001097053289413e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 148 + dm = 0.00000000000000000e+00 + mass = 7.26574230194091797e+00 + radius = 1.78870630264282227e+00 + density = 2.87538647651672363e-01 + pressure = 2.83654907494400000e+14 + e_thermal = 1.52971783228620800e+15 + entropy = 1.92546227200000000e+09 + temperature = 7.20856800000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.20242893695831299e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002133846282959e-01 + He4 = 2.80001044273376465e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992949102073908e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 149 + dm = 0.00000000000000000e+00 + mass = 7.37592840194702148e+00 + radius = 1.84908378124237061e+00 + density = 2.33404934406280518e-01 + pressure = 2.17456777887744000e+14 + e_thermal = 1.44699971495526400e+15 + entropy = 1.94220659200000000e+09 + temperature = 6.80306200000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.20191276073455811e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002193450927734e-01 + He4 = 2.80000984668731689e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 150 + dm = 0.00000000000000000e+00 + mass = 7.48005437850952148e+00 + radius = 1.91546022891998291e+00 + density = 1.85183912515640259e-01 + pressure = 1.62068393099264000e+14 + e_thermal = 1.36173468201779200e+15 + entropy = 1.96097945600000000e+09 + temperature = 6.38426100000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.20111465454101562e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000954866409302e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 151 + dm = 0.00000000000000000e+00 + mass = 7.57666015625000000e+00 + radius = 1.98853647708892822e+00 + density = 1.43190488219261169e-01 + pressure = 1.17002886709248000e+14 + e_thermal = 1.27406580957184000e+15 + entropy = 1.98203814400000000e+09 + temperature = 5.95301800000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.20006918907165527e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 152 + dm = 0.00000000000000000e+00 + mass = 7.66414785385131836e+00 + radius = 2.06884026527404785e+00 + density = 1.07636682689189911e-01 + pressure = 8.15702034350080000e+13 + e_thermal = 1.18450809103974400e+15 + entropy = 2.00561548800000000e+09 + temperature = 5.51204000000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19886100292205811e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 153 + dm = 0.00000000000000000e+00 + mass = 7.74100971221923828e+00 + radius = 2.15657114982604980e+00 + density = 7.85337761044502258e-02 + pressure = 5.48118315663360000e+13 + e_thermal = 1.09401104973824000e+15 + entropy = 2.03187865600000000e+09 + temperature = 5.06617300000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19761049747467041e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 154 + dm = 0.00000000000000000e+00 + mass = 7.80614995956420898e+00 + radius = 2.25145006179809570e+00 + density = 5.56166470050811768e-02 + pressure = 3.54935761797120000e+13 + e_thermal = 1.00368755195904000e+15 + entropy = 2.06080947200000000e+09 + temperature = 4.62132050000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19644641876220703e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 155 + dm = 0.00000000000000000e+00 + mass = 7.85918998718261719e+00 + radius = 2.35262298583984375e+00 + density = 3.83040420711040497e-02 + pressure = 2.21887867125760000e+13 + e_thermal = 9.14577449549824000e+14 + entropy = 2.09211980800000000e+09 + temperature = 4.18343325000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19545996189117432e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 156 + dm = 0.00000000000000000e+00 + mass = 7.90060949325561523e+00 + radius = 2.45866990089416504e+00 + density = 2.57504153996706009e-02 + pressure = 1.34378317414400000e+13 + e_thermal = 8.27500678610944000e+14 + entropy = 2.12523417600000000e+09 + temperature = 3.75777850000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19468510150909424e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 157 + dm = 0.00000000000000000e+00 + mass = 7.93164491653442383e+00 + radius = 2.56769657135009766e+00 + density = 1.69843304902315140e-02 + pressure = 7.91903154995200000e+12 + e_thermal = 7.42835062046720000e+14 + entropy = 2.15925094400000000e+09 + temperature = 3.34794050000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19410753250122070e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 158 + dm = 0.00000000000000000e+00 + mass = 7.95400571823120117e+00 + radius = 2.67745375633239746e+00 + density = 1.10589880496263504e-02 + pressure = 4.56237934182400000e+12 + e_thermal = 6.60428262735872000e+14 + entropy = 2.19289088000000000e+09 + temperature = 2.95534875000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19368791580200195e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 159 + dm = 0.00000000000000000e+00 + mass = 7.96954154968261719e+00 + radius = 2.78547000885009766e+00 + density = 7.15268962085247040e-03 + pressure = 2.58078592204800000e+12 + e_thermal = 5.80248739512320000e+14 + entropy = 2.22475212800000000e+09 + temperature = 2.58128325000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19338691234588623e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 160 + dm = 0.00000000000000000e+00 + mass = 7.97998046875000000e+00 + radius = 2.88936638832092285e+00 + density = 4.60847606882452965e-03 + pressure = 1.43852607897600000e+12 + e_thermal = 5.04202384113664000e+14 + entropy = 2.25455539200000000e+09 + temperature = 2.23263450000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19316518306732178e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 161 + dm = 0.00000000000000000e+00 + mass = 7.98678207397460938e+00 + radius = 2.98738384246826172e+00 + density = 2.95018032193183899e-03 + pressure = 7.92391974912000000e+11 + e_thermal = 4.35983640166400000e+14 + entropy = 2.28400460800000000e+09 + temperature = 1.92141312500000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19299113750457764e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 162 + dm = 0.00000000000000000e+00 + mass = 7.99109268188476562e+00 + radius = 3.07866024971008301e+00 + density = 1.86945265159010887e-03 + pressure = 4.32381820928000000e+11 + e_thermal = 3.77734253510656000e+14 + entropy = 2.31514470400000000e+09 + temperature = 1.65403762500000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19284451007843018e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 163 + dm = 0.00000000000000000e+00 + mass = 7.99375724792480469e+00 + radius = 3.16299319267272949e+00 + density = 1.17204745765775442e-03 + pressure = 2.34230169600000000e+11 + e_thermal = 3.28867558457344000e+14 + entropy = 2.34869555200000000e+09 + temperature = 1.42756162500000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19272053241729736e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 164 + dm = 0.00000000000000000e+00 + mass = 7.99536991119384766e+00 + radius = 3.24045562744140625e+00 + density = 7.28777260519564152e-04 + pressure = 1.26215798784000000e+11 + e_thermal = 2.87577319931904000e+14 + entropy = 2.38419993600000000e+09 + temperature = 1.23483487500000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19261860847473145e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 165 + dm = 0.00000000000000000e+00 + mass = 7.99632787704467773e+00 + radius = 3.31124377250671387e+00 + density = 4.50262130470946431e-04 + pressure = 6.77577400320000000e+10 + e_thermal = 2.52506898694144000e+14 + entropy = 2.42133990400000000e+09 + temperature = 1.07024675000000000e+06 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19253575801849365e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 166 + dm = 0.00000000000000000e+00 + mass = 7.99688816070556641e+00 + radius = 3.37569904327392578e+00 + density = 2.76452861726284027e-04 + pressure = 3.62807336960000000e+10 + e_thermal = 2.22882344992768000e+14 + entropy = 2.46037478400000000e+09 + temperature = 9.30169562500000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19246959686279297e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 167 + dm = 0.00000000000000000e+00 + mass = 7.99721240997314453e+00 + radius = 3.43428111076354980e+00 + density = 1.68687969562597573e-04 + pressure = 1.93942179840000000e+10 + e_thermal = 1.97974420357120000e+14 + entropy = 2.50157465600000000e+09 + temperature = 8.11178375000000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19241595268249512e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 168 + dm = 0.00000000000000000e+00 + mass = 7.99739742279052734e+00 + radius = 3.48754096031188965e+00 + density = 1.02211168268695474e-04 + pressure = 1.03569694720000000e+10 + e_thermal = 1.77256605417472000e+14 + entropy = 2.54553011200000000e+09 + temperature = 7.10528187500000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19237363338470459e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 169 + dm = 0.00000000000000000e+00 + mass = 7.99750280380249023e+00 + radius = 3.53608250617980957e+00 + density = 6.14461241639219224e-05 + pressure = 5.52809830400000000e+09 + e_thermal = 1.60226942648320000e+14 + entropy = 2.59287603200000000e+09 + temperature = 6.25568937500000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19233906269073486e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 170 + dm = 0.00000000000000000e+00 + mass = 7.99756193161010742e+00 + radius = 3.58043837547302246e+00 + density = 3.67204556823708117e-05 + pressure = 2.95175193600000000e+09 + e_thermal = 1.46069505703936000e+14 + entropy = 2.64325427200000000e+09 + temperature = 5.52908187500000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19231283664703369e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 171 + dm = 0.00000000000000000e+00 + mass = 7.99759483337402344e+00 + radius = 3.62096738815307617e+00 + density = 2.19175763049861416e-05 + pressure = 1.57891430400000000e+09 + e_thermal = 1.33822448402432000e+14 + entropy = 2.69521817600000000e+09 + temperature = 4.89209375000000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19229316711425781e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 172 + dm = 0.00000000000000000e+00 + mass = 7.99761343002319336e+00 + radius = 3.65788054466247559e+00 + density = 1.31259794216020964e-05 + pressure = 8.47368384000000000e+08 + e_thermal = 1.22794096459776000e+14 + entropy = 2.74726784000000000e+09 + temperature = 4.32344531250000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19227886199951172e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 173 + dm = 0.00000000000000000e+00 + mass = 7.99762344360351562e+00 + radius = 3.69133758544921875e+00 + density = 7.90710691944696009e-06 + pressure = 4.56838048000000000e+08 + e_thermal = 1.12683818942464000e+14 + entropy = 2.79860352000000000e+09 + temperature = 3.81384500000000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19226872920989990e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 174 + dm = 0.00000000000000000e+00 + mass = 7.99762916564941406e+00 + radius = 3.72154164314270020e+00 + density = 4.78917763757635839e-06 + pressure = 2.47586496000000000e+08 + e_thermal = 1.03534817181696000e+14 + entropy = 2.84959206400000000e+09 + temperature = 3.36132281250000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19226157665252686e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 175 + dm = 0.00000000000000000e+00 + mass = 7.99763250350952148e+00 + radius = 3.74877691268920898e+00 + density = 2.90944103653600905e-06 + pressure = 1.34912336000000000e+08 + e_thermal = 9.55152576020480000e+13 + entropy = 2.90149299200000000e+09 + temperature = 2.96490812500000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19225621223449707e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 176 + dm = 0.00000000000000000e+00 + mass = 7.99763393402099609e+00 + radius = 3.77328777313232422e+00 + density = 1.77732715656020446e-06 + pressure = 7.40122160000000000e+07 + e_thermal = 8.83436269076480000e+13 + entropy = 2.95351526400000000e+09 + temperature = 2.61567765625000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19225263595581055e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 177 + dm = 0.00000000000000000e+00 + mass = 7.99763488769531250e+00 + radius = 3.79497265815734863e+00 + density = 1.11433018901152536e-06 + pressure = 4.11246040000000000e+07 + e_thermal = 8.06400913571840000e+13 + entropy = 2.99681971200000000e+09 + temperature = 2.29157906250000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19225084781646729e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 178 + dm = 0.00000000000000000e+00 + mass = 7.99763536453247070e+00 + radius = 3.81332421302795410e+00 + density = 7.41178951102483552e-07 + pressure = 2.34018080000000000e+07 + e_thermal = 7.10288437411840000e+13 + entropy = 3.01712537600000000e+09 + temperature = 1.97370453125000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19225263595581055e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 179 + dm = 0.00000000000000000e+00 + mass = 7.99763584136962891e+00 + radius = 3.82826948165893555e+00 + density = 5.18132480920030503e-07 + pressure = 1.36645450000000000e+07 + e_thermal = 6.13092950016000000e+13 + entropy = 3.02056524800000000e+09 + temperature = 1.68070296875000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19225919246673584e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 180 + dm = 0.00000000000000000e+00 + mass = 7.99763584136962891e+00 + radius = 3.84053039550781250e+00 + density = 3.64480484904561308e-07 + pressure = 8.09792150000000000e+06 + e_thermal = 5.37009407918080000e+13 + entropy = 3.02646246400000000e+09 + temperature = 1.43884796875000000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19227230548858643e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 181 + dm = 0.00000000000000000e+00 + mass = 7.99763631820678711e+00 + radius = 3.85086131095886230e+00 + density = 2.53417027806790429e-07 + pressure = 4.83505600000000000e+06 + e_thermal = 4.81495403724800000e+13 + entropy = 3.04092774400000000e+09 + temperature = 1.24644757812500000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19229376316070557e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 182 + dm = 0.00000000000000000e+00 + mass = 7.99763631820678711e+00 + radius = 3.85971879959106445e+00 + density = 1.74728029378456995e-07 + pressure = 2.90728725000000000e+06 + e_thermal = 4.39522458337280000e+13 + entropy = 3.06177356800000000e+09 + temperature = 1.09084632812500000e+05 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19233131408691406e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 183 + dm = 0.00000000000000000e+00 + mass = 7.99763631820678711e+00 + radius = 3.86741828918457031e+00 + density = 1.19756748517829692e-07 + pressure = 1.76001887500000000e+06 + e_thermal = 4.06908766781440000e+13 + entropy = 3.08760985600000000e+09 + temperature = 9.63048593750000000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19240105152130127e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 184 + dm = 0.00000000000000000e+00 + mass = 7.99763631820678711e+00 + radius = 3.87419700622558594e+00 + density = 8.16517697899143968e-08 + pressure = 1.07203150000000000e+06 + e_thermal = 3.81198228520960000e+13 + entropy = 3.11788697600000000e+09 + temperature = 8.56862890625000000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19253337383270264e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 185 + dm = 0.00000000000000000e+00 + mass = 7.99763631820678711e+00 + radius = 3.88022613525390625e+00 + density = 5.54646177874928981e-08 + pressure = 6.56979062500000000e+05 + e_thermal = 3.60595471728640000e+13 + entropy = 3.15196057600000000e+09 + temperature = 7.67447109375000000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19279265403747559e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 186 + dm = 0.00000000000000000e+00 + mass = 7.99763631820678711e+00 + radius = 3.88561749458312988e+00 + density = 3.76775659560735221e-08 + pressure = 4.05639375000000000e+05 + e_thermal = 3.43554916352000000e+13 + entropy = 3.18853478400000000e+09 + temperature = 6.90807578125000000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19333088397979736e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 187 + dm = 0.00000000000000000e+00 + mass = 7.99763631820678711e+00 + radius = 3.89043831825256348e+00 + density = 2.57457468677557699e-08 + pressure = 2.53001609375000000e+05 + e_thermal = 3.28694748938240000e+13 + entropy = 3.22556774400000000e+09 + temperature = 6.23793750000000000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19454681873321533e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 188 + dm = 0.00000000000000000e+00 + mass = 7.99763631820678711e+00 + radius = 3.89471006393432617e+00 + density = 1.78679897544498090e-08 + pressure = 1.60158187500000000e+05 + e_thermal = 3.14470941327360000e+13 + entropy = 3.25938944000000000e+09 + temperature = 5.63784335937500000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.19764447212219238e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 189 + dm = 0.00000000000000000e+00 + mass = 7.99763631820678711e+00 + radius = 3.89840888977050781e+00 + density = 1.27923884818414990e-08 + pressure = 1.03705289062500000e+05 + e_thermal = 2.98752388628480000e+13 + entropy = 3.28322355200000000e+09 + temperature = 5.08519960937500000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.20693624019622803e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 190 + dm = 0.00000000000000000e+00 + mass = 7.99763631820678711e+00 + radius = 3.90149283409118652e+00 + density = 9.62363877476946072e-09 + pressure = 6.93142109375000000e+04 + e_thermal = 2.78204346531840000e+13 + entropy = 3.28565248000000000e+09 + temperature = 4.56563046875000000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.23879492282867432e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 191 + dm = 0.00000000000000000e+00 + mass = 7.99763631820678711e+00 + radius = 3.90398645401000977e+00 + density = 7.64427099397835264e-09 + pressure = 4.78891914062500000e+04 + e_thermal = 2.49064796979200000e+13 + entropy = 3.25385088000000000e+09 + temperature = 4.08349218750000000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.32772266864776611e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 192 + dm = 0.00000000000000000e+00 + mass = 7.99763631820678711e+00 + radius = 3.90603590011596680e+00 + density = 6.20207973867081819e-09 + pressure = 3.37524492187500000e+04 + e_thermal = 2.20922317373440000e+13 + entropy = 3.21279001600000000e+09 + temperature = 3.65752460937500000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.42876386642456055e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 193 + dm = 0.00000000000000000e+00 + mass = 7.99763631820678711e+00 + radius = 3.90781950950622559e+00 + density = 4.93944263268986106e-09 + pressure = 2.38542617187500000e+04 + e_thermal = 2.05237822423040000e+13 + entropy = 3.20139340800000000e+09 + temperature = 3.29729609375000000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.46569311618804932e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 194 + dm = 0.00000000000000000e+00 + mass = 7.99763631820678711e+00 + radius = 3.90944170951843262e+00 + density = 3.84290110844176525e-09 + pressure = 1.67683476562500000e+04 + e_thermal = 1.96219628421120000e+13 + entropy = 3.20940876800000000e+09 + temperature = 2.99570390625000000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.47303402423858643e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 195 + dm = 0.00000000000000000e+00 + mass = 7.99763631820678711e+00 + radius = 3.91094326972961426e+00 + density = 2.93472313117604244e-09 + pressure = 1.17150039062500000e+04 + e_thermal = 1.89828180213760000e+13 + entropy = 3.22638720000000000e+09 + temperature = 2.74033457031250000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.47444248199462891e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 196 + dm = 0.00000000000000000e+00 + mass = 7.99763631820678711e+00 + radius = 3.91235685348510742e+00 + density = 2.19765539100080787e-09 + pressure = 8.11734033203125000e+03 + e_thermal = 1.85018215301120000e+13 + entropy = 3.25033574400000000e+09 + temperature = 2.52289511718750000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.47501111030578613e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 197 + dm = 0.00000000000000000e+00 + mass = 7.99763631820678711e+00 + radius = 3.91373229026794434e+00 + density = 1.59575974656434028e-09 + pressure = 5.53514990234375000e+03 + e_thermal = 1.81743239823360000e+13 + entropy = 3.28400230400000000e+09 + temperature = 2.34019355468750000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.47570073604583740e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +(mass_shell + id = 198 + dm = 0.00000000000000000e+00 + mass = 7.99763631820678711e+00 + radius = 3.91514754295349121e+00 + density = 1.09574926909772330e-09 + pressure = 3.65802758789062500e+03 + e_thermal = 1.80616146452480000e+13 + entropy = 3.33548339200000000e+09 + temperature = 2.19300800781250000e+04 + beta = 0.00000000000000000e+00 + luminosity = 0.00000000000000000e+00 + molecular_weight = 6.47662580013275146e-01 + angular_momentum = 0.00000000000000000e+00 + opacity = 0.00000000000000000e+00 + potential = 0.00000000000000000e+00 + buoyancy = 0.00000000000000000e+00 +(chemical_composition + H1 = 7.00002253055572510e-01 + He4 = 2.80000925064086914e-01 + O16 = 1.00400326773524284e-02 + N14 = 1.05992937460541725e-03 + C12 = 3.52001143619418144e-03 + Ne20 = 1.84000597801059484e-03 + Mg24 = 6.75774295814335346e-04 + Si28 = 0.00000000000000000e+00 + Fe56 = 0.00000000000000000e+00 +)chemical_composition +)mass_shell +)usm diff --git a/src/amuse/test/suite/codes_tests/test_mmams.py b/src/amuse_mmams/tests/test_mmams.py similarity index 98% rename from src/amuse/test/suite/codes_tests/test_mmams.py rename to src/amuse_mmams/tests/test_mmams.py index 264df41367..67fe090a13 100644 --- a/src/amuse/test/suite/codes_tests/test_mmams.py +++ b/src/amuse_mmams/tests/test_mmams.py @@ -3,15 +3,24 @@ import pickle import numpy from math import pi -from amuse.test.amusetest import get_path_to_results, TestWithMPI +from amuse.support.testing.amusetest import get_path_to_results, TestWithMPI from amuse.support.exceptions import AmuseException, CodeException -from amuse.community.mesa.interface import MESA -from amuse.community.evtwin.interface import EVtwin -from amuse.community.mmams.interface import MMAMSInterface, MMAMS +from amuse_mmams.interface import MMAMSInterface, MMAMS from amuse.couple.collision_handler import CollisionHandler from amuse.units import units, constants from amuse.datamodel import Particles, Particle, ParticlesSubset +try: + from amuse.community.mesa.interface import MESA + from amuse.community.evtwin.interface import EVtwin +except ImportError: + # MESA and EVtwin are not available, which is ok as long as we're not trying to run + # the integration tests, which we're not because they're slowtests and pytest + # doesn't detect those anyway. Set them to None to avoid parser errors. + MESA = None + EVtwin = None + + # Change the default for some MMAMS(-Interface) keyword arguments: # default_options = dict(redirection="none") default_options = dict() @@ -84,7 +93,7 @@ def test3(self): instance = MMAMSInterface(**default_options) self.assertEqual(instance.initialize_code(), 0) self.assertEqual(instance.commit_parameters(), 0) - usm_file = os.path.join(instance.data_directory, 'primary.usm') + usm_file = os.path.join(os.path.dirname(__file__), 'primary.usm') id, error = instance.read_usm(usm_file) self.assertEqual(error, 0) self.assertEqual(id, 0) @@ -120,12 +129,12 @@ def slowtest4(self): self.assertEqual(instance.initialize_code(), 0) self.assertEqual(instance.set_dump_mixed_flag(0), 0) self.assertEqual(instance.commit_parameters(), 0) - usm_file = os.path.join(instance.data_directory, 'primary.usm') + usm_file = os.path.join(os.path.dirname(__file__), 'primary.usm') id, error = instance.read_usm(usm_file) self.assertEqual(error, 0) self.assertEqual(id, 0) - usm_file = os.path.join(instance.data_directory, 'secondary.usm') + usm_file = os.path.join(os.path.dirname(__file__), 'secondary.usm') id, error = instance.read_usm(usm_file) self.assertEqual(error, 0) self.assertEqual(id, 1) @@ -257,7 +266,7 @@ def test3(self): instance.commit_parameters() stars = Particles(4) - stars.usm_file = [os.path.join(instance.data_directory, filename) for + stars.usm_file = [os.path.join(os.path.dirname(__file__), filename) for filename in ['primary.usm', 'secondary.usm', '', '']] stars[2:].mass = [3.0, 4.0] | units.MSun instance.imported_stars.add_particles(stars[:2]) @@ -282,14 +291,14 @@ def test3(self): def slowtest4(self): print("Test 4: merge particles (from usm files)") -# instance = MMAMS(debugger = 'gdb', **default_options) + # instance = MMAMS(debugger = 'gdb', **default_options) instance = MMAMS(**default_options) instance.initialize_code() instance.parameters.dump_mixed_flag = False instance.commit_parameters() stars = Particles(2) - stars.usm_file = [os.path.join(instance.data_directory, filename) for + stars.usm_file = [os.path.join(os.path.dirname(__file__), filename) for filename in ['primary.usm', 'secondary.usm']] instance.imported_stars.add_particles(stars) diff --git a/src/amuse_mmc/Makefile b/src/amuse_mmc/Makefile new file mode 100644 index 0000000000..075d2bae1a --- /dev/null +++ b/src/amuse_mmc/Makefile @@ -0,0 +1,52 @@ +ifeq ($(origin AMUSE_DIR), undefined) + AMUSE_DIR := $(shell amusifier --get-amuse-dir) +endif +-include $(AMUSE_DIR)/config.mk + +MPIFC ?= mpif90 +MPIF90 ?= $(MPIFC) +PYTHON ?= python +FC = $(MPIFC) + +FCFLAGS += -fno-automatic +LDFLAGS += -lm $(MUSE_LD_FLAGS) + +OBJS = interface.o + +CODELIB = src/libmmc.a + +MMC_DATA_DIR = ../../../../data/mmc + +SRCINC = -I./src + +all: mmc_worker + +clean: + $(RM) -f *.o *.pyc worker_code.f90 + $(RM) -f *~ worker_code worker_code.f90 interface.f90 + $(RM) -f *.tmp mmc_worker + $(RM) -f $(MMC_DATA_DIR)/*.dat + $(RM) -f mmc.mod + $(RM) -f src/amuse_interface2.f + -$(MAKE) -C src clean + -$(MAKE) -C amuselib clean + +distclean: clean + $(RM) -f mmc.mod + +$(CODELIB): src/amuse_interface2.f + $(MAKE) -C src + $(MAKE) -C amuselib + +interface.f90 src/amuse_interface2.f: makeinterface.py + $(PYTHON) makeinterface.py + +worker_code.f90: interface.py + $(CODE_GENERATOR) --type=f90 interface.py mmcInterface -o $@ + +mmc_worker: worker_code.f90 $(OBJS) $(CODELIB) + $(MPIFC) $(FCFLAGS) $(FS_FLAGS) $(LDFLAGS) $(OBJS) $(SRCINC) $< $(CODELIB) $(FS_LIBS) -o $@ $(LIBS) + +interface.o: interface.f90 + $(FC) $(FCFLAGS) $(SRCINC) -c -o $@ $< + diff --git a/src/amuse/community/mmc/Makefile_amuse b/src/amuse_mmc/Makefile_amuse similarity index 100% rename from src/amuse/community/mmc/Makefile_amuse rename to src/amuse_mmc/Makefile_amuse diff --git a/src/amuse_mmc/__init__.py b/src/amuse_mmc/__init__.py new file mode 100644 index 0000000000..9e4d58eb86 --- /dev/null +++ b/src/amuse_mmc/__init__.py @@ -0,0 +1,2 @@ +# generated file +from .interface import Mmc diff --git a/src/amuse/community/mmc/amuselib/Makefile b/src/amuse_mmc/amuselib/Makefile similarity index 100% rename from src/amuse/community/mmc/amuselib/Makefile rename to src/amuse_mmc/amuselib/Makefile diff --git a/src/amuse/test/__init__.py b/src/amuse_mmc/amuselib/__init__.py similarity index 100% rename from src/amuse/test/__init__.py rename to src/amuse_mmc/amuselib/__init__.py diff --git a/src/amuse/community/mmc/amuselib/data.dat b/src/amuse_mmc/amuselib/data.dat similarity index 100% rename from src/amuse/community/mmc/amuselib/data.dat rename to src/amuse_mmc/amuselib/data.dat diff --git a/src/amuse/community/mmc/amuselib/example.py b/src/amuse_mmc/amuselib/example.py similarity index 100% rename from src/amuse/community/mmc/amuselib/example.py rename to src/amuse_mmc/amuselib/example.py diff --git a/src/amuse/community/mmc/amuselib/interface.cc b/src/amuse_mmc/amuselib/interface.cc similarity index 100% rename from src/amuse/community/mmc/amuselib/interface.cc rename to src/amuse_mmc/amuselib/interface.cc diff --git a/src/amuse/community/mmc/amuselib/interface.py b/src/amuse_mmc/amuselib/interface.py similarity index 100% rename from src/amuse/community/mmc/amuselib/interface.py rename to src/amuse_mmc/amuselib/interface.py diff --git a/src/amuse/community/mmc/amuselib/src/Makefile b/src/amuse_mmc/amuselib/src/Makefile similarity index 100% rename from src/amuse/community/mmc/amuselib/src/Makefile rename to src/amuse_mmc/amuselib/src/Makefile diff --git a/src/amuse/community/mmc/amuselib/src/support.c b/src/amuse_mmc/amuselib/src/support.c similarity index 100% rename from src/amuse/community/mmc/amuselib/src/support.c rename to src/amuse_mmc/amuselib/src/support.c diff --git a/src/amuse/community/mmc/amuselib/test_support.py b/src/amuse_mmc/amuselib/test_support.py similarity index 100% rename from src/amuse/community/mmc/amuselib/test_support.py rename to src/amuse_mmc/amuselib/test_support.py diff --git a/src/amuse/community/mmc/coreradius.py b/src/amuse_mmc/coreradius.py similarity index 100% rename from src/amuse/community/mmc/coreradius.py rename to src/amuse_mmc/coreradius.py diff --git a/src/amuse/community/mmc/data/static/Kurucz.dat b/src/amuse_mmc/data/static/Kurucz.dat similarity index 100% rename from src/amuse/community/mmc/data/static/Kurucz.dat rename to src/amuse_mmc/data/static/Kurucz.dat diff --git a/src/amuse/community/mmc/data/static/escape_binary.dat b/src/amuse_mmc/data/static/escape_binary.dat similarity index 100% rename from src/amuse/community/mmc/data/static/escape_binary.dat rename to src/amuse_mmc/data/static/escape_binary.dat diff --git a/src/amuse/community/mmc/data/static/mont.run b/src/amuse_mmc/data/static/mont.run similarity index 100% rename from src/amuse/community/mmc/data/static/mont.run rename to src/amuse_mmc/data/static/mont.run diff --git a/src/amuse/community/mmc/data/static/mont.run-m4 b/src/amuse_mmc/data/static/mont.run-m4 similarity index 100% rename from src/amuse/community/mmc/data/static/mont.run-m4 rename to src/amuse_mmc/data/static/mont.run-m4 diff --git a/src/amuse/community/mmc/data/static/mont.run-m67 b/src/amuse_mmc/data/static/mont.run-m67 similarity index 100% rename from src/amuse/community/mmc/data/static/mont.run-m67 rename to src/amuse_mmc/data/static/mont.run-m67 diff --git a/src/amuse/community/mmc/data/static/mont.run-n5897 b/src/amuse_mmc/data/static/mont.run-n5897 similarity index 100% rename from src/amuse/community/mmc/data/static/mont.run-n5897 rename to src/amuse_mmc/data/static/mont.run-n5897 diff --git a/src/amuse/community/mmc/data/static/mont.run-sja b/src/amuse_mmc/data/static/mont.run-sja similarity index 100% rename from src/amuse/community/mmc/data/static/mont.run-sja rename to src/amuse_mmc/data/static/mont.run-sja diff --git a/src/amuse/community/mmc/data/static/mont.run-std b/src/amuse_mmc/data/static/mont.run-std similarity index 100% rename from src/amuse/community/mmc/data/static/mont.run-std rename to src/amuse_mmc/data/static/mont.run-std diff --git a/src/amuse/community/mmc/data/static/wdhyd.dat b/src/amuse_mmc/data/static/wdhyd.dat similarity index 100% rename from src/amuse/community/mmc/data/static/wdhyd.dat rename to src/amuse_mmc/data/static/wdhyd.dat diff --git a/src/amuse_mmc/interface.py b/src/amuse_mmc/interface.py new file mode 100644 index 0000000000..e0cf85a96a --- /dev/null +++ b/src/amuse_mmc/interface.py @@ -0,0 +1,935 @@ +from amuse.community import * +from amuse.community.mmc.amuselib.interface import supportInterface +from amuse.support.options import OptionalAttributes, option +from amuse.ext.polarsupport import PolarSupport +import os +import numpy as np + +class mmcInterface(CodeInterface, PolarSupport, CodeWithDataDirectories): + + use_modules = ['MMC'] + + def __init__(self, **options): + CodeInterface.__init__(self, name_of_the_worker="mmc_worker", **options) + CodeWithDataDirectories.__init__(self) + + @legacy_function + def nonstandard_init(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + @legacy_function + def commit_parameters(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + @legacy_function + def set_mmc_data_directory(): + function = LegacyFunctionSpecification() + function.addParameter('data_directory', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def new_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT) + function.addParameter('x', dtype='float64', direction=function.IN) + function.addParameter('y', dtype='float64', direction=function.IN) + function.addParameter('z', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def delete_particle(): + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_state(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('mass', dtype='float64', direction=function.OUT) + function.addParameter('r', dtype='float64', direction=function.OUT) + function.addParameter('vr', dtype='float64', direction=function.OUT) + function.addParameter('vt', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_state(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.addParameter('mass_', dtype='float64', direction=function.IN) + function.addParameter('r_', dtype='float64', direction=function.IN) + function.addParameter('vr_', dtype='float64', direction=function.IN) + function.addParameter('vt_', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def commit_particles(): + """ + Let the code perform initialization actions + after all particles have been loaded in the model. + Should be called before the first evolve call and + after the last new_particle call. + """ + function = LegacyFunctionSpecification() + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Model is initialized and evolution can start + -1 - ERROR + Error happened during initialization, this error needs to be further specified by every code implemention + """ + return function + + @legacy_function + def recommit_particles(): + """ + Let the code perform initialization actions + after the number of particles have been updated + or particle attributes have been updated from + the script. + """ + function = LegacyFunctionSpecification() + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Model is initialized and evolution can start + -1 - ERROR + Error happened during initialization, this error needs to be further specified by every code implemention + """ + return function + + @legacy_function + def test_sort_routine(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('n', dtype='int32', direction=function.LENGTH) + function.addParameter('aa', dtype='float64', direction=function.INOUT) + function.addParameter('bb', dtype='int32', direction=function.INOUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_time(): + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_crossing_time(): + function = LegacyFunctionSpecification() + function.addParameter('tcr', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_time(): + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_timet(): + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def run_a_while(): + function = LegacyFunctionSpecification() + function.addParameter('iphase', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def evolve_model(): + function = LegacyFunctionSpecification() + function.addParameter('time_end', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def amuse_input(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + @legacy_function + def run(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + @legacy_function + def get_number_of_particles(): + function = LegacyFunctionSpecification() + function.addParameter('n_', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_irun(): + function = LegacyFunctionSpecification() + function.addParameter('init_sequence_of_rnd_numbs', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def set_iseed(): + function = LegacyFunctionSpecification() + function.addParameter('init_sequence_of_rnd_numbs', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def set_flagr(): + function = LegacyFunctionSpecification() + function.addParameter('lagrangeradii', dtype='float64', direction=function.IN) + function.addParameter('len', dtype='int32', direction=function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + @legacy_function + def get_flagr(): + function = LegacyFunctionSpecification() + function.addParameter('id', dtype='int32', direction=function.IN) + function.addParameter('flagr_', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def get_nlagra(): + function = LegacyFunctionSpecification() + function.addParameter('nlagrange', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_irun(): + function = LegacyFunctionSpecification() + function.addParameter('init_sequence_of_rnd_numbs', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_nt(): + function = LegacyFunctionSpecification() + function.addParameter('tot_numb_of_objs', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def set_nt0(): + function = LegacyFunctionSpecification() + function.addParameter('tot_numb_of_objs', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def set_nt00(): + function = LegacyFunctionSpecification() + function.addParameter('tot_numb_of_objs', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_nt(): + function = LegacyFunctionSpecification() + function.addParameter('tot_numb_of_objs', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_istart(): + function = LegacyFunctionSpecification() + function.addParameter('start_or_restart', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_istart(): + function = LegacyFunctionSpecification() + function.addParameter('start_or_restart', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_ncor(): + function = LegacyFunctionSpecification() + function.addParameter('numb_of_stars_to_calc_c_parms', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_ncor(): + function = LegacyFunctionSpecification() + function.addParameter('numb_of_stars_to_calc_c_parms', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_nmin(): + function = LegacyFunctionSpecification() + function.addParameter('min_numb_of_stars_to_calc_c_parms', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_nmin(): + function = LegacyFunctionSpecification() + function.addParameter('min_numb_of_stars_to_calc_c_parms', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_nz0(): + function = LegacyFunctionSpecification() + function.addParameter('numb_of_stars_in_each_zone_at_t0', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_nz0(): + function = LegacyFunctionSpecification() + function.addParameter('numb_of_stars_in_each_zone_at_t0', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_nzonc(): + function = LegacyFunctionSpecification() + function.addParameter('min_numb_of_zones_in_the_core', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_nzonc(): + function = LegacyFunctionSpecification() + function.addParameter('min_numb_of_zones_in_the_core', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_nminzo(): + function = LegacyFunctionSpecification() + function.addParameter('min_numb_of_stars_in_a_zone', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_nminzo(): + function = LegacyFunctionSpecification() + function.addParameter('min_numb_of_stars_in_a_zone', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_ntwo(): + function = LegacyFunctionSpecification() + function.addParameter('max_index_od_two', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_ntwo(): + function = LegacyFunctionSpecification() + function.addParameter('max_index_od_two', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_imodel(): + function = LegacyFunctionSpecification() + function.addParameter('initial_model', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_imodel(): + function = LegacyFunctionSpecification() + function.addParameter('initial_model', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_iprint(): + function = LegacyFunctionSpecification() + function.addParameter('diag_info', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_iprint(): + function = LegacyFunctionSpecification() + function.addParameter('diag_info', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_ib3f(): + function = LegacyFunctionSpecification() + function.addParameter('spitzer_or_heggie', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_ib3f(): + function = LegacyFunctionSpecification() + function.addParameter('spitzer_or_heggie', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_iexch(): + function = LegacyFunctionSpecification() + function.addParameter('exchange_mode', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_iexch(): + function = LegacyFunctionSpecification() + function.addParameter('exchange_mode', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_tcrit(): + function = LegacyFunctionSpecification() + function.addParameter('termination_time_units_crossing_time', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_tcrit(): + function = LegacyFunctionSpecification() + function.addParameter('termination_time_units_crossing_time', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_tcomp(): + function = LegacyFunctionSpecification() + function.addParameter('max_comp_time_in_hours', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_tcomp(): + function = LegacyFunctionSpecification() + function.addParameter('max_comp_time_in_hours', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_qe(): + function = LegacyFunctionSpecification() + function.addParameter('energy_tolerance', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_qe(): + function = LegacyFunctionSpecification() + function.addParameter('energy_tolerance', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_alphal(): + function = LegacyFunctionSpecification() + function.addParameter('pwr_law_index_lt_breake_mass', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_alphal(): + function = LegacyFunctionSpecification() + function.addParameter('pwr_law_index_lt_breake_mass', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_alphah(): + function = LegacyFunctionSpecification() + function.addParameter('pwr_law_index_ht_breake_mass', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_alphah(): + function = LegacyFunctionSpecification() + function.addParameter('pwr_law_index_ht_breake_mass', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_brakem(): + function = LegacyFunctionSpecification() + function.addParameter('mass_in_which_IMF_breaks', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_brakem(): + function = LegacyFunctionSpecification() + function.addParameter('mass_in_which_IMF_breaks', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_body1(): + function = LegacyFunctionSpecification() + function.addParameter('max_particle_mass_before_scaling', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_body1(): + function = LegacyFunctionSpecification() + function.addParameter('max_particle_mass_before_scaling', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_bodyn(): + function = LegacyFunctionSpecification() + function.addParameter('min_particle_mass_before_scaling', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_bodyn(): + function = LegacyFunctionSpecification() + function.addParameter('min_particle_mass_before_scaling', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_fracb(): + function = LegacyFunctionSpecification() + function.addParameter('primordial_bin_fraction', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_fracb(): + function = LegacyFunctionSpecification() + function.addParameter('primordial_bin_fraction', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_amin(): + function = LegacyFunctionSpecification() + function.addParameter('min_semi_major_ax_of_bins', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_amin(): + function = LegacyFunctionSpecification() + function.addParameter('min_semi_major_ax_of_bins', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_amax(): + function = LegacyFunctionSpecification() + function.addParameter('max_semi_major_ax_of_bins', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_amax(): + function = LegacyFunctionSpecification() + function.addParameter('max_semi_major_ax_of_bins', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_qvir(): + function = LegacyFunctionSpecification() + function.addParameter('virial_ratio', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_qvir(): + function = LegacyFunctionSpecification() + function.addParameter('virial_ratio', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_rbar(): + function = LegacyFunctionSpecification() + function.addParameter('tidal_radius', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_rbar(): + function = LegacyFunctionSpecification() + function.addParameter('tidal_radius', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_zmbar(): + function = LegacyFunctionSpecification() + function.addParameter('total_mass_cluster', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_zmbar(): + function = LegacyFunctionSpecification() + function.addParameter('total_mass_cluster', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_w0(): + function = LegacyFunctionSpecification() + function.addParameter('king_model_parameter', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_w0(): + function = LegacyFunctionSpecification() + function.addParameter('king_model_parameter', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_bmin(): + function = LegacyFunctionSpecification() + function.addParameter('min_val_of_sin_betasqr', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def set_bmin0(): + function = LegacyFunctionSpecification() + function.addParameter('min_val_of_sin_betasqr', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_bmin(): + function = LegacyFunctionSpecification() + function.addParameter('min_val_of_sin_betasqr', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_bmax(): + function = LegacyFunctionSpecification() + function.addParameter('max_val_of_sin_betasqr', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_bmax(): + function = LegacyFunctionSpecification() + function.addParameter('max_val_of_sin_betasqr', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_tau0(): + function = LegacyFunctionSpecification() + function.addParameter('time_step_for_complete_cluster_model', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_tau0(): + function = LegacyFunctionSpecification() + function.addParameter('time_step_for_complete_cluster_model', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_gamma(): + function = LegacyFunctionSpecification() + function.addParameter('param_in_coulomb_log', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_gamma(): + function = LegacyFunctionSpecification() + function.addParameter('param_in_coulomb_log', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_xtid(): + function = LegacyFunctionSpecification() + function.addParameter('coeff_front_tidal_energy', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_xtid(): + function = LegacyFunctionSpecification() + function.addParameter('coeff_front_tidal_energy', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_rplum(): + function = LegacyFunctionSpecification() + function.addParameter('rsplum_scale_radius_plummer_model', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_rplum(): + function = LegacyFunctionSpecification() + function.addParameter('rsplum_scale_radius_plummer_model', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_dttp(): + function = LegacyFunctionSpecification() + function.addParameter('time_step_for_profile_output', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_dttp(): + function = LegacyFunctionSpecification() + function.addParameter('time_step_for_profile_output', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_dtte(): + function = LegacyFunctionSpecification() + function.addParameter('time_step_for_mloss_call', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_dtte(): + function = LegacyFunctionSpecification() + function.addParameter('time_step_for_mloss_call', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_dtte0(): + function = LegacyFunctionSpecification() + function.addParameter('time_step_for_mloss_call_tph_lt_tcr', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_dtte0(): + function = LegacyFunctionSpecification() + function.addParameter('time_step_for_mloss_call_tph_lt_tcr', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_tcrevo(): + function = LegacyFunctionSpecification() + function.addParameter('critical_time_step_dtte0_to_dtte', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_tcrevo(): + function = LegacyFunctionSpecification() + function.addParameter('critical_time_step_dtte0_to_dtte', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_xtau(): + function = LegacyFunctionSpecification() + function.addParameter('call_mloss', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_xtau(): + function = LegacyFunctionSpecification() + function.addParameter('call_mloss', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_ytau(): + function = LegacyFunctionSpecification() + function.addParameter('mult_tau0', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_ytau(): + function = LegacyFunctionSpecification() + function.addParameter('mult_tau0', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_ybmin(): + function = LegacyFunctionSpecification() + function.addParameter('mult_bmin0', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_ybmin(): + function = LegacyFunctionSpecification() + function.addParameter('mult_bmin0', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_zini(): + function = LegacyFunctionSpecification() + function.addParameter('initial_metalicity', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_zini(): + function = LegacyFunctionSpecification() + function.addParameter('initial_metalicity', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_ikroupa(): + function = LegacyFunctionSpecification() + function.addParameter('initial_bins_parameters', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_ikroupa(): + function = LegacyFunctionSpecification() + function.addParameter('initial_bins_parameters', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_iflagns(): + function = LegacyFunctionSpecification() + function.addParameter('natal_kicks_ns', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_iflagns(): + function = LegacyFunctionSpecification() + function.addParameter('natal_kicks_ns', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_iflagbh(): + function = LegacyFunctionSpecification() + function.addParameter('natal_kicks_bh', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_iflagbh(): + function = LegacyFunctionSpecification() + function.addParameter('natal_kicks_bh', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_nitesc(): + function = LegacyFunctionSpecification() + function.addParameter('iteration_tidal_radius', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_nitesc(): + function = LegacyFunctionSpecification() + function.addParameter('iteration_tidal_radius', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_rc(): + function = LegacyFunctionSpecification() + function.addParameter('coreradius', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_nc(): + function = LegacyFunctionSpecification() + function.addParameter('numberdensity', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def call_zone(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + @legacy_function + def call_relaxt(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + @legacy_function + def call_amuse_output(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + def get_positions_3d_incode(self, particles): + #this is an experiment! + r = self.get_state(particles).r + i = supportInterface() + x = np.zeros(len(r)) + y = np.zeros(len(r)) + z = np.zeros(len(r)) + R = i.rnd_points_on_sphere(x, y, z) + #R = i.many_points_on_sphere(x, y, z) + i.stop() + return {'x':np.array(r*R.x), 'y':np.array(r*R.y),'z':np.array(r*R.z)} + + def get_positions_3d(self, particles): + r = self.get_state(particles).r + return self.position_to_cartesian(r) + +class mmc(InCodeComponentImplementation): + + def __init__(self): + InCodeComponentImplementation.__init__(self, mmcInterface()) + + +Mmc = mmc diff --git a/src/amuse/community/mmc/interface_orig.py b/src/amuse_mmc/interface_orig.py similarity index 100% rename from src/amuse/community/mmc/interface_orig.py rename to src/amuse_mmc/interface_orig.py diff --git a/src/amuse/community/mmc/makeinterface.py b/src/amuse_mmc/makeinterface.py similarity index 100% rename from src/amuse/community/mmc/makeinterface.py rename to src/amuse_mmc/makeinterface.py diff --git a/src/amuse_mmc/packages/amuse-mmc.amuse_deps b/src/amuse_mmc/packages/amuse-mmc.amuse_deps new file mode 100644 index 0000000000..9dcb203f4e --- /dev/null +++ b/src/amuse_mmc/packages/amuse-mmc.amuse_deps @@ -0,0 +1 @@ +issue_1108 diff --git a/src/amuse/community/mmc/src/Makefile b/src/amuse_mmc/src/Makefile similarity index 100% rename from src/amuse/community/mmc/src/Makefile rename to src/amuse_mmc/src/Makefile diff --git a/src/amuse/community/mmc/src/Makefile_orig b/src/amuse_mmc/src/Makefile_orig similarity index 100% rename from src/amuse/community/mmc/src/Makefile_orig rename to src/amuse_mmc/src/Makefile_orig diff --git a/src/amuse/community/mmc/src/amuse_interface.f b/src/amuse_mmc/src/amuse_interface.f similarity index 100% rename from src/amuse/community/mmc/src/amuse_interface.f rename to src/amuse_mmc/src/amuse_interface.f diff --git a/src/amuse/community/mmc/src/amuse_montecarl.f b/src/amuse_mmc/src/amuse_montecarl.f similarity index 100% rename from src/amuse/community/mmc/src/amuse_montecarl.f rename to src/amuse_mmc/src/amuse_montecarl.f diff --git a/src/amuse/community/mmc/src/amuse_output.f b/src/amuse_mmc/src/amuse_output.f similarity index 100% rename from src/amuse/community/mmc/src/amuse_output.f rename to src/amuse_mmc/src/amuse_output.f diff --git a/src/amuse/community/mmc/src/binary_nbody.dat b/src/amuse_mmc/src/binary_nbody.dat similarity index 100% rename from src/amuse/community/mmc/src/binary_nbody.dat rename to src/amuse_mmc/src/binary_nbody.dat diff --git a/src/amuse/community/mmc/src/checke.f b/src/amuse_mmc/src/checke.f similarity index 100% rename from src/amuse/community/mmc/src/checke.f rename to src/amuse_mmc/src/checke.f diff --git a/src/amuse/community/mmc/src/coefpot.f b/src/amuse_mmc/src/coefpot.f similarity index 100% rename from src/amuse/community/mmc/src/coefpot.f rename to src/amuse_mmc/src/coefpot.f diff --git a/src/amuse/community/mmc/src/collabr.f b/src/amuse_mmc/src/collabr.f similarity index 100% rename from src/amuse/community/mmc/src/collabr.f rename to src/amuse_mmc/src/collabr.f diff --git a/src/amuse/community/mmc/src/common.h b/src/amuse_mmc/src/common.h similarity index 100% rename from src/amuse/community/mmc/src/common.h rename to src/amuse_mmc/src/common.h diff --git a/src/amuse/community/mmc/src/const_bse.h b/src/amuse_mmc/src/const_bse.h similarity index 100% rename from src/amuse/community/mmc/src/const_bse.h rename to src/amuse_mmc/src/const_bse.h diff --git a/src/amuse/community/mmc/src/core.f b/src/amuse_mmc/src/core.f similarity index 100% rename from src/amuse/community/mmc/src/core.f rename to src/amuse_mmc/src/core.f diff --git a/src/amuse/community/mmc/src/data.f b/src/amuse_mmc/src/data.f similarity index 100% rename from src/amuse/community/mmc/src/data.f rename to src/amuse_mmc/src/data.f diff --git a/src/amuse/community/mmc/src/denbin.f b/src/amuse_mmc/src/denbin.f similarity index 100% rename from src/amuse/community/mmc/src/denbin.f rename to src/amuse_mmc/src/denbin.f diff --git a/src/amuse/community/mmc/src/density.f b/src/amuse_mmc/src/density.f similarity index 100% rename from src/amuse/community/mmc/src/density.f rename to src/amuse_mmc/src/density.f diff --git a/src/amuse/community/mmc/src/energy.f b/src/amuse_mmc/src/energy.f similarity index 100% rename from src/amuse/community/mmc/src/energy.f rename to src/amuse_mmc/src/energy.f diff --git a/src/amuse/community/mmc/src/escape.f b/src/amuse_mmc/src/escape.f similarity index 100% rename from src/amuse/community/mmc/src/escape.f rename to src/amuse_mmc/src/escape.f diff --git a/src/amuse/community/mmc/src/fit.f b/src/amuse_mmc/src/fit.f similarity index 100% rename from src/amuse/community/mmc/src/fit.f rename to src/amuse_mmc/src/fit.f diff --git a/src/amuse/community/mmc/src/formb3.f b/src/amuse_mmc/src/formb3.f similarity index 100% rename from src/amuse/community/mmc/src/formb3.f rename to src/amuse_mmc/src/formb3.f diff --git a/src/amuse/community/mmc/src/input.f b/src/amuse_mmc/src/input.f similarity index 100% rename from src/amuse/community/mmc/src/input.f rename to src/amuse_mmc/src/input.f diff --git a/src/amuse/community/mmc/src/intb3b3.f b/src/amuse_mmc/src/intb3b3.f similarity index 100% rename from src/amuse/community/mmc/src/intb3b3.f rename to src/amuse_mmc/src/intb3b3.f diff --git a/src/amuse/community/mmc/src/intb3b3a.f b/src/amuse_mmc/src/intb3b3a.f similarity index 100% rename from src/amuse/community/mmc/src/intb3b3a.f rename to src/amuse_mmc/src/intb3b3a.f diff --git a/src/amuse/community/mmc/src/intb3b3b.f b/src/amuse_mmc/src/intb3b3b.f similarity index 100% rename from src/amuse/community/mmc/src/intb3b3b.f rename to src/amuse_mmc/src/intb3b3b.f diff --git a/src/amuse/community/mmc/src/intb3f.f b/src/amuse_mmc/src/intb3f.f similarity index 100% rename from src/amuse/community/mmc/src/intb3f.f rename to src/amuse_mmc/src/intb3f.f diff --git a/src/amuse/community/mmc/src/intcol.f b/src/amuse_mmc/src/intcol.f similarity index 100% rename from src/amuse/community/mmc/src/intcol.f rename to src/amuse_mmc/src/intcol.f diff --git a/src/amuse/community/mmc/src/interface_bse.f b/src/amuse_mmc/src/interface_bse.f similarity index 100% rename from src/amuse/community/mmc/src/interface_bse.f rename to src/amuse_mmc/src/interface_bse.f diff --git a/src/amuse/community/mmc/src/interface_bse.h b/src/amuse_mmc/src/interface_bse.h similarity index 100% rename from src/amuse/community/mmc/src/interface_bse.h rename to src/amuse_mmc/src/interface_bse.h diff --git a/src/amuse/community/mmc/src/isnan.f b/src/amuse_mmc/src/isnan.f similarity index 100% rename from src/amuse/community/mmc/src/isnan.f rename to src/amuse_mmc/src/isnan.f diff --git a/src/amuse/community/mmc/src/jarrod.f b/src/amuse_mmc/src/jarrod.f similarity index 100% rename from src/amuse/community/mmc/src/jarrod.f rename to src/amuse_mmc/src/jarrod.f diff --git a/src/amuse/community/mmc/src/jh_routines.f b/src/amuse_mmc/src/jh_routines.f similarity index 100% rename from src/amuse/community/mmc/src/jh_routines.f rename to src/amuse_mmc/src/jh_routines.f diff --git a/src/amuse/community/mmc/src/kick.f b/src/amuse_mmc/src/kick.f similarity index 100% rename from src/amuse/community/mmc/src/kick.f rename to src/amuse_mmc/src/kick.f diff --git a/src/amuse/community/mmc/src/king-double.f b/src/amuse_mmc/src/king-double.f similarity index 100% rename from src/amuse/community/mmc/src/king-double.f rename to src/amuse_mmc/src/king-double.f diff --git a/src/amuse/community/mmc/src/king.f b/src/amuse_mmc/src/king.f similarity index 100% rename from src/amuse/community/mmc/src/king.f rename to src/amuse_mmc/src/king.f diff --git a/src/amuse/community/mmc/src/lagrad.f b/src/amuse_mmc/src/lagrad.f similarity index 100% rename from src/amuse/community/mmc/src/lagrad.f rename to src/amuse_mmc/src/lagrad.f diff --git a/src/amuse/community/mmc/src/mloss.f b/src/amuse_mmc/src/mloss.f similarity index 100% rename from src/amuse/community/mmc/src/mloss.f rename to src/amuse_mmc/src/mloss.f diff --git a/src/amuse/community/mmc/src/mloss_single.f b/src/amuse_mmc/src/mloss_single.f similarity index 100% rename from src/amuse/community/mmc/src/mloss_single.f rename to src/amuse_mmc/src/mloss_single.f diff --git a/src/amuse/community/mmc/src/mont-car.f b/src/amuse_mmc/src/mont-car.f similarity index 100% rename from src/amuse/community/mmc/src/mont-car.f rename to src/amuse_mmc/src/mont-car.f diff --git a/src/amuse/community/mmc/src/montcarl.f b/src/amuse_mmc/src/montcarl.f similarity index 100% rename from src/amuse/community/mmc/src/montcarl.f rename to src/amuse_mmc/src/montcarl.f diff --git a/src/amuse/community/mmc/src/mturn.f b/src/amuse_mmc/src/mturn.f similarity index 100% rename from src/amuse/community/mmc/src/mturn.f rename to src/amuse_mmc/src/mturn.f diff --git a/src/amuse/community/mmc/src/mydump.f b/src/amuse_mmc/src/mydump.f similarity index 100% rename from src/amuse/community/mmc/src/mydump.f rename to src/amuse_mmc/src/mydump.f diff --git a/src/amuse/community/mmc/src/newpos.f b/src/amuse_mmc/src/newpos.f similarity index 100% rename from src/amuse/community/mmc/src/newpos.f rename to src/amuse_mmc/src/newpos.f diff --git a/src/amuse/community/mmc/src/newvel.f b/src/amuse_mmc/src/newvel.f similarity index 100% rename from src/amuse/community/mmc/src/newvel.f rename to src/amuse_mmc/src/newvel.f diff --git a/src/amuse/community/mmc/src/output.f b/src/amuse_mmc/src/output.f similarity index 100% rename from src/amuse/community/mmc/src/output.f rename to src/amuse_mmc/src/output.f diff --git a/src/amuse/community/mmc/src/params.h b/src/amuse_mmc/src/params.h similarity index 100% rename from src/amuse/community/mmc/src/params.h rename to src/amuse_mmc/src/params.h diff --git a/src/amuse/community/mmc/src/params.h-50K b/src/amuse_mmc/src/params.h-50K similarity index 100% rename from src/amuse/community/mmc/src/params.h-50K rename to src/amuse_mmc/src/params.h-50K diff --git a/src/amuse/community/mmc/src/plumix.c b/src/amuse_mmc/src/plumix.c similarity index 100% rename from src/amuse/community/mmc/src/plumix.c rename to src/amuse_mmc/src/plumix.c diff --git a/src/amuse/community/mmc/src/poly.f b/src/amuse_mmc/src/poly.f similarity index 100% rename from src/amuse/community/mmc/src/poly.f rename to src/amuse_mmc/src/poly.f diff --git a/src/amuse/community/mmc/src/potent.f b/src/amuse_mmc/src/potent.f similarity index 100% rename from src/amuse/community/mmc/src/potent.f rename to src/amuse_mmc/src/potent.f diff --git a/src/amuse/community/mmc/src/project.f b/src/amuse_mmc/src/project.f similarity index 100% rename from src/amuse/community/mmc/src/project.f rename to src/amuse_mmc/src/project.f diff --git a/src/amuse/community/mmc/src/ran2.f b/src/amuse_mmc/src/ran2.f similarity index 100% rename from src/amuse/community/mmc/src/ran2.f rename to src/amuse_mmc/src/ran2.f diff --git a/src/amuse/community/mmc/src/rand.c b/src/amuse_mmc/src/rand.c similarity index 100% rename from src/amuse/community/mmc/src/rand.c rename to src/amuse_mmc/src/rand.c diff --git a/src/amuse/community/mmc/src/rand.h b/src/amuse_mmc/src/rand.h similarity index 100% rename from src/amuse/community/mmc/src/rand.h rename to src/amuse_mmc/src/rand.h diff --git a/src/amuse/community/mmc/src/rcrh.f b/src/amuse_mmc/src/rcrh.f similarity index 100% rename from src/amuse/community/mmc/src/rcrh.f rename to src/amuse_mmc/src/rcrh.f diff --git a/src/amuse/community/mmc/src/relax.f b/src/amuse_mmc/src/relax.f similarity index 100% rename from src/amuse/community/mmc/src/relax.f rename to src/amuse_mmc/src/relax.f diff --git a/src/amuse/community/mmc/src/relaxall.f b/src/amuse_mmc/src/relaxall.f similarity index 100% rename from src/amuse/community/mmc/src/relaxall.f rename to src/amuse_mmc/src/relaxall.f diff --git a/src/amuse/community/mmc/src/relvel.f b/src/amuse_mmc/src/relvel.f similarity index 100% rename from src/amuse/community/mmc/src/relvel.f rename to src/amuse_mmc/src/relvel.f diff --git a/src/amuse/community/mmc/src/runtime.f b/src/amuse_mmc/src/runtime.f similarity index 100% rename from src/amuse/community/mmc/src/runtime.f rename to src/amuse_mmc/src/runtime.f diff --git a/src/amuse/community/mmc/src/scale0.f b/src/amuse_mmc/src/scale0.f similarity index 100% rename from src/amuse/community/mmc/src/scale0.f rename to src/amuse_mmc/src/scale0.f diff --git a/src/amuse/community/mmc/src/single_nbody.dat b/src/amuse_mmc/src/single_nbody.dat similarity index 100% rename from src/amuse/community/mmc/src/single_nbody.dat rename to src/amuse_mmc/src/single_nbody.dat diff --git a/src/amuse/community/mmc/src/sort2.f b/src/amuse_mmc/src/sort2.f similarity index 100% rename from src/amuse/community/mmc/src/sort2.f rename to src/amuse_mmc/src/sort2.f diff --git a/src/amuse/community/mmc/src/sort3.f b/src/amuse_mmc/src/sort3.f similarity index 100% rename from src/amuse/community/mmc/src/sort3.f rename to src/amuse_mmc/src/sort3.f diff --git a/src/amuse/community/mmc/src/standalone.f b/src/amuse_mmc/src/standalone.f similarity index 100% rename from src/amuse/community/mmc/src/standalone.f rename to src/amuse_mmc/src/standalone.f diff --git a/src/amuse/community/mmc/src/start.f b/src/amuse_mmc/src/start.f similarity index 100% rename from src/amuse/community/mmc/src/start.f rename to src/amuse_mmc/src/start.f diff --git a/src/amuse/community/mmc/src/test.f90 b/src/amuse_mmc/src/test.f90 similarity index 100% rename from src/amuse/community/mmc/src/test.f90 rename to src/amuse_mmc/src/test.f90 diff --git a/src/amuse/community/mmc/src/timepot.f b/src/amuse_mmc/src/timepot.f similarity index 100% rename from src/amuse/community/mmc/src/timepot.f rename to src/amuse_mmc/src/timepot.f diff --git a/src/amuse/community/mmc/src/veloc.f b/src/amuse_mmc/src/veloc.f similarity index 100% rename from src/amuse/community/mmc/src/veloc.f rename to src/amuse_mmc/src/veloc.f diff --git a/src/amuse/community/mmc/src/velocity.f b/src/amuse_mmc/src/velocity.f similarity index 100% rename from src/amuse/community/mmc/src/velocity.f rename to src/amuse_mmc/src/velocity.f diff --git a/src/amuse/community/mmc/src/zdata.h b/src/amuse_mmc/src/zdata.h similarity index 100% rename from src/amuse/community/mmc/src/zdata.h rename to src/amuse_mmc/src/zdata.h diff --git a/src/amuse/community/mmc/src/zero.f b/src/amuse_mmc/src/zero.f similarity index 100% rename from src/amuse/community/mmc/src/zero.f rename to src/amuse_mmc/src/zero.f diff --git a/src/amuse/community/mmc/src/zone.f b/src/amuse_mmc/src/zone.f similarity index 100% rename from src/amuse/community/mmc/src/zone.f rename to src/amuse_mmc/src/zone.f diff --git a/src/amuse/community/mmc/valid.py b/src/amuse_mmc/valid.py similarity index 100% rename from src/amuse/community/mmc/valid.py rename to src/amuse_mmc/valid.py diff --git a/src/amuse/community/mmc/validnoctrl.py b/src/amuse_mmc/validnoctrl.py similarity index 100% rename from src/amuse/community/mmc/validnoctrl.py rename to src/amuse_mmc/validnoctrl.py diff --git a/src/amuse_mobse/Makefile b/src/amuse_mobse/Makefile new file mode 100644 index 0000000000..4f1135322c --- /dev/null +++ b/src/amuse_mobse/Makefile @@ -0,0 +1,63 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library +FCFLAGS += $(FORSOCKETS_CFLAGS) +LDLIBS += $(FORSOCKETS_LIBS) $(LIBS) + +MOBSEOBJ = src/comenv.o src/corerd.o src/deltat.o src/dgcore.o \ + src/evolv3.o src/gntage.o src/hrdiag.o src/instar.o \ + src/kick.o src/mix.o src/mlwind.o src/mrenv.o \ + src/ran3.o src/rl.o \ + src/pisn.f src/eddington.f src/fallback.f \ + src/star.o src/zcnsts.o src/zfuncs.o + +# Building the workers +mobse_worker.f90: interface.py + amusifier --type=f90 interface.py MOBSEInterface -o $@ + +mobse_worker.o: mobse_worker.f90 + $(MPIFC) -c $(FCFLAGS) $< + +%.o: %.f + $(FC) -c -o $@ $(FCFLAGS) $< + +mobse_worker: interface.o mobse_worker.o $(MOBSEOBJ) + $(MPIFC) -o mobse_worker $(LDFLAGS) $^ $(LDLIBS) + + +# Which packages contain which workers? +amuse-mobse_contains: mobse_worker + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + rm -rf *.o src/*.o *worker* *.mod + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_mobse/__init__.py b/src/amuse_mobse/__init__.py new file mode 100644 index 0000000000..31a965ba10 --- /dev/null +++ b/src/amuse_mobse/__init__.py @@ -0,0 +1 @@ +from .interface import Mobse diff --git a/src/amuse/community/mobse/interface.f b/src/amuse_mobse/interface.f similarity index 100% rename from src/amuse/community/mobse/interface.f rename to src/amuse_mobse/interface.f diff --git a/src/amuse_mobse/interface.py b/src/amuse_mobse/interface.py new file mode 100644 index 0000000000..03be481aed --- /dev/null +++ b/src/amuse_mobse/interface.py @@ -0,0 +1,654 @@ +from amuse.community import * +from amuse.units import units +from amuse.units import constants +from amuse.units.quantities import Quantity +from amuse.community.interface import common + +from amuse.datamodel import Particles +from amuse.datamodel import ParticlesSubset + +import numpy + +class MOBSEInterface(CodeInterface, common.CommonCodeInterface , LiteratureReferencesMixIn): + """ + MOBSE (Massive Object in BSE) is an updated version of the **rapid** binary-star + evolution (BSE) algorithm. With respect to BSE, the major upgrades are that MOBSE + includes up-to-date equations for metal-dependent stellar winds and new prescriptions + for core-collapse supernova explosion (SNe). Moreover, MOBSE includes the dependence + of stellar winds on the Eddington factor: if a star approaches the Eddington limit + stellar winds become almost insensitive to metallicity. MOBSE includes also the effects + of Pulsation Pair Instability SNe and Pair Instability SNe, it has more precise + formulas to compute the core radii and it can use a different velocity distribution + to calculate the velocity kick due to electron-capture SNe. More details about MOBSE can + be found in paper: + + .. [#] ADS:2018MNRAS.474.2959G (Nicola Giacobbo, Michela Mapelli & Mario Spera, 2018, MNRAS, 474, 2959: + .. [#] ... Merging black hole binaries: the effects of progenitor s metallicity, mass-loss rate and Eddington factor) + + The details about BSE can be found in the BSE paper: + .. [#] ADS:2002MNRAS.329..897H (Hurley J.R., Tout C.A., & Pols O.R., 2002, MNRAS, 329, 897: + .. [#] ... Evolution of binary stars and the effect of tides on binary populations) + .. [#] ADS:2000MNRAS.315..543H (Hurley J.R., Pols O.R., Tout C.A., 2000, MNRAS, 315, 543: + .. [#] ... Comprehensive analytic formulae for stellar evolution as a function of mass and metallicity) + """ + def __init__(self, **options): + CodeInterface.__init__(self, name_of_the_worker="mobse_worker", **options) + LiteratureReferencesMixIn.__init__(self) + + @legacy_function + def initialize(): + function = LegacyFunctionSpecification() + function.addParameter('z_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('neta_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('bwind_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('hewind_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('alpha1_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('CElambda_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('ceflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('tflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('ifflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('wdflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('bhflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('nsflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('piflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('mxns_in', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('idum_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('pts1_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('pts2_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('pts3_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('sigma1_in', dtype='d', direction=function.IN, unit = units.km / units.s) + function.addParameter('sigma2_in', dtype='d', direction=function.IN, unit = units.km / units.s) + function.addParameter('beta_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('xi_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('acc2_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('epsnov_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('eddfac_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('gamma_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('status', dtype='i', direction=function.OUT, unit = NO_UNIT) + return function + + @legacy_function + def evolve_binary(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('type1', dtype='i', direction=function.INOUT, unit = units.stellar_type) + function.addParameter('type2', dtype='i', direction=function.INOUT, unit = units.stellar_type) + function.addParameter('initial_mass1', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('initial_mass2', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('mass1', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('mass2', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('radius1', dtype='d', direction=function.INOUT, unit = units.RSun) + function.addParameter('radius2', dtype='d', direction=function.INOUT, unit = units.RSun) + function.addParameter('luminosity1', dtype='d', direction=function.INOUT, unit = units.LSun) + function.addParameter('luminosity2', dtype='d', direction=function.INOUT, unit = units.LSun) + function.addParameter('core_mass1', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('core_mass2', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('core_radius1', dtype='d', direction=function.INOUT, unit = units.RSun) + function.addParameter('core_radius2', dtype='d', direction=function.INOUT, unit = units.RSun) + function.addParameter('convective_envelope_mass1', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('convective_envelope_mass2', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('convective_envelope_radius1', dtype='d', direction=function.INOUT, unit = units.RSun) + function.addParameter('convective_envelope_radius2', dtype='d', direction=function.INOUT, unit = units.RSun) + function.addParameter('spin1', dtype='d', direction=function.INOUT, unit = NO_UNIT) + function.addParameter('spin2', dtype='d', direction=function.INOUT, unit = NO_UNIT) + function.addParameter('epoch1', dtype='d', direction=function.INOUT, unit = units.Myr) + function.addParameter('epoch2', dtype='d', direction=function.INOUT, unit = units.Myr) + function.addParameter('MS_lifetime1', dtype='d', direction=function.INOUT, unit = units.Myr) + function.addParameter('MS_lifetime2', dtype='d', direction=function.INOUT, unit = units.Myr) + function.addParameter('age', dtype='d', direction=function.INOUT, unit = units.Myr) + function.addParameter('orbital_period', dtype='d', direction=function.INOUT, unit = units.day) + function.addParameter('eccentricity', dtype='d', direction=function.INOUT, unit = NO_UNIT) + function.addParameter('end_time', dtype='d', direction=function.INOUT, unit = units.Myr) + return function + + @legacy_function + def get_time_step(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('type1', dtype='i', direction=function.IN, unit = units.stellar_type) + function.addParameter('type2', dtype='i', direction=function.IN, unit = units.stellar_type) + function.addParameter('initial_mass1', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('initial_mass2', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('mass1', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('mass2', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('MS_lifetime1', dtype='d', direction=function.IN, unit = units.Myr) + function.addParameter('MS_lifetime2', dtype='d', direction=function.IN, unit = units.Myr) + function.addParameter('epoch1', dtype='d', direction=function.IN, unit = units.Myr) + function.addParameter('epoch2', dtype='d', direction=function.IN, unit = units.Myr) + function.addParameter('age', dtype='d', direction=function.IN, unit = units.Myr) + function.addParameter('time_step', dtype='d', direction=function.OUT, unit = units.Myr) + + return function + + def get_time_step_for_binary(self, binary): + current_values = {} + current_values['type1'] = binary.type1.value_in(units.stellar_type) + current_values['type2'] = binary.type2.value_in(units.stellar_type) + current_values['initial_mass1'] = binary.initial_mass1.value_in(units.MSun) + current_values['initial_mass2'] = binary.initial_mass2.value_in(units.MSun) + current_values['mass1'] = binary.mass1.value_in(units.MSun) + current_values['mass2'] = binary.mass2.value_in(units.MSun) + current_values['MS_lifetime1'] = binary.MS_lifetime1.value_in(units.Myr) + current_values['MS_lifetime2'] = binary.MS_lifetime2.value_in(units.Myr) + current_values['epoch1'] = binary.epoch1.value_in(units.Myr) + current_values['epoch2'] = binary.epoch2.value_in(units.Myr) + current_values['age'] = binary.age.value_in(units.Myr) + + result = self.get_time_step(**current_values) + + return result | units.Myr + + + def evolve_particle(self, particle, time_end): + t = particle.current_time + if particle.stellar_type == 15: + return + while t < time_end: + t0 = t + t = t0 + self.get_time_step_for_binary(particle) + if t > time_end: + t = time_end + self.evolve_star(particle, t) + t1 = particle.current_time + dt = t1 - t0 + t0 = t1 + if dt.value_in(units.Myr) == 0.0: + #print t, t0, t1, dt, "BREAK BREAK BREAK!" + return + if particle.stellar_type == 15: + return + + def initialize_code(self): + return 0 + + def commit_parameters(self): + return 0 + + def recommit_parameters(self): + return 0 + + def cleanup_code(self): + return 0 + + def commit_particles(self): + return 0 + +class MOBSEStars(Particles): + + def __init__(self, code_interface, storage = None): + Particles.__init__(self, storage = storage) + self._private.code_interface = code_interface + self.add_calculated_attribute("temperature", self.calculate_effective_temperature, ["luminosity", "radius"]) + + def calculate_effective_temperature(self, luminosity, radius): + return ((luminosity/(constants.four_pi_stefan_boltzmann*radius**2))**.25).in_(units.K) + + def add_particles_to_store(self, keys, attributes = [], values = []): + if len(keys) == 0: + return + + all_attributes = [] + all_attributes.extend(attributes) + all_values = [] + all_values.extend(values) + + mapping_from_attribute_to_default_value = { + "stellar_type" : 1 | units.stellar_type, + "radius": 0 | units.RSun, + "luminosity": 0 | units.LSun, + "core_mass": 0 | units.MSun, + "core_radius": 0 | units.RSun, + "convective_envelope_mass": 0 | units.MSun, + "convective_envelope_radius": 0 | units.RSun, + "epoch": 0 | units.Myr, + "spin": 0 | units.none, + "main_sequence_lifetime": 0 | units.Myr, + "age": 0 | units.Myr, + "stellar_type": 0 | units.stellar_type #units.stellar_type("Main Sequence star"), + } + + given_attributes = set(attributes) + + if not "initial_mass" in given_attributes: + index_of_mass_attibute = attributes.index("mass") + all_attributes.append("initial_mass") + all_values.append(values[index_of_mass_attibute] * 1.0) + + for attribute, default_value in mapping_from_attribute_to_default_value.items(): + if not attribute in given_attributes: + all_attributes.append(attribute) + all_values.append(default_value.as_vector_with_length(len(keys))) + + super(MOBSEStars, self).add_particles_to_store(keys, all_attributes, all_values) + + + def get_defined_attribute_names(self): + return ["mass", "radius"] + +class MOBSEBinaries(Particles): + + def __init__(self, code_interface, storage = None): + Particles.__init__(self, storage = storage) + self._private.code_interface = code_interface + + def add_particles_to_store(self, keys, attributes = [], values = []): + if len(keys) == 0: + return + + given_attributes = set(attributes) + + if not "child1" in given_attributes: + raise Exception("a binary must always have a child1 attribute") + + if not "child2" in given_attributes: + raise Exception("a binary must always have a child2 attribute") + + all_attributes = [] + all_values = [] + for attribute, value in zip(attributes, values): + all_attributes.append(attribute) + if attribute == 'child1' or attribute == 'child2': + value = value.copy_with_link_transfer(None, self._private.code_interface.particles) + all_values.append(value) + else: + all_values.append(value) + + mapping_from_attribute_to_default_value = { + "eccentricity": 0.0 | units.none, + "age": 0 | units.Myr + } + + + + for attribute, default_value in mapping_from_attribute_to_default_value.items(): + if not attribute in given_attributes: + all_attributes.append(attribute) + all_values.append(default_value.as_vector_with_length(len(keys))) + + super(MOBSEBinaries, self).add_particles_to_store(keys, all_attributes, all_values) + + added_particles = ParticlesSubset(self, keys) + self._private.code_interface._evolve_binaries(added_particles, 1e-08 | units.yr) + + def get_defined_attribute_names(self): + return ["eccentricity", "orbital_period", "age", "child1", "child2"] + +class MOBSE(common.CommonCode): + + def __init__(self, **options): + InCodeComponentImplementation.__init__(self, MOBSEInterface(**options), **options) + + self.model_time = 0.0 | units.yr + + + def define_parameters(self, handler): + + handler.add_caching_parameter( + "initialize", + "z_in", + "metallicity", + "Metallicity of all stars", + 0.02 + ) + + handler.add_caching_parameter( + "initialize", + "neta_in", + "reimers_mass_loss_coefficient", + "Reimers mass-loss coefficient (neta*4x10^-13; 0.5 normally)", + 0.5 + ) + + handler.add_caching_parameter( + "initialize", + "bwind_in", + "binary_enhanced_mass_loss_parameter", + "The binary enhanced mass loss parameter (inactive for single).", + 0.0 + ) + + handler.add_caching_parameter( + "initialize", + "hewind_in", + "helium_star_mass_loss_factor", + "Helium star mass loss factor", + 1.0 + ) + + handler.add_caching_parameter( + "initialize", + "alpha1_in", + "common_envelope_efficiency", + "The common-envelope efficiency parameter", + 1.0 + ) + + handler.add_caching_parameter( + "initialize", + "CElambda_in", + "common_envelope_binding_energy_factor", + "The binding energy factor for common envelope evolution", + 0.1 + ) + + handler.add_caching_parameter( + "initialize", + "ceflag_in", + "common_envelope_model_flag", + "ceflag > 0 activates spin-energy correction in common-envelope. ceflag = 3 activates de Kool common-envelope model (0).", + 0 + ) + + handler.add_caching_parameter( + "initialize", + "tflag_in", + "tidal_circularisation_flag", + "tflag > 0 activates tidal circularisation (1).", + 1 + ) + + handler.add_caching_parameter( + "initialize", + "ifflag_in", + "white_dwarf_IFMR_flag", + "ifflag > 0 uses white dwarf IFMR (initial-final mass relation) of HPE, 1995, MNRAS, 272, 800 (0).", + 0 + ) + + handler.add_caching_parameter( + "initialize", + "wdflag_in", + "white_dwarf_cooling_flag", + "wdflag > 0 uses modified-Mestel cooling for WDs (0).", + 1 + ) + + handler.add_caching_parameter( + "initialize", + "bhflag_in", + "black_hole_kick_flag", + "bhflag > 0 allows velocity kick at BH formation (0).", + 1 + ) + + handler.add_caching_parameter( + "initialize", + "nsflag_in", + "neutron_star_mass_flag", + "nsflag = 3 Delayed SNe model from Fryer et al. 2012, ApJ, 749, 91.", + 3 + ) + + handler.add_caching_parameter( + "initialize", + "piflag_in", + "pair_instability_flag", + "piflag > 0 activates the PPISN and PISN from Spera & Mapelli 2017, MNRAS, 470, 4739 (1).", + 1 + ) + + handler.add_caching_parameter( + "initialize", + "mxns_in", + "maximum_neutron_star_mass", + "The maximum neutron star mass (1.8, nsflag=0; 3.0, nsflag=1).", + 3.0 | units.MSun + ) + + handler.add_caching_parameter( + "initialize", + "idum_in", + "SN_kick_random_seed", + "The random number seed used in the kick routine.", + 29769 + ) + + handler.add_caching_parameter( + "initialize", + "pts1_in", + "fractional_time_step_1", + "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: MS (0.05)", + 0.05 + ) + + handler.add_caching_parameter( + "initialize", + "pts2_in", + "fractional_time_step_2", + "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: GB, CHeB, AGB, HeGB (0.01)", + 0.01 + ) + + handler.add_caching_parameter( + "initialize", + "pts3_in", + "fractional_time_step_3", + "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: HG, HeMS (0.02)", + 0.02 + ) + + handler.add_caching_parameter( + "initialize", + "sigma1_in", + "SN_kick_speed_dispersion_ICS", + "The dispersion in the Maxwellian for the SN kick speed (265 km/s from Hobbs et al. 2005).", + 265.0 | units.km / units.s + ) + + handler.add_caching_parameter( + "initialize", + "sigma2_in", + "SN_kick_speed_dispersion_ECS", + "The dispersion in the Maxwellian for the SN kick speed (7 km/s).", + 7.0 | units.km / units.s + ) + + handler.add_caching_parameter( + "initialize", + "beta_in", + "wind_velocity_factor", + "The wind velocity factor: proportional to vwind**2 (1/8).", + 0.125 + ) + + handler.add_caching_parameter( + "initialize", + "xi_in", + "wind_accretion_efficiency", + "The wind accretion efficiency factor (1.0).", + 1.0 + ) + + handler.add_caching_parameter( + "initialize", + "acc2_in", + "wind_accretion_factor", + "The Bondi-Hoyle wind accretion factor (3/2).", + 1.5 + ) + + handler.add_caching_parameter( + "initialize", + "epsnov_in", + "nova_retained_accreted_matter_fraction", + "The fraction of accreted matter retained in nova eruption (0.001).", + 0.001 + ) + + handler.add_caching_parameter( + "initialize", + "eddfac_in", + "Eddington_mass_transfer_limit_factor", + "The Eddington limit factor for mass transfer (1.0).", + 1.0 + ) + + handler.add_caching_parameter( + "initialize", + "gamma_in", + "Roche_angular_momentum_factor", + "The angular momentum factor for mass lost during Roche (-1.0). ", + -1.0 + ) + + + def define_state(self, handler): + common.CommonCode.define_state(self, handler) + handler.add_transition('INITIALIZED','RUN','commit_parameters') + handler.add_method('RUN', 'evolve_binary') + + handler.add_method('RUN','before_get_parameter') + handler.add_method('RUN','before_set_parameter') + + + + + def define_particle_sets(self, handler): + handler.define_inmemory_set('particles', MOBSEStars) + handler.define_inmemory_set('binaries', MOBSEBinaries) + + handler.add_attribute( + 'binaries', + 'time_step', + '_get_time_step', + ('child1', 'child2', 'age') + #('child1', 'type2', + # 'initial_mass1', 'initial_mass2', + # 'mass1', 'mass2', + # 'MS_lifetime1', 'MS_lifetime2', + # 'epoch1', 'epoch2', + #'age') + ) + + def _get_time_step(self, child1, child2, age): + child1 = child1.as_set() + child2 = child2.as_set() + return self.get_time_step( + child1.stellar_type, child2.stellar_type, + child1.initial_mass, child2.initial_mass, + child1.mass, child2.mass, + child1.age, child2.age, + child1.epoch, child2.epoch, + age + ) + + def orbital_period_to_semi_major_axis(self, orbital_period, mass1, mass2): + mu = (mass1 + mass2) * constants.G + return (((orbital_period / (2.0 * numpy.pi))**2)*mu)**(1.0/3.0) + + def semi_major_axis_to_orbital_period(self, semi_major_axis, mass1, mass2): + mu = (mass1 + mass2) * constants.G + return 2.0 * numpy.pi * ((semi_major_axis**3/mu)**0.5) + + def _evolve_binaries(self, particles, end_time): + binary_attributes = ( + "age", + "semi_major_axis", + "eccentricity" + ) + + single_attributes = ( + "stellar_type", + "initial_mass", + "mass", + "radius", + "luminosity", + "core_mass", + "core_radius", + "convective_envelope_mass", + "convective_envelope_radius", + "spin", + "epoch", + "age", + ) + + children1 = particles.child1.as_set() + children2 = particles.child2.as_set() + children1_arguments = children1.get_values_in_store(children1.get_all_indices_in_store(), single_attributes) + children2_arguments = children2.get_values_in_store(children2.get_all_indices_in_store(), single_attributes) + + binaries_arguments = particles.get_values_in_store(particles.get_all_indices_in_store(), binary_attributes) + + binaries_arguments[1] = self.semi_major_axis_to_orbital_period(binaries_arguments[1] , children1_arguments[2], children2_arguments[2]) + + arguments = [] + for argument1, argument2 in zip(children1_arguments, children2_arguments): + arguments.append(argument1) + arguments.append(argument2) + + arguments.extend(binaries_arguments) + arguments.append(end_time.as_vector_with_length(len(particles))) + + result = self.evolve_binary(*arguments) + + result[-3] = self.orbital_period_to_semi_major_axis(result[-3] , result[4], result[5]) + + + children1_results = [] + children2_results = [] + index = 0 + for dummy in range(len(children1_arguments)): + children1_results.append(result[index]) + index += 1 + children2_results.append(result[index]) + index += 1 + + children1.set_values_in_store(children1.get_all_indices_in_store(), single_attributes, children1_results) + children2.set_values_in_store(children2.get_all_indices_in_store(), single_attributes, children2_results) + particles.set_values_in_store(particles.get_all_indices_in_store(), binary_attributes, result[index:]) + + + def evolve_model(self, end_time = None, keep_synchronous = True): + if not keep_synchronous: + self._evolve_binaries(self.binaries, self.binaries.time_step + self.binaries.age) + return + + if end_time is None: + end_time = self.model_time + min(self.binaries.time_step) + self._evolve_binaries(self.binaries, end_time - self.model_time + self.binaries.age) + self.model_time = end_time + + def commit_particles(self): + pass + + def update_time_steps(self): + pass + + def commit_parameters(self): + self.parameters.send_cached_parameters_to_code() + self.overridden().commit_parameters() + + def initialize_module_with_current_parameters(self): + self.commit_parameters() + + def initialize_module_with_default_parameters(self): + """ + * neta is the Reimers mass-loss coefficent (neta*4x10^-13; 0.5 normally). + * bwind is the binary enhanced mass loss parameter (inactive for single). + * hewind is a helium star mass loss factor (1.0 normally, inactive). + * sigma1 is the dispersion in the Maxwellian for the ICSN kick speed (265 km/s). + * sigma2 is the dispersion in the Maxwellian for the ECSN kick speed (7 km/s). + * + * ifflag > 0 uses WD IFMR of HPE, 1995, MNRAS, 272, 800 (0). + * wdflag > 0 uses modified-Mestel cooling for WDs (0). + * bhflag > 0 allows velocity kick at BH formation (1). + * nsflag = 1 takes NS/BH mass from Belczynski et al. 2002, ApJ, 572, 407.", + * = 2 Rapid SNe model from Fryer et al. 2012, ApJ, 749, 91.", + * = 3 Delayed SNe model from Fryer et al. 2012, ApJ, 749, 91.", + * mxns is the maximum NS mass (1.8, nsflag=0; 3.0, nsflag=1). + * piflag > 0 activates the PPISN and PISN from Spera & Mapelli 2017, MNRAS, 470, 4739 (1).", + * idum is the random number seed used in the kick routine. + * + * Next come the parameters that determine the timesteps chosen in each + * evolution phase: + * pts1 - MS (0.05) + * pts2 - GB, CHeB, AGB, HeGB (0.01) + * pts3 - HG, HeMS (0.02) + * as decimal fractions of the time taken in that phase. + """ + self.parameters.set_defaults() + self.commit_parameters() + + + +Mobse = MOBSE diff --git a/src/amuse_mobse/packages/amuse-mobse.amuse_deps b/src/amuse_mobse/packages/amuse-mobse.amuse_deps new file mode 100644 index 0000000000..235aec9dc0 --- /dev/null +++ b/src/amuse_mobse/packages/amuse-mobse.amuse_deps @@ -0,0 +1 @@ +fortran mpi \ No newline at end of file diff --git a/src/amuse_mobse/packages/amuse-mobse/amuse_mobse b/src/amuse_mobse/packages/amuse-mobse/amuse_mobse new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_mobse/packages/amuse-mobse/amuse_mobse @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_mobse/packages/amuse-mobse/pyproject.toml b/src/amuse_mobse/packages/amuse-mobse/pyproject.toml new file mode 100644 index 0000000000..d34e62efcd --- /dev/null +++ b/src/amuse_mobse/packages/amuse-mobse/pyproject.toml @@ -0,0 +1,42 @@ +[project] +name = "amuse-mobse" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_mobse/**/*.py"] +exclude = [ + "amuse_mobse/packages", + "amuse_mobse/support", + "amuse_mobse/src", + "amuse_mobse/tests" + ] +artifacts = ["amuse_mobse/mobse_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_mobse/tests/"] + +testpaths = ["amuse_mobse/tests"] +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/mobse/src/Makefile b/src/amuse_mobse/src/Makefile similarity index 100% rename from src/amuse/community/mobse/src/Makefile rename to src/amuse_mobse/src/Makefile diff --git a/src/amuse/community/mobse/src/README_MOBSE b/src/amuse_mobse/src/README_MOBSE similarity index 100% rename from src/amuse/community/mobse/src/README_MOBSE rename to src/amuse_mobse/src/README_MOBSE diff --git a/src/amuse/community/mobse/src/binary.in b/src/amuse_mobse/src/binary.in similarity index 100% rename from src/amuse/community/mobse/src/binary.in rename to src/amuse_mobse/src/binary.in diff --git a/src/amuse/community/mobse/src/comenv.f b/src/amuse_mobse/src/comenv.f similarity index 100% rename from src/amuse/community/mobse/src/comenv.f rename to src/amuse_mobse/src/comenv.f diff --git a/src/amuse/community/mobse/src/const_mobse.h b/src/amuse_mobse/src/const_mobse.h similarity index 100% rename from src/amuse/community/mobse/src/const_mobse.h rename to src/amuse_mobse/src/const_mobse.h diff --git a/src/amuse/community/mobse/src/corerd.f b/src/amuse_mobse/src/corerd.f similarity index 100% rename from src/amuse/community/mobse/src/corerd.f rename to src/amuse_mobse/src/corerd.f diff --git a/src/amuse/community/mobse/src/deltat.f b/src/amuse_mobse/src/deltat.f similarity index 100% rename from src/amuse/community/mobse/src/deltat.f rename to src/amuse_mobse/src/deltat.f diff --git a/src/amuse/community/mobse/src/dgcore.f b/src/amuse_mobse/src/dgcore.f similarity index 100% rename from src/amuse/community/mobse/src/dgcore.f rename to src/amuse_mobse/src/dgcore.f diff --git a/src/amuse/community/mobse/src/eddington.f b/src/amuse_mobse/src/eddington.f similarity index 100% rename from src/amuse/community/mobse/src/eddington.f rename to src/amuse_mobse/src/eddington.f diff --git a/src/amuse/community/mobse/src/evolv3.f b/src/amuse_mobse/src/evolv3.f similarity index 100% rename from src/amuse/community/mobse/src/evolv3.f rename to src/amuse_mobse/src/evolv3.f diff --git a/src/amuse/community/mobse/src/fallback.f b/src/amuse_mobse/src/fallback.f similarity index 100% rename from src/amuse/community/mobse/src/fallback.f rename to src/amuse_mobse/src/fallback.f diff --git a/src/amuse/community/mobse/src/gntage.f b/src/amuse_mobse/src/gntage.f similarity index 100% rename from src/amuse/community/mobse/src/gntage.f rename to src/amuse_mobse/src/gntage.f diff --git a/src/amuse/community/mobse/src/hrdiag.f b/src/amuse_mobse/src/hrdiag.f similarity index 100% rename from src/amuse/community/mobse/src/hrdiag.f rename to src/amuse_mobse/src/hrdiag.f diff --git a/src/amuse/community/mobse/src/instar.f b/src/amuse_mobse/src/instar.f similarity index 100% rename from src/amuse/community/mobse/src/instar.f rename to src/amuse_mobse/src/instar.f diff --git a/src/amuse/community/mobse/src/kick.f b/src/amuse_mobse/src/kick.f similarity index 100% rename from src/amuse/community/mobse/src/kick.f rename to src/amuse_mobse/src/kick.f diff --git a/src/amuse/community/mobse/src/mix.f b/src/amuse_mobse/src/mix.f similarity index 100% rename from src/amuse/community/mobse/src/mix.f rename to src/amuse_mobse/src/mix.f diff --git a/src/amuse/community/mobse/src/mlwind.f b/src/amuse_mobse/src/mlwind.f similarity index 100% rename from src/amuse/community/mobse/src/mlwind.f rename to src/amuse_mobse/src/mlwind.f diff --git a/src/amuse/community/mobse/src/mobse.f b/src/amuse_mobse/src/mobse.f similarity index 100% rename from src/amuse/community/mobse/src/mobse.f rename to src/amuse_mobse/src/mobse.f diff --git a/src/amuse/community/mobse/src/mrenv.f b/src/amuse_mobse/src/mrenv.f similarity index 100% rename from src/amuse/community/mobse/src/mrenv.f rename to src/amuse_mobse/src/mrenv.f diff --git a/src/amuse/community/mobse/src/pisn.f b/src/amuse_mobse/src/pisn.f similarity index 100% rename from src/amuse/community/mobse/src/pisn.f rename to src/amuse_mobse/src/pisn.f diff --git a/src/amuse/community/mobse/src/ran3.f b/src/amuse_mobse/src/ran3.f similarity index 100% rename from src/amuse/community/mobse/src/ran3.f rename to src/amuse_mobse/src/ran3.f diff --git a/src/amuse/community/mobse/src/rl.f b/src/amuse_mobse/src/rl.f similarity index 100% rename from src/amuse/community/mobse/src/rl.f rename to src/amuse_mobse/src/rl.f diff --git a/src/amuse/community/mobse/src/star.f b/src/amuse_mobse/src/star.f similarity index 100% rename from src/amuse/community/mobse/src/star.f rename to src/amuse_mobse/src/star.f diff --git a/src/amuse/community/mobse/src/zcnsts.f b/src/amuse_mobse/src/zcnsts.f similarity index 100% rename from src/amuse/community/mobse/src/zcnsts.f rename to src/amuse_mobse/src/zcnsts.f diff --git a/src/amuse/community/mobse/src/zdata.h b/src/amuse_mobse/src/zdata.h similarity index 100% rename from src/amuse/community/mobse/src/zdata.h rename to src/amuse_mobse/src/zdata.h diff --git a/src/amuse/community/mobse/src/zfuncs.f b/src/amuse_mobse/src/zfuncs.f similarity index 100% rename from src/amuse/community/mobse/src/zfuncs.f rename to src/amuse_mobse/src/zfuncs.f diff --git a/src/amuse_mobse/support/aclocal.m4 b/src/amuse_mobse/support/aclocal.m4 new file mode 100644 index 0000000000..8161803730 --- /dev/null +++ b/src/amuse_mobse/support/aclocal.m4 @@ -0,0 +1,20 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/fortran.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_mobse/support/config.mk.in b/src/amuse_mobse/support/config.mk.in new file mode 100644 index 0000000000..3488c15b89 --- /dev/null +++ b/src/amuse_mobse/support/config.mk.in @@ -0,0 +1,17 @@ +# Compilers +FC = @FC@ + +MPIFC = @MPIFC@ + +CPU_COUNT = @CPU_COUNT@ + +# General flags and libraries +FCFLAGS = @FCFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + +# AMUSE framework libraries +FORSOCKETS_CFLAGS = @FORSOCKETS_CFLAGS@ +FORSOCKETS_LIBS = @FORSOCKETS_LIBS@ + diff --git a/src/amuse_mobse/support/configure b/src/amuse_mobse/support/configure new file mode 100755 index 0000000000..fb4cc59c3c --- /dev/null +++ b/src/amuse_mobse/support/configure @@ -0,0 +1,5749 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-sse 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-sse' +PACKAGE_TARNAME='amuse-sse' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-sse 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPILIBS +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CPPFLAGS +CFLAGS +CC +OBJEXT +EXEEXT +ac_ct_FC +LDFLAGS +FCFLAGS +FC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +FC +FCFLAGS +LDFLAGS +LIBS +CC +CFLAGS +CPPFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS +MPIFC' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-sse 1.0 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/amuse-sse] + --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 amuse-sse 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + FC Fortran compiler command + FCFLAGS Fortran 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 + CC C compiler command + CFLAGS C compiler flags + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + 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 + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + MPIFC MPI Fortran compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-sse configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-sse $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set the worker language +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the Fortran compiler works" >&5 +printf %s "checking whether the Fortran compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "Fortran compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler default output file name" >&5 +printf %s "checking for Fortran compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat > conftest.$ac_ext <<_ACEOF + program main + open(unit=9,file='conftest.out') + close(unit=9) + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run Fortran compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +fi +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +fi + +fi + + + ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + +# Find external dependencies +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-sse $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-sse config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + diff --git a/src/amuse_mobse/support/configure.ac b/src/amuse_mobse/support/configure.ac new file mode 100644 index 0000000000..e44471d17f --- /dev/null +++ b/src/amuse_mobse/support/configure.ac @@ -0,0 +1,30 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-sse], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set the worker language +AC_LANG([Fortran]) + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + +# Find AMUSE libraries +AMUSE_LIB_FORSOCKETS() + +# Find external dependencies +AC_LANG_PUSH([Fortran]) +AX_MPI() +AC_LANG_POP([Fortran]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT \ No newline at end of file diff --git a/src/amuse_mobse/support/shared b/src/amuse_mobse/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_mobse/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_mobse.py b/src/amuse_mobse/tests/test_mobse.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_mobse.py rename to src/amuse_mobse/tests/test_mobse.py index 83fa285b13..fb619117c8 100644 --- a/src/amuse/test/suite/codes_tests/test_mobse.py +++ b/src/amuse_mobse/tests/test_mobse.py @@ -1,6 +1,6 @@ -from amuse.community.mobse.interface import MOBSE, MOBSEInterface +from amuse_mobse.interface import MOBSE, MOBSEInterface -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI from amuse.units import units from amuse.units import constants from amuse.datamodel import Particles diff --git a/src/amuse_mocassin/.gitignore b/src/amuse_mocassin/.gitignore new file mode 100644 index 0000000000..7eb0fd5317 --- /dev/null +++ b/src/amuse_mocassin/.gitignore @@ -0,0 +1,2 @@ +mocassin*.tar.gz +**/__amuse_code_output diff --git a/src/amuse_mocassin/Makefile b/src/amuse_mocassin/Makefile new file mode 100644 index 0000000000..8567ff41ae --- /dev/null +++ b/src/amuse_mocassin/Makefile @@ -0,0 +1,93 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Downloading the code +VERSION = 2.02.70 + +mocassin.$(VERSION).tar.gz: + $(DOWNLOAD) https://amuse.strw.leidenuniv.nl/codes/mocassin.$(VERSION).tar.gz >$@ + +PATCHES := $(file < patches/series) +PATCHES := $(patsubst %,%,$(PATCHES)) # replace newlines with spaces + +src: + mkdir -p src + +src/mocassin: | mocassin.$(VERSION).tar.gz src + tar xf mocassin.$(VERSION).tar.gz + mv mocassin.$(VERSION) src/mocassin + for p in $(PATCHES) ; do patch -p1 ", + default_value = "" + ) + + + handler.add_method_parameter( + "get_constant_hydrogen_density", + "set_constant_hydrogen_density", + "constant_hydrogen_density", + "", + default_value = 100.0 | (1.0/units.cm**3) + ) + + + handler.add_method_parameter( + "get_convergence_limit", + "set_convergence_limit", + "convergence_limit", + "", + default_value = 0.0 + ) + + + handler.add_method_parameter( + "get_emit_rate_of_photons", + "set_emit_rate_of_photons", + "emit_rate_of_photons", + "This is the number of hydrogen-ionizing photons emitted by the source per unit time. Only used when a single star is modelled", + default_value = 0.0 | (1e36 / units.s) + ) + + + handler.add_method_parameter( + "get_high_limit_of_the_frequency_mesh", + "set_high_limit_of_the_frequency_mesh", + "high_limit_of_the_frequency_mesh", + "", + default_value = 15. | mocassin_rydberg_unit + ) + + + handler.add_method_parameter( + "get_initial_nebular_temperature", + "set_initial_nebular_temperature", + "initial_nebular_temperature", + "Initial guess for the nebular temperature. ", + default_value = 10000.0 | units.K + ) + + + #~ handler.add_method_parameter( + #~ "get_inner_radius_of_the_ionised_region", + #~ "set_inner_radius_of_the_ionised_region", + #~ "inner_radius_of_the_ionised_region", + #~ "Inner radius of the ionised region", + #~ default_value = 0.0 | units.cm + #~ ) + + + handler.add_method_parameter( + "get_input_directory", + "set_input_directory", + "input_directory", + "", + default_value = 0.0 + ) + + + handler.add_method_parameter( + "get_low_limit_of_the_frequency_mesh", + "set_low_limit_of_the_frequency_mesh", + "low_limit_of_the_frequency_mesh", + "", + default_value = 1.001e-5 | mocassin_rydberg_unit + ) + + + handler.add_method_parameter( + "get_maximum_number_of_monte_carlo_iterations", + "set_maximum_number_of_monte_carlo_iterations", + "maximum_number_of_monte_carlo_iterations", + "", + default_value = 0.0 + ) + + + handler.add_method_parameter( + "get_minimum_convergence_level", + "set_minimum_convergence_level", + "minimum_convergence_level", + "", + default_value = 0.0 + ) + + + handler.add_method_parameter( + "get_number_of_ionisation_stages", + "set_number_of_ionisation_stages", + "number_of_ionisation_stages", + "", + default_value = 6 + ) + + + + + handler.add_method_parameter( + "get_symmetricXYZ", + "set_symmetricXYZ", + "symmetricXYZ", + "If true assumes model is symetric in the X, Y and Z axes", + default_value = 0.0 + ) + + handler.add_method_parameter( + "get_dust", + "set_dust", + "dust", + "If true also includes dust in the model", + default_value = False + ) + + handler.add_method_parameter( + "get_dust_species_filename", + "set_dust_species_filename", + "dust_species_filename", + "Name of the file that contains a list of species", + default_value = "none" + ) + + handler.add_method_parameter( + "get_dust_sizes_filename", + "set_dust_sizes_filename", + "dust_sizes_filename", + "Name of the file that contains a list of grain sizes and their fractions", + default_value = "none" + ) + handler.add_method_parameter( + "get_total_number_of_photons", + "set_total_number_of_photons", + "total_number_of_photons", + "Total number of photons to start the iteration with", + default_value = 0.0 + ) + + + handler.add_method_parameter( + "get_total_number_of_points_in_frequency_mesh", + "set_total_number_of_points_in_frequency_mesh", + "total_number_of_points_in_frequency_mesh", + "", + default_value = 0.0 + ) + + + handler.add_method_parameter( + "get_write_snapshot_every_iteration", + "set_write_snapshot_every_iteration", + "write_snapshot_every_iteration", + "If True will write the data to an output directory after every monte carlo iteration", + default_value = 0.0 + ) + + handler.add_caching_parameter( + "setup_mesh", + "nmeshx", + "nx", + "number of cells in the x direction", + 10, + ) + + + handler.add_caching_parameter( + "setup_mesh", + "nmeshy", + "ny", + "number of cells in the y direction", + 10, + ) + + + handler.add_caching_parameter( + "setup_mesh", + "nmeshz", + "nz", + "number of cells in the z direction", + 10, + ) + + handler.add_caching_parameter( + "setup_mesh", + "xlength", + "length_x", + "length of model in the x direction", + 2e19 | units.cm, + ) + handler.add_caching_parameter( + "setup_mesh", + "ylength", + "length_y", + "length of model in the x direction", + 2e19 | units.cm, + ) + handler.add_caching_parameter( + "setup_mesh", + "zlength", + "length_z", + "length of model in the z direction", + 2e19 | units.cm, + ) + + handler.add_vector_parameter( + "mesh_size", + "number of cells in the x, y and z directions", + ("nx", "ny", "nz") + ) + + handler.add_vector_parameter( + "mesh_length", + "length of the model in the x, y and z directions", + ("length_x", "length_y", "length_z") + ) + + def commit_parameters(self): + self.setup_abundancies() + self.parameters.send_cached_parameters_to_code() + self.overridden().commit_parameters() + + def define_particle_sets(self, handler): + handler.define_grid('grid') + handler.set_grid_range('grid', 'get_index_range_inclusive') + handler.add_getter('grid', 'get_position_of_index', names=('x','y','z')) + handler.add_getter('grid', 'get_grid_electron_temperature', names=('electron_temperature',)) + handler.add_getter('grid', 'get_grid_electron_density', names=('electron_density',)) + handler.add_setter('grid', 'set_grid_electron_density', names=('electron_density',)) + handler.add_getter('grid', 'get_grid_hydrogen_density', names=('hydrogen_density',)) + handler.add_setter('grid', 'set_grid_hydrogen_density', names=('hydrogen_density',)) + handler.add_getter('grid', 'get_grid_dust_number_density', names=('dust_number_density',)) + handler.add_setter('grid', 'set_grid_dust_number_density', names=('dust_number_density',)) + + handler.define_extra_keywords('grid', {'index_of_grid':1}) + + + handler.define_grid('ion_density_grid') + handler.set_grid_range('ion_density_grid', 'get_index_range_inclusive_ion_density_grid') + handler.add_getter('ion_density_grid', 'get_grid_ion_density', names=('density',)) + handler.add_setter('ion_density_grid', 'set_grid_ion_density', names=('density',)) + handler.define_extra_keywords('ion_density_grid', {'index_of_grid':1}) + + handler.define_grid('dust_temperature_grid') + handler.set_grid_range('dust_temperature_grid', 'get_index_range_inclusive_dust_temperature_grid') + handler.add_getter('dust_temperature_grid', 'get_grid_dust_temperature', names=('temperature',)) + handler.define_extra_keywords('dust_temperature_grid', {'index_of_grid':1}) + + handler.define_inmemory_set('particles') + + def commit_particles(self): + self.define_stars( + self.particles.x, + self.particles.y, + self.particles.z, + self.particles.temperature, + self.particles.luminosity + ) + self.overridden().commit_particles() + + diff --git a/src/amuse_mocassin/packages/amuse-mocassin.amuse_deps b/src/amuse_mocassin/packages/amuse-mocassin.amuse_deps new file mode 100644 index 0000000000..de2668bd7a --- /dev/null +++ b/src/amuse_mocassin/packages/amuse-mocassin.amuse_deps @@ -0,0 +1 @@ +fortran download patch mpi diff --git a/src/amuse_mocassin/packages/amuse-mocassin/amuse_mocassin b/src/amuse_mocassin/packages/amuse-mocassin/amuse_mocassin new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_mocassin/packages/amuse-mocassin/amuse_mocassin @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_mocassin/packages/amuse-mocassin/pyproject.toml b/src/amuse_mocassin/packages/amuse-mocassin/pyproject.toml new file mode 100644 index 0000000000..9ecfa5e5a0 --- /dev/null +++ b/src/amuse_mocassin/packages/amuse-mocassin/pyproject.toml @@ -0,0 +1,46 @@ +[project] +name = "amuse-mocassin" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_mocassin/**/*.py"] +exclude = [ + "amuse_mocassin/packages", + "amuse_mocassin/support", + "amuse_mocassin/src", + "amuse_mocassin/tests" + ] +artifacts = [ + "amuse_mocassin/mocassin_worker", + "amuse_mocassin/data" + ] + +[tool.pytest.ini_options] +pythonpath = ["amuse_mocassin/tests/"] + +testpaths = ["amuse_mocassin/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/mocassin/patches/build b/src/amuse_mocassin/patches/build similarity index 95% rename from src/amuse/community/mocassin/patches/build rename to src/amuse_mocassin/patches/build index 4aacd98398..96e2477a3a 100644 --- a/src/amuse/community/mocassin/patches/build +++ b/src/amuse_mocassin/patches/build @@ -1,5 +1,5 @@ ---- mocassin.orig/src/mocassin.2.02.70/makefile 2010-11-10 16:17:39.000000000 +0100 -+++ mocassin/src/mocassin.2.02.70/makefile 2012-01-13 11:31:42.186514656 +0100 +--- mocassin.orig/src/mocassin/makefile 2010-11-10 16:17:39.000000000 +0100 ++++ mocassin/src/mocassin/makefile 2012-01-13 11:31:42.186514656 +0100 @@ -1,51 +1,55 @@ -source1 = source/infnan.f90 source/constants_mod.f90 source/vector_mod.f90 source/common_mod.f90 source/interpolation_mod.f90 \ - source/set_input_mod.f90 source/hydro_mod.f90 source/ph_mod.f90 source/composition_mod.f90 \ diff --git a/src/amuse/community/mocassin/patches/code b/src/amuse_mocassin/patches/code similarity index 86% rename from src/amuse/community/mocassin/patches/code rename to src/amuse_mocassin/patches/code index b9ea3eea6e..c7d33828d3 100644 --- a/src/amuse/community/mocassin/patches/code +++ b/src/amuse_mocassin/patches/code @@ -1,7 +1,7 @@ -Index: mocassin/src/mocassin.2.02.70/source/common_mod.f90 +Index: mocassin/src/mocassin/source/common_mod.f90 =================================================================== ---- mocassin.orig/src/mocassin.2.02.70/source/common_mod.f90 2012-06-27 08:01:33.000000000 +0200 -+++ mocassin/src/mocassin.2.02.70/source/common_mod.f90 2012-11-08 11:02:34.328144911 +0100 +--- mocassin.orig/src/mocassin/source/common_mod.f90 2012-06-27 08:01:33.000000000 +0200 ++++ mocassin/src/mocassin/source/common_mod.f90 2012-11-08 11:02:34.328144911 +0100 @@ -379,19 +379,19 @@ logical :: lgPlaneIonization! plane parallel ionization? logical :: lgSymmetricXYZ ! symmetric in x, y, and z? @@ -35,10 +35,10 @@ Index: mocassin/src/mocassin.2.02.70/source/common_mod.f90 character(len=30),pointer :: grainLabel(:) ! name of this species integer,pointer :: viewPointPtheta(:), viewPointPphi(:) ! viewing angles -Index: mocassin/src/mocassin.2.02.70/source/grid_mod.f90 +Index: mocassin/src/mocassin/source/grid_mod.f90 =================================================================== ---- mocassin.orig/src/mocassin.2.02.70/source/grid_mod.f90 2012-06-27 08:01:33.000000000 +0200 -+++ mocassin/src/mocassin.2.02.70/source/grid_mod.f90 2012-11-08 11:02:34.329144918 +0100 +--- mocassin.orig/src/mocassin/source/grid_mod.f90 2012-06-27 08:01:33.000000000 +0200 ++++ mocassin/src/mocassin/source/grid_mod.f90 2012-11-08 11:02:34.329144918 +0100 @@ -1794,12 +1794,15 @@ Lstar(1) = (meanField/1.e36)*grid%xAxis(grid%nx)*grid%zAxis(grid%nz) diff --git a/src/amuse/community/mocassin/patches/ifort b/src/amuse_mocassin/patches/ifort similarity index 82% rename from src/amuse/community/mocassin/patches/ifort rename to src/amuse_mocassin/patches/ifort index c6d7d11e2e..d3011273cc 100644 --- a/src/amuse/community/mocassin/patches/ifort +++ b/src/amuse_mocassin/patches/ifort @@ -1,7 +1,7 @@ -Index: mocassin/src/mocassin.2.02.70/makefile +Index: mocassin/src/mocassin/makefile =================================================================== ---- mocassin.orig/src/mocassin.2.02.70/makefile -+++ mocassin/src/mocassin.2.02.70/makefile +--- mocassin.orig/src/mocassin/makefile ++++ mocassin/src/mocassin/makefile @@ -16,15 +16,13 @@ LDFLAGS += -lm -g #FFLAGS += -fno-range-check diff --git a/src/amuse_mocassin/patches/intent b/src/amuse_mocassin/patches/intent new file mode 100644 index 0000000000..e160177221 --- /dev/null +++ b/src/amuse_mocassin/patches/intent @@ -0,0 +1,15 @@ +diff -ru mocassin.orig/src/mocassin/source/photon_mod.f90 mocassin/src/mocassin/source/photon_mod.f90 +--- mocassin.orig/src/mocassin/source/photon_mod.f90 2024-10-22 11:26:27.005777064 +0200 ++++ mocassin/src/mocassin/source/photon_mod.f90 2024-10-22 11:29:34.723714586 +0200 +@@ -29,9 +29,9 @@ + integer, intent(in) :: n ! number of energy packets + integer, intent(in) :: iStar ! central star index + +- integer, intent(inout), optional & ++ integer, intent(in), optional & + & :: gpLoc ! local grid (only used for extra diffuse sources) +- integer, intent(inout), optional & ++ integer, intent(in), optional & + & :: cellLoc(3) ! local cell (only used for extra diffuse sources) + + type(plot_type), intent(inout), optional & diff --git a/src/amuse_mocassin/patches/memfix b/src/amuse_mocassin/patches/memfix new file mode 100644 index 0000000000..3d3e10ca28 --- /dev/null +++ b/src/amuse_mocassin/patches/memfix @@ -0,0 +1,13 @@ +Index: mocassin/src/mocassin/source/grid_mod.f90 +=================================================================== +--- mocassin.orig/src/mocassin/source/grid_mod.f90 2015-10-15 15:37:16.755902637 +0200 ++++ mocassin/src/mocassin/source/grid_mod.f90 2016-01-26 15:19:37.051774315 +0100 +@@ -954,7 +954,7 @@ + character(len=40) :: keyword ! character string readers + + print*, 'in setMotherGrid' +- ++ nullify(MdMg) + ! this is the mother grid + grid%motherP = 0 + diff --git a/src/amuse/community/mocassin/patches/output b/src/amuse_mocassin/patches/output similarity index 76% rename from src/amuse/community/mocassin/patches/output rename to src/amuse_mocassin/patches/output index b170003231..f892d02ee7 100644 --- a/src/amuse/community/mocassin/patches/output +++ b/src/amuse_mocassin/patches/output @@ -1,7 +1,7 @@ -Index: mocassin/src/mocassin.2.02.70/source/iteration_mod.f90 +Index: mocassin/src/mocassin/source/iteration_mod.f90 =================================================================== ---- mocassin.orig/src/mocassin.2.02.70/source/iteration_mod.f90 2010-11-04 13:07:37.000000000 +0100 -+++ mocassin/src/mocassin.2.02.70/source/iteration_mod.f90 2011-09-28 14:42:16.000000000 +0200 +--- mocassin.orig/src/mocassin/source/iteration_mod.f90 2010-11-04 13:07:37.000000000 +0100 ++++ mocassin/src/mocassin/source/iteration_mod.f90 2011-09-28 14:42:16.000000000 +0200 @@ -1127,7 +1127,7 @@ if ( totPercent >= minConvergence ) then diff --git a/src/amuse/community/mocassin/patches/outputdir b/src/amuse_mocassin/patches/outputdir similarity index 93% rename from src/amuse/community/mocassin/patches/outputdir rename to src/amuse_mocassin/patches/outputdir index a9cbdeb098..c5a303a6c7 100644 --- a/src/amuse/community/mocassin/patches/outputdir +++ b/src/amuse_mocassin/patches/outputdir @@ -1,7 +1,7 @@ -Index: mocassin/src/mocassin.2.02.70/source/common_mod.f90 +Index: mocassin/src/mocassin/source/common_mod.f90 =================================================================== ---- mocassin.orig/src/mocassin.2.02.70/source/common_mod.f90 2011-09-29 10:32:04.000000000 +0200 -+++ mocassin/src/mocassin.2.02.70/source/common_mod.f90 2011-09-29 10:35:23.000000000 +0200 +--- mocassin.orig/src/mocassin/source/common_mod.f90 2011-09-29 10:32:04.000000000 +0200 ++++ mocassin/src/mocassin/source/common_mod.f90 2011-09-29 10:35:23.000000000 +0200 @@ -391,7 +391,8 @@ character(len=4096) :: dustFile(2) ! dust files character(len=4096) :: MdMgFile ! name of MdMg file @@ -12,10 +12,10 @@ Index: mocassin/src/mocassin.2.02.70/source/common_mod.f90 character(len=4096) :: Qfile ! name of Qfile character(len=30),pointer :: grainLabel(:) ! name of this species -Index: mocassin/src/mocassin.2.02.70/source/grid_mod.f90 +Index: mocassin/src/mocassin/source/grid_mod.f90 =================================================================== ---- mocassin.orig/src/mocassin.2.02.70/source/grid_mod.f90 2011-09-28 16:06:19.000000000 +0200 -+++ mocassin/src/mocassin.2.02.70/source/grid_mod.f90 2011-09-29 10:37:55.000000000 +0200 +--- mocassin.orig/src/mocassin/source/grid_mod.f90 2011-09-28 16:06:19.000000000 +0200 ++++ mocassin/src/mocassin/source/grid_mod.f90 2011-09-29 10:37:55.000000000 +0200 @@ -1753,7 +1753,7 @@ print*, 'Total volume of the active region [e45 cm^3]: ', totalVolume if (lgEcho) then @@ -131,10 +131,10 @@ Index: mocassin/src/mocassin.2.02.70/source/grid_mod.f90 & status='old', iostat = err) if (err /= 0) then print*, "! resetGrid: error opening file dustGrid.out" -Index: mocassin/src/mocassin.2.02.70/source/output_mod.f90 +Index: mocassin/src/mocassin/source/output_mod.f90 =================================================================== ---- mocassin.orig/src/mocassin.2.02.70/source/output_mod.f90 2011-07-29 16:26:19.000000000 +0200 -+++ mocassin/src/mocassin.2.02.70/source/output_mod.f90 2011-09-29 10:36:21.000000000 +0200 +--- mocassin.orig/src/mocassin/source/output_mod.f90 2011-07-29 16:26:19.000000000 +0200 ++++ mocassin/src/mocassin/source/output_mod.f90 2011-09-29 10:36:21.000000000 +0200 @@ -928,13 +928,13 @@ ! write the lineFlux.out file @@ -228,10 +228,10 @@ Index: mocassin/src/mocassin.2.02.70/source/output_mod.f90 if (ios /= 0) then print*, "! writeContCube: Cannot open file for writing" stop -Index: mocassin/src/mocassin.2.02.70/source/iteration_mod.f90 +Index: mocassin/src/mocassin/source/iteration_mod.f90 =================================================================== ---- mocassin.orig/src/mocassin.2.02.70/source/iteration_mod.f90 2011-09-28 16:06:19.000000000 +0200 -+++ mocassin/src/mocassin.2.02.70/source/iteration_mod.f90 2011-09-29 10:39:36.000000000 +0200 +--- mocassin.orig/src/mocassin/source/iteration_mod.f90 2011-09-28 16:06:19.000000000 +0200 ++++ mocassin/src/mocassin/source/iteration_mod.f90 2011-09-29 10:39:36.000000000 +0200 @@ -247,7 +247,7 @@ diff --git a/src/amuse_mocassin/patches/random b/src/amuse_mocassin/patches/random new file mode 100644 index 0000000000..854a853fc4 --- /dev/null +++ b/src/amuse_mocassin/patches/random @@ -0,0 +1,36 @@ +Index: mocassin/src/mocassin/source/common_mod.f90 +=================================================================== +--- mocassin.orig/src/mocassin/source/common_mod.f90 2011-09-28 16:06:19.000000000 +0200 ++++ mocassin/src/mocassin/source/common_mod.f90 2011-09-28 16:08:12.000000000 +0200 +@@ -38,6 +38,7 @@ + logical :: lgNosource = .false. ! exclude sources from SED? + logical :: lginputDustMass = .false.! user sets input dust mass? + logical :: lginputGasMass = .false. ! user sets input gas mass? ++ logical :: lgDoSeedRandom = .true. ! photon module will seed the random number generator + + real, pointer :: gSca(:) ! gSca(freq) + +Index: mocassin/src/mocassin/source/photon_mod.f90 +=================================================================== +--- mocassin.orig/src/mocassin/source/photon_mod.f90 2011-01-16 22:26:52.000000000 +0100 ++++ mocassin/src/mocassin/source/photon_mod.f90 2011-09-28 16:07:51.000000000 +0200 +@@ -79,7 +79,8 @@ + if (iStar == 0) then + deltaE(0) = grid(gpLoc)%LdiffuseLoc(grid(gpLoc)%active(cellLoc(1),cellLoc(2),cellLoc(3)))/NphotonsDiffuseLoc + end if +- ++ ++ if (lgDoSeedRandom) then + call date_and_time(values=dt) + msec=dt(8) + +@@ -100,7 +101,8 @@ + call random_seed(put = seed) + + if (associated(seed)) deallocate(seed) +- ++ end if ++ + Qphot = 0. + + trapped = 0 diff --git a/src/amuse_mocassin/patches/series b/src/amuse_mocassin/patches/series new file mode 100644 index 0000000000..e6899ab650 --- /dev/null +++ b/src/amuse_mocassin/patches/series @@ -0,0 +1,8 @@ +build +code +output +random +outputdir +ifort +memfix +intent diff --git a/src/amuse_mocassin/support/aclocal.m4 b/src/amuse_mocassin/support/aclocal.m4 new file mode 100644 index 0000000000..a08907b9b2 --- /dev/null +++ b/src/amuse_mocassin/support/aclocal.m4 @@ -0,0 +1,21 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_download.m4]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/fortran.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_mocassin/support/config.mk.in b/src/amuse_mocassin/support/config.mk.in new file mode 100644 index 0000000000..9d81d1e6b0 --- /dev/null +++ b/src/amuse_mocassin/support/config.mk.in @@ -0,0 +1,26 @@ +# Compilers +FC = @FC@ +MPIFC = @MPIFC@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ +DOWNLOAD = @DOWNLOAD@ +TAR = @TAR@ +GUNZIP = @GUNZIP@ + + +# General flags and libraries +FFLAGS = @FFLAGS@ +FCFLAGS = @FCFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +FORSOCKETS_CFLAGS = @FORSOCKETS_CFLAGS@ +FORSOCKETS_LIBS = @FORSOCKETS_LIBS@ + diff --git a/src/amuse_mocassin/support/configure b/src/amuse_mocassin/support/configure new file mode 100755 index 0000000000..41d6124bb2 --- /dev/null +++ b/src/amuse_mocassin/support/configure @@ -0,0 +1,6447 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-mocassin 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-mocassin' +PACKAGE_TARNAME='amuse-mocassin' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-mocassin 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPILIBS +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CPPFLAGS +CFLAGS +CC +GUNZIP +TAR +DOWNLOAD +CURL +WGET +RANLIB +AR +target_os +target_vendor +target_cpu +target +OBJEXT +EXEEXT +ac_ct_FC +LDFLAGS +FCFLAGS +FC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +FC +FCFLAGS +LDFLAGS +LIBS +CC +CFLAGS +CPPFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS +MPIFC' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-mocassin 1.0 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/amuse-mocassin] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-mocassin 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + FC Fortran compiler command + FCFLAGS Fortran 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 + CC C compiler command + CFLAGS C compiler flags + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + 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 + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + MPIFC MPI Fortran compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-mocassin configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-mocassin $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the Fortran compiler works" >&5 +printf %s "checking whether the Fortran compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "Fortran compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler default output file name" >&5 +printf %s "checking for Fortran compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat > conftest.$ac_ext <<_ACEOF + program main + open(unit=9,file='conftest.out') + close(unit=9) + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run Fortran compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +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 + + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find tools to download and unpack with + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}wget", so it can be a program name with args. +set dummy ${ac_tool_prefix}wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$WGET"; then + ac_cv_prog_WGET="$WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="${ac_tool_prefix}wget" + printf "%s\n" "$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 +WGET=$ac_cv_prog_WGET +if test -n "$WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $WGET" >&5 +printf "%s\n" "$WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_WGET"; then + ac_ct_WGET=$WGET + # Extract the first word of "wget", so it can be a program name with args. +set dummy wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_WGET"; then + ac_cv_prog_ac_ct_WGET="$ac_ct_WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="wget" + printf "%s\n" "$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_WGET=$ac_cv_prog_ac_ct_WGET +if test -n "$ac_ct_WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WGET" >&5 +printf "%s\n" "$ac_ct_WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_WGET" = x; then + WGET="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + WGET=$ac_ct_WGET + fi +else + WGET="$ac_cv_prog_WGET" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}curl", so it can be a program name with args. +set dummy ${ac_tool_prefix}curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CURL"; then + ac_cv_prog_CURL="$CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="${ac_tool_prefix}curl" + printf "%s\n" "$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 +CURL=$ac_cv_prog_CURL +if test -n "$CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CURL" >&5 +printf "%s\n" "$CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CURL"; then + ac_ct_CURL=$CURL + # Extract the first word of "curl", so it can be a program name with args. +set dummy curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CURL"; then + ac_cv_prog_ac_ct_CURL="$ac_ct_CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="curl" + printf "%s\n" "$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_CURL=$ac_cv_prog_ac_ct_CURL +if test -n "$ac_ct_CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CURL" >&5 +printf "%s\n" "$ac_ct_CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CURL" = x; then + CURL="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CURL=$ac_ct_CURL + fi +else + CURL="$ac_cv_prog_CURL" +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a wget or curl to download files with" >&5 +printf %s "checking for a wget or curl to download files with... " >&6; } + if test "x$WGET" != "x" + then + # The MESA SDK server rejects wget, this is the official work-around + DOWNLOAD="$WGET --progress=bar:force:noscroll --user-agent='' -O -" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + if test "x$CURL" != "x" + then + DOWNLOAD="$CURL -L" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + fi + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}tar", so it can be a program name with args. +set dummy ${ac_tool_prefix}tar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_TAR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$TAR"; then + ac_cv_prog_TAR="$TAR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_TAR="${ac_tool_prefix}tar" + printf "%s\n" "$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 +TAR=$ac_cv_prog_TAR +if test -n "$TAR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $TAR" >&5 +printf "%s\n" "$TAR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_TAR"; then + ac_ct_TAR=$TAR + # Extract the first word of "tar", so it can be a program name with args. +set dummy tar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_TAR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_TAR"; then + ac_cv_prog_ac_ct_TAR="$ac_ct_TAR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_TAR="tar" + printf "%s\n" "$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_TAR=$ac_cv_prog_ac_ct_TAR +if test -n "$ac_ct_TAR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_TAR" >&5 +printf "%s\n" "$ac_ct_TAR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_TAR" = x; then + TAR="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + TAR=$ac_ct_TAR + fi +else + TAR="$ac_cv_prog_TAR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gunzip", so it can be a program name with args. +set dummy ${ac_tool_prefix}gunzip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_GUNZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$GUNZIP"; then + ac_cv_prog_GUNZIP="$GUNZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_GUNZIP="${ac_tool_prefix}gunzip" + printf "%s\n" "$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 +GUNZIP=$ac_cv_prog_GUNZIP +if test -n "$GUNZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GUNZIP" >&5 +printf "%s\n" "$GUNZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_GUNZIP"; then + ac_ct_GUNZIP=$GUNZIP + # Extract the first word of "gunzip", so it can be a program name with args. +set dummy gunzip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_GUNZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_GUNZIP"; then + ac_cv_prog_ac_ct_GUNZIP="$ac_ct_GUNZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_GUNZIP="gunzip" + printf "%s\n" "$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_GUNZIP=$ac_cv_prog_ac_ct_GUNZIP +if test -n "$ac_ct_GUNZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GUNZIP" >&5 +printf "%s\n" "$ac_ct_GUNZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_GUNZIP" = x; then + GUNZIP="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + GUNZIP=$ac_ct_GUNZIP + fi +else + GUNZIP="$ac_cv_prog_GUNZIP" +fi + + + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-mocassin $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-mocassin config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_mocassin/support/configure.ac b/src/amuse_mocassin/support/configure.ac new file mode 100644 index 0000000000..1588aeab5e --- /dev/null +++ b/src/amuse_mocassin/support/configure.ac @@ -0,0 +1,45 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-mocassin], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find tools to download and unpack with +AMUSE_DOWNLOAD() +AC_CHECK_TOOL(TAR, tar) +AC_CHECK_TOOL(GUNZIP, gunzip) + + +# Find AMUSE libraries +AMUSE_LIB_FORSOCKETS() + + +# Find external dependencies +AC_LANG_PUSH([Fortran]) + +AX_MPI() + +AC_LANG_POP([Fortran]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_mocassin/support/shared b/src/amuse_mocassin/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_mocassin/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_mocassin.py b/src/amuse_mocassin/tests/test_mocassin.py similarity index 98% rename from src/amuse/test/suite/codes_tests/test_mocassin.py rename to src/amuse_mocassin/tests/test_mocassin.py index 478d768aed..dafa6f18a0 100644 --- a/src/amuse/test/suite/codes_tests/test_mocassin.py +++ b/src/amuse_mocassin/tests/test_mocassin.py @@ -1,8 +1,8 @@ import os -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI from amuse.units import units from amuse import datamodel -from amuse.community.mocassin.interface import MocassinInterface, Mocassin, mocassin_rydberg_unit +from amuse_mocassin.interface import MocassinInterface, Mocassin, mocassin_rydberg_unit import numpy diff --git a/src/amuse_mosse/Makefile b/src/amuse_mosse/Makefile new file mode 100644 index 0000000000..f9ff5b31f9 --- /dev/null +++ b/src/amuse_mosse/Makefile @@ -0,0 +1,61 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library +FCFLAGS += $(FORSOCKETS_CFLAGS) +LDLIBS += $(FORSOCKETS_LIBS) $(LIBS) + +MOSSEOBJ = src/deltat.o src/evolv1.o src/hrdiag.o \ + src/kick.o src/mlwind.o src/mrenv.o \ + src/ran3.o src/pisn.f src/eddington.f src/fallback.f \ + src/star.o src/zcnsts.o src/zfuncs.o + +# Building the workers +mosse_worker.f90: interface.py + amusifier --type=f90 interface.py MOSSEInterface -o $@ + +mosse_worker.o: mosse_worker.f90 + $(MPIFC) -c $(FCFLAGS) $< + +%.o: %.f + $(FC) -c -o $@ $(FCFLAGS) $< + +mosse_worker: interface.o mosse_worker.o $(MOSSEOBJ) + $(MPIFC) -o mosse_worker $(LDFLAGS) $^ $(LDLIBS) + + +# Which packages contain which workers? +amuse-mosse_contains: mosse_worker + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + rm -rf *.o src/*.o *worker* *.mod + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_mosse/__init__.py b/src/amuse_mosse/__init__.py new file mode 100644 index 0000000000..7fe74f774d --- /dev/null +++ b/src/amuse_mosse/__init__.py @@ -0,0 +1 @@ +from .interface import Mosse diff --git a/src/amuse/community/mosse/interface.f b/src/amuse_mosse/interface.f similarity index 100% rename from src/amuse/community/mosse/interface.f rename to src/amuse_mosse/interface.f diff --git a/src/amuse_mosse/interface.py b/src/amuse_mosse/interface.py new file mode 100644 index 0000000000..6658221342 --- /dev/null +++ b/src/amuse_mosse/interface.py @@ -0,0 +1,492 @@ +import numpy +from operator import itemgetter +from amuse.community import * +from amuse.units import units +from amuse.units import constants +from amuse.support.interface import InCodeComponentImplementation +from amuse.community.interface import common + +from amuse.datamodel import Particles +from amuse.datamodel import ParticlesSubset +class MOSSEInterface(CodeInterface, common.CommonCodeInterface , LiteratureReferencesMixIn): + """ + MOSSE (Massive Object in SSE) is an updated version of the **rapid** binary-star + evolution (SSE) algorithm. With respect to SSE, the major upgrades are that MOSSE + includes up-to-date equations for metal-dependent stellar winds and new prescriptions + for core-collapse supernova explosion (SNe). Moreover, MOSSE includes the dependence + of stellar winds on the Eddington factor: if a star approaches the Eddington limit + stellar winds become almost insensitive to metallicity. MOSSE includes also the effects + of Pulsation Pair Instability SNe and Pair Instability SNe, it has more precise + formulas to compute the core radii and it can use a different velocity distribution + to calculate the velocity kick due to electron-capture SNe. More details about MOSSE can + be found in paper: + + .. [#] ADS:2018MNRAS.474.2959G (Nicola Giacobbo, Michela Mapelli & Mario Spera, 2018, MNRAS, 474, 2959: + .. [#] ... Merging black hole binaries: the effects of progenitor s metallicity, mass-loss rate and Eddington factor) + + The details about SSE can be found in the SSE paper: + .. [#] ADS:2000MNRAS.315..543H (Hurley J.R., Pols O.R., Tout C.A., 2000, MNRAS, 315, 543: + .. [#] ... Comprehensive analytic formulae for stellar evolution as a function of mass and metallicity) + """ + def __init__(self, **options): + CodeInterface.__init__(self, name_of_the_worker="mosse_worker", **options) + LiteratureReferencesMixIn.__init__(self) + + @legacy_function + def initialize(): + function = LegacyFunctionSpecification() + function.addParameter('z_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('neta_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('bwind_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('hewind_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('sigma1_in', dtype='d', direction=function.IN, unit = units.km / units.s) + function.addParameter('sigma2_in', dtype='d', direction=function.IN, unit = units.km / units.s) + function.addParameter('ifflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('wdflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('bhflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('nsflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('piflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('mxns_in', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('idum_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('pts1_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('pts2_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('pts3_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('status', dtype='i', direction=function.OUT, unit = NO_UNIT) + return function + + @legacy_function + def evolve_star(): + function = LegacyFunctionSpecification() + function.name = 'evolve0' + function.can_handle_array = True + function.addParameter('kw', dtype='i', direction=function.INOUT, unit = units.stellar_type) + function.addParameter('mass', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('mt', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('r', dtype='d', direction=function.INOUT, unit = units.RSun) + function.addParameter('lum', dtype='d', direction=function.INOUT, unit = units.LSun) + function.addParameter('mc', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('rc', dtype='d', direction=function.INOUT, unit = units.RSun) + function.addParameter('menv', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('renv', dtype='d', direction=function.INOUT, unit = units.RSun) + function.addParameter('ospin', dtype='d', direction=function.INOUT, unit = units.yr**-1) + function.addParameter('epoch', dtype='d', direction=function.INOUT, unit = units.Myr) + function.addParameter('tm', dtype='d', direction=function.INOUT, unit = units.Myr) + function.addParameter('tphys', dtype='d', direction=function.INOUT, unit = units.Myr) + function.addParameter('tphysf', dtype='d', direction=function.INOUT, unit = units.Myr) + return function + + @legacy_function + def get_time_step(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('kw', dtype='i', direction=function.IN, unit = units.stellar_type) + function.addParameter('mass', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('age', dtype='d', direction=function.IN, unit = units.Myr) + function.addParameter('mt', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('tm', dtype='d', direction=function.IN, unit = units.Myr) + function.addParameter('epoch', dtype='d', direction=function.IN, unit = units.Myr) + function.addParameter('dt', dtype='d', direction=function.OUT, unit = units.Myr) + + return function + + @legacy_function + def get_mass_loss_wind(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('kw', dtype='i', direction=function.IN, unit = units.stellar_type) + function.addParameter('lum', dtype='d', direction=function.IN, unit = units.LSun) + function.addParameter('r', dtype='d', direction=function.IN, unit = units.RSun) + function.addParameter('mt', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('mc', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('mlout', dtype='d', direction=function.OUT, unit = units.MSun/units.yr) + + return function + + + @legacy_function + def get_gyration_radius(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('kw', dtype='i', direction=function.IN, unit = units.stellar_type) + function.addParameter('mass', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('mt', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('r', dtype='d', direction=function.IN, unit = units.RSun) + function.addParameter('lum', dtype='d', direction=function.IN, unit = units.LSun) + function.addParameter('epoch', dtype='d', direction=function.IN, unit = units.Myr) + function.addParameter('tm', dtype='d', direction=function.IN, unit = units.Myr) + function.addParameter('tphys', dtype='d', direction=function.IN, unit = units.Myr) + function.addParameter('rg', dtype='d', direction=function.OUT, unit = NO_UNIT) + + return function + + def initialize_code(self): + return 0 + + def commit_parameters(self): + return 0 + + def recommit_parameters(self): + return 0 + + def cleanup_code(self): + return 0 + + def commit_particles(self): + return 0 + + + +class MOSSEParticles(Particles): + + def __init__(self, code_interface, storage = None): + Particles.__init__(self, storage = storage) + self._private.code_interface = code_interface + self.add_calculated_attribute("temperature", self.calculate_effective_temperature, ["luminosity", "radius"]) + self.add_function_attribute("evolve_one_step", self.particleset_evolve_one_step, self.evolve_one_step) + self.add_function_attribute("evolve_for", self.particleset_evolve_for, self.evolve_for) + + def calculate_effective_temperature(self, luminosity, radius): + return ((luminosity/(constants.four_pi_stefan_boltzmann*radius**2))**.25).in_(units.K) + + def add_particles_to_store(self, keys, attributes = [], values = []): + if len(keys) == 0: + return + + all_attributes = [] + all_attributes.extend(attributes) + all_values = [] + all_values.extend(values) + + mapping_from_attribute_to_default_value = { + "stellar_type" : 1 | units.stellar_type, + "radius": 0 | units.RSun, + "luminosity": 0 | units.LSun, + "core_mass": 0 | units.MSun, + "CO_core_mass": 0 | units.MSun, + "core_radius": 0 | units.RSun, + "convective_envelope_mass": 0 | units.MSun, + "convective_envelope_radius": 0 | units.RSun, + "epoch": 0 | units.Myr, + "spin": 0 | units.yr**-1, + "main_sequence_lifetime": 0 | units.Myr, + "age": 0 | units.Myr + } + + given_attributes = set(attributes) + + if not "initial_mass" in given_attributes: + index_of_mass_attibute = attributes.index("mass") + all_attributes.append("initial_mass") + all_values.append(values[index_of_mass_attibute] * 1.0) + + for attribute, default_value in mapping_from_attribute_to_default_value.items(): + if not attribute in given_attributes: + all_attributes.append(attribute) + all_values.append(default_value.as_vector_with_length(len(keys))) + + super(MOSSEParticles, self).add_particles_to_store(keys, all_attributes, all_values) + + added_particles = ParticlesSubset(self, keys) + self._private.code_interface._evolve_particles(added_particles, 0 | units.yr) + + def evolve_one_step(self, particles, subset): + self._private.code_interface._evolve_particles(subset.as_set(), subset.age + subset.time_step) + + def particleset_evolve_one_step(self, particles): + self._private.code_interface._evolve_particles(particles, particles.age + particles.time_step) + + def evolve_for(self, particles, subset, delta_time): + self._private.code_interface._evolve_particles(subset.as_set(), subset.age + delta_time) + + def particleset_evolve_for(self, particles, delta_time): + self._private.code_interface._evolve_particles(particles, particles.age + delta_time) + + + def get_defined_attribute_names(self): + return ["mass", "radius"] + + + + + + + + + + +class MOSSE(common.CommonCode): + + def __init__(self, **options): + InCodeComponentImplementation.__init__(self, MOSSEInterface(**options), **options) + + self.model_time = 0.0 | units.yr + + + def define_parameters(self, handler): + + handler.add_caching_parameter( + "initialize", + "z_in", + "metallicity", + "Metallicity of all stars", + 0.02 + ) + + handler.add_caching_parameter( + "initialize", + "neta_in", + "reimers_mass_loss_coefficient", + "Reimers mass-loss coefficient (neta*4x10^-13; 0.5 normally)", + 0.5 + ) + + handler.add_caching_parameter( + "initialize", + "bwind_in", + "binary_enhanced_mass_loss_parameter", + "The binary enhanced mass loss parameter (inactive for single).", + 0.0 + ) + + handler.add_caching_parameter( + "initialize", + "hewind_in", + "helium_star_mass_loss_factor", + "Helium star mass loss factor", + 1.0 + ) + + handler.add_caching_parameter( + "initialize", + "sigma1_in", + "SN_kick_speed_dispersion_ICS", + "The dispersion in the Maxwellian for the SN kick speed (265 km/s from Hobbs et al. 2005).", + 265.0 | units.km / units.s + ) + + handler.add_caching_parameter( + "initialize", + "sigma2_in", + "SN_kick_speed_dispersion_ECS", + "The dispersion in the Maxwellian for the SN kick speed (7 km/s).", + 7.0 | units.km / units.s + ) + + handler.add_caching_parameter( + "initialize", + "ifflag_in", + "white_dwarf_IFMR_flag", + "ifflag > 0 uses white dwarf IFMR (initial-final mass relation) of HPE, 1995, MNRAS, 272, 800 (0).", + 0 + ) + + handler.add_caching_parameter( + "initialize", + "wdflag_in", + "white_dwarf_cooling_flag", + "wdflag > 0 uses modified-Mestel cooling for WDs (0).", + 1 + ) + + handler.add_caching_parameter( + "initialize", + "bhflag_in", + "black_hole_kick_flag", + "bhflag > 0 allows velocity kick at BH formation (0).", + 1 + ) + + handler.add_caching_parameter( + "initialize", + "nsflag_in", + "neutron_star_mass_flag", + "nsflag > 0 takes NS/BH mass from Belczynski et al. 2002, ApJ, 572, 407 (1).", + 3 + ) + + handler.add_caching_parameter( + "initialize", + "piflag_in", + "pair_instability_flag", + "piflag > 0 activates the PPISN and PISN from Spera & Mapelli 2017, MNRAS, 470, 4739 (1).", + 1 + ) + + handler.add_caching_parameter( + "initialize", + "mxns_in", + "maximum_neutron_star_mass", + "The maximum neutron star mass (1.8, nsflag=0; 3.0, nsflag=1).", + 3.0 | units.MSun + ) + + handler.add_caching_parameter( + "initialize", + "idum_in", + "SN_kick_random_seed", + "The random number seed used in the kick routine.", + 29769 + ) + + handler.add_caching_parameter( + "initialize", + "pts1_in", + "fractional_time_step_1", + "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: MS (0.05)", + 0.05 + ) + + handler.add_caching_parameter( + "initialize", + "pts2_in", + "fractional_time_step_2", + "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: GB, CHeB, AGB, HeGB (0.01)", + 0.01 + ) + + handler.add_caching_parameter( + "initialize", + "pts3_in", + "fractional_time_step_3", + "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: HG, HeMS (0.02)", + 0.02 + ) + + def define_state(self, handler): + common.CommonCode.define_state(self, handler) + handler.add_transition('INITIALIZED','RUN','commit_parameters') + handler.add_method('RUN', 'evolve_star') + + handler.add_method('RUN', 'before_get_parameter') + handler.add_method('RUN', 'before_set_parameter') + + + def define_particle_sets(self, handler): + handler.define_inmemory_set('particles', MOSSEParticles) + + handler.add_attribute( + 'particles', + 'time_step', + 'get_time_step', + ('stellar_type', 'initial_mass', 'age', + 'mass', 'main_sequence_lifetime', 'epoch') + ) + + handler.add_attribute( + 'particles', + 'mass_loss_wind', + 'get_mass_loss_wind', + ('stellar_type', 'luminosity', + 'radius', 'mass', + 'CO_core_mass') + ) + + handler.add_attribute( + 'particles', + 'gyration_radius', + 'get_gyration_radius', + ('stellar_type', 'initial_mass','mass','radius', + 'luminosity','epoch','main_sequence_lifetime', + 'age') + ) + + def _evolve_particles(self, particles, end_time): + attributes = ( + "stellar_type", + "initial_mass", + "mass", + "radius", + "luminosity", + "core_mass", + "core_radius", + "convective_envelope_mass", + "convective_envelope_radius", + "spin", + "epoch", + "main_sequence_lifetime", + "age", + "end_time" + ) + + result = self.evolve_star( + particles.stellar_type, + particles.initial_mass, + particles.mass, + particles.radius, + particles.luminosity, + particles.core_mass, + particles.core_radius, + particles.convective_envelope_mass, + particles.convective_envelope_radius, + particles.spin, + particles.epoch, + particles.main_sequence_lifetime, + particles.age, + end_time.as_vector_with_length(len(particles))) + + # For helium (and helium exhausted) stars, the core mass returned is actually the CO core mass + type = result[0].value_in(units.stellar_type) + helium_star_selection = (type > 6) & (type < 16) & (type != 10) + helium_stars = particles[helium_star_selection] + other_stars = particles - helium_stars + if len(helium_stars): + helium_stars_results = [sub[helium_star_selection] for sub in result] + helium_stars_results.append(helium_stars_results[2]) + helium_stars.set_values_in_store(helium_stars.get_all_indices_in_store(), ( + "stellar_type", "initial_mass", "mass", "radius", "luminosity", + "CO_core_mass", + "core_radius", "convective_envelope_mass", "convective_envelope_radius", "spin", "epoch", + "main_sequence_lifetime", "age", "end_time", + "core_mass"), helium_stars_results) + if len(other_stars): + other_star_selection = numpy.logical_not(helium_star_selection) + other_stars.set_values_in_store(other_stars.get_all_indices_in_store(), attributes, + [sub[other_star_selection] for sub in result]) + + def evolve_model(self, end_time = None, keep_synchronous = True): + if not keep_synchronous: + self._evolve_particles(self.particles, self.particles.time_step + self.particles.age) + return + + if end_time is None: + end_time = self.model_time + min(self.particles.time_step) + self._evolve_particles(self.particles, end_time - self.model_time + self.particles.age) + self.model_time = end_time + + def _evolve_model_old(self, end_time = None, keep_synchronous = True): + """ + This is the old implementation of evolve_model. Even with (keep_synchronous = True) + it is unable to evolve all stars to a common age, since it relies on the + individual timesteps as determined by the community code. Furthermore, it + is not suited to simulations with ongoing star formation, since it evolves + newly created stars to the same age as the old stars. + """ + if end_time is None: + if keep_synchronous: + ages = self.particles.age + index, min_age = min(enumerate(ages), key=itemgetter(1)) + new_age = min_age + self.particles[index].time_step + selection = self.particles.select(lambda x : x < new_age, ["age"]) + self._evolve_particles(selection, selection.time_step + selection.age) + return + end_time = self.particles.time_step + self.particles.age + + self._evolve_particles(self.particles, end_time) + + + def commit_parameters(self): + self.parameters.send_cached_parameters_to_code() + self.overridden().commit_parameters() + + def initialize_module_with_current_parameters(self): + self.parameters.send_cached_parameters_to_code() + + def initialize_module_with_default_parameters(self): + self.parameters.set_defaults() + self.commit_parameters() + + def update_time_steps(self): + pass + + +Mosse = MOSSE diff --git a/src/amuse_mosse/packages/amuse-mosse.amuse_deps b/src/amuse_mosse/packages/amuse-mosse.amuse_deps new file mode 100644 index 0000000000..235aec9dc0 --- /dev/null +++ b/src/amuse_mosse/packages/amuse-mosse.amuse_deps @@ -0,0 +1 @@ +fortran mpi \ No newline at end of file diff --git a/src/amuse_mosse/packages/amuse-mosse/amuse_mosse b/src/amuse_mosse/packages/amuse-mosse/amuse_mosse new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_mosse/packages/amuse-mosse/amuse_mosse @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_mosse/packages/amuse-mosse/pyproject.toml b/src/amuse_mosse/packages/amuse-mosse/pyproject.toml new file mode 100644 index 0000000000..d6bf8056b4 --- /dev/null +++ b/src/amuse_mosse/packages/amuse-mosse/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-mosse" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_mosse/**/*.py"] +exclude = [ + "amuse_mosse/packages", + "amuse_mosse/support", + "amuse_mosse/src", + "amuse_mosse/tests" + ] +artifacts = ["amuse_mosse/mosse_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_mosse/tests/"] + +testpaths = ["amuse_mosse/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/mosse/src/Makefile b/src/amuse_mosse/src/Makefile similarity index 100% rename from src/amuse/community/mosse/src/Makefile rename to src/amuse_mosse/src/Makefile diff --git a/src/amuse/community/mosse/src/README_MOBSE b/src/amuse_mosse/src/README_MOBSE similarity index 100% rename from src/amuse/community/mosse/src/README_MOBSE rename to src/amuse_mosse/src/README_MOBSE diff --git a/src/amuse/community/mosse/src/comenv.f b/src/amuse_mosse/src/comenv.f similarity index 100% rename from src/amuse/community/mosse/src/comenv.f rename to src/amuse_mosse/src/comenv.f diff --git a/src/amuse/community/mosse/src/const_mobse.h b/src/amuse_mosse/src/const_mobse.h similarity index 100% rename from src/amuse/community/mosse/src/const_mobse.h rename to src/amuse_mosse/src/const_mobse.h diff --git a/src/amuse/community/mosse/src/deltat.f b/src/amuse_mosse/src/deltat.f similarity index 100% rename from src/amuse/community/mosse/src/deltat.f rename to src/amuse_mosse/src/deltat.f diff --git a/src/amuse/community/mosse/src/dgcore.f b/src/amuse_mosse/src/dgcore.f similarity index 100% rename from src/amuse/community/mosse/src/dgcore.f rename to src/amuse_mosse/src/dgcore.f diff --git a/src/amuse/community/mosse/src/eddington.f b/src/amuse_mosse/src/eddington.f similarity index 100% rename from src/amuse/community/mosse/src/eddington.f rename to src/amuse_mosse/src/eddington.f diff --git a/src/amuse/community/mosse/src/evolv1.f b/src/amuse_mosse/src/evolv1.f similarity index 100% rename from src/amuse/community/mosse/src/evolv1.f rename to src/amuse_mosse/src/evolv1.f diff --git a/src/amuse/community/mosse/src/evolv1_bis.f b/src/amuse_mosse/src/evolv1_bis.f similarity index 100% rename from src/amuse/community/mosse/src/evolv1_bis.f rename to src/amuse_mosse/src/evolv1_bis.f diff --git a/src/amuse/community/mosse/src/evolv3.f b/src/amuse_mosse/src/evolv3.f similarity index 100% rename from src/amuse/community/mosse/src/evolv3.f rename to src/amuse_mosse/src/evolv3.f diff --git a/src/amuse/community/mosse/src/evolve.dat b/src/amuse_mosse/src/evolve.dat similarity index 100% rename from src/amuse/community/mosse/src/evolve.dat rename to src/amuse_mosse/src/evolve.dat diff --git a/src/amuse/community/mosse/src/fallback.f b/src/amuse_mosse/src/fallback.f similarity index 100% rename from src/amuse/community/mosse/src/fallback.f rename to src/amuse_mosse/src/fallback.f diff --git a/src/amuse/community/mosse/src/hrdiag.f b/src/amuse_mosse/src/hrdiag.f similarity index 100% rename from src/amuse/community/mosse/src/hrdiag.f rename to src/amuse_mosse/src/hrdiag.f diff --git a/src/amuse/community/mosse/src/kick.f b/src/amuse_mosse/src/kick.f similarity index 100% rename from src/amuse/community/mosse/src/kick.f rename to src/amuse_mosse/src/kick.f diff --git a/src/amuse/community/mosse/src/mlwind.f b/src/amuse_mosse/src/mlwind.f similarity index 100% rename from src/amuse/community/mosse/src/mlwind.f rename to src/amuse_mosse/src/mlwind.f diff --git a/src/amuse/community/mosse/src/mosse.f b/src/amuse_mosse/src/mosse.f similarity index 100% rename from src/amuse/community/mosse/src/mosse.f rename to src/amuse_mosse/src/mosse.f diff --git a/src/amuse/community/mosse/src/mrenv.f b/src/amuse_mosse/src/mrenv.f similarity index 100% rename from src/amuse/community/mosse/src/mrenv.f rename to src/amuse_mosse/src/mrenv.f diff --git a/src/amuse/community/mosse/src/pisn.f b/src/amuse_mosse/src/pisn.f similarity index 100% rename from src/amuse/community/mosse/src/pisn.f rename to src/amuse_mosse/src/pisn.f diff --git a/src/amuse/community/mosse/src/ran3.f b/src/amuse_mosse/src/ran3.f similarity index 100% rename from src/amuse/community/mosse/src/ran3.f rename to src/amuse_mosse/src/ran3.f diff --git a/src/amuse/community/mosse/src/rl.f b/src/amuse_mosse/src/rl.f similarity index 100% rename from src/amuse/community/mosse/src/rl.f rename to src/amuse_mosse/src/rl.f diff --git a/src/amuse/community/mosse/src/sse.f b/src/amuse_mosse/src/sse.f similarity index 100% rename from src/amuse/community/mosse/src/sse.f rename to src/amuse_mosse/src/sse.f diff --git a/src/amuse/community/mosse/src/star.f b/src/amuse_mosse/src/star.f similarity index 100% rename from src/amuse/community/mosse/src/star.f rename to src/amuse_mosse/src/star.f diff --git a/src/amuse/community/mosse/src/star.in b/src/amuse_mosse/src/star.in similarity index 100% rename from src/amuse/community/mosse/src/star.in rename to src/amuse_mosse/src/star.in diff --git a/src/amuse/community/mosse/src/zcnsts.f b/src/amuse_mosse/src/zcnsts.f similarity index 100% rename from src/amuse/community/mosse/src/zcnsts.f rename to src/amuse_mosse/src/zcnsts.f diff --git a/src/amuse/community/mosse/src/zdata.h b/src/amuse_mosse/src/zdata.h similarity index 100% rename from src/amuse/community/mosse/src/zdata.h rename to src/amuse_mosse/src/zdata.h diff --git a/src/amuse/community/mosse/src/zfuncs.f b/src/amuse_mosse/src/zfuncs.f similarity index 100% rename from src/amuse/community/mosse/src/zfuncs.f rename to src/amuse_mosse/src/zfuncs.f diff --git a/src/amuse_mosse/support/aclocal.m4 b/src/amuse_mosse/support/aclocal.m4 new file mode 100644 index 0000000000..8161803730 --- /dev/null +++ b/src/amuse_mosse/support/aclocal.m4 @@ -0,0 +1,20 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/fortran.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_mosse/support/config.mk.in b/src/amuse_mosse/support/config.mk.in new file mode 100644 index 0000000000..14db03ef50 --- /dev/null +++ b/src/amuse_mosse/support/config.mk.in @@ -0,0 +1,16 @@ +# Compilers +FC = @FC@ + +MPIFC = @MPIFC@ + +CPU_COUNT = @CPU_COUNT@ + +# General flags and libraries +FCFLAGS = @FCFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + +# AMUSE framework libraries +FORSOCKETS_CFLAGS = @FORSOCKETS_CFLAGS@ +FORSOCKETS_LIBS = @FORSOCKETS_LIBS@ \ No newline at end of file diff --git a/src/amuse_mosse/support/configure b/src/amuse_mosse/support/configure new file mode 100755 index 0000000000..a4df43824b --- /dev/null +++ b/src/amuse_mosse/support/configure @@ -0,0 +1,5749 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-mosse 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-mosse' +PACKAGE_TARNAME='amuse-mosse' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-mosse 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPILIBS +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CPPFLAGS +CFLAGS +CC +OBJEXT +EXEEXT +ac_ct_FC +LDFLAGS +FCFLAGS +FC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +FC +FCFLAGS +LDFLAGS +LIBS +CC +CFLAGS +CPPFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS +MPIFC' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-mosse 1.0 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/amuse-mosse] + --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 amuse-mosse 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + FC Fortran compiler command + FCFLAGS Fortran 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 + CC C compiler command + CFLAGS C compiler flags + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + 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 + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + MPIFC MPI Fortran compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-mosse configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-mosse $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set the worker language +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the Fortran compiler works" >&5 +printf %s "checking whether the Fortran compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "Fortran compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler default output file name" >&5 +printf %s "checking for Fortran compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat > conftest.$ac_ext <<_ACEOF + program main + open(unit=9,file='conftest.out') + close(unit=9) + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run Fortran compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +fi +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +fi + +fi + + + ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + +# Find external dependencies +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-mosse $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-mosse config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + diff --git a/src/amuse_mosse/support/configure.ac b/src/amuse_mosse/support/configure.ac new file mode 100644 index 0000000000..1d852ebf05 --- /dev/null +++ b/src/amuse_mosse/support/configure.ac @@ -0,0 +1,30 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-mosse], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set the worker language +AC_LANG([Fortran]) + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + +# Find AMUSE libraries +AMUSE_LIB_FORSOCKETS() + +# Find external dependencies +AC_LANG_PUSH([Fortran]) +AX_MPI() +AC_LANG_POP([Fortran]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT \ No newline at end of file diff --git a/src/amuse_mosse/support/shared b/src/amuse_mosse/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_mosse/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_mosse.py b/src/amuse_mosse/tests/test_mosse.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_mosse.py rename to src/amuse_mosse/tests/test_mosse.py index 75e2e9db1c..cb15eb704a 100644 --- a/src/amuse/test/suite/codes_tests/test_mosse.py +++ b/src/amuse_mosse/tests/test_mosse.py @@ -5,9 +5,9 @@ import numpy from subprocess import call -from amuse.community.mosse.interface import MOSSEInterface, MOSSE +from amuse_mosse.interface import MOSSEInterface, MOSSE -from amuse.test.amusetest import get_path_to_results, TestWithMPI +from amuse.support.testing.amusetest import get_path_to_results, TestWithMPI from amuse import io from amuse.units import units from amuse.datamodel import Particle, Particles diff --git a/src/amuse_mpiamrvac/.gitignore b/src/amuse_mpiamrvac/.gitignore new file mode 100644 index 0000000000..3a5c9cd065 --- /dev/null +++ b/src/amuse_mpiamrvac/.gitignore @@ -0,0 +1,4 @@ +build* +amrvac +*.tar.gz + diff --git a/src/amuse_mpiamrvac/Makefile b/src/amuse_mpiamrvac/Makefile new file mode 100644 index 0000000000..360c04bd6e --- /dev/null +++ b/src/amuse_mpiamrvac/Makefile @@ -0,0 +1,117 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Downloading the code +VERSION = r187 + +mpiamrvac.tar.gz: + $(DOWNLOAD) http://amuse.strw.leidenuniv.nl/codes/mpiamrvac-$(VERSION).tgz >$@ + +PATCHES := $(file < patches/series) +PATCHES := $(patsubst %,%,$(PATCHES)) # replace newlines with spaces + +src/mpiamrvac: | mpiamrvac.tar.gz + tar xf $| + mkdir -p src + mv mpiamrvac src/ + for p in $(PATCHES) ; do patch -p1 $@ + +build%/interface.o: build%/interface.f90 | build%/$(CODELIB) + $(MPIFC) -o $@ -c $(FCFLAGS) -Ibuild$* $< + + +mpiamrvac_worker.f90: interface.py + amusifier --type=f90 interface.py MpiAmrVacInterface -o $@ + +.PRECIOUS: build%/mpiamrvac_worker.o +build%/mpiamrvac_worker.o: mpiamrvac_worker.f90 + $(MPIFC) -c -o $@ $(FCFLAGS) $< + +mpiamrvac%_worker: build%/interface.o build%/mpiamrvac_worker.o build%/$(CODELIB) + $(MPIFC) -o $@ $(LDFLAGS) $^ $(LDLIBS) + + + +# Which packages contain which workers? +WORKERS := mpiamrvac_3d_worker mpiamrvac_3dacc_worker mpiamrvac_2d_worker +WORKERS += mpiamrvac_2dacc_worker mpiamrvac_1d_worker mpiamrvac_1dacc_worker + +amuse-mpiamrvac_contains: $(WORKERS) + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: +ifneq ($(CI),) + cd packages/$* && pytest -k 'not noci' +else + cd packages/$* && pytest +endif + + + +# Cleaning up +.PHONY: clean +clean: + -$(MAKE) -C src/mpiamrvac/src clean + rm -f amrvac # current version of mpiamrvac cleans this too, but it's our dir + rm -rf build* *.o *.mod *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + +FORCE: diff --git a/src/amuse_mpiamrvac/__init__.py b/src/amuse_mpiamrvac/__init__.py new file mode 100644 index 0000000000..fff192dde7 --- /dev/null +++ b/src/amuse_mpiamrvac/__init__.py @@ -0,0 +1,2 @@ +# generated file +from .interface import Mpiamrvac diff --git a/src/amuse/community/mpiamrvac/data/input/amrvac-acc.par b/src/amuse_mpiamrvac/data/input/amrvac-acc.par similarity index 100% rename from src/amuse/community/mpiamrvac/data/input/amrvac-acc.par rename to src/amuse_mpiamrvac/data/input/amrvac-acc.par diff --git a/src/amuse/community/mpiamrvac/data/input/amrvac.par b/src/amuse_mpiamrvac/data/input/amrvac.par similarity index 100% rename from src/amuse/community/mpiamrvac/data/input/amrvac.par rename to src/amuse_mpiamrvac/data/input/amrvac.par diff --git a/src/amuse/community/mpiamrvac/data/input/amrvac_1d-acc.par b/src/amuse_mpiamrvac/data/input/amrvac_1d-acc.par similarity index 100% rename from src/amuse/community/mpiamrvac/data/input/amrvac_1d-acc.par rename to src/amuse_mpiamrvac/data/input/amrvac_1d-acc.par diff --git a/src/amuse/community/mpiamrvac/data/input/amrvac_1d.par b/src/amuse_mpiamrvac/data/input/amrvac_1d.par similarity index 100% rename from src/amuse/community/mpiamrvac/data/input/amrvac_1d.par rename to src/amuse_mpiamrvac/data/input/amrvac_1d.par diff --git a/src/amuse/community/mpiamrvac/data/input/amrvac_2d-acc.par b/src/amuse_mpiamrvac/data/input/amrvac_2d-acc.par similarity index 100% rename from src/amuse/community/mpiamrvac/data/input/amrvac_2d-acc.par rename to src/amuse_mpiamrvac/data/input/amrvac_2d-acc.par diff --git a/src/amuse/community/mpiamrvac/data/input/amrvac_2d.par b/src/amuse_mpiamrvac/data/input/amrvac_2d.par similarity index 100% rename from src/amuse/community/mpiamrvac/data/input/amrvac_2d.par rename to src/amuse_mpiamrvac/data/input/amrvac_2d.par diff --git a/src/amuse_mpiamrvac/interface.py b/src/amuse_mpiamrvac/interface.py new file mode 100644 index 0000000000..e7b04a49a0 --- /dev/null +++ b/src/amuse_mpiamrvac/interface.py @@ -0,0 +1,2763 @@ +from amuse.community import * +from amuse.community.interface.hydro import HydrodynamicsInterface +from amuse.support.options import OptionalAttributes, option +from amuse.units import generic_unit_system +from amuse.community.interface.common import CommonCode + +import os + +class MpiAmrVacInterface(CodeInterface, HydrodynamicsInterface, StoppingConditionInterface, + CodeWithDataDirectories): + + use_modules = ['mpiamrvac_interface', 'StoppingConditions'] + + MODE_NORMAL = 'normal' + MODE_3D = '3d' + MODE_3D_ACC = '3d-acc' + MODE_2D = '2d' + MODE_2D_ACC = '2d-acc' + MODE_1D = '1d' + MODE_1D_ACC = '1d-acc' + + def __init__(self, mode = MODE_NORMAL, **options): + CodeInterface.__init__(self, name_of_the_worker=self.name_of_the_worker(mode), **options) + CodeWithDataDirectories.__init__(self) + self._mode = mode + + def name_of_the_worker(self, mode): + if mode == self.MODE_NORMAL or mode == self.MODE_3D: + return 'mpiamrvac_3d_worker' + elif mode == self.MODE_3D_ACC: + return 'mpiamrvac_3dacc_worker' + elif mode == self.MODE_2D: + return 'mpiamrvac_2d_worker' + elif mode == self.MODE_2D_ACC: + return 'mpiamrvac_2dacc_worker' + elif mode == self.MODE_1D: + return 'mpiamrvac_1d_worker' + elif mode == self.MODE_1D_ACC: + return 'mpiamrvac_1dacc_worker' + else: + return 'mpiamrvac_3d_worker' + + # + # options + # + + @option(type="string") + def default_parameters_filename(self): + """ + Default parameter file for amrvac, has empty lists for + all parameters. + """ + if self._mode == self.MODE_2D: + return os.path.join(self.data_directory, 'amrvac_2d.par') + elif self._mode == self.MODE_2D_ACC: + return os.path.join(self.data_directory, 'amrvac_2d-acc.par') + elif self._mode == self.MODE_1D: + return os.path.join(self.data_directory, 'amrvac_1d.par') + elif self._mode == self.MODE_1D_ACC: + return os.path.join(self.data_directory, 'amrvac_1d-acc.par') + elif self._mode == self.MODE_3D_ACC: + return os.path.join(self.data_directory, 'amrvac-acc.par') + else: + return os.path.join(self.data_directory, 'amrvac.par') + + # + # parameters + # + + @legacy_function + def set_typeentropy(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typeentropy(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typefull1(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typefull1(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typepred1(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typepred1(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_gamma(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_gamma(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_dt(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_dt(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_nbufferx1(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_nbufferx1(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_nbufferx2(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_nbufferx2(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_nbufferx3(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_nbufferx3(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_mxnest(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_mxnest(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_dixb(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_dixb(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_levmin(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_levmin(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_levmax(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_levmax(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_skipfinestep(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_skipfinestep(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_time_advance(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_time_advance(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_courantpar(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_courantpar(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_dtpar(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_dtpar(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_dtdiffpar(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_dtdiffpar(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_t(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_t(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_tmax(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_tmax(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_dtmin(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_dtmin(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_residmin(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_residmin(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_residmax(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_residmax(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_residual(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_residual(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_tfixgrid(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_tfixgrid(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_tvdlfeps(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_tvdlfeps(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_mcbeta(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_mcbeta(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_divbdiff(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_divbdiff(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_smallp(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_smallp(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_smallrho(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_smallrho(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_dmaxvel(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_dmaxvel(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_tolernr(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_tolernr(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_absaccnr(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_absaccnr(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_cfrac(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_cfrac(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_x1ptms(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_x1ptms(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_x2ptms(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_x2ptms(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_x3ptms(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_x3ptms(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_ptmass(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_ptmass(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_ratebdflux(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_ratebdflux(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_normt(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_normt(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_time_bc(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_time_bc(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_it(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_it(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_itmax(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_itmax(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_itmin(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_itmin(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_slowsteps(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_slowsteps(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typepario(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typepario(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_itfixgrid(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_itfixgrid(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_nwauxio(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_nwauxio(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_istep(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_istep(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_nstep(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_nstep(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_errorestimate(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_errorestimate(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_nxdiffusehllc(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_nxdiffusehllc(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typespherical(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typespherical(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_maxitnr(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_maxitnr(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_nflatgetaux(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_nflatgetaux(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_level_io(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_level_io(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_ncool(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_ncool(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_cmulti(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_cmulti(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_snapshotini(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_snapshotini(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_ixtest1(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_ixtest1(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_ixtest2(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_ixtest2(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_ixtest3(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_ixtest3(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_iwtest(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_iwtest(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_idimtest(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_idimtest(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_saveigrid(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_saveigrid(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typecourant(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typecourant(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typeresid(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typeresid(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typeadvance(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typeadvance(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typelimited(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typelimited(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typesourcesplit(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typesourcesplit(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typelimiter(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typelimiter(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typegradlimiter(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typegradlimiter(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typeprolonglimit(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typeprolonglimit(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typetvd(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typetvd(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typetvdlf(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typetvdlf(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typeaverage(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typeaverage(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typedimsplit(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typedimsplit(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typeaxial(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typeaxial(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typepoly(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typepoly(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typedivbdiff(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typedivbdiff(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typedivbfix(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typedivbfix(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typediv(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typediv(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typegrad(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typegrad(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typeglm(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typeglm(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_coolcurve(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_coolcurve(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_coolmethod(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_coolmethod(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typeghostfill(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typeghostfill(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typegridfill(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typegridfill(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_filenameout(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_filenameout(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_filenameini(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_filenameini(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_filenamelog(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_filenamelog(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_fileheadout(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_fileheadout(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_wnames(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_wnames(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_primnames(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_primnames(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_typefilelog(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_typefilelog(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_convert_type(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_convert_type(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_dxfiletype(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_dxfiletype(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_teststr(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_teststr(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_time_accurate(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_time_accurate(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_addmpibarrier(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_addmpibarrier(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_tmaxexact(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_tmaxexact(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_treset(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_treset(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_itreset(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_itreset(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_firstprocess(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_firstprocess(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_fixprocess(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_fixprocess(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_flathllc(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_flathllc(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_flatcd(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_flatcd(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_flatsh(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_flatsh(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_flatppm(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_flatppm(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_sourcesplit(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_sourcesplit(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_sourceunsplit(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_sourceunsplit(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_useprimitive(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_useprimitive(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_dimsplit(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_dimsplit(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_restrictprimitive(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_restrictprimitive(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_prolongprimitive(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_prolongprimitive(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_coarsenprimitive(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_coarsenprimitive(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_useprimitiverel(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_useprimitiverel(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_amrentropy(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_amrentropy(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_divbfix(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_divbfix(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_divbwave(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_divbwave(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_compactres(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_compactres(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_bnormlf(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_bnormlf(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_strictnr(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_strictnr(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_strictsmall(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_strictsmall(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_strictzero(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_strictzero(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_strictgetaux(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_strictgetaux(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_usecovariant(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_usecovariant(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_nocartesian(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_nocartesian(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_tfix(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_tfix(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_convert(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_convert(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_saveprim(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_saveprim(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_uselimiter(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_uselimiter(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + # parameters file + + + @legacy_function + def set_parameters_filename(): + """ + Update name of the parameters file + """ + function = LegacyFunctionSpecification() + function.addParameter('path', + dtype='string', + direction=function.IN, + description = "filename of the parameters file" + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value was set + -1 - ERROR + File does not exist + """ + return function + + @legacy_function + def get_parameters_filename(): + """ + Retrieve name of the parameters file + """ + function = LegacyFunctionSpecification() + function.addParameter('path', + dtype='string', + direction=function.OUT, + description = "filename of the parameters file" + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value was set + -1 - ERROR + File does not exist + """ + return function + + @legacy_function + def get_current_error(): + """When a function returns an error, this will retrieve + a description (if possible) + """ + function = LegacyFunctionSpecification() + function.addParameter('string', + dtype='string', + direction=function.OUT, + description = "description of the error" + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value was set + -1 - ERROR + File does not exist + """ + return function + # + # + + @legacy_function + def initialize_grid(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + @legacy_function + def refine_grid(): + function = LegacyFunctionSpecification() + function.addParameter('must_advance', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_mesh_size(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('nmeshx', dtype='i', direction=function.OUT) + function.addParameter('nmeshy', dtype='i', direction=function.OUT) + function.addParameter('nmeshz', dtype='i', direction=function.OUT) + function.addParameter('index_of_grid', dtype='i', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_position_of_index(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) + for x in ['x','y','z']: + function.addParameter(x, dtype='d', direction=function.OUT) + + function.addParameter('n', dtype='i', direction=function.LENGTH) + + function.result_type = 'i' + return function + + + @legacy_function + def get_index_of_position(): + """ + Retrieves the i,j and k index of the grid cell containing the + given x, y and z position. The cell is looked up + in the grid specified by index_of_grid. + """ + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['x','y','z']: + function.addParameter(x, dtype='d', direction=function.IN) + + function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) + + for x in ['i','j','k']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('n', dtype='i', direction=function.LENGTH) + function.result_type = 'i' + return function + + + @legacy_function + def get_level_of_grid(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('level', dtype='i', direction=function.OUT) + function.addParameter('index_of_grid', dtype='i', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def get_cell_size_of_grid(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('dx', dtype='d', direction=function.OUT) + function.addParameter('dy', dtype='d', direction=function.OUT) + function.addParameter('dz', dtype='d', direction=function.OUT) + function.addParameter('index_of_grid', dtype='i', direction=function.IN) + function.result_type = 'i' + return function + + + @legacy_function + def setup_mesh(): + function = LegacyFunctionSpecification() + function.addParameter('nmeshx', dtype='i', direction=function.IN) + function.addParameter('nmeshy', dtype='i', direction=function.IN) + function.addParameter('nmeshz', dtype='i', direction=function.IN) + function.addParameter('xlength', dtype='d', direction=function.IN) + function.addParameter('ylength', dtype='d', direction=function.IN) + function.addParameter('zlength', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + + + + # + # + # + + + @legacy_function + def set_boundary_in_code(): + function = LegacyFunctionSpecification() + for x in ["xbound1","xbound2","ybound1","ybound2","zbound1","zbound2"]: + function.addParameter(x, dtype='string', direction=function.IN) + function.result_type = 'i' + return function + + + def set_boundary(self, xbound1, xbound2, ybound1, ybound2, zbound1, zbound2): + map_from_amuse_to_mpiamrvac= { + "reflective": "symm", + "outflow":"limitinflow", + "periodic":"periodic", + "interface": "special", + } + + return self.set_boundary_in_code( + map_from_amuse_to_mpiamrvac.setdefault(xbound1, xbound1), + map_from_amuse_to_mpiamrvac.setdefault(xbound2, xbound2), + map_from_amuse_to_mpiamrvac.setdefault(ybound1, ybound1), + map_from_amuse_to_mpiamrvac.setdefault(ybound2, ybound2), + map_from_amuse_to_mpiamrvac.setdefault(zbound1, zbound1), + map_from_amuse_to_mpiamrvac.setdefault(zbound2, zbound2) + ) + + # + # + # + + + @legacy_function + def get_time(): + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + # + # + # + + + @legacy_function + def get_acceleration_grid_position_of_index(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + #function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) + for x in ['x','y','z']: + function.addParameter(x, dtype='d', direction=function.OUT) + + function.addParameter('n', dtype='i', direction=function.LENGTH) + + function.result_type = 'i' + return function + + @legacy_function + def get_acceleration_grid_acceleration(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + #function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) + for x in ['a1','a2', 'a3']: + function.addParameter(x, dtype='d', direction=function.OUT) + + function.addParameter('n', dtype='i', direction=function.LENGTH) + + function.result_type = 'i' + return function + + @legacy_function + def set_acceleration_grid_acceleration(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + #function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) + for x in ['a1','a2', 'a3']: + function.addParameter(x, dtype='d', direction=function.IN) + + function.addParameter('n', dtype='i', direction=function.LENGTH) + + function.result_type = 'i' + return function + + + @legacy_function + def get_acceleration_grid_size(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('nmeshx', dtype='i', direction=function.OUT) + function.addParameter('nmeshy', dtype='i', direction=function.OUT) + function.addParameter('nmeshz', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + + + @legacy_function + def get_grid_acceleration(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) + for x in ['ax','ay','az']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + + return function + + + @legacy_function + def set_grid_acceleration(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + for x in ['i','j','k']: + function.addParameter(x, dtype='i', direction=function.IN) + for x in ['ax','ay','az']: + function.addParameter(x, dtype='d', direction=function.IN) + function.addParameter('index_of_grid', dtype='i', direction=function.IN, default = 1) + function.addParameter('number_of_points', 'i', function.LENGTH) + function.result_type = 'i' + return function + + @legacy_function + def get_hydro_state_at_point(): + function = LegacyFunctionSpecification() + for x in ['x','y','z']: + function.addParameter(x, dtype='d', direction=function.IN) + for x in ['vx','vy','vz']: + function.addParameter(x, dtype='d', direction=function.IN, default = 0) + for x in ['rho','rhovx','rhovy','rhovz','rhoe']: + function.addParameter(x, dtype='d', direction=function.OUT) + function.addParameter('npoints', dtype='i', direction=function.LENGTH) + function.result_type = 'i' + function.must_handle_array = True + return function + + + + +class MpiAmrVac(CommonCode): + + def __init__(self, unit_converter = None, **options): + self.unit_converter = unit_converter + self.stopping_conditions = StoppingConditions(self) + + CommonCode.__init__(self, MpiAmrVacInterface(**options), **options) + + self.set_parameters_filename(self.default_parameters_filename) + + def define_converter(self, handler): + if self.unit_converter is None: + return + + handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) + + + + def get_index_range_inclusive(self, index_of_grid = 1): + nx, ny, nz = self.get_mesh_size(index_of_grid) + + return (0, nx-1, 0, ny-1, 0, nz-1) + + def define_properties(self, handler): + handler.add_property('get_time', public_name = "model_time") + + def define_methods(self, handler): + handler.add_method( + 'evolve_model', + (generic_unit_system.time,), + (handler.ERROR_CODE,) + ) + + handler.add_method( + 'commit_parameters', + (), + (handler.ERROR_CODE,) + ) + handler.add_method( + 'get_position_of_index', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + (generic_unit_system.length, generic_unit_system.length, generic_unit_system.length, handler.ERROR_CODE,) + ) + handler.add_method( + 'get_acceleration_grid_position_of_index', + (handler.INDEX, handler.INDEX, handler.INDEX), + (generic_unit_system.length, generic_unit_system.length, generic_unit_system.length, handler.ERROR_CODE,) + ) + + density = generic_unit_system.density + momentum = generic_unit_system.momentum_density + energy = generic_unit_system.energy_density + acceleration = generic_unit_system.length / generic_unit_system.time ** 2 + + handler.add_method( + 'get_acceleration_grid_size', + (), + (handler.NO_UNIT,handler.NO_UNIT,handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_acceleration_grid_acceleration', + (handler.INDEX, handler.INDEX, handler.INDEX), + (acceleration, acceleration, acceleration, handler.ERROR_CODE,) + ) + + handler.add_method( + 'set_acceleration_grid_acceleration', + (handler.INDEX, handler.INDEX, handler.INDEX, acceleration, acceleration, acceleration,), + (handler.ERROR_CODE,) + ) + handler.add_method( + 'set_grid_energy_density', + (handler.INDEX, handler.INDEX, handler.INDEX, energy, handler.INDEX), + (handler.ERROR_CODE,) + ) + + handler.add_method( + 'set_grid_density', + (handler.INDEX, handler.INDEX, handler.INDEX, density, handler.INDEX), + (handler.ERROR_CODE,) + ) + + handler.add_method( + 'set_grid_momentum_density', + (handler.INDEX, handler.INDEX, handler.INDEX, momentum, momentum, momentum, handler.INDEX), + (handler.ERROR_CODE,) + ) + + + handler.add_method( + 'get_grid_energy_density', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + ( energy, + handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_grid_density', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + (density, + handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_grid_momentum_density', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + ( momentum, momentum, momentum, + handler.ERROR_CODE,) + ) + + handler.add_method( + 'refine_grid', + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_level_of_grid', + (handler.INDEX), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_gamma", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_gamma", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_typeentropy", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_typeentropy", + (handler.NO_UNIT,), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_typefull1", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_typefull1", + (handler.NO_UNIT,), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_typepred1", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_typepred1", + (handler.NO_UNIT,), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_typeadvance", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_typeadvance", + (handler.NO_UNIT,), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_courantpar", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_courantpar", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_mxnest", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_mxnest", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_time', + (), + (generic_unit_system.time, handler.ERROR_CODE,) + ) + + handler.add_method( + 'setup_mesh', + (handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, generic_unit_system.length, generic_unit_system.length, generic_unit_system.length, ), + (handler.ERROR_CODE,) + ) + handler.add_method( + 'set_boundary', + (handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT,), + (handler.ERROR_CODE,) + ) + + handler.add_method( + 'set_grid_acceleration', + (handler.INDEX, handler.INDEX, handler.INDEX, acceleration, acceleration, acceleration, handler.INDEX), + (handler.ERROR_CODE,) + ) + handler.add_method( + 'get_grid_acceleration', + (handler.INDEX, handler.INDEX, handler.INDEX, handler.INDEX), + (acceleration, acceleration, acceleration, handler.ERROR_CODE,) + ) + handler.add_method( + 'get_hydro_state_at_point', + (generic_unit_system.length, generic_unit_system.length, generic_unit_system.length, + generic_unit_system.speed, generic_unit_system.speed, generic_unit_system.speed), + (generic_unit_system.density, generic_unit_system.momentum_density, generic_unit_system.momentum_density, + generic_unit_system.momentum_density, generic_unit_system.energy_density, handler.ERROR_CODE) + ) + self.stopping_conditions.define_methods(handler) + + def define_parameters(self, handler): + + + handler.add_method_parameter( + "get_gamma", + "set_gamma", + "gamma", + "ratio of specific heats used in equation of state", + default_value = 1.6666666666666667 + ) + + handler.add_method_parameter( + "get_typeentropy", + "set_typeentropy", + "entropy_type", + "type of the entropy", + default_value = 'nul' + ) + handler.add_method_parameter( + "get_typefull1", + "set_typefull1", + "spatial_discretization_method", + "the spatial discretization method used for the time integration per activated grid leve", + default_value = 'tvdmu' + ) + handler.add_method_parameter( + "get_typepred1", + "set_typepred1", + "predictor_step_discretization_method", + "the precitor step discretization method (only used when integration procedure is twostep')", + default_value = 'tvdmu' + ) + handler.add_method_parameter( + "get_typeadvance", + "set_typeadvance", + "time_integration_procedure", + "time integration procedure", + default_value = 'twostep' + ) + + handler.add_method_parameter( + "get_courantpar", + "set_courantpar", + "courant_number", + "CFL number", + default_value = 0.7 + ) + + + handler.add_caching_parameter( + "setup_mesh", + "nmeshx", + "nx", + "number of cells in the x direction", + 10, + ) + + + handler.add_caching_parameter( + "setup_mesh", + "nmeshy", + "ny", + "number of cells in the y direction", + 10, + ) + + + handler.add_caching_parameter( + "setup_mesh", + "nmeshz", + "nz", + "number of cells in the z direction", + 10, + ) + + handler.add_caching_parameter( + "setup_mesh", + "xlength", + "length_x", + "length of model in the x direction", + 10 | generic_unit_system.length, + ) + handler.add_caching_parameter( + "setup_mesh", + "ylength", + "length_y", + "length of model in the x direction", + 10 | generic_unit_system.length, + ) + handler.add_caching_parameter( + "setup_mesh", + "zlength", + "length_z", + "length of model in the z direction", + 10 | generic_unit_system.length, + ) + + handler.add_vector_parameter( + "mesh_size", + "number of cells in the x, y and z directions", + ("nx", "ny", "nz") + ) + + handler.add_vector_parameter( + "mesh_length", + "length of the model in the x, y and z directions", + ("length_x", "length_y", "length_z") + ) + + + handler.add_caching_parameter( + "set_boundary", + "xbound1", + "xbound1", + "boundary conditions on first (inner, left) X boundary", + "reflective", + ) + + + handler.add_caching_parameter( + "set_boundary", + "xbound2", + "xbound2", + "boundary conditions on second (outer, right) X boundary", + "reflective", + ) + + handler.add_caching_parameter( + "set_boundary", + "ybound1", + "ybound1", + "boundary conditions on first (inner, front) Y boundary", + "reflective", + ) + + + handler.add_caching_parameter( + "set_boundary", + "ybound2", + "ybound2", + "boundary conditions on second (outer, back) Y boundary", + "reflective", + ) + + handler.add_caching_parameter( + "set_boundary", + "zbound1", + "zbound1", + "boundary conditions on first (inner, bottom) Z boundary", + "reflective", + ) + + + handler.add_caching_parameter( + "set_boundary", + "zbound2", + "zbound2", + "boundary conditions on second (outer, top) Z boundary", + "reflective", + ) + + + + handler.add_vector_parameter( + "x_boundary_conditions", + "boundary conditions for the X directorion", + ("xbound1", "xbound2") + ) + + + handler.add_vector_parameter( + "y_boundary_conditions", + "boundary conditions for the Y directorion", + ("ybound1", "ybound2") + ) + + + handler.add_vector_parameter( + "z_boundary_conditions", + "boundary conditions for the Z directorion", + ("zbound1", "zbound2") + ) + + + handler.add_method_parameter( + "get_mxnest", + "set_mxnest", + "maximum_number_of_grid_levels", + "the maximum number of grid levels that can be used during the simulation, including the base grid level", + default_value = 3 + ) + handler.add_method_parameter( + "get_time_accurate", + "set_time_accurate", + "time_accurate", + "if false will evolve to the given time, if true will take accurate steps using courant timesteps", + default_value = 3 + ) + handler.add_method_parameter( + "get_dtpar", + "set_dtpar", + "timestep", + "if greater than zero will fix the timestep to the given value", + default_value = 3 + ) + + self.stopping_conditions.define_parameters(handler) + + + + def commit_parameters(self): + self.parameters.send_cached_parameters_to_code() + self.overridden().commit_parameters() + + def get_acceleration_grid_index_range_inclusive(self): + nx, ny, nz = self.get_acceleration_grid_size() + return (1, nx, 1, ny, 1, nz) + + def define_particle_sets(self, handler): + + handler.define_grid('acceleration_grid') + handler.set_grid_range('acceleration_grid', 'get_acceleration_grid_index_range_inclusive') + handler.add_getter('acceleration_grid', 'get_acceleration_grid_position_of_index', names=('x','y','z')) + handler.add_getter('acceleration_grid', 'get_acceleration_grid_acceleration', names=('ax','ay','az')) + handler.add_setter('acceleration_grid', 'set_acceleration_grid_acceleration', names=('ax','ay','az')) + + def itergrids(self): + n = self.get_number_of_grids() + + for x in range(1,n+1): + yield self._create_new_grid(self.specify_grid, index_of_grid = x) + + def specify_grid(self, definition, index_of_grid = 1): + definition.set_grid_range('get_index_range_inclusive') + + definition.add_getter('get_position_of_index', names=('x','y','z')) + + definition.add_setter('set_grid_density', names=('rho',)) + + definition.add_setter('set_grid_momentum_density', names=('rhovx','rhovy','rhovz')) + definition.add_setter('set_grid_energy_density', names=('energy',)) + + definition.add_getter('get_grid_density', names=('rho',)) + definition.add_getter('get_grid_momentum_density', names=('rhovx','rhovy','rhovz')) + definition.add_getter('get_grid_energy_density', names=('energy',)) + + + definition.add_getter('get_grid_acceleration', names=('ax','ay','az')) + definition.add_setter('set_grid_acceleration', names=('ax','ay','az')) + + definition.define_extra_keywords({'index_of_grid':index_of_grid}) + + + + def define_state(self, handler): + CommonCode.define_state(self, handler) + #handler.add_transition('END', 'INITIALIZED', 'initialize_code', False) + + handler.add_transition('INITIALIZED','EDIT','commit_parameters') + handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False) + handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False) + handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters') + handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') + handler.add_method('RUN', 'before_get_parameter') + handler.add_method('EDIT', 'before_get_parameter') + + handler.add_transition('EDIT', 'RUN', 'initialize_grid') + handler.add_method('RUN', 'evolve_model') + handler.add_method('RUN', 'get_hydro_state_at_point') + for state in ['EDIT', 'RUN']: + for methodname in [ + 'get_grid_density', + 'set_grid_density', + 'set_grid_energy_density', + 'get_grid_energy_density', + 'get_grid_momentum_density', + 'set_grid_momentum_density', + 'get_position_of_index', + 'get_index_of_position', + 'set_grid_scalar', + 'get_grid_scalar', + 'get_mesh_size', + 'get_acceleration_grid_acceleration', + 'set_acceleration_grid_acceleration', + 'get_acceleration_grid_size', + 'get_mesh_size', + 'get_number_of_grids', + 'get_level_of_grid', + 'refine_grid' + ]: + handler.add_method(state, methodname) + + self.stopping_conditions.define_state(handler) + + + + +Mpiamrvac = MpiAmrVac diff --git a/src/amuse/community/mpiamrvac/interface.t b/src/amuse_mpiamrvac/interface.t similarity index 100% rename from src/amuse/community/mpiamrvac/interface.t rename to src/amuse_mpiamrvac/interface.t diff --git a/src/amuse_mpiamrvac/packages/amuse-mpiamrvac.amuse_deps b/src/amuse_mpiamrvac/packages/amuse-mpiamrvac.amuse_deps new file mode 100644 index 0000000000..de2668bd7a --- /dev/null +++ b/src/amuse_mpiamrvac/packages/amuse-mpiamrvac.amuse_deps @@ -0,0 +1 @@ +fortran download patch mpi diff --git a/src/amuse_mpiamrvac/packages/amuse-mpiamrvac/amuse_mpiamrvac b/src/amuse_mpiamrvac/packages/amuse-mpiamrvac/amuse_mpiamrvac new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_mpiamrvac/packages/amuse-mpiamrvac/amuse_mpiamrvac @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_mpiamrvac/packages/amuse-mpiamrvac/pyproject.toml b/src/amuse_mpiamrvac/packages/amuse-mpiamrvac/pyproject.toml new file mode 100644 index 0000000000..bcf63d9ef0 --- /dev/null +++ b/src/amuse_mpiamrvac/packages/amuse-mpiamrvac/pyproject.toml @@ -0,0 +1,48 @@ +[project] +name = "amuse-mpiamrvac" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = [ + "amuse_mpiamrvac/**/*.py", "amuse_mpiamrvac/data"] +exclude = [ + "amuse_mpiamrvac/packages", + "amuse_mpiamrvac/support", + "amuse_mpiamrvac/src", + "amuse_mpiamrvac/tests" + ] +artifacts = [ + "amuse_mpiamrvac/mpiamrvac_3d_worker", "amuse_mpiamrvac/mpiamrvac_3dacc_worker", + "amuse_mpiamrvac/mpiamrvac_2d_worker", "amuse_mpiamrvac/mpiamrvac_2dacc_worker", + "amuse_mpiamrvac/mpiamrvac_1d_worker", "amuse_mpiamrvac/mpiamrvac_1dacc_worker", + ] + +[tool.pytest.ini_options] +pythonpath = ["amuse_mpiamrvac/tests/"] + +testpaths = ["amuse_mpiamrvac/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse_mpiamrvac/patches/.gitignore b/src/amuse_mpiamrvac/patches/.gitignore new file mode 100644 index 0000000000..c206d1f194 --- /dev/null +++ b/src/amuse_mpiamrvac/patches/.gitignore @@ -0,0 +1,2 @@ +!build +!build187 diff --git a/src/amuse/community/mpiamrvac/patches/acceleration1d b/src/amuse_mpiamrvac/patches/acceleration1d similarity index 100% rename from src/amuse/community/mpiamrvac/patches/acceleration1d rename to src/amuse_mpiamrvac/patches/acceleration1d diff --git a/src/amuse/community/mpiamrvac/patches/accelongrid b/src/amuse_mpiamrvac/patches/accelongrid similarity index 100% rename from src/amuse/community/mpiamrvac/patches/accelongrid rename to src/amuse_mpiamrvac/patches/accelongrid diff --git a/src/amuse/community/mpiamrvac/patches/build b/src/amuse_mpiamrvac/patches/build similarity index 100% rename from src/amuse/community/mpiamrvac/patches/build rename to src/amuse_mpiamrvac/patches/build diff --git a/src/amuse/community/mpiamrvac/patches/build187 b/src/amuse_mpiamrvac/patches/build187 similarity index 100% rename from src/amuse/community/mpiamrvac/patches/build187 rename to src/amuse_mpiamrvac/patches/build187 diff --git a/src/amuse/community/mpiamrvac/patches/code b/src/amuse_mpiamrvac/patches/code similarity index 100% rename from src/amuse/community/mpiamrvac/patches/code rename to src/amuse_mpiamrvac/patches/code diff --git a/src/amuse/community/mpiamrvac/patches/fortrancompiler b/src/amuse_mpiamrvac/patches/fortrancompiler similarity index 100% rename from src/amuse/community/mpiamrvac/patches/fortrancompiler rename to src/amuse_mpiamrvac/patches/fortrancompiler diff --git a/src/amuse/community/mpiamrvac/patches/series b/src/amuse_mpiamrvac/patches/series similarity index 100% rename from src/amuse/community/mpiamrvac/patches/series rename to src/amuse_mpiamrvac/patches/series diff --git a/src/amuse/community/mpiamrvac/patches/support2d b/src/amuse_mpiamrvac/patches/support2d similarity index 100% rename from src/amuse/community/mpiamrvac/patches/support2d rename to src/amuse_mpiamrvac/patches/support2d diff --git a/src/amuse/community/mpiamrvac/patches/update_r149 b/src/amuse_mpiamrvac/patches/update_r149 similarity index 100% rename from src/amuse/community/mpiamrvac/patches/update_r149 rename to src/amuse_mpiamrvac/patches/update_r149 diff --git a/src/amuse/community/mpiamrvac/patches/vacpl_path b/src/amuse_mpiamrvac/patches/vacpl_path similarity index 100% rename from src/amuse/community/mpiamrvac/patches/vacpl_path rename to src/amuse_mpiamrvac/patches/vacpl_path diff --git a/src/amuse_mpiamrvac/support/aclocal.m4 b/src/amuse_mpiamrvac/support/aclocal.m4 new file mode 100644 index 0000000000..a08907b9b2 --- /dev/null +++ b/src/amuse_mpiamrvac/support/aclocal.m4 @@ -0,0 +1,21 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_download.m4]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/fortran.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_mpiamrvac/support/config.mk.in b/src/amuse_mpiamrvac/support/config.mk.in new file mode 100644 index 0000000000..38838c4f1b --- /dev/null +++ b/src/amuse_mpiamrvac/support/config.mk.in @@ -0,0 +1,26 @@ +# Compilers +FC = @FC@ +MPIFC = @MPIFC@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ +DOWNLOAD = @DOWNLOAD@ + + +# General flags and libraries +FCFLAGS = @FCFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +STOPCONDMPI_CFLAGS = @STOPCONDMPI_CFLAGS@ +STOPCONDMPI_LIBS = @STOPCONDMPI_LIBS@ + +FORSOCKETS_CFLAGS = @FORSOCKETS_CFLAGS@ +FORSOCKETS_LIBS = @FORSOCKETS_LIBS@ + diff --git a/src/amuse_mpiamrvac/support/configure b/src/amuse_mpiamrvac/support/configure new file mode 100755 index 0000000000..9236d65756 --- /dev/null +++ b/src/amuse_mpiamrvac/support/configure @@ -0,0 +1,6454 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-mpiamrvac 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-mpiamrvac' +PACKAGE_TARNAME='amuse-mpiamrvac' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-mpiamrvac 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPILIBS +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +FOUND_STOPCONDMPI +STOPCONDMPI_LIBS +STOPCONDMPI_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CPPFLAGS +CFLAGS +CC +DOWNLOAD +CURL +WGET +RANLIB +AR +target_os +target_vendor +target_cpu +target +OBJEXT +EXEEXT +ac_ct_FC +LDFLAGS +FCFLAGS +FC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +FC +FCFLAGS +LDFLAGS +LIBS +CC +CFLAGS +CPPFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCONDMPI_CFLAGS +STOPCONDMPI_LIBS +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS +MPIFC' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-mpiamrvac 1.0 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/amuse-mpiamrvac] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-mpiamrvac 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + FC Fortran compiler command + FCFLAGS Fortran 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 + CC C compiler command + CFLAGS C compiler flags + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + 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 + STOPCONDMPI_CFLAGS + C compiler flags for STOPCONDMPI, overriding pkg-config + STOPCONDMPI_LIBS + linker flags for STOPCONDMPI, overriding pkg-config + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + MPIFC MPI Fortran compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-mpiamrvac configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-mpiamrvac $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the Fortran compiler works" >&5 +printf %s "checking whether the Fortran compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "Fortran compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler default output file name" >&5 +printf %s "checking for Fortran compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat > conftest.$ac_ext <<_ACEOF + program main + open(unit=9,file='conftest.out') + close(unit=9) + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run Fortran compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +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 + + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + +# Find something to download things with + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}wget", so it can be a program name with args. +set dummy ${ac_tool_prefix}wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$WGET"; then + ac_cv_prog_WGET="$WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="${ac_tool_prefix}wget" + printf "%s\n" "$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 +WGET=$ac_cv_prog_WGET +if test -n "$WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $WGET" >&5 +printf "%s\n" "$WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_WGET"; then + ac_ct_WGET=$WGET + # Extract the first word of "wget", so it can be a program name with args. +set dummy wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_WGET"; then + ac_cv_prog_ac_ct_WGET="$ac_ct_WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="wget" + printf "%s\n" "$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_WGET=$ac_cv_prog_ac_ct_WGET +if test -n "$ac_ct_WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WGET" >&5 +printf "%s\n" "$ac_ct_WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_WGET" = x; then + WGET="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + WGET=$ac_ct_WGET + fi +else + WGET="$ac_cv_prog_WGET" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}curl", so it can be a program name with args. +set dummy ${ac_tool_prefix}curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CURL"; then + ac_cv_prog_CURL="$CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="${ac_tool_prefix}curl" + printf "%s\n" "$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 +CURL=$ac_cv_prog_CURL +if test -n "$CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CURL" >&5 +printf "%s\n" "$CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CURL"; then + ac_ct_CURL=$CURL + # Extract the first word of "curl", so it can be a program name with args. +set dummy curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CURL"; then + ac_cv_prog_ac_ct_CURL="$ac_ct_CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="curl" + printf "%s\n" "$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_CURL=$ac_cv_prog_ac_ct_CURL +if test -n "$ac_ct_CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CURL" >&5 +printf "%s\n" "$ac_ct_CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CURL" = x; then + CURL="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CURL=$ac_ct_CURL + fi +else + CURL="$ac_cv_prog_CURL" +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a wget or curl to download files with" >&5 +printf %s "checking for a wget or curl to download files with... " >&6; } + if test "x$WGET" != "x" + then + # The MESA SDK server rejects wget, this is the official work-around + DOWNLOAD="$WGET --progress=bar:force:noscroll --user-agent='' -O -" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + if test "x$CURL" != "x" + then + DOWNLOAD="$CURL -L" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + fi + + + + + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCONDMPI_CFLAGS" + amuse_save_LIB_LIBS="$STOPCONDMPI_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing get_set_conditions_" >&5 +printf %s "checking for library containing get_set_conditions_... " >&6; } +if test ${ac_cv_search_get_set_conditions_+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char get_set_conditions_ (); +int +main (void) +{ +return get_set_conditions_ (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcondmpi +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_get_set_conditions_=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_get_set_conditions_+y} +then : + break +fi +done +if test ${ac_cv_search_get_set_conditions_+y} +then : + +else $as_nop + ac_cv_search_get_set_conditions_=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_get_set_conditions_" >&5 +printf "%s\n" "$ac_cv_search_get_set_conditions_" >&6; } +ac_res=$ac_cv_search_get_set_conditions_ +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCONDMPI="yes" + STOPCONDMPI_LIBS="$LIBS" + STOPCONDMPI_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCONDMPI" >&5 +printf %s "checking for STOPCONDMPI... " >&6; } + +if test -n "$STOPCONDMPI_CFLAGS"; then + pkg_cv_STOPCONDMPI_CFLAGS="$STOPCONDMPI_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcondmpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcondmpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCONDMPI_CFLAGS=`$PKG_CONFIG --cflags "stopcondmpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCONDMPI_LIBS"; then + pkg_cv_STOPCONDMPI_LIBS="$STOPCONDMPI_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcondmpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcondmpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCONDMPI_LIBS=`$PKG_CONFIG --libs "stopcondmpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCONDMPI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcondmpi" 2>&1` + else + STOPCONDMPI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcondmpi" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCONDMPI_PKG_ERRORS" >&5 + + + FOUND_STOPCONDMPI="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCONDMPI="no" + +else + STOPCONDMPI_CFLAGS=$pkg_cv_STOPCONDMPI_CFLAGS + STOPCONDMPI_LIBS=$pkg_cv_STOPCONDMPI_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCONDMPI="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCONDMPI}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCONDMPI_CFLAGS="${STOPCONDMPI_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCONDMPI_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCONDMPI_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-mpiamrvac $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-mpiamrvac config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_mpiamrvac/support/configure.ac b/src/amuse_mpiamrvac/support/configure.ac new file mode 100644 index 0000000000..f3cb8c0fcc --- /dev/null +++ b/src/amuse_mpiamrvac/support/configure.ac @@ -0,0 +1,43 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-mpiamrvac], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + +# Find something to download things with +AMUSE_DOWNLOAD() + + +# Find AMUSE libraries +AMUSE_LIB_STOPCONDMPI() +AMUSE_LIB_FORSOCKETS() + + +# Find external dependencies +AC_LANG_PUSH([Fortran]) + +AX_MPI() + +AC_LANG_POP([Fortran]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_mpiamrvac/support/shared b/src/amuse_mpiamrvac/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_mpiamrvac/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_mpiamrvac.py b/src/amuse_mpiamrvac/tests/test_mpiamrvac.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_mpiamrvac.py rename to src/amuse_mpiamrvac/tests/test_mpiamrvac.py index 02d99dd890..d141816b0c 100644 --- a/src/amuse/test/suite/codes_tests/test_mpiamrvac.py +++ b/src/amuse_mpiamrvac/tests/test_mpiamrvac.py @@ -1,9 +1,9 @@ from amuse.community import * -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI from amuse import datamodel -from amuse.community.mpiamrvac.interface import MpiAmrVacInterface -from amuse.community.mpiamrvac.interface import MpiAmrVac +from amuse_mpiamrvac.interface import MpiAmrVacInterface +from amuse_mpiamrvac.interface import MpiAmrVac from amuse import io from amuse.units import generic_unit_system @@ -279,7 +279,7 @@ def test2(self): instance.stop() - def test3(self): + def test3_noci(self): for number_of_workers in range(2, 6): instance = self.new_instance_of_an_optional_code(MpiAmrVac, number_of_workers=number_of_workers) @@ -935,7 +935,7 @@ def test17(self): self.assertAlmostRelativeEquals(rho, x + (20 * (y-0.5)) | generic_unit_system.density) - def test18(self): + def test18_noci(self): instance = self.new_instance_of_an_optional_code(MpiAmrVac, number_of_workers=3) instance.parameters.x_boundary_conditions = ("periodic", "periodic") diff --git a/src/amuse_nbody6xx/Makefile b/src/amuse_nbody6xx/Makefile new file mode 100644 index 0000000000..03fddf4403 --- /dev/null +++ b/src/amuse_nbody6xx/Makefile @@ -0,0 +1,70 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library +DEPFLAGS += $(FORSOCKETS_CFLAGS) +FCFLAGS += $(DEPFLAGS) +CODE_FFLAGS += -ffixed-form -xf77-cpp-input + +LDLIBS += $(FORSOCKETS_LIBS) + +CODELIB = src/libnbody6xx.a + + +.PHONY: $(CODELIB) +$(CODELIB): + $(MAKE) -C src -j $(CPU_COUNT) amusepar MPIFC="$(MPIFC)" FCFLAGS="$(CODE_FFLAGS) $(FCFLAGS)" + + +# Building the workers +nbody6xx_worker.f90: interface.py + amusifier --type=f90 interface.py Nbody6xxInterface -o $@ + +nbody6xx_worker.o: nbody6xx_worker.f90 + $(MPIFC) -c -o $@ $(FCFLAGS) $< + +nbody6xx_worker: interface.o nbody6xx_worker.o $(CODELIB) + $(MPIFC) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +%.o: %.f90 + # interface.f90 includes fixed-form headers from the code, so we need the flags + $(MPIFC) -o $@ -c $(FCFLAGS) $(CODE_FFLAGS) $< + + +# Which packages contain which workers? +amuse-nbody6xx_contains: nbody6xx_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *.o *.mod *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_nbody6xx/__init__.py b/src/amuse_nbody6xx/__init__.py new file mode 100644 index 0000000000..5596bc57a7 --- /dev/null +++ b/src/amuse_nbody6xx/__init__.py @@ -0,0 +1,2 @@ +# generated file +from .interface import Nbody6xx diff --git a/src/amuse/community/nbody6xx/common6.h b/src/amuse_nbody6xx/common6.h similarity index 100% rename from src/amuse/community/nbody6xx/common6.h rename to src/amuse_nbody6xx/common6.h diff --git a/src/amuse/community/nbody6xx/debug.py b/src/amuse_nbody6xx/debug.py similarity index 100% rename from src/amuse/community/nbody6xx/debug.py rename to src/amuse_nbody6xx/debug.py diff --git a/src/amuse/community/nbody6xx/interface.f90 b/src/amuse_nbody6xx/interface.f90 similarity index 100% rename from src/amuse/community/nbody6xx/interface.f90 rename to src/amuse_nbody6xx/interface.f90 diff --git a/src/amuse_nbody6xx/interface.py b/src/amuse_nbody6xx/interface.py new file mode 100644 index 0000000000..332a0d658b --- /dev/null +++ b/src/amuse_nbody6xx/interface.py @@ -0,0 +1,294 @@ +from amuse.community import * +from amuse.community.interface.gd import GravitationalDynamicsInterface +from amuse.community.interface.gd import GravitationalDynamics +from amuse.community.interface.gd import GravityFieldInterface +from amuse.community.interface.gd import GravityFieldCode + +class Nbody6xxInterface( + CodeInterface, + GravitationalDynamicsInterface, + GravityFieldInterface + ): + use_modules = ['AMUSE_INTERFACE'] + + def __init__(self, **keyword_arguments): + CodeInterface.__init__(self, name_of_the_worker="nbody6xx_worker", **keyword_arguments) + + @legacy_function + def main(): + function = LegacyFunctionSpecification() + function.addParameter('int_in', dtype='int32', direction=function.IN) + function.addParameter('int_out', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def set_kz(): + function = LegacyFunctionSpecification() + function.addParameter('kz_option', dtype='int32', direction=function.IN) + function.addParameter('val', dtype='float64', direction=function.IN) + function.result_type = 'int32' + function.can_handle_array = False + return function + + @legacy_function + def get_kz(): + function = LegacyFunctionSpecification() + function.addParameter('kz_option', dtype='int32', direction=function.IN) + function.addParameter('val', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = False + return function + + @legacy_function + def set_eta(): + """ + Set the current time step parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('eta', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_eta(): + """ + Set the current system time step parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('eta', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_etai(): + """ + Set the current irregular force time step parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('etai', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_etai(): + """ + Get the current system irregular force time step parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('etai', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_etar(): + """ + Set the current regular force time step parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('etar', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_etar(): + """ + Get the current system regular force time step parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('etar', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_rbar(): + """ + Set the scaling unit in parsec for one N-body unit of length. + """ + function = LegacyFunctionSpecification() + function.addParameter('val', dtype='float64', + direction=function.IN, unit=units.parsec) + function.result_type = 'int32' + return function + + @legacy_function + def get_rbar(): + """ + Get the scaling unit in parsec for one N-body unit of length. + """ + function = LegacyFunctionSpecification() + function.addParameter('val', dtype='float64', + direction=function.OUT, unit=units.parsec) + function.result_type = 'int32' + return function + + @legacy_function + def set_zmbar(): + """ + Set the scaling unit for average particle mass in solar masses. + """ + function = LegacyFunctionSpecification() + function.addParameter('val', dtype='float64', + direction=function.IN,unit=units.MSun) + function.result_type = 'int32' + return function + + @legacy_function + def get_zmbar(): + """ + Get the scaling unit for average particle mass in solar masses. + """ + function = LegacyFunctionSpecification() + function.addParameter('val', dtype='float64', + direction=function.OUT,unit=units.MSun) + function.result_type = 'int32' + return function + + + @legacy_function + def set_qe(): + """ + Set the relative energy error tolerance. + """ + function = LegacyFunctionSpecification() + function.addParameter('val', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_qe(): + """ + Get the relative energy error tolerance. + """ + function = LegacyFunctionSpecification() + function.addParameter('val', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + + +class Nbody6xx(GravitationalDynamics, GravityFieldCode): + + def __init__(self, convert_nbody = None, **kargs): + GravitationalDynamics.__init__(self, Nbody6xxInterface(**kargs), convert_nbody, **kargs) +# RBAR= virial radius in parsec +# ZMBAR= mean particle mass in solar units +# if convert_nbody is not None: +# self.parameters.RBAR=convert_nbody.to_si(1 | nbody_system.length) +# self.parameters.ZMBAR=convert_nbody.to_si(1 | nbody_system.mass) + + def define_state(self, handler): + GravitationalDynamics.define_state(self, handler) + handler.add_method('RUN', 'get_particle_timestep') + GravityFieldCode.define_state(self, handler) + + handler.add_method('EDIT', 'set_state') + handler.add_method('EDIT', 'set_velocity') + handler.add_method('EDIT', 'set_mass') + handler.add_method('EDIT', 'set_position') + handler.add_method('CHANGED','before_get_parameter') + + handler.add_transition('RUN', 'CHANGED', 'set_state', False) + handler.add_transition('RUN', 'CHANGED', 'set_velocity', False) + handler.add_transition('RUN', 'CHANGED', 'set_mass', False) + handler.add_transition('RUN', 'CHANGED', 'set_position', False) + handler.add_transition('CHANGED', 'RUN', 'synchronize_model') + handler.add_method('CHANGED', 'get_state') + handler.add_method('CHANGED', 'get_mass') + handler.add_method('CHANGED', 'get_position') + handler.add_method('CHANGED', 'get_velocity') + handler.add_method('CHANGED', 'get_particle_timestep') + + def define_parameters(self, handler): + + # Set/get parameters specific to the module, not part of the + # standard interface. Accessors used here must be defined + # above and reflected in interface.cc. Python access is + # (e.g.) + # + # ph4.parameters.timestep_parameter = xxx + + handler.add_method_parameter( + "get_eta", # getter name in interface.cc + "set_eta", # setter name in interface.cc + "timestep_parameter", # python parameter name + "timestep parameter", # description + default_value = 0.05 + ) + + handler.add_method_parameter( + "get_eps2", # already defined in standard interface + "set_eps2", # already defined in standard interface + "epsilon_squared", + "smoothing parameter for gravity calculations", + default_value = 0.0 | nbody_system.length * nbody_system.length + ) + + + handler.add_method_parameter( + "get_begin_time", + "set_begin_time", + "begin_time", + "model time to start the simulation at", + default_value = 0.0 | nbody_system.time + ) + + handler.add_method_parameter( + "get_qe", + "set_qe", + "QE", + "Relative energy error tolerance", + default_value = 2.0E-4 + ) + + handler.add_method_parameter( + "get_rbar", + "set_rbar", + "RBAR", + "The scaling unit in parsec for one N-body unit of length", + default_value = 1.0 | units.parsec + ) + + handler.add_method_parameter( + "get_zmbar", + "set_zmbar", + "ZMBAR", + "The scaling unit for average particle mass in solar masses", + default_value = 0.7 | units.MSun + ) + + #self.stopping_conditions.define_parameters(handler) + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + + # Turn interface functions into methods. + + handler.add_method( + "set_eps2", + ( + nbody_system.length * nbody_system.length + ), + ( + handler.ERROR_CODE + ) + ) + + handler.add_method( + "get_eps2", + (), + ( + nbody_system.length * nbody_system.length, + handler.ERROR_CODE + ) + ) + diff --git a/src/amuse/community/nbody6xx/interface_new.py b/src/amuse_nbody6xx/interface_new.py similarity index 96% rename from src/amuse/community/nbody6xx/interface_new.py rename to src/amuse_nbody6xx/interface_new.py index 84e314454a..3216b6cc9c 100644 --- a/src/amuse/community/nbody6xx/interface_new.py +++ b/src/amuse_nbody6xx/interface_new.py @@ -10,8 +10,6 @@ class Nbody6xxInterface(CodeInterface, GravityFieldInterface, GravityFieldCode): - include_headers = ['worker_code.h'] - def __init__(self, **keyword_arguments): CodeInterface.__init__(self, name_of_the_worker="nbody6xx_worker", **keyword_arguments) diff --git a/src/amuse_nbody6xx/packages/amuse-nbody6xx.amuse_deps b/src/amuse_nbody6xx/packages/amuse-nbody6xx.amuse_deps new file mode 100644 index 0000000000..b9708b0020 --- /dev/null +++ b/src/amuse_nbody6xx/packages/amuse-nbody6xx.amuse_deps @@ -0,0 +1 @@ +fortran mpi diff --git a/src/amuse_nbody6xx/packages/amuse-nbody6xx/amuse_nbody6xx b/src/amuse_nbody6xx/packages/amuse-nbody6xx/amuse_nbody6xx new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_nbody6xx/packages/amuse-nbody6xx/amuse_nbody6xx @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_nbody6xx/packages/amuse-nbody6xx/pyproject.toml b/src/amuse_nbody6xx/packages/amuse-nbody6xx/pyproject.toml new file mode 100644 index 0000000000..c8301e10d0 --- /dev/null +++ b/src/amuse_nbody6xx/packages/amuse-nbody6xx/pyproject.toml @@ -0,0 +1,44 @@ +[project] +name = "amuse-nbody6xx" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_nbody6xx/**/*.py"] +exclude = [ + "amuse_nbody6xx/packages", + "amuse_nbody6xx/support", + "amuse_nbody6xx/src", + "amuse_nbody6xx/tests", + "amuse_nbody6xx/debug.py" + ] +artifacts = ["amuse_nbody6xx/nbody6xx_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_nbody6xx/tests/"] + +testpaths = ["amuse_nbody6xx/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/nbody6xx/params.h b/src/amuse_nbody6xx/params.h similarity index 100% rename from src/amuse/community/nbody6xx/params.h rename to src/amuse_nbody6xx/params.h diff --git a/src/amuse/community/nbody6xx/phigrape.py b/src/amuse_nbody6xx/phigrape.py similarity index 100% rename from src/amuse/community/nbody6xx/phigrape.py rename to src/amuse_nbody6xx/phigrape.py diff --git a/src/amuse_nbody6xx/src/Makefile b/src/amuse_nbody6xx/src/Makefile new file mode 100644 index 0000000000..6c53f0dc85 --- /dev/null +++ b/src/amuse_nbody6xx/src/Makefile @@ -0,0 +1,355 @@ +# +# Makefile for selecting parallel/ensemble average/single CPU version +# of NBODY6++ June 2003 R.Sp. +# +# Usage notes: these examples show how to adapt the Makefile targets to +# specific computer architectures or compilers. The targets defined here +# should cover the most important cases and can be used as templates for +# other machines and compilers. +# +# make, make standard, make nbody6 (single CPU version) +# make pgf (single CPU pgf77-Comp. generic) +# make pgfp3 (single CPU pgf77-Comp. Pentium 3 optimised) +# make pgfp4 (single CPU pgf77-Comp. Pentium 4 optimised) +# make gpu (single CPU plus one GPU) +# make mpich (Beowulf PC clusters, standard mpif77) +# make mpichpgf (Beowulf PC clusters, using pgf77) +# make mpichgpu (many CPU, many GPU, not fully working) +# make sun (single CPU sun-Comp. generic) +# make sun_e10k (parallel Sun Enterprise) +# make sun_e10k_fast (parallel Sun Enterprise optimised) +# make crayt3e NPE=n (fully parallel version using SHMEM CRAY T3E) +# make crayt3e_noshmem NPE=n (fully parallel version no SHMEM CRAY T3E) +# make jump (fully parallel version on IBM Jump with AIX) +# +# make mpich_ensemble, mpichpgf_ensemble, sun_e10k_ensemble, +# sun_e10k_fast_ensemble, crayt3e_ensemble +# (parallel run, but for ensemble job farming) +# make visit, pgfvisit, mpichvisit: (including the visit online visualisation +# library, experimental, need AVS license) +# +# make clean (remove all .o and .f which should not exist) +# make cleanpar (remove all .o originating from .F) +# +# +LOAD = $(FC) +CC = cc +RESULT = nbody6 +LFLAGS = -o $(RESULT) +LFLAGS2 = +CUFLAGS= -g +CUDA_PATH=/usr/local/cuda +VISITFLAGS = -DVISIT +VISITLD = -L ./lvisit -llvisit_nbody -L/work/Tuc/spurzem/visit/visit/lvisit/lib -llvisit -L/work/Tuc/spurzem/visit/visit/visit20/lib -lvisit + +CODELIB = libnbody6xx.a +AMUSE_DIR?=../../../../.. +-include ${AMUSE_DIR}/config.mk + +AR = ar ruv +RANLIB = ranlib +RM = rm + +#---------------------------------------------------------------------------- +# Workstation single CPU g77 Linux -O6 +#---------------------------------------------------------------------------- +standard: + cp mpif.null.h mpif.h + $(MAKE) $(RESULT) "FC = gfortran" "FFLAGS = -O3 -fPIC" "SOURCE = energy.f $(SOURCE)" + +amuse: + cp mpif.null.h mpif.h + $(MAKE) $(CODELIB) "FC = $(MPIFC)" "FFLAGS = $(FFLAGS)" "SOURCE = energy.f $(SOURCE)" + +# for now only seq, par does same as amuse +amusepar: + -rm -f mpif.h + cp mpif.null.h mpif.h + $(MAKE) $(CODELIB) "FC = $(MPIFC)" "FFLAGS = $(FFLAGS)" "SOURCE = energy.f $(SOURCE)" + +gpu: + cp mpif.null.h mpif.h + $(MAKE) nbody6.gpu "CUDA_PATH=/usr/local/cuda" "SDK_PATH=/usr/local/cuda_sdk/C" "FC = gfortran" "LFLAGS = -o nbody6.gpu -L$(CUDA_PATH)/lib64 -lcudart" \ + "FFLAGS = -O3 -g -fbounds-check -D GPU" \ + "SOURCE = energy.f util_gpu.f $(SOURCE)" +gpu_laohu: + cp mpif.null.h mpif.h + $(MAKE) nbody6.gpu "CUDA_PATH=/export/" "SDK_PATH=/export/NVIDIA_CUDA_SDK" "FC = gfortran" "LFLAGS = -o nbody6.gpu -L/export/CUDA/4.0/lib64 -lcudart" \ + "FFLAGS = -O3 -fbounds-check -D GPU" \ + "SOURCE = energy.f util_gpu.f $(SOURCE)" + +gpu_milkyway: + cp mpif.null.h mpif.h + $(MAKE) nbody6.gpu "SDK_PATH=" "FC = gfortran" "CUFLAGS= -D CUDA_5" "LFLAGS = -o nbody6.gpu -lcudart" \ + "FFLAGS = -O3 -D GPU" \ + "SOURCE = energy.f util_gpu.f $(SOURCE)" + +#---------------------------------------------------------------------------- +# Workstation single CPU pgf77 Linux generic +#---------------------------------------------------------------------------- +pgf: + cp mpif.null.h mpif.h + $(MAKE) $(RESULT) "FC = pgf77" "FFLAGS = -O4" \ + "SOURCE = energy.f $(SOURCE)" +#---------------------------------------------------------------------------- +# Workstation single CPU pgf77 Linux (PIII, PII, PPro) +#---------------------------------------------------------------------------- +pgfp3: + cp mpif.null.h mpif.h + $(MAKE) $(RESULT) "FC = pgf77" "FFLAGS = -O4 -tp p6 -pc 64 -fast" \ + "SOURCE = energy.f $(SOURCE)" +#---------------------------------------------------------------------------- +# Workstation single CPU pgf77 Linux (P4) +#---------------------------------------------------------------------------- +pgfp4: + cp mpif.null.h mpif.h + $(MAKE) $(RESULT) "FC = pgf77" "FFLAGS = -O4 -tp p7 -pc 64 -fast -fastsse" \ + "SOURCE = energy.f $(SOURCE)" +#---------------------------------------------------------------------------- +# Workstation parallel CPU f77 Linux (Beowulf generic mpif77) +#---------------------------------------------------------------------------- +mpich: + rm -f mpif.h + $(MAKE) $(RESULT) "FC = mpif77" "FFLAGS = -O4 -D PUREMPI -D PARALLEL" \ + "SOURCE = energy_mpi.F fpoly1_mpi.f fpoly2_mpi.f $(SOURCE)" +mpich_laohu: + rm -f mpif.h + $(MAKE) $(RESULT) "FC = /usr/mpi/gcc/openmpi-1.3.2-qlc/bin/mpif77" "FFLAGS = -O3 -g -fbounds-check -D PUREMPI -D PARALLEL" \ + "SOURCE = energy_mpi.F fpoly1_mpi.f fpoly2_mpi.f $(SOURCE)" + +mpich_milkyway: + rm -f mpif.h + $(MAKE) $(RESULT) "FC = /opt/parastation/mpi2/bin/mpif77" "FFLAGS = -O3 -fPIC -ffast-math -D PUREMPI -D PARALLEL -Wall" \ + "SOURCE = energy_mpi.F fpoly1_mpi.f fpoly2_mpi.f $(SOURCE)" + +mpich_ensemble: + rm -f mpif.h + $(MAKE) $(RESULT) "FC = mpif77" "FFLAGS = -O4 -D ENSEMBLE" \ + "SOURCE = energy_mpi.F fpoly1_mpi.f fpoly2_mpi.f $(SOURCE)" +mpichgpu: + rm -f mpif.h + $(MAKE) nbody6.gpu "CUDA_PATH=/usr/local/cuda" "SDK_PATH=/usr/local/cuda_sdk/C" "FC = mpif77" "LFLAGS = -o nbody6.gpu -L$(CUDA_PATH)/lib64 -lcudart" \ + "FFLAGS = -O4 -D PUREMPI -D PARALLEL -D GPU" \ + "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f util_gpu.f $(SOURCE)" +mpichgpu_laohu: + rm -f mpif.h + $(MAKE) nbody6.gpu "CUDA_PATH=/export/" "SDK_PATH=/export/NVIDIA_CUDA_SDK" "FC = /usr/mpi/gcc/openmpi-1.3.2-qlc/bin/mpif77" "LFLAGS = -o nbody6.gpu -L/export/CUDA/4.0/lib64 -lcudart" \ + "FFLAGS = -g -D PUREMPI -D PARALLEL -D GPU -fPIC -fbounds-check" \ + "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f util_gpu.f $(SOURCE)" + +mpichgpu_milkyway_g: + rm -f mpif.h + $(MAKE) nbody6.gpu "FC = /opt/parastation/mpi2/bin/mpif77" "SDK_PATH=" "CUFLAGS= -g -D CUDA_5" "LFLAGS = -o nbody6.gpu -lcudart" \ + "FFLAGS = -g -O0 -D PUREMPI -D PARALLEL -D GPU -fbounds-check -Wall -fbacktrace -finit-real=nan" \ + "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f util_gpu.f $(SOURCE)" + +mpichgpu_milkyway: + rm -f mpif.h + $(MAKE) nbody6.gpu "FC = /opt/parastation/mpi2/bin/mpif77" "SDK_PATH=" "CUFLAGS= -arch=sm_20 -Xptxas -v -O3 -D CUDA_5" "LFLAGS = -o nbody6.gpu -lcudart" \ + "FFLAGS = -O3 -fPIC -ffast-math -D PUREMPI -D PARALLEL -D GPU -Wall" \ + "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f util_gpu.f $(SOURCE)" + +mpichgpu_lwpc: + rm -f mpif.h + $(MAKE) nbody6.gpu "CUDA_PATH=/usr/local/cuda" "CUFLAGS=-arch=sm_30 -Xptxas -v -O3 -D CUDA_5 " "SDK_PATH=/usr/local/cuda/samples" "FC = mpif77" "LFLAGS = -o nbody6.gpu -L/usr/local/cuda/lib64 -lcudart" \ + "FFLAGS = -O3 -fPIC -ffast-math -march=core2 -D PUREMPI -D PARALLEL -D GPU" \ + "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f util_gpu.f $(SOURCE)" + +mpichgpu_lwpcg: + rm -f mpif.h + $(MAKE) nbody6.gpu "CUDA_PATH=/usr/local/cuda" "CUFLAGS=-g -arch=sm_30 -Xptxas -v -D CUDA_5 " "SDK_PATH=/usr/local/cuda/samples" "FC = mpif77" "LFLAGS = -o nbody6.gpu -L/usr/local/cuda/lib64 -lcudart" \ + "FFLAGS = -g -O0 -D PUREMPI -D PARALLEL -D GPU -fbounds-check -Wall -fbacktrace -finit-real=nan" \ + "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f util_gpu.f $(SOURCE)" + + +#---------------------------------------------------------------------------- +# Workstation parallel CPU pgf77 Linux (Beowulf pgf77 P4 optimised) +#---------------------------------------------------------------------------- +mpichpgf: + rm -f mpif.h + $(MAKE) $(RESULT) "LOAD = mpif77-pgi" "FC = pgf77" "FFLAGS = -O4 -tp p7 -pc 64 -fast -fastsse -D PUREMPI -D PARALLEL" \ + "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f $(SOURCE)" +mpichpgf_ensemble: + rm -f mpif.h + $(MAKE) $(RESULT) "LOAD = mpif77-pgi" "FC = pgf77" "FFLAGS = -O4 -tp p7 -pc 64 -fast -fastsse -D ENSEMBLE" \ + "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f $(SOURCE)" +#---------------------------------------------------------------------------- +# Workstation single CPU f77 Solaris +#---------------------------------------------------------------------------- +sun: + cp mpif.null.h mpif.h + $(MAKE) $(RESULT) "FC = f77" "FFLAGS = -O4 " "SOURCE = energy.f $(SOURCE)" +#---------------------------------------------------------------------------- +# Parallel Sun +#---------------------------------------------------------------------------- +sun_e10k: + rm -f mpif.h + $(MAKE) $(RESULT) "FFLAGS = -D PUREMPI -D PARALLEL" \ + "FC = tmf77" "LFLAGS = -lmpi $(LFLAGS)" \ + "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f $(SOURCE)" + +sun_e10k_ensemble: + rm -f mpif.h + $(MAKE) $(RESULT) "FFLAGS = -D ENSEMBLE" \ + "FC = tmf77" "LFLAGS = -lmpi $(LFLAGS)" \ + "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f $(SOURCE)" + +sun_e10k_fast: + rm -f mpif.h + $(MAKE) $(RESULT) "FFLAGS = -fast -xarch=v9a -D PUREMPI -D PARALLEL" \ + "FC = tmf77" "LFLAGS = -lmpi $(LFLAGS)" \ + "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f $(SOURCE)" + +sun_e10k_fast_ensemble: + rm -f mpif.h + $(MAKE) $(RESULT) "FFLAGS = -fast -xarch=v9a -D ENSEMBLE" \ + "FC = tmf77" "LFLAGS = -lmpi $(LFLAGS)" \ + "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f $(SOURCE)" +#---------------------------------------------------------------------------- +# IBM JUMP Fully parallel Mode (-bnoquiet) +#---------------------------------------------------------------------------- +jump: + rm -f mpif.h + sed 's/APPEND/SEQUENTIAL/g' file_init.F > x.F + mv x.F file_init.F + cp flush.t3e.f flush.f + cp mpif.jump.h mpif.rainer.h + $(MAKE) $(RESULT) "FFLAGS = -I . -q64 -qfixed -O3 -qstrict -qsave" \ + "FC = mpxlf_r" "CPPFLAGS = -DPUREMPI -DPARALLEL" \ + "SOURCE = energy.f energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f flush.f $(SOURCE)" \ + "LFLAGS = -bmaxdata:500000000 $(LFLAGS)" +#---------------------------------------------------------------------------- +# CRAY T3E Fully parallel Mode including SHMEM +#---------------------------------------------------------------------------- +crayt3e: + rm -f mpif.h + sed 's/APPEND/SEQUENTIAL/g' file_init.F > x.F + mv x.F file_init.F + cp mpif.t3e.h mpif.rainer.h + cp flush.t3e.f flush.f + $(MAKE) $(RESULT) "FFLAGS = -d p -D SHMEM -D PARALLEL" \ + "FC = f90" "LFLAGS = -X$(NPE) $(LFLAGS)-$(NPE)" \ + "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f flush.f $(SOURCE)" + +crayt3e_ensemble: + rm -f mpif.h + sed 's/APPEND/SEQUENTIAL/g' file_init.F > x.F + mv x.F file_init.F + cp mpif.t3e.h mpif.rainer.h + cp flush.t3e.f flush.f + $(MAKE) $(RESULT) "FFLAGS = -d p -D ENSEMBLE" \ + "FC = f90" "LFLAGS = -X$(NPE) $(LFLAGS)-$(NPE)" \ + "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f flush.f $(SOURCE)" + +crayt3e_noshmem: + rm -f mpif.h + sed 's/APPEND/SEQUENTIAL/g' file_init.F > x.F + mv x.F file_init.F + cp mpif.t3e.h mpif.rainer.h + cp flush.t3e.f flush.f + $(MAKE) $(RESULT) "FFLAGS = -d p -D PUREMPI -D PARALLEL" \ + "FC = f90" "LFLAGS = -X$(NPE) $(LFLAGS)-$(NPE)" \ + "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f flush.f $(SOURCE)" +#---------------------------------------------------------------------------- +# Workstation single CPU f77 Linux +# with visit support +#---------------------------------------------------------------------------- +visit: + cp mpif.null.h mpif.h + $(MAKE) $(RESULT) "FC = g77" "FFLAGS = -O4 $(VISITFLAGS)" "LFLAGS2 = $(VISITLD)"\ + "SOURCE = energy.f $(SOURCE)" +#---------------------------------------------------------------------------- +# Workstation single CPU pgf77 Linux -O4 -tp p6 -pc 64 (PPro, PII, PIII...) +# with visit support +#---------------------------------------------------------------------------- +pgfvisit: + cp mpif.null.h mpif.h + $(MAKE) $(RESULT) "FC = pgf77" "FFLAGS = -O4 -tp p6 -pc 64 $(VISITFLAGS)" "LFLAGS2 = $(VISITLD)"\ + "SOURCE = energy.f $(SOURCE)" +#---------------------------------------------------------------------------- +# Workstation parallel CPU f77 Linux -O4 (Beowulf et al, experimental) +# with visit support +#---------------------------------------------------------------------------- +mpichvisit: + rm -f mpif.h + $(MAKE) $(RESULT) "FC = mpif77" "FFLAGS = -O4 -D PUREMPI -D PARALLEL $(VISITFLAGS)" "LFLAGS2 = $(VISITLD)" \ + "SOURCE = energy_mpi.F phicor.f fpoly1_mpi.f fpoly2_mpi.f $(SOURCE)" +#---------------------------------------------------------------------------- + + +INC = params.h common6.h + +SOURCE = nbody6.amuse.f int.amuse.f nbody6.f file_init.f ellan.f eigenvalue.f indexx.f \ +adjust.f assess.f bindat.f binev.f binout.f binpop.f block.f bodies.f \ +brake.f brake2.f brake3.f bsetid.f chaos0.f chaos.f \ +check.f checkl.f chrect.f clint.f cloud.f cloud0.f \ +cmbody.f cmcorr.f cmfirr.f cmfreg.f coal.f comenv.f core.f corerd.f \ +cputim.f data.f decide.f define.f deform.f degen.f delay.f \ +dgcore.f dtchck.f eccmod.f ecirc.f edot.f efac2.f efac3.f \ +expel.f escape.f events.f evolve.f expand.f fclose.f \ +fcloud.f fcorr.f fdisk.f fhalo.f ficorr.f findj.f findm.f \ +flyby.f fnuc.f fpcorr.f fpert.f fpoly1.f fpoly2.f freeze.f \ +gcinit.f gcint.f giant.f giant3.f gntage.f grrad.f hcorr.f \ +hiarch.f hicirc.f hidat.f higrow.f himax.f himax2.f himod.f \ +hipop.f hirect.f histab.f hivel.f hmdot.f hmdot2.f hotsys.f \ +hrdiag.f hrplot.f hut.f hut2.f iblock.f imf.f imfbd.f imf2.f \ +impact.f induce.f input.f insert.f instar.f intgrt.f \ +jacobi.f kick.f kick2.f ksapo.f kscorr.f \ +ksin2.f ksinit.f ksint.f kslist.f ksmod.f ksperi.f kspert.f \ +kspoly.f kspred.f ksrect.f ksreg.f ksres.f ksres2.f ksterm.f \ +kstide.f lagr.f levels.f magbrk.f matrix.f mdot.f merge.f \ +merge2.f mix.f mloss.f mlwind.f modify.f mrenv.f mtrace.f mydump.f \ +nbint.f nblist.f nbpot.f nbrem.f nbrest.f nbsort.f nbtide.f \ +newtev.f nstab.f offset.f orbit.f output.f peri.f permit.f \ +pfac.f poti.f proto_star.f qtides.f ran2.f reflct.f regint.f \ +remove.f rename.f reset.f reset2.f resolv.f rkint.f rl.f roche.f \ +rpmax.f rpmax2.f rpmin.f scale.f search.f setup.f setup2.f short.f shrink.f \ +sort1.f spiral.f stability.f star.f start.f stepk.f steps.f stumpf.f \ +subint.f swap.f sweep.f synch.f tcirc.f tides.f tides2.f \ +tides3.f touch.f tpert.f trdot.f trdot2.f trflow.f tstab.f tstep.f \ +units.f unpert.f update.f verify.f xtrnl0.f xtrnld.f xtrnlf.f xtrnlp.f \ +xtrnlv.f xvpred.f zare.f zcnsts.f zero.f zfuncs.f \ +triple.f derqp3.f difsy3.f erel3.f extend.f qpmod3.f stabl3.f \ +stablz.f start3.f subsys.f tperi.f trans3.f \ +quad.f derqp4.f difsy4.f endreg.f erel4.f ichain.f newreg.f newsys.f \ +qpmod4.f rchain.f rsort.f stabl4.f start4.f status.f trans4.f \ +cfuncs.f chain.f chstab.f const.f cstab2.f cstab3.f cstab4.f cstab5.f \ +derqp.f difsy1.f erel.f hpsort.f inclin.f invert.f ksphys.f physks.f \ +qforce.f qpmod.f r2sort.f recoil.f redraw.f select.f slow.f stablc.f \ +swcond.f switch.f transk.f transq.f transx.f vector.f xtf.f xtrnlu.f \ +ycopy.f ysave.f \ +absorb.f chaos2.f chdata.f chfind.f chfirr.f chinit.f chlist.f chmod.f \ +chpert.f chpot.f chterm.f expel2.f fchain.f ghost.f giant2.f kcpert.f \ +reduce.f reinit.f renew.f setsys.f tchain.f xcpred.f xtpert.f + +CUDASOURCE = gpunb.gpu.cu gpupot.gpu.cu +CUDAOBJECTS = gpunb.gpu.o gpupot.gpu.o + +.SUFFIXES : .o .F + +OBJECTS = $(SOURCE:.f=.o) + +$(CODELIB): $(OBJECTS) + $(RM) -f $@ + $(AR) $@ $(OBJECTS) + $(RANLIB) $@ + +nbody6: $(OBJECTS) + $(LOAD) $(FFLAGS) $(LFLAGS) $(OBJECTS) $(LFLAGS2) + +nbody6.gpu: $(OBJECTS) $(CUDAOBJECTS) + $(LOAD) $(FFLAGS) $(LFLAGS) $(OBJECTS) $(CUDAOBJECTS) $(LFLAGS2) + +$(OBJECTS): $(INC) + +start.o: energy.f energy_mpi.F phicor.f fpoly1.f fpoly2.f fpoly1_mpi.f fpoly2_mpi.f + +gpunb.gpu.o: gpunb.gpu.cu + nvcc -c $(CUFLAGS) -Xcompiler "-O3 -Wall" -I$(SDK_PATH)/common/inc -I. -I$(HOME)/include gpunb.gpu.cu + +gpupot.gpu.o: gpupot.gpu.cu + nvcc -c $(CUFLAGS) -Xcompiler "-O3 -Wall" -I$(SDK_PATH)/common/inc -I. -I$(HOME)/include gpupot.gpu.cu +clean: + -rm -f *.o + -rm -f *.a + -rm -f nbody6 diff --git a/src/amuse/community/nbody6xx/src/absorb.f b/src/amuse_nbody6xx/src/absorb.f similarity index 100% rename from src/amuse/community/nbody6xx/src/absorb.f rename to src/amuse_nbody6xx/src/absorb.f diff --git a/src/amuse/community/nbody6xx/src/adjust.F b/src/amuse_nbody6xx/src/adjust.F similarity index 100% rename from src/amuse/community/nbody6xx/src/adjust.F rename to src/amuse_nbody6xx/src/adjust.F diff --git a/src/amuse/community/nbody6xx/src/assess.f b/src/amuse_nbody6xx/src/assess.f similarity index 100% rename from src/amuse/community/nbody6xx/src/assess.f rename to src/amuse_nbody6xx/src/assess.f diff --git a/src/amuse/community/nbody6xx/src/bindat.f b/src/amuse_nbody6xx/src/bindat.f similarity index 100% rename from src/amuse/community/nbody6xx/src/bindat.f rename to src/amuse_nbody6xx/src/bindat.f diff --git a/src/amuse/community/nbody6xx/src/binev.f b/src/amuse_nbody6xx/src/binev.f similarity index 100% rename from src/amuse/community/nbody6xx/src/binev.f rename to src/amuse_nbody6xx/src/binev.f diff --git a/src/amuse/community/nbody6xx/src/binout.f b/src/amuse_nbody6xx/src/binout.f similarity index 100% rename from src/amuse/community/nbody6xx/src/binout.f rename to src/amuse_nbody6xx/src/binout.f diff --git a/src/amuse/community/nbody6xx/src/binpop.F b/src/amuse_nbody6xx/src/binpop.F similarity index 100% rename from src/amuse/community/nbody6xx/src/binpop.F rename to src/amuse_nbody6xx/src/binpop.F diff --git a/src/amuse/community/nbody6xx/src/block.f b/src/amuse_nbody6xx/src/block.f similarity index 100% rename from src/amuse/community/nbody6xx/src/block.f rename to src/amuse_nbody6xx/src/block.f diff --git a/src/amuse/community/nbody6xx/src/bodies.f b/src/amuse_nbody6xx/src/bodies.f similarity index 100% rename from src/amuse/community/nbody6xx/src/bodies.f rename to src/amuse_nbody6xx/src/bodies.f diff --git a/src/amuse/community/nbody6xx/src/brake.f b/src/amuse_nbody6xx/src/brake.f similarity index 100% rename from src/amuse/community/nbody6xx/src/brake.f rename to src/amuse_nbody6xx/src/brake.f diff --git a/src/amuse/community/nbody6xx/src/brake2.f b/src/amuse_nbody6xx/src/brake2.f similarity index 100% rename from src/amuse/community/nbody6xx/src/brake2.f rename to src/amuse_nbody6xx/src/brake2.f diff --git a/src/amuse/community/nbody6xx/src/brake3.f b/src/amuse_nbody6xx/src/brake3.f similarity index 100% rename from src/amuse/community/nbody6xx/src/brake3.f rename to src/amuse_nbody6xx/src/brake3.f diff --git a/src/amuse/community/nbody6xx/src/bsetid.f b/src/amuse_nbody6xx/src/bsetid.f similarity index 100% rename from src/amuse/community/nbody6xx/src/bsetid.f rename to src/amuse_nbody6xx/src/bsetid.f diff --git a/src/amuse/community/nbody6xx/src/cfuncs.f b/src/amuse_nbody6xx/src/cfuncs.f similarity index 100% rename from src/amuse/community/nbody6xx/src/cfuncs.f rename to src/amuse_nbody6xx/src/cfuncs.f diff --git a/src/amuse/community/nbody6xx/src/chain.f b/src/amuse_nbody6xx/src/chain.f similarity index 100% rename from src/amuse/community/nbody6xx/src/chain.f rename to src/amuse_nbody6xx/src/chain.f diff --git a/src/amuse/community/nbody6xx/src/chaos.f b/src/amuse_nbody6xx/src/chaos.f similarity index 100% rename from src/amuse/community/nbody6xx/src/chaos.f rename to src/amuse_nbody6xx/src/chaos.f diff --git a/src/amuse/community/nbody6xx/src/chaos0.f b/src/amuse_nbody6xx/src/chaos0.f similarity index 100% rename from src/amuse/community/nbody6xx/src/chaos0.f rename to src/amuse_nbody6xx/src/chaos0.f diff --git a/src/amuse/community/nbody6xx/src/chaos2.f b/src/amuse_nbody6xx/src/chaos2.f similarity index 100% rename from src/amuse/community/nbody6xx/src/chaos2.f rename to src/amuse_nbody6xx/src/chaos2.f diff --git a/src/amuse/community/nbody6xx/src/chdata.f b/src/amuse_nbody6xx/src/chdata.f similarity index 100% rename from src/amuse/community/nbody6xx/src/chdata.f rename to src/amuse_nbody6xx/src/chdata.f diff --git a/src/amuse/community/nbody6xx/src/check.f b/src/amuse_nbody6xx/src/check.f similarity index 100% rename from src/amuse/community/nbody6xx/src/check.f rename to src/amuse_nbody6xx/src/check.f diff --git a/src/amuse/community/nbody6xx/src/check3.f b/src/amuse_nbody6xx/src/check3.f similarity index 100% rename from src/amuse/community/nbody6xx/src/check3.f rename to src/amuse_nbody6xx/src/check3.f diff --git a/src/amuse/community/nbody6xx/src/checkl.f b/src/amuse_nbody6xx/src/checkl.f similarity index 100% rename from src/amuse/community/nbody6xx/src/checkl.f rename to src/amuse_nbody6xx/src/checkl.f diff --git a/src/amuse/community/nbody6xx/src/chfind.f b/src/amuse_nbody6xx/src/chfind.f similarity index 100% rename from src/amuse/community/nbody6xx/src/chfind.f rename to src/amuse_nbody6xx/src/chfind.f diff --git a/src/amuse/community/nbody6xx/src/chfirr.f b/src/amuse_nbody6xx/src/chfirr.f similarity index 100% rename from src/amuse/community/nbody6xx/src/chfirr.f rename to src/amuse_nbody6xx/src/chfirr.f diff --git a/src/amuse/community/nbody6xx/src/chinit.f b/src/amuse_nbody6xx/src/chinit.f similarity index 100% rename from src/amuse/community/nbody6xx/src/chinit.f rename to src/amuse_nbody6xx/src/chinit.f diff --git a/src/amuse/community/nbody6xx/src/chlist.f b/src/amuse_nbody6xx/src/chlist.f similarity index 100% rename from src/amuse/community/nbody6xx/src/chlist.f rename to src/amuse_nbody6xx/src/chlist.f diff --git a/src/amuse/community/nbody6xx/src/chmod.f b/src/amuse_nbody6xx/src/chmod.f similarity index 100% rename from src/amuse/community/nbody6xx/src/chmod.f rename to src/amuse_nbody6xx/src/chmod.f diff --git a/src/amuse/community/nbody6xx/src/chpert.f b/src/amuse_nbody6xx/src/chpert.f similarity index 100% rename from src/amuse/community/nbody6xx/src/chpert.f rename to src/amuse_nbody6xx/src/chpert.f diff --git a/src/amuse/community/nbody6xx/src/chpot.f b/src/amuse_nbody6xx/src/chpot.f similarity index 100% rename from src/amuse/community/nbody6xx/src/chpot.f rename to src/amuse_nbody6xx/src/chpot.f diff --git a/src/amuse/community/nbody6xx/src/chrect.f b/src/amuse_nbody6xx/src/chrect.f similarity index 100% rename from src/amuse/community/nbody6xx/src/chrect.f rename to src/amuse_nbody6xx/src/chrect.f diff --git a/src/amuse/community/nbody6xx/src/chstab.f b/src/amuse_nbody6xx/src/chstab.f similarity index 100% rename from src/amuse/community/nbody6xx/src/chstab.f rename to src/amuse_nbody6xx/src/chstab.f diff --git a/src/amuse/community/nbody6xx/src/chterm.f b/src/amuse_nbody6xx/src/chterm.f similarity index 100% rename from src/amuse/community/nbody6xx/src/chterm.f rename to src/amuse_nbody6xx/src/chterm.f diff --git a/src/amuse/community/nbody6xx/src/clint.f b/src/amuse_nbody6xx/src/clint.f similarity index 100% rename from src/amuse/community/nbody6xx/src/clint.f rename to src/amuse_nbody6xx/src/clint.f diff --git a/src/amuse/community/nbody6xx/src/cloud.f b/src/amuse_nbody6xx/src/cloud.f similarity index 100% rename from src/amuse/community/nbody6xx/src/cloud.f rename to src/amuse_nbody6xx/src/cloud.f diff --git a/src/amuse/community/nbody6xx/src/cloud0.f b/src/amuse_nbody6xx/src/cloud0.f similarity index 100% rename from src/amuse/community/nbody6xx/src/cloud0.f rename to src/amuse_nbody6xx/src/cloud0.f diff --git a/src/amuse/community/nbody6xx/src/cmbody.f b/src/amuse_nbody6xx/src/cmbody.f similarity index 100% rename from src/amuse/community/nbody6xx/src/cmbody.f rename to src/amuse_nbody6xx/src/cmbody.f diff --git a/src/amuse/community/nbody6xx/src/cmcorr.f b/src/amuse_nbody6xx/src/cmcorr.f similarity index 100% rename from src/amuse/community/nbody6xx/src/cmcorr.f rename to src/amuse_nbody6xx/src/cmcorr.f diff --git a/src/amuse/community/nbody6xx/src/cmfirr.f b/src/amuse_nbody6xx/src/cmfirr.f similarity index 100% rename from src/amuse/community/nbody6xx/src/cmfirr.f rename to src/amuse_nbody6xx/src/cmfirr.f diff --git a/src/amuse/community/nbody6xx/src/cmfreg.f b/src/amuse_nbody6xx/src/cmfreg.f similarity index 100% rename from src/amuse/community/nbody6xx/src/cmfreg.f rename to src/amuse_nbody6xx/src/cmfreg.f diff --git a/src/amuse/community/nbody6xx/src/coal.f b/src/amuse_nbody6xx/src/coal.f similarity index 100% rename from src/amuse/community/nbody6xx/src/coal.f rename to src/amuse_nbody6xx/src/coal.f diff --git a/src/amuse/community/nbody6xx/src/comenv.f b/src/amuse_nbody6xx/src/comenv.f similarity index 100% rename from src/amuse/community/nbody6xx/src/comenv.f rename to src/amuse_nbody6xx/src/comenv.f diff --git a/src/amuse/community/nbody6xx/src/common2.h b/src/amuse_nbody6xx/src/common2.h similarity index 100% rename from src/amuse/community/nbody6xx/src/common2.h rename to src/amuse_nbody6xx/src/common2.h diff --git a/src/amuse/community/nbody6xx/src/common6.h b/src/amuse_nbody6xx/src/common6.h similarity index 100% rename from src/amuse/community/nbody6xx/src/common6.h rename to src/amuse_nbody6xx/src/common6.h diff --git a/src/amuse/community/nbody6xx/src/commonc.h b/src/amuse_nbody6xx/src/commonc.h similarity index 100% rename from src/amuse/community/nbody6xx/src/commonc.h rename to src/amuse_nbody6xx/src/commonc.h diff --git a/src/amuse/community/nbody6xx/src/const.f b/src/amuse_nbody6xx/src/const.f similarity index 100% rename from src/amuse/community/nbody6xx/src/const.f rename to src/amuse_nbody6xx/src/const.f diff --git a/src/amuse/community/nbody6xx/src/core.f b/src/amuse_nbody6xx/src/core.f similarity index 100% rename from src/amuse/community/nbody6xx/src/core.f rename to src/amuse_nbody6xx/src/core.f diff --git a/src/amuse/community/nbody6xx/src/corerd.f b/src/amuse_nbody6xx/src/corerd.f similarity index 100% rename from src/amuse/community/nbody6xx/src/corerd.f rename to src/amuse_nbody6xx/src/corerd.f diff --git a/src/amuse/community/nbody6xx/src/cputim.F b/src/amuse_nbody6xx/src/cputim.F similarity index 100% rename from src/amuse/community/nbody6xx/src/cputim.F rename to src/amuse_nbody6xx/src/cputim.F diff --git a/src/amuse/community/nbody6xx/src/cstab2.f b/src/amuse_nbody6xx/src/cstab2.f similarity index 100% rename from src/amuse/community/nbody6xx/src/cstab2.f rename to src/amuse_nbody6xx/src/cstab2.f diff --git a/src/amuse/community/nbody6xx/src/cstab3.f b/src/amuse_nbody6xx/src/cstab3.f similarity index 100% rename from src/amuse/community/nbody6xx/src/cstab3.f rename to src/amuse_nbody6xx/src/cstab3.f diff --git a/src/amuse/community/nbody6xx/src/cstab4.f b/src/amuse_nbody6xx/src/cstab4.f similarity index 100% rename from src/amuse/community/nbody6xx/src/cstab4.f rename to src/amuse_nbody6xx/src/cstab4.f diff --git a/src/amuse/community/nbody6xx/src/cstab5.f b/src/amuse_nbody6xx/src/cstab5.f similarity index 100% rename from src/amuse/community/nbody6xx/src/cstab5.f rename to src/amuse_nbody6xx/src/cstab5.f diff --git a/src/amuse/community/nbody6xx/src/cuda_pointer.h b/src/amuse_nbody6xx/src/cuda_pointer.h similarity index 100% rename from src/amuse/community/nbody6xx/src/cuda_pointer.h rename to src/amuse_nbody6xx/src/cuda_pointer.h diff --git a/src/amuse/community/nbody6xx/src/cutil.h b/src/amuse_nbody6xx/src/cutil.h similarity index 100% rename from src/amuse/community/nbody6xx/src/cutil.h rename to src/amuse_nbody6xx/src/cutil.h diff --git a/src/amuse/community/nbody6xx/src/data.F b/src/amuse_nbody6xx/src/data.F similarity index 100% rename from src/amuse/community/nbody6xx/src/data.F rename to src/amuse_nbody6xx/src/data.F diff --git a/src/amuse/community/nbody6xx/src/decide.f b/src/amuse_nbody6xx/src/decide.f similarity index 100% rename from src/amuse/community/nbody6xx/src/decide.f rename to src/amuse_nbody6xx/src/decide.f diff --git a/src/amuse/community/nbody6xx/src/define.f b/src/amuse_nbody6xx/src/define.f similarity index 100% rename from src/amuse/community/nbody6xx/src/define.f rename to src/amuse_nbody6xx/src/define.f diff --git a/src/amuse/community/nbody6xx/src/deform.f b/src/amuse_nbody6xx/src/deform.f similarity index 100% rename from src/amuse/community/nbody6xx/src/deform.f rename to src/amuse_nbody6xx/src/deform.f diff --git a/src/amuse/community/nbody6xx/src/degen.f b/src/amuse_nbody6xx/src/degen.f similarity index 100% rename from src/amuse/community/nbody6xx/src/degen.f rename to src/amuse_nbody6xx/src/degen.f diff --git a/src/amuse/community/nbody6xx/src/delay.f b/src/amuse_nbody6xx/src/delay.f similarity index 100% rename from src/amuse/community/nbody6xx/src/delay.f rename to src/amuse_nbody6xx/src/delay.f diff --git a/src/amuse/community/nbody6xx/src/derqp.f b/src/amuse_nbody6xx/src/derqp.f similarity index 100% rename from src/amuse/community/nbody6xx/src/derqp.f rename to src/amuse_nbody6xx/src/derqp.f diff --git a/src/amuse/community/nbody6xx/src/derqp3.f b/src/amuse_nbody6xx/src/derqp3.f similarity index 100% rename from src/amuse/community/nbody6xx/src/derqp3.f rename to src/amuse_nbody6xx/src/derqp3.f diff --git a/src/amuse/community/nbody6xx/src/derqp4.f b/src/amuse_nbody6xx/src/derqp4.f similarity index 100% rename from src/amuse/community/nbody6xx/src/derqp4.f rename to src/amuse_nbody6xx/src/derqp4.f diff --git a/src/amuse/community/nbody6xx/src/dgcore.f b/src/amuse_nbody6xx/src/dgcore.f similarity index 100% rename from src/amuse/community/nbody6xx/src/dgcore.f rename to src/amuse_nbody6xx/src/dgcore.f diff --git a/src/amuse/community/nbody6xx/src/difsy1.f b/src/amuse_nbody6xx/src/difsy1.f similarity index 100% rename from src/amuse/community/nbody6xx/src/difsy1.f rename to src/amuse_nbody6xx/src/difsy1.f diff --git a/src/amuse/community/nbody6xx/src/difsy3.f b/src/amuse_nbody6xx/src/difsy3.f similarity index 100% rename from src/amuse/community/nbody6xx/src/difsy3.f rename to src/amuse_nbody6xx/src/difsy3.f diff --git a/src/amuse/community/nbody6xx/src/difsy4.f b/src/amuse_nbody6xx/src/difsy4.f similarity index 100% rename from src/amuse/community/nbody6xx/src/difsy4.f rename to src/amuse_nbody6xx/src/difsy4.f diff --git a/src/amuse/community/nbody6xx/src/dtchck.f b/src/amuse_nbody6xx/src/dtchck.f similarity index 100% rename from src/amuse/community/nbody6xx/src/dtchck.f rename to src/amuse_nbody6xx/src/dtchck.f diff --git a/src/amuse/community/nbody6xx/src/eccmod.f b/src/amuse_nbody6xx/src/eccmod.f similarity index 100% rename from src/amuse/community/nbody6xx/src/eccmod.f rename to src/amuse_nbody6xx/src/eccmod.f diff --git a/src/amuse/community/nbody6xx/src/ecirc.f b/src/amuse_nbody6xx/src/ecirc.f similarity index 100% rename from src/amuse/community/nbody6xx/src/ecirc.f rename to src/amuse_nbody6xx/src/ecirc.f diff --git a/src/amuse/community/nbody6xx/src/edot.f b/src/amuse_nbody6xx/src/edot.f similarity index 100% rename from src/amuse/community/nbody6xx/src/edot.f rename to src/amuse_nbody6xx/src/edot.f diff --git a/src/amuse/community/nbody6xx/src/efac2.f b/src/amuse_nbody6xx/src/efac2.f similarity index 100% rename from src/amuse/community/nbody6xx/src/efac2.f rename to src/amuse_nbody6xx/src/efac2.f diff --git a/src/amuse/community/nbody6xx/src/efac3.f b/src/amuse_nbody6xx/src/efac3.f similarity index 100% rename from src/amuse/community/nbody6xx/src/efac3.f rename to src/amuse_nbody6xx/src/efac3.f diff --git a/src/amuse/community/nbody6xx/src/eigenvalue.f b/src/amuse_nbody6xx/src/eigenvalue.f similarity index 100% rename from src/amuse/community/nbody6xx/src/eigenvalue.f rename to src/amuse_nbody6xx/src/eigenvalue.f diff --git a/src/amuse/community/nbody6xx/src/ellan.f b/src/amuse_nbody6xx/src/ellan.f similarity index 100% rename from src/amuse/community/nbody6xx/src/ellan.f rename to src/amuse_nbody6xx/src/ellan.f diff --git a/src/amuse/community/nbody6xx/src/endreg.f b/src/amuse_nbody6xx/src/endreg.f similarity index 100% rename from src/amuse/community/nbody6xx/src/endreg.f rename to src/amuse_nbody6xx/src/endreg.f diff --git a/src/amuse/community/nbody6xx/src/energy.f b/src/amuse_nbody6xx/src/energy.f similarity index 100% rename from src/amuse/community/nbody6xx/src/energy.f rename to src/amuse_nbody6xx/src/energy.f diff --git a/src/amuse/community/nbody6xx/src/energy_mpi.F b/src/amuse_nbody6xx/src/energy_mpi.F similarity index 100% rename from src/amuse/community/nbody6xx/src/energy_mpi.F rename to src/amuse_nbody6xx/src/energy_mpi.F diff --git a/src/amuse/community/nbody6xx/src/energy_scale.f b/src/amuse_nbody6xx/src/energy_scale.f similarity index 100% rename from src/amuse/community/nbody6xx/src/energy_scale.f rename to src/amuse_nbody6xx/src/energy_scale.f diff --git a/src/amuse/community/nbody6xx/src/erel.f b/src/amuse_nbody6xx/src/erel.f similarity index 100% rename from src/amuse/community/nbody6xx/src/erel.f rename to src/amuse_nbody6xx/src/erel.f diff --git a/src/amuse/community/nbody6xx/src/erel3.f b/src/amuse_nbody6xx/src/erel3.f similarity index 100% rename from src/amuse/community/nbody6xx/src/erel3.f rename to src/amuse_nbody6xx/src/erel3.f diff --git a/src/amuse/community/nbody6xx/src/erel4.f b/src/amuse_nbody6xx/src/erel4.f similarity index 100% rename from src/amuse/community/nbody6xx/src/erel4.f rename to src/amuse_nbody6xx/src/erel4.f diff --git a/src/amuse/community/nbody6xx/src/escape.f b/src/amuse_nbody6xx/src/escape.f similarity index 100% rename from src/amuse/community/nbody6xx/src/escape.f rename to src/amuse_nbody6xx/src/escape.f diff --git a/src/amuse/community/nbody6xx/src/events.f b/src/amuse_nbody6xx/src/events.f similarity index 100% rename from src/amuse/community/nbody6xx/src/events.f rename to src/amuse_nbody6xx/src/events.f diff --git a/src/amuse/community/nbody6xx/src/evolve.f b/src/amuse_nbody6xx/src/evolve.f similarity index 100% rename from src/amuse/community/nbody6xx/src/evolve.f rename to src/amuse_nbody6xx/src/evolve.f diff --git a/src/amuse/community/nbody6xx/src/expand.f b/src/amuse_nbody6xx/src/expand.f similarity index 100% rename from src/amuse/community/nbody6xx/src/expand.f rename to src/amuse_nbody6xx/src/expand.f diff --git a/src/amuse/community/nbody6xx/src/expel.f b/src/amuse_nbody6xx/src/expel.f similarity index 100% rename from src/amuse/community/nbody6xx/src/expel.f rename to src/amuse_nbody6xx/src/expel.f diff --git a/src/amuse/community/nbody6xx/src/expel2.f b/src/amuse_nbody6xx/src/expel2.f similarity index 100% rename from src/amuse/community/nbody6xx/src/expel2.f rename to src/amuse_nbody6xx/src/expel2.f diff --git a/src/amuse/community/nbody6xx/src/extend.f b/src/amuse_nbody6xx/src/extend.f similarity index 100% rename from src/amuse/community/nbody6xx/src/extend.f rename to src/amuse_nbody6xx/src/extend.f diff --git a/src/amuse/community/nbody6xx/src/fchain.f b/src/amuse_nbody6xx/src/fchain.f similarity index 100% rename from src/amuse/community/nbody6xx/src/fchain.f rename to src/amuse_nbody6xx/src/fchain.f diff --git a/src/amuse/community/nbody6xx/src/fclose.f b/src/amuse_nbody6xx/src/fclose.f similarity index 100% rename from src/amuse/community/nbody6xx/src/fclose.f rename to src/amuse_nbody6xx/src/fclose.f diff --git a/src/amuse/community/nbody6xx/src/fcloud.f b/src/amuse_nbody6xx/src/fcloud.f similarity index 100% rename from src/amuse/community/nbody6xx/src/fcloud.f rename to src/amuse_nbody6xx/src/fcloud.f diff --git a/src/amuse/community/nbody6xx/src/fcorr.f b/src/amuse_nbody6xx/src/fcorr.f similarity index 100% rename from src/amuse/community/nbody6xx/src/fcorr.f rename to src/amuse_nbody6xx/src/fcorr.f diff --git a/src/amuse/community/nbody6xx/src/fdisk.f b/src/amuse_nbody6xx/src/fdisk.f similarity index 100% rename from src/amuse/community/nbody6xx/src/fdisk.f rename to src/amuse_nbody6xx/src/fdisk.f diff --git a/src/amuse/community/nbody6xx/src/fhalo.f b/src/amuse_nbody6xx/src/fhalo.f similarity index 100% rename from src/amuse/community/nbody6xx/src/fhalo.f rename to src/amuse_nbody6xx/src/fhalo.f diff --git a/src/amuse/community/nbody6xx/src/ficorr.f b/src/amuse_nbody6xx/src/ficorr.f similarity index 100% rename from src/amuse/community/nbody6xx/src/ficorr.f rename to src/amuse_nbody6xx/src/ficorr.f diff --git a/src/amuse/community/nbody6xx/src/file_init.F b/src/amuse_nbody6xx/src/file_init.F similarity index 100% rename from src/amuse/community/nbody6xx/src/file_init.F rename to src/amuse_nbody6xx/src/file_init.F diff --git a/src/amuse/community/nbody6xx/src/findj.f b/src/amuse_nbody6xx/src/findj.f similarity index 100% rename from src/amuse/community/nbody6xx/src/findj.f rename to src/amuse_nbody6xx/src/findj.f diff --git a/src/amuse/community/nbody6xx/src/findm.f b/src/amuse_nbody6xx/src/findm.f similarity index 100% rename from src/amuse/community/nbody6xx/src/findm.f rename to src/amuse_nbody6xx/src/findm.f diff --git a/src/amuse/community/nbody6xx/src/flush.f b/src/amuse_nbody6xx/src/flush.f similarity index 100% rename from src/amuse/community/nbody6xx/src/flush.f rename to src/amuse_nbody6xx/src/flush.f diff --git a/src/amuse/community/nbody6xx/src/flush.t3e.f b/src/amuse_nbody6xx/src/flush.t3e.f similarity index 100% rename from src/amuse/community/nbody6xx/src/flush.t3e.f rename to src/amuse_nbody6xx/src/flush.t3e.f diff --git a/src/amuse/community/nbody6xx/src/flyby.f b/src/amuse_nbody6xx/src/flyby.f similarity index 100% rename from src/amuse/community/nbody6xx/src/flyby.f rename to src/amuse_nbody6xx/src/flyby.f diff --git a/src/amuse/community/nbody6xx/src/fnuc.f b/src/amuse_nbody6xx/src/fnuc.f similarity index 100% rename from src/amuse/community/nbody6xx/src/fnuc.f rename to src/amuse_nbody6xx/src/fnuc.f diff --git a/src/amuse/community/nbody6xx/src/fpcorr.f b/src/amuse_nbody6xx/src/fpcorr.f similarity index 100% rename from src/amuse/community/nbody6xx/src/fpcorr.f rename to src/amuse_nbody6xx/src/fpcorr.f diff --git a/src/amuse/community/nbody6xx/src/fpert.f b/src/amuse_nbody6xx/src/fpert.f similarity index 100% rename from src/amuse/community/nbody6xx/src/fpert.f rename to src/amuse_nbody6xx/src/fpert.f diff --git a/src/amuse/community/nbody6xx/src/fpoly1.f b/src/amuse_nbody6xx/src/fpoly1.f similarity index 100% rename from src/amuse/community/nbody6xx/src/fpoly1.f rename to src/amuse_nbody6xx/src/fpoly1.f diff --git a/src/amuse/community/nbody6xx/src/fpoly1_mpi.f b/src/amuse_nbody6xx/src/fpoly1_mpi.f similarity index 100% rename from src/amuse/community/nbody6xx/src/fpoly1_mpi.f rename to src/amuse_nbody6xx/src/fpoly1_mpi.f diff --git a/src/amuse/community/nbody6xx/src/fpoly2.f b/src/amuse_nbody6xx/src/fpoly2.f similarity index 100% rename from src/amuse/community/nbody6xx/src/fpoly2.f rename to src/amuse_nbody6xx/src/fpoly2.f diff --git a/src/amuse/community/nbody6xx/src/fpoly2_mpi.f b/src/amuse_nbody6xx/src/fpoly2_mpi.f similarity index 100% rename from src/amuse/community/nbody6xx/src/fpoly2_mpi.f rename to src/amuse_nbody6xx/src/fpoly2_mpi.f diff --git a/src/amuse/community/nbody6xx/src/freeze.f b/src/amuse_nbody6xx/src/freeze.f similarity index 100% rename from src/amuse/community/nbody6xx/src/freeze.f rename to src/amuse_nbody6xx/src/freeze.f diff --git a/src/amuse/community/nbody6xx/src/gcinit.f b/src/amuse_nbody6xx/src/gcinit.f similarity index 100% rename from src/amuse/community/nbody6xx/src/gcinit.f rename to src/amuse_nbody6xx/src/gcinit.f diff --git a/src/amuse/community/nbody6xx/src/gcint.f b/src/amuse_nbody6xx/src/gcint.f similarity index 100% rename from src/amuse/community/nbody6xx/src/gcint.f rename to src/amuse_nbody6xx/src/gcint.f diff --git a/src/amuse/community/nbody6xx/src/ghost.f b/src/amuse_nbody6xx/src/ghost.f similarity index 100% rename from src/amuse/community/nbody6xx/src/ghost.f rename to src/amuse_nbody6xx/src/ghost.f diff --git a/src/amuse/community/nbody6xx/src/giant.f b/src/amuse_nbody6xx/src/giant.f similarity index 100% rename from src/amuse/community/nbody6xx/src/giant.f rename to src/amuse_nbody6xx/src/giant.f diff --git a/src/amuse/community/nbody6xx/src/giant2.f b/src/amuse_nbody6xx/src/giant2.f similarity index 100% rename from src/amuse/community/nbody6xx/src/giant2.f rename to src/amuse_nbody6xx/src/giant2.f diff --git a/src/amuse/community/nbody6xx/src/giant3.f b/src/amuse_nbody6xx/src/giant3.f similarity index 100% rename from src/amuse/community/nbody6xx/src/giant3.f rename to src/amuse_nbody6xx/src/giant3.f diff --git a/src/amuse/community/nbody6xx/src/gntage.f b/src/amuse_nbody6xx/src/gntage.f similarity index 100% rename from src/amuse/community/nbody6xx/src/gntage.f rename to src/amuse_nbody6xx/src/gntage.f diff --git a/src/amuse/community/nbody6xx/src/gpunb.gpu.cu b/src/amuse_nbody6xx/src/gpunb.gpu.cu similarity index 100% rename from src/amuse/community/nbody6xx/src/gpunb.gpu.cu rename to src/amuse_nbody6xx/src/gpunb.gpu.cu diff --git a/src/amuse/community/nbody6xx/src/gpupot.gpu.cu b/src/amuse_nbody6xx/src/gpupot.gpu.cu similarity index 100% rename from src/amuse/community/nbody6xx/src/gpupot.gpu.cu rename to src/amuse_nbody6xx/src/gpupot.gpu.cu diff --git a/src/amuse/community/nbody6xx/src/grrad.f b/src/amuse_nbody6xx/src/grrad.f similarity index 100% rename from src/amuse/community/nbody6xx/src/grrad.f rename to src/amuse_nbody6xx/src/grrad.f diff --git a/src/amuse/community/nbody6xx/src/hcorr.f b/src/amuse_nbody6xx/src/hcorr.f similarity index 100% rename from src/amuse/community/nbody6xx/src/hcorr.f rename to src/amuse_nbody6xx/src/hcorr.f diff --git a/src/amuse/community/nbody6xx/src/helper_cuda.h b/src/amuse_nbody6xx/src/helper_cuda.h similarity index 100% rename from src/amuse/community/nbody6xx/src/helper_cuda.h rename to src/amuse_nbody6xx/src/helper_cuda.h diff --git a/src/amuse/community/nbody6xx/src/helper_string.h b/src/amuse_nbody6xx/src/helper_string.h similarity index 100% rename from src/amuse/community/nbody6xx/src/helper_string.h rename to src/amuse_nbody6xx/src/helper_string.h diff --git a/src/amuse/community/nbody6xx/src/hiarch.f b/src/amuse_nbody6xx/src/hiarch.f similarity index 100% rename from src/amuse/community/nbody6xx/src/hiarch.f rename to src/amuse_nbody6xx/src/hiarch.f diff --git a/src/amuse/community/nbody6xx/src/hicirc.f b/src/amuse_nbody6xx/src/hicirc.f similarity index 100% rename from src/amuse/community/nbody6xx/src/hicirc.f rename to src/amuse_nbody6xx/src/hicirc.f diff --git a/src/amuse/community/nbody6xx/src/hidat.f b/src/amuse_nbody6xx/src/hidat.f similarity index 100% rename from src/amuse/community/nbody6xx/src/hidat.f rename to src/amuse_nbody6xx/src/hidat.f diff --git a/src/amuse/community/nbody6xx/src/higrow.f b/src/amuse_nbody6xx/src/higrow.f similarity index 100% rename from src/amuse/community/nbody6xx/src/higrow.f rename to src/amuse_nbody6xx/src/higrow.f diff --git a/src/amuse/community/nbody6xx/src/himax.f b/src/amuse_nbody6xx/src/himax.f similarity index 100% rename from src/amuse/community/nbody6xx/src/himax.f rename to src/amuse_nbody6xx/src/himax.f diff --git a/src/amuse/community/nbody6xx/src/himax2.f b/src/amuse_nbody6xx/src/himax2.f similarity index 100% rename from src/amuse/community/nbody6xx/src/himax2.f rename to src/amuse_nbody6xx/src/himax2.f diff --git a/src/amuse/community/nbody6xx/src/himod.f b/src/amuse_nbody6xx/src/himod.f similarity index 100% rename from src/amuse/community/nbody6xx/src/himod.f rename to src/amuse_nbody6xx/src/himod.f diff --git a/src/amuse/community/nbody6xx/src/hipop.F b/src/amuse_nbody6xx/src/hipop.F similarity index 100% rename from src/amuse/community/nbody6xx/src/hipop.F rename to src/amuse_nbody6xx/src/hipop.F diff --git a/src/amuse/community/nbody6xx/src/hirect.f b/src/amuse_nbody6xx/src/hirect.f similarity index 100% rename from src/amuse/community/nbody6xx/src/hirect.f rename to src/amuse_nbody6xx/src/hirect.f diff --git a/src/amuse/community/nbody6xx/src/histab.f b/src/amuse_nbody6xx/src/histab.f similarity index 100% rename from src/amuse/community/nbody6xx/src/histab.f rename to src/amuse_nbody6xx/src/histab.f diff --git a/src/amuse/community/nbody6xx/src/hivel.f b/src/amuse_nbody6xx/src/hivel.f similarity index 100% rename from src/amuse/community/nbody6xx/src/hivel.f rename to src/amuse_nbody6xx/src/hivel.f diff --git a/src/amuse/community/nbody6xx/src/hmdot.f b/src/amuse_nbody6xx/src/hmdot.f similarity index 100% rename from src/amuse/community/nbody6xx/src/hmdot.f rename to src/amuse_nbody6xx/src/hmdot.f diff --git a/src/amuse/community/nbody6xx/src/hmdot2.f b/src/amuse_nbody6xx/src/hmdot2.f similarity index 100% rename from src/amuse/community/nbody6xx/src/hmdot2.f rename to src/amuse_nbody6xx/src/hmdot2.f diff --git a/src/amuse/community/nbody6xx/src/hotsys.f b/src/amuse_nbody6xx/src/hotsys.f similarity index 100% rename from src/amuse/community/nbody6xx/src/hotsys.f rename to src/amuse_nbody6xx/src/hotsys.f diff --git a/src/amuse/community/nbody6xx/src/hpsort.f b/src/amuse_nbody6xx/src/hpsort.f similarity index 100% rename from src/amuse/community/nbody6xx/src/hpsort.f rename to src/amuse_nbody6xx/src/hpsort.f diff --git a/src/amuse/community/nbody6xx/src/hrdiag.f b/src/amuse_nbody6xx/src/hrdiag.f similarity index 100% rename from src/amuse/community/nbody6xx/src/hrdiag.f rename to src/amuse_nbody6xx/src/hrdiag.f diff --git a/src/amuse/community/nbody6xx/src/hrdiag.sverre.f b/src/amuse_nbody6xx/src/hrdiag.sverre.f similarity index 100% rename from src/amuse/community/nbody6xx/src/hrdiag.sverre.f rename to src/amuse_nbody6xx/src/hrdiag.sverre.f diff --git a/src/amuse/community/nbody6xx/src/hrdiag_fromJarrodnew.f b/src/amuse_nbody6xx/src/hrdiag_fromJarrodnew.f similarity index 100% rename from src/amuse/community/nbody6xx/src/hrdiag_fromJarrodnew.f rename to src/amuse_nbody6xx/src/hrdiag_fromJarrodnew.f diff --git a/src/amuse/community/nbody6xx/src/hrplot.f b/src/amuse_nbody6xx/src/hrplot.f similarity index 100% rename from src/amuse/community/nbody6xx/src/hrplot.f rename to src/amuse_nbody6xx/src/hrplot.f diff --git a/src/amuse/community/nbody6xx/src/hut.f b/src/amuse_nbody6xx/src/hut.f similarity index 100% rename from src/amuse/community/nbody6xx/src/hut.f rename to src/amuse_nbody6xx/src/hut.f diff --git a/src/amuse/community/nbody6xx/src/hut2.f b/src/amuse_nbody6xx/src/hut2.f similarity index 100% rename from src/amuse/community/nbody6xx/src/hut2.f rename to src/amuse_nbody6xx/src/hut2.f diff --git a/src/amuse/community/nbody6xx/src/iblock.f b/src/amuse_nbody6xx/src/iblock.f similarity index 100% rename from src/amuse/community/nbody6xx/src/iblock.f rename to src/amuse_nbody6xx/src/iblock.f diff --git a/src/amuse/community/nbody6xx/src/ichain.f b/src/amuse_nbody6xx/src/ichain.f similarity index 100% rename from src/amuse/community/nbody6xx/src/ichain.f rename to src/amuse_nbody6xx/src/ichain.f diff --git a/src/amuse/community/nbody6xx/src/imf.f b/src/amuse_nbody6xx/src/imf.f similarity index 100% rename from src/amuse/community/nbody6xx/src/imf.f rename to src/amuse_nbody6xx/src/imf.f diff --git a/src/amuse/community/nbody6xx/src/imf2.f b/src/amuse_nbody6xx/src/imf2.f similarity index 100% rename from src/amuse/community/nbody6xx/src/imf2.f rename to src/amuse_nbody6xx/src/imf2.f diff --git a/src/amuse/community/nbody6xx/src/imfbd.f b/src/amuse_nbody6xx/src/imfbd.f similarity index 100% rename from src/amuse/community/nbody6xx/src/imfbd.f rename to src/amuse_nbody6xx/src/imfbd.f diff --git a/src/amuse/community/nbody6xx/src/impact.f b/src/amuse_nbody6xx/src/impact.f similarity index 100% rename from src/amuse/community/nbody6xx/src/impact.f rename to src/amuse_nbody6xx/src/impact.f diff --git a/src/amuse/community/nbody6xx/src/inclin.f b/src/amuse_nbody6xx/src/inclin.f similarity index 100% rename from src/amuse/community/nbody6xx/src/inclin.f rename to src/amuse_nbody6xx/src/inclin.f diff --git a/src/amuse/community/nbody6xx/src/indexx.f b/src/amuse_nbody6xx/src/indexx.f similarity index 100% rename from src/amuse/community/nbody6xx/src/indexx.f rename to src/amuse_nbody6xx/src/indexx.f diff --git a/src/amuse/community/nbody6xx/src/induce.f b/src/amuse_nbody6xx/src/induce.f similarity index 100% rename from src/amuse/community/nbody6xx/src/induce.f rename to src/amuse_nbody6xx/src/induce.f diff --git a/src/amuse/community/nbody6xx/src/inext.f b/src/amuse_nbody6xx/src/inext.f similarity index 100% rename from src/amuse/community/nbody6xx/src/inext.f rename to src/amuse_nbody6xx/src/inext.f diff --git a/src/amuse/community/nbody6xx/src/input.F b/src/amuse_nbody6xx/src/input.F similarity index 100% rename from src/amuse/community/nbody6xx/src/input.F rename to src/amuse_nbody6xx/src/input.F diff --git a/src/amuse/community/nbody6xx/src/insert.f b/src/amuse_nbody6xx/src/insert.f similarity index 100% rename from src/amuse/community/nbody6xx/src/insert.f rename to src/amuse_nbody6xx/src/insert.f diff --git a/src/amuse/community/nbody6xx/src/instar.f b/src/amuse_nbody6xx/src/instar.f similarity index 100% rename from src/amuse/community/nbody6xx/src/instar.f rename to src/amuse_nbody6xx/src/instar.f diff --git a/src/amuse/community/nbody6xx/src/int.amuse.F b/src/amuse_nbody6xx/src/int.amuse.F similarity index 100% rename from src/amuse/community/nbody6xx/src/int.amuse.F rename to src/amuse_nbody6xx/src/int.amuse.F diff --git a/src/amuse/community/nbody6xx/src/intgrt.F b/src/amuse_nbody6xx/src/intgrt.F similarity index 100% rename from src/amuse/community/nbody6xx/src/intgrt.F rename to src/amuse_nbody6xx/src/intgrt.F diff --git a/src/amuse/community/nbody6xx/src/invert.f b/src/amuse_nbody6xx/src/invert.f similarity index 100% rename from src/amuse/community/nbody6xx/src/invert.f rename to src/amuse_nbody6xx/src/invert.f diff --git a/src/amuse/community/nbody6xx/src/jacobi.f b/src/amuse_nbody6xx/src/jacobi.f similarity index 100% rename from src/amuse/community/nbody6xx/src/jacobi.f rename to src/amuse_nbody6xx/src/jacobi.f diff --git a/src/amuse/community/nbody6xx/src/kcpert.f b/src/amuse_nbody6xx/src/kcpert.f similarity index 100% rename from src/amuse/community/nbody6xx/src/kcpert.f rename to src/amuse_nbody6xx/src/kcpert.f diff --git a/src/amuse/community/nbody6xx/src/kepler.f b/src/amuse_nbody6xx/src/kepler.f similarity index 100% rename from src/amuse/community/nbody6xx/src/kepler.f rename to src/amuse_nbody6xx/src/kepler.f diff --git a/src/amuse/community/nbody6xx/src/kick.f b/src/amuse_nbody6xx/src/kick.f similarity index 100% rename from src/amuse/community/nbody6xx/src/kick.f rename to src/amuse_nbody6xx/src/kick.f diff --git a/src/amuse/community/nbody6xx/src/kick.sverre.f b/src/amuse_nbody6xx/src/kick.sverre.f similarity index 100% rename from src/amuse/community/nbody6xx/src/kick.sverre.f rename to src/amuse_nbody6xx/src/kick.sverre.f diff --git a/src/amuse/community/nbody6xx/src/kick2.f b/src/amuse_nbody6xx/src/kick2.f similarity index 100% rename from src/amuse/community/nbody6xx/src/kick2.f rename to src/amuse_nbody6xx/src/kick2.f diff --git a/src/amuse/community/nbody6xx/src/ksapo.f b/src/amuse_nbody6xx/src/ksapo.f similarity index 100% rename from src/amuse/community/nbody6xx/src/ksapo.f rename to src/amuse_nbody6xx/src/ksapo.f diff --git a/src/amuse/community/nbody6xx/src/kscorr.f b/src/amuse_nbody6xx/src/kscorr.f similarity index 100% rename from src/amuse/community/nbody6xx/src/kscorr.f rename to src/amuse_nbody6xx/src/kscorr.f diff --git a/src/amuse/community/nbody6xx/src/ksin2.f b/src/amuse_nbody6xx/src/ksin2.f similarity index 100% rename from src/amuse/community/nbody6xx/src/ksin2.f rename to src/amuse_nbody6xx/src/ksin2.f diff --git a/src/amuse/community/nbody6xx/src/ksinit.f b/src/amuse_nbody6xx/src/ksinit.f similarity index 100% rename from src/amuse/community/nbody6xx/src/ksinit.f rename to src/amuse_nbody6xx/src/ksinit.f diff --git a/src/amuse/community/nbody6xx/src/ksint.f b/src/amuse_nbody6xx/src/ksint.f similarity index 100% rename from src/amuse/community/nbody6xx/src/ksint.f rename to src/amuse_nbody6xx/src/ksint.f diff --git a/src/amuse/community/nbody6xx/src/kslist.f b/src/amuse_nbody6xx/src/kslist.f similarity index 100% rename from src/amuse/community/nbody6xx/src/kslist.f rename to src/amuse_nbody6xx/src/kslist.f diff --git a/src/amuse/community/nbody6xx/src/ksmod.f b/src/amuse_nbody6xx/src/ksmod.f similarity index 100% rename from src/amuse/community/nbody6xx/src/ksmod.f rename to src/amuse_nbody6xx/src/ksmod.f diff --git a/src/amuse/community/nbody6xx/src/ksperi.f b/src/amuse_nbody6xx/src/ksperi.f similarity index 100% rename from src/amuse/community/nbody6xx/src/ksperi.f rename to src/amuse_nbody6xx/src/ksperi.f diff --git a/src/amuse/community/nbody6xx/src/kspert.f b/src/amuse_nbody6xx/src/kspert.f similarity index 100% rename from src/amuse/community/nbody6xx/src/kspert.f rename to src/amuse_nbody6xx/src/kspert.f diff --git a/src/amuse/community/nbody6xx/src/ksphys.f b/src/amuse_nbody6xx/src/ksphys.f similarity index 100% rename from src/amuse/community/nbody6xx/src/ksphys.f rename to src/amuse_nbody6xx/src/ksphys.f diff --git a/src/amuse/community/nbody6xx/src/kspoly.f b/src/amuse_nbody6xx/src/kspoly.f similarity index 100% rename from src/amuse/community/nbody6xx/src/kspoly.f rename to src/amuse_nbody6xx/src/kspoly.f diff --git a/src/amuse/community/nbody6xx/src/kspred.f b/src/amuse_nbody6xx/src/kspred.f similarity index 100% rename from src/amuse/community/nbody6xx/src/kspred.f rename to src/amuse_nbody6xx/src/kspred.f diff --git a/src/amuse/community/nbody6xx/src/ksrect.f b/src/amuse_nbody6xx/src/ksrect.f similarity index 100% rename from src/amuse/community/nbody6xx/src/ksrect.f rename to src/amuse_nbody6xx/src/ksrect.f diff --git a/src/amuse/community/nbody6xx/src/ksreg.f b/src/amuse_nbody6xx/src/ksreg.f similarity index 100% rename from src/amuse/community/nbody6xx/src/ksreg.f rename to src/amuse_nbody6xx/src/ksreg.f diff --git a/src/amuse/community/nbody6xx/src/ksres.f b/src/amuse_nbody6xx/src/ksres.f similarity index 100% rename from src/amuse/community/nbody6xx/src/ksres.f rename to src/amuse_nbody6xx/src/ksres.f diff --git a/src/amuse/community/nbody6xx/src/ksres2.f b/src/amuse_nbody6xx/src/ksres2.f similarity index 100% rename from src/amuse/community/nbody6xx/src/ksres2.f rename to src/amuse_nbody6xx/src/ksres2.f diff --git a/src/amuse/community/nbody6xx/src/ksterm.f b/src/amuse_nbody6xx/src/ksterm.f similarity index 100% rename from src/amuse/community/nbody6xx/src/ksterm.f rename to src/amuse_nbody6xx/src/ksterm.f diff --git a/src/amuse/community/nbody6xx/src/kstide.f b/src/amuse_nbody6xx/src/kstide.f similarity index 100% rename from src/amuse/community/nbody6xx/src/kstide.f rename to src/amuse_nbody6xx/src/kstide.f diff --git a/src/amuse/community/nbody6xx/src/lagr.f b/src/amuse_nbody6xx/src/lagr.f similarity index 100% rename from src/amuse/community/nbody6xx/src/lagr.f rename to src/amuse_nbody6xx/src/lagr.f diff --git a/src/amuse/community/nbody6xx/src/lagr2.f b/src/amuse_nbody6xx/src/lagr2.f similarity index 100% rename from src/amuse/community/nbody6xx/src/lagr2.f rename to src/amuse_nbody6xx/src/lagr2.f diff --git a/src/amuse/community/nbody6xx/src/levels.f b/src/amuse_nbody6xx/src/levels.f similarity index 100% rename from src/amuse/community/nbody6xx/src/levels.f rename to src/amuse_nbody6xx/src/levels.f diff --git a/src/amuse/community/nbody6xx/src/magbrk.f b/src/amuse_nbody6xx/src/magbrk.f similarity index 100% rename from src/amuse/community/nbody6xx/src/magbrk.f rename to src/amuse_nbody6xx/src/magbrk.f diff --git a/src/amuse/community/nbody6xx/src/matrix.f b/src/amuse_nbody6xx/src/matrix.f similarity index 100% rename from src/amuse/community/nbody6xx/src/matrix.f rename to src/amuse_nbody6xx/src/matrix.f diff --git a/src/amuse/community/nbody6xx/src/mdot.f b/src/amuse_nbody6xx/src/mdot.f similarity index 100% rename from src/amuse/community/nbody6xx/src/mdot.f rename to src/amuse_nbody6xx/src/mdot.f diff --git a/src/amuse/community/nbody6xx/src/merge.f b/src/amuse_nbody6xx/src/merge.f similarity index 100% rename from src/amuse/community/nbody6xx/src/merge.f rename to src/amuse_nbody6xx/src/merge.f diff --git a/src/amuse/community/nbody6xx/src/merge2.f b/src/amuse_nbody6xx/src/merge2.f similarity index 100% rename from src/amuse/community/nbody6xx/src/merge2.f rename to src/amuse_nbody6xx/src/merge2.f diff --git a/src/amuse/community/nbody6xx/src/mix.f b/src/amuse_nbody6xx/src/mix.f similarity index 100% rename from src/amuse/community/nbody6xx/src/mix.f rename to src/amuse_nbody6xx/src/mix.f diff --git a/src/amuse/community/nbody6xx/src/mloss.f b/src/amuse_nbody6xx/src/mloss.f similarity index 100% rename from src/amuse/community/nbody6xx/src/mloss.f rename to src/amuse_nbody6xx/src/mloss.f diff --git a/src/amuse/community/nbody6xx/src/mlwind.f b/src/amuse_nbody6xx/src/mlwind.f similarity index 100% rename from src/amuse/community/nbody6xx/src/mlwind.f rename to src/amuse_nbody6xx/src/mlwind.f diff --git a/src/amuse/community/nbody6xx/src/modify.F b/src/amuse_nbody6xx/src/modify.F similarity index 100% rename from src/amuse/community/nbody6xx/src/modify.F rename to src/amuse_nbody6xx/src/modify.F diff --git a/src/amuse/community/nbody6xx/src/mpif.h b/src/amuse_nbody6xx/src/mpif.h similarity index 100% rename from src/amuse/community/nbody6xx/src/mpif.h rename to src/amuse_nbody6xx/src/mpif.h diff --git a/src/amuse/community/nbody6xx/src/mpif.null.h b/src/amuse_nbody6xx/src/mpif.null.h similarity index 100% rename from src/amuse/community/nbody6xx/src/mpif.null.h rename to src/amuse_nbody6xx/src/mpif.null.h diff --git a/src/amuse/community/nbody6xx/src/mrenv.f b/src/amuse_nbody6xx/src/mrenv.f similarity index 100% rename from src/amuse/community/nbody6xx/src/mrenv.f rename to src/amuse_nbody6xx/src/mrenv.f diff --git a/src/amuse/community/nbody6xx/src/mtrace.f b/src/amuse_nbody6xx/src/mtrace.f similarity index 100% rename from src/amuse/community/nbody6xx/src/mtrace.f rename to src/amuse_nbody6xx/src/mtrace.f diff --git a/src/amuse/community/nbody6xx/src/mydump.F b/src/amuse_nbody6xx/src/mydump.F similarity index 100% rename from src/amuse/community/nbody6xx/src/mydump.F rename to src/amuse_nbody6xx/src/mydump.F diff --git a/src/amuse/community/nbody6xx/src/nbint.f b/src/amuse_nbody6xx/src/nbint.f similarity index 100% rename from src/amuse/community/nbody6xx/src/nbint.f rename to src/amuse_nbody6xx/src/nbint.f diff --git a/src/amuse/community/nbody6xx/src/nblist.f b/src/amuse_nbody6xx/src/nblist.f similarity index 100% rename from src/amuse/community/nbody6xx/src/nblist.f rename to src/amuse_nbody6xx/src/nblist.f diff --git a/src/amuse/community/nbody6xx/src/nbody6.F b/src/amuse_nbody6xx/src/nbody6.F similarity index 100% rename from src/amuse/community/nbody6xx/src/nbody6.F rename to src/amuse_nbody6xx/src/nbody6.F diff --git a/src/amuse/community/nbody6xx/src/nbody6.amuse.F b/src/amuse_nbody6xx/src/nbody6.amuse.F similarity index 100% rename from src/amuse/community/nbody6xx/src/nbody6.amuse.F rename to src/amuse_nbody6xx/src/nbody6.amuse.F diff --git a/src/amuse/community/nbody6xx/src/nbpot.f b/src/amuse_nbody6xx/src/nbpot.f similarity index 100% rename from src/amuse/community/nbody6xx/src/nbpot.f rename to src/amuse_nbody6xx/src/nbpot.f diff --git a/src/amuse/community/nbody6xx/src/nbrem.f b/src/amuse_nbody6xx/src/nbrem.f similarity index 100% rename from src/amuse/community/nbody6xx/src/nbrem.f rename to src/amuse_nbody6xx/src/nbrem.f diff --git a/src/amuse/community/nbody6xx/src/nbrest.f b/src/amuse_nbody6xx/src/nbrest.f similarity index 100% rename from src/amuse/community/nbody6xx/src/nbrest.f rename to src/amuse_nbody6xx/src/nbrest.f diff --git a/src/amuse/community/nbody6xx/src/nbsort.f b/src/amuse_nbody6xx/src/nbsort.f similarity index 100% rename from src/amuse/community/nbody6xx/src/nbsort.f rename to src/amuse_nbody6xx/src/nbsort.f diff --git a/src/amuse/community/nbody6xx/src/nbtide.f b/src/amuse_nbody6xx/src/nbtide.f similarity index 100% rename from src/amuse/community/nbody6xx/src/nbtide.f rename to src/amuse_nbody6xx/src/nbtide.f diff --git a/src/amuse/community/nbody6xx/src/newreg.f b/src/amuse_nbody6xx/src/newreg.f similarity index 100% rename from src/amuse/community/nbody6xx/src/newreg.f rename to src/amuse_nbody6xx/src/newreg.f diff --git a/src/amuse/community/nbody6xx/src/newsys.f b/src/amuse_nbody6xx/src/newsys.f similarity index 100% rename from src/amuse/community/nbody6xx/src/newsys.f rename to src/amuse_nbody6xx/src/newsys.f diff --git a/src/amuse/community/nbody6xx/src/newtev.f b/src/amuse_nbody6xx/src/newtev.f similarity index 100% rename from src/amuse/community/nbody6xx/src/newtev.f rename to src/amuse_nbody6xx/src/newtev.f diff --git a/src/amuse/community/nbody6xx/src/nstab.f b/src/amuse_nbody6xx/src/nstab.f similarity index 100% rename from src/amuse/community/nbody6xx/src/nstab.f rename to src/amuse_nbody6xx/src/nstab.f diff --git a/src/amuse/community/nbody6xx/src/offset.f b/src/amuse_nbody6xx/src/offset.f similarity index 100% rename from src/amuse/community/nbody6xx/src/offset.f rename to src/amuse_nbody6xx/src/offset.f diff --git a/src/amuse/community/nbody6xx/src/orbit.f b/src/amuse_nbody6xx/src/orbit.f similarity index 100% rename from src/amuse/community/nbody6xx/src/orbit.f rename to src/amuse_nbody6xx/src/orbit.f diff --git a/src/amuse/community/nbody6xx/src/output.F b/src/amuse_nbody6xx/src/output.F similarity index 100% rename from src/amuse/community/nbody6xx/src/output.F rename to src/amuse_nbody6xx/src/output.F diff --git a/src/amuse/community/nbody6xx/src/params.h b/src/amuse_nbody6xx/src/params.h similarity index 100% rename from src/amuse/community/nbody6xx/src/params.h rename to src/amuse_nbody6xx/src/params.h diff --git a/src/amuse/community/nbody6xx/src/peri.f b/src/amuse_nbody6xx/src/peri.f similarity index 100% rename from src/amuse/community/nbody6xx/src/peri.f rename to src/amuse_nbody6xx/src/peri.f diff --git a/src/amuse/community/nbody6xx/src/permit.f b/src/amuse_nbody6xx/src/permit.f similarity index 100% rename from src/amuse/community/nbody6xx/src/permit.f rename to src/amuse_nbody6xx/src/permit.f diff --git a/src/amuse/community/nbody6xx/src/pfac.f b/src/amuse_nbody6xx/src/pfac.f similarity index 100% rename from src/amuse/community/nbody6xx/src/pfac.f rename to src/amuse_nbody6xx/src/pfac.f diff --git a/src/amuse/community/nbody6xx/src/phicor.f b/src/amuse_nbody6xx/src/phicor.f similarity index 100% rename from src/amuse/community/nbody6xx/src/phicor.f rename to src/amuse_nbody6xx/src/phicor.f diff --git a/src/amuse/community/nbody6xx/src/physks.f b/src/amuse_nbody6xx/src/physks.f similarity index 100% rename from src/amuse/community/nbody6xx/src/physks.f rename to src/amuse_nbody6xx/src/physks.f diff --git a/src/amuse/community/nbody6xx/src/poti.f b/src/amuse_nbody6xx/src/poti.f similarity index 100% rename from src/amuse/community/nbody6xx/src/poti.f rename to src/amuse_nbody6xx/src/poti.f diff --git a/src/amuse/community/nbody6xx/src/proto_star.f b/src/amuse_nbody6xx/src/proto_star.f similarity index 100% rename from src/amuse/community/nbody6xx/src/proto_star.f rename to src/amuse_nbody6xx/src/proto_star.f diff --git a/src/amuse/community/nbody6xx/src/qforce.f b/src/amuse_nbody6xx/src/qforce.f similarity index 100% rename from src/amuse/community/nbody6xx/src/qforce.f rename to src/amuse_nbody6xx/src/qforce.f diff --git a/src/amuse/community/nbody6xx/src/qpmod.f b/src/amuse_nbody6xx/src/qpmod.f similarity index 100% rename from src/amuse/community/nbody6xx/src/qpmod.f rename to src/amuse_nbody6xx/src/qpmod.f diff --git a/src/amuse/community/nbody6xx/src/qpmod3.f b/src/amuse_nbody6xx/src/qpmod3.f similarity index 100% rename from src/amuse/community/nbody6xx/src/qpmod3.f rename to src/amuse_nbody6xx/src/qpmod3.f diff --git a/src/amuse/community/nbody6xx/src/qpmod4.f b/src/amuse_nbody6xx/src/qpmod4.f similarity index 100% rename from src/amuse/community/nbody6xx/src/qpmod4.f rename to src/amuse_nbody6xx/src/qpmod4.f diff --git a/src/amuse/community/nbody6xx/src/qtides.f b/src/amuse_nbody6xx/src/qtides.f similarity index 100% rename from src/amuse/community/nbody6xx/src/qtides.f rename to src/amuse_nbody6xx/src/qtides.f diff --git a/src/amuse/community/nbody6xx/src/quad.f b/src/amuse_nbody6xx/src/quad.f similarity index 100% rename from src/amuse/community/nbody6xx/src/quad.f rename to src/amuse_nbody6xx/src/quad.f diff --git a/src/amuse/community/nbody6xx/src/r2sort.f b/src/amuse_nbody6xx/src/r2sort.f similarity index 100% rename from src/amuse/community/nbody6xx/src/r2sort.f rename to src/amuse_nbody6xx/src/r2sort.f diff --git a/src/amuse/community/nbody6xx/src/ran2.f b/src/amuse_nbody6xx/src/ran2.f similarity index 100% rename from src/amuse/community/nbody6xx/src/ran2.f rename to src/amuse_nbody6xx/src/ran2.f diff --git a/src/amuse/community/nbody6xx/src/rchain.f b/src/amuse_nbody6xx/src/rchain.f similarity index 100% rename from src/amuse/community/nbody6xx/src/rchain.f rename to src/amuse_nbody6xx/src/rchain.f diff --git a/src/amuse/community/nbody6xx/src/recoil.f b/src/amuse_nbody6xx/src/recoil.f similarity index 100% rename from src/amuse/community/nbody6xx/src/recoil.f rename to src/amuse_nbody6xx/src/recoil.f diff --git a/src/amuse/community/nbody6xx/src/redraw.f b/src/amuse_nbody6xx/src/redraw.f similarity index 100% rename from src/amuse/community/nbody6xx/src/redraw.f rename to src/amuse_nbody6xx/src/redraw.f diff --git a/src/amuse/community/nbody6xx/src/reduce.f b/src/amuse_nbody6xx/src/reduce.f similarity index 100% rename from src/amuse/community/nbody6xx/src/reduce.f rename to src/amuse_nbody6xx/src/reduce.f diff --git a/src/amuse/community/nbody6xx/src/reflct.f b/src/amuse_nbody6xx/src/reflct.f similarity index 100% rename from src/amuse/community/nbody6xx/src/reflct.f rename to src/amuse_nbody6xx/src/reflct.f diff --git a/src/amuse/community/nbody6xx/src/regint.F b/src/amuse_nbody6xx/src/regint.F similarity index 100% rename from src/amuse/community/nbody6xx/src/regint.F rename to src/amuse_nbody6xx/src/regint.F diff --git a/src/amuse/community/nbody6xx/src/reinit.f b/src/amuse_nbody6xx/src/reinit.f similarity index 100% rename from src/amuse/community/nbody6xx/src/reinit.f rename to src/amuse_nbody6xx/src/reinit.f diff --git a/src/amuse/community/nbody6xx/src/remove.f b/src/amuse_nbody6xx/src/remove.f similarity index 100% rename from src/amuse/community/nbody6xx/src/remove.f rename to src/amuse_nbody6xx/src/remove.f diff --git a/src/amuse/community/nbody6xx/src/rename.f b/src/amuse_nbody6xx/src/rename.f similarity index 100% rename from src/amuse/community/nbody6xx/src/rename.f rename to src/amuse_nbody6xx/src/rename.f diff --git a/src/amuse/community/nbody6xx/src/renew.f b/src/amuse_nbody6xx/src/renew.f similarity index 100% rename from src/amuse/community/nbody6xx/src/renew.f rename to src/amuse_nbody6xx/src/renew.f diff --git a/src/amuse/community/nbody6xx/src/reset.f b/src/amuse_nbody6xx/src/reset.f similarity index 100% rename from src/amuse/community/nbody6xx/src/reset.f rename to src/amuse_nbody6xx/src/reset.f diff --git a/src/amuse/community/nbody6xx/src/reset2.f b/src/amuse_nbody6xx/src/reset2.f similarity index 100% rename from src/amuse/community/nbody6xx/src/reset2.f rename to src/amuse_nbody6xx/src/reset2.f diff --git a/src/amuse/community/nbody6xx/src/resolv.f b/src/amuse_nbody6xx/src/resolv.f similarity index 100% rename from src/amuse/community/nbody6xx/src/resolv.f rename to src/amuse_nbody6xx/src/resolv.f diff --git a/src/amuse/community/nbody6xx/src/resort.f b/src/amuse_nbody6xx/src/resort.f similarity index 100% rename from src/amuse/community/nbody6xx/src/resort.f rename to src/amuse_nbody6xx/src/resort.f diff --git a/src/amuse/community/nbody6xx/src/rkint.f b/src/amuse_nbody6xx/src/rkint.f similarity index 100% rename from src/amuse/community/nbody6xx/src/rkint.f rename to src/amuse_nbody6xx/src/rkint.f diff --git a/src/amuse/community/nbody6xx/src/rl.f b/src/amuse_nbody6xx/src/rl.f similarity index 100% rename from src/amuse/community/nbody6xx/src/rl.f rename to src/amuse_nbody6xx/src/rl.f diff --git a/src/amuse/community/nbody6xx/src/roche.f b/src/amuse_nbody6xx/src/roche.f similarity index 100% rename from src/amuse/community/nbody6xx/src/roche.f rename to src/amuse_nbody6xx/src/roche.f diff --git a/src/amuse/community/nbody6xx/src/rpmax.f b/src/amuse_nbody6xx/src/rpmax.f similarity index 100% rename from src/amuse/community/nbody6xx/src/rpmax.f rename to src/amuse_nbody6xx/src/rpmax.f diff --git a/src/amuse/community/nbody6xx/src/rpmax2.f b/src/amuse_nbody6xx/src/rpmax2.f similarity index 100% rename from src/amuse/community/nbody6xx/src/rpmax2.f rename to src/amuse_nbody6xx/src/rpmax2.f diff --git a/src/amuse/community/nbody6xx/src/rpmin.f b/src/amuse_nbody6xx/src/rpmin.f similarity index 100% rename from src/amuse/community/nbody6xx/src/rpmin.f rename to src/amuse_nbody6xx/src/rpmin.f diff --git a/src/amuse/community/nbody6xx/src/rsort.f b/src/amuse_nbody6xx/src/rsort.f similarity index 100% rename from src/amuse/community/nbody6xx/src/rsort.f rename to src/amuse_nbody6xx/src/rsort.f diff --git a/src/amuse/community/nbody6xx/src/rssort.f b/src/amuse_nbody6xx/src/rssort.f similarity index 100% rename from src/amuse/community/nbody6xx/src/rssort.f rename to src/amuse_nbody6xx/src/rssort.f diff --git a/src/amuse/community/nbody6xx/src/scale.F b/src/amuse_nbody6xx/src/scale.F similarity index 100% rename from src/amuse/community/nbody6xx/src/scale.F rename to src/amuse_nbody6xx/src/scale.F diff --git a/src/amuse/community/nbody6xx/src/search.f b/src/amuse_nbody6xx/src/search.f similarity index 100% rename from src/amuse/community/nbody6xx/src/search.f rename to src/amuse_nbody6xx/src/search.f diff --git a/src/amuse/community/nbody6xx/src/select.f b/src/amuse_nbody6xx/src/select.f similarity index 100% rename from src/amuse/community/nbody6xx/src/select.f rename to src/amuse_nbody6xx/src/select.f diff --git a/src/amuse/community/nbody6xx/src/setsys.f b/src/amuse_nbody6xx/src/setsys.f similarity index 100% rename from src/amuse/community/nbody6xx/src/setsys.f rename to src/amuse_nbody6xx/src/setsys.f diff --git a/src/amuse/community/nbody6xx/src/setup.f b/src/amuse_nbody6xx/src/setup.f similarity index 100% rename from src/amuse/community/nbody6xx/src/setup.f rename to src/amuse_nbody6xx/src/setup.f diff --git a/src/amuse/community/nbody6xx/src/setup2.f b/src/amuse_nbody6xx/src/setup2.f similarity index 100% rename from src/amuse/community/nbody6xx/src/setup2.f rename to src/amuse_nbody6xx/src/setup2.f diff --git a/src/amuse/community/nbody6xx/src/short.f b/src/amuse_nbody6xx/src/short.f similarity index 100% rename from src/amuse/community/nbody6xx/src/short.f rename to src/amuse_nbody6xx/src/short.f diff --git a/src/amuse/community/nbody6xx/src/shrink.f b/src/amuse_nbody6xx/src/shrink.f similarity index 100% rename from src/amuse/community/nbody6xx/src/shrink.f rename to src/amuse_nbody6xx/src/shrink.f diff --git a/src/amuse/community/nbody6xx/src/slow.f b/src/amuse_nbody6xx/src/slow.f similarity index 100% rename from src/amuse/community/nbody6xx/src/slow.f rename to src/amuse_nbody6xx/src/slow.f diff --git a/src/amuse/community/nbody6xx/src/sort1.f b/src/amuse_nbody6xx/src/sort1.f similarity index 100% rename from src/amuse/community/nbody6xx/src/sort1.f rename to src/amuse_nbody6xx/src/sort1.f diff --git a/src/amuse/community/nbody6xx/src/sort3.f b/src/amuse_nbody6xx/src/sort3.f similarity index 100% rename from src/amuse/community/nbody6xx/src/sort3.f rename to src/amuse_nbody6xx/src/sort3.f diff --git a/src/amuse/community/nbody6xx/src/spiral.f b/src/amuse_nbody6xx/src/spiral.f similarity index 100% rename from src/amuse/community/nbody6xx/src/spiral.f rename to src/amuse_nbody6xx/src/spiral.f diff --git a/src/amuse/community/nbody6xx/src/stability.f b/src/amuse_nbody6xx/src/stability.f similarity index 100% rename from src/amuse/community/nbody6xx/src/stability.f rename to src/amuse_nbody6xx/src/stability.f diff --git a/src/amuse/community/nbody6xx/src/stabl3.f b/src/amuse_nbody6xx/src/stabl3.f similarity index 100% rename from src/amuse/community/nbody6xx/src/stabl3.f rename to src/amuse_nbody6xx/src/stabl3.f diff --git a/src/amuse/community/nbody6xx/src/stabl4.f b/src/amuse_nbody6xx/src/stabl4.f similarity index 100% rename from src/amuse/community/nbody6xx/src/stabl4.f rename to src/amuse_nbody6xx/src/stabl4.f diff --git a/src/amuse/community/nbody6xx/src/stablc.f b/src/amuse_nbody6xx/src/stablc.f similarity index 100% rename from src/amuse/community/nbody6xx/src/stablc.f rename to src/amuse_nbody6xx/src/stablc.f diff --git a/src/amuse/community/nbody6xx/src/stablz.f b/src/amuse_nbody6xx/src/stablz.f similarity index 100% rename from src/amuse/community/nbody6xx/src/stablz.f rename to src/amuse_nbody6xx/src/stablz.f diff --git a/src/amuse/community/nbody6xx/src/star.f b/src/amuse_nbody6xx/src/star.f similarity index 100% rename from src/amuse/community/nbody6xx/src/star.f rename to src/amuse_nbody6xx/src/star.f diff --git a/src/amuse/community/nbody6xx/src/start.F b/src/amuse_nbody6xx/src/start.F similarity index 100% rename from src/amuse/community/nbody6xx/src/start.F rename to src/amuse_nbody6xx/src/start.F diff --git a/src/amuse/community/nbody6xx/src/start3.f b/src/amuse_nbody6xx/src/start3.f similarity index 100% rename from src/amuse/community/nbody6xx/src/start3.f rename to src/amuse_nbody6xx/src/start3.f diff --git a/src/amuse/community/nbody6xx/src/start4.f b/src/amuse_nbody6xx/src/start4.f similarity index 100% rename from src/amuse/community/nbody6xx/src/start4.f rename to src/amuse_nbody6xx/src/start4.f diff --git a/src/amuse/community/nbody6xx/src/status.f b/src/amuse_nbody6xx/src/status.f similarity index 100% rename from src/amuse/community/nbody6xx/src/status.f rename to src/amuse_nbody6xx/src/status.f diff --git a/src/amuse/community/nbody6xx/src/stepi.f b/src/amuse_nbody6xx/src/stepi.f similarity index 100% rename from src/amuse/community/nbody6xx/src/stepi.f rename to src/amuse_nbody6xx/src/stepi.f diff --git a/src/amuse/community/nbody6xx/src/stepk.f b/src/amuse_nbody6xx/src/stepk.f similarity index 100% rename from src/amuse/community/nbody6xx/src/stepk.f rename to src/amuse_nbody6xx/src/stepk.f diff --git a/src/amuse/community/nbody6xx/src/steps.f b/src/amuse_nbody6xx/src/steps.f similarity index 100% rename from src/amuse/community/nbody6xx/src/steps.f rename to src/amuse_nbody6xx/src/steps.f diff --git a/src/amuse/community/nbody6xx/src/stumpf.f b/src/amuse_nbody6xx/src/stumpf.f similarity index 100% rename from src/amuse/community/nbody6xx/src/stumpf.f rename to src/amuse_nbody6xx/src/stumpf.f diff --git a/src/amuse/community/nbody6xx/src/subint.f b/src/amuse_nbody6xx/src/subint.f similarity index 100% rename from src/amuse/community/nbody6xx/src/subint.f rename to src/amuse_nbody6xx/src/subint.f diff --git a/src/amuse/community/nbody6xx/src/subsys.f b/src/amuse_nbody6xx/src/subsys.f similarity index 100% rename from src/amuse/community/nbody6xx/src/subsys.f rename to src/amuse_nbody6xx/src/subsys.f diff --git a/src/amuse/community/nbody6xx/src/swap.f b/src/amuse_nbody6xx/src/swap.f similarity index 100% rename from src/amuse/community/nbody6xx/src/swap.f rename to src/amuse_nbody6xx/src/swap.f diff --git a/src/amuse/community/nbody6xx/src/swcond.f b/src/amuse_nbody6xx/src/swcond.f similarity index 100% rename from src/amuse/community/nbody6xx/src/swcond.f rename to src/amuse_nbody6xx/src/swcond.f diff --git a/src/amuse/community/nbody6xx/src/sweep.f b/src/amuse_nbody6xx/src/sweep.f similarity index 100% rename from src/amuse/community/nbody6xx/src/sweep.f rename to src/amuse_nbody6xx/src/sweep.f diff --git a/src/amuse/community/nbody6xx/src/switch.f b/src/amuse_nbody6xx/src/switch.f similarity index 100% rename from src/amuse/community/nbody6xx/src/switch.f rename to src/amuse_nbody6xx/src/switch.f diff --git a/src/amuse/community/nbody6xx/src/synch.f b/src/amuse_nbody6xx/src/synch.f similarity index 100% rename from src/amuse/community/nbody6xx/src/synch.f rename to src/amuse_nbody6xx/src/synch.f diff --git a/src/amuse/community/nbody6xx/src/tchain.f b/src/amuse_nbody6xx/src/tchain.f similarity index 100% rename from src/amuse/community/nbody6xx/src/tchain.f rename to src/amuse_nbody6xx/src/tchain.f diff --git a/src/amuse/community/nbody6xx/src/tcirc.f b/src/amuse_nbody6xx/src/tcirc.f similarity index 100% rename from src/amuse/community/nbody6xx/src/tcirc.f rename to src/amuse_nbody6xx/src/tcirc.f diff --git a/src/amuse/community/nbody6xx/src/tides.f b/src/amuse_nbody6xx/src/tides.f similarity index 100% rename from src/amuse/community/nbody6xx/src/tides.f rename to src/amuse_nbody6xx/src/tides.f diff --git a/src/amuse/community/nbody6xx/src/tides2.f b/src/amuse_nbody6xx/src/tides2.f similarity index 100% rename from src/amuse/community/nbody6xx/src/tides2.f rename to src/amuse_nbody6xx/src/tides2.f diff --git a/src/amuse/community/nbody6xx/src/tides3.f b/src/amuse_nbody6xx/src/tides3.f similarity index 100% rename from src/amuse/community/nbody6xx/src/tides3.f rename to src/amuse_nbody6xx/src/tides3.f diff --git a/src/amuse/community/nbody6xx/src/touch.f b/src/amuse_nbody6xx/src/touch.f similarity index 100% rename from src/amuse/community/nbody6xx/src/touch.f rename to src/amuse_nbody6xx/src/touch.f diff --git a/src/amuse/community/nbody6xx/src/tperi.f b/src/amuse_nbody6xx/src/tperi.f similarity index 100% rename from src/amuse/community/nbody6xx/src/tperi.f rename to src/amuse_nbody6xx/src/tperi.f diff --git a/src/amuse/community/nbody6xx/src/tpert.f b/src/amuse_nbody6xx/src/tpert.f similarity index 100% rename from src/amuse/community/nbody6xx/src/tpert.f rename to src/amuse_nbody6xx/src/tpert.f diff --git a/src/amuse/community/nbody6xx/src/trans3.f b/src/amuse_nbody6xx/src/trans3.f similarity index 100% rename from src/amuse/community/nbody6xx/src/trans3.f rename to src/amuse_nbody6xx/src/trans3.f diff --git a/src/amuse/community/nbody6xx/src/trans4.f b/src/amuse_nbody6xx/src/trans4.f similarity index 100% rename from src/amuse/community/nbody6xx/src/trans4.f rename to src/amuse_nbody6xx/src/trans4.f diff --git a/src/amuse/community/nbody6xx/src/transk.f b/src/amuse_nbody6xx/src/transk.f similarity index 100% rename from src/amuse/community/nbody6xx/src/transk.f rename to src/amuse_nbody6xx/src/transk.f diff --git a/src/amuse/community/nbody6xx/src/transq.f b/src/amuse_nbody6xx/src/transq.f similarity index 100% rename from src/amuse/community/nbody6xx/src/transq.f rename to src/amuse_nbody6xx/src/transq.f diff --git a/src/amuse/community/nbody6xx/src/transx.f b/src/amuse_nbody6xx/src/transx.f similarity index 100% rename from src/amuse/community/nbody6xx/src/transx.f rename to src/amuse_nbody6xx/src/transx.f diff --git a/src/amuse/community/nbody6xx/src/trdot.f b/src/amuse_nbody6xx/src/trdot.f similarity index 100% rename from src/amuse/community/nbody6xx/src/trdot.f rename to src/amuse_nbody6xx/src/trdot.f diff --git a/src/amuse/community/nbody6xx/src/trdot2.f b/src/amuse_nbody6xx/src/trdot2.f similarity index 100% rename from src/amuse/community/nbody6xx/src/trdot2.f rename to src/amuse_nbody6xx/src/trdot2.f diff --git a/src/amuse/community/nbody6xx/src/trflow.f b/src/amuse_nbody6xx/src/trflow.f similarity index 100% rename from src/amuse/community/nbody6xx/src/trflow.f rename to src/amuse_nbody6xx/src/trflow.f diff --git a/src/amuse/community/nbody6xx/src/triple.f b/src/amuse_nbody6xx/src/triple.f similarity index 100% rename from src/amuse/community/nbody6xx/src/triple.f rename to src/amuse_nbody6xx/src/triple.f diff --git a/src/amuse/community/nbody6xx/src/tstab.f b/src/amuse_nbody6xx/src/tstab.f similarity index 100% rename from src/amuse/community/nbody6xx/src/tstab.f rename to src/amuse_nbody6xx/src/tstab.f diff --git a/src/amuse/community/nbody6xx/src/tstep.f b/src/amuse_nbody6xx/src/tstep.f similarity index 100% rename from src/amuse/community/nbody6xx/src/tstep.f rename to src/amuse_nbody6xx/src/tstep.f diff --git a/src/amuse/community/nbody6xx/src/units.f b/src/amuse_nbody6xx/src/units.f similarity index 100% rename from src/amuse/community/nbody6xx/src/units.f rename to src/amuse_nbody6xx/src/units.f diff --git a/src/amuse/community/nbody6xx/src/unpert.f b/src/amuse_nbody6xx/src/unpert.f similarity index 100% rename from src/amuse/community/nbody6xx/src/unpert.f rename to src/amuse_nbody6xx/src/unpert.f diff --git a/src/amuse/community/nbody6xx/src/update.f b/src/amuse_nbody6xx/src/update.f similarity index 100% rename from src/amuse/community/nbody6xx/src/update.f rename to src/amuse_nbody6xx/src/update.f diff --git a/src/amuse/community/nbody6xx/src/util_gpu.F b/src/amuse_nbody6xx/src/util_gpu.F similarity index 100% rename from src/amuse/community/nbody6xx/src/util_gpu.F rename to src/amuse_nbody6xx/src/util_gpu.F diff --git a/src/amuse/community/nbody6xx/src/vector.f b/src/amuse_nbody6xx/src/vector.f similarity index 100% rename from src/amuse/community/nbody6xx/src/vector.f rename to src/amuse_nbody6xx/src/vector.f diff --git a/src/amuse/community/nbody6xx/src/verify.f b/src/amuse_nbody6xx/src/verify.f similarity index 100% rename from src/amuse/community/nbody6xx/src/verify.f rename to src/amuse_nbody6xx/src/verify.f diff --git a/src/amuse/community/nbody6xx/src/xcpred.f b/src/amuse_nbody6xx/src/xcpred.f similarity index 100% rename from src/amuse/community/nbody6xx/src/xcpred.f rename to src/amuse_nbody6xx/src/xcpred.f diff --git a/src/amuse/community/nbody6xx/src/xtf.f b/src/amuse_nbody6xx/src/xtf.f similarity index 100% rename from src/amuse/community/nbody6xx/src/xtf.f rename to src/amuse_nbody6xx/src/xtf.f diff --git a/src/amuse/community/nbody6xx/src/xtpert.f b/src/amuse_nbody6xx/src/xtpert.f similarity index 100% rename from src/amuse/community/nbody6xx/src/xtpert.f rename to src/amuse_nbody6xx/src/xtpert.f diff --git a/src/amuse/community/nbody6xx/src/xtrnl0.F b/src/amuse_nbody6xx/src/xtrnl0.F similarity index 100% rename from src/amuse/community/nbody6xx/src/xtrnl0.F rename to src/amuse_nbody6xx/src/xtrnl0.F diff --git a/src/amuse/community/nbody6xx/src/xtrnld.f b/src/amuse_nbody6xx/src/xtrnld.f similarity index 100% rename from src/amuse/community/nbody6xx/src/xtrnld.f rename to src/amuse_nbody6xx/src/xtrnld.f diff --git a/src/amuse/community/nbody6xx/src/xtrnlf.f b/src/amuse_nbody6xx/src/xtrnlf.f similarity index 100% rename from src/amuse/community/nbody6xx/src/xtrnlf.f rename to src/amuse_nbody6xx/src/xtrnlf.f diff --git a/src/amuse/community/nbody6xx/src/xtrnlp.f b/src/amuse_nbody6xx/src/xtrnlp.f similarity index 100% rename from src/amuse/community/nbody6xx/src/xtrnlp.f rename to src/amuse_nbody6xx/src/xtrnlp.f diff --git a/src/amuse/community/nbody6xx/src/xtrnlt.f b/src/amuse_nbody6xx/src/xtrnlt.f similarity index 100% rename from src/amuse/community/nbody6xx/src/xtrnlt.f rename to src/amuse_nbody6xx/src/xtrnlt.f diff --git a/src/amuse/community/nbody6xx/src/xtrnlu.f b/src/amuse_nbody6xx/src/xtrnlu.f similarity index 100% rename from src/amuse/community/nbody6xx/src/xtrnlu.f rename to src/amuse_nbody6xx/src/xtrnlu.f diff --git a/src/amuse/community/nbody6xx/src/xtrnlv.f b/src/amuse_nbody6xx/src/xtrnlv.f similarity index 100% rename from src/amuse/community/nbody6xx/src/xtrnlv.f rename to src/amuse_nbody6xx/src/xtrnlv.f diff --git a/src/amuse/community/nbody6xx/src/xvpred.f b/src/amuse_nbody6xx/src/xvpred.f similarity index 100% rename from src/amuse/community/nbody6xx/src/xvpred.f rename to src/amuse_nbody6xx/src/xvpred.f diff --git a/src/amuse/community/nbody6xx/src/ycopy.f b/src/amuse_nbody6xx/src/ycopy.f similarity index 100% rename from src/amuse/community/nbody6xx/src/ycopy.f rename to src/amuse_nbody6xx/src/ycopy.f diff --git a/src/amuse/community/nbody6xx/src/ysave.f b/src/amuse_nbody6xx/src/ysave.f similarity index 100% rename from src/amuse/community/nbody6xx/src/ysave.f rename to src/amuse_nbody6xx/src/ysave.f diff --git a/src/amuse/community/nbody6xx/src/zare.f b/src/amuse_nbody6xx/src/zare.f similarity index 100% rename from src/amuse/community/nbody6xx/src/zare.f rename to src/amuse_nbody6xx/src/zare.f diff --git a/src/amuse/community/nbody6xx/src/zcnsts.f b/src/amuse_nbody6xx/src/zcnsts.f similarity index 100% rename from src/amuse/community/nbody6xx/src/zcnsts.f rename to src/amuse_nbody6xx/src/zcnsts.f diff --git a/src/amuse/community/nbody6xx/src/zdata.h b/src/amuse_nbody6xx/src/zdata.h similarity index 100% rename from src/amuse/community/nbody6xx/src/zdata.h rename to src/amuse_nbody6xx/src/zdata.h diff --git a/src/amuse/community/nbody6xx/src/zero.f b/src/amuse_nbody6xx/src/zero.f similarity index 100% rename from src/amuse/community/nbody6xx/src/zero.f rename to src/amuse_nbody6xx/src/zero.f diff --git a/src/amuse/community/nbody6xx/src/zfuncs.f b/src/amuse_nbody6xx/src/zfuncs.f similarity index 100% rename from src/amuse/community/nbody6xx/src/zfuncs.f rename to src/amuse_nbody6xx/src/zfuncs.f diff --git a/src/amuse_nbody6xx/support/aclocal.m4 b/src/amuse_nbody6xx/support/aclocal.m4 new file mode 100644 index 0000000000..8161803730 --- /dev/null +++ b/src/amuse_nbody6xx/support/aclocal.m4 @@ -0,0 +1,20 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/fortran.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_nbody6xx/support/config.mk.in b/src/amuse_nbody6xx/support/config.mk.in new file mode 100644 index 0000000000..7299e477ef --- /dev/null +++ b/src/amuse_nbody6xx/support/config.mk.in @@ -0,0 +1,22 @@ +# Compilers +FC = @FC@ +MPIFC = @MPIFC@ +CPU_COUNT = @CPU_COUNT@ + + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ + + +# General flags and libraries +FCFLAGS = @FCFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +FORSOCKETS_CFLAGS = @FORSOCKETS_CFLAGS@ +FORSOCKETS_LIBS = @FORSOCKETS_LIBS@ + diff --git a/src/amuse_nbody6xx/support/configure b/src/amuse_nbody6xx/support/configure new file mode 100755 index 0000000000..ef3b8ce846 --- /dev/null +++ b/src/amuse_nbody6xx/support/configure @@ -0,0 +1,6007 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-nbody6xx 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-nbody6xx' +PACKAGE_TARNAME='amuse-nbody6xx' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-nbody6xx 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPILIBS +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CPPFLAGS +CFLAGS +CC +RANLIB +AR +target_os +target_vendor +target_cpu +target +OBJEXT +EXEEXT +ac_ct_FC +LDFLAGS +FCFLAGS +FC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +FC +FCFLAGS +LDFLAGS +LIBS +CC +CFLAGS +CPPFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS +MPIFC' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-nbody6xx 1.0 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/amuse-nbody6xx] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-nbody6xx 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + FC Fortran compiler command + FCFLAGS Fortran 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 + CC C compiler command + CFLAGS C compiler flags + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + 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 + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + MPIFC MPI Fortran compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-nbody6xx configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-nbody6xx $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the Fortran compiler works" >&5 +printf %s "checking whether the Fortran compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "Fortran compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler default output file name" >&5 +printf %s "checking for Fortran compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat > conftest.$ac_ext <<_ACEOF + program main + open(unit=9,file='conftest.out') + close(unit=9) + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run Fortran compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +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 + + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-nbody6xx $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-nbody6xx config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_nbody6xx/support/configure.ac b/src/amuse_nbody6xx/support/configure.ac new file mode 100644 index 0000000000..733acc231c --- /dev/null +++ b/src/amuse_nbody6xx/support/configure.ac @@ -0,0 +1,39 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-nbody6xx], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find AMUSE libraries +AMUSE_LIB_FORSOCKETS() + + +# Find external dependencies +AC_LANG_PUSH([Fortran]) + +AX_MPI() + +AC_LANG_POP([Fortran]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_nbody6xx/support/shared b/src/amuse_nbody6xx/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_nbody6xx/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_nbody6xx.py b/src/amuse_nbody6xx/tests/test_nbody6xx.py similarity index 94% rename from src/amuse/test/suite/codes_tests/test_nbody6xx.py rename to src/amuse_nbody6xx/tests/test_nbody6xx.py index a5fe6fcfc4..7fcb423e01 100644 --- a/src/amuse/test/suite/codes_tests/test_nbody6xx.py +++ b/src/amuse_nbody6xx/tests/test_nbody6xx.py @@ -1,8 +1,8 @@ from amuse.community import * -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI -from amuse.community.nbody6xx.interface import Nbody6xxInterface -from amuse.community.nbody6xx.interface import Nbody6xx +from amuse_nbody6xx.interface import Nbody6xxInterface +from amuse_nbody6xx.interface import Nbody6xx import math diff --git a/src/amuse/community/octgrav/Makefile b/src/amuse_octgrav/Makefile similarity index 100% rename from src/amuse/community/octgrav/Makefile rename to src/amuse_octgrav/Makefile diff --git a/src/amuse/community/octgrav/README b/src/amuse_octgrav/README similarity index 100% rename from src/amuse/community/octgrav/README rename to src/amuse_octgrav/README diff --git a/src/amuse_octgrav/__init__.py b/src/amuse_octgrav/__init__.py new file mode 100644 index 0000000000..a97ea4a429 --- /dev/null +++ b/src/amuse_octgrav/__init__.py @@ -0,0 +1,8 @@ +# -*- mode: python; coding: utf-8 -*- + +__author__ = 'Evghenii Gaburov (code), Derek Groen (interface)' +__author_email__ = ',' +__date__ = '2008-04-14 15:42:00 CEST' + +# Dummy file to indicate that this directory is a package. +from .interface import Octgrav diff --git a/src/amuse/community/octgrav/integrator.cpp b/src/amuse_octgrav/integrator.cpp similarity index 100% rename from src/amuse/community/octgrav/integrator.cpp rename to src/amuse_octgrav/integrator.cpp diff --git a/src/amuse/community/octgrav/integrator.h b/src/amuse_octgrav/integrator.h similarity index 100% rename from src/amuse/community/octgrav/integrator.h rename to src/amuse_octgrav/integrator.h diff --git a/src/amuse/community/octgrav/interface.cc b/src/amuse_octgrav/interface.cc similarity index 100% rename from src/amuse/community/octgrav/interface.cc rename to src/amuse_octgrav/interface.cc diff --git a/src/amuse/community/octgrav/interface.h b/src/amuse_octgrav/interface.h similarity index 100% rename from src/amuse/community/octgrav/interface.h rename to src/amuse_octgrav/interface.h diff --git a/src/amuse_octgrav/interface.py b/src/amuse_octgrav/interface.py new file mode 100644 index 0000000000..65c61f711c --- /dev/null +++ b/src/amuse_octgrav/interface.py @@ -0,0 +1,193 @@ +from amuse.community import * +from amuse.community.interface.gd import GravitationalDynamicsInterface +from amuse.community.interface.gd import GravitationalDynamics +from amuse.community.interface.gd import GravityFieldInterface +from amuse.community.interface.gd import GravityFieldCode + +class OctgravInterface( + CodeInterface, + LiteratureReferencesMixIn, + GravitationalDynamicsInterface, + StoppingConditionInterface, + GravityFieldInterface): + """ + .. [#] ADS:2010ProCS...1.1119G (Gaburov E., Bedorf J., Portegies Zwart S., 2010, Proc. C. Sc., 1, 1119: + .. [#] ... "A gravitational tree code on graphics processing units: Implementation in CUDA" + """ + + include_headers = ['interface.h', 'parameters.h', 'worker_code.h', 'local.h', 'stopcond.h'] + + def __init__(self, convert_nbody = None, **options): + CodeInterface.__init__(self, name_of_the_worker="octgrav_worker", **options) + """ + self.parameters = parameters.Parameters(self.parameter_definitions, self) + if convert_nbody is None: + convert_nbody = nbody_system.nbody_to_si.get_default() + + self.convert_nbody = convert_nbody + """ + LiteratureReferencesMixIn.__init__(self) + + + + + + @legacy_function + def get_theta_for_tree(): + """ + + """ + function = LegacyFunctionSpecification() + function.addParameter('opening_angle', dtype='float64', direction=function.OUT, + description = "opening_angle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + xx + -1 - ERROR + xx + """ + return function + + @legacy_function + def set_theta_for_tree(): + """ + + """ + function = LegacyFunctionSpecification() + function.addParameter('opening_angle', dtype='float64', direction=function.IN, + description = "opening_angle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + xx + -1 - ERROR + xx + """ + return function + + @legacy_function + def set_time_step(): + """ + Update timestep. + """ + function = LegacyFunctionSpecification() + function.addParameter('time_step', dtype='float64', direction=function.IN, + description = "timestep") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found in the model and the information was set + -1 - ERROR + particle could not be found + """ + return function + + + + + + +class Octgrav(GravitationalDynamics, GravityFieldCode): + + def __init__(self, convert_nbody = None, **options): + legacy_interface = OctgravInterface(**options) + self.stopping_conditions = StoppingConditions(self) + + GravitationalDynamics.__init__( + self, + legacy_interface, + convert_nbody, + **options + ) + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_eps2", + "set_eps2", + "epsilon_squared", + "smoothing parameter for gravity calculations", + default_value = 0.01 | nbody_system.length * nbody_system.length + ) + handler.add_method_parameter( + "get_time_step", + "set_time_step", + "timestep", + "constant timestep for iteration", + default_value = 0.01 | nbody_system.time + ) + handler.add_method_parameter( + "get_theta_for_tree", + "set_theta_for_tree", + "opening_angle", + "opening angle for building the tree between 0 and 1", + default_value = 0.8 + ) + handler.add_method_parameter( + "get_begin_time", + "set_begin_time", + "begin_time", + "model time to start the simulation at", + default_value = 0.0 | nbody_system.time + ) + + self.stopping_conditions.define_parameters(handler) + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + + handler.add_method( + "get_eps2", + (), + (nbody_system.length * nbody_system.length, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_eps2", + (nbody_system.length * nbody_system.length, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_time_step", + (), + (nbody_system.time, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_time_step", + (nbody_system.time, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_theta_for_tree", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_theta_for_tree", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + self.stopping_conditions.define_methods(handler) + + + def define_state(self, handler): + GravitationalDynamics.define_state(self, handler) + GravityFieldCode.define_state(self, handler) + +# this should be checked! + handler.add_method('EDIT', 'get_gravity_at_point') + handler.add_method('EDIT', 'get_potential_at_point') + + self.stopping_conditions.define_state(handler) + + + + + def define_particle_sets(self, handler): + GravitationalDynamics.define_particle_sets(self, handler) + self.stopping_conditions.define_particle_set(handler) diff --git a/src/amuse/community/octgrav/local.h b/src/amuse_octgrav/local.h similarity index 100% rename from src/amuse/community/octgrav/local.h rename to src/amuse_octgrav/local.h diff --git a/src/amuse_octgrav/packages/amuse-octgrav-cuda.amuse_deps b/src/amuse_octgrav/packages/amuse-octgrav-cuda.amuse_deps new file mode 100644 index 0000000000..93a3b8b7c2 --- /dev/null +++ b/src/amuse_octgrav/packages/amuse-octgrav-cuda.amuse_deps @@ -0,0 +1 @@ +issue_1109 diff --git a/src/amuse/community/octgrav/parameters.h b/src/amuse_octgrav/parameters.h similarity index 100% rename from src/amuse/community/octgrav/parameters.h rename to src/amuse_octgrav/parameters.h diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/CUDA_evaluate_gravity.cpp b/src/amuse_octgrav/src/octgrav_v1.7d/CUDA_evaluate_gravity.cpp similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/CUDA_evaluate_gravity.cpp rename to src/amuse_octgrav/src/octgrav_v1.7d/CUDA_evaluate_gravity.cpp diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/Makefile b/src/amuse_octgrav/src/octgrav_v1.7d/Makefile similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/Makefile rename to src/amuse_octgrav/src/octgrav_v1.7d/Makefile diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/acc_dist.gnu b/src/amuse_octgrav/src/octgrav_v1.7d/acc_dist.gnu similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/acc_dist.gnu rename to src/amuse_octgrav/src/octgrav_v1.7d/acc_dist.gnu diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/build_oct_tree.cpp b/src/amuse_octgrav/src/octgrav_v1.7d/build_oct_tree.cpp similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/build_oct_tree.cpp rename to src/amuse_octgrav/src/octgrav_v1.7d/build_oct_tree.cpp diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/compare b/src/amuse_octgrav/src/octgrav_v1.7d/compare similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/compare rename to src/amuse_octgrav/src/octgrav_v1.7d/compare diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/compare.gnu b/src/amuse_octgrav/src/octgrav_v1.7d/compare.gnu similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/compare.gnu rename to src/amuse_octgrav/src/octgrav_v1.7d/compare.gnu diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/compare.sh b/src/amuse_octgrav/src/octgrav_v1.7d/compare.sh similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/compare.sh rename to src/amuse_octgrav/src/octgrav_v1.7d/compare.sh diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/compare1.gnu b/src/amuse_octgrav/src/octgrav_v1.7d/compare1.gnu similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/compare1.gnu rename to src/amuse_octgrav/src/octgrav_v1.7d/compare1.gnu diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/dev_evaluate_gravity.cu b/src/amuse_octgrav/src/octgrav_v1.7d/dev_evaluate_gravity.cu similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/dev_evaluate_gravity.cu rename to src/amuse_octgrav/src/octgrav_v1.7d/dev_evaluate_gravity.cu diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/dev_evaluate_gravity.cubin b/src/amuse_octgrav/src/octgrav_v1.7d/dev_evaluate_gravity.cubin similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/dev_evaluate_gravity.cubin rename to src/amuse_octgrav/src/octgrav_v1.7d/dev_evaluate_gravity.cubin diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/dev_octgrav_tex.cuh b/src/amuse_octgrav/src/octgrav_v1.7d/dev_octgrav_tex.cuh similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/dev_octgrav_tex.cuh rename to src/amuse_octgrav/src/octgrav_v1.7d/dev_octgrav_tex.cuh diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/device_data.cpp b/src/amuse_octgrav/src/octgrav_v1.7d/device_data.cpp similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/device_data.cpp rename to src/amuse_octgrav/src/octgrav_v1.7d/device_data.cpp diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/dist_acc b/src/amuse_octgrav/src/octgrav_v1.7d/dist_acc similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/dist_acc rename to src/amuse_octgrav/src/octgrav_v1.7d/dist_acc diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/do_runs.sh b/src/amuse_octgrav/src/octgrav_v1.7d/do_runs.sh similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/do_runs.sh rename to src/amuse_octgrav/src/octgrav_v1.7d/do_runs.sh diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/evaluate_gravity.cpp b/src/amuse_octgrav/src/octgrav_v1.7d/evaluate_gravity.cpp similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/evaluate_gravity.cpp rename to src/amuse_octgrav/src/octgrav_v1.7d/evaluate_gravity.cpp diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/host_evaluate_gravity.cu b/src/amuse_octgrav/src/octgrav_v1.7d/host_evaluate_gravity.cu similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/host_evaluate_gravity.cu rename to src/amuse_octgrav/src/octgrav_v1.7d/host_evaluate_gravity.cu diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/host_evaluate_gravity.linkinfo b/src/amuse_octgrav/src/octgrav_v1.7d/host_evaluate_gravity.linkinfo similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/host_evaluate_gravity.linkinfo rename to src/amuse_octgrav/src/octgrav_v1.7d/host_evaluate_gravity.linkinfo diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/load_bodies.cpp b/src/amuse_octgrav/src/octgrav_v1.7d/load_bodies.cpp similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/load_bodies.cpp rename to src/amuse_octgrav/src/octgrav_v1.7d/load_bodies.cpp diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/log b/src/amuse_octgrav/src/octgrav_v1.7d/log similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/log rename to src/amuse_octgrav/src/octgrav_v1.7d/log diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/memory.cpp b/src/amuse_octgrav/src/octgrav_v1.7d/memory.cpp similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/memory.cpp rename to src/amuse_octgrav/src/octgrav_v1.7d/memory.cpp diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/n_per_cell.h b/src/amuse_octgrav/src/octgrav_v1.7d/n_per_cell.h similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/n_per_cell.h rename to src/amuse_octgrav/src/octgrav_v1.7d/n_per_cell.h diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/nbint.cpp b/src/amuse_octgrav/src/octgrav_v1.7d/nbint.cpp similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/nbint.cpp rename to src/amuse_octgrav/src/octgrav_v1.7d/nbint.cpp diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/oct_tree.h b/src/amuse_octgrav/src/octgrav_v1.7d/oct_tree.h similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/oct_tree.h rename to src/amuse_octgrav/src/octgrav_v1.7d/oct_tree.h diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/oct_tree_base.h b/src/amuse_octgrav/src/octgrav_v1.7d/oct_tree_base.h similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/oct_tree_base.h rename to src/amuse_octgrav/src/octgrav_v1.7d/oct_tree_base.h diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/octgrav.h b/src/amuse_octgrav/src/octgrav_v1.7d/octgrav.h similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/octgrav.h rename to src/amuse_octgrav/src/octgrav_v1.7d/octgrav.h diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/octgravdefs.h b/src/amuse_octgrav/src/octgrav_v1.7d/octgravdefs.h similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/octgravdefs.h rename to src/amuse_octgrav/src/octgrav_v1.7d/octgravdefs.h diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/reorder_bodies.cpp b/src/amuse_octgrav/src/octgrav_v1.7d/reorder_bodies.cpp similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/reorder_bodies.cpp rename to src/amuse_octgrav/src/octgrav_v1.7d/reorder_bodies.cpp diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/test_gravity.cpp b/src/amuse_octgrav/src/octgrav_v1.7d/test_gravity.cpp similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/test_gravity.cpp rename to src/amuse_octgrav/src/octgrav_v1.7d/test_gravity.cpp diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/test_gravity.cpp.read b/src/amuse_octgrav/src/octgrav_v1.7d/test_gravity.cpp.read similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/test_gravity.cpp.read rename to src/amuse_octgrav/src/octgrav_v1.7d/test_gravity.cpp.read diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/test_gravity.cpp.sphere b/src/amuse_octgrav/src/octgrav_v1.7d/test_gravity.cpp.sphere similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/test_gravity.cpp.sphere rename to src/amuse_octgrav/src/octgrav_v1.7d/test_gravity.cpp.sphere diff --git a/src/amuse/community/octgrav/src/octgrav_v1.7d/tree_manip.h b/src/amuse_octgrav/src/octgrav_v1.7d/tree_manip.h similarity index 100% rename from src/amuse/community/octgrav/src/octgrav_v1.7d/tree_manip.h rename to src/amuse_octgrav/src/octgrav_v1.7d/tree_manip.h diff --git a/src/amuse_petar/.gitignore b/src/amuse_petar/.gitignore new file mode 100644 index 0000000000..0f7f3019d6 --- /dev/null +++ b/src/amuse_petar/.gitignore @@ -0,0 +1,2 @@ +*.tar.gz +src diff --git a/src/amuse_petar/Makefile b/src/amuse_petar/Makefile new file mode 100644 index 0000000000..b4cebcc132 --- /dev/null +++ b/src/amuse_petar/Makefile @@ -0,0 +1,126 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Downloading the code +SDAR_VERSION = a4ff4b3d076535684313a912ea31985c1431f827 +FDPS_VERSION = 55b2bafd316805bad22057cf4ee96217735279bf +PETAR_VERSION = 6ccac364e83ab05e4dad27e6eb6abdf7e5c89bcc + +SDAR.tar.gz: + $(DOWNLOAD) https://github.com/lwang-astro/SDAR/archive/$(SDAR_VERSION).tar.gz >$@ + +FDPS.tar.gz: + $(DOWNLOAD) https://github.com/FDPS/FDPS/archive/$(FDPS_VERSION).tar.gz >$@ + +PeTar.tar.gz: + $(DOWNLOAD) https://github.com/lwang-astro/PeTar/archive/$(PETAR_VERSION).tar.gz >$@ + + +src/SDAR: SDAR.tar.gz + mkdir -p src + cd src && tar xf ../$< + cd src && mv SDAR-$(SDAR_VERSION) SDAR + +src/FDPS: FDPS.tar.gz + mkdir -p src + cd src && tar xf ../$< + cd src && mv FDPS-$(FDPS_VERSION) FDPS + +src/PeTar: PeTar.tar.gz + mkdir -p src + cd src && tar xf ../$< + cd src && mv PeTar-$(PETAR_VERSION) PeTar + + +# Code configuration (it's all header-only, so no CODELIB here) + +DEPFLAGS += $(STOPCONDMPI_CFLAGS) $(AMUSE_MPI_CFLAGS) +DEPFLAGS += $(OPENMP_CXXFLAGS) + +CXXFLAGS += $(DEPFLAGS) +CXXFLAGS += -Isrc/PeTar/src -Isrc/SDAR/src -Isrc/FDPS/src +CXXFLAGS += -Wall -std=c++17 + +CXXFLAGS += -D PARTICLE_SIMULATOR_THREAD_PARALLEL +# MPI +CXXFLAGS += -D PARTICLE_SIMULATOR_MPI_PARALLEL +CXXFLAGS += -D MPICH_IGNORE_CXX_SEEKC + +CXXFLAGS += -D SOFT_PERT -D AR_TTL -D AR_SLOWDOWN_TREE -D AR_SLOWDOWN_TIMESCALE -D CLUSTER_VELOCITY +CXXFLAGS += -D USE_QUAD +CXXFLAGS += -D STELLAR_EVOLUTION + +CXXFLAGS += -D PROFILE +CXXFLAGS += -D HARD_CHECK_ENERGY +CXXFLAGS += -D TIDAL_TENSOR_3RD + +# debug +#CXXFLAGS += -D PETAR_DEBUG -D AR_DEBUG -D AR_DEBUG_DUMP -D AR_WARN -D HARD_DEBUG -D HARD_DUMP -D CLUSTER_DEBUG -D ARTIFICIAL_PARTICLE_DEBUG +CXXFLAGS += -D INTERFACE_DEBUG_PRINT +CXXFLAGS += -D INTERFACE_DEBUG + +LDFLAGS += $(OPENMP_CXXFLAGS) + +LDLIBS += -lm $(STOPCONDMPI_LIBS) $(AMUSE_MPI_LIBS) + +src/PeTar/src/get_version.hpp: |src/PeTar + sed 's/@VERSION@/'`cat src/PeTar/VERSION`'_'`cat src/SDAR/VERSION`'/g' src/PeTar/src/get_version.hpp.in >src/PeTar/src/get_version.hpp + + +# Building the workers + +petar_worker.h: interface.py + amusifier --type=H interface.py petarInterface -o $@ + +petar_worker.cc: interface.py + amusifier --type=c interface.py petarInterface -o $@ + +petar_worker.o: petar_worker.cc petar_worker.h + $(MPICXX) -c -o $@ $(CXXFLAGS) $< + +petar_worker: petar_worker.o interface.o + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +interface.o: interface.cc src/PeTar/src/get_version.hpp src/PeTar src/SDAR src/FDPS + $(MPICXX) -o $@ -c $(CXXFLAGS) $< + + +# Which packages contain which workers? +amuse-petar_contains: petar_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + # The tests use up to 5 workers, each of which will use all the cores via OpenMP, + # slowing things down enormously. By limiting the number of threads, the tests + # run in a reasonable time at least on my 8C/16T laptop. + cd packages/$* && OMP_NUM_THREADS=2 pytest + + +# Cleaning up +.PHONY: clean +clean: + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_petar/__init__.py b/src/amuse_petar/__init__.py new file mode 100644 index 0000000000..4b06f767ad --- /dev/null +++ b/src/amuse_petar/__init__.py @@ -0,0 +1 @@ +from .interface import Petar diff --git a/src/amuse/community/petar/interface.cc b/src/amuse_petar/interface.cc similarity index 100% rename from src/amuse/community/petar/interface.cc rename to src/amuse_petar/interface.cc diff --git a/src/amuse/community/petar/interface.h b/src/amuse_petar/interface.h similarity index 100% rename from src/amuse/community/petar/interface.h rename to src/amuse_petar/interface.h diff --git a/src/amuse_petar/interface.py b/src/amuse_petar/interface.py new file mode 100644 index 0000000000..977cb7e3cd --- /dev/null +++ b/src/amuse_petar/interface.py @@ -0,0 +1,620 @@ +from amuse.rfi.core import legacy_function, LegacyFunctionSpecification +from amuse.community import ( + CodeInterface, + LiteratureReferencesMixIn, + StoppingConditionInterface, + StoppingConditions, +) +from amuse.community.interface.gd import ( + GravitationalDynamics, + GravitationalDynamicsInterface, + GravityFieldInterface, + GravityFieldCode, +) +from amuse.units import nbody_system + + +class petarInterface( + CodeInterface, + LiteratureReferencesMixIn, + GravitationalDynamicsInterface, + StoppingConditionInterface, + GravityFieldInterface +): + + """ + Parallel, Particle-Particle & Particle-Tree & Few-body integration module + + .. [#] ADS:2020MNRAS.497..536W (Wang, L., Iwasawa, M., Nitadori, K., Makino, J., 2020, MNRAS, 497, 536) + .. [#] ADS:2020MNRAS.493.3398W (Wang, L., Nitadori, K., Makino, J., 2020, MNRAS, 493, 3398) + .. [#] ADS:2018PASJ...70...70N (Namekata D., et al., 2018, PASJ, 70, 70) + .. [#] ADS:2016PASJ...68...54I (Iwasawa M., Tanikawa A., Hosono N., Nitadori K., Muranushi T., Makino J., 2016, PASJ, 68, 54) + .. [#] ADS:2015ComAC...2....6I (Iwasawa M., Portegies Zwart S., Makino J., 2015, ComAC, 2, 6) + """ + + include_headers = ['interface.h'] + + def __init__(self, **keyword_arguments): + CodeInterface.__init__( + self, name_of_the_worker="petar_worker", **keyword_arguments) + LiteratureReferencesMixIn.__init__(self) + + @legacy_function + def get_theta(): + """ + Get theta, the opening angle for building the tree + """ + function = LegacyFunctionSpecification() + function.addParameter( + 'theta_for_tree', dtype='float64', direction=function.OUT, + description=( + "theta, the opening angle for building the tree:" + " between 0 and 1" + ) + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_theta(): + """ + Set theta, the opening angle for building the tree + """ + function = LegacyFunctionSpecification() + function.addParameter( + 'theta', dtype='float64', direction=function.IN, + description=( + "theta, the opening angle for building the tree:" + " between 0 and 1" + ) + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + #@legacy_function + #def get_gravitational_constant(): + # """ + # Get the value of gravitational constant + # """ + # function = LegacyFunctionSpecification() + # function.addParameter( + # 'gravitational_constant', dtype='float64', direction=function.OUT, + # description=( + # "gravitational constant:" + # " positive" + # ) + # ) + # function.result_type = 'int32' + # function.result_doc = """ + # 0 - OK + # the parameter was retrieved + # -1 - ERROR + # could not retrieve parameter + # """ + # return function + # + #@legacy_function + #def set_gravitational_constant(): + # """ + # Set gravitational constant + # """ + # function = LegacyFunctionSpecification() + # function.addParameter( + # 'gravitational_constant', dtype='float64', direction=function.IN, + # description=( + # "gravitational constant:" + # " between 0 and 1" + # ) + # ) + # function.result_type = 'int32' + # function.result_doc = """ + # 0 - OK + # the parameter was set + # -1 - ERROR + # could not set parameter + # """ + # return function + + @legacy_function + def get_changeover_rout(): + """ + Get r_out, the changeover radius outer boundary reference for + switching long/short-range interactions (if zero, auto-determine) + """ + function = LegacyFunctionSpecification() + function.addParameter( + 'r_out', dtype='float64', direction=function.OUT, + description=( + "r_out, the changeover radius outer boundary reference" + " for switching long/short-range interactions (if zero," + " auto-determine)" + ) + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_changeover_rout(): + """ + Set r_out, the changeover radius outer boundary reference for + switching long/short-range interactions (if zero, auto-determine) + """ + function = LegacyFunctionSpecification() + function.addParameter( + 'r_out', dtype='float64', direction=function.IN, + description=( + "r_out, the changeover radius outer boundary reference" + " for switching long/short-range interactions (if zero," + " auto-determine)" + ) + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + @legacy_function + def get_changeover_ratio(): + """ + Get ratio_r_cut, the changeover radius ratio between the inner and + outer boundaries + """ + function = LegacyFunctionSpecification() + function.addParameter( + 'ratio_r_cut', dtype='float64', direction=function.OUT, + description=( + "ratio_r_cut, the changeover radius ratio between the inner" + " and outer boundaries" + ) + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_changeover_ratio(): + """ + Set ratio_r_cut, the changeover radius ratio between the inner and + outer boundaries + """ + function = LegacyFunctionSpecification() + function.addParameter( + 'ratio_r_cut', dtype='float64', direction=function.IN, + description=( + "ratio_r_cut, the changeover radius ratio between the inner" + " and outer boundaries" + ) + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + @legacy_function + def get_group_radius(): + """ + Get r_bin, the group detection maximum radius to switch on AR + (if zero, auto-determine) + """ + function = LegacyFunctionSpecification() + function.addParameter( + 'r_bin', dtype='float64', direction=function.OUT, + description=( + "r_bin, the group detection maximum radius to switch on AR" + " (if zero, auto-determine)" + ) + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_group_radius(): + """ + Set r_bin, the group detection maximum radius to switch on AR + (if zero, auto-determine) + """ + function = LegacyFunctionSpecification() + function.addParameter( + 'r_bin', dtype='float64', direction=function.IN, + description=( + "r_bin, the group detection maximum radius to switch on AR" + " (if zero, auto-determine)" + ) + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + @legacy_function + def get_rsearch_min(): + """ + Get r_search_min, the minimum neighbor searching radius (if zero, + auto-determine) + """ + function = LegacyFunctionSpecification() + function.addParameter( + 'r_search_min', dtype='float64', direction=function.OUT, + description=( + "r_search_min, the minimum neighbor searching radius" + " (if zero, auto-determine)" + ) + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_rsearch_min(): + """ + Set r_search_min, the minimum neighbor searching radius (if zero, + auto-determine) + """ + function = LegacyFunctionSpecification() + function.addParameter( + 'r_search_min', dtype='float64', direction=function.IN, + description=( + "r_search_min, the minimum neighbor searching radius" + " (if zero, auto-determine)" + ) + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + @legacy_function + def get_tree_step(): + """ + Get dt_soft, the tree time step (if zero, auto-determine) + """ + function = LegacyFunctionSpecification() + function.addParameter( + 'dt_soft', dtype='float64', direction=function.OUT, + description=( + "dt_soft, the tree time step (if zero, auto-determine)" + ) + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_tree_step(): + """ + Set dt_soft, the minimum neighbor searching radius (if zero, + auto-determine) + """ + function = LegacyFunctionSpecification() + function.addParameter( + 'dt_soft', dtype='float64', direction=function.IN, + description=( + "dt_soft, the tree time step (if zero, auto-determine)" + ) + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + @legacy_function + def get_output_step(): + """ + Get dt_output, the PeTar internal output time step (0.125) + """ + function = LegacyFunctionSpecification() + function.addParameter( + 'dt_output', dtype='float64', direction=function.OUT, + description=( + "dt_output, the PeTar internal output time step (0.125)" + ) + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_output_step(): + """ + Set dt_output, the PeTar internal output time step (0.125) + """ + function = LegacyFunctionSpecification() + function.addParameter( + 'dt_output', dtype='float64', direction=function.IN, + description=( + "dt_output, the PeTar internal output time step (0.125)" + ) + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + +class petar(GravitationalDynamics, GravityFieldCode): + + def __init__(self, convert_nbody=None, **keyword_arguments): + self.stopping_conditions = StoppingConditions(self) + + GravitationalDynamics.__init__( + self, + petarInterface(**keyword_arguments), + convert_nbody, + **keyword_arguments) + + def define_state(self, handler): + GravitationalDynamics.define_state(self, handler) + GravityFieldCode.define_state(self, handler) + self.stopping_conditions.define_state(handler) + + def define_parameters(self, handler): + GravitationalDynamics.define_parameters(self, handler) + self.stopping_conditions.define_parameters(handler) + + handler.add_method_parameter( + "get_eps2", + "set_eps2", + "epsilon_squared", + "smoothing parameter for gravity calculations", + default_value=0.0 | nbody_system.length * nbody_system.length + ) + + handler.add_method_parameter( + "get_changeover_rout", + "set_changeover_rout", + "r_out", + ("changeover radius outer boundary reference for switching" + " long/short-range interactions (if zero, auto-determine)"), + default_value=0.0 | nbody_system.length + ) + + handler.add_method_parameter( + "get_changeover_ratio", + "set_changeover_ratio", + "ratio_r_cut", + "Changeover radius ratio between the inner and outer boundaries", + default_value=0.1 + ) + + handler.add_method_parameter( + "get_group_radius", + "set_group_radius", + "r_bin", + ("Group detection maximum radius to switch on AR (if zero," + " auto-determine)"), + default_value=0.0 | nbody_system.length + ) + + handler.add_method_parameter( + "get_rsearch_min", + "set_rsearch_min", + "r_search_min", + "Minimum neighbor searching radius (if zero, auto-determine)", + default_value=0.0 | nbody_system.length + ) + + handler.add_method_parameter( + "get_theta", + "set_theta", + "theta", + "Tree opening angle", + default_value=0.3 + ) + + #handler.add_method_parameter( + # "get_gravitational_constant", + # "set_gravitational_constant", + # "gravitational_constant", + # "Gravitational constant", + # default_value=0.3 + #) + + handler.add_method_parameter( + "get_tree_step", + "set_tree_step", + "dt_soft", + "Tree time step (if zero, auto-determine)", + default_value=0.0 | nbody_system.time + ) + + handler.add_method_parameter( + "get_output_step", + "set_output_step", + "dt_output", + "PeTar internal output time step (0.125)", + default_value=0.125 | nbody_system.time + ) + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + self.stopping_conditions.define_methods(handler) + + handler.add_method( + "set_eps2", + ( + nbody_system.length * nbody_system.length, + ), + ( + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_eps2", + (), + ( + nbody_system.length * nbody_system.length, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "set_changeover_rout", + ( + nbody_system.length, + ), + ( + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_changeover_rout", + (), + ( + nbody_system.length, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "set_group_radius", + ( + nbody_system.length, + ), + ( + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_group_radius", + (), + ( + nbody_system.length, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "set_rsearch_min", + ( + nbody_system.length, + ), + ( + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_rsearch_min", + (), + ( + nbody_system.length, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "set_tree_step", + ( + nbody_system.time, + ), + ( + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_tree_step", + (), + ( + nbody_system.time, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "set_output_step", + ( + nbody_system.time, + ), + ( + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_output_step", + (), + ( + nbody_system.time, + handler.ERROR_CODE, + ) + ) + + def define_particle_sets(self, handler): + GravitationalDynamics.define_particle_sets(self, handler) + self.stopping_conditions.define_particle_set(handler) + + +PetarInterface = petarInterface +Petar = petar diff --git a/src/amuse_petar/packages/amuse-petar.amuse_deps b/src/amuse_petar/packages/amuse-petar.amuse_deps new file mode 100644 index 0000000000..a380c42802 --- /dev/null +++ b/src/amuse_petar/packages/amuse-petar.amuse_deps @@ -0,0 +1 @@ +c++ download mpi openmp diff --git a/src/amuse_petar/packages/amuse-petar/amuse_petar b/src/amuse_petar/packages/amuse-petar/amuse_petar new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_petar/packages/amuse-petar/amuse_petar @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_petar/packages/amuse-petar/pyproject.toml b/src/amuse_petar/packages/amuse-petar/pyproject.toml new file mode 100644 index 0000000000..656f3dab8e --- /dev/null +++ b/src/amuse_petar/packages/amuse-petar/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-petar" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_petar/**/*.py"] +exclude = [ + "amuse_petar/packages", + "amuse_petar/support", + "amuse_petar/src", + "amuse_petar/tests" + ] +artifacts = ["amuse_petar/petar_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_petar/tests/", "../../../tests"] + +testpaths = ["amuse_petar/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse_petar/support/aclocal.m4 b/src/amuse_petar/support/aclocal.m4 new file mode 100644 index 0000000000..db9a4969a6 --- /dev/null +++ b/src/amuse_petar/support/aclocal.m4 @@ -0,0 +1,20 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_download.m4]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_petar/support/config.mk.in b/src/amuse_petar/support/config.mk.in new file mode 100644 index 0000000000..f06fbada36 --- /dev/null +++ b/src/amuse_petar/support/config.mk.in @@ -0,0 +1,32 @@ +# Compilers +CXX = @CXX@ + +MPICXX = @MPICXX@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ +DOWNLOAD = @DOWNLOAD@ + + +# General flags and libraries +CFLAGS = @CFLAGS@ +CXXFLAGS = @CXXFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +STOPCONDMPI_CFLAGS = @STOPCONDMPI_CFLAGS@ +STOPCONDMPI_LIBS = @STOPCONDMPI_LIBS@ + +AMUSE_MPI_CFLAGS = @AMUSE_MPI_CFLAGS@ +AMUSE_MPI_LIBS = @AMUSE_MPI_LIBS@ + + +# External dependencies +OPENMP_CXXFLAGS = @OPENMP_CXXFLAGS@ + diff --git a/src/amuse_petar/support/configure b/src/amuse_petar/support/configure new file mode 100755 index 0000000000..fe1914911f --- /dev/null +++ b/src/amuse_petar/support/configure @@ -0,0 +1,6891 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-petar 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-petar' +PACKAGE_TARNAME='amuse-petar' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-petar 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +OPENMP_CXXFLAGS +MPILIBS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +FOUND_AMUSE_MPI +AMUSE_MPI_LIBS +AMUSE_MPI_CFLAGS +FOUND_STOPCONDMPI +STOPCONDMPI_LIBS +STOPCONDMPI_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CFLAGS +CC +DOWNLOAD +CURL +WGET +RANLIB +AR +target_os +target_vendor +target_cpu +target +OBJEXT +EXEEXT +ac_ct_CXX +CPPFLAGS +LDFLAGS +CXXFLAGS +CXX +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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_openmp +' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CC +CFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCONDMPI_CFLAGS +STOPCONDMPI_LIBS +AMUSE_MPI_CFLAGS +AMUSE_MPI_LIBS +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-petar 1.0 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/amuse-petar] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-petar 1.0:";; + 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] + --disable-openmp do not use OpenMP + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS 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 + CC C compiler command + CFLAGS C compiler flags + 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 + STOPCONDMPI_CFLAGS + C compiler flags for STOPCONDMPI, overriding pkg-config + STOPCONDMPI_LIBS + linker flags for STOPCONDMPI, overriding pkg-config + AMUSE_MPI_CFLAGS + C compiler flags for AMUSE_MPI, overriding pkg-config + AMUSE_MPI_LIBS + linker flags for AMUSE_MPI, overriding pkg-config + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-petar configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-petar $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 +printf %s "checking whether the C++ compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 +printf %s "checking for C++ compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + +# Find something to download things with + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}wget", so it can be a program name with args. +set dummy ${ac_tool_prefix}wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$WGET"; then + ac_cv_prog_WGET="$WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="${ac_tool_prefix}wget" + printf "%s\n" "$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 +WGET=$ac_cv_prog_WGET +if test -n "$WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $WGET" >&5 +printf "%s\n" "$WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_WGET"; then + ac_ct_WGET=$WGET + # Extract the first word of "wget", so it can be a program name with args. +set dummy wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_WGET"; then + ac_cv_prog_ac_ct_WGET="$ac_ct_WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="wget" + printf "%s\n" "$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_WGET=$ac_cv_prog_ac_ct_WGET +if test -n "$ac_ct_WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WGET" >&5 +printf "%s\n" "$ac_ct_WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_WGET" = x; then + WGET="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + WGET=$ac_ct_WGET + fi +else + WGET="$ac_cv_prog_WGET" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}curl", so it can be a program name with args. +set dummy ${ac_tool_prefix}curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CURL"; then + ac_cv_prog_CURL="$CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="${ac_tool_prefix}curl" + printf "%s\n" "$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 +CURL=$ac_cv_prog_CURL +if test -n "$CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CURL" >&5 +printf "%s\n" "$CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CURL"; then + ac_ct_CURL=$CURL + # Extract the first word of "curl", so it can be a program name with args. +set dummy curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CURL"; then + ac_cv_prog_ac_ct_CURL="$ac_ct_CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="curl" + printf "%s\n" "$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_CURL=$ac_cv_prog_ac_ct_CURL +if test -n "$ac_ct_CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CURL" >&5 +printf "%s\n" "$ac_ct_CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CURL" = x; then + CURL="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CURL=$ac_ct_CURL + fi +else + CURL="$ac_cv_prog_CURL" +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a wget or curl to download files with" >&5 +printf %s "checking for a wget or curl to download files with... " >&6; } + if test "x$WGET" != "x" + then + # The MESA SDK server rejects wget, this is the official work-around + DOWNLOAD="$WGET --progress=bar:force:noscroll --user-agent='' -O -" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + if test "x$CURL" != "x" + then + DOWNLOAD="$CURL -L" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + fi + + + + + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCONDMPI_CFLAGS" + amuse_save_LIB_LIBS="$STOPCONDMPI_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing get_set_conditions_" >&5 +printf %s "checking for library containing get_set_conditions_... " >&6; } +if test ${ac_cv_search_get_set_conditions_+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char get_set_conditions_ (); +int +main (void) +{ +return get_set_conditions_ (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcondmpi +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_get_set_conditions_=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_get_set_conditions_+y} +then : + break +fi +done +if test ${ac_cv_search_get_set_conditions_+y} +then : + +else $as_nop + ac_cv_search_get_set_conditions_=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_get_set_conditions_" >&5 +printf "%s\n" "$ac_cv_search_get_set_conditions_" >&6; } +ac_res=$ac_cv_search_get_set_conditions_ +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCONDMPI="yes" + STOPCONDMPI_LIBS="$LIBS" + STOPCONDMPI_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCONDMPI" >&5 +printf %s "checking for STOPCONDMPI... " >&6; } + +if test -n "$STOPCONDMPI_CFLAGS"; then + pkg_cv_STOPCONDMPI_CFLAGS="$STOPCONDMPI_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcondmpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcondmpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCONDMPI_CFLAGS=`$PKG_CONFIG --cflags "stopcondmpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCONDMPI_LIBS"; then + pkg_cv_STOPCONDMPI_LIBS="$STOPCONDMPI_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcondmpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcondmpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCONDMPI_LIBS=`$PKG_CONFIG --libs "stopcondmpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCONDMPI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcondmpi" 2>&1` + else + STOPCONDMPI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcondmpi" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCONDMPI_PKG_ERRORS" >&5 + + + FOUND_STOPCONDMPI="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCONDMPI="no" + +else + STOPCONDMPI_CFLAGS=$pkg_cv_STOPCONDMPI_CFLAGS + STOPCONDMPI_LIBS=$pkg_cv_STOPCONDMPI_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCONDMPI="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCONDMPI}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCONDMPI_CFLAGS="${STOPCONDMPI_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCONDMPI_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCONDMPI_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$AMUSE_MPI_CFLAGS" + amuse_save_LIB_LIBS="$AMUSE_MPI_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing get_comm_world" >&5 +printf %s "checking for library containing get_comm_world... " >&6; } +if test ${ac_cv_search_get_comm_world+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char get_comm_world (); +int +main (void) +{ +return get_comm_world (); + ; + return 0; +} +_ACEOF +for ac_lib in '' amuse_mpi +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_get_comm_world=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_get_comm_world+y} +then : + break +fi +done +if test ${ac_cv_search_get_comm_world+y} +then : + +else $as_nop + ac_cv_search_get_comm_world=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_get_comm_world" >&5 +printf "%s\n" "$ac_cv_search_get_comm_world" >&6; } +ac_res=$ac_cv_search_get_comm_world +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_AMUSE_MPI="yes" + AMUSE_MPI_LIBS="$LIBS" + AMUSE_MPI_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for AMUSE_MPI" >&5 +printf %s "checking for AMUSE_MPI... " >&6; } + +if test -n "$AMUSE_MPI_CFLAGS"; then + pkg_cv_AMUSE_MPI_CFLAGS="$AMUSE_MPI_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"amuse_mpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "amuse_mpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_AMUSE_MPI_CFLAGS=`$PKG_CONFIG --cflags "amuse_mpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$AMUSE_MPI_LIBS"; then + pkg_cv_AMUSE_MPI_LIBS="$AMUSE_MPI_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"amuse_mpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "amuse_mpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_AMUSE_MPI_LIBS=`$PKG_CONFIG --libs "amuse_mpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + AMUSE_MPI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "amuse_mpi" 2>&1` + else + AMUSE_MPI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "amuse_mpi" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$AMUSE_MPI_PKG_ERRORS" >&5 + + + FOUND_AMUSE_MPI="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_AMUSE_MPI="no" + +else + AMUSE_MPI_CFLAGS=$pkg_cv_AMUSE_MPI_CFLAGS + AMUSE_MPI_LIBS=$pkg_cv_AMUSE_MPI_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_AMUSE_MPI="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_AMUSE_MPI}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + AMUSE_MPI_CFLAGS="${AMUSE_MPI_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + AMUSE_MPI_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + AMUSE_MPI_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + +if test -e penmp || test -e mp; then + as_fn_error $? "AC_OPENMP clobbers files named 'mp' and 'penmp'. Aborting configure because one of these files already exists." "$LINENO" 5 +fi +# Check whether --enable-openmp was given. +if test ${enable_openmp+y} +then : + enableval=$enable_openmp; +fi + + OPENMP_CXXFLAGS= + if test "$enable_openmp" != no; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to support OpenMP" >&5 +printf %s "checking for $CXX option to support OpenMP... " >&6; } +if test ${ac_cv_prog_cxx_openmp+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_openmp='not found' + for ac_option in '' -fopenmp -xopenmp -openmp -mp -omp -qsmp=omp -homp \ + -Popenmp --openmp; do + + ac_save_CXXFLAGS=$CXXFLAGS + CXXFLAGS="$CXXFLAGS $ac_option" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef _OPENMP +#error "OpenMP not supported" +#endif +#include +int main (void) { return omp_get_num_threads (); } + +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef _OPENMP +#error "OpenMP not supported" +#endif +#include +int main (void) { return omp_get_num_threads (); } + +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_prog_cxx_openmp=$ac_option +else $as_nop + ac_cv_prog_cxx_openmp='unsupported' +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + CXXFLAGS=$ac_save_CXXFLAGS + + if test "$ac_cv_prog_cxx_openmp" != 'not found'; then + break + fi + done + if test "$ac_cv_prog_cxx_openmp" = 'not found'; then + ac_cv_prog_cxx_openmp='unsupported' + elif test "$ac_cv_prog_cxx_openmp" = ''; then + ac_cv_prog_cxx_openmp='none needed' + fi + rm -f penmp mp +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_openmp" >&5 +printf "%s\n" "$ac_cv_prog_cxx_openmp" >&6; } + if test "$ac_cv_prog_cxx_openmp" != 'unsupported' && \ + test "$ac_cv_prog_cxx_openmp" != 'none needed'; then + OPENMP_CXXFLAGS="$ac_cv_prog_cxx_openmp" + 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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-petar $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-petar config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_petar/support/configure.ac b/src/amuse_petar/support/configure.ac new file mode 100644 index 0000000000..81af284219 --- /dev/null +++ b/src/amuse_petar/support/configure.ac @@ -0,0 +1,44 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-petar], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_CXX() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + +# Find something to download things with +AMUSE_DOWNLOAD() + + +# Find AMUSE libraries +AMUSE_LIB_STOPCONDMPI() +AMUSE_LIB_AMUSE_MPI() + + +# Find external dependencies +AC_LANG_PUSH([C++]) + +AX_MPI() +AC_OPENMP() +AC_SUBST(OPENMP_CXXFLAGS) + +AC_LANG_POP([C++]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_petar/support/shared b/src/amuse_petar/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_petar/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_petar.py b/src/amuse_petar/tests/test_petar.py similarity index 96% rename from src/amuse/test/suite/codes_tests/test_petar.py rename to src/amuse_petar/tests/test_petar.py index 0a2c5794d3..0f56685e66 100644 --- a/src/amuse/test/suite/codes_tests/test_petar.py +++ b/src/amuse_petar/tests/test_petar.py @@ -1,14 +1,14 @@ -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI import numpy -from amuse.community.petar.interface import PetarInterface, Petar +from amuse_petar.interface import PetarInterface, Petar from amuse.units import nbody_system from amuse import datamodel from amuse.ic import plummer from amuse.ic.plummer import new_plummer_model -from .gd_tests import _TestGravitationalDynamicsInterface +from codes_tests.gd_tests import _TestGravitationalDynamicsInterface class TestPetarInterface(_TestGravitationalDynamicsInterface, TestWithMPI): diff --git a/src/amuse_ph4/Makefile b/src/amuse_ph4/Makefile new file mode 100644 index 0000000000..534d51c8c9 --- /dev/null +++ b/src/amuse_ph4/Makefile @@ -0,0 +1,85 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library +CFLAGS += $(STOPCOND_CFLAGS) +LDLIBS += -lm $(STOPCOND_LIBS) + +CODELIB = src/libph4.a +CODELIB_SAPPORO = src/libph4gpu.a + + +.PHONY: $(CODELIB) +$(CODELIB): + $(MAKE) -C src -j $(CPU_COUNT) all CXX='$(MPICXX)' CFLAGS='$(CFLAGS)' + +.PHONY: $(CODELIB_SAPPORO) +$(CODELIB_SAPPORO): + $(MAKE) -C src -j $(CPU_COUNT) gpulib CXX='$(MPICXX)' CFLAGS='$(CFLAGS)' SAPPORO_LIBDIRS='$(SAPPORO_LIGHT_CFLAGS)' SAPPORO_LIBS='$(SAPPORO_LIGHT_LIBS)' + + +# Building the workers + +ph4_worker.h: interface.py + amusifier --type=h interface.py ph4Interface -o $@ + +ph4_worker.cc: interface.py + amusifier --type=c interface.py ph4Interface -o $@ + +ph4_worker.o: ph4_worker.cc ph4_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + +ph4_worker: ph4_worker.o interface.o $(CODELIB) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +ph4_sapporo_worker: ph4_worker.o interface.o $(CODELIB_SAPPORO) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) $(SAPPORO_LIGHT_LIBS) + +%.o: %.cc + $(MPICXX) -o $@ -c $(CFLAGS) $< + + +# Which packages contain which workers? +amuse-ph4_contains: ph4_worker + +amuse-ph4-sapporo_contains: ph4_sapporo_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: +ifneq ($(CI),) + cd packages/$* && pytest -k 'not noci' +else + cd packages/$* && pytest +endif + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + diff --git a/src/amuse_ph4/__init__.py b/src/amuse_ph4/__init__.py new file mode 100644 index 0000000000..08f87f7761 --- /dev/null +++ b/src/amuse_ph4/__init__.py @@ -0,0 +1,2 @@ +# generated file +from .interface import Ph4 diff --git a/src/amuse_ph4/interface.cc b/src/amuse_ph4/interface.cc new file mode 100644 index 0000000000..26e5ee6018 --- /dev/null +++ b/src/amuse_ph4/interface.cc @@ -0,0 +1,932 @@ +#include "ph4_worker.h" + +#include "src/stdinc.h" +#include "src/jdata.h" +#include "src/idata.h" +#include "src/scheduler.h" + +// AMUSE STOPPING CONDITIONS SUPPORT +#include + +static jdata *jd = NULL; +static idata *id = NULL; +static scheduler *s = NULL; + +static bool zero_step_mode = false; // preliminary mode to take zero-length + // steps and identify bound subsystems + // off by default; set by setter only + +static bool force_sync = false; // off by default; set by setter only; + // stays on until explicitly turned off; + // only affects an evolve_model() step + // that makes it to to_time. + +static int block_steps = 0; +static int total_steps = 0; + +// Allow fine control over the initial time step. + +static real initial_timestep_fac = 0.0625; +static real initial_timestep_limit = 0.03125; +static real initial_timestep_median = 8.0; + +static double begin_time = -1; + +// Note on internal and external times: +// +// begin_time is the external time at which the simulation starts; +// it should be set only at the start of the simulation, +// through the interface function set_begin_time(), and +// can't be changed by the internal integrator +// jd.system_time is the internal time used by the integrator; it +// always starts at 0 and should be reset when a +// synchronization occurs; the scheduler requires that +// time steps be commensurate with system_time, so we +// don't want it to become something that will force +// very short steps +// jd.sync_time is the last time we forced system_time back to 0, +// to preserve the scheduler +// +// Sync_time is measured relative to begin_time. System_time is measured +// relative to sync_time. Thus +// +// sync_time + system_time is the total time since the simulation started +// begin_time + sync_time + system_time is the absolute ("external") value +// of the current system time +// +// All time bookkeeping is handled in this file, in function sync_times(). +// Sync_time exists in ph4 only for use by diagnostics that need to print +// the true system time (currently updated only in jdata.cc). + +int sync_times() +{ + // Update sync_time and reset all times prior to recomputing the + // time steps and resetting the scheduler. + + if (0) { + cout << "interface::sync_times: updating sync_time to " + << jd->sync_time + jd->system_time << endl; + } + + jd->predict_time -= jd->system_time - jd->sync_time; + jd->sync_time += jd->system_time; + jd->system_time = 0; + + for (int j = 0; j < jd->nj; j++) jd->time[j] = 0; + + return 0; +} + +// Setup and parameters. + +int initialize_code() +{ + // Begin the initialization by creating the jdata data structure. + + //PRL(1); + jd = new jdata; + +#ifndef NOMPI + jd->setup_mpi(MPI_COMM_WORLD); +#endif + //PRL(2); + jd->setup_gpu(); + //PRL(3); + if (jd->mpi_rank == 0) { + cout << "initialize_code: "; + PRC(jd->mpi_size); PRL(jd->have_gpu); + } + + //PRL(4); + if (begin_time == -1) begin_time = 0.0; + jd->system_time = 0; + jd->sync_time = 0; + + // AMUSE STOPPING CONDITIONS SUPPORT + set_support_for_condition(COLLISION_DETECTION); + //PRL(5); + mpi_setup_stopping_conditions(); + + //PRL(6); + jd->set_manage_encounters(4); // 4 ==> enable AMUSE suport + //PRL(7); + + block_steps = 0; + total_steps = 0; + + return 0; +} + +// Setters and getters. + +int set_eps2(double epsilon_squared) +{ + jd->eps2 = epsilon_squared; + return 0; +} + +int get_eps2(double * epsilon_squared) +{ + *epsilon_squared = jd->eps2; + return 0; +} + +int set_eta(double timestep_parameter) +{ + jd->eta = timestep_parameter; + return 0; +} + +int get_eta(double * timestep_parameter) +{ + *timestep_parameter = jd->eta; + return 0; +} + +int set_gpu(int gpu) +{ + jd->use_gpu = jd->have_gpu && (gpu == 1); + return 0; +} + +int get_gpu(int * gpu) +{ + *gpu = jd->use_gpu; + return 0; +} + +int set_gpu_id(int gpu_id) +{ + jd->gpu_id = gpu_id; + return 0; +} + +int get_gpu_id(int * gpu_id) +{ + *gpu_id = jd->gpu_id; + return 0; +} + +int set_manage_encounters(int m) +{ + jd->set_manage_encounters(m); + return 0; +} + +int get_manage_encounters(int * m) +{ + *m = jd->manage_encounters; + return 0; +} + +int set_time(double sys_time) // should probably never do this... +{ + jd->sync_time = sys_time - jd->system_time - begin_time; + return 0; +} + +int get_time(double * sys_time) +{ + *sys_time = jd->system_time + jd->sync_time + begin_time; + return 0; +} + +int set_begin_time(double input) +{ + begin_time = input; + return 0; +} + +int get_begin_time(double * output) +{ + *output = begin_time; + return 0; +} + +int set_sync_time(double input) // should probably never do this... +{ + jd->sync_time = input - begin_time; + return 0; +} + +int get_sync_time(double * output) +{ + *output = jd->sync_time + begin_time; + return 0; +} + +int set_zero_step_mode(int z) { + zero_step_mode = z; + return 0; +} + +int get_zero_step_mode(int *z) { + *z = zero_step_mode; + return 0; +} + +int set_force_sync(int f) { + force_sync = f; + return 0; +} + +int get_force_sync(int *f) { + *f = force_sync; + return 0; +} + +int set_block_steps(int s) { + block_steps = s; + return 0; +} + +int get_block_steps(int *s) { + *s = block_steps; + return 0; +} + +int set_total_steps(int s) { + total_steps = s; + return 0; +} + +int get_total_steps(int *s) { + *s = total_steps; + return 0; +} + +int set_initial_timestep_fac(double s) { + initial_timestep_fac = s; + return 0; +} + +int get_initial_timestep_fac(double * s) { + *s = initial_timestep_fac; + return 0; +} + +int set_initial_timestep_limit(double s) { + initial_timestep_limit = s; + return 0; +} + +int get_initial_timestep_limit(double * s) { + *s = initial_timestep_limit; + return 0; +} + +int set_initial_timestep_median(double s) { + initial_timestep_median = s; + return 0; +} + +int get_initial_timestep_median(double * s) { + *s = initial_timestep_median; + return 0; +} + +//---------------------------------------------------------------------- + +int commit_parameters() +{ + // Perform any needed setup after initial code parameters have been set. + + // Consistency check: + + if (jd->use_gpu && !jd->have_gpu) jd->use_gpu = false; + + // if(jd->system_time == 0) { + // jd->system_time = 0; + // } + + if (jd->mpi_rank == 0) { + cout << "commit_parameters: "; + PRC(jd->have_gpu); PRL(jd->use_gpu); + } + + return 0; +} + +int recommit_parameters() +{ + // Perform any needed changes after code parameters have been reset. + + return 0; +} + +int commit_particles() +{ + // Complete the initialization, after all particles have been loaded. + + // cout << "recommit_particles" << endl << flush; + + sync_times(); + + jd->initialize_arrays(); + + id = new idata(jd); // set up idata data structures (sets acc and jerk) + + // Set timesteps (needs acc and jerk) + + // PRC(initial_timestep_fac); PRC(initial_timestep_limit); + // PRL(initial_timestep_median); + + jd->force_initial_timestep(initial_timestep_fac, + initial_timestep_limit, + initial_timestep_median); + s = new scheduler(jd); + // s->print(); + +#if 0 + cout << "commit_particles:"; + for (int j = 0; j < jd->nj; j++) cout << " " << jd->id[j]; + cout << endl << flush; +#endif + + return 0; +} + +int recommit_particles() +{ + // Reinitialize/reset the system after particles have been added + // or removed. The system should be synchronized at some + // reasonable system_time, so we just need to recompute forces and + // update the GPU and scheduler. The jdata arrays should already + // be updated. The idata arrays are resized and updated here. + + // cout << "recommit_particles" << endl << flush; + + if (!jd->use_gpu) { + // cout << "jd->predict_all" << endl << flush; + jd->predict_all(jd->system_time, true); // set pred quantities + } else + jd->initialize_gpu(true); // reload the GPU + + // Reset all idata arrays and recompute iacc and ijerk. + + id->setup(); + + jd->force_initial_timestep(initial_timestep_fac, // set timesteps + initial_timestep_limit, + initial_timestep_median); + + + // cout << "s->initialize()" << endl << flush; + s->initialize(); // reconstruct the scheduler + // s->print(); + + return 0; +} + +int recompute_timesteps() +{ + // Same as recommit_particles(), except that the name isn't + // reserved for the state model and we always recompute the + // time steps. Assume that we don't need to change sync_time. + + //cout << "recompute_timesteps" << endl << flush; + + if (!jd->use_gpu) + jd->predict_all(jd->system_time, true); // set pred quantities + else + jd->initialize_gpu(true); // reload the GPU + + // Reset all idata arrays and recompute iacc and ijerk. + + id->setup(); + + jd->force_initial_timestep(initial_timestep_fac, // set timesteps + initial_timestep_limit, + initial_timestep_median); + + // cout << "s->initialize()" << endl << flush; + s->initialize(); // reconstruct the scheduler + // s->print(); + + return 0; +} + +int cleanup_code() +{ + // Clean up at the end of the calculation. + + if (jd != NULL) + jd->cleanup(); + if (id != NULL) + id->cleanup(); + if (s != NULL) + s->cleanup(); + return 0; +} + +// Setters and getters for individual particles. + +int new_particle(int * index_of_the_particle, + double mass, + double x, double y, double z, + double vx, double vy, double vz, + double radius, int index_to_set) +{ + // Add a particle to the system. Let the module set the id, or + // force the index to index_to_set if >= 0 and allowed. + + *index_of_the_particle = jd->add_particle(mass, radius, + vec(x,y,z), vec(vx,vy,vz), + index_to_set); +#if 0 + int p = cout.precision(15); + cout << "new_particle " << *index_of_the_particle << " " << mass + << " " << x << " " << y << " " << z << endl; + cout.precision(p); +#endif + return 0; +} + +int delete_particle(int index_of_the_particle) +{ + // Remove a particle from the system. + + int j = jd->get_inverse_id(index_of_the_particle); + if (j < 0) return -1; + jd->remove_particle(j); + //cout << "delete_particle " << index_of_the_particle << endl; + return 0; +} + +int get_index_of_next_particle(int index_of_the_particle, + int * index_of_the_next_particle) +{ + int j = jd->get_inverse_id(index_of_the_particle); + if (j < 0) return -1; + else if (j >= jd->nj-1) return 1; + else *index_of_the_next_particle = jd->id[j+1]; + return 0; +} + +int set_state(int index_of_the_particle, + double mass, + double x, double y, double z, + double vx, double vy, double vz, double radius) +{ + //cout << "set_state" << endl << flush; + int j = jd->get_inverse_id(index_of_the_particle); + if (j < 0) return -1; + jd->mass[j] = mass; + jd->radius[j] = radius; + jd->pos[j][0] = x; + jd->pos[j][1] = y; + jd->pos[j][2] = z; + jd->vel[j][0] = vx; + jd->vel[j][1] = vy; + jd->vel[j][2] = vz; + return 0; +} + +int get_state(int index_of_the_particle, + double * mass, + double * x, double * y, double * z, + double * vx, double * vy, double * vz, double * radius) +{ + //cout << "get_state" << endl << flush; + int j = jd->get_inverse_id(index_of_the_particle); + if (j < 0) return -1; + *mass = jd->mass[j]; + *radius = jd->radius[j]; + *x = jd->pos[j][0]; + *y = jd->pos[j][1]; + *z = jd->pos[j][2]; + *vx = jd->vel[j][0]; + *vy = jd->vel[j][1]; + *vz = jd->vel[j][2]; + return 0; +} + +int set_mass(int index_of_the_particle, double mass) +{ + int j = jd->get_inverse_id(index_of_the_particle); + if (j < 0) return -1; + jd->mass[j] = mass; + return 0; +} + +int get_mass(int index_of_the_particle, double * mass) +{ + int j = jd->get_inverse_id(index_of_the_particle); + if (j < 0) return -1; + *mass = jd->mass[j]; + return 0; +} + +int set_radius(int index_of_the_particle, double radius) +{ + int j = jd->get_inverse_id(index_of_the_particle); + if (j < 0) return -1; + jd->radius[j] = radius; + return 0; +} + +int get_radius(int index_of_the_particle, double * radius) +{ + int j = jd->get_inverse_id(index_of_the_particle); + if (j < 0) return -1; + *radius = jd->radius[j]; + return 0; +} + +int set_position(int index_of_the_particle, + double x, double y, double z) +{ + int j = jd->get_inverse_id(index_of_the_particle); + //cout << "set_position " << j<< endl << flush; + if (j < 0) return -1; + jd->pos[j][0] = x; + jd->pos[j][1] = y; + jd->pos[j][2] = z; + return 0; +} + +int get_position(int index_of_the_particle, + double * x, double * y, double * z) +{ + //cout << "get_position " << index_of_the_particle << endl << flush; + int j = jd->get_inverse_id(index_of_the_particle); + if (j < 0) return -1; + *x = jd->pos[j][0]; + *y = jd->pos[j][1]; + *z = jd->pos[j][2]; + return 0; +} + +int set_velocity(int index_of_the_particle, + double vx, double vy, double vz) +{ + int j = jd->get_inverse_id(index_of_the_particle); + if (j < 0) return -1; + jd->vel[j][0] = vx; + jd->vel[j][1] = vy; + jd->vel[j][2] = vz; + return 0; +} + +int get_velocity(int index_of_the_particle, + double * vx, double * vy, double * vz) +{ + int j = jd->get_inverse_id(index_of_the_particle); + if (j < 0) return -1; + *vx = jd->vel[j][0]; + *vy = jd->vel[j][1]; + *vz = jd->vel[j][2]; + return 0; +} + +int get_acceleration(int index_of_the_particle, + double * ax, double * ay, double * az) +{ + int j = jd->get_inverse_id(index_of_the_particle); + if (j < 0) return -1; + *ax = jd->acc[j][0]; + *ay = jd->acc[j][1]; + *az = jd->acc[j][2]; + return 0; +} + +int get_potential(int index_of_the_particle, double * pot) +{ + int j = jd->get_inverse_id(index_of_the_particle); + if (j < 0) return -1; + *pot = jd->pot[j]; + return 0; +} + +int get_particle_timestep(int index_of_the_particle, double * timestep) +{ + int j = jd->get_inverse_id(index_of_the_particle); + if (j < 0) { + return -1; + } + *timestep = jd->timestep[j]; + return 0; +} + + +// System-wide operations. + +int evolve_model(double to_time) +{ + // On return, system_time will be greater than or equal to the + // specified time. All particles j will have time[j] <= + // system_time < time[j] + timestep[j]. If synchronization is + // needed, do it with synchronize_model() to sync at final + // system_time, or use force_sync if we need to end at exactly + // to_time. The function breaks out of the jd->advance() loop + // (without synchronization) if an encounter is detected. + + if (!jd) return 0; + + bool debug_print = false; + debug_print &= (jd->mpi_rank == 0); + + reset_stopping_conditions(); + jd->UpdatedParticles.clear(); + jd->coll1 = jd->coll2 = -1; + + if (debug_print) { + cout << "in evolve_model: "; PRC(to_time); PRL(jd->nj); + for (int j = 0; j < jd->nj; j++) + if (jd->id[j] <= 0) {PRC(j); PRC(jd->mass[j]); PRL(jd->id[j]);} + s->print(); + } + + real tt = to_time - jd->sync_time - begin_time; // actual end time for + // internal calculation + if (debug_print) { + PRC(to_time); PRC(jd->sync_time); + PRC(begin_time); PRL(jd->system_time); + PRL(tt); + } + + if (jd->nj <= 0) { + jd->system_time = tt; + return 0; + } + + int nb = jd->block_steps; + int ns = jd->total_steps; + + // Zero_step_mode means that we are taking a dummy step of length + // zero to set the collision stopping condition if any particles + // qualify. Do this repeatedly at the start of the calculation to + // manage initial binaries and/or planetary systems. In this + // mode, we calculate forces with ilist equal to the entire + // system, but we don't correct, advance the time, or set time + // steps. We always take a step in this case, even though + // system_time = tt. + + if (zero_step_mode) { + + jd->advance_and_check_encounter(zero_step_mode); + + } else { + + if (!force_sync) { + + while (jd->system_time < tt) + if (jd->advance_and_check_encounter()) break; + + } else { + + bool b = false; + while (jd->get_tnext() <= tt) { + b = jd->advance_and_check_encounter(); + if (b) break; + } + + if (!b) { + + jd->system_time = tt; + jd->synchronize_all(false); + + // Time steps have been recomputed by + // synchronize_all(), and may be undesirably short + // depending on tt (steps must be commensurate with + // current time). Recompute the time steps here (with + // updated acc and jerk) after resetting system_time, + // and reinitialize the scheduler. + + sync_times(); + recompute_timesteps(); + if (debug_print) s->print(); + } + } + + // int dblock = jd->block_steps - nb; + // int dtotal = jd->total_steps - ns; + block_steps += jd->block_steps - nb; + total_steps += jd->total_steps - ns; + // PRL(jd->system_time); //PRC(dblock); PRL(dtotal); + // s->print(true); + } + + return 0; +} + +int synchronize_model() +{ + // Synchronize all particles at the current system time. The + // default is not to reinitialize the scheduler, as this will be + // handled later, in recommit_particles(), and not to modify + // sync_time. + + //cout << "synchronize_model" << endl << flush; + jd->UpdatedParticles.clear(); + jd->synchronize_all(); + return 0; +} + +int get_time_step(double * time_step) +{ + *time_step = 0; // not relevant here + return -1; +} + +int get_index_of_first_particle(int * index_of_the_particle) +{ + *index_of_the_particle = jd->id[0]; + return 0; +} + +int get_indices_of_colliding_particles(int * index_of_particle1, + int * index_of_particle2) +{ + *index_of_particle1 = jd->coll1; + *index_of_particle2 = jd->coll2; + return 0; +} + +int get_number_of_particles(int * number_of_particles) +{ + *number_of_particles = jd->nj; + return 0; +} + +int get_total_mass(double * mass) +{ + *mass = jd->get_total_mass(); + return 0; +} + +int get_potential_energy(double * potential_energy) +{ + *potential_energy = 0; + if (jd) *potential_energy = jd->get_pot(); + return 0; +} + +int get_kinetic_energy(double * kinetic_energy) +{ + *kinetic_energy = 0; + if (jd) *kinetic_energy = jd->get_kin(); + return 0; +} + +int get_binary_energy(double * binary_energy) // new interface function +{ // see interface.py + *binary_energy = jd->Emerge; // not quite the same thing... + return 0; +} + +int get_center_of_mass_position(double * x, double * y, double * z) +{ + // (Could also use jdata::get_com.) + + if (!jd || jd->nj <= 0) { + *x = *y = *z = 0; + return 0; + } + + real mtot = 0; + vec cmx(0,0,0); + for (int j = 0; j < jd->nj; j++) { + mtot += jd->mass[j]; + for (int k = 0; k < 3; k++) cmx[k] += jd->mass[j]*jd->pos[j][k]; + } + *x = cmx[0]/mtot; + *y = cmx[1]/mtot; + *z = cmx[2]/mtot; + return 0; +} + +int get_center_of_mass_velocity(double * vx, double * vy, double * vz) +{ + // (Could also use jdata::get_com.) + + if (!jd || jd->nj <= 0) { + *vx = *vy = *vz = 0; + return 0; + } + + real mtot = 0; + vec cmv(0,0,0); + for (int j = 0; j < jd->nj; j++) { + mtot += jd->mass[j]; + for (int k = 0; k < 3; k++) cmv[k] += jd->mass[j]*jd->vel[j][k]; + } + *vx = cmv[0]/mtot; + *vy = cmv[1]/mtot; + *vz = cmv[2]/mtot; + return 0; +} + +int get_total_radius(double * radius) +{ + real r2max = 0; + vec pos; + get_center_of_mass_position(&pos[0], &pos[1], &pos[2]); + for (int j = 0; j < jd->nj; j++) { + real r2 = 0; + for (int k = 0; k < 3; k++) r2 += pow(jd->pos[j][k]-pos[k], 2); + if (r2 > r2max) r2max = r2; + } + *radius = sqrt(r2max); + return 0; +} + +int get_potential_at_point(double * eps, + double * x, double * y, double * z, + double * phi, int n) +{ + idata * tmp_idata = new idata(); + tmp_idata -> set_ni(n); + tmp_idata -> ni = n; // set_ni only allocates buffers, does not set ni! + tmp_idata -> jdat = jd; + for(int i = 0; i < n; i++) + { + tmp_idata -> iid[i] = -1; + tmp_idata -> ilist[i] = 0; + tmp_idata -> inn[i] = 0; + tmp_idata -> pnn[i] = 0; + + tmp_idata -> imass[i] = 1; + tmp_idata -> iradius[i] = eps[i]; + tmp_idata -> itime[i] = 0.0; + tmp_idata -> itimestep[i] = 0.0; + tmp_idata -> ipot[i] = 0.0; + tmp_idata -> ppot[i] = 0.0; + tmp_idata -> idnn[i] = 0.0; + tmp_idata -> ipos[i][0] = x[i]; + tmp_idata -> ipos[i][1] = y[i]; + tmp_idata -> ipos[i][2] = z[i]; + tmp_idata -> ivel[i][0] = 0.0; + tmp_idata -> ivel[i][1] = 0.0; + tmp_idata -> ivel[i][2] = 0.0; + } + tmp_idata -> get_acc_and_jerk(); + if (jd->mpi_rank == 0) { + for(int i = 0; i < n; i++) + { + phi[i] = tmp_idata->ipot[i]; + } + } + delete tmp_idata; + return 0; +} + +int get_gravity_at_point(double * eps, double * x, double * y, double * z, + double * forcex, double * forcey, double * forcez, int n) +{ + idata * tmp_idata = new idata(); + tmp_idata -> set_ni(n); + tmp_idata -> ni = n; // set_ni only allocates buffers, does not set ni! + tmp_idata -> jdat = jd; + for(int i = 0; i < n; i++) + { + tmp_idata -> iid[i] = -1; + tmp_idata -> ilist[i] = 0; + tmp_idata -> inn[i] = 0; + tmp_idata -> pnn[i] = 0; + + tmp_idata -> imass[i] = 1; + tmp_idata -> iradius[i] = eps[i]; + tmp_idata -> itime[i] = 0.0; + tmp_idata -> itimestep[i] = 0.0; + tmp_idata -> ipot[i] = 0.0; + tmp_idata -> ppot[i] = 0.0; + tmp_idata -> idnn[i] = 0.0; + tmp_idata -> ipos[i][0] = x[i]; + tmp_idata -> ipos[i][1] = y[i]; + tmp_idata -> ipos[i][2] = z[i]; + tmp_idata -> ivel[i][0] = 0.0; + tmp_idata -> ivel[i][1] = 0.0; + tmp_idata -> ivel[i][2] = 0.0; + } + tmp_idata -> get_acc_and_jerk(); + if (jd->mpi_rank == 0) { + for(int i = 0; i < n; i++) + { + forcex[i] = tmp_idata->iacc[i][0]; + forcey[i] = tmp_idata->iacc[i][1]; + forcez[i] = tmp_idata->iacc[i][2]; + } + } + delete tmp_idata; + return 0; +} + +//---------------------------------------------------------------------- +// +// From Arjen: + +int get_number_of_particles_updated(int * value) +{ + *value = jd->UpdatedParticles.size(); + return 0; +} + +int get_id_of_updated_particle(int index, int * index_of_particle, int * status) +{ + if (index < 0 || index > (int) jd->UpdatedParticles.size()) + return -1; + *index_of_particle = jd->UpdatedParticles[index].index_of_particle; + *status = jd->UpdatedParticles[index].status; + return 0; +} diff --git a/src/amuse_ph4/interface.py b/src/amuse_ph4/interface.py new file mode 100644 index 0000000000..0c9f26062c --- /dev/null +++ b/src/amuse_ph4/interface.py @@ -0,0 +1,721 @@ +from amuse.community import * +from amuse.community.interface.gd import GravitationalDynamics +from amuse.community.interface.gd import GravitationalDynamicsInterface +from amuse.community.interface.gd import GravityFieldInterface +from amuse.community.interface.gd import GravityFieldCode + +# *** This script, together with the defaults in +# *** GravitationalDynamicsInterface, will be used to generate both +# *** the header file interface.h and the stub interface.cc. Since +# *** interface.cc has been hand-coded to implement the details, +# *** MAKE SURE TO SAVE IT SOMEWHERE, as build.py can overwrite it! + +class ph4Interface(CodeInterface, + LiteratureReferencesMixIn, + GravitationalDynamicsInterface, + StoppingConditionInterface, + GravityFieldInterface): + """ + Parallel, GPU-accelerated, N-body integration module with block + time steps, using a 4th-order Hermite integration scheme. + + .. [#] ADS:2018araa.book.....P (Portegies Zwart, S. & McMillan, S.L.W., 2018) + """ + + # Interface specification. + + include_headers = ['ph4_worker.h', 'stopcond.h'] + + MODE_GPU = 'gpu' + MODE_CPU = 'cpu' + + def __init__(self, mode = MODE_CPU, **options): + CodeInterface.__init__( + self, + name_of_the_worker=self.name_of_the_muse_worker(mode), + **options + ) + LiteratureReferencesMixIn.__init__(self) + + # Interface functions: + @legacy_function + def new_particle(): + """ + Define a new particle in the stellar dynamics code. The + particle is initialized with the provided mass, radius, + position and velocity. This function returns an index that + can be used to refer to this particle. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', + direction=function.OUT, description = + """ + An index assigned to the newly created particle. + This index is supposed to be a local index for the code + (and not valid in other instances of the code or in other codes) + """, + unit = INDEX + ) + + function.addParameter('mass', dtype='float64', direction=function.IN, + description = "The mass of the particle", + unit = nbody_system.mass) + function.addParameter('x', dtype='float64', direction=function.IN, + description = "The initial position vector of the particle", + unit = nbody_system.length) + function.addParameter('y', dtype='float64', direction=function.IN, + description = "The initial position vector of the particle", + unit = nbody_system.length) + function.addParameter('z', dtype='float64', direction=function.IN, + description = "The initial position vector of the particle", + unit = nbody_system.length) + function.addParameter('vx', dtype='float64', direction=function.IN, + description = "The initial velocity vector of the particle", + unit = nbody_system.speed) + function.addParameter('vy', dtype='float64', direction=function.IN, + description = "The initial velocity vector of the particle", + unit = nbody_system.speed) + function.addParameter('vz', dtype='float64', direction=function.IN, + description = "The initial velocity vector of the particle", + unit = nbody_system.speed) + function.addParameter('radius', dtype='float64', direction=function.IN, + description = "The radius of the particle", + default = -1, unit = nbody_system.length) + function.addParameter('id', dtype='int32', direction=function.IN, + description = "Identifier of the particle, " + +"option for restoring state after loading", + default = -1, unit = NO_UNIT) + function.result_type = 'int32' + function.result_doc = """ 0 - OK + particle was created and added to the model + -1 - ERROR + particle could not be created""" + return function + + @legacy_function + def get_particle_timestep(): + """ + Retrieve the timestep of a particle. + """ + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_particle', + dtype='int32', + direction=function.IN, + description = "Index of the particle to get the timestep from. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('timestep', + dtype='float64', + unit=nbody_system.time, + direction=function.OUT, + description = "The current timestep of the particle") + function.result_type = 'int32' + function.can_handle_array = True + return function + + def name_of_the_muse_worker(self, mode): + if mode == self.MODE_CPU: + return 'ph4_worker' + elif mode == self.MODE_GPU: + return 'ph4_sapporo_worker' + else: + return 'ph4_worker' + + # Inheritance from GravitationalDynamicsInterface means that + # functions in the standard interface don't need to be defined. + # See interface.py.2 for a laboriously hand-coded version written + # before I discovered this fact! (Steve McMillan, 10/10) + + # Additional functions defined here will be reflected in + # interface.h and must be provided in interface.cc in order for + # ph4_worker to build. + + # The following functions aren't defined in the default interface: + @legacy_function + def set_time(): + """ + Set the model time. Should use set_begin_time! + """ + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='float64', direction=function.IN, + description = "The model time to start at", unit = nbody_system.time) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Time value was changed + -2 - ERROR + The code does not support setting the time + """ + return function + + @legacy_function + def set_eta(): + """ + Set the current accuracy parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('eta', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_eta(): + """ + Get the current accuracy parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('eta', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_gpu(): + """ + Set use_gpu. + """ + function = LegacyFunctionSpecification() + function.addParameter('gpu', dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_gpu(): + """ + Get use_gpu. + """ + function = LegacyFunctionSpecification() + function.addParameter('gpu', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_gpu_id(): + """ + Set gpu_id. + """ + function = LegacyFunctionSpecification() + function.addParameter('gpu_id', dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_gpu_id(): + """ + Get gpu_id. + """ + function = LegacyFunctionSpecification() + function.addParameter('gpu_id', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_manage_encounters(): + """ + Set the value of manage_encounters. + """ + function = LegacyFunctionSpecification() + function.addParameter('manage_encounters', dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_manage_encounters(): + """ + Get the value of manage_encounters. + """ + function = LegacyFunctionSpecification() + function.addParameter('manage_encounters', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_zero_step_mode(): + """ + Set the value of zero_step_mode. + """ + function = LegacyFunctionSpecification() + function.addParameter('zero_step_mode', dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_zero_step_mode(): + """ + Get the value of zero_step_mode. + """ + function = LegacyFunctionSpecification() + function.addParameter('zero_step_mode', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_force_sync(): + """ + Set the value of force_sync. + """ + function = LegacyFunctionSpecification() + function.addParameter('force_sync', dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_force_sync(): + """ + Get the value of force_sync. + """ + function = LegacyFunctionSpecification() + function.addParameter('force_sync', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_sync_time(): + """ + Set the value of sync_time. + """ + function = LegacyFunctionSpecification() + function.addParameter('sync_time', dtype='float64', + direction=function.IN, unit = nbody_system.time) + function.result_type = 'int32' + return function + + @legacy_function + def get_sync_time(): + """ + Get the value of sync_time. + """ + function = LegacyFunctionSpecification() + function.addParameter('sync_time', dtype='float64', + direction=function.OUT, unit = nbody_system.time) + function.result_type = 'int32' + return function + + @legacy_function + def set_block_steps(): + """ + Set the value of block_steps. + """ + function = LegacyFunctionSpecification() + function.addParameter('set_block_steps', dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_block_steps(): + """ + Get the value of block_steps. + """ + function = LegacyFunctionSpecification() + function.addParameter('get_block_steps', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_total_steps(): + """ + Set the value of total_steps. + """ + function = LegacyFunctionSpecification() + function.addParameter('set_total_steps', dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_total_steps(): + """ + Get the value of total_steps. + """ + function = LegacyFunctionSpecification() + function.addParameter('get_total_steps', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_number_of_particles_updated(): + """ + Return the number of particles added or deleted during the last evolve. + """ + function = LegacyFunctionSpecification() + function.addParameter('index', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_id_of_updated_particle(): + """ + Return the number of particles added or deleted during the last evolve. + """ + function = LegacyFunctionSpecification() + function.addParameter('index_of_update', dtype='int32', + direction=function.IN, + description = 'index in the updated particles list') + function.addParameter('index_of_particle', dtype='int32', + direction=function.OUT) + function.addParameter('kind_of_update', dtype='int32', + direction=function.OUT, + description = 'kind of update (2, addition), (1, deletion)') + function.can_handle_array = True + function.result_type = 'int32' + return function + + @legacy_function + def get_binary_energy(): + """ + Return the total energy in all binaries. + """ + function = LegacyFunctionSpecification() + function.addParameter( + 'binary_energy', + dtype='float64', + direction=function.OUT, + unit = nbody_system.energy + ) + function.result_type = 'int32' + return function + + @legacy_function + def set_initial_timestep_fac(): + """ + Set the current accuracy parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('initial_timestep_fac', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_initial_timestep_fac(): + """ + Get the current accuracy parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('initial_timestep_fac', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_initial_timestep_limit(): + """ + Set the current accuracy parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('initial_timestep_limit', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_initial_timestep_limit(): + """ + Get the current accuracy parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('initial_timestep_limit', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_initial_timestep_median(): + """ + Set the current accuracy parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('initial_timestep_median', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_initial_timestep_median(): + """ + Get the current accuracy parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('initial_timestep_median', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def recompute_timesteps(): + """ + Force recomputation of all timesteps (assume a synchronized system), + """ + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + +class ph4(GravitationalDynamics,GravityFieldCode): + + # The actual module. + + def __init__(self, convert_nbody = None, **keyword_arguments): + legacy_interface = ph4Interface(**keyword_arguments) + + self.stopping_conditions = StoppingConditions(self) + + GravitationalDynamics.__init__(self, + legacy_interface, + convert_nbody, + **keyword_arguments) + + def define_state(self, handler): + GravitationalDynamics.define_state(self, handler) + handler.add_method('RUN', 'get_particle_timestep') + GravityFieldCode.define_state(self, handler) + + handler.add_method('EDIT', 'set_state') + handler.add_method('EDIT', 'set_velocity') + handler.add_method('EDIT', 'set_mass') + handler.add_method('EDIT', 'set_position') + handler.add_method('CHANGED','before_get_parameter') + + handler.add_transition('RUN', 'CHANGED', 'set_state', False) + handler.add_transition('RUN', 'CHANGED', 'set_velocity', False) + handler.add_transition('RUN', 'CHANGED', 'set_mass', False) + handler.add_transition('RUN', 'CHANGED', 'set_position', False) + handler.add_transition('CHANGED', 'RUN', 'synchronize_model') + handler.add_method('CHANGED', 'get_state') + handler.add_method('CHANGED', 'get_mass') + handler.add_method('CHANGED', 'get_position') + handler.add_method('CHANGED', 'get_velocity') + handler.add_method('CHANGED', 'get_particle_timestep') + + self.stopping_conditions.define_state(handler) + + def define_parameters(self, handler): + + # Set/get parameters specific to the module, not part of the + # standard interface. Accessors used here must be defined + # above and reflected in interface.cc. Python access is + # (e.g.) + # + # ph4.parameters.timestep_parameter = xxx + + handler.add_method_parameter( + "get_eta", # getter name in interface.cc + "set_eta", # setter name in interface.cc + "timestep_parameter", # python parameter name + "timestep parameter", # description + default_value = 0.14 + ) + + handler.add_method_parameter( + "get_eps2", # already defined in standard interface + "set_eps2", # already defined in standard interface + "epsilon_squared", + "smoothing parameter for gravity calculations", + default_value = 0.0 | nbody_system.length * nbody_system.length + ) + + handler.add_method_parameter( + "get_gpu", # getter name in interface.cc + "set_gpu", # setter name in interface.cc + "use_gpu", # python parameter name + "use GPU", # description + default_value = 1 + ) + + handler.add_method_parameter( + "get_gpu_id", # getter name in interface.cc + "set_gpu_id", # setter name in interface.cc + "gpu_id", # python parameter name + "GPU ID", # description + default_value = -1 + ) + + handler.add_method_parameter( + "get_manage_encounters", # getter name in interface.cc + "set_manage_encounters", # setter name in interface.cc + "manage_encounters", # python parameter name + "manage close encounters", # description + default_value = 4 + ) + + handler.add_method_parameter( + "get_begin_time", + "set_begin_time", + "begin_time", + "model time at which to start the simulation", + default_value = 0.0 | nbody_system.time + ) + + handler.add_method_parameter( + "get_sync_time", + "set_sync_time", + "sync_time", + "last model synchronization time", + default_value = 0.0 | nbody_system.time + ) + + handler.add_method_parameter( + "get_zero_step_mode", + "set_zero_step_mode", + "zero_step_mode", + "force evolve_model to take zero-length steps", + default_value = 0 + ) + + handler.add_method_parameter( + "get_force_sync", + "set_force_sync", + "force_sync", + "force evolve_model to sync at specified time", + default_value = 0 + ) + + handler.add_method_parameter( + "get_block_steps", + "set_block_steps", + "block_steps", + "number of block steps", + default_value = 0 + ) + + handler.add_method_parameter( + "get_total_steps", + "set_total_steps", + "total_steps", + "total number of steps", + default_value = 0 + ) + + handler.add_method_parameter( + "get_initial_timestep_fac", # getter name in interface.cc + "set_initial_timestep_fac", # setter name in interface.cc + "initial_timestep_fac", # python parameter name + "initial timestep factor", # description + default_value = 0.0625 + ) + + handler.add_method_parameter( + "get_initial_timestep_limit", # getter name in interface.cc + "set_initial_timestep_limit", # setter name in interface.cc + "initial_timestep_limit", # python parameter name + "initial timestep limit", # description + default_value = 0.03125 + ) + + handler.add_method_parameter( + "get_initial_timestep_median", # getter name in interface.cc + "set_initial_timestep_median", # setter name in interface.cc + "initial_timestep_median", # python parameter name + "initial timestep median factor", # description + default_value = 8.0 + ) + + self.stopping_conditions.define_parameters(handler) + + def update_particle_set(self): + """ + update the particle set after changes in the code + + this implementation needs to move to the + amuse.datamodel.incode_storage module, as + it uses a lot of internal methods and info! + + """ + number_of_updated_particles = self.get_number_of_particles_updated() + + if number_of_updated_particles == 0: + return + + indices_in_update_list = list(range(number_of_updated_particles)) + particle_indices, updates \ + = self.get_id_of_updated_particle(indices_in_update_list) + + incode_storage = self.particles._private.attribute_storage + + indices_to_remove = [] + indices_to_add = [] + for index, status in zip(particle_indices, updates): + if status == 1: # deletion + indices_to_remove.append(index) + elif status == 2: # addition + indices_to_add.append(index) + + print('') + print("indices_to_remove:", indices_to_remove) + print("indices_to_add:", indices_to_add) + + if len(indices_to_remove) > 0: + incode_storage._remove_indices(indices_to_remove) + if len(indices_to_add) > 0: + incode_storage._add_indices(indices_to_add) + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + + # Turn interface functions into methods. + handler.add_method( + "new_particle", + ( + nbody_system.mass, + nbody_system.length, + nbody_system.length, + nbody_system.length, + nbody_system.speed, + nbody_system.speed, + nbody_system.speed, + nbody_system.length, + handler.NO_UNIT + ), + ( + handler.INDEX, + handler.ERROR_CODE + ) + ) + + handler.add_method( + "set_eps2", + ( + nbody_system.length * nbody_system.length + ), + ( + handler.ERROR_CODE + ) + ) + + handler.add_method( + "get_eps2", + (), + ( + nbody_system.length * nbody_system.length, + handler.ERROR_CODE + ) + ) + + self.stopping_conditions.define_methods(handler) + + def define_particle_sets(self, handler): + GravitationalDynamics.define_particle_sets(self, handler) + + handler.add_getter('particles', 'get_particle_timestep', + names = ('timestep',)) + handler.add_getter('particles', 'get_potential', + names=('potential_in_code',)) + + self.stopping_conditions.define_particle_set(handler) + + +Ph4 = ph4 diff --git a/src/amuse_ph4/packages/amuse-ph4-sapporo.amuse_deps b/src/amuse_ph4/packages/amuse-ph4-sapporo.amuse_deps new file mode 100644 index 0000000000..60efc30aa8 --- /dev/null +++ b/src/amuse_ph4/packages/amuse-ph4-sapporo.amuse_deps @@ -0,0 +1 @@ +c c++ mpi sapporo_light diff --git a/src/amuse_ph4/packages/amuse-ph4-sapporo/amuse_ph4 b/src/amuse_ph4/packages/amuse-ph4-sapporo/amuse_ph4 new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_ph4/packages/amuse-ph4-sapporo/amuse_ph4 @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_ph4/packages/amuse-ph4-sapporo/pyproject.toml b/src/amuse_ph4/packages/amuse-ph4-sapporo/pyproject.toml new file mode 100644 index 0000000000..c03dbcf462 --- /dev/null +++ b/src/amuse_ph4/packages/amuse-ph4-sapporo/pyproject.toml @@ -0,0 +1,40 @@ +[project] +name = "amuse-ph4-sapporo" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework", + "amuse-ph4" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_ph4"] +exclude = ["amuse_ph4/*"] +artifacts = ["amuse_ph4/ph4_sapporo_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_ph4/tests/", "../../../tests"] + +testpaths = ["amuse_ph4/tests"] + +# Test the installed package, and only GPU tests. +addopts = "--import-mode=append -k gpu" + diff --git a/src/amuse_ph4/packages/amuse-ph4.amuse_deps b/src/amuse_ph4/packages/amuse-ph4.amuse_deps new file mode 100644 index 0000000000..c56cfa06a6 --- /dev/null +++ b/src/amuse_ph4/packages/amuse-ph4.amuse_deps @@ -0,0 +1 @@ +c c++ mpi diff --git a/src/amuse_ph4/packages/amuse-ph4/amuse_ph4 b/src/amuse_ph4/packages/amuse-ph4/amuse_ph4 new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_ph4/packages/amuse-ph4/amuse_ph4 @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_ph4/packages/amuse-ph4/pyproject.toml b/src/amuse_ph4/packages/amuse-ph4/pyproject.toml new file mode 100644 index 0000000000..a9ef9da073 --- /dev/null +++ b/src/amuse_ph4/packages/amuse-ph4/pyproject.toml @@ -0,0 +1,46 @@ +[project] +name = "amuse-ph4" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_ph4/**/*.py"] +exclude = [ + "amuse_ph4/packages", + "amuse_ph4/support", + "amuse_ph4/src", + "amuse_ph4/tests", + "amuse_ph4/test_scripts", + "amuse_ph4/util" + ] +artifacts = ["amuse_ph4/ph4_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_ph4/tests/", "../../../tests"] + +testpaths = ["amuse_ph4/tests"] + +# Test the installed package, and only CPU tests. +addopts = "--import-mode=append -k 'not gpu'" + diff --git a/src/amuse/community/ph4/src/GPU_options.txt b/src/amuse_ph4/src/GPU_options.txt similarity index 100% rename from src/amuse/community/ph4/src/GPU_options.txt rename to src/amuse_ph4/src/GPU_options.txt diff --git a/src/amuse_ph4/src/Makefile b/src/amuse_ph4/src/Makefile new file mode 100644 index 0000000000..36756a656d --- /dev/null +++ b/src/amuse_ph4/src/Makefile @@ -0,0 +1,85 @@ + +# Makefile to build the libph4.a library. The first draft was +# auto-generated; subsequent versions are hand-coded. Save a copy! + +# Optimization may cause failure on some systems. Replace by -O0 in +# that case. + +GPU = -DGPU -DDEBUG=3 +MPICXX ?= mpicxx +MPICC ?= mpicc +CXX ?= mpicxx +CFLAGS += -g -Wall $(OPT) +CXXFLAGS += $(CFLAGS) + +CODELIB = libph4.a + +CODELIB_GPU = libph4gpu.a + +CODEOBJS = debug.o diag.o gpu.o grape.o idata.o jdata.o scheduler.o \ + close_encounter.o two_body.o util.o +CODEOBJS_GPU = $(subst .o,.gpuo, $(CODEOBJS)) + +# Needed if we don't use AMUSE stopping conditions: + +EXTRAOBJS = kepler-lib.o hdyn.o smallN-lib.o smallN_unpert.o \ + analyze-lib.o nstab.co f2c.co + +GPUFLAGS = $(GPU) + +AR = ar ruv +RANLIB = ranlib +RM = rm + +all: $(CODELIB) + +gpulib: $(CODELIB_GPU) + +$(CODELIB): $(CODEOBJS) $(EXTRAOBJS) + $(RM) -f $@ + $(AR) $@ $(CODEOBJS) $(EXTRAOBJS) + $(RANLIB) $@ + +$(CODELIB_GPU): $(CODEOBJS_GPU) $(EXTRAOBJS) + echo $(CODEOBJS_GPU) + $(RM) -f $@ + $(AR) $@ $(CODEOBJS_GPU) $(EXTRAOBJS) + $(RANLIB) $@ + +.cc.o: $< + $(CXX) $(CXXFLAGS) -c -o $@ $< + +$(CODEOBJS_GPU): %.gpuo: %.cc + $(CXX) $(CXXFLAGS) $(GPUFLAGS) -c -o $@ $< + +#----------------------------------------------------------------------- + +# Should only need to build nstab.c after a (rare) update of nstab.f +# from R. Mardling. +update_nstab: + f2c nstab.f + +nstab.co: nstab.c + $(MPICC) $(CFLAGS) -c nstab.c -o nstab.co + +f2c.co: f2c.c + $(MPICC) $(CFLAGS) -c f2c.c -o f2c.co + +#----------------------------------------------------------------------- + +smallN-lib.o: smallN.cc + $(MPICXX) $(CFLAGS) -c smallN.cc -o smallN-lib.o + +kepler-lib.o: kepler.cc + $(MPICXX) $(CFLAGS) -c kepler.cc -o kepler-lib.o + +analyze-lib.o: analyze.cc + $(MPICXX) $(CFLAGS) -c analyze.cc -o analyze-lib.o + +#----------------------------------------------------------------------- + +tar: + tar czf ph4.tgz Makefile.ph4 *.h *.cc plummer*.in* + +clean: + $(RM) -r -f *.o *.co *~ *.tgz *.a *.gpuo diff --git a/src/amuse/community/ph4/src/Makefile.ph4 b/src/amuse_ph4/src/Makefile.ph4 similarity index 100% rename from src/amuse/community/ph4/src/Makefile.ph4 rename to src/amuse_ph4/src/Makefile.ph4 diff --git a/src/amuse/community/ph4/src/README b/src/amuse_ph4/src/README similarity index 100% rename from src/amuse/community/ph4/src/README rename to src/amuse_ph4/src/README diff --git a/src/amuse/community/ph4/src/TODO b/src/amuse_ph4/src/TODO similarity index 100% rename from src/amuse/community/ph4/src/TODO rename to src/amuse_ph4/src/TODO diff --git a/src/amuse/community/ph4/src/analyze.cc b/src/amuse_ph4/src/analyze.cc similarity index 100% rename from src/amuse/community/ph4/src/analyze.cc rename to src/amuse_ph4/src/analyze.cc diff --git a/src/amuse/community/ph4/src/close_encounter.cc b/src/amuse_ph4/src/close_encounter.cc similarity index 100% rename from src/amuse/community/ph4/src/close_encounter.cc rename to src/amuse_ph4/src/close_encounter.cc diff --git a/src/amuse/community/ph4/src/ctest_nstab.cc b/src/amuse_ph4/src/ctest_nstab.cc similarity index 100% rename from src/amuse/community/ph4/src/ctest_nstab.cc rename to src/amuse_ph4/src/ctest_nstab.cc diff --git a/src/amuse/community/ph4/src/debug.cc b/src/amuse_ph4/src/debug.cc similarity index 100% rename from src/amuse/community/ph4/src/debug.cc rename to src/amuse_ph4/src/debug.cc diff --git a/src/amuse/community/ph4/src/debug.h b/src/amuse_ph4/src/debug.h similarity index 100% rename from src/amuse/community/ph4/src/debug.h rename to src/amuse_ph4/src/debug.h diff --git a/src/amuse/community/ph4/src/diag.cc b/src/amuse_ph4/src/diag.cc similarity index 100% rename from src/amuse/community/ph4/src/diag.cc rename to src/amuse_ph4/src/diag.cc diff --git a/src/amuse/community/ph4/src/f2c.c b/src/amuse_ph4/src/f2c.c similarity index 100% rename from src/amuse/community/ph4/src/f2c.c rename to src/amuse_ph4/src/f2c.c diff --git a/src/amuse/community/ph4/src/f2c.h b/src/amuse_ph4/src/f2c.h similarity index 100% rename from src/amuse/community/ph4/src/f2c.h rename to src/amuse_ph4/src/f2c.h diff --git a/src/amuse/community/ph4/src/ftest_nstab.f b/src/amuse_ph4/src/ftest_nstab.f similarity index 100% rename from src/amuse/community/ph4/src/ftest_nstab.f rename to src/amuse_ph4/src/ftest_nstab.f diff --git a/src/amuse/community/ph4/src/gpu.cc b/src/amuse_ph4/src/gpu.cc similarity index 100% rename from src/amuse/community/ph4/src/gpu.cc rename to src/amuse_ph4/src/gpu.cc diff --git a/src/amuse/community/ph4/src/grape.cc b/src/amuse_ph4/src/grape.cc similarity index 100% rename from src/amuse/community/ph4/src/grape.cc rename to src/amuse_ph4/src/grape.cc diff --git a/src/amuse/community/ph4/src/grape.h b/src/amuse_ph4/src/grape.h similarity index 100% rename from src/amuse/community/ph4/src/grape.h rename to src/amuse_ph4/src/grape.h diff --git a/src/amuse/community/ph4/src/hdyn.cc b/src/amuse_ph4/src/hdyn.cc similarity index 100% rename from src/amuse/community/ph4/src/hdyn.cc rename to src/amuse_ph4/src/hdyn.cc diff --git a/src/amuse/community/ph4/src/hdyn.h b/src/amuse_ph4/src/hdyn.h similarity index 100% rename from src/amuse/community/ph4/src/hdyn.h rename to src/amuse_ph4/src/hdyn.h diff --git a/src/amuse/community/ph4/src/idata.cc b/src/amuse_ph4/src/idata.cc similarity index 100% rename from src/amuse/community/ph4/src/idata.cc rename to src/amuse_ph4/src/idata.cc diff --git a/src/amuse/community/ph4/src/idata.h b/src/amuse_ph4/src/idata.h similarity index 100% rename from src/amuse/community/ph4/src/idata.h rename to src/amuse_ph4/src/idata.h diff --git a/src/amuse/community/ph4/src/jdata.cc b/src/amuse_ph4/src/jdata.cc similarity index 100% rename from src/amuse/community/ph4/src/jdata.cc rename to src/amuse_ph4/src/jdata.cc diff --git a/src/amuse/community/ph4/src/jdata.h b/src/amuse_ph4/src/jdata.h similarity index 100% rename from src/amuse/community/ph4/src/jdata.h rename to src/amuse_ph4/src/jdata.h diff --git a/src/amuse/community/ph4/src/kepler.cc b/src/amuse_ph4/src/kepler.cc similarity index 100% rename from src/amuse/community/ph4/src/kepler.cc rename to src/amuse_ph4/src/kepler.cc diff --git a/src/amuse/community/ph4/src/kepler.h b/src/amuse_ph4/src/kepler.h similarity index 100% rename from src/amuse/community/ph4/src/kepler.h rename to src/amuse_ph4/src/kepler.h diff --git a/src/amuse/community/ph4/src/nstab.c b/src/amuse_ph4/src/nstab.c similarity index 100% rename from src/amuse/community/ph4/src/nstab.c rename to src/amuse_ph4/src/nstab.c diff --git a/src/amuse/community/ph4/src/nstab.f b/src/amuse_ph4/src/nstab.f similarity index 100% rename from src/amuse/community/ph4/src/nstab.f rename to src/amuse_ph4/src/nstab.f diff --git a/src/amuse/community/ph4/src/nstab.h b/src/amuse_ph4/src/nstab.h similarity index 100% rename from src/amuse/community/ph4/src/nstab.h rename to src/amuse_ph4/src/nstab.h diff --git a/src/amuse/community/ph4/src/old_close_encounter.cc b/src/amuse_ph4/src/old_close_encounter.cc similarity index 100% rename from src/amuse/community/ph4/src/old_close_encounter.cc rename to src/amuse_ph4/src/old_close_encounter.cc diff --git a/src/amuse/community/ph4/src/parallel_hermite_4.cc b/src/amuse_ph4/src/parallel_hermite_4.cc similarity index 100% rename from src/amuse/community/ph4/src/parallel_hermite_4.cc rename to src/amuse_ph4/src/parallel_hermite_4.cc diff --git a/src/amuse/community/ph4/src/plummer100.in b/src/amuse_ph4/src/plummer100.in similarity index 100% rename from src/amuse/community/ph4/src/plummer100.in rename to src/amuse_ph4/src/plummer100.in diff --git a/src/amuse/community/ph4/src/plummer16k.in b/src/amuse_ph4/src/plummer16k.in similarity index 100% rename from src/amuse/community/ph4/src/plummer16k.in rename to src/amuse_ph4/src/plummer16k.in diff --git a/src/amuse/community/ph4/src/plummer1k.in b/src/amuse_ph4/src/plummer1k.in similarity index 100% rename from src/amuse/community/ph4/src/plummer1k.in rename to src/amuse_ph4/src/plummer1k.in diff --git a/src/amuse/community/ph4/src/plummer4k.in b/src/amuse_ph4/src/plummer4k.in similarity index 100% rename from src/amuse/community/ph4/src/plummer4k.in rename to src/amuse_ph4/src/plummer4k.in diff --git a/src/amuse/community/ph4/src/plummer8k.in b/src/amuse_ph4/src/plummer8k.in similarity index 100% rename from src/amuse/community/ph4/src/plummer8k.in rename to src/amuse_ph4/src/plummer8k.in diff --git a/src/amuse/community/ph4/src/plummer_test.in b/src/amuse_ph4/src/plummer_test.in similarity index 100% rename from src/amuse/community/ph4/src/plummer_test.in rename to src/amuse_ph4/src/plummer_test.in diff --git a/src/amuse/community/ph4/src/random_nstab.cc b/src/amuse_ph4/src/random_nstab.cc similarity index 100% rename from src/amuse/community/ph4/src/random_nstab.cc rename to src/amuse_ph4/src/random_nstab.cc diff --git a/src/amuse/community/ph4/src/rescale_smallN.cc b/src/amuse_ph4/src/rescale_smallN.cc similarity index 100% rename from src/amuse/community/ph4/src/rescale_smallN.cc rename to src/amuse_ph4/src/rescale_smallN.cc diff --git a/src/amuse/community/ph4/src/scheduler.cc b/src/amuse_ph4/src/scheduler.cc similarity index 100% rename from src/amuse/community/ph4/src/scheduler.cc rename to src/amuse_ph4/src/scheduler.cc diff --git a/src/amuse/community/ph4/src/scheduler.h b/src/amuse_ph4/src/scheduler.h similarity index 100% rename from src/amuse/community/ph4/src/scheduler.h rename to src/amuse_ph4/src/scheduler.h diff --git a/src/amuse/community/ph4/src/smallN.cc b/src/amuse_ph4/src/smallN.cc similarity index 100% rename from src/amuse/community/ph4/src/smallN.cc rename to src/amuse_ph4/src/smallN.cc diff --git a/src/amuse/community/ph4/src/smallN_unpert.cc b/src/amuse_ph4/src/smallN_unpert.cc similarity index 100% rename from src/amuse/community/ph4/src/smallN_unpert.cc rename to src/amuse_ph4/src/smallN_unpert.cc diff --git a/src/amuse/community/ph4/src/stdinc.h b/src/amuse_ph4/src/stdinc.h similarity index 100% rename from src/amuse/community/ph4/src/stdinc.h rename to src/amuse_ph4/src/stdinc.h diff --git a/src/amuse/community/ph4/src/test.sh b/src/amuse_ph4/src/test.sh similarity index 100% rename from src/amuse/community/ph4/src/test.sh rename to src/amuse_ph4/src/test.sh diff --git a/src/amuse/community/ph4/src/test_hosts.cc b/src/amuse_ph4/src/test_hosts.cc similarity index 100% rename from src/amuse/community/ph4/src/test_hosts.cc rename to src/amuse_ph4/src/test_hosts.cc diff --git a/src/amuse/community/ph4/src/test_nstab.sh b/src/amuse_ph4/src/test_nstab.sh similarity index 100% rename from src/amuse/community/ph4/src/test_nstab.sh rename to src/amuse_ph4/src/test_nstab.sh diff --git a/src/amuse/community/ph4/test_multiples.py b/src/amuse_ph4/src/tests/test_multiples.py similarity index 100% rename from src/amuse/community/ph4/test_multiples.py rename to src/amuse_ph4/src/tests/test_multiples.py diff --git a/src/amuse/community/ph4/test_multiples2.py b/src/amuse_ph4/src/tests/test_multiples2.py similarity index 100% rename from src/amuse/community/ph4/test_multiples2.py rename to src/amuse_ph4/src/tests/test_multiples2.py diff --git a/src/amuse/community/ph4/test_ph4.py b/src/amuse_ph4/src/tests/test_ph4.py similarity index 100% rename from src/amuse/community/ph4/test_ph4.py rename to src/amuse_ph4/src/tests/test_ph4.py diff --git a/src/amuse/community/ph4/test_sync.py b/src/amuse_ph4/src/tests/test_sync.py similarity index 100% rename from src/amuse/community/ph4/test_sync.py rename to src/amuse_ph4/src/tests/test_sync.py diff --git a/src/amuse/community/ph4/src/two_body.cc b/src/amuse_ph4/src/two_body.cc similarity index 100% rename from src/amuse/community/ph4/src/two_body.cc rename to src/amuse_ph4/src/two_body.cc diff --git a/src/amuse/community/ph4/src/util.cc b/src/amuse_ph4/src/util.cc similarity index 100% rename from src/amuse/community/ph4/src/util.cc rename to src/amuse_ph4/src/util.cc diff --git a/src/amuse/community/ph4/src/vec.h b/src/amuse_ph4/src/vec.h similarity index 100% rename from src/amuse/community/ph4/src/vec.h rename to src/amuse_ph4/src/vec.h diff --git a/src/amuse_ph4/support/aclocal.m4 b/src/amuse_ph4/support/aclocal.m4 new file mode 100644 index 0000000000..5fea1010bd --- /dev/null +++ b/src/amuse_ph4/support/aclocal.m4 @@ -0,0 +1,19 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_ph4/support/config.mk.in b/src/amuse_ph4/support/config.mk.in new file mode 100644 index 0000000000..937e576ce8 --- /dev/null +++ b/src/amuse_ph4/support/config.mk.in @@ -0,0 +1,31 @@ +# Compilers +CC = @CC@ +CXX = @CXX@ + +MPICC = @MPICC@ +MPICXX = @MPICXX@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ + + +# General flags and libraries +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +STOPCOND_CFLAGS = @STOPCOND_CFLAGS@ +STOPCOND_LIBS = @STOPCOND_LIBS@ + + +# External dependencies +FOUND_SAPPORO_LIGHT = @FOUND_SAPPORO_LIGHT@ +SAPPORO_LIGHT_CFLAGS = @SAPPORO_LIGHT_CFLAGS@ +SAPPORO_LIGHT_LIBS = @SAPPORO_LIGHT_LIBS@ + diff --git a/src/amuse_ph4/support/configure b/src/amuse_ph4/support/configure new file mode 100755 index 0000000000..dab6a9186b --- /dev/null +++ b/src/amuse_ph4/support/configure @@ -0,0 +1,6872 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-ph4 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-ph4' +PACKAGE_TARNAME='amuse-ph4' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-ph4 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +FOUND_SAPPORO_LIGHT +SAPPORO_LIGHT_LIBS +SAPPORO_LIGHT_CFLAGS +FOUND_STOPCOND +STOPCOND_LIBS +STOPCOND_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +RANLIB +AR +target_os +target_vendor +target_cpu +target +ac_ct_CXX +CXXFLAGS +CXX +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCOND_CFLAGS +STOPCOND_LIBS +SAPPORO_LIGHT_CFLAGS +SAPPORO_LIGHT_LIBS +MPICC +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-ph4 1.0 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/amuse-ph4] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-ph4 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + 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 + CXX C++ compiler command + CXXFLAGS C++ compiler flags + 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 + STOPCOND_CFLAGS + C compiler flags for STOPCOND, overriding pkg-config + STOPCOND_LIBS + linker flags for STOPCOND, overriding pkg-config + SAPPORO_LIGHT_CFLAGS + C compiler flags for SAPPORO_LIGHT, overriding pkg-config + SAPPORO_LIGHT_LIBS + linker flags for SAPPORO_LIGHT, overriding pkg-config + MPICC MPI C compiler command + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-ph4 configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-ph4 $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find AMUSE libraries + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCOND_CFLAGS" + amuse_save_LIB_LIBS="$STOPCOND_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing is_condition_enabled" >&5 +printf %s "checking for library containing is_condition_enabled... " >&6; } +if test ${ac_cv_search_is_condition_enabled+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char is_condition_enabled (); +int +main (void) +{ +return is_condition_enabled (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcond +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_is_condition_enabled=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_is_condition_enabled+y} +then : + break +fi +done +if test ${ac_cv_search_is_condition_enabled+y} +then : + +else $as_nop + ac_cv_search_is_condition_enabled=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_is_condition_enabled" >&5 +printf "%s\n" "$ac_cv_search_is_condition_enabled" >&6; } +ac_res=$ac_cv_search_is_condition_enabled +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCOND="yes" + STOPCOND_LIBS="$LIBS" + STOPCOND_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCOND" >&5 +printf %s "checking for STOPCOND... " >&6; } + +if test -n "$STOPCOND_CFLAGS"; then + pkg_cv_STOPCOND_CFLAGS="$STOPCOND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_CFLAGS=`$PKG_CONFIG --cflags "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCOND_LIBS"; then + pkg_cv_STOPCOND_LIBS="$STOPCOND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_LIBS=`$PKG_CONFIG --libs "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcond" 2>&1` + else + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcond" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCOND_PKG_ERRORS" >&5 + + + FOUND_STOPCOND="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCOND="no" + +else + STOPCOND_CFLAGS=$pkg_cv_STOPCOND_CFLAGS + STOPCOND_LIBS=$pkg_cv_STOPCOND_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCOND="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCOND}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCOND_CFLAGS="${STOPCOND_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCOND_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCOND_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$SAPPORO_LIGHT_CFLAGS" + amuse_save_LIB_LIBS="$SAPPORO_LIGHT_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing get_device_count" >&5 +printf %s "checking for library containing get_device_count... " >&6; } +if test ${ac_cv_search_get_device_count+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char get_device_count (); +int +main (void) +{ +return get_device_count (); + ; + return 0; +} +_ACEOF +for ac_lib in '' sapporo +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_get_device_count=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_get_device_count+y} +then : + break +fi +done +if test ${ac_cv_search_get_device_count+y} +then : + +else $as_nop + ac_cv_search_get_device_count=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_get_device_count" >&5 +printf "%s\n" "$ac_cv_search_get_device_count" >&6; } +ac_res=$ac_cv_search_get_device_count +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_SAPPORO_LIGHT="yes" + SAPPORO_LIGHT_LIBS="$LIBS" + SAPPORO_LIGHT_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SAPPORO_LIGHT" >&5 +printf %s "checking for SAPPORO_LIGHT... " >&6; } + +if test -n "$SAPPORO_LIGHT_CFLAGS"; then + pkg_cv_SAPPORO_LIGHT_CFLAGS="$SAPPORO_LIGHT_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sapporo_light\""; } >&5 + ($PKG_CONFIG --exists --print-errors "sapporo_light") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_SAPPORO_LIGHT_CFLAGS=`$PKG_CONFIG --cflags "sapporo_light" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$SAPPORO_LIGHT_LIBS"; then + pkg_cv_SAPPORO_LIGHT_LIBS="$SAPPORO_LIGHT_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sapporo_light\""; } >&5 + ($PKG_CONFIG --exists --print-errors "sapporo_light") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_SAPPORO_LIGHT_LIBS=`$PKG_CONFIG --libs "sapporo_light" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + SAPPORO_LIGHT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "sapporo_light" 2>&1` + else + SAPPORO_LIGHT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "sapporo_light" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$SAPPORO_LIGHT_PKG_ERRORS" >&5 + + + FOUND_SAPPORO_LIGHT="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_SAPPORO_LIGHT="no" + +else + SAPPORO_LIGHT_CFLAGS=$pkg_cv_SAPPORO_LIGHT_CFLAGS + SAPPORO_LIGHT_LIBS=$pkg_cv_SAPPORO_LIGHT_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_SAPPORO_LIGHT="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_SAPPORO_LIGHT}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + SAPPORO_LIGHT_CFLAGS="${SAPPORO_LIGHT_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + SAPPORO_LIGHT_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + SAPPORO_LIGHT_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +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 + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-ph4 $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-ph4 config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_ph4/support/configure.ac b/src/amuse_ph4/support/configure.ac new file mode 100644 index 0000000000..942b9e54f7 --- /dev/null +++ b/src/amuse_ph4/support/configure.ac @@ -0,0 +1,42 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-ph4], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_CC() +AC_PROG_CXX() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find AMUSE libraries +AMUSE_LIB_STOPCOND() +AMUSE_LIB_SAPPORO_LIGHT() + + +# Find external dependencies +AC_LANG_PUSH([C]) +AX_MPI() +AC_LANG_POP([C]) + +AC_LANG_PUSH([C++]) +AX_MPI() +AC_LANG_POP([C++]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_ph4/support/shared b/src/amuse_ph4/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_ph4/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_ph4.py b/src/amuse_ph4/tests/test_ph4.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_ph4.py rename to src/amuse_ph4/tests/test_ph4.py index 40a5c17f5f..5cf96e8f6b 100644 --- a/src/amuse/test/suite/codes_tests/test_ph4.py +++ b/src/amuse_ph4/tests/test_ph4.py @@ -1,9 +1,9 @@ import os import sys import time -from amuse.community.ph4.interface import ph4Interface, ph4 +from amuse_ph4.interface import ph4Interface, ph4 -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI import numpy import math @@ -16,7 +16,7 @@ HAS_MATPLOTLIB = True except ImportError: HAS_MATPLOTLIB = False -from amuse.test.suite.codes_tests.gd_tests import ( +from codes_tests.gd_tests import ( _TestGravitationalDynamicsInterface, ) @@ -418,7 +418,7 @@ def test10(self): self.assertTrue(e1 != e0) def test10b(self): - instance = ph4(number_of_workers=4) + instance = ph4(number_of_workers=2) instance.initialize_code() instance.parameters.epsilon_squared = 0.0 | nbody_system.length**2 @@ -822,7 +822,7 @@ def test20(self): self.assertAlmostRelativeEquals(potential0, pot, 5) instance.stop() - def test21(self): + def test21_noci(self): particles = new_plummer_model(200) particles.scale_to_standard() instance = ph4() @@ -845,7 +845,7 @@ def test21(self): self.assertAlmostRelativeEquals(potential0, potential, 8) instance.stop() - def test22(self): + def test22_gpu(self): particles = new_plummer_model(200) particles.scale_to_standard() try: diff --git a/src/amuse/community/ph4/binary_hist.py b/src/amuse_ph4/util/binary_hist.py similarity index 100% rename from src/amuse/community/ph4/binary_hist.py rename to src/amuse_ph4/util/binary_hist.py diff --git a/src/amuse/community/ph4/util/initialize_system.py b/src/amuse_ph4/util/initialize_system.py similarity index 100% rename from src/amuse/community/ph4/util/initialize_system.py rename to src/amuse_ph4/util/initialize_system.py diff --git a/src/amuse/community/ph4/util/multiples.sh b/src/amuse_ph4/util/multiples.sh similarity index 100% rename from src/amuse/community/ph4/util/multiples.sh rename to src/amuse_ph4/util/multiples.sh diff --git a/src/amuse/community/ph4/plot_energy_vs_t.py b/src/amuse_ph4/util/plot_energy_vs_t.py similarity index 100% rename from src/amuse/community/ph4/plot_energy_vs_t.py rename to src/amuse_ph4/util/plot_energy_vs_t.py diff --git a/src/amuse/community/ph4/plot_kT_vs_t.py b/src/amuse_ph4/util/plot_kT_vs_t.py similarity index 100% rename from src/amuse/community/ph4/plot_kT_vs_t.py rename to src/amuse_ph4/util/plot_kT_vs_t.py diff --git a/src/amuse/community/ph4/util/plot_smalln_data.py b/src/amuse_ph4/util/plot_smalln_data.py similarity index 100% rename from src/amuse/community/ph4/util/plot_smalln_data.py rename to src/amuse_ph4/util/plot_smalln_data.py diff --git a/src/amuse/community/ph4/plotq.py b/src/amuse_ph4/util/plotq.py similarity index 100% rename from src/amuse/community/ph4/plotq.py rename to src/amuse_ph4/util/plotq.py diff --git a/src/amuse/community/ph4/util/run_ph4.py b/src/amuse_ph4/util/run_ph4.py similarity index 100% rename from src/amuse/community/ph4/util/run_ph4.py rename to src/amuse_ph4/util/run_ph4.py diff --git a/src/amuse/community/ph4/util/utils.py b/src/amuse_ph4/util/utils.py similarity index 100% rename from src/amuse/community/ph4/util/utils.py rename to src/amuse_ph4/util/utils.py diff --git a/src/amuse_phantom/Makefile b/src/amuse_phantom/Makefile new file mode 100644 index 0000000000..f8310ebe4f --- /dev/null +++ b/src/amuse_phantom/Makefile @@ -0,0 +1,78 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Downloading the code +VERSION = ca6907f5f9a95f866b1d7e520cc356ab8cec8dd0 + +src/phantom.zip: + mkdir -p src + $(DOWNLOAD) https://github.com/rieder/phantom/archive/$(VERSION).zip >$@ + +src/phantom: src/phantom.zip + unzip $< + mv phantom-$(VERSION) src/phantom + + +# Building the code into a static library +FCFLAGS += $(STOPCOND_CFLAGS) $(FORSOCKETS_CFLAGS) $(OPENMP_FCFLAGS) +LDLIBS += -lm $(STOPCOND_LIBS) $(FORSOCKETS_LIBS) +LDFLAGS += $(OPENMP_FCFLAGS) + +CODELIB = src/phantom/bin/libphantom-amuse.a + +.PHONY: $(CODELIB) +$(CODELIB): | src/phantom + $(MAKE) -C src/phantom libphantom-amuse SETUP=amuse SYSTEM=gfortran OPENMP=yes + + +# Building the workers +phantom_worker.f90: interface.py + amusifier --type=f90 interface.py PhantomInterface -o $@ + +phantom_worker.o: phantom_worker.f90 + $(MPIFC) -c -o $@ $(FCFLAGS) $< + +phantom_worker: interface.o phantom_worker.o $(CODELIB) + $(MPIFC) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +%.o: %.f90 + $(MPIFC) -o $@ -c $(FCFLAGS) $< + + +# Which packages contain which workers? +amuse-phantom_contains: phantom_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src/phantom clean + rm -rf *.o *.mod *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_phantom/__init__.py b/src/amuse_phantom/__init__.py new file mode 100644 index 0000000000..d45e9ee4bd --- /dev/null +++ b/src/amuse_phantom/__init__.py @@ -0,0 +1,2 @@ +# generated file +from .interface import Phantom diff --git a/src/amuse/community/phantom/interface.f90 b/src/amuse_phantom/interface.f90 similarity index 100% rename from src/amuse/community/phantom/interface.f90 rename to src/amuse_phantom/interface.f90 diff --git a/src/amuse_phantom/interface.py b/src/amuse_phantom/interface.py new file mode 100644 index 0000000000..309f84f626 --- /dev/null +++ b/src/amuse_phantom/interface.py @@ -0,0 +1,2299 @@ +"Interface to Phantom" + +from amuse.community import ( + CodeInterface, + LegacyFunctionSpecification, + legacy_function, + LiteratureReferencesMixIn, +) + +from amuse.community.interface.gd import ( + GravitationalDynamicsInterface, + GravitationalDynamics, + # GravityFieldInterface, + GravityFieldCode, +) +from amuse.community.interface.stopping_conditions import ( + StoppingConditionInterface, + StoppingConditions, +) +from amuse.units import units, generic_unit_system +from amuse.units.generic_unit_converter import ConvertBetweenGenericAndSiUnits + + +class PhantomInterface( + CodeInterface, + LiteratureReferencesMixIn, + GravitationalDynamicsInterface, + StoppingConditionInterface, + # SinglePointGravityFieldInterface, +): + """ + The Phantom Smoothed Particle Hydrodynamics code, by Daniel Price et al. + + References: + .. [#] ADS:2018PASA...35...31P (Price et al., 2018, PASA, Volume 35, id.e031 82 pp) + """ + + def __init__(self, **options): + CodeInterface.__init__( + self, + name_of_the_worker="phantom_worker", + **options) + LiteratureReferencesMixIn.__init__(self) + + @legacy_function + def new_dm_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.OUT, + ) + for x in ['mass', 'x', 'y', 'z', 'vx', 'vy', 'vz']: + function.addParameter(x, dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + def new_particle(self, mass, x, y, z, vx, vy, vz): + return self.new_dm_particle(mass, x, y, z, vx, vy, vz) + + @legacy_function + def new_sph_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.OUT, + ) + for x in ['mass', 'x', 'y', 'z', 'vx', 'vy', 'vz', 'u']: + function.addParameter(x, dtype='float64', direction=function.IN) + function.addParameter( + 'h_smooth', dtype='float64', direction=function.IN, default=0.01, + ) + function.result_type = 'int32' + return function + + @legacy_function + def new_sink_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.OUT, + ) + for x in ['mass', 'x', 'y', 'z', 'vx', 'vy', 'vz']: + function.addParameter(x, dtype='float64', direction=function.IN) + function.addParameter( + 'radius', dtype='float64', direction=function.IN, default=0.01, + # default should be h_acc + ) + function.addParameter( + 'h_smooth', dtype='float64', direction=function.IN, default=0.01, + # default should be h_smooth_sinksink? + ) + function.result_type = 'int32' + return function + + @legacy_function + def get_state_dm(): + """ + Retrieve the current state of a DM particle. The mass, position and + velocity are returned. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.IN, + description="""Index of the particle to get the state from. This + index must have been returned by an earlier call to + :meth:`new_particle`""") + function.addParameter( + 'mass', dtype='float64', direction=function.OUT, + description="The current mass of the particle") + function.addParameter( + 'x', dtype='float64', direction=function.OUT, + description="The current position vector of the particle") + function.addParameter( + 'y', dtype='float64', direction=function.OUT, + description="The current position vector of the particle") + function.addParameter( + 'z', dtype='float64', direction=function.OUT, + description="The current position vector of the particle") + function.addParameter( + 'vx', dtype='float64', direction=function.OUT, + description="The current velocity vector of the particle") + function.addParameter( + 'vy', dtype='float64', direction=function.OUT, + description="The current velocity vector of the particle") + function.addParameter( + 'vz', dtype='float64', direction=function.OUT, + description="The current velocity vector of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was removed from the model + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def get_state_sink(): + """ + Retrieve the current state of a sink particle. The mass, position and + velocity are returned. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.IN, + description="""Index of the particle to get the state from. This + index must have been returned by an earlier call to + :meth:`new_particle`""") + function.addParameter( + 'mass', dtype='float64', direction=function.OUT, + description="The current mass of the particle") + function.addParameter( + 'x', dtype='float64', direction=function.OUT, + description="The current position vector of the particle") + function.addParameter( + 'y', dtype='float64', direction=function.OUT, + description="The current position vector of the particle") + function.addParameter( + 'z', dtype='float64', direction=function.OUT, + description="The current position vector of the particle") + function.addParameter( + 'vx', dtype='float64', direction=function.OUT, + description="The current velocity vector of the particle") + function.addParameter( + 'vy', dtype='float64', direction=function.OUT, + description="The current velocity vector of the particle") + function.addParameter( + 'vz', dtype='float64', direction=function.OUT, + description="The current velocity vector of the particle") + function.addParameter( + 'radius', dtype='float64', direction=function.OUT, + description="The accretion radius of the particle") + function.addParameter( + 'h_smooth', dtype='float64', direction=function.OUT, + description="The smoothing length of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was removed from the model + -1 - ERROR + particle could not be found + """ + return function + + def get_state(self, index_of_the_particle): + return self.get_state_dm(index_of_the_particle) + + @legacy_function + def get_state_sph(): + """ + Retrieve the current state of an SPH particle. The mass, position, + velocity, internal energy and smoothing length are returned. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.IN, + description="""Index of the particle to get the state from. This + index must have been returned by an earlier call to + :meth:`new_particle`""") + function.addParameter( + 'mass', dtype='float64', direction=function.OUT, + description="The current mass of the particle") + function.addParameter( + 'x', dtype='float64', direction=function.OUT, + description="The current position vector of the particle") + function.addParameter( + 'y', dtype='float64', direction=function.OUT, + description="The current position vector of the particle") + function.addParameter( + 'z', dtype='float64', direction=function.OUT, + description="The current position vector of the particle") + function.addParameter( + 'vx', dtype='float64', direction=function.OUT, + description="The current velocity vector of the particle") + function.addParameter( + 'vy', dtype='float64', direction=function.OUT, + description="The current velocity vector of the particle") + function.addParameter( + 'vz', dtype='float64', direction=function.OUT, + description="The current velocity vector of the particle") + function.addParameter( + 'u', dtype='float64', direction=function.OUT, + description="The current internal energy of the particle") + function.addParameter( + 'h_smooth', dtype='float64', direction=function.OUT, + description="The current smoothing length of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was removed from the model + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def set_state_sph(): + """ + Update the current state of an SPH particle. The mass, position, + velocity, internal energy and smoothing length are updated. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.IN, + description="""Index of the particle for which the state is to be + updated. This index must have been returned by an earlier call to + :meth:`new_particle`""") + function.addParameter( + 'mass', dtype='float64', direction=function.IN, + description="The new mass of the particle") + function.addParameter( + 'x', dtype='float64', direction=function.IN, + description="The new position vector of the particle") + function.addParameter( + 'y', dtype='float64', direction=function.IN, + description="The new position vector of the particle") + function.addParameter( + 'z', dtype='float64', direction=function.IN, + description="The new position vector of the particle") + function.addParameter( + 'vx', dtype='float64', direction=function.IN, + description="The new velocity vector of the particle") + function.addParameter( + 'vy', dtype='float64', direction=function.IN, + description="The new velocity vector of the particle") + function.addParameter( + 'vz', dtype='float64', direction=function.IN, + description="The new velocity vector of the particle") + function.addParameter( + 'u', dtype='float64', direction=function.IN, + description="The new internal energy of the particle") + function.addParameter( + 'h_smooth', dtype='float64', direction=function.IN, + description="The new smoothing length of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found in the model and the information was set + -1 - ERROR + particle could not be found + -2 - ERROR + code does not support updating of a particle + -3 - ERROR + not yet implemented + """ + return function + + def set_state( + self, index_of_the_particle, mass, x, y, z, vx, vy, vz, + ): + return self.set_state_dm( + index_of_the_particle, mass, x, y, z, vx, vy, vz) + + @legacy_function + def set_state_dm(): + """ + Update the current state of a DM particle. The mass, position and + velocity are updated. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.IN, + description="""Index of the particle for which the state is to be + updated. This index must have been returned by an earlier call to + :meth:`new_particle`""") + function.addParameter( + 'mass', dtype='float64', direction=function.IN, + description="The new mass of the particle") + function.addParameter( + 'x', dtype='float64', direction=function.IN, + description="The new position vector of the particle") + function.addParameter( + 'y', dtype='float64', direction=function.IN, + description="The new position vector of the particle") + function.addParameter( + 'z', dtype='float64', direction=function.IN, + description="The new position vector of the particle") + function.addParameter( + 'vx', dtype='float64', direction=function.IN, + description="The new velocity vector of the particle") + function.addParameter( + 'vy', dtype='float64', direction=function.IN, + description="The new velocity vector of the particle") + function.addParameter( + 'vz', dtype='float64', direction=function.IN, + description="The new velocity vector of the particle") + # function.addParameter( + # 'radius', dtype='float64', direction=function.IN, + # description="The new softening length of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found in the model and the information was set + -1 - ERROR + particle could not be found + -2 - ERROR + code does not support updating of a particle + -3 - ERROR + not yet implemented + """ + return function + + @legacy_function + def set_state_sink(): + """ + Update the current state of a sink particle. The mass, position and + velocity are updated. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.IN, + description="""Index of the particle for which the state is to be + updated. This index must have been returned by an earlier call to + :meth:`new_particle`""") + function.addParameter( + 'mass', dtype='float64', direction=function.IN, + description="The new mass of the particle") + function.addParameter( + 'x', dtype='float64', direction=function.IN, + description="The new position vector of the particle") + function.addParameter( + 'y', dtype='float64', direction=function.IN, + description="The new position vector of the particle") + function.addParameter( + 'z', dtype='float64', direction=function.IN, + description="The new position vector of the particle") + function.addParameter( + 'vx', dtype='float64', direction=function.IN, + description="The new velocity vector of the particle") + function.addParameter( + 'vy', dtype='float64', direction=function.IN, + description="The new velocity vector of the particle") + function.addParameter( + 'vz', dtype='float64', direction=function.IN, + description="The new velocity vector of the particle") + function.addParameter( + 'radius', dtype='float64', direction=function.IN, + description="The accretion radius of the particle") + function.addParameter( + 'h_smooth', dtype='float64', direction=function.IN, + description="The smoothing length of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + particle was found in the model and the information was set + -1 - ERROR + particle could not be found + -2 - ERROR + code does not support updating of a particle + -3 - ERROR + not yet implemented + """ + return function + + @legacy_function + def set_internal_energy(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.IN, + description='', + ) + function.addParameter( + 'u', dtype='float64', direction=function.IN, + description='', + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_h2ratio(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.IN, + description='', + ) + function.addParameter( + 'h2ratio', dtype='float64', direction=function.IN, + description='', + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_hi_abundance(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.IN, + description='', + ) + function.addParameter( + 'hi_abundance', dtype='float64', direction=function.IN, + description='', + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_proton_abundance(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.IN, + description='', + ) + function.addParameter( + 'proton_abundance', dtype='float64', direction=function.IN, + description='', + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_electron_abundance(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.IN, + description='', + ) + function.addParameter( + 'electron_abundance', dtype='float64', direction=function.IN, + description='', + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_co_abundance(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.IN, + description='', + ) + function.addParameter( + 'co_abundance', dtype='float64', direction=function.IN, + description='', + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_smoothing_length(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.IN, + description='', + ) + function.addParameter( + 'h_smooth', dtype='float64', direction=function.IN, + description='' + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_density(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.IN, + description='' + ) + function.addParameter( + 'density', dtype='float64', direction=function.OUT, + description="The current density of the particle" + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_pressure(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.IN, + description='', + ) + function.addParameter( + 'pressure', dtype='float64', direction=function.OUT, + description='' + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_h2ratio(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.IN, + description='', + ) + function.addParameter( + 'h2ratio', dtype='float64', direction=function.OUT, + description='' + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_hi_abundance(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.IN, + description='', + ) + function.addParameter( + 'hi_abundance', dtype='float64', direction=function.OUT, + description='' + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_proton_abundance(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.IN, + description='', + ) + function.addParameter( + 'proton_abundance', dtype='float64', direction=function.OUT, + description='' + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_electron_abundance(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.IN, + description='', + ) + function.addParameter( + 'electron_abundance', dtype='float64', direction=function.OUT, + description='' + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_co_abundance(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.IN, + description='', + ) + function.addParameter( + 'co_abundance', dtype='float64', direction=function.OUT, + description='' + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_internal_energy(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.IN, + description='' + ) + function.addParameter( + 'u', dtype='float64', direction=function.OUT, + description="The current internal energy of the particle", + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_smoothing_length(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', dtype='int32', direction=function.IN, + description='' + ) + function.addParameter( + 'h_smooth', dtype='float64', direction=function.OUT, + description="The current smoothing length of the particle" + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_time_step(): + function = LegacyFunctionSpecification() + function.addParameter( + 'time_step', dtype='float64', direction=function.OUT, + unit=generic_unit_system.time, + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_time_step(): + function = LegacyFunctionSpecification() + function.addParameter( + 'time_step', dtype='float64', direction=function.IN, + unit=generic_unit_system.time, + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_c_courant(): + function = LegacyFunctionSpecification() + function.addParameter( + 'c_courant', dtype='float64', direction=function.OUT, + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_c_courant(): + function = LegacyFunctionSpecification() + function.addParameter( + 'c_courant', dtype='float64', direction=function.IN, + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_c_force(): + function = LegacyFunctionSpecification() + function.addParameter( + 'C_force', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_c_force(): + function = LegacyFunctionSpecification() + function.addParameter( + 'C_force', dtype='float64', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_c_cool(): + function = LegacyFunctionSpecification() + function.addParameter( + 'C_cool', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_c_cool(): + function = LegacyFunctionSpecification() + function.addParameter( + 'C_cool', dtype='float64', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + + @legacy_function + def get_tolv(): + function = LegacyFunctionSpecification() + function.addParameter( + 'tolv', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_tolv(): + function = LegacyFunctionSpecification() + function.addParameter( + 'tolv', dtype='float64', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_hfact(): + function = LegacyFunctionSpecification() + function.addParameter( + 'hfact', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_hfact(): + function = LegacyFunctionSpecification() + function.addParameter( + 'hfact', dtype='float64', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_tolh(): + function = LegacyFunctionSpecification() + function.addParameter( + 'tolh', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_tolh(): + function = LegacyFunctionSpecification() + function.addParameter( + 'tolh', dtype='float64', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_tree_accuracy(): + function = LegacyFunctionSpecification() + function.addParameter( + 'tree_accuracy', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_tree_accuracy(): + function = LegacyFunctionSpecification() + function.addParameter( + 'tree_accuracy', dtype='float64', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_alpha(): + function = LegacyFunctionSpecification() + function.addParameter( + 'alpha', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_alpha(): + function = LegacyFunctionSpecification() + function.addParameter( + 'alpha', dtype='float64', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_alphamax(): + function = LegacyFunctionSpecification() + function.addParameter( + 'alphamax', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_alphamax(): + function = LegacyFunctionSpecification() + function.addParameter( + 'alphamax', dtype='float64', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_beta(): + function = LegacyFunctionSpecification() + function.addParameter( + 'beta', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_beta(): + function = LegacyFunctionSpecification() + function.addParameter( + 'beta', dtype='float64', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_avdecayconst(): + function = LegacyFunctionSpecification() + function.addParameter( + 'avdecayconst', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_avdecayconst(): + function = LegacyFunctionSpecification() + function.addParameter( + 'avdecayconst', dtype='float64', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_idamp(): + function = LegacyFunctionSpecification() + function.addParameter( + 'idamp', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_idamp(): + function = LegacyFunctionSpecification() + function.addParameter( + 'idamp', dtype='int32', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_ieos(): + function = LegacyFunctionSpecification() + function.addParameter( + 'ieos', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_ieos(): + function = LegacyFunctionSpecification() + function.addParameter( + 'ieos', dtype='int32', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_icooling(): + function = LegacyFunctionSpecification() + function.addParameter( + 'icooling', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_icooling(): + function = LegacyFunctionSpecification() + function.addParameter( + 'icooling', dtype='int32', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_polyk(): + function = LegacyFunctionSpecification() + function.addParameter( + 'polyk', dtype='float64', direction=function.OUT, + unit=(generic_unit_system.speed**2) + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_polyk(): + function = LegacyFunctionSpecification() + function.addParameter( + 'polyk', dtype='float64', direction=function.IN, + unit=(generic_unit_system.speed**2) + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_gamma(): + function = LegacyFunctionSpecification() + function.addParameter( + 'gamma', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_gamma(): + function = LegacyFunctionSpecification() + function.addParameter( + 'gamma', dtype='float64', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_mu(): + function = LegacyFunctionSpecification() + function.addParameter( + 'mu', dtype='float64', direction=function.OUT, + unit=units.amu + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_mu(): + function = LegacyFunctionSpecification() + function.addParameter( + 'mu', dtype='float64', direction=function.IN, + unit=units.amu + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_rhofinal(): + function = LegacyFunctionSpecification() + function.addParameter( + 'rhofinal', dtype='float64', direction=function.OUT, + unit=(generic_unit_system.density), + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_rhofinal(): + function = LegacyFunctionSpecification() + function.addParameter( + 'rhofinal', dtype='float64', direction=function.IN, + unit=(generic_unit_system.density), + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_rho_crit(): + function = LegacyFunctionSpecification() + function.addParameter( + 'rho_crit', dtype='float64', direction=function.OUT, + unit=(generic_unit_system.density), + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_rho_crit(): + function = LegacyFunctionSpecification() + function.addParameter( + 'rho_crit', dtype='float64', direction=function.IN, + unit=(generic_unit_system.density), + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_r_crit(): + function = LegacyFunctionSpecification() + function.addParameter( + 'r_crit', dtype='float64', direction=function.OUT, + unit=generic_unit_system.length, + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_r_crit(): + function = LegacyFunctionSpecification() + function.addParameter( + 'r_crit', dtype='float64', direction=function.IN, + unit=generic_unit_system.length, + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_h_acc(): + function = LegacyFunctionSpecification() + function.addParameter( + 'h_acc', dtype='float64', direction=function.OUT, + unit=generic_unit_system.length, + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_h_acc(): + function = LegacyFunctionSpecification() + function.addParameter( + 'h_acc', dtype='float64', direction=function.IN, + unit=generic_unit_system.length, + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_h_soft_sinkgas(): + function = LegacyFunctionSpecification() + function.addParameter( + 'h_soft_sinkgas', dtype='float64', direction=function.OUT, + unit=generic_unit_system.length, + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_h_soft_sinkgas(): + function = LegacyFunctionSpecification() + function.addParameter( + 'h_soft_sinkgas', dtype='float64', direction=function.IN, + unit=generic_unit_system.length, + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_h_soft_sinksink(): + function = LegacyFunctionSpecification() + function.addParameter( + 'h_soft_sinksink', dtype='float64', direction=function.OUT, + unit=generic_unit_system.length, + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_h_soft_sinksink(): + function = LegacyFunctionSpecification() + function.addParameter( + 'h_soft_sinksink', dtype='float64', direction=function.IN, + unit=generic_unit_system.length, + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_f_acc(): + function = LegacyFunctionSpecification() + function.addParameter( + 'f_acc', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_f_acc(): + function = LegacyFunctionSpecification() + function.addParameter( + 'f_acc', dtype='float64', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_iexternalforce(): + function = LegacyFunctionSpecification() + function.addParameter( + 'iexternalforce', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_iexternalforce(): + function = LegacyFunctionSpecification() + function.addParameter( + 'iexternalforce', dtype='int32', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_irealvisc(): + function = LegacyFunctionSpecification() + function.addParameter( + 'irealvisc', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_irealvisc(): + function = LegacyFunctionSpecification() + function.addParameter( + 'irealvisc', dtype='int32', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_shearparam(): + function = LegacyFunctionSpecification() + function.addParameter( + 'shearparam', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_shearparam(): + function = LegacyFunctionSpecification() + function.addParameter( + 'shearparam', dtype='float64', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_bulkvisc(): + function = LegacyFunctionSpecification() + function.addParameter( + 'bulkvisc', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_bulkvisc(): + function = LegacyFunctionSpecification() + function.addParameter( + 'bulkvisc', dtype='float64', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_unit_length(): + function = LegacyFunctionSpecification() + function.addParameter( + 'unit_length', dtype='float64', direction=function.OUT, + unit=units.cm # generic_unit_system.length + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_unit_length(): + function = LegacyFunctionSpecification() + function.addParameter( + 'unit_length', dtype='float64', direction=function.IN, + unit=units.cm # generic_unit_system.length + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_unit_mass(): + function = LegacyFunctionSpecification() + function.addParameter( + 'unit_mass', dtype='float64', direction=function.OUT, + unit=units.g # generic_unit_system.mass + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_unit_mass(): + function = LegacyFunctionSpecification() + function.addParameter( + 'unit_mass', dtype='float64', direction=function.IN, + unit=units.g # generic_unit_system.mass + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def get_unit_time(): + function = LegacyFunctionSpecification() + function.addParameter( + 'unit_time', dtype='float64', direction=function.OUT, + unit=units.s # generic_unit_system.time + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + @legacy_function + def set_unit_time(): + function = LegacyFunctionSpecification() + function.addParameter( + 'unit_time', dtype='float64', direction=function.IN, + unit=units.s # generic_unit_system.time + ) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + -1 - ERROR + """ + return function + + +class Phantom(GravitationalDynamics, GravityFieldCode): + __interface__ = PhantomInterface + + def __init__( + self, + convert_nbody=None, + **options): + # if convert_nbody is None: + # NOTE we use a fixed converter here internally! + # Not doing this *really* complicates things as we'd need to change the + # internal units used in Phantom as well. + phantom_solarm = 1.9891e33 | units.g + phantom_pc = 3.086e18 | units.cm + phantom_gg = 6.672041e-8 | units.cm**3 * units.g**-1 * units.s**-2 + # phantom_mass = 1.0 | units.MSun + # phantom_mass = 1.98892e33 | units.g + # phantom_time = 60 * 60 * 24 * 365.25 * 1e6 | units.s + # phantom_length = (phantom_time**2 * phantom_gg * phantom_mass)**(1/3) + phantom_mass = 1.0 * phantom_solarm + phantom_length = 0.1 * phantom_pc + phantom_time = (phantom_length**3 / (phantom_gg*phantom_mass))**0.5 + + unit_converter = ConvertBetweenGenericAndSiUnits( + # Phantom uses CGS units internally, scaled with G=1 + # So we need to make sure we use those same units here... + # Also, Phantom's value for G is not the same as AMUSE's... + phantom_length, + phantom_mass, # 1.0 MSun + phantom_time, # 1 Julian Myr + ) + convert_nbody = unit_converter + + self.stopping_conditions = StoppingConditions(self) + + GravitationalDynamics.__init__( + self, + PhantomInterface(**options), + convert_nbody, + **options + ) + + def initialize_code(self): + result = self.overridden().initialize_code() + + if self.unit_converter is not None: + mass = self.unit_converter.to_si(generic_unit_system.mass) + time = self.unit_converter.to_si(generic_unit_system.time) + # self.parameters._original.unit_mass = mass + # self.parameters._original.unit_time = time + # self.set_unit_mass(self.unit_converter.to_si(generic_unit_system.mass).value_in(units.g)) + # self.set_unit_length(self.unit_converter.to_si(generic_unit_system.length).value_in(units.cm)) + # self.set_unit_time(self.unit_converter.to_si(generic_unit_system.time).value_in(units.s)) + return result + + def define_state(self, handler): + GravitationalDynamics.define_state(self, handler) + GravityFieldCode.define_state(self, handler) + # self.stopping_conditions.define_state(handler) + + handler.add_transition('END', 'INITIALIZED', 'initialize_code', False) + handler.add_method('END', 'initialize_code') + + handler.add_transition('RUN', 'UPDATE', 'new_sph_particle', False) + handler.add_method('EDIT', 'new_sph_particle') + handler.add_method('UPDATE', 'new_sph_particle') + handler.add_transition('RUN', 'UPDATE', 'new_dm_particle', False) + handler.add_method('EDIT', 'new_dm_particle') + handler.add_method('UPDATE', 'new_dm_particle') + handler.add_transition('RUN', 'UPDATE', 'new_sink_particle', False) + handler.add_method('EDIT', 'new_sink_particle') + handler.add_method('UPDATE', 'new_sink_particle') + + self.stopping_conditions.define_state(handler) + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_time_step", + "set_time_step", + "time_step", + "Maximum internal time step", + default_value=0.01 | generic_unit_system.time + ) + + handler.add_method_parameter( + "get_c_courant", + "set_c_courant", + "c_courant", + "Courant number", + default_value=0.3 + ) + + handler.add_method_parameter( + "get_c_force", + "set_c_force", + "c_force", + "dt_force number", + default_value=0.25 + ) + + handler.add_method_parameter( + "get_c_cool", + "set_c_cool", + "c_cool", + "dt_cool number", + default_value=0.25 + ) + + handler.add_method_parameter( + "get_tolv", + "set_tolv", + "tolv", + "tolerance on v iterations in timestepping", + default_value=1.0e-2 + ) + + handler.add_method_parameter( + "get_hfact", + "set_hfact", + "hfact", + "h in units of particle spacing [h = hfact(m/rho)^(1/3)]", + default_value=1.2 + ) + + handler.add_method_parameter( + "get_tolh", + "set_tolh", + "tolh", + "tolerance on h-rho iterations", + default_value=1.0e-4 + ) + + handler.add_method_parameter( + "get_tree_accuracy", + "set_tree_accuracy", + "tree_accuracy", + "tree opening criterion (0.0-1.0)", + default_value=0.5 + ) + + handler.add_method_parameter( + "get_alpha", + "set_alpha", + "alpha", + "MINIMUM art. viscosity parameter", + default_value=0. + ) + + handler.add_method_parameter( + "get_alphamax", + "set_alphamax", + "alphamax", + "MAXIMUM art. viscosity parameter", + default_value=1.0 + ) + + handler.add_method_parameter( + "get_beta", + "set_beta", + "beta", + "beta viscosity", + default_value=2.0 + ) + + handler.add_method_parameter( + "get_avdecayconst", + "set_avdecayconst", + "avdecayconst", + "decay time constant for viscosity switches", + default_value=0.1 + ) + + handler.add_method_parameter( + "get_idamp", + "set_idamp", + "idamp", + "artificial damping of velocities (0=off, 1=constant, 2=star)", + default_value=0 + ) + + handler.add_method_parameter( + "get_polyk", + "set_polyk", + "polyk", + "polyk value", + default_value=(0. | units.km**2 * units.s**-2) + ) + + handler.add_method_parameter( + "get_ieos", + "set_ieos", + "ieos", + "eqn of state (1=isoth;2=adiab;3=locally iso;8=barotropic)", + default_value=1 + ) + + handler.add_method_parameter( + "get_icooling", + "set_icooling", + "icooling", + "Cooling (0=off 1=default 2/3 = other)", + default_value=0 + ) + + handler.add_method_parameter( + "get_gamma", + "set_gamma", + "gamma", + "gamma value ", + default_value=1 + ) + + handler.add_method_parameter( + "get_mu", + "set_mu", + "mu", + "mean molecular weight", + default_value=(2.381 | units.amu) + ) + + handler.add_method_parameter( + "get_rhofinal", + "set_rhofinal", + "rhofinal", + "maximum allowed density (<=0 to ignore)", + default_value=(0 | generic_unit_system.density) + ) + + handler.add_method_parameter( + "get_rho_crit", + "set_rho_crit", + "rho_crit", + "density above which sink particles are created", + default_value=(1e-10 | units.g * units.cm**-3) + ) + + handler.add_method_parameter( + "get_r_crit", + "set_r_crit", + "r_crit", + "critical radius for point mass creation" + " (no new sinks < r_crit from existing sink)", + default_value=(0.005 | generic_unit_system.length) + ) + + handler.add_method_parameter( + "get_h_acc", + "set_h_acc", + "h_acc", + "accretion radius for new sink particles", + default_value=(0.001 | generic_unit_system.length) + ) + + handler.add_method_parameter( + "get_h_soft_sinkgas", + "set_h_soft_sinkgas", + "h_soft_sinkgas", + "softening length for new sink particles", + default_value=(0. | generic_unit_system.length) + ) + + handler.add_method_parameter( + "get_h_soft_sinksink", + "set_h_soft_sinksink", + "h_soft_sinksink", + "softening length between sink particles", + default_value=(0. | generic_unit_system.length) + ) + + handler.add_method_parameter( + "get_f_acc", + "set_f_acc", + "f_acc", + "particles < f_acc*h_acc accreted without checks", + default_value=0.8 + ) + + handler.add_method_parameter( + "get_iexternalforce", + "set_iexternalforce", + "iexternalforce", + "1=star,2=coro,3=bina,4=prdr,5=toru,6=toys,7=exte," + "8=spir,9=Lens,10=neut,11=Eins", + default_value=0 + ) + + handler.add_method_parameter( + "get_irealvisc", + "set_irealvisc", + "irealvisc", + "physical viscosity type (0=none,1=const,2=Shakura/Sunyaev)", + default_value=0 + ) + + handler.add_method_parameter( + "get_shearparam", + "set_shearparam", + "shearparam", + "magnitude of shear viscosity (irealvisc=1) or alpha_SS" + " (irealvisc=2)", + default_value=0.1 + ) + + handler.add_method_parameter( + "get_bulkvisc", + "set_bulkvisc", + "bulkvisc", + "magnitude of bulk viscosity", + default_value=0.0 + ) + + handler.add_method_parameter( + "get_unit_length", + "set_unit_length", + "code_unit_length", + "code unit length", + default_value=( + ((60 * 60 * 24 * 365.25 * 1e6) | units.s)**2 + * (6.672041e-8 | units.cm**3 * units.g**-1 * units.s**-2) + * (1.98892e33 | units.g) + )**(1/3) + ) + + handler.add_method_parameter( + "get_unit_mass", + "set_unit_mass", + "code_unit_mass", + "code unit mass", + default_value=1.98892e33 | units.g + ) + + handler.add_method_parameter( + "get_unit_time", + "set_unit_time", + "code_unit_time", + "code unit time", + default_value=3.15576e13 | units.s + ) + + self.stopping_conditions.define_parameters(handler) + + def define_particle_sets(self, handler): + handler.define_super_set( + 'particles', + ['dm_particles', 'gas_particles', 'sink_particles'], + index_to_default_set=0, + ) + + handler.define_set('dm_particles', 'index_of_the_particle') + handler.set_new('dm_particles', 'new_dm_particle') + handler.set_delete('dm_particles', 'delete_particle') + handler.add_getter('dm_particles', 'get_state_dm') + handler.add_setter('dm_particles', 'set_state_dm') + handler.add_getter('dm_particles', 'get_mass') + handler.add_setter('dm_particles', 'set_mass') + handler.add_getter('dm_particles', 'get_position') + handler.add_setter('dm_particles', 'set_position') + handler.add_getter('dm_particles', 'get_velocity') + handler.add_setter('dm_particles', 'set_velocity') + handler.add_getter('dm_particles', 'get_acceleration') + + handler.define_set('gas_particles', 'index_of_the_particle') + handler.set_new('gas_particles', 'new_sph_particle') + handler.set_delete('gas_particles', 'delete_particle') + handler.add_getter('gas_particles', 'get_state_sph') + handler.add_setter('gas_particles', 'set_state_sph') + handler.add_getter('gas_particles', 'get_mass') + handler.add_setter('gas_particles', 'set_mass') + handler.add_getter('gas_particles', 'get_position') + handler.add_setter('gas_particles', 'set_position') + handler.add_getter('gas_particles', 'get_velocity') + handler.add_setter('gas_particles', 'set_velocity') + handler.add_getter('gas_particles', 'get_acceleration') + handler.add_getter('gas_particles', 'get_internal_energy') + handler.add_setter('gas_particles', 'set_internal_energy') + handler.add_getter('gas_particles', 'get_smoothing_length') + handler.add_setter('gas_particles', 'set_smoothing_length') + handler.add_getter('gas_particles', 'get_density', names=('rho',)) + handler.add_getter('gas_particles', 'get_density', names=('density',)) + handler.add_getter('gas_particles', 'get_pressure') + handler.add_getter('gas_particles', 'get_h2ratio') + handler.add_getter('gas_particles', 'get_hi_abundance') + handler.add_getter('gas_particles', 'get_proton_abundance') + handler.add_getter('gas_particles', 'get_electron_abundance') + handler.add_getter('gas_particles', 'get_co_abundance') + handler.add_setter('gas_particles', 'set_h2ratio') + handler.add_setter('gas_particles', 'set_hi_abundance') + handler.add_setter('gas_particles', 'set_proton_abundance') + handler.add_setter('gas_particles', 'set_electron_abundance') + handler.add_setter('gas_particles', 'set_co_abundance') + + handler.define_set('sink_particles', 'index_of_the_particle') + handler.set_new('sink_particles', 'new_sink_particle') + handler.set_delete('sink_particles', 'delete_particle') + handler.add_getter('sink_particles', 'get_state_sink') + handler.add_setter('sink_particles', 'set_state_sink') + handler.add_getter('sink_particles', 'get_mass') + handler.add_setter('sink_particles', 'set_mass') + handler.add_getter('sink_particles', 'get_position') + handler.add_setter('sink_particles', 'set_position') + handler.add_getter('sink_particles', 'get_velocity') + handler.add_setter('sink_particles', 'set_velocity') + handler.add_getter('sink_particles', 'get_acceleration') + handler.add_getter('sink_particles', 'get_radius') + handler.add_setter('sink_particles', 'set_radius') + handler.add_getter('sink_particles', 'get_smoothing_length') + handler.add_setter('sink_particles', 'set_smoothing_length') + + self.stopping_conditions.define_particle_set(handler, 'particles') + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + + handler.add_method( + "new_dm_particle", + ( + generic_unit_system.mass, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.speed, + ), + ( + handler.INDEX, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "new_sph_particle", + ( + generic_unit_system.mass, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.specific_energy, + generic_unit_system.length, + ), + ( + handler.INDEX, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "new_sink_particle", + ( + generic_unit_system.mass, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.length, + generic_unit_system.length, + ), + ( + handler.INDEX, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_state_dm", + ( + handler.INDEX, + ), + ( + generic_unit_system.mass, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.speed, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "set_state_dm", + ( + handler.INDEX, + generic_unit_system.mass, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.speed, + # generic_unit_system.length, + ), + ( + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_state_sph", + ( + handler.INDEX, + ), + ( + generic_unit_system.mass, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.specific_energy, + generic_unit_system.length, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "set_state_sph", + ( + handler.INDEX, + generic_unit_system.mass, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.specific_energy, + generic_unit_system.length, + ), + ( + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_state_sink", + ( + handler.INDEX, + ), + ( + generic_unit_system.mass, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.length, + generic_unit_system.length, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "set_state_sink", + ( + handler.INDEX, + generic_unit_system.mass, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.length, + generic_unit_system.length, + ), + ( + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_density", + ( + handler.INDEX, + ), + ( + generic_unit_system.density, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_smoothing_length", + ( + handler.INDEX, + ), + ( + generic_unit_system.length, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "set_smoothing_length", + ( + handler.INDEX, + generic_unit_system.length, + ), + ( + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_pressure", + ( + handler.INDEX, + ), + ( + generic_unit_system.pressure, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_h2ratio", + ( + handler.INDEX, + ), + ( + handler.NO_UNIT, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_hi_abundance", + ( + handler.INDEX, + ), + ( + handler.NO_UNIT, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_proton_abundance", + ( + handler.INDEX, + ), + ( + handler.NO_UNIT, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_electron_abundance", + ( + handler.INDEX, + ), + ( + handler.NO_UNIT, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_co_abundance", + ( + handler.INDEX, + ), + ( + handler.NO_UNIT, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_internal_energy", + ( + handler.INDEX, + ), + ( + generic_unit_system.specific_energy, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "set_internal_energy", + ( + handler.INDEX, + generic_unit_system.specific_energy, + ), + ( + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "set_h2ratio", + ( + handler.INDEX, + handler.NO_UNIT, + ), + ( + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "set_hi_abundance", + ( + handler.INDEX, + handler.NO_UNIT, + ), + ( + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "set_proton_abundance", + ( + handler.INDEX, + handler.NO_UNIT, + ), + ( + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "set_electron_abundance", + ( + handler.INDEX, + handler.NO_UNIT, + ), + ( + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "set_co_abundance", + ( + handler.INDEX, + handler.NO_UNIT, + ), + ( + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_time_step", + ( + ), + ( + generic_unit_system.time, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "set_time_step", + ( + generic_unit_system.time, + ), + ( + handler.ERROR_CODE, + ) + ) + + self.stopping_conditions.define_methods(handler) diff --git a/src/amuse_phantom/packages/amuse-phantom.amuse_deps b/src/amuse_phantom/packages/amuse-phantom.amuse_deps new file mode 100644 index 0000000000..802349c6e8 --- /dev/null +++ b/src/amuse_phantom/packages/amuse-phantom.amuse_deps @@ -0,0 +1 @@ +fortran download mpi openmp diff --git a/src/amuse_phantom/packages/amuse-phantom/amuse_phantom b/src/amuse_phantom/packages/amuse-phantom/amuse_phantom new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_phantom/packages/amuse-phantom/amuse_phantom @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_phantom/packages/amuse-phantom/pyproject.toml b/src/amuse_phantom/packages/amuse-phantom/pyproject.toml new file mode 100644 index 0000000000..6ab012932c --- /dev/null +++ b/src/amuse_phantom/packages/amuse-phantom/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-phantom" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_phantom/**/*.py"] +exclude = [ + "amuse_phantom/packages", + "amuse_phantom/support", + "amuse_phantom/src", + "amuse_phantom/tests" + ] +artifacts = ["amuse_phantom/phantom_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_phantom/tests/", "../../../tests"] + +testpaths = ["amuse_phantom/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse_phantom/support/aclocal.m4 b/src/amuse_phantom/support/aclocal.m4 new file mode 100644 index 0000000000..a08907b9b2 --- /dev/null +++ b/src/amuse_phantom/support/aclocal.m4 @@ -0,0 +1,21 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_download.m4]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/fortran.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_phantom/support/config.mk.in b/src/amuse_phantom/support/config.mk.in new file mode 100644 index 0000000000..279e908bba --- /dev/null +++ b/src/amuse_phantom/support/config.mk.in @@ -0,0 +1,32 @@ +# Compilers +FC = @FC@ +MPIFC = @MPIFC@ + +CPU_COUNT = @CPU_COUNT@ + + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ +DOWNLOAD = @DOWNLOAD@ +UNZIP = @UNZIP@ + + +# General flags and libraries +FCFLAGS = @FCFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +STOPCOND_CFLAGS = @STOPCOND_CFLAGS@ +STOPCOND_LIBS = @STOPCOND_LIBS@ + +FORSOCKETS_CFLAGS = @FORSOCKETS_CFLAGS@ +FORSOCKETS_LIBS = @FORSOCKETS_LIBS@ + + +# External dependencies +OPENMP_FCFLAGS = @OPENMP_FCFLAGS@ + diff --git a/src/amuse_phantom/support/configure b/src/amuse_phantom/support/configure new file mode 100755 index 0000000000..f4db9e40b8 --- /dev/null +++ b/src/amuse_phantom/support/configure @@ -0,0 +1,6645 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-phantom 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-phantom' +PACKAGE_TARNAME='amuse-phantom' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-phantom 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +OPENMP_FCFLAGS +MPILIBS +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +FOUND_STOPCOND +STOPCOND_LIBS +STOPCOND_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CPPFLAGS +CFLAGS +CC +UNZIP +DOWNLOAD +CURL +WGET +RANLIB +AR +target_os +target_vendor +target_cpu +target +OBJEXT +EXEEXT +ac_ct_FC +LDFLAGS +FCFLAGS +FC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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_openmp +' + ac_precious_vars='build_alias +host_alias +target_alias +FC +FCFLAGS +LDFLAGS +LIBS +CC +CFLAGS +CPPFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCOND_CFLAGS +STOPCOND_LIBS +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS +MPIFC' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-phantom 1.0 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/amuse-phantom] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-phantom 1.0:";; + 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] + --disable-openmp do not use OpenMP + +Some influential environment variables: + FC Fortran compiler command + FCFLAGS Fortran 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 + CC C compiler command + CFLAGS C compiler flags + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + 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 + STOPCOND_CFLAGS + C compiler flags for STOPCOND, overriding pkg-config + STOPCOND_LIBS + linker flags for STOPCOND, overriding pkg-config + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + MPIFC MPI Fortran compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-phantom configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-phantom $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the Fortran compiler works" >&5 +printf %s "checking whether the Fortran compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "Fortran compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler default output file name" >&5 +printf %s "checking for Fortran compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat > conftest.$ac_ext <<_ACEOF + program main + open(unit=9,file='conftest.out') + close(unit=9) + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run Fortran compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +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 + + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find tools to download and unpack with + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}wget", so it can be a program name with args. +set dummy ${ac_tool_prefix}wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$WGET"; then + ac_cv_prog_WGET="$WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="${ac_tool_prefix}wget" + printf "%s\n" "$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 +WGET=$ac_cv_prog_WGET +if test -n "$WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $WGET" >&5 +printf "%s\n" "$WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_WGET"; then + ac_ct_WGET=$WGET + # Extract the first word of "wget", so it can be a program name with args. +set dummy wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_WGET"; then + ac_cv_prog_ac_ct_WGET="$ac_ct_WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="wget" + printf "%s\n" "$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_WGET=$ac_cv_prog_ac_ct_WGET +if test -n "$ac_ct_WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WGET" >&5 +printf "%s\n" "$ac_ct_WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_WGET" = x; then + WGET="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + WGET=$ac_ct_WGET + fi +else + WGET="$ac_cv_prog_WGET" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}curl", so it can be a program name with args. +set dummy ${ac_tool_prefix}curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CURL"; then + ac_cv_prog_CURL="$CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="${ac_tool_prefix}curl" + printf "%s\n" "$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 +CURL=$ac_cv_prog_CURL +if test -n "$CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CURL" >&5 +printf "%s\n" "$CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CURL"; then + ac_ct_CURL=$CURL + # Extract the first word of "curl", so it can be a program name with args. +set dummy curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CURL"; then + ac_cv_prog_ac_ct_CURL="$ac_ct_CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="curl" + printf "%s\n" "$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_CURL=$ac_cv_prog_ac_ct_CURL +if test -n "$ac_ct_CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CURL" >&5 +printf "%s\n" "$ac_ct_CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CURL" = x; then + CURL="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CURL=$ac_ct_CURL + fi +else + CURL="$ac_cv_prog_CURL" +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a wget or curl to download files with" >&5 +printf %s "checking for a wget or curl to download files with... " >&6; } + if test "x$WGET" != "x" + then + # The MESA SDK server rejects wget, this is the official work-around + DOWNLOAD="$WGET --progress=bar:force:noscroll --user-agent='' -O -" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + if test "x$CURL" != "x" + then + DOWNLOAD="$CURL -L" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + fi + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}unzip", so it can be a program name with args. +set dummy ${ac_tool_prefix}unzip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_UNZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$UNZIP"; then + ac_cv_prog_UNZIP="$UNZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_UNZIP="${ac_tool_prefix}unzip" + printf "%s\n" "$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 +UNZIP=$ac_cv_prog_UNZIP +if test -n "$UNZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $UNZIP" >&5 +printf "%s\n" "$UNZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_UNZIP"; then + ac_ct_UNZIP=$UNZIP + # Extract the first word of "unzip", so it can be a program name with args. +set dummy unzip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_UNZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_UNZIP"; then + ac_cv_prog_ac_ct_UNZIP="$ac_ct_UNZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_UNZIP="unzip" + printf "%s\n" "$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_UNZIP=$ac_cv_prog_ac_ct_UNZIP +if test -n "$ac_ct_UNZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_UNZIP" >&5 +printf "%s\n" "$ac_ct_UNZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_UNZIP" = x; then + UNZIP="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + UNZIP=$ac_ct_UNZIP + fi +else + UNZIP="$ac_cv_prog_UNZIP" +fi + + + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCOND_CFLAGS" + amuse_save_LIB_LIBS="$STOPCOND_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing is_condition_enabled" >&5 +printf %s "checking for library containing is_condition_enabled... " >&6; } +if test ${ac_cv_search_is_condition_enabled+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char is_condition_enabled (); +int +main (void) +{ +return is_condition_enabled (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcond +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_is_condition_enabled=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_is_condition_enabled+y} +then : + break +fi +done +if test ${ac_cv_search_is_condition_enabled+y} +then : + +else $as_nop + ac_cv_search_is_condition_enabled=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_is_condition_enabled" >&5 +printf "%s\n" "$ac_cv_search_is_condition_enabled" >&6; } +ac_res=$ac_cv_search_is_condition_enabled +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCOND="yes" + STOPCOND_LIBS="$LIBS" + STOPCOND_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCOND" >&5 +printf %s "checking for STOPCOND... " >&6; } + +if test -n "$STOPCOND_CFLAGS"; then + pkg_cv_STOPCOND_CFLAGS="$STOPCOND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_CFLAGS=`$PKG_CONFIG --cflags "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCOND_LIBS"; then + pkg_cv_STOPCOND_LIBS="$STOPCOND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_LIBS=`$PKG_CONFIG --libs "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcond" 2>&1` + else + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcond" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCOND_PKG_ERRORS" >&5 + + + FOUND_STOPCOND="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCOND="no" + +else + STOPCOND_CFLAGS=$pkg_cv_STOPCOND_CFLAGS + STOPCOND_LIBS=$pkg_cv_STOPCOND_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCOND="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCOND}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCOND_CFLAGS="${STOPCOND_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCOND_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCOND_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + + +if test -e penmp || test -e mp; then + as_fn_error $? "AC_OPENMP clobbers files named 'mp' and 'penmp'. Aborting configure because one of these files already exists." "$LINENO" 5 +fi +# Check whether --enable-openmp was given. +if test ${enable_openmp+y} +then : + enableval=$enable_openmp; +fi + + OPENMP_FCFLAGS= + if test "$enable_openmp" != no; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $FC option to support OpenMP" >&5 +printf %s "checking for $FC option to support OpenMP... " >&6; } +if test ${ac_cv_prog_fc_openmp+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_fc_openmp='not found' + for ac_option in '' -fopenmp -xopenmp -openmp -mp -omp -qsmp=omp -homp \ + -Popenmp --openmp; do + + ac_save_FCFLAGS=$FCFLAGS + FCFLAGS="$FCFLAGS $ac_option" + cat > conftest.$ac_ext <<_ACEOF + + program main + implicit none +!$ integer tid + tid = 42 + call omp_set_num_threads(2) + end + +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + cat > conftest.$ac_ext <<_ACEOF + + program main + implicit none +!$ integer tid + tid = 42 + call omp_set_num_threads(2) + end + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_prog_fc_openmp=$ac_option +else $as_nop + ac_cv_prog_fc_openmp='unsupported' +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + FCFLAGS=$ac_save_FCFLAGS + + if test "$ac_cv_prog_fc_openmp" != 'not found'; then + break + fi + done + if test "$ac_cv_prog_fc_openmp" = 'not found'; then + ac_cv_prog_fc_openmp='unsupported' + elif test "$ac_cv_prog_fc_openmp" = ''; then + ac_cv_prog_fc_openmp='none needed' + fi + rm -f penmp mp +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_openmp" >&5 +printf "%s\n" "$ac_cv_prog_fc_openmp" >&6; } + if test "$ac_cv_prog_fc_openmp" != 'unsupported' && \ + test "$ac_cv_prog_fc_openmp" != 'none needed'; then + OPENMP_FCFLAGS="$ac_cv_prog_fc_openmp" + 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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-phantom $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-phantom config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_phantom/support/configure.ac b/src/amuse_phantom/support/configure.ac new file mode 100644 index 0000000000..4c350c70ff --- /dev/null +++ b/src/amuse_phantom/support/configure.ac @@ -0,0 +1,48 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-phantom], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find tools to download and unpack with +AMUSE_DOWNLOAD() +AC_CHECK_TOOL(UNZIP, unzip) + + +# Find AMUSE libraries +AMUSE_LIB_STOPCOND() +AMUSE_LIB_FORSOCKETS() + + +# Find external dependencies +AC_LANG_PUSH([Fortran]) + +AX_MPI() + +AC_OPENMP() +AC_SUBST(OPENMP_FCFLAGS) + +AC_LANG_POP([Fortran]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_phantom/support/shared b/src/amuse_phantom/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_phantom/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_phantom.py b/src/amuse_phantom/tests/test_phantom.py similarity index 96% rename from src/amuse/test/suite/codes_tests/test_phantom.py rename to src/amuse_phantom/tests/test_phantom.py index fecc4959f9..a82fe2aa01 100644 --- a/src/amuse/test/suite/codes_tests/test_phantom.py +++ b/src/amuse_phantom/tests/test_phantom.py @@ -1,10 +1,10 @@ -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI import os import sys import numpy import math -from amuse.community.phantom.interface import PhantomInterface, Phantom +from amuse_phantom.interface import PhantomInterface, Phantom from amuse.datamodel import Particles from amuse.units import nbody_system @@ -13,7 +13,7 @@ from amuse.ic import plummer from amuse.ic.plummer import new_plummer_model -from amuse.test.suite.codes_tests.gd_tests import ( +from codes_tests.gd_tests import ( _TestGravitationalDynamicsInterface, ) try: diff --git a/src/amuse_phigrape/.gitignore b/src/amuse_phigrape/.gitignore new file mode 100644 index 0000000000..2bd624b01b --- /dev/null +++ b/src/amuse_phigrape/.gitignore @@ -0,0 +1 @@ +build_* diff --git a/src/amuse/community/phigrape/.stop b/src/amuse_phigrape/.stop similarity index 100% rename from src/amuse/community/phigrape/.stop rename to src/amuse_phigrape/.stop diff --git a/src/amuse_phigrape/Makefile b/src/amuse_phigrape/Makefile new file mode 100644 index 0000000000..6983aaa61c --- /dev/null +++ b/src/amuse_phigrape/Makefile @@ -0,0 +1,123 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library +FFLAGS += -fallow-argument-mismatch $(FORSOCKETS_CFLAGS) +FCFLAGS = $(FFLAGS) + +export CFLAGS +export FFLAGS +export LDFLAGS + +FCFLAGS_NOMPI := $(FCFLAGS) $(G6LIB_CFLAGS) $(STOPCONDMPI_CFLAGS) -DNOMPI +FCFLAGS_MPI := $(FCFLAGS) $(G6LIB_CFLAGS) $(STOPCONDMPI_CFLAGS) +FCFLAGS_SAPPORO := $(FCFLAGS) $(SAPPORO_LIGHT_CFLAGS) $(STOPCOND_CFLAGS) -DNOMPI + +LDLIBS += $(FORSOCKETS_LIBS) + +LDLIBS_NOMPI := $(LDLIBS) $(STOPCONDMPI_LIBS) $(G6LIB_LIBS) +LDLIBS_MPI := $(LDLIBS) $(STOPCONDMPI_LIBS) $(G6LIB_LIBS) +LDLIBS_SAPPORO += $(LDLIBS) $(STOPCOND_LIBS) $(SAPPORO_LIGHT_LIBS) + +CODELIB_NOMPI = build_nompi/libphigrape.a +CODELIB_MPI = build_mpi/libphigrape.a +CODELIB_SAPPORO = build_sapporo/libphigrape.a + + +build_nompi: + mkdir -p $@ + +.PHONY: $(CODELIB_NOMPI) +$(CODELIB_NOMPI): | build_nompi + $(MAKE) -C build_nompi -f ../src/Makefile -j 1 all FC="$(FC)" CC="$(CC)" CFLAGS="$(CFLAGS) -DNOMPI" FFLAGS="$(FFLAGS) -DNOMPI" OPTS="-DNOMPI" STOPCOND_CFLAGS="$(STOPCOND_CFLAGS)" STOPCOND_LIBS="$(STOPCOND_LIBS)" G6LIBS="$(G6LIB_LIBS)" VPATH=../src + +build_mpi: + mkdir -p $@ + +.PHONY: $(CODELIB_MPI) +$(CODELIB_MPI): | build_mpi + $(MAKE) -C build_mpi -f ../src/Makefile -j 1 all FC="$(MPIFC)" CC="$(MPICC)" CFLAGS="$(CFLAGS)" FFLAGS="$(FFLAGS)" STOPCOND_CFLAGS="$(STOPCONDMPI_CFLAGS)" STOPCOND_LIBS="$(STOPCONDMPI_LIBS)" G6LIBS="$(G6LIB_LIBS)" VPATH=../src + +build_sapporo: + mkdir -p $@ + +.PHONY: $(CODELIB_SAPPORO) +$(CODELIB_SAPPORO): | build_sapporo + $(MAKE) -C build_sapporo -f ../src/Makefile -j 1 all FC="$(FC)" CC="$(CC)" CFLAGS="$(CFLAGS) -DNOMPI" FFLAGS="$(FFLAGS) -DNOMPI" STOPCOND_CFLAGS="$(STOPCOND_CFLAGS)" STOPCOND_LIBS="$(STOPCOND_LIBS)" VPATH=../src + + +# Building the workers +phigrape_worker.f90: interface.py + amusifier --type=f90 interface.py PhiGRAPEInterface -o $@ + + +phigrape_worker.o: phigrape_worker.f90 + $(MPIFC) -c -o $@ -Isrc $(FCFLAGS) $< + +phigrape_worker: interface.o phigrape_worker.o $(CODELIB_NOMPI) + $(MPIFC) -o $@ $(LDFLAGS) $^ $(LDLIBS_NOMPI) + +interface.o: interface.F + $(MPIFC) -o $@ -c -Isrc $(FCFLAGS_NOMPI) $< + + +phigrape_mpi_worker.o: phigrape_worker.f90 + $(MPIFC) -c -o $@ -Isrc $(FCFLAGS_MPI) $< + +phigrape_mpi_worker: phigrape_mpi_worker.o interface_mpi.o $(CODELIB_MPI) + $(MPIFC) -o $@ $(LDFLAGS) $^ $(LDLIBS_MPI) + +interface_mpi.o: interface.F + $(MPIFC) -o $@ -c -Isrc $(FCFLAGS_MPI) $< + + +phigrape_sapporo_worker.o: phigrape_worker.f90 + $(MPIFC) -c -o $@ -Isrc $(FCFLAGS_SAPPORO) $< + +phigrape_sapporo_worker: interface_sapporo.o phigrape_sapporo_worker.o $(CODELIB_SAPPORO) + $(MPIFC) -o $@ $(LDFLAGS) $^ $(LDLIBS_SAPPORO) + +interface_sapporo.o: interface.F + $(MPIFC) -o $@ -c -Isrc $(FCFLAGS_SAPPORO) $< + + +# Which packages contain which workers? +amuse-phigrape_contains: phigrape_worker phigrape_mpi_worker + +amuse-phigrape-sapporo_contains: phigrape_sapporo_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *.o *.mod *worker* + rm -rf build_nompi build_mpi build_sapporo + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse/community/phigrape/QUICKSTART.readme b/src/amuse_phigrape/QUICKSTART.readme similarity index 100% rename from src/amuse/community/phigrape/QUICKSTART.readme rename to src/amuse_phigrape/QUICKSTART.readme diff --git a/src/amuse_phigrape/__init__.py b/src/amuse_phigrape/__init__.py new file mode 100644 index 0000000000..5c6f5cd7d2 --- /dev/null +++ b/src/amuse_phigrape/__init__.py @@ -0,0 +1 @@ +from .interface import Phigrape diff --git a/src/amuse/community/phigrape/interface.F b/src/amuse_phigrape/interface.F similarity index 100% rename from src/amuse/community/phigrape/interface.F rename to src/amuse_phigrape/interface.F diff --git a/src/amuse_phigrape/interface.py b/src/amuse_phigrape/interface.py new file mode 100644 index 0000000000..ed30094d37 --- /dev/null +++ b/src/amuse_phigrape/interface.py @@ -0,0 +1,285 @@ +import numpy + +from amuse.units import nbody_system +from amuse.units import units +from amuse.community import * +from amuse.community.interface.gd import GravitationalDynamicsInterface +from amuse.community.interface.gd import GravitationalDynamics +from amuse.community.interface.gd import GravityFieldInterface +from amuse.community.interface.gd import GravityFieldCode +from amuse.support.exceptions import AmuseException + + +class PhiGRAPEInterface( + CodeInterface, + LiteratureReferencesMixIn, + GravitationalDynamicsInterface, + StoppingConditionInterface, + GravityFieldInterface): + """ + .. [#] ADS:2007NewA...12..357H (Harfst, S., Gualandris, A., Merritt, D., Spurzem, R., Portegies Zwart, S., & Berczik, P. 2007, New Astronomy, 12, 357) + """ + + MODE_G6LIB = 'g6lib' + MODE_GPU = 'gpu' + MODE_GRAPE = 'grape' + + def __init__(self, mode = MODE_G6LIB, number_of_workers = 1, **options): + CodeInterface.__init__(self, name_of_the_worker = self.name_of_the_worker(mode, number_of_workers), number_of_workers = number_of_workers, **options) + LiteratureReferencesMixIn.__init__(self) + + def name_of_the_worker(self, mode, number_of_workers): + if mode == self.MODE_G6LIB: + if number_of_workers > 1: + raise AmuseException( + 'number_of_workers > 1 is not supported, because phiGRAPE' + ' MPI support is broken. See' + ' https://github.com/amusecode/amuse/issues/1090' + ' Please consider using Hermite or ph4 instead.') + return 'phigrape_worker' + elif mode == self.MODE_GPU: + raise AmuseException( + 'phiGRAPE GPU mode is broken. See' + ' https://github.com/amusecode/amuse/issues/1090' + ' Please consider using ph4 instead.') + elif mode == self.MODE_GRAPE: + raise AmuseException( + 'GRAPE is no longer supported in this version of AMUSE') + else: + return 'phigrape_worker' + + def initialize_particles(self, time): + return self.commit_particles() + + def reinitialize_particles(): + return self.recommit_particles() + + @legacy_function + def get_time_step(): + function = LegacyFunctionSpecification() + function.result_type = 'd' + return function + + @legacy_function + def set_eta(): + function = LegacyFunctionSpecification() + function.addParameter('etas', dtype='d', direction=function.IN) + function.addParameter('eta', dtype='d', direction=function.IN) + return function + + @legacy_function + def set_eta_s(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='d', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def set_eta1(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='d', direction=function.IN) + function.result_type = 'int32' + return function + + + @legacy_function + def get_eta(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='d', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_eta_s(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='d', direction=function.OUT) + function.result_type = 'int32' + return function + + + @legacy_function + def set_initialize_once(): + """ + Sets the initialize GPU/GRAPE once parameter. When + set the GPU will be initialized during the + :func:`commit_parameters` call and released + during the :func:`cleanup_code` call. + """ + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='i', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_initialize_once(): + """ + Returns the current value of the initialize once + parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='i', direction=function.OUT) + function.result_type = 'int32' + return function + + + @legacy_function + def get_energy_error(): + function = LegacyFunctionSpecification() + function.result_type = 'd' + return function + + @legacy_function + def find_colliding_secondary(): + function = LegacyFunctionSpecification() + function.addParameter('id1', dtype='i', direction=function.IN) + function.result_type = 'i' + return function + +class PhiGRAPEInterfaceGL(PhiGRAPEInterface): + + def __init__(self, mode = PhiGRAPEInterface.MODE_G6LIB): + PhiGRAPEInterface.__init__(self, mode = mode) + + @legacy_function + def start_viewer(): + function = LegacyFunctionSpecification() + return function + + def name_of_the_worker(self, mode): + if mode == self.MODE_G6LIB: + return 'phigrape_worker_gl' + if mode == self.MODE_GPU: + return 'phigrape_worker_gl_gpu' + if mode == self.MODE_GRAPE: + return 'phigrape_worker_gl_grape' + else: + return 'phigrape_worker_gl' + + + +class PhiGRAPE(GravitationalDynamics, GravityFieldCode): + + def __init__(self, convert_nbody = None, mode = PhiGRAPEInterface.MODE_G6LIB, use_gl = False, **options): + nbody_interface = None + if use_gl: + nbody_interface = PhiGRAPEInterfaceGL(mode, **options) + else: + nbody_interface = PhiGRAPEInterface(mode, **options) + + self.stopping_conditions = StoppingConditions(self) + + GravitationalDynamics.__init__( + self, + nbody_interface, + convert_nbody, + **options + ) + + def define_state(self, handler): + GravitationalDynamics.define_state(self, handler) + GravityFieldCode.define_state(self, handler) + self.stopping_conditions.define_state(handler) + + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_eps2", + "set_eps2", + "epsilon_squared", + "smoothing parameter for gravity calculations", + default_value = 0.0 | nbody_system.length * nbody_system.length + ) + + handler.add_method_parameter( + "get_eta", + "set_eta1", + "timestep_parameter", + "timestep parameter", + default_value = 0.02 + ) + + handler.add_method_parameter( + "get_eta_s", + "set_eta_s", + "initial_timestep_parameter", + "parameter to determine the initial timestep", + default_value = 0.01 + ) + + handler.add_method_parameter( + "get_initialize_once", + "set_initialize_once", + "initialize_gpu_once", + "set to 1 if the gpu must only be initialized once, 0 if it can be initialized for every call\nIf you want to run multiple instances of the code on the same gpu this parameter needs to be 0 (default)", + default_value = 0 + ) + handler.add_method_parameter( + "get_begin_time", + "set_begin_time", + "begin_time", + "model time to start the simulation at", + default_value = 0.0 | nbody_system.time + ) + + self.stopping_conditions.define_parameters(handler) + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + + handler.add_method( + "get_eps2", + (), + (nbody_system.length * nbody_system.length, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_eps2", + (nbody_system.length * nbody_system.length, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_eta", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_eta1", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_eta_s", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_eta_s", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_initialize_once", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_initialize_once", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + self.stopping_conditions.define_methods(handler) + + def define_particle_sets(self, handler): + GravitationalDynamics.define_particle_sets(self, handler) + self.stopping_conditions.define_particle_set(handler) + + + +Phigrape = PhiGRAPE diff --git a/src/amuse_phigrape/packages/amuse-phigrape-sapporo.amuse_deps b/src/amuse_phigrape/packages/amuse-phigrape-sapporo.amuse_deps new file mode 100644 index 0000000000..51c0cc6620 --- /dev/null +++ b/src/amuse_phigrape/packages/amuse-phigrape-sapporo.amuse_deps @@ -0,0 +1 @@ +issue_1112 c fortran mpi sapporo_light diff --git a/src/amuse_phigrape/packages/amuse-phigrape-sapporo/amuse_phigrape b/src/amuse_phigrape/packages/amuse-phigrape-sapporo/amuse_phigrape new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_phigrape/packages/amuse-phigrape-sapporo/amuse_phigrape @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_phigrape/packages/amuse-phigrape-sapporo/pyproject.toml b/src/amuse_phigrape/packages/amuse-phigrape-sapporo/pyproject.toml new file mode 100644 index 0000000000..49d9d41d4f --- /dev/null +++ b/src/amuse_phigrape/packages/amuse-phigrape-sapporo/pyproject.toml @@ -0,0 +1,39 @@ +[project] +name = "amuse-phigrape-sapporo" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework", + "amuse-phigrape" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_phigrape"] +exclude = ["amuse_phigrape/*"] +artifacts = ["amuse_phigrape/phigrape_sapporo_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_phigrape/tests/"] + +testpaths = ["amuse_phigrape/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse_phigrape/packages/amuse-phigrape.amuse_deps b/src/amuse_phigrape/packages/amuse-phigrape.amuse_deps new file mode 100644 index 0000000000..9b6deb1dd7 --- /dev/null +++ b/src/amuse_phigrape/packages/amuse-phigrape.amuse_deps @@ -0,0 +1 @@ +c fortran mpi diff --git a/src/amuse_phigrape/packages/amuse-phigrape/amuse_phigrape b/src/amuse_phigrape/packages/amuse-phigrape/amuse_phigrape new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_phigrape/packages/amuse-phigrape/amuse_phigrape @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_phigrape/packages/amuse-phigrape/pyproject.toml b/src/amuse_phigrape/packages/amuse-phigrape/pyproject.toml new file mode 100644 index 0000000000..51f3c7e9fe --- /dev/null +++ b/src/amuse_phigrape/packages/amuse-phigrape/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-phigrape" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_phigrape/**/*.py"] +exclude = [ + "amuse_phigrape/packages", + "amuse_phigrape/support", + "amuse_phigrape/src", + "amuse_phigrape/tests" + ] +artifacts = ["amuse_phigrape/phigrape_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_phigrape/tests/"] + +testpaths = ["amuse_phigrape/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/phigrape/phiGRAPE.readme b/src/amuse_phigrape/phiGRAPE.readme similarity index 100% rename from src/amuse/community/phigrape/phiGRAPE.readme rename to src/amuse_phigrape/phiGRAPE.readme diff --git a/src/amuse/community/phigrape/sapporo.config b/src/amuse_phigrape/sapporo.config similarity index 100% rename from src/amuse/community/phigrape/sapporo.config rename to src/amuse_phigrape/sapporo.config diff --git a/src/amuse_phigrape/src/Makefile b/src/amuse_phigrape/src/Makefile new file mode 100644 index 0000000000..bfc73f61ef --- /dev/null +++ b/src/amuse_phigrape/src/Makefile @@ -0,0 +1,113 @@ +OPTS ?= -DNOMPI +GL_PATH ?= /data/pelupes/libraries/f90gl-1.2.11 + +CODELIB = libphigrape.a + +AR = ar ruv +RANLIB = ranlib +RM = rm + + +SOURCEF = \ +allgather_ap.F cmcorr.F corrector.F cputime.F \ +energy.F get_min_t.F gravity.F initgrape.F \ +initmpi.F initpars.F output.F \ +predictor.F readbodydata.F readpars.F readrestartfile.F \ +selectactive.F selectsync.F sendbodies2grape.F \ +sendbodydata.F \ +sendinpdata.F sumforces.F sync.F \ +timestep.F update_grape.F update_loc_p.F writebh.F \ +writerestartfile.F predict_potential.F + +SOURCEC = wtimef.c + +SAF = main.F + +CUDA_LIBDIRS ?= -L/data1/pelupes/programs/cuda/lib +CUDA_LIBS ?= -lcudart +SAPPORO_LIBDIRS ?= -L/data1/pelupes/libraries/sapporo_v1.5 + + +LLIBSDIR = $(LDFLAGS) $(SAPPORO_LIBDIRS) $(CUDA_LIBDIRS) +LIBS = $(CUDA_LIBS) -lsapporo -lm -lboost_thread-mt -lpthread + + +G6LIBS ?= -L$(AMUSE_DIR)/lib/g6 -lg6 + +LIBS = -lm + +LIBRARIES= $(LLIBSDIR) $(LIBS) $(G6LIBS) $(STOPCOND_LIBS) + +GLINCLUDE = -I/usr/include/GL -I$(GL_PATH)/include/GL/ +GLLIB = -L$(GL_PATH)/lib -lf90GLU -lf90GL -lf90glut -lGLU -lGL -lglut + +X11LIB ?= -L/usr/X11R6/lib64 -lXaw -lXt -lXmu -lXi -lXext -lX11 + + +THREAD_OPTIONS ?= -L. -lpthread -lpt + +#------------------------------------------------------------ +#--- C-definitions +#------------------------------------------------------------ + +CFLAGS += -O3 $(OPTS) + +#------------------------------------------------------------ +#--- FORTRAN-definitions +#------------------------------------------------------------ + +FFLAGS += -O2 $(OPTS) +#gfortran :-fno-second-underscore -fPIC -Wall +ifeq ($(findstring gfortran, $(shell $(FC) --help)), gfortran) +PP_FLAGS = -x f95-cpp-input +else +PP_FLAGS = -fpp +endif + +OBJECTS = $(SOURCEF:.F=.o) $(SOURCE:.f=.o) $(SOURCEC:.c=.o) +CODEOBJS = $(OBJECTS) +SAO = $(SAF:.F=.o) + +all: debuginfo phiGRAPE $(CODELIB) + +debuginfo: + @echo "entered phigrape source makefile" + @echo "OBJECTS = " $(OBJECTS) + @echo "CODEOBJS = " $(CODEOBJS) + @echo $(STOPCOND_LIBS) + +gl: start_viewer.o viewer.o libpt.a fthread.o + + +$(CODELIB): $(CODEOBJS) + $(RM) -f $@ + $(AR) $@ $(CODEOBJS) + $(RANLIB) $@ + +stars3d.o: stars3d.f90 + $(FC) $(PP_FLAGS) $(FFLAGS) $(GLINCLUDE) -c -o $@ $< + +viewer.o: viewer.f90 + $(FC) $(PP_FLAGS) $(FFLAGS) $(GLINCLUDE) -c -o $@ $< + +libpt.a: pt.c ptf77.c pt.h + cc -c $(PIC) pt.c + cc -c $(PIC) ptf77.c + ar crv libpt.a pt.o ptf77.o + ranlib libpt.a + +phiGRAPE: $(OBJECTS) $(SAO) + $(FC) $(FFLAGS) -o phiGRAPE $^ $(LIBRARIES) + + +clean: + rm -f *.o .m* .n* *.lst *.L *~ phiGRAPE libpt.a *.mod $(CODELIB) + +.f.o: + $(FC) $(FFLAGS) $(STOPCOND_CFLAGS) -c $< + +.c.o: + $(CC) $(CFLAGS) $(STOPCOND_CFLAGS) -c $< + +.F.o: + $(FC) $(FFLAGS) $(STOPCOND_CFLAGS) -c $< diff --git a/src/amuse/community/phigrape/src/allgather_ap.F b/src/amuse_phigrape/src/allgather_ap.F similarity index 100% rename from src/amuse/community/phigrape/src/allgather_ap.F rename to src/amuse_phigrape/src/allgather_ap.F diff --git a/src/amuse/community/phigrape/src/cmcorr.F b/src/amuse_phigrape/src/cmcorr.F similarity index 100% rename from src/amuse/community/phigrape/src/cmcorr.F rename to src/amuse_phigrape/src/cmcorr.F diff --git a/src/amuse/community/phigrape/src/corrector.F b/src/amuse_phigrape/src/corrector.F similarity index 100% rename from src/amuse/community/phigrape/src/corrector.F rename to src/amuse_phigrape/src/corrector.F diff --git a/src/amuse/community/phigrape/src/cputime.F b/src/amuse_phigrape/src/cputime.F similarity index 100% rename from src/amuse/community/phigrape/src/cputime.F rename to src/amuse_phigrape/src/cputime.F diff --git a/src/amuse/community/phigrape/src/energy.F b/src/amuse_phigrape/src/energy.F similarity index 100% rename from src/amuse/community/phigrape/src/energy.F rename to src/amuse_phigrape/src/energy.F diff --git a/src/amuse/community/phigrape/src/fthread.f b/src/amuse_phigrape/src/fthread.f similarity index 100% rename from src/amuse/community/phigrape/src/fthread.f rename to src/amuse_phigrape/src/fthread.f diff --git a/src/amuse/community/phigrape/src/general.inc b/src/amuse_phigrape/src/general.inc similarity index 100% rename from src/amuse/community/phigrape/src/general.inc rename to src/amuse_phigrape/src/general.inc diff --git a/src/amuse/community/phigrape/src/get_min_t.F b/src/amuse_phigrape/src/get_min_t.F similarity index 100% rename from src/amuse/community/phigrape/src/get_min_t.F rename to src/amuse_phigrape/src/get_min_t.F diff --git a/src/amuse/community/phigrape/src/gravity.F b/src/amuse_phigrape/src/gravity.F similarity index 100% rename from src/amuse/community/phigrape/src/gravity.F rename to src/amuse_phigrape/src/gravity.F diff --git a/src/amuse/community/phigrape/src/initgrape.F b/src/amuse_phigrape/src/initgrape.F similarity index 100% rename from src/amuse/community/phigrape/src/initgrape.F rename to src/amuse_phigrape/src/initgrape.F diff --git a/src/amuse/community/phigrape/src/initmpi.F b/src/amuse_phigrape/src/initmpi.F similarity index 100% rename from src/amuse/community/phigrape/src/initmpi.F rename to src/amuse_phigrape/src/initmpi.F diff --git a/src/amuse/community/phigrape/src/initpars.F b/src/amuse_phigrape/src/initpars.F similarity index 100% rename from src/amuse/community/phigrape/src/initpars.F rename to src/amuse_phigrape/src/initpars.F diff --git a/src/amuse/community/phigrape/src/main.F b/src/amuse_phigrape/src/main.F similarity index 100% rename from src/amuse/community/phigrape/src/main.F rename to src/amuse_phigrape/src/main.F diff --git a/src/amuse/community/phigrape/src/mpi.inc b/src/amuse_phigrape/src/mpi.inc similarity index 100% rename from src/amuse/community/phigrape/src/mpi.inc rename to src/amuse_phigrape/src/mpi.inc diff --git a/src/amuse/community/phigrape/src/output.F b/src/amuse_phigrape/src/output.F similarity index 100% rename from src/amuse/community/phigrape/src/output.F rename to src/amuse_phigrape/src/output.F diff --git a/src/amuse/community/phigrape/src/paras.inc b/src/amuse_phigrape/src/paras.inc similarity index 100% rename from src/amuse/community/phigrape/src/paras.inc rename to src/amuse_phigrape/src/paras.inc diff --git a/src/amuse/community/phigrape/src/predict_potential.F b/src/amuse_phigrape/src/predict_potential.F similarity index 100% rename from src/amuse/community/phigrape/src/predict_potential.F rename to src/amuse_phigrape/src/predict_potential.F diff --git a/src/amuse/community/phigrape/src/predictor.F b/src/amuse_phigrape/src/predictor.F similarity index 100% rename from src/amuse/community/phigrape/src/predictor.F rename to src/amuse_phigrape/src/predictor.F diff --git a/src/amuse/community/phigrape/src/pt.c b/src/amuse_phigrape/src/pt.c similarity index 100% rename from src/amuse/community/phigrape/src/pt.c rename to src/amuse_phigrape/src/pt.c diff --git a/src/amuse/community/phigrape/src/pt.h b/src/amuse_phigrape/src/pt.h similarity index 100% rename from src/amuse/community/phigrape/src/pt.h rename to src/amuse_phigrape/src/pt.h diff --git a/src/amuse/community/phigrape/src/ptf77.c b/src/amuse_phigrape/src/ptf77.c similarity index 100% rename from src/amuse/community/phigrape/src/ptf77.c rename to src/amuse_phigrape/src/ptf77.c diff --git a/src/amuse/community/phigrape/src/readbodydata.F b/src/amuse_phigrape/src/readbodydata.F similarity index 100% rename from src/amuse/community/phigrape/src/readbodydata.F rename to src/amuse_phigrape/src/readbodydata.F diff --git a/src/amuse/community/phigrape/src/readpars.F b/src/amuse_phigrape/src/readpars.F similarity index 100% rename from src/amuse/community/phigrape/src/readpars.F rename to src/amuse_phigrape/src/readpars.F diff --git a/src/amuse/community/phigrape/src/readrestartfile.F b/src/amuse_phigrape/src/readrestartfile.F similarity index 100% rename from src/amuse/community/phigrape/src/readrestartfile.F rename to src/amuse_phigrape/src/readrestartfile.F diff --git a/src/amuse/community/phigrape/src/selectactive.F b/src/amuse_phigrape/src/selectactive.F similarity index 100% rename from src/amuse/community/phigrape/src/selectactive.F rename to src/amuse_phigrape/src/selectactive.F diff --git a/src/amuse/community/phigrape/src/selectsync.F b/src/amuse_phigrape/src/selectsync.F similarity index 100% rename from src/amuse/community/phigrape/src/selectsync.F rename to src/amuse_phigrape/src/selectsync.F diff --git a/src/amuse/community/phigrape/src/sendbodies2grape.F b/src/amuse_phigrape/src/sendbodies2grape.F similarity index 100% rename from src/amuse/community/phigrape/src/sendbodies2grape.F rename to src/amuse_phigrape/src/sendbodies2grape.F diff --git a/src/amuse/community/phigrape/src/sendbodydata.F b/src/amuse_phigrape/src/sendbodydata.F similarity index 100% rename from src/amuse/community/phigrape/src/sendbodydata.F rename to src/amuse_phigrape/src/sendbodydata.F diff --git a/src/amuse/community/phigrape/src/sendinpdata.F b/src/amuse_phigrape/src/sendinpdata.F similarity index 100% rename from src/amuse/community/phigrape/src/sendinpdata.F rename to src/amuse_phigrape/src/sendinpdata.F diff --git a/src/amuse/community/phigrape/src/start_viewer.F b/src/amuse_phigrape/src/start_viewer.F similarity index 100% rename from src/amuse/community/phigrape/src/start_viewer.F rename to src/amuse_phigrape/src/start_viewer.F diff --git a/src/amuse/community/phigrape/src/sumforces.F b/src/amuse_phigrape/src/sumforces.F similarity index 100% rename from src/amuse/community/phigrape/src/sumforces.F rename to src/amuse_phigrape/src/sumforces.F diff --git a/src/amuse/community/phigrape/src/sync.F b/src/amuse_phigrape/src/sync.F similarity index 100% rename from src/amuse/community/phigrape/src/sync.F rename to src/amuse_phigrape/src/sync.F diff --git a/src/amuse/community/phigrape/src/timestep.F b/src/amuse_phigrape/src/timestep.F similarity index 100% rename from src/amuse/community/phigrape/src/timestep.F rename to src/amuse_phigrape/src/timestep.F diff --git a/src/amuse/community/phigrape/src/update_grape.F b/src/amuse_phigrape/src/update_grape.F similarity index 100% rename from src/amuse/community/phigrape/src/update_grape.F rename to src/amuse_phigrape/src/update_grape.F diff --git a/src/amuse/community/phigrape/src/update_loc_p.F b/src/amuse_phigrape/src/update_loc_p.F similarity index 100% rename from src/amuse/community/phigrape/src/update_loc_p.F rename to src/amuse_phigrape/src/update_loc_p.F diff --git a/src/amuse/community/phigrape/src/viewer.f90 b/src/amuse_phigrape/src/viewer.f90 similarity index 100% rename from src/amuse/community/phigrape/src/viewer.f90 rename to src/amuse_phigrape/src/viewer.f90 diff --git a/src/amuse/community/phigrape/src/writebh.F b/src/amuse_phigrape/src/writebh.F similarity index 100% rename from src/amuse/community/phigrape/src/writebh.F rename to src/amuse_phigrape/src/writebh.F diff --git a/src/amuse/community/phigrape/src/writerestartfile.F b/src/amuse_phigrape/src/writerestartfile.F similarity index 100% rename from src/amuse/community/phigrape/src/writerestartfile.F rename to src/amuse_phigrape/src/writerestartfile.F diff --git a/src/amuse/community/phigrape/src/wtimef.c b/src/amuse_phigrape/src/wtimef.c similarity index 100% rename from src/amuse/community/phigrape/src/wtimef.c rename to src/amuse_phigrape/src/wtimef.c diff --git a/src/amuse_phigrape/support/aclocal.m4 b/src/amuse_phigrape/support/aclocal.m4 new file mode 100644 index 0000000000..8161803730 --- /dev/null +++ b/src/amuse_phigrape/support/aclocal.m4 @@ -0,0 +1,20 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/fortran.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_phigrape/support/config.mk.in b/src/amuse_phigrape/support/config.mk.in new file mode 100644 index 0000000000..202c72c13d --- /dev/null +++ b/src/amuse_phigrape/support/config.mk.in @@ -0,0 +1,41 @@ +# Compilers +CC = @CC@ +FC = @FC@ + +MPICC = @MPICC@ +MPIFC = @MPIFC@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ + + +# General flags and libraries +CFLAGS = @CFLAGS@ +FFLAGS = @FFLAGS@ +FCFLAGS = @FCFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +STOPCOND_CFLAGS = @STOPCOND_CFLAGS@ +STOPCOND_LIBS = @STOPCOND_LIBS@ + +STOPCONDMPI_CFLAGS = @STOPCONDMPI_CFLAGS@ +STOPCONDMPI_LIBS = @STOPCONDMPI_LIBS@ + +FORSOCKETS_CFLAGS = @FORSOCKETS_CFLAGS@ +FORSOCKETS_LIBS = @FORSOCKETS_LIBS@ + +G6LIB_CFLAGS = @G6LIB_CFLAGS@ +G6LIB_LIBS = @G6LIB_LIBS@ + + +# External dependencies +SAPPORO_LIGHT_CFLAGS = @SAPPORO_LIGHT_CFLAGS@ +SAPPORO_LIGHT_LIBS = @SAPPORO_LIGHT_LIBS@ + diff --git a/src/amuse_phigrape/support/configure b/src/amuse_phigrape/support/configure new file mode 100755 index 0000000000..1bf4811f0c --- /dev/null +++ b/src/amuse_phigrape/support/configure @@ -0,0 +1,7182 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-phigrape 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-phigrape' +PACKAGE_TARNAME='amuse-phigrape' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-phigrape 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +FOUND_SAPPORO_LIGHT +SAPPORO_LIGHT_LIBS +SAPPORO_LIGHT_CFLAGS +FOUND_G6LIB +G6LIB_LIBS +G6LIB_CFLAGS +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +FOUND_STOPCONDMPI +STOPCONDMPI_LIBS +STOPCONDMPI_CFLAGS +FOUND_STOPCOND +STOPCOND_LIBS +STOPCOND_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +RANLIB +AR +target_os +target_vendor +target_cpu +target +ac_ct_FC +FCFLAGS +FC +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +FC +FCFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCOND_CFLAGS +STOPCOND_LIBS +STOPCONDMPI_CFLAGS +STOPCONDMPI_LIBS +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS +G6LIB_CFLAGS +G6LIB_LIBS +SAPPORO_LIGHT_CFLAGS +SAPPORO_LIGHT_LIBS +MPICC +MPIFC' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-phigrape 1.0 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/amuse-phigrape] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-phigrape 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + 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 + FC Fortran compiler command + FCFLAGS Fortran compiler flags + 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 + STOPCOND_CFLAGS + C compiler flags for STOPCOND, overriding pkg-config + STOPCOND_LIBS + linker flags for STOPCOND, overriding pkg-config + STOPCONDMPI_CFLAGS + C compiler flags for STOPCONDMPI, overriding pkg-config + STOPCONDMPI_LIBS + linker flags for STOPCONDMPI, overriding pkg-config + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + G6LIB_CFLAGS + C compiler flags for G6LIB, overriding pkg-config + G6LIB_LIBS linker flags for G6LIB, overriding pkg-config + SAPPORO_LIGHT_CFLAGS + C compiler flags for SAPPORO_LIGHT, overriding pkg-config + SAPPORO_LIGHT_LIBS + linker flags for SAPPORO_LIGHT, overriding pkg-config + MPICC MPI C compiler command + MPIFC MPI Fortran compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-phigrape configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-phigrape $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +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 + + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find AMUSE libraries + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCOND_CFLAGS" + amuse_save_LIB_LIBS="$STOPCOND_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing is_condition_enabled" >&5 +printf %s "checking for library containing is_condition_enabled... " >&6; } +if test ${ac_cv_search_is_condition_enabled+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char is_condition_enabled (); +int +main (void) +{ +return is_condition_enabled (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcond +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_is_condition_enabled=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_is_condition_enabled+y} +then : + break +fi +done +if test ${ac_cv_search_is_condition_enabled+y} +then : + +else $as_nop + ac_cv_search_is_condition_enabled=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_is_condition_enabled" >&5 +printf "%s\n" "$ac_cv_search_is_condition_enabled" >&6; } +ac_res=$ac_cv_search_is_condition_enabled +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCOND="yes" + STOPCOND_LIBS="$LIBS" + STOPCOND_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCOND" >&5 +printf %s "checking for STOPCOND... " >&6; } + +if test -n "$STOPCOND_CFLAGS"; then + pkg_cv_STOPCOND_CFLAGS="$STOPCOND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_CFLAGS=`$PKG_CONFIG --cflags "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCOND_LIBS"; then + pkg_cv_STOPCOND_LIBS="$STOPCOND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_LIBS=`$PKG_CONFIG --libs "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcond" 2>&1` + else + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcond" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCOND_PKG_ERRORS" >&5 + + + FOUND_STOPCOND="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCOND="no" + +else + STOPCOND_CFLAGS=$pkg_cv_STOPCOND_CFLAGS + STOPCOND_LIBS=$pkg_cv_STOPCOND_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCOND="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCOND}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCOND_CFLAGS="${STOPCOND_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCOND_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCOND_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCONDMPI_CFLAGS" + amuse_save_LIB_LIBS="$STOPCONDMPI_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing get_set_conditions_" >&5 +printf %s "checking for library containing get_set_conditions_... " >&6; } +if test ${ac_cv_search_get_set_conditions_+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char get_set_conditions_ (); +int +main (void) +{ +return get_set_conditions_ (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcondmpi +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_get_set_conditions_=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_get_set_conditions_+y} +then : + break +fi +done +if test ${ac_cv_search_get_set_conditions_+y} +then : + +else $as_nop + ac_cv_search_get_set_conditions_=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_get_set_conditions_" >&5 +printf "%s\n" "$ac_cv_search_get_set_conditions_" >&6; } +ac_res=$ac_cv_search_get_set_conditions_ +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCONDMPI="yes" + STOPCONDMPI_LIBS="$LIBS" + STOPCONDMPI_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCONDMPI" >&5 +printf %s "checking for STOPCONDMPI... " >&6; } + +if test -n "$STOPCONDMPI_CFLAGS"; then + pkg_cv_STOPCONDMPI_CFLAGS="$STOPCONDMPI_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcondmpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcondmpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCONDMPI_CFLAGS=`$PKG_CONFIG --cflags "stopcondmpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCONDMPI_LIBS"; then + pkg_cv_STOPCONDMPI_LIBS="$STOPCONDMPI_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcondmpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcondmpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCONDMPI_LIBS=`$PKG_CONFIG --libs "stopcondmpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCONDMPI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcondmpi" 2>&1` + else + STOPCONDMPI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcondmpi" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCONDMPI_PKG_ERRORS" >&5 + + + FOUND_STOPCONDMPI="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCONDMPI="no" + +else + STOPCONDMPI_CFLAGS=$pkg_cv_STOPCONDMPI_CFLAGS + STOPCONDMPI_LIBS=$pkg_cv_STOPCONDMPI_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCONDMPI="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCONDMPI}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCONDMPI_CFLAGS="${STOPCONDMPI_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCONDMPI_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCONDMPI_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$G6LIB_CFLAGS" + amuse_save_LIB_LIBS="$G6LIB_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing g6_npipes" >&5 +printf %s "checking for library containing g6_npipes... " >&6; } +if test ${ac_cv_search_g6_npipes+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char g6_npipes (); +int +main (void) +{ +return g6_npipes (); + ; + return 0; +} +_ACEOF +for ac_lib in '' g6 +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_g6_npipes=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_g6_npipes+y} +then : + break +fi +done +if test ${ac_cv_search_g6_npipes+y} +then : + +else $as_nop + ac_cv_search_g6_npipes=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_g6_npipes" >&5 +printf "%s\n" "$ac_cv_search_g6_npipes" >&6; } +ac_res=$ac_cv_search_g6_npipes +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_G6LIB="yes" + G6LIB_LIBS="$LIBS" + G6LIB_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for G6LIB" >&5 +printf %s "checking for G6LIB... " >&6; } + +if test -n "$G6LIB_CFLAGS"; then + pkg_cv_G6LIB_CFLAGS="$G6LIB_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"g6lib\""; } >&5 + ($PKG_CONFIG --exists --print-errors "g6lib") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_G6LIB_CFLAGS=`$PKG_CONFIG --cflags "g6lib" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$G6LIB_LIBS"; then + pkg_cv_G6LIB_LIBS="$G6LIB_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"g6lib\""; } >&5 + ($PKG_CONFIG --exists --print-errors "g6lib") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_G6LIB_LIBS=`$PKG_CONFIG --libs "g6lib" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + G6LIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "g6lib" 2>&1` + else + G6LIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "g6lib" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$G6LIB_PKG_ERRORS" >&5 + + + FOUND_G6LIB="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_G6LIB="no" + +else + G6LIB_CFLAGS=$pkg_cv_G6LIB_CFLAGS + G6LIB_LIBS=$pkg_cv_G6LIB_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_G6LIB="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_G6LIB}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + G6LIB_CFLAGS="${G6LIB_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + G6LIB_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + G6LIB_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$SAPPORO_LIGHT_CFLAGS" + amuse_save_LIB_LIBS="$SAPPORO_LIGHT_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing get_device_count" >&5 +printf %s "checking for library containing get_device_count... " >&6; } +if test ${ac_cv_search_get_device_count+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char get_device_count (); +int +main (void) +{ +return get_device_count (); + ; + return 0; +} +_ACEOF +for ac_lib in '' sapporo +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_get_device_count=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_get_device_count+y} +then : + break +fi +done +if test ${ac_cv_search_get_device_count+y} +then : + +else $as_nop + ac_cv_search_get_device_count=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_get_device_count" >&5 +printf "%s\n" "$ac_cv_search_get_device_count" >&6; } +ac_res=$ac_cv_search_get_device_count +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_SAPPORO_LIGHT="yes" + SAPPORO_LIGHT_LIBS="$LIBS" + SAPPORO_LIGHT_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SAPPORO_LIGHT" >&5 +printf %s "checking for SAPPORO_LIGHT... " >&6; } + +if test -n "$SAPPORO_LIGHT_CFLAGS"; then + pkg_cv_SAPPORO_LIGHT_CFLAGS="$SAPPORO_LIGHT_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sapporo_light\""; } >&5 + ($PKG_CONFIG --exists --print-errors "sapporo_light") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_SAPPORO_LIGHT_CFLAGS=`$PKG_CONFIG --cflags "sapporo_light" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$SAPPORO_LIGHT_LIBS"; then + pkg_cv_SAPPORO_LIGHT_LIBS="$SAPPORO_LIGHT_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sapporo_light\""; } >&5 + ($PKG_CONFIG --exists --print-errors "sapporo_light") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_SAPPORO_LIGHT_LIBS=`$PKG_CONFIG --libs "sapporo_light" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + SAPPORO_LIGHT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "sapporo_light" 2>&1` + else + SAPPORO_LIGHT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "sapporo_light" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$SAPPORO_LIGHT_PKG_ERRORS" >&5 + + + FOUND_SAPPORO_LIGHT="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_SAPPORO_LIGHT="no" + +else + SAPPORO_LIGHT_CFLAGS=$pkg_cv_SAPPORO_LIGHT_CFLAGS + SAPPORO_LIGHT_LIBS=$pkg_cv_SAPPORO_LIGHT_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_SAPPORO_LIGHT="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_SAPPORO_LIGHT}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + SAPPORO_LIGHT_CFLAGS="${SAPPORO_LIGHT_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + SAPPORO_LIGHT_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + SAPPORO_LIGHT_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +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 + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-phigrape $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-phigrape config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_phigrape/support/configure.ac b/src/amuse_phigrape/support/configure.ac new file mode 100644 index 0000000000..d94a905e5b --- /dev/null +++ b/src/amuse_phigrape/support/configure.ac @@ -0,0 +1,48 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-phigrape], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_CC() + +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find AMUSE libraries +AMUSE_LIB_STOPCOND() +AMUSE_LIB_STOPCONDMPI() +AMUSE_LIB_FORSOCKETS() +AMUSE_LIB_G6LIB() +AMUSE_LIB_SAPPORO_LIGHT() + + +# Find external dependencies +AC_LANG_PUSH([C]) +AX_MPI() +AC_LANG_POP([C]) + +AC_LANG_PUSH([Fortran]) +AX_MPI() +AC_LANG_POP([Fortran]) + + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_phigrape/support/shared b/src/amuse_phigrape/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_phigrape/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse_phigrape/tests/test_phigrape.py b/src/amuse_phigrape/tests/test_phigrape.py new file mode 100644 index 0000000000..cccb66d88e --- /dev/null +++ b/src/amuse_phigrape/tests/test_phigrape.py @@ -0,0 +1,825 @@ +import os +import sys +import time +from amuse_phigrape.interface import PhiGRAPEInterface, PhiGRAPE + +from amuse.support.testing.amusetest import TestWithMPI + +import numpy +from amuse.units import nbody_system +from amuse.units import units +from amuse import datamodel +from amuse.ic.plummer import new_plummer_model +try: + import matplotlib + matplotlib.use("Agg") + from matplotlib import pyplot + HAS_MATPLOTLIB = True +except ImportError: + HAS_MATPLOTLIB = False + +default_test_options = dict() +# ~default_test_options = dict(mode='gpu') + + +class TestMPIInterface(TestWithMPI): + + def test0(self): + instance = PhiGRAPEInterface(**default_test_options) + self.assertTrue("Harfst, S., Gualandris, A., Merritt, D., Spurzem, R., Portegies Zwart, S., & Berczik, P." + in instance.all_literature_references_string()) + instance.stop() + + def test1(self): + instance = PhiGRAPEInterface(**default_test_options) + instance.initialize_code() + instance.new_particle(11.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0) + retrieved_state = instance.get_state(1) + self.assertEqual(11.0, retrieved_state['mass']) + self.assertEqual(2.0, retrieved_state['radius']) + self.assertEqual(instance.get_number_of_particles()['number_of_particles'], 1) + instance.cleanup_code() + instance.stop() + + def test2(self): + instance = PhiGRAPEInterface(**default_test_options) + for x in [0.101, 4.0]: + error = instance.set_eps2(x) + self.assertEqual(error, 0) + value, error = instance.get_eps2() + self.assertEqual(error, 0) + self.assertEqual(x, value) + instance.cleanup_code() + instance.stop() + + def test3(self): + instance = PhiGRAPEInterface(**default_test_options) + instance.initialize_code() + + instance.new_particle([11.0, 12.0, 13.0, 14.0], [2.1, 3.1, 4.1, 5.1], [2.2, 3.2, 4.2, 5.2], [2.3, 3.3, 4.3, 5.3], [2.4, 3.4, 4.4, 5.4], [2.5, 3.5, 4.5, 5.5], [2.6, 3.6, 4.6, 5.6], [2.0, 3.0, 4.0, 5.0]) + retrieved_state = instance.get_state(1) + self.assertEqual(11.0, retrieved_state['mass']) + retrieved_state = instance.get_state([2, 3, 4]) + self.assertEqual(12.0, retrieved_state['mass'][0]) + self.assertEqual(instance.get_number_of_particles()['number_of_particles'], 4) + instance.cleanup_code() + instance.stop() + + def test5(self): + instance = PhiGRAPEInterface(**default_test_options) + instance.initialize_code() + n = 4000 + ids = [i for i in range(1, n)] + values = [1.0 * i for i in range(1, n)] + instance.new_particle( + values, values, values, values, values, values, values) + retrieved_state = instance.get_state(3999) + self.assertEqual(3999.0, retrieved_state['mass']) + instance.cleanup_code() + instance.stop() + + def test6(self): + instance = PhiGRAPEInterface(**default_test_options) + instance.initialize_code() + n = 4000 + ids = [i for i in range(1, n)] + values = [1.0 * i for i in range(1, n)] + for i in range(n-1): + instance.new_particle( + values[i], values[i], values[i], values[i], values[i], values[i], values[i]) + + retrieved_state = instance.get_state(1) + self.assertEqual(1.0, retrieved_state['mass']) + instance.cleanup_code() + instance.stop() + + def test7(self): + instance = PhiGRAPEInterface(**default_test_options) # (debugger="xterm") + instance.initialize_code() + + instance.set_eps2(0.0**2) + instance.set_eta(0.01, 0.02) + instance.commit_parameters() + + instance.new_particle( + [1.0, 1.0, 1.0], + [1.0, 0.0, -1.0], + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 1.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0]) + instance.recommit_particles() + Ep = instance.get_potential_energy()['potential_energy'] + Ek = instance.get_kinetic_energy()['kinetic_energy'] + self.assertEqual(Ek, 0.5) + self.assertEqual(Ep, -2.5) + instance.delete_particle(2) + instance.recommit_particles() + n = instance.get_number_of_particles()['number_of_particles'] + Ep = instance.get_potential_energy()['potential_energy'] + Ek = instance.get_kinetic_energy()['kinetic_energy'] + + self.assertEqual(n, 2) + self.assertEqual(Ek, 0.) + self.assertEqual(Ep, -0.5) + + instance.cleanup_code() + instance.stop() + + def xtest8(self): + instance = PhiGRAPEInterface(**default_test_options) + instance.initialize_code() + instance.set_eps2(0.0**2) + instance.set_eta(0.01, 0.02) + instance.new_particle( + [0.01, 0.01], + [10., -10.], + [0.0, 0.0], + [0.0, 0.0], + [-5.0, 5.0], + [0.0, 0.0], + [0.0, 0.0], + [0.1, 0.1]) + instance.commit_particles() + # HAS NO RESULT... + result = instance.evolve_model(3.14159) + + tnow = instance.get_time()['time'] + print("after evolve(pi), tnow = %f" % (tnow)) + # self.assertEqual( id1, 1) + """ + instance.evolve(instance.get_time(),1) + id2=instance.find_colliding_secondary(id1) + self.assertEqual( id2, 2) + self.assertAlmostEqual( tnow, 2.,2) + state1 = instance.get_state(id1) + state2 = instance.get_state(id2) + self.assertTrue( abs(state1['x'] - state2['x'])<0.2) + """ + instance.cleanup_code() + instance.stop() + + def test8(self): + instance = PhiGRAPEInterface(**default_test_options) + instance.initialize_code() + instance.set_eps2(0.1**2) + instance.commit_parameters() + id1, errorcode = instance.new_particle(mass=10.0, radius=1.0, + x=0.0, y=0.0, z=0.0, vx=0.0, vy=0.0, vz=0.0) + id2, errorcode = instance.new_particle(mass=10.0, radius=1.0, + x=2.0, y=0.0, z=0.0, vx=10.0, vy=0.0, vz=0.0) + + instance.commit_particles() + potential, errorcode = instance.get_potential(id1) + self.assertEqual(errorcode, 0) + self.assertAlmostRelativeEquals(potential, -10.0 / numpy.sqrt(2.0**2 + 0.1**2), 6) + total_potential, errorcode = instance.get_potential_energy() + self.assertEqual(errorcode, 0) + potentials, errorcode = instance.get_potential([id1, id2]) + instance.cleanup_code() + instance.stop() + self.assertEqual(errorcode, 0) + self.assertAlmostRelativeEquals(total_potential, numpy.sum(potentials * [10.0, 10.0]) / 2.0) + + def test9(self): + instance = PhiGRAPEInterface(**default_test_options) + instance.initialize_code() + instance.set_eps2(0) + instance.commit_parameters() + id1, errorcode = instance.new_particle(mass=10.0, radius=1.0, x=0.0, y=0.0, z=0.0, vx=0.0, vy=0.0, vz=0.0) + id2, errorcode = instance.new_particle(mass=1.0, radius=1.0, x=2.0, y=0.0, z=0.0, vx=10.0, vy=0.0, vz=0.0) + + instance.commit_particles() + potential, errorcode = instance.get_potential(id1) + self.assertEqual(errorcode, 0) + self.assertAlmostRelativeEquals(potential, -1.0 / numpy.sqrt(2.0**2), 8) + total_potential, errorcode = instance.get_potential_energy() + potentials, errorcode = instance.get_potential([id1, id2]) + instance.cleanup_code() + instance.stop() + + self.assertAlmostRelativeEquals(total_potential, numpy.sum(potentials * [10.0, 1.0]) / 2.0) + + +class TestPhigrape(TestWithMPI): + def new_system_of_sun_and_earth(self): + stars = datamodel.Stars(2) + sun = stars[0] + sun.mass = units.MSun(1.0) + sun.position = units.m(numpy.array((0.0, 0.0, 0.0))) + sun.velocity = units.ms(numpy.array((0.0, 0.0, 0.0))) + sun.radius = units.RSun(1.0) + + earth = stars[1] + earth.mass = units.kg(5.9736e24) + earth.radius = units.km(6371) + earth.position = units.km(numpy.array((149.5e6, 0.0, 0.0))) + earth.velocity = units.ms(numpy.array((0.0, 29800, 0.0))) + + return stars + + def test1(self): + convert_nbody = nbody_system.nbody_to_si(1.0 | units.MSun, 149.5e6 | units.km) + instance = PhiGRAPE(convert_nbody, **default_test_options) # , debugger="xterm") + instance.initialize_code() + instance.parameters.set_defaults() + instance.parameters.initial_timestep_parameter = 0.001 + instance.parameters.timestep_parameter = 0.001 + + stars = self.new_system_of_sun_and_earth() + earth = stars[1] + instance.particles.add_particles(stars) + instance.commit_particles() + + position_at_start = earth.position.value_in(units.AU)[0] + instance.evolve_model(365 | units.day) + instance.particles.copy_values_of_all_attributes_to(stars) + position_after_full_rotation = earth.position.value_in(units.AU)[0] + self.assertAlmostEqual(position_at_start, position_after_full_rotation, 2) + + instance.evolve_model(365.0 + (365.0 / 2) | units.day) + instance.particles.copy_values_of_all_attributes_to(stars) + position_after_half_a_rotation = earth.position.value_in(units.AU)[0] + self.assertAlmostEqual(-position_at_start, position_after_half_a_rotation, 2) + + instance.evolve_model(365.0 + (365.0 / 2) + (365.0 / 4) | units.day) + instance.particles.copy_values_of_all_attributes_to(stars) + position_after_half_a_rotation = earth.position.value_in(units.AU)[1] + self.assertAlmostEqual(-position_at_start, position_after_half_a_rotation, 3) + + instance.cleanup_code() + instance.stop() + + def test2(self): + convert_nbody = nbody_system.nbody_to_si(1.0 | units.MSun, 149.5e6 | units.km) + instance = PhiGRAPE(convert_nbody, **default_test_options) + + instance.initialize_code() + instance.parameters.set_defaults() + + stars = self.new_system_of_sun_and_earth() + earth = stars[1] + instance.particles.add_particles(stars) + instance.commit_particles() + + for x in range(1, 365, 30): + instance.evolve_model(x | units.day) + instance.particles.copy_values_of_all_attributes_to(stars) + stars.savepoint() + + if HAS_MATPLOTLIB: + figure = pyplot.figure() + plot = figure.add_subplot(1, 1, 1) + + x_points = earth.get_timeline_of_attribute("x") + y_points = earth.get_timeline_of_attribute("y") + + x_points_in_AU = [t_x[1].value_in(units.AU) for t_x in x_points] + y_points_in_AU = [t_x1[1].value_in(units.AU) for t_x1 in y_points] + + plot.scatter(x_points_in_AU, y_points_in_AU, color="b", marker='o') + + plot.set_xlim(-1.5, 1.5) + plot.set_ylim(-1.5, 1.5) + + test_results_path = self.get_path_to_results() + output_file = os.path.join(test_results_path, "phiGRAPE-earth-sun2.svg") + figure.savefig(output_file) + + instance.cleanup_code() + instance.stop() + + def test4(self): + convert_nbody = nbody_system.nbody_to_si(5.0 | units.kg, 10.0 | units.m) + + instance = PhiGRAPE(convert_nbody, **default_test_options) + + instance.initialize_code() + instance.parameters.set_defaults() + + particles = datamodel.Particles(2) + self.assertEqual(len(instance.particles), 0) + + particles.mass = [15.0, 30.0] | units.kg + particles.radius = [10.0, 20.0] | units.m + particles.position = [[10.0, 20.0, 30.0], [20.0, 40.0, 60.0]] | units.m + particles.velocity = [[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]] | units.m / units.s + + instance.particles.add_particles(particles) + self.assertEqual(len(instance.particles), 2) + + instance.particles.mass = [17.0, 33.0] | units.kg + + self.assertEqual(instance.get_mass(1), 17.0 | units.kg) + self.assertEqual(instance.get_mass(2), 33.0 | units.kg) + + instance.stop() + + def test5(self): + instance = PhiGRAPE(**default_test_options) + instance.initialize_code() + instance.parameters.set_defaults() + + particles = datamodel.Particles(2) + particles.mass = [1.0, 1.0] | nbody_system.mass + particles.radius = [0.0001, 0.0001] | nbody_system.length + particles.position = [[0.0, 0.0, 0.0], [2.0, 0.0, 0.0]] | nbody_system.length + particles.velocity = [[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]] | nbody_system.speed + instance.particles.add_particles(particles) + + instance.commit_particles() + + zero = 0.0 | nbody_system.length + fx, fy, fz = instance.get_gravity_at_point(zero, 1.0 | nbody_system.length, zero, zero) + self.assertAlmostEqual(fx, 0.0 | nbody_system.acceleration, 3) + self.assertAlmostEqual(fy, 0.0 | nbody_system.acceleration, 3) + self.assertAlmostEqual(fz, 0.0 | nbody_system.acceleration, 3) + for x in (0.25, 0.5, 0.75): + x0 = x | nbody_system.length + x1 = (2.0 - x) | nbody_system.length + potential0 = instance.get_potential_at_point(zero, x0, zero, zero) + potential1 = instance.get_potential_at_point(zero, x1, zero, zero) + fx0, fy0, fz0 = instance.get_gravity_at_point(zero, x0, zero, zero) + fx1, fy1, fz1 = instance.get_gravity_at_point(zero, x1, zero, zero) + + self.assertAlmostEqual(fy0, 0.0 | nbody_system.acceleration, 3) + self.assertAlmostEqual(fz0, 0.0 | nbody_system.acceleration, 3) + self.assertAlmostEqual(fy1, 0.0 | nbody_system.acceleration, 3) + self.assertAlmostEqual(fz1, 0.0 | nbody_system.acceleration, 3) + + self.assertAlmostEqual(fx0, -1.0 * fx1, 5) + fx = (-1.0 / (x0**2) + 1.0 / (x1**2)) * (1.0 | nbody_system.length ** 3 / nbody_system.time ** 2) + self.assertAlmostEqual(fx, fx0, 2) + self.assertAlmostEqual(potential0, potential1, 5) + + instance.stop() + + def test6(self): + instance = PhiGRAPE(**default_test_options) + instance.initialize_code() + instance.parameters.set_defaults() + + particles = datamodel.Particles(6) + particles.mass = nbody_system.mass.new_quantity(range(1, 7)) + particles.radius = 0.00001 | nbody_system.length + particles.position = [[-1.0, 0.0, 0.0], [1.0, 0.0, 0.0], [0.0, -1.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, -1.0], [0.0, 0.0, 1.0]] | nbody_system.length + particles.velocity = [[0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0, 0.0]] | nbody_system.speed + instance.particles.add_particles(particles) + instance.commit_particles() + copyof = instance.particles.copy() + + self.assertEqual(2 | nbody_system.mass, copyof[1].mass) + + instance.stop() + + def test7(self): + instance = PhiGRAPE(**default_test_options) + instance.initialize_code() + instance.parameters.set_defaults() + + particles = datamodel.Particles(2) + particles.mass = [1.0, 1.0] | nbody_system.mass + particles.radius = [0.0001, 0.0001] | nbody_system.length + particles.position = [[0.0, 0.0, 0.0], [2.0, 0.0, 0.0]] | nbody_system.length + particles.velocity = [[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]] | nbody_system.speed + instance.particles.add_particles(particles) + + instance.commit_particles() + + zero = [0.0, 0.0, 0.0] | nbody_system.length + fx, fy, fz = instance.get_gravity_at_point(zero, [0.5, 1.0, 1.5] | nbody_system.length, zero, zero) + self.assertAlmostRelativeEqual(fx[0], -3.55555555556 | nbody_system.acceleration, 5) + self.assertAlmostRelativeEqual(fy[0], 0.0 | nbody_system.acceleration, 3) + self.assertAlmostRelativeEqual(fz[0], 0.0 | nbody_system.acceleration, 3) + self.assertAlmostRelativeEqual(fx[1], 0.0 | nbody_system.acceleration, 3) + self.assertAlmostRelativeEqual(fy[1], 0.0 | nbody_system.acceleration, 3) + self.assertAlmostRelativeEqual(fz[1], 0.0 | nbody_system.acceleration, 3) + self.assertAlmostRelativeEqual(fx[2], 3.55555555556 | nbody_system.acceleration, 5) + self.assertAlmostRelativeEqual(fy[2], 0.0 | nbody_system.acceleration, 3) + self.assertAlmostRelativeEqual(fz[2], 0.0 | nbody_system.acceleration, 3) + + n = 512 + x = nbody_system.length.new_quantity(numpy.linspace(0.1, 1.9, n)) + zero = nbody_system.length.new_quantity(numpy.zeros(n)) + fx, fy, fz = instance.get_gravity_at_point(zero, x, zero, zero) + for i in range(n//2): + self.assertAlmostRelativeEqual(fx[i], - fx[n - 1 - i], 5) + + instance.stop() + + def test8(self): + particles = datamodel.Particles(6) + particles.mass = nbody_system.mass.new_quantity(range(1, 7)) + particles.radius = 0.00001 | nbody_system.length + particles.position = [[-1.0, 0.0, 0.0], [1.0, 0.0, 0.0], [0.0, -1.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, -1.0], [0.0, 0.0, 1.0]] | nbody_system.length + particles.velocity = [[0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0, 0.0]] | nbody_system.speed + + for current_mode in ['g6lib', 'gpu', 'grape']: + try: + instance = PhiGRAPE(mode=current_mode) + except: + print("Running PhiGRAPE with mode=" + current_mode, "was unsuccessful.") + else: + print("Running PhiGRAPE with mode=" + current_mode + "...", end=' ') + instance.initialize_code() + instance.particles.add_particles(particles) + instance.commit_particles() + instance.evolve_model(0.1 | nbody_system.time) + instance.cleanup_code() + instance.stop() + print("ok") + + def test9(self): + convert_nbody = nbody_system.nbody_to_si(1.0 | units.MSun, 149.5e6 | units.km) + instance = PhiGRAPE(convert_nbody, **default_test_options) # , debugger="xterm") + instance.initialize_code() + + instance.parameters.set_defaults() + instance.parameters.initialize_gpu_once = 1 + + stars = self.new_system_of_sun_and_earth() + earth = stars[1] + + instance.particles.add_particles(stars) + instance.commit_particles() + + instance.evolve_model(365 | units.day) + + instance.particles.copy_values_of_all_attributes_to(stars) + + position_at_start = earth.position.value_in(units.AU)[0] + position_after_full_rotation = earth.position.value_in(units.AU)[0] + self.assertAlmostEqual(position_at_start, position_after_full_rotation, 6) + + instance.evolve_model(365.0 + (365.0 / 2) | units.day) + + instance.particles.copy_values_of_all_attributes_to(stars) + position_after_half_a_rotation = earth.position.value_in(units.AU)[0] + self.assertAlmostEqual(-position_at_start, position_after_half_a_rotation, 2) + + instance.evolve_model(365.0 + (365.0 / 2) + (365.0 / 4) | units.day) + + instance.particles.copy_values_of_all_attributes_to(stars) + position_after_half_a_rotation = earth.position.value_in(units.AU)[1] + # self.assertAlmostEqual(-position_at_start, position_after_half_a_rotation, 3) + + instance.cleanup_code() + + instance.stop() + + def test10(self): + instance = PhiGRAPE(**default_test_options) + instance.initialize_code() + instance.parameters.set_defaults() + + stars = new_plummer_model(100) + stars.radius = 0 | nbody_system.length + + instance.particles.add_particles(stars) + channel = stars.new_channel_to(instance.particles) + + instance.evolve_model(0.001 | nbody_system.time) + + e0 = instance.kinetic_energy + instance.potential_energy + + stars.mass *= 0.9 + channel.copy() + + instance.synchronize_model() + + e1 = instance.kinetic_energy + instance.potential_energy + + delta_e = e1 - e0 + + self.assertTrue(e1 != e0) + + instance.stop() + + def test11(self): + print("Testing PhiGRAPE collision_detection") + particles = datamodel.Particles(7) + particles.mass = 0.001 | nbody_system.mass + particles.radius = 0.01 | nbody_system.length + particles.x = [-101.0, -100.0, -0.5, 0.5, 100.0, 101.0, 104.0] | nbody_system.length + particles.y = 0 | nbody_system.length + particles.z = 0 | nbody_system.length + particles.velocity = [[2, 0, 0], [-2, 0, 0]]*3 + [[-4, 0, 0]] | nbody_system.speed + + instance = PhiGRAPE(redirection='none', **default_test_options) + instance.initialize_code() + instance.parameters.set_defaults() + instance.particles.add_particles(particles) + print() + print(instance.model_time) + print(instance.particles) + print() + collisions = instance.stopping_conditions.collision_detection + collisions.enable() + instance.evolve_model(1.0 | nbody_system.time) + print() + print(instance.model_time) + print(instance.particles) + print() + + self.assertTrue(collisions.is_set()) + self.assertTrue(instance.model_time < 0.5 | nbody_system.time) + self.assertEqual(len(collisions.particles(0)), 3) + self.assertEqual(len(collisions.particles(1)), 3) + self.assertEqual(len(particles - collisions.particles(0) - collisions.particles(1)), 1) + self.assertEqual(abs(collisions.particles(0).x - collisions.particles(1).x) < + (collisions.particles(0).radius + collisions.particles(1).radius), + [True, True, True]) + + sticky_merged = datamodel.Particles(len(collisions.particles(0))) + sticky_merged.mass = collisions.particles(0).mass + collisions.particles(1).mass + sticky_merged.radius = collisions.particles(0).radius + for p1, p2, merged in zip(collisions.particles(0), collisions.particles(1), sticky_merged): + merged.position = (p1 + p2).center_of_mass() + merged.velocity = (p1 + p2).center_of_mass_velocity() + + instance.particles.remove_particles(collisions.particles(0) + collisions.particles(1)) + instance.particles.add_particles(sticky_merged) + print() + print(instance.model_time) + print(instance.particles) + print() + + instance.evolve_model(1.0 | nbody_system.time) + print() + print(instance.model_time) + print(instance.particles) + print() + self.assertTrue(collisions.is_set()) + self.assertTrue(instance.model_time < 1.0 | nbody_system.time) + print(f'cp0: {collisions.particles(0)}') + print(f'cp1: {collisions.particles(1)}') + self.assertEqual(len(collisions.particles(0)), 1) + self.assertEqual(len(collisions.particles(1)), 1) + self.assertEqual(len(instance.particles - collisions.particles(0) - collisions.particles(1)), 2) + self.assertEqual(abs(collisions.particles(0).x - collisions.particles(1).x) < + (collisions.particles(0).radius + collisions.particles(1).radius), + [True]) + instance.stop() + + def test13(self): + particles = datamodel.Particles(2) + particles.x = [0.0, 10.0] | nbody_system.length + particles.y = 0 | nbody_system.length + particles.z = 0 | nbody_system.length + particles.radius = 0.005 | nbody_system.length + particles.vx = 0 | nbody_system.speed + particles.vy = 0 | nbody_system.speed + particles.vz = 0 | nbody_system.speed + particles.mass = 1.0 | nbody_system.mass + + instance = PhiGRAPE(**default_test_options) + instance.initialize_code() + instance.parameters.stopping_conditions_number_of_steps = 2 + self.assertEqual(instance.parameters.stopping_conditions_number_of_steps, 2) + instance.parameters.epsilon_squared = (0.01 | nbody_system.length)**2 + instance.particles.add_particles(particles) + instance.stopping_conditions.number_of_steps_detection.enable() + instance.evolve_model(10 | nbody_system.time) + self.assertTrue(instance.stopping_conditions.number_of_steps_detection.is_set()) + self.assertTrue(instance.model_time < 10 | nbody_system.time) + + instance.stop() + + def test14(self): + particles = datamodel.Particles(2) + particles.x = [0.0, 10.0] | nbody_system.length + particles.y = 0 | nbody_system.length + particles.z = 0 | nbody_system.length + particles.radius = 0.005 | nbody_system.length + particles.vx = 0 | nbody_system.speed + particles.vy = 0 | nbody_system.speed + particles.vz = 0 | nbody_system.speed + particles.mass = 1.0 | nbody_system.mass + + very_short_time_to_evolve = 1 | units.s + very_long_time_to_evolve = 1e9 | nbody_system.time + + instance = PhiGRAPE(**default_test_options) + instance.initialize_code() + instance.parameters.stopping_conditions_timeout = very_short_time_to_evolve + self.assertEqual(instance.parameters.stopping_conditions_timeout, very_short_time_to_evolve) + instance.parameters.epsilon_squared = (0.01 | nbody_system.length)**2 + instance.particles.add_particles(particles) + instance.stopping_conditions.timeout_detection.enable() + start = time.time() + instance.evolve_model(very_long_time_to_evolve) + end = time.time() + self.assertTrue(instance.stopping_conditions.timeout_detection.is_set()) + self.assertTrue((end-start) < very_short_time_to_evolve.value_in(units.s) + 2) # 2 = some overhead compensation + + instance.stop() + + def test15(self): + self.skip("MPI is disabled because it seems to be broken, see #1090") + instance = PhiGRAPE(number_of_workers=2, **default_test_options) # , redirection = "none") + instance.initialize_code() + instance.parameters.set_defaults() + print(1) + particles = datamodel.Particles(2) + particles.x = [-1.0, 1.0] | nbody_system.length + particles.y = 0 | nbody_system.length + particles.z = 0 | nbody_system.length + particles.radius = 0.005 | nbody_system.length + particles.vx = 0 | nbody_system.speed + particles.vy = 0 | nbody_system.speed + particles.vz = 0 | nbody_system.speed + particles.mass = 1.0 | nbody_system.mass + + instance.particles.add_particles(particles) + instance.commit_particles() + + instance.evolve_model(0.01 | nbody_system.time) + + instance.particles.copy_values_of_all_attributes_to(particles) + + print(instance.particles.position.x) + self.assertEqual(instance.particles[0].position.x, -instance.particles[1].position.x) + self.assertAlmostRelativeEquals(instance.particles[1].position.x, 0.999969482111 | nbody_system.length, 6) + + instance.evolve_model(0.10 | nbody_system.time) + + instance.particles.copy_values_of_all_attributes_to(particles) + + print(instance.particles.position.x) + self.assertEqual(instance.particles[0].position.x, -instance.particles[1].position.x) + self.assertAlmostRelativeEquals(instance.particles[1].position.x, 0.99804560161 | nbody_system.length, 6) + + instance.evolve_model(0.50 | nbody_system.time) + + instance.particles.copy_values_of_all_attributes_to(particles) + + print(instance.particles.position.x) + self.assertEqual(instance.particles[0].position.x, -instance.particles[1].position.x) + self.assertAlmostRelativeEquals(instance.particles[1].position.x, 0.968416814302 | nbody_system.length, 6) + + instance.cleanup_code() + + instance.stop() + + def test16(self): + self.skip("MPI is disabled because it seems to be broken, see #1090") + instance = PhiGRAPE(number_of_workers=2, **default_test_options) + instance.initialize_code() + instance.parameters.set_defaults() + print(1) + particles = datamodel.Particles(2) + particles.x = [-1.0, 1.0] | nbody_system.length + particles.y = 0 | nbody_system.length + particles.z = 0 | nbody_system.length + particles.radius = 0.005 | nbody_system.length + particles.vx = 0 | nbody_system.speed + particles.vy = 0 | nbody_system.speed + particles.vz = 0 | nbody_system.speed + particles.mass = [1.0, 0.5] | nbody_system.mass + + instance.particles.add_particles(particles) + instance.commit_particles() + + instance.evolve_model(0.01 | nbody_system.time) + + instance.particles.copy_values_of_all_attributes_to(particles) + + print(instance.particles.position.x) + self.assertAlmostRelativeEquals(instance.particles[0].position.x, -0.999984741095 | nbody_system.length, 8) + self.assertAlmostRelativeEquals(instance.particles[1].position.x, 0.999969482189 | nbody_system.length, 8) + + instance.evolve_model(0.10 | nbody_system.time) + + instance.particles.copy_values_of_all_attributes_to(particles) + + print(instance.particles.position.x) + self.assertAlmostRelativeEquals(instance.particles[0].position.x, -0.999022960148 | nbody_system.length, 8) + self.assertAlmostRelativeEquals(instance.particles[1].position.x, 0.998045920305 | nbody_system.length, 8) + + instance.evolve_model(0.50 | nbody_system.time) + + instance.particles.copy_values_of_all_attributes_to(particles) + + print(instance.particles.position.x) + self.assertAlmostRelativeEquals(instance.particles[0].position.x, -0.984250788742 | nbody_system.length, 8) + self.assertAlmostRelativeEquals(instance.particles[1].position.x, 0.968501583383 | nbody_system.length, 8) + + instance.cleanup_code() + + instance.stop() + + def test17(self): + convert_nbody = nbody_system.nbody_to_si(1.0 | units.MSun, 149.5e6 | units.km) + instance = PhiGRAPE(convert_nbody, **default_test_options) + instance.initialize_code() + + instance.parameters.set_defaults() + instance.parameters.initial_timestep_parameter = 0.001 + instance.parameters.timestep_parameter = 0.001 + instance.parameters.epsilon_squared = 0.0 | units.AU**2 + + stars = self.new_system_of_sun_and_earth() + earth = stars[1] + + instance.particles.add_particles(stars) + instance.commit_particles() + + position_at_start = earth.position.value_in(units.AU)[0] + print(instance.particles[0].position.as_quantity_in(units.AU)) + print(instance.particles[1].position.as_quantity_in(units.AU)) + instance.evolve_model(365 | units.day) + print(instance.particles[0].position.as_quantity_in(units.AU)) + print(instance.particles[1].position.as_quantity_in(units.AU)) + + instance.particles.copy_values_of_all_attributes_to(stars) + + position_after_full_rotation = earth.position.value_in(units.AU)[0] + + self.assertAlmostEqual(position_at_start, position_after_full_rotation, 3) + + print(instance.particles[0].position.as_quantity_in(units.AU)) + instance.evolve_model(365.0 + (365.0 / 2) | units.day) + + print(instance.particles[0].position.as_quantity_in(units.AU)) + + instance.particles.copy_values_of_all_attributes_to(stars) + position_after_half_a_rotation = earth.position.value_in(units.AU)[0] + self.assertAlmostEqual(-position_at_start, position_after_half_a_rotation, 2) + + instance.evolve_model(365.0 + (365.0 / 2) + (365.0 / 4) | units.day) + + instance.particles.copy_values_of_all_attributes_to(stars) + position_after_half_a_rotation = earth.position.value_in(units.AU)[1] + # self.assertAlmostEqual(-position_at_start, position_after_half_a_rotation, 3) + + instance.cleanup_code() + + instance.stop() + + def test18(self): + print("Testing PhiGRAPE delete_particle") + number_of_particles = 15 + delete_order = [6, 9, 3, 1, 0, 2, 5] + number_of_initial_deletes = 3 + + particles = datamodel.Particles(number_of_particles) + particles.mass = range(1, number_of_particles + 1) | nbody_system.mass + particles.radius = 0.01 | nbody_system.length + particles.x = range(number_of_particles) | nbody_system.length + particles.y = 0 | nbody_system.length + particles.z = 0 | nbody_system.length + particles.vx = range(number_of_particles) | nbody_system.speed + particles.vy = 0 | nbody_system.speed + particles.vz = 0 | nbody_system.speed + + instance = PhiGRAPE(**default_test_options) + instance.initialize_code() + instance.parameters.set_defaults() + initial_number_of_particles = number_of_particles - len(delete_order) + number_of_initial_deletes + instance.particles.add_particles(particles[:initial_number_of_particles]) + index_new_particle = initial_number_of_particles + + self.assertEqual(len(instance.particles), initial_number_of_particles) + instance.evolve_model(0.01 | nbody_system.time) + instance.particles.remove_particles(particles[delete_order[:number_of_initial_deletes]]) + number_of_deletes = number_of_initial_deletes + self.assertEqual(len(instance.particles), initial_number_of_particles - number_of_deletes) + + for i, particle_index in enumerate(delete_order[number_of_initial_deletes:]): + instance.evolve_model((i+1) / 10.0 | nbody_system.time) + instance.particles.remove_particle(particles[particle_index]) + number_of_deletes += 1 + instance.particles.add_particle(particles[index_new_particle]) + index_new_particle += 1 + self.assertEqual(len(instance.particles), initial_number_of_particles - number_of_deletes + i + 1) + self.assertAlmostEqual(particles[:index_new_particle].total_mass() - instance.particles.total_mass(), + (delete_order[:number_of_deletes] | nbody_system.mass).sum() + (number_of_deletes | nbody_system.mass)) + + instance.stop() + + def test19(self): + self.skip("MPI is disabled because it seems to be broken, see #1090") + converter = nbody_system.nbody_to_si(1 | units.MSun, 1 | units.parsec) + + particles = datamodel.Particles(2) + particles.mass = 100 | units.MSun + particles.radius = 200 | units.RSun + particles[0].position = [0, 0, 0] | units.parsec + particles[1].position = [1, 0, 0] | units.parsec + particles.velocity = [0, 0, 0] | units.km / units.s + + code = PhiGRAPE( + converter, + PhiGRAPEInterface.MODE_G6LIB, + number_of_workers=2 + ) + code.initialize_code() + stop_cond = code.stopping_conditions.collision_detection + stop_cond.enable() + + code.particles.add_particles(particles) + + code.evolve_model(0.08 | nbody_system.time) + + self.assertTrue(stop_cond.is_set()) diff --git a/src/amuse/community/pikachu/Makefile b/src/amuse_pikachu/Makefile similarity index 100% rename from src/amuse/community/pikachu/Makefile rename to src/amuse_pikachu/Makefile diff --git a/src/amuse_pikachu/__init__.py b/src/amuse_pikachu/__init__.py new file mode 100644 index 0000000000..fcee8c9fb0 --- /dev/null +++ b/src/amuse_pikachu/__init__.py @@ -0,0 +1 @@ +from .interface import Pikachu diff --git a/src/amuse/community/pikachu/interface.cc b/src/amuse_pikachu/interface.cc similarity index 100% rename from src/amuse/community/pikachu/interface.cc rename to src/amuse_pikachu/interface.cc diff --git a/src/amuse/community/pikachu/interface.h b/src/amuse_pikachu/interface.h similarity index 100% rename from src/amuse/community/pikachu/interface.h rename to src/amuse_pikachu/interface.h diff --git a/src/amuse_pikachu/interface.py b/src/amuse_pikachu/interface.py new file mode 100644 index 0000000000..128c1ca4ef --- /dev/null +++ b/src/amuse_pikachu/interface.py @@ -0,0 +1,495 @@ +from amuse.community import * +from amuse.community.interface.gd import GravitationalDynamicsInterface +from amuse.community.interface.gd import GravitationalDynamics +from amuse.community.interface.gd import GravityFieldInterface +from amuse.community.interface.gd import GravityFieldCode + +class PikachuInterface(CodeInterface, GravitationalDynamicsInterface, LiteratureReferencesMixIn, + StoppingConditionInterface, GravityFieldInterface, CodeWithDataDirectories): + """ + Pikachu - a.k.a. P^3 Tree + Hybrid N-body module, combining a tree (Barnes & Hut) to approximate long-range + forces, with direct summation of the forces from neighbour particles. + + .. [#] ADS:2015ComAC...2....6I (Iwasawa, M., Portegies Zwart, S., Makino, J., *Computational Astrophysics and Cosmology*, **2**, 6 (2015): + .. [#] ... "GPU-enabled particle-particle particle-tree scheme for simulating dense stellar cluster system") + + """ + include_headers = ['worker_code.h', 'stopcond.h', 'interface.h'] + + MODE_NORMAL = 'normal' + MODE_LARGE_N = 'large_n' + + def __init__(self, mode=MODE_NORMAL, **options): + CodeInterface.__init__(self, name_of_the_worker=self.name_of_the_worker(mode), **options) + LiteratureReferencesMixIn.__init__(self) + CodeWithDataDirectories.__init__(self) + + def name_of_the_worker(self, mode): + if mode == self.MODE_NORMAL: + return 'pikachu_worker' + elif mode == self.MODE_LARGE_N: + return 'pikachu_worker_large_n' + else: + print("Warning: unknown mode: '{0}' - using default ('{1}').".format(mode, self.MODE_NORMAL)) + return 'pikachu_worker' + + @option(type="string", sections=('data',)) + def default_kernel_directory(self): + """ + The default directory containing the Sequoia kernels + """ + return os.path.join(self.amuse_root_directory, 'src', 'amuse_pikachu') + + @legacy_function + def get_kernel_directory(): + function = LegacyFunctionSpecification() + function.addParameter('kernel_directory', dtype='string', direction=function.OUT, + description = "Name of the Sequoia kernel directory") + function.result_type = 'int32' + return function + + @legacy_function + def set_kernel_directory(): + function = LegacyFunctionSpecification() + function.addParameter('kernel_directory', dtype='string', direction=function.IN, + description = "Name of the Sequoia kernel directory") + function.result_type = 'int32' + return function + + @legacy_function + def get_eps2_fs_fs(): + function = LegacyFunctionSpecification() + function.addParameter('epsilon_squared_fs_fs', dtype='float64', direction=function.OUT, + description = "The current value of the smooting parameter, squared, for star-star interactions.", + unit = nbody_system.length * nbody_system.length) + function.result_type = 'int32' + return function + @legacy_function + def set_eps2_fs_fs(): + function = LegacyFunctionSpecification() + function.addParameter('epsilon_squared_fs_fs', dtype='float64', direction=function.IN, + description = "The new value of the smooting parameter, squared, for star-star interactions.", + unit = nbody_system.length * nbody_system.length) + function.result_type = 'int32' + return function + + @legacy_function + def get_eps2_fs_bh(): + function = LegacyFunctionSpecification() + function.addParameter('epsilon_squared_fs_bh', dtype='float64', direction=function.OUT, + description = "The current value of the smooting parameter, squared, for star-blackhole interactions.", + unit = nbody_system.length * nbody_system.length) + function.result_type = 'int32' + return function + @legacy_function + def set_eps2_fs_bh(): + function = LegacyFunctionSpecification() + function.addParameter('epsilon_squared_fs_bh', dtype='float64', direction=function.IN, + description = "The new value of the smooting parameter, squared, for star-blackhole interactions.", + unit = nbody_system.length * nbody_system.length) + function.result_type = 'int32' + return function + + @legacy_function + def get_eps2_bh_bh(): + function = LegacyFunctionSpecification() + function.addParameter('epsilon_squared_bh_bh', dtype='float64', direction=function.OUT, + description = "The current value of the smooting parameter, squared, for blackhole-blackhole interactions.", + unit = nbody_system.length * nbody_system.length) + function.result_type = 'int32' + return function + @legacy_function + def set_eps2_bh_bh(): + function = LegacyFunctionSpecification() + function.addParameter('epsilon_squared_bh_bh', dtype='float64', direction=function.IN, + description = "The new value of the smooting parameter, squared, for blackhole-blackhole interactions.", + unit = nbody_system.length * nbody_system.length) + function.result_type = 'int32' + return function + + @legacy_function + def get_eta_s(): + function = LegacyFunctionSpecification() + function.addParameter('eta_start', dtype='float64', direction=function.OUT, + description = "The current value of the initial timestep parameter.") + function.result_type = 'int32' + return function + @legacy_function + def set_eta_s(): + function = LegacyFunctionSpecification() + function.addParameter('eta_start', dtype='float64', direction=function.IN, + description = "The new value of the initial timestep parameter.") + function.result_type = 'int32' + return function + + @legacy_function + def get_eta_fs(): + function = LegacyFunctionSpecification() + function.addParameter('eta_field_star', dtype='float64', direction=function.OUT, + description = "The current value of the timestep parameter for field stars.") + function.result_type = 'int32' + return function + @legacy_function + def set_eta_fs(): + function = LegacyFunctionSpecification() + function.addParameter('eta_field_star', dtype='float64', direction=function.IN, + description = "The new value of the timestep parameter for field stars.") + function.result_type = 'int32' + return function + + @legacy_function + def get_eta_smbh(): + function = LegacyFunctionSpecification() + function.addParameter('eta_supermassive_black_hole', dtype='float64', direction=function.OUT, + description = "The current value of the timestep parameter for black holes.") + function.result_type = 'int32' + return function + @legacy_function + def set_eta_smbh(): + function = LegacyFunctionSpecification() + function.addParameter('eta_supermassive_black_hole', dtype='float64', direction=function.IN, + description = "The new value of the timestep parameter for black holes.") + function.result_type = 'int32' + return function + + @legacy_function + def get_theta_for_tree(): + function = LegacyFunctionSpecification() + function.addParameter('opening_angle', dtype='float64', direction=function.OUT, + description = "The opening angle, theta, for building the tree: between 0 and 1.") + function.result_type = 'int32' + return function + @legacy_function + def set_theta_for_tree(): + function = LegacyFunctionSpecification() + function.addParameter('opening_angle', dtype='float64', direction=function.IN, + description = "The opening angle, theta, for building the tree: between 0 and 1.") + function.result_type = 'int32' + return function + + @legacy_function + def get_calculate_quadrupole_moments(): + function = LegacyFunctionSpecification() + function.addParameter('calculate_quadrupole_moments', dtype='int32', direction=function.OUT, + description = "Flag that specifies whether quadrupole moments are calculated for the tree") + function.result_type = 'int32' + return function + @legacy_function + def set_calculate_quadrupole_moments(): + function = LegacyFunctionSpecification() + function.addParameter('calculate_quadrupole_moments', dtype='int32', direction=function.IN, + description = "Flag that specifies whether quadrupole moments are calculated for the tree") + function.result_type = 'int32' + return function + + @legacy_function + def set_time_step(): + function = LegacyFunctionSpecification() + function.addParameter('time_step', dtype='float64', direction=function.IN, + description = "The new value of the global timestep.", + unit = nbody_system.time) + function.result_type = 'int32' + return function + + @legacy_function + def get_search_factor(): + function = LegacyFunctionSpecification() + function.addParameter('search_factor', dtype='float64', direction=function.OUT, + description = "The search factor, if positive, determines rsearch = rcut_out + search_factor * velocity_dispersion * timestep") + function.result_type = 'int32' + return function + @legacy_function + def set_search_factor(): + function = LegacyFunctionSpecification() + function.addParameter('opening_angle', dtype='float64', direction=function.IN, + description = "The search factor, if positive, determines rsearch = rcut_out + search_factor * velocity_dispersion * timestep") + function.result_type = 'int32' + return function + + @legacy_function + def get_vel_disp(): + function = LegacyFunctionSpecification() + function.addParameter('vel_disp', dtype='float64', direction=function.OUT, + description = "The velocity dispersion assumed when calculating rsearch", + unit = nbody_system.speed) + function.result_type = 'int32' + return function + @legacy_function + def set_vel_disp(): + function = LegacyFunctionSpecification() + function.addParameter('vel_disp', dtype='float64', direction=function.IN, + description = "The velocity dispersion assumed when calculating rsearch", + unit = nbody_system.speed) + function.result_type = 'int32' + return function + + @legacy_function + def get_rcut_out_FS_FS(): + function = LegacyFunctionSpecification() + function.addParameter('rcut_out_FS_FS', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.result_type = 'int32' + return function + @legacy_function + def set_rcut_out_FS_FS(): + function = LegacyFunctionSpecification() + function.addParameter('rcut_out_FS_FS', dtype='float64', direction=function.IN, + unit = nbody_system.length) + function.result_type = 'int32' + return function + + @legacy_function + def get_rcut_out_FS_BH(): + function = LegacyFunctionSpecification() + function.addParameter('rcut_out_FS_BH', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.result_type = 'int32' + return function + @legacy_function + def set_rcut_out_FS_BH(): + function = LegacyFunctionSpecification() + function.addParameter('rcut_out_FS_BH', dtype='float64', direction=function.IN, + unit = nbody_system.length) + function.result_type = 'int32' + return function + + @legacy_function + def get_rcut_out_BH_BH(): + function = LegacyFunctionSpecification() + function.addParameter('rcut_out_BH_BH', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.result_type = 'int32' + return function + @legacy_function + def set_rcut_out_BH_BH(): + function = LegacyFunctionSpecification() + function.addParameter('rcut_out_BH_BH', dtype='float64', direction=function.IN, + unit = nbody_system.length) + function.result_type = 'int32' + return function + + @legacy_function + def get_rsearch_FS_FS(): + function = LegacyFunctionSpecification() + function.addParameter('rsearch_FS_FS', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.result_type = 'int32' + return function + + @legacy_function + def set_rsearch_FS_FS(): + function = LegacyFunctionSpecification() + function.addParameter('rsearch_FS_FS', dtype='float64', direction=function.IN, + unit = nbody_system.length) + function.result_type = 'int32' + return function + + @legacy_function + def get_rsearch_FS_BH(): + function = LegacyFunctionSpecification() + function.addParameter('rsearch_FS_BH', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.result_type = 'int32' + return function + + @legacy_function + def set_rsearch_FS_BH(): + function = LegacyFunctionSpecification() + function.addParameter('rsearch_FS_BH', dtype='float64', direction=function.IN, + unit = nbody_system.length) + function.result_type = 'int32' + return function + + @legacy_function + def get_rsearch_BH_BH(): + function = LegacyFunctionSpecification() + function.addParameter('rsearch_BH_BH', dtype='float64', direction=function.OUT, + unit = nbody_system.length) + function.result_type = 'int32' + return function + + @legacy_function + def set_rsearch_BH_BH(): + function = LegacyFunctionSpecification() + function.addParameter('rsearch_BH_BH', dtype='float64', direction=function.IN, + unit = nbody_system.length) + function.result_type = 'int32' + return function + + +class Pikachu(GravitationalDynamics, GravityFieldCode): + + def __init__(self, convert_nbody = None, **options): + self.stopping_conditions = StoppingConditions(self) + + legacy_interface = PikachuInterface(**options) + self.legacy_doc = legacy_interface.__doc__ + + GravitationalDynamics.__init__( + self, + legacy_interface, + convert_nbody, + **options + ) + + def define_state(self, handler): + GravitationalDynamics.define_state(self, handler) + GravityFieldCode.define_state(self, handler) + self.stopping_conditions.define_state(handler) + + + + def define_parameters(self, handler): + GravitationalDynamics.define_parameters(self, handler) + self.stopping_conditions.define_parameters(handler) + handler.add_method_parameter( + "get_kernel_directory", + "set_kernel_directory", + "kernel_directory", + "Name of the Sequoia kernel directory", + default_value = self.default_kernel_directory + ) + handler.add_alias_parameter( + "epsilon_squared", + "epsilon_squared_star_star", + "smoothing parameter for gravity calculations - star-star interactions only (alias for epsilon_squared_star_star)" + ) + handler.add_method_parameter( + "get_eps2_fs_fs", + "set_eps2_fs_fs", + "epsilon_squared_star_star", + "smoothing parameter for gravity calculations - star-star interactions only", + default_value = 1.0e-8 | nbody_system.length * nbody_system.length + ) + handler.add_method_parameter( + "get_eps2_fs_bh", + "set_eps2_fs_bh", + "epsilon_squared_star_blackhole", + "smoothing parameter for gravity calculations - star-blackhole interactions only", + default_value = 1.0e-8 | nbody_system.length * nbody_system.length + ) + handler.add_method_parameter( + "get_eps2_bh_bh", + "set_eps2_bh_bh", + "epsilon_squared_blackhole_blackhole", + "smoothing parameter for gravity calculations - blackhole-blackhole interactions only", + default_value = 0.0 | nbody_system.length * nbody_system.length + ) + handler.add_method_parameter( + "get_eta_s", + "set_eta_s", + "initial_timestep_parameter", + "initial timestep parameter (eta)", + default_value = 0.005 + ) + handler.add_alias_parameter( + "timestep_parameter", + "timestep_parameter_stars", + "timestep parameter (eta) for field stars (alias for timestep_parameter_stars)" + ) + handler.add_method_parameter( + "get_eta_fs", + "set_eta_fs", + "timestep_parameter_stars", + "timestep parameter (eta) for field stars", + default_value = 0.025 + ) + handler.add_method_parameter( + "get_eta_smbh", + "set_eta_smbh", + "timestep_parameter_black_holes", + "timestep parameter (eta) for black holes", + default_value = 0.025 + ) + handler.add_method_parameter( + "get_time_step", + "set_time_step", + "timestep", + "global timestep for iteration", + default_value = 1.0 / 2048.0 | nbody_system.time + ) + handler.add_method_parameter( + "get_theta_for_tree", + "set_theta_for_tree", + "opening_angle", + "opening angle, theta, for building the tree: between 0 and 1", + default_value = 0.4 + ) + handler.add_method_parameter( + "get_search_factor", + "set_search_factor", + "search_factor", + "search factor, if positive, determines rsearch = rcut_out + search_factor * velocity_dispersion * timestep", + default_value = 3.0 + ) + handler.add_method_parameter( + "get_vel_disp", + "set_vel_disp", + "velocity_dispersion", + "velocity dispersion assumed when calculating rsearch", + default_value = 0.707106781 | nbody_system.speed + ) + handler.add_method_parameter( + "get_rcut_out_FS_FS", + "set_rcut_out_FS_FS", + "rcut_out_star_star", + "cut-off radius beyond which direct force calculations smoothly transition into tree approximations", + default_value = 2.0e-3 | nbody_system.length + ) + handler.add_method_parameter( + "get_rcut_out_FS_BH", + "set_rcut_out_FS_BH", + "rcut_out_star_blackhole", + "cut-off radius beyond which direct force calculations smoothly transition into tree approximations", + default_value = 2.0e-2 | nbody_system.length + ) + handler.add_method_parameter( + "get_rcut_out_BH_BH", + "set_rcut_out_BH_BH", + "rcut_out_blackhole_blackhole", + "cut-off radius beyond which direct force calculations smoothly transition into tree approximations", + default_value = 1.0e5 | nbody_system.length + ) + handler.add_method_parameter( + "get_rsearch_FS_FS", + "set_rsearch_FS_FS", + "rsearch_star_star", + "maximum radius for neighbour search, must be larger than rcut_out to " + "provide a buffer for particles moving into rcut_out during a time step, " + "only effective if search_factor <= 0", + default_value = 0.0 | nbody_system.length + ) + handler.add_method_parameter( + "get_rsearch_FS_BH", + "set_rsearch_FS_BH", + "rsearch_star_blackhole", + "maximum radius for neighbour search, must be larger than rcut_out to " + "provide a buffer for particles moving into rcut_out during a time step, " + "only effective if search_factor <= 0", + default_value = 0.0 | nbody_system.length + ) + handler.add_method_parameter( + "get_rsearch_BH_BH", + "set_rsearch_BH_BH", + "rsearch_blackhole_blackhole", + "maximum radius for neighbour search, must be larger than rcut_out to " + "provide a buffer for particles moving into rcut_out during a time step, " + "only effective if search_factor <= 0", + default_value = 0.0 | nbody_system.length + ) + handler.add_boolean_parameter( + "get_calculate_quadrupole_moments", + "set_calculate_quadrupole_moments", + "calculate_quadrupole_moments", + "Flag that specifies whether quadrupole moments are calculated for the tree", + False + ) + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + self.stopping_conditions.define_methods(handler) + + def define_particle_sets(self, handler): + GravitationalDynamics.define_particle_sets(self, handler) + self.stopping_conditions.define_particle_set(handler) diff --git a/src/amuse_pikachu/packages/amuse-pikachu-cuda.amuse_deps b/src/amuse_pikachu/packages/amuse-pikachu-cuda.amuse_deps new file mode 100644 index 0000000000..4311f6b463 --- /dev/null +++ b/src/amuse_pikachu/packages/amuse-pikachu-cuda.amuse_deps @@ -0,0 +1 @@ +issue_1110 diff --git a/src/amuse/community/pikachu/src/BHtree.cc b/src/amuse_pikachu/src/BHtree.cc similarity index 100% rename from src/amuse/community/pikachu/src/BHtree.cc rename to src/amuse_pikachu/src/BHtree.cc diff --git a/src/amuse/community/pikachu/src/BHtree.h b/src/amuse_pikachu/src/BHtree.h similarity index 100% rename from src/amuse/community/pikachu/src/BHtree.h rename to src/amuse_pikachu/src/BHtree.h diff --git a/src/amuse/community/pikachu/src/IO.h b/src/amuse_pikachu/src/IO.h similarity index 100% rename from src/amuse/community/pikachu/src/IO.h rename to src/amuse_pikachu/src/IO.h diff --git a/src/amuse/community/pikachu/src/Makefile b/src/amuse_pikachu/src/Makefile similarity index 100% rename from src/amuse/community/pikachu/src/Makefile rename to src/amuse_pikachu/src/Makefile diff --git a/src/amuse/community/pikachu/src/Matrix3.h b/src/amuse_pikachu/src/Matrix3.h similarity index 100% rename from src/amuse/community/pikachu/src/Matrix3.h rename to src/amuse_pikachu/src/Matrix3.h diff --git a/src/amuse/community/pikachu/src/Nbody.cc b/src/amuse_pikachu/src/Nbody.cc similarity index 100% rename from src/amuse/community/pikachu/src/Nbody.cc rename to src/amuse_pikachu/src/Nbody.cc diff --git a/src/amuse/community/pikachu/src/Vector3.h b/src/amuse_pikachu/src/Vector3.h similarity index 100% rename from src/amuse/community/pikachu/src/Vector3.h rename to src/amuse_pikachu/src/Vector3.h diff --git a/src/amuse/community/pikachu/src/const.h b/src/amuse_pikachu/src/const.h similarity index 100% rename from src/amuse/community/pikachu/src/const.h rename to src/amuse_pikachu/src/const.h diff --git a/src/amuse/community/pikachu/src/distribution.h b/src/amuse_pikachu/src/distribution.h similarity index 100% rename from src/amuse/community/pikachu/src/distribution.h rename to src/amuse_pikachu/src/distribution.h diff --git a/src/amuse/community/pikachu/src/force.h b/src/amuse_pikachu/src/force.h similarity index 100% rename from src/amuse/community/pikachu/src/force.h rename to src/amuse_pikachu/src/force.h diff --git a/src/amuse/community/pikachu/src/global.h b/src/amuse_pikachu/src/global.h similarity index 100% rename from src/amuse/community/pikachu/src/global.h rename to src/amuse_pikachu/src/global.h diff --git a/src/amuse/community/pikachu/src/hard_system.cc b/src/amuse_pikachu/src/hard_system.cc similarity index 100% rename from src/amuse/community/pikachu/src/hard_system.cc rename to src/amuse_pikachu/src/hard_system.cc diff --git a/src/amuse/community/pikachu/src/misc.h b/src/amuse_pikachu/src/misc.h similarity index 100% rename from src/amuse/community/pikachu/src/misc.h rename to src/amuse_pikachu/src/misc.h diff --git a/src/amuse/community/pikachu/src/mpi_interface.h b/src/amuse_pikachu/src/mpi_interface.h similarity index 100% rename from src/amuse/community/pikachu/src/mpi_interface.h rename to src/amuse_pikachu/src/mpi_interface.h diff --git a/src/amuse/community/pikachu/src/nbody_system.cc b/src/amuse_pikachu/src/nbody_system.cc similarity index 100% rename from src/amuse/community/pikachu/src/nbody_system.cc rename to src/amuse_pikachu/src/nbody_system.cc diff --git a/src/amuse/community/pikachu/src/particle.h b/src/amuse_pikachu/src/particle.h similarity index 100% rename from src/amuse/community/pikachu/src/particle.h rename to src/amuse_pikachu/src/particle.h diff --git a/src/amuse/community/pikachu/src/schedule.h b/src/amuse_pikachu/src/schedule.h similarity index 100% rename from src/amuse/community/pikachu/src/schedule.h rename to src/amuse_pikachu/src/schedule.h diff --git a/src/amuse/community/pikachu/src/sequoia/CUDAkernels/build_tree.cu b/src/amuse_pikachu/src/sequoia/CUDAkernels/build_tree.cu similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/CUDAkernels/build_tree.cu rename to src/amuse_pikachu/src/sequoia/CUDAkernels/build_tree.cu diff --git a/src/amuse/community/pikachu/src/sequoia/CUDAkernels/compute_properties.cu b/src/amuse_pikachu/src/sequoia/CUDAkernels/compute_properties.cu similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/CUDAkernels/compute_properties.cu rename to src/amuse_pikachu/src/sequoia/CUDAkernels/compute_properties.cu diff --git a/src/amuse/community/pikachu/src/sequoia/CUDAkernels/compute_propertiesD.cu b/src/amuse_pikachu/src/sequoia/CUDAkernels/compute_propertiesD.cu similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/CUDAkernels/compute_propertiesD.cu rename to src/amuse_pikachu/src/sequoia/CUDAkernels/compute_propertiesD.cu diff --git a/src/amuse/community/pikachu/src/sequoia/CUDAkernels/dev_approximate_gravity.cu b/src/amuse_pikachu/src/sequoia/CUDAkernels/dev_approximate_gravity.cu similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/CUDAkernels/dev_approximate_gravity.cu rename to src/amuse_pikachu/src/sequoia/CUDAkernels/dev_approximate_gravity.cu diff --git a/src/amuse/community/pikachu/src/sequoia/CUDAkernels/dev_approximate_gravity.cu_ids b/src/amuse_pikachu/src/sequoia/CUDAkernels/dev_approximate_gravity.cu_ids similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/CUDAkernels/dev_approximate_gravity.cu_ids rename to src/amuse_pikachu/src/sequoia/CUDAkernels/dev_approximate_gravity.cu_ids diff --git a/src/amuse/community/pikachu/src/sequoia/CUDAkernels/dev_approximate_gravity.cu_ori b/src/amuse_pikachu/src/sequoia/CUDAkernels/dev_approximate_gravity.cu_ori similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/CUDAkernels/dev_approximate_gravity.cu_ori rename to src/amuse_pikachu/src/sequoia/CUDAkernels/dev_approximate_gravity.cu_ori diff --git a/src/amuse/community/pikachu/src/sequoia/CUDAkernels/dev_approximate_gravity.org.cu b/src/amuse_pikachu/src/sequoia/CUDAkernels/dev_approximate_gravity.org.cu similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/CUDAkernels/dev_approximate_gravity.org.cu rename to src/amuse_pikachu/src/sequoia/CUDAkernels/dev_approximate_gravity.org.cu diff --git a/src/amuse/community/pikachu/src/sequoia/CUDAkernels/dev_approximate_gravity_let.cu b/src/amuse_pikachu/src/sequoia/CUDAkernels/dev_approximate_gravity_let.cu similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/CUDAkernels/dev_approximate_gravity_let.cu rename to src/amuse_pikachu/src/sequoia/CUDAkernels/dev_approximate_gravity_let.cu diff --git a/src/amuse/community/pikachu/src/sequoia/CUDAkernels/dev_get_ngb.cu b/src/amuse_pikachu/src/sequoia/CUDAkernels/dev_get_ngb.cu similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/CUDAkernels/dev_get_ngb.cu rename to src/amuse_pikachu/src/sequoia/CUDAkernels/dev_get_ngb.cu diff --git a/src/amuse/community/pikachu/src/sequoia/CUDAkernels/dev_shared_traverse_functions.cu b/src/amuse_pikachu/src/sequoia/CUDAkernels/dev_shared_traverse_functions.cu similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/CUDAkernels/dev_shared_traverse_functions.cu rename to src/amuse_pikachu/src/sequoia/CUDAkernels/dev_shared_traverse_functions.cu diff --git a/src/amuse/community/pikachu/src/sequoia/CUDAkernels/dev_shared_traverse_functions.org.cu b/src/amuse_pikachu/src/sequoia/CUDAkernels/dev_shared_traverse_functions.org.cu similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/CUDAkernels/dev_shared_traverse_functions.org.cu rename to src/amuse_pikachu/src/sequoia/CUDAkernels/dev_shared_traverse_functions.org.cu diff --git a/src/amuse/community/pikachu/src/sequoia/CUDAkernels/parallel.cu b/src/amuse_pikachu/src/sequoia/CUDAkernels/parallel.cu similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/CUDAkernels/parallel.cu rename to src/amuse_pikachu/src/sequoia/CUDAkernels/parallel.cu diff --git a/src/amuse/community/pikachu/src/sequoia/CUDAkernels/scanKernels.cu b/src/amuse_pikachu/src/sequoia/CUDAkernels/scanKernels.cu similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/CUDAkernels/scanKernels.cu rename to src/amuse_pikachu/src/sequoia/CUDAkernels/scanKernels.cu diff --git a/src/amuse/community/pikachu/src/sequoia/CUDAkernels/sortKernels.cu b/src/amuse_pikachu/src/sequoia/CUDAkernels/sortKernels.cu similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/CUDAkernels/sortKernels.cu rename to src/amuse_pikachu/src/sequoia/CUDAkernels/sortKernels.cu diff --git a/src/amuse/community/pikachu/src/sequoia/CUDAkernels/support_kernels.cu b/src/amuse_pikachu/src/sequoia/CUDAkernels/support_kernels.cu similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/CUDAkernels/support_kernels.cu rename to src/amuse_pikachu/src/sequoia/CUDAkernels/support_kernels.cu diff --git a/src/amuse/community/pikachu/src/sequoia/CUDAkernels/timestep.cu b/src/amuse_pikachu/src/sequoia/CUDAkernels/timestep.cu similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/CUDAkernels/timestep.cu rename to src/amuse_pikachu/src/sequoia/CUDAkernels/timestep.cu diff --git a/src/amuse/community/pikachu/src/sequoia/Makefile b/src/amuse_pikachu/src/sequoia/Makefile similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/Makefile rename to src/amuse_pikachu/src/sequoia/Makefile diff --git a/src/amuse/community/pikachu/src/sequoia/include/my_cuda.h b/src/amuse_pikachu/src/sequoia/include/my_cuda.h similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/include/my_cuda.h rename to src/amuse_pikachu/src/sequoia/include/my_cuda.h diff --git a/src/amuse/community/pikachu/src/sequoia/include/node_specs.h b/src/amuse_pikachu/src/sequoia/include/node_specs.h similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/include/node_specs.h rename to src/amuse_pikachu/src/sequoia/include/node_specs.h diff --git a/src/amuse/community/pikachu/src/sequoia/include/octree.h b/src/amuse_pikachu/src/sequoia/include/octree.h similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/include/octree.h rename to src/amuse_pikachu/src/sequoia/include/octree.h diff --git a/src/amuse/community/pikachu/src/sequoia/include/sequoiaInterface.h b/src/amuse_pikachu/src/sequoia/include/sequoiaInterface.h similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/include/sequoiaInterface.h rename to src/amuse_pikachu/src/sequoia/include/sequoiaInterface.h diff --git a/src/amuse/community/pikachu/src/sequoia/src/build.cpp b/src/amuse_pikachu/src/sequoia/src/build.cpp similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/src/build.cpp rename to src/amuse_pikachu/src/sequoia/src/build.cpp diff --git a/src/amuse/community/pikachu/src/sequoia/src/compute_properties.cpp b/src/amuse_pikachu/src/sequoia/src/compute_properties.cpp similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/src/compute_properties.cpp rename to src/amuse_pikachu/src/sequoia/src/compute_properties.cpp diff --git a/src/amuse/community/pikachu/src/sequoia/src/load_kernels.cpp b/src/amuse_pikachu/src/sequoia/src/load_kernels.cpp similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/src/load_kernels.cpp rename to src/amuse_pikachu/src/sequoia/src/load_kernels.cpp diff --git a/src/amuse/community/pikachu/src/sequoia/src/octree.cpp b/src/amuse_pikachu/src/sequoia/src/octree.cpp similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/src/octree.cpp rename to src/amuse_pikachu/src/sequoia/src/octree.cpp diff --git a/src/amuse/community/pikachu/src/sequoia/src/scanFunctions.cpp b/src/amuse_pikachu/src/sequoia/src/scanFunctions.cpp similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/src/scanFunctions.cpp rename to src/amuse_pikachu/src/sequoia/src/scanFunctions.cpp diff --git a/src/amuse/community/pikachu/src/sequoia/src/sequoiaInterface.cpp b/src/amuse_pikachu/src/sequoia/src/sequoiaInterface.cpp similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/src/sequoiaInterface.cpp rename to src/amuse_pikachu/src/sequoia/src/sequoiaInterface.cpp diff --git a/src/amuse/community/pikachu/src/sequoia/src/sort_bodies_gpu.cpp b/src/amuse_pikachu/src/sequoia/src/sort_bodies_gpu.cpp similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/src/sort_bodies_gpu.cpp rename to src/amuse_pikachu/src/sequoia/src/sort_bodies_gpu.cpp diff --git a/src/amuse/community/pikachu/src/sequoia/src/useTreeFunctions.cpp b/src/amuse_pikachu/src/sequoia/src/useTreeFunctions.cpp similarity index 100% rename from src/amuse/community/pikachu/src/sequoia/src/useTreeFunctions.cpp rename to src/amuse_pikachu/src/sequoia/src/useTreeFunctions.cpp diff --git a/src/amuse/community/pikachu/src/soft_system.cc b/src/amuse_pikachu/src/soft_system.cc similarity index 100% rename from src/amuse/community/pikachu/src/soft_system.cc rename to src/amuse_pikachu/src/soft_system.cc diff --git a/src/amuse/community/pikachu/src/sort.h b/src/amuse_pikachu/src/sort.h similarity index 100% rename from src/amuse/community/pikachu/src/sort.h rename to src/amuse_pikachu/src/sort.h diff --git a/src/amuse/community/pikachu/src/system.h b/src/amuse_pikachu/src/system.h similarity index 100% rename from src/amuse/community/pikachu/src/system.h rename to src/amuse_pikachu/src/system.h diff --git a/src/amuse/community/pikachu/src/tipsydef.h b/src/amuse_pikachu/src/tipsydef.h similarity index 100% rename from src/amuse/community/pikachu/src/tipsydef.h rename to src/amuse_pikachu/src/tipsydef.h diff --git a/src/amuse/community/pikachu/src/tipsydefs.h b/src/amuse_pikachu/src/tipsydefs.h similarity index 100% rename from src/amuse/community/pikachu/src/tipsydefs.h rename to src/amuse_pikachu/src/tipsydefs.h diff --git a/src/amuse_rebound/.gitignore b/src/amuse_rebound/.gitignore new file mode 100644 index 0000000000..dd06d87ef6 --- /dev/null +++ b/src/amuse_rebound/.gitignore @@ -0,0 +1,3 @@ +*.tar.gz +src + diff --git a/src/amuse_rebound/Makefile b/src/amuse_rebound/Makefile new file mode 100644 index 0000000000..3eac966a86 --- /dev/null +++ b/src/amuse_rebound/Makefile @@ -0,0 +1,91 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Downloading the code +VERSION = 31d117bdc92182073d0941c331f76e95f515bfc6 + +$(VERSION).tar.gz: + $(DOWNLOAD) https://github.com/hannorein/rebound/archive/$(VERSION).tar.gz >$@ + +src/rebound: | $(VERSION).tar.gz + tar xf $| + mv rebound-$(VERSION) src + + +# Building the code into a static library +CFLAGS += $(OPENMP_CFLAGS) -DCOLLISIONS_DUMMY -DLIBREBOUND +CXXFLAGS += $(STOPCOND_CFLAGS) $(OPENMP_CXXFLAGS) +LDLIBS += $(STOPCOND_LIBS) + +CODELIB = src/librebound.a + +OBJ_NAMES := rebound tree particle gravity integrator integrator_whfast +OBJ_NAMES += integrator_whfasthelio integrator_ias15 integrator_sei integrator_leapfrog +OBJ_NAMES += integrator_hermes boundary collision tools communication_mpi display +OBJ_NAMES += derivatives glad integrator_janus transformations simulationarchive +OBJ_NAMES += output input + +OBJS := $(patsubst %,src/src/%.o,$(OBJ_NAMES)) + +.PHONY: $(CODELIB) +$(CODELIB): | src/rebound + $(MAKE) -C src -j $(CPU_COUNT) all CC='$(CC)' CFLAGS='$(CFLAGS)' + $(AR) rv $@ $(OBJS) + $(RANLIB) $(CODELIB) + + +# Building the workers +rebound_worker.h: interface.py + amusifier --type=h interface.py -i amuse.community.interface.stopping_conditions.StoppingConditionInterface ReboundInterface -o $@ + +rebound_worker.cc: interface.py + amusifier --type=c interface.py ReboundInterface -o $@ + +rebound_worker.o: rebound_worker.cc rebound_worker.h + $(MPICXX) -c -o $@ $(CXXFLAGS) $(OPENMP_CXXFLAGS) $< + +rebound_worker: interface.o rebound_worker.o $(CODELIB) + $(MPICXX) -o $@ $(LDFLAGS) $(OPENMP_CXXFLAGS) $^ $(LDLIBS) + +interface.o: interface.cc rebound_worker.h | src/rebound + $(MPICXX) -o $@ -c $(CXXFLAGS) -Isrc/src $< + + +# Which packages contain which workers? +amuse-rebound_contains: rebound_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + -$(MAKE) -C src clean + rm -f $(CODELIB) + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_rebound/__init__.py b/src/amuse_rebound/__init__.py new file mode 100644 index 0000000000..3f8679bd54 --- /dev/null +++ b/src/amuse_rebound/__init__.py @@ -0,0 +1,2 @@ +# generated file +from .interface import Rebound diff --git a/src/amuse_rebound/interface.cc b/src/amuse_rebound/interface.cc new file mode 100644 index 0000000000..c14ea032a1 --- /dev/null +++ b/src/amuse_rebound/interface.cc @@ -0,0 +1,1006 @@ +#include "rebound_worker.h" + +extern "C" { +#define restrict + +#include "rebound.h" +#include "integrator.h" +#include "integrator_whfast.h" +#include "boundary.h" +#include "gravity.h" +//#include "output.h" +#include "particle.h" +#include "collision.h" +//#include "simulationarchive.h" +} + +#ifdef OPENMP_ENABLED +#include +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include + +typedef struct _particle_location { + struct reb_simulation * code; //= NULL; + struct reb_particle * p;// = NULL; +} particle_location; + +typedef struct _code_state { + reb_simulation * code; + bool has_removal; + bool has_unsorted_massless_particles; + double time_offset; + int subset; + _code_state(reb_simulation * c):code(c),has_removal(false), has_unsorted_massless_particles(false), time_offset(0), subset(0) {} + _code_state(reb_simulation * c, double time_offset, int s):code(c),has_removal(false), has_unsorted_massless_particles(false), time_offset(time_offset),subset(s) {} +} code_state; + + +typedef struct _particle_sort { + int ref_index; + reb_particle* p; + _particle_sort(int i, reb_particle* p):ref_index(i),p(p){} +} particle_sort; +typedef std::vector<_particle_sort> ParticleSortVector; + +static int max_id = 0; + +typedef std::vector ReboundSimulationVector; +static ReboundSimulationVector codes; +static double _time; +static double timestep = 0.0001; + +static inline particle_location get_particle_from_identity(int index_of_the_particle) +{ + particle_location particle = {NULL,NULL}; + + for( ReboundSimulationVector::iterator i = codes.begin(); i != codes.end(); i++) { + code_state cs = *i; + particle.code = cs.code; + particle.p = reb_get_particle_by_hash(particle.code, index_of_the_particle); + if (particle.p != NULL) break; + //*i = cs; + } + return particle; +} + +int get_mass(int index_of_the_particle, double * mass){ + + particle_location particle = get_particle_from_identity(index_of_the_particle); + struct reb_particle* p = particle.p; + //reb_simulation * code = particle.code; + if(p == NULL) {return -1;} + *mass = p->m; + return 0; +} + + +bool sort_particles (particle_sort i,particle_sort j) { + return (i.p->m > j.p->m); +} + +int commit_particles(){ + return 0; +} + +int get_time(int code_index, double * time){ + if(code_index < 0) { + *time = _time; + return 0; + } + if(code_index >= (signed) codes.size()){ + return -10; + } + if(!codes[code_index].code) { + return -11; + } + if(!codes[code_index].code) { + return -11; + } + *time = codes[code_index].code->t; + return 0; +} + +int set_mass(int index_of_the_particle, double mass){ + + particle_location particle = get_particle_from_identity(index_of_the_particle); + struct reb_particle* p = particle.p; + reb_simulation * code = particle.code; + if(p == NULL) {return -1;} + + if(p->m==0){ + if(mass>0){ + int index_old=reb_get_particle_index(p); + if(index_old!=code->N_active){ + struct reb_particle tmp = code->particles[index_old]; + for(int j=index_old; j>code->N_active; j--){ + code->particles[j] = code->particles[j-1]; + } + code->particles[code->N_active] = tmp; + } + code->N_active++; + } + } + else { + if(mass==0){ + int index_old=reb_get_particle_index(p); + code->N_active--; + + if(index_old!=code->N_active){ + struct reb_particle tmp = code->particles[index_old]; + for( int j = index_old; jN_active; j++){ + code->particles[j] = code->particles[j+1]; + } + code->particles[code->N_active] = tmp; + } + } + } + p->m = mass; + return 0; +} + +int get_index_of_first_particle(int * index_of_the_particle){ + return 0; +} + +int get_total_radius(double * radius){ + return 0; +} + +int new_particle(int * index_of_the_particle, double mass, double x, + double y, double z, double vx, double vy, double vz, double radius, int code_index){ + if(code_index < 0 || code_index >= (signed) codes.size()){ + *index_of_the_particle=0; + return -10; + } + uint32_t new_hash = max_id++; + struct reb_particle pt; + pt.x = x; + pt.y = y; + pt.z = z; + pt.vx = vx; + pt.vy = vy; + pt.vz = vz; + pt.m = mass; + pt.r = radius; + pt.hash = new_hash; + pt.sim = codes[code_index].code; + reb_add(codes[code_index].code, pt); + //std::cout<<"new particle :"<N_active; + for(int j=codes[code_index].code->N-1;j>N_active;j--){ + codes[code_index].code->particles[j] = codes[code_index].code->particles[j-1]; + } + codes[code_index].code->particles[N_active] = pt; + codes[code_index].code->N_active++; + } + return 0; +} + +int get_total_mass(double * mass){ + return 0; +} +int _evolve_code(double _tmax, code_state * cs); +int evolve_model(double _tmax, int code_index){ + int result = 0; + + reset_stopping_conditions(); + + if(code_index == -1){ + for( ReboundSimulationVector::iterator i = codes.begin(); i != codes.end(); i++) { + code_state cs = *i; + if(cs.code) { + _evolve_code(_tmax, &cs); + } + } + _time = _tmax; + return result; + }else if(code_index < 0 || code_index >= (signed) codes.size()){ + return -10; + } + if(!codes[code_index].code) { + return -11; + } else { + result = _evolve_code(_tmax, &codes[code_index]); + return result; + } +} + + +int _evolve_code(double _tmax, code_state * cs){ + reb_simulation * code = cs->code; + if(!code) {return -1;} + + int error = 0; + int is_collision_detection_enabled = 0; + int is_timeout_detection_enabled = 0; + int is_out_of_box_detection_enabled = 0; + double center_of_mass[3]; + double box_size_squared = out_of_box_parameter*out_of_box_parameter; + + + error = is_stopping_condition_enabled( + COLLISION_DETECTION, + &is_collision_detection_enabled + ); + error = is_stopping_condition_enabled( + TIMEOUT_DETECTION, + &is_timeout_detection_enabled + ); + error = is_stopping_condition_enabled( + OUT_OF_BOX_DETECTION, + &is_out_of_box_detection_enabled + ); + int is_condition_set = 0; + + + // original : rebound_integrate + int exact_finish_time = 1; + double maxR = 0; + //double minD = 0; + //struct timeval tim; + //gettimeofday(&tim, NULL); + //double timing_initial = tim.tv_sec+(tim.tv_usec/1000000.0); + double tmax = _tmax; + code-> dt_last_done = code->dt; + int last_step = 0; + int ret_value = 0; + double ke = 0.0, ke1 = 0.0; + const double dtsign = copysign(1.,code->dt); // Used to determine integration direction + + time_t starttime, currenttime; + time(&starttime); + get_kinetic_energy(cs->subset, &ke); + //printf("Code time: %d , %f -> %f (%f)\n",cs->subset , code->t, tmax, ke); + while(code->t*dtsignN<=0){ + fprintf(stderr,"\n\033[1mError!\033[0m No particles found. Exiting.\n"); + return(1); + } + + reb_step(code); // 0 to not do timing within step + + if ((code->t+code->dt)*dtsign>=tmax*dtsign && exact_finish_time==1){ + reb_integrator_synchronize(code); + code->dt = tmax-code->t; + last_step++; + }else{ + code->dt_last_done = code->dt; + } + if (maxR){ + // Check for escaping particles + const double maxR2 = maxR*maxR; + for (int i=0;iN-code->N_var;i++){ + struct reb_particle p = code->particles[i]; + double r2 = p.x*p.x + p.y*p.y + p.z*p.z; + if (r2>maxR2){ + ret_value = 2; + } + } + } + if (is_collision_detection_enabled){ + // Check for close encounters + for (int i=0;iN-code->N_var;i++){ + struct reb_particle pi = code->particles[i]; + for (int j=0;jparticles[j]; + const double x = pi.x-pj.x; + const double y = pi.y-pj.y; + const double z = pi.z-pj.z; + const double r2 = x*x + y*y + z*z; + + const double rsum = pi.r+pj.r; + if (r2<(rsum*rsum)){ + int stopping_index = next_index_for_stopping_condition(); + if(stopping_index < 0) + { + + } + else + { + set_stopping_condition_info(stopping_index, COLLISION_DETECTION); + set_stopping_condition_particle_index(stopping_index, 0, pi.hash); + set_stopping_condition_particle_index(stopping_index, 1, pj.hash); + } + is_condition_set = 1; + } + } + } + if(is_condition_set) { + break; + } + } + // AMUSE STOPPING CONDITIONS + if (is_out_of_box_detection_enabled) { + int i,k; + for (k = 0; k < 3; k++) { + center_of_mass[k] = 0.0; + } + if(use_center_of_mass_parameter) { + + double total = 0.0; + for (i = 0; i < code->N-code->N_var; i++) { + double mass = code->particles[i].m; + center_of_mass[0] += mass * code->particles[i].x; + center_of_mass[1] += mass * code->particles[i].y; + center_of_mass[2] += mass * code->particles[i].z; + + total += mass; + } + for (k = 0; k < 3; k++) { + center_of_mass[k] /= total; + } + } + for (i = 0; i < code->N-code->N_var; i++) { + + double dx = (code->particles[i].x - center_of_mass[0]); + double dy = (code->particles[i].y - center_of_mass[1]); + double dz = (code->particles[i].z - center_of_mass[2]); + double sqr_distance_wrt_origin = 0.0; + sqr_distance_wrt_origin += dx*dx; + sqr_distance_wrt_origin += dy*dy; + sqr_distance_wrt_origin += dz*dz; + + if (sqr_distance_wrt_origin > box_size_squared) { + is_condition_set = 1; + int stopping_index = next_index_for_stopping_condition(); + if(stopping_index >= 0){ + set_stopping_condition_info(stopping_index, OUT_OF_BOX_DETECTION); + set_stopping_condition_particle_index(stopping_index, 0, code->particles[i].hash); + } else { + printf("Run out of storable out of box events\n"); + } + } + } + if(is_condition_set) { + break; + } + } + // AMUSE STOPPING CONDITIONS + if(is_timeout_detection_enabled) { + time(¤ttime); + if((currenttime - starttime) > timeout_parameter) { + int stopping_index = next_index_for_stopping_condition(); + set_stopping_condition_info(stopping_index, TIMEOUT_DETECTION); + break; + } + } + } + reb_integrator_synchronize(code); + code->dt = code->dt_last_done; + get_kinetic_energy(cs->subset, &ke1); + //printf("Code time: %d , %f -> %f (%f,%f)\n",cs->subset , code->t, tmax, ke1, (ke1-ke)/ke); + //gettimeofday(&tim, NULL); + //double timing_final = tim.tv_sec+(tim.tv_usec/1000000.0); + //double timing = timing_final-timing_initial; + return ret_value; +} + +int set_eps2(double epsilon_squared, int code_index){ + if(code_index < 0 || code_index >= (signed) codes.size()){ + return -10; + } + if(!codes[code_index].code) { + return -11; + } + reb_simulation * code = codes[code_index].code; + + code->softening = sqrt(epsilon_squared); + return 0; +} + +int get_begin_time(double * time){ + return 0; +} + +int get_eps2(int code_index, double * epsilon_squared){ + if(code_index < 0 || code_index >= (signed) codes.size()){ + return -10; + } + if(!codes[code_index].code) { + return -11; + } + reb_simulation * code = codes[code_index].code; + + *epsilon_squared = code->softening * code->softening; + return 0; +} + +int get_index_of_next_particle(int index_of_the_particle, + int * index_of_the_next_particle){ + return 0; +} + +int delete_particle(int index_of_the_particle){ + return 0; +} + +int _delete_particle(int index_of_the_particle, int code_index){ + int keepSorted = 1; + if(code_index < 0 || code_index >= (signed) codes.size()){ + return -10; + } + reb_remove_by_hash(codes[code_index].code, index_of_the_particle, keepSorted); + return 0; +} + +int get_potential(int index_of_the_particle, double * potential){ + return 0; +} + +int synchronize_model(){ + return 0; +} + +int set_state(int index_of_the_particle, double mass, double x, double y, + double z, double vx, double vy, double vz, double radius){ + particle_location particle = get_particle_from_identity(index_of_the_particle); + struct reb_particle* p = particle.p; + reb_simulation * code = particle.code; + if(p == NULL) {return -1;} + + p->x = x; + p->y = y; + p->z = z; + p->vx = vx; + p->vy = vy; + p->vz = vz; + + p->m = mass; + p->r = radius; + if (code->integrator == reb_simulation::REB_INTEGRATOR_JANUS){ + code->ri_janus.recalculate_integer_coordinates_this_timestep = 1; + } + return 0; +} + +int get_state(int index_of_the_particle, double * mass, double * x, + double * y, double * z, double * vx, double * vy, double * vz, + double * radius, int * subset){ + + particle_location particle = get_particle_from_identity(index_of_the_particle); + struct reb_particle* p = particle.p; + //reb_simulation * code = particle.code; + if(p == NULL) {return -1;} + + *x = p->x; + *y = p->y; + *z = p->z; + *vx = p->vx; + *vy = p->vy; + *vz = p->vz; + *mass = p->m; + +#ifndef COLLISIONS_NONE + *radius = p->r; +#else + *radius = 0; +#endif // COLLISIONS_NONE + for( ReboundSimulationVector::iterator i = codes.begin(); i != codes.end(); i++) { + code_state cs = *i; + p = reb_get_particle_by_hash(cs.code, index_of_the_particle); + if (p != NULL) { + *subset = cs.subset; + break; + } + } + return 0; +} + +int get_time_step(int code_index, double * time_step){ + if(code_index < 0 || code_index >= (signed) codes.size()){ + return -10; + } + if(code_index == 0) { + *time_step = timestep; + return 0; + } + if(!codes[code_index].code) { + return -11; + } + reb_simulation * code = codes[code_index].code; + *time_step = code->dt; + return 0; +} + +int set_time_step(double time_step, int code_index){ + if(code_index < 0 || code_index >= (signed) codes.size()){ + return -10; + } + if(code_index == 0) { + timestep = time_step; + } else if(!codes[code_index].code) { + return -11; + } + if(codes[code_index].code) { + reb_simulation * code = codes[code_index].code; + code->dt = time_step; + } + return 0; +} + +int recommit_particles(){ + return commit_particles(); +} + +int get_kinetic_energy(int code_index, double * kinetic_energy){ + if(code_index < 0 || code_index >= (signed) codes.size()){ + return -10; + } + if(!codes[code_index].code) { + return -11; + } + reb_simulation * code = codes[code_index].code; + + double e_kin = 0.; + for (int i=0;iN-code->N_var;i++){ + struct reb_particle pi = code->particles[i]; + e_kin += 0.5 * pi.m * (pi.vx*pi.vx + pi.vy*pi.vy + pi.vz*pi.vz); + } + *kinetic_energy = e_kin; + return 0; +} + +int get_number_of_particles(int * number_of_particles){ + int N = 0; + for( ReboundSimulationVector::iterator i = codes.begin(); i != codes.end(); i++) { + code_state cs = *i; + N += cs.code->N; + } + + *number_of_particles = N; + return 0; +} + +int get_center_of_mass_position(double * x, double * y, double * z){ + return 0; +} + +int get_center_of_mass_velocity(double * vx, double * vy, double * vz){ + return 0; +} + +int get_radius(int index_of_the_particle, double * radius){ + + particle_location particle = get_particle_from_identity(index_of_the_particle); + struct reb_particle* p = particle.p; + //reb_simulation * code = particle.code; + if(p == NULL) {return -1;} + //if(loc.index < 0) {*radius = 0; return -1;} + *radius = p->r; + return 0; +} + +int get_subset(int index_of_the_particle, int * subset){ + //FIXME + struct reb_particle* p=NULL; + for( ReboundSimulationVector::iterator i = codes.begin(); i != codes.end(); i++) { + code_state cs = *i; + p = reb_get_particle_by_hash(cs.code, index_of_the_particle); + if (p != NULL) { + *subset = cs.subset; + break; + } + } + if(p == NULL) {return -1;} + //if(loc.index < 0) {*subset = -2; return -1;} + return 0; +} + +int set_begin_time(double time){ + return 0; +} + +int set_radius(int index_of_the_particle, double radius){ + + particle_location particle = get_particle_from_identity(index_of_the_particle); + struct reb_particle* p = particle.p; + //reb_simulation * code = particle.code; + if(p == NULL) {return -1;} + p->r = radius; + return 0; +} + +int set_subset(int index_of_the_particle, int subset){ + + struct reb_particle* p=NULL; + for( ReboundSimulationVector::iterator i = codes.begin(); i != codes.end(); i++) { + code_state cs = *i; + p = reb_get_particle_by_hash(cs.code, index_of_the_particle); + if (p != NULL) { + if(cs.subset != subset) {return -2;} + break; + } + } + if(p == NULL) {return -1;} + + return 0; +} + +int cleanup_code() { + for( ReboundSimulationVector::iterator i = codes.begin(); i != codes.end(); i++) { + code_state cs = *i; + if(cs.code){ + reb_remove_all(cs.code); + reb_free_simulation(cs.code); + cs.code = 0; + *i = cs; + } + } + codes.clear(); + max_id = 0; + timestep = 0.0001; + _time=0; + return 0; +} + +int recommit_parameters(){ + return 0; +} + +int initialize_code(){ + initialize_stopping_conditions(); + max_id = 0; + timestep = 0.0001; + _time=0; +#ifdef OPENMP_ENABLED + int nt = omp_get_max_threads(); + omp_set_num_threads(nt); +#endif + reb_simulation * code = reb_create_simulation(); + codes.push_back(code_state(code)); + code->integrator = reb_simulation::REB_INTEGRATOR_IAS15; + code->N_active = 0; + // AMUSE STOPPING CONDITIONS SUPPORT + set_support_for_condition(COLLISION_DETECTION); + set_support_for_condition(TIMEOUT_DETECTION); + //set_support_for_condition(NUMBER_OF_STEPS_DETECTION); + set_support_for_condition(OUT_OF_BOX_DETECTION); + + return 0; +} + +int get_potential_energy(int code_index, double * potential_energy){ + if(code_index < 0 || code_index >= (signed) codes.size()){ + return -10; + } + if(!codes[code_index].code) { + return -11; + } + reb_simulation * code = codes[code_index].code; + double e_pot = 0.; + for (int i=0;iN-code->N_var;i++){ + struct reb_particle pi = code->particles[i]; + for (int j=i+1;jN-code->N_var;j++){ + struct reb_particle pj = code->particles[j]; + double dx = pi.x - pj.x; + double dy = pi.y - pj.y; + double dz = pi.z - pj.z; + e_pot -= code->G*pj.m*pi.m/sqrt(dx*dx + dy*dy + dz*dz); + } + } + *potential_energy = e_pot; + return 0; +} + +int get_velocity(int index_of_the_particle, double * vx, double * vy, + double * vz){ + + particle_location particle = get_particle_from_identity(index_of_the_particle); + struct reb_particle* p = particle.p; + //reb_simulation * code = particle.code; + if(p == NULL) {return -1;} + *vx = p->vx; + *vy = p->vy; + *vz = p->vz; + + return 0; +} + +int get_position(int index_of_the_particle, double * x, double * y, + double * z){ + + particle_location particle = get_particle_from_identity(index_of_the_particle); + struct reb_particle* p = particle.p; + //reb_simulation * code = particle.code; + if(p == NULL) {return -1;} + *x = p->x; + *y = p->y; + *z = p->z; + return 0; +} + + +int set_position(int index_of_the_particle, double x, double y, double z){ + particle_location particle = get_particle_from_identity(index_of_the_particle); + struct reb_particle* p = particle.p; + reb_simulation * code = particle.code; + if(p == NULL) {return -1;} + p->x = x; + p->y = y; + p->z = z; + if (code->integrator == reb_simulation::REB_INTEGRATOR_JANUS){ + code->ri_janus.recalculate_integer_coordinates_this_timestep = 1; + } + return 0; +} + +int get_acceleration(int index_of_the_particle, double * ax, double * ay, + double * az){ + particle_location particle = get_particle_from_identity(index_of_the_particle); + struct reb_particle* p = particle.p; + //reb_simulation * code = particle.code; + if(p == NULL) {return -1;} + *ax = p->ax; + *ay = p->ay; + *az = p->az; + return 0; +} + +int commit_parameters(){ + return 0; +} + +int set_velocity(int index_of_the_particle, double vx, double vy, + double vz){ + particle_location particle = get_particle_from_identity(index_of_the_particle); + struct reb_particle* p = particle.p; + reb_simulation * code = particle.code; + if(p == NULL) {return -1;} + p->vx = vx; + p->vy = vy; + p->vz = vz; + if (code->integrator == reb_simulation::REB_INTEGRATOR_JANUS){ + code->ri_janus.recalculate_integer_coordinates_this_timestep = 1; + } + return 0; +} + +int new_subset(int * index, double time_offset) { + reb_simulation * code = reb_create_simulation(); + reb_integrator_reset(code); + code->dt = timestep; + if(time_offset < 0) {time_offset = _time;} + code->integrator = reb_simulation::REB_INTEGRATOR_IAS15; + code->N_active = 0; + code->t = time_offset; + codes.push_back(code_state(code, time_offset, codes.size())); + *index = codes.size() - 1; + //printf("Code time: %d , %f\n",*index , code->t); + return 0; +} +int stop_subset(int code_index) { + if(code_index < 0 || code_index >= (signed) codes.size()){ + return -10; + } + if(!codes[code_index].code) { + return -11; + } + code_state cs = codes[code_index]; + if(cs.code) { + reb_simulation * code = cs.code; + reb_remove_all(code); + reb_free_simulation(code); + cs.code = 0; + codes[code_index] = cs; + } + return 0; +} +int _set_integrator(int value, int code_index){ + if(code_index < 0 || code_index >= (signed) codes.size()){ + return -10; + } + if(!codes[code_index].code) { + return -11; + } + reb_simulation * code = codes[code_index].code; + + switch(value){ + case 0: + code->integrator = reb_simulation::REB_INTEGRATOR_IAS15; + break; + case 1: + code->integrator = reb_simulation::REB_INTEGRATOR_WHFAST; + break; + case 2: + code->integrator = reb_simulation::REB_INTEGRATOR_SEI; + break; + case 3: + // This integrator was removed + return -1; + break; + case 4: + code->integrator = reb_simulation::REB_INTEGRATOR_LEAPFROG; + break; + case 5: + code->integrator = reb_simulation::REB_INTEGRATOR_HERMES; + break; + case 6: + code->integrator = reb_simulation::REB_INTEGRATOR_WHFASTHELIO; + break; + case 7: + code->integrator = reb_simulation::REB_INTEGRATOR_NONE; + break; + case 8: + code->integrator = reb_simulation::REB_INTEGRATOR_JANUS; + break; + default: + code->integrator = reb_simulation::REB_INTEGRATOR_NONE; + return -1; + break; + + } + return 0; +} + +int _get_integrator(int code_index, int * value){ + + if(code_index < 0 || code_index >= (signed) codes.size()){ + return -10; + } + if(!codes[code_index].code) { + return -11; + } + reb_simulation * code = codes[code_index].code; + + *value = code->integrator; + return 0; +} + +int _set_solver(int value, int code_index){ + if(code_index < 0 || code_index >= (signed) codes.size()){ + return -10; + } + if(!codes[code_index].code) { + return -11; + } + reb_simulation * code = codes[code_index].code; + + switch(value){ + case 0: + code->gravity = reb_simulation::REB_GRAVITY_NONE; + break; + case 1: + code->gravity = reb_simulation::REB_GRAVITY_BASIC; + break; + case 2: + code->gravity = reb_simulation::REB_GRAVITY_COMPENSATED; + break; + case 3: + code->gravity = reb_simulation::REB_GRAVITY_TREE; + break; + default: + code->gravity = reb_simulation::REB_GRAVITY_NONE; + return -1; + break; + + } + return 0; +} + +int _get_solver(int code_index, int * value){ + + if(code_index < 0 || code_index >= (signed) codes.size()){ + return -10; + } + if(!codes[code_index].code) { + return -11; + } + reb_simulation * code = codes[code_index].code; + + *value = code->gravity; + return 0; +} + +int get_opening_angle2(int code_index, double * opening_angle2){ + if(code_index < 0 || code_index >= (signed) codes.size()){ + return -10; + } + if(!codes[code_index].code) { + return -11; + } + reb_simulation * code = codes[code_index].code; + *opening_angle2 = code->opening_angle2; + return 0; +} + +int set_opening_angle2(double opening_angle2, int code_index){ + if(code_index < 0 || code_index >= (signed) codes.size()){ + return -10; + } + if(!codes[code_index].code) { + return -11; + } + reb_simulation * code = codes[code_index].code; + code->opening_angle2 = opening_angle2; + return 0; +} + +int _set_boundary(int value, int code_index){ + if(code_index < 0 || code_index >= (signed) codes.size()){ + return -10; + } + if(!codes[code_index].code) { + return -11; + } + reb_simulation * code = codes[code_index].code; + + switch(value){ + case 0: + code->boundary = reb_simulation::REB_BOUNDARY_NONE; + break; + case 1: + code->boundary = reb_simulation::REB_BOUNDARY_OPEN; + break; + case 2: + code->boundary = reb_simulation::REB_BOUNDARY_PERIODIC; + break; + case 3: + code->boundary = reb_simulation::REB_BOUNDARY_SHEAR; + break; + default: + code->boundary = reb_simulation::REB_BOUNDARY_NONE; + return -1; + break; + + } + return 0; +} + +int _get_boundary(int code_index, int * value){ + + if(code_index < 0 || code_index >= (signed) codes.size()){ + return -10; + } + if(!codes[code_index].code) { + return -11; + } + reb_simulation * code = codes[code_index].code; + + *value = code->boundary; + return 0; +} + +int get_boundary_size(int code_index, double * boundary_size){ + if(code_index < 0 || code_index >= (signed) codes.size()){ + return -10; + } + if(!codes[code_index].code) { + return -11; + } + reb_simulation * code = codes[code_index].code; + + *boundary_size = code->root_size; + return 0; +} + +int set_boundary_size(double boundary_size, int code_index){ + if(code_index < 0 || code_index >= (signed) codes.size()){ + return -10; + } + if(!codes[code_index].code) { + return -11; + } + reb_simulation * code = codes[code_index].code; + reb_configure_box(code,boundary_size,1,1,1); + return 0; +} + diff --git a/src/amuse_rebound/interface.py b/src/amuse_rebound/interface.py new file mode 100644 index 0000000000..4f841d15ae --- /dev/null +++ b/src/amuse_rebound/interface.py @@ -0,0 +1,982 @@ +from amuse.community import * +from amuse.community.interface.gd import GravitationalDynamicsInterface +from amuse.community.interface.gd import GravitationalDynamics +from amuse.community.interface.gd import SinglePointGravityFieldInterface +from amuse.community.interface.gd import GravityFieldCode + + +class ReboundInterface( + CodeInterface, + LiteratureReferencesMixIn, + GravitationalDynamicsInterface, + StoppingConditionInterface, + # SinglePointGravityFieldInterface +): + """ + REBOUND - An open-source multi-purpose N-body code + + .. [#] ADS:2012A&A...537A.128R (Rein, H., Liu, S.F., *Astronomy and Astrophysics* , **Volume 537**, A128 (2012)) + + For different integrators, cite: + .. [#] ADS:2015MNRAS.446.1424R (IAS15: Rein, H., Spiegel, D.S., *MNRAS* , **Volume 446**, Issue 2, p.1424-1437 (2015)) + .. [#] ADS:2015MNRAS.452..376R (WHFast: Rein, H., Tamayo, D., *MNRAS* , **Volume 452**, Issue 1, p.376-388 (2015)) + ... Hermes: Silburt, A., et al., in prep. + .. [#] ADS:2011MNRAS.415.3168R (SEI: Rein, H., Tremaine, S., *MNRAS* , **Volume 415**, Issue 4, p.3168-3176 (2011)) + .. [#] ADS:2017MNRAS.467.2377R (JANUS: Rein, H., Tamayo, D., *arXiv* , 1704.07715 (2017)) + + """ + + include_headers = ["rebound_worker.h", "stopcond.h"] + + def __init__(self, **options): + CodeInterface.__init__(self, name_of_the_worker="rebound_worker", **options) + LiteratureReferencesMixIn.__init__(self) + + @legacy_function + def new_particle(): + """ + Define a new particle in the stellar dynamics code. The particle is initialized with the provided + mass, radius, position and velocity. This function returns an index that can be used to refer + to this particle. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + "index_of_the_particle", + dtype="int32", + direction=function.OUT, + description=""" + An index assigned to the newly created particle. + This index is supposed to be a local index for the code + (and not valid in other instances of the code or in other codes) + """, + ) + + function.addParameter( + "mass", + dtype="float64", + direction=function.IN, + description="The mass of the particle", + ) + function.addParameter( + "x", + dtype="float64", + direction=function.IN, + description="The initial position vector of the particle", + ) + function.addParameter( + "y", + dtype="float64", + direction=function.IN, + description="The initial position vector of the particle", + ) + function.addParameter( + "z", + dtype="float64", + direction=function.IN, + description="The initial position vector of the particle", + ) + function.addParameter( + "vx", + dtype="float64", + direction=function.IN, + description="The initial velocity vector of the particle", + ) + function.addParameter( + "vy", + dtype="float64", + direction=function.IN, + description="The initial velocity vector of the particle", + ) + function.addParameter( + "vz", + dtype="float64", + direction=function.IN, + description="The initial velocity vector of the particle", + ) + function.addParameter( + "radius", + dtype="float64", + direction=function.IN, + description="The radius of the particle", + default=0, + ) + function.addParameter( + "subset", + dtype="int32", + direction=function.IN, + description="The subset index of the particle (defaults to 0, use new_subset for higher indices)", + default=0, + ) + function.result_type = "int32" + function.result_doc = """ 0 - OK + particle was created and added to the model + -1 - ERROR + particle could not be created""" + return function + + def delete_particle(self, index_of_the_particle, code_index=0): + return self._delete_particle(index_of_the_particle, code_index) + + @legacy_function + def _delete_particle(): + """ + Delete a particle. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + "index_of_the_particle", + dtype="int32", + direction=function.IN, + description="Index of the particle", + ) + function.addParameter( + "code_index", + dtype="int32", + direction=function.IN, + description="Index of the code in rebound", + default=0, + ) + function.result_type = "int32" + function.result_doc = """ 0 - OK + particle was deleted + -1 - ERROR + particle not deleted""" + return function + + @legacy_function + def _set_integrator(): + function = LegacyFunctionSpecification() + function.addParameter("integrator_name", dtype="i", direction=function.IN) + function.addParameter( + "code_index", + dtype="int32", + direction=function.IN, + description="Index of the code in rebound", + default=0, + ) + function.result_type = "int32" + function.can_handle_array = False + return function + + @legacy_function + def _get_integrator(): + function = LegacyFunctionSpecification() + function.addParameter( + "code_index", + dtype="int32", + direction=function.IN, + description="Index of the code in rebound", + default=0, + ) + function.addParameter("integrator_name", dtype="i", direction=function.OUT) + function.result_type = "int32" + function.can_handle_array = False + return function + + INTEGRATORS = { + "ias15": 0, + "whfast": 1, + "sei": 2, + "leapfrog": 4, + "hermes": 5, + "whfast-helio": 6, + "none": 7, + "janus": 8, + } + + def set_integrator(self, name, code_index=0): + return self._set_integrator(self.INTEGRATORS[name], code_index) + + def get_integrator(self, code_index=0): + value, error = self._get_integrator(code_index) + for key, index in self.INTEGRATORS.items(): + if value == index: + return key + return "none" + + @legacy_function + def _set_solver(): + function = LegacyFunctionSpecification() + function.addParameter("solver_name", dtype="i", direction=function.IN) + function.addParameter( + "code_index", + dtype="int32", + direction=function.IN, + description="Index of the code in rebound", + default=0, + ) + function.result_type = "int32" + function.can_handle_array = False + return function + + @legacy_function + def _get_solver(): + function = LegacyFunctionSpecification() + function.addParameter( + "code_index", + dtype="int32", + direction=function.IN, + description="Index of the code in rebound", + default=0, + ) + function.addParameter("solver_name", dtype="i", direction=function.OUT) + function.result_type = "int32" + function.can_handle_array = False + return function + + SOLVERS = {"none": 0, "basic": 1, "compensated": 2, "tree": 3} + + def set_solver(self, name, code_index=0): + return self._set_solver(self.SOLVERS[name], code_index) + + def get_solver(self, code_index=0): + value, error = self._get_solver(code_index) + for key, index in self.SOLVERS.items(): + if value == index: + return key + return "none" + + @legacy_function + def get_opening_angle2(): + function = LegacyFunctionSpecification() + function.addParameter( + "code_index", + dtype="int32", + direction=function.IN, + description="Index of the code in rebound", + default=0, + ) + function.addParameter( + "opening_angle2", + dtype="float64", + direction=function.OUT, + description="theta, the opening angle for building the tree: between 0 and 1", + ) + function.result_type = "int32" + return function + + @legacy_function + def set_opening_angle2(): + function = LegacyFunctionSpecification() + function.addParameter( + "opening_angle2", + dtype="float64", + direction=function.IN, + description="theta, the opening angle for building the tree: between 0 and 1", + ) + function.addParameter( + "code_index", + dtype="int32", + direction=function.IN, + description="Index of the code in rebound", + default=0, + ) + function.result_type = "int32" + return function + + @legacy_function + def get_eps2(): + function = LegacyFunctionSpecification() + """ + Get epsilon^2, a softening parameter for gravitational potentials with point particles. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "code_index", + dtype="int32", + direction=function.IN, + description="Index of the code in rebound", + default=0, + ) + function.addParameter( + "epsilon_squared", + dtype="float64", + direction=function.OUT, + description="epsilon^2, a softening parameter for gravitational potentials with point particles", + unit=nbody_system.length * nbody_system.length, + ) + function.result_type = "int32" + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_eps2(): + """ + Set epsilon^2, a softening parameter for gravitational potentials with point particles. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "epsilon_squared", + dtype="float64", + direction=function.IN, + description="epsilon^2, a softening parameter for gravitational potentials with point particles", + unit=nbody_system.length * nbody_system.length, + ) + function.addParameter( + "code_index", + dtype="int32", + direction=function.IN, + description="Index of the code in rebound", + default=0, + ) + function.result_type = "int32" + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + @legacy_function + def _set_boundary(): + function = LegacyFunctionSpecification() + function.addParameter("boundary_name", dtype="i", direction=function.IN) + function.addParameter( + "code_index", + dtype="int32", + direction=function.IN, + description="Index of the code in rebound", + default=0, + ) + function.result_type = "int32" + function.can_handle_array = False + return function + + @legacy_function + def _get_boundary(): + function = LegacyFunctionSpecification() + function.addParameter( + "code_index", + dtype="int32", + direction=function.IN, + description="Index of the code in rebound", + default=0, + ) + function.addParameter("boundary_name", dtype="i", direction=function.OUT) + function.result_type = "int32" + function.can_handle_array = False + return function + + BOUNDARIES = {"none": 0, "open": 1, "periodic": 2, "shear": 3} + + def set_boundary(self, name, code_index=0): + return self._set_boundary(self.BOUNDARIES[name], code_index) + + def get_boundary(self, code_index=0): + value, error = self._get_boundary(code_index) + for key, index in self.BOUNDARIES.items(): + if value == index: + return key + return "none" + + @legacy_function + def get_boundary_size(): + function = LegacyFunctionSpecification() + """ + Get the size of the boundaries. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "code_index", + dtype="int32", + direction=function.IN, + description="Index of the code in rebound", + default=0, + ) + function.addParameter( + "boundary_size", + dtype="float64", + direction=function.OUT, + description="boundary size", + unit=nbody_system.length, + ) + function.result_type = "int32" + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_boundary_size(): + """ + Set size of the boundaries. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "boundary_size", + dtype="float64", + direction=function.IN, + description="boundary size", + unit=nbody_system.length, + ) + function.addParameter( + "code_index", + dtype="int32", + direction=function.IN, + description="Index of the code in rebound", + default=0, + ) + function.result_type = "int32" + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + @legacy_function + def set_time_step(): + """ + Update timestep. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "timestep", dtype="float64", direction=function.IN, description="timestep" + ) + function.addParameter( + "code_index", + dtype="int32", + direction=function.IN, + description="Index of the code in rebound", + default=0, + ) + function.result_type = "int32" + function.result_doc = """ + 0 - OK + timestep was changed + """ + return function + + @legacy_function + def get_potential_energy(): + """ + Retrieve the current potential energy of the model + """ + function = LegacyFunctionSpecification() + function.addParameter( + "code_index", + dtype="int32", + direction=function.IN, + description="Index of the code in rebound", + default=0, + ) + function.addParameter( + "potential_energy", + dtype="float64", + direction=function.OUT, + description="The potential energy of the model", + ) + function.result_type = "int32" + function.result_doc = """ + 0 - OK + Current value of the potential energy was set + -1 - ERROR + Kinetic potential could not be provided + """ + return function + + @legacy_function + def get_kinetic_energy(): + """ + Retrieve the current kinetic energy of the model + """ + function = LegacyFunctionSpecification() + function.addParameter( + "code_index", + dtype="int32", + direction=function.IN, + description="Index of the code in rebound", + default=0, + ) + function.addParameter( + "kinetic_energy", + dtype="float64", + direction=function.OUT, + description="The kinetic energy of the model", + ) + function.result_type = "int32" + function.result_doc = """ + 0 - OK + Current value of the kinetic energy was set + -1 - ERROR + Kinetic energy could not be provided + """ + return function + + @legacy_function + def evolve_model(): + """ + Evolve the model until the given time, or until a stopping condition is set. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "time", + dtype="float64", + direction=function.IN, + description="Model time to evolve the code to. The model will be " + "evolved until this time is reached exactly or just after.", + ) + function.addParameter( + "code_index", + dtype="int32", + direction=function.IN, + description="Index of the code in rebound (default -1, evolve all systems)", + default=-1, + ) + function.result_type = "int32" + return function + + @legacy_function + def get_time(): + """ + Retrieve the model time. This time should be close to the end time specified + in the evolve code. Or, when a collision was detected, it will be the + model time of the collision. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "code_index", + dtype="int32", + direction=function.IN, + description="Index of the code in rebound", + default=0, + ) + function.addParameter( + "time", + dtype="float64", + direction=function.OUT, + description="The current model time", + ) + function.result_type = "int32" + function.result_doc = """ + 0 - OK + Current value of the time was retrieved + -1 - ERROR + The code does not have support for querying the time + """ + return function + + @legacy_function + def get_time_step(): + """ + Retrieve the model timestep. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "code_index", + dtype="int32", + direction=function.IN, + description="Index of the code in rebound", + default=0, + ) + function.addParameter( + "time_step", + dtype="float64", + direction=function.OUT, + description="The current model timestep", + ) + function.result_type = "int32" + function.result_doc = """ + 0 - OK + Current value of the time step was retrieved + -1 - ERROR + The code does not have support for querying the time + """ + return function + + @legacy_function + def new_subset(): + """ + Create a new particle subset (and corresponding code). This subset will evolve seperately from others. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + "index_of_the_subset", + dtype="int32", + direction=function.OUT, + description=""" + An index assigned to the newly created subset + """, + ) + + function.addParameter( + "time_offset", + dtype="float64", + direction=function.IN, + description="Time of the system (defaults to the current model time)", + default=-1, + ) + function.result_type = "int32" + function.result_doc = """ 0 - OK + code was created + -1 - ERROR + code could not be created""" + return function + + @legacy_function + def get_state(): + """ + Retrieve the current state of a particle. The *minimal* information of a stellar + dynamics particle (mass, radius, position and velocity) is returned. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + "index_of_the_particle", + dtype="int32", + direction=function.IN, + description="Index of the particle to get the state from. This index must have been returned by an earlier call to :meth:`new_particle`", + ) + function.addParameter( + "mass", + dtype="float64", + direction=function.OUT, + description="The current mass of the particle", + ) + function.addParameter( + "x", + dtype="float64", + direction=function.OUT, + description="The current position vector of the particle", + ) + function.addParameter( + "y", + dtype="float64", + direction=function.OUT, + description="The current position vector of the particle", + ) + function.addParameter( + "z", + dtype="float64", + direction=function.OUT, + description="The current position vector of the particle", + ) + function.addParameter( + "vx", + dtype="float64", + direction=function.OUT, + description="The current velocity vector of the particle", + ) + function.addParameter( + "vy", + dtype="float64", + direction=function.OUT, + description="The current velocity vector of the particle", + ) + function.addParameter( + "vz", + dtype="float64", + direction=function.OUT, + description="The current velocity vector of the particle", + ) + function.addParameter( + "radius", + dtype="float64", + direction=function.OUT, + description="The current radius of the particle", + ) + function.addParameter( + "subset", + dtype="int32", + direction=function.OUT, + description="The current subset of the particle", + ) + function.result_type = "int32" + function.result_doc = """ + 0 - OK + particle was removed from the model + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def get_subset(): + """ + Retrieve the subset index of a particle. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "index_of_the_particle", + dtype="int32", + direction=function.IN, + description="Index of the particle to get the subset of. This index must have been returned by an earlier call to :meth:`new_particle`", + ) + function.addParameter( + "subset", + dtype="int32", + direction=function.OUT, + description="The current subset of the particle", + ) + function.result_type = "int32" + function.can_handle_array = True + function.result_doc = """ + 0 - OK + particle was found in the model and the information was retreived + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def stop_subset(): + """ + Stop a subset code + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + "index_of_the_subset", + dtype="int32", + direction=function.IN, + description=""" + An index assigned to an existing subset + """, + ) + + function.result_type = "int32" + function.result_doc = """ 0 - OK + subset evolving was stopped + -1 - ERROR + subset evolving was already stopped""" + return function + + @legacy_function + def set_subset(): + """ + Retrieve the subset index of a particle. + """ + function = LegacyFunctionSpecification() + function.addParameter( + "index_of_the_particle", + dtype="int32", + direction=function.IN, + description="Index of the particle to get the subset of. This index must have been returned by an earlier call to :meth:`new_particle`", + ) + function.addParameter( + "subset", + dtype="int32", + direction=function.IN, + description="The new subset of the particle, as this is actually read only this will fail if changed!", + ) + function.result_type = "int32" + function.can_handle_array = True + function.result_doc = """ + 0 - OK + particle was found in the model and the information was retreived + -1 - ERROR + particle could not be found + """ + return function + + +class Rebound(GravitationalDynamics, GravityFieldCode): + __interface__ = ReboundInterface + + def __init__(self, convert_nbody=None, **options): + self.stopping_conditions = StoppingConditions(self) + + legacy_interface = self.__interface__(**options) + self.legacy_doc = legacy_interface.__doc__ + + GravitationalDynamics.__init__(self, legacy_interface, convert_nbody, **options) + + def define_state(self, handler): + GravitationalDynamics.define_state(self, handler) + # GravityFieldCode.define_state(self, handler) + self.stopping_conditions.define_state(handler) + + handler.add_method("EDIT", "new_subset") + handler.add_method("RUN", "new_subset") + + def define_parameters(self, handler): + self.stopping_conditions.define_parameters(handler) + # ~ GravitationalDynamics.define_parameters(self, handler) + + handler.add_method_parameter( + "get_time_step", + "set_time_step", + "timestep", + "constant timestep for iteration", + default_value=0.0001 | nbody_system.time, + ) + + handler.add_method_parameter( + "get_integrator", + "set_integrator", + "integrator", + "name of the integrator to use ({0})".format( + sorted(self.INTEGRATORS.keys()) + ), + default_value="ias15", + ) + + handler.add_method_parameter( + "get_solver", + "set_solver", + "solver", + "name of the gravity solver to use ({0})".format( + sorted(self.SOLVERS.keys()) + ), + default_value="compensated", + ) + + handler.add_method_parameter( + "get_eps2", + "set_eps2", + "epsilon_squared", + "smoothing parameter for gravity calculations", + default_value=0.0 | nbody_system.length * nbody_system.length, + ) + + handler.add_method_parameter( + "get_opening_angle2", + "set_opening_angle2", + "opening_angle2", + "opening angle, theta, for building the tree in case of tree solver: between 0 and 1", + default_value=0.5, + ) + + handler.add_method_parameter( + "get_boundary", + "set_boundary", + "boundary", + "name of the boundary type to use ({0}) (required for tree solver)".format( + sorted(self.BOUNDARIES.keys()) + ), + default_value="none", + ) + + handler.add_method_parameter( + "get_boundary_size", + "set_boundary_size", + "boundary_size", + "size of the boundaries, if the type is not none", + default_value=1.0 | nbody_system.length, + ) + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + handler.add_method( + "new_particle", + ( + nbody_system.mass, + nbody_system.length, + nbody_system.length, + nbody_system.length, + nbody_system.speed, + nbody_system.speed, + nbody_system.speed, + nbody_system.length, + handler.NO_UNIT, + ), + ( + handler.INDEX, + handler.ERROR_CODE, + ), + ) + + handler.add_method( + "get_potential_energy", + (handler.INDEX,), + ( + nbody_system.mass * nbody_system.length**2 * nbody_system.time**-2, + handler.ERROR_CODE, + ), + ) + + handler.add_method( + "get_kinetic_energy", + (handler.INDEX,), + ( + nbody_system.mass * nbody_system.length**2 * nbody_system.time**-2, + handler.ERROR_CODE, + ), + ) + handler.add_method( + "evolve_model", (nbody_system.time, handler.INDEX), (handler.ERROR_CODE,) + ) + handler.add_method( + "get_time", + (handler.INDEX,), + ( + nbody_system.time, + handler.ERROR_CODE, + ), + ) + + handler.add_method( + "get_time_step", + (handler.INDEX,), + ( + nbody_system.time, + handler.ERROR_CODE, + ), + ) + + handler.add_method( + "set_time_step", + ( + nbody_system.time, + handler.INDEX, + ), + (handler.ERROR_CODE,), + ) + + handler.add_method( + "get_state", + (handler.NO_UNIT,), + ( + nbody_system.mass, + nbody_system.length, + nbody_system.length, + nbody_system.length, + nbody_system.speed, + nbody_system.speed, + nbody_system.speed, + nbody_system.length, + handler.NO_UNIT, + handler.ERROR_CODE, + ), + ) + handler.add_method( + "get_subset", (handler.NO_UNIT,), (handler.NO_UNIT, handler.ERROR_CODE) + ) + handler.add_method( + "set_subset", + ( + handler.NO_UNIT, + handler.NO_UNIT, + ), + (handler.ERROR_CODE,), + ) + handler.add_method( + "new_subset", + (nbody_system.time,), + ( + handler.INDEX, + handler.ERROR_CODE, + ), + ) + self.stopping_conditions.define_methods(handler) + + def define_particle_sets(self, handler): + GravitationalDynamics.define_particle_sets(self, handler) + + self.stopping_conditions.define_particle_set(handler) + + handler.add_getter("particles", "get_subset") + handler.add_setter("particles", "set_subset") diff --git a/src/amuse_rebound/packages/amuse-rebound.amuse_deps b/src/amuse_rebound/packages/amuse-rebound.amuse_deps new file mode 100644 index 0000000000..76f51fe9ee --- /dev/null +++ b/src/amuse_rebound/packages/amuse-rebound.amuse_deps @@ -0,0 +1 @@ +c c++ download mpi openmp diff --git a/src/amuse_rebound/packages/amuse-rebound/amuse_rebound b/src/amuse_rebound/packages/amuse-rebound/amuse_rebound new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_rebound/packages/amuse-rebound/amuse_rebound @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_rebound/packages/amuse-rebound/pyproject.toml b/src/amuse_rebound/packages/amuse-rebound/pyproject.toml new file mode 100644 index 0000000000..22805fdddd --- /dev/null +++ b/src/amuse_rebound/packages/amuse-rebound/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-rebound" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_rebound/**/*.py"] +exclude = [ + "amuse_rebound/packages", + "amuse_rebound/support", + "amuse_rebound/src", + "amuse_rebound/tests" + ] +artifacts = ["amuse_rebound/rebound_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_rebound/tests/"] + +testpaths = ["amuse_rebound/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse_rebound/support/aclocal.m4 b/src/amuse_rebound/support/aclocal.m4 new file mode 100644 index 0000000000..db9a4969a6 --- /dev/null +++ b/src/amuse_rebound/support/aclocal.m4 @@ -0,0 +1,20 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_download.m4]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_rebound/support/config.mk.in b/src/amuse_rebound/support/config.mk.in new file mode 100644 index 0000000000..11c0c5bedb --- /dev/null +++ b/src/amuse_rebound/support/config.mk.in @@ -0,0 +1,35 @@ +# Compilers +CC = @CC@ +CXX = @CXX@ + +MPICC = @MPICC@ +MPICXX = @MPICXX@ + +CPU_COUNT = @CPU_COUNT@ + + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ +DOWNLOAD = @DOWNLOAD@ +TAR = @TAR@ +GUNZIP = @GUNZIP@ + + +# General flags and libraries +CFLAGS = @CFLAGS@ +CXXFLAGS = @CXXFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +STOPCOND_CFLAGS = @STOPCOND_CFLAGS@ +STOPCOND_LIBS = @STOPCOND_LIBS@ + + +# External dependencies +OPENMP_CFLAGS = @OPENMP_CFLAGS@ +OPENMP_CXXFLAGS = @OPENMP_CXXFLAGS@ + diff --git a/src/amuse_rebound/support/configure b/src/amuse_rebound/support/configure new file mode 100755 index 0000000000..8bf2d7e49f --- /dev/null +++ b/src/amuse_rebound/support/configure @@ -0,0 +1,7261 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-rebound 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-rebound' +PACKAGE_TARNAME='amuse-rebound' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-rebound 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +OPENMP_CXXFLAGS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +OPENMP_CFLAGS +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +FOUND_STOPCOND +STOPCOND_LIBS +STOPCOND_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +GUNZIP +TAR +DOWNLOAD +CURL +WGET +RANLIB +AR +target_os +target_vendor +target_cpu +target +ac_ct_CXX +CXXFLAGS +CXX +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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_openmp +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCOND_CFLAGS +STOPCOND_LIBS +MPICC +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-rebound 1.0 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/amuse-rebound] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-rebound 1.0:";; + 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] + --disable-openmp do not use OpenMP + +Some influential environment variables: + 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 + CXX C++ compiler command + CXXFLAGS C++ compiler flags + 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 + STOPCOND_CFLAGS + C compiler flags for STOPCOND, overriding pkg-config + STOPCOND_LIBS + linker flags for STOPCOND, overriding pkg-config + MPICC MPI C compiler command + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-rebound configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-rebound $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find tools to download and unpack with + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}wget", so it can be a program name with args. +set dummy ${ac_tool_prefix}wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$WGET"; then + ac_cv_prog_WGET="$WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="${ac_tool_prefix}wget" + printf "%s\n" "$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 +WGET=$ac_cv_prog_WGET +if test -n "$WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $WGET" >&5 +printf "%s\n" "$WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_WGET"; then + ac_ct_WGET=$WGET + # Extract the first word of "wget", so it can be a program name with args. +set dummy wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_WGET"; then + ac_cv_prog_ac_ct_WGET="$ac_ct_WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="wget" + printf "%s\n" "$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_WGET=$ac_cv_prog_ac_ct_WGET +if test -n "$ac_ct_WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WGET" >&5 +printf "%s\n" "$ac_ct_WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_WGET" = x; then + WGET="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + WGET=$ac_ct_WGET + fi +else + WGET="$ac_cv_prog_WGET" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}curl", so it can be a program name with args. +set dummy ${ac_tool_prefix}curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CURL"; then + ac_cv_prog_CURL="$CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="${ac_tool_prefix}curl" + printf "%s\n" "$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 +CURL=$ac_cv_prog_CURL +if test -n "$CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CURL" >&5 +printf "%s\n" "$CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CURL"; then + ac_ct_CURL=$CURL + # Extract the first word of "curl", so it can be a program name with args. +set dummy curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CURL"; then + ac_cv_prog_ac_ct_CURL="$ac_ct_CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="curl" + printf "%s\n" "$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_CURL=$ac_cv_prog_ac_ct_CURL +if test -n "$ac_ct_CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CURL" >&5 +printf "%s\n" "$ac_ct_CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CURL" = x; then + CURL="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CURL=$ac_ct_CURL + fi +else + CURL="$ac_cv_prog_CURL" +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a wget or curl to download files with" >&5 +printf %s "checking for a wget or curl to download files with... " >&6; } + if test "x$WGET" != "x" + then + # The MESA SDK server rejects wget, this is the official work-around + DOWNLOAD="$WGET --progress=bar:force:noscroll --user-agent='' -O -" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + if test "x$CURL" != "x" + then + DOWNLOAD="$CURL -L" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + fi + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}tar", so it can be a program name with args. +set dummy ${ac_tool_prefix}tar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_TAR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$TAR"; then + ac_cv_prog_TAR="$TAR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_TAR="${ac_tool_prefix}tar" + printf "%s\n" "$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 +TAR=$ac_cv_prog_TAR +if test -n "$TAR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $TAR" >&5 +printf "%s\n" "$TAR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_TAR"; then + ac_ct_TAR=$TAR + # Extract the first word of "tar", so it can be a program name with args. +set dummy tar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_TAR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_TAR"; then + ac_cv_prog_ac_ct_TAR="$ac_ct_TAR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_TAR="tar" + printf "%s\n" "$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_TAR=$ac_cv_prog_ac_ct_TAR +if test -n "$ac_ct_TAR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_TAR" >&5 +printf "%s\n" "$ac_ct_TAR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_TAR" = x; then + TAR="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + TAR=$ac_ct_TAR + fi +else + TAR="$ac_cv_prog_TAR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gunzip", so it can be a program name with args. +set dummy ${ac_tool_prefix}gunzip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_GUNZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$GUNZIP"; then + ac_cv_prog_GUNZIP="$GUNZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_GUNZIP="${ac_tool_prefix}gunzip" + printf "%s\n" "$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 +GUNZIP=$ac_cv_prog_GUNZIP +if test -n "$GUNZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GUNZIP" >&5 +printf "%s\n" "$GUNZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_GUNZIP"; then + ac_ct_GUNZIP=$GUNZIP + # Extract the first word of "gunzip", so it can be a program name with args. +set dummy gunzip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_GUNZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_GUNZIP"; then + ac_cv_prog_ac_ct_GUNZIP="$ac_ct_GUNZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_GUNZIP="gunzip" + printf "%s\n" "$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_GUNZIP=$ac_cv_prog_ac_ct_GUNZIP +if test -n "$ac_ct_GUNZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GUNZIP" >&5 +printf "%s\n" "$ac_ct_GUNZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_GUNZIP" = x; then + GUNZIP="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + GUNZIP=$ac_ct_GUNZIP + fi +else + GUNZIP="$ac_cv_prog_GUNZIP" +fi + + + +# Find AMUSE libraries + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCOND_CFLAGS" + amuse_save_LIB_LIBS="$STOPCOND_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing is_condition_enabled" >&5 +printf %s "checking for library containing is_condition_enabled... " >&6; } +if test ${ac_cv_search_is_condition_enabled+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char is_condition_enabled (); +int +main (void) +{ +return is_condition_enabled (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcond +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_is_condition_enabled=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_is_condition_enabled+y} +then : + break +fi +done +if test ${ac_cv_search_is_condition_enabled+y} +then : + +else $as_nop + ac_cv_search_is_condition_enabled=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_is_condition_enabled" >&5 +printf "%s\n" "$ac_cv_search_is_condition_enabled" >&6; } +ac_res=$ac_cv_search_is_condition_enabled +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCOND="yes" + STOPCOND_LIBS="$LIBS" + STOPCOND_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCOND" >&5 +printf %s "checking for STOPCOND... " >&6; } + +if test -n "$STOPCOND_CFLAGS"; then + pkg_cv_STOPCOND_CFLAGS="$STOPCOND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_CFLAGS=`$PKG_CONFIG --cflags "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCOND_LIBS"; then + pkg_cv_STOPCOND_LIBS="$STOPCOND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_LIBS=`$PKG_CONFIG --libs "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcond" 2>&1` + else + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcond" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCOND_PKG_ERRORS" >&5 + + + FOUND_STOPCOND="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCOND="no" + +else + STOPCOND_CFLAGS=$pkg_cv_STOPCOND_CFLAGS + STOPCOND_LIBS=$pkg_cv_STOPCOND_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCOND="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCOND}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCOND_CFLAGS="${STOPCOND_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCOND_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCOND_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +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 + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + +if test -e penmp || test -e mp; then + as_fn_error $? "AC_OPENMP clobbers files named 'mp' and 'penmp'. Aborting configure because one of these files already exists." "$LINENO" 5 +fi +# Check whether --enable-openmp was given. +if test ${enable_openmp+y} +then : + enableval=$enable_openmp; +fi + + OPENMP_CFLAGS= + if test "$enable_openmp" != no; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to support OpenMP" >&5 +printf %s "checking for $CC option to support OpenMP... " >&6; } +if test ${ac_cv_prog_c_openmp+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_c_openmp='not found' + for ac_option in '' -fopenmp -xopenmp -openmp -mp -omp -qsmp=omp -homp \ + -Popenmp --openmp; do + + ac_save_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $ac_option" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef _OPENMP +#error "OpenMP not supported" +#endif +#include +int main (void) { return omp_get_num_threads (); } + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef _OPENMP +#error "OpenMP not supported" +#endif +#include +int main (void) { return omp_get_num_threads (); } + +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_prog_c_openmp=$ac_option +else $as_nop + ac_cv_prog_c_openmp='unsupported' +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + CFLAGS=$ac_save_CFLAGS + + if test "$ac_cv_prog_c_openmp" != 'not found'; then + break + fi + done + if test "$ac_cv_prog_c_openmp" = 'not found'; then + ac_cv_prog_c_openmp='unsupported' + elif test "$ac_cv_prog_c_openmp" = ''; then + ac_cv_prog_c_openmp='none needed' + fi + rm -f penmp mp +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_c_openmp" >&5 +printf "%s\n" "$ac_cv_prog_c_openmp" >&6; } + if test "$ac_cv_prog_c_openmp" != 'unsupported' && \ + test "$ac_cv_prog_c_openmp" != 'none needed'; then + OPENMP_CFLAGS="$ac_cv_prog_c_openmp" + 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 + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + +# Check whether --enable-openmp was given. +if test ${enable_openmp+y} +then : + enableval=$enable_openmp; +fi + + OPENMP_CXXFLAGS= + if test "$enable_openmp" != no; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to support OpenMP" >&5 +printf %s "checking for $CXX option to support OpenMP... " >&6; } +if test ${ac_cv_prog_cxx_openmp+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_openmp='not found' + for ac_option in '' -fopenmp -xopenmp -openmp -mp -omp -qsmp=omp -homp \ + -Popenmp --openmp; do + + ac_save_CXXFLAGS=$CXXFLAGS + CXXFLAGS="$CXXFLAGS $ac_option" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef _OPENMP +#error "OpenMP not supported" +#endif +#include +int main (void) { return omp_get_num_threads (); } + +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef _OPENMP +#error "OpenMP not supported" +#endif +#include +int main (void) { return omp_get_num_threads (); } + +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_prog_cxx_openmp=$ac_option +else $as_nop + ac_cv_prog_cxx_openmp='unsupported' +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + CXXFLAGS=$ac_save_CXXFLAGS + + if test "$ac_cv_prog_cxx_openmp" != 'not found'; then + break + fi + done + if test "$ac_cv_prog_cxx_openmp" = 'not found'; then + ac_cv_prog_cxx_openmp='unsupported' + elif test "$ac_cv_prog_cxx_openmp" = ''; then + ac_cv_prog_cxx_openmp='none needed' + fi + rm -f penmp mp +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_openmp" >&5 +printf "%s\n" "$ac_cv_prog_cxx_openmp" >&6; } + if test "$ac_cv_prog_cxx_openmp" != 'unsupported' && \ + test "$ac_cv_prog_cxx_openmp" != 'none needed'; then + OPENMP_CXXFLAGS="$ac_cv_prog_cxx_openmp" + 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 + + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-rebound $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-rebound config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_rebound/support/configure.ac b/src/amuse_rebound/support/configure.ac new file mode 100644 index 0000000000..4b113b9da6 --- /dev/null +++ b/src/amuse_rebound/support/configure.ac @@ -0,0 +1,52 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-rebound], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_CC() +AC_PROG_CXX() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find tools to download and unpack with +AMUSE_DOWNLOAD() +AC_CHECK_TOOL(TAR, tar) +AC_CHECK_TOOL(GUNZIP, gunzip) + + +# Find AMUSE libraries +AMUSE_LIB_STOPCOND() + + +# Find external dependencies +AC_LANG_PUSH([C]) +AX_MPI() +AC_OPENMP() +AC_SUBST(OPENMP_CFLAGS) +AC_LANG_POP([C]) + +AC_LANG_PUSH([C++]) +AX_MPI() +AC_OPENMP() +AC_SUBST(OPENMP_CXXFLAGS) +AC_LANG_POP([C++]) + + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_rebound/support/shared b/src/amuse_rebound/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_rebound/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_rebound.py b/src/amuse_rebound/tests/test_rebound.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_rebound.py rename to src/amuse_rebound/tests/test_rebound.py index da5933259d..7dd621aa77 100644 --- a/src/amuse/test/suite/codes_tests/test_rebound.py +++ b/src/amuse_rebound/tests/test_rebound.py @@ -1,8 +1,8 @@ from amuse.community import * -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI -from amuse.community.rebound.interface import ReboundInterface -from amuse.community.rebound.interface import Rebound +from amuse_rebound.interface import ReboundInterface +from amuse_rebound.interface import Rebound import math try: from matplotlib import pyplot diff --git a/src/amuse_sakura/Makefile b/src/amuse_sakura/Makefile new file mode 100644 index 0000000000..aa4c216374 --- /dev/null +++ b/src/amuse_sakura/Makefile @@ -0,0 +1,74 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + +# Building the code into a static library +DEPFLAGS += $(STOPCOND_CFLAGS) + +CFLAGS += $(DEPFLAGS) +# CFLAGS += -Wall -g -O2 + +LDFLAGS += + +LDLIBS += -lm $(STOPCOND_LIBS) + +CODELIB = src/libsakura.a + + +.PHONY: $(CODELIB) +$(CODELIB): | src + $(MAKE) -C src -j 1 CXX='$(MPICXX)' CXXFLAGS='$(CFLAGS)' all + +interface.o: interface.cc sakura_worker.h + $(MPICXX) -I./src/ -c -o $@ $(CFLAGS) $< + +# Building the workers +sakura_worker.h: interface.py + amusifier --type=h -i amuse.community.interface.stopping_conditions.StoppingConditionInterface interface.py SakuraInterface -o $@ + +sakura_worker.cc: interface.py + amusifier --type=c interface.py SakuraInterface -o $@ + +sakura_worker.o: sakura_worker.cc sakura_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + +sakura_worker: sakura_worker.o interface.o $(CODELIB) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + + +# Which packages contain which workers? +amuse-sakura_contains: sakura_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + diff --git a/src/amuse_sakura/__init__.py b/src/amuse_sakura/__init__.py new file mode 100644 index 0000000000..5a5d3a9c68 --- /dev/null +++ b/src/amuse_sakura/__init__.py @@ -0,0 +1 @@ +from .interface import Sakura diff --git a/src/amuse/community/sakura/ggf/Makefile b/src/amuse_sakura/ggf/Makefile similarity index 100% rename from src/amuse/community/sakura/ggf/Makefile rename to src/amuse_sakura/ggf/Makefile diff --git a/src/amuse/test/suite/__init__.py b/src/amuse_sakura/ggf/__init__.py similarity index 100% rename from src/amuse/test/suite/__init__.py rename to src/amuse_sakura/ggf/__init__.py diff --git a/src/amuse/community/sakura/ggf/interface.py b/src/amuse_sakura/ggf/interface.py similarity index 100% rename from src/amuse/community/sakura/ggf/interface.py rename to src/amuse_sakura/ggf/interface.py diff --git a/src/amuse/community/sakura/ggf/old_test_sakura.py b/src/amuse_sakura/ggf/old_test_sakura.py similarity index 100% rename from src/amuse/community/sakura/ggf/old_test_sakura.py rename to src/amuse_sakura/ggf/old_test_sakura.py diff --git a/src/amuse_sakura/interface.cc b/src/amuse_sakura/interface.cc new file mode 100644 index 0000000000..7fa71794fe --- /dev/null +++ b/src/amuse_sakura/interface.cc @@ -0,0 +1,355 @@ +//////////////////////////////////////////////////////// +// Includes +//////////////////////////////////////////////////////// +#include "Communicator.h" + +#include + +#include +#include +#include +#include + +#include "Particle.h" +#include "Particles.h" +#include "Sakura.h" +#include "Diagnostics.h" + +// AMUSE STOPPING CONDITIONS SUPPORT +#include +#include "sakura_worker.h" + +//////////////////////////////////////////////////////// +// Declare global variables +//////////////////////////////////////////////////////// +int particle_id_counter = 0; +std::vector data, data_radius; + +double t_begin; +double dt; +double t; + +/*------------- MPI data ---------------------*/ +int mpi_rank = 0; +int mpi_size = 1; +/*------------- MPI data ---------------------*/ + +//////////////////////////////////////////////////////// +// Declare global objects +//////////////////////////////////////////////////////// +std::string out_directory; +std::map local_index_map; + +Sakura *sakura = NULL; +Communicator *communicator = NULL; + +//////////////////////////////////////////////////////// +// Amuse interface functions +//////////////////////////////////////////////////////// +int initialize_code() { +#ifndef NOMPI + int error = 0; + error = MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank); + if(error) { + std::cerr << error << std::endl; + return -1; + } + error = MPI_Comm_size(MPI_COMM_WORLD, &mpi_size); + if(error) { + std::cerr << error << std::endl; + return -1; + } +#else + mpi_rank = 0; + mpi_size = 1; +#endif + + communicator = new Communicator(); + communicator->start_mpi(); + + sakura = new Sakura(); + + particle_id_counter = 0; + data.clear(); + data_radius.clear(); + + t_begin = 0; + dt = 1e-3; + t = t_begin; + +#ifndef NOMPI + mpi_setup_stopping_conditions(); +#endif + + return 0; +} + +int new_particle_float64(int *particle_identifier, double mass, + double x, double y, double z, double vx, double vy, double vz, double radius) { + + data.push_back(mass); + data.push_back(x); + data.push_back(y); + data.push_back(z); + data.push_back(vx); + data.push_back(vy); + data.push_back(vz); + + data_radius.push_back(radius); + + *particle_identifier = particle_id_counter; + particle_id_counter++; + return 0; +} +int commit_particles() { + Particles particles; + particles.set_t(t_begin); + particles.set_N(data.size()/7); + particles.set_data(data); + sakura->set_particles(particles); + + int numStar = data.size()/7; + communicator->divide_work(numStar); + + return 0; +} + +int set_t_begin(double tb) { + t_begin = tb; + return 0; +} +int get_t_begin(double *tb) { + *tb = t_begin; + return 0; +} + +int set_dt(double ts) { + dt = ts; + sakura->set_dt(dt); + return 0; +} +int get_dt(double *ts) { + *ts = dt; + return 0; +} + +int set_t(double tt) { + t = tt; + return 0; +} +int get_t(double *tt) { + *tt = t; + return 0; +} + +int commit_parameters() { + return 0; +} +int recommit_parameters() { + return commit_parameters(); +} + +int get_mass(int id, double*mass) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + *mass = data[id*7+0]; + return 0; +} +int set_mass(int id, double mass) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + data[id*7+0] = mass; + return 0; +} +int get_position(int id, double* x, double* y, double* z) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + *x = data[id*7+1]; + *y = data[id*7+2]; + *z = data[id*7+3]; + return 0; +} +int set_position(int id, double x, double y, double z) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + data[id*7+1] = x; + data[id*7+2] = y; + data[id*7+3] = z; + return 0; +} +int get_velocity(int id, double* vx, double* vy, double* vz) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + *vx = data[id*7+4]; + *vy = data[id*7+5]; + *vz = data[id*7+6]; + return 0; +} +int set_velocity(int id, double vx, double vy, double vz) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + data[id*7+4] = vx; + data[id*7+5] = vy; + data[id*7+6] = vz; + return 0; +} +int get_state(int id, double* m, double* x, double* y, double* z, double* vx, double* vy, double* vz, double* radius) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + *radius = data_radius[id]; + *m = data[id*7+0]; + *x = data[id*7+1]; + *y = data[id*7+2]; + *z = data[id*7+3]; + *vx = data[id*7+4]; + *vy = data[id*7+5]; + *vz = data[id*7+6]; + return 0; +} +int set_state(int id, double m, double x, double y, double z, double vx, double vy, double vz, double radius) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + data_radius[id] = radius; + data[id*7+0] = m; + data[id*7+1] = x; + data[id*7+2] = y; + data[id*7+3] = z; + data[id*7+4] = vx; + data[id*7+5] = vy; + data[id*7+6] = vz; + return 0; +} +int get_radius(int id, double* radius){ + if (id < 0 || id >= particle_id_counter){ + return -1; + } + *radius = data_radius[id]; + return 0; +} +int set_radius(int id, double radius) { + if (id < 0 || id >= particle_id_counter){ + return -1; + } + data_radius[id] = radius; + return 0; +} + +int evolve_model(double t_end) { + sakura->set_t(t); + sakura->update_particles(data); + sakura->set_dt(dt); + + sakura->evolve(t_end, *communicator); + + t = t_end; + data = sakura->get_data(); + + return 0; +} +int synchronize_model() { + return 0; +} +int cleanup_code() { + delete sakura; + communicator->stop_mpi(); + delete communicator; + particle_id_counter = 0; + return 0; +} + +int delete_particle(int id) { + return -2; +} +int recommit_particles() { + return -2; +} + +int set_begin_time(double input) { + t_begin = input; + return 0; +} + +int get_begin_time(double * output) { + *output = t_begin; + return 0; +} + +int get_time(double* time){ + *time = t; + return 0; +} + +int set_eps2(double eps2) { + return 0; +} +int get_eps2(double *eps2) { + return 0; +} + +int set_sakura_output_directory(char *output_directory){ + out_directory = std::string(output_directory); + if(out_directory.length() > 0){ + if(*out_directory.rbegin() != '/'){ + out_directory.append("/"); + } + } + return 0; +} +int get_sakura_output_directory(char **output_directory){ + *output_directory = (char*) out_directory.c_str(); + return 0; +} +int get_time_step(double* dtt){ + *dtt = dt; + return 0; +} + +int get_potential(int id, double* pot){return -2;} +int get_gravity_at_point(double m, double x, double y, double z, double* rx, double* ry, double* rz){return -2;} +int get_number_of_particles(int* N){return -2;} +int get_potential_at_point(double m, double x, double y, double z, double* p){return -2;} +int get_total_radius(double* R){return -2;} +int get_index_of_first_particle(int* id){return -2;} +int get_index_of_next_particle(int id, int* idnext){return -2;} + +int get_total_mass(double* M){ + Diagnostics diag; + *M = diag.get_mass(data); + return 0; +} +int get_kinetic_energy(double* ek) { + Diagnostics diag; + *ek = diag.get_kinetic_energy(data); + return 0; +} +int get_potential_energy(double* ep) { + Diagnostics diag; + *ep = diag.get_potential_energy(data); + return 0; +} +int get_center_of_mass_position(double* x , double* y, double* z){ + Diagnostics diag; + std::vector rcm = diag.get_rcm(data); + *x = rcm[0]; + *y = rcm[1]; + *z = rcm[2]; + return 0; +} +int get_center_of_mass_velocity(double* vx, double* vy, double* vz){ + Diagnostics diag; + std::vector vcm = diag.get_vcm(data); + *vx = vcm[0]; + *vy = vcm[1]; + *vz = vcm[2]; + return 0; +} + +int get_acceleration(int id, double* ax, double* ay, double* az){return -2;} diff --git a/src/amuse_sakura/interface.py b/src/amuse_sakura/interface.py new file mode 100644 index 0000000000..954264abb6 --- /dev/null +++ b/src/amuse_sakura/interface.py @@ -0,0 +1,180 @@ +from amuse.community import * +from amuse.community.interface.gd import GravitationalDynamicsInterface, GravitationalDynamics + +MODULES_MISSING = False + +class SakuraInterface(CodeInterface, GravitationalDynamicsInterface, LiteratureReferencesMixIn, + StoppingConditionInterface, CodeWithDataDirectories): + """ + .. [#] ADS:2014MNRAS.440..719G (Goncalves Ferrari, Boekholt, Portegies Zwart; 2014 MNRAS, 440, 719 + """ + include_headers = ['sakura_worker.h', 'stopcond.h'] + + def __init__(self, **options): + CodeInterface.__init__(self, name_of_the_worker="sakura_worker", **options) + LiteratureReferencesMixIn.__init__(self) + CodeWithDataDirectories.__init__(self) + + @legacy_function + def get_sakura_output_directory(): + function = LegacyFunctionSpecification() + function.addParameter('sakura_output_directory', dtype='string', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_sakura_output_directory(): + function = LegacyFunctionSpecification() + function.addParameter('sakura_output_directory', dtype='string', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def new_particle_float64(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('identity_of_the_particle', dtype='int32', direction=function.OUT) + function.addParameter('mass', dtype='float64', direction=function.IN, description = "The mass of the particle") + function.addParameter('x', dtype='float64', direction=function.IN, description = "The initial position vector of the particle") + function.addParameter('y', dtype='float64', direction=function.IN, description = "The initial position vector of the particle") + function.addParameter('z', dtype='float64', direction=function.IN, description = "The initial position vector of the particle") + function.addParameter('vx', dtype='float64', direction=function.IN, description = "The initial velocity vector of the particle") + function.addParameter('vy', dtype='float64', direction=function.IN, description = "The initial velocity vector of the particle") + function.addParameter('vz', dtype='float64', direction=function.IN, description = "The initial velocity vector of the particle") + function.addParameter('radius', dtype='float64', direction=function.IN, description = "The radius of the particle", default = 0) + function.result_type = 'int32' + return function + + def new_particle(self, mass, x,y,z, vx,vy,vz, radius = 0): + return self.new_particle_float64(mass, x,y,z, vx,vy,vz, radius = radius) + + ############################################## + + @legacy_function + def get_t_begin(): + function = LegacyFunctionSpecification() + function.addParameter('t_begin', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + @legacy_function + def set_t_begin(): + function = LegacyFunctionSpecification() + function.addParameter('t_begin', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_dt(): + function = LegacyFunctionSpecification() + function.addParameter('dt', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + @legacy_function + def set_dt(): + function = LegacyFunctionSpecification() + function.addParameter('dt', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_t(): + function = LegacyFunctionSpecification() + function.addParameter('t', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + @legacy_function + def set_t(): + function = LegacyFunctionSpecification() + function.addParameter('t', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + #################################################### + +class Sakura(GravitationalDynamics): + + def __init__(self, convert_nbody = None, **options): + self.stopping_conditions = StoppingConditions(self) + + legacy_interface = SakuraInterface(**options) + self.legacy_doc = legacy_interface.__doc__ + + GravitationalDynamics.__init__( + self, + legacy_interface, + convert_nbody, + **options + ) + + def initialize_code(self): + result = self.overridden().initialize_code() + self.parameters.sakura_output_directory = self.output_directory + return result + + def define_parameters(self, handler): + #~ GravitationalDynamics.define_parameters(self, handler) + self.stopping_conditions.define_parameters(handler) + + #################################################### + + handler.add_method_parameter( + "get_t_begin", + "set_t_begin", + "begin_time", + "Time at start of simulation", + default_value = 0.0 | nbody_system.time + ) + + handler.add_method_parameter( + "get_dt", + "set_dt", + "timestep", + "Constant time-step size", + default_value = 1e-3 | nbody_system.time + ) + + handler.add_method_parameter( + "get_t", + "set_t", + "current_time", + "Current time", + default_value = 0.0 | nbody_system.time + ) + + handler.add_method_parameter( + "get_sakura_output_directory", + "set_sakura_output_directory", + "sakura_output_directory", + "Output directory", + default_value = "./" + ) + + #################################################### + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + self.stopping_conditions.define_methods(handler) + + #################################################### + + handler.add_method("get_t_begin", (), (nbody_system.time, handler.ERROR_CODE,)) + handler.add_method("set_t_begin", (nbody_system.time, ), (handler.ERROR_CODE,)) + + handler.add_method("get_dt", (), (nbody_system.time, handler.ERROR_CODE,)) + handler.add_method("set_dt", (nbody_system.time, ), (handler.ERROR_CODE,)) + + handler.add_method("get_t", (), (nbody_system.time, handler.ERROR_CODE,)) + handler.add_method("set_t", (nbody_system.time, ), (handler.ERROR_CODE,)) + + #################################################### + + def define_particle_sets(self, handler): + GravitationalDynamics.define_particle_sets(self, handler) + self.stopping_conditions.define_particle_set(handler) + + + def define_state(self, handler): + GravitationalDynamics.define_state(self, handler) + + self.stopping_conditions.define_state(handler) + diff --git a/src/amuse_sakura/packages/amuse-sakura.amuse_deps b/src/amuse_sakura/packages/amuse-sakura.amuse_deps new file mode 100644 index 0000000000..c56cfa06a6 --- /dev/null +++ b/src/amuse_sakura/packages/amuse-sakura.amuse_deps @@ -0,0 +1 @@ +c c++ mpi diff --git a/src/amuse_sakura/packages/amuse-sakura/amuse_sakura b/src/amuse_sakura/packages/amuse-sakura/amuse_sakura new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_sakura/packages/amuse-sakura/amuse_sakura @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_sakura/packages/amuse-sakura/pyproject.toml b/src/amuse_sakura/packages/amuse-sakura/pyproject.toml new file mode 100644 index 0000000000..b41422906b --- /dev/null +++ b/src/amuse_sakura/packages/amuse-sakura/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-sakura" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_sakura/**/*.py"] +exclude = [ + "amuse_sakura/packages", + "amuse_sakura/support", + "amuse_sakura/src", + "amuse_sakura/tests" + ] +artifacts = ["amuse_sakura/sakura_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_sakura/tests/"] + +testpaths = ["amuse_sakura/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/sakura/src/Communicator.cpp b/src/amuse_sakura/src/Communicator.cpp similarity index 77% rename from src/amuse/community/sakura/src/Communicator.cpp rename to src/amuse_sakura/src/Communicator.cpp index 2e0acf7aac..cb89e4ca11 100644 --- a/src/amuse/community/sakura/src/Communicator.cpp +++ b/src/amuse_sakura/src/Communicator.cpp @@ -27,7 +27,7 @@ void Communicator::make_two_groups() { MPI_Comm_group(MPI_COMM_WORLD, &orig_group); /* Divide tasks into two distinct groups based upon rank */ - vector v1, v2; + std::vector v1, v2; for(int i=0; i &x) { +void Communicator::bcast(std::vector &x) { int N = x.size(); bcast(N); x.resize(N); MPI_Bcast(&x.front(), N, MPI_INT, 0, MPI_COMM_WORLD); } -void Communicator::gather(int &x, vector &y) { +void Communicator::gather(int &x, std::vector &y) { y.resize(size); MPI_Gather(&x, 1, MPI_INT, &y.front(), 1, MPI_INT, 0, MPI_COMM_WORLD); } -void Communicator::gather(vector &x, vector &y) { +void Communicator::gather(std::vector &x, std::vector &y) { int N = x.size(); - vector N_col; + std::vector N_col; gather(N, N_col); - vector i_col(size); + std::vector i_col(size); for(int i=1; i &x, vector &y) { y.resize(N_sum); MPI_Gatherv(&x.front(), N, MPI_INT, &y.front(), &N_col.front(), &i_col.front(), MPI_INT, 0, MPI_COMM_WORLD); } -void Communicator::join(vector &x, vector &y) { +void Communicator::join(std::vector &x, std::vector &y) { int M = x.size(); y.resize(M); int N = M/numStar; int begin = my_begin*N; int number = all_numbers[rank]*N; - vector all_begin = all_begins; - vector all_number = all_numbers; + std::vector all_begin = all_begins; + std::vector all_number = all_numbers; for(int i=0; i &x, vector &y) { void Communicator::bcast(int &x, MPI_Comm comm) { MPI_Bcast(&x, 1, MPI_INT, 0, comm); } -void Communicator::bcast(vector &x, MPI_Comm comm) { +void Communicator::bcast(std::vector &x, MPI_Comm comm) { int N = x.size(); bcast(N, comm); x.resize(N); MPI_Bcast(&x.front(), N, MPI_INT, 0, comm); } -void Communicator::gather(int &x, vector &y, MPI_Comm comm) { +void Communicator::gather(int &x, std::vector &y, MPI_Comm comm) { y.resize(size); MPI_Gather(&x, 1, MPI_INT, &y.front(), 1, MPI_INT, 0, comm); } -void Communicator::gather(vector &x, vector &y, MPI_Comm comm) { +void Communicator::gather(std::vector &x, std::vector &y, MPI_Comm comm) { int N = x.size(); - vector N_col; + std::vector N_col; gather(N, N_col); - vector i_col(size); + std::vector i_col(size); for(int i=1; i &x, vector &y, MPI_Comm comm) { y.resize(N_sum); MPI_Gatherv(&x.front(), N, MPI_INT, &y.front(), &N_col.front(), &i_col.front(), MPI_INT, 0, comm); } -void Communicator::join(vector &x, vector &y, MPI_Comm comm) { +void Communicator::join(std::vector &x, std::vector &y, MPI_Comm comm) { int M = x.size(); y.resize(M); int N = M/numStar; int begin = my_begin*N; int number = all_numbers[rank]*N; - vector all_begin = all_begins; - vector all_number = all_numbers; + std::vector all_begin = all_begins; + std::vector all_number = all_numbers; for(int i=0; i &x, vector &y, MPI_Comm comm) { void Communicator::bcast(float &x) { MPI_Bcast(&x, 1, MPI_FLOAT, 0, MPI_COMM_WORLD); } -void Communicator::bcast(vector &x) { +void Communicator::bcast(std::vector &x) { int N = x.size(); bcast(N); x.resize(N); MPI_Bcast(&x.front(), N, MPI_FLOAT, 0, MPI_COMM_WORLD); } -void Communicator::gather(float &x, vector &y) { +void Communicator::gather(float &x, std::vector &y) { y.resize(size); MPI_Gather(&x, 1, MPI_FLOAT, &y.front(), 1, MPI_FLOAT, 0, MPI_COMM_WORLD); } -void Communicator::gather(vector &x, vector &y) { +void Communicator::gather(std::vector &x, std::vector &y) { int N = x.size(); - vector N_col; + std::vector N_col; gather(N, N_col); - vector i_col(size); + std::vector i_col(size); for(int i=1; i &x, vector &y) { y.resize(N_sum); MPI_Gatherv(&x.front(), N, MPI_FLOAT, &y.front(), &N_col.front(), &i_col.front(), MPI_FLOAT, 0, MPI_COMM_WORLD); } -void Communicator::join(vector &x, vector &y) { +void Communicator::join(std::vector &x, std::vector &y) { int M = x.size(); y.resize(M); int N = M/numStar; int begin = my_begin*N; int number = all_numbers[rank]*N; - vector all_begin = all_begins; - vector all_number = all_numbers; + std::vector all_begin = all_begins; + std::vector all_number = all_numbers; for(int i=0; i &x, vector &y) { void Communicator::bcast(float &x, MPI_Comm comm) { MPI_Bcast(&x, 1, MPI_FLOAT, 0, comm); } -void Communicator::bcast(vector &x, MPI_Comm comm) { +void Communicator::bcast(std::vector &x, MPI_Comm comm) { int N = x.size(); bcast(N); x.resize(N); MPI_Bcast(&x.front(), N, MPI_FLOAT, 0, comm); } -void Communicator::gather(float &x, vector &y, MPI_Comm comm) { +void Communicator::gather(float &x, std::vector &y, MPI_Comm comm) { y.resize(size); MPI_Gather(&x, 1, MPI_FLOAT, &y.front(), 1, MPI_FLOAT, 0, comm); } -void Communicator::gather(vector &x, vector &y, MPI_Comm comm) { +void Communicator::gather(std::vector &x, std::vector &y, MPI_Comm comm) { int N = x.size(); - vector N_col; + std::vector N_col; gather(N, N_col); - vector i_col(size); + std::vector i_col(size); for(int i=1; i &x, vector &y, MPI_Comm comm) { y.resize(N_sum); MPI_Gatherv(&x.front(), N, MPI_FLOAT, &y.front(), &N_col.front(), &i_col.front(), MPI_FLOAT, 0, comm); } -void Communicator::join(vector &x, vector &y, MPI_Comm comm) { +void Communicator::join(std::vector &x, std::vector &y, MPI_Comm comm) { int M = x.size(); y.resize(M); int N = M/numStar; int begin = my_begin*N; int number = all_numbers[rank]*N; - vector all_begin = all_begins; - vector all_number = all_numbers; + std::vector all_begin = all_begins; + std::vector all_number = all_numbers; for(int i=0; i &x, vector &y, MPI_Comm comm) { void Communicator::bcast(double &x) { MPI_Bcast(&x, 1, MPI_DOUBLE, 0, MPI_COMM_WORLD); } -void Communicator::bcast(vector &x) { +void Communicator::bcast(std::vector &x) { int N = x.size(); bcast(N); x.resize(N); MPI_Bcast(&x.front(), N, MPI_DOUBLE, 0, MPI_COMM_WORLD); } -void Communicator::gather(double &x, vector &y) { +void Communicator::gather(double &x, std::vector &y) { y.resize(size); MPI_Gather(&x, 1, MPI_DOUBLE, &y.front(), 1, MPI_DOUBLE, 0, MPI_COMM_WORLD); } -void Communicator::gather(vector &x, vector &y) { +void Communicator::gather(std::vector &x, std::vector &y) { int N = x.size(); - vector N_col; + std::vector N_col; gather(N, N_col); - vector i_col(size); + std::vector i_col(size); for(int i=1; i &x, vector &y) { y.resize(N_sum); MPI_Gatherv(&x.front(), N, MPI_DOUBLE, &y.front(), &N_col.front(), &i_col.front(), MPI_DOUBLE, 0, MPI_COMM_WORLD); } -void Communicator::join(vector &x, vector &y) { +void Communicator::join(std::vector &x, std::vector &y) { int M = x.size(); y.resize(M); int N = M/numStar; int begin = my_begin*N; int number = all_numbers[rank]*N; - vector all_begin = all_begins; - vector all_number = all_numbers; + std::vector all_begin = all_begins; + std::vector all_number = all_numbers; for(int i=0; i &x, vector &y) { void Communicator::bcast(double &x, MPI_Comm comm) { MPI_Bcast(&x, 1, MPI_DOUBLE, 0, comm); } -void Communicator::bcast(vector &x, MPI_Comm comm) { +void Communicator::bcast(std::vector &x, MPI_Comm comm) { int N = x.size(); bcast(N); x.resize(N); MPI_Bcast(&x.front(), N, MPI_DOUBLE, 0, comm); } -void Communicator::gather(double &x, vector &y, MPI_Comm comm) { +void Communicator::gather(double &x, std::vector &y, MPI_Comm comm) { y.resize(size); MPI_Gather(&x, 1, MPI_DOUBLE, &y.front(), 1, MPI_DOUBLE, 0, comm); } -void Communicator::gather(vector &x, vector &y, MPI_Comm comm) { +void Communicator::gather(std::vector &x, std::vector &y, MPI_Comm comm) { int N = x.size(); - vector N_col; + std::vector N_col; gather(N, N_col); - vector i_col(size); + std::vector i_col(size); for(int i=1; i &x, vector &y, MPI_Comm comm) { y.resize(N_sum); MPI_Gatherv(&x.front(), N, MPI_DOUBLE, &y.front(), &N_col.front(), &i_col.front(), MPI_DOUBLE, 0, comm); } -void Communicator::join(vector &x, vector &y, MPI_Comm comm) { +void Communicator::join(std::vector &x, std::vector &y, MPI_Comm comm) { int M = x.size(); y.resize(M); int N = M/numStar; int begin = my_begin*N; int number = all_numbers[rank]*N; - vector all_begin = all_begins; - vector all_number = all_numbers; + std::vector all_begin = all_begins; + std::vector all_number = all_numbers; for(int i=0; i +#endif + +#include +#include + +#ifndef __Communicator_h +#define __Communicator_h + +class Communicator { + int rank, size; + std::string name; + + int numStar; + int my_begin, my_end; + std::vector all_begins, all_numbers; + + int group, sendbuf_rank, recvbuf_sum; + MPI_Group orig_group, new_group1, new_group2; + MPI_Comm new_comm, new_comm1, new_comm2; + + public: + + // constructors + Communicator(); + + // mpi + void start_mpi(); + void stop_mpi(); + + void make_two_groups(); + void free_groups(); + + // work + void divide_work(int numElements); + + // getters + std::string get_name(); + + int get_rank(); + int get_size(); + int get_my_begin(); + int get_my_end(); + + int get_group(); + MPI_Comm get_comm_world(); + MPI_Comm get_comm_group1(); + MPI_Comm get_comm_group2(); + + // int + void bcast(int &x); + void bcast(std::vector &x); + void gather(int &x, std::vector &y); + void gather(std::vector &x, std::vector &y); + void join(std::vector &x, std::vector &y); + + void bcast(int &x, MPI_Comm comm); + void bcast(std::vector &x, MPI_Comm comm); + void gather(int &x, std::vector &y, MPI_Comm comm); + void gather(std::vector &x, std::vector &y, MPI_Comm comm); + void join(std::vector &x, std::vector &y, MPI_Comm comm); + + // float + void bcast(float &x); + void bcast(std::vector &x); + void gather(float &x, std::vector &y); + void gather(std::vector &x, std::vector &y); + void join(std::vector &x, std::vector &y); + + void bcast(float &x, MPI_Comm comm); + void bcast(std::vector &x, MPI_Comm comm); + void gather(float &x, std::vector &y, MPI_Comm comm); + void gather(std::vector &x, std::vector &y, MPI_Comm comm); + void join(std::vector &x, std::vector &y, MPI_Comm comm); + + // double + void bcast(double &x); + void bcast(std::vector &x); + void gather(double &x, std::vector &y); + void gather(std::vector &x, std::vector &y); + void join(std::vector &x, std::vector &y); + + void bcast(double &x, MPI_Comm comm); + void bcast(std::vector &x, MPI_Comm comm); + void gather(double &x, std::vector &y, MPI_Comm comm); + void gather(std::vector &x, std::vector &y, MPI_Comm comm); + void join(std::vector &x, std::vector &y, MPI_Comm comm); +}; + +#endif + + diff --git a/src/amuse/community/sakura/src/Diagnostics.cpp b/src/amuse_sakura/src/Diagnostics.cpp similarity index 77% rename from src/amuse/community/sakura/src/Diagnostics.cpp rename to src/amuse_sakura/src/Diagnostics.cpp index 9199830d2e..7573d03db4 100644 --- a/src/amuse/community/sakura/src/Diagnostics.cpp +++ b/src/amuse_sakura/src/Diagnostics.cpp @@ -2,7 +2,7 @@ // Conserved quantities -double Diagnostics::get_mass(vector &data) { +double Diagnostics::get_mass(std::vector &data) { int N = data.size()/7; double M = 0; for(int i=0; i &data) { } return M; } -vector Diagnostics::get_rcm(vector &data) { +std::vector Diagnostics::get_rcm(std::vector &data) { double M = get_mass(data); - vector rcm(3,0); + std::vector rcm(3,0); int N = data.size()/7; for(int i=0; i Diagnostics::get_rcm(vector &data) { for(int i=0; i<3; i++) rcm[i] /= M; return rcm; } -vector Diagnostics::get_vcm(vector &data) { +std::vector Diagnostics::get_vcm(std::vector &data) { double M = get_mass(data); - vector vcm(3,0); + std::vector vcm(3,0); int N = data.size()/7; for(int i=0; i Diagnostics::get_vcm(vector &data) { for(int i=0; i<3; i++) vcm[i] /= M; return vcm; } -vector Diagnostics::get_lcm(vector &data) { +std::vector Diagnostics::get_lcm(std::vector &data) { double M = get_mass(data); - vector lcm(3,0); + std::vector lcm(3,0); int N = data.size()/7; for(int i=0; i Diagnostics::get_lcm(vector &data) { for(int i=0; i<3; i++) lcm[i] /= M; return lcm; } -double Diagnostics::get_kinetic_energy(vector &data) { +double Diagnostics::get_kinetic_energy(std::vector &data) { int N = data.size()/7; double ek = 0; for(int i=0; i &data) { } return ek; } -double Diagnostics::get_potential_energy(vector &data) { +double Diagnostics::get_potential_energy(std::vector &data) { int N = data.size()/7; double ep = 0; for(int i=0; i &data) { } return ep; } -double Diagnostics::get_energy(vector &data) { +double Diagnostics::get_energy(std::vector &data) { double ek = get_kinetic_energy(data); double ep = get_potential_energy(data); return ek+ep; @@ -90,13 +90,13 @@ double Diagnostics::get_energy(vector &data) { // System properties -double Diagnostics::get_virial_radius(vector &data) { +double Diagnostics::get_virial_radius(std::vector &data) { double M = get_mass(data); double ep = get_potential_energy(data); double rv = -1*M*M / (2*ep); return rv; } -double Diagnostics::get_harmonic_radius(vector &data) { +double Diagnostics::get_harmonic_radius(std::vector &data) { int N = data.size()/7; double ep = 0; @@ -122,7 +122,7 @@ double Diagnostics::get_harmonic_radius(vector &data) { double rh = -1*M*M / (2*ep); return rh; } -double Diagnostics::get_velocity_disperion(vector &data) { +double Diagnostics::get_velocity_disperion(std::vector &data) { double M = get_mass(data); double ek = get_kinetic_energy(data); double sigma = sqrt(2*ek / M); diff --git a/src/amuse_sakura/src/Diagnostics.h b/src/amuse_sakura/src/Diagnostics.h new file mode 100644 index 0000000000..027a40965e --- /dev/null +++ b/src/amuse_sakura/src/Diagnostics.h @@ -0,0 +1,28 @@ +#include +#include + +#ifndef __Diagnostics_h +#define __Diagnostics_h + +class Diagnostics { + public: + + // Conserved quantities + double get_mass(std::vector &data); + + std::vector get_rcm(std::vector &data); + std::vector get_vcm(std::vector &data); + std::vector get_lcm(std::vector &data); + + double get_kinetic_energy(std::vector &data); + double get_potential_energy(std::vector &data); + double get_energy(std::vector &data); + + // System properties + double get_virial_radius(std::vector &data); + double get_harmonic_radius(std::vector &data); + double get_velocity_disperion(std::vector &data); +}; + +#endif + diff --git a/src/amuse/community/sakura/src/Interaction.cpp b/src/amuse_sakura/src/Interaction.cpp similarity index 87% rename from src/amuse/community/sakura/src/Interaction.cpp rename to src/amuse_sakura/src/Interaction.cpp index 1834fb4be6..d921357226 100644 --- a/src/amuse/community/sakura/src/Interaction.cpp +++ b/src/amuse_sakura/src/Interaction.cpp @@ -4,7 +4,7 @@ Interaction::Interaction() { ; } -void Interaction::calc_a(vector &particle, Communicator &communicator) { +void Interaction::calc_a(std::vector &particle, Communicator &communicator) { int N = particle.size(); for(int i=0; i &particle, Communicator &communicator) particle[i].set_az(0.0); } - vector myacc(3*N, 0); + std::vector myacc(3*N, 0); for(int i=communicator.get_my_begin(); i &particle, Communicator &communicator) } } - vector acc(3*N, 0); + std::vector acc(3*N, 0); communicator.join(myacc, acc); communicator.bcast(acc); diff --git a/src/amuse_sakura/src/Interaction.h b/src/amuse_sakura/src/Interaction.h new file mode 100644 index 0000000000..094ea31c3e --- /dev/null +++ b/src/amuse_sakura/src/Interaction.h @@ -0,0 +1,20 @@ +#include "Communicator.h" + +#include +#include + +#include "Particle.h" +#include "Particles.h" + +#ifndef __INTERACTION_H +#define __INTERACTION_H + +class Interaction { + + public: + + Interaction(); + void calc_a(std::vector &particle, Communicator &communicator); +}; + +#endif diff --git a/src/amuse/community/sakura/src/Particle.cpp b/src/amuse_sakura/src/Particle.cpp similarity index 100% rename from src/amuse/community/sakura/src/Particle.cpp rename to src/amuse_sakura/src/Particle.cpp diff --git a/src/amuse/community/sakura/src/Particle.h b/src/amuse_sakura/src/Particle.h similarity index 100% rename from src/amuse/community/sakura/src/Particle.h rename to src/amuse_sakura/src/Particle.h diff --git a/src/amuse_sakura/src/Particles.cpp b/src/amuse_sakura/src/Particles.cpp new file mode 100644 index 0000000000..bb0298ab9b --- /dev/null +++ b/src/amuse_sakura/src/Particles.cpp @@ -0,0 +1,130 @@ +#include "Particles.h" + +Particles::Particles() { + t = 0; + N = 0; + particle.clear(); +} +Particles::Particles(std::vector particle) { + t = 0; + N = particle.size(); + this->particle = particle; +} +Particles::Particles(double t, std::vector particle) { + this->t = t; + N = particle.size(); + this->particle = particle; +} +Particles::Particles(double t, int N, std::vector particle) { + this->t = t; + this->N = N; + this->particle = particle; +} + +void Particles::set_t(double t) { + this->t = t; +} +void Particles::set_N(int N) { + this->N = N; +} +void Particles::set_particles(std::vector particle) { + this->particle = particle; +} +void Particles::set_particle(int index, Particle particle) { + this->particle[index] = particle; +} + +double Particles::get_t() { + return t; +} +int Particles::get_N() { + return N; +} +std::vector Particles::get_particles() { + return particle; +} +Particle Particles::get_particle(int index) { + return particle[index]; +} +Particle* Particles::get_pointer_to_star(int index) { + return &particle[index]; +} + +void Particles::set_data(std::vector &data) { + N = data.size()/7; + particle.resize(N); + for(int i=0; i Particles::get_data() { + std::vector data; + for(int i=0; iparticle.push_back(particle); + N++; +} +void Particles::remove_particle(int index) { + particle.erase(particle.begin()+index); + N--; +} + +void Particles::print() { + std::cout << t << " " << N << std::endl; + for(int i=0; i +#include +#include + +#include "Particle.h" + +#ifndef __PARTICLES_H +#define __PARTICLES_H + +class Particles { + + double t; + int N; + std::vector particle; + + public: + + Particles(); + Particles(std::vector particle); + Particles(double t, std::vector particle); + Particles(double t, int N, std::vector particle); + + void set_t(double t); + void set_N(int N); + void set_particles(std::vector particle); + void set_particle(int index, Particle particle); + + double get_t(); + int get_N(); + std::vector get_particles(); + Particle get_particle(int index); + Particle* get_pointer_to_star(int index); + + void set_data(std::vector &data); + std::vector get_data(); + + void add_to_t(double dt); + void add_particle(Particle particle); + void remove_particle(int index); + + void print(); + void print(double t_cpu); + void print(std::ofstream &odata); + void print(double t_cpu, std::ofstream &odata); +}; + +#endif + + diff --git a/src/amuse/community/sakura/src/Sakura.cpp b/src/amuse_sakura/src/Sakura.cpp similarity index 89% rename from src/amuse/community/sakura/src/Sakura.cpp rename to src/amuse_sakura/src/Sakura.cpp index da790fa6a7..8172d043cb 100644 --- a/src/amuse/community/sakura/src/Sakura.cpp +++ b/src/amuse_sakura/src/Sakura.cpp @@ -26,7 +26,7 @@ void Sakura::set_particles(Particles particles) { double t_begin = particles.get_t(); int N = particles.get_N(); - vector particle = particles.get_particles(); + std::vector particle = particles.get_particles(); } void Sakura::set_dt(double dt) { @@ -64,7 +64,7 @@ Particle* Sakura::get_pointer_to_star(int index) { void Sakura::evolve(double t, Communicator &communicator) { double t_begin = particles.get_t(); int N = particles.get_N(); - vector particle = particles.get_particles(); + std::vector particle = particles.get_particles(); double t_end = t; t = t_begin; @@ -90,7 +90,7 @@ void Sakura::evolve(double t, Communicator &communicator) { particles.set_t(t); particles.set_particles(particle); } -void Sakura::step(vector &particle, double dt, Communicator &communicator) { +void Sakura::step(std::vector &particle, double dt, Communicator &communicator) { int N = particle.size(); double Mtot = 0; @@ -107,7 +107,7 @@ void Sakura::step(vector &particle, double dt, Communicator &communica vycm /= Mtot; vzcm /= Mtot; - vector mydp(6*N, 0); + std::vector mydp(6*N, 0); for(int i=communicator.get_my_begin(); i &particle, double dt, Communicator &communica } } - vector dp(6*N, 0); + std::vector dp(6*N, 0); communicator.join(mydp, dp); communicator.bcast(dp); @@ -180,13 +180,13 @@ void Sakura::set_t(double t) { particles.set_t(t); } void Sakura::step(double dt, Communicator &communicator) { - vector particle = particles.get_particles(); + std::vector particle = particles.get_particles(); step(particle, dt, communicator); particles.set_particles(particle); } -vector Sakura::get_coordinates(vector &particle) { +std::vector Sakura::get_coordinates(std::vector &particle) { int N = particle.size(); - vector coordinates(N*7); + std::vector coordinates(N*7); int counter = 0; for(int i=0; i Sakura::get_coordinates(vector &particle) { } return coordinates; } -void Sakura::update_particles(vector &particle, vector &coordinates) { +void Sakura::update_particles(std::vector &particle, std::vector &coordinates) { int N = particle.size(); int counter = 0; for(int i=0; i &particle, vector &coordi counter += 7; } } -void Sakura::update_particles(vector &coordinates) { +void Sakura::update_particles(std::vector &coordinates) { int N = particles.get_N(); - vector p(N); + std::vector p(N); int counter = 0; for(int i=0; i &coordinates) { counter += 7; } } -vector Sakura::get_data() { - vector p = particles.get_particles(); +std::vector Sakura::get_data() { + std::vector p = particles.get_particles(); int N = p.size(); - vector data(7*N, 0); + std::vector data(7*N, 0); for(int i=0; i +#include +#include +#include + +#include "Particle.h" +#include "Particles.h" + +#include "Interaction.h" +#include "Timestep.h" + +#include "Twobody.h" + +#ifndef __SAKURA_H +#define __SAKURA_H + +class Sakura { + + Particles particles; + Interaction interaction; + Timestep timestep; + + Twobody twobody; + + unsigned int Nstep; + double sum_dt, sum_inv_dt; + + public: + + Sakura(); + Sakura(Particles particles); + Sakura(Particles particles, double dt); + + void set_particles(Particles particles); + void set_dt(double dt); + void set_tolerance(double tolerance); + + Particles get_particles(); + Particles* get_pointer_to_particles(); + double get_dt(); + double get_tolerance(); + unsigned int get_Nstep(); + double get_sum_dt(); + double get_sum_inv_dt(); + Particle* get_pointer_to_star(int index); + + void evolve(double t, Communicator &communicator); + void step(std::vector &particle, double dt, Communicator &communicator); + + void initial_calculations(); + double get_t(); + void set_t(double t); + void step(double dt, Communicator &communicator); + + std::vector get_coordinates(std::vector &particle); + void update_particles(std::vector &particle, std::vector &coordinates); + void update_particles(std::vector &coordinates); + std::vector get_data(); +}; + +#endif + + diff --git a/src/amuse/community/sakura/src/Timestep.cpp b/src/amuse_sakura/src/Timestep.cpp similarity index 94% rename from src/amuse/community/sakura/src/Timestep.cpp rename to src/amuse_sakura/src/Timestep.cpp index 11cf26ffdf..fd0b753cb6 100644 --- a/src/amuse/community/sakura/src/Timestep.cpp +++ b/src/amuse_sakura/src/Timestep.cpp @@ -47,7 +47,7 @@ double Timestep::get_dt() { return dt_max*dt_param; } -double Timestep::get_dt(vector &particle) { +double Timestep::get_dt(std::vector &particle) { return get_constant_dt(); } diff --git a/src/amuse/community/sakura/src/Timestep.h b/src/amuse_sakura/src/Timestep.h similarity index 89% rename from src/amuse/community/sakura/src/Timestep.h rename to src/amuse_sakura/src/Timestep.h index 8dc2fd3c08..8483bafacd 100644 --- a/src/amuse/community/sakura/src/Timestep.h +++ b/src/amuse_sakura/src/Timestep.h @@ -1,4 +1,3 @@ -using namespace std; #include #include #include @@ -32,7 +31,7 @@ class Timestep { double get_dt_param(); double get_dt(); - double get_dt(vector &particle); + double get_dt(std::vector &particle); double get_constant_dt(); }; diff --git a/src/amuse/community/sakura/src/Twobody.cpp b/src/amuse_sakura/src/Twobody.cpp similarity index 95% rename from src/amuse/community/sakura/src/Twobody.cpp rename to src/amuse_sakura/src/Twobody.cpp index c707296c26..9ea3af6527 100644 --- a/src/amuse/community/sakura/src/Twobody.cpp +++ b/src/amuse_sakura/src/Twobody.cpp @@ -438,10 +438,10 @@ void Twobody::denormalize(double &mu, double &x, double &y, double &z, double &v } bool Twobody::is_valid_number(double &x) { bool valid = true; - if(isinf(x)) { + if(std::isinf(x)) { valid = false; } - else if(isnan(x)) { + else if(std::isnan(x)) { valid = false; } return valid; diff --git a/src/amuse/community/sakura/src/Twobody.h b/src/amuse_sakura/src/Twobody.h similarity index 95% rename from src/amuse/community/sakura/src/Twobody.h rename to src/amuse_sakura/src/Twobody.h index b32618983d..e5a8ec25c7 100644 --- a/src/amuse/community/sakura/src/Twobody.h +++ b/src/amuse_sakura/src/Twobody.h @@ -1,5 +1,4 @@ #include -using namespace std; #include #include diff --git a/src/amuse/community/sakura/src/main.cpp b/src/amuse_sakura/src/main.cpp similarity index 90% rename from src/amuse/community/sakura/src/main.cpp rename to src/amuse_sakura/src/main.cpp index 990c14abf4..ad379c98f5 100644 --- a/src/amuse/community/sakura/src/main.cpp +++ b/src/amuse_sakura/src/main.cpp @@ -1,7 +1,6 @@ #include "Communicator.h" #include -using namespace std; #include #include diff --git a/src/amuse/community/sakura/src/makefile b/src/amuse_sakura/src/makefile similarity index 100% rename from src/amuse/community/sakura/src/makefile rename to src/amuse_sakura/src/makefile diff --git a/src/amuse_sakura/support/aclocal.m4 b/src/amuse_sakura/support/aclocal.m4 new file mode 100644 index 0000000000..5fea1010bd --- /dev/null +++ b/src/amuse_sakura/support/aclocal.m4 @@ -0,0 +1,19 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_sakura/support/config.mk.in b/src/amuse_sakura/support/config.mk.in new file mode 100644 index 0000000000..0f4f6435b7 --- /dev/null +++ b/src/amuse_sakura/support/config.mk.in @@ -0,0 +1,24 @@ +# Compilers +CC = @CC@ +CXX = @CXX@ + +MPICC = @MPICC@ +MPICXX = @MPICXX@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ + +# General flags and libraries +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +STOPCOND_CFLAGS = @STOPCOND_CFLAGS@ +STOPCOND_LIBS = @STOPCOND_LIBS@ + diff --git a/src/amuse_sakura/support/configure b/src/amuse_sakura/support/configure new file mode 100755 index 0000000000..6ed67a355a --- /dev/null +++ b/src/amuse_sakura/support/configure @@ -0,0 +1,6655 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-sakura 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-sakura' +PACKAGE_TARNAME='amuse-sakura' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-sakura 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +FOUND_STOPCOND +STOPCOND_LIBS +STOPCOND_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +RANLIB +AR +target_os +target_vendor +target_cpu +target +ac_ct_CXX +CXXFLAGS +CXX +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCOND_CFLAGS +STOPCOND_LIBS +MPICC +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-sakura 1.0 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/amuse-sakura] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-sakura 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + 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 + CXX C++ compiler command + CXXFLAGS C++ compiler flags + 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 + STOPCOND_CFLAGS + C compiler flags for STOPCOND, overriding pkg-config + STOPCOND_LIBS + linker flags for STOPCOND, overriding pkg-config + MPICC MPI C compiler command + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-sakura configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-sakura $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Set the worker language + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + +# Find AMUSE libraries + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCOND_CFLAGS" + amuse_save_LIB_LIBS="$STOPCOND_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing is_condition_enabled" >&5 +printf %s "checking for library containing is_condition_enabled... " >&6; } +if test ${ac_cv_search_is_condition_enabled+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char is_condition_enabled (); +int +main (void) +{ +return is_condition_enabled (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcond +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_is_condition_enabled=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_is_condition_enabled+y} +then : + break +fi +done +if test ${ac_cv_search_is_condition_enabled+y} +then : + +else $as_nop + ac_cv_search_is_condition_enabled=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_is_condition_enabled" >&5 +printf "%s\n" "$ac_cv_search_is_condition_enabled" >&6; } +ac_res=$ac_cv_search_is_condition_enabled +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCOND="yes" + STOPCOND_LIBS="$LIBS" + STOPCOND_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCOND" >&5 +printf %s "checking for STOPCOND... " >&6; } + +if test -n "$STOPCOND_CFLAGS"; then + pkg_cv_STOPCOND_CFLAGS="$STOPCOND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_CFLAGS=`$PKG_CONFIG --cflags "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCOND_LIBS"; then + pkg_cv_STOPCOND_LIBS="$STOPCOND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_LIBS=`$PKG_CONFIG --libs "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcond" 2>&1` + else + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcond" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCOND_PKG_ERRORS" >&5 + + + FOUND_STOPCOND="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCOND="no" + +else + STOPCOND_CFLAGS=$pkg_cv_STOPCOND_CFLAGS + STOPCOND_LIBS=$pkg_cv_STOPCOND_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCOND="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCOND}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCOND_CFLAGS="${STOPCOND_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCOND_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCOND_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + +# Find external dependencies +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 + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-sakura $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-sakura config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + diff --git a/src/amuse_sakura/support/configure.ac b/src/amuse_sakura/support/configure.ac new file mode 100644 index 0000000000..cee2c181e5 --- /dev/null +++ b/src/amuse_sakura/support/configure.ac @@ -0,0 +1,38 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-sakura], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Set the worker language +AC_PROG_CC() +AC_PROG_CXX() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + +# Find AMUSE libraries +AMUSE_LIB_STOPCOND() + +# Find external dependencies +AC_LANG_PUSH([C]) +AX_MPI() +AC_LANG_POP([C]) + +AC_LANG_PUSH([C++]) +AX_MPI() +AC_LANG_POP([C++]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT diff --git a/src/amuse_sakura/support/shared b/src/amuse_sakura/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_sakura/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_sakura.py b/src/amuse_sakura/tests/test_sakura.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_sakura.py rename to src/amuse_sakura/tests/test_sakura.py index 754b0b415d..e42cd2038e 100644 --- a/src/amuse/test/suite/codes_tests/test_sakura.py +++ b/src/amuse_sakura/tests/test_sakura.py @@ -1,13 +1,13 @@ import numpy import math -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI from amuse.units import nbody_system, units, constants from amuse.datamodel import Particles from amuse.ic.plummer import new_plummer_model try: - from amuse.community.sakura.interface import SakuraInterface, Sakura, MODULES_MISSING + from amuse_sakura.interface import SakuraInterface, Sakura, MODULES_MISSING except ImportError: MODULES_MISSING = True diff --git a/src/amuse_seba/.gitignore b/src/amuse_seba/.gitignore new file mode 100644 index 0000000000..e36594a06e --- /dev/null +++ b/src/amuse_seba/.gitignore @@ -0,0 +1,3 @@ +seba.tar.gz +*worker* + diff --git a/src/amuse_seba/Makefile b/src/amuse_seba/Makefile new file mode 100644 index 0000000000..afe9394dc2 --- /dev/null +++ b/src/amuse_seba/Makefile @@ -0,0 +1,90 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Downloading the code +VERSION = a6f4b64f852249a0b66d52aa6f276be517dccb64 + +seba.tar.gz: + $(DOWNLOAD) https://github.com/amusecode/SeBa/archive/$(VERSION).tar.gz >$@ + +src: seba.tar.gz + tar xf $< + mv SeBa-$(VERSION) src + # See https://github.com/amusecode/SeBa/pull/25 + cd src && patch -p1 <../toolbox.patch + + +# Building the code into a static library +CFLAGS += $(STOPCOND_CFLAGS) $(AMUSE_MPI_CFLAGS) +CXXFLAGS += -std=c++11 # Used by the native code +LDFLAGS += +LDLIBS += $(STOPCOND_LIBS) $(AMUSE_MPI_LIBS) + +CODELIBS = src/sstar/libsstar.a src/dstar/libdstar.a src/node/libnode.a src/std/libstd.a +CODELIBS += src/rdc/librdc.a + + +.PHONY: $(CODELIBS) +$(CODELIBS) &: | src + cd src && $(MAKE) -j 1 lib + + +# Building the workers + +INTERFACE_CFLAGS = $(CFLAGS) -Isrc/include -Isrc/include/star + +seba_worker.h: interface.py + amusifier --type=h interface.py SeBaInterface -o $@ + +seba_worker.cc: interface.py + amusifier --type=c interface.py SeBaInterface -o $@ + +seba_worker.o: seba_worker.cc seba_worker.h | src + $(MPICXX) -c -o $@ $(CFLAGS) $< + +seba_worker: seba_worker.o interface.o $(CODELIBS) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +interface.o: interface.cc + $(CXX) -o $@ -c $(INTERFACE_CFLAGS) $< + + +# Which packages contain which workers? +amuse-seba_contains: seba_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + -$(MAKE) -C src clean + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + -$(MAKE) -C src distclean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + diff --git a/src/amuse_seba/__init__.py b/src/amuse_seba/__init__.py new file mode 100644 index 0000000000..a779067ebc --- /dev/null +++ b/src/amuse_seba/__init__.py @@ -0,0 +1 @@ +from .interface import Seba diff --git a/src/amuse_seba/interface.cc b/src/amuse_seba/interface.cc new file mode 100644 index 0000000000..3f872ff542 --- /dev/null +++ b/src/amuse_seba/interface.cc @@ -0,0 +1,1087 @@ +#include "single_star.h" +#include "main_sequence.h" +#include "seba_worker.h" +#include "double_star.h" + +// AMUSE STOPPING CONDITIONS SUPPORT +#include + +// Get std::xxx to match SeBa commit 382b590 +// #include + +#include + +static node * seba_root = 0; +static node * seba_insertion_point = 0; +static int next_seba_id = 1; +static std::map mapping_from_id_to_node; +static double seba_metallicity = 0.02; +static double seba_time = 0.0; +static stellar_type start_type = Main_Sequence; +static binary_type binary_start_type = Detached; +static bool is_logging_of_evolve_enabled = false; + +local void addbinary( + node *bi, real stellar_time, // bi is binary CM + binary_type type, + real sma, real ecc) +{ + node* od = bi->get_oldest_daughter(); + int id; + if((od->is_low_level_node() && + od->get_younger_sister()->is_low_level_node()) && + (od->get_elder_sister() == NULL) && + bi->n_leaves()==2 ) { + + if (!has_dstar(od)) { + //bi->get_parent()->get_starbase()->get_element_type()!=Double) { + + // if (bi->is_parent() && !bi->is_root()) + story * old_story = bi->get_starbase()->get_star_story(); + bi->get_starbase()->set_star_story(NULL); + + id = bi->get_index(); + + cerr << "Adding binary to "<< id << " at time = " + << stellar_time << endl; + + double_star* new_double + = new_double_star(bi, sma, ecc, stellar_time, id, type); + // synchronize_binary_components(dynamic_cast(double_star*, + // bi->get_starbase())); + + // Give the new binary the old star_story. + + new_double->set_star_story(old_story); + // Assure that SeBa prints zero-age binary parameters (SPZ+FK Febr2025). + new_double->dump("SeBa.data", true); + + } + else { + cerr << "No double_star to node needed in adddouble"<get_starbase()->dump(starev, false); + } + real current_time = ((star*)bi->get_starbase())->get_current_time(); + real time_step = bi->get_starbase()->get_evolve_timestep(); + + while (out_time>current_time+time_step ) { + //stellar_type pre_stellar_type = bi->get_starbase()->get_element_type(); + bi->get_starbase()->evolve_element(current_time+time_step); + /* + stellar_type post_stellar_type = bi->get_starbase()->get_element_type(); + if (post_stellar_type>15 && pre_stellar_type != post_stellar_type) { + //int sn1 = 1; + int is_supernova_detection_enabled; + is_stopping_condition_enabled(SUPERNOVA_DETECTION, + &is_supernova_detection_enabled); + if (is_supernova_detection_enabled) { + real time_of_supernova = bi->get_starbase()->get_current_time(); + cerr << "Star has experienced a supernova:"<get_starbase()->set_relative_age(time_of_supernova); + cerr << "Relative age="<get_starbase()->get_relative_age()<get_starbase()->evolve_element(current_time+time_step); + } + catch(real moment_of_supernova) { + cerr << "We have a Supernova occurring at t="<get_starbase()->get_current_time(); + + int is_supernova_detection_enabled; + is_stopping_condition_enabled(SUPERNOVA_DETECTION, + &is_supernova_detection_enabled); + if (is_supernova_detection_enabled) { + int stopping_index = next_index_for_stopping_condition(); + set_stopping_condition_info(stopping_index, SUPERNOVA_DETECTION); + } + return bi->get_starbase()->get_current_time(); + } + */ + + if(is_logging_of_evolve_enabled) { + bi->get_starbase()->dump(starev, false); + } + current_time = ((star*)bi->get_starbase())->get_current_time(); + time_step = bi->get_starbase()->get_evolve_timestep(); + + star_state ss(dynamic_cast(star*, bi->get_starbase())); + } + + + bi->get_starbase()->evolve_element(out_time); + bi->get_starbase()->dump(cerr, false); + + if(is_logging_of_evolve_enabled) { + bi->get_starbase()->dump(starev, false); + print_star(bi->get_starbase(), cerr); + starev.close(); + } + return out_time; +} + +local int translate_stellar_type_to_int(stellar_type stp, const real mass) { + + switch (stp) { + case Brown_Dwarf: + return 19; + case Main_Sequence: + if (mass<0.1) { + return 0; + } + return 1; + case Hertzsprung_Gap: + return 2; + case Sub_Giant: + return 3; + case Horizontal_Branch: + return 4; + case Super_Giant: + return 5; + case Hyper_Giant: + return 6; + case Carbon_Star: + case Helium_Star: + return 7; + case Helium_Giant: + return 9; + case Helium_Dwarf: + return 10; + case Carbon_Dwarf: + return 11; + case Oxygen_Dwarf: + return 12; + case Xray_Pulsar: + case Radio_Pulsar: + case Neutron_Star: + return 13; + case Black_Hole: + return 14; + case Disintegrated: + return 15; + case Proto_Star: + return 17; + case Planet: + return 18; + case Static_Star: + case SPZDCH_Star: + case NAS: + case Thorn_Zytkow: + case Double: + case no_of_stellar_type: + return -1; + } +} + + +local stellar_type translate_int_to_stellar_type(int type_number) { + + switch (type_number) { + case 19: + return Brown_Dwarf; + case 0: + case 1: + return Main_Sequence; + case 2: + return Hertzsprung_Gap; + case 3: + return Sub_Giant; + case 4: + return Horizontal_Branch; + case 5: + case 6: + return Super_Giant; +// return Hyper_Giant; + case 7: + return Helium_Star; + case 8: + case 9: + return Helium_Giant; + case 10: + return Helium_Dwarf; + case 11: + return Carbon_Dwarf; + case 12: + return Oxygen_Dwarf; + case 13: + return Neutron_Star; + case 14: + return Black_Hole; + case 15: + return Disintegrated; + case 17: + return Proto_Star; + case 18: + return Planet; + case -1: + return no_of_stellar_type; + } +} + + + +local int translate_binary_type_to_int(binary_type btp) { + switch (btp) { + case Strong_Encounter: + return -1; + case Unknown_Binary_Type: + return 0; + case Synchronized: + return 1; + case Detached: + return 2; + case Semi_Detached: + return 3; + case Contact: + return 4; + case Common_Envelope: + return 5; + case Double_Spiral_In: + return 6; + case Merged: + return 7; + case Disrupted: + return 8; + case Spiral_In: + return 9; + default: + return -2; + } +} + +local binary_type translate_int_to_binary_type(int btp) { + switch (btp) { + case -1: + return Strong_Encounter; + case 0: + return Unknown_Binary_Type; + case 1: + return Synchronized; + case 2: + return Detached; + case 3: + return Semi_Detached; + case 4: + return Contact; + case 5: + return Common_Envelope; + case 6: + return Common_Envelope; + case 7: + return Merged; + case 8: + return Disrupted; + case 9: + return Spiral_In; + } +} + + + +int evolve_star(double mass, double endtime, double metal, double * resulttime, double * end_mass, double * end_radius, double * end_luminosity, double * end_temperature, double *end_time_step, int *end_stellar_type){ + stellar_type type = Main_Sequence; + char * star_type_string; + int c; + + bool t_flag = FALSE; + bool S_flag = FALSE; + bool c_flag = FALSE; + bool M_flag = FALSE; + bool n_flag = FALSE; + bool R_flag = FALSE; + bool I_flag = FALSE; + real m_tot; + real r_hm = 100; + real t_hc = 1; + real t_start = 0; // default value; + real t_end = 0; + int n_steps = 1; + int n_steps_per_phase = 10; + int n_init = 0; + int n =1; + real z; + + char *comment; + int input_seed=0, actual_seed; + *resulttime = 0.0; + *end_mass = 0.0 ; + *end_radius = 0.0; + *end_luminosity = 0.0; + *end_temperature = 0.0; + if (metal < 0.00001) { + return -4; + } + + m_tot = mass; + t_end = endtime; + z = metal; + + actual_seed = srandinter(input_seed); + node *root; + root= mknode(1); + root->get_starbase()->set_stellar_evolution_scaling(m_tot, r_hm, t_hc); + + addstar(root, t_start, type, z, n_init+0, false); + root->get_starbase()->set_use_hdyn(false); + + real delta_t = t_end/((real)n_steps); + real out_time; + + for_all_daughters(node, root, bi) { + out_time = 0; + do { + out_time = Starlab::min(out_time+delta_t, t_end); + evolve_star_until_next_time(bi, out_time, n_steps_per_phase); + } + while(out_time < t_end); + } + + for_all_daughters(node, root, bi) { + *resulttime = bi->get_starbase()->get_current_time(); + *end_mass = bi->get_starbase()->get_total_mass() ; + *end_radius = bi->get_starbase()->get_radius(); + *end_luminosity = bi->get_starbase()->get_luminosity(); + *end_temperature = bi->get_starbase()->temperature(); + *end_time_step = bi->get_starbase()->get_evolve_timestep(); + *end_stellar_type = translate_stellar_type_to_int(bi->get_starbase()->get_element_type(), mass); + + // << " " << type_string(bi->get_starbase()->get_element_type()) + } + + rmtree(root); + + return 0; +} + + +int initialize_code(){ + next_seba_id = 1; + seba_root = new node(); + seba_root->set_root(seba_root); + seba_root->get_starbase()->set_stellar_evolution_scaling( + 1, // mass units is 1 MSun + 100, //was 2.255e-8, // radius units is RSun + 1 // time units is Myr + ); + // XXX AVE + // in all starlab files this this done after adding stars, + // do we need to follow that convention? + // it looks like this is important for + // double stars!! + seba_root->get_starbase()->set_use_hdyn(false); + + // AMUSE STOPPING CONDITIONS SUPPORT + set_support_for_condition(SUPERNOVA_DETECTION); + + return 0; +} + +int cleanup_code(){ + return 0; +} + +int commit_parameters(){ + return 0; +} + +int recommit_parameters(){ + return 0; +} + +int set_metallicity(double metallicity){ + seba_metallicity = metallicity; + return 0; +} +int get_metallicity(double * metallicity){ + *metallicity = seba_metallicity; + return 0; +} + +int set_supernova_kick_velocity(double v_disp) { + cnsts.v_disp = v_disp; + PRL(v_disp); + PRL(cnsts.v_disp); + return 0; +} +int get_supernova_kick_velocity(double * v_disp){ + *v_disp = cnsts.v_disp; + return 0; +} + +int get_is_logging_of_evolve_enabled(bool *value){ + *value = is_logging_of_evolve_enabled; + return 0; +} +int set_is_logging_of_evolve_enabled(bool value){ + is_logging_of_evolve_enabled = value; + return 0; +} + +int get_time(double * value) { + *value = seba_time; + return 0; +} + + +int new_particle(int * index_of_the_star, double mass){ + + node * new_node = new node(); + new_node->set_label(next_seba_id); + new_node->set_parent(seba_root); + new_node->set_mass(mass); + mapping_from_id_to_node[next_seba_id] = new_node; + + if(seba_insertion_point == 0) { + seba_insertion_point = new_node; + seba_root->set_oldest_daughter(new_node); + } else { + seba_insertion_point->set_younger_sister(new_node); + new_node->set_elder_sister(seba_insertion_point); + seba_insertion_point = new_node; + } + + addstar(new_node, seba_time, start_type, seba_metallicity, 0, false, start_type, mass, mass, 0, 0, 0); + + new_node->get_starbase()->set_time_offset(seba_time); + *index_of_the_star = next_seba_id; + + next_seba_id++; + + return 0; +} + + +int new_advanced_particle(int * index_of_the_star, double mass, double relative_mass, int type_number, double relative_age, double core_mass, double COcore_mass, double radius){ + + if (relative_mass == 0) return new_particle(index_of_the_star, mass); + if (relative_age < 0) return -1; + + node * new_node = new node(); + new_node->set_label(next_seba_id); + new_node->set_parent(seba_root); + new_node->set_mass(mass); + mapping_from_id_to_node[next_seba_id] = new_node; + + if(seba_insertion_point == 0) { + seba_insertion_point = new_node; + seba_root->set_oldest_daughter(new_node); + } else { + seba_insertion_point->set_younger_sister(new_node); + new_node->set_elder_sister(seba_insertion_point); + seba_insertion_point = new_node; + } + + stellar_type seba_stellar_type = translate_int_to_stellar_type(type_number); + + addstar(new_node, seba_time, seba_stellar_type, seba_metallicity, 0, false, seba_stellar_type, relative_mass, mass - core_mass, core_mass, COcore_mass, relative_age); + new_node->get_starbase()->set_time_offset(seba_time); + *index_of_the_star = next_seba_id; + + next_seba_id++; + + new_node->get_starbase()->set_relative_age(relative_age); + new_node->get_starbase()->set_core_mass(core_mass); + new_node->get_starbase()->set_COcore_mass(COcore_mass); + new_node->get_starbase()->set_effective_radius(radius); + + return 0; +} + + + + +int delete_star(int index_of_the_star){ + + std::map::iterator i = mapping_from_id_to_node.find(index_of_the_star); + if(i == mapping_from_id_to_node.end()) { + return -1; + } else { + node * node_to_remove = i->second; + if (node_to_remove == seba_insertion_point) { + seba_insertion_point = node_to_remove->get_younger_sister(); + } + detach_node_from_general_tree(node_to_remove); + + mapping_from_id_to_node.erase(i); + return 0; + } + +} + +int commit_particles(){ + return 0; +} + +int recommit_particles(){ + return 0; +} + +node * get_seba_node_from_index(int index_of_the_star, int * errorcode) +{ + std::map::iterator i = mapping_from_id_to_node.find(index_of_the_star); + if(i == mapping_from_id_to_node.end()) { + *errorcode = -1; + return 0; + } else { + *errorcode = 0; + return i->second; + } +} + +int get_mass(int index_of_the_star, double * mass){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *mass= seba_node->get_starbase()->get_total_mass() ; + return error_code; +} + +int get_core_mass(int index_of_the_star, double * mass){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *mass= seba_node->get_starbase()->get_core_mass() ; + return error_code; +} + +int get_COcore_mass(int index_of_the_star, double * mass){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *mass= seba_node->get_starbase()->get_COcore_mass() ; + return error_code; +} + + +int change_mass(int index_of_the_star, double mass, double dt){ +// cout << "Enter change mass:"<< mass<< " "<< dt<get_starbase()->get_core_mass() ; + if (mass>0) { + seba_node->get_starbase()->add_mass_to_accretor(mass, true, dt); + } + else { + mass *= -1; + star *star = seba_node->get_starbase()->subtrac_mass_from_donor(dt, mass); +// PRL(star); + } + return error_code; +} + +// note that the dinner's mass is set to zero, but other parameters and the particle itself remain +int merge_the_binary(int index_of_the_binary, int index_of_the_consumer, int index_of_the_dinner){ + + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_binary, &error_code); + if(error_code < 0) {return error_code;} + node * consumer = get_seba_node_from_index(index_of_the_consumer, &error_code); + if(error_code < 0) {return error_code;} + node * dinner = get_seba_node_from_index(index_of_the_dinner, &error_code); + if(error_code < 0) {return error_code;} + + seba_node->get_starbase()->merge_elements((star*)consumer->get_starbase(), (star*)dinner->get_starbase()); + return error_code; +} + + +//note that dinner is not altered by this routine! +int merge_with_other_star(int index_of_the_consumer, int index_of_the_dinner){ + + int error_code = 0; + node * consumer = get_seba_node_from_index(index_of_the_consumer, &error_code); + if(error_code < 0) {return error_code;} + node * dinner = get_seba_node_from_index(index_of_the_dinner, &error_code); + if(error_code < 0) {return error_code;} + + consumer->get_starbase()->merge_elements((star*)dinner->get_starbase()); + return error_code; +} + + + + +int refresh_memory(int index_of_the_star){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + + seba_node->get_starbase()->refresh_memory(); + return error_code; +} + +//Does not work for binaries as memory is already refreshed in SeBa by SeBa +int recall_memory_one_step(int index_of_the_star){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + + seba_node->get_starbase()->recall_memory(); + seba_time = seba_node->get_starbase()->get_current_time() - seba_node->get_starbase()->get_time_offset(); + + return error_code; +} + +int get_envelope_mass(int index_of_the_star, double * mass){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *mass= seba_node->get_starbase()->get_envelope_mass() ; + return error_code; +} + +int get_temperature(int index_of_the_star, double * temperature){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *temperature= seba_node->get_starbase()->temperature() ; + return error_code; +} + + +int get_time_step(int index_of_the_star, double * time_step){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *time_step= seba_node->get_starbase()->get_evolve_timestep() ; + return error_code; +} + +int get_luminosity(int index_of_the_star, double * luminosity){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *luminosity= seba_node->get_starbase()->get_luminosity() ; + return error_code; +} + +int get_age(int index_of_the_star, double * age){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *age= seba_node->get_starbase()->get_current_time() - seba_node->get_starbase()->get_time_offset(); + return error_code; +} + +int get_radius(int index_of_the_star, double * radius){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *radius= seba_node->get_starbase()->get_radius() ; + return error_code; +} + +int get_core_radius(int index_of_the_star, double * radius){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *radius= seba_node->get_starbase()->get_core_radius() ; + return error_code; +} + +int get_stellar_type(int index_of_the_star, int * stellar_type){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + double mass = seba_node->get_starbase()->get_total_mass(); + *stellar_type = translate_stellar_type_to_int(seba_node->get_starbase()->get_element_type(), mass); + return error_code; +} + +int get_gyration_radius(int index_of_the_star, double * gyration_radius){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *gyration_radius = pow(seba_node->get_starbase()->gyration_radius_sq(),0.5); + return error_code; +} + +int get_apsidal_motion_constant(int index_of_the_star, double * apsidal_motion_constant){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *apsidal_motion_constant = seba_node->get_starbase()->amc(); + return error_code; +} + +int get_zeta_thermal(int index_of_the_star, double * zeta_thermal){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *zeta_thermal = seba_node->get_starbase()->zeta_thermal(); + return error_code; +} + +int get_zeta_adiabatic(int index_of_the_star, double * zeta_adiabatic){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *zeta_adiabatic = seba_node->get_starbase()->zeta_adiabatic(); + return error_code; +} + +int get_rotation_period(int index_of_the_star, double * rotation_period){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *rotation_period = seba_node->get_starbase()->get_rotation_period(); + return error_code; +} + +int get_fallback(int index_of_the_star, double * fallback){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *fallback = seba_node->get_starbase()->get_fallback(); + return error_code; +} + +int get_relative_age(int index_of_the_star, double * relative_age){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *relative_age= seba_node->get_starbase()->get_relative_age() ; + return error_code; +} + +int get_natal_kick_velocity(int index_of_the_star, double * kick_velocity_x, double * kick_velocity_y, double * kick_velocity_z){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + vec kick = seba_node->get_starbase()->get_anomal_velocity() ; + *kick_velocity_x = kick[0]; + *kick_velocity_y = kick[1]; + *kick_velocity_z = kick[2]; + return error_code; +} + +int get_relative_mass(int index_of_the_star, double * relative_mass){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *relative_mass= seba_node->get_starbase()->get_relative_mass() ; + return error_code; +} + +int get_effective_radius(int index_of_the_star, double * radius){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *radius= seba_node->get_starbase()->get_effective_radius() ; + return error_code; +} + + +int get_convective_envelope_mass(int index_of_the_star, double * convective_envelope_mass){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *convective_envelope_mass= seba_node->get_starbase()->convective_envelope_mass() ; + return error_code; +} + +int get_convective_envelope_radius(int index_of_the_star, double * convective_envelope_radius){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *convective_envelope_radius= seba_node->get_starbase()->convective_envelope_radius(); + return error_code; +} + +int get_wind_mass_loss_rate(int index_of_the_star, double * wind_mass_loss_rate){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *wind_mass_loss_rate = seba_node->get_starbase()->get_wind_constant()*-1.; + return error_code; +} + + + + +int evolve_one_step(int index_of_the_star){ + int error_code = 0; + int n_steps_per_phase = 10; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + + double out_time = seba_node->get_starbase()->get_current_time(); + out_time += seba_node->get_starbase()->get_evolve_timestep(); + evolve_star_until_next_time(seba_node, out_time, n_steps_per_phase); + return error_code; +} + +int evolve_for(int index_of_the_star, double delta_t){ + int error_code = 0; + int n_steps_per_phase = 10; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + double out_time = seba_node->get_starbase()->get_current_time(); + out_time += delta_t; + evolve_star_until_next_time(seba_node, out_time, n_steps_per_phase); + return error_code; +} + +int get_number_of_particles(int * number_of_particles){ + return 0; +} + +int evolve_system(double end_time) { + int n_steps = 1; + int n_steps_per_phase = 10; + // cannot evolve for a negative time + if (end_time < seba_time) { + return 0; + } + real delta_t = (end_time - seba_time)/((real)n_steps); + real out_time; + nodeptr bi; + // make a local copy of all stars + real actual_time; + for_all_daughters(node, seba_root, bi) { + out_time = seba_time; + do { + out_time = Starlab::min(out_time+delta_t, end_time); + actual_time = evolve_star_until_next_time(bi, out_time, n_steps_per_phase); + if (actual_timeget_star_id()<<"and "<< child1->get_star_id()<set_star_id(1); + // set stellar id's + //child1->set_star_id(0); + //child2->set_star_id(1); + + + addbinary(new_node, seba_time, binary_start_type, semi_major_axis, eccentricity); + + new_node->get_starbase()->set_time_offset(seba_time); + *index_of_the_star = next_seba_id; + + next_seba_id++; + + return 0; +} + +int delete_binary(int index_of_the_star){ + + std::map::iterator i = mapping_from_id_to_node.find(index_of_the_star); + if(i == mapping_from_id_to_node.end()) { + return -1; + } else { + node * node_to_remove = i->second; + node * parent = node_to_remove->get_parent(); + node * younger_sister = node_to_remove->get_younger_sister(); + + node * child1 = node_to_remove->get_oldest_daughter(); + if(child1 != 0) { + node * child2 = child1->get_younger_sister(); + + node * elder_sister = node_to_remove->get_elder_sister(); + + child1->set_elder_sister(elder_sister); + child1->set_parent(parent); + ((star*)child1->get_starbase())->set_identity(-1); + if(elder_sister) { + elder_sister->set_younger_sister(child1); + } + + if(parent->get_oldest_daughter() == node_to_remove) { + parent->set_oldest_daughter(child1); + } + + if(child2 != 0) { + child2->set_younger_sister(younger_sister); + child2->set_parent(parent); + ((star*)child2->get_starbase())->set_identity(-1); + + if(younger_sister) { + younger_sister->set_elder_sister(child2); + } + + if (node_to_remove == seba_insertion_point) { + seba_insertion_point = child2; + } + } else { + if(younger_sister) { + younger_sister->set_elder_sister(child1); + } + if (node_to_remove == seba_insertion_point) { + seba_insertion_point = child1; + } + } + + } else { + detach_node_from_general_tree(node_to_remove); + + if (node_to_remove == seba_insertion_point) { + seba_insertion_point = younger_sister; + } + } + + mapping_from_id_to_node.erase(i); + return 0; + } + +} + + +int get_children_of_binary( + int index_of_the_star, + int * child1_index, int * child2_index) +{ + + *child1_index = -1; + *child2_index = -1; + std::map::iterator i = mapping_from_id_to_node.find(index_of_the_star); + if(i == mapping_from_id_to_node.end()) { + return -1; + } else { + node * binary = i->second; + + node * child1 = binary->get_oldest_daughter(); + if(child1 != 0) { + node * child2 = child1->get_younger_sister(); + *child1_index = child1->get_index(); + *child2_index = child2->get_index(); + } + return 0; + } +} + +int get_eccentricity(int index_of_the_star, double * value){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *value= seba_node->get_starbase()->get_eccentricity() ; + return error_code; +} + +int get_semi_major_axis(int index_of_the_star, double * value){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *value= seba_node->get_starbase()->get_semi() ; + return error_code; +} + +int set_eccentricity(int index_of_the_star, double value){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + seba_node->get_starbase()->set_eccentricity(value); + return error_code; +} + + +int set_semi_major_axis(int index_of_the_star, double value){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + seba_node->get_starbase()->set_semi(value); + return error_code; +} + + +int set_rotation_period(int index_of_the_star, double value){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + seba_node->get_starbase()->set_rotation_period(value); + return error_code; +} + +int get_binary_type(int index_of_the_star, double * value){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *value= seba_node->get_starbase()->get_bin_type(); + return error_code; +} + +int get_mass_transfer_type(int index_of_the_star, double * value){ + int error_code = 0; + node * seba_node = get_seba_node_from_index(index_of_the_star, &error_code); + if(error_code < 0) {return error_code;} + *value= seba_node->get_starbase()->get_current_mass_transfer_type(); + return error_code; +} + diff --git a/src/amuse_seba/interface.py b/src/amuse_seba/interface.py new file mode 100644 index 0000000000..c04d05f6f6 --- /dev/null +++ b/src/amuse_seba/interface.py @@ -0,0 +1,1252 @@ +from amuse.community import * +from amuse.datamodel import Particles +from amuse.datamodel import ParticlesSubset +from amuse.community.interface import se +from amuse.support import code + +class SeBaInterface(CodeInterface, se.StellarEvolutionInterface, LiteratureReferencesMixIn, StoppingConditionInterface): + + """ + Stellar evolution is performed by the rapid single-star evolution + and binary evolution using SeBa.This is a package of + semi-analytical formulae which covers all phases of evolution from + the zero-age main-sequence up to and including remnant phases. It + is valid for masses in the range 0.01-1000 Msun with variable + metallicity. SeBa includes prescriptions for mass loss by stellar + winds, supernova and supports binary evolution. + + .. [#] ADS:1996A&A...309..179P (Portegies Zwart S.F. & Verbunt F., 1996, A&A, 309, 179: + .. [#] ... "Population synthesis of high-mass binaries") + .. [#] ADS:2012A&A...546A..70T (Toonen, S., Nelemans, G., Portegies Zwart S.F., 2012, A&A, 546A, 70T + .. [#] ... "Supernova Type Ia progenitors from merging double white dwarfs. Using a new population synthesis model") + """ + + include_headers = ['seba_worker.h', 'stopcond.h'] + + def __init__(self, **options): + CodeInterface.__init__(self, name_of_the_worker="seba_worker", **options) + LiteratureReferencesMixIn.__init__(self) + + + @legacy_function + def evolve_star(): + function = LegacyFunctionSpecification() + function.addParameter('mass', dtype='float64', direction=function.IN) + function.addParameter('endtime', dtype='float64', direction=function.IN) + function.addParameter('metal', dtype='float64', direction=function.IN) + function.addParameter('resulttime', dtype='float64', direction=function.OUT) + function.addParameter('end_mass', dtype='float64', direction=function.OUT) + function.addParameter('end_radius', dtype='float64', direction=function.OUT) + function.addParameter('end_luminosity', dtype='float64', direction=function.OUT) + function.addParameter('end_temperature', dtype='float64', direction=function.OUT) + function.addParameter('time_step', dtype='float64', direction=function.OUT) + function.addParameter('stellar_type', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def new_advanced_particle(): + """ + Define a new star in the code. The star will start with the given mass. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_star', dtype='int32', direction=function.OUT, + description=( + "The new index for the star. This index can be used to refer " + "to this star in other functions" + ) + ) + function.addParameter( + 'mass', dtype='float64', direction=function.IN, + description="The initial mass of the star") + function.addParameter( + 'relative_mass', dtype='float64', direction=function.IN, default=0, + description="The initial relative mass of the star") + function.addParameter( + 'stellar_type', dtype='int32', direction=function.IN, default=0, + description="The initial stellar type of the star") + function.addParameter( + 'relative_age', dtype='float64', direction=function.IN, default=0, + description="The relative initial age of the star") + function.addParameter( + 'core_mass', dtype='float64', direction=function.IN, default=0, + description="The initial core mass of the star") + function.addParameter( + 'COcore_mass', dtype='float64', direction=function.IN, default=0, + description="The initial CO core mass of the star") + function.addParameter( + 'radius', dtype='float64', direction=function.IN, default=0, + description="The initial radius of the star") + # function.addParameter( + # 'age_tag', dtype='float64', direction=function.IN, + # description="Starting age of the star *to be specified exactly*") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + New star was loaded and the index_of_the_star parameter set. + -1 - ERROR + New star could not be created. + """ + return function + + + @legacy_function + def new_binary(): + """ + Define a new star in the code. The star will start with the given mass. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.OUT + , description="The new index for the star. This index can be used to refer to this star in other functions") + function.addParameter('semi_major_axis', dtype='float64', direction=function.IN + , description="The eccentricity of the orbit") + function.addParameter('eccentricity', dtype='float64', direction=function.IN + , description="The eccentricity of the orbit") + function.addParameter('child1', dtype='int32', direction=function.IN + , description="The index of the first child, as returned by new_particle") + function.addParameter('child2', dtype='int32', direction=function.IN + , description="The index of the second child, as returned by new_particle") + + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + New star was loaded and the index_of_the_star parameter set. + -1 - ERROR + New star could not be created. + """ + return function + + @legacy_function + def delete_binary(): + """ + Remove the definition of binary from the code. After calling this function the particle is + no longer part of the model evolution. It's children are still a part of particles model. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the binary to be removed. This index must have been returned by an earlier call to :meth:`new_binary`") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + binary was removed from the model + -1 - ERROR + binary could not be found + -2 - ERROR + not yet implemented + """ + return function + + @legacy_function + def evolve_system(): + """ + Evolve the model until the given time, or until a stopping condition is set. + Need to call this evolve_system as evolve_model is overriden in se.StellarEvolution + """ + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='float64', direction=function.IN, + description = "Model time to evolve the code to. The model will be " + "evolved until this time is reached exactly or just after.") + function.result_type = 'int32' + return function + + @legacy_function + def get_eccentricity(): + """ + Retrieve the current eccentricity of the binary star. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('value', dtype='float64', direction=function.OUT + , description="The current eccentricity.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + A binary with the given index was not found. + """ + return function + + @legacy_function + def get_semi_major_axis(): + """ + Retrieve the current semi major axis of the elliptical orbit of the parts in the binary star. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('value', dtype='float64', direction=function.OUT + , description="The current semi major axis.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + A binary with the given index was not found. + """ + return function + + @legacy_function + def get_binary_type(): + """ + Retrieve the current binary type of the binary star. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('value', dtype='float64', direction=function.OUT + , description="The current binary type.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + A binary with the given index was not found. + """ + return function + + @legacy_function + def get_mass_transfer_type(): + """ + Retrieve the current mass transfer type of the binary star. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('value', dtype='float64', direction=function.OUT + , description="The current mass transfer type.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + A binary with the given index was not found. + """ + return function + + + @legacy_function + def get_core_mass(): + """ + Retrieve the current core mass of a star + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('value', dtype='float64', direction=function.OUT + , description="The current core_mass.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + A binary with the given index was not found. + """ + return function + + @legacy_function + def get_COcore_mass(): + """ + Retrieve the current CO core mass of a star + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('value', dtype='float64', direction=function.OUT + , description="The current core_mass.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + A binary with the given index was not found. + """ + return function + + @legacy_function + def change_mass(): + """ + Set the add_mass increase (positive) or decrease (negative) of a star + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to set the value of") + function.addParameter('value', dtype='float64', direction=function.IN + , description="The current change_mass.") + function.addParameter('dt', dtype='float64', direction=function.IN + , description="The time in which the mass was changed.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + A binary with the given index was not found. + """ + return function + + + @legacy_function + def merge_the_binary(): + """ + Merges the stars in the binary, creates a 'merged' binary. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_binary', dtype='int32', direction=function.IN + , description="The index of the binary to set the value of") + function.addParameter('child1', dtype='int32', direction=function.IN + , description="The index of the consumer") + function.addParameter('child2', dtype='int32', direction=function.IN + , description="The index of the dinner") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + A binary with the given index was not found. + """ + return function + + @legacy_function + def merge_with_other_star(): + """ + Merges the star with another star, companion star remains unaltered + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('child1', dtype='int32', direction=function.IN + , description="The index of the consumer") + function.addParameter('child2', dtype='int32', direction=function.IN + , description="The index of the dinner") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + A binary with the given index was not found. + """ + return function + + @legacy_function + def refresh_memory(): + """ + Refresh the memory of SeBa. Update previous parameters in SeBa to current values. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to set the value of") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + A binary with the given index was not found. + """ + return function + + + @legacy_function + def recall_memory_one_step(): + """ + Recall the memory of SeBa one time_step ago. Update current parameters in SeBa to previous values. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to set the value of") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + A binary with the given index was not found. + """ + return function + + + + @legacy_function + def get_envelope_mass(): + """ + Retrieve the current envelope mass of a star + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('value', dtype='float64', direction=function.OUT + , description="The current envelope_mass.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + A binary with the given index was not found. + """ + return function + + @legacy_function + def get_core_radius(): + """ + Retrieve the current radius of the core + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('value', dtype='float64', direction=function.OUT + , description="The current core_radius.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + A binary with the given index was not found. + """ + return function + + + @legacy_function + def set_semi_major_axis(): + """ + Update the current semi major axis of the elliptical orbit of the parts in the binary star. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('value', dtype='float64', direction=function.IN + , description="The new semi major axis.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + A binary with the given index was not found. + """ + return function + + @legacy_function + def set_eccentricity(): + """ + Update the current eccentricity of the elliptical orbit of the parts in the binary star. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('value', dtype='float64', direction=function.IN + , description="The new eccentricity.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + A binary with the given index was not found. + """ + return function + + + + @legacy_function + def get_children_of_binary(): + """ + Return the indices of both children + """ + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_star', dtype='int32', + direction=function.IN, + description = 'index of the parent particle', + unit = INDEX) + function.addParameter('child1', dtype='int32', direction=function.OUT, + description = 'index of the first child particle, -1 if none', + unit = LINK('particles') ) + function.addParameter('child2', dtype='int32', direction=function.OUT, + unit = LINK('particles')) + function.can_handle_array = True + function.result_type = 'int32' + return function + + + @legacy_function + def get_is_logging_of_evolve_enabled(): + """ + If True log the star state before and after evolve + in starev.data + """ + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was retrieved + -1 - ERROR + could not retrieve parameter + """ + return function + + @legacy_function + def set_is_logging_of_evolve_enabled(): + """ + If True log the star state before and after evolve + in starev.data + """ + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + the parameter was set + -1 - ERROR + could not set parameter + """ + return function + + @legacy_function + def get_supernova_kick_velocity(): + """ + Retrieve the current value of the supernova kick velocity (in kms). + """ + function = LegacyFunctionSpecification() + function.addParameter('v_disp', dtype='float64', direction=function.OUT, + description = "The current value of the kick velocity dispersion") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value of the supernova kick velocity was retrieved + -1 - ERROR + The code does not have support for retrieving the supernova kick velocity + """ + return function + + @legacy_function + def set_supernova_kick_velocity(): + """ + Update the value of the kick velocity dispersion. + """ + function = LegacyFunctionSpecification() + function.addParameter('v_disp', dtype='float64', direction=function.IN, + description = "The new value of the supernova kick velocity dispersion.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value of the supernova kick velocity was set + -1 - ERROR + The code does not have support for updating the supernova kick velocity + """ + return function + + + @legacy_function + def get_gyration_radius(): + """ + Retrieve the current value of the gyration radius (no units). + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to set the value of") + function.addParameter('gyration_radius', dtype='float64', direction=function.OUT, + description = "The current value of the gyration radius") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value of the gyration radius was retrieved + -1 - ERROR + The code does not have support for retrieving the gyration radius + """ + return function + + @legacy_function + def get_apsidal_motion_constant(): + """ + Retrieve the current value of the apsidal motion constant (no units). + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to set the value of") + function.addParameter('apsidal_motion_constant', dtype='float64', direction=function.OUT, + description = "The current value of the apsidal motion constant") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value of the apsidal motion constant was retrieved + -1 - ERROR + The code does not have support for retrieving the apsidal motion constant + """ + return function + + + + @legacy_function + def get_zeta_thermal(): + """ + Retrieve the current value of the zeta thermal (no units). + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to set the value of") + function.addParameter('zeta_thermal', dtype='float64', direction=function.OUT, + description = "The current value of the zeta thermal") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value of the zeta thermal constant was retrieved + -1 - ERROR + The code does not have support for retrieving the zeta thermal constant + """ + return function + + + @legacy_function + def get_zeta_adiabatic(): + """ + Retrieve the current value of the zeta adiabatic (no units). + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to set the value of") + function.addParameter('zeta_adiabatic', dtype='float64', direction=function.OUT, + description = "The current value of the zeta adiabatic") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value of the zeta adiabatic constant was retrieved + -1 - ERROR + The code does not have support for retrieving the zeta adiabatic constant + """ + return function + + + @legacy_function + def get_rotation_period(): + """ + Retrieve the current value of the rotation period (sec). + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to set the value of") + function.addParameter('rotation_period', dtype='float64', direction=function.OUT, + description = "The current value of the rotation period") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value of the rotation period was retrieved + -1 - ERROR + The code does not have support for retrieving the rotation period + """ + return function + + @legacy_function + def set_rotation_period(): + """ + Update the current rotation period of a star. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to get the value of") + function.addParameter('value', dtype='float64', direction=function.IN + , description="The new rotation period.") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + The value has been set. + -1 - ERROR + A binary with the given index was not found. + """ + return function + + @legacy_function + def get_fallback(): + """ + Retrieve the value of fallback fraction during the SN. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to set the value of") + function.addParameter('rotation_period', dtype='float64', direction=function.OUT, + description = "The current value of the rotation period") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Value of the fallback fraction was retrieved + -1 - ERROR + The code does not have support for retrieving the fallback fraction + """ + return function + + + + @legacy_function + def get_relative_age(): + """ + Retrieve the current value of the square of the relative age (Myr). + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to set the value of") + function.addParameter('relative_age', dtype='float64', direction=function.OUT, + description = "The current value of the square of the relative age") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value of the square of the relative age was retrieved + -1 - ERROR + The code does not have support for retrieving the square of the relative age + """ + return function + + @legacy_function + def get_natal_kick_velocity(): + """ + Retrieve the current value of the square of the natal kick velocity (Myr). + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to set the value of") + function.addParameter('natal_kick_velocity_x', dtype='float64', direction=function.OUT) + function.addParameter('natal_kick_velocity_y', dtype='float64', direction=function.OUT) + function.addParameter('natal_kick_velocity_z', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value of the natal_kick_velocity was retrieved + -1 - ERROR + The code does not have support for retrieving the square of the natal_kick_velocity + """ + return function + + @legacy_function + def get_relative_mass(): + """ + Retrieve the current value of the square of the relative mass (MSun). + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to set the value of") + function.addParameter('relative_mass', dtype='float64', direction=function.OUT, + description = "The current value of the square of the relative mass") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value of the square of the relative mass was retrieved + -1 - ERROR + The code does not have support for retrieving the square of the relative mass + """ + return function + + @legacy_function + def get_effective_radius(): + """ + Retrieve the current value of the effective radius (Rsun). + This can be different from the (equilibrium) radius due to accretion or mass loss. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to set the value of") + function.addParameter('effective_radius', dtype='float64', direction=function.OUT, + description = "The current value of the effective radius") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value of the effective_radius was retrieved + -1 - ERROR + The code does not have support for retrieving the effective_radius + """ + return function + + + @legacy_function + def get_convective_envelope_mass(): + """ + Retrieve the current value of the mass of the part of the envelope that is convective (MSun). + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to set the value of") + function.addParameter('convective_envelope_mass', dtype='float64', direction=function.OUT, + description = "The current value of the mass of the part of the envelope that is convective") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value of the convective envelope mass was retrieved + -1 - ERROR + The code does not have support for retrieving the square of the relative mass + """ + return function + + + + + @legacy_function + def get_convective_envelope_radius(): + """ + Retrieve the current value of the radius of the part of the envelope that is convective (RSun). + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to set the value of") + function.addParameter('convective_envelope_radius', dtype='float64', direction=function.OUT, + description = "The current value of the radius of the part of the envelope that is convective") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value of the convective envelope radius was retrieved + -1 - ERROR + The code does not have support for retrieving the square of the relative mass + """ + return function + + + + + @legacy_function + def get_time(): + """ + Retrieve the model time. This time should be close to the end time specified + in the evolve code. Or, when a collision was detected, it will be the + model time of the collision. + """ + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='float64', direction=function.OUT, + description = "The current model time") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value of the time was retrieved + -1 - ERROR + The code does not have support for querying the time + """ + return function + + @legacy_function + def get_wind_mass_loss_rate(): + """ + Retrieve the current value of the wind_mass_loss_rate (Msun/yr). + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_star', dtype='int32', direction=function.IN + , description="The index of the star to set the value of") + function.addParameter('wind_mass_loss_rate', dtype='float64', direction=function.OUT, + description = "The current value of the wind_mass_loss_rate") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value of the wind_mass_loss_rate was retrieved + -1 - ERROR + The code does not have support for retrieving the wind_mass_loss_rate + """ + return function + + + # SPZ&SLWMcM + # No stopping conditions in this version for now. + def evolve_model(self, end_time=None, keep_synchronous=True): + if not keep_synchronous: + raise Exception("non_synchronous evolution not implemented") + if end_time is None: + end_time = self.model_time + min(self.particles.time_step) + return self.evolve_system(end_time) + +class SeBa(se.StellarEvolution): + + __interface__ = SeBaInterface + + def __init__(self, **options): + self.stopping_conditions = StoppingConditions(self) + self.stopping_conditions.supernova_detection = code.StoppingCondition('supernova_detection') + + se.StellarEvolution.__init__(self, SeBaInterface(**options), **options) + + def evolve_model(self, end_time=None, keep_synchronous=True): + self.stopping_conditions.supernova_detection.unset() + if not keep_synchronous: + raise Exception("non_synchronous evolution not implemented") + evolve_a_success = 0 + if end_time is None: + end_time = self.model_time + min(self.particles.time_step) +# print "t=", self.model_time, end_time + if not self.stopping_conditions.supernova_detection.is_enabled(): + evolve_a_success = self.evolve_system(end_time) + else: + new_end_time = min(end_time, self.model_time + min(self.particles.time_step)) + while self.model_time= 13|units.stellar_type, self.particles.stellar_type <= 15|units.stellar_type)] + psn -= self.particles[numpy.logical_and(old_particles.stellar_type >= 13|units.stellar_type, old_particles.stellar_type <= 15|units.stellar_type)] + + if len(psn)>0: +# print "Supernova at time:", psn + self.stopping_conditions.supernova_detection.set(psn) + break + new_end_time = min(end_time, self.model_time + min(self.particles.time_step)) + + """ + to be used if stopping condition is implemented in c + old_particles = self.particles.copy() + evolve_a_success = self.evolve_system(end_time) + if self.stopping_conditions.supernova_detection.is_set(): + print "XXStellar supernova stopping condition is set" + print self.particles + print "age=", self.particles.age, self.particles.relative_age + + self.reset_all_stars(old_particles) + evolve_a_success = self.evolve_system(new_end_time) + """ + + return evolve_a_success + + def reset_all_stars(self, old_particles): + psn = self.particles[self.particles.stellar_type==14|units.stellar_type] + psn -= self.particles[old_particles.stellar_type==14|units.stellar_type] + + # print "t=", psn.relative_age[0] + tsn = self.model_time - psn.get_relative_age()[0] +# channel_from_old_to_new_star = old_particles.new_channel_to(self.particles) +# channel_from_old_to_new_star.copy_attributes(["relative_age", "relative_mass"]) +# self.evolve_model(tsn) + + self.particles.remove_particles(self.particles) + self.particles.add_particles(old_particles) + self.model_time = tsn + self.evolve_model(tsn) + + def define_properties(self, handler): + se.StellarEvolution.define_properties(self, handler) + handler.add_property('get_time', public_name = "model_time") + + + def define_methods(self, handler): + se.StellarEvolution.define_methods(self, handler) + + handler.add_method( + "evolve_for", + (handler.INDEX, units.Myr), + (handler.ERROR_CODE,) + ) + handler.add_method( + "evolve_star", + (units.MSun, units.Myr, units.none), + (units.Myr, units.MSun, units.RSun, units.LSun, units.K, units.Myr,units.stellar_type, handler.ERROR_CODE) + ) + handler.add_method( + "evolve_system", + (units.Myr,), + (handler.ERROR_CODE,) + ) + handler.add_method( + "new_advanced_particle", + (units.MSun, units.MSun, units.stellar_type, units.Myr, units.MSun, units.MSun, units.RSun), + (handler.INDEX, handler.ERROR_CODE) + ) + handler.add_method( + "new_binary", + (units.RSun, handler.NO_UNIT, handler.LINK('particles'), handler.LINK('particles')), + (handler.INDEX, handler.ERROR_CODE,) + ) + handler.add_method( + "delete_binary", + (handler.INDEX,), + (handler.ERROR_CODE,) + ) + handler.add_method( + "get_eccentricity", + (handler.INDEX,), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + handler.add_method( + "get_semi_major_axis", + (handler.INDEX,), + (units.RSun, handler.ERROR_CODE,) + ) + handler.add_method( + "get_binary_type", + (handler.INDEX,), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + handler.add_method( + "get_mass_transfer_type", + (handler.INDEX,), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + handler.add_method( + "get_core_mass", + (handler.INDEX,), + (units.MSun, handler.ERROR_CODE,) + ) + handler.add_method( + "get_COcore_mass", + (handler.INDEX,), + (units.MSun, handler.ERROR_CODE,) + ) + handler.add_method( + "change_mass", + (handler.INDEX,units.MSun,units.Myr), + (handler.ERROR_CODE,) + ) + handler.add_method( + "merge_the_binary", + (handler.INDEX,handler.LINK('particles'),handler.LINK('particles')), + (handler.ERROR_CODE,) + ) + handler.add_method( + "merge_with_other_star", + (handler.INDEX,handler.LINK('particles')), + (handler.ERROR_CODE,) + ) + handler.add_method( + "refresh_memory", + (handler.INDEX), + (handler.ERROR_CODE,) + ) + handler.add_method( + "recall_memory_one_step", + (handler.INDEX), + (handler.ERROR_CODE,) + ) + handler.add_method( + "get_envelope_mass", + (handler.INDEX,), + (units.MSun, handler.ERROR_CODE,) + ) + handler.add_method( + "get_core_radius", + (handler.INDEX,), + (units.RSun, handler.ERROR_CODE,) + ) + handler.add_method( + "set_semi_major_axis", + (handler.INDEX, units.RSun,), + (handler.ERROR_CODE,) + ) + handler.add_method( + "get_age", + (handler.INDEX,), + (units.Myr, handler.ERROR_CODE,) + ) + handler.add_method( + "get_time_step", + (handler.INDEX,), + (units.Myr, handler.ERROR_CODE,) + ) + handler.add_method( + "get_supernova_kick_velocity", + (), + (units.kms, handler.ERROR_CODE,) + ) + handler.add_method( + "set_supernova_kick_velocity", + (units.kms,), + (handler.ERROR_CODE,) + ) + handler.add_method( + "get_gyration_radius", + (handler.INDEX,), + (units.none, handler.ERROR_CODE,) + ) + handler.add_method( + "get_apsidal_motion_constant", + (handler.INDEX,), + (units.none, handler.ERROR_CODE,) + ) + handler.add_method( + "get_zeta_thermal", + (handler.INDEX,), + (units.none, handler.ERROR_CODE,) + ) + handler.add_method( + "get_zeta_adiabatic", + (handler.INDEX,), + (units.none, handler.ERROR_CODE,) + ) + handler.add_method( + "get_rotation_period", + (handler.INDEX,), + (units.s, handler.ERROR_CODE,) + ) + handler.add_method( + "set_rotation_period", + (handler.INDEX, units.s,), + (handler.ERROR_CODE,) + ) + handler.add_method( + "get_fallback", + (handler.INDEX,), + (units.none, handler.ERROR_CODE,) + ) + handler.add_method( + "get_relative_age", + (handler.INDEX,), + (units.Myr, handler.ERROR_CODE,) + ) + handler.add_method( + "get_natal_kick_velocity", + (handler.INDEX,), + (units.kms, units.kms, units.kms, handler.ERROR_CODE,) + ) + handler.add_method( + "get_relative_mass", + (handler.INDEX,), + (units.MSun, handler.ERROR_CODE,) + ) + handler.add_method( + "get_effective_radius", + (handler.INDEX,), + (units.RSun, handler.ERROR_CODE,) + ) + handler.add_method( + "get_convective_envelope_mass", + (handler.INDEX,), + (units.MSun, handler.ERROR_CODE,) + ) + handler.add_method( + "get_convective_envelope_radius", + (handler.INDEX,), + (units.RSun, handler.ERROR_CODE,) + ) + handler.add_method( + "get_time", + (), + (units.Myr,handler.ERROR_CODE,) + ) + handler.add_method( + "get_wind_mass_loss_rate", + (handler.INDEX,), + (units.MSun/units.yr, handler.ERROR_CODE,) + ) + self.stopping_conditions.define_methods(handler) + + def update_time_steps(self): + pass + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_metallicity", + "set_metallicity", + "metallicity", + "Metallicity of all stats", + default_value = 0.02 + ) + handler.add_method_parameter( + "get_supernova_kick_velocity", + "set_supernova_kick_velocity", + "supernova_kick_velocity", + "Kick velocity to compact handler formed in supernova", + default_value = 600 | units.kms + ) + + handler.add_method_parameter( + "get_is_logging_of_evolve_enabled", + "set_is_logging_of_evolve_enabled", + "is_logging_of_evolve_enabled", + "if True will log star state before and after evolve in starev.data", + default_value = False + ) + + self.stopping_conditions.define_parameters(handler) + + + def define_particle_sets(self, handler): + + handler.define_set('particles', 'index_of_the_star') +# handler.set_new('particles', 'new_particle') + handler.set_new('particles', 'new_advanced_particle') + handler.set_delete('particles', 'delete_star') + + + handler.add_getter('particles', 'get_radius', names = ('radius',)) + handler.add_getter('particles', 'get_stellar_type', names = ('stellar_type',)) + handler.add_getter('particles', 'get_mass', names = ('mass',)) + handler.add_getter('particles', 'get_core_mass', names = ('core_mass',)) + handler.add_getter('particles', 'get_COcore_mass', names = ('COcore_mass',)) + handler.add_getter('particles', 'get_envelope_mass', names = ('envelope_mass',)) + handler.add_getter('particles', 'get_core_radius', names = ('core_radius',)) + handler.add_getter('particles', 'get_age', names = ('age',)) + handler.add_getter('particles', 'get_time_step', names = ('time_step',)) + #handler.add_getter('particles', 'get_spin', names = ('spin',)) + handler.add_getter('particles', 'get_luminosity', names = ('luminosity',)) + handler.add_getter('particles', 'get_temperature', names = ('temperature',)) + handler.add_getter('particles', 'get_natal_kick_velocity', names = ('natal_kick_x','natal_kick_y','natal_kick_z')) + + handler.add_getter('particles', 'get_convective_envelope_mass', names = ('convective_envelope_mass',)) + handler.add_getter('particles', 'get_convective_envelope_radius', names = ('convective_envelope_radius',)) + handler.add_getter('particles', 'get_gyration_radius', names = ('gyration_radius',)) + handler.add_getter('particles', 'get_apsidal_motion_constant', names = ('apsidal_motion_constant',)) + handler.add_getter('particles', 'get_zeta_thermal', names = ('zeta_thermal',)) + handler.add_getter('particles', 'get_zeta_adiabatic', names = ('zeta_adiabatic',)) + handler.add_getter('particles', 'get_rotation_period', names = ('rotation_period',)) + handler.add_setter('particles', 'set_rotation_period', names = ('rotation_period',)) + + handler.add_getter('particles', 'get_relative_age', names = ('relative_age',)) + handler.add_getter('particles', 'get_relative_mass', names = ('relative_mass',)) + handler.add_getter('particles', 'get_wind_mass_loss_rate', names = ('wind_mass_loss_rate',)) + handler.add_getter('particles', 'get_effective_radius', names = ('effective_radius',)) + + handler.add_method('particles', 'evolve_one_step') + handler.add_method('particles', 'evolve_for') + handler.add_method('particles', 'change_mass') + handler.add_method('particles', 'refresh_memory') + handler.add_method('particles', 'recall_memory_one_step') + handler.add_method('particles', 'merge_with_other_star') + handler.add_method('particles', 'get_fallback') + handler.add_method('particles', 'get_time_step') + + + handler.define_set('binaries', 'index_of_the_star') + handler.set_new('binaries', 'new_binary') + handler.set_delete('binaries', 'delete_binary') + + handler.add_getter('binaries', 'get_semi_major_axis', names = ('semi_major_axis',)) + handler.add_setter('binaries', 'set_semi_major_axis', names = ('semi_major_axis',)) + handler.add_getter('binaries', 'get_eccentricity', names = ('eccentricity',)) + handler.add_setter('binaries', 'set_eccentricity', names = ('eccentricity',)) + + handler.add_getter('binaries', 'get_mass', names = ('mass',)) + handler.add_getter('binaries', 'get_time_step', names = ('time_step',)) + handler.add_getter('binaries', 'get_age', names = ('age',)) + handler.add_getter("binaries", 'get_children_of_binary') + handler.add_getter('binaries', 'get_binary_type', names = ('binary_type',)) + handler.add_getter('binaries', 'get_mass_transfer_type', names = ('mass_transfer_type',)) + + handler.add_method('binaries', 'merge_the_binary') + + + def define_state(self, handler): + se.StellarEvolution.define_state(self, handler) + + self.stopping_conditions.define_state(handler) + + handler.add_method('EDIT', 'new_advanced_particle') + handler.add_method('UPDATE', 'new_advanced_particle') + handler.add_transition('RUN', 'UPDATE', 'new_advanced_particle', False) + + +Seba = SeBa diff --git a/src/amuse_seba/packages/amuse-seba.amuse_deps b/src/amuse_seba/packages/amuse-seba.amuse_deps new file mode 100644 index 0000000000..894612de3e --- /dev/null +++ b/src/amuse_seba/packages/amuse-seba.amuse_deps @@ -0,0 +1 @@ +c++ download patch diff --git a/src/amuse_seba/packages/amuse-seba/amuse_seba b/src/amuse_seba/packages/amuse-seba/amuse_seba new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_seba/packages/amuse-seba/amuse_seba @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_seba/packages/amuse-seba/pyproject.toml b/src/amuse_seba/packages/amuse-seba/pyproject.toml new file mode 100644 index 0000000000..c1bfa17eae --- /dev/null +++ b/src/amuse_seba/packages/amuse-seba/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-seba" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_seba/**/*.py"] +exclude = [ + "amuse_seba/packages", + "amuse_seba/support", + "amuse_seba/src", + "amuse_seba/tests" + ] +artifacts = ["amuse_seba/seba_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_seba/tests/"] + +testpaths = ["amuse_seba/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse_seba/support/aclocal.m4 b/src/amuse_seba/support/aclocal.m4 new file mode 100644 index 0000000000..db9a4969a6 --- /dev/null +++ b/src/amuse_seba/support/aclocal.m4 @@ -0,0 +1,20 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_download.m4]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_seba/support/config.mk.in b/src/amuse_seba/support/config.mk.in new file mode 100644 index 0000000000..c3b18956b7 --- /dev/null +++ b/src/amuse_seba/support/config.mk.in @@ -0,0 +1,27 @@ +# Compilers +CXX = @CXX@ + +MPICXX = @MPICXX@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ +DOWNLOAD = @DOWNLOAD@ + + +# General flags and libraries +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +STOPCOND_CFLAGS = @STOPCOND_CFLAGS@ +STOPCOND_LIBS = @STOPCOND_LIBS@ + +AMUSE_MPI_CFLAGS = @AMUSE_MPI_CFLAGS@ +AMUSE_MPI_LIBS = @AMUSE_MPI_LIBS@ + diff --git a/src/amuse_seba/support/configure b/src/amuse_seba/support/configure new file mode 100755 index 0000000000..7beaa29edf --- /dev/null +++ b/src/amuse_seba/support/configure @@ -0,0 +1,6805 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-seba 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-seba' +PACKAGE_TARNAME='amuse-seba' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-seba 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPILIBS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +FOUND_AMUSE_MPI +AMUSE_MPI_LIBS +AMUSE_MPI_CFLAGS +FOUND_STOPCOND +STOPCOND_LIBS +STOPCOND_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CFLAGS +CC +DOWNLOAD +CURL +WGET +RANLIB +AR +target_os +target_vendor +target_cpu +target +OBJEXT +EXEEXT +ac_ct_CXX +CPPFLAGS +LDFLAGS +CXXFLAGS +CXX +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CC +CFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCOND_CFLAGS +STOPCOND_LIBS +AMUSE_MPI_CFLAGS +AMUSE_MPI_LIBS +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-seba 1.0 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/amuse-seba] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-seba 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS 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 + CC C compiler command + CFLAGS C compiler flags + 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 + STOPCOND_CFLAGS + C compiler flags for STOPCOND, overriding pkg-config + STOPCOND_LIBS + linker flags for STOPCOND, overriding pkg-config + AMUSE_MPI_CFLAGS + C compiler flags for AMUSE_MPI, overriding pkg-config + AMUSE_MPI_LIBS + linker flags for AMUSE_MPI, overriding pkg-config + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-seba configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-seba $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 +printf %s "checking whether the C++ compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 +printf %s "checking for C++ compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + +# Find something to download things with + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}wget", so it can be a program name with args. +set dummy ${ac_tool_prefix}wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$WGET"; then + ac_cv_prog_WGET="$WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="${ac_tool_prefix}wget" + printf "%s\n" "$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 +WGET=$ac_cv_prog_WGET +if test -n "$WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $WGET" >&5 +printf "%s\n" "$WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_WGET"; then + ac_ct_WGET=$WGET + # Extract the first word of "wget", so it can be a program name with args. +set dummy wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_WGET"; then + ac_cv_prog_ac_ct_WGET="$ac_ct_WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="wget" + printf "%s\n" "$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_WGET=$ac_cv_prog_ac_ct_WGET +if test -n "$ac_ct_WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WGET" >&5 +printf "%s\n" "$ac_ct_WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_WGET" = x; then + WGET="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + WGET=$ac_ct_WGET + fi +else + WGET="$ac_cv_prog_WGET" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}curl", so it can be a program name with args. +set dummy ${ac_tool_prefix}curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CURL"; then + ac_cv_prog_CURL="$CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="${ac_tool_prefix}curl" + printf "%s\n" "$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 +CURL=$ac_cv_prog_CURL +if test -n "$CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CURL" >&5 +printf "%s\n" "$CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CURL"; then + ac_ct_CURL=$CURL + # Extract the first word of "curl", so it can be a program name with args. +set dummy curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CURL"; then + ac_cv_prog_ac_ct_CURL="$ac_ct_CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="curl" + printf "%s\n" "$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_CURL=$ac_cv_prog_ac_ct_CURL +if test -n "$ac_ct_CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CURL" >&5 +printf "%s\n" "$ac_ct_CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CURL" = x; then + CURL="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CURL=$ac_ct_CURL + fi +else + CURL="$ac_cv_prog_CURL" +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a wget or curl to download files with" >&5 +printf %s "checking for a wget or curl to download files with... " >&6; } + if test "x$WGET" != "x" + then + # The MESA SDK server rejects wget, this is the official work-around + DOWNLOAD="$WGET --progress=bar:force:noscroll --user-agent='' -O -" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + if test "x$CURL" != "x" + then + DOWNLOAD="$CURL -L" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + fi + + + + + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCOND_CFLAGS" + amuse_save_LIB_LIBS="$STOPCOND_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing is_condition_enabled" >&5 +printf %s "checking for library containing is_condition_enabled... " >&6; } +if test ${ac_cv_search_is_condition_enabled+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char is_condition_enabled (); +int +main (void) +{ +return is_condition_enabled (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcond +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_is_condition_enabled=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_is_condition_enabled+y} +then : + break +fi +done +if test ${ac_cv_search_is_condition_enabled+y} +then : + +else $as_nop + ac_cv_search_is_condition_enabled=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_is_condition_enabled" >&5 +printf "%s\n" "$ac_cv_search_is_condition_enabled" >&6; } +ac_res=$ac_cv_search_is_condition_enabled +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCOND="yes" + STOPCOND_LIBS="$LIBS" + STOPCOND_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCOND" >&5 +printf %s "checking for STOPCOND... " >&6; } + +if test -n "$STOPCOND_CFLAGS"; then + pkg_cv_STOPCOND_CFLAGS="$STOPCOND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_CFLAGS=`$PKG_CONFIG --cflags "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCOND_LIBS"; then + pkg_cv_STOPCOND_LIBS="$STOPCOND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_LIBS=`$PKG_CONFIG --libs "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcond" 2>&1` + else + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcond" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCOND_PKG_ERRORS" >&5 + + + FOUND_STOPCOND="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCOND="no" + +else + STOPCOND_CFLAGS=$pkg_cv_STOPCOND_CFLAGS + STOPCOND_LIBS=$pkg_cv_STOPCOND_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCOND="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCOND}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCOND_CFLAGS="${STOPCOND_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCOND_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCOND_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$AMUSE_MPI_CFLAGS" + amuse_save_LIB_LIBS="$AMUSE_MPI_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing get_comm_world" >&5 +printf %s "checking for library containing get_comm_world... " >&6; } +if test ${ac_cv_search_get_comm_world+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char get_comm_world (); +int +main (void) +{ +return get_comm_world (); + ; + return 0; +} +_ACEOF +for ac_lib in '' amuse_mpi +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_get_comm_world=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_get_comm_world+y} +then : + break +fi +done +if test ${ac_cv_search_get_comm_world+y} +then : + +else $as_nop + ac_cv_search_get_comm_world=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_get_comm_world" >&5 +printf "%s\n" "$ac_cv_search_get_comm_world" >&6; } +ac_res=$ac_cv_search_get_comm_world +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_AMUSE_MPI="yes" + AMUSE_MPI_LIBS="$LIBS" + AMUSE_MPI_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for AMUSE_MPI" >&5 +printf %s "checking for AMUSE_MPI... " >&6; } + +if test -n "$AMUSE_MPI_CFLAGS"; then + pkg_cv_AMUSE_MPI_CFLAGS="$AMUSE_MPI_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"amuse_mpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "amuse_mpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_AMUSE_MPI_CFLAGS=`$PKG_CONFIG --cflags "amuse_mpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$AMUSE_MPI_LIBS"; then + pkg_cv_AMUSE_MPI_LIBS="$AMUSE_MPI_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"amuse_mpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "amuse_mpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_AMUSE_MPI_LIBS=`$PKG_CONFIG --libs "amuse_mpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + AMUSE_MPI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "amuse_mpi" 2>&1` + else + AMUSE_MPI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "amuse_mpi" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$AMUSE_MPI_PKG_ERRORS" >&5 + + + FOUND_AMUSE_MPI="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_AMUSE_MPI="no" + +else + AMUSE_MPI_CFLAGS=$pkg_cv_AMUSE_MPI_CFLAGS + AMUSE_MPI_LIBS=$pkg_cv_AMUSE_MPI_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_AMUSE_MPI="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_AMUSE_MPI}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + AMUSE_MPI_CFLAGS="${AMUSE_MPI_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + AMUSE_MPI_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + AMUSE_MPI_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-seba $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-seba config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_seba/support/configure.ac b/src/amuse_seba/support/configure.ac new file mode 100644 index 0000000000..8e03e16f89 --- /dev/null +++ b/src/amuse_seba/support/configure.ac @@ -0,0 +1,42 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-seba], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_CXX() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + +# Find something to download things with +AMUSE_DOWNLOAD() + + +# Find AMUSE libraries +AMUSE_LIB_STOPCOND() +AMUSE_LIB_AMUSE_MPI() + + +# Find external dependencies +AC_LANG_PUSH([C++]) + +AX_MPI() + +AC_LANG_POP([C++]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_seba/support/shared b/src/amuse_seba/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_seba/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_seba.py b/src/amuse_seba/tests/test_seba.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_seba.py rename to src/amuse_seba/tests/test_seba.py index 46c354c1c7..fdbeea46fb 100644 --- a/src/amuse/test/suite/codes_tests/test_seba.py +++ b/src/amuse_seba/tests/test_seba.py @@ -1,8 +1,8 @@ import numpy -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI -from amuse.community.seba.interface import SeBaInterface, SeBa +from amuse_seba.interface import SeBaInterface, SeBa from amuse.units import units from amuse.units import constants diff --git a/src/amuse_seba/toolbox.patch b/src/amuse_seba/toolbox.patch new file mode 100644 index 0000000000..c53dc2f93f --- /dev/null +++ b/src/amuse_seba/toolbox.patch @@ -0,0 +1,34 @@ +diff --git a/Makefile b/Makefile +index 63009a5..f4f744f 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,4 +1,4 @@ +-CXXFLAGS += -I./include -I./include/star -DHAVE_CONFIG_H -DTOOLBOX ++CXXFLAGS += -I./include -I./include/star -DHAVE_CONFIG_H + LDLIBS += -Lsstar -lsstar -Lnode -lnode -Lstd -lstd -lm + CFLAGS += -O + CXXFLAGS += -O +diff --git a/dstar/Makefile b/dstar/Makefile +index 8db9c17..bb6df64 100755 +--- a/dstar/Makefile ++++ b/dstar/Makefile +@@ -1,6 +1,6 @@ + CXXFLAGS += -I../include -I../include/star \ + -D_SRC_='"no_source_available"' \ +- -DHAVE_CONFIG_H -DTOOLBOX ++ -DHAVE_CONFIG_H + LDLIBS += \ + -L. -ldstar \ + -L../sstar -lsstar \ +diff --git a/rdc/Makefile b/rdc/Makefile +index 3113d41..585c7b1 100755 +--- a/rdc/Makefile ++++ b/rdc/Makefile +@@ -1,6 +1,6 @@ + CXXFLAGS += -I../include -I../include/star \ + -D_SRC_='"no_source_available"' \ +- -DHAVE_CONFIG_H -DTOOLBOX ++ -DHAVE_CONFIG_H + LDLIBS += \ + -L. -lrdc \ + -L../dstar -ldstar \ diff --git a/src/amuse_secularmultiple/Makefile b/src/amuse_secularmultiple/Makefile new file mode 100644 index 0000000000..a3827157da --- /dev/null +++ b/src/amuse_secularmultiple/Makefile @@ -0,0 +1,65 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library +CFLAGS += -g -DTOOLBOX -O3 + +LDFLAGS += + +OBJS = src/types.o src/evolve.o src/structure.o src/ODE_system.o src/root_finding.o src/newtonian.o src/postnewtonian.o src/tides.o src/external.o src/cvode/cvode.o src/cvode/cvode_dense.o src/cvode/cvode_direct.o src/cvode/cvode_io.o src/cvode/nvector_serial.o src/cvode/sundials_dense.o src/cvode/sundials_direct.o src/cvode/sundials_math.o src/cvode/sundials_nvector.o + +# Building the workers +secularmultiple_worker.h: interface.py + amusifier --type=h interface.py SecularMultipleInterface -o $@ + +secularmultiple_worker.cc: interface.py + amusifier --type=c interface.py SecularMultipleInterface -o $@ + +interface.o: interface.cpp + $(MPICXX) -Isrc -c -o $@ $(CFLAGS) $< + +secularmultiple_worker.o: secularmultiple_worker.cc + $(MPICXX) -Isrc -c -o $@ $(CFLAGS) $< + +secularmultiple_worker: secularmultiple_worker.o interface.o $(OBJS) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + + +# Which packages contain which workers? +amuse-secularmultiple_contains: secularmultiple_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + rm -rf *.o *worker* + rm -rf src/*.o + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + diff --git a/src/amuse_secularmultiple/__init__.py b/src/amuse_secularmultiple/__init__.py new file mode 100644 index 0000000000..922e604d2d --- /dev/null +++ b/src/amuse_secularmultiple/__init__.py @@ -0,0 +1 @@ +from .interface import Secularmultiple diff --git a/src/amuse/community/secularmultiple/interface.cpp b/src/amuse_secularmultiple/interface.cpp similarity index 100% rename from src/amuse/community/secularmultiple/interface.cpp rename to src/amuse_secularmultiple/interface.cpp diff --git a/src/amuse/community/secularmultiple/interface.h b/src/amuse_secularmultiple/interface.h similarity index 100% rename from src/amuse/community/secularmultiple/interface.h rename to src/amuse_secularmultiple/interface.h diff --git a/src/amuse_secularmultiple/interface.py b/src/amuse_secularmultiple/interface.py new file mode 100644 index 0000000000..0e3feb8f33 --- /dev/null +++ b/src/amuse_secularmultiple/interface.py @@ -0,0 +1,1679 @@ +import numpy as np +from amuse.community import ( + InCodeComponentImplementation, CodeInterface, + legacy_function, LegacyFunctionSpecification, + INDEX, NO_UNIT, LINK, +) +from amuse.units import units, constants + +# units used in the legacy code +# numerical values are defined in src/types.h +UNIT_LENGTH = units.au +UNIT_MASS = units.MSun +UNIT_TIME = 1.0e6 * units.yr +UNIT_ANGULAR_MOMENTUM = UNIT_MASS * UNIT_LENGTH**2 / UNIT_TIME # specific angular momentum +UNIT_ENERGY = UNIT_MASS * UNIT_LENGTH**2 / (UNIT_TIME**2) # energy +UNIT_LUMINOSITY = UNIT_ENERGY / UNIT_TIME + +PRINT_NAME = 'SecularMultipleVar' + + +class SecularMultipleInterface(CodeInterface): + """ + SecularMultiple -- by Adrian Hamers, based on 2016MNRAS.459.2827H + + A code to compute the secular (orbit-averaged) gravitational dynamics of + hierarchical multiple systems composed of nested binary orbits + (simplex-type systems). with any configuration and any number of bodies. A + particle can repesent a binary (`is_binary = True') or a body (`is_binary = + False'). The structure of the system is determined by linking to other + particles with the attributes child1 and child2. Tidal interactions and + relativistic corrections are included in an ad hoc fashion (tides: treating + the companion as a single body, even if it is not; relativistic terms: only + including binary-binary interactions). + + November 2017: Updates for external perturbations (flybys & supernovae), + detailed in Hamers (2018, in prep) + + .. [#] ADS:2016MNRAS.459.2827H + .. [#] ADS:2018MNRAS.476.4139H + """ + include_headers = [ + 'interface.h', 'src/types.h', 'src/evolve.h', 'src/ODE_system.h' + ] + + def __init__(self, **options): + CodeInterface.__init__(self, name_of_the_worker="secularmultiple_worker", **options) + + ####################### + # basic interface + ####################### + + # particles + @legacy_function + def new_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT, unit=INDEX) + function.addParameter( + 'is_binary', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def delete_particle(): + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.result_type = 'int32' + return function + + @legacy_function + def set_children(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('child1', dtype='int32', direction=function.IN, unit=LINK('particles')) + function.addParameter('child2', dtype='int32', direction=function.IN, unit=LINK('particles')) + function.result_type = 'int32' + return function + + @legacy_function + def get_children(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('child1', dtype='int32', direction=function.OUT, unit=LINK('particles')) + function.addParameter('child2', dtype='int32', direction=function.OUT, unit=LINK('particles')) + function.result_type = 'int32' + return function + + @legacy_function + def set_mass(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('mass', dtype='float64', direction=function.IN, unit=UNIT_MASS) + function.result_type = 'int32' + return function + + @legacy_function + def get_mass(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('mass', dtype='float64', direction=function.OUT, unit=UNIT_MASS) + function.result_type = 'int32' + return function + + @legacy_function + def set_mass_dot_external(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('mass_dot_external', dtype='float64', direction=function.IN, unit=UNIT_MASS / UNIT_TIME) + function.result_type = 'int32' + return function + + @legacy_function + def get_mass_dot_external(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('mass_dot_external', dtype='float64', direction=function.OUT, unit=UNIT_MASS / UNIT_TIME) + function.result_type = 'int32' + return function + + @legacy_function + def set_radius(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('radius', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_radius(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('radius', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def set_radius_dot_external(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('radius_dot_external', dtype='float64', direction=function.IN, unit=UNIT_LENGTH / UNIT_TIME) + function.result_type = 'int32' + return function + + @legacy_function + def get_radius_dot_external(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('radius_dot_external', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH / UNIT_TIME) + function.result_type = 'int32' + return function + + @legacy_function + def set_radius_ddot_external(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('radius_ddot_external', dtype='float64', direction=function.IN, unit=UNIT_LENGTH / (UNIT_TIME**2)) + function.result_type = 'int32' + return function + + @legacy_function + def get_radius_ddot_external(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('radius_ddot_external', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH / (UNIT_TIME**2)) + function.result_type = 'int32' + return function + + @legacy_function + def get_level(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('level', dtype='int32', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_stellar_type(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('stellar_type', dtype='int32', direction=function.IN, unit=units.stellar_type) + function.result_type = 'int32' + return function + + @legacy_function + def get_stellar_type(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('stellar_type', dtype='int32', direction=function.OUT, unit=units.stellar_type) + function.result_type = 'int32' + return function + + @legacy_function + def set_true_anomaly(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('true_anomaly', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_true_anomaly(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('true_anomaly', dtype='float64', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_sample_orbital_phases_randomly(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('sample_orbital_phases_randomly', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_sample_orbital_phases_randomly(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('sample_orbital_phases_randomly', dtype='bool', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + ################################################# + ### user-specified instantaneous perturbation ### + ################################################# + + @legacy_function + def set_instantaneous_perturbation_delta_mass(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('instantaneous_perturbation_delta_mass', dtype='float64', direction=function.IN, unit=UNIT_MASS) + function.result_type = 'int32' + return function + + @legacy_function + def get_instantaneous_perturbation_delta_mass(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('instantaneous_perturbation_delta_mass', dtype='float64', direction=function.OUT, unit=UNIT_MASS) + function.result_type = 'int32' + return function + + @legacy_function + def set_instantaneous_perturbation_delta_position(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('instantaneous_perturbation_delta_position_x', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) + function.addParameter('instantaneous_perturbation_delta_position_y', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) + function.addParameter('instantaneous_perturbation_delta_position_z', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_instantaneous_perturbation_delta_position(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('instantaneous_perturbation_delta_position_x', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) + function.addParameter('instantaneous_perturbation_delta_position_y', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) + function.addParameter('instantaneous_perturbation_delta_position_z', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def set_instantaneous_perturbation_delta_velocity(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('instantaneous_perturbation_delta_velocity_x', dtype='float64', direction=function.IN, unit=UNIT_LENGTH / UNIT_TIME) + function.addParameter('instantaneous_perturbation_delta_velocity_y', dtype='float64', direction=function.IN, unit=UNIT_LENGTH / UNIT_TIME) + function.addParameter('instantaneous_perturbation_delta_velocity_z', dtype='float64', direction=function.IN, unit=UNIT_LENGTH / UNIT_TIME) + function.result_type = 'int32' + return function + + @legacy_function + def get_instantaneous_perturbation_delta_velocity(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('instantaneous_perturbation_delta_velocity_x', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH / UNIT_TIME) + function.addParameter('instantaneous_perturbation_delta_velocity_y', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH / UNIT_TIME) + function.addParameter('instantaneous_perturbation_delta_velocity_z', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH / UNIT_TIME) + function.result_type = 'int32' + return function + + ########################## + # external particles + ########################## + + @legacy_function + def new_external_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.OUT, unit=INDEX) + function.addParameter('mass', dtype='float64', direction=function.IN, unit=UNIT_MASS) + function.result_type = 'int32' + return function + + @legacy_function + def delete_external_particle(): + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.result_type = 'int32' + return function + + @legacy_function + def set_external_mass(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('mass', dtype='float64', direction=function.IN, unit=UNIT_MASS) + function.result_type = 'int32' + return function + + @legacy_function + def get_external_mass(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('mass', dtype='float64', direction=function.OUT, unit=UNIT_MASS) + function.result_type = 'int32' + return function + + @legacy_function + def set_external_path(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('path', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_external_path(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('path', dtype='int32', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_external_mode(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('mode', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_external_mode(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('mode', dtype='int32', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_external_t_ref(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('t_ref', dtype='float64', direction=function.IN, unit=UNIT_TIME) + function.result_type = 'int32' + return function + + @legacy_function + def get_external_t_ref(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('t_ref', dtype='float64', direction=function.OUT, unit=UNIT_TIME) + function.result_type = 'int32' + return function + + @legacy_function + def set_external_t_passed(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('t_passed', dtype='float64', direction=function.IN, unit=UNIT_TIME) + function.result_type = 'int32' + return function + + @legacy_function + def get_external_t_passed(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('t_passed', dtype='float64', direction=function.OUT, unit=UNIT_TIME) + function.result_type = 'int32' + return function + + @legacy_function + def set_external_r0_vectors(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('r0_vec_x', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) + function.addParameter('r0_vec_y', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) + function.addParameter('r0_vec_z', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_external_r0_vectors(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('r0_vec_x', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) + function.addParameter('r0_vec_y', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) + function.addParameter('r0_vec_z', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def set_external_rdot_vectors(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('rdot_vec_x', dtype='float64', direction=function.IN, unit=UNIT_LENGTH / UNIT_TIME) + function.addParameter('rdot_vec_y', dtype='float64', direction=function.IN, unit=UNIT_LENGTH / UNIT_TIME) + function.addParameter('rdot_vec_z', dtype='float64', direction=function.IN, unit=UNIT_LENGTH / UNIT_TIME) + function.result_type = 'int32' + return function + + @legacy_function + def get_external_rdot_vectors(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('rdot_vec_x', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH / UNIT_TIME) + function.addParameter('rdot_vec_y', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH / UNIT_TIME) + function.addParameter('rdot_vec_z', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH / UNIT_TIME) + function.result_type = 'int32' + return function + + @legacy_function + def set_external_periapse_distance(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('periapse_distance', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_external_periapse_distance(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('periapse_distance', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def set_external_eccentricity(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('eccentricity', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_external_eccentricity(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('eccentricity', dtype='float64', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_external_e_hat_vectors(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('e_hat_vec_x', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.addParameter('e_hat_vec_y', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.addParameter('e_hat_vec_z', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_external_e_hat_vectors(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('e_hat_vec_x', dtype='float64', direction=function.OUT, unit=NO_UNIT) + function.addParameter('e_hat_vec_y', dtype='float64', direction=function.OUT, unit=NO_UNIT) + function.addParameter('e_hat_vec_z', dtype='float64', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_external_h_hat_vectors(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('h_hat_vec_x', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.addParameter('h_hat_vec_y', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.addParameter('h_hat_vec_z', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_external_h_hat_vectors(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('h_hat_vec_x', dtype='float64', direction=function.OUT, unit=NO_UNIT) + function.addParameter('h_hat_vec_y', dtype='float64', direction=function.OUT, unit=NO_UNIT) + function.addParameter('h_hat_vec_z', dtype='float64', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_external_r_vectors(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_external_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('r_vec_x', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) + function.addParameter('r_vec_y', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) + function.addParameter('r_vec_z', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) + function.result_type = 'int32' + return function + + #################### + ### spin vectors ### + #################### + + @legacy_function + def set_spin_vector(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('spin_vec_x', dtype='float64', direction=function.IN, unit=1.0 / UNIT_TIME) + function.addParameter('spin_vec_y', dtype='float64', direction=function.IN, unit=1.0 / UNIT_TIME) + function.addParameter('spin_vec_z', dtype='float64', direction=function.IN, unit=1.0 / UNIT_TIME) + function.result_type = 'int32' + return function + + @legacy_function + def get_spin_vector(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('spin_vec_x', dtype='float64', direction=function.OUT, unit=1.0 / UNIT_TIME) + function.addParameter('spin_vec_y', dtype='float64', direction=function.OUT, unit=1.0 / UNIT_TIME) + function.addParameter('spin_vec_z', dtype='float64', direction=function.OUT, unit=1.0 / UNIT_TIME) + function.result_type = 'int32' + return function + + @legacy_function + def set_spin_vector_dot_external(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('spin_vec_x_dot_external', dtype='float64', direction=function.IN, unit=1.0 / (UNIT_TIME**2)) + function.addParameter('spin_vec_y_dot_external', dtype='float64', direction=function.IN, unit=1.0 / (UNIT_TIME**2)) + function.addParameter('spin_vec_z_dot_external', dtype='float64', direction=function.IN, unit=1.0 / (UNIT_TIME**2)) + function.result_type = 'int32' + return function + + @legacy_function + def get_spin_vector_dot_external(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('spin_vec_x_dot_external', dtype='float64', direction=function.OUT, unit=1.0 / (UNIT_TIME**2)) + function.addParameter('spin_vec_y_dot_external', dtype='float64', direction=function.OUT, unit=1.0 / (UNIT_TIME**2)) + function.addParameter('spin_vec_z_dot_external', dtype='float64', direction=function.OUT, unit=1.0 / (UNIT_TIME**2)) + function.result_type = 'int32' + return function + + ################################ + ### orbital vectors/elements ### + ################################ + + @legacy_function + def set_orbital_vectors(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('e_vec_x', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.addParameter('e_vec_y', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.addParameter('e_vec_z', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.addParameter('h_vec_x', dtype='float64', direction=function.IN, unit=UNIT_ANGULAR_MOMENTUM) + function.addParameter('h_vec_y', dtype='float64', direction=function.IN, unit=UNIT_ANGULAR_MOMENTUM) + function.addParameter('h_vec_z', dtype='float64', direction=function.IN, unit=UNIT_ANGULAR_MOMENTUM) + function.result_type = 'int32' + return function + + @legacy_function + def get_orbital_vectors(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('e_vec_x', dtype='float64', direction=function.OUT, unit=NO_UNIT) + function.addParameter('e_vec_y', dtype='float64', direction=function.OUT, unit=NO_UNIT) + function.addParameter('e_vec_z', dtype='float64', direction=function.OUT, unit=NO_UNIT) + function.addParameter('h_vec_x', dtype='float64', direction=function.OUT, unit=UNIT_ANGULAR_MOMENTUM) + function.addParameter('h_vec_y', dtype='float64', direction=function.OUT, unit=UNIT_ANGULAR_MOMENTUM) + function.addParameter('h_vec_z', dtype='float64', direction=function.OUT, unit=UNIT_ANGULAR_MOMENTUM) + function.result_type = 'int32' + return function + + @legacy_function + def set_orbital_vectors_dot_external(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('e_vec_x_dot_external', dtype='float64', direction=function.IN, unit=1.0 / UNIT_TIME) + function.addParameter('e_vec_y_dot_external', dtype='float64', direction=function.IN, unit=1.0 / UNIT_TIME) + function.addParameter('e_vec_z_dot_external', dtype='float64', direction=function.IN, unit=1.0 / UNIT_TIME) + function.addParameter('h_vec_x_dot_external', dtype='float64', direction=function.IN, unit=UNIT_ANGULAR_MOMENTUM / UNIT_TIME) + function.addParameter('h_vec_y_dot_external', dtype='float64', direction=function.IN, unit=UNIT_ANGULAR_MOMENTUM / UNIT_TIME) + function.addParameter('h_vec_z_dot_external', dtype='float64', direction=function.IN, unit=UNIT_ANGULAR_MOMENTUM / UNIT_TIME) + function.result_type = 'int32' + return function + + @legacy_function + def get_orbital_vectors_dot_external(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('e_vec_x_dot_external', dtype='float64', direction=function.OUT, unit=1.0 / UNIT_TIME) + function.addParameter('e_vec_y_dot_external', dtype='float64', direction=function.OUT, unit=1.0 / UNIT_TIME) + function.addParameter('e_vec_z_dot_external', dtype='float64', direction=function.OUT, unit=1.0 / UNIT_TIME) + function.addParameter('h_vec_x_dot_external', dtype='float64', direction=function.OUT, unit=UNIT_ANGULAR_MOMENTUM / UNIT_TIME) + function.addParameter('h_vec_y_dot_external', dtype='float64', direction=function.OUT, unit=UNIT_ANGULAR_MOMENTUM / UNIT_TIME) + function.addParameter('h_vec_z_dot_external', dtype='float64', direction=function.OUT, unit=UNIT_ANGULAR_MOMENTUM / UNIT_TIME) + function.result_type = 'int32' + return function + + @legacy_function + def set_orbital_elements(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('semimajor_axis', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) + function.addParameter('eccentricity', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.addParameter('inclination', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.addParameter('argument_of_pericenter', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.addParameter('longitude_of_ascending_node', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_orbital_elements(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('semimajor_axis', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) + function.addParameter('eccentricity', dtype='float64', direction=function.OUT, unit=NO_UNIT) + function.addParameter('inclination', dtype='float64', direction=function.OUT, unit=NO_UNIT) + function.addParameter('argument_of_pericenter', dtype='float64', direction=function.OUT, unit=NO_UNIT) + function.addParameter('longitude_of_ascending_node', dtype='float64', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_inclination_relative_to_parent(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('inclination_relative_to_parent', dtype='float64', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_de_dt(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('de_dt', dtype='float64', direction=function.OUT, unit=1.0 / UNIT_TIME) + function.result_type = 'int32' + return function + + @legacy_function + def set_position_vector(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('position_x', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) + function.addParameter('position_y', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) + function.addParameter('position_z', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_position_vector(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('position_x', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) + function.addParameter('position_y', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) + function.addParameter('position_z', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def set_velocity_vector(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('velocity_x', dtype='float64', direction=function.IN, unit=UNIT_LENGTH / UNIT_TIME) + function.addParameter('velocity_y', dtype='float64', direction=function.IN, unit=UNIT_LENGTH / UNIT_TIME) + function.addParameter('velocity_z', dtype='float64', direction=function.IN, unit=UNIT_LENGTH / UNIT_TIME) + function.result_type = 'int32' + return function + + @legacy_function + def get_velocity_vector(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=INDEX) + function.addParameter('velocity_x', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH / UNIT_TIME) + function.addParameter('velocity_y', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH / UNIT_TIME) + function.addParameter('velocity_z', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH / UNIT_TIME) + function.result_type = 'int32' + return function + + ################ + ### PN terms ### + ################ + + @legacy_function + def set_include_pairwise_1PN_terms(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('include_pairwise_1PN_terms', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_include_pairwise_1PN_terms(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('include_pairwise_1PN_terms', dtype='bool', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_include_pairwise_25PN_terms(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('include_pairwise_25PN_terms', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_include_pairwise_25PN_terms(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('include_pairwise_25PN_terms', dtype='bool', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + ############# + ### tides ### + ############# + + @legacy_function + def set_tides_method(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('tides_method', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_tides_method(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('tides_method', dtype='int32', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_include_tidal_friction_terms(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('include_tidal_friction_terms', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_include_tidal_friction_terms(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('include_tidal_friction_terms', dtype='bool', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_include_tidal_bulges_precession_terms(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('include_tidal_bulges_precession_terms', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_include_tidal_bulges_precession_terms(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('include_tidal_bulges_precession_terms', dtype='bool', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_include_rotation_precession_terms(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('include_rotation_precession_terms', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_include_rotation_precession_terms(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('include_rotation_precession_terms', dtype='bool', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_minimum_eccentricity_for_tidal_precession(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('minimum_eccentricity_for_tidal_precession', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_minimum_eccentricity_for_tidal_precession(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('minimum_eccentricity_for_tidal_precession', dtype='float64', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + # physical parameters + + @legacy_function + def set_tides_apsidal_motion_constant(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('tides_apsidal_motion_constant', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + @legacy_function + def get_tides_apsidal_motion_constant(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('tides_apsidal_motion_constant', dtype='float64', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_tides_gyration_radius(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('tides_gyration_radius', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + @legacy_function + def get_tides_gyration_radius(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('tides_gyration_radius', dtype='float64', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_tides_viscous_time_scale(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('tides_viscous_time_scale', dtype='float64', direction=function.IN, unit=UNIT_TIME) + function.result_type = 'int32' + return function + @legacy_function + def get_tides_viscous_time_scale(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('tides_viscous_time_scale', dtype='float64', direction=function.OUT, unit=UNIT_TIME) + function.result_type = 'int32' + return function + + @legacy_function + def set_tides_viscous_time_scale_prescription(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('tides_viscous_time_scale_prescription', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + @legacy_function + def get_tides_viscous_time_scale_prescription(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('tides_viscous_time_scale_prescription', dtype='int32', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_convective_envelope_mass(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('convective_envelope_mass', dtype='float64', direction=function.IN, unit=UNIT_MASS) + function.result_type = 'int32' + return function + @legacy_function + def get_convective_envelope_mass(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('convective_envelope_mass', dtype='float64', direction=function.OUT, unit=UNIT_MASS) + function.result_type = 'int32' + return function + + @legacy_function + def set_convective_envelope_radius(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('convective_envelope_radius', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) + function.result_type = 'int32' + return function + @legacy_function + def get_convective_envelope_radius(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('convective_envelope_radius', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def set_luminosity(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('luminosity', dtype='float64', direction=function.IN, unit=UNIT_LUMINOSITY) + function.result_type = 'int32' + return function + @legacy_function + def get_luminosity(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('luminosity', dtype='float64', direction=function.OUT, unit=UNIT_LUMINOSITY) + function.result_type = 'int32' + return function + + #################### + ### root finding ### + #################### + + # secular breakdown + @legacy_function + def set_check_for_secular_breakdown(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('check_for_secular_breakdown', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_check_for_secular_breakdown(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('check_for_secular_breakdown', dtype='bool', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + # dynamical instablity + @legacy_function + def set_check_for_dynamical_instability(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('check_for_dynamical_instability', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_check_for_dynamical_instability(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('check_for_dynamical_instability', dtype='bool', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_dynamical_instability_criterion(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('dynamical_instability_criterion', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_dynamical_instability_criterion(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('dynamical_instability_criterion', dtype='int32', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_dynamical_instability_central_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('dynamical_instability_central_particle', dtype='int32', direction=function.IN, unit=LINK('particles')) + function.result_type = 'int32' + return function + + @legacy_function + def get_dynamical_instability_central_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('dynamical_instability_central_particle', dtype='int32', direction=function.OUT, unit=LINK('particles')) + function.result_type = 'int32' + return function + + @legacy_function + def set_dynamical_instability_K_parameter(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.addParameter('dynamical_instability_K_parameter', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_dynamical_instability_K_parameter(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.addParameter('dynamical_instability_K_parameter', dtype='float64', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + # physical collision / orbit crossing + @legacy_function + def set_check_for_physical_collision_or_orbit_crossing(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('check_for_physical_collision_or_orbit_crossing', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_check_for_physical_collision_or_orbit_crossing(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('check_for_physical_collision_or_orbit_crossing', dtype='bool', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + # minimum periapse distance reached + @legacy_function + def set_check_for_minimum_periapse_distance(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('check_for_minimum_periapse_distance', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_check_for_minimum_periapse_distance(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('check_for_minimum_periapse_distance', dtype='bool', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_check_for_minimum_periapse_distance_value(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('check_for_minimum_periapse_distance_value', dtype='float64', direction=function.IN, unit=UNIT_LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_check_for_minimum_periapse_distance_value(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('check_for_minimum_periapse_distance_value', dtype='float64', direction=function.OUT, unit=UNIT_LENGTH) + function.result_type = 'int32' + return function + + # RLOF at pericentre + @legacy_function + def set_check_for_RLOF_at_pericentre(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('check_for_RLOF_at_pericentre', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_check_for_RLOF_at_pericentre(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('check_for_RLOF_at_pericentre', dtype='bool', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_check_for_RLOF_at_pericentre_use_sepinsky_fit(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('check_for_RLOF_at_pericentre_use_sepinsky_fit', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_check_for_RLOF_at_pericentre_use_sepinsky_fit(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('check_for_RLOF_at_pericentre_use_sepinsky_fit', dtype='bool', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + # retrieve root finding state + @legacy_function + def set_root_finding_state(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('secular_breakdown_has_occurred', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.addParameter('dynamical_instability_has_occurred', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.addParameter('physical_collision_or_orbit_crossing_has_occurred', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.addParameter('minimum_periapse_distance_has_occurred', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.addParameter('RLOF_at_pericentre_has_occurred', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_root_finding_state(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.addParameter('secular_breakdown_has_occurred', dtype='bool', direction=function.OUT, unit=NO_UNIT) + function.addParameter('dynamical_instability_has_occurred', dtype='bool', direction=function.OUT, unit=NO_UNIT) + function.addParameter('physical_collision_or_orbit_crossing_has_occurred', dtype='bool', direction=function.OUT, unit=NO_UNIT) + function.addParameter('minimum_periapse_distance_has_occurred', dtype='bool', direction=function.OUT, unit=NO_UNIT) + function.addParameter('RLOF_at_pericentre_has_occurred', dtype='bool', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + ######################## + ### evolve interface ### + ######################## + + @legacy_function + def evolve_interface(): + function = LegacyFunctionSpecification() + function.addParameter('start_time', dtype='float64', direction=function.IN, unit=UNIT_TIME) + function.addParameter('time_step', dtype='float64', direction=function.IN, unit=UNIT_TIME) + function.addParameter('output_time', dtype='float64', direction=function.OUT, unit=UNIT_TIME) + function.addParameter('hamiltonian', dtype='float64', direction=function.OUT, unit=UNIT_ENERGY) + function.addParameter('flag', dtype='int32', direction=function.OUT, unit=NO_UNIT) + function.addParameter('error_code', dtype='int32', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def determine_binary_parents_levels_and_masses_interface(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + @legacy_function + def apply_external_perturbation_assuming_integrated_orbits_interface(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + @legacy_function + def apply_user_specified_instantaneous_perturbation_interface(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + @legacy_function + def set_positions_and_velocities_interface(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + ####################### + ### code parameters ### + ####################### + + @legacy_function + def get_orbital_phases_random_seed(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_orbital_phases_random_seed(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='int32', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + ################## + ### tolerances ### + ################## + + @legacy_function + def get_relative_tolerance(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_relative_tolerance(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_absolute_tolerance_eccentricity_vectors(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_absolute_tolerance_eccentricity_vectors(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='float64', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + ############# + ### terms ### + ############# + + @legacy_function + def get_include_quadrupole_order_terms(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_include_quadrupole_order_terms(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_include_octupole_order_binary_pair_terms(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_include_octupole_order_binary_pair_terms(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_include_octupole_order_binary_triplet_terms(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_include_octupole_order_binary_triplet_terms(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_include_hexadecupole_order_binary_pair_terms(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_include_hexadecupole_order_binary_pair_terms(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def get_include_dotriacontupole_order_binary_pair_terms(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.OUT, unit=NO_UNIT) + function.result_type = 'int32' + return function + + @legacy_function + def set_include_dotriacontupole_order_binary_pair_terms(): + function = LegacyFunctionSpecification() + function.addParameter('value', dtype='bool', direction=function.IN, unit=NO_UNIT) + function.result_type = 'int32' + return function + +class SecularMultiple(InCodeComponentImplementation): + + def __init__(self, **options): + InCodeComponentImplementation.__init__(self, SecularMultipleInterface(**options), **options) + self.model_time = 0.0 | units.Myr + self.particles_committed = False + + self.initial_hamiltonian = 0.0 | UNIT_ENERGY + self.hamiltonian = 0.0 | UNIT_ENERGY + self.flag = 0 + self.error_code = 0 + + # self.verbose = True + # self.debug = True + + def define_particle_sets(self, handler): + + handler.define_set('particles', 'index_of_the_particle') + handler.set_new('particles', 'new_particle') + handler.set_delete('particles', 'delete_particle') + + handler.add_setter('particles', 'set_children', names=('child1', 'child2')) + handler.add_getter('particles', 'get_children', names=('child1', 'child2')) + handler.add_setter('particles', 'set_mass') + handler.add_getter('particles', 'get_mass') + handler.add_setter('particles', 'set_mass_dot_external') + handler.add_getter('particles', 'get_mass_dot_external') + handler.add_setter('particles', 'set_radius') + handler.add_getter('particles', 'get_radius') + handler.add_setter('particles', 'set_radius_dot_external') + handler.add_getter('particles', 'get_radius_dot_external') + handler.add_setter('particles', 'set_radius_ddot_external') + handler.add_getter('particles', 'get_radius_ddot_external') + + handler.add_getter('particles', 'get_level') + + handler.add_setter('particles', 'set_stellar_type') + handler.add_getter('particles', 'get_stellar_type') + + handler.add_setter('particles', 'set_true_anomaly') + handler.add_getter('particles', 'get_true_anomaly') + + handler.add_setter('particles', 'set_sample_orbital_phases_randomly') + handler.add_getter('particles', 'get_sample_orbital_phases_randomly') + + handler.add_setter('particles', 'set_instantaneous_perturbation_delta_mass') + handler.add_getter('particles', 'get_instantaneous_perturbation_delta_mass') + handler.add_setter('particles', 'set_instantaneous_perturbation_delta_position') + handler.add_getter('particles', 'get_instantaneous_perturbation_delta_position') + handler.add_setter('particles', 'set_instantaneous_perturbation_delta_velocity') + handler.add_getter('particles', 'get_instantaneous_perturbation_delta_velocity') + + handler.add_setter('particles', 'set_spin_vector') + handler.add_getter('particles', 'get_spin_vector') + handler.add_setter('particles', 'set_spin_vector_dot_external') + handler.add_getter('particles', 'get_spin_vector_dot_external') + handler.add_setter('particles', 'set_orbital_vectors') + handler.add_getter('particles', 'get_orbital_vectors') + handler.add_setter('particles', 'set_orbital_vectors_dot_external') + handler.add_getter('particles', 'get_orbital_vectors_dot_external') + handler.add_setter('particles', 'set_orbital_elements', names=('semimajor_axis', 'eccentricity', 'inclination', 'argument_of_pericenter', 'longitude_of_ascending_node')) + handler.add_getter('particles', 'get_orbital_elements', names=('semimajor_axis', 'eccentricity', 'inclination', 'argument_of_pericenter', 'longitude_of_ascending_node')) + handler.add_getter('particles', 'get_inclination_relative_to_parent') + handler.add_getter('particles', 'get_de_dt') + + handler.add_setter('particles', 'set_position_vector') + handler.add_getter('particles', 'get_position_vector') + handler.add_setter('particles', 'set_velocity_vector') + handler.add_getter('particles', 'get_velocity_vector') + + handler.add_setter('particles', 'set_include_pairwise_1PN_terms') + handler.add_getter('particles', 'get_include_pairwise_1PN_terms') + handler.add_setter('particles', 'set_include_pairwise_25PN_terms') + handler.add_getter('particles', 'get_include_pairwise_25PN_terms') + + handler.add_setter('particles', 'set_tides_method') + handler.add_getter('particles', 'get_tides_method') + handler.add_setter('particles', 'set_include_tidal_friction_terms') + handler.add_getter('particles', 'get_include_tidal_friction_terms') + handler.add_setter('particles', 'set_include_tidal_bulges_precession_terms') + handler.add_getter('particles', 'get_include_tidal_bulges_precession_terms') + handler.add_setter('particles', 'set_include_rotation_precession_terms') + handler.add_getter('particles', 'get_include_rotation_precession_terms') + handler.add_setter('particles', 'set_minimum_eccentricity_for_tidal_precession') + handler.add_getter('particles', 'get_minimum_eccentricity_for_tidal_precession') + + handler.add_setter('particles', 'set_tides_apsidal_motion_constant') + handler.add_getter('particles', 'get_tides_apsidal_motion_constant') + handler.add_setter('particles', 'set_tides_gyration_radius') + handler.add_getter('particles', 'get_tides_gyration_radius') + handler.add_setter('particles', 'set_tides_viscous_time_scale') + handler.add_getter('particles', 'get_tides_viscous_time_scale') + handler.add_setter('particles', 'set_tides_viscous_time_scale_prescription') + handler.add_getter('particles', 'get_tides_viscous_time_scale_prescription') + handler.add_setter('particles', 'set_convective_envelope_mass') + handler.add_getter('particles', 'get_convective_envelope_mass') + handler.add_setter('particles', 'set_convective_envelope_radius') + handler.add_getter('particles', 'get_convective_envelope_radius') + handler.add_setter('particles', 'set_luminosity') + handler.add_getter('particles', 'get_luminosity') + + handler.add_setter('particles', 'set_check_for_secular_breakdown') + handler.add_getter('particles', 'get_check_for_secular_breakdown') + handler.add_setter('particles', 'set_check_for_dynamical_instability') + handler.add_getter('particles', 'get_check_for_dynamical_instability') + handler.add_setter('particles', 'set_dynamical_instability_criterion') + handler.add_getter('particles', 'get_dynamical_instability_criterion') + handler.add_setter('particles', 'set_dynamical_instability_central_particle') + handler.add_getter('particles', 'get_dynamical_instability_central_particle') + handler.add_setter('particles', 'set_dynamical_instability_K_parameter') + handler.add_getter('particles', 'get_dynamical_instability_K_parameter') + + handler.add_setter('particles', 'set_check_for_physical_collision_or_orbit_crossing') + handler.add_getter('particles', 'get_check_for_physical_collision_or_orbit_crossing') + + handler.add_setter('particles', 'set_check_for_minimum_periapse_distance') + handler.add_getter('particles', 'get_check_for_minimum_periapse_distance') + handler.add_setter('particles', 'set_check_for_minimum_periapse_distance_value') + handler.add_getter('particles', 'get_check_for_minimum_periapse_distance_value') + + handler.add_setter('particles', 'set_check_for_RLOF_at_pericentre') + handler.add_getter('particles', 'get_check_for_RLOF_at_pericentre') + handler.add_setter('particles', 'set_check_for_RLOF_at_pericentre_use_sepinsky_fit') + handler.add_getter('particles', 'get_check_for_RLOF_at_pericentre_use_sepinsky_fit') + + handler.add_setter('particles', 'set_root_finding_state') + handler.add_getter('particles', 'get_root_finding_state') + + handler.define_set('external_particles', 'index_of_the_external_particle') + handler.set_new('external_particles', 'new_external_particle') + handler.set_delete('external_particles', 'delete_external_particle') + + handler.add_setter('external_particles', 'set_external_mass') + handler.add_getter('external_particles', 'get_external_mass') + handler.add_setter('external_particles', 'set_external_path') + handler.add_getter('external_particles', 'get_external_path') + handler.add_setter('external_particles', 'set_external_mode') + handler.add_getter('external_particles', 'get_external_mode') + + handler.add_setter('external_particles', 'set_external_t_ref') + handler.add_getter('external_particles', 'get_external_t_ref') + handler.add_setter('external_particles', 'set_external_t_passed') + handler.add_getter('external_particles', 'get_external_t_passed') + + handler.add_setter('external_particles', 'set_external_r0_vectors') + handler.add_getter('external_particles', 'get_external_r0_vectors') + handler.add_setter('external_particles', 'set_external_rdot_vectors', names=('rdot_vec_x', 'rdot_vec_y', 'rdot_vec_z')) + handler.add_getter('external_particles', 'get_external_rdot_vectors', names=('rdot_vec_x', 'rdot_vec_y', 'rdot_vec_z')) + + handler.add_setter('external_particles', 'set_external_eccentricity') + handler.add_getter('external_particles', 'get_external_eccentricity') + handler.add_setter('external_particles', 'set_external_periapse_distance') + handler.add_getter('external_particles', 'get_external_periapse_distance') + + handler.add_setter('external_particles', 'set_external_e_hat_vectors') + handler.add_getter('external_particles', 'get_external_e_hat_vectors') + handler.add_setter('external_particles', 'set_external_h_hat_vectors') + handler.add_getter('external_particles', 'get_external_h_hat_vectors') + + handler.add_getter('external_particles', 'get_external_r_vectors') + + def define_parameters(self, handler): + + handler.add_method_parameter( + "get_relative_tolerance", + "set_relative_tolerance", + "relative_tolerance", + "relative_tolerance", + default_value=1.0e-16 + ) + handler.add_method_parameter( + "get_absolute_tolerance_eccentricity_vectors", + "set_absolute_tolerance_eccentricity_vectors", + "absolute_tolerance_eccentricity_vectors", + "absolute_tolerance_eccentricity_vectors", + default_value=1.0e-14 + ) + handler.add_method_parameter( + "get_include_quadrupole_order_terms", + "set_include_quadrupole_order_terms", + "include_quadrupole_order_terms", + "include_quadrupole_order_terms", + default_value=True + ) + handler.add_method_parameter( + "get_include_octupole_order_binary_pair_terms", + "set_include_octupole_order_binary_pair_terms", + "include_octupole_order_binary_pair_terms", + "include_octupole_order_binary_pair_terms", + default_value=True + ) + handler.add_method_parameter( + "get_include_octupole_order_binary_triplet_terms", + "set_include_octupole_order_binary_triplet_terms", + "include_octupole_order_binary_triplet_terms", + "include_octupole_order_binary_triplet_terms", + default_value=False + ) + handler.add_method_parameter( + "get_include_hexadecupole_order_binary_pair_terms", + "set_include_hexadecupole_order_binary_pair_terms", + "include_hexadecupole_order_binary_pair_terms", + "include_hexadecupole_order_binary_pair_terms", + default_value=False + ) + handler.add_method_parameter( + "get_include_dotriacontupole_order_binary_pair_terms", + "set_include_dotriacontupole_order_binary_pair_terms", + "include_dotriacontupole_order_binary_pair_terms", + "include_dotriacontupole_order_binary_pair_terms", + default_value=False + ) + handler.add_method_parameter( + "get_orbital_phases_random_seed", + "set_orbital_phases_random_seed", + "orbital_phases_random_seed", + "orbital_phases_random_seed", + default_value=0 + ) + + def define_methods(self, handler): + pass + + def before_get_parameter(self): + """ + Called everytime just before a parameter is retrieved in using:: + instance.parameter.name + """ + pass + + def before_set_parameter(self): + """ + Called everytime just before a parameter is updated in using:: + instance.parameter.name = newvalue + """ + pass + + def commit_particles(self): + print(f"{PRINT_NAME} -- committing particles") + particles = self.particles + + if len(particles) == 0: + print(f"{PRINT_NAME} -- no particles have been added -- exiting") + return -2 # sys.exit(-1) # SR: exiting causes an AMUSE crash... + + particles.add_vector_attribute("spin_vec", ["spin_vec_x", "spin_vec_y", "spin_vec_z"]) + particles.add_vector_attribute("e_vec", ["e_vec_x", "e_vec_y", "e_vec_z"]) + particles.add_vector_attribute("h_vec", ["h_vec_x", "h_vec_y", "h_vec_z"]) + + self.external_particles.add_vector_attribute("r_vec", ["r_vec_x", "r_vec_y", "r_vec_z"]) + + # evaluate the initial hamiltonian + time_step = 0.0 | units.Myr + end_time, self.initial_hamiltonian, flag, error_code = self.evolve_interface(self.model_time, time_step) + + self.particles_committed = True + + def evolve_model(self, end_time): + if end_time is None: + print(f"{PRINT_NAME} -- end time not specified in evolve_model! exiting") + return -2 # don't exit, just return an error + if self.particles_committed == False: + self.commit_particles() + + # integrate system of ODEs + start_time = self.model_time + time_step = end_time - start_time + end_time, self.hamiltonian, flag, error_code = self.evolve_interface(start_time, time_step) + + # compute energy error + self.relative_energy_error = np.fabs((self.initial_hamiltonian - self.hamiltonian) / self.initial_hamiltonian) + + # update model time + self.model_time = end_time + + if (flag == 99): + print(f"{PRINT_NAME} -- error occurred during ODE integration") + print(f"{PRINT_NAME} -- error code is {error_code}") + self.flag = flag + self.error_code = error_code + + def determine_binary_parents_levels_and_masses(self): + self.determine_binary_parents_levels_and_masses_interface() + + def apply_external_perturbation_assuming_integrated_orbits(self): + self.apply_external_perturbation_assuming_integrated_orbits_interface() + + def apply_user_specified_instantaneous_perturbation(self): + self.apply_user_specified_instantaneous_perturbation_interface() + + def set_positions_and_velocities(self): + self.set_positions_and_velocities_interface() + + +Secularmultiple = SecularMultiple diff --git a/src/amuse_secularmultiple/packages/amuse-secularmultiple.amuse_deps b/src/amuse_secularmultiple/packages/amuse-secularmultiple.amuse_deps new file mode 100644 index 0000000000..cfb6ad9847 --- /dev/null +++ b/src/amuse_secularmultiple/packages/amuse-secularmultiple.amuse_deps @@ -0,0 +1 @@ +c c++ mpi diff --git a/src/amuse_secularmultiple/packages/amuse-secularmultiple/amuse_secularmultiple b/src/amuse_secularmultiple/packages/amuse-secularmultiple/amuse_secularmultiple new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_secularmultiple/packages/amuse-secularmultiple/amuse_secularmultiple @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_secularmultiple/packages/amuse-secularmultiple/pyproject.toml b/src/amuse_secularmultiple/packages/amuse-secularmultiple/pyproject.toml new file mode 100644 index 0000000000..8d173d82e7 --- /dev/null +++ b/src/amuse_secularmultiple/packages/amuse-secularmultiple/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-secularmultiple" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_secularmultiple/**/*.py"] +exclude = [ + "amuse_secularmultiple/packages", + "amuse_secularmultiple/support", + "amuse_secularmultiple/src", + "amuse_secularmultiple/tests" + ] +artifacts = ["amuse_secularmultiple/secularmultiple_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_secularmultiple/tests/"] + +testpaths = ["amuse_secularmultiple/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/secularmultiple/readme.txt b/src/amuse_secularmultiple/readme.txt similarity index 100% rename from src/amuse/community/secularmultiple/readme.txt rename to src/amuse_secularmultiple/readme.txt diff --git a/src/amuse/community/secularmultiple/src/ODE_system.cpp b/src/amuse_secularmultiple/src/ODE_system.cpp similarity index 100% rename from src/amuse/community/secularmultiple/src/ODE_system.cpp rename to src/amuse_secularmultiple/src/ODE_system.cpp diff --git a/src/amuse/community/secularmultiple/src/ODE_system.h b/src/amuse_secularmultiple/src/ODE_system.h similarity index 100% rename from src/amuse/community/secularmultiple/src/ODE_system.h rename to src/amuse_secularmultiple/src/ODE_system.h diff --git a/src/amuse_secularmultiple/src/cvode/LICENSE b/src/amuse_secularmultiple/src/cvode/LICENSE new file mode 100644 index 0000000000..1ba5bf5b37 --- /dev/null +++ b/src/amuse_secularmultiple/src/cvode/LICENSE @@ -0,0 +1,62 @@ +Copyright (c) 2002-2009, Lawrence Livermore National Security. +Produced at the Lawrence Livermore National Laboratory. +Written by A.C. Hindmarsh, D.R. Reynolds, R. Serban, C.S. Woodward, +S.D. Cohen, A.G. Taylor, S. Peles, L.E. Banks, and D. Shumaker. +UCRL-CODE-155951 (CVODE) +All rights reserved. + +This file is part of SUNDIALS. For details, +see http://computation.llnl.gov/projects/sundials + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright +notice, this list of conditions and the disclaimer below. + +2. Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the disclaimer (as noted below) +in the documentation and/or other materials provided with the +distribution. + +3. Neither the name of the LLNS/LLNL nor the names of its contributors +may be used to endorse or promote products derived from this software +without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +LAWRENCE LIVERMORE NATIONAL SECURITY, LLC, THE U.S. DEPARTMENT OF +ENERGY OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Additional BSD Notice +--------------------- +1. This notice is required to be provided under our contract with +the U.S. Department of Energy (DOE). This work was produced at +Lawrence Livermore National Laboratory under Contract +No. DE-AC52-07NA27344 with the DOE. + +2. Neither the United States Government nor Lawrence Livermore +National Security, LLC nor any of their employees, makes any warranty, +express or implied, or assumes any liability or responsibility for the +accuracy, completeness, or usefulness of any information, apparatus, +product, or process disclosed, or represents that its use would not +infringe privately-owned rights. + +3. Also, reference herein to any specific commercial products, process, +or services by trade name, trademark, manufacturer or otherwise does +not necessarily constitute or imply its endorsement, recommendation, +or favoring by the United States Government or Lawrence Livermore +National Security, LLC. The views and opinions of authors expressed +herein do not necessarily state or reflect those of the United States +Government or Lawrence Livermore National Security, LLC, and shall +not be used for advertising or product endorsement purposes. + diff --git a/src/amuse/community/secularmultiple/src/cvode/cvode.c b/src/amuse_secularmultiple/src/cvode/cvode.c old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/secularmultiple/src/cvode/cvode.c rename to src/amuse_secularmultiple/src/cvode/cvode.c diff --git a/src/amuse/community/secularmultiple/src/cvode/cvode.h b/src/amuse_secularmultiple/src/cvode/cvode.h old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/secularmultiple/src/cvode/cvode.h rename to src/amuse_secularmultiple/src/cvode/cvode.h diff --git a/src/amuse/community/secularmultiple/src/cvode/cvode_dense.c b/src/amuse_secularmultiple/src/cvode/cvode_dense.c old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/secularmultiple/src/cvode/cvode_dense.c rename to src/amuse_secularmultiple/src/cvode/cvode_dense.c diff --git a/src/amuse/community/secularmultiple/src/cvode/cvode_dense.h b/src/amuse_secularmultiple/src/cvode/cvode_dense.h old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/secularmultiple/src/cvode/cvode_dense.h rename to src/amuse_secularmultiple/src/cvode/cvode_dense.h diff --git a/src/amuse/community/secularmultiple/src/cvode/cvode_direct.c b/src/amuse_secularmultiple/src/cvode/cvode_direct.c old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/secularmultiple/src/cvode/cvode_direct.c rename to src/amuse_secularmultiple/src/cvode/cvode_direct.c diff --git a/src/amuse/community/secularmultiple/src/cvode/cvode_direct.h b/src/amuse_secularmultiple/src/cvode/cvode_direct.h old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/secularmultiple/src/cvode/cvode_direct.h rename to src/amuse_secularmultiple/src/cvode/cvode_direct.h diff --git a/src/amuse/community/secularmultiple/src/cvode/cvode_direct_impl.h b/src/amuse_secularmultiple/src/cvode/cvode_direct_impl.h old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/secularmultiple/src/cvode/cvode_direct_impl.h rename to src/amuse_secularmultiple/src/cvode/cvode_direct_impl.h diff --git a/src/amuse/community/secularmultiple/src/cvode/cvode_impl.h b/src/amuse_secularmultiple/src/cvode/cvode_impl.h old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/secularmultiple/src/cvode/cvode_impl.h rename to src/amuse_secularmultiple/src/cvode/cvode_impl.h diff --git a/src/amuse/community/secularmultiple/src/cvode/cvode_io.c b/src/amuse_secularmultiple/src/cvode/cvode_io.c old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/secularmultiple/src/cvode/cvode_io.c rename to src/amuse_secularmultiple/src/cvode/cvode_io.c diff --git a/src/amuse/community/secularmultiple/src/cvode/nvector_serial.c b/src/amuse_secularmultiple/src/cvode/nvector_serial.c old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/secularmultiple/src/cvode/nvector_serial.c rename to src/amuse_secularmultiple/src/cvode/nvector_serial.c diff --git a/src/amuse/community/secularmultiple/src/cvode/nvector_serial.h b/src/amuse_secularmultiple/src/cvode/nvector_serial.h old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/secularmultiple/src/cvode/nvector_serial.h rename to src/amuse_secularmultiple/src/cvode/nvector_serial.h diff --git a/src/amuse/community/secularmultiple/src/cvode/sundials_config.h b/src/amuse_secularmultiple/src/cvode/sundials_config.h old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/secularmultiple/src/cvode/sundials_config.h rename to src/amuse_secularmultiple/src/cvode/sundials_config.h diff --git a/src/amuse/community/secularmultiple/src/cvode/sundials_dense.c b/src/amuse_secularmultiple/src/cvode/sundials_dense.c old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/secularmultiple/src/cvode/sundials_dense.c rename to src/amuse_secularmultiple/src/cvode/sundials_dense.c diff --git a/src/amuse/community/secularmultiple/src/cvode/sundials_dense.h b/src/amuse_secularmultiple/src/cvode/sundials_dense.h old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/secularmultiple/src/cvode/sundials_dense.h rename to src/amuse_secularmultiple/src/cvode/sundials_dense.h diff --git a/src/amuse/community/secularmultiple/src/cvode/sundials_direct.c b/src/amuse_secularmultiple/src/cvode/sundials_direct.c old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/secularmultiple/src/cvode/sundials_direct.c rename to src/amuse_secularmultiple/src/cvode/sundials_direct.c diff --git a/src/amuse/community/secularmultiple/src/cvode/sundials_direct.h b/src/amuse_secularmultiple/src/cvode/sundials_direct.h old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/secularmultiple/src/cvode/sundials_direct.h rename to src/amuse_secularmultiple/src/cvode/sundials_direct.h diff --git a/src/amuse/community/secularmultiple/src/cvode/sundials_math.c b/src/amuse_secularmultiple/src/cvode/sundials_math.c old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/secularmultiple/src/cvode/sundials_math.c rename to src/amuse_secularmultiple/src/cvode/sundials_math.c diff --git a/src/amuse/community/secularmultiple/src/cvode/sundials_math.h b/src/amuse_secularmultiple/src/cvode/sundials_math.h old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/secularmultiple/src/cvode/sundials_math.h rename to src/amuse_secularmultiple/src/cvode/sundials_math.h diff --git a/src/amuse/community/secularmultiple/src/cvode/sundials_nvector.c b/src/amuse_secularmultiple/src/cvode/sundials_nvector.c old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/secularmultiple/src/cvode/sundials_nvector.c rename to src/amuse_secularmultiple/src/cvode/sundials_nvector.c diff --git a/src/amuse/community/secularmultiple/src/cvode/sundials_nvector.h b/src/amuse_secularmultiple/src/cvode/sundials_nvector.h old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/secularmultiple/src/cvode/sundials_nvector.h rename to src/amuse_secularmultiple/src/cvode/sundials_nvector.h diff --git a/src/amuse/community/secularmultiple/src/cvode/sundials_types.h b/src/amuse_secularmultiple/src/cvode/sundials_types.h old mode 100755 new mode 100644 similarity index 100% rename from src/amuse/community/secularmultiple/src/cvode/sundials_types.h rename to src/amuse_secularmultiple/src/cvode/sundials_types.h diff --git a/src/amuse/community/secularmultiple/src/evolve.cpp b/src/amuse_secularmultiple/src/evolve.cpp similarity index 100% rename from src/amuse/community/secularmultiple/src/evolve.cpp rename to src/amuse_secularmultiple/src/evolve.cpp diff --git a/src/amuse/community/secularmultiple/src/evolve.h b/src/amuse_secularmultiple/src/evolve.h similarity index 100% rename from src/amuse/community/secularmultiple/src/evolve.h rename to src/amuse_secularmultiple/src/evolve.h diff --git a/src/amuse/community/secularmultiple/src/external.cpp b/src/amuse_secularmultiple/src/external.cpp similarity index 100% rename from src/amuse/community/secularmultiple/src/external.cpp rename to src/amuse_secularmultiple/src/external.cpp diff --git a/src/amuse/community/secularmultiple/src/external.h b/src/amuse_secularmultiple/src/external.h similarity index 100% rename from src/amuse/community/secularmultiple/src/external.h rename to src/amuse_secularmultiple/src/external.h diff --git a/src/amuse/community/secularmultiple/src/newtonian.cpp b/src/amuse_secularmultiple/src/newtonian.cpp similarity index 100% rename from src/amuse/community/secularmultiple/src/newtonian.cpp rename to src/amuse_secularmultiple/src/newtonian.cpp diff --git a/src/amuse/community/secularmultiple/src/newtonian.h b/src/amuse_secularmultiple/src/newtonian.h similarity index 100% rename from src/amuse/community/secularmultiple/src/newtonian.h rename to src/amuse_secularmultiple/src/newtonian.h diff --git a/src/amuse/community/secularmultiple/src/postnewtonian.cpp b/src/amuse_secularmultiple/src/postnewtonian.cpp similarity index 100% rename from src/amuse/community/secularmultiple/src/postnewtonian.cpp rename to src/amuse_secularmultiple/src/postnewtonian.cpp diff --git a/src/amuse/community/secularmultiple/src/postnewtonian.h b/src/amuse_secularmultiple/src/postnewtonian.h similarity index 100% rename from src/amuse/community/secularmultiple/src/postnewtonian.h rename to src/amuse_secularmultiple/src/postnewtonian.h diff --git a/src/amuse/community/secularmultiple/src/root_finding.cpp b/src/amuse_secularmultiple/src/root_finding.cpp similarity index 100% rename from src/amuse/community/secularmultiple/src/root_finding.cpp rename to src/amuse_secularmultiple/src/root_finding.cpp diff --git a/src/amuse/community/secularmultiple/src/root_finding.h b/src/amuse_secularmultiple/src/root_finding.h similarity index 100% rename from src/amuse/community/secularmultiple/src/root_finding.h rename to src/amuse_secularmultiple/src/root_finding.h diff --git a/src/amuse/community/secularmultiple/src/structure.cpp b/src/amuse_secularmultiple/src/structure.cpp similarity index 100% rename from src/amuse/community/secularmultiple/src/structure.cpp rename to src/amuse_secularmultiple/src/structure.cpp diff --git a/src/amuse/community/secularmultiple/src/structure.h b/src/amuse_secularmultiple/src/structure.h similarity index 100% rename from src/amuse/community/secularmultiple/src/structure.h rename to src/amuse_secularmultiple/src/structure.h diff --git a/src/amuse/community/secularmultiple/src/tides.cpp b/src/amuse_secularmultiple/src/tides.cpp similarity index 100% rename from src/amuse/community/secularmultiple/src/tides.cpp rename to src/amuse_secularmultiple/src/tides.cpp diff --git a/src/amuse/community/secularmultiple/src/tides.h b/src/amuse_secularmultiple/src/tides.h similarity index 100% rename from src/amuse/community/secularmultiple/src/tides.h rename to src/amuse_secularmultiple/src/tides.h diff --git a/src/amuse/community/secularmultiple/src/types.cpp b/src/amuse_secularmultiple/src/types.cpp similarity index 100% rename from src/amuse/community/secularmultiple/src/types.cpp rename to src/amuse_secularmultiple/src/types.cpp diff --git a/src/amuse/community/secularmultiple/src/types.h b/src/amuse_secularmultiple/src/types.h similarity index 100% rename from src/amuse/community/secularmultiple/src/types.h rename to src/amuse_secularmultiple/src/types.h diff --git a/src/amuse_secularmultiple/support/aclocal.m4 b/src/amuse_secularmultiple/support/aclocal.m4 new file mode 100644 index 0000000000..e4cc83766d --- /dev/null +++ b/src/amuse_secularmultiple/support/aclocal.m4 @@ -0,0 +1,17 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) diff --git a/src/amuse_secularmultiple/support/config.mk.in b/src/amuse_secularmultiple/support/config.mk.in new file mode 100644 index 0000000000..3f7938ac36 --- /dev/null +++ b/src/amuse_secularmultiple/support/config.mk.in @@ -0,0 +1,20 @@ +# Compilers +CC = @CC@ +CXX = @CXX@ + +MPICC = @MPICC@ +MPICXX = @MPICXX@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ +DOWNLOAD = @DOWNLOAD@ + + +# General flags and libraries +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ diff --git a/src/amuse_secularmultiple/support/configure b/src/amuse_secularmultiple/support/configure new file mode 100755 index 0000000000..77100c96e0 --- /dev/null +++ b/src/amuse_secularmultiple/support/configure @@ -0,0 +1,6301 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-secularmultiple 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-secularmultiple' +PACKAGE_TARNAME='amuse-secularmultiple' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-secularmultiple 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +RANLIB +AR +target_os +target_vendor +target_cpu +target +ac_ct_CXX +CXXFLAGS +CXX +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +MPICC +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-secularmultiple 1.0 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/amuse-secularmultiple] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-secularmultiple 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + 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 + CXX C++ compiler command + CXXFLAGS C++ compiler flags + MPICC MPI C compiler command + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-secularmultiple configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-secularmultiple $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Set the worker language + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + +# Find external dependencies +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 + + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-secularmultiple $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-secularmultiple config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_secularmultiple/support/configure.ac b/src/amuse_secularmultiple/support/configure.ac new file mode 100644 index 0000000000..a41e228f8a --- /dev/null +++ b/src/amuse_secularmultiple/support/configure.ac @@ -0,0 +1,37 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-secularmultiple], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Set the worker language +AC_PROG_CC() +AC_PROG_CXX() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + +# Find external dependencies +AC_LANG_PUSH([C]) +AX_MPI() +AC_LANG_POP([C]) + +AC_LANG_PUSH([C++]) +AX_MPI() +AC_LANG_POP([C++]) + + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_secularmultiple/support/shared b/src/amuse_secularmultiple/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_secularmultiple/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_secularmultiple.py b/src/amuse_secularmultiple/tests/test_secularmultiple.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_secularmultiple.py rename to src/amuse_secularmultiple/tests/test_secularmultiple.py index 0c4d5b0281..7821f037ce 100644 --- a/src/amuse/test/suite/codes_tests/test_secularmultiple.py +++ b/src/amuse_secularmultiple/tests/test_secularmultiple.py @@ -1,10 +1,10 @@ -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI import os import sys import numpy import math -from amuse.community.secularmultiple.interface import SecularMultipleInterface, SecularMultiple +from amuse_secularmultiple.interface import SecularMultipleInterface, SecularMultiple from amuse.units import units, quantities, constants from amuse.datamodel import Particles diff --git a/src/amuse_sei/Makefile b/src/amuse_sei/Makefile new file mode 100644 index 0000000000..1527801ff4 --- /dev/null +++ b/src/amuse_sei/Makefile @@ -0,0 +1,76 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library +DEPFLAGS += $(AMUSE_MPI_CFLAGS) + +CFLAGS += $(DEPFLAGS) +FFLAGS += $(DEPFLAGS) + +LDFLAGS += + +LDLIBS += -lm $(AMUSE_MPI_LIBS) + + +CODELIB = src/libsei.a + + +.PHONY: $(CODELIB) +$(CODELIB): | src + $(MAKE) -C src -j $(CPU_COUNT) CC='$(MPICC)' all + +# Building the workers +sei_worker.h: interface.py + amusifier --type=h interface.py SeiInterface -o $@ + +sei_worker.cc: interface.py + amusifier --type=c interface.py SeiInterface -o $@ + +interface.o: interface.cc interface.h sei_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) -I./src/ $< + +sei_worker.o: sei_worker.cc sei_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + +sei_worker: sei_worker.o interface.o $(CODELIB) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + + +# Which packages contain which workers? +amuse-sei_contains: sei_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + diff --git a/src/amuse_sei/__init__.py b/src/amuse_sei/__init__.py new file mode 100644 index 0000000000..615c14382f --- /dev/null +++ b/src/amuse_sei/__init__.py @@ -0,0 +1 @@ +from .interface import Sei diff --git a/src/amuse/community/sei/example.py b/src/amuse_sei/example.py similarity index 100% rename from src/amuse/community/sei/example.py rename to src/amuse_sei/example.py diff --git a/src/amuse_sei/interface.cc b/src/amuse_sei/interface.cc new file mode 100644 index 0000000000..bfd1f75adc --- /dev/null +++ b/src/amuse_sei/interface.cc @@ -0,0 +1,113 @@ +/* + AMUSE interface to SEI + ====================== + + Hanno Rein, Scott Tremaine + +*/ +#include +#include +#ifdef __cplusplus +extern "C" { +#endif +#include "src/sei.h" +#ifdef __cplusplus +} +#endif +#include "interface.h" +#include "sei_worker.h" + +static double time; +static double dt; + +static struct particle p; + +static void (*tt_operator)(double dt, struct particle *p); + +int initialization() { + time = 0.0; + dt = 1e-3 * 2.0 * M_PI; + tt_operator = &operator_sei;//default :) + return 0; +} + +int new_particle(int *id, double x, double y, double z, + double vx, double vy, double vz) +{ + *id = 0; + + p.x = x; + p.y = y; + p.z = z; + p.vx = vx; + p.vy = vy; + p.vz = vz; + + return 0; +} + +int delete_particle(int id) { + id = 0; + + return 0; +} + +int set_timestep(double dt_) +{ + dt = dt_; + return 0; +} + +int set_state(int id, double x, double y, double z, + double vx, double vy, double vz) +{ + p.x = x; + p.y = y; + p.z = z; + p.vx = vx; + p.vy = vy; + p.vz = vz; + return 0; +} + +int get_state(int id, double *x, double *y, double *z, + double *vx, double *vy, double *vz) +{ + *x = p.x; + *y = p.y; + *z = p.z; + *vx = p.vx; + *vy = p.vy; + *vz = p.vz; + return 0; +} + +int get_time(int id, double *time_) +{ + *time_ = time; + return 0; +} + +int select_integrator(int i) +{ + switch(i) { + case 1: + tt_operator = &operator_sei;break; + case 2: + tt_operator = &operator_lf;break; + case 3: + tt_operator = &operator_quinn;break; + default: return -1; + } + return 0; +} + +int evolve(double time_end) +{ + while (time/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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-sei' +PACKAGE_TARNAME='amuse-sei' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-sei 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +RANLIB +AR +target_os +target_vendor +target_cpu +target +ac_ct_CXX +CXXFLAGS +CXX +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +MPICC +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-sei 1.0 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/amuse-sei] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-sei 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + 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 + CXX C++ compiler command + CXXFLAGS C++ compiler flags + MPICC MPI C compiler command + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-sei configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-sei $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Set the worker language +# Find the compiler(s) + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find external dependencies +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 + + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-sei $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-sei config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_sei/support/configure.ac b/src/amuse_sei/support/configure.ac new file mode 100644 index 0000000000..fc2366fb59 --- /dev/null +++ b/src/amuse_sei/support/configure.ac @@ -0,0 +1,37 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-sei], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Set the worker language +# Find the compiler(s) +AC_PROG_CC() +AC_PROG_CXX() + +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find external dependencies +AC_LANG_PUSH([C]) +AX_MPI() +AC_LANG_POP([C]) + +AC_LANG_PUSH([C++]) +AX_MPI() +AC_LANG_POP([C++]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_sei/support/shared b/src/amuse_sei/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_sei/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/community/sei/test_sei.py b/src/amuse_sei/tests/test_sei.py similarity index 87% rename from src/amuse/community/sei/test_sei.py rename to src/amuse_sei/tests/test_sei.py index 5bdde390db..e14f12a101 100644 --- a/src/amuse/community/sei/test_sei.py +++ b/src/amuse_sei/tests/test_sei.py @@ -1,4 +1,4 @@ -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI from amuse.units import nbody_system from amuse.units import units import os @@ -6,8 +6,8 @@ import numpy import math -from amuse.community.sei.interface import SeiInterface -from amuse.community.sei.interface import Sei +from amuse_sei.interface import SeiInterface +from amuse_sei.interface import Sei from amuse import datamodel diff --git a/src/amuse/community/simplex/Makefile b/src/amuse_simplex/Makefile similarity index 100% rename from src/amuse/community/simplex/Makefile rename to src/amuse_simplex/Makefile diff --git a/src/amuse_simplex/__init__.py b/src/amuse_simplex/__init__.py new file mode 100644 index 0000000000..e06fb8a478 --- /dev/null +++ b/src/amuse_simplex/__init__.py @@ -0,0 +1 @@ +from .interface import Simplex diff --git a/src/amuse/community/simplex/data/input/C.Hcool b/src/amuse_simplex/data/input/C.Hcool similarity index 100% rename from src/amuse/community/simplex/data/input/C.Hcool rename to src/amuse_simplex/data/input/C.Hcool diff --git a/src/amuse/community/simplex/data/input/C.cool b/src/amuse_simplex/data/input/C.cool similarity index 100% rename from src/amuse/community/simplex/data/input/C.cool rename to src/amuse_simplex/data/input/C.cool diff --git a/src/amuse/community/simplex/data/input/Fe.Hcool b/src/amuse_simplex/data/input/Fe.Hcool similarity index 100% rename from src/amuse/community/simplex/data/input/Fe.Hcool rename to src/amuse_simplex/data/input/Fe.Hcool diff --git a/src/amuse/community/simplex/data/input/Fe.cool b/src/amuse_simplex/data/input/Fe.cool similarity index 100% rename from src/amuse/community/simplex/data/input/Fe.cool rename to src/amuse_simplex/data/input/Fe.cool diff --git a/src/amuse/community/simplex/data/input/H.Hcool b/src/amuse_simplex/data/input/H.Hcool similarity index 100% rename from src/amuse/community/simplex/data/input/H.Hcool rename to src/amuse_simplex/data/input/H.Hcool diff --git a/src/amuse/community/simplex/data/input/H.cool b/src/amuse_simplex/data/input/H.cool similarity index 100% rename from src/amuse/community/simplex/data/input/H.cool rename to src/amuse_simplex/data/input/H.cool diff --git a/src/amuse/community/simplex/data/input/H2.Hcool b/src/amuse_simplex/data/input/H2.Hcool similarity index 100% rename from src/amuse/community/simplex/data/input/H2.Hcool rename to src/amuse_simplex/data/input/H2.Hcool diff --git a/src/amuse/community/simplex/data/input/He.Hcool b/src/amuse_simplex/data/input/He.Hcool similarity index 100% rename from src/amuse/community/simplex/data/input/He.Hcool rename to src/amuse_simplex/data/input/He.Hcool diff --git a/src/amuse/community/simplex/data/input/He.cool b/src/amuse_simplex/data/input/He.cool similarity index 100% rename from src/amuse/community/simplex/data/input/He.cool rename to src/amuse_simplex/data/input/He.cool diff --git a/src/amuse/community/simplex/data/input/N.Hcool b/src/amuse_simplex/data/input/N.Hcool similarity index 100% rename from src/amuse/community/simplex/data/input/N.Hcool rename to src/amuse_simplex/data/input/N.Hcool diff --git a/src/amuse/community/simplex/data/input/N.cool b/src/amuse_simplex/data/input/N.cool similarity index 100% rename from src/amuse/community/simplex/data/input/N.cool rename to src/amuse_simplex/data/input/N.cool diff --git a/src/amuse/community/simplex/data/input/Ne.Hcool b/src/amuse_simplex/data/input/Ne.Hcool similarity index 100% rename from src/amuse/community/simplex/data/input/Ne.Hcool rename to src/amuse_simplex/data/input/Ne.Hcool diff --git a/src/amuse/community/simplex/data/input/Ne.cool b/src/amuse_simplex/data/input/Ne.cool similarity index 100% rename from src/amuse/community/simplex/data/input/Ne.cool rename to src/amuse_simplex/data/input/Ne.cool diff --git a/src/amuse/community/simplex/data/input/O.Hcool b/src/amuse_simplex/data/input/O.Hcool similarity index 100% rename from src/amuse/community/simplex/data/input/O.Hcool rename to src/amuse_simplex/data/input/O.Hcool diff --git a/src/amuse/community/simplex/data/input/O.cool b/src/amuse_simplex/data/input/O.cool similarity index 100% rename from src/amuse/community/simplex/data/input/O.cool rename to src/amuse_simplex/data/input/O.cool diff --git a/src/amuse/community/simplex/data/input/Si.Hcool b/src/amuse_simplex/data/input/Si.Hcool similarity index 100% rename from src/amuse/community/simplex/data/input/Si.Hcool rename to src/amuse_simplex/data/input/Si.Hcool diff --git a/src/amuse/community/simplex/data/input/Si.cool b/src/amuse_simplex/data/input/Si.cool similarity index 100% rename from src/amuse/community/simplex/data/input/Si.cool rename to src/amuse_simplex/data/input/Si.cool diff --git a/src/amuse/community/simplex/data/input/vertices_10.txt b/src/amuse_simplex/data/input/vertices_10.txt similarity index 100% rename from src/amuse/community/simplex/data/input/vertices_10.txt rename to src/amuse_simplex/data/input/vertices_10.txt diff --git a/src/amuse/community/simplex/data/input/vertices_test.txt b/src/amuse_simplex/data/input/vertices_test.txt similarity index 100% rename from src/amuse/community/simplex/data/input/vertices_test.txt rename to src/amuse_simplex/data/input/vertices_test.txt diff --git a/src/amuse/community/simplex/data/input/vertices_test2.txt b/src/amuse_simplex/data/input/vertices_test2.txt similarity index 100% rename from src/amuse/community/simplex/data/input/vertices_test2.txt rename to src/amuse_simplex/data/input/vertices_test2.txt diff --git a/src/amuse/community/simplex/data/input/vertices_test3.txt b/src/amuse_simplex/data/input/vertices_test3.txt similarity index 100% rename from src/amuse/community/simplex/data/input/vertices_test3.txt rename to src/amuse_simplex/data/input/vertices_test3.txt diff --git a/src/amuse_simplex/interface.py b/src/amuse_simplex/interface.py new file mode 100644 index 0000000000..65d36b7265 --- /dev/null +++ b/src/amuse_simplex/interface.py @@ -0,0 +1,1323 @@ +import os.path +from amuse.community.interface.common import CommonCodeInterface, CommonCode +from amuse.community import * +from amuse.support.options import option + +from amuse.datamodel import Particles + +class SimpleXInterface(CodeInterface, CommonCodeInterface, LiteratureReferencesMixIn, + CodeWithDataDirectories): + """ + SimpleX(2.5) is a method for radiative transfer on an unstructured Delaunay + grid. The grid samples the medium through which photons are transported in + an optimal way for fast radiative transfer calculations. + + The relevant references are: + .. [#] ADS:2011PhDT........13K (Kruip, C.J.H., Ph. D. thesis, University of Leiden (2011)) + .. [#] ADS:2010PhDT........63P (Paardekooper, J.-P., Ph. D. thesis, University of Leiden (2010)) + .. [#] ADS:2010A&A...515A..79P (Paardekooper, J.-P., Kruip, C.J.H., Icke, V. 2010, A&A, 515, A79 (SimpleX2)) + .. [#] ADS:2006PhRvE..74b6704R (Ritzerveld, J., & Icke, V. 2006, Phys. Rev. E, 74, 26704 (SimpleX)) + """ + include_headers=['worker_code.h'] + + def __init__(self, **kwargs): + CodeInterface.__init__(self, name_of_the_worker = "simplex_worker", **kwargs) + LiteratureReferencesMixIn.__init__(self) + CodeWithDataDirectories.__init__(self) + + @legacy_function + def set_simplex_output_directory(): + function = LegacyFunctionSpecification() + function.addParameter('output_path', dtype='string', direction=function.IN, + description = "Name of the output directory") + function.result_type = 'int32' + return function + + @legacy_function + def set_simplex_data_directory(): + """ + Update the path to the SimpleX database. + """ + function = LegacyFunctionSpecification() + function.addParameter('data_directory', dtype='string', direction=function.IN, + description = "Name of the SimpleX data directory") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value was set + -1 - ERROR + Directory does not exist + """ + return function + + @legacy_function + def get_simplex_data_directory(): + """ + Retrieve the path to the SimpleX database currently used. + """ + function = LegacyFunctionSpecification() + function.addParameter('data_directory', dtype='string', direction=function.OUT, + description = "Name of the SimpleX data directory") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Value was retrieved + -1 - ERROR + Could not retrieve value + """ + return function + + @legacy_function + def commit_particles(): + """ + Let the code perform initialization actions + after all particles have been loaded in the model. + Should be called before the first evolve call and + after the last new_particle call. + """ + function = LegacyFunctionSpecification() + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Model is initialized and evolution can start + -1 - ERROR + Error happened during initialization, this error needs to be further specified by every code implemention + """ + return function + + @legacy_function + def recommit_particles(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + @legacy_function + def new_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.OUT) + for x in ['x','y','z','rho','flux','xion','u']: + function.addParameter(x, dtype='float64', direction=function.IN) + function.addParameter('metallicity', dtype='float64',direction=function.IN, default=0.0 ) + function.result_type = 'int32' + return function + + @legacy_function + def delete_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_state(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + for x in ['x','y','z','rho','flux','xion','u']: + function.addParameter(x, dtype='float64', direction=function.OUT) + function.addParameter('metallicity', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_position(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to get the position from. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('x', dtype='float64', direction=function.OUT, description = "The current x position of the particle") + function.addParameter('y', dtype='float64', direction=function.OUT, description = "The current y position of the particle") + function.addParameter('z', dtype='float64', direction=function.OUT, description = "The current z position of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + current value was retrieved + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def get_flux(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to get the flux from. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('flux', dtype='float64', direction=function.OUT, description = "The current flux of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + current value was retrieved + -1 - ERROR + particle could not be found + """ + return function + + + @legacy_function + def get_mean_intensity(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to get the mean intensity from. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('Js', dtype='float64', direction=function.OUT, description = "The current mean intensity of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + current value was retrieved + -1 - ERROR + particle could not be found + """ + return function + + + @legacy_function + def get_diffuse_intensity(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to get the diffuse intensity from. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('Jd', dtype='float64', direction=function.OUT, description = "The current diffuse intensity of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + current value was retrieved + -1 - ERROR + particle could not be found + """ + return function + + + @legacy_function + def get_density(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to get the density from. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('rho', dtype='float64', direction=function.OUT, description = "The current density of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + current value was retrieved + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def get_internal_energy(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to get the internal energy from. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('u', dtype='float64', direction=function.OUT, description = "The current internal energy of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + current value was retrieved + -1 - ERROR + particle could not be found + """ + return function + + + @legacy_function + def get_dinternal_energy_dt(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to get the d/dt internal energy from. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('du_dt', dtype='float64', direction=function.OUT, description = "The current d/dt internal energy of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + current value was retrieved + -1 - ERROR + particle could not be found + """ + return function + + + @legacy_function + def get_ionisation(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to get the ionisation from. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('xion', dtype='float64', direction=function.OUT, description = "The current ionisation of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + current value was retrieved + -1 - ERROR + particle could not be found + """ + return function + + + @legacy_function + def get_metallicity(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to get the metallicity from. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('metallicity', dtype='float64', direction=function.OUT, description = "The current metallicity of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + current value was retrieved + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def set_state(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + for x in ['x','y','z','rho','flux','xion','u']: + function.addParameter(x, dtype='float64', direction=function.IN) + function.addParameter('metallicity',dtype='float64',direction=function.IN,default=0.0) + function.result_type = 'int32' + return function + + @legacy_function + def set_position(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to set the position for. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('x', dtype='float64', direction=function.IN, description = "The new x position of the particle") + function.addParameter('y', dtype='float64', direction=function.IN, description = "The new y position of the particle") + function.addParameter('z', dtype='float64', direction=function.IN, description = "The new z position of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + new value was set + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def set_flux(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to set the flux for. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('flux', dtype='float64', direction=function.IN, description = "The new flux of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + new value was set + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def set_density(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to set the density for. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('rho', dtype='float64', direction=function.IN, description = "The new density of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + new value was set + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def set_internal_energy(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to set the internal energy for. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('u', dtype='float64', direction=function.IN, description = "The new internal energy of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + new value was set + -1 - ERROR + particle could not be found + """ + return function + + + @legacy_function + def set_dinternal_energy_dt(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to set the d/dt internal energy for. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('du_dt', dtype='float64', direction=function.IN, description = "The new d/dt internal energy of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + new value was set + -1 - ERROR + particle could not be found + """ + return function + + + @legacy_function + def set_ionisation(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to set the ionisation for. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('xion', dtype='float64', direction=function.IN, description = "The new ionisation of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + new value was set + -1 - ERROR + particle could not be found + """ + return function + + + @legacy_function + def set_metallicity(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN, + description = "Index of the particle to set the metallicity for. This index must have been returned by an earlier call to :meth:`new_particle`") + function.addParameter('metallicity', dtype='float64', direction=function.IN, description = "The new metallicity of the particle") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + new value was set + -1 - ERROR + particle could not be found + """ + return function + + @legacy_function + def evolve_model(): + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='float64', direction=function.IN) +# function.addParameter('synchronize', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + + @legacy_function + def set_box_size(): + function = LegacyFunctionSpecification() + function.addParameter('box_size', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_box_size(): + function = LegacyFunctionSpecification() + function.addParameter('box_size', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_hilbert_order(): + function = LegacyFunctionSpecification() + function.addParameter('hilbert_order', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_hilbert_order(): + function = LegacyFunctionSpecification() + function.addParameter('hilbert_order', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_timestep(): + function = LegacyFunctionSpecification() + function.addParameter('timestep', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + + @legacy_function + def get_timestep(): + function = LegacyFunctionSpecification() + function.addParameter('timestep', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_time(): + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_time(): + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + + + @legacy_function + def set_source_Teff(): + function = LegacyFunctionSpecification() + function.addParameter('sourceTeff', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_source_Teff(): + function = LegacyFunctionSpecification() + function.addParameter('sourceTeff', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_number_frequency_bins(): + function = LegacyFunctionSpecification() + function.addParameter('number_of_freq_bins', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_number_frequency_bins(): + function = LegacyFunctionSpecification() + function.addParameter('number_of_freq_bins', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_number_of_border_sites(): + function = LegacyFunctionSpecification() + function.addParameter('number_of_border_sites', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_number_of_border_sites(): + function = LegacyFunctionSpecification() + function.addParameter('number_of_border_sites', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_thermal_evolution(): + function = LegacyFunctionSpecification() + function.addParameter('thermal_evolution_flag', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_thermal_evolution(): + function = LegacyFunctionSpecification() + function.addParameter('thermal_evolution_flag', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_blackbody_spectrum(): + function = LegacyFunctionSpecification() + function.addParameter('blackbody_spectrum_flag', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_blackbody_spectrum(): + function = LegacyFunctionSpecification() + function.addParameter('blackbody_spectrum_flag', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + + @legacy_function + def set_metal_cooling(): + function = LegacyFunctionSpecification() + function.addParameter('metal_cooling_flag', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_metal_cooling(): + function = LegacyFunctionSpecification() + function.addParameter('metal_cooling_flag', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + + @legacy_function + def set_recombination_radiation(): + function = LegacyFunctionSpecification() + function.addParameter('recombination_radiation_flag', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_recombination_radiation(): + function = LegacyFunctionSpecification() + function.addParameter('recombination_radiation_flag', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + + @legacy_function + def set_collisional_ionization(): + function = LegacyFunctionSpecification() + function.addParameter('collisional_ionisation_flag', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_collisional_ionization(): + function = LegacyFunctionSpecification() + function.addParameter('collisional_ionisation_flag', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + def synchronize_model(self): + pass + + def auto_go_to_run(self): + pass + + + +class GlSimpleXInterface(SimpleXInterface): + include_headers=['worker_gl.h'] + + def __init__(self, **kwargs): + CodeInterface.__init__(self,debug_with_gdb=False, + name_of_the_worker = 'simplex_worker_gl', **kwargs) + + @legacy_function + def start_viewer(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + @legacy_function + def stop_viewer(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + +class SimpleXDoc(object): + + def __get__(self, instance, owner): + return instance.legacy_interface.__doc__+"\n\n"+instance.parameters.__doc__ + + +class SimpleX(CommonCode): + + __doc__ = SimpleXDoc() + + def __init__(self, **options): + InCodeComponentImplementation.__init__(self, SimpleXInterface(**options)) + self.set_simplex_output_directory(self.output_directory) + self.set_simplex_data_directory(self.data_directory) + + def define_properties(self, handler): + handler.add_property('get_time', public_name = "model_time") + + def define_parameters(self, handler): + + handler.add_method_parameter( + "get_timestep", + "set_timestep", + "timestep", + "timestep for radiative transfer sweeps", + default_value = 0.05 | units.Myr + ) + + handler.add_method_parameter( + "get_source_Teff", + "set_source_Teff", + "source_effective_T", + "effective temperature for sources", + default_value = 1.e5 | units.K + ) + + + handler.add_method_parameter( + "get_hilbert_order", + "set_hilbert_order", + "hilbert_order", + "hilbert_order for domain decomposition", + default_value = 1 + ) + + handler.add_method_parameter( + "get_number_frequency_bins", + "set_number_frequency_bins", + "number_of_freq_bins", + "the number of bins of frequency", + default_value = 1 + ) + + handler.add_method_parameter( + "get_thermal_evolution", + "set_thermal_evolution", + "thermal_evolution_flag", + "solve full thermal evolution if 1", + default_value = 0 + ) + + handler.add_method_parameter( + "get_metal_cooling", + "set_metal_cooling", + "metal_cooling_flag", + "include cooling from metals if 1, not if zero", + default_value = 0 + ) + + handler.add_method_parameter( + "get_recombination_radiation", + "set_recombination_radiation", + "recombination_radiation_flag", + "include recombination radiation if 1, not if zero", + default_value = 0 + ) + + handler.add_method_parameter( + "get_blackbody_spectrum", + "set_blackbody_spectrum", + "blackbody_spectrum_flag", + "monochromatic if 0, blackbody_spectrum if 1", + default_value = 0 + ) + + handler.add_method_parameter( + "get_collisional_ionization", + "set_collisional_ionization", + "collisional_ionization_flag", + "not use collisional ionization if 0, do if 1", + default_value = 0 + ) + + handler.add_method_parameter( + "get_box_size", + "set_box_size", + "box_size", + "boxsize for radiative transfer particle distribution", + default_value = 13200. | units.parsec + ) + + handler.add_method_parameter( + "get_simplex_data_directory", + "set_simplex_data_directory", + "simplex_data_directory", + "Name of the SimpleX data directory", + default_value = "." + ) + handler.add_method_parameter( + "get_number_of_border_sites", + "set_number_of_border_sites", + "number_of_border_sites", + "Number of border sites to generate on the boundary, needs to be a large number. These sites will be placed randomly outside the problem domain and will culled to create a closed boundary", + default_value = 25000 + ) + + def define_methods(self, handler): + CommonCode.define_methods(self, handler) + handler.add_method('evolve_model', (units.Myr,), ( handler.ERROR_CODE, )) + handler.add_method( + "new_particle", + ( + units.parsec, + units.parsec, + units.parsec, + units.amu / units.cm**3, + 1.0e48 / units.s, + handler.NO_UNIT, + units.cm**2 / units.s**2, + handler.NO_UNIT + ), + ( + handler.INDEX, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "delete_particle", + ( + handler.NO_UNIT, + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + "get_state", + ( + handler.NO_UNIT, + ), + ( + units.parsec, + units.parsec, + units.parsec, + units.amu / units.cm**3, + 1.0e48 / units.s, + handler.NO_UNIT, + units.cm**2 / units.s**2, + handler.NO_UNIT, + handler.ERROR_CODE + ) + ) + handler.add_method( + "set_state", + ( + handler.NO_UNIT, + units.parsec, + units.parsec, + units.parsec, + units.amu / units.cm**3, + 1.0e48 / units.s, + handler.NO_UNIT, + units.cm**2 / units.s**2, + handler.NO_UNIT + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_internal_energy", + ( + handler.NO_UNIT, + ), + ( + units.cm**2 / units.s**2, + handler.ERROR_CODE + ) + ) + handler.add_method( + "set_internal_energy", + ( + handler.NO_UNIT, + units.cm**2 / units.s**2, + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_dinternal_energy_dt", + ( + handler.NO_UNIT, + ), + ( + units.cm**2 / units.s**3, + handler.ERROR_CODE + ) + ) + handler.add_method( + "set_dinternal_energy_dt", + ( + handler.NO_UNIT, + units.cm**2 / units.s**3, + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "set_position", + ( + handler.NO_UNIT, + units.parsec, + units.parsec, + units.parsec, + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_position", + ( + handler.NO_UNIT, + ), + ( + units.parsec, + units.parsec, + units.parsec, + handler.ERROR_CODE + ) + ) + handler.add_method( + "set_density", + ( + handler.NO_UNIT, + units.amu / units.cm**3, + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_density", + ( + handler.NO_UNIT, + ), + ( + units.amu / units.cm**3, + handler.ERROR_CODE + ) + ) + handler.add_method( + "set_flux", + ( + handler.NO_UNIT, + 1.0e48 / units.s, + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_flux", + ( + handler.NO_UNIT, + ), + ( + 1.0e48 / units.s, + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_mean_intensity", + ( + handler.NO_UNIT, + ), + ( + 1.0e48 / units.s, + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_diffuse_intensity", + ( + handler.NO_UNIT, + ), + ( + 1.0e48 / units.s, + handler.ERROR_CODE + ) + ) + handler.add_method( + "set_ionisation", + ( + handler.NO_UNIT, + handler.NO_UNIT + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_ionisation", + ( + handler.NO_UNIT, + ), + ( + handler.NO_UNIT, + handler.ERROR_CODE + ) + ) + handler.add_method( + "set_metallicity", + ( + handler.NO_UNIT, + handler.NO_UNIT + ), + ( + handler.ERROR_CODE + ) + ) + handler.add_method( + "get_metallicity", + ( + handler.NO_UNIT, + ), + ( + handler.NO_UNIT, + handler.ERROR_CODE + ) + ) + handler.add_method( + 'commit_particles', + (), + (handler.ERROR_CODE) + ) + handler.add_method( + 'recommit_particles', + (), + (handler.ERROR_CODE) + ) + + handler.add_method( + "get_timestep", + (), + (units.Myr, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_timestep", + (units.Myr, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_source_Teff", + (), + (units.K, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_source_Teff", + (units.K, ), + (handler.ERROR_CODE,) + ) + + + handler.add_method( + "get_hilbert_order", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_hilbert_order", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "set_blackbody_spectrum", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_blackbody_spectrum", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + + handler.add_method( + "get_thermal_evolution", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_thermal_evolution", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_collisional_ionization", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_collisional_ionization", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_number_frequency_bins", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_number_frequency_bins", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + + handler.add_method( + "get_metal_cooling", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_metal_cooling", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + + handler.add_method( + "get_recombination_radiation", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_recombination_radiation", + (handler.NO_UNIT, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_box_size", + (), + (units.parsec, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_box_size", + (units.parsec, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + 'get_time', + (), + (units.s,handler.ERROR_CODE,) + ) + handler.add_method( + 'set_time', + (units.s,), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_simplex_data_directory", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_simplex_data_directory", + (handler.NO_UNIT,), + (handler.ERROR_CODE,) + ) + + def define_particle_sets(self, handler): + handler.define_set('particles', 'index_of_the_particle') + handler.set_new('particles', 'new_particle') + handler.set_delete('particles', 'delete_particle') + handler.add_setter('particles', 'set_state') + handler.add_getter('particles', 'get_state') + handler.add_setter('particles', 'set_position') + handler.add_getter('particles', 'get_position') + handler.add_setter('particles', 'set_density') + handler.add_getter('particles', 'get_density') + handler.add_setter('particles', 'set_flux') + handler.add_getter('particles', 'get_flux') + handler.add_getter('particles', 'get_mean_intensity') + handler.add_getter('particles', 'get_diffuse_intensity') + handler.add_setter('particles', 'set_ionisation') + handler.add_getter('particles', 'get_ionisation') + handler.add_setter('particles', 'set_metallicity') + handler.add_getter('particles', 'get_metallicity') + handler.add_setter('particles', 'set_internal_energy') + handler.add_getter('particles', 'get_internal_energy') + handler.add_setter('particles', 'set_dinternal_energy_dt') + handler.add_getter('particles', 'get_dinternal_energy_dt') + + + def define_state(self, handler): + CommonCode.define_state(self, handler) + handler.add_transition('INITIALIZED','EDIT','commit_parameters') + handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter') + handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter') + handler.add_transition('UPDATE','CHANGE_PARAMETERS_UPDATE','before_set_parameter') + handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters') + handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') + handler.add_transition('CHANGE_PARAMETERS_UPDATE','UPDATE','recommit_parameters') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_UPDATE','before_set_parameter') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') + handler.add_method('CHANGE_PARAMETERS_UPDATE','before_get_parameter') + handler.add_method('RUN', 'before_get_parameter') + handler.add_method('EDIT', 'before_get_parameter') + handler.add_method('UPDATE','before_get_parameter') + handler.add_method('EVOLVED','before_get_parameter') + + + handler.add_method('EDIT', 'new_particle') + handler.add_method('EDIT', 'delete_particle') + handler.add_transition('EDIT', 'RUN', 'commit_particles') + handler.add_transition('RUN', 'UPDATE', 'new_particle', False) + handler.add_transition('RUN', 'UPDATE', 'delete_particle', False) + handler.add_transition('UPDATE', 'RUN', 'recommit_particles') + handler.add_transition('RUN', 'EVOLVED', 'evolve_model', False) + handler.add_method('EVOLVED', 'evolve_model') + handler.add_transition('EVOLVED','RUN', 'synchronize_model') + handler.add_method('RUN', 'synchronize_model') + handler.add_method('RUN', 'get_state') + handler.add_method('RUN', 'get_density') + handler.add_method('RUN', 'get_position') + handler.add_method('RUN', 'get_flux') + handler.add_method('RUN', 'get_mean_intensity') + handler.add_method('RUN', 'get_diffuse_intensity') + handler.add_method('RUN', 'get_ionisation') + handler.add_method('RUN', 'get_internal_energy') + handler.add_method('RUN', 'set_dinternal_energy_dt') + handler.add_method('RUN', 'get_dinternal_energy_dt') + handler.add_method('UPDATE', 'set_dinternal_energy_dt') + handler.add_method('UPDATE', 'get_dinternal_energy_dt') + + handler.add_method('INITIALIZED', 'set_hilbert_order') + handler.add_method('INITIALIZED', 'set_box_size') + handler.add_method('INITIALIZED', 'set_timestep') + handler.add_method('INITIALIZED', 'set_source_Teff') + handler.add_method('INITIALIZED', 'set_number_frequency_bins') + handler.add_method('INITIALIZED', 'set_thermal_evolution') + handler.add_method('INITIALIZED', 'set_blackbody_spectrum') + handler.add_method('INITIALIZED', 'set_metal_cooling') + handler.add_method('INITIALIZED', 'set_recombination_radiation') + handler.add_method('INITIALIZED', 'set_collisional_ionization') + + + +class SimpleXSplitSet(SimpleX): + + def __init__(self,**options): + SimpleX.__init__(self,**options) + self.gas_particles=Particles() + self.src_particles=Particles() + + def commit_particles(self): + + sites=self.gas_particles.copy() + sites.flux=0. | units.s**-1 + + for p in self.src_particles: + nearest=sites.find_closest_particle_to(p.x,p.y,p.z) + nearest.flux+=p.luminosity + + self.particles.add_particles(sites) + + self.simplex_to_gas_channel=self.particles.new_channel_to(self.gas_particles) + + self.overridden().commit_particles() + + if hasattr(sites,"du_dt"): + attributes=["du_dt"] + channel=sites.new_channel_to(self.particles) + channel.copy_attributes(attributes) + + del sites + + def recommit_particles(self): + + sites=self.gas_particles.copy() + sites.flux=0. | units.s**-1 + + for p in self.src_particles: + nearest=sites.find_closest_particle_to(p.x,p.y,p.z) + nearest.flux+=p.luminosity + +# sites.synchronize_to(self.particles) + add_set=sites.difference(self.particles) + remove_set=self.particles.difference(sites) + + if len(remove_set)>0: self.particles.remove_particles(remove_set) + if len(add_set)>0: self.particles.add_particles(add_set) + self.overridden().recommit_particles() + + channel=sites.new_channel_to(self.particles) + attributes=["x","y","z","rho","xion","u","flux"] + if hasattr(sites,"metallicity"): + attributes.append("metallicity") + if hasattr(sites,"du_dt"): + attributes.append("du_dt") + channel.copy_attributes(attributes) + del sites + + self.overridden().recommit_particles() + + def evolve_model(self,tend): + self.overridden().evolve_model(tend) + self.simplex_to_gas_channel.copy_attributes(["xion","u","metallicity"]) + + def define_state(self, handler): + CommonCode.define_state(self, handler) + + handler.add_transition('INITIALIZED','EDIT','commit_parameters') + handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False) + handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False) + handler.add_transition('UPDATE','CHANGE_PARAMETERS_UPDATE','before_set_parameter', False) + handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters') + handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') + handler.add_transition('CHANGE_PARAMETERS_UPDATE','UPDATE','recommit_parameters') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_UPDATE','before_set_parameter') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') + handler.add_method('CHANGE_PARAMETERS_UPDATE','before_get_parameter') + handler.add_method('RUN', 'before_get_parameter') + handler.add_method('EDIT', 'before_get_parameter') + handler.add_method('UPDATE','before_get_parameter') + handler.add_method('EVOLVED','before_get_parameter') + handler.add_method('RUNCOMMIT','before_get_parameter') + + + + handler.add_method('EDIT', 'new_particle') + handler.add_method('EDIT', 'delete_particle') + handler.add_transition('EDIT', 'RUNCOMMIT', 'commit_particles') + handler.add_transition('RUN', 'UPDATE', 'new_particle', False) + handler.add_transition('RUN', 'UPDATE', 'delete_particle', False) + handler.add_transition('UPDATE', 'RUN', 'recommit_particles') + handler.add_transition('RUN','RUNCOMMIT', 'recommit_particles') + handler.add_transition('RUNCOMMIT','RUN', 'auto_go_to_run') + handler.add_transition('RUNCOMMIT', 'EVOLVED', 'evolve_model', False) +# handler.add_method('EVOLVED', 'evolve_model') + handler.define_state('RUNCOMMIT') + handler.add_transition('EVOLVED','RUN', 'synchronize_model') + handler.add_method('RUN', 'synchronize_model') + handler.add_method('RUN', 'get_state') + handler.add_method('RUN', 'get_density') + handler.add_method('RUN', 'get_position') + handler.add_method('RUN', 'get_flux') + handler.add_method('RUN', 'get_ionisation') + handler.add_method('RUN', 'get_internal_energy') + handler.add_method('RUN', 'set_dinternal_energy_dt') + handler.add_method('RUN', 'get_dinternal_energy_dt') + handler.add_method('UPDATE', 'set_dinternal_energy_dt') + handler.add_method('UPDATE', 'get_dinternal_energy_dt') + + handler.add_method('INITIALIZED', 'set_hilbert_order') + handler.add_method('INITIALIZED', 'set_box_size') + handler.add_method('INITIALIZED', 'set_timestep') + handler.add_method('INITIALIZED', 'set_source_Teff') + handler.add_method('INITIALIZED', 'set_number_frequency_bins') + handler.add_method('INITIALIZED', 'set_thermal_evolution') + handler.add_method('INITIALIZED', 'set_blackbody_spectrum') + handler.add_method('INITIALIZED', 'set_metal_cooling') + handler.add_method('INITIALIZED', 'set_recombination_radiation') + handler.add_method('INITIALIZED', 'set_collisional_ionization') + + +Simplex = SimpleX diff --git a/src/amuse_simplex/packages/amuse-simplex.amuse_deps b/src/amuse_simplex/packages/amuse-simplex.amuse_deps new file mode 100644 index 0000000000..c76c6e2b27 --- /dev/null +++ b/src/amuse_simplex/packages/amuse-simplex.amuse_deps @@ -0,0 +1 @@ +issue_1111 diff --git a/src/amuse/community/simplex/src/Makefile b/src/amuse_simplex/src/Makefile similarity index 100% rename from src/amuse/community/simplex/src/Makefile rename to src/amuse_simplex/src/Makefile diff --git a/src/amuse/community/simplex/src/bin/empty_dir.txt b/src/amuse_simplex/src/bin/empty_dir.txt similarity index 100% rename from src/amuse/community/simplex/src/bin/empty_dir.txt rename to src/amuse_simplex/src/bin/empty_dir.txt diff --git a/src/amuse/community/simplex/src/obj/empty_dir.txt b/src/amuse_simplex/src/obj/empty_dir.txt similarity index 100% rename from src/amuse/community/simplex/src/obj/empty_dir.txt rename to src/amuse_simplex/src/obj/empty_dir.txt diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/alm.h b/src/amuse_simplex/src/plugins/HEALPix/include/alm.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/alm.h rename to src/amuse_simplex/src/plugins/HEALPix/include/alm.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/alm_fitsio.h b/src/amuse_simplex/src/plugins/HEALPix/include/alm_fitsio.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/alm_fitsio.h rename to src/amuse_simplex/src/plugins/HEALPix/include/alm_fitsio.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/alm_healpix_tools.h b/src/amuse_simplex/src/plugins/HEALPix/include/alm_healpix_tools.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/alm_healpix_tools.h rename to src/amuse_simplex/src/plugins/HEALPix/include/alm_healpix_tools.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/alm_map_tools.h b/src/amuse_simplex/src/plugins/HEALPix/include/alm_map_tools.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/alm_map_tools.h rename to src/amuse_simplex/src/plugins/HEALPix/include/alm_map_tools.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/alm_powspec_tools.h b/src/amuse_simplex/src/plugins/HEALPix/include/alm_powspec_tools.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/alm_powspec_tools.h rename to src/amuse_simplex/src/plugins/HEALPix/include/alm_powspec_tools.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/arr.h b/src/amuse_simplex/src/plugins/HEALPix/include/arr.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/arr.h rename to src/amuse_simplex/src/plugins/HEALPix/include/arr.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/cxxutils.h b/src/amuse_simplex/src/plugins/HEALPix/include/cxxutils.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/cxxutils.h rename to src/amuse_simplex/src/plugins/HEALPix/include/cxxutils.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/datatypes.h b/src/amuse_simplex/src/plugins/HEALPix/include/datatypes.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/datatypes.h rename to src/amuse_simplex/src/plugins/HEALPix/include/datatypes.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/fftpack_support.h b/src/amuse_simplex/src/plugins/HEALPix/include/fftpack_support.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/fftpack_support.h rename to src/amuse_simplex/src/plugins/HEALPix/include/fftpack_support.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/fitshandle.h b/src/amuse_simplex/src/plugins/HEALPix/include/fitshandle.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/fitshandle.h rename to src/amuse_simplex/src/plugins/HEALPix/include/fitshandle.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/fitsio.h b/src/amuse_simplex/src/plugins/HEALPix/include/fitsio.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/fitsio.h rename to src/amuse_simplex/src/plugins/HEALPix/include/fitsio.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/geom_utils.h b/src/amuse_simplex/src/plugins/HEALPix/include/geom_utils.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/geom_utils.h rename to src/amuse_simplex/src/plugins/HEALPix/include/geom_utils.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/healpix_base.h b/src/amuse_simplex/src/plugins/HEALPix/include/healpix_base.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/healpix_base.h rename to src/amuse_simplex/src/plugins/HEALPix/include/healpix_base.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/healpix_base2.h b/src/amuse_simplex/src/plugins/HEALPix/include/healpix_base2.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/healpix_base2.h rename to src/amuse_simplex/src/plugins/HEALPix/include/healpix_base2.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/healpix_data_io.h b/src/amuse_simplex/src/plugins/HEALPix/include/healpix_data_io.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/healpix_data_io.h rename to src/amuse_simplex/src/plugins/HEALPix/include/healpix_data_io.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/healpix_map.h b/src/amuse_simplex/src/plugins/HEALPix/include/healpix_map.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/healpix_map.h rename to src/amuse_simplex/src/plugins/HEALPix/include/healpix_map.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/healpix_map_fitsio.h b/src/amuse_simplex/src/plugins/HEALPix/include/healpix_map_fitsio.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/healpix_map_fitsio.h rename to src/amuse_simplex/src/plugins/HEALPix/include/healpix_map_fitsio.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/longnam.h b/src/amuse_simplex/src/plugins/HEALPix/include/longnam.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/longnam.h rename to src/amuse_simplex/src/plugins/HEALPix/include/longnam.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/ls_fft.h b/src/amuse_simplex/src/plugins/HEALPix/include/ls_fft.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/ls_fft.h rename to src/amuse_simplex/src/plugins/HEALPix/include/ls_fft.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/lsconstants.h b/src/amuse_simplex/src/plugins/HEALPix/include/lsconstants.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/lsconstants.h rename to src/amuse_simplex/src/plugins/HEALPix/include/lsconstants.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/message_error.h b/src/amuse_simplex/src/plugins/HEALPix/include/message_error.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/message_error.h rename to src/amuse_simplex/src/plugins/HEALPix/include/message_error.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/openmp_support.h b/src/amuse_simplex/src/plugins/HEALPix/include/openmp_support.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/openmp_support.h rename to src/amuse_simplex/src/plugins/HEALPix/include/openmp_support.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/paramfile.h b/src/amuse_simplex/src/plugins/HEALPix/include/paramfile.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/paramfile.h rename to src/amuse_simplex/src/plugins/HEALPix/include/paramfile.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/planck_rng.h b/src/amuse_simplex/src/plugins/HEALPix/include/planck_rng.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/planck_rng.h rename to src/amuse_simplex/src/plugins/HEALPix/include/planck_rng.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/pointing.h b/src/amuse_simplex/src/plugins/HEALPix/include/pointing.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/pointing.h rename to src/amuse_simplex/src/plugins/HEALPix/include/pointing.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/powspec.h b/src/amuse_simplex/src/plugins/HEALPix/include/powspec.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/powspec.h rename to src/amuse_simplex/src/plugins/HEALPix/include/powspec.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/powspec_fitsio.h b/src/amuse_simplex/src/plugins/HEALPix/include/powspec_fitsio.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/powspec_fitsio.h rename to src/amuse_simplex/src/plugins/HEALPix/include/powspec_fitsio.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/rotmatrix.h b/src/amuse_simplex/src/plugins/HEALPix/include/rotmatrix.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/rotmatrix.h rename to src/amuse_simplex/src/plugins/HEALPix/include/rotmatrix.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/simparams.h b/src/amuse_simplex/src/plugins/HEALPix/include/simparams.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/simparams.h rename to src/amuse_simplex/src/plugins/HEALPix/include/simparams.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/tga_image.h b/src/amuse_simplex/src/plugins/HEALPix/include/tga_image.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/tga_image.h rename to src/amuse_simplex/src/plugins/HEALPix/include/tga_image.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/trafos.h b/src/amuse_simplex/src/plugins/HEALPix/include/trafos.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/trafos.h rename to src/amuse_simplex/src/plugins/HEALPix/include/trafos.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/vec3.h b/src/amuse_simplex/src/plugins/HEALPix/include/vec3.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/vec3.h rename to src/amuse_simplex/src/plugins/HEALPix/include/vec3.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/xcomplex.h b/src/amuse_simplex/src/plugins/HEALPix/include/xcomplex.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/xcomplex.h rename to src/amuse_simplex/src/plugins/HEALPix/include/xcomplex.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/include/ylmgen.h b/src/amuse_simplex/src/plugins/HEALPix/include/ylmgen.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/include/ylmgen.h rename to src/amuse_simplex/src/plugins/HEALPix/include/ylmgen.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/lib/empty_dir.txt b/src/amuse_simplex/src/plugins/HEALPix/lib/empty_dir.txt similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/lib/empty_dir.txt rename to src/amuse_simplex/src/plugins/HEALPix/lib/empty_dir.txt diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/Healpix_cxx.dox b/src/amuse_simplex/src/plugins/HEALPix/src/Healpix_cxx.dox similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/Healpix_cxx.dox rename to src/amuse_simplex/src/plugins/HEALPix/src/Healpix_cxx.dox diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/Makefile b/src/amuse_simplex/src/plugins/HEALPix/src/Makefile similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/Makefile rename to src/amuse_simplex/src/plugins/HEALPix/src/Makefile diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/alm.h b/src/amuse_simplex/src/plugins/HEALPix/src/alm.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/alm.h rename to src/amuse_simplex/src/plugins/HEALPix/src/alm.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/alm2map_cxx.cc b/src/amuse_simplex/src/plugins/HEALPix/src/alm2map_cxx.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/alm2map_cxx.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/alm2map_cxx.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/alm2map_cxx.par.txt b/src/amuse_simplex/src/plugins/HEALPix/src/alm2map_cxx.par.txt similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/alm2map_cxx.par.txt rename to src/amuse_simplex/src/plugins/HEALPix/src/alm2map_cxx.par.txt diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/alm_fitsio.cc b/src/amuse_simplex/src/plugins/HEALPix/src/alm_fitsio.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/alm_fitsio.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/alm_fitsio.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/alm_fitsio.h b/src/amuse_simplex/src/plugins/HEALPix/src/alm_fitsio.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/alm_fitsio.h rename to src/amuse_simplex/src/plugins/HEALPix/src/alm_fitsio.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/alm_healpix_tools.cc b/src/amuse_simplex/src/plugins/HEALPix/src/alm_healpix_tools.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/alm_healpix_tools.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/alm_healpix_tools.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/alm_healpix_tools.h b/src/amuse_simplex/src/plugins/HEALPix/src/alm_healpix_tools.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/alm_healpix_tools.h rename to src/amuse_simplex/src/plugins/HEALPix/src/alm_healpix_tools.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/alm_map_tools.cc b/src/amuse_simplex/src/plugins/HEALPix/src/alm_map_tools.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/alm_map_tools.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/alm_map_tools.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/alm_map_tools.h b/src/amuse_simplex/src/plugins/HEALPix/src/alm_map_tools.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/alm_map_tools.h rename to src/amuse_simplex/src/plugins/HEALPix/src/alm_map_tools.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/alm_powspec_tools.cc b/src/amuse_simplex/src/plugins/HEALPix/src/alm_powspec_tools.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/alm_powspec_tools.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/alm_powspec_tools.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/alm_powspec_tools.h b/src/amuse_simplex/src/plugins/HEALPix/src/alm_powspec_tools.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/alm_powspec_tools.h rename to src/amuse_simplex/src/plugins/HEALPix/src/alm_powspec_tools.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/anafast_cxx.cc b/src/amuse_simplex/src/plugins/HEALPix/src/anafast_cxx.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/anafast_cxx.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/anafast_cxx.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/anafast_cxx.par.txt b/src/amuse_simplex/src/plugins/HEALPix/src/anafast_cxx.par.txt similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/anafast_cxx.par.txt rename to src/amuse_simplex/src/plugins/HEALPix/src/anafast_cxx.par.txt diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/calc_powspec.cc b/src/amuse_simplex/src/plugins/HEALPix/src/calc_powspec.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/calc_powspec.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/calc_powspec.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/Makefile b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/Makefile similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/Makefile rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/Makefile diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/arr.h b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/arr.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/arr.h rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/arr.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/cxxsupport.dox b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/cxxsupport.dox similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/cxxsupport.dox rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/cxxsupport.dox diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/cxxutils.cc b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/cxxutils.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/cxxutils.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/cxxutils.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/cxxutils.h b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/cxxutils.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/cxxutils.h rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/cxxutils.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/datatypes.h b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/datatypes.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/datatypes.h rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/datatypes.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/fftpack_support.h b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/fftpack_support.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/fftpack_support.h rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/fftpack_support.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/fitshandle.cc b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/fitshandle.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/fitshandle.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/fitshandle.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/fitshandle.h b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/fitshandle.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/fitshandle.h rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/fitshandle.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/font_data.inc b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/font_data.inc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/font_data.inc rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/font_data.inc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/geom_utils.h b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/geom_utils.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/geom_utils.h rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/geom_utils.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/lsconstants.h b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/lsconstants.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/lsconstants.h rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/lsconstants.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/message_error.h b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/message_error.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/message_error.h rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/message_error.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/openmp_support.h b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/openmp_support.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/openmp_support.h rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/openmp_support.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/paramfile.h b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/paramfile.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/paramfile.h rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/paramfile.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/planck_rng.h b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/planck_rng.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/planck_rng.h rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/planck_rng.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/pointing.h b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/pointing.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/pointing.h rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/pointing.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/rotmatrix.cc b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/rotmatrix.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/rotmatrix.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/rotmatrix.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/rotmatrix.h b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/rotmatrix.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/rotmatrix.h rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/rotmatrix.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/simparams.cc b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/simparams.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/simparams.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/simparams.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/simparams.h b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/simparams.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/simparams.h rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/simparams.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/tga_image.cc b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/tga_image.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/tga_image.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/tga_image.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/tga_image.h b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/tga_image.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/tga_image.h rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/tga_image.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/trafos.cc b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/trafos.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/trafos.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/trafos.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/trafos.h b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/trafos.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/trafos.h rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/trafos.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/vec3.h b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/vec3.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/vec3.h rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/vec3.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/xcomplex.h b/src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/xcomplex.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/cxxsupport/xcomplex.h rename to src/amuse_simplex/src/plugins/HEALPix/src/cxxsupport/xcomplex.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/healpix_base.cc b/src/amuse_simplex/src/plugins/HEALPix/src/healpix_base.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/healpix_base.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/healpix_base.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/healpix_base.h b/src/amuse_simplex/src/plugins/HEALPix/src/healpix_base.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/healpix_base.h rename to src/amuse_simplex/src/plugins/HEALPix/src/healpix_base.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/healpix_base2.cc b/src/amuse_simplex/src/plugins/HEALPix/src/healpix_base2.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/healpix_base2.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/healpix_base2.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/healpix_base2.h b/src/amuse_simplex/src/plugins/HEALPix/src/healpix_base2.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/healpix_base2.h rename to src/amuse_simplex/src/plugins/HEALPix/src/healpix_base2.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/healpix_data_io.cc b/src/amuse_simplex/src/plugins/HEALPix/src/healpix_data_io.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/healpix_data_io.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/healpix_data_io.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/healpix_data_io.h b/src/amuse_simplex/src/plugins/HEALPix/src/healpix_data_io.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/healpix_data_io.h rename to src/amuse_simplex/src/plugins/HEALPix/src/healpix_data_io.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/healpix_map.cc b/src/amuse_simplex/src/plugins/HEALPix/src/healpix_map.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/healpix_map.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/healpix_map.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/healpix_map.h b/src/amuse_simplex/src/plugins/HEALPix/src/healpix_map.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/healpix_map.h rename to src/amuse_simplex/src/plugins/HEALPix/src/healpix_map.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/healpix_map_fitsio.cc b/src/amuse_simplex/src/plugins/HEALPix/src/healpix_map_fitsio.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/healpix_map_fitsio.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/healpix_map_fitsio.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/healpix_map_fitsio.h b/src/amuse_simplex/src/plugins/HEALPix/src/healpix_map_fitsio.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/healpix_map_fitsio.h rename to src/amuse_simplex/src/plugins/HEALPix/src/healpix_map_fitsio.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/hotspots_cxx.cc b/src/amuse_simplex/src/plugins/HEALPix/src/hotspots_cxx.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/hotspots_cxx.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/hotspots_cxx.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/hpxtest.cc b/src/amuse_simplex/src/plugins/HEALPix/src/hpxtest.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/hpxtest.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/hpxtest.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/libfftpack/Makefile b/src/amuse_simplex/src/plugins/HEALPix/src/libfftpack/Makefile similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/libfftpack/Makefile rename to src/amuse_simplex/src/plugins/HEALPix/src/libfftpack/Makefile diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/libfftpack/README b/src/amuse_simplex/src/plugins/HEALPix/src/libfftpack/README similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/libfftpack/README rename to src/amuse_simplex/src/plugins/HEALPix/src/libfftpack/README diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/libfftpack/bluestein.c b/src/amuse_simplex/src/plugins/HEALPix/src/libfftpack/bluestein.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/libfftpack/bluestein.c rename to src/amuse_simplex/src/plugins/HEALPix/src/libfftpack/bluestein.c diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/libfftpack/bluestein.h b/src/amuse_simplex/src/plugins/HEALPix/src/libfftpack/bluestein.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/libfftpack/bluestein.h rename to src/amuse_simplex/src/plugins/HEALPix/src/libfftpack/bluestein.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/libfftpack/fftpack.c b/src/amuse_simplex/src/plugins/HEALPix/src/libfftpack/fftpack.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/libfftpack/fftpack.c rename to src/amuse_simplex/src/plugins/HEALPix/src/libfftpack/fftpack.c diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/libfftpack/fftpack.h b/src/amuse_simplex/src/plugins/HEALPix/src/libfftpack/fftpack.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/libfftpack/fftpack.h rename to src/amuse_simplex/src/plugins/HEALPix/src/libfftpack/fftpack.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/libfftpack/libfftpack.dox b/src/amuse_simplex/src/plugins/HEALPix/src/libfftpack/libfftpack.dox similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/libfftpack/libfftpack.dox rename to src/amuse_simplex/src/plugins/HEALPix/src/libfftpack/libfftpack.dox diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/libfftpack/ls_fft.c b/src/amuse_simplex/src/plugins/HEALPix/src/libfftpack/ls_fft.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/libfftpack/ls_fft.c rename to src/amuse_simplex/src/plugins/HEALPix/src/libfftpack/ls_fft.c diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/libfftpack/ls_fft.h b/src/amuse_simplex/src/plugins/HEALPix/src/libfftpack/ls_fft.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/libfftpack/ls_fft.h rename to src/amuse_simplex/src/plugins/HEALPix/src/libfftpack/ls_fft.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/map2tga.cc b/src/amuse_simplex/src/plugins/HEALPix/src/map2tga.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/map2tga.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/map2tga.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/map2tga.par.txt b/src/amuse_simplex/src/plugins/HEALPix/src/map2tga.par.txt similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/map2tga.par.txt rename to src/amuse_simplex/src/plugins/HEALPix/src/map2tga.par.txt diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/median_filter.cc b/src/amuse_simplex/src/plugins/HEALPix/src/median_filter.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/median_filter.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/median_filter.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/mult_alm.cc b/src/amuse_simplex/src/plugins/HEALPix/src/mult_alm.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/mult_alm.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/mult_alm.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/mult_alm.par.txt b/src/amuse_simplex/src/plugins/HEALPix/src/mult_alm.par.txt similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/mult_alm.par.txt rename to src/amuse_simplex/src/plugins/HEALPix/src/mult_alm.par.txt diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/powspec.cc b/src/amuse_simplex/src/plugins/HEALPix/src/powspec.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/powspec.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/powspec.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/powspec.h b/src/amuse_simplex/src/plugins/HEALPix/src/powspec.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/powspec.h rename to src/amuse_simplex/src/plugins/HEALPix/src/powspec.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/powspec_fitsio.cc b/src/amuse_simplex/src/plugins/HEALPix/src/powspec_fitsio.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/powspec_fitsio.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/powspec_fitsio.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/powspec_fitsio.h b/src/amuse_simplex/src/plugins/HEALPix/src/powspec_fitsio.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/powspec_fitsio.h rename to src/amuse_simplex/src/plugins/HEALPix/src/powspec_fitsio.h diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/rotalm_cxx.cc b/src/amuse_simplex/src/plugins/HEALPix/src/rotalm_cxx.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/rotalm_cxx.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/rotalm_cxx.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/smoothing_cxx.cc b/src/amuse_simplex/src/plugins/HEALPix/src/smoothing_cxx.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/smoothing_cxx.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/smoothing_cxx.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/smoothing_cxx.par.txt b/src/amuse_simplex/src/plugins/HEALPix/src/smoothing_cxx.par.txt similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/smoothing_cxx.par.txt rename to src/amuse_simplex/src/plugins/HEALPix/src/smoothing_cxx.par.txt diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/syn_alm_cxx.cc b/src/amuse_simplex/src/plugins/HEALPix/src/syn_alm_cxx.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/syn_alm_cxx.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/syn_alm_cxx.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/syn_alm_cxx.par.txt b/src/amuse_simplex/src/plugins/HEALPix/src/syn_alm_cxx.par.txt similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/syn_alm_cxx.par.txt rename to src/amuse_simplex/src/plugins/HEALPix/src/syn_alm_cxx.par.txt diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/udgrade_cxx.cc b/src/amuse_simplex/src/plugins/HEALPix/src/udgrade_cxx.cc similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/udgrade_cxx.cc rename to src/amuse_simplex/src/plugins/HEALPix/src/udgrade_cxx.cc diff --git a/src/amuse/community/simplex/src/plugins/HEALPix/src/ylmgen.h b/src/amuse_simplex/src/plugins/HEALPix/src/ylmgen.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/HEALPix/src/ylmgen.h rename to src/amuse_simplex/src/plugins/HEALPix/src/ylmgen.h diff --git a/src/amuse/community/simplex/src/plugins/hdf5/array_class.h b/src/amuse_simplex/src/plugins/hdf5/array_class.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/hdf5/array_class.h rename to src/amuse_simplex/src/plugins/hdf5/array_class.h diff --git a/src/amuse/community/simplex/src/plugins/hdf5/h5w.cpp b/src/amuse_simplex/src/plugins/hdf5/h5w.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/hdf5/h5w.cpp rename to src/amuse_simplex/src/plugins/hdf5/h5w.cpp diff --git a/src/amuse/community/simplex/src/plugins/hdf5/h5w.h b/src/amuse_simplex/src/plugins/hdf5/h5w.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/hdf5/h5w.h rename to src/amuse_simplex/src/plugins/hdf5/h5w.h diff --git a/src/amuse/community/simplex/src/plugins/hdf5/h5w_parallel.cpp b/src/amuse_simplex/src/plugins/hdf5/h5w_parallel.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/hdf5/h5w_parallel.cpp rename to src/amuse_simplex/src/plugins/hdf5/h5w_parallel.cpp diff --git a/src/amuse/community/simplex/src/plugins/hdf5/h5w_parallel.h b/src/amuse_simplex/src/plugins/hdf5/h5w_parallel.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/hdf5/h5w_parallel.h rename to src/amuse_simplex/src/plugins/hdf5/h5w_parallel.h diff --git a/src/amuse/community/simplex/src/plugins/hdf5/h5w_serial.cpp b/src/amuse_simplex/src/plugins/hdf5/h5w_serial.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/hdf5/h5w_serial.cpp rename to src/amuse_simplex/src/plugins/hdf5/h5w_serial.cpp diff --git a/src/amuse/community/simplex/src/plugins/hdf5/h5w_serial.h b/src/amuse_simplex/src/plugins/hdf5/h5w_serial.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/hdf5/h5w_serial.h rename to src/amuse_simplex/src/plugins/hdf5/h5w_serial.h diff --git a/src/amuse/community/simplex/src/plugins/hdf5/hdf5_routines.cpp b/src/amuse_simplex/src/plugins/hdf5/hdf5_routines.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/hdf5/hdf5_routines.cpp rename to src/amuse_simplex/src/plugins/hdf5/hdf5_routines.cpp diff --git a/src/amuse/community/simplex/src/plugins/hilbert/hilbert.c b/src/amuse_simplex/src/plugins/hilbert/hilbert.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/hilbert/hilbert.c rename to src/amuse_simplex/src/plugins/hilbert/hilbert.c diff --git a/src/amuse/community/simplex/src/plugins/hilbert/hilbert.h b/src/amuse_simplex/src/plugins/hilbert/hilbert.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/hilbert/hilbert.h rename to src/amuse_simplex/src/plugins/hilbert/hilbert.h diff --git a/src/amuse/community/simplex/src/plugins/keyValue/configfile.cpp b/src/amuse_simplex/src/plugins/keyValue/configfile.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/keyValue/configfile.cpp rename to src/amuse_simplex/src/plugins/keyValue/configfile.cpp diff --git a/src/amuse/community/simplex/src/plugins/keyValue/configfile.h b/src/amuse_simplex/src/plugins/keyValue/configfile.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/keyValue/configfile.h rename to src/amuse_simplex/src/plugins/keyValue/configfile.h diff --git a/src/amuse/community/simplex/src/plugins/octree/array.h b/src/amuse_simplex/src/plugins/octree/array.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/octree/array.h rename to src/amuse_simplex/src/plugins/octree/array.h diff --git a/src/amuse/community/simplex/src/plugins/octree/array2d.h b/src/amuse_simplex/src/plugins/octree/array2d.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/octree/array2d.h rename to src/amuse_simplex/src/plugins/octree/array2d.h diff --git a/src/amuse/community/simplex/src/plugins/octree/demo.cpp b/src/amuse_simplex/src/plugins/octree/demo.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/octree/demo.cpp rename to src/amuse_simplex/src/plugins/octree/demo.cpp diff --git a/src/amuse/community/simplex/src/plugins/octree/numtraits.h b/src/amuse_simplex/src/plugins/octree/numtraits.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/octree/numtraits.h rename to src/amuse_simplex/src/plugins/octree/numtraits.h diff --git a/src/amuse/community/simplex/src/plugins/octree/octree.h b/src/amuse_simplex/src/plugins/octree/octree.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/octree/octree.h rename to src/amuse_simplex/src/plugins/octree/octree.h diff --git a/src/amuse/community/simplex/src/plugins/octree/octree.tcc b/src/amuse_simplex/src/plugins/octree/octree.tcc similarity index 100% rename from src/amuse/community/simplex/src/plugins/octree/octree.tcc rename to src/amuse_simplex/src/plugins/octree/octree.tcc diff --git a/src/amuse/community/simplex/src/plugins/octree/octree.vcproj b/src/amuse_simplex/src/plugins/octree/octree.vcproj similarity index 100% rename from src/amuse/community/simplex/src/plugins/octree/octree.vcproj rename to src/amuse_simplex/src/plugins/octree/octree.vcproj diff --git a/src/amuse/community/simplex/src/plugins/octree/point3d.h b/src/amuse_simplex/src/plugins/octree/point3d.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/octree/point3d.h rename to src/amuse_simplex/src/plugins/octree/point3d.h diff --git a/src/amuse/community/simplex/src/plugins/octree/shareddata.h b/src/amuse_simplex/src/plugins/octree/shareddata.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/octree/shareddata.h rename to src/amuse_simplex/src/plugins/octree/shareddata.h diff --git a/src/amuse/community/simplex/src/plugins/octree/tinyvector.h b/src/amuse_simplex/src/plugins/octree/tinyvector.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/octree/tinyvector.h rename to src/amuse_simplex/src/plugins/octree/tinyvector.h diff --git a/src/amuse/community/simplex/src/plugins/octree/tree_structures.cpp b/src/amuse_simplex/src/plugins/octree/tree_structures.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/octree/tree_structures.cpp rename to src/amuse_simplex/src/plugins/octree/tree_structures.cpp diff --git a/src/amuse/community/simplex/src/plugins/octree/tree_structures.h b/src/amuse_simplex/src/plugins/octree/tree_structures.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/octree/tree_structures.h rename to src/amuse_simplex/src/plugins/octree/tree_structures.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/Announce.txt b/src/amuse_simplex/src/plugins/qhull-2012.1/Announce.txt similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/Announce.txt rename to src/amuse_simplex/src/plugins/qhull-2012.1/Announce.txt diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/CMakeLists.txt b/src/amuse_simplex/src/plugins/qhull-2012.1/CMakeLists.txt similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/CMakeLists.txt rename to src/amuse_simplex/src/plugins/qhull-2012.1/CMakeLists.txt diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/COPYING.txt b/src/amuse_simplex/src/plugins/qhull-2012.1/COPYING.txt similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/COPYING.txt rename to src/amuse_simplex/src/plugins/qhull-2012.1/COPYING.txt diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/File_id.diz b/src/amuse_simplex/src/plugins/qhull-2012.1/File_id.diz similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/File_id.diz rename to src/amuse_simplex/src/plugins/qhull-2012.1/File_id.diz diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/Makefile b/src/amuse_simplex/src/plugins/qhull-2012.1/Makefile similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/Makefile rename to src/amuse_simplex/src/plugins/qhull-2012.1/Makefile diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/QHULL-GO.lnk b/src/amuse_simplex/src/plugins/qhull-2012.1/QHULL-GO.lnk similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/QHULL-GO.lnk rename to src/amuse_simplex/src/plugins/qhull-2012.1/QHULL-GO.lnk diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/README.txt b/src/amuse_simplex/src/plugins/qhull-2012.1/README.txt similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/README.txt rename to src/amuse_simplex/src/plugins/qhull-2012.1/README.txt diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/REGISTER.txt b/src/amuse_simplex/src/plugins/qhull-2012.1/REGISTER.txt similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/REGISTER.txt rename to src/amuse_simplex/src/plugins/qhull-2012.1/REGISTER.txt diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/config/Makefile-am-eg b/src/amuse_simplex/src/plugins/qhull-2012.1/config/Makefile-am-eg similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/config/Makefile-am-eg rename to src/amuse_simplex/src/plugins/qhull-2012.1/config/Makefile-am-eg diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/config/Makefile-am-html b/src/amuse_simplex/src/plugins/qhull-2012.1/config/Makefile-am-html similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/config/Makefile-am-html rename to src/amuse_simplex/src/plugins/qhull-2012.1/config/Makefile-am-html diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/config/Makefile-am-libqhull b/src/amuse_simplex/src/plugins/qhull-2012.1/config/Makefile-am-libqhull similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/config/Makefile-am-libqhull rename to src/amuse_simplex/src/plugins/qhull-2012.1/config/Makefile-am-libqhull diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/config/Makefile-am-main b/src/amuse_simplex/src/plugins/qhull-2012.1/config/Makefile-am-main similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/config/Makefile-am-main rename to src/amuse_simplex/src/plugins/qhull-2012.1/config/Makefile-am-main diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/config/Makefile.am b/src/amuse_simplex/src/plugins/qhull-2012.1/config/Makefile.am similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/config/Makefile.am rename to src/amuse_simplex/src/plugins/qhull-2012.1/config/Makefile.am diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/config/README b/src/amuse_simplex/src/plugins/qhull-2012.1/config/README similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/config/README rename to src/amuse_simplex/src/plugins/qhull-2012.1/config/README diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/config/bootstrap.sh b/src/amuse_simplex/src/plugins/qhull-2012.1/config/bootstrap.sh similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/config/bootstrap.sh rename to src/amuse_simplex/src/plugins/qhull-2012.1/config/bootstrap.sh diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/config/changelog b/src/amuse_simplex/src/plugins/qhull-2012.1/config/changelog similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/config/changelog rename to src/amuse_simplex/src/plugins/qhull-2012.1/config/changelog diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/config/configure.ac b/src/amuse_simplex/src/plugins/qhull-2012.1/config/configure.ac similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/config/configure.ac rename to src/amuse_simplex/src/plugins/qhull-2012.1/config/configure.ac diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/config/patches/00list b/src/amuse_simplex/src/plugins/qhull-2012.1/config/patches/00list similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/config/patches/00list rename to src/amuse_simplex/src/plugins/qhull-2012.1/config/patches/00list diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/config/patches/QHpointer.dpatch b/src/amuse_simplex/src/plugins/qhull-2012.1/config/patches/QHpointer.dpatch similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/config/patches/QHpointer.dpatch rename to src/amuse_simplex/src/plugins/qhull-2012.1/config/patches/QHpointer.dpatch diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/config/patches/make-new-msg.dpatch b/src/amuse_simplex/src/plugins/qhull-2012.1/config/patches/make-new-msg.dpatch similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/config/patches/make-new-msg.dpatch rename to src/amuse_simplex/src/plugins/qhull-2012.1/config/patches/make-new-msg.dpatch diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/eg/Qhull-go.bat b/src/amuse_simplex/src/plugins/qhull-2012.1/eg/Qhull-go.bat similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/eg/Qhull-go.bat rename to src/amuse_simplex/src/plugins/qhull-2012.1/eg/Qhull-go.bat diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/eg/make-vcproj.sh b/src/amuse_simplex/src/plugins/qhull-2012.1/eg/make-vcproj.sh similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/eg/make-vcproj.sh rename to src/amuse_simplex/src/plugins/qhull-2012.1/eg/make-vcproj.sh diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/eg/q_eg b/src/amuse_simplex/src/plugins/qhull-2012.1/eg/q_eg similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/eg/q_eg rename to src/amuse_simplex/src/plugins/qhull-2012.1/eg/q_eg diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/eg/q_egtest b/src/amuse_simplex/src/plugins/qhull-2012.1/eg/q_egtest similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/eg/q_egtest rename to src/amuse_simplex/src/plugins/qhull-2012.1/eg/q_egtest diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/eg/q_test b/src/amuse_simplex/src/plugins/qhull-2012.1/eg/q_test similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/eg/q_test rename to src/amuse_simplex/src/plugins/qhull-2012.1/eg/q_test diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/eg/q_test-ok.txt b/src/amuse_simplex/src/plugins/qhull-2012.1/eg/q_test-ok.txt similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/eg/q_test-ok.txt rename to src/amuse_simplex/src/plugins/qhull-2012.1/eg/q_test-ok.txt diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/eg/q_test.bat b/src/amuse_simplex/src/plugins/qhull-2012.1/eg/q_test.bat similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/eg/q_test.bat rename to src/amuse_simplex/src/plugins/qhull-2012.1/eg/q_test.bat diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/eg/qhull-zip.sh b/src/amuse_simplex/src/plugins/qhull-2012.1/eg/qhull-zip.sh similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/eg/qhull-zip.sh rename to src/amuse_simplex/src/plugins/qhull-2012.1/eg/qhull-zip.sh diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/eg/qhulltest-ok.txt b/src/amuse_simplex/src/plugins/qhull-2012.1/eg/qhulltest-ok.txt similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/eg/qhulltest-ok.txt rename to src/amuse_simplex/src/plugins/qhull-2012.1/eg/qhulltest-ok.txt diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/index.htm b/src/amuse_simplex/src/plugins/qhull-2012.1/index.htm similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/index.htm rename to src/amuse_simplex/src/plugins/qhull-2012.1/index.htm diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/qhull-2012.1-src-tgz.md5sum b/src/amuse_simplex/src/plugins/qhull-2012.1/qhull-2012.1-src-tgz.md5sum similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/qhull-2012.1-src-tgz.md5sum rename to src/amuse_simplex/src/plugins/qhull-2012.1/qhull-2012.1-src-tgz.md5sum diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/Changes.txt b/src/amuse_simplex/src/plugins/qhull-2012.1/src/Changes.txt similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/Changes.txt rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/Changes.txt diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/Makefile b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/Makefile similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/Makefile rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/Makefile diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/Mborland b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/Mborland similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/Mborland rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/Mborland diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/geom.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/geom.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/geom.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/geom.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/geom.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/geom.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/geom.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/geom.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/geom2.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/geom2.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/geom2.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/geom2.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/global.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/global.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/global.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/global.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/index.htm b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/index.htm similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/index.htm rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/index.htm diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/io.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/io.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/io.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/io.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/io.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/io.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/io.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/io.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/libqhull.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/libqhull.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/libqhull.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/libqhull.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/libqhull.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/libqhull.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/libqhull.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/libqhull.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/libqhull.pro b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/libqhull.pro similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/libqhull.pro rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/libqhull.pro diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/mem.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/mem.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/mem.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/mem.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/mem.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/mem.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/mem.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/mem.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/merge.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/merge.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/merge.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/merge.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/merge.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/merge.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/merge.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/merge.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/poly.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/poly.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/poly.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/poly.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/poly.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/poly.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/poly.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/poly.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/poly2.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/poly2.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/poly2.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/poly2.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qh-geom.htm b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qh-geom.htm similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qh-geom.htm rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qh-geom.htm diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qh-globa.htm b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qh-globa.htm similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qh-globa.htm rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qh-globa.htm diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qh-io.htm b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qh-io.htm similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qh-io.htm rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qh-io.htm diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qh-mem.htm b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qh-mem.htm similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qh-mem.htm rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qh-mem.htm diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qh-merge.htm b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qh-merge.htm similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qh-merge.htm rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qh-merge.htm diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qh-poly.htm b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qh-poly.htm similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qh-poly.htm rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qh-poly.htm diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qh-qhull.htm b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qh-qhull.htm similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qh-qhull.htm rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qh-qhull.htm diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qh-set.htm b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qh-set.htm similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qh-set.htm rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qh-set.htm diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qh-stat.htm b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qh-stat.htm similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qh-stat.htm rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qh-stat.htm diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qh-user.htm b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qh-user.htm similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qh-user.htm rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qh-user.htm diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qhull-exports.def b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qhull-exports.def similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qhull-exports.def rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qhull-exports.def diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qhull_a.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qhull_a.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qhull_a.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qhull_a.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qset.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qset.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qset.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qset.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qset.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qset.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/qset.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/qset.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/random.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/random.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/random.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/random.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/random.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/random.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/random.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/random.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/rboxlib.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/rboxlib.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/rboxlib.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/rboxlib.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/stat.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/stat.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/stat.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/stat.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/stat.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/stat.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/stat.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/stat.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/user.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/user.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/user.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/user.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/user.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/user.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/user.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/user.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/usermem.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/usermem.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/usermem.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/usermem.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/userprintf.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/userprintf.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/userprintf.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/userprintf.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/userprintf_rbox.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/userprintf_rbox.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhull/userprintf_rbox.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhull/userprintf_rbox.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/Coordinates.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/Coordinates.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/Coordinates.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/Coordinates.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/Coordinates.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/Coordinates.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/Coordinates.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/Coordinates.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/PointCoordinates.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/PointCoordinates.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/PointCoordinates.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/PointCoordinates.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/PointCoordinates.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/PointCoordinates.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/PointCoordinates.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/PointCoordinates.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/Qhull.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/Qhull.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/Qhull.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/Qhull.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/Qhull.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/Qhull.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/Qhull.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/Qhull.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullError.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullError.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullError.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullError.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacet.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacet.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacet.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacet.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacet.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacet.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacet.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacet.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacetList.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacetList.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacetList.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacetList.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacetList.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacetList.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacetList.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacetList.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacetSet.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacetSet.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacetSet.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacetSet.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacetSet.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacetSet.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacetSet.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullFacetSet.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullHyperplane.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullHyperplane.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullHyperplane.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullHyperplane.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullHyperplane.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullHyperplane.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullHyperplane.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullHyperplane.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullIterator.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullIterator.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullIterator.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullIterator.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullLinkedList.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullLinkedList.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullLinkedList.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullLinkedList.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPoint.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPoint.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPoint.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPoint.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPoint.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPoint.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPoint.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPoint.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPointSet.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPointSet.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPointSet.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPointSet.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPointSet.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPointSet.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPointSet.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPointSet.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPoints.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPoints.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPoints.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPoints.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPoints.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPoints.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPoints.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullPoints.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullQh.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullQh.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullQh.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullQh.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullQh.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullQh.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullQh.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullQh.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullRidge.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullRidge.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullRidge.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullRidge.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullRidge.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullRidge.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullRidge.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullRidge.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullSet.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullSet.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullSet.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullSet.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullSet.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullSet.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullSet.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullSet.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullSets.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullSets.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullSets.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullSets.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullStat.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullStat.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullStat.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullStat.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullStat.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullStat.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullStat.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullStat.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullVertex.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullVertex.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullVertex.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullVertex.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullVertex.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullVertex.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullVertex.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullVertex.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullVertexSet.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullVertexSet.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullVertexSet.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullVertexSet.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullVertexSet.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullVertexSet.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullVertexSet.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/QhullVertexSet.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RboxPoints.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RboxPoints.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RboxPoints.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RboxPoints.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RboxPoints.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RboxPoints.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RboxPoints.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RboxPoints.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RoadError.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RoadError.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RoadError.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RoadError.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RoadError.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RoadError.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RoadError.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RoadError.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RoadLogEvent.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RoadLogEvent.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RoadLogEvent.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RoadLogEvent.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RoadLogEvent.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RoadLogEvent.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RoadLogEvent.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/RoadLogEvent.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/UsingLibQhull.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/UsingLibQhull.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/UsingLibQhull.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/UsingLibQhull.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/UsingLibQhull.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/UsingLibQhull.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/UsingLibQhull.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/UsingLibQhull.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/functionObjects.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/functionObjects.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/functionObjects.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/functionObjects.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/libqhullcpp.pro b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/libqhullcpp.pro similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/libqhullcpp.pro rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/libqhullcpp.pro diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/qhull_interface.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/qhull_interface.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/qhull_interface.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/qhull_interface.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/qt-qhull.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/qt-qhull.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullcpp/qt-qhull.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullcpp/qt-qhull.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullp/libqhullp.pro b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullp/libqhullp.pro similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullp/libqhullp.pro rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullp/libqhullp.pro diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullp/qhull_p-exports.def b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullp/qhull_p-exports.def similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullp/qhull_p-exports.def rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullp/qhull_p-exports.def diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullstatic/libqhullstatic.pro b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullstatic/libqhullstatic.pro similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullstatic/libqhullstatic.pro rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullstatic/libqhullstatic.pro diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullstaticp/libqhullstaticp.pro b/src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullstaticp/libqhullstaticp.pro similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/libqhullstaticp/libqhullstaticp.pro rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/libqhullstaticp/libqhullstaticp.pro diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qconvex/qconvex.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qconvex/qconvex.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qconvex/qconvex.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qconvex/qconvex.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qconvex/qconvex.pro b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qconvex/qconvex.pro similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qconvex/qconvex.pro rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qconvex/qconvex.pro diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qdelaunay/qdelaun.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qdelaunay/qdelaun.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qdelaunay/qdelaun.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qdelaunay/qdelaun.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qdelaunay/qdelaunay.pro b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qdelaunay/qdelaunay.pro similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qdelaunay/qdelaunay.pro rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qdelaunay/qdelaunay.pro diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhalf/qhalf.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhalf/qhalf.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhalf/qhalf.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhalf/qhalf.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhalf/qhalf.pro b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhalf/qhalf.pro similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhalf/qhalf.pro rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhalf/qhalf.pro diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhull-all.pro b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhull-all.pro similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhull-all.pro rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhull-all.pro diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhull-app-c.pri b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhull-app-c.pri similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhull-app-c.pri rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhull-app-c.pri diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhull-app-cpp.pri b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhull-app-cpp.pri similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhull-app-cpp.pri rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhull-app-cpp.pri diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhull-app-shared.pri b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhull-app-shared.pri similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhull-app-shared.pri rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhull-app-shared.pri diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhull-app-sharedp.pri b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhull-app-sharedp.pri similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhull-app-sharedp.pri rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhull-app-sharedp.pri diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhull-libqhull-src.pri b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhull-libqhull-src.pri similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhull-libqhull-src.pri rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhull-libqhull-src.pri diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhull-warn.pri b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhull-warn.pri similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhull-warn.pri rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhull-warn.pri diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhull/qhull.pro b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhull/qhull.pro similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhull/qhull.pro rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhull/qhull.pro diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhull/unix.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhull/unix.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhull/unix.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhull/unix.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/Coordinates_test.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/Coordinates_test.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/Coordinates_test.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/Coordinates_test.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/PointCoordinates_test.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/PointCoordinates_test.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/PointCoordinates_test.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/PointCoordinates_test.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/Point_test.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/Point_test.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/Point_test.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/Point_test.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullFacetList_test.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullFacetList_test.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullFacetList_test.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullFacetList_test.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullFacetSet_test.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullFacetSet_test.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullFacetSet_test.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullFacetSet_test.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullFacet_test.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullFacet_test.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullFacet_test.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullFacet_test.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullHyperplane_test.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullHyperplane_test.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullHyperplane_test.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullHyperplane_test.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullLinkedList_test.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullLinkedList_test.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullLinkedList_test.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullLinkedList_test.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullPointSet_test.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullPointSet_test.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullPointSet_test.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullPointSet_test.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullPoint_test.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullPoint_test.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullPoint_test.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullPoint_test.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullPoints_test.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullPoints_test.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullPoints_test.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullPoints_test.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullRidge_test.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullRidge_test.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullRidge_test.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullRidge_test.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullSet_test.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullSet_test.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullSet_test.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullSet_test.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullVertexSet_test.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullVertexSet_test.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullVertexSet_test.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullVertexSet_test.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullVertex_test.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullVertex_test.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullVertex_test.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/QhullVertex_test.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/Qhull_test.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/Qhull_test.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/Qhull_test.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/Qhull_test.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/RboxPoints_test.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/RboxPoints_test.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/RboxPoints_test.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/RboxPoints_test.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/RoadTest.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/RoadTest.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/RoadTest.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/RoadTest.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/RoadTest.h b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/RoadTest.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/RoadTest.h rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/RoadTest.h diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/UsingLibQhull_test.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/UsingLibQhull_test.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/UsingLibQhull_test.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/UsingLibQhull_test.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/qhulltest.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/qhulltest.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/qhulltest.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/qhulltest.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/qhulltest.pro b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/qhulltest.pro similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qhulltest/qhulltest.pro rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qhulltest/qhulltest.pro diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qvoronoi/qvoronoi.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qvoronoi/qvoronoi.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qvoronoi/qvoronoi.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qvoronoi/qvoronoi.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qvoronoi/qvoronoi.pro b/src/amuse_simplex/src/plugins/qhull-2012.1/src/qvoronoi/qvoronoi.pro similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/qvoronoi/qvoronoi.pro rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/qvoronoi/qvoronoi.pro diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/rbox/rbox.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/rbox/rbox.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/rbox/rbox.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/rbox/rbox.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/rbox/rbox.pro b/src/amuse_simplex/src/plugins/qhull-2012.1/src/rbox/rbox.pro similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/rbox/rbox.pro rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/rbox/rbox.pro diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/testqset/testqset.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/testqset/testqset.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/testqset/testqset.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/testqset/testqset.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/testqset/testqset.pro b/src/amuse_simplex/src/plugins/qhull-2012.1/src/testqset/testqset.pro similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/testqset/testqset.pro rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/testqset/testqset.pro diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/user_eg/user_eg.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/user_eg/user_eg.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/user_eg/user_eg.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/user_eg/user_eg.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/user_eg/user_eg.pro b/src/amuse_simplex/src/plugins/qhull-2012.1/src/user_eg/user_eg.pro similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/user_eg/user_eg.pro rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/user_eg/user_eg.pro diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/user_eg2/user_eg2.c b/src/amuse_simplex/src/plugins/qhull-2012.1/src/user_eg2/user_eg2.c similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/user_eg2/user_eg2.c rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/user_eg2/user_eg2.c diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/user_eg2/user_eg2.pro b/src/amuse_simplex/src/plugins/qhull-2012.1/src/user_eg2/user_eg2.pro similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/user_eg2/user_eg2.pro rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/user_eg2/user_eg2.pro diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/user_eg3/user_eg3.cpp b/src/amuse_simplex/src/plugins/qhull-2012.1/src/user_eg3/user_eg3.cpp similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/user_eg3/user_eg3.cpp rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/user_eg3/user_eg3.cpp diff --git a/src/amuse/community/simplex/src/plugins/qhull-2012.1/src/user_eg3/user_eg3.pro b/src/amuse_simplex/src/plugins/qhull-2012.1/src/user_eg3/user_eg3.pro similarity index 100% rename from src/amuse/community/simplex/src/plugins/qhull-2012.1/src/user_eg3/user_eg3.pro rename to src/amuse_simplex/src/plugins/qhull-2012.1/src/user_eg3/user_eg3.pro diff --git a/src/amuse/community/simplex/src/plugins/unit_sphere_tess/include/Map16.h b/src/amuse_simplex/src/plugins/unit_sphere_tess/include/Map16.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/unit_sphere_tess/include/Map16.h rename to src/amuse_simplex/src/plugins/unit_sphere_tess/include/Map16.h diff --git a/src/amuse/community/simplex/src/plugins/unit_sphere_tess/include/Map21.h b/src/amuse_simplex/src/plugins/unit_sphere_tess/include/Map21.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/unit_sphere_tess/include/Map21.h rename to src/amuse_simplex/src/plugins/unit_sphere_tess/include/Map21.h diff --git a/src/amuse/community/simplex/src/plugins/unit_sphere_tess/include/Map32.h b/src/amuse_simplex/src/plugins/unit_sphere_tess/include/Map32.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/unit_sphere_tess/include/Map32.h rename to src/amuse_simplex/src/plugins/unit_sphere_tess/include/Map32.h diff --git a/src/amuse/community/simplex/src/plugins/unit_sphere_tess/include/Map42.h b/src/amuse_simplex/src/plugins/unit_sphere_tess/include/Map42.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/unit_sphere_tess/include/Map42.h rename to src/amuse_simplex/src/plugins/unit_sphere_tess/include/Map42.h diff --git a/src/amuse/community/simplex/src/plugins/unit_sphere_tess/include/Map64.h b/src/amuse_simplex/src/plugins/unit_sphere_tess/include/Map64.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/unit_sphere_tess/include/Map64.h rename to src/amuse_simplex/src/plugins/unit_sphere_tess/include/Map64.h diff --git a/src/amuse/community/simplex/src/plugins/unit_sphere_tess/include/Map84.h b/src/amuse_simplex/src/plugins/unit_sphere_tess/include/Map84.h similarity index 100% rename from src/amuse/community/simplex/src/plugins/unit_sphere_tess/include/Map84.h rename to src/amuse_simplex/src/plugins/unit_sphere_tess/include/Map84.h diff --git a/src/amuse/community/simplex/src/src/Common.cpp b/src/amuse_simplex/src/src/Common.cpp similarity index 100% rename from src/amuse/community/simplex/src/src/Common.cpp rename to src/amuse_simplex/src/src/Common.cpp diff --git a/src/amuse/community/simplex/src/src/Common.h b/src/amuse_simplex/src/src/Common.h similarity index 100% rename from src/amuse/community/simplex/src/src/Common.h rename to src/amuse_simplex/src/src/Common.h diff --git a/src/amuse/community/simplex/src/src/Main.cpp b/src/amuse_simplex/src/src/Main.cpp similarity index 100% rename from src/amuse/community/simplex/src/src/Main.cpp rename to src/amuse_simplex/src/src/Main.cpp diff --git a/src/amuse/community/simplex/src/src/Main.h b/src/amuse_simplex/src/src/Main.h similarity index 100% rename from src/amuse/community/simplex/src/src/Main.h rename to src/amuse_simplex/src/src/Main.h diff --git a/src/amuse/community/simplex/src/src/SimpleX.cpp b/src/amuse_simplex/src/src/SimpleX.cpp similarity index 100% rename from src/amuse/community/simplex/src/src/SimpleX.cpp rename to src/amuse_simplex/src/src/SimpleX.cpp diff --git a/src/amuse/community/simplex/src/src/SimpleX.h b/src/amuse_simplex/src/src/SimpleX.h similarity index 100% rename from src/amuse/community/simplex/src/src/SimpleX.h rename to src/amuse_simplex/src/src/SimpleX.h diff --git a/src/amuse/community/simplex/src/src/Structs.cpp b/src/amuse_simplex/src/src/Structs.cpp similarity index 100% rename from src/amuse/community/simplex/src/src/Structs.cpp rename to src/amuse_simplex/src/src/Structs.cpp diff --git a/src/amuse/community/simplex/src/src/Structs.h b/src/amuse_simplex/src/src/Structs.h similarity index 100% rename from src/amuse/community/simplex/src/src/Structs.h rename to src/amuse_simplex/src/src/Structs.h diff --git a/src/amuse/community/simplex/src/src/amuse_interface.cpp b/src/amuse_simplex/src/src/amuse_interface.cpp similarity index 100% rename from src/amuse/community/simplex/src/src/amuse_interface.cpp rename to src/amuse_simplex/src/src/amuse_interface.cpp diff --git a/src/amuse/community/simplex/src/src/amuse_interface.h b/src/amuse_simplex/src/src/amuse_interface.h similarity index 100% rename from src/amuse/community/simplex/src/src/amuse_interface.h rename to src/amuse_simplex/src/src/amuse_interface.h diff --git a/src/amuse/community/simplex/src/src/rates.cpp b/src/amuse_simplex/src/src/rates.cpp similarity index 100% rename from src/amuse/community/simplex/src/src/rates.cpp rename to src/amuse_simplex/src/src/rates.cpp diff --git a/src/amuse/community/simplex/src/src/rates.h b/src/amuse_simplex/src/src/rates.h similarity index 100% rename from src/amuse/community/simplex/src/src/rates.h rename to src/amuse_simplex/src/src/rates.h diff --git a/src/amuse/test/suite/codes_tests/__init__.py b/src/amuse_simplex2_5/__init__.py similarity index 100% rename from src/amuse/test/suite/codes_tests/__init__.py rename to src/amuse_simplex2_5/__init__.py diff --git a/src/amuse_simplex2_5/interface.py b/src/amuse_simplex2_5/interface.py new file mode 100644 index 0000000000..4586b4c0f3 --- /dev/null +++ b/src/amuse_simplex2_5/interface.py @@ -0,0 +1,5 @@ +import os.path +from amuse.community.interface.common import CommonCodeInterface, CommonCode +from amuse.community import * +from amuse.community.simplex.interface import * + diff --git a/src/amuse_smalln/Makefile b/src/amuse_smalln/Makefile new file mode 100644 index 0000000000..673b325648 --- /dev/null +++ b/src/amuse_smalln/Makefile @@ -0,0 +1,76 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library +DEPFLAGS += $(STOPCOND_CFLAGS) + +CFLAGS += $(DEPFLAGS) +CFLAGS += -Wall -g -Isrc + +LDFLAGS += + +LDLIBS += -lm $(STOPCOND_LIBS) + + +CODELIB = src/libsmallN.a + + +.PHONY: $(CODELIB) +$(CODELIB): + $(MAKE) -C src -j $(CPU_COUNT) all CFLAGS='$(CFLAGS)' CXX='$(MPICXX)' + +# Building the workers +smalln_worker.h: interface.py + amusifier --type=h interface.py -i amuse.community.interface.stopping_conditions.StoppingConditionInterface SmallNInterface -o $@ + +smalln_worker.cc: interface.py + amusifier --type=c interface.py SmallNInterface -o $@ + +interface.o: interface.cc smalln_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + +smalln_worker.o: smalln_worker.cc smalln_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + +smalln_worker: smalln_worker.o interface.o $(CODELIB) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + + +# Which packages contain which workers? +amuse-smalln_contains: smalln_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + diff --git a/src/amuse_smalln/__init__.py b/src/amuse_smalln/__init__.py new file mode 100644 index 0000000000..5947186f83 --- /dev/null +++ b/src/amuse_smalln/__init__.py @@ -0,0 +1,2 @@ +# generated file +from .interface import Smalln diff --git a/src/amuse_smalln/interface.cc b/src/amuse_smalln/interface.cc new file mode 100644 index 0000000000..6bc9e123af --- /dev/null +++ b/src/amuse_smalln/interface.cc @@ -0,0 +1,709 @@ +#include "smalln_worker.h" + +// A stub of this file is machine generated, but the content is +// hand-coded. SAVE A COPY to avoid accidental overwriting! + +#include "src/smallN_interface.h" + +static hdyn *b = NULL; // root node for all smallN data +static hdyn *b_copy = NULL; + +static double begin_time = 0; +static real smalln_dtlog = _INFINITY_; +static int smalln_verbose = 0; +static string smalln_outfile(""); + +class UpdatedParticle { + + // AMUSE bookkeeping. A particle on the UpdatedParticle list has + // been added or removed internally. Use this class to communicate + // this information back to the python level. + + public: + + int index_of_particle; + int status; // 1 ==> deleted, 2 ==> added + + UpdatedParticle():index_of_particle(-1),status(0) {} + UpdatedParticle(int i, int s):index_of_particle(i), status(s) {} + UpdatedParticle(const UpdatedParticle& src) + :index_of_particle(src.index_of_particle), status(src.status) {} +}; + +#include +vector UpdatedParticles; + +// AMUSE STOPPING CONDITIONS SUPPORT +#include + +// Setup and parameters. + +int cleanup_code() +{ + // Clean up at the end of the calculation. + + if (b) { + rmtree(b); // deletes b + b = NULL; + } + if (b_copy) { + rmtree(b_copy); // deletes b_copy + b_copy = NULL; + } + begin_time = 0.0; + real smalln_dtlog = _INFINITY_; + smalln_verbose = 0; + smalln_outfile = string(""); + UpdatedParticles.clear(); + return 0; +} + +int initialize_code() +{ + initialize_stopping_conditions(); + // Begin the initialization by creating a basic hdyn data structure. + + cleanup_code(); + + b = new hdyn; + b_copy = NULL; + + b->set_eta(0.14); + b->set_gamma(1e-6); + b->set_system_time(0.0); + b->set_allow_full_unperturbed(1); + b->set_cm_index(100000); + + // AMUSE stopping conditions support. + + set_support_for_condition(COLLISION_DETECTION); + set_support_for_condition(INTERACTION_OVER_DETECTION); + mpi_setup_stopping_conditions(); + + return 0; +} + +int set_begin_time(double input) { + begin_time = input; + return 0; +} + +int get_begin_time(double * output) { + *output = begin_time; + return 0; +} + +int set_eps2(double softening_parameter_sq) // not used +{ + return 0; +} + +int get_eps2(double * softening_parameter_sq) +{ + *softening_parameter_sq = 0; + return 0; +} + +int set_eta(double timestep_parameter) +{ + b->set_eta(timestep_parameter); + return 0; +} + +int get_eta(double * timestep_parameter) +{ + *timestep_parameter = b->get_eta(); + return 0; +} + +int set_gamma(double unperturbed_parameter) +{ + b->set_gamma(unperturbed_parameter); + return 0; +} + +int get_gamma(double * unperturbed_parameter) +{ + *unperturbed_parameter = b->get_gamma(); + return 0; +} + +int set_allow_full_unperturbed(int allow_full_unperturbed) +{ + b->set_allow_full_unperturbed(allow_full_unperturbed); + return 0; +} + +int get_allow_full_unperturbed(int * allow_full_unperturbed) +{ + *allow_full_unperturbed = b->get_allow_full_unperturbed(); + return 0; +} + +int set_cm_index(int cm_index) +{ + b->set_cm_index(cm_index); + // cout << "interface set_cm_index " << cm_index << endl << flush; + return 0; +} + +int get_cm_index(int * cm_index) +{ + *cm_index = b->get_cm_index(); + return 0; +} + +int set_time(double sys_time) +{ + b->set_system_time(sys_time); + return 0; +} + +int get_time(double * sys_time) +{ + *sys_time = b->get_system_time(); + return 0; +} + +int set_outfile(char * file) +{ + smalln_outfile = string(file); + // cout << "file = " << file << endl; + // cout << "smalln_outfile = " << smalln_outfile << endl; + return 0; +} + +int get_outfile(char ** file) +{ + *file = (char*)smalln_outfile.c_str(); + return 0; +} + +int commit_parameters() +{ + // Perform any needed setup after initial code parameters have been set. + + if (b->get_system_time() == 0) { + b->set_system_time(begin_time); + } + return 0; +} + +int recommit_parameters() +{ + // Perform any needed changes after code parameters have been reset. + + return 0; +} + +int commit_particles() +{ + // Complete the initialization, after all particles have been loaded. + + return 0; +} + +int recommit_particles() +{ + // Reinitialize/reset the system after particles have been added + // or removed. + + return 0; +} + +// Setters and getters for individual particles. + +int new_particle(int * index_of_the_particle, + double mass, + double x, double y, double z, + double vx, double vy, double vz, + double radius, int index_to_set) +{ + // Add a particle to the system. Let the module set the id, or + // force the index to index_to_set if >= 0 and allowed. + + *index_of_the_particle = add_particle(b, mass, radius, + vec(x,y,z), vec(vx,vy,vz), + index_to_set); + //cout << "new_particle: " << index_to_set + // << " " << *index_of_the_particle + // << endl << flush; + + return 0; +} + +int delete_particle(int index_of_the_particle) +{ + // Remove a (top-level) particle from the system. + + hdyn *bb = particle_with_index(b, index_of_the_particle); + if (!bb) return -1; + else return remove_particle(bb); +} + +int get_index_of_next_particle(int index_of_the_particle, + int * index_of_the_next_particle) +{ + hdyn *bb = particle_with_index(b, index_of_the_particle); + if (!bb) + return -1; + else if (!bb->get_younger_sister()) + return 1; + else + *index_of_the_next_particle = bb->get_younger_sister()->get_index(); + return 0; +} + +int set_state(int index_of_the_particle, + double mass, + double x, double y, double z, + double vx, double vy, double vz, + double radius) +{ + hdyn *bb = particle_with_index(b, index_of_the_particle); + if (!bb) return -1; + bb->set_mass(mass); + bb->set_radius(radius); + bb->set_pos(vec(x,y,z)); + bb->set_vel(vec(vx,vy,vz)); + return 0; +} + +int get_state(int index_of_the_particle, + double * mass, + double * x, double * y, double * z, + double * vx, double * vy, double * vz, + double * radius) +{ + hdyn *bb = particle_with_index(b, index_of_the_particle); + if (!bb) return -1; + *mass = bb->get_mass(); + *radius = bb->get_radius(); + vec pos = bb->get_pos(), vel = bb->get_vel(); + hdyn *p = bb->get_parent(); + while (p && p->get_parent()) { + pos += p->get_pos(); // return absolute values + vel += p->get_vel(); + p = p->get_parent(); + } + *x = pos[0]; + *y = pos[1]; + *z = pos[2]; + *vx = vel[0]; + *vy = vel[1]; + *vz = vel[2]; + return 0; +} + +int set_mass(int index_of_the_particle, double mass) +{ + hdyn *bb = particle_with_index(b, index_of_the_particle); + if (!bb) return -1; + bb->set_mass(mass); + return 0; +} + +int get_mass(int index_of_the_particle, double * mass) +{ + hdyn *bb = particle_with_index(b, index_of_the_particle); + if (!bb) return -1; + *mass = bb->get_mass(); + return 0; +} + +int set_radius(int index_of_the_particle, double radius) +{ + hdyn *bb = particle_with_index(b, index_of_the_particle); + if (!bb) return -1; + bb->set_radius(radius); + return 0; +} + +int get_radius(int index_of_the_particle, double * radius) +{ + hdyn *bb = particle_with_index(b, index_of_the_particle); + if (!bb){*radius = 0.0; return -1;} + *radius = bb->get_radius(); + return 0; +} + +int set_position(int index_of_the_particle, + double x, double y, double z) +{ + hdyn *bb = particle_with_index(b, index_of_the_particle); + if (!bb) return -1; + bb->set_pos(vec(x,y,z)); + return 0; +} + +int get_position(int index_of_the_particle, + double * x, double * y, double * z) +{ + hdyn *bb = particle_with_index(b, index_of_the_particle); + if (!bb) return -1; + vec pos = bb->get_pos(); + hdyn *p = bb->get_parent(); + while (p && p->get_parent()) { + pos += p->get_pos(); // return absolute value + p = p->get_parent(); + } + *x = pos[0]; + *y = pos[1]; + *z = pos[2]; + return 0; +} + +int set_velocity(int index_of_the_particle, + double vx, double vy, double vz) +{ + hdyn *bb = particle_with_index(b, index_of_the_particle); + if (!bb) return -1; + bb->set_vel(vec(vx,vy,vz)); + return 0; +} + +int get_velocity(int index_of_the_particle, + double * vx, double * vy, double * vz) +{ + hdyn *bb = particle_with_index(b, index_of_the_particle); + if (!bb) return -1; + vec vel = bb->get_vel(); + hdyn *p = bb->get_parent(); + while (p && p->get_parent()) { + vel += p->get_vel(); // return absolute value + p = p->get_parent(); + } + *vx = vel[0]; + *vy = vel[1]; + *vz = vel[2]; + return 0; +} + +int get_acceleration(int index_of_the_particle, + double * ax, double * ay, double * az) +{ + return -1; +} + +int get_potential(int index_of_the_particle, double * pot) +{ + return -1; +} + + +// System-wide operations. + +static real break_scale_sq = _INFINITY_; +static real structure_check_interval = _INFINITY_; + +int set_break_scale(real r) { + break_scale_sq = r*r; + if (break_scale_sq <= 0) break_scale_sq = _INFINITY_; + return 0; +} + +int set_structure_check_interval(real dt) { + structure_check_interval = dt; + return 0; +} + +void myspaces(int n) {for (int i = 0; i < n; i++) cout << " ";} + +void myprint(hdyn *b, int level = 0) +{ + myspaces(4*level); + cout << b->get_index() << " " << "mass = " << b->get_mass(); + if (b->get_kepler()) cout << " kepler"; + cout << endl; + myspaces(4*level); + cout << " pos = " << b->get_pos() << endl; + for_all_daughters(hdyn, b, bb) + myprint(bb, level+1); +} + +int evolve_model(double to_time) +{ + // On return, system_time will be greater than or equal to the + // specified time. All particles j will have time[j] <= + // system_time < time[j] + timestep[j]. + + reset_stopping_conditions(); + UpdatedParticles.clear(); + + // Default calling sequence to smallN_evolve forces it to + // integrate to the specified time, even if it thinks the + // interaction is over. + + // int status = + smallN_evolve(b, to_time, break_scale_sq, structure_check_interval, + smalln_dtlog, smalln_verbose, smalln_outfile); + //myprint(b); + + // Note: return status is independent of the termination reason... + + return 0; +} + +int is_over(int * over, real rlimit, int verbose) +{ + real rlimit2 = rlimit*rlimit; + if (rlimit2 <= 0) rlimit2 = _INFINITY_; + *over = check_structure(b, rlimit2, verbose); + + return 0; +} + +int synchronize_model() +{ + // Synchronize all particles at the current system time. + // No action needed. + + return 0; +} + +int get_time_step(double * time_step) +{ + *time_step = calculate_top_level_acc_and_jerk(b); + return 0; +} + +int get_index_of_first_particle(int * index_of_the_particle) +{ + *index_of_the_particle = -1; + hdyn *od = b->get_oldest_daughter(); + if (!od) return -1; + *index_of_the_particle = od->get_index(); + return 0; +} + +int get_indices_of_colliding_particles(int * index_of_particle1, + int * index_of_particle2) +{ + // TODO. + + *index_of_particle1 = -1; + *index_of_particle2 = -1; + return -1; +} + +int get_number_of_particles(int * number_of_particles) +{ + *number_of_particles = 0; + for_all_daughters(hdyn, b, bb) (*number_of_particles)++; + return 0; +} + +int get_total_mass(double * mass) +{ + *mass = 0; + for_all_daughters(hdyn, b, bb) (*mass) += bb->get_mass(); + return 0; +} + +int get_potential_energy(double * potential_energy) +{ + real kin, pot; + get_energies(b, kin, pot); + *potential_energy = pot; + return 0; +} + +int get_kinetic_energy(double * kinetic_energy) +{ + real kin, pot; + get_energies(b, kin, pot); + *kinetic_energy = kin; + return 0; +} + +int get_center_of_mass_position(double * x, double * y, double * z) +{ + real mtot = 0; + vec cmpos(0,0,0); + for_all_daughters(hdyn, b, bb) { + mtot += bb->get_mass(); + cmpos += bb->get_mass()*bb->get_pos(); + } + *x = cmpos[0]/mtot; + *y = cmpos[1]/mtot; + *z = cmpos[2]/mtot; + return 0; +} + +int get_center_of_mass_velocity(double * vx, double * vy, double * vz) +{ + real mtot = 0; + vec cmvel(0,0,0); + for_all_daughters(hdyn, b, bb) { + mtot += bb->get_mass(); + cmvel += bb->get_mass()*bb->get_vel(); + } + *vx = cmvel[0]/mtot; + *vy = cmvel[1]/mtot; + *vz = cmvel[2]/mtot; + return 0; +} + +int get_total_radius(double * radius) +{ + vec cmpos; + get_center_of_mass_position(&cmpos[0], &cmpos[1], &cmpos[2]); + real r2max = 0; + for_all_daughters(hdyn, b, bb) { + real r2 = square(bb->get_pos()-cmpos); + if (r2 > r2max) r2max = r2; + } + *radius = sqrt(r2max); + return 0; +} + +// Optional (not implemented; needed for bridge): + +int get_potential_at_point(double eps, + double x, double y, double z, + double * phi) +{ + return -1; +} + +int get_gravity_at_point(double eps, double x, double y, double z, + double * forcex, double * forcey, double * forcez) +{ + return -1; +} + + + +int update_particle_tree(int over) // default = 0 +{ + b_copy = b; // save the smallN tree until restored + b = get_tree(b_copy); // b now is the structured tree + // (why use b? - see below) + + if (over > 1) { + + // Over = 2 means a quasistable system has been detected. + // Over = 3 means that the interaction is over (because the + // system exceeded the size limit). In either case, + // get_tree2() may not have returned usable hierarchical + // structure (e.g. an outer body escapes during an inner + // triple resonance. Impose usable structure by relaxing the + // perturbation criterion on the components. By effectively + // ignoring all perturbations we ensure that top-level nodes + // are unbound, leaving all bound substructure in a clump + // which will be treatewd as a single object. + + rmtree(b); + b = get_tree(b_copy, 1.e6); // 1.e6 means ignore perturbations + + // Goals: (1) substructure, (2) top-level nodes are unbound. + // Should check both here, but not clear what to do if they + // aren't met... + + int nmul = 0; + for_all_daughters(hdyn, b, bi) + if (bi->get_oldest_daughter()) nmul++; + + if (nmul == 0) { + + // No substructure. Flag for now. + + cout << "*** SmallN: nmul = 0" << endl; + } + + int nbound = 0; + for_all_daughters(hdyn, b, bi) { + for_all_daughters(hdyn, b, bj) { + if (bj > bi) { + real m = bi->get_mass()+bj->get_mass(); + vec dx = bi->get_pos()-bj->get_pos(); + vec dv = bi->get_vel()-bj->get_vel(); + if (0.5*dv*dv - m/sqrt(dx*dx) < 0) nbound++; + } + } + } + + if (nbound > 0) { + + // Top level not unbound. Flag for now. + + cout << "*** SmallN: "; PRL(nbound); + } + } + + UpdatedParticles.clear(); + + // Create indices for the CM nodes and add them to the updated list. + + if (b->get_cm_index() <= 0) { + int max_index = -1; + for_all_leaves(hdyn, b, bb) + if (bb->get_index() > max_index) max_index = bb->get_index(); + b->set_cm_index(pow(10, (int)log10((real)max_index+1) + 2.) + 1); + } + + for_all_nodes(hdyn, b, bb) + if (bb->get_parent() && bb->get_oldest_daughter()) { + int newindex = b->get_cm_index(); + b->set_cm_index(newindex+1); + bb->set_index(newindex); + // cout << "push_back " << bb->get_index() << endl << flush; + UpdatedParticles.push_back(UpdatedParticle(newindex, 1)); + } + + // ARJEN: I'm pretty sure that the memory leak occurs because each + // invocation to get_tree() above creates a new data structure, + // but it is never deleted. If I could do it locally I would + // clean up as follows, but this causes an error, since + // synchronize_to() in the driving script needs the structured + // data. It looks like restore_particle_tree() below was intended + // to do just that, but it is not accessible from AMUSE and never + // invoked. Maybe it can be called through your state model? + // -- Steve + // + // rmtree(b); + // b = b_copy; + + return 0; +} + +int restore_particle_tree() // *** never used *** +{ + // Clean up temporary data structures. + + if (!b_copy) return -1; + rmtree(b); + b = b_copy; // b is now the smallN tree again + b_copy = NULL; + UpdatedParticles.clear(); + return 0; +} + +int get_number_of_particles_added(int * n_added) +{ + *n_added = (int)UpdatedParticles.size(); + return 0; +} + +int get_id_of_added_particle(int index, int * index_of_particle) +{ + if (index < 0 || index > (int) UpdatedParticles.size()) + return -1; + *index_of_particle = UpdatedParticles[index].index_of_particle; + return 0; +} + +int get_children_of_particle(int index_of_the_particle, + int * child1, int * child2) +{ + hdyn *bb = particle_with_index(b, index_of_the_particle); + if (!bb) return -1; + hdyn *od = bb->get_oldest_daughter(); + if (od && od->get_younger_sister()) { + *child1 = od->get_index(); + *child2 = od->get_younger_sister()->get_index(); + } else { + *child1 = *child2 = -1; + } + return 0; +} diff --git a/src/amuse_smalln/interface.py b/src/amuse_smalln/interface.py new file mode 100644 index 0000000000..f8d8e29693 --- /dev/null +++ b/src/amuse_smalln/interface.py @@ -0,0 +1,448 @@ +from amuse.community import * +from amuse.community.interface.gd import GravitationalDynamics +from amuse.community.interface.gd import GravitationalDynamicsInterface + +# *** This script, together with the defaults in +# *** GravitationalDynamicsInterface, will be used to generate both +# *** the header file smalln_worker.h and the stub interface.cc. + +class SmallNInterface(CodeInterface, + StoppingConditionInterface, + GravitationalDynamicsInterface): + """ + Self-contained few-body integrator, using a fourth-order, + shared-timestep, time-symmetrized Hermite scheme including a + modified unperturbed treatment of close approaches. + """ + + # Interface specification. + + include_headers = ['smalln_worker.h', 'stopcond.h'] + + def __init__(self, **options): + CodeInterface.__init__( + self, + name_of_the_worker='smalln_worker', + **options + ) + + # Interface functions: + + @legacy_function + def new_particle(): + """ + Define a new particle in the stellar dynamics code. The + particle is initialized with the provided mass, radius, + position and velocity. This function returns an index that + can be used to refer to this particle. + """ + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('index_of_the_particle', dtype='int32', + direction=function.OUT, description = + """ + An index assigned to the newly created particle. + This index is supposed to be a local index for the code + (and not valid in other instances of the code or in other codes) + """ + ) + + function.addParameter('mass', dtype='float64', direction=function.IN, + description = "The mass of the particle") + function.addParameter('x', dtype='float64', direction=function.IN, + description = "The initial position vector of the particle") + function.addParameter('y', dtype='float64', direction=function.IN, + description = "The initial position vector of the particle") + function.addParameter('z', dtype='float64', direction=function.IN, + description = "The initial position vector of the particle") + function.addParameter('vx', dtype='float64', direction=function.IN, + description = "The initial velocity vector of the particle") + function.addParameter('vy', dtype='float64', direction=function.IN, + description = "The initial velocity vector of the particle") + function.addParameter('vz', dtype='float64', direction=function.IN, + description = "The initial velocity vector of the particle") + function.addParameter('radius', dtype='float64', direction=function.IN, + description = "The radius of the particle", default = 0) + function.addParameter('id', dtype='int32', direction=function.IN, + description = "Identifier of the particle, " + +"option for restoring state after loading", + default = -1) + function.result_type = 'int32' + function.result_doc = """ 0 - OK + particle was created and added to the model + -1 - ERROR + particle could not be created""" + return function + + # Inheritance from GravitationalDynamicsInterface means that + # functions in the standard interface don't need to be defined. + + # Additional functions defined here will be reflected in + # smalln_worker.h and must be provided in interface.cc in order for + # smallN_worker to build. + @legacy_function + def set_time(): + """ + Set the model time. Should use set_begin_time + """ + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='float64', direction=function.IN, + description = "The model time to start at", unit = nbody_system.time) + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Time value was changed + -2 - ERROR + The code does not support setting the time + """ + return function + + + @legacy_function + def set_eta(): + """ + Set the current time step parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('eta', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_eta(): + """ + Set the current system time step parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('eta', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_gamma(): + """ + Set the unperturbed threshold. + """ + function = LegacyFunctionSpecification() + function.addParameter('gamma', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_gamma(): + """ + Get the unperturbed threshold. + """ + function = LegacyFunctionSpecification() + function.addParameter('gamma', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_allow_full_unperturbed(): + """ + Set flag to allow full unperturbed motion. + """ + function = LegacyFunctionSpecification() + function.addParameter('allow_full_unpert', dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_allow_full_unperturbed(): + """ + Get flag to allow full unperturbed motion. + """ + function = LegacyFunctionSpecification() + function.addParameter('allow_full_unpert', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_cm_index(): + """ + Set the current time step parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('cm_index', dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_cm_index(): + """ + Set the current system time step parameter. + """ + function = LegacyFunctionSpecification() + function.addParameter('cm_index', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_break_scale(): + """ + Set the scale at which smallN should stop. + """ + function = LegacyFunctionSpecification() + function.addParameter('break_scale', dtype='float64', + direction=function.IN, unit = nbody_system.length) + function.result_type = 'int32' + return function + + @legacy_function + def set_outfile(): + """ + Set debug output file name. + """ + function = LegacyFunctionSpecification() + function.addParameter('outfile', dtype='string', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_outfile(): + """ + Get debug output file name. + """ + function = LegacyFunctionSpecification() + function.addParameter('outfile', dtype='string', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_structure_check_interval(): + """ + Set the time scale at which smallN should check structure. + """ + function = LegacyFunctionSpecification() + function.addParameter('check_interval', dtype='float64', + direction=function.IN, unit = nbody_system.time) + function.result_type = 'int32' + return function + + @legacy_function + def is_over(): + """ + Return 1 if the run is over, according to analyze(). + Return 2 for a quasi-stable system. + Return 3 if the size of the system exceeds rlimit. + Return 0 otherwise. + """ + function = LegacyFunctionSpecification() + function.addParameter('over', dtype='int32', + direction=function.OUT) + function.addParameter('rlimit', dtype='float64', + direction=function.IN, unit = nbody_system.length, + default = 0 ) + function.addParameter('verbose', dtype='int32', + direction=function.IN, default = 0) + function.result_type = 'int32' + return function + + @legacy_function + def update_particle_tree(): + """ + Update the internal particle tree to reflect the binary + structure created in evolve + """ + function = LegacyFunctionSpecification() + function.addParameter('over', dtype='int32', + direction=function.IN, + default = 0) + function.result_type = 'int32' + return function + + @legacy_function + def get_number_of_particles_added(): + """ + Return the number of particles added or deleted during the last evolve. + """ + function = LegacyFunctionSpecification() + function.addParameter('n_added', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_id_of_added_particle(): + """ + Return the number of particles added or deleted during the last evolve. + """ + function = LegacyFunctionSpecification() + function.addParameter('index_of_update', dtype='int32', + direction=function.IN, + description = 'index in the updated particles list') + function.addParameter('index_of_particle', dtype='int32', + direction=function.OUT) + function.can_handle_array = True + function.result_type = 'int32' + return function + + @legacy_function + def get_children_of_particle(): + """ + Return the number of particles added or deleted during the last evolve. + """ + function = LegacyFunctionSpecification() + function.addParameter('index_of_the_particle', dtype='int32', + direction=function.IN, + description = 'index of the parent particle', + unit = INDEX) + function.addParameter('child1', dtype='int32', direction=function.OUT, + description = 'index of the first child particle, -1 if none', + unit = LINK('particles') ) + function.addParameter('child2', dtype='int32', direction=function.OUT, + unit = LINK('particles')) + function.can_handle_array = True + function.result_type = 'int32' + return function + +class SmallN(GravitationalDynamics): + + # The actual module. + + def __init__(self, convert_nbody = None, **keyword_arguments): + self.stopping_conditions = StoppingConditions(self) + + legacy_interface = SmallNInterface(**keyword_arguments) + + GravitationalDynamics.__init__(self, + legacy_interface, + convert_nbody, + **keyword_arguments) + + def define_parameters(self, handler): + self.stopping_conditions.define_parameters(handler) + + # Set/get parameters specific to the module, not part of the + # standard interface. Accessors used here must be defined + # above and reflected in interface.cc. Python access is + # (e.g.) + # + # SmallN.parameters.timestep_parameter = xxx + + handler.add_method_parameter( + "get_eta", # getter name in interface.cc + "set_eta", # setter name in interface.cc + "timestep_parameter", # python parameter name + "timestep parameter", # description + default_value = 0.14 + ) + + handler.add_method_parameter( + "get_gamma", # getter name in interface.cc + "set_gamma", # setter name in interface.cc + "unperturbed_threshold", # python parameter name + "unperturbed threshold", # description + default_value = 1.e-6 + ) + + handler.add_method_parameter( + "get_allow_full_unperturbed", # getter name in interface.cc + "set_allow_full_unperturbed", # setter name in interface.cc + "allow_full_unperturbed", # python parameter name + "full unperturbed motion", # description + default_value = 1 + ) + + handler.add_method_parameter( + "get_outfile", # getter name in interface.cc + "set_outfile", # setter name in interface.cc + "outfile", # python parameter name + "debug output file", # description + default_value = "" + ) + + handler.add_method_parameter( + "get_cm_index", # getter name in interface.cc + "set_cm_index", # setter name in interface.cc + "cm_index", # python parameter name + "current CM index", # description + default_value = 100000 + ) + + handler.add_method_parameter( + "get_begin_time", + "set_begin_time", + "begin_time", + "model time to start the simulation at", + default_value = 0.0 | nbody_system.time + ) + + + def define_particle_sets(self, handler): + GravitationalDynamics.define_particle_sets(self, handler) + self.stopping_conditions.define_particle_set(handler) + handler.add_getter("particles", 'get_children_of_particle') + + def define_methods(self, handler): + self.stopping_conditions.define_methods(handler) + GravitationalDynamics.define_methods(self, handler) + + # Turn interface functions into methods. + + handler.add_method("new_particle", + ( + nbody_system.mass, + nbody_system.length, + nbody_system.length, + nbody_system.length, + nbody_system.speed, + nbody_system.speed, + nbody_system.speed, + nbody_system.length, + handler.NO_UNIT + ), + ( + handler.INDEX, + handler.ERROR_CODE + ) + ) + + def update_particle_set(self): + """ + update the particle set after the code has added binaries + + """ + + number_of_updated_particles = self.get_number_of_particles_added() + #print "number_of_updated_particles =", number_of_updated_particles + + if number_of_updated_particles == 0: + return + + indices_in_update_list = list(range(number_of_updated_particles)) + indices_to_add = self.get_id_of_added_particle(indices_in_update_list) + #print "indices_to_add:", indices_to_add, indices_in_update_list + + incode_storage = self.particles._private.attribute_storage + + try: + if len(indices_to_add) > 0: + incode_storage._add_indices(indices_to_add) + except: + print("Crash while adding indicies to incode_storage.") + print("indices_to_add=", indices_to_add) + print("number_of_updated_particles=", number_of_updated_particles) + print("incode_storage=", incode_storage) + print("dir(incode_storage)=", dir(incode_storage)) + raise + + def define_state(self, handler): + GravitationalDynamics.define_state(self, handler) + + self.stopping_conditions.define_state(handler) + + + +Smalln = SmallN diff --git a/src/amuse_smalln/packages/amuse-smalln.amuse_deps b/src/amuse_smalln/packages/amuse-smalln.amuse_deps new file mode 100644 index 0000000000..cfb6ad9847 --- /dev/null +++ b/src/amuse_smalln/packages/amuse-smalln.amuse_deps @@ -0,0 +1 @@ +c c++ mpi diff --git a/src/amuse_smalln/packages/amuse-smalln/amuse_smalln b/src/amuse_smalln/packages/amuse-smalln/amuse_smalln new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_smalln/packages/amuse-smalln/amuse_smalln @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_smalln/packages/amuse-smalln/pyproject.toml b/src/amuse_smalln/packages/amuse-smalln/pyproject.toml new file mode 100644 index 0000000000..0f73c94705 --- /dev/null +++ b/src/amuse_smalln/packages/amuse-smalln/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-smalln" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_smalln/**/*.py"] +exclude = [ + "amuse_smalln/packages", + "amuse_smalln/support", + "amuse_smalln/src", + "amuse_smalln/tests" + ] +artifacts = ["amuse_smalln/smalln_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_smalln/tests/"] + +testpaths = ["amuse_smalln/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/smalln/scatter3.py b/src/amuse_smalln/scatter3.py similarity index 100% rename from src/amuse/community/smalln/scatter3.py rename to src/amuse_smalln/scatter3.py diff --git a/src/amuse/community/smalln/scatter32.py b/src/amuse_smalln/scatter32.py similarity index 100% rename from src/amuse/community/smalln/scatter32.py rename to src/amuse_smalln/scatter32.py diff --git a/src/amuse_smalln/src/Makefile b/src/amuse_smalln/src/Makefile new file mode 100644 index 0000000000..8a48eef241 --- /dev/null +++ b/src/amuse_smalln/src/Makefile @@ -0,0 +1,59 @@ + +# Makefile to build the libsmallN.a library. The first draft was +# auto-generated; subsequent versions are hand-coded. Save a copy! + +# Optimization may cause failure on some systems. Replace by -O0 in +# that case. + +MPICXX ?= mpicxx +MPICC ?= mpicc +CXX ?= mpicxx +CFLAGS += -g -Wall +CXXFLAGS += $(CFLAGS) + +CODELIB = libsmallN.a + +CODEOBJS = smallN-lib.o smallN_unpert.o kepler-lib.o hdyn.o \ + analyze-lib.o nstab.co f2c.co util.o \ + smallN_interface.o + +AR = ar ruv +RANLIB = ranlib +RM = rm + +all: $(CODELIB) + +$(CODELIB): $(CODEOBJS) + $(RM) -f $@ + $(AR) $@ $(CODEOBJS) + $(RANLIB) $@ + +%.o : %.cc + $(CXX) $(CXXFLAGS) -c -o $@ $^ + +#----------------------------------------------------------------------- +# +# Special cases: + +nstab.co: nstab.c + $(MPICC) $(CFLAGS) -c $^ -o nstab.co + +f2c.co: f2c.c + $(MPICC) $(CFLAGS) -c $^ -o f2c.co + +smallN-lib.o: smallN.cc + $(MPICXX) $(CFLAGS) -c $^ -o smallN-lib.o + +kepler-lib.o: kepler.cc + $(MPICXX) $(CFLAGS) -c $^ -o kepler-lib.o + +analyze-lib.o: analyze.cc + $(MPICXX) $(CFLAGS) -c $^ -o analyze-lib.o + +#----------------------------------------------------------------------- + +tar: + tar czf smallN.tgz Makefile *.h *.cc plummer*.in* + +clean: + $(RM) -r -f *.o *.co *~ *.tgz *.a diff --git a/src/amuse_smalln/src/analyze.cc b/src/amuse_smalln/src/analyze.cc new file mode 120000 index 0000000000..a330ea6ce4 --- /dev/null +++ b/src/amuse_smalln/src/analyze.cc @@ -0,0 +1 @@ +../../amuse_ph4/src/analyze.cc \ No newline at end of file diff --git a/src/amuse_smalln/src/f2c.c b/src/amuse_smalln/src/f2c.c new file mode 120000 index 0000000000..0c7e122980 --- /dev/null +++ b/src/amuse_smalln/src/f2c.c @@ -0,0 +1 @@ +../../amuse_ph4/src/f2c.c \ No newline at end of file diff --git a/src/amuse_smalln/src/f2c.h b/src/amuse_smalln/src/f2c.h new file mode 120000 index 0000000000..1d516e6929 --- /dev/null +++ b/src/amuse_smalln/src/f2c.h @@ -0,0 +1 @@ +../../amuse_ph4/src/f2c.h \ No newline at end of file diff --git a/src/amuse_smalln/src/hdyn.cc b/src/amuse_smalln/src/hdyn.cc new file mode 120000 index 0000000000..10d00094da --- /dev/null +++ b/src/amuse_smalln/src/hdyn.cc @@ -0,0 +1 @@ +../../amuse_ph4/src/hdyn.cc \ No newline at end of file diff --git a/src/amuse_smalln/src/hdyn.h b/src/amuse_smalln/src/hdyn.h new file mode 120000 index 0000000000..0e846acc4c --- /dev/null +++ b/src/amuse_smalln/src/hdyn.h @@ -0,0 +1 @@ +../../amuse_ph4/src/hdyn.h \ No newline at end of file diff --git a/src/amuse_smalln/src/kepler.cc b/src/amuse_smalln/src/kepler.cc new file mode 120000 index 0000000000..f1eafe167a --- /dev/null +++ b/src/amuse_smalln/src/kepler.cc @@ -0,0 +1 @@ +../../amuse_ph4/src/kepler.cc \ No newline at end of file diff --git a/src/amuse_smalln/src/kepler.h b/src/amuse_smalln/src/kepler.h new file mode 120000 index 0000000000..d75b9ccddd --- /dev/null +++ b/src/amuse_smalln/src/kepler.h @@ -0,0 +1 @@ +../../amuse_ph4/src/kepler.h \ No newline at end of file diff --git a/src/amuse_smalln/src/nstab.c b/src/amuse_smalln/src/nstab.c new file mode 120000 index 0000000000..15c529cf5d --- /dev/null +++ b/src/amuse_smalln/src/nstab.c @@ -0,0 +1 @@ +../../amuse_ph4/src/nstab.c \ No newline at end of file diff --git a/src/amuse_smalln/src/nstab.h b/src/amuse_smalln/src/nstab.h new file mode 120000 index 0000000000..aca7f15f6a --- /dev/null +++ b/src/amuse_smalln/src/nstab.h @@ -0,0 +1 @@ +../../amuse_ph4/src/nstab.h \ No newline at end of file diff --git a/src/amuse_smalln/src/smallN.cc b/src/amuse_smalln/src/smallN.cc new file mode 120000 index 0000000000..c1e63c5873 --- /dev/null +++ b/src/amuse_smalln/src/smallN.cc @@ -0,0 +1 @@ +../../amuse_ph4/src/smallN.cc \ No newline at end of file diff --git a/src/amuse/community/smalln/src/smallN_interface.cc b/src/amuse_smalln/src/smallN_interface.cc similarity index 100% rename from src/amuse/community/smalln/src/smallN_interface.cc rename to src/amuse_smalln/src/smallN_interface.cc diff --git a/src/amuse/community/smalln/src/smallN_interface.h b/src/amuse_smalln/src/smallN_interface.h similarity index 100% rename from src/amuse/community/smalln/src/smallN_interface.h rename to src/amuse_smalln/src/smallN_interface.h diff --git a/src/amuse_smalln/src/smallN_unpert.cc b/src/amuse_smalln/src/smallN_unpert.cc new file mode 120000 index 0000000000..6f715df490 --- /dev/null +++ b/src/amuse_smalln/src/smallN_unpert.cc @@ -0,0 +1 @@ +../../amuse_ph4/src/smallN_unpert.cc \ No newline at end of file diff --git a/src/amuse_smalln/src/stdinc.h b/src/amuse_smalln/src/stdinc.h new file mode 120000 index 0000000000..2f76fd6b84 --- /dev/null +++ b/src/amuse_smalln/src/stdinc.h @@ -0,0 +1 @@ +../../amuse_ph4/src/stdinc.h \ No newline at end of file diff --git a/src/amuse_smalln/src/util.cc b/src/amuse_smalln/src/util.cc new file mode 120000 index 0000000000..9895e72885 --- /dev/null +++ b/src/amuse_smalln/src/util.cc @@ -0,0 +1 @@ +../../amuse_ph4/src/util.cc \ No newline at end of file diff --git a/src/amuse_smalln/src/vec.h b/src/amuse_smalln/src/vec.h new file mode 120000 index 0000000000..3fb1720420 --- /dev/null +++ b/src/amuse_smalln/src/vec.h @@ -0,0 +1 @@ +../../amuse_ph4/src/vec.h \ No newline at end of file diff --git a/src/amuse_smalln/support/aclocal.m4 b/src/amuse_smalln/support/aclocal.m4 new file mode 100644 index 0000000000..5fea1010bd --- /dev/null +++ b/src/amuse_smalln/support/aclocal.m4 @@ -0,0 +1,19 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_smalln/support/config.mk.in b/src/amuse_smalln/support/config.mk.in new file mode 100644 index 0000000000..620753726f --- /dev/null +++ b/src/amuse_smalln/support/config.mk.in @@ -0,0 +1,25 @@ +# Compilers +CC = @CC@ +CXX = @CXX@ + +MPICC = @MPICC@ +MPICXX = @MPICXX@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ + + +# General flags and libraries +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +STOPCOND_CFLAGS = @STOPCOND_CFLAGS@ +STOPCOND_LIBS = @STOPCOND_LIBS@ + diff --git a/src/amuse_smalln/support/configure b/src/amuse_smalln/support/configure new file mode 100755 index 0000000000..a218cd114d --- /dev/null +++ b/src/amuse_smalln/support/configure @@ -0,0 +1,6656 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-smalln 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-smalln' +PACKAGE_TARNAME='amuse-smalln' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-smalln 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +FOUND_STOPCOND +STOPCOND_LIBS +STOPCOND_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +RANLIB +AR +target_os +target_vendor +target_cpu +target +ac_ct_CXX +CXXFLAGS +CXX +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCOND_CFLAGS +STOPCOND_LIBS +MPICC +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-smalln 1.0 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/amuse-smalln] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-smalln 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + 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 + CXX C++ compiler command + CXXFLAGS C++ compiler flags + 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 + STOPCOND_CFLAGS + C compiler flags for STOPCOND, overriding pkg-config + STOPCOND_LIBS + linker flags for STOPCOND, overriding pkg-config + MPICC MPI C compiler command + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-smalln configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-smalln $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Set the worker language + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + +# Find AMUSE libraries + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCOND_CFLAGS" + amuse_save_LIB_LIBS="$STOPCOND_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing is_condition_enabled" >&5 +printf %s "checking for library containing is_condition_enabled... " >&6; } +if test ${ac_cv_search_is_condition_enabled+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char is_condition_enabled (); +int +main (void) +{ +return is_condition_enabled (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcond +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_is_condition_enabled=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_is_condition_enabled+y} +then : + break +fi +done +if test ${ac_cv_search_is_condition_enabled+y} +then : + +else $as_nop + ac_cv_search_is_condition_enabled=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_is_condition_enabled" >&5 +printf "%s\n" "$ac_cv_search_is_condition_enabled" >&6; } +ac_res=$ac_cv_search_is_condition_enabled +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCOND="yes" + STOPCOND_LIBS="$LIBS" + STOPCOND_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCOND" >&5 +printf %s "checking for STOPCOND... " >&6; } + +if test -n "$STOPCOND_CFLAGS"; then + pkg_cv_STOPCOND_CFLAGS="$STOPCOND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_CFLAGS=`$PKG_CONFIG --cflags "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCOND_LIBS"; then + pkg_cv_STOPCOND_LIBS="$STOPCOND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_LIBS=`$PKG_CONFIG --libs "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcond" 2>&1` + else + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcond" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCOND_PKG_ERRORS" >&5 + + + FOUND_STOPCOND="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCOND="no" + +else + STOPCOND_CFLAGS=$pkg_cv_STOPCOND_CFLAGS + STOPCOND_LIBS=$pkg_cv_STOPCOND_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCOND="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCOND}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCOND_CFLAGS="${STOPCOND_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCOND_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCOND_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + +# Find external dependencies +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 + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-smalln $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-smalln config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_smalln/support/configure.ac b/src/amuse_smalln/support/configure.ac new file mode 100644 index 0000000000..894a739569 --- /dev/null +++ b/src/amuse_smalln/support/configure.ac @@ -0,0 +1,39 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-smalln], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Set the worker language +AC_PROG_CC() +AC_PROG_CXX() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + +# Find AMUSE libraries +AMUSE_LIB_STOPCOND() + +# Find external dependencies +AC_LANG_PUSH([C]) +AX_MPI() +AC_LANG_POP([C]) + +AC_LANG_PUSH([C++]) +AX_MPI() +AC_LANG_POP([C++]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_smalln/support/shared b/src/amuse_smalln/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_smalln/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/community/smalln/test_smallN.py b/src/amuse_smalln/test_smallN.py similarity index 100% rename from src/amuse/community/smalln/test_smallN.py rename to src/amuse_smalln/test_smallN.py diff --git a/src/amuse/test/suite/codes_tests/test_smalln.py b/src/amuse_smalln/tests/test_smalln.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_smalln.py rename to src/amuse_smalln/tests/test_smalln.py index 5c33a5bf61..339e2ef9c4 100644 --- a/src/amuse/test/suite/codes_tests/test_smalln.py +++ b/src/amuse_smalln/tests/test_smalln.py @@ -1,10 +1,10 @@ -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI import os import sys import numpy import math -from amuse.community.smalln.interface import SmallNInterface, SmallN +from amuse_smalln.interface import SmallNInterface, SmallN from amuse.units import nbody_system from amuse.units import units diff --git a/src/amuse_sphray/Makefile b/src/amuse_sphray/Makefile new file mode 100644 index 0000000000..e1378ad03a --- /dev/null +++ b/src/amuse_sphray/Makefile @@ -0,0 +1,68 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library +DEPFLAGS += $(FORSOCKETS_CFLAGS) +FCFLAGS += -cpp $(DEPFLAGS) +LDFLAGS += +LDLIBS += $(FORSOCKETS_LIBS) + +CODELIB = src/libsphray.a + + +.PHONY: $(CODELIB) +$(CODELIB): + $(MAKE) -C src -j 1 amuse_interface FFLAGS="$(FCFLAGS)" FC="$(FC)" + + +# Building the workers +sphray_worker.f90: interface.py + amusifier --type=f90 interface.py SPHRayInterface -o $@ + +sphray_worker.o: sphray_worker.f90 + $(MPIFC) -c -o $@ $(FCFLAGS) $< + +sphray_worker: interface.o sphray_worker.o $(CODELIB) + $(MPIFC) -o $@ $(LDFLAGS) $^ $(LDLIBS) + +%.o: %.f90 $(CODELIB) + $(MPIFC) -o $@ -c $(FCFLAGS) -Isrc $< + + +# Which packages contain which workers? +amuse-sphray_contains: sphray_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src cleanall + rm -rf *.o *.mod *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_sphray/__init__.py b/src/amuse_sphray/__init__.py new file mode 100644 index 0000000000..7a3e896e81 --- /dev/null +++ b/src/amuse_sphray/__init__.py @@ -0,0 +1 @@ +from .interface import Sphray diff --git a/src/amuse/community/sphray/data/input/atomic_rates/atomic_rates.txt b/src/amuse_sphray/data/input/atomic_rates/atomic_rates.txt similarity index 100% rename from src/amuse/community/sphray/data/input/atomic_rates/atomic_rates.txt rename to src/amuse_sphray/data/input/atomic_rates/atomic_rates.txt diff --git a/src/amuse/community/sphray/data/input/atomic_rates/atomic_rates_Cen.txt b/src/amuse_sphray/data/input/atomic_rates/atomic_rates_Cen.txt similarity index 100% rename from src/amuse/community/sphray/data/input/atomic_rates/atomic_rates_Cen.txt rename to src/amuse_sphray/data/input/atomic_rates/atomic_rates_Cen.txt diff --git a/src/amuse/community/sphray/data/input/atomic_rates/atomic_rates_Hui.txt b/src/amuse_sphray/data/input/atomic_rates/atomic_rates_Hui.txt similarity index 100% rename from src/amuse/community/sphray/data/input/atomic_rates/atomic_rates_Hui.txt rename to src/amuse_sphray/data/input/atomic_rates/atomic_rates_Hui.txt diff --git a/src/amuse/community/sphray/data/input/atomic_rates/atomic_rates_Hum.txt b/src/amuse_sphray/data/input/atomic_rates/atomic_rates_Hum.txt similarity index 100% rename from src/amuse/community/sphray/data/input/atomic_rates/atomic_rates_Hum.txt rename to src/amuse_sphray/data/input/atomic_rates/atomic_rates_Hum.txt diff --git a/src/amuse/community/sphray/data/input/atomic_rates/atomic_rates_Vor.txt b/src/amuse_sphray/data/input/atomic_rates/atomic_rates_Vor.txt similarity index 100% rename from src/amuse/community/sphray/data/input/atomic_rates/atomic_rates_Vor.txt rename to src/amuse_sphray/data/input/atomic_rates/atomic_rates_Vor.txt diff --git a/src/amuse/community/sphray/data/input/column_depth/latmon_b2cd_table.txt b/src/amuse_sphray/data/input/column_depth/latmon_b2cd_table.txt similarity index 100% rename from src/amuse/community/sphray/data/input/column_depth/latmon_b2cd_table.txt rename to src/amuse_sphray/data/input/column_depth/latmon_b2cd_table.txt diff --git a/src/amuse/community/sphray/data/input/column_depth/tophat_b2cd_table.txt b/src/amuse_sphray/data/input/column_depth/tophat_b2cd_table.txt similarity index 100% rename from src/amuse/community/sphray/data/input/column_depth/tophat_b2cd_table.txt rename to src/amuse_sphray/data/input/column_depth/tophat_b2cd_table.txt diff --git a/src/amuse/community/sphray/data/input/spectra/power2.0.cdf b/src/amuse_sphray/data/input/spectra/power2.0.cdf similarity index 100% rename from src/amuse/community/sphray/data/input/spectra/power2.0.cdf rename to src/amuse_sphray/data/input/spectra/power2.0.cdf diff --git a/src/amuse/community/sphray/data/input/spectra/power4.0.cdf b/src/amuse_sphray/data/input/spectra/power4.0.cdf similarity index 100% rename from src/amuse/community/sphray/data/input/spectra/power4.0.cdf rename to src/amuse_sphray/data/input/spectra/power4.0.cdf diff --git a/src/amuse/community/sphray/data/input/spectra/thermal1e5.cdf b/src/amuse_sphray/data/input/spectra/thermal1e5.cdf similarity index 100% rename from src/amuse/community/sphray/data/input/spectra/thermal1e5.cdf rename to src/amuse_sphray/data/input/spectra/thermal1e5.cdf diff --git a/src/amuse/community/sphray/data/input/spectra/thermal6e4.cdf b/src/amuse_sphray/data/input/spectra/thermal6e4.cdf similarity index 100% rename from src/amuse/community/sphray/data/input/spectra/thermal6e4.cdf rename to src/amuse_sphray/data/input/spectra/thermal6e4.cdf diff --git a/src/amuse/community/sphray/data/input/sphray_4K b/src/amuse_sphray/data/input/sphray_4K similarity index 100% rename from src/amuse/community/sphray/data/input/sphray_4K rename to src/amuse_sphray/data/input/sphray_4K diff --git a/src/amuse/community/sphray/data/input/test1_sources_001.1 b/src/amuse_sphray/data/input/test1_sources_001.1 similarity index 100% rename from src/amuse/community/sphray/data/input/test1_sources_001.1 rename to src/amuse_sphray/data/input/test1_sources_001.1 diff --git a/src/amuse/community/sphray/data/input/test2_sources_001.1 b/src/amuse_sphray/data/input/test2_sources_001.1 similarity index 100% rename from src/amuse/community/sphray/data/input/test2_sources_001.1 rename to src/amuse_sphray/data/input/test2_sources_001.1 diff --git a/src/amuse/community/sphray/interface.f90 b/src/amuse_sphray/interface.f90 similarity index 100% rename from src/amuse/community/sphray/interface.f90 rename to src/amuse_sphray/interface.f90 diff --git a/src/amuse_sphray/interface.py b/src/amuse_sphray/interface.py new file mode 100644 index 0000000000..08d0ca93f1 --- /dev/null +++ b/src/amuse_sphray/interface.py @@ -0,0 +1,1015 @@ +import os.path +from amuse.community.interface.common import CommonCodeInterface, CommonCode +from amuse.community import * +from amuse.support.options import option + + +class SPHRayInterface(CodeInterface, CommonCodeInterface, LiteratureReferencesMixIn, + CodeWithDataDirectories): + """ + SPHRAY is a smoothed particle hydrodynamics (SPH) ray tracer designed to + solve the 3D, time-dependent, radiative transfer equation. SPHRAY relies on + a Monte Carlo (MC) ray-tracing scheme that does not interpolate the SPH + particles on to a grid but instead integrates directly through the SPH + kernels. A quick Axis Aligned Bounding Box (AABB) test taken from computer + graphics applications allows for the acceleration of the ray-tracing + component. + + The relevant references are: + .. [#] ADS:2008MNRAS.386.1931A (Altay, Gabriel; Croft, Rupert A. C.; Pelupessy, Inti, 2008, MNRAS 386) + """ + + def __init__(self, **options): + CodeInterface.__init__(self, name_of_the_worker = self.name_of_the_worker(), **options) + LiteratureReferencesMixIn.__init__(self) + CodeWithDataDirectories.__init__(self) + + def name_of_the_worker(self): + return 'sphray_worker' + + def new_particle(self, mass, radius, x, y, z, vx, vy, vz): + pass + + @legacy_function + def commit_particles(): + function = LegacyFunctionSpecification() + function.result_type = 'i' + return function + + @legacy_function + def recommit_particles(): + function = LegacyFunctionSpecification() + function.result_type = 'i' + return function + + @legacy_function + def new_gas_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='int32', direction=function.OUT) + for x in ['mass','h_smooth','x','y','z','rho','xion','u']: + function.addParameter(x, dtype='float64', direction=function.IN) + for x in ['vx','vy','vz']: + function.addParameter(x, dtype='float64', direction=function.IN,default=0) + function.result_type = 'i' + return function + + @legacy_function + def new_src_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='int32', direction=function.OUT) + for x in ['luminosity','x','y','z']: + function.addParameter(x, dtype='float64', direction=function.IN) + function.addParameter("SpcType", dtype='float64', direction=function.IN,default=0) + function.result_type = 'i' + return function + + @legacy_function + def get_state_gas(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['mass','h_smooth','x','y','z','rho','xion','u']: + function.addParameter(x, dtype='float64', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def get_state_src(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='int32', direction=function.IN) + for x in ['luminosity','x','y','z','SpcType']: + function.addParameter(x, dtype='float64', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_state_gas(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['mass','h_smooth','x','y','z','rho','xion','u']: + function.addParameter(x, dtype='float64', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def set_pos_gas(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['x','y','z']: + function.addParameter(x, dtype='float64', direction=function.IN) + function.result_type = 'i' + return function + @legacy_function + def set_hsml_gas(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['h_smooth']: + function.addParameter(x, dtype='float64', direction=function.IN) + function.result_type = 'i' + return function + @legacy_function + def set_rho_gas(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['rho']: + function.addParameter(x, dtype='float64', direction=function.IN) + function.result_type = 'i' + return function + @legacy_function + def set_u_gas(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['u']: + function.addParameter(x, dtype='float64', direction=function.IN) + function.result_type = 'i' + return function + @legacy_function + def set_dudt_gas(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['du_dt']: + function.addParameter(x, dtype='float64', direction=function.IN) + function.result_type = 'i' + return function + @legacy_function + def set_vel_gas(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['vx','vy','vz']: + function.addParameter(x, dtype='float64', direction=function.IN) + function.result_type = 'i' + return function + @legacy_function + def get_vel_gas(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['vx','vy','vz']: + function.addParameter(x, dtype='float64', direction=function.OUT) + function.result_type = 'i' + return function + @legacy_function + def get_dudt_gas(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='i', direction=function.IN) + for x in ['du_dt']: + function.addParameter(x, dtype='float64', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_state_src(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='int32', direction=function.IN) + for x in ['luminosity','x','y','z']: + function.addParameter(x, dtype='float64', direction=function.IN) + function.addParameter("SpcType", dtype='float64', direction=function.IN,default=0.) + function.result_type = 'i' + return function + + @legacy_function + def set_luminosity_src(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='int32', direction=function.IN) + for x in ['luminosity']: + function.addParameter(x, dtype='float64', direction=function.IN) + function.result_type = 'i' + return function + + + @legacy_function + def remove_src_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='int32', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def remove_gas_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('id', dtype='int32', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def set_isothermal(): + """ set_isothermal([0,1]): isothermal if 1, Temperature evolution if 0 """ + function = LegacyFunctionSpecification() + function.addParameter('isothermal_flag', dtype='i', direction=function.IN) + function.result_type = 'i' + return function + @legacy_function + def get_isothermal(): + """ get_isothermal(): isothermal if 1, Temperature evolution if 0 """ + function = LegacyFunctionSpecification() + function.addParameter('isothermal_flag', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + @legacy_function + def set_H_caseA(): + """ set_H_caseA([0,1]): use case A for H if 1, not if 0 """ + function = LegacyFunctionSpecification() + function.addParameter('H_caseA_flag', dtype='i', direction=function.IN) + function.result_type = 'i' + return function + @legacy_function + def get_H_caseA(): + """ get_H_caseA(): use case A for H if 1, not if 0 """ + function = LegacyFunctionSpecification() + function.addParameter('H_caseA_flag', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + @legacy_function + def set_He_caseA(): + """ set_He_caseA([0,1]): use case A for H if 1, not if 0 """ + function = LegacyFunctionSpecification() + function.addParameter('He_caseA_flag', dtype='i', direction=function.IN) + function.result_type = 'i' + return function + @legacy_function + def get_He_caseA(): + """ get_He_caseA(): use case A for H if 1, not if 0 """ + function = LegacyFunctionSpecification() + function.addParameter('He_caseA_flag', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_raynumber(): + """ set number of rays per unit time """ + function = LegacyFunctionSpecification() + function.addParameter('number_rays', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + @legacy_function + def get_raynumber(): + """ get number of rays per unit time """ + function = LegacyFunctionSpecification() + function.addParameter('number_rays', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_defaultspectype(): + """ set default specType (negative in units of rydbergs, or positive integer) """ + function = LegacyFunctionSpecification() + function.addParameter('defaultspectype', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + @legacy_function + def get_defaultspectype(): + """ get default specType (negative in units of rydbergs, or positive integer) """ + function = LegacyFunctionSpecification() + function.addParameter('defaultspectype', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + + @legacy_function + def set_iontempsolver(): + """ set solver to use (1,2 = euler, bdf) """ + function = LegacyFunctionSpecification() + function.addParameter('iontempsolver', dtype='i', direction=function.IN) + function.result_type = 'i' + return function + @legacy_function + def get_iontempsolver(): + """ get solver to use (1,2 = euler, bdf) """ + function = LegacyFunctionSpecification() + function.addParameter('iontempsolver', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_boundary(): + """ set boundary condition to use (-1,0,1 = reflective, vacuum, periodic) """ + function = LegacyFunctionSpecification() + function.addParameter('boundary', dtype='i', direction=function.IN) + function.result_type = 'i' + return function + @legacy_function + def get_boundary(): + """ get boundary condition to use (-1,0,1 = reflective, vacuum, periodic) """ + function = LegacyFunctionSpecification() + function.addParameter('boundary', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_boxsize(): + """ set box size in kpc """ + function = LegacyFunctionSpecification() + function.addParameter('boxsize', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + @legacy_function + def get_boxsize(): + """ get box size in kpc """ + function = LegacyFunctionSpecification() + function.addParameter('boxsize', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_globalHefraction(): + """ set He mass fraction (f_H+f_He=1 ) """ + function = LegacyFunctionSpecification() + function.addParameter('globalHefraction', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + @legacy_function + def get_globalHefraction(): + """ get He mass fraction (f_H+f_He=1 ) """ + function = LegacyFunctionSpecification() + function.addParameter('globalHefraction', dtype='d', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def set_momentum_kicks(): + """ set_momentume_kicks([0,1]): calc momentum kicks if 1, not if 0 """ + function = LegacyFunctionSpecification() + function.addParameter('momentum_kicks', dtype='i', direction=function.IN) + function.result_type = 'i' + return function + @legacy_function + def get_momentum_kicks(): + """ set_momentume_kicks([0,1]): calc momentum kicks if 1, not if 0 """ + function = LegacyFunctionSpecification() + function.addParameter('momentum_kicks', dtype='i', direction=function.OUT) + function.result_type = 'i' + return function + + @legacy_function + def evolve_model(): + function = LegacyFunctionSpecification() + function.addParameter('time_end', dtype='d', direction=function.IN) + function.result_type = 'i' + return function + + @legacy_function + def set_time(): + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_time(): + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_sphray_data_directory(): + """ + Update the path to the sphray database. + """ + function = LegacyFunctionSpecification() + function.addParameter('data_directory', dtype='string', direction=function.IN, + description = "Name of the data directory") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value was set + -1 - ERROR + Directory does not exist + """ + return function + + @legacy_function + def get_sphray_data_directory(): + """ + Retrieve the path to the database currently used. + """ + function = LegacyFunctionSpecification() + function.addParameter('data_directory', dtype='string', direction=function.OUT, + description = "Name of the data directory") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Value was retrieved + -1 - ERROR + Could not retrieve value + """ + return function + + @legacy_function + def set_spectra_file(): + """ + set the spectrafile to use(relative to data directory) + """ + function = LegacyFunctionSpecification() + function.addParameter('spectra_file', dtype='string', direction=function.IN, + description = "Name of the file") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value was set + -1 - ERROR + Directory does not exist + """ + return function + + @legacy_function + def get_spectra_file(): + """ + get the spectrafile to use(relative to data directory) + """ + function = LegacyFunctionSpecification() + function.addParameter('spectra_file', dtype='string', direction=function.OUT, + description = "Name of the file") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Value was retrieved + -1 - ERROR + Could not retrieve value + """ + return function + + @legacy_function + def set_sphray_output_directory(): + """ + Update the output path. + """ + function = LegacyFunctionSpecification() + function.addParameter('output_directory', dtype='string', direction=function.IN, + description = "Name of the output directory") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Current value was set + -1 - ERROR + Directory does not exist + """ + return function + + @legacy_function + def get_sphray_output_directory(): + """ + Retrieve the output path. + """ + function = LegacyFunctionSpecification() + function.addParameter('output_directory', dtype='string', direction=function.OUT, + description = "Name of the output directory") + function.result_type = 'int32' + function.result_doc = """ + 0 - OK + Value was retrieved + -1 - ERROR + Could not retrieve value + """ + return function + +class SPHRay(CommonCode): + + def __init__(self,unit_converter = None, **options): + + if unit_converter is not None: + raise Exception("atm SPHRay uses predefined units converter") + + self.unit_converter = ConvertBetweenGenericAndSiUnits( + 1. | units.kpc, + 1.e10 | units.MSun, + 1. | units.kms) + + InCodeComponentImplementation.__init__(self, SPHRayInterface(**options)) + self.set_sphray_data_directory(self.data_directory) + self.set_sphray_output_directory(self.output_directory) + + def define_converter(self, handler): + if self.unit_converter is None: + raise Exception("something seriously wrong") + + handler.set_converter(self.unit_converter.as_converter_from_si_to_generic()) + + def define_properties(self, handler): + handler.add_property('get_time', public_name = "model_time") + + def define_parameters(self, handler): + handler.add_boolean_parameter( + "get_isothermal", + "set_isothermal", + "isothermal_flag", + "whether to evolve temperature (0) or keep isothermal (1)", + False + ) + + handler.add_boolean_parameter( + "get_momentum_kicks", + "set_momentum_kicks", + "momentum_kicks_flag", + "whether to use momentum kicks (1) not (0)", + False + ) + + handler.add_method_parameter( + "get_raynumber", + "set_raynumber", + "number_of_rays", + "number of rays per unit time", + default_value = 1000 | generic_unit_system.time**-1 + ) + + handler.add_method_parameter( + "get_iontempsolver", + "set_iontempsolver", + "ionization_temperature_solver", + "solver to use (1: euler, 2: bdf)", + default_value = 2 + ) + + handler.add_method_parameter( + "get_globalHefraction", + "set_globalHefraction", + "global_helium_mass_Fraction", + "global helium mass fraction (f_H+f_He=1)", + default_value = 0. + ) + + handler.add_method_parameter( + "get_boxsize", + "set_boxsize", + "box_size", + "simulation box size", + default_value = 13.2 | units.kpc + ) + + handler.add_method_parameter( + "get_defaultspectype", + "set_defaultspectype", + "default_spectral_type", + "default src spectral type", + default_value = -1. + ) + + handler.add_method_parameter( + "get_boundary", + "set_boundary", + "boundary_condition", + "simulation bundary condition (-1,0,1 = reflective, vacuum, periodic", + default_value = 0 + ) + + handler.add_boolean_parameter( + "get_H_caseA", + "set_H_caseA", + "hydrogen_case_A_flag", + "flag for hydrogen case A recombination (1)", + True + ) + + handler.add_boolean_parameter( + "get_He_caseA", + "set_He_caseA", + "helium_case_A_flag", + "flag for helium case A recombination (1)", + True + ) + + handler.add_method_parameter( + "get_spectra_file", + "set_spectra_file", + "spectra_file", + "spectra file to use", + default_value = "./spectra/thermal30k.cdf" + ) + + def define_methods(self, handler): + CommonCode.define_methods(self, handler) + handler.add_method('evolve_model', (generic_unit_system.time,), ( handler.ERROR_CODE, )) + handler.add_method( + "new_gas_particle", + ( + generic_unit_system.mass, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.density, + handler.NO_UNIT, + generic_unit_system.speed**2, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.speed, + ), + ( + handler.INDEX, + handler.ERROR_CODE, + ) + ) + handler.add_method( + "set_state_gas", + ( + handler.NO_UNIT, + generic_unit_system.mass, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.density, + handler.NO_UNIT, + generic_unit_system.speed**2 + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + "set_vel_gas", + ( + handler.NO_UNIT, + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.speed, + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + "set_pos_gas", + ( + handler.NO_UNIT, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + "set_rho_gas", + ( + handler.NO_UNIT, + generic_unit_system.density, + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + "set_hsml_gas", + ( + handler.NO_UNIT, + generic_unit_system.length, + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + "set_u_gas", + ( + handler.NO_UNIT, + generic_unit_system.speed**2 + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + "set_dudt_gas", + ( + handler.NO_UNIT, + generic_unit_system.length**2/generic_unit_system.time**3 + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + "get_dudt_gas", + ( + handler.INDEX, + ), + ( + generic_unit_system.length**2/generic_unit_system.time**3, + handler.ERROR_CODE, + ) + ) + handler.add_method( + "get_state_gas", + ( + handler.INDEX, + ), + ( + generic_unit_system.mass, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.density, + handler.NO_UNIT, + generic_unit_system.speed**2, + handler.ERROR_CODE, + ) + ) + handler.add_method( + "get_vel_gas", + ( + handler.INDEX, + ), + ( + generic_unit_system.speed, + generic_unit_system.speed, + generic_unit_system.speed, + handler.ERROR_CODE, + ) + ) + handler.add_method( + "new_src_particle", + ( + 1.e50 * units.s**-1, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + handler.NO_UNIT, + ), + ( + handler.INDEX, + handler.ERROR_CODE, + ) + ) + handler.add_method( + "set_state_src", + ( + handler.NO_UNIT, + 1.e50 * units.s**-1, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + handler.NO_UNIT, + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + "set_luminosity_src", + ( + handler.NO_UNIT, + 1.e50 * units.s**-1, + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + "get_state_src", + ( + handler.INDEX, + ), + ( + 1.e50 * units.s**-1, + generic_unit_system.length, + generic_unit_system.length, + generic_unit_system.length, + handler.NO_UNIT, + handler.ERROR_CODE, + ) + ) + handler.add_method( + "remove_src_particle", + ( + handler.INDEX, + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + "remove_gas_particle", + ( + handler.INDEX, + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + "set_boxsize", + ( + generic_unit_system.length, + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + "set_defaultspectype", + ( + handler.NO_UNIT, + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + "set_globalHefraction", + ( + handler.NO_UNIT, + ), + ( + handler.ERROR_CODE, + ) + ) + handler.add_method( + "get_boxsize", + ( + ), + ( + generic_unit_system.length, + handler.ERROR_CODE, + ) + ) + handler.add_method( + "get_globalHefraction", + ( + ), + ( + handler.NO_UNIT, + handler.ERROR_CODE, + ) + ) + handler.add_method( + "get_defaultspectype", + ( + ), + ( + handler.NO_UNIT, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "set_raynumber", + ( + generic_unit_system.time**-1, + ), + ( + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_raynumber", + ( + ), + ( + generic_unit_system.time**-1, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "set_iontempsolver", + ( + handler.NO_UNIT, + ), + ( + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_iontempsolver", + ( + ), + ( + handler.NO_UNIT, + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "set_boundary", + ( + handler.NO_UNIT, + ), + ( + handler.ERROR_CODE, + ) + ) + + handler.add_method( + "get_boundary", + ( + ), + ( + handler.NO_UNIT, + handler.ERROR_CODE, + ) + ) + handler.add_method( + "get_time", + ( + ), + ( + generic_unit_system.time, + handler.ERROR_CODE, + ) + ) + + + + def define_particle_sets(self, handler): + handler.define_set('gas_particles', 'id') + handler.set_new('gas_particles', 'new_gas_particle') + handler.set_delete('gas_particles', 'remove_gas_particle') + handler.add_setter('gas_particles', 'set_state_gas') + handler.add_getter('gas_particles', 'get_state_gas') + handler.add_setter('gas_particles', 'set_pos_gas') + handler.add_setter('gas_particles', 'set_vel_gas') + handler.add_getter('gas_particles', 'get_vel_gas') + handler.add_setter('gas_particles', 'set_hsml_gas') + handler.add_setter('gas_particles', 'set_rho_gas') + handler.add_setter('gas_particles', 'set_u_gas') + handler.add_setter('gas_particles', 'set_dudt_gas') + handler.add_getter('gas_particles', 'get_dudt_gas') + + + handler.define_set('src_particles', 'id') + handler.set_new('src_particles', 'new_src_particle') + handler.set_delete('src_particles', 'remove_src_particle') + handler.add_setter('src_particles', 'set_state_src') + handler.add_setter('src_particles', 'set_luminosity_src') + handler.add_getter('src_particles', 'get_state_src') + + def define_state(self, handler): + CommonCode.define_state(self, handler) + + handler.add_transition('INITIALIZED','EDIT','commit_parameters') + handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False) + handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False) + handler.add_transition('UPDATE','CHANGE_PARAMETERS_UPDATE','before_set_parameter', False) + handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters') + handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters') + handler.add_transition('CHANGE_PARAMETERS_UPDATE','UPDATE','recommit_parameters') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_UPDATE','before_set_parameter') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') + handler.add_method('CHANGE_PARAMETERS_UPDATE','before_get_parameter') + handler.add_method('RUN', 'before_get_parameter') + handler.add_method('EDIT', 'before_get_parameter') + handler.add_method('UPDATE','before_get_parameter') + handler.add_method('EVOLVED','before_get_parameter') + + handler.add_method('EDIT', 'new_gas_particle') + handler.add_method('EDIT', 'remove_gas_particle') + handler.add_method('EDIT', 'new_src_particle') + handler.add_method('EDIT', 'remove_src_particle') + handler.add_transition('EDIT', 'RUN', 'commit_particles') + handler.add_transition('RUN', 'UPDATE', 'new_gas_particle', False) + handler.add_transition('RUN', 'UPDATE', 'remove_gas_particle', False) + handler.add_transition('RUN', 'UPDATE', 'new_src_particle', False) + handler.add_transition('RUN', 'UPDATE', 'remove_src_particle', False) + + handler.add_transition('RUN', 'UPDATE', 'set_pos_gas', False) + handler.add_transition('RUN', 'UPDATE', 'set_rho_gas', False) + handler.add_transition('RUN', 'UPDATE', 'set_hsml_gas', False) + handler.add_transition('RUN', 'UPDATE', 'set_u_gas', False) + handler.add_transition('RUN', 'UPDATE', 'set_dudt_gas', False) + handler.add_transition('RUN', 'UPDATE', 'set_state_gas', False) + handler.add_transition('RUN', 'UPDATE', 'set_state_src', False) + handler.add_transition('RUN', 'UPDATE', 'set_luminosity_src', False) + + handler.add_transition('UPDATE', 'RUN', 'recommit_particles') + handler.add_method('RUN', 'evolve_model') + handler.add_method('RUN', 'get_state_gas') + handler.add_method('RUN', 'get_state_src') + + handler.add_method('INITIALIZED', 'set_momentum_kicks') + handler.add_method('INITIALIZED', 'set_isothermal') + handler.add_method('INITIALIZED', 'set_boxsize') + handler.add_method('INITIALIZED', 'set_globalHefraction') + handler.add_method('INITIALIZED', 'set_raynumber') + handler.add_method('INITIALIZED', 'set_iontempsolver') + handler.add_method('INITIALIZED', 'set_boundary') + handler.add_method('INITIALIZED', 'set_H_caseA') + handler.add_method('INITIALIZED', 'set_He_caseA') + + +Sphray = SPHRay diff --git a/src/amuse_sphray/packages/amuse-sphray.amuse_deps b/src/amuse_sphray/packages/amuse-sphray.amuse_deps new file mode 100644 index 0000000000..b9708b0020 --- /dev/null +++ b/src/amuse_sphray/packages/amuse-sphray.amuse_deps @@ -0,0 +1 @@ +fortran mpi diff --git a/src/amuse_sphray/packages/amuse-sphray/amuse_sphray b/src/amuse_sphray/packages/amuse-sphray/amuse_sphray new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_sphray/packages/amuse-sphray/amuse_sphray @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_sphray/packages/amuse-sphray/pyproject.toml b/src/amuse_sphray/packages/amuse-sphray/pyproject.toml new file mode 100644 index 0000000000..cc7467aa8f --- /dev/null +++ b/src/amuse_sphray/packages/amuse-sphray/pyproject.toml @@ -0,0 +1,45 @@ +[project] +name = "amuse-sphray" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = [ + "amuse_sphray/**/*.py", + "amuse_sphray/data/*"] +exclude = [ + "amuse_sphray/packages", + "amuse_sphray/support", + "amuse_sphray/src", + "amuse_sphray/tests" + ] +artifacts = ["amuse_sphray/sphray_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_sphray/tests/"] + +testpaths = ["amuse_sphray/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/sphray/src/Makefile b/src/amuse_sphray/src/Makefile similarity index 100% rename from src/amuse/community/sphray/src/Makefile rename to src/amuse_sphray/src/Makefile diff --git a/src/amuse/community/sphray/src/MakefileTemplate b/src/amuse_sphray/src/MakefileTemplate similarity index 100% rename from src/amuse/community/sphray/src/MakefileTemplate rename to src/amuse_sphray/src/MakefileTemplate diff --git a/src/amuse/community/sphray/src/OpenGL/GL.h b/src/amuse_sphray/src/OpenGL/GL.h similarity index 100% rename from src/amuse/community/sphray/src/OpenGL/GL.h rename to src/amuse_sphray/src/OpenGL/GL.h diff --git a/src/amuse/community/sphray/src/OpenGL/GLU.h b/src/amuse_sphray/src/OpenGL/GLU.h similarity index 100% rename from src/amuse/community/sphray/src/OpenGL/GLU.h rename to src/amuse_sphray/src/OpenGL/GLU.h diff --git a/src/amuse/community/sphray/src/OpenGL/GLUT.h b/src/amuse_sphray/src/OpenGL/GLUT.h similarity index 100% rename from src/amuse/community/sphray/src/OpenGL/GLUT.h rename to src/amuse_sphray/src/OpenGL/GLUT.h diff --git a/src/amuse/community/sphray/src/OpenGL/GLUT_fonts.c b/src/amuse_sphray/src/OpenGL/GLUT_fonts.c similarity index 100% rename from src/amuse/community/sphray/src/OpenGL/GLUT_fonts.c rename to src/amuse_sphray/src/OpenGL/GLUT_fonts.c diff --git a/src/amuse/community/sphray/src/OpenGL/OpenGL_freeglut.F90 b/src/amuse_sphray/src/OpenGL/OpenGL_freeglut.F90 similarity index 100% rename from src/amuse/community/sphray/src/OpenGL/OpenGL_freeglut.F90 rename to src/amuse_sphray/src/OpenGL/OpenGL_freeglut.F90 diff --git a/src/amuse/community/sphray/src/OpenGL/OpenGL_gl.F90 b/src/amuse_sphray/src/OpenGL/OpenGL_gl.F90 similarity index 100% rename from src/amuse/community/sphray/src/OpenGL/OpenGL_gl.F90 rename to src/amuse_sphray/src/OpenGL/OpenGL_gl.F90 diff --git a/src/amuse/community/sphray/src/OpenGL/OpenGL_glu.F90 b/src/amuse_sphray/src/OpenGL/OpenGL_glu.F90 similarity index 100% rename from src/amuse/community/sphray/src/OpenGL/OpenGL_glu.F90 rename to src/amuse_sphray/src/OpenGL/OpenGL_glu.F90 diff --git a/src/amuse/community/sphray/src/OpenGL/OpenGL_glut.F90 b/src/amuse_sphray/src/OpenGL/OpenGL_glut.F90 similarity index 100% rename from src/amuse/community/sphray/src/OpenGL/OpenGL_glut.F90 rename to src/amuse_sphray/src/OpenGL/OpenGL_glut.F90 diff --git a/src/amuse/community/sphray/src/OpenGL/OpenGL_openglut.F90 b/src/amuse_sphray/src/OpenGL/OpenGL_openglut.F90 similarity index 100% rename from src/amuse/community/sphray/src/OpenGL/OpenGL_openglut.F90 rename to src/amuse_sphray/src/OpenGL/OpenGL_openglut.F90 diff --git a/src/amuse/community/sphray/src/OpenGL/fthread.f b/src/amuse_sphray/src/OpenGL/fthread.f similarity index 100% rename from src/amuse/community/sphray/src/OpenGL/fthread.f rename to src/amuse_sphray/src/OpenGL/fthread.f diff --git a/src/amuse/community/sphray/src/OpenGL/pt.c b/src/amuse_sphray/src/OpenGL/pt.c similarity index 100% rename from src/amuse/community/sphray/src/OpenGL/pt.c rename to src/amuse_sphray/src/OpenGL/pt.c diff --git a/src/amuse/community/sphray/src/OpenGL/pt.h b/src/amuse_sphray/src/OpenGL/pt.h similarity index 100% rename from src/amuse/community/sphray/src/OpenGL/pt.h rename to src/amuse_sphray/src/OpenGL/pt.h diff --git a/src/amuse/community/sphray/src/OpenGL/ptf77.c b/src/amuse_sphray/src/OpenGL/ptf77.c similarity index 100% rename from src/amuse/community/sphray/src/OpenGL/ptf77.c rename to src/amuse_sphray/src/OpenGL/ptf77.c diff --git a/src/amuse/community/sphray/src/amuse_helpers.F90 b/src/amuse_sphray/src/amuse_helpers.F90 similarity index 100% rename from src/amuse/community/sphray/src/amuse_helpers.F90 rename to src/amuse_sphray/src/amuse_helpers.F90 diff --git a/src/amuse/community/sphray/src/amuse_mainloop.F90 b/src/amuse_sphray/src/amuse_mainloop.F90 similarity index 100% rename from src/amuse/community/sphray/src/amuse_mainloop.F90 rename to src/amuse_sphray/src/amuse_mainloop.F90 diff --git a/src/amuse/community/sphray/src/atomic_rates.F90 b/src/amuse_sphray/src/atomic_rates.F90 similarity index 100% rename from src/amuse/community/sphray/src/atomic_rates.F90 rename to src/amuse_sphray/src/atomic_rates.F90 diff --git a/src/amuse/community/sphray/src/b2cd.F90 b/src/amuse_sphray/src/b2cd.F90 similarity index 100% rename from src/amuse/community/sphray/src/b2cd.F90 rename to src/amuse_sphray/src/b2cd.F90 diff --git a/src/amuse/community/sphray/src/bdf.F90 b/src/amuse_sphray/src/bdf.F90 similarity index 100% rename from src/amuse/community/sphray/src/bdf.F90 rename to src/amuse_sphray/src/bdf.F90 diff --git a/src/amuse/community/sphray/src/cen_atomic_rates.F90 b/src/amuse_sphray/src/cen_atomic_rates.F90 similarity index 100% rename from src/amuse/community/sphray/src/cen_atomic_rates.F90 rename to src/amuse_sphray/src/cen_atomic_rates.F90 diff --git a/src/amuse/community/sphray/src/config.F90 b/src/amuse_sphray/src/config.F90 similarity index 100% rename from src/amuse/community/sphray/src/config.F90 rename to src/amuse_sphray/src/config.F90 diff --git a/src/amuse/community/sphray/src/cosmology.F90 b/src/amuse_sphray/src/cosmology.F90 similarity index 100% rename from src/amuse/community/sphray/src/cosmology.F90 rename to src/amuse_sphray/src/cosmology.F90 diff --git a/src/amuse/community/sphray/src/density_test.F90 b/src/amuse_sphray/src/density_test.F90 similarity index 100% rename from src/amuse/community/sphray/src/density_test.F90 rename to src/amuse_sphray/src/density_test.F90 diff --git a/src/amuse/community/sphray/src/euler.F90 b/src/amuse_sphray/src/euler.F90 similarity index 100% rename from src/amuse/community/sphray/src/euler.F90 rename to src/amuse_sphray/src/euler.F90 diff --git a/src/amuse/community/sphray/src/gadget_cosmoBH_input.F90 b/src/amuse_sphray/src/gadget_cosmoBH_input.F90 similarity index 100% rename from src/amuse/community/sphray/src/gadget_cosmoBH_input.F90 rename to src/amuse_sphray/src/gadget_cosmoBH_input.F90 diff --git a/src/amuse/community/sphray/src/gadget_general_class.F90 b/src/amuse_sphray/src/gadget_general_class.F90 similarity index 100% rename from src/amuse/community/sphray/src/gadget_general_class.F90 rename to src/amuse_sphray/src/gadget_general_class.F90 diff --git a/src/amuse/community/sphray/src/gadget_owls_header_class.F90 b/src/amuse_sphray/src/gadget_owls_header_class.F90 similarity index 100% rename from src/amuse/community/sphray/src/gadget_owls_header_class.F90 rename to src/amuse_sphray/src/gadget_owls_header_class.F90 diff --git a/src/amuse/community/sphray/src/gadget_owls_input.F90 b/src/amuse_sphray/src/gadget_owls_input.F90 similarity index 100% rename from src/amuse/community/sphray/src/gadget_owls_input.F90 rename to src/amuse_sphray/src/gadget_owls_input.F90 diff --git a/src/amuse/community/sphray/src/gadget_public_header_class.F90 b/src/amuse_sphray/src/gadget_public_header_class.F90 similarity index 100% rename from src/amuse/community/sphray/src/gadget_public_header_class.F90 rename to src/amuse_sphray/src/gadget_public_header_class.F90 diff --git a/src/amuse/community/sphray/src/gadget_public_header_hdf5_class.F90 b/src/amuse_sphray/src/gadget_public_header_hdf5_class.F90 similarity index 100% rename from src/amuse/community/sphray/src/gadget_public_header_hdf5_class.F90 rename to src/amuse_sphray/src/gadget_public_header_hdf5_class.F90 diff --git a/src/amuse/community/sphray/src/gadget_public_input.F90 b/src/amuse_sphray/src/gadget_public_input.F90 similarity index 100% rename from src/amuse/community/sphray/src/gadget_public_input.F90 rename to src/amuse_sphray/src/gadget_public_input.F90 diff --git a/src/amuse/community/sphray/src/gadget_public_input_hdf5.F90 b/src/amuse_sphray/src/gadget_public_input_hdf5.F90 similarity index 100% rename from src/amuse/community/sphray/src/gadget_public_input_hdf5.F90 rename to src/amuse_sphray/src/gadget_public_input_hdf5.F90 diff --git a/src/amuse/community/sphray/src/gadget_sphray_header_class.F90 b/src/amuse_sphray/src/gadget_sphray_header_class.F90 similarity index 100% rename from src/amuse/community/sphray/src/gadget_sphray_header_class.F90 rename to src/amuse_sphray/src/gadget_sphray_header_class.F90 diff --git a/src/amuse/community/sphray/src/gadget_vbromm_input.F90 b/src/amuse_sphray/src/gadget_vbromm_input.F90 similarity index 100% rename from src/amuse/community/sphray/src/gadget_vbromm_input.F90 rename to src/amuse_sphray/src/gadget_vbromm_input.F90 diff --git a/src/amuse/community/sphray/src/global.F90 b/src/amuse_sphray/src/global.F90 similarity index 100% rename from src/amuse/community/sphray/src/global.F90 rename to src/amuse_sphray/src/global.F90 diff --git a/src/amuse/community/sphray/src/glsphray.F90 b/src/amuse_sphray/src/glsphray.F90 similarity index 100% rename from src/amuse/community/sphray/src/glsphray.F90 rename to src/amuse_sphray/src/glsphray.F90 diff --git a/src/amuse/community/sphray/src/hash.f90 b/src/amuse_sphray/src/hash.f90 similarity index 100% rename from src/amuse/community/sphray/src/hash.f90 rename to src/amuse_sphray/src/hash.f90 diff --git a/src/amuse/community/sphray/src/hdf5_io.F90 b/src/amuse_sphray/src/hdf5_io.F90 similarity index 100% rename from src/amuse/community/sphray/src/hdf5_io.F90 rename to src/amuse_sphray/src/hdf5_io.F90 diff --git a/src/amuse/community/sphray/src/healpix_types.F90 b/src/amuse_sphray/src/healpix_types.F90 similarity index 100% rename from src/amuse/community/sphray/src/healpix_types.F90 rename to src/amuse_sphray/src/healpix_types.F90 diff --git a/src/amuse/community/sphray/src/hui_gnedin_atomic_rates.F90 b/src/amuse_sphray/src/hui_gnedin_atomic_rates.F90 similarity index 100% rename from src/amuse/community/sphray/src/hui_gnedin_atomic_rates.F90 rename to src/amuse_sphray/src/hui_gnedin_atomic_rates.F90 diff --git a/src/amuse/community/sphray/src/hummer_atomic_rates.F90 b/src/amuse_sphray/src/hummer_atomic_rates.F90 similarity index 100% rename from src/amuse/community/sphray/src/hummer_atomic_rates.F90 rename to src/amuse_sphray/src/hummer_atomic_rates.F90 diff --git a/src/amuse/community/sphray/src/iliev_comparison_project.F90 b/src/amuse_sphray/src/iliev_comparison_project.F90 similarity index 100% rename from src/amuse/community/sphray/src/iliev_comparison_project.F90 rename to src/amuse_sphray/src/iliev_comparison_project.F90 diff --git a/src/amuse/community/sphray/src/initialize.F90 b/src/amuse_sphray/src/initialize.F90 similarity index 100% rename from src/amuse/community/sphray/src/initialize.F90 rename to src/amuse_sphray/src/initialize.F90 diff --git a/src/amuse/community/sphray/src/ion_table_class.F90 b/src/amuse_sphray/src/ion_table_class.F90 similarity index 100% rename from src/amuse/community/sphray/src/ion_table_class.F90 rename to src/amuse_sphray/src/ion_table_class.F90 diff --git a/src/amuse/community/sphray/src/ion_temperature_update.F90 b/src/amuse_sphray/src/ion_temperature_update.F90 similarity index 100% rename from src/amuse/community/sphray/src/ion_temperature_update.F90 rename to src/amuse_sphray/src/ion_temperature_update.F90 diff --git a/src/amuse/community/sphray/src/ionpar.F90 b/src/amuse_sphray/src/ionpar.F90 similarity index 100% rename from src/amuse/community/sphray/src/ionpar.F90 rename to src/amuse_sphray/src/ionpar.F90 diff --git a/src/amuse/community/sphray/src/kerneldensity.F90 b/src/amuse_sphray/src/kerneldensity.F90 similarity index 100% rename from src/amuse/community/sphray/src/kerneldensity.F90 rename to src/amuse_sphray/src/kerneldensity.F90 diff --git a/src/amuse/community/sphray/src/m_mrgrnk.F90 b/src/amuse_sphray/src/m_mrgrnk.F90 similarity index 100% rename from src/amuse/community/sphray/src/m_mrgrnk.F90 rename to src/amuse_sphray/src/m_mrgrnk.F90 diff --git a/src/amuse/community/sphray/src/main_input.F90 b/src/amuse_sphray/src/main_input.F90 similarity index 100% rename from src/amuse/community/sphray/src/main_input.F90 rename to src/amuse_sphray/src/main_input.F90 diff --git a/src/amuse/community/sphray/src/mainloop.F90 b/src/amuse_sphray/src/mainloop.F90 similarity index 100% rename from src/amuse/community/sphray/src/mainloop.F90 rename to src/amuse_sphray/src/mainloop.F90 diff --git a/src/amuse/community/sphray/src/makes/make.blue-velvet.serial.gfortran.debug b/src/amuse_sphray/src/makes/make.blue-velvet.serial.gfortran.debug similarity index 100% rename from src/amuse/community/sphray/src/makes/make.blue-velvet.serial.gfortran.debug rename to src/amuse_sphray/src/makes/make.blue-velvet.serial.gfortran.debug diff --git a/src/amuse/community/sphray/src/makes/make.blue-velvet.serial.gfortran.opt b/src/amuse_sphray/src/makes/make.blue-velvet.serial.gfortran.opt similarity index 100% rename from src/amuse/community/sphray/src/makes/make.blue-velvet.serial.gfortran.opt rename to src/amuse_sphray/src/makes/make.blue-velvet.serial.gfortran.opt diff --git a/src/amuse/community/sphray/src/makes/make.blue-velvet.serial.intel.debug b/src/amuse_sphray/src/makes/make.blue-velvet.serial.intel.debug similarity index 100% rename from src/amuse/community/sphray/src/makes/make.blue-velvet.serial.intel.debug rename to src/amuse_sphray/src/makes/make.blue-velvet.serial.intel.debug diff --git a/src/amuse/community/sphray/src/makes/make.blue-velvet.serial.intel.opt b/src/amuse_sphray/src/makes/make.blue-velvet.serial.intel.opt similarity index 100% rename from src/amuse/community/sphray/src/makes/make.blue-velvet.serial.intel.opt rename to src/amuse_sphray/src/makes/make.blue-velvet.serial.intel.opt diff --git a/src/amuse/community/sphray/src/makes/make.blue-velvet.serial.opt b/src/amuse_sphray/src/makes/make.blue-velvet.serial.opt similarity index 100% rename from src/amuse/community/sphray/src/makes/make.blue-velvet.serial.opt rename to src/amuse_sphray/src/makes/make.blue-velvet.serial.opt diff --git a/src/amuse/community/sphray/src/makes/make.cosma.serial.debug b/src/amuse_sphray/src/makes/make.cosma.serial.debug similarity index 100% rename from src/amuse/community/sphray/src/makes/make.cosma.serial.debug rename to src/amuse_sphray/src/makes/make.cosma.serial.debug diff --git a/src/amuse/community/sphray/src/makes/make.cosma.serial.opt b/src/amuse_sphray/src/makes/make.cosma.serial.opt similarity index 100% rename from src/amuse/community/sphray/src/makes/make.cosma.serial.opt rename to src/amuse_sphray/src/makes/make.cosma.serial.opt diff --git a/src/amuse/community/sphray/src/makes/make.ferrari.serial.opt b/src/amuse_sphray/src/makes/make.ferrari.serial.opt similarity index 100% rename from src/amuse/community/sphray/src/makes/make.ferrari.serial.opt rename to src/amuse_sphray/src/makes/make.ferrari.serial.opt diff --git a/src/amuse/community/sphray/src/makes/make.icc-graphics.serial.debug b/src/amuse_sphray/src/makes/make.icc-graphics.serial.debug similarity index 100% rename from src/amuse/community/sphray/src/makes/make.icc-graphics.serial.debug rename to src/amuse_sphray/src/makes/make.icc-graphics.serial.debug diff --git a/src/amuse/community/sphray/src/makes/make.icc-graphics.serial.opt b/src/amuse_sphray/src/makes/make.icc-graphics.serial.opt similarity index 100% rename from src/amuse/community/sphray/src/makes/make.icc-graphics.serial.opt rename to src/amuse_sphray/src/makes/make.icc-graphics.serial.opt diff --git a/src/amuse/community/sphray/src/makes/make.santabuntu.serial.debug b/src/amuse_sphray/src/makes/make.santabuntu.serial.debug similarity index 100% rename from src/amuse/community/sphray/src/makes/make.santabuntu.serial.debug rename to src/amuse_sphray/src/makes/make.santabuntu.serial.debug diff --git a/src/amuse/community/sphray/src/makes/make.santabuntu.serial.opt b/src/amuse_sphray/src/makes/make.santabuntu.serial.opt similarity index 100% rename from src/amuse/community/sphray/src/makes/make.santabuntu.serial.opt rename to src/amuse_sphray/src/makes/make.santabuntu.serial.opt diff --git a/src/amuse/community/sphray/src/makes/make.titania.serial.debug b/src/amuse_sphray/src/makes/make.titania.serial.debug similarity index 100% rename from src/amuse/community/sphray/src/makes/make.titania.serial.debug rename to src/amuse_sphray/src/makes/make.titania.serial.debug diff --git a/src/amuse/community/sphray/src/makes/make.titania.serial.opt b/src/amuse_sphray/src/makes/make.titania.serial.opt similarity index 100% rename from src/amuse/community/sphray/src/makes/make.titania.serial.opt rename to src/amuse_sphray/src/makes/make.titania.serial.opt diff --git a/src/amuse/community/sphray/src/makes/make.warp.opt b/src/amuse_sphray/src/makes/make.warp.opt similarity index 100% rename from src/amuse/community/sphray/src/makes/make.warp.opt rename to src/amuse_sphray/src/makes/make.warp.opt diff --git a/src/amuse/community/sphray/src/makes/make.warp.opt.bck b/src/amuse_sphray/src/makes/make.warp.opt.bck similarity index 100% rename from src/amuse/community/sphray/src/makes/make.warp.opt.bck rename to src/amuse_sphray/src/makes/make.warp.opt.bck diff --git a/src/amuse/community/sphray/src/makes/make.warp.serial.debug b/src/amuse_sphray/src/makes/make.warp.serial.debug similarity index 100% rename from src/amuse/community/sphray/src/makes/make.warp.serial.debug rename to src/amuse_sphray/src/makes/make.warp.serial.debug diff --git a/src/amuse/community/sphray/src/makes/make.xgpc.serial.debug b/src/amuse_sphray/src/makes/make.xgpc.serial.debug similarity index 100% rename from src/amuse/community/sphray/src/makes/make.xgpc.serial.debug rename to src/amuse_sphray/src/makes/make.xgpc.serial.debug diff --git a/src/amuse/community/sphray/src/makes/make.xgpc.serial.opt b/src/amuse_sphray/src/makes/make.xgpc.serial.opt similarity index 100% rename from src/amuse/community/sphray/src/makes/make.xgpc.serial.opt rename to src/amuse_sphray/src/makes/make.xgpc.serial.opt diff --git a/src/amuse/community/sphray/src/mt19937.F90 b/src/amuse_sphray/src/mt19937.F90 similarity index 100% rename from src/amuse/community/sphray/src/mt19937.F90 rename to src/amuse_sphray/src/mt19937.F90 diff --git a/src/amuse/community/sphray/src/myf03.f90 b/src/amuse_sphray/src/myf03.f90 similarity index 100% rename from src/amuse/community/sphray/src/myf03.f90 rename to src/amuse_sphray/src/myf03.f90 diff --git a/src/amuse/community/sphray/src/nblist.F90 b/src/amuse_sphray/src/nblist.F90 similarity index 100% rename from src/amuse/community/sphray/src/nblist.F90 rename to src/amuse_sphray/src/nblist.F90 diff --git a/src/amuse/community/sphray/src/octtree3.F90 b/src/amuse_sphray/src/octtree3.F90 similarity index 100% rename from src/amuse/community/sphray/src/octtree3.F90 rename to src/amuse_sphray/src/octtree3.F90 diff --git a/src/amuse/community/sphray/src/octtree3p.F90 b/src/amuse_sphray/src/octtree3p.F90 similarity index 100% rename from src/amuse/community/sphray/src/octtree3p.F90 rename to src/amuse_sphray/src/octtree3p.F90 diff --git a/src/amuse/community/sphray/src/output.F90 b/src/amuse_sphray/src/output.F90 similarity index 100% rename from src/amuse/community/sphray/src/output.F90 rename to src/amuse_sphray/src/output.F90 diff --git a/src/amuse/community/sphray/src/particle_system.F90 b/src/amuse_sphray/src/particle_system.F90 similarity index 100% rename from src/amuse/community/sphray/src/particle_system.F90 rename to src/amuse_sphray/src/particle_system.F90 diff --git a/src/amuse/community/sphray/src/physical_constants.F90 b/src/amuse_sphray/src/physical_constants.F90 similarity index 100% rename from src/amuse/community/sphray/src/physical_constants.F90 rename to src/amuse_sphray/src/physical_constants.F90 diff --git a/src/amuse/community/sphray/src/pix_tools.F90 b/src/amuse_sphray/src/pix_tools.F90 similarity index 100% rename from src/amuse/community/sphray/src/pix_tools.F90 rename to src/amuse_sphray/src/pix_tools.F90 diff --git a/src/amuse/community/sphray/src/ray.F90 b/src/amuse_sphray/src/ray.F90 similarity index 100% rename from src/amuse/community/sphray/src/ray.F90 rename to src/amuse_sphray/src/ray.F90 diff --git a/src/amuse/community/sphray/src/raylist.F90 b/src/amuse_sphray/src/raylist.F90 similarity index 100% rename from src/amuse/community/sphray/src/raylist.F90 rename to src/amuse_sphray/src/raylist.F90 diff --git a/src/amuse/community/sphray/src/sobol.F90 b/src/amuse_sphray/src/sobol.F90 similarity index 100% rename from src/amuse/community/sphray/src/sobol.F90 rename to src/amuse_sphray/src/sobol.F90 diff --git a/src/amuse/community/sphray/src/source_input.F90 b/src/amuse_sphray/src/source_input.F90 similarity index 100% rename from src/amuse/community/sphray/src/source_input.F90 rename to src/amuse_sphray/src/source_input.F90 diff --git a/src/amuse/community/sphray/src/spectra.F90 b/src/amuse_sphray/src/spectra.F90 similarity index 100% rename from src/amuse/community/sphray/src/spectra.F90 rename to src/amuse_sphray/src/spectra.F90 diff --git a/src/amuse/community/sphray/src/sphpar.F90 b/src/amuse_sphray/src/sphpar.F90 similarity index 100% rename from src/amuse/community/sphray/src/sphpar.F90 rename to src/amuse_sphray/src/sphpar.F90 diff --git a/src/amuse/community/sphray/src/sphray.F90 b/src/amuse_sphray/src/sphray.F90 similarity index 100% rename from src/amuse/community/sphray/src/sphray.F90 rename to src/amuse_sphray/src/sphray.F90 diff --git a/src/amuse/community/sphray/src/update_particles.F90 b/src/amuse_sphray/src/update_particles.F90 similarity index 100% rename from src/amuse/community/sphray/src/update_particles.F90 rename to src/amuse_sphray/src/update_particles.F90 diff --git a/src/amuse/community/sphray/src/viewer.F90 b/src/amuse_sphray/src/viewer.F90 similarity index 100% rename from src/amuse/community/sphray/src/viewer.F90 rename to src/amuse_sphray/src/viewer.F90 diff --git a/src/amuse/community/sphray/src/voronov_atomic_rates.F90 b/src/amuse_sphray/src/voronov_atomic_rates.F90 similarity index 100% rename from src/amuse/community/sphray/src/voronov_atomic_rates.F90 rename to src/amuse_sphray/src/voronov_atomic_rates.F90 diff --git a/src/amuse_sphray/support/aclocal.m4 b/src/amuse_sphray/support/aclocal.m4 new file mode 100644 index 0000000000..8161803730 --- /dev/null +++ b/src/amuse_sphray/support/aclocal.m4 @@ -0,0 +1,20 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/fortran.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_sphray/support/config.mk.in b/src/amuse_sphray/support/config.mk.in new file mode 100644 index 0000000000..28bceee59e --- /dev/null +++ b/src/amuse_sphray/support/config.mk.in @@ -0,0 +1,22 @@ +# Compilers +FC = @FC@ +MPIFC = @MPIFC@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ + + +# General flags and libraries +FCFLAGS = @FCFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# AMUSE framework libraries +FORSOCKETS_CFLAGS = @FORSOCKETS_CFLAGS@ +FORSOCKETS_LIBS = @FORSOCKETS_LIBS@ + diff --git a/src/amuse_sphray/support/configure b/src/amuse_sphray/support/configure new file mode 100755 index 0000000000..862b3482cd --- /dev/null +++ b/src/amuse_sphray/support/configure @@ -0,0 +1,6006 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-sphray 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-sphray' +PACKAGE_TARNAME='amuse-sphray' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-sphray 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPILIBS +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CPPFLAGS +CFLAGS +CC +RANLIB +AR +target_os +target_vendor +target_cpu +target +OBJEXT +EXEEXT +ac_ct_FC +LDFLAGS +FCFLAGS +FC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +FC +FCFLAGS +LDFLAGS +LIBS +CC +CFLAGS +CPPFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS +MPIFC' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-sphray 1.0 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/amuse-sphray] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-sphray 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + FC Fortran compiler command + FCFLAGS Fortran 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 + CC C compiler command + CFLAGS C compiler flags + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + 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 + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + MPIFC MPI Fortran compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-sphray configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-sphray $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the Fortran compiler works" >&5 +printf %s "checking whether the Fortran compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "Fortran compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler default output file name" >&5 +printf %s "checking for Fortran compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat > conftest.$ac_ext <<_ACEOF + program main + open(unit=9,file='conftest.out') + close(unit=9) + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run Fortran compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +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 + + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + +# Find external dependencies +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-sphray $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-sphray config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_sphray/support/configure.ac b/src/amuse_sphray/support/configure.ac new file mode 100644 index 0000000000..37b13048ca --- /dev/null +++ b/src/amuse_sphray/support/configure.ac @@ -0,0 +1,38 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-sphray], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + +# Find AMUSE libraries +AMUSE_LIB_FORSOCKETS() + +# Find external dependencies +AC_LANG_PUSH([Fortran]) + +AX_MPI() + +AC_LANG_POP([Fortran]) + + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_sphray/support/shared b/src/amuse_sphray/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_sphray/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_sphray.py b/src/amuse_sphray/tests/test_sphray.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_sphray.py rename to src/amuse_sphray/tests/test_sphray.py index 2cd3f2dbcd..f38ac1fa18 100644 --- a/src/amuse/test/suite/codes_tests/test_sphray.py +++ b/src/amuse_sphray/tests/test_sphray.py @@ -1,8 +1,8 @@ import os.path import numpy -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI -from amuse.community.sphray.interface import SPHRayInterface, SPHRay +from amuse_sphray.interface import SPHRayInterface, SPHRay from amuse.units import units from amuse.datamodel import Particles, create_particle_set from amuse.datamodel import Particle diff --git a/src/amuse/test/suite/codes_tests/test_sphray_data_4K b/src/amuse_sphray/tests/test_sphray_data_4K similarity index 100% rename from src/amuse/test/suite/codes_tests/test_sphray_data_4K rename to src/amuse_sphray/tests/test_sphray_data_4K diff --git a/src/amuse/test/suite/codes_tests/test_sphray_data_sources_001.1 b/src/amuse_sphray/tests/test_sphray_data_sources_001.1 similarity index 100% rename from src/amuse/test/suite/codes_tests/test_sphray_data_sources_001.1 rename to src/amuse_sphray/tests/test_sphray_data_sources_001.1 diff --git a/src/amuse_sse/Makefile b/src/amuse_sse/Makefile new file mode 100644 index 0000000000..d43f50436b --- /dev/null +++ b/src/amuse_sse/Makefile @@ -0,0 +1,61 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library +FCFLAGS += $(FORSOCKETS_CFLAGS) +LDLIBS += $(FORSOCKETS_LIBS) $(LIBS) + +SSEOBJ = src/deltat.o src/evolv1.o src/hrdiag.o src/kick.o \ + src/mlwind.o src/mrenv.o src/ran3.o src/star.o \ + src/zcnsts.o src/zfuncs.o + +# Building the workers +sse_worker.f90: interface.py + amusifier --type=f90 interface.py SSEInterface -o $@ + +sse_worker.o: sse_worker.f90 + $(MPIFC) -c $(FCFLAGS) $< + +%.o: %.f + $(FC) -c -o $@ $(FCFLAGS) $< + +sse_worker: interface.o sse_worker.o $(SSEOBJ) + $(MPIFC) -o sse_worker $(LDFLAGS) $^ $(LDLIBS) + + +# Which packages contain which workers? +amuse-sse_contains: sse_worker + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + rm -rf *.o src/*.o *worker* *.mod + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + diff --git a/src/amuse/community/sse/README b/src/amuse_sse/README similarity index 100% rename from src/amuse/community/sse/README rename to src/amuse_sse/README diff --git a/src/amuse_sse/__init__.py b/src/amuse_sse/__init__.py new file mode 100644 index 0000000000..8f8b9afc16 --- /dev/null +++ b/src/amuse_sse/__init__.py @@ -0,0 +1,8 @@ +# -*- mode: python; coding: utf-8 -*- + +__author__ = 'Steve McMillan' +__author_email__ = '' +__date__ = '2007-12-06' + +# Dummy file to indicate that this directory is a package. +from .interface import Sse diff --git a/src/amuse/community/sse/interface.f b/src/amuse_sse/interface.f similarity index 100% rename from src/amuse/community/sse/interface.f rename to src/amuse_sse/interface.f diff --git a/src/amuse_sse/interface.py b/src/amuse_sse/interface.py new file mode 100644 index 0000000000..22fd47b130 --- /dev/null +++ b/src/amuse_sse/interface.py @@ -0,0 +1,459 @@ +import numpy +from operator import itemgetter +from amuse.community import * +from amuse.units import units +from amuse.units import constants +from amuse.support.interface import InCodeComponentImplementation +from amuse.community.interface import common + +from amuse.datamodel import Particles +from amuse.datamodel import ParticlesSubset +class SSEInterface(CodeInterface, common.CommonCodeInterface , LiteratureReferencesMixIn): + """ + Stellar evolution is performed by the rapid single-star evolution (SSE) + algorithm. This is a package of analytical formulae fitted to the detailed + models of Pols et al. (1998) that covers all phases of evolution from the + zero-age main-sequence up to and including remnant phases. It is valid for + masses in the range 0.1-100 Msun and metallicity can be varied. The SSE + package contains a prescription for mass loss by stellar winds. It also + follows the evolution of rotational angular momentum for the star. Full + details can be found in the SSE paper: + + .. [#] ADS:2000MNRAS.315..543H (Hurley J.R., Pols O.R., Tout C.A., 2000, MNRAS, 315, 543: + .. [#] ... "Comprehensive analytic formulae for stellar evolution as a function of mass and metallicity") + """ + def __init__(self, **options): + CodeInterface.__init__(self, name_of_the_worker="sse_worker", **options) + LiteratureReferencesMixIn.__init__(self) + + @legacy_function + def initialize(): + function = LegacyFunctionSpecification() + function.addParameter('z_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('neta_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('bwind_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('hewind_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('sigma_in', dtype='d', direction=function.IN, unit = units.km / units.s) + function.addParameter('ifflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('wdflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('bhflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('nsflag_in', dtype='i', direction=function.IN, unit = NO_UNIT) + function.addParameter('mxns_in', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('pts1_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('pts2_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('pts3_in', dtype='d', direction=function.IN, unit = NO_UNIT) + function.addParameter('status', dtype='i', direction=function.OUT, unit = NO_UNIT) + return function + + @legacy_function + def evolve_star(): + function = LegacyFunctionSpecification() + function.name = 'evolve0' + function.can_handle_array = True + function.addParameter('kw', dtype='i', direction=function.INOUT, unit = units.stellar_type) + function.addParameter('mass', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('mt', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('r', dtype='d', direction=function.INOUT, unit = units.RSun) + function.addParameter('lum', dtype='d', direction=function.INOUT, unit = units.LSun) + function.addParameter('mc', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('rc', dtype='d', direction=function.INOUT, unit = units.RSun) + function.addParameter('menv', dtype='d', direction=function.INOUT, unit = units.MSun) + function.addParameter('renv', dtype='d', direction=function.INOUT, unit = units.RSun) + function.addParameter('ospin', dtype='d', direction=function.INOUT, unit = units.yr**-1) + function.addParameter('epoch', dtype='d', direction=function.INOUT, unit = units.Myr) + function.addParameter('tm', dtype='d', direction=function.INOUT, unit = units.Myr) + function.addParameter('tphys', dtype='d', direction=function.INOUT, unit = units.Myr) + function.addParameter('tphysf', dtype='d', direction=function.INOUT, unit = units.Myr) + return function + + @legacy_function + def get_time_step(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('kw', dtype='i', direction=function.IN, unit = units.stellar_type) + function.addParameter('mass', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('age', dtype='d', direction=function.IN, unit = units.Myr) + function.addParameter('mt', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('tm', dtype='d', direction=function.IN, unit = units.Myr) + function.addParameter('epoch', dtype='d', direction=function.IN, unit = units.Myr) + function.addParameter('dt', dtype='d', direction=function.OUT, unit = units.Myr) + + return function + + @legacy_function + def get_mass_loss_wind(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('kw', dtype='i', direction=function.IN, unit = units.stellar_type) + function.addParameter('lum', dtype='d', direction=function.IN, unit = units.LSun) + function.addParameter('r', dtype='d', direction=function.IN, unit = units.RSun) + function.addParameter('mt', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('mc', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('mlout', dtype='d', direction=function.OUT, unit = units.MSun/units.yr) + + return function + + + @legacy_function + def get_gyration_radius(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('kw', dtype='i', direction=function.IN, unit = units.stellar_type) + function.addParameter('mass', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('mt', dtype='d', direction=function.IN, unit = units.MSun) + function.addParameter('r', dtype='d', direction=function.IN, unit = units.RSun) + function.addParameter('lum', dtype='d', direction=function.IN, unit = units.LSun) + function.addParameter('epoch', dtype='d', direction=function.IN, unit = units.Myr) + function.addParameter('tm', dtype='d', direction=function.IN, unit = units.Myr) + function.addParameter('tphys', dtype='d', direction=function.IN, unit = units.Myr) + function.addParameter('rg', dtype='d', direction=function.OUT, unit = NO_UNIT) + + return function + + def initialize_code(self): + return 0 + + def commit_parameters(self): + return 0 + + def recommit_parameters(self): + return 0 + + def cleanup_code(self): + return 0 + + def commit_particles(self): + return 0 + + + +class SSEParticles(Particles): + + def __init__(self, code_interface, storage = None): + Particles.__init__(self, storage = storage) + self._private.code_interface = code_interface + self.add_calculated_attribute("temperature", self.calculate_effective_temperature, ["luminosity", "radius"]) + self.add_function_attribute("evolve_one_step", self.particleset_evolve_one_step, self.evolve_one_step) + self.add_function_attribute("evolve_for", self.particleset_evolve_for, self.evolve_for) + + def calculate_effective_temperature(self, luminosity, radius): + return ((luminosity/(constants.four_pi_stefan_boltzmann*radius**2))**.25).in_(units.K) + + def add_particles_to_store(self, keys, attributes = [], values = []): + if len(keys) == 0: + return + + all_attributes = [] + all_attributes.extend(attributes) + all_values = [] + all_values.extend(values) + + mapping_from_attribute_to_default_value = { + "stellar_type" : 1 | units.stellar_type, + "radius": 0 | units.RSun, + "luminosity": 0 | units.LSun, + "core_mass": 0 | units.MSun, + "CO_core_mass": 0 | units.MSun, + "core_radius": 0 | units.RSun, + "convective_envelope_mass": 0 | units.MSun, + "convective_envelope_radius": 0 | units.RSun, + "epoch": 0 | units.Myr, + "spin": 0 | units.yr**-1, + "main_sequence_lifetime": 0 | units.Myr, + "age": 0 | units.Myr + } + + given_attributes = set(attributes) + + if not "initial_mass" in given_attributes: + index_of_mass_attibute = attributes.index("mass") + all_attributes.append("initial_mass") + all_values.append(values[index_of_mass_attibute] * 1.0) + + for attribute, default_value in mapping_from_attribute_to_default_value.items(): + if not attribute in given_attributes: + all_attributes.append(attribute) + all_values.append(default_value.as_vector_with_length(len(keys))) + + super(SSEParticles, self).add_particles_to_store(keys, all_attributes, all_values) + + added_particles = ParticlesSubset(self, keys) + self._private.code_interface._evolve_particles(added_particles, 0 | units.yr) + + def evolve_one_step(self, particles, subset): + self._private.code_interface._evolve_particles(subset.as_set(), subset.age + subset.time_step) + + def particleset_evolve_one_step(self, particles): + self._private.code_interface._evolve_particles(particles, particles.age + particles.time_step) + + def evolve_for(self, particles, subset, delta_time): + self._private.code_interface._evolve_particles(subset.as_set(), subset.age + delta_time) + + def particleset_evolve_for(self, particles, delta_time): + self._private.code_interface._evolve_particles(particles, particles.age + delta_time) + + + def get_defined_attribute_names(self): + return ["mass", "radius"] + + + + + + + + + + +class SSE(common.CommonCode): + + def __init__(self, **options): + InCodeComponentImplementation.__init__(self, SSEInterface(**options), **options) + + self.model_time = 0.0 | units.yr + + + def define_parameters(self, handler): + + handler.add_caching_parameter( + "initialize", + "z_in", + "metallicity", + "Metallicity of all stars", + 0.02 + ) + + handler.add_caching_parameter( + "initialize", + "neta_in", + "reimers_mass_loss_coefficient", + "Reimers mass-loss coefficient (neta*4x10^-13; 0.5 normally)", + 0.5 + ) + + handler.add_caching_parameter( + "initialize", + "bwind_in", + "binary_enhanced_mass_loss_parameter", + "The binary enhanced mass loss parameter (inactive for single).", + 0.0 + ) + + handler.add_caching_parameter( + "initialize", + "hewind_in", + "helium_star_mass_loss_factor", + "Helium star mass loss factor", + 0.5 + ) + + handler.add_caching_parameter( + "initialize", + "sigma_in", + "SN_kick_speed_dispersion", + "The dispersion in the Maxwellian for the SN kick speed (190 km/s).", + 190.0 | units.km / units.s + ) + + handler.add_caching_parameter( + "initialize", + "ifflag_in", + "white_dwarf_IFMR_flag", + "ifflag > 0 uses white dwarf IFMR (initial-final mass relation) of HPE, 1995, MNRAS, 272, 800 (0).", + 0 + ) + + handler.add_caching_parameter( + "initialize", + "wdflag_in", + "white_dwarf_cooling_flag", + "wdflag > 0 uses modified-Mestel cooling for WDs (0).", + 1 + ) + + handler.add_caching_parameter( + "initialize", + "bhflag_in", + "black_hole_kick_flag", + "bhflag > 0 allows velocity kick at BH formation (0).", + 0 + ) + + handler.add_caching_parameter( + "initialize", + "nsflag_in", + "neutron_star_mass_flag", + "nsflag > 0 takes NS/BH mass from Belczynski et al. 2002, ApJ, 572, 407 (1).", + 1 + ) + + handler.add_caching_parameter( + "initialize", + "mxns_in", + "maximum_neutron_star_mass", + "The maximum neutron star mass (1.8, nsflag=0; 3.0, nsflag=1).", + 3.0 | units.MSun + ) + + handler.add_caching_parameter( + "initialize", + "pts1_in", + "fractional_time_step_1", + "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: MS (0.05)", + 0.05 + ) + + handler.add_caching_parameter( + "initialize", + "pts2_in", + "fractional_time_step_2", + "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: GB, CHeB, AGB, HeGB (0.01)", + 0.01 + ) + + handler.add_caching_parameter( + "initialize", + "pts3_in", + "fractional_time_step_3", + "The timesteps chosen in each evolution phase as decimal fractions of the time taken in that phase: HG, HeMS (0.02)", + 0.02 + ) + + def define_state(self, handler): + common.CommonCode.define_state(self, handler) + handler.add_transition('INITIALIZED','RUN','commit_parameters') + handler.add_method('RUN', 'evolve_star') + + handler.add_method('RUN', 'before_get_parameter') + handler.add_method('RUN', 'before_set_parameter') + + + def define_particle_sets(self, handler): + handler.define_inmemory_set('particles', SSEParticles) + + handler.add_attribute( + 'particles', + 'time_step', + 'get_time_step', + ('stellar_type', 'initial_mass', 'age', + 'mass', 'main_sequence_lifetime', 'epoch') + ) + + handler.add_attribute( + 'particles', + 'mass_loss_wind', + 'get_mass_loss_wind', + ('stellar_type', 'luminosity', + 'radius', 'mass', + 'CO_core_mass') + ) + + handler.add_attribute( + 'particles', + 'gyration_radius', + 'get_gyration_radius', + ('stellar_type', 'initial_mass','mass','radius', + 'luminosity','epoch','main_sequence_lifetime', + 'age') + ) + + def _evolve_particles(self, particles, end_time): + attributes = ( + "stellar_type", + "initial_mass", + "mass", + "radius", + "luminosity", + "core_mass", + "core_radius", + "convective_envelope_mass", + "convective_envelope_radius", + "spin", + "epoch", + "main_sequence_lifetime", + "age", + "end_time" + ) + + result = self.evolve_star( + particles.stellar_type, + particles.initial_mass, + particles.mass, + particles.radius, + particles.luminosity, + particles.core_mass, + particles.core_radius, + particles.convective_envelope_mass, + particles.convective_envelope_radius, + particles.spin, + particles.epoch, + particles.main_sequence_lifetime, + particles.age, + end_time.as_vector_with_length(len(particles))) + + # For helium (and helium exhausted) stars, the core mass returned is actually the CO core mass + type = result[0].value_in(units.stellar_type) + helium_star_selection = (type > 6) & (type < 16) & (type != 10) + helium_stars = particles[helium_star_selection] + other_stars = particles - helium_stars + if len(helium_stars): + helium_stars_results = [sub[helium_star_selection] for sub in result] + helium_stars_results.append(helium_stars_results[2]) + helium_stars.set_values_in_store(helium_stars.get_all_indices_in_store(), ( + "stellar_type", "initial_mass", "mass", "radius", "luminosity", + "CO_core_mass", + "core_radius", "convective_envelope_mass", "convective_envelope_radius", "spin", "epoch", + "main_sequence_lifetime", "age", "end_time", + "core_mass"), helium_stars_results) + if len(other_stars): + other_star_selection = numpy.logical_not(helium_star_selection) + other_stars.set_values_in_store(other_stars.get_all_indices_in_store(), attributes, + [sub[other_star_selection] for sub in result]) + + def evolve_model(self, end_time = None, keep_synchronous = True): + if not keep_synchronous: + self._evolve_particles(self.particles, self.particles.time_step + self.particles.age) + return + + if end_time is None: + end_time = self.model_time + min(self.particles.time_step) + self._evolve_particles(self.particles, end_time - self.model_time + self.particles.age) + self.model_time = end_time + + def _evolve_model_old(self, end_time = None, keep_synchronous = True): + """ + This is the old implementation of evolve_model. Even with (keep_synchronous = True) + it is unable to evolve all stars to a common age, since it relies on the + individual timesteps as determined by the community code. Furthermore, it + is not suited to simulations with ongoing star formation, since it evolves + newly created stars to the same age as the old stars. + """ + if end_time is None: + if keep_synchronous: + ages = self.particles.age + index, min_age = min(enumerate(ages), key=itemgetter(1)) + new_age = min_age + self.particles[index].time_step + selection = self.particles.select(lambda x : x < new_age, ["age"]) + self._evolve_particles(selection, selection.time_step + selection.age) + return + end_time = self.particles.time_step + self.particles.age + + self._evolve_particles(self.particles, end_time) + + + def commit_parameters(self): + self.parameters.send_cached_parameters_to_code() + self.overridden().commit_parameters() + + def initialize_module_with_current_parameters(self): + self.parameters.send_cached_parameters_to_code() + + def initialize_module_with_default_parameters(self): + self.parameters.set_defaults() + self.commit_parameters() + + def update_time_steps(self): + pass + + +Sse = SSE diff --git a/src/amuse_sse/packages/amuse-sse.amuse_deps b/src/amuse_sse/packages/amuse-sse.amuse_deps new file mode 100644 index 0000000000..235aec9dc0 --- /dev/null +++ b/src/amuse_sse/packages/amuse-sse.amuse_deps @@ -0,0 +1 @@ +fortran mpi \ No newline at end of file diff --git a/src/amuse_sse/packages/amuse-sse/amuse_sse b/src/amuse_sse/packages/amuse-sse/amuse_sse new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_sse/packages/amuse-sse/amuse_sse @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_sse/packages/amuse-sse/pyproject.toml b/src/amuse_sse/packages/amuse-sse/pyproject.toml new file mode 100644 index 0000000000..8a10755456 --- /dev/null +++ b/src/amuse_sse/packages/amuse-sse/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-sse" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_sse/**/*.py"] +exclude = [ + "amuse_sse/packages", + "amuse_sse/support", + "amuse_sse/src", + "amuse_sse/tests" + ] +artifacts = ["amuse_sse/sse_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_sse/tests/"] + +testpaths = ["amuse_sse/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse/community/sse/src/Makefile b/src/amuse_sse/src/Makefile similarity index 100% rename from src/amuse/community/sse/src/Makefile rename to src/amuse_sse/src/Makefile diff --git a/src/amuse/community/sse/src/README_SSE b/src/amuse_sse/src/README_SSE similarity index 100% rename from src/amuse/community/sse/src/README_SSE rename to src/amuse_sse/src/README_SSE diff --git a/src/amuse/community/sse/src/const_bse.h b/src/amuse_sse/src/const_bse.h similarity index 100% rename from src/amuse/community/sse/src/const_bse.h rename to src/amuse_sse/src/const_bse.h diff --git a/src/amuse/community/sse/src/deltat.f b/src/amuse_sse/src/deltat.f similarity index 100% rename from src/amuse/community/sse/src/deltat.f rename to src/amuse_sse/src/deltat.f diff --git a/src/amuse/community/sse/src/evolv1.f b/src/amuse_sse/src/evolv1.f similarity index 100% rename from src/amuse/community/sse/src/evolv1.f rename to src/amuse_sse/src/evolv1.f diff --git a/src/amuse/community/sse/src/evolve.in b/src/amuse_sse/src/evolve.in similarity index 100% rename from src/amuse/community/sse/src/evolve.in rename to src/amuse_sse/src/evolve.in diff --git a/src/amuse/community/sse/src/hrdiag.f b/src/amuse_sse/src/hrdiag.f similarity index 100% rename from src/amuse/community/sse/src/hrdiag.f rename to src/amuse_sse/src/hrdiag.f diff --git a/src/amuse/community/sse/src/kick.f b/src/amuse_sse/src/kick.f similarity index 100% rename from src/amuse/community/sse/src/kick.f rename to src/amuse_sse/src/kick.f diff --git a/src/amuse/community/sse/src/mlwind.f b/src/amuse_sse/src/mlwind.f similarity index 100% rename from src/amuse/community/sse/src/mlwind.f rename to src/amuse_sse/src/mlwind.f diff --git a/src/amuse/community/sse/src/mrenv.f b/src/amuse_sse/src/mrenv.f similarity index 100% rename from src/amuse/community/sse/src/mrenv.f rename to src/amuse_sse/src/mrenv.f diff --git a/src/amuse/community/sse/src/ran3.f b/src/amuse_sse/src/ran3.f similarity index 100% rename from src/amuse/community/sse/src/ran3.f rename to src/amuse_sse/src/ran3.f diff --git a/src/amuse/community/sse/src/sse.f b/src/amuse_sse/src/sse.f similarity index 100% rename from src/amuse/community/sse/src/sse.f rename to src/amuse_sse/src/sse.f diff --git a/src/amuse/community/sse/src/star.f b/src/amuse_sse/src/star.f similarity index 100% rename from src/amuse/community/sse/src/star.f rename to src/amuse_sse/src/star.f diff --git a/src/amuse/community/sse/src/zcnsts.f b/src/amuse_sse/src/zcnsts.f similarity index 100% rename from src/amuse/community/sse/src/zcnsts.f rename to src/amuse_sse/src/zcnsts.f diff --git a/src/amuse/community/sse/src/zdata.h b/src/amuse_sse/src/zdata.h similarity index 100% rename from src/amuse/community/sse/src/zdata.h rename to src/amuse_sse/src/zdata.h diff --git a/src/amuse/community/sse/src/zfuncs.f b/src/amuse_sse/src/zfuncs.f similarity index 100% rename from src/amuse/community/sse/src/zfuncs.f rename to src/amuse_sse/src/zfuncs.f diff --git a/src/amuse_sse/support/aclocal.m4 b/src/amuse_sse/support/aclocal.m4 new file mode 100644 index 0000000000..8161803730 --- /dev/null +++ b/src/amuse_sse/support/aclocal.m4 @@ -0,0 +1,20 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/fortran.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_sse/support/config.mk.in b/src/amuse_sse/support/config.mk.in new file mode 100644 index 0000000000..273c24a81c --- /dev/null +++ b/src/amuse_sse/support/config.mk.in @@ -0,0 +1,18 @@ +# Compilers +FC = @FC@ + +MPIFC = @MPIFC@ + +CPU_COUNT = @CPU_COUNT@ + +# General flags and libraries +FCFLAGS = @FCFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + +# AMUSE framework libraries +FORSOCKETS_CFLAGS = @FORSOCKETS_CFLAGS@ +FORSOCKETS_LIBS = @FORSOCKETS_LIBS@ + + diff --git a/src/amuse_sse/support/configure b/src/amuse_sse/support/configure new file mode 100755 index 0000000000..7f2b174b9d --- /dev/null +++ b/src/amuse_sse/support/configure @@ -0,0 +1,5750 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-sse 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-sse' +PACKAGE_TARNAME='amuse-sse' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-sse 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPILIBS +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +ac_ct_CC +CPPFLAGS +CFLAGS +CC +OBJEXT +EXEEXT +ac_ct_FC +LDFLAGS +FCFLAGS +FC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +FC +FCFLAGS +LDFLAGS +LIBS +CC +CFLAGS +CPPFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS +MPIFC' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-sse 1.0 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/amuse-sse] + --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 amuse-sse 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + FC Fortran compiler command + FCFLAGS Fortran 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 + CC C compiler command + CFLAGS C compiler flags + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + 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 + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + MPIFC MPI Fortran compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-sse configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link + +# 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-sse $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set the worker language +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the Fortran compiler works" >&5 +printf %s "checking whether the Fortran compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "Fortran compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler default output file name" >&5 +printf %s "checking for Fortran compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat > conftest.$ac_ext <<_ACEOF + program main + open(unit=9,file='conftest.out') + close(unit=9) + + end +_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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run Fortran compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +fi +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the fortran compiler supports iso c binding" >&5 +printf %s "checking if the fortran compiler supports iso c binding... " >&6; } +cat > conftest.$ac_ext <<_ACEOF + + + program conftest + use ISO_C_BINDING + integer, dimension(10) :: n + end + + +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + + FC_ISO_C_BINDINGS="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_fc_iso_c_bindings" >&5 +printf "%s\n" "$ax_cv_fc_iso_c_bindings" >&6; } + +else $as_nop + + FC_ISO_C_BINDINGS="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fortran codes and sockets or embedding will not work." >&5 +printf "%s\n" "no, fortran codes and sockets or embedding will not work." >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +# The intel compiler sometimes generates these work.pc and .pcl files +rm -f work.pc work.pcl +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + +# Find AMUSE libraries + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +fi + +fi + + + ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + +# Find external dependencies +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-sse $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-sse config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + diff --git a/src/amuse_sse/support/configure.ac b/src/amuse_sse/support/configure.ac new file mode 100644 index 0000000000..43795ca058 --- /dev/null +++ b/src/amuse_sse/support/configure.ac @@ -0,0 +1,30 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-sse], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set the worker language +AC_LANG([Fortran]) + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler +AC_PROG_FC() +AX_FC_ISO_C_BINDING() + +# Find AMUSE libraries +AMUSE_LIB_FORSOCKETS() + +# Find external dependencies +AC_LANG_PUSH([Fortran]) +AX_MPI() +AC_LANG_POP([Fortran]) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT diff --git a/src/amuse_sse/support/shared b/src/amuse_sse/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_sse/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_sse.py b/src/amuse_sse/tests/test_sse.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_sse.py rename to src/amuse_sse/tests/test_sse.py index 1d41fe9254..1079ecd476 100644 --- a/src/amuse/test/suite/codes_tests/test_sse.py +++ b/src/amuse_sse/tests/test_sse.py @@ -5,9 +5,9 @@ import numpy from subprocess import call -from amuse.community.sse.interface import SSEInterface, SSE +from amuse_sse.interface import SSEInterface, SSE -from amuse.test.amusetest import get_path_to_results, TestWithMPI +from amuse.support.testing.amusetest import get_path_to_results, TestWithMPI from amuse import io from amuse.units import units from amuse.datamodel import Particle, Particles diff --git a/src/amuse_symple/Makefile b/src/amuse_symple/Makefile new file mode 100644 index 0000000000..2abdd87715 --- /dev/null +++ b/src/amuse_symple/Makefile @@ -0,0 +1,68 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the code into a static library +DEPFLAGS += $(STOPCONDMPI_CFLAGS) $(AMUSE_MPI_CFLAGS) + +CFLAGS += $(DEPFLAGS) +CFLAGS += -O3 -Wall -DTOOLBOX + +LDFLAGS += + +LDLIBS += -lm $(STOPCONDMPI_LIBS) $(AMUSE_MPI_LIBS) + + +# Building the workers +symple_worker.h: interface.py + amusifier --type=h -i amuse.community.interface.stopping_conditions.StoppingConditionInterface interface.py sympleInterface -o $@ + +symple_worker.cc: interface.py + amusifier --type=c interface.py sympleInterface -o $@ + +interface.o: interface.cc symple_worker.h vec3.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + +symple_worker.o: symple_worker.cc symple_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + +symple_worker: symple_worker.o interface.o + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + + +# Which packages contain which workers? +amuse-symple_contains: symple_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + diff --git a/src/amuse_symple/__init__.py b/src/amuse_symple/__init__.py new file mode 100644 index 0000000000..50517d5735 --- /dev/null +++ b/src/amuse_symple/__init__.py @@ -0,0 +1,2 @@ +# generated file +from .interface import Symple diff --git a/src/amuse_symple/interface.cc b/src/amuse_symple/interface.cc new file mode 100644 index 0000000000..0e8ba31f59 --- /dev/null +++ b/src/amuse_symple/interface.cc @@ -0,0 +1,1197 @@ + +// Symplectic N-body integration modules of orders 1, 2, 3, 4, 5, 6, +// 8, and 10, with fixed, shared time step. Setting eta > 0 enables +// variable shared steps (but the integrators then are no longer +// symplectic). Individual particle continuous mass loss is also +// included. +// +// Steve McMillan, 11/2017 +// +// Added mass loss (dmdt). 5/2018 +// Expanded to multiple integrators. 5/2018 +// +// Notes: +// +// 1. Symplectic integrators can still lead to precession in an +// elliptical 2-body orbit (no conserved quantity to constrain +// it). Only the 1 and 2 integrators show any measurable precession. +// +// 2. Symplectic integrators should show no long-term growth in the +// energy of a periodic orbit (e.g. a simple two-body system of +// moderate eccentricity). However, the argument leading to this +// conclusion assumes that the period is commensurate with the period. +// Non commensurate steps lead to long-period modulations in the +// energy error, but no long-term drift. The amplitude off the +// modulation can be reduced by making the step an integral fraction +// of the period, and reduced more by making it an integral fraction +// of the actual (numerical) period, and apparently better still by +// making that integer a power of 2 (presumably reducing the rounding +// error in the solution near pericenter). Modulation amplitude drops +// off with decreasing time step. +// +// Two-body "standard" problem results (m1 = m2 = 0.5, a = 0.57, e = +// 0.75, period P = 2.71): +// +// 1. Implicit Euler +// +// - no significant long-term energy drift (but large orbital +// variations) +// - small amplitude modulation for longer time steps +// - step for ~1.e-6 max error in standard test = P/64M (est.) +// +// 2. Second-order predictor-corrector +// +// - max error/orbit has a long-term, apparently periodic modulation +// - not significantly affected by commensurate/non-commensurate step +// - may be driven by step not commensurate with *numerical* period +// - modulation form and period depends on precise choice of step +// - making the step commensurate with the numerical period substantially +// reduces the modulation amplitude +// - no net drift of energy on long time scales +// - step for ~1.e-6 max error in standard test = P/32k (2.e-6) +// - no significant drift/modulation at this step +// +// 3. Third order scheme +// +// - step for ~1.e-6 max error in standard test = P/1024 (1.2e-6) +// - no significant drift/modulation at this step +// - power of 2 is *very* important -- substantially larger +// drift if not used +// +// 4. Fourth order scheme +// +// - step for ~1.e-6 max error in standard test = P/1024 (1.3e-6) +// - no significant drift/modulation at this step +// - power of 2 not important for drift, but do see small +// drift if not used +// +// 5. Fifth order scheme +// +// - step for ~1.e-6 max error in standard test = P/256 (2.5e-6) +// - no significant drift/modulation at this step +// - power of 2 is *very* important -- much larger drift/ +// modulation if not used (P/300 much worse than P/256) +// +// 6. Sixth order scheme +// +// - step for ~1.e-6 max error in standard test = P/256 (8.e-7) +// - no significant drift/modulation at this step +// - power of 2 is *very* important -- much larger drift +// if not used (P/300 has substantial drift) +// +// 7. Eighth order scheme +// +// - step for << 1.e-6 max error in standard test = P/256 (1.5e-7) +// - no significant drift/modulation at this step +// - P/128 error >> 1.e-6 and noticeable drift +// - power of 2 not very important for drift; see error ~ 1.e-6 +// and only small drift with P/200 drift if not used (drift +// per orbit is small fraction of the peak error per orbit) +// +// 8. Tenth order scheme +// +// - step for << 1.e-6 max error in standard test = P/128 (3.e-9) +// - no significant drift/modulation at this step +// - P/64 has substantial drift and modulation (and error +// >> 1.e-6) +// - power of 2 is *very* important -- much larger drift +// if not used (P/100 has substantial drift) +// +// function evals/period +// integrator order evals/step (const. dE) +// 1 1 1 -- +// 2 2 1 32k +// 3 3 3 3k +// 4 4 3 3k +// 5 5 7 1792 +// 6 6 7 1792 +// 8 8 15 3840 +// 10 10 33 4224 +// +// Someone should parallelize the acceleration calculation... + +#include +#include +#include +#include +#include + +#include "symple_worker.h" + +#include +#include +#include +#include + +// AMUSE STOPPING CONDITIONS SUPPORT + +#include +#include + +using namespace std; +typedef double real; + +#include "vec3.h" // borrowed from starlab + +#define PR(x) *sout << #x << " = " << x << " " << flush +#define PRC(x) *sout << #x << " = " << x << ", " << flush +#define PRL(x) *sout << #x << " = " << x << endl << flush + +// (Global!) static data: + +const int NDIM = 3; // number of spatial dimensions +static int which_int; +static void (*integrate)(real, real*, real*); + +// N-body data (structure copied from hermite0): + +static real t = 0; +static double begin_time = 0; + +static vector ident; +static vector mass, dmdt, radius, potential; +static vector pos, vel, acc; + +static int nsteps = 0; // number of time steps completed +static real einit = 0; // initial total energy of the system +static bool init_flag = false; +static real eps2 = 0; + +static const real ETA = 0.05; +static real eta = ETA; // allow variable shared time steps if > 0 +static real timestep = 0; // fixed time step off by default + +static bool flag_collision = true; +static bool reeval = false; +static ostream* sout = &cout; + +static real potential_energy = 0.0; +static int max_identifier = 0; + +// Collisions: + +static int id_coll_primary = -1, id_coll_secondary = -1; + + + +//----------------------------------------------------------------------- +// +// Integrator functions: +// +//----------------------------------------------------------------------- + +real calculate_step(real coll_time) +{ + // Determine the new system time step from coll_time. + + real step = timestep; + if (eta > 0) + step = eta*coll_time; + + return step; +} + +// Collision detection code is copied from hermite0, but the details +// are not implemented or tested. + +void get_acc_pot_coll(real *epot, real *coll_time, + bool get_coll=false) +{ + int n = ident.size(); + + *coll_time = 0.0; + *epot = 0; + + const real VERY_LARGE_NUMBER = 1e300; + real coll_time_q = VERY_LARGE_NUMBER; // collision time to 4th power + real coll_est_q; // collision time scale estimate + // to 4th power (quartic) + id_coll_primary = id_coll_secondary = -1; + + reset_stopping_conditions(); + int is_collision_detection_enabled; + int error = is_stopping_condition_enabled(COLLISION_DETECTION, + &is_collision_detection_enabled); + + for (int i = 0; i < n ; i++) { + for (int k = 0; k < NDIM; k++) acc[i][k] = 0; + potential[i]= 0; + } + + for (int i = 0; i < n; i++) { + for (int j = i+1; j < n; j++) { + real rji[NDIM]; + real vji[NDIM]; + for (int k = 0; k < NDIM ; k++) { + rji[k] = pos[j][k] - pos[i][k]; + vji[k] = vel[j][k] - vel[i][k]; + } + real r2 = 0; + real v2 = 0; + for (int k = 0; k < NDIM ; k++) { + r2 += rji[k] * rji[k]; + if (get_coll) v2 += vji[k] * vji[k]; + } + + if (is_collision_detection_enabled) { // not working/tested + real rsum = radius[i] + radius[j]; + if (r2 <= rsum*rsum) { + int stopping_index = next_index_for_stopping_condition(); + if(stopping_index >= 0) { + set_stopping_condition_info(stopping_index, + COLLISION_DETECTION); + set_stopping_condition_particle_index(stopping_index, + 0, ident[i]); + set_stopping_condition_particle_index(stopping_index, + 1, ident[j]); + } + } + } + + r2 += eps2; + real r = sqrt(r2); + real r3 = r * r2; + + // Add the {i,j} contribution to the total potential energy. + + *epot -= mass[i] * mass[j] / r; + potential[i] = -mass[j] / r; + potential[j] = -mass[i] / r; + + // Add the {j (i)} contribution to the {i (j)} acc. + + real da[NDIM]; + for (int k = 0; k < NDIM ; k++) { + da[k] = rji[k] / r3; + } + for (int k = 0; k < NDIM ; k++) { + acc[i][k] += mass[j] * da[k]; + acc[j][k] -= mass[i] * da[k]; + } + + if (get_coll) { + + // First collision time estimate is based on unaccelerated + // linear motion. + + coll_est_q = (r2*r2) / (v2*v2); + if (coll_time_q > coll_est_q) + coll_time_q = coll_est_q; + + // Second collision time estimate is based on free-fall. + + real da2 = 0; + for (int k = 0; k < NDIM ; k++) + da2 += da[k] * da[k]; + + real mij = mass[i] + mass[j]; + da2 *= mij * mij; + + coll_est_q = r2/da2; + if (coll_time_q > coll_est_q) + coll_time_q = coll_est_q; + } + } + } + + if (get_coll) + *coll_time = pow(coll_time_q, 0.25); +} + +inline void step_symp(int n, int kk, real *c, real *d, real dt, + real *epot, real *coll_time) +{ + // Generic code to take a symplectic step (see 3, 4, 5, 6, 8 + // below). Note that, in *all* cases, sum(c) = sum(d) = 1. The + // check is below, but the result is important in determining how + // to distribute mass loss. + +#if 0 + static int count = 0; + if (count == 0) { + real ctot = 0, dtot = 0; + for (int k = 0; k < kk; k++) { + ctot += c[k]; + dtot += d[k]; + } + PRC(ctot); PRL(dtot); + count = 1; + } +#endif + + for (int j = 0; j < kk; j++) { + if (d[j] != 0) { + real ddt = d[j]*dt; + get_acc_pot_coll(epot, coll_time, (eta > 0 && j == kk-1)); + for (int i = 0; i < n ; i++) + for (int k = 0; k < NDIM ; k++) + vel[i][k] += ddt*acc[i][k]; + } + real cdt = c[j]*dt; + for (int i = 0; i < n ; i++) { + mass[i] += cdt*dmdt[i]; // mass follows pos + for (int k = 0; k < NDIM ; k++) + pos[i][k] += cdt*vel[i][k]; + } + } + t += dt; +} + +void evolve_step1(real dt, real *epot, real *coll_time) +{ + // Implicit Euler scheme. + + static const int k1 = 1; + static real c1[k1] = {1}; + static real d1[k1] = {1}; + + step_symp(ident.size(), k1, c1, d1, dt, epot, coll_time); +} + +void evolve_step2(real dt, real *epot, real *coll_time) +{ + // Second-order predictor-corrector scheme. Assume acc is already + // set on entry. + + int n = ident.size(); + real (*old_acc)[NDIM] = new real[n][NDIM]; + + for (int i = 0; i < n ; i++) + for (int k = 0; k < NDIM ; k++) + old_acc[i][k] = acc[i][k]; + + // Predict. + + for (int i = 0; i < n ; i++) { + mass[i] += dmdt[i]*dt; + for (int k = 0; k < NDIM ; k++) + pos[i][k] += (vel[i][k] + acc[i][k]*dt/2) * dt; + } + + get_acc_pot_coll(epot, coll_time, (eta > 0)); + + // Correct. Note that old_acc used mass at the start of the step, + // acc uses mass at the end. + + for (int i = 0; i < n ; i++) + for (int k = 0; k < NDIM ; k++) + vel[i][k] += (old_acc[i][k] + acc[i][k]) * dt/2; + + t += dt; + delete[] old_acc; +} + +void evolve_step3(real dt, real *epot, real *coll_time) +{ + // Third-order symplectic scheme (Ruth 1983). + + static const int k3 = 3; + static real c3[k3] = {2./3, -2./3, 1.0}; + static real d3[k3] = {7./24, 3./4, -1./24}; + + step_symp(ident.size(), k3, c3, d3, dt, epot, coll_time); +} + +void evolve_step4(real dt, real *epot, real *coll_time) +{ + // Fourth-order symplectic scheme (Yoshida 1990). + + static const int k4 = 4; + static const real p = pow(2., 1./3); + static const real q = 1 - p; + static const real r = 4 - 2*p; + static real c4[k4] = {1/r, q/r, q/r, 1/r}; + static real d4[k4] = {0., 2/r, -2*p/r, 2/r}; + + step_symp(ident.size(), k4, c4, d4, dt, epot, coll_time); +} + +void evolve_step5(real dt, real *epot, real *coll_time) +{ + // Fifth-order symplectic scheme (Tselios & Simos 2013). + // Optimized for orbital applications. + + static const int k5 = 7; + static real c5[k5] + = {-0.402020995028838599420412333241250172914690575978880873429, + 0.345821780864741783378055242038676806930765132085822482512, + 0.400962967485371350147918025877657753577504227492190779513, + 0.980926531879316517259793318227431991923428491844523669724, + -1.362064898669775624786044007840908597402026042205084284026, + 0.923805029000837468447500070054064432491178527428114178991, + 0.112569584468347104973189684884327785393840239333314075493}; + static real d5[k5] + = { 0.47501834514453949720351208570106713494289203770372938037, + 0.021856594741098449005512783774683495267598355789295971623, + -0.334948298035883491345320878224434762455516821029015086331, + 0.51263817465269673604202785657395553607442158325539698102, + -0.011978701020553903586622444048386301410473649207894475166, + -0.032120004263046859169923904393901683486678946201463277409, + 0.36953388878114957185081450061701658106775743968995046842}; + + step_symp(ident.size(), k5, c5, d5, dt, epot, coll_time); +} + +void initialize_yosh(int mm, real *w, int kk, real *c, real *d) +{ + // Yoshida initialization of high-order integration coefficients. + // Array w is of length mm; arrays c and d are of length kk. + + real w0 = 1; + for (int m = 0; m < mm; m++) w0 -= 2*w[m]; + + c[0] =c[kk-1] = w[mm-1]/2; + for (int m = 1; m < mm; m++) + c[m] = c[kk-m-1] = (w[mm-m]+w[mm-m-1])/2; + c[mm] = c[mm+1] = (w[0]+w0)/2; + + // First element of dd is undefined by Yoshida -- 0 seems to work. + + for (int m = 1; m <= mm; m++) + d[m] = d[kk-m] = w[mm-m]; + d[mm+1] = w0; +} + +void evolve_step6(real dt, real *epot, real *coll_time) +{ + // Sixth-order symplectic scheme (Yoshida 1990). Yoshida gives + // three solutions; the first (A) is most (x10) accurate. + + static const int m6 = 3; + static real w6[m6] + = {-0.117767998417887e1, 0.235573213359357e0, 0.784513610477560e0}; + // w6 = {-0.213228522200144e1, 0.426068187079180e-2, 0.143984816797678e1}; + // w6 = {0.152886228424922e-2, -0.214403531630539e1, 0.144778256239930e1}; + + static const int k6 = 2*m6+2; + static real c6[k6] = {0}; + static real d6[k6] = {}; + if (c6[0] == 0) initialize_yosh(m6, w6, k6, c6, d6); + + step_symp(ident.size(), k6, c6, d6, dt, epot, coll_time); +} + +void evolve_step8(real dt, real *epot, real *coll_time) +{ + // Eighth-order symplectic (Yoshida 1990). As listed, they are + // approximately in order of increasing accuracy. Choice 1 + // (Yoshida solution A) is substantially less accurate than the + // others, and is actually less accurate than the 6th-order scheme + // for reasonable step choices. Choices 4 and 5 (Yoshida + // solutions D and E) are roughly 1000 times more accurate than + // choice 1 for my standard test problem (Duffing, dx = 0.01). + // Choice 4 is 10 times more accurate for longer steps (dx = 0.1 - + // 0.03) + + static const int m8 = 7; + + // w8 = {-0.161582374150097e1, -0.244699182370524e1, -0.716989419708120e-2, + // 0.244002732616735e1, 0.157739928123617e0, 0.182020630970714e1, + // 0.10424262086999e1} + + // w8 = {-0.169248587770116e-2, 0.289195744315849e1, 0.378039588360192e-2, + // -0.289688250328827e1, 0.289105148970595e1, -0.233864815101035e1, + // 0.148819229202922e1} + + // w8 = { 0.311790812418427e0, -0.155946803821447e1, -0.167896928259640e1, + // 0.166335809963315e1, -0.106458714789183e1, 0.136934946416871e1, + // 0.629030650210433e0} + + static real w8[m8] + = { 0.102799849391985e0, -0.196061023297549e1, 0.193813913762276e1, + -0.158240635368243e0, -0.144485223686048e1, 0.253693336566229e0, + 0.914844246229740e0}; + + // w8 = { 0.227738840094906e-1, 0.252778927322839e1, -0.719180053552772e-1, + // 0.536018921307285e-2, -0.204809795887393e1, 0.107990467703699e0, + // 0.130300165760014e1} + + static const int k8 = 2*m8+2; + static real c8[k8] = {0}; + static real d8[k8] = {}; + if (c8[0] == 0) initialize_yosh(m8, w8, k8, c8, d8); + + step_symp(ident.size(), k8, c8, d8, dt, epot, coll_time); +} + +void evolve_step10(real dt, real *epot, real *coll_time) +{ + // Tenth-order symplectic (Tsitouras 1998). + + static const int m10 = 16; + static real w10[m10] = { + 0.02690013604768968151437422144441685467297755661, + 0.939801567135683337900037741418097674632505563, + -0.00803583920385358749646880826318191806393661063, + -0.866485197373761372803661767454208401679117010, + 0.1023112911193598731078563285067131541328142449, + -0.1970772151393080101376018465105491958660525085, + 0.617877713318069357335731125307019691019646679, + 0.1907272896000121001605903836891198270441436012, + 0.2072605028852482559382954630002620777969060377, + -0.395006197760920667393122535979679328161187572, + -0.582423447311644594710573905438945739845940956, + 0.742673314357319863476853599632017373530365297, + 0.1643375495204672910151440244080443210570501579, + -0.615116639060545182658778437156157368647972997, + 0.2017504140367640350582861633379013481712172488, + 0.45238717224346720617588658607423353932336395045}; + + static const int k10 = 2*m10+2; + static real c10[k10] = {0}; + static real d10[k10] = {}; + if (c10[0] == 0) initialize_yosh(m10, w10, k10, c10, d10); + + step_symp(ident.size(), k10, c10, d10, dt, epot, coll_time); +} + +int evolve_system(real t_end) +{ + real epot; // potential energy of the n-body system + real coll_time; // collision (close encounter) time scale + int n = ident.size(); + int i, k; + + get_acc_pot_coll(&epot, &coll_time); + + while (t < t_end) { + real dt = calculate_step(coll_time); + if (t+dt > t_end) dt = t_end - t; + integrate(dt, &epot, &coll_time); + } + + return 0; +} + +int get_n_steps() +{ + return nsteps; +} + +int cleanup_code() +{ + reset_stopping_conditions(); + + ident.clear(); + vel.clear(); + pos.clear(); + mass.clear(); + acc.clear(); + potential.clear(); + radius.clear(); + + begin_time = 0.0; + max_identifier = 0; + nsteps = 0; + eta = ETA; + + einit = 0; + init_flag = false; + eps2 = 0; + + id_coll_primary = -1; + id_coll_secondary = -1; + + flag_collision = true; + reeval = false; + + potential_energy = 0.0; + t = 0; + + return 0; +} + + +//----------------------------------------------------------------------- +// +// AMUSE interface functions: +// +//----------------------------------------------------------------------- + +int get_integrator(int *_i) +{ + *_i = which_int; + return 0; +} + +void set_integration_scheme() { + if (which_int == 1) + integrate = &evolve_step1; + else if (which_int == 2) + integrate = &evolve_step2; + else if (which_int == 3) + integrate = &evolve_step3; + else if (which_int == 4) + integrate = &evolve_step4; + else if (which_int == 5) + integrate = &evolve_step5; + else if (which_int == 6) + integrate = &evolve_step6; + else if (which_int == 8) + integrate = &evolve_step8; + else if (which_int == 10) + integrate = &evolve_step10; + else { + cout << "warning: unknown integrator; using evolve_step2" + << endl << flush; + integrate = &evolve_step2; + } +} + +int set_integrator(int _i) +{ + which_int = _i; + set_integration_scheme(); + return 0; +} + +int get_eps2(double *_epsilon_squared) +{ + *_epsilon_squared = eps2; + return 0; +} + +int set_eps2(double _epsilon_squared) +{ + eps2 = _epsilon_squared; + return 0; +} + +int get_timestep_parameter(double *_eta) +{ + *_eta = eta; + return 0; +} + +int set_timestep_parameter(double _eta) +{ + eta = _eta; + timestep = 0; + return 0; +} + +int get_timestep(double *_timestep) +{ + *_timestep = timestep; + return 0; +} + +int set_timestep(double _timestep) +{ + timestep = _timestep; + eta = 0; + return 0; +} + +int get_time(double *_t) +{ + *_t = t; + return 0; +} + +int set_begin_time(double input) +{ + begin_time = input; + return 0; +} + +int get_begin_time(double * output) +{ + *output = begin_time; + return 0; +} + +int new_particle(int *id, double _mass, + double x, double y, double z, + double vx, double vy, double vz, double _radius) +{ + int new_element; + + // Always add to the end of the list. + + new_element = max_identifier++; + ident.push_back(new_element); // generally want to specify id + + mass.push_back(_mass); + dmdt.push_back(0.0); // default = 0; set with set_dmdt + radius.push_back(_radius); + pos.push_back(vec(x, y, z)); + vel.push_back(vec(vx, vy, vz)); + acc.push_back(vec(0,0,0)); + potential.push_back(0); + + *id = new_element; + + return 0; +} + +int delete_particle(int id) +{ + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + + if (i < ident.size()) { + ident.erase(ident.begin()+i); + mass.erase(mass.begin()+i); + dmdt.erase(mass.begin()+i); + radius.erase(radius.begin()+i); + pos.erase(pos.begin()+i); + vel.erase(vel.begin()+i); + acc.erase(acc.begin()+i); + potential.erase(potential.begin()+i); + return 0; + } else + return -1; +} + +int get_state(int id, double *_mass, double *x, double *y, double *z, + double *vx, double *vy, double *vz, double *_radius) +{ + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + + if (i < (int) ident.size()) { + vec position = pos[i]; + vec velocity = vel[i]; + + //*id_out = id; + *_mass = mass[i]; + *_radius = radius[i]; + *x = position[0]; + *y = position[1]; + *z = position[2]; + *vx = velocity[0]; + *vy = velocity[1]; + *vz = velocity[2]; + return 0; + } else + return -1; +} + +int set_state(int id, double _mass, double x, double y, double z, + double vx, double vy, double vz, double _radius) +{ + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + + if (i < ident.size()) { + mass[i] = _mass; + radius[i] = _radius; + pos[i] = vec(x,y,z); + vel[i] = vec(vx, vy, vz); + return 0; + } else + return -1; +} + +int get_mass(int id, double *_mass) +{ + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + if (i < ident.size()) { + *_mass = mass[i]; + return 0; + } else + return -1; +} + +int set_mass(int id, double _mass) +{ + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + if (i < ident.size()) { + mass[i] = _mass; + return 0; + } else + return -1; +} + +int get_dmdt(int id, double *_dmdt) +{ + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + if (i < ident.size()) { + *_dmdt = dmdt[i]; + return 0; + } else + return -1; +} + +int set_dmdt(int id, double _dmdt) +{ + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + if (i < ident.size()) { + dmdt[i] = _dmdt; + return 0; + } else + return -1; +} + +int get_radius(int id, double *_radius) +{ + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + if (i < ident.size()) { + *_radius = radius[i]; + return 0; + } else + return -1; +} + +int set_radius(int id, double _radius) +{ + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + if (i < ident.size()) { + radius[i] = _radius; + return 0; + } else + return -1; +} + +int get_position(int id, double *x, double *y, double *z) +{ + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + if (i < ident.size()) { + *x = pos[i][0]; + *y = pos[i][1]; + *z = pos[i][2]; + return 0; + } else + return -2; +} + +int set_position(int id, double x, double y, double z) +{ + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + if (i < ident.size()) { + pos[i] = vec(x, y, z); + return 0; + } else + return -1; +} + +int get_velocity(int id, double *vx, double *vy, double *vz) +{ + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + if (i < ident.size()) { + *vx = vel[i][0]; + *vy = vel[i][1]; + *vz = vel[i][2]; + return 0; + } else + return -2; +} + +int set_velocity(int id, double vx, double vy, double vz) +{ + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + if (i < ident.size()) { + vel[i] = vec(vx,vy,vz); + return 0; + } else + return -1; +} + +int get_acceleration(int id, double *ax, double *ay, double *az) +{ + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + if (i < ident.size()) { + *ax = acc[i][0]; + *ay = acc[i][1]; + *az = acc[i][2]; + return 0; + } else + return -2; +} + +int evolve_model(double t_end) +{ + evolve_system(t_end); + return 0; +} + +int initialize_code() +{ + which_int = 2; + set_integration_scheme(); + begin_time = 0.0; + + initialize_stopping_conditions(); + + // AMUSE STOPPING CONDITIONS SUPPORT + set_support_for_condition(COLLISION_DETECTION); + set_support_for_condition(TIMEOUT_DETECTION); + set_support_for_condition(NUMBER_OF_STEPS_DETECTION); + set_support_for_condition(OUT_OF_BOX_DETECTION); + // ----------------------- + + return 0; +} + +int get_kinetic_energy(double *kinetic_energy) +{ + int n = ident.size(); + real ekin = 0; + for (int i = 0; i < n ; i++) { + for (int k = 0; k < NDIM ; k++) { + real v = vel[i][k]; + ekin += mass[i] * v * v; + } + } + *kinetic_energy = 0.5*ekin; + return 0; +} + +int get_potential_energy(double *value) +{ + int n = ident.size(); + real epot, coll_time; + get_acc_pot_coll(&potential_energy, &coll_time); + *value = potential_energy; + + return 0; +} + +int get_potential(int id, double *value) +{ + unsigned int i = find(ident.begin(), ident.end(), id) - ident.begin(); + if (i < ident.size()) { + *value = potential[i]; + return 0; + } else { + *value = 0.0; + return -1; + } +} + +int get_potential_at_point(double eps, + double x, double y, double z, + double *phi) +{ + int n = ident.size(); + double rx,ry,rz,r; + *phi = 0.0; + + for (int i = 0; i< n; i++) { + rx = pos[i][0]-x; + ry = pos[i][1]-y; + rz = pos[i][2]-z; + r = sqrt(rx*rx+ry*ry+rz*rz + eps2); + *phi -= mass[i]/r; + } + + return 0; +} + +int get_gravity_at_point(double eps, + double x, double y, double z, + double *ax, double *ay, double *az) +{ + int n = ident.size(); + double rx, ry, rz, r3, r2, r, F; + + *ax = 0; + *ay = 0; + *az = 0; + + for (int i = 0; i/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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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" + if (eval "$as_required") 2>/dev/null +then : + as_have_required=yes +else $as_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-symple' +PACKAGE_TARNAME='amuse-symple' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-symple 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +FOUND_AMUSE_MPI +AMUSE_MPI_LIBS +AMUSE_MPI_CFLAGS +FOUND_STOPCONDMPI +STOPCONDMPI_LIBS +STOPCONDMPI_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +RANLIB +AR +target_os +target_vendor +target_cpu +target +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +ac_ct_CXX +CXXFLAGS +CXX +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCONDMPI_CFLAGS +STOPCONDMPI_LIBS +AMUSE_MPI_CFLAGS +AMUSE_MPI_LIBS +MPICC +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-symple 1.0 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/amuse-symple] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-symple 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + 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 + CXX C++ compiler command + CXXFLAGS C++ compiler flags + 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 + STOPCONDMPI_CFLAGS + C compiler flags for STOPCONDMPI, overriding pkg-config + STOPCONDMPI_LIBS + linker flags for STOPCONDMPI, overriding pkg-config + AMUSE_MPI_CFLAGS + C compiler flags for AMUSE_MPI, overriding pkg-config + AMUSE_MPI_LIBS + linker flags for AMUSE_MPI, overriding pkg-config + MPICC MPI C compiler command + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-symple configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-symple $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set the worker language + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + +# Find tools for creating static libraries + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + + +# Find AMUSE libraries + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCONDMPI_CFLAGS" + amuse_save_LIB_LIBS="$STOPCONDMPI_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing get_set_conditions_" >&5 +printf %s "checking for library containing get_set_conditions_... " >&6; } +if test ${ac_cv_search_get_set_conditions_+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char get_set_conditions_ (); +int +main (void) +{ +return get_set_conditions_ (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcondmpi +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_get_set_conditions_=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_get_set_conditions_+y} +then : + break +fi +done +if test ${ac_cv_search_get_set_conditions_+y} +then : + +else $as_nop + ac_cv_search_get_set_conditions_=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_get_set_conditions_" >&5 +printf "%s\n" "$ac_cv_search_get_set_conditions_" >&6; } +ac_res=$ac_cv_search_get_set_conditions_ +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCONDMPI="yes" + STOPCONDMPI_LIBS="$LIBS" + STOPCONDMPI_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCONDMPI" >&5 +printf %s "checking for STOPCONDMPI... " >&6; } + +if test -n "$STOPCONDMPI_CFLAGS"; then + pkg_cv_STOPCONDMPI_CFLAGS="$STOPCONDMPI_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcondmpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcondmpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCONDMPI_CFLAGS=`$PKG_CONFIG --cflags "stopcondmpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCONDMPI_LIBS"; then + pkg_cv_STOPCONDMPI_LIBS="$STOPCONDMPI_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcondmpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcondmpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCONDMPI_LIBS=`$PKG_CONFIG --libs "stopcondmpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCONDMPI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcondmpi" 2>&1` + else + STOPCONDMPI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcondmpi" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCONDMPI_PKG_ERRORS" >&5 + + + FOUND_STOPCONDMPI="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCONDMPI="no" + +else + STOPCONDMPI_CFLAGS=$pkg_cv_STOPCONDMPI_CFLAGS + STOPCONDMPI_LIBS=$pkg_cv_STOPCONDMPI_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCONDMPI="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCONDMPI}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCONDMPI_CFLAGS="${STOPCONDMPI_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCONDMPI_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCONDMPI_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$AMUSE_MPI_CFLAGS" + amuse_save_LIB_LIBS="$AMUSE_MPI_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing get_comm_world" >&5 +printf %s "checking for library containing get_comm_world... " >&6; } +if test ${ac_cv_search_get_comm_world+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char get_comm_world (); +int +main (void) +{ +return get_comm_world (); + ; + return 0; +} +_ACEOF +for ac_lib in '' amuse_mpi +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_get_comm_world=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_get_comm_world+y} +then : + break +fi +done +if test ${ac_cv_search_get_comm_world+y} +then : + +else $as_nop + ac_cv_search_get_comm_world=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_get_comm_world" >&5 +printf "%s\n" "$ac_cv_search_get_comm_world" >&6; } +ac_res=$ac_cv_search_get_comm_world +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_AMUSE_MPI="yes" + AMUSE_MPI_LIBS="$LIBS" + AMUSE_MPI_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for AMUSE_MPI" >&5 +printf %s "checking for AMUSE_MPI... " >&6; } + +if test -n "$AMUSE_MPI_CFLAGS"; then + pkg_cv_AMUSE_MPI_CFLAGS="$AMUSE_MPI_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"amuse_mpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "amuse_mpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_AMUSE_MPI_CFLAGS=`$PKG_CONFIG --cflags "amuse_mpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$AMUSE_MPI_LIBS"; then + pkg_cv_AMUSE_MPI_LIBS="$AMUSE_MPI_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"amuse_mpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "amuse_mpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_AMUSE_MPI_LIBS=`$PKG_CONFIG --libs "amuse_mpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + AMUSE_MPI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "amuse_mpi" 2>&1` + else + AMUSE_MPI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "amuse_mpi" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$AMUSE_MPI_PKG_ERRORS" >&5 + + + FOUND_AMUSE_MPI="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_AMUSE_MPI="no" + +else + AMUSE_MPI_CFLAGS=$pkg_cv_AMUSE_MPI_CFLAGS + AMUSE_MPI_LIBS=$pkg_cv_AMUSE_MPI_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_AMUSE_MPI="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_AMUSE_MPI}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + AMUSE_MPI_CFLAGS="${AMUSE_MPI_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + AMUSE_MPI_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + AMUSE_MPI_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + +# Find external dependencies +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 + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 + + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-symple $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-symple config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_symple/support/configure.ac b/src/amuse_symple/support/configure.ac new file mode 100644 index 0000000000..0226ea229e --- /dev/null +++ b/src/amuse_symple/support/configure.ac @@ -0,0 +1,39 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-symple], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set the worker language +AC_PROG_CC() +AC_PROG_CXX() + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + + +# Find AMUSE libraries +AMUSE_LIB_STOPCONDMPI() +AMUSE_LIB_AMUSE_MPI() + + +# Find external dependencies +AC_LANG_PUSH([C]) +AX_MPI() +AC_LANG_POP([C]) + +AC_LANG_PUSH([C++]) +AX_MPI() +AC_LANG_POP([C++]) + + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_symple/support/shared b/src/amuse_symple/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_symple/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/community/symple/test.py b/src/amuse_symple/tests/test.py similarity index 97% rename from src/amuse/community/symple/test.py rename to src/amuse_symple/tests/test.py index 8363c0ef81..d5998de720 100644 --- a/src/amuse/community/symple/test.py +++ b/src/amuse_symple/tests/test.py @@ -1,5 +1,5 @@ from amuse.lab import * -from interface import symple +from amuse.community.symple.interface import symple from matplotlib import pyplot as plt import sys, math diff --git a/src/amuse/community/symple/test_si.py b/src/amuse_symple/tests/test_si.py similarity index 96% rename from src/amuse/community/symple/test_si.py rename to src/amuse_symple/tests/test_si.py index 35d9cc14da..095ed3cd78 100644 --- a/src/amuse/community/symple/test_si.py +++ b/src/amuse_symple/tests/test_si.py @@ -1,5 +1,5 @@ from amuse.lab import * -from .interface import symple +from amuse_symple.interface import symple n = 10 diff --git a/src/amuse_symple/tests/test_symple.py b/src/amuse_symple/tests/test_symple.py new file mode 100644 index 0000000000..a26a043a21 --- /dev/null +++ b/src/amuse_symple/tests/test_symple.py @@ -0,0 +1,7 @@ +def test_tests(): + """There are no automatic tests yet for symple. + + Pytest returns an error if it finds no test at all, so here's a dummy test to give + it something to do. Some real tests would be quite welcome. + """ + pass diff --git a/src/amuse/community/symple/vec3.h b/src/amuse_symple/vec3.h similarity index 100% rename from src/amuse/community/symple/vec3.h rename to src/amuse_symple/vec3.h diff --git a/src/amuse_tupan/.gitignore b/src/amuse_tupan/.gitignore new file mode 100644 index 0000000000..c77918f236 --- /dev/null +++ b/src/amuse_tupan/.gitignore @@ -0,0 +1,2 @@ +tupan.tar.gz + diff --git a/src/amuse_tupan/Makefile b/src/amuse_tupan/Makefile new file mode 100644 index 0000000000..e63c64f384 --- /dev/null +++ b/src/amuse_tupan/Makefile @@ -0,0 +1,72 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Downloading the code +tupan.tar.gz: + $(DOWNLOAD) https://github.com/ggf84/tupan/archive/refs/heads/master.tar.gz >$@ + +src/tupan: tupan.tar.gz + tar xf $< + mv tupan-master src/tupan + # TODO: does the configured directory work? + cp tupan.cfg src/tupan/ + + +# Building and installing the tupan Python package + +# Ideally, Tupan would have Conda and PyPI packages, so that we could just have it as a +# top-level dependency, and it would also help if it had its dependencies in the +# setup.py metadata, but this works. Note that we don't install everything in Tupan's +# requirements.txt, because not all of them are needed for use with AMUSE. + +.PHONY: install_tupan +install_tupan: | src/tupan +ifneq ($(CONDA_PREFIX),) + conda install --yes cffi setuptools numpy scipy matplotlib +else ifneq ($(VIRTUAL_ENV),) + pip install cffi setuptools numpy scipy matplotlib +endif + cd src/tupan && pip install . + + +# Building the workers +tupan_worker: interface.py + PYTHONPATH=. amusifier --type=py --mode=mpi -x interface TupanInterface TupanImplementation -o $@ + + +# Which packages contain which workers? +amuse-tupan_contains: tupan_worker + + +# Building and installing packages +develop-%: %_contains install_tupan + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains install_tupan + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + rm -rf *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache diff --git a/src/amuse_tupan/__init__.py b/src/amuse_tupan/__init__.py new file mode 100644 index 0000000000..dff5159274 --- /dev/null +++ b/src/amuse_tupan/__init__.py @@ -0,0 +1 @@ +from .interface import Tupan diff --git a/src/amuse_tupan/interface.py b/src/amuse_tupan/interface.py new file mode 100644 index 0000000000..2fc65c5c13 --- /dev/null +++ b/src/amuse_tupan/interface.py @@ -0,0 +1,619 @@ + + +from amuse.community import * +from amuse.community.interface.gd import GravitationalDynamicsInterface +from amuse.community.interface.gd import GravitationalDynamics +from amuse.community.interface.gd import SinglePointGravityFieldInterface +from amuse.community.interface.gd import GravityFieldCode +from amuse.rfi.core import PythonCodeInterface + +import sys +import os.path + +dirname=os.path.dirname(__file__) +sys.path.append(os.path.join(dirname,"install","lib","python"+sys.version[:3],"site-packages")) + +try: + from tupan.integrator import Integrator + from tupan.particles.allparticles import ParticleSystem + MODULES_MISSING = False +except ImportError as ex: + print(ex) + MODULES_MISSING = True + +""" +MyCodeImplementation is what needs to be adapted to each specific +community code, MyCodeInterface and MyCode do not need to be changed +for standard dynamics codes (except for changing the name). +""" + + +class TupanImplementation(object): + + def __init__(self): + self.eta = 0.03125 + self.current_time = 0.0 + self.eps2 = 0.0 + self.time_begin = 0.0 + self.integrator_method = "sia21h.dkd" + self.pn_order = 0 + self.clight = None + self.particles = [] + self.particles_initialized = False + + def initialize_code(self): + return 0 + + def cleanup_code(self): + return 0 + + def commit_parameters(self): + if not self.integrator_method in Integrator.PROVIDED_METHODS: + msg = "Unknown integrator: {0}. Provided methods are: {1}." + print(msg.format(self.integrator_method, + Integrator.PROVIDED_METHODS)) + return -1 + if self.pn_order > 0 and self.clight is None: + print("'clight' is None. Please set the speed of light " + "parameter 'clight' when using 'pn_order' > 0.") + return -1 + return 0 + + def commit_particles(self): + num = len(self.particles) + ps = ParticleSystem(nstars=num) + for (i, p) in enumerate(self.particles): + ps.id[i] = i + ps.mass[i] = p.mass + ps.radius[i] = p.radius # XXX: 'radius' is not yet used in Tupan. + ps.eps2[i] = self.eps2/2 + ps.rx[i] = p.rx + ps.ry[i] = p.ry + ps.rz[i] = p.rz + ps.vx[i] = p.vx + ps.vy[i] = p.vy + ps.vz[i] = p.vz + self.integrator = Integrator(self.eta, + self.time_begin, + ps, + method=self.integrator_method, + pn_order=self.pn_order, + clight=self.clight) + return 0 + + def synchronize_model(self): + return 0 + + def new_particle(self, index_of_the_particle, + mass, radius, x, y, z, vx, vy, vz): + ps = ParticleSystem(nstars=1) + ps.mass[0] = mass + ps.radius[0] = radius + ps.rx[0] = x + ps.ry[0] = y + ps.rz[0] = z + ps.vx[0] = vx + ps.vy[0] = vy + ps.vz[0] = vz + self.particles.append(ps) + index_of_the_particle.value = len(self.particles)-1 + return 0 + + def set_state(self, index_of_the_particle, + mass, radius, x, y, z, vx, vy, vz): + try: + i = index_of_the_particle + ps = self.integrator.particle_system + ps.mass[i] = mass + ps.radius[i] = radius + ps.rx[i] = x + ps.ry[i] = y + ps.rz[i] = z + ps.vx[i] = vx + ps.vy[i] = vy + ps.vz[i] = vz + return 0 + except Exception as exc: + print(str(exc)) + return -1 + + def set_mass(self, index_of_the_particle, mass): + try: + i = index_of_the_particle + ps = self.integrator.particle_system + ps.mass[i] = mass + return 0 + except Exception as exc: + print(str(exc)) + return -1 + + def set_radius(self, index_of_the_particle, radius): + try: + i = index_of_the_particle + ps = self.integrator.particle_system + ps.radius[i] = radius + return 0 + except Exception as exc: + print(str(exc)) + return -1 + + def set_position(self, index_of_the_particle, x, y, z): + try: + i = index_of_the_particle + ps = self.integrator.particle_system + ps.rx[i] = x + ps.ry[i] = y + ps.rz[i] = z + return 0 + except: + return -1 + + def set_velocity(self, index_of_the_particle, vx, vy, vz): + try: + i = index_of_the_particle + ps = self.integrator.particle_system + ps.vx[i] = vx + ps.vy[i] = vy + ps.vz[i] = vz + return 0 + except: + return -1 + + def get_state(self, index_of_the_particle, + mass, radius, x, y, z, vx, vy, vz): + try: + i = index_of_the_particle + ps = self.integrator.particle_system + mass.value = ps.mass[i] + radius.value = ps.radius[i] + x.value, y.value, z.value = ps.rx[i], ps.ry[i], ps.rz[i] + vx.value, vy.value, vz.value = ps.vx[i], ps.vy[i], ps.vz[i] + return 0 + except: + return -1 + + def get_mass(self, index_of_the_particle, mass): + try: + i = index_of_the_particle + ps = self.integrator.particle_system + mass.value = ps.mass[i] + return 0 + except: + return -1 + + def get_radius(self, index_of_the_particle, radius): + try: + i = index_of_the_particle + ps = self.integrator.particle_system + radius.value = ps.radius[i] + return 0 + except: + return -1 + + def get_position(self, index_of_the_particle, x, y, z): + try: + i = index_of_the_particle + ps = self.integrator.particle_system + x.value, y.value, z.value = ps.rx[i], ps.ry[i], ps.rz[i] + return 0 + except: + return -1 + + def get_velocity(self, index_of_the_particle, vx, vy, vz): + try: + i = index_of_the_particle + ps = self.integrator.particle_system + vx.value, vy.value, vz.value = ps.vx[i], ps.vy[i], ps.vz[i] + return 0 + except: + return -1 + + def get_kinetic_energy(self, kinetic_energy): + ps = self.integrator.particle_system + ke = ps.kinetic_energy + kinetic_energy.value = ke + return 0 + + def get_potential_energy(self, potential_energy): + ps = self.integrator.particle_system + pe = ps.potential_energy + potential_energy.value = pe + return 0 + + def get_total_mass(self, total_mass): + ps = self.integrator.particle_system + mtot = ps.total_mass + total_mass.value = mtot + return 0 + + def get_center_of_mass_position(self, x, y, z): + ps = self.integrator.particle_system + com_r = ps.com_r + x.value, y.value, z.value = com_r + return 0 + + def get_center_of_mass_velocity(self, vx, vy, vz): + ps = self.integrator.particle_system + com_v = ps.com_v + vx.value, vy.value, vz.value = com_v + return 0 + + def get_gravity_at_point(self, eps, x, y, z, ax, ay, az, length): + ax.value = 0.0 + ay.value = 0.0 + az.value = 0.0 + return -2 # Not implemented + + def get_potential_at_point(self, eps, x, y, z, phi, length): + phi.value = 0.0 + return -2 # Not implemented + + def evolve_model(self, t_end): + while (abs(self.integrator.time) < abs(t_end)): + self.integrator.evolve_step(t_end) + self.current_time = self.integrator.time + return 0 + + def set_eta(self, eta): + self.eta = eta + return 0 + + def get_eta(self, eta): + eta.value = self.eta + return 0 + + def set_time(self, time): + self.current_time = time + return 0 + + def get_time(self, time): + time.value = self.current_time + return 0 + + def set_eps2(self, epsilon_squared): + self.eps2 = epsilon_squared + return 0 + + def get_eps2(self, epsilon_squared): + epsilon_squared.value = self.eps2 + return 0 + + def set_begin_time(self, time_begin): + self.time_begin = time_begin + return 0 + + def get_begin_time(self, time_begin): + time_begin.value = self.time_begin + return 0 + + def set_integrator_method(self, integrator_method): + self.integrator_method = integrator_method + return 0 + + def get_integrator_method(self, integrator_method): + integrator_method.value = self.integrator_method + return 0 + + def set_pn_order(self, pn_order): + self.pn_order = pn_order + return 0 + + def get_pn_order(self, pn_order): + pn_order.value = self.pn_order + return 0 + + def set_clight(self, clight): + self.clight = clight + return 0 + + def get_clight(self, clight): + clight.value = self.clight + return 0 + + +class TupanInterface(PythonCodeInterface, + GravitationalDynamicsInterface, + SinglePointGravityFieldInterface): + + def __init__(self, **options): + PythonCodeInterface.__init__( + self, + TupanImplementation, + 'tupan_worker', + **options) + + @legacy_function + def new_particle(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter( + 'index_of_the_particle', + dtype='int32', + direction=function.OUT) + function.addParameter( + 'mass', + dtype='float64', + direction=function.IN, + description="The mass of the particle") + function.addParameter( + 'x', + dtype='float64', + direction=function.IN, + description="The initial position vector of the particle") + function.addParameter( + 'y', + dtype='float64', + direction=function.IN, + description="The initial position vector of the particle") + function.addParameter( + 'z', + dtype='float64', + direction=function.IN, + description="The initial position vector of the particle") + function.addParameter( + 'vx', + dtype='float64', + direction=function.IN, + description="The initial velocity vector of the particle") + function.addParameter( + 'vy', + dtype='float64', + direction=function.IN, + description="The initial velocity vector of the particle") + function.addParameter( + 'vz', + dtype='float64', + direction=function.IN, + description="The initial velocity vector of the particle") + function.addParameter( + 'radius', + dtype='float64', + direction=function.IN, + description="The radius of the particle", + default=0) + function.result_type = 'int32' + return function + + @legacy_function + def set_eta(): + function = LegacyFunctionSpecification() + function.addParameter( + 'eta', + dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_eta(): + function = LegacyFunctionSpecification() + function.addParameter( + 'eta', + dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_time(): + function = LegacyFunctionSpecification() + function.addParameter( + 'time', + dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_time(): + function = LegacyFunctionSpecification() + function.addParameter( + 'time', + dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_eps2(): + function = LegacyFunctionSpecification() + function.addParameter( + 'epsilon_squared', + dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_eps2(): + function = LegacyFunctionSpecification() + function.addParameter( + 'epsilon_squared', + dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_integrator_method(): + function = LegacyFunctionSpecification() + function.addParameter( + 'integrator_method', + dtype='string', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_integrator_method(): + function = LegacyFunctionSpecification() + function.addParameter( + 'integrator_method', + dtype='string', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_pn_order(): + function = LegacyFunctionSpecification() + function.addParameter( + 'pn_order', + dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_pn_order(): + function = LegacyFunctionSpecification() + function.addParameter( + 'pn_order', + dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_clight(): + function = LegacyFunctionSpecification() + function.addParameter( + 'clight', + dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_clight(): + function = LegacyFunctionSpecification() + function.addParameter( + 'clight', + dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + +class Tupan(GravitationalDynamics, GravityFieldCode): + + def __init__(self, convert_nbody=None, **options): + nbody_interface = TupanInterface(**options) + + GravitationalDynamics.__init__( + self, + nbody_interface, + convert_nbody, + **options + ) + + def define_state(self, handler): + GravitationalDynamics.define_state(self, handler) + GravityFieldCode.define_state(self, handler) + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_eta", + "set_eta", + "timestep_parameter", + "timestep parameter", + default_value=0.01 + ) + + handler.add_method_parameter( + "get_eps2", + "set_eps2", + "epsilon_squared", + "smoothing parameter for gravity calculations", + default_value=0.0 | nbody_system.length * nbody_system.length + ) + + handler.add_method_parameter( + "get_begin_time", + "set_begin_time", + "begin_time", + "model time to start the simulation at", + default_value=0.0 | nbody_system.time + ) + + handler.add_method_parameter( + "get_integrator_method", + "set_integrator_method", + "integrator_method", + "The method to use to integrate the evolution of the system", + default_value="sia21h.dkd" + ) + + handler.add_method_parameter( + "get_pn_order", + "set_pn_order", + "pn_order", + "Order of the Post-Newtonian corrections \ + (choices: [0, 2, 4, 5, 6, 7])", + default_value=0 + ) + + handler.add_method_parameter( + "get_clight", + "set_clight", + "clight", + "Speed of light to use in post-Newtonian corrections", + ) + + def define_methods(self, handler): + GravitationalDynamics.define_methods(self, handler) + + handler.add_method( + "get_eta", + (), + (handler.NO_UNIT, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_eta", + (handler.NO_UNIT,), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "get_time", + (), + (nbody_system.time, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_begin_time", + (nbody_system.time,), + (handler.ERROR_CODE,) + ) + handler.add_method( + "get_begin_time", + (), + (nbody_system.time, handler.ERROR_CODE,) + ) + + handler.add_method( + "get_eps2", + (), + (nbody_system.length * nbody_system.length, handler.ERROR_CODE,) + ) + + handler.add_method( + "set_eps2", + (nbody_system.length * nbody_system.length, ), + (handler.ERROR_CODE,) + ) + + handler.add_method( + "set_clight", + (nbody_system.speed,), + (handler.ERROR_CODE,) + ) + handler.add_method( + "get_clight", + (), + (nbody_system.speed, handler.ERROR_CODE,) + ) + + +### end of file ### diff --git a/src/amuse_tupan/packages/amuse-tupan.amuse_deps b/src/amuse_tupan/packages/amuse-tupan.amuse_deps new file mode 100644 index 0000000000..d3326d3583 --- /dev/null +++ b/src/amuse_tupan/packages/amuse-tupan.amuse_deps @@ -0,0 +1 @@ +c python download diff --git a/src/amuse_tupan/packages/amuse-tupan/amuse_tupan b/src/amuse_tupan/packages/amuse-tupan/amuse_tupan new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_tupan/packages/amuse-tupan/amuse_tupan @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_tupan/packages/amuse-tupan/pyproject.toml b/src/amuse_tupan/packages/amuse-tupan/pyproject.toml new file mode 100644 index 0000000000..b97973e6c2 --- /dev/null +++ b/src/amuse_tupan/packages/amuse-tupan/pyproject.toml @@ -0,0 +1,44 @@ +[project] +name = "amuse-tupan" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework", + "amuse_tupan" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_tupan/**/*.py"] +exclude = [ + "amuse_tupan/packages", + "amuse_tupan/support", + "amuse_tupan/src", + "amuse_tupan/tests" + ] +artifacts = ["amuse_tupan/tupan_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_tupan/tests/"] + +testpaths = ["amuse_tupan/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse_tupan/src/.gitignore b/src/amuse_tupan/src/.gitignore new file mode 100644 index 0000000000..81b0e562ea --- /dev/null +++ b/src/amuse_tupan/src/.gitignore @@ -0,0 +1,2 @@ +tupan + diff --git a/src/amuse_tupan/support/aclocal.m4 b/src/amuse_tupan/support/aclocal.m4 new file mode 100644 index 0000000000..8c960dbda5 --- /dev/null +++ b/src/amuse_tupan/support/aclocal.m4 @@ -0,0 +1,17 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_download.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) diff --git a/src/amuse_tupan/support/config.mk.in b/src/amuse_tupan/support/config.mk.in new file mode 100644 index 0000000000..de26c991fb --- /dev/null +++ b/src/amuse_tupan/support/config.mk.in @@ -0,0 +1,5 @@ +# Tools +DOWNLOAD = @DOWNLOAD@ +TAR = @TAR@ +BUNZIP2 = @BUNZIP2@ + diff --git a/src/amuse_tupan/support/configure b/src/amuse_tupan/support/configure new file mode 100755 index 0000000000..b586574be4 --- /dev/null +++ b/src/amuse_tupan/support/configure @@ -0,0 +1,5144 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-tupan 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-tupan' +PACKAGE_TARNAME='amuse-tupan' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-tupan 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +BUNZIP2 +TAR +DOWNLOAD +CURL +WGET +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-tupan 1.0 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/amuse-tupan] + --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 amuse-tupan 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + 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 + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-tupan configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-tupan $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Find the compiler(s) + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + +# Find tools to download and unpack with + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}wget", so it can be a program name with args. +set dummy ${ac_tool_prefix}wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$WGET"; then + ac_cv_prog_WGET="$WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="${ac_tool_prefix}wget" + printf "%s\n" "$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 +WGET=$ac_cv_prog_WGET +if test -n "$WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $WGET" >&5 +printf "%s\n" "$WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_WGET"; then + ac_ct_WGET=$WGET + # Extract the first word of "wget", so it can be a program name with args. +set dummy wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_WGET"; then + ac_cv_prog_ac_ct_WGET="$ac_ct_WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="wget" + printf "%s\n" "$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_WGET=$ac_cv_prog_ac_ct_WGET +if test -n "$ac_ct_WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WGET" >&5 +printf "%s\n" "$ac_ct_WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_WGET" = x; then + WGET="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + WGET=$ac_ct_WGET + fi +else + WGET="$ac_cv_prog_WGET" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}curl", so it can be a program name with args. +set dummy ${ac_tool_prefix}curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CURL"; then + ac_cv_prog_CURL="$CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="${ac_tool_prefix}curl" + printf "%s\n" "$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 +CURL=$ac_cv_prog_CURL +if test -n "$CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CURL" >&5 +printf "%s\n" "$CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CURL"; then + ac_ct_CURL=$CURL + # Extract the first word of "curl", so it can be a program name with args. +set dummy curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CURL"; then + ac_cv_prog_ac_ct_CURL="$ac_ct_CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="curl" + printf "%s\n" "$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_CURL=$ac_cv_prog_ac_ct_CURL +if test -n "$ac_ct_CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CURL" >&5 +printf "%s\n" "$ac_ct_CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CURL" = x; then + CURL="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CURL=$ac_ct_CURL + fi +else + CURL="$ac_cv_prog_CURL" +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a wget or curl to download files with" >&5 +printf %s "checking for a wget or curl to download files with... " >&6; } + if test "x$WGET" != "x" + then + # The MESA SDK server rejects wget, this is the official work-around + DOWNLOAD="$WGET --progress=bar:force:noscroll --user-agent='' -O -" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + if test "x$CURL" != "x" + then + DOWNLOAD="$CURL -L" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + fi + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}tar", so it can be a program name with args. +set dummy ${ac_tool_prefix}tar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_TAR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$TAR"; then + ac_cv_prog_TAR="$TAR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_TAR="${ac_tool_prefix}tar" + printf "%s\n" "$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 +TAR=$ac_cv_prog_TAR +if test -n "$TAR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $TAR" >&5 +printf "%s\n" "$TAR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_TAR"; then + ac_ct_TAR=$TAR + # Extract the first word of "tar", so it can be a program name with args. +set dummy tar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_TAR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_TAR"; then + ac_cv_prog_ac_ct_TAR="$ac_ct_TAR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_TAR="tar" + printf "%s\n" "$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_TAR=$ac_cv_prog_ac_ct_TAR +if test -n "$ac_ct_TAR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_TAR" >&5 +printf "%s\n" "$ac_ct_TAR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_TAR" = x; then + TAR="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + TAR=$ac_ct_TAR + fi +else + TAR="$ac_cv_prog_TAR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}bunzip2", so it can be a program name with args. +set dummy ${ac_tool_prefix}bunzip2; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_BUNZIP2+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$BUNZIP2"; then + ac_cv_prog_BUNZIP2="$BUNZIP2" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_BUNZIP2="${ac_tool_prefix}bunzip2" + printf "%s\n" "$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 +BUNZIP2=$ac_cv_prog_BUNZIP2 +if test -n "$BUNZIP2"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $BUNZIP2" >&5 +printf "%s\n" "$BUNZIP2" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_BUNZIP2"; then + ac_ct_BUNZIP2=$BUNZIP2 + # Extract the first word of "bunzip2", so it can be a program name with args. +set dummy bunzip2; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_BUNZIP2+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_BUNZIP2"; then + ac_cv_prog_ac_ct_BUNZIP2="$ac_ct_BUNZIP2" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_BUNZIP2="bunzip2" + printf "%s\n" "$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_BUNZIP2=$ac_cv_prog_ac_ct_BUNZIP2 +if test -n "$ac_ct_BUNZIP2"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_BUNZIP2" >&5 +printf "%s\n" "$ac_ct_BUNZIP2" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_BUNZIP2" = x; then + BUNZIP2="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + BUNZIP2=$ac_ct_BUNZIP2 + fi +else + BUNZIP2="$ac_cv_prog_BUNZIP2" +fi + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-tupan $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-tupan config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_tupan/support/configure.ac b/src/amuse_tupan/support/configure.ac new file mode 100644 index 0000000000..7a6dced08c --- /dev/null +++ b/src/amuse_tupan/support/configure.ac @@ -0,0 +1,24 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-tupan], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Find the compiler(s) +AC_PROG_CC() + +# Find tools to download and unpack with +AMUSE_DOWNLOAD() +AC_CHECK_TOOL(TAR, tar) +AC_CHECK_TOOL(BUNZIP2, bunzip2) + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_tupan/support/shared b/src/amuse_tupan/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_tupan/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_tupan.py b/src/amuse_tupan/tests/test_tupan.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_tupan.py rename to src/amuse_tupan/tests/test_tupan.py index 41d40b8d84..bc488f1f2d 100644 --- a/src/amuse/test/suite/codes_tests/test_tupan.py +++ b/src/amuse_tupan/tests/test_tupan.py @@ -1,13 +1,13 @@ import numpy import math -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI from amuse.units import nbody_system, units, constants from amuse.datamodel import Particles from amuse.ic.plummer import new_plummer_model try: - from amuse.community.tupan.interface import TupanInterface, Tupan, MODULES_MISSING + from amuse_tupan.interface import TupanInterface, Tupan, MODULES_MISSING except ImportError: MODULES_MISSING = True @@ -375,7 +375,7 @@ def test07(self): self.assertAlmostEqual(tan_final_direction[-1], tan_initial_direction, 2) # Outcome is most sensitive to epsilon_squared when epsilon_squared = d(earth, sun)^2 delta = [abs(tan_final_direction[i+1]-tan_final_direction[i]) for i in range(len(tan_final_direction)-1)] - self.assertEqual(delta[len(tan_final_direction)/2 - 1], max(delta)) + self.assertEqual(delta[len(tan_final_direction)//2 - 1], max(delta)) def xtest08(self): if MODULES_MISSING: diff --git a/src/amuse/community/tupan/tupan.cfg b/src/amuse_tupan/tupan.cfg similarity index 100% rename from src/amuse/community/tupan/tupan.cfg rename to src/amuse_tupan/tupan.cfg diff --git a/src/amuse_twobody/Makefile b/src/amuse_twobody/Makefile new file mode 100644 index 0000000000..aacf5024f8 --- /dev/null +++ b/src/amuse_twobody/Makefile @@ -0,0 +1,45 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +# Building the workers +twobody_worker: twobody.py + PYTHONPATH=. amusifier --type=py --mode=mpi -x interface TwoBodyInterface TwoBodyImplementation -o $@ + + +# Which packages contain which workers? +amuse-twobody_contains: twobody_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + rm -rf *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + diff --git a/src/amuse_twobody/__init__.py b/src/amuse_twobody/__init__.py new file mode 100644 index 0000000000..54cb0d550b --- /dev/null +++ b/src/amuse_twobody/__init__.py @@ -0,0 +1 @@ +from .interface import Twobody diff --git a/src/amuse_twobody/interface.py b/src/amuse_twobody/interface.py new file mode 100644 index 0000000000..bc53de2b81 --- /dev/null +++ b/src/amuse_twobody/interface.py @@ -0,0 +1,583 @@ +from amuse.community import * +from amuse.community.interface.gd import GravitationalDynamicsInterface +from amuse.community.interface.gd import GravitationalDynamics +from amuse.community.interface.gd import GravityFieldInterface +from amuse.community.interface.gd import GravityFieldCode +import copy,numpy +import numpy as math + +from amuse.units.quantities import zero + +# tbd: initial value for time_Radius solver + +from amuse.datamodel import Particles +from amuse.rfi.core import * +from functools import reduce +def stumpff_C(z): + if(z==0): + return 1/2. + if(z>0): + sz=math.sqrt(z) + return (1-math.cos(sz))/z + if(z<0): + sz=math.sqrt(-z) + return -(math.cosh(sz)-1)/z + +def stumpff_S(z): + if(z==0): + return 1/6. + if(z>0): + sz=math.sqrt(z) + return (sz-math.sin(sz))/sz**3 + if(z<0): + sz=math.sqrt(-z) + return (math.sinh(sz)-sz)/sz**3 + +def stumpff_C_prime(z): + return (stumpff_C(z)-3*stumpff_S(z))/2/z +def stumpff_S_prime(z): + return (1-stumpff_S(z)-2*stumpff_C(z))/2/z + +def lagrange_f(xi,r0,vr0,smu,alpha): + return 1.-xi**2/r0*stumpff_C(alpha*xi**2) +def lagrange_dfdxi(xi,r0,vr0,smu,alpha): + z=alpha*xi**2 + return xi/r0*(z*stumpff_S(z)-1) +def lagrange_g(xi,r0,vr0,smu,alpha): + z=alpha*xi**2 + return r0*vr0*(xi/smu)**2*stumpff_C(z)-r0*xi*z/smu*stumpff_S(z)+r0*xi/smu +def lagrange_dgdxi(xi,r0,vr0,smu,alpha): + z=alpha*xi**2 + return r0*vr0/smu*(xi/smu)*(1-z*stumpff_S(z))-z*r0/smu*stumpff_C(z)+r0/smu + +def universal_kepler(xi,r0,vr0,smu,alpha): + z=alpha*xi**2 + return (r0*vr0*xi**2*stumpff_C(z)/smu+ + (1-alpha*r0)*xi**3*stumpff_S(z)+r0*xi) + +def universal_kepler_dxi(xi,r0,vr0,smu,alpha): + z=alpha*xi**2 + return (r0*vr0*xi*(1-alpha*xi**2*stumpff_S(z))/smu + + (1-alpha*r0)*xi**2*stumpff_C(z)+r0) + +def universal_kepler_dxidxi(xi,r0,vr0,smu,alpha): + z=alpha*xi**2 +# return r0*vr0/smu-alpha*r0*vr0*xi**2/smu*stumpff_C(z)+\ +# (1-alpha*r0)*xi*(1-z*stumpff_S(z)) + return -alpha*universal_kepler(xi,r0,vr0,smu,alpha)+r0*vr0/smu+xi + +def newton(f,x0,fprime=None,args=(),tol=1.48e-8,maxiter=50): + if fprime is None: + print("provide fprime") + return x0 + i=0 + x=x0 + while (i0): + ra=p/(1-math.sqrt(1-p*alpha)) + if(radius > ra): + return dt,0 + + smu=math.sqrt(mu) + xi0=1/math.sqrt(alpha) + + def f(xi): + return universal_kepler_dxi(xi,r0,vr0,smu,alpha)-radius + def df(xi): + return universal_kepler_dxidxi(xi,r0,vr0,smu,alpha) + + xi,err=newton(f,xi0,fprime=df,tol=1.e-10) + + dt_coll=universal_kepler(xi,r0,vr0,smu,alpha)/smu + if(dt_coll > 0 and dt_coll < dt): + return dt_coll,1 + else: + return dt,0 + +def collision(radius,mu,pos0,vel0,dt): + return universal_time_radius_solver(radius,mu,pos0,vel0,dt) + +def universal_solver_newton(mu,pos0,vel0,dt): + smu=math.sqrt(mu) + + r0=math.sqrt(reduce(lambda x,y: x+ y**2,pos0,0)) + v0=math.sqrt(reduce(lambda x,y: x+ y**2,vel0,0)) + vr0=(reduce(lambda x,y: x+y, pos0*vel0,0))/r0 + alpha=2./r0-v0**2/mu + + if(alpha >= 0): + xi0=smu*alpha*dt + else: + xi0=math.sign(dt)/math.sqrt(-alpha)*math.log(1-2*mu*dt*alpha/((vr0*r0)+ + math.sign(dt)*smu/math.sqrt(-alpha)*(1-r0*alpha)) ) +# this last formula is 4.5.11 in bate et al., fundamentals of astrodynamics +# with +1 in the logarithm + dxi0=smu/r0*dt + if(abs(alpha*dxi0**2)<1): + xi0=dxi0 + + + def f(xi): + return universal_kepler(xi,r0,vr0,smu,alpha)-smu*dt + def df(xi): + return universal_kepler_dxi(xi,r0,vr0,smu,alpha) + + xi,err=newton(f,xi0,fprime=df,tol=1.e-10) +# print dt,xi,xi0 + + pos=pos0*lagrange_f(xi,r0,vr0,smu,alpha)+vel0*lagrange_g(xi,r0,vr0,smu,alpha) + r=math.sqrt(reduce(lambda x,y: x+ y**2,pos,0)) + vel=pos0*smu/r*lagrange_dfdxi(xi,r0,vr0,smu,alpha)+ \ + vel0*smu/r*lagrange_dgdxi(xi,r0,vr0,smu,alpha) + return pos,vel + + +def universal_solver(mu,pos0,vel0,dt): + smu=math.sqrt(mu) + + r0=math.sqrt(reduce(lambda x,y: x+ y**2,pos0,0)) + v0=math.sqrt(reduce(lambda x,y: x+ y**2,vel0,0)) + vr0=(reduce(lambda x,y: x+y, pos0*vel0,0))/r0 + alpha=2./r0-v0**2/mu + + if(alpha >= 0): + xi0=smu*alpha*dt + else: + xi0=math.sign(dt)/math.sqrt(-alpha)*math.log(1-2*mu*dt*alpha/((vr0*r0)+ + math.sign(dt)*smu/math.sqrt(-alpha)*(1-r0*alpha)) ) +# this last formula is 4.5.11 in bate et al., fundamentals of astrodynamics +# with +1 in the logarithm + dxi0=smu/r0*dt + if(abs(alpha*dxi0**2)<1): + xi0=dxi0 + + def f(xi): + return universal_kepler(xi,r0,vr0,smu,alpha)-smu*dt + def df(xi): + return universal_kepler_dxi(xi,r0,vr0,smu,alpha) + def ddf(xi): + return universal_kepler_dxidxi(xi,r0,vr0,smu,alpha) + + xi,err=laguerre(f,xi0,fprime=df,fprimeprime=ddf) +# print dt,xi,xi0 + + pos=pos0*lagrange_f(xi,r0,vr0,smu,alpha)+vel0*lagrange_g(xi,r0,vr0,smu,alpha) + r=math.sqrt(reduce(lambda x,y: x+ y**2,pos,0)) + vel=pos0*smu/r*lagrange_dfdxi(xi,r0,vr0,smu,alpha)+ \ + vel0*smu/r*lagrange_dgdxi(xi,r0,vr0,smu,alpha) + return pos,vel + + +class TwoBodyImplementation(object): + __G = 1.0 + + def __init__(self): + self.initialize_code() + + def initialize_code(self): + self.particles=[] + self.tnow=0.0 + self.begin_time_parameter = 0.0 + return 0 + + def cleanup_code(self): + self.particles=[] + return 0 + + def commit_parameters(self): + if self.tnow == 0.0: + self.tnow = self.begin_time_parameter + + return 0 + + def commit_particles(self): + return 0 + + def recommit_particles(self): + return 0 + + def synchronize_model(self): + return 0 + + def initialize(self): + pass + + + def new_particle(self, index_of_the_particle, mass, radius, x, y, z, vx, vy, vz): + index_of_the_particle.value = 0 + if( len(self.particles)>=2): + return -1 + self.particles.append( + { + 'mass': mass, + 'radius' : radius, + 'x' : x, + 'y' : y, + 'z' : z, + 'vx' : vx, + 'vy' : vy, + 'vz' : vz, + } + ) + + index_of_the_particle.value = len(self.particles)-1 + return 0 + + def set_state(self, index_of_the_particle, mass, radius, x, y, z, vx, vy, vz): + try: + particle = self.particles[index_of_the_particle] + particle['mass'] = mass + particle['radius'] = radius + particle['x'] =x + particle['y'] =y + particle['z'] =z + particle['vx'] =vx + particle['vy'] =vy + particle['vz'] =vz + return 0 + except: + return -1 + + def set_mass(self, index_of_the_particle, mass): + try: + particle = self.particles[index_of_the_particle] + particle['mass'] = mass + return 0 + except: + return -1 + + def set_velocity(self, index_of_the_particle, vx, vy, vz): + try: + particle = self.particles[index_of_the_particle] + particle['vx'] =vx + particle['vy'] =vy + particle['vz'] =vz + return 0 + except: + return -1 + + def set_position(self, index_of_the_particle, x, y, z): + try: + particle = self.particles[index_of_the_particle] + particle['x'] =x + particle['y'] =y + particle['z'] =z + return 0 + except: + return -1 + + + def get_state(self, index_of_the_particle, mass, radius, x, y, z, vx, vy, vz): + try: + particle = self.particles[index_of_the_particle] + mass.value = particle['mass'] + radius.value = particle['radius'] + x.value = particle['x'] + y.value = particle['y'] + z.value = particle['z'] + vx.value = particle['vx'] + vy.value = particle['vy'] + vz.value = particle['vz'] + return 0 + except: + return -1 + + def get_mass(self, index_of_the_particle, mass): + try: + particle = self.particles[index_of_the_particle] + mass.value = particle['mass'] + return 0 + except: + return -1 + + def get_radius(self, index_of_the_particle, radius): + try: + particle = self.particles[index_of_the_particle] + radius.value = particle['radius'] + return 0 + except: + return -1 + + def get_position(self, index_of_the_particle, x, y, z): + try: + particle = self.particles[index_of_the_particle] + x.value = particle['x'] + y.value = particle['y'] + z.value = particle['z'] + return 0 + except: + return -1 + + def get_velocity(self, index_of_the_particle, vx, vy, vz): + try: + particle = self.particles[index_of_the_particle] + vx.value = particle['vx'] + vy.value = particle['vy'] + vz.value = particle['vz'] + return 0 + except: + return -1 + + def get_time(self, time): + time.value = self.tnow + return 0 + + def get_kinetic_energy(self, kinetic_energy): + if(len(self.particles)!=1 and len(self.particles)!=2): + return -1 + + if(len(self.particles)==1): + return -2 + + if(len(self.particles)==2): + vel0=numpy.array( [self.particles[0]['vx'], + self.particles[0]['vy'], + self.particles[0]['vz']] ) + vel1=numpy.array( [self.particles[1]['vx'], + self.particles[1]['vy'], + self.particles[1]['vz']] ) + + v0=reduce(lambda x,y: x+ y**2,vel0,0) + v1=reduce(lambda x,y: x+ y**2,vel1,0) + + mass0=self.particles[0]['mass'] + mass1=self.particles[1]['mass'] + + kinetic_energy.value = 0.5*(mass0*v0+mass1*v1) + + return 0 + + def get_gravity_at_point(self, eps, x, y, z, ax, ay, az, npoints): + if(len(self.particles)==1): + return -2 + elif(len(self.particles)==2): + ax.value=0. + ay.value=0. + az.value=0. + for i in [0,1]: + mass=self.particles[i]['mass'] + xx=self.particles[i]['x'] + yy=self.particles[i]['y'] + zz=self.particles[i]['z'] + dr2=((xx-x)**2+(yy-y)**2+(zz-z)**2+eps**2) + + ax.value+=self.__G*mass*(xx-x)/dr2**1.5 + ay.value+=self.__G*mass*(yy-y)/dr2**1.5 + az.value+=self.__G*mass*(zz-z)/dr2**1.5 + + return 0 + else: + return -1 + + def get_potential_at_point(self, eps, x, y, z, phi, npoints): + if(len(self.particles)==1): + return -2 + elif(len(self.particles)==2): + phi.value = zero + for i in [0,1]: + mass=self.particles[i]['mass'] + xx=self.particles[i]['x'] + yy=self.particles[i]['y'] + zz=self.particles[i]['z'] + dr2=((xx-x)**2+(yy-y)**2+(zz-z)**2+eps**2) + + phi.value += -self.__G*mass/dr2**0.5 + return 0 + else: + return -1 + + + def get_begin_time(self, value_out): + value_out.value = self.begin_time_parameter + return 0 + + def set_begin_time(self, value_in): + self.begin_time_parameter = value_in + return 0 + + def get_potential_energy(self, potential_energy): + if(len(self.particles)!=1 and len(self.particles)!=2): + return -1 + + if(len(self.particles)==1): + return -2 + if(len(self.particles)==2): + pos0=numpy.array( [self.particles[0]['x'], + self.particles[0]['y'], + self.particles[0]['z']] ) + pos1=numpy.array( [self.particles[1]['x'], + self.particles[1]['y'], + self.particles[1]['z']] ) + dpos=pos0-pos1 + mass0=self.particles[0]['mass'] + mass1=self.particles[1]['mass'] + r=math.sqrt(reduce(lambda x,y: x+ y**2,dpos,0)) + potential_energy.value = -self.__G*mass0*mass1/r + return 0 + + def evolve_model(self, time): + time_end = time + + if(len(self.particles)!=1 and len(self.particles)!=2): + return -1 + + if(len(self.particles)==1): + mu=self.__G*self.particles[0]['mass'] + radius=self.particles[0]['radius'] + dpos_initial=numpy.array( [self.particles[0]['x'], + self.particles[0]['y'], + self.particles[0]['z']] ) + dvel_initial=numpy.array( [self.particles[0]['vx'], + self.particles[0]['vy'], + self.particles[0]['vz']] ) + dt,collisionflag=collision(radius,mu,dpos_initial,dvel_initial,time_end-self.tnow) + dpos,dvel=universal_solver(mu,dpos_initial,dvel_initial,dt) + self.particles[0]['x']=dpos[0] + self.particles[0]['y']=dpos[1] + self.particles[0]['z']=dpos[2] + self.particles[0]['vx']=dvel[0] + self.particles[0]['vy']=dvel[1] + self.particles[0]['vz']=dvel[2] + + if(len(self.particles)==2): + mu=self.__G*(self.particles[0]['mass']+self.particles[1]['mass']) + radius=self.particles[0]['radius']+self.particles[1]['radius'] + tm=(self.particles[0]['mass']+self.particles[1]['mass']) + m0=self.particles[0]['mass'] + m1=self.particles[1]['mass'] + pos0=numpy.array( [self.particles[0]['x'], + self.particles[0]['y'], + self.particles[0]['z']] ) + vel0=numpy.array( [self.particles[0]['vx'], + self.particles[0]['vy'], + self.particles[0]['vz']] ) + pos1=numpy.array( [self.particles[1]['x'], + self.particles[1]['y'], + self.particles[1]['z']] ) + vel1=numpy.array( [self.particles[1]['vx'], + self.particles[1]['vy'], + self.particles[1]['vz']] ) + dpos_initial=pos0-pos1 + dvel_initial=vel0-vel1 + cmpos=(m0*pos0+m1*pos1)/tm + cmvel=(m0*vel0+m1*vel1)/tm + dt,collisionflag=collision(radius,mu,dpos_initial,dvel_initial,time_end-self.tnow) + dpos,dvel=universal_solver(mu,dpos_initial,dvel_initial,dt) + cmpos=cmpos+(time_end-self.tnow)*cmvel + f0=m1/tm + f1=m0/tm + self.particles[0]['x']=cmpos[0]+f0*dpos[0] + self.particles[0]['y']=cmpos[1]+f0*dpos[1] + self.particles[0]['z']=cmpos[2]+f0*dpos[2] + self.particles[0]['vx']=cmvel[0]+f0*dvel[0] + self.particles[0]['vy']=cmvel[1]+f0*dvel[1] + self.particles[0]['vz']=cmvel[2]+f0*dvel[2] + self.particles[1]['x']=cmpos[0]-f1*dpos[0] + self.particles[1]['y']=cmpos[1]-f1*dpos[1] + self.particles[1]['z']=cmpos[2]-f1*dpos[2] + self.particles[1]['vx']=cmvel[0]-f1*dvel[0] + self.particles[1]['vy']=cmvel[1]-f1*dvel[1] + self.particles[1]['vz']=cmvel[2]-f1*dvel[2] + + self.tnow=self.tnow+dt + + return collisionflag + + + +class TwoBodyInterface(PythonCodeInterface, GravitationalDynamicsInterface, GravityFieldInterface): + + def __init__(self, **options): + PythonCodeInterface.__init__(self, TwoBodyImplementation, 'twobody_worker', **options) + + + +class TwoBody(GravitationalDynamics, GravityFieldCode): + + + def __init__(self, convert_nbody = None, **options): + nbody_interface = TwoBodyInterface(**options) + + GravitationalDynamics.__init__( + self, + nbody_interface, + convert_nbody, + **options + ) + + def define_state(self, handler): + GravitationalDynamics.define_state(self, handler) + GravityFieldCode.define_state(self, handler) + + def get_epsilon_squared(self): + return zero + + def define_parameters(self, handler): + handler.add_method_parameter( + "get_epsilon_squared", + None, + "epsilon_squared", + "smoothing parameter for gravity calculations", + default_value = zero + ) + handler.add_method_parameter( + "get_begin_time", + "set_begin_time", + "begin_time", + "model time to start the simulation at", + default_value = 0.0 | nbody_system.time + ) + + + +Twobody = TwoBody diff --git a/src/amuse_twobody/packages/amuse-twobody.amuse_deps b/src/amuse_twobody/packages/amuse-twobody.amuse_deps new file mode 100644 index 0000000000..6fb54a65c0 --- /dev/null +++ b/src/amuse_twobody/packages/amuse-twobody.amuse_deps @@ -0,0 +1 @@ +python mpi diff --git a/src/amuse_twobody/packages/amuse-twobody/amuse_twobody b/src/amuse_twobody/packages/amuse-twobody/amuse_twobody new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_twobody/packages/amuse-twobody/amuse_twobody @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_twobody/packages/amuse-twobody/pyproject.toml b/src/amuse_twobody/packages/amuse-twobody/pyproject.toml new file mode 100644 index 0000000000..343a37de96 --- /dev/null +++ b/src/amuse_twobody/packages/amuse-twobody/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-twobody" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_twobody/**/*.py"] +exclude = [ + "amuse_twobody/packages", + "amuse_twobody/support", + "amuse_twobody/src", + "amuse_twobody/tests" + ] +artifacts = ["amuse_twobody/twobody_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_twobody/tests/"] + +testpaths = ["amuse_twobody/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse_twobody/support/aclocal.m4 b/src/amuse_twobody/support/aclocal.m4 new file mode 100644 index 0000000000..0bf833aa86 --- /dev/null +++ b/src/amuse_twobody/support/aclocal.m4 @@ -0,0 +1,15 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_venv.m4]) diff --git a/src/amuse/community/mesa_r2208/data/input/star_data/starting_models/empty.txt b/src/amuse_twobody/support/config.mk.in similarity index 100% rename from src/amuse/community/mesa_r2208/data/input/star_data/starting_models/empty.txt rename to src/amuse_twobody/support/config.mk.in diff --git a/src/amuse_twobody/support/configure b/src/amuse_twobody/support/configure new file mode 100755 index 0000000000..681254802d --- /dev/null +++ b/src/amuse_twobody/support/configure @@ -0,0 +1,2904 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-twobody 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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" + if (eval "$as_required") 2>/dev/null +then : + as_have_required=yes +else $as_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-twobody' +PACKAGE_TARNAME='amuse-twobody' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-twobody 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-twobody 1.0 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/amuse-twobody] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-twobody 1.0:";; + esac + cat <<\_ACEOF + +Report bugs to the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-twobody configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-twobody $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-twobody $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-twobody config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_twobody/support/configure.ac b/src/amuse_twobody/support/configure.ac new file mode 100644 index 0000000000..ff02b20019 --- /dev/null +++ b/src/amuse_twobody/support/configure.ac @@ -0,0 +1,12 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-twobody], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_twobody/support/shared b/src/amuse_twobody/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_twobody/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/community/twobody/test_moon.py b/src/amuse_twobody/test_moon.py similarity index 100% rename from src/amuse/community/twobody/test_moon.py rename to src/amuse_twobody/test_moon.py diff --git a/src/amuse/test/suite/codes_tests/test_twobody.py b/src/amuse_twobody/tests/test_twobody.py similarity index 99% rename from src/amuse/test/suite/codes_tests/test_twobody.py rename to src/amuse_twobody/tests/test_twobody.py index 301f70b05e..e4632a8615 100644 --- a/src/amuse/test/suite/codes_tests/test_twobody.py +++ b/src/amuse_twobody/tests/test_twobody.py @@ -1,8 +1,8 @@ import numpy -from amuse.community.twobody import interface +from amuse_twobody import interface -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI from amuse.units import units from amuse.units import nbody_system from amuse.units.quantities import zero diff --git a/src/amuse/community/twobody/twobody.py b/src/amuse_twobody/twobody.py similarity index 100% rename from src/amuse/community/twobody/twobody.py rename to src/amuse_twobody/twobody.py diff --git a/src/amuse_vader/.gitignore b/src/amuse_vader/.gitignore new file mode 100644 index 0000000000..998ee80a5e --- /dev/null +++ b/src/amuse_vader/.gitignore @@ -0,0 +1,3 @@ +src +vader.tar.gz + diff --git a/src/amuse/community/vader/DOCU.txt b/src/amuse_vader/DOCU.txt similarity index 100% rename from src/amuse/community/vader/DOCU.txt rename to src/amuse_vader/DOCU.txt diff --git a/src/amuse_vader/Makefile b/src/amuse_vader/Makefile new file mode 100644 index 0000000000..937730e68b --- /dev/null +++ b/src/amuse_vader/Makefile @@ -0,0 +1,89 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + + +# Detecting dependencies +support/config.mk: + cd support && ./configure + + +VERSION = 0e6357b451e6 + +# Downloading the code +vader.tar.gz: + $(DOWNLOAD) https://bitbucket.org/MJCWilhelm/vader/get/$(VERSION).tar.gz >$@ + +# Preparing source directory +src: vader.tar.gz + mkdir -p src + tar -xvf $< -C src + cp -r src/MJCWilhelm-vader-$(VERSION)/vader_csrc/* src + cp Makefile_vader src/Makefile + + +# Building the code into a static library +DEPFLAGS += $(GSL_FLAGS) + +CFLAGS += $(DEPFLAGS) + +LDFLAGS += + +LDLIBS += $(GSL_LIBS) + + +CODELIB = src/libvader.a + +.PHONY: $(CODELIB) +$(CODELIB): | src + $(MAKE) -C src -j $(CPU_COUNT) all MPICC='$(MPICC)' CXXFLAGS='$(CFLAGS)' + + +# Building the workers +vader_worker.h: interface.py + amusifier --type=H interface.py VaderInterface -o $@ + +vader_worker.cc: interface.py + amusifier --type=c interface.py VaderInterface -o $@ + +interface.o: interface.cc $(CODELIB) + $(MPICXX) -c -o $@ $(CFLAGS) $< + +vader_worker.o: vader_worker.cc vader_worker.h + $(MPICXX) -c -o $@ $(CFLAGS) $< + +vader_worker: vader_worker.o interface.o $(CODELIB) + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) + + +# Which packages contain which workers? +amuse-vader_contains: vader_worker + + +# Building and installing packages +develop-%: %_contains + support/shared/uninstall.sh $* + python -m pip install -e packages/$* + +install-%: %_contains + support/shared/uninstall.sh $* + python -m pip install packages/$* + +package-%: %_contains + python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$* + +test-%: + cd packages/$* && pytest + + +# Cleaning up +.PHONY: clean +clean: + $(MAKE) -C src clean + rm -rf *.o *worker* + +.PHONY: distclean +distclean: clean + rm -f support/config.mk support/config.log support/config.status + rm -rf support/autom4te.cache + diff --git a/src/amuse/community/vader/Makefile_vader b/src/amuse_vader/Makefile_vader similarity index 100% rename from src/amuse/community/vader/Makefile_vader rename to src/amuse_vader/Makefile_vader diff --git a/src/amuse/community/vader/README.txt b/src/amuse_vader/README.txt similarity index 100% rename from src/amuse/community/vader/README.txt rename to src/amuse_vader/README.txt diff --git a/src/amuse_vader/__init__.py b/src/amuse_vader/__init__.py new file mode 100644 index 0000000000..db0736aa26 --- /dev/null +++ b/src/amuse_vader/__init__.py @@ -0,0 +1,2 @@ +# generated file +from .interface import Vader diff --git a/src/amuse/community/vader/interface.cc b/src/amuse_vader/interface.cc similarity index 100% rename from src/amuse/community/vader/interface.cc rename to src/amuse_vader/interface.cc diff --git a/src/amuse_vader/interface.py b/src/amuse_vader/interface.py new file mode 100644 index 0000000000..b63be9c4b0 --- /dev/null +++ b/src/amuse_vader/interface.py @@ -0,0 +1,2461 @@ +from amuse.community import * +from amuse.community.interface import common + + +class VaderInterface(CodeInterface, + LiteratureReferencesMixIn, + common.CommonCodeInterface): + + """ + VADER is a code simulating the evolution of viscous thin accretion + disks. It is developed by Mark Krumholz and John Forbes [1]. + + .. [#] ADS:2015A&C....11....1K (Krumholz, M. R. and Forbes, J. C., Astronomy and Computing, Vol. 11 (2015): + .. [#] ... VADER: A Flexible, Robust, Open-Source Code for Simulating Viscous Thin Accretion Disks) + """ + + include_headers = ['vader_worker.h'] + + def __init__(self, mode = 'none', **keyword_arguments): + CodeInterface.__init__(self, + name_of_the_worker="vader_worker", + **keyword_arguments) + LiteratureReferencesMixIn.__init__(self) + + @legacy_function + def initialize_code(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + @legacy_function + def evolve_model(): + function = LegacyFunctionSpecification() + function.addParameter('tlim', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def initialize_keplerian_grid(): + function = LegacyFunctionSpecification() + function.addParameter('n', dtype='int32', + direction=function.IN) + function.addParameter('linear', dtype='bool', + direction=function.IN) + function.addParameter('rmin', dtype='float64', + direction=function.IN) + function.addParameter('rmax', dtype='float64', + direction=function.IN) + function.addParameter('m', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def update_keplerian_grid(): + function = LegacyFunctionSpecification() + function.addParameter('m', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def initialize_flat_grid(): + function = LegacyFunctionSpecification() + function.addParameter('n', dtype='int32', + direction=function.IN) + function.addParameter('linear', dtype='bool', + direction=function.IN) + function.addParameter('rmin', dtype='float64', + direction=function.IN) + function.addParameter('rmax', dtype='float64', + direction=function.IN) + function.addParameter('vphi', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def update_flat_grid(): + function = LegacyFunctionSpecification() + function.addParameter('vphi', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def initialize_tabulated_grid(): + function = LegacyFunctionSpecification() + function.addParameter('n', dtype='int32', + direction=function.IN) + function.addParameter('linear', dtype='int32', + direction=function.IN) + function.addParameter('rmin', dtype='float64', + direction=function.IN) + function.addParameter('rmax', dtype='float64', + direction=function.IN) + function.addParameter('bspline_degree', dtype='int32', + direction=function.IN) + function.addParameter('bspline_breakpoints', + dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def update_tabulated_grid(): + function = LegacyFunctionSpecification() + function.addParameter('bspline_degree', dtype='int32', + direction=function.IN) + function.addParameter('bspline_breakpoints', dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + + @legacy_function + def get_tabulated_size(): + function = LegacyFunctionSpecification() + function.addParameter('nTab', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_tabulated_size(): + function = LegacyFunctionSpecification() + function.addParameter('nTab', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + def get_table_range(self): + nTab = self.get_tabulated_size()['nTab'] + return (0, nTab-1) + + @legacy_function + def get_tabulated_radius(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('i', dtype='int32', direction=function.IN) + function.addParameter('rTab', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_tabulated_radius(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('i', dtype='int32', direction=function.IN) + function.addParameter('rTab', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_tabulated_velocity(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('i', dtype='int32', direction=function.IN) + function.addParameter('vTab', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_tabulated_velocity(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('i', dtype='int32', direction=function.IN) + function.addParameter('vTab', dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + #grid getters&setters + @legacy_function + def get_position_of_index(): + function = LegacyFunctionSpecification() + function.can_handle_array = True + function.addParameter('i', dtype='int32', + direction=function.IN) + function.addParameter('r', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_index_of_position(): + function = LegacyFunctionSpecification() + function.addParameter('r', dtype='float64', + direction=function.IN) + function.addParameter('i', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_grid_column_density(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('i', dtype='int32', + direction=function.IN) + function.addParameter('sigma', dtype='float64', + direction=function.OUT) + function.addParameter('number_of_points', 'int32', + function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_grid_pressure(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('i', dtype='int32', + direction=function.IN) + function.addParameter('pressure', dtype='float64', + direction=function.OUT) + function.addParameter('number_of_points', 'int32', + function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_grid_internal_energy(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('i', dtype='int32', + direction=function.IN) + function.addParameter('internal_energy', dtype='float64', + direction=function.OUT) + function.addParameter('number_of_points', 'int32', + function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_grid_state(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('i', dtype='int32', + direction=function.IN) + for x in ['sigma', 'pressure', 'internal_energy']: + function.addParameter(x, dtype='float64', + direction=function.OUT) + function.addParameter('number_of_points', 'int32', + function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_grid_user_output(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('n', dtype='int32', + direction=function.IN) + function.addParameter('i', dtype='int32', + direction=function.IN) + function.addParameter('user_output', dtype='float64', + direction=function.OUT) + function.addParameter('number_of_points', 'int32', + function.LENGTH) + function.result_type = 'int32' + return function + + + @legacy_function + def set_grid_column_density(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('i', dtype='int32', + direction=function.IN) + function.addParameter('sigma', dtype='float64', + direction=function.IN) + function.addParameter('number_of_points', 'int32', + function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def set_grid_pressure(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('i', dtype='int32', + direction=function.IN) + function.addParameter('pressure', dtype='float64', + direction=function.IN) + function.addParameter('number_of_points', 'int32', + function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def set_grid_internal_energy(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('i', dtype='int32', + direction=function.IN) + function.addParameter('internal_energy', dtype='float64', + direction=function.IN) + function.addParameter('number_of_points', 'int32', + function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def set_grid_state(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('i', dtype='int32', + direction=function.IN) + for x in ['sigma', 'pressure', 'internal_energy']: + function.addParameter(x, dtype='float64', + direction=function.IN) + function.addParameter('number_of_points', 'int32', + function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def set_grid_user_output(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('n', dtype='int32', + direction=function.IN) + function.addParameter('i', dtype='int32', + direction=function.IN) + function.addParameter('user_output', dtype='float64', + direction=function.IN) + function.addParameter('number_of_points', 'int32', + function.LENGTH) + function.result_type = 'int32' + return function + + #viscous parameters getters&setters + @legacy_function + def get_alpha_function(): + function = LegacyFunctionSpecification() + function.addParameter('alpha_func', dtype='bool', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_alpha_function(): + function = LegacyFunctionSpecification() + function.addParameter('alpha_func', dtype='bool', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_alpha(): + function = LegacyFunctionSpecification() + function.addParameter('alpha', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_alpha(): + function = LegacyFunctionSpecification() + function.addParameter('alpha', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_eos_function(): + function = LegacyFunctionSpecification() + function.addParameter('eos_func', dtype='bool', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_eos_function(): + function = LegacyFunctionSpecification() + function.addParameter('eos_func', dtype='bool', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_gamma(): + function = LegacyFunctionSpecification() + function.addParameter('gamma', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_gamma(): + function = LegacyFunctionSpecification() + function.addParameter('gamma', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_delta(): + function = LegacyFunctionSpecification() + function.addParameter('delta', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_delta(): + function = LegacyFunctionSpecification() + function.addParameter('delta', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + #source getters&setters + @legacy_function + def get_mass_source_function(): + function = LegacyFunctionSpecification() + function.addParameter('mass_source_func', dtype='bool', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_mass_source_function(): + function = LegacyFunctionSpecification() + function.addParameter('mass_source_func', dtype='bool', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_internal_energy_source_function(): + function = LegacyFunctionSpecification() + function.addParameter('internal_energy_source_func', + dtype='bool', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_internal_energy_source_function(): + function = LegacyFunctionSpecification() + function.addParameter('internal_energy_source_func', + dtype='bool', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_mass_source_value(): + function = LegacyFunctionSpecification() + function.addParameter('mass_source_value', + dtype='float64', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_mass_source_value(): + function = LegacyFunctionSpecification() + function.addParameter('mass_source_value', + dtype='float64', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_internal_energy_source_value(): + function = LegacyFunctionSpecification() + function.addParameter('internal_energy_source_value', + dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_internal_energy_source_value(): + function = LegacyFunctionSpecification() + function.addParameter('internal_energy_source_value', + dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + #boundary getters&setters + @legacy_function + def get_inner_pressure_boundary_type(): + function = LegacyFunctionSpecification() + function.addParameter('ibc_pres', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_inner_pressure_boundary_type(): + function = LegacyFunctionSpecification() + function.addParameter('ibc_pres', dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_inner_pressure_boundary_mass_flux(): + function = LegacyFunctionSpecification() + function.addParameter('ibc_pres_val', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_inner_pressure_boundary_torque_flux(): + function = LegacyFunctionSpecification() + function.addParameter('ibc_pres_val', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_inner_pressure_boundary_torque(): + function = LegacyFunctionSpecification() + function.addParameter('ibc_pres_val', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_inner_pressure_boundary_mass_flux(): + function = LegacyFunctionSpecification() + function.addParameter('ibc_pres_val', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def set_inner_pressure_boundary_torque_flux(): + function = LegacyFunctionSpecification() + function.addParameter('ibc_pres_val', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def set_inner_pressure_boundary_torque(): + function = LegacyFunctionSpecification() + function.addParameter('ibc_pres_val', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_inner_enthalpy_boundary_type(): + function = LegacyFunctionSpecification() + function.addParameter('ibc_enth', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_inner_enthalpy_boundary_type(): + function = LegacyFunctionSpecification() + function.addParameter('ibc_enth', dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_inner_enthalpy_boundary_enthalpy(): + function = LegacyFunctionSpecification() + function.addParameter('ibc_enth_val', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_inner_enthalpy_boundary_enthalpy_gradient(): + function = LegacyFunctionSpecification() + function.addParameter('ibc_enth_val', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_inner_enthalpy_boundary_enthalpy(): + function = LegacyFunctionSpecification() + function.addParameter('ibc_enth_val', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def set_inner_enthalpy_boundary_enthalpy_gradient(): + function = LegacyFunctionSpecification() + function.addParameter('ibc_enth_val', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_inner_boundary_function(): + function = LegacyFunctionSpecification() + function.addParameter('ibc_func', dtype='bool', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_inner_boundary_function(): + function = LegacyFunctionSpecification() + function.addParameter('ibc_func', dtype='bool', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_outer_pressure_boundary_type(): + function = LegacyFunctionSpecification() + function.addParameter('obc_pres', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_outer_pressure_boundary_type(): + function = LegacyFunctionSpecification() + function.addParameter('obc_pres', dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_outer_pressure_boundary_mass_flux(): + function = LegacyFunctionSpecification() + function.addParameter('obc_pres_val', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_outer_pressure_boundary_torque_flux(): + function = LegacyFunctionSpecification() + function.addParameter('obc_pres_val', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_outer_pressure_boundary_torque(): + function = LegacyFunctionSpecification() + function.addParameter('obc_pres_val', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_outer_pressure_boundary_mass_flux(): + function = LegacyFunctionSpecification() + function.addParameter('obc_pres_val', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def set_outer_pressure_boundary_torque_flux(): + function = LegacyFunctionSpecification() + function.addParameter('obc_pres_val', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def set_outer_pressure_boundary_torque(): + function = LegacyFunctionSpecification() + function.addParameter('obc_pres_val', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_outer_enthalpy_boundary_type(): + function = LegacyFunctionSpecification() + function.addParameter('obc_enth', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_outer_enthalpy_boundary_type(): + function = LegacyFunctionSpecification() + function.addParameter('obc_enth', dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_outer_enthalpy_boundary_enthalpy(): + function = LegacyFunctionSpecification() + function.addParameter('obc_enth_val', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_outer_enthalpy_boundary_enthalpy_gradient(): + function = LegacyFunctionSpecification() + function.addParameter('obc_enth_val', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_outer_enthalpy_boundary_enthalpy(): + function = LegacyFunctionSpecification() + function.addParameter('obc_enth_val', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def set_outer_enthalpy_boundary_enthalpy_gradient(): + function = LegacyFunctionSpecification() + function.addParameter('obc_enth_val', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_outer_boundary_function(): + function = LegacyFunctionSpecification() + function.addParameter('obc_func', dtype='bool', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_outer_boundary_function(): + function = LegacyFunctionSpecification() + function.addParameter('obc_func', dtype='bool', + direction=function.IN) + function.result_type = 'int32' + return function + + #various + @legacy_function + def get_number_of_cells(): + function = LegacyFunctionSpecification() + function.addParameter('i', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + def get_index_range_for_grid(self): + i, error = self.get_number_of_cells() + return (0, i-1) + + def get_index_range_for_user_outputs(self): + i, error = self.get_number_of_cells() + j, error = self.get_nUserOut() + return (0, j-1, 0, i-1) + + @legacy_function + def get_area_of_index(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('i', dtype='int32', + direction=function.IN) + function.addParameter('area', dtype='float64', + direction=function.OUT) + function.addParameter('number_of_points', 'int32', + function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_rotational_velocity_of_index(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('i', dtype='int32', + direction=function.IN) + function.addParameter('vphi', + dtype='float64', + direction=function.OUT) + function.addParameter('number_of_points', 'int32', + function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_effective_potential_of_index(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('i', dtype='int32', + direction=function.IN) + function.addParameter('psiEff', + dtype='float64', + direction=function.OUT) + function.addParameter('number_of_points', 'int32', + function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_gravitational_potential_of_index(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('i', dtype='int32', + direction=function.IN) + function.addParameter('psi_grav', + dtype='float64', + direction=function.OUT) + function.addParameter('number_of_points', 'int32', + function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_number_of_user_parameters(): + function = LegacyFunctionSpecification() + function.addParameter('n', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_number_of_user_parameters(): + function = LegacyFunctionSpecification() + function.addParameter('n', dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_parameter(): + function = LegacyFunctionSpecification() + function.addParameter('i', dtype='int32', + direction=function.IN) + function.addParameter('param', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_parameter(): + function = LegacyFunctionSpecification() + function.addParameter('i', dtype='int32', + direction=function.IN) + function.addParameter('param', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_time(): + function = LegacyFunctionSpecification() + function.addParameter('time', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_inner_boundary_mass_out(): + function = LegacyFunctionSpecification() + function.addParameter('mSrcOut', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_outer_boundary_mass_out(): + function = LegacyFunctionSpecification() + function.addParameter('mSrcOut', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_inner_boundary_energy_out(): + function = LegacyFunctionSpecification() + function.addParameter('eSrcOut', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_outer_boundary_energy_out(): + function = LegacyFunctionSpecification() + function.addParameter('eSrcOut', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def get_mass_source_out(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('i', dtype='int32', + direction=function.IN) + function.addParameter('mSrcOut', dtype='float64', + direction=function.OUT) + function.addParameter('number_of_points', 'int32', + function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_energy_source_out(): + function = LegacyFunctionSpecification() + function.must_handle_array = True + function.addParameter('i', dtype='int32', + direction=function.IN) + function.addParameter('eSrcOut', dtype='float64', + direction=function.OUT) + function.addParameter('number_of_points', 'int32', + function.LENGTH) + function.result_type = 'int32' + return function + + @legacy_function + def get_dtStart(): + function = LegacyFunctionSpecification() + function.addParameter('dtStart', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_dtStart(): + function = LegacyFunctionSpecification() + function.addParameter('dtStart', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_dtMin(): + function = LegacyFunctionSpecification() + function.addParameter('dtMin', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_dtMin(): + function = LegacyFunctionSpecification() + function.addParameter('dtMin', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_dtTol(): + function = LegacyFunctionSpecification() + function.addParameter('dtTol', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_dtTol(): + function = LegacyFunctionSpecification() + function.addParameter('dtTol', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_errTol(): + function = LegacyFunctionSpecification() + function.addParameter('errTol', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_errTol(): + function = LegacyFunctionSpecification() + function.addParameter('errTol', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_maxDtIncrease(): + function = LegacyFunctionSpecification() + function.addParameter('maxDtIncrease', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_maxDtIncrease(): + function = LegacyFunctionSpecification() + function.addParameter('maxDtIncrease', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_maxIter(): + function = LegacyFunctionSpecification() + function.addParameter('maxIter', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_maxIter(): + function = LegacyFunctionSpecification() + function.addParameter('maxIter', dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_interpOrder(): + function = LegacyFunctionSpecification() + function.addParameter('interpOrder', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_interpOrder(): + function = LegacyFunctionSpecification() + function.addParameter('interpOrder', dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_maxStep(): + function = LegacyFunctionSpecification() + function.addParameter('maxStep', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_maxStep(): + function = LegacyFunctionSpecification() + function.addParameter('maxStep', dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_useBE(): + function = LegacyFunctionSpecification() + function.addParameter('useBE', dtype='bool', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_useBE(): + function = LegacyFunctionSpecification() + function.addParameter('useBE', dtype='bool', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_verbosity(): + function = LegacyFunctionSpecification() + function.addParameter('verbosity', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_verbosity(): + function = LegacyFunctionSpecification() + function.addParameter('verbosity', dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_PreTimestep(): + function = LegacyFunctionSpecification() + function.addParameter('PreTimestep', dtype='bool', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_PreTimestep(): + function = LegacyFunctionSpecification() + function.addParameter('PreTimestep', dtype='bool', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_PostTimestep(): + function = LegacyFunctionSpecification() + function.addParameter('PostTimestep', dtype='bool', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_PostTimestep(): + function = LegacyFunctionSpecification() + function.addParameter('PostTimestep', dtype='bool', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_nUserOut(): + function = LegacyFunctionSpecification() + function.addParameter('nUserOut', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_nUserOut(): + function = LegacyFunctionSpecification() + function.addParameter('nUserOut', dtype='int32', + direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def get_begin_time(): + function = LegacyFunctionSpecification() + function.addParameter('begin_time', dtype='float64', + direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def set_begin_time(): + function = LegacyFunctionSpecification() + function.addParameter('begin_time', dtype='float64', + direction=function.IN) + function.result_type = 'int32' + return function + + ''' + @legacy_function + def get_nFail(): + function = LegacyFunctionSpecification() + function.addParameter('nFail', dtype='int32', + direction=function.OUT) + function.result_type = 'int32' + return function + ''' + + @legacy_function + def cleanup_code(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + +class Vader(common.CommonCode): + + def __init__(self, unit_converter = None, mode = 'none', **options): + + self.mode = mode + self.unit_converter = unit_converter + + common.CommonCode.__init__(self, VaderInterface(mode = mode, **options), + **options) + + + def define_state(self, handler): + common.CommonCode.define_state(self, handler) + handler.add_transition('END', 'INITIALIZED', + 'initialize_code', False) + + handler.add_transition('INITIALIZED','EDIT','commit_parameters') + + handler.add_transition('RUN', 'CHANGE_PARAMETERS_RUN', + 'before_set_parameter', False) + handler.add_transition('EDIT', 'CHANGE_PARAMETERS_EDIT', + 'before_set_parameter', False) + + handler.add_transition('CHANGE_PARAMETERS_RUN', 'RUN', + 'recommit_parameters') + handler.add_transition('CHANGE_PARAMETERS_EDIT', 'EDIT', + 'recommit_parameters') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter') + + handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter') + handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter') + + handler.add_method('RUN', 'before_get_parameter') + handler.add_method('EDIT', 'before_get_parameter') + + handler.add_transition('EDIT', 'RUN', + 'initialize_keplerian_grid', False) + handler.add_transition('EDIT', 'RUN', + 'initialize_flat_grid', False) + handler.add_transition('EDIT', 'RUN', + 'initialize_tabulated_grid', False) + + handler.add_method('RUN', 'update_keplerian_grid') + handler.add_method('RUN', 'update_flat_grid') + handler.add_method('RUN', 'update_tabulated_grid') + + + grid_write_properties = ['state', 'column_density', 'pressure', + 'internal_energy', 'user_output'] + + for prop in grid_write_properties: + handler.add_method('RUN', 'set_grid_'+prop) + handler.add_method('RUN', 'get_grid_'+prop) + handler.add_method('EDIT', 'set_grid_'+prop) + handler.add_method('EDIT', 'get_grid_'+prop) + + + grid_read_properties = ['mass_source_out', 'energy_source_out', + 'position_of_index', 'area_of_index', 'effective_potential_of_index', + 'gravitational_potential_of_index', 'index_range_for_grid', + 'rotational_velocity_of_index'] + + for prop in grid_read_properties: + handler.add_method('RUN', 'get_'+prop) + handler.add_method('EDIT', 'get_'+prop) + + + code_properties = ['inner_boundary_mass_out', 'outer_boundary_mass_out', + 'inner_boundary_energy_out', 'outer_boundary_energy_out'] + + for prop in code_properties: + handler.add_method('RUN', 'get_'+prop) + handler.add_method('EDIT', 'get_'+prop) + + + handler.add_method('RUN', 'evolve_model') + + handler.add_method('EDIT', 'get_time') + handler.add_method('RUN', 'get_time') + + + def commit_parameters(self): + self.parameters.send_not_set_parameters_to_code() + self.parameters.send_cached_parameters_to_code() + self.overridden().commit_parameters() + + + def define_methods(self, builder): + + length = units.cm + time = units.s + mass = units.g + + velocity = length / time + energy = mass * velocity**2. + pressure = mass / length / time**2. + force = mass * velocity / time + col_density = mass / length**2. + Eint_density = energy / length**2. + + + builder.add_method( + "evolve_model", + (time,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "initialize_code", + (), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "initialize_keplerian_grid", + (builder.NO_UNIT, builder.NO_UNIT, + length, length, mass,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "update_keplerian_grid", + (mass,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "initialize_flat_grid", + (builder.NO_UNIT, builder.NO_UNIT, + length, length, velocity,), + (builder.ERROR_CODE) + ) + + builder.add_method( + "update_flat_grid", + (velocity,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "initialize_tabulated_grid", + (builder.NO_UNIT, builder.NO_UNIT, + length, length, + builder.NO_UNIT, builder.NO_UNIT,), + (builder.ERROR_CODE) + ) + + builder.add_method( + "update_tabulated_grid", + (builder.NO_UNIT, builder.NO_UNIT), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_tabulated_size", + (), + (builder.NO_UNIT, builder.ERROR_CODE,) + ) + + builder.add_method( + "set_tabulated_size", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_tabulated_radius", + (builder.INDEX,), + (length, builder.ERROR_CODE) + ) + + builder.add_method( + "set_tabulated_radius", + (builder.INDEX, length), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_tabulated_velocity", + (builder.INDEX,), + (velocity, builder.ERROR_CODE) + ) + + builder.add_method( + "set_tabulated_velocity", + (builder.INDEX, velocity), + (builder.ERROR_CODE,) + ) + + ''' + builder.add_method( + "initialize_grid", + (builder.NO_UNIT, builder.NO_UNIT, + length, length, velocity, velocity + #beta units + #beta units + energy/mass, + energy/mass, + #whatever the hell g_h is + ,), + (builder.ERROR_CODE) + ) + ''' + + #grid getters&setters + builder.add_method( + "get_position_of_index", + (builder.INDEX,), + (length, builder.ERROR_CODE) + ) + + builder.add_method( + "get_index_of_position", + (length,), + (builder.INDEX, builder.ERROR_CODE) + ) + + builder.add_method( + "get_area_of_index", + (builder.INDEX,), + (length**2., builder.ERROR_CODE) + ) + + builder.add_method( + "get_rotational_velocity_of_index", + (builder.INDEX,), + (length / time, builder.ERROR_CODE) + ) + + builder.add_method( + "get_effective_potential_of_index", + (builder.INDEX,), + (energy / mass, builder.ERROR_CODE) + ) + + builder.add_method( + "get_gravitational_potential_of_index", + (builder.INDEX,), + (energy / mass, builder.ERROR_CODE) + ) + + builder.add_method( + "get_grid_column_density", + (builder.INDEX,), + (col_density, builder.ERROR_CODE) + ) + + builder.add_method( + "get_grid_pressure", + (builder.INDEX,), + (pressure * length, builder.ERROR_CODE) + ) + + builder.add_method( + "get_grid_internal_energy", + (builder.INDEX,), + (Eint_density, builder.ERROR_CODE) + ) + + builder.add_method( + "get_grid_state", + (builder.INDEX,), + (col_density, pressure * length, Eint_density, builder.ERROR_CODE) + ) + + builder.add_method( + "get_grid_user_output", + (builder.INDEX, builder.INDEX), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + "set_grid_column_density", + (builder.INDEX, col_density), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "set_grid_pressure", + (builder.INDEX, pressure * length), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "set_grid_internal_energy", + (builder.INDEX, Eint_density), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "set_grid_state", + (builder.INDEX, col_density, pressure * length, Eint_density), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "set_grid_user_output", + (builder.INDEX, builder.INDEX, builder.NO_UNIT), + (builder.ERROR_CODE,) + ) + + #viscous parameters getters&setters + builder.add_method( + "get_alpha_function", + (), + (builder.NO_UNIT, builder.ERROR_CODE,) + ) + + builder.add_method( + "set_alpha_function", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_alpha", + (), + (builder.NO_UNIT, builder.ERROR_CODE,) + ) + + builder.add_method( + "set_alpha", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_eos_function", + (), + (builder.NO_UNIT, builder.ERROR_CODE,) + ) + + builder.add_method( + "set_eos_function", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_gamma", + (), + (builder.NO_UNIT, builder.ERROR_CODE,) + ) + + builder.add_method( + "set_gamma", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_delta", + (), + (velocity**2, builder.ERROR_CODE,) + ) + + builder.add_method( + "set_delta", + (velocity**2,), + (builder.ERROR_CODE,) + ) + + #source getters&setters + builder.add_method( + "get_mass_source_function", + (), + (builder.NO_UNIT, builder.ERROR_CODE,) + ) + + builder.add_method( + "set_mass_source_function", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_internal_energy_source_function", + (), + (builder.NO_UNIT, builder.ERROR_CODE,) + ) + + builder.add_method( + "set_internal_energy_source_function", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_mass_source_value", + (), + (col_density / time, builder.ERROR_CODE,) + ) + + builder.add_method( + "set_mass_source_value", + (col_density / time,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_internal_energy_source_value", + (), + (Eint_density / time, builder.ERROR_CODE,) + ) + + builder.add_method( + "set_internal_energy_source_value", + (Eint_density / time,), + (builder.ERROR_CODE,) + ) + + #boundary condition getters&setters + builder.add_method( + "get_inner_pressure_boundary_type", + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + "set_inner_pressure_boundary_type", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_inner_pressure_boundary_mass_flux", + (), + (mass / time, builder.ERROR_CODE) + ) + + builder.add_method( + "get_inner_pressure_boundary_torque_flux", + (), + (force * length / time, builder.ERROR_CODE) + ) + + builder.add_method( + "get_inner_pressure_boundary_torque", + (), + (force * length, builder.ERROR_CODE) + ) + + builder.add_method( + "set_inner_pressure_boundary_mass_flux", + (mass / time,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "set_inner_pressure_boundary_torque_flux", + (force * length / time,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "set_inner_pressure_boundary_torque", + (force * length,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_inner_enthalpy_boundary_type", + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + "set_inner_enthalpy_boundary_type", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_inner_enthalpy_boundary_enthalpy", + (), + (energy / mass, builder.ERROR_CODE) + ) + + builder.add_method( + "get_inner_enthalpy_boundary_enthalpy_gradient", + (), + (energy / length / mass, builder.ERROR_CODE) + ) + + builder.add_method( + "set_inner_enthalpy_boundary_enthalpy", + (energy / mass,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "set_inner_enthalpy_boundary_enthalpy_gradient", + (energy / length / mass,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_inner_boundary_function", + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + "set_inner_boundary_function", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_outer_pressure_boundary_type", + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + "set_outer_pressure_boundary_type", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_outer_pressure_boundary_mass_flux", + (), + (mass / time, builder.ERROR_CODE) + ) + + builder.add_method( + "get_outer_pressure_boundary_torque_flux", + (), + (force * length / time, builder.ERROR_CODE) + ) + + builder.add_method( + "get_outer_pressure_boundary_torque", + (), + (force * length, builder.ERROR_CODE) + ) + + builder.add_method( + "set_outer_pressure_boundary_mass_flux", + (mass / time,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "set_outer_pressure_boundary_torque_flux", + (force * length / time,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "set_outer_pressure_boundary_torque", + (force * length,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_outer_enthalpy_boundary_type", + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + "set_outer_enthalpy_boundary_type", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_outer_enthalpy_boundary_enthalpy", + (), + (energy / mass, builder.ERROR_CODE) + ) + + builder.add_method( + "get_outer_enthalpy_boundary_enthalpy_gradient", + (), + (energy / length / mass, builder.ERROR_CODE) + ) + + builder.add_method( + "set_outer_enthalpy_boundary_enthalpy", + (energy / mass,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "set_outer_enthalpy_boundary_enthalpy_gradient", + (energy / length / mass,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_outer_boundary_function", + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + "set_outer_boundary_function", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + #other outputs + builder.add_method( + "get_inner_boundary_mass_out", + (), + (mass, builder.ERROR_CODE) + ) + + builder.add_method( + "get_outer_boundary_mass_out", + (), + (mass, builder.ERROR_CODE) + ) + + builder.add_method( + "get_inner_boundary_energy_out", + (), + (energy, builder.ERROR_CODE) + ) + + builder.add_method( + "get_outer_boundary_energy_out", + (), + (energy, builder.ERROR_CODE) + ) + + builder.add_method( + "get_mass_source_out", + (builder.INDEX,), + (col_density, builder.ERROR_CODE) + ) + + builder.add_method( + "get_energy_source_out", + (builder.INDEX,), + (Eint_density, builder.ERROR_CODE) + ) + + #control parameters + builder.add_method( + "get_dtStart", + (), + (time, builder.ERROR_CODE) + ) + + builder.add_method( + "set_dtStart", + (time,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_dtMin", + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + "set_dtMin", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_dtTol", + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + "set_dtTol", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_errTol", + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + "set_errTol", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_maxDtIncrease", + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + "set_maxDtIncrease", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_maxIter", + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + "set_maxIter", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_interpOrder", + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + "set_interpOrder", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_maxStep", + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + "set_maxStep", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_useBE", + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + "set_useBE", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_verbosity", + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + "set_verbosity", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_PreTimestep", + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + "set_PreTimestep", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_PostTimestep", + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + "set_PostTimestep", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + #various + builder.add_method( + "get_time", + (), + (time, builder.ERROR_CODE,) + ) + + builder.add_method( + "get_number_of_user_parameters", + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + "set_number_of_user_parameters", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_max_index", + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + "get_nUserOut", + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + + builder.add_method( + "set_nUserOut", + (builder.NO_UNIT,), + (builder.ERROR_CODE,) + ) + + builder.add_method( + "get_begin_time", + (), + (time, builder.ERROR_CODE,) + ) + + builder.add_method( + "set_begin_time", + (time,), + (builder.ERROR_CODE,) + ) + + ''' + builder.add_method( + "get_nFail", + (), + (builder.NO_UNIT, builder.ERROR_CODE) + ) + ''' + + def define_parameters(self, builder): + + length = units.cm + time = units.s + mass = units.g + + velocity = length / time + energy = mass * velocity**2. + pressure = mass / length / time**2. + force = mass * velocity / time + col_density = mass / length**2. + Eint_density = energy / length**2. + + builder.add_method_parameter( + "get_alpha_function", + "set_alpha_function", + "alpha_function", + "True if user-defined function is to be used for the viscosity parameter", + default_value = False, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_alpha", + "set_alpha", + "alpha", + "viscosity parameter, see Krumholz 2015", + default_value = 1., + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_eos_function", + "set_eos_function", + "equation_of_state_function", + "nonzero if user-defined function is to be used for the equation of state", + default_value = False, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_gamma", + "set_gamma", + "gamma", + "equation of state parameter, see Krumholz 2015", + default_value = 1.000001, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_delta", + "set_delta", + "delta", + "equation of state parameter, see Krumholz 2015", + default_value = 0. | velocity**2, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_inner_pressure_boundary_type", + "set_inner_pressure_boundary_type", + "inner_pressure_boundary_type", + "type for pressure inner boundary condition \n1: fixed mass flux \n2: fixed torque flux \n3: fixed torque", + default_value = 1, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_inner_pressure_boundary_mass_flux", + "set_inner_pressure_boundary_mass_flux", + "inner_pressure_boundary_mass_flux", + "constant value for pressure inner boundary condition, ignored if inner boundary function is nonzero", + default_value = 0. | mass / time, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_inner_pressure_boundary_torque_flux", + "set_inner_pressure_boundary_torque_flux", + "inner_pressure_boundary_torque_flux", + "constant value for pressure inner boundary condition, ignored if inner boundary function is nonzero", + default_value = 0. | force * length / time, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_inner_pressure_boundary_torque", + "set_inner_pressure_boundary_torque", + "inner_pressure_boundary_torque", + "constant value for pressure inner boundary condition, ignored if inner boundary function is nonzero", + default_value = 0. | force * length, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_inner_enthalpy_boundary_type", + "set_inner_enthalpy_boundary_type", + "inner_enthalpy_boundary_type", + "type for enthalpy inner boundary condition \n1: fixed enthalpy value \n2: fixed enthalpy gradient", + default_value = 1, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_inner_enthalpy_boundary_enthalpy", + "set_inner_enthalpy_boundary_enthalpy", + "inner_enthalpy_boundary_enthalpy", + "constant value for enthalpy inner boundary condition, ignored if inner boundary function is nonzero", + default_value = 0. | energy / mass, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_inner_enthalpy_boundary_enthalpy_gradient", + "set_inner_enthalpy_boundary_enthalpy_gradient", + "inner_enthalpy_boundary_enthalpy_gradient", + "constant value for enthalpy inner boundary condition, ignored if inner boundary function is nonzero", + default_value = 0. | energy / length / mass, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_inner_boundary_function", + "set_inner_boundary_function", + "inner_boundary_function", + "nonzero if user-defined function is to be used for the inner boundary", + default_value = False, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_outer_pressure_boundary_type", + "set_outer_pressure_boundary_type", + "outer_pressure_boundary_type", + "type for pressure outer boundary condition \n1: fixed mass flux \n2: fixed torque flux \n3: fixed torque", + default_value = 1, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_outer_pressure_boundary_mass_flux", + "set_outer_pressure_boundary_mass_flux", + "outer_pressure_boundary_mass_flux", + "constant value for pressure outer boundary condition, ignored if outer boundary function is nonzero", + default_value = 0. | mass / time, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_outer_pressure_boundary_torque_flux", + "set_outer_pressure_boundary_torque_flux", + "outer_pressure_boundary_torque_flux", + "constant value for pressure outer boundary condition, ignored if outer boundary function is nonzero", + default_value = 0. | force * length / time, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_outer_pressure_boundary_torque", + "set_outer_pressure_boundary_torque", + "outer_pressure_boundary_torque", + "constant value for pressure outer boundary condition, ignored if outer boundary function is nonzero", + default_value = 0. | force * length, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_outer_enthalpy_boundary_type", + "set_outer_enthalpy_boundary_type", + "outer_enthalpy_boundary_type", + "type for enthalpy outer boundary condition \n1: fixed enthalpy value \n2: fixed enthalpy gradient", + default_value = 1, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_outer_enthalpy_boundary_enthalpy", + "set_outer_enthalpy_boundary_enthalpy", + "outer_enthalpy_boundary_enthalpy", + "constant value for enthalpy outer boundary condition, ignored if outer boundary function is nonzero", + default_value = 0. | energy / mass, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_outer_enthalpy_boundary_enthalpy_gradient", + "set_outer_enthalpy_boundary_enthalpy_gradient", + "outer_enthalpy_boundary_enthalpy_gradient", + "constant value for enthalpy outer boundary condition, ignored if outer boundary function is nonzero", + default_value = 0. | energy / length / mass, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_outer_boundary_function", + "set_outer_boundary_function", + "outer_boundary_function", + "nonzero if user-defined function is to be used for the outer boundary", + default_value = False, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_mass_source_function", + "set_mass_source_function", + "mass_source_function", + "nonzero if user-defined function is to be used for mass source", + default_value = False, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_mass_source_value", + "set_mass_source_value", + "mass_source_value", + "constant mass source value, ignored if mass source function is nonzero", + default_value = 0. | col_density / time, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_internal_energy_source_function", + "set_internal_energy_source_function", + "internal_energy_source_function", + "nonzero if user-defined function is to be used for internal energy source", + default_value = False, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_internal_energy_source_value", + "set_internal_energy_source_value", + "internal_energy_source_value", + "constant internal energy source value, ignored if energy source function is nonzero", + default_value = 0. | Eint_density / time, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_number_of_user_parameters", + "set_number_of_user_parameters", + "number_of_user_parameters", + "the number of user-defined parameters for use in custom vader problems", + default_value = 1, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_dtStart", + "set_dtStart", + "initial_timestep", + "the initial timestep of the simulation", + default_value = 1. | time, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_dtMin", + "set_dtMin", + "minimum_timestep", + "the minimum timestep of the simulation", + default_value = 1E-15, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_dtTol", + "set_dtTol", + "maximum_tolerated_change", + "the allowed relative change in column density/pressure/internal energy", + default_value = 0.1, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_errTol", + "set_errTol", + "error_tolerance", + "implicit solver tolerance", + default_value = 1E-6, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_maxDtIncrease", + "set_maxDtIncrease", + "maximum_timestep_increase", + "the maximum allowed relative time increase", + default_value = 1.5, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_maxIter", + "set_maxIter", + "maximum_iterations", + "the maximum number of implicit iterations", + default_value = 40, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_interpOrder", + "set_interpOrder", + "interpolation_order", + "the interpolation order; piecewise 1) constant 2) linear 3) parabolic", + default_value = 2, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_maxStep", + "set_maxStep", + "maximum_steps", + "the maximum number of steps. negative indicates unbound", + default_value = -1, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_useBE", + "set_useBE", + "use_backwards_euler", + "uses backwards Euler integration if true, Crank Nicolson if false", + default_value = False, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_verbosity", + "set_verbosity", + "verbosity", + "the verbosity of the simulation. 0 is silent, 3 very loud. note that this is only shown on console if redirection='none' is added to the vader initialization", + default_value = 0, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_PreTimestep", + "set_PreTimestep", + "pre_timestep_function", + "if True, the user-defined PreTimestep function is used", + default_value = False, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_PostTimestep", + "set_PostTimestep", + "post_timestep_function", + "if True, the user-defined PostTimestep function is used", + default_value = False, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_nUserOut", + "set_nUserOut", + "number_of_user_outputs", + "number of user-defined grid properties", + default_value = 1, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_begin_time", + "set_begin_time", + "begin_time", + "time to start integration at", + default_value = 0.|time, + must_set_before_get = True + ) + + builder.add_method_parameter( + "get_tabulated_size", + "set_tabulated_size", + "table_size", + "length of the interpolation table", + default_value = 1, + must_set_before_get = True + ) + + builder.add_array_parameter( + "get_tabulated_radius", + "set_tabulated_radius", + "get_table_range", + "radius_table", + "radii of the velocity curve interpolation table" + ) + + builder.add_array_parameter( + "get_tabulated_velocity", + "set_tabulated_velocity", + "get_table_range", + "velocity_table", + "velocities of the velocity curve interpolation table" + ) + + + def define_properties(self, builder): + builder.add_property('get_time', + public_name = 'model_time') + #builder.add_property('get_nFail', + # public_name = 'failed_iterations') + builder.add_property('get_inner_boundary_mass_out', + public_name = 'inner_boundary_mass_out') + builder.add_property('get_outer_boundary_mass_out', + public_name = 'outer_boundary_mass_out') + builder.add_property('get_inner_boundary_energy_out', + public_name = 'inner_boundary_energy_out') + builder.add_property('get_outer_boundary_energy_out', + public_name = 'outer_boundary_energy_out') + + + def define_particle_sets(self, builder): + builder.define_grid('grid') + builder.set_grid_range('grid', + 'get_index_range_for_grid') + builder.add_getter('grid', 'get_position_of_index', + names=('r',)) + builder.add_getter('grid', 'get_area_of_index', + names=('area',)) + builder.add_getter('grid', + 'get_rotational_velocity_of_index', + names=('rotational_velocity',)) + builder.add_getter('grid', + 'get_effective_potential_of_index', + names=('effective_potential',)) + builder.add_getter('grid', + 'get_gravitational_potential_of_index', + names=('gravitational_potential',)) + + builder.add_getter('grid', 'get_grid_column_density', + names=('column_density',)) + builder.add_setter('grid', 'set_grid_column_density', + names=('column_density',)) + + builder.add_getter('grid', 'get_grid_pressure', + names=('pressure',)) + builder.add_setter('grid', 'set_grid_pressure', + names=('pressure',)) + + builder.add_getter('grid', 'get_grid_internal_energy', + names=('internal_energy',)) + builder.add_setter('grid', 'set_grid_internal_energy', + names=('internal_energy',)) + + builder.add_getter('grid', 'get_mass_source_out', + names=('mass_source_difference',)) + builder.add_getter('grid', 'get_energy_source_out', + names=('internal_energy_source_difference',)) + + + builder.define_grid('grid_user') + builder.set_grid_range('grid_user', + 'get_index_range_for_user_outputs') + + builder.add_getter('grid_user', 'get_grid_user_output', + names=('value',)) + builder.add_setter('grid_user', 'set_grid_user_output', + names=('value',)) + + + @property + def mass(self): + return (self.grid.area*self.grid.column_density).sum() diff --git a/src/amuse_vader/packages/amuse-vader.amuse_deps b/src/amuse_vader/packages/amuse-vader.amuse_deps new file mode 100644 index 0000000000..3d5451b080 --- /dev/null +++ b/src/amuse_vader/packages/amuse-vader.amuse_deps @@ -0,0 +1 @@ +c c++ mpi gsl diff --git a/src/amuse_vader/packages/amuse-vader/amuse_vader b/src/amuse_vader/packages/amuse-vader/amuse_vader new file mode 120000 index 0000000000..c25bddb6dd --- /dev/null +++ b/src/amuse_vader/packages/amuse-vader/amuse_vader @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/src/amuse_vader/packages/amuse-vader/pyproject.toml b/src/amuse_vader/packages/amuse-vader/pyproject.toml new file mode 100644 index 0000000000..7392c431fb --- /dev/null +++ b/src/amuse_vader/packages/amuse-vader/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "amuse-vader" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + "amuse-framework" +] + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = ["amuse_vader/**/*.py"] +exclude = [ + "amuse_vader/packages", + "amuse_vader/support", + "amuse_vader/src", + "amuse_vader/tests" + ] +artifacts = ["amuse_vader/vader_worker"] + +[tool.pytest.ini_options] +pythonpath = ["amuse_vader/tests/"] + +testpaths = ["amuse_vader/tests"] + +addopts = "--import-mode=append" # test the installed package + diff --git a/src/amuse_vader/support/aclocal.m4 b/src/amuse_vader/support/aclocal.m4 new file mode 100644 index 0000000000..0435394a98 --- /dev/null +++ b/src/amuse_vader/support/aclocal.m4 @@ -0,0 +1,20 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_download.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_count_cpus.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/gsl.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/amuse_vader/support/config.mk.in b/src/amuse_vader/support/config.mk.in new file mode 100644 index 0000000000..da1b8e0aa4 --- /dev/null +++ b/src/amuse_vader/support/config.mk.in @@ -0,0 +1,25 @@ +# Compilers +CC = @CC@ +CXX = @CXX@ + +MPICC = @MPICC@ +MPICXX = @MPICXX@ + +CPU_COUNT = @CPU_COUNT@ + +# Tools +AR = @AR@ +RANLIB = @RANLIB@ +DOWNLOAD = @DOWNLOAD@ + + +# General flags and libraries +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +LIBS = @LIBS@ + + +# External dependencies +GSL_FLAGS = @GSL_FLAGS@ +GSL_LIBS = @GSL_LIBS@ diff --git a/src/amuse_vader/support/configure b/src/amuse_vader/support/configure new file mode 100755 index 0000000000..ad354e9aa1 --- /dev/null +++ b/src/amuse_vader/support/configure @@ -0,0 +1,7316 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-vader 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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'" + +as_awk_strverscmp=' + # Use only awk features that work with 7th edition Unix awk (1978). + # My, what an old awk you have, Mr. Solaris! + END { + while (length(v1) && length(v2)) { + # Set d1 to be the next thing to compare from v1, and likewise for d2. + # Normally this is a single character, but if v1 and v2 contain digits, + # compare them as integers and fractions as strverscmp does. + if (v1 ~ /^[0-9]/ && v2 ~ /^[0-9]/) { + # Split v1 and v2 into their leading digit string components d1 and d2, + # and advance v1 and v2 past the leading digit strings. + for (len1 = 1; substr(v1, len1 + 1) ~ /^[0-9]/; len1++) continue + for (len2 = 1; substr(v2, len2 + 1) ~ /^[0-9]/; len2++) continue + d1 = substr(v1, 1, len1); v1 = substr(v1, len1 + 1) + d2 = substr(v2, 1, len2); v2 = substr(v2, len2 + 1) + if (d1 ~ /^0/) { + if (d2 ~ /^0/) { + # Compare two fractions. + while (d1 ~ /^0/ && d2 ~ /^0/) { + d1 = substr(d1, 2); len1-- + d2 = substr(d2, 2); len2-- + } + if (len1 != len2 && ! (len1 && len2 && substr(d1, 1, 1) == substr(d2, 1, 1))) { + # The two components differ in length, and the common prefix + # contains only leading zeros. Consider the longer to be less. + d1 = -len1 + d2 = -len2 + } else { + # Otherwise, compare as strings. + d1 = "x" d1 + d2 = "x" d2 + } + } else { + # A fraction is less than an integer. + exit 1 + } + } else { + if (d2 ~ /^0/) { + # An integer is greater than a fraction. + exit 2 + } else { + # Compare two integers. + d1 += 0 + d2 += 0 + } + } + } else { + # The normal case, without worrying about digits. + d1 = substr(v1, 1, 1); v1 = substr(v1, 2) + d2 = substr(v2, 1, 1); v2 = substr(v2, 2) + } + if (d1 < d2) exit 1 + if (d1 > d2) exit 2 + } + # Beware Solaris /usr/xgp4/bin/awk (at least through Solaris 10), + # which mishandles some comparisons of empty strings to integers. + if (length(v2)) exit 1 + if (length(v1)) exit 2 + } +' + +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='amuse-vader' +PACKAGE_TARNAME='amuse-vader' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-vader 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +GSL_CONFIG +GSL_LIBS +GSL_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +GSL_FLAGS +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +DOWNLOAD +CURL +WGET +RANLIB +AR +target_os +target_vendor +target_cpu +target +ac_ct_CXX +CXXFLAGS +CXX +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +CPU_COUNT +EGREP +GREP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FFLAGS +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 +with_gsl_prefix +with_gsl_exec_prefix +enable_gsltest +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +MPICC +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +GSL_CFLAGS +GSL_LIBS +MPICXX' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-vader 1.0 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/amuse-vader] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-vader 1.0:";; + 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] + --disable-gsltest Do not try to compile and run a test GSL program + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gsl-prefix=PFX Prefix where GSL is installed (optional) + --with-gsl-exec-prefix=PFX Exec prefix where GSL is installed (optional) + +Some influential environment variables: + 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 + CXX C++ compiler command + CXXFLAGS C++ compiler flags + MPICC MPI C compiler command + 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 + GSL_CFLAGS C compiler flags for GSL, overriding pkg-config + GSL_LIBS linker flags for GSL, overriding pkg-config + MPICXX MPI C++ compiler command + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-vader configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-vader $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + +# Pick up Conda env or virtualenv + + if test "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + +# Set CPU_COUNT + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the number of available CPUs" >&5 +printf %s "checking the number of available CPUs... " >&6; } + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1 +then : + : # empty +else $as_nop + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^[0-9]+,' -c` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0" ;; #( + freebsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0" ;; #( + netbsd*) : + command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0" ;; #( + solaris*) : + command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^[0-9].*on-line' -c 2>/dev/null` || CPU_COUNT="0" ;; #( + mingw*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + msys*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + cygwin*) : + CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^[0-9]+/' -c` || CPU_COUNT="0" ;; #( + *) : + ;; +esac +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1 +then : + : # empty +else $as_nop + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + +fi + if test "$CPU_COUNT" -gt "0" 2>/dev/null +then : + : # empty +else $as_nop + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + case $host_os in #( + *linux*) : + CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0" ;; #( + *darwin*) : + CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0" ;; #( + freebsd*) : + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + netbsd*) : + CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^[0-9]+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu[0-9]+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0" ;; #( + solaris*) : + command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0" ;; #( + mingw*) : + if CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\[0-9]+$' -c` +then : + : # empty +else $as_nop + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" +fi ;; #( + msys*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + cygwin*) : + test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS" ;; #( + *) : + ;; +esac +fi + if test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPU_COUNT" >&5 +printf "%s\n" "$CPU_COUNT" >&6; } + +else $as_nop + CPU_COUNT="1" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unable to detect (assuming 1)" >&5 +printf "%s\n" "unable to detect (assuming 1)" >&6; } + +fi + + +# Set the worker language +# Find the compiler(s) + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + + + +# Find tools for creating static libraries +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +# Extract the first word of "$target_alias-ar", so it can be a program name with args. +set dummy $target_alias-ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="$target_alias-ar" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +if test -z "$ac_cv_prog_AR"; then + if test "$build" = "$target"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="ar" + printf "%s\n" "$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_ac_ct_AR" && ac_cv_prog_ac_ct_AR=":" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + AR=$ac_ct_AR + else + AR=":" + fi +else + AR="$ac_cv_prog_AR" +fi + +if test $AR = ":" +then : + as_fn_error $? "ar command not found." "$LINENO" 5 +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_RANLIB="ranlib" + printf "%s\n" "$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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test $RANLIB = ":" +then : + as_fn_error $? "ranlib command not found." "$LINENO" 5 +fi + +# Find something to download things with + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}wget", so it can be a program name with args. +set dummy ${ac_tool_prefix}wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$WGET"; then + ac_cv_prog_WGET="$WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="${ac_tool_prefix}wget" + printf "%s\n" "$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 +WGET=$ac_cv_prog_WGET +if test -n "$WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $WGET" >&5 +printf "%s\n" "$WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_WGET"; then + ac_ct_WGET=$WGET + # Extract the first word of "wget", so it can be a program name with args. +set dummy wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_WGET"; then + ac_cv_prog_ac_ct_WGET="$ac_ct_WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="wget" + printf "%s\n" "$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_WGET=$ac_cv_prog_ac_ct_WGET +if test -n "$ac_ct_WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WGET" >&5 +printf "%s\n" "$ac_ct_WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_WGET" = x; then + WGET="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + WGET=$ac_ct_WGET + fi +else + WGET="$ac_cv_prog_WGET" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}curl", so it can be a program name with args. +set dummy ${ac_tool_prefix}curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CURL"; then + ac_cv_prog_CURL="$CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="${ac_tool_prefix}curl" + printf "%s\n" "$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 +CURL=$ac_cv_prog_CURL +if test -n "$CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CURL" >&5 +printf "%s\n" "$CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CURL"; then + ac_ct_CURL=$CURL + # Extract the first word of "curl", so it can be a program name with args. +set dummy curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CURL"; then + ac_cv_prog_ac_ct_CURL="$ac_ct_CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="curl" + printf "%s\n" "$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_CURL=$ac_cv_prog_ac_ct_CURL +if test -n "$ac_ct_CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CURL" >&5 +printf "%s\n" "$ac_ct_CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CURL" = x; then + CURL="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CURL=$ac_ct_CURL + fi +else + CURL="$ac_cv_prog_CURL" +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a wget or curl to download files with" >&5 +printf %s "checking for a wget or curl to download files with... " >&6; } + if test "x$WGET" != "x" + then + # The MESA SDK server rejects wget, this is the official work-around + DOWNLOAD="$WGET --progress=bar:force:noscroll --user-agent='' -O -" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + if test "x$CURL" != "x" + then + DOWNLOAD="$CURL -L" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + fi + + + + + +# Find external dependencies +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 + + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + +# Check whether --with-gsl-prefix was given. +if test ${with_gsl_prefix+y} +then : + withval=$with_gsl_prefix; gsl_prefix="$withval" +else $as_nop + gsl_prefix="" +fi + + +# Check whether --with-gsl-exec-prefix was given. +if test ${with_gsl_exec_prefix+y} +then : + withval=$with_gsl_exec_prefix; gsl_exec_prefix="$withval" +else $as_nop + gsl_exec_prefix="" +fi + +# Check whether --enable-gsltest was given. +if test ${enable_gsltest+y} +then : + enableval=$enable_gsltest; +else $as_nop + enable_gsltest=yes +fi + + + if test "x${GSL_CONFIG+set}" != xset ; then + if test "x$gsl_prefix" != x ; then + GSL_CONFIG="$gsl_prefix/bin/gsl-config" + fi + if test "x$gsl_exec_prefix" != x ; then + GSL_CONFIG="$gsl_exec_prefix/bin/gsl-config" + fi + fi + + + if test "x${GSL_CONFIG+set}" == xset ; then + if test -x "${GSL_CONFIG}" ; then + gsl_config_exists=yes + else + gsl_config_exists=no + fi + fi + FOUND_GSL=no + if test "x$GSL_CFLAGS" != x ; then + if test "x$GSL_LIBS" != x ; then + GSL_FLAGS="$GSL_CFLAGS" + GSL_LIBS="$GSL_LIBS" + FOUND_GSL=yes + + fi + fi + if test "$FOUND_GSL" = "no"; then + if test "x$gsl_config_exists" != xyes ; then + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GSL" >&5 +printf %s "checking for GSL... " >&6; } + +if test -n "$GSL_CFLAGS"; then + pkg_cv_GSL_CFLAGS="$GSL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gsl >= 1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gsl >= 1.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GSL_CFLAGS=`$PKG_CONFIG --cflags "gsl >= 1.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$GSL_LIBS"; then + pkg_cv_GSL_LIBS="$GSL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gsl >= 1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gsl >= 1.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GSL_LIBS=`$PKG_CONFIG --libs "gsl >= 1.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + GSL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gsl >= 1.0" 2>&1` + else + GSL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gsl >= 1.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$GSL_PKG_ERRORS" >&5 + + + + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + + +else + GSL_CFLAGS=$pkg_cv_GSL_CFLAGS + GSL_LIBS=$pkg_cv_GSL_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + GSL_FLAGS="$GSL_CFLAGS" + GSL_LIBS="$GSL_LIBS" + FOUND_GSL=yes + + + FOUND_GSL=yes + +fi + fi + fi + if test "$FOUND_GSL" = "no"; then + # Extract the first word of "gsl-config", so it can be a program name with args. +set dummy gsl-config; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_GSL_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $GSL_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_GSL_CONFIG="$GSL_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_GSL_CONFIG="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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_GSL_CONFIG" && ac_cv_path_GSL_CONFIG="no" + ;; +esac +fi +GSL_CONFIG=$ac_cv_path_GSL_CONFIG +if test -n "$GSL_CONFIG"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GSL_CONFIG" >&5 +printf "%s\n" "$GSL_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + min_gsl_version=1.0 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GSL - version >= $min_gsl_version" >&5 +printf %s "checking for GSL - version >= $min_gsl_version... " >&6; } + no_gsl="" + if test "$GSL_CONFIG" = "no" ; then + no_gsl=yes + else + GSL_FLAGS=`$GSL_CONFIG --cflags` + GSL_LIBS=`$GSL_CONFIG --libs` + + gsl_version=`$GSL_CONFIG --version` + as_arg_v1=$gsl_version +as_arg_v2=$min_gsl_version +awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null +case $? in #( + 1) : + no_gsl=yes ;; #( + 0) : + ;; #( + 2) : + ;; #( + *) : + ;; +esac + fi + if test "x$no_gsl" = x ; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + FOUND_GSL=yes + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + if test "$GSL_CONFIG" = "no" ; then + echo "*** The gsl-config script installed by GSL could not be found" + echo "*** If GSL was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the GSL_CONFIG environment variable to the" + echo "*** full path to gsl-config." + else + if test -f conf.gsltest ; then + : + else + echo "*** Could not run GSL test program, checking why..." + CFLAGS="$CFLAGS $GSL_FLAGS" + LIBS="$LIBS $GSL_LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +int +main (void) +{ + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding GSL or finding the wrong" + echo "*** version of GSL. If it is not finding GSL, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" +else $as_nop + echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means GSL was incorrectly installed" + echo "*** or that you have moved GSL since it was installed. In the latter case, you" + echo "*** may want to edit the gsl-config script: $GSL_CONFIG" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + # GSL_FLAGS="" + # GSL_LIBS="" + : + fi + + fi + + + rm -f conf.gsltest + + +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=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +fi + + + +# Check whether --with-gsl-prefix was given. +if test ${with_gsl_prefix+y} +then : + withval=$with_gsl_prefix; gsl_prefix="$withval" +else $as_nop + gsl_prefix="" +fi + + +# Check whether --with-gsl-exec-prefix was given. +if test ${with_gsl_exec_prefix+y} +then : + withval=$with_gsl_exec_prefix; gsl_exec_prefix="$withval" +else $as_nop + gsl_exec_prefix="" +fi + +# Check whether --enable-gsltest was given. +if test ${enable_gsltest+y} +then : + enableval=$enable_gsltest; +else $as_nop + enable_gsltest=yes +fi + + + if test "x${GSL_CONFIG+set}" != xset ; then + if test "x$gsl_prefix" != x ; then + GSL_CONFIG="$gsl_prefix/bin/gsl-config" + fi + if test "x$gsl_exec_prefix" != x ; then + GSL_CONFIG="$gsl_exec_prefix/bin/gsl-config" + fi + fi + + + if test "x${GSL_CONFIG+set}" == xset ; then + if test -x "${GSL_CONFIG}" ; then + gsl_config_exists=yes + else + gsl_config_exists=no + fi + fi + FOUND_GSL=no + if test "x$GSL_CFLAGS" != x ; then + if test "x$GSL_LIBS" != x ; then + GSL_FLAGS="$GSL_CFLAGS" + GSL_LIBS="$GSL_LIBS" + FOUND_GSL=yes + + fi + fi + if test "$FOUND_GSL" = "no"; then + if test "x$gsl_config_exists" != xyes ; then + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GSL" >&5 +printf %s "checking for GSL... " >&6; } + +if test -n "$GSL_CFLAGS"; then + pkg_cv_GSL_CFLAGS="$GSL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gsl >= 1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gsl >= 1.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GSL_CFLAGS=`$PKG_CONFIG --cflags "gsl >= 1.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$GSL_LIBS"; then + pkg_cv_GSL_LIBS="$GSL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gsl >= 1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gsl >= 1.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GSL_LIBS=`$PKG_CONFIG --libs "gsl >= 1.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + GSL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gsl >= 1.0" 2>&1` + else + GSL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gsl >= 1.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$GSL_PKG_ERRORS" >&5 + + + + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + + +else + GSL_CFLAGS=$pkg_cv_GSL_CFLAGS + GSL_LIBS=$pkg_cv_GSL_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + GSL_FLAGS="$GSL_CFLAGS" + GSL_LIBS="$GSL_LIBS" + FOUND_GSL=yes + + + FOUND_GSL=yes + +fi + fi + fi + if test "$FOUND_GSL" = "no"; then + # Extract the first word of "gsl-config", so it can be a program name with args. +set dummy gsl-config; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_GSL_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $GSL_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_GSL_CONFIG="$GSL_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_GSL_CONFIG="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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_GSL_CONFIG" && ac_cv_path_GSL_CONFIG="no" + ;; +esac +fi +GSL_CONFIG=$ac_cv_path_GSL_CONFIG +if test -n "$GSL_CONFIG"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GSL_CONFIG" >&5 +printf "%s\n" "$GSL_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + min_gsl_version=1.0 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GSL - version >= $min_gsl_version" >&5 +printf %s "checking for GSL - version >= $min_gsl_version... " >&6; } + no_gsl="" + if test "$GSL_CONFIG" = "no" ; then + no_gsl=yes + else + GSL_FLAGS=`$GSL_CONFIG --cflags` + GSL_LIBS=`$GSL_CONFIG --libs` + + gsl_version=`$GSL_CONFIG --version` + as_arg_v1=$gsl_version +as_arg_v2=$min_gsl_version +awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null +case $? in #( + 1) : + no_gsl=yes ;; #( + 0) : + ;; #( + 2) : + ;; #( + *) : + ;; +esac + fi + if test "x$no_gsl" = x ; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + FOUND_GSL=yes + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + if test "$GSL_CONFIG" = "no" ; then + echo "*** The gsl-config script installed by GSL could not be found" + echo "*** If GSL was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the GSL_CONFIG environment variable to the" + echo "*** full path to gsl-config." + else + if test -f conf.gsltest ; then + : + else + echo "*** Could not run GSL test program, checking why..." + CFLAGS="$CFLAGS $GSL_FLAGS" + LIBS="$LIBS $GSL_LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +int +main (void) +{ + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding GSL or finding the wrong" + echo "*** version of GSL. If it is not finding GSL, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" +else $as_nop + echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means GSL was incorrectly installed" + echo "*** or that you have moved GSL since it was installed. In the latter case, you" + echo "*** may want to edit the gsl-config script: $GSL_CONFIG" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + # GSL_FLAGS="" + # GSL_LIBS="" + : + fi + + fi + + + rm -f conf.gsltest + + +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 + + + +# Generate output +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-vader $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-vader config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/amuse_vader/support/configure.ac b/src/amuse_vader/support/configure.ac new file mode 100644 index 0000000000..5022da2855 --- /dev/null +++ b/src/amuse_vader/support/configure.ac @@ -0,0 +1,45 @@ +AC_CONFIG_AUX_DIR([shared]) +AC_CONFIG_MACRO_DIRS([shared/m4]) + +AC_INIT([amuse-vader], [1.0]) + +# Pick up Conda env or virtualenv +AMUSE_VENV() + +# Set CPU_COUNT +AX_COUNT_CPUS() +AC_SUBST(CPU_COUNT) + +# Set the worker language +# Find the compiler(s) +AC_PROG_CC() +AC_PROG_CXX() + + +# Find tools for creating static libraries +AC_CHECK_TARGET_TOOL([AR], [ar], [:]) +AS_IF([test $AR = ":"], [AC_MSG_ERROR([ar command not found.])]) + +AC_PROG_RANLIB() +AS_IF([test $RANLIB = ":"], [AC_MSG_ERROR([ranlib command not found.])]) + +# Find something to download things with +AMUSE_DOWNLOAD() + + +# Find external dependencies +AC_LANG_PUSH([C]) +AX_MPI() +AX_PATH_GSL(1.0, [FOUND_GSL=yes]) +AC_LANG_POP([C]) + +AC_LANG_PUSH([C++]) +AX_MPI() +AX_PATH_GSL(1.0, [FOUND_GSL=yes]) +AC_LANG_POP([C++]) + + +# Generate output +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/amuse_vader/support/shared b/src/amuse_vader/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/amuse_vader/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/codes_tests/test_vader.py b/src/amuse_vader/tests/test_vader.py similarity index 98% rename from src/amuse/test/suite/codes_tests/test_vader.py rename to src/amuse_vader/tests/test_vader.py index 0ecea26c2d..e974353b52 100644 --- a/src/amuse/test/suite/codes_tests/test_vader.py +++ b/src/amuse_vader/tests/test_vader.py @@ -1,10 +1,10 @@ import numpy as np from amuse.community import * -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI from amuse.units import units, constants -from amuse.community.vader.interface import VaderInterface, Vader +from amuse_vader.interface import VaderInterface, Vader default_options = dict() diff --git a/src/pyproject.toml b/src/pyproject.toml new file mode 100644 index 0000000000..c51f3eba74 --- /dev/null +++ b/src/pyproject.toml @@ -0,0 +1,54 @@ +[project] +name = "amuse-framework" +dynamic = ["version"] +requires-python = ">=3.7" +dependencies = [ + # the conda-equivalents of these are in ./setup, so update there as well + "docutils>=0.6", + "mpi4py>=1.1.0", + "numpy>=1.2.2", + "h5py>=1.1.0" +] + +[project.optional-dependencies] +MPI = ["mpi4py>=1.1.0"] + +[project.scripts] +amusifier = "amuse.rfi.gencode:amusifier" + +[build-system] +requires = ["hatchling", "versioningit"] +build-backend = "hatchling.build" + +[tool.hatch.version] +source = "versioningit" + +# This configuration matches what setuptools_scm did before +[tool.versioningit.next-version] +method = "smallest" + +[tool.versioningit.format] +distance = "{next_version}.dev{distance}+{vcs}{rev}" +dirty = "{base_version}+d{build_date:%Y%m%d}" +distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}" + +[tool.versioningit.write] +file = "amuse/_version.py" + +[tool.hatch.build] +skip-excluded-dirs = true + +[tool.hatch.build.targets.wheel] +include = [ + "amuse/**/*.py", "amuse/rfi/tools/*.template", + "amuse/rfi/tools/dir_templates/*", "amuse/ext/bbr_color.txt"] + +artifacts = ["amuse/_version.py"] + +[tool.hatch.build.targets.wheel.force-include] +"amuse/rfi/tools/dir_templates/support_shared_m4" = "amuse/rfi/tools/dir_templates/support_shared_m4" + +[tool.pytest.ini_options] +pythonpath = ["tests/"] +testpaths = ["tests/"] + diff --git a/src/tests/.gitignore b/src/tests/.gitignore new file mode 100644 index 0000000000..438c0b7203 --- /dev/null +++ b/src/tests/.gitignore @@ -0,0 +1,2 @@ +interface + diff --git a/src/tests/Makefile b/src/tests/Makefile new file mode 100644 index 0000000000..06bfe3a531 --- /dev/null +++ b/src/tests/Makefile @@ -0,0 +1,32 @@ +ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS))) +include support/config.mk +endif + +include support/shared/venv.mk + +LD_LIBRARY_PATH += $(ENV_LIBRARY_PATH) +PYTHONPATH += $(CURDIR) + +export + +# Detecting dependencies +support/config.mk: support/config.mk.in support/configure + cd support && ./configure + + +# Only the compile tests and the speed test need compiling, forward there +# Target 'all' will build all the workers for all the tests +ifneq (,$(filter-out distclean, $(MAKECMDGOALS))) +.PHONY: $(MAKECMDGOALS) +$(MAKECMDGOALS): + $(MAKE) -C compile_tests $(MAKECMDGOALS) + $(MAKE) -C reports $(MAKECMDGOALS) +endif + + +.PHONY: distclean +distclean: + $(MAKE) -C compile_tests distclean + rm -f support/config.mk support/config.status support/config.log support/configure~ + rm -rf support/autom4te.cache + diff --git a/src/amuse/test/suite/compile_tests/__init__.py b/src/tests/__init__.py similarity index 100% rename from src/amuse/test/suite/compile_tests/__init__.py rename to src/tests/__init__.py diff --git a/src/amuse/community/rebound/patches/build b/src/tests/code.out similarity index 100% rename from src/amuse/community/rebound/patches/build rename to src/tests/code.out diff --git a/src/amuse/test/suite/core_tests/__init__.py b/src/tests/codes_tests/__init__.py similarity index 100% rename from src/amuse/test/suite/core_tests/__init__.py rename to src/tests/codes_tests/__init__.py diff --git a/src/amuse/test/suite/codes_tests/gd_tests.py b/src/tests/codes_tests/gd_tests.py similarity index 100% rename from src/amuse/test/suite/codes_tests/gd_tests.py rename to src/tests/codes_tests/gd_tests.py diff --git a/src/amuse/test/suite/codes_tests/legacy_support.py b/src/tests/codes_tests/legacy_support.py similarity index 100% rename from src/amuse/test/suite/codes_tests/legacy_support.py rename to src/tests/codes_tests/legacy_support.py diff --git a/src/amuse/test/suite/codes_tests/test_bonsai.py b/src/tests/codes_tests/test_bonsai.py similarity index 100% rename from src/amuse/test/suite/codes_tests/test_bonsai.py rename to src/tests/codes_tests/test_bonsai.py diff --git a/src/amuse/test/suite/codes_tests/test_bonsai2.py b/src/tests/codes_tests/test_bonsai2.py similarity index 100% rename from src/amuse/test/suite/codes_tests/test_bonsai2.py rename to src/tests/codes_tests/test_bonsai2.py diff --git a/src/amuse/test/suite/codes_tests/test_bridge.py b/src/tests/codes_tests/test_bridge.py similarity index 100% rename from src/amuse/test/suite/codes_tests/test_bridge.py rename to src/tests/codes_tests/test_bridge.py diff --git a/src/amuse/test/suite/codes_tests/test_create_dir.py b/src/tests/codes_tests/test_create_dir.py similarity index 100% rename from src/amuse/test/suite/codes_tests/test_create_dir.py rename to src/tests/codes_tests/test_create_dir.py diff --git a/src/amuse/test/suite/codes_tests/test_encounters.py b/src/tests/codes_tests/test_encounters.py similarity index 100% rename from src/amuse/test/suite/codes_tests/test_encounters.py rename to src/tests/codes_tests/test_encounters.py diff --git a/src/amuse/test/suite/codes_tests/test_gravity_codes.py b/src/tests/codes_tests/test_gravity_codes.py similarity index 100% rename from src/amuse/test/suite/codes_tests/test_gravity_codes.py rename to src/tests/codes_tests/test_gravity_codes.py diff --git a/src/amuse/test/suite/codes_tests/test_hacs64.py b/src/tests/codes_tests/test_hacs64.py similarity index 100% rename from src/amuse/test/suite/codes_tests/test_hacs64.py rename to src/tests/codes_tests/test_hacs64.py diff --git a/src/amuse/test/suite/codes_tests/test_interface.py b/src/tests/codes_tests/test_interface.py similarity index 100% rename from src/amuse/test/suite/codes_tests/test_interface.py rename to src/tests/codes_tests/test_interface.py diff --git a/src/amuse/test/suite/codes_tests/test_lab.py b/src/tests/codes_tests/test_lab.py similarity index 100% rename from src/amuse/test/suite/codes_tests/test_lab.py rename to src/tests/codes_tests/test_lab.py diff --git a/src/amuse/test/suite/codes_tests/test_multiples.py b/src/tests/codes_tests/test_multiples.py similarity index 100% rename from src/amuse/test/suite/codes_tests/test_multiples.py rename to src/tests/codes_tests/test_multiples.py diff --git a/src/amuse/test/suite/codes_tests/test_octgrav.py b/src/tests/codes_tests/test_octgrav.py similarity index 100% rename from src/amuse/test/suite/codes_tests/test_octgrav.py rename to src/tests/codes_tests/test_octgrav.py diff --git a/src/amuse/test/suite/codes_tests/test_parallel.py b/src/tests/codes_tests/test_parallel.py similarity index 100% rename from src/amuse/test/suite/codes_tests/test_parallel.py rename to src/tests/codes_tests/test_parallel.py diff --git a/src/amuse/test/suite/codes_tests/test_parameter_doc.py b/src/tests/codes_tests/test_parameter_doc.py similarity index 100% rename from src/amuse/test/suite/codes_tests/test_parameter_doc.py rename to src/tests/codes_tests/test_parameter_doc.py diff --git a/src/amuse/test/suite/codes_tests/test_particle_attributes.py b/src/tests/codes_tests/test_particle_attributes.py similarity index 100% rename from src/amuse/test/suite/codes_tests/test_particle_attributes.py rename to src/tests/codes_tests/test_particle_attributes.py diff --git a/src/amuse/test/suite/codes_tests/test_phigrape.py b/src/tests/codes_tests/test_phigrape.py similarity index 100% rename from src/amuse/test/suite/codes_tests/test_phigrape.py rename to src/tests/codes_tests/test_phigrape.py diff --git a/src/amuse/test/suite/codes_tests/test_pikachu.py b/src/tests/codes_tests/test_pikachu.py similarity index 100% rename from src/amuse/test/suite/codes_tests/test_pikachu.py rename to src/tests/codes_tests/test_pikachu.py diff --git a/src/amuse/test/suite/codes_tests/test_simplex.py b/src/tests/codes_tests/test_simplex.py similarity index 100% rename from src/amuse/test/suite/codes_tests/test_simplex.py rename to src/tests/codes_tests/test_simplex.py diff --git a/src/amuse/test/suite/codes_tests/test_simplex_data.txt b/src/tests/codes_tests/test_simplex_data.txt similarity index 100% rename from src/amuse/test/suite/codes_tests/test_simplex_data.txt rename to src/tests/codes_tests/test_simplex_data.txt diff --git a/src/amuse/test/suite/codes_tests/test_stellar_evolution.py b/src/tests/codes_tests/test_stellar_evolution.py similarity index 100% rename from src/amuse/test/suite/codes_tests/test_stellar_evolution.py rename to src/tests/codes_tests/test_stellar_evolution.py diff --git a/src/tests/compile_tests/Makefile b/src/tests/compile_tests/Makefile new file mode 100644 index 0000000000..69a1cd454c --- /dev/null +++ b/src/tests/compile_tests/Makefile @@ -0,0 +1,11 @@ +.PHONY: Makefile +TESTS = stopping_condition async_implementation c_implementation +TESTS += fortran_implementation grid_implementation + +.PHONY: $(MAKECMDGOALS) +$(MAKECMDGOALS): $(TESTS) + +.PHONY: $(TESTS) +$(TESTS): + $(MAKE) -C $@ $(MAKECMDGOALS) + diff --git a/src/amuse/test/suite/ext_tests/__init__.py b/src/tests/compile_tests/__init__.py similarity index 100% rename from src/amuse/test/suite/ext_tests/__init__.py rename to src/tests/compile_tests/__init__.py diff --git a/src/tests/compile_tests/async_implementation/.gitignore b/src/tests/compile_tests/async_implementation/.gitignore new file mode 100644 index 0000000000..e3f47777fa --- /dev/null +++ b/src/tests/compile_tests/async_implementation/.gitignore @@ -0,0 +1,3 @@ +c_*interface.* +*_worker + diff --git a/src/tests/compile_tests/async_implementation/Makefile b/src/tests/compile_tests/async_implementation/Makefile new file mode 100644 index 0000000000..c9587fc2d2 --- /dev/null +++ b/src/tests/compile_tests/async_implementation/Makefile @@ -0,0 +1,29 @@ +all: async_worker + +# TestInterface +c_code.o: ../c_implementation/c_implementation_test.c + $(MPICC) -c -o $@ $(CFLAGS) -I. $< + +async_code.o: async_test.c ../c_implementation/c_implementation_test.c + $(MPICC) -c -o $@ $(CFLAGS) -I../c_implementation $< + +c_interface.h: interface.py + amusifier --mode=mpi --type=h -o $@ $< ForTestingInterface + +c_interface.c: interface.py + amusifier --mode=mpi --type=c -o $@ $< ForTestingInterface + +c_interface.o: c_interface.c c_interface.h + $(MPICXX) -c -o $@ $(CFLAGS) -I. $< + +async_worker: async_code.o c_code.o c_interface.o + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LIBS) + + +.PHONY: clean +clean: + rm -f c_interface.h c_interface.c *.o *_worker + +.PHONY: distclean +distclean: clean + diff --git a/src/amuse/test/suite/reports/__init__.py b/src/tests/compile_tests/async_implementation/__init__.py similarity index 100% rename from src/amuse/test/suite/reports/__init__.py rename to src/tests/compile_tests/async_implementation/__init__.py diff --git a/src/tests/compile_tests/async_implementation/async_test.c b/src/tests/compile_tests/async_implementation/async_test.c new file mode 100644 index 0000000000..a89a10e229 --- /dev/null +++ b/src/tests/compile_tests/async_implementation/async_test.c @@ -0,0 +1,28 @@ +#include + +float _x[10] = { 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.}; + +int do_sleep(int in) { + sleep(in); + return 0; +} + +int return_error(int * out) { + *out=123; + return -1; +} + +int get_x(int in, float *x) { + *x=_x[in]; + return 0; +} + +int set_x(int in, float x) { + _x[in]=x; + return 0; +} + +int dummy() { + return 0; +} + diff --git a/src/tests/compile_tests/async_implementation/interface.py b/src/tests/compile_tests/async_implementation/interface.py new file mode 100644 index 0000000000..fc11f3fdf7 --- /dev/null +++ b/src/tests/compile_tests/async_implementation/interface.py @@ -0,0 +1,55 @@ +from amuse.rfi.core import * +from compile_tests.c_implementation import interface as c_interface +from amuse.units import units + + +class ForTestingInterface(c_interface.ForTestingInterface): + @legacy_function + def do_sleep(): + function = LegacyFunctionSpecification() + function.addParameter('int_in', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def return_error(): + function = LegacyFunctionSpecification() + function.addParameter('out', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def echo_2_int(): + function = LegacyFunctionSpecification() + function.addParameter('int_in1', dtype='int32', direction=function.IN, unit=units.m) + function.addParameter('int_in2', dtype='int32', direction=function.IN, default=1, unit=units.kg) + function.addParameter('int_out1', dtype='int32', direction=function.OUT, unit=units.m) + function.addParameter('int_out2', dtype='int32', direction=function.OUT, unit=units.kg) + function.addParameter('len', dtype='int32', direction=function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + @legacy_function + def get_x(): + function = LegacyFunctionSpecification() + function.addParameter('index', dtype='int32', direction=function.IN) + function.addParameter('x', dtype='float32', direction=function.OUT, unit=units.m) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def set_x(): + function = LegacyFunctionSpecification() + function.addParameter('index', dtype='int32', direction=function.IN) + function.addParameter('x', dtype='float32', direction=function.IN, unit=units.m) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def dummy(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function diff --git a/src/amuse/test/suite/compile_tests/test_async.py b/src/tests/compile_tests/async_implementation/test_async.py similarity index 88% rename from src/amuse/test/suite/compile_tests/test_async.py rename to src/tests/compile_tests/async_implementation/test_async.py index 6a78c965b4..204d6ceda7 100644 --- a/src/amuse/test/suite/compile_tests/test_async.py +++ b/src/tests/compile_tests/async_implementation/test_async.py @@ -1,106 +1,13 @@ +from amuse.rfi import async_request +from amuse.rfi.core import * from amuse.support.interface import InCodeComponentImplementation - -from amuse.test.amusetest import TestWithMPI -from amuse.support import exceptions -from amuse.support import options +from amuse.support.testing.amusetest import TestWithMPI +from compile_tests.async_implementation.interface import ForTestingInterface +from amuse.units import units import os +from pathlib import Path import time -from amuse.units import nbody_system -from amuse.units import units -from amuse import datamodel -from amuse.rfi.tools import create_c -from amuse.rfi import async_request -from amuse.rfi.core import * - -from . import test_c_implementation - -from amuse.test import compile_tools - -from amuse.community.distributed.interface import DistributedAmuse, Pilot - -codestring = test_c_implementation.codestring+""" -#include - -float _x[10] = { 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.}; - -int do_sleep(int in) { - sleep(in); - return 0; -} - -int return_error(int * out) { - *out=123; - return -1; -} - -int get_x(int in, float *x){ - *x=_x[in]; - return 0; - } - -int set_x(int in, float x){ - _x[in]=x; - return 0; - } - -int dummy(){ - return 0; - } - -""" - - -class ForTestingInterface(test_c_implementation.ForTestingInterface): - @legacy_function - def do_sleep(): - function = LegacyFunctionSpecification() - function.addParameter('int_in', dtype='int32', direction=function.IN) - function.result_type = 'int32' - return function - - @legacy_function - def return_error(): - function = LegacyFunctionSpecification() - function.addParameter('out', dtype='int32', direction=function.OUT) - function.result_type = 'int32' - return function - - @legacy_function - def echo_2_int(): - function = LegacyFunctionSpecification() - function.addParameter('int_in1', dtype='int32', direction=function.IN, unit=units.m) - function.addParameter('int_in2', dtype='int32', direction=function.IN, default=1, unit=units.kg) - function.addParameter('int_out1', dtype='int32', direction=function.OUT, unit=units.m) - function.addParameter('int_out2', dtype='int32', direction=function.OUT, unit=units.kg) - function.addParameter('len', dtype='int32', direction=function.LENGTH) - function.result_type = 'int32' - function.must_handle_array = True - return function - - @legacy_function - def get_x(): - function = LegacyFunctionSpecification() - function.addParameter('index', dtype='int32', direction=function.IN) - function.addParameter('x', dtype='float32', direction=function.OUT, unit=units.m) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def set_x(): - function = LegacyFunctionSpecification() - function.addParameter('index', dtype='int32', direction=function.IN) - function.addParameter('x', dtype='float32', direction=function.IN, unit=units.m) - function.result_type = 'int32' - function.can_handle_array = True - return function - - @legacy_function - def dummy(): - function = LegacyFunctionSpecification() - function.result_type = 'int32' - return function class ForTesting(InCodeComponentImplementation): @@ -130,14 +37,7 @@ class TestASync(TestWithMPI): @classmethod def setup_class(cls): - print("building...") - cls.check_can_compile_modules() - try: - cls.exefile = compile_tools.build_worker(codestring, cls.get_path_to_results(), ForTestingInterface) - except Exception as ex: - print(ex) - raise - print("done") + cls.exefile = str(Path(__file__).parent / 'async_worker') def test1(self): instance = ForTestingInterface(self.exefile) @@ -416,14 +316,11 @@ def test13(self): instance = ForTesting(self.exefile) r = instance.echo_int(1, return_request=True) - time.sleep(0.1) + r.wait() self.assertTrue(r.is_result_available()) r.result() r = instance.return_error(return_request=True) - time.sleep(0.1) - self.assertTrue(r.is_result_available()) - self.assertTrue(r.is_result_available()) self.assertRaises(Exception, r.result, expected_message="Error when calling 'return_error' of a 'ForTesting', errorcode is -1") self.assertFalse(r.is_result_available()) self.assertTrue(r.is_finished) @@ -850,6 +747,13 @@ class TestASyncDistributed(TestASync): @classmethod def setup_class(cls): + # Importing here so that the file can be imported by pytest even if + # we don't have amuse.community.distributed available + try: + from amuse.community.distributed.interface import DistributedAmuse, Pilot + except ImportError: + cls.skip('Distributed AMUSE is not installed') + cls.check_not_in_mpiexec() super(TestASyncDistributed, cls).setup_class() cls.distinstance = cls.new_instance_of_an_optional_code(DistributedAmuse) # , redirection='none') @@ -881,7 +785,7 @@ def tearDown(cls): def check_not_in_mpiexec(cls): """ The tests will fork another process, if the test run - is itself an mpi process, the tests may fail. + is itself an mpi process, the tests may fail. For the hydra process manager the tests will fail. So skip the tests if we detect hydra diff --git a/src/tests/compile_tests/c_implementation/.gitignore b/src/tests/compile_tests/c_implementation/.gitignore new file mode 100644 index 0000000000..e3f47777fa --- /dev/null +++ b/src/tests/compile_tests/c_implementation/.gitignore @@ -0,0 +1,3 @@ +c_*interface.* +*_worker + diff --git a/src/tests/compile_tests/c_implementation/Makefile b/src/tests/compile_tests/c_implementation/Makefile new file mode 100644 index 0000000000..09b8532387 --- /dev/null +++ b/src/tests/compile_tests/c_implementation/Makefile @@ -0,0 +1,26 @@ +all: c_worker + +# TestInterface +c_code.o: c_implementation_test.c + $(MPICC) -c -o $@ $(CFLAGS) -I. $< + +c_interface.h: interface.py + amusifier --mode=mpi --type=h -o $@ $< ForTestingInterface + +c_interface.c: interface.py + amusifier --mode=mpi --type=c -o $@ $< ForTestingInterface + +c_interface.o: c_interface.c c_interface.h + $(MPICXX) -c -o $@ $(CFLAGS) -I. $< + +c_worker: c_code.o c_interface.o + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LIBS) + + +.PHONY: clean +clean: + rm -f c_interface.h c_interface.c *.o *_worker + +.PHONY: distclean +distclean: clean + diff --git a/src/tests/compile_tests/c_implementation/c_implementation_test.c b/src/tests/compile_tests/c_implementation/c_implementation_test.c new file mode 100644 index 0000000000..c6ade22ecf --- /dev/null +++ b/src/tests/compile_tests/c_implementation/c_implementation_test.c @@ -0,0 +1,131 @@ +#include +#include +#include + +int echo_int(int int_in, int * int_out) { + *int_out = int_in; + if(int_in < 0) { + return -1; + } else { + return 0; + } +} +int echo_long_long_int(long long int int_in, long long int * int_out) { + *int_out = int_in; + if(int_in < 0) { + return -1; + } else { + return 0; + } +} + +int echo_double(double in, double * out) { + *out = in; + return 0; +} + +int echo_float(float in, float * out) { + *out = in; + return 0; +} +int echo_string(char * in, char ** out) { + *out = in; + return 0; +} + +int echo_string_int(int inint, char * in, char ** out) { + *out = in; + return 0; +} + +int echo_string_two(char * in1, char * in2, char ** out1, char ** out2) { + *out1 = in1; + *out2 = in2; + return 0; +} + +int print_string(char * in) { + fprintf(stdout, "%s\\n", in); + return 0; +} + +int print_error_string(char * in) { + fprintf(stderr, "%s\\n", in); + return 0; +} + +int echo_strings(char ** inout1, char ** inout2) { + char * tmp; + tmp = *inout1; + *inout1 = *inout2; + *inout2 = tmp; + + return 0; +} + + +void echo_array(int * in, int * out, int len) { + int i = 0; + for(i = 0; i < len; i++) { + out[i] = in[i]; + } +} + +int echo_array_with_result(int * in, int *out, int len) { + int i = 0; + for(i = 0; i < len; i++) { + out[i] = in[i]; + } + return -1; +} + +int echo_2_int(int * int_in1, int * int_in2, int * int_out1, int * int_out2, int len) { + int i = 0; + for(i = 0; i < len; i++) { + int_out1[i] = int_in1[i]; + int_out2[i] = int_in2[i]; + } + + return len; +} +int echo_3_int(int * i, int * j, int * k, int * l, int * m, int * int_out, int len) { + int x = 0; + for(x = 0; x < len; x++) { + int_out[x] = i[x]; + } + return len; +} + +int dummy_3_int(int i, int j, int k) { + return 0; +} + +int echo_inout_array_with_result(int * inout, int len) { + int i = 0; + for(i = 0; i < len; i++) { + inout[i] = inout[i] + 10; + } + return 11; +} + + +int echo_logical(bool in, bool * out) { + *out = in; + return 0; +} +/* +int echo_string_array(char ** in, char ** out, int len) { + int x = 0; + for(x = 0; x < len; x++) { + out[x] = in[x]; + } + return len; +} +*/ + + +int sum_doubles(double in1, double in2, double * out) { + *out = in1 + in2; + return 0; +} + diff --git a/src/tests/compile_tests/c_implementation/interface.py b/src/tests/compile_tests/c_implementation/interface.py new file mode 100644 index 0000000000..36f0e19d09 --- /dev/null +++ b/src/tests/compile_tests/c_implementation/interface.py @@ -0,0 +1,191 @@ +from amuse.rfi.core import CodeInterface, legacy_function, LegacyFunctionSpecification +from amuse.support.interface import InCodeComponentImplementation + + +class ForTestingInterface(CodeInterface): + include_headers = ['c_interface.h'] + + def __init__(self, exefile, **options): + CodeInterface.__init__(self, exefile, **options) + + @legacy_function + def echo_int(): + function = LegacyFunctionSpecification() + function.addParameter('int_in', dtype='int32', direction=function.IN) + function.addParameter('int_out', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def echo_long_long_int(): + function = LegacyFunctionSpecification() + function.addParameter('in', dtype='int64', direction=function.IN) + function.addParameter('out', dtype='int64', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def echo_double(): + function = LegacyFunctionSpecification() + function.addParameter('double_in', dtype='float64', direction=function.IN) + function.addParameter('double_out', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def echo_float(): + function = LegacyFunctionSpecification() + function.addParameter('float_in', dtype='float32', direction=function.IN) + function.addParameter('float_out', dtype='float32', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def echo_string(): + function = LegacyFunctionSpecification() + function.addParameter('string_in', dtype='string', direction=function.IN) + function.addParameter('string_out', dtype='string', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def echo_strings(): + function = LegacyFunctionSpecification() + function.addParameter('string_inout1', dtype='string', direction=function.INOUT) + function.addParameter('string_inout2', dtype='string', direction=function.INOUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def echo_string_int(): + function = LegacyFunctionSpecification() + function.addParameter('inint', dtype='int32', direction=function.IN) + function.addParameter('in', dtype='string', direction=function.IN, default="echo") + function.addParameter('out', dtype='string', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def echo_string_two(): + function = LegacyFunctionSpecification() + function.addParameter('in1', dtype='string', direction=function.IN) + function.addParameter('in2', dtype='string', direction=function.IN, default="echo") + function.addParameter('out1', dtype='string', direction=function.OUT) + function.addParameter('out2', dtype='string', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def echo_array(): + function = LegacyFunctionSpecification() + function.addParameter('int_in', dtype='int32', direction=function.IN) + function.addParameter('int_out', dtype='int32', direction=function.OUT) + function.addParameter('len', dtype='int32', direction=function.LENGTH) + function.result_type = None + function.must_handle_array = True + return function + + @legacy_function + def echo_array_with_result(): + function = LegacyFunctionSpecification() + function.addParameter('int_in', dtype='int32', direction=function.IN) + function.addParameter('int_out', dtype='int32', direction=function.OUT) + function.addParameter('len', dtype='int32', direction=function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + # @legacy_function + def return_string(): + function = LegacyFunctionSpecification() + function.addParameter('string_in', dtype='string', direction=function.IN) + function.result_type = 'string' + function.can_handle_array = True + return function + + @legacy_function + def echo_2_int(): + function = LegacyFunctionSpecification() + function.addParameter('int_in1', dtype='int32', direction=function.IN) + function.addParameter('int_in2', dtype='int32', direction=function.IN, default=1) + function.addParameter('int_out1', dtype='int32', direction=function.OUT) + function.addParameter('int_out2', dtype='int32', direction=function.OUT) + function.addParameter('len', dtype='int32', direction=function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + @legacy_function + def echo_3_int(): + function = LegacyFunctionSpecification() + function.addParameter('i', dtype='int32', direction=function.IN) + function.addParameter('j', dtype='int32', direction=function.IN) + function.addParameter('k', dtype='int32', direction=function.IN) + function.addParameter('l', dtype='int32', direction=function.IN, default=0) + function.addParameter('m', dtype='int32', direction=function.IN, default=1) + function.addParameter('int_out', dtype='int32', direction=function.OUT) + function.addParameter('len', dtype='int32', direction=function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + @legacy_function + def echo_inout_array_with_result(): + function = LegacyFunctionSpecification() + function.addParameter('in_out', dtype='int32', direction=function.INOUT) + function.addParameter('len', dtype='int32', direction=function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + @legacy_function + def echo_logical(): + function = LegacyFunctionSpecification() + function.addParameter('input', dtype='bool', direction=function.IN) + function.addParameter('output', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def print_string(): + function = LegacyFunctionSpecification() + function.addParameter('string_in', dtype='string', direction=function.IN) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def dummy_3_int(): + function = LegacyFunctionSpecification() + function.addParameter('i', dtype='int32', direction=function.IN) + function.addParameter('j', dtype='int32', direction=function.IN) + function.addParameter('k', dtype='int32', direction=function.IN) + function.result_type = 'int32' + return function + + @legacy_function + def print_error_string(): + function = LegacyFunctionSpecification() + function.addParameter('string_in', dtype='string', direction=function.IN) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def sum_doubles(): + function = LegacyFunctionSpecification() + function.addParameter('double_in1', dtype='float64', direction=function.IN) + function.addParameter('double_in2', dtype='float64', direction=function.IN, default=1.0) + function.addParameter('double_out', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function diff --git a/src/amuse/test/suite/compile_tests/test_c_distributed_implementation.py b/src/tests/compile_tests/c_implementation/test_c_distributed_implementation.py similarity index 76% rename from src/amuse/test/suite/compile_tests/test_c_distributed_implementation.py rename to src/tests/compile_tests/c_implementation/test_c_distributed_implementation.py index 676e2730eb..551b007491 100644 --- a/src/amuse/test/suite/compile_tests/test_c_distributed_implementation.py +++ b/src/tests/compile_tests/c_implementation/test_c_distributed_implementation.py @@ -1,26 +1,21 @@ -from amuse.support.interface import InCodeComponentImplementation - -from amuse.community.distributed.interface import DistributedAmuse, Pilot - -from amuse.test.amusetest import TestWithMPI -from amuse.support import exceptions - import os -import time -from amuse.units import nbody_system -from amuse.units import units -from amuse import datamodel -from amuse.rfi.tools import create_c -from amuse.rfi import channel from amuse.rfi.core import * -from . import test_c_implementation +from compile_tests.c_implementation.test_c_implementation import ( + TestCImplementationInterface) -class TestCDistributedImplementationInterface(test_c_implementation.TestCImplementationInterface): +class TestCDistributedImplementationInterface(TestCImplementationInterface): @classmethod def setup_class(cls): + # Importing here so that the file can be imported by pytest even if + # we don't have amuse.community.distributed available + try: + from amuse.community.distributed.interface import DistributedAmuse, Pilot + except ImportError: + cls.skip('Distributed AMUSE is not installed') + cls.check_not_in_mpiexec() super(TestCDistributedImplementationInterface, cls).setup_class() # ~ print "Setting up distributed code" diff --git a/src/tests/compile_tests/c_implementation/test_c_implementation.py b/src/tests/compile_tests/c_implementation/test_c_implementation.py new file mode 100644 index 0000000000..041465f2fe --- /dev/null +++ b/src/tests/compile_tests/c_implementation/test_c_implementation.py @@ -0,0 +1,418 @@ +from amuse.support.interface import InCodeComponentImplementation + +from amuse.support.testing.amusetest import TestWithMPI +from amuse.support import exceptions + +from compile_tests.c_implementation.interface import ForTestingInterface + +import os +from pathlib import Path +import time +from amuse.units import units +from amuse.rfi.core import * + + +class ForTesting(InCodeComponentImplementation): + + def __init__(self, exefile, **options): + InCodeComponentImplementation.__init__(self, ForTestingInterface(exefile, **options), **options) + + def define_methods(self, object): + object.add_method( + 'echo_int', + (units.m,), + ( + units.m, + object.ERROR_CODE, + ) + ) + + +class TestCImplementationInterface(TestWithMPI): + + @classmethod + def setup_class(cls): + cls.exefile = str(Path(__file__).parent / 'c_worker') + + def test1(self): + instance = ForTestingInterface(self.exefile) + int_out, error = instance.echo_int(10) + instance.stop() + self.assertEqual(int_out, 10) + self.assertEqual(error, 0) + + def test2(self): + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_double(4.0) + instance.stop() + self.assertEqual(out, 4.0) + self.assertEqual(error, 0) + + def test3(self): + instance = ForTestingInterface(self.exefile) + input = [1, 2, 3, 4] + output, errors = instance.echo_int(input) + instance.stop() + self.assertEqual(len(errors), 4) + for actual, expected in zip(output, input): + self.assertEqual(actual, expected) + + def test4(self): + instance = ForTestingInterface(self.exefile) + input = [1.0, 2.1, 3.3, 4.2] + output, errors = instance.echo_double(input) + instance.stop() + self.assertEqual(len(errors), 4) + for actual, expected in zip(output, input): + self.assertEqual(actual, expected) + + def test5(self): + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_float(4.0) + instance.stop() + self.assertEqual(out, 4.0) + self.assertEqual(error, 0) + + def test6(self): + + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_string("abc") + instance.stop() + self.assertEqual(error, 0) + self.assertEqual(out, "abc") + + def test7(self): + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_string(["abc", "def"]) + instance.stop() + + self.assertEqual(error[0], 0) + self.assertEqual(error[1], 0) + self.assertEqual(out[0], "abc") + self.assertEqual(out[1], "def") + + def test7b(self): + instance = ForTestingInterface(self.exefile) + + out, error = instance.echo_int(numpy.arange(2000000)) + + self.assertEqual(error, [0]*2000000) + self.assertEqual(out, numpy.arange(2000000)) + + instance.stop() + + def test7c(self): + instance = ForTestingInterface(self.exefile) + + out, error = instance.echo_string(["abc"]*10) + + self.assertEqual(error, [0]*10) + self.assertEqual(out, ["abc"]*10) + + instance.stop() + + def test7d(self): + instance = ForTestingInterface(self.exefile) + + out, error = instance.echo_string(["abc"]*100000) + + self.assertEqual(error, [0]*100000) + self.assertEqual(out, ["abc"]*100000) + + instance.stop() + + def test8(self): + instance = ForTestingInterface(self.exefile) + out1, out2, error = instance.echo_strings("abc", "def") + instance.stop() + + self.assertEqual(error, 0) + self.assertEqual(out1, "def") + self.assertEqual(out2, "abc") + + def test9(self): + instance = ForTestingInterface(self.exefile) + str1_out, str2_out, error = instance.echo_strings(["abc", "def"], ["ghi", "jkl"]) + instance.stop() + + self.assertEqual(error[0], 0) + self.assertEqual(error[1], 0) + self.assertEqual(str1_out[0], "ghi") + self.assertEqual(str1_out[1], "jkl") + self.assertEqual(str2_out[0], "abc") + self.assertEqual(str2_out[1], "def") + + def xtest10(self): + """test for ticket #74, 'running out of os file descriptors' + + + Note: this test takes a very long time, to enable it + remove the 'X' infront of the test name, to disable it + add an 'X'. + Also note: to test this, you best set the ulimit + to a low number (but not too low), for example + ulimit -n 400 + """ + for x in range(400): + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_float(4.0) + if x % 100 == 0: + print("x:", x) + instance.stop() + + def test11(self): + instance = ForTestingInterface(self.exefile) + (output_ints,) = instance.echo_array([4, 5, 6]) + instance.stop() + print(output_ints) + self.assertEqual(output_ints[0], 4) + self.assertEqual(output_ints[1], 5) + self.assertEqual(output_ints[2], 6) + + def test12(self): + instance = ForTestingInterface(self.exefile) + (output_ints, error) = instance.echo_array_with_result([4, 5, 6]) + instance.stop() + self.assertEqual(output_ints[0], 4) + self.assertEqual(output_ints[1], 5) + self.assertEqual(output_ints[2], 6) + + self.assertEqual(error[0], -1) + self.assertEqual(error[1], -1) + self.assertEqual(error[2], -1) + + def test13(self): + instance = ForTesting(self.exefile) + self.assertRaises(exceptions.AmuseException, instance.echo_int, [-1, -2] | units.m, + expected_message="Error when calling 'echo_int' of a 'ForTesting', errorcode is -1") + instance.stop() + + def test14(self): + instance = ForTesting(self.exefile) + self.assertRaises(exceptions.CodeException, lambda: instance.echo_int()) + old_id = instance.legacy_interface.echo_int.specification.id + instance.legacy_interface.echo_int.specification.id = -9 + self.assertRaises(exceptions.CodeException, lambda: instance.echo_int(1 | units.m)) + instance.legacy_interface.echo_int.specification.id = old_id + instance.echo_int(1 | units.m) + instance.stop() + + def test15(self): + instance = ForTesting(self.exefile) + output_ints1, output_ints2 = instance.echo_2_int([1, 2], [3, 4]) + output_ints3, output_ints4 = instance.echo_2_int([1, 2, 3]) + output_ints5, output_ints6 = instance.echo_2_int([5], [0]) + output_ints7, output_ints8 = instance.echo_2_int([5]) + instance.stop() + self.assertEqual(output_ints1[1], 2) + self.assertEqual(output_ints2[0], 3) + self.assertEqual(output_ints2[1], 4) + for i in range(3): + self.assertEqual(output_ints3[i], i + 1) + self.assertEqual(output_ints4[i], 1) + self.assertEqual(output_ints5[0], 5) + self.assertEqual(output_ints6[0], 0) + self.assertEqual(output_ints7[0], 5) + self.assertEqual(output_ints8[0], 1) + + def test16(self): + instance = ForTesting(self.exefile) + + self.assertRaises(exceptions.AmuseException, lambda: instance.echo_int([])) + instance.stop() + + def test17(self): + instance = ForTestingInterface(self.exefile) + (output_ints, error) = instance.echo_inout_array_with_result([4, 5, 6]) + instance.stop() + self.assertEqual(output_ints[0], 14) + self.assertEqual(output_ints[1], 15) + self.assertEqual(output_ints[2], 16) + + self.assertEqual(error[0], 11) + self.assertEqual(error[1], 11) + self.assertEqual(error[2], 11) + + def test18(self): + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_logical([True, False, True]) + instance.stop() + self.assertEqual(out, [True, False, True]) + self.assertEqual(error, 0) + + def test19(self): + instance = ForTestingInterface(self.exefile) + print(3935559000370003845) + int_out, error = instance.echo_long_long_int(3935559000370003845) + instance.stop() + self.assertEqual(int_out, 3935559000370003845) + self.assertEqual(error, 0) + + def xtest20(self): + + # + # TURNED OFF support for redirection, + # by default output is redirected to /dev/null + # if you need file, use the support from your mpi implementation + # + if os.path.exists("pout.000"): + os.remove("pout.000") + if os.path.exists("perr.000"): + os.remove("perr.000") + + x = ForTesting(self.exefile, redirect_stderr_file='perr', redirect_stdout_file='pout', redirection="file") + x.print_string("abc") + x.print_error_string("exex") + x.stop() + + time.sleep(0.2) + + self.assertTrue(os.path.exists("pout.000")) + with open("pout.000", "r") as f: + content = f.read() + self.assertEqual(content.strip(), "abc") + + self.assertTrue(os.path.exists("perr.000")) + with open("perr.000", "r") as f: + content = f.read() + self.assertEqual(content.strip(), "exex") + + x = ForTesting(self.exefile, redirect_stderr_file='pout', redirect_stdout_file='pout', redirection="file") + x.print_string("def") + x.print_error_string("exex") + x.stop() + + time.sleep(0.2) + + self.assertTrue(os.path.exists("pout.000")) + with open("pout.000", "r") as f: + content = f.read() + self.assertEqual(content.strip(), "abc\ndef\nexex") + + def test21(self): + instance = ForTestingInterface(self.exefile) + (output1, error1) = instance.internal__get_message_polling_interval() + error2 = instance.internal__set_message_polling_interval(1234) + (output2, error3) = instance.internal__get_message_polling_interval() + instance.internal__set_message_polling_interval(0) + instance.stop() + self.assertEqual(error1, 0) + self.assertEqual(output1, 0) + self.assertEqual(error2, 0) + self.assertEqual(error3, 0) + self.assertEqual(output2, 1234) + + def test22(self): + self.check_for_mpi() + instance = ForTestingInterface(self.exefile) + t0 = time.time() + (output1, error1) = instance.internal__get_message_polling_interval() + t1 = time.time() + error2 = instance.internal__set_message_polling_interval(500 * 1000) + t2 = time.time() + (output2, error3) = instance.internal__get_message_polling_interval() + t3 = time.time() + instance.stop() + self.assertEqual(error1, 0) + self.assertEqual(output1, 0) + self.assertEqual(error2, 0) + self.assertEqual(error3, 0) + self.assertEqual(output2, 500 * 1000) + # the following is not necessarily true since polling interval is the maximum wait time + # ~ self.assertTrue((t3 - t2) > 0.25) + + def test23(self): + + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_string_int(1) + instance.stop() + self.assertEqual(error, 0) + self.assertEqual(out, "echo") + + def test24(self): + + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_string_int(1, "abc") + instance.stop() + self.assertEqual(error, 0) + self.assertEqual(out, "abc") + + def test25(self): + + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_string_int([1, 2]) + instance.stop() + self.assertEqual(error, 0) + self.assertEqual(out[0], "echo") + self.assertEqual(out[1], "echo") + + def test26(self): + + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_string_int([1, 2], ["abc", "def"]) + instance.stop() + self.assertEqual(error, 0) + self.assertEqual(out[0], "abc") + self.assertEqual(out[1], "def") + + def test27(self): + + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_string_int([1, 2], "abc") + instance.stop() + self.assertEqual(error, 0) + self.assertEqual(out[0], "abc") + self.assertEqual(out[1], "abc") + + def test28(self): + instance = ForTestingInterface(self.exefile) + out1, out2, error = instance.echo_string_two(["one", "two"], "three") + instance.stop() + self.assertEqual(error, 0) + self.assertEqual(out1[0], "one") + self.assertEqual(out1[1], "two") + self.assertEqual(out2[0], "three") + self.assertEqual(out2[1], "three") + + def test29(self): + self.check_for_mpi() + instance1 = ForTestingInterface(self.exefile) + instance2 = ForTestingInterface(self.exefile) + portname, error = instance1.internal__open_port() + self.assertTrue(len(portname) > 0) + request1 = instance1.internal__accept_on_port.asynchronous(portname) + request2 = instance2.internal__connect_to_port.asynchronous(portname) + request1.wait() + request2.wait() + port_id1, error1 = request1.result() + port_id2, error2 = request2.result() + self.assertTrue(port_id1 >= 0) + self.assertTrue(port_id2 >= 0) + self.assertEqual(error1, 0) + self.assertEqual(error2, 0) + + def test30(self): + from amuse.support.interface import ConvertArgumentsException + instance = ForTesting(self.exefile) + self.assertRaises(ConvertArgumentsException, instance.dummy_3_int, 2, 3, i=1, expected_message="got multiple values for argument 'i' of method dummy_3_int") + instance.stop() + + def test31(self): + x = ForTesting(self.exefile, max_message_length=10) + N = 100 + doubles = x.echo_double([1.0*i for i in range(N)]) + self.assertTrue(list(doubles) == [1.0*i for i in range(N)]) + sums = x.sum_doubles([3.0*i for i in range(N)]) + print(sums) + self.assertTrue(list(sums) == [3.0*i + 1 for i in range(N)]) + N = 101 + doubles = x.echo_double([1.0*i for i in range(N)]) + self.assertTrue(list(doubles) == [1.0*i for i in range(N)]) + sums = x.sum_doubles([3.0*i for i in range(N)]) + self.assertTrue(list(sums) == [3.0*i + 1 for i in range(N)]) + x.stop() + + def test32(self): + for i in range(5): + instance = ForTestingInterface(self.exefile) + instance.stop() diff --git a/src/tests/compile_tests/c_implementation/test_c_implementation_simplified.py b/src/tests/compile_tests/c_implementation/test_c_implementation_simplified.py new file mode 100644 index 0000000000..670d695705 --- /dev/null +++ b/src/tests/compile_tests/c_implementation/test_c_implementation_simplified.py @@ -0,0 +1,374 @@ +from pathlib import Path +import unittest + +from amuse.support.testing.amusetest import TestWithMPI +from compile_tests.c_implementation.interface import ForTestingInterface +from compile_tests.c_implementation.test_c_implementation import ForTesting +from amuse.support import exceptions + +import os +import time +from amuse.units import units +from amuse.rfi.core import * + + +class TestCImplementationInterface(TestWithMPI): + + @classmethod + def setup_class(cls): + cls.exefile = str(Path(__file__).parent / 'c_worker') + + def test1(self): + instance = ForTestingInterface(self.exefile) + int_out, error = instance.echo_int(10) + instance.stop() + self.assertEqual(int_out, 10) + self.assertEqual(error, 0) + + def test2(self): + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_double(4.0) + instance.stop() + self.assertEqual(out, 4.0) + self.assertEqual(error, 0) + + def test3(self): + instance = ForTestingInterface(self.exefile) + input = [1, 2, 3, 4] + output, errors = instance.echo_int(input) + instance.stop() + self.assertEqual(len(errors), 4) + for actual, expected in zip(output, input): + self.assertEqual(actual, expected) + + def test4(self): + instance = ForTestingInterface(self.exefile) + input = [1.0, 2.1, 3.3, 4.2] + output, errors = instance.echo_double(input) + instance.stop() + self.assertEqual(len(errors), 4) + for actual, expected in zip(output, input): + self.assertEqual(actual, expected) + + def test5(self): + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_float(4.0) + instance.stop() + self.assertEqual(out, 4.0) + self.assertEqual(error, 0) + + def test6(self): + + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_string("abc") + instance.stop() + self.assertEqual(error, 0) + self.assertEqual(out, "abc") + + def test7(self): + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_string(["abc", "def"]) + instance.stop() + + self.assertEqual(error[0], 0) + self.assertEqual(error[1], 0) + self.assertEqual(out[0], "abc") + self.assertEqual(out[1], "def") + + def test8(self): + instance = ForTestingInterface(self.exefile) + out1, out2, error = instance.echo_strings("abc", "def") + instance.stop() + + self.assertEqual(error, 0) + self.assertEqual(out1, "def") + self.assertEqual(out2, "abc") + + def test9(self): + instance = ForTestingInterface(self.exefile) + str1_out, str2_out, error = instance.echo_strings(["abc", "def"], ["ghi", "jkl"]) + instance.stop() + + self.assertEqual(error[0], 0) + self.assertEqual(error[1], 0) + self.assertEqual(str1_out[0], "ghi") + self.assertEqual(str1_out[1], "jkl") + self.assertEqual(str2_out[0], "abc") + self.assertEqual(str2_out[1], "def") + + def xtest10(self): + """test for ticket #74, 'running out of os file descriptors' + + + Note: this test takes a very long time, to enable it + remove the 'X' infront of the test name, to disable it + add an 'X'. + Also note: to test this, you best set the ulimit + to a low number (but not too low), for example + ulimit -n 400 + """ + for x in range(400): + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_float(4.0) + if x % 100 == 0: + print("x:", x) + instance.stop() + + def test11(self): + instance = ForTestingInterface(self.exefile) + (output_ints,) = instance.echo_array([4, 5, 6]) + instance.stop() + print(output_ints) + self.assertEqual(output_ints[0], 4) + self.assertEqual(output_ints[1], 5) + self.assertEqual(output_ints[2], 6) + + def test12(self): + instance = ForTestingInterface(self.exefile) + (output_ints, error) = instance.echo_array_with_result([4, 5, 6]) + instance.stop() + self.assertEqual(output_ints[0], 4) + self.assertEqual(output_ints[1], 5) + self.assertEqual(output_ints[2], 6) + + self.assertEqual(error[0], -1) + self.assertEqual(error[1], -1) + self.assertEqual(error[2], -1) + + def test13(self): + instance = ForTesting(self.exefile) + self.assertRaises(exceptions.AmuseException, instance.echo_int, [-1, -2] | units.m, + expected_message= + "Error when calling 'echo_int' of a 'ForTesting', errorcode is -1") + instance.stop() + + def test14(self): + instance = ForTesting(self.exefile) + self.assertRaises(exceptions.CodeException, lambda: instance.echo_int()) + old_id = instance.legacy_interface.echo_int.specification.id + instance.legacy_interface.echo_int.specification.id = -9 + self.assertRaises(exceptions.CodeException, lambda: instance.echo_int(1 | units.m)) + instance.legacy_interface.echo_int.specification.id = old_id + instance.echo_int(1 | units.m) + instance.stop() + + def test15(self): + instance = ForTesting(self.exefile) + output_ints1, output_ints2 = instance.echo_2_int([1, 2], [3, 4]) + output_ints3, output_ints4 = instance.echo_2_int([1, 2, 3]) + output_ints5, output_ints6 = instance.echo_2_int([5], [0]) + output_ints7, output_ints8 = instance.echo_2_int([5]) + instance.stop() + self.assertEqual(output_ints1[1], 2) + self.assertEqual(output_ints2[0], 3) + self.assertEqual(output_ints2[1], 4) + for i in range(3): + self.assertEqual(output_ints3[i], i + 1) + self.assertEqual(output_ints4[i], 1) + self.assertEqual(output_ints5[0], 5) + self.assertEqual(output_ints6[0], 0) + self.assertEqual(output_ints7[0], 5) + self.assertEqual(output_ints8[0], 1) + + def test16(self): + instance = ForTesting(self.exefile) + + self.assertRaises(exceptions.AmuseException, lambda: instance.echo_int([])) + instance.stop() + + def test17(self): + instance = ForTestingInterface(self.exefile) + (output_ints, error) = instance.echo_inout_array_with_result([4, 5, 6]) + instance.stop() + self.assertEqual(output_ints[0], 14) + self.assertEqual(output_ints[1], 15) + self.assertEqual(output_ints[2], 16) + + self.assertEqual(error[0], 11) + self.assertEqual(error[1], 11) + self.assertEqual(error[2], 11) + + def test18(self): + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_logical([True, False, True]) + instance.stop() + self.assertEqual(out, [True, False, True]) + self.assertEqual(error, 0) + + def test19(self): + instance = ForTestingInterface(self.exefile) + print(3935559000370003845) + int_out, error = instance.echo_long_long_int(3935559000370003845) + instance.stop() + self.assertEqual(int_out, 3935559000370003845) + self.assertEqual(error, 0) + + def xtest20(self): + + # + # TURNED OFF support for redirection, + # by default output is redirected to /dev/null + # if you need file, use the support from your mpi implementation + # + if os.path.exists("pout.000"): + os.remove("pout.000") + if os.path.exists("perr.000"): + os.remove("perr.000") + + x = ForTesting(self.exefile, redirect_stderr_file='perr', redirect_stdout_file='pout', redirection="file") + x.print_string("abc") + x.print_error_string("exex") + x.stop() + + time.sleep(0.2) + + self.assertTrue(os.path.exists("pout.000")) + with open("pout.000", "r") as f: + content = f.read() + self.assertEqual(content.strip(), "abc") + + self.assertTrue(os.path.exists("perr.000")) + with open("perr.000", "r") as f: + content = f.read() + self.assertEqual(content.strip(), "exex") + + x = ForTesting(self.exefile, redirect_stderr_file='pout', redirect_stdout_file='pout', redirection="file") + x.print_string("def") + x.print_error_string("exex") + x.stop() + + time.sleep(0.2) + + self.assertTrue(os.path.exists("pout.000")) + with open("pout.000", "r") as f: + content = f.read() + self.assertEqual(content.strip(), "abc\ndef\nexex") + + def test21(self): + instance = ForTestingInterface(self.exefile) + (output1, error1) = instance.internal__get_message_polling_interval() + error2 = instance.internal__set_message_polling_interval(1234) + (output2, error3) = instance.internal__get_message_polling_interval() + instance.internal__set_message_polling_interval(0) + instance.stop() + self.assertEqual(error1, 0) + self.assertEqual(output1, 0) + self.assertEqual(error2, 0) + self.assertEqual(error3, 0) + self.assertEqual(output2, 1234) + + def test22(self): + self.check_for_mpi() + instance = ForTestingInterface(self.exefile) + t0 = time.time() + (output1, error1) = instance.internal__get_message_polling_interval() + t1 = time.time() + error2 = instance.internal__set_message_polling_interval(500 * 1000) + t2 = time.time() + (output2, error3) = instance.internal__get_message_polling_interval() + t3 = time.time() + instance.stop() + self.assertEqual(error1, 0) + self.assertEqual(output1, 0) + self.assertEqual(error2, 0) + self.assertEqual(error3, 0) + self.assertEqual(output2, 500 * 1000) + # ~ print t1 - t0, t3 - t2 + # ~ self.assertTrue((t3 - t2) > 0.25) + + def test23(self): + + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_string_int(1) + instance.stop() + self.assertEqual(error, 0) + self.assertEqual(out, "echo") + + def test24(self): + + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_string_int(1, "abc") + instance.stop() + self.assertEqual(error, 0) + self.assertEqual(out, "abc") + + def test25(self): + + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_string_int([1, 2]) + instance.stop() + self.assertEqual(error, 0) + self.assertEqual(out[0], "echo") + self.assertEqual(out[1], "echo") + + def test26(self): + + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_string_int([1, 2], ["abc", "def"]) + instance.stop() + self.assertEqual(error, 0) + self.assertEqual(out[0], "abc") + self.assertEqual(out[1], "def") + + def test27(self): + + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_string_int([1, 2], "abc") + instance.stop() + self.assertEqual(error, 0) + self.assertEqual(out[0], "abc") + self.assertEqual(out[1], "abc") + + def test28(self): + instance = ForTestingInterface(self.exefile) + out1, out2, error = instance.echo_string_two(["one", "two"], "three") + instance.stop() + self.assertEqual(error, 0) + self.assertEqual(out1[0], "one") + self.assertEqual(out1[1], "two") + self.assertEqual(out2[0], "three") + self.assertEqual(out2[1], "three") + + def test29(self): + self.check_for_mpi() + instance1 = ForTestingInterface(self.exefile) + instance2 = ForTestingInterface(self.exefile) + portname, error = instance1.internal__open_port() + self.assertTrue(len(portname) > 0) + request1 = instance1.internal__accept_on_port.asynchronous(portname) + request2 = instance2.internal__connect_to_port.asynchronous(portname) + request1.wait() + request2.wait() + port_id1, error1 = request1.result() + port_id2, error2 = request2.result() + self.assertTrue(port_id1 >= 0) + self.assertTrue(port_id2 >= 0) + self.assertEqual(error1, 0) + self.assertEqual(error2, 0) + + def test30(self): + from amuse.support.interface import ConvertArgumentsException + instance = ForTesting(self.exefile) + self.assertRaises(ConvertArgumentsException, instance.dummy_3_int, 2, 3, i=1, expected_message="got multiple values for argument 'i' of method dummy_3_int") + instance.stop() + + @unittest.skip + def test31(self): + import time + instance = ForTestingInterface(self.exefile) + N = 5000 + t1 = time.time() + for i in range(N): + res, err = instance.echo_int([i]) + t2 = time.time() + print("1 time:", t2-t1, (t2-t1)/N) + instance.stop() + + instance = ForTesting(self.exefile) + N = 5000 + t1 = time.time() + for i in range(N): + res = instance.echo_int([i] | units.m) + t2 = time.time() + print("2 time:", t2-t1, (t2-t1)/N) + instance.stop() diff --git a/src/amuse/test/suite/compile_tests/test_c_sockets_implementation.py b/src/tests/compile_tests/c_implementation/test_c_sockets_implementation.py similarity index 77% rename from src/amuse/test/suite/compile_tests/test_c_sockets_implementation.py rename to src/tests/compile_tests/c_implementation/test_c_sockets_implementation.py index 8e4db6c0a4..2d9799dfeb 100644 --- a/src/amuse/test/suite/compile_tests/test_c_sockets_implementation.py +++ b/src/tests/compile_tests/c_implementation/test_c_sockets_implementation.py @@ -1,22 +1,15 @@ from amuse.support.interface import InCodeComponentImplementation -from amuse.test.amusetest import TestWithMPI -from amuse.support import exceptions from amuse.support import options import os -import time -from amuse.units import nbody_system -from amuse.units import units -from amuse import datamodel -from amuse.rfi.tools import create_c -from amuse.rfi import channel from amuse.rfi.core import * -from . import test_c_implementation +from compile_tests.c_implementation.test_c_implementation import ( + TestCImplementationInterface) -class TestCSocketsImplementationInterface(test_c_implementation.TestCImplementationInterface): +class TestCSocketsImplementationInterface(TestCImplementationInterface): @classmethod def setup_class(cls): diff --git a/src/tests/compile_tests/fortran_implementation/.gitignore b/src/tests/compile_tests/fortran_implementation/.gitignore new file mode 100644 index 0000000000..018af0f3f4 --- /dev/null +++ b/src/tests/compile_tests/fortran_implementation/.gitignore @@ -0,0 +1,3 @@ +f_*interface.* +*_worker + diff --git a/src/tests/compile_tests/fortran_implementation/Makefile b/src/tests/compile_tests/fortran_implementation/Makefile new file mode 100644 index 0000000000..a586c3caf7 --- /dev/null +++ b/src/tests/compile_tests/fortran_implementation/Makefile @@ -0,0 +1,23 @@ +all: f_worker + +# TestInterfaceFortran +f_code.o: f_implementation_test.f90 + $(MPIFC) -c -o $@ $(FCFLAGS) $< + +f_interface.f90: interface.py + amusifier --mode=mpi --type=f90 -o $@ $< ForTestingInterface + +f_interface.o: f_interface.f90 + $(MPIFC) -c -o $@ $(FORSOCKETS_CFLAGS) $(FCFLAGS) $< + +f_worker: f_code.o f_interface.o + $(MPIFC) -o $@ $(LDFLAGS) $^ $(FORSOCKETS_LIBS) $(LIBS) + + +.PHONY: clean +clean: + rm -f f_interface.f90 *.mod *.o *_worker + +.PHONY: distclean +distclean: clean + diff --git a/src/tests/compile_tests/fortran_implementation/f_implementation_test.f90 b/src/tests/compile_tests/fortran_implementation/f_implementation_test.f90 new file mode 100644 index 0000000000..79cf45d1fd --- /dev/null +++ b/src/tests/compile_tests/fortran_implementation/f_implementation_test.f90 @@ -0,0 +1,164 @@ +function echo_int(int_in, int_out) + implicit none + integer :: int_in, int_out + integer :: echo_int + + int_out = int_in + + echo_int = 0 +end function + +function echo_double(double_in, double_out) + implicit none + DOUBLE PRECISION :: double_in, double_out + integer :: echo_double + + double_out = double_in + + echo_double = 0 +end function + +function echo_float(float_in, float_out) + implicit none + REAL(kind=4) :: float_in, float_out + integer :: echo_float + + float_out = float_in + + echo_float = 0 +end function + +function echo_string(string_in, string_out) + implicit none + character(len=*) :: string_in, string_out + integer :: echo_string + + string_out = string_in + + echo_string = 0 +end function + +function echo_strings(string_inout1, string_inout2) + implicit none + character(len=*) :: string_inout1, string_inout2 + integer :: echo_strings + + string_inout1(1:1) = 'A' + string_inout2(1:1) = 'B' + + + echo_strings = 0 +end function + + +function return_string(string_in) + implicit none + character(len=*) :: string_in, return_string + + return_string = string_in +end function + + +function hello_string(string_out) + implicit none + character(len=*) :: string_out + integer :: hello_string + + string_out = 'hello' + + hello_string = 0 +end function + +function print_string(string_in) + implicit none + character(len=*) :: string_in + integer :: print_string + + write (*,*) string_in + + print_string = 0 +end function + +function print_error_string(string_in) + implicit none + character(len=*) :: string_in + integer :: print_error_string + + write (0,*) string_in + + print_error_string = 0 +end function + +function echo_string_fixed_len(string_in, string_out) + implicit none + character(len=30) :: string_in, string_out + integer :: echo_string_fixed_len + + string_out = string_in + + echo_string_fixed_len = 0 +end function + +function echo_array_with_result(int_in, int_out, N) + implicit none + integer, intent(in) :: N + integer :: int_in(N), int_out(N) + integer :: echo_array_with_result, i + + do i = 1, N + int_out(i) = int_in(i) + end do + + echo_array_with_result = -1 +end function + + + +function echo_inout_array_with_result(inout, N) + implicit none + integer, intent(in) :: N + integer :: inout(N) + integer :: echo_inout_array_with_result, i + + do i = 1, N + inout(i) = inout(i) + 10 + end do + + echo_inout_array_with_result = 11; +end function + + +function echo_logical(input, output) + implicit none + logical :: input, output + integer :: echo_logical + + output = input + print *, "INPUT=", input + + echo_logical = 0 +end function + +function echo_logical2(input, output, n) + implicit none + logical :: input(n), output(n) + integer :: echo_logical2, n,i + + output(1:n)=.FALSE. + do i=1,n + if(input(i)) then + output(i) = .TRUE. + endif + enddo + + echo_logical2 = 0 +end function + + +function get_element_status(ind,x) result(ret) + integer :: ind,ret + character(len=*) :: x + x="dry" + ret=0 +end function + diff --git a/src/tests/compile_tests/fortran_implementation/interface.py b/src/tests/compile_tests/fortran_implementation/interface.py new file mode 100644 index 0000000000..1a83e61420 --- /dev/null +++ b/src/tests/compile_tests/fortran_implementation/interface.py @@ -0,0 +1,143 @@ +from amuse.units import units +from amuse.rfi.core import * + + +class ForTestingInterface(CodeInterface): + + def __init__(self, exefile, **options): + CodeInterface.__init__(self, exefile, **options) + + # use_modules=['code'] + + @legacy_function + def echo_int(): + function = LegacyFunctionSpecification() + function.addParameter('int_in', dtype='int32', direction=function.IN, unit=units.m) + function.addParameter('int_out', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def echo_double(): + function = LegacyFunctionSpecification() + function.addParameter('double_in', dtype='float64', direction=function.IN) + function.addParameter('double_out', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def echo_float(): + function = LegacyFunctionSpecification() + function.addParameter('float_in', dtype='float32', direction=function.IN) + function.addParameter('float_out', dtype='float32', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def echo_string(): + function = LegacyFunctionSpecification() + function.addParameter('string_in', dtype='string', direction=function.IN) + function.addParameter('string_out', dtype='string', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def echo_strings(): + function = LegacyFunctionSpecification() + function.addParameter('string_inout1', dtype='string', direction=function.INOUT) + function.addParameter('string_inout2', dtype='string', direction=function.INOUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def return_string(): + function = LegacyFunctionSpecification() + function.addParameter('string_in', dtype='string', direction=function.IN) + function.result_type = 'string' + function.can_handle_array = True + return function + + @legacy_function + def hello_string(): + function = LegacyFunctionSpecification() + function.addParameter('string_out', dtype='string', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def echo_string_fixed_len(): + function = LegacyFunctionSpecification() + function.addParameter('string_in', dtype='string', direction=function.IN) + function.addParameter('string_out', dtype='string', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def echo_array_with_result(): + function = LegacyFunctionSpecification() + function.addParameter('int_in', dtype='int32', direction=function.IN) + function.addParameter('int_out', dtype='int32', direction=function.OUT) + function.addParameter('len', dtype='int32', direction=function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + @legacy_function + def echo_inout_array_with_result(): + function = LegacyFunctionSpecification() + function.addParameter('in_out', dtype='int32', direction=function.INOUT) + function.addParameter('len', dtype='int32', direction=function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + @legacy_function + def echo_logical(): + function = LegacyFunctionSpecification() + function.addParameter('input', dtype='bool', direction=function.IN) + function.addParameter('output', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def echo_logical2(): + function = LegacyFunctionSpecification() + function.addParameter('input', dtype='bool', direction=function.IN) + function.addParameter('output', dtype='bool', direction=function.OUT) + function.addParameter('n', dtype='int32', direction=function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + @legacy_function + def print_string(): + function = LegacyFunctionSpecification() + function.addParameter('string_in', dtype='string', direction=function.IN) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def print_error_string(): + function = LegacyFunctionSpecification() + function.addParameter('string_in', dtype='string', direction=function.IN) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def get_element_status(): + function = LegacyFunctionSpecification() + function.addParameter('index', dtype='i', direction=function.IN) + function.addParameter('status', dtype='string', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function diff --git a/src/tests/compile_tests/fortran_implementation/test_fortran_implementation.py b/src/tests/compile_tests/fortran_implementation/test_fortran_implementation.py new file mode 100644 index 0000000000..7c7852effb --- /dev/null +++ b/src/tests/compile_tests/fortran_implementation/test_fortran_implementation.py @@ -0,0 +1,364 @@ +import unittest +from amuse.support.interface import InCodeComponentImplementation + +from amuse.support.testing.amusetest import TestWithMPI +from compile_tests.fortran_implementation.interface import ForTestingInterface +import os +from pathlib import Path +import time + +from amuse.units import units +from amuse.rfi.core import * + + +class ForTesting(InCodeComponentImplementation): + + def __init__(self, exefile, **options): + InCodeComponentImplementation.__init__(self, ForTestingInterface(exefile, **options), **options) + + """ + def define_methods(self, object): + object.add_method( + 'echo_int', + (units.m,) + , + ( + units.m, + object.ERROR_CODE, + ) + ) + """ + + +class TestInterface(TestWithMPI): + + @classmethod + def skip_if_fortran_does_not_support_mpi(cls): + try: + from amuse import config + is_configured = hasattr(config, 'compilers') and hasattr(config.compilers, 'fc_iso_c_bindings') + except ImportError: + is_configured = False + + if is_configured and config.compilers.fc_iso_c_bindings: + return + else: + cls.skip("cannot run test as fortran does not support iso c bindings") + + @classmethod + def setup_class(cls): + cls.exefile = str(Path(__file__).parent / 'f_worker') + + def test1(self): + instance = ForTestingInterface(self.exefile) + int_out, error = instance.echo_int(10) + del instance + self.assertEqual(int_out, 10) + self.assertEqual(error, 0) + + def test2(self): + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_double(4.0) + del instance + self.assertEqual(out, 4.0) + self.assertEqual(error, 0) + + def test3(self): + instance = ForTestingInterface(self.exefile) + input = [1, 2, 3, 4] + output, errors = instance.echo_int(input) + del instance + self.assertEqual(len(errors), 4) + for actual, expected in zip(output, input): + self.assertEqual(actual, expected) + + def test4(self): + instance = ForTestingInterface(self.exefile) + input = [1.0, 2.1, 3.3, 4.2] + output, errors = instance.echo_double(input) + del instance + self.assertEqual(len(errors), 4) + for actual, expected in zip(output, input): + self.assertEqual(actual, expected) + + def test5(self): + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_float(4.0) + del instance + self.assertEqual(out, 4.0) + self.assertEqual(error, 0) + + def test6(self): + + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_string("abc") + del instance + self.assertEqual(error, 0) + self.assertEqual(out, "abc") + + def test7(self): + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_string(["abc", "def"]) + del instance + + self.assertEqual(error[0], 0) + self.assertEqual(error[1], 0) + self.assertEqual(out[0], "abc") + self.assertEqual(out[1], "def") + + def test8(self): + instance = ForTestingInterface(self.exefile) + out1, out2, error = instance.echo_strings("abc", "def") + del instance + + self.assertEqual(error, 0) + self.assertEqual(out1, "Abc") + self.assertEqual(out2, "Bef") + + def test9(self): + instance = ForTestingInterface(self.exefile) + str1_out, str2_out, error = instance.echo_strings(["abc", "def"], ["ghi", "jkl"]) + del instance + + self.assertEqual(error[0], 0) + self.assertEqual(error[1], 0) + self.assertEqual(str1_out[0], "Abc") + self.assertEqual(str1_out[1], "Aef") + self.assertEqual(str2_out[0], "Bhi") + self.assertEqual(str2_out[1], "Bkl") + + def test10(self): + instance = ForTestingInterface(self.exefile) + out = instance.return_string("abc") + del instance + + self.assertEqual(out, "abc") + + def test11(self): + instance = ForTestingInterface(self.exefile) + out, error = instance.hello_string() + del instance + + self.assertEqual(out, "hello") + + def test12(self): + + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_string_fixed_len("abc") + del instance + self.assertEqual(error, 0) + self.assertEqual(out, "abc") + + def test13(self): + instance = ForTestingInterface(self.exefile, debugger="none") + (output_ints, error) = instance.echo_array_with_result([4, 5, 6]) + instance.stop() + print(output_ints, error) + self.assertEqual(output_ints[0], 4) + self.assertEqual(output_ints[1], 5) + self.assertEqual(output_ints[2], 6) + + self.assertEqual(error[0], -1) + self.assertEqual(error[1], -1) + self.assertEqual(error[2], -1) + + def test14(self): + + for x in range(4): + instance = ForTestingInterface(self.exefile) + int_out, error = instance.echo_int(10) + instance.stop() + self.assertEqual(int_out, 10) + self.assertEqual(error, 0) + + def test15(self): + instance = ForTestingInterface(self.exefile) + (output_ints, error) = instance.echo_inout_array_with_result([4, 5, 6]) + instance.stop() + self.assertEqual(output_ints[0], 14) + self.assertEqual(output_ints[1], 15) + self.assertEqual(output_ints[2], 16) + + self.assertEqual(error[0], 11) + self.assertEqual(error[1], 11) + self.assertEqual(error[2], 11) + + def test16(self): + instance = ForTestingInterface(self.exefile) + (output1, error1) = instance.echo_logical(True) + (output2, error2) = instance.echo_logical(False) + instance.stop() + self.assertEqual(error1, 0) + self.assertEqual(error2, 0) + self.assertTrue(output1) + self.assertFalse(output2) + + def test16b(self): + instance = ForTesting(self.exefile) + output = instance.echo_logical([True, True, False, True, False]*256) + self.assertEqual(output, [True, True, False, True, False]*256) + + def test16c(self): + instance = ForTesting(self.exefile, redirection="none") + output = instance.echo_logical2([True, True, False, True, False]*1024) + self.assertEqual(output, [True, True, False, True, False]*1024) + + def xtest20(self): + # + # TURNED OFF support for redirection, + # by default output is redirected to /dev/null + # if you need file, use the support from your mpi implementation + # + if os.path.exists("pout.000"): + os.remove("pout.000") + if os.path.exists("perr.000"): + os.remove("perr.000") + + x = ForTestingInterface(self.exefile, redirect_stderr_file='perr', redirect_stdout_file='pout', redirection="file") + x.print_string("abc") + x.print_error_string("exex") + x.stop() + + time.sleep(0.2) + + self.assertTrue(os.path.exists("pout.000")) + with open("pout.000", "r") as f: + content = f.read() + self.assertEqual(content.strip(), "abc") + + self.assertTrue(os.path.exists("perr.000")) + with open("perr.000", "r") as f: + content = f.read() + self.assertEqual(content.strip(), "exex") + + x = ForTestingInterface(self.exefile, redirect_stderr_file='perr', redirect_stdout_file='pout', redirection="file") + x.print_string("def") + x.print_error_string("exex") + x.stop() + + time.sleep(0.2) + + self.assertTrue(os.path.exists("pout.000")) + with open("pout.000", "r") as f: + content = f.read() + self.assertEqual(content.strip(), "abc\n def") + + self.assertTrue(os.path.exists("perr.000")) + with open("perr.000", "r") as f: + content = f.read() + self.assertEqual(content.strip(), "exex\n exex") + + def test17(self): + self.check_for_mpi() + instance = ForTestingInterface(self.exefile) + (output1, error1) = instance.internal__get_message_polling_interval() + error2 = instance.internal__set_message_polling_interval(1234) + (output2, error3) = instance.internal__get_message_polling_interval() + instance.stop() + self.assertEqual(error1, 0) + self.assertEqual(output1, 0) + self.assertEqual(error2, 0) + self.assertEqual(error3, 0) + self.assertEqual(output2, 1234) + + def test18(self): + self.check_for_mpi() + self.skip_if_fortran_does_not_support_mpi() + + instance = ForTestingInterface(self.exefile) + t0 = time.time() + (output1, error1) = instance.internal__get_message_polling_interval() + t1 = time.time() + error2 = instance.internal__set_message_polling_interval(500 * 1000) + t2 = time.time() + (output2, error3) = instance.internal__get_message_polling_interval() + time.sleep(0.1) + (output2, error3) = instance.internal__get_message_polling_interval() + t3 = time.time() + instance.stop() + self.assertEqual(error1, 0) + self.assertEqual(output1, 0) + self.assertEqual(error2, 0) + self.assertEqual(error3, 0) + self.assertEqual(output2, 500 * 1000) + # ~ print t1 - t0, t3 - t2 + # ~ self.assertTrue((t3 - t2) > 0.25) + + def test19(self): + self.check_for_mpi() + instance1 = ForTestingInterface(self.exefile) + instance2 = ForTestingInterface(self.exefile) + portname, error = instance1.internal__open_port() + self.assertTrue(len(portname) > 0) + request1 = instance1.internal__accept_on_port.asynchronous(portname) + request2 = instance2.internal__connect_to_port.asynchronous(portname) + request1.wait() + request2.wait() + port_id1, error1 = request1.result() + port_id2, error2 = request2.result() + self.assertTrue(port_id1 >= 0) + self.assertTrue(port_id2 >= 0) + self.assertEqual(error1, 0) + self.assertEqual(error2, 0) + + @unittest.skip + def test31(self): + import time + instance = ForTestingInterface(self.exefile) + N = 5000 + t1 = time.time() + for i in range(N): + res, err = instance.echo_int([i]) + t2 = time.time() + print("1 time:", t2-t1, (t2-t1)/N) + instance.stop() + + instance = ForTesting(self.exefile) + N = 5000 + t1 = time.time() + for i in range(N): + res = instance.echo_int([i] | units.m) + t2 = time.time() + print("2 time:", t2-t1, (t2-t1)/N) + instance.stop() + + def test32(self): + instance = ForTestingInterface(self.exefile) + out, error = instance.get_element_status(numpy.arange(10)) + del instance + + self.assertEqual(out, ["dry"]*10) + + def test33(self): + instance = ForTestingInterface(self.exefile) + out, error = instance.get_element_status(numpy.arange(100)) + del instance + + self.assertEqual(out, ["dry"]*100) + + def test34(self): + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_string(["abc"]*14) + del instance + + self.assertEqual(out, ["abc"]*14) + self.assertEqual(error, [0]*14) + + def test35(self): + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_string(["abc", "def"]*100000) + del instance + + self.assertEqual(error[0], 0) + self.assertEqual(error[1], 0) + self.assertEqual(out[-2], "abc") + self.assertEqual(out[-1], "def") + + def test36(self): + instance = ForTestingInterface(self.exefile) + N = 255 + out, error = instance.echo_string("a"*N) + del instance + + self.assertEqual(error, 0) + self.assertEqual(out, "a"*N) diff --git a/src/amuse/test/suite/compile_tests/test_fortran_sockets_implementation.py b/src/tests/compile_tests/fortran_implementation/test_fortran_sockets_implementation.py similarity index 93% rename from src/amuse/test/suite/compile_tests/test_fortran_sockets_implementation.py rename to src/tests/compile_tests/fortran_implementation/test_fortran_sockets_implementation.py index 56e7276deb..1ec43f5acb 100644 --- a/src/amuse/test/suite/compile_tests/test_fortran_sockets_implementation.py +++ b/src/tests/compile_tests/fortran_implementation/test_fortran_sockets_implementation.py @@ -1,18 +1,13 @@ from amuse.support.interface import InCodeComponentImplementation -from amuse.test.amusetest import TestWithMPI -from amuse.test import compile_tools +from amuse.support.testing.amusetest import TestWithMPI import os +from pathlib import Path import time -import shlex -from amuse.units import nbody_system -from amuse.units import units -from amuse import datamodel -from amuse.rfi import channel from amuse.rfi.core import * -from .test_fortran_implementation import codestring, ForTestingInterface +from compile_tests.fortran_implementation.interface import ForTestingInterface class ForTesting(InCodeComponentImplementation): @@ -25,16 +20,8 @@ class TestInterface(TestWithMPI): @classmethod def setup_class(cls): - print("building") - cls.check_can_compile_modules() - cls.check_fortran_version() + cls.exefile = str(Path(__file__).parent / 'f_worker') cls.check_not_in_mpiexec() - cls.exefile = compile_tools.build_fortran_worker(codestring, cls.get_path_to_results(), ForTestingInterface) - print("done") - - @classmethod - def check_fortran_version(self): - pass @classmethod def check_not_in_mpiexec(cls): diff --git a/src/tests/compile_tests/grid_implementation/.gitignore b/src/tests/compile_tests/grid_implementation/.gitignore new file mode 100644 index 0000000000..e3f47777fa --- /dev/null +++ b/src/tests/compile_tests/grid_implementation/.gitignore @@ -0,0 +1,3 @@ +c_*interface.* +*_worker + diff --git a/src/tests/compile_tests/grid_implementation/Makefile b/src/tests/compile_tests/grid_implementation/Makefile new file mode 100644 index 0000000000..74f0d9ae49 --- /dev/null +++ b/src/tests/compile_tests/grid_implementation/Makefile @@ -0,0 +1,26 @@ +all: grid_worker + +# TestInterface +c_code.o: grid_implementation_test.c + $(MPICC) -c -o $@ $(CFLAGS) -I. $< + +c_interface.h: interface.py + amusifier --mode=mpi --type=h -o $@ $< ForTestingInterface + +c_interface.c: interface.py + amusifier --mode=mpi --type=c -o $@ $< ForTestingInterface + +c_interface.o: c_interface.c c_interface.h + $(MPICXX) -c -o $@ $(CFLAGS) -I. $< + +grid_worker: c_code.o c_interface.o + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LIBS) + + +.PHONY: clean +clean: + rm -f c_interface.h c_interface.c *.o *_worker + +.PHONY: distclean +distclean: clean + diff --git a/src/tests/compile_tests/grid_implementation/grid_implementation_test.c b/src/tests/compile_tests/grid_implementation/grid_implementation_test.c new file mode 100644 index 0000000000..63d617f18d --- /dev/null +++ b/src/tests/compile_tests/grid_implementation/grid_implementation_test.c @@ -0,0 +1,19 @@ +#include +#include + +double grid0; +double grid1[10]; +double grid2[10][10]; + +int set0(double in) { + grid0=in; + return 0; +} +int get0(double *out) { + *out=grid0; + return 0; +} +int get_grid0_range() { + return 0; +} + diff --git a/src/tests/compile_tests/grid_implementation/interface.py b/src/tests/compile_tests/grid_implementation/interface.py new file mode 100644 index 0000000000..1501df1553 --- /dev/null +++ b/src/tests/compile_tests/grid_implementation/interface.py @@ -0,0 +1,21 @@ +from amuse.rfi.core import CodeInterface, remote_function +from amuse.units import units + + +class ForTestingInterface(CodeInterface): + include_headers = ['c_interface.h'] + + def __init__(self, exefile, **options): + CodeInterface.__init__(self, exefile, **options) + + @remote_function + def set0(a=0. | units.m): + returns() + + @remote_function + def get0(): + returns(a=0. | units.m) + + @remote_function + def get_grid0_range(): + returns() diff --git a/src/tests/compile_tests/grid_implementation/test_grid_implementation.py b/src/tests/compile_tests/grid_implementation/test_grid_implementation.py new file mode 100644 index 0000000000..413e9631c4 --- /dev/null +++ b/src/tests/compile_tests/grid_implementation/test_grid_implementation.py @@ -0,0 +1,53 @@ +from amuse import datamodel +from amuse.rfi.core import * +from amuse.support import exceptions +from amuse.support.interface import InCodeComponentImplementation +from amuse.support.testing.amusetest import TestWithMPI +from compile_tests.grid_implementation.interface import ForTestingInterface +from amuse.units import units + +import os +from pathlib import Path + + +class ForTesting(InCodeComponentImplementation): + + def __init__(self, exefile, **options): + InCodeComponentImplementation.__init__(self, ForTestingInterface(exefile, **options), **options) + + def define_grids(self, object): + object.define_grid('grid0', grid_class=datamodel.RectilinearGrid, state_guard="before_new_set_instance") + object.set_grid_range('grid0', 'get_grid0_range') + object.add_getter('grid0', 'get0', names=['a']) + object.add_setter('grid0', 'set0', names=['a']) + + +class TestCImplementationInterface(TestWithMPI): + + @classmethod + def setup_class(cls): + cls.exefile = str(Path(__file__).parent / 'grid_worker') + + def test1(self): + instance = ForTestingInterface(self.exefile) + error = instance.set0(1) + a_out, error = instance.get0() + instance.stop() + self.assertEqual(a_out, 1) + self.assertEqual(error, 0) + + def test2(self): + instance = ForTesting(self.exefile) + print(instance.grid0) + instance.grid0.a = 12. | units.m + self.assertEqual(instance.grid0.a, 12. | units.m) + instance.stop() + + def test3(self): + instance1 = ForTesting(self.exefile) + instance2 = ForTesting(self.exefile) + instance1.grid0.a = 12. | units.m + instance1.grid0.new_channel_to(instance2.grid0).copy_all_attributes() + self.assertEqual(instance2.grid0.a, 12. | units.m) + instance1.stop() + instance2.stop() diff --git a/src/tests/compile_tests/java_implementation/.gitignore b/src/tests/compile_tests/java_implementation/.gitignore new file mode 100644 index 0000000000..280c3391d0 --- /dev/null +++ b/src/tests/compile_tests/java_implementation/.gitignore @@ -0,0 +1,3 @@ +CodeInterface.java +Worker.java +*_worker diff --git a/src/tests/compile_tests/java_implementation/Code.java b/src/tests/compile_tests/java_implementation/Code.java new file mode 100644 index 0000000000..a6a81d0c0d --- /dev/null +++ b/src/tests/compile_tests/java_implementation/Code.java @@ -0,0 +1,161 @@ +public class Code implements CodeInterface { + + public Code(String codeDir, String amuseRootDir) { + } + + public void end() { + //IGNORE + } + + // parameter "int_in" is an input parameter + // parameter "int_out" is an output parameter + // parameter "len" is a length parameter + public int echo_array_with_result(int[] int_in, int[] int_out, int len) { + for(int i = 0; i < len; i++) { + int_out[i] = int_in[i]; + } + return -1; + } + + + // parameter "string_in" is an input parameter + public int print_error_string(String[] string_in) { + for(int i = 0; i < string_in.length; i++) { + System.err.println(string_in[i]); + } + return 0; + } + + + // parameter "string_inout1" is an inout parameter + // parameter "string_inout2" is an inout parameter + public int echo_strings(String[] string_inout1, String[] string_inout2) { + for(int i = 0; i < string_inout1.length; i++) { + String tmp = string_inout1[i]; + string_inout1[i] = string_inout2[i]; + string_inout2[i] = tmp; + } + return 0; + } + + + // parameter "double_in" is an input parameter + // parameter "double_out" is an output parameter + public int echo_double(double[] double_in, double[] double_out) { + for(int i = 0; i < double_in.length; i++) { + double_out[i] = double_in[i]; + } + return 0; + } + + + // parameter "float_in" is an input parameter + // parameter "float_out" is an output parameter + public int echo_float(float[] float_in, float[] float_out) { + for(int i = 0; i < float_in.length; i++) { + float_out[i] = float_in[i]; + } + return 0; + } + + + // parameter "int_in" is an input parameter + // parameter "int_out" is an output parameter + public int echo_int(int int_in, int[] int_out) { + int_out[0] = int_in; + if (int_in < 0) { + return -1; + } else { + return 0; + } + } + + // parameter "int_in" is an input parameter + // parameter "int_out" is an output parameter + public int echo_int_array(int[] int_in, int[] int_out) { + for(int i = 0; i < int_in.length; i++) { + int_out[i] = int_in[i]; + } + return 0; + } + + + // parameter "in_out" is an inout parameter + // parameter "len" is a length parameter + public int echo_inout_array_with_result(int[] in_out, int len) { + for(int i = 0; i < len; i++) { + in_out[i] = in_out[i] + 10; + } + return 11; + } + + + // parameter "int_in" is an input parameter + // parameter "int_out" is an output parameter + // parameter "len" is a length parameter + public void echo_array(int[] int_in, int[] int_out, int len) { + for(int i = 0; i < len; i++) { + int_out[i] = int_in[i]; + } + } + + + // parameter "in" is an input parameter + // parameter "out" is an output parameter + public int echo_long_long_int(long[] in, long[] out) { + for(int i = 0; i < in.length; i++) { + out[i] = in[i]; + } + if (in[0] < 0) { + return -1; + } else { + return 0; + } + } + + + // parameter "string_in" is an input parameter + // parameter "string_out" is an output parameter + public int echo_string(String[] string_in, String[] string_out) { + for(int i = 0; i < string_in.length; i++) { + string_out[i] = string_in[i]; + } + return 0; + } + + + // parameter "input" is an input parameter + // parameter "output" is an output parameter + public int echo_logical(boolean[] input, boolean[] output) { + for(int i = 0; i < input.length; i++) { + output[i] = input[i]; + } + return 0; + } + + + // parameter "string_in" is an input parameter + public int print_string(String[] string_in) { + for(int i = 0; i < string_in.length; i++) { + System.out.println(string_in[i]); + } + return 0; + } + + + // parameter "int_in1" is an input parameter + // parameter "int_in2" is an input parameter + // parameter "int_out1" is an output parameter + // parameter "int_out2" is an output parameter + // parameter "len" is a length parameter + public int echo_2_int(int[] int_in1, int[] int_in2, int[] int_out1, int[] int_out2, int len) { + for(int i = 0; i < len; i++) { + int_out1[i] = int_in1[i]; + int_out2[i] = int_in2[i]; + } + + return len; + } + +} + diff --git a/src/tests/compile_tests/java_implementation/Makefile b/src/tests/compile_tests/java_implementation/Makefile new file mode 100644 index 0000000000..03fe444c98 --- /dev/null +++ b/src/tests/compile_tests/java_implementation/Makefile @@ -0,0 +1,32 @@ +all: worker.jar java_worker + + +# TestInterface +%.class: %.java + echo "classpath: ${CLASSPATH}" + $(JAVAC) -cp . $< + +Code.class: CodeInterface.class + +CodeInterface.java: interface.py + amusifier --mode=interface --type=java -o $@ $< ForTestingInterface + +Worker.java: interface.py + amusifier --mode=class --type=java -o $@ $< ForTestingInterface + +# Bit of a hack with the dollar sign here, sorry +worker.jar: Code.class CodeInterface.class Worker.class + $(JAR) -cf $@ $^ Worker\$$AmuseMessage.class + +java_worker: interface.py + amusifier --mode=script --type=java -o $@ $< ForTestingInterface + chmod +x $@ + + +.PHONY: clean +clean: + rm -f CodeInterface.java Worker.java *.class *.jar *_worker + +.PHONY: distclean +distclean: clean + diff --git a/src/tests/compile_tests/java_implementation/interface.py b/src/tests/compile_tests/java_implementation/interface.py new file mode 100644 index 0000000000..9373bd4901 --- /dev/null +++ b/src/tests/compile_tests/java_implementation/interface.py @@ -0,0 +1,151 @@ +from amuse.rfi.core import * + + +class ForTestingInterface(CodeInterface): + + classpath = ['worker.jar'] + cwd = '' + + def __init__(self, exefile, **options): + CodeInterface.__init__(self, exefile, **options) + + # override default channel_type. We don't support the mpi channel... + @option(choices=['mpi', 'remote', 'distributed', 'sockets'], sections=("channel",)) + def channel_type(self): + return 'sockets' + + @legacy_function + def echo_int(): + function = LegacyFunctionSpecification() + function.addParameter('int_in', dtype='int32', direction=function.IN) + function.addParameter('int_out', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + return function + + @legacy_function + def echo_int_array(): + function = LegacyFunctionSpecification() + function.addParameter('int_in', dtype='int32', direction=function.IN) + function.addParameter('int_out', dtype='int32', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def echo_long_long_int(): + function = LegacyFunctionSpecification() + function.addParameter('in', dtype='int64', direction=function.IN) + function.addParameter('out', dtype='int64', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def echo_double(): + function = LegacyFunctionSpecification() + function.addParameter('double_in', dtype='float64', direction=function.IN) + function.addParameter('double_out', dtype='float64', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def echo_float(): + function = LegacyFunctionSpecification() + function.addParameter('float_in', dtype='float32', direction=function.IN) + function.addParameter('float_out', dtype='float32', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def echo_string(): + function = LegacyFunctionSpecification() + function.addParameter('string_in', dtype='string', direction=function.IN) + function.addParameter('string_out', dtype='string', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def echo_strings(): + function = LegacyFunctionSpecification() + function.addParameter('string_inout1', dtype='string', direction=function.INOUT) + function.addParameter('string_inout2', dtype='string', direction=function.INOUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def echo_array(): + function = LegacyFunctionSpecification() + function.addParameter('int_in', dtype='int32', direction=function.IN) + function.addParameter('int_out', dtype='int32', direction=function.OUT) + function.addParameter('len', dtype='int32', direction=function.LENGTH) + function.result_type = None + function.must_handle_array = True + return function + + @legacy_function + def echo_array_with_result(): + function = LegacyFunctionSpecification() + function.addParameter('int_in', dtype='int32', direction=function.IN) + function.addParameter('int_out', dtype='int32', direction=function.OUT) + function.addParameter('len', dtype='int32', direction=function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + # @legacy_function + def return_string(): + function = LegacyFunctionSpecification() + function.addParameter('string_in', dtype='string', direction=function.IN) + function.result_type = 'string' + function.can_handle_array = True + return function + + @legacy_function + def echo_2_int(): + function = LegacyFunctionSpecification() + function.addParameter('int_in1', dtype='int32', direction=function.IN) + function.addParameter('int_in2', dtype='int32', direction=function.IN, default=1) + function.addParameter('int_out1', dtype='int32', direction=function.OUT) + function.addParameter('int_out2', dtype='int32', direction=function.OUT) + function.addParameter('len', dtype='int32', direction=function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + @legacy_function + def echo_inout_array_with_result(): + function = LegacyFunctionSpecification() + function.addParameter('in_out', dtype='int32', direction=function.INOUT) + function.addParameter('len', dtype='int32', direction=function.LENGTH) + function.result_type = 'int32' + function.must_handle_array = True + return function + + @legacy_function + def echo_logical(): + function = LegacyFunctionSpecification() + function.addParameter('input', dtype='bool', direction=function.IN) + function.addParameter('output', dtype='bool', direction=function.OUT) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def print_string(): + function = LegacyFunctionSpecification() + function.addParameter('string_in', dtype='string', direction=function.IN) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def print_error_string(): + function = LegacyFunctionSpecification() + function.addParameter('string_in', dtype='string', direction=function.IN) + function.result_type = 'int32' + function.can_handle_array = True + return function diff --git a/src/tests/compile_tests/java_implementation/test_java_implementation.py b/src/tests/compile_tests/java_implementation/test_java_implementation.py new file mode 100644 index 0000000000..44de8c0756 --- /dev/null +++ b/src/tests/compile_tests/java_implementation/test_java_implementation.py @@ -0,0 +1,291 @@ +from amuse.support.interface import InCodeComponentImplementation +from amuse.support.testing.amusetest import TestWithMPI +from amuse.support import exceptions + +from compile_tests.java_implementation.interface import ForTestingInterface + +import os +import time +from amuse.units import units +from amuse.rfi.core import * + + +class ForTesting(InCodeComponentImplementation): + + def __init__(self, exefile, **options): + InCodeComponentImplementation.__init__(self, ForTestingInterface(exefile, **options), **options) + + def define_methods(self, object): + object.add_method( + 'echo_int', + (units.m,), + ( + units.m, + object.ERROR_CODE, + ) + ) + + +class TestInterface(TestWithMPI): + + @classmethod + def check_not_in_mpiexec(cls): + """ + The tests will fork another process, if the test run + is itself an mpi process, the tests may fail. + + For the hydra process manager the tests will fail. + So skip the tests if we detect hydra + """ + if 'HYDI_CONTROL_FD' in os.environ: + return # can run in modern mpiexec.hydra + if 'HYDRA_CONTROL_FD' in os.environ or 'PMI_FD' in os.environ: + cls.skip('cannot run the socket tests under mpi process manager') + + @classmethod + def get_worker(cls): + """ + Check if the worker is available. If it's not there, + then we don't have Java available and skip the test. + If it is there, return its location. + """ + code_dir = os.path.dirname(__file__) + worker_path = os.path.join(code_dir, "java_worker") + if not os.path.exists(worker_path): + cls.skip("java not enabled") + return worker_path + + @classmethod + def setup_class(cls): + cls.check_not_in_mpiexec() + cls.get_worker() + cls.exefile = cls.get_worker() + + def test1(self): + instance = ForTestingInterface(self.exefile) + int_out, error = instance.echo_int(10) + instance.stop() + self.assertEqual(int_out, 10) + self.assertEqual(error, 0) + + def test2(self): + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_double(4.0) + instance.stop() + self.assertEqual(out, 4.0) + self.assertEqual(error, 0) + + def test3(self): + instance = ForTestingInterface(self.exefile) + input = [1, 2, 3, 4] + output, errors = instance.echo_int_array(input) + instance.stop() + self.assertEqual(len(errors), 4) + for actual, expected in zip(output, input): + self.assertEqual(actual, expected) + + def test4(self): + instance = ForTestingInterface(self.exefile) + input = [1.0, 2.1, 3.3, 4.2] + output, errors = instance.echo_double(input) + instance.stop() + self.assertEqual(len(errors), 4) + for actual, expected in zip(output, input): + self.assertEqual(actual, expected) + + def test5(self): + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_float(4.0) + instance.stop() + self.assertEqual(out, 4.0) + self.assertEqual(error, 0) + + def test6(self): + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_string("abc") + instance.stop() + self.assertEqual(error, 0) + self.assertEqual(out, "abc") + + def test7(self): + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_string(["abc", "def"]) + instance.stop() + + self.assertEqual(error[0], 0) + self.assertEqual(error[1], 0) + self.assertEqual(out[0], "abc") + self.assertEqual(out[1], "def") + + def test8(self): + instance = ForTestingInterface(self.exefile) + out1, out2, error = instance.echo_strings("abc", "def") + instance.stop() + + self.assertEqual(error, 0) + self.assertEqual(out1, "def") + self.assertEqual(out2, "abc") + + def test9(self): + instance = ForTestingInterface(self.exefile) + str1_out, str2_out, error = instance.echo_strings(["abc", "def"], ["ghi", "jkl"]) + instance.stop() + + self.assertEqual(error[0], 0) + self.assertEqual(error[1], 0) + self.assertEqual(str1_out[0], "ghi") + self.assertEqual(str1_out[1], "jkl") + self.assertEqual(str2_out[0], "abc") + self.assertEqual(str2_out[1], "def") + + def xtest10(self): + """test for ticket #74, 'running out of os file descriptors' + + Note: this test takes a very long time, to enable it + remove the 'X' infront of the test name, to disable it + add an 'X'. + Also note: to test this, you best set the ulimit + to a low number (but not too low), for example + ulimit -n 400 + """ + for x in range(400): + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_float(4.0) + instance.stop() + + def test11(self): + instance = ForTestingInterface(self.exefile) + (output_ints,) = instance.echo_array([4, 5, 6]) + instance.stop() + self.assertEqual(output_ints[0], 4) + self.assertEqual(output_ints[1], 5) + self.assertEqual(output_ints[2], 6) + + def test12(self): + instance = ForTestingInterface(self.exefile) + (output_ints, error) = instance.echo_array_with_result([4, 5, 6]) + instance.stop() + self.assertEqual(output_ints[0], 4) + self.assertEqual(output_ints[1], 5) + self.assertEqual(output_ints[2], 6) + + self.assertEqual(error[0], -1) + self.assertEqual(error[1], -1) + self.assertEqual(error[2], -1) + + def test13(self): + instance = ForTesting(self.exefile) + self.assertRaises(exceptions.AmuseException, instance.echo_int, [-1, -2] | units.m, + expected_message="Error when calling 'echo_int' of a 'ForTesting', errorcode is -1") + instance.stop() + + def test14(self): + instance = ForTesting(self.exefile) + self.assertRaises(exceptions.CodeException, lambda: instance.echo_int()) + instance.legacy_interface.echo_int.specification.id = -9 + self.assertRaises(exceptions.CodeException, lambda: instance.echo_int(1 | units.m)) + instance.stop() + + def test15(self): + instance = ForTesting(self.exefile) + output_ints1, output_ints2 = instance.echo_2_int([1, 2], [3, 4]) + output_ints3, output_ints4 = instance.echo_2_int([1, 2, 3]) + output_ints5, output_ints6 = instance.echo_2_int([5], [0]) + output_ints7, output_ints8 = instance.echo_2_int([5]) + instance.stop() + self.assertEqual(output_ints1[1], 2) + self.assertEqual(output_ints2[0], 3) + self.assertEqual(output_ints2[1], 4) + for i in range(3): + self.assertEqual(output_ints3[i], i + 1) + self.assertEqual(output_ints4[i], 1) + self.assertEqual(output_ints5[0], 5) + self.assertEqual(output_ints6[0], 0) + self.assertEqual(output_ints7[0], 5) + self.assertEqual(output_ints8[0], 1) + + def test16(self): + instance = ForTesting(self.exefile) + + # self.assertRaises(exceptions.AmuseException, lambda : instance.echo_int([])) + instance.stop() + + def test17(self): + instance = ForTestingInterface(self.exefile) + (output_ints, error) = instance.echo_inout_array_with_result([4, 5, 6]) + instance.stop() + self.assertEqual(output_ints[0], 14) + self.assertEqual(output_ints[1], 15) + self.assertEqual(output_ints[2], 16) + + self.assertEqual(error[0], 11) + self.assertEqual(error[1], 11) + self.assertEqual(error[2], 11) + + def test18(self): + instance = ForTestingInterface(self.exefile) + out, error = instance.echo_logical([True, False, True]) + instance.stop() + self.assertEqual(out, [True, False, True]) + self.assertEqual(error, 0) + + def test19(self): + instance = ForTestingInterface(self.exefile) + int_out, error = instance.echo_long_long_int(3935559000370003845) + instance.stop() + self.assertEqual(int_out, 3935559000370003845) + self.assertEqual(error, 0) + + def test20(self): + path = os.path.abspath(self.get_path_to_results()) + output = os.path.join(path, "output.txt") + error = os.path.join(path, "error.txt") + + if os.path.exists(output): + os.remove(output) + if os.path.exists(error): + os.remove(error) + + instance = ForTesting(self.exefile, redirect_stderr_file=error, redirect_stdout_file=output, redirection="file") + instance.print_string("test_string_123") + instance.print_error_string("error_string_123") + instance.stop() + + time.sleep(0.2) + + self.assertTrue(os.path.exists(output)) + print(f'Output at {path}') + with open(output, "r") as f: + content = f.read() + self.assertTrue("test_string_123" in content.strip()) + + self.assertTrue(os.path.exists(error)) + with open(error, "r") as f: + content = f.read() + # some times java generates "Picked up _JAVA_OPTIONS" message, so only test: + self.assertTrue(content.strip().endswith("error_string_123")) + + def test21(self): + path = os.path.abspath(self.get_path_to_results()) + output = os.path.join(path, "output.txt") + error = os.path.join(path, "error.txt") + + if os.path.exists(output): + os.remove(output) + if os.path.exists(error): + os.remove(error) + + instance = ForTesting(self.exefile, redirect_stderr_file=output, redirect_stdout_file=output, redirection="file") + + instance.print_string("abcdef") + instance.print_error_string("&Hfecd") + instance.stop() + + time.sleep(0.2) + + self.assertTrue(os.path.exists(output)) + with open(output, "r") as f: + content = f.read() + # some times java generates "Picked up _JAVA_OPTIONS" message, so only test: + self.assertTrue("abcdef" in content) + self.assertTrue("&Hfecd" in content) diff --git a/src/tests/compile_tests/stopping_condition/.gitignore b/src/tests/compile_tests/stopping_condition/.gitignore new file mode 100644 index 0000000000..78e1598282 --- /dev/null +++ b/src/tests/compile_tests/stopping_condition/.gitignore @@ -0,0 +1,4 @@ +c_*interface.* +f_*interface.* +*_worker + diff --git a/src/tests/compile_tests/stopping_condition/Makefile b/src/tests/compile_tests/stopping_condition/Makefile new file mode 100644 index 0000000000..7547c352f8 --- /dev/null +++ b/src/tests/compile_tests/stopping_condition/Makefile @@ -0,0 +1,79 @@ +all: c_worker c_mpi_ext_worker f_worker f_ext_worker f_mpi_ext_worker + +# TestInterface +c_code.o: stopcond_test.c + $(MPICC) -c -o $@ $(STOPCOND_CFLAGS) $(CFLAGS) -I. $< + +c_interface.h: interface.py + amusifier --mode=mpi --type=h -o $@ $< ForTestingInterface + +c_interface.c: interface.py + amusifier --mode=mpi --type=c -o $@ $< ForTestingInterface + +c_interface.o: c_interface.c c_interface.h + $(MPICXX) -c -o $@ $(STOPCOND_CFLAGS) $(CFLAGS) -I. $< + +c_worker: c_code.o c_interface.o + $(MPICXX) -o $@ $(LDFLAGS) $^ $(STOPCOND_LIBS) $(LIBS) + + +# TestInterfaceMP +c_mpi_ext_code.o: stopcond_test.c + $(MPICC) -c -o $@ $(STOPCONDMPI_CFLAGS) $(CFLAGS) -I. $< + +c_ext_interface.h: interface.py + amusifier --mode=mpi --type=h -o $@ $< ForTestingInterfaceFortranModule + +c_ext_interface.c: interface.py + amusifier --mode=mpi --type=c -o $@ $< ForTestingInterfaceFortranModule + +c_mpi_ext_interface.o: c_ext_interface.c c_ext_interface.h + $(MPICXX) -c -o $@ $(STOPCONDMPI_CFLAGS) $(CFLAGS) -I. $< + +c_mpi_ext_worker: c_mpi_ext_code.o c_mpi_ext_interface.o + $(MPICXX) -o $@ $(LDFLAGS) $^ $(STOPCONDMPI_LIBS) $(LIBS) + + +# TestInterfaceFortran +f_code.o: stopcond_test.f + $(MPIFC) -c -o $@ $(STOPCOND_CFLAGS) $(FCFLAGS) $< + +f_interface.f90: interface.py + amusifier --mode=mpi --type=f90 -o $@ $< ForTestingInterface + +f_interface.o: f_interface.f90 + $(MPIFC) -c -o $@ $(STOPCOND_CFLAGS) $(FORSOCKETS_CFLAGS) $(FCFLAGS) $< + +f_worker: f_code.o f_interface.o + $(MPIFC) -o $@ $(LDFLAGS) $^ $(STOPCOND_LIBS) $(FORSOCKETS_LIBS) $(LIBS) + + +# TestInterfaceFortranModule +f_ext_interface.f90: interface.py + amusifier --mode=mpi --type=f90 -o $@ $< ForTestingInterfaceFortranModule + +amuseinterface.o amuseinterface.mod &: amuseinterface.f90 + $(MPIFC) -c -o amuseinterface.o $(STOPCOND_CFLAGS) $(FCFLAGS) $< + +f_ext_interface.o: f_ext_interface.f90 amuseinterface.mod + $(MPIFC) -c -o $@ $(STOPCOND_CFLAGS) $(FORSOCKETS_CFLAGS) $(FCFLAGS) $< + +f_ext_worker: f_code.o f_ext_interface.o amuseinterface.o + $(MPIFC) -o $@ $(LDFLAGS) $^ $(STOPCOND_LIBS) $(FORSOCKETS_LIBS) $(LIBS) + + +# TestInterfaceFortranModuleMultiprocess +f_mpi_ext_interface.o: f_ext_interface.f90 amuseinterface.mod + $(MPIFC) -c -o $@ $(STOPCONDMPI_CFLAGS) $(FORSOCKETS_CFLAGS) $(FCFLAGS) $< + +f_mpi_ext_worker: f_code.o f_mpi_ext_interface.o amuseinterface.o + $(MPIFC) -o $@ $(LDFLAGS) $^ $(STOPCONDMPI_LIBS) $(FORSOCKETS_LIBS) $(LIBS) + + +.PHONY: clean +clean: + rm -f c_*.h c_*.c f_*.f90 *.mod *.o *_worker + +.PHONY: distclean +distclean: clean + diff --git a/src/tests/compile_tests/stopping_condition/amuseinterface.f90 b/src/tests/compile_tests/stopping_condition/amuseinterface.f90 new file mode 100644 index 0000000000..3e08aa6eeb --- /dev/null +++ b/src/tests/compile_tests/stopping_condition/amuseinterface.f90 @@ -0,0 +1,37 @@ +MODULE AmuseInterface +CONTAINS + FUNCTION initialize_code() + use StoppingConditions + IMPLICIT NONE + INTEGER :: initialize_code + INTEGER :: return + initialize_code = 0 + return = set_support_for_condition(COLLISION_DETECTION) + return = set_support_for_condition(PAIR_DETECTION) + END FUNCTION + + FUNCTION fire_condition(condition_to_set, particle_index1, particle_index2, rank) + use StoppingConditions + IMPLICIT NONE + include "mpif.h" + INTEGER :: fire_condition + INTEGER :: my_rank + INTEGER :: error, stopping_index + INTEGER, intent(in) :: condition_to_set, particle_index1, particle_index2, rank + fire_condition = 0 + call mpi_comm_rank(MPI_COMM_WORLD, my_rank, error) + + if (rank.GE.0 .AND. rank.NE.my_rank) then + return + end if + stopping_index = next_index_for_stopping_condition() + error = set_stopping_condition_info(stopping_index, condition_to_set) + if (particle_index1 .GT. 0) then + error = set_stopping_condition_particle_index(stopping_index, 0, particle_index1) + end if + if (particle_index2 .GT. 0) then + error = set_stopping_condition_particle_index(stopping_index, 1, particle_index2) + end if + END FUNCTION +END MODULE + diff --git a/src/tests/compile_tests/stopping_condition/interface.py b/src/tests/compile_tests/stopping_condition/interface.py new file mode 100644 index 0000000000..0b545c07a9 --- /dev/null +++ b/src/tests/compile_tests/stopping_condition/interface.py @@ -0,0 +1,90 @@ +from amuse.community.interface.stopping_conditions import StoppingConditionInterface + +from amuse.rfi.core import CodeInterface, legacy_function, LegacyFunctionSpecification +from amuse.community import NO_UNIT + + +class ForTestingInterface(CodeInterface, StoppingConditionInterface): + def __init__(self, exefile, **options): + CodeInterface.__init__(self, exefile, **options) + + include_headers = ['c_interface.h'] + + @legacy_function + def initialize_code(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + function.can_handle_array = False + return function + + @legacy_function + def reset_stopping_conditions(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + function.can_handle_array = False + return function + + @legacy_function + def next_index_for_stopping_condition(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + function.result_unit = NO_UNIT + function.can_handle_array = False + return function + + @legacy_function + def set_stopping_condition_info(): + function = LegacyFunctionSpecification() + function.addParameter('index', dtype='int32', direction=function.IN) + function.addParameter('index_of_the_condition', dtype='int32', direction=function.IN) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def set_stopping_condition_particle_index(): + function = LegacyFunctionSpecification() + function.addParameter('index', dtype='int32', direction=function.IN) + function.addParameter('index_of_the_condition', dtype='int32', direction=function.IN) + function.addParameter('index_of_the_particle', dtype='int32', direction=function.IN) + function.result_type = 'int32' + function.can_handle_array = True + return function + + @legacy_function + def mpi_setup_stopping_conditions(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + function.can_handle_array = False + return function + + @legacy_function + def mpi_collect_stopping_conditions(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + function.can_handle_array = False + return function + + @legacy_function + def mpi_distribute_stopping_conditions(): + function = LegacyFunctionSpecification() + function.result_type = 'int32' + function.can_handle_array = False + return function + + +class ForTestingInterfaceFortranModule(ForTestingInterface): + use_modules = ['StoppingConditions', 'AmuseInterface'] + + include_headers = ['c_ext_interface.h'] + + @legacy_function + def fire_condition(): + function = LegacyFunctionSpecification() + function.addParameter('condition_to_set', dtype='int32', direction=function.IN) + function.addParameter('particle_index_1', dtype='int32', direction=function.IN) + function.addParameter('particle_index_2', dtype='int32', direction=function.IN) + function.addParameter('rank', dtype='int32', direction=function.IN, default=-1) + function.result_type = 'int32' + function.can_handle_array = True + return function diff --git a/src/tests/compile_tests/stopping_condition/stopcond_test.c b/src/tests/compile_tests/stopping_condition/stopcond_test.c new file mode 100644 index 0000000000..dcb1dbf646 --- /dev/null +++ b/src/tests/compile_tests/stopping_condition/stopcond_test.c @@ -0,0 +1,43 @@ +#ifndef NOMPI +#include +#endif + +#include +#ifdef __cplusplus +extern "C" { +#endif +int initialize_code() { + // AMUSE STOPPING CONDITIONS SUPPORT + supported_conditions = COLLISION_DETECTION_BITMAP | PAIR_DETECTION_BITMAP | TIMEOUT_DETECTION_BITMAP | OUT_OF_BOX_DETECTION_BITMAP; + // ----------------------- + return 0; +} + + +int fire_condition(int condition_to_set, int particle_index1, int particle_index2, int rank) { + int my_rank; + int error, stopping_index; + +#ifndef NOMPI + error = MPI_Comm_rank(MPI_COMM_WORLD, &my_rank); +#else + error = 0; + my_rank = rank; +#endif + if (rank >= 0 && rank != my_rank) { return 0; } + + stopping_index = next_index_for_stopping_condition(); + + error = set_stopping_condition_info(stopping_index, condition_to_set); + if(particle_index1 > 0) { + error = set_stopping_condition_particle_index(stopping_index, 0, particle_index1); + } + if(particle_index2 > 0) { + error = set_stopping_condition_particle_index(stopping_index, 1, particle_index2); + } + return 0; +} +#ifdef __cplusplus +} +#endif + diff --git a/src/tests/compile_tests/stopping_condition/stopcond_test.f b/src/tests/compile_tests/stopping_condition/stopcond_test.f new file mode 100644 index 0000000000..e0639941ff --- /dev/null +++ b/src/tests/compile_tests/stopping_condition/stopcond_test.f @@ -0,0 +1,11 @@ + FUNCTION initialize_code() + IMPLICIT NONE + include "stopcond.inc" + INTEGER :: initialize_code + INTEGER :: set_support_for_condition + INTEGER :: return + initialize_code = 0 + return = set_support_for_condition(COLLISION_DETECTION) + return = set_support_for_condition(PAIR_DETECTION) + RETURN + END FUNCTION diff --git a/src/tests/compile_tests/stopping_condition/test_stopping_conditions.py b/src/tests/compile_tests/stopping_condition/test_stopping_conditions.py new file mode 100644 index 0000000000..bcb56f88fd --- /dev/null +++ b/src/tests/compile_tests/stopping_condition/test_stopping_conditions.py @@ -0,0 +1,652 @@ +from pathlib import Path + +from amuse.support.testing.amusetest import TestWithMPI +from compile_tests.stopping_condition.interface import ( + ForTestingInterface, ForTestingInterfaceFortranModule) + +# cello +from amuse.community.interface.stopping_conditions import StoppingConditions +from amuse.support.interface import InCodeComponentImplementation + +from amuse.units import units +from amuse import datamodel +from amuse.support.exceptions import AmuseException +# from amuse.rfi.core import * +from amuse.community import NO_UNIT + + +class ForTesting(InCodeComponentImplementation): + def __init__(self, exefile, **options): + if 'community_interface' in options: + interface = options['community_interface'] + else: + interface = ForTestingInterface + self.stopping_conditions = StoppingConditions(self) + InCodeComponentImplementation.__init__(self, interface(exefile, **options), **options) + self.my_particles = datamodel.Particles() + + def define_methods(self, object): + self.stopping_conditions.define_methods(object) + + def new_particle(self, mass): + particles = datamodel.Particles(len(mass)) + particles.mass = mass + self.my_particles.add_particles(particles) + return list(range(len(self.my_particles)-len(mass), len(self.my_particles))) + + def get_mass(self, indices): + return self.my_particles.mass[indices] + + def delete_particle(self, particle): + self.my_particles.remove_particle(particle) + + def define_particle_sets(self, object): + object.define_set('particles', 'index_of_the_particle') + object.set_new('particles', 'new_particle') + object.set_delete('particles', 'delete_particle') + object.add_getter('particles', 'get_mass', names=("mass",)) + self.stopping_conditions.define_particle_set(object) + + +class TestInterface(TestWithMPI): + + @classmethod + def setup_class(cls): + cls.exefile = str(Path(__file__).parent / 'c_worker') + + def test1(self): + # ~ print self.exefile + instance = ForTestingInterface(self.exefile) + instance.reset_stopping_conditions() + next = instance.next_index_for_stopping_condition() + next = instance.next_index_for_stopping_condition() + instance.stop() + self.assertEqual(next, 1) + + def test2(self): + instance = ForTesting(self.exefile) # , debugger = "xterm") + instance.initialize_code() + self.assertTrue(instance.stopping_conditions.pair_detection.is_supported()) + self.assertTrue(instance.stopping_conditions.collision_detection.is_supported()) + self.assertFalse(instance.stopping_conditions.escaper_detection.is_supported()) + instance.stop() + + def test3(self): + instance = ForTesting(self.exefile) # , debugger = "xterm") + instance.initialize_code() + self.assertFalse(instance.stopping_conditions.pair_detection.is_enabled()) + instance.stopping_conditions.pair_detection.enable() + self.assertTrue(instance.stopping_conditions.pair_detection.is_enabled()) + instance.stopping_conditions.pair_detection.disable() + self.assertFalse(instance.stopping_conditions.pair_detection.is_enabled()) + instance.stop() + + def test4(self): + instance = ForTesting(self.exefile) + instance.reset_stopping_conditions() + next = instance.next_index_for_stopping_condition() + self.assertFalse(instance.stopping_conditions.pair_detection.is_set()) + # ~ print next,instance.stopping_conditions.pair_detection.type + instance.set_stopping_condition_info(next, instance.stopping_conditions.pair_detection.type) + + self.assertTrue(instance.stopping_conditions.pair_detection.is_set()) + instance.stop() + + def test5(self): + instance = ForTesting(self.exefile) + instance.reset_stopping_conditions() + next = instance.next_index_for_stopping_condition() + self.assertFalse(instance.stopping_conditions.pair_detection.is_set()) + + instance.set_stopping_condition_info(next, instance.stopping_conditions.pair_detection.type) + instance.set_stopping_condition_particle_index(next, 0, 11) + instance.set_stopping_condition_particle_index(next, 1, 12) + self.assertTrue(instance.stopping_conditions.pair_detection.is_set()) + self.assertEqual(11, instance.get_stopping_condition_particle_index(next, 0)) + self.assertEqual(12, instance.get_stopping_condition_particle_index(next, 1)) + instance.stop() + + def test6(self): + instance = ForTesting(self.exefile) + instance.reset_stopping_conditions() + next = instance.next_index_for_stopping_condition() + instance.set_stopping_condition_info(next, instance.stopping_conditions.out_of_box_detection.type) + self.assertTrue(instance.stopping_conditions.out_of_box_detection.is_set()) + instance.stop() + + def test7(self): + instance = ForTesting(self.exefile) + particles = datamodel.Particles(20) + particles.mass = range(1, 21) | units.kg + instance.particles.add_particles(particles) + instance.reset_stopping_conditions() + + pairs = [(11, 12), (0, 4), (3, 18), (7, 2)] + next = instance.next_index_for_stopping_condition() + self.assertFalse(instance.stopping_conditions.pair_detection.is_set()) + instance.set_stopping_condition_info(next, instance.stopping_conditions.pair_detection.type) + instance.set_stopping_condition_particle_index(next, 0, pairs[0][0]) + instance.set_stopping_condition_particle_index(next, 1, pairs[0][1]) + self.assertEqual(11, instance.get_stopping_condition_particle_index(next, 0)) + self.assertEqual(12, instance.get_stopping_condition_particle_index(next, 1)) + self.assertTrue(instance.stopping_conditions.pair_detection.is_set()) + self.assertEqual(len(instance.stopping_conditions.pair_detection.particles(0)), 1) + self.assertEqual(len(instance.stopping_conditions.pair_detection.particles(1)), 1) + + for index1, index2 in pairs[1:]: + next = instance.next_index_for_stopping_condition() + instance.set_stopping_condition_info(next, instance.stopping_conditions.pair_detection.type) + instance.set_stopping_condition_particle_index(next, 0, index1) + instance.set_stopping_condition_particle_index(next, 1, index2) + self.assertEqual(index1, instance.get_stopping_condition_particle_index(next, 0)) + self.assertEqual(index2, instance.get_stopping_condition_particle_index(next, 1)) + self.assertEqual(len(instance.stopping_conditions.pair_detection.particles(0)), 4) + self.assertEqual(len(instance.stopping_conditions.pair_detection.particles(1)), 4) + self.assertEqual(len(instance.stopping_conditions.pair_detection.particles(2)), 0) + + self.assertEqual(instance.stopping_conditions.pair_detection.particles(0).mass, + [first + 1 for first, second in pairs] | units.kg) + self.assertEqual(instance.stopping_conditions.pair_detection.particles(1).mass, + [second + 1 for first, second in pairs] | units.kg) + instance.stop() + + def test8(self): + instance = ForTesting(self.exefile) + instance.initialize_code() + self.assertFalse(instance.stopping_conditions.escaper_detection.is_supported()) + self.assertRaises(AmuseException, instance.stopping_conditions.escaper_detection.enable, expected_message="Can't enable stopping condition 'escaper_detection', since 'ForTesting' does not support this condition.") + instance.stop() + + def test9(self): + instance = ForTestingInterface(self.exefile) + instance.reset_stopping_conditions() + nmax = 2048 + for i in range(nmax): + next = instance.next_index_for_stopping_condition() + # ~ print i, next + self.assertEqual(next, i) + instance.stop() + + +class TestInterfaceMP(TestWithMPI): + + @classmethod + def setup_class(cls): + cls.exefile = str(Path(__file__).parent / 'c_mpi_ext_worker') + + def get_number_of_workers(self): + return 3 + + def test1_noci(self): + number_of_workers = 4 + instance = ForTestingInterface(self.exefile, number_of_workers=number_of_workers) + instance.reset_stopping_conditions() + instance.mpi_setup_stopping_conditions() + instance.enable_stopping_condition(1) + nmax = 50 + for i in range(nmax): + next = instance.next_index_for_stopping_condition() + self.assertEqual(next, i) + i, error = instance.get_number_of_stopping_conditions_set() + self.assertEqual(error, 0) + self.assertEqual(i, nmax) + instance.mpi_collect_stopping_conditions() + i, error = instance.get_number_of_stopping_conditions_set() + self.assertEqual(error, 0) + self.assertEqual(i, number_of_workers * nmax) + + instance.stop() + + def test2_noci(self): + instance = ForTesting( + self.exefile, + community_interface=ForTestingInterfaceFortranModule, + number_of_workers=self.get_number_of_workers() + ) + instance.initialize_code() + instance.reset_stopping_conditions() + instance.mpi_setup_stopping_conditions() + + pair_detection = instance.stopping_conditions.pair_detection + + particles = datamodel.Particles(20) + particles.mass = range(1, 21) | units.kg + instance.particles.add_particles(particles) + + instance.stopping_conditions.pair_detection.enable() + + instance.mpi_distribute_stopping_conditions() + + # ~ print pair_detection.type + instance.fire_condition( + pair_detection.type, + 1, 2, -1 + ) + instance.mpi_collect_stopping_conditions() + self.assertTrue(pair_detection.is_set()) + self.assertEqual(len(pair_detection.particles(0)), self.get_number_of_workers()) + self.assertEqual(len(pair_detection.particles(1)), self.get_number_of_workers()) + self.assertEqual(pair_detection.particles(0).key, particles[1].key) + self.assertEqual(pair_detection.particles(1).key, particles[2].key) + self.assertEqual(pair_detection.particles(0).mass, [2, 2, 2] | units.kg) + self.assertEqual(pair_detection.particles(1).mass, [3, 3, 3] | units.kg) + instance.stop() + + def test5_noci(self): + instance = ForTesting( + self.exefile, + community_interface=ForTestingInterfaceFortranModule, + number_of_workers=self.get_number_of_workers() + ) + instance.initialize_code() + instance.reset_stopping_conditions() + instance.mpi_setup_stopping_conditions() + + pair_detection = instance.stopping_conditions.pair_detection + + particles = datamodel.Particles(20) + particles.mass = range(1, 21) | units.kg + instance.particles.add_particles(particles) + + instance.stopping_conditions.pair_detection.enable() + + instance.mpi_distribute_stopping_conditions() + for rank in range(self.get_number_of_workers()): + # ~ print pair_detection.type + instance.fire_condition( + pair_detection.type, + 1, 2, rank + ) + instance.mpi_collect_stopping_conditions() + self.assertTrue(pair_detection.is_set()) + self.assertEqual(len(pair_detection.particles(0)), 1) + self.assertEqual(len(pair_detection.particles(1)), 1) + self.assertEqual(pair_detection.particles(0).key, particles[1].key) + self.assertEqual(pair_detection.particles(1).key, particles[2].key) + self.assertEqual(pair_detection.particles(0).mass, [2] | units.kg) + self.assertEqual(pair_detection.particles(1).mass, [3] | units.kg) + instance.reset_stopping_conditions() + instance.stopping_conditions.pair_detection.enable() + + instance.stop() + + def test3_noci(self): + instance = ForTesting( + self.exefile, + community_interface=ForTestingInterfaceFortranModule, + number_of_workers=self.get_number_of_workers() + ) + instance.initialize_code() + instance.reset_stopping_conditions() + instance.mpi_setup_stopping_conditions() + + pair_detection = instance.stopping_conditions.pair_detection + + particles = datamodel.Particles(20) + particles.mass = range(1, 21) | units.kg + instance.particles.add_particles(particles) + + instance.stopping_conditions.pair_detection.enable() + + instance.mpi_distribute_stopping_conditions() + + instance.fire_condition( + pair_detection.type, + 1, 2, 0 + ) + instance.fire_condition( + pair_detection.type, + 3, 4, 1 + ) + instance.fire_condition( + pair_detection.type, + 5, 6, 2 + ) + instance.mpi_collect_stopping_conditions() + self.assertTrue(pair_detection.is_set()) + self.assertEqual(len(pair_detection.particles(0)), 3) + self.assertEqual(len(pair_detection.particles(1)), 3) + self.assertEqual(pair_detection.particles(0).key[0], particles[1].key) + self.assertEqual(pair_detection.particles(1).key[0], particles[2].key) + self.assertEqual(pair_detection.particles(0).key[1], particles[3].key) + self.assertEqual(pair_detection.particles(1).key[1], particles[4].key) + self.assertEqual(pair_detection.particles(0).key[2], particles[5].key) + self.assertEqual(pair_detection.particles(1).key[2], particles[6].key) + instance.reset_stopping_conditions() + instance.stopping_conditions.pair_detection.enable() + + instance.stop() + + def test4_noci(self): + instance = ForTesting( + self.exefile, + community_interface=ForTestingInterfaceFortranModule, + number_of_workers=self.get_number_of_workers() + ) + instance.initialize_code() + instance.reset_stopping_conditions() + instance.mpi_setup_stopping_conditions() + + pair_detection = instance.stopping_conditions.pair_detection + + particles = datamodel.Particles(20) + particles.mass = range(1, 21) | units.kg + instance.particles.add_particles(particles) + + instance.stopping_conditions.pair_detection.enable() + + instance.mpi_collect_stopping_conditions() + + instance.fire_condition( + pair_detection.type, + -1, -1, -1 + ) + instance.mpi_distribute_stopping_conditions() + self.assertTrue(pair_detection.is_set()) + self.assertEqual(len(pair_detection.particles(0)), 0) + + instance.stop() + + +class _TestInterfaceFortranSingleProcess: + def get_number_of_workers(self): + return 1 + + def test1(self): + instance = ForTestingInterface(self.exefile, number_of_workers=self.get_number_of_workers()) + instance.reset_stopping_conditions() + next = instance.next_index_for_stopping_condition() + next = instance.next_index_for_stopping_condition() + instance.stop() + self.assertEqual(next, 1) + + def test2(self): + instance = ForTesting(self.exefile, number_of_workers=self.get_number_of_workers()) # , debugger = "xterm") + instance.initialize_code() + self.assertTrue(instance.stopping_conditions.pair_detection.is_supported()) + self.assertTrue(instance.stopping_conditions.collision_detection.is_supported()) + self.assertFalse(instance.stopping_conditions.escaper_detection.is_supported()) + instance.stop() + + def test3(self): + instance = ForTesting(self.exefile, number_of_workers=self.get_number_of_workers()) # , debugger = "xterm") + instance.initialize_code() + self.assertFalse(instance.stopping_conditions.pair_detection.is_enabled()) + instance.stopping_conditions.pair_detection.enable() + self.assertTrue(instance.stopping_conditions.pair_detection.is_enabled()) + instance.stopping_conditions.pair_detection.disable() + self.assertFalse(instance.stopping_conditions.pair_detection.is_enabled()) + instance.stop() + + def test4(self): + instance = ForTesting(self.exefile, number_of_workers=self.get_number_of_workers()) + instance.reset_stopping_conditions() + + next = instance.next_index_for_stopping_condition() + self.assertFalse(instance.stopping_conditions.pair_detection.is_set()) + + instance.set_stopping_condition_info(next, instance.stopping_conditions.pair_detection.type) + + self.assertTrue(instance.stopping_conditions.pair_detection.is_set()) + instance.stop() + + def test5(self): + instance = ForTesting(self.exefile, number_of_workers=self.get_number_of_workers()) + instance.reset_stopping_conditions() + next = instance.next_index_for_stopping_condition() + self.assertFalse(instance.stopping_conditions.pair_detection.is_set()) + + instance.set_stopping_condition_info(next, instance.stopping_conditions.pair_detection.type) + instance.set_stopping_condition_particle_index(next, 0, 11) + instance.set_stopping_condition_particle_index(next, 1, 12) + self.assertTrue(instance.stopping_conditions.pair_detection.is_set()) + self.assertEqual(11, instance.get_stopping_condition_particle_index(next, 0)) + self.assertEqual(12, instance.get_stopping_condition_particle_index(next, 1)) + instance.stop() + + def test6(self): + instance = ForTesting(self.exefile, number_of_workers=self.get_number_of_workers()) + particles = datamodel.Particles(20) + particles.mass = range(1, 21) | units.kg + instance.particles.add_particles(particles) + instance.reset_stopping_conditions() + + pairs = [(11, 12), (0, 4), (3, 18), (7, 2)] + next = instance.next_index_for_stopping_condition() + self.assertFalse(instance.stopping_conditions.pair_detection.is_set()) + instance.set_stopping_condition_info(next, instance.stopping_conditions.pair_detection.type) + instance.set_stopping_condition_particle_index(next, 0, pairs[0][0]) + instance.set_stopping_condition_particle_index(next, 1, pairs[0][1]) + self.assertEqual(11, instance.get_stopping_condition_particle_index(next, 0)) + self.assertEqual(12, instance.get_stopping_condition_particle_index(next, 1)) + self.assertTrue(instance.stopping_conditions.pair_detection.is_set()) + self.assertEqual(len(instance.stopping_conditions.pair_detection.particles(0)), 1) + self.assertEqual(len(instance.stopping_conditions.pair_detection.particles(1)), 1) + + for index1, index2 in pairs[1:]: + next = instance.next_index_for_stopping_condition() + instance.set_stopping_condition_info(next, instance.stopping_conditions.pair_detection.type) + instance.set_stopping_condition_particle_index(next, 0, index1) + instance.set_stopping_condition_particle_index(next, 1, index2) + self.assertEqual(index1, instance.get_stopping_condition_particle_index(next, 0)) + self.assertEqual(index2, instance.get_stopping_condition_particle_index(next, 1)) + self.assertEqual(len(instance.stopping_conditions.pair_detection.particles(0)), 4) + self.assertEqual(len(instance.stopping_conditions.pair_detection.particles(1)), 4) + self.assertEqual(len(instance.stopping_conditions.pair_detection.particles(2)), 0) + + self.assertEqual(instance.stopping_conditions.pair_detection.particles(0).mass, + [first + 1 for first, second in pairs] | units.kg) + self.assertEqual(instance.stopping_conditions.pair_detection.particles(1).mass, + [second + 1 for first, second in pairs] | units.kg) + instance.stop() + + def test8(self): + instance = ForTesting(self.exefile, number_of_workers=self.get_number_of_workers()) + instance.initialize_code() + self.assertFalse(instance.stopping_conditions.escaper_detection.is_supported()) + self.assertRaises(AmuseException, instance.stopping_conditions.escaper_detection.enable, expected_message="Can't enable stopping condition 'escaper_detection', since 'ForTesting' does not support this condition.") + instance.stop() + + def test9(self): + instance = ForTestingInterface(self.exefile, number_of_workers=self.get_number_of_workers()) + instance.initialize_code() + instance.reset_stopping_conditions() + nmax = 2048 + for i in range(nmax): + next = instance.next_index_for_stopping_condition() + # ~ print i, next + self.assertEqual(next, i) + instance.stop() + + +class TestInterfaceFortran(TestWithMPI, _TestInterfaceFortranSingleProcess): + @classmethod + def setup_class(cls): + cls.exefile = str(Path(__file__).parent / 'f_worker') + + +class TestInterfaceFortranModule(TestWithMPI, _TestInterfaceFortranSingleProcess): + @classmethod + def setup_class(cls): + cls.exefile = str(Path(__file__).parent / 'f_ext_worker') + + +class TestInterfaceFortranModuleMultiprocess(TestWithMPI): + @classmethod + def setup_class(cls): + cls.exefile = str(Path(__file__).parent / 'f_mpi_ext_worker') + + def get_number_of_workers(self): + return 3 + + def test1_noci(self): + instance = ForTesting( + self.exefile, + community_interface=ForTestingInterfaceFortranModule, + number_of_workers=self.get_number_of_workers() + ) + instance.initialize_code() + instance.reset_stopping_conditions() + instance.mpi_setup_stopping_conditions() + + pair_detection = instance.stopping_conditions.pair_detection + + particles = datamodel.Particles(20) + particles.mass = range(1, 21) | units.kg + instance.particles.add_particles(particles) + + instance.stopping_conditions.pair_detection.enable() + + instance.mpi_distribute_stopping_conditions() + + # ~ print pair_detection.type + instance.fire_condition( + pair_detection.type, + 1, 2, -1 + ) + instance.mpi_collect_stopping_conditions() + self.assertTrue(pair_detection.is_set()) + self.assertEqual(len(pair_detection.particles(0)), self.get_number_of_workers()) + self.assertEqual(len(pair_detection.particles(1)), self.get_number_of_workers()) + self.assertEqual(pair_detection.particles(0).key, particles[1].key) + self.assertEqual(pair_detection.particles(1).key, particles[2].key) + self.assertEqual(pair_detection.particles(0).mass, [2, 2, 2] | units.kg) + self.assertEqual(pair_detection.particles(1).mass, [3, 3, 3] | units.kg) + instance.stop() + + def test2_noci(self): + instance = ForTesting( + self.exefile, + community_interface=ForTestingInterfaceFortranModule, + number_of_workers=self.get_number_of_workers() + ) + instance.initialize_code() + instance.reset_stopping_conditions() + instance.mpi_setup_stopping_conditions() + + pair_detection = instance.stopping_conditions.pair_detection + + particles = datamodel.Particles(20) + particles.mass = range(1, 21) | units.kg + instance.particles.add_particles(particles) + + instance.stopping_conditions.pair_detection.enable() + + instance.mpi_distribute_stopping_conditions() + for rank in range(self.get_number_of_workers()): + # ~ print pair_detection.type + instance.fire_condition( + pair_detection.type, + 1, 2, rank + ) + instance.mpi_collect_stopping_conditions() + self.assertTrue(pair_detection.is_set()) + self.assertEqual(len(pair_detection.particles(0)), 1) + self.assertEqual(len(pair_detection.particles(1)), 1) + self.assertEqual(pair_detection.particles(0).key, particles[1].key) + self.assertEqual(pair_detection.particles(1).key, particles[2].key) + self.assertEqual(pair_detection.particles(0).mass, [2] | units.kg) + self.assertEqual(pair_detection.particles(1).mass, [3] | units.kg) + instance.reset_stopping_conditions() + instance.stopping_conditions.pair_detection.enable() + + instance.stop() + + def test3_noci(self): + instance = ForTesting( + self.exefile, + community_interface=ForTestingInterfaceFortranModule, + number_of_workers=self.get_number_of_workers() + ) + instance.initialize_code() + instance.reset_stopping_conditions() + instance.mpi_setup_stopping_conditions() + + pair_detection = instance.stopping_conditions.pair_detection + + particles = datamodel.Particles(20) + particles.mass = range(1, 21) | units.kg + instance.particles.add_particles(particles) + + instance.stopping_conditions.pair_detection.enable() + + instance.mpi_distribute_stopping_conditions() + + instance.fire_condition( + pair_detection.type, + 1, 2, 0 + ) + instance.fire_condition( + pair_detection.type, + 3, 4, 1 + ) + instance.fire_condition( + pair_detection.type, + 5, 6, 2 + ) + instance.mpi_collect_stopping_conditions() + self.assertTrue(pair_detection.is_set()) + self.assertEqual(len(pair_detection.particles(0)), 3) + self.assertEqual(len(pair_detection.particles(1)), 3) + self.assertEqual(pair_detection.particles(0).key[0], particles[1].key) + self.assertEqual(pair_detection.particles(1).key[0], particles[2].key) + self.assertEqual(pair_detection.particles(0).key[1], particles[3].key) + self.assertEqual(pair_detection.particles(1).key[1], particles[4].key) + self.assertEqual(pair_detection.particles(0).key[2], particles[5].key) + self.assertEqual(pair_detection.particles(1).key[2], particles[6].key) + instance.reset_stopping_conditions() + instance.stopping_conditions.pair_detection.enable() + + instance.stop() + + def test4_noci(self): + instance = ForTesting( + self.exefile, + community_interface=ForTestingInterfaceFortranModule, + number_of_workers=self.get_number_of_workers() + ) + instance.initialize_code() + instance.reset_stopping_conditions() + instance.mpi_setup_stopping_conditions() + + pair_detection = instance.stopping_conditions.pair_detection + + particles = datamodel.Particles(20) + particles.mass = range(1, 21) | units.kg + instance.particles.add_particles(particles) + + instance.stopping_conditions.pair_detection.enable() + + instance.mpi_collect_stopping_conditions() + + instance.fire_condition( + pair_detection.type, + -1, -1, -1 + ) + instance.mpi_distribute_stopping_conditions() + self.assertTrue(pair_detection.is_set()) + self.assertEqual(len(pair_detection.particles(0)), 0) + + instance.stop() + + def test5_noci(self): + number_of_workers = 4 + instance = ForTestingInterface(self.exefile, + community_interface=ForTestingInterfaceFortranModule, + number_of_workers=number_of_workers) + instance.reset_stopping_conditions() + instance.mpi_setup_stopping_conditions() + instance.enable_stopping_condition(1) + nmax = 50 + for i in range(nmax): + next = instance.next_index_for_stopping_condition() + self.assertEqual(next, i) + i, error = instance.get_number_of_stopping_conditions_set() + self.assertEqual(error, 0) + self.assertEqual(i, nmax) + instance.mpi_collect_stopping_conditions() + i, error = instance.get_number_of_stopping_conditions_set() + self.assertEqual(error, 0) + self.assertEqual(i, number_of_workers * nmax) + + instance.stop() diff --git a/src/amuse/test/suite/compile_tests/test_python_implementation.py b/src/tests/compile_tests/test_python_implementation.py similarity index 99% rename from src/amuse/test/suite/compile_tests/test_python_implementation.py rename to src/tests/compile_tests/test_python_implementation.py index fdd0e82be6..095dadc209 100644 --- a/src/amuse/test/suite/compile_tests/test_python_implementation.py +++ b/src/tests/compile_tests/test_python_implementation.py @@ -1,7 +1,7 @@ from amuse.support.interface import InCodeComponentImplementation -from amuse.test.amusetest import TestWithMPI -from amuse.test.amusetest import TestCase +from amuse.support.testing.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestCase import numpy @@ -245,7 +245,7 @@ def echo_quantities_error(): return function -basic_python_exe = """#!{executable} +basic_python_exe = """#!/usr/bin/env python3 import sys import os from subprocess import call @@ -951,7 +951,10 @@ def test26(self): self.assertEqual(error2, 0) # this test requires that instance1 and instance2 use MPIchannel -# note shutdown of remote process triggers (ignored) invalid communicator error +# TODO: raises an (ignored) exception: +# amuse.support.exceptions.CodeException: Exception when calling function +# '_stop_worker', of code 'ForTestingInterface', exception was 'MPI_ERR_COMM: +# invalid communicator' def test27(self): self.check_for_mpi() instance1 = self.ForTestingInterface(redirection="none") diff --git a/src/amuse/test/suite/compile_tests/test_python_implementation_mpi.py b/src/tests/compile_tests/test_python_implementation_mpi.py similarity index 97% rename from src/amuse/test/suite/compile_tests/test_python_implementation_mpi.py rename to src/tests/compile_tests/test_python_implementation_mpi.py index b1a9c31a2d..24c724ad98 100644 --- a/src/amuse/test/suite/compile_tests/test_python_implementation_mpi.py +++ b/src/tests/compile_tests/test_python_implementation_mpi.py @@ -1,6 +1,6 @@ from amuse.support.interface import InCodeComponentImplementation -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI from amuse import datamodel from amuse.rfi.core import PythonCodeInterface, legacy_function, LegacyFunctionSpecification @@ -106,7 +106,7 @@ def test1(self): self.assertEqual(dens, x**2) interface.stop() - def test2(self): + def test2_noci(self): for n in [3, 5, 6]: interface = self.ForTesting(redirection="none", number_of_workers=n) x = interface.grid.x diff --git a/src/amuse/test/suite/compile_tests/test_python_sockets_implementation.py b/src/tests/compile_tests/test_python_sockets_implementation.py similarity index 87% rename from src/amuse/test/suite/compile_tests/test_python_sockets_implementation.py rename to src/tests/compile_tests/test_python_sockets_implementation.py index 5e7079a245..e9f07e0aa0 100644 --- a/src/amuse/test/suite/compile_tests/test_python_sockets_implementation.py +++ b/src/tests/compile_tests/test_python_sockets_implementation.py @@ -1,6 +1,6 @@ from amuse.support.interface import InCodeComponentImplementation -from amuse.test.amusetest import TestWithMPI, TestCase +from amuse.support.testing.amusetest import TestWithMPI, TestCase import numpy import sys @@ -13,8 +13,8 @@ from amuse.rfi.core import * from amuse.rfi.async_request import AsyncRequestsPool -from . import test_python_implementation -from . import test_python_implementation_mpi +from compile_tests import test_python_implementation +from compile_tests import test_python_implementation_mpi class TestInterfaceSockets(test_python_implementation.TestInterface): @@ -112,8 +112,17 @@ def test8(self): self.assertEqual(output_message.ints[0], 0) self.assertEqual(output_message.ints[1], 20) + def test26(self): + # This fails with a SocketChannel because with a SocketChannel the workers + # are started using mpiexec and connected to using TCP, and then this test + # tries to open an MPI connection using the TCP connection as a side channel. + # OpenMPI requires a separate daemon to be running for that, and we make no + # effort to start it. Not sure why we're testing this in the first place, to + # be investigated later - LV. + self.skip("Skip because it fails with OpenMPI") + def test27(self): - pass # skip because only supported for mpi channel + self.skip("Only supported for mpi channel") class TestInterfaceSocketsMPI(test_python_implementation_mpi.TestInterface): diff --git a/src/amuse/test/suite/ticket_tests/__init__.py b/src/tests/core_tests/__init__.py similarity index 100% rename from src/amuse/test/suite/ticket_tests/__init__.py rename to src/tests/core_tests/__init__.py diff --git a/src/amuse/test/suite/core_tests/evolved.dyn b/src/tests/core_tests/evolved.dyn similarity index 100% rename from src/amuse/test/suite/core_tests/evolved.dyn rename to src/tests/core_tests/evolved.dyn diff --git a/src/amuse/test/suite/core_tests/gadget_snapshot b/src/tests/core_tests/gadget_snapshot similarity index 100% rename from src/amuse/test/suite/core_tests/gadget_snapshot rename to src/tests/core_tests/gadget_snapshot diff --git a/src/amuse/test/suite/core_tests/gassphere_bigendian.dat b/src/tests/core_tests/gassphere_bigendian.dat similarity index 100% rename from src/amuse/test/suite/core_tests/gassphere_bigendian.dat rename to src/tests/core_tests/gassphere_bigendian.dat diff --git a/src/amuse/test/suite/core_tests/gassphere_littleendian.dat b/src/tests/core_tests/gassphere_littleendian.dat similarity index 100% rename from src/amuse/test/suite/core_tests/gassphere_littleendian.dat rename to src/tests/core_tests/gassphere_littleendian.dat diff --git a/src/amuse/test/suite/core_tests/h2048.txt b/src/tests/core_tests/h2048.txt similarity index 100% rename from src/amuse/test/suite/core_tests/h2048.txt rename to src/tests/core_tests/h2048.txt diff --git a/src/amuse/test/suite/core_tests/p10.txt b/src/tests/core_tests/p10.txt similarity index 100% rename from src/amuse/test/suite/core_tests/p10.txt rename to src/tests/core_tests/p10.txt diff --git a/src/amuse/test/suite/core_tests/plummer.dyn b/src/tests/core_tests/plummer.dyn similarity index 100% rename from src/amuse/test/suite/core_tests/plummer.dyn rename to src/tests/core_tests/plummer.dyn diff --git a/src/amuse/test/suite/core_tests/plummer128.nemo b/src/tests/core_tests/plummer128.nemo similarity index 100% rename from src/amuse/test/suite/core_tests/plummer128.nemo rename to src/tests/core_tests/plummer128.nemo diff --git a/src/amuse/test/suite/core_tests/plummer_100.ini b/src/tests/core_tests/plummer_100.ini similarity index 100% rename from src/amuse/test/suite/core_tests/plummer_100.ini rename to src/tests/core_tests/plummer_100.ini diff --git a/src/tests/core_tests/test_amuse_import.py b/src/tests/core_tests/test_amuse_import.py new file mode 100644 index 0000000000..849a08ea6f --- /dev/null +++ b/src/tests/core_tests/test_amuse_import.py @@ -0,0 +1,11 @@ +import sys + +print(sys.path) + + +def test(): + import amuse + + +if __name__ == "__main__": + test() diff --git a/src/amuse/test/suite/core_tests/test_amusetest.py b/src/tests/core_tests/test_amusetest.py similarity index 98% rename from src/amuse/test/suite/core_tests/test_amusetest.py rename to src/tests/core_tests/test_amusetest.py index 77b1b309d2..387c25e754 100644 --- a/src/amuse/test/suite/core_tests/test_amusetest.py +++ b/src/tests/core_tests/test_amusetest.py @@ -1,4 +1,4 @@ -from amuse.test.amusetest import TestCase +from amuse.support.testing.amusetest import TestCase from amuse.support.exceptions import AmuseException from amuse.units import units import sys diff --git a/src/amuse/test/suite/core_tests/test_attribute_error.py b/src/tests/core_tests/test_attribute_error.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_attribute_error.py rename to src/tests/core_tests/test_attribute_error.py index 5040370753..08ee9a53ce 100644 --- a/src/amuse/test/suite/core_tests/test_attribute_error.py +++ b/src/tests/core_tests/test_attribute_error.py @@ -2,7 +2,7 @@ import math import os -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.io import store from amuse.units import units from amuse.units import nbody_system diff --git a/src/amuse/test/suite/core_tests/test_attribute_storage.py b/src/tests/core_tests/test_attribute_storage.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_attribute_storage.py rename to src/tests/core_tests/test_attribute_storage.py index 0fe3009870..c342c05b04 100644 --- a/src/amuse/test/suite/core_tests/test_attribute_storage.py +++ b/src/tests/core_tests/test_attribute_storage.py @@ -1,7 +1,7 @@ import numpy import time -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.datamodel.memory_storage import InMemoryAttributeStorageUseDictionaryForKeySet from amuse.datamodel.memory_storage import InMemoryAttributeStorageUseSortedKeys from amuse.datamodel.memory_storage import get_in_memory_attribute_storage_factory diff --git a/src/amuse/test/suite/core_tests/test_binaryio.py b/src/tests/core_tests/test_binaryio.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_binaryio.py rename to src/tests/core_tests/test_binaryio.py index a82e3c575e..a448c50923 100644 --- a/src/amuse/test/suite/core_tests/test_binaryio.py +++ b/src/tests/core_tests/test_binaryio.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from io import BytesIO from collections import namedtuple diff --git a/src/amuse/test/suite/core_tests/test_bridge.py b/src/tests/core_tests/test_bridge.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_bridge.py rename to src/tests/core_tests/test_bridge.py index 354a27c41d..b125dfebd6 100644 --- a/src/amuse/test/suite/core_tests/test_bridge.py +++ b/src/tests/core_tests/test_bridge.py @@ -7,7 +7,7 @@ from amuse.datamodel import parameters from amuse.ic.plummer import new_plummer_model -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.couple import bridge diff --git a/src/amuse/test/suite/core_tests/test_console.py b/src/tests/core_tests/test_console.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_console.py rename to src/tests/core_tests/test_console.py index c29b4a6eeb..21de8e4eb0 100644 --- a/src/amuse/test/suite/core_tests/test_console.py +++ b/src/tests/core_tests/test_console.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.support.exceptions import AmuseException from amuse.units import units diff --git a/src/amuse/test/suite/core_tests/test_constants.py b/src/tests/core_tests/test_constants.py similarity index 96% rename from src/amuse/test/suite/core_tests/test_constants.py rename to src/tests/core_tests/test_constants.py index 858175f6b2..5755b7ffe3 100644 --- a/src/amuse/test/suite/core_tests/test_constants.py +++ b/src/tests/core_tests/test_constants.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import units from amuse.units.constants import * diff --git a/src/amuse/test/suite/core_tests/test_generate_fortran.py b/src/tests/core_tests/test_generate_fortran.py similarity index 98% rename from src/amuse/test/suite/core_tests/test_generate_fortran.py rename to src/tests/core_tests/test_generate_fortran.py index 4d959d312c..81924095f8 100644 --- a/src/amuse/test/suite/core_tests/test_generate_fortran.py +++ b/src/tests/core_tests/test_generate_fortran.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest import numpy import inspect import collections diff --git a/src/amuse/test/suite/core_tests/test_generic_units.py b/src/tests/core_tests/test_generic_units.py similarity index 98% rename from src/amuse/test/suite/core_tests/test_generic_units.py rename to src/tests/core_tests/test_generic_units.py index dbaabf6dd9..db5fc08ec8 100644 --- a/src/amuse/test/suite/core_tests/test_generic_units.py +++ b/src/tests/core_tests/test_generic_units.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import constants from amuse.units.generic_unit_converter import * diff --git a/src/amuse/test/suite/core_tests/test_grid_attributes.py b/src/tests/core_tests/test_grid_attributes.py similarity index 98% rename from src/amuse/test/suite/core_tests/test_grid_attributes.py rename to src/tests/core_tests/test_grid_attributes.py index 496846e90b..fdbbbe47f2 100644 --- a/src/amuse/test/suite/core_tests/test_grid_attributes.py +++ b/src/tests/core_tests/test_grid_attributes.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.datamodel.grids import * diff --git a/src/amuse/test/suite/core_tests/test_grids.py b/src/tests/core_tests/test_grids.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_grids.py rename to src/tests/core_tests/test_grids.py index 36808e163b..409778d864 100644 --- a/src/amuse/test/suite/core_tests/test_grids.py +++ b/src/tests/core_tests/test_grids.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.support.interface import InCodeComponentImplementation diff --git a/src/amuse/test/suite/core_tests/test_imf.py b/src/tests/core_tests/test_imf.py similarity index 97% rename from src/amuse/test/suite/core_tests/test_imf.py rename to src/tests/core_tests/test_imf.py index 03e39dfdf4..cd95a8e50f 100644 --- a/src/amuse/test/suite/core_tests/test_imf.py +++ b/src/tests/core_tests/test_imf.py @@ -1,6 +1,6 @@ import numpy.random -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import units from amuse.ic.brokenimf import new_kroupa_mass_distribution diff --git a/src/amuse/test/suite/core_tests/test_incode_particle_sets.py b/src/tests/core_tests/test_incode_particle_sets.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_incode_particle_sets.py rename to src/tests/core_tests/test_incode_particle_sets.py index 359ceab5b5..c92ad5c560 100644 --- a/src/amuse/test/suite/core_tests/test_incode_particle_sets.py +++ b/src/tests/core_tests/test_incode_particle_sets.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import units from amuse.units import quantities from amuse.support import interface diff --git a/src/amuse/test/suite/core_tests/test_incode_storage.py b/src/tests/core_tests/test_incode_storage.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_incode_storage.py rename to src/tests/core_tests/test_incode_storage.py index 7257af2af5..c9c08d2d08 100644 --- a/src/amuse/test/suite/core_tests/test_incode_storage.py +++ b/src/tests/core_tests/test_incode_storage.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.datamodel.incode_storage import * import numpy diff --git a/src/amuse/test/suite/core_tests/test_indexing.py b/src/tests/core_tests/test_indexing.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_indexing.py rename to src/tests/core_tests/test_indexing.py index 24ccca28c3..2dd2c612e3 100644 --- a/src/amuse/test/suite/core_tests/test_indexing.py +++ b/src/tests/core_tests/test_indexing.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.support.interface import InCodeComponentImplementation diff --git a/src/amuse/test/suite/core_tests/test_inmemorystorage.py b/src/tests/core_tests/test_inmemorystorage.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_inmemorystorage.py rename to src/tests/core_tests/test_inmemorystorage.py index 3eff58a3c6..e780650ff8 100644 --- a/src/amuse/test/suite/core_tests/test_inmemorystorage.py +++ b/src/tests/core_tests/test_inmemorystorage.py @@ -1,7 +1,7 @@ import numpy import time -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import units from amuse.datamodel.memory_storage import InMemoryGridAttributeStorage from amuse.datamodel.memory_storage import InMemoryVectorQuantityAttribute diff --git a/src/amuse/test/suite/core_tests/test_interface.py b/src/tests/core_tests/test_interface.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_interface.py rename to src/tests/core_tests/test_interface.py index 31826be665..53a425696b 100644 --- a/src/amuse/test/suite/core_tests/test_interface.py +++ b/src/tests/core_tests/test_interface.py @@ -7,7 +7,7 @@ from amuse.support.core import OrderedDictionary from amuse.support import exceptions -from amuse.test import amusetest +from amuse.support.testing import amusetest import numpy import pickle from amuse.units import units @@ -83,7 +83,7 @@ def test4(self): self.assertEqual(instance.return_an_errorcode(0), None) self.assertRaises(Exception, lambda: instance.return_an_errorcode(-1), - expected_message="Error when calling 'return_an_errorcode' of a '', errorcode is -1" + expected_message="Error when calling 'return_an_errorcode' of a 'InCodeComponentImplementation', errorcode is -1" ) @@ -260,7 +260,7 @@ def test6(self): handler.add_method('get_state_error', (handler.NO_UNIT,), (units.m, units.m, units.kg, handler.ERROR_CODE)) self.assertRaises(AmuseException, instance.get_state_error, 1, - expected_message="Error when calling 'get_state_error' of a '', errorcode is -1.0") + expected_message="Error when calling 'get_state_error' of a 'InCodeComponentImplementation', errorcode is -1.0") class ClassWithState(object): @@ -751,10 +751,10 @@ def test1(self): self.assertEqual(instance.get_mass(), 10.0 | units.m) original.errorcode = -2 - self.assertRaises(AmuseException, instance.get_mass, expected_message="Error when calling 'get_mass' of a '', errorcode is -2, error is 'no such method'") + self.assertRaises(AmuseException, instance.get_mass, expected_message="Error when calling 'get_mass' of a 'InCodeComponentImplementation', errorcode is -2, error is 'no such method'") original.errorcode = -1 - self.assertRaises(AmuseException, instance.get_mass, expected_message="Error when calling 'get_mass' of a '', errorcode is -1") + self.assertRaises(AmuseException, instance.get_mass, expected_message="Error when calling 'get_mass' of a 'InCodeComponentImplementation', errorcode is -1") class CodeInterfaceWithParticlesTests(amusetest.TestCase): diff --git a/src/amuse/test/suite/core_tests/test_io.py b/src/tests/core_tests/test_io.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_io.py rename to src/tests/core_tests/test_io.py index 447ee5461e..d232a8f0d4 100644 --- a/src/amuse/test/suite/core_tests/test_io.py +++ b/src/tests/core_tests/test_io.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.support.exceptions import AmuseException import os diff --git a/src/amuse/test/suite/core_tests/test_links.py b/src/tests/core_tests/test_links.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_links.py rename to src/tests/core_tests/test_links.py index 34b15b1e64..142eacd47a 100644 --- a/src/amuse/test/suite/core_tests/test_links.py +++ b/src/tests/core_tests/test_links.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.support.exceptions import AmuseException from amuse import datamodel diff --git a/src/amuse/test/suite/core_tests/test_literature.py b/src/tests/core_tests/test_literature.py similarity index 92% rename from src/amuse/test/suite/core_tests/test_literature.py rename to src/tests/core_tests/test_literature.py index a38d96890a..2f3c8eeee9 100644 --- a/src/amuse/test/suite/core_tests/test_literature.py +++ b/src/tests/core_tests/test_literature.py @@ -21,14 +21,12 @@ def __init__(self): literature.LiteratureReferencesMixIn.__init__(self) classnames = literature.LiteratureReferencesMixIn.names_of_classes_with_references() - for classname in classnames: - self.assertFalse("ClassLitrefs" in classname) + self.assertTrue(all(["ClassLitrefs" not in cn for cn in classnames])) instance = ClassLitrefs() classnames = literature.LiteratureReferencesMixIn.names_of_classes_with_references() - for classname in classnames: - self.assertTrue("ClassLitrefs" in classname) + self.assertTrue(any(["ClassLitrefs" in cn for cn in classnames])) def test2(self): class ClassLitrefs(literature.LiteratureReferencesMixIn): diff --git a/src/amuse/test/suite/core_tests/test_nbody_units.py b/src/tests/core_tests/test_nbody_units.py similarity index 98% rename from src/amuse/test/suite/core_tests/test_nbody_units.py rename to src/tests/core_tests/test_nbody_units.py index 3055737485..d9ddbb81c7 100644 --- a/src/amuse/test/suite/core_tests/test_nbody_units.py +++ b/src/tests/core_tests/test_nbody_units.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import constants from amuse.units.nbody_system import * diff --git a/src/amuse/test/suite/core_tests/test_nemo.py b/src/tests/core_tests/test_nemo.py similarity index 97% rename from src/amuse/test/suite/core_tests/test_nemo.py rename to src/tests/core_tests/test_nemo.py index eab4f6c73b..6a5d1dc773 100644 --- a/src/amuse/test/suite/core_tests/test_nemo.py +++ b/src/tests/core_tests/test_nemo.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest import os.path import numpy from amuse.io import nemotsf diff --git a/src/amuse/test/suite/core_tests/test_options.py b/src/tests/core_tests/test_options.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_options.py rename to src/tests/core_tests/test_options.py index f038aa3a01..c765874d07 100644 --- a/src/amuse/test/suite/core_tests/test_options.py +++ b/src/tests/core_tests/test_options.py @@ -1,5 +1,5 @@ from amuse.support import options -from amuse.test import amusetest +from amuse.support.testing import amusetest import io import textwrap import os diff --git a/src/amuse/test/suite/core_tests/test_optparse.py b/src/tests/core_tests/test_optparse.py similarity index 98% rename from src/amuse/test/suite/core_tests/test_optparse.py rename to src/tests/core_tests/test_optparse.py index 1cfc4d9706..53f69c8d06 100644 --- a/src/amuse/test/suite/core_tests/test_optparse.py +++ b/src/tests/core_tests/test_optparse.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest import numpy import sys diff --git a/src/amuse/test/suite/core_tests/test_parameters.py b/src/tests/core_tests/test_parameters.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_parameters.py rename to src/tests/core_tests/test_parameters.py index 88a54a3aaf..8e50283621 100644 --- a/src/amuse/test/suite/core_tests/test_parameters.py +++ b/src/tests/core_tests/test_parameters.py @@ -1,6 +1,6 @@ import warnings -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.support.exceptions import AmuseException, AmuseWarning from amuse.units import nbody_system, generic_unit_system, generic_unit_converter from amuse.units import units diff --git a/src/amuse/test/suite/core_tests/test_particle_attributes.py b/src/tests/core_tests/test_particle_attributes.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_particle_attributes.py rename to src/tests/core_tests/test_particle_attributes.py index 0d2e260e19..a34f09a0f7 100644 --- a/src/amuse/test/suite/core_tests/test_particle_attributes.py +++ b/src/tests/core_tests/test_particle_attributes.py @@ -3,7 +3,7 @@ import sys import pytest -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import units from amuse.units import constants from amuse.units import nbody_system @@ -121,11 +121,11 @@ def test8(self): def test9(self): print("Test __doc__ and help for particle attributes") particles = Particles(2) - self.assertTrue("Returns the total kinetic energy of the\n particles in the particles set." in particles.kinetic_energy.__doc__) + self.assertTrue("Returns the total kinetic energy of the\n" in particles.kinetic_energy.__doc__) self.assertEqual(particles.kinetic_energy.__class__.__name__, "BoundParticlesFunctionAttribute") self.assertEqual(particles.kinetic_energy.__class__._function.__name__, "kinetic_energy") # __doc__ must be defined on the __class__ for the Python help to work: - self.assertTrue("Returns the total kinetic energy of the\n particles in the particles set." in particles.kinetic_energy.__class__.__doc__) + self.assertTrue("Returns the total kinetic energy of the\n" in particles.kinetic_energy.__class__.__doc__) # difference between particle function and particleS function: self.assertTrue("Returns the specific kinetic energy of each particle in the set." in particles.specific_kinetic_energy.__doc__) diff --git a/src/amuse/test/suite/core_tests/test_particles.py b/src/tests/core_tests/test_particles.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_particles.py rename to src/tests/core_tests/test_particles.py index 1ecca0eecf..a0b1bebde9 100644 --- a/src/amuse/test/suite/core_tests/test_particles.py +++ b/src/tests/core_tests/test_particles.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.support.exceptions import AmuseException, MissingAttributesAmuseException from amuse.support.interface import InCodeComponentImplementation diff --git a/src/amuse/test/suite/core_tests/test_particles_properties.py b/src/tests/core_tests/test_particles_properties.py similarity index 97% rename from src/amuse/test/suite/core_tests/test_particles_properties.py rename to src/tests/core_tests/test_particles_properties.py index 90ba9e0e24..75ef7aec98 100644 --- a/src/amuse/test/suite/core_tests/test_particles_properties.py +++ b/src/tests/core_tests/test_particles_properties.py @@ -3,7 +3,7 @@ import sys import pickle -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import units from amuse.units import constants from amuse.units import nbody_system diff --git a/src/tests/core_tests/test_phigrape.py b/src/tests/core_tests/test_phigrape.py new file mode 100644 index 0000000000..e34d3e2ae8 --- /dev/null +++ b/src/tests/core_tests/test_phigrape.py @@ -0,0 +1,27 @@ +from amuse.support.testing import amusetest +import os.path +import numpy +from amuse.io import phigrape +from amuse.units import units +from amuse.units import constants +from amuse.units import nbody_system +from amuse.units import quantities +from amuse import datamodel + + +class Test(amusetest.TestCase): + + def test(self): + directory = os.path.dirname(__file__) + instance = phigrape.Inp2Particles() + instance.convert_to_particles(os.path.join(directory, 'plummer_100.ini')) + rev_instance = phigrape.Particles2Inp() + output = os.path.join(self.get_path_to_results(), 'plummer_back_100.ini') + rev_instance.convert_to_inp(instance.Particles, output) + + control_instance = phigrape.Inp2Particles() + control_instance.convert_to_particles(os.path.join(directory, output)) + + self.assertAlmostEqual(control_instance.Particles.mass, instance.Particles.mass, 16) + self.assertAlmostEqual(control_instance.Particles[1].position, instance.Particles[1].position, 16) + self.assertAlmostEqual(control_instance.Particles[1].velocity, instance.Particles[1].velocity, 16) diff --git a/src/amuse/test/suite/core_tests/test_pickle.py b/src/tests/core_tests/test_pickle.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_pickle.py rename to src/tests/core_tests/test_pickle.py index eff6d02817..85a2f247cb 100644 --- a/src/amuse/test/suite/core_tests/test_pickle.py +++ b/src/tests/core_tests/test_pickle.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest import pickle diff --git a/src/amuse/test/suite/core_tests/test_plot.py b/src/tests/core_tests/test_plot.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_plot.py rename to src/tests/core_tests/test_plot.py index d34fb43acc..f1bdecb04e 100644 --- a/src/amuse/test/suite/core_tests/test_plot.py +++ b/src/tests/core_tests/test_plot.py @@ -1,6 +1,6 @@ import numpy -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import units, quantities from amuse.support.console import set_printing_strategy diff --git a/src/amuse/test/suite/core_tests/test_quantities.py b/src/tests/core_tests/test_quantities.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_quantities.py rename to src/tests/core_tests/test_quantities.py index 25bf8ef984..0dc8e0f306 100644 --- a/src/amuse/test/suite/core_tests/test_quantities.py +++ b/src/tests/core_tests/test_quantities.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest import numpy import sys diff --git a/src/amuse/test/suite/core_tests/test_rotation.py b/src/tests/core_tests/test_rotation.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_rotation.py rename to src/tests/core_tests/test_rotation.py index ca0eff8d0a..29389b799a 100644 --- a/src/amuse/test/suite/core_tests/test_rotation.py +++ b/src/tests/core_tests/test_rotation.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest import os.path import numpy from amuse.units import units diff --git a/src/amuse/test/suite/core_tests/test_scaling_converter.py b/src/tests/core_tests/test_scaling_converter.py similarity index 94% rename from src/amuse/test/suite/core_tests/test_scaling_converter.py rename to src/tests/core_tests/test_scaling_converter.py index 89f94362c8..f05350ecb2 100644 --- a/src/amuse/test/suite/core_tests/test_scaling_converter.py +++ b/src/tests/core_tests/test_scaling_converter.py @@ -1,7 +1,7 @@ from amuse.units import scaling_converter from amuse.units import nbody_system -from amuse.test import amusetest +from amuse.support.testing import amusetest class TestScalingConverter(amusetest.TestCase): diff --git a/src/amuse/test/suite/core_tests/test_staggeredgrid.py b/src/tests/core_tests/test_staggeredgrid.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_staggeredgrid.py rename to src/tests/core_tests/test_staggeredgrid.py index eb8d913e4f..2129dd438a 100644 --- a/src/amuse/test/suite/core_tests/test_staggeredgrid.py +++ b/src/tests/core_tests/test_staggeredgrid.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import units diff --git a/src/amuse/test/suite/core_tests/test_starlab.py b/src/tests/core_tests/test_starlab.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_starlab.py rename to src/tests/core_tests/test_starlab.py index 594c7d38eb..d33c04eb9a 100644 --- a/src/amuse/test/suite/core_tests/test_starlab.py +++ b/src/tests/core_tests/test_starlab.py @@ -6,7 +6,7 @@ from amuse.io import starlab from amuse.units import units from amuse.units import nbody_system -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse import datamodel plummer_scaled_content = """(Particle N = 5 diff --git a/src/tests/core_tests/test_stopping_conditions.py b/src/tests/core_tests/test_stopping_conditions.py new file mode 100644 index 0000000000..3fe4636550 --- /dev/null +++ b/src/tests/core_tests/test_stopping_conditions.py @@ -0,0 +1,177 @@ +from amuse.support.testing import amusetest + +from amuse.support.exceptions import AmuseException +from amuse.community.interface.stopping_conditions import StoppingConditions +from amuse import datamodel +from amuse.units import units +from amuse.support import interface + + +class TestStoppingCondition(amusetest.TestCase): + + def test1(self): + + class AllEnabled(object): + + def is_stopping_condition_enabled(self, sc_type): + return 1 + + def has_stopping_condition(self, sc_type): + return 1 + + instance = StoppingConditions(AllEnabled()) + self.assertTrue(instance.collision_detection.is_supported()) + self.assertTrue(instance.collision_detection.is_enabled()) + self.assertTrue(instance.escaper_detection.is_supported()) + self.assertTrue(instance.escaper_detection.is_enabled()) + self.assertTrue(instance.timeout_detection.is_supported()) + self.assertTrue(instance.timeout_detection.is_enabled()) + + def test2(self): + + class OneEnabled(object): + + def is_stopping_condition_enabled(self, sc_type): + return 1 if sc_type == 0 else 0 + + def has_stopping_condition(self, sc_type): + return 1 if sc_type == 0 else 0 + + instance = StoppingConditions(OneEnabled()) + self.assertTrue(instance.collision_detection.is_supported()) + self.assertTrue(instance.collision_detection.is_enabled()) + self.assertFalse(instance.escaper_detection.is_supported()) + self.assertFalse(instance.escaper_detection.is_enabled()) + self.assertFalse(instance.timeout_detection.is_supported()) + self.assertFalse(instance.timeout_detection.is_enabled()) + + def test3(self): + + class OneSettable(object): + is_enabled = 0 + + def is_stopping_condition_enabled(self, sc_type): + return self.is_enabled if sc_type == 0 else 0 + + def has_stopping_condition(self, sc_type): + return 1 if sc_type == 0 else 0 + + def enable_stopping_condition(self, sc_type): + if sc_type == 0: + self.is_enabled = 1 + + instance = StoppingConditions(OneSettable()) + self.assertTrue(instance.collision_detection.is_supported()) + self.assertFalse(instance.collision_detection.is_enabled()) + instance.collision_detection.enable() + self.assertTrue(instance.collision_detection.is_enabled()) + + def test4(self): + + class OneSettable(object): + is_enabled = 0 + + def is_stopping_condition_enabled(self, sc_type): + return self.is_enabled if sc_type == 0 else 0 + + def has_stopping_condition(self, sc_type): + return 1 if sc_type == 0 else 0 + + def enable_stopping_condition(self, sc_type): + if sc_type == 0: + self.is_enabled = 1 + + def disable_stopping_condition(self, sc_type): + if sc_type == 0: + self.is_enabled = 0 + + instance = StoppingConditions(OneSettable()) + self.assertTrue(instance.collision_detection.is_supported()) + self.assertFalse(instance.collision_detection.is_enabled()) + instance.collision_detection.enable() + self.assertTrue(instance.collision_detection.is_enabled()) + instance.collision_detection.disable() + self.assertFalse(instance.collision_detection.is_enabled()) + + def test5(self): + + class OneEnabled(object): + + def is_stopping_condition_enabled(self, sc_type): + return 1 if sc_type == 0 else 0 + + def has_stopping_condition(self, sc_type): + return 1 if sc_type == 0 else 0 + + instance = StoppingConditions(OneEnabled()) + self.assertFalse(instance.escaper_detection.is_supported()) + self.assertFalse(instance.escaper_detection.is_enabled()) + self.assertRaises(AmuseException, instance.escaper_detection.enable) + self.assertRaises(AmuseException, instance.escaper_detection.disable) + + def test6(self): + + class Collision(object): + + def is_stopping_condition_enabled(self, sc_type): + return 1 if sc_type == 0 else 0 + + def has_stopping_condition(self, sc_type): + return 1 if sc_type == 0 else 0 + + def is_stopping_condition_set(self, sc_type): + return 1 if sc_type == 0 else 0 + + def get_number_of_stopping_conditions_set(self): + return 1 + + def get_stopping_condition_info(self, indices): + return [0], [1] + + instance = StoppingConditions(Collision()) + instance.code.particles = datamodel.Particles(3) + instance.code.particles.mass = (1, 2, 3) | units.kg + instance.code.particles.add_function_attribute( + "get_stopping_condition_particle_index", + lambda particles, indices, sc_type: particles[indices] + ) + self.assertTrue(instance.collision_detection.is_set()) + particles = instance.collision_detection.particles(0) + self.assertEqual(len(particles), 1) + self.assertAlmostRelativeEqual(particles[0].mass, 1 | units.kg) + + def test7(self): + + class Collision(object): + + def is_stopping_condition_enabled(self, sc_type): + return 1 if sc_type == 0 else 0 + + def has_stopping_condition(self, sc_type): + return 1 if sc_type == 0 else 0 + + def is_stopping_condition_set(self, sc_type): + return 1 if sc_type == 0 else 0 + + def get_number_of_stopping_conditions_set(self): + return 1 + + def get_stopping_condition_info(self, indices): + return [0], [3] + + instance = StoppingConditions(Collision()) + instance.code.particles = datamodel.Particles(3) + instance.code.particles.mass = (1, 2, 3) | units.kg + instance.code.particles.add_function_attribute( + "get_stopping_condition_particle_index", + lambda particles, indices, sc_type: particles[indices] + ) + self.assertTrue(instance.collision_detection.is_set()) + particles = instance.collision_detection.particles(0) + self.assertEqual(len(particles), 1) + particles = instance.collision_detection.particles(1) + self.assertEqual(len(particles), 1) + particles = instance.collision_detection.particles(2) + self.assertEqual(len(particles), 1) + particles = instance.collision_detection.particles(3) + self.assertEqual(len(particles), 0) diff --git a/src/amuse/test/suite/core_tests/test_store.py b/src/tests/core_tests/test_store.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_store.py rename to src/tests/core_tests/test_store.py index d6532a8145..e0a332732f 100644 --- a/src/amuse/test/suite/core_tests/test_store.py +++ b/src/tests/core_tests/test_store.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest import os import numpy diff --git a/src/amuse/test/suite/core_tests/test_subsub.dyn b/src/tests/core_tests/test_subsub.dyn similarity index 100% rename from src/amuse/test/suite/core_tests/test_subsub.dyn rename to src/tests/core_tests/test_subsub.dyn diff --git a/src/amuse/test/suite/core_tests/test_textio.py b/src/tests/core_tests/test_textio.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_textio.py rename to src/tests/core_tests/test_textio.py index 0f5a2f993e..d7cdc4eaa9 100644 --- a/src/amuse/test/suite/core_tests/test_textio.py +++ b/src/tests/core_tests/test_textio.py @@ -5,12 +5,12 @@ import numpy from amuse import io -from amuse.test import amusetest from amuse.io import text from amuse.units import units from amuse.units import quantities, core from amuse.units import generic_unit_system from amuse import datamodel +from amuse.support.testing import amusetest class CursorTests(amusetest.TestCase): @@ -284,7 +284,7 @@ def test12(self): contents = f.read() expected_contents = '#name length age\n#- m yr\n30 Joe 1.1 21\n31 William 1.4 20\n32 Jack 1.7 19\n33 Averell 2.0 18\n' self.assertEqual(expected_contents, contents) - + read = io.read_set_from_file( path, "txt", diff --git a/src/amuse/test/suite/core_tests/test_trees.py b/src/tests/core_tests/test_trees.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_trees.py rename to src/tests/core_tests/test_trees.py index 6f3b6f6cac..4b8a068370 100644 --- a/src/amuse/test/suite/core_tests/test_trees.py +++ b/src/tests/core_tests/test_trees.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.support.exceptions import AmuseException from amuse.units import units diff --git a/src/amuse/test/suite/core_tests/test_unit_conversion.py b/src/tests/core_tests/test_unit_conversion.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_unit_conversion.py rename to src/tests/core_tests/test_unit_conversion.py index 1ce8f83549..d0ff2b4491 100644 --- a/src/amuse/test/suite/core_tests/test_unit_conversion.py +++ b/src/tests/core_tests/test_unit_conversion.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest import numpy from amuse.support.exceptions import AmuseException diff --git a/src/amuse/test/suite/core_tests/test_vtkio.py b/src/tests/core_tests/test_vtkio.py similarity index 99% rename from src/amuse/test/suite/core_tests/test_vtkio.py rename to src/tests/core_tests/test_vtkio.py index 8970fd1792..c4dc1263c0 100644 --- a/src/amuse/test/suite/core_tests/test_vtkio.py +++ b/src/tests/core_tests/test_vtkio.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from io import StringIO import textwrap import os diff --git a/src/amuse/test/suite/core_tests/ticket245.dat b/src/tests/core_tests/ticket245.dat similarity index 100% rename from src/amuse/test/suite/core_tests/ticket245.dat rename to src/tests/core_tests/ticket245.dat diff --git a/src/amuse/test/suite/core_tests/tiny_lcdm_data_littleendian.dat b/src/tests/core_tests/tiny_lcdm_data_littleendian.dat similarity index 100% rename from src/amuse/test/suite/core_tests/tiny_lcdm_data_littleendian.dat rename to src/tests/core_tests/tiny_lcdm_data_littleendian.dat diff --git a/src/tests/ext_tests/__init__.py b/src/tests/ext_tests/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/amuse/test/suite/ext_tests/test_boss_bodenheimer.py b/src/tests/ext_tests/test_boss_bodenheimer.py similarity index 95% rename from src/amuse/test/suite/ext_tests/test_boss_bodenheimer.py rename to src/tests/ext_tests/test_boss_bodenheimer.py index 88d0ab5153..cb95702c1d 100644 --- a/src/amuse/test/suite/ext_tests/test_boss_bodenheimer.py +++ b/src/tests/ext_tests/test_boss_bodenheimer.py @@ -2,7 +2,7 @@ import os import numpy.random -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import units, nbody_system from amuse.ext.boss_bodenheimer import bb79_cloud diff --git a/src/amuse/test/suite/ext_tests/test_brokenimf.py b/src/tests/ext_tests/test_brokenimf.py similarity index 99% rename from src/amuse/test/suite/ext_tests/test_brokenimf.py rename to src/tests/ext_tests/test_brokenimf.py index 63a71b142d..7404ae64ed 100644 --- a/src/amuse/test/suite/ext_tests/test_brokenimf.py +++ b/src/tests/ext_tests/test_brokenimf.py @@ -1,6 +1,6 @@ import numpy -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import units, nbody_system from amuse.ic.brokenimf import * diff --git a/src/amuse/test/suite/ext_tests/test_cloud.py b/src/tests/ext_tests/test_cloud.py similarity index 98% rename from src/amuse/test/suite/ext_tests/test_cloud.py rename to src/tests/ext_tests/test_cloud.py index 57e1367890..ffb3559af2 100644 --- a/src/amuse/test/suite/ext_tests/test_cloud.py +++ b/src/tests/ext_tests/test_cloud.py @@ -2,7 +2,7 @@ import os import numpy -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.ext import cloud diff --git a/src/amuse/test/suite/ext_tests/test_collision_handler.py b/src/tests/ext_tests/test_collision_handler.py similarity index 99% rename from src/amuse/test/suite/ext_tests/test_collision_handler.py rename to src/tests/ext_tests/test_collision_handler.py index f7ac21a1f8..a981f85364 100644 --- a/src/amuse/test/suite/ext_tests/test_collision_handler.py +++ b/src/tests/ext_tests/test_collision_handler.py @@ -1,7 +1,7 @@ from amuse.units import units from amuse.datamodel import Particles, Particle from amuse.support.exceptions import AmuseException -from amuse.test.amusetest import TestCase +from amuse.support.testing.amusetest import TestCase from amuse.ext.sticky_spheres import StickySpheres from amuse.couple.collision_handler import CollisionHandler diff --git a/src/amuse/test/suite/ext_tests/test_composition_methods.py b/src/tests/ext_tests/test_composition_methods.py similarity index 98% rename from src/amuse/test/suite/ext_tests/test_composition_methods.py rename to src/tests/ext_tests/test_composition_methods.py index d433ac3fc1..7c3941921b 100644 --- a/src/amuse/test/suite/ext_tests/test_composition_methods.py +++ b/src/tests/ext_tests/test_composition_methods.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest import numpy diff --git a/src/amuse/test/suite/ext_tests/test_concurrent.py b/src/tests/ext_tests/test_concurrent.py similarity index 97% rename from src/amuse/test/suite/ext_tests/test_concurrent.py rename to src/tests/ext_tests/test_concurrent.py index 4fe1d345a5..02d46e2041 100644 --- a/src/amuse/test/suite/ext_tests/test_concurrent.py +++ b/src/tests/ext_tests/test_concurrent.py @@ -1,6 +1,6 @@ import os -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI from amuse.ext import concurrent from amuse.rfi.core import * @@ -150,7 +150,7 @@ def test1(self): def test2(self): x = ConcurrentTestingInterface( implementation_factory=Test1Implementation, - number_of_workers=4 + number_of_workers=2 ) output, error = x.do_concurrent_run() self.assertEqual(error, 0, msg=output) @@ -158,7 +158,7 @@ def test2(self): def test3(self): x = ConcurrentTestingInterface( implementation_factory=Test3Implementation, - number_of_workers=4 + number_of_workers=2 ) output, error = x.do_concurrent_run() self.assertEqual(error, 0, msg=output) @@ -166,7 +166,7 @@ def test3(self): def test4(self): x = ConcurrentTestingInterface( implementation_factory=Test4Implementation, - number_of_workers=4 + number_of_workers=2 ) output, error = x.do_concurrent_run() self.assertEqual(error, 0, msg=output) diff --git a/src/amuse/test/suite/ext_tests/test_distributed_particles.py b/src/tests/ext_tests/test_distributed_particles.py similarity index 99% rename from src/amuse/test/suite/ext_tests/test_distributed_particles.py rename to src/tests/ext_tests/test_distributed_particles.py index ebcf1b57e4..4cdf976dc5 100644 --- a/src/amuse/test/suite/ext_tests/test_distributed_particles.py +++ b/src/tests/ext_tests/test_distributed_particles.py @@ -1,5 +1,5 @@ from amuse.datamodel import AbstractSet -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI from amuse.ext import concurrent from amuse import datamodel diff --git a/src/amuse/test/suite/ext_tests/test_evrardmodel.py b/src/tests/ext_tests/test_evrardmodel.py similarity index 97% rename from src/amuse/test/suite/ext_tests/test_evrardmodel.py rename to src/tests/ext_tests/test_evrardmodel.py index e1f25e6812..75f66da3cb 100644 --- a/src/amuse/test/suite/ext_tests/test_evrardmodel.py +++ b/src/tests/ext_tests/test_evrardmodel.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.ext.evrard_test import new_evrard_gas_sphere diff --git a/src/amuse/test/suite/ext_tests/test_fallback_stellar_evolution.py b/src/tests/ext_tests/test_fallback_stellar_evolution.py similarity index 99% rename from src/amuse/test/suite/ext_tests/test_fallback_stellar_evolution.py rename to src/tests/ext_tests/test_fallback_stellar_evolution.py index dcdb07ea69..f2fa8ff4ee 100644 --- a/src/amuse/test/suite/ext_tests/test_fallback_stellar_evolution.py +++ b/src/tests/ext_tests/test_fallback_stellar_evolution.py @@ -5,7 +5,7 @@ from amuse.units import units from amuse.datamodel import Particles, Particle from amuse.support.exceptions import AmuseException -from amuse.test.amusetest import TestCase, get_path_to_results +from amuse.support.testing.amusetest import TestCase, get_path_to_results from amuse.community.mesa.interface import MESA from amuse.community.evtwin.interface import EVtwin diff --git a/src/amuse/test/suite/ext_tests/test_flatimf.py b/src/tests/ext_tests/test_flatimf.py similarity index 98% rename from src/amuse/test/suite/ext_tests/test_flatimf.py rename to src/tests/ext_tests/test_flatimf.py index 2f7e814861..89a0e16efb 100644 --- a/src/amuse/test/suite/ext_tests/test_flatimf.py +++ b/src/tests/ext_tests/test_flatimf.py @@ -1,6 +1,6 @@ import numpy -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import units, nbody_system from amuse.ic.flatimf import FlatIMF diff --git a/src/tests/ext_tests/test_fractalcluster.py b/src/tests/ext_tests/test_fractalcluster.py new file mode 100644 index 0000000000..5a51399c18 --- /dev/null +++ b/src/tests/ext_tests/test_fractalcluster.py @@ -0,0 +1,78 @@ +from amuse.support.testing import amusetest +from amuse.units import units, nbody_system, constants + +from amuse.ic.fractalcluster import new_fractal_cluster_model + + +class TestFractalCluster(amusetest.TestCase): + + def test1(self): + print("First test: making a fractal cluster.") + target_number_of_particles = 100 + parts = new_fractal_cluster_model(N=target_number_of_particles) + self.assertEqual(len(parts), 100) + + def test2(self): + print("test 2: test energy.") + target_number_of_particles = 100 + parts = new_fractal_cluster_model(N=target_number_of_particles) + ek = parts.kinetic_energy() + ep = parts.potential_energy(G=nbody_system.G) + self.assertAlmostEqual(ek/abs(ep), 0.5, 12) + self.assertAlmostRelativeEqual(ep, -0.5 | nbody_system.energy, 12) + + def test3(self): + print("test 3: test energy physical units.") + target_number_of_particles = 100 + convert_nbody = nbody_system.nbody_to_si(1000 | units.MSun, 1 | units.parsec) + parts = new_fractal_cluster_model(N=target_number_of_particles, convert_nbody=convert_nbody) + ek = parts.kinetic_energy() + ep = parts.potential_energy() + self.assertAlmostEqual(ek/abs(ep), 0.5, 12) + self.assertAlmostRelativeEqual(ep, -0.5 * constants.G * (1000 | units.MSun)**2 / (1.0 | units.parsec), 12) + + def test4(self): + print("Test with masses") + target_number_of_particles = 100 + masses = (range(1, 11) | units.MSun) * 1.0 + convert_nbody = nbody_system.nbody_to_si(1000 | units.MSun, 1 | units.parsec) + particles = new_fractal_cluster_model(masses=masses, convert_nbody=convert_nbody, do_scale=True) + + ek = particles.kinetic_energy() + ep = particles.potential_energy() + self.assertEqual(len(particles), 10) + self.assertAlmostEqual(particles.total_mass(), 1000 | units.MSun) # Note: total_mass == converter's mass unit! + self.assertAlmostEqual(masses.sum(), 55 | units.MSun) # Note: total_mass != masses.sum() + self.assertAlmostEqual(particles.center_of_mass(), [0, 0, 0] | units.parsec) + self.assertAlmostEqual(particles.center_of_mass_velocity(), [0, 0, 0] | units.km / units.s) + self.assertAlmostEqual(ek/ep, -0.5, 12) + self.assertAlmostRelativeEqual(ek, (0.25 * constants.G * (1000 | units.MSun)**2 / (1.0 | units.parsec)).as_quantity_in(ek.unit), 12) + + def test5(self): + print("Test with masses, with correct mass unit in converter") + target_number_of_particles = 100 + masses = (range(1, 11) | units.MSun) * 1.0 + convert_nbody = nbody_system.nbody_to_si(masses.sum(), 1 | units.parsec) + particles = new_fractal_cluster_model(masses=masses, convert_nbody=convert_nbody, do_scale=True) + + ek = particles.kinetic_energy() + ep = particles.potential_energy() + self.assertEqual(len(particles), 10) + self.assertAlmostEqual(particles.total_mass(), 55 | units.MSun) # Note: total_mass == converter's mass unit! + self.assertAlmostEqual(particles.center_of_mass(), [0, 0, 0] | units.parsec) + self.assertAlmostEqual(particles.center_of_mass_velocity(), [0, 0, 0] | units.km / units.s) + self.assertAlmostEqual(ek/ep, -0.5, 12) + self.assertAlmostRelativeEqual(ek, (0.25 * constants.G * (55 | units.MSun)**2 / (1.0 | units.parsec)).as_quantity_in(ek.unit), 12) + + def test6(self): + print("Test fractal dimension.") + number_of_particles = 1000 + for target_fractal_dimension in [1.6, 2.0, 2.5, 3.0]: + particles = new_fractal_cluster_model( + N=number_of_particles, + fractal_dimension=target_fractal_dimension, + do_scale=False, random_seed=1234321) + self.assertAlmostRelativeEquals(particles.box_counting_dimension(), + target_fractal_dimension, 1) + self.assertAlmostRelativeEquals(particles.correlation_dimension(), + target_fractal_dimension, 1) diff --git a/src/amuse/test/suite/ext_tests/test_galactic_potentials.py b/src/tests/ext_tests/test_galactic_potentials.py similarity index 99% rename from src/amuse/test/suite/ext_tests/test_galactic_potentials.py rename to src/tests/ext_tests/test_galactic_potentials.py index 1a43f4d276..0db230c674 100644 --- a/src/amuse/test/suite/ext_tests/test_galactic_potentials.py +++ b/src/tests/ext_tests/test_galactic_potentials.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import units, nbody_system, constants from amuse.ext.galactic_potentials import NFW_profile, MiyamotoNagai_profile, Plummer_profile, \ PowerLawCutoff_profile, MWpotentialBovy2015, scipy_imported diff --git a/src/amuse/test/suite/ext_tests/test_galactics_model.py b/src/tests/ext_tests/test_galactics_model.py similarity index 99% rename from src/amuse/test/suite/ext_tests/test_galactics_model.py rename to src/tests/ext_tests/test_galactics_model.py index 37869ea98a..81ac08adf7 100644 --- a/src/amuse/test/suite/ext_tests/test_galactics_model.py +++ b/src/tests/ext_tests/test_galactics_model.py @@ -1,6 +1,6 @@ import os.path -from amuse.test.amusetest import TestWithMPI, get_path_to_results +from amuse.support.testing.amusetest import TestWithMPI, get_path_to_results from amuse.support.exceptions import AmuseException from amuse.ext.galactics_model import new_galactics_model, new_galactics_gas_model from amuse.units import nbody_system, generic_unit_converter, constants, units diff --git a/src/amuse/test/suite/ext_tests/test_gasplummer.py b/src/tests/ext_tests/test_gasplummer.py similarity index 98% rename from src/amuse/test/suite/ext_tests/test_gasplummer.py rename to src/tests/ext_tests/test_gasplummer.py index 3aa80995d7..2b0d9ca164 100644 --- a/src/amuse/test/suite/ext_tests/test_gasplummer.py +++ b/src/tests/ext_tests/test_gasplummer.py @@ -1,6 +1,6 @@ import numpy -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import nbody_system from amuse.units import units from amuse.ic.gasplummer import new_plummer_gas_model, MakePlummerGasModel diff --git a/src/amuse/test/suite/ext_tests/test_grid_remappers.py b/src/tests/ext_tests/test_grid_remappers.py similarity index 99% rename from src/amuse/test/suite/ext_tests/test_grid_remappers.py rename to src/tests/ext_tests/test_grid_remappers.py index 449cd5f0c4..3235561181 100644 --- a/src/amuse/test/suite/ext_tests/test_grid_remappers.py +++ b/src/tests/ext_tests/test_grid_remappers.py @@ -1,7 +1,7 @@ from amuse.units import units from amuse.datamodel import new_cartesian_grid from amuse.support.exceptions import AmuseException -from amuse.test.amusetest import TestCase +from amuse.support.testing.amusetest import TestCase try: from omuse.ext import grid_remappers diff --git a/src/amuse/test/suite/ext_tests/test_grid_to_sph.py b/src/tests/ext_tests/test_grid_to_sph.py similarity index 98% rename from src/amuse/test/suite/ext_tests/test_grid_to_sph.py rename to src/tests/ext_tests/test_grid_to_sph.py index 16d71f75b5..9e2e01b49c 100644 --- a/src/amuse/test/suite/ext_tests/test_grid_to_sph.py +++ b/src/tests/ext_tests/test_grid_to_sph.py @@ -1,6 +1,6 @@ import os.path import numpy -from amuse.test.amusetest import get_path_to_results, TestWithMPI +from amuse.support.testing.amusetest import get_path_to_results, TestWithMPI try: from matplotlib import pyplot HAS_MATPLOTLIB = True diff --git a/src/amuse/test/suite/ext_tests/test_halogen_model.py b/src/tests/ext_tests/test_halogen_model.py similarity index 90% rename from src/amuse/test/suite/ext_tests/test_halogen_model.py rename to src/tests/ext_tests/test_halogen_model.py index 67e6c45779..ac356bd094 100644 --- a/src/amuse/test/suite/ext_tests/test_halogen_model.py +++ b/src/tests/ext_tests/test_halogen_model.py @@ -1,4 +1,4 @@ -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI from amuse.support.exceptions import AmuseException from amuse.ext.halogen_model import new_halogen_model @@ -17,7 +17,7 @@ def test1(self): 0.17345836639 | nbody_system.energy) # for number_of_particles = 100 self.assertRaises(AmuseException, new_halogen_model, number_of_particles, expected_message="Error when calling 'commit_parameters' of a 'Halogen', errorcode is -2, error is " - "'Missing or bad parameter for halo (see amuse/community/halogen/src/doc for details on required parameters).'") + "'Missing or bad parameter for halo (see src/amuse_halogen/src/doc for details on required parameters).'") def test2(self): number_of_particles = 1000 diff --git a/src/amuse/test/suite/ext_tests/test_hydro_collision.py b/src/tests/ext_tests/test_hydro_collision.py similarity index 99% rename from src/amuse/test/suite/ext_tests/test_hydro_collision.py rename to src/tests/ext_tests/test_hydro_collision.py index 6c583cb5f0..6dcb5a5678 100644 --- a/src/amuse/test/suite/ext_tests/test_hydro_collision.py +++ b/src/tests/ext_tests/test_hydro_collision.py @@ -4,7 +4,7 @@ from amuse.units.quantities import zero from amuse.datamodel import Particles, Particle from amuse.support.exceptions import AmuseException -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI from amuse.plot import pynbody_column_density_plot, HAS_PYNBODY from amuse.community.bhtree.interface import BHTree diff --git a/src/amuse/test/suite/ext_tests/test_isotropic_cloud.py b/src/tests/ext_tests/test_isotropic_cloud.py similarity index 97% rename from src/amuse/test/suite/ext_tests/test_isotropic_cloud.py rename to src/tests/ext_tests/test_isotropic_cloud.py index 9033b56b65..52ff4c5027 100644 --- a/src/amuse/test/suite/ext_tests/test_isotropic_cloud.py +++ b/src/tests/ext_tests/test_isotropic_cloud.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import units, nbody_system, constants from amuse.ic.isotropic_cloud import new_isotropic_cloud from amuse.ext.orbital_elements import orbital_elements_from_binary diff --git a/src/amuse/test/suite/ext_tests/test_jobserver.py b/src/tests/ext_tests/test_jobserver.py similarity index 98% rename from src/amuse/test/suite/ext_tests/test_jobserver.py rename to src/tests/ext_tests/test_jobserver.py index 1c5f4dae53..fa87a48003 100644 --- a/src/amuse/test/suite/ext_tests/test_jobserver.py +++ b/src/tests/ext_tests/test_jobserver.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.ext.job_server import RemoteCodeInterface, JobServer diff --git a/src/amuse/test/suite/ext_tests/test_kingmodel.py b/src/tests/ext_tests/test_kingmodel.py similarity index 98% rename from src/amuse/test/suite/ext_tests/test_kingmodel.py rename to src/tests/ext_tests/test_kingmodel.py index 51831d53e3..13d7363c87 100644 --- a/src/amuse/test/suite/ext_tests/test_kingmodel.py +++ b/src/tests/ext_tests/test_kingmodel.py @@ -1,6 +1,6 @@ import numpy -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.support.exceptions import AmuseException from amuse.units import nbody_system from amuse.units import units diff --git a/src/amuse/test/suite/ext_tests/test_limepy.py b/src/tests/ext_tests/test_limepy.py similarity index 95% rename from src/amuse/test/suite/ext_tests/test_limepy.py rename to src/tests/ext_tests/test_limepy.py index 0841341482..11c08b76bf 100644 --- a/src/amuse/test/suite/ext_tests/test_limepy.py +++ b/src/tests/ext_tests/test_limepy.py @@ -1,6 +1,6 @@ import numpy -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import nbody_system from amuse.units import units from amuse.ic import limepy diff --git a/src/amuse/test/suite/ext_tests/test_molecular_cloud.py b/src/tests/ext_tests/test_molecular_cloud.py similarity index 96% rename from src/amuse/test/suite/ext_tests/test_molecular_cloud.py rename to src/tests/ext_tests/test_molecular_cloud.py index 2e14402ea6..60e3a174e5 100644 --- a/src/amuse/test/suite/ext_tests/test_molecular_cloud.py +++ b/src/tests/ext_tests/test_molecular_cloud.py @@ -2,7 +2,7 @@ import os import numpy.random -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import units, nbody_system from amuse.ext.molecular_cloud import molecular_cloud, ism_cube from amuse.ext.evrard_test import sobol_unit_cube diff --git a/src/amuse/test/suite/ext_tests/test_orbital_elements.py b/src/tests/ext_tests/test_orbital_elements.py similarity index 99% rename from src/amuse/test/suite/ext_tests/test_orbital_elements.py rename to src/tests/ext_tests/test_orbital_elements.py index 1b8facfddc..c31456d63c 100644 --- a/src/amuse/test/suite/ext_tests/test_orbital_elements.py +++ b/src/tests/ext_tests/test_orbital_elements.py @@ -1,6 +1,6 @@ import numpy -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.ext.orbital_elements import ( generate_binaries, diff --git a/src/amuse/test/suite/ext_tests/test_parallel_stellar_evolution.py b/src/tests/ext_tests/test_parallel_stellar_evolution.py similarity index 96% rename from src/amuse/test/suite/ext_tests/test_parallel_stellar_evolution.py rename to src/tests/ext_tests/test_parallel_stellar_evolution.py index a167316cda..7bfe8b08fe 100644 --- a/src/amuse/test/suite/ext_tests/test_parallel_stellar_evolution.py +++ b/src/tests/ext_tests/test_parallel_stellar_evolution.py @@ -5,7 +5,7 @@ from amuse.units import units from amuse.datamodel import Particles from amuse.support.exceptions import AmuseException -from amuse.test.amusetest import TestCase, get_path_to_results +from amuse.support.testing.amusetest import TestCase, get_path_to_results from amuse.community.mesa.interface import MESA from amuse.community.evtwin.interface import EVtwin @@ -24,7 +24,7 @@ class TestParallelStellarEvolution(TestCase): def test1(self): print("Testing ParallelStellarEvolution initialization") - instance = ParallelStellarEvolution(self.code_factory, number_of_workers=3, **default_options) + instance = ParallelStellarEvolution(self.code_factory, number_of_workers=2, **default_options) instance.initialize_code() instance.cleanup_code() instance.stop() @@ -56,7 +56,7 @@ def slowtest3(self): self.assertAlmostEqual(inserial.mass, range(1, 1+len(particles)) | units.MSun) serial.evolve_model(0.2 | units.Myr) - parallel = ParallelStellarEvolution(MESA, number_of_workers=3, **default_options) + parallel = ParallelStellarEvolution(MESA, number_of_workers=2, **default_options) inparallel = parallel.particles.add_particles(particles) self.assertAlmostEqual(inparallel.mass, range(1, 1+len(particles)) | units.MSun) parallel.evolve_model(0.2 | units.Myr) @@ -72,7 +72,7 @@ def slowtest3(self): def test4(self): print("Testing ParallelStellarEvolution parameters") - parallel = ParallelStellarEvolution(self.code_factory, number_of_workers=3, **default_options) + parallel = ParallelStellarEvolution(self.code_factory, number_of_workers=2, **default_options) parallel.parameters.metallicity = 0.01 self.assertEqual(parallel.parameters.metallicity, 0.01) for code in parallel.code_instances: @@ -86,7 +86,7 @@ def test5(self): if os.path.exists(filename): os.remove(filename) - parallel = ParallelStellarEvolution(self.code_factory, number_of_workers=3, + parallel = ParallelStellarEvolution(self.code_factory, number_of_workers=2, individual_options=[dict(redirect_file=base_name+str(i)) for i in range(3)], redirection="file", **default_options) for filename in [base_name+str(i) for i in range(3)]: diff --git a/src/amuse/test/suite/ext_tests/test_particles_with_color.py b/src/tests/ext_tests/test_particles_with_color.py similarity index 97% rename from src/amuse/test/suite/ext_tests/test_particles_with_color.py rename to src/tests/ext_tests/test_particles_with_color.py index f7c2dc6bcd..26d85adc8b 100644 --- a/src/amuse/test/suite/ext_tests/test_particles_with_color.py +++ b/src/tests/ext_tests/test_particles_with_color.py @@ -1,5 +1,5 @@ import numpy -from amuse.test.amusetest import TestCase +from amuse.support.testing.amusetest import TestCase from amuse.units import units from amuse.datamodel import Particles from amuse.ext.particles_with_color import * diff --git a/src/amuse/test/suite/ext_tests/test_plummer.py b/src/tests/ext_tests/test_plummer.py similarity index 97% rename from src/amuse/test/suite/ext_tests/test_plummer.py rename to src/tests/ext_tests/test_plummer.py index d715a8ac25..79ca2b2bc2 100644 --- a/src/amuse/test/suite/ext_tests/test_plummer.py +++ b/src/tests/ext_tests/test_plummer.py @@ -1,6 +1,6 @@ import numpy -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import nbody_system from amuse.units import units from amuse.ic.plummer import new_plummer_model, MakePlummerModel diff --git a/src/amuse/test/suite/ext_tests/test_roche_radius.py b/src/tests/ext_tests/test_roche_radius.py similarity index 97% rename from src/amuse/test/suite/ext_tests/test_roche_radius.py rename to src/tests/ext_tests/test_roche_radius.py index 6d79d17c2c..85b5876d3a 100644 --- a/src/amuse/test/suite/ext_tests/test_roche_radius.py +++ b/src/tests/ext_tests/test_roche_radius.py @@ -1,6 +1,6 @@ import numpy -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import units from amuse.ext.roche_radius import Roche_Orbit, sepinsky_formula diff --git a/src/amuse/test/suite/ext_tests/test_rotating_bridge.py b/src/tests/ext_tests/test_rotating_bridge.py similarity index 98% rename from src/amuse/test/suite/ext_tests/test_rotating_bridge.py rename to src/tests/ext_tests/test_rotating_bridge.py index 41268968fa..7b84d459df 100644 --- a/src/amuse/test/suite/ext_tests/test_rotating_bridge.py +++ b/src/tests/ext_tests/test_rotating_bridge.py @@ -1,6 +1,6 @@ import numpy -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import units, nbody_system, constants from amuse.ext.rotating_bridge import Rotating_Bridge, inertial_to_rotating, rotating_to_inertial diff --git a/src/amuse/test/suite/ext_tests/test_salpeter.py b/src/tests/ext_tests/test_salpeter.py similarity index 98% rename from src/amuse/test/suite/ext_tests/test_salpeter.py rename to src/tests/ext_tests/test_salpeter.py index 065da5ea2b..62c2e61a03 100644 --- a/src/amuse/test/suite/ext_tests/test_salpeter.py +++ b/src/tests/ext_tests/test_salpeter.py @@ -2,7 +2,7 @@ import os import numpy.random -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import units, nbody_system from amuse.ic.salpeter import SalpeterIMF from amuse.ic.salpeter import new_salpeter_mass_distribution diff --git a/src/amuse/test/suite/ext_tests/test_sink.py b/src/tests/ext_tests/test_sink.py similarity index 99% rename from src/amuse/test/suite/ext_tests/test_sink.py rename to src/tests/ext_tests/test_sink.py index 7fc0d0846f..a311cfb691 100644 --- a/src/amuse/test/suite/ext_tests/test_sink.py +++ b/src/tests/ext_tests/test_sink.py @@ -1,6 +1,6 @@ import numpy -from amuse.test.amusetest import TestCase +from amuse.support.testing.amusetest import TestCase from amuse.support.exceptions import AmuseWarning, AmuseException from amuse.units import units, nbody_system, generic_unit_system, quantities from amuse.units.generic_unit_converter import ConvertBetweenGenericAndSiUnits diff --git a/src/amuse/test/suite/ext_tests/test_solarsystem.py b/src/tests/ext_tests/test_solarsystem.py similarity index 97% rename from src/amuse/test/suite/ext_tests/test_solarsystem.py rename to src/tests/ext_tests/test_solarsystem.py index 47de6b9253..201bc2e943 100644 --- a/src/amuse/test/suite/ext_tests/test_solarsystem.py +++ b/src/tests/ext_tests/test_solarsystem.py @@ -1,5 +1,5 @@ import numpy -from amuse.test.amusetest import TestCase +from amuse.support.testing.amusetest import TestCase from amuse.ext.solarsystem import new_solar_system, new_solar_system_for_mercury diff --git a/src/amuse/test/suite/ext_tests/test_sph_to_grid.py b/src/tests/ext_tests/test_sph_to_grid.py similarity index 99% rename from src/amuse/test/suite/ext_tests/test_sph_to_grid.py rename to src/tests/ext_tests/test_sph_to_grid.py index 000daa006f..c7ea24f127 100644 --- a/src/amuse/test/suite/ext_tests/test_sph_to_grid.py +++ b/src/tests/ext_tests/test_sph_to_grid.py @@ -1,5 +1,5 @@ import numpy -from amuse.test.amusetest import TestWithMPI +from amuse.support.testing.amusetest import TestWithMPI from amuse.support.exceptions import AmuseException from amuse.ext.sph_to_grid import convert_SPH_to_grid diff --git a/src/amuse/test/suite/ext_tests/test_sph_to_star.py b/src/tests/ext_tests/test_sph_to_star.py similarity index 99% rename from src/amuse/test/suite/ext_tests/test_sph_to_star.py rename to src/tests/ext_tests/test_sph_to_star.py index 920cf8e094..296f3a1803 100644 --- a/src/amuse/test/suite/ext_tests/test_sph_to_star.py +++ b/src/tests/ext_tests/test_sph_to_star.py @@ -2,7 +2,7 @@ import numpy from time import sleep -from amuse.test.amusetest import get_path_to_results, TestWithMPI +from amuse.support.testing.amusetest import get_path_to_results, TestWithMPI try: from matplotlib import pyplot from amuse.plot import scatter, xlabel, ylabel, plot, loglog, semilogx, semilogy, sph_particles_plot diff --git a/src/amuse/test/suite/ext_tests/test_spherical_model.py b/src/tests/ext_tests/test_spherical_model.py similarity index 99% rename from src/amuse/test/suite/ext_tests/test_spherical_model.py rename to src/tests/ext_tests/test_spherical_model.py index d9d5d4093d..2c2156703a 100644 --- a/src/amuse/test/suite/ext_tests/test_spherical_model.py +++ b/src/tests/ext_tests/test_spherical_model.py @@ -1,5 +1,5 @@ import numpy -from amuse.test.amusetest import TestCase +from amuse.support.testing.amusetest import TestCase from amuse.support.exceptions import AmuseWarning, AmuseException from amuse.ext.spherical_model import * from amuse.units import units diff --git a/src/amuse/test/suite/ext_tests/test_star_to_sph.py b/src/tests/ext_tests/test_star_to_sph.py similarity index 99% rename from src/amuse/test/suite/ext_tests/test_star_to_sph.py rename to src/tests/ext_tests/test_star_to_sph.py index 18f6424855..ee645b63b4 100644 --- a/src/amuse/test/suite/ext_tests/test_star_to_sph.py +++ b/src/tests/ext_tests/test_star_to_sph.py @@ -1,7 +1,7 @@ import os.path import numpy -from amuse.test.amusetest import get_path_to_results, TestWithMPI +from amuse.support.testing.amusetest import get_path_to_results, TestWithMPI try: from matplotlib import pyplot HAS_MATPLOTLIB = True diff --git a/src/amuse/test/suite/ext_tests/test_static_potentials.py b/src/tests/ext_tests/test_static_potentials.py similarity index 98% rename from src/amuse/test/suite/ext_tests/test_static_potentials.py rename to src/tests/ext_tests/test_static_potentials.py index 7d09cb3942..5da0ec190f 100644 --- a/src/amuse/test/suite/ext_tests/test_static_potentials.py +++ b/src/tests/ext_tests/test_static_potentials.py @@ -1,5 +1,5 @@ import numpy -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import units, quantities from amuse.ext import static_potentials diff --git a/src/amuse/test/suite/ext_tests/test_stellar_wind.py b/src/tests/ext_tests/test_stellar_wind.py similarity index 99% rename from src/amuse/test/suite/ext_tests/test_stellar_wind.py rename to src/tests/ext_tests/test_stellar_wind.py index fd8440f1b6..053ce29e42 100644 --- a/src/amuse/test/suite/ext_tests/test_stellar_wind.py +++ b/src/tests/ext_tests/test_stellar_wind.py @@ -1,6 +1,6 @@ import numpy -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import units, quantities from amuse.datamodel.particles import Particles, Particle # from amuse.community.sse.interface import SSE diff --git a/src/amuse/test/suite/ext_tests/test_sticky_spheres.py b/src/tests/ext_tests/test_sticky_spheres.py similarity index 98% rename from src/amuse/test/suite/ext_tests/test_sticky_spheres.py rename to src/tests/ext_tests/test_sticky_spheres.py index 1b031acf97..ca217bc4f5 100644 --- a/src/amuse/test/suite/ext_tests/test_sticky_spheres.py +++ b/src/tests/ext_tests/test_sticky_spheres.py @@ -1,7 +1,7 @@ from amuse.units import units from amuse.datamodel import Particles from amuse.support.exceptions import AmuseException -from amuse.test.amusetest import TestCase +from amuse.support.testing.amusetest import TestCase from amuse.ext.sticky_spheres import StickySpheres diff --git a/src/tests/reports/.gitignore b/src/tests/reports/.gitignore new file mode 100644 index 0000000000..e3f47777fa --- /dev/null +++ b/src/tests/reports/.gitignore @@ -0,0 +1,3 @@ +c_*interface.* +*_worker + diff --git a/src/tests/reports/Makefile b/src/tests/reports/Makefile new file mode 100644 index 0000000000..d078389a36 --- /dev/null +++ b/src/tests/reports/Makefile @@ -0,0 +1,26 @@ +all: c_worker + +# TestInterface +cpp_code.o: speed_test.cpp + $(MPICXX) -c -o $@ $(CFLAGS) -I. $< + +c_interface.h: interface.py + amusifier --mode=mpi --type=h -o $@ $< TestCode + +c_interface.c: interface.py + amusifier --mode=mpi --type=c -o $@ $< TestCode + +c_interface.o: c_interface.c c_interface.h + $(MPICXX) -c -o $@ $(CFLAGS) -I. $< + +c_worker: cpp_code.o c_interface.o + $(MPICXX) -o $@ $(LDFLAGS) $^ $(LIBS) + + +.PHONY: clean +clean: + rm -f c_interface.h c_interface.c *.o *_worker + +.PHONY: distclean +distclean: clean + diff --git a/src/tests/reports/__init__.py b/src/tests/reports/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/tests/reports/interface.py b/src/tests/reports/interface.py new file mode 100644 index 0000000000..d4e695b092 --- /dev/null +++ b/src/tests/reports/interface.py @@ -0,0 +1,131 @@ +from amuse.rfi.core import * + + +class TestCode(CodeInterface): + include_headers = ['c_interface.h'] + + def __init__(self, exefile): + CodeInterface.__init__(self, exefile) + + @legacy_function + def set_number_of_points_in_one_dimension(): + """ + Set the set number of points in one dimension (N), the total model + size will be qubed (N*N*N) + """ + function = LegacyFunctionSpecification() + function.addParameter('value', + dtype='int32', + direction=function.IN, + description = + "The number of points in one direction") + function.result_type = 'int32' + return function + + @legacy_function + def step(): + """ + Do one step over the N * N * N grid + """ + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + @legacy_function + def reset(): + """ + Restore the model to its original state + """ + function = LegacyFunctionSpecification() + function.result_type = 'int32' + return function + + @legacy_function + def set_data(): + """ + set example vector data + """ + function = LegacyFunctionSpecification() + function.addParameter('index', + dtype='int32', + direction=function.IN, + description = + "index in the array in range 0 <= index < (N*3)") + function.addParameter('vx', + dtype='float64', + direction=function.IN, + description = + "x component of the vector") + function.addParameter('vy', + dtype='float64', + direction=function.IN, + description = + "y component of the vector") + function.addParameter('vz', + dtype='float64', + direction=function.IN, + description = + "z component of the vector") + function.can_handle_array = True + function.result_type = 'int32' + return function + + @legacy_function + def set_data_to_same(): + """ + set all vector data to same value + """ + function = LegacyFunctionSpecification() + function.addParameter('max', + dtype='int32', + direction=function.IN, + description = + "index in the array in range 0 <= index < (N*3)") + function.addParameter('vx', + dtype='float64', + direction=function.IN, + description = + "x component of the vector") + function.addParameter('vy', + dtype='float64', + direction=function.IN, + description = + "y component of the vector") + function.addParameter('vz', + dtype='float64', + direction=function.IN, + description = + "z component of the vector") + function.can_handle_array = True + function.result_type = 'int32' + return function + + @legacy_function + def get_data(): + """ + retrieve example vector data + """ + function = LegacyFunctionSpecification() + function.addParameter('index', + dtype='int32', + direction=function.IN, + description = + "index in the array in range 0 <= index < (N*3)") + function.addParameter('vx', + dtype='float64', + direction=function.OUT, + description = + "x component of the vector") + function.addParameter('vy', + dtype='float64', + direction=function.OUT, + description = + "y component of the vector") + function.addParameter('vz', + dtype='float64', + direction=function.OUT, + description = + "z component of the vector") + function.can_handle_array = True + function.result_type = 'int32' + return function diff --git a/src/amuse/test/suite/reports/plot_speed_report.py b/src/tests/reports/plot_speed_report.py similarity index 100% rename from src/amuse/test/suite/reports/plot_speed_report.py rename to src/tests/reports/plot_speed_report.py diff --git a/src/amuse/test/suite/reports/speed_report.py b/src/tests/reports/speed_report.py similarity index 100% rename from src/amuse/test/suite/reports/speed_report.py rename to src/tests/reports/speed_report.py diff --git a/src/tests/reports/speed_test.cpp b/src/tests/reports/speed_test.cpp new file mode 100644 index 0000000000..cac17f8a7a --- /dev/null +++ b/src/tests/reports/speed_test.cpp @@ -0,0 +1,125 @@ +#include +#include +#include +#include + +extern "C" { + +struct data { + double x; + double y; + double z; +}; + +int number_of_points_in_one_dimension = 0; +data * model = 0; + +int set_data(int index, double vx, double vy, double vz) +{ + if(!model) + { + return -1; + } + + if(index > (number_of_points_in_one_dimension * number_of_points_in_one_dimension * number_of_points_in_one_dimension)) + { + return -2; + } + data & m = model[index]; + m.x = vx; + m.y = vy; + m.z = vz; + return 0; +} + + +int get_data(int index, double * vx, double * vy, double * vz) +{ + double data_in[6], data_out[6]; + int status_in,status_out; + if(!model) + { + return -1; + } + + if(index > (number_of_points_in_one_dimension * number_of_points_in_one_dimension * number_of_points_in_one_dimension)) + { + return -2; + } + data & m = model[index]; + *vx = m.x; + *vy = m.y; + *vz = m.z; + data_in[0] = data_in[1] = data_in[2] = 0.0; + data_in[3] = data_in[4] = data_in[5] = 0.0; + data_out[0] = data_out[1] = data_out[2] = 0.0; + data_out[3] = data_out[4] = data_out[5] = 0.0; + status_in = status_out = 0; + /* + MPI::COMM_WORLD.Allreduce(data_in, data_out, 6, MPI::DOUBLE,MPI::SUM); + MPI::COMM_WORLD.Barrier(); + MPI::COMM_WORLD.Allreduce(&status_in, &status_out, 1, MPI::DOUBLE,MPI::SUM); + */ + return 0; +} + +int step() +{ + if(!model) { + return -1; + } + for(int xindex ; xindex < number_of_points_in_one_dimension; xindex++) + { + for(int yindex ; yindex < number_of_points_in_one_dimension; yindex++) + { + for(int zindex ; zindex < number_of_points_in_one_dimension; zindex++) + { + int index = xindex * number_of_points_in_one_dimension * number_of_points_in_one_dimension; + index += yindex * number_of_points_in_one_dimension; + index += zindex; + + model[index].x = index; + model[index].y = model[index].x / (1.0 + model[index].y); + model[index].z = model[index].x * model[index].y / (model[index].z + 1e-7); + } + } + } + return 0; +} + +int set_number_of_points_in_one_dimension(int value) +{ + if(model) { + delete model; + } + + try { + model = new data[value*value*value]; + } catch (std::bad_alloc &e) { + number_of_points_in_one_dimension = 0; + return -1; + } + number_of_points_in_one_dimension = value; + + return 0; + +} + +int set_data_to_same(int n, double vx, double vy, double vz) { + for(int i = 0; i < n; i++) { + set_data(i, vx, vy, vz); + } + return 0; +} + +int reset() +{ + if(model) { + delete model; + } + model = 0; + return 0; +} + +} + diff --git a/src/tests/reports/test_speed.py b/src/tests/reports/test_speed.py new file mode 100644 index 0000000000..90420d1331 --- /dev/null +++ b/src/tests/reports/test_speed.py @@ -0,0 +1,68 @@ +from amuse.support.testing.amusetest import get_path_to_results +from reports.interface import TestCode +import os +from pathlib import Path +import numpy +import time + +# from amuse.rfi import channel +from amuse.rfi.core import * + + +class RunSpeedTests(object): + + def __init__(self): + self.exefile = str(Path(__file__).parent / 'c_worker') + self.number_of_gridpoints = [8] + + def start(self): + + for number_of_points_in_one_dimension in self.number_of_gridpoints: + result = self.run(number_of_points_in_one_dimension) + + print(', '.join([str(x) for x in result])) + + def run(self, number_of_points_in_one_dimension): + + instance = TestCode(self.exefile) + + total_number_of_points = number_of_points_in_one_dimension ** 3 + number_of_bytes = 4 + 8 + 8 + 8 + total_number_of_bytes = total_number_of_points * (number_of_bytes + 4) + indices = numpy.array(range(total_number_of_points), dtype='int32') + + data_x = numpy.array(range(total_number_of_points), dtype='float64') + data_y = numpy.array(range(total_number_of_points), dtype='float64') + data_z = numpy.array(range(total_number_of_points), dtype='float64') + + errorcode = instance.set_number_of_points_in_one_dimension(number_of_points_in_one_dimension) + if errorcode < 0: + raise Exception("Could not allocate memory") + + t0 = time.time() + instance.set_data(indices, data_x, data_y, data_z) + t1 = time.time() + dt = t1 - t0 + mbytes_per_second = total_number_of_bytes / dt / (1000.0 * 1000.0) + + t2 = time.time() + instance.set_data_to_same(total_number_of_points, 0.0, 1.0, 2.0) + t3 = time.time() + + instance.reset() + instance.stop() + + return dt, total_number_of_points, mbytes_per_second, t3-t2, (dt - (t3-t2)) / (t3-t2) + + +def test_speed(): + x = RunSpeedTests() + x.number_of_gridpoints = [8] + x.start() + + +if __name__ == '__main__': + #channel.MessageChannel.DEBUGGER = channel.MessageChannel.DDD + x = RunSpeedTests() + x.number_of_gridpoints = [64, 128, 192] + x.start() diff --git a/src/tests/support/aclocal.m4 b/src/tests/support/aclocal.m4 new file mode 100644 index 0000000000..019884c26e --- /dev/null +++ b/src/tests/support/aclocal.m4 @@ -0,0 +1,18 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_venv.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/src/tests/support/config.mk.in b/src/tests/support/config.mk.in new file mode 100644 index 0000000000..b84b0a8921 --- /dev/null +++ b/src/tests/support/config.mk.in @@ -0,0 +1,24 @@ +CC = @CC@ +FC = @FC@ + +CFLAGS = @CFLAGS@ +FCFLAGS = @FCFLAGS@ +LDFLAGS = @LDFLAGS@ + +# JAVAC = @JAVAC@ +# JAVA = @JAVA@ +# JAR = @JAR@ + +MPICC = @MPICC@ +MPIFC = @MPIFC@ +MPICXX = @MPICXX@ + +STOPCOND_CFLAGS = @STOPCOND_CFLAGS@ +STOPCOND_LIBS = @STOPCOND_LIBS@ + +STOPCONDMPI_CFLAGS = @STOPCONDMPI_CFLAGS@ +STOPCONDMPI_LIBS = @STOPCONDMPI_LIBS@ + +FORSOCKETS_CFLAGS = @FORSOCKETS_CFLAGS@ +FORSOCKETS_LIBS = @FORSOCKETS_LIBS@ + diff --git a/src/tests/support/configure b/src/tests/support/configure new file mode 100755 index 0000000000..e881ee7b0a --- /dev/null +++ b/src/tests/support/configure @@ -0,0 +1,7009 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse-tests 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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" + if (eval "$as_required") 2>/dev/null +then : + as_have_required=yes +else $as_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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='amuse-tests' +PACKAGE_TARNAME='amuse-tests' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse-tests 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_subst_vars='LTLIBOBJS +LIBOBJS +FOUND_FORSOCKETS +FORSOCKETS_LIBS +FORSOCKETS_CFLAGS +FOUND_STOPCONDMPI +STOPCONDMPI_LIBS +STOPCONDMPI_CFLAGS +FOUND_STOPCOND +STOPCOND_LIBS +STOPCOND_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +MPI_CXXLIBS +MPI_CXXFLAGS +MPICXX +MPI_FCLIBS +MPI_FCFLAGS +MPIFC +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +ac_ct_FC +FCFLAGS +FC +ac_ct_CXX +CXXFLAGS +CXX +GCC +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +FFLAGS +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 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +FC +FCFLAGS +MPICC +MPIFC +MPICXX +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +STOPCOND_CFLAGS +STOPCOND_LIBS +STOPCONDMPI_CFLAGS +STOPCONDMPI_LIBS +FORSOCKETS_CFLAGS +FORSOCKETS_LIBS' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse-tests 1.0 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/amuse-tests] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse-tests 1.0:";; + esac + cat <<\_ACEOF + +Some influential environment variables: + 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 + CXX C++ compiler command + CXXFLAGS C++ compiler flags + FC Fortran compiler command + FCFLAGS Fortran compiler flags + MPICC MPI C compiler command + MPIFC MPI Fortran compiler command + MPICXX MPI C++ compiler command + 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 + STOPCOND_CFLAGS + C compiler flags for STOPCOND, overriding pkg-config + STOPCOND_LIBS + linker flags for STOPCOND, overriding pkg-config + STOPCONDMPI_CFLAGS + C compiler flags for STOPCONDMPI, overriding pkg-config + STOPCONDMPI_LIBS + linker flags for STOPCONDMPI, overriding pkg-config + FORSOCKETS_CFLAGS + C compiler flags for FORSOCKETS, overriding pkg-config + FORSOCKETS_LIBS + linker flags for FORSOCKETS, overriding pkg-config + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse-tests configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_cxx_try_compile + +# ac_fn_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_fc_try_compile + +# 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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_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_nop + printf "%s\n" "$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_fc_try_link + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_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_nop + printf "%s\n" "$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_cxx_try_link + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse-tests $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + +# 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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 "x$VIRTUAL_ENV" != x +then : + + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + +fi + + if test "x$CONDA_PREFIX" != x +then : + + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + +fi + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + + + + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +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 + +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="$ac_prog" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5 +printf %s "checking whether the compiler supports GNU Fortran... " >&6; } +if test ${ac_cv_fc_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+y} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +printf %s "checking whether $FC accepts -g... " >&6; } +if test ${ac_cv_prog_fc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + ac_cv_prog_fc_g=yes +else $as_nop + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +printf "%s\n" "$ac_cv_prog_fc_g" >&6; } +if test $ac_test_FCFLAGS; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +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 + + +# AX_CHECK_CLASSPATH() +# AX_PROG_JAVAC() +# AX_PROG_JAVA() +# AX_PROG_JAR() + +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 + + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + + + + + + for ac_prog in mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPIFC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPIFC"; then + ac_cv_prog_MPIFC="$MPIFC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPIFC="$ac_prog" + printf "%s\n" "$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 +MPIFC=$ac_cv_prog_MPIFC +if test -n "$MPIFC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 +printf "%s\n" "$MPIFC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPIFC" && break +done +test -n "$MPIFC" || MPIFC="$FC" + + ax_mpi_save_FC="$FC" + FC="$MPIFC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI Fortran flags" >&5 +printf %s "checking checking MPI Fortran flags... " >&6; } + ax_mpi_fc_flags="`$MPIFC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_fc_libs="`$MPIFC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + + ax_mpi_fc_flags="`$MPIFC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_fc_libs="`$MPIFC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_fc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_FCFLAGS="$ax_mpi_fc_flags" + MPI_FCLIBS="$ax_mpi_fc_libs" + + + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 +printf %s "checking for MPI_Init... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + MPILIBS=" " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 +printf %s "checking for MPI_Init in -lfmpi... " >&6; } +if test ${ac_cv_lib_fmpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_fmpi_MPI_Init=yes +else $as_nop + ac_cv_lib_fmpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_fmpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes +then : + MPILIBS="-lfmpi" +fi + + fi + if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 +printf %s "checking for MPI_Init in -lmpichf90... " >&6; } +if test ${ac_cv_lib_mpichf90_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpichf90 $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpichf90_MPI_Init=yes +else $as_nop + ac_cv_lib_mpichf90_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpichf90_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes +then : + MPILIBS="-lmpichf90" +fi + + fi + + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat > conftest.$ac_ext <<_ACEOF + program main + call MPI_Init + end +_ACEOF +if ac_fn_fc_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 +printf %s "checking for mpif.h... " >&6; } + cat > conftest.$ac_ext <<_ACEOF + program main + include 'mpif.h' + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +FC="$ax_mpi_save_FC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + + + + + for ac_prog in mpicxx mpiCC mpic++ hcp mpxlC_r mpxlC mpCC cmpic++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICXX"; then + ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICXX="$ac_prog" + printf "%s\n" "$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 +MPICXX=$ac_cv_prog_MPICXX +if test -n "$MPICXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5 +printf "%s\n" "$MPICXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICXX" && break +done +test -n "$MPICXX" || MPICXX="$CXX" + + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C++ flags" >&5 +printf %s "checking checking MPI C++ flags... " >&6; } + ax_mpi_cc_flags="`$MPICXX -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_cc_libs="`$MPICXX -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + + ax_mpi_cc_flags="`$MPICXX -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_cc_libs="`$MPICXX -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_cc_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine C++ flags from show functions" >&5 +printf "%s\n" "could not determine C++ flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CXXFLAGS="$ax_mpi_cc_flags" + MPI_CXXLIBS="$ax_mpi_cc_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_cxx_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int MPI_Init (); +} +int +main (void) +{ +return conftest::MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CXX="$ax_mpi_save_CXX" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + +printf "%s\n" "#define HAVE_MPI 1" >>confdefs.h + + : +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 "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCOND_CFLAGS" + amuse_save_LIB_LIBS="$STOPCOND_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing is_condition_enabled" >&5 +printf %s "checking for library containing is_condition_enabled... " >&6; } +if test ${ac_cv_search_is_condition_enabled+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char is_condition_enabled (); +int +main (void) +{ +return is_condition_enabled (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcond +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_is_condition_enabled=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_is_condition_enabled+y} +then : + break +fi +done +if test ${ac_cv_search_is_condition_enabled+y} +then : + +else $as_nop + ac_cv_search_is_condition_enabled=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_is_condition_enabled" >&5 +printf "%s\n" "$ac_cv_search_is_condition_enabled" >&6; } +ac_res=$ac_cv_search_is_condition_enabled +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCOND="yes" + STOPCOND_LIBS="$LIBS" + STOPCOND_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCOND" >&5 +printf %s "checking for STOPCOND... " >&6; } + +if test -n "$STOPCOND_CFLAGS"; then + pkg_cv_STOPCOND_CFLAGS="$STOPCOND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_CFLAGS=`$PKG_CONFIG --cflags "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCOND_LIBS"; then + pkg_cv_STOPCOND_LIBS="$STOPCOND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcond\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcond") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCOND_LIBS=`$PKG_CONFIG --libs "stopcond" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcond" 2>&1` + else + STOPCOND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcond" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCOND_PKG_ERRORS" >&5 + + + FOUND_STOPCOND="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCOND="no" + +else + STOPCOND_CFLAGS=$pkg_cv_STOPCOND_CFLAGS + STOPCOND_LIBS=$pkg_cv_STOPCOND_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCOND="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCOND}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCOND_CFLAGS="${STOPCOND_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCOND_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCOND_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$STOPCONDMPI_CFLAGS" + amuse_save_LIB_LIBS="$STOPCONDMPI_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing get_set_conditions_" >&5 +printf %s "checking for library containing get_set_conditions_... " >&6; } +if test ${ac_cv_search_get_set_conditions_+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char get_set_conditions_ (); +int +main (void) +{ +return get_set_conditions_ (); + ; + return 0; +} +_ACEOF +for ac_lib in '' stopcondmpi +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_get_set_conditions_=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_get_set_conditions_+y} +then : + break +fi +done +if test ${ac_cv_search_get_set_conditions_+y} +then : + +else $as_nop + ac_cv_search_get_set_conditions_=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_get_set_conditions_" >&5 +printf "%s\n" "$ac_cv_search_get_set_conditions_" >&6; } +ac_res=$ac_cv_search_get_set_conditions_ +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_STOPCONDMPI="yes" + STOPCONDMPI_LIBS="$LIBS" + STOPCONDMPI_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for STOPCONDMPI" >&5 +printf %s "checking for STOPCONDMPI... " >&6; } + +if test -n "$STOPCONDMPI_CFLAGS"; then + pkg_cv_STOPCONDMPI_CFLAGS="$STOPCONDMPI_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcondmpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcondmpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCONDMPI_CFLAGS=`$PKG_CONFIG --cflags "stopcondmpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$STOPCONDMPI_LIBS"; then + pkg_cv_STOPCONDMPI_LIBS="$STOPCONDMPI_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"stopcondmpi\""; } >&5 + ($PKG_CONFIG --exists --print-errors "stopcondmpi") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_STOPCONDMPI_LIBS=`$PKG_CONFIG --libs "stopcondmpi" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + STOPCONDMPI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "stopcondmpi" 2>&1` + else + STOPCONDMPI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "stopcondmpi" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$STOPCONDMPI_PKG_ERRORS" >&5 + + + FOUND_STOPCONDMPI="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_STOPCONDMPI="no" + +else + STOPCONDMPI_CFLAGS=$pkg_cv_STOPCONDMPI_CFLAGS + STOPCONDMPI_LIBS=$pkg_cv_STOPCONDMPI_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_STOPCONDMPI="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_STOPCONDMPI}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + STOPCONDMPI_CFLAGS="${STOPCONDMPI_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + STOPCONDMPI_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + STOPCONDMPI_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$FORSOCKETS_CFLAGS" + amuse_save_LIB_LIBS="$FORSOCKETS_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing forsockets_close" >&5 +printf %s "checking for library containing forsockets_close... " >&6; } +if test ${ac_cv_search_forsockets_close+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char forsockets_close (); +int +main (void) +{ +return forsockets_close (); + ; + return 0; +} +_ACEOF +for ac_lib in '' forsockets +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_forsockets_close=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_forsockets_close+y} +then : + break +fi +done +if test ${ac_cv_search_forsockets_close+y} +then : + +else $as_nop + ac_cv_search_forsockets_close=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forsockets_close" >&5 +printf "%s\n" "$ac_cv_search_forsockets_close" >&6; } +ac_res=$ac_cv_search_forsockets_close +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_FORSOCKETS="yes" + FORSOCKETS_LIBS="$LIBS" + FORSOCKETS_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FORSOCKETS" >&5 +printf %s "checking for FORSOCKETS... " >&6; } + +if test -n "$FORSOCKETS_CFLAGS"; then + pkg_cv_FORSOCKETS_CFLAGS="$FORSOCKETS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_CFLAGS=`$PKG_CONFIG --cflags "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FORSOCKETS_LIBS"; then + pkg_cv_FORSOCKETS_LIBS="$FORSOCKETS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"forsockets\""; } >&5 + ($PKG_CONFIG --exists --print-errors "forsockets") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FORSOCKETS_LIBS=`$PKG_CONFIG --libs "forsockets" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "forsockets" 2>&1` + else + FORSOCKETS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "forsockets" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FORSOCKETS_PKG_ERRORS" >&5 + + + FOUND_FORSOCKETS="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_FORSOCKETS="no" + +else + FORSOCKETS_CFLAGS=$pkg_cv_FORSOCKETS_CFLAGS + FORSOCKETS_LIBS=$pkg_cv_FORSOCKETS_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_FORSOCKETS="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_FORSOCKETS}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + FORSOCKETS_CFLAGS="${FORSOCKETS_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + FORSOCKETS_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + FORSOCKETS_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + + +ac_config_files="$ac_config_files config.mk" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse-tests $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse-tests config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + diff --git a/src/tests/support/configure.ac b/src/tests/support/configure.ac new file mode 100644 index 0000000000..aef70e295e --- /dev/null +++ b/src/tests/support/configure.ac @@ -0,0 +1,34 @@ +AC_CONFIG_MACRO_DIRS([shared/m4]) +AC_INIT([amuse-tests], [1.0]) + +AMUSE_VENV() + +AC_PROG_CC() +AC_SUBST(GCC) +AC_PROG_CXX() +AC_PROG_FC() + +# AX_CHECK_CLASSPATH() +# AX_PROG_JAVAC() +# AX_PROG_JAVA() +# AX_PROG_JAR() + +AC_LANG_PUSH([C]) +AX_MPI() +AC_LANG_POP([C]) + +AC_LANG_PUSH([Fortran]) +AX_MPI() +AC_LANG_POP([Fortran]) + +AC_LANG_PUSH([C++]) +AX_MPI() +AC_LANG_POP([C++]) + +AMUSE_LIB_STOPCOND() +AMUSE_LIB_STOPCONDMPI() +AMUSE_LIB_FORSOCKETS() + +AC_CONFIG_FILES([config.mk]) +AC_OUTPUT + diff --git a/src/tests/support/shared b/src/tests/support/shared new file mode 120000 index 0000000000..00817b0193 --- /dev/null +++ b/src/tests/support/shared @@ -0,0 +1 @@ +../../../support/shared \ No newline at end of file diff --git a/src/amuse/test/suite/ticket_tests/FinalSnapshot.out b/src/tests/ticket_tests/FinalSnapshot.out similarity index 100% rename from src/amuse/test/suite/ticket_tests/FinalSnapshot.out rename to src/tests/ticket_tests/FinalSnapshot.out diff --git a/src/tests/ticket_tests/__init__.py b/src/tests/ticket_tests/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/amuse/test/suite/ticket_tests/test_github856.py b/src/tests/ticket_tests/test_github856.py similarity index 96% rename from src/amuse/test/suite/ticket_tests/test_github856.py rename to src/tests/ticket_tests/test_github856.py index 66c2ed3a5e..8daa9f14af 100644 --- a/src/amuse/test/suite/ticket_tests/test_github856.py +++ b/src/tests/ticket_tests/test_github856.py @@ -1,5 +1,5 @@ import os -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.datamodel import new_cartesian_grid, Particles diff --git a/src/amuse/test/suite/ticket_tests/test_issue123.py b/src/tests/ticket_tests/test_issue123.py similarity index 92% rename from src/amuse/test/suite/ticket_tests/test_issue123.py rename to src/tests/ticket_tests/test_issue123.py index 87acb1b753..140dfae4dc 100644 --- a/src/amuse/test/suite/ticket_tests/test_issue123.py +++ b/src/tests/ticket_tests/test_issue123.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.community.sse.interface import SSE from amuse.community.bhtree.interface import BHTree diff --git a/src/amuse/test/suite/ticket_tests/test_issue777.py b/src/tests/ticket_tests/test_issue777.py similarity index 96% rename from src/amuse/test/suite/ticket_tests/test_issue777.py rename to src/tests/ticket_tests/test_issue777.py index ba9cbb1bbf..54308792bc 100644 --- a/src/amuse/test/suite/ticket_tests/test_issue777.py +++ b/src/tests/ticket_tests/test_issue777.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.units import units from amuse.ic.brokenimf import new_kroupa_mass_distribution diff --git a/src/amuse/test/suite/ticket_tests/test_issue850.py b/src/tests/ticket_tests/test_issue850.py similarity index 99% rename from src/amuse/test/suite/ticket_tests/test_issue850.py rename to src/tests/ticket_tests/test_issue850.py index 831cf4111f..021924d615 100644 --- a/src/amuse/test/suite/ticket_tests/test_issue850.py +++ b/src/tests/ticket_tests/test_issue850.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest from amuse.datamodel import Particles from amuse.units import units diff --git a/src/amuse/test/suite/ticket_tests/test_ticket118.py b/src/tests/ticket_tests/test_ticket118.py similarity index 96% rename from src/amuse/test/suite/ticket_tests/test_ticket118.py rename to src/tests/ticket_tests/test_ticket118.py index 791fa2d4cc..f369e862fb 100644 --- a/src/amuse/test/suite/ticket_tests/test_ticket118.py +++ b/src/tests/ticket_tests/test_ticket118.py @@ -1,4 +1,4 @@ -from amuse.test import amusetest +from amuse.support.testing import amusetest import os.path from amuse import io diff --git a/src/amuse/test/suite/ticket_tests/test_ticket208.py b/src/tests/ticket_tests/test_ticket208.py similarity index 98% rename from src/amuse/test/suite/ticket_tests/test_ticket208.py rename to src/tests/ticket_tests/test_ticket208.py index b69bf0cedd..1c7bfa79cc 100644 --- a/src/amuse/test/suite/ticket_tests/test_ticket208.py +++ b/src/tests/ticket_tests/test_ticket208.py @@ -1,5 +1,5 @@ import numpy -from amuse.test import amusetest +from amuse.support.testing import amusetest import os.path diff --git a/support/.gitignore b/support/.gitignore new file mode 100644 index 0000000000..59b7c69a33 --- /dev/null +++ b/support/.gitignore @@ -0,0 +1,8 @@ +configure~ +autom4te.cache/ +config.status +config.log +config.out + +configuration.sh + diff --git a/support/Makefile b/support/Makefile new file mode 100644 index 0000000000..c23572e320 --- /dev/null +++ b/support/Makefile @@ -0,0 +1,11 @@ +.PHONY: clean +clean: clean_features + +.PHONY: distclean +distclean: clean clean_comm_deps + +.PHONY: clean_features +clean_features: + rm -f configuration.sh config.status config.log + rm -rf autom4te.cache + diff --git a/support/__init__.py b/support/__init__.py deleted file mode 100644 index 02b43d5ad6..0000000000 --- a/support/__init__.py +++ /dev/null @@ -1,17 +0,0 @@ -supportrc=dict(framework_install=True, package_name="amuse", allow_build_failures='some') - -def use(arg): - if arg == "package": - supportrc["framework_install"]=True - else: - if arg not in ["system","installed","environment"]: - warnings.warn(" assuming framework already installed") - supportrc["framework_install"]=False - -def set_package_name(arg): - supportrc["package_name"]=arg - -def set_allow_build_failures(arg): - if arg=="yes" or (arg==True): arg='some' - if arg=="no" or (arg==False): arg='none' - supportrc["allow_build_failures"]=arg diff --git a/support/aclocal.m4 b/support/aclocal.m4 new file mode 100644 index 0000000000..d357fb2f62 --- /dev/null +++ b/support/aclocal.m4 @@ -0,0 +1,31 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_include([shared/m4/amuse_conda.m4]) +m4_include([shared/m4/amuse_cuda.m4]) +m4_include([shared/m4/amuse_download.m4]) +m4_include([shared/m4/amuse_lib.m4]) +m4_include([shared/m4/amuse_opencl.m4]) +m4_include([shared/m4/ax_blas.m4]) +m4_include([shared/m4/ax_check_gnu_make.m4]) +m4_include([shared/m4/ax_lapack.m4]) +m4_include([shared/m4/ax_lib_hdf5.m4]) +m4_include([shared/m4/ax_lib_netcdf4.m4]) +m4_include([shared/m4/ax_mpi.m4]) +m4_include([shared/m4/ax_openmp.m4]) +m4_include([shared/m4/fftw.m4]) +m4_include([shared/m4/gmp.m4]) +m4_include([shared/m4/gsl.m4]) +m4_include([shared/m4/mpfr.m4]) +m4_include([shared/m4/pkg.m4]) diff --git a/support/classifiers.py b/support/classifiers.py deleted file mode 100644 index 018b4dc335..0000000000 --- a/support/classifiers.py +++ /dev/null @@ -1,26 +0,0 @@ -classifiers = [ - 'Development Status :: 5 - Production/Stable', - 'Environment :: Console', - 'Intended Audience :: End Users/Desktop', - 'Intended Audience :: Developers', - 'Intended Audience :: Science/Research', - 'License :: OSI Approved :: Apache Software License', - 'Operating System :: MacOS :: MacOS X', - 'Operating System :: POSIX', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7', - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: C', - 'Programming Language :: C++', - 'Programming Language :: Fortran', - 'Topic :: Scientific/Engineering :: Astronomy', -] - -def main(): - for i in classifiers: - print(i) - -if __name__ == "__main__": - main() diff --git a/support/config.py b/support/config.py deleted file mode 100644 index 3085e722fd..0000000000 --- a/support/config.py +++ /dev/null @@ -1,92 +0,0 @@ -# -# configuration from config.mk -import os -import warnings - -def parse_configmk(filename): - f=open(filename,"r") - lines=f.readlines() - f.close() - cfgvars=dict() - if "amuse configuration" not in lines[0]: - raise Exception("file: {0} is not an amuse configuration file".format(filename)) - for line in lines: - if "=" in line: - var, value=line.split("=",1) - if value.startswith("@") and value.endswith("@"): - warnings.warn("possible configuration error/ unconfigured variable in {0}".format(filename)) - cfgvars[var]=value.strip() - return cfgvars - -try: - configmk=parse_configmk("config.mk") -except IOError: - from .support import get_amuse_root_dir - configmk=parse_configmk(os.path.join(get_amuse_root_dir(),"config.mk")) - -class interpreters(object): - python = configmk["PYTHON"] - -class compilers(object): - cxx = configmk["CXX"] - cc = configmk["CC"] - fc = configmk["FC"] - - cxx_flags = configmk["CXXFLAGS"] - cc_flags = configmk["CFLAGS"] - fc_flags = configmk["FCFLAGS"] - ld_flags = configmk["LDFLAGS"] - - found_fftw = configmk["FOUND_FFTW"] - fftw_flags = configmk["FFTW_FLAGS"] - fftw_libs = configmk["FFTW_LIBS"] - - found_gsl = configmk["FOUND_GSL"] - gsl_flags = configmk["GSL_FLAGS"] - gsl_libs = configmk["GSL_LIBS"] - - gfortran_version = configmk["GFORTRAN_VERSION"] - ifort_version = configmk["IFORT_VERSION"] - - fc_iso_c_bindings = configmk["FC_ISO_C_AVAILABLE"]=='yes' - - cython = configmk["CYTHON"] - pythondev_cflags = configmk["PYTHONDEV_CFLAGS"] - pythondev_ldflags = configmk["PYTHONDEV_LDFLAGS"] - -class mpi(object): - is_enabled = configmk["MPI_ENABLED"]=='yes' - mpicxx = configmk["MPICXX"] - mpicc = configmk["MPICC"] - mpif95 = configmk["MPIFC"] - mpifc = configmk["MPIFC"] - mpif90 = configmk["MPIFC"] - mpiexec = configmk["MPIEXEC"] - - mpi_cflags = configmk["MPI_CFLAGS"] - mpi_cxxflags = configmk["MPI_CXXFLAGS"] - mpi_fcflags = configmk["MPI_FCFLAGS"] - mpi_clibs = configmk["MPI_CLIBS"] - mpi_cxxlibs = configmk["MPI_CXXLIBS"] - mpi_fclibs = configmk["MPI_FCLIBS"] - -class java(object): - is_enabled = configmk["JAVA_ENABLED"]=='yes' - java = configmk["JAVA"] - javac = configmk["JAVAC"] - jar = configmk["JAR"] - version = configmk["JAVA_VERSION"] - -class cuda(object): - is_enabled = configmk["CUDA_ENABLED"]=='yes' - compiler = configmk["NVCC"] - compiler_flags = configmk["NVCC_FLAGS"] - toolkit_path = configmk["CUDA_TK"] - sdk_path = "/TOBEFIXED" - cuda_libs = configmk["CUDA_LIBS"] - sapporo_version = configmk["SAPPORO_VERSION"] - -class openmp(object): - is_enabled = configmk["OPENMP_ENABLED"]=='yes' - fcflags = configmk["OPENMP_FCFLAGS"] - cflags = configmk["OPENMP_CFLAGS"] diff --git a/support/configuration.sh.in b/support/configuration.sh.in new file mode 100644 index 0000000000..bd1f00e5c6 --- /dev/null +++ b/support/configuration.sh.in @@ -0,0 +1,12 @@ +GMAKE="@GMAKE@" +PYTEST="@PYTEST@" + +APT="@APT@" +DNF="@DNF@" +MACPORTS="@MACPORTS@" +HOMEBREW="@HOMEBREW@" + +FEATURES="@FEATURES@" + +CONDA_LIST="@CONDA_LIST@" + diff --git a/support/configure b/support/configure new file mode 100755 index 0000000000..7e1e200f4d --- /dev/null +++ b/support/configure @@ -0,0 +1,15885 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for amuse 1.0. +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +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="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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'" + +as_awk_strverscmp=' + # Use only awk features that work with 7th edition Unix awk (1978). + # My, what an old awk you have, Mr. Solaris! + END { + while (length(v1) && length(v2)) { + # Set d1 to be the next thing to compare from v1, and likewise for d2. + # Normally this is a single character, but if v1 and v2 contain digits, + # compare them as integers and fractions as strverscmp does. + if (v1 ~ /^[0-9]/ && v2 ~ /^[0-9]/) { + # Split v1 and v2 into their leading digit string components d1 and d2, + # and advance v1 and v2 past the leading digit strings. + for (len1 = 1; substr(v1, len1 + 1) ~ /^[0-9]/; len1++) continue + for (len2 = 1; substr(v2, len2 + 1) ~ /^[0-9]/; len2++) continue + d1 = substr(v1, 1, len1); v1 = substr(v1, len1 + 1) + d2 = substr(v2, 1, len2); v2 = substr(v2, len2 + 1) + if (d1 ~ /^0/) { + if (d2 ~ /^0/) { + # Compare two fractions. + while (d1 ~ /^0/ && d2 ~ /^0/) { + d1 = substr(d1, 2); len1-- + d2 = substr(d2, 2); len2-- + } + if (len1 != len2 && ! (len1 && len2 && substr(d1, 1, 1) == substr(d2, 1, 1))) { + # The two components differ in length, and the common prefix + # contains only leading zeros. Consider the longer to be less. + d1 = -len1 + d2 = -len2 + } else { + # Otherwise, compare as strings. + d1 = "x" d1 + d2 = "x" d2 + } + } else { + # A fraction is less than an integer. + exit 1 + } + } else { + if (d2 ~ /^0/) { + # An integer is greater than a fraction. + exit 2 + } else { + # Compare two integers. + d1 += 0 + d2 += 0 + } + } + } else { + # The normal case, without worrying about digits. + d1 = substr(v1, 1, 1); v1 = substr(v1, 2) + d2 = substr(v2, 1, 1); v2 = substr(v2, 2) + } + if (d1 < d2) exit 1 + if (d1 > d2) exit 2 + } + # Beware Solaris /usr/xgp4/bin/awk (at least through Solaris 10), + # which mishandles some comparisons of empty strings to integers. + if (length(v2)) exit 1 + if (length(v1)) exit 2 + } +' + +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='amuse' +PACKAGE_TARNAME='amuse' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='amuse 1.0' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_STDIO_H +# include +#endif +#ifdef HAVE_STDLIB_H +# include +#endif +#ifdef HAVE_STRING_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_header_c_list= +ac_subst_vars='LTLIBOBJS +LIBOBJS +FEATURES +GMAKE +FOUND_SAPPORO_LIGHT +SAPPORO_LIGHT_LIBS +SAPPORO_LIGHT_CFLAGS +NETCDF4_FLIBS +NETCDF4_FFLAGS +NETCDF4_FC +NETCDF4_LIBS +NETCDF4_LDFLAGS +NETCDF4_CFLAGS +NETCDF4_CC +NETCDF4_VERSION +NC_CONFIG +HDF5_TYPE +HDF5_FLIBS +HDF5_FFLAGS +HDF5_FC +HDF5_LIBS +HDF5_LDFLAGS +HDF5_CPPFLAGS +HDF5_CFLAGS +HDF5_CC +HDF5_VERSION +H5FC +H5CC +GREP +SED +FFTW_FLAGS +FOUND_FFTW +FFTW_LIBS +FFTW_CFLAGS +MPFR_FLAGS +FOUND_MPFR +MPFR_LIBS +MPFR_CFLAGS +GMP_FLAGS +FOUND_GMP +GMP_LIBS +GMP_CFLAGS +GSL_CONFIG +GSL_LIBS +GSL_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +GSL_FLAGS +LAPACK_LIBS +BLAS_LIBS +FLIBS +ac_ct_F77 +FFLAGS +F77 +OPENCL_LIBS +OPENCL_CFLAGS +FOUND_OPENCL +CUDA_LDFLAGS +CUDA_FLAGS +NVCC +CUDA_TK +amuse_cuda_verify_NVCC +MPILIBS +MPI_CLIBS +MPI_CFLAGS +MPICC +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CMAKE +ifnGNUmake +ifGNUmake +AWK +HOMEBREW +MACPORTS +DNF +APT +PYTEST +INSTALL +PYTHON_DEV +PYTHON +JAVAC +FC +CXX +CC +CONDA_LIST +PERL +YFLAGS +YACC +UNXZ +BUNZIP2 +GUNZIP +UNZIP +TAR +PATCH +DOWNLOAD +CURL +WGET +target_os +target_vendor +target_cpu +target +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +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 +with_blas +with_lapack +with_gsl_prefix +with_gsl_exec_prefix +enable_gsltest +with_gmp +with_mpfr +with_fftw +with_hdf5 +with_netcdf4 +' + ac_precious_vars='build_alias +host_alias +target_alias +YACC +YFLAGS +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +MPICC +F77 +FFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +GSL_CFLAGS +GSL_LIBS +GMP_CFLAGS +GMP_LIBS +MPFR_CFLAGS +MPFR_LIBS +FFTW_CFLAGS +FFTW_LIBS +SAPPORO_LIGHT_CFLAGS +SAPPORO_LIGHT_LIBS' + + +# 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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$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" ;; + *) printf "%s\n" "$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 || +printf "%s\n" 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 amuse 1.0 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/amuse] + --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] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of amuse 1.0:";; + 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] + --disable-gsltest Do not try to compile and run a test GSL program + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-blas= use BLAS library + --with-lapack= use LAPACK library + --with-gsl-prefix=PFX Prefix where GSL is installed (optional) + --with-gsl-exec-prefix=PFX Exec prefix where GSL is installed (optional) + --with-gmp=PFX Prefix where GMP has been installed + --with-mpfr=PFX Prefix where MPFR has been installed + --with-fftw=PFX Prefix where FFTW has been installed + --with-hdf5=yes/no/PATH location of h5cc or h5pcc for HDF5 configuration + --with-netcdf4=yes/no/PATH + base directory of NetCDF4 installation + +Some influential environment variables: + YACC The `Yet Another Compiler Compiler' implementation to use. + Defaults to the first program found out of: `bison -y', `byacc', + `yacc'. + YFLAGS The list of arguments that will be passed by default to $YACC. + This script will default YFLAGS to the empty string to avoid a + default value of `-d' given by some make applications. + 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 + MPICC MPI C compiler command + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + 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 + GSL_CFLAGS C compiler flags for GSL, overriding pkg-config + GSL_LIBS linker flags for GSL, overriding pkg-config + GMP_CFLAGS C compiler flags for GMP, overriding pkg-config + GMP_LIBS linker flags for GMP, overriding pkg-config + MPFR_CFLAGS C compiler flags for MPFR, overriding pkg-config + MPFR_LIBS linker flags for MPFR, overriding pkg-config + FFTW_CFLAGS C compiler flags for FFTW, overriding pkg-config + FFTW_LIBS linker flags for FFTW, overriding pkg-config + SAPPORO_LIGHT_CFLAGS + C compiler flags for SAPPORO_LIGHT, overriding pkg-config + SAPPORO_LIGHT_LIBS + linker flags for SAPPORO_LIGHT, overriding pkg-config + +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 the package provider. +_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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + 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 + printf "%s\n" "$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 +amuse configure 1.0 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 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 conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_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.beam 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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_nop + printf "%s\n" "$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_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ + +#include +#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 (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_f77_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_f77_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$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_f77_try_compile + +# 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +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 amuse $as_me 1.0, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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=`printf "%s\n" "$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=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## 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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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 + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$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 + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*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 do not provoke an error unfortunately, instead are silently treated + as an "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 is necessary to write \x00 == 0 to get something + that is 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 **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" +as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" +as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" +as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" +as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" +as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" +as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" +as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" +as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/shared" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$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. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +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,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-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 + + + + + + + # 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 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$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 + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- + +# If we have a Conda environment active, then we're going to do everything via Conda, +# including the dependencies. So in this case, we'll detect installed Conda packages, +# rather than searching the system for libraries in the usual way. +# +# If we're not in a Conda environment, then we'll detect features from the system, and +# hope that the user hasn't made too big a mess of things. +# +# Conda build environments for conda-forge have a different setup than normal Conda +# environments, with different packages, so that the normal Conda mode doesn't work. +# We use the normal detection as well in that case. +if test "x" != "x$CONDA_BUILD" +then + # Conda list doesn't work in conda build environments, and normal detection + # can be problematic because it picks up e.g. compilers from the system. So + # we assume that the conda metadata is correct, and that if it isn't there's + # an expert packager who can fix things. + printf "%s\n" "Conda package build detected, skipping checks for dependencies." + ASSUME_FEATURES="c c++ fortran java python tar unzip gunzip bunzip2 unxz bison perl gmake cmake install download mpi openmp cuda opencl blas lapack gsl gmp mpfr fftw hdf5 netcdf4 sapporo_light" + +else + if test "x" != "x$CONDA_DEFAULT_ENV" + then + printf "%s\n" + printf "%s\n" ' Conda environment active, dependencies will be searched in Conda only,' + printf "%s\n" ' and must be installed via Conda to be detected.' + printf "%s\n" + + # Doesn't have a conda package yet, checked directly below. + # AMUSE_CONDA_PACKAGE(SAPPORO_LIGHT_LIBS, sapporo_light) + + + amuse_conda_list="$(conda list | tr '\n' '^')" + + + if test "x$target_os" == "xlinux-gnu" + then + # CC needs to be a valid compiler for the sapporo check at the end + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package gcc" >&5 +printf %s "checking for conda package gcc... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^gcc ')" + if test "$?" = "0" +then : + + # CC="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + CC="gcc" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package gxx" >&5 +printf %s "checking for conda package gxx... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^gxx ')" + if test "$?" = "0" +then : + + # CXX="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + CXX="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + else + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package clang" >&5 +printf %s "checking for conda package clang... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^clang ')" + if test "$?" = "0" +then : + + # CC="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + CC="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package clangxx" >&5 +printf %s "checking for conda package clangxx... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^clangxx ')" + if test "$?" = "0" +then : + + # CXX="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + CXX="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package gfortran" >&5 +printf %s "checking for conda package gfortran... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^gfortran ')" + if test "$?" = "0" +then : + + # FC="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + FC="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package openjdk" >&5 +printf %s "checking for conda package openjdk... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^openjdk ')" + if test "$?" = "0" +then : + + # JAVAC="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + JAVAC="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package python" >&5 +printf %s "checking for conda package python... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^python ')" + if test "$?" = "0" +then : + + # PYTHON="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + PYTHON="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package python" >&5 +printf %s "checking for conda package python... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^python ')" + if test "$?" = "0" +then : + + # PYTHON_DEV="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + PYTHON_DEV="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package coreutils" >&5 +printf %s "checking for conda package coreutils... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^coreutils ')" + if test "$?" = "0" +then : + + # INSTALL="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + INSTALL="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package pytest" >&5 +printf %s "checking for conda package pytest... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^pytest ')" + if test "$?" = "0" +then : + + # PYTEST="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + PYTEST="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}wget", so it can be a program name with args. +set dummy ${ac_tool_prefix}wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$WGET"; then + ac_cv_prog_WGET="$WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="${ac_tool_prefix}wget" + printf "%s\n" "$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 +WGET=$ac_cv_prog_WGET +if test -n "$WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $WGET" >&5 +printf "%s\n" "$WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_WGET"; then + ac_ct_WGET=$WGET + # Extract the first word of "wget", so it can be a program name with args. +set dummy wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_WGET"; then + ac_cv_prog_ac_ct_WGET="$ac_ct_WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="wget" + printf "%s\n" "$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_WGET=$ac_cv_prog_ac_ct_WGET +if test -n "$ac_ct_WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WGET" >&5 +printf "%s\n" "$ac_ct_WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_WGET" = x; then + WGET="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + WGET=$ac_ct_WGET + fi +else + WGET="$ac_cv_prog_WGET" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}curl", so it can be a program name with args. +set dummy ${ac_tool_prefix}curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CURL"; then + ac_cv_prog_CURL="$CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="${ac_tool_prefix}curl" + printf "%s\n" "$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 +CURL=$ac_cv_prog_CURL +if test -n "$CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CURL" >&5 +printf "%s\n" "$CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CURL"; then + ac_ct_CURL=$CURL + # Extract the first word of "curl", so it can be a program name with args. +set dummy curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CURL"; then + ac_cv_prog_ac_ct_CURL="$ac_ct_CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="curl" + printf "%s\n" "$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_CURL=$ac_cv_prog_ac_ct_CURL +if test -n "$ac_ct_CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CURL" >&5 +printf "%s\n" "$ac_ct_CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CURL" = x; then + CURL="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CURL=$ac_ct_CURL + fi +else + CURL="$ac_cv_prog_CURL" +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a wget or curl to download files with" >&5 +printf %s "checking for a wget or curl to download files with... " >&6; } + if test "x$WGET" != "x" + then + # The MESA SDK server rejects wget, this is the official work-around + DOWNLOAD="$WGET --progress=bar:force:noscroll --user-agent='' -O -" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + if test "x$CURL" != "x" + then + DOWNLOAD="$CURL -L" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + fi + + + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}patch", so it can be a program name with args. +set dummy ${ac_tool_prefix}patch; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_PATCH+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$PATCH"; then + ac_cv_prog_PATCH="$PATCH" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_PATCH="${ac_tool_prefix}patch" + printf "%s\n" "$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 +PATCH=$ac_cv_prog_PATCH +if test -n "$PATCH"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PATCH" >&5 +printf "%s\n" "$PATCH" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_PATCH"; then + ac_ct_PATCH=$PATCH + # Extract the first word of "patch", so it can be a program name with args. +set dummy patch; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_PATCH+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_PATCH"; then + ac_cv_prog_ac_ct_PATCH="$ac_ct_PATCH" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_PATCH="patch" + printf "%s\n" "$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_PATCH=$ac_cv_prog_ac_ct_PATCH +if test -n "$ac_ct_PATCH"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_PATCH" >&5 +printf "%s\n" "$ac_ct_PATCH" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_PATCH" = x; then + PATCH="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PATCH=$ac_ct_PATCH + fi +else + PATCH="$ac_cv_prog_PATCH" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}tar", so it can be a program name with args. +set dummy ${ac_tool_prefix}tar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_TAR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$TAR"; then + ac_cv_prog_TAR="$TAR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_TAR="${ac_tool_prefix}tar" + printf "%s\n" "$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 +TAR=$ac_cv_prog_TAR +if test -n "$TAR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $TAR" >&5 +printf "%s\n" "$TAR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_TAR"; then + ac_ct_TAR=$TAR + # Extract the first word of "tar", so it can be a program name with args. +set dummy tar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_TAR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_TAR"; then + ac_cv_prog_ac_ct_TAR="$ac_ct_TAR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_TAR="tar" + printf "%s\n" "$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_TAR=$ac_cv_prog_ac_ct_TAR +if test -n "$ac_ct_TAR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_TAR" >&5 +printf "%s\n" "$ac_ct_TAR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_TAR" = x; then + TAR="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + TAR=$ac_ct_TAR + fi +else + TAR="$ac_cv_prog_TAR" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}unzip", so it can be a program name with args. +set dummy ${ac_tool_prefix}unzip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_UNZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$UNZIP"; then + ac_cv_prog_UNZIP="$UNZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_UNZIP="${ac_tool_prefix}unzip" + printf "%s\n" "$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 +UNZIP=$ac_cv_prog_UNZIP +if test -n "$UNZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $UNZIP" >&5 +printf "%s\n" "$UNZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_UNZIP"; then + ac_ct_UNZIP=$UNZIP + # Extract the first word of "unzip", so it can be a program name with args. +set dummy unzip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_UNZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_UNZIP"; then + ac_cv_prog_ac_ct_UNZIP="$ac_ct_UNZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_UNZIP="unzip" + printf "%s\n" "$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_UNZIP=$ac_cv_prog_ac_ct_UNZIP +if test -n "$ac_ct_UNZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_UNZIP" >&5 +printf "%s\n" "$ac_ct_UNZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_UNZIP" = x; then + UNZIP="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + UNZIP=$ac_ct_UNZIP + fi +else + UNZIP="$ac_cv_prog_UNZIP" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gunzip", so it can be a program name with args. +set dummy ${ac_tool_prefix}gunzip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_GUNZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$GUNZIP"; then + ac_cv_prog_GUNZIP="$GUNZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_GUNZIP="${ac_tool_prefix}gunzip" + printf "%s\n" "$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 +GUNZIP=$ac_cv_prog_GUNZIP +if test -n "$GUNZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GUNZIP" >&5 +printf "%s\n" "$GUNZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_GUNZIP"; then + ac_ct_GUNZIP=$GUNZIP + # Extract the first word of "gunzip", so it can be a program name with args. +set dummy gunzip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_GUNZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_GUNZIP"; then + ac_cv_prog_ac_ct_GUNZIP="$ac_ct_GUNZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_GUNZIP="gunzip" + printf "%s\n" "$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_GUNZIP=$ac_cv_prog_ac_ct_GUNZIP +if test -n "$ac_ct_GUNZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GUNZIP" >&5 +printf "%s\n" "$ac_ct_GUNZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_GUNZIP" = x; then + GUNZIP="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + GUNZIP=$ac_ct_GUNZIP + fi +else + GUNZIP="$ac_cv_prog_GUNZIP" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}bunzip2", so it can be a program name with args. +set dummy ${ac_tool_prefix}bunzip2; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_BUNZIP2+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$BUNZIP2"; then + ac_cv_prog_BUNZIP2="$BUNZIP2" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_BUNZIP2="${ac_tool_prefix}bunzip2" + printf "%s\n" "$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 +BUNZIP2=$ac_cv_prog_BUNZIP2 +if test -n "$BUNZIP2"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $BUNZIP2" >&5 +printf "%s\n" "$BUNZIP2" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_BUNZIP2"; then + ac_ct_BUNZIP2=$BUNZIP2 + # Extract the first word of "bunzip2", so it can be a program name with args. +set dummy bunzip2; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_BUNZIP2+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_BUNZIP2"; then + ac_cv_prog_ac_ct_BUNZIP2="$ac_ct_BUNZIP2" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_BUNZIP2="bunzip2" + printf "%s\n" "$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_BUNZIP2=$ac_cv_prog_ac_ct_BUNZIP2 +if test -n "$ac_ct_BUNZIP2"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_BUNZIP2" >&5 +printf "%s\n" "$ac_ct_BUNZIP2" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_BUNZIP2" = x; then + BUNZIP2="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + BUNZIP2=$ac_ct_BUNZIP2 + fi +else + BUNZIP2="$ac_cv_prog_BUNZIP2" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}unxz", so it can be a program name with args. +set dummy ${ac_tool_prefix}unxz; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_UNXZ+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$UNXZ"; then + ac_cv_prog_UNXZ="$UNXZ" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_UNXZ="${ac_tool_prefix}unxz" + printf "%s\n" "$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 +UNXZ=$ac_cv_prog_UNXZ +if test -n "$UNXZ"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $UNXZ" >&5 +printf "%s\n" "$UNXZ" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_UNXZ"; then + ac_ct_UNXZ=$UNXZ + # Extract the first word of "unxz", so it can be a program name with args. +set dummy unxz; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_UNXZ+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_UNXZ"; then + ac_cv_prog_ac_ct_UNXZ="$ac_ct_UNXZ" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_UNXZ="unxz" + printf "%s\n" "$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_UNXZ=$ac_cv_prog_ac_ct_UNXZ +if test -n "$ac_ct_UNXZ"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_UNXZ" >&5 +printf "%s\n" "$ac_ct_UNXZ" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_UNXZ" = x; then + UNXZ="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + UNXZ=$ac_ct_UNXZ + fi +else + UNXZ="$ac_cv_prog_UNXZ" +fi + + for ac_prog in 'bison -y' byacc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_YACC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$YACC"; then + ac_cv_prog_YACC="$YACC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_YACC="$ac_prog" + printf "%s\n" "$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 +YACC=$ac_cv_prog_YACC +if test -n "$YACC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5 +printf "%s\n" "$YACC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$YACC" && break +done +test -n "$YACC" || YACC="yacc" + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}perl", so it can be a program name with args. +set dummy ${ac_tool_prefix}perl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_PERL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$PERL"; then + ac_cv_prog_PERL="$PERL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_PERL="${ac_tool_prefix}perl" + printf "%s\n" "$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 +PERL=$ac_cv_prog_PERL +if test -n "$PERL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5 +printf "%s\n" "$PERL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_PERL"; then + ac_ct_PERL=$PERL + # Extract the first word of "perl", so it can be a program name with args. +set dummy perl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_PERL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_PERL"; then + ac_cv_prog_ac_ct_PERL="$ac_ct_PERL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_PERL="perl" + printf "%s\n" "$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_PERL=$ac_cv_prog_ac_ct_PERL +if test -n "$ac_ct_PERL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_PERL" >&5 +printf "%s\n" "$ac_ct_PERL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_PERL" = x; then + PERL="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PERL=$ac_ct_PERL + fi +else + PERL="$ac_cv_prog_PERL" +fi + + + # GMAKE is exported and used by setup, it needs to point to the command + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package make" >&5 +printf %s "checking for conda package make... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^make ')" + if test "$?" = "0" +then : + + # GMAKE="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + GMAKE="make" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package cmake" >&5 +printf %s "checking for conda package cmake... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^cmake ')" + if test "$?" = "0" +then : + + # CMAKE="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + CMAKE="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package mpi" >&5 +printf %s "checking for conda package mpi... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^mpi ')" + if test "$?" = "0" +then : + + # HAVE_MPI="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + HAVE_MPI="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package openmp" >&5 +printf %s "checking for conda package openmp... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^openmp ')" + if test "$?" = "0" +then : + + # HAVE_OPENMP="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + HAVE_OPENMP="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + HAVE_OPENMP="yes" # conda-forge compilers have openmp built in + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package cuda-toolkit" >&5 +printf %s "checking for conda package cuda-toolkit... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^cuda-toolkit ')" + if test "$?" = "0" +then : + + # CUDA_TK="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + CUDA_TK="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package ocl-icd" >&5 +printf %s "checking for conda package ocl-icd... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^ocl-icd ')" + if test "$?" = "0" +then : + + # FOUND_OPENCL="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + FOUND_OPENCL="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + if test "$FOUND_OPENCL" == "no" + then + # ocl-icd is only for Linux, macOS and Windows use this one + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package khronos-opencl-icd-loader" >&5 +printf %s "checking for conda package khronos-opencl-icd-loader... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^khronos-opencl-icd-loader ')" + if test "$?" = "0" +then : + + # FOUND_OPENCL="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + FOUND_OPENCL="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package liblapack" >&5 +printf %s "checking for conda package liblapack... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^liblapack ')" + if test "$?" = "0" +then : + + # HAVE_LAPACK="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + HAVE_LAPACK="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package libblas" >&5 +printf %s "checking for conda package libblas... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^libblas ')" + if test "$?" = "0" +then : + + # BLAS_LIBS="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + BLAS_LIBS="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package gsl" >&5 +printf %s "checking for conda package gsl... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^gsl ')" + if test "$?" = "0" +then : + + # FOUND_GSL="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + FOUND_GSL="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package gmp" >&5 +printf %s "checking for conda package gmp... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^gmp ')" + if test "$?" = "0" +then : + + # FOUND_GMP="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + FOUND_GMP="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package mpfr" >&5 +printf %s "checking for conda package mpfr... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^mpfr ')" + if test "$?" = "0" +then : + + # FOUND_MPFR="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + FOUND_MPFR="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package fftw" >&5 +printf %s "checking for conda package fftw... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^fftw ')" + if test "$?" = "0" +then : + + # FOUND_FFTW="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + FOUND_FFTW="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package hdf5" >&5 +printf %s "checking for conda package hdf5... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^hdf5 ')" + if test "$?" = "0" +then : + + # with_hdf5="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + with_hdf5="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for conda package netcdf4" >&5 +printf %s "checking for conda package netcdf4... " >&6; } + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^netcdf4 ')" + if test "$?" = "0" +then : + + # FOUND_NETCDF="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + + FOUND_NETCDF="yes" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi + + + # Export conda list output so setup doesn't have to rerun it to detect pip and wheel + CONDA_LIST="$amuse_conda_list" + + + else + printf "%s\n" 'No Conda environment active, detecting dependencies from the system' + + # The standard compiler checks AC_PROG_* crash if the compiler is not found, which + # is not what we want here. Also, we only support specific compilers. So we use + # AC_CHECK_TOOL instead. If the user sets the corresponding variable explicitly, + # then this will just assume that it's a working compiler. + if test "x$target_os" == "xlinux-gnu" + then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 -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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}g++" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CXX"; then + ac_ct_CXX=$CXX + # Extract the first word of "g++", so it can be a program name with args. +set dummy g++; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="g++" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CXX" = x; then + CXX="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +else + CXX="$ac_cv_prog_CXX" +fi + + else + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 -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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang++" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CXX"; then + ac_ct_CXX=$CXX + # Extract the first word of "clang++", so it can be a program name with args. +set dummy clang++; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang++" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CXX" = x; then + CXX="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +else + CXX="$ac_cv_prog_CXX" +fi + + fi + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gfortran", so it can be a program name with args. +set dummy ${ac_tool_prefix}gfortran; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="${ac_tool_prefix}gfortran" + printf "%s\n" "$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 +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +printf "%s\n" "$FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_FC"; then + ac_ct_FC=$FC + # Extract the first word of "gfortran", so it can be a program name with args. +set dummy gfortran; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_FC="gfortran" + printf "%s\n" "$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_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +printf "%s\n" "$ac_ct_FC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +else + FC="$ac_cv_prog_FC" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}javac", so it can be a program name with args. +set dummy ${ac_tool_prefix}javac; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_JAVAC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$JAVAC"; then + ac_cv_prog_JAVAC="$JAVAC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_JAVAC="${ac_tool_prefix}javac" + printf "%s\n" "$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 +JAVAC=$ac_cv_prog_JAVAC +if test -n "$JAVAC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5 +printf "%s\n" "$JAVAC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_JAVAC"; then + ac_ct_JAVAC=$JAVAC + # Extract the first word of "javac", so it can be a program name with args. +set dummy javac; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_JAVAC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_JAVAC"; then + ac_cv_prog_ac_ct_JAVAC="$ac_ct_JAVAC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_JAVAC="javac" + printf "%s\n" "$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_JAVAC=$ac_cv_prog_ac_ct_JAVAC +if test -n "$ac_ct_JAVAC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_JAVAC" >&5 +printf "%s\n" "$ac_ct_JAVAC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_JAVAC" = x; then + JAVAC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + JAVAC=$ac_ct_JAVAC + fi +else + JAVAC="$ac_cv_prog_JAVAC" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}python3", so it can be a program name with args. +set dummy ${ac_tool_prefix}python3; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_PYTHON+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$PYTHON"; then + ac_cv_prog_PYTHON="$PYTHON" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="${ac_tool_prefix}python3" + printf "%s\n" "$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=$ac_cv_prog_PYTHON +if test -n "$PYTHON"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 +printf "%s\n" "$PYTHON" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_PYTHON"; then + ac_ct_PYTHON=$PYTHON + # Extract the first word of "python3", so it can be a program name with args. +set dummy python3; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_PYTHON+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_PYTHON"; then + ac_cv_prog_ac_ct_PYTHON="$ac_ct_PYTHON" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_PYTHON="python3" + printf "%s\n" "$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_PYTHON=$ac_cv_prog_ac_ct_PYTHON +if test -n "$ac_ct_PYTHON"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_PYTHON" >&5 +printf "%s\n" "$ac_ct_PYTHON" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_PYTHON" = x; then + PYTHON="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PYTHON=$ac_ct_PYTHON + fi +else + PYTHON="$ac_cv_prog_PYTHON" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}python3-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}python3-config; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_PYTHON_DEV+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$PYTHON_DEV"; then + ac_cv_prog_PYTHON_DEV="$PYTHON_DEV" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_DEV="${ac_tool_prefix}python3-config" + printf "%s\n" "$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_DEV=$ac_cv_prog_PYTHON_DEV +if test -n "$PYTHON_DEV"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_DEV" >&5 +printf "%s\n" "$PYTHON_DEV" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_PYTHON_DEV"; then + ac_ct_PYTHON_DEV=$PYTHON_DEV + # Extract the first word of "python3-config", so it can be a program name with args. +set dummy python3-config; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_PYTHON_DEV+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_PYTHON_DEV"; then + ac_cv_prog_ac_ct_PYTHON_DEV="$ac_ct_PYTHON_DEV" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_PYTHON_DEV="python3-config" + printf "%s\n" "$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_PYTHON_DEV=$ac_cv_prog_ac_ct_PYTHON_DEV +if test -n "$ac_ct_PYTHON_DEV"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_PYTHON_DEV" >&5 +printf "%s\n" "$ac_ct_PYTHON_DEV" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_PYTHON_DEV" = x; then + PYTHON_DEV="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PYTHON_DEV=$ac_ct_PYTHON_DEV + fi +else + PYTHON_DEV="$ac_cv_prog_PYTHON_DEV" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}install", so it can be a program name with args. +set dummy ${ac_tool_prefix}install; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_INSTALL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$INSTALL"; then + ac_cv_prog_INSTALL="$INSTALL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_INSTALL="${ac_tool_prefix}install" + printf "%s\n" "$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 +INSTALL=$ac_cv_prog_INSTALL +if test -n "$INSTALL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +printf "%s\n" "$INSTALL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_INSTALL"; then + ac_ct_INSTALL=$INSTALL + # Extract the first word of "install", so it can be a program name with args. +set dummy install; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_INSTALL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_INSTALL"; then + ac_cv_prog_ac_ct_INSTALL="$ac_ct_INSTALL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_INSTALL="install" + printf "%s\n" "$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_INSTALL=$ac_cv_prog_ac_ct_INSTALL +if test -n "$ac_ct_INSTALL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_INSTALL" >&5 +printf "%s\n" "$ac_ct_INSTALL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_INSTALL" = x; then + INSTALL="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + INSTALL=$ac_ct_INSTALL + fi +else + INSTALL="$ac_cv_prog_INSTALL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pytest", so it can be a program name with args. +set dummy ${ac_tool_prefix}pytest; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_PYTEST+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$PYTEST"; then + ac_cv_prog_PYTEST="$PYTEST" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_PYTEST="${ac_tool_prefix}pytest" + printf "%s\n" "$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 +PYTEST=$ac_cv_prog_PYTEST +if test -n "$PYTEST"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTEST" >&5 +printf "%s\n" "$PYTEST" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_PYTEST"; then + ac_ct_PYTEST=$PYTEST + # Extract the first word of "pytest", so it can be a program name with args. +set dummy pytest; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_PYTEST+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_PYTEST"; then + ac_cv_prog_ac_ct_PYTEST="$ac_ct_PYTEST" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_PYTEST="pytest" + printf "%s\n" "$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_PYTEST=$ac_cv_prog_ac_ct_PYTEST +if test -n "$ac_ct_PYTEST"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_PYTEST" >&5 +printf "%s\n" "$ac_ct_PYTEST" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_PYTEST" = x; then + PYTEST="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PYTEST=$ac_ct_PYTEST + fi +else + PYTEST="$ac_cv_prog_PYTEST" +fi + + + # Not all compilers have a f77 symlink, so if you have more than one installed, + # you risk getting gcc and gfortran from one, and f77 from another, and then we + # crash on a link error when runnig AX_LAPACK() below. So we set f77 to be the same + # as FC, and avoid that problem, hopefully not causing any others... + F77=${FC} + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}apt", so it can be a program name with args. +set dummy ${ac_tool_prefix}apt; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_APT+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$APT"; then + ac_cv_prog_APT="$APT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_APT="${ac_tool_prefix}apt" + printf "%s\n" "$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 +APT=$ac_cv_prog_APT +if test -n "$APT"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $APT" >&5 +printf "%s\n" "$APT" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_APT"; then + ac_ct_APT=$APT + # Extract the first word of "apt", so it can be a program name with args. +set dummy apt; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_APT+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_APT"; then + ac_cv_prog_ac_ct_APT="$ac_ct_APT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_APT="apt" + printf "%s\n" "$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_APT=$ac_cv_prog_ac_ct_APT +if test -n "$ac_ct_APT"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_APT" >&5 +printf "%s\n" "$ac_ct_APT" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_APT" = x; then + APT="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + APT=$ac_ct_APT + fi +else + APT="$ac_cv_prog_APT" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dnf", so it can be a program name with args. +set dummy ${ac_tool_prefix}dnf; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DNF+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DNF"; then + ac_cv_prog_DNF="$DNF" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_DNF="${ac_tool_prefix}dnf" + printf "%s\n" "$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 +DNF=$ac_cv_prog_DNF +if test -n "$DNF"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DNF" >&5 +printf "%s\n" "$DNF" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DNF"; then + ac_ct_DNF=$DNF + # Extract the first word of "dnf", so it can be a program name with args. +set dummy dnf; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_DNF+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_DNF"; then + ac_cv_prog_ac_ct_DNF="$ac_ct_DNF" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_DNF="dnf" + printf "%s\n" "$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_DNF=$ac_cv_prog_ac_ct_DNF +if test -n "$ac_ct_DNF"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DNF" >&5 +printf "%s\n" "$ac_ct_DNF" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_DNF" = x; then + DNF="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DNF=$ac_ct_DNF + fi +else + DNF="$ac_cv_prog_DNF" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}port", so it can be a program name with args. +set dummy ${ac_tool_prefix}port; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MACPORTS+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MACPORTS"; then + ac_cv_prog_MACPORTS="$MACPORTS" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MACPORTS="${ac_tool_prefix}port" + printf "%s\n" "$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 +MACPORTS=$ac_cv_prog_MACPORTS +if test -n "$MACPORTS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MACPORTS" >&5 +printf "%s\n" "$MACPORTS" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_MACPORTS"; then + ac_ct_MACPORTS=$MACPORTS + # Extract the first word of "port", so it can be a program name with args. +set dummy port; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_MACPORTS+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_MACPORTS"; then + ac_cv_prog_ac_ct_MACPORTS="$ac_ct_MACPORTS" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MACPORTS="port" + printf "%s\n" "$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_MACPORTS=$ac_cv_prog_ac_ct_MACPORTS +if test -n "$ac_ct_MACPORTS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MACPORTS" >&5 +printf "%s\n" "$ac_ct_MACPORTS" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_MACPORTS" = x; then + MACPORTS="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MACPORTS=$ac_ct_MACPORTS + fi +else + MACPORTS="$ac_cv_prog_MACPORTS" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}brew", so it can be a program name with args. +set dummy ${ac_tool_prefix}brew; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_HOMEBREW+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$HOMEBREW"; then + ac_cv_prog_HOMEBREW="$HOMEBREW" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_HOMEBREW="${ac_tool_prefix}brew" + printf "%s\n" "$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 +HOMEBREW=$ac_cv_prog_HOMEBREW +if test -n "$HOMEBREW"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $HOMEBREW" >&5 +printf "%s\n" "$HOMEBREW" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_HOMEBREW"; then + ac_ct_HOMEBREW=$HOMEBREW + # Extract the first word of "brew", so it can be a program name with args. +set dummy brew; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_HOMEBREW+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_HOMEBREW"; then + ac_cv_prog_ac_ct_HOMEBREW="$ac_ct_HOMEBREW" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_HOMEBREW="brew" + printf "%s\n" "$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_HOMEBREW=$ac_cv_prog_ac_ct_HOMEBREW +if test -n "$ac_ct_HOMEBREW"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_HOMEBREW" >&5 +printf "%s\n" "$ac_ct_HOMEBREW" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_HOMEBREW" = x; then + HOMEBREW="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + HOMEBREW=$ac_ct_HOMEBREW + fi +else + HOMEBREW="$ac_cv_prog_HOMEBREW" +fi + + + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}wget", so it can be a program name with args. +set dummy ${ac_tool_prefix}wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$WGET"; then + ac_cv_prog_WGET="$WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="${ac_tool_prefix}wget" + printf "%s\n" "$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 +WGET=$ac_cv_prog_WGET +if test -n "$WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $WGET" >&5 +printf "%s\n" "$WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_WGET"; then + ac_ct_WGET=$WGET + # Extract the first word of "wget", so it can be a program name with args. +set dummy wget; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_WGET+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_WGET"; then + ac_cv_prog_ac_ct_WGET="$ac_ct_WGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_WGET="wget" + printf "%s\n" "$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_WGET=$ac_cv_prog_ac_ct_WGET +if test -n "$ac_ct_WGET"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WGET" >&5 +printf "%s\n" "$ac_ct_WGET" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_WGET" = x; then + WGET="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + WGET=$ac_ct_WGET + fi +else + WGET="$ac_cv_prog_WGET" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}curl", so it can be a program name with args. +set dummy ${ac_tool_prefix}curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CURL"; then + ac_cv_prog_CURL="$CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="${ac_tool_prefix}curl" + printf "%s\n" "$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 +CURL=$ac_cv_prog_CURL +if test -n "$CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CURL" >&5 +printf "%s\n" "$CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CURL"; then + ac_ct_CURL=$CURL + # Extract the first word of "curl", so it can be a program name with args. +set dummy curl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CURL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CURL"; then + ac_cv_prog_ac_ct_CURL="$ac_ct_CURL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CURL="curl" + printf "%s\n" "$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_CURL=$ac_cv_prog_ac_ct_CURL +if test -n "$ac_ct_CURL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CURL" >&5 +printf "%s\n" "$ac_ct_CURL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CURL" = x; then + CURL="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CURL=$ac_ct_CURL + fi +else + CURL="$ac_cv_prog_CURL" +fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a wget or curl to download files with" >&5 +printf %s "checking for a wget or curl to download files with... " >&6; } + if test "x$WGET" != "x" + then + # The MESA SDK server rejects wget, this is the official work-around + DOWNLOAD="$WGET --progress=bar:force:noscroll --user-agent='' -O -" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + if test "x$CURL" != "x" + then + DOWNLOAD="$CURL -L" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + fi + + + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}patch", so it can be a program name with args. +set dummy ${ac_tool_prefix}patch; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_PATCH+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$PATCH"; then + ac_cv_prog_PATCH="$PATCH" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_PATCH="${ac_tool_prefix}patch" + printf "%s\n" "$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 +PATCH=$ac_cv_prog_PATCH +if test -n "$PATCH"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PATCH" >&5 +printf "%s\n" "$PATCH" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_PATCH"; then + ac_ct_PATCH=$PATCH + # Extract the first word of "patch", so it can be a program name with args. +set dummy patch; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_PATCH+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_PATCH"; then + ac_cv_prog_ac_ct_PATCH="$ac_ct_PATCH" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_PATCH="patch" + printf "%s\n" "$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_PATCH=$ac_cv_prog_ac_ct_PATCH +if test -n "$ac_ct_PATCH"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_PATCH" >&5 +printf "%s\n" "$ac_ct_PATCH" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_PATCH" = x; then + PATCH="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PATCH=$ac_ct_PATCH + fi +else + PATCH="$ac_cv_prog_PATCH" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}tar", so it can be a program name with args. +set dummy ${ac_tool_prefix}tar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_TAR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$TAR"; then + ac_cv_prog_TAR="$TAR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_TAR="${ac_tool_prefix}tar" + printf "%s\n" "$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 +TAR=$ac_cv_prog_TAR +if test -n "$TAR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $TAR" >&5 +printf "%s\n" "$TAR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_TAR"; then + ac_ct_TAR=$TAR + # Extract the first word of "tar", so it can be a program name with args. +set dummy tar; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_TAR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_TAR"; then + ac_cv_prog_ac_ct_TAR="$ac_ct_TAR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_TAR="tar" + printf "%s\n" "$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_TAR=$ac_cv_prog_ac_ct_TAR +if test -n "$ac_ct_TAR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_TAR" >&5 +printf "%s\n" "$ac_ct_TAR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_TAR" = x; then + TAR="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + TAR=$ac_ct_TAR + fi +else + TAR="$ac_cv_prog_TAR" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}unzip", so it can be a program name with args. +set dummy ${ac_tool_prefix}unzip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_UNZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$UNZIP"; then + ac_cv_prog_UNZIP="$UNZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_UNZIP="${ac_tool_prefix}unzip" + printf "%s\n" "$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 +UNZIP=$ac_cv_prog_UNZIP +if test -n "$UNZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $UNZIP" >&5 +printf "%s\n" "$UNZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_UNZIP"; then + ac_ct_UNZIP=$UNZIP + # Extract the first word of "unzip", so it can be a program name with args. +set dummy unzip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_UNZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_UNZIP"; then + ac_cv_prog_ac_ct_UNZIP="$ac_ct_UNZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_UNZIP="unzip" + printf "%s\n" "$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_UNZIP=$ac_cv_prog_ac_ct_UNZIP +if test -n "$ac_ct_UNZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_UNZIP" >&5 +printf "%s\n" "$ac_ct_UNZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_UNZIP" = x; then + UNZIP="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + UNZIP=$ac_ct_UNZIP + fi +else + UNZIP="$ac_cv_prog_UNZIP" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gunzip", so it can be a program name with args. +set dummy ${ac_tool_prefix}gunzip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_GUNZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$GUNZIP"; then + ac_cv_prog_GUNZIP="$GUNZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_GUNZIP="${ac_tool_prefix}gunzip" + printf "%s\n" "$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 +GUNZIP=$ac_cv_prog_GUNZIP +if test -n "$GUNZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GUNZIP" >&5 +printf "%s\n" "$GUNZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_GUNZIP"; then + ac_ct_GUNZIP=$GUNZIP + # Extract the first word of "gunzip", so it can be a program name with args. +set dummy gunzip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_GUNZIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_GUNZIP"; then + ac_cv_prog_ac_ct_GUNZIP="$ac_ct_GUNZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_GUNZIP="gunzip" + printf "%s\n" "$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_GUNZIP=$ac_cv_prog_ac_ct_GUNZIP +if test -n "$ac_ct_GUNZIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GUNZIP" >&5 +printf "%s\n" "$ac_ct_GUNZIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_GUNZIP" = x; then + GUNZIP="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + GUNZIP=$ac_ct_GUNZIP + fi +else + GUNZIP="$ac_cv_prog_GUNZIP" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}bunzip2", so it can be a program name with args. +set dummy ${ac_tool_prefix}bunzip2; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_BUNZIP2+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$BUNZIP2"; then + ac_cv_prog_BUNZIP2="$BUNZIP2" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_BUNZIP2="${ac_tool_prefix}bunzip2" + printf "%s\n" "$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 +BUNZIP2=$ac_cv_prog_BUNZIP2 +if test -n "$BUNZIP2"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $BUNZIP2" >&5 +printf "%s\n" "$BUNZIP2" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_BUNZIP2"; then + ac_ct_BUNZIP2=$BUNZIP2 + # Extract the first word of "bunzip2", so it can be a program name with args. +set dummy bunzip2; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_BUNZIP2+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_BUNZIP2"; then + ac_cv_prog_ac_ct_BUNZIP2="$ac_ct_BUNZIP2" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_BUNZIP2="bunzip2" + printf "%s\n" "$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_BUNZIP2=$ac_cv_prog_ac_ct_BUNZIP2 +if test -n "$ac_ct_BUNZIP2"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_BUNZIP2" >&5 +printf "%s\n" "$ac_ct_BUNZIP2" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_BUNZIP2" = x; then + BUNZIP2="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + BUNZIP2=$ac_ct_BUNZIP2 + fi +else + BUNZIP2="$ac_cv_prog_BUNZIP2" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}unxz", so it can be a program name with args. +set dummy ${ac_tool_prefix}unxz; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_UNXZ+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$UNXZ"; then + ac_cv_prog_UNXZ="$UNXZ" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_UNXZ="${ac_tool_prefix}unxz" + printf "%s\n" "$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 +UNXZ=$ac_cv_prog_UNXZ +if test -n "$UNXZ"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $UNXZ" >&5 +printf "%s\n" "$UNXZ" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_UNXZ"; then + ac_ct_UNXZ=$UNXZ + # Extract the first word of "unxz", so it can be a program name with args. +set dummy unxz; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_UNXZ+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_UNXZ"; then + ac_cv_prog_ac_ct_UNXZ="$ac_ct_UNXZ" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_UNXZ="unxz" + printf "%s\n" "$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_UNXZ=$ac_cv_prog_ac_ct_UNXZ +if test -n "$ac_ct_UNXZ"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_UNXZ" >&5 +printf "%s\n" "$ac_ct_UNXZ" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_UNXZ" = x; then + UNXZ="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + UNXZ=$ac_ct_UNXZ + fi +else + UNXZ="$ac_cv_prog_UNXZ" +fi + + for ac_prog in 'bison -y' byacc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_YACC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$YACC"; then + ac_cv_prog_YACC="$YACC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_YACC="$ac_prog" + printf "%s\n" "$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 +YACC=$ac_cv_prog_YACC +if test -n "$YACC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5 +printf "%s\n" "$YACC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$YACC" && break +done +test -n "$YACC" || YACC="yacc" + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}perl", so it can be a program name with args. +set dummy ${ac_tool_prefix}perl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_PERL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$PERL"; then + ac_cv_prog_PERL="$PERL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_PERL="${ac_tool_prefix}perl" + printf "%s\n" "$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 +PERL=$ac_cv_prog_PERL +if test -n "$PERL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5 +printf "%s\n" "$PERL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_PERL"; then + ac_ct_PERL=$PERL + # Extract the first word of "perl", so it can be a program name with args. +set dummy perl; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_PERL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_PERL"; then + ac_cv_prog_ac_ct_PERL="$ac_ct_PERL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_PERL="perl" + printf "%s\n" "$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_PERL=$ac_cv_prog_ac_ct_PERL +if test -n "$ac_ct_PERL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_PERL" >&5 +printf "%s\n" "$ac_ct_PERL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_PERL" = x; then + PERL="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PERL=$ac_ct_PERL + fi +else + PERL="$ac_cv_prog_PERL" +fi + + + for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AWK+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_AWK="$ac_prog" + printf "%s\n" "$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 +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +printf "%s\n" "$AWK" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$AWK" && break +done + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU make" >&5 +printf %s "checking for GNU make... " >&6; } +if test ${_cv_gnu_make_command+y} +then : + printf %s "(cached) " >&6 +else $as_nop + _cv_gnu_make_command="" ; + for a in "$MAKE" make gmake gnumake ; do + if test -z "$a" ; then continue ; fi ; + if "$a" --version 2> /dev/null | grep GNU 2>&1 > /dev/null ; then + _cv_gnu_make_command=$a ; + AX_CHECK_GNU_MAKE_HEADLINE=$("$a" --version 2> /dev/null | grep "GNU Make") + ax_check_gnu_make_version=$(echo ${AX_CHECK_GNU_MAKE_HEADLINE} | ${AWK} -F " " '{ print $(NF); }') + break ; + fi + done ; +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $_cv_gnu_make_command" >&5 +printf "%s\n" "$_cv_gnu_make_command" >&6; } + if test "x$_cv_gnu_make_command" = x"" +then : + ifGNUmake="#" +else $as_nop + ifGNUmake="" +fi + if test "x$_cv_gnu_make_command" = x"" +then : + ifnGNUmake="" +else $as_nop + ifnGNUmake="#" +fi + if test "x$_cv_gnu_make_command" = x"" +then : + { ax_cv_gnu_make_command=; unset ax_cv_gnu_make_command;} +else $as_nop + ax_cv_gnu_make_command=${_cv_gnu_make_command} +fi + if test "x$_cv_gnu_make_command" = x"" +then : + +else $as_nop + GMAKE=$ax_cv_gnu_make_command +fi + + + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cmake", so it can be a program name with args. +set dummy ${ac_tool_prefix}cmake; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CMAKE+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CMAKE"; then + ac_cv_prog_CMAKE="$CMAKE" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CMAKE="${ac_tool_prefix}cmake" + printf "%s\n" "$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 +CMAKE=$ac_cv_prog_CMAKE +if test -n "$CMAKE"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CMAKE" >&5 +printf "%s\n" "$CMAKE" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CMAKE"; then + ac_ct_CMAKE=$CMAKE + # Extract the first word of "cmake", so it can be a program name with args. +set dummy cmake; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CMAKE+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CMAKE"; then + ac_cv_prog_ac_ct_CMAKE="$ac_ct_CMAKE" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_CMAKE="cmake" + printf "%s\n" "$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_CMAKE=$ac_cv_prog_ac_ct_CMAKE +if test -n "$ac_ct_CMAKE"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CMAKE" >&5 +printf "%s\n" "$ac_ct_CMAKE" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CMAKE" = x; then + CMAKE="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CMAKE=$ac_ct_CMAKE + fi +else + CMAKE="$ac_cv_prog_CMAKE" +fi + + + if test "x" != "x$CC" + then + # These tests require compiling things, so we need the compiler + + + + + + + + + +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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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}clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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="clang" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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. +printf "%s\n" "$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 -version; 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\"" +printf "%s\n" "$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 + printf "%s\n" "$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 (void) +{ + + ; + 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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$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+y} && 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 $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$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 (void) +{ +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. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$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 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$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_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; 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 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_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 conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +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 + + 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 + + + + + + + + + for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MPICC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MPICC"; then + ac_cv_prog_MPICC="$MPICC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_MPICC="$ac_prog" + printf "%s\n" "$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 +MPICC=$ac_cv_prog_MPICC +if test -n "$MPICC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 +printf "%s\n" "$MPICC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + ax_mpi_save_CC="$CC" + CC="$MPICC" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking checking MPI C flags" >&5 +printf %s "checking checking MPI C flags... " >&6; } + ax_mpi_c_flags="`$MPICC -showme:compile 2>/dev/null| cut -d\ -f2-`" + ax_mpi_c_libs="`$MPICC -showme:link 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + + ax_mpi_c_flags="`$MPICC -show -c 2>/dev/null| cut -d\ -f2-|sed s/-c\ //`" + ax_mpi_c_libs="`$MPICC -show 2>/dev/null| cut -d\ -f2-`" + if test "x$ax_mpi_c_flags" = "x" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not determine c flags from show functions" >&5 +printf "%s\n" "could not determine c flags from show functions" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: flags found" >&5 +printf "%s\n" "flags found" >&6; } +fi + MPI_CFLAGS="$ax_mpi_c_flags" + MPI_CLIBS="$ax_mpi_c_libs" + + + + + +if test x = x"$MPILIBS"; then + ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" +if test "x$ac_cv_func_MPI_Init" = xyes +then : + MPILIBS=" " +fi + +fi + +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 +printf %s "checking for MPI_Init in -lmpi... " >&6; } +if test ${ac_cv_lib_mpi_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpi $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpi_MPI_Init=yes +else $as_nop + ac_cv_lib_mpi_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpi_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpi_MPI_Init" = xyes +then : + MPILIBS="-lmpi" +fi + +fi +if test x = x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 +printf %s "checking for MPI_Init in -lmpich... " >&6; } +if test ${ac_cv_lib_mpich_MPI_Init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpich $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. */ +char MPI_Init (); +int +main (void) +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpich_MPI_Init=yes +else $as_nop + ac_cv_lib_mpich_MPI_Init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +printf "%s\n" "$ac_cv_lib_mpich_MPI_Init" >&6; } +if test "x$ac_cv_lib_mpich_MPI_Init" = xyes +then : + MPILIBS="-lmpich" +fi + +fi + +if test x != x"$MPILIBS"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 +printf %s "checking for mpi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + MPILIBS="" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +CC="$ax_mpi_save_CC" + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + + : +else + HAVE_MPI="yes" + : +fi + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OpenMP flag of C compiler" >&5 +printf %s "checking for OpenMP flag of C compiler... " >&6; } +if test ${ax_cv_c_openmp+y} +then : + printf %s "(cached) " >&6 +else $as_nop + saveCFLAGS=$CFLAGS +ax_cv_c_openmp=unknown +# Flags to try: -fopenmp (gcc), -mp (SGI & PGI), +# -qopenmp (icc>=15), -openmp (icc), +# -xopenmp (Sun), -omp (Tru64), +# -qsmp=omp (AIX), +# none +ax_openmp_flags="-fopenmp -openmp -qopenmp -mp -xopenmp -omp -qsmp=omp none" +if test "x$OPENMP_CFLAGS" != x; then + ax_openmp_flags="$OPENMP_CFLAGS $ax_openmp_flags" +fi +for ax_openmp_flag in $ax_openmp_flags; do + case $ax_openmp_flag in + none) CFLAGS=$saveC ;; + *) CFLAGS="$saveCFLAGS $ax_openmp_flag" ;; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include + +static void +parallel_fill(int * data, int n) +{ + int i; +#pragma omp parallel for + for (i = 0; i < n; ++i) + data[i] = i; +} + +int +main() +{ + int arr[100000]; + omp_set_num_threads(2); + parallel_fill(arr, 100000); + return 0; +} + +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ax_cv_c_openmp=$ax_openmp_flag; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +done +CFLAGS=$saveCFLAGS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_openmp" >&5 +printf "%s\n" "$ax_cv_c_openmp" >&6; } +if test "x$ax_cv_c_openmp" = "xunknown"; then + : +else + if test "x$ax_cv_c_openmp" != "xnone"; then + OPENMP_CFLAGS=$ax_cv_c_openmp + fi + HAVE_OPENMP="yes" +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 x"$CUDA_TK" != x +then : + + # User set CUDA_TK, verify and use it if it works + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d $CUDA_TK +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $CUDA_TK/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x$CUDA_TK" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in $CUDA_TK/include" + amuse_cuda_flags="-I$CUDA_TK/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x$CUDA_TK" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in $CUDA_TK/lib" + amuse_cuda_verify_msg64="for libcudart in $CUDA_TK/lib64" + amuse_cuda_ldflags="-L$CUDA_TK/lib" + amuse_cuda_ldflags64="-L$CUDA_TK/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$CUDA_TK" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $CUDA_TK does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: $CUDA_TK does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + + if test x"$NVCC" = x +then : + + as_fn_error $? "CUDA_TK is set, but there is no nvcc in $CUDA_TK/bin. Please set CUDA_TK to the CUDA installation directory, or unset it to autodetect." "$LINENO" 5 + +fi + +else $as_nop + + # CUDA_TK not set, try to discover CUDA via PATH + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + # Got nvcc, verify that we have the rest too + amuse_cuda_verify_ctk_rel=$(dirname -- "$amuse_cuda_verify_NVCC")/.. + # Canonicalise path portably so that it looks nicer + amuse_cuda_verify_CUDA_TK=$(test -d "$amuse_cuda_verify_ctk_rel" && CDPATH= cd -P -- "$amuse_cuda_verify_ctk_rel" && pwd -P) + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in /include" + amuse_cuda_flags="-I/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in /lib" + amuse_cuda_verify_msg64="for libcudart in /lib64" + amuse_cuda_ldflags="-L/lib" + amuse_cuda_ldflags64="-L/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$amuse_cuda_verify_CUDA_TK" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Could not find CUDA via PATH" >&5 +printf "%s\n" "$as_me: Could not find CUDA via PATH" >&6;} + +fi + + + # Not in PATH, try default directory + if test x"$CUDA_TK" = x +then : + + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d /usr/local/cuda +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /usr/local/cuda/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x/usr/local/cuda" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in /usr/local/cuda/include" + amuse_cuda_flags="-I/usr/local/cuda/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x/usr/local/cuda" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in /usr/local/cuda/lib" + amuse_cuda_verify_msg64="for libcudart in /usr/local/cuda/lib64" + amuse_cuda_ldflags="-L/usr/local/cuda/lib" + amuse_cuda_ldflags64="-L/usr/local/cuda/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="/usr/local/cuda" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: /usr/local/cuda does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: /usr/local/cuda does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + +fi + + # Try /usr/local/cuda-#.#, but only if there's exactly one match + if test x"$CUDA_TK" = x +then : + + # List CUDA installations + amuse_cuda_installs=$(ls -1 -d /usr/local/cuda-*.* 2>/dev/null) + # If there's more than one, the above will have newlines, and change when we do this + amuse_cuda_installs2=$(echo "x${amuse_cuda_installs}" | tr -d ':space:') + if test "x${amuse_cuda_installs}" != x +then : + + if test "x${amuse_cuda_installs}" = "${amuse_cuda_installs2}" +then : + + # Here, there's exactly one match + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d $amuse_cuda_installs +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $amuse_cuda_installs/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x$amuse_cuda_installs" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in $amuse_cuda_installs/include" + amuse_cuda_flags="-I$amuse_cuda_installs/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x$amuse_cuda_installs" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in $amuse_cuda_installs/lib" + amuse_cuda_verify_msg64="for libcudart in $amuse_cuda_installs/lib64" + amuse_cuda_ldflags="-L$amuse_cuda_installs/lib" + amuse_cuda_ldflags64="-L$amuse_cuda_installs/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$amuse_cuda_installs" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $amuse_cuda_installs does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: $amuse_cuda_installs does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Multiple CUDA installations found in /usr/local, without a /usr/local/cuda symlink. Please set CUDA_TK to specify which one you want to use." >&5 +printf "%s\n" "$as_me: Multiple CUDA installations found in /usr/local, without a /usr/local/cuda symlink. Please set CUDA_TK to specify which one you want to use." >&6;} + +fi + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: No CUDA installations found in /usr/local" >&5 +printf "%s\n" "$as_me: No CUDA installations found in /usr/local" >&6;} + +fi + +fi + + # Try some other locations + for dir in /opt/cuda /usr/local/cuda/cuda /opt/cuda/cuda ; do + if test x"$CUDA_TK" = x +then : + + + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + if test -d $dir +then : + + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_amuse_cuda_verify_NVCC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $amuse_cuda_verify_NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_amuse_cuda_verify_NVCC="$amuse_cuda_verify_NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $dir/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_amuse_cuda_verify_NVCC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +amuse_cuda_verify_NVCC=$ac_cv_path_amuse_cuda_verify_NVCC +if test -n "$amuse_cuda_verify_NVCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $amuse_cuda_verify_NVCC" >&5 +printf "%s\n" "$amuse_cuda_verify_NVCC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + if test x"$amuse_cuda_verify_NVCC" != x +then : + + + if test "x$dir" = x +then : + + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + +else $as_nop + + amuse_cuda_verify_msg="for cuda.h in $dir/include" + amuse_cuda_flags="-I$dir/include" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS="$ax_save_CFLAGS" + + +fi + + if test x"$amuse_cuda_verify_headers_found" != x +then : + + + if test "x$dir" = x +then : + + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + +else $as_nop + + amuse_cuda_verify_msg="for libcudart in $dir/lib" + amuse_cuda_verify_msg64="for libcudart in $dir/lib64" + amuse_cuda_ldflags="-L$dir/lib" + amuse_cuda_ldflags64="-L$dir/lib64" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg" >&5 +printf %s "checking $amuse_cuda_verify_msg... " >&6; } + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test "x$amuse_cuda_verify_libs_found" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $amuse_cuda_verify_msg64" >&5 +printf %s "checking $amuse_cuda_verify_msg64... " >&6; } + LDFLAGS="$amuse_cuda_ldflags64" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +cudaFree(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" + + +fi + + + if test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\) +then : + + CUDA_TK="$dir" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + + +fi + + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $dir does not exist or is not a directory, CUDA not found there" >&5 +printf "%s\n" "$as_me: $dir does not exist or is not a directory, CUDA not found there" >&6;} + +fi + + +fi + done + + # These directories were checked by the old macro, but they're highly obsolete + # so we're not trying them anymore: + # /usr/lib/nvidia, /usr/include/nvidia, /usr/lib/nvidia-current, /usr/include/nvidia-current + + if test x"$CUDA_TK" = x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: CUDA not found. Set CUDA_TK if you have it in an odd location." >&5 +printf "%s\n" "$as_me: CUDA not found. Set CUDA_TK if you have it in an odd location." >&6;} + +fi + +fi + + if test x"$CUDA_TK" != x +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: CUDA found at $CUDA_TK" >&5 +printf "%s\n" "$as_me: CUDA found at $CUDA_TK" >&6;} + + + + + +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 + + + + amuse_save_CFLAGS="$CFLAGS" + amuse_save_LIBS="$LIBS" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OpenCL" >&5 +printf %s "checking for OpenCL... " >&6; } + + # If the user overrode the variables, then we'll use what they set and verify that + # it works. + if test "x$OPENCL_CFLAGS" != "x" +then : + + amuse_user_OPENCL_CFLAGS="$OPENCL_CFLAGS" + CFLAGS="$OPENCL_CFLAGS $CFLAGS" + +fi + if test "x$OPENCL_LIBS" != "x" +then : + + amuse_user_OPENCL_LIBS="$OPENCL_LIBS" + LIBS="$OPENCL_LIBS $LIBS" + +fi + + # We only use OpenCL from C, in huayno + 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 + + + # Search for the headers + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #if defined(__APPLE__) || defined(__MACOSX) + #include + #else + #include + #endif + +int +main (void) +{ +clFinish(0) + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + # Search for the library as well + LIBS="-lOpenCL $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #if defined(__APPLE__) || defined(__MACOSX) + #include + #else + #include + #endif + +int +main (void) +{ +clFinish(0) + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + FOUND_OPENCL="yes" + OPENCL_LIBS="-lOpenCL" + OPENCL_CFLAGS="" + +else $as_nop + + FOUND_OPENCL="no" + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +else $as_nop + + FOUND_OPENCL="no" + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + 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 + + + LIBS="$amuse_save_LIBS" + CFLAGS="$amuse_save_CFLAGS" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FOUND_OPENCL" >&5 +printf "%s\n" "$FOUND_OPENCL" >&6; } + + + + + + + # Avoid AX_BLAS crashing out due to lack of compilers + if test "x" != "x$FC" + then + ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_F77+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_F77="$ac_tool_prefix$ac_prog" + printf "%s\n" "$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 +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $F77" >&5 +printf "%s\n" "$F77" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_F77+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_F77="$ac_prog" + printf "%s\n" "$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_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_F77" >&5 +printf "%s\n" "$ac_ct_F77" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 77 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\"" +printf "%s\n" "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran 77" >&5 +printf %s "checking whether the compiler supports GNU Fortran 77... " >&6; } +if test ${ac_cv_f77_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_f77_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_f77_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+y} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $F77 accepts -g" >&5 +printf %s "checking whether $F77 accepts -g... " >&6; } +if test ${ac_cv_prog_f77_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + FFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_f77_try_compile "$LINENO" +then : + ac_cv_prog_f77_g=yes +else $as_nop + ac_cv_prog_f77_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_f77_g" >&5 +printf "%s\n" "$ac_cv_prog_f77_g" >&6; } +if test $ac_test_FFLAGS; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + G77=yes +else + G77= +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=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to get verbose linking output from $F77" >&5 +printf %s "checking how to get verbose linking output from $F77... " >&6; } +if test ${ac_cv_prog_f77_v+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_f77_try_compile "$LINENO" +then : + ac_cv_prog_f77_v= +# Try some options frequently used verbose output +for ac_verb in -v -verbose --verbose -V -\#\#\#; do + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF + +# Compile and link our simple test program by passing a flag (argument +# 1 to this macro) to the Fortran compiler in order to get +# "verbose" output that we can then parse for the Fortran linker +# flags. +ac_save_FFLAGS=$FFLAGS +FFLAGS="$FFLAGS $ac_verb" +eval "set x $ac_link" +shift +printf "%s\n" "$as_me:${as_lineno-$LINENO}: $*" >&5 +# gfortran 4.3 outputs lines setting COLLECT_GCC_OPTIONS, COMPILER_PATH, +# LIBRARY_PATH; skip all such settings. +ac_f77_v_output=`eval $ac_link 5>&1 2>&1 | + sed '/^Driving:/d; /^Configured with:/d; + '"/^[_$as_cr_Letters][_$as_cr_alnum]*=/d"` +printf "%s\n" "$ac_f77_v_output" >&5 +FFLAGS=$ac_save_FFLAGS + +rm -rf conftest* + +# On HP/UX there is a line like: "LPATH is: /foo:/bar:/baz" where +# /foo, /bar, and /baz are search directories for the Fortran linker. +# Here, we change these into -L/foo -L/bar -L/baz (and put it first): +ac_f77_v_output="`echo $ac_f77_v_output | + grep 'LPATH is:' | + sed 's|.*LPATH is\(: *[^ ]*\).*|\1|;s|: */| -L/|g'` $ac_f77_v_output" + +# FIXME: we keep getting bitten by quoted arguments; a more general fix +# that detects unbalanced quotes in FLIBS should be implemented +# and (ugh) tested at some point. +case $ac_f77_v_output in + # With xlf replace commas with spaces, + # and remove "-link" and closing parenthesis. + *xlfentry*) + ac_f77_v_output=`echo $ac_f77_v_output | + sed ' + s/,/ /g + s/ -link / /g + s/) *$// + ' + ` ;; + + # With Intel ifc, ignore the quoted -mGLOB_options_string stuff (quoted + # $LIBS confuse us, and the libraries appear later in the output anyway). + *mGLOB_options_string*) + ac_f77_v_output=`echo $ac_f77_v_output | sed 's/"-mGLOB[^"]*"/ /g'` ;; + + # Portland Group compiler has singly- or doubly-quoted -cmdline argument + # Singly-quoted arguments were reported for versions 5.2-4 and 6.0-4. + # Doubly-quoted arguments were reported for "PGF90/x86 Linux/x86 5.0-2". + *-cmdline\ * | *-ignore\ * | *-def\ *) + ac_f77_v_output=`echo $ac_f77_v_output | sed "\ + s/-cmdline *'[^']*'/ /g; s/-cmdline *\"[^\"]*\"/ /g + s/-ignore *'[^']*'/ /g; s/-ignore *\"[^\"]*\"/ /g + s/-def *'[^']*'/ /g; s/-def *\"[^\"]*\"/ /g"` ;; + + # If we are using fort77 (the f2c wrapper) then filter output and delete quotes. + *fort77*f2c*gcc*) + ac_f77_v_output=`echo "$ac_f77_v_output" | sed -n ' + /:[ ]\+Running[ ]\{1,\}"gcc"/{ + /"-c"/d + /[.]c"*/d + s/^.*"gcc"/"gcc"/ + s/"//gp + }'` ;; + + # If we are using Cray Fortran then delete quotes. + *cft90*) + ac_f77_v_output=`echo $ac_f77_v_output | sed 's/"//g'` ;; +esac + + + # look for -l* and *.a constructs in the output + for ac_arg in $ac_f77_v_output; do + case $ac_arg in + [\\/]*.a | ?:[\\/]*.a | -[lLRu]*) + ac_cv_prog_f77_v=$ac_verb + break 2 ;; + esac + done +done +if test -z "$ac_cv_prog_f77_v"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot determine how to obtain linking information from $F77" >&5 +printf "%s\n" "$as_me: WARNING: cannot determine how to obtain linking information from $F77" >&2;} +fi +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: compilation failed" >&5 +printf "%s\n" "$as_me: WARNING: compilation failed" >&2;} +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_f77_v" >&5 +printf "%s\n" "$ac_cv_prog_f77_v" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 77 libraries of $F77" >&5 +printf %s "checking for Fortran 77 libraries of $F77... " >&6; } +if test ${ac_cv_f77_libs+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$FLIBS" != "x"; then + ac_cv_f77_libs="$FLIBS" # Let the user override the test. +else + +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF + +# Compile and link our simple test program by passing a flag (argument +# 1 to this macro) to the Fortran compiler in order to get +# "verbose" output that we can then parse for the Fortran linker +# flags. +ac_save_FFLAGS=$FFLAGS +FFLAGS="$FFLAGS $ac_cv_prog_f77_v" +eval "set x $ac_link" +shift +printf "%s\n" "$as_me:${as_lineno-$LINENO}: $*" >&5 +# gfortran 4.3 outputs lines setting COLLECT_GCC_OPTIONS, COMPILER_PATH, +# LIBRARY_PATH; skip all such settings. +ac_f77_v_output=`eval $ac_link 5>&1 2>&1 | + sed '/^Driving:/d; /^Configured with:/d; + '"/^[_$as_cr_Letters][_$as_cr_alnum]*=/d"` +printf "%s\n" "$ac_f77_v_output" >&5 +FFLAGS=$ac_save_FFLAGS + +rm -rf conftest* + +# On HP/UX there is a line like: "LPATH is: /foo:/bar:/baz" where +# /foo, /bar, and /baz are search directories for the Fortran linker. +# Here, we change these into -L/foo -L/bar -L/baz (and put it first): +ac_f77_v_output="`echo $ac_f77_v_output | + grep 'LPATH is:' | + sed 's|.*LPATH is\(: *[^ ]*\).*|\1|;s|: */| -L/|g'` $ac_f77_v_output" + +# FIXME: we keep getting bitten by quoted arguments; a more general fix +# that detects unbalanced quotes in FLIBS should be implemented +# and (ugh) tested at some point. +case $ac_f77_v_output in + # With xlf replace commas with spaces, + # and remove "-link" and closing parenthesis. + *xlfentry*) + ac_f77_v_output=`echo $ac_f77_v_output | + sed ' + s/,/ /g + s/ -link / /g + s/) *$// + ' + ` ;; + + # With Intel ifc, ignore the quoted -mGLOB_options_string stuff (quoted + # $LIBS confuse us, and the libraries appear later in the output anyway). + *mGLOB_options_string*) + ac_f77_v_output=`echo $ac_f77_v_output | sed 's/"-mGLOB[^"]*"/ /g'` ;; + + # Portland Group compiler has singly- or doubly-quoted -cmdline argument + # Singly-quoted arguments were reported for versions 5.2-4 and 6.0-4. + # Doubly-quoted arguments were reported for "PGF90/x86 Linux/x86 5.0-2". + *-cmdline\ * | *-ignore\ * | *-def\ *) + ac_f77_v_output=`echo $ac_f77_v_output | sed "\ + s/-cmdline *'[^']*'/ /g; s/-cmdline *\"[^\"]*\"/ /g + s/-ignore *'[^']*'/ /g; s/-ignore *\"[^\"]*\"/ /g + s/-def *'[^']*'/ /g; s/-def *\"[^\"]*\"/ /g"` ;; + + # If we are using fort77 (the f2c wrapper) then filter output and delete quotes. + *fort77*f2c*gcc*) + ac_f77_v_output=`echo "$ac_f77_v_output" | sed -n ' + /:[ ]\+Running[ ]\{1,\}"gcc"/{ + /"-c"/d + /[.]c"*/d + s/^.*"gcc"/"gcc"/ + s/"//gp + }'` ;; + + # If we are using Cray Fortran then delete quotes. + *cft90*) + ac_f77_v_output=`echo $ac_f77_v_output | sed 's/"//g'` ;; +esac + + + +ac_cv_f77_libs= + +# Save positional arguments (if any) +ac_save_positional="$@" + +set X $ac_f77_v_output +while test $# != 1; do + shift + ac_arg=$1 + case $ac_arg in + [\\/]*.a | ?:[\\/]*.a) + ac_exists=false + for ac_i in $ac_cv_f77_libs; do + if test x"$ac_arg" = x"$ac_i"; then + ac_exists=true + break + fi + done + + if test x"$ac_exists" = xtrue +then : + +else $as_nop + ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" +fi + ;; + -bI:*) + ac_exists=false + for ac_i in $ac_cv_f77_libs; do + if test x"$ac_arg" = x"$ac_i"; then + ac_exists=true + break + fi + done + + if test x"$ac_exists" = xtrue +then : + +else $as_nop + if test "$ac_compiler_gnu" = yes; then + for ac_link_opt in $ac_arg; do + ac_cv_f77_libs="$ac_cv_f77_libs -Xlinker $ac_link_opt" + done +else + ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" +fi +fi + ;; + # Ignore these flags. + -lang* | -lcrt*.o | -lc | -lgcc* | -lSystem | -libmil | -little \ + |-LANG:=* | -LIST:* | -LNO:* | -link) + ;; + -lkernel32) + # Ignore this library only on Windows-like systems. + case $host_os in + cygwin* | msys* ) ;; + *) + ac_exists=false + for ac_i in $ac_cv_f77_libs; do + if test x"$ac_arg" = x"$ac_i"; then + ac_exists=true + break + fi + done + + if test x"$ac_exists" = xtrue +then : + +else $as_nop + ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" +fi + ;; + esac + ;; + -[LRuYz]) + # These flags, when seen by themselves, take an argument. + # We remove the space between option and argument and re-iterate + # unless we find an empty arg or a new option (starting with -) + case $2 in + "" | -*);; + *) + ac_arg="$ac_arg$2" + shift; shift + set X $ac_arg "$@" + ;; + esac + ;; + -YP,*) + for ac_j in `printf "%s\n" "$ac_arg" | sed -e 's/-YP,/-L/;s/:/ -L/g'`; do + ac_exists=false + for ac_i in $ac_cv_f77_libs; do + if test x"$ac_j" = x"$ac_i"; then + ac_exists=true + break + fi + done + + if test x"$ac_exists" = xtrue +then : + +else $as_nop + ac_arg="$ac_arg $ac_j" + ac_cv_f77_libs="$ac_cv_f77_libs $ac_j" +fi + done + ;; + -[lLR]*) + ac_exists=false + for ac_i in $ac_cv_f77_libs; do + if test x"$ac_arg" = x"$ac_i"; then + ac_exists=true + break + fi + done + + if test x"$ac_exists" = xtrue +then : + +else $as_nop + ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" +fi + ;; + -zallextract*| -zdefaultextract) + ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" + ;; + -mllvm) ${2+shift};; # Defend against 'clang -mllvm -loopopt=0'. + # Ignore everything else. + esac +done +# restore positional arguments +set X $ac_save_positional; shift + +# We only consider "LD_RUN_PATH" on Solaris systems. If this is seen, +# then we insist that the "run path" must be an absolute path (i.e. it +# must begin with a "/"). +case `(uname -sr) 2>/dev/null` in + "SunOS 5"*) + ac_ld_run_path=`printf "%s\n" "$ac_f77_v_output" | + sed -n 's,^.*LD_RUN_PATH *= *\(/[^ ]*\).*$,-R\1,p'` + test "x$ac_ld_run_path" != x && + if test "$ac_compiler_gnu" = yes; then + for ac_link_opt in $ac_ld_run_path; do + ac_cv_f77_libs="$ac_cv_f77_libs -Xlinker $ac_link_opt" + done +else + ac_cv_f77_libs="$ac_cv_f77_libs $ac_ld_run_path" +fi + ;; +esac +fi # test "x$[]_AC_LANG_PREFIX[]LIBS" = "x" + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_libs" >&5 +printf "%s\n" "$ac_cv_f77_libs" >&6; } +FLIBS="$ac_cv_f77_libs" + + +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=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dummy main to link with Fortran 77 libraries" >&5 +printf %s "checking for dummy main to link with Fortran 77 libraries... " >&6; } +if test ${ac_cv_f77_dummy_main+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_f77_dm_save_LIBS=$LIBS + LIBS="$LIBS $FLIBS" + ac_fortran_dm_var=F77_DUMMY_MAIN + 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 + + # First, try linking without a dummy main: + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_fortran_dummy_main=none +else $as_nop + ac_cv_fortran_dummy_main=unknown +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + if test $ac_cv_fortran_dummy_main = unknown; then + for ac_func in MAIN__ MAIN_ __main MAIN _MAIN __MAIN main_ main__ _main; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define $ac_fortran_dm_var $ac_func +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_fortran_dummy_main=$ac_func; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + done + fi + ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + ac_cv_f77_dummy_main=$ac_cv_fortran_dummy_main + rm -rf conftest* + LIBS=$ac_f77_dm_save_LIBS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_dummy_main" >&5 +printf "%s\n" "$ac_cv_f77_dummy_main" >&6; } +F77_DUMMY_MAIN=$ac_cv_f77_dummy_main +if test "$F77_DUMMY_MAIN" != unknown +then : + if test $F77_DUMMY_MAIN != none; then + +printf "%s\n" "#define F77_DUMMY_MAIN $F77_DUMMY_MAIN" >>confdefs.h + + if test "x$ac_cv_fc_dummy_main" = "x$ac_cv_f77_dummy_main"; then + +printf "%s\n" "#define FC_DUMMY_MAIN_EQ_F77 1" >>confdefs.h + + fi +fi +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "linking to Fortran libraries from C fails +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 + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran 77 name-mangling scheme" >&5 +printf %s "checking for Fortran 77 name-mangling scheme... " >&6; } +if test ${ac_cv_f77_mangling+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.$ac_ext <<_ACEOF + subroutine foobar() + return + end + subroutine foo_bar() + return + end +_ACEOF +if ac_fn_f77_try_compile "$LINENO" +then : + mv conftest.$ac_objext cfortran_test.$ac_objext + + ac_save_LIBS=$LIBS + LIBS="cfortran_test.$ac_objext $LIBS $FLIBS" + + 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_success=no + for ac_foobar in foobar FOOBAR; do + for ac_underscore in "" "_"; do + ac_func="$ac_foobar$ac_underscore" + 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. */ +char $ac_func (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_success=yes; break 2 +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + done + done + ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + if test "$ac_success" = "yes"; then + case $ac_foobar in + foobar) + ac_case=lower + ac_foo_bar=foo_bar + ;; + FOOBAR) + ac_case=upper + ac_foo_bar=FOO_BAR + ;; + esac + + 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_success_extra=no + for ac_extra in "" "_"; do + ac_func="$ac_foo_bar$ac_underscore$ac_extra" + 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. */ +char $ac_func (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_success_extra=yes; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + done + ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + if test "$ac_success_extra" = "yes"; then + ac_cv_f77_mangling="$ac_case case" + if test -z "$ac_underscore"; then + ac_cv_f77_mangling="$ac_cv_f77_mangling, no underscore" + else + ac_cv_f77_mangling="$ac_cv_f77_mangling, underscore" + fi + if test -z "$ac_extra"; then + ac_cv_f77_mangling="$ac_cv_f77_mangling, no extra underscore" + else + ac_cv_f77_mangling="$ac_cv_f77_mangling, extra underscore" + fi + else + ac_cv_f77_mangling="unknown" + fi + else + ac_cv_f77_mangling="unknown" + fi + + LIBS=$ac_save_LIBS + rm -rf conftest* + rm -f cfortran_test* +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compile a simple Fortran program +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_mangling" >&5 +printf "%s\n" "$ac_cv_f77_mangling" >&6; } + +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 + + + + + +ax_blas_ok=no + + +# Check whether --with-blas was given. +if test ${with_blas+y} +then : + withval=$with_blas; +fi + +case $with_blas in + yes | "") ;; + no) ax_blas_ok=disable ;; + -* | */* | *.a | *.so | *.so.* | *.dylib | *.dylib.* | *.o) + BLAS_LIBS="$with_blas" + ;; + *) BLAS_LIBS="-l$with_blas" ;; +esac + +# Get fortran linker names of BLAS functions to check for. +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +case $ac_cv_f77_mangling in + upper*) ac_val="SGEMM" ;; + lower*) ac_val="sgemm" ;; + *) ac_val="unknown" ;; +esac +case $ac_cv_f77_mangling in *," underscore"*) ac_val="$ac_val"_ ;; esac + +sgemm="$ac_val" + +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=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +case $ac_cv_f77_mangling in + upper*) ac_val="DGEMM" ;; + lower*) ac_val="dgemm" ;; + *) ac_val="unknown" ;; +esac +case $ac_cv_f77_mangling in *," underscore"*) ac_val="$ac_val"_ ;; esac + +dgemm="$ac_val" + +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 + + +ax_blas_save_LIBS="$LIBS" +LIBS="$LIBS $FLIBS" + +# First, check BLAS_LIBS environment variable +if test $ax_blas_ok = no; then +if test "x$BLAS_LIBS" != x; then + save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in $BLAS_LIBS" >&5 +printf %s "checking for $sgemm in $BLAS_LIBS... " >&6; } + 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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ax_blas_ok=yes +else $as_nop + BLAS_LIBS="" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_blas_ok" >&5 +printf "%s\n" "$ax_blas_ok" >&6; } + LIBS="$save_LIBS" +fi +fi + +# BLAS linked to by default? (happens on some supercomputers) +if test $ax_blas_ok = no; then + save_LIBS="$LIBS"; LIBS="$LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $sgemm is being linked in already" >&5 +printf %s "checking if $sgemm is being linked in already... " >&6; } + 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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ax_blas_ok=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_blas_ok" >&5 +printf "%s\n" "$ax_blas_ok" >&6; } + LIBS="$save_LIBS" +fi + +# BLAS in OpenBLAS library? (http://xianyi.github.com/OpenBLAS/) +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_openblas_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lopenblas" >&5 +printf %s "checking for $sgemm in -lopenblas... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lopenblas $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes + BLAS_LIBS="-lopenblas" +fi + +fi + +# BLAS in ATLAS library? (http://math-atlas.sourceforge.net/) +if test $ax_blas_ok = no; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ATL_xerbla in -latlas" >&5 +printf %s "checking for ATL_xerbla in -latlas... " >&6; } +if test ${ac_cv_lib_atlas_ATL_xerbla+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-latlas $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. */ +char ATL_xerbla (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return ATL_xerbla (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_atlas_ATL_xerbla=yes +else $as_nop + ac_cv_lib_atlas_ATL_xerbla=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_atlas_ATL_xerbla" >&5 +printf "%s\n" "$ac_cv_lib_atlas_ATL_xerbla" >&6; } +if test "x$ac_cv_lib_atlas_ATL_xerbla" = xyes +then : + as_ac_Lib=`printf "%s\n" "ac_cv_lib_f77blas_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lf77blas" >&5 +printf %s "checking for $sgemm in -lf77blas... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lf77blas -latlas $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cblas_dgemm in -lcblas" >&5 +printf %s "checking for cblas_dgemm in -lcblas... " >&6; } +if test ${ac_cv_lib_cblas_cblas_dgemm+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcblas -lf77blas -latlas $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. */ +char cblas_dgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return cblas_dgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_cblas_cblas_dgemm=yes +else $as_nop + ac_cv_lib_cblas_cblas_dgemm=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cblas_cblas_dgemm" >&5 +printf "%s\n" "$ac_cv_lib_cblas_cblas_dgemm" >&6; } +if test "x$ac_cv_lib_cblas_cblas_dgemm" = xyes +then : + ax_blas_ok=yes + BLAS_LIBS="-lcblas -lf77blas -latlas" +fi + +fi + +fi + +fi + +# BLAS in PhiPACK libraries? (requires generic BLAS lib, too) +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_blas_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lblas" >&5 +printf %s "checking for $sgemm in -lblas... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lblas $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + as_ac_Lib=`printf "%s\n" "ac_cv_lib_dgemm_$dgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $dgemm in -ldgemm" >&5 +printf %s "checking for $dgemm in -ldgemm... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldgemm -lblas $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. */ +char $dgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $dgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + as_ac_Lib=`printf "%s\n" "ac_cv_lib_sgemm_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lsgemm" >&5 +printf %s "checking for $sgemm in -lsgemm... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsgemm -lblas $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes; BLAS_LIBS="-lsgemm -ldgemm -lblas" +fi + +fi + +fi + +fi + +# BLAS in Intel MKL library? +if test $ax_blas_ok = no; then + # MKL for gfortran + if test x"$ac_cv_fc_compiler_gnu" = xyes; then + # 64 bit + if test $host_cpu = x86_64; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_mkl_gf_lp64_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lmkl_gf_lp64" >&5 +printf %s "checking for $sgemm in -lmkl_gf_lp64... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmkl_gf_lp64 -lmkl_gf_lp64 -lmkl_sequential -lmkl_core -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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes;BLAS_LIBS="-lmkl_gf_lp64 -lmkl_sequential -lmkl_core -lpthread" +fi + + # 32 bit + elif test $host_cpu = i686; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_mkl_gf_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lmkl_gf" >&5 +printf %s "checking for $sgemm in -lmkl_gf... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmkl_gf -lmkl_gf -lmkl_sequential -lmkl_core -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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes;BLAS_LIBS="-lmkl_gf -lmkl_sequential -lmkl_core -lpthread" +fi + + fi + # MKL for other compilers (Intel, PGI, ...?) + else + # 64-bit + if test $host_cpu = x86_64; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_mkl_intel_lp64_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lmkl_intel_lp64" >&5 +printf %s "checking for $sgemm in -lmkl_intel_lp64... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmkl_intel_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes;BLAS_LIBS="-lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread" +fi + + # 32-bit + elif test $host_cpu = i686; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_mkl_intel_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lmkl_intel" >&5 +printf %s "checking for $sgemm in -lmkl_intel... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmkl_intel -lmkl_intel -lmkl_sequential -lmkl_core -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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes;BLAS_LIBS="-lmkl_intel -lmkl_sequential -lmkl_core -lpthread" +fi + + fi + fi +fi +# Old versions of MKL +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_mkl_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lmkl" >&5 +printf %s "checking for $sgemm in -lmkl... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmkl -lguide -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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes;BLAS_LIBS="-lmkl -lguide -lpthread" +fi + +fi + +# BLAS in Apple vecLib library? +if test $ax_blas_ok = no; then + save_LIBS="$LIBS"; LIBS="-framework vecLib $LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -framework vecLib" >&5 +printf %s "checking for $sgemm in -framework vecLib... " >&6; } + 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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ax_blas_ok=yes;BLAS_LIBS="-framework vecLib" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_blas_ok" >&5 +printf "%s\n" "$ax_blas_ok" >&6; } + LIBS="$save_LIBS" +fi + +# BLAS in Alpha CXML library? +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_cxml_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lcxml" >&5 +printf %s "checking for $sgemm in -lcxml... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcxml $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes;BLAS_LIBS="-lcxml" +fi + +fi + +# BLAS in Alpha DXML library? (now called CXML, see above) +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_dxml_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -ldxml" >&5 +printf %s "checking for $sgemm in -ldxml... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldxml $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes;BLAS_LIBS="-ldxml" +fi + +fi + +# BLAS in Sun Performance library? +if test $ax_blas_ok = no; then + if test "x$GCC" != xyes; then # only works with Sun CC + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for acosp in -lsunmath" >&5 +printf %s "checking for acosp in -lsunmath... " >&6; } +if test ${ac_cv_lib_sunmath_acosp+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsunmath $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. */ +char acosp (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return acosp (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_sunmath_acosp=yes +else $as_nop + ac_cv_lib_sunmath_acosp=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sunmath_acosp" >&5 +printf "%s\n" "$ac_cv_lib_sunmath_acosp" >&6; } +if test "x$ac_cv_lib_sunmath_acosp" = xyes +then : + as_ac_Lib=`printf "%s\n" "ac_cv_lib_sunperf_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lsunperf" >&5 +printf %s "checking for $sgemm in -lsunperf... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsunperf -lsunmath $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + BLAS_LIBS="-xlic_lib=sunperf -lsunmath" + ax_blas_ok=yes +fi + +fi + + fi +fi + +# BLAS in SCSL library? (SGI/Cray Scientific Library) +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_scs_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lscs" >&5 +printf %s "checking for $sgemm in -lscs... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lscs $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes; BLAS_LIBS="-lscs" +fi + +fi + +# BLAS in SGIMATH library? +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_complib.sgimath_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lcomplib.sgimath" >&5 +printf %s "checking for $sgemm in -lcomplib.sgimath... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcomplib.sgimath $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes; BLAS_LIBS="-lcomplib.sgimath" +fi + +fi + +# BLAS in IBM ESSL library? (requires generic BLAS lib, too) +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_blas_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lblas" >&5 +printf %s "checking for $sgemm in -lblas... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lblas $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + as_ac_Lib=`printf "%s\n" "ac_cv_lib_essl_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lessl" >&5 +printf %s "checking for $sgemm in -lessl... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lessl -lblas $FLIBS $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes; BLAS_LIBS="-lessl -lblas" +fi + +fi + +fi + +# Generic BLAS library? +if test $ax_blas_ok = no; then + as_ac_Lib=`printf "%s\n" "ac_cv_lib_blas_$sgemm" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lblas" >&5 +printf %s "checking for $sgemm in -lblas... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lblas $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. */ +char $sgemm (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $sgemm (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_blas_ok=yes; BLAS_LIBS="-lblas" +fi + +fi + + + +LIBS="$ax_blas_save_LIBS" + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$ax_blas_ok" = xyes; then + +printf "%s\n" "#define HAVE_BLAS 1" >>confdefs.h + + : +else + ax_blas_ok=no + +fi + + + +ax_lapack_ok=no + + +# Check whether --with-lapack was given. +if test ${with_lapack+y} +then : + withval=$with_lapack; +fi + +case $with_lapack in + yes | "") ;; + no) ax_lapack_ok=disable ;; + -* | */* | *.a | *.so | *.so.* | *.dylib | *.dylib.* | *.o) + LAPACK_LIBS="$with_lapack" + ;; + *) LAPACK_LIBS="-l$with_lapack" ;; +esac + +# Get fortran linker name of LAPACK function to check for. +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +case $ac_cv_f77_mangling in + upper*) ac_val="CHEEV" ;; + lower*) ac_val="cheev" ;; + *) ac_val="unknown" ;; +esac +case $ac_cv_f77_mangling in *," underscore"*) ac_val="$ac_val"_ ;; esac + +cheev="$ac_val" + +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 + + +# We cannot use LAPACK if BLAS is not found +if test "x$ax_blas_ok" != xyes; then + ax_lapack_ok=noblas + LAPACK_LIBS="" +fi + +# First, check LAPACK_LIBS environment variable +if test "x$LAPACK_LIBS" != x; then + save_LIBS="$LIBS"; LIBS="$LAPACK_LIBS $BLAS_LIBS $LIBS $FLIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $cheev in $LAPACK_LIBS" >&5 +printf %s "checking for $cheev in $LAPACK_LIBS... " >&6; } + 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. */ +char $cheev (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $cheev (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ax_lapack_ok=yes +else $as_nop + LAPACK_LIBS="" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_lapack_ok" >&5 +printf "%s\n" "$ax_lapack_ok" >&6; } + LIBS="$save_LIBS" + if test $ax_lapack_ok = no; then + LAPACK_LIBS="" + fi +fi + +# LAPACK linked to by default? (is sometimes included in BLAS lib) +if test $ax_lapack_ok = no; then + save_LIBS="$LIBS"; LIBS="$LIBS $BLAS_LIBS $FLIBS" + as_ac_var=`printf "%s\n" "ac_cv_func_$cheev" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$cheev" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes" +then : + ax_lapack_ok=yes +fi + + LIBS="$save_LIBS" +fi + +# Generic LAPACK library? +for lapack in lapack lapack_rs6k; do + if test $ax_lapack_ok = no; then + save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS" + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$lapack""_$cheev" | $as_tr_sh` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $cheev in -l$lapack" >&5 +printf %s "checking for $cheev in -l$lapack... " >&6; } +if eval test \${$as_ac_Lib+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-l$lapack $FLIBS $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. */ +char $cheev (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return $cheev (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$as_ac_Lib=yes" +else $as_nop + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes" +then : + ax_lapack_ok=yes; LAPACK_LIBS="-l$lapack" +fi + + LIBS="$save_LIBS" + fi +done + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$ax_lapack_ok" = xyes; then + HAVE_LAPACK=yes + : +else + ax_lapack_ok=no + +fi + # calls AX_BLAS automatically + else + printf "%s\n" "Skipping LAPACK/BLAS detection because we don't have Fortran" + 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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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" + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + PKG_CONFIG="" + fi +fi + + +# Check whether --with-gsl-prefix was given. +if test ${with_gsl_prefix+y} +then : + withval=$with_gsl_prefix; gsl_prefix="$withval" +else $as_nop + gsl_prefix="" +fi + + +# Check whether --with-gsl-exec-prefix was given. +if test ${with_gsl_exec_prefix+y} +then : + withval=$with_gsl_exec_prefix; gsl_exec_prefix="$withval" +else $as_nop + gsl_exec_prefix="" +fi + +# Check whether --enable-gsltest was given. +if test ${enable_gsltest+y} +then : + enableval=$enable_gsltest; +else $as_nop + enable_gsltest=yes +fi + + + if test "x${GSL_CONFIG+set}" != xset ; then + if test "x$gsl_prefix" != x ; then + GSL_CONFIG="$gsl_prefix/bin/gsl-config" + fi + if test "x$gsl_exec_prefix" != x ; then + GSL_CONFIG="$gsl_exec_prefix/bin/gsl-config" + fi + fi + + + if test "x${GSL_CONFIG+set}" == xset ; then + if test -x "${GSL_CONFIG}" ; then + gsl_config_exists=yes + else + gsl_config_exists=no + fi + fi + FOUND_GSL=no + if test "x$GSL_CFLAGS" != x ; then + if test "x$GSL_LIBS" != x ; then + GSL_FLAGS="$GSL_CFLAGS" + GSL_LIBS="$GSL_LIBS" + FOUND_GSL=yes + + fi + fi + if test "$FOUND_GSL" = "no"; then + if test "x$gsl_config_exists" != xyes ; then + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GSL" >&5 +printf %s "checking for GSL... " >&6; } + +if test -n "$GSL_CFLAGS"; then + pkg_cv_GSL_CFLAGS="$GSL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gsl >= 1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gsl >= 1.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GSL_CFLAGS=`$PKG_CONFIG --cflags "gsl >= 1.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$GSL_LIBS"; then + pkg_cv_GSL_LIBS="$GSL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gsl >= 1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gsl >= 1.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GSL_LIBS=`$PKG_CONFIG --libs "gsl >= 1.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + GSL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gsl >= 1.0" 2>&1` + else + GSL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gsl >= 1.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$GSL_PKG_ERRORS" >&5 + + + + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + + +else + GSL_CFLAGS=$pkg_cv_GSL_CFLAGS + GSL_LIBS=$pkg_cv_GSL_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + GSL_FLAGS="$GSL_CFLAGS" + GSL_LIBS="$GSL_LIBS" + FOUND_GSL=yes + + + FOUND_GSL=yes + +fi + fi + fi + if test "$FOUND_GSL" = "no"; then + # Extract the first word of "gsl-config", so it can be a program name with args. +set dummy gsl-config; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_GSL_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $GSL_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_GSL_CONFIG="$GSL_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_GSL_CONFIG="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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_GSL_CONFIG" && ac_cv_path_GSL_CONFIG="no" + ;; +esac +fi +GSL_CONFIG=$ac_cv_path_GSL_CONFIG +if test -n "$GSL_CONFIG"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GSL_CONFIG" >&5 +printf "%s\n" "$GSL_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + min_gsl_version=1.0 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GSL - version >= $min_gsl_version" >&5 +printf %s "checking for GSL - version >= $min_gsl_version... " >&6; } + no_gsl="" + if test "$GSL_CONFIG" = "no" ; then + no_gsl=yes + else + GSL_FLAGS=`$GSL_CONFIG --cflags` + GSL_LIBS=`$GSL_CONFIG --libs` + + gsl_version=`$GSL_CONFIG --version` + as_arg_v1=$gsl_version +as_arg_v2=$min_gsl_version +awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null +case $? in #( + 1) : + no_gsl=yes ;; #( + 0) : + ;; #( + 2) : + ;; #( + *) : + ;; +esac + fi + if test "x$no_gsl" = x ; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + FOUND_GSL=yes + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + if test "$GSL_CONFIG" = "no" ; then + echo "*** The gsl-config script installed by GSL could not be found" + echo "*** If GSL was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the GSL_CONFIG environment variable to the" + echo "*** full path to gsl-config." + else + if test -f conf.gsltest ; then + : + else + echo "*** Could not run GSL test program, checking why..." + CFLAGS="$CFLAGS $GSL_FLAGS" + LIBS="$LIBS $GSL_LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding GSL or finding the wrong" + echo "*** version of GSL. If it is not finding GSL, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" +else $as_nop + echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means GSL was incorrectly installed" + echo "*** or that you have moved GSL since it was installed. In the latter case, you" + echo "*** may want to edit the gsl-config script: $GSL_CONFIG" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + # GSL_FLAGS="" + # GSL_LIBS="" + : + fi + + fi + + + rm -f conf.gsltest + + + ac_header= ac_cache= +for ac_item in $ac_header_c_list +do + if test $ac_cache; then + ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" + if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then + printf "%s\n" "#define $ac_item 1" >> confdefs.h + fi + ac_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item + fi +done + + + + + + + + +if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes +then : + +printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h + +fi + + +# Check whether --with-gmp was given. +if test ${with_gmp+y} +then : + withval=$with_gmp; + test "$withval" = no && { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: gmp is a required package for some modules" >&5 +printf "%s\n" "$as_me: WARNING: gmp is a required package for some modules" >&2;} + test "$withval" = yes || gmp_prefix="$withval" + with_gmp=yes +else $as_nop + with_gmp=yes + +fi + + + if test "x$with_gmp" != xno +then : + + #user override + if test "x$GMP_LIBS" != x +then : + + have_gmp=yes + FOUND_GMP="yes" + +else $as_nop + + + + + saved_LIBS="$LIBS" + saved_CXXFLAGS="$CXXFLAGS" + GMP_LIBS="" + GMP_FLAGS="" + FOUND_GMP="no" + if test x$gmp_prefix == x; then + if test x$PREFIX != x; then + gmp_prefix=$PREFIX + fi + fi + if test x$gmp_prefix != x; then + ac_gmp_CFLAGS="-I$gmp_prefix/include" + ac_gmp_LDOPTS="-L$gmp_prefix/lib" + + + save_CFLAGS="$CFLAGS" + save_CPPFLAGS="$CPPFLAGS" + CFLAGS="$ac_gmp_CFLAGS $save_CFLAGS" + CPPFLAGS="$ac_gmp_CFLAGS $save_CPPFLAGS" + ac_fn_c_check_header_compile "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" +if test "x$ac_cv_header_gmp_h" = xyes +then : + GMP_FLAGS="$ac_gmp_CFLAGS" + FOUND_GMP="yes" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (gmp.h) of the library GMP in $gmp_prefix/include." >&5 +printf "%s\n" "$as_me: WARNING: Cannot find headers (gmp.h) of the library GMP in $gmp_prefix/include." >&2;} + +fi + + CFLAGS="$save_CFLAGS" + CPPFLAGS="$save_CPPFLAGS" + + if test x$FOUND_GMP == xyes; then + save_LIBS="$LIBS" + LIBS="$ac_gmp_LDOPTS -lgmp $save_LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __gmpz_init in -lgmp" >&5 +printf %s "checking for __gmpz_init in -lgmp... " >&6; } +if test ${ac_cv_lib_gmp___gmpz_init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgmp $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. */ +char __gmpz_init (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return __gmpz_init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_gmp___gmpz_init=yes +else $as_nop + ac_cv_lib_gmp___gmpz_init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp___gmpz_init" >&5 +printf "%s\n" "$ac_cv_lib_gmp___gmpz_init" >&6; } +if test "x$ac_cv_lib_gmp___gmpz_init" = xyes +then : + GMP_LIBS="$ac_gmp_LDOPTS -lgmp" +else $as_nop + FOUND_GMP="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libgmp : library missing. (Cannot find symbol gmpz_init) in $gmp_prefix. Check if libgmp is installed and if the version is correct" >&5 +printf "%s\n" "$as_me: WARNING: libgmp : library missing. (Cannot find symbol gmpz_init) in $gmp_prefix. Check if libgmp is installed and if the version is correct" >&2;} + +fi + + LIBS="$save_LIBS" + fi + fi + if test x$FOUND_GMP != xyes; then + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GMP" >&5 +printf %s "checking for GMP... " >&6; } + +if test -n "$GMP_CFLAGS"; then + pkg_cv_GMP_CFLAGS="$GMP_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmp >= 3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gmp >= 3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GMP_CFLAGS=`$PKG_CONFIG --cflags "gmp >= 3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$GMP_LIBS"; then + pkg_cv_GMP_LIBS="$GMP_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmp >= 3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gmp >= 3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GMP_LIBS=`$PKG_CONFIG --libs "gmp >= 3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + GMP_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gmp >= 3" 2>&1` + else + GMP_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gmp >= 3" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$GMP_PKG_ERRORS" >&5 + + + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + +else + GMP_CFLAGS=$pkg_cv_GMP_CFLAGS + GMP_LIBS=$pkg_cv_GMP_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + GMP_FLAGS="$GMP_FLAGS" + GMP_LIBS="$GMP_LIBS" + FOUND_GMP=yes + +fi + + fi + + if test x$FOUND_GMP != xyes; then + ac_fn_c_check_header_compile "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" +if test "x$ac_cv_header_gmp_h" = xyes +then : + GMP_FLAGS="" + FOUND_GMP="yes" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (gmp.h) of the library GMP." >&5 +printf "%s\n" "$as_me: WARNING: Cannot find headers (gmp.h) of the library GMP." >&2;} + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __gmpz_init in -lgmp" >&5 +printf %s "checking for __gmpz_init in -lgmp... " >&6; } +if test ${ac_cv_lib_gmp___gmpz_init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgmp $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. */ +char __gmpz_init (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return __gmpz_init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_gmp___gmpz_init=yes +else $as_nop + ac_cv_lib_gmp___gmpz_init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp___gmpz_init" >&5 +printf "%s\n" "$ac_cv_lib_gmp___gmpz_init" >&6; } +if test "x$ac_cv_lib_gmp___gmpz_init" = xyes +then : + GMP_LIBS="-lgmp" +else $as_nop + + FOUND_GMP="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libgmp : library missing. (Cannot find symbol gmpz_init). Check if libgmp is installed and if the version is correct" >&5 +printf "%s\n" "$as_me: WARNING: libgmp : library missing. (Cannot find symbol gmpz_init). Check if libgmp is installed and if the version is correct" >&2;} + +fi + + fi + + + +fi + +fi + + + + + + + + +# Check whether --with-mpfr was given. +if test ${with_mpfr+y} +then : + withval=$with_mpfr; + test "$withval" = no && { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: mpfr is a required package for some modules" >&5 +printf "%s\n" "$as_me: WARNING: mpfr is a required package for some modules" >&2;} + test "$withval" = yes || mpfr_prefix="$withval" + with_mpfr=yes +else $as_nop + with_mpfr=yes + +fi + + + if test "x$with_mpfr" != xno +then : + + #user override + if test "x$MPFR_LIBS" != x +then : + + have_mpfr=yes + FOUND_MPFR="yes" + +else $as_nop + + + + + saved_LIBS="$LIBS" + saved_CXXFLAGS="$CXXFLAGS" + MPFR_LIBS="" + MPFR_FLAGS="" + FOUND_MPFR="no" + if test x$mpfr_prefix == x; then + if test x$PREFIX != x; then + mpfr_prefix=$PREFIX + fi + fi + if test x$mpfr_prefix != x; then + ac_mpfr_CFLAGS="-I$mpfr_prefix/include" + ac_mpfr_LDOPTS="-L$mpfr_prefix/lib" + + + save_CFLAGS="$CFLAGS" + save_CPPFLAGS="$CPPFLAGS" + CFLAGS="$ac_mpfr_CFLAGS $save_CFLAGS" + CPPFLAGS="$ac_mpfr_CFLAGS $save_CPPFLAGS" + + cache_var=ac_cv_header_mpfr_h + ac_fn_c_check_header_compile "$LINENO" "mpfr.h" "ac_cv_header_mpfr_h" "$ac_includes_default" +if test "x$ac_cv_header_mpfr_h" = xyes +then : + MPFR_FLAGS="$ac_mpfr_CFLAGS" + FOUND_MPFR="yes" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (mpfr.h) of the library MPFR in $mpfr_prefix/include." >&5 +printf "%s\n" "$as_me: WARNING: Cannot find headers (mpfr.h) of the library MPFR in $mpfr_prefix/include." >&2;} + +fi + + $as_unset $cache_var + CFLAGS="$save_CFLAGS" + CPPFLAGS="$save_CPPFLAGS" + + if test x$FOUND_MPFR == xyes; then + save_LIBS="$LIBS" + LIBS="$ac_mpfr_LDOPTS -lmpfr $save_LIBS" + + cache_var=ac_cv_lib_mpfr_mpfr_init + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpfr_init in -lmpfr" >&5 +printf %s "checking for mpfr_init in -lmpfr... " >&6; } +if test ${ac_cv_lib_mpfr_mpfr_init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpfr $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. */ +char mpfr_init (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return mpfr_init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpfr_mpfr_init=yes +else $as_nop + ac_cv_lib_mpfr_mpfr_init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_mpfr_init" >&5 +printf "%s\n" "$ac_cv_lib_mpfr_mpfr_init" >&6; } +if test "x$ac_cv_lib_mpfr_mpfr_init" = xyes +then : + MPFR_LIBS="$ac_mpfr_LDOPTS -lmpfr" +else $as_nop + FOUND_MPFR="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libmpfr : library missing. (Cannot find symbol mpfr_init) in $mpfr_prefix. Check if libmpfr is installed and if the version is correct" >&5 +printf "%s\n" "$as_me: WARNING: libmpfr : library missing. (Cannot find symbol mpfr_init) in $mpfr_prefix. Check if libmpfr is installed and if the version is correct" >&2;} + +fi + + LIBS="$save_LIBS" + $as_unset $cache_var + fi + fi + if test x$FOUND_MPFR != xyes; then + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPFR" >&5 +printf %s "checking for MPFR... " >&6; } + +if test -n "$MPFR_CFLAGS"; then + pkg_cv_MPFR_CFLAGS="$MPFR_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mpfr >= 3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "mpfr >= 3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_MPFR_CFLAGS=`$PKG_CONFIG --cflags "mpfr >= 3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$MPFR_LIBS"; then + pkg_cv_MPFR_LIBS="$MPFR_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mpfr >= 3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "mpfr >= 3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_MPFR_LIBS=`$PKG_CONFIG --libs "mpfr >= 3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + MPFR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "mpfr >= 3" 2>&1` + else + MPFR_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "mpfr >= 3" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$MPFR_PKG_ERRORS" >&5 + + + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + +else + MPFR_CFLAGS=$pkg_cv_MPFR_CFLAGS + MPFR_LIBS=$pkg_cv_MPFR_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + MPFR_FLAGS="$MPFR_FLAGS" + MPFR_LIBS="$MPFR_LIBS" + FOUND_MPFR=yes + +fi + + fi + + if test x$FOUND_MPFR != xyes; then + ac_fn_c_check_header_compile "$LINENO" "mpfr.h" "ac_cv_header_mpfr_h" "$ac_includes_default" +if test "x$ac_cv_header_mpfr_h" = xyes +then : + MPFR_FLAGS="" + FOUND_MPFR="yes" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (mpfr.h) of the library MPFR." >&5 +printf "%s\n" "$as_me: WARNING: Cannot find headers (mpfr.h) of the library MPFR." >&2;} + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mpfr_init in -lmpfr" >&5 +printf %s "checking for mpfr_init in -lmpfr... " >&6; } +if test ${ac_cv_lib_mpfr_mpfr_init+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpfr $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. */ +char mpfr_init (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return mpfr_init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_mpfr_mpfr_init=yes +else $as_nop + ac_cv_lib_mpfr_mpfr_init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_mpfr_init" >&5 +printf "%s\n" "$ac_cv_lib_mpfr_mpfr_init" >&6; } +if test "x$ac_cv_lib_mpfr_mpfr_init" = xyes +then : + MPFR_LIBS="-lmpfr" +else $as_nop + + FOUND_MPFR="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libmpfr : library missing. (Cannot find symbol mpfr_init). Check if libmpfr is installed and if the version is correct" >&5 +printf "%s\n" "$as_me: WARNING: libmpfr : library missing. (Cannot find symbol mpfr_init). Check if libmpfr is installed and if the version is correct" >&2;} + +fi + + fi + + + +fi + +fi + + + + + + + + +# Check whether --with-fftw was given. +if test ${with_fftw+y} +then : + withval=$with_fftw; + test "$withval" = no && { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: fftw is a required package for some modules" >&5 +printf "%s\n" "$as_me: WARNING: fftw is a required package for some modules" >&2;} + test "$withval" = yes || fftw_prefix="$withval" + with_fftw=yes +else $as_nop + with_fftw=yes + +fi + + + if test "x$with_fftw" != xno +then : + + #user override + if test "x$FFTW_LIBS" != x && test "x$FFTW_FLAGS" != x +then : + + have_fftw=yes + FOUND_FFTW="yes" + +else $as_nop + + saved_LIBS="$LIBS" + saved_CXXFLAGS="$CXXFLAGS" + FFTW_LIBS="" + FFTW_FLAGS="" + FOUND_FFTW="no" + if test x$fftw_prefix == x; then + if test x$PREFIX != x; then + fftw_prefix=$PREFIX + fi + fi + if test x$fftw_prefix != x; then + ac_FFTW_CFLAGS="-I$fftw_prefix/include" + ac_FFTW_LDOPTS="-L$fftw_prefix/lib" + + + save_CFLAGS="$CFLAGS" + save_CPPFLAGS="$CPPFLAGS" + CFLAGS="$ac_FFTW_CFLAGS $save_CFLAGS" + CPPFLAGS="$ac_FFTW_CFLAGS $save_CPPFLAGS" + ac_fn_c_check_header_compile "$LINENO" "fftw3.h" "ac_cv_header_fftw3_h" "$ac_includes_default" +if test "x$ac_cv_header_fftw3_h" = xyes +then : + FFTW_FLAGS="$ac_FFTW_CFLAGS" + FOUND_FFTW="yes" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (fftw3.h) of the library FFTW in $fftw_prefix/include." >&5 +printf "%s\n" "$as_me: WARNING: Cannot find headers (fftw3.h) of the library FFTW in $fftw_prefix/include." >&2;} + +fi + + CFLAGS="$save_CFLAGS" + CPPFLAGS="$save_CPPFLAGS" + + save_LIBS="$LIBS" + LIBS="$ac_FFTW_LDOPTS -lfftw3 -lfftw3_threads $save_LIBS" + + cache_var=ac_cv_lib_fftw3_fftw_plan_dft_r2c + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fftw_plan_dft_r2c in -lfftw3" >&5 +printf %s "checking for fftw_plan_dft_r2c in -lfftw3... " >&6; } +if test ${ac_cv_lib_fftw3_fftw_plan_dft_r2c+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfftw3 $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. */ +char fftw_plan_dft_r2c (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return fftw_plan_dft_r2c (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_fftw3_fftw_plan_dft_r2c=yes +else $as_nop + ac_cv_lib_fftw3_fftw_plan_dft_r2c=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&5 +printf "%s\n" "$ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&6; } +if test "x$ac_cv_lib_fftw3_fftw_plan_dft_r2c" = xyes +then : + FFTW_LIBS="$ac_FFTW_LDOPTS -lfftw3 -lfftw3_threads" +else $as_nop + FOUND_FFTW="no" + +fi + + $as_unset $cache_var + if test x$FOUND_FFTW != xyes; then + LIBS="$ac_FFTW_LDOPTS -lfftw3 -lfftw3_threads -lm $save_LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fftw_plan_dft_r2c in -lfftw3" >&5 +printf %s "checking for fftw_plan_dft_r2c in -lfftw3... " >&6; } +if test ${ac_cv_lib_fftw3_fftw_plan_dft_r2c+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfftw3 $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. */ +char fftw_plan_dft_r2c (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return fftw_plan_dft_r2c (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_fftw3_fftw_plan_dft_r2c=yes +else $as_nop + ac_cv_lib_fftw3_fftw_plan_dft_r2c=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&5 +printf "%s\n" "$ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&6; } +if test "x$ac_cv_lib_fftw3_fftw_plan_dft_r2c" = xyes +then : + FOUND_FFTW="yes" + FFTW_LIBS="$ac_FFTW_LDOPTS -lfftw3 -lfftw3_threads -lm" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libfftw3 : library missing. (Cannot find symbol fftw_plan_dft_r2c) in $fftw_prefix. Check if libfftw3 is installed and if the version is correct" >&5 +printf "%s\n" "$as_me: WARNING: libfftw3 : library missing. (Cannot find symbol fftw_plan_dft_r2c) in $fftw_prefix. Check if libfftw3 is installed and if the version is correct" >&2;} + +fi + + $as_unset $cache_var + fi + LIBS="$save_LIBS" + fi + + if test x$FOUND_FFTW != xyes; then + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FFTW" >&5 +printf %s "checking for FFTW... " >&6; } + +if test -n "$FFTW_CFLAGS"; then + pkg_cv_FFTW_CFLAGS="$FFTW_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fftw3 >= 3.2\""; } >&5 + ($PKG_CONFIG --exists --print-errors "fftw3 >= 3.2") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FFTW_CFLAGS=`$PKG_CONFIG --cflags "fftw3 >= 3.2" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FFTW_LIBS"; then + pkg_cv_FFTW_LIBS="$FFTW_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fftw3 >= 3.2\""; } >&5 + ($PKG_CONFIG --exists --print-errors "fftw3 >= 3.2") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FFTW_LIBS=`$PKG_CONFIG --libs "fftw3 >= 3.2" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FFTW_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "fftw3 >= 3.2" 2>&1` + else + FFTW_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "fftw3 >= 3.2" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FFTW_PKG_ERRORS" >&5 + + + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + +else + FFTW_CFLAGS=$pkg_cv_FFTW_CFLAGS + FFTW_LIBS=$pkg_cv_FFTW_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FFTW_FLAGS="$FFTW_CFLAGS" + FFTW_LIBS="$FFTW_LIBS -lfftw3_threads" + FOUND_FFTW=yes + +fi + fi + + if test x$FOUND_FFTW != xyes; then + ac_fn_c_check_header_compile "$LINENO" "fftw3.h" "ac_cv_header_fftw3_h" "$ac_includes_default" +if test "x$ac_cv_header_fftw3_h" = xyes +then : + FFTW_FLAGS="" + FOUND_FFTW="yes" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find headers (fftw3.h) of the library FFTW in $fftw_prefix/include." >&5 +printf "%s\n" "$as_me: WARNING: Cannot find headers (fftw3.h) of the library FFTW in $fftw_prefix/include." >&2;} + +fi + + cache_var=ac_cv_lib_fftw3_fftw_plan_dft_r2c + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fftw_plan_dft_r2c in -lfftw3" >&5 +printf %s "checking for fftw_plan_dft_r2c in -lfftw3... " >&6; } +if test ${ac_cv_lib_fftw3_fftw_plan_dft_r2c+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfftw3 $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. */ +char fftw_plan_dft_r2c (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return fftw_plan_dft_r2c (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_fftw3_fftw_plan_dft_r2c=yes +else $as_nop + ac_cv_lib_fftw3_fftw_plan_dft_r2c=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&5 +printf "%s\n" "$ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&6; } +if test "x$ac_cv_lib_fftw3_fftw_plan_dft_r2c" = xyes +then : + FFTW_LIBS="-lfftw3 -lfftw3_threads" +else $as_nop + FOUND_FFTW="no" + +fi + + $as_unset $cache_var + + if test x$FOUND_FFTW != xyes; then + + save_LIBS="$LIBS" + LIBS="-lfftw3_threads -lm $save_LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fftw_plan_dft_r2c in -lfftw3" >&5 +printf %s "checking for fftw_plan_dft_r2c in -lfftw3... " >&6; } +if test ${ac_cv_lib_fftw3_fftw_plan_dft_r2c+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfftw3 $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. */ +char fftw_plan_dft_r2c (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return fftw_plan_dft_r2c (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_fftw3_fftw_plan_dft_r2c=yes +else $as_nop + ac_cv_lib_fftw3_fftw_plan_dft_r2c=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&5 +printf "%s\n" "$ac_cv_lib_fftw3_fftw_plan_dft_r2c" >&6; } +if test "x$ac_cv_lib_fftw3_fftw_plan_dft_r2c" = xyes +then : + FOUND_FFTW="yes" + FFTW_LIBS="$ac_FFTW_LDOPTS -lfftw3 -lfftw3_threads -lm" +else $as_nop + FOUND_FFTW="no" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libfftw3 : library missing. (Cannot find symbol fftw_plan_dft_r2c) in $fftw_prefix. Check if libfftw3 is installed and if the version is correct" >&5 +printf "%s\n" "$as_me: WARNING: libfftw3 : library missing. (Cannot find symbol fftw_plan_dft_r2c) in $fftw_prefix. Check if libfftw3 is installed and if the version is correct" >&2;} + +fi + + LIBS="$save_LIBS" + fi + fi + + + +fi + +fi + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +printf %s "checking for a sed that does not truncate output... " >&6; } +if test ${ac_cv_path_SED+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '' >> "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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +printf "%s\n" "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + + + + + + + +if test "" = "" ; then + : # Recognized value +elif test "" = "serial" ; then + : # Recognized value +elif test "" = "parallel"; then + : # Recognized value +else + as_fn_error $? " +Unrecognized value for AX_LIB_HDF5 within configure.ac. +If supplied, argument 1 must be either 'serial' or 'parallel'. +" "$LINENO" 5 +fi + + +# Check whether --with-hdf5 was given. +if test ${with_hdf5+y} +then : + withval=$with_hdf5; if test "$withval" = "no"; then + with_hdf5="no" + elif test "$withval" = "yes"; then + with_hdf5="yes" + else + with_hdf5="yes" + H5CC="$withval" + fi +else $as_nop + with_hdf5="yes" + +fi + + +HDF5_CC="" +HDF5_VERSION="" +HDF5_CFLAGS="" +HDF5_CPPFLAGS="" +HDF5_LDFLAGS="" +HDF5_LIBS="" +HDF5_FC="" +HDF5_FFLAGS="" +HDF5_FLIBS="" +HDF5_TYPE="" + +if test "$with_hdf5" = "yes"; then + if test -z "$H5CC"; then + for ac_prog in h5cc h5pcc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_H5CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $H5CC in + [\\/]* | ?:[\\/]*) + ac_cv_path_H5CC="$H5CC" # 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_H5CC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +H5CC=$ac_cv_path_H5CC +if test -n "$H5CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $H5CC" >&5 +printf "%s\n" "$H5CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$H5CC" && break +done + + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Using provided HDF5 C wrapper" >&5 +printf %s "checking Using provided HDF5 C wrapper... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $H5CC" >&5 +printf "%s\n" "$H5CC" >&6; } + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for HDF5 type" >&5 +printf %s "checking for HDF5 type... " >&6; } + case $H5CC in #( + *h5pcc) : + HDF5_TYPE=parallel ;; #( + *h5cc) : + HDF5_TYPE=serial ;; #( + *) : + HDF5_TYPE=neither ;; +esac + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $HDF5_TYPE" >&5 +printf "%s\n" "$HDF5_TYPE" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for HDF5 libraries" >&5 +printf %s "checking for HDF5 libraries... " >&6; } + if test ! -f "$H5CC" || test ! -x "$H5CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: +Unable to locate HDF5 compilation helper scripts 'h5cc' or 'h5pcc'. +Please specify --with-hdf5= as the full path to h5cc or h5pcc. +HDF5 support is being disabled (equivalent to --with-hdf5=no). +" >&5 +printf "%s\n" "$as_me: WARNING: +Unable to locate HDF5 compilation helper scripts 'h5cc' or 'h5pcc'. +Please specify --with-hdf5= as the full path to h5cc or h5pcc. +HDF5 support is being disabled (equivalent to --with-hdf5=no). +" >&2;} + with_hdf5="no" + with_hdf5_fortran="no" + else + HDF5_SHOW=$(eval $H5CC -show) + + HDF5_CC=$(eval $H5CC -show | head -n 1 | $AWK '{print $1}') + if test "$HDF5_CC" = "ccache"; then + HDF5_CC=$(eval $H5CC -show | head -n 1 | $AWK '{print $2}') + fi + + + HDF5_VERSION=$(eval $H5CC -showconfig | $GREP 'HDF5 Version:' \ + | $AWK '{print $3}') + + HDF5_tmp_flags=$(eval $H5CC -showconfig \ + | $GREP 'FLAGS\|Extra libraries:' \ + | $AWK -F: '{printf("%s "), $2}' ) + + HDF5_tmp_inst=$(eval $H5CC -showconfig \ + | $GREP 'Installation point:' \ + | $AWK '{print $NF}' ) + + HDF5_CPPFLAGS="-I${HDF5_tmp_inst}/include" + + for arg in $HDF5_SHOW $HDF5_tmp_flags ; do + case "$arg" in + -I*) echo $HDF5_CPPFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ + || HDF5_CPPFLAGS="$HDF5_CPPFLAGS $arg" + ;; + -L*) echo $HDF5_LDFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ + || HDF5_LDFLAGS="$HDF5_LDFLAGS $arg" + ;; + -l*) echo $HDF5_LIBS | $GREP -e "$arg" 2>&1 >/dev/null \ + || HDF5_LIBS="$HDF5_LIBS $arg" + ;; + esac + done + + HDF5_LIBS="-lhdf5 $HDF5_LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (version $HDF5_VERSION)" >&5 +printf "%s\n" "yes (version $HDF5_VERSION)" >&6; } + + 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 + + ax_lib_hdf5_save_CC=$CC + ax_lib_hdf5_save_CPPFLAGS=$CPPFLAGS + ax_lib_hdf5_save_LIBS=$LIBS + ax_lib_hdf5_save_LDFLAGS=$LDFLAGS + CC=$HDF5_CC + CPPFLAGS=$HDF5_CPPFLAGS + LIBS=$HDF5_LIBS + LDFLAGS=$HDF5_LDFLAGS + ac_fn_c_check_header_compile "$LINENO" "hdf5.h" "ac_cv_header_hdf5_h" "$ac_includes_default" +if test "x$ac_cv_header_hdf5_h" = xyes +then : + ac_cv_hadf5_h=yes +else $as_nop + ac_cv_hadf5_h=no +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for H5Fcreate in -lhdf5" >&5 +printf %s "checking for H5Fcreate in -lhdf5... " >&6; } +if test ${ac_cv_lib_hdf5_H5Fcreate+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lhdf5 $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. */ +char H5Fcreate (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return H5Fcreate (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_hdf5_H5Fcreate=yes +else $as_nop + ac_cv_lib_hdf5_H5Fcreate=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hdf5_H5Fcreate" >&5 +printf "%s\n" "$ac_cv_lib_hdf5_H5Fcreate" >&6; } +if test "x$ac_cv_lib_hdf5_H5Fcreate" = xyes +then : + ac_cv_libhdf5=yes +else $as_nop + ac_cv_libhdf5=no +fi + + if test "$ac_cv_hadf5_h" = "no" && test "$ac_cv_libhdf5" = "no" ; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unable to compile HDF5 test program" >&5 +printf "%s\n" "$as_me: WARNING: Unable to compile HDF5 test program" >&2;} + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lhdf5_hl" >&5 +printf %s "checking for main in -lhdf5_hl... " >&6; } +if test ${ac_cv_lib_hdf5_hl_main+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lhdf5_hl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_hdf5_hl_main=yes +else $as_nop + ac_cv_lib_hdf5_hl_main=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hdf5_hl_main" >&5 +printf "%s\n" "$ac_cv_lib_hdf5_hl_main" >&6; } +if test "x$ac_cv_lib_hdf5_hl_main" = xyes +then : + HDF5_LIBS="-lhdf5_hl $HDF5_LIBS" +fi +ac_cv_lib_hdf5_hl=ac_cv_lib_hdf5_hl_main + + + CC=$ax_lib_hdf5_save_CC + CPPFLAGS=$ax_lib_hdf5_save_CPPFLAGS + LIBS=$ax_lib_hdf5_save_LIBS + LDFLAGS=$ax_lib_hdf5_save_LDFLAGS + 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 + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for matching HDF5 Fortran wrapper" >&5 +printf %s "checking for matching HDF5 Fortran wrapper... " >&6; } + H5FC=$(eval echo -n $H5CC | $SED -n 's/cc$/fc/p') + if test -x "$H5FC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $H5FC" >&5 +printf "%s\n" "$H5FC" >&6; } + with_hdf5_fortran="yes" + + + for arg in `$H5FC -show` + do + case "$arg" in #( + -I*) echo $HDF5_FFLAGS | $GREP -e "$arg" >/dev/null \ + || HDF5_FFLAGS="$HDF5_FFLAGS $arg" + ;;#( + -L*) echo $HDF5_FFLAGS | $GREP -e "$arg" >/dev/null \ + || HDF5_FFLAGS="$HDF5_FFLAGS $arg" + echo $HDF5_FFLAGS | $GREP -e "-I${arg#-L}" >/dev/null \ + || HDF5_FFLAGS="$HDF5_FFLAGS -I${arg#-L}" + ;; + esac + done + + for arg in $HDF5_LIBS + do + case "$arg" in #( + -lhdf5_hl) HDF5_FLIBS="$HDF5_FLIBS -lhdf5hl_fortran $arg" + ;; #( + -lhdf5) HDF5_FLIBS="$HDF5_FLIBS -lhdf5_fortran $arg" + ;; #( + *) HDF5_FLIBS="$HDF5_FLIBS $arg" + ;; + esac + done + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + with_hdf5_fortran="no" + fi + + + + + + + + + + + + +printf "%s\n" "#define HAVE_HDF5 1" >>confdefs.h + + fi +fi + + + + + + + +if test "" = "" ; then + netcdf4_requested_mode="serial" +elif test "" = "serial" ; then + netcdf4_requested_mode="serial" +elif test "" = "parallel"; then + netcdf4_requested_mode="parallel" +else + as_fn_error $? " +Unrecognized value for AX_LIB_NETCDF4 within configure.ac. +If supplied, argument 1 must be either 'serial' or 'parallel'. +" "$LINENO" 5 +fi + + +# Check whether --with-netcdf4 was given. +if test ${with_netcdf4+y} +then : + withval=$with_netcdf4; if test "$withval" = "no"; then + with_netcdf4="no" + elif test "$withval" = "yes"; then + with_netcdf4="yes" + else + with_netcdf4="yes" + NETCDF4_PREFIX="${withval}" + NC_CONFIG="${withval}/bin/nc-config" + fi +else $as_nop + with_netcdf4="yes" + +fi + + +NETCDF4_CC="" +NETCDF4_VERSION="" +NETCDF4_CFLAGS="" +NETCDF4_CPPFLAGS="" +NETCDF4_LDFLAGS="" +NETCDF4_LIBS="" +NETCDF4_FC="" +NETCDF4_FFLAGS="" +NETCDF4_FLIBS="" + +if test "$with_netcdf4" = "yes"; then + if test -z "$NC_CONFIG"; then + for ac_prog in nc-config +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_NC_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $NC_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_NC_CONFIG="$NC_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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_NC_CONFIG="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$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 +NC_CONFIG=$ac_cv_path_NC_CONFIG +if test -n "$NC_CONFIG"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NC_CONFIG" >&5 +printf "%s\n" "$NC_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$NC_CONFIG" && break +done + + NETCDF4_PREFIX=$($as_dirname -- $($as_dirname -- "$NC_CONFIG" || +$as_expr X"$NC_CONFIG" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$NC_CONFIG" : 'X\(//\)[^/]' \| \ + X"$NC_CONFIG" : 'X\(//\)$' \| \ + X"$NC_CONFIG" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$NC_CONFIG" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q') || +$as_expr X$($as_dirname -- "$NC_CONFIG" || +$as_expr X"$NC_CONFIG" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$NC_CONFIG" : 'X\(//\)[^/]' \| \ + X"$NC_CONFIG" : 'X\(//\)$' \| \ + X"$NC_CONFIG" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$NC_CONFIG" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q') : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$($as_dirname -- "$NC_CONFIG" || +$as_expr X"$NC_CONFIG" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$NC_CONFIG" : 'X\(//\)[^/]' \| \ + X"$NC_CONFIG" : 'X\(//\)$' \| \ + X"$NC_CONFIG" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$NC_CONFIG" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q') : 'X\(//\)[^/]' \| \ + X$($as_dirname -- "$NC_CONFIG" || +$as_expr X"$NC_CONFIG" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$NC_CONFIG" : 'X\(//\)[^/]' \| \ + X"$NC_CONFIG" : 'X\(//\)$' \| \ + X"$NC_CONFIG" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$NC_CONFIG" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q') : 'X\(//\)$' \| \ + X$($as_dirname -- "$NC_CONFIG" || +$as_expr X"$NC_CONFIG" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$NC_CONFIG" : 'X\(//\)[^/]' \| \ + X"$NC_CONFIG" : 'X\(//\)$' \| \ + X"$NC_CONFIG" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$NC_CONFIG" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q') : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X$($as_dirname -- "$NC_CONFIG" || +$as_expr X"$NC_CONFIG" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$NC_CONFIG" : 'X\(//\)[^/]' \| \ + X"$NC_CONFIG" : 'X\(//\)$' \| \ + X"$NC_CONFIG" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$NC_CONFIG" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q') | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q') + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Using provided NetCDF4 prefix" >&5 +printf %s "checking Using provided NetCDF4 prefix... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NC_CONFIG" >&5 +printf "%s\n" "$NC_CONFIG" >&6; } + fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for NetCDF4 libraries" >&5 +printf %s "checking for NetCDF4 libraries... " >&6; } + + if test ! -f "$NC_CONFIG" || test ! -x "$NC_CONFIG"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: + +Unable to locate NetCDF4 compilation helper script 'nc-config'. +Please specify --with-netcdf4= as the full path prefix +where NetCDF4 has been installed. +NetCDF4 support is being disabled (equivalent to --with-netcdf4=no). +" >&5 +printf "%s\n" "$as_me: WARNING: + +Unable to locate NetCDF4 compilation helper script 'nc-config'. +Please specify --with-netcdf4= as the full path prefix +where NetCDF4 has been installed. +NetCDF4 support is being disabled (equivalent to --with-netcdf4=no). +" >&2;} + with_netcdf4="no" + with_netcdf4_fortran="no" + else + NETCDF4_CC=$(eval $NC_CONFIG --cc | $AWK '{print $1}') + if test "$NETCDF4_CC" = "ccache"; then + NETCDF4_CC=$(eval $NC_CONFIG --cc | $AWK '{print $2}') + fi + + NETCDF4_VERSION=$(eval $NC_CONFIG --version | $AWK '{print $2}') + + NETCDF4_CFLAGS=$(eval $NC_CONFIG --cflags) + + NETCDF4_tmp_clibs=$(eval $NC_CONFIG --libs) + + for arg in $NETCDF4_tmp_clibs ; do + case "$arg" in + -L*) echo $NETCDF4_LDFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ + || NETCDF4_LDFLAGS="$arg $NETCDF4_LDFLAGS" + ;; + -l*) echo $NETCDF4_LIBS | $GREP -e "$arg" 2>&1 >/dev/null \ + || NETCDF4_LIBS="$arg $NETCDF4_LIBS" + ;; + esac + done + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (version $NETCDF4_VERSION)" >&5 +printf "%s\n" "yes (version $NETCDF4_VERSION)" >&6; } + + if test "$netcdf4_requested_mode" = "parallel" ; then + with_netcdf4_parallel=$(eval $NC_CONFIG --has-pnetcdf) + if test "$with_netcdf4_parallel" = "no" ; then + as_fn_error $? " +parallel NetCDF4 is not supported (while it was requested) +" "$LINENO" 5 + fi + fi + + ax_lib_netcdf4_save_CC=$CC + ax_lib_netcdf4_save_CPPFLAGS=$CPPFLAGS + ax_lib_netcdf4_save_LIBS=$LIBS + ax_lib_netcdf4_save_LDFLAGS=$LDFLAGS + CC=$NETCDF4_CC + CFLAGS=$NETCDF4_CFLAGS + LIBS=$NETCDF4_LIBS + LDFLAGS=$NETCDF4_LDFLAGS + ac_fn_c_check_header_compile "$LINENO" "netcdf.h" "ac_cv_header_netcdf_h" "$ac_includes_default" +if test "x$ac_cv_header_netcdf_h" = xyes +then : + ac_cv_netcdf4_h=yes +else $as_nop + ac_cv_netcdf4_h=no +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for nc_create in -lnetcdf" >&5 +printf %s "checking for nc_create in -lnetcdf... " >&6; } +if test ${ac_cv_lib_netcdf_nc_create+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lnetcdf $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. */ +char nc_create (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return nc_create (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_netcdf_nc_create=yes +else $as_nop + ac_cv_lib_netcdf_nc_create=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_netcdf_nc_create" >&5 +printf "%s\n" "$ac_cv_lib_netcdf_nc_create" >&6; } +if test "x$ac_cv_lib_netcdf_nc_create" = xyes +then : + ac_cv_libnetcdf4=yes +else $as_nop + ac_cv_libnetcdf4=no +fi + + if test "$ac_cv_netcdf4_h" = "no" && \ + test "$ac_cv_libnetcdf4" = "no" ; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unable to compile NetCDF4 test program" >&5 +printf "%s\n" "$as_me: WARNING: Unable to compile NetCDF4 test program" >&2;} + fi + + CC=$ax_lib_netcdf4_save_CC + CFLAGS=$ax_lib_netcdf4_save_CFLAGS + LIBS=$ax_lib_netcdf4_save_LIBS + LDFLAGS=$ax_lib_hdf5_save_LDFLAGS + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for matching NetCDF4 Fortran libraries" >&5 +printf %s "checking for matching NetCDF4 Fortran libraries... " >&6; } + NF_CONFIG="${NETCDF4_PREFIX}/bin/nf-config" + if test ! -f "$NF_CONFIG" || test ! -x "$NF_CONFIG"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + with_netcdf4_fortran="no" + else + NETCDF_FVERSION=$(eval $NF_CONFIG --version | $AWK '{print $2}') + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (version $NETCDF_FVERSION)" >&5 +printf "%s\n" "yes (version $NETCDF_FVERSION)" >&6; } + NETCDF4_FC=$(eval $NF_CONFIG --fc | $AWK '{print $1}') + if test "$NETCDF4_FC" = "ccache"; then + NETCDF4_FC=$(eval $NF_CONFIG --fc | $AWK '{print $2}') + fi + NETCDF4_FFLAGS=$(eval $NC_CONFIG --fflags) + + NETCDF4_tmp_flibs=$(eval $NC_CONFIG --flibs) + + for arg in $NETCDF4_tmp_flibs ; do + case "$arg" in + -L*) echo $NETCDF4_LDFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ + || NETCDF4_LDFLAGS="$arg $NETCDF4_LDFLAGS" + ;; + -l*) echo $NETCDF4_FLIBS | $GREP -e "$arg" 2>&1 >/dev/null \ + || NETCDF4_FLIBS="$arg $NETCDF4_FLIBS" + ;; + esac + done + with_netcdf4_fortran="yes" + fi + + + + + + + + + + +printf "%s\n" "#define HAVE_NETCDF4 1" >>confdefs.h + + 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 + + else + printf "%s\n" "Skipping library detection because we don't have C" + fi + fi + + # This needs to be factored out, because autoconf won't instantiate the compiler + # checks this calls twice, causing the compiler to appear broken even though it + # works. + + + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$SAPPORO_LIGHT_CFLAGS" + amuse_save_LIB_LIBS="$SAPPORO_LIGHT_LIBS" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + 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 + + + # Search for the library, first directly then fall back to pkg-config + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing get_device_count" >&5 +printf %s "checking for library containing get_device_count... " >&6; } +if test ${ac_cv_search_get_device_count+y} +then : + printf %s "(cached) " >&6 +else $as_nop + 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. */ +char get_device_count (); +#ifdef F77_DUMMY_MAIN + +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } + +#endif +int +main (void) +{ +return get_device_count (); + ; + return 0; +} +_ACEOF +for ac_lib in '' sapporo +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_get_device_count=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_get_device_count+y} +then : + break +fi +done +if test ${ac_cv_search_get_device_count+y} +then : + +else $as_nop + ac_cv_search_get_device_count=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_get_device_count" >&5 +printf "%s\n" "$ac_cv_search_get_device_count" >&6; } +ac_res=$ac_cv_search_get_device_count +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + FOUND_SAPPORO_LIGHT="yes" + SAPPORO_LIGHT_LIBS="$LIBS" + SAPPORO_LIGHT_CFLAGS="" + +else $as_nop + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SAPPORO_LIGHT" >&5 +printf %s "checking for SAPPORO_LIGHT... " >&6; } + +if test -n "$SAPPORO_LIGHT_CFLAGS"; then + pkg_cv_SAPPORO_LIGHT_CFLAGS="$SAPPORO_LIGHT_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sapporo_light\""; } >&5 + ($PKG_CONFIG --exists --print-errors "sapporo_light") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_SAPPORO_LIGHT_CFLAGS=`$PKG_CONFIG --cflags "sapporo_light" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$SAPPORO_LIGHT_LIBS"; then + pkg_cv_SAPPORO_LIGHT_LIBS="$SAPPORO_LIGHT_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sapporo_light\""; } >&5 + ($PKG_CONFIG --exists --print-errors "sapporo_light") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_SAPPORO_LIGHT_LIBS=`$PKG_CONFIG --libs "sapporo_light" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + SAPPORO_LIGHT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "sapporo_light" 2>&1` + else + SAPPORO_LIGHT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "sapporo_light" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$SAPPORO_LIGHT_PKG_ERRORS" >&5 + + + FOUND_SAPPORO_LIGHT="no" + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + + FOUND_SAPPORO_LIGHT="no" + +else + SAPPORO_LIGHT_CFLAGS=$pkg_cv_SAPPORO_LIGHT_CFLAGS + SAPPORO_LIGHT_LIBS=$pkg_cv_SAPPORO_LIGHT_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + + FOUND_SAPPORO_LIGHT="yes" + +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 + + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_SAPPORO_LIGHT}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + SAPPORO_LIGHT_CFLAGS="${SAPPORO_LIGHT_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + if test "x$amuse_save_LIB_CFLAGS" != "x" +then : + + SAPPORO_LIGHT_CFLAGS="$amuse_save_LIB_CFLAGS" + +fi + if test "x$amuse_save_LIB_LIBS" != "x" +then : + + SAPPORO_LIGHT_LIBS="$amuse_save_LIB_LIBS" + +fi + + + + + + +fi + +# Create the FEATURES variable used by amuse.mk to decide what we can build + +# This macro adds its first argument to FEATURES if the variable +# in the second argument is defined. + + +# Add the first argument to FEATURES if the variable in the second argument has the +# value specified in the third argument. + + +FEATURES="$ASSUME_FEATURES" + +if test "x" != "x${CC}" +then : + FEATURES="${FEATURES} c" +fi +if test "x" != "x${CXX}" +then : + FEATURES="${FEATURES} c++" +fi +if test "x" != "x${FC}" +then : + FEATURES="${FEATURES} fortran" +fi +if test "x" != "x${JAVAC}" +then : + FEATURES="${FEATURES} java" +fi +if test "x" != "x${PYTHON}" +then : + FEATURES="${FEATURES} python" +fi +if test "x" != "x${PYTHON_DEV}" +then : + FEATURES="${FEATURES} python-dev" +fi +if test "x" != "x${GMAKE}" +then : + FEATURES="${FEATURES} gmake" +fi +if test "x" != "x${CMAKE}" +then : + FEATURES="${FEATURES} cmake" +fi +if test "x" != "x${INSTALL}" +then : + FEATURES="${FEATURES} install" +fi +if test "x" != "x${DOWNLOAD}" +then : + FEATURES="${FEATURES} download" +fi +if test "x" != "x${PATCH}" +then : + FEATURES="${FEATURES} patch" +fi +if test "x" != "x${TAR}" +then : + FEATURES="${FEATURES} tar" +fi +if test "x" != "x${UNZIP}" +then : + FEATURES="${FEATURES} unzip" +fi +if test "x" != "x${GUNZIP}" +then : + FEATURES="${FEATURES} gunzip" +fi +if test "x" != "x${BUNZIP2}" +then : + FEATURES="${FEATURES} bunzip2" +fi +if test "x" != "x${UNXZ}" +then : + FEATURES="${FEATURES} unxz" +fi +if test "x" != "x${PERL}" +then : + FEATURES="${FEATURES} perl" +fi +if test "x" != "x${YACC}" +then : + FEATURES="${FEATURES} bison" +fi +if test "x" != "x${HAVE_MPI}" +then : + FEATURES="${FEATURES} mpi" +fi +if test "x" != "x${HAVE_OPENMP}" +then : + FEATURES="${FEATURES} openmp" +fi +if test "x" != "x${CUDA_TK}" +then : + FEATURES="${FEATURES} cuda" +fi +if test "x${FOUND_OPENCL}" = "xyes" +then : + FEATURES="${FEATURES} opencl" +fi +if test "x" != "x${BLAS_LIBS}" +then : + FEATURES="${FEATURES} blas" +fi +if test "x" != "x${HAVE_LAPACK}" +then : + FEATURES="${FEATURES} lapack" +fi +if test "x" != "x${FOUND_GSL}" +then : + FEATURES="${FEATURES} gsl" +fi +if test "x${FOUND_GMP}" = "xyes" +then : + FEATURES="${FEATURES} gmp" +fi +if test "x${FOUND_MPFR}" = "xyes" +then : + FEATURES="${FEATURES} mpfr" +fi +if test "x${FOUND_FFTW}" = "xyes" +then : + FEATURES="${FEATURES} fftw" +fi +if test "x" != "x${with_hdf5}" +then : + FEATURES="${FEATURES} hdf5" +fi +if test "x${FOUND_NETCDF}" = "xyes" +then : + FEATURES="${FEATURES} netcdf4" +fi +if test "x${FOUND_SAPPORO_LIGHT}" = "xyes" +then : + FEATURES="${FEATURES} sapporo_light" +fi + + + + + + + + + + + + + +ac_config_files="$ac_config_files configuration.sh" + +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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$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+y} || &/ + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$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}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.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=`printf "%s\n" "$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" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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_nop + 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_nop + 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 || +printf "%s\n" 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 + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +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=`printf "%s\n" "$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 || +printf "%s\n" 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 amuse $as_me 1.0, which was +generated by GNU Autoconf 2.71. 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 + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_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 + +Configuration files: +$config_files + +Report bugs to the package provider." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +amuse config.status 1.0 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 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' +AWK='$AWK' +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 ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + printf "%s\n" "$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 + \printf "%s\n" "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 + printf "%s\n" "$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 + "configuration.sh") CONFIG_FILES="$CONFIG_FILES configuration.sh" ;; + + *) 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+y} || CONFIG_FILES=$config_files +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" + + +eval set X " :F $CONFIG_FILES " +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=`printf "%s\n" "$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 '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$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 || +printf "%s\n" 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$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 + # + +_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@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$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 +$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"; } && + { printf "%s\n" "$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 +printf "%s\n" "$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 + ;; + + + + 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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + diff --git a/support/configure.ac b/support/configure.ac new file mode 100644 index 0000000000..3f956f37ec --- /dev/null +++ b/support/configure.ac @@ -0,0 +1,235 @@ +AC_CONFIG_MACRO_DIRS([shared/m4]) +AC_CONFIG_AUX_DIR([shared]) +AC_INIT([amuse], [1.0]) + +AC_CANONICAL_TARGET + +# If we have a Conda environment active, then we're going to do everything via Conda, +# including the dependencies. So in this case, we'll detect installed Conda packages, +# rather than searching the system for libraries in the usual way. +# +# If we're not in a Conda environment, then we'll detect features from the system, and +# hope that the user hasn't made too big a mess of things. +# +# Conda build environments for conda-forge have a different setup than normal Conda +# environments, with different packages, so that the normal Conda mode doesn't work. +# We use the normal detection as well in that case. +if test "x" != "x$CONDA_BUILD" +then + # Conda list doesn't work in conda build environments, and normal detection + # can be problematic because it picks up e.g. compilers from the system. So + # we assume that the conda metadata is correct, and that if it isn't there's + # an expert packager who can fix things. + AS_ECHO(["Conda package build detected, skipping checks for dependencies."]) + ASSUME_FEATURES="c c++ fortran java python tar unzip gunzip bunzip2 unxz bison perl gmake cmake install download mpi openmp cuda opencl blas lapack gsl gmp mpfr fftw hdf5 netcdf4 sapporo_light" + +else + if test "x" != "x$CONDA_DEFAULT_ENV" + then + AS_ECHO([]) + AS_ECHO([' Conda environment active, dependencies will be searched in Conda only,']) + AS_ECHO([' and must be installed via Conda to be detected.']) + AS_ECHO([]) + + # Doesn't have a conda package yet, checked directly below. + # AMUSE_CONDA_PACKAGE(SAPPORO_LIGHT_LIBS, sapporo_light) + + AMUSE_CONDA_LIST() + + if test "x$target_os" == "xlinux-gnu" + then + # CC needs to be a valid compiler for the sapporo check at the end + AMUSE_CONDA_PACKAGE(CC, gcc, gcc) + AMUSE_CONDA_PACKAGE(CXX, gxx) + else + AMUSE_CONDA_PACKAGE(CC, clang) + AMUSE_CONDA_PACKAGE(CXX, clangxx) + fi + AMUSE_CONDA_PACKAGE(FC, gfortran) + AMUSE_CONDA_PACKAGE(JAVAC, openjdk) + AMUSE_CONDA_PACKAGE(PYTHON, python) + AMUSE_CONDA_PACKAGE(PYTHON_DEV, python) + AMUSE_CONDA_PACKAGE(INSTALL, coreutils) + AMUSE_CONDA_PACKAGE(PYTEST, pytest) + + AMUSE_DOWNLOAD() + AC_CHECK_TOOL(PATCH, patch) + AC_CHECK_TOOL(TAR, tar) + AC_CHECK_TOOL(UNZIP, unzip) + AC_CHECK_TOOL(GUNZIP, gunzip) + AC_CHECK_TOOL(BUNZIP2, bunzip2) + AC_CHECK_TOOL(UNXZ, unxz) + AC_PROG_YACC() + AC_CHECK_TOOL(PERL, perl) + + # GMAKE is exported and used by setup, it needs to point to the command + AMUSE_CONDA_PACKAGE(GMAKE, make, make) + AMUSE_CONDA_PACKAGE(CMAKE, cmake) + + AMUSE_CONDA_PACKAGE(HAVE_MPI, mpi) + AMUSE_CONDA_PACKAGE(HAVE_OPENMP, openmp) + HAVE_OPENMP="yes" # conda-forge compilers have openmp built in + AMUSE_CONDA_PACKAGE(CUDA_TK, cuda-toolkit) + AMUSE_CONDA_PACKAGE(FOUND_OPENCL, ocl-icd) + if test "$FOUND_OPENCL" == "no" + then + # ocl-icd is only for Linux, macOS and Windows use this one + AMUSE_CONDA_PACKAGE(FOUND_OPENCL, khronos-opencl-icd-loader) + fi + AMUSE_CONDA_PACKAGE(HAVE_LAPACK, liblapack) + AMUSE_CONDA_PACKAGE(BLAS_LIBS, libblas) + AMUSE_CONDA_PACKAGE(FOUND_GSL, gsl) + AMUSE_CONDA_PACKAGE(FOUND_GMP, gmp) + AMUSE_CONDA_PACKAGE(FOUND_MPFR, mpfr) + AMUSE_CONDA_PACKAGE(FOUND_FFTW, fftw) + AMUSE_CONDA_PACKAGE(with_hdf5, hdf5) + AMUSE_CONDA_PACKAGE(FOUND_NETCDF, netcdf4) + + # Export conda list output so setup doesn't have to rerun it to detect pip and wheel + CONDA_LIST="$amuse_conda_list" + AC_SUBST(CONDA_LIST) + + else + AS_ECHO(['No Conda environment active, detecting dependencies from the system']) + + # The standard compiler checks AC_PROG_* crash if the compiler is not found, which + # is not what we want here. Also, we only support specific compilers. So we use + # AC_CHECK_TOOL instead. If the user sets the corresponding variable explicitly, + # then this will just assume that it's a working compiler. + if test "x$target_os" == "xlinux-gnu" + then + AC_CHECK_TOOL(CC, gcc) + AC_CHECK_TOOL(CXX, g++) + else + AC_CHECK_TOOL(CC, clang) + AC_CHECK_TOOL(CXX, clang++) + fi + AC_CHECK_TOOL(FC, gfortran) + AC_CHECK_TOOL(JAVAC, javac) + AC_CHECK_TOOL(PYTHON, python3) + AC_CHECK_TOOL(PYTHON_DEV, python3-config) + AC_CHECK_TOOL(INSTALL, install) + AC_CHECK_TOOL(PYTEST, pytest) + + # Not all compilers have a f77 symlink, so if you have more than one installed, + # you risk getting gcc and gfortran from one, and f77 from another, and then we + # crash on a link error when runnig AX_LAPACK() below. So we set f77 to be the same + # as FC, and avoid that problem, hopefully not causing any others... + F77=${FC} + + AC_CHECK_TOOL(APT, apt) + AC_CHECK_TOOL(DNF, dnf) + AC_CHECK_TOOL(MACPORTS, port) + AC_CHECK_TOOL(HOMEBREW, brew) + + AMUSE_DOWNLOAD() + AC_CHECK_TOOL(PATCH, patch) + AC_CHECK_TOOL(TAR, tar) + AC_CHECK_TOOL(UNZIP, unzip) + AC_CHECK_TOOL(GUNZIP, gunzip) + AC_CHECK_TOOL(BUNZIP2, bunzip2) + AC_CHECK_TOOL(UNXZ, unxz) + AC_PROG_YACC() + AC_CHECK_TOOL(PERL, perl) + + AX_CHECK_GNU_MAKE([GMAKE=$ax_cv_gnu_make_command]) + AC_CHECK_TOOL(CMAKE, cmake) + + if test "x" != "x$CC" + then + # These tests require compiling things, so we need the compiler + AC_PROG_CC() + AC_LANG_PUSH([C]) + + AX_MPI([HAVE_MPI="yes"]) + AX_OPENMP([HAVE_OPENMP="yes"]) + AMUSE_CUDA() + AMUSE_OPENCL() + + # Avoid AX_BLAS crashing out due to lack of compilers + if test "x" != "x$FC" + then + AX_LAPACK([HAVE_LAPACK=yes]) # calls AX_BLAS automatically + else + AS_ECHO(["Skipping LAPACK/BLAS detection because we don't have Fortran"]) + fi + + AX_PATH_GSL(1.0, [FOUND_GSL=yes]) + AX_GMP() + AX_MPFR() + AX_FFTW() + AX_LIB_HDF5() + AX_LIB_NETCDF4() + + AC_LANG_POP([C]) + else + AS_ECHO(["Skipping library detection because we don't have C"]) + fi + fi + + # This needs to be factored out, because autoconf won't instantiate the compiler + # checks this calls twice, causing the compiler to appear broken even though it + # works. + AMUSE_LIB_SAPPORO_LIGHT() +fi + +# Create the FEATURES variable used by amuse.mk to decide what we can build + +# This macro adds its first argument to FEATURES if the variable +# in the second argument is defined. +m4_define([ENABLE_FEATURE_IF_DEFINED], + [AS_IF([test "x" != "x${$2}"], [FEATURES="${FEATURES} $1"])]) + +# Add the first argument to FEATURES if the variable in the second argument has the +# value specified in the third argument. +m4_define([ENABLE_FEATURE_IF_EQUALS], + [AS_IF([test "x${$2}" = "x$3"], [FEATURES="${FEATURES} $1"])]) + +FEATURES="$ASSUME_FEATURES" + +ENABLE_FEATURE_IF_DEFINED([c], [CC]) +ENABLE_FEATURE_IF_DEFINED([c++], [CXX]) +ENABLE_FEATURE_IF_DEFINED([fortran], [FC]) +ENABLE_FEATURE_IF_DEFINED([java], [JAVAC]) +ENABLE_FEATURE_IF_DEFINED([python], [PYTHON]) +ENABLE_FEATURE_IF_DEFINED([python-dev], [PYTHON_DEV]) +ENABLE_FEATURE_IF_DEFINED([gmake], [GMAKE]) +ENABLE_FEATURE_IF_DEFINED([cmake], [CMAKE]) +ENABLE_FEATURE_IF_DEFINED([install], [INSTALL]) +ENABLE_FEATURE_IF_DEFINED([download], [DOWNLOAD]) +ENABLE_FEATURE_IF_DEFINED([patch], [PATCH]) +ENABLE_FEATURE_IF_DEFINED([tar], [TAR]) +ENABLE_FEATURE_IF_DEFINED([unzip], [UNZIP]) +ENABLE_FEATURE_IF_DEFINED([gunzip], [GUNZIP]) +ENABLE_FEATURE_IF_DEFINED([bunzip2], [BUNZIP2]) +ENABLE_FEATURE_IF_DEFINED([unxz], [UNXZ]) +ENABLE_FEATURE_IF_DEFINED([perl], [PERL]) +ENABLE_FEATURE_IF_DEFINED([bison], [YACC]) +ENABLE_FEATURE_IF_DEFINED([mpi], [HAVE_MPI]) +ENABLE_FEATURE_IF_DEFINED([openmp], [HAVE_OPENMP]) +ENABLE_FEATURE_IF_DEFINED([cuda], [CUDA_TK]) +ENABLE_FEATURE_IF_EQUALS([opencl], [FOUND_OPENCL], [yes]) +ENABLE_FEATURE_IF_DEFINED([blas], [BLAS_LIBS]) +ENABLE_FEATURE_IF_DEFINED([lapack], [HAVE_LAPACK]) +ENABLE_FEATURE_IF_DEFINED([gsl], [FOUND_GSL]) +ENABLE_FEATURE_IF_EQUALS([gmp], [FOUND_GMP], [yes]) +ENABLE_FEATURE_IF_EQUALS([mpfr], [FOUND_MPFR], [yes]) +ENABLE_FEATURE_IF_EQUALS([fftw], [FOUND_FFTW], [yes]) +ENABLE_FEATURE_IF_DEFINED([hdf5], [with_hdf5]) +ENABLE_FEATURE_IF_EQUALS([netcdf4], [FOUND_NETCDF], [yes]) +ENABLE_FEATURE_IF_EQUALS([sapporo_light], [FOUND_SAPPORO_LIGHT], [yes]) + +AC_SUBST(GMAKE) +AC_SUBST(PYTEST) + +AC_SUBST(APT) +AC_SUBST(DNF) +AC_SUBST(MACPORTS) +AC_SUBST(HOMEBREW) + +AC_SUBST(FEATURES) + +AC_SUBST(CONDA_LIST) + +AC_CONFIG_FILES([configuration.sh]) +AC_OUTPUT diff --git a/support/generate_main.py b/support/generate_main.py deleted file mode 100644 index 6d088aa066..0000000000 --- a/support/generate_main.py +++ /dev/null @@ -1,62 +0,0 @@ -__revision__ = "$Id:$" - -import sys, os, re, subprocess,stat - -from stat import ST_MODE -from distutils import sysconfig -from distutils.core import Command -from distutils.dep_util import newer -from distutils.util import convert_path -from distutils import log - -class generate_main(Command): - - description = "generate shell script to run amuse" - - user_options = [ - ('amuse-dir=', 'd', "root directory of the amuse project"), - ] - - def initialize_options (self): - self.amuse_dir = None - - def finalize_options (self): - if self.amuse_dir is None: - self.amuse_dir =os.path.dirname(os.path.dirname(__file__)) - - def get_source_files(self): - return self.latex_documents - - def run (self): - test_directory = os.path.join(self.amuse_dir, 'test') - src_directory = os.path.join(self.amuse_dir, 'src') - - with open('amuse.sh','w') as script_file: - script_file.write('#!/bin/sh') - script_file.write('\n\n') - script_file.write('export PYTHONPATH=${PYTHONPATH}') - for x in [test_directory, src_directory]: - script_file.write(':') - script_file.write(x) - - script_file.write('\n') - script_file.write('export AMUSE_DIR=') - script_file.write(self.amuse_dir) - script_file.write('\n') - script_file.write(sys.executable) - script_file.write(' "$@"\n') - os.chmod('amuse.sh', stat.S_IREAD | stat.S_IWRITE | stat.S_IEXEC) - - with open('iamuse.sh','w') as script_file: - script_file.write('#!/usr/bin/env python') - script_file.write('\n\n') - script_file.write('import IPython.Shell\n') - script_file.write('import sys\n') - for x in [test_directory, src_directory]: - script_file.write("sys.path.append('{0}')\n".format(x)) - script_file.write('amuse_root_dir = "') - script_file.write(self.amuse_dir) - script_file.write('"\n') - script_file.write('IPython.Shell.start().mainloop()\n') - os.chmod('iamuse.sh', stat.S_IREAD | stat.S_IWRITE | stat.S_IEXEC) - diff --git a/support/getsp.class b/support/getsp.class deleted file mode 100644 index 76e0581bad..0000000000 Binary files a/support/getsp.class and /dev/null differ diff --git a/support/getsp.java b/support/getsp.java deleted file mode 100644 index 76b293d9b9..0000000000 --- a/support/getsp.java +++ /dev/null @@ -1,32 +0,0 @@ -public class getsp { - public static void main(String[] args) { - if (args!=null && args.length>0) { - if (args[0].compareTo("-test")==0) { - System.out.println("Test1234OK"); - } else - if (args[0].compareTo("-libs")==0) { - String prefix="-L"; - if (args.length>1) prefix=args[1]; - String lp=System.getProperty("java.library.path"); - // we're not using StringTokenizer in case the JVM is very crude - int i=0,j,k=0; - String r=null; - String pss=System.getProperty("path.separator"); - char ps=':'; - if (pss!=null && pss.length()>0) ps=pss.charAt(0); - j=lp.length(); - while (i<=j) { - if (i==j || lp.charAt(i)==ps) { - String lib=lp.substring(k,i); - k=i+1; - if (lib.compareTo(".")!=0) - r=(r==null)?(prefix+lib):(r+" "+prefix+lib); - } - i++; - } - if (r!=null) System.out.println(r); - } else - System.out.println(System.getProperty(args[0])); - } - } -} diff --git a/support/logs/.gitignore b/support/logs/.gitignore new file mode 100644 index 0000000000..d6b7ef32c8 --- /dev/null +++ b/support/logs/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/support/misc.py b/support/misc.py deleted file mode 100644 index 2a0758e6ca..0000000000 --- a/support/misc.py +++ /dev/null @@ -1,42 +0,0 @@ -import sys -import re -import os -import fnmatch - -from os import walk as py_walk -def walk(top, callback, args): - for root, dirs, files in py_walk(top): - callback(args, root, files) - -def find_data_files(srcdir, destdir, *wildcards, **kw): - """ - get a list of all files under the srcdir matching wildcards, - returned in a format to be used for install_data - """ - def walk_helper(arg, dirname, files): - if '.svn' in dirname: - return - names = [] - lst, wildcards, dirnameconverter, destdir = arg - for wc in wildcards: - wc_name = os.path.normpath(os.path.join(dirname, wc)) - for f in files: - filename = os.path.normpath(os.path.join(dirname, f)) - - if fnmatch.fnmatch(filename, wc_name) and not os.path.isdir(filename): - names.append(filename) - if names: - destdirname = dirnameconverter.sub(destdir, dirname) - lst.append((destdirname, names)) - - file_list = [] - recursive = kw.get('recursive', True) - converter = re.compile('^({0})'.format(srcdir)) - - if recursive: - walk(srcdir, walk_helper, (file_list, wildcards, converter, destdir)) - else: - walk_helper((file_list, wildcards, converter, destdir), - srcdir, - [os.path.basename(f) for f in glob.glob(os.path.join(srcdir, '*'))]) - return file_list diff --git a/support/setup/dependencies.sh b/support/setup/dependencies.sh new file mode 100644 index 0000000000..960ce3ecf6 --- /dev/null +++ b/support/setup/dependencies.sh @@ -0,0 +1,77 @@ +# Dependencies +# +# These should list all the packages required to make the following available, +# including development headers. +# +# - GCC C compiler +# - GCC C++ compiler +# - GCC Fortran compiler +# - coreutils +# - Python 3 +# - PkgConfig +# - wget or curl +# - patch +# - GNU tar +# - unzip +# - gunzip +# - bunzip2 +# - unxz +# - Perl +# - bison +# - CMake +# - OpenMPI (or another implementation) +# - GNU Scientific Library +# - FFTW3 +# - GNU MP +# - GNU MPFR +# - HDF5 +# - NetCDF4 +# - BLAS +# - LAPACK + +# MESA r15140 fails its tests when compiled with gfortran 14 + +DEPS_conda="c-compiler cxx-compiler fortran-compiler 'gfortran<14' python pkgconfig" +DEPS_conda="${DEPS_conda} coreutils patch" +DEPS_conda="${DEPS_conda} curl tar unzip gzip bzip2 xz perl bison make cmake openmpi" +DEPS_conda="${DEPS_conda} gsl fftw gmp mpfr hdf5 netcdf4 libopenblas liblapack zlib" +DEPS_conda="${DEPS_conda} 'docutils>=0.6' 'mpi4py>=1.1.0' 'numpy>=1.2.2' 'h5py>=1.1.0'" + +DEPS_macports="gcc12 python312 pkgconfig curl gpatch gnutar unzip gzip bzip2 xz perl5" +DEPS_macports="${DEPS_macports} gmake cmake openmpi-gcc12 gsl fftw-3 gmp mpfr hdf5" +DEPS_macports="${DEPS_macports} netcdf netcdf-fortran openblas lapack" + +DEPS_POST_macports=" + +sudo port select --set gcc mp-gcc12 +sudo port select --set python3 python312 +sudo port select --set mpi openmpi-gcc12-fortran +" + +DEPS_homebrew="gcc@13 python pkg-config curl gpatch gnu-tar unzip gzip" +DEPS_homebrew="${DEPS_homebrew} bzip2 xz" +DEPS_homebrew="${DEPS_homebrew} perl bison make cmake open-mpi gsl fftw gmp mpfr hdf5" +DEPS_homebrew="${DEPS_homebrew} netcdf netcdf-cxx netcdf-fortran openblas lapack" + +DEPS_apt="gcc g++ gfortran python3 python3-dev pkg-config curl patch tar unzip gzip" +DEPS_apt="${DEPS_apt} bzip2 xz-utils" +DEPS_apt="${DEPS_apt} perl bison make cmake libopenmpi-dev openmpi-bin" +DEPS_apt="${DEPS_apt} libgsl-dev libfftw3-dev libgmp3-dev libmpfr6" +DEPS_apt="${DEPS_apt} libmpfr-dev libhdf5-dev hdf5-tools libnetcdf-dev" +DEPS_apt="${DEPS_apt} liblapack-dev libblas-dev" + +DEPS_dnf="gcc gcc-c++ gcc-gfortran python3 python3-devel pkgconf-pkg-config curl patch" +DEPS_dnf="${DEPS_dnf} tar unzip gzip" +DEPS_dnf="${DEPS_dnf} bzip2 xz perl-core bison make cmake openmpi-devel" +DEPS_dnf="${DEPS_dnf} gsl-devel fftw-devel gmp-devel mpfr-devel hdf5-devel netcdf-devel" +DEPS_dnf="${DEPS_dnf} netcdf-cxx-devel netcdf-fortran-devel blas-devel lapack-devel" + + +# Help messages for the user, used by help.sh + +CONDA_CMDS="${BOLD}conda install -c conda-forge ${DEPS_conda}${END_BOLD}\n" +MACPORTS_CMDS="${BOLD}sudo port install ${DEPS_macports}\n${DEPS_POST_macports}${END_BOLD}\n" +HOMEBREW_CMDS="${BOLD}brew install ${DEPS_homebrew}${END_BOLD}\n" +APT_CMDS="${BOLD}sudo apt install ${DEPS_apt}${END_BOLD}\n" +DNF_CMDS="${BOLD}sudo dnf install ${DEPS_dnf}${END_BOLD}\n" + diff --git a/support/setup/environment.sh b/support/setup/environment.sh new file mode 100644 index 0000000000..4f85563a9b --- /dev/null +++ b/support/setup/environment.sh @@ -0,0 +1,241 @@ +# Create a three-character prefix showing whether a package is installed or not. +# +is_installed() { + installed_name=$(installed_package_name "$1") + if is_subset "${installed_name}" "${INSTALLED_PACKAGES}" ; then + printf 'i) ' + else + printf ' ' + fi +} + + +# Detect any active Conda or venv environments +# +# This uses the following variables: +# +# CONDA_LIST - output of conda list, as set by the configure script, for improved +# performance. +# +# This sets the following variables only if an environment is detected: +# +# ENV_TYPE - either "virtualenv" or "conda" +# ENV_NAME - name of the environment +# ENV_LIBRARY_PATH - location of /lib directory +# +detect_environments() { + if [ "a${VIRTUAL_ENV}" != "a" ] ; then + ENV_TYPE="virtualenv" + ENV_NAME="${VIRTUAL_ENV}" + fi + + if [ "a${CONDA_DEFAULT_ENV}" != "a" ] ; then + ENV_TYPE="conda" + ENV_NAME="${CONDA_DEFAULT_ENV}" + fi +} + + +# Detect installed packages +# +# Finds installed packages, and checks that pip and wheel are installed, and if in a +# Conda environment, that they were installed using conda and not pip. +# +# This uses the following variables: +# +# ENV_TYPE - see detect_environments() +# +# This sets the following variables: +# +# INSTALLED_PACKAGES - space-separated names of installed packages +# HAVE_PYPI_PIP - if pip is installed from PyPI in a conda environment +# HAVE_PYPI_WHEEL - if wheel is installed from PyPI in a conda environment +# HAVE_PIP - if pip is installed correctly for the current environment +# HAVE_WHEEL - if wheel is installed correctly for the current environment +# +detect_installed_packages() { + if [ "a${ENV_TYPE}" = "avirtualenv" ] ; then + INSTALLED_PACKAGES="$(python -m pip list | tail -n +3 | cut -d ' ' -f 1)" + HAVE_PIP=$(python -m pip list | grep '^pip') + HAVE_WHEEL=$(python -m pip list | grep '^wheel') + fi + + if [ "a${ENV_TYPE}" = "aconda" ] ; then + INSTALLED_PACKAGES="$(echo "${CONDA_LIST}" | tr '^' '\n' | grep -v '^#.*' | cut -d ' ' -f 1)" + + HAVE_PYPI_PIP=$(echo "${CONDA_LIST}" | tr '^' '\n' | grep pypi | grep '^pip') + HAVE_PYPI_WHEEL=$(echo "${CONDA_LIST}" | tr '^' '\n' | grep pypi | grep '^wheel') + + HAVE_PIP=$(echo "${CONDA_LIST}" | tr '^' '\n' | grep -v pypi | grep '^pip') + HAVE_WHEEL=$(echo "${CONDA_LIST}" | tr '^' '\n' | grep -v pypi | grep '^wheel') + fi + + if is_subset "sapporo_light" "${FEATURES}" ; then + # with a dash because is_installed converts before searching + INSTALLED_PACKAGES="${INSTALLED_PACKAGES} sapporo-light" + fi +} + + +# Determine if we have the required features to build the framework +# +# This uses the following variables: +# +# FEATURES - from configure +# +# This sets the following variables: +# +# ENABLED_PACKAGES - adds amuse-framework if all requirements are met +# ENABLED_PACKAGES_TEXT - adds amuse-framework if all requirements are met +# DISABLED_PACKAGES - adds amuse-framework if features are missing +# DISABLED_PACKAGES_TEXT - adds amuse-framework if features are missing +# +check_build_framework() { + missing_features=$(filter_out "${FEATURES}" "c c++ fortran python python-dev install mpi") + + if [ "a${missing_features}" = "a" ] ; then + installed="$(is_installed amuse-framework)" + ENABLED_PACKAGES="${ENABLED_PACKAGES}amuse-framework " + ENABLED_PACKAGES_TEXT="${ENABLED_PACKAGES_TEXT}${installed}amuse-framework\n" + else + DISABLED_PACKAGES="${DISABLED_PACKAGES}amuse-framework " + DISABLED_PACKAGES_TEXT="${DISABLED_PACKAGES_TEXT}amuse-framework (missing features:${COLOR_RED}${missing_features}${COLOR_END})\n" + fi +} + + +# Determine if we have the required features to build Sapporo Light +# +# This uses the following variables: +# +# FEATURES - from configure +# +# This sets the following variables: +# +# ENABLED_PACKAGES - adds sapporo_light if all requirements are met +# ENABLED_PACKAGES_TEXT - adds sapporo_light if all requirements are met +# DISABLED_PACKAGES - adds sapporo_light if features are missing +# DISABLED_PACKAGES_TEXT - adds sapporo_light if features are missing +# +check_build_sapporo_light() { + missing_features=$(filter_out "${FEATURES}" "c c++ install cuda") + if [ "a${missing_features}" = "a" ] ; then + installed="$(is_installed sapporo_light)" + ENABLED_PACKAGES="${ENABLED_PACKAGES}sapporo_light " + ENABLED_PACKAGES_TEXT="${ENABLED_PACKAGES_TEXT}${installed}sapporo_light\n" + else + DISABLED_PACKAGES="${DISABLED_PACKAGES}sapporo_light " + DISABLED_PACKAGES_TEXT="${DISABLED_PACKAGES_TEXT}sapporo_light (missing features:${COLOR_RED}${missing_features}${COLOR_END})\n" + fi +} + + +# Check which packages can be built with the available dependencies +# +# This uses the following variables: +# +# FEATURES - from configure +# +# This sets the following variables: +# +# EXTANT_PACKAGES - adds all packages that exist +# ENABLED_PACKAGES - adds packages for which all requirements are met +# ENABLED_PACKAGES_TEXT - adds packages for which all requirements are met +# DISABLED_PACKAGES - adds packages for which features are missing +# DISABLED_PACKAGES_TEXT - adds packages for which features are missing +# BROKEN_PACKAGES - adds packages that are broken (issue_x dependency) +# NEEDS_SAPPORO_LIGHT - adds packages that need sapporo_light +# +find_packages() { + for code in src/amuse_* ; do + for dep_file in "${code}"/packages/*.amuse_deps ; do + # If no file matches, the loop will still run with the pattern as dep_file + if [ ! -f "$dep_file" ] ; then + continue + fi + package=$(basename "${dep_file}" .amuse_deps) + deps=$(cat "${dep_file}") + deps="amuse-framework gmake mpi ${deps}" + missing_features=$(filter_out "${FEATURES}" "${deps}") + missing_features=$(filter_out "${ENABLED_PACKAGES}" "${missing_features}") + + if is_subset "sapporo_light" "${deps}" ; then + NEEDS_SAPPORO_LIGHT="${NEEDS_SAPPORO_LIGHT} ${package}" + fi + + EXTANT_PACKAGES="${EXTANT_PACKAGES} ${package}" + + if [ "a${missing_features}" = "a" ] ; then + installed="$(is_installed ${package})" + ENABLED_PACKAGES="${ENABLED_PACKAGES}${package} " + ENABLED_PACKAGES_TEXT="${ENABLED_PACKAGES_TEXT}${installed}${package}\n" + elif has_issue "${missing_features}" ; then + BROKEN_PACKAGES_TEXT="${BROKEN_PACKAGES_TEXT}${package} (reference:${COLOR_RED}${missing_features}${COLOR_END})\n" + else + DISABLED_PACKAGES="${DISABLED_PACKAGES}${package} " + DISABLED_PACKAGES_TEXT="${DISABLED_PACKAGES_TEXT}${package} (missing features:${COLOR_RED}${missing_features}${COLOR_END})\n" + fi + done + done +} + + +# Analyse the environment and set variables +# +# This checks if we have an environment and if pip and wheel are available, detects +# installed packages, checks whether we can build the framework and sapporo_light and +# then finds which other packages can be installed. +# +# This uses the following variables: +# +# CONDA_LIST - output of conda list, as set by the configure script, for improved +# performance. +# +# This sets the following variables only if an environment is detected: +# +# ENV_TYPE - either "virtualenv" or "conda" +# ENV_NAME - name of the environment +# ENV_LIBRARY_PATH - location of /lib directory +# HAVE_PYPI_PIP - if pip is installed from PyPI in a conda environment +# HAVE_PYPI_WHEEL - if wheel is installed from PyPI in a conda environment +# HAVE_PIP - if pip is installed correctly for the current environment +# HAVE_WHEEL - if wheel is installed correctly for the current environment +# +# And additionally it sets: +# +# INSTALLED_PACKAGES - space-separated names of installed packages +# ENABLED_PACKAGES - list of packages that can be installed +# ENABLED_PACKAGES_TEXT - printable description of packages that can be installed +# DISABLED_PACKAGES - list of packages that can not be installed +# DISABLED_PACKAGES_TEXT - printable description of packages that can not be installed +# +analyse_environment() { + detect_environments + detect_installed_packages + check_build_framework + check_build_sapporo_light + find_packages +} + + +# Checks for any environment variables that may conflict with the build +check_shell_environment() { + if [ "a${ENV_TYPE}" = "aconda" ] ; then + # There's a whole lot of OMPI_ variables and we don't want to check them all one + # by one. So we do it like this. Note that OMPI_MCA_ variables are often needed + # to get MPI to work correctly, and setting them doesn't affect the compiler, so + # we allow those. + ompi_vars="$(env | grep '^OMPI_' | grep -v '^OMPI_MCA_' 2>/dev/null)" + ompi_var_names="$(printf '%s' "${ompi_vars}" | cut -d '=' -f 1 | tr '\n' ' ')" + if [ "a${ompi_vars}" != "a" ] ; then + printf '%b\n' "${COLOR_RED}Warning:${COLOR_END} The following shell variables are set, and may" + printf '%s\n' "interfere with the build:" + printf '\n%s\n\n' "${ompi_vars}" + printf '%s\n' "When installing with Conda, we use Conda-installed tools" + printf '%s\n' "and MPI, and the OMPI_* variables are not needed and will" + printf '%s\n' "confuse the build system. Please unset them using" + printf '\n%s\n\n' " unset ${ompi_var_names}" + fi + fi +} + diff --git a/support/setup/format.sh b/support/setup/format.sh new file mode 100644 index 0000000000..937e002755 --- /dev/null +++ b/support/setup/format.sh @@ -0,0 +1,15 @@ +# Color output support +COLOR_RED='\e[1;31m' +COLOR_GREEN='\e[1;32m' +COLOR_MAGENTA='\e[1;35m' +COLOR_CYAN='\e[1;36m' +COLOR_YELLOW='\e[1;33m' + +COLOR_END='\e[0m' + +BOLD='\e[1m' +END_BOLD='\e[22m' + +ITALIC='\e[3m' +END_ITALIC='\e[23m' + diff --git a/support/setup/help.sh b/support/setup/help.sh new file mode 100644 index 0000000000..576b98afbf --- /dev/null +++ b/support/setup/help.sh @@ -0,0 +1,278 @@ +. support/setup/format.sh +. support/setup/util.sh +. support/setup/dependencies.sh + + +print_invalid_command() { + cmd="$1" + + printf '\n%b\n' "${COLOR_RED}\"${cmd}\" was not recognised as a valid command.${COLOR_END}" + printf '\n%s\n' 'Try' + printf '\n%s\n' ' ./setup help' + printf '\n%s\n' 'to see all available commands.' +} + + +print_help() { + printf '\n%b\n' "${BOLD}${COLOR_CYAN}*** AMUSE setup help ***${COLOR_END}${END_BOLD}" + + printf '%b\n' " +This setup script will help you install AMUSE and its various components from source. +It must always be called from the directory it is in, as ${BOLD}./setup${END_BOLD}. + +To get started quickly, just type ${BOLD}./setup${END_BOLD}, press Enter, and follow the instructions. + +Here follows an overview of all supported commands. + +${BOLD}Guided setup${END_BOLD} + + ./setup + +This will check whether you have an environment active, whether it is set up correctly, +and whether required dependencies are installed. It will then give suggestions for how +to accomplish these things and install AMUSE. + +${BOLD}Installing AMUSE${END_BOLD} + + ./setup install all + +Builds and installs the framework and then all enabled packages into the active +environment. + + ./setup install amuse-framework + +Builds and installs only the framework into the active environment. + + ./setup install sapporo_light + +Builds and installs the Sapporo light GPU nbody library into the active environment. + + ./setup install ${ITALIC}package1 package2...${END_ITALIC} + +Builds and installs specific package(s) into the active environment. Any number of +packages can be specified. + +${BOLD}Developing AMUSE${END_BOLD} + + ./setup develop amuse-framework + +Builds and installs the AMUSE framework in develop mode, as an editable install, into +the active environment. + + ./setup develop ${ITALIC}package1 package2...${END_ITALIC} + +Builds and installs a specific package in develop mode, as an editable install, into +the active environment. + + ./setup test all + +Runs tests for the framework and all enabled packages. This requires those packages to +be installed in the active environment. + + ./setup test amuse-framework + +Runs tests for the framework. This requires the framework to be installed in the active +environment. + + ./setup test amuse-ext + +Runs tests for the amuse.ext scripts, and regression ('ticket') tests. This requires the +framework to be installed as well as (currently) bhtree, evtwin, fi, fractalcluster, +gadget2, galactics, halogen, hermite, hop, kepler, mesa-r14150, ph4, phigrape, seba, and +sse. + + ./setup test ${ITALIC}package1 package2...${END_ITALIC} + +Runs tests for the specified package(s). This requires each package to be installed in +the active environment. + + ./setup clean + +Cleans up all the compiled code for both the framework and the community codes, so that +you can (and have to!) rebuild everything from scratch. + + ./setup distclean + +Like clean, but also cleans up any built-in dependencies that get built for some +community codes. Note that this does not remove downloaded files. +" +} + + +print_environment_step() { + printf '%b\n' "${BOLD}${COLOR_YELLOW}* (1/4) Create and activate an environment *${COLOR_END}${END_BOLD} + +To install any packages, you need to create and activate a Conda environment +or a Python virtualenv. If you have an environment into which you'd like to +install AMUSE, you should activate it now. To create a new Conda environment, +use + + conda create -n Amuse-env + +Then you activate it using + + conda activate Amuse-env + +You can name the environment anything you like instead of my-amuse-env. + +To create a Python virtualenv, use + + python3 -m venv venv + +Then you can activate it using + + source venv/bin/activate + +You can put the environment anywhere you like, but do make sure that the +directory it will be in exists, or you'll get an error message. + +Once you have an environment active, type + + ./setup + +again to continue." +} + + +print_pip_wheel_step() { + printf '%b\n' "${BOLD}${COLOR_YELLOW}* (2/4) Install pip and wheel *${COLOR_END}${END_BOLD} + +Installation is disabled due to a lack of the right pip and/or wheel in the +environment. You can enable AMUSE installation by (correctly) installing pip and wheel. + +To do that, use +" + + if [ "a${ENV_TYPE}" = "avirtualenv" ] ; then + printf ' %s\n' 'python3 -m pip install pip wheel' + elif [ "a${ENV_TYPE}" = "aconda" ] ; then + if [ "a${HAVE_PYPI_WHEEL}" != "a" ] ; then + printf ' %s\n' 'python3 -m pip uninstall wheel' + fi + if [ "a${HAVE_PYPI_PIP}" != "a" ] ; then + printf ' %s\n' 'python3 -m pip uninstall pip' + fi + printf ' %s\n' 'conda install -c conda-forge pip wheel' + fi + + printf '\n%b\n' "and then run + + ./setup + +again to continue." +} + + +print_enable_packages_step() { + printf '%b\n' "${BOLD}${COLOR_YELLOW}* (3/4) Enable more packages *${COLOR_END}${END_BOLD} + +Some packages are disabled due to missing features. You can enable more packages by +installing additional software. Some software does require specific hardware, for +example CUDA requires an nVidia GPU to work. If you have one, see +https://amuse.readthedocs.io/en/latest/install/cuda.html for help installing CUDA to +enable those packages." + + if [ "a${ENV_TYPE}" = "aconda" ] ; then + printf '%b\n' " +To install the dependencies using conda, use + +${CONDA_CMDS} +" + elif [ "a${ENV_TYPE}" = "avirtualenv" ] ; then + if [ "a${MACPORTS}" != "a" ] ; then + printf '%b\n' " +We seem to be running on a Mac with MacPorts installed. To install the dependencies +system-wide using MacPorts, use + +${MACPORTS_CMDS} +" + elif [ "a${HOMEBREW}" != "a" ] ; then + printf '%b\n' " +We seem to be running on a Mac with Homebrew installed. To install the dependencies +system-wide using Homebrew, use + +${HOMEBREW_CMDS} +" + elif [ "a${APT}" != "a" ] ; then + printf '%b\n' " +We seem to be running on Ubuntu or a similar Linux distribution that uses APT. +To install the dependencies system-wide using apt, use + +${APT_CMDS} +" + elif [ "a${DNF}" != "a" ] ; then + printf '%b\n' " +We seem to be running on RedHat or a similar Linux distribution that uses DNF. +To install the dependencies system-wide using DNF, use + +${DNF_CMDS} +" + fi + fi +} + + +print_install_amuse_step() { + printf '%b\n' "${BOLD}${COLOR_YELLOW}* (4/4) Install AMUSE *${COLOR_END}${END_BOLD} + +To install the AMUSE framework and all of the enabled packages into the active +${ENV_TYPE} environment ${BOLD}${ENV_NAME}${END_BOLD}, type + + ./setup install all + +To install only the AMUSE framework, you can use + + ./setup install amuse-framework + +To install a specific package, you can use + + ./setup install amuse-bhtree + +or whichever package you want to install, as long as it's enabled. + +There are some more commands available, use + + ./setup help + +to show a complete overview. +" +} + + +print_getting_help() { + printf '%s\n\n' 'This is not supposed to happen!' + printf '%s\n' 'Please contact the developers on Slack or make an issue on GitHub,' + printf '%s\n\n' 'so that we can fix this together.' + printf '%s\n' 'https://amusecode.slack.com' + printf '%s\n' 'https://github.com/amusecode/amuse/issues/new/choose' +} + + +print_install_failure() { + package="$1" + log_file="$2" + + printf '\n%b\n\n' "${COLOR_RED}${package} failed to build and install correctly.${COLOR_END}" + print_getting_help + printf '\n%s\n' "The output of the installation process was logged to $2" +} + + +print_test_failure() { + package="$1" + log_file="$2" + + printf '\n%b\n\n' "${COLOR_RED}${package} failed its tests.${COLOR_END}" + print_getting_help +} + + +print_uninstall_failure() { + package="$1" + log_file="$2" + + printf '\n%b\n\n' "${COLOR_RED}${package} failed to uninstall correctly.${COLOR_END}" + print_getting_help + printf '\n%s\n' "The output of the uninstallation process was logged to $2" +} + diff --git a/support/setup/installing.sh b/support/setup/installing.sh new file mode 100644 index 0000000000..102f6f05cf --- /dev/null +++ b/support/setup/installing.sh @@ -0,0 +1,399 @@ +# Check whether the basic conditions for installing things are met +# +# This checks for an environment with pip and wheel, and quits with an error if they're +# not available. +# +# Args: +# target: Target the user wants to install +# +check_install() { + target="$1" + + if [ "a${ENV_TYPE}" = "a" ] ; then + printf '\n%s\n\n' "Cannot install ${target}, because there is no active environment." + print_environment_step + exit 1 + elif [ "a${HAVE_PIP}" = "a" ] || [ "a${HAVE_WHEEL}" = "a" ] ; then + printf '\n%s\n\n' "Cannot install ${target}, because pip and/or wheel are not available." + print_pip_wheel_step + exit 1 + fi +} + + +# Check that the AMUSE framework can be installed and error out if not +# +check_framework() { + if ! is_subset amuse-framework "${ENABLED_PACKAGES}" ; then + printf '%s\n' 'The AMUSE framework cannot be installed because tools or dependencies are missing.' + printf '%s\n' 'Please run ./setup and follow the instructions to enable it.' + exit 1 + fi +} + + +# Check Sapporo Light +# +check_sapporo_light() { + if ! is_subset "sapporo_light" "${ENABLED_PACKAGES}" ; then + printf '%s\n' 'Sapporo light cannot be installed because tools or dependencies are missing.' + printf '%s\n' 'Please run ./setup and follow the instructions to enable it.' + exit 1 + fi +} + + +# Check whether a package can be installed and error out if not +# +check_package() { + package="$1" + + if is_subset "${package}" "${DISABLED_PACKAGES}" ; then + printf '\n%s\n' "Package ${package} cannot be installed because tools or dependencies are missing." + printf '%s\n\n' 'Please run ./setup and follow the instructions to enable it.' + exit 1 + fi + + code_dir=$(code_directory "${package}") + + if [ ! -f "${code_dir}/packages/${package}.amuse_deps" ] ; then + printf '\n%s\n' "Package ${package} was not found." + printf '%s\n\n' 'Please run ./setup to show enabled packages.' + exit 1 + fi +} + + +# Install the AMUSE framework +# +install_framework() { + check_framework + support/shared/uninstall.sh amuse-framework + + announce_activity install amuse-framework + + # if we're in a conda env, install the dependencies using conda first rather than + # leaving it to pip. + if [ "a${ENV_TYPE}" = "aconda" ] ; then + to_install='' + for name_ver in ${FRAMEWORK_CONDA_DEPS} ; do + name=$(echo "${name_ver}" | sed -e "s/'\([a-zA-Z0-9_-]*\).*/\1/") + if ! is_subset "$name" "${INSTALLED_PACKAGES}" ; then + to_install="${to_install} ${name_ver}" + fi + done + if [ -n "${to_install}" ] ; then + conda install -y ${to_install} + fi + fi + + ec_file="$(exit_code_file install amuse-framework)" + log_file="$(log_file install amuse-framework)" + + ( + ${GMAKE} -C lib distclean && \ + ${GMAKE} -C lib install && \ + cd src && pip --no-cache-dir install . + + echo $? >"../${ec_file}" + ) 2>&1 | tee "${log_file}" + + result=$(cat "${ec_file}") + if [ "a${result}" = "a0" ] ; then + INSTALLED_PACKAGES="${INSTALLED_PACKAGES} amuse-framework" + fi + + handle_result "${result}" install amuse-framework "${log_file}" +} + + +# Install Sapporo Light +# +install_sapporo_light() { + check_sapporo_light + + announce_activity install sapporo_light + + ${GMAKE} -C lib/sapporo_light distclean + + ec_file="$(exit_code_file install sapporo_light)" + log_file="$(log_file install sapporo_light)" + + (${GMAKE} -C lib install-sapporo_light ; echo $? >"${ec_file}") 2>&1 | tee "${log_file}" + + result=$(cat "${ec_file}") + if [ "a${result}" = "a0" ] ; then + INSTALLED_PACKAGES="${INSTALLED_PACKAGES} sapporo-light" + fi + + handle_result "${result}" install sapporo_light "${log_file}" +} + + +# Install the AMUSE framework in develop mode +# +develop_framework() { + check_framework + support/shared/uninstall.sh amuse-framework + + announce_activity develop amuse-framework + + ec_file="$(exit_code_file install amuse-framework)" + log_file="$(log_file install amuse-framework)" + + ( + ${GMAKE} -C lib distclean && \ + ${GMAKE} -C lib install && \ + cd src && pip install -e . + + echo $? >"../${ec_file}" + ) 2>&1 | tee "${log_file}" + + handle_result $(cat "$ec_file") install amuse-framework "${log_file}" +} + + +# Install the AMUSE framework into a packager's build environment +# +# This is set up for building Conda packages, using their recommended pip options. +# +package_framework() { + check_framework + ${GMAKE} -C lib distclean + ${GMAKE} -C lib install + (cd src && python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix "${PREFIX}" .) +} + + +# Install a package +# +# This calls the package's build system to install it. +# +# If amuse-framework is not installed, then we install the framework first. Before +# installing, make distclean is run to improve reliability. If you want to take your +# chances with an incremental build and the native build system, cd into the package +# directory and call make directly. +# +# Args: +# cmd: The type of installation, install or develop +# package: The name of the package to install +# brief: If set to "brief", print only a brief result, otherwise, print a full error. +# +install_package() { + cmd="$1" + package="$2" + brief="$3" + + check_package "${package}" + + if ! is_subset "amuse-framework" "${INSTALLED_PACKAGES}" ; then + save_package="${package}" + install_framework + package="${save_package}" + fi + + if is_subset "${package}" "${NEEDS_SAPPORO_LIGHT}" ; then + if ! is_subset "sapporo-light" "${INSTALLED_PACKAGES}" ; then + save_package="${package}" + install_sapporo_light + package="${save_package}" + fi + fi + + if [ "a${package%-*-*}" != "a${package}" ] ; then + # We are installing an amuse-code-package extension package, so we need the + # base package as well, if it exists. + base_package="${package%-*}" + # If the code is e.g. CUDA-only, then there may not be a base package. + if is_subset "${base_package}" "${EXTANT_PACKAGES}" ; then + if ! is_subset "${base_package}" "${INSTALLED_PACKAGES}" ; then + save_package="${package}" + install_package "${cmd}" "${base_package}" "${brief}" + package="${save_package}" + fi + fi + fi + + save_cmd="${cmd}" + forward_to_package "distclean" "${package}" "${brief}" + cmd="${save_cmd}" + + forward_to_package "${cmd}" "${package}" "${brief}" + + result="$?" + if [ "a${result}" = "a0" ] ; then + INSTALLED_PACKAGES="${INSTALLED_PACKAGES} ${package}" + fi + + return "${result}" +} + + +# Install the framework and all enabled packages +# +install_all() { + if ! is_subset "amuse-framework" "${INSTALLED_PACKAGES}" ; then + install_framework || exit 1 + fi + + FAILED_BUILDS='' + if ! is_subset "sapporo-light" "${INSTALLED_PACKAGES}" ; then + if is_subset "sapporo_light" "${ENABLED_PACKAGES}" ; then + if ! install_sapporo_light ; then + FAILED_BUILDS="${FAILED_BUILDS}\nsapporo_light" + fi + fi + fi + + for package in ${ENABLED_PACKAGES} ; do + installed_name=$(installed_package_name "${package}") + if ! is_subset "${installed_name}" "${INSTALLED_PACKAGES}" ; then + install_package install "${package}" brief + if [ $? != '0' ] ; then + FAILED_BUILDS="${FAILED_BUILDS}\n${package}" + fi + fi + done + + printf '\n%b\n' "${COLOR_CYAN}*** Build results ***${COLOR_END}" + + UNEXPECTED_FAILED_BUILDS=$(printf '%b' "${FAILED_BUILDS}" | grep -v mesa-r15140) + if [ "${UNEXPECTED_FAILED_BUILDS}" != "${FAILED_BUILDS}" ] ; then + printf '\n%b\n' "${COLOR_RED}amuse-mesa-r15140 failed to install${COLOR_END}" + + printf '\nMESA r15140 failed to install because it can only be installed in\n' + printf 'develop mode. This is expected, if unfortunate. Please use\n\n' + printf ' ./setup develop amuse-mesa-r15140\n\n' + printf 'to install it.\n\n' + + FAILED_BUILDS="${UNEXPECTED_FAILED_BUILDS}" + fi + + if [ "a${FAILED_BUILDS}" != "a" ] ; then + printf '\nThe following packages failed to build:\n' + printf '%b\n\n' "${COLOR_RED}${FAILED_BUILDS}${COLOR_END}" + print_getting_help + printf '\n%s\n' 'Output was saved to support/logs/.' + else + printf '\n%b\n\n' "${COLOR_GREEN}All enabled packages were installed successfully${COLOR_END}" + fi +} + + +# Check whether the basic conditions for uninstalling things are met +# +# This checks for an environment, and quits with an error if they're not available. +# +# Args: +# target: Target the user wants to install +# +check_uninstall() { + target="$1" + + if [ "a${ENV_TYPE}" = "a" ] ; then + printf '\n%s\n\n' "Cannot uninstall ${target}, because there is no active environment." + print_environment_step + exit 1 + fi +} + + +# Uninstall the AMUSE framework +# +uninstall_framework() { + for pkg in ${INSTALLED_PACKAGES} ; do + if [ "a${pkg#amuse-}" != "a${pkg}" ] ; then + if [ "a${pkg}" != "aamuse-framework" ] ; then + # We may have already uninstalled this as a dependency of another + # package that got uninstalled, in which case we skip. + # INSTALLED_PACKAGES is kept up-to-date as we go. + if is_subset "${pkg}" "${INSTALLED_PACKAGES}" ; then + save_package="${package}" + uninstall_package "${pkg}" brief + package="${save_package}" + fi + fi + fi + done + + announce_activity uninstall amuse-framework + + ec_file="$(exit_code_file uninstall amuse-framework)" + log_file="$(log_file uninstall amuse-framework)" + + ( + printf '%s\n\n' "Removing stray libraries, if any..." && \ + ${GMAKE} -C lib uninstall && \ + printf '\n' && \ + support/shared/uninstall.sh amuse-framework + + echo $? >"${ec_file}" + ) 2>&1 | tee "${log_file}" + + handle_result $(cat "${ec_file}") uninstall amuse-framework "${log_file}" +} + + +# Uninstall Sapporo Light +# +uninstall_sapporo_light() { + for pkg in ${INSTALLED_PACKAGES} ; do + if [ "a${pkg#amuse-}" != "a${pkg}" ] ; then + if is_subset "${pkg}" "${NEEDS_SAPPORO_LIGHT}" ; then + save_package="${package}" + uninstall_package "${pkg}" brief + package="${save_package}" + fi + fi + done + + announce_activity uninstall sapporo_light + + ec_file="$(exit_code_file uninstall sapporo_light)" + log_file="$(log_file uninstall sapporo_light)" + + (${GMAKE} -C lib uninstall-sapporo_light ; echo $? >"${ec_file}") 2>&1 | tee "${log_file}" + + handle_result $(cat "$ec_file") uninstall sapporo_light "${log_file}" +} + + +# Uninstall a package +# +# This calls the shared uninstall script to uninstall the package. That script will use +# pip or conda to uninstall, as appropriate. +# +# Args: +# package: The name of the package to uninstall +# brief: If set to "brief", print only a brief result, otherwise, print a full error. +# +uninstall_package() { + package="$1" + brief="$2" + + dependents=$(extra_packages "${package}" "${INSTALLED_PACKAGES}") + + for pkg in $dependents ; do + save_package="${package}" + uninstall_package "${pkg}" brief + package="${save_package}" + done + + announce_activity uninstall "${package}" + + ec_file="$(exit_code_file uninstall ${package})" + log_file="$(log_file uninstall ${package})" + + pkg_name=$(installed_package_name "${package}") + + (support/shared/uninstall.sh "${pkg_name}" ; echo $? >"${ec_file}") 2>&1 | tee "${log_file}" + + result=$(cat "$ec_file") + + if [ "a${result}" = "a0" ] ; then + INSTALLED_PACKAGES=$(filter_out "${package}" "${INSTALLED_PACKAGES}") + fi + + handle_result ${result} uninstall "${package}" "${log_file}" "${brief}" +} + diff --git a/support/setup/log.sh b/support/setup/log.sh new file mode 100644 index 0000000000..a240e590b4 --- /dev/null +++ b/support/setup/log.sh @@ -0,0 +1,115 @@ +# Print the base name for the log and exit code files +# +log_file_base() { + printf '%s' "support/logs/${1}-${2}" +} + + +# Print the relative path to the exit code file for a command and target +# +# We show output on the terminal when installing and testing, but we also send it to a +# file so that when something goes wrong, there's something for people to send us when +# they ask for help. We also need to send the exit code to a file, otherwise we lose it +# because of the pipe to tee and we need it to see if the operation was successful. So +# this points to the file we'll use for that. +# +# Args: +# command: The command that's being executed +# package: The package the command is being executed for +# +exit_code_file() { + name="$(log_file_base $1 $2)" + printf '%s' "${name}.exit_code" +} + + +# Print the relative path to the log file for a command and target. +# +# See exit_code_file() above, this is the location for the log output. +# +log_file() { + name="$(log_file_base $1 $2)" + printf '%s' "${name}.log" +} + + +# Announce that we're going to do something +# +# This is a counterpart to handle_result() below +# +# Args: +# cmd: Command that we're executing +# target: Affected package +# +announce_activity() { + cmd="$1" + package="$2" + + printf '\n' + if [ "a${cmd}" = "aclean" ] || [ "a${cmd}" = "adistclean" ] ; then + printf '%b\n' "${COLOR_CYAN}Cleaning ${package}...${COLOR_END}" + elif [ "a${cmd}" = "ainstall" ] ; then + printf '%b\n' "${COLOR_CYAN}Building and installing ${package}...${COLOR_END}" + elif [ "a${cmd}" = "adevelop" ] ; then + printf '%b\n' "${COLOR_CYAN}Building and develop-installing ${package}...${COLOR_END}" + elif [ "a${cmd}" = "atest" ] ; then + printf '%b\n' "${COLOR_CYAN}Testing ${package}...${COLOR_END}" + elif [ "a${cmd}" = "auninstall" ] ; then + printf '%b\n' "${COLOR_CYAN}Uninstalling ${package}...${COLOR_END}" + fi + printf '\n' +} + + +# Handle the result of an installation or test step +# +# These are never supposed to fail if you install from an official distribution, but of +# course nothing is perfect. So we need to handle any errors gracefully. +# +# Args: +# exit_code: Exit code of the process +# command: What we did, e.g. install or test +# package: The package we did it to +# log_file: Location of the log file +# brief: If set to "brief", print only a short error, otherwise the full message. +# +handle_result() { + exit_code=$1 + cmd=$2 + package=$3 + log_file="$4" + brief="$5" + + if [ "a${exit_code}" = "a0" ] ; then + if [ "a${cmd}" = "ainstall" ] || [ "a${cmd}" = "adevelop" ] ; then + printf '\n%b\n' "${COLOR_GREEN}Package ${package} was installed successfully.${COLOR_END}" + elif [ "a${cmd}" = "atest" ] ; then + printf '\n%b\n' "${COLOR_GREEN}Package ${package} passed its tests.${COLOR_END}" + elif [ "a${cmd}" = "auninstall" ] ; then + printf '\n%b\n' "${COLOR_GREEN}Package ${package} uninstall successful.${COLOR_END}" + fi + else + if [ "a${cmd}" = "ainstall" ] || [ "a${cmd}" = "adevelop" ] ; then + if [ "a${brief}" = "abrief" ] ; then + printf '\n%b\n' "${COLOR_RED}Package ${package} failed to install correctly.${COLOR_END}" + else + print_install_failure "${package}" "${log_file}" + fi + elif [ "a${cmd}" = "atest" ] ; then + if [ "a${brief}" = "abrief" ] ; then + printf '\n%b\n' "${COLOR_RED}Package ${package} failed its tests.${COLOR_END}" + else + print_test_failure "${package}" "${log_file}" + fi + elif [ "a${cmd}" = "auninstall" ] ; then + if [ "a${brief}" = "abrief" ] ; then + printf '\n%b\n' "${COLOR_RED}Package ${package} failed to uninstall.${COLOR_END}" + else + print_uninstall_failure "${package}" "${log_file}" + fi + fi + fi + + return "${exit_code}" +} + diff --git a/support/setup/testing.sh b/support/setup/testing.sh new file mode 100644 index 0000000000..c948145ea7 --- /dev/null +++ b/support/setup/testing.sh @@ -0,0 +1,134 @@ +# Check that pytest is available and error out of not +# +ensure_pytest() { + if [ "a${PYTEST}" = "a" ] ; then + printf '\n%b\n' "To run the tests pytest is required, but it is not installed." + if [ "a${ENV_TYPE}" = "a" ] ; then + printf '%s\n\n' "Please activate a conda environment or virtual environment first." + elif [ "a${ENV_TYPE}" = "aconda" ] ; then + printf '\n%s\n' "Please use" + printf '\n %b\n' "conda install pytest" + printf '\n%s\n\n' "to install pytest, then try again." + else + printf '\n%s\n' "Please use" + printf '\n %b\n' "pip install pytest" + printf '\n%s\n\n' "to install pytest, then try again." + fi + exit 1 + fi +} + + +# Check whether a package is installed and can therefore be tested +# +# If not, print an error message and quit. +# +check_package_installed_for_test() { + package="$1" + installed_name=$(installed_package_name "${package}") + + if ! is_subset "${installed_name}" "${INSTALLED_PACKAGES}" ; then + printf '\n%s\n' "Package ${package} is not installed, so we cannot test it." + printf '\n%s\n' "Please install the package first using ./setup install ${package}, then try again." + exit 1 + fi +} + + +# Run tests for the AMUSE framework +# +test_framework() { + announce_activity test amuse-framework + + ec_file="$(exit_code_file test amuse-framework)" + log_file="$(log_file test amuse-framework)" + + ( + ${GMAKE} -C src/tests all + # Tests for amuse.distributed won't be fixed as it is to be removed, disabled. + if [ "x${CI}" = "x" ] ; then + cd src/tests && pytest --import-mode=append core_tests compile_tests --ignore compile_tests/java_implementation -k 'not TestCDistributedImplementationInterface and not TestAsyncDistributed' ${PYTEST_OPTS} + else + cd src/tests && pytest --import-mode=append core_tests compile_tests --ignore compile_tests/java_implementation -k 'not TestCDistributedImplementationInterface and not TestAsyncDistributed and not noci' ${PYTEST_OPTS} + + fi + + echo $? >"../../${ec_file}" + ) 2>&1 | tee "${log_file}" + + handle_result $(cat "$ec_file") test amuse-framework "${log_file}" +} + + +# Run tests for the AMUSE ext scripts +# +# Note that these require some of the codes to be installed, as they're mostly scenario +# tests that exercise coupled simulations. +# +test_amuse_ext() { + announce_activity test amuse-ext + + bad_ext_tests='' + sep='' + for bad_test in ${BAD_EXT_TESTS} ; do + # PyTest doesn't match Class::test_name directly + bad_test_pt=$(echo "${bad_test}" | sed -e 's/\(.*\)::\(.*\)/(\1 and \2)/') + bad_ext_tests="${bad_ext_tests}${sep} not ${bad_test_pt}" + sep=' and' + done + + ec_file="$(exit_code_file test amuse-ext)" + log_file="$(log_file test amuse-ext)" + + ( + cd src/tests && pytest ext_tests --import-mode=append ticket_tests ${PYTEST_OPTS} -k "${bad_ext_tests}" + + echo $? >"../../${ec_file}" + ) 2>&1 | tee "${log_file}" + + printf "\n%s\n" "The following tests were disabled because they currently fail:" + printf "\n%b\n\n" "${COLOR_RED}${BAD_EXT_TESTS}${COLOR_END}" + printf "%s\n\n" "This issue is tracked at https://github.com/amusecode/amuse/issues/1103" + + handle_result $(cat "$ec_file") test amuse-ext "${log_file}" +} + + +# Run tests for the framework and all installed packages +# +test_all() { + FAILED_TESTS='' + if is_subset "amuse-framework" "${INSTALLED_PACKAGES}" ; then + if ! test_framework ; then + FAILED_TESTS="${FAILED_TESTS}\namuse-framework" + fi + + if ! test_amuse_ext ; then + FAILED_TESTS="${FAILED_TESTS}\namuse-ext" + fi + fi + + # sapporo_light does not have tests + + for package in ${INSTALLED_PACKAGES} ; do + if ! is_subset "${package}" "amuse-framework sapporo_light" ; then + code_dir=$(code_directory "${package}") + if [ -f "${code_dir}/packages/${package}.amuse_deps" ] ; then + forward_to_package test "${package}" brief + if [ $? != '0' ] ; then + FAILED_TESTS="${FAILED_TESTS}\n${package}" + fi + fi + fi + done + + printf '\n%b\n' "${COLOR_CYAN}*** Test results ***${COLOR_END}" + if [ "a${FAILED_TESTS}" != "a" ] ; then + printf '\nThe following packages failed their tests:\n' + printf '%b\n\n' "${COLOR_RED}${FAILED_TESTS}${COLOR_END}" + print_getting_help + else + printf '\n%b\n\n' "${COLOR_GREEN}All installed packages completed their tests successfully${COLOR_END}" + fi +} + diff --git a/support/setup/util.sh b/support/setup/util.sh new file mode 100644 index 0000000000..4fbe0e1f72 --- /dev/null +++ b/support/setup/util.sh @@ -0,0 +1,214 @@ +# Trim excess whitespace off a set of words +# +# The words must not contain ?, * or [. +# +# Args: +# A set of words, one per argument +# +# Example: +# words=" a b c " +# words=$(trim ${words}) +# # words is now "a b c" +# +trim() { + printf '%s' "$*" +} + + +# Determine whether a set of words is a subset of another set of words +# +# Args: +# needles: list of words (as a single argument, space separated) to find +# haystack: list of words (as a single argument, space separated) to find in +# +# Example: +# +# if is_subset "astropy amuse" "amuse astropy gnuplot" ; then +# echo "AMUSE and Astropy found!" +# fi +# +is_subset() { + is_subset_all_found=1 + for needle in $1 ; do + is_subset_found=0 + for hay in $2 ; do + if [ "a${needle}" = "a${hay}" ] ; then + is_subset_found=1 + fi + done + is_subset_all_found=$(( is_subset_all_found & is_subset_found )) + done + return $(( ! is_subset_all_found )) +} + + +# Filter out a set of words from another set of words +# +# Args: +# remove: list of words (as a single argument, space separated) to remove +# items: list of words (as a single argument, space separated) to remove them from +# +# Prints any words that are in "set" but not in "remove", space separated and on a +# single line, with an extra space at the end if non-empty. +# +filter_out() { + filter_out_result='' + for item in $2 ; do + filter_out_remove=0 + for remove in $1 ; do + if [ "a$item" = "a$remove" ] ; then + filter_out_remove=1 + fi + done + if [ "$filter_out_remove" = "0" ] ; then + filter_out_result="${filter_out_result} ${item}" + fi + done + filter_out_result=$(trim "$filter_out_result") + printf '%s' "${filter_out_result}" +} + + +# Find any extra packages matching a base package +# +# Args: +# base_name: Package base name of the form amuse- +# items: List of package names to search +# +# Given a base package name, e.g. amuse-ph4, this returns a list of all extra packages +# in the given list of the form amuse-ph4-*. +# +extra_packages() { + extra_packages_result='' + for item in $2 ; do + if [ "a${1}" = "a${item%-*}" ] ; then + extra_packages_result="${extra_packages_result} ${item}" + fi + done + extra_packages_result=$(trim "${extra_packages_result}") + printf '%s' "${extra_packages_result}" +} + + +# Check if any of the words in items starts with issue_ +# +# Args: +# items: list of words (as a single argument, space separated) to search +# +has_issue() { + for item in $1 ; do + if [ "a${item#issue_}" != "a${item}" ] ; then + return 0 + fi + done + + return 1 +} + + +# Print the main directory of the code for a given package +# +# Codes may have multiple packages, e.g. with and without CUDA support, so different +# packages may have the same main directory. Package names may have multiple dashes, +# which separate the amuse- prefix from the code name and the -openmp or whatever is +# it's package suffix, but then the package name can also contain a dash itself, e.g. +# mesa-r15140, and maybe one day someone will put a dash/underscore in the suffix too. +# So this is ambiguous, and the only way to find the right code directory is to try +# different options and see if we have a matching directory. +# +# Package names always use dashes, not underscores, because that's the normalised form +# in Python and because 'conda list' normalises them. The code directories have +# underscores, because anything with a dash isn't a valid Python identifier and cannot +# be imported from. Which is not great, but it is what it is and we can convert. +# +code_directory() { + package="$1" + + code_dir=$(printf '%s' "src/${package}" | tr - _) + prev_code_dir="${code_dir}_dummy" + + while [ "${prev_code_dir}" != "${code_dir}" ] ; do + if [ -f "${code_dir}/packages/${package}.amuse_deps" ] ; then + printf "${code_dir}" + return + fi + + prev_code_dir="${code_dir}" + code_dir="${prev_code_dir%_*}" + done +} + + +# Normalise a package name +# +# We allow the user to omit the amuse- prefix when referring to a package by name. +# This function adds it back on if it's been omitted. +# +# Args: +# package: The given package name +# +# Returns: +# The name prefixed with amuse- if it wasn't already +# +normalise_package_name() { + package="$1" + + if [ "a${package#amuse-}" = "a${package}" ] ; then + package="amuse-${package}" + fi + printf '%s' "${package}" +} + + +# Determine installed package name +# +# Our package names are directories, with underscores and dashes in them. The pip and +# conda packages we install have all dashes however, because that's the standard. This +# converts from our directory names to installed package names, so that we can match +# them correctly. +# +# Args: +# package: The given package name +# +# Returns: +# The installed name. +# +installed_package_name() { + printf '%s' "$1" | tr '_' '-' +} + + +# Forward a command to a package's build system +# +# Args: +# cmd: The command to forward, e.g. package, test, clean, distclean +# package: The name of the package to forward to +# brief: If set to "brief", print only a brief error rather than the full one +# +# Returns: +# The exit code from the build system +# +forward_to_package() { + cmd="$1" + package="$2" + brief="$3" + + announce_activity ${cmd} ${package} + + code_dir=$(code_directory "${package}") + + ec_file="$(exit_code_file ${cmd} ${package})" + log_file="$(log_file ${cmd} ${package})" + + if [ "a${cmd}" = "aclean" ] || [ "a${cmd}" = "adistclean" ] ; then + maketarget="${cmd}" + else + maketarget="${cmd}-${package}" + fi + + (${GMAKE} -C "${code_dir}" "${maketarget}" ; echo "$?" >${ec_file}) 2>&1 | tee ${log_file} + + handle_result $(cat "$ec_file") "${cmd}" "${package}" "${log_file}" "${brief}" + return $(cat "${ec_file}") +} + diff --git a/support/setup_codes.py b/support/setup_codes.py deleted file mode 100644 index b005fde2f5..0000000000 --- a/support/setup_codes.py +++ /dev/null @@ -1,1300 +0,0 @@ -import warnings -import sys -import os -import os.path -import re -import datetime -from copy import deepcopy -from os.path import abspath - -try: - import numpy -except ImportError: - warnings.warn("numpy needed during build; operation may fail") - -import configparser - -from subprocess import Popen, PIPE, STDOUT - -from glob import glob - -from distutils.dir_util import create_tree -from distutils import log -from distutils import spawn -from distutils import file_util -from distutils.errors import DistutilsError -from distutils.command.clean import clean -from setuptools.command.install import install -from setuptools import Command -from setuptools.command.build import build -from setuptools.command.develop import develop -from setuptools.command.editable_wheel import editable_wheel - -from . import supportrc - -if supportrc["framework_install"]: - from .generate_main import generate_main - -try: - from numpy.distutils import fcompiler -except ImportError: - fcompiler = None - -# check if Python is called on the first line with this expression -first_line_re = re.compile('^#!.*python[0-9.]*([ \t].*)?$') - -def pyfiles_in_build_dir(builddir): - module_files = glob(os.path.join(builddir, "*.py")) - result = [] - for x in module_files: - result.append(os.path.abspath(x)) - return result - -class InstallLibraries(Command): - user_options = [ - ('build-temp=', 't', - "directory for temporary files (build by-products)"), - ('inplace', 'i', - "ignore build-lib and put compiled extensions into the source " + - "directory alongside your pure Python modules", 1), - ('no-inplace', 'k', - "put compiled extensions into the build temp "), - ('lib-dir=', 'l', "directory containing libraries to build"), - ('install-data=', None, "installation directory for data files"), - ('root=', None, "install everything relative to this alternate root directory"), - ] - - negative_opt = {'no-inplace': 'inplace'} - - boolean_options = ['inplace'] - - def initialize_options(self): - self.codes_dir = None - self.lib_dir = None - self.inplace = False - self.build_lib = None - self.build_temp = None - self.install_data = None - self.root = None - - def finalize_options(self): - self.set_undefined_options( - 'install', - ('build_lib', 'build_lib'), - ('root', 'root'), - ('install_data', 'install_data'), - ) - - self.set_undefined_options( - 'build', - ('build_temp', 'build_temp'), - ) - - if self.lib_dir is None: - if self.inplace: - self.lib_dir = os.path.join('lib') - else: - self.lib_dir = os.path.join(self.build_temp, 'lib') - else: - if self.inplace: - pass - else: - self.lib_dir = os.path.join(self.build_temp, 'lib') - - def run(self): - data_dir = os.path.join(self.install_data, 'share', 'amuse') # for the moment add to amuse.. - data_dir = os.path.abspath(data_dir) - - # copy only: - # '*.h', '*.a', '*.mod', '*.inc', '*.so', '*.dylib' - files = [os.path.join(dp, f) for dp, dn, fn in os.walk(self.lib_dir) for f in fn] - ext = ['.h', '.a', '.mod', '.inc', '.so', '.dylib'] - files = [f for f in files if (os.path.splitext(f)[1] in ext)] - files = [os.path.relpath(f, self.lib_dir) for f in files] - create_tree(os.path.join(data_dir, 'lib'), files) - - for f in files: - src = os.path.join(self.lib_dir, f) - target = os.path.join(data_dir, 'lib', f) - self.copy_file(src, target) - -class GenerateInstallIni(Command): - user_options = ( - ('build-dir=', 'd', "directory to install to"), - ('install-data=', None, "installation directory for data files"), - ('force', 'f', "force installation (overwrite existing files)"), - ('root=', None, "install everything relative to this alternate root directory"), - ) - - boolean_options = ['force'] - - def initialize_options(self): - self.build_dir = None - self.install_data = None - self.force = False - self.root = None - - def finalize_options(self): - self.set_undefined_options( - 'install', - ('build_lib', 'build_dir'), - ('install_data', 'install_data'), - ('root', 'root'), - ('force', 'force'), - ) - - def run(self): - outfilename = os.path.join(self.build_dir, supportrc["package_name"], 'amuserc') - - # this does not work for pip installs - # data_dir = os.path.join(self.install_data,'share','amuse') - # if not self.root is None: - # data_dir = os.path.relpath(data_dir,self.root) - # data_dir = os.path.join('/',data_dir) - # else: - # data_dir = os.path.abspath(data_dir) - - installinilines = [] - installinilines.append('[channel]') - installinilines.append('must_check_if_worker_is_up_to_date=0') - installinilines.append('use_python_interpreter=1') - # installinilines.append('worker_code_directory={0}'.format(os.path.join(data_dir, 'bin'))) - if sys.platform == 'win32': - installinilines.append('worker_code_suffix=".exe"') - installinilines.append('[data]') - # installinilines.append('input_data_root_directory={0}'.format(os.path.join(data_dir, 'data'))) - installinilines.append('output_data_root_directory=_amuse_output_data') - # installinilines.append('amuse_root_dir={0}'.format(data_dir)) - - if 'BUILD_BINARY' in os.environ: - installinilines.append('[test]') - installinilines.append('can_run_tests_to_compile_modules=0') - - self.mkpath(os.path.join(self.build_dir, supportrc["package_name"])) - file_util.write_file(outfilename, installinilines) - - -class CodeCommand(Command): - user_options = [ - ('build-lib=', 'b', - "directory for compiled extension modules"), - ('build-temp=', 't', - "directory for temporary files (build by-products)"), - ('inplace', 'i', - "ignore build-lib and put compiled extensions into the source " + - "directory alongside your pure Python modules", 1), - ('no-inplace', 'k', - "put compiled extensions into the build temp "), - ('define=', 'D', - "C preprocessor macros to define"), - ('undef=', 'U', - "C preprocessor macros to undefine"), - ('debug', 'g', - "compile/link with debugging information"), - ('force', 'f', - "forcibly build everything (ignore file timestamps)"), - ('variant', 'V', - "build variants of the codes (gpu versions etc)"), - ('codes-dir=', 'd', "directory containing codes"), - ('lib-dir=', 'l', "directory containing libraries to build"), - ] - - negative_opt = {'no-inplace': 'inplace'} - - boolean_options = ['force', 'inplace', 'debug', 'variant'] - - def initialize_options(self): - self.codes_dir = None - self.lib_dir = None - self.lib_src_dir = None - self.amuse_src_dir = os.path.join('src', supportrc["package_name"]) - self.environment = {} - self.environment_notset = {} - self.found_cuda = False - self.found_sapporo = False - self.variant = True - self.inplace = False - - self.build_lib = None - self.build_temp = None - self.debug = None - self.force = None - - def finalize_options(self): - self.set_undefined_options( - 'build', - ('build_lib', 'build_lib'), - ('build_temp', 'build_temp'), - ('debug', 'debug'), - ('force', 'force'), - ) - - self.config = None - - if supportrc["framework_install"]: - try: - from . import config - self.config = config - except ImportError: - # continue - pass - else: - from amuse import config - self.config = config - - if self.codes_dir is None: - if self.inplace: - self.codes_dir = os.path.join(self.amuse_src_dir,'community') - self.codes_src_dir = self.codes_dir - else: - # self.codes_dir = os.path.join(self.build_temp, 'src', 'amuse', 'community') - self.codes_dir = os.path.join(self.build_temp, 'codes') - self.codes_src_dir = os.path.join(self.amuse_src_dir, 'community') - else: - if self.inplace: - self.codes_src_dir = self.codes_dir - else: - self.codes_src_dir = self.codes_dir - # self.codes_dir = os.path.join(self.build_temp, 'src', 'amuse', 'community') - self.codes_dir = os.path.join(self.build_temp, 'codes') - - if self.lib_dir is None: - if self.inplace: - self.lib_dir = os.path.join('lib') - self.lib_src_dir = self.lib_dir - else: - self.lib_dir = os.path.join(self.build_temp, 'lib') - self.lib_src_dir = os.path.join('lib') - else: - if self.inplace: - self.lib_src_dir = self.codes_dir - else: - self.lib_src_dir = self.codes_dir - self.lib_dir=os.path.join(self.build_temp, 'lib') - - if self.config: - self.environment['PYTHON'] = self.config.interpreters.python - else: - self.environment['PYTHON'] = sys.executable - - self.set_cuda_variables() - self.set_mpi_variables() - self.set_compiler_variables() - - self.set_fortran_variables() - - if 'FORTRAN' in self.environment: - self.environment['F90'] = self.environment['FORTRAN'] - self.environment['FC'] = self.environment['FORTRAN'] - self.set_java_variables() - self.set_openmp_flags() - self.set_libdir_variables() - self.set_libs_variables() - self.save_cfgfile_if_not_exists() - - if 'MSYSCON' in os.environ: - pass - else: - if not supportrc["framework_install"]: - try: - from amuse.support import get_amuse_root_dir - except ImportError: - raise Exception("AMUSE framework needs to be installed and environment set up.") - self.environment['AMUSE_DIR'] = get_amuse_root_dir() - else: - if self.inplace: - self.environment['AMUSE_DIR'] = os.path.abspath(os.getcwd()) - else: - self.environment['AMUSE_DIR'] = os.path.abspath(self.build_temp) - - if self.inplace: - self.environment['MUSE_PACKAGE_DIR'] = os.path.abspath(os.getcwd()) - else: - self.environment['MUSE_PACKAGE_DIR'] = os.path.abspath(self.build_temp) - - - def set_fortran_variables(self): - if 'FORTRAN' in self.environment: - return - - if 'FORTRAN' in os.environ: - self.environment['FORTRAN'] = os.environ['FORTRAN'] - return - - if self.config: - self.environment['FORTRAN'] = self.config.compilers.fc - return - - if 'FC' in os.environ: - self.environment['FORTRAN'] = os.environ['FC'] - return - - if 'FORT' in os.environ: - self.environment['FORTRAN'] = os.environ['FORT'] - return - - if 'F90' in os.environ: - self.environment['FORTRAN'] = os.environ['F90'] - return - - mpif90 = os.environ['MPIF90'] if 'MPIF90' in os.environ else 'mpif90' - - try: - process = Popen([mpif90, '-show'], stdout=PIPE, stderr=PIPE) - stdoutstring, stderrstring = process.communicate() - if process.returncode == 0: - parts = stdoutstring.split() - self.environment['FORTRAN'] = parts[0] - return - - process = Popen([mpif90, '--showme '], stdout=PIPE, stderr=PIPE) - stdoutstring, stderrstring = process.communicate() - if process.returncode == 0: - parts = stdoutstring.split() - self.environment['FORTRAN'] = parts[0] - return - except: - pass - - if fcompiler: - compiler = fcompiler.new_fcompiler(requiref90=True) - if compiler is not None: - fortran_executable = compiler.executables['compiler_f90'][0] - self.environment['FORTRAN'] = fortran_executable - - def is_mpi_enabled(self): - if self.config and hasattr(self.config.mpi, 'is_enabled'): - return self.config.mpi.is_enabled - else: - return True - - def set_cuda_variables(self): - all_found = True - if self.config and self.config.cuda.is_enabled: - self.found_cuda = True - self.environment['CUDA_LIBDIRS'] = '-L'+self.config.cuda.toolkit_path+'/lib' + ' -L'+self.config.cuda.toolkit_path+'/lib64' - self.environment['CUDA_TK'] = self.config.cuda.toolkit_path - self.environment['CUDA_SDK'] = self.config.cuda.sdk_path - if hasattr(self.config.cuda, 'cuda_libs'): - self.environment['CUDA_LIBS'] = self.config.cuda.cuda_libs - else: - raise DistutilsError("configuration is not up to date for cuda, please reconfigure amuse by running 'configure --enable-cuda'") - - return - - if self.config and not self.config.cuda.is_enabled: - self.found_cuda = True - self.environment['CUDA_LIBDIRS'] = '-L/NOCUDACONFIGURED/lib' + ' -LNOCUDACONFIGURED/lib64' - self.environment['CUDA_LIBS'] = '-lnocuda' - self.environment['CUDART_LIBS'] = '-lnocudart' - self.environment['CUDA_TK'] = '/NOCUDACONFIGURED' - self.environment['CUDA_SDK'] = '/NOCUDACONFIGURED' - return - - for x in ['CUDA_TK', 'CUDA_SDK']: - if not x in self.environment: - all_found = False - break - - if all_found: - cuda_dir = self.environment['CUDA_TK'] - self.environment['CUDA_LIBDIRS'] = '-L'+cuda_dir+'/lib' + ' -L'+cuda_dir+'/lib64' - self.environment['CUDA_LIBS'] = '-lcudart' - return - - directory = spawn.find_executable('nvcc') - if directory is None: - self.found_cuda = False - self.environment_notset['CUDA_SDK'] = '' - self.environment_notset['CUDA_TK'] = '' - return - cuda_dir = os.path.dirname(os.path.dirname(directory)) - self.environment['CUDA_LIBDIRS'] = '-L'+cuda_dir+'/lib' + ' -L'+cuda_dir+'/lib64' - self.environment['CUDA_LIBS'] = '-lcudart' - self.environment['CUDA_TK'] = cuda_dir - if not 'CUDA_SDK' in self.environment: - self.environment_notset['CUDA_SDK'] = '' - - self.found_cuda = True - - def set_mpi_variables(self): - if self.config: - self.environment['MPICXX'] = self.config.mpi.mpicxx - self.environment['MPICC'] = self.config.mpi.mpicc - self.environment['MPIF90'] = self.config.mpi.mpif95 - return - - def set_compiler_variables(self): - if self.config and not hasattr(self.config.compilers, 'found_fftw'): - raise DistutilsError("configuration is not up to date, please reconfigure amuse by running 'configure'") - - if self.config: - self.environment['CXX'] = self.config.compilers.cxx - self.environment['CC'] = self.config.compilers.cc - self.environment['FC'] = self.config.compilers.fc - self.environment['CFLAGS'] = self.config.compilers.cc_flags - self.environment['CXXFLAGS'] = self.config.compilers.cxx_flags - self.environment['FFLAGS'] = self.config.compilers.fc_flags - - if self.config.compilers.found_fftw == 'yes': - self.environment['FFTW_FLAGS'] = self.config.compilers.fftw_flags - self.environment['FFTW_LIBS'] = self.config.compilers.fftw_libs - - if self.config.compilers.found_gsl == 'yes': - self.environment['GSL_FLAGS'] = self.config.compilers.gsl_flags - self.environment['GSL_LIBS'] = self.config.compilers.gsl_libs - - return - - def set_java_variables(self): - if self.config and hasattr(self.config, 'java') and hasattr(self.config.java, 'is_enabled') and self.config.java.is_enabled: - self.environment['JAVA'] = self.config.java.java - self.environment['JAVAC'] = self.config.java.javac - self.environment['JAR'] = self.config.java.jar - else: - self.environment['JAVA'] = '' - self.environment['JAVAC'] = '' - self.environment['JAR'] = '' - return - - def set_openmp_flags(self): - if self.config and hasattr(self.config, 'openmp'): - self.environment['OPENMP_FCFLAGS'] = self.config.openmp.fcflags - self.environment['OPENMP_CFLAGS'] = self.config.openmp.cflags - else: - self.environment['OPENMP_FCFLAGS'] = '' - self.environment['OPENMP_CFLAGS'] = '' - - def set_libdir_variables(self): - for varname in ('SAPPORO_LIBDIRS', 'GRAPE6_LIBDIRS'): - if varname in self.environment: - continue - - if varname in os.environ: - self.environment[varname] = os.environ[varname] - else: - self.environment_notset[varname] = '-L' - - if 'SAPPORO_LIBDIRS' in self.environment: - self.environment['SAPPORO_LIBS'] = '-L{0} -lsapporo'.format( - self.environment['SAPPORO_LIBDIRS'] - ) - else: - if self.config and hasattr(self.config.cuda, 'sapporo_version'): - if self.config.cuda.sapporo_version == '2': - self.environment['SAPPORO_LIBS'] = '-L{0}/lib/sapporo-2 -lsapporo {1}'.format( - os.path.abspath(os.getcwd()), - self.config.openmp.cflags - ) - else: - self.environment['SAPPORO_LIBS'] = '-L{0}/lib/sapporo_light -lsapporo'.format( - os.path.abspath(os.getcwd()) - ) - else: - self.environment['SAPPORO_LIBS'] = '-L{0}/lib/sapporo_light -lsapporo'.format( - os.path.abspath(os.getcwd()) - ) - self.environment['BOOSTLIBS'] = '' - - def set_libs_variables(self): - for varname, libname in []: - if varname in self.environment: - continue - - if varname in os.environ: - self.environment[varname] = os.environ[varname] - else: - self.environment_notset[varname] ='-L -l{0}'.format(libname) - - def copy_config_to_build_dir(self): - configpath = os.path.abspath(os.getcwd()) - if self.inplace: - topath = self.amuse_src_dir - else: - topath = os.path.join(self.build_lib, "amuse") - self.copy_file(os.path.join(configpath, "config.mk"), topath) - - def copy_build_prereq_to_build_dir(self): - if not os.path.exists(self.build_temp): - self.mkpath(self.build_temp) - - if supportrc["framework_install"]: - configpath = os.path.abspath(os.getcwd()) - self.copy_file(os.path.join(configpath, "config.mk"), self.build_temp) - # self.copy_tree(os.path.join(configpath,"support"), os.path.join(self.build_temp,"support") ) - # self.copy_tree(os.path.join(configpath,"src"), os.path.join(self.build_temp,"src") ) - path = os.path.join(self.build_temp, "src") - if not os.path.exists(path) and not os.path.islink(path): - os.symlink(os.path.relpath(self.build_lib, self.build_temp), path) - - def copy_codes_to_build_dir(self): - - for directory in self.makefile_paths(self.codes_src_dir): - reldir = os.path.relpath(directory, self.codes_src_dir) - self.copy_tree( - directory, - os.path.join(self.codes_dir, reldir) - ) - - def copy_lib_to_build_dir(self): - for directory in self.makefile_paths(self.lib_src_dir): - reldir = os.path.relpath(directory, self.lib_src_dir) - self.copy_tree( - directory, - os.path.join(self.lib_dir, reldir) - ) - - def copy_worker_codes_to_build_dir(self): - if sys.platform == 'win32': - worker_code_re = re.compile(r'(([a-zA-Z0-9]+_)*)?worker(_[a-zA-Z0-9]+)?(.exe)?') - else: - worker_code_re = re.compile(r'(([a-zA-Z0-9]+_)*)?worker(_[a-zA-Z0-9]+)?') - worker_so_re = re.compile(r'(([a-zA-Z0-9]+_)*)?cython(_[a-zA-Z0-9]+)?.so') - - lib_binbuilddir = os.path.join(self.build_lib, supportrc["package_name"], '_workers') - if not os.path.exists(lib_binbuilddir): - self.mkpath(lib_binbuilddir) - - for srcdir in self.makefile_paths(self.codes_src_dir): - reldir = os.path.relpath(srcdir, self.codes_src_dir) - temp_builddir = os.path.join(self.codes_dir, reldir) - - self.announce("will copy worker: {0}".format(srcdir), level=log.INFO) - lib_builddir = os.path.join(self.build_lib, os.path.relpath(srcdir, os.path.join(self.amuse_src_dir, '..'))) - - shortname = reldir.lower() - self.announce(shortname, level=log.INFO) - - for name in os.listdir(temp_builddir): - path = os.path.join(temp_builddir, name) - stat = os.stat(path) - - if os.path.isfile(path): - if worker_so_re.match(name): - topath = os.path.join(lib_builddir, name) - self.copy_file(path, topath) - continue - - # self.announce("will copy worker: {0}".format(name), level = log.INFO) - if os.path.isfile(path) and os.access(path, os.X_OK): - if worker_code_re.match(name): - topath = os.path.join(lib_binbuilddir, name) - self.copy_file(path, topath) - elif not name.endswith('.py'): - self.announce("will not copy executable: {0}, it does not match the worker pattern".format(name), level=log.WARN) - - # also copy file or dir named data - path = os.path.join(temp_builddir, 'data') - topath = os.path.join(lib_builddir, 'data') - if os.path.isfile(path): - self.copy_file(path, topath) - if os.path.isdir(path): - self.copy_tree(path, topath) - - def copy_worker_codes(self): - if sys.platform == 'win32': - worker_code_re = re.compile(r'(([a-zA-Z0-9]+_)*)?worker(_[a-zA-Z0-9]+)?(.exe)?') - else: - worker_code_re = re.compile(r'(([a-zA-Z0-9]+_)*)?worker(_[a-zA-Z0-9]+)?') - worker_so_re = re.compile(r'(([a-zA-Z0-9]+_)*)?cython(_[a-zA-Z0-9]+)?.so') - - for srcdir in self.makefile_paths(self.codes_src_dir): - reldir = os.path.relpath(srcdir, self.codes_src_dir) - temp_builddir = os.path.join(self.codes_dir, reldir) - - self.announce("will copy worker: {0}".format(srcdir), level=log.INFO) - lib_builddir = os.path.join(self.build_lib, os.path.relpath(srcdir, os.path.join(self.amuse_src_dir, '..'))) - - shortname = reldir.lower() - self.announce(shortname, level=log.INFO) - - for name in os.listdir(temp_builddir): - path = os.path.join(temp_builddir, name) - stat = os.stat(path) - - if os.path.isfile(path): - if worker_so_re.match(name): - topath = os.path.join(lib_builddir, name) - self.copy_file(path, topath) - continue - - if os.path.isfile(path) and os.access(path, os.X_OK): - if worker_code_re.match(name): - topath = os.path.join(lib_builddir, name) - self.copy_file(path, topath) - elif not name.endswith('.py'): - self.announce("will not copy executable: {0}, it does not match the worker pattern".format(name), level=log.WARN) - - # also copy file or dir named data - path = os.path.join(temp_builddir, 'data') - topath = os.path.join(lib_builddir, 'data') - if os.path.isfile(path): - self.copy_file(path, topath) - if os.path.isdir(path): - self.copy_tree(path, topath) - - def subdirs_in_path(self, path): - if not os.path.exists(path): - return - - names = sorted(os.listdir(path)) - for name in names: - if name.startswith('.'): - continue - - path_ = os.path.join(path, name) - if os.path.isdir(path_): - yield path_ - - def makefile_paths(self, path): - for x in self.subdirs_in_path(path): - for name in ('makefile', 'Makefile'): - makefile_path = os.path.join(x, name) - if os.path.exists(makefile_path): - yield x - break - - def update_environment_from_cfgfile(self): - if os.path.exists('amuse.cfg'): - config = configparser.ConfigParser() - config.read(['amuse.cfg']) - for name, value in config.items('environment'): - if isinstance(value, str) and value: - varname = name.upper() - self.environment[varname] = value - if varname in self.environment_notset: - del self.environment_notset[varname] - - def save_cfgfile_if_not_exists(self): - if not os.path.exists('amuse.cfg'): - config = configparser.RawConfigParser() - config.add_section('environment') - for name, value in self.environment.items(): - config.set('environment', name, value) - - for name, value in self.environment_notset.items(): - config.set('environment', name, '') - - with open('amuse.cfg', 'w') as f: - config.write(f) - - def get_special_targets(self, name, directory, environment): - process = Popen(['make', '-qp', '-C', directory], env=environment, stdout=PIPE, stderr=PIPE) - stdoutstring, stderrstring = process.communicate() - stdoutstring = str(stdoutstring, 'utf-8') - lines = stdoutstring.splitlines() - result = [] - for line in lines: - if line.startswith('muse_worker_gpu:'): - result.append(('muse_worker_gpu', 'GPU',)) - elif line.startswith('muse_worker_grape:'): - result.append(('muse_worker_grape', 'GRAPE6',)) - elif line.startswith('muse_worker_'): - index_of_the_colon = line.index(':') - if(index_of_the_colon > 0): - targetname = line[len('muse_worker_'):index_of_the_colon] - if '%' not in targetname: - result.append((line[:index_of_the_colon], targetname,)) - elif line.startswith('worker_code_'): - index_of_the_colon = line.index(':') - if(index_of_the_colon > 0): - targetname = line[len('worker_code_'):index_of_the_colon] - if '%' not in targetname: - result.append((line[:index_of_the_colon], targetname,)) - elif line.startswith(name + '_worker_'): - index_of_the_colon = line.index(':') - if(index_of_the_colon > 0): - targetname = line[len(name + '_worker_'):index_of_the_colon] - if '%' not in targetname: - result.append((line[:index_of_the_colon], targetname,)) - - result = list(set(result)) - - return result - - def call(self, arguments, buildlogfile=None, **keyword_arguments): - stringio = [] - - self.announce(' '.join(arguments), log.DEBUG) - - process = Popen( - arguments, - stdout=PIPE, - stderr=STDOUT, - **keyword_arguments - ) - - while True: - line = process.stdout.readline() - if len(line) == 0: - break - - if buildlogfile is not None: - buildlogfile.write(line) - self.announce(line[:-1].decode("utf-8"), log.DEBUG) - stringio.append(str(line, 'utf-8')) - - result = process.wait() - content = ''.join(stringio) - - if result != 0: - self.announce("error in call, tail output:\n", log.INFO) - self.announce(''.join(stringio[-100:]), log.INFO) - self.announce("-"*80, log.INFO) - - return result, content - - def build_environment(self): - environment = self.environment.copy() - environment.update(os.environ) - path = os.path.join(environment["MUSE_PACKAGE_DIR"], "src") - if environment["MUSE_PACKAGE_DIR"] != environment["AMUSE_DIR"]: - path = path+":"+os.path.join(environment["AMUSE_DIR"], "src") - path = path+':'+environment.get("PYTHONPATH", "") - environment["PYTHONPATH"] = path - return environment - - def do_clean(self): - environment = self.build_environment() - - for x in self.makefile_paths(self.lib_dir): - self.announce("cleaning libary " + x) - self.call(['make', '-C', x, 'clean'], env=environment) - - for x in self.makefile_paths(self.codes_dir): - if os.path.exists(x): - self.announce("cleaning " + x) - self.call(['make', '-C', x, 'clean'], env=environment) - - def do_distclean(self): - environment = self.build_environment() - - for x in self.makefile_paths(self.lib_dir): - self.announce("cleaning libary:" + x) - self.call(['make', '-C', x, 'distclean'], env=environment) - - for x in self.makefile_paths(self.codes_dir): - self.announce("cleaning community code:" + x) - self.call(['make', '-C', x, 'distclean'], env=environment) - - -class SplitOutput(object): - def __init__(self, file1, file2): - self.file1 = file1 - self.file2 = file2 - - def __del__(self): - self.close() - - def close(self): - self.file1.close() - self.file2.close() - - def write(self, text): - self.file1.write(text) - self.file2.write(text) - - def flush(self): - self.file1.flush() - self.file2.flush() - - -class BuildCodes(CodeCommand): - - description = "build interfaces to codes" - - user_options = list(CodeCommand.user_options) - user_options.append(('clean=', 'c', "clean code",), ) - - def initialize_options(self): - CodeCommand.initialize_options(self) - self.clean = 'no' - - def finalize_options(self): - CodeCommand.finalize_options(self) - self.must_clean = self.clean == 'yes' - self.must_dist_clean = self.clean == 'dist' - - def run_make_on_directory(self, codename, directory, target, environment): - buildlog = os.path.abspath("build.log") - - with open(buildlog, "a") as output: - output.write('*'*100) - output.write('\n') - output.write('Building code: {0}, target: {1}, in directory: {2}\n'.format(codename, target, directory)) - output.write('*'*100) - output.write('\n') - output.flush() - - if environment.get('AMUSE_USE_CCACHE', 0) != "1" or "CCACHE_BASEDIR" in environment: - build_environment = environment - else: - build_environment = deepcopy(environment) - build_environment["CCACHE_BASEDIR"] = abspath(directory) - - with open(buildlog, "ab") as output: - result, resultcontent = self.call( - ['make', '-C', directory, target], - output, - env=build_environment - ) - - with open(buildlog, "a") as output: - output.write('*'*100) - output.write('\n') - - return result, resultcontent - - def is_download_needed(self, string): - for line in string.splitlines(): - if 'DOWNLOAD_CODES' in line: - return True - return False - - def is_cuda_needed(self, string): - for line in string.splitlines(): - if 'CUDA_TK variable is not set' in line: - return True - if 'CUDA_SDK variable is not set' in line: - return True - return False - - def are_python_imports_needed(self, string): - for line in string.splitlines(): - if 'Python imports not available' in line: - return True - return False - - def run(self): - if self.must_clean: - self.do_clean() - if self.must_dist_clean: - self.do_distclean() - - not_build = list() - is_download_needed = list() - is_cuda_needed = list() - not_build_special = {} - are_python_imports_needed = list() - build = list() - lib_build = list() - lib_not_build = list() - environment = self.build_environment() - - buildlog = 'build.log' - - self.announce("building libraries and community codes", level=log.INFO) - self.announce("build, for logging, see '{0}'".format(buildlog), level=log.INFO) - - with open(buildlog, "w") as output: - output.write('*'*100) - output.write('\n') - output.write('Building libraries and codes\n') - output.write('*'*100) - output.write('\n') - - if not self.lib_dir == self.lib_src_dir: - self.copy_build_prereq_to_build_dir() - self.copy_lib_to_build_dir() - - for x in self.makefile_paths(self.lib_dir): - - shortname = x[len(self.lib_dir) + 1:] + '-library' - starttime = datetime.datetime.now() - self.announce("[{1:%H:%M:%S}] building {0}".format(shortname, starttime), level=log.INFO) - returncode, outputlog = self.run_make_on_directory(shortname, x, 'all', environment) - - endtime = datetime.datetime.now() - if returncode == 2: - self.announce("[{2:%H:%M:%S}] building {0}, failed, see {1!r} for error log".format(shortname, buildlog, endtime), level=log.DEBUG) - if self.is_download_needed(outputlog): - is_download_needed.append(x[len(self.lib_dir) + 1:]) - elif self.is_cuda_needed(outputlog): - is_cuda_needed.append(x[len(self.lib_dir) + 1:]) - else: - lib_not_build.append(shortname) - else: - self.announce("[{1:%H:%M:%S}] building {0}, succeeded".format(shortname, endtime), level=log.DEBUG) - lib_build.append(shortname) - - if not self.codes_dir == self.codes_src_dir: - self.copy_codes_to_build_dir() - - # environment.update(self.environment) - makefile_paths = list(self.makefile_paths(self.codes_dir)) - - build_to_special_targets = {} - - for x in makefile_paths: - shortname = x[len(self.codes_dir) + 1:].lower() - starttime = datetime.datetime.now() - # For binary builds we do not want - # to distribute mesa, it will make the - # download size from about 100mb size - # to > 1Gb size. - # - # Could we remove some of the data files from mesa? - # - if not self.inplace and shortname == 'mesa': - self.announce("[{1:%H:%M:%S}] skipping {0}".format(shortname, starttime), level=log.INFO) - continue - - self.announce("[{1:%H:%M:%S}] building {0}".format(shortname, starttime), level=log.INFO) - returncode, outputlog = self.run_make_on_directory(shortname, x, 'all', environment) - endtime = datetime.datetime.now() - if returncode > 0: - self.announce( - "[{2:%H:%M:%S}] building {0}, failed, see {1!r} for error log".format(shortname, buildlog, endtime), - level=log.DEBUG - ) - if self.is_download_needed(outputlog): - is_download_needed.append(shortname) - elif self.is_cuda_needed(outputlog): - is_cuda_needed.append(shortname) - elif self.are_python_imports_needed(outputlog): - are_python_imports_needed.append(shortname) - else: - not_build.append(shortname) - - if self.is_mpi_enabled(): - continue - else: - build.append(shortname) - is_built = True - self.announce( - "[{1:%H:%M:%S}] building {0}, succeeded".format(shortname, endtime), - level=log.DEBUG - ) - - if not self.variant: - continue - - special_targets = self.get_special_targets(shortname, x, environment) - for target, target_name in special_targets: - starttime = datetime.datetime.now() - self.announce( - "[{2:%H:%M:%S}] building {0} - {1}".format(shortname, target_name, starttime), - level=log.DEBUG - ) - returncode, outputlog = self.run_make_on_directory(shortname, x, target, environment) - endtime = datetime.datetime.now() - if returncode > 0: - specials_list = not_build_special.setdefault(shortname,[]) - specials_list.append(target_name) - self.announce( - "[{3:%H:%M:%S}] building {0} - {1}, failed, see {2!r} for error log".format(shortname, target_name, buildlog, endtime), - level=log.DEBUG - ) - else: - build_to_special_targets.setdefault(shortname, list()).append(target_name) - self.announce( - "[{2:%H:%M:%S}] building {0} - {1}, succeeded".format(shortname, target_name, endtime), level=log.DEBUG - ) - - # if supportrc["framework_install"]: - # self.copy_config_to_build_dir() - - if not self.codes_dir == self.codes_src_dir: - # self.copy_worker_codes_to_build_dir() - self.copy_worker_codes() - - with open(buildlog, "a") as output: - output.write('*'*80) - output.write('\n') - output.write('Building finished\n') - output.write('*'*80) - output.write('\n') - - self.announce("Environment variables") - self.announce("="*80) - sorted_keys = sorted(self.environment.keys()) - for x in sorted_keys: - self.announce("%s\t%s" % (x, self.environment[x])) - - if not self.is_mpi_enabled(): - all_build = set(build) - not_build_copy = [] - for x in not_build: - if x in build_to_special_targets: - if x not in all_build: - build.append(x) - all_build.add(x) - else: - not_build_copy.append(x) - not_build = not_build_copy - - if ( - not_build - or not_build_special - or is_download_needed - or is_cuda_needed - or are_python_imports_needed - ): - if not_build: - level = log.WARN - else: - level = log.INFO - if not_build: - self.announce( - "Community codes not built (because of errors/ missing libraries):", - level=level - ) - self.announce("="*80, level=level) - for x in not_build: - self.announce(' * {0}'.format(x), level=level) - if not_build_special: - self.announce("Optional builds skipped, need special libraries:", level=level) - for x in sorted(not_build_special.keys()): - self.announce(' * {0} - {1}'.format(x, ', '.join(not_build_special[x])), level=level) - if is_cuda_needed: - self.announce("Optional builds skipped, need CUDA/GPU libraries:", level=level) - for x in is_cuda_needed: - self.announce(' * {0}'.format(x), level=level) - if are_python_imports_needed: - self.announce("Optional builds skipped, need additional python packages:", level=level) - for x in are_python_imports_needed: - self.announce(' * {0}'.format(x), level=level) - if is_download_needed: - self.announce("Optional builds skipped, need separate download", level=level) - for x in is_download_needed: - self.announce( - f' * {x} , make {x}.code DOWNLOAD_CODES=1', level=level - ) - - self.announce("="*80, level=level) - - if build: - level = log.INFO - self.announce("Community codes built", level=level) - self.announce("="*80, level=level) - for x in build: - if x in build_to_special_targets: - y = build_to_special_targets[x] - self.announce('* {0} ({1})'.format(x, ','.join(y)), level=level) - else: - self.announce('* {0}'.format(x), level=level) - self.announce("="*80, level=level) - - level = log.INFO - self.announce( - "{0} out of {1} codes built, {2} out of {3} libraries built".format( - len(build), - len(build) + len(not_build), - len(lib_build), - len(lib_build) + len(lib_not_build) - ), - level=level - ) - self.announce("(not all codes and libraries need to be built)") - - if self.config and (not hasattr(self.config, 'java') or not hasattr(self.config.java, 'is_enabled')): - self.announce( - "Your configuration is out of date, please rerun configure", - level=level - ) - - allow_build_failures=environment.get("AMUSE_ALLOW_BUILD_FAILURES", supportrc["allow_build_failures"]) - - if allow_build_failures=="none" and len(not_build)>0: - raise Exception("Unexpected build failure(s) detected. Aborting.") - if allow_build_failures=="some" and len(not_build)>0 and len(build)==0: - raise Exception("No succesful builds detected. Aborting.") - if allow_build_failures=="all" and len(not_build)>0 and len(build)==0: - self.announce("Continuing despite apparent build failure", level=level) - - -class BuildLibraries(BuildCodes): - - description = "build just the supporting libraries" - - def subdirs_in_path(self,path): - # bit hackish way to filter out non lib stuff - if path not in [self.lib_dir, self.lib_src_dir]: - return - - if not os.path.exists(path): - return - - names = sorted(os.listdir(path)) - for name in names: - if name.startswith('.'): - continue - - path_ = os.path.join(path, name) - if os.path.isdir(path_): - yield path_ - - -# the following two are for convenience, not strictly necessary -class BuildLibraries_inplace(BuildLibraries): - - description = "build just the supporting libraries, in place" - - def initialize_options(self): - BuildLibraries.initialize_options(self) - self.inplace=True - -class BuildCodes_inplace(BuildCodes): - - description = "build interfaces to codes, in place" - - def initialize_options(self): - BuildCodes.initialize_options(self) - self.inplace = True - - -class ConfigureCodes(CodeCommand): - - description = "run configure for amuse" - - def run(self): - if os.path.exists('config.mk') or self.config: - self.announce("Already configured, not running configure", level=2) - return - environment = self.build_environment() - self.announce("Running configure for AMUSE", level=2) - result,content=self.call(['./configure'], env=environment, shell=True) - if not os.path.exists('config.mk'): - self.announce("config.mk not generated; output of configure:", level=2) - self.announce(content, level=2) - raise Exception("configure failed") - with open("config.mk") as infile: - self.announce("configure generated config.mk", level=2) - self.announce("="*80, level=2) - for line in infile: - self.announce(line[:-1], level=2) - self.announce("="*80, level=2) - - -class CleanCodes(CodeCommand): - - description = "clean build products in codes" - - def run(self): - self.announce("Cleaning libraries and community codes", level=2) - self.do_clean() - - -class DistCleanCodes(CodeCommand): - - description = "clean for distribution" - - def run(self): - self.announce("Cleaning for distribution, libraries and community codes", level=2) - self.do_distclean() - - -class BuildOneCode(BuildCodes): - description = "build one code" - - user_options = list(BuildCodes.user_options) - user_options.append(('code-name=', 'n', "name of the code",), ) - - def initialize_options(self): - BuildCodes.initialize_options(self) - self.code_name = None - - def finalize_options(self): - BuildCodes.finalize_options(self) - if self.code_name is None: - raise Exception("no code was specified") - - def subdirs_in_path(self,path): - if not os.path.exists(path): - return - - names = os.listdir(path) - for name in names: - if name.startswith('.'): - continue - if not name.lower().startswith(self.code_name.lower()): - continue - path_ = os.path.join(path, name) - if os.path.isdir(path_): - yield path_ - - def run(self): - if not self.inplace: - self.run_command("build_py") - - BuildCodes.run(self) - -class Clean(clean): - # make sure sub_commands are independent - sub_commands = list(clean.sub_commands) - - def run(self): - for cmd_name in self.get_sub_commands(): - self.run_command(cmd_name) - -class Install(install): - sub_commands = list(install.sub_commands) - - def run(self): - # this ensures sub commands are run first (only run once) - for cmd_name in self.get_sub_commands(): - self.run_command(cmd_name) - - install.run(self) - -class Develop(develop): - - sub_commands = list(develop.sub_commands) - - def run(self): - # this ensures sub commands are run first (only run once) - for cmd_name in self.get_sub_commands(): - self.run_command(cmd_name) - - develop.run(self) - -class Editable_wheel(editable_wheel): - - sub_commands = list(develop.sub_commands) - - def run(self): - build.sub_commands.remove(('build_codes', None)) - build.sub_commands.append(('build_libraries_in_place', None)) - - # this ensures sub commands are run first (only run once) - for cmd_name in self.get_sub_commands(): - self.run_command(cmd_name) - - editable_wheel.run(self) - -def setup_commands(): - mapping_from_command_name_to_command_class = { - 'build_codes': BuildCodes, - 'build_code': BuildOneCode, - 'clean_codes': CleanCodes, - 'dist_clean': DistCleanCodes, - 'clean_python': clean, - 'clean': Clean, - 'install': Install, - 'build_libraries': BuildLibraries, - 'build_libraries_in_place': BuildLibraries_inplace, - 'install_libraries': InstallLibraries, - 'develop': Develop, - 'develop_build': BuildCodes_inplace, - 'editable_wheel': Editable_wheel - } - - build.sub_commands.append(('build_codes', None)) - Clean.sub_commands.append(('clean_codes', None)) - Clean.sub_commands.append(('clean_python', None)) - Install.sub_commands.append(('install_libraries', None)) - Develop.sub_commands.append(('build_libraries_in_place', None)) - - if supportrc["framework_install"]: - mapping_from_command_name_to_command_class.update( - { - 'configure_codes': ConfigureCodes, - 'generate_install_ini': GenerateInstallIni, - 'generate_main': generate_main, - } - ) - build.sub_commands.insert(0, ('configure_codes', None)) - Install.sub_commands.insert(0, ('generate_install_ini', None)) - Develop.sub_commands.insert(0, ('configure_codes', None)) - - return mapping_from_command_name_to_command_class diff --git a/support/shared/config.guess b/support/shared/config.guess new file mode 100755 index 0000000000..f6d217a49f --- /dev/null +++ b/support/shared/config.guess @@ -0,0 +1,1812 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright 1992-2024 Free Software Foundation, Inc. + +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2024-01-01' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). +# +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. +# +# You can get the latest version of this script from: +# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess +# +# Please send patches to . + + +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system '$me' is run on. + +Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright 1992-2024 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try '$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +# Just in case it came from the environment. +GUESS= + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still +# use 'HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +tmp= +# shellcheck disable=SC2172 +trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 + +set_cc_for_build() { + # prevent multiple calls if $tmp is already set + test "$tmp" && return 0 + : "${TMPDIR=/tmp}" + # shellcheck disable=SC2039,SC3028 + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } + dummy=$tmp/dummy + case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in + ,,) echo "int x;" > "$dummy.c" + for driver in cc gcc c89 c99 ; do + if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then + CC_FOR_BUILD=$driver + break + fi + done + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; + esac +} + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if test -f /.attbin/uname ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +case $UNAME_SYSTEM in +Linux|GNU|GNU/*) + LIBC=unknown + + set_cc_for_build + cat <<-EOF > "$dummy.c" + #if defined(__ANDROID__) + LIBC=android + #else + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #elif defined(__GLIBC__) + LIBC=gnu + #elif defined(__LLVM_LIBC__) + LIBC=llvm + #else + #include + /* First heuristic to detect musl libc. */ + #ifdef __DEFINED_va_list + LIBC=musl + #endif + #endif + #endif + EOF + cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + eval "$cc_set_libc" + + # Second heuristic to detect musl libc. + if [ "$LIBC" = unknown ] && + command -v ldd >/dev/null && + ldd --version 2>&1 | grep -q ^musl; then + LIBC=musl + fi + + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + if [ "$LIBC" = unknown ]; then + LIBC=gnu + fi + ;; +esac + +# Note: order is significant - the case branches are not exclusive. + +case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ + /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + echo unknown)` + case $UNAME_MACHINE_ARCH in + aarch64eb) machine=aarch64_be-unknown ;; + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + earmv*) + arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` + machine=${arch}${endian}-unknown + ;; + *) machine=$UNAME_MACHINE_ARCH-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently (or will in the future) and ABI. + case $UNAME_MACHINE_ARCH in + earm*) + os=netbsdelf + ;; + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # Determine ABI tags. + case $UNAME_MACHINE_ARCH in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case $UNAME_VERSION in + Debian*) + release='-gnu' + ;; + *) + release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + GUESS=$machine-${os}${release}${abi-} + ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE + ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE + ;; + *:SecBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE + ;; + *:LibertyBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE + ;; + *:MidnightBSD:*:*) + GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE + ;; + *:ekkoBSD:*:*) + GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE + ;; + *:SolidBSD:*:*) + GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE + ;; + *:OS108:*:*) + GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE + ;; + macppc:MirBSD:*:*) + GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE + ;; + *:MirBSD:*:*) + GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE + ;; + *:Sortix:*:*) + GUESS=$UNAME_MACHINE-unknown-sortix + ;; + *:Twizzler:*:*) + GUESS=$UNAME_MACHINE-unknown-twizzler + ;; + *:Redox:*:*) + GUESS=$UNAME_MACHINE-unknown-redox + ;; + mips:OSF1:*.*) + GUESS=mips-dec-osf1 + ;; + alpha:OSF1:*:*) + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + trap '' 0 + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case $ALPHA_CPU_TYPE in + "EV4 (21064)") + UNAME_MACHINE=alpha ;; + "EV4.5 (21064)") + UNAME_MACHINE=alpha ;; + "LCA4 (21066/21068)") + UNAME_MACHINE=alpha ;; + "EV5 (21164)") + UNAME_MACHINE=alphaev5 ;; + "EV5.6 (21164A)") + UNAME_MACHINE=alphaev56 ;; + "EV5.6 (21164PC)") + UNAME_MACHINE=alphapca56 ;; + "EV5.7 (21164PC)") + UNAME_MACHINE=alphapca57 ;; + "EV6 (21264)") + UNAME_MACHINE=alphaev6 ;; + "EV6.7 (21264A)") + UNAME_MACHINE=alphaev67 ;; + "EV6.8CB (21264C)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8AL (21264B)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8CX (21264D)") + UNAME_MACHINE=alphaev68 ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE=alphaev69 ;; + "EV7 (21364)") + UNAME_MACHINE=alphaev7 ;; + "EV7.9 (21364A)") + UNAME_MACHINE=alphaev79 ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + GUESS=$UNAME_MACHINE-dec-osf$OSF_REL + ;; + Amiga*:UNIX_System_V:4.0:*) + GUESS=m68k-unknown-sysv4 + ;; + *:[Aa]miga[Oo][Ss]:*:*) + GUESS=$UNAME_MACHINE-unknown-amigaos + ;; + *:[Mm]orph[Oo][Ss]:*:*) + GUESS=$UNAME_MACHINE-unknown-morphos + ;; + *:OS/390:*:*) + GUESS=i370-ibm-openedition + ;; + *:z/VM:*:*) + GUESS=s390-ibm-zvmoe + ;; + *:OS400:*:*) + GUESS=powerpc-ibm-os400 + ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + GUESS=arm-acorn-riscix$UNAME_RELEASE + ;; + arm*:riscos:*:*|arm*:RISCOS:*:*) + GUESS=arm-unknown-riscos + ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + GUESS=hppa1.1-hitachi-hiuxmpp + ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + case `(/bin/universe) 2>/dev/null` in + att) GUESS=pyramid-pyramid-sysv3 ;; + *) GUESS=pyramid-pyramid-bsd ;; + esac + ;; + NILE*:*:*:dcosx) + GUESS=pyramid-pyramid-svr4 + ;; + DRS?6000:unix:4.0:6*) + GUESS=sparc-icl-nx6 + ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) GUESS=sparc-icl-nx7 ;; + esac + ;; + s390x:SunOS:*:*) + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL + ;; + sun4H:SunOS:5.*:*) + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-hal-solaris2$SUN_REL + ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-sun-solaris2$SUN_REL + ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + GUESS=i386-pc-auroraux$UNAME_RELEASE + ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + set_cc_for_build + SUN_ARCH=i386 + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH=x86_64 + fi + fi + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=$SUN_ARCH-pc-solaris2$SUN_REL + ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-sun-solaris3$SUN_REL + ;; + sun4*:SunOS:*:*) + case `/usr/bin/arch -k` in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like '4.1.3-JL'. + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` + GUESS=sparc-sun-sunos$SUN_REL + ;; + sun3*:SunOS:*:*) + GUESS=m68k-sun-sunos$UNAME_RELEASE + ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 + case `/bin/arch` in + sun3) + GUESS=m68k-sun-sunos$UNAME_RELEASE + ;; + sun4) + GUESS=sparc-sun-sunos$UNAME_RELEASE + ;; + esac + ;; + aushp:SunOS:*:*) + GUESS=sparc-auspex-sunos$UNAME_RELEASE + ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + GUESS=m68k-milan-mint$UNAME_RELEASE + ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + GUESS=m68k-hades-mint$UNAME_RELEASE + ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + GUESS=m68k-unknown-mint$UNAME_RELEASE + ;; + m68k:machten:*:*) + GUESS=m68k-apple-machten$UNAME_RELEASE + ;; + powerpc:machten:*:*) + GUESS=powerpc-apple-machten$UNAME_RELEASE + ;; + RISC*:Mach:*:*) + GUESS=mips-dec-mach_bsd4.3 + ;; + RISC*:ULTRIX:*:*) + GUESS=mips-dec-ultrix$UNAME_RELEASE + ;; + VAX*:ULTRIX*:*:*) + GUESS=vax-dec-ultrix$UNAME_RELEASE + ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + GUESS=clipper-intergraph-clix$UNAME_RELEASE + ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && + dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`"$dummy" "$dummyarg"` && + { echo "$SYSTEM_NAME"; exit; } + GUESS=mips-mips-riscos$UNAME_RELEASE + ;; + Motorola:PowerMAX_OS:*:*) + GUESS=powerpc-motorola-powermax + ;; + Motorola:*:4.3:PL8-*) + GUESS=powerpc-harris-powermax + ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + GUESS=powerpc-harris-powermax + ;; + Night_Hawk:Power_UNIX:*:*) + GUESS=powerpc-harris-powerunix + ;; + m88k:CX/UX:7*:*) + GUESS=m88k-harris-cxux7 + ;; + m88k:*:4*:R4*) + GUESS=m88k-motorola-sysv4 + ;; + m88k:*:3*:R3*) + GUESS=m88k-motorola-sysv3 + ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 + then + if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ + test "$TARGET_BINARY_INTERFACE"x = x + then + GUESS=m88k-dg-dgux$UNAME_RELEASE + else + GUESS=m88k-dg-dguxbcs$UNAME_RELEASE + fi + else + GUESS=i586-dg-dgux$UNAME_RELEASE + fi + ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + GUESS=m88k-dolphin-sysv3 + ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + GUESS=m88k-motorola-sysv3 + ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + GUESS=m88k-tektronix-sysv3 + ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + GUESS=m68k-tektronix-bsd + ;; + *:IRIX*:*:*) + IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` + GUESS=mips-sgi-irix$IRIX_REL + ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id + ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + GUESS=i386-ibm-aix + ;; + ia64:AIX:*:*) + if test -x /usr/bin/oslevel ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=$UNAME_VERSION.$UNAME_RELEASE + fi + GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV + ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` + then + GUESS=$SYSTEM_NAME + else + GUESS=rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + GUESS=rs6000-ibm-aix3.2.4 + else + GUESS=rs6000-ibm-aix3.2 + fi + ;; + *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if test -x /usr/bin/lslpp ; then + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` + else + IBM_REV=$UNAME_VERSION.$UNAME_RELEASE + fi + GUESS=$IBM_ARCH-ibm-aix$IBM_REV + ;; + *:AIX:*:*) + GUESS=rs6000-ibm-aix + ;; + ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) + GUESS=romp-ibm-bsd4.4 + ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to + ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + GUESS=rs6000-bull-bosx + ;; + DPX/2?00:B.O.S.:*:*) + GUESS=m68k-bull-sysv3 + ;; + 9000/[34]??:4.3bsd:1.*:*) + GUESS=m68k-hp-bsd + ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + GUESS=m68k-hp-bsd4.4 + ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` + case $UNAME_MACHINE in + 9000/31?) HP_ARCH=m68000 ;; + 9000/[34]??) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if test -x /usr/bin/getconf; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case $sc_cpu_version in + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case $sc_kernel_bits in + 32) HP_ARCH=hppa2.0n ;; + 64) HP_ARCH=hppa2.0w ;; + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 + esac ;; + esac + fi + if test "$HP_ARCH" = ""; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if test "$HP_ARCH" = hppa2.0w + then + set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH=hppa2.0w + else + HP_ARCH=hppa64 + fi + fi + GUESS=$HP_ARCH-hp-hpux$HPUX_REV + ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` + GUESS=ia64-hp-hpux$HPUX_REV + ;; + 3050*:HI-UX:*:*) + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && + { echo "$SYSTEM_NAME"; exit; } + GUESS=unknown-hitachi-hiuxwe2 + ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) + GUESS=hppa1.1-hp-bsd + ;; + 9000/8??:4.3bsd:*:*) + GUESS=hppa1.0-hp-bsd + ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + GUESS=hppa1.0-hp-mpeix + ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) + GUESS=hppa1.1-hp-osf + ;; + hp8??:OSF1:*:*) + GUESS=hppa1.0-hp-osf + ;; + i*86:OSF1:*:*) + if test -x /usr/sbin/sysversion ; then + GUESS=$UNAME_MACHINE-unknown-osf1mk + else + GUESS=$UNAME_MACHINE-unknown-osf1 + fi + ;; + parisc*:Lites*:*:*) + GUESS=hppa1.1-hp-lites + ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + GUESS=c1-convex-bsd + ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + GUESS=c34-convex-bsd + ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + GUESS=c38-convex-bsd + ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + GUESS=c4-convex-bsd + ;; + CRAY*Y-MP:*:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=ymp-cray-unicos$CRAY_REL + ;; + CRAY*[A-Z]90:*:*:*) + echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=t90-cray-unicos$CRAY_REL + ;; + CRAY*T3E:*:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=alphaev5-cray-unicosmk$CRAY_REL + ;; + CRAY*SV1:*:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=sv1-cray-unicos$CRAY_REL + ;; + *:UNICOS/mp:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=craynv-cray-unicosmp$CRAY_REL + ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` + GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} + ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` + GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} + ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE + ;; + sparc*:BSD/OS:*:*) + GUESS=sparc-unknown-bsdi$UNAME_RELEASE + ;; + *:BSD/OS:*:*) + GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE + ;; + arm:FreeBSD:*:*) + UNAME_PROCESSOR=`uname -p` + set_cc_for_build + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi + else + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf + fi + ;; + *:FreeBSD:*:*) + UNAME_PROCESSOR=`uname -p` + case $UNAME_PROCESSOR in + amd64) + UNAME_PROCESSOR=x86_64 ;; + i386) + UNAME_PROCESSOR=i586 ;; + esac + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL + ;; + i*:CYGWIN*:*) + GUESS=$UNAME_MACHINE-pc-cygwin + ;; + *:MINGW64*:*) + GUESS=$UNAME_MACHINE-pc-mingw64 + ;; + *:MINGW*:*) + GUESS=$UNAME_MACHINE-pc-mingw32 + ;; + *:MSYS*:*) + GUESS=$UNAME_MACHINE-pc-msys + ;; + i*:PW*:*) + GUESS=$UNAME_MACHINE-pc-pw32 + ;; + *:SerenityOS:*:*) + GUESS=$UNAME_MACHINE-pc-serenity + ;; + *:Interix*:*) + case $UNAME_MACHINE in + x86) + GUESS=i586-pc-interix$UNAME_RELEASE + ;; + authenticamd | genuineintel | EM64T) + GUESS=x86_64-unknown-interix$UNAME_RELEASE + ;; + IA64) + GUESS=ia64-unknown-interix$UNAME_RELEASE + ;; + esac ;; + i*:UWIN*:*) + GUESS=$UNAME_MACHINE-pc-uwin + ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + GUESS=x86_64-pc-cygwin + ;; + prep*:SunOS:5.*:*) + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=powerpcle-unknown-solaris2$SUN_REL + ;; + *:GNU:*:*) + # the GNU system + GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` + GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` + GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL + ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` + GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC + ;; + x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*) + GUESS="$UNAME_MACHINE-pc-managarm-mlibc" + ;; + *:[Mm]anagarm:*:*) + GUESS="$UNAME_MACHINE-unknown-managarm-mlibc" + ;; + *:Minix:*:*) + GUESS=$UNAME_MACHINE-unknown-minix + ;; + aarch64:Linux:*:*) + set_cc_for_build + CPU=$UNAME_MACHINE + LIBCABI=$LIBC + if test "$CC_FOR_BUILD" != no_compiler_found; then + ABI=64 + sed 's/^ //' << EOF > "$dummy.c" + #ifdef __ARM_EABI__ + #ifdef __ARM_PCS_VFP + ABI=eabihf + #else + ABI=eabi + #endif + #endif +EOF + cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` + eval "$cc_set_abi" + case $ABI in + eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;; + esac + fi + GUESS=$CPU-unknown-linux-$LIBCABI + ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + arm*:Linux:*:*) + set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi + else + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf + fi + fi + ;; + avr32*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + cris:Linux:*:*) + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; + crisv32:Linux:*:*) + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; + e2k:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + frv:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + hexagon:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + i*86:Linux:*:*) + GUESS=$UNAME_MACHINE-pc-linux-$LIBC + ;; + ia64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + k1om:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + kvx:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + kvx:cos:*:*) + GUESS=$UNAME_MACHINE-unknown-cos + ;; + kvx:mbr:*:*) + GUESS=$UNAME_MACHINE-unknown-mbr + ;; + loongarch32:Linux:*:* | loongarch64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + m32r*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + m68*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + mips:Linux:*:* | mips64:Linux:*:*) + set_cc_for_build + IS_GLIBC=0 + test x"${LIBC}" = xgnu && IS_GLIBC=1 + sed 's/^ //' << EOF > "$dummy.c" + #undef CPU + #undef mips + #undef mipsel + #undef mips64 + #undef mips64el + #if ${IS_GLIBC} && defined(_ABI64) + LIBCABI=gnuabi64 + #else + #if ${IS_GLIBC} && defined(_ABIN32) + LIBCABI=gnuabin32 + #else + LIBCABI=${LIBC} + #endif + #endif + + #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa64r6 + #else + #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa32r6 + #else + #if defined(__mips64) + CPU=mips64 + #else + CPU=mips + #endif + #endif + #endif + + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + MIPS_ENDIAN=el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + MIPS_ENDIAN= + #else + MIPS_ENDIAN= + #endif + #endif +EOF + cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` + eval "$cc_set_vars" + test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } + ;; + mips64el:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + openrisc*:Linux:*:*) + GUESS=or1k-unknown-linux-$LIBC + ;; + or32:Linux:*:* | or1k*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + padre:Linux:*:*) + GUESS=sparc-unknown-linux-$LIBC + ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + GUESS=hppa64-unknown-linux-$LIBC + ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; + PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; + *) GUESS=hppa-unknown-linux-$LIBC ;; + esac + ;; + ppc64:Linux:*:*) + GUESS=powerpc64-unknown-linux-$LIBC + ;; + ppc:Linux:*:*) + GUESS=powerpc-unknown-linux-$LIBC + ;; + ppc64le:Linux:*:*) + GUESS=powerpc64le-unknown-linux-$LIBC + ;; + ppcle:Linux:*:*) + GUESS=powerpcle-unknown-linux-$LIBC + ;; + riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + s390:Linux:*:* | s390x:Linux:*:*) + GUESS=$UNAME_MACHINE-ibm-linux-$LIBC + ;; + sh64*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + sh*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + tile*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + vax:Linux:*:*) + GUESS=$UNAME_MACHINE-dec-linux-$LIBC + ;; + x86_64:Linux:*:*) + set_cc_for_build + CPU=$UNAME_MACHINE + LIBCABI=$LIBC + if test "$CC_FOR_BUILD" != no_compiler_found; then + ABI=64 + sed 's/^ //' << EOF > "$dummy.c" + #ifdef __i386__ + ABI=x86 + #else + #ifdef __ILP32__ + ABI=x32 + #endif + #endif +EOF + cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` + eval "$cc_set_abi" + case $ABI in + x86) CPU=i686 ;; + x32) LIBCABI=${LIBC}x32 ;; + esac + fi + GUESS=$CPU-pc-linux-$LIBCABI + ;; + xtensa*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + GUESS=i386-sequent-sysv4 + ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION + ;; + i*86:OS/2:*:*) + # If we were able to find 'uname', then EMX Unix compatibility + # is probably installed. + GUESS=$UNAME_MACHINE-pc-os2-emx + ;; + i*86:XTS-300:*:STOP) + GUESS=$UNAME_MACHINE-unknown-stop + ;; + i*86:atheos:*:*) + GUESS=$UNAME_MACHINE-unknown-atheos + ;; + i*86:syllable:*:*) + GUESS=$UNAME_MACHINE-pc-syllable + ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + GUESS=i386-unknown-lynxos$UNAME_RELEASE + ;; + i*86:*DOS:*:*) + GUESS=$UNAME_MACHINE-pc-msdosdjgpp + ;; + i*86:*:4.*:*) + UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL + else + GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL + fi + ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL + else + GUESS=$UNAME_MACHINE-pc-sysv32 + fi + ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configure will decide that + # this is a cross-build. + GUESS=i586-pc-msdosdjgpp + ;; + Intel:Mach:3*:*) + GUESS=i386-pc-mach3 + ;; + paragon:*:*:*) + GUESS=i860-intel-osf1 + ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 + fi + ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + GUESS=m68010-convergent-sysv + ;; + mc68k:UNIX:SYSTEM5:3.51m) + GUESS=m68k-convergent-sysv + ;; + M680?0:D-NIX:5.3:*) + GUESS=m68k-diab-dnix + ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + GUESS=m68k-unknown-lynxos$UNAME_RELEASE + ;; + mc68030:UNIX_System_V:4.*:*) + GUESS=m68k-atari-sysv4 + ;; + TSUNAMI:LynxOS:2.*:*) + GUESS=sparc-unknown-lynxos$UNAME_RELEASE + ;; + rs6000:LynxOS:2.*:*) + GUESS=rs6000-unknown-lynxos$UNAME_RELEASE + ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + GUESS=powerpc-unknown-lynxos$UNAME_RELEASE + ;; + SM[BE]S:UNIX_SV:*:*) + GUESS=mips-dde-sysv$UNAME_RELEASE + ;; + RM*:ReliantUNIX-*:*:*) + GUESS=mips-sni-sysv4 + ;; + RM*:SINIX-*:*:*) + GUESS=mips-sni-sysv4 + ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + GUESS=$UNAME_MACHINE-sni-sysv4 + else + GUESS=ns32k-sni-sysv + fi + ;; + PENTIUM:*:4.0*:*) # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort + # says + GUESS=i586-unisys-sysv4 + ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + GUESS=hppa1.1-stratus-sysv4 + ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + GUESS=i860-stratus-sysv4 + ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + GUESS=$UNAME_MACHINE-stratus-vos + ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + GUESS=hppa1.1-stratus-vos + ;; + mc68*:A/UX:*:*) + GUESS=m68k-apple-aux$UNAME_RELEASE + ;; + news*:NEWS-OS:6*:*) + GUESS=mips-sony-newsos6 + ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if test -d /usr/nec; then + GUESS=mips-nec-sysv$UNAME_RELEASE + else + GUESS=mips-unknown-sysv$UNAME_RELEASE + fi + ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + GUESS=powerpc-be-beos + ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + GUESS=powerpc-apple-beos + ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + GUESS=i586-pc-beos + ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + GUESS=i586-pc-haiku + ;; + ppc:Haiku:*:*) # Haiku running on Apple PowerPC + GUESS=powerpc-apple-haiku + ;; + *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat) + GUESS=$UNAME_MACHINE-unknown-haiku + ;; + SX-4:SUPER-UX:*:*) + GUESS=sx4-nec-superux$UNAME_RELEASE + ;; + SX-5:SUPER-UX:*:*) + GUESS=sx5-nec-superux$UNAME_RELEASE + ;; + SX-6:SUPER-UX:*:*) + GUESS=sx6-nec-superux$UNAME_RELEASE + ;; + SX-7:SUPER-UX:*:*) + GUESS=sx7-nec-superux$UNAME_RELEASE + ;; + SX-8:SUPER-UX:*:*) + GUESS=sx8-nec-superux$UNAME_RELEASE + ;; + SX-8R:SUPER-UX:*:*) + GUESS=sx8r-nec-superux$UNAME_RELEASE + ;; + SX-ACE:SUPER-UX:*:*) + GUESS=sxace-nec-superux$UNAME_RELEASE + ;; + Power*:Rhapsody:*:*) + GUESS=powerpc-apple-rhapsody$UNAME_RELEASE + ;; + *:Rhapsody:*:*) + GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE + ;; + arm64:Darwin:*:*) + GUESS=aarch64-apple-darwin$UNAME_RELEASE + ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + if command -v xcode-select > /dev/null 2> /dev/null && \ + ! xcode-select --print-path > /dev/null 2> /dev/null ; then + # Avoid executing cc if there is no toolchain installed as + # cc will be a stub that puts up a graphical alert + # prompting the user to install developer tools. + CC_FOR_BUILD=no_compiler_found + else + set_cc_for_build + fi + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc + fi + elif test "$UNAME_PROCESSOR" = i386 ; then + # uname -m returns i386 or x86_64 + UNAME_PROCESSOR=$UNAME_MACHINE + fi + GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE + ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = x86; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE + ;; + *:QNX:*:4*) + GUESS=i386-pc-qnx + ;; + NEO-*:NONSTOP_KERNEL:*:*) + GUESS=neo-tandem-nsk$UNAME_RELEASE + ;; + NSE-*:NONSTOP_KERNEL:*:*) + GUESS=nse-tandem-nsk$UNAME_RELEASE + ;; + NSR-*:NONSTOP_KERNEL:*:*) + GUESS=nsr-tandem-nsk$UNAME_RELEASE + ;; + NSV-*:NONSTOP_KERNEL:*:*) + GUESS=nsv-tandem-nsk$UNAME_RELEASE + ;; + NSX-*:NONSTOP_KERNEL:*:*) + GUESS=nsx-tandem-nsk$UNAME_RELEASE + ;; + *:NonStop-UX:*:*) + GUESS=mips-compaq-nonstopux + ;; + BS2000:POSIX*:*:*) + GUESS=bs2000-siemens-sysv + ;; + DS/*:UNIX_System_V:*:*) + GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE + ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "${cputype-}" = 386; then + UNAME_MACHINE=i386 + elif test "x${cputype-}" != x; then + UNAME_MACHINE=$cputype + fi + GUESS=$UNAME_MACHINE-unknown-plan9 + ;; + *:TOPS-10:*:*) + GUESS=pdp10-unknown-tops10 + ;; + *:TENEX:*:*) + GUESS=pdp10-unknown-tenex + ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + GUESS=pdp10-dec-tops20 + ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + GUESS=pdp10-xkl-tops20 + ;; + *:TOPS-20:*:*) + GUESS=pdp10-unknown-tops20 + ;; + *:ITS:*:*) + GUESS=pdp10-unknown-its + ;; + SEI:*:*:SEIUX) + GUESS=mips-sei-seiux$UNAME_RELEASE + ;; + *:DragonFly:*:*) + DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL + ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case $UNAME_MACHINE in + A*) GUESS=alpha-dec-vms ;; + I*) GUESS=ia64-dec-vms ;; + V*) GUESS=vax-dec-vms ;; + esac ;; + *:XENIX:*:SysV) + GUESS=i386-pc-xenix + ;; + i*86:skyos:*:*) + SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` + GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL + ;; + i*86:rdos:*:*) + GUESS=$UNAME_MACHINE-pc-rdos + ;; + i*86:Fiwix:*:*) + GUESS=$UNAME_MACHINE-pc-fiwix + ;; + *:AROS:*:*) + GUESS=$UNAME_MACHINE-unknown-aros + ;; + x86_64:VMkernel:*:*) + GUESS=$UNAME_MACHINE-unknown-esx + ;; + amd64:Isilon\ OneFS:*:*) + GUESS=x86_64-unknown-onefs + ;; + *:Unleashed:*:*) + GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE + ;; + *:Ironclad:*:*) + GUESS=$UNAME_MACHINE-unknown-ironclad + ;; +esac + +# Do we have a guess based on uname results? +if test "x$GUESS" != x; then + echo "$GUESS" + exit +fi + +# No uname command or uname output not recognized. +set_cc_for_build +cat > "$dummy.c" < +#include +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#include +#if defined(_SIZE_T_) || defined(SIGLOST) +#include +#endif +#endif +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); +#endif + +#if defined (vax) +#if !defined (ultrix) +#include +#if defined (BSD) +#if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +#else +#if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#endif +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#else +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname un; + uname (&un); + printf ("vax-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("vax-dec-ultrix\n"); exit (0); +#endif +#endif +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname *un; + uname (&un); + printf ("mips-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("mips-dec-ultrix\n"); exit (0); +#endif +#endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. +test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } + +echo "$0: unable to guess system type" >&2 + +case $UNAME_MACHINE:$UNAME_SYSTEM in + mips:Linux | mips64:Linux) + # If we got here on MIPS GNU/Linux, output extra information. + cat >&2 <&2 <&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` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = "$UNAME_MACHINE" +UNAME_RELEASE = "$UNAME_RELEASE" +UNAME_SYSTEM = "$UNAME_SYSTEM" +UNAME_VERSION = "$UNAME_VERSION" +EOF +fi + +exit 1 + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/support/shared/config.sub b/support/shared/config.sub new file mode 100755 index 0000000000..2c6a07ab3c --- /dev/null +++ b/support/shared/config.sub @@ -0,0 +1,1971 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright 1992-2024 Free Software Foundation, Inc. + +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2024-01-01' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). + + +# Please send patches to . +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS + +Canonicalize a configuration name. + +Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright 1992-2024 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try '$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo "$1" + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Split fields of configuration type +# shellcheck disable=SC2162 +saved_IFS=$IFS +IFS="-" read field1 field2 field3 field4 <&2 + exit 1 + ;; + *-*-*-*) + basic_machine=$field1-$field2 + basic_os=$field3-$field4 + ;; + *-*-*) + # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two + # parts + maybe_os=$field2-$field3 + case $maybe_os 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* | managarm-* \ + | windows-* ) + basic_machine=$field1 + basic_os=$maybe_os + ;; + android-linux) + basic_machine=$field1-unknown + basic_os=linux-android + ;; + *) + basic_machine=$field1-$field2 + basic_os=$field3 + ;; + esac + ;; + *-*) + # A lone config we happen to match not fitting any pattern + case $field1-$field2 in + decstation-3100) + basic_machine=mips-dec + basic_os= + ;; + *-*) + # Second component is usually, but not always the OS + case $field2 in + # Prevent following clause from handling this valid os + sun*os*) + basic_machine=$field1 + basic_os=$field2 + ;; + zephyr*) + basic_machine=$field1-unknown + basic_os=$field2 + ;; + # Manufacturers + dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ + | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ + | unicom* | ibm* | next | hp | isi* | apollo | altos* \ + | convergent* | ncr* | news | 32* | 3600* | 3100* \ + | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ + | ultra | tti* | harris | dolphin | highlevel | gould \ + | cbm | ns | masscomp | apple | axis | knuth | cray \ + | microblaze* | sim | cisco \ + | oki | wec | wrs | winbond) + basic_machine=$field1-$field2 + basic_os= + ;; + *) + basic_machine=$field1 + basic_os=$field2 + ;; + esac + ;; + esac + ;; + *) + # Convert single-component short-hands not valid as part of + # multi-component configurations. + case $field1 in + 386bsd) + basic_machine=i386-pc + basic_os=bsd + ;; + a29khif) + basic_machine=a29k-amd + basic_os=udi + ;; + adobe68k) + basic_machine=m68010-adobe + basic_os=scout + ;; + alliant) + basic_machine=fx80-alliant + basic_os= + ;; + altos | altos3068) + basic_machine=m68k-altos + basic_os= + ;; + am29k) + basic_machine=a29k-none + basic_os=bsd + ;; + amdahl) + basic_machine=580-amdahl + basic_os=sysv + ;; + amiga) + basic_machine=m68k-unknown + basic_os= + ;; + amigaos | amigados) + basic_machine=m68k-unknown + basic_os=amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + basic_os=sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + basic_os=sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + basic_os=bsd + ;; + aros) + basic_machine=i386-pc + basic_os=aros + ;; + aux) + basic_machine=m68k-apple + basic_os=aux + ;; + balance) + basic_machine=ns32k-sequent + basic_os=dynix + ;; + blackfin) + basic_machine=bfin-unknown + basic_os=linux + ;; + cegcc) + basic_machine=arm-unknown + basic_os=cegcc + ;; + convex-c1) + basic_machine=c1-convex + basic_os=bsd + ;; + convex-c2) + basic_machine=c2-convex + basic_os=bsd + ;; + convex-c32) + basic_machine=c32-convex + basic_os=bsd + ;; + convex-c34) + basic_machine=c34-convex + basic_os=bsd + ;; + convex-c38) + basic_machine=c38-convex + basic_os=bsd + ;; + cray) + basic_machine=j90-cray + basic_os=unicos + ;; + crds | unos) + basic_machine=m68k-crds + basic_os= + ;; + da30) + basic_machine=m68k-da30 + basic_os= + ;; + decstation | pmax | pmin | dec3100 | decstatn) + basic_machine=mips-dec + basic_os= + ;; + delta88) + basic_machine=m88k-motorola + basic_os=sysv3 + ;; + dicos) + basic_machine=i686-pc + basic_os=dicos + ;; + djgpp) + basic_machine=i586-pc + basic_os=msdosdjgpp + ;; + ebmon29k) + basic_machine=a29k-amd + basic_os=ebmon + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + basic_os=ose + ;; + gmicro) + basic_machine=tron-gmicro + basic_os=sysv + ;; + go32) + basic_machine=i386-pc + basic_os=go32 + ;; + h8300hms) + basic_machine=h8300-hitachi + basic_os=hms + ;; + h8300xray) + basic_machine=h8300-hitachi + basic_os=xray + ;; + h8500hms) + basic_machine=h8500-hitachi + basic_os=hms + ;; + harris) + basic_machine=m88k-harris + basic_os=sysv3 + ;; + hp300 | hp300hpux) + basic_machine=m68k-hp + basic_os=hpux + ;; + hp300bsd) + basic_machine=m68k-hp + basic_os=bsd + ;; + hppaosf) + basic_machine=hppa1.1-hp + basic_os=osf + ;; + hppro) + basic_machine=hppa1.1-hp + basic_os=proelf + ;; + i386mach) + basic_machine=i386-mach + basic_os=mach + ;; + isi68 | isi) + basic_machine=m68k-isi + basic_os=sysv + ;; + m68knommu) + basic_machine=m68k-unknown + basic_os=linux + ;; + magnum | m3230) + basic_machine=mips-mips + basic_os=sysv + ;; + merlin) + basic_machine=ns32k-utek + basic_os=sysv + ;; + mingw64) + basic_machine=x86_64-pc + basic_os=mingw64 + ;; + mingw32) + basic_machine=i686-pc + basic_os=mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + basic_os=mingw32ce + ;; + monitor) + basic_machine=m68k-rom68k + basic_os=coff + ;; + morphos) + basic_machine=powerpc-unknown + basic_os=morphos + ;; + moxiebox) + basic_machine=moxie-unknown + basic_os=moxiebox + ;; + msdos) + basic_machine=i386-pc + basic_os=msdos + ;; + msys) + basic_machine=i686-pc + basic_os=msys + ;; + mvs) + basic_machine=i370-ibm + basic_os=mvs + ;; + nacl) + basic_machine=le32-unknown + basic_os=nacl + ;; + ncr3000) + basic_machine=i486-ncr + basic_os=sysv4 + ;; + netbsd386) + basic_machine=i386-pc + basic_os=netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + basic_os=linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + basic_os=newsos + ;; + news1000) + basic_machine=m68030-sony + basic_os=newsos + ;; + necv70) + basic_machine=v70-nec + basic_os=sysv + ;; + nh3000) + basic_machine=m68k-harris + basic_os=cxux + ;; + nh[45]000) + basic_machine=m88k-harris + basic_os=cxux + ;; + nindy960) + basic_machine=i960-intel + basic_os=nindy + ;; + mon960) + basic_machine=i960-intel + basic_os=mon960 + ;; + nonstopux) + basic_machine=mips-compaq + basic_os=nonstopux + ;; + os400) + basic_machine=powerpc-ibm + basic_os=os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + basic_os=ose + ;; + os68k) + basic_machine=m68k-none + basic_os=os68k + ;; + paragon) + basic_machine=i860-intel + basic_os=osf + ;; + parisc) + basic_machine=hppa-unknown + basic_os=linux + ;; + psp) + basic_machine=mipsallegrexel-sony + basic_os=psp + ;; + pw32) + basic_machine=i586-unknown + basic_os=pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + basic_os=rdos + ;; + rdos32) + basic_machine=i386-pc + basic_os=rdos + ;; + rom68k) + basic_machine=m68k-rom68k + basic_os=coff + ;; + sa29200) + basic_machine=a29k-amd + basic_os=udi + ;; + sei) + basic_machine=mips-sei + basic_os=seiux + ;; + sequent) + basic_machine=i386-sequent + basic_os= + ;; + sps7) + basic_machine=m68k-bull + basic_os=sysv2 + ;; + st2000) + basic_machine=m68k-tandem + basic_os= + ;; + stratus) + basic_machine=i860-stratus + basic_os=sysv4 + ;; + sun2) + basic_machine=m68000-sun + basic_os= + ;; + sun2os3) + basic_machine=m68000-sun + basic_os=sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + basic_os=sunos4 + ;; + sun3) + basic_machine=m68k-sun + basic_os= + ;; + sun3os3) + basic_machine=m68k-sun + basic_os=sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + basic_os=sunos4 + ;; + sun4) + basic_machine=sparc-sun + basic_os= + ;; + sun4os3) + basic_machine=sparc-sun + basic_os=sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + basic_os=sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + basic_os=solaris2 + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + basic_os= + ;; + sv1) + basic_machine=sv1-cray + basic_os=unicos + ;; + symmetry) + basic_machine=i386-sequent + basic_os=dynix + ;; + t3e) + basic_machine=alphaev5-cray + basic_os=unicos + ;; + t90) + basic_machine=t90-cray + basic_os=unicos + ;; + toad1) + basic_machine=pdp10-xkl + basic_os=tops20 + ;; + tpf) + basic_machine=s390x-ibm + basic_os=tpf + ;; + udi29k) + basic_machine=a29k-amd + basic_os=udi + ;; + ultra3) + basic_machine=a29k-nyu + basic_os=sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + basic_os=none + ;; + vaxv) + basic_machine=vax-dec + basic_os=sysv + ;; + vms) + basic_machine=vax-dec + basic_os=vms + ;; + vsta) + basic_machine=i386-pc + basic_os=vsta + ;; + vxworks960) + basic_machine=i960-wrs + basic_os=vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + basic_os=vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + basic_os=vxworks + ;; + xbox) + basic_machine=i686-pc + basic_os=mingw32 + ;; + ymp) + basic_machine=ymp-cray + basic_os=unicos + ;; + *) + basic_machine=$1 + basic_os= + ;; + esac + ;; +esac + +# Decode 1-component or ad-hoc basic machines +case $basic_machine in + # Here we handle the default manufacturer of certain CPU types. It is in + # some cases the only manufacturer, in others, it is the most popular. + w89k) + cpu=hppa1.1 + vendor=winbond + ;; + op50n) + cpu=hppa1.1 + vendor=oki + ;; + op60c) + cpu=hppa1.1 + vendor=oki + ;; + ibm*) + cpu=i370 + vendor=ibm + ;; + orion105) + cpu=clipper + vendor=highlevel + ;; + mac | mpw | mac-mpw) + cpu=m68k + vendor=apple + ;; + pmac | pmac-mpw) + cpu=powerpc + vendor=apple + ;; + + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + cpu=m68000 + vendor=att + ;; + 3b*) + cpu=we32k + vendor=att + ;; + bluegene*) + cpu=powerpc + vendor=ibm + basic_os=cnk + ;; + decsystem10* | dec10*) + cpu=pdp10 + vendor=dec + basic_os=tops10 + ;; + decsystem20* | dec20*) + cpu=pdp10 + vendor=dec + basic_os=tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + cpu=m68k + vendor=motorola + ;; + dpx2*) + cpu=m68k + vendor=bull + basic_os=sysv3 + ;; + encore | umax | mmax) + cpu=ns32k + vendor=encore + ;; + elxsi) + cpu=elxsi + vendor=elxsi + basic_os=${basic_os:-bsd} + ;; + fx2800) + cpu=i860 + vendor=alliant + ;; + genix) + cpu=ns32k + vendor=ns + ;; + h3050r* | hiux*) + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + cpu=m68000 + vendor=hp + ;; + hp9k3[2-9][0-9]) + cpu=m68k + vendor=hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + cpu=hppa1.1 + vendor=hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + i*86v32) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv32 + ;; + i*86v4*) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv4 + ;; + i*86v) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv + ;; + i*86sol2) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=solaris2 + ;; + j90 | j90-cray) + cpu=j90 + vendor=cray + basic_os=${basic_os:-unicos} + ;; + iris | iris4d) + cpu=mips + vendor=sgi + case $basic_os in + irix*) + ;; + *) + basic_os=irix4 + ;; + esac + ;; + miniframe) + cpu=m68000 + vendor=convergent + ;; + *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) + cpu=m68k + vendor=atari + basic_os=mint + ;; + news-3600 | risc-news) + cpu=mips + vendor=sony + basic_os=newsos + ;; + next | m*-next) + cpu=m68k + vendor=next + case $basic_os in + openstep*) + ;; + nextstep*) + ;; + ns2*) + basic_os=nextstep2 + ;; + *) + basic_os=nextstep3 + ;; + esac + ;; + np1) + cpu=np1 + vendor=gould + ;; + op50n-* | op60c-*) + cpu=hppa1.1 + vendor=oki + basic_os=proelf + ;; + pa-hitachi) + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 + ;; + pbd) + cpu=sparc + vendor=tti + ;; + pbb) + cpu=m68k + vendor=tti + ;; + pc532) + cpu=ns32k + vendor=pc532 + ;; + pn) + cpu=pn + vendor=gould + ;; + power) + cpu=power + vendor=ibm + ;; + ps2) + cpu=i386 + vendor=ibm + ;; + rm[46]00) + cpu=mips + vendor=siemens + ;; + rtpc | rtpc-*) + cpu=romp + vendor=ibm + ;; + sde) + cpu=mipsisa32 + vendor=sde + basic_os=${basic_os:-elf} + ;; + simso-wrs) + cpu=sparclite + vendor=wrs + basic_os=vxworks + ;; + tower | tower-32) + cpu=m68k + vendor=ncr + ;; + vpp*|vx|vx-*) + cpu=f301 + vendor=fujitsu + ;; + w65) + cpu=w65 + vendor=wdc + ;; + w89k-*) + cpu=hppa1.1 + vendor=winbond + basic_os=proelf + ;; + none) + cpu=none + vendor=none + ;; + leon|leon[3-9]) + cpu=sparc + vendor=$basic_machine + ;; + leon-*|leon[3-9]-*) + cpu=sparc + vendor=`echo "$basic_machine" | sed 's/-.*//'` + ;; + + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read cpu vendor <&2 + exit 1 + ;; + esac + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $vendor in + digital*) + vendor=dec + ;; + commodore*) + vendor=cbm + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if test x"$basic_os" != x +then + +# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just +# set os. +obj= +case $basic_os in + gnu/linux*) + kernel=linux + os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` + ;; + os2-emx) + kernel=os2 + os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` + ;; + nto-qnx*) + kernel=nto + os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` + ;; + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read kernel os <&2 + fi + ;; + *) + echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2 + exit 1 + ;; +esac + +case $obj in + aout* | coff* | elf* | pe*) + ;; + '') + # empty is fine + ;; + *) + echo "Invalid configuration '$1': Machine code format '$obj' not recognized" 1>&2 + exit 1 + ;; +esac + +# Here we handle the constraint that a (synthetic) cpu and os are +# valid only in combination with each other and nowhere else. +case $cpu-$os in + # The "javascript-unknown-ghcjs" triple is used by GHC; we + # accept it here in order to tolerate that, but reject any + # variations. + javascript-ghcjs) + ;; + javascript-* | *-ghcjs) + echo "Invalid configuration '$1': cpu '$cpu' is not valid with os '$os$obj'" 1>&2 + exit 1 + ;; +esac + +# As a final step for OS-related things, validate the OS-kernel combination +# (given a valid OS), if there is a kernel. +case $kernel-$os-$obj in + linux-gnu*- | linux-android*- | linux-dietlibc*- | linux-llvm*- \ + | linux-mlibc*- | linux-musl*- | linux-newlib*- \ + | linux-relibc*- | linux-uclibc*- ) + ;; + uclinux-uclibc*- ) + ;; + managarm-mlibc*- | managarm-kernel*- ) + ;; + windows*-msvc*-) + ;; + -dietlibc*- | -llvm*- | -mlibc*- | -musl*- | -newlib*- | -relibc*- \ + | -uclibc*- ) + # These are just libc implementations, not actual OSes, and thus + # require a kernel. + echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2 + exit 1 + ;; + -kernel*- ) + echo "Invalid configuration '$1': '$os' needs explicit kernel." 1>&2 + exit 1 + ;; + *-kernel*- ) + echo "Invalid configuration '$1': '$kernel' does not support '$os'." 1>&2 + exit 1 + ;; + *-msvc*- ) + echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2 + exit 1 + ;; + kfreebsd*-gnu*- | kopensolaris*-gnu*-) + ;; + vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-) + ;; + nto-qnx*-) + ;; + os2-emx-) + ;; + *-eabi*- | *-gnueabi*-) + ;; + none--*) + # None (no kernel, i.e. freestanding / bare metal), + # can be paired with an machine code file format + ;; + -*-) + # Blank kernel with real OS is always fine. + ;; + --*) + # Blank kernel and OS with real machine code file format is always fine. + ;; + *-*-*) + echo "Invalid configuration '$1': Kernel '$kernel' not known to work with OS '$os'." 1>&2 + exit 1 + ;; +esac + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +case $vendor in + unknown) + case $cpu-$os in + *-riscix*) + vendor=acorn + ;; + *-sunos*) + vendor=sun + ;; + *-cnk* | *-aix*) + vendor=ibm + ;; + *-beos*) + vendor=be + ;; + *-hpux*) + vendor=hp + ;; + *-mpeix*) + vendor=hp + ;; + *-hiux*) + vendor=hitachi + ;; + *-unos*) + vendor=crds + ;; + *-dgux*) + vendor=dg + ;; + *-luna*) + vendor=omron + ;; + *-genix*) + vendor=ns + ;; + *-clix*) + vendor=intergraph + ;; + *-mvs* | *-opened*) + vendor=ibm + ;; + *-os400*) + vendor=ibm + ;; + s390-* | s390x-*) + vendor=ibm + ;; + *-ptx*) + vendor=sequent + ;; + *-tpf*) + vendor=ibm + ;; + *-vxsim* | *-vxworks* | *-windiss*) + vendor=wrs + ;; + *-aux*) + vendor=apple + ;; + *-hms*) + vendor=hitachi + ;; + *-mpw* | *-macos*) + vendor=apple + ;; + *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) + vendor=atari + ;; + *-vos*) + vendor=stratus + ;; + esac + ;; +esac + +echo "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}" +exit + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/install-sh b/support/shared/install-sh similarity index 100% rename from install-sh rename to support/shared/install-sh diff --git a/support/shared/lib-configure.mk b/support/shared/lib-configure.mk new file mode 100644 index 0000000000..c2f6a741f9 --- /dev/null +++ b/support/shared/lib-configure.mk @@ -0,0 +1,31 @@ +# Run configure if needed +ifeq (,$(filter clean distclean uninstall, $(MAKECMDGOALS))) + +include support/config.mk + +support/config.mk: support/config.mk.in + cd support && ./configure $(CONFIGOPTS) + +include support/shared/version.mk + +export + +# Install into an active venv or Conda env if no location is specified +ifdef VIRTUAL_ENV +PREFIX ?= $(VIRTUAL_ENV) +endif + +ifdef CONDA_PREFIX +PREFIX ?= $(CONDA_PREFIX) +endif + +ifndef PREFIX +ifeq ($(MAKECMDGOALS),install) +$(error PREFIX is not set and no virtualenv or Conda env is active.) +endif +endif + +export PREFIX + +endif + diff --git a/support/shared/lib-targets.mk b/support/shared/lib-targets.mk new file mode 100644 index 0000000000..fa7154fb25 --- /dev/null +++ b/support/shared/lib-targets.mk @@ -0,0 +1,121 @@ +# Main targets +.PHONY: all +all: $(HEADERS) $(DYNAMIC_LIB) $(DYNAMIC_LIB_MPI) + +.DEFAULT_GOAL := all + + +# Note that the pkg-config files get built at install time, because PREFIX +# ends up inside of them, and it may not be defined when make all is called. +.PHONY: install +install: all $(PKG_CONFIG_FILE) $(PKG_CONFIG_FILE_MPI) +ifneq (,$(HEADERS)$(HEADERS_MPI)) + mkdir -p $(PREFIX)/include +endif +ifneq (,$(DYNAMIC_LIB)$(DYNAMIC_LIB_MPI)) + mkdir -p $(PREFIX)/lib +endif +ifneq (,$(PKG_CONFIG_FILE)$(PKG_CONFIG_FILE_MPI)) + mkdir -p $(PREFIX)/lib/pkgconfig +endif +ifdef HEADERS + $(INSTALL) -m 644 $(HEADERS) $(PREFIX)/include/ +endif +ifdef DYNAMIC_LIB + $(INSTALL) -m 644 $(DYNAMIC_LIB) $(PREFIX)/lib/$(DYNAMIC_LIB) +endif +ifdef PKG_CONFIG_FILE + $(INSTALL) -m 644 $(PKG_CONFIG_FILE) $(PREFIX)/lib/pkgconfig/$(PKG_CONFIG_FILE) +endif +ifdef HEADERS_MPI + $(INSTALL) -m 644 $(HEADERS_MPI) $(PREFIX)/include/ +endif +ifdef DYNAMIC_LIB_MPI + $(INSTALL) -m 644 $(DYNAMIC_LIB_MPI) $(PREFIX)/lib/$(DYNAMIC_LIB_MPI) +endif +ifdef PKG_CONFIG_FILE_MPI + $(INSTALL) -m 644 $(PKG_CONFIG_FILE_MPI) $(PREFIX)/lib/pkgconfig/$(PKG_CONFIG_FILE_MPI) +endif + + +INSTALLED_HEADERS=$(foreach h,$(HEADERS),$(PREFIX)/include/$(h)) +INSTALLED_HEADERS_MPI=$(foreach h,$(HEADERS_MPI),$(PREFIX)/include/$(h)) + +.PHONY: uninstall +uninstall: +ifdef HEADERS + rm -f $(INSTALLED_HEADERS) +endif +ifdef DYNAMIC_LIB + rm -f $(PREFIX)/lib/$(DYNAMIC_LIB) +endif +ifdef PKG_CONFIG_FILE + rm -f $(PREFIX)/lib/pkgconfig/$(PKG_CONFIG_FILE) +endif +ifdef HEADERS_MPI + rm -f $(INSTALLED_HEADERS_MPI) +endif +ifdef DYNAMIC_LIB_MPI + rm -f $(PREFIX)/lib/$(DYNAMIC_LIB_MPI) +endif +ifdef PKG_CONFIG_FILE_MPI + rm -f $(PREFIX)/lib/pkgconfig/$(PKG_CONFIG_FILE_MPI) +endif + + +# Build the library + +CFLAGS += -fPIC +FCFLAGS += -fPIC + +ifneq (,$(AMUSE_ON_MACOS)) +# Tell the linker to point any workers built against this library to refer to it +# via the RPATH, which will point to the environment with the library in it, so +# that it can be found at run time. +INSTALL_NAME = -install_name @rpath/$@ +else +INSTALL_NAME = +endif + + +$(DYNAMIC_LIB): $(OBJS) + $(CC) $(LDFLAGS) $(INSTALL_NAME) -shared -o $@ $^ $(LIBS) + +%.o: %.c + $(CC) $(CFLAGS) -c -o $@ $< + +%.o: %.f90 + $(FC) $(FCFLAGS) -c -o $*.o $< + +%.mod: %.f90 + $(FC) $(FCFLAGS) -c -o $*.o $< + +$(PKG_CONFIG_FILE): + $(file >$@,$(PKG_CONFIG_CONTENTS)) + + +ifdef DYNAMIC_LIB_MPI +$(DYNAMIC_LIB_MPI): $(OBJS_MPI) + $(MPICC) $(LDFLAGS) $(INSTALL_NAME) -shared -o $@ $^ $(MPILIBS) $(LIBS) +endif + +%.mo: %.c + $(MPICC) $(CFLAGS) $(CFLAGS_MPI) -c -o $@ $< + +%.mo: %.f90 + $(MPIFC) $(FCFLAGS) $(CFLAGS_MPI) -c -o $*.mo $< + +$(PKG_CONFIG_FILE_MPI): + $(file >$@,$(PKG_CONFIG_CONTENTS_MPI)) + + +# Clean up +.PHONY: clean +clean: + rm -rf *.o *.mo *.mod *.a *.so *.pc + rm -f support/config.mk support/config.log support/config.status + +.PHONY: distclean +distclean: clean + rm -rf support/autom4te.cache support/configure~ + diff --git a/support/shared/m4/amuse_conda.m4 b/support/shared/m4/amuse_conda.m4 new file mode 100644 index 0000000000..f015fa7dab --- /dev/null +++ b/support/shared/m4/amuse_conda.m4 @@ -0,0 +1,36 @@ +# AMUSE_CONDA_LIST() +# +# Runs conda list and saves the result in amuse_conda_list. +# The conda list command is rather slow, so we can avoid an annoying wait by running +# it once and saving the output for use with AMUSE_CONDA_PACKAGE below. +# +# Note that we can't save newlines in a shell variable, so we're replacing them with +# circumflexes instead. We change them back below before grepping. +AC_DEFUN([AMUSE_CONDA_LIST],[ + amuse_conda_list="$(conda list | tr '\n' '^')" +]) + + +# AMUSE_CONDA_PACKAGE(VARIABLE, NAME, VALUE) +# +# Checks that the given package is installed in the active conda environment. +# +# You must run AMUSE_CONDA_LIST() before calling this macro. +# +# Sets $VARIABLE to VALUE if the package was found, or "yes" if VALUE is not passed. +AC_DEFUN([AMUSE_CONDA_PACKAGE],[ + AC_MSG_CHECKING([for conda package $2]) + ax_conda_package_line="$(echo $amuse_conda_list | tr '^' '\n' | grep '^$2 ')" + AS_IF([test "$?" = "0"], [ + # $1="$(AS_ECHO("$ax_conda_package_line") | tr -s ' ' | cut -f 2 -d ' ')" + m4_if([$3],[], [ + $1="yes" + ], [ + $1="$3" + ]) + AC_MSG_RESULT([yes]) + ], [ + AC_MSG_RESULT([no]) + ]) +]) + diff --git a/support/shared/m4/amuse_cuda.m4 b/support/shared/m4/amuse_cuda.m4 new file mode 100644 index 0000000000..1da58a131e --- /dev/null +++ b/support/shared/m4/amuse_cuda.m4 @@ -0,0 +1,232 @@ +# AMUSE_CUDA_VERIFY_HEADERS(PATH) +# +# Checks that the given path contains a CUDA installation with include/cuda.h. +# +# Sets amuse_cuda_verify_FLAGS to -I/path/to/cuda/include if successful. +AC_DEFUN([AMUSE_CUDA_VERIFY_HEADERS], [ + AS_IF([test "x$1" = x], [ + amuse_cuda_verify_msg="for cuda.h" + amuse_cuda_flags= + ], [ + amuse_cuda_verify_msg="for cuda.h in $1/include" + amuse_cuda_flags="-I$1/include" + ]) + + AC_MSG_CHECKING([$amuse_cuda_verify_msg]) + amuse_cuda_verify_FLAGS= + + ax_save_CFLAGS="$CFLAGS" + + CFLAGS="$amuse_cuda_flags" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ])], [ + amuse_cuda_verify_FLAGS="$CFLAGS" + amuse_cuda_verify_headers_found="yes" + AC_MSG_RESULT([yes]) + ], [ + AC_MSG_RESULT([no]) + ]) + + CFLAGS="$ax_save_CFLAGS" +]) + +# AMUSE_CUDA_VERIFY_LIBS(PATH) +# +# Checks that the given path contains a CUDA installation with lib/libcudart.so or +# lib64/libcudart.so. +# +# Sets amuse_cuda_verify_LDFLAGS to -L/path/to/cuda/lib{64} if successful. +AC_DEFUN([AMUSE_CUDA_VERIFY_LIBS], [ + AS_IF([test "x$1" = x], [ + amuse_cuda_verify_msg="for libcudart" + amuse_cuda_ldflags= + ], [ + amuse_cuda_verify_msg="for libcudart in $1/lib" + amuse_cuda_verify_msg64="for libcudart in $1/lib64" + amuse_cuda_ldflags="-L$1/lib" + amuse_cuda_ldflags64="-L$1/lib64" + ]) + + AC_MSG_CHECKING([$amuse_cuda_verify_msg]) + amuse_cuda_verify_LDFLAGS= + + ax_save_LDFLAGS="$LDFLAGS" + ax_save_LIBS="$LIBS" + + LDFLAGS="$amuse_cuda_ldflags" + LIBS="-lcudart" + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], [cudaFree(0);])], [ + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + AC_MSG_RESULT([yes]) + ], [ + AC_MSG_RESULT([no]) + ]) + + AS_IF([test "x$amuse_cuda_verify_libs_found" = x], [ + AC_MSG_CHECKING([$amuse_cuda_verify_msg64]) + LDFLAGS="$amuse_cuda_ldflags64" + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], [cudaFree(0);])], [ + amuse_cuda_verify_LDFLAGS="$LDFLAGS" + amuse_cuda_verify_libs_found="yes" + AC_MSG_RESULT([yes]) + ], [ + AC_MSG_RESULT([no]) + ]) + ]) + + LIBS="$ax_save_LIBS" + LDFLAGS="$ax_save_LDFLAGS" +]) + +# AMUSE_CUDA_VERIFY_SET_VARS(CUDA_TK) +# +# Sets CUDA_TK, NVCC, CUDA_FLAGS and CUDA_LDFLAGS from the internal values, if all +# of them have been found. +AC_DEFUN([AMUSE_CUDA_VERIFY_SET_VARS], [ + AS_IF( + [test \(x"$amuse_cuda_verify_NVCC" != x\) -a \(x"$amuse_cuda_verify_headers_found" != x\) -a \(x"$amuse_cuda_verify_libs_found" != x\)], + [ + CUDA_TK="$1" + NVCC="$amuse_cuda_verify_NVCC" + CUDA_FLAGS="$amuse_cuda_verify_FLAGS" + CUDA_LDFLAGS="$amuse_cuda_verify_LDFLAGS" + ] + ) +]) + +# AMUSE_CUDA_VERIFY(PATH) +# +# Checks that the given path contains a CUDA installation with bin/nvcc, +# lib/libcudart.so, and include/cuda.h. +# +# Sets CUDA_TK= if successful, and if successful also sets NVCC to the location +# of nvcc, CUDA_LDFLAGS to -L/path/to/cuda/libs, and CUDA_FLAGS to +# -I/path/to/cuda/include. +AC_DEFUN([AMUSE_CUDA_VERIFY], [ + amuse_cuda_verify_headers_found= + amuse_cuda_verify_libs_found= + + AS_IF([test -d $1], [ + AC_PATH_PROG([amuse_cuda_verify_NVCC], [nvcc], [], [$1/bin]) + + AS_IF([test x"$amuse_cuda_verify_NVCC" != x], [ + AMUSE_CUDA_VERIFY_HEADERS([$1]) + ]) + + AS_IF([test x"$amuse_cuda_verify_headers_found" != x], [ + AMUSE_CUDA_VERIFY_LIBS([$1]) + ]) + + AMUSE_CUDA_VERIFY_SET_VARS([$1]) + ], [ + AC_MSG_NOTICE([$1 does not exist or is not a directory, CUDA not found there]) + ]) +]) + +# AMUSE_CUDA_VERIFY_DEFAULT() +# +# Checks for NVCC on the PATH, then finds the CUDA directory from there. +# +# Sets CUDA_TK= if successful, and if successful also sets NVCC to the location +# of nvcc, CUDA_LDFLAGS to -L/path/to/cuda/libs, and CUDA_FLAGS to +# -I/path/to/cuda/include. +AC_DEFUN([AMUSE_CUDA_VERIFY_DEFAULT], [ + AC_PATH_PROG([amuse_cuda_verify_NVCC], [nvcc]) + + AS_IF([test x"$amuse_cuda_verify_NVCC" != x], [ + # Got nvcc, verify that we have the rest too + amuse_cuda_verify_ctk_rel=$(dirname -- "$amuse_cuda_verify_NVCC")/.. + # Canonicalise path portably so that it looks nicer + amuse_cuda_verify_CUDA_TK=$(test -d "$amuse_cuda_verify_ctk_rel" && CDPATH= cd -P -- "$amuse_cuda_verify_ctk_rel" && pwd -P) + + AS_IF([test x"$amuse_cuda_verify_NVCC" != x], [ + AMUSE_CUDA_VERIFY_HEADERS() + ]) + + AS_IF([test x"$amuse_cuda_verify_headers_found" != x], [ + AMUSE_CUDA_VERIFY_LIBS() + ]) + + AMUSE_CUDA_VERIFY_SET_VARS([$amuse_cuda_verify_CUDA_TK]) + ], [ + AC_MSG_NOTICE([Could not find CUDA via PATH]) + ]) +]) + +# AMUSE_CUDA +# ---------------------------------------------------------- +# set up for CUDA +# +# will set: +# +# CUDA_TK +# NVCC +# +# CUDA_LDFLAGS (with -L/path/to/cuda/lib) +# CUDA_FLAGS (with -I/path/to/cuda/include) +# +# and call AC_SUBST on them. +# +AC_DEFUN([AMUSE_CUDA], [ + AC_LANG_PUSH([C]) + AS_IF([test x"$CUDA_TK" != x], [ + # User set CUDA_TK, verify and use it if it works + AMUSE_CUDA_VERIFY($CUDA_TK) + + AS_IF([test x"$NVCC" = x], [ + AC_MSG_ERROR([CUDA_TK is set, but there is no nvcc in $CUDA_TK/bin. Please set CUDA_TK to the CUDA installation directory, or unset it to autodetect.]) + ]) + ], [ + # CUDA_TK not set, try to discover CUDA via PATH + AMUSE_CUDA_VERIFY_DEFAULT() + + # Not in PATH, try default directory + AS_IF([test x"$CUDA_TK" = x], [ + AMUSE_CUDA_VERIFY([/usr/local/cuda]) + ]) + + # Try /usr/local/cuda-#.#, but only if there's exactly one match + AS_IF([test x"$CUDA_TK" = x], [ + # List CUDA installations + amuse_cuda_installs=$(ls -1 -d /usr/local/cuda-*.* 2>/dev/null) + # If there's more than one, the above will have newlines, and change when we do this + amuse_cuda_installs2=$(echo "x${amuse_cuda_installs}" | tr -d '[:space:]') + AS_IF([test "x${amuse_cuda_installs}" != x], [ + AS_IF([test "x${amuse_cuda_installs}" = "${amuse_cuda_installs2}"], [ + # Here, there's exactly one match + AMUSE_CUDA_VERIFY([$amuse_cuda_installs]) + ], [ + AC_MSG_NOTICE([Multiple CUDA installations found in /usr/local, without a /usr/local/cuda symlink. Please set CUDA_TK to specify which one you want to use.]) + ]) + ], [ + AC_MSG_NOTICE([No CUDA installations found in /usr/local]) + ]) + ]) + + # Try some other locations + for dir in /opt/cuda /usr/local/cuda/cuda /opt/cuda/cuda ; do + AS_IF([test x"$CUDA_TK" = x], [ + AMUSE_CUDA_VERIFY([$dir]) + ]) + done + + # These directories were checked by the old macro, but they're highly obsolete + # so we're not trying them anymore: + # /usr/lib/nvidia, /usr/include/nvidia, /usr/lib/nvidia-current, /usr/include/nvidia-current + + AS_IF([test x"$CUDA_TK" = x], [ + AC_MSG_NOTICE([CUDA not found. Set CUDA_TK if you have it in an odd location.]) + ]) + ]) + + AS_IF([test x"$CUDA_TK" != x], [ + AC_MSG_NOTICE([CUDA found at $CUDA_TK]) + AC_SUBST(CUDA_TK) + AC_SUBST(NVCC) + AC_SUBST(CUDA_FLAGS) + AC_SUBST(CUDA_LDFLAGS) + ]) + + AC_LANG_POP([C]) +]) + diff --git a/support/shared/m4/amuse_detect_os.m4 b/support/shared/m4/amuse_detect_os.m4 new file mode 100644 index 0000000000..ad5375e7b2 --- /dev/null +++ b/support/shared/m4/amuse_detect_os.m4 @@ -0,0 +1,19 @@ +# Macro for detecting the platform we're on +# +# Sets AMUSE_ON_MACOS if we're on macOS, or AMUSE_ON_LINUX if we're on GNU/Linux. +AC_DEFUN([AMUSE_DETECT_OS], [ + AC_CANONICAL_TARGET + if test "x$target_os" == "xlinux-gnu" + then + AMUSE_ON_LINUX=1 + fi + + if test "x$target_vendor" == "xapple" + then + AMUSE_ON_MACOS=1 + fi + + AC_SUBST([AMUSE_ON_LINUX]) + AC_SUBST([AMUSE_ON_MACOS]) +]) + diff --git a/support/shared/m4/amuse_download.m4 b/support/shared/m4/amuse_download.m4 new file mode 100644 index 0000000000..6cd03aee6f --- /dev/null +++ b/support/shared/m4/amuse_download.m4 @@ -0,0 +1,38 @@ +# Helper macros for detecting download tools +# +# Some of the community codes aren't included with AMUSE, but are downloaded at build +# time. We need a tool for that, and here is where we find one. +# +# AMUSE_DOWNLOAD() +# +# Searches for a download tool. Two popular and commonly available command line +# download tools are curl and wget. This macro tries to find either one of them +# and sets DOWNLOAD to a command that will take a URL and download its contents to +# standard output. This makes it easier to write that output to a file with a known +# name, which you usually want in a Makefile. +# +# To download a file, use $(DOWNLOAD) https://example.com >example.html +# +AC_DEFUN([AMUSE_DOWNLOAD], [ + AC_CHECK_TOOL(WGET, wget) + AC_CHECK_TOOL(CURL, curl) + + AC_MSG_CHECKING([for a wget or curl to download files with]) + if test "x$WGET" != "x" + then + # The MESA SDK server rejects wget, this is the official work-around + DOWNLOAD="$WGET --progress=bar:force:noscroll --user-agent='' -O -" + AC_MSG_RESULT([yes]) + else + if test "x$CURL" != "x" + then + DOWNLOAD="$CURL -L" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + fi + + AC_SUBST([DOWNLOAD]) +]) + diff --git a/support/shared/m4/amuse_lib.m4 b/support/shared/m4/amuse_lib.m4 new file mode 100644 index 0000000000..bad9101ae1 --- /dev/null +++ b/support/shared/m4/amuse_lib.m4 @@ -0,0 +1,138 @@ +# Helper macros for detecting AMUSE libraries. +# +# See https://stackoverflow.com/questions/10220946/pkg-check-modules-considered-harmful +# for some background on why we're not using PKG_CHECK_MODULES directly. Do note that +# PKG_CHECK_MODULES checks for pkg-config and gives a useful error these days, so that +# that page is partially outdated. + +# AMUSE_LIB(prefix, module, library, function) +# +# Searches for an AMUSE library and sets ${prefix}_CFLAGS, ${prefix}_LIBS to the +# appropriate values if it is found. +# +# prefix: prefix for the variables to be set +# module: name of the pkg-config module to seach for if needed +# library: name of the library to be searched for +# function: name of a function in the library to use for the link check +AC_DEFUN([AMUSE_LIB], [ + amuse_save_LIBS="$LIBS" + amuse_save_LIB_CFLAGS="$[$1][_CFLAGS]" + amuse_save_LIB_LIBS="$[$1][_LIBS]" + amuse_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + + # If we have an active virtualenv, make sure pkg-config searches it + if test "a${VIRTUAL_ENV}" != "a" + then + PKG_CONFIG_PATH="${VIRTUAL_ENV}/lib/pkgconfig:${PKG_CONFIG_PATH}" + fi + + # All AMUSE libs export C symbols + AC_LANG_PUSH([C]) + + # Search for the library, first directly then fall back to pkg-config + AC_SEARCH_LIBS([$4], [$3], [ + FOUND_$1="yes" + $1_LIBS="$LIBS" + $1_CFLAGS="" + ], [ + PKG_CHECK_MODULES([$1], [$2], [ + FOUND_$1="yes" + ], [ + FOUND_$1="no" + ]) + ]) + + AC_LANG_POP([C]) + + PKG_CONFIG_PATH="$amuse_save_PKG_CONFIG_PATH" + LIBS="$amuse_save_LIBS" + + # If we have an active CONDA environment, assume that the lib is coming from + # there and add an additional flag so that .mod files can be found. Only really + # needed for stopcond and forsockets, and hopefully conda-forge will give us a + # better solution soon. + if test "${FOUND_$1}" == "yes" -a "x$CONDA_PREFIX" != "x" + then + $1_CFLAGS="${$1_CFLAGS} -I${CONDA_PREFIX}/include" + fi + + # If the user overrode the variables, go with what they set instead of + # what we just detected. + AS_IF([test "x$amuse_save_LIB_CFLAGS" != "x"], [ + $1_CFLAGS="$amuse_save_LIB_CFLAGS" + ]) + AS_IF([test "x$amuse_save_LIB_LIBS" != "x"], [ + $1_LIBS="$amuse_save_LIB_LIBS" + ]) + + AC_SUBST([FOUND_][$1]) + AC_SUBST([$1][_CFLAGS]) + AC_SUBST([$1][_LIBS]) +]) + + +# AMUSE_LIB_STOPCOND() +# +# Searches for the AMUSE stopping conditions library and sets STOPCOND_CFLAGS +# and STOPCOND_LIBS to the appropriate values if it is found. +AC_DEFUN([AMUSE_LIB_STOPCOND], [ + AMUSE_LIB([STOPCOND], [stopcond], [stopcond], [is_condition_enabled]) +]) + + +# AMUSE_LIB_STOPCONDMPI() +# +# Searches for the AMUSE stopping conditions library and sets STOPCONDMPI_CFLAGS +# and STOPCONDMPI_LIBS to the appropriate values if it is found. +# +# We use a different function here, to avoid getting a cached value from +# AMUSE_LIB_STOPCOND if both are used. Seems like it indexes by function name. +AC_DEFUN([AMUSE_LIB_STOPCONDMPI], [ + AMUSE_LIB([STOPCONDMPI], [stopcondmpi], [stopcondmpi], [get_set_conditions_]) +]) + + +# AMUSE_LIB_AMUSE_MPI() +# +# Searches for the AMUSE MPI helper library and sets AMUSE_MPI_CFLAGS and +# AMUSE_MPI_LIBS to the appropriate values if it is found. +AC_DEFUN([AMUSE_LIB_AMUSE_MPI], [ + AMUSE_LIB([AMUSE_MPI], [amuse_mpi], [amuse_mpi], [get_comm_world]) +]) + + +# AMUSE_LIB_FORSOCKETS() +# +# Searches for the AMUSE forsockets library and sets FORSOCKETS_CFLAGS and +# FORSOCKETS_LIBS to the appropriate values if it is found. +AC_DEFUN([AMUSE_LIB_FORSOCKETS], [ + AMUSE_LIB([FORSOCKETS], [forsockets], [forsockets], [forsockets_close]) +]) + + +# AMUSE_LIB_SIMPLE_HASH() +# +# Searches for the AMUSE simple hash library and sets SIMPLE_HASH_CFLAGS and +# SIMPLE_HASH_LIBS to the appropriate values if it is found. +AC_DEFUN([AMUSE_LIB_SIMPLE_HASH], [ + AMUSE_LIB([SIMPLE_HASH], [simple_hash], [simple_hash], [init_hash]) +]) + + +# AMUSE_LIB_G6LIB() +# +# Searches for the g6 library and sets G6LIB_CFLAGS and G6LIB_LIBS to +# the appropriate values if it is found. +AC_DEFUN([AMUSE_LIB_G6LIB], [ + AMUSE_LIB([G6LIB], [g6lib], [g6], [g6_npipes]) +]) + + +# AMUSE_LIB_SAPPORO_LIGHT() +# +# Searches for the Sapporo light library and sets SAPPORO_LIGHT_CFLAGS and +# SAPPORO_LIGHT_LIBS to the appropriate values if it is found. +AC_DEFUN([AMUSE_LIB_SAPPORO_LIGHT], [ + AMUSE_LIB([SAPPORO_LIGHT], [sapporo_light], [sapporo], [get_device_count]) +]) + diff --git a/support/shared/m4/amuse_opencl.m4 b/support/shared/m4/amuse_opencl.m4 new file mode 100644 index 0000000000..28b1efcd8e --- /dev/null +++ b/support/shared/m4/amuse_opencl.m4 @@ -0,0 +1,63 @@ +# Helper macro for detecting OpenCL for C. + +# AMUSE_OPENCL() +# +# Sets FOUND_OPENCL to "yes" if OpenCL is found, to "no" if it is not. +# Sets OPENCL_CFLAGS and OPENCL_LIBS as needed. +# Calls AC_SUBST on all of the above. +# +AC_DEFUN([AMUSE_OPENCL], [ + amuse_save_CFLAGS="$CFLAGS" + amuse_save_LIBS="$LIBS" + + AC_MSG_CHECKING([for OpenCL]) + + # If the user overrode the variables, then we'll use what they set and verify that + # it works. + AS_IF([test "x$OPENCL_CFLAGS" != "x"], [ + amuse_user_OPENCL_CFLAGS="$OPENCL_CFLAGS" + CFLAGS="$OPENCL_CFLAGS $CFLAGS" + ]) + AS_IF([test "x$OPENCL_LIBS" != "x"], [ + amuse_user_OPENCL_LIBS="$OPENCL_LIBS" + LIBS="$OPENCL_LIBS $LIBS" + ]) + + # We only use OpenCL from C, in huayno + AC_LANG_PUSH([C]) + + # Search for the headers + m4_define([amuse_opencl_test_program], [AC_LANG_PROGRAM([ + #if defined(__APPLE__) || defined(__MACOSX) + #include + #else + #include + #endif + ], [clFinish(0)])]) + + AC_COMPILE_IFELSE([amuse_opencl_test_program], [ + # Search for the library as well + LIBS="-lOpenCL $LIBS" + AC_LINK_IFELSE([amuse_opencl_test_program], [ + FOUND_OPENCL="yes" + OPENCL_LIBS="-lOpenCL" + OPENCL_CFLAGS="" + ], [ + FOUND_OPENCL="no" + ]) + ], [ + FOUND_OPENCL="no" + ]) + + AC_LANG_POP([C]) + + LIBS="$amuse_save_LIBS" + CFLAGS="$amuse_save_CFLAGS" + + AC_MSG_RESULT([$FOUND_OPENCL]) + + AC_SUBST([FOUND_OPENCL]) + AC_SUBST([OPENCL_CFLAGS]) + AC_SUBST([OPENCL_LIBS]) +]) + diff --git a/support/shared/m4/amuse_venv.m4 b/support/shared/m4/amuse_venv.m4 new file mode 100644 index 0000000000..155d88d9d6 --- /dev/null +++ b/support/shared/m4/amuse_venv.m4 @@ -0,0 +1,31 @@ +# Helper macro for installing into Conda envs and virtualenvs. + +# AMUSE_VENV() +# +# Detect the active Conda env or virtualenv and extend LDFLAGS and +# PKG_CONFIG_PATH to point to it. This then makes it possible to detect the AMUSE +# libraries as installed in the environment and link to them. +# +AC_DEFUN([AMUSE_VENV], [ + AS_IF([test "x$VIRTUAL_ENV" != x], [ + CFLAGS="$CFLAGS -I${VIRTUAL_ENV}/include" + CXXFLAGS="$CXXFLAGS -I${VIRTUAL_ENV}/include" + FFLAGS="$FFLAGS -I${VIRTUAL_ENV}/include" + FCFLAGS="$FCFLAGS -I${VIRTUAL_ENV}/include" + LDFLAGS="$LDFLAGS -L${VIRTUAL_ENV}/lib -Wl,-rpath,${VIRTUAL_ENV}/lib" + PKG_CONFIG_PATH="$VIRTUAL_ENV/lib/pkgconfig:$PKG_CONFIG_PATH" + ]) + + AS_IF([test "x$CONDA_PREFIX" != x], [ + # Conda does not set FCFLAGS, so we copy from FFLAGS here + FCFLAGS="$FFLAGS" + LDFLAGS="$LDFLAGS -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib" + # Conda pkg-config includes this already, but in case we have one from + # the system... + PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${CONDA_PREFIX}/lib/pkgconfig" + ]) + # Needs to be exported or the PKG_CHECK_MODULES macro won't see it + export PKG_CONFIG_PATH + AC_SUBST([FFLAGS]) +]) + diff --git a/support/shared/m4/ax_blas.m4 b/support/shared/m4/ax_blas.m4 new file mode 100644 index 0000000000..95719050a9 --- /dev/null +++ b/support/shared/m4/ax_blas.m4 @@ -0,0 +1,241 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_blas.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BLAS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# This macro looks for a library that implements the BLAS linear-algebra +# interface (see http://www.netlib.org/blas/). On success, it sets the +# BLAS_LIBS output variable to hold the requisite library linkages. +# +# To link with BLAS, you should link with: +# +# $BLAS_LIBS $LIBS $FLIBS +# +# in that order. FLIBS is the output variable of the +# AC_F77_LIBRARY_LDFLAGS macro (called if necessary by AX_BLAS), and is +# sometimes necessary in order to link with F77 libraries. Users will also +# need to use AC_F77_DUMMY_MAIN (see the autoconf manual), for the same +# reason. +# +# Many libraries are searched for, from ATLAS to CXML to ESSL. The user +# may also use --with-blas= in order to use some specific BLAS +# library . In order to link successfully, however, be aware that you +# will probably need to use the same Fortran compiler (which can be set +# via the F77 env. var.) as was used to compile the BLAS library. +# +# ACTION-IF-FOUND is a list of shell commands to run if a BLAS library is +# found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it is +# not found. If ACTION-IF-FOUND is not specified, the default action will +# define HAVE_BLAS. +# +# LICENSE +# +# Copyright (c) 2008 Steven G. Johnson +# Copyright (c) 2019 Geoffrey M. Oxberry +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 17 + +AU_ALIAS([ACX_BLAS], [AX_BLAS]) +AC_DEFUN([AX_BLAS], [ +AC_PREREQ([2.55]) +AC_REQUIRE([AC_F77_LIBRARY_LDFLAGS]) +AC_REQUIRE([AC_CANONICAL_HOST]) +ax_blas_ok=no + +AC_ARG_WITH(blas, + [AS_HELP_STRING([--with-blas=], [use BLAS library ])]) +case $with_blas in + yes | "") ;; + no) ax_blas_ok=disable ;; + -* | */* | *.a | *.so | *.so.* | *.dylib | *.dylib.* | *.o) + BLAS_LIBS="$with_blas" + ;; + *) BLAS_LIBS="-l$with_blas" ;; +esac + +# Get fortran linker names of BLAS functions to check for. +AC_F77_FUNC(sgemm) +AC_F77_FUNC(dgemm) + +ax_blas_save_LIBS="$LIBS" +LIBS="$LIBS $FLIBS" + +# First, check BLAS_LIBS environment variable +if test $ax_blas_ok = no; then +if test "x$BLAS_LIBS" != x; then + save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS" + AC_MSG_CHECKING([for $sgemm in $BLAS_LIBS]) + AC_LINK_IFELSE([AC_LANG_CALL([], [$sgemm])], [ax_blas_ok=yes], [BLAS_LIBS=""]) + AC_MSG_RESULT($ax_blas_ok) + LIBS="$save_LIBS" +fi +fi + +# BLAS linked to by default? (happens on some supercomputers) +if test $ax_blas_ok = no; then + save_LIBS="$LIBS"; LIBS="$LIBS" + AC_MSG_CHECKING([if $sgemm is being linked in already]) + AC_LINK_IFELSE([AC_LANG_CALL([], [$sgemm])], [ax_blas_ok=yes]) + AC_MSG_RESULT($ax_blas_ok) + LIBS="$save_LIBS" +fi + +# BLAS in OpenBLAS library? (http://xianyi.github.com/OpenBLAS/) +if test $ax_blas_ok = no; then + AC_CHECK_LIB(openblas, $sgemm, [ax_blas_ok=yes + BLAS_LIBS="-lopenblas"]) +fi + +# BLAS in ATLAS library? (http://math-atlas.sourceforge.net/) +if test $ax_blas_ok = no; then + AC_CHECK_LIB(atlas, ATL_xerbla, + [AC_CHECK_LIB(f77blas, $sgemm, + [AC_CHECK_LIB(cblas, cblas_dgemm, + [ax_blas_ok=yes + BLAS_LIBS="-lcblas -lf77blas -latlas"], + [], [-lf77blas -latlas])], + [], [-latlas])]) +fi + +# BLAS in PhiPACK libraries? (requires generic BLAS lib, too) +if test $ax_blas_ok = no; then + AC_CHECK_LIB(blas, $sgemm, + [AC_CHECK_LIB(dgemm, $dgemm, + [AC_CHECK_LIB(sgemm, $sgemm, + [ax_blas_ok=yes; BLAS_LIBS="-lsgemm -ldgemm -lblas"], + [], [-lblas])], + [], [-lblas])]) +fi + +# BLAS in Intel MKL library? +if test $ax_blas_ok = no; then + # MKL for gfortran + if test x"$ac_cv_fc_compiler_gnu" = xyes; then + # 64 bit + if test $host_cpu = x86_64; then + AC_CHECK_LIB(mkl_gf_lp64, $sgemm, + [ax_blas_ok=yes;BLAS_LIBS="-lmkl_gf_lp64 -lmkl_sequential -lmkl_core -lpthread"],, + [-lmkl_gf_lp64 -lmkl_sequential -lmkl_core -lpthread]) + # 32 bit + elif test $host_cpu = i686; then + AC_CHECK_LIB(mkl_gf, $sgemm, + [ax_blas_ok=yes;BLAS_LIBS="-lmkl_gf -lmkl_sequential -lmkl_core -lpthread"],, + [-lmkl_gf -lmkl_sequential -lmkl_core -lpthread]) + fi + # MKL for other compilers (Intel, PGI, ...?) + else + # 64-bit + if test $host_cpu = x86_64; then + AC_CHECK_LIB(mkl_intel_lp64, $sgemm, + [ax_blas_ok=yes;BLAS_LIBS="-lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread"],, + [-lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread]) + # 32-bit + elif test $host_cpu = i686; then + AC_CHECK_LIB(mkl_intel, $sgemm, + [ax_blas_ok=yes;BLAS_LIBS="-lmkl_intel -lmkl_sequential -lmkl_core -lpthread"],, + [-lmkl_intel -lmkl_sequential -lmkl_core -lpthread]) + fi + fi +fi +# Old versions of MKL +if test $ax_blas_ok = no; then + AC_CHECK_LIB(mkl, $sgemm, [ax_blas_ok=yes;BLAS_LIBS="-lmkl -lguide -lpthread"],,[-lguide -lpthread]) +fi + +# BLAS in Apple vecLib library? +if test $ax_blas_ok = no; then + save_LIBS="$LIBS"; LIBS="-framework vecLib $LIBS" + AC_MSG_CHECKING([for $sgemm in -framework vecLib]) + AC_LINK_IFELSE([AC_LANG_CALL([], [$sgemm])], [ax_blas_ok=yes;BLAS_LIBS="-framework vecLib"]) + AC_MSG_RESULT($ax_blas_ok) + LIBS="$save_LIBS" +fi + +# BLAS in Alpha CXML library? +if test $ax_blas_ok = no; then + AC_CHECK_LIB(cxml, $sgemm, [ax_blas_ok=yes;BLAS_LIBS="-lcxml"]) +fi + +# BLAS in Alpha DXML library? (now called CXML, see above) +if test $ax_blas_ok = no; then + AC_CHECK_LIB(dxml, $sgemm, [ax_blas_ok=yes;BLAS_LIBS="-ldxml"]) +fi + +# BLAS in Sun Performance library? +if test $ax_blas_ok = no; then + if test "x$GCC" != xyes; then # only works with Sun CC + AC_CHECK_LIB(sunmath, acosp, + [AC_CHECK_LIB(sunperf, $sgemm, + [BLAS_LIBS="-xlic_lib=sunperf -lsunmath" + ax_blas_ok=yes],[],[-lsunmath])]) + fi +fi + +# BLAS in SCSL library? (SGI/Cray Scientific Library) +if test $ax_blas_ok = no; then + AC_CHECK_LIB(scs, $sgemm, [ax_blas_ok=yes; BLAS_LIBS="-lscs"]) +fi + +# BLAS in SGIMATH library? +if test $ax_blas_ok = no; then + AC_CHECK_LIB(complib.sgimath, $sgemm, + [ax_blas_ok=yes; BLAS_LIBS="-lcomplib.sgimath"]) +fi + +# BLAS in IBM ESSL library? (requires generic BLAS lib, too) +if test $ax_blas_ok = no; then + AC_CHECK_LIB(blas, $sgemm, + [AC_CHECK_LIB(essl, $sgemm, + [ax_blas_ok=yes; BLAS_LIBS="-lessl -lblas"], + [], [-lblas $FLIBS])]) +fi + +# Generic BLAS library? +if test $ax_blas_ok = no; then + AC_CHECK_LIB(blas, $sgemm, [ax_blas_ok=yes; BLAS_LIBS="-lblas"]) +fi + +AC_SUBST(BLAS_LIBS) + +LIBS="$ax_blas_save_LIBS" + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$ax_blas_ok" = xyes; then + ifelse([$1],,AC_DEFINE(HAVE_BLAS,1,[Define if you have a BLAS library.]),[$1]) + : +else + ax_blas_ok=no + $2 +fi +])dnl AX_BLAS diff --git a/support/shared/m4/ax_check_classpath.m4 b/support/shared/m4/ax_check_classpath.m4 new file mode 100644 index 0000000000..55b43d93e3 --- /dev/null +++ b/support/shared/m4/ax_check_classpath.m4 @@ -0,0 +1,61 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_classpath.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_CLASSPATH +# +# DESCRIPTION +# +# AX_CHECK_CLASSPATH just displays the CLASSPATH, for the edification of +# the user. +# +# Note: This is part of the set of autoconf M4 macros for Java programs. +# It is VERY IMPORTANT that you download the whole set, some macros depend +# on other. Unfortunately, the autoconf archive does not support the +# concept of set of macros, so I had to break it for submission. The +# general documentation, as well as the sample configure.in, is included +# in the AX_PROG_JAVA macro. +# +# LICENSE +# +# Copyright (c) 2008 Stephane Bortzmeyer +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_CHECK_CLASSPATH], [AX_CHECK_CLASSPATH]) +AC_DEFUN([AX_CHECK_CLASSPATH],[ +if test "x$CLASSPATH" = x; then + echo "You have no CLASSPATH, I hope it is good" +else + echo "You have CLASSPATH $CLASSPATH, hope it is correct" +fi +]) + diff --git a/support/shared/m4/ax_check_gnu_make.m4 b/support/shared/m4/ax_check_gnu_make.m4 new file mode 100644 index 0000000000..71ffe34817 --- /dev/null +++ b/support/shared/m4/ax_check_gnu_make.m4 @@ -0,0 +1,96 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_gnu_make.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_GNU_MAKE([run-if-true],[run-if-false]) +# +# DESCRIPTION +# +# This macro searches for a GNU version of make. If a match is found: +# +# * The makefile variable `ifGNUmake' is set to the empty string, otherwise +# it is set to "#". This is useful for including a special features in a +# Makefile, which cannot be handled by other versions of make. +# * The makefile variable `ifnGNUmake' is set to #, otherwise +# it is set to the empty string. This is useful for including a special +# features in a Makefile, which can be handled +# by other versions of make or to specify else like clause. +# * The variable `_cv_gnu_make_command` is set to the command to invoke +# GNU make if it exists, the empty string otherwise. +# * The variable `ax_cv_gnu_make_command` is set to the command to invoke +# GNU make by copying `_cv_gnu_make_command`, otherwise it is unset. +# * If GNU Make is found, its version is extracted from the output of +# `make --version` as the last field of a record of space-separated +# columns and saved into the variable `ax_check_gnu_make_version`. +# * Additionally if GNU Make is found, run shell code run-if-true +# else run shell code run-if-false. +# +# Here is an example of its use: +# +# Makefile.in might contain: +# +# # A failsafe way of putting a dependency rule into a makefile +# $(DEPEND): +# $(CC) -MM $(srcdir)/*.c > $(DEPEND) +# +# @ifGNUmake@ ifeq ($(DEPEND),$(wildcard $(DEPEND))) +# @ifGNUmake@ include $(DEPEND) +# @ifGNUmake@ else +# fallback code +# @ifGNUmake@ endif +# +# Then configure.in would normally contain: +# +# AX_CHECK_GNU_MAKE() +# AC_OUTPUT(Makefile) +# +# Then perhaps to cause gnu make to override any other make, we could do +# something like this (note that GNU make always looks for GNUmakefile +# first): +# +# if ! test x$_cv_gnu_make_command = x ; then +# mv Makefile GNUmakefile +# echo .DEFAULT: > Makefile ; +# echo \ $_cv_gnu_make_command \$@ >> Makefile; +# fi +# +# Then, if any (well almost any) other make is called, and GNU make also +# exists, then the other make wraps the GNU make. +# +# LICENSE +# +# Copyright (c) 2008 John Darrington +# Copyright (c) 2015 Enrico M. Crisostomo +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 12 + +AC_DEFUN([AX_CHECK_GNU_MAKE],dnl + [AC_PROG_AWK + AC_CACHE_CHECK([for GNU make],[_cv_gnu_make_command],[dnl + _cv_gnu_make_command="" ; +dnl Search all the common names for GNU make + for a in "$MAKE" make gmake gnumake ; do + if test -z "$a" ; then continue ; fi ; + if "$a" --version 2> /dev/null | grep GNU 2>&1 > /dev/null ; then + _cv_gnu_make_command=$a ; + AX_CHECK_GNU_MAKE_HEADLINE=$("$a" --version 2> /dev/null | grep "GNU Make") + ax_check_gnu_make_version=$(echo ${AX_CHECK_GNU_MAKE_HEADLINE} | ${AWK} -F " " '{ print $(NF); }') + break ; + fi + done ;]) +dnl If there was a GNU version, then set @ifGNUmake@ to the empty string, '#' otherwise + AS_VAR_IF([_cv_gnu_make_command], [""], [AS_VAR_SET([ifGNUmake], ["#"])], [AS_VAR_SET([ifGNUmake], [""])]) + AS_VAR_IF([_cv_gnu_make_command], [""], [AS_VAR_SET([ifnGNUmake], [""])], [AS_VAR_SET([ifnGNUmake], ["#"])]) + AS_VAR_IF([_cv_gnu_make_command], [""], [AS_UNSET(ax_cv_gnu_make_command)], [AS_VAR_SET([ax_cv_gnu_make_command], [${_cv_gnu_make_command}])]) + AS_VAR_IF([_cv_gnu_make_command], [""],[$2],[$1]) + AC_SUBST([ifGNUmake]) + AC_SUBST([ifnGNUmake]) +]) + diff --git a/support/shared/m4/ax_count_cpus.m4 b/support/shared/m4/ax_count_cpus.m4 new file mode 100644 index 0000000000..5db8925534 --- /dev/null +++ b/support/shared/m4/ax_count_cpus.m4 @@ -0,0 +1,101 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_count_cpus.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_COUNT_CPUS([ACTION-IF-DETECTED],[ACTION-IF-NOT-DETECTED]) +# +# DESCRIPTION +# +# Attempt to count the number of logical processor cores (including +# virtual and HT cores) currently available to use on the machine and +# place detected value in CPU_COUNT variable. +# +# On successful detection, ACTION-IF-DETECTED is executed if present. If +# the detection fails, then ACTION-IF-NOT-DETECTED is triggered. The +# default ACTION-IF-NOT-DETECTED is to set CPU_COUNT to 1. +# +# LICENSE +# +# Copyright (c) 2014,2016 Karlson2k (Evgeny Grin) +# Copyright (c) 2012 Brian Aker +# Copyright (c) 2008 Michael Paul Bailey +# Copyright (c) 2008 Christophe Tournayre +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 22 + + AC_DEFUN([AX_COUNT_CPUS],[dnl + AC_REQUIRE([AC_CANONICAL_HOST])dnl + AC_REQUIRE([AC_PROG_EGREP])dnl + AC_MSG_CHECKING([the number of available CPUs]) + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + AS_IF([[test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1]],[[: # empty]],[dnl + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + ])dnl + + AS_IF([[test "$CPU_COUNT" -gt "0" 2>/dev/null]],[[: # empty]],[dnl + # Try platform-specific preferred methods + AS_CASE([[$host_os]],dnl + [[*linux*]],[[CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^@<:@0-9@:>@+,' -c` || CPU_COUNT="0"]],dnl + [[*darwin*]],[[CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0"]],dnl + [[freebsd*]],[[command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0"]],dnl + [[netbsd*]], [[command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0"]],dnl + [[solaris*]],[[command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^@<:@0-9@:>@.*on-line' -c 2>/dev/null` || CPU_COUNT="0"]],dnl + [[mingw*]],[[CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^@<:@0-9@:>@+/' -c` || CPU_COUNT="0"]],dnl + [[msys*]],[[CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^@<:@0-9@:>@+/' -c` || CPU_COUNT="0"]],dnl + [[cygwin*]],[[CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^@<:@0-9@:>@+/' -c` || CPU_COUNT="0"]]dnl + )dnl + ])dnl + + AS_IF([[test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1]],[[: # empty]],[dnl + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + ])dnl + + AS_IF([[test "$CPU_COUNT" -gt "0" 2>/dev/null]],[[: # empty]],[dnl + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + AS_CASE([[$host_os]],dnl + [[*linux*]],[[CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0"]],dnl + [[*darwin*]],[[CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0"]],dnl + [[freebsd*]],[[CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu@<:@0-9@:>@+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0"]],dnl + [[netbsd*]], [[CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^@<:@0-9@:>@+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu@<:@0-9@:>@+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0"]],dnl + [[solaris*]],[[command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0"]],dnl + [[mingw*]],[AS_IF([[CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\@<:@0-9@:>@+$' -c`]],dnl + [[: # empty]],[[test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS"]])],dnl + [[msys*]],[[test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS"]],dnl + [[cygwin*]],[[test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS"]]dnl + )dnl + ])dnl + + AS_IF([[test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null]],[dnl + AC_MSG_RESULT([[$CPU_COUNT]]) + m4_ifvaln([$1],[$1],)dnl + ],[dnl + m4_ifval([$2],[dnl + AS_UNSET([[CPU_COUNT]]) + AC_MSG_RESULT([[unable to detect]]) + $2 + ], [dnl + CPU_COUNT="1" + AC_MSG_RESULT([[unable to detect (assuming 1)]]) + ])dnl + ])dnl + ])dnl diff --git a/m4/m4_ax_lapack.m4 b/support/shared/m4/ax_lapack.m4 similarity index 100% rename from m4/m4_ax_lapack.m4 rename to support/shared/m4/ax_lapack.m4 diff --git a/support/shared/m4/ax_lib_hdf5.m4 b/support/shared/m4/ax_lib_hdf5.m4 new file mode 100644 index 0000000000..074c2a820a --- /dev/null +++ b/support/shared/m4/ax_lib_hdf5.m4 @@ -0,0 +1,323 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_hdf5.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_HDF5([serial/parallel]) +# +# DESCRIPTION +# +# This macro provides tests of the availability of HDF5 library. +# +# The optional macro argument should be either 'serial' or 'parallel'. The +# former only looks for serial HDF5 installations via h5cc. The latter +# only looks for parallel HDF5 installations via h5pcc. If the optional +# argument is omitted, serial installations will be preferred over +# parallel ones. +# +# The macro adds a --with-hdf5 option accepting one of three values: +# +# no - do not check for the HDF5 library. +# yes - do check for HDF5 library in standard locations. +# path - complete path to the HDF5 helper script h5cc or h5pcc. +# +# If HDF5 is successfully found, this macro calls +# +# AC_SUBST(HDF5_VERSION) +# AC_SUBST(HDF5_CC) +# AC_SUBST(HDF5_CFLAGS) +# AC_SUBST(HDF5_CPPFLAGS) +# AC_SUBST(HDF5_LDFLAGS) +# AC_SUBST(HDF5_LIBS) +# AC_SUBST(HDF5_FC) +# AC_SUBST(HDF5_FFLAGS) +# AC_SUBST(HDF5_FLIBS) +# AC_SUBST(HDF5_TYPE) +# AC_DEFINE(HAVE_HDF5) +# +# and sets with_hdf5="yes". Additionally, the macro sets +# with_hdf5_fortran="yes" if a matching Fortran wrapper script is found. +# Note that Autoconf's Fortran support is not used to perform this check. +# H5CC and H5FC will contain the appropriate serial or parallel HDF5 +# wrapper script locations. +# +# If HDF5 is disabled or not found, this macros sets with_hdf5="no" and +# with_hdf5_fortran="no". +# +# Your configuration script can test $with_hdf to take any further +# actions. HDF5_{C,CPP,LD}FLAGS may be used when building with C or C++. +# HDF5_F{FLAGS,LIBS} should be used when building Fortran applications. +# +# To use the macro, one would code one of the following in "configure.ac" +# before AC_OUTPUT: +# +# 1) dnl Check for HDF5 support +# AX_LIB_HDF5() +# +# 2) dnl Check for serial HDF5 support +# AX_LIB_HDF5([serial]) +# +# 3) dnl Check for parallel HDF5 support +# AX_LIB_HDF5([parallel]) +# +# One could test $with_hdf5 for the outcome or display it as follows +# +# echo "HDF5 support: $with_hdf5" +# +# You could also for example, override the default CC in "configure.ac" to +# enforce compilation with the compiler that HDF5 uses: +# +# AX_LIB_HDF5([parallel]) +# if test "$with_hdf5" = "yes"; then +# CC="$HDF5_CC" +# else +# AC_MSG_ERROR([Unable to find HDF5, we need parallel HDF5.]) +# fi +# +# The HDF5_TYPE environment variable returns "parallel" or "serial", +# depending on which type of library is found. +# +# LICENSE +# +# Copyright (c) 2009 Timothy Brown +# Copyright (c) 2010 Rhys Ulerich +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 20 + +AC_DEFUN([AX_LIB_HDF5], [ + +AC_REQUIRE([AC_PROG_SED]) +AC_REQUIRE([AC_PROG_AWK]) +AC_REQUIRE([AC_PROG_GREP]) + +dnl Check first argument is one of the recognized values. +dnl Fail eagerly if is incorrect as this simplifies case statements below. +if test "m4_normalize(m4_default([$1],[]))" = "" ; then + : # Recognized value +elif test "m4_normalize(m4_default([$1],[]))" = "serial" ; then + : # Recognized value +elif test "m4_normalize(m4_default([$1],[]))" = "parallel"; then + : # Recognized value +else + AC_MSG_ERROR([ +Unrecognized value for AX[]_LIB_HDF5 within configure.ac. +If supplied, argument 1 must be either 'serial' or 'parallel'. +]) +fi + +dnl Add a default --with-hdf5 configuration option. +AC_ARG_WITH([hdf5], + AS_HELP_STRING( + [--with-hdf5=[yes/no/PATH]], + m4_case(m4_normalize([$1]), + [serial], [location of h5cc for serial HDF5 configuration], + [parallel], [location of h5pcc for parallel HDF5 configuration], + [location of h5cc or h5pcc for HDF5 configuration]) + ), + [if test "$withval" = "no"; then + with_hdf5="no" + elif test "$withval" = "yes"; then + with_hdf5="yes" + else + with_hdf5="yes" + H5CC="$withval" + fi], + [with_hdf5="yes"] +) + +dnl Set defaults to blank +HDF5_CC="" +HDF5_VERSION="" +HDF5_CFLAGS="" +HDF5_CPPFLAGS="" +HDF5_LDFLAGS="" +HDF5_LIBS="" +HDF5_FC="" +HDF5_FFLAGS="" +HDF5_FLIBS="" +HDF5_TYPE="" + +dnl Try and find hdf5 compiler tools and options. +if test "$with_hdf5" = "yes"; then + if test -z "$H5CC"; then + dnl Check to see if H5CC is in the path. + AC_PATH_PROGS( + [H5CC], + m4_case(m4_normalize([$1]), + [serial], [h5cc], + [parallel], [h5pcc], + [h5cc h5pcc]), + []) + else + AC_MSG_CHECKING([Using provided HDF5 C wrapper]) + AC_MSG_RESULT([$H5CC]) + fi + AC_MSG_CHECKING([for HDF5 type]) + AS_CASE([$H5CC], + [*h5pcc], [HDF5_TYPE=parallel], + [*h5cc], [HDF5_TYPE=serial], + [HDF5_TYPE=neither]) + AC_MSG_RESULT([$HDF5_TYPE]) + AC_MSG_CHECKING([for HDF5 libraries]) + if test ! -f "$H5CC" || test ! -x "$H5CC"; then + AC_MSG_RESULT([no]) + AC_MSG_WARN(m4_case(m4_normalize([$1]), + [serial], [ +Unable to locate serial HDF5 compilation helper script 'h5cc'. +Please specify --with-hdf5= as the full path to h5cc. +HDF5 support is being disabled (equivalent to --with-hdf5=no). +], [parallel],[ +Unable to locate parallel HDF5 compilation helper script 'h5pcc'. +Please specify --with-hdf5= as the full path to h5pcc. +HDF5 support is being disabled (equivalent to --with-hdf5=no). +], [ +Unable to locate HDF5 compilation helper scripts 'h5cc' or 'h5pcc'. +Please specify --with-hdf5= as the full path to h5cc or h5pcc. +HDF5 support is being disabled (equivalent to --with-hdf5=no). +])) + with_hdf5="no" + with_hdf5_fortran="no" + else + dnl Get the h5cc output + HDF5_SHOW=$(eval $H5CC -show) + + dnl Get the actual compiler used + HDF5_CC=$(eval $H5CC -show | head -n 1 | $AWK '{print $[]1}') + if test "$HDF5_CC" = "ccache"; then + HDF5_CC=$(eval $H5CC -show | head -n 1 | $AWK '{print $[]2}') + fi + + dnl h5cc provides both AM_ and non-AM_ options + dnl depending on how it was compiled either one of + dnl these are empty. Lets roll them both into one. + + dnl Look for "HDF5 Version: X.Y.Z" + HDF5_VERSION=$(eval $H5CC -showconfig | $GREP 'HDF5 Version:' \ + | $AWK '{print $[]3}') + + dnl A ideal situation would be where everything we needed was + dnl in the AM_* variables. However most systems are not like this + dnl and seem to have the values in the non-AM variables. + dnl + dnl We try the following to find the flags: + dnl (1) Look for "NAME:" tags + dnl (2) Look for "H5_NAME:" tags + dnl (3) Look for "AM_NAME:" tags + dnl + HDF5_tmp_flags=$(eval $H5CC -showconfig \ + | $GREP 'FLAGS\|Extra libraries:' \ + | $AWK -F: '{printf("%s "), $[]2}' ) + + dnl Find the installation directory and append include/ + HDF5_tmp_inst=$(eval $H5CC -showconfig \ + | $GREP 'Installation point:' \ + | $AWK '{print $[]NF}' ) + + dnl Add this to the CPPFLAGS + HDF5_CPPFLAGS="-I${HDF5_tmp_inst}/include" + + dnl Now sort the flags out based upon their prefixes + for arg in $HDF5_SHOW $HDF5_tmp_flags ; do + case "$arg" in + -I*) echo $HDF5_CPPFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ + || HDF5_CPPFLAGS="$HDF5_CPPFLAGS $arg" + ;; + -L*) echo $HDF5_LDFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ + || HDF5_LDFLAGS="$HDF5_LDFLAGS $arg" + ;; + -l*) echo $HDF5_LIBS | $GREP -e "$arg" 2>&1 >/dev/null \ + || HDF5_LIBS="$HDF5_LIBS $arg" + ;; + esac + done + + HDF5_LIBS="-lhdf5 $HDF5_LIBS" + AC_MSG_RESULT([yes (version $[HDF5_VERSION])]) + + dnl See if we can compile + AC_LANG_PUSH([C]) + ax_lib_hdf5_save_CC=$CC + ax_lib_hdf5_save_CPPFLAGS=$CPPFLAGS + ax_lib_hdf5_save_LIBS=$LIBS + ax_lib_hdf5_save_LDFLAGS=$LDFLAGS + CC=$HDF5_CC + CPPFLAGS=$HDF5_CPPFLAGS + LIBS=$HDF5_LIBS + LDFLAGS=$HDF5_LDFLAGS + AC_CHECK_HEADER([hdf5.h], [ac_cv_hadf5_h=yes], [ac_cv_hadf5_h=no]) + AC_CHECK_LIB([hdf5], [H5Fcreate], [ac_cv_libhdf5=yes], + [ac_cv_libhdf5=no]) + if test "$ac_cv_hadf5_h" = "no" && test "$ac_cv_libhdf5" = "no" ; then + AC_MSG_WARN([Unable to compile HDF5 test program]) + fi + dnl Look for HDF5's high level library + AC_HAVE_LIBRARY([hdf5_hl], [HDF5_LIBS="-lhdf5_hl $HDF5_LIBS"], [], []) + + CC=$ax_lib_hdf5_save_CC + CPPFLAGS=$ax_lib_hdf5_save_CPPFLAGS + LIBS=$ax_lib_hdf5_save_LIBS + LDFLAGS=$ax_lib_hdf5_save_LDFLAGS + AC_LANG_POP([C]) + + AC_MSG_CHECKING([for matching HDF5 Fortran wrapper]) + dnl Presume HDF5 Fortran wrapper is just a name variant from H5CC + H5FC=$(eval echo -n $H5CC | $SED -n 's/cc$/fc/p') + if test -x "$H5FC"; then + AC_MSG_RESULT([$H5FC]) + with_hdf5_fortran="yes" + AC_SUBST([H5FC]) + + dnl Again, pry any remaining -Idir/-Ldir from compiler wrapper + for arg in `$H5FC -show` + do + case "$arg" in #( + -I*) echo $HDF5_FFLAGS | $GREP -e "$arg" >/dev/null \ + || HDF5_FFLAGS="$HDF5_FFLAGS $arg" + ;;#( + -L*) echo $HDF5_FFLAGS | $GREP -e "$arg" >/dev/null \ + || HDF5_FFLAGS="$HDF5_FFLAGS $arg" + dnl HDF5 installs .mod files in with libraries, + dnl but some compilers need to find them with -I + echo $HDF5_FFLAGS | $GREP -e "-I${arg#-L}" >/dev/null \ + || HDF5_FFLAGS="$HDF5_FFLAGS -I${arg#-L}" + ;; + esac + done + + dnl Make Fortran link line by inserting Fortran libraries + for arg in $HDF5_LIBS + do + case "$arg" in #( + -lhdf5_hl) HDF5_FLIBS="$HDF5_FLIBS -lhdf5hl_fortran $arg" + ;; #( + -lhdf5) HDF5_FLIBS="$HDF5_FLIBS -lhdf5_fortran $arg" + ;; #( + *) HDF5_FLIBS="$HDF5_FLIBS $arg" + ;; + esac + done + else + AC_MSG_RESULT([no]) + with_hdf5_fortran="no" + fi + + AC_SUBST([HDF5_VERSION]) + AC_SUBST([HDF5_CC]) + AC_SUBST([HDF5_CFLAGS]) + AC_SUBST([HDF5_CPPFLAGS]) + AC_SUBST([HDF5_LDFLAGS]) + AC_SUBST([HDF5_LIBS]) + AC_SUBST([HDF5_FC]) + AC_SUBST([HDF5_FFLAGS]) + AC_SUBST([HDF5_FLIBS]) + AC_SUBST([HDF5_TYPE]) + AC_DEFINE([HAVE_HDF5], [1], [Defined if you have HDF5 support]) + fi +fi +]) diff --git a/support/shared/m4/ax_lib_netcdf4.m4 b/support/shared/m4/ax_lib_netcdf4.m4 new file mode 100644 index 0000000000..e9dd487a02 --- /dev/null +++ b/support/shared/m4/ax_lib_netcdf4.m4 @@ -0,0 +1,277 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_netcdf4.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_NETCDF4([serial/parallel]) +# +# DESCRIPTION +# +# This macro provides tests of the availability of the NetCDF v4 library. +# +# The optional macro argument should be either 'serial' or 'parallel'. The +# macro will call nc-config to check the output of the '--has-pnetcdf' +# option and error out if the requested parallel isn't supported. +# +# If the optional argument is omitted, no check is made to see if NetCDF +# has parallel support. +# +# The macro adds a --with-netcdf4 option accepting one of three values: +# +# no - do not check for the NetCDF4 library. +# yes - do check for NetCDF4 library in standard locations. +# path - installation prefix for NetCDF version 4. +# +# If NetCDF4 is successfully found, this macro calls +# +# AC_SUBST(NETCDF4_VERSION) +# AC_SUBST(NETCDF4_CC) +# AC_SUBST(NETCDF4_CFLAGS) +# AC_SUBST(NETCDF4_CPPFLAGS) +# AC_SUBST(NETCDF4_LDFLAGS) +# AC_SUBST(NETCDF4_LIBS) +# AC_SUBST(NETCDF4_FC) +# AC_SUBST(NETCDF4_FFLAGS) +# AC_SUBST(NETCDF4_FLIBS) +# AC_DEFINE(HAVE_NETCDF4) +# +# It also sets +# +# with_netcdf4="yes" +# with_netcdf4_fortran="yes" (if NetCDF has Fortran support) +# with_netcdf4_parallel="yes" (if NetCDF has MPI support) +# +# If NetCDF4 is disabled or not found, this macros sets +# +# with_netcdf4="no" +# with_netcdf4_fortran="no" +# +# Note it does not set with_netcdf4_parallel in this case. +# +# Your configuration script can test $with_netcdf4 to take any further +# actions. NETCDF4_{C,CPP,LD}FLAGS may be used when building with C or +# C++. NETCDF4_F{FLAGS,LIBS} and NETCDF4_LDFLAGS should be used when +# building Fortran applications. +# +# To use the macro, one would code one of the following in "configure.ac" +# before AC_OUTPUT: +# +# 1) dnl Check for NetCDF4 support +# AX_LIB_NETCDF4() +# +# 2) dnl Check for serial NetCDF4 support +# AX_LIB_NETCDF4([serial]) +# +# 3) dnl Check for parallel NetCDF4 support +# AX_LIB_NETCDF4([parallel]) +# +# One could test $with_netcdf4 for the outcome or display it as follows +# +# echo "NetCDF v4 support: $with_netcdf4" +# +# One could also for example, override the default CC in "configure.ac" to +# enforce compilation with the compiler that NetCDF v4 was built with: +# +# AX_LIB_NETCDF4([parallel]) +# if test "$with_netcdf4" = "yes"; then +# CC="$NETCDF4_CC" +# else +# AC_MSG_ERROR([Unable to find NetCDF4, we need parallel NetCDF4.]) +# fi +# +# LICENSE +# +# Copyright (c) 2016 Timothy Brown +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_LIB_NETCDF4], [ + +AC_REQUIRE([AC_PROG_SED]) +AC_REQUIRE([AC_PROG_AWK]) +AC_REQUIRE([AC_PROG_GREP]) + +dnl Check first argument is one of the recognized values. +dnl Fail eagerly if is incorrect as this simplifies case statements below. +if test "m4_normalize(m4_default([$1],[]))" = "" ; then + netcdf4_requested_mode="serial" +elif test "m4_normalize(m4_default([$1],[]))" = "serial" ; then + netcdf4_requested_mode="serial" +elif test "m4_normalize(m4_default([$1],[]))" = "parallel"; then + netcdf4_requested_mode="parallel" +else + AC_MSG_ERROR([ +Unrecognized value for AX[]_LIB_NETCDF4 within configure.ac. +If supplied, argument 1 must be either 'serial' or 'parallel'. +]) +fi + +dnl Add a default --with-netcdf4 configuration option. +AC_ARG_WITH([netcdf4], + AS_HELP_STRING( + [--with-netcdf4=[yes/no/PATH]], + m4_case(m4_normalize([$1]), + [serial], [base directory of serial NetCDF4 installation], + [parallel], [base directory of parallel NetCDF4 installation], + [base directory of NetCDF4 installation]) + ), + [if test "$withval" = "no"; then + with_netcdf4="no" + elif test "$withval" = "yes"; then + with_netcdf4="yes" + else + with_netcdf4="yes" + NETCDF4_PREFIX="${withval}" + NC_CONFIG="${withval}/bin/nc-config" + fi], + [with_netcdf4="yes"] +) + +dnl Set defaults to blank +NETCDF4_CC="" +NETCDF4_VERSION="" +NETCDF4_CFLAGS="" +NETCDF4_CPPFLAGS="" +NETCDF4_LDFLAGS="" +NETCDF4_LIBS="" +NETCDF4_FC="" +NETCDF4_FFLAGS="" +NETCDF4_FLIBS="" + +dnl Try and find NetCDF4 tools and options. +if test "$with_netcdf4" = "yes"; then + if test -z "$NC_CONFIG"; then + dnl Check to see if NC_CONFIG is in the path. + AC_PATH_PROGS([NC_CONFIG], [nc-config], []) + NETCDF4_PREFIX=$(AS_DIRNAME([$(AS_DIRNAME(["$NC_CONFIG"]))])) + else + AC_MSG_CHECKING([Using provided NetCDF4 prefix]) + AC_MSG_RESULT([$NC_CONFIG]) + fi + + AC_MSG_CHECKING([for NetCDF4 libraries]) + + if test ! -f "$NC_CONFIG" || test ! -x "$NC_CONFIG"; then + AC_MSG_RESULT([no]) + AC_MSG_WARN([ + +Unable to locate NetCDF4 compilation helper script 'nc-config'. +Please specify --with-netcdf4= as the full path prefix +where NetCDF4 has been installed. +NetCDF4 support is being disabled (equivalent to --with-netcdf4=no). +]) + with_netcdf4="no" + with_netcdf4_fortran="no" + else + dnl Get the actual compiler used + NETCDF4_CC=$(eval $NC_CONFIG --cc | $AWK '{print $[]1}') + if test "$NETCDF4_CC" = "ccache"; then + NETCDF4_CC=$(eval $NC_CONFIG --cc | $AWK '{print $[]2}') + fi + + dnl Look for version + NETCDF4_VERSION=$(eval $NC_CONFIG --version | $AWK '{print $[]2}') + + dnl Look for the CFLAGS + NETCDF4_CFLAGS=$(eval $NC_CONFIG --cflags) + + dnl Look for the LIBS and LDFLAGS + NETCDF4_tmp_clibs=$(eval $NC_CONFIG --libs) + + dnl Sort out the tmp libs based on their prefixes + for arg in $NETCDF4_tmp_clibs ; do + case "$arg" in + -L*) echo $NETCDF4_LDFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ + || NETCDF4_LDFLAGS="$arg $NETCDF4_LDFLAGS" + ;; + -l*) echo $NETCDF4_LIBS | $GREP -e "$arg" 2>&1 >/dev/null \ + || NETCDF4_LIBS="$arg $NETCDF4_LIBS" + ;; + esac + done + + AC_MSG_RESULT([yes (version $[NETCDF4_VERSION])]) + + dnl See if we need (and have) parallel support + if test "$netcdf4_requested_mode" = "parallel" ; then + with_netcdf4_parallel=$(eval $NC_CONFIG --has-pnetcdf) + if test "$with_netcdf4_parallel" = "no" ; then + AC_MSG_ERROR([ +parallel NetCDF4 is not supported (while it was requested) +]) + fi + fi + + dnl See if we can compile + ax_lib_netcdf4_save_CC=$CC + ax_lib_netcdf4_save_CPPFLAGS=$CPPFLAGS + ax_lib_netcdf4_save_LIBS=$LIBS + ax_lib_netcdf4_save_LDFLAGS=$LDFLAGS + CC=$NETCDF4_CC + CFLAGS=$NETCDF4_CFLAGS + LIBS=$NETCDF4_LIBS + LDFLAGS=$NETCDF4_LDFLAGS + AC_CHECK_HEADER([netcdf.h], [ac_cv_netcdf4_h=yes], [ac_cv_netcdf4_h=no]) + AC_CHECK_LIB([netcdf], [nc_create], [ac_cv_libnetcdf4=yes], + [ac_cv_libnetcdf4=no]) + if test "$ac_cv_netcdf4_h" = "no" && \ + test "$ac_cv_libnetcdf4" = "no" ; then + AC_MSG_WARN([Unable to compile NetCDF4 test program]) + fi + + CC=$ax_lib_netcdf4_save_CC + CFLAGS=$ax_lib_netcdf4_save_CFLAGS + LIBS=$ax_lib_netcdf4_save_LIBS + LDFLAGS=$ax_lib_hdf5_save_LDFLAGS + + + AC_MSG_CHECKING([for matching NetCDF4 Fortran libraries]) + NF_CONFIG="${NETCDF4_PREFIX}/bin/nf-config" + if test ! -f "$NF_CONFIG" || test ! -x "$NF_CONFIG"; then + AC_MSG_RESULT([no]) + with_netcdf4_fortran="no" + else + NETCDF_FVERSION=$(eval $NF_CONFIG --version | $AWK '{print $[]2}') + AC_MSG_RESULT([yes (version $[NETCDF_FVERSION])]) + NETCDF4_FC=$(eval $NF_CONFIG --fc | $AWK '{print $[]1}') + if test "$NETCDF4_FC" = "ccache"; then + NETCDF4_FC=$(eval $NF_CONFIG --fc | $AWK '{print $[]2}') + fi + dnl Look for the FFLAGS + NETCDF4_FFLAGS=$(eval $NC_CONFIG --fflags) + + dnl Look for the FLIBS and LDFLAGS + NETCDF4_tmp_flibs=$(eval $NC_CONFIG --flibs) + + dnl Sort out the tmp libs based on their prefixes + for arg in $NETCDF4_tmp_flibs ; do + case "$arg" in + -L*) echo $NETCDF4_LDFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ + || NETCDF4_LDFLAGS="$arg $NETCDF4_LDFLAGS" + ;; + -l*) echo $NETCDF4_FLIBS | $GREP -e "$arg" 2>&1 >/dev/null \ + || NETCDF4_FLIBS="$arg $NETCDF4_FLIBS" + ;; + esac + done + with_netcdf4_fortran="yes" + fi + + AC_SUBST([NETCDF4_VERSION]) + AC_SUBST([NETCDF4_CC]) + AC_SUBST([NETCDF4_CFLAGS]) + AC_SUBST([NETCDF4_LDFLAGS]) + AC_SUBST([NETCDF4_LIBS]) + AC_SUBST([NETCDF4_FC]) + AC_SUBST([NETCDF4_FFLAGS]) + AC_SUBST([NETCDF4_FLIBS]) + AC_DEFINE([HAVE_NETCDF4], [1], [Defined if you have NETCDF4 support]) + fi +fi +]) diff --git a/m4/ax_mpi.m4 b/support/shared/m4/ax_mpi.m4 similarity index 100% rename from m4/ax_mpi.m4 rename to support/shared/m4/ax_mpi.m4 diff --git a/m4/ax_openmp.m4 b/support/shared/m4/ax_openmp.m4 similarity index 80% rename from m4/ax_openmp.m4 rename to support/shared/m4/ax_openmp.m4 index a728f63022..866e1d6645 100644 --- a/m4/ax_openmp.m4 +++ b/support/shared/m4/ax_openmp.m4 @@ -1,5 +1,5 @@ # =========================================================================== -# http://www.gnu.org/software/autoconf-archive/ax_openmp.html +# https://www.gnu.org/software/autoconf-archive/ax_openmp.html # =========================================================================== # # SYNOPSIS @@ -38,6 +38,8 @@ # LICENSE # # Copyright (c) 2008 Steven G. Johnson +# Copyright (c) 2015 John W. Peterson +# Copyright (c) 2016 Nick R. Papior # # This program is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the @@ -50,7 +52,7 @@ # Public License for more details. # # You should have received a copy of the GNU General Public License along -# with this program. If not, see . +# with this program. If not, see . # # As a special exception, the respective Autoconf Macro's copyright owner # gives unlimited permission to copy, distribute and modify the configure @@ -65,16 +67,19 @@ # modified version of the Autoconf Macro, you may extend this special # exception to the GPL to apply to your modified version as well. -#serial 8 +#serial 13 AC_DEFUN([AX_OPENMP], [ -AC_PREREQ([2.71]) dnl for _AC_LANG_PREFIX +AC_PREREQ([2.69]) dnl for _AC_LANG_PREFIX AC_CACHE_CHECK([for OpenMP flag of _AC_LANG compiler], ax_cv_[]_AC_LANG_ABBREV[]_openmp, [save[]_AC_LANG_PREFIX[]FLAGS=$[]_AC_LANG_PREFIX[]FLAGS ax_cv_[]_AC_LANG_ABBREV[]_openmp=unknown -# Flags to try: -fopenmp (gcc), -openmp (icc), -mp (SGI & PGI), -# -xopenmp (Sun), -omp (Tru64), -qsmp=omp (AIX), none -ax_openmp_flags="-fopenmp -openmp -mp -xopenmp -omp -qsmp=omp none" +# Flags to try: -fopenmp (gcc), -mp (SGI & PGI), +# -qopenmp (icc>=15), -openmp (icc), +# -xopenmp (Sun), -omp (Tru64), +# -qsmp=omp (AIX), +# none +ax_openmp_flags="-fopenmp -openmp -qopenmp -mp -xopenmp -omp -qsmp=omp none" if test "x$OPENMP_[]_AC_LANG_PREFIX[]FLAGS" != x; then ax_openmp_flags="$OPENMP_[]_AC_LANG_PREFIX[]FLAGS $ax_openmp_flags" fi @@ -83,8 +88,27 @@ for ax_openmp_flag in $ax_openmp_flags; do none) []_AC_LANG_PREFIX[]FLAGS=$save[]_AC_LANG_PREFIX[] ;; *) []_AC_LANG_PREFIX[]FLAGS="$save[]_AC_LANG_PREFIX[]FLAGS $ax_openmp_flag" ;; esac - AC_TRY_LINK_FUNC(omp_set_num_threads, - [ax_cv_[]_AC_LANG_ABBREV[]_openmp=$ax_openmp_flag; break]) + AC_LINK_IFELSE([AC_LANG_SOURCE([[ +@%:@include + +static void +parallel_fill(int * data, int n) +{ + int i; +@%:@pragma omp parallel for + for (i = 0; i < n; ++i) + data[i] = i; +} + +int +main() +{ + int arr[100000]; + omp_set_num_threads(2); + parallel_fill(arr, 100000); + return 0; +} +]])],[ax_cv_[]_AC_LANG_ABBREV[]_openmp=$ax_openmp_flag; break],[]) done []_AC_LANG_PREFIX[]FLAGS=$save[]_AC_LANG_PREFIX[]FLAGS ]) diff --git a/support/shared/m4/ax_prog_jar.m4 b/support/shared/m4/ax_prog_jar.m4 new file mode 100644 index 0000000000..76ed8147c6 --- /dev/null +++ b/support/shared/m4/ax_prog_jar.m4 @@ -0,0 +1,50 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_jar.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_JAR +# +# DESCRIPTION +# +# AX_PROG_JAR tests for an existing jar program. It uses the environment +# variable JAR then tests in sequence various common jar programs. +# +# If you want to force a specific compiler: +# +# - at the configure.in level, set JAR=yourcompiler before calling +# AX_PROG_JAR +# +# - at the configure level, setenv JAR +# +# You can use the JAR variable in your Makefile.in, with @JAR@. +# +# Note: This macro depends on the autoconf M4 macros for Java programs. It +# is VERY IMPORTANT that you download that whole set, some macros depend +# on other. Unfortunately, the autoconf archive does not support the +# concept of set of macros, so I had to break it for submission. +# +# The general documentation of those macros, as well as the sample +# configure.in, is included in the AX_PROG_JAVA macro. +# +# LICENSE +# +# Copyright (c) 2008 Egon Willighagen +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AU_ALIAS([AC_PROG_JAR], [AX_PROG_JAR]) +AC_DEFUN([AX_PROG_JAR],[ +AS_IF([test "x$JAVAPREFIX" = x], + [test "x$JAR" = x && AC_CHECK_PROGS([JAR], [jar])], + [test "x$JAR" = x && AC_CHECK_PROGS([JAR], [jar], [], [$JAVAPREFIX/bin])]) +test "x$JAR" = x && AC_MSG_ERROR([no acceptable jar program found in \$PATH]) +AC_PROVIDE([$0])dnl +]) + diff --git a/support/shared/m4/ax_prog_java.m4 b/support/shared/m4/ax_prog_java.m4 new file mode 100644 index 0000000000..c4312ee8e7 --- /dev/null +++ b/support/shared/m4/ax_prog_java.m4 @@ -0,0 +1,116 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_java.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_JAVA +# +# DESCRIPTION +# +# Here is a summary of the main macros: +# +# AX_PROG_JAVAC: finds a Java compiler. +# +# AX_PROG_JAVA: finds a Java virtual machine. +# +# AX_CHECK_CLASS: finds if we have the given class (beware of CLASSPATH!). +# +# AX_CHECK_RQRD_CLASS: finds if we have the given class and stops +# otherwise. +# +# AX_TRY_COMPILE_JAVA: attempt to compile user given source. +# +# AX_TRY_RUN_JAVA: attempt to compile and run user given source. +# +# AX_JAVA_OPTIONS: adds Java configure options. +# +# AX_PROG_JAVA tests an existing Java virtual machine. It uses the +# environment variable JAVA then tests in sequence various common Java +# virtual machines. For political reasons, it starts with the free ones. +# You *must* call [AX_PROG_JAVAC] before. +# +# If you want to force a specific VM: +# +# - at the configure.in level, set JAVA=yourvm before calling AX_PROG_JAVA +# +# (but after AC_INIT) +# +# - at the configure level, setenv JAVA +# +# You can use the JAVA variable in your Makefile.in, with @JAVA@. +# +# *Warning*: its success or failure can depend on a proper setting of the +# CLASSPATH env. variable. +# +# TODO: allow to exclude virtual machines (rationale: most Java programs +# cannot run with some VM like kaffe). +# +# Note: This is part of the set of autoconf M4 macros for Java programs. +# It is VERY IMPORTANT that you download the whole set, some macros depend +# on other. Unfortunately, the autoconf archive does not support the +# concept of set of macros, so I had to break it for submission. +# +# A Web page, with a link to the latest CVS snapshot is at +# . +# +# This is a sample configure.in Process this file with autoconf to produce +# a configure script. +# +# AC_INIT(UnTag.java) +# +# dnl Checks for programs. +# AC_CHECK_CLASSPATH +# AX_PROG_JAVAC +# AX_PROG_JAVA +# +# dnl Checks for classes +# AX_CHECK_RQRD_CLASS(org.xml.sax.Parser) +# AX_CHECK_RQRD_CLASS(com.jclark.xml.sax.Driver) +# +# AC_OUTPUT(Makefile) +# +# LICENSE +# +# Copyright (c) 2008 Stephane Bortzmeyer +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AU_ALIAS([AC_PROG_JAVA], [AX_PROG_JAVA]) +AC_DEFUN([AX_PROG_JAVA],[ +m4_define([m4_ax_prog_java_list], [kaffe java])dnl +AS_IF([test "x$JAVAPREFIX" = x], + [test x$JAVA = x && AC_CHECK_PROGS([JAVA], [m4_ax_prog_java_list])], + [test x$JAVA = x && AC_CHECK_PROGS([JAVA], [m4_ax_prog_java_list], [], [$JAVAPREFIX/bin])]) +test x$JAVA = x && AC_MSG_ERROR([no acceptable Java virtual machine found in \$PATH]) +m4_undefine([m4_ax_prog_java_list])dnl +AX_PROG_JAVA_WORKS +AC_PROVIDE([$0])dnl +]) + diff --git a/support/shared/m4/ax_prog_java_works.m4 b/support/shared/m4/ax_prog_java_works.m4 new file mode 100644 index 0000000000..d92b7b8ddc --- /dev/null +++ b/support/shared/m4/ax_prog_java_works.m4 @@ -0,0 +1,92 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_java_works.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_JAVA_WORKS +# +# DESCRIPTION +# +# Internal use ONLY. +# +# Note: This is part of the set of autoconf M4 macros for Java programs. +# It is VERY IMPORTANT that you download the whole set, some macros depend +# on other. Unfortunately, the autoconf archive does not support the +# concept of set of macros, so I had to break it for submission. The +# general documentation, as well as the sample configure.in, is included +# in the AX_PROG_JAVA macro. +# +# LICENSE +# +# Copyright (c) 2008 Stephane Bortzmeyer +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 11 + +AU_ALIAS([AC_PROG_JAVA_WORKS], [AX_PROG_JAVA_WORKS]) +AC_DEFUN([AX_PROG_JAVA_WORKS], [ + if test x$ac_cv_prog_javac_works = xno; then + AC_MSG_ERROR([Cannot compile java source. $JAVAC does not work properly]) + fi + if test x$ac_cv_prog_javac_works = x; then + AX_PROG_JAVAC + fi +AC_CACHE_CHECK(if $JAVA works, ac_cv_prog_java_works, [ +JAVA_TEST=Test.java +CLASS_TEST=Test.class +TEST=Test +changequote(, )dnl +cat << \EOF > $JAVA_TEST +/* [#]line __oline__ "configure" */ +public class Test { +public static void main (String args[]) { + System.exit (0); +} } +EOF +changequote([, ])dnl + if AC_TRY_COMMAND($JAVAC $JAVACFLAGS $JAVA_TEST) && test -s $CLASS_TEST; then + : + else + echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD + cat $JAVA_TEST >&AS_MESSAGE_LOG_FD + AC_MSG_ERROR(The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?)) + fi +if AC_TRY_COMMAND($JAVA -classpath . $JAVAFLAGS $TEST) >/dev/null 2>&1; then + ac_cv_prog_java_works=yes +else + echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD + cat $JAVA_TEST >&AS_MESSAGE_LOG_FD + AC_MSG_ERROR(The Java VM $JAVA failed (see config.log, check the CLASSPATH?)) +fi +rm -f $JAVA_TEST $CLASS_TEST +]) +AC_PROVIDE([$0])dnl +] +) + diff --git a/support/shared/m4/ax_prog_javac.m4 b/support/shared/m4/ax_prog_javac.m4 new file mode 100644 index 0000000000..9dae89b1bb --- /dev/null +++ b/support/shared/m4/ax_prog_javac.m4 @@ -0,0 +1,80 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_javac.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_JAVAC +# +# DESCRIPTION +# +# AX_PROG_JAVAC tests an existing Java compiler. It uses the environment +# variable JAVAC then tests in sequence various common Java compilers. For +# political reasons, it starts with the free ones. +# +# If you want to force a specific compiler: +# +# - at the configure.in level, set JAVAC=yourcompiler before calling +# AX_PROG_JAVAC +# +# - at the configure level, setenv JAVAC +# +# You can use the JAVAC variable in your Makefile.in, with @JAVAC@. +# +# *Warning*: its success or failure can depend on a proper setting of the +# CLASSPATH env. variable. +# +# TODO: allow to exclude compilers (rationale: most Java programs cannot +# compile with some compilers like guavac). +# +# Note: This is part of the set of autoconf M4 macros for Java programs. +# It is VERY IMPORTANT that you download the whole set, some macros depend +# on other. Unfortunately, the autoconf archive does not support the +# concept of set of macros, so I had to break it for submission. The +# general documentation, as well as the sample configure.in, is included +# in the AX_PROG_JAVA macro. +# +# LICENSE +# +# Copyright (c) 2008 Stephane Bortzmeyer +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 8 + +AU_ALIAS([AC_PROG_JAVAC], [AX_PROG_JAVAC]) +AC_DEFUN([AX_PROG_JAVAC],[ +m4_define([m4_ax_prog_javac_list],["gcj -C" guavac jikes javac])dnl +AS_IF([test "x$JAVAPREFIX" = x], + [test "x$JAVAC" = x && AC_CHECK_PROGS([JAVAC], [m4_ax_prog_javac_list])], + [test "x$JAVAC" = x && AC_CHECK_PROGS([JAVAC], [m4_ax_prog_javac_list], [], [$JAVAPREFIX/bin])]) +m4_undefine([m4_ax_prog_javac_list])dnl +test "x$JAVAC" = x && AC_MSG_ERROR([no acceptable Java compiler found in \$PATH]) +AX_PROG_JAVAC_WORKS +AC_PROVIDE([$0])dnl +]) + diff --git a/support/shared/m4/ax_prog_javac_works.m4 b/support/shared/m4/ax_prog_javac_works.m4 new file mode 100644 index 0000000000..f0efe85342 --- /dev/null +++ b/support/shared/m4/ax_prog_javac_works.m4 @@ -0,0 +1,73 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_javac_works.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_JAVAC_WORKS +# +# DESCRIPTION +# +# Internal use ONLY. +# +# Note: This is part of the set of autoconf M4 macros for Java programs. +# It is VERY IMPORTANT that you download the whole set, some macros depend +# on other. Unfortunately, the autoconf archive does not support the +# concept of set of macros, so I had to break it for submission. The +# general documentation, as well as the sample configure.in, is included +# in the AX_PROG_JAVA macro. +# +# LICENSE +# +# Copyright (c) 2008 Stephane Bortzmeyer +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 7 + +AU_ALIAS([AC_PROG_JAVAC_WORKS], [AX_PROG_JAVAC_WORKS]) +AC_DEFUN([AX_PROG_JAVAC_WORKS],[ +AC_CACHE_CHECK([if $JAVAC works], ac_cv_prog_javac_works, [ +JAVA_TEST=Test.java +CLASS_TEST=Test.class +cat << \EOF > $JAVA_TEST +/* [#]line __oline__ "configure" */ +public class Test { +} +EOF +if AC_TRY_COMMAND($JAVAC $JAVACFLAGS $JAVA_TEST) >/dev/null 2>&1; then + ac_cv_prog_javac_works=yes +else + AC_MSG_ERROR([The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?)]) + echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD + cat $JAVA_TEST >&AS_MESSAGE_LOG_FD +fi +rm -f $JAVA_TEST $CLASS_TEST +]) +AC_PROVIDE([$0])dnl +]) + diff --git a/m4/fftw.m4 b/support/shared/m4/fftw.m4 similarity index 100% rename from m4/fftw.m4 rename to support/shared/m4/fftw.m4 diff --git a/m4/fortran.m4 b/support/shared/m4/fortran.m4 similarity index 100% rename from m4/fortran.m4 rename to support/shared/m4/fortran.m4 diff --git a/m4/gmp.m4 b/support/shared/m4/gmp.m4 similarity index 100% rename from m4/gmp.m4 rename to support/shared/m4/gmp.m4 diff --git a/m4/gsl.m4 b/support/shared/m4/gsl.m4 similarity index 100% rename from m4/gsl.m4 rename to support/shared/m4/gsl.m4 diff --git a/m4/mpfr.m4 b/support/shared/m4/mpfr.m4 similarity index 100% rename from m4/mpfr.m4 rename to support/shared/m4/mpfr.m4 diff --git a/m4/pkg.m4 b/support/shared/m4/pkg.m4 similarity index 100% rename from m4/pkg.m4 rename to support/shared/m4/pkg.m4 diff --git a/support/shared/uninstall.sh b/support/shared/uninstall.sh new file mode 100755 index 0000000000..e08122700e --- /dev/null +++ b/support/shared/uninstall.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +PACKAGE="$1" + +if test -z "${PACKAGE}" ; then + echo " Incorrect usage, please specify a package name as the first argument." + exit 1 +fi + +if test -n "${VIRTUAL_ENV}${CONDA_DEFAULT_ENV}" ; then + pip_package_line=$(pip list | grep "${PACKAGE} ") + if [ "a${pip_package_line}" = "a" ] ; then + printf '%s\n' " Package ${PACKAGE} was not installed, not uninstalling." + exit 0 + fi +fi + +if test -n "${VIRTUAL_ENV}" ; then + # grep -q stops reading when a match is found, which then crashes pip list, so we + # redirect instead. With conda list we can use -q as usual. + if [ "a${pip_package_line}" != "a" ] ; then + pip uninstall -y ${PACKAGE} + fi +fi + +if test -n "${CONDA_DEFAULT_ENV}" ; then + conda_package_line=$(conda list | grep "^${PACKAGE} ") + if printf '%s' "${conda_package_line}" | grep "" >/dev/null 2>&1 ; then + # Conda is showing a pip-installed develop package. However, there may be a + # conda package hidden underneath, so we're going to try to conda uninstall + # anyway to fix that if needed. This will fail if everything is as it should + # be, so we make sure to inhibit the error message to reduce confusion. + EXPECTING_FAIL=true + fi + + if printf '%s' "${conda_package_line}" | grep -v "pypi$" >/dev/null 2>&1 ; then + TMPOUT=$(mktemp) + conda remove -y ${PACKAGE} >${TMPOUT} 2>&1 + err="$?" + # If it failed and we were not expecting it to, print the output + if test "$err" != 0 -a -z "${EXPECTING_FAIL}" ; then + cat ${TMPOUT} + fi + rm ${TMPOUT} + fi + + if [ "a${pip_package_line}" != "a" ] ; then + pip uninstall -y ${PACKAGE} + fi +fi + diff --git a/support/shared/venv.mk b/support/shared/venv.mk new file mode 100644 index 0000000000..8d2466a29a --- /dev/null +++ b/support/shared/venv.mk @@ -0,0 +1,43 @@ +# Support logic for Conda and virtualenv environments + +# Detect environment +ENV_TYPE := + +ifneq (,$(VIRTUAL_ENV)) +ENV_TYPE := virtualenv +ENV_NAME := $(VIRTUAL_ENV) +ENV_LIBRARY_PATH := $(VIRTUAL_ENV)/lib + +HAVE_WHEEL := $(shell pip list | grep '^wheel') +HAVE_PIP := $(shell pip list | grep '^pip') +endif + +ifneq (,$(CONDA_DEFAULT_ENV)) +ENV_TYPE := conda +ENV_NAME := $(CONDA_DEFAULT_ENV) +ENV_LIBRARY_PATH := $(CONDA_PREFIX)/lib) + +HAVE_PYPI_WHEEL := $(shell echo "$(CONDA_LIST)" | tr '^' '\n' | grep pypi | grep '^wheel') +HAVE_PYPI_PIP := $(shell echo "$(CONDA_LIST)" | tr '^' '\n' | grep pypi | grep '^pip') + +HAVE_WHEEL := $(shell echo "$(CONDA_LIST)" | tr '^' '\n' | grep -v pypi | grep '^wheel') +HAVE_PIP := $(shell echo "$(CONDA_LIST)" | tr '^' '\n' | grep -v pypi | grep '^pip') +endif + +ifneq (,$(HAVE_WHEEL)) +ifneq (,$(HAVE_PIP)) + +HAVE_PIP_WHEEL := 1 + +endif +endif + + +ifneq (,$(ENV_TYPE)) +ifeq (,$(HAVE_PIP_WHEEL)) + +NEED_PIP_WHEEL := 1 + +endif +endif + diff --git a/support/shared/version.mk b/support/shared/version.mk new file mode 100644 index 0000000000..3befe5ce4d --- /dev/null +++ b/support/shared/version.mk @@ -0,0 +1,4 @@ +AMUSE_VERSION := $(patsubst v%,%,$(shell git describe --tags)) + +export AMUSE_VERSION + diff --git a/support/update_configure_scripts b/support/update_configure_scripts new file mode 100755 index 0000000000..bba8dc7f10 --- /dev/null +++ b/support/update_configure_scripts @@ -0,0 +1,20 @@ +#!/bin/sh + +# Run through the repository and update all configure scripts +# +# This is useful if you've made a change to a .m4 macro, for example because something +# wasn't detected properly on some platform. This potentially affects all the configure +# scripts in the repository, and it's easy to miss updating one, which leaves the +# configure.ac, config.guess, config.sub and .m4 files out of sync with the generated +# configure scripts and that's not good. +# +# Run from the top directory, as support/update_configure_scripts. + +for support_dir in support src/tests/support lib/*/support src/amuse_*/support ; do + if (cd ${support_dir} && autoreconf) ; then + printf '%s\n' "Updated ${support_dir}/configure" + else + printf '%s\n' "An error occurred while updating ${support_dir}/configure, see above." + fi +done + diff --git a/support/version.py b/support/version.py deleted file mode 100644 index b630f92fc4..0000000000 --- a/support/version.py +++ /dev/null @@ -1,10 +0,0 @@ -from setuptools_scm import get_version -version = get_version() - - -def main(): - print(("%s" % version)) - - -if __name__ == "__main__": - main()